From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from ffbox0-bg.ffmpeg.org (ffbox0-bg.ffmpeg.org [79.124.17.100]) by master.gitmailbox.com (Postfix) with ESMTPS id 95CD54D819 for ; Sun, 30 Nov 2025 09:59:34 +0000 (UTC) Authentication-Results: ffbox; dkim=fail (body hash mismatch (got b'uCRwDNw/cZCFxjBEHOo6KZqUaykYykCi8nzorxdD+X0=', expected b'L7SbYh1ueK/cmpFKS0eQsv5wtHfToG1WAuvs2ADAseo=')) header.d=ffmpeg.org header.i=@ffmpeg.org header.a=rsa-sha256 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=ffmpeg.org; i=@ffmpeg.org; q=dns/txt; s=mail; t=1764496705; h=content-type : mime-version : to : date : message-id : reply-to : subject : list-id : list-archive : list-archive : list-help : list-owner : list-post : list-subscribe : list-unsubscribe : from : cc : content-transfer-encoding : from; bh=uCRwDNw/cZCFxjBEHOo6KZqUaykYykCi8nzorxdD+X0=; b=15weq5kfcirnxyzvlf7Q2JXZODmR2yLCk9jNu25Po5KbQr/5UnhpsYTfKVbkYao81ti28 VSVIZMd9Ei+iCYVA9d2ew/nBiaN56/HXV06UI3blL5/XLZ7dNXRsO7RsR5hnKukBIfLfILA m8MJKZQWo9IjSKRCi1fErwbDB4bDmYhW3uPODZf4wR6aEpzMK0ZvE9OjFwFOVYIz3qbejbN PUHgMwRFkZrKPrRRCfu1DA04OT+JPnvVhDTDmAHhkaW7Tro1Ertr2Ti3aiQTMOfsxN/zJdq 21t1Bdth8bkBjaqB1BWWugTr3kU31Q98sYEKusP37oDDVkF6GBHgdlONZMPg== Received: from [172.19.0.3] (unknown [172.19.0.3]) by ffbox0-bg.ffmpeg.org (Postfix) with ESMTP id 429CC690293; Sun, 30 Nov 2025 11:58:25 +0200 (EET) ARC-Seal: i=1; cv=none; a=rsa-sha256; d=ffmpeg.org; s=arc; t=1764496643; b=lKwiAx+uE16DwWCgZiWkEFL6q57Bb8BpVjbxbVycdx/NkYXO+6LMOPpx3XCaRn4TBAKhH zUr8SuEiicIuVRlna9RQCn1QB4F1y333g4F61dQs3JaogMtMGV5kFoM1C3/vrquuXqeOeHr 5a7q8+Iv9Msa/urF05AcSeVgT10x6Til7YyvL9wD77MAtuYIarYT+uy1ZheOVSr5Q+Z5BD3 /8i2Yx8pRS2esmCUvoUrdbDiE7Z5THXkCcUgHRzg6Dj5rGMt/SlVZiI1OuuEGYl1goyNW7E OQSzVGmIyFWIhXqvR35yY4ygKlgAZ/9fiI2gaEiPbXgHkxE8+rSHQJOla+7Q== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=ffmpeg.org; s=arc; t=1764496643; h=from : sender : reply-to : subject : date : message-id : to : cc : mime-version : content-type : content-transfer-encoding : content-id : content-description : resent-date : resent-from : resent-sender : resent-to : resent-cc : resent-message-id : in-reply-to : references : list-id : list-help : list-unsubscribe : list-subscribe : list-post : list-owner : list-archive; bh=uCRwDNw/cZCFxjBEHOo6KZqUaykYykCi8nzorxdD+X0=; b=EMl8Ba81m5vBsX5KIF1N8c5f0G6EAW9W7tSsmNPNEhBc78xc3DVqMSmptXiI2TD2b3bFw V/ciurxxJY+Dc0FlAk+GAGvPgPy3zLI4NrD/KYZu6DN1OO+G6Sr3zaaMt/Yy+B90eNdv+Be qqrUrc5XgCdvH+apyQFv9TReOHUvGEZbjh5+qVicxSADHTjdUCPepEQ9XfNqy7uhjjZthul Zppv8xcyfP1ileFsaciFzSMCjGIOh1n/zimRrIjToZmkwbZ54++PvxpYtrraIbZzkBjk4yi 2BzQy4iovrG8Fk/JMjiylzirZvku2JeLMDCTjgH9Jnp/IaRO9aMbovmRXPXw== ARC-Authentication-Results: i=1; ffmpeg.org; dkim=pass header.d=ffmpeg.org header.i=@ffmpeg.org; arc=none; dmarc=pass header.from=ffmpeg.org policy.dmarc=quarantine Authentication-Results: ffmpeg.org; dkim=pass header.d=ffmpeg.org header.i=@ffmpeg.org; arc=none (Message is not ARC signed); dmarc=pass (Used From Domain Record) header.from=ffmpeg.org policy.dmarc=quarantine DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=ffmpeg.org; i=@ffmpeg.org; q=dns/txt; s=mail; t=1764496634; h=content-type : mime-version : content-transfer-encoding : from : to : reply-to : subject : date : from; bh=L7SbYh1ueK/cmpFKS0eQsv5wtHfToG1WAuvs2ADAseo=; b=G4+A7UE4J0MTceU0QPsdsLP8t1E9qmxU34lA96KWONdY0UGr7h9pfKTa+y2Zs1TOU361O p83BKxWZFdzS5OFOQgZmkUzIhOm5lPwVCrTmU4x7W7pecQ58mJsSQIgTdQqhXAA/WxZvqeV WiriXdUoMUPlCaLlfgs67j/j14Bu+gstq6MmuYJS60k1QeAJ24dlv48LEasRNonaLifUk8r N4UTRxITinB0ZmjCgOUEzDmE4UZ+zBuP/dsbCGBwLw9qqYA6CrPSZ4cjmdfXUll3615KYdc 5+zkQTzHuEnF0mIBFuer3mYzRs7aJRsqNrBAlud36pb25jcuUQT5FujfMJOA== Received: from 55ca25703178 (code.ffmpeg.org [188.245.149.3]) by ffbox0-bg.ffmpeg.org (Postfix) with ESMTPS id 50C8B69015C for ; Sun, 30 Nov 2025 11:57:14 +0200 (EET) Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 To: ffmpeg-devel@ffmpeg.org Date: Sun, 30 Nov 2025 09:57:13 -0000 Message-ID: <176449663490.39.9923581798435465624@2cb04c0e5124> Message-ID-Hash: PMK2ALJGQLI5354O4FG6IY4DAAL5LARV X-Message-ID-Hash: PMK2ALJGQLI5354O4FG6IY4DAAL5LARV X-MailFrom: code@ffmpeg.org X-Mailman-Rule-Hits: nonmember-moderation X-Mailman-Rule-Misses: dmarc-mitigation; no-senders; approved; loop; banned-address; header-match-ffmpeg-devel.ffmpeg.org-0; header-match-ffmpeg-devel.ffmpeg.org-1; header-match-ffmpeg-devel.ffmpeg.org-2; header-match-ffmpeg-devel.ffmpeg.org-3; emergency; member-moderation X-Mailman-Version: 3.3.10 Precedence: list Reply-To: FFmpeg development discussions and patches Subject: [FFmpeg-devel] [PATCH] configure: unbreak glslang build (PR #21054) List-Id: FFmpeg development discussions and patches Archived-At: Archived-At: List-Archive: List-Archive: List-Help: List-Owner: List-Post: List-Subscribe: List-Unsubscribe: From: Sebastian Ramacher via ffmpeg-devel Cc: Sebastian Ramacher Content-Transfer-Encoding: base64 Archived-At: List-Archive: List-Post: UFIgIzIxMDU0IG9wZW5lZCBieSBTZWJhc3RpYW4gUmFtYWNoZXIgKHNlYmFzdGluYXMpClVSTDog aHR0cHM6Ly9jb2RlLmZmbXBlZy5vcmcvRkZtcGVnL0ZGbXBlZy9wdWxscy8yMTA1NApQYXRjaCBV Ukw6IGh0dHBzOi8vY29kZS5mZm1wZWcub3JnL0ZGbXBlZy9GRm1wZWcvcHVsbHMvMjEwNTQucGF0 Y2gKClNhbWUgYXMgIzIwOTAyIGJ1dCBmb3IgNy4xCgoKRnJvbSBmNDU5YzU2YjBmZTNiMzVmMWUy MTk1MTc5MWRmMGYxMTFkMWRiYmNmIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBBbnRv biBLaGlybm92IDxhbnRvbkBraGlybm92Lm5ldD4KRGF0ZTogVHVlLCAyNCBTZXAgMjAyNCAxODoy MTowNSArMDIwMApTdWJqZWN0OiBbUEFUQ0ggMDAxLzQzNF0gdGVzdHMvZmF0ZS9oZXZjOiB1c2Ug Yml0ZXhhY3Qgc2NhbGluZyBmbGFncyBmb3IKIGZhdGUtaGV2Yy1tdi1zd2l0Y2gKCk1ha2VzIHRo ZSByZXN1bHRzIGNvbnNpc3RlbnQgYWNyb3NzIHBsYXRmb3Jtcy4KCihjaGVycnkgcGlja2VkIGZy b20gY29tbWl0IDlkYzBlZGQ0NTQ2YmViZmE0NTEyMzNiMTI1NDhhOGNhYTRhMzk5YWIpClNpZ25l ZC1vZmYtYnk6IEFudG9uIEtoaXJub3YgPGFudG9uQGtoaXJub3YubmV0PgotLS0KIHRlc3RzL2Zh dGUvaGV2Yy5tYWsgICAgICAgICAgIHwgICAyICstCiB0ZXN0cy9yZWYvZmF0ZS9oZXZjLW12LXN3 aXRjaCB8IDI5NiArKysrKysrKysrKysrKysrKy0tLS0tLS0tLS0tLS0tLS0tCiAyIGZpbGVzIGNo YW5nZWQsIDE0OSBpbnNlcnRpb25zKCspLCAxNDkgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEv dGVzdHMvZmF0ZS9oZXZjLm1hayBiL3Rlc3RzL2ZhdGUvaGV2Yy5tYWsKaW5kZXggNmQ4ODY1ZWE2 Ni4uN2Y3ZWM0MzkwMiAxMDA2NDQKLS0tIGEvdGVzdHMvZmF0ZS9oZXZjLm1haworKysgYi90ZXN0 cy9mYXRlL2hldmMubWFrCkBAIC0yODMsNyArMjgzLDcgQEAgJChUQVJHRVRfU0FNUExFUykvaGV2 Yy1jb25mb3JtYW5jZS9MU19BX09yYW5nZV8yLmJpdHwkXAogJChUQVJHRVRfU0FNUExFUykvaGV2 Yy9tdl9udWhfbGF5ZXJfaWQuYml0fCRcCiAkKFRBUkdFVF9TQU1QTEVTKS9oZXZjLWNvbmZvcm1h bmNlL05vT3V0UHJpb3JfQl9RdWFsY29tbV8xLmJpdHwkXAogJChUQVJHRVRfU0FNUExFUykvaGV2 Yy1jb25mb3JtYW5jZS9NVkhFVkNTX0EuYml0Ci1mYXRlLWhldmMtbXYtc3dpdGNoOiBDTUQgPSBm cmFtZWNyYyAtaSAiY29uY2F0OiQoSU5QVVQpIiAtZnBzX21vZGUgcGFzc3Rocm91Z2ggLW1hcCAw OnZpZHg6MCAtbWFwIDA6dmlkeDoxCitmYXRlLWhldmMtbXYtc3dpdGNoOiBDTUQgPSBmcmFtZWNy YyAtaSAiY29uY2F0OiQoSU5QVVQpIiAtZnBzX21vZGUgcGFzc3Rocm91Z2ggLW1hcCAwOnZpZHg6 MCAtbWFwIDA6dmlkeDoxIC1zd3NfZmxhZ3MgK2FjY3VyYXRlX3JuZCtiaXRleGFjdAogRkFURV9I RVZDLSQoY2FsbCBGUkFNRUNSQywgSEVWQywgSEVWQywgQ09OQ0FUX1BST1RPQ09MKSArPSBmYXRl LWhldmMtbXYtc3dpdGNoCiAKICMgbXVsdGl2aWV3IHN0cmVhbSwgc2VsZWN0IHZpZXcgYnkgcG9z aXRpb24KZGlmZiAtLWdpdCBhL3Rlc3RzL3JlZi9mYXRlL2hldmMtbXYtc3dpdGNoIGIvdGVzdHMv cmVmL2ZhdGUvaGV2Yy1tdi1zd2l0Y2gKaW5kZXggMGZjMzYzMDYzNy4uNDBkN2YyOWFkMiAxMDA2 NDQKLS0tIGEvdGVzdHMvcmVmL2ZhdGUvaGV2Yy1tdi1zd2l0Y2gKKysrIGIvdGVzdHMvcmVmL2Zh dGUvaGV2Yy1tdi1zd2l0Y2gKQEAgLTE3LDE1NiArMTcsMTU2IEBACiAwLCAgICAgICAgICA2LCAg ICAgICAgICA2LCAgICAgICAgMSwgICAxNDk3NjAsIDB4MmVhY2Y2MTYKIDAsICAgICAgICAgIDcs ICAgICAgICAgIDcsICAgICAgICAxLCAgIDE0OTc2MCwgMHgwNjMyMmNlMgogMCwgICAgICAgICAg OCwgICAgICAgICAgOCwgICAgICAgIDEsICAgMTQ5NzYwLCAweGYxNGFhMTA0Ci0wLCAgICAgICAg ICA5LCAgICAgICAgICA5LCAgICAgICAgMSwgICAxNDk3NjAsIDB4Yzk0OGRjYmEKKzAsICAgICAg ICAgIDksICAgICAgICAgIDksICAgICAgICAxLCAgIDE0OTc2MCwgMHg5ZTFjZjAwYQogMSwgICAg ICAgICAxMCwgICAgICAgICAxMCwgICAgICAgIDEsICAgIDI0NTc2LCAweGY4ZjYzOGRhCi0wLCAg ICAgICAgIDExLCAgICAgICAgIDExLCAgICAgICAgMSwgICAxNDk3NjAsIDB4Njc0ZTM0YjEKKzAs ICAgICAgICAgMTEsICAgICAgICAgMTEsICAgICAgICAxLCAgIDE0OTc2MCwgMHg2ZDU4NGQyYwog MSwgICAgICAgICAxMiwgICAgICAgICAxMiwgICAgICAgIDEsICAgIDI0NTc2LCAweGQyMjY3NWE0 Ci0wLCAgICAgICAgIDEzLCAgICAgICAgIDEzLCAgICAgICAgMSwgICAxNDk3NjAsIDB4NDFkM2Fj ZDYKKzAsICAgICAgICAgMTMsICAgICAgICAgMTMsICAgICAgICAxLCAgIDE0OTc2MCwgMHg4YjIx YmU4OQogMSwgICAgICAgICAxNCwgICAgICAgICAxNCwgICAgICAgIDEsICAgIDI0NTc2LCAweDYw ZGE0MmU2Ci0wLCAgICAgICAgIDE1LCAgICAgICAgIDE1LCAgICAgICAgMSwgICAxNDk3NjAsIDB4 NTVhNWI4MzUKKzAsICAgICAgICAgMTUsICAgICAgICAgMTUsICAgICAgICAxLCAgIDE0OTc2MCwg MHgzOTQ2ZDBlYwogMSwgICAgICAgICAxNiwgICAgICAgICAxNiwgICAgICAgIDEsICAgIDI0NTc2 LCAweGUwNTc3ZjZlCi0wLCAgICAgICAgIDE3LCAgICAgICAgIDE3LCAgICAgICAgMSwgICAxNDk3 NjAsIDB4YzY5NTgwNDkKKzAsICAgICAgICAgMTcsICAgICAgICAgMTcsICAgICAgICAxLCAgIDE0 OTc2MCwgMHg3MDg1OTIxNAogMSwgICAgICAgICAxOCwgICAgICAgICAxOCwgICAgICAgIDEsICAg IDI0NTc2LCAweDhkOTk0NGJkCi0wLCAgICAgICAgIDE5LCAgICAgICAgIDE5LCAgICAgICAgMSwg ICAxNDk3NjAsIDB4OTRiMzcwNTAKLTAsICAgICAgICAgMjAsICAgICAgICAgMjAsICAgICAgICAx LCAgIDE0OTc2MCwgMHhlZDcyYTU2MAotMCwgICAgICAgICAyMSwgICAgICAgICAyMSwgICAgICAg IDEsICAgMTQ5NzYwLCAweGQwY2NhYzYxCi0wLCAgICAgICAgIDIyLCAgICAgICAgIDIyLCAgICAg ICAgMSwgICAxNDk3NjAsIDB4NmNjMmQ3ZmEKLTAsICAgICAgICAgMjMsICAgICAgICAgMjMsICAg ICAgICAxLCAgIDE0OTc2MCwgMHgzYTAyYjViYQotMCwgICAgICAgICAyNCwgICAgICAgICAyNCwg ICAgICAgIDEsICAgMTQ5NzYwLCAweGNlN2VmMDljCi0wLCAgICAgICAgIDI1LCAgICAgICAgIDI1 LCAgICAgICAgMSwgICAxNDk3NjAsIDB4YTUxOGZjMDUKLTAsICAgICAgICAgMjYsICAgICAgICAg MjYsICAgICAgICAxLCAgIDE0OTc2MCwgMHgwMWQyMzhmZQotMCwgICAgICAgICAyNywgICAgICAg ICAyNywgICAgICAgIDEsICAgMTQ5NzYwLCAweDVmNTAxMmZhCi0wLCAgICAgICAgIDI4LCAgICAg ICAgIDI4LCAgICAgICAgMSwgICAxNDk3NjAsIDB4NWI4ZTc0MDUKLTAsICAgICAgICAgMjksICAg ICAgICAgMjksICAgICAgICAxLCAgIDE0OTc2MCwgMHhjYzJlNWIzMwotMCwgICAgICAgICAzMCwg ICAgICAgICAzMCwgICAgICAgIDEsICAgMTQ5NzYwLCAweDU5MGE2ODkwCi0wLCAgICAgICAgIDMx LCAgICAgICAgIDMxLCAgICAgICAgMSwgICAxNDk3NjAsIDB4OWM3YjE4OWYKLTAsICAgICAgICAg MzIsICAgICAgICAgMzIsICAgICAgICAxLCAgIDE0OTc2MCwgMHhkMDc1MmVmNAotMCwgICAgICAg ICAzMywgICAgICAgICAzMywgICAgICAgIDEsICAgMTQ5NzYwLCAweDM2NzUxM2NlCi0wLCAgICAg ICAgIDM0LCAgICAgICAgIDM0LCAgICAgICAgMSwgICAxNDk3NjAsIDB4YjY0YzIwOWQKLTAsICAg ICAgICAgMzUsICAgICAgICAgMzUsICAgICAgICAxLCAgIDE0OTc2MCwgMHg2ZTUwOTk0YwotMCwg ICAgICAgICAzNiwgICAgICAgICAzNiwgICAgICAgIDEsICAgMTQ5NzYwLCAweDgyNzZjY2U0Ci0w LCAgICAgICAgIDM3LCAgICAgICAgIDM3LCAgICAgICAgMSwgICAxNDk3NjAsIDB4YjI5MmFjOGYK LTAsICAgICAgICAgMzgsICAgICAgICAgMzgsICAgICAgICAxLCAgIDE0OTc2MCwgMHg1N2RlOWQy YwotMCwgICAgICAgICAzOSwgICAgICAgICAzOSwgICAgICAgIDEsICAgMTQ5NzYwLCAweGU4NTMz ZjM4Ci0wLCAgICAgICAgIDQwLCAgICAgICAgIDQwLCAgICAgICAgMSwgICAxNDk3NjAsIDB4ZGU5 YjUzNmQKLTAsICAgICAgICAgNDEsICAgICAgICAgNDEsICAgICAgICAxLCAgIDE0OTc2MCwgMHg4 MzE3M2IxZAotMCwgICAgICAgICA0MiwgICAgICAgICA0MiwgICAgICAgIDEsICAgMTQ5NzYwLCAw eDg1M2E4M2E0Ci0wLCAgICAgICAgIDQzLCAgICAgICAgIDQzLCAgICAgICAgMSwgICAxNDk3NjAs IDB4NDgxYWYxYmYKLTAsICAgICAgICAgNDQsICAgICAgICAgNDQsICAgICAgICAxLCAgIDE0OTc2 MCwgMHgyNzIyMWFiYgotMCwgICAgICAgICA0NSwgICAgICAgICA0NSwgICAgICAgIDEsICAgMTQ5 NzYwLCAweDA5NGVhYzAwCi0wLCAgICAgICAgIDQ2LCAgICAgICAgIDQ2LCAgICAgICAgMSwgICAx NDk3NjAsIDB4M2YzYTI3YzgKLTAsICAgICAgICAgNDcsICAgICAgICAgNDcsICAgICAgICAxLCAg IDE0OTc2MCwgMHg4ZjE5YjJhZgotMCwgICAgICAgICA0OCwgICAgICAgICA0OCwgICAgICAgIDEs ICAgMTQ5NzYwLCAweDkzZTdlNTkxCi0wLCAgICAgICAgIDQ5LCAgICAgICAgIDQ5LCAgICAgICAg MSwgICAxNDk3NjAsIDB4MGM1MzFhYjgKLTAsICAgICAgICAgNTAsICAgICAgICAgNTAsICAgICAg ICAxLCAgIDE0OTc2MCwgMHgzNDU2ZWY4YQotMCwgICAgICAgICA1MSwgICAgICAgICA1MSwgICAg ICAgIDEsICAgMTQ5NzYwLCAweGZlZTJlYzFlCi0wLCAgICAgICAgIDUyLCAgICAgICAgIDUyLCAg ICAgICAgMSwgICAxNDk3NjAsIDB4NzZiNGI3NTAKLTAsICAgICAgICAgNTMsICAgICAgICAgNTMs ICAgICAgICAxLCAgIDE0OTc2MCwgMHhhNDhiYjY3MAotMCwgICAgICAgICA1NCwgICAgICAgICA1 NCwgICAgICAgIDEsICAgMTQ5NzYwLCAweDNkZWU3Y2FjCi0wLCAgICAgICAgIDU1LCAgICAgICAg IDU1LCAgICAgICAgMSwgICAxNDk3NjAsIDB4MmIyMDU2MWQKLTAsICAgICAgICAgNTYsICAgICAg ICAgNTYsICAgICAgICAxLCAgIDE0OTc2MCwgMHhkM2M1YmY5ZgotMCwgICAgICAgICA1NywgICAg ICAgICA1NywgICAgICAgIDEsICAgMTQ5NzYwLCAweDJlODdkNzQ3Ci0wLCAgICAgICAgIDU4LCAg ICAgICAgIDU4LCAgICAgICAgMSwgICAxNDk3NjAsIDB4OTk1Mjc2MGIKLTAsICAgICAgICAgNTks ICAgICAgICAgNTksICAgICAgICAxLCAgIDE0OTc2MCwgMHhhM2Y1Y2JkYQotMCwgICAgICAgICA2 MCwgICAgICAgICA2MCwgICAgICAgIDEsICAgMTQ5NzYwLCAweDU2ZTNmOTRkCi0wLCAgICAgICAg IDYxLCAgICAgICAgIDYxLCAgICAgICAgMSwgICAxNDk3NjAsIDB4OTAyZjc0M2YKLTAsICAgICAg ICAgNjIsICAgICAgICAgNjIsICAgICAgICAxLCAgIDE0OTc2MCwgMHhlZmZjZmQ4NQotMCwgICAg ICAgICA2MywgICAgICAgICA2MywgICAgICAgIDEsICAgMTQ5NzYwLCAweGU3ZmMzMWIyCi0wLCAg ICAgICAgIDY0LCAgICAgICAgIDY0LCAgICAgICAgMSwgICAxNDk3NjAsIDB4MmU4NzYyODYKLTAs ICAgICAgICAgNjUsICAgICAgICAgNjUsICAgICAgICAxLCAgIDE0OTc2MCwgMHg2MzU4YjBiMgot MCwgICAgICAgICA2NiwgICAgICAgICA2NiwgICAgICAgIDEsICAgMTQ5NzYwLCAweDNlNTY5YTRk Ci0xLCAgICAgICAgIDY3LCAgICAgICAgIDY3LCAgICAgICAgMSwgICAgMjQ1NzYsIDB4YTE4YzQ4 MWYKLTAsICAgICAgICAgNjgsICAgICAgICAgNjgsICAgICAgICAxLCAgIDE0OTc2MCwgMHg2NDFj YmNlMAotMSwgICAgICAgICA2OSwgICAgICAgICA2OSwgICAgICAgIDEsICAgIDI0NTc2LCAweDll ZTk0ZGYyCi0wLCAgICAgICAgIDcwLCAgICAgICAgIDcwLCAgICAgICAgMSwgICAxNDk3NjAsIDB4 MDM1N2QzNWMKLTEsICAgICAgICAgNzEsICAgICAgICAgNzEsICAgICAgICAxLCAgICAyNDU3Niwg MHg2MGM1NTM2NQotMCwgICAgICAgICA3MiwgICAgICAgICA3MiwgICAgICAgIDEsICAgMTQ5NzYw LCAweGU5YjViMDc3Ci0xLCAgICAgICAgIDczLCAgICAgICAgIDczLCAgICAgICAgMSwgICAgMjQ1 NzYsIDB4ODk1MTUzNmEKLTAsICAgICAgICAgNzQsICAgICAgICAgNzQsICAgICAgICAxLCAgIDE0 OTc2MCwgMHgzYjljNjA1ZgotMSwgICAgICAgICA3NSwgICAgICAgICA3NSwgICAgICAgIDEsICAg IDI0NTc2LCAweGZlYTA0YmE1Ci0wLCAgICAgICAgIDc2LCAgICAgICAgIDc2LCAgICAgICAgMSwg ICAxNDk3NjAsIDB4MTZkNzAyOGIKLTEsICAgICAgICAgNzcsICAgICAgICAgNzcsICAgICAgICAx LCAgICAyNDU3NiwgMHg3ODA5NDIyNgotMCwgICAgICAgICA3OCwgICAgICAgICA3OCwgICAgICAg IDEsICAgMTQ5NzYwLCAweGY0ODk2ZWZmCi0xLCAgICAgICAgIDc5LCAgICAgICAgIDc5LCAgICAg ICAgMSwgICAgMjQ1NzYsIDB4YWNmOTMxNGUKLTAsICAgICAgICAgODAsICAgICAgICAgODAsICAg ICAgICAxLCAgIDE0OTc2MCwgMHhjOTBkZTRiOQotMSwgICAgICAgICA4MSwgICAgICAgICA4MSwg ICAgICAgIDEsICAgIDI0NTc2LCAweDZhNmIxYzg3Ci0wLCAgICAgICAgIDgyLCAgICAgICAgIDgy LCAgICAgICAgMSwgICAxNDk3NjAsIDB4MmVjMjU4YWQKLTEsICAgICAgICAgODMsICAgICAgICAg ODMsICAgICAgICAxLCAgICAyNDU3NiwgMHg5ZjM2MDY2MQotMCwgICAgICAgICA4NCwgICAgICAg ICA4NCwgICAgICAgIDEsICAgMTQ5NzYwLCAweDNiZjcyMGVmCi0xLCAgICAgICAgIDg1LCAgICAg ICAgIDg1LCAgICAgICAgMSwgICAgMjQ1NzYsIDB4NTJlODA1MTQKLTAsICAgICAgICAgODYsICAg ICAgICAgODYsICAgICAgICAxLCAgIDE0OTc2MCwgMHg2N2VhYjczZgotMSwgICAgICAgICA4Nywg ICAgICAgICA4NywgICAgICAgIDEsICAgIDI0NTc2LCAweGUxMGRmNDhjCi0wLCAgICAgICAgIDg4 LCAgICAgICAgIDg4LCAgICAgICAgMSwgICAxNDk3NjAsIDB4MDIwZTE3Y2UKLTEsICAgICAgICAg ODksICAgICAgICAgODksICAgICAgICAxLCAgICAyNDU3NiwgMHg3MWZiZGQwMwotMCwgICAgICAg ICA5MCwgICAgICAgICA5MCwgICAgICAgIDEsICAgMTQ5NzYwLCAweGNkNjc3NjQwCi0xLCAgICAg ICAgIDkxLCAgICAgICAgIDkxLCAgICAgICAgMSwgICAgMjQ1NzYsIDB4MWQwOGMzZjYKLTAsICAg ICAgICAgOTIsICAgICAgICAgOTIsICAgICAgICAxLCAgIDE0OTc2MCwgMHgxOTRjZmJjMQotMSwg ICAgICAgICA5MywgICAgICAgICA5MywgICAgICAgIDEsICAgIDI0NTc2LCAweDRiOTNiNmNhCi0w LCAgICAgICAgIDk0LCAgICAgICAgIDk0LCAgICAgICAgMSwgICAxNDk3NjAsIDB4NzQwZjYyNjEK LTEsICAgICAgICAgOTUsICAgICAgICAgOTUsICAgICAgICAxLCAgICAyNDU3NiwgMHgwZGVhOWMx MgotMCwgICAgICAgICA5NiwgICAgICAgICA5NiwgICAgICAgIDEsICAgMTQ5NzYwLCAweDEwNGIz MTc1Ci0xLCAgICAgICAgIDk3LCAgICAgICAgIDk3LCAgICAgICAgMSwgICAgMjQ1NzYsIDB4MTk1 YTkyZGEKLTAsICAgICAgICAgOTgsICAgICAgICAgOTgsICAgICAgICAxLCAgIDE0OTc2MCwgMHhj OGZkMTdkMQotMSwgICAgICAgICA5OSwgICAgICAgICA5OSwgICAgICAgIDEsICAgIDI0NTc2LCAw eDU1ZGQ4NzBiCi0wLCAgICAgICAgMTAwLCAgICAgICAgMTAwLCAgICAgICAgMSwgICAxNDk3NjAs IDB4NmY0ZTc3ODcKLTEsICAgICAgICAxMDEsICAgICAgICAxMDEsICAgICAgICAxLCAgICAyNDU3 NiwgMHg3ZTZiOTA1YgotMCwgICAgICAgIDEwMiwgICAgICAgIDEwMiwgICAgICAgIDEsICAgMTQ5 NzYwLCAweGU4NTM0MThlCi0xLCAgICAgICAgMTAzLCAgICAgICAgMTAzLCAgICAgICAgMSwgICAg MjQ1NzYsIDB4MGYzZmFkMWQKLTAsICAgICAgICAxMDQsICAgICAgICAxMDQsICAgICAgICAxLCAg IDE0OTc2MCwgMHgzZGJhM2U0ZQotMSwgICAgICAgIDEwNSwgICAgICAgIDEwNSwgICAgICAgIDEs ICAgIDI0NTc2LCAweGU3MjRkNTM2Ci0wLCAgICAgICAgMTA2LCAgICAgICAgMTA2LCAgICAgICAg MSwgICAxNDk3NjAsIDB4YmEwYjRjMzgKLTEsICAgICAgICAxMDcsICAgICAgICAxMDcsICAgICAg ICAxLCAgICAyNDU3NiwgMHhiMjEyZmVkNAotMCwgICAgICAgIDEwOCwgICAgICAgIDEwOCwgICAg ICAgIDEsICAgMTQ5NzYwLCAweDI4ZjhlZjFkCi0xLCAgICAgICAgMTA5LCAgICAgICAgMTA5LCAg ICAgICAgMSwgICAgMjQ1NzYsIDB4M2JiNDIzY2UKLTAsICAgICAgICAxMTAsICAgICAgICAxMTAs ICAgICAgICAxLCAgIDE0OTc2MCwgMHhiNWQ5MmU0ZQotMSwgICAgICAgIDExMSwgICAgICAgIDEx MSwgICAgICAgIDEsICAgIDI0NTc2LCAweDIwZjQzMmRiCi0wLCAgICAgICAgMTEyLCAgICAgICAg MTEyLCAgICAgICAgMSwgICAxNDk3NjAsIDB4YmFhMGQwYTIKLTEsICAgICAgICAxMTMsICAgICAg ICAxMTMsICAgICAgICAxLCAgICAyNDU3NiwgMHgyNzQxMjk4MQotMCwgICAgICAgIDExNCwgICAg ICAgIDExNCwgICAgICAgIDEsICAgMTQ5NzYwLCAweDBhY2RlMjAwCi0xLCAgICAgICAgMTE1LCAg ICAgICAgMTE1LCAgICAgICAgMSwgICAgMjQ1NzYsIDB4YjdmNzAxNDMKLTAsICAgICAgICAxMTYs ICAgICAgICAxMTYsICAgICAgICAxLCAgIDE0OTc2MCwgMHg3Mzg4YWFkMwotMSwgICAgICAgIDEx NywgICAgICAgIDExNywgICAgICAgIDEsICAgIDI0NTc2LCAweGYzMWFjZmZiCi0wLCAgICAgICAg MTE4LCAgICAgICAgMTE4LCAgICAgICAgMSwgICAxNDk3NjAsIDB4YmFjOTU3MjMKLTEsICAgICAg ICAxMTksICAgICAgICAxMTksICAgICAgICAxLCAgICAyNDU3NiwgMHgyODNkOGMyYwotMCwgICAg ICAgIDEyMCwgICAgICAgIDEyMCwgICAgICAgIDEsICAgMTQ5NzYwLCAweDc2MzNkNGFmCi0xLCAg ICAgICAgMTIxLCAgICAgICAgMTIxLCAgICAgICAgMSwgICAgMjQ1NzYsIDB4OWZiMDgxODQKLTAs ICAgICAgICAxMjIsICAgICAgICAxMjIsICAgICAgICAxLCAgIDE0OTc2MCwgMHg4MzZlNTRmYwot MSwgICAgICAgIDEyMywgICAgICAgIDEyMywgICAgICAgIDEsICAgIDI0NTc2LCAweDA5Njk2YWQx Ci0wLCAgICAgICAgMTI0LCAgICAgICAgMTI0LCAgICAgICAgMSwgICAxNDk3NjAsIDB4NDkwOTZl NjMKLTEsICAgICAgICAxMjUsICAgICAgICAxMjUsICAgICAgICAxLCAgICAyNDU3NiwgMHgwMzRl NjljMgotMCwgICAgICAgIDEyNiwgICAgICAgIDEyNiwgICAgICAgIDEsICAgMTQ5NzYwLCAweDk4 ZTE0MTU4Ci0xLCAgICAgICAgMTI3LCAgICAgICAgMTI3LCAgICAgICAgMSwgICAgMjQ1NzYsIDB4 MWNlNDg4MmMKLTAsICAgICAgICAxMjgsICAgICAgICAxMjgsICAgICAgICAxLCAgIDE0OTc2MCwg MHg5NTVhNDNlNAotMSwgICAgICAgIDEyOSwgICAgICAgIDEyOSwgICAgICAgIDEsICAgIDI0NTc2 LCAweDQ5MGZkYTEzCi0wLCAgICAgICAgMTMwLCAgICAgICAgMTMwLCAgICAgICAgMSwgICAxNDk3 NjAsIDB4M2E3NmMwODcKLTEsICAgICAgICAxMzEsICAgICAgICAxMzEsICAgICAgICAxLCAgICAy NDU3NiwgMHg0YzJlMWMwOQotMCwgICAgICAgIDEzMiwgICAgICAgIDEzMiwgICAgICAgIDEsICAg MTQ5NzYwLCAweGEyMjFlNzYzCi0xLCAgICAgICAgMTMzLCAgICAgICAgMTMzLCAgICAgICAgMSwg ICAgMjQ1NzYsIDB4ODJkZDVmOGIKLTAsICAgICAgICAxMzQsICAgICAgICAxMzQsICAgICAgICAx LCAgIDE0OTc2MCwgMHgxZWIzM2YxNwotMSwgICAgICAgIDEzNSwgICAgICAgIDEzNSwgICAgICAg IDEsICAgIDI0NTc2LCAweGNmYjA3ZDZiCi0wLCAgICAgICAgMTM2LCAgICAgICAgMTM2LCAgICAg ICAgMSwgICAxNDk3NjAsIDB4MTNlZjM5MTQKLTEsICAgICAgICAxMzcsICAgICAgICAxMzcsICAg ICAgICAxLCAgICAyNDU3NiwgMHhlZjQ2ODEyOQotMCwgICAgICAgIDEzOCwgICAgICAgIDEzOCwg ICAgICAgIDEsICAgMTQ5NzYwLCAweDI1MjFiODgwCi0xLCAgICAgICAgMTM5LCAgICAgICAgMTM5 LCAgICAgICAgMSwgICAgMjQ1NzYsIDB4MjRjOTcwZmEKLTAsICAgICAgICAxNDAsICAgICAgICAx NDAsICAgICAgICAxLCAgIDE0OTc2MCwgMHg3OGE0ZmFmMAotMSwgICAgICAgIDE0MSwgICAgICAg IDE0MSwgICAgICAgIDEsICAgIDI0NTc2LCAweDZkZjE0ZTk5Ci0wLCAgICAgICAgMTQyLCAgICAg ICAgMTQyLCAgICAgICAgMSwgICAxNDk3NjAsIDB4YzVmNzFkNjUKLTEsICAgICAgICAxNDMsICAg ICAgICAxNDMsICAgICAgICAxLCAgICAyNDU3NiwgMHg3OGY0NDg1NAotMCwgICAgICAgIDE0NCwg ICAgICAgIDE0NCwgICAgICAgIDEsICAgMTQ5NzYwLCAweDVkYmMwYTlmCi0xLCAgICAgICAgMTQ1 LCAgICAgICAgMTQ1LCAgICAgICAgMSwgICAgMjQ1NzYsIDB4NWE3MjY5ZmQKLTAsICAgICAgICAx NDYsICAgICAgICAxNDYsICAgICAgICAxLCAgIDE0OTc2MCwgMHg4ZWJmZDdjMwotMSwgICAgICAg IDE0NywgICAgICAgIDE0NywgICAgICAgIDEsICAgIDI0NTc2LCAweGIxZmQ4OTI0Ci0wLCAgICAg ICAgMTQ4LCAgICAgICAgMTQ4LCAgICAgICAgMSwgICAxNDk3NjAsIDB4YjQ1ZjA1ODEKLTEsICAg ICAgICAxNDksICAgICAgICAxNDksICAgICAgICAxLCAgICAyNDU3NiwgMHhhMTY1YjgyOQotMCwg ICAgICAgIDE1MCwgICAgICAgIDE1MCwgICAgICAgIDEsICAgMTQ5NzYwLCAweDNiODQ1NDBiCi0x LCAgICAgICAgMTUxLCAgICAgICAgMTUxLCAgICAgICAgMSwgICAgMjQ1NzYsIDB4Njk0Y2YwZTUK LTAsICAgICAgICAxNTIsICAgICAgICAxNTIsICAgICAgICAxLCAgIDE0OTc2MCwgMHhlYzkyMWYz NQotMSwgICAgICAgIDE1MywgICAgICAgIDE1MywgICAgICAgIDEsICAgIDI0NTc2LCAweDJmZWYx NTdiCi0wLCAgICAgICAgMTU0LCAgICAgICAgMTU0LCAgICAgICAgMSwgICAxNDk3NjAsIDB4N2Iy MzgyNmEKLTEsICAgICAgICAxNTUsICAgICAgICAxNTUsICAgICAgICAxLCAgICAyNDU3NiwgMHg2 MmVhMjVkZAotMCwgICAgICAgIDE1NiwgICAgICAgIDE1NiwgICAgICAgIDEsICAgMTQ5NzYwLCAw eDUxOGQxZjExCi0xLCAgICAgICAgMTU3LCAgICAgICAgMTU3LCAgICAgICAgMSwgICAgMjQ1NzYs IDB4ZmMwMjM2NWUKLTAsICAgICAgICAxNTgsICAgICAgICAxNTgsICAgICAgICAxLCAgIDE0OTc2 MCwgMHhjNWU2OTRhNAotMSwgICAgICAgIDE1OSwgICAgICAgIDE1OSwgICAgICAgIDEsICAgIDI0 NTc2LCAweDA3M2IzZWJkCi0wLCAgICAgICAgMTYwLCAgICAgICAgMTYwLCAgICAgICAgMSwgICAx NDk3NjAsIDB4ZWI3OWM5NjEKLTEsICAgICAgICAxNjEsICAgICAgICAxNjEsICAgICAgICAxLCAg ICAyNDU3NiwgMHg1ZWUxM2JlMgorMCwgICAgICAgICAxOSwgICAgICAgICAxOSwgICAgICAgIDEs ICAgMTQ5NzYwLCAweGQ2MGU5M2YxCiswLCAgICAgICAgIDIwLCAgICAgICAgIDIwLCAgICAgICAg MSwgICAxNDk3NjAsIDB4YjA3Y2M4NzMKKzAsICAgICAgICAgMjEsICAgICAgICAgMjEsICAgICAg ICAxLCAgIDE0OTc2MCwgMHg4NmVhY2ZmNQorMCwgICAgICAgICAyMiwgICAgICAgICAyMiwgICAg ICAgIDEsICAgMTQ5NzYwLCAweDI1OWFmYjI0CiswLCAgICAgICAgIDIzLCAgICAgICAgIDIzLCAg ICAgICAgMSwgICAxNDk3NjAsIDB4MjI1ZGQ4MTkKKzAsICAgICAgICAgMjQsICAgICAgICAgMjQs ICAgICAgICAxLCAgIDE0OTc2MCwgMHhmYzQ3MTM0YworMCwgICAgICAgICAyNSwgICAgICAgICAy NSwgICAgICAgIDEsICAgMTQ5NzYwLCAweDE1ZGExZWNlCiswLCAgICAgICAgIDI2LCAgICAgICAg IDI2LCAgICAgICAgMSwgICAxNDk3NjAsIDB4YjJlYzViNmYKKzAsICAgICAgICAgMjcsICAgICAg ICAgMjcsICAgICAgICAxLCAgIDE0OTc2MCwgMHhhMThmMzVjNgorMCwgICAgICAgICAyOCwgICAg ICAgICAyOCwgICAgICAgIDEsICAgMTQ5NzYwLCAweDhmYTg5NzBmCiswLCAgICAgICAgIDI5LCAg ICAgICAgIDI5LCAgICAgICAgMSwgICAxNDk3NjAsIDB4MjVhODdlNjAKKzAsICAgICAgICAgMzAs ICAgICAgICAgMzAsICAgICAgICAxLCAgIDE0OTc2MCwgMHg3N2M4OGM5MworMCwgICAgICAgICAz MSwgICAgICAgICAzMSwgICAgICAgIDEsICAgMTQ5NzYwLCAweGNiNjczYmUzCiswLCAgICAgICAg IDMyLCAgICAgICAgIDMyLCAgICAgICAgMSwgICAxNDk3NjAsIDB4MjE5ZjUxZTYKKzAsICAgICAg ICAgMzMsICAgICAgICAgMzMsICAgICAgICAxLCAgIDE0OTc2MCwgMHg1OWVhMzc4MworMCwgICAg ICAgICAzNCwgICAgICAgICAzNCwgICAgICAgIDEsICAgMTQ5NzYwLCAweDgzNzY0NGI1CiswLCAg ICAgICAgIDM1LCAgICAgICAgIDM1LCAgICAgICAgMSwgICAxNDk3NjAsIDB4OWI2MmJjN2MKKzAs ICAgICAgICAgMzYsICAgICAgICAgMzYsICAgICAgICAxLCAgIDE0OTc2MCwgMHhiYjMyZWZhOAor MCwgICAgICAgICAzNywgICAgICAgICAzNywgICAgICAgIDEsICAgMTQ5NzYwLCAweDFhMWJjZjNm CiswLCAgICAgICAgIDM4LCAgICAgICAgIDM4LCAgICAgICAgMSwgICAxNDk3NjAsIDB4OTY3M2Mw ZTEKKzAsICAgICAgICAgMzksICAgICAgICAgMzksICAgICAgICAxLCAgIDE0OTc2MCwgMHg3YzY0 NjFlMgorMCwgICAgICAgICA0MCwgICAgICAgICA0MCwgICAgICAgIDEsICAgMTQ5NzYwLCAweDA1 NTE3NjhjCiswLCAgICAgICAgIDQxLCAgICAgICAgIDQxLCAgICAgICAgMSwgICAxNDk3NjAsIDB4 YTVjZTVkM2EKKzAsICAgICAgICAgNDIsICAgICAgICAgNDIsICAgICAgICAxLCAgIDE0OTc2MCwg MHhlOWNhYTU4NworMCwgICAgICAgICA0MywgICAgICAgICA0MywgICAgICAgIDEsICAgMTQ5NzYw LCAweGYzODYxM2VhCiswLCAgICAgICAgIDQ0LCAgICAgICAgIDQ0LCAgICAgICAgMSwgICAxNDk3 NjAsIDB4MDIwODNjY2UKKzAsICAgICAgICAgNDUsICAgICAgICAgNDUsICAgICAgICAxLCAgIDE0 OTc2MCwgMHhkNWYwY2U0ZQorMCwgICAgICAgICA0NiwgICAgICAgICA0NiwgICAgICAgIDEsICAg MTQ5NzYwLCAweGI5ZWQ0OWNkCiswLCAgICAgICAgIDQ3LCAgICAgICAgIDQ3LCAgICAgICAgMSwg ICAxNDk3NjAsIDB4ZGJlMGQ1MTgKKzAsICAgICAgICAgNDgsICAgICAgICAgNDgsICAgICAgICAx LCAgIDE0OTc2MCwgMHg4MGY2MDdjYQorMCwgICAgICAgICA0OSwgICAgICAgICA0OSwgICAgICAg IDEsICAgMTQ5NzYwLCAweDlmN2UzZDM2CiswLCAgICAgICAgIDUwLCAgICAgICAgIDUwLCAgICAg ICAgMSwgICAxNDk3NjAsIDB4N2Y3MzEyMWYKKzAsICAgICAgICAgNTEsICAgICAgICAgNTEsICAg ICAgICAxLCAgIDE0OTc2MCwgMHg0Y2ZmMGU4YgorMCwgICAgICAgICA1MiwgICAgICAgICA1Miwg ICAgICAgIDEsICAgMTQ5NzYwLCAweDYzOGRkOTFkCiswLCAgICAgICAgIDUzLCAgICAgICAgIDUz LCAgICAgICAgMSwgICAxNDk3NjAsIDB4ZTI4ZGQ4NmIKKzAsICAgICAgICAgNTQsICAgICAgICAg NTQsICAgICAgICAxLCAgIDE0OTc2MCwgMHhjMmI4OWUzYQorMCwgICAgICAgICA1NSwgICAgICAg ICA1NSwgICAgICAgIDEsICAgMTQ5NzYwLCAweGU4YjY3ODQyCiswLCAgICAgICAgIDU2LCAgICAg ICAgIDU2LCAgICAgICAgMSwgICAxNDk3NjAsIDB4YzY5ZmUxNmYKKzAsICAgICAgICAgNTcsICAg ICAgICAgNTcsICAgICAgICAxLCAgIDE0OTc2MCwgMHhiOGI1ZjkxMworMCwgICAgICAgICA1OCwg ICAgICAgICA1OCwgICAgICAgIDEsICAgMTQ5NzYwLCAweDVmYWM5NzJhCiswLCAgICAgICAgIDU5 LCAgICAgICAgIDU5LCAgICAgICAgMSwgICAxNDk3NjAsIDB4MDMwNmVkMjUKKzAsICAgICAgICAg NjAsICAgICAgICAgNjAsICAgICAgICAxLCAgIDE0OTc2MCwgMHg5NDI3MWFmMAorMCwgICAgICAg ICA2MSwgICAgICAgICA2MSwgICAgICAgIDEsICAgMTQ5NzYwLCAweDExYjc5NWRmCiswLCAgICAg ICAgIDYyLCAgICAgICAgIDYyLCAgICAgICAgMSwgICAxNDk3NjAsIDB4OGY2NTFlM2UKKzAsICAg ICAgICAgNjMsICAgICAgICAgNjMsICAgICAgICAxLCAgIDE0OTc2MCwgMHhkZmI0NTJmOQorMCwg ICAgICAgICA2NCwgICAgICAgICA2NCwgICAgICAgIDEsICAgMTQ5NzYwLCAweDY4NmU4M2ZmCisw LCAgICAgICAgIDY1LCAgICAgICAgIDY1LCAgICAgICAgMSwgICAxNDk3NjAsIDB4NTZjZWQxYjQK KzAsICAgICAgICAgNjYsICAgICAgICAgNjYsICAgICAgICAxLCAgIDE0OTc2MCwgMHg4ZGY2OTc1 NQorMSwgICAgICAgICA2NywgICAgICAgICA2NywgICAgICAgIDEsICAgIDI0NTc2LCAweGE4MmM0 YmM2CiswLCAgICAgICAgIDY4LCAgICAgICAgIDY4LCAgICAgICAgMSwgICAxNDk3NjAsIDB4NTI0 NWI5ZjAKKzEsICAgICAgICAgNjksICAgICAgICAgNjksICAgICAgICAxLCAgICAyNDU3NiwgMHgy ZDk0NTFkYgorMCwgICAgICAgICA3MCwgICAgICAgICA3MCwgICAgICAgIDEsICAgMTQ5NzYwLCAw eDk1N2NkMGU2CisxLCAgICAgICAgIDcxLCAgICAgICAgIDcxLCAgICAgICAgMSwgICAgMjQ1NzYs IDB4OGI0YjU2YzkKKzAsICAgICAgICAgNzIsICAgICAgICAgNzIsICAgICAgICAxLCAgIDE0OTc2 MCwgMHgxYjAxYWRjNworMSwgICAgICAgICA3MywgICAgICAgICA3MywgICAgICAgIDEsICAgIDI0 NTc2LCAweDQ2NjQ1NzNhCiswLCAgICAgICAgIDc0LCAgICAgICAgIDc0LCAgICAgICAgMSwgICAx NDk3NjAsIDB4ZWEwMzVkMTgKKzEsICAgICAgICAgNzUsICAgICAgICAgNzUsICAgICAgICAxLCAg ICAyNDU3NiwgMHgzZjNkNGY1YQorMCwgICAgICAgICA3NiwgICAgICAgICA3NiwgICAgICAgIDEs ICAgMTQ5NzYwLCAweDk2NWFmZmE0CisxLCAgICAgICAgIDc3LCAgICAgICAgIDc3LCAgICAgICAg MSwgICAgMjQ1NzYsIDB4YWYwMzQ2MDAKKzAsICAgICAgICAgNzgsICAgICAgICAgNzgsICAgICAg ICAxLCAgIDE0OTc2MCwgMHhhMTQ1NmJkMgorMSwgICAgICAgICA3OSwgICAgICAgICA3OSwgICAg ICAgIDEsICAgIDI0NTc2LCAweDdmNWQzNTA0CiswLCAgICAgICAgIDgwLCAgICAgICAgIDgwLCAg ICAgICAgMSwgICAxNDk3NjAsIDB4NTI5MWUyNTQKKzEsICAgICAgICAgODEsICAgICAgICAgODEs ICAgICAgICAxLCAgICAyNDU3NiwgMHg1OTU2MjA5OQorMCwgICAgICAgICA4MiwgICAgICAgICA4 MiwgICAgICAgIDEsICAgMTQ5NzYwLCAweGQ5N2Y1NjRhCisxLCAgICAgICAgIDgzLCAgICAgICAg IDgzLCAgICAgICAgMSwgICAgMjQ1NzYsIDB4ZDhhNjA5ZGUKKzAsICAgICAgICAgODQsICAgICAg ICAgODQsICAgICAgICAxLCAgIDE0OTc2MCwgMHg5MWE2MWU3ZgorMSwgICAgICAgICA4NSwgICAg ICAgICA4NSwgICAgICAgIDEsICAgIDI0NTc2LCAweGNmNTAwOGNhCiswLCAgICAgICAgIDg2LCAg ICAgICAgIDg2LCAgICAgICAgMSwgICAxNDk3NjAsIDB4YTI2OGI1MDMKKzEsICAgICAgICAgODcs ICAgICAgICAgODcsICAgICAgICAxLCAgICAyNDU3NiwgMHgyYzRhZjgwOQorMCwgICAgICAgICA4 OCwgICAgICAgICA4OCwgICAgICAgIDEsICAgMTQ5NzYwLCAweGQwMWMxNTJkCisxLCAgICAgICAg IDg5LCAgICAgICAgIDg5LCAgICAgICAgMSwgICAgMjQ1NzYsIDB4ODM2NmUwZTEKKzAsICAgICAg ICAgOTAsICAgICAgICAgOTAsICAgICAgICAxLCAgIDE0OTc2MCwgMHhiZTUxNzQyZAorMSwgICAg ICAgICA5MSwgICAgICAgICA5MSwgICAgICAgIDEsICAgIDI0NTc2LCAweDM4MWNjN2U5CiswLCAg ICAgICAgIDkyLCAgICAgICAgIDkyLCAgICAgICAgMSwgICAxNDk3NjAsIDB4MTVkNGY5M2IKKzEs ICAgICAgICAgOTMsICAgICAgICAgOTMsICAgICAgICAxLCAgICAyNDU3NiwgMHg1NzZiYmFkZAor MCwgICAgICAgICA5NCwgICAgICAgICA5NCwgICAgICAgIDEsICAgMTQ5NzYwLCAweDRhNzU1ZjFi CisxLCAgICAgICAgIDk1LCAgICAgICAgIDk1LCAgICAgICAgMSwgICAgMjQ1NzYsIDB4MzUxNmEw NTIKKzAsICAgICAgICAgOTYsICAgICAgICAgOTYsICAgICAgICAxLCAgIDE0OTc2MCwgMHg2MzBk MmU1NAorMSwgICAgICAgICA5NywgICAgICAgICA5NywgICAgICAgIDEsICAgIDI0NTc2LCAweGQ5 NDg5NzAzCiswLCAgICAgICAgIDk4LCAgICAgICAgIDk4LCAgICAgICAgMSwgICAxNDk3NjAsIDB4 MWM0YzE0Y2QKKzEsICAgICAgICAgOTksICAgICAgICAgOTksICAgICAgICAxLCAgICAyNDU3Niwg MHhhODRmOGFmYQorMCwgICAgICAgIDEwMCwgICAgICAgIDEwMCwgICAgICAgIDEsICAgMTQ5NzYw LCAweDgzMWE3NTEwCisxLCAgICAgICAgMTAxLCAgICAgICAgMTAxLCAgICAgICAgMSwgICAgMjQ1 NzYsIDB4NGQzMjk0NWMKKzAsICAgICAgICAxMDIsICAgICAgICAxMDIsICAgICAgICAxLCAgIDE0 OTc2MCwgMHg5YWFjM2VlNworMSwgICAgICAgIDEwMywgICAgICAgIDEwMywgICAgICAgIDEsICAg IDI0NTc2LCAweDZiMTRiMGQ3CiswLCAgICAgICAgMTA0LCAgICAgICAgMTA0LCAgICAgICAgMSwg ICAxNDk3NjAsIDB4ZDUwZDNiYWEKKzEsICAgICAgICAxMDUsICAgICAgICAxMDUsICAgICAgICAx LCAgICAyNDU3NiwgMHhiMDVkZDhiNgorMCwgICAgICAgIDEwNiwgICAgICAgIDEwNiwgICAgICAg IDEsICAgMTQ5NzYwLCAweDkyZDU0OWM2CisxLCAgICAgICAgMTA3LCAgICAgICAgMTA3LCAgICAg ICAgMSwgICAgMjQ1NzYsIDB4ZmQ5YTAyY2EKKzAsICAgICAgICAxMDgsICAgICAgICAxMDgsICAg ICAgICAxLCAgIDE0OTc2MCwgMHgyMjMyZWM2MAorMSwgICAgICAgIDEwOSwgICAgICAgIDEwOSwg ICAgICAgIDEsICAgIDI0NTc2LCAweGE1YjkyODAyCiswLCAgICAgICAgMTEwLCAgICAgICAgMTEw LCAgICAgICAgMSwgICAxNDk3NjAsIDB4NzgwOTJjMjQKKzEsICAgICAgICAxMTEsICAgICAgICAx MTEsICAgICAgICAxLCAgICAyNDU3NiwgMHgzODVlMzZkZQorMCwgICAgICAgIDExMiwgICAgICAg IDExMiwgICAgICAgIDEsICAgMTQ5NzYwLCAweGU1YzdjZWFkCisxLCAgICAgICAgMTEzLCAgICAg ICAgMTEzLCAgICAgICAgMSwgICAgMjQ1NzYsIDB4ZDQwNzJkMWEKKzAsICAgICAgICAxMTQsICAg ICAgICAxMTQsICAgICAgICAxLCAgIDE0OTc2MCwgMHgxYmY4ZGZkMAorMSwgICAgICAgIDExNSwg ICAgICAgIDExNSwgICAgICAgIDEsICAgIDI0NTc2LCAweDQzYjMwNDc2CiswLCAgICAgICAgMTE2 LCAgICAgICAgMTE2LCAgICAgICAgMSwgICAxNDk3NjAsIDB4MTE3YWE4ODAKKzEsICAgICAgICAx MTcsICAgICAgICAxMTcsICAgICAgICAxLCAgICAyNDU3NiwgMHg3OWFmZDNiZgorMCwgICAgICAg IDExOCwgICAgICAgIDExOCwgICAgICAgIDEsICAgMTQ5NzYwLCAweGY0ZWU1NTA1CisxLCAgICAg ICAgMTE5LCAgICAgICAgMTE5LCAgICAgICAgMSwgICAgMjQ1NzYsIDB4OGQ1MzhmZjkKKzAsICAg ICAgICAxMjAsICAgICAgICAxMjAsICAgICAgICAxLCAgIDE0OTc2MCwgMHg3YjJiZDIyMAorMSwg ICAgICAgIDEyMSwgICAgICAgIDEyMSwgICAgICAgIDEsICAgIDI0NTc2LCAweDE4N2E4NTA5Cisw LCAgICAgICAgMTIyLCAgICAgICAgMTIyLCAgICAgICAgMSwgICAxNDk3NjAsIDB4ZGJhZjUxOWIK KzEsICAgICAgICAxMjMsICAgICAgICAxMjMsICAgICAgICAxLCAgICAyNDU3NiwgMHhkOTdmNmVj NworMCwgICAgICAgIDEyNCwgICAgICAgIDEyNCwgICAgICAgIDEsICAgMTQ5NzYwLCAweDFhMzg2 YjAxCisxLCAgICAgICAgMTI1LCAgICAgICAgMTI1LCAgICAgICAgMSwgICAgMjQ1NzYsIDB4MTNl MTZkZTEKKzAsICAgICAgICAxMjYsICAgICAgICAxMjYsICAgICAgICAxLCAgIDE0OTc2MCwgMHhm MGJjM2U3ZAorMSwgICAgICAgIDEyNywgICAgICAgIDEyNywgICAgICAgIDEsICAgIDI0NTc2LCAw eDI3NjI4YzNiCiswLCAgICAgICAgMTI4LCAgICAgICAgMTI4LCAgICAgICAgMSwgICAxNDk3NjAs IDB4YjJiYTQxN2IKKzEsICAgICAgICAxMjksICAgICAgICAxMjksICAgICAgICAxLCAgICAyNDU3 NiwgMHgyNjBlZGRmOAorMCwgICAgICAgIDEzMCwgICAgICAgIDEzMCwgICAgICAgIDEsICAgMTQ5 NzYwLCAweGIxOGViZGI5CisxLCAgICAgICAgMTMxLCAgICAgICAgMTMxLCAgICAgICAgMSwgICAg MjQ1NzYsIDB4NDcyOTFmZjcKKzAsICAgICAgICAxMzIsICAgICAgICAxMzIsICAgICAgICAxLCAg IDE0OTc2MCwgMHg1N2M3ZTUwZgorMSwgICAgICAgIDEzMywgICAgICAgIDEzMywgICAgICAgIDEs ICAgIDI0NTc2LCAweDZlZDQ2MzBlCiswLCAgICAgICAgMTM0LCAgICAgICAgMTM0LCAgICAgICAg MSwgICAxNDk3NjAsIDB4YzBkNTNjMTgKKzEsICAgICAgICAxMzUsICAgICAgICAxMzUsICAgICAg ICAxLCAgICAyNDU3NiwgMHg1NmY5ODE0MQorMCwgICAgICAgIDEzNiwgICAgICAgIDEzNiwgICAg ICAgIDEsICAgMTQ5NzYwLCAweDk0ZmIzNWYxCisxLCAgICAgICAgMTM3LCAgICAgICAgMTM3LCAg ICAgICAgMSwgICAgMjQ1NzYsIDB4NjJjNDg1NTUKKzAsICAgICAgICAxMzgsICAgICAgICAxMzgs ICAgICAgICAxLCAgIDE0OTc2MCwgMHgwY2M5YjUyMQorMSwgICAgICAgIDEzOSwgICAgICAgIDEz OSwgICAgICAgIDEsICAgIDI0NTc2LCAweDA1OWE3NTA1CiswLCAgICAgICAgMTQwLCAgICAgICAg MTQwLCAgICAgICAgMSwgICAxNDk3NjAsIDB4ZDYxOGY3OGYKKzEsICAgICAgICAxNDEsICAgICAg ICAxNDEsICAgICAgICAxLCAgICAyNDU3NiwgMHg5OWM3NTJjOQorMCwgICAgICAgIDE0MiwgICAg ICAgIDE0MiwgICAgICAgIDEsICAgMTQ5NzYwLCAweDEyZDExOWNiCisxLCAgICAgICAgMTQzLCAg ICAgICAgMTQzLCAgICAgICAgMSwgICAgMjQ1NzYsIDB4ODRjOTRjNjEKKzAsICAgICAgICAxNDQs ICAgICAgICAxNDQsICAgICAgICAxLCAgIDE0OTc2MCwgMHg0NzlhMDdiMgorMSwgICAgICAgIDE0 NSwgICAgICAgIDE0NSwgICAgICAgIDEsICAgIDI0NTc2LCAweGRhYzE2ZGJhCiswLCAgICAgICAg MTQ2LCAgICAgICAgMTQ2LCAgICAgICAgMSwgICAxNDk3NjAsIDB4NTAwOWQ0ZmUKKzEsICAgICAg ICAxNDcsICAgICAgICAxNDcsICAgICAgICAxLCAgICAyNDU3NiwgMHhjM2M5OGNlYgorMCwgICAg ICAgIDE0OCwgICAgICAgIDE0OCwgICAgICAgIDEsICAgMTQ5NzYwLCAweDMxY2UwMzM3CisxLCAg ICAgICAgMTQ5LCAgICAgICAgMTQ5LCAgICAgICAgMSwgICAgMjQ1NzYsIDB4NDRhZmJjMTEKKzAs ICAgICAgICAxNTAsICAgICAgICAxNTAsICAgICAgICAxLCAgIDE0OTc2MCwgMHg3MmU4NTBiYgor MSwgICAgICAgIDE1MSwgICAgICAgIDE1MSwgICAgICAgIDEsICAgIDI0NTc2LCAweDFlZDZmNDg1 CiswLCAgICAgICAgMTUyLCAgICAgICAgMTUyLCAgICAgICAgMSwgICAxNDk3NjAsIDB4MjVjZDFj NjgKKzEsICAgICAgICAxNTMsICAgICAgICAxNTMsICAgICAgICAxLCAgICAyNDU3NiwgMHgxNGE5 MTk2OAorMCwgICAgICAgIDE1NCwgICAgICAgIDE1NCwgICAgICAgIDEsICAgMTQ5NzYwLCAweDZm MGU3ZmE4CisxLCAgICAgICAgMTU1LCAgICAgICAgMTU1LCAgICAgICAgMSwgICAgMjQ1NzYsIDB4 Mzk4YTI5YTcKKzAsICAgICAgICAxNTYsICAgICAgICAxNTYsICAgICAgICAxLCAgIDE0OTc2MCwg MHgxMmI2MWMzNgorMSwgICAgICAgIDE1NywgICAgICAgIDE1NywgICAgICAgIDEsICAgIDI0NTc2 LCAweGU3YzQzYTJkCiswLCAgICAgICAgMTU4LCAgICAgICAgMTU4LCAgICAgICAgMSwgICAxNDk3 NjAsIDB4Y2ZkNTkxOGQKKzEsICAgICAgICAxNTksICAgICAgICAxNTksICAgICAgICAxLCAgICAy NDU3NiwgMHg0MTdjNDJhOQorMCwgICAgICAgIDE2MCwgICAgICAgIDE2MCwgICAgICAgIDEsICAg MTQ5NzYwLCAweDA4YjFjNmYyCisxLCAgICAgICAgMTYxLCAgICAgICAgMTYxLCAgICAgICAgMSwg ICAgMjQ1NzYsIDB4MWEyNzNmZmYKLS0gCjIuNDkuMQoKCkZyb20gMDBjZTM2ZDAzN2IyOGVhZDc3 MjcxYzRkMGZkOGE2MjQ3ZDljMGI0NyBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKRnJvbTogSmFt ZXMgQWxtZXIgPGphbXJpYWxAZ21haWwuY29tPgpEYXRlOiBUdWUsIDI3IEF1ZyAyMDI0IDA5OjUy OjM2IC0wMzAwClN1YmplY3Q6IFtQQVRDSCAwMDIvNDM0XSBhdmNvZGVjL2Nic19oMjY1OiBmaXgg dmFsaWQgcmFuZ2UgZm9yCiB7bGVmdCxyaWdodH1fdmlld19pZAoKdmlld19pZF9sZW4gaW4gVlBT IGlzIDQgYml0cywgc28gdmlld19pZCB2YWx1ZXMgY2FuIGJlIHVwIHRvIDE1IGJpdHMgbG9uZy4K ClNpZ25lZC1vZmYtYnk6IEphbWVzIEFsbWVyIDxqYW1yaWFsQGdtYWlsLmNvbT4KLS0tCiBsaWJh dmNvZGVjL2Nic19oMjY1LmggICAgICAgICAgICAgICAgIHwgNCArKy0tCiBsaWJhdmNvZGVjL2Ni c19oMjY1X3N5bnRheF90ZW1wbGF0ZS5jIHwgNCArKy0tCiAyIGZpbGVzIGNoYW5nZWQsIDQgaW5z ZXJ0aW9ucygrKSwgNCBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9saWJhdmNvZGVjL2Nic19o MjY1LmggYi9saWJhdmNvZGVjL2Nic19oMjY1LmgKaW5kZXggMjZhNWEzNGZlOS4uNTgwYzZjZDRm NCAxMDA2NDQKLS0tIGEvbGliYXZjb2RlYy9jYnNfaDI2NS5oCisrKyBiL2xpYmF2Y29kZWMvY2Jz X2gyNjUuaApAQCAtNzI1LDggKzcyNSw4IEBAIHR5cGVkZWYgc3RydWN0IEgyNjVSYXdTRUkzRFJl ZmVyZW5jZURpc3BsYXlzSW5mbyB7CiAgICAgdWludDhfdCByZWZfdmlld2luZ19kaXN0YW5jZV9m bGFnOwogICAgIHVpbnQ4X3QgcHJlY19yZWZfdmlld2luZ19kaXN0OwogICAgIHVpbnQ4X3QgbnVt X3JlZl9kaXNwbGF5c19taW51czE7Ci0gICAgdWludDhfdCBsZWZ0X3ZpZXdfaWRbMzFdOwotICAg IHVpbnQ4X3QgcmlnaHRfdmlld19pZFszMV07CisgICAgdWludDE2X3QgbGVmdF92aWV3X2lkWzMx XTsKKyAgICB1aW50MTZfdCByaWdodF92aWV3X2lkWzMxXTsKICAgICB1aW50OF90IGV4cG9uZW50 X3JlZl9kaXNwbGF5X3dpZHRoWzMxXTsKICAgICB1aW50OF90IG1hbnRpc3NhX3JlZl9kaXNwbGF5 X3dpZHRoWzMxXTsKICAgICB1aW50OF90IGV4cG9uZW50X3JlZl92aWV3aW5nX2Rpc3RhbmNlWzMx XTsKZGlmZiAtLWdpdCBhL2xpYmF2Y29kZWMvY2JzX2gyNjVfc3ludGF4X3RlbXBsYXRlLmMgYi9s aWJhdmNvZGVjL2Nic19oMjY1X3N5bnRheF90ZW1wbGF0ZS5jCmluZGV4IDFjMTE1MTQ0MzUuLmU5 NzZjMzhiOGQgMTAwNjQ0Ci0tLSBhL2xpYmF2Y29kZWMvY2JzX2gyNjVfc3ludGF4X3RlbXBsYXRl LmMKKysrIGIvbGliYXZjb2RlYy9jYnNfaDI2NV9zeW50YXhfdGVtcGxhdGUuYwpAQCAtMjI5OSw4 ICsyMjk5LDggQEAgU0VJX0ZVTkMoc2VpXzNkX3JlZmVyZW5jZV9kaXNwbGF5c19pbmZvLCAoQ29k ZWRCaXRzdHJlYW1Db250ZXh0ICpjdHgsIFJXQ29udGV4dAogICAgICAgICB1ZShwcmVjX3JlZl92 aWV3aW5nX2Rpc3QsIDAsIDMxKTsKICAgICB1ZShudW1fcmVmX2Rpc3BsYXlzX21pbnVzMSwgMCwg MzEpOwogICAgIGZvciAoaSA9IDA7IGkgPD0gY3VycmVudC0+bnVtX3JlZl9kaXNwbGF5c19taW51 czE7IGkrKykgewotICAgICAgICB1ZXMobGVmdF92aWV3X2lkW2ldLCAwLCBVSU5UOF9NQVgsIDEs IGkpOwotICAgICAgICB1ZXMocmlnaHRfdmlld19pZFtpXSwgMCwgVUlOVDhfTUFYLCAxLCBpKTsK KyAgICAgICAgdWVzKGxlZnRfdmlld19pZFtpXSwgMCwgTUFYX1VJTlRfQklUUygxNSksIDEsIGkp OworICAgICAgICB1ZXMocmlnaHRfdmlld19pZFtpXSwgMCwgTUFYX1VJTlRfQklUUygxNSksIDEs IGkpOwogICAgICAgICB1cyg2LCBleHBvbmVudF9yZWZfZGlzcGxheV93aWR0aFtpXSwgMCwgNjIs IDEsIGkpOwogICAgICAgICBpZiAoIWN1cnJlbnQtPmV4cG9uZW50X3JlZl9kaXNwbGF5X3dpZHRo W2ldKQogICAgICAgICAgICAgbGVuZ3RoID0gRkZNQVgoMCwgKGludCljdXJyZW50LT5wcmVjX3Jl Zl9kaXNwbGF5X3dpZHRoIC0gMzApOwotLSAKMi40OS4xCgoKRnJvbSBhNmEzNDZlMTU0NDQyMjU0 ZWUwMmRkZTQ0YzdiMjVkYTgwMTA2NjhiIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBK YW1lcyBBbG1lciA8amFtcmlhbEBnbWFpbC5jb20+CkRhdGU6IFR1ZSwgMjQgU2VwIDIwMjQgMTU6 MDQ6MDEgLTAzMDAKU3ViamVjdDogW1BBVENIIDAwMy80MzRdIGF2Y29kZWMvY2JzX2gyNjU6IG51 bV9yZWZfZGlzcGxheXMgY2FuIGJlIHVwIHRvIDMyCgpTaWduZWQtb2ZmLWJ5OiBKYW1lcyBBbG1l ciA8amFtcmlhbEBnbWFpbC5jb20+Ci0tLQogbGliYXZjb2RlYy9jYnNfaDI2NS5oIHwgMTYgKysr KysrKystLS0tLS0tLQogMSBmaWxlIGNoYW5nZWQsIDggaW5zZXJ0aW9ucygrKSwgOCBkZWxldGlv bnMoLSkKCmRpZmYgLS1naXQgYS9saWJhdmNvZGVjL2Nic19oMjY1LmggYi9saWJhdmNvZGVjL2Ni c19oMjY1LmgKaW5kZXggNTgwYzZjZDRmNC4uYmI3YTI5YzJlNSAxMDA2NDQKLS0tIGEvbGliYXZj b2RlYy9jYnNfaDI2NS5oCisrKyBiL2xpYmF2Y29kZWMvY2JzX2gyNjUuaApAQCAtNzI1LDE0ICs3 MjUsMTQgQEAgdHlwZWRlZiBzdHJ1Y3QgSDI2NVJhd1NFSTNEUmVmZXJlbmNlRGlzcGxheXNJbmZv IHsKICAgICB1aW50OF90IHJlZl92aWV3aW5nX2Rpc3RhbmNlX2ZsYWc7CiAgICAgdWludDhfdCBw cmVjX3JlZl92aWV3aW5nX2Rpc3Q7CiAgICAgdWludDhfdCBudW1fcmVmX2Rpc3BsYXlzX21pbnVz MTsKLSAgICB1aW50MTZfdCBsZWZ0X3ZpZXdfaWRbMzFdOwotICAgIHVpbnQxNl90IHJpZ2h0X3Zp ZXdfaWRbMzFdOwotICAgIHVpbnQ4X3QgZXhwb25lbnRfcmVmX2Rpc3BsYXlfd2lkdGhbMzFdOwot ICAgIHVpbnQ4X3QgbWFudGlzc2FfcmVmX2Rpc3BsYXlfd2lkdGhbMzFdOwotICAgIHVpbnQ4X3Qg ZXhwb25lbnRfcmVmX3ZpZXdpbmdfZGlzdGFuY2VbMzFdOwotICAgIHVpbnQ4X3QgbWFudGlzc2Ff cmVmX3ZpZXdpbmdfZGlzdGFuY2VbMzFdOwotICAgIHVpbnQ4X3QgYWRkaXRpb25hbF9zaGlmdF9w cmVzZW50X2ZsYWdbMzFdOwotICAgIHVpbnQxNl90IG51bV9zYW1wbGVfc2hpZnRfcGx1czUxMlsz MV07CisgICAgdWludDE2X3QgbGVmdF92aWV3X2lkWzMyXTsKKyAgICB1aW50MTZfdCByaWdodF92 aWV3X2lkWzMyXTsKKyAgICB1aW50OF90IGV4cG9uZW50X3JlZl9kaXNwbGF5X3dpZHRoWzMyXTsK KyAgICB1aW50OF90IG1hbnRpc3NhX3JlZl9kaXNwbGF5X3dpZHRoWzMyXTsKKyAgICB1aW50OF90 IGV4cG9uZW50X3JlZl92aWV3aW5nX2Rpc3RhbmNlWzMyXTsKKyAgICB1aW50OF90IG1hbnRpc3Nh X3JlZl92aWV3aW5nX2Rpc3RhbmNlWzMyXTsKKyAgICB1aW50OF90IGFkZGl0aW9uYWxfc2hpZnRf cHJlc2VudF9mbGFnWzMyXTsKKyAgICB1aW50MTZfdCBudW1fc2FtcGxlX3NoaWZ0X3BsdXM1MTJb MzJdOwogICAgIHVpbnQ4X3QgdGhyZWVfZGltZW5zaW9uYWxfcmVmZXJlbmNlX2Rpc3BsYXlzX2V4 dGVuc2lvbl9mbGFnOwogfSBIMjY1UmF3U0VJM0RSZWZlcmVuY2VEaXNwbGF5c0luZm87CiAKLS0g CjIuNDkuMQoKCkZyb20gMmRiNzA2Mzc0ZTU0ZDc3ZjkzNDkyZTViNTgwNzQzNDFjODE1ZjQ3YSBN b24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKRnJvbTogSmFtZXMgQWxtZXIgPGphbXJpYWxAZ21haWwu Y29tPgpEYXRlOiBUdWUsIDI0IFNlcCAyMDI0IDE1OjA0OjEyIC0wMzAwClN1YmplY3Q6IFtQQVRD SCAwMDQvNDM0XSBhdmNvZGVjL2hldmMvc2VpOiBudW1fcmVmX2Rpc3BsYXlzIGNhbiBiZSB1cCB0 byAzMgoKU2lnbmVkLW9mZi1ieTogSmFtZXMgQWxtZXIgPGphbXJpYWxAZ21haWwuY29tPgotLS0K IGxpYmF2Y29kZWMvaGV2Yy9zZWkuaCB8IDE2ICsrKysrKysrLS0tLS0tLS0KIDEgZmlsZSBjaGFu Z2VkLCA4IGluc2VydGlvbnMoKyksIDggZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvbGliYXZj b2RlYy9oZXZjL3NlaS5oIGIvbGliYXZjb2RlYy9oZXZjL3NlaS5oCmluZGV4IGE5ZDZhNTIwODAu LjgwNjU0MGZhYzYgMTAwNjQ0Ci0tLSBhL2xpYmF2Y29kZWMvaGV2Yy9zZWkuaAorKysgYi9saWJh dmNvZGVjL2hldmMvc2VpLmgKQEAgLTg0LDE0ICs4NCwxNCBAQCB0eXBlZGVmIHN0cnVjdCBIRVZD U0VJVERSREkgewogICAgIHVpbnQ4X3QgcmVmX3ZpZXdpbmdfZGlzdGFuY2VfZmxhZzsKICAgICB1 aW50OF90IHByZWNfcmVmX3ZpZXdpbmdfZGlzdDsKICAgICB1aW50OF90IG51bV9yZWZfZGlzcGxh eXM7Ci0gICAgdWludDE2X3QgbGVmdF92aWV3X2lkWzMxXTsKLSAgICB1aW50MTZfdCByaWdodF92 aWV3X2lkWzMxXTsKLSAgICB1aW50OF90IGV4cG9uZW50X3JlZl9kaXNwbGF5X3dpZHRoWzMxXTsK LSAgICB1aW50OF90IG1hbnRpc3NhX3JlZl9kaXNwbGF5X3dpZHRoWzMxXTsKLSAgICB1aW50OF90 IGV4cG9uZW50X3JlZl92aWV3aW5nX2Rpc3RhbmNlWzMxXTsKLSAgICB1aW50OF90IG1hbnRpc3Nh X3JlZl92aWV3aW5nX2Rpc3RhbmNlWzMxXTsKLSAgICB1aW50OF90IGFkZGl0aW9uYWxfc2hpZnRf cHJlc2VudF9mbGFnWzMxXTsKLSAgICBpbnQxNl90IG51bV9zYW1wbGVfc2hpZnRbMzFdOworICAg IHVpbnQxNl90IGxlZnRfdmlld19pZFszMl07CisgICAgdWludDE2X3QgcmlnaHRfdmlld19pZFsz Ml07CisgICAgdWludDhfdCBleHBvbmVudF9yZWZfZGlzcGxheV93aWR0aFszMl07CisgICAgdWlu dDhfdCBtYW50aXNzYV9yZWZfZGlzcGxheV93aWR0aFszMl07CisgICAgdWludDhfdCBleHBvbmVu dF9yZWZfdmlld2luZ19kaXN0YW5jZVszMl07CisgICAgdWludDhfdCBtYW50aXNzYV9yZWZfdmll d2luZ19kaXN0YW5jZVszMl07CisgICAgdWludDhfdCBhZGRpdGlvbmFsX3NoaWZ0X3ByZXNlbnRf ZmxhZ1szMl07CisgICAgaW50MTZfdCBudW1fc2FtcGxlX3NoaWZ0WzMyXTsKICAgICB1aW50OF90 IHRocmVlX2RpbWVuc2lvbmFsX3JlZmVyZW5jZV9kaXNwbGF5c19leHRlbnNpb25fZmxhZzsKIH0g SEVWQ1NFSVREUkRJOwogCi0tIAoyLjQ5LjEKCgpGcm9tIGY3NjQzNDU0YWFkNjc0ZmQ0ZjUzY2I2 MDU1NTVlYWRkNTZiMGZkOTYgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCkZyb206IEphbWVzIEFs bWVyIDxqYW1yaWFsQGdtYWlsLmNvbT4KRGF0ZTogVHVlLCAyNCBTZXAgMjAyNCAxNjowODoyOSAt MDMwMApTdWJqZWN0OiBbUEFUQ0ggMDA1LzQzNF0gYXZmaWx0ZXIvdmZfc2hvd2luZm86IGFkZCBt aXNzaW5nIGJyZWFrIHRvIFZpZXdJRAogY2FzZQoKTWlzc2VkIGluIDY5NDBhNmRlMmYwNDdjZWFl NDE0ZGRlYmFhYjMwY2Q5ZmUzNWIwMjAuCgpTaWduZWQtb2ZmLWJ5OiBKYW1lcyBBbG1lciA8amFt cmlhbEBnbWFpbC5jb20+CihjaGVycnkgcGlja2VkIGZyb20gY29tbWl0IGZkNmNjMThkNjBjZDFi NjEzODAzMjRjMTMwNTBiMDQyODVlYjFmYjQpCi0tLQogbGliYXZmaWx0ZXIvdmZfc2hvd2luZm8u YyB8IDEgKwogMSBmaWxlIGNoYW5nZWQsIDEgaW5zZXJ0aW9uKCspCgpkaWZmIC0tZ2l0IGEvbGli YXZmaWx0ZXIvdmZfc2hvd2luZm8uYyBiL2xpYmF2ZmlsdGVyL3ZmX3Nob3dpbmZvLmMKaW5kZXgg NzcwODI1MDVmNS4uMWM5Y2Y2YzZhMSAxMDA2NDQKLS0tIGEvbGliYXZmaWx0ZXIvdmZfc2hvd2lu Zm8uYworKysgYi9saWJhdmZpbHRlci92Zl9zaG93aW5mby5jCkBAIC04NTksNiArODU5LDcgQEAg c3RhdGljIGludCBmaWx0ZXJfZnJhbWUoQVZGaWx0ZXJMaW5rICppbmxpbmssIEFWRnJhbWUgKmZy YW1lKQogICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgIGNhc2UgQVZfRlJBTUVfREFUQV9WSUVX X0lEOgogICAgICAgICAgICAgYXZfbG9nKGN0eCwgQVZfTE9HX0lORk8sICJ2aWV3IGlkOiAlZFxu IiwgKihpbnQqKXNkLT5kYXRhKTsKKyAgICAgICAgICAgIGJyZWFrOwogICAgICAgICBkZWZhdWx0 OgogICAgICAgICAgICAgaWYgKG5hbWUpCiAgICAgICAgICAgICAgICAgYXZfbG9nKGN0eCwgQVZf TE9HX0lORk8sCi0tIAoyLjQ5LjEKCgpGcm9tIGNiMjMyNzU2MjMyNjc3M2JiNGQ0OTdkZjg1MTRm ZjI1ZWJhMGYzN2MgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCkZyb206IEphbWVzIEFsbWVyIDxq YW1yaWFsQGdtYWlsLmNvbT4KRGF0ZTogVHVlLCAyNCBTZXAgMjAyNCAyMTowODoyMyAtMDMwMApT dWJqZWN0OiBbUEFUQ0ggMDA2LzQzNF0gdGVzdHMvZmF0ZS9tb3Y6IGZpeCBydWxlcyBmb3Igc29t ZSB0ZXN0cwoKVGhpcyB3YXMgYnJva2VuIGluIDJmYjJjZDVjNzlmYzBhMDE1MzllODI2NTMwYTE5 NWMzZDZiNzhhMTcgYW5kCjc0NTUzZjAwMjY5NDFkZTg4Mjg2ZTgyMWM5ZTA5NzMyMDZiZGIxYjUs IG1ha2luZyBhIHNpbXBsZSBtYWtlIGZhdGUtbW92IGZhaWwKYW5kIG1vc3Qgb2YgdGhlIHRlc3Qg bm90IHJ1biB3aXRoIGEgc2ltcGxlIG1ha2UgZmF0ZS4KClNpZ25lZC1vZmYtYnk6IEphbWVzIEFs bWVyIDxqYW1yaWFsQGdtYWlsLmNvbT4KKGNoZXJyeSBwaWNrZWQgZnJvbSBjb21taXQgOGI0ZTMy ZjMwYmQyODIyMmM0NTEyOGE5OTM1ZWQ0ODNhYzkwZjQxNCkKLS0tCiB0ZXN0cy9mYXRlL21vdi5t YWsgfCA2ICsrKy0tLQogMSBmaWxlIGNoYW5nZWQsIDMgaW5zZXJ0aW9ucygrKSwgMyBkZWxldGlv bnMoLSkKCmRpZmYgLS1naXQgYS90ZXN0cy9mYXRlL21vdi5tYWsgYi90ZXN0cy9mYXRlL21vdi5t YWsKaW5kZXggNjgyOTk3ZjdmZS4uMTIwMGM3NzU2MCAxMDA2NDQKLS0tIGEvdGVzdHMvZmF0ZS9t b3YubWFrCisrKyBiL3Rlc3RzL2ZhdGUvbW92Lm1hawpAQCAtMzMsOCArMzMsOCBAQCBGQVRFX01P Vl9GRlBST0JFLSQoY2FsbCBGUkFNRU1ENSwgTU9WKSA9IGZhdGUtbW92LW5lZy1maXJzdHB0cy1k aXNjYXJkIFwKIAogRkFURV9NT1ZfRkFTVFNUQVJUID0gZmF0ZS1tb3YtZmFzdHN0YXJ0LTRnYi1v dmVyZmxvdyBcCiAKLUZBVEVfU0FNUExFU19BVkNPTlYgKz0gJChGQVRFX01PVikKLUZBVEVfU0FN UExFU19GRlBST0JFICs9ICQoRkFURV9NT1ZfRkZQUk9CRSkKK0ZBVEVfU0FNUExFU19GRk1QRUcg Kz0gJChGQVRFX01PVi15ZXMpCitGQVRFX1NBTVBMRVNfRkZQUk9CRSArPSAkKEZBVEVfTU9WX0ZG UFJPQkUteWVzKQogRkFURV9TQU1QTEVTX0ZBU1RTVEFSVCArPSAkKEZBVEVfTU9WX0ZBU1RTVEFS VCkKIAogIyBNYWtlIHN1cmUgd2UgaGFuZGxlIGVkaXQgbGlzdHMgY29ycmVjdGx5IGluIG5vcm1h bCBjYXNlcy4KQEAgLTI4MSw0ICsyODEsNCBAQCBmYXRlLW1vdi1tcDQtaWFtZi1hbWJpc29uaWNf MTogQ01EID0gdHJhbnNjb2RlIHdhdiAkKFNSQykgbXA0ICItYXV0b19jb252ZXJzaW9uXwogRkFU RV9GRk1QRUcgKz0gJChGQVRFX01PVl9GRk1QRUcteWVzKQogRkFURV9GRk1QRUdfRkZQUk9CRSAr PSAkKEZBVEVfTU9WX0ZGTVBFR19GRlBST0JFLXllcykKIAotZmF0ZS1tb3Y6ICQoRkFURV9NT1Yt eWVzKSAkKEZBVEVfTU9WX0ZGTVBFRy15ZXMpICQoRkFURV9NT1ZfRkZNUEVHX0ZGUFJPQkUteWVz KSAkKEZBVEVfTU9WX0ZGUFJPQkUpICQoRkFURV9NT1ZfRkFTVFNUQVJUKSAkKEZBVEVfTU9WX0ZG TVBFR19TQU1QTEVTLXllcykgJChGQVRFX01PVl9GRk1QRUdfRkZQUk9CRV9TQU1QTEVTLXllcykK K2ZhdGUtbW92OiAkKEZBVEVfTU9WLXllcykgJChGQVRFX01PVl9GRk1QRUcteWVzKSAkKEZBVEVf TU9WX0ZGTVBFR19GRlBST0JFLXllcykgJChGQVRFX01PVl9GRlBST0JFLXllcykgJChGQVRFX01P Vl9GQVNUU1RBUlQpICQoRkFURV9NT1ZfRkZNUEVHX1NBTVBMRVMteWVzKSAkKEZBVEVfTU9WX0ZG TVBFR19GRlBST0JFX1NBTVBMRVMteWVzKQotLSAKMi40OS4xCgoKRnJvbSBjMjE0NzJlYzMxYmI5 OTliMTk2MGNmMGNlOWY5MzkzMmI0OTM5MDE4IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQpGcm9t OiBKYW1lcyBBbG1lciA8amFtcmlhbEBnbWFpbC5jb20+CkRhdGU6IFRodSwgMjYgU2VwIDIwMjQg MTY6Mzg6MjQgLTAzMDAKU3ViamVjdDogW1BBVENIIDAwNy80MzRdIGF2dXRpbC9pYW1mOiBmaXgg ZG94eWdlbgoKU2lnbmVkLW9mZi1ieTogSmFtZXMgQWxtZXIgPGphbXJpYWxAZ21haWwuY29tPgoo Y2hlcnJ5IHBpY2tlZCBmcm9tIGNvbW1pdCBkNTVhYjJiYTliMTZjYWJmMWEwNjliY2Q2Nzg0ZThk NDkwNmZjODU5KQotLS0KIGxpYmF2dXRpbC9pYW1mLmggfCAxMiArKysrKysrKysrKy0KIDEgZmls ZSBjaGFuZ2VkLCAxMSBpbnNlcnRpb25zKCspLCAxIGRlbGV0aW9uKC0pCgpkaWZmIC0tZ2l0IGEv bGliYXZ1dGlsL2lhbWYuaCBiL2xpYmF2dXRpbC9pYW1mLmgKaW5kZXggOTM3ODVkOWZlYy4uMWZh NzM4OTNjZCAxMDA2NDQKLS0tIGEvbGliYXZ1dGlsL2lhbWYuaAorKysgYi9saWJhdnV0aWwvaWFt Zi5oCkBAIC0zNywyMCArMzcsMjkgQEAKICNpbmNsdWRlICJyYXRpb25hbC5oIgogCiAvKioKKyAq IEBkZWZncm91cCBsYXZ1X2lhbWYgSW1tZXJzaXZlIEF1ZGlvIE1vZGVsIGFuZCBGb3JtYXRzCisg KiBAaW5ncm91cCBsYXZ1X2F1ZGlvCisgKgorICogSW1tZXJzaXZlIEF1ZGlvIE1vZGVsIGFuZCBG b3JtYXRzIHJlbGF0ZWQgZnVuY3Rpb25zIGFuZCBkZWZpbmVzCisgKgogICogQGRlZmdyb3VwIGxh dnVfaWFtZl9wYXJhbXMgUGFyYW1ldGVyIERlZmluaXRpb24KKyAqIEBpbmdyb3VwIGxhdnVfaWFt ZgogICogQHsKICAqIFBhcmFtZXRlcnMgYXMgZGVmaW5lZCBpbiBzZWN0aW9uIDMuNi4xIGFuZCAz Ljggb2YgSUFNRi4KICAqIEB9CisgKgogICogQGRlZmdyb3VwIGxhdnVfaWFtZl9hdWRpbyBBdWRp byBFbGVtZW50CisgKiBAaW5ncm91cCBsYXZ1X2lhbWYKICAqIEB7CiAgKiBBdWRpbyBFbGVtZW50 cyBhcyBkZWZpbmVkIGluIHNlY3Rpb24gMy42IG9mIElBTUYuCiAgKiBAfQorICoKICAqIEBkZWZn cm91cCBsYXZ1X2lhbWZfbWl4IE1peCBQcmVzZW50YXRpb24KKyAqIEBpbmdyb3VwIGxhdnVfaWFt ZgogICogQHsKICAqIE1peCBQcmVzZW50YXRpb25zIGFzIGRlZmluZWQgaW4gc2VjdGlvbiAzLjcg b2YgSUFNRi4KICAqIEB9CiAgKgotICogQH0KICAqIEBhZGR0b2dyb3VwIGxhdnVfaWFtZl9wYXJh bXMKICAqIEB7CiAgKi8KQEAgLTY3Myw2ICs2ODIsNyBAQCBBVklBTUZTdWJtaXhMYXlvdXQgKmF2 X2lhbWZfc3VibWl4X2FkZF9sYXlvdXQoQVZJQU1GU3VibWl4ICpzdWJtaXgpOwogICogICAgICAg ICAgICAgICAgICAgICAgICAgdXBvbiByZXR1cm4sICptaXhfcHJlc2VudGF0aW9uIHdpbGwgYmUg c2V0IHRvIE5VTEwuCiAgKi8KIHZvaWQgYXZfaWFtZl9taXhfcHJlc2VudGF0aW9uX2ZyZWUoQVZJ QU1GTWl4UHJlc2VudGF0aW9uICoqbWl4X3ByZXNlbnRhdGlvbik7CisKIC8qKgogICogQH0KICAq LwotLSAKMi40OS4xCgoKRnJvbSAwNDgyNDEwODE4ZTBmY2ZmMGU3N2YyZDI4MTNkMzkxODA5ZjUy Y2U0IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBMeW5uZSA8ZGV2QGx5bm5lLmVlPgpE YXRlOiBGcmksIDI3IFNlcCAyMDI0IDA5OjQ5OjM1ICswMjAwClN1YmplY3Q6IFtQQVRDSCAwMDgv NDM0XSB2dWxrYW5fZW5jb2RlX2gyNjQ6IGZpeCByYXRlIGNvbnRyb2wgVkJWIHZhbHVlcwoKVGhl IHZhbHVlcyBtdXN0IGJlIGluIG1pbGxpc2Vjb25kcywgbm90IGJ5dGVzLgoKKGNoZXJyeSBwaWNr ZWQgZnJvbSBjb21taXQgOTM0YmUwZmY1MGZiZTU4YWE0NGJjOGE4NzZmMDcxOTU4NDZkMTVlYSkK LS0tCiBsaWJhdmNvZGVjL3Z1bGthbl9lbmNvZGVfaDI2NC5jIHwgNiArKystLS0KIDEgZmlsZSBj aGFuZ2VkLCAzIGluc2VydGlvbnMoKyksIDMgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvbGli YXZjb2RlYy92dWxrYW5fZW5jb2RlX2gyNjQuYyBiL2xpYmF2Y29kZWMvdnVsa2FuX2VuY29kZV9o MjY0LmMKaW5kZXggOTk2NGJhNWI4Yi4uYTBhMDBhM2RiMiAxMDA2NDQKLS0tIGEvbGliYXZjb2Rl Yy92dWxrYW5fZW5jb2RlX2gyNjQuYworKysgYi9saWJhdmNvZGVjL3Z1bGthbl9lbmNvZGVfaDI2 NC5jCkBAIC0xMzAsMTIgKzEzMCwxMiBAQCBzdGF0aWMgaW50IGluaXRfcGljX3JjKEFWQ29kZWND b250ZXh0ICphdmN0eCwgRkZIV0Jhc2VFbmNvZGVQaWN0dXJlICpwaWMsCiAgICAgICAgIC5jb25z ZWN1dGl2ZUJGcmFtZUNvdW50ID0gRkZNQVgoY3R4LT5iYXNlLmJfcGVyX3AgLSAxLCAwKSwKICAg ICAgICAgLnRlbXBvcmFsTGF5ZXJDb3VudCA9IDAsCiAgICAgfTsKLQogICAgIHJjX2luZm8tPnBO ZXh0ID0gJmhwLT52a3JjX2luZm87Ci0gICAgcmNfaW5mby0+dmlydHVhbEJ1ZmZlclNpemVJbk1z ID0gZW5jLT51bml0X29wdHMuaHJkX2J1ZmZlcl9zaXplOwotICAgIHJjX2luZm8tPmluaXRpYWxW aXJ0dWFsQnVmZmVyU2l6ZUluTXMgPSBlbmMtPnVuaXRfb3B0cy5pbml0aWFsX2J1ZmZlcl9mdWxs bmVzczsKIAogICAgIGlmIChyY19pbmZvLT5yYXRlQ29udHJvbE1vZGUgPiBWS19WSURFT19FTkNP REVfUkFURV9DT05UUk9MX01PREVfRElTQUJMRURfQklUX0tIUikgeworICAgICAgICByY19pbmZv LT52aXJ0dWFsQnVmZmVyU2l6ZUluTXMgPSAoZW5jLT51bml0X29wdHMuaHJkX2J1ZmZlcl9zaXpl ICogMTAwMExMKSAvIGF2Y3R4LT5iaXRfcmF0ZTsKKyAgICAgICAgcmNfaW5mby0+aW5pdGlhbFZp cnR1YWxCdWZmZXJTaXplSW5NcyA9IChlbmMtPnVuaXRfb3B0cy5pbml0aWFsX2J1ZmZlcl9mdWxs bmVzcyAqIDEwMDBMTCkgLyBhdmN0eC0+Yml0X3JhdGU7CisKICAgICAgICAgaHAtPnZrcmNfbGF5 ZXJfaW5mbyA9IChWa1ZpZGVvRW5jb2RlSDI2NFJhdGVDb250cm9sTGF5ZXJJbmZvS0hSKSB7CiAg ICAgICAgICAgICAuc1R5cGUgPSBWS19TVFJVQ1RVUkVfVFlQRV9WSURFT19FTkNPREVfSDI2NF9S QVRFX0NPTlRST0xfTEFZRVJfSU5GT19LSFIsCiAKLS0gCjIuNDkuMQoKCkZyb20gOWFkYTA0ZmFh Mzc4MGM2MzYwZmZjNmYzNTQzNzRlMDZiY2EwMGE4YSBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEK RnJvbTogTHlubmUgPGRldkBseW5uZS5lZT4KRGF0ZTogRnJpLCAyNyBTZXAgMjAyNCAwOTo1Mjox NCArMDIwMApTdWJqZWN0OiBbUEFUQ0ggMDA5LzQzNF0gdnVsa2FuX2VuY29kZV9oMjY1OiBmaXgg cmF0ZSBjb250cm9sIFZCViB2YWx1ZXMKClRoZSB2YWx1ZXMgd3JpdHRlbiB3ZXJlIHBsYWNlaG9s ZGVyIHZhbHVlcy4KCihjaGVycnkgcGlja2VkIGZyb20gY29tbWl0IDgxYzZlNmM5ZWViMmNlZDAy NjU0NjMxZGJlODNkMzQyZTZiNTk1MDUpCi0tLQogbGliYXZjb2RlYy92dWxrYW5fZW5jb2RlX2gy NjUuYyB8IDYgKysrLS0tCiAxIGZpbGUgY2hhbmdlZCwgMyBpbnNlcnRpb25zKCspLCAzIGRlbGV0 aW9ucygtKQoKZGlmZiAtLWdpdCBhL2xpYmF2Y29kZWMvdnVsa2FuX2VuY29kZV9oMjY1LmMgYi9s aWJhdmNvZGVjL3Z1bGthbl9lbmNvZGVfaDI2NS5jCmluZGV4IDU0YmYwNzFkNzguLjZhYWRiYzkz ZmMgMTAwNjQ0Ci0tLSBhL2xpYmF2Y29kZWMvdnVsa2FuX2VuY29kZV9oMjY1LmMKKysrIGIvbGli YXZjb2RlYy92dWxrYW5fZW5jb2RlX2gyNjUuYwpAQCAtMTI0LDEyICsxMjQsMTIgQEAgc3RhdGlj IGludCBpbml0X3BpY19yYyhBVkNvZGVjQ29udGV4dCAqYXZjdHgsIEZGSFdCYXNlRW5jb2RlUGlj dHVyZSAqcGljLAogICAgICAgICAuY29uc2VjdXRpdmVCRnJhbWVDb3VudCA9IEZGTUFYKGN0eC0+ YmFzZS5iX3Blcl9wIC0gMSwgMCksCiAgICAgICAgIC5zdWJMYXllckNvdW50ID0gMCwKICAgICB9 OwotCiAgICAgcmNfaW5mby0+cE5leHQgPSAmaHAtPnZrcmNfaW5mbzsKLSAgICByY19pbmZvLT52 aXJ0dWFsQnVmZmVyU2l6ZUluTXMgPSAxMDAwOwotICAgIHJjX2luZm8tPmluaXRpYWxWaXJ0dWFs QnVmZmVyU2l6ZUluTXMgPSA1MDA7CiAKICAgICBpZiAocmNfaW5mby0+cmF0ZUNvbnRyb2xNb2Rl ID4gVktfVklERU9fRU5DT0RFX1JBVEVfQ09OVFJPTF9NT0RFX0RJU0FCTEVEX0JJVF9LSFIpIHsK KyAgICAgICAgcmNfaW5mby0+dmlydHVhbEJ1ZmZlclNpemVJbk1zID0gKGVuYy0+aHJkX2J1ZmZl cl9zaXplICogMTAwMExMKSAvIGF2Y3R4LT5iaXRfcmF0ZTsKKyAgICAgICAgcmNfaW5mby0+aW5p dGlhbFZpcnR1YWxCdWZmZXJTaXplSW5NcyA9IChlbmMtPmluaXRpYWxfYnVmZmVyX2Z1bGxuZXNz ICogMTAwMExMKSAvIGF2Y3R4LT5iaXRfcmF0ZTsKKwogICAgICAgICBocC0+dmtyY19sYXllcl9p bmZvID0gKFZrVmlkZW9FbmNvZGVIMjY1UmF0ZUNvbnRyb2xMYXllckluZm9LSFIpIHsKICAgICAg ICAgICAgIC5zVHlwZSA9IFZLX1NUUlVDVFVSRV9UWVBFX1ZJREVPX0VOQ09ERV9IMjY1X1JBVEVf Q09OVFJPTF9MQVlFUl9JTkZPX0tIUiwKIAotLSAKMi40OS4xCgoKRnJvbSA1NWQwYzM1M2ZlNzQ1 Yzc2MmE5ZmYwYTY5Yzk3ZTExNTIyYTZkMWU3IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQpGcm9t OiBBbnRvbiBLaGlybm92IDxhbnRvbkBraGlybm92Lm5ldD4KRGF0ZTogV2VkLCAyNSBTZXAgMjAy NCAyMDo0OTo0NyArMDIwMApTdWJqZWN0OiBbUEFUQ0ggMDEwLzQzNF0gbGF2dS9vcHQ6IGFkZCBt aXNzaW5nICdlbHNlJwoKKGNoZXJyeSBwaWNrZWQgZnJvbSBjb21taXQgOWI3NjRlOWI0OTE3NDdh YTg1YzQ3ZWNkMjEwNTUxYWIwMDFjYTk3NykKU2lnbmVkLW9mZi1ieTogQW50b24gS2hpcm5vdiA8 YW50b25Aa2hpcm5vdi5uZXQ+Ci0tLQogbGliYXZ1dGlsL29wdC5jIHwgMiArLQogMSBmaWxlIGNo YW5nZWQsIDEgaW5zZXJ0aW9uKCspLCAxIGRlbGV0aW9uKC0pCgpkaWZmIC0tZ2l0IGEvbGliYXZ1 dGlsL29wdC5jIGIvbGliYXZ1dGlsL29wdC5jCmluZGV4IDQ1ZGI0ZjQ4NGYuLjAyZWQ5ZDlmZTkg MTAwNjQ0Ci0tLSBhL2xpYmF2dXRpbC9vcHQuYworKysgYi9saWJhdnV0aWwvb3B0LmMKQEAgLTIz NjIsNyArMjM2Miw3IEBAIGludCBhdl9vcHRfc2V0X2FycmF5KHZvaWQgKm9iaiwgY29uc3QgY2hh ciAqbmFtZSwgaW50IHNlYXJjaF9mbGFncywKICAgICAgICAgICAgIHJldCA9IG9wdF9zZXRfZWxl bShvYmosIHRhcmdldF9vYmosIG8sICooY29uc3QgY2hhciAqKilzcmMsIGRzdCk7CiAgICAgICAg ICAgICBpZiAocmV0IDwgMCkKICAgICAgICAgICAgICAgICBnb3RvIGZhaWw7Ci0gICAgICAgIH0g aWYgKHZhbF90eXBlID09IEFWX09QVF9UWVBFX0lOVCAgICAgIHx8CisgICAgICAgIH0gZWxzZSBp ZiAodmFsX3R5cGUgPT0gQVZfT1BUX1RZUEVfSU5UIHx8CiAgICAgICAgICAgICAgIHZhbF90eXBl ID09IEFWX09QVF9UWVBFX0lOVDY0ICAgIHx8CiAgICAgICAgICAgICAgIHZhbF90eXBlID09IEFW X09QVF9UWVBFX0ZMT0FUICAgIHx8CiAgICAgICAgICAgICAgIHZhbF90eXBlID09IEFWX09QVF9U WVBFX0RPVUJMRSAgIHx8Ci0tIAoyLjQ5LjEKCgpGcm9tIGQ1YzMwOGZjYzU1NzY4NjFlNDJhYTBj ODg5N2UzYTAyNzFhODZmZjcgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCkZyb206IEFudG9uIEto aXJub3YgPGFudG9uQGtoaXJub3YubmV0PgpEYXRlOiBUaHUsIDI2IFNlcCAyMDI0IDE4OjA4OjA0 ICswMjAwClN1YmplY3Q6IFtQQVRDSCAwMTEvNDM0XSBsYXZ1L29wdDogYXZvaWQgYWNjaWRlbnRh bGx5IHByb3BhZ2F0aW5nIHNwdXJpb3VzCiBlcnJvcnMKCkFuIGVycm9yIGZyb20gcmVhZF9udW1i ZXIoKSBpcyBub24tZmF0YWwgaGVyZSBhbmQgc2hvdWxkIG5vdCBiZQpmb3J3YXJkZWQuCgooY2hl cnJ5IHBpY2tlZCBmcm9tIGNvbW1pdCA1MDVmZWEzNGU1M2UwNDU5ZDFjYTY2MDRhM2Y0NzM3ZjBi OTA5MDJjKQpTaWduZWQtb2ZmLWJ5OiBBbnRvbiBLaGlybm92IDxhbnRvbkBraGlybm92Lm5ldD4K LS0tCiBsaWJhdnV0aWwvb3B0LmMgfCA2ICsrKystLQogMSBmaWxlIGNoYW5nZWQsIDQgaW5zZXJ0 aW9ucygrKSwgMiBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9saWJhdnV0aWwvb3B0LmMgYi9s aWJhdnV0aWwvb3B0LmMKaW5kZXggMDJlZDlkOWZlOS4uOTNmMmJiMTMyMCAxMDA2NDQKLS0tIGEv bGliYXZ1dGlsL29wdC5jCisrKyBiL2xpYmF2dXRpbC9vcHQuYwpAQCAtMjM0MywxMyArMjM0Mywx NSBAQCBpbnQgYXZfb3B0X3NldF9hcnJheSh2b2lkICpvYmosIGNvbnN0IGNoYXIgKm5hbWUsIGlu dCBzZWFyY2hfZmxhZ3MsCiAgICAgICAgIGludDY0X3QgaW50bnVtID0gMTsKIAogICAgICAgICBp ZiAodmFsX3R5cGUgPT0gVFlQRV9CQVNFKG8tPnR5cGUpKSB7CisgICAgICAgICAgICBpbnQgZXJy OworCiAgICAgICAgICAgICByZXQgPSBvcHRfY29weV9lbGVtKG9iaiwgdmFsX3R5cGUsIGRzdCwg c3JjKTsKICAgICAgICAgICAgIGlmIChyZXQgPCAwKQogICAgICAgICAgICAgICAgIGdvdG8gZmFp bDsKIAogICAgICAgICAgICAgLy8gdmFsaWRhdGUgdGhlIHJhbmdlIGZvciBudW1lcmljIG9wdGlv bnMKLSAgICAgICAgICAgIHJldCA9IHJlYWRfbnVtYmVyKG8sIGRzdCwgJm51bSwgJmRlbiwgJmlu dG51bSk7Ci0gICAgICAgICAgICBpZiAocmV0ID49IDAgJiYgVFlQRV9CQVNFKG8tPnR5cGUpICE9 IEFWX09QVF9UWVBFX0ZMQUdTICYmCisgICAgICAgICAgICBlcnIgPSByZWFkX251bWJlcihvLCBk c3QsICZudW0sICZkZW4sICZpbnRudW0pOworICAgICAgICAgICAgaWYgKGVyciA+PSAwICYmIFRZ UEVfQkFTRShvLT50eXBlKSAhPSBBVl9PUFRfVFlQRV9GTEFHUyAmJgogICAgICAgICAgICAgICAg ICghZGVuIHx8IG8tPm1heCAqIGRlbiA8IG51bSAqIGludG51bSB8fCBvLT5taW4gKiBkZW4gPiBu dW0gKiBpbnRudW0pKSB7CiAgICAgICAgICAgICAgICAgbnVtID0gZGVuID8gbnVtICogaW50bnVt IC8gZGVuIDogKG51bSAmJiBpbnRudW0gPyBJTkZJTklUWSA6IE5BTik7CiAgICAgICAgICAgICAg ICAgYXZfbG9nKG9iaiwgQVZfTE9HX0VSUk9SLCAiQ2Fubm90IHNldCBhcnJheSBlbGVtZW50ICV1 IGZvciAiCi0tIAoyLjQ5LjEKCgpGcm9tIDA1ZmYzZWI5ZjJiOTMyMWU0MzE0ZTdkODRmZTY3NTU3 YmQ4MDkzMDcgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCkZyb206IEJyYWQgU21pdGggPGJyYWRA Y29tc3R5bGUuY29tPgpEYXRlOiBTYXQsIDIxIFNlcCAyMDI0IDA1OjAwOjQxIC0wNDAwClN1Ympl Y3Q6IFtQQVRDSCAwMTIvNDM0XSBwcGM6IFJlY29nbml6ZSB0aGUgUFBDIFZTWCBhbmQgUG93ZXI4 IENQVSBmbGFncwoKU2lnbmVkLW9mZi1ieTogQnJhZCBTbWl0aCA8YnJhZEBjb21zdHlsZS5jb20+ CihjaGVycnkgcGlja2VkIGZyb20gY29tbWl0IDZlYzZiMDc5MDAyMWM1ODcxMDE2ZjU3YWMzM2Q1 NGJiNmNhYjdhN2QpClNpZ25lZC1vZmYtYnk6IEJyYWQgU21pdGggPGJyYWRAY29tc3R5bGUuY29t PgotLS0KIGxpYmF2dXRpbC9jcHUuYyAgICAgICB8IDIgKysKIGxpYmF2dXRpbC90ZXN0cy9jcHUu YyB8IDIgKysKIDIgZmlsZXMgY2hhbmdlZCwgNCBpbnNlcnRpb25zKCspCgpkaWZmIC0tZ2l0IGEv bGliYXZ1dGlsL2NwdS5jIGIvbGliYXZ1dGlsL2NwdS5jCmluZGV4IGRmMDBiZDU0MWYuLjQ0Y2Ji OWU5ZmYgMTAwNjQ0Ci0tLSBhL2xpYmF2dXRpbC9jcHUuYworKysgYi9saWJhdnV0aWwvY3B1LmMK QEAgLTEyMCw2ICsxMjAsOCBAQCBpbnQgYXZfcGFyc2VfY3B1X2NhcHModW5zaWduZWQgKmZsYWdz LCBjb25zdCBjaGFyICpzKQogICAgICAgICB7ICJmbGFncyIgICAsIE5VTEwsIDAsIEFWX09QVF9U WVBFX0ZMQUdTLCB7IC5pNjQgPSAwIH0sIElOVDY0X01JTiwgSU5UNjRfTUFYLCAudW5pdCA9ICJm bGFncyIgfSwKICNpZiAgIEFSQ0hfUFBDCiAgICAgICAgIHsgImFsdGl2ZWMiICwgTlVMTCwgMCwg QVZfT1BUX1RZUEVfQ09OU1QsIHsgLmk2NCA9IEFWX0NQVV9GTEFHX0FMVElWRUMgIH0sICAgIC51 bml0ID0gImZsYWdzIiB9LAorICAgICAgICB7ICJ2c3giICAgICAsIE5VTEwsIDAsIEFWX09QVF9U WVBFX0NPTlNULCB7IC5pNjQgPSBBVl9DUFVfRkxBR19WU1ggICAgICB9LCAgICAudW5pdCA9ICJm bGFncyIgfSwKKyAgICAgICAgeyAicG93ZXI4IiAgLCBOVUxMLCAwLCBBVl9PUFRfVFlQRV9DT05T VCwgeyAuaTY0ID0gQVZfQ1BVX0ZMQUdfUE9XRVI4ICAgfSwgICAgLnVuaXQgPSAiZmxhZ3MiIH0s CiAjZWxpZiBBUkNIX1g4NgogICAgICAgICB7ICJtbXgiICAgICAsIE5VTEwsIDAsIEFWX09QVF9U WVBFX0NPTlNULCB7IC5pNjQgPSBBVl9DUFVfRkxBR19NTVggICAgICB9LCAgICAudW5pdCA9ICJm bGFncyIgfSwKICAgICAgICAgeyAibW14MiIgICAgLCBOVUxMLCAwLCBBVl9PUFRfVFlQRV9DT05T VCwgeyAuaTY0ID0gQVZfQ1BVX0ZMQUdfTU1YMiAgICAgfSwgICAgLnVuaXQgPSAiZmxhZ3MiIH0s CmRpZmYgLS1naXQgYS9saWJhdnV0aWwvdGVzdHMvY3B1LmMgYi9saWJhdnV0aWwvdGVzdHMvY3B1 LmMKaW5kZXggMGE0NTljMWQ5ZS4uNTNlOWY5OTk1MCAxMDA2NDQKLS0tIGEvbGliYXZ1dGlsL3Rl c3RzL2NwdS5jCisrKyBiL2xpYmF2dXRpbC90ZXN0cy9jcHUuYwpAQCAtNTEsNiArNTEsOCBAQCBz dGF0aWMgY29uc3Qgc3RydWN0IHsKICAgICB7IEFWX0NQVV9GTEFHX1NFVEVORCwgICAgInNldGVu ZCIgICAgIH0sCiAjZWxpZiBBUkNIX1BQQwogICAgIHsgQVZfQ1BVX0ZMQUdfQUxUSVZFQywgICAi YWx0aXZlYyIgICAgfSwKKyAgICB7IEFWX0NQVV9GTEFHX1ZTWCwgICAgICAgInZzeCIgICAgICAg IH0sCisgICAgeyBBVl9DUFVfRkxBR19QT1dFUjgsICAgICJwb3dlcjgiICAgICB9LAogI2VsaWYg QVJDSF9NSVBTCiAgICAgeyBBVl9DUFVfRkxBR19NTUksICAgICAgICJtbWkiICAgICAgICB9LAog ICAgIHsgQVZfQ1BVX0ZMQUdfTVNBLCAgICAgICAibXNhIiAgICAgICAgfSwKLS0gCjIuNDkuMQoK CkZyb20gOTYzMTQ1NDgzY2QwMjM0Y2QwZmFjMWI1MWYyNDEwYjUyNzRiNWYyZCBNb24gU2VwIDE3 IDAwOjAwOjAwIDIwMDEKRnJvbTogTWFydmluIFNjaG9seiA8ZXBpcmF0MDdAZ21haWwuY29tPgpE YXRlOiBUaHUsIDEyIFNlcCAyMDI0IDA0OjUyOjQzICswMjAwClN1YmplY3Q6IFtQQVRDSCAwMTMv NDM0XSBhdmRldmljZS9kZWNrbGlua19kZWM6IGZpeCBsZWFrIG9uIGVycm9yCgpJbiB0aGUgZWFy bHkgcmV0dXJuIHdoZW4gYm90aCBkcmF3X2JhcnMgYW5kIHNpZ25hbF9sb3NzX2FjdGlvbgpvcHRp b25zIGFyZSB1c2VkLCB0aGUgY29udGV4dCBhbGxvY2F0ZWQgcHJldmlvdXNseSB3YXMgbm90CnBy b3Blcmx5IGZyZWVkLgoKSW50cm9kdWNlZCBpbiA5YmNiODZiMGZhNThmMWE1YTJhODYxMzA2NTM0 OWUyNmFiYWRiMzI5CgpGaXhlcyBDSUQxNjE5Mjk2CgpTaWduZWQtb2ZmLWJ5OiBNYXJ0b24gQmFs aW50IDxjdXNAcGFzc3dkLmh1PgooY2hlcnJ5IHBpY2tlZCBmcm9tIGNvbW1pdCA3NTU0MzQ2Y2I1 Y2Y2ZTg4NjNkYTEyZjlkNTZlMzAwYjA4ZDZjYzIzKQotLS0KIGxpYmF2ZGV2aWNlL2RlY2tsaW5r X2RlYy5jcHAgfCAxICsKIDEgZmlsZSBjaGFuZ2VkLCAxIGluc2VydGlvbigrKQoKZGlmZiAtLWdp dCBhL2xpYmF2ZGV2aWNlL2RlY2tsaW5rX2RlYy5jcHAgYi9saWJhdmRldmljZS9kZWNrbGlua19k ZWMuY3BwCmluZGV4IDU0ZDY5OGJjMTIuLjlhODE3ZGFmMTggMTAwNjQ0Ci0tLSBhL2xpYmF2ZGV2 aWNlL2RlY2tsaW5rX2RlYy5jcHAKKysrIGIvbGliYXZkZXZpY2UvZGVja2xpbmtfZGVjLmNwcApA QCAtMTA5OCw2ICsxMDk4LDcgQEAgYXZfY29sZCBpbnQgZmZfZGVja2xpbmtfcmVhZF9oZWFkZXIo QVZGb3JtYXRDb250ZXh0ICphdmN0eCkKICAgICB9CiAgICAgaWYgKCFjdHgtPmRyYXdfYmFycyAm JiBjdHgtPnNpZ25hbF9sb3NzX2FjdGlvbiAhPSBTSUdOQUxfTE9TU19OT05FKSB7CiAgICAgICAg IGF2X2xvZyhhdmN0eCwgQVZfTE9HX0VSUk9SLCAib3B0aW9ucyBkcmF3X2JhcnMgYW5kIHNpZ25h bF9sb3NzX2FjdGlvbiBhcmUgbXV0dWFsbHkgZXhjbHVzaXZlXG4iKTsKKyAgICAgICAgYXZfZnJl ZXAoJmN0eCk7CiAgICAgICAgIHJldHVybiBBVkVSUk9SKEVJTlZBTCk7CiAgICAgfQogICAgIGN0 eC0+YXVkaW9fZGVwdGggPSBjY3R4LT5hdWRpb19kZXB0aDsKLS0gCjIuNDkuMQoKCkZyb20gZWJk MGNhOWZlZTg1ODkxMjYyOTc5YjJjOWQzMjBmZjY5YWJkYzEwNCBNb24gU2VwIDE3IDAwOjAwOjAw IDIwMDEKRnJvbTogTWFydmluIFNjaG9seiA8ZXBpcmF0MDdAZ21haWwuY29tPgpEYXRlOiBUaHUs IDEyIFNlcCAyMDI0IDA0OjU4OjM4ICswMjAwClN1YmplY3Q6IFtQQVRDSCAwMTQvNDM0XSBhdmRl dmljZS9kZWNrbGlua19kZWM6IGZpeCBsZWFrcyBvbiBlcnJvcgoKSW4gY2FzZSBvZiBlcnJvcnMg aW4gdGhpcyBmdW5jdGlvbiwgdGhlIGFsbG9jYXRlZCBjb250ZXh0CndhcyBub3QgcHJvcGVybHkg ZnJlZWQgaW4gc2V2ZXJhbCBjYXNlcy4KClNpZ25lZC1vZmYtYnk6IE1hcnRvbiBCYWxpbnQgPGN1 c0BwYXNzd2QuaHU+CihjaGVycnkgcGlja2VkIGZyb20gY29tbWl0IDhlNzZjOTkzMDEzZDZkZDkz ODI3NzRkMTcxNmQ4ZmUyNDIxYzQyYmQpCi0tLQogbGliYXZkZXZpY2UvZGVja2xpbmtfZGVjLmNw cCB8IDEyICsrKysrKysrLS0tLQogMSBmaWxlIGNoYW5nZWQsIDggaW5zZXJ0aW9ucygrKSwgNCBk ZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9saWJhdmRldmljZS9kZWNrbGlua19kZWMuY3BwIGIv bGliYXZkZXZpY2UvZGVja2xpbmtfZGVjLmNwcAppbmRleCA5YTgxN2RhZjE4Li40MTg3MDFlNGUw IDEwMDY0NAotLS0gYS9saWJhdmRldmljZS9kZWNrbGlua19kZWMuY3BwCisrKyBiL2xpYmF2ZGV2 aWNlL2RlY2tsaW5rX2RlYy5jcHAKQEAgLTExMTQsNyArMTExNCw4IEBAIGF2X2NvbGQgaW50IGZm X2RlY2tsaW5rX3JlYWRfaGVhZGVyKEFWRm9ybWF0Q29udGV4dCAqYXZjdHgpCiAgICAgICAgICAg ICBicmVhazsKICAgICAgICAgZGVmYXVsdDoKICAgICAgICAgICAgIGF2X2xvZyhhdmN0eCwgQVZf TE9HX0VSUk9SLCAiVmFsdWUgb2YgY2hhbm5lbHMgb3B0aW9uIG11c3QgYmUgb25lIG9mIDIsIDgg b3IgMTZcbiIpOwotICAgICAgICAgICAgcmV0dXJuIEFWRVJST1IoRUlOVkFMKTsKKyAgICAgICAg ICAgIHJldCA9IEFWRVJST1IoRUlOVkFMKTsKKyAgICAgICAgICAgIGdvdG8gZXJyb3I7CiAgICAg fQogCiAgICAgLyogQ2hlY2sgYXVkaW8gYml0IGRlcHRoIG9wdGlvbiBmb3IgdmFsaWQgdmFsdWVz OiAxNiBvciAzMiAqLwpAQCAtMTEyNCwxOCArMTEyNSwyMCBAQCBhdl9jb2xkIGludCBmZl9kZWNr bGlua19yZWFkX2hlYWRlcihBVkZvcm1hdENvbnRleHQgKmF2Y3R4KQogICAgICAgICAgICAgYnJl YWs7CiAgICAgICAgIGRlZmF1bHQ6CiAgICAgICAgICAgICBhdl9sb2coYXZjdHgsIEFWX0xPR19F UlJPUiwgIlZhbHVlIGZvciBhdWRpbyBiaXQgZGVwdGggb3B0aW9uIG11c3QgYmUgZWl0aGVyIDE2 IG9yIDMyXG4iKTsKLSAgICAgICAgICAgIHJldHVybiBBVkVSUk9SKEVJTlZBTCk7CisgICAgICAg ICAgICByZXQgPSBBVkVSUk9SKEVJTlZBTCk7CisgICAgICAgICAgICBnb3RvIGVycm9yOwogICAg IH0KIAogICAgIC8qIExpc3QgYXZhaWxhYmxlIGRldmljZXMuICovCiAgICAgaWYgKGN0eC0+bGlz dF9kZXZpY2VzKSB7CiAgICAgICAgIGZmX2RlY2tsaW5rX2xpc3RfZGV2aWNlc19sZWdhY3koYXZj dHgsIDEsIDApOwotICAgICAgICByZXR1cm4gQVZFUlJPUl9FWElUOworICAgICAgICByZXQgPSBB VkVSUk9SX0VYSVQ7CisgICAgICAgIGdvdG8gZXJyb3I7CiAgICAgfQogCiAgICAgcmV0ID0gZmZf ZGVja2xpbmtfaW5pdF9kZXZpY2UoYXZjdHgsIGF2Y3R4LT51cmwpOwogICAgIGlmIChyZXQgPCAw KQotICAgICAgICByZXR1cm4gcmV0OworICAgICAgICBnb3RvIGVycm9yOwogCiAgICAgLyogR2V0 IGlucHV0IGRldmljZS4gKi8KICAgICBpZiAoY3R4LT5kbC0+UXVlcnlJbnRlcmZhY2UoSUlEX0lE ZWNrTGlua0lucHV0LCAodm9pZCAqKikgJmN0eC0+ZGxpKSAhPSBTX09LKSB7CkBAIC0xMzM2LDYg KzEzMzksNyBAQCBhdl9jb2xkIGludCBmZl9kZWNrbGlua19yZWFkX2hlYWRlcihBVkZvcm1hdENv bnRleHQgKmF2Y3R4KQogCiBlcnJvcjoKICAgICBmZl9kZWNrbGlua19jbGVhbnVwKGF2Y3R4KTsK KyAgICBhdl9mcmVlcCgmY2N0eC0+Y3R4KTsKICAgICByZXR1cm4gcmV0OwogfQogCi0tIAoyLjQ5 LjEKCgpGcm9tIDA5ZTlkNjFkMGExMmRlZTAyNzI5NjZjNGY4MmQwYTY1YWQ2OTZkNDIgTW9uIFNl cCAxNyAwMDowMDowMCAyMDAxCkZyb206ID0/VVRGLTg/cT9NYXJ0aW49MjBTdG9yc2o9QzM9QjY/ PSA8bWFydGluQG1hcnRpbi5zdD4KRGF0ZTogVGh1LCAyNiBTZXAgMjAyNCAxMzoxMzo0NiArMDMw MApTdWJqZWN0OiBbUEFUQ0ggMDE1LzQzNF0gY2hlY2thc20vc3dfcmdiOiBSZXZlcnQgdGVzdCBh ZGRpdGlvbnMgZnJvbQogZTE4YjQ2ZDk1ZmFkY2JhYWY0NTBiZGE5ZjE4NzE4NDlmMmIwYzU4NgpN SU1FLVZlcnNpb246IDEuMApDb250ZW50LVR5cGU6IHRleHQvcGxhaW47IGNoYXJzZXQ9VVRGLTgK Q29udGVudC1UcmFuc2Zlci1FbmNvZGluZzogOGJpdAoKVGhlIHVuYWxpZ25lZCB3aWR0aCB0ZXN0 IGNhc2VzIGZhaWwgb24gaTM4Njsgd2UgaGF2ZSBhbiBhc3NlbWJseQpmdW5jdGlvbiBvZiByZ2Iy NHRveXYxMiB3aGljaCBpcyBlbmFibGVkIG9ubHkgd2l0aGluCiIjaWYgQVJDSF9YODZfMzIgJiYg SEFWRV83UkVHUyIsIHdoaWNoIHNlZW1zIHRvIGZhaWwgdGhlc2UgbmV3CnRlc3QgY2FzZXMgZm9y IHVuYWxpZ25lZCB3aWR0aHMuCgpBcyB0aGF0IGFzc2VtYmx5IGZ1bmN0aW9uIGhhcyBleGlzdGVk IGZvciBhIGxvbmcgdGltZSBpbiB0aGF0IGZvcm0sCnRoZSBpc3N1ZSBwcm9iYWJseSBpc24ndCB2 ZXJ5IHJlY2VudCwgdGh1cyBza2lwIHRlc3RpbmcgdGhlc2UgY2FzZXMKZm9yIG5vdy4KCk9uY2Ug dGhlIGFzc2VtYmx5IGZ1bmN0aW9uIGhhcyBiZWVuIGZpeGVkLCB0aGVzZSB0ZXN0IGNhc2VzIGNh bgpiZSByZWFkZGVkLgoKU2lnbmVkLW9mZi1ieTogTWFydGluIFN0b3JzasO2IDxtYXJ0aW5AbWFy dGluLnN0PgooY2hlcnJ5IHBpY2tlZCBmcm9tIGNvbW1pdCAxNTdjZTIxOTM5NzcxYTgwNTRiNWVm ZmMwNTM4MWZhMzBiODI1YzFmKQpTaWduZWQtb2ZmLWJ5OiBNYXJ0aW4gU3RvcnNqw7YgPG1hcnRp bkBtYXJ0aW4uc3Q+Ci0tLQogdGVzdHMvY2hlY2thc20vc3dfcmdiLmMgfCAyICstCiAxIGZpbGUg Y2hhbmdlZCwgMSBpbnNlcnRpb24oKyksIDEgZGVsZXRpb24oLSkKCmRpZmYgLS1naXQgYS90ZXN0 cy9jaGVja2FzbS9zd19yZ2IuYyBiL3Rlc3RzL2NoZWNrYXNtL3N3X3JnYi5jCmluZGV4IDdhNmQ2 MjEzNzUuLmFmOTQzNDA3M2EgMTAwNjQ0Ci0tLSBhL3Rlc3RzL2NoZWNrYXNtL3N3X3JnYi5jCisr KyBiL3Rlc3RzL2NoZWNrYXNtL3N3X3JnYi5jCkBAIC0xMjksNyArMTI5LDcgQEAgc3RhdGljIGlu dCBjbXBfb2ZmX2J5X24oY29uc3QgdWludDhfdCAqcmVmLCBjb25zdCB1aW50OF90ICp0ZXN0LCBz aXplX3QgbiwgaW50IGEKIAogc3RhdGljIHZvaWQgY2hlY2tfcmdiMjR0b3l2MTIoc3RydWN0IFN3 c0NvbnRleHQgKmN0eCkKIHsKLSAgICBzdGF0aWMgY29uc3QgaW50IGlucHV0X3NpemVzW10gPSB7 MiwgMTYsIDEyOCwgNTQwLCBNQVhfTElORV9TSVpFLCAtTUFYX0xJTkVfU0laRX07CisgICAgc3Rh dGljIGNvbnN0IGludCBpbnB1dF9zaXplc1tdID0gezE2LCAxMjgsIDUxMiwgTUFYX0xJTkVfU0la RSwgLU1BWF9MSU5FX1NJWkV9OwogCiAgICAgTE9DQUxfQUxJR05FRF8zMih1aW50OF90LCBzcmMs IFtCVUZTSVpFICogM10pOwogICAgIExPQ0FMX0FMSUdORURfMzIodWludDhfdCwgYnVmX3lfMCwg W0JVRlNJWkVdKTsKLS0gCjIuNDkuMQoKCkZyb20gMGJhZDk1M2NjNTQ5MDVkMTE0NzMwOWNjNDVm ZWZmYjE3ZDdiMDJhNiBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKRnJvbTogTWljaGFlbCBOaWVk ZXJtYXllciA8bWljaGFlbEBuaWVkZXJtYXllci5jYz4KRGF0ZTogVHVlLCAyNCBTZXAgMjAyNCAy Mzo0MzowOSArMDIwMApTdWJqZWN0OiBbUEFUQ0ggMDE2LzQzNF0gYXZjb2RlYy9mZnYxZW5jOiBG aXggPjhiaXQgY29udGV4dCBzaXplCgpGaXhlczogVGlja2V0NTQwNQoKU3BvbnNvcmVkLWJ5OiBT b3ZlcmVpZ24gVGVjaCBGdW5kClNpZ25lZC1vZmYtYnk6IE1pY2hhZWwgTmllZGVybWF5ZXIgPG1p Y2hhZWxAbmllZGVybWF5ZXIuY2M+CihjaGVycnkgcGlja2VkIGZyb20gY29tbWl0IGE5YzgzZTQz ZjJmYzkxMjhlMjA4NTEyOTFiMDI3MGFkZDFhNmI5NWYpClNpZ25lZC1vZmYtYnk6IE1pY2hhZWwg TmllZGVybWF5ZXIgPG1pY2hhZWxAbmllZGVybWF5ZXIuY2M+Ci0tLQogbGliYXZjb2RlYy9mZnYx ZW5jLmMgfCAxOCArKysrKysrKysrLS0tLS0tLS0KIDEgZmlsZSBjaGFuZ2VkLCAxMCBpbnNlcnRp b25zKCspLCA4IGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL2xpYmF2Y29kZWMvZmZ2MWVuYy5j IGIvbGliYXZjb2RlYy9mZnYxZW5jLmMKaW5kZXggMWMzN2Y2MWFkYS4uYTZmNDA1Mjg5ZSAxMDA2 NDQKLS0tIGEvbGliYXZjb2RlYy9mZnYxZW5jLmMKKysrIGIvbGliYXZjb2RlYy9mZnYxZW5jLmMK QEAgLTcyNCwxOSArNzI0LDIxIEBAIHN0YXRpYyBhdl9jb2xkIGludCBlbmNvZGVfaW5pdChBVkNv ZGVjQ29udGV4dCAqYXZjdHgpCiAgICAgICAgICAgICBzLT5xdWFudF90YWJsZXNbMV1bMl1baV09 ICAgICAxMSoxMSpxdWFudDUgW2ldOwogICAgICAgICAgICAgcy0+cXVhbnRfdGFibGVzWzFdWzNd W2ldPSAgIDUqMTEqMTEqcXVhbnQ1IFtpXTsKICAgICAgICAgICAgIHMtPnF1YW50X3RhYmxlc1sx XVs0XVtpXT0gNSo1KjExKjExKnF1YW50NSBbaV07CisgICAgICAgICAgICBzLT5jb250ZXh0X2Nv dW50WzBdID0gKDExICogMTEgKiAxMSAgICAgICAgKyAxKSAvIDI7CisgICAgICAgICAgICBzLT5j b250ZXh0X2NvdW50WzFdID0gKDExICogMTEgKiA1ICogNSAqIDUgKyAxKSAvIDI7CiAgICAgICAg IH0gZWxzZSB7CiAgICAgICAgICAgICBzLT5xdWFudF90YWJsZXNbMF1bMF1baV09ICAgICAgICAg ICBxdWFudDlfMTBiaXRbaV07Ci0gICAgICAgICAgICBzLT5xdWFudF90YWJsZXNbMF1bMV1baV09 ICAgICAgICAxMSpxdWFudDlfMTBiaXRbaV07Ci0gICAgICAgICAgICBzLT5xdWFudF90YWJsZXNb MF1bMl1baV09ICAgICAxMSoxMSpxdWFudDlfMTBiaXRbaV07CisgICAgICAgICAgICBzLT5xdWFu dF90YWJsZXNbMF1bMV1baV09ICAgICAgICAgOSpxdWFudDlfMTBiaXRbaV07CisgICAgICAgICAg ICBzLT5xdWFudF90YWJsZXNbMF1bMl1baV09ICAgICAgIDkqOSpxdWFudDlfMTBiaXRbaV07CiAg ICAgICAgICAgICBzLT5xdWFudF90YWJsZXNbMV1bMF1baV09ICAgICAgICAgICBxdWFudDlfMTBi aXRbaV07Ci0gICAgICAgICAgICBzLT5xdWFudF90YWJsZXNbMV1bMV1baV09ICAgICAgICAxMSpx dWFudDlfMTBiaXRbaV07Ci0gICAgICAgICAgICBzLT5xdWFudF90YWJsZXNbMV1bMl1baV09ICAg ICAxMSoxMSpxdWFudDVfMTBiaXRbaV07Ci0gICAgICAgICAgICBzLT5xdWFudF90YWJsZXNbMV1b M11baV09ICAgNSoxMSoxMSpxdWFudDVfMTBiaXRbaV07Ci0gICAgICAgICAgICBzLT5xdWFudF90 YWJsZXNbMV1bNF1baV09IDUqNSoxMSoxMSpxdWFudDVfMTBiaXRbaV07CisgICAgICAgICAgICBz LT5xdWFudF90YWJsZXNbMV1bMV1baV09ICAgICAgICAgOSpxdWFudDlfMTBiaXRbaV07CisgICAg ICAgICAgICBzLT5xdWFudF90YWJsZXNbMV1bMl1baV09ICAgICAgIDkqOSpxdWFudDVfMTBiaXRb aV07CisgICAgICAgICAgICBzLT5xdWFudF90YWJsZXNbMV1bM11baV09ICAgICA1KjkqOSpxdWFu dDVfMTBiaXRbaV07CisgICAgICAgICAgICBzLT5xdWFudF90YWJsZXNbMV1bNF1baV09ICAgNSo1 KjkqOSpxdWFudDVfMTBiaXRbaV07CisgICAgICAgICAgICBzLT5jb250ZXh0X2NvdW50WzBdID0g KDkgKiA5ICogOSAgICAgICAgICsgMSkgLyAyOworICAgICAgICAgICAgcy0+Y29udGV4dF9jb3Vu dFsxXSA9ICg5ICogOSAqIDUgKiA1ICogNSArIDEpIC8gMjsKICAgICAgICAgfQogICAgIH0KLSAg ICBzLT5jb250ZXh0X2NvdW50WzBdID0gKDExICogMTEgKiAxMSAgICAgICAgKyAxKSAvIDI7Ci0g ICAgcy0+Y29udGV4dF9jb3VudFsxXSA9ICgxMSAqIDExICogNSAqIDUgKiA1ICsgMSkgLyAyOwog CiAgICAgaWYgKChyZXQgPSBmZl9mZnYxX2FsbG9jYXRlX2luaXRpYWxfc3RhdGVzKHMpKSA8IDAp CiAgICAgICAgIHJldHVybiByZXQ7Ci0tIAoyLjQ5LjEKCgpGcm9tIDY5Y2Y2OGY1YTA5OTliNTBh YTU5NWE5MmJhOGUyMTJlYTk5N2M0ZTUgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCkZyb206IE1p Y2hhZWwgTmllZGVybWF5ZXIgPG1pY2hhZWxAbmllZGVybWF5ZXIuY2M+CkRhdGU6IFN1biwgMjkg U2VwIDIwMjQgMTg6NDE6MTQgKzAyMDAKU3ViamVjdDogW1BBVENIIDAxNy80MzRdIFVwZGF0ZSBm b3IgNy4xCgpTaWduZWQtb2ZmLWJ5OiBNaWNoYWVsIE5pZWRlcm1heWVyIDxtaWNoYWVsQG5pZWRl cm1heWVyLmNjPgotLS0KIFJFTEVBU0UgICAgICB8IDIgKy0KIGRvYy9Eb3h5ZmlsZSB8IDIgKy0K IDIgZmlsZXMgY2hhbmdlZCwgMiBpbnNlcnRpb25zKCspLCAyIGRlbGV0aW9ucygtKQoKZGlmZiAt LWdpdCBhL1JFTEVBU0UgYi9SRUxFQVNFCmluZGV4IDcyZWM4OWRlMzAuLjBmMGZlZmFlNWEgMTAw NjQ0Ci0tLSBhL1JFTEVBU0UKKysrIGIvUkVMRUFTRQpAQCAtMSArMSBAQAotNy4wLmdpdAorNy4x CmRpZmYgLS1naXQgYS9kb2MvRG94eWZpbGUgYi9kb2MvRG94eWZpbGUKaW5kZXggNTcyYzUzMmRh NS4uYzZkYzMwNjE5NyAxMDA2NDQKLS0tIGEvZG9jL0RveHlmaWxlCisrKyBiL2RvYy9Eb3h5Zmls ZQpAQCAtMzgsNyArMzgsNyBAQCBQUk9KRUNUX05BTUUgICAgICAgICAgID0gRkZtcGVnCiAjIGNv dWxkIGJlIGhhbmR5IGZvciBhcmNoaXZpbmcgdGhlIGdlbmVyYXRlZCBkb2N1bWVudGF0aW9uIG9y IGlmIHNvbWUgdmVyc2lvbgogIyBjb250cm9sIHN5c3RlbSBpcyB1c2VkLgogCi1QUk9KRUNUX05V TUJFUiAgICAgICAgID0KK1BST0pFQ1RfTlVNQkVSICAgICAgICAgPSA3LjEKIAogIyBVc2luZyB0 aGUgUFJPSkVDVF9CUklFRiB0YWcgb25lIGNhbiBwcm92aWRlIGFuIG9wdGlvbmFsIG9uZSBsaW5l IGRlc2NyaXB0aW9uCiAjIGZvciBhIHByb2plY3QgdGhhdCBhcHBlYXJzIGF0IHRoZSB0b3Agb2Yg ZWFjaCBwYWdlIGFuZCBzaG91bGQgZ2l2ZSB2aWV3ZXIgYQotLSAKMi40OS4xCgoKRnJvbSBiMDhk Nzk2OWM1NTBhODA0YTU5NTExYzdiODNmMmRkOGNjMDQ5OWI4IE1vbiBTZXAgMTcgMDA6MDA6MDAg MjAwMQpGcm9tOiBNaWNoYWVsIE5pZWRlcm1heWVyIDxtaWNoYWVsQG5pZWRlcm1heWVyLmNjPgpE YXRlOiBGcmksIDIgTm92IDIwMTggMDE6MzY6MjEgKzAxMDAKU3ViamVjdDogW1BBVENIIDAxOC80 MzRdIFJFTEVBU0VfTk9URVM6IEJhc2VkIG9uIHRoZSB2ZXJzaW9uIGZyb20gNS4xCgpOYW1lIHN1 Z2dlc3RlZCBieSAzIHBlb3BsZSBvbiBNTAoKU2lnbmVkLW9mZi1ieTogTWljaGFlbCBOaWVkZXJt YXllciA8bWljaGFlbEBuaWVkZXJtYXllci5jYz4KLS0tCiBSRUxFQVNFX05PVEVTIHwgMTUgKysr KysrKysrKysrKysrCiAxIGZpbGUgY2hhbmdlZCwgMTUgaW5zZXJ0aW9ucygrKQogY3JlYXRlIG1v ZGUgMTAwNjQ0IFJFTEVBU0VfTk9URVMKCmRpZmYgLS1naXQgYS9SRUxFQVNFX05PVEVTIGIvUkVM RUFTRV9OT1RFUwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwLi44NTE3MDFh NzM1Ci0tLSAvZGV2L251bGwKKysrIGIvUkVMRUFTRV9OT1RFUwpAQCAtMCwwICsxLDE1IEBACisK KyAgICAgICAgICAgIOKUjOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKU gOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKU gOKUgOKUgOKUgOKUgOKUgOKUkAorICAgICAgICAgICAg4pSCIFJFTEVBU0UgTk9URVMgZm9yIEZG bXBlZyA3LjEgIlDDqXRlciIg4pSCCisgICAgICAgICAgICDilJTilIDilIDilIDilIDilIDilIDi lIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDi lIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilJgKKworICAgVGhlIEZGbXBl ZyBQcm9qZWN0IHByb3VkbHkgcHJlc2VudHMgRkZtcGVnIDcuMSAiUMOpdGVyIiwgYWJvdXQgNgor ICAgbW9udGhzIGFmdGVyIHRoZSByZWxlYXNlIG9mIEZGbXBlZyA3LjAuCisKKyAgIEEgY29tcGxl dGUgQ2hhbmdlbG9nIGlzIGF2YWlsYWJsZSBhdCB0aGUgcm9vdCBvZiB0aGUgcHJvamVjdCwgYW5k IHRoZQorICAgY29tcGxldGUgR2l0IGhpc3Rvcnkgb24gaHR0cHM6Ly9naXQuZmZtcGVnLm9yZy9n aXR3ZWIvZmZtcGVnLmdpdAorCisgICBXZSBob3BlIHlvdSB3aWxsIGxpa2UgdGhpcyByZWxlYXNl IGFzIG11Y2ggYXMgd2UgZW5qb3llZCB3b3JraW5nIG9uIGl0LCBhbmQKKyAgIGFzIHVzdWFsLCBp ZiB5b3UgaGF2ZSBhbnkgcXVlc3Rpb25zIGFib3V0IGl0LCBvciBhbnkgRkZtcGVnIHJlbGF0ZWQg dG9waWMsCisgICBmZWVsIGZyZWUgdG8gam9pbiB1cyBvbiB0aGUgI2ZmbXBlZyBJUkMgY2hhbm5l bCAob24gaXJjLmxpYmVyYS5jaGF0KSBvciBhc2sKKyAgIG9uIHRoZSBtYWlsaW5nLWxpc3RzLgot LSAKMi40OS4xCgoKRnJvbSAxMjY4MmViYTJlZjYwNDdmNThjYjM0YzA3NzI2MTI2MDI1YjZlNzUy IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBKYW1lcyBBbG1lciA8amFtcmlhbEBnbWFp bC5jb20+CkRhdGU6IE1vbiwgMzAgU2VwIDIwMjQgMTA6NTk6MDIgLTAzMDAKU3ViamVjdDogW1BB VENIIDAxOS80MzRdIGF2Zm9ybWF0L21vdjogZG9uJ3QgcmV0dXJuIHRoZSBsYXRlc3Qgc3RyZWFt IHdoZW4gYW4KIGl0ZW0gc3RyZWFtIGlzIGV4cGVjdGVkCgpPdGhlcndpc2UsIHRoaW5ncyBsaWtl IElDQyBwcm9maWxlcyBhcyByZWFkIGZyb20gdGhlIGNvbHIgYm94IG1lYW50IGZvciBhbiBpdGVt CndpdGggbm8gc3RyZWFtIChsaWtlIGEgZ3JpZCkgbWF5IGVuZCB1cCBiZWluZyBhZGRlZCB0byB0 aGUgd3Jvbmcgc3RyZWFtLgoKU2lnbmVkLW9mZi1ieTogSmFtZXMgQWxtZXIgPGphbXJpYWxAZ21h aWwuY29tPgooY2hlcnJ5IHBpY2tlZCBmcm9tIGNvbW1pdCAwNDE4MmI1NTQ5NGI0NDE1MjE0NmU2 YTZiY2Q1ZWI5NDAzZjAwNjI1KQotLS0KIGxpYmF2Zm9ybWF0L21vdi5jIHwgNiArKysrKy0KIDEg ZmlsZSBjaGFuZ2VkLCA1IGluc2VydGlvbnMoKyksIDEgZGVsZXRpb24oLSkKCmRpZmYgLS1naXQg YS9saWJhdmZvcm1hdC9tb3YuYyBiL2xpYmF2Zm9ybWF0L21vdi5jCmluZGV4IGEyMzMzYWMxZmQu LjViMGIyM2ZmYzEgMTAwNjQ0Ci0tLSBhL2xpYmF2Zm9ybWF0L21vdi5jCisrKyBiL2xpYmF2Zm9y bWF0L21vdi5jCkBAIC0xODgsNiArMTg4LDEwIEBAIHN0YXRpYyBpbnQgbW92X3JlYWRfbWFjX3N0 cmluZyhNT1ZDb250ZXh0ICpjLCBBVklPQ29udGV4dCAqcGIsIGludCBsZW4sCiAgICAgcmV0dXJu IHAgLSBkc3Q7CiB9CiAKKy8qKgorICogR2V0IHRoZSBjdXJyZW50IHN0cmVhbSBpbiB0aGUgcGFy c2luZyBwcm9jZXNzLiBUaGlzIGNhbiBlaXRoZXIgYmUgdGhlCisgKiBsYXRlc3Qgc3RyZWFtIGFk ZGVkIHRvIHRoZSBjb250ZXh0LCBvciB0aGUgc3RyZWFtIHJlZmVyZW5jZWQgYnkgYW4gaXRlbS4K KyAqLwogc3RhdGljIEFWU3RyZWFtICpnZXRfY3Vycl9zdChNT1ZDb250ZXh0ICpjKQogewogICAg IEFWU3RyZWFtICpzdCA9IE5VTEw7CkBAIC0yMDYsNyArMjEwLDcgQEAgc3RhdGljIEFWU3RyZWFt ICpnZXRfY3Vycl9zdChNT1ZDb250ZXh0ICpjKQogICAgICAgICBzdCA9IGl0ZW0tPnN0OwogICAg ICAgICBicmVhazsKICAgICB9Ci0gICAgaWYgKCFzdCkKKyAgICBpZiAoIXN0ICYmIGMtPmN1cl9p dGVtX2lkID09IC0xKQogICAgICAgICBzdCA9IGMtPmZjLT5zdHJlYW1zW2MtPmZjLT5uYl9zdHJl YW1zLTFdOwogCiAgICAgcmV0dXJuIHN0OwotLSAKMi40OS4xCgoKRnJvbSBmZjkzYzE4OThkNGIx ODA3ZjRhYzBkNTk4OTc4OTFjNWQzNDJhODY1IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQpGcm9t OiBaaGFvIFpoaWxpIDx6aGlsaXpoYW9AdGVuY2VudC5jb20+CkRhdGU6IE1vbiwgMjMgU2VwIDIw MjQgMjM6MTQ6MTkgKzA4MDAKU3ViamVjdDogW1BBVENIIDAyMC80MzRdIGF2Zm9ybWF0L2ludGVy bmFsOiBBZGQgZmZfZ2V0X2ZyYW1lX2ZpbGVuYW1lCk1JTUUtVmVyc2lvbjogMS4wCkNvbnRlbnQt VHlwZTogdGV4dC9wbGFpbjsgY2hhcnNldD1VVEYtOApDb250ZW50LVRyYW5zZmVyLUVuY29kaW5n OiA4Yml0CgpJdCdzIHNpbWlsYXIgdG8gYXZfZ2V0X2ZyYW1lX2ZpbGVuYW1lMiBidXQgd2l0aCBp bnQ2NF90IG51bWJlcgpzdXBwb3J0LiBNYWtlIGF2X2dldF9mcmFtZV9maWxlbmFtZSogYSB3cmFw cGVyIG92ZXIKZmZfZ2V0X2ZyYW1lX2ZpbGVuYW1lLgoKQ28tYXV0aG9yZWQtYnk6IEZpbGlwIE1h xaFpxIcgPHNob3V0cGxlbnR5QGdtYWlsLmNvbT4KU2lnbmVkLW9mZi1ieTogWmhhbyBaaGlsaSA8 emhpbGl6aGFvQHRlbmNlbnQuY29tPgooY2hlcnJ5IHBpY2tlZCBmcm9tIGNvbW1pdCBhMmQ5NjYz MjQxOTA4ZDZmNTU4YjhlNmIyNGJkNDJmMmFhZWJjMTQ0KQotLS0KIGxpYmF2Zm9ybWF0L2ludGVy bmFsLmggfCAxNiArKysrKysrKysrKysrKysrCiBsaWJhdmZvcm1hdC91dGlscy5jICAgIHwgMTEg KysrKysrKystLS0KIDIgZmlsZXMgY2hhbmdlZCwgMjQgaW5zZXJ0aW9ucygrKSwgMyBkZWxldGlv bnMoLSkKCmRpZmYgLS1naXQgYS9saWJhdmZvcm1hdC9pbnRlcm5hbC5oIGIvbGliYXZmb3JtYXQv aW50ZXJuYWwuaAppbmRleCA4ZTg5NzFiZmViLi42YzAyNmYwOGEwIDEwMDY0NAotLS0gYS9saWJh dmZvcm1hdC9pbnRlcm5hbC5oCisrKyBiL2xpYmF2Zm9ybWF0L2ludGVybmFsLmgKQEAgLTc0NSw2 ICs3NDUsMjIgQEAgdm9pZCBmZl9mb3JtYXRfc2V0X3VybChBVkZvcm1hdENvbnRleHQgKnMsIGNo YXIgKnVybCk7CiAgKi8KIGludCBmZl9tYXRjaF91cmxfZXh0KGNvbnN0IGNoYXIgKnVybCwgY29u c3QgY2hhciAqZXh0ZW5zaW9ucyk7CiAKKy8qKgorICogUmV0dXJuIGluICdidWYnIHRoZSBwYXRo IHdpdGggJyVkJyByZXBsYWNlZCBieSBhIG51bWJlci4KKyAqCisgKiBBbHNvIGhhbmRsZXMgdGhl ICclMG5kJyBmb3JtYXQgd2hlcmUgJ24nIGlzIHRoZSB0b3RhbCBudW1iZXIKKyAqIG9mIGRpZ2l0 cyBhbmQgJyUlJy4KKyAqCisgKiBAcGFyYW0gYnVmIGRlc3RpbmF0aW9uIGJ1ZmZlcgorICogQHBh cmFtIGJ1Zl9zaXplIGRlc3RpbmF0aW9uIGJ1ZmZlciBzaXplCisgKiBAcGFyYW0gcGF0aCBwYXRo IHdpdGggc3Vic3RpdHV0aW9uIHRlbXBsYXRlCisgKiBAcGFyYW0gbnVtYmVyIHRoZSBudW1iZXIg dG8gc3Vic3RpdHV0ZQorICogQHBhcmFtIGZsYWdzIEFWX0ZSQU1FX0ZJTEVOQU1FX0ZMQUdTXyoK KyAqIEByZXR1cm4gMCBpZiBPSywgLTEgb24gZm9ybWF0IGVycm9yCisgKi8KK2ludCBmZl9nZXRf ZnJhbWVfZmlsZW5hbWUoY2hhciAqYnVmLCBpbnQgYnVmX3NpemUsIGNvbnN0IGNoYXIgKnBhdGgs CisgICAgICAgICAgICAgICAgICAgICAgICAgIGludDY0X3QgbnVtYmVyLCBpbnQgZmxhZ3MpOwor CiBzdHJ1Y3QgRkZPdXRwdXRGb3JtYXQ7CiBzdHJ1Y3QgRkZJbnB1dEZvcm1hdDsKIHZvaWQgYXZw cml2X3JlZ2lzdGVyX2RldmljZXMoY29uc3Qgc3RydWN0IEZGT3V0cHV0Rm9ybWF0ICogY29uc3Qg b1tdLApkaWZmIC0tZ2l0IGEvbGliYXZmb3JtYXQvdXRpbHMuYyBiL2xpYmF2Zm9ybWF0L3V0aWxz LmMKaW5kZXggZTlkZWQ2MjdhZC4uZTg5MmU4YmRlNyAxMDA2NDQKLS0tIGEvbGliYXZmb3JtYXQv dXRpbHMuYworKysgYi9saWJhdmZvcm1hdC91dGlscy5jCkBAIC0yODAsNyArMjgwLDcgQEAgdWlu dDY0X3QgZmZfcGFyc2VfbnRwX3RpbWUodWludDY0X3QgbnRwX3RzKQogICAgIHJldHVybiAoc2Vj ICogMTAwMDAwMCkgKyB1c2VjOwogfQogCi1pbnQgYXZfZ2V0X2ZyYW1lX2ZpbGVuYW1lMihjaGFy ICpidWYsIGludCBidWZfc2l6ZSwgY29uc3QgY2hhciAqcGF0aCwgaW50IG51bWJlciwgaW50IGZs YWdzKQoraW50IGZmX2dldF9mcmFtZV9maWxlbmFtZShjaGFyICpidWYsIGludCBidWZfc2l6ZSwg Y29uc3QgY2hhciAqcGF0aCwgaW50NjRfdCBudW1iZXIsIGludCBmbGFncykKIHsKICAgICBjb25z dCBjaGFyICpwOwogICAgIGNoYXIgKnEsIGJ1ZjFbMjBdLCBjOwpAQCAtMzEzLDcgKzMxMyw3IEBA IGludCBhdl9nZXRfZnJhbWVfZmlsZW5hbWUyKGNoYXIgKmJ1ZiwgaW50IGJ1Zl9zaXplLCBjb25z dCBjaGFyICpwYXRoLCBpbnQgbnVtYmVyCiAgICAgICAgICAgICAgICAgcGVyY2VudGRfZm91bmQg PSAxOwogICAgICAgICAgICAgICAgIGlmIChudW1iZXIgPCAwKQogICAgICAgICAgICAgICAgICAg ICBuZCArPSAxOwotICAgICAgICAgICAgICAgIHNucHJpbnRmKGJ1ZjEsIHNpemVvZihidWYxKSwg IiUwKmQiLCBuZCwgbnVtYmVyKTsKKyAgICAgICAgICAgICAgICBzbnByaW50ZihidWYxLCBzaXpl b2YoYnVmMSksICIlMCoiIFBSSWQ2NCwgbmQsIG51bWJlcik7CiAgICAgICAgICAgICAgICAgbGVu ID0gc3RybGVuKGJ1ZjEpOwogICAgICAgICAgICAgICAgIGlmICgocSAtIGJ1ZiArIGxlbikgPiBi dWZfc2l6ZSAtIDEpCiAgICAgICAgICAgICAgICAgICAgIGdvdG8gZmFpbDsKQEAgLTMzOCw5ICsz MzgsMTQgQEAgZmFpbDoKICAgICByZXR1cm4gLTE7CiB9CiAKK2ludCBhdl9nZXRfZnJhbWVfZmls ZW5hbWUyKGNoYXIgKmJ1ZiwgaW50IGJ1Zl9zaXplLCBjb25zdCBjaGFyICpwYXRoLCBpbnQgbnVt YmVyLCBpbnQgZmxhZ3MpCit7CisgICAgcmV0dXJuIGZmX2dldF9mcmFtZV9maWxlbmFtZShidWYs IGJ1Zl9zaXplLCBwYXRoLCBudW1iZXIsIGZsYWdzKTsKK30KKwogaW50IGF2X2dldF9mcmFtZV9m aWxlbmFtZShjaGFyICpidWYsIGludCBidWZfc2l6ZSwgY29uc3QgY2hhciAqcGF0aCwgaW50IG51 bWJlcikKIHsKLSAgICByZXR1cm4gYXZfZ2V0X2ZyYW1lX2ZpbGVuYW1lMihidWYsIGJ1Zl9zaXpl LCBwYXRoLCBudW1iZXIsIDApOworICAgIHJldHVybiBmZl9nZXRfZnJhbWVfZmlsZW5hbWUoYnVm LCBidWZfc2l6ZSwgcGF0aCwgbnVtYmVyLCAwKTsKIH0KIAogdm9pZCBhdl91cmxfc3BsaXQoY2hh ciAqcHJvdG8sIGludCBwcm90b19zaXplLAotLSAKMi40OS4xCgoKRnJvbSA4YmU2ZTU2YTUzNmU5 NzhkNzc2NDBkYWRjN2MwMDg2MWIxOWMwZWU1IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQpGcm9t OiBaaGFvIFpoaWxpIDx6aGlsaXpoYW9AdGVuY2VudC5jb20+CkRhdGU6IFR1ZSwgMjQgU2VwIDIw MjQgMDA6MTY6MTMgKzA4MDAKU3ViamVjdDogW1BBVENIIDAyMS80MzRdIGF2Zm9ybWF0L2ltZzJl bmM6IEZpeCBpbnRlZ2VyIHRydW5jYXRpb24gd2hlbgogZnJhbWVfcHRzIGlzIGVuYWJsZWQKCkZp eCAjMTExOTQKClNpZ25lZC1vZmYtYnk6IFpoYW8gWmhpbGkgPHpoaWxpemhhb0B0ZW5jZW50LmNv bT4KKGNoZXJyeSBwaWNrZWQgZnJvbSBjb21taXQgZjU2YTU0Mzg3YjljZWE4ODRjYTEzOWU5Y2I5 OTNmZjY5ODliOGRlZikKLS0tCiBsaWJhdmZvcm1hdC9pbWcyZW5jLmMgfCA4ICsrKystLS0tCiAx IGZpbGUgY2hhbmdlZCwgNCBpbnNlcnRpb25zKCspLCA0IGRlbGV0aW9ucygtKQoKZGlmZiAtLWdp dCBhL2xpYmF2Zm9ybWF0L2ltZzJlbmMuYyBiL2xpYmF2Zm9ybWF0L2ltZzJlbmMuYwppbmRleCA1 MjZhMTFlNWVlLi40MTYzOGQ5MmI4IDEwMDY0NAotLS0gYS9saWJhdmZvcm1hdC9pbWcyZW5jLmMK KysrIGIvbGliYXZmb3JtYXQvaW1nMmVuYy5jCkBAIC0xNjAsMTMgKzE2MCwxMyBAQCBzdGF0aWMg aW50IHdyaXRlX3BhY2tldChBVkZvcm1hdENvbnRleHQgKnMsIEFWUGFja2V0ICpwa3QpCiAgICAg ICAgICAgICByZXR1cm4gQVZFUlJPUihFSU5WQUwpOwogICAgICAgICB9CiAgICAgfSBlbHNlIGlm IChpbWctPmZyYW1lX3B0cykgewotICAgICAgICBpZiAoYXZfZ2V0X2ZyYW1lX2ZpbGVuYW1lMihm aWxlbmFtZSwgc2l6ZW9mKGZpbGVuYW1lKSwgcy0+dXJsLCBwa3QtPnB0cywgQVZfRlJBTUVfRklM RU5BTUVfRkxBR1NfTVVMVElQTEUpIDwgMCkgeworICAgICAgICBpZiAoZmZfZ2V0X2ZyYW1lX2Zp bGVuYW1lKGZpbGVuYW1lLCBzaXplb2YoZmlsZW5hbWUpLCBzLT51cmwsIHBrdC0+cHRzLCBBVl9G UkFNRV9GSUxFTkFNRV9GTEFHU19NVUxUSVBMRSkgPCAwKSB7CiAgICAgICAgICAgICBhdl9sb2co cywgQVZfTE9HX0VSUk9SLCAiQ2Fubm90IHdyaXRlIGZpbGVuYW1lIGJ5IHB0cyBvZiB0aGUgZnJh bWVzLiIpOwogICAgICAgICAgICAgcmV0dXJuIEFWRVJST1IoRUlOVkFMKTsKICAgICAgICAgfQot ICAgIH0gZWxzZSBpZiAoYXZfZ2V0X2ZyYW1lX2ZpbGVuYW1lMihmaWxlbmFtZSwgc2l6ZW9mKGZp bGVuYW1lKSwgcy0+dXJsLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBp bWctPmltZ19udW1iZXIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEFW X0ZSQU1FX0ZJTEVOQU1FX0ZMQUdTX01VTFRJUExFKSA8IDApIHsKKyAgICB9IGVsc2UgaWYgKGZm X2dldF9mcmFtZV9maWxlbmFtZShmaWxlbmFtZSwgc2l6ZW9mKGZpbGVuYW1lKSwgcy0+dXJsLAor ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGltZy0+aW1nX251bWJlciwKKyAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBBVl9GUkFNRV9GSUxFTkFNRV9GTEFH U19NVUxUSVBMRSkgPCAwKSB7CiAgICAgICAgIGlmIChpbWctPmltZ19udW1iZXIgPT0gaW1nLT5z dGFydF9pbWdfbnVtYmVyKSB7CiAgICAgICAgICAgICBhdl9sb2cocywgQVZfTE9HX1dBUk5JTkcs ICJUaGUgc3BlY2lmaWVkIGZpbGVuYW1lICclcycgZG9lcyBub3QgY29udGFpbiBhbiBpbWFnZSBz ZXF1ZW5jZSBwYXR0ZXJuIG9yIGEgcGF0dGVybiBpcyBpbnZhbGlkLlxuIiwgcy0+dXJsKTsKICAg ICAgICAgICAgIGF2X2xvZyhzLCBBVl9MT0dfV0FSTklORywKLS0gCjIuNDkuMQoKCkZyb20gNGMw ZWYzYmZhZTE0NzM5MDJmOGVjOGVlMGExYTk1NjA3ODI3YjM5MCBNb24gU2VwIDE3IDAwOjAwOjAw IDIwMDEKRnJvbTogWmhhbyBaaGlsaSA8emhpbGl6aGFvQHRlbmNlbnQuY29tPgpEYXRlOiBGcmks IDQgT2N0IDIwMjQgMDE6MzA6NTcgKzA4MDAKU3ViamVjdDogW1BBVENIIDAyMi80MzRdIGF2Y29k ZWMvbWVkaWFjb2RlY2VuYzogRml4IGFjY2VzcyBvZiB1bmluaXRpYWxpemVkCiB2YWx1ZQoKV2hl biBjcm9wIGlzIHNraXBwZWQsIGF2X3N0cmxjYXRmIHdpbGwgYWNjZXNzIGBzdHJgIHdoaWNoIGlz bid0CmluaXRpYWxpemVkIHByb3Blcmx5LgoKU2lnbmVkLW9mZi1ieTogWmhhbyBaaGlsaSA8emhp bGl6aGFvQHRlbmNlbnQuY29tPgooY2hlcnJ5IHBpY2tlZCBmcm9tIGNvbW1pdCBlZmY5ZWQ3YmZm NDU5OThlYTM3MGUzZDZmNjI3NTI5YWQ0N2UyZTc0KQotLS0KIGxpYmF2Y29kZWMvbWVkaWFjb2Rl Y2VuYy5jIHwgMiArLQogMSBmaWxlIGNoYW5nZWQsIDEgaW5zZXJ0aW9uKCspLCAxIGRlbGV0aW9u KC0pCgpkaWZmIC0tZ2l0IGEvbGliYXZjb2RlYy9tZWRpYWNvZGVjZW5jLmMgYi9saWJhdmNvZGVj L21lZGlhY29kZWNlbmMuYwppbmRleCA2Y2EzOTY4YTI0Li5lNzZlYTgxMjM2IDEwMDY0NAotLS0g YS9saWJhdmNvZGVjL21lZGlhY29kZWNlbmMuYworKysgYi9saWJhdmNvZGVjL21lZGlhY29kZWNl bmMuYwpAQCAtMTM0LDcgKzEzNCw3IEBAIHN0YXRpYyBpbnQgZXh0cmFjdF9leHRyYWRhdGFfc3Vw cG9ydChBVkNvZGVjQ29udGV4dCAqYXZjdHgpCiBzdGF0aWMgaW50IG1lZGlhY29kZWNfaW5pdF9i c2YoQVZDb2RlY0NvbnRleHQgKmF2Y3R4KQogewogICAgIE1lZGlhQ29kZWNFbmNDb250ZXh0ICpz ID0gYXZjdHgtPnByaXZfZGF0YTsKLSAgICBjaGFyIHN0clsxMjhdOworICAgIGNoYXIgc3RyWzEy OF0gPSB7MH07CiAgICAgaW50IHJldDsKICAgICBpbnQgY3JvcF9yaWdodCA9IHMtPndpZHRoIC0g YXZjdHgtPndpZHRoOwogICAgIGludCBjcm9wX2JvdHRvbSA9IHMtPmhlaWdodCAtIGF2Y3R4LT5o ZWlnaHQ7Ci0tIAoyLjQ5LjEKCgpGcm9tIGUxNGEzYTRiMTE2MTIyODk5ZGM4ZDI1MWQ2Yjg5MGFl Mzc4Zjk4MDIgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCkZyb206IE1hcnZpbiBTY2hvbHogPGVw aXJhdDA3QGdtYWlsLmNvbT4KRGF0ZTogVHVlLCAxIE9jdCAyMDI0IDAyOjU3OjExICswMjAwClN1 YmplY3Q6IFtQQVRDSCAwMjMvNDM0XSBmZnRvb2xzOiBkbyBub3QgYWNjZXNzIG91dCBvZiBib3Vu ZHMgZmlsdGVyZ3JhcGgKClRoZSBsb2cgbWVzc2FnZSB3YXMgbG9nZ2VkIGZvciBgZmlsdGVyZ3Jh cGhzW2pdYCB3aGljaCB3b3VsZCBjYXVzZSBhCmhlYXAgYnVmZmVyIG92ZXJmbG93IGluIGNlcnRh aW4gY2lyY3Vtc3RhbmNlcy4KCkNvcnJlY3RseSBpdCBzaG91bGQgYmUgbG9nZ2VkIGZvciB0aGUg Y3VycmVudCBmaWx0ZXJncmFwaCwgc28ganVzdAp1c2UgYGZnYCBoZXJlLgoKKGNoZXJyeSBwaWNr ZWQgZnJvbSBjb21taXQgNWJlZWIzYTFmOTdkOGY2ZDQwNzZmZTgzYWFmNWUyZTU4NzFmOTQ1ZSkK LS0tCiBmZnRvb2xzL2ZmbXBlZ19maWx0ZXIuYyB8IDIgKy0KIDEgZmlsZSBjaGFuZ2VkLCAxIGlu c2VydGlvbigrKSwgMSBkZWxldGlvbigtKQoKZGlmZiAtLWdpdCBhL2ZmdG9vbHMvZmZtcGVnX2Zp bHRlci5jIGIvZmZ0b29scy9mZm1wZWdfZmlsdGVyLmMKaW5kZXggN2VjMzI4ZTA0ZS4uMmYyYjI5 NzkzMiAxMDA2NDQKLS0tIGEvZmZ0b29scy9mZm1wZWdfZmlsdGVyLmMKKysrIGIvZmZ0b29scy9m Zm1wZWdfZmlsdGVyLmMKQEAgLTE0MDgsNyArMTQwOCw3IEBAIGludCBmZ19maW5hbGlzZV9iaW5k aW5ncyh2b2lkKQogICAgICAgICBmb3IgKGludCBqID0gMDsgaiA8IGZnLT5uYl9vdXRwdXRzOyBq KyspIHsKICAgICAgICAgICAgIE91dHB1dEZpbHRlciAqb3V0cHV0ID0gZmctPm91dHB1dHNbal07 CiAgICAgICAgICAgICBpZiAoIW91dHB1dC0+Ym91bmQpIHsKLSAgICAgICAgICAgICAgICBhdl9s b2coZmlsdGVyZ3JhcGhzW2pdLCBBVl9MT0dfRkFUQUwsCisgICAgICAgICAgICAgICAgYXZfbG9n KGZnLCBBVl9MT0dfRkFUQUwsCiAgICAgICAgICAgICAgICAgICAgICAgICJGaWx0ZXIgJXMgaGFz IGFuIHVuY29ubmVjdGVkIG91dHB1dFxuIiwgb3V0cHV0LT5uYW1lKTsKICAgICAgICAgICAgICAg ICByZXR1cm4gQVZFUlJPUihFSU5WQUwpOwogICAgICAgICAgICAgfQotLSAKMi40OS4xCgoKRnJv bSA5YjA2MTI5MWFkM2MzODk0NGFiNjI4YmU1MmU5MzM4MDkwZDJmM2E3IE1vbiBTZXAgMTcgMDA6 MDA6MDAgMjAwMQpGcm9tOiBNYXJ2aW4gU2Nob2x6IDxlcGlyYXQwN0BnbWFpbC5jb20+CkRhdGU6 IFR1ZSwgMSBPY3QgMjAyNCAwMzoyMDowNCArMDIwMApTdWJqZWN0OiBbUEFUQ0ggMDI0LzQzNF0g ZmZ0b29sczogbG9nIHVuY29ubmVjdGVkIGZpbHRlciBvdXRwdXQgbGFiZWwKCihjaGVycnkgcGlj a2VkIGZyb20gY29tbWl0IGYyNWM5Y2MyMTNjN2UzZWI1ODVkMzMzOWViNzc1YjE2OTIxYzRkOTgp Ci0tLQogZmZ0b29scy9mZm1wZWdfZmlsdGVyLmMgfCA0ICsrKy0KIDEgZmlsZSBjaGFuZ2VkLCAz IGluc2VydGlvbnMoKyksIDEgZGVsZXRpb24oLSkKCmRpZmYgLS1naXQgYS9mZnRvb2xzL2ZmbXBl Z19maWx0ZXIuYyBiL2ZmdG9vbHMvZmZtcGVnX2ZpbHRlci5jCmluZGV4IDJmMmIyOTc5MzIuLjRl M2E0N2UzYjYgMTAwNjQ0Ci0tLSBhL2ZmdG9vbHMvZmZtcGVnX2ZpbHRlci5jCisrKyBiL2ZmdG9v bHMvZmZtcGVnX2ZpbHRlci5jCkBAIC0xNDA5LDcgKzE0MDksOSBAQCBpbnQgZmdfZmluYWxpc2Vf YmluZGluZ3Modm9pZCkKICAgICAgICAgICAgIE91dHB1dEZpbHRlciAqb3V0cHV0ID0gZmctPm91 dHB1dHNbal07CiAgICAgICAgICAgICBpZiAoIW91dHB1dC0+Ym91bmQpIHsKICAgICAgICAgICAg ICAgICBhdl9sb2coZmcsIEFWX0xPR19GQVRBTCwKLSAgICAgICAgICAgICAgICAgICAgICAgIkZp bHRlciAlcyBoYXMgYW4gdW5jb25uZWN0ZWQgb3V0cHV0XG4iLCBvdXRwdXQtPm5hbWUpOworICAg ICAgICAgICAgICAgICAgICAgICAiRmlsdGVyICclcycgaGFzIG91dHB1dCAlZCAoJXMpIHVuY29u bmVjdGVkXG4iLAorICAgICAgICAgICAgICAgICAgICAgICBvdXRwdXQtPm5hbWUsIGosCisgICAg ICAgICAgICAgICAgICAgICAgIG91dHB1dC0+bGlua2xhYmVsID8gKGNvbnN0IGNoYXIgKilvdXRw dXQtPmxpbmtsYWJlbCA6ICJ1bmxhYmVsZWQiKTsKICAgICAgICAgICAgICAgICByZXR1cm4gQVZF UlJPUihFSU5WQUwpOwogICAgICAgICAgICAgfQogICAgICAgICB9Ci0tIAoyLjQ5LjEKCgpGcm9t IDYzZjVjMDA3YTdkYTY5MjQ4ZjY2NGM5ODgzOTgyMDRjMjFlYWM3Y2YgTW9uIFNlcCAxNyAwMDow MDowMCAyMDAxCkZyb206IEd5YW4gRG9zaGkgPGZmbXBlZ0BneWFuaS5wcm8+CkRhdGU6IFNhdCwg NSBPY3QgMjAyNCAxMDowODozMSArMDUzMApTdWJqZWN0OiBbUEFUQ0ggMDI1LzQzNF0gYXZjb2Rl Yy9saWJ4MjY1OiB1bmJyZWFrIGJ1aWxkIGZvciBYMjY1X0JVSUxEID49IDIxMwoKRWFybGllciwg eDI2NSBtYWRlIGFuIEFQSSBjaGFuZ2UgdG8gc3VwcG9ydCBhbHBoYSBhbmQKb3RoZXIgbXVsdGlw bGUgbGF5ZXIgcGljdHVyZXMuIFdlIGFkZGVkIGd1YXJkcyB0byBhY2NvbW1vZGF0ZQp0aGF0IGlu IDFmODAxZGZkYjUKClRoZXkgaGF2ZSBub3cgcmV2ZXJ0ZWQgdGhhdCBBUEkgY2hhbmdlIGluCmh0 dHBzOi8vYml0YnVja2V0Lm9yZy9tdWx0aWNvcmV3YXJlL3gyNjVfZ2l0L2NvbW1pdHMvNzhlNWI3 MDNiMQoKVXBkYXRlZCBvdXIgd3JhcHBlciBndWFyZHMgdG8gdW5icmVhayBidWlsZCBhZ2Fpbi4K LS0tCiBsaWJhdmNvZGVjL2xpYngyNjUuYyB8IDYgKysrLS0tCiAxIGZpbGUgY2hhbmdlZCwgMyBp bnNlcnRpb25zKCspLCAzIGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL2xpYmF2Y29kZWMvbGli eDI2NS5jIGIvbGliYXZjb2RlYy9saWJ4MjY1LmMKaW5kZXggNTEzZjQ3MzMwNy4uNjNjYzQ5N2Y4 MyAxMDA2NDQKLS0tIGEvbGliYXZjb2RlYy9saWJ4MjY1LmMKKysrIGIvbGliYXZjb2RlYy9saWJ4 MjY1LmMKQEAgLTY2MSw3ICs2NjEsNyBAQCBzdGF0aWMgaW50IGxpYngyNjVfZW5jb2RlX2ZyYW1l KEFWQ29kZWNDb250ZXh0ICphdmN0eCwgQVZQYWNrZXQgKnBrdCwKIHsKICAgICBsaWJ4MjY1Q29u dGV4dCAqY3R4ID0gYXZjdHgtPnByaXZfZGF0YTsKICAgICB4MjY1X3BpY3R1cmUgeDI2NXBpYzsK LSNpZiBYMjY1X0JVSUxEID49IDIxMAorI2lmIChYMjY1X0JVSUxEID49IDIxMCkgJiYgKFgyNjVf QlVJTEQgPCAyMTMpCiAgICAgeDI2NV9waWN0dXJlIHgyNjVwaWNfbGF5ZXJzX291dFtNQVhfU0NB TEFCTEVfTEFZRVJTXTsKICAgICB4MjY1X3BpY3R1cmUqIHgyNjVwaWNfbHlycHRyX291dFtNQVhf U0NBTEFCTEVfTEFZRVJTXTsKICNlbHNlCkBAIC04MDUsNyArODA1LDcgQEAgc3RhdGljIGludCBs aWJ4MjY1X2VuY29kZV9mcmFtZShBVkNvZGVjQ29udGV4dCAqYXZjdHgsIEFWUGFja2V0ICpwa3Qs CiAjZW5kaWYKICAgICB9CiAKLSNpZiBYMjY1X0JVSUxEID49IDIxMAorI2lmIChYMjY1X0JVSUxE ID49IDIxMCkgJiYgKFgyNjVfQlVJTEQgPCAyMTMpCiAgICAgZm9yIChpID0gMDsgaSA8IE1BWF9T Q0FMQUJMRV9MQVlFUlM7IGkrKykKICAgICAgICAgeDI2NXBpY19seXJwdHJfb3V0W2ldID0gJngy NjVwaWNfbGF5ZXJzX291dFtpXTsKIApAQCAtODQ0LDcgKzg0NCw3IEBAIHN0YXRpYyBpbnQgbGli eDI2NV9lbmNvZGVfZnJhbWUoQVZDb2RlY0NvbnRleHQgKmF2Y3R4LCBBVlBhY2tldCAqcGt0LAog ICAgICAgICAgICAgcGt0LT5mbGFncyB8PSBBVl9QS1RfRkxBR19LRVk7CiAgICAgfQogCi0jaWYg WDI2NV9CVUlMRCA+PSAyMTAKKyNpZiAoWDI2NV9CVUlMRCA+PSAyMTApICYmIChYMjY1X0JVSUxE IDwgMjEzKQogICAgIHgyNjVwaWNfb3V0ID0geDI2NXBpY19seXJwdHJfb3V0WzBdOwogI2Vsc2UK ICAgICB4MjY1cGljX291dCA9ICZ4MjY1cGljX3NvbG9fb3V0OwotLSAKMi40OS4xCgoKRnJvbSA3 OTQyNDVmYTcxNTQ5M2UwMjc1YzE5MGQwYzM5MTdkZWNjZjJkN2E4IE1vbiBTZXAgMTcgMDA6MDA6 MDAgMjAwMQpGcm9tOiA9P1VURi04P3E/TWFydGluPTIwU3RvcnNqPUMzPUI2Pz0gPG1hcnRpbkBt YXJ0aW4uc3Q+CkRhdGU6IEZyaSwgNCBPY3QgMjAyNCAwMDozMDoyNCArMDMwMApTdWJqZWN0OiBb UEFUQ0ggMDI2LzQzNF0gYXJtOiBDb25zaXN0ZW50bHkgdXNlIHByb3BlciBpbnRlcndvcmtpbmcg ZnVuY3Rpb24KIHJldHVybnMKTUlNRS1WZXJzaW9uOiAxLjAKQ29udGVudC1UeXBlOiB0ZXh0L3Bs YWluOyBjaGFyc2V0PVVURi04CkNvbnRlbnQtVHJhbnNmZXItRW5jb2Rpbmc6IDhiaXQKClVzZSAi YnggbHIiLCBvciAicG9wIHtscn0iLCB3aGljaCBkbyBwcm9wZXIgbW9kZSBzd2l0Y2hpbmcKYmV0 d2VlbiB0aHVtYiBhbmQgYXJtIG1vZGVzLiBBIHBsYWluICJtb3YgcGMsIGxyIiBkb2VzIG5vdCBz d2l0Y2gKZnJvbSB0aHVtYiBtb2RlIHRvIGFybSBtb2RlICh3aGlsZSBpbiBhcm0gbW9kZSwgaXQg ZG9lcyBzd2l0Y2gKbW9kZSBmb3IgYSB0aHVtYiBjYWxsZXIpLgoKVGhpcyBpcyBub3JtYWxseSBu b3QgYW4gaXNzdWUsIGFzIENPTkZJR19USFVNQiBvbmx5IGlzIGVuYWJsZWQgaWYKdGhlIEMgY29t cGlsZXIgZGVmYXVsdHMgdG8gdGh1bWI7IGJ1dCBzdGljayB0byBwYXR0ZXJucyB0aGF0IGNhbgpk byBtb2RlIHN3aXRjaGluZyBpZiBuZWVkZWQsIGZvciBjb25zaXN0ZW5jeS4KClNpZ25lZC1vZmYt Ynk6IE1hcnRpbiBTdG9yc2rDtiA8bWFydGluQG1hcnRpbi5zdD4KKGNoZXJyeSBwaWNrZWQgZnJv bSBjb21taXQgNzdlNjI5MzczNTI2MmIyMGE4NmI1MDQ3Yjc3OTkxYTg2Y2Y0ZTllMSkKLS0tCiBs aWJzd3Jlc2FtcGxlL2FybS9yZXNhbXBsZS5TICB8IDggKysrKy0tLS0KIGxpYnN3c2NhbGUvYXJt L2hzY2FsZS5TICAgICAgIHwgMyArLS0KIGxpYnN3c2NhbGUvYXJtL291dHB1dC5TICAgICAgIHwg MyArLS0KIGxpYnN3c2NhbGUvYXJtL3l1djJyZ2JfbmVvbi5TIHwgMyArLS0KIDQgZmlsZXMgY2hh bmdlZCwgNyBpbnNlcnRpb25zKCspLCAxMCBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9saWJz d3Jlc2FtcGxlL2FybS9yZXNhbXBsZS5TIGIvbGlic3dyZXNhbXBsZS9hcm0vcmVzYW1wbGUuUwpp bmRleCAzY2U3NjIzMjQ2Li43OTFmNGNjMDE2IDEwMDY0NAotLS0gYS9saWJzd3Jlc2FtcGxlL2Fy bS9yZXNhbXBsZS5TCisrKyBiL2xpYnN3cmVzYW1wbGUvYXJtL3Jlc2FtcGxlLlMKQEAgLTMwLDcg KzMwLDcgQEAgZnVuY3Rpb24gZmZfcmVzYW1wbGVfY29tbW9uX2FwcGx5X2ZpbHRlcl94NF9mbG9h dF9uZW9uLCBleHBvcnQ9MQogICAgIHZwYWRkLmYzMiAgICAgICAgICAgZDAsIGQwLCBkMSAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBAIHBhaXIgYWRkaW5nIG9mIHRoZSA0eDMy LWJpdCBhY2N1bXVsYXRlZCB2YWx1ZXMKICAgICB2cGFkZC5mMzIgICAgICAgICAgIGQwLCBkMCwg ZDAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQCBwYWlyIGFkZGluZyBvZiB0 aGUgNHgzMi1iaXQgYWNjdW11bGF0b3IgdmFsdWVzCiAgICAgdnN0MS4zMiAgICAgICAgICAgICB7 ZDBbMF19LCBbcjBdICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEAgd3JpdGUgYWNj dW11bGF0b3IKLSAgICBtb3YgcGMsIGxyCisgICAgYnggICAgICAgICAgICAgICAgICBscgogZW5k ZnVuYwogCiBmdW5jdGlvbiBmZl9yZXNhbXBsZV9jb21tb25fYXBwbHlfZmlsdGVyX3g4X2Zsb2F0 X25lb24sIGV4cG9ydD0xCkBAIC00Niw3ICs0Niw3IEBAIGZ1bmN0aW9uIGZmX3Jlc2FtcGxlX2Nv bW1vbl9hcHBseV9maWx0ZXJfeDhfZmxvYXRfbmVvbiwgZXhwb3J0PTEKICAgICB2cGFkZC5mMzIg ICAgICAgICAgIGQwLCBkMCwgZDEgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg QCBwYWlyIGFkZGluZyBvZiB0aGUgNHgzMi1iaXQgYWNjdW11bGF0ZWQgdmFsdWVzCiAgICAgdnBh ZGQuZjMyICAgICAgICAgICBkMCwgZDAsIGQwICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIEAgcGFpciBhZGRpbmcgb2YgdGhlIDR4MzItYml0IGFjY3VtdWxhdG9yIHZhbHVlcwog ICAgIHZzdDEuMzIgICAgICAgICAgICAge2QwWzBdfSwgW3IwXSAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICBAIHdyaXRlIGFjY3VtdWxhdG9yCi0gICAgbW92IHBjLCBscgorICAgIGJ4 ICAgICAgICAgICAgICAgICAgbHIKIGVuZGZ1bmMKIAogZnVuY3Rpb24gZmZfcmVzYW1wbGVfY29t bW9uX2FwcGx5X2ZpbHRlcl94NF9zMTZfbmVvbiwgZXhwb3J0PTEKQEAgLTU5LDcgKzU5LDcgQEAg ZnVuY3Rpb24gZmZfcmVzYW1wbGVfY29tbW9uX2FwcGx5X2ZpbHRlcl94NF9zMTZfbmVvbiwgZXhw b3J0PTEKICAgICB2cGFkZC5zMzIgICAgICAgICAgIGQwLCBkMCwgZDEgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgQCBwYWlyIGFkZGluZyBvZiB0aGUgNHgzMi1iaXQgYWNjdW11 bGF0ZWQgdmFsdWVzCiAgICAgdnBhZGQuczMyICAgICAgICAgICBkMCwgZDAsIGQwICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIEAgcGFpciBhZGRpbmcgb2YgdGhlIDR4MzItYml0 IGFjY3VtdWxhdG9yIHZhbHVlcwogICAgIHZzdDEuMzIgICAgICAgICAgICAge2QwWzBdfSwgW3Iw XSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBAIHdyaXRlIGFjY3VtdWxhdG9yCi0g ICAgbW92IHBjLCBscgorICAgIGJ4ICAgICAgICAgICAgICAgICAgbHIKIGVuZGZ1bmMKIAogZnVu Y3Rpb24gZmZfcmVzYW1wbGVfY29tbW9uX2FwcGx5X2ZpbHRlcl94OF9zMTZfbmVvbiwgZXhwb3J0 PTEKQEAgLTczLDUgKzczLDUgQEAgZnVuY3Rpb24gZmZfcmVzYW1wbGVfY29tbW9uX2FwcGx5X2Zp bHRlcl94OF9zMTZfbmVvbiwgZXhwb3J0PTEKICAgICB2cGFkZC5zMzIgICAgICAgICAgIGQwLCBk MCwgZDEgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQCBwYWlyIGFkZGluZyBv ZiB0aGUgNHgzMi1iaXQgYWNjdW11bGF0ZWQgdmFsdWVzCiAgICAgdnBhZGQuczMyICAgICAgICAg ICBkMCwgZDAsIGQwICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEAgcGFpciBh ZGRpbmcgb2YgdGhlIDR4MzItYml0IGFjY3VtdWxhdG9yIHZhbHVlcwogICAgIHZzdDEuMzIgICAg ICAgICAgICAge2QwWzBdfSwgW3IwXSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBA IHdyaXRlIGFjY3VtdWxhdG9yCi0gICAgbW92IHBjLCBscgorICAgIGJ4ICAgICAgICAgICAgICAg ICAgbHIKIGVuZGZ1bmMKZGlmZiAtLWdpdCBhL2xpYnN3c2NhbGUvYXJtL2hzY2FsZS5TIGIvbGli c3dzY2FsZS9hcm0vaHNjYWxlLlMKaW5kZXggZGQ0ZDQ1Mzk1Ny4uNWMzNTUxYTBmMSAxMDA2NDQK LS0tIGEvbGlic3dzY2FsZS9hcm0vaHNjYWxlLlMKKysrIGIvbGlic3dzY2FsZS9hcm0vaHNjYWxl LlMKQEAgLTY1LDYgKzY1LDUgQEAgZnVuY3Rpb24gZmZfaHNjYWxlXzhfdG9fMTVfbmVvbiwgZXhw b3J0PTEKICAgICBzdWJzICAgICAgICAgICAgICAgIHIyLCAjMiAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgQCBkc3RXIC09IDIKICAgICBiZ3QgICAgICAgICAgICAgICAg IDFiICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQCBsb29wIHVu dGlsIGVuZCBvZiBsaW5lCiAgICAgdnBvcCAgICAgICAgICAgICAgICB7cTQtcTd9Ci0gICAgcG9w ICAgICAgICAgICAgICAgICB7cjQtcjEyLCBscn0KLSAgICBtb3YgcGMsIGxyCisgICAgcG9wICAg ICAgICAgICAgICAgICB7cjQtcjEyLCBwY30KIGVuZGZ1bmMKZGlmZiAtLWdpdCBhL2xpYnN3c2Nh bGUvYXJtL291dHB1dC5TIGIvbGlic3dzY2FsZS9hcm0vb3V0cHV0LlMKaW5kZXggNzA4NDZkZWUx Zi4uNWYxMDU4NWY4MSAxMDA2NDQKLS0tIGEvbGlic3dzY2FsZS9hcm0vb3V0cHV0LlMKKysrIGIv bGlic3dzY2FsZS9hcm0vb3V0cHV0LlMKQEAgLTczLDYgKzczLDUgQEAgZnVuY3Rpb24gZmZfeXV2 MnBsYW5lWF84X25lb24sIGV4cG9ydD0xCiAgICAgc3VicyAgICAgICAgICAgICAgICByNCwgcjQs ICM4ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEAgZHN0VyAtPSA4CiAgICAg Ymd0ICAgICAgICAgICAgICAgICAyYiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIEAgbG9vcCB1bnRpbCB3aWR0aCBpcyBjb25zdW1lZAogICAgIHZwb3AgICAgICAg ICAgICAgICAge3E0LXE3fQotICAgIHBvcCAgICAgICAgICAgICAgICAge3I0LXIxMiwgbHJ9Ci0g ICAgbW92ICAgICAgICAgICAgICAgICBwYywgbHIKKyAgICBwb3AgICAgICAgICAgICAgICAgIHty NC1yMTIsIHBjfQogZW5kZnVuYwpkaWZmIC0tZ2l0IGEvbGlic3dzY2FsZS9hcm0veXV2MnJnYl9u ZW9uLlMgYi9saWJzd3NjYWxlL2FybS95dXYycmdiX25lb24uUwppbmRleCA0NzQ0NjU0MjdkLi42 Nzc3ZDYyNWY5IDEwMDY0NAotLS0gYS9saWJzd3NjYWxlL2FybS95dXYycmdiX25lb24uUworKysg Yi9saWJzd3NjYWxlL2FybS95dXYycmdiX25lb24uUwpAQCAtMjYyLDggKzI2Miw3IEBAIGZ1bmN0 aW9uIGZmX1xpZm10XCgpX3RvX1xvZm10XCgpX25lb24sIGV4cG9ydD0xCiAgICAgaW5jcmVtZW50 X2FuZF90ZXN0X1xpZm10CiAgICAgYmd0ICAgICAgICAgICAgICAgICAxYgogICAgIHZwb3AgICAg ICAgICAgICAgICAge3E0LXE3fQotICAgIHBvcCAgICAgICAgICAgICAgICAge3I0LXIxMiwgbHJ9 Ci0gICAgbW92ICAgICAgICAgICAgICAgICBwYywgbHIKKyAgICBwb3AgICAgICAgICAgICAgICAg IHtyNC1yMTIsIHBjfQogZW5kZnVuYwogLmVuZG0KIAotLSAKMi40OS4xCgoKRnJvbSBjMGQxOWM2 NDBhMDBlZjE4OTlmNjIwMWM2NTlkMzBhZTQzMDY5MmRmIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAw MQpGcm9tOiA9P1VURi04P3E/TWFydGluPTIwU3RvcnNqPUMzPUI2Pz0gPG1hcnRpbkBtYXJ0aW4u c3Q+CkRhdGU6IEZyaSwgNCBPY3QgMjAyNCAxMDoyMjo1NyArMDMwMApTdWJqZWN0OiBbUEFUQ0gg MDI3LzQzNF0gY2hlY2thc206IGxsczogVXNlIHJlbGF0aXZlIHRvbGVyYW5jZXMgcmF0aGVyIHRo YW4KIGFic29sdXRlIG9uZXMKTUlNRS1WZXJzaW9uOiAxLjAKQ29udGVudC1UeXBlOiB0ZXh0L3Bs YWluOyBjaGFyc2V0PVVURi04CkNvbnRlbnQtVHJhbnNmZXItRW5jb2Rpbmc6IDhiaXQKCkRlcGVu ZGluZyBvbiB0aGUgbWFnbml0dWRlIG9mIHRoZSBvdXRwdXQgdmFsdWVzLCB0aGUgcG90ZW50aWFs CmVycm9ycyBjYW4gYmUgbGFyZ2VyLgoKVGhpcyBmaXhlcyBlcnJvcnMgaW4gdGhlIGxscyB0ZXN0 cyBvbiB4ODZfMzIgZm9yIHNvbWUgc2VlZHMsCm9ic2VydmVkIHdpdGggR0NDIDExIChvbiBVYnVu dHUgMjIuMDQsIHdpdGggdGhlIGRpc3RybyBjb21waWxlciwKd2l0aCAtbTMyKS4KClNpZ25lZC1v ZmYtYnk6IE1hcnRpbiBTdG9yc2rDtiA8bWFydGluQG1hcnRpbi5zdD4KKGNoZXJyeSBwaWNrZWQg ZnJvbSBjb21taXQgNjY2ODI2OGUxNmI2ZDFhNjk5Mjg0MGRjY2IxMmVmZmVjZTJlNzIwMikKLS0t CiB0ZXN0cy9jaGVja2FzbS9sbHMuYyB8IDE0ICsrKysrKysrKy0tLS0tCiAxIGZpbGUgY2hhbmdl ZCwgOSBpbnNlcnRpb25zKCspLCA1IGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL3Rlc3RzL2No ZWNrYXNtL2xscy5jIGIvdGVzdHMvY2hlY2thc20vbGxzLmMKaW5kZXggMWUwYjU2OTc0Yy4uNDI1 MTAzMmUwMiAxMDA2NDQKLS0tIGEvdGVzdHMvY2hlY2thc20vbGxzLmMKKysrIGIvdGVzdHMvY2hl Y2thc20vbGxzLmMKQEAgLTQ2LDI4ICs0NiwzMiBAQCBzdGF0aWMgdm9pZCB0ZXN0X3VwZGF0ZShM TFNNb2RlbCAqbGxzLCBjb25zdCBkb3VibGUgKnZhcikKICAgICBjYWxsX25ldyhsbHMsIHZhcik7 CiAKICAgICBmb3IgKHNpemVfdCBpID0gMDsgaSA8IGxscy0+aW5kZXBfY291bnQ7IGkrKykKLSAg ICAgICAgZm9yIChzaXplX3QgaiA9IGk7IGogPCBsbHMtPmluZGVwX2NvdW50OyBqKyspCisgICAg ICAgIGZvciAoc2l6ZV90IGogPSBpOyBqIDwgbGxzLT5pbmRlcF9jb3VudDsgaisrKSB7CisgICAg ICAgICAgICBkb3VibGUgZXBzID0gRkZNQVgoMiAqIERCTF9FUFNJTE9OICogZmFicyhyZWZjb3Zh cltpXVtqXSksCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOCAqIERCTF9FUFNJTE9O KTsKICAgICAgICAgICAgIGlmICghZG91YmxlX25lYXJfYWJzX2VwcyhyZWZjb3ZhcltpXVtqXSwg bGxzLT5jb3ZhcmlhbmNlW2ldW2pdLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIDggKiBEQkxfRVBTSUxPTikpIHsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICBlcHMpKSB7CiAgICAgICAgICAgICAgICAgZnByaW50ZihzdGRlcnIsICIlenUsICV6dTog JS0gLjEyZiAtICUtIC4xMmYgPSAlIC4xMmdcbiIsIGksIGosCiAgICAgICAgICAgICAgICAgICAg ICAgICByZWZjb3ZhcltpXVtqXSwgbGxzLT5jb3ZhcmlhbmNlW2ldW2pdLAogICAgICAgICAgICAg ICAgICAgICAgICAgcmVmY292YXJbaV1bal0gLSBsbHMtPmNvdmFyaWFuY2VbaV1bal0pOwogICAg ICAgICAgICAgICAgIGZhaWwoKTsKICAgICAgICAgICAgIH0KKyAgICAgICAgfQogCiAgICAgYmVu Y2hfbmV3KGxscywgdmFyKTsKIH0KIAotI2RlZmluZSBFUFMgMC4yCiBzdGF0aWMgdm9pZCB0ZXN0 X2V2YWx1YXRlKExMU01vZGVsICpsbHMsIGNvbnN0IGRvdWJsZSAqcGFyYW0sIGludCBvcmRlcikK IHsKLSAgICBkb3VibGUgcmVmcHJvZCwgbmV3cHJvZDsKKyAgICBkb3VibGUgcmVmcHJvZCwgbmV3 cHJvZCwgZXBzOwogICAgIGRlY2xhcmVfZnVuY19mbG9hdChkb3VibGUsIExMU01vZGVsICosIGNv bnN0IGRvdWJsZSAqLCBpbnQpOwogCiAgICAgcmVmcHJvZCA9IGNhbGxfcmVmKGxscywgcGFyYW0s IG9yZGVyKTsKICAgICBuZXdwcm9kID0gY2FsbF9uZXcobGxzLCBwYXJhbSwgb3JkZXIpOwogCi0g ICAgaWYgKCFkb3VibGVfbmVhcl9hYnNfZXBzKHJlZnByb2QsIG5ld3Byb2QsIEVQUykpIHsKKyAg ICBlcHMgPSBGRk1BWCgyICogREJMX0VQU0lMT04gKiBmYWJzKHJlZnByb2QpLCAwLjIpOworCisg ICAgaWYgKCFkb3VibGVfbmVhcl9hYnNfZXBzKHJlZnByb2QsIG5ld3Byb2QsIGVwcykpIHsKICAg ICAgICAgZnByaW50ZihzdGRlcnIsICIlLSAuMTJmIC0gJS0gLjEyZiA9ICUgLjEyZ1xuIiwKICAg ICAgICAgICAgICAgICByZWZwcm9kLCBuZXdwcm9kLCByZWZwcm9kIC0gbmV3cHJvZCk7CiAgICAg ICAgIGZhaWwoKTsKLS0gCjIuNDkuMQoKCkZyb20gMGI1NTU5Mzc4YjFlOWMzMDllZjg3NmFlMzA5 YTYxYjIzMzk4MzU1YiBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKRnJvbTogPT9VVEYtOD9xP01h cnRpbj0yMFN0b3Jzaj1DMz1CNj89IDxtYXJ0aW5AbWFydGluLnN0PgpEYXRlOiBUdWUsIDEgT2N0 IDIwMjQgMjM6NTk6NDEgKzAzMDAKU3ViamVjdDogW1BBVENIIDAyOC80MzRdIGxpYmF2Y29kZWM6 IHg4NjogUmVtb3ZlIGFuIGV4cGxpY2l0IGluY2x1ZGUgb2YKIGNvbmZpZy5hc20KTUlNRS1WZXJz aW9uOiAxLjAKQ29udGVudC1UeXBlOiB0ZXh0L3BsYWluOyBjaGFyc2V0PVVURi04CkNvbnRlbnQt VHJhbnNmZXItRW5jb2Rpbmc6IDhiaXQKClRoaXMgZmlsZSBpcyBuZXZlciBpbmNsdWRlZCBleHBs aWNpdGx5IGFueXdoZXJlIGVsc2UsIGl0J3Mgb25seQppbmNsdWRlZCBpbXBsaWNpdGx5IGJ5IHBh c3NpbmcgLVBjb25maWcuYXNtIG9uIHRoZSBjb21tYW5kIGxpbmUuCgpTaWduZWQtb2ZmLWJ5OiBN YXJ0aW4gU3RvcnNqw7YgPG1hcnRpbkBtYXJ0aW4uc3Q+CihjaGVycnkgcGlja2VkIGZyb20gY29t bWl0IDVjNGVkZTZiNGZmNmZhODgxOGYwY2EzZjY4NmFhNTRjMWMyMDkyYjgpCi0tLQogbGliYXZj b2RlYy94ODYvY2VsdF9wdnFfc2VhcmNoLmFzbSB8IDEgLQogMSBmaWxlIGNoYW5nZWQsIDEgZGVs ZXRpb24oLSkKCmRpZmYgLS1naXQgYS9saWJhdmNvZGVjL3g4Ni9jZWx0X3B2cV9zZWFyY2guYXNt IGIvbGliYXZjb2RlYy94ODYvY2VsdF9wdnFfc2VhcmNoLmFzbQppbmRleCBlOWJmZjAyNjUwLi4z YzY5NzRkMzcwIDEwMDY0NAotLS0gYS9saWJhdmNvZGVjL3g4Ni9jZWx0X3B2cV9zZWFyY2guYXNt CisrKyBiL2xpYmF2Y29kZWMveDg2L2NlbHRfcHZxX3NlYXJjaC5hc20KQEAgLTIwLDcgKzIwLDYg QEAKIDsqIEZvdW5kYXRpb24sIEluYy4sIDUxIEZyYW5rbGluIFN0cmVldCwgRmlmdGggRmxvb3Is IEJvc3RvbiwgTUEgMDIxMTAtMTMwMSBVU0EKIDsqKioqKioqKioqKioqKioqKioqKioqKioqKioq KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKIAotJWlu Y2x1ZGUgImNvbmZpZy5hc20iCiAlaW5jbHVkZSAibGliYXZ1dGlsL3g4Ni94ODZ1dGlsLmFzbSIK IAogJWlmZGVmIF9fTkFTTV9WRVJfXwotLSAKMi40OS4xCgoKRnJvbSA1YzU5ZDk3ZThhYjkwZGFl ZmExOThkY2ZiMGVlNGZkZjljNTdlMzdmIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQpGcm9tOiA9 P1VURi04P3E/SW5nbz0yMEJyPUMzPUJDY2tsPz0gPGliQG9kZG5ldC5kZT4KRGF0ZTogV2VkLCA5 IE9jdCAyMDI0IDA0OjQzOjAxICswMjAwClN1YmplY3Q6IFtQQVRDSCAwMjkvNDM0XSBhdmNvZGVj L3ZhYXBpX2VuY29kZTogZml4IGNvbXBpbGF0aW9uIHdpdGhvdXQKIENPTkZJR19WQUFQSV8xCk1J TUUtVmVyc2lvbjogMS4wCkNvbnRlbnQtVHlwZTogdGV4dC9wbGFpbjsgY2hhcnNldD1VVEYtOApD b250ZW50LVRyYW5zZmVyLUVuY29kaW5nOiA4Yml0CgpUaGlzIGFkZHMgVkFBUElFbmNvZGVDb250 ZXh0ICpjdHggdGhhdCBoYXMgYmVlbiByZW1vdmVkCmluIGFhODIzNDBiMGNjZGRlNDk1NWZiYTQx YjhkZTVlNDUzNDhlY2QxMWQuCgpTaWduZWQtb2ZmLWJ5OiBJbmdvIEJyw7xja2wgPGliQG9kZG5l dC5kZT4KKGNoZXJyeSBwaWNrZWQgZnJvbSBjb21taXQgNTU1N2M2NzNlYTc4M2E0OGU4Yjk3YzJi NzQwYjIyZWVlY2E2Mzk5YikKLS0tCiBsaWJhdmNvZGVjL3ZhYXBpX2VuY29kZV9oMjY0LmMgfCAz ICsrKwogMSBmaWxlIGNoYW5nZWQsIDMgaW5zZXJ0aW9ucygrKQoKZGlmZiAtLWdpdCBhL2xpYmF2 Y29kZWMvdmFhcGlfZW5jb2RlX2gyNjQuYyBiL2xpYmF2Y29kZWMvdmFhcGlfZW5jb2RlX2gyNjQu YwppbmRleCBmYjg3YjY4YmVjLi5lZDIwYjljZDI0IDEwMDY0NAotLS0gYS9saWJhdmNvZGVjL3Zh YXBpX2VuY29kZV9oMjY0LmMKKysrIGIvbGliYXZjb2RlYy92YWFwaV9lbmNvZGVfaDI2NC5jCkBA IC00MDYsNiArNDA2LDkgQEAgc3RhdGljIGludCB2YWFwaV9lbmNvZGVfaDI2NF9pbml0X3BpY3R1 cmVfcGFyYW1zKEFWQ29kZWNDb250ZXh0ICphdmN0eCwKICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICBGRkhXQmFzZUVuY29kZVBpY3R1cmUgKnBpYykKIHsK ICAgICBGRkhXQmFzZUVuY29kZUNvbnRleHQgICAgICAgKmJhc2VfY3R4ID0gYXZjdHgtPnByaXZf ZGF0YTsKKyNpZiAhQ09ORklHX1ZBQVBJXzEKKyAgICBWQUFQSUVuY29kZUNvbnRleHQgICAgICAg ICAgICAgICAqY3R4ID0gYXZjdHgtPnByaXZfZGF0YTsKKyNlbmRpZgogICAgIFZBQVBJRW5jb2Rl SDI2NENvbnRleHQgICAgICAgICAgKnByaXYgPSBhdmN0eC0+cHJpdl9kYXRhOwogICAgIFZBQVBJ RW5jb2RlUGljdHVyZSAgICAgICAgICp2YWFwaV9waWMgPSBwaWMtPnByaXY7CiAgICAgVkFBUElF bmNvZGVIMjY0UGljdHVyZSAgICAgICAgICAqaHBpYyA9IHBpYy0+Y29kZWNfcHJpdjsKLS0gCjIu NDkuMQoKCkZyb20gMzJkM2U2NzcxNzFlNDY4MjhjMmJmNTg1ZmEyNWFlNzMzYWNlNmQwZSBNb24g U2VwIDE3IDAwOjAwOjAwIDIwMDEKRnJvbTogTmljb2xhcyBHYXVsbGllciA8bmljb2xhcy5nYXVs bGllckBjamkucGFyaXM+CkRhdGU6IEZyaSwgNCBPY3QgMjAyNCAxMTowMjo0OSArMDIwMApTdWJq ZWN0OiBbUEFUQ0ggMDMwLzQzNF0gYXZmaWx0ZXIvZnJhbWVzeW5jOiBmaXggZm9yd2FyZCBFT0Yg cHRzCgpOb3RlMTogd2hlbiB0aGUgRU9GIHB0cyBpcyBub3QgYWNjdXJhdGUgZW5vdWdoLCB0aGUg bGFzdCBmcmFtZQpjYW4gYmUgZHJvcHBlZCBieSB2Zl9mcHMgd2l0aCBkZWZhdWx0IHJvdW5kaW5n LgoKTm90ZTI6IHZmX3NjYWxlIHVzZSBmcmFtZXN5bmMgc2luY2UgZTgyYTM5OTdjZGQ2YzA4OTQ4 NjliMzNiYTQyNDMwYWMzLApzbyB0aGlzIGlzIGEgdmVyeSBjb21tb25wbGFjZSBzY2VuYXJpby4K CkZvciBleGFtcGxlOgouL2ZmcHJvYmUgLWYgbGF2ZmkgdGVzdHNyYz1kPTEsc2NhbGUsZnBzIC1v ZiBmbGF0IFwKICAtY291bnRfZnJhbWVzIC1zaG93X2VudHJpZXMgc3RyZWFtPW5iX3JlYWRfZnJh bWVzCgpCZWZvcmU6CnN0cmVhbXMuc3RyZWFtLjAubmJfcmVhZF9mcmFtZXM9IjI0IgoKQWZ0ZXI6 CnN0cmVhbXMuc3RyZWFtLjAubmJfcmVhZF9mcmFtZXM9IjI1IgoKU2lnbmVkLW9mZi1ieTogQW50 b24gS2hpcm5vdiA8YW50b25Aa2hpcm5vdi5uZXQ+CihjaGVycnkgcGlja2VkIGZyb20gY29tbWl0 IGRlOTc2ZWFmMzBkZjMzZTg2YzU4YzhjOWFmOTkwNWMxZDg0NDE5MzQpClNpZ25lZC1vZmYtYnk6 IEFudG9uIEtoaXJub3YgPGFudG9uQGtoaXJub3YubmV0PgotLS0KIGxpYmF2ZmlsdGVyL2ZyYW1l c3luYy5jIHwgMjMgKysrKysrKysrKystLS0tLS0tLS0tLS0KIDEgZmlsZSBjaGFuZ2VkLCAxMSBp bnNlcnRpb25zKCspLCAxMiBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9saWJhdmZpbHRlci9m cmFtZXN5bmMuYyBiL2xpYmF2ZmlsdGVyL2ZyYW1lc3luYy5jCmluZGV4IDhlMDZlMGU3MDAuLjBk NTc3OWY4MzAgMTAwNjQ0Ci0tLSBhL2xpYmF2ZmlsdGVyL2ZyYW1lc3luYy5jCisrKyBiL2xpYmF2 ZmlsdGVyL2ZyYW1lc3luYy5jCkBAIC0xMDMsMTQgKzEwMywxNCBAQCBpbnQgZmZfZnJhbWVzeW5j X2luaXQoRkZGcmFtZVN5bmMgKmZzLCBBVkZpbHRlckNvbnRleHQgKnBhcmVudCwgdW5zaWduZWQg bmJfaW4pCiAgICAgcmV0dXJuIDA7CiB9CiAKLXN0YXRpYyB2b2lkIGZyYW1lc3luY19lb2YoRkZG cmFtZVN5bmMgKmZzKQorc3RhdGljIHZvaWQgZnJhbWVzeW5jX2VvZihGRkZyYW1lU3luYyAqZnMs IGludDY0X3QgcHRzKQogewogICAgIGZzLT5lb2YgPSAxOwogICAgIGZzLT5mcmFtZV9yZWFkeSA9 IDA7Ci0gICAgZmZfb3V0bGlua19zZXRfc3RhdHVzKGZzLT5wYXJlbnQtPm91dHB1dHNbMF0sIEFW RVJST1JfRU9GLCBBVl9OT1BUU19WQUxVRSk7CisgICAgZmZfb3V0bGlua19zZXRfc3RhdHVzKGZz LT5wYXJlbnQtPm91dHB1dHNbMF0sIEFWRVJST1JfRU9GLCBwdHMpOwogfQogCi1zdGF0aWMgdm9p ZCBmcmFtZXN5bmNfc3luY19sZXZlbF91cGRhdGUoRkZGcmFtZVN5bmMgKmZzKQorc3RhdGljIHZv aWQgZnJhbWVzeW5jX3N5bmNfbGV2ZWxfdXBkYXRlKEZGRnJhbWVTeW5jICpmcywgaW50NjRfdCBl b2ZfcHRzKQogewogICAgIHVuc2lnbmVkIGksIGxldmVsID0gMDsKIApAQCAtMTMxLDcgKzEzMSw3 IEBAIHN0YXRpYyB2b2lkIGZyYW1lc3luY19zeW5jX2xldmVsX3VwZGF0ZShGRkZyYW1lU3luYyAq ZnMpCiAgICAgaWYgKGxldmVsKQogICAgICAgICBmcy0+c3luY19sZXZlbCA9IGxldmVsOwogICAg IGVsc2UKLSAgICAgICAgZnJhbWVzeW5jX2VvZihmcyk7CisgICAgICAgIGZyYW1lc3luY19lb2Yo ZnMsIGVvZl9wdHMpOwogfQogCiBpbnQgZmZfZnJhbWVzeW5jX2NvbmZpZ3VyZShGRkZyYW1lU3lu YyAqZnMpCkBAIC0xNzksNyArMTc5LDcgQEAgaW50IGZmX2ZyYW1lc3luY19jb25maWd1cmUoRkZG cmFtZVN5bmMgKmZzKQogICAgIGZvciAoaSA9IDA7IGkgPCBmcy0+bmJfaW47IGkrKykKICAgICAg ICAgZnMtPmluW2ldLnB0cyA9IGZzLT5pbltpXS5wdHNfbmV4dCA9IEFWX05PUFRTX1ZBTFVFOwog ICAgIGZzLT5zeW5jX2xldmVsID0gVUlOVF9NQVg7Ci0gICAgZnJhbWVzeW5jX3N5bmNfbGV2ZWxf dXBkYXRlKGZzKTsKKyAgICBmcmFtZXN5bmNfc3luY19sZXZlbF91cGRhdGUoZnMsIEFWX05PUFRT X1ZBTFVFKTsKIAogICAgIHJldHVybiAwOwogfQpAQCAtMjAwLDcgKzIwMCw3IEBAIHN0YXRpYyBp bnQgZnJhbWVzeW5jX2FkdmFuY2UoRkZGcmFtZVN5bmMgKmZzKQogICAgICAgICAgICAgaWYgKGZz LT5pbltpXS5oYXZlX25leHQgJiYgZnMtPmluW2ldLnB0c19uZXh0IDwgcHRzKQogICAgICAgICAg ICAgICAgIHB0cyA9IGZzLT5pbltpXS5wdHNfbmV4dDsKICAgICAgICAgaWYgKHB0cyA9PSBJTlQ2 NF9NQVgpIHsKLSAgICAgICAgICAgIGZyYW1lc3luY19lb2YoZnMpOworICAgICAgICAgICAgZnJh bWVzeW5jX2VvZihmcywgQVZfTk9QVFNfVkFMVUUpOwogICAgICAgICAgICAgYnJlYWs7CiAgICAg ICAgIH0KICAgICAgICAgZm9yIChpID0gMDsgaSA8IGZzLT5uYl9pbjsgaSsrKSB7CkBAIC0yMjIs NyArMjIyLDcgQEAgc3RhdGljIGludCBmcmFtZXN5bmNfYWR2YW5jZShGRkZyYW1lU3luYyAqZnMp CiAgICAgICAgICAgICAgICAgICAgIGZzLT5mcmFtZV9yZWFkeSA9IDE7CiAgICAgICAgICAgICAg ICAgaWYgKGZzLT5pbltpXS5zdGF0ZSA9PSBTVEFURV9FT0YgJiYKICAgICAgICAgICAgICAgICAg ICAgZnMtPmluW2ldLmFmdGVyID09IEVYVF9TVE9QKQotICAgICAgICAgICAgICAgICAgICBmcmFt ZXN5bmNfZW9mKGZzKTsKKyAgICAgICAgICAgICAgICAgICAgZnJhbWVzeW5jX2VvZihmcywgQVZf Tk9QVFNfVkFMVUUpOwogICAgICAgICAgICAgfQogICAgICAgICB9CiAgICAgICAgIGlmIChmcy0+ ZnJhbWVfcmVhZHkpCkBAIC0yNTUsMTUgKzI1NSwxNCBAQCBzdGF0aWMgdm9pZCBmcmFtZXN5bmNf aW5qZWN0X2ZyYW1lKEZGRnJhbWVTeW5jICpmcywgdW5zaWduZWQgaW4sIEFWRnJhbWUgKmZyYW1l KQogICAgIGZzLT5pbltpbl0uaGF2ZV9uZXh0ICA9IDE7CiB9CiAKLXN0YXRpYyB2b2lkIGZyYW1l c3luY19pbmplY3Rfc3RhdHVzKEZGRnJhbWVTeW5jICpmcywgdW5zaWduZWQgaW4sIGludCBzdGF0 dXMsIGludDY0X3QgcHRzKQorc3RhdGljIHZvaWQgZnJhbWVzeW5jX2luamVjdF9zdGF0dXMoRkZG cmFtZVN5bmMgKmZzLCB1bnNpZ25lZCBpbiwgaW50IHN0YXR1cywgaW50NjRfdCBlb2ZfcHRzKQog ewogICAgIGF2X2Fzc2VydDAoIWZzLT5pbltpbl0uaGF2ZV9uZXh0KTsKLSAgICBwdHMgPSBmcy0+ aW5baW5dLnN0YXRlICE9IFNUQVRFX1JVTiB8fCBmcy0+aW5baW5dLmFmdGVyID09IEVYVF9JTkZJ TklUWQotICAgICAgICA/IElOVDY0X01BWCA6IGZyYW1lc3luY19wdHNfZXh0cmFwb2xhdGUoZnMs IGluLCBmcy0+aW5baW5dLnB0cyk7CiAgICAgZnMtPmluW2luXS5zeW5jID0gMDsKLSAgICBmcmFt ZXN5bmNfc3luY19sZXZlbF91cGRhdGUoZnMpOworICAgIGZyYW1lc3luY19zeW5jX2xldmVsX3Vw ZGF0ZShmcywgc3RhdHVzID09IEFWRVJST1JfRU9GID8gZW9mX3B0cyA6IEFWX05PUFRTX1ZBTFVF KTsKICAgICBmcy0+aW5baW5dLmZyYW1lX25leHQgPSBOVUxMOwotICAgIGZzLT5pbltpbl0ucHRz X25leHQgICA9IHB0czsKKyAgICBmcy0+aW5baW5dLnB0c19uZXh0ICAgPSBmcy0+aW5baW5dLnN0 YXRlICE9IFNUQVRFX1JVTiB8fCBmcy0+aW5baW5dLmFmdGVyID09IEVYVF9JTkZJTklUWQorICAg ICAgICAgICAgICAgICAgICAgICAgICAgID8gSU5UNjRfTUFYIDogZnJhbWVzeW5jX3B0c19leHRy YXBvbGF0ZShmcywgaW4sIGZzLT5pbltpbl0ucHRzKTsKICAgICBmcy0+aW5baW5dLmhhdmVfbmV4 dCAgPSAxOwogfQogCi0tIAoyLjQ5LjEKCgpGcm9tIDAyMGQ5ZjJiNDg4NmFhNjIwMjUyZGE0ZGI3 YTQ5MzYzNzhkNmViM2EgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCkZyb206IEFudG9uIEtoaXJu b3YgPGFudG9uQGtoaXJub3YubmV0PgpEYXRlOiBTdW4sIDEzIE9jdCAyMDI0IDE0OjExOjM5ICsw MjAwClN1YmplY3Q6IFtQQVRDSCAwMzEvNDM0XSBsYXZjL2F2Y29kZWM6IGZpeCBnbG9iYWwvcHJp dmF0ZSBvcHRpb24gcHJlY2VuZGVuY2UKCkJyb2tlbiBhZnRlciA3NzUzYTlkNjI3MjVkNWJkODMx M2UyZDI0OWFjYmUxYzhhZjc5YWIxLiBBcHBseSBvbmx5IHRoZQp3aGl0ZWxpc3QgZWFybHksIGFu ZCB0aGUgcmVzdCB3aXRoIGEgc2luZ2xlIGNhbGwgdG8gYXZfb3B0X3NldF9kaWN0MigpCndpdGgg QVZfT1BUX1NFQVJDSF9DSElMRFJFTiwgd2hpY2ggc2hvdWxkIGJlIGVxdWl2YWxlbnQgdG8gdGhl IG9yaWdpbmFsCmJlaGF2aW91ci4KClJlcG9ydGVkLWJ5OiBDYW1lcm9uIEd1dG1hbiA8YWljb21t YW5kZXJAZ21haWwuY29tPgooY2hlcnJ5IHBpY2tlZCBmcm9tIGNvbW1pdCA5Y2U2M2U2NWQ2NWIz MDM4MTNkNGFlNjc3MjI4MjI2ZDdjZDIzMmI5KQpTaWduZWQtb2ZmLWJ5OiBBbnRvbiBLaGlybm92 IDxhbnRvbkBraGlybm92Lm5ldD4KLS0tCiBsaWJhdmNvZGVjL2F2Y29kZWMuYyB8IDE3ICsrKysr KysrKysrKystLS0tCiAxIGZpbGUgY2hhbmdlZCwgMTMgaW5zZXJ0aW9ucygrKSwgNCBkZWxldGlv bnMoLSkKCmRpZmYgLS1naXQgYS9saWJhdmNvZGVjL2F2Y29kZWMuYyBiL2xpYmF2Y29kZWMvYXZj b2RlYy5jCmluZGV4IGQxZGFmNDc2MTEuLjFmYTg3MDRjOWQgMTAwNjQ0Ci0tLSBhL2xpYmF2Y29k ZWMvYXZjb2RlYy5jCisrKyBiL2xpYmF2Y29kZWMvYXZjb2RlYy5jCkBAIC0xNDUsNiArMTQ1LDcg QEAgaW50IGF0dHJpYnV0ZV9hbGlnbl9hcmcgYXZjb2RlY19vcGVuMihBVkNvZGVjQ29udGV4dCAq YXZjdHgsIGNvbnN0IEFWQ29kZWMgKmNvZGUKICAgICBpbnQgcmV0ID0gMDsKICAgICBBVkNvZGVj SW50ZXJuYWwgKmF2Y2k7CiAgICAgY29uc3QgRkZDb2RlYyAqY29kZWMyOworICAgIGNvbnN0IEFW RGljdGlvbmFyeUVudHJ5ICplOwogCiAgICAgaWYgKGF2Y29kZWNfaXNfb3BlbihhdmN0eCkpCiAg ICAgICAgIHJldHVybiAwOwpAQCAtMTc1LDggKzE3NiwxNCBAQCBpbnQgYXR0cmlidXRlX2FsaWdu X2FyZyBhdmNvZGVjX29wZW4yKEFWQ29kZWNDb250ZXh0ICphdmN0eCwgY29uc3QgQVZDb2RlYyAq Y29kZQogICAgIGlmIChhdmN0eC0+ZXh0cmFkYXRhX3NpemUgPCAwIHx8IGF2Y3R4LT5leHRyYWRh dGFfc2l6ZSA+PSBGRl9NQVhfRVhUUkFEQVRBX1NJWkUpCiAgICAgICAgIHJldHVybiBBVkVSUk9S KEVJTlZBTCk7CiAKLSAgICBpZiAoKHJldCA9IGF2X29wdF9zZXRfZGljdChhdmN0eCwgb3B0aW9u cykpIDwgMCkKLSAgICAgICAgcmV0dXJuIHJldDsKKyAgICAvLyBzZXQgdGhlIHdoaXRlbGlzdCBm cm9tIHByb3ZpZGVkIG9wdGlvbnMgZGljdCwKKyAgICAvLyBzbyB3ZSBjYW4gY2hlY2sgaXQgaW1t ZWRpYXRlbHkKKyAgICBlID0gb3B0aW9ucyA/IGF2X2RpY3RfZ2V0KCpvcHRpb25zLCAiY29kZWNf d2hpdGVsaXN0IiwgTlVMTCwgMCkgOiBOVUxMOworICAgIGlmIChlKSB7CisgICAgICAgIHJldCA9 IGF2X29wdF9zZXQoYXZjdHgsIGUtPmtleSwgZS0+dmFsdWUsIDApOworICAgICAgICBpZiAocmV0 IDwgMCkKKyAgICAgICAgICAgIHJldHVybiByZXQ7CisgICAgfQogCiAgICAgaWYgKGF2Y3R4LT5j b2RlY193aGl0ZWxpc3QgJiYgYXZfbWF0Y2hfbGlzdChjb2RlYy0+bmFtZSwgYXZjdHgtPmNvZGVj X3doaXRlbGlzdCwgJywnKSA8PSAwKSB7CiAgICAgICAgIGF2X2xvZyhhdmN0eCwgQVZfTE9HX0VS Uk9SLCAiQ29kZWMgKCVzKSBub3Qgb24gd2hpdGVsaXN0IFwnJXNcJ1xuIiwgY29kZWMtPm5hbWUs IGF2Y3R4LT5jb2RlY193aGl0ZWxpc3QpOwpAQCAtMjExLDEyICsyMTgsMTQgQEAgaW50IGF0dHJp YnV0ZV9hbGlnbl9hcmcgYXZjb2RlY19vcGVuMihBVkNvZGVjQ29udGV4dCAqYXZjdHgsIGNvbnN0 IEFWQ29kZWMgKmNvZGUKICAgICAgICAgICAgICAgICBhdl9vcHRfc2V0X2RlZmF1bHRzKGF2Y3R4 LT5wcml2X2RhdGEpOwogICAgICAgICAgICAgfQogICAgICAgICB9Ci0gICAgICAgIGlmIChjb2Rl Yy0+cHJpdl9jbGFzcyAmJiAocmV0ID0gYXZfb3B0X3NldF9kaWN0KGF2Y3R4LT5wcml2X2RhdGEs IG9wdGlvbnMpKSA8IDApCi0gICAgICAgICAgICBnb3RvIGZyZWVfYW5kX2VuZDsKICAgICB9IGVs c2UgewogICAgICAgICBhdmN0eC0+cHJpdl9kYXRhID0gTlVMTDsKICAgICB9CiAKKyAgICByZXQg PSBhdl9vcHRfc2V0X2RpY3QyKGF2Y3R4LCBvcHRpb25zLCBBVl9PUFRfU0VBUkNIX0NISUxEUkVO KTsKKyAgICBpZiAocmV0IDwgMCkKKyAgICAgICAgZ290byBmcmVlX2FuZF9lbmQ7CisKICAgICAv LyBvbmx5IGNhbGwgZmZfc2V0X2RpbWVuc2lvbnMoKSBmb3Igbm9uIEguMjY0L1ZQNkYvRFhWIGNv ZGVjcyBzbyBhcyBub3QgdG8gb3ZlcndyaXRlIHByZXZpb3VzbHkgc2V0dXAgZGltZW5zaW9ucwog ICAgIGlmICghKGF2Y3R4LT5jb2RlZF93aWR0aCAmJiBhdmN0eC0+Y29kZWRfaGVpZ2h0ICYmIGF2 Y3R4LT53aWR0aCAmJiBhdmN0eC0+aGVpZ2h0ICYmCiAgICAgICAgICAgKGF2Y3R4LT5jb2RlY19p ZCA9PSBBVl9DT0RFQ19JRF9IMjY0IHx8IGF2Y3R4LT5jb2RlY19pZCA9PSBBVl9DT0RFQ19JRF9W UDZGIHx8IGF2Y3R4LT5jb2RlY19pZCA9PSBBVl9DT0RFQ19JRF9EWFYpKSkgewotLSAKMi40OS4x CgoKRnJvbSA4N2NjZjk5NWNiODU1ZjBiYWNlZDk5MTY5MjhiN2I0OGQ4YjZlZDlkIE1vbiBTZXAg MTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBBbnRvbiBLaGlybm92IDxhbnRvbkBraGlybm92Lm5ldD4K RGF0ZTogU2F0LCAxMiBPY3QgMjAyNCAxOTowODo1NSArMDIwMApTdWJqZWN0OiBbUEFUQ0ggMDMy LzQzNF0gZmZ0b29scy9mZm1wZWdfZmlsdGVyOiB0cmVhdCBhcGFkIGZpbHRlciBhcyBhIHNvdXJj ZQoKSWRlYWxseSBsYXZmaSBzaG91bGQgaGF2ZSBhIGRlZGljYXRlZCBBUEkgZm9yIGRldGVjdGlu ZyB0aGlzLgoKRml4ZXMgIzExMTY4IGFuZCAjMTEwNjEKCihjaGVycnkgcGlja2VkIGZyb20gY29t bWl0IDllMmEyMzEyMzY0MjhjNDY4MmM3Nzg1OGM2YWFiZmQ3NGY0NTliMTcpClNpZ25lZC1vZmYt Ynk6IEFudG9uIEtoaXJub3YgPGFudG9uQGtoaXJub3YubmV0PgotLS0KIGZmdG9vbHMvZmZtcGVn X2ZpbHRlci5jIHwgMjEgKysrKysrKysrKysrLS0tLS0tLS0tCiAxIGZpbGUgY2hhbmdlZCwgMTIg aW5zZXJ0aW9ucygrKSwgOSBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9mZnRvb2xzL2ZmbXBl Z19maWx0ZXIuYyBiL2ZmdG9vbHMvZmZtcGVnX2ZpbHRlci5jCmluZGV4IDRlM2E0N2UzYjYuLjM4 Yzc2NzZhN2UgMTAwNjQ0Ci0tLSBhL2ZmdG9vbHMvZmZtcGVnX2ZpbHRlci5jCisrKyBiL2ZmdG9v bHMvZmZtcGVnX2ZpbHRlci5jCkBAIC0xMTAxLDggKzExMDEsOSBAQCBpbnQgZmdfY3JlYXRlKEZp bHRlckdyYXBoICoqcGZnLCBjaGFyICpncmFwaF9kZXNjLCBTY2hlZHVsZXIgKnNjaCkKIAogICAg IGZvciAodW5zaWduZWQgaSA9IDA7IGkgPCBncmFwaC0+bmJfZmlsdGVyczsgaSsrKSB7CiAgICAg ICAgIGNvbnN0IEFWRmlsdGVyICpmID0gZ3JhcGgtPmZpbHRlcnNbaV0tPmZpbHRlcjsKLSAgICAg ICAgaWYgKCFhdmZpbHRlcl9maWx0ZXJfcGFkX2NvdW50KGYsIDApICYmCi0gICAgICAgICAgICAh KGYtPmZsYWdzICYgQVZGSUxURVJfRkxBR19EWU5BTUlDX0lOUFVUUykpIHsKKyAgICAgICAgaWYg KCghYXZmaWx0ZXJfZmlsdGVyX3BhZF9jb3VudChmLCAwKSAmJgorICAgICAgICAgICAgICEoZi0+ ZmxhZ3MgJiBBVkZJTFRFUl9GTEFHX0RZTkFNSUNfSU5QVVRTKSkgfHwKKyAgICAgICAgICAgICFz dHJjbXAoZi0+bmFtZSwgImFwYWQiKSkgewogICAgICAgICAgICAgZmdwLT5oYXZlX3NvdXJjZXMg PSAxOwogICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgIH0KQEAgLTE0OTcsNyArMTQ5OCw3IEBA IHN0YXRpYyBpbnQgaW5zZXJ0X2ZpbHRlcihBVkZpbHRlckNvbnRleHQgKipsYXN0X2ZpbHRlciwg aW50ICpwYWRfaWR4LAogICAgIHJldHVybiAwOwogfQogCi1zdGF0aWMgaW50IGNvbmZpZ3VyZV9v dXRwdXRfdmlkZW9fZmlsdGVyKEZpbHRlckdyYXBoICpmZywgQVZGaWx0ZXJHcmFwaCAqZ3JhcGgs CitzdGF0aWMgaW50IGNvbmZpZ3VyZV9vdXRwdXRfdmlkZW9fZmlsdGVyKEZpbHRlckdyYXBoUHJp diAqZmdwLCBBVkZpbHRlckdyYXBoICpncmFwaCwKICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgT3V0cHV0RmlsdGVyICpvZmlsdGVyLCBBVkZpbHRlckluT3V0ICpvdXQp CiB7CiAgICAgT3V0cHV0RmlsdGVyUHJpdiAqb2ZwID0gb2ZwX2Zyb21fb2ZpbHRlcihvZmlsdGVy KTsKQEAgLTE1NzYsNyArMTU3Nyw3IEBAIHN0YXRpYyBpbnQgY29uZmlndXJlX291dHB1dF92aWRl b19maWx0ZXIoRmlsdGVyR3JhcGggKmZnLCBBVkZpbHRlckdyYXBoICpncmFwaCwKICAgICByZXR1 cm4gMDsKIH0KIAotc3RhdGljIGludCBjb25maWd1cmVfb3V0cHV0X2F1ZGlvX2ZpbHRlcihGaWx0 ZXJHcmFwaCAqZmcsIEFWRmlsdGVyR3JhcGggKmdyYXBoLAorc3RhdGljIGludCBjb25maWd1cmVf b3V0cHV0X2F1ZGlvX2ZpbHRlcihGaWx0ZXJHcmFwaFByaXYgKmZncCwgQVZGaWx0ZXJHcmFwaCAq Z3JhcGgsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE91dHB1dEZp bHRlciAqb2ZpbHRlciwgQVZGaWx0ZXJJbk91dCAqb3V0KQogewogICAgIE91dHB1dEZpbHRlclBy aXYgKm9mcCA9IG9mcF9mcm9tX29maWx0ZXIob2ZpbHRlcik7CkBAIC0xNjQxLDggKzE2NDIsMTAg QEAgc3RhdGljIGludCBjb25maWd1cmVfb3V0cHV0X2F1ZGlvX2ZpbHRlcihGaWx0ZXJHcmFwaCAq ZmcsIEFWRmlsdGVyR3JhcGggKmdyYXBoLAogICAgICAgICBwYWRfaWR4ID0gMDsKICAgICB9CiAK LSAgICBpZiAob2ZpbHRlci0+YXBhZCkKKyAgICBpZiAob2ZpbHRlci0+YXBhZCkgewogICAgICAg ICBBVVRPX0lOU0VSVF9GSUxURVIoIi1hcGFkIiwgImFwYWQiLCBvZmlsdGVyLT5hcGFkKTsKKyAg ICAgICAgZmdwLT5oYXZlX3NvdXJjZXMgPSAxOworICAgIH0KIAogICAgIHNucHJpbnRmKG5hbWUs IHNpemVvZihuYW1lKSwgInRyaW0gZm9yIG91dHB1dCAlcyIsIG9mcC0+bmFtZSk7CiAgICAgcmV0 ID0gaW5zZXJ0X3RyaW0ob2ZwLT50cmltX3N0YXJ0X3VzLCBvZnAtPnRyaW1fZHVyYXRpb25fdXMs CkBAIC0xNjU4LDEyICsxNjYxLDEyIEBAIGZhaWw6CiAgICAgcmV0dXJuIHJldDsKIH0KIAotc3Rh dGljIGludCBjb25maWd1cmVfb3V0cHV0X2ZpbHRlcihGaWx0ZXJHcmFwaCAqZmcsIEFWRmlsdGVy R3JhcGggKmdyYXBoLAorc3RhdGljIGludCBjb25maWd1cmVfb3V0cHV0X2ZpbHRlcihGaWx0ZXJH cmFwaFByaXYgKmZncCwgQVZGaWx0ZXJHcmFwaCAqZ3JhcGgsCiAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIE91dHB1dEZpbHRlciAqb2ZpbHRlciwgQVZGaWx0ZXJJbk91dCAqb3V0 KQogewogICAgIHN3aXRjaCAob2ZpbHRlci0+dHlwZSkgewotICAgIGNhc2UgQVZNRURJQV9UWVBF X1ZJREVPOiByZXR1cm4gY29uZmlndXJlX291dHB1dF92aWRlb19maWx0ZXIoZmcsIGdyYXBoLCBv ZmlsdGVyLCBvdXQpOwotICAgIGNhc2UgQVZNRURJQV9UWVBFX0FVRElPOiByZXR1cm4gY29uZmln dXJlX291dHB1dF9hdWRpb19maWx0ZXIoZmcsIGdyYXBoLCBvZmlsdGVyLCBvdXQpOworICAgIGNh c2UgQVZNRURJQV9UWVBFX1ZJREVPOiByZXR1cm4gY29uZmlndXJlX291dHB1dF92aWRlb19maWx0 ZXIoZmdwLCBncmFwaCwgb2ZpbHRlciwgb3V0KTsKKyAgICBjYXNlIEFWTUVESUFfVFlQRV9BVURJ TzogcmV0dXJuIGNvbmZpZ3VyZV9vdXRwdXRfYXVkaW9fZmlsdGVyKGZncCwgZ3JhcGgsIG9maWx0 ZXIsIG91dCk7CiAgICAgZGVmYXVsdDogYXZfYXNzZXJ0MCgwKTsgcmV0dXJuIDA7CiAgICAgfQog fQpAQCAtMTk0MCw3ICsxOTQzLDcgQEAgc3RhdGljIGludCBjb25maWd1cmVfZmlsdGVyZ3JhcGgo RmlsdGVyR3JhcGggKmZnLCBGaWx0ZXJHcmFwaFRocmVhZCAqZmd0KQogICAgIGF2ZmlsdGVyX2lu b3V0X2ZyZWUoJmlucHV0cyk7CiAKICAgICBmb3IgKGN1ciA9IG91dHB1dHMsIGkgPSAwOyBjdXI7 IGN1ciA9IGN1ci0+bmV4dCwgaSsrKSB7Ci0gICAgICAgIHJldCA9IGNvbmZpZ3VyZV9vdXRwdXRf ZmlsdGVyKGZnLCBmZ3QtPmdyYXBoLCBmZy0+b3V0cHV0c1tpXSwgY3VyKTsKKyAgICAgICAgcmV0 ID0gY29uZmlndXJlX291dHB1dF9maWx0ZXIoZmdwLCBmZ3QtPmdyYXBoLCBmZy0+b3V0cHV0c1tp XSwgY3VyKTsKICAgICAgICAgaWYgKHJldCA8IDApIHsKICAgICAgICAgICAgIGF2ZmlsdGVyX2lu b3V0X2ZyZWUoJm91dHB1dHMpOwogICAgICAgICAgICAgZ290byBmYWlsOwotLSAKMi40OS4xCgoK RnJvbSA5ZmJiZDkyNGYyODYzMzEyYjQxMzAzYTQ4NzA1YjI1MmI3ZWUxMTkzIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBFbWlseSA8aGVsbG9AZW1pbHkubW9lPgpEYXRlOiBNb24sIDcg T2N0IDIwMjQgMDA6MDQ6NTYgKzAxMDAKU3ViamVjdDogW1BBVENIIDAzMy80MzRdIGZhdGUvZmZt cGVnOiBhZGQgc2FtcGxlcyBkZXBlbmRlbmN5IHRvCiBmYXRlLWZmbXBlZy1zcGVjLWRpc3Bvc2l0 aW9uCk1JTUUtVmVyc2lvbjogMS4wCkNvbnRlbnQtVHlwZTogdGV4dC9wbGFpbjsgY2hhcnNldD1V VEYtOApDb250ZW50LVRyYW5zZmVyLUVuY29kaW5nOiA4Yml0CgpUaGlzIHRlc3QgdXRpbGl6ZXMg YW4gTVBFRy1UUyBzYW1wbGUgZnJvbSBGQVRFIHN1aXRlLCB5ZXQgd2FzCm1hcmtlZCBhcyBub3Qg cmVxdWlyaW5nIHNhbXBsZXMuCgpSZXZpZXdlZC1ieTogSmFuIEVrc3Ryw7ZtIDxqZWVianBAZ21h aWwuY29tPgooY2hlcnJ5IHBpY2tlZCBmcm9tIGNvbW1pdCAzNTY1OTAzYzYzOGZiNzdkNjAwZDI5 ODM3MDFiMTIzMDBlNjk1YTVkKQotLS0KIHRlc3RzL2ZhdGUvZmZtcGVnLm1hayB8IDIgKy0KIDEg ZmlsZSBjaGFuZ2VkLCAxIGluc2VydGlvbigrKSwgMSBkZWxldGlvbigtKQoKZGlmZiAtLWdpdCBh L3Rlc3RzL2ZhdGUvZmZtcGVnLm1hayBiL3Rlc3RzL2ZhdGUvZmZtcGVnLm1hawppbmRleCA4Njkz NzZkZDE4Li5kOTM0OGVlODM3IDEwMDY0NAotLS0gYS90ZXN0cy9mYXRlL2ZmbXBlZy5tYWsKKysr IGIvdGVzdHMvZmF0ZS9mZm1wZWcubWFrCkBAIC0yNjYsNCArMjY2LDQgQEAgRkFURV9GRk1QRUct JChjYWxsIEVOQ0RFQzIsIE1QRUcyVklERU8sIEZGVjEsIE5VVCwgSFNUQUNLX0ZJTFRFUiBQSVBF X1BST1RPQ09MIEYKIAogIyB0ZXN0IG1hdGNoaW5nIGJ5IHN0cmVhbSBkaXNwb3NpdGlvbgogZmF0 ZS1mZm1wZWctc3BlYy1kaXNwb3NpdGlvbjogQ01EID0gZnJhbWVjcmMgLWkgJChUQVJHRVRfU0FN UExFUykvbXBlZ3RzL3BtdGNoYW5nZS50cyAtbWFwICcwOmRpc3A6dmlzdWFsX2ltcGFpcmVkK2Rl c2NyaXB0aW9uczoxJyAtYyBjb3B5Ci1GQVRFX0ZGTVBFRy0kKGNhbGwgRlJBTUVDUkMsIE1QRUdU UywsKSArPSBmYXRlLWZmbXBlZy1zcGVjLWRpc3Bvc2l0aW9uCitGQVRFX1NBTVBMRVNfRkZNUEVH LSQoY2FsbCBGUkFNRUNSQywgTVBFR1RTLCwpICs9IGZhdGUtZmZtcGVnLXNwZWMtZGlzcG9zaXRp b24KLS0gCjIuNDkuMQoKCkZyb20gMTUwMzVhYWVjMGI1ZDg2ZWEwNjNiOGIzZDQ2ZDEzZWQxZWU5 YmVkMiBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKRnJvbTogTWFydG9uIEJhbGludCA8Y3VzQHBh c3N3ZC5odT4KRGF0ZTogVHVlLCAyMiBPY3QgMjAyNCAxOTo0OToxNiArMDIwMApTdWJqZWN0OiBb UEFUQ0ggMDM0LzQzNF0gYXZ1dGlsL3djaGFyX2ZpbGVuYW1lOiByZS1pbnRyb2R1Y2UgZXhwbGlj aXQgY2FzdCBvZgogdm9pZCogdG8gY2hhcioKCkZpeGVzIGNvbXBpbGUgZXJyb3Igb24gd2luZG93 cyB3aXRoIGRlY2tsaW5rOgoKSW4gZmlsZSBpbmNsdWRlZCBmcm9tIC4vbGliYXZmb3JtYXQvb3Nf c3VwcG9ydC5oOjE3NSwKICAgICAgICAgICAgICAgICBmcm9tIC4vbGliYXZmb3JtYXQvaW50ZXJu YWwuaDozMCwKICAgICAgICAgICAgICAgICBmcm9tIGxpYmF2ZGV2aWNlL2RlY2tsaW5rX2NvbW1v bi5jcHA6MjU6Ci4vbGliYXZ1dGlsL3djaGFyX2ZpbGVuYW1lLmg6IEluIGZ1bmN0aW9uICdpbnQg d2NoYXJ0b2NwKHVuc2lnbmVkIGludCwgY29uc3Qgd2NoYXJfdCosIGNoYXIqKiknOgouL2xpYmF2 dXRpbC93Y2hhcl9maWxlbmFtZS5oOjU5OjMyOiBlcnJvcjogaW52YWxpZCBjb252ZXJzaW9uIGZy b20gJ3ZvaWQqJyB0byAnY2hhcionIFstZnBlcm1pc3NpdmVdCiAgIDU5IHwgICAgICpmaWxlbmFt ZSA9IGF2X21hbGxvY19hcnJheShudW1fY2hhcnMsIHNpemVvZiAqKmZpbGVuYW1lKTsKICAgICAg fCAgICAgICAgICAgICAgICAgfn5+fn5+fn5+fn5+fn5+Xn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+ fn5+fn5+CiAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwKICAgICAgfCAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdm9pZCoKClJlZ3Jlc3Npb24gc2luY2UgZTll OGJlYTJlNzliYzNjNDgxYTZmODFmNzVmNmM4NzFlM2UwZjM2Ny4KCkZpeGVzIHRpY2tldCAjMTEx MDMuCgpTaWduZWQtb2ZmLWJ5OiBNYXJ0b24gQmFsaW50IDxjdXNAcGFzc3dkLmh1PgooY2hlcnJ5 IHBpY2tlZCBmcm9tIGNvbW1pdCA5YjAxMjhhYTc2NjIyMWY4YTMyZTEzY2YzYzFkM2U2ZDc1YTJk ODI5KQotLS0KIGxpYmF2dXRpbC93Y2hhcl9maWxlbmFtZS5oIHwgMiArLQogMSBmaWxlIGNoYW5n ZWQsIDEgaW5zZXJ0aW9uKCspLCAxIGRlbGV0aW9uKC0pCgpkaWZmIC0tZ2l0IGEvbGliYXZ1dGls L3djaGFyX2ZpbGVuYW1lLmggYi9saWJhdnV0aWwvd2NoYXJfZmlsZW5hbWUuaAppbmRleCAyM2Nj OTJhYTJkLi4xMzcwYTA4NGM5IDEwMDY0NAotLS0gYS9saWJhdnV0aWwvd2NoYXJfZmlsZW5hbWUu aAorKysgYi9saWJhdnV0aWwvd2NoYXJfZmlsZW5hbWUuaApAQCAtNTcsNyArNTcsNyBAQCBzdGF0 aWMgaW5saW5lIGludCB3Y2hhcnRvY3AodW5zaWduZWQgaW50IGNvZGVfcGFnZSwgY29uc3Qgd2No YXJfdCAqZmlsZW5hbWVfdywKICAgICAgICAgZXJybm8gPSBFSU5WQUw7CiAgICAgICAgIHJldHVy biAtMTsKICAgICB9Ci0gICAgKmZpbGVuYW1lID0gYXZfbWFsbG9jX2FycmF5KG51bV9jaGFycywg c2l6ZW9mICoqZmlsZW5hbWUpOworICAgICpmaWxlbmFtZSA9IChjaGFyICopYXZfbWFsbG9jX2Fy cmF5KG51bV9jaGFycywgc2l6ZW9mICoqZmlsZW5hbWUpOwogICAgIGlmICghKmZpbGVuYW1lKSB7 CiAgICAgICAgIGVycm5vID0gRU5PTUVNOwogICAgICAgICByZXR1cm4gLTE7Ci0tIAoyLjQ5LjEK CgpGcm9tIDM2N2I3YjU0NmYwZTAxMmVhZGNiY2Y4OGZlMjhjNmViZjhkMTZkOGUgTW9uIFNlcCAx NyAwMDowMDowMCAyMDAxCkZyb206IExlYW5kcm8gU2FudGlhZ28gPGxlYW5kcm9zYW5zaWx2YUBn bWFpbC5jb20+CkRhdGU6IFRodSwgMzEgT2N0IDIwMjQgMjE6NTA6NDUgKzAxMDAKU3ViamVjdDog W1BBVENIIDAzNS80MzRdIGZmdG9vbHMvZmZwbGF5OiBmaXggY3Jhc2ggd2hlbiB2ayByZW5kZXJl ciBpcyBudWxsCgpXaGVuIHZ1bGthbiByZW5kZXJpbmcgaXMgcmVxdWVzdGVkIGJ5IHRoZSB1c2Vy IGFuZCBmYWlscywgZmZwbGF5IHNob3VsZApleGl0IGdyYWNpb3VzbHkgaW5zdGVhZCBvZiBjcmFz aCBkdWUgdG8gYSBudWxsIHBvaW50ZXIgZGVyZWYuCgpTaWduZWQtb2ZmLWJ5OiBMZWFuZHJvIFNh bnRpYWdvIDxsZWFuZHJvc2Fuc2lsdmFAZ21haWwuY29tPgpTaWduZWQtb2ZmLWJ5OiBaaGFvIFpo aWxpIDx6aGlsaXpoYW9AdGVuY2VudC5jb20+CihjaGVycnkgcGlja2VkIGZyb20gY29tbWl0IGZk MGNhY2M0NzIwYzY4YzU4Zjg2ZTQxMTUzNDQ0MjUyZGJkNGU1YjYpCi0tLQogZmZ0b29scy9mZnBs YXkuYyB8IDUgKysrKysKIDEgZmlsZSBjaGFuZ2VkLCA1IGluc2VydGlvbnMoKykKCmRpZmYgLS1n aXQgYS9mZnRvb2xzL2ZmcGxheS5jIGIvZmZ0b29scy9mZnBsYXkuYwppbmRleCA2MGQ4ODc0ZWFi Li45NmIwYjYxNGI5IDEwMDY0NAotLS0gYS9mZnRvb2xzL2ZmcGxheS5jCisrKyBiL2ZmdG9vbHMv ZmZwbGF5LmMKQEAgLTI2MDcsNiArMjYwNywxMSBAQCBzdGF0aWMgaW50IGNyZWF0ZV9od2FjY2Vs KEFWQnVmZmVyUmVmICoqZGV2aWNlX2N0eCkKICAgICBpZiAodHlwZSA9PSBBVl9IV0RFVklDRV9U WVBFX05PTkUpCiAgICAgICAgIHJldHVybiBBVkVSUk9SKEVOT1RTVVApOwogCisgICAgaWYgKCF2 a19yZW5kZXJlcikgeworICAgICAgICBhdl9sb2coTlVMTCwgQVZfTE9HX0VSUk9SLCAiVnVsa2Fu IHJlbmRlcmVyIGlzIG5vdCBhdmFpbGFibGVcbiIpOworICAgICAgICByZXR1cm4gQVZFUlJPUihF Tk9UU1VQKTsKKyAgICB9CisKICAgICByZXQgPSB2a19yZW5kZXJlcl9nZXRfaHdfZGV2KHZrX3Jl bmRlcmVyLCAmdmtfZGV2KTsKICAgICBpZiAocmV0IDwgMCkKICAgICAgICAgcmV0dXJuIHJldDsK LS0gCjIuNDkuMQoKCkZyb20gNTEyMGQzMDg5MDgzOGY3MWRlNzIzZjIzMThkZTIzYjM2Mzk4OTgz NCBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKRnJvbTogQW50b24gS2hpcm5vdiA8YW50b25Aa2hp cm5vdi5uZXQ+CkRhdGU6IFNhdCwgMjYgT2N0IDIwMjQgMTE6NDg6NDggKzAyMDAKU3ViamVjdDog W1BBVENIIDAzNi80MzRdIERvY3VtZW50IHN0cmVhbSBzcGVjaWZpZXIgc3ludGF4IGNoYW5nZSBm cm9tCiA0NmNiZTRhYjVjCgpGaXhlcyAjMTEyNDguCgooY2hlcnJ5IHBpY2tlZCBmcm9tIGNvbW1p dCA5ZTY4YjI2NzY1Y2E4Mzk2MDUwZjRiNThkNGI0ZmRjNTM5NDNkMzVmKQpTaWduZWQtb2ZmLWJ5 OiBBbnRvbiBLaGlybm92IDxhbnRvbkBraGlybm92Lm5ldD4KLS0tCiBDaGFuZ2Vsb2cgICAgICAg ICAgICAgICAgICAgIHwgOSArKysrKysrKysKIGRvYy9mZm1wZWcudGV4aSAgICAgICAgICAgICAg fCAyICstCiBkb2MvZmZ0b29scy1jb21tb24tb3B0cy50ZXhpIHwgMyArKy0KIDMgZmlsZXMgY2hh bmdlZCwgMTIgaW5zZXJ0aW9ucygrKSwgMiBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9DaGFu Z2Vsb2cgYi9DaGFuZ2Vsb2cKaW5kZXggMGMwNWFkMjk0Ni4uMTdiZWMzY2VlZSAxMDA2NDQKLS0t IGEvQ2hhbmdlbG9nCisrKyBiL0NoYW5nZWxvZwpAQCAtMjcsNiArMjcsMTUgQEAgdmVyc2lvbiA3 LjE6CiAtIExDRVZDIGVuaGFuY2VtZW50IGRhdGEgZXhwb3J0aW5nIGluIEguMjZ4IGFuZCBNUDQv SVNPQk1GRgogLSBMQ0VWQyBmaWx0ZXIKIC0gTVYtSEVWQyBkZWNvZGluZworLSBtaW5vciBzdHJl YW0gc3BlY2lmaWVyIHN5bnRheCBjaGFuZ2VzOgorICAgIC0gd2hlbiBtYXRjaGluZyBieSBtZXRh ZGF0YSAoOm06PGtleT46PHZhbD4pLCB0aGUgY29sb24gY2hhcmFjdGVyCisgICAgICBpbiBrZXlz IG9yIHZhbHVlcyBub3cgaGFzIHRvIGJlIGJhY2tzbGFzaC1lc2NhcGVkCisgICAgLSBpbiBvcHRp b25hbCBtYXBzICgtbWFwIC4uLi4/KSB3aXRoIGEgbWV0YWRhdGEtbWF0Y2hpbmcgc3RyZWFtIHNw ZWNpZmllciwKKyAgICAgIHRoZSB2YWx1ZSBoYXMgdG8gYmUgc2VwYXJhdGVkIGZyb20gdGhlIHF1 ZXN0aW9uIG1hcmsgYnkgYSBjb2xvbiwgaS5lLgorICAgICAgLW1hcCAuLi4uOm06PGtleT46PHZh bD46PyAob3RoZXJ3aXNlIGl0IHdvdWxkIGJlIGFtYmlndW91cyB3aGV0aGVyIHRoZQorICAgICAg cXVlc3Rpb24gbWFyayBpcyBhIHBhcnQgb2YgPHZhbD4gb3Igbm90KQorICAgIC0gbXVsdGlwbGUg c3RyZWFtIHR5cGVzIGluIGEgc2luZ2xlIHNwZWNpZmllciAoZS5nLiA6czpzOjApIG5vdyBjYXVz ZSBhbgorICAgICAgZXJyb3IsIGFzIHN1Y2ggYSBzcGVjaWZpZXIgbWFrZXMgbm8gc2Vuc2UKIAog CiB2ZXJzaW9uIDcuMDoKZGlmZiAtLWdpdCBhL2RvYy9mZm1wZWcudGV4aSBiL2RvYy9mZm1wZWcu dGV4aQppbmRleCAzNDAwN2Y3ZWEyLi4wMTNmNWY0ZGFiIDEwMDY0NAotLS0gYS9kb2MvZmZtcGVn LnRleGkKKysrIGIvZG9jL2ZmbXBlZy50ZXhpCkBAIC0xNzk5LDcgKzE3OTksNyBAQCBTZXQgdGhl IHNpemUgb2YgdGhlIGNhbnZhcyB1c2VkIHRvIHJlbmRlciBzdWJ0aXRsZXMuCiBAc2VjdGlvbiBB ZHZhbmNlZCBvcHRpb25zCiAKIEB0YWJsZSBAb3B0aW9uCi1AaXRlbSAtbWFwIFstXUB2YXJ7aW5w dXRfZmlsZV9pZH1bOkB2YXJ7c3RyZWFtX3NwZWNpZmllcn1dWzpAdmFye3ZpZXdfc3BlY2lmaWVy fV1bP10gfCBAdmFye1tsaW5rbGFiZWxdfSAoQGVtcGh7b3V0cHV0fSkKK0BpdGVtIC1tYXAgWy1d QHZhcntpbnB1dF9maWxlX2lkfVs6QHZhcntzdHJlYW1fc3BlY2lmaWVyfV1bOkB2YXJ7dmlld19z cGVjaWZpZXJ9XVs6P10gfCBAdmFye1tsaW5rbGFiZWxdfSAoQGVtcGh7b3V0cHV0fSkKIAogQ3Jl YXRlIG9uZSBvciBtb3JlIHN0cmVhbXMgaW4gdGhlIG91dHB1dCBmaWxlLiBUaGlzIG9wdGlvbiBo YXMgdHdvIGZvcm1zIGZvcgogc3BlY2lmeWluZyB0aGUgZGF0YSBzb3VyY2Uocyk6IHRoZSBmaXJz dCBzZWxlY3RzIG9uZSBvciBtb3JlIHN0cmVhbXMgZnJvbSBzb21lCmRpZmYgLS1naXQgYS9kb2Mv ZmZ0b29scy1jb21tb24tb3B0cy50ZXhpIGIvZG9jL2ZmdG9vbHMtY29tbW9uLW9wdHMudGV4aQpp bmRleCA0ZTQ4Nzg5ZGVmLi44YjA5MzFhODZkIDEwMDY0NAotLS0gYS9kb2MvZmZ0b29scy1jb21t b24tb3B0cy50ZXhpCisrKyBiL2RvYy9mZnRvb2xzLWNvbW1vbi1vcHRzLnRleGkKQEAgLTc4LDcg Kzc4LDggQEAgTWF0Y2ggdGhlIHN0cmVhbSBieSBzdHJlYW0gaWQgKGUuZy4gUElEIGluIE1QRUct VFMgY29udGFpbmVyKS4KIEBpdGVtIG06QHZhcntrZXl9WzpAdmFye3ZhbHVlfV0KIE1hdGNoZXMg c3RyZWFtcyB3aXRoIHRoZSBtZXRhZGF0YSB0YWcgQHZhcntrZXl9IGhhdmluZyB0aGUgc3BlY2lm aWVkIHZhbHVlLiBJZgogQHZhcnt2YWx1ZX0gaXMgbm90IGdpdmVuLCBtYXRjaGVzIHN0cmVhbXMg dGhhdCBjb250YWluIHRoZSBnaXZlbiB0YWcgd2l0aCBhbnkKLXZhbHVlLgordmFsdWUuIFRoZSBj b2xvbiBjaGFyYWN0ZXIgJzonIGluIEB2YXJ7a2V5fSBvciBAdmFye3ZhbHVlfSBuZWVkcyB0byBi ZQorYmFja3NsYXNoLWVzY2FwZWQuCiBAaXRlbSBkaXNwOkB2YXJ7ZGlzcG9zaXRpb25zfVs6QHZh cnthZGRpdGlvbmFsX3N0cmVhbV9zcGVjaWZpZXJ9XQogTWF0Y2hlcyBzdHJlYW1zIHdpdGggdGhl IGdpdmVuIGRpc3Bvc2l0aW9uKHMpLiBAdmFye2Rpc3Bvc2l0aW9uc30gaXMgYSBsaXN0IG9mCiBv bmUgb3IgbW9yZSBkaXNwb3NpdGlvbnMgKGFzIHByaW50ZWQgYnkgdGhlIEBvcHRpb257LWRpc3Bv c2l0aW9uc30gb3B0aW9uKQotLSAKMi40OS4xCgoKRnJvbSBiYWVmNTUzNjRmM2FlYzU1N2M0NjA2 MjFjYTNlOThiNzQ2NDZlYmQ0IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBKYW1lcyBB bG1lciA8amFtcmlhbEBnbWFpbC5jb20+CkRhdGU6IFN1biwgMTAgTm92IDIwMjQgMTY6NDY6MzEg LTAzMDAKU3ViamVjdDogW1BBVENIIDAzNy80MzRdIGF2Y29kZWMveDg2L3Z2YzogYWRkIHByb3Rv dHlwZXMgZm9yIE9GIGZ1bmN0aW9ucwoKQW5kIHdyYXAgdGhlIGltcGxlbXRhdGlvbiBpbiBwcmVw cm9jZXNzb3IgY2hlY2tzLgpTaG91bGQgZml4IHRpY2tldCAjMTEyODIuCgpTaWduZWQtb2ZmLWJ5 OiBKYW1lcyBBbG1lciA8amFtcmlhbEBnbWFpbC5jb20+CihjaGVycnkgcGlja2VkIGZyb20gY29t bWl0IDllYzA0MmMxYWFhNjRiNWY2ZGZmOGJlMjYzZmVmZjQyODhjMTg0NGUpCi0tLQogbGliYXZj b2RlYy94ODYvdnZjL3Z2Y2RzcF9pbml0LmMgfCAyMCArKysrKysrKysrKysrKystLS0tLQogMSBm aWxlIGNoYW5nZWQsIDE1IGluc2VydGlvbnMoKyksIDUgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0 IGEvbGliYXZjb2RlYy94ODYvdnZjL3Z2Y2RzcF9pbml0LmMgYi9saWJhdmNvZGVjL3g4Ni92dmMv dnZjZHNwX2luaXQuYwppbmRleCBmM2UyZTNhMjdiLi4zYTEyOGIyMWVkIDEwMDY0NAotLS0gYS9s aWJhdmNvZGVjL3g4Ni92dmMvdnZjZHNwX2luaXQuYworKysgYi9saWJhdmNvZGVjL3g4Ni92dmMv dnZjZHNwX2luaXQuYwpAQCAtMTAyLDE5ICsxMDIsMjkgQEAgRE1WUl9QUk9UT1RZUEVTKCA4LCBh dngyKQogRE1WUl9QUk9UT1RZUEVTKDEwLCBhdngyKQogRE1WUl9QUk9UT1RZUEVTKDEyLCBhdngy KQogCisjZGVmaW5lIE9GX1BST1RPVFlQRVMoYmQsIG9wdCkgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAordm9pZCBm Zl92dmNfYXBwbHlfYmRvZl8jI2JkIyNfIyNvcHQodWludDhfdCAqZHN0LCBwdHJkaWZmX3QgZHN0 X3N0cmlkZSwgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICBjb25zdCBpbnQxNl90 ICpzcmMwLCBjb25zdCBpbnQxNl90ICpzcmMxLCBpbnQgdywgaW50IGgpOyAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICBcCisKK09GX1BST1RPVFlQRVMoIDgsIGF2eDIpCitP Rl9QUk9UT1RZUEVTKDEwLCBhdngyKQorT0ZfUFJPVE9UWVBFUygxMiwgYXZ4MikKKworI2lmIEFS Q0hfWDg2XzY0ICYmIEhBVkVfQVZYMl9FWFRFUk5BTAogdm9pZCBmZl92dmNfYXBwbHlfYmRvZl9h dngyKHVpbnQ4X3QgKmRzdCwgcHRyZGlmZl90IGRzdF9zdHJpZGUsICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIFwKICAgICBjb25zdCBpbnQxNl90ICpzcmMwLCBjb25zdCBpbnQx Nl90ICpzcmMxLCBpbnQgdywgaW50IGgsIGludCBwaXhlbF9tYXgpOyAgICAgICAgICAgICAgICAg ICAgICAgICBcCiAKLSNkZWZpbmUgT0ZfUFJPVE9UWVBFUyhiZCwgb3B0KSAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBc Ci1zdGF0aWMgdm9pZCBmZl92dmNfYXBwbHlfYmRvZl8jI2JkIyNfIyNvcHQodWludDhfdCAqZHN0 LCBwdHJkaWZmX3QgZHN0X3N0cmlkZSwgICAgICAgICAgICAgICAgICAgICAgXAorI2RlZmluZSBP Rl9GVU5DKGJkLCBvcHQpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKK3ZvaWQgZmZfdnZjX2FwcGx5X2Jk b2ZfIyNiZCMjXyMjb3B0KHVpbnQ4X3QgKmRzdCwgcHRyZGlmZl90IGRzdF9zdHJpZGUsICAgICAg ICAgICAgICAgICAgICAgICAgICAgICBcCiAgICAgY29uc3QgaW50MTZfdCAqc3JjMCwgY29uc3Qg aW50MTZfdCAqc3JjMSwgaW50IHcsIGludCBoKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgXAogeyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IFwKICAgICBmZl92dmNfYXBwbHlfYmRvZiMjXyMjb3B0KGRzdCwgZHN0X3N0cmlkZSwgc3JjMCwg c3JjMSwgdywgaCwgKDEgPDwgYmQpICAtIDEpOyAgICAgICAgICAgICAgICAgICBcCiB9ICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAogCi1PRl9QUk9UT1RZUEVTKCA4 LCBhdngyKQotT0ZfUFJPVE9UWVBFUygxMCwgYXZ4MikKLU9GX1BST1RPVFlQRVMoMTIsIGF2eDIp CitPRl9GVU5DKCA4LCBhdngyKQorT0ZfRlVOQygxMCwgYXZ4MikKK09GX0ZVTkMoMTIsIGF2eDIp CisjZW5kaWYKIAogI2RlZmluZSBBTEZfQlBDX1BST1RPVFlQRVMoYnBjLCBvcHQpICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIFwKIHZvaWQgQkYoZmZfdnZjX2FsZl9maWx0ZXJfbHVtYSwgYnBj LCBvcHQpKHVpbnQ4X3QgKmRzdCwgcHRyZGlmZl90IGRzdF9zdHJpZGUsICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0tIAoyLjQ5LjEKCgpGcm9tIDFiMWJhN2Q0 ZjIwYzE0ZDA4NGI1MzA0YjM5ZDQ1YzhhNmM4MDAxM2IgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAx CkZyb206IE51byBNaSA8bnVvbWkyMDIxQGdtYWlsLmNvbT4KRGF0ZTogU3VuLCAxMCBOb3YgMjAy NCAxNDoyMDoyNCArMDgwMApTdWJqZWN0OiBbUEFUQ0ggMDM4LzQzNF0gYXZjb2RlYy9jYnNfaDI2 NjogRml4IHJlZ3Jlc3Npb24gaW4gRFZCIGNsaXAKIGludHJvZHVjZWQgYnkgOTMyODE2MzBhNzFj MDY2NDJhZGZlYmViYjBkNGIxMDVhNGUwMmU5MQoKVGhpcyBjb21taXQgaW50cm9kdWNlZCBhIHJl Z3Jlc3Npb24gdG8gVlZDX0hEUl9VSERUVjFfT3BlbkdPUF8zODQweDIxNjBfNTBmcHNfSExHMTBf bW9zYWljLnRzLgoKUm9vdCBDYXVzZToKVGhlIEFWX0NFSUxfUlNISUZUKGEsIGIpIG1hY3JvIHVz ZXMgYml0IHRyaWNrcyB0aGF0IHdvcmsgb25seSB3aGVuIC1hIGlzIGEgbmVnYXRpdmUgdmFsdWUu Ckhvd2V2ZXIsIGR1ZSB0byBpbnRlZ2VyIHByb21vdGlvbiBydWxlcywgdGhpcyBiZWhhdmlvciBk b2VzIG5vdCBleHRlbmQgdG8gdGhlIHVuc2lnbmVkIGludCB0eXBlLgoKU2VlICI2LjMuMS4xIEJv b2xlYW4sIGNoYXJhY3RlcnMsIGFuZCBpbnRlZ2VycyIgaW4gdGhlICJJU08vSUVDIDk4OTkiIGZv ciBkZXRhaWxzLgoKUmVwb3J0ZWQtYnk6IEZyYW5rIFBsb3dtYW4gPHBvc3RAZnJhbmtwbG93bWFu LmNvbT4KKGNoZXJyeSBwaWNrZWQgZnJvbSBjb21taXQgYzQ5MDAxZTMzOGZlYjlkODUzN2JiMDBk ZTMzYjJhNTcyNWVhNjAyOCkKLS0tCiBsaWJhdmNvZGVjL2Nic19oMjY2X3N5bnRheF90ZW1wbGF0 ZS5jIHwgMTIgKysrKysrLS0tLS0tCiAxIGZpbGUgY2hhbmdlZCwgNiBpbnNlcnRpb25zKCspLCA2 IGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL2xpYmF2Y29kZWMvY2JzX2gyNjZfc3ludGF4X3Rl bXBsYXRlLmMgYi9saWJhdmNvZGVjL2Nic19oMjY2X3N5bnRheF90ZW1wbGF0ZS5jCmluZGV4IGI0 MTY1YjQzYjMuLmQzMzYyOWIwNmMgMTAwNjQ0Ci0tLSBhL2xpYmF2Y29kZWMvY2JzX2gyNjZfc3lu dGF4X3RlbXBsYXRlLmMKKysrIGIvbGliYXZjb2RlYy9jYnNfaDI2Nl9zeW50YXhfdGVtcGxhdGUu YwpAQCAtMTE2Miw3ICsxMTYyLDcgQEAgc3RhdGljIGludCBGVU5DKHNwcykoQ29kZWRCaXRzdHJl YW1Db250ZXh0ICpjdHgsIFJXQ29udGV4dCAqcncsCiAgICAgICAgICAgICBmb3IgKGkgPSAxOyBp IDw9IGN1cnJlbnQtPnNwc19udW1fc3VicGljc19taW51czE7IGkrKykgewogICAgICAgICAgICAg ICAgIGlmICghY3VycmVudC0+c3BzX3N1YnBpY19zYW1lX3NpemVfZmxhZykgewogICAgICAgICAg ICAgICAgICAgICBpZiAoY3VycmVudC0+c3BzX3BpY193aWR0aF9tYXhfaW5fbHVtYV9zYW1wbGVz ID4gY3RiX3NpemVfeSkgewotICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdW5zaWduZWQg aW50IHdpbl9yaWdodF9lZGdlID0KKyAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGludCB3 aW5fcmlnaHRfZWRnZSA9CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY3VycmVudC0+c3Bz X3BpY193aWR0aF9tYXhfaW5fbHVtYV9zYW1wbGVzCiAgICAgICAgICAgICAgICAgICAgICAgICAg IC0gY3VycmVudC0+c3BzX2NvbmZfd2luX3JpZ2h0X29mZnNldCAqIHN1Yl93aWR0aF9jOwogICAg ICAgICAgICAgICAgICAgICAgICAgdXMod2xlbiwgc3BzX3N1YnBpY19jdHVfdG9wX2xlZnRfeFtp XSwgMCwKQEAgLTExNzIsNyArMTE3Miw3IEBAIHN0YXRpYyBpbnQgRlVOQyhzcHMpKENvZGVkQml0 c3RyZWFtQ29udGV4dCAqY3R4LCBSV0NvbnRleHQgKnJ3LAogICAgICAgICAgICAgICAgICAgICAg ICAgaW5mZXIoc3BzX3N1YnBpY19jdHVfdG9wX2xlZnRfeFtpXSwgMCk7CiAgICAgICAgICAgICAg ICAgICAgIGlmIChjdXJyZW50LT5zcHNfcGljX2hlaWdodF9tYXhfaW5fbHVtYV9zYW1wbGVzID4K ICAgICAgICAgICAgICAgICAgICAgICAgIGN0Yl9zaXplX3kpIHsKLSAgICAgICAgICAgICAgICAg ICAgICAgIGNvbnN0IHVuc2lnbmVkIGludCB3aW5fYm90dG9tX2VkZ2UgPQorICAgICAgICAgICAg ICAgICAgICAgICAgY29uc3QgaW50IHdpbl9ib3R0b21fZWRnZSA9CiAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgY3VycmVudC0+c3BzX3BpY19oZWlnaHRfbWF4X2luX2x1bWFfc2FtcGxlcwog ICAgICAgICAgICAgICAgICAgICAgICAgICAtIGN1cnJlbnQtPnNwc19jb25mX3dpbl9ib3R0b21f b2Zmc2V0ICogc3ViX2hlaWdodF9jOwogICAgICAgICAgICAgICAgICAgICAgICAgdXMoaGxlbiwg c3BzX3N1YnBpY19jdHVfdG9wX2xlZnRfeVtpXSwgMCwKQEAgLTExODMsOSArMTE4Myw5IEBAIHN0 YXRpYyBpbnQgRlVOQyhzcHMpKENvZGVkQml0c3RyZWFtQ29udGV4dCAqY3R4LCBSV0NvbnRleHQg KnJ3LAogICAgICAgICAgICAgICAgICAgICBpZiAoaSA8IGN1cnJlbnQtPnNwc19udW1fc3VicGlj c19taW51czEgJiYKICAgICAgICAgICAgICAgICAgICAgICAgIGN1cnJlbnQtPnNwc19waWNfd2lk dGhfbWF4X2luX2x1bWFfc2FtcGxlcyA+CiAgICAgICAgICAgICAgICAgICAgICAgICBjdGJfc2l6 ZV95KSB7Ci0gICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1bnNpZ25lZCBpbnQgd2luX2xl ZnRfZWRnZSA9CisgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBpbnQgd2luX2xlZnRfZWRn ZSA9CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY3VycmVudC0+c3BzX2NvbmZfd2luX2xl ZnRfb2Zmc2V0ICogc3ViX3dpZHRoX2M7Ci0gICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1 bnNpZ25lZCBpbnQgd2luX2xlZnRfZWRnZV9jdHVzID0KKyAgICAgICAgICAgICAgICAgICAgICAg IGNvbnN0IGludCB3aW5fbGVmdF9lZGdlX2N0dXMgPQogICAgICAgICAgICAgICAgICAgICAgICAg ICAgIEFWX0NFSUxfUlNISUZUKHdpbl9sZWZ0X2VkZ2UsIGN0Yl9sb2cyX3NpemVfeSk7CiAgICAg ICAgICAgICAgICAgICAgICAgICB1cyh3bGVuLCBzcHNfc3VicGljX3dpZHRoX21pbnVzMVtpXSwK ICAgICAgICAgICAgICAgICAgICAgICAgICAgIHdpbl9sZWZ0X2VkZ2VfY3R1cyA+IGN1cnJlbnQt PnNwc19zdWJwaWNfY3R1X3RvcF9sZWZ0X3hbaV0KQEAgLTEyMDAsOSArMTIwMCw5IEBAIHN0YXRp YyBpbnQgRlVOQyhzcHMpKENvZGVkQml0c3RyZWFtQ29udGV4dCAqY3R4LCBSV0NvbnRleHQgKnJ3 LAogICAgICAgICAgICAgICAgICAgICBpZiAoaSA8IGN1cnJlbnQtPnNwc19udW1fc3VicGljc19t aW51czEgJiYKICAgICAgICAgICAgICAgICAgICAgICAgIGN1cnJlbnQtPnNwc19waWNfaGVpZ2h0 X21heF9pbl9sdW1hX3NhbXBsZXMgPgogICAgICAgICAgICAgICAgICAgICAgICAgY3RiX3NpemVf eSkgewotICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdW5zaWduZWQgaW50IHdpbl90b3Bf ZWRnZSA9CisgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBpbnQgd2luX3RvcF9lZGdlID0K ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjdXJyZW50LT5zcHNfY29uZl93aW5fdG9wX29m ZnNldCAqIHN1Yl9oZWlnaHRfYzsKLSAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVuc2ln bmVkIGludCB3aW5fdG9wX2VkZ2VfY3R1cyA9CisgICAgICAgICAgICAgICAgICAgICAgICBjb25z dCBpbnQgd2luX3RvcF9lZGdlX2N0dXMgPQogICAgICAgICAgICAgICAgICAgICAgICAgICAgIEFW X0NFSUxfUlNISUZUKHdpbl90b3BfZWRnZSwgY3RiX2xvZzJfc2l6ZV95KTsKICAgICAgICAgICAg ICAgICAgICAgICAgIHVzKGhsZW4sIHNwc19zdWJwaWNfaGVpZ2h0X21pbnVzMVtpXSwKICAgICAg ICAgICAgICAgICAgICAgICAgICAgIHdpbl90b3BfZWRnZV9jdHVzID4gY3VycmVudC0+c3BzX3N1 YnBpY19jdHVfdG9wX2xlZnRfeVtpXQotLSAKMi40OS4xCgoKRnJvbSAwM2ZmZDRiM2IzNjUzNTgz M2JhMTc5ODIzZGMyNmU4MTE2NTA1ODFkIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQpGcm9tOiA9 P1VURi04P3E/S2FjcGVyPTIwTWljaGFqPUM1PTgyb3c/PSA8a2FzcGVyOTNAZ21haWwuY29tPgpE YXRlOiBGcmksIDEgTm92IDIwMjQgMTM6NTA6MzggKzAxMDAKU3ViamVjdDogW1BBVENIIDAzOS80 MzRdIGF2Y29kZWMvanBlZ3hsX3BhcnNlcjogY2hlY2sKIGVudHJvcHlfZGVjb2Rlcl9yZWFkX3N5 bWJvbCByZXR1cm4gdmFsdWUKTUlNRS1WZXJzaW9uOiAxLjAKQ29udGVudC1UeXBlOiB0ZXh0L3Bs YWluOyBjaGFyc2V0PVVURi04CkNvbnRlbnQtVHJhbnNmZXItRW5jb2Rpbmc6IDhiaXQKCkZvdW5k IGJ5IE9TUy1GdXp6LgoKU2lnbmVkLW9mZi1ieTogS2FjcGVyIE1pY2hhasWCb3cgPGthc3Blcjkz QGdtYWlsLmNvbT4KLS0tCiBsaWJhdmNvZGVjL2pwZWd4bF9wYXJzZXIuYyB8IDYgKysrLS0tCiAx IGZpbGUgY2hhbmdlZCwgMyBpbnNlcnRpb25zKCspLCAzIGRlbGV0aW9ucygtKQoKZGlmZiAtLWdp dCBhL2xpYmF2Y29kZWMvanBlZ3hsX3BhcnNlci5jIGIvbGliYXZjb2RlYy9qcGVneGxfcGFyc2Vy LmMKaW5kZXggOGM0NWUxYTFiNy4uNzQ2YzQyOWI5YyAxMDA2NDQKLS0tIGEvbGliYXZjb2RlYy9q cGVneGxfcGFyc2VyLmMKKysrIGIvbGliYXZjb2RlYy9qcGVneGxfcGFyc2VyLmMKQEAgLTEzMTEs NyArMTMxMSw3IEBAIHN0YXRpYyBpbnQgcGFyc2VfZnJhbWVfaGVhZGVyKHZvaWQgKmF2Y3R4LCBK WExQYXJzZUNvbnRleHQgKmN0eCwgR2V0Qml0Q29udGV4dCAqCiAgICAgLy8gcGVybXV0ZWQgdG9j CiAgICAgaWYgKGdldF9iaXRzMShnYikpIHsKICAgICAgICAgSlhMRW50cm9weURlY29kZXIgZGVj OwotICAgICAgICB1aW50MzJfdCBlbmQsIGxlaG1lciA9IDA7CisgICAgICAgIGludDY0X3QgZW5k LCBsZWhtZXIgPSAwOwogICAgICAgICByZXQgPSBlbnRyb3B5X2RlY29kZXJfaW5pdChhdmN0eCwg Z2IsICZkZWMsIDgpOwogICAgICAgICBpZiAocmV0IDwgMCkKICAgICAgICAgICAgIHJldHVybiBy ZXQ7CkBAIC0xMzIwLDEzICsxMzIwLDEzIEBAIHN0YXRpYyBpbnQgcGFyc2VfZnJhbWVfaGVhZGVy KHZvaWQgKmF2Y3R4LCBKWExQYXJzZUNvbnRleHQgKmN0eCwgR2V0Qml0Q29udGV4dCAqCiAgICAg ICAgICAgICByZXR1cm4gQVZFUlJPUl9CVUZGRVJfVE9PX1NNQUxMOwogICAgICAgICB9CiAgICAg ICAgIGVuZCA9IGVudHJvcHlfZGVjb2Rlcl9yZWFkX3N5bWJvbChnYiwgJmRlYywgdG9jX2NvbnRl eHQodG9jX2NvdW50KSk7Ci0gICAgICAgIGlmIChlbmQgPiB0b2NfY291bnQpIHsKKyAgICAgICAg aWYgKGVuZCA8IDAgfHwgZW5kID4gdG9jX2NvdW50KSB7CiAgICAgICAgICAgICBlbnRyb3B5X2Rl Y29kZXJfY2xvc2UoJmRlYyk7CiAgICAgICAgICAgICByZXR1cm4gQVZFUlJPUl9JTlZBTElEREFU QTsKICAgICAgICAgfQogICAgICAgICBmb3IgKHVpbnQzMl90IGkgPSAwOyBpIDwgZW5kOyBpKysp IHsKICAgICAgICAgICAgIGxlaG1lciA9IGVudHJvcHlfZGVjb2Rlcl9yZWFkX3N5bWJvbChnYiwg JmRlYywgdG9jX2NvbnRleHQobGVobWVyKSk7Ci0gICAgICAgICAgICBpZiAoZ2V0X2JpdHNfbGVm dChnYikgPCAwKSB7CisgICAgICAgICAgICBpZiAobGVobWVyIDwgMCB8fCBnZXRfYml0c19sZWZ0 KGdiKSA8IDApIHsKICAgICAgICAgICAgICAgICBlbnRyb3B5X2RlY29kZXJfY2xvc2UoJmRlYyk7 CiAgICAgICAgICAgICAgICAgcmV0dXJuIEFWRVJST1JfQlVGRkVSX1RPT19TTUFMTDsKICAgICAg ICAgICAgIH0KLS0gCjIuNDkuMQoKCkZyb20gMTFlODMxOWI4ZWYwMDE1ZTI0OGZmM2E0MDA0NTdl YmRjMGViNzdiMiBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKRnJvbTogTGVvIEl6ZW4gPGxlby5p emVuQGdtYWlsLmNvbT4KRGF0ZTogVGh1LCA3IE5vdiAyMDI0IDExOjMxOjQ5IC0wNTAwClN1Ympl Y3Q6IFtQQVRDSCAwNDAvNDM0XSBhdmNvZGVjL2pwZWd4bF9wYXJzZXI6IGZpeCByZWFkaW5nIGx6 NzctcGFpciBhcwogaW5pdGlhbCBlbnRyb3B5IHN5bWJvbApNSU1FLVZlcnNpb246IDEuMApDb250 ZW50LVR5cGU6IHRleHQvcGxhaW47IGNoYXJzZXQ9VVRGLTgKQ29udGVudC1UcmFuc2Zlci1FbmNv ZGluZzogOGJpdAoKVGhlIEpQRUcgWEwgcGFyc2VyIGhhcyBhbiBlbnRyb3B5IGRlY29kZXIgaW5z aWRlLCB3aGljaCBzdXBwb3J0cyBMWjc3Cmxlbmd0aC1kaXN0YW5jZSBwYWlycy4gSWYgdGhlIGZp cnN0IHN5bWJvbCBmcm9tIHRoZSBlbnRyb3B5IHN0cmVhbSBpcyBhbgpMWjc3IHBhaXIsIHRoZSBi aXRzdHJlYW0gaXMgaW52YWxpZCwgc28gd2Ugc2hvdWxkIGFib3J0IGltbWVkaWF0ZWx5IHJhdGhl cgp0aGFuIGF0dGVtcHQgdG8gcmVhZCBpdCBhbnl3YXkgKHdoaWNoIHdvdWxkIHJlYWQgZnJvbSB0 aGUgdW5pbml0aWFsaXplZApzdGFydGluZyB3aW5kb3cpLgoKUmVwb3J0ZWQtYnk6IEthY3BlciBN aWNoYWrFgm93IDxrYXNwZXI5M0BnbWFpbC5jb20+CkZvdW5kLWJ5OiBvc3NmdXp6CkZpeGVzOiAz Njg3MjU2NzYvY2x1c3RlcmZ1enotdGVzdGNhc2UtbWluaW1pemVkLWZ1enplcl9wcm90b2NvbF9m aWxlLTYwMjIyNTExMjI1ODk2OTYtY3V0CkZpeGVzOiA0MjUzNzc1OC9jbHVzdGVyZnV6ei10ZXN0 Y2FzZS1taW5pbWl6ZWQtZnV6emVyX3Byb3RvY29sX2ZpbGUtNTgxODk2OTQ2OTAyNjMwNC1jdXQK U2lnbmVkLW9mZi1ieTogTGVvIEl6ZW4gPGxlby5pemVuQGdtYWlsLmNvbT4KLS0tCiBsaWJhdmNv ZGVjL2pwZWd4bF9wYXJzZXIuYyB8IDMgKysrCiAxIGZpbGUgY2hhbmdlZCwgMyBpbnNlcnRpb25z KCspCgpkaWZmIC0tZ2l0IGEvbGliYXZjb2RlYy9qcGVneGxfcGFyc2VyLmMgYi9saWJhdmNvZGVj L2pwZWd4bF9wYXJzZXIuYwppbmRleCA3NDZjNDI5YjljLi43NjEyMmFmNTRhIDEwMDY0NAotLS0g YS9saWJhdmNvZGVjL2pwZWd4bF9wYXJzZXIuYworKysgYi9saWJhdmNvZGVjL2pwZWd4bF9wYXJz ZXIuYwpAQCAtMzUyLDYgKzM1Miw4IEBAIHN0YXRpYyBpbnQgZGVjb2RlX2h5YnJpZF92YXJsZW5f dWludChHZXRCaXRDb250ZXh0ICpnYiwgSlhMRW50cm9weURlY29kZXIgKmRlYywKIAogICAgIGlm IChidW5kbGUtPmx6NzdfZW5hYmxlZCAmJiB0b2tlbiA+PSBidW5kbGUtPmx6NzdfbWluX3N5bWJv bCkgewogICAgICAgICBjb25zdCBKWExTeW1ib2xEaXN0cmlidXRpb24gKmx6NzdkaXN0ID0gJmJ1 bmRsZS0+ZGlzdHNbYnVuZGxlLT5jbHVzdGVyX21hcFtidW5kbGUtPm51bV9kaXN0IC0gMV1dOwor ICAgICAgICBpZiAoIWRlYy0+bnVtX2RlY29kZWQpCisgICAgICAgICAgICByZXR1cm4gQVZFUlJP Ul9JTlZBTElEREFUQTsKICAgICAgICAgcmV0ID0gcmVhZF9oeWJyaWRfdWludChnYiwgJmJ1bmRs ZS0+bHpfbGVuX2NvbmYsIHRva2VuIC0gYnVuZGxlLT5sejc3X21pbl9zeW1ib2wsICZkZWMtPm51 bV90b19jb3B5KTsKICAgICAgICAgaWYgKHJldCA8IDApCiAgICAgICAgICAgICByZXR1cm4gcmV0 OwpAQCAtNTMxLDYgKzUzMyw3IEBAIHN0YXRpYyBpbnQgcmVhZF9kaXN0X2NsdXN0ZXJpbmcoR2V0 Qml0Q29udGV4dCAqZ2IsIEpYTEVudHJvcHlEZWNvZGVyICpkZWMsIEpYTERpCiAgICAgICAgIGRl Yy0+c3RhdGUgPSAtMTsKICAgICAgICAgLyogaXQncyBub3QgZ29pbmcgdG8gbmVjZXNzYXJpbHkg YmUgemVybyBhZnRlciByZWFkaW5nICovCiAgICAgICAgIGRlYy0+bnVtX3RvX2NvcHkgPSAwOwor ICAgICAgICBkZWMtPm51bV9kZWNvZGVkID0gMDsKICAgICAgICAgZGlzdF9idW5kbGVfY2xvc2Uo Jm5lc3RlZCk7CiAgICAgICAgIGlmICh1c2VfbXRmKSB7CiAgICAgICAgICAgICB1aW50OF90IG10 ZlsyNTZdOwotLSAKMi40OS4xCgoKRnJvbSA0ZWE1NTgxNTJmMDVlNDFmMTVhNTQ4ZTJhYWI4ZTVk NDA1NDZhZjVmIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQpGcm9tOiA9P1VURi04P3E/Uj1DMz1B OW1pPTIwRGVuaXMtQ291cm1vbnQ/PSA8cmVtaUByZW1sYWIubmV0PgpEYXRlOiBTYXQsIDE2IE5v diAyMDI0IDA4OjU3OjU0ICswMjAwClN1YmplY3Q6IFtQQVRDSCAwNDEvNDM0XSBsYXZjL2gyNjRk c3A6IG1vdmUgUklTQy1WIGZuIHBvaW50ZXJzIHRvIC5kYXRhLnJlbC5ybwoKVGhpcyBzaG91bGQg Zml4IFBJQyBidWlsZHMuCi0tLQogbGliYXZjb2RlYy9yaXNjdi9oMjY0ZHNwX3J2di5TIHwgMiAr LQogMSBmaWxlIGNoYW5nZWQsIDEgaW5zZXJ0aW9uKCspLCAxIGRlbGV0aW9uKC0pCgpkaWZmIC0t Z2l0IGEvbGliYXZjb2RlYy9yaXNjdi9oMjY0ZHNwX3J2di5TIGIvbGliYXZjb2RlYy9yaXNjdi9o MjY0ZHNwX3J2di5TCmluZGV4IDQyMmFjMDIyMjIuLjk3YzY3MDgzMDkgMTAwNjQ0Ci0tLSBhL2xp YmF2Y29kZWMvcmlzY3YvaDI2NGRzcF9ydnYuUworKysgYi9saWJhdmNvZGVjL3Jpc2N2L2gyNjRk c3BfcnZ2LlMKQEAgLTE3Niw3ICsxNzYsNyBAQCBlbmRmdW5jCiAKICAgICAgICAgLmdsb2JhbCBm Zl9oMjY0X3dlaWdodF9mdW5jc184X3J2dgogICAgICAgICAuaGlkZGVuIGZmX2gyNjRfd2VpZ2h0 X2Z1bmNzXzhfcnZ2Ci1jb25zdCBmZl9oMjY0X3dlaWdodF9mdW5jc184X3J2dgorY29uc3QgZmZf aDI2NF93ZWlnaHRfZnVuY3NfOF9ydnYsIHJlbG9jYXRlPTEKICAgICAgICAgLmlycCAgICB3LCAx NiwgOCwgNCwgMgogI2lmIF9fcmlzY3ZfeGxlbiA9PSAzMgogICAgICAgICAud29yZCAgIGZmX2gy NjRfd2VpZ2h0X3BpeGVsc1x3XCgpXzhfcnZ2Ci0tIAoyLjQ5LjEKCgpGcm9tIGY2ODZjZjc3ZGIz ZDNkNTU2MDcyYzhiNTU3ZGVjYTM2NmNjZmU3ZGQgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCkZy b206ID0/VVRGLTg/cT9SPUMzPUE5bWk9MjBEZW5pcy1Db3VybW9udD89IDxyZW1pQHJlbWxhYi5u ZXQ+CkRhdGU6IFNhdCwgMTYgTm92IDIwMjQgMTY6MjI6NDkgKzAyMDAKU3ViamVjdDogW1BBVENI IDA0Mi80MzRdIGxhdmMvaDI2NGlkY3Q6IGZpeCBSSVNDLVYgZ3JvdXAgbXVsdGlwbGllcgoKQWZ0 ZXIgdGhlIGJyYW5jaCwgdGhlIGV4cGVjdGVkIFNFVy9MTVVMIHJhdGlvIGlzIDEgYnl0ZS92ZWN0 b3IuClNvIHdlIGhhdmUgdG8gc2V0IHRoZSBzYW1lIHJhdGlvIGJlZm9yZSBicmFuY2hpbmcgKFFF TVUgZG9lcyBub3QgY2FyZSwKYnV0IHJlYWwgaGFyZHdhcmUgZG9lcykuCgooY2hlcnJ5IHBpY2tl ZCBmcm9tIGNvbW1pdCBiYmIwZmRlZGI3OGMyODlmMWQzY2UzZmNjYjAwMGYwMzFjY2ZhNzQ4KQot LS0KIGxpYmF2Y29kZWMvcmlzY3YvaDI2NGlkY3RfcnZ2LlMgfCA4ICsrKystLS0tCiAxIGZpbGUg Y2hhbmdlZCwgNCBpbnNlcnRpb25zKCspLCA0IGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL2xp YmF2Y29kZWMvcmlzY3YvaDI2NGlkY3RfcnZ2LlMgYi9saWJhdmNvZGVjL3Jpc2N2L2gyNjRpZGN0 X3J2di5TCmluZGV4IGQyZjc3YTViNDcuLmIxZTA2ZDkzZjcgMTAwNjQ0Ci0tLSBhL2xpYmF2Y29k ZWMvcmlzY3YvaDI2NGlkY3RfcnZ2LlMKKysrIGIvbGliYXZjb2RlYy9yaXNjdi9oMjY0aWRjdF9y dnYuUwpAQCAtNjQ0LDcgKzY0NCw3IEBAIGZ1bmMgZmZfaDI2NF9pZGN0NF9hZGRcdHlwZVwoKV9c ZGVwdGhcKClfcnZ2LCB6dmUzMngKICAgICAgICAgc2QgICAgICBhNCwgMjQoc3ApCiAgICAgICAg IGxkICAgICAgYTAsICAwKGEwKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAjIGRlc3Rb MF0KICAgICAgICAgYWRkaSAgICBhMSwgYTEsIDE2ICogNCAgICAgICAgICAgICAgICAgICAgICAg ICAgICMgJmJsb2NrX29mZnNldFsxNl0KLSAgICAgICAgdnNldGl2bGkgICAgemVybywgNCwgZTgs IG1mNCwgdGEsIG1hCisgICAgICAgIHZzZXRpdmxpICAgIHplcm8sIDQsIGU4LCBtMSwgdGEsIG1h CiAgICAgICAgIGphbCAgICAgLkxpZGN0NF9hZGQ0X1xkZXB0aFwoKV9ydnYKIAogICAgICAgICBs ZCAgICAgIGE0LCAyNChzcCkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIyBubnpjCkBA IC02NTUsNyArNjU1LDcgQEAgZnVuYyBmZl9oMjY0X2lkY3Q0X2FkZFx0eXBlXCgpX1xkZXB0aFwo KV9ydnYsIHp2ZTMyeAogICAgICAgICBsZCAgICAgIGEwLCAgOChhMCkgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIyBkZXN0WzFdCiAgICAgICAgIGxsYSAgICAgdDAsIGZmX2gyNjRfc2Nh bjggKyAzMgogLmlmYyBcdHlwZSwgOF80MjIKLSAgICAgICAgdnNldGl2bGkgICAgemVybywgNCwg ZTgsIG1mNCwgdGEsIG1hCisgICAgICAgIHZzZXRpdmxpICAgIHplcm8sIDQsIGU4LCBtMSwgdGEs IG1hCiAgICAgICAgIGphbCAgICAgLkxpZGN0NF9hZGQ0X1xkZXB0aFwoKV9ydnYKIAogICAgICAg ICBsZCAgICAgIGE0LCAyNChzcCkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIyBubnpj CkBAIC02NjUsNyArNjY1LDcgQEAgZnVuYyBmZl9oMjY0X2lkY3Q0X2FkZFx0eXBlXCgpX1xkZXB0 aFwoKV9ydnYsIHp2ZTMyeAogICAgICAgICBhZGRpICAgIGExLCB0NSwgKC04IC0gNCkgKiA0ICAg ICAgICAgICAgICAgICAgICAgIyAmYmxvY2tfb2Zmc2V0WzI0XQogICAgICAgICBsZCAgICAgIGEw LCAgMChhMCkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIyBkZXN0WzBdCiAgICAgICAg IGxsYSAgICAgdDAsIGZmX2gyNjRfc2NhbjggKyAyNAotICAgICAgICB2c2V0aXZsaSAgICB6ZXJv LCA0LCBlOCwgbWY0LCB0YSwgbWEKKyAgICAgICAgdnNldGl2bGkgICAgemVybywgNCwgZTgsIG0x LCB0YSwgbWEKICAgICAgICAgamFsICAgICAuTGlkY3Q0X2FkZDRfXGRlcHRoXCgpX3J2dgogCiAg ICAgICAgIGxkICAgICAgYTQsIDI0KHNwKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAj IG5uemMKQEAgLTY3OSw3ICs2NzksNyBAQCBmdW5jIGZmX2gyNjRfaWRjdDRfYWRkXHR5cGVcKClf XGRlcHRoXCgpX3J2diwgenZlMzJ4CiAgICAgICAgIGxkICAgICAgcmEsICA4KHNwKQogICAgICAg ICBsZCAgICAgIHMwLCAgMChzcCkKICAgICAgICAgYWRkaSAgICBzcCwgc3AsIDMyCi0gICAgICAg IHZzZXRpdmxpICAgIHplcm8sIDQsIGU4LCBtZjQsIHRhLCBtYQorICAgICAgICB2c2V0aXZsaSAg ICB6ZXJvLCA0LCBlOCwgbTEsIHRhLCBtYQogICAgICAgICBqICAgICAgIC5MaWRjdDRfYWRkNF9c ZGVwdGhcKClfcnZ2CiBlbmRmdW5jCiAuZW5kbQotLSAKMi40OS4xCgoKRnJvbSA3NzliMGZlMDE1 YjE2NmY4M2E2MDdlNDEyNmQxYzU1ODEwYzQ2ODU1IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQpG cm9tOiBKYW1lcyBBbG1lciA8amFtcmlhbEBnbWFpbC5jb20+CkRhdGU6IE1vbiwgMzAgU2VwIDIw MjQgMTM6NDM6MjMgLTAzMDAKU3ViamVjdDogW1BBVENIIDA0My80MzRdIGF2Zm9ybWF0L21vdjog ZmFjdG9yaXplIGdldHRpbmcgdGhlIGN1cnJlbnQgaXRlbQoKU2lnbmVkLW9mZi1ieTogSmFtZXMg QWxtZXIgPGphbXJpYWxAZ21haWwuY29tPgooY2hlcnJ5IHBpY2tlZCBmcm9tIGNvbW1pdCA1OGMy NjVkOTU2ZjRjZTJlZmIwMDA0YzM5OGUyYzFmMDMwZjkzOThhKQotLS0KIGxpYmF2Zm9ybWF0L21v di5jIHwgNDUgKysrKysrKysrKysrKysrKysrKysrKysrKysrKy0tLS0tLS0tLS0tLS0tLS0tCiAx IGZpbGUgY2hhbmdlZCwgMjggaW5zZXJ0aW9ucygrKSwgMTcgZGVsZXRpb25zKC0pCgpkaWZmIC0t Z2l0IGEvbGliYXZmb3JtYXQvbW92LmMgYi9saWJhdmZvcm1hdC9tb3YuYwppbmRleCA1YjBiMjNm ZmMxLi43NTk1MWQ2YjRjIDEwMDY0NAotLS0gYS9saWJhdmZvcm1hdC9tb3YuYworKysgYi9saWJh dmZvcm1hdC9tb3YuYwpAQCAtMTg4LDYgKzE4OCwyNCBAQCBzdGF0aWMgaW50IG1vdl9yZWFkX21h Y19zdHJpbmcoTU9WQ29udGV4dCAqYywgQVZJT0NvbnRleHQgKnBiLCBpbnQgbGVuLAogICAgIHJl dHVybiBwIC0gZHN0OwogfQogCisvKioKKyAqIEdldCB0aGUgY3VycmVudCBpdGVtIGluIHRoZSBw YXJzaW5nIHByb2Nlc3MuCisgKi8KK3N0YXRpYyBIRUlGSXRlbSAqaGVpZl9jdXJfaXRlbShNT1ZD b250ZXh0ICpjKQoreworICAgIEhFSUZJdGVtICppdGVtID0gTlVMTDsKKworICAgIGZvciAoaW50 IGkgPSAwOyBpIDwgYy0+bmJfaGVpZl9pdGVtOyBpKyspIHsKKyAgICAgICAgaWYgKGMtPmhlaWZf aXRlbVtpXS5pdGVtX2lkICE9IGMtPmN1cl9pdGVtX2lkKQorICAgICAgICAgICAgY29udGludWU7 CisKKyAgICAgICAgaXRlbSA9ICZjLT5oZWlmX2l0ZW1baV07CisgICAgICAgIGJyZWFrOworICAg IH0KKworICAgIHJldHVybiBpdGVtOworfQorCiAvKioKICAqIEdldCB0aGUgY3VycmVudCBzdHJl YW0gaW4gdGhlIHBhcnNpbmcgcHJvY2Vzcy4gVGhpcyBjYW4gZWl0aGVyIGJlIHRoZQogICogbGF0 ZXN0IHN0cmVhbSBhZGRlZCB0byB0aGUgY29udGV4dCwgb3IgdGhlIHN0cmVhbSByZWZlcmVuY2Vk IGJ5IGFuIGl0ZW0uCkBAIC0xOTUsMjMgKzIxMywxNyBAQCBzdGF0aWMgaW50IG1vdl9yZWFkX21h Y19zdHJpbmcoTU9WQ29udGV4dCAqYywgQVZJT0NvbnRleHQgKnBiLCBpbnQgbGVuLAogc3RhdGlj IEFWU3RyZWFtICpnZXRfY3Vycl9zdChNT1ZDb250ZXh0ICpjKQogewogICAgIEFWU3RyZWFtICpz dCA9IE5VTEw7CisgICAgSEVJRkl0ZW0gKml0ZW07CiAKICAgICBpZiAoYy0+ZmMtPm5iX3N0cmVh bXMgPCAxKQogICAgICAgICByZXR1cm4gTlVMTDsKIAotICAgIGZvciAoaW50IGkgPSAwOyBpIDwg Yy0+bmJfaGVpZl9pdGVtOyBpKyspIHsKLSAgICAgICAgSEVJRkl0ZW0gKml0ZW0gPSAmYy0+aGVp Zl9pdGVtW2ldOwotCi0gICAgICAgIGlmICghaXRlbS0+c3QpCi0gICAgICAgICAgICBjb250aW51 ZTsKLSAgICAgICAgaWYgKGl0ZW0tPnN0LT5pZCAhPSBjLT5jdXJfaXRlbV9pZCkKLSAgICAgICAg ICAgIGNvbnRpbnVlOworICAgIGlmIChjLT5jdXJfaXRlbV9pZCA9PSAtMSkKKyAgICAgICAgcmV0 dXJuIGMtPmZjLT5zdHJlYW1zW2MtPmZjLT5uYl9zdHJlYW1zLTFdOwogCisgICAgaXRlbSA9IGhl aWZfY3VyX2l0ZW0oYyk7CisgICAgaWYgKGl0ZW0pCiAgICAgICAgIHN0ID0gaXRlbS0+c3Q7Ci0g ICAgICAgIGJyZWFrOwotICAgIH0KLSAgICBpZiAoIXN0ICYmIGMtPmN1cl9pdGVtX2lkID09IC0x KQotICAgICAgICBzdCA9IGMtPmZjLT5zdHJlYW1zW2MtPmZjLT5uYl9zdHJlYW1zLTFdOwogCiAg ICAgcmV0dXJuIHN0OwogfQpAQCAtODkxMiw2ICs4OTI0LDcgQEAgc3RhdGljIGludCBtb3ZfcmVh ZF9pcmVmKE1PVkNvbnRleHQgKmMsIEFWSU9Db250ZXh0ICpwYiwgTU9WQXRvbSBhdG9tKQogCiBz dGF0aWMgaW50IG1vdl9yZWFkX2lzcGUoTU9WQ29udGV4dCAqYywgQVZJT0NvbnRleHQgKnBiLCBN T1ZBdG9tIGF0b20pCiB7CisgICAgSEVJRkl0ZW0gKml0ZW07CiAgICAgdWludDMyX3Qgd2lkdGgs IGhlaWdodDsKIAogICAgIGF2aW9fcjgocGIpOyAgLyogdmVyc2lvbiAqLwpAQCAtODkyMiwxMiAr ODkzNSwxMCBAQCBzdGF0aWMgaW50IG1vdl9yZWFkX2lzcGUoTU9WQ29udGV4dCAqYywgQVZJT0Nv bnRleHQgKnBiLCBNT1ZBdG9tIGF0b20pCiAgICAgYXZfbG9nKGMtPmZjLCBBVl9MT0dfVFJBQ0Us ICJpc3BlOiBpdGVtX2lkICVkLCB3aWR0aCAldSwgaGVpZ2h0ICV1XG4iLAogICAgICAgICAgICBj LT5jdXJfaXRlbV9pZCwgd2lkdGgsIGhlaWdodCk7CiAKLSAgICBmb3IgKGludCBpID0gMDsgaSA8 IGMtPm5iX2hlaWZfaXRlbTsgaSsrKSB7Ci0gICAgICAgIGlmIChjLT5oZWlmX2l0ZW1baV0uaXRl bV9pZCA9PSBjLT5jdXJfaXRlbV9pZCkgewotICAgICAgICAgICAgYy0+aGVpZl9pdGVtW2ldLndp ZHRoICA9IHdpZHRoOwotICAgICAgICAgICAgYy0+aGVpZl9pdGVtW2ldLmhlaWdodCA9IGhlaWdo dDsKLSAgICAgICAgICAgIGJyZWFrOwotICAgICAgICB9CisgICAgaXRlbSA9IGhlaWZfY3VyX2l0 ZW0oYyk7CisgICAgaWYgKGl0ZW0pIHsKKyAgICAgICAgaXRlbS0+d2lkdGggID0gd2lkdGg7Cisg ICAgICAgIGl0ZW0tPmhlaWdodCA9IGhlaWdodDsKICAgICB9CiAKICAgICByZXR1cm4gMDsKLS0g CjIuNDkuMQoKCkZyb20gMjM2OTdjM2YwMmM0M2VmODEzNTM1N2VkYTViNThlODg0ZTdjY2Y0NSBN b24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKRnJvbTogSmFtZXMgQWxtZXIgPGphbXJpYWxAZ21haWwu Y29tPgpEYXRlOiBTYXQsIDUgT2N0IDIwMjQgMTA6MzI6MTQgLTAzMDAKU3ViamVjdDogW1BBVENI IDA0NC80MzRdIGF2Zm9ybWF0L21vdjogc3BsaXQgb2ZmIGhlaWYgaXRlbSBpbml0aWFsaXphdGlv biB0bwogaXRzIG93biBmdW5jdGlvbgoKU2lnbmVkLW9mZi1ieTogSmFtZXMgQWxtZXIgPGphbXJp YWxAZ21haWwuY29tPgooY2hlcnJ5IHBpY2tlZCBmcm9tIGNvbW1pdCBkNWViMGU3ZmIzMzRiODM4 NDlhODUxNWQ4M2Y4YTNhY2I1YTc2MmM2KQotLS0KIGxpYmF2Zm9ybWF0L21vdi5jIHwgOTggKysr KysrKysrKysrKysrKysrKysrKysrKystLS0tLS0tLS0tLS0tLS0tLS0tLS0KIDEgZmlsZSBjaGFu Z2VkLCA1NSBpbnNlcnRpb25zKCspLCA0MyBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9saWJh dmZvcm1hdC9tb3YuYyBiL2xpYmF2Zm9ybWF0L21vdi5jCmluZGV4IDc1OTUxZDZiNGMuLjExZWU4 YjhkN2YgMTAwNjQ0Ci0tLSBhL2xpYmF2Zm9ybWF0L21vdi5jCisrKyBiL2xpYmF2Zm9ybWF0L21v di5jCkBAIC0xMDA3Miw2ICsxMDA3Miw1OCBAQCBzdGF0aWMgaW50IG1vdl9wYXJzZV90aWxlcyhB VkZvcm1hdENvbnRleHQgKnMpCiAgICAgcmV0dXJuIDA7CiB9CiAKK3N0YXRpYyBpbnQgbW92X3Bh cnNlX2hlaWZfaXRlbXMoQVZGb3JtYXRDb250ZXh0ICpzKQoreworICAgIE1PVkNvbnRleHQgKm1v diA9IHMtPnByaXZfZGF0YTsKKyAgICBpbnQgZXJyOworCisgICAgZm9yIChpbnQgaSA9IDA7IGkg PCBtb3YtPm5iX2hlaWZfaXRlbTsgaSsrKSB7CisgICAgICAgIEhFSUZJdGVtICppdGVtID0gJm1v di0+aGVpZl9pdGVtW2ldOworICAgICAgICBNT1ZTdHJlYW1Db250ZXh0ICpzYzsKKyAgICAgICAg QVZTdHJlYW0gKnN0OworICAgICAgICBpbnQ2NF90IG9mZnNldCA9IDA7CisKKyAgICAgICAgaWYg KCFpdGVtLT5zdCkgeworICAgICAgICAgICAgaWYgKGl0ZW0tPml0ZW1faWQgPT0gbW92LT50aG1i X2l0ZW1faWQpIHsKKyAgICAgICAgICAgICAgICBhdl9sb2cocywgQVZfTE9HX0VSUk9SLCAiSEVJ RiB0aHVtYm5haWwgZG9lc24ndCByZWZlcmVuY2UgYSBzdHJlYW1cbiIpOworICAgICAgICAgICAg ICAgIHJldHVybiBBVkVSUk9SX0lOVkFMSUREQVRBOworICAgICAgICAgICAgfQorICAgICAgICAg ICAgY29udGludWU7CisgICAgICAgIH0KKyAgICAgICAgaWYgKGl0ZW0tPmlzX2lkYXRfcmVsYXRp dmUpIHsKKyAgICAgICAgICAgIGlmICghbW92LT5pZGF0X29mZnNldCkgeworICAgICAgICAgICAg ICAgIGF2X2xvZyhzLCBBVl9MT0dfRVJST1IsICJNaXNzaW5nIGlkYXQgYm94IGZvciBpdGVtICVk XG4iLCBpdGVtLT5pdGVtX2lkKTsKKyAgICAgICAgICAgICAgICByZXR1cm4gQVZFUlJPUl9JTlZB TElEREFUQTsKKyAgICAgICAgICAgIH0KKyAgICAgICAgICAgIG9mZnNldCA9IG1vdi0+aWRhdF9v ZmZzZXQ7CisgICAgICAgIH0KKworICAgICAgICBzdCA9IGl0ZW0tPnN0OworICAgICAgICBzYyA9 IHN0LT5wcml2X2RhdGE7CisgICAgICAgIHN0LT5jb2RlY3Bhci0+d2lkdGggID0gaXRlbS0+d2lk dGg7CisgICAgICAgIHN0LT5jb2RlY3Bhci0+aGVpZ2h0ID0gaXRlbS0+aGVpZ2h0OworCisgICAg ICAgIGlmIChzYy0+c2FtcGxlX2NvdW50ICE9IDEgfHwgc2MtPmNodW5rX2NvdW50ICE9IDEpCisg ICAgICAgICAgICByZXR1cm4gQVZFUlJPUl9JTlZBTElEREFUQTsKKworICAgICAgICBzYy0+c2Ft cGxlX3NpemVzWzBdICA9IGl0ZW0tPmV4dGVudF9sZW5ndGg7CisgICAgICAgIHNjLT5jaHVua19v ZmZzZXRzWzBdID0gaXRlbS0+ZXh0ZW50X29mZnNldCArIG9mZnNldDsKKworICAgICAgICBpZiAo aXRlbS0+aXRlbV9pZCA9PSBtb3YtPnByaW1hcnlfaXRlbV9pZCkKKyAgICAgICAgICAgIHN0LT5k aXNwb3NpdGlvbiB8PSBBVl9ESVNQT1NJVElPTl9ERUZBVUxUOworCisgICAgICAgIG1vdl9idWls ZF9pbmRleChtb3YsIHN0KTsKKyAgICB9CisKKyAgICBpZiAobW92LT5uYl9oZWlmX2dyaWQpIHsK KyAgICAgICAgZXJyID0gbW92X3BhcnNlX3RpbGVzKHMpOworICAgICAgICBpZiAoZXJyIDwgMCkK KyAgICAgICAgICAgIHJldHVybiBlcnI7CisgICAgfQorCisgICAgcmV0dXJuIDA7Cit9CisKIHN0 YXRpYyBBVlN0cmVhbSAqbW92X2ZpbmRfcmVmZXJlbmNlX3RyYWNrKEFWRm9ybWF0Q29udGV4dCAq cywgQVZTdHJlYW0gKnN0LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgaW50IGZpcnN0X2luZGV4KQogewpAQCAtMTAxMjksNDkgKzEwMTgxLDkgQEAgc3RhdGljIGlu dCBtb3ZfcmVhZF9oZWFkZXIoQVZGb3JtYXRDb250ZXh0ICpzKQogICAgIGF2X2xvZyhtb3YtPmZj LCBBVl9MT0dfVFJBQ0UsICJvbl9wYXJzZV9leGl0X29mZnNldD0lIlBSSWQ2NCJcbiIsIGF2aW9f dGVsbChwYikpOwogCiAgICAgaWYgKG1vdi0+Zm91bmRfaWxvYyAmJiBtb3YtPmZvdW5kX2lpbmYp IHsKLSAgICAgICAgZm9yIChpID0gMDsgaSA8IG1vdi0+bmJfaGVpZl9pdGVtOyBpKyspIHsKLSAg ICAgICAgICAgIEhFSUZJdGVtICppdGVtID0gJm1vdi0+aGVpZl9pdGVtW2ldOwotICAgICAgICAg ICAgTU9WU3RyZWFtQ29udGV4dCAqc2M7Ci0gICAgICAgICAgICBBVlN0cmVhbSAqc3Q7Ci0gICAg ICAgICAgICBpbnQ2NF90IG9mZnNldCA9IDA7Ci0KLSAgICAgICAgICAgIGlmICghaXRlbS0+c3Qp IHsKLSAgICAgICAgICAgICAgICBpZiAoaXRlbS0+aXRlbV9pZCA9PSBtb3YtPnRobWJfaXRlbV9p ZCkgewotICAgICAgICAgICAgICAgICAgICBhdl9sb2cocywgQVZfTE9HX0VSUk9SLCAiSEVJRiB0 aHVtYm5haWwgZG9lc24ndCByZWZlcmVuY2UgYSBzdHJlYW1cbiIpOwotICAgICAgICAgICAgICAg ICAgICByZXR1cm4gQVZFUlJPUl9JTlZBTElEREFUQTsKLSAgICAgICAgICAgICAgICB9Ci0gICAg ICAgICAgICAgICAgY29udGludWU7Ci0gICAgICAgICAgICB9Ci0gICAgICAgICAgICBpZiAoaXRl bS0+aXNfaWRhdF9yZWxhdGl2ZSkgewotICAgICAgICAgICAgICAgIGlmICghbW92LT5pZGF0X29m ZnNldCkgewotICAgICAgICAgICAgICAgICAgICBhdl9sb2cocywgQVZfTE9HX0VSUk9SLCAiTWlz c2luZyBpZGF0IGJveCBmb3IgaXRlbSAlZFxuIiwgaXRlbS0+aXRlbV9pZCk7Ci0gICAgICAgICAg ICAgICAgICAgIHJldHVybiBBVkVSUk9SX0lOVkFMSUREQVRBOwotICAgICAgICAgICAgICAgIH0K LSAgICAgICAgICAgICAgICBvZmZzZXQgPSBtb3YtPmlkYXRfb2Zmc2V0OwotICAgICAgICAgICAg fQotCi0gICAgICAgICAgICBzdCA9IGl0ZW0tPnN0OwotICAgICAgICAgICAgc2MgPSBzdC0+cHJp dl9kYXRhOwotICAgICAgICAgICAgc3QtPmNvZGVjcGFyLT53aWR0aCAgPSBpdGVtLT53aWR0aDsK LSAgICAgICAgICAgIHN0LT5jb2RlY3Bhci0+aGVpZ2h0ID0gaXRlbS0+aGVpZ2h0OwotCi0gICAg ICAgICAgICBpZiAoc2MtPnNhbXBsZV9jb3VudCAhPSAxIHx8IHNjLT5jaHVua19jb3VudCAhPSAx KQotICAgICAgICAgICAgICAgIHJldHVybiBBVkVSUk9SX0lOVkFMSUREQVRBOwotCi0gICAgICAg ICAgICBzYy0+c2FtcGxlX3NpemVzWzBdICA9IGl0ZW0tPmV4dGVudF9sZW5ndGg7Ci0gICAgICAg ICAgICBzYy0+Y2h1bmtfb2Zmc2V0c1swXSA9IGl0ZW0tPmV4dGVudF9vZmZzZXQgKyBvZmZzZXQ7 Ci0KLSAgICAgICAgICAgIGlmIChpdGVtLT5pdGVtX2lkID09IG1vdi0+cHJpbWFyeV9pdGVtX2lk KQotICAgICAgICAgICAgICAgIHN0LT5kaXNwb3NpdGlvbiB8PSBBVl9ESVNQT1NJVElPTl9ERUZB VUxUOwotCi0gICAgICAgICAgICBtb3ZfYnVpbGRfaW5kZXgobW92LCBzdCk7Ci0gICAgICAgIH0K LQotICAgICAgICBpZiAobW92LT5uYl9oZWlmX2dyaWQpIHsKLSAgICAgICAgICAgIGVyciA9IG1v dl9wYXJzZV90aWxlcyhzKTsKLSAgICAgICAgICAgIGlmIChlcnIgPCAwKQotICAgICAgICAgICAg ICAgIHJldHVybiBlcnI7Ci0gICAgICAgIH0KKyAgICAgICAgZXJyID0gbW92X3BhcnNlX2hlaWZf aXRlbXMocyk7CisgICAgICAgIGlmIChlcnIgPCAwKQorICAgICAgICAgICAgcmV0dXJuIGVycjsK ICAgICB9CiAgICAgLy8gcHJldmVudCBpbG9jIGFuZCBpaW5mIGJveGVzIGZyb20gYmVpbmcgcGFy c2VkIHdoaWxlIHJlYWRpbmcgcGFja2V0cy4KICAgICAvLyB0aGlzIGlzIG5lZWRlZCBiZWNhdXNl IGFuIGlpbmYgYm94IG1heSBoYXZlIGJlZW4gcGFyc2VkIGJ1dCBpZ25vcmVkCi0tIAoyLjQ5LjEK CgpGcm9tIGY4ZmNlYmFlOTVmNzExY2U5ODBjOTU0ZWI0MWQyZTJlNzAzZDVlMTQgTW9uIFNlcCAx NyAwMDowMDowMCAyMDAxCkZyb206IEphbWVzIEFsbWVyIDxqYW1yaWFsQGdtYWlsLmNvbT4KRGF0 ZTogRnJpLCA4IE5vdiAyMDI0IDIwOjQzOjM5IC0wMzAwClN1YmplY3Q6IFtQQVRDSCAwNDUvNDM0 XSBhdmZvcm1hdC9tb3Y6IHVzZSBhbiBhcnJheSBvZiBwb2ludGVycyBmb3IgaGVpZl9pdGVtCgpQ b2ludGVycyB0byBzcGVjaWZpYyBlbnRyaWVzIGluIHRoZSBhcnJheSBhcmUgc3RvcmVkIGluIG90 aGVyIHN0cnVjdHMsIHNvCmluIHRoZSBzY2VuYXJpbyB3aGVyZSBoZWlmX2l0ZW0gd2FzIHJlYWxs b2NhdGVkIHdoZW4gcGFyc2luZyBhbiBpbG9jIGJveCBhZnRlcgphbmQgaWluZiBvbmUsIHRoZSBw b2ludGVycyBtYXkgZW5kIHVwIHJlZmVyZW5jaW5nIGZyZWVkIG1lbW9yeS4KCkZpeGVzIHVzZS1h ZnRlci1mcmVlIHdpdGggc3VjaCBzYW1wbGVzLgoKU2lnbmVkLW9mZi1ieTogSmFtZXMgQWxtZXIg PGphbXJpYWxAZ21haWwuY29tPgotLS0KIGxpYmF2Zm9ybWF0L2lzb20uaCB8ICAyICstCiBsaWJh dmZvcm1hdC9tb3YuYyAgfCA5MyArKysrKysrKysrKysrKysrKysrKysrKysrKysrKy0tLS0tLS0t LS0tLS0tLS0tCiAyIGZpbGVzIGNoYW5nZWQsIDYwIGluc2VydGlvbnMoKyksIDM1IGRlbGV0aW9u cygtKQoKZGlmZiAtLWdpdCBhL2xpYmF2Zm9ybWF0L2lzb20uaCBiL2xpYmF2Zm9ybWF0L2lzb20u aAppbmRleCA0NzIzMzk3MDQ4Li5mZmFiYzAxYTJkIDEwMDY0NAotLS0gYS9saWJhdmZvcm1hdC9p c29tLmgKKysrIGIvbGliYXZmb3JtYXQvaXNvbS5oCkBAIC0zNTUsNyArMzU1LDcgQEAgdHlwZWRl ZiBzdHJ1Y3QgTU9WQ29udGV4dCB7CiAgICAgdWludDMyX3QgbWF4X3N0dHNfZGVsdGE7CiAgICAg aW50IHByaW1hcnlfaXRlbV9pZDsKICAgICBpbnQgY3VyX2l0ZW1faWQ7Ci0gICAgSEVJRkl0ZW0g KmhlaWZfaXRlbTsKKyAgICBIRUlGSXRlbSAqKmhlaWZfaXRlbTsKICAgICBpbnQgbmJfaGVpZl9p dGVtOwogICAgIEhFSUZHcmlkICpoZWlmX2dyaWQ7CiAgICAgaW50IG5iX2hlaWZfZ3JpZDsKZGlm ZiAtLWdpdCBhL2xpYmF2Zm9ybWF0L21vdi5jIGIvbGliYXZmb3JtYXQvbW92LmMKaW5kZXggMTFl ZThiOGQ3Zi4uNTRmODU5NGY2NyAxMDA2NDQKLS0tIGEvbGliYXZmb3JtYXQvbW92LmMKKysrIGIv bGliYXZmb3JtYXQvbW92LmMKQEAgLTE5NiwxMCArMTk2LDEwIEBAIHN0YXRpYyBIRUlGSXRlbSAq aGVpZl9jdXJfaXRlbShNT1ZDb250ZXh0ICpjKQogICAgIEhFSUZJdGVtICppdGVtID0gTlVMTDsK IAogICAgIGZvciAoaW50IGkgPSAwOyBpIDwgYy0+bmJfaGVpZl9pdGVtOyBpKyspIHsKLSAgICAg ICAgaWYgKGMtPmhlaWZfaXRlbVtpXS5pdGVtX2lkICE9IGMtPmN1cl9pdGVtX2lkKQorICAgICAg ICBpZiAoIWMtPmhlaWZfaXRlbVtpXSB8fCBjLT5oZWlmX2l0ZW1baV0tPml0ZW1faWQgIT0gYy0+ Y3VyX2l0ZW1faWQpCiAgICAgICAgICAgICBjb250aW51ZTsKIAotICAgICAgICBpdGVtID0gJmMt PmhlaWZfaXRlbVtpXTsKKyAgICAgICAgaXRlbSA9IGMtPmhlaWZfaXRlbVtpXTsKICAgICAgICAg YnJlYWs7CiAgICAgfQogCkBAIC04NjEyLDcgKzg2MTIsNyBAQCBzdGF0aWMgaW50IG1vdl9yZWFk X2lkYXQoTU9WQ29udGV4dCAqYywgQVZJT0NvbnRleHQgKnBiLCBNT1ZBdG9tIGF0b20pCiAKIHN0 YXRpYyBpbnQgbW92X3JlYWRfaWxvYyhNT1ZDb250ZXh0ICpjLCBBVklPQ29udGV4dCAqcGIsIE1P VkF0b20gYXRvbSkKIHsKLSAgICBIRUlGSXRlbSAqaGVpZl9pdGVtOworICAgIEhFSUZJdGVtICoq aGVpZl9pdGVtOwogICAgIGludCB2ZXJzaW9uLCBvZmZzZXRfc2l6ZSwgbGVuZ3RoX3NpemUsIGJh c2Vfb2Zmc2V0X3NpemUsIGluZGV4X3NpemU7CiAgICAgaW50IGl0ZW1fY291bnQsIGV4dGVudF9j b3VudDsKICAgICBpbnQ2NF90IGJhc2Vfb2Zmc2V0LCBleHRlbnRfb2Zmc2V0LCBleHRlbnRfbGVu Z3RoOwpAQCAtODY0MywxMiArODY0MywxMyBAQCBzdGF0aWMgaW50IG1vdl9yZWFkX2lsb2MoTU9W Q29udGV4dCAqYywgQVZJT0NvbnRleHQgKnBiLCBNT1ZBdG9tIGF0b20pCiAgICAgICAgIHJldHVy biBBVkVSUk9SKEVOT01FTSk7CiAgICAgYy0+aGVpZl9pdGVtID0gaGVpZl9pdGVtOwogICAgIGlm IChpdGVtX2NvdW50ID4gYy0+bmJfaGVpZl9pdGVtKQotICAgICAgICBtZW1zZXQoYy0+aGVpZl9p dGVtICsgYy0+bmJfaGVpZl9pdGVtLCAwLAorICAgICAgICBtZW1zZXQoJmMtPmhlaWZfaXRlbVtj LT5uYl9oZWlmX2l0ZW1dLCAwLAogICAgICAgICAgICAgICAgc2l6ZW9mKCpjLT5oZWlmX2l0ZW0p ICogKGl0ZW1fY291bnQgLSBjLT5uYl9oZWlmX2l0ZW0pKTsKICAgICBjLT5uYl9oZWlmX2l0ZW0g PSBGRk1BWChjLT5uYl9oZWlmX2l0ZW0sIGl0ZW1fY291bnQpOwogCiAgICAgYXZfbG9nKGMtPmZj LCBBVl9MT0dfVFJBQ0UsICJpbG9jOiBpdGVtX2NvdW50ICVkXG4iLCBpdGVtX2NvdW50KTsKICAg ICBmb3IgKGludCBpID0gMDsgaSA8IGl0ZW1fY291bnQ7IGkrKykgeworICAgICAgICBIRUlGSXRl bSAqaXRlbSA9IGMtPmhlaWZfaXRlbVtpXTsKICAgICAgICAgaW50IGl0ZW1faWQgPSAodmVyc2lv biA8IDIpID8gYXZpb19yYjE2KHBiKSA6IGF2aW9fcmIzMihwYik7CiAgICAgICAgIGludCBvZmZz ZXRfdHlwZSA9ICh2ZXJzaW9uID4gMCkgPyBhdmlvX3JiMTYocGIpICYgMHhmIDogMDsKIApAQCAt ODY1OCw3ICs4NjU5LDYgQEAgc3RhdGljIGludCBtb3ZfcmVhZF9pbG9jKE1PVkNvbnRleHQgKmMs IEFWSU9Db250ZXh0ICpwYiwgTU9WQXRvbSBhdG9tKQogICAgICAgICAgICAgYXZwcml2X3JlcG9y dF9taXNzaW5nX2ZlYXR1cmUoYy0+ZmMsICJpbG9jIG9mZnNldCB0eXBlICVkIiwgb2Zmc2V0X3R5 cGUpOwogICAgICAgICAgICAgcmV0dXJuIEFWRVJST1JfUEFUQ0hXRUxDT01FOwogICAgICAgICB9 Ci0gICAgICAgIGMtPmhlaWZfaXRlbVtpXS5pdGVtX2lkID0gaXRlbV9pZDsKIAogICAgICAgICBh dmlvX3JiMTYocGIpOyAgLy8gZGF0YV9yZWZlcmVuY2VfaW5kZXguCiAgICAgICAgIGlmIChyYl9z aXplKHBiLCAmYmFzZV9vZmZzZXQsIGJhc2Vfb2Zmc2V0X3NpemUpIDwgMCkKQEAgLTg2NjksMTkg Kzg2NjksMjYgQEAgc3RhdGljIGludCBtb3ZfcmVhZF9pbG9jKE1PVkNvbnRleHQgKmMsIEFWSU9D b250ZXh0ICpwYiwgTU9WQXRvbSBhdG9tKQogICAgICAgICAgICAgYXZwcml2X3JlcG9ydF9taXNz aW5nX2ZlYXR1cmUoYy0+ZmMsICJpbG9jOiBleHRlbnRfY291bnQgPiAxIik7CiAgICAgICAgICAg ICByZXR1cm4gQVZFUlJPUl9QQVRDSFdFTENPTUU7CiAgICAgICAgIH0KLSAgICAgICAgZm9yIChp bnQgaiA9IDA7IGogPCBleHRlbnRfY291bnQ7IGorKykgewotICAgICAgICAgICAgaWYgKHJiX3Np emUocGIsICZleHRlbnRfb2Zmc2V0LCBvZmZzZXRfc2l6ZSkgPCAwIHx8Ci0gICAgICAgICAgICAg ICAgcmJfc2l6ZShwYiwgJmV4dGVudF9sZW5ndGgsIGxlbmd0aF9zaXplKSA8IDAgfHwKLSAgICAg ICAgICAgICAgICBiYXNlX29mZnNldCA+IElOVDY0X01BWCAtIGV4dGVudF9vZmZzZXQpCi0gICAg ICAgICAgICAgICAgcmV0dXJuIEFWRVJST1JfSU5WQUxJRERBVEE7Ci0gICAgICAgICAgICBpZiAo b2Zmc2V0X3R5cGUgPT0gMSkKLSAgICAgICAgICAgICAgICBjLT5oZWlmX2l0ZW1baV0uaXNfaWRh dF9yZWxhdGl2ZSA9IDE7Ci0gICAgICAgICAgICBjLT5oZWlmX2l0ZW1baV0uZXh0ZW50X2xlbmd0 aCA9IGV4dGVudF9sZW5ndGg7Ci0gICAgICAgICAgICBjLT5oZWlmX2l0ZW1baV0uZXh0ZW50X29m ZnNldCA9IGJhc2Vfb2Zmc2V0ICsgZXh0ZW50X29mZnNldDsKLSAgICAgICAgICAgIGF2X2xvZyhj LT5mYywgQVZfTE9HX1RSQUNFLCAiaWxvYzogaXRlbV9pZHggJWQsIG9mZnNldF90eXBlICVkLCAi Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImV4dGVudF9vZmZzZXQg JSJQUklkNjQiLCBleHRlbnRfbGVuZ3RoICUiUFJJZDY0IlxuIiwKLSAgICAgICAgICAgICAgICAg ICBpLCBvZmZzZXRfdHlwZSwgYy0+aGVpZl9pdGVtW2ldLmV4dGVudF9vZmZzZXQsIGMtPmhlaWZf aXRlbVtpXS5leHRlbnRfbGVuZ3RoKTsKLSAgICAgICAgfQorCisgICAgICAgIGlmIChyYl9zaXpl KHBiLCAmZXh0ZW50X29mZnNldCwgb2Zmc2V0X3NpemUpIDwgMCB8fAorICAgICAgICAgICAgcmJf c2l6ZShwYiwgJmV4dGVudF9sZW5ndGgsIGxlbmd0aF9zaXplKSA8IDAgfHwKKyAgICAgICAgICAg IGJhc2Vfb2Zmc2V0ID4gSU5UNjRfTUFYIC0gZXh0ZW50X29mZnNldCkKKyAgICAgICAgICAgIHJl dHVybiBBVkVSUk9SX0lOVkFMSUREQVRBOworCisgICAgICAgIGlmICghaXRlbSkKKyAgICAgICAg ICAgIGl0ZW0gPSBjLT5oZWlmX2l0ZW1baV0gPSBhdl9tYWxsb2N6KHNpemVvZigqaXRlbSkpOwor ICAgICAgICBpZiAoIWl0ZW0pCisgICAgICAgICAgICByZXR1cm4gQVZFUlJPUihFTk9NRU0pOwor CisgICAgICAgIGl0ZW0tPml0ZW1faWQgPSBpdGVtX2lkOworCisgICAgICAgIGlmIChvZmZzZXRf dHlwZSA9PSAxKQorICAgICAgICAgICAgaXRlbS0+aXNfaWRhdF9yZWxhdGl2ZSA9IDE7CisgICAg ICAgIGl0ZW0tPmV4dGVudF9sZW5ndGggPSBleHRlbnRfbGVuZ3RoOworICAgICAgICBpdGVtLT5l eHRlbnRfb2Zmc2V0ID0gYmFzZV9vZmZzZXQgKyBleHRlbnRfb2Zmc2V0OworICAgICAgICBhdl9s b2coYy0+ZmMsIEFWX0xPR19UUkFDRSwgImlsb2M6IGl0ZW1faWR4ICVkLCBvZmZzZXRfdHlwZSAl ZCwgIgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImV4dGVudF9vZmZzZXQg JSJQUklkNjQiLCBleHRlbnRfbGVuZ3RoICUiUFJJZDY0IlxuIiwKKyAgICAgICAgICAgICAgIGks IG9mZnNldF90eXBlLCBpdGVtLT5leHRlbnRfb2Zmc2V0LCBpdGVtLT5leHRlbnRfbGVuZ3RoKTsK ICAgICB9CiAKICAgICBjLT5mb3VuZF9pbG9jID0gMTsKQEAgLTg2OTAsNiArODY5Nyw3IEBAIHN0 YXRpYyBpbnQgbW92X3JlYWRfaWxvYyhNT1ZDb250ZXh0ICpjLCBBVklPQ29udGV4dCAqcGIsIE1P VkF0b20gYXRvbSkKIAogc3RhdGljIGludCBtb3ZfcmVhZF9pbmZlKE1PVkNvbnRleHQgKmMsIEFW SU9Db250ZXh0ICpwYiwgTU9WQXRvbSBhdG9tLCBpbnQgaWR4KQogeworICAgIEhFSUZJdGVtICpp dGVtOwogICAgIEFWQlByaW50IGl0ZW1fbmFtZTsKICAgICBpbnQ2NF90IHNpemUgPSBhdG9tLnNp emU7CiAgICAgdWludDMyX3QgaXRlbV90eXBlOwpAQCAtODcyOSwxNSArODczNywyMSBAQCBzdGF0 aWMgaW50IG1vdl9yZWFkX2luZmUoTU9WQ29udGV4dCAqYywgQVZJT0NvbnRleHQgKnBiLCBNT1ZB dG9tIGF0b20sIGludCBpZHgpCiAgICAgaWYgKHNpemUgPiAwKQogICAgICAgICBhdmlvX3NraXAo cGIsIHNpemUpOwogCisgICAgaXRlbSA9IGMtPmhlaWZfaXRlbVtpZHhdOworICAgIGlmICghaXRl bSkKKyAgICAgICAgaXRlbSA9IGMtPmhlaWZfaXRlbVtpZHhdID0gYXZfbWFsbG9jeihzaXplb2Yo Kml0ZW0pKTsKKyAgICBpZiAoIWl0ZW0pCisgICAgICAgIHJldHVybiBBVkVSUk9SKEVOT01FTSk7 CisKICAgICBpZiAocmV0KQotICAgICAgICBhdl9icHJpbnRfZmluYWxpemUoJml0ZW1fbmFtZSwg JmMtPmhlaWZfaXRlbVtpZHhdLm5hbWUpOwotICAgIGMtPmhlaWZfaXRlbVtpZHhdLml0ZW1faWQg PSBpdGVtX2lkOwotICAgIGMtPmhlaWZfaXRlbVtpZHhdLnR5cGUgICAgPSBpdGVtX3R5cGU7Cisg ICAgICAgIGF2X2JwcmludF9maW5hbGl6ZSgmaXRlbV9uYW1lLCAmYy0+aGVpZl9pdGVtW2lkeF0t Pm5hbWUpOworICAgIGMtPmhlaWZfaXRlbVtpZHhdLT5pdGVtX2lkID0gaXRlbV9pZDsKKyAgICBj LT5oZWlmX2l0ZW1baWR4XS0+dHlwZSAgICA9IGl0ZW1fdHlwZTsKIAogICAgIHN3aXRjaCAoaXRl bV90eXBlKSB7CiAgICAgY2FzZSBNS1RBRygnYScsJ3YnLCcwJywnMScpOgogICAgIGNhc2UgTUtU QUcoJ2gnLCd2JywnYycsJzEnKToKLSAgICAgICAgcmV0ID0gaGVpZl9hZGRfc3RyZWFtKGMsICZj LT5oZWlmX2l0ZW1baWR4XSk7CisgICAgICAgIHJldCA9IGhlaWZfYWRkX3N0cmVhbShjLCBjLT5o ZWlmX2l0ZW1baWR4XSk7CiAgICAgICAgIGlmIChyZXQgPCAwKQogICAgICAgICAgICAgcmV0dXJu IHJldDsKICAgICAgICAgYnJlYWs7CkBAIC04NzQ4LDcgKzg3NjIsNyBAQCBzdGF0aWMgaW50IG1v dl9yZWFkX2luZmUoTU9WQ29udGV4dCAqYywgQVZJT0NvbnRleHQgKnBiLCBNT1ZBdG9tIGF0b20s IGludCBpZHgpCiAKIHN0YXRpYyBpbnQgbW92X3JlYWRfaWluZihNT1ZDb250ZXh0ICpjLCBBVklP Q29udGV4dCAqcGIsIE1PVkF0b20gYXRvbSkKIHsKLSAgICBIRUlGSXRlbSAqaGVpZl9pdGVtOwor ICAgIEhFSUZJdGVtICoqaGVpZl9pdGVtOwogICAgIGludCBlbnRyeV9jb3VudDsKICAgICBpbnQg dmVyc2lvbiwgZ290X3N0cmVhbSA9IDAsIHJldCwgaTsKIApAQCAtODc2NiwxNSArODc4MCwxNyBA QCBzdGF0aWMgaW50IG1vdl9yZWFkX2lpbmYoTU9WQ29udGV4dCAqYywgQVZJT0NvbnRleHQgKnBi LCBNT1ZBdG9tIGF0b20pCiAgICAgICAgIHJldHVybiBBVkVSUk9SKEVOT01FTSk7CiAgICAgYy0+ aGVpZl9pdGVtID0gaGVpZl9pdGVtOwogICAgIGlmIChlbnRyeV9jb3VudCA+IGMtPm5iX2hlaWZf aXRlbSkKLSAgICAgICAgbWVtc2V0KGMtPmhlaWZfaXRlbSArIGMtPm5iX2hlaWZfaXRlbSwgMCwK KyAgICAgICAgbWVtc2V0KCZjLT5oZWlmX2l0ZW1bYy0+bmJfaGVpZl9pdGVtXSwgMCwKICAgICAg ICAgICAgICAgIHNpemVvZigqYy0+aGVpZl9pdGVtKSAqIChlbnRyeV9jb3VudCAtIGMtPm5iX2hl aWZfaXRlbSkpOwogICAgIGMtPm5iX2hlaWZfaXRlbSA9IEZGTUFYKGMtPm5iX2hlaWZfaXRlbSwg ZW50cnlfY291bnQpOwogCiAgICAgZm9yIChpID0gMDsgaSA8IGVudHJ5X2NvdW50OyBpKyspIHsK ICAgICAgICAgTU9WQXRvbSBpbmZlOwogCi0gICAgICAgIGlmIChhdmlvX2Zlb2YocGIpKQotICAg ICAgICAgICAgcmV0dXJuIEFWRVJST1JfSU5WQUxJRERBVEE7CisgICAgICAgIGlmIChhdmlvX2Zl b2YocGIpKSB7CisgICAgICAgICAgICByZXQgPSBBVkVSUk9SX0lOVkFMSUREQVRBOworICAgICAg ICAgICAgZ290byBmYWlsOworICAgICAgICB9CiAgICAgICAgIGluZmUuc2l6ZSA9IGF2aW9fcmIz MihwYikgLSA4OwogICAgICAgICBpbmZlLnR5cGUgPSBhdmlvX3JsMzIocGIpOwogICAgICAgICBy ZXQgPSBtb3ZfcmVhZF9pbmZlKGMsIHBiLCBpbmZlLCBpKTsKQEAgLTg3ODgsNyArODgwNCwxMCBA QCBzdGF0aWMgaW50IG1vdl9yZWFkX2lpbmYoTU9WQ29udGV4dCAqYywgQVZJT0NvbnRleHQgKnBi LCBNT1ZBdG9tIGF0b20pCiAgICAgcmV0dXJuIDA7CiBmYWlsOgogICAgIGZvciAoOyBpID49IDA7 IGktLSkgewotICAgICAgICBIRUlGSXRlbSAqaXRlbSA9ICZjLT5oZWlmX2l0ZW1baV07CisgICAg ICAgIEhFSUZJdGVtICppdGVtID0gYy0+aGVpZl9pdGVtW2ldOworCisgICAgICAgIGlmICghaXRl bSkKKyAgICAgICAgICAgIGNvbnRpbnVlOwogCiAgICAgICAgIGF2X2ZyZWVwKCZpdGVtLT5uYW1l KTsKICAgICAgICAgaWYgKCFpdGVtLT5zdCkKQEAgLTg4MTYsOSArODgzNSw5IEBAIHN0YXRpYyBp bnQgbW92X3JlYWRfaXJlZl9kaW1nKE1PVkNvbnRleHQgKmMsIEFWSU9Db250ZXh0ICpwYiwgaW50 IHZlcnNpb24pCiAgICAgICAgIH0KICAgICB9CiAgICAgZm9yIChpbnQgaSA9IDA7IGkgPCBjLT5u Yl9oZWlmX2l0ZW07IGkrKykgewotICAgICAgICBpZiAoYy0+aGVpZl9pdGVtW2ldLml0ZW1faWQg IT0gZnJvbV9pdGVtX2lkKQorICAgICAgICBpZiAoIWMtPmhlaWZfaXRlbVtpXSB8fCBjLT5oZWlm X2l0ZW1baV0tPml0ZW1faWQgIT0gZnJvbV9pdGVtX2lkKQogICAgICAgICAgICAgY29udGludWU7 Ci0gICAgICAgIGl0ZW0gPSAmYy0+aGVpZl9pdGVtW2ldOworICAgICAgICBpdGVtID0gYy0+aGVp Zl9pdGVtW2ldOwogCiAgICAgICAgIHN3aXRjaCAoaXRlbS0+dHlwZSkgewogICAgICAgICBjYXNl IE1LVEFHKCdnJywncicsJ2knLCdkJyk6CkBAIC05NjkyLDggKzk3MTEsMTIgQEAgc3RhdGljIGlu dCBtb3ZfcmVhZF9jbG9zZShBVkZvcm1hdENvbnRleHQgKnMpCiAKICAgICBhdl9mcmVlcCgmbW92 LT5hZXNfZGVjcnlwdCk7CiAgICAgYXZfZnJlZXAoJm1vdi0+Y2hhcHRlcl90cmFja3MpOwotICAg IGZvciAoaSA9IDA7IGkgPCBtb3YtPm5iX2hlaWZfaXRlbTsgaSsrKQotICAgICAgICBhdl9mcmVl cCgmbW92LT5oZWlmX2l0ZW1baV0ubmFtZSk7CisgICAgZm9yIChpID0gMDsgaSA8IG1vdi0+bmJf aGVpZl9pdGVtOyBpKyspIHsKKyAgICAgICAgaWYgKCFtb3YtPmhlaWZfaXRlbVtpXSkKKyAgICAg ICAgICAgIGNvbnRpbnVlOworICAgICAgICBhdl9mcmVlcCgmbW92LT5oZWlmX2l0ZW1baV0tPm5h bWUpOworICAgICAgICBhdl9mcmVlcCgmbW92LT5oZWlmX2l0ZW1baV0pOworICAgIH0KICAgICBh dl9mcmVlcCgmbW92LT5oZWlmX2l0ZW0pOwogICAgIGZvciAoaSA9IDA7IGkgPCBtb3YtPm5iX2hl aWZfZ3JpZDsgaSsrKSB7CiAgICAgICAgIGF2X2ZyZWVwKCZtb3YtPmhlaWZfZ3JpZFtpXS50aWxl X2lkX2xpc3QpOwpAQCAtMTAwMDksMTAgKzEwMDMyLDEwIEBAIHN0YXRpYyBpbnQgbW92X3BhcnNl X3RpbGVzKEFWRm9ybWF0Q29udGV4dCAqcykKICAgICAgICAgICAgIGludCBrOwogCiAgICAgICAg ICAgICBmb3IgKGsgPSAwOyBrIDwgbW92LT5uYl9oZWlmX2l0ZW07IGsrKykgewotICAgICAgICAg ICAgICAgIEhFSUZJdGVtICppdGVtID0gJm1vdi0+aGVpZl9pdGVtW2tdOworICAgICAgICAgICAg ICAgIEhFSUZJdGVtICppdGVtID0gbW92LT5oZWlmX2l0ZW1ba107CiAgICAgICAgICAgICAgICAg QVZTdHJlYW0gKnN0ID0gaXRlbS0+c3Q7CiAKLSAgICAgICAgICAgICAgICBpZiAoaXRlbS0+aXRl bV9pZCAhPSB0aWxlX2lkKQorICAgICAgICAgICAgICAgIGlmICghaXRlbSB8fCBpdGVtLT5pdGVt X2lkICE9IHRpbGVfaWQpCiAgICAgICAgICAgICAgICAgICAgIGNvbnRpbnVlOwogICAgICAgICAg ICAgICAgIGlmICghc3QpIHsKICAgICAgICAgICAgICAgICAgICAgYXZfbG9nKHMsIEFWX0xPR19X QVJOSU5HLCAiSEVJRiBpdGVtIGlkICVkIGZyb20gZ3JpZCBpZCAlZCBkb2Vzbid0ICIKQEAgLTEw MDc4LDExICsxMDEwMSwxMyBAQCBzdGF0aWMgaW50IG1vdl9wYXJzZV9oZWlmX2l0ZW1zKEFWRm9y bWF0Q29udGV4dCAqcykKICAgICBpbnQgZXJyOwogCiAgICAgZm9yIChpbnQgaSA9IDA7IGkgPCBt b3YtPm5iX2hlaWZfaXRlbTsgaSsrKSB7Ci0gICAgICAgIEhFSUZJdGVtICppdGVtID0gJm1vdi0+ aGVpZl9pdGVtW2ldOworICAgICAgICBIRUlGSXRlbSAqaXRlbSA9IG1vdi0+aGVpZl9pdGVtW2ld OwogICAgICAgICBNT1ZTdHJlYW1Db250ZXh0ICpzYzsKICAgICAgICAgQVZTdHJlYW0gKnN0Owog ICAgICAgICBpbnQ2NF90IG9mZnNldCA9IDA7CiAKKyAgICAgICAgaWYgKCFpdGVtKQorICAgICAg ICAgICAgY29udGludWU7CiAgICAgICAgIGlmICghaXRlbS0+c3QpIHsKICAgICAgICAgICAgIGlm IChpdGVtLT5pdGVtX2lkID09IG1vdi0+dGhtYl9pdGVtX2lkKSB7CiAgICAgICAgICAgICAgICAg YXZfbG9nKHMsIEFWX0xPR19FUlJPUiwgIkhFSUYgdGh1bWJuYWlsIGRvZXNuJ3QgcmVmZXJlbmNl IGEgc3RyZWFtXG4iKTsKLS0gCjIuNDkuMQoKCkZyb20gNWY4YjAyYTlmZmMyMzNmOTYyZGQ2YjI2 N2Y1YWUzNzdlY2EyMjU3MSBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKRnJvbTogSmFtZXMgQWxt ZXIgPGphbXJpYWxAZ21haWwuY29tPgpEYXRlOiBUaHUsIDI0IE9jdCAyMDI0IDIzOjA5OjIzIC0w MzAwClN1YmplY3Q6IFtQQVRDSCAwNDYvNDM0XSBhdmNvZGVjL2FvbV9maWxtX2dyYWluOiBhbGxv Y2F0ZSBmaWxtIGdyYWluIG1ldGFkYXRhCiBkeW5hbWljYWxseQoKVGhpcyByZW1vdmVzIHRoZSBB QkkgYnJlYWtpbmcgdXNlIG9mIHNpemVvZihBVkZpbG1HcmFpblBhcmFtcyksIGFuZCBhY2hpZXZl cyB0aGUKc2FtZSBzaXplIHJlZHVjdGlvbiB0byBkZWNvZGVyIHN0cnVjdHMgYXMgMDhiMWJmZmE0 OTcxNWE5NjE1YWNjMDI1ZGZiZWEyNTJkODQwOWUxZi4KClNpZ25lZC1vZmYtYnk6IEphbWVzIEFs bWVyIDxqYW1yaWFsQGdtYWlsLmNvbT4KKGNoZXJyeSBwaWNrZWQgZnJvbSBjb21taXQgZmQ0YTJj OWIwMjZkOGUyMzMwMTg1NGE1MDBmZGZjN2JkNGE0Y2JjNikKLS0tCiBsaWJhdmNvZGVjL2FvbV9m aWxtX2dyYWluLmMgfCA0OSArKysrKysrKysrKysrKysrKysrKysrKysrKysrKy0tLS0tLS0tCiBs aWJhdmNvZGVjL2FvbV9maWxtX2dyYWluLmggfCAgNiArKysrLQogbGliYXZjb2RlYy9oMjY0NV9z ZWkuYyAgICAgIHwgMTIgKysrKysrKystCiBsaWJhdmNvZGVjL2hldmMvaGV2Y2RlYy5jICAgfCAg MSAtCiA0IGZpbGVzIGNoYW5nZWQsIDU1IGluc2VydGlvbnMoKyksIDEzIGRlbGV0aW9ucygtKQoK ZGlmZiAtLWdpdCBhL2xpYmF2Y29kZWMvYW9tX2ZpbG1fZ3JhaW4uYyBiL2xpYmF2Y29kZWMvYW9t X2ZpbG1fZ3JhaW4uYwppbmRleCBlMzAyNTY3YmE1Li4xYjE2OTNkY2Q5IDEwMDY0NAotLS0gYS9s aWJhdmNvZGVjL2FvbV9maWxtX2dyYWluLmMKKysrIGIvbGliYXZjb2RlYy9hb21fZmlsbV9ncmFp bi5jCkBAIC0yNiw3ICsyNiw5IEBACiAgKi8KIAogI2luY2x1ZGUgImxpYmF2dXRpbC9hdmFzc2Vy dC5oIgorI2luY2x1ZGUgImxpYmF2dXRpbC9idWZmZXIuaCIKICNpbmNsdWRlICJsaWJhdnV0aWwv aW1ndXRpbHMuaCIKKyNpbmNsdWRlICJsaWJhdnV0aWwvbWVtLmgiCiAKICNpbmNsdWRlICJhb21f ZmlsbV9ncmFpbi5oIgogI2luY2x1ZGUgImdldF9iaXRzLmgiCkBAIC0xMjQsNyArMTI2LDcgQEAg aW50IGZmX2FvbV9wYXJzZV9maWxtX2dyYWluX3NldHMoQVZGaWxtR3JhaW5BRkdTMVBhcmFtcyAq cywKIHsKICAgICBHZXRCaXRDb250ZXh0IGdiYywgKmdiID0gJmdiYzsKICAgICBBVkZpbG1HcmFp bkFPTVBhcmFtcyAqYW9tOwotICAgIEFWRmlsbUdyYWluUGFyYW1zICpmZ3AsICpyZWYgPSBOVUxM OworICAgIEFWRmlsbUdyYWluUGFyYW1zICpmZ3AgPSBOVUxMLCAqcmVmID0gTlVMTDsKICAgICBp bnQgcmV0LCBudW1fc2V0cywgbiwgaSwgdXYsIG51bV95X2NvZWZmcywgdXBkYXRlX2dyYWluLCBs dW1hX29ubHk7CiAKICAgICByZXQgPSBpbml0X2dldF9iaXRzOChnYiwgcGF5bG9hZCwgcGF5bG9h ZF9zaXplKTsKQEAgLTEzNSwyOCArMTM3LDM4IEBAIGludCBmZl9hb21fcGFyc2VfZmlsbV9ncmFp bl9zZXRzKEFWRmlsbUdyYWluQUZHUzFQYXJhbXMgKnMsCiAgICAgaWYgKCFzLT5lbmFibGUpCiAg ICAgICAgIHJldHVybiAwOwogCisgICAgZm9yIChpbnQgaSA9IDA7IGkgPCBGRl9BUlJBWV9FTEVN UyhzLT5zZXRzKTsgaSsrKQorICAgICAgICBhdl9idWZmZXJfdW5yZWYoJnMtPnNldHNbaV0pOwor CiAgICAgc2tpcF9iaXRzKGdiLCA0KTsgLy8gcmVzZXJ2ZWQKICAgICBudW1fc2V0cyA9IGdldF9i aXRzKGdiLCAzKSArIDE7CiAgICAgZm9yIChuID0gMDsgbiA8IG51bV9zZXRzOyBuKyspIHsKICAg ICAgICAgaW50IHBheWxvYWRfNGJ5dGUsIHBheWxvYWRfc2l6ZSwgc2V0X2lkeCwgYXBwbHlfdW5p dHNfbG9nMiwgdnNjX2ZsYWc7CiAgICAgICAgIGludCBwcmVkaWN0X3NjYWxpbmcsIHByZWRpY3Rf eV9zY2FsaW5nLCBwcmVkaWN0X3V2X3NjYWxpbmdbMl07CiAgICAgICAgIGludCBwYXlsb2FkX2Jp dHMsIHN0YXJ0X3Bvc2l0aW9uOworICAgICAgICBzaXplX3QgZmdwX3NpemU7CiAKICAgICAgICAg c3RhcnRfcG9zaXRpb24gPSBnZXRfYml0c19jb3VudChnYik7CiAgICAgICAgIHBheWxvYWRfNGJ5 dGUgPSBnZXRfYml0czEoZ2IpOwogICAgICAgICBwYXlsb2FkX3NpemUgPSBnZXRfYml0cyhnYiwg cGF5bG9hZF80Ynl0ZSA/IDIgOiA4KTsKICAgICAgICAgc2V0X2lkeCA9IGdldF9iaXRzKGdiLCAz KTsKLSAgICAgICAgZmdwID0gJnMtPnNldHNbc2V0X2lkeF07CisgICAgICAgIGZncCA9IGF2X2Zp bG1fZ3JhaW5fcGFyYW1zX2FsbG9jKCZmZ3Bfc2l6ZSk7CisgICAgICAgIGlmICghZmdwKQorICAg ICAgICAgICAgZ290byBlcnJvcjsKICAgICAgICAgYW9tID0gJmZncC0+Y29kZWMuYW9tOwogCiAg ICAgICAgIGZncC0+dHlwZSA9IGdldF9iaXRzMShnYikgPyBBVl9GSUxNX0dSQUlOX1BBUkFNU19B VjEgOiBBVl9GSUxNX0dSQUlOX1BBUkFNU19OT05FOwotICAgICAgICBpZiAoIWZncC0+dHlwZSkK KyAgICAgICAgaWYgKCFmZ3AtPnR5cGUpIHsKKyAgICAgICAgICAgIGF2X2ZyZWVwKCZmZ3ApOwog ICAgICAgICAgICAgY29udGludWU7CisgICAgICAgIH0KIAogICAgICAgICBmZ3AtPnNlZWQgPSBn ZXRfYml0cyhnYiwgMTYpOwogICAgICAgICB1cGRhdGVfZ3JhaW4gPSBnZXRfYml0czEoZ2IpOwot ICAgICAgICBpZiAoIXVwZGF0ZV9ncmFpbikKKyAgICAgICAgaWYgKCF1cGRhdGVfZ3JhaW4pIHsK KyAgICAgICAgICAgIGF2X2ZyZWVwKCZmZ3ApOwogICAgICAgICAgICAgY29udGludWU7CisgICAg ICAgIH0KIAogICAgICAgICBhcHBseV91bml0c19sb2cyICA9IGdldF9iaXRzKGdiLCA0KTsKICAg ICAgICAgZmdwLT53aWR0aCAgPSBnZXRfYml0cyhnYiwgMTIpIDw8IGFwcGx5X3VuaXRzX2xvZzI7 CkBAIC0zMzAsMzIgKzM0Miw0OSBAQCBpbnQgZmZfYW9tX3BhcnNlX2ZpbG1fZ3JhaW5fc2V0cyhB VkZpbG1HcmFpbkFGR1MxUGFyYW1zICpzLAogICAgICAgICBpZiAocGF5bG9hZF9iaXRzID4gcGF5 bG9hZF9zaXplICogOCkKICAgICAgICAgICAgIGdvdG8gZXJyb3I7CiAgICAgICAgIHNraXBfYml0 cyhnYiwgcGF5bG9hZF9zaXplICogOCAtIHBheWxvYWRfYml0cyk7CisKKyAgICAgICAgYXZfYnVm ZmVyX3VucmVmKCZzLT5zZXRzW3NldF9pZHhdKTsKKyAgICAgICAgcy0+c2V0c1tzZXRfaWR4XSA9 IGF2X2J1ZmZlcl9jcmVhdGUoKHVpbnQ4X3QgKilmZ3AsIGZncF9zaXplLCBOVUxMLCBOVUxMLCAw KTsKKyAgICAgICAgaWYgKCFzLT5zZXRzW3NldF9pZHhdKQorICAgICAgICAgICAgZ290byBlcnJv cjsKICAgICB9CiAgICAgcmV0dXJuIDA7CiAKIGVycm9yOgotICAgIG1lbXNldChzLCAwLCBzaXpl b2YoKnMpKTsKKyAgICBhdl9mcmVlKGZncCk7CisgICAgZmZfYW9tX3VuaW5pdF9maWxtX2dyYWlu X3BhcmFtcyhzKTsKICAgICByZXR1cm4gQVZFUlJPUl9JTlZBTElEREFUQTsKIH0KIAogaW50IGZm X2FvbV9hdHRhY2hfZmlsbV9ncmFpbl9zZXRzKGNvbnN0IEFWRmlsbUdyYWluQUZHUzFQYXJhbXMg KnMsIEFWRnJhbWUgKmZyYW1lKQogewotICAgIEFWRmlsbUdyYWluUGFyYW1zICpmZ3A7CiAgICAg aWYgKCFzLT5lbmFibGUpCiAgICAgICAgIHJldHVybiAwOwogCiAgICAgZm9yIChpbnQgaSA9IDA7 IGkgPCBGRl9BUlJBWV9FTEVNUyhzLT5zZXRzKTsgaSsrKSB7Ci0gICAgICAgIGlmIChzLT5zZXRz W2ldLnR5cGUgIT0gQVZfRklMTV9HUkFJTl9QQVJBTVNfQVYxKQorICAgICAgICBBVkJ1ZmZlclJl ZiAqYnVmOworCisgICAgICAgIGlmICghcy0+c2V0c1tpXSkKICAgICAgICAgICAgIGNvbnRpbnVl OwotICAgICAgICBmZ3AgPSBhdl9maWxtX2dyYWluX3BhcmFtc19jcmVhdGVfc2lkZV9kYXRhKGZy YW1lKTsKLSAgICAgICAgaWYgKCFmZ3ApCisKKyAgICAgICAgYnVmID0gYXZfYnVmZmVyX3JlZihz LT5zZXRzW2ldKTsKKyAgICAgICAgaWYgKCFidWYgfHwgIWF2X2ZyYW1lX25ld19zaWRlX2RhdGFf ZnJvbV9idWYoZnJhbWUsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIEFWX0ZSQU1FX0RBVEFfRklMTV9HUkFJTl9QQVJBTVMsIGJ1ZikpIHsKKyAg ICAgICAgICAgIGF2X2J1ZmZlcl91bnJlZigmYnVmKTsKICAgICAgICAgICAgIHJldHVybiBBVkVS Uk9SKEVOT01FTSk7Ci0gICAgICAgIG1lbWNweShmZ3AsICZzLT5zZXRzW2ldLCBzaXplb2YoKmZn cCkpOworICAgICAgICB9CiAgICAgfQogCiAgICAgcmV0dXJuIDA7CiB9CiAKK3ZvaWQgZmZfYW9t X3VuaW5pdF9maWxtX2dyYWluX3BhcmFtcyhBVkZpbG1HcmFpbkFGR1MxUGFyYW1zICpzKQorewor ICAgIGZvciAoaW50IGkgPSAwOyBpIDwgRkZfQVJSQVlfRUxFTVMocy0+c2V0cyk7IGkrKykKKyAg ICAgICAgYXZfYnVmZmVyX3VucmVmKCZzLT5zZXRzW2ldKTsKKyAgICBzLT5lbmFibGUgPSAwOwor fQorCiAvLyBUYWtlbiBmcm9tIHRoZSBBVjEgc3BlYy4gUmFuZ2UgaXMgWy0yMDQ4LCAyMDQ3XSwg bWVhbiBpcyAwIGFuZCBzdGRkZXYgaXMgNTEyCiBzdGF0aWMgY29uc3QgaW50MTZfdCBnYXVzc2lh bl9zZXF1ZW5jZVsyMDQ4XSA9IHsKICAgICA1NiwgICAgNTY4LCAgIC0xODAsICAxNzIsICAgMTI0 LCAgIC04NCwgICAxNzIsICAgLTY0LCAgIC05MDAsICAyNCwgICA4MjAsCmRpZmYgLS1naXQgYS9s aWJhdmNvZGVjL2FvbV9maWxtX2dyYWluLmggYi9saWJhdmNvZGVjL2FvbV9maWxtX2dyYWluLmgK aW5kZXggMWY4Yzc4ZjY1Ny4uOTdjMzNkZWI0NyAxMDA2NDQKLS0tIGEvbGliYXZjb2RlYy9hb21f ZmlsbV9ncmFpbi5oCisrKyBiL2xpYmF2Y29kZWMvYW9tX2ZpbG1fZ3JhaW4uaApAQCAtMjgsMTEg KzI4LDEyIEBACiAjaWZuZGVmIEFWQ09ERUNfQU9NX0ZJTE1fR1JBSU5fSAogI2RlZmluZSBBVkNP REVDX0FPTV9GSUxNX0dSQUlOX0gKIAorI2luY2x1ZGUgImxpYmF2dXRpbC9idWZmZXIuaCIKICNp bmNsdWRlICJsaWJhdnV0aWwvZmlsbV9ncmFpbl9wYXJhbXMuaCIKIAogdHlwZWRlZiBzdHJ1Y3Qg QVZGaWxtR3JhaW5BRkdTMVBhcmFtcyB7CiAgICAgaW50IGVuYWJsZTsKLSAgICBBVkZpbG1HcmFp blBhcmFtcyBzZXRzWzhdOworICAgIEFWQnVmZmVyUmVmICpzZXRzWzhdOwogfSBBVkZpbG1HcmFp bkFGR1MxUGFyYW1zOwogCiAvLyBTeW50aGVzaXplcyBmaWxtIGdyYWluIG9uIHRvcCBvZiBgaW5g IGFuZCBzdG9yZXMgdGhlIHJlc3VsdCB0byBgb3V0YC4gYG91dGAKQEAgLTQ4LDQgKzQ5LDcgQEAg aW50IGZmX2FvbV9wYXJzZV9maWxtX2dyYWluX3NldHMoQVZGaWxtR3JhaW5BRkdTMVBhcmFtcyAq cywKIC8vIEF0dGFjaCBhbGwgdmFsaWQgZmlsbSBncmFpbiBwYXJhbSBzZXRzIHRvIGBmcmFtZWAu CiBpbnQgZmZfYW9tX2F0dGFjaF9maWxtX2dyYWluX3NldHMoY29uc3QgQVZGaWxtR3JhaW5BRkdT MVBhcmFtcyAqcywgQVZGcmFtZSAqZnJhbWUpOwogCisvLyBGcmVlIGFsbCBhbGxvY2F0aW9ucyBp biBgc2AgYW5kIHplcm8gdGhlIGVudGlyZSBzdHJ1Y3QuCit2b2lkIGZmX2FvbV91bmluaXRfZmls bV9ncmFpbl9wYXJhbXMoQVZGaWxtR3JhaW5BRkdTMVBhcmFtcyAqcyk7CisKICNlbmRpZiAvKiBB VkNPREVDX0FPTV9GSUxNX0dSQUlOX0ggKi8KZGlmZiAtLWdpdCBhL2xpYmF2Y29kZWMvaDI2NDVf c2VpLmMgYi9saWJhdmNvZGVjL2gyNjQ1X3NlaS5jCmluZGV4IGM0NmE1NjMzMDguLjE1ZTg2N2I1 ZWQgMTAwNjQ0Ci0tLSBhL2xpYmF2Y29kZWMvaDI2NDVfc2VpLmMKKysrIGIvbGliYXZjb2RlYy9o MjY0NV9zZWkuYwpAQCAtMjYsNiArMjYsNyBAQAogI2luY2x1ZGUgImNvbmZpZ19jb21wb25lbnRz LmgiCiAKICNpbmNsdWRlICJsaWJhdnV0aWwvYW1iaWVudF92aWV3aW5nX2Vudmlyb25tZW50Lmgi CisjaW5jbHVkZSAibGliYXZ1dGlsL2J1ZmZlci5oIgogI2luY2x1ZGUgImxpYmF2dXRpbC9kaXNw bGF5LmgiCiAjaW5jbHVkZSAibGliYXZ1dGlsL2hkcl9keW5hbWljX21ldGFkYXRhLmgiCiAjaW5j bHVkZSAibGliYXZ1dGlsL2ZpbG1fZ3JhaW5fcGFyYW1zLmgiCkBAIC01NDIsNiArNTQzLDE0IEBA IGludCBmZl9oMjY0NV9zZWlfY3R4X3JlcGxhY2UoSDI2NDVTRUkgKmRzdCwgY29uc3QgSDI2NDVT RUkgKnNyYykKICAgICAgICAgfQogICAgIH0KIAorICAgIGZvciAodW5zaWduZWQgaSA9IDA7IGkg PCBGRl9BUlJBWV9FTEVNUyhkc3QtPmFvbV9maWxtX2dyYWluLnNldHMpOyBpKyspIHsKKyAgICAg ICAgcmV0ID0gYXZfYnVmZmVyX3JlcGxhY2UoJmRzdC0+YW9tX2ZpbG1fZ3JhaW4uc2V0c1tpXSwK KyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNyYy0+YW9tX2ZpbG1fZ3JhaW4uc2V0 c1tpXSk7CisgICAgICAgIGlmIChyZXQgPCAwKQorICAgICAgICAgICAgcmV0dXJuIHJldDsKKyAg ICB9CisgICAgZHN0LT5hb21fZmlsbV9ncmFpbi5lbmFibGUgPSBzcmMtPmFvbV9maWxtX2dyYWlu LmVuYWJsZTsKKwogICAgIHJldHVybiAwOwogfQogCkBAIC05MTMsNSArOTIyLDYgQEAgdm9pZCBm Zl9oMjY0NV9zZWlfcmVzZXQoSDI2NDVTRUkgKnMpCiAgICAgcy0+YW1iaWVudF92aWV3aW5nX2Vu dmlyb25tZW50LnByZXNlbnQgPSAwOwogICAgIHMtPm1hc3RlcmluZ19kaXNwbGF5LnByZXNlbnQg PSAwOwogICAgIHMtPmNvbnRlbnRfbGlnaHQucHJlc2VudCA9IDA7Ci0gICAgcy0+YW9tX2ZpbG1f Z3JhaW4uZW5hYmxlID0gMDsKKworICAgIGZmX2FvbV91bmluaXRfZmlsbV9ncmFpbl9wYXJhbXMo JnMtPmFvbV9maWxtX2dyYWluKTsKIH0KZGlmZiAtLWdpdCBhL2xpYmF2Y29kZWMvaGV2Yy9oZXZj ZGVjLmMgYi9saWJhdmNvZGVjL2hldmMvaGV2Y2RlYy5jCmluZGV4IDBkYzI0ZjgyZjguLjdmMTA3 OWM2NjkgMTAwNjQ0Ci0tLSBhL2xpYmF2Y29kZWMvaGV2Yy9oZXZjZGVjLmMKKysrIGIvbGliYXZj b2RlYy9oZXZjL2hldmNkZWMuYwpAQCAtMzk2OSw3ICszOTY5LDYgQEAgc3RhdGljIGludCBoZXZj X3VwZGF0ZV90aHJlYWRfY29udGV4dChBVkNvZGVjQ29udGV4dCAqZHN0LAogICAgIHMtPnNlaS5j b21tb24uYWx0ZXJuYXRpdmVfdHJhbnNmZXIgPSBzMC0+c2VpLmNvbW1vbi5hbHRlcm5hdGl2ZV90 cmFuc2ZlcjsKICAgICBzLT5zZWkuY29tbW9uLm1hc3RlcmluZ19kaXNwbGF5ICAgID0gczAtPnNl aS5jb21tb24ubWFzdGVyaW5nX2Rpc3BsYXk7CiAgICAgcy0+c2VpLmNvbW1vbi5jb250ZW50X2xp Z2h0ICAgICAgICA9IHMwLT5zZWkuY29tbW9uLmNvbnRlbnRfbGlnaHQ7Ci0gICAgcy0+c2VpLmNv bW1vbi5hb21fZmlsbV9ncmFpbiAgICAgICA9IHMwLT5zZWkuY29tbW9uLmFvbV9maWxtX2dyYWlu OwogICAgIHMtPnNlaS50ZHJkaSAgICAgICAgICAgICAgICAgICAgICAgPSBzMC0+c2VpLnRkcmRp OwogCiAgICAgcmV0dXJuIDA7Ci0tIAoyLjQ5LjEKCgpGcm9tIGI5YWJkZDllYWE0YWU3ZmU3YzJk MzUxMjQ0NGJmOWJkN2E1NmUxMzggTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCkZyb206IEphbWVz IEFsbWVyIDxqYW1yaWFsQGdtYWlsLmNvbT4KRGF0ZTogRnJpLCAyNSBPY3QgMjAyNCAxMjo0OTox MSAtMDMwMApTdWJqZWN0OiBbUEFUQ0ggMDQ3LzQzNF0gYXZjb2RlYy9oMjY0NV9zZWk6IHVzZSB0 aGUgUmVmU3RydWN0IEFQSSBmb3IKIGZpbG1fZ3JhaW5fY2hhcmFjdGVyaXN0aWNzCgpBbmQgZW5z dXJlIHRoZSBidWZmZXIgaXMgc3luY2VkIGJldHdlZW4gdGhyZWFkcy4KQmFzZWQgb24gYSBwYXRj aCBieSBEYWxlIEN1cnRpcyA8ZGFsZWN1cnRpc0BjaHJvbWl1bS5vcmc+CgpTaWduZWQtb2ZmLWJ5 OiBKYW1lcyBBbG1lciA8amFtcmlhbEBnbWFpbC5jb20+CihjaGVycnkgcGlja2VkIGZyb20gY29t bWl0IGUzM2IxNjJjN2Q4YmJiYjQ4MzhhMmFmMzY4NWZhZDJiYjFhYzc3NGEpCi0tLQogbGliYXZj b2RlYy9oMjY0NV9zZWkuYyAgICB8IDE1ICsrKysrKysrKysrKy0tLQogbGliYXZjb2RlYy9oMjY0 NV9zZWkuaCAgICB8ICA0ICsrKy0KIGxpYmF2Y29kZWMvaDI2NF9zZWkuYyAgICAgfCAgMSAtCiBs aWJhdmNvZGVjL2gyNjRfc2xpY2UuYyAgIHwgIDUgKysrKy0KIGxpYmF2Y29kZWMvaGV2Yy9oZXZj ZGVjLmMgfCAgOSArKysrKy0tLS0KIDUgZmlsZXMgY2hhbmdlZCwgMjQgaW5zZXJ0aW9ucygrKSwg MTAgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvbGliYXZjb2RlYy9oMjY0NV9zZWkuYyBiL2xp YmF2Y29kZWMvaDI2NDVfc2VpLmMKaW5kZXggMTVlODY3YjVlZC4uNjIzNjlkZDM3ZiAxMDA2NDQK LS0tIGEvbGliYXZjb2RlYy9oMjY0NV9zZWkuYworKysgYi9saWJhdmNvZGVjL2gyNjQ1X3NlaS5j CkBAIC00Miw2ICs0Miw3IEBACiAjaW5jbHVkZSAiZ29sb21iLmgiCiAjaW5jbHVkZSAiaDI2NDVf c2VpLmgiCiAjaW5jbHVkZSAiaXR1dDM1LmgiCisjaW5jbHVkZSAicmVmc3RydWN0LmgiCiAKICNk ZWZpbmUgSVNfSDI2NChjb2RlY19pZCkgKENPTkZJR19IMjY0X1NFSSAmJiBDT05GSUdfSEVWQ19T RUkgPyBjb2RlY19pZCA9PSBBVl9DT0RFQ19JRF9IMjY0IDogQ09ORklHX0gyNjRfU0VJKQogI2Rl ZmluZSBJU19IRVZDKGNvZGVjX2lkKSAoQ09ORklHX0gyNjRfU0VJICYmIENPTkZJR19IRVZDX1NF SSA/IGNvZGVjX2lkID09IEFWX0NPREVDX0lEX0hFVkMgOiBDT05GSUdfSEVWQ19TRUkpCkBAIC00 OTUsNyArNDk2LDExIEBAIGludCBmZl9oMjY0NV9zZWlfbWVzc2FnZV9kZWNvZGUoSDI2NDVTRUkg KmgsIGVudW0gU0VJVHlwZSB0eXBlLAogICAgIGNhc2UgU0VJX1RZUEVfRElTUExBWV9PUklFTlRB VElPTjoKICAgICAgICAgcmV0dXJuIGRlY29kZV9kaXNwbGF5X29yaWVudGF0aW9uKCZoLT5kaXNw bGF5X29yaWVudGF0aW9uLCBnYik7CiAgICAgY2FzZSBTRUlfVFlQRV9GSUxNX0dSQUlOX0NIQVJB Q1RFUklTVElDUzoKLSAgICAgICAgcmV0dXJuIGRlY29kZV9maWxtX2dyYWluX2NoYXJhY3Rlcmlz dGljcygmaC0+ZmlsbV9ncmFpbl9jaGFyYWN0ZXJpc3RpY3MsIGNvZGVjX2lkLCBnYik7CisgICAg ICAgIGZmX3JlZnN0cnVjdF91bnJlZigmaC0+ZmlsbV9ncmFpbl9jaGFyYWN0ZXJpc3RpY3MpOwor ICAgICAgICBoLT5maWxtX2dyYWluX2NoYXJhY3RlcmlzdGljcyA9IGZmX3JlZnN0cnVjdF9hbGxv Y3ooc2l6ZW9mKCpoLT5maWxtX2dyYWluX2NoYXJhY3RlcmlzdGljcykpOworICAgICAgICBpZiAo IWgtPmZpbG1fZ3JhaW5fY2hhcmFjdGVyaXN0aWNzKQorICAgICAgICAgICAgcmV0dXJuIEFWRVJS T1IoRU5PTUVNKTsKKyAgICAgICAgcmV0dXJuIGRlY29kZV9maWxtX2dyYWluX2NoYXJhY3Rlcmlz dGljcyhoLT5maWxtX2dyYWluX2NoYXJhY3RlcmlzdGljcywgY29kZWNfaWQsIGdiKTsKICAgICBj YXNlIFNFSV9UWVBFX0ZSQU1FX1BBQ0tJTkdfQVJSQU5HRU1FTlQ6CiAgICAgICAgIHJldHVybiBk ZWNvZGVfZnJhbWVfcGFja2luZ19hcnJhbmdlbWVudCgmaC0+ZnJhbWVfcGFja2luZywgZ2IsIGNv ZGVjX2lkKTsKICAgICBjYXNlIFNFSV9UWVBFX0FMVEVSTkFUSVZFX1RSQU5TRkVSX0NIQVJBQ1RF UklTVElDUzoKQEAgLTU1MSw2ICs1NTYsOSBAQCBpbnQgZmZfaDI2NDVfc2VpX2N0eF9yZXBsYWNl KEgyNjQ1U0VJICpkc3QsIGNvbnN0IEgyNjQ1U0VJICpzcmMpCiAgICAgfQogICAgIGRzdC0+YW9t X2ZpbG1fZ3JhaW4uZW5hYmxlID0gc3JjLT5hb21fZmlsbV9ncmFpbi5lbmFibGU7CiAKKyAgICBm Zl9yZWZzdHJ1Y3RfcmVwbGFjZSgmZHN0LT5maWxtX2dyYWluX2NoYXJhY3RlcmlzdGljcywKKyAg ICAgICAgICAgICAgICAgICAgICAgICAgc3JjLT5maWxtX2dyYWluX2NoYXJhY3RlcmlzdGljcyk7 CisKICAgICByZXR1cm4gMDsKIH0KIApAQCAtODIwLDggKzgyOCw4IEBAIGludCBmZl9oMjY0NV9z ZWlfdG9fZnJhbWUoQVZGcmFtZSAqZnJhbWUsIEgyNjQ1U0VJICpzZWksCiAgICAgICAgICAgICBy ZXR1cm4gcmV0OwogICAgIH0KIAotICAgIGlmIChzZWktPmZpbG1fZ3JhaW5fY2hhcmFjdGVyaXN0 aWNzLnByZXNlbnQpIHsKLSAgICAgICAgSDI2NDVTRUlGaWxtR3JhaW5DaGFyYWN0ZXJpc3RpY3Mg KmZnYyA9ICZzZWktPmZpbG1fZ3JhaW5fY2hhcmFjdGVyaXN0aWNzOworICAgIGlmIChzZWktPmZp bG1fZ3JhaW5fY2hhcmFjdGVyaXN0aWNzICYmIHNlaS0+ZmlsbV9ncmFpbl9jaGFyYWN0ZXJpc3Rp Y3MtPnByZXNlbnQpIHsKKyAgICAgICAgSDI2NDVTRUlGaWxtR3JhaW5DaGFyYWN0ZXJpc3RpY3Mg KmZnYyA9IHNlaS0+ZmlsbV9ncmFpbl9jaGFyYWN0ZXJpc3RpY3M7CiAgICAgICAgIEFWRmlsbUdy YWluUGFyYW1zICpmZ3AgPSBhdl9maWxtX2dyYWluX3BhcmFtc19jcmVhdGVfc2lkZV9kYXRhKGZy YW1lKTsKICAgICAgICAgQVZGaWxtR3JhaW5IMjc0UGFyYW1zICpoMjc0OwogCkBAIC05MjMsNSAr OTMxLDYgQEAgdm9pZCBmZl9oMjY0NV9zZWlfcmVzZXQoSDI2NDVTRUkgKnMpCiAgICAgcy0+bWFz dGVyaW5nX2Rpc3BsYXkucHJlc2VudCA9IDA7CiAgICAgcy0+Y29udGVudF9saWdodC5wcmVzZW50 ID0gMDsKIAorICAgIGZmX3JlZnN0cnVjdF91bnJlZigmcy0+ZmlsbV9ncmFpbl9jaGFyYWN0ZXJp c3RpY3MpOwogICAgIGZmX2FvbV91bmluaXRfZmlsbV9ncmFpbl9wYXJhbXMoJnMtPmFvbV9maWxt X2dyYWluKTsKIH0KZGlmZiAtLWdpdCBhL2xpYmF2Y29kZWMvaDI2NDVfc2VpLmggYi9saWJhdmNv ZGVjL2gyNjQ1X3NlaS5oCmluZGV4IDU5OGY3OGI1ODUuLmFiYzQ5NzYwZDkgMTAwNjQ0Ci0tLSBh L2xpYmF2Y29kZWMvaDI2NDVfc2VpLmgKKysrIGIvbGliYXZjb2RlYy9oMjY0NV9zZWkuaApAQCAt MTM1LDExICsxMzUsMTMgQEAgdHlwZWRlZiBzdHJ1Y3QgSDI2NDVTRUkgewogICAgIEgyNjQ1U0VJ RnJhbWVQYWNraW5nIGZyYW1lX3BhY2tpbmc7CiAgICAgSDI2NDVTRUlEaXNwbGF5T3JpZW50YXRp b24gZGlzcGxheV9vcmllbnRhdGlvbjsKICAgICBIMjY0NVNFSUFsdGVybmF0aXZlVHJhbnNmZXIg YWx0ZXJuYXRpdmVfdHJhbnNmZXI7Ci0gICAgSDI2NDVTRUlGaWxtR3JhaW5DaGFyYWN0ZXJpc3Rp Y3MgZmlsbV9ncmFpbl9jaGFyYWN0ZXJpc3RpY3M7CiAgICAgSDI2NDVTRUlBbWJpZW50Vmlld2lu Z0Vudmlyb25tZW50IGFtYmllbnRfdmlld2luZ19lbnZpcm9ubWVudDsKICAgICBIMjY0NVNFSU1h c3RlcmluZ0Rpc3BsYXkgbWFzdGVyaW5nX2Rpc3BsYXk7CiAgICAgSDI2NDVTRUlDb250ZW50TGln aHQgY29udGVudF9saWdodDsKICAgICBBVkZpbG1HcmFpbkFGR1MxUGFyYW1zIGFvbV9maWxtX2dy YWluOworCisgICAgLy8gRHluYW1pYyBhbGxvY2F0aW9ucyBkdWUgdG8gbGFyZ2Ugc2l6ZS4KKyAg ICBIMjY0NVNFSUZpbG1HcmFpbkNoYXJhY3RlcmlzdGljcyAqZmlsbV9ncmFpbl9jaGFyYWN0ZXJp c3RpY3M7CiB9IEgyNjQ1U0VJOwogCiBlbnVtIHsKZGlmZiAtLWdpdCBhL2xpYmF2Y29kZWMvaDI2 NF9zZWkuYyBiL2xpYmF2Y29kZWMvaDI2NF9zZWkuYwppbmRleCA4ZDZkYzc3OTQzLi4xNWE1MjMy MjA5IDEwMDY0NAotLS0gYS9saWJhdmNvZGVjL2gyNjRfc2VpLmMKKysrIGIvbGliYXZjb2RlYy9o MjY0X3NlaS5jCkBAIC01NSw3ICs1NSw2IEBAIHZvaWQgZmZfaDI2NF9zZWlfdW5pbml0KEgyNjRT RUlDb250ZXh0ICpoKQogICAgIGgtPnBpY3R1cmVfdGltaW5nLnByZXNlbnQgICAgICA9IDA7CiAg ICAgaC0+YnVmZmVyaW5nX3BlcmlvZC5wcmVzZW50ICAgID0gMDsKICAgICBoLT5jb21tb24uZnJh bWVfcGFja2luZy5wcmVzZW50ICAgICAgID0gMDsKLSAgICBoLT5jb21tb24uZmlsbV9ncmFpbl9j aGFyYWN0ZXJpc3RpY3MucHJlc2VudCA9IDA7CiAgICAgaC0+Y29tbW9uLmRpc3BsYXlfb3JpZW50 YXRpb24ucHJlc2VudCA9IDA7CiAgICAgaC0+Y29tbW9uLmFmZC5wcmVzZW50ICAgICAgICAgICAg ICAgICA9ICAwOwogCmRpZmYgLS1naXQgYS9saWJhdmNvZGVjL2gyNjRfc2xpY2UuYyBiL2xpYmF2 Y29kZWMvaDI2NF9zbGljZS5jCmluZGV4IGE2NmI3NWNhODAuLjg0NTk1YjFhOGIgMTAwNjQ0Ci0t LSBhL2xpYmF2Y29kZWMvaDI2NF9zbGljZS5jCisrKyBiL2xpYmF2Y29kZWMvaDI2NF9zbGljZS5j CkBAIC01MTYsNyArNTE2LDEwIEBAIHN0YXRpYyBpbnQgaDI2NF9mcmFtZV9zdGFydChIMjY0Q29u dGV4dCAqaCkKICAgICBwaWMtPmYtPmNyb3BfdG9wICAgID0gaC0+Y3JvcF90b3A7CiAgICAgcGlj LT5mLT5jcm9wX2JvdHRvbSA9IGgtPmNyb3BfYm90dG9tOwogCi0gICAgcGljLT5uZWVkc19mZyA9 IGgtPnNlaS5jb21tb24uZmlsbV9ncmFpbl9jaGFyYWN0ZXJpc3RpY3MucHJlc2VudCAmJiAhaC0+ YXZjdHgtPmh3YWNjZWwgJiYKKyAgICBwaWMtPm5lZWRzX2ZnID0KKyAgICAgICAgaC0+c2VpLmNv bW1vbi5maWxtX2dyYWluX2NoYXJhY3RlcmlzdGljcyAmJgorICAgICAgICBoLT5zZWkuY29tbW9u LmZpbG1fZ3JhaW5fY2hhcmFjdGVyaXN0aWNzLT5wcmVzZW50ICYmCisgICAgICAgICFoLT5hdmN0 eC0+aHdhY2NlbCAmJgogICAgICAgICAhKGgtPmF2Y3R4LT5leHBvcnRfc2lkZV9kYXRhICYgQVZf Q09ERUNfRVhQT1JUX0RBVEFfRklMTV9HUkFJTik7CiAKICAgICBpZiAoKHJldCA9IGFsbG9jX3Bp Y3R1cmUoaCwgcGljKSkgPCAwKQpkaWZmIC0tZ2l0IGEvbGliYXZjb2RlYy9oZXZjL2hldmNkZWMu YyBiL2xpYmF2Y29kZWMvaGV2Yy9oZXZjZGVjLmMKaW5kZXggN2YxMDc5YzY2OS4uNWRjNjA1Zjkx ZiAxMDA2NDQKLS0tIGEvbGliYXZjb2RlYy9oZXZjL2hldmNkZWMuYworKysgYi9saWJhdmNvZGVj L2hldmMvaGV2Y2RlYy5jCkBAIC00MTEsNyArNDExLDcgQEAgc3RhdGljIGludCBleHBvcnRfc3Ry ZWFtX3BhcmFtc19mcm9tX3NlaShIRVZDQ29udGV4dCAqcykKICAgICAgICAgYXZjdHgtPmNvbG9y X3RyYyA9IHMtPnNlaS5jb21tb24uYWx0ZXJuYXRpdmVfdHJhbnNmZXIucHJlZmVycmVkX3RyYW5z ZmVyX2NoYXJhY3RlcmlzdGljczsKICAgICB9CiAKLSAgICBpZiAocy0+c2VpLmNvbW1vbi5maWxt X2dyYWluX2NoYXJhY3RlcmlzdGljcy5wcmVzZW50IHx8CisgICAgaWYgKChzLT5zZWkuY29tbW9u LmZpbG1fZ3JhaW5fY2hhcmFjdGVyaXN0aWNzICYmIHMtPnNlaS5jb21tb24uZmlsbV9ncmFpbl9j aGFyYWN0ZXJpc3RpY3MtPnByZXNlbnQpIHx8CiAgICAgICAgIHMtPnNlaS5jb21tb24uYW9tX2Zp bG1fZ3JhaW4uZW5hYmxlKQogICAgICAgICBhdmN0eC0+cHJvcGVydGllcyB8PSBGRl9DT0RFQ19Q Uk9QRVJUWV9GSUxNX0dSQUlOOwogCkBAIC0zMjM2LDcgKzMyMzYsOCBAQCBzdGF0aWMgaW50IGhl dmNfZnJhbWVfc3RhcnQoSEVWQ0NvbnRleHQgKnMsIEhFVkNMYXllckNvbnRleHQgKmwsCiAgICAg ZWxzZQogICAgICAgICBzLT5jdXJfZnJhbWUtPmYtPmZsYWdzICY9IH5BVl9GUkFNRV9GTEFHX0tF WTsKIAotICAgIHMtPmN1cl9mcmFtZS0+bmVlZHNfZmcgPSAocy0+c2VpLmNvbW1vbi5maWxtX2dy YWluX2NoYXJhY3RlcmlzdGljcy5wcmVzZW50IHx8CisgICAgcy0+Y3VyX2ZyYW1lLT5uZWVkc19m ZyA9ICgocy0+c2VpLmNvbW1vbi5maWxtX2dyYWluX2NoYXJhY3RlcmlzdGljcyAmJgorICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIHMtPnNlaS5jb21tb24uZmlsbV9ncmFpbl9jaGFyYWN0 ZXJpc3RpY3MtPnByZXNlbnQpIHx8CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzLT5z ZWkuY29tbW9uLmFvbV9maWxtX2dyYWluLmVuYWJsZSkgJiYKICAgICAgICAgIShzLT5hdmN0eC0+ ZXhwb3J0X3NpZGVfZGF0YSAmIEFWX0NPREVDX0VYUE9SVF9EQVRBX0ZJTE1fR1JBSU4pICYmCiAg ICAgICAgICFzLT5hdmN0eC0+aHdhY2NlbDsKQEAgLTMyNDYsOCArMzI0Nyw4IEBAIHN0YXRpYyBp bnQgaGV2Y19mcmFtZV9zdGFydChIRVZDQ29udGV4dCAqcywgSEVWQ0xheWVyQ29udGV4dCAqbCwK ICAgICAgICAgZ290byBmYWlsOwogCiAgICAgaWYgKHMtPmN1cl9mcmFtZS0+bmVlZHNfZmcgJiYK LSAgICAgICAgKHMtPnNlaS5jb21tb24uZmlsbV9ncmFpbl9jaGFyYWN0ZXJpc3RpY3MucHJlc2Vu dCAmJgotICAgICAgICAgIWZmX2gyNzRfZmlsbV9ncmFpbl9wYXJhbXNfc3VwcG9ydGVkKHMtPnNl aS5jb21tb24uZmlsbV9ncmFpbl9jaGFyYWN0ZXJpc3RpY3MubW9kZWxfaWQsCisgICAgICAgIChz LT5zZWkuY29tbW9uLmZpbG1fZ3JhaW5fY2hhcmFjdGVyaXN0aWNzICYmIHMtPnNlaS5jb21tb24u ZmlsbV9ncmFpbl9jaGFyYWN0ZXJpc3RpY3MtPnByZXNlbnQgJiYKKyAgICAgICAgICFmZl9oMjc0 X2ZpbG1fZ3JhaW5fcGFyYW1zX3N1cHBvcnRlZChzLT5zZWkuY29tbW9uLmZpbG1fZ3JhaW5fY2hh cmFjdGVyaXN0aWNzLT5tb2RlbF9pZCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICBzLT5jdXJfZnJhbWUtPmYtPmZvcm1hdCkgfHwKICAgICAgICAgICFhdl9m aWxtX2dyYWluX3BhcmFtc19zZWxlY3Qocy0+Y3VyX2ZyYW1lLT5mKSkpIHsKICAgICAgICAgYXZf bG9nX29uY2Uocy0+YXZjdHgsIEFWX0xPR19XQVJOSU5HLCBBVl9MT0dfREVCVUcsICZzLT5maWxt X2dyYWluX3dhcm5pbmdfc2hvd24sCi0tIAoyLjQ5LjEKCgpGcm9tIGZhMTVlMzgzOWRhZTAxMzlm ZmMxM2ZhMDJhNDFmZjg3MDY1MDk2ZTUgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCkZyb206IEph bWVzIEFsbWVyIDxqYW1yaWFsQGdtYWlsLmNvbT4KRGF0ZTogU2F0LCA5IE5vdiAyMDI0IDExOjIw OjU5IC0wMzAwClN1YmplY3Q6IFtQQVRDSCAwNDgvNDM0XSBhdmZpbHRlci9mcmFtZXBvb2w6IGFs aWduIHRoZSBmcmFtZSBidWZmZXJzCgpBbmQgbm90IGp1c3QgdGhlIGxpbmVzaXplcy4gVXNlIHRo ZSBleHRyYSBhbGlnbiBieXRlcyBhbGxvY2F0ZWQgZm9yIHRoaXMgcHVycG9zZS4KClNpZ25lZC1v ZmYtYnk6IEphbWVzIEFsbWVyIDxqYW1yaWFsQGdtYWlsLmNvbT4KKGNoZXJyeSBwaWNrZWQgZnJv bSBjb21taXQgZjE1ZmMyN2RiNWIzMDM2NWYyYWVjNDc0YmFlOWI4MDk1ZDZkMjE5NykKLS0tCiBs aWJhdmZpbHRlci9mcmFtZXBvb2wuYyB8IDEyICsrKysrKysrLS0tLQogMSBmaWxlIGNoYW5nZWQs IDggaW5zZXJ0aW9ucygrKSwgNCBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9saWJhdmZpbHRl ci9mcmFtZXBvb2wuYyBiL2xpYmF2ZmlsdGVyL2ZyYW1lcG9vbC5jCmluZGV4IGU4NjIxZTA3YWMu LjFhMWZjMGRlMWUgMTAwNjQ0Ci0tLSBhL2xpYmF2ZmlsdGVyL2ZyYW1lcG9vbC5jCisrKyBiL2xp YmF2ZmlsdGVyL2ZyYW1lcG9vbC5jCkBAIC0xMzksNyArMTM5LDkgQEAgRkZGcmFtZVBvb2wgKmZm X2ZyYW1lX3Bvb2xfYXVkaW9faW5pdChBVkJ1ZmZlclJlZiogKCphbGxvYykoc2l6ZV90IHNpemUp LAogICAgIGlmIChyZXQgPCAwKQogICAgICAgICBnb3RvIGZhaWw7CiAKLSAgICBwb29sLT5wb29s c1swXSA9IGF2X2J1ZmZlcl9wb29sX2luaXQocG9vbC0+bGluZXNpemVbMF0sIE5VTEwpOworICAg IGlmIChwb29sLT5saW5lc2l6ZVswXSA+IFNJWkVfTUFYIC0gYWxpZ24pCisgICAgICAgIGdvdG8g ZmFpbDsKKyAgICBwb29sLT5wb29sc1swXSA9IGF2X2J1ZmZlcl9wb29sX2luaXQocG9vbC0+bGlu ZXNpemVbMF0gKyBhbGlnbiwgTlVMTCk7CiAgICAgaWYgKCFwb29sLT5wb29sc1swXSkKICAgICAg ICAgZ290byBmYWlsOwogCkBAIC0yMTksNyArMjIxLDcgQEAgQVZGcmFtZSAqZmZfZnJhbWVfcG9v bF9nZXQoRkZGcmFtZVBvb2wgKnBvb2wpCiAgICAgICAgICAgICBpZiAoIWZyYW1lLT5idWZbaV0p CiAgICAgICAgICAgICAgICAgZ290byBmYWlsOwogCi0gICAgICAgICAgICBmcmFtZS0+ZGF0YVtp XSA9IGZyYW1lLT5idWZbaV0tPmRhdGE7CisgICAgICAgICAgICBmcmFtZS0+ZGF0YVtpXSA9ICh1 aW50OF90ICopRkZBTElHTigodWludHB0cl90KWZyYW1lLT5idWZbaV0tPmRhdGEsIHBvb2wtPmFs aWduKTsKICAgICAgICAgfQogCiAgICAgICAgIGlmIChkZXNjLT5mbGFncyAmIEFWX1BJWF9GTVRf RkxBR19QQUwpIHsKQEAgLTI1NiwxMyArMjU4LDE1IEBAIEFWRnJhbWUgKmZmX2ZyYW1lX3Bvb2xf Z2V0KEZGRnJhbWVQb29sICpwb29sKQogICAgICAgICAgICAgZnJhbWUtPmJ1ZltpXSA9IGF2X2J1 ZmZlcl9wb29sX2dldChwb29sLT5wb29sc1swXSk7CiAgICAgICAgICAgICBpZiAoIWZyYW1lLT5i dWZbaV0pCiAgICAgICAgICAgICAgICAgZ290byBmYWlsOwotICAgICAgICAgICAgZnJhbWUtPmV4 dGVuZGVkX2RhdGFbaV0gPSBmcmFtZS0+ZGF0YVtpXSA9IGZyYW1lLT5idWZbaV0tPmRhdGE7Cisg ICAgICAgICAgICBmcmFtZS0+ZXh0ZW5kZWRfZGF0YVtpXSA9IGZyYW1lLT5kYXRhW2ldID0KKyAg ICAgICAgICAgICAgICAodWludDhfdCAqKUZGQUxJR04oKHVpbnRwdHJfdClmcmFtZS0+YnVmW2ld LT5kYXRhLCBwb29sLT5hbGlnbik7CiAgICAgICAgIH0KICAgICAgICAgZm9yIChpID0gMDsgaSA8 IGZyYW1lLT5uYl9leHRlbmRlZF9idWY7IGkrKykgewogICAgICAgICAgICAgZnJhbWUtPmV4dGVu ZGVkX2J1ZltpXSA9IGF2X2J1ZmZlcl9wb29sX2dldChwb29sLT5wb29sc1swXSk7CiAgICAgICAg ICAgICBpZiAoIWZyYW1lLT5leHRlbmRlZF9idWZbaV0pCiAgICAgICAgICAgICAgICAgZ290byBm YWlsOwotICAgICAgICAgICAgZnJhbWUtPmV4dGVuZGVkX2RhdGFbaSArIEFWX05VTV9EQVRBX1BP SU5URVJTXSA9IGZyYW1lLT5leHRlbmRlZF9idWZbaV0tPmRhdGE7CisgICAgICAgICAgICBmcmFt ZS0+ZXh0ZW5kZWRfZGF0YVtpICsgQVZfTlVNX0RBVEFfUE9JTlRFUlNdID0KKyAgICAgICAgICAg ICAgICAodWludDhfdCAqKUZGQUxJR04oKHVpbnRwdHJfdClmcmFtZS0+ZXh0ZW5kZWRfYnVmW2ld LT5kYXRhLCBwb29sLT5hbGlnbik7CiAgICAgICAgIH0KIAogICAgICAgICBicmVhazsKLS0gCjIu NDkuMQoKCkZyb20gODVmMzg5NTIwZGJkYTUwNTRkMTM3OWU3MjcwZjMwMmZmMWViM2I1ZSBNb24g U2VwIDE3IDAwOjAwOjAwIDIwMDEKRnJvbTogUGF2ZWwgS29zaGV2b3kgPHBrb3NoZXZveUBnbWFp bC5jb20+CkRhdGU6IFNhdCwgOSBOb3YgMjAyNCAxMDowNToxNiAtMDcwMApTdWJqZWN0OiBbUEFU Q0ggMDQ5LzQzNF0gbGF2ZmkvdmZfenNjYWxlOiBmaXggdG1wIGJ1ZmZlciBwdHIgYWxpZ25tZW50 IGZvcgogemltZ19maWx0ZXJfZ3JhcGhfcHJvY2VzcwoKU2lnbmVkLW9mZi1ieTogSmFtZXMgQWxt ZXIgPGphbXJpYWxAZ21haWwuY29tPgooY2hlcnJ5IHBpY2tlZCBmcm9tIGNvbW1pdCA3YjMwMmY0 ZGI3ZDMzNWY0ZGQ0MmNmZmI0NjFiMmIwZGI2YzAwNzQ5KQotLS0KIGxpYmF2ZmlsdGVyL3ZmX3pz Y2FsZS5jIHwgMTMgKysrKysrKysrKy0tLQogMSBmaWxlIGNoYW5nZWQsIDEwIGluc2VydGlvbnMo KyksIDMgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvbGliYXZmaWx0ZXIvdmZfenNjYWxlLmMg Yi9saWJhdmZpbHRlci92Zl96c2NhbGUuYwppbmRleCBiMDMxNmY1YmI4Li5kNTYxNDY2YzU2IDEw MDY0NAotLS0gYS9saWJhdmZpbHRlci92Zl96c2NhbGUuYworKysgYi9saWJhdmZpbHRlci92Zl96 c2NhbGUuYwpAQCAtNjI2LDkgKzYyNiwxMiBAQCBzdGF0aWMgaW50IGdyYXBoc19idWlsZChBVkZy YW1lICppbiwgQVZGcmFtZSAqb3V0LCBjb25zdCBBVlBpeEZtdERlc2NyaXB0b3IgKmRlcwogICAg IGlmIChyZXQpCiAgICAgICAgIHJldHVybiBwcmludF96aW1nX2Vycm9yKGN0eCk7CiAKKyAgICBp ZiAoc2l6ZSA+IChTSVpFX01BWCAtIFpJTUdfQUxJR05NRU5UKSkKKyAgICAgICAgcmV0dXJuIEFW RVJST1IoRU5PTUVNKTsKKwogICAgIGlmIChzLT50bXBbam9iX25yXSkKICAgICAgICAgYXZfZnJl ZXAoJnMtPnRtcFtqb2JfbnJdKTsKLSAgICBzLT50bXBbam9iX25yXSA9IGF2X2NhbGxvYyhzaXpl LCAxKTsKKyAgICBzLT50bXBbam9iX25yXSA9IGF2X21hbGxvY3ooc2l6ZSArIFpJTUdfQUxJR05N RU5UKTsKICAgICBpZiAoIXMtPnRtcFtqb2JfbnJdKQogICAgICAgICByZXR1cm4gQVZFUlJPUihF Tk9NRU0pOwogCkBAIC03NDgsNyArNzUxLDkgQEAgc3RhdGljIGludCBmaWx0ZXJfc2xpY2UoQVZG aWx0ZXJDb250ZXh0ICpjdHgsIHZvaWQgKmRhdGEsIGludCBqb2JfbnIsIGludCBuX2pvYnMKICAg ICB9CiAgICAgaWYgKCFzLT5ncmFwaFtqb2JfbnJdKQogICAgICAgICByZXR1cm4gQVZFUlJPUihF SU5WQUwpOwotICAgIHJldCA9IHppbWdfZmlsdGVyX2dyYXBoX3Byb2Nlc3Mocy0+Z3JhcGhbam9i X25yXSwgJnNyY19idWYsICZkc3RfYnVmLCBzLT50bXBbam9iX25yXSwgMCwgMCwgMCwgMCk7Cisg ICAgcmV0ID0gemltZ19maWx0ZXJfZ3JhcGhfcHJvY2VzcyhzLT5ncmFwaFtqb2JfbnJdLCAmc3Jj X2J1ZiwgJmRzdF9idWYsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAodWlu dDhfdCAqKUZGQUxJR04oKHVpbnRwdHJfdClzLT50bXBbam9iX25yXSwgWklNR19BTElHTk1FTlQp LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMCwgMCwgMCwgMCk7CiAgICAg aWYgKHJldCkKICAgICAgICAgcmV0dXJuIHByaW50X3ppbWdfZXJyb3IoY3R4KTsKIApAQCAtNzYz LDcgKzc2OCw5IEBAIHN0YXRpYyBpbnQgZmlsdGVyX3NsaWNlKEFWRmlsdGVyQ29udGV4dCAqY3R4 LCB2b2lkICpkYXRhLCBpbnQgam9iX25yLCBpbnQgbl9qb2JzCiAKICAgICAgICAgaWYgKCFzLT5h bHBoYV9ncmFwaFtqb2JfbnJdKQogICAgICAgICAgICAgcmV0dXJuIEFWRVJST1IoRUlOVkFMKTsK LSAgICAgICAgcmV0ID0gemltZ19maWx0ZXJfZ3JhcGhfcHJvY2VzcyhzLT5hbHBoYV9ncmFwaFtq b2JfbnJdLCAmc3JjX2J1ZiwgJmRzdF9idWYsIHMtPnRtcFtqb2JfbnJdLCAwLCAwLCAwLCAwKTsK KyAgICAgICAgcmV0ID0gemltZ19maWx0ZXJfZ3JhcGhfcHJvY2VzcyhzLT5hbHBoYV9ncmFwaFtq b2JfbnJdLCAmc3JjX2J1ZiwgJmRzdF9idWYsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgKHVpbnQ4X3QgKilGRkFMSUdOKCh1aW50cHRyX3Qpcy0+dG1wW2pvYl9ucl0s IFpJTUdfQUxJR05NRU5UKSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAwLCAwLCAwLCAwKTsKICAgICAgICAgaWYgKHJldCkKICAgICAgICAgICAgIHJldHVybiBwcmlu dF96aW1nX2Vycm9yKGN0eCk7CiAgICAgfQotLSAKMi40OS4xCgoKRnJvbSA1YjQ2MWZmYjA0MWUw ZTI0ZmRmMTRlMzZkZmM4NTdhZTQ0YmVkMjQ5IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQpGcm9t OiBQYXZlbCBLb3NoZXZveSA8cGtvc2hldm95QGdtYWlsLmNvbT4KRGF0ZTogU2F0LCA5IE5vdiAy MDI0IDA5OjA4OjI2IC0wNzAwClN1YmplY3Q6IFtQQVRDSCAwNTAvNDM0XSBsYXZmaS92Zl96c2Nh bGU6IGZpeCBjYWxsIHRvIGF2X3BpeF9mbXRfY291bnRfcGxhbmVzCgpyZWFsaWduX2ZyYW1lIGNh bGxlZCBhdl9waXhfZm10X2NvdW50X3BsYW5lcyB3aXRoIGluY29ycmVjdCBwYXJhbWV0ZXIuCgpT aWduZWQtb2ZmLWJ5OiBKYW1lcyBBbG1lciA8amFtcmlhbEBnbWFpbC5jb20+CihjaGVycnkgcGlj a2VkIGZyb20gY29tbWl0IDAwY2YzZGYwM2Y2NmRjYTQ0NTY4YjViNWQzZTlkYTM1ZDM1OTc0NzAp Ci0tLQogbGliYXZmaWx0ZXIvdmZfenNjYWxlLmMgfCAyICstCiAxIGZpbGUgY2hhbmdlZCwgMSBp bnNlcnRpb24oKyksIDEgZGVsZXRpb24oLSkKCmRpZmYgLS1naXQgYS9saWJhdmZpbHRlci92Zl96 c2NhbGUuYyBiL2xpYmF2ZmlsdGVyL3ZmX3pzY2FsZS5jCmluZGV4IGQ1NjE0NjZjNTYuLmEzNWNk MWNkZjcgMTAwNjQ0Ci0tLSBhL2xpYmF2ZmlsdGVyL3ZmX3pzY2FsZS5jCisrKyBiL2xpYmF2Zmls dGVyL3ZmX3pzY2FsZS5jCkBAIC02NjQsNyArNjY0LDcgQEAgc3RhdGljIGludCByZWFsaWduX2Zy YW1lKGNvbnN0IEFWUGl4Rm10RGVzY3JpcHRvciAqZGVzYywgQVZGcmFtZSAqKmZyYW1lLCBpbnQg bmUKICAgICBpbnQgcmV0ID0gMCwgcGxhbmUsIHBsYW5lczsKIAogICAgIC8qIFJlYWxpZ24gYW55 IHVuYWxpZ25lZCBpbnB1dCBmcmFtZS4gKi8KLSAgICBwbGFuZXMgPSBhdl9waXhfZm10X2NvdW50 X3BsYW5lcyhkZXNjLT5uYl9jb21wb25lbnRzKTsKKyAgICBwbGFuZXMgPSBhdl9waXhfZm10X2Nv dW50X3BsYW5lcygoKmZyYW1lKS0+Zm9ybWF0KTsKICAgICBmb3IgKHBsYW5lID0gMDsgcGxhbmUg PCBwbGFuZXM7IHBsYW5lKyspIHsKICAgICAgICAgaW50IHAgPSBkZXNjLT5jb21wW3BsYW5lXS5w bGFuZTsKICAgICAgICAgaWYgKCh1aW50cHRyX3QpKCpmcmFtZSktPmRhdGFbcF0gJSBaSU1HX0FM SUdOTUVOVCB8fCAoKmZyYW1lKS0+bGluZXNpemVbcF0gJSBaSU1HX0FMSUdOTUVOVCkgewotLSAK Mi40OS4xCgoKRnJvbSA5OWY2YWRjZTYwNzI3ZDhlNDI0NGQ0ODcxYmFmMzkwN2FjNTQ1MTExIE1v biBTZXAgMTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBKYW1lcyBBbG1lciA8amFtcmlhbEBnbWFpbC5j b20+CkRhdGU6IFNhdCwgOSBOb3YgMjAyNCAxNjo1NTozOCAtMDMwMApTdWJqZWN0OiBbUEFUQ0gg MDUxLzQzNF0gYXZmaWx0ZXIvdmZfenNjYWxlOiBhbGlnbiB0aGUgZnJhbWUgYnVmZmVycwoKU2ln bmVkLW9mZi1ieTogSmFtZXMgQWxtZXIgPGphbXJpYWxAZ21haWwuY29tPgooY2hlcnJ5IHBpY2tl ZCBmcm9tIGNvbW1pdCBjOGU1YzY4NGIzZGIxYTMxMzFhZjVkMDVhMzA3MzExNGJkODc0NzdhKQot LS0KIGxpYmF2ZmlsdGVyL3ZmX3pzY2FsZS5jIHwgMjMgKysrKysrLS0tLS0tLS0tLS0tLS0tLS0K IDEgZmlsZSBjaGFuZ2VkLCA2IGluc2VydGlvbnMoKyksIDE3IGRlbGV0aW9ucygtKQoKZGlmZiAt LWdpdCBhL2xpYmF2ZmlsdGVyL3ZmX3pzY2FsZS5jIGIvbGliYXZmaWx0ZXIvdmZfenNjYWxlLmMK aW5kZXggYTM1Y2QxY2RmNy4uYWZkMjJjZTZjNiAxMDA2NDQKLS0tIGEvbGliYXZmaWx0ZXIvdmZf enNjYWxlLmMKKysrIGIvbGliYXZmaWx0ZXIvdmZfenNjYWxlLmMKQEAgLTY1OCw3ICs2NTgsNyBA QCBzdGF0aWMgaW50IGdyYXBoc19idWlsZChBVkZyYW1lICppbiwgQVZGcmFtZSAqb3V0LCBjb25z dCBBVlBpeEZtdERlc2NyaXB0b3IgKmRlcwogICAgIHJldHVybiAwOwogfQogCi1zdGF0aWMgaW50 IHJlYWxpZ25fZnJhbWUoY29uc3QgQVZQaXhGbXREZXNjcmlwdG9yICpkZXNjLCBBVkZyYW1lICoq ZnJhbWUsIGludCBuZWVkc19jb3B5KQorc3RhdGljIGludCByZWFsaWduX2ZyYW1lKEFWRmlsdGVy TGluayAqbGluaywgY29uc3QgQVZQaXhGbXREZXNjcmlwdG9yICpkZXNjLCBBVkZyYW1lICoqZnJh bWUsIGludCBuZWVkc19jb3B5KQogewogICAgIEFWRnJhbWUgKmFsaWduZWQgPSBOVUxMOwogICAg IGludCByZXQgPSAwLCBwbGFuZSwgcGxhbmVzOwpAQCAtNjY4LDE3ICs2NjgsOSBAQCBzdGF0aWMg aW50IHJlYWxpZ25fZnJhbWUoY29uc3QgQVZQaXhGbXREZXNjcmlwdG9yICpkZXNjLCBBVkZyYW1l ICoqZnJhbWUsIGludCBuZQogICAgIGZvciAocGxhbmUgPSAwOyBwbGFuZSA8IHBsYW5lczsgcGxh bmUrKykgewogICAgICAgICBpbnQgcCA9IGRlc2MtPmNvbXBbcGxhbmVdLnBsYW5lOwogICAgICAg ICBpZiAoKHVpbnRwdHJfdCkoKmZyYW1lKS0+ZGF0YVtwXSAlIFpJTUdfQUxJR05NRU5UIHx8ICgq ZnJhbWUpLT5saW5lc2l6ZVtwXSAlIFpJTUdfQUxJR05NRU5UKSB7Ci0gICAgICAgICAgICBpZiAo IShhbGlnbmVkID0gYXZfZnJhbWVfYWxsb2MoKSkpIHsKLSAgICAgICAgICAgICAgICByZXQgPSBB VkVSUk9SKEVOT01FTSk7Ci0gICAgICAgICAgICAgICAgZ290byBmYWlsOwotICAgICAgICAgICAg fQotCi0gICAgICAgICAgICBhbGlnbmVkLT5mb3JtYXQgPSAoKmZyYW1lKS0+Zm9ybWF0OwotICAg ICAgICAgICAgYWxpZ25lZC0+d2lkdGggID0gKCpmcmFtZSktPndpZHRoOwotICAgICAgICAgICAg YWxpZ25lZC0+aGVpZ2h0ID0gKCpmcmFtZSktPmhlaWdodDsKLQotICAgICAgICAgICAgaWYgKChy ZXQgPSBhdl9mcmFtZV9nZXRfYnVmZmVyKGFsaWduZWQsIFpJTUdfQUxJR05NRU5UKSkgPCAwKQot ICAgICAgICAgICAgICAgIGdvdG8gZmFpbDsKKyAgICAgICAgICAgIGFsaWduZWQgPSBmZl9kZWZh dWx0X2dldF92aWRlb19idWZmZXIyKGxpbmssICgqZnJhbWUpLT53aWR0aCwgKCpmcmFtZSktPmhl aWdodCwgWklNR19BTElHTk1FTlQpOworICAgICAgICAgICAgaWYgKCFhbGlnbmVkKQorICAgICAg ICAgICAgICAgIHJldHVybiBBVkVSUk9SKEVOT01FTSk7CiAKICAgICAgICAgICAgIGlmIChuZWVk c19jb3B5ICYmIChyZXQgPSBhdl9mcmFtZV9jb3B5KGFsaWduZWQsICpmcmFtZSkpIDwgMCkKICAg ICAgICAgICAgICAgICBnb3RvIGZhaWw7CkBAIC04MDcsMjAgKzc5OSwxNyBAQCBzdGF0aWMgaW50 IGZpbHRlcl9mcmFtZShBVkZpbHRlckxpbmsgKmxpbmssIEFWRnJhbWUgKmluKQogICAgICAgICAo cy0+c3JjX2Zvcm1hdC5waXhlbF90eXBlICE9cy0+ZHN0X2Zvcm1hdC5waXhlbF90eXBlKSB8fAog ICAgICAgICAocy0+c3JjX2Zvcm1hdC50cmFuc2Zlcl9jaGFyYWN0ZXJpc3RpY3MgIT1zLT5kc3Rf Zm9ybWF0LnRyYW5zZmVyX2NoYXJhY3RlcmlzdGljcykKICAgICApewotICAgICAgICBvdXQgPSBm Zl9nZXRfdmlkZW9fYnVmZmVyKG91dGxpbmssIG91dGxpbmstPncsIG91dGxpbmstPmgpOworICAg ICAgICBvdXQgPSBmZl9kZWZhdWx0X2dldF92aWRlb19idWZmZXIyKG91dGxpbmssIG91dGxpbmst PncsIG91dGxpbmstPmgsIFpJTUdfQUxJR05NRU5UKTsKICAgICAgICAgaWYgKCFvdXQpIHsKICAg ICAgICAgICAgIHJldCA9ICBBVkVSUk9SKEVOT01FTSk7CiAgICAgICAgICAgICBnb3RvIGZhaWw7 CiAgICAgICAgIH0KIAotICAgICAgICBpZiAoKHJldCA9IHJlYWxpZ25fZnJhbWUob2Rlc2MsICZv dXQsIDApKSA8IDApCi0gICAgICAgICAgICBnb3RvIGZhaWw7Ci0KICAgICAgICAgYXZfZnJhbWVf Y29weV9wcm9wcyhvdXQsIGluKTsKICAgICAgICAgb3V0LT5jb2xvcnNwYWNlID0gb3V0bGluay0+ Y29sb3JzcGFjZTsKICAgICAgICAgb3V0LT5jb2xvcl9yYW5nZSA9IG91dGxpbmstPmNvbG9yX3Jh bmdlOwogCi0gICAgICAgIGlmICgocmV0ID0gcmVhbGlnbl9mcmFtZShkZXNjLCAmaW4sIDEpKSA8 IDApCisgICAgICAgIGlmICgocmV0ID0gcmVhbGlnbl9mcmFtZShsaW5rLCBkZXNjLCAmaW4sIDEp KSA8IDApCiAgICAgICAgICAgICBnb3RvIGZhaWw7CiAKICAgICAgICAgc25wcmludGYoYnVmLCBz aXplb2YoYnVmKS0xLCAiJWQiLCBvdXRsaW5rLT53KTsKLS0gCjIuNDkuMQoKCkZyb20gMGE1ODU4 OGZmYjg3NTA2NmZjOGQ3NWFkOWI1YzkzZjNkZDllOGMyOCBNb24gU2VwIDE3IDAwOjAwOjAwIDIw MDEKRnJvbTogTWFydG9uIEJhbGludCA8Y3VzQHBhc3N3ZC5odT4KRGF0ZTogU3VuLCAzIE5vdiAy MDI0IDIyOjMyOjUxICswMTAwClN1YmplY3Q6IFtQQVRDSCAwNTIvNDM0XSBhdmZpbHRlci9mX2xv b3A6IGZpeCBsZW5ndGggb2YgYWxvb3AgbGVmdG92ZXIgYnVmZmVyCgpJZiB0aGUgYXVkaW8gbG9v cCBzdG9wcyBpbnNpZGUgYW4gYXVkaW8gZnJhbWUsIHRoZSBsZWZ0b3ZlciBidWZmZXIgY29udGFp bnMgdGhlCmVuZCBvZiB0aGUgZnJhbWUsIHdoaWNoIGlzIG5vdCBsb29wZWQuIFRoZSBsZW5ndGgg c3VwcG9zZWQgdG8gYmUgdGhlIHBhcnQgd2hpY2gKd2FzIG5vdCB3cml0dGVuIHRvIHRoZSBsb29w IGJ1ZmZlciwgc28gd2UgbmVlZCB0byBkcmFpbiBleGFjdGx5IHRoYXQgbnVtYmVyIG9mCmJ5dGVz IGZyb20gdGhlIGxlZnRvdmVyIGJ1ZmZlci4KClNpZ25lZC1vZmYtYnk6IE1hcnRvbiBCYWxpbnQg PGN1c0BwYXNzd2QuaHU+CihjaGVycnkgcGlja2VkIGZyb20gY29tbWl0IGIzM2E1OTQxNjA3MmFk MzFhNTg0MGYzM2Y5OTc1ZDg4YWNmNDVhZGQpCi0tLQogbGliYXZmaWx0ZXIvZl9sb29wLmMgfCA1 ICsrLS0tCiAxIGZpbGUgY2hhbmdlZCwgMiBpbnNlcnRpb25zKCspLCAzIGRlbGV0aW9ucygtKQoK ZGlmZiAtLWdpdCBhL2xpYmF2ZmlsdGVyL2ZfbG9vcC5jIGIvbGliYXZmaWx0ZXIvZl9sb29wLmMK aW5kZXggOWIwMWE4NTQwNS4uMzM3MmM3N2ZlZSAxMDA2NDQKLS0tIGEvbGliYXZmaWx0ZXIvZl9s b29wLmMKKysrIGIvbGliYXZmaWx0ZXIvZl9sb29wLmMKQEAgLTE3MCwxNCArMTcwLDEzIEBAIHN0 YXRpYyBpbnQgYWZpbHRlcl9mcmFtZShBVkZpbHRlckxpbmsgKmlubGluaywgQVZGcmFtZSAqZnJh bWUpCiAgICAgICAgICAgICAgICAgcy0+cHRzICs9IGF2X3Jlc2NhbGVfcShzLT5zdGFydCAtIHMt Pmlnbm9yZWRfc2FtcGxlcywgKEFWUmF0aW9uYWwpezEsIG91dGxpbmstPnNhbXBsZV9yYXRlfSwg b3V0bGluay0+dGltZV9iYXNlKTsKICAgICAgICAgICAgIH0KICAgICAgICAgICAgIHMtPm5iX3Nh bXBsZXMgKz0gcmV0IC0gZHJhaW47Ci0gICAgICAgICAgICBkcmFpbiA9IGZyYW1lLT5uYl9zYW1w bGVzIC0gd3JpdHRlbjsKLSAgICAgICAgICAgIGlmIChzLT5uYl9zYW1wbGVzID09IHMtPnNpemUg JiYgZHJhaW4gPiAwKSB7CisgICAgICAgICAgICBpZiAocy0+bmJfc2FtcGxlcyA9PSBzLT5zaXpl ICYmIGZyYW1lLT5uYl9zYW1wbGVzID4gd3JpdHRlbikgewogICAgICAgICAgICAgICAgIGludCBy ZXQyOwogCiAgICAgICAgICAgICAgICAgcmV0MiA9IGF2X2F1ZGlvX2ZpZm9fd3JpdGUocy0+bGVm dCwgKHZvaWQgKiopZnJhbWUtPmV4dGVuZGVkX2RhdGEsIGZyYW1lLT5uYl9zYW1wbGVzKTsKICAg ICAgICAgICAgICAgICBpZiAocmV0MiA8IDApCiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHJl dDI7Ci0gICAgICAgICAgICAgICAgYXZfYXVkaW9fZmlmb19kcmFpbihzLT5sZWZ0LCBkcmFpbik7 CisgICAgICAgICAgICAgICAgYXZfYXVkaW9fZmlmb19kcmFpbihzLT5sZWZ0LCB3cml0dGVuKTsK ICAgICAgICAgICAgIH0KICAgICAgICAgICAgIGZyYW1lLT5uYl9zYW1wbGVzID0gcmV0OwogICAg ICAgICAgICAgcy0+cHRzICs9IGF2X3Jlc2NhbGVfcShyZXQsIChBVlJhdGlvbmFsKXsxLCBvdXRs aW5rLT5zYW1wbGVfcmF0ZX0sIG91dGxpbmstPnRpbWVfYmFzZSk7Ci0tIAoyLjQ5LjEKCgpGcm9t IGIwMTZhYWU2NjI3MTI4YjE2NTc3NjJjOGFhNDM3N2U0MTQ0MDQ2ZmMgTW9uIFNlcCAxNyAwMDow MDowMCAyMDAxCkZyb206IE1hcnRvbiBCYWxpbnQgPGN1c0BwYXNzd2QuaHU+CkRhdGU6IE1vbiwg NCBOb3YgMjAyNCAwMDo0MzowNiArMDEwMApTdWJqZWN0OiBbUEFUQ0ggMDUzLzQzNF0gYXZmaWx0 ZXIvZl9sb29wOiBmaXggYWxvb3AgYWN0aXZhdGUgbG9naWMKClRoZSBsb2dpYyBkaWQgbm90IGZv bGxvdyB0aGUgZG9jdW1lbnRlZCBiZWhhdmlvdXIgYW5kIHRoYXQgY2F1c2VkIHNraXBwaW5nIG9m CnNvbWUgYXVkaW8gaW4gdGhlIGxvb3AgYW5kIGluIHRoZSBsZWZ0b3ZlciBidWZmZXIuCgpFeGFt cGxlIGNvbW1hbmQgbGluZSB3aGljaCBzaG91bGQgcHJvZHVjZSBhIHNtb290aCBzaW5lIHdhdmUg Zm9yIHRoZSB3aG9sZQpkdXJhdGlvbiBvZiB0aGUgb3V0cHV0OgoKZmZtcGVnIC1mIGxhdmZpIC1p ICJzaW5lPXI9NDgwMDA6Zj00ODA6ZD00IiAtYWYgImFsb29wPWxvb3A9NDpzdGFydD00ODAwMDpz aXplPTQ4MDAwIiBvdXQud2F2CgpGaXhlcyB0aWNrZXQgIzExMjgzLgoKU2lnbmVkLW9mZi1ieTog TWFydG9uIEJhbGludCA8Y3VzQHBhc3N3ZC5odT4KKGNoZXJyeSBwaWNrZWQgZnJvbSBjb21taXQg ZmUxOGVkM2YyYTkyMjFhZjBiZWFlYzdiMDRiNzgwNDg0OWRiMWYyZikKLS0tCiBsaWJhdmZpbHRl ci9mX2xvb3AuYyB8IDcwICsrKysrKysrKysrKysrKysrKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tCiAxIGZpbGUgY2hhbmdlZCwgMjggaW5zZXJ0aW9ucygrKSwgNDIgZGVsZXRpb25zKC0pCgpk aWZmIC0tZ2l0IGEvbGliYXZmaWx0ZXIvZl9sb29wLmMgYi9saWJhdmZpbHRlci9mX2xvb3AuYwpp bmRleCAzMzcyYzc3ZmVlLi40ZTVlOGQwZTc5IDEwMDY0NAotLS0gYS9saWJhdmZpbHRlci9mX2xv b3AuYworKysgYi9saWJhdmZpbHRlci9mX2xvb3AuYwpAQCAtMjEsNiArMjEsNyBAQAogI2luY2x1 ZGUgImNvbmZpZ19jb21wb25lbnRzLmgiCiAKICNpbmNsdWRlICJsaWJhdnV0aWwvYXVkaW9fZmlm by5oIgorI2luY2x1ZGUgImxpYmF2dXRpbC9hdmFzc2VydC5oIgogI2luY2x1ZGUgImxpYmF2dXRp bC9pbnRlcm5hbC5oIgogI2luY2x1ZGUgImxpYmF2dXRpbC9tZW0uaCIKICNpbmNsdWRlICJsaWJh dnV0aWwvb3B0LmgiCkBAIC0xMDQsNyArMTA1LDcgQEAgc3RhdGljIGF2X2NvbGQgdm9pZCBhdW5p bml0KEFWRmlsdGVyQ29udGV4dCAqY3R4KQogICAgIGF2X2F1ZGlvX2ZpZm9fZnJlZShzLT5sZWZ0 KTsKIH0KIAotc3RhdGljIGludCBwdXNoX3NhbXBsZXMoQVZGaWx0ZXJDb250ZXh0ICpjdHgsIGlu dCBuYl9zYW1wbGVzKQorc3RhdGljIGludCBwdXNoX3NhbXBsZXMoQVZGaWx0ZXJDb250ZXh0ICpj dHgsIGludCBuYl9zYW1wbGVzLCBBVkZyYW1lICoqZnJhbWUpCiB7CiAgICAgQVZGaWx0ZXJMaW5r ICpvdXRsaW5rID0gY3R4LT5vdXRwdXRzWzBdOwogICAgIExvb3BDb250ZXh0ICpzID0gY3R4LT5w cml2OwpAQCAtMTI2LDkgKzEyNyw3IEBAIHN0YXRpYyBpbnQgcHVzaF9zYW1wbGVzKEFWRmlsdGVy Q29udGV4dCAqY3R4LCBpbnQgbmJfc2FtcGxlcykKICAgICAgICAgaSArPSBvdXQtPm5iX3NhbXBs ZXM7CiAgICAgICAgIHMtPmN1cnJlbnRfc2FtcGxlICs9IG91dC0+bmJfc2FtcGxlczsKIAotICAg ICAgICByZXQgPSBmZl9maWx0ZXJfZnJhbWUob3V0bGluaywgb3V0KTsKLSAgICAgICAgaWYgKHJl dCA8IDApCi0gICAgICAgICAgICByZXR1cm4gcmV0OworICAgICAgICAqZnJhbWUgPSBvdXQ7CiAK ICAgICAgICAgaWYgKHMtPmN1cnJlbnRfc2FtcGxlID49IHMtPm5iX3NhbXBsZXMpIHsKICAgICAg ICAgICAgIHMtPmN1cnJlbnRfc2FtcGxlID0gMDsKQEAgLTEzNiw2ICsxMzUsOCBAQCBzdGF0aWMg aW50IHB1c2hfc2FtcGxlcyhBVkZpbHRlckNvbnRleHQgKmN0eCwgaW50IG5iX3NhbXBsZXMpCiAg ICAgICAgICAgICBpZiAocy0+bG9vcCA+IDApCiAgICAgICAgICAgICAgICAgcy0+bG9vcC0tOwog ICAgICAgICB9CisKKyAgICAgICAgcmV0dXJuIDA7CiAgICAgfQogCiAgICAgcmV0dXJuIHJldDsK QEAgLTE4MiwxMCArMTgzLDcgQEAgc3RhdGljIGludCBhZmlsdGVyX2ZyYW1lKEFWRmlsdGVyTGlu ayAqaW5saW5rLCBBVkZyYW1lICpmcmFtZSkKICAgICAgICAgICAgIHMtPnB0cyArPSBhdl9yZXNj YWxlX3EocmV0LCAoQVZSYXRpb25hbCl7MSwgb3V0bGluay0+c2FtcGxlX3JhdGV9LCBvdXRsaW5r LT50aW1lX2Jhc2UpOwogICAgICAgICAgICAgcmV0ID0gZmZfZmlsdGVyX2ZyYW1lKG91dGxpbmss IGZyYW1lKTsKICAgICAgICAgfSBlbHNlIHsKLSAgICAgICAgICAgIGludCBuYl9zYW1wbGVzID0g ZnJhbWUtPm5iX3NhbXBsZXM7Ci0KLSAgICAgICAgICAgIGF2X2ZyYW1lX2ZyZWUoJmZyYW1lKTsK LSAgICAgICAgICAgIHJldCA9IHB1c2hfc2FtcGxlcyhjdHgsIG5iX3NhbXBsZXMpOworICAgICAg ICAgICAgYXZfYXNzZXJ0MCgwKTsKICAgICAgICAgfQogICAgIH0gZWxzZSB7CiAgICAgICAgIHMt Pmlnbm9yZWRfc2FtcGxlcyArPSBmcmFtZS0+bmJfc2FtcGxlczsKQEAgLTE5Nyw3ICsxOTUsNyBA QCBzdGF0aWMgaW50IGFmaWx0ZXJfZnJhbWUoQVZGaWx0ZXJMaW5rICppbmxpbmssIEFWRnJhbWUg KmZyYW1lKQogICAgIHJldHVybiByZXQ7CiB9CiAKLXN0YXRpYyBpbnQgYXJlcXVlc3RfZnJhbWUo QVZGaWx0ZXJMaW5rICpvdXRsaW5rKQorc3RhdGljIGludCBhcmVxdWVzdF9mcmFtZShBVkZpbHRl ckxpbmsgKm91dGxpbmssIEFWRnJhbWUgKipmcmFtZSkKIHsKICAgICBBVkZpbHRlckNvbnRleHQg KmN0eCA9IG91dGxpbmstPnNyYzsKICAgICBMb29wQ29udGV4dCAqcyA9IGN0eC0+cHJpdjsKQEAg LTIxNywxNyArMjE1LDExIEBAIHN0YXRpYyBpbnQgYXJlcXVlc3RfZnJhbWUoQVZGaWx0ZXJMaW5r ICpvdXRsaW5rKQogICAgICAgICAgICAgYXZfYXVkaW9fZmlmb19yZWFkKHMtPmxlZnQsICh2b2lk ICoqKW91dC0+ZXh0ZW5kZWRfZGF0YSwgbmJfc2FtcGxlcyk7CiAgICAgICAgICAgICBvdXQtPnB0 cyA9IHMtPnB0czsKICAgICAgICAgICAgIHMtPnB0cyArPSBhdl9yZXNjYWxlX3EobmJfc2FtcGxl cywgKEFWUmF0aW9uYWwpezEsIG91dGxpbmstPnNhbXBsZV9yYXRlfSwgb3V0bGluay0+dGltZV9i YXNlKTsKLSAgICAgICAgICAgIHJldCA9IGZmX2ZpbHRlcl9mcmFtZShvdXRsaW5rLCBvdXQpOwot ICAgICAgICAgICAgaWYgKHJldCA8IDApCi0gICAgICAgICAgICAgICAgcmV0dXJuIHJldDsKKyAg ICAgICAgICAgICpmcmFtZSA9IG91dDsKICAgICAgICAgfQotICAgICAgICByZXQgPSBmZl9yZXF1 ZXN0X2ZyYW1lKGN0eC0+aW5wdXRzWzBdKTsKKyAgICAgICAgcmV0dXJuIDA7CiAgICAgfSBlbHNl IHsKLSAgICAgICAgcmV0ID0gcHVzaF9zYW1wbGVzKGN0eCwgMTAyNCk7Ci0gICAgfQotCi0gICAg aWYgKHMtPmVvZiAmJiBzLT5uYl9zYW1wbGVzID4gMCAmJiBzLT5sb29wICE9IDApIHsKLSAgICAg ICAgcmV0ID0gcHVzaF9zYW1wbGVzKGN0eCwgMTAyNCk7CisgICAgICAgIHJldCA9IHB1c2hfc2Ft cGxlcyhjdHgsIDEwMjQsIGZyYW1lKTsKICAgICB9CiAKICAgICByZXR1cm4gcmV0OwpAQCAtMjQ1 LDM3ICsyMzcsMzEgQEAgc3RhdGljIGludCBhYWN0aXZhdGUoQVZGaWx0ZXJDb250ZXh0ICpjdHgp CiAKICAgICB1cGRhdGVfdGltZShjdHgsIGlubGluay0+dGltZV9iYXNlKTsKIAotICAgIGlmICgh cy0+ZW9mICYmIChzLT5uYl9zYW1wbGVzIDwgcy0+c2l6ZSB8fCAhcy0+bG9vcCB8fCAhcy0+c2l6 ZSkpIHsKLSAgICAgICAgY29uc3QgaW50IGluX25iX3NhbXBsZXMgPSBGRk1JTigxMDI0LCBzLT5z aXplIC0gcy0+bmJfc2FtcGxlcyk7Ci0gICAgICAgIGlmIChpbl9uYl9zYW1wbGVzID09IDApCi0g ICAgICAgICAgICByZXQgPSBmZl9pbmxpbmtfY29uc3VtZV9mcmFtZShpbmxpbmssICZmcmFtZSk7 Ci0gICAgICAgIGVsc2UKLSAgICAgICAgICAgIHJldCA9IGZmX2lubGlua19jb25zdW1lX3NhbXBs ZXMoaW5saW5rLCBpbl9uYl9zYW1wbGVzLCBpbl9uYl9zYW1wbGVzLCAmZnJhbWUpOwotICAgICAg ICBpZiAocmV0IDwgMCkKLSAgICAgICAgICAgIHJldHVybiByZXQ7Ci0gICAgICAgIGlmIChyZXQg PiAwKQotICAgICAgICAgICAgcmV0dXJuIGFmaWx0ZXJfZnJhbWUoaW5saW5rLCBmcmFtZSk7Ci0g ICAgfQorcmV0cnk6CisgICAgcmV0ID0gYXJlcXVlc3RfZnJhbWUob3V0bGluaywgJmZyYW1lKTsK KyAgICBpZiAocmV0IDwgMCkKKyAgICAgICAgcmV0dXJuIHJldDsKKyAgICBpZiAoZnJhbWUpCisg ICAgICAgIHJldHVybiBmZl9maWx0ZXJfZnJhbWUob3V0bGluaywgZnJhbWUpOwogCi0gICAgaWYg KCFzLT5lb2YgJiYgZmZfaW5saW5rX2Fja25vd2xlZGdlX3N0YXR1cyhpbmxpbmssICZzdGF0dXMs ICZzLT5lb2ZfcHRzKSkgewotICAgICAgICBpZiAoc3RhdHVzID09IEFWRVJST1JfRU9GKSB7Cisg ICAgcmV0ID0gZmZfaW5saW5rX2NvbnN1bWVfZnJhbWUoaW5saW5rLCAmZnJhbWUpOworICAgIGlm IChyZXQgPCAwKQorICAgICAgICByZXR1cm4gcmV0OworICAgIGlmIChyZXQgPiAwKQorICAgICAg ICByZXR1cm4gYWZpbHRlcl9mcmFtZShpbmxpbmssIGZyYW1lKTsKKworICAgIHJldCA9IGZmX2lu bGlua19hY2tub3dsZWRnZV9zdGF0dXMoaW5saW5rLCAmc3RhdHVzLCAmcy0+ZW9mX3B0cyk7Cisg ICAgaWYgKHJldCkgeworICAgICAgICBpZiAoc3RhdHVzID09IEFWRVJST1JfRU9GICYmICFzLT5l b2YpIHsKICAgICAgICAgICAgIHMtPnNpemUgPSBzLT5uYl9zYW1wbGVzOwogICAgICAgICAgICAg cy0+ZW9mID0gMTsKKyAgICAgICAgICAgIGdvdG8gcmV0cnk7CiAgICAgICAgIH0KLSAgICB9Ci0K LSAgICBpZiAocy0+ZW9mICYmICghcy0+bG9vcCB8fCAhcy0+c2l6ZSkpIHsKLSAgICAgICAgZmZf b3V0bGlua19zZXRfc3RhdHVzKG91dGxpbmssIEFWRVJST1JfRU9GLCBzLT5lb2ZfcHRzICsgcy0+ cHRzX29mZnNldCk7CisgICAgICAgIGZmX291dGxpbmtfc2V0X3N0YXR1cyhvdXRsaW5rLCBzdGF0 dXMsIHMtPmVvZl9wdHMpOwogICAgICAgICByZXR1cm4gMDsKICAgICB9CiAKLSAgICBpZiAoIXMt PmVvZiAmJiAoIXMtPnNpemUgfHwKLSAgICAgICAgKHMtPm5iX3NhbXBsZXMgPCBzLT5zaXplKSB8 fAotICAgICAgICAocy0+bmJfc2FtcGxlcyA+PSBzLT5zaXplICYmIHMtPmxvb3AgPT0gMCkpKSB7 Ci0gICAgICAgIEZGX0ZJTFRFUl9GT1JXQVJEX1dBTlRFRChvdXRsaW5rLCBpbmxpbmspOwotICAg IH0gZWxzZSBpZiAocy0+bG9vcCAmJiBzLT5uYl9zYW1wbGVzID09IHMtPnNpemUpIHsKLSAgICAg ICAgcmV0dXJuIGFyZXF1ZXN0X2ZyYW1lKG91dGxpbmspOwotICAgIH0KKyAgICBGRl9GSUxURVJf Rk9SV0FSRF9XQU5URUQob3V0bGluaywgaW5saW5rKTsKIAogICAgIHJldHVybiBGRkVSUk9SX05P VF9SRUFEWTsKIH0KLS0gCjIuNDkuMQoKCkZyb20gMjBjOGEzZjVmZjgzZTA2ZmE2ZmM2NmRjMThj ZWRiYzhmNDNkOTM4YiBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKRnJvbTogPT9VVEYtOD9xP1I9 QzM9QTltaT0yMERlbmlzLUNvdXJtb250Pz0gPHJlbWlAcmVtbGFiLm5ldD4KRGF0ZTogU3VuLCAx NyBOb3YgMjAyNCAxMToxNTowMSArMDIwMApTdWJqZWN0OiBbUEFUQ0ggMDU0LzQzNF0gbGF2dS9y aXNjdjogZml4IGNvbXBpbGF0aW9uIHdpdGhvdXQgVmVjdG9yIHN1cHBvcnQKClRoZSBoYWxmLWJh a2VkIGFzc2VtYmxlciBpbiBDbGFuZyAxNiBhbmQgZWFybGllciBjYW4ndCBwcm9jZXNzIG91cgpS SVNDLVYgYXNzZW1ibGVyLiBUaGlzIGFkZHMgeWV0IGFub3RoZXIgd29yayBhcm91bmQgdGhhdC4K CklmIHlvdSBtdXN0IHVzZSBDbGFuZywgcGxlYXNlIHVzZSB2ZXJzaW9uIDE3IG9yIGxhdGVyLgoK KGNoZXJyeSBwaWNrZWQgZnJvbSBjb21taXQgZTI5NDMyZTZiYmI2MTg0ZDNmZjJjN2QxZTA3MGU5 NDI0Y2IyNWZlNikKLS0tCiBsaWJhdnV0aWwvcmlzY3YvY3B1LmggfCAyICstCiAxIGZpbGUgY2hh bmdlZCwgMSBpbnNlcnRpb24oKyksIDEgZGVsZXRpb24oLSkKCmRpZmYgLS1naXQgYS9saWJhdnV0 aWwvcmlzY3YvY3B1LmggYi9saWJhdnV0aWwvcmlzY3YvY3B1LmgKaW5kZXggMTkxZTQ0NzhjNS4u ZjJlNmI3YjQzMCAxMDA2NDQKLS0tIGEvbGliYXZ1dGlsL3Jpc2N2L2NwdS5oCisrKyBiL2xpYmF2 dXRpbC9yaXNjdi9jcHUuaApAQCAtNTYsNyArNTYsNiBAQCBzdGF0aWMgaW5saW5lIHNpemVfdCBm Zl9nZXRfcnZfdmxlbmIodm9pZCkKICAgICAgICAgIi5vcHRpb24gcG9wXG4iIDogIj1yIiAodmxl bmIpKTsKICAgICByZXR1cm4gdmxlbmI7CiB9Ci0jZW5kaWYKIAogLyoqCiAgKiBDaGVja3MgdGhh dCB0aGUgdmVjdG9yIGJpdC1zaXplIGlzIGF0IGxlYXN0IHRoZSBnaXZlbiB2YWx1ZS4KQEAgLTc4 LDMgKzc3LDQgQEAgc3RhdGljIGlubGluZSBib29sIGZmX3J2X3ZsZW5fbGVhc3QodW5zaWduZWQg aW50IGJpdHMpCiAgICAgcmV0dXJuIGJpdHMgPD0gKDggKiBmZl9nZXRfcnZfdmxlbmIoKSk7CiB9 CiAjZW5kaWYKKyNlbmRpZiAvKiBIQVZFX1JWViAqLwotLSAKMi40OS4xCgoKRnJvbSBhYzRjNzI1 OTQ0ZDk5MjNjM2I2OTZlNjgwOWM5ZGExZDlkNWRmOWZlIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAw MQpGcm9tOiBCcmFkIFNtaXRoIDxicmFkQGNvbXN0eWxlLmNvbT4KRGF0ZTogTW9uLCAyMSBPY3Qg MjAyNCAxMTo1Nzo0NCAtMDQwMApTdWJqZWN0OiBbUEFUQ0ggMDU1LzQzNF0gbGliYXZ1dGlsL3Bw YzogSW5jbHVkZSB0aGUgaGFyZHdhcmUgZmVhdHVyZSBmbGFncwogbGlrZSB0aGUgb3RoZXIgYXJj aHMKCkFsc28gaW5jbHVkZSB0aGUgaGFyZHdhcmUgZmVhdHVyZSBmbGFncyBsaWtlIHRoZSBvdGhl ciBhcmNocyBkbyBhbmQKY2xlYW4gdXAgdGhlIGNvZGUgYSBiaXQuCgpUZXN0ZWQgb24gTGludXgg UE9XRVI5LgoKU2lnbmVkLW9mZi1ieTogQnJhZCBTbWl0aCA8YnJhZEBjb21zdHlsZS5jb20+Cihj aGVycnkgcGlja2VkIGZyb20gY29tbWl0IGQ2YjJkMDhmYzcyODNkYTdhNWRiN2E2NGQ5YTMwNDdl ZDFiYTBkZTEpClNpZ25lZC1vZmYtYnk6IEJyYWQgU21pdGggPGJyYWRAY29tc3R5bGUuY29tPgot LS0KIGxpYmF2dXRpbC9wcGMvY3B1LmMgfCAzNSArKysrKysrKysrKysrKysrKy0tLS0tLS0tLS0t LS0tLS0tLQogMSBmaWxlIGNoYW5nZWQsIDE3IGluc2VydGlvbnMoKyksIDE4IGRlbGV0aW9ucygt KQoKZGlmZiAtLWdpdCBhL2xpYmF2dXRpbC9wcGMvY3B1LmMgYi9saWJhdnV0aWwvcHBjL2NwdS5j CmluZGV4IDkzODEyNzIxNzUuLjYyZDQ5NWVjMWQgMTAwNjQ0Ci0tLSBhL2xpYmF2dXRpbC9wcGMv Y3B1LmMKKysrIGIvbGliYXZ1dGlsL3BwYy9jcHUuYwpAQCAtNDYsNiArNDYsMTcgQEAKICNpbmNs dWRlICJsaWJhdnV0aWwvY3B1LmgiCiAjaW5jbHVkZSAibGliYXZ1dGlsL2NwdV9pbnRlcm5hbC5o IgogCisjaWZuZGVmIEFUX0hXQ0FQCisjZGVmaW5lIEFUX0hXQ0FQICAgICAgICAgICAgIDE2Cisj ZW5kaWYKKyNpZm5kZWYgQVRfSFdDQVAyCisjZGVmaW5lIEFUX0hXQ0FQMiAgICAgICAgICAgIDI2 CisjZW5kaWYKKworI2RlZmluZSBIV0NBUF9QUENfVlNYICAgICAgICAoMSA8PCA3KQorI2RlZmlu ZSBIV0NBUF9QUENfQUxUSVZFQyAgICAoMSA8PCAyOCkKKyNkZWZpbmUgSFdDQVAyX1BQQ19BUkNI XzJfMDcgKDEgPDwgMzEpCisKIC8qKgogICogVGhpcyBmdW5jdGlvbiBNQVkgcmVseSBvbiBzaWdu YWwoKSBvciBmb3JrKCkgaW4gb3JkZXIgdG8gbWFrZSBzdXJlIEFsdGlWZWMKICAqIGlzIHByZXNl bnQuCkBAIC02NSwyMCArNzYsMTQgQEAgaW50IGZmX2dldF9jcHVfZmxhZ3NfcHBjKHZvaWQpCiAg ICAgaW50IGZsYWdzID0gMDsKIAogICAgIHVuc2lnbmVkIGxvbmcgaHdjYXAgPSBmZl9nZXRhdXh2 YWwoQVRfSFdDQVApOwotI2lmZGVmIFBQQ19GRUFUVVJFMl9BUkNIXzJfMDcKICAgICB1bnNpZ25l ZCBsb25nIGh3Y2FwMiA9IGZmX2dldGF1eHZhbChBVF9IV0NBUDIpOwotI2VuZGlmCiAKLSAgICBp ZiAoaHdjYXAgJiBQUENfRkVBVFVSRV9IQVNfQUxUSVZFQykKKyAgICBpZiAoaHdjYXAgJiBIV0NB UF9QUENfQUxUSVZFQykKICAgICAgICBmbGFncyB8PSBBVl9DUFVfRkxBR19BTFRJVkVDOwotI2lm ZGVmIFBQQ19GRUFUVVJFX0hBU19WU1gKLSAgICBpZiAoaHdjYXAgJiBQUENfRkVBVFVSRV9IQVNf VlNYKQorICAgIGlmIChod2NhcCAmIEhXQ0FQX1BQQ19WU1gpCiAgICAgICAgZmxhZ3MgfD0gQVZf Q1BVX0ZMQUdfVlNYOwotI2VuZGlmCi0jaWZkZWYgUFBDX0ZFQVRVUkUyX0FSQ0hfMl8wNwotICAg IGlmIChod2NhcDIgJiBQUENfRkVBVFVSRTJfQVJDSF8yXzA3KQorICAgIGlmIChod2NhcDIgJiBI V0NBUDJfUFBDX0FSQ0hfMl8wNykKICAgICAgICBmbGFncyB8PSBBVl9DUFVfRkxBR19QT1dFUjg7 Ci0jZW5kaWYKIAogICAgIHJldHVybiBmbGFnczsKICNlbGlmIGRlZmluZWQoX19BUFBMRV9fKSB8 fCBkZWZpbmVkKF9fTmV0QlNEX18pIHx8IGRlZmluZWQoX19PcGVuQlNEX18pCkBAIC0xMTIsMjMg KzExNywxNyBAQCBpbnQgZmZfZ2V0X2NwdV9mbGFnc19wcGModm9pZCkKICAgICAgICAgICAgIGlm IChidWZbaV0gPT0gQVRfTlVMTCkKICAgICAgICAgICAgICAgICBnb3RvIG91dDsKICAgICAgICAg ICAgIGlmIChidWZbaV0gPT0gQVRfSFdDQVApIHsKLSAgICAgICAgICAgICAgICBpZiAoYnVmW2kg KyAxXSAmIFBQQ19GRUFUVVJFX0hBU19BTFRJVkVDKQorICAgICAgICAgICAgICAgIGlmIChidWZb aSArIDFdICYgSFdDQVBfUFBDX0FMVElWRUMpCiAgICAgICAgICAgICAgICAgICAgIHJldCA9IEFW X0NQVV9GTEFHX0FMVElWRUM7Ci0jaWZkZWYgUFBDX0ZFQVRVUkVfSEFTX1ZTWAotICAgICAgICAg ICAgICAgIGlmIChidWZbaSArIDFdICYgUFBDX0ZFQVRVUkVfSEFTX1ZTWCkKKyAgICAgICAgICAg ICAgICBpZiAoYnVmW2kgKyAxXSAmIEhXQ0FQX1BQQ19WU1gpCiAgICAgICAgICAgICAgICAgICAg IHJldCB8PSBBVl9DUFVfRkxBR19WU1g7Ci0jZW5kaWYKICAgICAgICAgICAgICAgICBpZiAocmV0 ICYgQVZfQ1BVX0ZMQUdfVlNYKQogICAgICAgICAgICAgICAgICAgICBhdl9hc3NlcnQwKHJldCAm IEFWX0NQVV9GTEFHX0FMVElWRUMpOwogICAgICAgICAgICAgfQotI2lmZGVmIEFUX0hXQ0FQMiAv KiBub3QgaW50cm9kdWNlZCB1bnRpbCBnbGliYyAyLjE4ICovCiAgICAgICAgICAgICBlbHNlIGlm IChidWZbaV0gPT0gQVRfSFdDQVAyKSB7Ci0jaWZkZWYgUFBDX0ZFQVRVUkUyX0FSQ0hfMl8wNwot ICAgICAgICAgICAgICAgIGlmIChidWZbaSArIDFdICYgUFBDX0ZFQVRVUkUyX0FSQ0hfMl8wNykK KyAgICAgICAgICAgICAgICBpZiAoYnVmW2kgKyAxXSAmIEhXQ0FQMl9QUENfQVJDSF8yXzA3KQog ICAgICAgICAgICAgICAgICAgICByZXQgfD0gQVZfQ1BVX0ZMQUdfUE9XRVI4OwotI2VuZGlmCiAg ICAgICAgICAgICB9Ci0jZW5kaWYgLyogQVRfSFdDQVAyICovCiAgICAgICAgIH0KICAgICB9CiAK LS0gCjIuNDkuMQoKCkZyb20gMGM2NDFlZTY2MTBlZDNiYzhhMDYwNDBjMzJlYTI4MDY0OWQ0Mjdi MCBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKRnJvbTogU2VhbiBNY0dvdmVybiA8Z3NlYW5tY2dA Z21haWwuY29tPgpEYXRlOiBTdW4sIDMgTm92IDIwMjQgMjE6NTg6NDMgLTA1MDAKU3ViamVjdDog W1BBVENIIDA1Ni80MzRdIGxpYmF2dXRpbC9wcGM6IGRlZmluZXMgaW52b2x2aW5nIGJpdCBzaGlm dHMgc2hvdWxkIGJlCiB1bnNpZ25lZAoKT3RoZXJ3aXNlLCB0aGVzZSBjYW4gb3ZlcmZsb3cgYXQg dGhlIGJvdW5kYXJpZXMgb2YgdGhlIGludGVnZXIgdHlwZS4KClNpZ25lZC1vZmYtYnk6IEJyYWQg U21pdGggPGJyYWRAY29tc3R5bGUuY29tPgooY2hlcnJ5IHBpY2tlZCBmcm9tIGNvbW1pdCBjMzI1 ZjljNjE5YjM4NjE0YWI2ZTMzOWNlZmFjZDU5NjI2NmRiNDcxKQpTaWduZWQtb2ZmLWJ5OiBCcmFk IFNtaXRoIDxicmFkQGNvbXN0eWxlLmNvbT4KLS0tCiBsaWJhdnV0aWwvcHBjL2NwdS5jIHwgNiAr KystLS0KIDEgZmlsZSBjaGFuZ2VkLCAzIGluc2VydGlvbnMoKyksIDMgZGVsZXRpb25zKC0pCgpk aWZmIC0tZ2l0IGEvbGliYXZ1dGlsL3BwYy9jcHUuYyBiL2xpYmF2dXRpbC9wcGMvY3B1LmMKaW5k ZXggNjJkNDk1ZWMxZC4uOWY5YzA3MzQzNCAxMDA2NDQKLS0tIGEvbGliYXZ1dGlsL3BwYy9jcHUu YworKysgYi9saWJhdnV0aWwvcHBjL2NwdS5jCkBAIC01Myw5ICs1Myw5IEBACiAjZGVmaW5lIEFU X0hXQ0FQMiAgICAgICAgICAgIDI2CiAjZW5kaWYKIAotI2RlZmluZSBIV0NBUF9QUENfVlNYICAg ICAgICAoMSA8PCA3KQotI2RlZmluZSBIV0NBUF9QUENfQUxUSVZFQyAgICAoMSA8PCAyOCkKLSNk ZWZpbmUgSFdDQVAyX1BQQ19BUkNIXzJfMDcgKDEgPDwgMzEpCisjZGVmaW5lIEhXQ0FQX1BQQ19W U1ggICAgICAgICgxVSA8PCA3KQorI2RlZmluZSBIV0NBUF9QUENfQUxUSVZFQyAgICAoMVUgPDwg MjgpCisjZGVmaW5lIEhXQ0FQMl9QUENfQVJDSF8yXzA3ICgxVSA8PCAzMSkKIAogLyoqCiAgKiBU aGlzIGZ1bmN0aW9uIE1BWSByZWx5IG9uIHNpZ25hbCgpIG9yIGZvcmsoKSBpbiBvcmRlciB0byBt YWtlIHN1cmUgQWx0aVZlYwotLSAKMi40OS4xCgoKRnJvbSA2NGUyODY0Y2I5ODNkMzAxNjJkYzkw MDNiNWFhZTgxZTg5YzkyOWNkIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBCcmFkIFNt aXRoIDxicmFkLWF0LWNvbXN0eWxlLmNvbUBmZm1wZWcub3JnPgpEYXRlOiBTdW4sIDE3IE5vdiAy MDI0IDIxOjAyOjM5IC0wNTAwClN1YmplY3Q6IFtQQVRDSCAwNTcvNDM0XSBsaWJhdnV0aWwvcmlz Y3Y6IE1ha2UgdXNlIG9mIGVsZl9hdXhfaW5mbygpIG9uCiBGcmVlQlNEIC8gT3BlbkJTRCByaXNj dgpNSU1FLVZlcnNpb246IDEuMApDb250ZW50LVR5cGU6IHRleHQvcGxhaW47IGNoYXJzZXQ9VVRG LTgKQ29udGVudC1UcmFuc2Zlci1FbmNvZGluZzogOGJpdAoKbGliYXZ1dGlsL3Jpc2N2OiBNYWtl IHVzZSBvZiBlbGZfYXV4X2luZm8oKSBvbiBGcmVlQlNEIC8gT3BlbkJTRCByaXNjdgoKRnJlZUJT RC9PcGVuQlNEIHJpc2N2IGhhdmUgZWxmX2F1eF9pbmZvKCkuCgpTaWduZWQtb2ZmLWJ5OiBCcmFk IFNtaXRoIDxicmFkQGNvbXN0eWxlLmNvbT4KU2lnbmVkLW9mZi1ieTogUsOpbWkgRGVuaXMtQ291 cm1vbnQgPHJlbWlAcmVtbGFiLm5ldD4KKGNoZXJyeSBwaWNrZWQgZnJvbSBjb21taXQgZjNlY2Ez ZjM4NzA5MmM1OTZmMDM1YTEyNmZiYTE1YTMwYzNhOTQ5OSkKU2lnbmVkLW9mZi1ieTogQnJhZCBT bWl0aCA8YnJhZEBjb21zdHlsZS5jb20+Ci0tLQogbGliYXZ1dGlsL3Jpc2N2L2NwdS5jIHwgNCAr Ky0tCiAxIGZpbGUgY2hhbmdlZCwgMiBpbnNlcnRpb25zKCspLCAyIGRlbGV0aW9ucygtKQoKZGlm ZiAtLWdpdCBhL2xpYmF2dXRpbC9yaXNjdi9jcHUuYyBiL2xpYmF2dXRpbC9yaXNjdi9jcHUuYwpp bmRleCA0ZWM2ZDZjODI2Li4xNjNlNGZjMTRhIDEwMDY0NAotLS0gYS9saWJhdnV0aWwvcmlzY3Yv Y3B1LmMKKysrIGIvbGliYXZ1dGlsL3Jpc2N2L2NwdS5jCkBAIC0yNSw3ICsyNSw3IEBACiAjaW5j bHVkZSAibGliYXZ1dGlsL2xvZy5oIgogI2luY2x1ZGUgImNvbmZpZy5oIgogCi0jaWYgSEFWRV9H RVRBVVhWQUwKKyNpZiBIQVZFX0dFVEFVWFZBTCB8fCBIQVZFX0VMRl9BVVhfSU5GTwogI2luY2x1 ZGUgPHN5cy9hdXh2Lmg+CiAjZGVmaW5lIEhXQ0FQX1JWKGxldHRlcikgKDF1bCA8PCAoKGxldHRl cikgLSAnQScpKQogI2VuZGlmCkBAIC04NCw3ICs4NCw3IEBAIGludCBmZl9nZXRfY3B1X2ZsYWdz X3Jpc2N2KHZvaWQpCiAgICAgICAgICAgICBkZWZhdWx0OgogICAgICAgICB9CiAgICAgfQotI2Vs aWYgSEFWRV9HRVRBVVhWQUwKKyNlbGlmIEhBVkVfR0VUQVVYVkFMIHx8IEhBVkVfRUxGX0FVWF9J TkZPCiAgICAgewogICAgICAgICBjb25zdCB1bnNpZ25lZCBsb25nIGh3Y2FwID0gZmZfZ2V0YXV4 dmFsKEFUX0hXQ0FQKTsKIAotLSAKMi40OS4xCgoKRnJvbSAzNTEzY2NjY2I2NTBhOTIwZWE3ZGE5 NjRmMDQxNTQ3NmM2NTI1ZmIwIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBKYW1lcyBB bG1lciA8amFtcmlhbEBnbWFpbC5jb20+CkRhdGU6IFN1biwgMTcgTm92IDIwMjQgMjM6MDE6Mzcg LTAzMDAKU3ViamVjdDogW1BBVENIIDA1OC80MzRdIGF2Zm9ybWF0L21vdmVuYzogZG9uJ3Qgd3Jp dGUgYSBjYWxjdWxhdGVkIGF2Z0JpdHJhdGUKIHdoZW4gdGhlIHByb3ZpZGVkIG9uZSBpcyB1bnNl dAoKYXZnQml0cmF0ZSA9PSAwIGlzIHVzZWQgdG8gc2lnbmFsIGEgVkJSIHRyYWNrLCBzbyBpZiB0 aGF0IHZhbHVlIGlzIHByb3BhZ2F0ZWQgYnkgYW4KZW5jb2RlciwgZG9uJ3Qgb3ZlcndyaXRlIGl0 IHdpdGggYSBjYWxjdWxhdGVkIHZhbHVlIGJhc2VkIG9uIHRyYWNrIHNpemUuCgpQYXJ0IG9mIGEg Zml4IGZvciB0aWNrZXQgIzExMzAzLgoKU2lnbmVkLW9mZi1ieTogSmFtZXMgQWxtZXIgPGphbXJp YWxAZ21haWwuY29tPgooY2hlcnJ5IHBpY2tlZCBmcm9tIGNvbW1pdCA5NDQyMTJhY2FkN2MyMjU0 ZDlkYzE0NzY0YjI5ZTAwMjNhYWE2NDVhKQotLS0KIGxpYmF2Zm9ybWF0L21vdmVuYy5jIHwgMyAr KysKIDEgZmlsZSBjaGFuZ2VkLCAzIGluc2VydGlvbnMoKykKCmRpZmYgLS1naXQgYS9saWJhdmZv cm1hdC9tb3ZlbmMuYyBiL2xpYmF2Zm9ybWF0L21vdmVuYy5jCmluZGV4IGQyMGU0NWNmODEuLmEz NjVlYmU5MjEgMTAwNjQ0Ci0tLSBhL2xpYmF2Zm9ybWF0L21vdmVuYy5jCisrKyBiL2xpYmF2Zm9y bWF0L21vdmVuYy5jCkBAIC03MzcsNiArNzM3LDkgQEAgc3RhdGljIHN0cnVjdCBtcGVnNF9iaXRf cmF0ZV92YWx1ZXMgY2FsY3VsYXRlX21wZWc0X2JpdF9yYXRlcyhNT1ZUcmFjayAqdHJhY2spCiAK ICAgICAvLyB1dGlsaXplIHZhbHVlcyBmcm9tIHByb3BlcnRpZXMgaWYgd2UgaGF2ZSB0aGVtIGF2 YWlsYWJsZQogICAgIGlmIChwcm9wcykgeworICAgICAgICAvLyBubyBhdmdfYml0cmF0ZSBzaWdu YWxzIHRoYXQgdGhlIHRyYWNrIGlzIFZCUgorICAgICAgICBpZiAoIXByb3BzLT5hdmdfYml0cmF0 ZSkKKyAgICAgICAgICAgIGJpdF9yYXRlcy5hdmdfYml0X3JhdGUgPSBwcm9wcy0+YXZnX2JpdHJh dGU7CiAgICAgICAgIGJpdF9yYXRlcy5tYXhfYml0X3JhdGUgPSBGRk1BWChiaXRfcmF0ZXMubWF4 X2JpdF9yYXRlLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcHJvcHMt Pm1heF9iaXRyYXRlKTsKICAgICAgICAgYml0X3JhdGVzLmJ1ZmZlcl9zaXplID0gcHJvcHMtPmJ1 ZmZlcl9zaXplIC8gODsKLS0gCjIuNDkuMQoKCkZyb20gY2I5OTdjY2QwOTczN2IzMTIyMGM3YzJi YzA0OTM0Y2VkYTk3MDJlNyBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKRnJvbTogSmFtZXMgQWxt ZXIgPGphbXJpYWxAZ21haWwuY29tPgpEYXRlOiBTdW4sIDE3IE5vdiAyMDI0IDIzOjAxOjM4IC0w MzAwClN1YmplY3Q6IFtQQVRDSCAwNTkvNDM0XSBhdmNvZGVjL2xpYmZkay1hYWNlbmM6IGV4cG9y dCBDUEIgcHJvcGVydGllcwoKTmVlZGVkIHRvIHNpZ25hbCB0aGUgbXV4ZXIgdGhhdCB0aGUgc3Ry ZWFtIGlzIFZCUi4KCkZpbmlzaGVzIGZpeGluZyB0aWNrZXQgIzExMzAzLgoKU2lnbmVkLW9mZi1i eTogSmFtZXMgQWxtZXIgPGphbXJpYWxAZ21haWwuY29tPgooY2hlcnJ5IHBpY2tlZCBmcm9tIGNv bW1pdCA0NmM2Y2EzZWQxNjUxYzY3ZmFmODk5Nzc2ZjE5MjJjMTA4MDkzYTQ0KQotLS0KIGxpYmF2 Y29kZWMvbGliZmRrLWFhY2VuYy5jIHwgOSArKysrKysrKysKIDEgZmlsZSBjaGFuZ2VkLCA5IGlu c2VydGlvbnMoKykKCmRpZmYgLS1naXQgYS9saWJhdmNvZGVjL2xpYmZkay1hYWNlbmMuYyBiL2xp YmF2Y29kZWMvbGliZmRrLWFhY2VuYy5jCmluZGV4IDBmMzNjZGI4YzkuLmNjMGFlMGQ4ZGEgMTAw NjQ0Ci0tLSBhL2xpYmF2Y29kZWMvbGliZmRrLWFhY2VuYy5jCisrKyBiL2xpYmF2Y29kZWMvbGli ZmRrLWFhY2VuYy5jCkBAIC0xNzgsNiArMTc4LDcgQEAgc3RhdGljIGF2X2NvbGQgaW50IGFhY19l bmNvZGVfaW5pdChBVkNvZGVjQ29udGV4dCAqYXZjdHgpCiAgICAgQUFDQ29udGV4dCAqcyA9IGF2 Y3R4LT5wcml2X2RhdGE7CiAgICAgaW50IHJldCA9IEFWRVJST1IoRUlOVkFMKTsKICAgICBBQUNF TkNfSW5mb1N0cnVjdCBpbmZvID0geyAwIH07CisgICAgQVZDUEJQcm9wZXJ0aWVzICpjcGJfcHJv cHM7CiAgICAgQ0hBTk5FTF9NT0RFIG1vZGU7CiAgICAgQUFDRU5DX0VSUk9SIGVycjsKICAgICBp bnQgYW90ID0gQVZfUFJPRklMRV9BQUNfTE9XICsgMTsKQEAgLTQzOCw2ICs0MzksMTQgQEAgc3Rh dGljIGF2X2NvbGQgaW50IGFhY19lbmNvZGVfaW5pdChBVkNvZGVjQ29udGV4dCAqYXZjdHgpCiAK ICAgICAgICAgbWVtY3B5KGF2Y3R4LT5leHRyYWRhdGEsIGluZm8uY29uZkJ1ZiwgaW5mby5jb25m U2l6ZSk7CiAgICAgfQorCisgICAgY3BiX3Byb3BzID0gZmZfZW5jb2RlX2FkZF9jcGJfc2lkZV9k YXRhKGF2Y3R4KTsKKyAgICBpZiAoIWNwYl9wcm9wcykKKyAgICAgICAgcmV0dXJuIEFWRVJST1Io RU5PTUVNKTsKKyAgICBjcGJfcHJvcHMtPm1heF9iaXRyYXRlID0KKyAgICBjcGJfcHJvcHMtPm1p bl9iaXRyYXRlID0KKyAgICBjcGJfcHJvcHMtPmF2Z19iaXRyYXRlID0gYXZjdHgtPmJpdF9yYXRl OworCiAgICAgcmV0dXJuIDA7CiBlcnJvcjoKICAgICBhYWNfZW5jb2RlX2Nsb3NlKGF2Y3R4KTsK LS0gCjIuNDkuMQoKCkZyb20gOGZhNWZhMTQ2MzAyNWNhMzhmYWIzMDk5ZmU1YWRiMzM3NzI3YmRh YSBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKRnJvbTogSmFtZXMgQWxtZXIgPGphbXJpYWxAZ21h aWwuY29tPgpEYXRlOiBGcmksIDE1IE5vdiAyMDI0IDIwOjE0OjM3IC0wMzAwClN1YmplY3Q6IFtQ QVRDSCAwNjAvNDM0XSBhdmZvcm1hdC9tb3ZlbmM6IGRvbid0IGRpc2FibGUgZWRpdCBsaXN0cyB3 aGVuCiB3cml0aW5nIENNQUYgb3V0cHV0CgpUaGV5IGFyZSBuZWVkZWQgZm9yIGF1ZGlvIHRyYWNr cyB3aXRoIHByaW1pbmcgc2FtcGxlcywgd2hlcmUgbmVnYXRpdmUgQ1RTCm9mZnNldHMgY2FuJ3Qg YmUgdXNlZC4KCkZpeGVzIHRpY2tldCAjMTEwMzEuCgpTaWduZWQtb2ZmLWJ5OiBKYW1lcyBBbG1l ciA8amFtcmlhbEBnbWFpbC5jb20+CihjaGVycnkgcGlja2VkIGZyb20gY29tbWl0IGVjYzdkNWRi OWM4YTFhYWNjYzg3NmRjNGI1NDk1NThlYWRmZTE0MGEpCi0tLQogbGliYXZmb3JtYXQvbW92ZW5j LmMgfCA4IC0tLS0tLS0tCiAxIGZpbGUgY2hhbmdlZCwgOCBkZWxldGlvbnMoLSkKCmRpZmYgLS1n aXQgYS9saWJhdmZvcm1hdC9tb3ZlbmMuYyBiL2xpYmF2Zm9ybWF0L21vdmVuYy5jCmluZGV4IGEz NjVlYmU5MjEuLmRhNThhN2FiMTUgMTAwNjQ0Ci0tLSBhL2xpYmF2Zm9ybWF0L21vdmVuYy5jCisr KyBiL2xpYmF2Zm9ybWF0L21vdmVuYy5jCkBAIC03NjY2LDE5ICs3NjY2LDExIEBAIHN0YXRpYyBp bnQgbW92X2luaXQoQVZGb3JtYXRDb250ZXh0ICpzKQogICAgICAgICAgICAgICAgIHMtPmF2b2lk X25lZ2F0aXZlX3RzID09IEFWRk1UX0FWT0lEX05FR19UU19NQUtFX1pFUk8pCiAgICAgICAgICAg ICAgICAgbW92LT51c2VfZWRpdGxpc3QgPSAwOwogICAgICAgICB9Ci0gICAgICAgIGlmIChtb3Yt PmZsYWdzICYgRkZfTU9WX0ZMQUdfQ01BRikgewotICAgICAgICAgICAgLy8gQ01BRiBUcmFjayBy ZXF1aXJlcyBuZWdhdGl2ZSBjdHMgb2Zmc2V0cyB3aXRob3V0IGVkaXQgbGlzdHMKLSAgICAgICAg ICAgIG1vdi0+dXNlX2VkaXRsaXN0ID0gMDsKLSAgICAgICAgfQogICAgIH0KICAgICBpZiAobW92 LT5mbGFncyAmIEZGX01PVl9GTEFHX0VNUFRZX01PT1YgJiYKICAgICAgICAgIShtb3YtPmZsYWdz ICYgRkZfTU9WX0ZMQUdfREVMQVlfTU9PVikgJiYgbW92LT51c2VfZWRpdGxpc3QpCiAgICAgICAg IGF2X2xvZyhzLCBBVl9MT0dfV0FSTklORywgIk5vIG1lYW5pbmdmdWwgZWRpdCBsaXN0IHdpbGwg YmUgd3JpdHRlbiB3aGVuIHVzaW5nIGVtcHR5X21vb3Ygd2l0aG91dCBkZWxheV9tb292XG4iKTsK IAotICAgIGlmIChtb3YtPmZsYWdzICYgRkZfTU9WX0ZMQUdfQ01BRiAmJiBtb3YtPnVzZV9lZGl0 bGlzdCkgewotICAgICAgICBhdl9sb2cocywgQVZfTE9HX1dBUk5JTkcsICJFZGl0IGxpc3QgZW5h YmxlZDsgQXNzdW1pbmcgd3JpdGluZyBDTUFGIFRyYWNrIEZpbGVcbiIpOwotICAgICAgICBtb3Yt PmZsYWdzICY9IH5GRl9NT1ZfRkxBR19ORUdBVElWRV9DVFNfT0ZGU0VUUzsKLSAgICB9CiAgICAg aWYgKCFtb3YtPnVzZV9lZGl0bGlzdCAmJiBzLT5hdm9pZF9uZWdhdGl2ZV90cyA9PSBBVkZNVF9B Vk9JRF9ORUdfVFNfQVVUTyAmJgogICAgICAgICAhKG1vdi0+ZmxhZ3MgJiBGRl9NT1ZfRkxBR19O RUdBVElWRV9DVFNfT0ZGU0VUUykpCiAgICAgICAgIHMtPmF2b2lkX25lZ2F0aXZlX3RzID0gQVZG TVRfQVZPSURfTkVHX1RTX01BS0VfWkVSTzsKLS0gCjIuNDkuMQoKCkZyb20gZTA3ZDdjNzVkYmZk MWVmNWM5MjMzZmVhNjNiYjI5ZGRmNTY3MjgzZiBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKRnJv bTogSmFtZXMgQWxtZXIgPGphbXJpYWxAZ21haWwuY29tPgpEYXRlOiBTYXQsIDE2IE5vdiAyMDI0 IDE3OjQ0OjQ2IC0wMzAwClN1YmplY3Q6IFtQQVRDSCAwNjEvNDM0XSBhdmZvcm1hdC9zcGRpZmRl YzogcGFyc2UgaGVhZGVycyBmb3IgYXVkaW8gY29kZWNzCgpTaWduZWQtb2ZmLWJ5OiBKYW1lcyBB bG1lciA8amFtcmlhbEBnbWFpbC5jb20+CihjaGVycnkgcGlja2VkIGZyb20gY29tbWl0IDRlNmQz MTc1NWJmOGQwMzU1NDE4ZDE5NzI1ZWU5NDdlNmMwNTM2YzApCi0tLQogbGliYXZmb3JtYXQvc3Bk aWZkZWMuYyAgICAgICAgICAgICAgICAgICAgIHwgICAgMiArCiB0ZXN0cy9yZWYvZmF0ZS9zcGRp Zi1kY2EtY29yZS1yZW11eCAgICAgICAgfCAgIDE0ICstCiB0ZXN0cy9yZWYvZmF0ZS9zcGRpZi1k Y2EtbWFzdGVyLWNvcmUtcmVtdXggfCAyMzQ0ICsrKysrKysrKystLS0tLS0tLS0tCiAzIGZpbGVz IGNoYW5nZWQsIDExODEgaW5zZXJ0aW9ucygrKSwgMTE3OSBkZWxldGlvbnMoLSkKCmRpZmYgLS1n aXQgYS9saWJhdmZvcm1hdC9zcGRpZmRlYy5jIGIvbGliYXZmb3JtYXQvc3BkaWZkZWMuYwppbmRl eCA2YTAxZjJiYTI5Li5kY2ZlNDcxZjQ1IDEwMDY0NAotLS0gYS9saWJhdmZvcm1hdC9zcGRpZmRl Yy5jCisrKyBiL2xpYmF2Zm9ybWF0L3NwZGlmZGVjLmMKQEAgLTIzNiw2ICsyMzYsOCBAQCBpbnQg ZmZfc3BkaWZfcmVhZF9wYWNrZXQoQVZGb3JtYXRDb250ZXh0ICpzLCBBVlBhY2tldCAqcGt0KQog ICAgICAgICBzdC0+Y29kZWNwYXItPmNvZGVjX2lkID0gY29kZWNfaWQ7CiAgICAgICAgIGlmIChj b2RlY19pZCA9PSBBVl9DT0RFQ19JRF9FQUMzKQogICAgICAgICAgICAgZmZzdHJlYW0oc3QpLT5u ZWVkX3BhcnNpbmcgPSBBVlNUUkVBTV9QQVJTRV9GVUxMOworICAgICAgICBlbHNlCisgICAgICAg ICAgICBmZnN0cmVhbShzdCktPm5lZWRfcGFyc2luZyA9IEFWU1RSRUFNX1BBUlNFX0hFQURFUlM7 CiAgICAgfSBlbHNlIGlmIChjb2RlY19pZCAhPSBzLT5zdHJlYW1zWzBdLT5jb2RlY3Bhci0+Y29k ZWNfaWQpIHsKICAgICAgICAgYXZwcml2X3JlcG9ydF9taXNzaW5nX2ZlYXR1cmUocywgIkNvZGVj IGNoYW5nZSBpbiBJRUMgNjE5MzciKTsKICAgICAgICAgcmV0dXJuIEFWRVJST1JfUEFUQ0hXRUxD T01FOwpkaWZmIC0tZ2l0IGEvdGVzdHMvcmVmL2ZhdGUvc3BkaWYtZGNhLWNvcmUtcmVtdXggYi90 ZXN0cy9yZWYvZmF0ZS9zcGRpZi1kY2EtY29yZS1yZW11eAppbmRleCBhNzRiOGE0MWE5Li40ZmNi ZjhjNWQxIDEwMDY0NAotLS0gYS90ZXN0cy9yZWYvZmF0ZS9zcGRpZi1kY2EtY29yZS1yZW11eAor KysgYi90ZXN0cy9yZWYvZmF0ZS9zcGRpZi1kY2EtY29yZS1yZW11eApAQCAtNSwxMCArNSwxMCBA QCBhNGU3MzllYmUwN2M3NWRkNTY5MTU2ZDUwMzg2OTZhOSAqdGVzdHMvZGF0YS9mYXRlL3NwZGlm LWRjYS1jb3JlLXJlbXV4LnNwZGlmCiAjY29kZWNfaWQgMDogZHRzCiAjc2FtcGxlX3JhdGUgMDog NDgwMDAKICNjaGFubmVsX2xheW91dF9uYW1lIDA6IDUuMShzaWRlKQotMCwgICAgICAgICAgMCwg ICAgICAgICAgMCwgICAgICAgIDAsICAgICAxMDI0LCAweDA3Yjc5ZDJhCi0wLCAgICAgICAgICAw LCAgICAgICAgICAwLCAgICAgICAgMCwgICAgIDEwMjQsIDB4N2VhYWJhNzcKLTAsICAgICAgICAg IDAsICAgICAgICAgIDAsICAgICAgICAwLCAgICAgMTAyNCwgMHhiZWQ2NWMxZAotMCwgICAgICAg ICAgMCwgICAgICAgICAgMCwgICAgICAgIDAsICAgICAxMDI0LCAweDEwYmM2NzkyCi0wLCAgICAg ICAgICAwLCAgICAgICAgICAwLCAgICAgICAgMCwgICAgIDEwMjQsIDB4Zjg0MzZmNmUKLTAsICAg ICAgICAgIDAsICAgICAgICAgIDAsICAgICAgICAwLCAgICAgMTAyNCwgMHg0NDU0YTY4MQotMCwg ICAgICAgICAgMCwgICAgICAgICAgMCwgICAgICAgIDAsICAgICAxMDI0LCAweGRhM2JhMTg5Cisw LCAgICAgICAgICAwLCAgICAgICAgICAwLCAgICAgIDk2MCwgICAgIDEwMjQsIDB4MDdiNzlkMmEK KzAsICAgICAgICA5NjAsICAgICAgICA5NjAsICAgICAgOTYwLCAgICAgMTAyNCwgMHg3ZWFhYmE3 NworMCwgICAgICAgMTkyMCwgICAgICAgMTkyMCwgICAgICA5NjAsICAgICAxMDI0LCAweGJlZDY1 YzFkCiswLCAgICAgICAyODgwLCAgICAgICAyODgwLCAgICAgIDk2MCwgICAgIDEwMjQsIDB4MTBi YzY3OTIKKzAsICAgICAgIDM4NDAsICAgICAgIDM4NDAsICAgICAgOTYwLCAgICAgMTAyNCwgMHhm ODQzNmY2ZQorMCwgICAgICAgNDgwMCwgICAgICAgNDgwMCwgICAgICA5NjAsICAgICAxMDI0LCAw eDQ0NTRhNjgxCiswLCAgICAgICA1NzYwLCAgICAgICA1NzYwLCAgICAgIDk2MCwgICAgIDEwMjQs IDB4ZGEzYmExODkKZGlmZiAtLWdpdCBhL3Rlc3RzL3JlZi9mYXRlL3NwZGlmLWRjYS1tYXN0ZXIt Y29yZS1yZW11eCBiL3Rlc3RzL3JlZi9mYXRlL3NwZGlmLWRjYS1tYXN0ZXItY29yZS1yZW11eApp bmRleCBkZTZmMTI4MTg2Li5kNmNmZWVmYjVhIDEwMDY0NAotLS0gYS90ZXN0cy9yZWYvZmF0ZS9z cGRpZi1kY2EtbWFzdGVyLWNvcmUtcmVtdXgKKysrIGIvdGVzdHMvcmVmL2ZhdGUvc3BkaWYtZGNh LW1hc3Rlci1jb3JlLXJlbXV4CkBAIC01LDExNzUgKzUsMTE3NSBAQCBjNGYzZjNjNmNhNzNmY2I3 YmVhYzEzNzEwNWRhZGFiNCAqdGVzdHMvZGF0YS9mYXRlL3NwZGlmLWRjYS1tYXN0ZXItY29yZS1y ZW11eC5zcAogI2NvZGVjX2lkIDA6IGR0cwogI3NhbXBsZV9yYXRlIDA6IDQ4MDAwCiAjY2hhbm5l bF9sYXlvdXRfbmFtZSAwOiA1LjEoc2lkZSkKLTAsICAgICAgICAgIDAsICAgICAgICAgIDAsICAg ICAgICAwLCAgICAgMjAxMiwgMHg2NzFkYzczYQotMCwgICAgICAgICAgMCwgICAgICAgICAgMCwg ICAgICAgIDAsICAgICAyMDEyLCAweDdmZDViMWQyCi0wLCAgICAgICAgICAwLCAgICAgICAgICAw LCAgICAgICAgMCwgICAgIDIwMTIsIDB4YmU3YjllNWUKLTAsICAgICAgICAgIDAsICAgICAgICAg IDAsICAgICAgICAwLCAgICAgMjAxMiwgMHg2NzFkYzczYQotMCwgICAgICAgICAgMCwgICAgICAg ICAgMCwgICAgICAgIDAsICAgICAyMDEyLCAweDdmZDViMWQyCi0wLCAgICAgICAgICAwLCAgICAg ICAgICAwLCAgICAgICAgMCwgICAgIDIwMTIsIDB4YmU3YjllNWUKLTAsICAgICAgICAgIDAsICAg ICAgICAgIDAsICAgICAgICAwLCAgICAgMjAxMiwgMHg2NzFkYzczYQotMCwgICAgICAgICAgMCwg ICAgICAgICAgMCwgICAgICAgIDAsICAgICAyMDEyLCAweDdmZDViMWQyCi0wLCAgICAgICAgICAw LCAgICAgICAgICAwLCAgICAgICAgMCwgICAgIDIwMTIsIDB4YmU3YjllNWUKLTAsICAgICAgICAg IDAsICAgICAgICAgIDAsICAgICAgICAwLCAgICAgMjAxMiwgMHg2NzFkYzczYQotMCwgICAgICAg ICAgMCwgICAgICAgICAgMCwgICAgICAgIDAsICAgICAyMDEyLCAweDdmZDViMWQyCi0wLCAgICAg ICAgICAwLCAgICAgICAgICAwLCAgICAgICAgMCwgICAgIDIwMTIsIDB4YmU3YjllNWUKLTAsICAg ICAgICAgIDAsICAgICAgICAgIDAsICAgICAgICAwLCAgICAgMjAxMiwgMHg2NzFkYzczYQotMCwg ICAgICAgICAgMCwgICAgICAgICAgMCwgICAgICAgIDAsICAgICAyMDEyLCAweDdmZDViMWQyCi0w LCAgICAgICAgICAwLCAgICAgICAgICAwLCAgICAgICAgMCwgICAgIDIwMTIsIDB4YmU3YjllNWUK LTAsICAgICAgICAgIDAsICAgICAgICAgIDAsICAgICAgICAwLCAgICAgMjAxMiwgMHg2NzFkYzcz YQotMCwgICAgICAgICAgMCwgICAgICAgICAgMCwgICAgICAgIDAsICAgICAyMDEyLCAweDdmZDVi MWQyCi0wLCAgICAgICAgICAwLCAgICAgICAgICAwLCAgICAgICAgMCwgICAgIDIwMTIsIDB4YmU3 YjllNWUKLTAsICAgICAgICAgIDAsICAgICAgICAgIDAsICAgICAgICAwLCAgICAgMjAxMiwgMHg2 NzFkYzczYQotMCwgICAgICAgICAgMCwgICAgICAgICAgMCwgICAgICAgIDAsICAgICAyMDEyLCAw eDdmZDViMWQyCi0wLCAgICAgICAgICAwLCAgICAgICAgICAwLCAgICAgICAgMCwgICAgIDIwMTIs IDB4YmU3YjllNWUKLTAsICAgICAgICAgIDAsICAgICAgICAgIDAsICAgICAgICAwLCAgICAgMjAx MiwgMHg2NzFkYzczYQotMCwgICAgICAgICAgMCwgICAgICAgICAgMCwgICAgICAgIDAsICAgICAy MDEyLCAweDdmZDViMWQyCi0wLCAgICAgICAgICAwLCAgICAgICAgICAwLCAgICAgICAgMCwgICAg IDIwMTIsIDB4YmU3YjllNWUKLTAsICAgICAgICAgIDAsICAgICAgICAgIDAsICAgICAgICAwLCAg ICAgMjAxMiwgMHg2NzFkYzczYQotMCwgICAgICAgICAgMCwgICAgICAgICAgMCwgICAgICAgIDAs ICAgICAyMDEyLCAweDdmZDViMWQyCi0wLCAgICAgICAgICAwLCAgICAgICAgICAwLCAgICAgICAg MCwgICAgIDIwMTIsIDB4YmU3YjllNWUKLTAsICAgICAgICAgIDAsICAgICAgICAgIDAsICAgICAg ICAwLCAgICAgMjAxMiwgMHg2NzFkYzczYQotMCwgICAgICAgICAgMCwgICAgICAgICAgMCwgICAg ICAgIDAsICAgICAyMDEyLCAweDdmZDViMWQyCi0wLCAgICAgICAgICAwLCAgICAgICAgICAwLCAg ICAgICAgMCwgICAgIDIwMTIsIDB4YmU3YjllNWUKLTAsICAgICAgICAgIDAsICAgICAgICAgIDAs ICAgICAgICAwLCAgICAgMjAxMiwgMHg2NzFkYzczYQotMCwgICAgICAgICAgMCwgICAgICAgICAg MCwgICAgICAgIDAsICAgICAyMDEyLCAweDdmZDViMWQyCi0wLCAgICAgICAgICAwLCAgICAgICAg ICAwLCAgICAgICAgMCwgICAgIDIwMTIsIDB4YmU3YjllNWUKLTAsICAgICAgICAgIDAsICAgICAg ICAgIDAsICAgICAgICAwLCAgICAgMjAxMiwgMHg2NzFkYzczYQotMCwgICAgICAgICAgMCwgICAg ICAgICAgMCwgICAgICAgIDAsICAgICAyMDEyLCAweDdmZDViMWQyCi0wLCAgICAgICAgICAwLCAg ICAgICAgICAwLCAgICAgICAgMCwgICAgIDIwMTIsIDB4YmU3YjllNWUKLTAsICAgICAgICAgIDAs ICAgICAgICAgIDAsICAgICAgICAwLCAgICAgMjAxMiwgMHg2NzFkYzczYQotMCwgICAgICAgICAg MCwgICAgICAgICAgMCwgICAgICAgIDAsICAgICAyMDEyLCAweDdmZDViMWQyCi0wLCAgICAgICAg ICAwLCAgICAgICAgICAwLCAgICAgICAgMCwgICAgIDIwMTIsIDB4YmU3YjllNWUKLTAsICAgICAg ICAgIDAsICAgICAgICAgIDAsICAgICAgICAwLCAgICAgMjAxMiwgMHg2NzFkYzczYQotMCwgICAg ICAgICAgMCwgICAgICAgICAgMCwgICAgICAgIDAsICAgICAyMDEyLCAweDdmZDViMWQyCi0wLCAg ICAgICAgICAwLCAgICAgICAgICAwLCAgICAgICAgMCwgICAgIDIwMTIsIDB4YmU3YjllNWUKLTAs ICAgICAgICAgIDAsICAgICAgICAgIDAsICAgICAgICAwLCAgICAgMjAxMiwgMHg2NzFkYzczYQot MCwgICAgICAgICAgMCwgICAgICAgICAgMCwgICAgICAgIDAsICAgICAyMDEyLCAweDdmZDViMWQy Ci0wLCAgICAgICAgICAwLCAgICAgICAgICAwLCAgICAgICAgMCwgICAgIDIwMTIsIDB4YmU3Yjll NWUKLTAsICAgICAgICAgIDAsICAgICAgICAgIDAsICAgICAgICAwLCAgICAgMjAxMiwgMHg2NzFk YzczYQotMCwgICAgICAgICAgMCwgICAgICAgICAgMCwgICAgICAgIDAsICAgICAyMDEyLCAweDdm ZDViMWQyCi0wLCAgICAgICAgICAwLCAgICAgICAgICAwLCAgICAgICAgMCwgICAgIDIwMTIsIDB4 YmU3YjllNWUKLTAsICAgICAgICAgIDAsICAgICAgICAgIDAsICAgICAgICAwLCAgICAgMjAxMiwg MHg2NzFkYzczYQotMCwgICAgICAgICAgMCwgICAgICAgICAgMCwgICAgICAgIDAsICAgICAyMDEy LCAweDdmZDViMWQyCi0wLCAgICAgICAgICAwLCAgICAgICAgICAwLCAgICAgICAgMCwgICAgIDIw MTIsIDB4YmU3YjllNWUKLTAsICAgICAgICAgIDAsICAgICAgICAgIDAsICAgICAgICAwLCAgICAg MjAxMiwgMHg2NzFkYzczYQotMCwgICAgICAgICAgMCwgICAgICAgICAgMCwgICAgICAgIDAsICAg ICAyMDEyLCAweDdmZDViMWQyCi0wLCAgICAgICAgICAwLCAgICAgICAgICAwLCAgICAgICAgMCwg ICAgIDIwMTIsIDB4YmU3YjllNWUKLTAsICAgICAgICAgIDAsICAgICAgICAgIDAsICAgICAgICAw LCAgICAgMjAxMiwgMHg2NzFkYzczYQotMCwgICAgICAgICAgMCwgICAgICAgICAgMCwgICAgICAg IDAsICAgICAyMDEyLCAweDdmZDViMWQyCi0wLCAgICAgICAgICAwLCAgICAgICAgICAwLCAgICAg ICAgMCwgICAgIDIwMTIsIDB4YmU3YjllNWUKLTAsICAgICAgICAgIDAsICAgICAgICAgIDAsICAg ICAgICAwLCAgICAgMjAxMiwgMHg2NzFkYzczYQotMCwgICAgICAgICAgMCwgICAgICAgICAgMCwg ICAgICAgIDAsICAgICAyMDEyLCAweDdmZDViMWQyCi0wLCAgICAgICAgICAwLCAgICAgICAgICAw LCAgICAgICAgMCwgICAgIDIwMTIsIDB4YmU3YjllNWUKLTAsICAgICAgICAgIDAsICAgICAgICAg IDAsICAgICAgICAwLCAgICAgMjAxMiwgMHg2NzFkYzczYQotMCwgICAgICAgICAgMCwgICAgICAg ICAgMCwgICAgICAgIDAsICAgICAyMDEyLCAweDdmZDViMWQyCi0wLCAgICAgICAgICAwLCAgICAg ICAgICAwLCAgICAgICAgMCwgICAgIDIwMTIsIDB4YmU3YjllNWUKLTAsICAgICAgICAgIDAsICAg ICAgICAgIDAsICAgICAgICAwLCAgICAgMjAxMiwgMHg2NzFkYzczYQotMCwgICAgICAgICAgMCwg ICAgICAgICAgMCwgICAgICAgIDAsICAgICAyMDEyLCAweDdmZDViMWQyCi0wLCAgICAgICAgICAw LCAgICAgICAgICAwLCAgICAgICAgMCwgICAgIDIwMTIsIDB4YmU3YjllNWUKLTAsICAgICAgICAg IDAsICAgICAgICAgIDAsICAgICAgICAwLCAgICAgMjAxMiwgMHg2NzFkYzczYQotMCwgICAgICAg ICAgMCwgICAgICAgICAgMCwgICAgICAgIDAsICAgICAyMDEyLCAweDdmZDViMWQyCi0wLCAgICAg ICAgICAwLCAgICAgICAgICAwLCAgICAgICAgMCwgICAgIDIwMTIsIDB4YmU3YjllNWUKLTAsICAg ICAgICAgIDAsICAgICAgICAgIDAsICAgICAgICAwLCAgICAgMjAxMiwgMHg2NzFkYzczYQotMCwg ICAgICAgICAgMCwgICAgICAgICAgMCwgICAgICAgIDAsICAgICAyMDEyLCAweDdmZDViMWQyCi0w LCAgICAgICAgICAwLCAgICAgICAgICAwLCAgICAgICAgMCwgICAgIDIwMTIsIDB4YmU3YjllNWUK LTAsICAgICAgICAgIDAsICAgICAgICAgIDAsICAgICAgICAwLCAgICAgMjAxMiwgMHg2NzFkYzcz YQotMCwgICAgICAgICAgMCwgICAgICAgICAgMCwgICAgICAgIDAsICAgICAyMDEyLCAweDdmZDVi MWQyCi0wLCAgICAgICAgICAwLCAgICAgICAgICAwLCAgICAgICAgMCwgICAgIDIwMTIsIDB4YmU3 YjllNWUKLTAsICAgICAgICAgIDAsICAgICAgICAgIDAsICAgICAgICAwLCAgICAgMjAxMiwgMHg2 NzFkYzczYQotMCwgICAgICAgICAgMCwgICAgICAgICAgMCwgICAgICAgIDAsICAgICAyMDEyLCAw eDdmZDViMWQyCi0wLCAgICAgICAgICAwLCAgICAgICAgICAwLCAgICAgICAgMCwgICAgIDIwMTIs IDB4YmU3YjllNWUKLTAsICAgICAgICAgIDAsICAgICAgICAgIDAsICAgICAgICAwLCAgICAgMjAx MiwgMHg2NzFkYzczYQotMCwgICAgICAgICAgMCwgICAgICAgICAgMCwgICAgICAgIDAsICAgICAy MDEyLCAweDdmZDViMWQyCi0wLCAgICAgICAgICAwLCAgICAgICAgICAwLCAgICAgICAgMCwgICAg IDIwMTIsIDB4YmU3YjllNWUKLTAsICAgICAgICAgIDAsICAgICAgICAgIDAsICAgICAgICAwLCAg ICAgMjAxMiwgMHg2NzFkYzczYQotMCwgICAgICAgICAgMCwgICAgICAgICAgMCwgICAgICAgIDAs ICAgICAyMDEyLCAweDdmZDViMWQyCi0wLCAgICAgICAgICAwLCAgICAgICAgICAwLCAgICAgICAg MCwgICAgIDIwMTIsIDB4YmU3YjllNWUKLTAsICAgICAgICAgIDAsICAgICAgICAgIDAsICAgICAg ICAwLCAgICAgMjAxMiwgMHg2NzFkYzczYQotMCwgICAgICAgICAgMCwgICAgICAgICAgMCwgICAg ICAgIDAsICAgICAyMDEyLCAweDdmZDViMWQyCi0wLCAgICAgICAgICAwLCAgICAgICAgICAwLCAg ICAgICAgMCwgICAgIDIwMTIsIDB4YmU3YjllNWUKLTAsICAgICAgICAgIDAsICAgICAgICAgIDAs ICAgICAgICAwLCAgICAgMjAxMiwgMHg2NzFkYzczYQotMCwgICAgICAgICAgMCwgICAgICAgICAg MCwgICAgICAgIDAsICAgICAyMDEyLCAweDdmZDViMWQyCi0wLCAgICAgICAgICAwLCAgICAgICAg ICAwLCAgICAgICAgMCwgICAgIDIwMTIsIDB4YmU3YjllNWUKLTAsICAgICAgICAgIDAsICAgICAg ICAgIDAsICAgICAgICAwLCAgICAgMjAxMiwgMHg2NzFkYzczYQotMCwgICAgICAgICAgMCwgICAg ICAgICAgMCwgICAgICAgIDAsICAgICAyMDEyLCAweDdmZDViMWQyCi0wLCAgICAgICAgICAwLCAg ICAgICAgICAwLCAgICAgICAgMCwgICAgIDIwMTIsIDB4YmU3YjllNWUKLTAsICAgICAgICAgIDAs ICAgICAgICAgIDAsICAgICAgICAwLCAgICAgMjAxMiwgMHg2NzFkYzczYQotMCwgICAgICAgICAg MCwgICAgICAgICAgMCwgICAgICAgIDAsICAgICAyMDEyLCAweDdmZDViMWQyCi0wLCAgICAgICAg ICAwLCAgICAgICAgICAwLCAgICAgICAgMCwgICAgIDIwMTIsIDB4YTkyNTlkZjEKLTAsICAgICAg ICAgIDAsICAgICAgICAgIDAsICAgICAgICAwLCAgICAgMjAxMiwgMHgzZThjMmI5MgotMCwgICAg ICAgICAgMCwgICAgICAgICAgMCwgICAgICAgIDAsICAgICAyMDEyLCAweDQ4NzZhOWZmCi0wLCAg ICAgICAgICAwLCAgICAgICAgICAwLCAgICAgICAgMCwgICAgIDIwMTIsIDB4N2U0NjkxODIKLTAs ICAgICAgICAgIDAsICAgICAgICAgIDAsICAgICAgICAwLCAgICAgMjAxMiwgMHgxMGViYTQwMQot MCwgICAgICAgICAgMCwgICAgICAgICAgMCwgICAgICAgIDAsICAgICAyMDEyLCAweDUxYzY4ZWQz Ci0wLCAgICAgICAgICAwLCAgICAgICAgICAwLCAgICAgICAgMCwgICAgIDIwMTIsIDB4M2Y1Mjkw MWIKLTAsICAgICAgICAgIDAsICAgICAgICAgIDAsICAgICAgICAwLCAgICAgMjAxMiwgMHg3YmVi YWNjZQotMCwgICAgICAgICAgMCwgICAgICAgICAgMCwgICAgICAgIDAsICAgICAyMDEyLCAweGNi OTQ4OThkCi0wLCAgICAgICAgICAwLCAgICAgICAgICAwLCAgICAgICAgMCwgICAgIDIwMTIsIDB4 MTRlM2FlNzAKLTAsICAgICAgICAgIDAsICAgICAgICAgIDAsICAgICAgICAwLCAgICAgMjAxMiwg MHgwMTY4OTNjYgotMCwgICAgICAgICAgMCwgICAgICAgICAgMCwgICAgICAgIDAsICAgICAyMDEy LCAweDAwNzM5ZjBhCi0wLCAgICAgICAgICAwLCAgICAgICAgICAwLCAgICAgICAgMCwgICAgIDIw MTIsIDB4ODM0YWJhNDEKLTAsICAgICAgICAgIDAsICAgICAgICAgIDAsICAgICAgICAwLCAgICAg MjAxMiwgMHg2YTkyYWMwOAotMCwgICAgICAgICAgMCwgICAgICAgICAgMCwgICAgICAgIDAsICAg ICAyMDEyLCAweDA5ZWRhMjU3Ci0wLCAgICAgICAgICAwLCAgICAgICAgICAwLCAgICAgICAgMCwg ICAgIDIwMTIsIDB4ODE0NDllM2YKLTAsICAgICAgICAgIDAsICAgICAgICAgIDAsICAgICAgICAw LCAgICAgMjAxMiwgMHhlNmViOTFkNAotMCwgICAgICAgICAgMCwgICAgICAgICAgMCwgICAgICAg IDAsICAgICAyMDEyLCAweDUxMTU4YzBlCi0wLCAgICAgICAgICAwLCAgICAgICAgICAwLCAgICAg ICAgMCwgICAgIDIwMTIsIDB4ODRlNGEwMTMKLTAsICAgICAgICAgIDAsICAgICAgICAgIDAsICAg ICAgICAwLCAgICAgMjAxMiwgMHg0YzQ4YTBlNgotMCwgICAgICAgICAgMCwgICAgICAgICAgMCwg ICAgICAgIDAsICAgICAyMDEyLCAweGY1NGM5ODExCi0wLCAgICAgICAgICAwLCAgICAgICAgICAw LCAgICAgICAgMCwgICAgIDIwMTIsIDB4NjI3NzhlZGIKLTAsICAgICAgICAgIDAsICAgICAgICAg IDAsICAgICAgICAwLCAgICAgMjAxMiwgMHg3MjI2YTUxYgotMCwgICAgICAgICAgMCwgICAgICAg ICAgMCwgICAgICAgIDAsICAgICAyMDEyLCAweDQ0YjlhYWQ4Ci0wLCAgICAgICAgICAwLCAgICAg ICAgICAwLCAgICAgICAgMCwgICAgIDIwMTIsIDB4OGFhNmIzODAKLTAsICAgICAgICAgIDAsICAg ICAgICAgIDAsICAgICAgICAwLCAgICAgMjAxMiwgMHhjODhjOTllNgotMCwgICAgICAgICAgMCwg ICAgICAgICAgMCwgICAgICAgIDAsICAgICAyMDEyLCAweGVkNWU5M2UyCi0wLCAgICAgICAgICAw LCAgICAgICAgICAwLCAgICAgICAgMCwgICAgIDIwMTIsIDB4ZWIwYjk3NTUKLTAsICAgICAgICAg IDAsICAgICAgICAgIDAsICAgICAgICAwLCAgICAgMjAxMiwgMHhlNWJhOGNhOQotMCwgICAgICAg ICAgMCwgICAgICAgICAgMCwgICAgICAgIDAsICAgICAyMDEyLCAweDJmZWY5YmNmCi0wLCAgICAg ICAgICAwLCAgICAgICAgICAwLCAgICAgICAgMCwgICAgIDIwMTIsIDB4ZjE5Yzg3NDkKLTAsICAg ICAgICAgIDAsICAgICAgICAgIDAsICAgICAgICAwLCAgICAgMjAxMiwgMHgwZmViOTRkMAotMCwg ICAgICAgICAgMCwgICAgICAgICAgMCwgICAgICAgIDAsICAgICAyMDEyLCAweDFmOTE5NGQxCi0w LCAgICAgICAgICAwLCAgICAgICAgICAwLCAgICAgICAgMCwgICAgIDIwMTIsIDB4MGNhZDk4MjIK LTAsICAgICAgICAgIDAsICAgICAgICAgIDAsICAgICAgICAwLCAgICAgMjAxMiwgMHhlNmY3OTE1 MgotMCwgICAgICAgICAgMCwgICAgICAgICAgMCwgICAgICAgIDAsICAgICAyMDEyLCAweDY5ZTc4 OTU1Ci0wLCAgICAgICAgICAwLCAgICAgICAgICAwLCAgICAgICAgMCwgICAgIDIwMTIsIDB4OTFk ZDhhMWIKLTAsICAgICAgICAgIDAsICAgICAgICAgIDAsICAgICAgICAwLCAgICAgMjAxMiwgMHg2 M2ZlOGVlYQotMCwgICAgICAgICAgMCwgICAgICAgICAgMCwgICAgICAgIDAsICAgICAyMDEyLCAw eDhmNmQ5MGEyCi0wLCAgICAgICAgICAwLCAgICAgICAgICAwLCAgICAgICAgMCwgICAgIDIwMTIs IDB4ZTNiZjg2MjYKLTAsICAgICAgICAgIDAsICAgICAgICAgIDAsICAgICAgICAwLCAgICAgMjAx MiwgMHhkMDg1OTlkYgotMCwgICAgICAgICAgMCwgICAgICAgICAgMCwgICAgICAgIDAsICAgICAy MDEyLCAweGY1NTZhMjgyCi0wLCAgICAgICAgICAwLCAgICAgICAgICAwLCAgICAgICAgMCwgICAg IDIwMTIsIDB4N2Y4YzhmOTAKLTAsICAgICAgICAgIDAsICAgICAgICAgIDAsICAgICAgICAwLCAg ICAgMjAxMiwgMHhhMDQ0OTNiOQotMCwgICAgICAgICAgMCwgICAgICAgICAgMCwgICAgICAgIDAs ICAgICAyMDEyLCAweDIxYTE5YjNhCi0wLCAgICAgICAgICAwLCAgICAgICAgICAwLCAgICAgICAg MCwgICAgIDIwMTIsIDB4NmVhZDkyNDQKLTAsICAgICAgICAgIDAsICAgICAgICAgIDAsICAgICAg ICAwLCAgICAgMjAxMiwgMHhlNjUyOTBkNwotMCwgICAgICAgICAgMCwgICAgICAgICAgMCwgICAg ICAgIDAsICAgICAyMDEyLCAweDhmZjU4YThlCi0wLCAgICAgICAgICAwLCAgICAgICAgICAwLCAg ICAgICAgMCwgICAgIDIwMTIsIDB4MjRhZGE2MDMKLTAsICAgICAgICAgIDAsICAgICAgICAgIDAs ICAgICAgICAwLCAgICAgMjAxMiwgMHg3OWNiODVjNwotMCwgICAgICAgICAgMCwgICAgICAgICAg MCwgICAgICAgIDAsICAgICAyMDEyLCAweDYzYzBhYzU0Ci0wLCAgICAgICAgICAwLCAgICAgICAg ICAwLCAgICAgICAgMCwgICAgIDIwMTIsIDB4N2Y3MTlmODMKLTAsICAgICAgICAgIDAsICAgICAg ICAgIDAsICAgICAgICAwLCAgICAgMjAxMiwgMHgyZWI2OTY1NAotMCwgICAgICAgICAgMCwgICAg ICAgICAgMCwgICAgICAgIDAsICAgICAyMDEyLCAweGY1MTQ5YmMwCi0wLCAgICAgICAgICAwLCAg ICAgICAgICAwLCAgICAgICAgMCwgICAgIDIwMTIsIDB4ZDBkNmE0MTQKLTAsICAgICAgICAgIDAs ICAgICAgICAgIDAsICAgICAgICAwLCAgICAgMjAxMiwgMHg0ZjRhOGVkMwotMCwgICAgICAgICAg MCwgICAgICAgICAgMCwgICAgICAgIDAsICAgICAyMDEyLCAweDIwODg4Y2I1Ci0wLCAgICAgICAg ICAwLCAgICAgICAgICAwLCAgICAgICAgMCwgICAgIDIwMTIsIDB4MTM0MzljODYKLTAsICAgICAg ICAgIDAsICAgICAgICAgIDAsICAgICAgICAwLCAgICAgMjAxMiwgMHhjOGZjOThlMQotMCwgICAg ICAgICAgMCwgICAgICAgICAgMCwgICAgICAgIDAsICAgICAyMDEyLCAweDE0Njg5NzY2Ci0wLCAg ICAgICAgICAwLCAgICAgICAgICAwLCAgICAgICAgMCwgICAgIDIwMTIsIDB4ODMwMjkzZTQKLTAs ICAgICAgICAgIDAsICAgICAgICAgIDAsICAgICAgICAwLCAgICAgMjAxMiwgMHhkZDViYjhjZQot MCwgICAgICAgICAgMCwgICAgICAgICAgMCwgICAgICAgIDAsICAgICAyMDEyLCAweDAwNWVhMjgw Ci0wLCAgICAgICAgICAwLCAgICAgICAgICAwLCAgICAgICAgMCwgICAgIDIwMTIsIDB4OWIwNTgx ZTIKLTAsICAgICAgICAgIDAsICAgICAgICAgIDAsICAgICAgICAwLCAgICAgMjAxMiwgMHgyMTBm ODliOAotMCwgICAgICAgICAgMCwgICAgICAgICAgMCwgICAgICAgIDAsICAgICAyMDEyLCAweGI3 YzE4MGJkCi0wLCAgICAgICAgICAwLCAgICAgICAgICAwLCAgICAgICAgMCwgICAgIDIwMTIsIDB4 ZTUzYzg1ZTQKLTAsICAgICAgICAgIDAsICAgICAgICAgIDAsICAgICAgICAwLCAgICAgMjAxMiwg MHgxZjY4OTIwNwotMCwgICAgICAgICAgMCwgICAgICAgICAgMCwgICAgICAgIDAsICAgICAyMDEy LCAweDU2NTM4MTNiCi0wLCAgICAgICAgICAwLCAgICAgICAgICAwLCAgICAgICAgMCwgICAgIDIw MTIsIDB4MWQyNzhkNjYKLTAsICAgICAgICAgIDAsICAgICAgICAgIDAsICAgICAgICAwLCAgICAg MjAxMiwgMHhkOTRjOWE4MwotMCwgICAgICAgICAgMCwgICAgICAgICAgMCwgICAgICAgIDAsICAg ICAyMDEyLCAweDdhZjQ4NTQ4Ci0wLCAgICAgICAgICAwLCAgICAgICAgICAwLCAgICAgICAgMCwg ICAgIDIwMTIsIDB4ODYyMDljOTkKLTAsICAgICAgICAgIDAsICAgICAgICAgIDAsICAgICAgICAw LCAgICAgMjAxMiwgMHg2ZTNiN2ZjOQotMCwgICAgICAgICAgMCwgICAgICAgICAgMCwgICAgICAg IDAsICAgICAyMDEyLCAweDQxYzI4OWU3Ci0wLCAgICAgICAgICAwLCAgICAgICAgICAwLCAgICAg ICAgMCwgICAgIDIwMTIsIDB4OGJlYTg1ZGIKLTAsICAgICAgICAgIDAsICAgICAgICAgIDAsICAg ICAgICAwLCAgICAgMjAxMiwgMHg0NWM5OGMzOQotMCwgICAgICAgICAgMCwgICAgICAgICAgMCwg ICAgICAgIDAsICAgICAyMDEyLCAweGVlMDk4NzU1Ci0wLCAgICAgICAgICAwLCAgICAgICAgICAw LCAgICAgICAgMCwgICAgIDIwMTIsIDB4NDg1ZDllYzEKLTAsICAgICAgICAgIDAsICAgICAgICAg IDAsICAgICAgICAwLCAgICAgMjAxMiwgMHg3ODgxOTAyMwotMCwgICAgICAgICAgMCwgICAgICAg ICAgMCwgICAgICAgIDAsICAgICAyMDEyLCAweGY0MzM3N2JkCi0wLCAgICAgICAgICAwLCAgICAg ICAgICAwLCAgICAgICAgMCwgICAgIDIwMTIsIDB4NDNmYzk0MzkKLTAsICAgICAgICAgIDAsICAg ICAgICAgIDAsICAgICAgICAwLCAgICAgMjAxMiwgMHgwNDVlOWJmMwotMCwgICAgICAgICAgMCwg ICAgICAgICAgMCwgICAgICAgIDAsICAgICAyMDEyLCAweDBmYzA5ZjBjCi0wLCAgICAgICAgICAw LCAgICAgICAgICAwLCAgICAgICAgMCwgICAgIDIwMTIsIDB4N2JhNjliZjUKLTAsICAgICAgICAg IDAsICAgICAgICAgIDAsICAgICAgICAwLCAgICAgMjAxMiwgMHg0YWE3YWFmMAotMCwgICAgICAg ICAgMCwgICAgICAgICAgMCwgICAgICAgIDAsICAgICAyMDEyLCAweDYyMGM4NWJmCi0wLCAgICAg ICAgICAwLCAgICAgICAgICAwLCAgICAgICAgMCwgICAgIDIwMTIsIDB4YTZiYjhhMzAKLTAsICAg ICAgICAgIDAsICAgICAgICAgIDAsICAgICAgICAwLCAgICAgMjAxMiwgMHhmZDEwODgzYwotMCwg ICAgICAgICAgMCwgICAgICAgICAgMCwgICAgICAgIDAsICAgICAyMDEyLCAweDMyMDM3ZTE3Ci0w LCAgICAgICAgICAwLCAgICAgICAgICAwLCAgICAgICAgMCwgICAgIDIwMTIsIDB4YjE4YzllMDEK LTAsICAgICAgICAgIDAsICAgICAgICAgIDAsICAgICAgICAwLCAgICAgMjAxMiwgMHhkODIwNmVl NQotMCwgICAgICAgICAgMCwgICAgICAgICAgMCwgICAgICAgIDAsICAgICAyMDEyLCAweGRiYzQ5 MTM2Ci0wLCAgICAgICAgICAwLCAgICAgICAgICAwLCAgICAgICAgMCwgICAgIDIwMTIsIDB4NjUw YTc4NWQKLTAsICAgICAgICAgIDAsICAgICAgICAgIDAsICAgICAgICAwLCAgICAgMjAxMiwgMHg5 ZTEwN2Q2MQotMCwgICAgICAgICAgMCwgICAgICAgICAgMCwgICAgICAgIDAsICAgICAyMDEyLCAw eGJmNGVhYzUwCi0wLCAgICAgICAgICAwLCAgICAgICAgICAwLCAgICAgICAgMCwgICAgIDIwMTIs IDB4OWQ4Zjc5YjIKLTAsICAgICAgICAgIDAsICAgICAgICAgIDAsICAgICAgICAwLCAgICAgMjAx MiwgMHgyNTJkOGU4YQotMCwgICAgICAgICAgMCwgICAgICAgICAgMCwgICAgICAgIDAsICAgICAy MDEyLCAweDAwYWY4ZmQ2Ci0wLCAgICAgICAgICAwLCAgICAgICAgICAwLCAgICAgICAgMCwgICAg IDIwMTIsIDB4OWUzODhkM2IKLTAsICAgICAgICAgIDAsICAgICAgICAgIDAsICAgICAgICAwLCAg ICAgMjAxMiwgMHg3NWRlN2Y1NgotMCwgICAgICAgICAgMCwgICAgICAgICAgMCwgICAgICAgIDAs ICAgICAyMDEyLCAweGQ1MDI4MzljCi0wLCAgICAgICAgICAwLCAgICAgICAgICAwLCAgICAgICAg MCwgICAgIDIwMTIsIDB4NjY3MDllMDMKLTAsICAgICAgICAgIDAsICAgICAgICAgIDAsICAgICAg ICAwLCAgICAgMjAxMiwgMHgzZTBhOTZiYQotMCwgICAgICAgICAgMCwgICAgICAgICAgMCwgICAg ICAgIDAsICAgICAyMDEyLCAweDA4MTNhZDRlCi0wLCAgICAgICAgICAwLCAgICAgICAgICAwLCAg ICAgICAgMCwgICAgIDIwMTIsIDB4Nzk5YzkwYzUKLTAsICAgICAgICAgIDAsICAgICAgICAgIDAs ICAgICAgICAwLCAgICAgMjAxMiwgMHg5OGExOGJlZAotMCwgICAgICAgICAgMCwgICAgICAgICAg MCwgICAgICAgIDAsICAgICAyMDEyLCAweDhjZDE5N2Q3Ci0wLCAgICAgICAgICAwLCAgICAgICAg ICAwLCAgICAgICAgMCwgICAgIDIwMTIsIDB4ZjllYThiMjIKLTAsICAgICAgICAgIDAsICAgICAg ICAgIDAsICAgICAgICAwLCAgICAgMjAxMiwgMHg2NzRmN2NkMgotMCwgICAgICAgICAgMCwgICAg ICAgICAgMCwgICAgICAgIDAsICAgICAyMDEyLCAweGE1YzM5MTM2Ci0wLCAgICAgICAgICAwLCAg ICAgICAgICAwLCAgICAgICAgMCwgICAgIDIwMTIsIDB4ZTA2NGFjMzAKLTAsICAgICAgICAgIDAs ICAgICAgICAgIDAsICAgICAgICAwLCAgICAgMjAxMiwgMHgyYWY3OGM3NQotMCwgICAgICAgICAg MCwgICAgICAgICAgMCwgICAgICAgIDAsICAgICAyMDEyLCAweDQzZGY5YjE5Ci0wLCAgICAgICAg ICAwLCAgICAgICAgICAwLCAgICAgICAgMCwgICAgIDIwMTIsIDB4OGQxYTg3ZDUKLTAsICAgICAg ICAgIDAsICAgICAgICAgIDAsICAgICAgICAwLCAgICAgMjAxMiwgMHhkNWJlOGQyOQotMCwgICAg ICAgICAgMCwgICAgICAgICAgMCwgICAgICAgIDAsICAgICAyMDEyLCAweDQzNDQ4YmQ0Ci0wLCAg ICAgICAgICAwLCAgICAgICAgICAwLCAgICAgICAgMCwgICAgIDIwMTIsIDB4YTEyOGEzMGIKLTAs ICAgICAgICAgIDAsICAgICAgICAgIDAsICAgICAgICAwLCAgICAgMjAxMiwgMHg2ZmMyOTkwMgot MCwgICAgICAgICAgMCwgICAgICAgICAgMCwgICAgICAgIDAsICAgICAyMDEyLCAweDU4NTRhMjRi Ci0wLCAgICAgICAgICAwLCAgICAgICAgICAwLCAgICAgICAgMCwgICAgIDIwMTIsIDB4YjIyMjk1 OGEKLTAsICAgICAgICAgIDAsICAgICAgICAgIDAsICAgICAgICAwLCAgICAgMjAxMiwgMHhmY2Ez OWNjZQotMCwgICAgICAgICAgMCwgICAgICAgICAgMCwgICAgICAgIDAsICAgICAyMDEyLCAweGVl MDA4N2YwCi0wLCAgICAgICAgICAwLCAgICAgICAgICAwLCAgICAgICAgMCwgICAgIDIwMTIsIDB4 ZDJkNjliOGMKLTAsICAgICAgICAgIDAsICAgICAgICAgIDAsICAgICAgICAwLCAgICAgMjAxMiwg MHhlMjMwOGY4ZAotMCwgICAgICAgICAgMCwgICAgICAgICAgMCwgICAgICAgIDAsICAgICAyMDEy LCAweDhkYzRiMDlhCi0wLCAgICAgICAgICAwLCAgICAgICAgICAwLCAgICAgICAgMCwgICAgIDIw MTIsIDB4MTQ0ODlhZWYKLTAsICAgICAgICAgIDAsICAgICAgICAgIDAsICAgICAgICAwLCAgICAg MjAxMiwgMHg5MDBmOTgzNQotMCwgICAgICAgICAgMCwgICAgICAgICAgMCwgICAgICAgIDAsICAg ICAyMDEyLCAweDAwOTJhOTVmCi0wLCAgICAgICAgICAwLCAgICAgICAgICAwLCAgICAgICAgMCwg ICAgIDIwMTIsIDB4ZmQ5MGIxYmYKLTAsICAgICAgICAgIDAsICAgICAgICAgIDAsICAgICAgICAw LCAgICAgMjAxMiwgMHhiMTFhYjVkNQotMCwgICAgICAgICAgMCwgICAgICAgICAgMCwgICAgICAg IDAsICAgICAyMDEyLCAweGM4MDJiOTA4Ci0wLCAgICAgICAgICAwLCAgICAgICAgICAwLCAgICAg ICAgMCwgICAgIDIwMTIsIDB4YjEyYWE5MWUKLTAsICAgICAgICAgIDAsICAgICAgICAgIDAsICAg ICAgICAwLCAgICAgMjAxMiwgMHhkMTczYzJhOQotMCwgICAgICAgICAgMCwgICAgICAgICAgMCwg ICAgICAgIDAsICAgICAyMDEyLCAweGFlYWZiODg3Ci0wLCAgICAgICAgICAwLCAgICAgICAgICAw LCAgICAgICAgMCwgICAgIDIwMTIsIDB4ZWI3ZWIwZDcKLTAsICAgICAgICAgIDAsICAgICAgICAg IDAsICAgICAgICAwLCAgICAgMjAxMiwgMHg5YWZiYzU2YQotMCwgICAgICAgICAgMCwgICAgICAg ICAgMCwgICAgICAgIDAsICAgICAyMDEyLCAweDJkNzhiYzM0Ci0wLCAgICAgICAgICAwLCAgICAg ICAgICAwLCAgICAgICAgMCwgICAgIDIwMTIsIDB4NjU1MGFlZDEKLTAsICAgICAgICAgIDAsICAg ICAgICAgIDAsICAgICAgICAwLCAgICAgMjAxMiwgMHhkNTE0YTU1ZAotMCwgICAgICAgICAgMCwg ICAgICAgICAgMCwgICAgICAgIDAsICAgICAyMDEyLCAweDkwNThjMjYzCi0wLCAgICAgICAgICAw LCAgICAgICAgICAwLCAgICAgICAgMCwgICAgIDIwMTIsIDB4ZjgxOWI2NmEKLTAsICAgICAgICAg IDAsICAgICAgICAgIDAsICAgICAgICAwLCAgICAgMjAxMiwgMHgxNmE1YzkwMgotMCwgICAgICAg ICAgMCwgICAgICAgICAgMCwgICAgICAgIDAsICAgICAyMDEyLCAweDYwMmZjMTFiCi0wLCAgICAg ICAgICAwLCAgICAgICAgICAwLCAgICAgICAgMCwgICAgIDIwMTIsIDB4ZTNjNmIxNzcKLTAsICAg ICAgICAgIDAsICAgICAgICAgIDAsICAgICAgICAwLCAgICAgMjAxMiwgMHhhY2M0Y2QwNgotMCwg ICAgICAgICAgMCwgICAgICAgICAgMCwgICAgICAgIDAsICAgICAyMDEyLCAweGViOTZhZGRiCi0w LCAgICAgICAgICAwLCAgICAgICAgICAwLCAgICAgICAgMCwgICAgIDIwMTIsIDB4MTE5NWNhZDMK LTAsICAgICAgICAgIDAsICAgICAgICAgIDAsICAgICAgICAwLCAgICAgMjAxMiwgMHg4ZTk2YWQ3 ZgotMCwgICAgICAgICAgMCwgICAgICAgICAgMCwgICAgICAgIDAsICAgICAyMDEyLCAweDMxZTU5 MmI3Ci0wLCAgICAgICAgICAwLCAgICAgICAgICAwLCAgICAgICAgMCwgICAgIDIwMTIsIDB4YTBj NWNjZjAKLTAsICAgICAgICAgIDAsICAgICAgICAgIDAsICAgICAgICAwLCAgICAgMjAxMiwgMHg2 ZTc3YzkyYgotMCwgICAgICAgICAgMCwgICAgICAgICAgMCwgICAgICAgIDAsICAgICAyMDEyLCAw eGU4N2ZhOTI4Ci0wLCAgICAgICAgICAwLCAgICAgICAgICAwLCAgICAgICAgMCwgICAgIDIwMTIs IDB4NDkyM2JjZGIKLTAsICAgICAgICAgIDAsICAgICAgICAgIDAsICAgICAgICAwLCAgICAgMjAx MiwgMHgzMjYwYjQ1MgotMCwgICAgICAgICAgMCwgICAgICAgICAgMCwgICAgICAgIDAsICAgICAy MDEyLCAweDYyYmVhZmEwCi0wLCAgICAgICAgICAwLCAgICAgICAgICAwLCAgICAgICAgMCwgICAg IDIwMTIsIDB4NWE2ZmMxOGEKLTAsICAgICAgICAgIDAsICAgICAgICAgIDAsICAgICAgICAwLCAg ICAgMjAxMiwgMHg5ZDA1YWU4NwotMCwgICAgICAgICAgMCwgICAgICAgICAgMCwgICAgICAgIDAs ICAgICAyMDEyLCAweGI1NzdhNTRlCi0wLCAgICAgICAgICAwLCAgICAgICAgICAwLCAgICAgICAg MCwgICAgIDIwMTIsIDB4ZDY2YmM1ZWYKLTAsICAgICAgICAgIDAsICAgICAgICAgIDAsICAgICAg ICAwLCAgICAgMjAxMiwgMHg0MGJlYzdiYgotMCwgICAgICAgICAgMCwgICAgICAgICAgMCwgICAg ICAgIDAsICAgICAyMDEyLCAweGVkZDNhMWI5Ci0wLCAgICAgICAgICAwLCAgICAgICAgICAwLCAg ICAgICAgMCwgICAgIDIwMTIsIDB4ZjZmNDlmODMKLTAsICAgICAgICAgIDAsICAgICAgICAgIDAs ICAgICAgICAwLCAgICAgMjAxMiwgMHgzMTZmYjA2ZAotMCwgICAgICAgICAgMCwgICAgICAgICAg MCwgICAgICAgIDAsICAgICAyMDEyLCAweGMzZjNhODc0Ci0wLCAgICAgICAgICAwLCAgICAgICAg ICAwLCAgICAgICAgMCwgICAgIDIwMTIsIDB4M2E5NmIzYmQKLTAsICAgICAgICAgIDAsICAgICAg ICAgIDAsICAgICAgICAwLCAgICAgMjAxMiwgMHg4MjVhYmEzMAotMCwgICAgICAgICAgMCwgICAg ICAgICAgMCwgICAgICAgIDAsICAgICAyMDEyLCAweDViNThjZTY2Ci0wLCAgICAgICAgICAwLCAg ICAgICAgICAwLCAgICAgICAgMCwgICAgIDIwMTIsIDB4NDEyZGMwOTIKLTAsICAgICAgICAgIDAs ICAgICAgICAgIDAsICAgICAgICAwLCAgICAgMjAxMiwgMHhjYjQ3YmZhMwotMCwgICAgICAgICAg MCwgICAgICAgICAgMCwgICAgICAgIDAsICAgICAyMDEyLCAweGUwMjViYjc5Ci0wLCAgICAgICAg ICAwLCAgICAgICAgICAwLCAgICAgICAgMCwgICAgIDIwMTIsIDB4MDA0MmJhNTMKLTAsICAgICAg ICAgIDAsICAgICAgICAgIDAsICAgICAgICAwLCAgICAgMjAxMiwgMHg3ZTliYmExZAotMCwgICAg ICAgICAgMCwgICAgICAgICAgMCwgICAgICAgIDAsICAgICAyMDEyLCAweDAwNThjOTlkCi0wLCAg ICAgICAgICAwLCAgICAgICAgICAwLCAgICAgICAgMCwgICAgIDIwMTIsIDB4NDdkMmI1OTAKLTAs ICAgICAgICAgIDAsICAgICAgICAgIDAsICAgICAgICAwLCAgICAgMjAxMiwgMHhkZjRiYTljNgot MCwgICAgICAgICAgMCwgICAgICAgICAgMCwgICAgICAgIDAsICAgICAyMDEyLCAweGU2NzE5ODdj Ci0wLCAgICAgICAgICAwLCAgICAgICAgICAwLCAgICAgICAgMCwgICAgIDIwMTIsIDB4OTBkY2Nj ODkKLTAsICAgICAgICAgIDAsICAgICAgICAgIDAsICAgICAgICAwLCAgICAgMjAxMiwgMHgwMTJj Y2FlOQotMCwgICAgICAgICAgMCwgICAgICAgICAgMCwgICAgICAgIDAsICAgICAyMDEyLCAweDJl YjViODNlCi0wLCAgICAgICAgICAwLCAgICAgICAgICAwLCAgICAgICAgMCwgICAgIDIwMTIsIDB4 M2ZlY2I3ZjQKLTAsICAgICAgICAgIDAsICAgICAgICAgIDAsICAgICAgICAwLCAgICAgMjAxMiwg MHg3OTU1YTQ2NAotMCwgICAgICAgICAgMCwgICAgICAgICAgMCwgICAgICAgIDAsICAgICAyMDEy LCAweGZlOWViM2MzCi0wLCAgICAgICAgICAwLCAgICAgICAgICAwLCAgICAgICAgMCwgICAgIDIw MTIsIDB4NzQ1N2M5MDQKLTAsICAgICAgICAgIDAsICAgICAgICAgIDAsICAgICAgICAwLCAgICAg MjAxMiwgMHhkMjNlYTY5ZAotMCwgICAgICAgICAgMCwgICAgICAgICAgMCwgICAgICAgIDAsICAg ICAyMDEyLCAweGM0OTdiZjgyCi0wLCAgICAgICAgICAwLCAgICAgICAgICAwLCAgICAgICAgMCwg ICAgIDIwMTIsIDB4MTVlNWMyNDEKLTAsICAgICAgICAgIDAsICAgICAgICAgIDAsICAgICAgICAw LCAgICAgMjAxMiwgMHgzZGZlYTcxZgotMCwgICAgICAgICAgMCwgICAgICAgICAgMCwgICAgICAg IDAsICAgICAyMDEyLCAweDFlNTljOWMwCi0wLCAgICAgICAgICAwLCAgICAgICAgICAwLCAgICAg ICAgMCwgICAgIDIwMTIsIDB4MWEzNGI5MjcKLTAsICAgICAgICAgIDAsICAgICAgICAgIDAsICAg ICAgICAwLCAgICAgMjAxMiwgMHhiZjQyYjQzMAotMCwgICAgICAgICAgMCwgICAgICAgICAgMCwg ICAgICAgIDAsICAgICAyMDEyLCAweGYwODRjMjlmCi0wLCAgICAgICAgICAwLCAgICAgICAgICAw LCAgICAgICAgMCwgICAgIDIwMTIsIDB4NjQ0M2M0NGEKLTAsICAgICAgICAgIDAsICAgICAgICAg IDAsICAgICAgICAwLCAgICAgMjAxMiwgMHg3OTg1YTRhNQotMCwgICAgICAgICAgMCwgICAgICAg ICAgMCwgICAgICAgIDAsICAgICAyMDEyLCAweDI3YWRkMDU5Ci0wLCAgICAgICAgICAwLCAgICAg ICAgICAwLCAgICAgICAgMCwgICAgIDIwMTIsIDB4N2YxZmFlYTQKLTAsICAgICAgICAgIDAsICAg ICAgICAgIDAsICAgICAgICAwLCAgICAgMjAxMiwgMHg4ZDlkYzczMgotMCwgICAgICAgICAgMCwg ICAgICAgICAgMCwgICAgICAgIDAsICAgICAyMDEyLCAweGYyNzJjMzJlCi0wLCAgICAgICAgICAw LCAgICAgICAgICAwLCAgICAgICAgMCwgICAgIDIwMTIsIDB4NGZhM2FiMTEKLTAsICAgICAgICAg IDAsICAgICAgICAgIDAsICAgICAgICAwLCAgICAgMjAxMiwgMHg1MTJlOTg4NwotMCwgICAgICAg ICAgMCwgICAgICAgICAgMCwgICAgICAgIDAsICAgICAyMDEyLCAweGQ0NzhkNTViCi0wLCAgICAg ICAgICAwLCAgICAgICAgICAwLCAgICAgICAgMCwgICAgIDIwMTIsIDB4YTk0YTlkOTMKLTAsICAg ICAgICAgIDAsICAgICAgICAgIDAsICAgICAgICAwLCAgICAgMjAxMiwgMHhmZjczZDgxMgotMCwg ICAgICAgICAgMCwgICAgICAgICAgMCwgICAgICAgIDAsICAgICAyMDEyLCAweGQzYTZiOWVmCi0w LCAgICAgICAgICAwLCAgICAgICAgICAwLCAgICAgICAgMCwgICAgIDIwMTIsIDB4N2I0ZWJjMWUK LTAsICAgICAgICAgIDAsICAgICAgICAgIDAsICAgICAgICAwLCAgICAgMjAxMiwgMHhjYzdiYmEx YQotMCwgICAgICAgICAgMCwgICAgICAgICAgMCwgICAgICAgIDAsICAgICAyMDEyLCAweDFhYTdj ZDFhCi0wLCAgICAgICAgICAwLCAgICAgICAgICAwLCAgICAgICAgMCwgICAgIDIwMTIsIDB4ZDcw N2MyMDIKLTAsICAgICAgICAgIDAsICAgICAgICAgIDAsICAgICAgICAwLCAgICAgMjAxMiwgMHhj YjZhYzE4YgotMCwgICAgICAgICAgMCwgICAgICAgICAgMCwgICAgICAgIDAsICAgICAyMDEyLCAw eDFjY2RjYmQ2Ci0wLCAgICAgICAgICAwLCAgICAgICAgICAwLCAgICAgICAgMCwgICAgIDIwMTIs IDB4NzAwY2I1MWUKLTAsICAgICAgICAgIDAsICAgICAgICAgIDAsICAgICAgICAwLCAgICAgMjAx MiwgMHgyN2I2YTNlNwotMCwgICAgICAgICAgMCwgICAgICAgICAgMCwgICAgICAgIDAsICAgICAy MDEyLCAweDg1NzBiOGNkCi0wLCAgICAgICAgICAwLCAgICAgICAgICAwLCAgICAgICAgMCwgICAg IDIwMTIsIDB4MjJmMmIyZWQKLTAsICAgICAgICAgIDAsICAgICAgICAgIDAsICAgICAgICAwLCAg ICAgMjAxMiwgMHg3NWVkYjYzZQotMCwgICAgICAgICAgMCwgICAgICAgICAgMCwgICAgICAgIDAs ICAgICAyMDEyLCAweDgxNDViNTNmCi0wLCAgICAgICAgICAwLCAgICAgICAgICAwLCAgICAgICAg MCwgICAgIDIwMTIsIDB4MTVlZmI4YmMKLTAsICAgICAgICAgIDAsICAgICAgICAgIDAsICAgICAg ICAwLCAgICAgMjAxMiwgMHgyMDBiYjVlNgotMCwgICAgICAgICAgMCwgICAgICAgICAgMCwgICAg ICAgIDAsICAgICAyMDEyLCAweGZhNzliMTc4Ci0wLCAgICAgICAgICAwLCAgICAgICAgICAwLCAg ICAgICAgMCwgICAgIDIwMTIsIDB4YmQzOWNkZjQKLTAsICAgICAgICAgIDAsICAgICAgICAgIDAs ICAgICAgICAwLCAgICAgMjAxMiwgMHgwOTcwYjBiMgotMCwgICAgICAgICAgMCwgICAgICAgICAg MCwgICAgICAgIDAsICAgICAyMDEyLCAweDFhY2ViZTcyCi0wLCAgICAgICAgICAwLCAgICAgICAg ICAwLCAgICAgICAgMCwgICAgIDIwMTIsIDB4MWEyNmFhNzEKLTAsICAgICAgICAgIDAsICAgICAg ICAgIDAsICAgICAgICAwLCAgICAgMjAxMiwgMHg4ZjcxYWE1NAotMCwgICAgICAgICAgMCwgICAg ICAgICAgMCwgICAgICAgIDAsICAgICAyMDEyLCAweDAyNjVjNTIzCi0wLCAgICAgICAgICAwLCAg ICAgICAgICAwLCAgICAgICAgMCwgICAgIDIwMTIsIDB4MmRmMGE1M2IKLTAsICAgICAgICAgIDAs ICAgICAgICAgIDAsICAgICAgICAwLCAgICAgMjAxMiwgMHg1OWE3YTM3YQotMCwgICAgICAgICAg MCwgICAgICAgICAgMCwgICAgICAgIDAsICAgICAyMDEyLCAweDlhZDlhY2RhCi0wLCAgICAgICAg ICAwLCAgICAgICAgICAwLCAgICAgICAgMCwgICAgIDIwMTIsIDB4NzM4Y2JjNmYKLTAsICAgICAg ICAgIDAsICAgICAgICAgIDAsICAgICAgICAwLCAgICAgMjAxMiwgMHhjNjQ2YTdhZAotMCwgICAg ICAgICAgMCwgICAgICAgICAgMCwgICAgICAgIDAsICAgICAyMDEyLCAweDdmMjVjMTliCi0wLCAg ICAgICAgICAwLCAgICAgICAgICAwLCAgICAgICAgMCwgICAgIDIwMTIsIDB4MTQzOWJkYjAKLTAs ICAgICAgICAgIDAsICAgICAgICAgIDAsICAgICAgICAwLCAgICAgMjAxMiwgMHhhNDBjYmVmMAot MCwgICAgICAgICAgMCwgICAgICAgICAgMCwgICAgICAgIDAsICAgICAyMDEyLCAweDliMDliOTlh Ci0wLCAgICAgICAgICAwLCAgICAgICAgICAwLCAgICAgICAgMCwgICAgIDIwMTIsIDB4NWZmMGJi ZGUKLTAsICAgICAgICAgIDAsICAgICAgICAgIDAsICAgICAgICAwLCAgICAgMjAxMiwgMHgzOTgx YzJkNgotMCwgICAgICAgICAgMCwgICAgICAgICAgMCwgICAgICAgIDAsICAgICAyMDEyLCAweGZh ODliNDBkCi0wLCAgICAgICAgICAwLCAgICAgICAgICAwLCAgICAgICAgMCwgICAgIDIwMTIsIDB4 MTJlOWE3YjkKLTAsICAgICAgICAgIDAsICAgICAgICAgIDAsICAgICAgICAwLCAgICAgMjAxMiwg MHhjNWZhYWFjMwotMCwgICAgICAgICAgMCwgICAgICAgICAgMCwgICAgICAgIDAsICAgICAyMDEy LCAweGUxMmJjM2E5Ci0wLCAgICAgICAgICAwLCAgICAgICAgICAwLCAgICAgICAgMCwgICAgIDIw MTIsIDB4OWM1N2I4ZjMKLTAsICAgICAgICAgIDAsICAgICAgICAgIDAsICAgICAgICAwLCAgICAg MjAxMiwgMHg0ZmQ0YjZjMAotMCwgICAgICAgICAgMCwgICAgICAgICAgMCwgICAgICAgIDAsICAg ICAyMDEyLCAweGI3MmNjYTUwCi0wLCAgICAgICAgICAwLCAgICAgICAgICAwLCAgICAgICAgMCwg ICAgIDIwMTIsIDB4YjRkNGNiYmIKLTAsICAgICAgICAgIDAsICAgICAgICAgIDAsICAgICAgICAw LCAgICAgMjAxMiwgMHg5Mzk5YmZhMQotMCwgICAgICAgICAgMCwgICAgICAgICAgMCwgICAgICAg IDAsICAgICAyMDEyLCAweDBhYmZiNzA4Ci0wLCAgICAgICAgICAwLCAgICAgICAgICAwLCAgICAg ICAgMCwgICAgIDIwMTIsIDB4ZDFkOWFjYzAKLTAsICAgICAgICAgIDAsICAgICAgICAgIDAsICAg ICAgICAwLCAgICAgMjAxMiwgMHgwNzlhYjViMgotMCwgICAgICAgICAgMCwgICAgICAgICAgMCwg ICAgICAgIDAsICAgICAyMDEyLCAweDA1YTBiZTMyCi0wLCAgICAgICAgICAwLCAgICAgICAgICAw LCAgICAgICAgMCwgICAgIDIwMTIsIDB4NDQ1Y2M4ZGIKLTAsICAgICAgICAgIDAsICAgICAgICAg IDAsICAgICAgICAwLCAgICAgMjAxMiwgMHhmOWEzYWE3MQotMCwgICAgICAgICAgMCwgICAgICAg ICAgMCwgICAgICAgIDAsICAgICAyMDEyLCAweGQyZTI5ZWFjCi0wLCAgICAgICAgICAwLCAgICAg ICAgICAwLCAgICAgICAgMCwgICAgIDIwMTIsIDB4MzkxYTlmMjAKLTAsICAgICAgICAgIDAsICAg ICAgICAgIDAsICAgICAgICAwLCAgICAgMjAxMiwgMHg1NzFlYWI0ZQotMCwgICAgICAgICAgMCwg ICAgICAgICAgMCwgICAgICAgIDAsICAgICAyMDEyLCAweDY5NjJiYzk2Ci0wLCAgICAgICAgICAw LCAgICAgICAgICAwLCAgICAgICAgMCwgICAgIDIwMTIsIDB4MmYwNGI0OTUKLTAsICAgICAgICAg IDAsICAgICAgICAgIDAsICAgICAgICAwLCAgICAgMjAxMiwgMHg3YjY2YmFiNwotMCwgICAgICAg ICAgMCwgICAgICAgICAgMCwgICAgICAgIDAsICAgICAyMDEyLCAweGE3MThiOGM5Ci0wLCAgICAg ICAgICAwLCAgICAgICAgICAwLCAgICAgICAgMCwgICAgIDIwMTIsIDB4YjA2OWE1NGUKLTAsICAg ICAgICAgIDAsICAgICAgICAgIDAsICAgICAgICAwLCAgICAgMjAxMiwgMHhjMDUyYTFkMgotMCwg ICAgICAgICAgMCwgICAgICAgICAgMCwgICAgICAgIDAsICAgICAyMDEyLCAweDY2MWFjNjJlCi0w LCAgICAgICAgICAwLCAgICAgICAgICAwLCAgICAgICAgMCwgICAgIDIwMTIsIDB4YzRlYmI1MjkK LTAsICAgICAgICAgIDAsICAgICAgICAgIDAsICAgICAgICAwLCAgICAgMjAxMiwgMHhmOTk4YjI1 MQotMCwgICAgICAgICAgMCwgICAgICAgICAgMCwgICAgICAgIDAsICAgICAyMDEyLCAweDBlZThi ZmZhCi0wLCAgICAgICAgICAwLCAgICAgICAgICAwLCAgICAgICAgMCwgICAgIDIwMTIsIDB4NmUz ZmQ5ODQKLTAsICAgICAgICAgIDAsICAgICAgICAgIDAsICAgICAgICAwLCAgICAgMjAxMiwgMHg1 ODI1YjYzZgotMCwgICAgICAgICAgMCwgICAgICAgICAgMCwgICAgICAgIDAsICAgICAyMDEyLCAw eDljNzljNTYxCi0wLCAgICAgICAgICAwLCAgICAgICAgICAwLCAgICAgICAgMCwgICAgIDIwMTIs IDB4MzQ3MGJlYjcKLTAsICAgICAgICAgIDAsICAgICAgICAgIDAsICAgICAgICAwLCAgICAgMjAx MiwgMHg5MTM1YmQ5ZAotMCwgICAgICAgICAgMCwgICAgICAgICAgMCwgICAgICAgIDAsICAgICAy MDEyLCAweGQ4ZThiYjdmCi0wLCAgICAgICAgICAwLCAgICAgICAgICAwLCAgICAgICAgMCwgICAg IDIwMTIsIDB4MzIyZWE0NDgKLTAsICAgICAgICAgIDAsICAgICAgICAgIDAsICAgICAgICAwLCAg ICAgMjAxMiwgMHhlOTc0YjNhYgotMCwgICAgICAgICAgMCwgICAgICAgICAgMCwgICAgICAgIDAs ICAgICAyMDEyLCAweDQxNTFjMzJkCi0wLCAgICAgICAgICAwLCAgICAgICAgICAwLCAgICAgICAg MCwgICAgIDIwMTIsIDB4MmIwNWJmN2QKLTAsICAgICAgICAgIDAsICAgICAgICAgIDAsICAgICAg ICAwLCAgICAgMjAxMiwgMHg0MTExYzBkOAotMCwgICAgICAgICAgMCwgICAgICAgICAgMCwgICAg ICAgIDAsICAgICAyMDEyLCAweGZmOWFkNTc0Ci0wLCAgICAgICAgICAwLCAgICAgICAgICAwLCAg ICAgICAgMCwgICAgIDIwMTIsIDB4YTU1ZGNlZDIKLTAsICAgICAgICAgIDAsICAgICAgICAgIDAs ICAgICAgICAwLCAgICAgMjAxMiwgMHgxMWU2YzBjYgotMCwgICAgICAgICAgMCwgICAgICAgICAg MCwgICAgICAgIDAsICAgICAyMDEyLCAweDI0NzhiOTk4Ci0wLCAgICAgICAgICAwLCAgICAgICAg ICAwLCAgICAgICAgMCwgICAgIDIwMTIsIDB4ZGM4YWJiNTQKLTAsICAgICAgICAgIDAsICAgICAg ICAgIDAsICAgICAgICAwLCAgICAgMjAxMiwgMHhlMTZkYTUxMAotMCwgICAgICAgICAgMCwgICAg ICAgICAgMCwgICAgICAgIDAsICAgICAyMDEyLCAweGZjMThiM2RiCi0wLCAgICAgICAgICAwLCAg ICAgICAgICAwLCAgICAgICAgMCwgICAgIDIwMTIsIDB4MTQyNmNkNDIKLTAsICAgICAgICAgIDAs ICAgICAgICAgIDAsICAgICAgICAwLCAgICAgMjAxMiwgMHhiNTYwYTY2MQotMCwgICAgICAgICAg MCwgICAgICAgICAgMCwgICAgICAgIDAsICAgICAyMDEyLCAweGMyMDBhYTRiCi0wLCAgICAgICAg ICAwLCAgICAgICAgICAwLCAgICAgICAgMCwgICAgIDIwMTIsIDB4ZWEwMGFmMmEKLTAsICAgICAg ICAgIDAsICAgICAgICAgIDAsICAgICAgICAwLCAgICAgMjAxMiwgMHgzMmJjYmY4NAotMCwgICAg ICAgICAgMCwgICAgICAgICAgMCwgICAgICAgIDAsICAgICAyMDEyLCAweDRjMjljYjJhCi0wLCAg ICAgICAgICAwLCAgICAgICAgICAwLCAgICAgICAgMCwgICAgIDIwMTIsIDB4ZThhMmFhYmMKLTAs ICAgICAgICAgIDAsICAgICAgICAgIDAsICAgICAgICAwLCAgICAgMjAxMiwgMHg2NGJkYjZjZAot MCwgICAgICAgICAgMCwgICAgICAgICAgMCwgICAgICAgIDAsICAgICAyMDEyLCAweDNhODBhZGJj Ci0wLCAgICAgICAgICAwLCAgICAgICAgICAwLCAgICAgICAgMCwgICAgIDIwMTIsIDB4YTAxMmIy YzQKLTAsICAgICAgICAgIDAsICAgICAgICAgIDAsICAgICAgICAwLCAgICAgMjAxMiwgMHhhYzNl YmNlNwotMCwgICAgICAgICAgMCwgICAgICAgICAgMCwgICAgICAgIDAsICAgICAyMDEyLCAweGZh ZTFiMmE3Ci0wLCAgICAgICAgICAwLCAgICAgICAgICAwLCAgICAgICAgMCwgICAgIDIwMTIsIDB4 MzdiNGRkYWUKLTAsICAgICAgICAgIDAsICAgICAgICAgIDAsICAgICAgICAwLCAgICAgMjAxMiwg MHg4ZmY5YmQ1NQotMCwgICAgICAgICAgMCwgICAgICAgICAgMCwgICAgICAgIDAsICAgICAyMDEy LCAweDE2ZjZhYmViCi0wLCAgICAgICAgICAwLCAgICAgICAgICAwLCAgICAgICAgMCwgICAgIDIw MTIsIDB4NTgyMGJhZGYKLTAsICAgICAgICAgIDAsICAgICAgICAgIDAsICAgICAgICAwLCAgICAg MjAxMiwgMHg3MTgzYjQ1ZQotMCwgICAgICAgICAgMCwgICAgICAgICAgMCwgICAgICAgIDAsICAg ICAyMDEyLCAweGMwYTZjODI2Ci0wLCAgICAgICAgICAwLCAgICAgICAgICAwLCAgICAgICAgMCwg ICAgIDIwMTIsIDB4NGMzNmJiMDIKLTAsICAgICAgICAgIDAsICAgICAgICAgIDAsICAgICAgICAw LCAgICAgMjAxMiwgMHhkYTQ2Yjg1NAotMCwgICAgICAgICAgMCwgICAgICAgICAgMCwgICAgICAg IDAsICAgICAyMDEyLCAweGNjOGFjY2I2Ci0wLCAgICAgICAgICAwLCAgICAgICAgICAwLCAgICAg ICAgMCwgICAgIDIwMTIsIDB4YTZiMmMzYTIKLTAsICAgICAgICAgIDAsICAgICAgICAgIDAsICAg ICAgICAwLCAgICAgMjAxMiwgMHgxYzkxY2MwMAotMCwgICAgICAgICAgMCwgICAgICAgICAgMCwg ICAgICAgIDAsICAgICAyMDEyLCAweGYzM2NkNzIxCi0wLCAgICAgICAgICAwLCAgICAgICAgICAw LCAgICAgICAgMCwgICAgIDIwMTIsIDB4N2Y4NmQyZWQKLTAsICAgICAgICAgIDAsICAgICAgICAg IDAsICAgICAgICAwLCAgICAgMjAxMiwgMHg5ZmRhYmIxZAotMCwgICAgICAgICAgMCwgICAgICAg ICAgMCwgICAgICAgIDAsICAgICAyMDEyLCAweDMzZWJiYmM0Ci0wLCAgICAgICAgICAwLCAgICAg ICAgICAwLCAgICAgICAgMCwgICAgIDIwMTIsIDB4Mjc0MWJhNGYKLTAsICAgICAgICAgIDAsICAg ICAgICAgIDAsICAgICAgICAwLCAgICAgMjAxMiwgMHgwZDBkZDEwNwotMCwgICAgICAgICAgMCwg ICAgICAgICAgMCwgICAgICAgIDAsICAgICAyMDEyLCAweGYxZDViNTUxCi0wLCAgICAgICAgICAw LCAgICAgICAgICAwLCAgICAgICAgMCwgICAgIDIwMTIsIDB4ZjQ3ZGJlYmMKLTAsICAgICAgICAg IDAsICAgICAgICAgIDAsICAgICAgICAwLCAgICAgMjAxMiwgMHhhOTU1Y2VhMwotMCwgICAgICAg ICAgMCwgICAgICAgICAgMCwgICAgICAgIDAsICAgICAyMDEyLCAweDUxZDZiNDA3Ci0wLCAgICAg ICAgICAwLCAgICAgICAgICAwLCAgICAgICAgMCwgICAgIDIwMTIsIDB4YjdkM2MyYzAKLTAsICAg ICAgICAgIDAsICAgICAgICAgIDAsICAgICAgICAwLCAgICAgMjAxMiwgMHhjZTNjYzZhZQotMCwg ICAgICAgICAgMCwgICAgICAgICAgMCwgICAgICAgIDAsICAgICAyMDEyLCAweDc4MmNjMTg0Ci0w LCAgICAgICAgICAwLCAgICAgICAgICAwLCAgICAgICAgMCwgICAgIDIwMTIsIDB4ZjRjZWMyYWYK LTAsICAgICAgICAgIDAsICAgICAgICAgIDAsICAgICAgICAwLCAgICAgMjAxMiwgMHhhNDNlYjI5 NQotMCwgICAgICAgICAgMCwgICAgICAgICAgMCwgICAgICAgIDAsICAgICAyMDEyLCAweGM3NGFh NjJkCi0wLCAgICAgICAgICAwLCAgICAgICAgICAwLCAgICAgICAgMCwgICAgIDIwMTIsIDB4Zjlk ZmMxMWYKLTAsICAgICAgICAgIDAsICAgICAgICAgIDAsICAgICAgICAwLCAgICAgMjAxMiwgMHgz ZGExYTMxOQotMCwgICAgICAgICAgMCwgICAgICAgICAgMCwgICAgICAgIDAsICAgICAyMDEyLCAw eGY2MTNiZDc1Ci0wLCAgICAgICAgICAwLCAgICAgICAgICAwLCAgICAgICAgMCwgICAgIDIwMTIs IDB4MTBkOWNkYTQKLTAsICAgICAgICAgIDAsICAgICAgICAgIDAsICAgICAgICAwLCAgICAgMjAx MiwgMHgwOGM5YmNiMwotMCwgICAgICAgICAgMCwgICAgICAgICAgMCwgICAgICAgIDAsICAgICAy MDEyLCAweDQzYjlkMTcwCi0wLCAgICAgICAgICAwLCAgICAgICAgICAwLCAgICAgICAgMCwgICAg IDIwMTIsIDB4MWYwZGI5NDAKLTAsICAgICAgICAgIDAsICAgICAgICAgIDAsICAgICAgICAwLCAg ICAgMjAxMiwgMHgzYzRlYzYxNAotMCwgICAgICAgICAgMCwgICAgICAgICAgMCwgICAgICAgIDAs ICAgICAyMDEyLCAweGE5NGFiYWFhCi0wLCAgICAgICAgICAwLCAgICAgICAgICAwLCAgICAgICAg MCwgICAgIDIwMTIsIDB4MjU1N2E5MjIKLTAsICAgICAgICAgIDAsICAgICAgICAgIDAsICAgICAg ICAwLCAgICAgMjAxMiwgMHg0MjQ1YzRiNAotMCwgICAgICAgICAgMCwgICAgICAgICAgMCwgICAg ICAgIDAsICAgICAyMDEyLCAweDBjYjFiMDZmCi0wLCAgICAgICAgICAwLCAgICAgICAgICAwLCAg ICAgICAgMCwgICAgIDIwMTIsIDB4Nzc4YmJlYWIKLTAsICAgICAgICAgIDAsICAgICAgICAgIDAs ICAgICAgICAwLCAgICAgMjAxMiwgMHg1Y2U0Y2EzYgotMCwgICAgICAgICAgMCwgICAgICAgICAg MCwgICAgICAgIDAsICAgICAyMDEyLCAweGU3MGU5ZmQzCi0wLCAgICAgICAgICAwLCAgICAgICAg ICAwLCAgICAgICAgMCwgICAgIDIwMTIsIDB4MjhhZmJjYmYKLTAsICAgICAgICAgIDAsICAgICAg ICAgIDAsICAgICAgICAwLCAgICAgMjAxMiwgMHhjNDFmYjliMgotMCwgICAgICAgICAgMCwgICAg ICAgICAgMCwgICAgICAgIDAsICAgICAyMDEyLCAweGQ2MGNiZmFlCi0wLCAgICAgICAgICAwLCAg ICAgICAgICAwLCAgICAgICAgMCwgICAgIDIwMTIsIDB4MTA4N2NiMjYKLTAsICAgICAgICAgIDAs ICAgICAgICAgIDAsICAgICAgICAwLCAgICAgMjAxMiwgMHhjOWZhY2UzYgotMCwgICAgICAgICAg MCwgICAgICAgICAgMCwgICAgICAgIDAsICAgICAyMDEyLCAweDc0MDNiMzE0Ci0wLCAgICAgICAg ICAwLCAgICAgICAgICAwLCAgICAgICAgMCwgICAgIDIwMTIsIDB4ZTAzNGJhOTcKLTAsICAgICAg ICAgIDAsICAgICAgICAgIDAsICAgICAgICAwLCAgICAgMjAxMiwgMHgxNWRjYmM2NwotMCwgICAg ICAgICAgMCwgICAgICAgICAgMCwgICAgICAgIDAsICAgICAyMDEyLCAweDIwZDNiY2ZmCi0wLCAg ICAgICAgICAwLCAgICAgICAgICAwLCAgICAgICAgMCwgICAgIDIwMTIsIDB4YzEzNmEyY2UKLTAs ICAgICAgICAgIDAsICAgICAgICAgIDAsICAgICAgICAwLCAgICAgMjAxMiwgMHgwMzhiYjAyNQot MCwgICAgICAgICAgMCwgICAgICAgICAgMCwgICAgICAgIDAsICAgICAyMDEyLCAweGQ2NTVjZjg0 Ci0wLCAgICAgICAgICAwLCAgICAgICAgICAwLCAgICAgICAgMCwgICAgIDIwMTIsIDB4Y2Y1NGM2 NTYKLTAsICAgICAgICAgIDAsICAgICAgICAgIDAsICAgICAgICAwLCAgICAgMjAxMiwgMHgzYzc3 YmIwZAotMCwgICAgICAgICAgMCwgICAgICAgICAgMCwgICAgICAgIDAsICAgICAyMDEyLCAweGQ3 NjVkN2E3Ci0wLCAgICAgICAgICAwLCAgICAgICAgICAwLCAgICAgICAgMCwgICAgIDIwMTIsIDB4 MWE2MGIwMjAKLTAsICAgICAgICAgIDAsICAgICAgICAgIDAsICAgICAgICAwLCAgICAgMjAxMiwg MHg4M2M4YzJlOQotMCwgICAgICAgICAgMCwgICAgICAgICAgMCwgICAgICAgIDAsICAgICAyMDEy LCAweDliOTdjNmU3Ci0wLCAgICAgICAgICAwLCAgICAgICAgICAwLCAgICAgICAgMCwgICAgIDIw MTIsIDB4Mzg3MGFkNjMKLTAsICAgICAgICAgIDAsICAgICAgICAgIDAsICAgICAgICAwLCAgICAg MjAxMiwgMHgwZTNhYzY3ZAotMCwgICAgICAgICAgMCwgICAgICAgICAgMCwgICAgICAgIDAsICAg ICAyMDEyLCAweGViNTNjOTM1Ci0wLCAgICAgICAgICAwLCAgICAgICAgICAwLCAgICAgICAgMCwg ICAgIDIwMTIsIDB4ZWViMGMzZTEKLTAsICAgICAgICAgIDAsICAgICAgICAgIDAsICAgICAgICAw LCAgICAgMjAxMiwgMHg5Y2I1YmRiOQotMCwgICAgICAgICAgMCwgICAgICAgICAgMCwgICAgICAg IDAsICAgICAyMDEyLCAweDY0YjFhZmVjCi0wLCAgICAgICAgICAwLCAgICAgICAgICAwLCAgICAg ICAgMCwgICAgIDIwMTIsIDB4NTdkY2FkYmMKLTAsICAgICAgICAgIDAsICAgICAgICAgIDAsICAg ICAgICAwLCAgICAgMjAxMiwgMHhlZDc2YzVmZAotMCwgICAgICAgICAgMCwgICAgICAgICAgMCwg ICAgICAgIDAsICAgICAyMDEyLCAweDBjYjRjYWM1Ci0wLCAgICAgICAgICAwLCAgICAgICAgICAw LCAgICAgICAgMCwgICAgIDIwMTIsIDB4ZDMwYmJkMDYKLTAsICAgICAgICAgIDAsICAgICAgICAg IDAsICAgICAgICAwLCAgICAgMjAxMiwgMHhhZWU5YzZjMwotMCwgICAgICAgICAgMCwgICAgICAg ICAgMCwgICAgICAgIDAsICAgICAyMDEyLCAweGU4NDVjOWIzCi0wLCAgICAgICAgICAwLCAgICAg ICAgICAwLCAgICAgICAgMCwgICAgIDIwMTIsIDB4YzA5Y2M3ZmMKLTAsICAgICAgICAgIDAsICAg ICAgICAgIDAsICAgICAgICAwLCAgICAgMjAxMiwgMHhmZGViYWFjYgotMCwgICAgICAgICAgMCwg ICAgICAgICAgMCwgICAgICAgIDAsICAgICAyMDEyLCAweDZmMmRiODlmCi0wLCAgICAgICAgICAw LCAgICAgICAgICAwLCAgICAgICAgMCwgICAgIDIwMTIsIDB4N2Q4OWJlZTcKLTAsICAgICAgICAg IDAsICAgICAgICAgIDAsICAgICAgICAwLCAgICAgMjAxMiwgMHg4Njk5YjhiZQotMCwgICAgICAg ICAgMCwgICAgICAgICAgMCwgICAgICAgIDAsICAgICAyMDEyLCAweDU3ZDZjYzhhCi0wLCAgICAg ICAgICAwLCAgICAgICAgICAwLCAgICAgICAgMCwgICAgIDIwMTIsIDB4Y2RiY2QyNDYKLTAsICAg ICAgICAgIDAsICAgICAgICAgIDAsICAgICAgICAwLCAgICAgMjAxMiwgMHg5MDU3YjI4NQotMCwg ICAgICAgICAgMCwgICAgICAgICAgMCwgICAgICAgIDAsICAgICAyMDEyLCAweDJhYzljYzg3Ci0w LCAgICAgICAgICAwLCAgICAgICAgICAwLCAgICAgICAgMCwgICAgIDIwMTIsIDB4ZWIyMGM0MjEK LTAsICAgICAgICAgIDAsICAgICAgICAgIDAsICAgICAgICAwLCAgICAgMjAxMiwgMHg0Nzg5ZDEx ZgotMCwgICAgICAgICAgMCwgICAgICAgICAgMCwgICAgICAgIDAsICAgICAyMDEyLCAweDU1ZTdj OWZlCi0wLCAgICAgICAgICAwLCAgICAgICAgICAwLCAgICAgICAgMCwgICAgIDIwMTIsIDB4ZDgx Y2I0YzYKLTAsICAgICAgICAgIDAsICAgICAgICAgIDAsICAgICAgICAwLCAgICAgMjAxMiwgMHgy YWYwYTg4ZQotMCwgICAgICAgICAgMCwgICAgICAgICAgMCwgICAgICAgIDAsICAgICAyMDEyLCAw eDdkOTZhNGVlCi0wLCAgICAgICAgICAwLCAgICAgICAgICAwLCAgICAgICAgMCwgICAgIDIwMTIs IDB4ZmY3Y2MzZWEKLTAsICAgICAgICAgIDAsICAgICAgICAgIDAsICAgICAgICAwLCAgICAgMjAx MiwgMHgyNTE0ZDJhOAotMCwgICAgICAgICAgMCwgICAgICAgICAgMCwgICAgICAgIDAsICAgICAy MDEyLCAweDdkMmNjY2MzCi0wLCAgICAgICAgICAwLCAgICAgICAgICAwLCAgICAgICAgMCwgICAg IDIwMTIsIDB4OThkY2NiYmYKLTAsICAgICAgICAgIDAsICAgICAgICAgIDAsICAgICAgICAwLCAg ICAgMjAxMiwgMHg1NWYyYmQzZQotMCwgICAgICAgICAgMCwgICAgICAgICAgMCwgICAgICAgIDAs ICAgICAyMDEyLCAweDBlNThiYmQ3Ci0wLCAgICAgICAgICAwLCAgICAgICAgICAwLCAgICAgICAg MCwgICAgIDIwMTIsIDB4MTUyMGM0NWQKLTAsICAgICAgICAgIDAsICAgICAgICAgIDAsICAgICAg ICAwLCAgICAgMjAxMiwgMHgzYzYwY2VkZQotMCwgICAgICAgICAgMCwgICAgICAgICAgMCwgICAg ICAgIDAsICAgICAyMDEyLCAweGJmYjJiZTZiCi0wLCAgICAgICAgICAwLCAgICAgICAgICAwLCAg ICAgICAgMCwgICAgIDIwMTIsIDB4YTgzOWMyZDUKLTAsICAgICAgICAgIDAsICAgICAgICAgIDAs ICAgICAgICAwLCAgICAgMjAxMiwgMHg3NzEzYmRiYQotMCwgICAgICAgICAgMCwgICAgICAgICAg MCwgICAgICAgIDAsICAgICAyMDEyLCAweGYxNmM5ZTk1Ci0wLCAgICAgICAgICAwLCAgICAgICAg ICAwLCAgICAgICAgMCwgICAgIDIwMTIsIDB4OGU5NGNhZjEKLTAsICAgICAgICAgIDAsICAgICAg ICAgIDAsICAgICAgICAwLCAgICAgMjAxMiwgMHgzOTE1YzY3MwotMCwgICAgICAgICAgMCwgICAg ICAgICAgMCwgICAgICAgIDAsICAgICAyMDEyLCAweDY5YWZjNzZmCi0wLCAgICAgICAgICAwLCAg ICAgICAgICAwLCAgICAgICAgMCwgICAgIDIwMTIsIDB4M2ViZWM1MTQKLTAsICAgICAgICAgIDAs ICAgICAgICAgIDAsICAgICAgICAwLCAgICAgMjAxMiwgMHg3MGM1ZGQ5YgotMCwgICAgICAgICAg MCwgICAgICAgICAgMCwgICAgICAgIDAsICAgICAyMDEyLCAweDY4NjhiN2Q5Ci0wLCAgICAgICAg ICAwLCAgICAgICAgICAwLCAgICAgICAgMCwgICAgIDIwMTIsIDB4OWEzMWM4MDEKLTAsICAgICAg ICAgIDAsICAgICAgICAgIDAsICAgICAgICAwLCAgICAgMjAxMiwgMHg5M2M0YjZhYwotMCwgICAg ICAgICAgMCwgICAgICAgICAgMCwgICAgICAgIDAsICAgICAyMDEyLCAweGIxYWFjYTM5Ci0wLCAg ICAgICAgICAwLCAgICAgICAgICAwLCAgICAgICAgMCwgICAgIDIwMTIsIDB4OGY2N2I5ZWQKLTAs ICAgICAgICAgIDAsICAgICAgICAgIDAsICAgICAgICAwLCAgICAgMjAxMiwgMHgwOWFkY2YxZgot MCwgICAgICAgICAgMCwgICAgICAgICAgMCwgICAgICAgIDAsICAgICAyMDEyLCAweGUxNzJjYjNj Ci0wLCAgICAgICAgICAwLCAgICAgICAgICAwLCAgICAgICAgMCwgICAgIDIwMTIsIDB4MDQ0YmJk YzUKLTAsICAgICAgICAgIDAsICAgICAgICAgIDAsICAgICAgICAwLCAgICAgMjAxMiwgMHgzOTFj YjNkOQotMCwgICAgICAgICAgMCwgICAgICAgICAgMCwgICAgICAgIDAsICAgICAyMDEyLCAweDNi ZDFiYzI5Ci0wLCAgICAgICAgICAwLCAgICAgICAgICAwLCAgICAgICAgMCwgICAgIDIwMTIsIDB4 OGE3OGM1ZDIKLTAsICAgICAgICAgIDAsICAgICAgICAgIDAsICAgICAgICAwLCAgICAgMjAxMiwg MHhhNDZmY2UxMQotMCwgICAgICAgICAgMCwgICAgICAgICAgMCwgICAgICAgIDAsICAgICAyMDEy LCAweDRjMTNkOWJjCi0wLCAgICAgICAgICAwLCAgICAgICAgICAwLCAgICAgICAgMCwgICAgIDIw MTIsIDB4N2Y0N2NlNGYKLTAsICAgICAgICAgIDAsICAgICAgICAgIDAsICAgICAgICAwLCAgICAg MjAxMiwgMHhhMDNlYmNhZQotMCwgICAgICAgICAgMCwgICAgICAgICAgMCwgICAgICAgIDAsICAg ICAyMDEyLCAweGY2ZjJiMmM4Ci0wLCAgICAgICAgICAwLCAgICAgICAgICAwLCAgICAgICAgMCwg ICAgIDIwMTIsIDB4Nzk5NWJlMmEKLTAsICAgICAgICAgIDAsICAgICAgICAgIDAsICAgICAgICAw LCAgICAgMjAxMiwgMHgyMmQ3Yjk0YQotMCwgICAgICAgICAgMCwgICAgICAgICAgMCwgICAgICAg IDAsICAgICAyMDEyLCAweDA3YmNjMDZhCi0wLCAgICAgICAgICAwLCAgICAgICAgICAwLCAgICAg ICAgMCwgICAgIDIwMTIsIDB4MDRhZGNiNmQKLTAsICAgICAgICAgIDAsICAgICAgICAgIDAsICAg ICAgICAwLCAgICAgMjAxMiwgMHg0YWVjYzEzNQotMCwgICAgICAgICAgMCwgICAgICAgICAgMCwg ICAgICAgIDAsICAgICAyMDEyLCAweDg0NDJkYzZhCi0wLCAgICAgICAgICAwLCAgICAgICAgICAw LCAgICAgICAgMCwgICAgIDIwMTIsIDB4OWU2N2I4MjYKLTAsICAgICAgICAgIDAsICAgICAgICAg IDAsICAgICAgICAwLCAgICAgMjAxMiwgMHhiMWM0YjIzNQotMCwgICAgICAgICAgMCwgICAgICAg ICAgMCwgICAgICAgIDAsICAgICAyMDEyLCAweDU2NWVjYWFlCi0wLCAgICAgICAgICAwLCAgICAg ICAgICAwLCAgICAgICAgMCwgICAgIDIwMTIsIDB4MzRhMmM4NzcKLTAsICAgICAgICAgIDAsICAg ICAgICAgIDAsICAgICAgICAwLCAgICAgMjAxMiwgMHg4MTVlYjE0OAotMCwgICAgICAgICAgMCwg ICAgICAgICAgMCwgICAgICAgIDAsICAgICAyMDEyLCAweDM1NGViNGNlCi0wLCAgICAgICAgICAw LCAgICAgICAgICAwLCAgICAgICAgMCwgICAgIDIwMTIsIDB4Zjc0ZGI4YjEKLTAsICAgICAgICAg IDAsICAgICAgICAgIDAsICAgICAgICAwLCAgICAgMjAxMiwgMHg1NmYzYjQzMAotMCwgICAgICAg ICAgMCwgICAgICAgICAgMCwgICAgICAgIDAsICAgICAyMDEyLCAweDM5ZjljNzJmCi0wLCAgICAg ICAgICAwLCAgICAgICAgICAwLCAgICAgICAgMCwgICAgIDIwMTIsIDB4ODNkMWJmZGUKLTAsICAg ICAgICAgIDAsICAgICAgICAgIDAsICAgICAgICAwLCAgICAgMjAxMiwgMHgyZGExYmY1NwotMCwg ICAgICAgICAgMCwgICAgICAgICAgMCwgICAgICAgIDAsICAgICAyMDEyLCAweGQ5N2ZjOTMzCi0w LCAgICAgICAgICAwLCAgICAgICAgICAwLCAgICAgICAgMCwgICAgIDIwMTIsIDB4NGIzZWRiZmUK LTAsICAgICAgICAgIDAsICAgICAgICAgIDAsICAgICAgICAwLCAgICAgMjAxMiwgMHhiOTc1ZDM0 NgotMCwgICAgICAgICAgMCwgICAgICAgICAgMCwgICAgICAgIDAsICAgICAyMDEyLCAweDg1NmFj MzA0Ci0wLCAgICAgICAgICAwLCAgICAgICAgICAwLCAgICAgICAgMCwgICAgIDIwMTIsIDB4YjM4 ZGJhMmUKLTAsICAgICAgICAgIDAsICAgICAgICAgIDAsICAgICAgICAwLCAgICAgMjAxMiwgMHhi ZTE0YzgyMgotMCwgICAgICAgICAgMCwgICAgICAgICAgMCwgICAgICAgIDAsICAgICAyMDEyLCAw eGI4NDhjOTI3Ci0wLCAgICAgICAgICAwLCAgICAgICAgICAwLCAgICAgICAgMCwgICAgIDIwMTIs IDB4MGE4OWMwZTYKLTAsICAgICAgICAgIDAsICAgICAgICAgIDAsICAgICAgICAwLCAgICAgMjAx MiwgMHg0NGEzYzNkNQotMCwgICAgICAgICAgMCwgICAgICAgICAgMCwgICAgICAgIDAsICAgICAy MDEyLCAweDdhZjFjMzBjCi0wLCAgICAgICAgICAwLCAgICAgICAgICAwLCAgICAgICAgMCwgICAg IDIwMTIsIDB4ZTkyOGI2MTkKLTAsICAgICAgICAgIDAsICAgICAgICAgIDAsICAgICAgICAwLCAg ICAgMjAxMiwgMHhjOWFlYjAxMgotMCwgICAgICAgICAgMCwgICAgICAgICAgMCwgICAgICAgIDAs ICAgICAyMDEyLCAweGFlMDJjZmRlCi0wLCAgICAgICAgICAwLCAgICAgICAgICAwLCAgICAgICAg MCwgICAgIDIwMTIsIDB4MGI0MmMzZDkKLTAsICAgICAgICAgIDAsICAgICAgICAgIDAsICAgICAg ICAwLCAgICAgMjAxMiwgMHhhNWI3YzFlZAotMCwgICAgICAgICAgMCwgICAgICAgICAgMCwgICAg ICAgIDAsICAgICAyMDEyLCAweGQyZGNiY2RjCi0wLCAgICAgICAgICAwLCAgICAgICAgICAwLCAg ICAgICAgMCwgICAgIDIwMTIsIDB4MThjZmJmNTUKLTAsICAgICAgICAgIDAsICAgICAgICAgIDAs ICAgICAgICAwLCAgICAgMjAxMiwgMHgzNGYwYzgwMAotMCwgICAgICAgICAgMCwgICAgICAgICAg MCwgICAgICAgIDAsICAgICAyMDEyLCAweDJhODBiZGJhCi0wLCAgICAgICAgICAwLCAgICAgICAg ICAwLCAgICAgICAgMCwgICAgIDIwMTIsIDB4NWVmMmIzYTcKLTAsICAgICAgICAgIDAsICAgICAg ICAgIDAsICAgICAgICAwLCAgICAgMjAxMiwgMHgzNWE2YmEzMwotMCwgICAgICAgICAgMCwgICAg ICAgICAgMCwgICAgICAgIDAsICAgICAyMDEyLCAweDEwODhiYmY1Ci0wLCAgICAgICAgICAwLCAg ICAgICAgICAwLCAgICAgICAgMCwgICAgIDIwMTIsIDB4YWVjMGJlZGYKLTAsICAgICAgICAgIDAs ICAgICAgICAgIDAsICAgICAgICAwLCAgICAgMjAxMiwgMHg3NjlmYjUzNQotMCwgICAgICAgICAg MCwgICAgICAgICAgMCwgICAgICAgIDAsICAgICAyMDEyLCAweGZlMTFiOTc5Ci0wLCAgICAgICAg ICAwLCAgICAgICAgICAwLCAgICAgICAgMCwgICAgIDIwMTIsIDB4ZTg1NmIzN2UKLTAsICAgICAg ICAgIDAsICAgICAgICAgIDAsICAgICAgICAwLCAgICAgMjAxMiwgMHgzNmMzY2ZmZAotMCwgICAg ICAgICAgMCwgICAgICAgICAgMCwgICAgICAgIDAsICAgICAyMDEyLCAweDQ3NzFkYjU4Ci0wLCAg ICAgICAgICAwLCAgICAgICAgICAwLCAgICAgICAgMCwgICAgIDIwMTIsIDB4NTQ2N2QxM2UKLTAs ICAgICAgICAgIDAsICAgICAgICAgIDAsICAgICAgICAwLCAgICAgMjAxMiwgMHhiNDA1YzFiNQot MCwgICAgICAgICAgMCwgICAgICAgICAgMCwgICAgICAgIDAsICAgICAyMDEyLCAweDNjYmRjMTQ1 Ci0wLCAgICAgICAgICAwLCAgICAgICAgICAwLCAgICAgICAgMCwgICAgIDIwMTIsIDB4YmI5Y2Nk ZDcKLTAsICAgICAgICAgIDAsICAgICAgICAgIDAsICAgICAgICAwLCAgICAgMjAxMiwgMHhhYzI1 Y2U5ZQotMCwgICAgICAgICAgMCwgICAgICAgICAgMCwgICAgICAgIDAsICAgICAyMDEyLCAweDZk MmFjODJhCi0wLCAgICAgICAgICAwLCAgICAgICAgICAwLCAgICAgICAgMCwgICAgIDIwMTIsIDB4 MTY2MWJhNTAKLTAsICAgICAgICAgIDAsICAgICAgICAgIDAsICAgICAgICAwLCAgICAgMjAxMiwg MHhiYzdhYzgyYQotMCwgICAgICAgICAgMCwgICAgICAgICAgMCwgICAgICAgIDAsICAgICAyMDEy LCAweDAyMGJiNGRlCi0wLCAgICAgICAgICAwLCAgICAgICAgICAwLCAgICAgICAgMCwgICAgIDIw MTIsIDB4NGUxMGNiOTMKLTAsICAgICAgICAgIDAsICAgICAgICAgIDAsICAgICAgICAwLCAgICAg MjAxMiwgMHgzZGFiYzE1ZgotMCwgICAgICAgICAgMCwgICAgICAgICAgMCwgICAgICAgIDAsICAg ICAyMDEyLCAweDEyYWNjNjRiCi0wLCAgICAgICAgICAwLCAgICAgICAgICAwLCAgICAgICAgMCwg ICAgIDIwMTIsIDB4OWNlY2I1MWEKLTAsICAgICAgICAgIDAsICAgICAgICAgIDAsICAgICAgICAw LCAgICAgMjAxMiwgMHg5NTlhY2IzOQotMCwgICAgICAgICAgMCwgICAgICAgICAgMCwgICAgICAg IDAsICAgICAyMDEyLCAweDNlZTdjMGU4Ci0wLCAgICAgICAgICAwLCAgICAgICAgICAwLCAgICAg ICAgMCwgICAgIDIwMTIsIDB4ZGUxOGMxZGYKLTAsICAgICAgICAgIDAsICAgICAgICAgIDAsICAg ICAgICAwLCAgICAgMjAxMiwgMHgzYzcyYzNjZAotMCwgICAgICAgICAgMCwgICAgICAgICAgMCwg ICAgICAgIDAsICAgICAyMDEyLCAweDFhYzRiYjVkCi0wLCAgICAgICAgICAwLCAgICAgICAgICAw LCAgICAgICAgMCwgICAgIDIwMTIsIDB4YjE1NWM3NDEKLTAsICAgICAgICAgIDAsICAgICAgICAg IDAsICAgICAgICAwLCAgICAgMjAxMiwgMHg1MDY5YzhhYQotMCwgICAgICAgICAgMCwgICAgICAg ICAgMCwgICAgICAgIDAsICAgICAyMDEyLCAweDYxMGRiMGJjCi0wLCAgICAgICAgICAwLCAgICAg ICAgICAwLCAgICAgICAgMCwgICAgIDIwMTIsIDB4YjgyYmMzMjkKLTAsICAgICAgICAgIDAsICAg ICAgICAgIDAsICAgICAgICAwLCAgICAgMjAxMiwgMHg4YmQ0YzUyMgotMCwgICAgICAgICAgMCwg ICAgICAgICAgMCwgICAgICAgIDAsICAgICAyMDEyLCAweGQ0NGJiODY1Ci0wLCAgICAgICAgICAw LCAgICAgICAgICAwLCAgICAgICAgMCwgICAgIDIwMTIsIDB4YjUxYWM3ZGMKLTAsICAgICAgICAg IDAsICAgICAgICAgIDAsICAgICAgICAwLCAgICAgMjAxMiwgMHhmZTJiYzc5OQotMCwgICAgICAg ICAgMCwgICAgICAgICAgMCwgICAgICAgIDAsICAgICAyMDEyLCAweDhjZDFiYjUzCi0wLCAgICAg ICAgICAwLCAgICAgICAgICAwLCAgICAgICAgMCwgICAgIDIwMTIsIDB4YmExM2NhOTcKLTAsICAg ICAgICAgIDAsICAgICAgICAgIDAsICAgICAgICAwLCAgICAgMjAxMiwgMHhmMTA3YmQ1MQotMCwg ICAgICAgICAgMCwgICAgICAgICAgMCwgICAgICAgIDAsICAgICAyMDEyLCAweGEwNGVjZTk1Ci0w LCAgICAgICAgICAwLCAgICAgICAgICAwLCAgICAgICAgMCwgICAgIDIwMTIsIDB4NGY0ZmFhNTQK LTAsICAgICAgICAgIDAsICAgICAgICAgIDAsICAgICAgICAwLCAgICAgMjAxMiwgMHg1YTc0YmZl MQotMCwgICAgICAgICAgMCwgICAgICAgICAgMCwgICAgICAgIDAsICAgICAyMDEyLCAweGRhZmFk ZTViCi0wLCAgICAgICAgICAwLCAgICAgICAgICAwLCAgICAgICAgMCwgICAgIDIwMTIsIDB4NzM4 ZmJhNTEKLTAsICAgICAgICAgIDAsICAgICAgICAgIDAsICAgICAgICAwLCAgICAgMjAxMiwgMHhl N2IyYjc4ZQotMCwgICAgICAgICAgMCwgICAgICAgICAgMCwgICAgICAgIDAsICAgICAyMDEyLCAw eDc2ODViNmNlCi0wLCAgICAgICAgICAwLCAgICAgICAgICAwLCAgICAgICAgMCwgICAgIDIwMTIs IDB4YWU0NWJkOGEKLTAsICAgICAgICAgIDAsICAgICAgICAgIDAsICAgICAgICAwLCAgICAgMjAx MiwgMHhkNTJjYzg0ZQotMCwgICAgICAgICAgMCwgICAgICAgICAgMCwgICAgICAgIDAsICAgICAy MDEyLCAweDA0YWJkNzczCi0wLCAgICAgICAgICAwLCAgICAgICAgICAwLCAgICAgICAgMCwgICAg IDIwMTIsIDB4MmJhZGIwZmYKLTAsICAgICAgICAgIDAsICAgICAgICAgIDAsICAgICAgICAwLCAg ICAgMjAxMiwgMHgwZWFlYzZiMgotMCwgICAgICAgICAgMCwgICAgICAgICAgMCwgICAgICAgIDAs ICAgICAyMDEyLCAweDdjMWVjMzNmCi0wLCAgICAgICAgICAwLCAgICAgICAgICAwLCAgICAgICAg MCwgICAgIDIwMTIsIDB4ODc3M2I5MjUKLTAsICAgICAgICAgIDAsICAgICAgICAgIDAsICAgICAg ICAwLCAgICAgMjAxMiwgMHg0MGJiYzM2ZAotMCwgICAgICAgICAgMCwgICAgICAgICAgMCwgICAg ICAgIDAsICAgICAyMDEyLCAweDMzMGJjMjg4Ci0wLCAgICAgICAgICAwLCAgICAgICAgICAwLCAg ICAgICAgMCwgICAgIDIwMTIsIDB4MTY1OWI2ZjUKLTAsICAgICAgICAgIDAsICAgICAgICAgIDAs ICAgICAgICAwLCAgICAgMjAxMiwgMHg2NmVhYzE2MgotMCwgICAgICAgICAgMCwgICAgICAgICAg MCwgICAgICAgIDAsICAgICAyMDEyLCAweGYzYWNkYjNkCi0wLCAgICAgICAgICAwLCAgICAgICAg ICAwLCAgICAgICAgMCwgICAgIDIwMTIsIDB4NDY1YWJiODcKLTAsICAgICAgICAgIDAsICAgICAg ICAgIDAsICAgICAgICAwLCAgICAgMjAxMiwgMHhlOGU5YmMxNgotMCwgICAgICAgICAgMCwgICAg ICAgICAgMCwgICAgICAgIDAsICAgICAyMDEyLCAweDcxZWViYmQ5Ci0wLCAgICAgICAgICAwLCAg ICAgICAgICAwLCAgICAgICAgMCwgICAgIDIwMTIsIDB4MWY1OWNiMmEKLTAsICAgICAgICAgIDAs ICAgICAgICAgIDAsICAgICAgICAwLCAgICAgMjAxMiwgMHg1M2UzYzllNwotMCwgICAgICAgICAg MCwgICAgICAgICAgMCwgICAgICAgIDAsICAgICAyMDEyLCAweGY0MTBiOTM5Ci0wLCAgICAgICAg ICAwLCAgICAgICAgICAwLCAgICAgICAgMCwgICAgIDIwMTIsIDB4ZGIxM2QxYjMKLTAsICAgICAg ICAgIDAsICAgICAgICAgIDAsICAgICAgICAwLCAgICAgMjAxMiwgMHhjZDI2YmYyNwotMCwgICAg ICAgICAgMCwgICAgICAgICAgMCwgICAgICAgIDAsICAgICAyMDEyLCAweDcwN2VjYzljCi0wLCAg ICAgICAgICAwLCAgICAgICAgICAwLCAgICAgICAgMCwgICAgIDIwMTIsIDB4MzQ4M2I2YmYKLTAs ICAgICAgICAgIDAsICAgICAgICAgIDAsICAgICAgICAwLCAgICAgMjAxMiwgMHg0MTg0ZDQ1MQot MCwgICAgICAgICAgMCwgICAgICAgICAgMCwgICAgICAgIDAsICAgICAyMDEyLCAweGNmNmFiZmFl Ci0wLCAgICAgICAgICAwLCAgICAgICAgICAwLCAgICAgICAgMCwgICAgIDIwMTIsIDB4NWM5ZWI0 Y2EKLTAsICAgICAgICAgIDAsICAgICAgICAgIDAsICAgICAgICAwLCAgICAgMjAxMiwgMHhmMzk2 YmUwMQotMCwgICAgICAgICAgMCwgICAgICAgICAgMCwgICAgICAgIDAsICAgICAyMDEyLCAweDA2 YmZkYTM4Ci0wLCAgICAgICAgICAwLCAgICAgICAgICAwLCAgICAgICAgMCwgICAgIDIwMTIsIDB4 MGU5MmJjZjQKLTAsICAgICAgICAgIDAsICAgICAgICAgIDAsICAgICAgICAwLCAgICAgMjAxMiwg MHhhYWEyYjk5ZAotMCwgICAgICAgICAgMCwgICAgICAgICAgMCwgICAgICAgIDAsICAgICAyMDEy LCAweGYxMTJhOWE5Ci0wLCAgICAgICAgICAwLCAgICAgICAgICAwLCAgICAgICAgMCwgICAgIDIw MTIsIDB4Mjg0NGJkZjEKLTAsICAgICAgICAgIDAsICAgICAgICAgIDAsICAgICAgICAwLCAgICAg MjAxMiwgMHhiOTZiYWYzOQotMCwgICAgICAgICAgMCwgICAgICAgICAgMCwgICAgICAgIDAsICAg ICAyMDEyLCAweGQ0ZjJkMTU3Ci0wLCAgICAgICAgICAwLCAgICAgICAgICAwLCAgICAgICAgMCwg ICAgIDIwMTIsIDB4N2M3NGIxNDkKLTAsICAgICAgICAgIDAsICAgICAgICAgIDAsICAgICAgICAw LCAgICAgMjAxMiwgMHhiZDQzZDVmMgotMCwgICAgICAgICAgMCwgICAgICAgICAgMCwgICAgICAg IDAsICAgICAyMDEyLCAweGFhMTBiMmJhCi0wLCAgICAgICAgICAwLCAgICAgICAgICAwLCAgICAg ICAgMCwgICAgIDIwMTIsIDB4NjZlOWI5NWYKLTAsICAgICAgICAgIDAsICAgICAgICAgIDAsICAg ICAgICAwLCAgICAgMjAxMiwgMHg2ZjAxYWJlZgotMCwgICAgICAgICAgMCwgICAgICAgICAgMCwg ICAgICAgIDAsICAgICAyMDEyLCAweDFjYjVjNjY0Ci0wLCAgICAgICAgICAwLCAgICAgICAgICAw LCAgICAgICAgMCwgICAgIDIwMTIsIDB4NWVlMmFmYzUKLTAsICAgICAgICAgIDAsICAgICAgICAg IDAsICAgICAgICAwLCAgICAgMjAxMiwgMHhlYjM5ZDIxMwotMCwgICAgICAgICAgMCwgICAgICAg ICAgMCwgICAgICAgIDAsICAgICAyMDEyLCAweDFmZmVhYWZjCi0wLCAgICAgICAgICAwLCAgICAg ICAgICAwLCAgICAgICAgMCwgICAgIDIwMTIsIDB4NmJiNGQ1NDgKLTAsICAgICAgICAgIDAsICAg ICAgICAgIDAsICAgICAgICAwLCAgICAgMjAxMiwgMHhhMDQ1YjIzYQotMCwgICAgICAgICAgMCwg ICAgICAgICAgMCwgICAgICAgIDAsICAgICAyMDEyLCAweDE3YzNhYTQ5Ci0wLCAgICAgICAgICAw LCAgICAgICAgICAwLCAgICAgICAgMCwgICAgIDIwMTIsIDB4MmQ0N2RiN2MKLTAsICAgICAgICAg IDAsICAgICAgICAgIDAsICAgICAgICAwLCAgICAgMjAxMiwgMHgwN2RkYzlhYwotMCwgICAgICAg ICAgMCwgICAgICAgICAgMCwgICAgICAgIDAsICAgICAyMDEyLCAweGEzODZjOTllCi0wLCAgICAg ICAgICAwLCAgICAgICAgICAwLCAgICAgICAgMCwgICAgIDIwMTIsIDB4MGUwYmFlOGEKLTAsICAg ICAgICAgIDAsICAgICAgICAgIDAsICAgICAgICAwLCAgICAgMjAxMiwgMHg3ZDZmYzQxOQotMCwg ICAgICAgICAgMCwgICAgICAgICAgMCwgICAgICAgIDAsICAgICAyMDEyLCAweDM0YTNjNWEyCi0w LCAgICAgICAgICAwLCAgICAgICAgICAwLCAgICAgICAgMCwgICAgIDIwMTIsIDB4ZGE4MWM4ZTkK LTAsICAgICAgICAgIDAsICAgICAgICAgIDAsICAgICAgICAwLCAgICAgMjAxMiwgMHhkZTUzYmNk OAotMCwgICAgICAgICAgMCwgICAgICAgICAgMCwgICAgICAgIDAsICAgICAyMDEyLCAweDM3MmFj MDY1Ci0wLCAgICAgICAgICAwLCAgICAgICAgICAwLCAgICAgICAgMCwgICAgIDIwMTIsIDB4NmQw N2E5NWMKLTAsICAgICAgICAgIDAsICAgICAgICAgIDAsICAgICAgICAwLCAgICAgMjAxMiwgMHgy OTZlYjQ3ZgotMCwgICAgICAgICAgMCwgICAgICAgICAgMCwgICAgICAgIDAsICAgICAyMDEyLCAw eDBmNDdiZTJhCi0wLCAgICAgICAgICAwLCAgICAgICAgICAwLCAgICAgICAgMCwgICAgIDIwMTIs IDB4Mzg5ZWJhZjYKLTAsICAgICAgICAgIDAsICAgICAgICAgIDAsICAgICAgICAwLCAgICAgMjAx MiwgMHg5NzQ2YmEzYgotMCwgICAgICAgICAgMCwgICAgICAgICAgMCwgICAgICAgIDAsICAgICAy MDEyLCAweDA3MGU5YWVkCi0wLCAgICAgICAgICAwLCAgICAgICAgICAwLCAgICAgICAgMCwgICAg IDIwMTIsIDB4YTRhYmM3OTgKLTAsICAgICAgICAgIDAsICAgICAgICAgIDAsICAgICAgICAwLCAg ICAgMjAxMiwgMHhlNTVjYWM3YgotMCwgICAgICAgICAgMCwgICAgICAgICAgMCwgICAgICAgIDAs ICAgICAyMDEyLCAweDBjNzFiYTQ1Ci0wLCAgICAgICAgICAwLCAgICAgICAgICAwLCAgICAgICAg MCwgICAgIDIwMTIsIDB4NzBmYmIzYzUKLTAsICAgICAgICAgIDAsICAgICAgICAgIDAsICAgICAg ICAwLCAgICAgMjAxMiwgMHhhMzVlYzMwYQotMCwgICAgICAgICAgMCwgICAgICAgICAgMCwgICAg ICAgIDAsICAgICAyMDEyLCAweGYzMGFiOTM1Ci0wLCAgICAgICAgICAwLCAgICAgICAgICAwLCAg ICAgICAgMCwgICAgIDIwMTIsIDB4MmNiYjliOTkKLTAsICAgICAgICAgIDAsICAgICAgICAgIDAs ICAgICAgICAwLCAgICAgMjAxMiwgMHg2NjA2YzFiZgotMCwgICAgICAgICAgMCwgICAgICAgICAg MCwgICAgICAgIDAsICAgICAyMDEyLCAweDQxY2NhZDVjCi0wLCAgICAgICAgICAwLCAgICAgICAg ICAwLCAgICAgICAgMCwgICAgIDIwMTIsIDB4MzUyZmMwMDIKLTAsICAgICAgICAgIDAsICAgICAg ICAgIDAsICAgICAgICAwLCAgICAgMjAxMiwgMHgxNzYzYmQxMAotMCwgICAgICAgICAgMCwgICAg ICAgICAgMCwgICAgICAgIDAsICAgICAyMDEyLCAweGI1NGJjYWU2Ci0wLCAgICAgICAgICAwLCAg ICAgICAgICAwLCAgICAgICAgMCwgICAgIDIwMTIsIDB4NzM3NGFiOTIKLTAsICAgICAgICAgIDAs ICAgICAgICAgIDAsICAgICAgICAwLCAgICAgMjAxMiwgMHgyODk1YTk5YQotMCwgICAgICAgICAg MCwgICAgICAgICAgMCwgICAgICAgIDAsICAgICAyMDEyLCAweDlmNjhiMDJmCi0wLCAgICAgICAg ICAwLCAgICAgICAgICAwLCAgICAgICAgMCwgICAgIDIwMTIsIDB4ZGZhYmJiNzYKLTAsICAgICAg ICAgIDAsICAgICAgICAgIDAsICAgICAgICAwLCAgICAgMjAxMiwgMHg3NjRlYTZjNQotMCwgICAg ICAgICAgMCwgICAgICAgICAgMCwgICAgICAgIDAsICAgICAyMDEyLCAweDRlODNjNWE1Ci0wLCAg ICAgICAgICAwLCAgICAgICAgICAwLCAgICAgICAgMCwgICAgIDIwMTIsIDB4ZjBlOGM3NmEKLTAs ICAgICAgICAgIDAsICAgICAgICAgIDAsICAgICAgICAwLCAgICAgMjAxMiwgMHhkYzgwYjRlYQot MCwgICAgICAgICAgMCwgICAgICAgICAgMCwgICAgICAgIDAsICAgICAyMDEyLCAweGNjNTNiMGE1 Ci0wLCAgICAgICAgICAwLCAgICAgICAgICAwLCAgICAgICAgMCwgICAgIDIwMTIsIDB4Nzg5M2Jj N2YKLTAsICAgICAgICAgIDAsICAgICAgICAgIDAsICAgICAgICAwLCAgICAgMjAxMiwgMHg2OTY1 YjM1NQotMCwgICAgICAgICAgMCwgICAgICAgICAgMCwgICAgICAgIDAsICAgICAyMDEyLCAweDdm OGZhYzAwCi0wLCAgICAgICAgICAwLCAgICAgICAgICAwLCAgICAgICAgMCwgICAgIDIwMTIsIDB4 NmM3MWM3YjgKLTAsICAgICAgICAgIDAsICAgICAgICAgIDAsICAgICAgICAwLCAgICAgMjAxMiwg MHhhMDBlYzM2NwotMCwgICAgICAgICAgMCwgICAgICAgICAgMCwgICAgICAgIDAsICAgICAyMDEy LCAweDVmMGZjNTBlCi0wLCAgICAgICAgICAwLCAgICAgICAgICAwLCAgICAgICAgMCwgICAgIDIw MTIsIDB4MWJkMmFkODcKLTAsICAgICAgICAgIDAsICAgICAgICAgIDAsICAgICAgICAwLCAgICAg MjAxMiwgMHhkMDU0YmEyZAotMCwgICAgICAgICAgMCwgICAgICAgICAgMCwgICAgICAgIDAsICAg ICAyMDEyLCAweGFmODBhMGQ1Ci0wLCAgICAgICAgICAwLCAgICAgICAgICAwLCAgICAgICAgMCwg ICAgIDIwMTIsIDB4MmFjYWM4NzMKLTAsICAgICAgICAgIDAsICAgICAgICAgIDAsICAgICAgICAw LCAgICAgMjAxMiwgMHgyNjBjYTU4NAotMCwgICAgICAgICAgMCwgICAgICAgICAgMCwgICAgICAg IDAsICAgICAyMDEyLCAweDRmOThhYTdjCi0wLCAgICAgICAgICAwLCAgICAgICAgICAwLCAgICAg ICAgMCwgICAgIDIwMTIsIDB4MDI1NGFhMzYKLTAsICAgICAgICAgIDAsICAgICAgICAgIDAsICAg ICAgICAwLCAgICAgMjAxMiwgMHhlM2M3YzMzYQotMCwgICAgICAgICAgMCwgICAgICAgICAgMCwg ICAgICAgIDAsICAgICAyMDEyLCAweDNiOWVhNzBmCi0wLCAgICAgICAgICAwLCAgICAgICAgICAw LCAgICAgICAgMCwgICAgIDIwMTIsIDB4ZTgyOWI3ZTYKLTAsICAgICAgICAgIDAsICAgICAgICAg IDAsICAgICAgICAwLCAgICAgMjAxMiwgMHg5MzE3YThkMQotMCwgICAgICAgICAgMCwgICAgICAg ICAgMCwgICAgICAgIDAsICAgICAyMDEyLCAweDg4YjNhOThmCi0wLCAgICAgICAgICAwLCAgICAg ICAgICAwLCAgICAgICAgMCwgICAgIDIwMTIsIDB4YTRhOGMzYmMKLTAsICAgICAgICAgIDAsICAg ICAgICAgIDAsICAgICAgICAwLCAgICAgMjAxMiwgMHg5NWM5YTg2OQotMCwgICAgICAgICAgMCwg ICAgICAgICAgMCwgICAgICAgIDAsICAgICAyMDEyLCAweDdmODg5ZmVkCi0wLCAgICAgICAgICAw LCAgICAgICAgICAwLCAgICAgICAgMCwgICAgIDIwMTIsIDB4NTQzOGM0MDgKLTAsICAgICAgICAg IDAsICAgICAgICAgIDAsICAgICAgICAwLCAgICAgMjAxMiwgMHgzNDU1YTM2NgotMCwgICAgICAg ICAgMCwgICAgICAgICAgMCwgICAgICAgIDAsICAgICAyMDEyLCAweDUzMTliMzNkCi0wLCAgICAg ICAgICAwLCAgICAgICAgICAwLCAgICAgICAgMCwgICAgIDIwMTIsIDB4YjE5ZGM0ZjAKLTAsICAg ICAgICAgIDAsICAgICAgICAgIDAsICAgICAgICAwLCAgICAgMjAxMiwgMHhmMDgwYjEwOQotMCwg ICAgICAgICAgMCwgICAgICAgICAgMCwgICAgICAgIDAsICAgICAyMDEyLCAweGVmODNkOGU3Ci0w LCAgICAgICAgICAwLCAgICAgICAgICAwLCAgICAgICAgMCwgICAgIDIwMTIsIDB4MjM3YWM2OWMK LTAsICAgICAgICAgIDAsICAgICAgICAgIDAsICAgICAgICAwLCAgICAgMjAxMiwgMHhiYjMwYjcx NAotMCwgICAgICAgICAgMCwgICAgICAgICAgMCwgICAgICAgIDAsICAgICAyMDEyLCAweDg3NDVi YTU0Ci0wLCAgICAgICAgICAwLCAgICAgICAgICAwLCAgICAgICAgMCwgICAgIDIwMTIsIDB4ODU4 OGJkNmMKLTAsICAgICAgICAgIDAsICAgICAgICAgIDAsICAgICAgICAwLCAgICAgMjAxMiwgMHhj NTgwYmRkZQotMCwgICAgICAgICAgMCwgICAgICAgICAgMCwgICAgICAgIDAsICAgICAyMDEyLCAw eGIwNjJiYWYxCi0wLCAgICAgICAgICAwLCAgICAgICAgICAwLCAgICAgICAgMCwgICAgIDIwMTIs IDB4ZTAxNGIwODIKLTAsICAgICAgICAgIDAsICAgICAgICAgIDAsICAgICAgICAwLCAgICAgMjAx MiwgMHgxNDhiY2I4NwotMCwgICAgICAgICAgMCwgICAgICAgICAgMCwgICAgICAgIDAsICAgICAy MDEyLCAweDU1NGJjMTNkCi0wLCAgICAgICAgICAwLCAgICAgICAgICAwLCAgICAgICAgMCwgICAg IDIwMTIsIDB4YzQxMGMyNzAKLTAsICAgICAgICAgIDAsICAgICAgICAgIDAsICAgICAgICAwLCAg ICAgMjAxMiwgMHhiMmM4YjY1YgotMCwgICAgICAgICAgMCwgICAgICAgICAgMCwgICAgICAgIDAs ICAgICAyMDEyLCAweGE0MTJiM2Y0Ci0wLCAgICAgICAgICAwLCAgICAgICAgICAwLCAgICAgICAg MCwgICAgIDIwMTIsIDB4YmI1MmFhOWEKLTAsICAgICAgICAgIDAsICAgICAgICAgIDAsICAgICAg ICAwLCAgICAgMjAxMiwgMHg0MDA1YjUyNwotMCwgICAgICAgICAgMCwgICAgICAgICAgMCwgICAg ICAgIDAsICAgICAyMDEyLCAweDhjNWViMDU1Ci0wLCAgICAgICAgICAwLCAgICAgICAgICAwLCAg ICAgICAgMCwgICAgIDIwMTIsIDB4ODYyMmMxNDIKLTAsICAgICAgICAgIDAsICAgICAgICAgIDAs ICAgICAgICAwLCAgICAgMjAxMiwgMHgwNWEzYjg2MQotMCwgICAgICAgICAgMCwgICAgICAgICAg MCwgICAgICAgIDAsICAgICAyMDEyLCAweDlmNmRiYjRkCi0wLCAgICAgICAgICAwLCAgICAgICAg ICAwLCAgICAgICAgMCwgICAgIDIwMTIsIDB4MDMzZmI4NjcKLTAsICAgICAgICAgIDAsICAgICAg ICAgIDAsICAgICAgICAwLCAgICAgMjAxMiwgMHgyNDNiYWJkNQotMCwgICAgICAgICAgMCwgICAg ICAgICAgMCwgICAgICAgIDAsICAgICAyMDEyLCAweDhkNmRiODNjCi0wLCAgICAgICAgICAwLCAg ICAgICAgICAwLCAgICAgICAgMCwgICAgIDIwMTIsIDB4MzkyM2I4MjkKLTAsICAgICAgICAgIDAs ICAgICAgICAgIDAsICAgICAgICAwLCAgICAgMjAxMiwgMHg2OWI2YjU4NwotMCwgICAgICAgICAg MCwgICAgICAgICAgMCwgICAgICAgIDAsICAgICAyMDEyLCAweGRkYThkMDE4Ci0wLCAgICAgICAg ICAwLCAgICAgICAgICAwLCAgICAgICAgMCwgICAgIDIwMTIsIDB4NTRiMWIyYTQKLTAsICAgICAg ICAgIDAsICAgICAgICAgIDAsICAgICAgICAwLCAgICAgMjAxMiwgMHgzODBlYjFhZgotMCwgICAg ICAgICAgMCwgICAgICAgICAgMCwgICAgICAgIDAsICAgICAyMDEyLCAweGVjM2NiZGI0Ci0wLCAg ICAgICAgICAwLCAgICAgICAgICAwLCAgICAgICAgMCwgICAgIDIwMTIsIDB4N2NlOWI0Y2YKLTAs ICAgICAgICAgIDAsICAgICAgICAgIDAsICAgICAgICAwLCAgICAgMjAxMiwgMHhjZjZjYjk5Ygot MCwgICAgICAgICAgMCwgICAgICAgICAgMCwgICAgICAgIDAsICAgICAyMDEyLCAweDczODNhYjk3 Ci0wLCAgICAgICAgICAwLCAgICAgICAgICAwLCAgICAgICAgMCwgICAgIDIwMTIsIDB4YWE0Y2Mw NjgKLTAsICAgICAgICAgIDAsICAgICAgICAgIDAsICAgICAgICAwLCAgICAgMjAxMiwgMHg5NmQ0 YzNkYgotMCwgICAgICAgICAgMCwgICAgICAgICAgMCwgICAgICAgIDAsICAgICAyMDEyLCAweGFi OGNiODRmCi0wLCAgICAgICAgICAwLCAgICAgICAgICAwLCAgICAgICAgMCwgICAgIDIwMTIsIDB4 NzNkY2FjZjkKLTAsICAgICAgICAgIDAsICAgICAgICAgIDAsICAgICAgICAwLCAgICAgMjAxMiwg MHhmNjFjYTEyMgotMCwgICAgICAgICAgMCwgICAgICAgICAgMCwgICAgICAgIDAsICAgICAyMDEy LCAweDlmMWNiZDViCi0wLCAgICAgICAgICAwLCAgICAgICAgICAwLCAgICAgICAgMCwgICAgIDIw MTIsIDB4MWY4NGFhM2YKLTAsICAgICAgICAgIDAsICAgICAgICAgIDAsICAgICAgICAwLCAgICAg MjAxMiwgMHhhMDAzYWQ0MwotMCwgICAgICAgICAgMCwgICAgICAgICAgMCwgICAgICAgIDAsICAg ICAyMDEyLCAweDZjZmZhNGVmCi0wLCAgICAgICAgICAwLCAgICAgICAgICAwLCAgICAgICAgMCwg ICAgIDIwMTIsIDB4Mjk1NTllMWUKLTAsICAgICAgICAgIDAsICAgICAgICAgIDAsICAgICAgICAw LCAgICAgMjAxMiwgMHg3YTc5YjA1OQotMCwgICAgICAgICAgMCwgICAgICAgICAgMCwgICAgICAg IDAsICAgICAyMDEyLCAweGExOTI5YzQyCi0wLCAgICAgICAgICAwLCAgICAgICAgICAwLCAgICAg ICAgMCwgICAgIDIwMTIsIDB4NTJkZWFkMWMKLTAsICAgICAgICAgIDAsICAgICAgICAgIDAsICAg ICAgICAwLCAgICAgMjAxMiwgMHg4ZjMxYjlmNQotMCwgICAgICAgICAgMCwgICAgICAgICAgMCwg ICAgICAgIDAsICAgICAyMDEyLCAweGI4YTg5OWVjCi0wLCAgICAgICAgICAwLCAgICAgICAgICAw LCAgICAgICAgMCwgICAgIDIwMTIsIDB4N2NhNGIwMmQKLTAsICAgICAgICAgIDAsICAgICAgICAg IDAsICAgICAgICAwLCAgICAgMjAxMiwgMHgyYzkyYWUxYgotMCwgICAgICAgICAgMCwgICAgICAg ICAgMCwgICAgICAgIDAsICAgICAyMDEyLCAweGU2ODNhOTJmCi0wLCAgICAgICAgICAwLCAgICAg ICAgICAwLCAgICAgICAgMCwgICAgIDIwMTIsIDB4ZTlkNWFiY2YKLTAsICAgICAgICAgIDAsICAg ICAgICAgIDAsICAgICAgICAwLCAgICAgMjAxMiwgMHg3NTdkYjM3NwotMCwgICAgICAgICAgMCwg ICAgICAgICAgMCwgICAgICAgIDAsICAgICAyMDEyLCAweGQ0YThiYmFlCi0wLCAgICAgICAgICAw LCAgICAgICAgICAwLCAgICAgICAgMCwgICAgIDIwMTIsIDB4ZWVhNWM0ZWUKLTAsICAgICAgICAg IDAsICAgICAgICAgIDAsICAgICAgICAwLCAgICAgMjAxMiwgMHhjMzdjYTlhOQotMCwgICAgICAg ICAgMCwgICAgICAgICAgMCwgICAgICAgIDAsICAgICAyMDEyLCAweDg4NzFiYjUxCi0wLCAgICAg ICAgICAwLCAgICAgICAgICAwLCAgICAgICAgMCwgICAgIDIwMTIsIDB4NWRkOGIzYTIKLTAsICAg ICAgICAgIDAsICAgICAgICAgIDAsICAgICAgICAwLCAgICAgMjAxMiwgMHhlZjBmYWU3ZgotMCwg ICAgICAgICAgMCwgICAgICAgICAgMCwgICAgICAgIDAsICAgICAyMDEyLCAweGU3ZWNiMjNlCi0w LCAgICAgICAgICAwLCAgICAgICAgICAwLCAgICAgICAgMCwgICAgIDIwMTIsIDB4YzRmNmQ0MzcK LTAsICAgICAgICAgIDAsICAgICAgICAgIDAsICAgICAgICAwLCAgICAgMjAxMiwgMHgwYzc0Yjgx ZAotMCwgICAgICAgICAgMCwgICAgICAgICAgMCwgICAgICAgIDAsICAgICAyMDEyLCAweGVlNjhi MWVlCi0wLCAgICAgICAgICAwLCAgICAgICAgICAwLCAgICAgICAgMCwgICAgIDIwMTIsIDB4NDZi NGI0YTgKLTAsICAgICAgICAgIDAsICAgICAgICAgIDAsICAgICAgICAwLCAgICAgMjAxMiwgMHgw NTI2YWJjYQotMCwgICAgICAgICAgMCwgICAgICAgICAgMCwgICAgICAgIDAsICAgICAyMDEyLCAw eDc2OTViYTU1Ci0wLCAgICAgICAgICAwLCAgICAgICAgICAwLCAgICAgICAgMCwgICAgIDIwMTIs IDB4YzdmNWFkOTAKLTAsICAgICAgICAgIDAsICAgICAgICAgIDAsICAgICAgICAwLCAgICAgMjAx MiwgMHgwNTIyYjliYwotMCwgICAgICAgICAgMCwgICAgICAgICAgMCwgICAgICAgIDAsICAgICAy MDEyLCAweDBlZWZjNmFkCi0wLCAgICAgICAgICAwLCAgICAgICAgICAwLCAgICAgICAgMCwgICAg IDIwMTIsIDB4MzQwZGFlMTYKLTAsICAgICAgICAgIDAsICAgICAgICAgIDAsICAgICAgICAwLCAg ICAgMjAxMiwgMHhlYTQyYmRjMAotMCwgICAgICAgICAgMCwgICAgICAgICAgMCwgICAgICAgIDAs ICAgICAyMDEyLCAweGUwNDdhYmI2Ci0wLCAgICAgICAgICAwLCAgICAgICAgICAwLCAgICAgICAg MCwgICAgIDIwMTIsIDB4NmRhNWMxNGYKLTAsICAgICAgICAgIDAsICAgICAgICAgIDAsICAgICAg ICAwLCAgICAgMjAxMiwgMHg0NmQ4YzExZAotMCwgICAgICAgICAgMCwgICAgICAgICAgMCwgICAg ICAgIDAsICAgICAyMDEyLCAweDhmNGQ5ZjJmCi0wLCAgICAgICAgICAwLCAgICAgICAgICAwLCAg ICAgICAgMCwgICAgIDIwMTIsIDB4NmQwMGQyNmMKLTAsICAgICAgICAgIDAsICAgICAgICAgIDAs ICAgICAgICAwLCAgICAgMjAxMiwgMHg4N2ZjOWQxYgotMCwgICAgICAgICAgMCwgICAgICAgICAg MCwgICAgICAgIDAsICAgICAyMDEyLCAweGJiYTViNzYzCi0wLCAgICAgICAgICAwLCAgICAgICAg ICAwLCAgICAgICAgMCwgICAgIDIwMTIsIDB4YWI1OGI4NTMKLTAsICAgICAgICAgIDAsICAgICAg ICAgIDAsICAgICAgICAwLCAgICAgMjAxMiwgMHg4MTgwYjg2MwotMCwgICAgICAgICAgMCwgICAg ICAgICAgMCwgICAgICAgIDAsICAgICAyMDEyLCAweDM2ODRiM2JhCi0wLCAgICAgICAgICAwLCAg ICAgICAgICAwLCAgICAgICAgMCwgICAgIDIwMTIsIDB4ZjFhNGE4MDYKLTAsICAgICAgICAgIDAs ICAgICAgICAgIDAsICAgICAgICAwLCAgICAgMjAxMiwgMHgyODI2YjQ4YwotMCwgICAgICAgICAg MCwgICAgICAgICAgMCwgICAgICAgIDAsICAgICAyMDEyLCAweDE4ODNhZjdmCi0wLCAgICAgICAg ICAwLCAgICAgICAgICAwLCAgICAgICAgMCwgICAgIDIwMTIsIDB4NDRjNWMzN2EKLTAsICAgICAg ICAgIDAsICAgICAgICAgIDAsICAgICAgICAwLCAgICAgMjAxMiwgMHhlYzMzYzNmMQotMCwgICAg ICAgICAgMCwgICAgICAgICAgMCwgICAgICAgIDAsICAgICAyMDEyLCAweGQ2N2ZiNzY3Ci0wLCAg ICAgICAgICAwLCAgICAgICAgICAwLCAgICAgICAgMCwgICAgIDIwMTIsIDB4MDNjMmMyMTkKLTAs ICAgICAgICAgIDAsICAgICAgICAgIDAsICAgICAgICAwLCAgICAgMjAxMiwgMHg3NWE5YjM4OQot MCwgICAgICAgICAgMCwgICAgICAgICAgMCwgICAgICAgIDAsICAgICAyMDEyLCAweGUwNDFhZDg4 Ci0wLCAgICAgICAgICAwLCAgICAgICAgICAwLCAgICAgICAgMCwgICAgIDIwMTIsIDB4NmJjY2Iw MDUKLTAsICAgICAgICAgIDAsICAgICAgICAgIDAsICAgICAgICAwLCAgICAgMjAxMiwgMHhkODgx YzI0YQotMCwgICAgICAgICAgMCwgICAgICAgICAgMCwgICAgICAgIDAsICAgICAyMDEyLCAweDdk ZDBjMzAyCi0wLCAgICAgICAgICAwLCAgICAgICAgICAwLCAgICAgICAgMCwgICAgIDIwMTIsIDB4 MmJhOGE2NDkKLTAsICAgICAgICAgIDAsICAgICAgICAgIDAsICAgICAgICAwLCAgICAgMjAxMiwg MHg2M2UxOWVhYgotMCwgICAgICAgICAgMCwgICAgICAgICAgMCwgICAgICAgIDAsICAgICAyMDEy LCAweDFjMGRhZmNlCi0wLCAgICAgICAgICAwLCAgICAgICAgICAwLCAgICAgICAgMCwgICAgIDIw MTIsIDB4ZjI2NmJmNDcKLTAsICAgICAgICAgIDAsICAgICAgICAgIDAsICAgICAgICAwLCAgICAg MjAxMiwgMHgxMWJlYjRiMQotMCwgICAgICAgICAgMCwgICAgICAgICAgMCwgICAgICAgIDAsICAg ICAyMDEyLCAweGM2ZjZiMmI1Ci0wLCAgICAgICAgICAwLCAgICAgICAgICAwLCAgICAgICAgMCwg ICAgIDIwMTIsIDB4MTVkNGI0ZDAKLTAsICAgICAgICAgIDAsICAgICAgICAgIDAsICAgICAgICAw LCAgICAgMjAxMiwgMHgwOGJmYTFlNwotMCwgICAgICAgICAgMCwgICAgICAgICAgMCwgICAgICAg IDAsICAgICAyMDEyLCAweDE4ZGJiN2I1Ci0wLCAgICAgICAgICAwLCAgICAgICAgICAwLCAgICAg ICAgMCwgICAgIDIwMTIsIDB4YzI3OWNjNjcKLTAsICAgICAgICAgIDAsICAgICAgICAgIDAsICAg ICAgICAwLCAgICAgMjAxMiwgMHhkMjM2YmYyOAotMCwgICAgICAgICAgMCwgICAgICAgICAgMCwg ICAgICAgIDAsICAgICAyMDEyLCAweGM5ZDFiMTk2Ci0wLCAgICAgICAgICAwLCAgICAgICAgICAw LCAgICAgICAgMCwgICAgIDIwMTIsIDB4YjYwNTk4M2UKLTAsICAgICAgICAgIDAsICAgICAgICAg IDAsICAgICAgICAwLCAgICAgMjAxMiwgMHg4MTMyYzU2NgotMCwgICAgICAgICAgMCwgICAgICAg ICAgMCwgICAgICAgIDAsICAgICAyMDEyLCAweDZiZTRjZDM5Ci0wLCAgICAgICAgICAwLCAgICAg ICAgICAwLCAgICAgICAgMCwgICAgIDIwMTIsIDB4Y2U1M2MxZjkKLTAsICAgICAgICAgIDAsICAg ICAgICAgIDAsICAgICAgICAwLCAgICAgMjAxMiwgMHhlMWVmYWMwZgotMCwgICAgICAgICAgMCwg ICAgICAgICAgMCwgICAgICAgIDAsICAgICAyMDEyLCAweDNkNjBhNTdhCi0wLCAgICAgICAgICAw LCAgICAgICAgICAwLCAgICAgICAgMCwgICAgIDIwMTIsIDB4MWJlZGE0YjcKLTAsICAgICAgICAg IDAsICAgICAgICAgIDAsICAgICAgICAwLCAgICAgMjAxMiwgMHgzNGE0YWM4MQotMCwgICAgICAg ICAgMCwgICAgICAgICAgMCwgICAgICAgIDAsICAgICAyMDEyLCAweDMwYjBiZTRiCi0wLCAgICAg ICAgICAwLCAgICAgICAgICAwLCAgICAgICAgMCwgICAgIDIwMTIsIDB4YzdjZWFmNDUKLTAsICAg ICAgICAgIDAsICAgICAgICAgIDAsICAgICAgICAwLCAgICAgMjAxMiwgMHhhZGUwYjZlYwotMCwg ICAgICAgICAgMCwgICAgICAgICAgMCwgICAgICAgIDAsICAgICAyMDEyLCAweGUwMGRhZjA2Ci0w LCAgICAgICAgICAwLCAgICAgICAgICAwLCAgICAgICAgMCwgICAgIDIwMTIsIDB4MDRmNzlmZTQK LTAsICAgICAgICAgIDAsICAgICAgICAgIDAsICAgICAgICAwLCAgICAgMjAxMiwgMHg4YzU5Yjdk OQotMCwgICAgICAgICAgMCwgICAgICAgICAgMCwgICAgICAgIDAsICAgICAyMDEyLCAweDZmNjZi OTJhCi0wLCAgICAgICAgICAwLCAgICAgICAgICAwLCAgICAgICAgMCwgICAgIDIwMTIsIDB4OWIw OGIyYzAKLTAsICAgICAgICAgIDAsICAgICAgICAgIDAsICAgICAgICAwLCAgICAgMjAxMiwgMHhh OGMxYjVjMQotMCwgICAgICAgICAgMCwgICAgICAgICAgMCwgICAgICAgIDAsICAgICAyMDEyLCAw eGUzYWFjMGIwCi0wLCAgICAgICAgICAwLCAgICAgICAgICAwLCAgICAgICAgMCwgICAgIDIwMTIs IDB4MTYyMmJkYWYKLTAsICAgICAgICAgIDAsICAgICAgICAgIDAsICAgICAgICAwLCAgICAgMjAx MiwgMHgyNWUxYTlmZgotMCwgICAgICAgICAgMCwgICAgICAgICAgMCwgICAgICAgIDAsICAgICAy MDEyLCAweDU1NzdhZDgyCi0wLCAgICAgICAgICAwLCAgICAgICAgICAwLCAgICAgICAgMCwgICAg IDIwMTIsIDB4ZmUxNmE0OWIKLTAsICAgICAgICAgIDAsICAgICAgICAgIDAsICAgICAgICAwLCAg ICAgMjAxMiwgMHhlZjdmYzMyYQotMCwgICAgICAgICAgMCwgICAgICAgICAgMCwgICAgICAgIDAs ICAgICAyMDEyLCAweGZlMzBjMzVkCi0wLCAgICAgICAgICAwLCAgICAgICAgICAwLCAgICAgICAg MCwgICAgIDIwMTIsIDB4M2FkYzk2MTAKLTAsICAgICAgICAgIDAsICAgICAgICAgIDAsICAgICAg ICAwLCAgICAgMjAxMiwgMHgzNmVlYWJkYwotMCwgICAgICAgICAgMCwgICAgICAgICAgMCwgICAg ICAgIDAsICAgICAyMDEyLCAweGRlM2ZiNTZjCi0wLCAgICAgICAgICAwLCAgICAgICAgICAwLCAg ICAgICAgMCwgICAgIDIwMTIsIDB4NTYyOWJkODIKLTAsICAgICAgICAgIDAsICAgICAgICAgIDAs ICAgICAgICAwLCAgICAgMjAxMiwgMHhiMDk5YTYxZAotMCwgICAgICAgICAgMCwgICAgICAgICAg MCwgICAgICAgIDAsICAgICAyMDEyLCAweDMwMTNiMTA2Ci0wLCAgICAgICAgICAwLCAgICAgICAg ICAwLCAgICAgICAgMCwgICAgIDIwMTIsIDB4YzM1OWFlZjMKLTAsICAgICAgICAgIDAsICAgICAg ICAgIDAsICAgICAgICAwLCAgICAgMjAxMiwgMHhlYzAxYjNlMQotMCwgICAgICAgICAgMCwgICAg ICAgICAgMCwgICAgICAgIDAsICAgICAyMDEyLCAweDZlOGFjMGIxCi0wLCAgICAgICAgICAwLCAg ICAgICAgICAwLCAgICAgICAgMCwgICAgIDIwMTIsIDB4NDFlOGI4MmQKLTAsICAgICAgICAgIDAs ICAgICAgICAgIDAsICAgICAgICAwLCAgICAgMjAxMiwgMHgzYTJmYjM4YgotMCwgICAgICAgICAg MCwgICAgICAgICAgMCwgICAgICAgIDAsICAgICAyMDEyLCAweDcwMjVhYWM5Ci0wLCAgICAgICAg ICAwLCAgICAgICAgICAwLCAgICAgICAgMCwgICAgIDIwMTIsIDB4YmIwZWIwOTQKLTAsICAgICAg ICAgIDAsICAgICAgICAgIDAsICAgICAgICAwLCAgICAgMjAxMiwgMHhkYzA2YzE1NgotMCwgICAg ICAgICAgMCwgICAgICAgICAgMCwgICAgICAgIDAsICAgICAyMDEyLCAweDQwMDdjZWE0Ci0wLCAg ICAgICAgICAwLCAgICAgICAgICAwLCAgICAgICAgMCwgICAgIDIwMTIsIDB4MTAyZWJlMDMKLTAs ICAgICAgICAgIDAsICAgICAgICAgIDAsICAgICAgICAwLCAgICAgMjAxMiwgMHg2ZThmYWFlNwot MCwgICAgICAgICAgMCwgICAgICAgICAgMCwgICAgICAgIDAsICAgICAyMDEyLCAweGEzNTdhYTBj Ci0wLCAgICAgICAgICAwLCAgICAgICAgICAwLCAgICAgICAgMCwgICAgIDIwMTIsIDB4MDdkMmJm NGQKLTAsICAgICAgICAgIDAsICAgICAgICAgIDAsICAgICAgICAwLCAgICAgMjAxMiwgMHhmYjcx YjMzOAotMCwgICAgICAgICAgMCwgICAgICAgICAgMCwgICAgICAgIDAsICAgICAyMDEyLCAweGQ1 ZjFiZTg0Ci0wLCAgICAgICAgICAwLCAgICAgICAgICAwLCAgICAgICAgMCwgICAgIDIwMTIsIDB4 MmE3Y2I1NTQKLTAsICAgICAgICAgIDAsICAgICAgICAgIDAsICAgICAgICAwLCAgICAgMjAxMiwg MHhmYjAzYjhjMwotMCwgICAgICAgICAgMCwgICAgICAgICAgMCwgICAgICAgIDAsICAgICAyMDEy LCAweDJmZjFjYTg3Ci0wLCAgICAgICAgICAwLCAgICAgICAgICAwLCAgICAgICAgMCwgICAgIDIw MTIsIDB4ZWVmMmI3ZjMKLTAsICAgICAgICAgIDAsICAgICAgICAgIDAsICAgICAgICAwLCAgICAg MjAxMiwgMHg5Mzc3YjE1ZgotMCwgICAgICAgICAgMCwgICAgICAgICAgMCwgICAgICAgIDAsICAg ICAyMDEyLCAweDM3MGNiMGMyCi0wLCAgICAgICAgICAwLCAgICAgICAgICAwLCAgICAgICAgMCwg ICAgIDIwMTIsIDB4NWY3OGIxMTgKLTAsICAgICAgICAgIDAsICAgICAgICAgIDAsICAgICAgICAw LCAgICAgMjAxMiwgMHgxOWFmYTg3YQotMCwgICAgICAgICAgMCwgICAgICAgICAgMCwgICAgICAg IDAsICAgICAyMDEyLCAweGM3MTdhYjBkCi0wLCAgICAgICAgICAwLCAgICAgICAgICAwLCAgICAg ICAgMCwgICAgIDIwMTIsIDB4M2NhNDk5ZjQKLTAsICAgICAgICAgIDAsICAgICAgICAgIDAsICAg ICAgICAwLCAgICAgMjAxMiwgMHg5NjEyYjhlNAotMCwgICAgICAgICAgMCwgICAgICAgICAgMCwg ICAgICAgIDAsICAgICAyMDEyLCAweDMyYzBiYjI5Ci0wLCAgICAgICAgICAwLCAgICAgICAgICAw LCAgICAgICAgMCwgICAgIDIwMTIsIDB4NzcyN2JlYmEKLTAsICAgICAgICAgIDAsICAgICAgICAg IDAsICAgICAgICAwLCAgICAgMjAxMiwgMHg4YjYwYTRjYgotMCwgICAgICAgICAgMCwgICAgICAg ICAgMCwgICAgICAgIDAsICAgICAyMDEyLCAweGU4OTlhOWM4Ci0wLCAgICAgICAgICAwLCAgICAg ICAgICAwLCAgICAgICAgMCwgICAgIDIwMTIsIDB4NjBmNGI3ZmUKLTAsICAgICAgICAgIDAsICAg ICAgICAgIDAsICAgICAgICAwLCAgICAgMjAxMiwgMHg1NDRmOWVjYgotMCwgICAgICAgICAgMCwg ICAgICAgICAgMCwgICAgICAgIDAsICAgICAyMDEyLCAweDM0YWZjZDcxCi0wLCAgICAgICAgICAw LCAgICAgICAgICAwLCAgICAgICAgMCwgICAgIDIwMTIsIDB4NDcwZWFiNTUKLTAsICAgICAgICAg IDAsICAgICAgICAgIDAsICAgICAgICAwLCAgICAgMjAxMiwgMHhlNDk1OWY5MwotMCwgICAgICAg ICAgMCwgICAgICAgICAgMCwgICAgICAgIDAsICAgICAyMDEyLCAweDY5ZWVhZjk3Ci0wLCAgICAg ICAgICAwLCAgICAgICAgICAwLCAgICAgICAgMCwgICAgIDIwMTIsIDB4MGVjOWFjYTMKLTAsICAg ICAgICAgIDAsICAgICAgICAgIDAsICAgICAgICAwLCAgICAgMjAxMiwgMHg1MWU0YjdmNgotMCwg ICAgICAgICAgMCwgICAgICAgICAgMCwgICAgICAgIDAsICAgICAyMDEyLCAweGY2YzBhODM3Ci0w LCAgICAgICAgICAwLCAgICAgICAgICAwLCAgICAgICAgMCwgICAgIDIwMTIsIDB4M2JkY2E1OWIK LTAsICAgICAgICAgIDAsICAgICAgICAgIDAsICAgICAgICAwLCAgICAgMjAxMiwgMHgxNGM1OWRm YwotMCwgICAgICAgICAgMCwgICAgICAgICAgMCwgICAgICAgIDAsICAgICAyMDEyLCAweGE1MGFi MjNhCi0wLCAgICAgICAgICAwLCAgICAgICAgICAwLCAgICAgICAgMCwgICAgIDIwMTIsIDB4ODgz MmI2ZTIKLTAsICAgICAgICAgIDAsICAgICAgICAgIDAsICAgICAgICAwLCAgICAgMjAxMiwgMHgz ZDY5OWQxYgotMCwgICAgICAgICAgMCwgICAgICAgICAgMCwgICAgICAgIDAsICAgICAyMDEyLCAw eDc1MWFhNGI4Ci0wLCAgICAgICAgICAwLCAgICAgICAgICAwLCAgICAgICAgMCwgICAgIDIwMTIs IDB4NTlhOWI5OGMKLTAsICAgICAgICAgIDAsICAgICAgICAgIDAsICAgICAgICAwLCAgICAgMjAx MiwgMHhiNjdjOThjYgotMCwgICAgICAgICAgMCwgICAgICAgICAgMCwgICAgICAgIDAsICAgICAy MDEyLCAweDBmZDM5Y2NkCi0wLCAgICAgICAgICAwLCAgICAgICAgICAwLCAgICAgICAgMCwgICAg IDIwMTIsIDB4OTk4MGQxZTEKLTAsICAgICAgICAgIDAsICAgICAgICAgIDAsICAgICAgICAwLCAg ICAgMjAxMiwgMHhmZmQ5YTcxNgotMCwgICAgICAgICAgMCwgICAgICAgICAgMCwgICAgICAgIDAs ICAgICAyMDEyLCAweDdkMmZiZWQxCi0wLCAgICAgICAgICAwLCAgICAgICAgICAwLCAgICAgICAg MCwgICAgIDIwMTIsIDB4NzZlNmIwNDIKLTAsICAgICAgICAgIDAsICAgICAgICAgIDAsICAgICAg ICAwLCAgICAgMjAxMiwgMHhlMDI3YTIzMgotMCwgICAgICAgICAgMCwgICAgICAgICAgMCwgICAg ICAgIDAsICAgICAyMDEyLCAweDdjNmNhNWNlCi0wLCAgICAgICAgICAwLCAgICAgICAgICAwLCAg ICAgICAgMCwgICAgIDIwMTIsIDB4NWNmNmJkYTQKLTAsICAgICAgICAgIDAsICAgICAgICAgIDAs ICAgICAgICAwLCAgICAgMjAxMiwgMHg2MDc1YmQwZAotMCwgICAgICAgICAgMCwgICAgICAgICAg MCwgICAgICAgIDAsICAgICAyMDEyLCAweGVkYzRhYmU5Ci0wLCAgICAgICAgICAwLCAgICAgICAg ICAwLCAgICAgICAgMCwgICAgIDIwMTIsIDB4YjhmN2NjMjYKLTAsICAgICAgICAgIDAsICAgICAg ICAgIDAsICAgICAgICAwLCAgICAgMjAxMiwgMHgyY2JiYjUwMAotMCwgICAgICAgICAgMCwgICAg ICAgICAgMCwgICAgICAgIDAsICAgICAyMDEyLCAweDFjMzRiMDRkCi0wLCAgICAgICAgICAwLCAg ICAgICAgICAwLCAgICAgICAgMCwgICAgIDIwMTIsIDB4NWYxOGJlYTIKLTAsICAgICAgICAgIDAs ICAgICAgICAgIDAsICAgICAgICAwLCAgICAgMjAxMiwgMHg5NGQwYmIyYgotMCwgICAgICAgICAg MCwgICAgICAgICAgMCwgICAgICAgIDAsICAgICAyMDEyLCAweDY4OTliNzhlCi0wLCAgICAgICAg ICAwLCAgICAgICAgICAwLCAgICAgICAgMCwgICAgIDIwMTIsIDB4YzlhYWE3YTIKLTAsICAgICAg ICAgIDAsICAgICAgICAgIDAsICAgICAgICAwLCAgICAgMjAxMiwgMHgyOThjYmFmYQotMCwgICAg ICAgICAgMCwgICAgICAgICAgMCwgICAgICAgIDAsICAgICAyMDEyLCAweDg5ZDlhYzgwCi0wLCAg ICAgICAgICAwLCAgICAgICAgICAwLCAgICAgICAgMCwgICAgIDIwMTIsIDB4YzZmZmE3ZTYKLTAs ICAgICAgICAgIDAsICAgICAgICAgIDAsICAgICAgICAwLCAgICAgMjAxMiwgMHhkY2Y3Y2FmOQot MCwgICAgICAgICAgMCwgICAgICAgICAgMCwgICAgICAgIDAsICAgICAyMDEyLCAweDI2Y2ZiNGVl Ci0wLCAgICAgICAgICAwLCAgICAgICAgICAwLCAgICAgICAgMCwgICAgIDIwMTIsIDB4ZWM3MGIw OWQKLTAsICAgICAgICAgIDAsICAgICAgICAgIDAsICAgICAgICAwLCAgICAgMjAxMiwgMHg2NWRj YTUwZgotMCwgICAgICAgICAgMCwgICAgICAgICAgMCwgICAgICAgIDAsICAgICAyMDEyLCAweGNk ZWJjMGI2Ci0wLCAgICAgICAgICAwLCAgICAgICAgICAwLCAgICAgICAgMCwgICAgIDIwMTIsIDB4 OTM5M2EyNjIKLTAsICAgICAgICAgIDAsICAgICAgICAgIDAsICAgICAgICAwLCAgICAgMjAxMiwg MHgzNGFhYjA2ZAotMCwgICAgICAgICAgMCwgICAgICAgICAgMCwgICAgICAgIDAsICAgICAyMDEy LCAweDQ4MDBhNTUwCi0wLCAgICAgICAgICAwLCAgICAgICAgICAwLCAgICAgICAgMCwgICAgIDIw MTIsIDB4NGQ5YWFkZWMKLTAsICAgICAgICAgIDAsICAgICAgICAgIDAsICAgICAgICAwLCAgICAg MjAxMiwgMHgyY2RkYWJiNgotMCwgICAgICAgICAgMCwgICAgICAgICAgMCwgICAgICAgIDAsICAg ICAyMDEyLCAweDkxYTBjNWIyCi0wLCAgICAgICAgICAwLCAgICAgICAgICAwLCAgICAgICAgMCwg ICAgIDIwMTIsIDB4ZDMyNmJlZTEKLTAsICAgICAgICAgIDAsICAgICAgICAgIDAsICAgICAgICAw LCAgICAgMjAxMiwgMHhmNzZhYjJkNQotMCwgICAgICAgICAgMCwgICAgICAgICAgMCwgICAgICAg IDAsICAgICAyMDEyLCAweGNlZjk5YWRlCi0wLCAgICAgICAgICAwLCAgICAgICAgICAwLCAgICAg ICAgMCwgICAgIDIwMTIsIDB4OTUwZGM3NmYKLTAsICAgICAgICAgIDAsICAgICAgICAgIDAsICAg ICAgICAwLCAgICAgMjAxMiwgMHhiNmFjYTdhZAotMCwgICAgICAgICAgMCwgICAgICAgICAgMCwg ICAgICAgIDAsICAgICAyMDEyLCAweDFhYWNiNzFjCi0wLCAgICAgICAgICAwLCAgICAgICAgICAw LCAgICAgICAgMCwgICAgIDIwMTIsIDB4MzIzODlkYTAKLTAsICAgICAgICAgIDAsICAgICAgICAg IDAsICAgICAgICAwLCAgICAgMjAxMiwgMHgwMzBjYmNjZQotMCwgICAgICAgICAgMCwgICAgICAg ICAgMCwgICAgICAgIDAsICAgICAyMDEyLCAweDBlYzRiMGNiCi0wLCAgICAgICAgICAwLCAgICAg ICAgICAwLCAgICAgICAgMCwgICAgIDIwMTIsIDB4NmMwYmI2MmUKLTAsICAgICAgICAgIDAsICAg ICAgICAgIDAsICAgICAgICAwLCAgICAgMjAxMiwgMHhmYWRiYjIwZAotMCwgICAgICAgICAgMCwg ICAgICAgICAgMCwgICAgICAgIDAsICAgICAyMDEyLCAweDk5YzljODQ4Ci0wLCAgICAgICAgICAw LCAgICAgICAgICAwLCAgICAgICAgMCwgICAgIDIwMTIsIDB4ZTNlM2IyMWEKLTAsICAgICAgICAg IDAsICAgICAgICAgIDAsICAgICAgICAwLCAgICAgMjAxMiwgMHg4OGQ5YTUwYgotMCwgICAgICAg ICAgMCwgICAgICAgICAgMCwgICAgICAgIDAsICAgICAyMDEyLCAweGY0YmJhZjE3Ci0wLCAgICAg ICAgICAwLCAgICAgICAgICAwLCAgICAgICAgMCwgICAgIDIwMTIsIDB4NDlmZWE3MDYKLTAsICAg ICAgICAgIDAsICAgICAgICAgIDAsICAgICAgICAwLCAgICAgMjAxMiwgMHhhZmQwYmFiZgotMCwg ICAgICAgICAgMCwgICAgICAgICAgMCwgICAgICAgIDAsICAgICAyMDEyLCAweDg5NzBhOGYzCi0w LCAgICAgICAgICAwLCAgICAgICAgICAwLCAgICAgICAgMCwgICAgIDIwMTIsIDB4OTIyM2E1NTMK LTAsICAgICAgICAgIDAsICAgICAgICAgIDAsICAgICAgICAwLCAgICAgMjAxMiwgMHg2ZWMyYjJm OQotMCwgICAgICAgICAgMCwgICAgICAgICAgMCwgICAgICAgIDAsICAgICAyMDEyLCAweDc5NjBi NzU5Ci0wLCAgICAgICAgICAwLCAgICAgICAgICAwLCAgICAgICAgMCwgICAgIDIwMTIsIDB4ODUy ODkxYmYKLTAsICAgICAgICAgIDAsICAgICAgICAgIDAsICAgICAgICAwLCAgICAgMjAxMiwgMHgw OTRlYmJlYgotMCwgICAgICAgICAgMCwgICAgICAgICAgMCwgICAgICAgIDAsICAgICAyMDEyLCAw eGY5YmFiNDE4Ci0wLCAgICAgICAgICAwLCAgICAgICAgICAwLCAgICAgICAgMCwgICAgIDIwMTIs IDB4MDEwZWFlOGMKLTAsICAgICAgICAgIDAsICAgICAgICAgIDAsICAgICAgICAwLCAgICAgMjAx MiwgMHgxMGJhYWIzZAotMCwgICAgICAgICAgMCwgICAgICAgICAgMCwgICAgICAgIDAsICAgICAy MDEyLCAweDI1NjRiMTNmCi0wLCAgICAgICAgICAwLCAgICAgICAgICAwLCAgICAgICAgMCwgICAg IDIwMTIsIDB4YWVjOGFjMjIKLTAsICAgICAgICAgIDAsICAgICAgICAgIDAsICAgICAgICAwLCAg ICAgMjAxMiwgMHhkYTBjYmQ0ZgotMCwgICAgICAgICAgMCwgICAgICAgICAgMCwgICAgICAgIDAs ICAgICAyMDEyLCAweDk3ZTFjMDc1Ci0wLCAgICAgICAgICAwLCAgICAgICAgICAwLCAgICAgICAg MCwgICAgIDIwMTIsIDB4NjczMWFjYTUKLTAsICAgICAgICAgIDAsICAgICAgICAgIDAsICAgICAg ICAwLCAgICAgMjAxMiwgMHgyYzFkYjY5NgotMCwgICAgICAgICAgMCwgICAgICAgICAgMCwgICAg ICAgIDAsICAgICAyMDEyLCAweDhmZjdhYmJmCi0wLCAgICAgICAgICAwLCAgICAgICAgICAwLCAg ICAgICAgMCwgICAgIDIwMTIsIDB4Zjc1YWIzYTIKLTAsICAgICAgICAgIDAsICAgICAgICAgIDAs ICAgICAgICAwLCAgICAgMjAxMiwgMHg4NjgzYjgyNAotMCwgICAgICAgICAgMCwgICAgICAgICAg MCwgICAgICAgIDAsICAgICAyMDEyLCAweDk2NjhiMzU0Ci0wLCAgICAgICAgICAwLCAgICAgICAg ICAwLCAgICAgICAgMCwgICAgIDIwMTIsIDB4NmU5YWFlMDQKLTAsICAgICAgICAgIDAsICAgICAg ICAgIDAsICAgICAgICAwLCAgICAgMjAxMiwgMHhkOGU5YWNkNwotMCwgICAgICAgICAgMCwgICAg ICAgICAgMCwgICAgICAgIDAsICAgICAyMDEyLCAweGEzMjZjMjk4Ci0wLCAgICAgICAgICAwLCAg ICAgICAgICAwLCAgICAgICAgMCwgICAgIDIwMTIsIDB4NmFiY2I0MDkKLTAsICAgICAgICAgIDAs ICAgICAgICAgIDAsICAgICAgICAwLCAgICAgMjAxMiwgMHg3ZWIzYjU0OQotMCwgICAgICAgICAg MCwgICAgICAgICAgMCwgICAgICAgIDAsICAgICAyMDEyLCAweGZjNzJiYTZhCi0wLCAgICAgICAg ICAwLCAgICAgICAgICAwLCAgICAgICAgMCwgICAgIDIwMTIsIDB4ZWQ3M2IyZTYKLTAsICAgICAg ICAgIDAsICAgICAgICAgIDAsICAgICAgICAwLCAgICAgMjAxMiwgMHgwN2E2YjBhOQotMCwgICAg ICAgICAgMCwgICAgICAgICAgMCwgICAgICAgIDAsICAgICAyMDEyLCAweDEwYTRhZWM0Ci0wLCAg ICAgICAgICAwLCAgICAgICAgICAwLCAgICAgICAgMCwgICAgIDIwMTIsIDB4YWFjOWE2NTAKLTAs ICAgICAgICAgIDAsICAgICAgICAgIDAsICAgICAgICAwLCAgICAgMjAxMiwgMHg4NDhiOTg2OQot MCwgICAgICAgICAgMCwgICAgICAgICAgMCwgICAgICAgIDAsICAgICAyMDEyLCAweDFkZGFhZmQ2 Ci0wLCAgICAgICAgICAwLCAgICAgICAgICAwLCAgICAgICAgMCwgICAgIDIwMTIsIDB4ZTI5MWFh ZWMKLTAsICAgICAgICAgIDAsICAgICAgICAgIDAsICAgICAgICAwLCAgICAgMjAxMiwgMHg4YWEx YWE0ZAotMCwgICAgICAgICAgMCwgICAgICAgICAgMCwgICAgICAgIDAsICAgICAyMDEyLCAweDli NjliOTRjCi0wLCAgICAgICAgICAwLCAgICAgICAgICAwLCAgICAgICAgMCwgICAgIDIwMTIsIDB4 ZTc4NGJlYzAKLTAsICAgICAgICAgIDAsICAgICAgICAgIDAsICAgICAgICAwLCAgICAgMjAxMiwg MHg5MzA1YmEyZAotMCwgICAgICAgICAgMCwgICAgICAgICAgMCwgICAgICAgIDAsICAgICAyMDEy LCAweDU2MTZiYjgxCi0wLCAgICAgICAgICAwLCAgICAgICAgICAwLCAgICAgICAgMCwgICAgIDIw MTIsIDB4ZWEwZmFjY2EKLTAsICAgICAgICAgIDAsICAgICAgICAgIDAsICAgICAgICAwLCAgICAg MjAxMiwgMHhlMWI5OTkxZQotMCwgICAgICAgICAgMCwgICAgICAgICAgMCwgICAgICAgIDAsICAg ICAyMDEyLCAweGRlZDhiZDU5Ci0wLCAgICAgICAgICAwLCAgICAgICAgICAwLCAgICAgICAgMCwg ICAgIDIwMTIsIDB4ZTc5ZmIwZWUKLTAsICAgICAgICAgIDAsICAgICAgICAgIDAsICAgICAgICAw LCAgICAgMjAxMiwgMHgxYjg1OTVhNgotMCwgICAgICAgICAgMCwgICAgICAgICAgMCwgICAgICAg IDAsICAgICAyMDEyLCAweGI1NWJhMzM2Ci0wLCAgICAgICAgICAwLCAgICAgICAgICAwLCAgICAg ICAgMCwgICAgIDIwMTIsIDB4YzU1MmJjOTgKLTAsICAgICAgICAgIDAsICAgICAgICAgIDAsICAg ICAgICAwLCAgICAgMjAxMiwgMHgyZmUyYzViYQotMCwgICAgICAgICAgMCwgICAgICAgICAgMCwg ICAgICAgIDAsICAgICAyMDEyLCAweGUxOGFhNWE2Ci0wLCAgICAgICAgICAwLCAgICAgICAgICAw LCAgICAgICAgMCwgICAgIDIwMTIsIDB4YWE5YmFlMWMKLTAsICAgICAgICAgIDAsICAgICAgICAg IDAsICAgICAgICAwLCAgICAgMjAxMiwgMHhkMWRkYjY4ZAotMCwgICAgICAgICAgMCwgICAgICAg ICAgMCwgICAgICAgIDAsICAgICAyMDEyLCAweDk1YmZiMjAzCi0wLCAgICAgICAgICAwLCAgICAg ICAgICAwLCAgICAgICAgMCwgICAgIDIwMTIsIDB4ZWFjYWI4YjkKLTAsICAgICAgICAgIDAsICAg ICAgICAgIDAsICAgICAgICAwLCAgICAgMjAxMiwgMHg1YmZjYjExNwotMCwgICAgICAgICAgMCwg ICAgICAgICAgMCwgICAgICAgIDAsICAgICAyMDEyLCAweDFhOWZhOTFjCi0wLCAgICAgICAgICAw LCAgICAgICAgICAwLCAgICAgICAgMCwgICAgIDIwMTIsIDB4YTI4NWIxODAKLTAsICAgICAgICAg IDAsICAgICAgICAgIDAsICAgICAgICAwLCAgICAgMjAxMiwgMHhmZDU4YTZlMgotMCwgICAgICAg ICAgMCwgICAgICAgICAgMCwgICAgICAgIDAsICAgICAyMDEyLCAweDM5NGZjMzI1Ci0wLCAgICAg ICAgICAwLCAgICAgICAgICAwLCAgICAgICAgMCwgICAgIDIwMTIsIDB4MDQxNWE2YWEKLTAsICAg ICAgICAgIDAsICAgICAgICAgIDAsICAgICAgICAwLCAgICAgMjAxMiwgMHhmNzVmYTVlMAotMCwg ICAgICAgICAgMCwgICAgICAgICAgMCwgICAgICAgIDAsICAgICAyMDEyLCAweDExNWNkMTFiCi0w LCAgICAgICAgICAwLCAgICAgICAgICAwLCAgICAgICAgMCwgICAgIDIwMTIsIDB4NjU4N2I5ZTMK LTAsICAgICAgICAgIDAsICAgICAgICAgIDAsICAgICAgICAwLCAgICAgMjAxMiwgMHhjZTZiYjdl NgotMCwgICAgICAgICAgMCwgICAgICAgICAgMCwgICAgICAgIDAsICAgICAyMDEyLCAweGJhYTJi NDA5Ci0wLCAgICAgICAgICAwLCAgICAgICAgICAwLCAgICAgICAgMCwgICAgIDIwMTIsIDB4Mjcx YmJiMTQKLTAsICAgICAgICAgIDAsICAgICAgICAgIDAsICAgICAgICAwLCAgICAgMjAxMiwgMHg0 NTE2YzIyMwotMCwgICAgICAgICAgMCwgICAgICAgICAgMCwgICAgICAgIDAsICAgICAyMDEyLCAw eDRmNmFiMjY2Ci0wLCAgICAgICAgICAwLCAgICAgICAgICAwLCAgICAgICAgMCwgICAgIDIwMTIs IDB4MjQ0YmE2ZmMKLTAsICAgICAgICAgIDAsICAgICAgICAgIDAsICAgICAgICAwLCAgICAgMjAx MiwgMHg2MGUwYWU0ZQotMCwgICAgICAgICAgMCwgICAgICAgICAgMCwgICAgICAgIDAsICAgICAy MDEyLCAweGZjM2NhYzgwCi0wLCAgICAgICAgICAwLCAgICAgICAgICAwLCAgICAgICAgMCwgICAg IDIwMTIsIDB4ODQ2NWIyODcKLTAsICAgICAgICAgIDAsICAgICAgICAgIDAsICAgICAgICAwLCAg ICAgMjAxMiwgMHhjNjgzYjA3MAotMCwgICAgICAgICAgMCwgICAgICAgICAgMCwgICAgICAgIDAs ICAgICAyMDEyLCAweDI5MDFjOGU3Ci0wLCAgICAgICAgICAwLCAgICAgICAgICAwLCAgICAgICAg MCwgICAgIDIwMTIsIDB4MDYyMmIxYTEKLTAsICAgICAgICAgIDAsICAgICAgICAgIDAsICAgICAg ICAwLCAgICAgMjAxMiwgMHhlMDAyYjM0YwotMCwgICAgICAgICAgMCwgICAgICAgICAgMCwgICAg ICAgIDAsICAgICAyMDEyLCAweGY0OTY5ZTc5Ci0wLCAgICAgICAgICAwLCAgICAgICAgICAwLCAg ICAgICAgMCwgICAgIDIwMTIsIDB4ODcxY2M0NTMKLTAsICAgICAgICAgIDAsICAgICAgICAgIDAs ICAgICAgICAwLCAgICAgMjAxMiwgMHg5YTdkYWFmMwotMCwgICAgICAgICAgMCwgICAgICAgICAg MCwgICAgICAgIDAsICAgICAyMDEyLCAweGJhOTJhNjBhCi0wLCAgICAgICAgICAwLCAgICAgICAg ICAwLCAgICAgICAgMCwgICAgIDIwMTIsIDB4ZjQ2NGEwYzQKLTAsICAgICAgICAgIDAsICAgICAg ICAgIDAsICAgICAgICAwLCAgICAgMjAxMiwgMHg1M2JiYjZjZAotMCwgICAgICAgICAgMCwgICAg ICAgICAgMCwgICAgICAgIDAsICAgICAyMDEyLCAweGI1OGE5ZDJhCi0wLCAgICAgICAgICAwLCAg ICAgICAgICAwLCAgICAgICAgMCwgICAgIDIwMTIsIDB4MWUxZmI4MzAKLTAsICAgICAgICAgIDAs ICAgICAgICAgIDAsICAgICAgICAwLCAgICAgMjAxMiwgMHhkYzdlYjkzZQotMCwgICAgICAgICAg MCwgICAgICAgICAgMCwgICAgICAgIDAsICAgICAyMDEyLCAweGU2Y2VhYWY5Ci0wLCAgICAgICAg ICAwLCAgICAgICAgICAwLCAgICAgICAgMCwgICAgIDIwMTIsIDB4OGM3ZWEzNWQKLTAsICAgICAg ICAgIDAsICAgICAgICAgIDAsICAgICAgICAwLCAgICAgMjAxMiwgMHgwYjg3YmEwNAotMCwgICAg ICAgICAgMCwgICAgICAgICAgMCwgICAgICAgIDAsICAgICAyMDEyLCAweGY1MTZhNzAwCi0wLCAg ICAgICAgICAwLCAgICAgICAgICAwLCAgICAgICAgMCwgICAgIDIwMTIsIDB4ZmFmMTllMTMKLTAs ICAgICAgICAgIDAsICAgICAgICAgIDAsICAgICAgICAwLCAgICAgMjAxMiwgMHg1M2NmOWVkMAot MCwgICAgICAgICAgMCwgICAgICAgICAgMCwgICAgICAgIDAsICAgICAyMDEyLCAweDJlMjVjMmY5 Ci0wLCAgICAgICAgICAwLCAgICAgICAgICAwLCAgICAgICAgMCwgICAgIDIwMTIsIDB4OTU5YWEx YjgKLTAsICAgICAgICAgIDAsICAgICAgICAgIDAsICAgICAgICAwLCAgICAgMjAxMiwgMHgyYTQ5 YTU3MgotMCwgICAgICAgICAgMCwgICAgICAgICAgMCwgICAgICAgIDAsICAgICAyMDEyLCAweGY3 YTliODA5Ci0wLCAgICAgICAgICAwLCAgICAgICAgICAwLCAgICAgICAgMCwgICAgIDIwMTIsIDB4 NDRhOWI4NzkKLTAsICAgICAgICAgIDAsICAgICAgICAgIDAsICAgICAgICAwLCAgICAgMjAxMiwg MHhlNDI4YzBkNAotMCwgICAgICAgICAgMCwgICAgICAgICAgMCwgICAgICAgIDAsICAgICAyMDEy LCAweGMyNThjMmM2Ci0wLCAgICAgICAgICAwLCAgICAgICAgICAwLCAgICAgICAgMCwgICAgIDIw MTIsIDB4ZjdmM2I3OTQKLTAsICAgICAgICAgIDAsICAgICAgICAgIDAsICAgICAgICAwLCAgICAg MjAxMiwgMHhhOGFkYmFkOQotMCwgICAgICAgICAgMCwgICAgICAgICAgMCwgICAgICAgIDAsICAg ICAyMDEyLCAweGMyNTA4ZTc5Ci0wLCAgICAgICAgICAwLCAgICAgICAgICAwLCAgICAgICAgMCwg ICAgIDIwMTIsIDB4MTQxOGFjNzYKLTAsICAgICAgICAgIDAsICAgICAgICAgIDAsICAgICAgICAw LCAgICAgMjAxMiwgMHhiMjhhYWRlZgotMCwgICAgICAgICAgMCwgICAgICAgICAgMCwgICAgICAg IDAsICAgICAyMDEyLCAweGRhMTdiZDAzCi0wLCAgICAgICAgICAwLCAgICAgICAgICAwLCAgICAg ICAgMCwgICAgIDIwMTIsIDB4YTkyYWI4NTIKLTAsICAgICAgICAgIDAsICAgICAgICAgIDAsICAg ICAgICAwLCAgICAgMjAxMiwgMHhjM2NiY2ZhNAotMCwgICAgICAgICAgMCwgICAgICAgICAgMCwg ICAgICAgIDAsICAgICAyMDEyLCAweGY3MTZiYjVlCi0wLCAgICAgICAgICAwLCAgICAgICAgICAw LCAgICAgICAgMCwgICAgIDIwMTIsIDB4NjAwOWE4YWYKLTAsICAgICAgICAgIDAsICAgICAgICAg IDAsICAgICAgICAwLCAgICAgMjAxMiwgMHg5ZTY5YmM4MQotMCwgICAgICAgICAgMCwgICAgICAg ICAgMCwgICAgICAgIDAsICAgICAyMDEyLCAweDNhYWZjOGNmCi0wLCAgICAgICAgICAwLCAgICAg ICAgICAwLCAgICAgICAgMCwgICAgIDIwMTIsIDB4MDNiY2NkYWIKLTAsICAgICAgICAgIDAsICAg ICAgICAgIDAsICAgICAgICAwLCAgICAgMjAxMiwgMHhmZGNlYjJkOQotMCwgICAgICAgICAgMCwg ICAgICAgICAgMCwgICAgICAgIDAsICAgICAyMDEyLCAweDY4ZjdhZmI4Ci0wLCAgICAgICAgICAw LCAgICAgICAgICAwLCAgICAgICAgMCwgICAgIDIwMTIsIDB4YjdiYWIzMzAKLTAsICAgICAgICAg IDAsICAgICAgICAgIDAsICAgICAgICAwLCAgICAgMjAxMiwgMHg0OTc2YjEyNQotMCwgICAgICAg ICAgMCwgICAgICAgICAgMCwgICAgICAgIDAsICAgICAyMDEyLCAweDdjODZhZTEyCi0wLCAgICAg ICAgICAwLCAgICAgICAgICAwLCAgICAgICAgMCwgICAgIDIwMTIsIDB4NGNlNGNhNTQKLTAsICAg ICAgICAgIDAsICAgICAgICAgIDAsICAgICAgICAwLCAgICAgMjAxMiwgMHhmMWY3Yjg5MgotMCwg ICAgICAgICAgMCwgICAgICAgICAgMCwgICAgICAgIDAsICAgICAyMDEyLCAweGY5NThhYmIxCi0w LCAgICAgICAgICAwLCAgICAgICAgICAwLCAgICAgICAgMCwgICAgIDIwMTIsIDB4MDQ3YWNjZDAK LTAsICAgICAgICAgIDAsICAgICAgICAgIDAsICAgICAgICAwLCAgICAgMjAxMiwgMHgzNGExYzQ5 YwotMCwgICAgICAgICAgMCwgICAgICAgICAgMCwgICAgICAgIDAsICAgICAyMDEyLCAweDRiMjRh NGVkCi0wLCAgICAgICAgICAwLCAgICAgICAgICAwLCAgICAgICAgMCwgICAgIDIwMTIsIDB4ZWEz MWIxYmMKLTAsICAgICAgICAgIDAsICAgICAgICAgIDAsICAgICAgICAwLCAgICAgMjAxMiwgMHg4 YmVhYTNlMwotMCwgICAgICAgICAgMCwgICAgICAgICAgMCwgICAgICAgIDAsICAgICAyMDEyLCAw eDA2NGNhYWY5Ci0wLCAgICAgICAgICAwLCAgICAgICAgICAwLCAgICAgICAgMCwgICAgIDIwMTIs IDB4NTZiYWJmMTUKLTAsICAgICAgICAgIDAsICAgICAgICAgIDAsICAgICAgICAwLCAgICAgMjAx MiwgMHhkMTZmYzZmNAotMCwgICAgICAgICAgMCwgICAgICAgICAgMCwgICAgICAgIDAsICAgICAy MDEyLCAweDRhYzJiNzhhCi0wLCAgICAgICAgICAwLCAgICAgICAgICAwLCAgICAgICAgMCwgICAg IDIwMTIsIDB4YmEzYWE1MDkKLTAsICAgICAgICAgIDAsICAgICAgICAgIDAsICAgICAgICAwLCAg ICAgMjAxMiwgMHhjMTAzYjA3NAotMCwgICAgICAgICAgMCwgICAgICAgICAgMCwgICAgICAgIDAs ICAgICAyMDEyLCAweDQ2NGFiYTk4Ci0wLCAgICAgICAgICAwLCAgICAgICAgICAwLCAgICAgICAg MCwgICAgIDIwMTIsIDB4YWFjYWM1YTMKLTAsICAgICAgICAgIDAsICAgICAgICAgIDAsICAgICAg ICAwLCAgICAgMjAxMiwgMHg5Y2VjYmNmYQotMCwgICAgICAgICAgMCwgICAgICAgICAgMCwgICAg ICAgIDAsICAgICAyMDEyLCAweDhkYTBhYjc5Ci0wLCAgICAgICAgICAwLCAgICAgICAgICAwLCAg ICAgICAgMCwgICAgIDIwMTIsIDB4ODViMmIwMjMKLTAsICAgICAgICAgIDAsICAgICAgICAgIDAs ICAgICAgICAwLCAgICAgMjAxMiwgMHg1OThhYmM5MQotMCwgICAgICAgICAgMCwgICAgICAgICAg MCwgICAgICAgIDAsICAgICAyMDEyLCAweDA4YzBhMzVjCi0wLCAgICAgICAgICAwLCAgICAgICAg ICAwLCAgICAgICAgMCwgICAgIDIwMTIsIDB4MzBlNGE3Y2YKLTAsICAgICAgICAgIDAsICAgICAg ICAgIDAsICAgICAgICAwLCAgICAgMjAxMiwgMHhmMWU0YTkzMQotMCwgICAgICAgICAgMCwgICAg ICAgICAgMCwgICAgICAgIDAsICAgICAyMDEyLCAweDhhNGZiNmMxCi0wLCAgICAgICAgICAwLCAg ICAgICAgICAwLCAgICAgICAgMCwgICAgIDIwMTIsIDB4MTI2YWFjMDgKLTAsICAgICAgICAgIDAs ICAgICAgICAgIDAsICAgICAgICAwLCAgICAgMjAxMiwgMHg1MzdmYTUxYgotMCwgICAgICAgICAg MCwgICAgICAgICAgMCwgICAgICAgIDAsICAgICAyMDEyLCAweDFlNTRhYzVhCi0wLCAgICAgICAg ICAwLCAgICAgICAgICAwLCAgICAgICAgMCwgICAgIDIwMTIsIDB4NzI3NGJiZDAKLTAsICAgICAg ICAgIDAsICAgICAgICAgIDAsICAgICAgICAwLCAgICAgMjAxMiwgMHhkMTZiYzJjMgotMCwgICAg ICAgICAgMCwgICAgICAgICAgMCwgICAgICAgIDAsICAgICAyMDEyLCAweDkyMzZjMWUzCi0wLCAg ICAgICAgICAwLCAgICAgICAgICAwLCAgICAgICAgMCwgICAgIDIwMTIsIDB4MzQ4YWE3YWYKLTAs ICAgICAgICAgIDAsICAgICAgICAgIDAsICAgICAgICAwLCAgICAgMjAxMiwgMHhhMDIwYmU1ZQot MCwgICAgICAgICAgMCwgICAgICAgICAgMCwgICAgICAgIDAsICAgICAyMDEyLCAweDNjYzVhNGI4 Ci0wLCAgICAgICAgICAwLCAgICAgICAgICAwLCAgICAgICAgMCwgICAgIDIwMTIsIDB4OGIxOWI2 NDkKLTAsICAgICAgICAgIDAsICAgICAgICAgIDAsICAgICAgICAwLCAgICAgMjAxMiwgMHg1NTRh YTVhYgotMCwgICAgICAgICAgMCwgICAgICAgICAgMCwgICAgICAgIDAsICAgICAyMDEyLCAweDM1 ZDZhYzM1Ci0wLCAgICAgICAgICAwLCAgICAgICAgICAwLCAgICAgICAgMCwgICAgIDIwMTIsIDB4 NjRkYmE0MzUKLTAsICAgICAgICAgIDAsICAgICAgICAgIDAsICAgICAgICAwLCAgICAgMjAxMiwg MHg2MDAxYmFlMgotMCwgICAgICAgICAgMCwgICAgICAgICAgMCwgICAgICAgIDAsICAgICAyMDEy LCAweDkyMjBiNTk5Ci0wLCAgICAgICAgICAwLCAgICAgICAgICAwLCAgICAgICAgMCwgICAgIDIw MTIsIDB4YTNmZGI4OTkKLTAsICAgICAgICAgIDAsICAgICAgICAgIDAsICAgICAgICAwLCAgICAg MjAxMiwgMHgxOWE1YWJmNAotMCwgICAgICAgICAgMCwgICAgICAgICAgMCwgICAgICAgIDAsICAg ICAyMDEyLCAweGQ4NTdiOGNmCi0wLCAgICAgICAgICAwLCAgICAgICAgICAwLCAgICAgICAgMCwg ICAgIDIwMTIsIDB4MzhkMWIyMzQKLTAsICAgICAgICAgIDAsICAgICAgICAgIDAsICAgICAgICAw LCAgICAgMjAxMiwgMHg2OWY0YmZiOAotMCwgICAgICAgICAgMCwgICAgICAgICAgMCwgICAgICAg IDAsICAgICAyMDEyLCAweGNjODdhMzc1Ci0wLCAgICAgICAgICAwLCAgICAgICAgICAwLCAgICAg ICAgMCwgICAgIDIwMTIsIDB4YzFjZGQwYzUKLTAsICAgICAgICAgIDAsICAgICAgICAgIDAsICAg ICAgICAwLCAgICAgMjAxMiwgMHhiYTBjYTNlZQotMCwgICAgICAgICAgMCwgICAgICAgICAgMCwg ICAgICAgIDAsICAgICAyMDEyLCAweDRkMjBjMzk3Ci0wLCAgICAgICAgICAwLCAgICAgICAgICAw LCAgICAgICAgMCwgICAgIDIwMTIsIDB4ODI1Yzk2MzYKLTAsICAgICAgICAgIDAsICAgICAgICAg IDAsICAgICAgICAwLCAgICAgMjAxMiwgMHg3YWE0YWU1MwotMCwgICAgICAgICAgMCwgICAgICAg ICAgMCwgICAgICAgIDAsICAgICAyMDEyLCAweGU5NzBhZTc4Ci0wLCAgICAgICAgICAwLCAgICAg ICAgICAwLCAgICAgICAgMCwgICAgIDIwMTIsIDB4NWZiMmJhNTkKLTAsICAgICAgICAgIDAsICAg ICAgICAgIDAsICAgICAgICAwLCAgICAgMjAxMiwgMHhjZDkwYTk1MwotMCwgICAgICAgICAgMCwg ICAgICAgICAgMCwgICAgICAgIDAsICAgICAyMDEyLCAweGY1NzNhYzQwCi0wLCAgICAgICAgICAw LCAgICAgICAgICAwLCAgICAgICAgMCwgICAgIDIwMTIsIDB4MzI0Y2JkNzcKLTAsICAgICAgICAg IDAsICAgICAgICAgIDAsICAgICAgICAwLCAgICAgMjAxMiwgMHhlY2UwYTczZAotMCwgICAgICAg ICAgMCwgICAgICAgICAgMCwgICAgICAgIDAsICAgICAyMDEyLCAweDBkZDFhZWZhCi0wLCAgICAg ICAgICAwLCAgICAgICAgICAwLCAgICAgICAgMCwgICAgIDIwMTIsIDB4ZTMzOGM4NjYKLTAsICAg ICAgICAgIDAsICAgICAgICAgIDAsICAgICAgICAwLCAgICAgMjAxMiwgMHhmZTcxYmZmYwotMCwg ICAgICAgICAgMCwgICAgICAgICAgMCwgICAgICAgIDAsICAgICAyMDEyLCAweDYxYTVhODEwCi0w LCAgICAgICAgICAwLCAgICAgICAgICAwLCAgICAgICAgMCwgICAgIDIwMTIsIDB4N2MzYmEwNzQK LTAsICAgICAgICAgIDAsICAgICAgICAgIDAsICAgICAgICAwLCAgICAgMjAxMiwgMHg0OTJmOWQ5 MQotMCwgICAgICAgICAgMCwgICAgICAgICAgMCwgICAgICAgIDAsICAgICAyMDEyLCAweGExMjZh N2I5Ci0wLCAgICAgICAgICAwLCAgICAgICAgICAwLCAgICAgICAgMCwgICAgIDIwMTIsIDB4N2Nm MTlhNDAKLTAsICAgICAgICAgIDAsICAgICAgICAgIDAsICAgICAgICAwLCAgICAgMjAxMiwgMHgx YzJmYmFlNgotMCwgICAgICAgICAgMCwgICAgICAgICAgMCwgICAgICAgIDAsICAgICAyMDEyLCAw eDU0MGFjY2RmCi0wLCAgICAgICAgICAwLCAgICAgICAgICAwLCAgICAgICAgMCwgICAgIDIwMTIs IDB4NTkwOGE5MzgKLTAsICAgICAgICAgIDAsICAgICAgICAgIDAsICAgICAgICAwLCAgICAgMjAx MiwgMHhlN2Y4YjUwMQotMCwgICAgICAgICAgMCwgICAgICAgICAgMCwgICAgICAgIDAsICAgICAy MDEyLCAweDAzYThiNTNlCi0wLCAgICAgICAgICAwLCAgICAgICAgICAwLCAgICAgICAgMCwgICAg IDIwMTIsIDB4YjRlM2JkZGEKLTAsICAgICAgICAgIDAsICAgICAgICAgIDAsICAgICAgICAwLCAg ICAgMjAxMiwgMHg5ZTg2YWJlMQotMCwgICAgICAgICAgMCwgICAgICAgICAgMCwgICAgICAgIDAs ICAgICAyMDEyLCAweDMyMzRiOThkCi0wLCAgICAgICAgICAwLCAgICAgICAgICAwLCAgICAgICAg MCwgICAgIDIwMTIsIDB4NWNhZWM3ODEKLTAsICAgICAgICAgIDAsICAgICAgICAgIDAsICAgICAg ICAwLCAgICAgMjAxMiwgMHg1YzIxYTMyZQotMCwgICAgICAgICAgMCwgICAgICAgICAgMCwgICAg ICAgIDAsICAgICAyMDEyLCAweDhiNzJjMTEyCi0wLCAgICAgICAgICAwLCAgICAgICAgICAwLCAg ICAgICAgMCwgICAgIDIwMTIsIDB4MmVjMmJhYzMKLTAsICAgICAgICAgIDAsICAgICAgICAgIDAs ICAgICAgICAwLCAgICAgMjAxMiwgMHhkOWM0YWRhYQotMCwgICAgICAgICAgMCwgICAgICAgICAg MCwgICAgICAgIDAsICAgICAyMDEyLCAweDJkYTFiNDk2Ci0wLCAgICAgICAgICAwLCAgICAgICAg ICAwLCAgICAgICAgMCwgICAgIDIwMTIsIDB4MGE1MWIyMWUKLTAsICAgICAgICAgIDAsICAgICAg ICAgIDAsICAgICAgICAwLCAgICAgMjAxMiwgMHg2NDE0YWIwZAotMCwgICAgICAgICAgMCwgICAg ICAgICAgMCwgICAgICAgIDAsICAgICAyMDEyLCAweDk1YzRiMjAzCi0wLCAgICAgICAgICAwLCAg ICAgICAgICAwLCAgICAgICAgMCwgICAgIDIwMTIsIDB4OThlMGI0YTIKLTAsICAgICAgICAgIDAs ICAgICAgICAgIDAsICAgICAgICAwLCAgICAgMjAxMiwgMHgzNDM2OWY1ZgotMCwgICAgICAgICAg MCwgICAgICAgICAgMCwgICAgICAgIDAsICAgICAyMDEyLCAweDlkZmZhNDBjCi0wLCAgICAgICAg ICAwLCAgICAgICAgICAwLCAgICAgICAgMCwgICAgIDIwMTIsIDB4ZjM0NWIwZTUKLTAsICAgICAg ICAgIDAsICAgICAgICAgIDAsICAgICAgICAwLCAgICAgMjAxMiwgMHg2NzE0YmRiZgotMCwgICAg ICAgICAgMCwgICAgICAgICAgMCwgICAgICAgIDAsICAgICAyMDEyLCAweGMyNzZjM2QxCi0wLCAg ICAgICAgICAwLCAgICAgICAgICAwLCAgICAgICAgMCwgICAgIDIwMTIsIDB4ZjE5OWI0NzUKLTAs ICAgICAgICAgIDAsICAgICAgICAgIDAsICAgICAgICAwLCAgICAgMjAxMiwgMHgzMzk1Y2YzYgot MCwgICAgICAgICAgMCwgICAgICAgICAgMCwgICAgICAgIDAsICAgICAyMDEyLCAweDRiNTJhZmIw Ci0wLCAgICAgICAgICAwLCAgICAgICAgICAwLCAgICAgICAgMCwgICAgIDIwMTIsIDB4M2Y3NGIy MTcKLTAsICAgICAgICAgIDAsICAgICAgICAgIDAsICAgICAgICAwLCAgICAgMjAxMiwgMHhhMjVj YWQzOAotMCwgICAgICAgICAgMCwgICAgICAgICAgMCwgICAgICAgIDAsICAgICAyMDEyLCAweDMy OTBhNWI0Ci0wLCAgICAgICAgICAwLCAgICAgICAgICAwLCAgICAgICAgMCwgICAgIDIwMTIsIDB4 MjkxN2I3NTAKLTAsICAgICAgICAgIDAsICAgICAgICAgIDAsICAgICAgICAwLCAgICAgMjAxMiwg MHhlYjNlYzczOQotMCwgICAgICAgICAgMCwgICAgICAgICAgMCwgICAgICAgIDAsICAgICAyMDEy LCAweGJmOWVhNTFkCi0wLCAgICAgICAgICAwLCAgICAgICAgICAwLCAgICAgICAgMCwgICAgIDIw MTIsIDB4OThlMmEwYzEKLTAsICAgICAgICAgIDAsICAgICAgICAgIDAsICAgICAgICAwLCAgICAg MjAxMiwgMHhhMzliYTdmMgotMCwgICAgICAgICAgMCwgICAgICAgICAgMCwgICAgICAgIDAsICAg ICAyMDEyLCAweDZkZjdhMDVjCi0wLCAgICAgICAgICAwLCAgICAgICAgICAwLCAgICAgICAgMCwg ICAgIDIwMTIsIDB4MmMxYmJhMjgKLTAsICAgICAgICAgIDAsICAgICAgICAgIDAsICAgICAgICAw LCAgICAgMjAxMiwgMHg2MDk5YjFjZAotMCwgICAgICAgICAgMCwgICAgICAgICAgMCwgICAgICAg IDAsICAgICAyMDEyLCAweDkzNjZiOWYyCi0wLCAgICAgICAgICAwLCAgICAgICAgICAwLCAgICAg ICAgMCwgICAgIDIwMTIsIDB4OTU4OTk1NzAKLTAsICAgICAgICAgIDAsICAgICAgICAgIDAsICAg ICAgICAwLCAgICAgMjAxMiwgMHg2MjM0YTBjOAotMCwgICAgICAgICAgMCwgICAgICAgICAgMCwg ICAgICAgIDAsICAgICAyMDEyLCAweGVjMmNiY2ZjCi0wLCAgICAgICAgICAwLCAgICAgICAgICAw LCAgICAgICAgMCwgICAgIDIwMTIsIDB4M2ZmN2E5ZGIKLTAsICAgICAgICAgIDAsICAgICAgICAg IDAsICAgICAgICAwLCAgICAgMjAxMiwgMHg0ZTQ0YmFkNwotMCwgICAgICAgICAgMCwgICAgICAg ICAgMCwgICAgICAgIDAsICAgICAyMDEyLCAweDFkYmJiYzM5Ci0wLCAgICAgICAgICAwLCAgICAg ICAgICAwLCAgICAgICAgMCwgICAgIDIwMTIsIDB4ZjlkZjk5YmUKLTAsICAgICAgICAgIDAsICAg ICAgICAgIDAsICAgICAgICAwLCAgICAgMjAxMiwgMHhhNzEzYjMxMwotMCwgICAgICAgICAgMCwg ICAgICAgICAgMCwgICAgICAgIDAsICAgICAyMDEyLCAweDhiYmRiZTUxCi0wLCAgICAgICAgICAw LCAgICAgICAgICAwLCAgICAgICAgMCwgICAgIDIwMTIsIDB4MGQ1YmM3ODYKLTAsICAgICAgICAg IDAsICAgICAgICAgIDAsICAgICAgICAwLCAgICAgMjAxMiwgMHg3NWQyOTNmMgotMCwgICAgICAg ICAgMCwgICAgICAgICAgMCwgICAgICAgIDAsICAgICAyMDEyLCAweDQ4MzJiNjg4Ci0wLCAgICAg ICAgICAwLCAgICAgICAgICAwLCAgICAgICAgMCwgICAgIDIwMTIsIDB4NzFhYmE3NGMKLTAsICAg ICAgICAgIDAsICAgICAgICAgIDAsICAgICAgICAwLCAgICAgMjAxMiwgMHgwNGQ1YWJmMgotMCwg ICAgICAgICAgMCwgICAgICAgICAgMCwgICAgICAgIDAsICAgICAyMDEyLCAweGFhOGZiZDk4Ci0w LCAgICAgICAgICAwLCAgICAgICAgICAwLCAgICAgICAgMCwgICAgIDIwMTIsIDB4ZDkzZWI2ZDQK LTAsICAgICAgICAgIDAsICAgICAgICAgIDAsICAgICAgICAwLCAgICAgMjAxMiwgMHg4ZmI2YjVh OAotMCwgICAgICAgICAgMCwgICAgICAgICAgMCwgICAgICAgIDAsICAgICAyMDEyLCAweDc3OWE5 MmY1Ci0wLCAgICAgICAgICAwLCAgICAgICAgICAwLCAgICAgICAgMCwgICAgIDIwMTIsIDB4MzVj OGFiM2QKLTAsICAgICAgICAgIDAsICAgICAgICAgIDAsICAgICAgICAwLCAgICAgMjAxMiwgMHgw MDE3YWFhNQotMCwgICAgICAgICAgMCwgICAgICAgICAgMCwgICAgICAgIDAsICAgICAyMDEyLCAw eGQ2ZTdiYWZlCi0wLCAgICAgICAgICAwLCAgICAgICAgICAwLCAgICAgICAgMCwgICAgIDIwMTIs IDB4ZTM1OGI0MjMKLTAsICAgICAgICAgIDAsICAgICAgICAgIDAsICAgICAgICAwLCAgICAgMjAx MiwgMHgzZjc0YmZiYQotMCwgICAgICAgICAgMCwgICAgICAgICAgMCwgICAgICAgIDAsICAgICAy MDEyLCAweDBhNWViNzA3Ci0wLCAgICAgICAgICAwLCAgICAgICAgICAwLCAgICAgICAgMCwgICAg IDIwMTIsIDB4ZWRiZmIwZGYKLTAsICAgICAgICAgIDAsICAgICAgICAgIDAsICAgICAgICAwLCAg ICAgMjAxMiwgMHgyZTcxYTI2ZgotMCwgICAgICAgICAgMCwgICAgICAgICAgMCwgICAgICAgIDAs ICAgICAyMDEyLCAweDIxNGRiMWE4Ci0wLCAgICAgICAgICAwLCAgICAgICAgICAwLCAgICAgICAg MCwgICAgIDIwMTIsIDB4YjYzMmMyNzUKLTAsICAgICAgICAgIDAsICAgICAgICAgIDAsICAgICAg ICAwLCAgICAgMjAxMiwgMHhiNTk3Y2Y5MgotMCwgICAgICAgICAgMCwgICAgICAgICAgMCwgICAg ICAgIDAsICAgICAyMDEyLCAweDE4YThiNTA4Ci0wLCAgICAgICAgICAwLCAgICAgICAgICAwLCAg ICAgICAgMCwgICAgIDIwMTIsIDB4ODI2N2I0ZmYKLTAsICAgICAgICAgIDAsICAgICAgICAgIDAs ICAgICAgICAwLCAgICAgMjAxMiwgMHg1YTlhYjhkNgotMCwgICAgICAgICAgMCwgICAgICAgICAg MCwgICAgICAgIDAsICAgICAyMDEyLCAweDIwMzdhMmI2CiswLCAgICAgICAgICAwLCAgICAgICAg ICAwLCAgICAgIDk2MCwgICAgIDIwMTIsIDB4NjcxZGM3M2EKKzAsICAgICAgICA5NjAsICAgICAg ICA5NjAsICAgICAgOTYwLCAgICAgMjAxMiwgMHg3ZmQ1YjFkMgorMCwgICAgICAgMTkyMCwgICAg ICAgMTkyMCwgICAgICA5NjAsICAgICAyMDEyLCAweGJlN2I5ZTVlCiswLCAgICAgICAyODgwLCAg ICAgICAyODgwLCAgICAgIDk2MCwgICAgIDIwMTIsIDB4NjcxZGM3M2EKKzAsICAgICAgIDM4NDAs ICAgICAgIDM4NDAsICAgICAgOTYwLCAgICAgMjAxMiwgMHg3ZmQ1YjFkMgorMCwgICAgICAgNDgw MCwgICAgICAgNDgwMCwgICAgICA5NjAsICAgICAyMDEyLCAweGJlN2I5ZTVlCiswLCAgICAgICA1 NzYwLCAgICAgICA1NzYwLCAgICAgIDk2MCwgICAgIDIwMTIsIDB4NjcxZGM3M2EKKzAsICAgICAg IDY3MjAsICAgICAgIDY3MjAsICAgICAgOTYwLCAgICAgMjAxMiwgMHg3ZmQ1YjFkMgorMCwgICAg ICAgNzY4MCwgICAgICAgNzY4MCwgICAgICA5NjAsICAgICAyMDEyLCAweGJlN2I5ZTVlCiswLCAg ICAgICA4NjQwLCAgICAgICA4NjQwLCAgICAgIDk2MCwgICAgIDIwMTIsIDB4NjcxZGM3M2EKKzAs ICAgICAgIDk2MDAsICAgICAgIDk2MDAsICAgICAgOTYwLCAgICAgMjAxMiwgMHg3ZmQ1YjFkMgor MCwgICAgICAxMDU2MCwgICAgICAxMDU2MCwgICAgICA5NjAsICAgICAyMDEyLCAweGJlN2I5ZTVl CiswLCAgICAgIDExNTIwLCAgICAgIDExNTIwLCAgICAgIDk2MCwgICAgIDIwMTIsIDB4NjcxZGM3 M2EKKzAsICAgICAgMTI0ODAsICAgICAgMTI0ODAsICAgICAgOTYwLCAgICAgMjAxMiwgMHg3ZmQ1 YjFkMgorMCwgICAgICAxMzQ0MCwgICAgICAxMzQ0MCwgICAgICA5NjAsICAgICAyMDEyLCAweGJl N2I5ZTVlCiswLCAgICAgIDE0NDAwLCAgICAgIDE0NDAwLCAgICAgIDk2MCwgICAgIDIwMTIsIDB4 NjcxZGM3M2EKKzAsICAgICAgMTUzNjAsICAgICAgMTUzNjAsICAgICAgOTYwLCAgICAgMjAxMiwg MHg3ZmQ1YjFkMgorMCwgICAgICAxNjMyMCwgICAgICAxNjMyMCwgICAgICA5NjAsICAgICAyMDEy LCAweGJlN2I5ZTVlCiswLCAgICAgIDE3MjgwLCAgICAgIDE3MjgwLCAgICAgIDk2MCwgICAgIDIw MTIsIDB4NjcxZGM3M2EKKzAsICAgICAgMTgyNDAsICAgICAgMTgyNDAsICAgICAgOTYwLCAgICAg MjAxMiwgMHg3ZmQ1YjFkMgorMCwgICAgICAxOTIwMCwgICAgICAxOTIwMCwgICAgICA5NjAsICAg ICAyMDEyLCAweGJlN2I5ZTVlCiswLCAgICAgIDIwMTYwLCAgICAgIDIwMTYwLCAgICAgIDk2MCwg ICAgIDIwMTIsIDB4NjcxZGM3M2EKKzAsICAgICAgMjExMjAsICAgICAgMjExMjAsICAgICAgOTYw LCAgICAgMjAxMiwgMHg3ZmQ1YjFkMgorMCwgICAgICAyMjA4MCwgICAgICAyMjA4MCwgICAgICA5 NjAsICAgICAyMDEyLCAweGJlN2I5ZTVlCiswLCAgICAgIDIzMDQwLCAgICAgIDIzMDQwLCAgICAg IDk2MCwgICAgIDIwMTIsIDB4NjcxZGM3M2EKKzAsICAgICAgMjQwMDAsICAgICAgMjQwMDAsICAg ICAgOTYwLCAgICAgMjAxMiwgMHg3ZmQ1YjFkMgorMCwgICAgICAyNDk2MCwgICAgICAyNDk2MCwg ICAgICA5NjAsICAgICAyMDEyLCAweGJlN2I5ZTVlCiswLCAgICAgIDI1OTIwLCAgICAgIDI1OTIw LCAgICAgIDk2MCwgICAgIDIwMTIsIDB4NjcxZGM3M2EKKzAsICAgICAgMjY4ODAsICAgICAgMjY4 ODAsICAgICAgOTYwLCAgICAgMjAxMiwgMHg3ZmQ1YjFkMgorMCwgICAgICAyNzg0MCwgICAgICAy Nzg0MCwgICAgICA5NjAsICAgICAyMDEyLCAweGJlN2I5ZTVlCiswLCAgICAgIDI4ODAwLCAgICAg IDI4ODAwLCAgICAgIDk2MCwgICAgIDIwMTIsIDB4NjcxZGM3M2EKKzAsICAgICAgMjk3NjAsICAg ICAgMjk3NjAsICAgICAgOTYwLCAgICAgMjAxMiwgMHg3ZmQ1YjFkMgorMCwgICAgICAzMDcyMCwg ICAgICAzMDcyMCwgICAgICA5NjAsICAgICAyMDEyLCAweGJlN2I5ZTVlCiswLCAgICAgIDMxNjgw LCAgICAgIDMxNjgwLCAgICAgIDk2MCwgICAgIDIwMTIsIDB4NjcxZGM3M2EKKzAsICAgICAgMzI2 NDAsICAgICAgMzI2NDAsICAgICAgOTYwLCAgICAgMjAxMiwgMHg3ZmQ1YjFkMgorMCwgICAgICAz MzYwMCwgICAgICAzMzYwMCwgICAgICA5NjAsICAgICAyMDEyLCAweGJlN2I5ZTVlCiswLCAgICAg IDM0NTYwLCAgICAgIDM0NTYwLCAgICAgIDk2MCwgICAgIDIwMTIsIDB4NjcxZGM3M2EKKzAsICAg ICAgMzU1MjAsICAgICAgMzU1MjAsICAgICAgOTYwLCAgICAgMjAxMiwgMHg3ZmQ1YjFkMgorMCwg ICAgICAzNjQ4MCwgICAgICAzNjQ4MCwgICAgICA5NjAsICAgICAyMDEyLCAweGJlN2I5ZTVlCisw LCAgICAgIDM3NDQwLCAgICAgIDM3NDQwLCAgICAgIDk2MCwgICAgIDIwMTIsIDB4NjcxZGM3M2EK KzAsICAgICAgMzg0MDAsICAgICAgMzg0MDAsICAgICAgOTYwLCAgICAgMjAxMiwgMHg3ZmQ1YjFk MgorMCwgICAgICAzOTM2MCwgICAgICAzOTM2MCwgICAgICA5NjAsICAgICAyMDEyLCAweGJlN2I5 ZTVlCiswLCAgICAgIDQwMzIwLCAgICAgIDQwMzIwLCAgICAgIDk2MCwgICAgIDIwMTIsIDB4Njcx ZGM3M2EKKzAsICAgICAgNDEyODAsICAgICAgNDEyODAsICAgICAgOTYwLCAgICAgMjAxMiwgMHg3 ZmQ1YjFkMgorMCwgICAgICA0MjI0MCwgICAgICA0MjI0MCwgICAgICA5NjAsICAgICAyMDEyLCAw eGJlN2I5ZTVlCiswLCAgICAgIDQzMjAwLCAgICAgIDQzMjAwLCAgICAgIDk2MCwgICAgIDIwMTIs IDB4NjcxZGM3M2EKKzAsICAgICAgNDQxNjAsICAgICAgNDQxNjAsICAgICAgOTYwLCAgICAgMjAx MiwgMHg3ZmQ1YjFkMgorMCwgICAgICA0NTEyMCwgICAgICA0NTEyMCwgICAgICA5NjAsICAgICAy MDEyLCAweGJlN2I5ZTVlCiswLCAgICAgIDQ2MDgwLCAgICAgIDQ2MDgwLCAgICAgIDk2MCwgICAg IDIwMTIsIDB4NjcxZGM3M2EKKzAsICAgICAgNDcwNDAsICAgICAgNDcwNDAsICAgICAgOTYwLCAg ICAgMjAxMiwgMHg3ZmQ1YjFkMgorMCwgICAgICA0ODAwMCwgICAgICA0ODAwMCwgICAgICA5NjAs ICAgICAyMDEyLCAweGJlN2I5ZTVlCiswLCAgICAgIDQ4OTYwLCAgICAgIDQ4OTYwLCAgICAgIDk2 MCwgICAgIDIwMTIsIDB4NjcxZGM3M2EKKzAsICAgICAgNDk5MjAsICAgICAgNDk5MjAsICAgICAg OTYwLCAgICAgMjAxMiwgMHg3ZmQ1YjFkMgorMCwgICAgICA1MDg4MCwgICAgICA1MDg4MCwgICAg ICA5NjAsICAgICAyMDEyLCAweGJlN2I5ZTVlCiswLCAgICAgIDUxODQwLCAgICAgIDUxODQwLCAg ICAgIDk2MCwgICAgIDIwMTIsIDB4NjcxZGM3M2EKKzAsICAgICAgNTI4MDAsICAgICAgNTI4MDAs ICAgICAgOTYwLCAgICAgMjAxMiwgMHg3ZmQ1YjFkMgorMCwgICAgICA1Mzc2MCwgICAgICA1Mzc2 MCwgICAgICA5NjAsICAgICAyMDEyLCAweGJlN2I5ZTVlCiswLCAgICAgIDU0NzIwLCAgICAgIDU0 NzIwLCAgICAgIDk2MCwgICAgIDIwMTIsIDB4NjcxZGM3M2EKKzAsICAgICAgNTU2ODAsICAgICAg NTU2ODAsICAgICAgOTYwLCAgICAgMjAxMiwgMHg3ZmQ1YjFkMgorMCwgICAgICA1NjY0MCwgICAg ICA1NjY0MCwgICAgICA5NjAsICAgICAyMDEyLCAweGJlN2I5ZTVlCiswLCAgICAgIDU3NjAwLCAg ICAgIDU3NjAwLCAgICAgIDk2MCwgICAgIDIwMTIsIDB4NjcxZGM3M2EKKzAsICAgICAgNTg1NjAs ICAgICAgNTg1NjAsICAgICAgOTYwLCAgICAgMjAxMiwgMHg3ZmQ1YjFkMgorMCwgICAgICA1OTUy MCwgICAgICA1OTUyMCwgICAgICA5NjAsICAgICAyMDEyLCAweGJlN2I5ZTVlCiswLCAgICAgIDYw NDgwLCAgICAgIDYwNDgwLCAgICAgIDk2MCwgICAgIDIwMTIsIDB4NjcxZGM3M2EKKzAsICAgICAg NjE0NDAsICAgICAgNjE0NDAsICAgICAgOTYwLCAgICAgMjAxMiwgMHg3ZmQ1YjFkMgorMCwgICAg ICA2MjQwMCwgICAgICA2MjQwMCwgICAgICA5NjAsICAgICAyMDEyLCAweGJlN2I5ZTVlCiswLCAg ICAgIDYzMzYwLCAgICAgIDYzMzYwLCAgICAgIDk2MCwgICAgIDIwMTIsIDB4NjcxZGM3M2EKKzAs ICAgICAgNjQzMjAsICAgICAgNjQzMjAsICAgICAgOTYwLCAgICAgMjAxMiwgMHg3ZmQ1YjFkMgor MCwgICAgICA2NTI4MCwgICAgICA2NTI4MCwgICAgICA5NjAsICAgICAyMDEyLCAweGJlN2I5ZTVl CiswLCAgICAgIDY2MjQwLCAgICAgIDY2MjQwLCAgICAgIDk2MCwgICAgIDIwMTIsIDB4NjcxZGM3 M2EKKzAsICAgICAgNjcyMDAsICAgICAgNjcyMDAsICAgICAgOTYwLCAgICAgMjAxMiwgMHg3ZmQ1 YjFkMgorMCwgICAgICA2ODE2MCwgICAgICA2ODE2MCwgICAgICA5NjAsICAgICAyMDEyLCAweGJl N2I5ZTVlCiswLCAgICAgIDY5MTIwLCAgICAgIDY5MTIwLCAgICAgIDk2MCwgICAgIDIwMTIsIDB4 NjcxZGM3M2EKKzAsICAgICAgNzAwODAsICAgICAgNzAwODAsICAgICAgOTYwLCAgICAgMjAxMiwg MHg3ZmQ1YjFkMgorMCwgICAgICA3MTA0MCwgICAgICA3MTA0MCwgICAgICA5NjAsICAgICAyMDEy LCAweGJlN2I5ZTVlCiswLCAgICAgIDcyMDAwLCAgICAgIDcyMDAwLCAgICAgIDk2MCwgICAgIDIw MTIsIDB4NjcxZGM3M2EKKzAsICAgICAgNzI5NjAsICAgICAgNzI5NjAsICAgICAgOTYwLCAgICAg MjAxMiwgMHg3ZmQ1YjFkMgorMCwgICAgICA3MzkyMCwgICAgICA3MzkyMCwgICAgICA5NjAsICAg ICAyMDEyLCAweGJlN2I5ZTVlCiswLCAgICAgIDc0ODgwLCAgICAgIDc0ODgwLCAgICAgIDk2MCwg ICAgIDIwMTIsIDB4NjcxZGM3M2EKKzAsICAgICAgNzU4NDAsICAgICAgNzU4NDAsICAgICAgOTYw LCAgICAgMjAxMiwgMHg3ZmQ1YjFkMgorMCwgICAgICA3NjgwMCwgICAgICA3NjgwMCwgICAgICA5 NjAsICAgICAyMDEyLCAweGJlN2I5ZTVlCiswLCAgICAgIDc3NzYwLCAgICAgIDc3NzYwLCAgICAg IDk2MCwgICAgIDIwMTIsIDB4NjcxZGM3M2EKKzAsICAgICAgNzg3MjAsICAgICAgNzg3MjAsICAg ICAgOTYwLCAgICAgMjAxMiwgMHg3ZmQ1YjFkMgorMCwgICAgICA3OTY4MCwgICAgICA3OTY4MCwg ICAgICA5NjAsICAgICAyMDEyLCAweGJlN2I5ZTVlCiswLCAgICAgIDgwNjQwLCAgICAgIDgwNjQw LCAgICAgIDk2MCwgICAgIDIwMTIsIDB4NjcxZGM3M2EKKzAsICAgICAgODE2MDAsICAgICAgODE2 MDAsICAgICAgOTYwLCAgICAgMjAxMiwgMHg3ZmQ1YjFkMgorMCwgICAgICA4MjU2MCwgICAgICA4 MjU2MCwgICAgICA5NjAsICAgICAyMDEyLCAweGJlN2I5ZTVlCiswLCAgICAgIDgzNTIwLCAgICAg IDgzNTIwLCAgICAgIDk2MCwgICAgIDIwMTIsIDB4NjcxZGM3M2EKKzAsICAgICAgODQ0ODAsICAg ICAgODQ0ODAsICAgICAgOTYwLCAgICAgMjAxMiwgMHg3ZmQ1YjFkMgorMCwgICAgICA4NTQ0MCwg ICAgICA4NTQ0MCwgICAgICA5NjAsICAgICAyMDEyLCAweGJlN2I5ZTVlCiswLCAgICAgIDg2NDAw LCAgICAgIDg2NDAwLCAgICAgIDk2MCwgICAgIDIwMTIsIDB4NjcxZGM3M2EKKzAsICAgICAgODcz NjAsICAgICAgODczNjAsICAgICAgOTYwLCAgICAgMjAxMiwgMHg3ZmQ1YjFkMgorMCwgICAgICA4 ODMyMCwgICAgICA4ODMyMCwgICAgICA5NjAsICAgICAyMDEyLCAweGJlN2I5ZTVlCiswLCAgICAg IDg5MjgwLCAgICAgIDg5MjgwLCAgICAgIDk2MCwgICAgIDIwMTIsIDB4NjcxZGM3M2EKKzAsICAg ICAgOTAyNDAsICAgICAgOTAyNDAsICAgICAgOTYwLCAgICAgMjAxMiwgMHg3ZmQ1YjFkMgorMCwg ICAgICA5MTIwMCwgICAgICA5MTIwMCwgICAgICA5NjAsICAgICAyMDEyLCAweGE5MjU5ZGYxCisw LCAgICAgIDkyMTYwLCAgICAgIDkyMTYwLCAgICAgIDk2MCwgICAgIDIwMTIsIDB4M2U4YzJiOTIK KzAsICAgICAgOTMxMjAsICAgICAgOTMxMjAsICAgICAgOTYwLCAgICAgMjAxMiwgMHg0ODc2YTlm ZgorMCwgICAgICA5NDA4MCwgICAgICA5NDA4MCwgICAgICA5NjAsICAgICAyMDEyLCAweDdlNDY5 MTgyCiswLCAgICAgIDk1MDQwLCAgICAgIDk1MDQwLCAgICAgIDk2MCwgICAgIDIwMTIsIDB4MTBl YmE0MDEKKzAsICAgICAgOTYwMDAsICAgICAgOTYwMDAsICAgICAgOTYwLCAgICAgMjAxMiwgMHg1 MWM2OGVkMworMCwgICAgICA5Njk2MCwgICAgICA5Njk2MCwgICAgICA5NjAsICAgICAyMDEyLCAw eDNmNTI5MDFiCiswLCAgICAgIDk3OTIwLCAgICAgIDk3OTIwLCAgICAgIDk2MCwgICAgIDIwMTIs IDB4N2JlYmFjY2UKKzAsICAgICAgOTg4ODAsICAgICAgOTg4ODAsICAgICAgOTYwLCAgICAgMjAx MiwgMHhjYjk0ODk4ZAorMCwgICAgICA5OTg0MCwgICAgICA5OTg0MCwgICAgICA5NjAsICAgICAy MDEyLCAweDE0ZTNhZTcwCiswLCAgICAgMTAwODAwLCAgICAgMTAwODAwLCAgICAgIDk2MCwgICAg IDIwMTIsIDB4MDE2ODkzY2IKKzAsICAgICAxMDE3NjAsICAgICAxMDE3NjAsICAgICAgOTYwLCAg ICAgMjAxMiwgMHgwMDczOWYwYQorMCwgICAgIDEwMjcyMCwgICAgIDEwMjcyMCwgICAgICA5NjAs ICAgICAyMDEyLCAweDgzNGFiYTQxCiswLCAgICAgMTAzNjgwLCAgICAgMTAzNjgwLCAgICAgIDk2 MCwgICAgIDIwMTIsIDB4NmE5MmFjMDgKKzAsICAgICAxMDQ2NDAsICAgICAxMDQ2NDAsICAgICAg OTYwLCAgICAgMjAxMiwgMHgwOWVkYTI1NworMCwgICAgIDEwNTYwMCwgICAgIDEwNTYwMCwgICAg ICA5NjAsICAgICAyMDEyLCAweDgxNDQ5ZTNmCiswLCAgICAgMTA2NTYwLCAgICAgMTA2NTYwLCAg ICAgIDk2MCwgICAgIDIwMTIsIDB4ZTZlYjkxZDQKKzAsICAgICAxMDc1MjAsICAgICAxMDc1MjAs ICAgICAgOTYwLCAgICAgMjAxMiwgMHg1MTE1OGMwZQorMCwgICAgIDEwODQ4MCwgICAgIDEwODQ4 MCwgICAgICA5NjAsICAgICAyMDEyLCAweDg0ZTRhMDEzCiswLCAgICAgMTA5NDQwLCAgICAgMTA5 NDQwLCAgICAgIDk2MCwgICAgIDIwMTIsIDB4NGM0OGEwZTYKKzAsICAgICAxMTA0MDAsICAgICAx MTA0MDAsICAgICAgOTYwLCAgICAgMjAxMiwgMHhmNTRjOTgxMQorMCwgICAgIDExMTM2MCwgICAg IDExMTM2MCwgICAgICA5NjAsICAgICAyMDEyLCAweDYyNzc4ZWRiCiswLCAgICAgMTEyMzIwLCAg ICAgMTEyMzIwLCAgICAgIDk2MCwgICAgIDIwMTIsIDB4NzIyNmE1MWIKKzAsICAgICAxMTMyODAs ICAgICAxMTMyODAsICAgICAgOTYwLCAgICAgMjAxMiwgMHg0NGI5YWFkOAorMCwgICAgIDExNDI0 MCwgICAgIDExNDI0MCwgICAgICA5NjAsICAgICAyMDEyLCAweDhhYTZiMzgwCiswLCAgICAgMTE1 MjAwLCAgICAgMTE1MjAwLCAgICAgIDk2MCwgICAgIDIwMTIsIDB4Yzg4Yzk5ZTYKKzAsICAgICAx MTYxNjAsICAgICAxMTYxNjAsICAgICAgOTYwLCAgICAgMjAxMiwgMHhlZDVlOTNlMgorMCwgICAg IDExNzEyMCwgICAgIDExNzEyMCwgICAgICA5NjAsICAgICAyMDEyLCAweGViMGI5NzU1CiswLCAg ICAgMTE4MDgwLCAgICAgMTE4MDgwLCAgICAgIDk2MCwgICAgIDIwMTIsIDB4ZTViYThjYTkKKzAs ICAgICAxMTkwNDAsICAgICAxMTkwNDAsICAgICAgOTYwLCAgICAgMjAxMiwgMHgyZmVmOWJjZgor MCwgICAgIDEyMDAwMCwgICAgIDEyMDAwMCwgICAgICA5NjAsICAgICAyMDEyLCAweGYxOWM4NzQ5 CiswLCAgICAgMTIwOTYwLCAgICAgMTIwOTYwLCAgICAgIDk2MCwgICAgIDIwMTIsIDB4MGZlYjk0 ZDAKKzAsICAgICAxMjE5MjAsICAgICAxMjE5MjAsICAgICAgOTYwLCAgICAgMjAxMiwgMHgxZjkx OTRkMQorMCwgICAgIDEyMjg4MCwgICAgIDEyMjg4MCwgICAgICA5NjAsICAgICAyMDEyLCAweDBj YWQ5ODIyCiswLCAgICAgMTIzODQwLCAgICAgMTIzODQwLCAgICAgIDk2MCwgICAgIDIwMTIsIDB4 ZTZmNzkxNTIKKzAsICAgICAxMjQ4MDAsICAgICAxMjQ4MDAsICAgICAgOTYwLCAgICAgMjAxMiwg MHg2OWU3ODk1NQorMCwgICAgIDEyNTc2MCwgICAgIDEyNTc2MCwgICAgICA5NjAsICAgICAyMDEy LCAweDkxZGQ4YTFiCiswLCAgICAgMTI2NzIwLCAgICAgMTI2NzIwLCAgICAgIDk2MCwgICAgIDIw MTIsIDB4NjNmZThlZWEKKzAsICAgICAxMjc2ODAsICAgICAxMjc2ODAsICAgICAgOTYwLCAgICAg MjAxMiwgMHg4ZjZkOTBhMgorMCwgICAgIDEyODY0MCwgICAgIDEyODY0MCwgICAgICA5NjAsICAg ICAyMDEyLCAweGUzYmY4NjI2CiswLCAgICAgMTI5NjAwLCAgICAgMTI5NjAwLCAgICAgIDk2MCwg ICAgIDIwMTIsIDB4ZDA4NTk5ZGIKKzAsICAgICAxMzA1NjAsICAgICAxMzA1NjAsICAgICAgOTYw LCAgICAgMjAxMiwgMHhmNTU2YTI4MgorMCwgICAgIDEzMTUyMCwgICAgIDEzMTUyMCwgICAgICA5 NjAsICAgICAyMDEyLCAweDdmOGM4ZjkwCiswLCAgICAgMTMyNDgwLCAgICAgMTMyNDgwLCAgICAg IDk2MCwgICAgIDIwMTIsIDB4YTA0NDkzYjkKKzAsICAgICAxMzM0NDAsICAgICAxMzM0NDAsICAg ICAgOTYwLCAgICAgMjAxMiwgMHgyMWExOWIzYQorMCwgICAgIDEzNDQwMCwgICAgIDEzNDQwMCwg ICAgICA5NjAsICAgICAyMDEyLCAweDZlYWQ5MjQ0CiswLCAgICAgMTM1MzYwLCAgICAgMTM1MzYw LCAgICAgIDk2MCwgICAgIDIwMTIsIDB4ZTY1MjkwZDcKKzAsICAgICAxMzYzMjAsICAgICAxMzYz MjAsICAgICAgOTYwLCAgICAgMjAxMiwgMHg4ZmY1OGE4ZQorMCwgICAgIDEzNzI4MCwgICAgIDEz NzI4MCwgICAgICA5NjAsICAgICAyMDEyLCAweDI0YWRhNjAzCiswLCAgICAgMTM4MjQwLCAgICAg MTM4MjQwLCAgICAgIDk2MCwgICAgIDIwMTIsIDB4NzljYjg1YzcKKzAsICAgICAxMzkyMDAsICAg ICAxMzkyMDAsICAgICAgOTYwLCAgICAgMjAxMiwgMHg2M2MwYWM1NAorMCwgICAgIDE0MDE2MCwg ICAgIDE0MDE2MCwgICAgICA5NjAsICAgICAyMDEyLCAweDdmNzE5ZjgzCiswLCAgICAgMTQxMTIw LCAgICAgMTQxMTIwLCAgICAgIDk2MCwgICAgIDIwMTIsIDB4MmViNjk2NTQKKzAsICAgICAxNDIw ODAsICAgICAxNDIwODAsICAgICAgOTYwLCAgICAgMjAxMiwgMHhmNTE0OWJjMAorMCwgICAgIDE0 MzA0MCwgICAgIDE0MzA0MCwgICAgICA5NjAsICAgICAyMDEyLCAweGQwZDZhNDE0CiswLCAgICAg MTQ0MDAwLCAgICAgMTQ0MDAwLCAgICAgIDk2MCwgICAgIDIwMTIsIDB4NGY0YThlZDMKKzAsICAg ICAxNDQ5NjAsICAgICAxNDQ5NjAsICAgICAgOTYwLCAgICAgMjAxMiwgMHgyMDg4OGNiNQorMCwg ICAgIDE0NTkyMCwgICAgIDE0NTkyMCwgICAgICA5NjAsICAgICAyMDEyLCAweDEzNDM5Yzg2Cisw LCAgICAgMTQ2ODgwLCAgICAgMTQ2ODgwLCAgICAgIDk2MCwgICAgIDIwMTIsIDB4YzhmYzk4ZTEK KzAsICAgICAxNDc4NDAsICAgICAxNDc4NDAsICAgICAgOTYwLCAgICAgMjAxMiwgMHgxNDY4OTc2 NgorMCwgICAgIDE0ODgwMCwgICAgIDE0ODgwMCwgICAgICA5NjAsICAgICAyMDEyLCAweDgzMDI5 M2U0CiswLCAgICAgMTQ5NzYwLCAgICAgMTQ5NzYwLCAgICAgIDk2MCwgICAgIDIwMTIsIDB4ZGQ1 YmI4Y2UKKzAsICAgICAxNTA3MjAsICAgICAxNTA3MjAsICAgICAgOTYwLCAgICAgMjAxMiwgMHgw MDVlYTI4MAorMCwgICAgIDE1MTY4MCwgICAgIDE1MTY4MCwgICAgICA5NjAsICAgICAyMDEyLCAw eDliMDU4MWUyCiswLCAgICAgMTUyNjQwLCAgICAgMTUyNjQwLCAgICAgIDk2MCwgICAgIDIwMTIs IDB4MjEwZjg5YjgKKzAsICAgICAxNTM2MDAsICAgICAxNTM2MDAsICAgICAgOTYwLCAgICAgMjAx MiwgMHhiN2MxODBiZAorMCwgICAgIDE1NDU2MCwgICAgIDE1NDU2MCwgICAgICA5NjAsICAgICAy MDEyLCAweGU1M2M4NWU0CiswLCAgICAgMTU1NTIwLCAgICAgMTU1NTIwLCAgICAgIDk2MCwgICAg IDIwMTIsIDB4MWY2ODkyMDcKKzAsICAgICAxNTY0ODAsICAgICAxNTY0ODAsICAgICAgOTYwLCAg ICAgMjAxMiwgMHg1NjUzODEzYgorMCwgICAgIDE1NzQ0MCwgICAgIDE1NzQ0MCwgICAgICA5NjAs ICAgICAyMDEyLCAweDFkMjc4ZDY2CiswLCAgICAgMTU4NDAwLCAgICAgMTU4NDAwLCAgICAgIDk2 MCwgICAgIDIwMTIsIDB4ZDk0YzlhODMKKzAsICAgICAxNTkzNjAsICAgICAxNTkzNjAsICAgICAg OTYwLCAgICAgMjAxMiwgMHg3YWY0ODU0OAorMCwgICAgIDE2MDMyMCwgICAgIDE2MDMyMCwgICAg ICA5NjAsICAgICAyMDEyLCAweDg2MjA5Yzk5CiswLCAgICAgMTYxMjgwLCAgICAgMTYxMjgwLCAg ICAgIDk2MCwgICAgIDIwMTIsIDB4NmUzYjdmYzkKKzAsICAgICAxNjIyNDAsICAgICAxNjIyNDAs ICAgICAgOTYwLCAgICAgMjAxMiwgMHg0MWMyODllNworMCwgICAgIDE2MzIwMCwgICAgIDE2MzIw MCwgICAgICA5NjAsICAgICAyMDEyLCAweDhiZWE4NWRiCiswLCAgICAgMTY0MTYwLCAgICAgMTY0 MTYwLCAgICAgIDk2MCwgICAgIDIwMTIsIDB4NDVjOThjMzkKKzAsICAgICAxNjUxMjAsICAgICAx NjUxMjAsICAgICAgOTYwLCAgICAgMjAxMiwgMHhlZTA5ODc1NQorMCwgICAgIDE2NjA4MCwgICAg IDE2NjA4MCwgICAgICA5NjAsICAgICAyMDEyLCAweDQ4NWQ5ZWMxCiswLCAgICAgMTY3MDQwLCAg ICAgMTY3MDQwLCAgICAgIDk2MCwgICAgIDIwMTIsIDB4Nzg4MTkwMjMKKzAsICAgICAxNjgwMDAs ICAgICAxNjgwMDAsICAgICAgOTYwLCAgICAgMjAxMiwgMHhmNDMzNzdiZAorMCwgICAgIDE2ODk2 MCwgICAgIDE2ODk2MCwgICAgICA5NjAsICAgICAyMDEyLCAweDQzZmM5NDM5CiswLCAgICAgMTY5 OTIwLCAgICAgMTY5OTIwLCAgICAgIDk2MCwgICAgIDIwMTIsIDB4MDQ1ZTliZjMKKzAsICAgICAx NzA4ODAsICAgICAxNzA4ODAsICAgICAgOTYwLCAgICAgMjAxMiwgMHgwZmMwOWYwYworMCwgICAg IDE3MTg0MCwgICAgIDE3MTg0MCwgICAgICA5NjAsICAgICAyMDEyLCAweDdiYTY5YmY1CiswLCAg ICAgMTcyODAwLCAgICAgMTcyODAwLCAgICAgIDk2MCwgICAgIDIwMTIsIDB4NGFhN2FhZjAKKzAs ICAgICAxNzM3NjAsICAgICAxNzM3NjAsICAgICAgOTYwLCAgICAgMjAxMiwgMHg2MjBjODViZgor MCwgICAgIDE3NDcyMCwgICAgIDE3NDcyMCwgICAgICA5NjAsICAgICAyMDEyLCAweGE2YmI4YTMw CiswLCAgICAgMTc1NjgwLCAgICAgMTc1NjgwLCAgICAgIDk2MCwgICAgIDIwMTIsIDB4ZmQxMDg4 M2MKKzAsICAgICAxNzY2NDAsICAgICAxNzY2NDAsICAgICAgOTYwLCAgICAgMjAxMiwgMHgzMjAz N2UxNworMCwgICAgIDE3NzYwMCwgICAgIDE3NzYwMCwgICAgICA5NjAsICAgICAyMDEyLCAweGIx OGM5ZTAxCiswLCAgICAgMTc4NTYwLCAgICAgMTc4NTYwLCAgICAgIDk2MCwgICAgIDIwMTIsIDB4 ZDgyMDZlZTUKKzAsICAgICAxNzk1MjAsICAgICAxNzk1MjAsICAgICAgOTYwLCAgICAgMjAxMiwg MHhkYmM0OTEzNgorMCwgICAgIDE4MDQ4MCwgICAgIDE4MDQ4MCwgICAgICA5NjAsICAgICAyMDEy LCAweDY1MGE3ODVkCiswLCAgICAgMTgxNDQwLCAgICAgMTgxNDQwLCAgICAgIDk2MCwgICAgIDIw MTIsIDB4OWUxMDdkNjEKKzAsICAgICAxODI0MDAsICAgICAxODI0MDAsICAgICAgOTYwLCAgICAg MjAxMiwgMHhiZjRlYWM1MAorMCwgICAgIDE4MzM2MCwgICAgIDE4MzM2MCwgICAgICA5NjAsICAg ICAyMDEyLCAweDlkOGY3OWIyCiswLCAgICAgMTg0MzIwLCAgICAgMTg0MzIwLCAgICAgIDk2MCwg ICAgIDIwMTIsIDB4MjUyZDhlOGEKKzAsICAgICAxODUyODAsICAgICAxODUyODAsICAgICAgOTYw LCAgICAgMjAxMiwgMHgwMGFmOGZkNgorMCwgICAgIDE4NjI0MCwgICAgIDE4NjI0MCwgICAgICA5 NjAsICAgICAyMDEyLCAweDllMzg4ZDNiCiswLCAgICAgMTg3MjAwLCAgICAgMTg3MjAwLCAgICAg IDk2MCwgICAgIDIwMTIsIDB4NzVkZTdmNTYKKzAsICAgICAxODgxNjAsICAgICAxODgxNjAsICAg ICAgOTYwLCAgICAgMjAxMiwgMHhkNTAyODM5YworMCwgICAgIDE4OTEyMCwgICAgIDE4OTEyMCwg ICAgICA5NjAsICAgICAyMDEyLCAweDY2NzA5ZTAzCiswLCAgICAgMTkwMDgwLCAgICAgMTkwMDgw LCAgICAgIDk2MCwgICAgIDIwMTIsIDB4M2UwYTk2YmEKKzAsICAgICAxOTEwNDAsICAgICAxOTEw NDAsICAgICAgOTYwLCAgICAgMjAxMiwgMHgwODEzYWQ0ZQorMCwgICAgIDE5MjAwMCwgICAgIDE5 MjAwMCwgICAgICA5NjAsICAgICAyMDEyLCAweDc5OWM5MGM1CiswLCAgICAgMTkyOTYwLCAgICAg MTkyOTYwLCAgICAgIDk2MCwgICAgIDIwMTIsIDB4OThhMThiZWQKKzAsICAgICAxOTM5MjAsICAg ICAxOTM5MjAsICAgICAgOTYwLCAgICAgMjAxMiwgMHg4Y2QxOTdkNworMCwgICAgIDE5NDg4MCwg ICAgIDE5NDg4MCwgICAgICA5NjAsICAgICAyMDEyLCAweGY5ZWE4YjIyCiswLCAgICAgMTk1ODQw LCAgICAgMTk1ODQwLCAgICAgIDk2MCwgICAgIDIwMTIsIDB4Njc0ZjdjZDIKKzAsICAgICAxOTY4 MDAsICAgICAxOTY4MDAsICAgICAgOTYwLCAgICAgMjAxMiwgMHhhNWMzOTEzNgorMCwgICAgIDE5 Nzc2MCwgICAgIDE5Nzc2MCwgICAgICA5NjAsICAgICAyMDEyLCAweGUwNjRhYzMwCiswLCAgICAg MTk4NzIwLCAgICAgMTk4NzIwLCAgICAgIDk2MCwgICAgIDIwMTIsIDB4MmFmNzhjNzUKKzAsICAg ICAxOTk2ODAsICAgICAxOTk2ODAsICAgICAgOTYwLCAgICAgMjAxMiwgMHg0M2RmOWIxOQorMCwg ICAgIDIwMDY0MCwgICAgIDIwMDY0MCwgICAgICA5NjAsICAgICAyMDEyLCAweDhkMWE4N2Q1Cisw LCAgICAgMjAxNjAwLCAgICAgMjAxNjAwLCAgICAgIDk2MCwgICAgIDIwMTIsIDB4ZDViZThkMjkK KzAsICAgICAyMDI1NjAsICAgICAyMDI1NjAsICAgICAgOTYwLCAgICAgMjAxMiwgMHg0MzQ0OGJk NAorMCwgICAgIDIwMzUyMCwgICAgIDIwMzUyMCwgICAgICA5NjAsICAgICAyMDEyLCAweGExMjhh MzBiCiswLCAgICAgMjA0NDgwLCAgICAgMjA0NDgwLCAgICAgIDk2MCwgICAgIDIwMTIsIDB4NmZj Mjk5MDIKKzAsICAgICAyMDU0NDAsICAgICAyMDU0NDAsICAgICAgOTYwLCAgICAgMjAxMiwgMHg1 ODU0YTI0YgorMCwgICAgIDIwNjQwMCwgICAgIDIwNjQwMCwgICAgICA5NjAsICAgICAyMDEyLCAw eGIyMjI5NThhCiswLCAgICAgMjA3MzYwLCAgICAgMjA3MzYwLCAgICAgIDk2MCwgICAgIDIwMTIs IDB4ZmNhMzljY2UKKzAsICAgICAyMDgzMjAsICAgICAyMDgzMjAsICAgICAgOTYwLCAgICAgMjAx MiwgMHhlZTAwODdmMAorMCwgICAgIDIwOTI4MCwgICAgIDIwOTI4MCwgICAgICA5NjAsICAgICAy MDEyLCAweGQyZDY5YjhjCiswLCAgICAgMjEwMjQwLCAgICAgMjEwMjQwLCAgICAgIDk2MCwgICAg IDIwMTIsIDB4ZTIzMDhmOGQKKzAsICAgICAyMTEyMDAsICAgICAyMTEyMDAsICAgICAgOTYwLCAg ICAgMjAxMiwgMHg4ZGM0YjA5YQorMCwgICAgIDIxMjE2MCwgICAgIDIxMjE2MCwgICAgICA5NjAs ICAgICAyMDEyLCAweDE0NDg5YWVmCiswLCAgICAgMjEzMTIwLCAgICAgMjEzMTIwLCAgICAgIDk2 MCwgICAgIDIwMTIsIDB4OTAwZjk4MzUKKzAsICAgICAyMTQwODAsICAgICAyMTQwODAsICAgICAg OTYwLCAgICAgMjAxMiwgMHgwMDkyYTk1ZgorMCwgICAgIDIxNTA0MCwgICAgIDIxNTA0MCwgICAg ICA5NjAsICAgICAyMDEyLCAweGZkOTBiMWJmCiswLCAgICAgMjE2MDAwLCAgICAgMjE2MDAwLCAg ICAgIDk2MCwgICAgIDIwMTIsIDB4YjExYWI1ZDUKKzAsICAgICAyMTY5NjAsICAgICAyMTY5NjAs ICAgICAgOTYwLCAgICAgMjAxMiwgMHhjODAyYjkwOAorMCwgICAgIDIxNzkyMCwgICAgIDIxNzky MCwgICAgICA5NjAsICAgICAyMDEyLCAweGIxMmFhOTFlCiswLCAgICAgMjE4ODgwLCAgICAgMjE4 ODgwLCAgICAgIDk2MCwgICAgIDIwMTIsIDB4ZDE3M2MyYTkKKzAsICAgICAyMTk4NDAsICAgICAy MTk4NDAsICAgICAgOTYwLCAgICAgMjAxMiwgMHhhZWFmYjg4NworMCwgICAgIDIyMDgwMCwgICAg IDIyMDgwMCwgICAgICA5NjAsICAgICAyMDEyLCAweGViN2ViMGQ3CiswLCAgICAgMjIxNzYwLCAg ICAgMjIxNzYwLCAgICAgIDk2MCwgICAgIDIwMTIsIDB4OWFmYmM1NmEKKzAsICAgICAyMjI3MjAs ICAgICAyMjI3MjAsICAgICAgOTYwLCAgICAgMjAxMiwgMHgyZDc4YmMzNAorMCwgICAgIDIyMzY4 MCwgICAgIDIyMzY4MCwgICAgICA5NjAsICAgICAyMDEyLCAweDY1NTBhZWQxCiswLCAgICAgMjI0 NjQwLCAgICAgMjI0NjQwLCAgICAgIDk2MCwgICAgIDIwMTIsIDB4ZDUxNGE1NWQKKzAsICAgICAy MjU2MDAsICAgICAyMjU2MDAsICAgICAgOTYwLCAgICAgMjAxMiwgMHg5MDU4YzI2MworMCwgICAg IDIyNjU2MCwgICAgIDIyNjU2MCwgICAgICA5NjAsICAgICAyMDEyLCAweGY4MTliNjZhCiswLCAg ICAgMjI3NTIwLCAgICAgMjI3NTIwLCAgICAgIDk2MCwgICAgIDIwMTIsIDB4MTZhNWM5MDIKKzAs ICAgICAyMjg0ODAsICAgICAyMjg0ODAsICAgICAgOTYwLCAgICAgMjAxMiwgMHg2MDJmYzExYgor MCwgICAgIDIyOTQ0MCwgICAgIDIyOTQ0MCwgICAgICA5NjAsICAgICAyMDEyLCAweGUzYzZiMTc3 CiswLCAgICAgMjMwNDAwLCAgICAgMjMwNDAwLCAgICAgIDk2MCwgICAgIDIwMTIsIDB4YWNjNGNk MDYKKzAsICAgICAyMzEzNjAsICAgICAyMzEzNjAsICAgICAgOTYwLCAgICAgMjAxMiwgMHhlYjk2 YWRkYgorMCwgICAgIDIzMjMyMCwgICAgIDIzMjMyMCwgICAgICA5NjAsICAgICAyMDEyLCAweDEx OTVjYWQzCiswLCAgICAgMjMzMjgwLCAgICAgMjMzMjgwLCAgICAgIDk2MCwgICAgIDIwMTIsIDB4 OGU5NmFkN2YKKzAsICAgICAyMzQyNDAsICAgICAyMzQyNDAsICAgICAgOTYwLCAgICAgMjAxMiwg MHgzMWU1OTJiNworMCwgICAgIDIzNTIwMCwgICAgIDIzNTIwMCwgICAgICA5NjAsICAgICAyMDEy LCAweGEwYzVjY2YwCiswLCAgICAgMjM2MTYwLCAgICAgMjM2MTYwLCAgICAgIDk2MCwgICAgIDIw MTIsIDB4NmU3N2M5MmIKKzAsICAgICAyMzcxMjAsICAgICAyMzcxMjAsICAgICAgOTYwLCAgICAg MjAxMiwgMHhlODdmYTkyOAorMCwgICAgIDIzODA4MCwgICAgIDIzODA4MCwgICAgICA5NjAsICAg ICAyMDEyLCAweDQ5MjNiY2RiCiswLCAgICAgMjM5MDQwLCAgICAgMjM5MDQwLCAgICAgIDk2MCwg ICAgIDIwMTIsIDB4MzI2MGI0NTIKKzAsICAgICAyNDAwMDAsICAgICAyNDAwMDAsICAgICAgOTYw LCAgICAgMjAxMiwgMHg2MmJlYWZhMAorMCwgICAgIDI0MDk2MCwgICAgIDI0MDk2MCwgICAgICA5 NjAsICAgICAyMDEyLCAweDVhNmZjMThhCiswLCAgICAgMjQxOTIwLCAgICAgMjQxOTIwLCAgICAg IDk2MCwgICAgIDIwMTIsIDB4OWQwNWFlODcKKzAsICAgICAyNDI4ODAsICAgICAyNDI4ODAsICAg ICAgOTYwLCAgICAgMjAxMiwgMHhiNTc3YTU0ZQorMCwgICAgIDI0Mzg0MCwgICAgIDI0Mzg0MCwg ICAgICA5NjAsICAgICAyMDEyLCAweGQ2NmJjNWVmCiswLCAgICAgMjQ0ODAwLCAgICAgMjQ0ODAw LCAgICAgIDk2MCwgICAgIDIwMTIsIDB4NDBiZWM3YmIKKzAsICAgICAyNDU3NjAsICAgICAyNDU3 NjAsICAgICAgOTYwLCAgICAgMjAxMiwgMHhlZGQzYTFiOQorMCwgICAgIDI0NjcyMCwgICAgIDI0 NjcyMCwgICAgICA5NjAsICAgICAyMDEyLCAweGY2ZjQ5ZjgzCiswLCAgICAgMjQ3NjgwLCAgICAg MjQ3NjgwLCAgICAgIDk2MCwgICAgIDIwMTIsIDB4MzE2ZmIwNmQKKzAsICAgICAyNDg2NDAsICAg ICAyNDg2NDAsICAgICAgOTYwLCAgICAgMjAxMiwgMHhjM2YzYTg3NAorMCwgICAgIDI0OTYwMCwg ICAgIDI0OTYwMCwgICAgICA5NjAsICAgICAyMDEyLCAweDNhOTZiM2JkCiswLCAgICAgMjUwNTYw LCAgICAgMjUwNTYwLCAgICAgIDk2MCwgICAgIDIwMTIsIDB4ODI1YWJhMzAKKzAsICAgICAyNTE1 MjAsICAgICAyNTE1MjAsICAgICAgOTYwLCAgICAgMjAxMiwgMHg1YjU4Y2U2NgorMCwgICAgIDI1 MjQ4MCwgICAgIDI1MjQ4MCwgICAgICA5NjAsICAgICAyMDEyLCAweDQxMmRjMDkyCiswLCAgICAg MjUzNDQwLCAgICAgMjUzNDQwLCAgICAgIDk2MCwgICAgIDIwMTIsIDB4Y2I0N2JmYTMKKzAsICAg ICAyNTQ0MDAsICAgICAyNTQ0MDAsICAgICAgOTYwLCAgICAgMjAxMiwgMHhlMDI1YmI3OQorMCwg ICAgIDI1NTM2MCwgICAgIDI1NTM2MCwgICAgICA5NjAsICAgICAyMDEyLCAweDAwNDJiYTUzCisw LCAgICAgMjU2MzIwLCAgICAgMjU2MzIwLCAgICAgIDk2MCwgICAgIDIwMTIsIDB4N2U5YmJhMWQK KzAsICAgICAyNTcyODAsICAgICAyNTcyODAsICAgICAgOTYwLCAgICAgMjAxMiwgMHgwMDU4Yzk5 ZAorMCwgICAgIDI1ODI0MCwgICAgIDI1ODI0MCwgICAgICA5NjAsICAgICAyMDEyLCAweDQ3ZDJi NTkwCiswLCAgICAgMjU5MjAwLCAgICAgMjU5MjAwLCAgICAgIDk2MCwgICAgIDIwMTIsIDB4ZGY0 YmE5YzYKKzAsICAgICAyNjAxNjAsICAgICAyNjAxNjAsICAgICAgOTYwLCAgICAgMjAxMiwgMHhl NjcxOTg3YworMCwgICAgIDI2MTEyMCwgICAgIDI2MTEyMCwgICAgICA5NjAsICAgICAyMDEyLCAw eDkwZGNjYzg5CiswLCAgICAgMjYyMDgwLCAgICAgMjYyMDgwLCAgICAgIDk2MCwgICAgIDIwMTIs IDB4MDEyY2NhZTkKKzAsICAgICAyNjMwNDAsICAgICAyNjMwNDAsICAgICAgOTYwLCAgICAgMjAx MiwgMHgyZWI1YjgzZQorMCwgICAgIDI2NDAwMCwgICAgIDI2NDAwMCwgICAgICA5NjAsICAgICAy MDEyLCAweDNmZWNiN2Y0CiswLCAgICAgMjY0OTYwLCAgICAgMjY0OTYwLCAgICAgIDk2MCwgICAg IDIwMTIsIDB4Nzk1NWE0NjQKKzAsICAgICAyNjU5MjAsICAgICAyNjU5MjAsICAgICAgOTYwLCAg ICAgMjAxMiwgMHhmZTllYjNjMworMCwgICAgIDI2Njg4MCwgICAgIDI2Njg4MCwgICAgICA5NjAs ICAgICAyMDEyLCAweDc0NTdjOTA0CiswLCAgICAgMjY3ODQwLCAgICAgMjY3ODQwLCAgICAgIDk2 MCwgICAgIDIwMTIsIDB4ZDIzZWE2OWQKKzAsICAgICAyNjg4MDAsICAgICAyNjg4MDAsICAgICAg OTYwLCAgICAgMjAxMiwgMHhjNDk3YmY4MgorMCwgICAgIDI2OTc2MCwgICAgIDI2OTc2MCwgICAg ICA5NjAsICAgICAyMDEyLCAweDE1ZTVjMjQxCiswLCAgICAgMjcwNzIwLCAgICAgMjcwNzIwLCAg ICAgIDk2MCwgICAgIDIwMTIsIDB4M2RmZWE3MWYKKzAsICAgICAyNzE2ODAsICAgICAyNzE2ODAs ICAgICAgOTYwLCAgICAgMjAxMiwgMHgxZTU5YzljMAorMCwgICAgIDI3MjY0MCwgICAgIDI3MjY0 MCwgICAgICA5NjAsICAgICAyMDEyLCAweDFhMzRiOTI3CiswLCAgICAgMjczNjAwLCAgICAgMjcz NjAwLCAgICAgIDk2MCwgICAgIDIwMTIsIDB4YmY0MmI0MzAKKzAsICAgICAyNzQ1NjAsICAgICAy NzQ1NjAsICAgICAgOTYwLCAgICAgMjAxMiwgMHhmMDg0YzI5ZgorMCwgICAgIDI3NTUyMCwgICAg IDI3NTUyMCwgICAgICA5NjAsICAgICAyMDEyLCAweDY0NDNjNDRhCiswLCAgICAgMjc2NDgwLCAg ICAgMjc2NDgwLCAgICAgIDk2MCwgICAgIDIwMTIsIDB4Nzk4NWE0YTUKKzAsICAgICAyNzc0NDAs ICAgICAyNzc0NDAsICAgICAgOTYwLCAgICAgMjAxMiwgMHgyN2FkZDA1OQorMCwgICAgIDI3ODQw MCwgICAgIDI3ODQwMCwgICAgICA5NjAsICAgICAyMDEyLCAweDdmMWZhZWE0CiswLCAgICAgMjc5 MzYwLCAgICAgMjc5MzYwLCAgICAgIDk2MCwgICAgIDIwMTIsIDB4OGQ5ZGM3MzIKKzAsICAgICAy ODAzMjAsICAgICAyODAzMjAsICAgICAgOTYwLCAgICAgMjAxMiwgMHhmMjcyYzMyZQorMCwgICAg IDI4MTI4MCwgICAgIDI4MTI4MCwgICAgICA5NjAsICAgICAyMDEyLCAweDRmYTNhYjExCiswLCAg ICAgMjgyMjQwLCAgICAgMjgyMjQwLCAgICAgIDk2MCwgICAgIDIwMTIsIDB4NTEyZTk4ODcKKzAs ICAgICAyODMyMDAsICAgICAyODMyMDAsICAgICAgOTYwLCAgICAgMjAxMiwgMHhkNDc4ZDU1Ygor MCwgICAgIDI4NDE2MCwgICAgIDI4NDE2MCwgICAgICA5NjAsICAgICAyMDEyLCAweGE5NGE5ZDkz CiswLCAgICAgMjg1MTIwLCAgICAgMjg1MTIwLCAgICAgIDk2MCwgICAgIDIwMTIsIDB4ZmY3M2Q4 MTIKKzAsICAgICAyODYwODAsICAgICAyODYwODAsICAgICAgOTYwLCAgICAgMjAxMiwgMHhkM2E2 YjllZgorMCwgICAgIDI4NzA0MCwgICAgIDI4NzA0MCwgICAgICA5NjAsICAgICAyMDEyLCAweDdi NGViYzFlCiswLCAgICAgMjg4MDAwLCAgICAgMjg4MDAwLCAgICAgIDk2MCwgICAgIDIwMTIsIDB4 Y2M3YmJhMWEKKzAsICAgICAyODg5NjAsICAgICAyODg5NjAsICAgICAgOTYwLCAgICAgMjAxMiwg MHgxYWE3Y2QxYQorMCwgICAgIDI4OTkyMCwgICAgIDI4OTkyMCwgICAgICA5NjAsICAgICAyMDEy LCAweGQ3MDdjMjAyCiswLCAgICAgMjkwODgwLCAgICAgMjkwODgwLCAgICAgIDk2MCwgICAgIDIw MTIsIDB4Y2I2YWMxOGIKKzAsICAgICAyOTE4NDAsICAgICAyOTE4NDAsICAgICAgOTYwLCAgICAg MjAxMiwgMHgxY2NkY2JkNgorMCwgICAgIDI5MjgwMCwgICAgIDI5MjgwMCwgICAgICA5NjAsICAg ICAyMDEyLCAweDcwMGNiNTFlCiswLCAgICAgMjkzNzYwLCAgICAgMjkzNzYwLCAgICAgIDk2MCwg ICAgIDIwMTIsIDB4MjdiNmEzZTcKKzAsICAgICAyOTQ3MjAsICAgICAyOTQ3MjAsICAgICAgOTYw LCAgICAgMjAxMiwgMHg4NTcwYjhjZAorMCwgICAgIDI5NTY4MCwgICAgIDI5NTY4MCwgICAgICA5 NjAsICAgICAyMDEyLCAweDIyZjJiMmVkCiswLCAgICAgMjk2NjQwLCAgICAgMjk2NjQwLCAgICAg IDk2MCwgICAgIDIwMTIsIDB4NzVlZGI2M2UKKzAsICAgICAyOTc2MDAsICAgICAyOTc2MDAsICAg ICAgOTYwLCAgICAgMjAxMiwgMHg4MTQ1YjUzZgorMCwgICAgIDI5ODU2MCwgICAgIDI5ODU2MCwg ICAgICA5NjAsICAgICAyMDEyLCAweDE1ZWZiOGJjCiswLCAgICAgMjk5NTIwLCAgICAgMjk5NTIw LCAgICAgIDk2MCwgICAgIDIwMTIsIDB4MjAwYmI1ZTYKKzAsICAgICAzMDA0ODAsICAgICAzMDA0 ODAsICAgICAgOTYwLCAgICAgMjAxMiwgMHhmYTc5YjE3OAorMCwgICAgIDMwMTQ0MCwgICAgIDMw MTQ0MCwgICAgICA5NjAsICAgICAyMDEyLCAweGJkMzljZGY0CiswLCAgICAgMzAyNDAwLCAgICAg MzAyNDAwLCAgICAgIDk2MCwgICAgIDIwMTIsIDB4MDk3MGIwYjIKKzAsICAgICAzMDMzNjAsICAg ICAzMDMzNjAsICAgICAgOTYwLCAgICAgMjAxMiwgMHgxYWNlYmU3MgorMCwgICAgIDMwNDMyMCwg ICAgIDMwNDMyMCwgICAgICA5NjAsICAgICAyMDEyLCAweDFhMjZhYTcxCiswLCAgICAgMzA1Mjgw LCAgICAgMzA1MjgwLCAgICAgIDk2MCwgICAgIDIwMTIsIDB4OGY3MWFhNTQKKzAsICAgICAzMDYy NDAsICAgICAzMDYyNDAsICAgICAgOTYwLCAgICAgMjAxMiwgMHgwMjY1YzUyMworMCwgICAgIDMw NzIwMCwgICAgIDMwNzIwMCwgICAgICA5NjAsICAgICAyMDEyLCAweDJkZjBhNTNiCiswLCAgICAg MzA4MTYwLCAgICAgMzA4MTYwLCAgICAgIDk2MCwgICAgIDIwMTIsIDB4NTlhN2EzN2EKKzAsICAg ICAzMDkxMjAsICAgICAzMDkxMjAsICAgICAgOTYwLCAgICAgMjAxMiwgMHg5YWQ5YWNkYQorMCwg ICAgIDMxMDA4MCwgICAgIDMxMDA4MCwgICAgICA5NjAsICAgICAyMDEyLCAweDczOGNiYzZmCisw LCAgICAgMzExMDQwLCAgICAgMzExMDQwLCAgICAgIDk2MCwgICAgIDIwMTIsIDB4YzY0NmE3YWQK KzAsICAgICAzMTIwMDAsICAgICAzMTIwMDAsICAgICAgOTYwLCAgICAgMjAxMiwgMHg3ZjI1YzE5 YgorMCwgICAgIDMxMjk2MCwgICAgIDMxMjk2MCwgICAgICA5NjAsICAgICAyMDEyLCAweDE0Mzli ZGIwCiswLCAgICAgMzEzOTIwLCAgICAgMzEzOTIwLCAgICAgIDk2MCwgICAgIDIwMTIsIDB4YTQw Y2JlZjAKKzAsICAgICAzMTQ4ODAsICAgICAzMTQ4ODAsICAgICAgOTYwLCAgICAgMjAxMiwgMHg5 YjA5Yjk5YQorMCwgICAgIDMxNTg0MCwgICAgIDMxNTg0MCwgICAgICA5NjAsICAgICAyMDEyLCAw eDVmZjBiYmRlCiswLCAgICAgMzE2ODAwLCAgICAgMzE2ODAwLCAgICAgIDk2MCwgICAgIDIwMTIs IDB4Mzk4MWMyZDYKKzAsICAgICAzMTc3NjAsICAgICAzMTc3NjAsICAgICAgOTYwLCAgICAgMjAx MiwgMHhmYTg5YjQwZAorMCwgICAgIDMxODcyMCwgICAgIDMxODcyMCwgICAgICA5NjAsICAgICAy MDEyLCAweDEyZTlhN2I5CiswLCAgICAgMzE5NjgwLCAgICAgMzE5NjgwLCAgICAgIDk2MCwgICAg IDIwMTIsIDB4YzVmYWFhYzMKKzAsICAgICAzMjA2NDAsICAgICAzMjA2NDAsICAgICAgOTYwLCAg ICAgMjAxMiwgMHhlMTJiYzNhOQorMCwgICAgIDMyMTYwMCwgICAgIDMyMTYwMCwgICAgICA5NjAs ICAgICAyMDEyLCAweDljNTdiOGYzCiswLCAgICAgMzIyNTYwLCAgICAgMzIyNTYwLCAgICAgIDk2 MCwgICAgIDIwMTIsIDB4NGZkNGI2YzAKKzAsICAgICAzMjM1MjAsICAgICAzMjM1MjAsICAgICAg OTYwLCAgICAgMjAxMiwgMHhiNzJjY2E1MAorMCwgICAgIDMyNDQ4MCwgICAgIDMyNDQ4MCwgICAg ICA5NjAsICAgICAyMDEyLCAweGI0ZDRjYmJiCiswLCAgICAgMzI1NDQwLCAgICAgMzI1NDQwLCAg ICAgIDk2MCwgICAgIDIwMTIsIDB4OTM5OWJmYTEKKzAsICAgICAzMjY0MDAsICAgICAzMjY0MDAs ICAgICAgOTYwLCAgICAgMjAxMiwgMHgwYWJmYjcwOAorMCwgICAgIDMyNzM2MCwgICAgIDMyNzM2 MCwgICAgICA5NjAsICAgICAyMDEyLCAweGQxZDlhY2MwCiswLCAgICAgMzI4MzIwLCAgICAgMzI4 MzIwLCAgICAgIDk2MCwgICAgIDIwMTIsIDB4MDc5YWI1YjIKKzAsICAgICAzMjkyODAsICAgICAz MjkyODAsICAgICAgOTYwLCAgICAgMjAxMiwgMHgwNWEwYmUzMgorMCwgICAgIDMzMDI0MCwgICAg IDMzMDI0MCwgICAgICA5NjAsICAgICAyMDEyLCAweDQ0NWNjOGRiCiswLCAgICAgMzMxMjAwLCAg ICAgMzMxMjAwLCAgICAgIDk2MCwgICAgIDIwMTIsIDB4ZjlhM2FhNzEKKzAsICAgICAzMzIxNjAs ICAgICAzMzIxNjAsICAgICAgOTYwLCAgICAgMjAxMiwgMHhkMmUyOWVhYworMCwgICAgIDMzMzEy MCwgICAgIDMzMzEyMCwgICAgICA5NjAsICAgICAyMDEyLCAweDM5MWE5ZjIwCiswLCAgICAgMzM0 MDgwLCAgICAgMzM0MDgwLCAgICAgIDk2MCwgICAgIDIwMTIsIDB4NTcxZWFiNGUKKzAsICAgICAz MzUwNDAsICAgICAzMzUwNDAsICAgICAgOTYwLCAgICAgMjAxMiwgMHg2OTYyYmM5NgorMCwgICAg IDMzNjAwMCwgICAgIDMzNjAwMCwgICAgICA5NjAsICAgICAyMDEyLCAweDJmMDRiNDk1CiswLCAg ICAgMzM2OTYwLCAgICAgMzM2OTYwLCAgICAgIDk2MCwgICAgIDIwMTIsIDB4N2I2NmJhYjcKKzAs ICAgICAzMzc5MjAsICAgICAzMzc5MjAsICAgICAgOTYwLCAgICAgMjAxMiwgMHhhNzE4YjhjOQor MCwgICAgIDMzODg4MCwgICAgIDMzODg4MCwgICAgICA5NjAsICAgICAyMDEyLCAweGIwNjlhNTRl CiswLCAgICAgMzM5ODQwLCAgICAgMzM5ODQwLCAgICAgIDk2MCwgICAgIDIwMTIsIDB4YzA1MmEx ZDIKKzAsICAgICAzNDA4MDAsICAgICAzNDA4MDAsICAgICAgOTYwLCAgICAgMjAxMiwgMHg2NjFh YzYyZQorMCwgICAgIDM0MTc2MCwgICAgIDM0MTc2MCwgICAgICA5NjAsICAgICAyMDEyLCAweGM0 ZWJiNTI5CiswLCAgICAgMzQyNzIwLCAgICAgMzQyNzIwLCAgICAgIDk2MCwgICAgIDIwMTIsIDB4 Zjk5OGIyNTEKKzAsICAgICAzNDM2ODAsICAgICAzNDM2ODAsICAgICAgOTYwLCAgICAgMjAxMiwg MHgwZWU4YmZmYQorMCwgICAgIDM0NDY0MCwgICAgIDM0NDY0MCwgICAgICA5NjAsICAgICAyMDEy LCAweDZlM2ZkOTg0CiswLCAgICAgMzQ1NjAwLCAgICAgMzQ1NjAwLCAgICAgIDk2MCwgICAgIDIw MTIsIDB4NTgyNWI2M2YKKzAsICAgICAzNDY1NjAsICAgICAzNDY1NjAsICAgICAgOTYwLCAgICAg MjAxMiwgMHg5Yzc5YzU2MQorMCwgICAgIDM0NzUyMCwgICAgIDM0NzUyMCwgICAgICA5NjAsICAg ICAyMDEyLCAweDM0NzBiZWI3CiswLCAgICAgMzQ4NDgwLCAgICAgMzQ4NDgwLCAgICAgIDk2MCwg ICAgIDIwMTIsIDB4OTEzNWJkOWQKKzAsICAgICAzNDk0NDAsICAgICAzNDk0NDAsICAgICAgOTYw LCAgICAgMjAxMiwgMHhkOGU4YmI3ZgorMCwgICAgIDM1MDQwMCwgICAgIDM1MDQwMCwgICAgICA5 NjAsICAgICAyMDEyLCAweDMyMmVhNDQ4CiswLCAgICAgMzUxMzYwLCAgICAgMzUxMzYwLCAgICAg IDk2MCwgICAgIDIwMTIsIDB4ZTk3NGIzYWIKKzAsICAgICAzNTIzMjAsICAgICAzNTIzMjAsICAg ICAgOTYwLCAgICAgMjAxMiwgMHg0MTUxYzMyZAorMCwgICAgIDM1MzI4MCwgICAgIDM1MzI4MCwg ICAgICA5NjAsICAgICAyMDEyLCAweDJiMDViZjdkCiswLCAgICAgMzU0MjQwLCAgICAgMzU0MjQw LCAgICAgIDk2MCwgICAgIDIwMTIsIDB4NDExMWMwZDgKKzAsICAgICAzNTUyMDAsICAgICAzNTUy MDAsICAgICAgOTYwLCAgICAgMjAxMiwgMHhmZjlhZDU3NAorMCwgICAgIDM1NjE2MCwgICAgIDM1 NjE2MCwgICAgICA5NjAsICAgICAyMDEyLCAweGE1NWRjZWQyCiswLCAgICAgMzU3MTIwLCAgICAg MzU3MTIwLCAgICAgIDk2MCwgICAgIDIwMTIsIDB4MTFlNmMwY2IKKzAsICAgICAzNTgwODAsICAg ICAzNTgwODAsICAgICAgOTYwLCAgICAgMjAxMiwgMHgyNDc4Yjk5OAorMCwgICAgIDM1OTA0MCwg ICAgIDM1OTA0MCwgICAgICA5NjAsICAgICAyMDEyLCAweGRjOGFiYjU0CiswLCAgICAgMzYwMDAw LCAgICAgMzYwMDAwLCAgICAgIDk2MCwgICAgIDIwMTIsIDB4ZTE2ZGE1MTAKKzAsICAgICAzNjA5 NjAsICAgICAzNjA5NjAsICAgICAgOTYwLCAgICAgMjAxMiwgMHhmYzE4YjNkYgorMCwgICAgIDM2 MTkyMCwgICAgIDM2MTkyMCwgICAgICA5NjAsICAgICAyMDEyLCAweDE0MjZjZDQyCiswLCAgICAg MzYyODgwLCAgICAgMzYyODgwLCAgICAgIDk2MCwgICAgIDIwMTIsIDB4YjU2MGE2NjEKKzAsICAg ICAzNjM4NDAsICAgICAzNjM4NDAsICAgICAgOTYwLCAgICAgMjAxMiwgMHhjMjAwYWE0YgorMCwg ICAgIDM2NDgwMCwgICAgIDM2NDgwMCwgICAgICA5NjAsICAgICAyMDEyLCAweGVhMDBhZjJhCisw LCAgICAgMzY1NzYwLCAgICAgMzY1NzYwLCAgICAgIDk2MCwgICAgIDIwMTIsIDB4MzJiY2JmODQK KzAsICAgICAzNjY3MjAsICAgICAzNjY3MjAsICAgICAgOTYwLCAgICAgMjAxMiwgMHg0YzI5Y2Iy YQorMCwgICAgIDM2NzY4MCwgICAgIDM2NzY4MCwgICAgICA5NjAsICAgICAyMDEyLCAweGU4YTJh YWJjCiswLCAgICAgMzY4NjQwLCAgICAgMzY4NjQwLCAgICAgIDk2MCwgICAgIDIwMTIsIDB4NjRi ZGI2Y2QKKzAsICAgICAzNjk2MDAsICAgICAzNjk2MDAsICAgICAgOTYwLCAgICAgMjAxMiwgMHgz YTgwYWRiYworMCwgICAgIDM3MDU2MCwgICAgIDM3MDU2MCwgICAgICA5NjAsICAgICAyMDEyLCAw eGEwMTJiMmM0CiswLCAgICAgMzcxNTIwLCAgICAgMzcxNTIwLCAgICAgIDk2MCwgICAgIDIwMTIs IDB4YWMzZWJjZTcKKzAsICAgICAzNzI0ODAsICAgICAzNzI0ODAsICAgICAgOTYwLCAgICAgMjAx MiwgMHhmYWUxYjJhNworMCwgICAgIDM3MzQ0MCwgICAgIDM3MzQ0MCwgICAgICA5NjAsICAgICAy MDEyLCAweDM3YjRkZGFlCiswLCAgICAgMzc0NDAwLCAgICAgMzc0NDAwLCAgICAgIDk2MCwgICAg IDIwMTIsIDB4OGZmOWJkNTUKKzAsICAgICAzNzUzNjAsICAgICAzNzUzNjAsICAgICAgOTYwLCAg ICAgMjAxMiwgMHgxNmY2YWJlYgorMCwgICAgIDM3NjMyMCwgICAgIDM3NjMyMCwgICAgICA5NjAs ICAgICAyMDEyLCAweDU4MjBiYWRmCiswLCAgICAgMzc3MjgwLCAgICAgMzc3MjgwLCAgICAgIDk2 MCwgICAgIDIwMTIsIDB4NzE4M2I0NWUKKzAsICAgICAzNzgyNDAsICAgICAzNzgyNDAsICAgICAg OTYwLCAgICAgMjAxMiwgMHhjMGE2YzgyNgorMCwgICAgIDM3OTIwMCwgICAgIDM3OTIwMCwgICAg ICA5NjAsICAgICAyMDEyLCAweDRjMzZiYjAyCiswLCAgICAgMzgwMTYwLCAgICAgMzgwMTYwLCAg ICAgIDk2MCwgICAgIDIwMTIsIDB4ZGE0NmI4NTQKKzAsICAgICAzODExMjAsICAgICAzODExMjAs ICAgICAgOTYwLCAgICAgMjAxMiwgMHhjYzhhY2NiNgorMCwgICAgIDM4MjA4MCwgICAgIDM4MjA4 MCwgICAgICA5NjAsICAgICAyMDEyLCAweGE2YjJjM2EyCiswLCAgICAgMzgzMDQwLCAgICAgMzgz MDQwLCAgICAgIDk2MCwgICAgIDIwMTIsIDB4MWM5MWNjMDAKKzAsICAgICAzODQwMDAsICAgICAz ODQwMDAsICAgICAgOTYwLCAgICAgMjAxMiwgMHhmMzNjZDcyMQorMCwgICAgIDM4NDk2MCwgICAg IDM4NDk2MCwgICAgICA5NjAsICAgICAyMDEyLCAweDdmODZkMmVkCiswLCAgICAgMzg1OTIwLCAg ICAgMzg1OTIwLCAgICAgIDk2MCwgICAgIDIwMTIsIDB4OWZkYWJiMWQKKzAsICAgICAzODY4ODAs ICAgICAzODY4ODAsICAgICAgOTYwLCAgICAgMjAxMiwgMHgzM2ViYmJjNAorMCwgICAgIDM4Nzg0 MCwgICAgIDM4Nzg0MCwgICAgICA5NjAsICAgICAyMDEyLCAweDI3NDFiYTRmCiswLCAgICAgMzg4 ODAwLCAgICAgMzg4ODAwLCAgICAgIDk2MCwgICAgIDIwMTIsIDB4MGQwZGQxMDcKKzAsICAgICAz ODk3NjAsICAgICAzODk3NjAsICAgICAgOTYwLCAgICAgMjAxMiwgMHhmMWQ1YjU1MQorMCwgICAg IDM5MDcyMCwgICAgIDM5MDcyMCwgICAgICA5NjAsICAgICAyMDEyLCAweGY0N2RiZWJjCiswLCAg ICAgMzkxNjgwLCAgICAgMzkxNjgwLCAgICAgIDk2MCwgICAgIDIwMTIsIDB4YTk1NWNlYTMKKzAs ICAgICAzOTI2NDAsICAgICAzOTI2NDAsICAgICAgOTYwLCAgICAgMjAxMiwgMHg1MWQ2YjQwNwor MCwgICAgIDM5MzYwMCwgICAgIDM5MzYwMCwgICAgICA5NjAsICAgICAyMDEyLCAweGI3ZDNjMmMw CiswLCAgICAgMzk0NTYwLCAgICAgMzk0NTYwLCAgICAgIDk2MCwgICAgIDIwMTIsIDB4Y2UzY2M2 YWUKKzAsICAgICAzOTU1MjAsICAgICAzOTU1MjAsICAgICAgOTYwLCAgICAgMjAxMiwgMHg3ODJj YzE4NAorMCwgICAgIDM5NjQ4MCwgICAgIDM5NjQ4MCwgICAgICA5NjAsICAgICAyMDEyLCAweGY0 Y2VjMmFmCiswLCAgICAgMzk3NDQwLCAgICAgMzk3NDQwLCAgICAgIDk2MCwgICAgIDIwMTIsIDB4 YTQzZWIyOTUKKzAsICAgICAzOTg0MDAsICAgICAzOTg0MDAsICAgICAgOTYwLCAgICAgMjAxMiwg MHhjNzRhYTYyZAorMCwgICAgIDM5OTM2MCwgICAgIDM5OTM2MCwgICAgICA5NjAsICAgICAyMDEy LCAweGY5ZGZjMTFmCiswLCAgICAgNDAwMzIwLCAgICAgNDAwMzIwLCAgICAgIDk2MCwgICAgIDIw MTIsIDB4M2RhMWEzMTkKKzAsICAgICA0MDEyODAsICAgICA0MDEyODAsICAgICAgOTYwLCAgICAg MjAxMiwgMHhmNjEzYmQ3NQorMCwgICAgIDQwMjI0MCwgICAgIDQwMjI0MCwgICAgICA5NjAsICAg ICAyMDEyLCAweDEwZDljZGE0CiswLCAgICAgNDAzMjAwLCAgICAgNDAzMjAwLCAgICAgIDk2MCwg ICAgIDIwMTIsIDB4MDhjOWJjYjMKKzAsICAgICA0MDQxNjAsICAgICA0MDQxNjAsICAgICAgOTYw LCAgICAgMjAxMiwgMHg0M2I5ZDE3MAorMCwgICAgIDQwNTEyMCwgICAgIDQwNTEyMCwgICAgICA5 NjAsICAgICAyMDEyLCAweDFmMGRiOTQwCiswLCAgICAgNDA2MDgwLCAgICAgNDA2MDgwLCAgICAg IDk2MCwgICAgIDIwMTIsIDB4M2M0ZWM2MTQKKzAsICAgICA0MDcwNDAsICAgICA0MDcwNDAsICAg ICAgOTYwLCAgICAgMjAxMiwgMHhhOTRhYmFhYQorMCwgICAgIDQwODAwMCwgICAgIDQwODAwMCwg ICAgICA5NjAsICAgICAyMDEyLCAweDI1NTdhOTIyCiswLCAgICAgNDA4OTYwLCAgICAgNDA4OTYw LCAgICAgIDk2MCwgICAgIDIwMTIsIDB4NDI0NWM0YjQKKzAsICAgICA0MDk5MjAsICAgICA0MDk5 MjAsICAgICAgOTYwLCAgICAgMjAxMiwgMHgwY2IxYjA2ZgorMCwgICAgIDQxMDg4MCwgICAgIDQx MDg4MCwgICAgICA5NjAsICAgICAyMDEyLCAweDc3OGJiZWFiCiswLCAgICAgNDExODQwLCAgICAg NDExODQwLCAgICAgIDk2MCwgICAgIDIwMTIsIDB4NWNlNGNhM2IKKzAsICAgICA0MTI4MDAsICAg ICA0MTI4MDAsICAgICAgOTYwLCAgICAgMjAxMiwgMHhlNzBlOWZkMworMCwgICAgIDQxMzc2MCwg ICAgIDQxMzc2MCwgICAgICA5NjAsICAgICAyMDEyLCAweDI4YWZiY2JmCiswLCAgICAgNDE0NzIw LCAgICAgNDE0NzIwLCAgICAgIDk2MCwgICAgIDIwMTIsIDB4YzQxZmI5YjIKKzAsICAgICA0MTU2 ODAsICAgICA0MTU2ODAsICAgICAgOTYwLCAgICAgMjAxMiwgMHhkNjBjYmZhZQorMCwgICAgIDQx NjY0MCwgICAgIDQxNjY0MCwgICAgICA5NjAsICAgICAyMDEyLCAweDEwODdjYjI2CiswLCAgICAg NDE3NjAwLCAgICAgNDE3NjAwLCAgICAgIDk2MCwgICAgIDIwMTIsIDB4YzlmYWNlM2IKKzAsICAg ICA0MTg1NjAsICAgICA0MTg1NjAsICAgICAgOTYwLCAgICAgMjAxMiwgMHg3NDAzYjMxNAorMCwg ICAgIDQxOTUyMCwgICAgIDQxOTUyMCwgICAgICA5NjAsICAgICAyMDEyLCAweGUwMzRiYTk3Cisw LCAgICAgNDIwNDgwLCAgICAgNDIwNDgwLCAgICAgIDk2MCwgICAgIDIwMTIsIDB4MTVkY2JjNjcK KzAsICAgICA0MjE0NDAsICAgICA0MjE0NDAsICAgICAgOTYwLCAgICAgMjAxMiwgMHgyMGQzYmNm ZgorMCwgICAgIDQyMjQwMCwgICAgIDQyMjQwMCwgICAgICA5NjAsICAgICAyMDEyLCAweGMxMzZh MmNlCiswLCAgICAgNDIzMzYwLCAgICAgNDIzMzYwLCAgICAgIDk2MCwgICAgIDIwMTIsIDB4MDM4 YmIwMjUKKzAsICAgICA0MjQzMjAsICAgICA0MjQzMjAsICAgICAgOTYwLCAgICAgMjAxMiwgMHhk NjU1Y2Y4NAorMCwgICAgIDQyNTI4MCwgICAgIDQyNTI4MCwgICAgICA5NjAsICAgICAyMDEyLCAw eGNmNTRjNjU2CiswLCAgICAgNDI2MjQwLCAgICAgNDI2MjQwLCAgICAgIDk2MCwgICAgIDIwMTIs IDB4M2M3N2JiMGQKKzAsICAgICA0MjcyMDAsICAgICA0MjcyMDAsICAgICAgOTYwLCAgICAgMjAx MiwgMHhkNzY1ZDdhNworMCwgICAgIDQyODE2MCwgICAgIDQyODE2MCwgICAgICA5NjAsICAgICAy MDEyLCAweDFhNjBiMDIwCiswLCAgICAgNDI5MTIwLCAgICAgNDI5MTIwLCAgICAgIDk2MCwgICAg IDIwMTIsIDB4ODNjOGMyZTkKKzAsICAgICA0MzAwODAsICAgICA0MzAwODAsICAgICAgOTYwLCAg ICAgMjAxMiwgMHg5Yjk3YzZlNworMCwgICAgIDQzMTA0MCwgICAgIDQzMTA0MCwgICAgICA5NjAs ICAgICAyMDEyLCAweDM4NzBhZDYzCiswLCAgICAgNDMyMDAwLCAgICAgNDMyMDAwLCAgICAgIDk2 MCwgICAgIDIwMTIsIDB4MGUzYWM2N2QKKzAsICAgICA0MzI5NjAsICAgICA0MzI5NjAsICAgICAg OTYwLCAgICAgMjAxMiwgMHhlYjUzYzkzNQorMCwgICAgIDQzMzkyMCwgICAgIDQzMzkyMCwgICAg ICA5NjAsICAgICAyMDEyLCAweGVlYjBjM2UxCiswLCAgICAgNDM0ODgwLCAgICAgNDM0ODgwLCAg ICAgIDk2MCwgICAgIDIwMTIsIDB4OWNiNWJkYjkKKzAsICAgICA0MzU4NDAsICAgICA0MzU4NDAs ICAgICAgOTYwLCAgICAgMjAxMiwgMHg2NGIxYWZlYworMCwgICAgIDQzNjgwMCwgICAgIDQzNjgw MCwgICAgICA5NjAsICAgICAyMDEyLCAweDU3ZGNhZGJjCiswLCAgICAgNDM3NzYwLCAgICAgNDM3 NzYwLCAgICAgIDk2MCwgICAgIDIwMTIsIDB4ZWQ3NmM1ZmQKKzAsICAgICA0Mzg3MjAsICAgICA0 Mzg3MjAsICAgICAgOTYwLCAgICAgMjAxMiwgMHgwY2I0Y2FjNQorMCwgICAgIDQzOTY4MCwgICAg IDQzOTY4MCwgICAgICA5NjAsICAgICAyMDEyLCAweGQzMGJiZDA2CiswLCAgICAgNDQwNjQwLCAg ICAgNDQwNjQwLCAgICAgIDk2MCwgICAgIDIwMTIsIDB4YWVlOWM2YzMKKzAsICAgICA0NDE2MDAs ICAgICA0NDE2MDAsICAgICAgOTYwLCAgICAgMjAxMiwgMHhlODQ1YzliMworMCwgICAgIDQ0MjU2 MCwgICAgIDQ0MjU2MCwgICAgICA5NjAsICAgICAyMDEyLCAweGMwOWNjN2ZjCiswLCAgICAgNDQz NTIwLCAgICAgNDQzNTIwLCAgICAgIDk2MCwgICAgIDIwMTIsIDB4ZmRlYmFhY2IKKzAsICAgICA0 NDQ0ODAsICAgICA0NDQ0ODAsICAgICAgOTYwLCAgICAgMjAxMiwgMHg2ZjJkYjg5ZgorMCwgICAg IDQ0NTQ0MCwgICAgIDQ0NTQ0MCwgICAgICA5NjAsICAgICAyMDEyLCAweDdkODliZWU3CiswLCAg ICAgNDQ2NDAwLCAgICAgNDQ2NDAwLCAgICAgIDk2MCwgICAgIDIwMTIsIDB4ODY5OWI4YmUKKzAs ICAgICA0NDczNjAsICAgICA0NDczNjAsICAgICAgOTYwLCAgICAgMjAxMiwgMHg1N2Q2Y2M4YQor MCwgICAgIDQ0ODMyMCwgICAgIDQ0ODMyMCwgICAgICA5NjAsICAgICAyMDEyLCAweGNkYmNkMjQ2 CiswLCAgICAgNDQ5MjgwLCAgICAgNDQ5MjgwLCAgICAgIDk2MCwgICAgIDIwMTIsIDB4OTA1N2Iy ODUKKzAsICAgICA0NTAyNDAsICAgICA0NTAyNDAsICAgICAgOTYwLCAgICAgMjAxMiwgMHgyYWM5 Y2M4NworMCwgICAgIDQ1MTIwMCwgICAgIDQ1MTIwMCwgICAgICA5NjAsICAgICAyMDEyLCAweGVi MjBjNDIxCiswLCAgICAgNDUyMTYwLCAgICAgNDUyMTYwLCAgICAgIDk2MCwgICAgIDIwMTIsIDB4 NDc4OWQxMWYKKzAsICAgICA0NTMxMjAsICAgICA0NTMxMjAsICAgICAgOTYwLCAgICAgMjAxMiwg MHg1NWU3YzlmZQorMCwgICAgIDQ1NDA4MCwgICAgIDQ1NDA4MCwgICAgICA5NjAsICAgICAyMDEy LCAweGQ4MWNiNGM2CiswLCAgICAgNDU1MDQwLCAgICAgNDU1MDQwLCAgICAgIDk2MCwgICAgIDIw MTIsIDB4MmFmMGE4OGUKKzAsICAgICA0NTYwMDAsICAgICA0NTYwMDAsICAgICAgOTYwLCAgICAg MjAxMiwgMHg3ZDk2YTRlZQorMCwgICAgIDQ1Njk2MCwgICAgIDQ1Njk2MCwgICAgICA5NjAsICAg ICAyMDEyLCAweGZmN2NjM2VhCiswLCAgICAgNDU3OTIwLCAgICAgNDU3OTIwLCAgICAgIDk2MCwg ICAgIDIwMTIsIDB4MjUxNGQyYTgKKzAsICAgICA0NTg4ODAsICAgICA0NTg4ODAsICAgICAgOTYw LCAgICAgMjAxMiwgMHg3ZDJjY2NjMworMCwgICAgIDQ1OTg0MCwgICAgIDQ1OTg0MCwgICAgICA5 NjAsICAgICAyMDEyLCAweDk4ZGNjYmJmCiswLCAgICAgNDYwODAwLCAgICAgNDYwODAwLCAgICAg IDk2MCwgICAgIDIwMTIsIDB4NTVmMmJkM2UKKzAsICAgICA0NjE3NjAsICAgICA0NjE3NjAsICAg ICAgOTYwLCAgICAgMjAxMiwgMHgwZTU4YmJkNworMCwgICAgIDQ2MjcyMCwgICAgIDQ2MjcyMCwg ICAgICA5NjAsICAgICAyMDEyLCAweDE1MjBjNDVkCiswLCAgICAgNDYzNjgwLCAgICAgNDYzNjgw LCAgICAgIDk2MCwgICAgIDIwMTIsIDB4M2M2MGNlZGUKKzAsICAgICA0NjQ2NDAsICAgICA0NjQ2 NDAsICAgICAgOTYwLCAgICAgMjAxMiwgMHhiZmIyYmU2YgorMCwgICAgIDQ2NTYwMCwgICAgIDQ2 NTYwMCwgICAgICA5NjAsICAgICAyMDEyLCAweGE4MzljMmQ1CiswLCAgICAgNDY2NTYwLCAgICAg NDY2NTYwLCAgICAgIDk2MCwgICAgIDIwMTIsIDB4NzcxM2JkYmEKKzAsICAgICA0Njc1MjAsICAg ICA0Njc1MjAsICAgICAgOTYwLCAgICAgMjAxMiwgMHhmMTZjOWU5NQorMCwgICAgIDQ2ODQ4MCwg ICAgIDQ2ODQ4MCwgICAgICA5NjAsICAgICAyMDEyLCAweDhlOTRjYWYxCiswLCAgICAgNDY5NDQw LCAgICAgNDY5NDQwLCAgICAgIDk2MCwgICAgIDIwMTIsIDB4MzkxNWM2NzMKKzAsICAgICA0NzA0 MDAsICAgICA0NzA0MDAsICAgICAgOTYwLCAgICAgMjAxMiwgMHg2OWFmYzc2ZgorMCwgICAgIDQ3 MTM2MCwgICAgIDQ3MTM2MCwgICAgICA5NjAsICAgICAyMDEyLCAweDNlYmVjNTE0CiswLCAgICAg NDcyMzIwLCAgICAgNDcyMzIwLCAgICAgIDk2MCwgICAgIDIwMTIsIDB4NzBjNWRkOWIKKzAsICAg ICA0NzMyODAsICAgICA0NzMyODAsICAgICAgOTYwLCAgICAgMjAxMiwgMHg2ODY4YjdkOQorMCwg ICAgIDQ3NDI0MCwgICAgIDQ3NDI0MCwgICAgICA5NjAsICAgICAyMDEyLCAweDlhMzFjODAxCisw LCAgICAgNDc1MjAwLCAgICAgNDc1MjAwLCAgICAgIDk2MCwgICAgIDIwMTIsIDB4OTNjNGI2YWMK KzAsICAgICA0NzYxNjAsICAgICA0NzYxNjAsICAgICAgOTYwLCAgICAgMjAxMiwgMHhiMWFhY2Ez OQorMCwgICAgIDQ3NzEyMCwgICAgIDQ3NzEyMCwgICAgICA5NjAsICAgICAyMDEyLCAweDhmNjdi OWVkCiswLCAgICAgNDc4MDgwLCAgICAgNDc4MDgwLCAgICAgIDk2MCwgICAgIDIwMTIsIDB4MDlh ZGNmMWYKKzAsICAgICA0NzkwNDAsICAgICA0NzkwNDAsICAgICAgOTYwLCAgICAgMjAxMiwgMHhl MTcyY2IzYworMCwgICAgIDQ4MDAwMCwgICAgIDQ4MDAwMCwgICAgICA5NjAsICAgICAyMDEyLCAw eDA0NGJiZGM1CiswLCAgICAgNDgwOTYwLCAgICAgNDgwOTYwLCAgICAgIDk2MCwgICAgIDIwMTIs IDB4MzkxY2IzZDkKKzAsICAgICA0ODE5MjAsICAgICA0ODE5MjAsICAgICAgOTYwLCAgICAgMjAx MiwgMHgzYmQxYmMyOQorMCwgICAgIDQ4Mjg4MCwgICAgIDQ4Mjg4MCwgICAgICA5NjAsICAgICAy MDEyLCAweDhhNzhjNWQyCiswLCAgICAgNDgzODQwLCAgICAgNDgzODQwLCAgICAgIDk2MCwgICAg IDIwMTIsIDB4YTQ2ZmNlMTEKKzAsICAgICA0ODQ4MDAsICAgICA0ODQ4MDAsICAgICAgOTYwLCAg ICAgMjAxMiwgMHg0YzEzZDliYworMCwgICAgIDQ4NTc2MCwgICAgIDQ4NTc2MCwgICAgICA5NjAs ICAgICAyMDEyLCAweDdmNDdjZTRmCiswLCAgICAgNDg2NzIwLCAgICAgNDg2NzIwLCAgICAgIDk2 MCwgICAgIDIwMTIsIDB4YTAzZWJjYWUKKzAsICAgICA0ODc2ODAsICAgICA0ODc2ODAsICAgICAg OTYwLCAgICAgMjAxMiwgMHhmNmYyYjJjOAorMCwgICAgIDQ4ODY0MCwgICAgIDQ4ODY0MCwgICAg ICA5NjAsICAgICAyMDEyLCAweDc5OTViZTJhCiswLCAgICAgNDg5NjAwLCAgICAgNDg5NjAwLCAg ICAgIDk2MCwgICAgIDIwMTIsIDB4MjJkN2I5NGEKKzAsICAgICA0OTA1NjAsICAgICA0OTA1NjAs ICAgICAgOTYwLCAgICAgMjAxMiwgMHgwN2JjYzA2YQorMCwgICAgIDQ5MTUyMCwgICAgIDQ5MTUy MCwgICAgICA5NjAsICAgICAyMDEyLCAweDA0YWRjYjZkCiswLCAgICAgNDkyNDgwLCAgICAgNDky NDgwLCAgICAgIDk2MCwgICAgIDIwMTIsIDB4NGFlY2MxMzUKKzAsICAgICA0OTM0NDAsICAgICA0 OTM0NDAsICAgICAgOTYwLCAgICAgMjAxMiwgMHg4NDQyZGM2YQorMCwgICAgIDQ5NDQwMCwgICAg IDQ5NDQwMCwgICAgICA5NjAsICAgICAyMDEyLCAweDllNjdiODI2CiswLCAgICAgNDk1MzYwLCAg ICAgNDk1MzYwLCAgICAgIDk2MCwgICAgIDIwMTIsIDB4YjFjNGIyMzUKKzAsICAgICA0OTYzMjAs ICAgICA0OTYzMjAsICAgICAgOTYwLCAgICAgMjAxMiwgMHg1NjVlY2FhZQorMCwgICAgIDQ5NzI4 MCwgICAgIDQ5NzI4MCwgICAgICA5NjAsICAgICAyMDEyLCAweDM0YTJjODc3CiswLCAgICAgNDk4 MjQwLCAgICAgNDk4MjQwLCAgICAgIDk2MCwgICAgIDIwMTIsIDB4ODE1ZWIxNDgKKzAsICAgICA0 OTkyMDAsICAgICA0OTkyMDAsICAgICAgOTYwLCAgICAgMjAxMiwgMHgzNTRlYjRjZQorMCwgICAg IDUwMDE2MCwgICAgIDUwMDE2MCwgICAgICA5NjAsICAgICAyMDEyLCAweGY3NGRiOGIxCiswLCAg ICAgNTAxMTIwLCAgICAgNTAxMTIwLCAgICAgIDk2MCwgICAgIDIwMTIsIDB4NTZmM2I0MzAKKzAs ICAgICA1MDIwODAsICAgICA1MDIwODAsICAgICAgOTYwLCAgICAgMjAxMiwgMHgzOWY5YzcyZgor MCwgICAgIDUwMzA0MCwgICAgIDUwMzA0MCwgICAgICA5NjAsICAgICAyMDEyLCAweDgzZDFiZmRl CiswLCAgICAgNTA0MDAwLCAgICAgNTA0MDAwLCAgICAgIDk2MCwgICAgIDIwMTIsIDB4MmRhMWJm NTcKKzAsICAgICA1MDQ5NjAsICAgICA1MDQ5NjAsICAgICAgOTYwLCAgICAgMjAxMiwgMHhkOTdm YzkzMworMCwgICAgIDUwNTkyMCwgICAgIDUwNTkyMCwgICAgICA5NjAsICAgICAyMDEyLCAweDRi M2VkYmZlCiswLCAgICAgNTA2ODgwLCAgICAgNTA2ODgwLCAgICAgIDk2MCwgICAgIDIwMTIsIDB4 Yjk3NWQzNDYKKzAsICAgICA1MDc4NDAsICAgICA1MDc4NDAsICAgICAgOTYwLCAgICAgMjAxMiwg MHg4NTZhYzMwNAorMCwgICAgIDUwODgwMCwgICAgIDUwODgwMCwgICAgICA5NjAsICAgICAyMDEy LCAweGIzOGRiYTJlCiswLCAgICAgNTA5NzYwLCAgICAgNTA5NzYwLCAgICAgIDk2MCwgICAgIDIw MTIsIDB4YmUxNGM4MjIKKzAsICAgICA1MTA3MjAsICAgICA1MTA3MjAsICAgICAgOTYwLCAgICAg MjAxMiwgMHhiODQ4YzkyNworMCwgICAgIDUxMTY4MCwgICAgIDUxMTY4MCwgICAgICA5NjAsICAg ICAyMDEyLCAweDBhODljMGU2CiswLCAgICAgNTEyNjQwLCAgICAgNTEyNjQwLCAgICAgIDk2MCwg ICAgIDIwMTIsIDB4NDRhM2MzZDUKKzAsICAgICA1MTM2MDAsICAgICA1MTM2MDAsICAgICAgOTYw LCAgICAgMjAxMiwgMHg3YWYxYzMwYworMCwgICAgIDUxNDU2MCwgICAgIDUxNDU2MCwgICAgICA5 NjAsICAgICAyMDEyLCAweGU5MjhiNjE5CiswLCAgICAgNTE1NTIwLCAgICAgNTE1NTIwLCAgICAg IDk2MCwgICAgIDIwMTIsIDB4YzlhZWIwMTIKKzAsICAgICA1MTY0ODAsICAgICA1MTY0ODAsICAg ICAgOTYwLCAgICAgMjAxMiwgMHhhZTAyY2ZkZQorMCwgICAgIDUxNzQ0MCwgICAgIDUxNzQ0MCwg ICAgICA5NjAsICAgICAyMDEyLCAweDBiNDJjM2Q5CiswLCAgICAgNTE4NDAwLCAgICAgNTE4NDAw LCAgICAgIDk2MCwgICAgIDIwMTIsIDB4YTViN2MxZWQKKzAsICAgICA1MTkzNjAsICAgICA1MTkz NjAsICAgICAgOTYwLCAgICAgMjAxMiwgMHhkMmRjYmNkYworMCwgICAgIDUyMDMyMCwgICAgIDUy MDMyMCwgICAgICA5NjAsICAgICAyMDEyLCAweDE4Y2ZiZjU1CiswLCAgICAgNTIxMjgwLCAgICAg NTIxMjgwLCAgICAgIDk2MCwgICAgIDIwMTIsIDB4MzRmMGM4MDAKKzAsICAgICA1MjIyNDAsICAg ICA1MjIyNDAsICAgICAgOTYwLCAgICAgMjAxMiwgMHgyYTgwYmRiYQorMCwgICAgIDUyMzIwMCwg ICAgIDUyMzIwMCwgICAgICA5NjAsICAgICAyMDEyLCAweDVlZjJiM2E3CiswLCAgICAgNTI0MTYw LCAgICAgNTI0MTYwLCAgICAgIDk2MCwgICAgIDIwMTIsIDB4MzVhNmJhMzMKKzAsICAgICA1MjUx MjAsICAgICA1MjUxMjAsICAgICAgOTYwLCAgICAgMjAxMiwgMHgxMDg4YmJmNQorMCwgICAgIDUy NjA4MCwgICAgIDUyNjA4MCwgICAgICA5NjAsICAgICAyMDEyLCAweGFlYzBiZWRmCiswLCAgICAg NTI3MDQwLCAgICAgNTI3MDQwLCAgICAgIDk2MCwgICAgIDIwMTIsIDB4NzY5ZmI1MzUKKzAsICAg ICA1MjgwMDAsICAgICA1MjgwMDAsICAgICAgOTYwLCAgICAgMjAxMiwgMHhmZTExYjk3OQorMCwg ICAgIDUyODk2MCwgICAgIDUyODk2MCwgICAgICA5NjAsICAgICAyMDEyLCAweGU4NTZiMzdlCisw LCAgICAgNTI5OTIwLCAgICAgNTI5OTIwLCAgICAgIDk2MCwgICAgIDIwMTIsIDB4MzZjM2NmZmQK KzAsICAgICA1MzA4ODAsICAgICA1MzA4ODAsICAgICAgOTYwLCAgICAgMjAxMiwgMHg0NzcxZGI1 OAorMCwgICAgIDUzMTg0MCwgICAgIDUzMTg0MCwgICAgICA5NjAsICAgICAyMDEyLCAweDU0Njdk MTNlCiswLCAgICAgNTMyODAwLCAgICAgNTMyODAwLCAgICAgIDk2MCwgICAgIDIwMTIsIDB4YjQw NWMxYjUKKzAsICAgICA1MzM3NjAsICAgICA1MzM3NjAsICAgICAgOTYwLCAgICAgMjAxMiwgMHgz Y2JkYzE0NQorMCwgICAgIDUzNDcyMCwgICAgIDUzNDcyMCwgICAgICA5NjAsICAgICAyMDEyLCAw eGJiOWNjZGQ3CiswLCAgICAgNTM1NjgwLCAgICAgNTM1NjgwLCAgICAgIDk2MCwgICAgIDIwMTIs IDB4YWMyNWNlOWUKKzAsICAgICA1MzY2NDAsICAgICA1MzY2NDAsICAgICAgOTYwLCAgICAgMjAx MiwgMHg2ZDJhYzgyYQorMCwgICAgIDUzNzYwMCwgICAgIDUzNzYwMCwgICAgICA5NjAsICAgICAy MDEyLCAweDE2NjFiYTUwCiswLCAgICAgNTM4NTYwLCAgICAgNTM4NTYwLCAgICAgIDk2MCwgICAg IDIwMTIsIDB4YmM3YWM4MmEKKzAsICAgICA1Mzk1MjAsICAgICA1Mzk1MjAsICAgICAgOTYwLCAg ICAgMjAxMiwgMHgwMjBiYjRkZQorMCwgICAgIDU0MDQ4MCwgICAgIDU0MDQ4MCwgICAgICA5NjAs ICAgICAyMDEyLCAweDRlMTBjYjkzCiswLCAgICAgNTQxNDQwLCAgICAgNTQxNDQwLCAgICAgIDk2 MCwgICAgIDIwMTIsIDB4M2RhYmMxNWYKKzAsICAgICA1NDI0MDAsICAgICA1NDI0MDAsICAgICAg OTYwLCAgICAgMjAxMiwgMHgxMmFjYzY0YgorMCwgICAgIDU0MzM2MCwgICAgIDU0MzM2MCwgICAg ICA5NjAsICAgICAyMDEyLCAweDljZWNiNTFhCiswLCAgICAgNTQ0MzIwLCAgICAgNTQ0MzIwLCAg ICAgIDk2MCwgICAgIDIwMTIsIDB4OTU5YWNiMzkKKzAsICAgICA1NDUyODAsICAgICA1NDUyODAs ICAgICAgOTYwLCAgICAgMjAxMiwgMHgzZWU3YzBlOAorMCwgICAgIDU0NjI0MCwgICAgIDU0NjI0 MCwgICAgICA5NjAsICAgICAyMDEyLCAweGRlMThjMWRmCiswLCAgICAgNTQ3MjAwLCAgICAgNTQ3 MjAwLCAgICAgIDk2MCwgICAgIDIwMTIsIDB4M2M3MmMzY2QKKzAsICAgICA1NDgxNjAsICAgICA1 NDgxNjAsICAgICAgOTYwLCAgICAgMjAxMiwgMHgxYWM0YmI1ZAorMCwgICAgIDU0OTEyMCwgICAg IDU0OTEyMCwgICAgICA5NjAsICAgICAyMDEyLCAweGIxNTVjNzQxCiswLCAgICAgNTUwMDgwLCAg ICAgNTUwMDgwLCAgICAgIDk2MCwgICAgIDIwMTIsIDB4NTA2OWM4YWEKKzAsICAgICA1NTEwNDAs ICAgICA1NTEwNDAsICAgICAgOTYwLCAgICAgMjAxMiwgMHg2MTBkYjBiYworMCwgICAgIDU1MjAw MCwgICAgIDU1MjAwMCwgICAgICA5NjAsICAgICAyMDEyLCAweGI4MmJjMzI5CiswLCAgICAgNTUy OTYwLCAgICAgNTUyOTYwLCAgICAgIDk2MCwgICAgIDIwMTIsIDB4OGJkNGM1MjIKKzAsICAgICA1 NTM5MjAsICAgICA1NTM5MjAsICAgICAgOTYwLCAgICAgMjAxMiwgMHhkNDRiYjg2NQorMCwgICAg IDU1NDg4MCwgICAgIDU1NDg4MCwgICAgICA5NjAsICAgICAyMDEyLCAweGI1MWFjN2RjCiswLCAg ICAgNTU1ODQwLCAgICAgNTU1ODQwLCAgICAgIDk2MCwgICAgIDIwMTIsIDB4ZmUyYmM3OTkKKzAs ICAgICA1NTY4MDAsICAgICA1NTY4MDAsICAgICAgOTYwLCAgICAgMjAxMiwgMHg4Y2QxYmI1Mwor MCwgICAgIDU1Nzc2MCwgICAgIDU1Nzc2MCwgICAgICA5NjAsICAgICAyMDEyLCAweGJhMTNjYTk3 CiswLCAgICAgNTU4NzIwLCAgICAgNTU4NzIwLCAgICAgIDk2MCwgICAgIDIwMTIsIDB4ZjEwN2Jk NTEKKzAsICAgICA1NTk2ODAsICAgICA1NTk2ODAsICAgICAgOTYwLCAgICAgMjAxMiwgMHhhMDRl Y2U5NQorMCwgICAgIDU2MDY0MCwgICAgIDU2MDY0MCwgICAgICA5NjAsICAgICAyMDEyLCAweDRm NGZhYTU0CiswLCAgICAgNTYxNjAwLCAgICAgNTYxNjAwLCAgICAgIDk2MCwgICAgIDIwMTIsIDB4 NWE3NGJmZTEKKzAsICAgICA1NjI1NjAsICAgICA1NjI1NjAsICAgICAgOTYwLCAgICAgMjAxMiwg MHhkYWZhZGU1YgorMCwgICAgIDU2MzUyMCwgICAgIDU2MzUyMCwgICAgICA5NjAsICAgICAyMDEy LCAweDczOGZiYTUxCiswLCAgICAgNTY0NDgwLCAgICAgNTY0NDgwLCAgICAgIDk2MCwgICAgIDIw MTIsIDB4ZTdiMmI3OGUKKzAsICAgICA1NjU0NDAsICAgICA1NjU0NDAsICAgICAgOTYwLCAgICAg MjAxMiwgMHg3Njg1YjZjZQorMCwgICAgIDU2NjQwMCwgICAgIDU2NjQwMCwgICAgICA5NjAsICAg ICAyMDEyLCAweGFlNDViZDhhCiswLCAgICAgNTY3MzYwLCAgICAgNTY3MzYwLCAgICAgIDk2MCwg ICAgIDIwMTIsIDB4ZDUyY2M4NGUKKzAsICAgICA1NjgzMjAsICAgICA1NjgzMjAsICAgICAgOTYw LCAgICAgMjAxMiwgMHgwNGFiZDc3MworMCwgICAgIDU2OTI4MCwgICAgIDU2OTI4MCwgICAgICA5 NjAsICAgICAyMDEyLCAweDJiYWRiMGZmCiswLCAgICAgNTcwMjQwLCAgICAgNTcwMjQwLCAgICAg IDk2MCwgICAgIDIwMTIsIDB4MGVhZWM2YjIKKzAsICAgICA1NzEyMDAsICAgICA1NzEyMDAsICAg ICAgOTYwLCAgICAgMjAxMiwgMHg3YzFlYzMzZgorMCwgICAgIDU3MjE2MCwgICAgIDU3MjE2MCwg ICAgICA5NjAsICAgICAyMDEyLCAweDg3NzNiOTI1CiswLCAgICAgNTczMTIwLCAgICAgNTczMTIw LCAgICAgIDk2MCwgICAgIDIwMTIsIDB4NDBiYmMzNmQKKzAsICAgICA1NzQwODAsICAgICA1NzQw ODAsICAgICAgOTYwLCAgICAgMjAxMiwgMHgzMzBiYzI4OAorMCwgICAgIDU3NTA0MCwgICAgIDU3 NTA0MCwgICAgICA5NjAsICAgICAyMDEyLCAweDE2NTliNmY1CiswLCAgICAgNTc2MDAwLCAgICAg NTc2MDAwLCAgICAgIDk2MCwgICAgIDIwMTIsIDB4NjZlYWMxNjIKKzAsICAgICA1NzY5NjAsICAg ICA1NzY5NjAsICAgICAgOTYwLCAgICAgMjAxMiwgMHhmM2FjZGIzZAorMCwgICAgIDU3NzkyMCwg ICAgIDU3NzkyMCwgICAgICA5NjAsICAgICAyMDEyLCAweDQ2NWFiYjg3CiswLCAgICAgNTc4ODgw LCAgICAgNTc4ODgwLCAgICAgIDk2MCwgICAgIDIwMTIsIDB4ZThlOWJjMTYKKzAsICAgICA1Nzk4 NDAsICAgICA1Nzk4NDAsICAgICAgOTYwLCAgICAgMjAxMiwgMHg3MWVlYmJkOQorMCwgICAgIDU4 MDgwMCwgICAgIDU4MDgwMCwgICAgICA5NjAsICAgICAyMDEyLCAweDFmNTljYjJhCiswLCAgICAg NTgxNzYwLCAgICAgNTgxNzYwLCAgICAgIDk2MCwgICAgIDIwMTIsIDB4NTNlM2M5ZTcKKzAsICAg ICA1ODI3MjAsICAgICA1ODI3MjAsICAgICAgOTYwLCAgICAgMjAxMiwgMHhmNDEwYjkzOQorMCwg ICAgIDU4MzY4MCwgICAgIDU4MzY4MCwgICAgICA5NjAsICAgICAyMDEyLCAweGRiMTNkMWIzCisw LCAgICAgNTg0NjQwLCAgICAgNTg0NjQwLCAgICAgIDk2MCwgICAgIDIwMTIsIDB4Y2QyNmJmMjcK KzAsICAgICA1ODU2MDAsICAgICA1ODU2MDAsICAgICAgOTYwLCAgICAgMjAxMiwgMHg3MDdlY2M5 YworMCwgICAgIDU4NjU2MCwgICAgIDU4NjU2MCwgICAgICA5NjAsICAgICAyMDEyLCAweDM0ODNi NmJmCiswLCAgICAgNTg3NTIwLCAgICAgNTg3NTIwLCAgICAgIDk2MCwgICAgIDIwMTIsIDB4NDE4 NGQ0NTEKKzAsICAgICA1ODg0ODAsICAgICA1ODg0ODAsICAgICAgOTYwLCAgICAgMjAxMiwgMHhj ZjZhYmZhZQorMCwgICAgIDU4OTQ0MCwgICAgIDU4OTQ0MCwgICAgICA5NjAsICAgICAyMDEyLCAw eDVjOWViNGNhCiswLCAgICAgNTkwNDAwLCAgICAgNTkwNDAwLCAgICAgIDk2MCwgICAgIDIwMTIs IDB4ZjM5NmJlMDEKKzAsICAgICA1OTEzNjAsICAgICA1OTEzNjAsICAgICAgOTYwLCAgICAgMjAx MiwgMHgwNmJmZGEzOAorMCwgICAgIDU5MjMyMCwgICAgIDU5MjMyMCwgICAgICA5NjAsICAgICAy MDEyLCAweDBlOTJiY2Y0CiswLCAgICAgNTkzMjgwLCAgICAgNTkzMjgwLCAgICAgIDk2MCwgICAg IDIwMTIsIDB4YWFhMmI5OWQKKzAsICAgICA1OTQyNDAsICAgICA1OTQyNDAsICAgICAgOTYwLCAg ICAgMjAxMiwgMHhmMTEyYTlhOQorMCwgICAgIDU5NTIwMCwgICAgIDU5NTIwMCwgICAgICA5NjAs ICAgICAyMDEyLCAweDI4NDRiZGYxCiswLCAgICAgNTk2MTYwLCAgICAgNTk2MTYwLCAgICAgIDk2 MCwgICAgIDIwMTIsIDB4Yjk2YmFmMzkKKzAsICAgICA1OTcxMjAsICAgICA1OTcxMjAsICAgICAg OTYwLCAgICAgMjAxMiwgMHhkNGYyZDE1NworMCwgICAgIDU5ODA4MCwgICAgIDU5ODA4MCwgICAg ICA5NjAsICAgICAyMDEyLCAweDdjNzRiMTQ5CiswLCAgICAgNTk5MDQwLCAgICAgNTk5MDQwLCAg ICAgIDk2MCwgICAgIDIwMTIsIDB4YmQ0M2Q1ZjIKKzAsICAgICA2MDAwMDAsICAgICA2MDAwMDAs ICAgICAgOTYwLCAgICAgMjAxMiwgMHhhYTEwYjJiYQorMCwgICAgIDYwMDk2MCwgICAgIDYwMDk2 MCwgICAgICA5NjAsICAgICAyMDEyLCAweDY2ZTliOTVmCiswLCAgICAgNjAxOTIwLCAgICAgNjAx OTIwLCAgICAgIDk2MCwgICAgIDIwMTIsIDB4NmYwMWFiZWYKKzAsICAgICA2MDI4ODAsICAgICA2 MDI4ODAsICAgICAgOTYwLCAgICAgMjAxMiwgMHgxY2I1YzY2NAorMCwgICAgIDYwMzg0MCwgICAg IDYwMzg0MCwgICAgICA5NjAsICAgICAyMDEyLCAweDVlZTJhZmM1CiswLCAgICAgNjA0ODAwLCAg ICAgNjA0ODAwLCAgICAgIDk2MCwgICAgIDIwMTIsIDB4ZWIzOWQyMTMKKzAsICAgICA2MDU3NjAs ICAgICA2MDU3NjAsICAgICAgOTYwLCAgICAgMjAxMiwgMHgxZmZlYWFmYworMCwgICAgIDYwNjcy MCwgICAgIDYwNjcyMCwgICAgICA5NjAsICAgICAyMDEyLCAweDZiYjRkNTQ4CiswLCAgICAgNjA3 NjgwLCAgICAgNjA3NjgwLCAgICAgIDk2MCwgICAgIDIwMTIsIDB4YTA0NWIyM2EKKzAsICAgICA2 MDg2NDAsICAgICA2MDg2NDAsICAgICAgOTYwLCAgICAgMjAxMiwgMHgxN2MzYWE0OQorMCwgICAg IDYwOTYwMCwgICAgIDYwOTYwMCwgICAgICA5NjAsICAgICAyMDEyLCAweDJkNDdkYjdjCiswLCAg ICAgNjEwNTYwLCAgICAgNjEwNTYwLCAgICAgIDk2MCwgICAgIDIwMTIsIDB4MDdkZGM5YWMKKzAs ICAgICA2MTE1MjAsICAgICA2MTE1MjAsICAgICAgOTYwLCAgICAgMjAxMiwgMHhhMzg2Yzk5ZQor MCwgICAgIDYxMjQ4MCwgICAgIDYxMjQ4MCwgICAgICA5NjAsICAgICAyMDEyLCAweDBlMGJhZThh CiswLCAgICAgNjEzNDQwLCAgICAgNjEzNDQwLCAgICAgIDk2MCwgICAgIDIwMTIsIDB4N2Q2ZmM0 MTkKKzAsICAgICA2MTQ0MDAsICAgICA2MTQ0MDAsICAgICAgOTYwLCAgICAgMjAxMiwgMHgzNGEz YzVhMgorMCwgICAgIDYxNTM2MCwgICAgIDYxNTM2MCwgICAgICA5NjAsICAgICAyMDEyLCAweGRh ODFjOGU5CiswLCAgICAgNjE2MzIwLCAgICAgNjE2MzIwLCAgICAgIDk2MCwgICAgIDIwMTIsIDB4 ZGU1M2JjZDgKKzAsICAgICA2MTcyODAsICAgICA2MTcyODAsICAgICAgOTYwLCAgICAgMjAxMiwg MHgzNzJhYzA2NQorMCwgICAgIDYxODI0MCwgICAgIDYxODI0MCwgICAgICA5NjAsICAgICAyMDEy LCAweDZkMDdhOTVjCiswLCAgICAgNjE5MjAwLCAgICAgNjE5MjAwLCAgICAgIDk2MCwgICAgIDIw MTIsIDB4Mjk2ZWI0N2YKKzAsICAgICA2MjAxNjAsICAgICA2MjAxNjAsICAgICAgOTYwLCAgICAg MjAxMiwgMHgwZjQ3YmUyYQorMCwgICAgIDYyMTEyMCwgICAgIDYyMTEyMCwgICAgICA5NjAsICAg ICAyMDEyLCAweDM4OWViYWY2CiswLCAgICAgNjIyMDgwLCAgICAgNjIyMDgwLCAgICAgIDk2MCwg ICAgIDIwMTIsIDB4OTc0NmJhM2IKKzAsICAgICA2MjMwNDAsICAgICA2MjMwNDAsICAgICAgOTYw LCAgICAgMjAxMiwgMHgwNzBlOWFlZAorMCwgICAgIDYyNDAwMCwgICAgIDYyNDAwMCwgICAgICA5 NjAsICAgICAyMDEyLCAweGE0YWJjNzk4CiswLCAgICAgNjI0OTYwLCAgICAgNjI0OTYwLCAgICAg IDk2MCwgICAgIDIwMTIsIDB4ZTU1Y2FjN2IKKzAsICAgICA2MjU5MjAsICAgICA2MjU5MjAsICAg ICAgOTYwLCAgICAgMjAxMiwgMHgwYzcxYmE0NQorMCwgICAgIDYyNjg4MCwgICAgIDYyNjg4MCwg ICAgICA5NjAsICAgICAyMDEyLCAweDcwZmJiM2M1CiswLCAgICAgNjI3ODQwLCAgICAgNjI3ODQw LCAgICAgIDk2MCwgICAgIDIwMTIsIDB4YTM1ZWMzMGEKKzAsICAgICA2Mjg4MDAsICAgICA2Mjg4 MDAsICAgICAgOTYwLCAgICAgMjAxMiwgMHhmMzBhYjkzNQorMCwgICAgIDYyOTc2MCwgICAgIDYy OTc2MCwgICAgICA5NjAsICAgICAyMDEyLCAweDJjYmI5Yjk5CiswLCAgICAgNjMwNzIwLCAgICAg NjMwNzIwLCAgICAgIDk2MCwgICAgIDIwMTIsIDB4NjYwNmMxYmYKKzAsICAgICA2MzE2ODAsICAg ICA2MzE2ODAsICAgICAgOTYwLCAgICAgMjAxMiwgMHg0MWNjYWQ1YworMCwgICAgIDYzMjY0MCwg ICAgIDYzMjY0MCwgICAgICA5NjAsICAgICAyMDEyLCAweDM1MmZjMDAyCiswLCAgICAgNjMzNjAw LCAgICAgNjMzNjAwLCAgICAgIDk2MCwgICAgIDIwMTIsIDB4MTc2M2JkMTAKKzAsICAgICA2MzQ1 NjAsICAgICA2MzQ1NjAsICAgICAgOTYwLCAgICAgMjAxMiwgMHhiNTRiY2FlNgorMCwgICAgIDYz NTUyMCwgICAgIDYzNTUyMCwgICAgICA5NjAsICAgICAyMDEyLCAweDczNzRhYjkyCiswLCAgICAg NjM2NDgwLCAgICAgNjM2NDgwLCAgICAgIDk2MCwgICAgIDIwMTIsIDB4Mjg5NWE5OWEKKzAsICAg ICA2Mzc0NDAsICAgICA2Mzc0NDAsICAgICAgOTYwLCAgICAgMjAxMiwgMHg5ZjY4YjAyZgorMCwg ICAgIDYzODQwMCwgICAgIDYzODQwMCwgICAgICA5NjAsICAgICAyMDEyLCAweGRmYWJiYjc2Cisw LCAgICAgNjM5MzYwLCAgICAgNjM5MzYwLCAgICAgIDk2MCwgICAgIDIwMTIsIDB4NzY0ZWE2YzUK KzAsICAgICA2NDAzMjAsICAgICA2NDAzMjAsICAgICAgOTYwLCAgICAgMjAxMiwgMHg0ZTgzYzVh NQorMCwgICAgIDY0MTI4MCwgICAgIDY0MTI4MCwgICAgICA5NjAsICAgICAyMDEyLCAweGYwZThj NzZhCiswLCAgICAgNjQyMjQwLCAgICAgNjQyMjQwLCAgICAgIDk2MCwgICAgIDIwMTIsIDB4ZGM4 MGI0ZWEKKzAsICAgICA2NDMyMDAsICAgICA2NDMyMDAsICAgICAgOTYwLCAgICAgMjAxMiwgMHhj YzUzYjBhNQorMCwgICAgIDY0NDE2MCwgICAgIDY0NDE2MCwgICAgICA5NjAsICAgICAyMDEyLCAw eDc4OTNiYzdmCiswLCAgICAgNjQ1MTIwLCAgICAgNjQ1MTIwLCAgICAgIDk2MCwgICAgIDIwMTIs IDB4Njk2NWIzNTUKKzAsICAgICA2NDYwODAsICAgICA2NDYwODAsICAgICAgOTYwLCAgICAgMjAx MiwgMHg3ZjhmYWMwMAorMCwgICAgIDY0NzA0MCwgICAgIDY0NzA0MCwgICAgICA5NjAsICAgICAy MDEyLCAweDZjNzFjN2I4CiswLCAgICAgNjQ4MDAwLCAgICAgNjQ4MDAwLCAgICAgIDk2MCwgICAg IDIwMTIsIDB4YTAwZWMzNjcKKzAsICAgICA2NDg5NjAsICAgICA2NDg5NjAsICAgICAgOTYwLCAg ICAgMjAxMiwgMHg1ZjBmYzUwZQorMCwgICAgIDY0OTkyMCwgICAgIDY0OTkyMCwgICAgICA5NjAs ICAgICAyMDEyLCAweDFiZDJhZDg3CiswLCAgICAgNjUwODgwLCAgICAgNjUwODgwLCAgICAgIDk2 MCwgICAgIDIwMTIsIDB4ZDA1NGJhMmQKKzAsICAgICA2NTE4NDAsICAgICA2NTE4NDAsICAgICAg OTYwLCAgICAgMjAxMiwgMHhhZjgwYTBkNQorMCwgICAgIDY1MjgwMCwgICAgIDY1MjgwMCwgICAg ICA5NjAsICAgICAyMDEyLCAweDJhY2FjODczCiswLCAgICAgNjUzNzYwLCAgICAgNjUzNzYwLCAg ICAgIDk2MCwgICAgIDIwMTIsIDB4MjYwY2E1ODQKKzAsICAgICA2NTQ3MjAsICAgICA2NTQ3MjAs ICAgICAgOTYwLCAgICAgMjAxMiwgMHg0Zjk4YWE3YworMCwgICAgIDY1NTY4MCwgICAgIDY1NTY4 MCwgICAgICA5NjAsICAgICAyMDEyLCAweDAyNTRhYTM2CiswLCAgICAgNjU2NjQwLCAgICAgNjU2 NjQwLCAgICAgIDk2MCwgICAgIDIwMTIsIDB4ZTNjN2MzM2EKKzAsICAgICA2NTc2MDAsICAgICA2 NTc2MDAsICAgICAgOTYwLCAgICAgMjAxMiwgMHgzYjllYTcwZgorMCwgICAgIDY1ODU2MCwgICAg IDY1ODU2MCwgICAgICA5NjAsICAgICAyMDEyLCAweGU4MjliN2U2CiswLCAgICAgNjU5NTIwLCAg ICAgNjU5NTIwLCAgICAgIDk2MCwgICAgIDIwMTIsIDB4OTMxN2E4ZDEKKzAsICAgICA2NjA0ODAs ICAgICA2NjA0ODAsICAgICAgOTYwLCAgICAgMjAxMiwgMHg4OGIzYTk4ZgorMCwgICAgIDY2MTQ0 MCwgICAgIDY2MTQ0MCwgICAgICA5NjAsICAgICAyMDEyLCAweGE0YThjM2JjCiswLCAgICAgNjYy NDAwLCAgICAgNjYyNDAwLCAgICAgIDk2MCwgICAgIDIwMTIsIDB4OTVjOWE4NjkKKzAsICAgICA2 NjMzNjAsICAgICA2NjMzNjAsICAgICAgOTYwLCAgICAgMjAxMiwgMHg3Zjg4OWZlZAorMCwgICAg IDY2NDMyMCwgICAgIDY2NDMyMCwgICAgICA5NjAsICAgICAyMDEyLCAweDU0MzhjNDA4CiswLCAg ICAgNjY1MjgwLCAgICAgNjY1MjgwLCAgICAgIDk2MCwgICAgIDIwMTIsIDB4MzQ1NWEzNjYKKzAs ICAgICA2NjYyNDAsICAgICA2NjYyNDAsICAgICAgOTYwLCAgICAgMjAxMiwgMHg1MzE5YjMzZAor MCwgICAgIDY2NzIwMCwgICAgIDY2NzIwMCwgICAgICA5NjAsICAgICAyMDEyLCAweGIxOWRjNGYw CiswLCAgICAgNjY4MTYwLCAgICAgNjY4MTYwLCAgICAgIDk2MCwgICAgIDIwMTIsIDB4ZjA4MGIx MDkKKzAsICAgICA2NjkxMjAsICAgICA2NjkxMjAsICAgICAgOTYwLCAgICAgMjAxMiwgMHhlZjgz ZDhlNworMCwgICAgIDY3MDA4MCwgICAgIDY3MDA4MCwgICAgICA5NjAsICAgICAyMDEyLCAweDIz N2FjNjljCiswLCAgICAgNjcxMDQwLCAgICAgNjcxMDQwLCAgICAgIDk2MCwgICAgIDIwMTIsIDB4 YmIzMGI3MTQKKzAsICAgICA2NzIwMDAsICAgICA2NzIwMDAsICAgICAgOTYwLCAgICAgMjAxMiwg MHg4NzQ1YmE1NAorMCwgICAgIDY3Mjk2MCwgICAgIDY3Mjk2MCwgICAgICA5NjAsICAgICAyMDEy LCAweDg1ODhiZDZjCiswLCAgICAgNjczOTIwLCAgICAgNjczOTIwLCAgICAgIDk2MCwgICAgIDIw MTIsIDB4YzU4MGJkZGUKKzAsICAgICA2NzQ4ODAsICAgICA2NzQ4ODAsICAgICAgOTYwLCAgICAg MjAxMiwgMHhiMDYyYmFmMQorMCwgICAgIDY3NTg0MCwgICAgIDY3NTg0MCwgICAgICA5NjAsICAg ICAyMDEyLCAweGUwMTRiMDgyCiswLCAgICAgNjc2ODAwLCAgICAgNjc2ODAwLCAgICAgIDk2MCwg ICAgIDIwMTIsIDB4MTQ4YmNiODcKKzAsICAgICA2Nzc3NjAsICAgICA2Nzc3NjAsICAgICAgOTYw LCAgICAgMjAxMiwgMHg1NTRiYzEzZAorMCwgICAgIDY3ODcyMCwgICAgIDY3ODcyMCwgICAgICA5 NjAsICAgICAyMDEyLCAweGM0MTBjMjcwCiswLCAgICAgNjc5NjgwLCAgICAgNjc5NjgwLCAgICAg IDk2MCwgICAgIDIwMTIsIDB4YjJjOGI2NWIKKzAsICAgICA2ODA2NDAsICAgICA2ODA2NDAsICAg ICAgOTYwLCAgICAgMjAxMiwgMHhhNDEyYjNmNAorMCwgICAgIDY4MTYwMCwgICAgIDY4MTYwMCwg ICAgICA5NjAsICAgICAyMDEyLCAweGJiNTJhYTlhCiswLCAgICAgNjgyNTYwLCAgICAgNjgyNTYw LCAgICAgIDk2MCwgICAgIDIwMTIsIDB4NDAwNWI1MjcKKzAsICAgICA2ODM1MjAsICAgICA2ODM1 MjAsICAgICAgOTYwLCAgICAgMjAxMiwgMHg4YzVlYjA1NQorMCwgICAgIDY4NDQ4MCwgICAgIDY4 NDQ4MCwgICAgICA5NjAsICAgICAyMDEyLCAweDg2MjJjMTQyCiswLCAgICAgNjg1NDQwLCAgICAg Njg1NDQwLCAgICAgIDk2MCwgICAgIDIwMTIsIDB4MDVhM2I4NjEKKzAsICAgICA2ODY0MDAsICAg ICA2ODY0MDAsICAgICAgOTYwLCAgICAgMjAxMiwgMHg5ZjZkYmI0ZAorMCwgICAgIDY4NzM2MCwg ICAgIDY4NzM2MCwgICAgICA5NjAsICAgICAyMDEyLCAweDAzM2ZiODY3CiswLCAgICAgNjg4MzIw LCAgICAgNjg4MzIwLCAgICAgIDk2MCwgICAgIDIwMTIsIDB4MjQzYmFiZDUKKzAsICAgICA2ODky ODAsICAgICA2ODkyODAsICAgICAgOTYwLCAgICAgMjAxMiwgMHg4ZDZkYjgzYworMCwgICAgIDY5 MDI0MCwgICAgIDY5MDI0MCwgICAgICA5NjAsICAgICAyMDEyLCAweDM5MjNiODI5CiswLCAgICAg NjkxMjAwLCAgICAgNjkxMjAwLCAgICAgIDk2MCwgICAgIDIwMTIsIDB4NjliNmI1ODcKKzAsICAg ICA2OTIxNjAsICAgICA2OTIxNjAsICAgICAgOTYwLCAgICAgMjAxMiwgMHhkZGE4ZDAxOAorMCwg ICAgIDY5MzEyMCwgICAgIDY5MzEyMCwgICAgICA5NjAsICAgICAyMDEyLCAweDU0YjFiMmE0Cisw LCAgICAgNjk0MDgwLCAgICAgNjk0MDgwLCAgICAgIDk2MCwgICAgIDIwMTIsIDB4MzgwZWIxYWYK KzAsICAgICA2OTUwNDAsICAgICA2OTUwNDAsICAgICAgOTYwLCAgICAgMjAxMiwgMHhlYzNjYmRi NAorMCwgICAgIDY5NjAwMCwgICAgIDY5NjAwMCwgICAgICA5NjAsICAgICAyMDEyLCAweDdjZTli NGNmCiswLCAgICAgNjk2OTYwLCAgICAgNjk2OTYwLCAgICAgIDk2MCwgICAgIDIwMTIsIDB4Y2Y2 Y2I5OWIKKzAsICAgICA2OTc5MjAsICAgICA2OTc5MjAsICAgICAgOTYwLCAgICAgMjAxMiwgMHg3 MzgzYWI5NworMCwgICAgIDY5ODg4MCwgICAgIDY5ODg4MCwgICAgICA5NjAsICAgICAyMDEyLCAw eGFhNGNjMDY4CiswLCAgICAgNjk5ODQwLCAgICAgNjk5ODQwLCAgICAgIDk2MCwgICAgIDIwMTIs IDB4OTZkNGMzZGIKKzAsICAgICA3MDA4MDAsICAgICA3MDA4MDAsICAgICAgOTYwLCAgICAgMjAx MiwgMHhhYjhjYjg0ZgorMCwgICAgIDcwMTc2MCwgICAgIDcwMTc2MCwgICAgICA5NjAsICAgICAy MDEyLCAweDczZGNhY2Y5CiswLCAgICAgNzAyNzIwLCAgICAgNzAyNzIwLCAgICAgIDk2MCwgICAg IDIwMTIsIDB4ZjYxY2ExMjIKKzAsICAgICA3MDM2ODAsICAgICA3MDM2ODAsICAgICAgOTYwLCAg ICAgMjAxMiwgMHg5ZjFjYmQ1YgorMCwgICAgIDcwNDY0MCwgICAgIDcwNDY0MCwgICAgICA5NjAs ICAgICAyMDEyLCAweDFmODRhYTNmCiswLCAgICAgNzA1NjAwLCAgICAgNzA1NjAwLCAgICAgIDk2 MCwgICAgIDIwMTIsIDB4YTAwM2FkNDMKKzAsICAgICA3MDY1NjAsICAgICA3MDY1NjAsICAgICAg OTYwLCAgICAgMjAxMiwgMHg2Y2ZmYTRlZgorMCwgICAgIDcwNzUyMCwgICAgIDcwNzUyMCwgICAg ICA5NjAsICAgICAyMDEyLCAweDI5NTU5ZTFlCiswLCAgICAgNzA4NDgwLCAgICAgNzA4NDgwLCAg ICAgIDk2MCwgICAgIDIwMTIsIDB4N2E3OWIwNTkKKzAsICAgICA3MDk0NDAsICAgICA3MDk0NDAs ICAgICAgOTYwLCAgICAgMjAxMiwgMHhhMTkyOWM0MgorMCwgICAgIDcxMDQwMCwgICAgIDcxMDQw MCwgICAgICA5NjAsICAgICAyMDEyLCAweDUyZGVhZDFjCiswLCAgICAgNzExMzYwLCAgICAgNzEx MzYwLCAgICAgIDk2MCwgICAgIDIwMTIsIDB4OGYzMWI5ZjUKKzAsICAgICA3MTIzMjAsICAgICA3 MTIzMjAsICAgICAgOTYwLCAgICAgMjAxMiwgMHhiOGE4OTllYworMCwgICAgIDcxMzI4MCwgICAg IDcxMzI4MCwgICAgICA5NjAsICAgICAyMDEyLCAweDdjYTRiMDJkCiswLCAgICAgNzE0MjQwLCAg ICAgNzE0MjQwLCAgICAgIDk2MCwgICAgIDIwMTIsIDB4MmM5MmFlMWIKKzAsICAgICA3MTUyMDAs ICAgICA3MTUyMDAsICAgICAgOTYwLCAgICAgMjAxMiwgMHhlNjgzYTkyZgorMCwgICAgIDcxNjE2 MCwgICAgIDcxNjE2MCwgICAgICA5NjAsICAgICAyMDEyLCAweGU5ZDVhYmNmCiswLCAgICAgNzE3 MTIwLCAgICAgNzE3MTIwLCAgICAgIDk2MCwgICAgIDIwMTIsIDB4NzU3ZGIzNzcKKzAsICAgICA3 MTgwODAsICAgICA3MTgwODAsICAgICAgOTYwLCAgICAgMjAxMiwgMHhkNGE4YmJhZQorMCwgICAg IDcxOTA0MCwgICAgIDcxOTA0MCwgICAgICA5NjAsICAgICAyMDEyLCAweGVlYTVjNGVlCiswLCAg ICAgNzIwMDAwLCAgICAgNzIwMDAwLCAgICAgIDk2MCwgICAgIDIwMTIsIDB4YzM3Y2E5YTkKKzAs ICAgICA3MjA5NjAsICAgICA3MjA5NjAsICAgICAgOTYwLCAgICAgMjAxMiwgMHg4ODcxYmI1MQor MCwgICAgIDcyMTkyMCwgICAgIDcyMTkyMCwgICAgICA5NjAsICAgICAyMDEyLCAweDVkZDhiM2Ey CiswLCAgICAgNzIyODgwLCAgICAgNzIyODgwLCAgICAgIDk2MCwgICAgIDIwMTIsIDB4ZWYwZmFl N2YKKzAsICAgICA3MjM4NDAsICAgICA3MjM4NDAsICAgICAgOTYwLCAgICAgMjAxMiwgMHhlN2Vj YjIzZQorMCwgICAgIDcyNDgwMCwgICAgIDcyNDgwMCwgICAgICA5NjAsICAgICAyMDEyLCAweGM0 ZjZkNDM3CiswLCAgICAgNzI1NzYwLCAgICAgNzI1NzYwLCAgICAgIDk2MCwgICAgIDIwMTIsIDB4 MGM3NGI4MWQKKzAsICAgICA3MjY3MjAsICAgICA3MjY3MjAsICAgICAgOTYwLCAgICAgMjAxMiwg MHhlZTY4YjFlZQorMCwgICAgIDcyNzY4MCwgICAgIDcyNzY4MCwgICAgICA5NjAsICAgICAyMDEy LCAweDQ2YjRiNGE4CiswLCAgICAgNzI4NjQwLCAgICAgNzI4NjQwLCAgICAgIDk2MCwgICAgIDIw MTIsIDB4MDUyNmFiY2EKKzAsICAgICA3Mjk2MDAsICAgICA3Mjk2MDAsICAgICAgOTYwLCAgICAg MjAxMiwgMHg3Njk1YmE1NQorMCwgICAgIDczMDU2MCwgICAgIDczMDU2MCwgICAgICA5NjAsICAg ICAyMDEyLCAweGM3ZjVhZDkwCiswLCAgICAgNzMxNTIwLCAgICAgNzMxNTIwLCAgICAgIDk2MCwg ICAgIDIwMTIsIDB4MDUyMmI5YmMKKzAsICAgICA3MzI0ODAsICAgICA3MzI0ODAsICAgICAgOTYw LCAgICAgMjAxMiwgMHgwZWVmYzZhZAorMCwgICAgIDczMzQ0MCwgICAgIDczMzQ0MCwgICAgICA5 NjAsICAgICAyMDEyLCAweDM0MGRhZTE2CiswLCAgICAgNzM0NDAwLCAgICAgNzM0NDAwLCAgICAg IDk2MCwgICAgIDIwMTIsIDB4ZWE0MmJkYzAKKzAsICAgICA3MzUzNjAsICAgICA3MzUzNjAsICAg ICAgOTYwLCAgICAgMjAxMiwgMHhlMDQ3YWJiNgorMCwgICAgIDczNjMyMCwgICAgIDczNjMyMCwg ICAgICA5NjAsICAgICAyMDEyLCAweDZkYTVjMTRmCiswLCAgICAgNzM3MjgwLCAgICAgNzM3Mjgw LCAgICAgIDk2MCwgICAgIDIwMTIsIDB4NDZkOGMxMWQKKzAsICAgICA3MzgyNDAsICAgICA3Mzgy NDAsICAgICAgOTYwLCAgICAgMjAxMiwgMHg4ZjRkOWYyZgorMCwgICAgIDczOTIwMCwgICAgIDcz OTIwMCwgICAgICA5NjAsICAgICAyMDEyLCAweDZkMDBkMjZjCiswLCAgICAgNzQwMTYwLCAgICAg NzQwMTYwLCAgICAgIDk2MCwgICAgIDIwMTIsIDB4ODdmYzlkMWIKKzAsICAgICA3NDExMjAsICAg ICA3NDExMjAsICAgICAgOTYwLCAgICAgMjAxMiwgMHhiYmE1Yjc2MworMCwgICAgIDc0MjA4MCwg ICAgIDc0MjA4MCwgICAgICA5NjAsICAgICAyMDEyLCAweGFiNThiODUzCiswLCAgICAgNzQzMDQw LCAgICAgNzQzMDQwLCAgICAgIDk2MCwgICAgIDIwMTIsIDB4ODE4MGI4NjMKKzAsICAgICA3NDQw MDAsICAgICA3NDQwMDAsICAgICAgOTYwLCAgICAgMjAxMiwgMHgzNjg0YjNiYQorMCwgICAgIDc0 NDk2MCwgICAgIDc0NDk2MCwgICAgICA5NjAsICAgICAyMDEyLCAweGYxYTRhODA2CiswLCAgICAg NzQ1OTIwLCAgICAgNzQ1OTIwLCAgICAgIDk2MCwgICAgIDIwMTIsIDB4MjgyNmI0OGMKKzAsICAg ICA3NDY4ODAsICAgICA3NDY4ODAsICAgICAgOTYwLCAgICAgMjAxMiwgMHgxODgzYWY3ZgorMCwg ICAgIDc0Nzg0MCwgICAgIDc0Nzg0MCwgICAgICA5NjAsICAgICAyMDEyLCAweDQ0YzVjMzdhCisw LCAgICAgNzQ4ODAwLCAgICAgNzQ4ODAwLCAgICAgIDk2MCwgICAgIDIwMTIsIDB4ZWMzM2MzZjEK KzAsICAgICA3NDk3NjAsICAgICA3NDk3NjAsICAgICAgOTYwLCAgICAgMjAxMiwgMHhkNjdmYjc2 NworMCwgICAgIDc1MDcyMCwgICAgIDc1MDcyMCwgICAgICA5NjAsICAgICAyMDEyLCAweDAzYzJj MjE5CiswLCAgICAgNzUxNjgwLCAgICAgNzUxNjgwLCAgICAgIDk2MCwgICAgIDIwMTIsIDB4NzVh OWIzODkKKzAsICAgICA3NTI2NDAsICAgICA3NTI2NDAsICAgICAgOTYwLCAgICAgMjAxMiwgMHhl MDQxYWQ4OAorMCwgICAgIDc1MzYwMCwgICAgIDc1MzYwMCwgICAgICA5NjAsICAgICAyMDEyLCAw eDZiY2NiMDA1CiswLCAgICAgNzU0NTYwLCAgICAgNzU0NTYwLCAgICAgIDk2MCwgICAgIDIwMTIs IDB4ZDg4MWMyNGEKKzAsICAgICA3NTU1MjAsICAgICA3NTU1MjAsICAgICAgOTYwLCAgICAgMjAx MiwgMHg3ZGQwYzMwMgorMCwgICAgIDc1NjQ4MCwgICAgIDc1NjQ4MCwgICAgICA5NjAsICAgICAy MDEyLCAweDJiYThhNjQ5CiswLCAgICAgNzU3NDQwLCAgICAgNzU3NDQwLCAgICAgIDk2MCwgICAg IDIwMTIsIDB4NjNlMTllYWIKKzAsICAgICA3NTg0MDAsICAgICA3NTg0MDAsICAgICAgOTYwLCAg ICAgMjAxMiwgMHgxYzBkYWZjZQorMCwgICAgIDc1OTM2MCwgICAgIDc1OTM2MCwgICAgICA5NjAs ICAgICAyMDEyLCAweGYyNjZiZjQ3CiswLCAgICAgNzYwMzIwLCAgICAgNzYwMzIwLCAgICAgIDk2 MCwgICAgIDIwMTIsIDB4MTFiZWI0YjEKKzAsICAgICA3NjEyODAsICAgICA3NjEyODAsICAgICAg OTYwLCAgICAgMjAxMiwgMHhjNmY2YjJiNQorMCwgICAgIDc2MjI0MCwgICAgIDc2MjI0MCwgICAg ICA5NjAsICAgICAyMDEyLCAweDE1ZDRiNGQwCiswLCAgICAgNzYzMjAwLCAgICAgNzYzMjAwLCAg ICAgIDk2MCwgICAgIDIwMTIsIDB4MDhiZmExZTcKKzAsICAgICA3NjQxNjAsICAgICA3NjQxNjAs ICAgICAgOTYwLCAgICAgMjAxMiwgMHgxOGRiYjdiNQorMCwgICAgIDc2NTEyMCwgICAgIDc2NTEy MCwgICAgICA5NjAsICAgICAyMDEyLCAweGMyNzljYzY3CiswLCAgICAgNzY2MDgwLCAgICAgNzY2 MDgwLCAgICAgIDk2MCwgICAgIDIwMTIsIDB4ZDIzNmJmMjgKKzAsICAgICA3NjcwNDAsICAgICA3 NjcwNDAsICAgICAgOTYwLCAgICAgMjAxMiwgMHhjOWQxYjE5NgorMCwgICAgIDc2ODAwMCwgICAg IDc2ODAwMCwgICAgICA5NjAsICAgICAyMDEyLCAweGI2MDU5ODNlCiswLCAgICAgNzY4OTYwLCAg ICAgNzY4OTYwLCAgICAgIDk2MCwgICAgIDIwMTIsIDB4ODEzMmM1NjYKKzAsICAgICA3Njk5MjAs ICAgICA3Njk5MjAsICAgICAgOTYwLCAgICAgMjAxMiwgMHg2YmU0Y2QzOQorMCwgICAgIDc3MDg4 MCwgICAgIDc3MDg4MCwgICAgICA5NjAsICAgICAyMDEyLCAweGNlNTNjMWY5CiswLCAgICAgNzcx ODQwLCAgICAgNzcxODQwLCAgICAgIDk2MCwgICAgIDIwMTIsIDB4ZTFlZmFjMGYKKzAsICAgICA3 NzI4MDAsICAgICA3NzI4MDAsICAgICAgOTYwLCAgICAgMjAxMiwgMHgzZDYwYTU3YQorMCwgICAg IDc3Mzc2MCwgICAgIDc3Mzc2MCwgICAgICA5NjAsICAgICAyMDEyLCAweDFiZWRhNGI3CiswLCAg ICAgNzc0NzIwLCAgICAgNzc0NzIwLCAgICAgIDk2MCwgICAgIDIwMTIsIDB4MzRhNGFjODEKKzAs ICAgICA3NzU2ODAsICAgICA3NzU2ODAsICAgICAgOTYwLCAgICAgMjAxMiwgMHgzMGIwYmU0Ygor MCwgICAgIDc3NjY0MCwgICAgIDc3NjY0MCwgICAgICA5NjAsICAgICAyMDEyLCAweGM3Y2VhZjQ1 CiswLCAgICAgNzc3NjAwLCAgICAgNzc3NjAwLCAgICAgIDk2MCwgICAgIDIwMTIsIDB4YWRlMGI2 ZWMKKzAsICAgICA3Nzg1NjAsICAgICA3Nzg1NjAsICAgICAgOTYwLCAgICAgMjAxMiwgMHhlMDBk YWYwNgorMCwgICAgIDc3OTUyMCwgICAgIDc3OTUyMCwgICAgICA5NjAsICAgICAyMDEyLCAweDA0 Zjc5ZmU0CiswLCAgICAgNzgwNDgwLCAgICAgNzgwNDgwLCAgICAgIDk2MCwgICAgIDIwMTIsIDB4 OGM1OWI3ZDkKKzAsICAgICA3ODE0NDAsICAgICA3ODE0NDAsICAgICAgOTYwLCAgICAgMjAxMiwg MHg2ZjY2YjkyYQorMCwgICAgIDc4MjQwMCwgICAgIDc4MjQwMCwgICAgICA5NjAsICAgICAyMDEy LCAweDliMDhiMmMwCiswLCAgICAgNzgzMzYwLCAgICAgNzgzMzYwLCAgICAgIDk2MCwgICAgIDIw MTIsIDB4YThjMWI1YzEKKzAsICAgICA3ODQzMjAsICAgICA3ODQzMjAsICAgICAgOTYwLCAgICAg MjAxMiwgMHhlM2FhYzBiMAorMCwgICAgIDc4NTI4MCwgICAgIDc4NTI4MCwgICAgICA5NjAsICAg ICAyMDEyLCAweDE2MjJiZGFmCiswLCAgICAgNzg2MjQwLCAgICAgNzg2MjQwLCAgICAgIDk2MCwg ICAgIDIwMTIsIDB4MjVlMWE5ZmYKKzAsICAgICA3ODcyMDAsICAgICA3ODcyMDAsICAgICAgOTYw LCAgICAgMjAxMiwgMHg1NTc3YWQ4MgorMCwgICAgIDc4ODE2MCwgICAgIDc4ODE2MCwgICAgICA5 NjAsICAgICAyMDEyLCAweGZlMTZhNDliCiswLCAgICAgNzg5MTIwLCAgICAgNzg5MTIwLCAgICAg IDk2MCwgICAgIDIwMTIsIDB4ZWY3ZmMzMmEKKzAsICAgICA3OTAwODAsICAgICA3OTAwODAsICAg ICAgOTYwLCAgICAgMjAxMiwgMHhmZTMwYzM1ZAorMCwgICAgIDc5MTA0MCwgICAgIDc5MTA0MCwg ICAgICA5NjAsICAgICAyMDEyLCAweDNhZGM5NjEwCiswLCAgICAgNzkyMDAwLCAgICAgNzkyMDAw LCAgICAgIDk2MCwgICAgIDIwMTIsIDB4MzZlZWFiZGMKKzAsICAgICA3OTI5NjAsICAgICA3OTI5 NjAsICAgICAgOTYwLCAgICAgMjAxMiwgMHhkZTNmYjU2YworMCwgICAgIDc5MzkyMCwgICAgIDc5 MzkyMCwgICAgICA5NjAsICAgICAyMDEyLCAweDU2MjliZDgyCiswLCAgICAgNzk0ODgwLCAgICAg Nzk0ODgwLCAgICAgIDk2MCwgICAgIDIwMTIsIDB4YjA5OWE2MWQKKzAsICAgICA3OTU4NDAsICAg ICA3OTU4NDAsICAgICAgOTYwLCAgICAgMjAxMiwgMHgzMDEzYjEwNgorMCwgICAgIDc5NjgwMCwg ICAgIDc5NjgwMCwgICAgICA5NjAsICAgICAyMDEyLCAweGMzNTlhZWYzCiswLCAgICAgNzk3NzYw LCAgICAgNzk3NzYwLCAgICAgIDk2MCwgICAgIDIwMTIsIDB4ZWMwMWIzZTEKKzAsICAgICA3OTg3 MjAsICAgICA3OTg3MjAsICAgICAgOTYwLCAgICAgMjAxMiwgMHg2ZThhYzBiMQorMCwgICAgIDc5 OTY4MCwgICAgIDc5OTY4MCwgICAgICA5NjAsICAgICAyMDEyLCAweDQxZThiODJkCiswLCAgICAg ODAwNjQwLCAgICAgODAwNjQwLCAgICAgIDk2MCwgICAgIDIwMTIsIDB4M2EyZmIzOGIKKzAsICAg ICA4MDE2MDAsICAgICA4MDE2MDAsICAgICAgOTYwLCAgICAgMjAxMiwgMHg3MDI1YWFjOQorMCwg ICAgIDgwMjU2MCwgICAgIDgwMjU2MCwgICAgICA5NjAsICAgICAyMDEyLCAweGJiMGViMDk0Cisw LCAgICAgODAzNTIwLCAgICAgODAzNTIwLCAgICAgIDk2MCwgICAgIDIwMTIsIDB4ZGMwNmMxNTYK KzAsICAgICA4MDQ0ODAsICAgICA4MDQ0ODAsICAgICAgOTYwLCAgICAgMjAxMiwgMHg0MDA3Y2Vh NAorMCwgICAgIDgwNTQ0MCwgICAgIDgwNTQ0MCwgICAgICA5NjAsICAgICAyMDEyLCAweDEwMmVi ZTAzCiswLCAgICAgODA2NDAwLCAgICAgODA2NDAwLCAgICAgIDk2MCwgICAgIDIwMTIsIDB4NmU4 ZmFhZTcKKzAsICAgICA4MDczNjAsICAgICA4MDczNjAsICAgICAgOTYwLCAgICAgMjAxMiwgMHhh MzU3YWEwYworMCwgICAgIDgwODMyMCwgICAgIDgwODMyMCwgICAgICA5NjAsICAgICAyMDEyLCAw eDA3ZDJiZjRkCiswLCAgICAgODA5MjgwLCAgICAgODA5MjgwLCAgICAgIDk2MCwgICAgIDIwMTIs IDB4ZmI3MWIzMzgKKzAsICAgICA4MTAyNDAsICAgICA4MTAyNDAsICAgICAgOTYwLCAgICAgMjAx MiwgMHhkNWYxYmU4NAorMCwgICAgIDgxMTIwMCwgICAgIDgxMTIwMCwgICAgICA5NjAsICAgICAy MDEyLCAweDJhN2NiNTU0CiswLCAgICAgODEyMTYwLCAgICAgODEyMTYwLCAgICAgIDk2MCwgICAg IDIwMTIsIDB4ZmIwM2I4YzMKKzAsICAgICA4MTMxMjAsICAgICA4MTMxMjAsICAgICAgOTYwLCAg ICAgMjAxMiwgMHgyZmYxY2E4NworMCwgICAgIDgxNDA4MCwgICAgIDgxNDA4MCwgICAgICA5NjAs ICAgICAyMDEyLCAweGVlZjJiN2YzCiswLCAgICAgODE1MDQwLCAgICAgODE1MDQwLCAgICAgIDk2 MCwgICAgIDIwMTIsIDB4OTM3N2IxNWYKKzAsICAgICA4MTYwMDAsICAgICA4MTYwMDAsICAgICAg OTYwLCAgICAgMjAxMiwgMHgzNzBjYjBjMgorMCwgICAgIDgxNjk2MCwgICAgIDgxNjk2MCwgICAg ICA5NjAsICAgICAyMDEyLCAweDVmNzhiMTE4CiswLCAgICAgODE3OTIwLCAgICAgODE3OTIwLCAg ICAgIDk2MCwgICAgIDIwMTIsIDB4MTlhZmE4N2EKKzAsICAgICA4MTg4ODAsICAgICA4MTg4ODAs ICAgICAgOTYwLCAgICAgMjAxMiwgMHhjNzE3YWIwZAorMCwgICAgIDgxOTg0MCwgICAgIDgxOTg0 MCwgICAgICA5NjAsICAgICAyMDEyLCAweDNjYTQ5OWY0CiswLCAgICAgODIwODAwLCAgICAgODIw ODAwLCAgICAgIDk2MCwgICAgIDIwMTIsIDB4OTYxMmI4ZTQKKzAsICAgICA4MjE3NjAsICAgICA4 MjE3NjAsICAgICAgOTYwLCAgICAgMjAxMiwgMHgzMmMwYmIyOQorMCwgICAgIDgyMjcyMCwgICAg IDgyMjcyMCwgICAgICA5NjAsICAgICAyMDEyLCAweDc3MjdiZWJhCiswLCAgICAgODIzNjgwLCAg ICAgODIzNjgwLCAgICAgIDk2MCwgICAgIDIwMTIsIDB4OGI2MGE0Y2IKKzAsICAgICA4MjQ2NDAs ICAgICA4MjQ2NDAsICAgICAgOTYwLCAgICAgMjAxMiwgMHhlODk5YTljOAorMCwgICAgIDgyNTYw MCwgICAgIDgyNTYwMCwgICAgICA5NjAsICAgICAyMDEyLCAweDYwZjRiN2ZlCiswLCAgICAgODI2 NTYwLCAgICAgODI2NTYwLCAgICAgIDk2MCwgICAgIDIwMTIsIDB4NTQ0ZjllY2IKKzAsICAgICA4 Mjc1MjAsICAgICA4Mjc1MjAsICAgICAgOTYwLCAgICAgMjAxMiwgMHgzNGFmY2Q3MQorMCwgICAg IDgyODQ4MCwgICAgIDgyODQ4MCwgICAgICA5NjAsICAgICAyMDEyLCAweDQ3MGVhYjU1CiswLCAg ICAgODI5NDQwLCAgICAgODI5NDQwLCAgICAgIDk2MCwgICAgIDIwMTIsIDB4ZTQ5NTlmOTMKKzAs ICAgICA4MzA0MDAsICAgICA4MzA0MDAsICAgICAgOTYwLCAgICAgMjAxMiwgMHg2OWVlYWY5Nwor MCwgICAgIDgzMTM2MCwgICAgIDgzMTM2MCwgICAgICA5NjAsICAgICAyMDEyLCAweDBlYzlhY2Ez CiswLCAgICAgODMyMzIwLCAgICAgODMyMzIwLCAgICAgIDk2MCwgICAgIDIwMTIsIDB4NTFlNGI3 ZjYKKzAsICAgICA4MzMyODAsICAgICA4MzMyODAsICAgICAgOTYwLCAgICAgMjAxMiwgMHhmNmMw YTgzNworMCwgICAgIDgzNDI0MCwgICAgIDgzNDI0MCwgICAgICA5NjAsICAgICAyMDEyLCAweDNi ZGNhNTliCiswLCAgICAgODM1MjAwLCAgICAgODM1MjAwLCAgICAgIDk2MCwgICAgIDIwMTIsIDB4 MTRjNTlkZmMKKzAsICAgICA4MzYxNjAsICAgICA4MzYxNjAsICAgICAgOTYwLCAgICAgMjAxMiwg MHhhNTBhYjIzYQorMCwgICAgIDgzNzEyMCwgICAgIDgzNzEyMCwgICAgICA5NjAsICAgICAyMDEy LCAweDg4MzJiNmUyCiswLCAgICAgODM4MDgwLCAgICAgODM4MDgwLCAgICAgIDk2MCwgICAgIDIw MTIsIDB4M2Q2OTlkMWIKKzAsICAgICA4MzkwNDAsICAgICA4MzkwNDAsICAgICAgOTYwLCAgICAg MjAxMiwgMHg3NTFhYTRiOAorMCwgICAgIDg0MDAwMCwgICAgIDg0MDAwMCwgICAgICA5NjAsICAg ICAyMDEyLCAweDU5YTliOThjCiswLCAgICAgODQwOTYwLCAgICAgODQwOTYwLCAgICAgIDk2MCwg ICAgIDIwMTIsIDB4YjY3Yzk4Y2IKKzAsICAgICA4NDE5MjAsICAgICA4NDE5MjAsICAgICAgOTYw LCAgICAgMjAxMiwgMHgwZmQzOWNjZAorMCwgICAgIDg0Mjg4MCwgICAgIDg0Mjg4MCwgICAgICA5 NjAsICAgICAyMDEyLCAweDk5ODBkMWUxCiswLCAgICAgODQzODQwLCAgICAgODQzODQwLCAgICAg IDk2MCwgICAgIDIwMTIsIDB4ZmZkOWE3MTYKKzAsICAgICA4NDQ4MDAsICAgICA4NDQ4MDAsICAg ICAgOTYwLCAgICAgMjAxMiwgMHg3ZDJmYmVkMQorMCwgICAgIDg0NTc2MCwgICAgIDg0NTc2MCwg ICAgICA5NjAsICAgICAyMDEyLCAweDc2ZTZiMDQyCiswLCAgICAgODQ2NzIwLCAgICAgODQ2NzIw LCAgICAgIDk2MCwgICAgIDIwMTIsIDB4ZTAyN2EyMzIKKzAsICAgICA4NDc2ODAsICAgICA4NDc2 ODAsICAgICAgOTYwLCAgICAgMjAxMiwgMHg3YzZjYTVjZQorMCwgICAgIDg0ODY0MCwgICAgIDg0 ODY0MCwgICAgICA5NjAsICAgICAyMDEyLCAweDVjZjZiZGE0CiswLCAgICAgODQ5NjAwLCAgICAg ODQ5NjAwLCAgICAgIDk2MCwgICAgIDIwMTIsIDB4NjA3NWJkMGQKKzAsICAgICA4NTA1NjAsICAg ICA4NTA1NjAsICAgICAgOTYwLCAgICAgMjAxMiwgMHhlZGM0YWJlOQorMCwgICAgIDg1MTUyMCwg ICAgIDg1MTUyMCwgICAgICA5NjAsICAgICAyMDEyLCAweGI4ZjdjYzI2CiswLCAgICAgODUyNDgw LCAgICAgODUyNDgwLCAgICAgIDk2MCwgICAgIDIwMTIsIDB4MmNiYmI1MDAKKzAsICAgICA4NTM0 NDAsICAgICA4NTM0NDAsICAgICAgOTYwLCAgICAgMjAxMiwgMHgxYzM0YjA0ZAorMCwgICAgIDg1 NDQwMCwgICAgIDg1NDQwMCwgICAgICA5NjAsICAgICAyMDEyLCAweDVmMThiZWEyCiswLCAgICAg ODU1MzYwLCAgICAgODU1MzYwLCAgICAgIDk2MCwgICAgIDIwMTIsIDB4OTRkMGJiMmIKKzAsICAg ICA4NTYzMjAsICAgICA4NTYzMjAsICAgICAgOTYwLCAgICAgMjAxMiwgMHg2ODk5Yjc4ZQorMCwg ICAgIDg1NzI4MCwgICAgIDg1NzI4MCwgICAgICA5NjAsICAgICAyMDEyLCAweGM5YWFhN2EyCisw LCAgICAgODU4MjQwLCAgICAgODU4MjQwLCAgICAgIDk2MCwgICAgIDIwMTIsIDB4Mjk4Y2JhZmEK KzAsICAgICA4NTkyMDAsICAgICA4NTkyMDAsICAgICAgOTYwLCAgICAgMjAxMiwgMHg4OWQ5YWM4 MAorMCwgICAgIDg2MDE2MCwgICAgIDg2MDE2MCwgICAgICA5NjAsICAgICAyMDEyLCAweGM2ZmZh N2U2CiswLCAgICAgODYxMTIwLCAgICAgODYxMTIwLCAgICAgIDk2MCwgICAgIDIwMTIsIDB4ZGNm N2NhZjkKKzAsICAgICA4NjIwODAsICAgICA4NjIwODAsICAgICAgOTYwLCAgICAgMjAxMiwgMHgy NmNmYjRlZQorMCwgICAgIDg2MzA0MCwgICAgIDg2MzA0MCwgICAgICA5NjAsICAgICAyMDEyLCAw eGVjNzBiMDlkCiswLCAgICAgODY0MDAwLCAgICAgODY0MDAwLCAgICAgIDk2MCwgICAgIDIwMTIs IDB4NjVkY2E1MGYKKzAsICAgICA4NjQ5NjAsICAgICA4NjQ5NjAsICAgICAgOTYwLCAgICAgMjAx MiwgMHhjZGViYzBiNgorMCwgICAgIDg2NTkyMCwgICAgIDg2NTkyMCwgICAgICA5NjAsICAgICAy MDEyLCAweDkzOTNhMjYyCiswLCAgICAgODY2ODgwLCAgICAgODY2ODgwLCAgICAgIDk2MCwgICAg IDIwMTIsIDB4MzRhYWIwNmQKKzAsICAgICA4Njc4NDAsICAgICA4Njc4NDAsICAgICAgOTYwLCAg ICAgMjAxMiwgMHg0ODAwYTU1MAorMCwgICAgIDg2ODgwMCwgICAgIDg2ODgwMCwgICAgICA5NjAs ICAgICAyMDEyLCAweDRkOWFhZGVjCiswLCAgICAgODY5NzYwLCAgICAgODY5NzYwLCAgICAgIDk2 MCwgICAgIDIwMTIsIDB4MmNkZGFiYjYKKzAsICAgICA4NzA3MjAsICAgICA4NzA3MjAsICAgICAg OTYwLCAgICAgMjAxMiwgMHg5MWEwYzViMgorMCwgICAgIDg3MTY4MCwgICAgIDg3MTY4MCwgICAg ICA5NjAsICAgICAyMDEyLCAweGQzMjZiZWUxCiswLCAgICAgODcyNjQwLCAgICAgODcyNjQwLCAg ICAgIDk2MCwgICAgIDIwMTIsIDB4Zjc2YWIyZDUKKzAsICAgICA4NzM2MDAsICAgICA4NzM2MDAs ICAgICAgOTYwLCAgICAgMjAxMiwgMHhjZWY5OWFkZQorMCwgICAgIDg3NDU2MCwgICAgIDg3NDU2 MCwgICAgICA5NjAsICAgICAyMDEyLCAweDk1MGRjNzZmCiswLCAgICAgODc1NTIwLCAgICAgODc1 NTIwLCAgICAgIDk2MCwgICAgIDIwMTIsIDB4YjZhY2E3YWQKKzAsICAgICA4NzY0ODAsICAgICA4 NzY0ODAsICAgICAgOTYwLCAgICAgMjAxMiwgMHgxYWFjYjcxYworMCwgICAgIDg3NzQ0MCwgICAg IDg3NzQ0MCwgICAgICA5NjAsICAgICAyMDEyLCAweDMyMzg5ZGEwCiswLCAgICAgODc4NDAwLCAg ICAgODc4NDAwLCAgICAgIDk2MCwgICAgIDIwMTIsIDB4MDMwY2JjY2UKKzAsICAgICA4NzkzNjAs ICAgICA4NzkzNjAsICAgICAgOTYwLCAgICAgMjAxMiwgMHgwZWM0YjBjYgorMCwgICAgIDg4MDMy MCwgICAgIDg4MDMyMCwgICAgICA5NjAsICAgICAyMDEyLCAweDZjMGJiNjJlCiswLCAgICAgODgx MjgwLCAgICAgODgxMjgwLCAgICAgIDk2MCwgICAgIDIwMTIsIDB4ZmFkYmIyMGQKKzAsICAgICA4 ODIyNDAsICAgICA4ODIyNDAsICAgICAgOTYwLCAgICAgMjAxMiwgMHg5OWM5Yzg0OAorMCwgICAg IDg4MzIwMCwgICAgIDg4MzIwMCwgICAgICA5NjAsICAgICAyMDEyLCAweGUzZTNiMjFhCiswLCAg ICAgODg0MTYwLCAgICAgODg0MTYwLCAgICAgIDk2MCwgICAgIDIwMTIsIDB4ODhkOWE1MGIKKzAs ICAgICA4ODUxMjAsICAgICA4ODUxMjAsICAgICAgOTYwLCAgICAgMjAxMiwgMHhmNGJiYWYxNwor MCwgICAgIDg4NjA4MCwgICAgIDg4NjA4MCwgICAgICA5NjAsICAgICAyMDEyLCAweDQ5ZmVhNzA2 CiswLCAgICAgODg3MDQwLCAgICAgODg3MDQwLCAgICAgIDk2MCwgICAgIDIwMTIsIDB4YWZkMGJh YmYKKzAsICAgICA4ODgwMDAsICAgICA4ODgwMDAsICAgICAgOTYwLCAgICAgMjAxMiwgMHg4OTcw YThmMworMCwgICAgIDg4ODk2MCwgICAgIDg4ODk2MCwgICAgICA5NjAsICAgICAyMDEyLCAweDky MjNhNTUzCiswLCAgICAgODg5OTIwLCAgICAgODg5OTIwLCAgICAgIDk2MCwgICAgIDIwMTIsIDB4 NmVjMmIyZjkKKzAsICAgICA4OTA4ODAsICAgICA4OTA4ODAsICAgICAgOTYwLCAgICAgMjAxMiwg MHg3OTYwYjc1OQorMCwgICAgIDg5MTg0MCwgICAgIDg5MTg0MCwgICAgICA5NjAsICAgICAyMDEy LCAweDg1Mjg5MWJmCiswLCAgICAgODkyODAwLCAgICAgODkyODAwLCAgICAgIDk2MCwgICAgIDIw MTIsIDB4MDk0ZWJiZWIKKzAsICAgICA4OTM3NjAsICAgICA4OTM3NjAsICAgICAgOTYwLCAgICAg MjAxMiwgMHhmOWJhYjQxOAorMCwgICAgIDg5NDcyMCwgICAgIDg5NDcyMCwgICAgICA5NjAsICAg ICAyMDEyLCAweDAxMGVhZThjCiswLCAgICAgODk1NjgwLCAgICAgODk1NjgwLCAgICAgIDk2MCwg ICAgIDIwMTIsIDB4MTBiYWFiM2QKKzAsICAgICA4OTY2NDAsICAgICA4OTY2NDAsICAgICAgOTYw LCAgICAgMjAxMiwgMHgyNTY0YjEzZgorMCwgICAgIDg5NzYwMCwgICAgIDg5NzYwMCwgICAgICA5 NjAsICAgICAyMDEyLCAweGFlYzhhYzIyCiswLCAgICAgODk4NTYwLCAgICAgODk4NTYwLCAgICAg IDk2MCwgICAgIDIwMTIsIDB4ZGEwY2JkNGYKKzAsICAgICA4OTk1MjAsICAgICA4OTk1MjAsICAg ICAgOTYwLCAgICAgMjAxMiwgMHg5N2UxYzA3NQorMCwgICAgIDkwMDQ4MCwgICAgIDkwMDQ4MCwg ICAgICA5NjAsICAgICAyMDEyLCAweDY3MzFhY2E1CiswLCAgICAgOTAxNDQwLCAgICAgOTAxNDQw LCAgICAgIDk2MCwgICAgIDIwMTIsIDB4MmMxZGI2OTYKKzAsICAgICA5MDI0MDAsICAgICA5MDI0 MDAsICAgICAgOTYwLCAgICAgMjAxMiwgMHg4ZmY3YWJiZgorMCwgICAgIDkwMzM2MCwgICAgIDkw MzM2MCwgICAgICA5NjAsICAgICAyMDEyLCAweGY3NWFiM2EyCiswLCAgICAgOTA0MzIwLCAgICAg OTA0MzIwLCAgICAgIDk2MCwgICAgIDIwMTIsIDB4ODY4M2I4MjQKKzAsICAgICA5MDUyODAsICAg ICA5MDUyODAsICAgICAgOTYwLCAgICAgMjAxMiwgMHg5NjY4YjM1NAorMCwgICAgIDkwNjI0MCwg ICAgIDkwNjI0MCwgICAgICA5NjAsICAgICAyMDEyLCAweDZlOWFhZTA0CiswLCAgICAgOTA3MjAw LCAgICAgOTA3MjAwLCAgICAgIDk2MCwgICAgIDIwMTIsIDB4ZDhlOWFjZDcKKzAsICAgICA5MDgx NjAsICAgICA5MDgxNjAsICAgICAgOTYwLCAgICAgMjAxMiwgMHhhMzI2YzI5OAorMCwgICAgIDkw OTEyMCwgICAgIDkwOTEyMCwgICAgICA5NjAsICAgICAyMDEyLCAweDZhYmNiNDA5CiswLCAgICAg OTEwMDgwLCAgICAgOTEwMDgwLCAgICAgIDk2MCwgICAgIDIwMTIsIDB4N2ViM2I1NDkKKzAsICAg ICA5MTEwNDAsICAgICA5MTEwNDAsICAgICAgOTYwLCAgICAgMjAxMiwgMHhmYzcyYmE2YQorMCwg ICAgIDkxMjAwMCwgICAgIDkxMjAwMCwgICAgICA5NjAsICAgICAyMDEyLCAweGVkNzNiMmU2Cisw LCAgICAgOTEyOTYwLCAgICAgOTEyOTYwLCAgICAgIDk2MCwgICAgIDIwMTIsIDB4MDdhNmIwYTkK KzAsICAgICA5MTM5MjAsICAgICA5MTM5MjAsICAgICAgOTYwLCAgICAgMjAxMiwgMHgxMGE0YWVj NAorMCwgICAgIDkxNDg4MCwgICAgIDkxNDg4MCwgICAgICA5NjAsICAgICAyMDEyLCAweGFhYzlh NjUwCiswLCAgICAgOTE1ODQwLCAgICAgOTE1ODQwLCAgICAgIDk2MCwgICAgIDIwMTIsIDB4ODQ4 Yjk4NjkKKzAsICAgICA5MTY4MDAsICAgICA5MTY4MDAsICAgICAgOTYwLCAgICAgMjAxMiwgMHgx ZGRhYWZkNgorMCwgICAgIDkxNzc2MCwgICAgIDkxNzc2MCwgICAgICA5NjAsICAgICAyMDEyLCAw eGUyOTFhYWVjCiswLCAgICAgOTE4NzIwLCAgICAgOTE4NzIwLCAgICAgIDk2MCwgICAgIDIwMTIs IDB4OGFhMWFhNGQKKzAsICAgICA5MTk2ODAsICAgICA5MTk2ODAsICAgICAgOTYwLCAgICAgMjAx MiwgMHg5YjY5Yjk0YworMCwgICAgIDkyMDY0MCwgICAgIDkyMDY0MCwgICAgICA5NjAsICAgICAy MDEyLCAweGU3ODRiZWMwCiswLCAgICAgOTIxNjAwLCAgICAgOTIxNjAwLCAgICAgIDk2MCwgICAg IDIwMTIsIDB4OTMwNWJhMmQKKzAsICAgICA5MjI1NjAsICAgICA5MjI1NjAsICAgICAgOTYwLCAg ICAgMjAxMiwgMHg1NjE2YmI4MQorMCwgICAgIDkyMzUyMCwgICAgIDkyMzUyMCwgICAgICA5NjAs ICAgICAyMDEyLCAweGVhMGZhY2NhCiswLCAgICAgOTI0NDgwLCAgICAgOTI0NDgwLCAgICAgIDk2 MCwgICAgIDIwMTIsIDB4ZTFiOTk5MWUKKzAsICAgICA5MjU0NDAsICAgICA5MjU0NDAsICAgICAg OTYwLCAgICAgMjAxMiwgMHhkZWQ4YmQ1OQorMCwgICAgIDkyNjQwMCwgICAgIDkyNjQwMCwgICAg ICA5NjAsICAgICAyMDEyLCAweGU3OWZiMGVlCiswLCAgICAgOTI3MzYwLCAgICAgOTI3MzYwLCAg ICAgIDk2MCwgICAgIDIwMTIsIDB4MWI4NTk1YTYKKzAsICAgICA5MjgzMjAsICAgICA5MjgzMjAs ICAgICAgOTYwLCAgICAgMjAxMiwgMHhiNTViYTMzNgorMCwgICAgIDkyOTI4MCwgICAgIDkyOTI4 MCwgICAgICA5NjAsICAgICAyMDEyLCAweGM1NTJiYzk4CiswLCAgICAgOTMwMjQwLCAgICAgOTMw MjQwLCAgICAgIDk2MCwgICAgIDIwMTIsIDB4MmZlMmM1YmEKKzAsICAgICA5MzEyMDAsICAgICA5 MzEyMDAsICAgICAgOTYwLCAgICAgMjAxMiwgMHhlMThhYTVhNgorMCwgICAgIDkzMjE2MCwgICAg IDkzMjE2MCwgICAgICA5NjAsICAgICAyMDEyLCAweGFhOWJhZTFjCiswLCAgICAgOTMzMTIwLCAg ICAgOTMzMTIwLCAgICAgIDk2MCwgICAgIDIwMTIsIDB4ZDFkZGI2OGQKKzAsICAgICA5MzQwODAs ICAgICA5MzQwODAsICAgICAgOTYwLCAgICAgMjAxMiwgMHg5NWJmYjIwMworMCwgICAgIDkzNTA0 MCwgICAgIDkzNTA0MCwgICAgICA5NjAsICAgICAyMDEyLCAweGVhY2FiOGI5CiswLCAgICAgOTM2 MDAwLCAgICAgOTM2MDAwLCAgICAgIDk2MCwgICAgIDIwMTIsIDB4NWJmY2IxMTcKKzAsICAgICA5 MzY5NjAsICAgICA5MzY5NjAsICAgICAgOTYwLCAgICAgMjAxMiwgMHgxYTlmYTkxYworMCwgICAg IDkzNzkyMCwgICAgIDkzNzkyMCwgICAgICA5NjAsICAgICAyMDEyLCAweGEyODViMTgwCiswLCAg ICAgOTM4ODgwLCAgICAgOTM4ODgwLCAgICAgIDk2MCwgICAgIDIwMTIsIDB4ZmQ1OGE2ZTIKKzAs ICAgICA5Mzk4NDAsICAgICA5Mzk4NDAsICAgICAgOTYwLCAgICAgMjAxMiwgMHgzOTRmYzMyNQor MCwgICAgIDk0MDgwMCwgICAgIDk0MDgwMCwgICAgICA5NjAsICAgICAyMDEyLCAweDA0MTVhNmFh CiswLCAgICAgOTQxNzYwLCAgICAgOTQxNzYwLCAgICAgIDk2MCwgICAgIDIwMTIsIDB4Zjc1ZmE1 ZTAKKzAsICAgICA5NDI3MjAsICAgICA5NDI3MjAsICAgICAgOTYwLCAgICAgMjAxMiwgMHgxMTVj ZDExYgorMCwgICAgIDk0MzY4MCwgICAgIDk0MzY4MCwgICAgICA5NjAsICAgICAyMDEyLCAweDY1 ODdiOWUzCiswLCAgICAgOTQ0NjQwLCAgICAgOTQ0NjQwLCAgICAgIDk2MCwgICAgIDIwMTIsIDB4 Y2U2YmI3ZTYKKzAsICAgICA5NDU2MDAsICAgICA5NDU2MDAsICAgICAgOTYwLCAgICAgMjAxMiwg MHhiYWEyYjQwOQorMCwgICAgIDk0NjU2MCwgICAgIDk0NjU2MCwgICAgICA5NjAsICAgICAyMDEy LCAweDI3MWJiYjE0CiswLCAgICAgOTQ3NTIwLCAgICAgOTQ3NTIwLCAgICAgIDk2MCwgICAgIDIw MTIsIDB4NDUxNmMyMjMKKzAsICAgICA5NDg0ODAsICAgICA5NDg0ODAsICAgICAgOTYwLCAgICAg MjAxMiwgMHg0ZjZhYjI2NgorMCwgICAgIDk0OTQ0MCwgICAgIDk0OTQ0MCwgICAgICA5NjAsICAg ICAyMDEyLCAweDI0NGJhNmZjCiswLCAgICAgOTUwNDAwLCAgICAgOTUwNDAwLCAgICAgIDk2MCwg ICAgIDIwMTIsIDB4NjBlMGFlNGUKKzAsICAgICA5NTEzNjAsICAgICA5NTEzNjAsICAgICAgOTYw LCAgICAgMjAxMiwgMHhmYzNjYWM4MAorMCwgICAgIDk1MjMyMCwgICAgIDk1MjMyMCwgICAgICA5 NjAsICAgICAyMDEyLCAweDg0NjViMjg3CiswLCAgICAgOTUzMjgwLCAgICAgOTUzMjgwLCAgICAg IDk2MCwgICAgIDIwMTIsIDB4YzY4M2IwNzAKKzAsICAgICA5NTQyNDAsICAgICA5NTQyNDAsICAg ICAgOTYwLCAgICAgMjAxMiwgMHgyOTAxYzhlNworMCwgICAgIDk1NTIwMCwgICAgIDk1NTIwMCwg ICAgICA5NjAsICAgICAyMDEyLCAweDA2MjJiMWExCiswLCAgICAgOTU2MTYwLCAgICAgOTU2MTYw LCAgICAgIDk2MCwgICAgIDIwMTIsIDB4ZTAwMmIzNGMKKzAsICAgICA5NTcxMjAsICAgICA5NTcx MjAsICAgICAgOTYwLCAgICAgMjAxMiwgMHhmNDk2OWU3OQorMCwgICAgIDk1ODA4MCwgICAgIDk1 ODA4MCwgICAgICA5NjAsICAgICAyMDEyLCAweDg3MWNjNDUzCiswLCAgICAgOTU5MDQwLCAgICAg OTU5MDQwLCAgICAgIDk2MCwgICAgIDIwMTIsIDB4OWE3ZGFhZjMKKzAsICAgICA5NjAwMDAsICAg ICA5NjAwMDAsICAgICAgOTYwLCAgICAgMjAxMiwgMHhiYTkyYTYwYQorMCwgICAgIDk2MDk2MCwg ICAgIDk2MDk2MCwgICAgICA5NjAsICAgICAyMDEyLCAweGY0NjRhMGM0CiswLCAgICAgOTYxOTIw LCAgICAgOTYxOTIwLCAgICAgIDk2MCwgICAgIDIwMTIsIDB4NTNiYmI2Y2QKKzAsICAgICA5NjI4 ODAsICAgICA5NjI4ODAsICAgICAgOTYwLCAgICAgMjAxMiwgMHhiNThhOWQyYQorMCwgICAgIDk2 Mzg0MCwgICAgIDk2Mzg0MCwgICAgICA5NjAsICAgICAyMDEyLCAweDFlMWZiODMwCiswLCAgICAg OTY0ODAwLCAgICAgOTY0ODAwLCAgICAgIDk2MCwgICAgIDIwMTIsIDB4ZGM3ZWI5M2UKKzAsICAg ICA5NjU3NjAsICAgICA5NjU3NjAsICAgICAgOTYwLCAgICAgMjAxMiwgMHhlNmNlYWFmOQorMCwg ICAgIDk2NjcyMCwgICAgIDk2NjcyMCwgICAgICA5NjAsICAgICAyMDEyLCAweDhjN2VhMzVkCisw LCAgICAgOTY3NjgwLCAgICAgOTY3NjgwLCAgICAgIDk2MCwgICAgIDIwMTIsIDB4MGI4N2JhMDQK KzAsICAgICA5Njg2NDAsICAgICA5Njg2NDAsICAgICAgOTYwLCAgICAgMjAxMiwgMHhmNTE2YTcw MAorMCwgICAgIDk2OTYwMCwgICAgIDk2OTYwMCwgICAgICA5NjAsICAgICAyMDEyLCAweGZhZjE5 ZTEzCiswLCAgICAgOTcwNTYwLCAgICAgOTcwNTYwLCAgICAgIDk2MCwgICAgIDIwMTIsIDB4NTNj ZjllZDAKKzAsICAgICA5NzE1MjAsICAgICA5NzE1MjAsICAgICAgOTYwLCAgICAgMjAxMiwgMHgy ZTI1YzJmOQorMCwgICAgIDk3MjQ4MCwgICAgIDk3MjQ4MCwgICAgICA5NjAsICAgICAyMDEyLCAw eDk1OWFhMWI4CiswLCAgICAgOTczNDQwLCAgICAgOTczNDQwLCAgICAgIDk2MCwgICAgIDIwMTIs IDB4MmE0OWE1NzIKKzAsICAgICA5NzQ0MDAsICAgICA5NzQ0MDAsICAgICAgOTYwLCAgICAgMjAx MiwgMHhmN2E5YjgwOQorMCwgICAgIDk3NTM2MCwgICAgIDk3NTM2MCwgICAgICA5NjAsICAgICAy MDEyLCAweDQ0YTliODc5CiswLCAgICAgOTc2MzIwLCAgICAgOTc2MzIwLCAgICAgIDk2MCwgICAg IDIwMTIsIDB4ZTQyOGMwZDQKKzAsICAgICA5NzcyODAsICAgICA5NzcyODAsICAgICAgOTYwLCAg ICAgMjAxMiwgMHhjMjU4YzJjNgorMCwgICAgIDk3ODI0MCwgICAgIDk3ODI0MCwgICAgICA5NjAs ICAgICAyMDEyLCAweGY3ZjNiNzk0CiswLCAgICAgOTc5MjAwLCAgICAgOTc5MjAwLCAgICAgIDk2 MCwgICAgIDIwMTIsIDB4YThhZGJhZDkKKzAsICAgICA5ODAxNjAsICAgICA5ODAxNjAsICAgICAg OTYwLCAgICAgMjAxMiwgMHhjMjUwOGU3OQorMCwgICAgIDk4MTEyMCwgICAgIDk4MTEyMCwgICAg ICA5NjAsICAgICAyMDEyLCAweDE0MThhYzc2CiswLCAgICAgOTgyMDgwLCAgICAgOTgyMDgwLCAg ICAgIDk2MCwgICAgIDIwMTIsIDB4YjI4YWFkZWYKKzAsICAgICA5ODMwNDAsICAgICA5ODMwNDAs ICAgICAgOTYwLCAgICAgMjAxMiwgMHhkYTE3YmQwMworMCwgICAgIDk4NDAwMCwgICAgIDk4NDAw MCwgICAgICA5NjAsICAgICAyMDEyLCAweGE5MmFiODUyCiswLCAgICAgOTg0OTYwLCAgICAgOTg0 OTYwLCAgICAgIDk2MCwgICAgIDIwMTIsIDB4YzNjYmNmYTQKKzAsICAgICA5ODU5MjAsICAgICA5 ODU5MjAsICAgICAgOTYwLCAgICAgMjAxMiwgMHhmNzE2YmI1ZQorMCwgICAgIDk4Njg4MCwgICAg IDk4Njg4MCwgICAgICA5NjAsICAgICAyMDEyLCAweDYwMDlhOGFmCiswLCAgICAgOTg3ODQwLCAg ICAgOTg3ODQwLCAgICAgIDk2MCwgICAgIDIwMTIsIDB4OWU2OWJjODEKKzAsICAgICA5ODg4MDAs ICAgICA5ODg4MDAsICAgICAgOTYwLCAgICAgMjAxMiwgMHgzYWFmYzhjZgorMCwgICAgIDk4OTc2 MCwgICAgIDk4OTc2MCwgICAgICA5NjAsICAgICAyMDEyLCAweDAzYmNjZGFiCiswLCAgICAgOTkw NzIwLCAgICAgOTkwNzIwLCAgICAgIDk2MCwgICAgIDIwMTIsIDB4ZmRjZWIyZDkKKzAsICAgICA5 OTE2ODAsICAgICA5OTE2ODAsICAgICAgOTYwLCAgICAgMjAxMiwgMHg2OGY3YWZiOAorMCwgICAg IDk5MjY0MCwgICAgIDk5MjY0MCwgICAgICA5NjAsICAgICAyMDEyLCAweGI3YmFiMzMwCiswLCAg ICAgOTkzNjAwLCAgICAgOTkzNjAwLCAgICAgIDk2MCwgICAgIDIwMTIsIDB4NDk3NmIxMjUKKzAs ICAgICA5OTQ1NjAsICAgICA5OTQ1NjAsICAgICAgOTYwLCAgICAgMjAxMiwgMHg3Yzg2YWUxMgor MCwgICAgIDk5NTUyMCwgICAgIDk5NTUyMCwgICAgICA5NjAsICAgICAyMDEyLCAweDRjZTRjYTU0 CiswLCAgICAgOTk2NDgwLCAgICAgOTk2NDgwLCAgICAgIDk2MCwgICAgIDIwMTIsIDB4ZjFmN2I4 OTIKKzAsICAgICA5OTc0NDAsICAgICA5OTc0NDAsICAgICAgOTYwLCAgICAgMjAxMiwgMHhmOTU4 YWJiMQorMCwgICAgIDk5ODQwMCwgICAgIDk5ODQwMCwgICAgICA5NjAsICAgICAyMDEyLCAweDA0 N2FjY2QwCiswLCAgICAgOTk5MzYwLCAgICAgOTk5MzYwLCAgICAgIDk2MCwgICAgIDIwMTIsIDB4 MzRhMWM0OWMKKzAsICAgIDEwMDAzMjAsICAgIDEwMDAzMjAsICAgICAgOTYwLCAgICAgMjAxMiwg MHg0YjI0YTRlZAorMCwgICAgMTAwMTI4MCwgICAgMTAwMTI4MCwgICAgICA5NjAsICAgICAyMDEy LCAweGVhMzFiMWJjCiswLCAgICAxMDAyMjQwLCAgICAxMDAyMjQwLCAgICAgIDk2MCwgICAgIDIw MTIsIDB4OGJlYWEzZTMKKzAsICAgIDEwMDMyMDAsICAgIDEwMDMyMDAsICAgICAgOTYwLCAgICAg MjAxMiwgMHgwNjRjYWFmOQorMCwgICAgMTAwNDE2MCwgICAgMTAwNDE2MCwgICAgICA5NjAsICAg ICAyMDEyLCAweDU2YmFiZjE1CiswLCAgICAxMDA1MTIwLCAgICAxMDA1MTIwLCAgICAgIDk2MCwg ICAgIDIwMTIsIDB4ZDE2ZmM2ZjQKKzAsICAgIDEwMDYwODAsICAgIDEwMDYwODAsICAgICAgOTYw LCAgICAgMjAxMiwgMHg0YWMyYjc4YQorMCwgICAgMTAwNzA0MCwgICAgMTAwNzA0MCwgICAgICA5 NjAsICAgICAyMDEyLCAweGJhM2FhNTA5CiswLCAgICAxMDA4MDAwLCAgICAxMDA4MDAwLCAgICAg IDk2MCwgICAgIDIwMTIsIDB4YzEwM2IwNzQKKzAsICAgIDEwMDg5NjAsICAgIDEwMDg5NjAsICAg ICAgOTYwLCAgICAgMjAxMiwgMHg0NjRhYmE5OAorMCwgICAgMTAwOTkyMCwgICAgMTAwOTkyMCwg ICAgICA5NjAsICAgICAyMDEyLCAweGFhY2FjNWEzCiswLCAgICAxMDEwODgwLCAgICAxMDEwODgw LCAgICAgIDk2MCwgICAgIDIwMTIsIDB4OWNlY2JjZmEKKzAsICAgIDEwMTE4NDAsICAgIDEwMTE4 NDAsICAgICAgOTYwLCAgICAgMjAxMiwgMHg4ZGEwYWI3OQorMCwgICAgMTAxMjgwMCwgICAgMTAx MjgwMCwgICAgICA5NjAsICAgICAyMDEyLCAweDg1YjJiMDIzCiswLCAgICAxMDEzNzYwLCAgICAx MDEzNzYwLCAgICAgIDk2MCwgICAgIDIwMTIsIDB4NTk4YWJjOTEKKzAsICAgIDEwMTQ3MjAsICAg IDEwMTQ3MjAsICAgICAgOTYwLCAgICAgMjAxMiwgMHgwOGMwYTM1YworMCwgICAgMTAxNTY4MCwg ICAgMTAxNTY4MCwgICAgICA5NjAsICAgICAyMDEyLCAweDMwZTRhN2NmCiswLCAgICAxMDE2NjQw LCAgICAxMDE2NjQwLCAgICAgIDk2MCwgICAgIDIwMTIsIDB4ZjFlNGE5MzEKKzAsICAgIDEwMTc2 MDAsICAgIDEwMTc2MDAsICAgICAgOTYwLCAgICAgMjAxMiwgMHg4YTRmYjZjMQorMCwgICAgMTAx ODU2MCwgICAgMTAxODU2MCwgICAgICA5NjAsICAgICAyMDEyLCAweDEyNmFhYzA4CiswLCAgICAx MDE5NTIwLCAgICAxMDE5NTIwLCAgICAgIDk2MCwgICAgIDIwMTIsIDB4NTM3ZmE1MWIKKzAsICAg IDEwMjA0ODAsICAgIDEwMjA0ODAsICAgICAgOTYwLCAgICAgMjAxMiwgMHgxZTU0YWM1YQorMCwg ICAgMTAyMTQ0MCwgICAgMTAyMTQ0MCwgICAgICA5NjAsICAgICAyMDEyLCAweDcyNzRiYmQwCisw LCAgICAxMDIyNDAwLCAgICAxMDIyNDAwLCAgICAgIDk2MCwgICAgIDIwMTIsIDB4ZDE2YmMyYzIK KzAsICAgIDEwMjMzNjAsICAgIDEwMjMzNjAsICAgICAgOTYwLCAgICAgMjAxMiwgMHg5MjM2YzFl MworMCwgICAgMTAyNDMyMCwgICAgMTAyNDMyMCwgICAgICA5NjAsICAgICAyMDEyLCAweDM0OGFh N2FmCiswLCAgICAxMDI1MjgwLCAgICAxMDI1MjgwLCAgICAgIDk2MCwgICAgIDIwMTIsIDB4YTAy MGJlNWUKKzAsICAgIDEwMjYyNDAsICAgIDEwMjYyNDAsICAgICAgOTYwLCAgICAgMjAxMiwgMHgz Y2M1YTRiOAorMCwgICAgMTAyNzIwMCwgICAgMTAyNzIwMCwgICAgICA5NjAsICAgICAyMDEyLCAw eDhiMTliNjQ5CiswLCAgICAxMDI4MTYwLCAgICAxMDI4MTYwLCAgICAgIDk2MCwgICAgIDIwMTIs IDB4NTU0YWE1YWIKKzAsICAgIDEwMjkxMjAsICAgIDEwMjkxMjAsICAgICAgOTYwLCAgICAgMjAx MiwgMHgzNWQ2YWMzNQorMCwgICAgMTAzMDA4MCwgICAgMTAzMDA4MCwgICAgICA5NjAsICAgICAy MDEyLCAweDY0ZGJhNDM1CiswLCAgICAxMDMxMDQwLCAgICAxMDMxMDQwLCAgICAgIDk2MCwgICAg IDIwMTIsIDB4NjAwMWJhZTIKKzAsICAgIDEwMzIwMDAsICAgIDEwMzIwMDAsICAgICAgOTYwLCAg ICAgMjAxMiwgMHg5MjIwYjU5OQorMCwgICAgMTAzMjk2MCwgICAgMTAzMjk2MCwgICAgICA5NjAs ICAgICAyMDEyLCAweGEzZmRiODk5CiswLCAgICAxMDMzOTIwLCAgICAxMDMzOTIwLCAgICAgIDk2 MCwgICAgIDIwMTIsIDB4MTlhNWFiZjQKKzAsICAgIDEwMzQ4ODAsICAgIDEwMzQ4ODAsICAgICAg OTYwLCAgICAgMjAxMiwgMHhkODU3YjhjZgorMCwgICAgMTAzNTg0MCwgICAgMTAzNTg0MCwgICAg ICA5NjAsICAgICAyMDEyLCAweDM4ZDFiMjM0CiswLCAgICAxMDM2ODAwLCAgICAxMDM2ODAwLCAg ICAgIDk2MCwgICAgIDIwMTIsIDB4NjlmNGJmYjgKKzAsICAgIDEwMzc3NjAsICAgIDEwMzc3NjAs ICAgICAgOTYwLCAgICAgMjAxMiwgMHhjYzg3YTM3NQorMCwgICAgMTAzODcyMCwgICAgMTAzODcy MCwgICAgICA5NjAsICAgICAyMDEyLCAweGMxY2RkMGM1CiswLCAgICAxMDM5NjgwLCAgICAxMDM5 NjgwLCAgICAgIDk2MCwgICAgIDIwMTIsIDB4YmEwY2EzZWUKKzAsICAgIDEwNDA2NDAsICAgIDEw NDA2NDAsICAgICAgOTYwLCAgICAgMjAxMiwgMHg0ZDIwYzM5NworMCwgICAgMTA0MTYwMCwgICAg MTA0MTYwMCwgICAgICA5NjAsICAgICAyMDEyLCAweDgyNWM5NjM2CiswLCAgICAxMDQyNTYwLCAg ICAxMDQyNTYwLCAgICAgIDk2MCwgICAgIDIwMTIsIDB4N2FhNGFlNTMKKzAsICAgIDEwNDM1MjAs ICAgIDEwNDM1MjAsICAgICAgOTYwLCAgICAgMjAxMiwgMHhlOTcwYWU3OAorMCwgICAgMTA0NDQ4 MCwgICAgMTA0NDQ4MCwgICAgICA5NjAsICAgICAyMDEyLCAweDVmYjJiYTU5CiswLCAgICAxMDQ1 NDQwLCAgICAxMDQ1NDQwLCAgICAgIDk2MCwgICAgIDIwMTIsIDB4Y2Q5MGE5NTMKKzAsICAgIDEw NDY0MDAsICAgIDEwNDY0MDAsICAgICAgOTYwLCAgICAgMjAxMiwgMHhmNTczYWM0MAorMCwgICAg MTA0NzM2MCwgICAgMTA0NzM2MCwgICAgICA5NjAsICAgICAyMDEyLCAweDMyNGNiZDc3CiswLCAg ICAxMDQ4MzIwLCAgICAxMDQ4MzIwLCAgICAgIDk2MCwgICAgIDIwMTIsIDB4ZWNlMGE3M2QKKzAs ICAgIDEwNDkyODAsICAgIDEwNDkyODAsICAgICAgOTYwLCAgICAgMjAxMiwgMHgwZGQxYWVmYQor MCwgICAgMTA1MDI0MCwgICAgMTA1MDI0MCwgICAgICA5NjAsICAgICAyMDEyLCAweGUzMzhjODY2 CiswLCAgICAxMDUxMjAwLCAgICAxMDUxMjAwLCAgICAgIDk2MCwgICAgIDIwMTIsIDB4ZmU3MWJm ZmMKKzAsICAgIDEwNTIxNjAsICAgIDEwNTIxNjAsICAgICAgOTYwLCAgICAgMjAxMiwgMHg2MWE1 YTgxMAorMCwgICAgMTA1MzEyMCwgICAgMTA1MzEyMCwgICAgICA5NjAsICAgICAyMDEyLCAweDdj M2JhMDc0CiswLCAgICAxMDU0MDgwLCAgICAxMDU0MDgwLCAgICAgIDk2MCwgICAgIDIwMTIsIDB4 NDkyZjlkOTEKKzAsICAgIDEwNTUwNDAsICAgIDEwNTUwNDAsICAgICAgOTYwLCAgICAgMjAxMiwg MHhhMTI2YTdiOQorMCwgICAgMTA1NjAwMCwgICAgMTA1NjAwMCwgICAgICA5NjAsICAgICAyMDEy LCAweDdjZjE5YTQwCiswLCAgICAxMDU2OTYwLCAgICAxMDU2OTYwLCAgICAgIDk2MCwgICAgIDIw MTIsIDB4MWMyZmJhZTYKKzAsICAgIDEwNTc5MjAsICAgIDEwNTc5MjAsICAgICAgOTYwLCAgICAg MjAxMiwgMHg1NDBhY2NkZgorMCwgICAgMTA1ODg4MCwgICAgMTA1ODg4MCwgICAgICA5NjAsICAg ICAyMDEyLCAweDU5MDhhOTM4CiswLCAgICAxMDU5ODQwLCAgICAxMDU5ODQwLCAgICAgIDk2MCwg ICAgIDIwMTIsIDB4ZTdmOGI1MDEKKzAsICAgIDEwNjA4MDAsICAgIDEwNjA4MDAsICAgICAgOTYw LCAgICAgMjAxMiwgMHgwM2E4YjUzZQorMCwgICAgMTA2MTc2MCwgICAgMTA2MTc2MCwgICAgICA5 NjAsICAgICAyMDEyLCAweGI0ZTNiZGRhCiswLCAgICAxMDYyNzIwLCAgICAxMDYyNzIwLCAgICAg IDk2MCwgICAgIDIwMTIsIDB4OWU4NmFiZTEKKzAsICAgIDEwNjM2ODAsICAgIDEwNjM2ODAsICAg ICAgOTYwLCAgICAgMjAxMiwgMHgzMjM0Yjk4ZAorMCwgICAgMTA2NDY0MCwgICAgMTA2NDY0MCwg ICAgICA5NjAsICAgICAyMDEyLCAweDVjYWVjNzgxCiswLCAgICAxMDY1NjAwLCAgICAxMDY1NjAw LCAgICAgIDk2MCwgICAgIDIwMTIsIDB4NWMyMWEzMmUKKzAsICAgIDEwNjY1NjAsICAgIDEwNjY1 NjAsICAgICAgOTYwLCAgICAgMjAxMiwgMHg4YjcyYzExMgorMCwgICAgMTA2NzUyMCwgICAgMTA2 NzUyMCwgICAgICA5NjAsICAgICAyMDEyLCAweDJlYzJiYWMzCiswLCAgICAxMDY4NDgwLCAgICAx MDY4NDgwLCAgICAgIDk2MCwgICAgIDIwMTIsIDB4ZDljNGFkYWEKKzAsICAgIDEwNjk0NDAsICAg IDEwNjk0NDAsICAgICAgOTYwLCAgICAgMjAxMiwgMHgyZGExYjQ5NgorMCwgICAgMTA3MDQwMCwg ICAgMTA3MDQwMCwgICAgICA5NjAsICAgICAyMDEyLCAweDBhNTFiMjFlCiswLCAgICAxMDcxMzYw LCAgICAxMDcxMzYwLCAgICAgIDk2MCwgICAgIDIwMTIsIDB4NjQxNGFiMGQKKzAsICAgIDEwNzIz MjAsICAgIDEwNzIzMjAsICAgICAgOTYwLCAgICAgMjAxMiwgMHg5NWM0YjIwMworMCwgICAgMTA3 MzI4MCwgICAgMTA3MzI4MCwgICAgICA5NjAsICAgICAyMDEyLCAweDk4ZTBiNGEyCiswLCAgICAx MDc0MjQwLCAgICAxMDc0MjQwLCAgICAgIDk2MCwgICAgIDIwMTIsIDB4MzQzNjlmNWYKKzAsICAg IDEwNzUyMDAsICAgIDEwNzUyMDAsICAgICAgOTYwLCAgICAgMjAxMiwgMHg5ZGZmYTQwYworMCwg ICAgMTA3NjE2MCwgICAgMTA3NjE2MCwgICAgICA5NjAsICAgICAyMDEyLCAweGYzNDViMGU1Cisw LCAgICAxMDc3MTIwLCAgICAxMDc3MTIwLCAgICAgIDk2MCwgICAgIDIwMTIsIDB4NjcxNGJkYmYK KzAsICAgIDEwNzgwODAsICAgIDEwNzgwODAsICAgICAgOTYwLCAgICAgMjAxMiwgMHhjMjc2YzNk MQorMCwgICAgMTA3OTA0MCwgICAgMTA3OTA0MCwgICAgICA5NjAsICAgICAyMDEyLCAweGYxOTli NDc1CiswLCAgICAxMDgwMDAwLCAgICAxMDgwMDAwLCAgICAgIDk2MCwgICAgIDIwMTIsIDB4MzM5 NWNmM2IKKzAsICAgIDEwODA5NjAsICAgIDEwODA5NjAsICAgICAgOTYwLCAgICAgMjAxMiwgMHg0 YjUyYWZiMAorMCwgICAgMTA4MTkyMCwgICAgMTA4MTkyMCwgICAgICA5NjAsICAgICAyMDEyLCAw eDNmNzRiMjE3CiswLCAgICAxMDgyODgwLCAgICAxMDgyODgwLCAgICAgIDk2MCwgICAgIDIwMTIs IDB4YTI1Y2FkMzgKKzAsICAgIDEwODM4NDAsICAgIDEwODM4NDAsICAgICAgOTYwLCAgICAgMjAx MiwgMHgzMjkwYTViNAorMCwgICAgMTA4NDgwMCwgICAgMTA4NDgwMCwgICAgICA5NjAsICAgICAy MDEyLCAweDI5MTdiNzUwCiswLCAgICAxMDg1NzYwLCAgICAxMDg1NzYwLCAgICAgIDk2MCwgICAg IDIwMTIsIDB4ZWIzZWM3MzkKKzAsICAgIDEwODY3MjAsICAgIDEwODY3MjAsICAgICAgOTYwLCAg ICAgMjAxMiwgMHhiZjllYTUxZAorMCwgICAgMTA4NzY4MCwgICAgMTA4NzY4MCwgICAgICA5NjAs ICAgICAyMDEyLCAweDk4ZTJhMGMxCiswLCAgICAxMDg4NjQwLCAgICAxMDg4NjQwLCAgICAgIDk2 MCwgICAgIDIwMTIsIDB4YTM5YmE3ZjIKKzAsICAgIDEwODk2MDAsICAgIDEwODk2MDAsICAgICAg OTYwLCAgICAgMjAxMiwgMHg2ZGY3YTA1YworMCwgICAgMTA5MDU2MCwgICAgMTA5MDU2MCwgICAg ICA5NjAsICAgICAyMDEyLCAweDJjMWJiYTI4CiswLCAgICAxMDkxNTIwLCAgICAxMDkxNTIwLCAg ICAgIDk2MCwgICAgIDIwMTIsIDB4NjA5OWIxY2QKKzAsICAgIDEwOTI0ODAsICAgIDEwOTI0ODAs ICAgICAgOTYwLCAgICAgMjAxMiwgMHg5MzY2YjlmMgorMCwgICAgMTA5MzQ0MCwgICAgMTA5MzQ0 MCwgICAgICA5NjAsICAgICAyMDEyLCAweDk1ODk5NTcwCiswLCAgICAxMDk0NDAwLCAgICAxMDk0 NDAwLCAgICAgIDk2MCwgICAgIDIwMTIsIDB4NjIzNGEwYzgKKzAsICAgIDEwOTUzNjAsICAgIDEw OTUzNjAsICAgICAgOTYwLCAgICAgMjAxMiwgMHhlYzJjYmNmYworMCwgICAgMTA5NjMyMCwgICAg MTA5NjMyMCwgICAgICA5NjAsICAgICAyMDEyLCAweDNmZjdhOWRiCiswLCAgICAxMDk3MjgwLCAg ICAxMDk3MjgwLCAgICAgIDk2MCwgICAgIDIwMTIsIDB4NGU0NGJhZDcKKzAsICAgIDEwOTgyNDAs ICAgIDEwOTgyNDAsICAgICAgOTYwLCAgICAgMjAxMiwgMHgxZGJiYmMzOQorMCwgICAgMTA5OTIw MCwgICAgMTA5OTIwMCwgICAgICA5NjAsICAgICAyMDEyLCAweGY5ZGY5OWJlCiswLCAgICAxMTAw MTYwLCAgICAxMTAwMTYwLCAgICAgIDk2MCwgICAgIDIwMTIsIDB4YTcxM2IzMTMKKzAsICAgIDEx MDExMjAsICAgIDExMDExMjAsICAgICAgOTYwLCAgICAgMjAxMiwgMHg4YmJkYmU1MQorMCwgICAg MTEwMjA4MCwgICAgMTEwMjA4MCwgICAgICA5NjAsICAgICAyMDEyLCAweDBkNWJjNzg2CiswLCAg ICAxMTAzMDQwLCAgICAxMTAzMDQwLCAgICAgIDk2MCwgICAgIDIwMTIsIDB4NzVkMjkzZjIKKzAs ICAgIDExMDQwMDAsICAgIDExMDQwMDAsICAgICAgOTYwLCAgICAgMjAxMiwgMHg0ODMyYjY4OAor MCwgICAgMTEwNDk2MCwgICAgMTEwNDk2MCwgICAgICA5NjAsICAgICAyMDEyLCAweDcxYWJhNzRj CiswLCAgICAxMTA1OTIwLCAgICAxMTA1OTIwLCAgICAgIDk2MCwgICAgIDIwMTIsIDB4MDRkNWFi ZjIKKzAsICAgIDExMDY4ODAsICAgIDExMDY4ODAsICAgICAgOTYwLCAgICAgMjAxMiwgMHhhYThm YmQ5OAorMCwgICAgMTEwNzg0MCwgICAgMTEwNzg0MCwgICAgICA5NjAsICAgICAyMDEyLCAweGQ5 M2ViNmQ0CiswLCAgICAxMTA4ODAwLCAgICAxMTA4ODAwLCAgICAgIDk2MCwgICAgIDIwMTIsIDB4 OGZiNmI1YTgKKzAsICAgIDExMDk3NjAsICAgIDExMDk3NjAsICAgICAgOTYwLCAgICAgMjAxMiwg MHg3NzlhOTJmNQorMCwgICAgMTExMDcyMCwgICAgMTExMDcyMCwgICAgICA5NjAsICAgICAyMDEy LCAweDM1YzhhYjNkCiswLCAgICAxMTExNjgwLCAgICAxMTExNjgwLCAgICAgIDk2MCwgICAgIDIw MTIsIDB4MDAxN2FhYTUKKzAsICAgIDExMTI2NDAsICAgIDExMTI2NDAsICAgICAgOTYwLCAgICAg MjAxMiwgMHhkNmU3YmFmZQorMCwgICAgMTExMzYwMCwgICAgMTExMzYwMCwgICAgICA5NjAsICAg ICAyMDEyLCAweGUzNThiNDIzCiswLCAgICAxMTE0NTYwLCAgICAxMTE0NTYwLCAgICAgIDk2MCwg ICAgIDIwMTIsIDB4M2Y3NGJmYmEKKzAsICAgIDExMTU1MjAsICAgIDExMTU1MjAsICAgICAgOTYw LCAgICAgMjAxMiwgMHgwYTVlYjcwNworMCwgICAgMTExNjQ4MCwgICAgMTExNjQ4MCwgICAgICA5 NjAsICAgICAyMDEyLCAweGVkYmZiMGRmCiswLCAgICAxMTE3NDQwLCAgICAxMTE3NDQwLCAgICAg IDk2MCwgICAgIDIwMTIsIDB4MmU3MWEyNmYKKzAsICAgIDExMTg0MDAsICAgIDExMTg0MDAsICAg ICAgOTYwLCAgICAgMjAxMiwgMHgyMTRkYjFhOAorMCwgICAgMTExOTM2MCwgICAgMTExOTM2MCwg ICAgICA5NjAsICAgICAyMDEyLCAweGI2MzJjMjc1CiswLCAgICAxMTIwMzIwLCAgICAxMTIwMzIw LCAgICAgIDk2MCwgICAgIDIwMTIsIDB4YjU5N2NmOTIKKzAsICAgIDExMjEyODAsICAgIDExMjEy ODAsICAgICAgOTYwLCAgICAgMjAxMiwgMHgxOGE4YjUwOAorMCwgICAgMTEyMjI0MCwgICAgMTEy MjI0MCwgICAgICA5NjAsICAgICAyMDEyLCAweDgyNjdiNGZmCiswLCAgICAxMTIzMjAwLCAgICAx MTIzMjAwLCAgICAgIDk2MCwgICAgIDIwMTIsIDB4NWE5YWI4ZDYKKzAsICAgIDExMjQxNjAsICAg IDExMjQxNjAsICAgICAgOTYwLCAgICAgMjAxMiwgMHgyMDM3YTJiNgotLSAKMi40OS4xCgoKRnJv bSAzMzU4OGEzNzQ5N2JiMjY1OTgyMzRmYzc0NWVkYTUyMDg5YzI2NzYxIE1vbiBTZXAgMTcgMDA6 MDA6MDAgMjAwMQpGcm9tOiBKYW1lcyBBbG1lciA8amFtcmlhbEBnbWFpbC5jb20+CkRhdGU6IFNh dCwgMTYgTm92IDIwMjQgMTc6NDY6MTcgLTAzMDAKU3ViamVjdDogW1BBVENIIDA2Mi80MzRdIGF2 Zm9ybWF0L21vdmVuYzogd3JpdGUgc3RzcyBib3hlcyBmb3IgeEhFLUFBQwoKVGhpcyBpcyBpbiBw cmVwYXJhdGlvbiBmb3IgYSBmb2xsb3dpbmcgY2hhbmdlLgoKU2lnbmVkLW9mZi1ieTogSmFtZXMg QWxtZXIgPGphbXJpYWxAZ21haWwuY29tPgooY2hlcnJ5IHBpY2tlZCBmcm9tIGNvbW1pdCAyM2Ex YzAyMWYyOTk2NTVkNjZiY2ZiZDY5ZWQwZDY3ODBmNjhjNmZjKQotLS0KIGxpYmF2Zm9ybWF0L21v dmVuYy5jIHwgMSArCiAxIGZpbGUgY2hhbmdlZCwgMSBpbnNlcnRpb24oKykKCmRpZmYgLS1naXQg YS9saWJhdmZvcm1hdC9tb3ZlbmMuYyBiL2xpYmF2Zm9ybWF0L21vdmVuYy5jCmluZGV4IGRhNThh N2FiMTUuLmQ2ZWZmZGE2ZmEgMTAwNjQ0Ci0tLSBhL2xpYmF2Zm9ybWF0L21vdmVuYy5jCisrKyBi L2xpYmF2Zm9ybWF0L21vdmVuYy5jCkBAIC0zMTk2LDYgKzMxOTYsNyBAQCBzdGF0aWMgaW50IG1v dl93cml0ZV9zdGJsX3RhZyhBVkZvcm1hdENvbnRleHQgKnMsIEFWSU9Db250ZXh0ICpwYiwgTU9W TXV4Q29udGV4dAogICAgIGlmICgodHJhY2stPnBhci0+Y29kZWNfdHlwZSA9PSBBVk1FRElBX1RZ UEVfVklERU8gfHwKICAgICAgICAgIHRyYWNrLT5wYXItPmNvZGVjX2lkID09IEFWX0NPREVDX0lE X1RSVUVIRCB8fAogICAgICAgICAgdHJhY2stPnBhci0+Y29kZWNfaWQgPT0gQVZfQ09ERUNfSURf TVBFR0hfM0RfQVVESU8gfHwKKyAgICAgICAgICh0cmFjay0+cGFyLT5jb2RlY19pZCA9PSBBVl9D T0RFQ19JRF9BQUMgJiYgdHJhY2stPnBhci0+cHJvZmlsZSA9PSBBVl9QUk9GSUxFX0FBQ19VU0FD KSB8fAogICAgICAgICAgdHJhY2stPnBhci0+Y29kZWNfdGFnID09IE1LVEFHKCdyJywndCcsJ3An LCcgJykpICYmCiAgICAgICAgIHRyYWNrLT5oYXNfa2V5ZnJhbWVzICYmIHRyYWNrLT5oYXNfa2V5 ZnJhbWVzIDwgdHJhY2stPmVudHJ5KQogICAgICAgICBtb3Zfd3JpdGVfc3Rzc190YWcocGIsIHRy YWNrLCBNT1ZfU1lOQ19TQU1QTEUpOwotLSAKMi40OS4xCgoKRnJvbSAxMzI4MmU2MWI4MDgxMjEy MjJiMDQzYzhiOTY1YTQ4ZWY4MDEyNjdiIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBK YW1lcyBBbG1lciA8amFtcmlhbEBnbWFpbC5jb20+CkRhdGU6IFNhdCwgMTYgTm92IDIwMjQgMTc6 NDc6NDMgLTAzMDAKU3ViamVjdDogW1BBVENIIDA2My80MzRdIGF2Zm9ybWF0L3Rlc3QvbW92ZW5j OiBzZXQgYXVkaW8gcGFja2V0cyBhcyBrZXkgZnJhbWVzCgpEb24ndCBkZXBlbmQgb24gdGhlIGdl bmVyaWMgY29kZSBzZXR0aW5nIHRoaXMuClRoaXMgaXMgaW4gcHJlcGFyYXRpb24gZm9yIGEgZm9s bG93aW5nIGNoYW5nZS4KClNpZ25lZC1vZmYtYnk6IEphbWVzIEFsbWVyIDxqYW1yaWFsQGdtYWls LmNvbT4KKGNoZXJyeSBwaWNrZWQgZnJvbSBjb21taXQgZjkzOGIyYjNmNTFmOTU5ZGU4NGJjMjJj NzU1MjliNzc2MjZiMjU5NikKLS0tCiBsaWJhdmZvcm1hdC90ZXN0cy9tb3ZlbmMuYyB8IDEgKwog MSBmaWxlIGNoYW5nZWQsIDEgaW5zZXJ0aW9uKCspCgpkaWZmIC0tZ2l0IGEvbGliYXZmb3JtYXQv dGVzdHMvbW92ZW5jLmMgYi9saWJhdmZvcm1hdC90ZXN0cy9tb3ZlbmMuYwppbmRleCAyZmQ1YzY3 ZTc2Li4yM2E4MjdlOTdjIDEwMDY0NAotLS0gYS9saWJhdmZvcm1hdC90ZXN0cy9tb3ZlbmMuYwor KysgYi9saWJhdmZvcm1hdC90ZXN0cy9tb3ZlbmMuYwpAQCAtMjcwLDYgKzI3MCw3IEBAIHN0YXRp YyB2b2lkIG11eF9mcmFtZXMoaW50IG4sIGludCBjKQogICAgICAgICAgICAgcGt0LT5kdHMgPSBw a3QtPnB0cyA9IGF1ZGlvX2R0czsKICAgICAgICAgICAgIHBrdC0+c3RyZWFtX2luZGV4ID0gMTsK ICAgICAgICAgICAgIHBrdC0+ZHVyYXRpb24gPSBhdWRpb19kdXJhdGlvbjsKKyAgICAgICAgICAg IHBrdC0+ZmxhZ3MgfD0gQVZfUEtUX0ZMQUdfS0VZOwogICAgICAgICAgICAgYXVkaW9fZHRzICs9 IGF1ZGlvX2R1cmF0aW9uOwogICAgICAgICB9IGVsc2UgewogICAgICAgICAgICAgaWYgKGZyYW1l cyA9PSBlbmRfZnJhbWVzKQotLSAKMi40OS4xCgoKRnJvbSBmMTU5MmE3ZmYxZDM4ZTc1YmQ5N2Jj NmM0OTk2MWU2NjI4OTI0ZTA3IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBKYW1lcyBB bG1lciA8amFtcmlhbEBnbWFpbC5jb20+CkRhdGU6IFNhdCwgMTYgTm92IDIwMjQgMTc6NDk6MTcg LTAzMDAKU3ViamVjdDogW1BBVENIIDA2NC80MzRdIGF2Zm9ybWF0L21hdHJvc2thZGVjOiBzZXQg YWxsIGZyYW1lcyBpbiBhIGtleWZyYW1lCiBzaW1wbGUgYm94IGFzIGtleWZyYW1lcwoKQW5kIG5v dCBqdXN0IHRoZSBmaXJzdCwgYXMgaXQgd2FzIGJlaW5nIGRvbmUgZm9yIGxhY2luZy4gVGhlIHNw ZWMgc3RhdGVzIHRoYXQgdGhlCmZsYWcgYXBwbGllcyB0byBldmVyeXRoaW5nIGluc2lkZSB0aGUg c2ltcGxlIGJveC4KClNpZ25lZC1vZmYtYnk6IEphbWVzIEFsbWVyIDxqYW1yaWFsQGdtYWlsLmNv bT4KKGNoZXJyeSBwaWNrZWQgZnJvbSBjb21taXQgZjY1NmMwMGJkOTUzYjFkZDg0YzU4ZGZlZjVk ZDY0NWRiODE4YmEzZCkKLS0tCiBsaWJhdmZvcm1hdC9tYXRyb3NrYWRlYy5jIHwgMiArLQogMSBm aWxlIGNoYW5nZWQsIDEgaW5zZXJ0aW9uKCspLCAxIGRlbGV0aW9uKC0pCgpkaWZmIC0tZ2l0IGEv bGliYXZmb3JtYXQvbWF0cm9za2FkZWMuYyBiL2xpYmF2Zm9ybWF0L21hdHJvc2thZGVjLmMKaW5k ZXggYzg3NDFmZjJhZi4uYTI5NDdjOTdlNyAxMDA2NDQKLS0tIGEvbGliYXZmb3JtYXQvbWF0cm9z a2FkZWMuYworKysgYi9saWJhdmZvcm1hdC9tYXRyb3NrYWRlYy5jCkBAIC00MjI0LDcgKzQyMjQs NyBAQCBzdGF0aWMgaW50IG1hdHJvc2thX3BhcnNlX2Jsb2NrKE1hdHJvc2thRGVtdXhDb250ZXh0 ICptYXRyb3NrYSwgQVZCdWZmZXJSZWYgKmJ1ZgogICAgICAgICB9IGVsc2UgewogICAgICAgICAg ICAgcmVzID0gbWF0cm9za2FfcGFyc2VfZnJhbWUobWF0cm9za2EsIHRyYWNrLCBzdCwgYnVmLCBv dXRfZGF0YSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG91dF9zaXpl LCB0aW1lY29kZSwgbGFjZV9kdXJhdGlvbiwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIHBvcywgIW4gPyBpc19rZXlmcmFtZSA6IDAsCisgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICBwb3MsIGlzX2tleWZyYW1lLAogICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgYmxvY2ttb3JlLCBuYl9ibG9ja21vcmUsCiAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkaXNjYXJkX3BhZGRpbmcpOwogICAgICAgICAg ICAgaWYgKHJlcykKLS0gCjIuNDkuMQoKCkZyb20gZGM5ZDliODYzNmYxZTcxZmI4MzlhYTI1OTU1 MTIyYjYwOGY2ZDk4ZiBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKRnJvbTogSmFtZXMgQWxtZXIg PGphbXJpYWxAZ21haWwuY29tPgpEYXRlOiBTYXQsIDE2IE5vdiAyMDI0IDE3OjU0OjM0IC0wMzAw ClN1YmplY3Q6IFtQQVRDSCAwNjUvNDM0XSBhdmZvcm1hdC9tb3Y6IGRvbid0IHVuY29uZGl0aW9u YWxseSBzZXQgYWxsIGF1ZGlvCiBwYWNrZXRzIGluIGZyYWdtZW50cyBhcyBrZXkgZnJhbWVzCgpT b21lIGF1ZGlvIGNvZGVjcywgbGlrZSBUcnVlSEQsIGhhdmUgbm9uIGtleSBmcmFtZXMuCgpTaWdu ZWQtb2ZmLWJ5OiBKYW1lcyBBbG1lciA8amFtcmlhbEBnbWFpbC5jb20+CihjaGVycnkgcGlja2Vk IGZyb20gY29tbWl0IDhkZGJjMjZkZWRjZjgzOTYyZGQzYWVkOTBhNmJiMGE5NTg0N2QzODYpCi0t LQogbGliYXZmb3JtYXQvbW92LmMgfCA1ICstLS0tCiAxIGZpbGUgY2hhbmdlZCwgMSBpbnNlcnRp b24oKyksIDQgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvbGliYXZmb3JtYXQvbW92LmMgYi9s aWJhdmZvcm1hdC9tb3YuYwppbmRleCA1NGY4NTk0ZjY3Li45YTlhMjQxNGU3IDEwMDY0NAotLS0g YS9saWJhdmZvcm1hdC9tb3YuYworKysgYi9saWJhdmZvcm1hdC9tb3YuYwpAQCAtNTg0MywxMCAr NTg0Myw3IEBAIHN0YXRpYyBpbnQgbW92X3JlYWRfdHJ1bihNT1ZDb250ZXh0ICpjLCBBVklPQ29u dGV4dCAqcGIsIE1PVkF0b20gYXRvbSkKICAgICAgICAgICAgIHB0cyA9IEFWX05PUFRTX1ZBTFVF OwogICAgICAgICB9CiAKLSAgICAgICAgaWYgKHN0LT5jb2RlY3Bhci0+Y29kZWNfdHlwZSA9PSBB Vk1FRElBX1RZUEVfQVVESU8pCi0gICAgICAgICAgICBrZXlmcmFtZSA9IDE7Ci0gICAgICAgIGVs c2UKLSAgICAgICAgICAgIGtleWZyYW1lID0KKyAgICAgICAga2V5ZnJhbWUgPQogICAgICAgICAg ICAgICAgICEoc2FtcGxlX2ZsYWdzICYgKE1PVl9GUkFHX1NBTVBMRV9GTEFHX0lTX05PTl9TWU5D IHwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBNT1ZfRlJBR19TQU1QTEVfRkxB R19ERVBFTkRTX1lFUykpOwogICAgICAgICBpZiAoa2V5ZnJhbWUpIHsKLS0gCjIuNDkuMQoKCkZy b20gMDc1YzZkMzI1YWMxZTZiOTU4NDBhNzJmMTMzYmFjNGFhODE0MDIxNSBNb24gU2VwIDE3IDAw OjAwOjAwIDIwMDEKRnJvbTogSmFtZXMgQWxtZXIgPGphbXJpYWxAZ21haWwuY29tPgpEYXRlOiBT YXQsIDE2IE5vdiAyMDI0IDE3OjU2OjE0IC0wMzAwClN1YmplY3Q6IFtQQVRDSCAwNjYvNDM0XSBh dmNvZGVjL2FhY19wYXJzZXI6IHNldCBrZXlfZnJhbWUgYW5kIHByb2ZpbGUKClRoaXMgaXMgaW4g cHJlcGFyYXRpb24gZm9yIGEgZm9sbG93aW5nIGNoYW5nZS4KClNpZ25lZC1vZmYtYnk6IEphbWVz IEFsbWVyIDxqYW1yaWFsQGdtYWlsLmNvbT4KKGNoZXJyeSBwaWNrZWQgZnJvbSBjb21taXQgNjRi YjkxZmQzYjVhMDBhODg0OTUzMWM3ZThkZDIwN2YyYTYyNjA5NikKLS0tCiBsaWJhdmNvZGVjL2Fh Y19hYzNfcGFyc2VyLmMgfCA5ICsrKysrKysrLQogMSBmaWxlIGNoYW5nZWQsIDggaW5zZXJ0aW9u cygrKSwgMSBkZWxldGlvbigtKQoKZGlmZiAtLWdpdCBhL2xpYmF2Y29kZWMvYWFjX2FjM19wYXJz ZXIuYyBiL2xpYmF2Y29kZWMvYWFjX2FjM19wYXJzZXIuYwppbmRleCBmNDU2MzFkMDlmLi5lMjM2 MWQzNTM0IDEwMDY0NAotLS0gYS9saWJhdmNvZGVjL2FhY19hYzNfcGFyc2VyLmMKKysrIGIvbGli YXZjb2RlYy9hYWNfYWMzX3BhcnNlci5jCkBAIC00MCw2ICs0MCw4IEBAIGludCBmZl9hYWNfYWMz X3BhcnNlKEFWQ29kZWNQYXJzZXJDb250ZXh0ICpzMSwKICAgICBpbnQgbmV3X2ZyYW1lX3N0YXJ0 OwogICAgIGludCBnb3RfZnJhbWUgPSAwOwogCisgICAgczEtPmtleV9mcmFtZSA9IC0xOworCiAg ICAgaWYgKHMxLT5mbGFncyAmIFBBUlNFUl9GTEFHX0NPTVBMRVRFX0ZSQU1FUykgewogICAgICAg ICBpID0gYnVmX3NpemU7CiAgICAgICAgIGdvdF9mcmFtZSA9IDE7CkBAIC0xNDUsMTAgKzE0Nywx NSBAQCBnZXRfbmV4dDoKICAgICAgICAgfSBlbHNlIHsKICNpZiBDT05GSUdfQUFDX1BBUlNFUgog ICAgICAgICAgICAgQUFDQURUU0hlYWRlckluZm8gaGRyOworICAgICAgICAgICAgR2V0Qml0Q29u dGV4dCBnYjsKKyAgICAgICAgICAgIGludCBwcm9maWxlOworICAgICAgICAgICAgaW5pdF9nZXRf Yml0czgoJmdiLCBidWYsIGJ1Zl9zaXplKTsKICAgICAgICAgICAgIGlmIChidWZfc2l6ZSA8IEFW X0FBQ19BRFRTX0hFQURFUl9TSVpFIHx8Ci0gICAgICAgICAgICAgICAgZmZfYWR0c19oZWFkZXJf cGFyc2VfYnVmKGJ1ZiwgJmhkcikgPCAwKQorICAgICAgICAgICAgICAgIGZmX2FkdHNfaGVhZGVy X3BhcnNlKCZnYiwgJmhkcikgPCAwKQogICAgICAgICAgICAgICAgIHJldHVybiBpOwogCisgICAg ICAgICAgICBhdmN0eC0+cHJvZmlsZSA9IGhkci5vYmplY3RfdHlwZSAtIDE7CisgICAgICAgICAg ICBzMS0+a2V5X2ZyYW1lID0gKGF2Y3R4LT5wcm9maWxlID09IEFWX1BST0ZJTEVfQUFDX1VTQUMp ID8gZ2V0X2JpdHMxKCZnYikgOiAxOwogICAgICAgICAgICAgYml0X3JhdGUgPSBoZHIuYml0X3Jh dGU7CiAjZW5kaWYKICAgICAgICAgfQotLSAKMi40OS4xCgoKRnJvbSAxYjViZGNlODZhNzYyODE1 ZDI1ODJjNTljMzBlOGY1YzhmOTE0MGQzIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBK YW1lcyBBbG1lciA8amFtcmlhbEBnbWFpbC5jb20+CkRhdGU6IFNhdCwgMTYgTm92IDIwMjQgMjA6 Mjg6MzggLTAzMDAKU3ViamVjdDogW1BBVENIIDA2Ny80MzRdIGF2Y29kZWMvYWFjL2FhY2RlYzog c2V0IGtleWZyYW1lIGZsYWcgaW4gb3V0cHV0CiBmcmFtZXMKCkRvbid0IGRlcGVuZCBvbiB0aGUg Z2VuZXJpYyBjb2RlIHNldHRpbmcgdGhpcy4KVGhpcyBpcyBpbiBwcmVwYXJhdGlvbiBmb3IgYSBm b2xsb3dpbmcgY2hhbmdlLgoKU2lnbmVkLW9mZi1ieTogSmFtZXMgQWxtZXIgPGphbXJpYWxAZ21h aWwuY29tPgooY2hlcnJ5IHBpY2tlZCBmcm9tIGNvbW1pdCBmYWVhMDhiNzIyZGU3MTYzOTFjM2Y4 NGEyNjUwNjBjNjQzYWQ2YzIyKQotLS0KIGxpYmF2Y29kZWMvYWFjL2FhY2RlYy5jIHwgMiArKwog MSBmaWxlIGNoYW5nZWQsIDIgaW5zZXJ0aW9ucygrKQoKZGlmZiAtLWdpdCBhL2xpYmF2Y29kZWMv YWFjL2FhY2RlYy5jIGIvbGliYXZjb2RlYy9hYWMvYWFjZGVjLmMKaW5kZXggNDExMGJjNDBjYS4u MDM4MjUxZDI2NiAxMDA2NDQKLS0tIGEvbGliYXZjb2RlYy9hYWMvYWFjZGVjLmMKKysrIGIvbGli YXZjb2RlYy9hYWMvYWFjZGVjLmMKQEAgLTIxOTQsNiArMjE5NCw3IEBAIHN0YXRpYyBpbnQgYWFj X2RlY29kZV9lcl9mcmFtZShBVkNvZGVjQ29udGV4dCAqYXZjdHgsIEFWRnJhbWUgKmZyYW1lLAog CiAgICAgYWMtPmZyYW1lLT5uYl9zYW1wbGVzID0gc2FtcGxlczsKICAgICBhYy0+ZnJhbWUtPnNh bXBsZV9yYXRlID0gYXZjdHgtPnNhbXBsZV9yYXRlOworICAgIGFjLT5mcmFtZS0+ZmxhZ3MgfD0g QVZfRlJBTUVfRkxBR19LRVk7CiAgICAgKmdvdF9mcmFtZV9wdHIgPSAxOwogCiAgICAgc2tpcF9i aXRzX2xvbmcoZ2IsIGdldF9iaXRzX2xlZnQoZ2IpKTsKQEAgLTIzNTQsNiArMjM1NSw3IEBAIHN0 YXRpYyBpbnQgZGVjb2RlX2ZyYW1lX2dhKEFWQ29kZWNDb250ZXh0ICphdmN0eCwgQUFDRGVjQ29u dGV4dCAqYWMsCiAgICAgaWYgKHNhbXBsZXMpIHsKICAgICAgICAgYWMtPmZyYW1lLT5uYl9zYW1w bGVzID0gc2FtcGxlczsKICAgICAgICAgYWMtPmZyYW1lLT5zYW1wbGVfcmF0ZSA9IGF2Y3R4LT5z YW1wbGVfcmF0ZTsKKyAgICAgICAgYWMtPmZyYW1lLT5mbGFncyB8PSBBVl9GUkFNRV9GTEFHX0tF WTsKICAgICAgICAgKmdvdF9mcmFtZV9wdHIgPSAxOwogICAgIH0gZWxzZSB7CiAgICAgICAgIGF2 X2ZyYW1lX3VucmVmKGFjLT5mcmFtZSk7Ci0tIAoyLjQ5LjEKCgpGcm9tIDMwMmYxYjM4ODI1MzZk Y2JkMTE4NTc3OGE0NzRiYzU5MDBhNTcxNTMgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCkZyb206 IEphbWVzIEFsbWVyIDxqYW1yaWFsQGdtYWlsLmNvbT4KRGF0ZTogU2F0LCAxNiBOb3YgMjAyNCAy MDoyOTozOCAtMDMwMApTdWJqZWN0OiBbUEFUQ0ggMDY4LzQzNF0gYXZjb2RlYy9hYWNlbmM6IHNl dCBrZXlmcmFtZSBmbGFnIGluIG91dHB1dCBwYWNrZXRzCgpEb24ndCBkZXBlbmQgb24gdGhlIGdl bmVyaWMgY29kZSBzZXR0aW5nIHRoaXMuClRoaXMgaXMgaW4gcHJlcGFyYXRpb24gZm9yIGEgZm9s bG93aW5nIGNoYW5nZS4KClNpZ25lZC1vZmYtYnk6IEphbWVzIEFsbWVyIDxqYW1yaWFsQGdtYWls LmNvbT4KKGNoZXJyeSBwaWNrZWQgZnJvbSBjb21taXQgZmZkYWNlNWFkNDczNmVhNzIwZjMwNjM5 MmNlNmJkY2IyYWVhODIzYSkKLS0tCiBsaWJhdmNvZGVjL2FhY2VuYy5jIHwgMiArKwogMSBmaWxl IGNoYW5nZWQsIDIgaW5zZXJ0aW9ucygrKQoKZGlmZiAtLWdpdCBhL2xpYmF2Y29kZWMvYWFjZW5j LmMgYi9saWJhdmNvZGVjL2FhY2VuYy5jCmluZGV4IDg4MDM3YzdmODcuLjNmZjYxZjc4OGIgMTAw NjQ0Ci0tLSBhL2xpYmF2Y29kZWMvYWFjZW5jLmMKKysrIGIvbGliYXZjb2RlYy9hYWNlbmMuYwpA QCAtMTE3Nyw2ICsxMTc3LDggQEAgc3RhdGljIGludCBhYWNfZW5jb2RlX2ZyYW1lKEFWQ29kZWND b250ZXh0ICphdmN0eCwgQVZQYWNrZXQgKmF2cGt0LAogICAgIGZmX2FmX3F1ZXVlX3JlbW92ZSgm cy0+YWZxLCBhdmN0eC0+ZnJhbWVfc2l6ZSwgJmF2cGt0LT5wdHMsCiAgICAgICAgICAgICAgICAg ICAgICAgICZhdnBrdC0+ZHVyYXRpb24pOwogCisgICAgYXZwa3QtPmZsYWdzIHw9IEFWX1BLVF9G TEFHX0tFWTsKKwogICAgICpnb3RfcGFja2V0X3B0ciA9IDE7CiAgICAgcmV0dXJuIDA7CiB9Ci0t IAoyLjQ5LjEKCgpGcm9tIDA3YTkyYzFhNjQwZGU0MTQyMmZkMjU4MWU5OTZjMjY5NzZiMDNhNmEg TW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCkZyb206IEphbWVzIEFsbWVyIDxqYW1yaWFsQGdtYWls LmNvbT4KRGF0ZTogU3VuLCAyNCBOb3YgMjAyNCAyMDoyNDoyNyAtMDMwMApTdWJqZWN0OiBbUEFU Q0ggMDY5LzQzNF0gYXZjb2RlYy9hdWRpb3Rvb2xib3hkZWM6IHNldCBzZXQga2V5ZnJhbWUgZmxh ZyBpbgogb3V0cHV0IGZyYW1lcwoKRG9uJ3QgZGVwZW5kIG9uIHRoZSBnZW5lcmljIGNvZGUgc2V0 dGluZyB0aGlzLgpUaGlzIGlzIGluIHByZXBhcmF0aW9uIGZvciBhIGZvbGxvd2luZyBjaGFuZ2Uu CgpTaWduZWQtb2ZmLWJ5OiBKYW1lcyBBbG1lciA8amFtcmlhbEBnbWFpbC5jb20+CihjaGVycnkg cGlja2VkIGZyb20gY29tbWl0IGQzZGQxNGJmNWI0YTdlNWVhZDg5MGI4M2ZjOTA1YWRkOWIyNjFj ZjcpCi0tLQogbGliYXZjb2RlYy9hdWRpb3Rvb2xib3hkZWMuYyB8IDIgKysKIDEgZmlsZSBjaGFu Z2VkLCAyIGluc2VydGlvbnMoKykKCmRpZmYgLS1naXQgYS9saWJhdmNvZGVjL2F1ZGlvdG9vbGJv eGRlYy5jIGIvbGliYXZjb2RlYy9hdWRpb3Rvb2xib3hkZWMuYwppbmRleCAwZjdjZThlNGViLi4w ODIwM2M1MzEwIDEwMDY0NAotLS0gYS9saWJhdmNvZGVjL2F1ZGlvdG9vbGJveGRlYy5jCisrKyBi L2xpYmF2Y29kZWMvYXVkaW90b29sYm94ZGVjLmMKQEAgLTU0Miw2ICs1NDIsOCBAQCBzdGF0aWMg aW50IGZmYXRfZGVjb2RlKEFWQ29kZWNDb250ZXh0ICphdmN0eCwgQVZGcmFtZSAqZnJhbWUsCiAK ICAgICBmcmFtZS0+bmJfc2FtcGxlcyA9IGF2Y3R4LT5mcmFtZV9zaXplOwogCisgICAgZnJhbWUt PmZsYWdzIHw9IEFWX0ZSQU1FX0ZMQUdfS0VZOworCiAgICAgb3V0X2J1ZmZlcnMubUJ1ZmZlcnNb MF0ubURhdGEgPSBhdC0+ZGVjb2RlZF9kYXRhOwogCiAgICAgcmV0ID0gQXVkaW9Db252ZXJ0ZXJG aWxsQ29tcGxleEJ1ZmZlcihhdC0+Y29udmVydGVyLCBmZmF0X2RlY29kZV9jYWxsYmFjaywgYXZj dHgsCi0tIAoyLjQ5LjEKCgpGcm9tIGY3ZDU5YWIxN2E3NTExMDVjMzk5Y2M2NGJlYjY2ZDVjNzY4 NmRjYWIgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCkZyb206IEphbWVzIEFsbWVyIDxqYW1yaWFs QGdtYWlsLmNvbT4KRGF0ZTogU3VuLCAyNCBOb3YgMjAyNCAyMDoyNDo0MCAtMDMwMApTdWJqZWN0 OiBbUEFUQ0ggMDcwLzQzNF0gYXZjb2RlYy9hdWRpb3Rvb2xib3huZWM6IHNldCBzZXQga2V5ZnJh bWUgZmxhZyBpbgogb3V0cHV0IHBhY2tldHMKCkRvbid0IGRlcGVuZCBvbiB0aGUgZ2VuZXJpYyBj b2RlIHNldHRpbmcgdGhpcy4KVGhpcyBpcyBpbiBwcmVwYXJhdGlvbiBmb3IgYSBmb2xsb3dpbmcg Y2hhbmdlLgoKU2lnbmVkLW9mZi1ieTogSmFtZXMgQWxtZXIgPGphbXJpYWxAZ21haWwuY29tPgoo Y2hlcnJ5IHBpY2tlZCBmcm9tIGNvbW1pdCA0OTVjODkxZTM5OThiZGVlN2U3NjgwMzkwZDlhZWEy ZWZiNWM5YTVkKQotLS0KIGxpYmF2Y29kZWMvYXVkaW90b29sYm94ZW5jLmMgfCAxICsKIDEgZmls ZSBjaGFuZ2VkLCAxIGluc2VydGlvbigrKQoKZGlmZiAtLWdpdCBhL2xpYmF2Y29kZWMvYXVkaW90 b29sYm94ZW5jLmMgYi9saWJhdmNvZGVjL2F1ZGlvdG9vbGJveGVuYy5jCmluZGV4IGFkMmI4NjNi YjkuLjkwOGI1NjA1NWYgMTAwNjQ0Ci0tLSBhL2xpYmF2Y29kZWMvYXVkaW90b29sYm94ZW5jLmMK KysrIGIvbGliYXZjb2RlYy9hdWRpb3Rvb2xib3hlbmMuYwpAQCAtNTc2LDYgKzU3Niw3IEBAIHN0 YXRpYyBpbnQgZmZhdF9lbmNvZGUoQVZDb2RlY0NvbnRleHQgKmF2Y3R4LCBBVlBhY2tldCAqYXZw a3QsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYXZjdHgtPmZyYW1lX3Np emUsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAmYXZwa3QtPnB0cywKICAgICAgICAgICAg ICAgICAgICAgICAgICAgICZhdnBrdC0+ZHVyYXRpb24pOworICAgICAgICBhdnBrdC0+ZmxhZ3Mg fD0gQVZfUEtUX0ZMQUdfS0VZOwogICAgIH0gZWxzZSBpZiAocmV0ICYmIHJldCAhPSAxKSB7CiAg ICAgICAgIGF2X2xvZyhhdmN0eCwgQVZfTE9HX0VSUk9SLCAiRW5jb2RlIGVycm9yOiAlaVxuIiwg cmV0KTsKICAgICAgICAgcmV0dXJuIEFWRVJST1JfRVhURVJOQUw7Ci0tIAoyLjQ5LjEKCgpGcm9t IGMxM2EwYTJmNTliZDE2OWI1N2ZmMDI4NWU4NWFjZjRjMDBhYjI4OTYgTW9uIFNlcCAxNyAwMDow MDowMCAyMDAxCkZyb206IEphbWVzIEFsbWVyIDxqYW1yaWFsQGdtYWlsLmNvbT4KRGF0ZTogU3Vu LCAxNyBOb3YgMjAyNCAxNTo1MzowMyAtMDMwMApTdWJqZWN0OiBbUEFUQ0ggMDcxLzQzNF0gYXZj b2RlYy9saWJmZGstYWFjZGVjOiBzZXQga2V5ZnJhbWUgZmxhZyBhbmQgcHJvZmlsZQogaW4gb3V0 cHV0IGZyYW1lcwoKRG9uJ3QgZGVwZW5kIG9uIHRoZSBnZW5lcmljIGNvZGUgc2V0dGluZyB0aGlz LgpUaGlzIGlzIGluIHByZXBhcmF0aW9uIGZvciBhIGZvbGxvd2luZyBjaGFuZ2UuCgpTaWduZWQt b2ZmLWJ5OiBKYW1lcyBBbG1lciA8amFtcmlhbEBnbWFpbC5jb20+CihjaGVycnkgcGlja2VkIGZy b20gY29tbWl0IDI4MWI3ZmMwMmUzMTU4ZWU2MmMzYzFkNDEyNjdkZGViYjg2NTc4ZjApCi0tLQog bGliYXZjb2RlYy9saWJmZGstYWFjZGVjLmMgfCA3ICsrKysrLS0KIDEgZmlsZSBjaGFuZ2VkLCA1 IGluc2VydGlvbnMoKyksIDIgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvbGliYXZjb2RlYy9s aWJmZGstYWFjZGVjLmMgYi9saWJhdmNvZGVjL2xpYmZkay1hYWNkZWMuYwppbmRleCAxMzI0Mzc3 ZmI0Li5hYzIyMTY0NWYwIDEwMDY0NAotLS0gYS9saWJhdmNvZGVjL2xpYmZkay1hYWNkZWMuYwor KysgYi9saWJhdmNvZGVjL2xpYmZkay1hYWNkZWMuYwpAQCAtMTExLDcgKzExMSw3IEBAIHN0YXRp YyBjb25zdCBBVkNsYXNzIGZka19hYWNfZGVjX2NsYXNzID0gewogICAgIC52ZXJzaW9uICAgID0g TElCQVZVVElMX1ZFUlNJT05fSU5ULAogfTsKIAotc3RhdGljIGludCBnZXRfc3RyZWFtX2luZm8o QVZDb2RlY0NvbnRleHQgKmF2Y3R4KQorc3RhdGljIGludCBnZXRfc3RyZWFtX2luZm8oQVZDb2Rl Y0NvbnRleHQgKmF2Y3R4LCBBVkZyYW1lICpmcmFtZSkKIHsKICAgICBGREtBQUNEZWNDb250ZXh0 ICpzICAgPSBhdmN0eC0+cHJpdl9kYXRhOwogICAgIENTdHJlYW1JbmZvICppbmZvICAgICA9IGFh Y0RlY29kZXJfR2V0U3RyZWFtSW5mbyhzLT5oYW5kbGUpOwpAQCAtMTMwLDYgKzEzMCw5IEBAIHN0 YXRpYyBpbnQgZ2V0X3N0cmVhbV9pbmZvKEFWQ29kZWNDb250ZXh0ICphdmN0eCkKICAgICB9CiAg ICAgYXZjdHgtPnNhbXBsZV9yYXRlID0gaW5mby0+c2FtcGxlUmF0ZTsKICAgICBhdmN0eC0+ZnJh bWVfc2l6ZSAgPSBpbmZvLT5mcmFtZVNpemU7CisgICAgYXZjdHgtPnByb2ZpbGUgICAgID0gaW5m by0+YW90IC0gMTsKKworICAgIGZyYW1lLT5mbGFncyB8PSBBVl9GUkFNRV9GTEFHX0tFWSAqICEh KGluZm8tPmZsYWdzICYgQUNfSU5ERVApOwogI2lmIEZES0RFQ19WRVJfQVRfTEVBU1QoMiwgNSkg Ly8gMi41LjEwCiAgICAgaWYgKCFzLT5vdXRwdXRfZGVsYXlfc2V0ICYmIGluZm8tPm91dHB1dERl bGF5KSB7CiAgICAgICAgIC8vIFNldCB0aGlzIG9ubHkgb25jZS4KQEAgLTQxMyw3ICs0MTYsNyBA QCBzdGF0aWMgaW50IGZka19hYWNfZGVjb2RlX2ZyYW1lKEFWQ29kZWNDb250ZXh0ICphdmN0eCwg QVZGcmFtZSAqZnJhbWUsCiAgICAgICAgIGdvdG8gZW5kOwogICAgIH0KIAotICAgIGlmICgocmV0 ID0gZ2V0X3N0cmVhbV9pbmZvKGF2Y3R4KSkgPCAwKQorICAgIGlmICgocmV0ID0gZ2V0X3N0cmVh bV9pbmZvKGF2Y3R4LCBmcmFtZSkpIDwgMCkKICAgICAgICAgZ290byBlbmQ7CiAgICAgZnJhbWUt Pm5iX3NhbXBsZXMgPSBhdmN0eC0+ZnJhbWVfc2l6ZTsKIAotLSAKMi40OS4xCgoKRnJvbSAyNmJj NzgyN2U0YmVkMzU1Y2QxOTc5MzhhOWRkYmUxMDdmMTFlOGM2IE1vbiBTZXAgMTcgMDA6MDA6MDAg MjAwMQpGcm9tOiBKYW1lcyBBbG1lciA8amFtcmlhbEBnbWFpbC5jb20+CkRhdGU6IFN1biwgMTcg Tm92IDIwMjQgMTY6MDM6MTggLTAzMDAKU3ViamVjdDogW1BBVENIIDA3Mi80MzRdIGF2Y29kZWMv bGliZmRrLWFhY2VuYzogc2V0IGtleWZyYW1lIGluIG91dHB1dCBwYWNrZXRzCgpEb24ndCBkZXBl bmQgb24gdGhlIGdlbmVyaWMgY29kZSBzZXR0aW5nIHRoaXMuClRoaXMgaXMgaW4gcHJlcGFyYXRp b24gZm9yIGEgZm9sbG93aW5nIGNoYW5nZS4KClNpZ25lZC1vZmYtYnk6IEphbWVzIEFsbWVyIDxq YW1yaWFsQGdtYWlsLmNvbT4KKGNoZXJyeSBwaWNrZWQgZnJvbSBjb21taXQgOTlmODcyNTFlMGNj NmJmOGYyYTdjMjFlMWU3MmU2MTQ0ZTVhNjcwMSkKLS0tCiBsaWJhdmNvZGVjL2xpYmZkay1hYWNl bmMuYyB8IDEgKwogMSBmaWxlIGNoYW5nZWQsIDEgaW5zZXJ0aW9uKCspCgpkaWZmIC0tZ2l0IGEv bGliYXZjb2RlYy9saWJmZGstYWFjZW5jLmMgYi9saWJhdmNvZGVjL2xpYmZkay1hYWNlbmMuYwpp bmRleCBjYzBhZTBkOGRhLi40ZGNmYjI1ZGI3IDEwMDY0NAotLS0gYS9saWJhdmNvZGVjL2xpYmZk ay1hYWNlbmMuYworKysgYi9saWJhdmNvZGVjL2xpYmZkay1hYWNlbmMuYwpAQCAtNTQ5LDYgKzU0 OSw3IEBAIHN0YXRpYyBpbnQgYWFjX2VuY29kZV9mcmFtZShBVkNvZGVjQ29udGV4dCAqYXZjdHgs IEFWUGFja2V0ICphdnBrdCwKICAgICB9CiAKICAgICBhdnBrdC0+c2l6ZSAgICAgPSBvdXRfYXJn cy5udW1PdXRCeXRlczsKKyAgICBhdnBrdC0+ZmxhZ3MgICB8PSBBVl9QS1RfRkxBR19LRVk7CiAg ICAgKmdvdF9wYWNrZXRfcHRyID0gMTsKICAgICByZXR1cm4gMDsKIH0KLS0gCjIuNDkuMQoKCkZy b20gNGI4MDFiYWE0NjczMWYwMzc3Y2JhYmFmNDg1ZmU1NzE1YTMzNGQ5MyBNb24gU2VwIDE3IDAw OjAwOjAwIDIwMDEKRnJvbTogSmFtZXMgQWxtZXIgPGphbXJpYWxAZ21haWwuY29tPgpEYXRlOiBT dW4sIDI0IE5vdiAyMDI0IDIwOjI1OjA5IC0wMzAwClN1YmplY3Q6IFtQQVRDSCAwNzMvNDM0XSBh dmNvZGVjL21lZGlhY29kZWNkZWM6IHNldCBzZXQga2V5ZnJhbWUgZmxhZyBpbgogb3V0cHV0IGZy YW1lcwoKRG9uJ3QgZGVwZW5kIG9uIHRoZSBnZW5lcmljIGNvZGUgc2V0dGluZyB0aGlzLgpUaGlz IGlzIGluIHByZXBhcmF0aW9uIGZvciBhIGZvbGxvd2luZyBjaGFuZ2UuCgpTaWduZWQtb2ZmLWJ5 OiBKYW1lcyBBbG1lciA8amFtcmlhbEBnbWFpbC5jb20+CihjaGVycnkgcGlja2VkIGZyb20gY29t bWl0IDhkMmQyNTE5ZTA0NDE4ZDg1NjVlMGQ2ZWNlNjYyYzAxMTIxYTM1ZTEpCi0tLQogbGliYXZj b2RlYy9tZWRpYWNvZGVjZGVjX2NvbW1vbi5jIHwgMSArCiAxIGZpbGUgY2hhbmdlZCwgMSBpbnNl cnRpb24oKykKCmRpZmYgLS1naXQgYS9saWJhdmNvZGVjL21lZGlhY29kZWNkZWNfY29tbW9uLmMg Yi9saWJhdmNvZGVjL21lZGlhY29kZWNkZWNfY29tbW9uLmMKaW5kZXggYjFlZThiNjA5YS4uMzc3 MGI0ZjNhZSAxMDA2NDQKLS0tIGEvbGliYXZjb2RlYy9tZWRpYWNvZGVjZGVjX2NvbW1vbi5jCisr KyBiL2xpYmF2Y29kZWMvbWVkaWFjb2RlY2RlY19jb21tb24uYwpAQCAtNDE2LDYgKzQxNiw3IEBA IHN0YXRpYyBpbnQgbWVkaWFjb2RlY193cmFwX3N3X2F1ZGlvX2J1ZmZlcihBVkNvZGVjQ29udGV4 dCAqYXZjdHgsCiAgICAgICAgIGZyYW1lLT5wdHMgPSBpbmZvLT5wcmVzZW50YXRpb25UaW1lVXM7 CiAgICAgfQogICAgIGZyYW1lLT5wa3RfZHRzID0gQVZfTk9QVFNfVkFMVUU7CisgICAgZnJhbWUt PmZsYWdzIHw9IEFWX0ZSQU1FX0ZMQUdfS0VZOwogCiAgICAgYXZfbG9nKGF2Y3R4LCBBVl9MT0df VFJBQ0UsCiAgICAgICAgICAgICJGcmFtZTogZm9ybWF0PSVkIGNoYW5uZWxzPSVkIHNhbXBsZV9y YXRlPSVkIG5iX3NhbXBsZXM9JWQiLAotLSAKMi40OS4xCgoKRnJvbSBmMjY1ZjljOWQwNDg2MzE4 MDUwMzcwN2JmYWQyODVmNDhlNmJmMDgwIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBK YW1lcyBBbG1lciA8amFtcmlhbEBnbWFpbC5jb20+CkRhdGU6IFNhdCwgMTYgTm92IDIwMjQgMjA6 MzI6MDIgLTAzMDAKU3ViamVjdDogW1BBVENIIDA3NC80MzRdIGF2Y29kZWMvY29kZWNfZGVzYzog cmVtb3ZlIEludHJhIE9ubHkgcHJvcCBmb3IgQUFDCgp4SEUtQUFDIGlzIGEgcHJvZmlsZSB3aGVy ZSBzb21lIGZyYW1lcyBkZXBlbmQgb24gb3RoZXIga2V5IGZyYW1lcywgbmFtZWQgSVBGLgpCeSBz ZXR0aW5nIHRoZSBjb2RlYyBhcyBJbnRyYSBPbmx5LCBhbGwgZnJhbWVzIG91dHB1dCBieSBkZWNv ZGVycyBhbmQgYWxsCnBhY2tldHMgb3V0cHV0IGJ5IGVuY29kZXJzL2RlbXV4ZXJzIHdpbGwgYmUg dW5jb25kaXRpb25hbGx5IGZsYWdlZCBhcwprZXlmcmFtZXMsIHdoaWNoIGlzIGluY29ycmVjdC4K ClNob3VsZCBmaXggdGlja2V0ICMxMTI3Mi4KClNpZ25lZC1vZmYtYnk6IEphbWVzIEFsbWVyIDxq YW1yaWFsQGdtYWlsLmNvbT4KKGNoZXJyeSBwaWNrZWQgZnJvbSBjb21taXQgNDBiZDZkODM1NTc1 YmI4MTc2Nzc0YmU1ODI0ZWYwN2I3MTYyM2QxZSkKLS0tCiBsaWJhdmNvZGVjL2NvZGVjX2Rlc2Mu YyB8IDQgKystLQogbGliYXZjb2RlYy92ZXJzaW9uLmggICAgfCAyICstCiAyIGZpbGVzIGNoYW5n ZWQsIDMgaW5zZXJ0aW9ucygrKSwgMyBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9saWJhdmNv ZGVjL2NvZGVjX2Rlc2MuYyBiL2xpYmF2Y29kZWMvY29kZWNfZGVzYy5jCmluZGV4IDAzZGVhNTc1 MWEuLmQ1OGMzZDg4OWMgMTAwNjQ0Ci0tLSBhL2xpYmF2Y29kZWMvY29kZWNfZGVzYy5jCisrKyBi L2xpYmF2Y29kZWMvY29kZWNfZGVzYy5jCkBAIC0yNjk3LDcgKzI2OTcsNyBAQCBzdGF0aWMgY29u c3QgQVZDb2RlY0Rlc2NyaXB0b3IgY29kZWNfZGVzY3JpcHRvcnNbXSA9IHsKICAgICAgICAgLnR5 cGUgICAgICA9IEFWTUVESUFfVFlQRV9BVURJTywKICAgICAgICAgLm5hbWUgICAgICA9ICJhYWMi LAogICAgICAgICAubG9uZ19uYW1lID0gTlVMTF9JRl9DT05GSUdfU01BTEwoIkFBQyAoQWR2YW5j ZWQgQXVkaW8gQ29kaW5nKSIpLAotICAgICAgICAucHJvcHMgICAgID0gQVZfQ09ERUNfUFJPUF9J TlRSQV9PTkxZIHwgQVZfQ09ERUNfUFJPUF9MT1NTWSwKKyAgICAgICAgLnByb3BzICAgICA9IEFW X0NPREVDX1BST1BfTE9TU1ksCiAgICAgICAgIC5wcm9maWxlcyAgPSBOVUxMX0lGX0NPTkZJR19T TUFMTChmZl9hYWNfcHJvZmlsZXMpLAogICAgIH0sCiAgICAgewpAQCAtMzAzMSw3ICszMDMxLDcg QEAgc3RhdGljIGNvbnN0IEFWQ29kZWNEZXNjcmlwdG9yIGNvZGVjX2Rlc2NyaXB0b3JzW10gPSB7 CiAgICAgICAgIC50eXBlICAgICAgPSBBVk1FRElBX1RZUEVfQVVESU8sCiAgICAgICAgIC5uYW1l ICAgICAgPSAiYWFjX2xhdG0iLAogICAgICAgICAubG9uZ19uYW1lID0gTlVMTF9JRl9DT05GSUdf U01BTEwoIkFBQyBMQVRNIChBZHZhbmNlZCBBdWRpbyBDb2RpbmcgTEFUTSBzeW50YXgpIiksCi0g ICAgICAgIC5wcm9wcyAgICAgPSBBVl9DT0RFQ19QUk9QX0lOVFJBX09OTFkgfCBBVl9DT0RFQ19Q Uk9QX0xPU1NZLAorICAgICAgICAucHJvcHMgICAgID0gQVZfQ09ERUNfUFJPUF9MT1NTWSwKICAg ICAgICAgLnByb2ZpbGVzICA9IE5VTExfSUZfQ09ORklHX1NNQUxMKGZmX2FhY19wcm9maWxlcyks CiAgICAgfSwKICAgICB7CmRpZmYgLS1naXQgYS9saWJhdmNvZGVjL3ZlcnNpb24uaCBiL2xpYmF2 Y29kZWMvdmVyc2lvbi5oCmluZGV4IDRiN2VjNTE1ZmUuLmI2Y2EwMjVmYWUgMTAwNjQ0Ci0tLSBh L2xpYmF2Y29kZWMvdmVyc2lvbi5oCisrKyBiL2xpYmF2Y29kZWMvdmVyc2lvbi5oCkBAIC0zMCw3 ICszMCw3IEBACiAjaW5jbHVkZSAidmVyc2lvbl9tYWpvci5oIgogCiAjZGVmaW5lIExJQkFWQ09E RUNfVkVSU0lPTl9NSU5PUiAgMTkKLSNkZWZpbmUgTElCQVZDT0RFQ19WRVJTSU9OX01JQ1JPIDEw MAorI2RlZmluZSBMSUJBVkNPREVDX1ZFUlNJT05fTUlDUk8gMTAxCiAKICNkZWZpbmUgTElCQVZD T0RFQ19WRVJTSU9OX0lOVCAgQVZfVkVSU0lPTl9JTlQoTElCQVZDT0RFQ19WRVJTSU9OX01BSk9S LCBcCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIExJQkFW Q09ERUNfVkVSU0lPTl9NSU5PUiwgXAotLSAKMi40OS4xCgoKRnJvbSAzNjRmNmE1ZjExOGQzNTA1 OGE0OWVlZTM2MjRjNWQ4MjQzNWJlNDQzIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBK YW1lcyBBbG1lciA8amFtcmlhbEBnbWFpbC5jb20+CkRhdGU6IFN1biwgMjQgTm92IDIwMjQgMTQ6 MjQ6NDcgLTAzMDAKU3ViamVjdDogW1BBVENIIDA3NS80MzRdIGF2Y29kZWMvYWMzZGVjOiBmaXgg ZG93bm1peCBsb2dpYyBmb3IgZWFjMwoKRW5zdXJlIGRvd25taXhlZCBpcyBvbmx5IHNldCBvbmNl IGR1cmluZyBpbml0LCBhcyBpdCB1c2VkIHRvIGJlLgoKRml4ZXMgYSByZWdyZXNzaW9uIHNpbmNl IGFjYmIyNzc3ZTI4Yy4KRml4ZXMgdGlja2V0ICMxMTMyMQoKU2lnbmVkLW9mZi1ieTogSmFtZXMg QWxtZXIgPGphbXJpYWxAZ21haWwuY29tPgooY2hlcnJ5IHBpY2tlZCBmcm9tIGNvbW1pdCAwZTA3 YTcwNjExZGMxMDlmNGU4NDg5NWZmYzc5ODI3YTkxZWRjMDQ1KQotLS0KIGxpYmF2Y29kZWMvYWMz ZGVjLmMgfCAyICstCiAxIGZpbGUgY2hhbmdlZCwgMSBpbnNlcnRpb24oKyksIDEgZGVsZXRpb24o LSkKCmRpZmYgLS1naXQgYS9saWJhdmNvZGVjL2FjM2RlYy5jIGIvbGliYXZjb2RlYy9hYzNkZWMu YwppbmRleCAwYTRkMzM3NWVlLi4zY2MyMGYzMmE5IDEwMDY0NAotLS0gYS9saWJhdmNvZGVjL2Fj M2RlYy5jCisrKyBiL2xpYmF2Y29kZWMvYWMzZGVjLmMKQEAgLTE5OSw3ICsxOTksNiBAQCBzdGF0 aWMgdm9pZCBhYzNfZG93bm1peChBVkNvZGVjQ29udGV4dCAqYXZjdHgpCiAgICAgICAgIGF2X2No YW5uZWxfbGF5b3V0X3VuaW5pdCgmYXZjdHgtPmNoX2xheW91dCk7CiAgICAgICAgIGF2Y3R4LT5j aF9sYXlvdXQgPSAoQVZDaGFubmVsTGF5b3V0KUFWX0NIQU5ORUxfTEFZT1VUX1NURVJFTzsKICAg ICB9Ci0gICAgcy0+ZG93bm1peGVkID0gMTsKIH0KIAogLyoqCkBAIC0yNDEsNiArMjQwLDcgQEAg c3RhdGljIGF2X2NvbGQgaW50IGFjM19kZWNvZGVfaW5pdChBVkNvZGVjQ29udGV4dCAqYXZjdHgp CiAgICAgICAgIGF2Y3R4LT5zYW1wbGVfZm10ID0gQVZfU0FNUExFX0ZNVF9GTFRQOwogCiAgICAg YWMzX2Rvd25taXgoYXZjdHgpOworICAgIHMtPmRvd25taXhlZCA9IDE7CiAKICAgICBmb3IgKGkg PSAwOyBpIDwgQUMzX01BWF9DSEFOTkVMUzsgaSsrKSB7CiAgICAgICAgIHMtPnhjZnB0cltpXSA9 IHMtPnRyYW5zZm9ybV9jb2VmZnNbaV07Ci0tIAoyLjQ5LjEKCgpGcm9tIDEwYWFmODRmODU1ZGJj ZWRiOGVlMmUzZmNlMzA3ZTliOTgzMjA5NDYgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCkZyb206 ID0/VVRGLTg/cT9NYXJ0aW49MjBTdG9yc2o9QzM9QjY/PSA8bWFydGluQG1hcnRpbi5zdD4KRGF0 ZTogV2VkLCAyMyBPY3QgMjAyNCAxNDo0NDoxMSArMDMwMApTdWJqZWN0OiBbUEFUQ0ggMDc2LzQz NF0gY2hlY2thc206IFByaW50IGJlbmNobWFya3Mgb2YgQy1vbmx5IGZ1bmN0aW9ucwpNSU1FLVZl cnNpb246IDEuMApDb250ZW50LVR5cGU6IHRleHQvcGxhaW47IGNoYXJzZXQ9VVRGLTgKQ29udGVu dC1UcmFuc2Zlci1FbmNvZGluZzogOGJpdAoKVGhpcyBjb3JyZXNwb25kcyB0byBjb21taXQgOTI3 OGExNGNmNDA2ZjhlZGI1MDUyYzQyYjgzNzUwMTEyYmY1YjUxNQppbiBkYXYxZC4KCk9taXR0aW5n IHRoZSBDLW9ubHkgZnVuY3Rpb25zIGRvZXNuJ3Qgc3BlZWQgdXAgYmVuY2htYXJraW5nCmFueXdh eSAoYXMgdGhvc2UgaGFzIHRvIGJlIGJlbmNobWFya2VkIGJlZm9yZSB3ZSBrbm93IGlmIHdlIGhh dmUKYW55IGNvcnJlc3BvbmRpbmcgYXNzZW1ibHkgZnVuY3Rpb25zKSwgYW5kIGJlaW5nIGFibGUg dG8gYmVuY2htYXJrCnRob3NlIGZ1bmN0aW9ucyB3aXRob3V0IGNvcnJlc3BvbmRpbmcgYXNzZW1i bHkgY2FuIGJlIHZhbHVhYmxlIGluCmEgbnVtYmVyIG9mIGNhc2VzLgoKU2lnbmVkLW9mZi1ieTog TWFydGluIFN0b3JzasO2IDxtYXJ0aW5AbWFydGluLnN0PgooY2hlcnJ5IHBpY2tlZCBmcm9tIGNv bW1pdCA0YjUyNDY0OWZmOTZiMjVlZGQyNzVjZTE2NjJmNTgzOTEwMmFhMGFmKQotLS0KIHRlc3Rz L2NoZWNrYXNtL2NoZWNrYXNtLmMgfCA0OCArKysrKysrKysrKysrKysrKysrLS0tLS0tLS0tLS0t LS0tLS0tLS0KIDEgZmlsZSBjaGFuZ2VkLCAyMyBpbnNlcnRpb25zKCspLCAyNSBkZWxldGlvbnMo LSkKCmRpZmYgLS1naXQgYS90ZXN0cy9jaGVja2FzbS9jaGVja2FzbS5jIGIvdGVzdHMvY2hlY2th c20vY2hlY2thc20uYwppbmRleCA3M2E5OThhZTNhLi41YjU5Y2RmNTg5IDEwMDY0NAotLS0gYS90 ZXN0cy9jaGVja2FzbS9jaGVja2FzbS5jCisrKyBiL3Rlc3RzL2NoZWNrYXNtL2NoZWNrYXNtLmMK QEAgLTYxOCwzNCArNjE4LDMyIEBAIHN0YXRpYyBpbmxpbmUgZG91YmxlIGF2Z19jeWNsZXNfcGVy X2NhbGwoY29uc3QgQ2hlY2thc21QZXJmICpjb25zdCBwKQogc3RhdGljIHZvaWQgcHJpbnRfYmVu Y2hzKENoZWNrYXNtRnVuYyAqZikKIHsKICAgICBpZiAoZikgeworICAgICAgICBDaGVja2FzbUZ1 bmNWZXJzaW9uICp2ID0gJmYtPnZlcnNpb25zOworICAgICAgICBjb25zdCBDaGVja2FzbVBlcmYg KnAgPSAmdi0+cGVyZjsKKyAgICAgICAgY29uc3QgZG91YmxlIGJhc2VsaW5lID0gYXZnX2N5Y2xl c19wZXJfY2FsbChwKTsKKyAgICAgICAgZG91YmxlIGRlY2ljeWNsZXM7CisKICAgICAgICAgcHJp bnRfYmVuY2hzKGYtPmNoaWxkWzBdKTsKIAotICAgICAgICAvKiBPbmx5IHByaW50IGZ1bmN0aW9u cyB3aXRoIGF0IGxlYXN0IG9uZSBhc3NlbWJseSB2ZXJzaW9uICovCi0gICAgICAgIGlmIChmLT52 ZXJzaW9ucy5jcHUgfHwgZi0+dmVyc2lvbnMubmV4dCkgewotICAgICAgICAgICAgQ2hlY2thc21G dW5jVmVyc2lvbiAqdiA9ICZmLT52ZXJzaW9uczsKLSAgICAgICAgICAgIGNvbnN0IENoZWNrYXNt UGVyZiAqcCA9ICZ2LT5wZXJmOwotICAgICAgICAgICAgY29uc3QgZG91YmxlIGJhc2VsaW5lID0g YXZnX2N5Y2xlc19wZXJfY2FsbChwKTsKLSAgICAgICAgICAgIGRvdWJsZSBkZWNpY3ljbGVzOwot ICAgICAgICAgICAgZG8gewotICAgICAgICAgICAgICAgIGlmIChwLT5pdGVyYXRpb25zKSB7Ci0g ICAgICAgICAgICAgICAgICAgIHAgPSAmdi0+cGVyZjsKLSAgICAgICAgICAgICAgICAgICAgZGVj aWN5Y2xlcyA9IGF2Z19jeWNsZXNfcGVyX2NhbGwocCk7Ci0gICAgICAgICAgICAgICAgICAgIGlm IChzdGF0ZS5jc3YgfHwgc3RhdGUudHN2KSB7Ci0gICAgICAgICAgICAgICAgICAgICAgICBjb25z dCBjaGFyIHNlcCA9IHN0YXRlLmNzdiA/ICcsJyA6ICdcdCc7Ci0gICAgICAgICAgICAgICAgICAg ICAgICBwcmludGYoIiVzJWMlcyVjJS4xZlxuIiwgZi0+bmFtZSwgc2VwLAotICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIGNwdV9zdWZmaXgodi0+Y3B1KSwgc2VwLAotICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIGRlY2ljeWNsZXMgLyAxMC4wKTsKLSAgICAgICAgICAgICAgICAg ICAgfSBlbHNlIHsKLSAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGludCBwYWRfbGVuZ3Ro ID0gMTAgKyA1MCAtCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgcHJpbnRmKCIlc18lczoi LCBmLT5uYW1lLCBjcHVfc3VmZml4KHYtPmNwdSkpOwotICAgICAgICAgICAgICAgICAgICAgICAg Y29uc3QgZG91YmxlIHJhdGlvID0gZGVjaWN5Y2xlcyA/Ci0gICAgICAgICAgICAgICAgICAgICAg ICAgICAgYmFzZWxpbmUgLyBkZWNpY3ljbGVzIDogMC4wOwotICAgICAgICAgICAgICAgICAgICAg ICAgcHJpbnRmKCIlKi4xZiAoJTUuMmZ4KVxuIiwgRkZNQVgocGFkX2xlbmd0aCwgMCksCi0gICAg ICAgICAgICAgICAgICAgICAgICAgICAgZGVjaWN5Y2xlcyAvIDEwLjAsIHJhdGlvKTsKLSAgICAg ICAgICAgICAgICAgICAgfQorICAgICAgICBkbyB7CisgICAgICAgICAgICBpZiAocC0+aXRlcmF0 aW9ucykgeworICAgICAgICAgICAgICAgIHAgPSAmdi0+cGVyZjsKKyAgICAgICAgICAgICAgICBk ZWNpY3ljbGVzID0gYXZnX2N5Y2xlc19wZXJfY2FsbChwKTsKKyAgICAgICAgICAgICAgICBpZiAo c3RhdGUuY3N2IHx8IHN0YXRlLnRzdikgeworICAgICAgICAgICAgICAgICAgICBjb25zdCBjaGFy IHNlcCA9IHN0YXRlLmNzdiA/ICcsJyA6ICdcdCc7CisgICAgICAgICAgICAgICAgICAgIHByaW50 ZigiJXMlYyVzJWMlLjFmXG4iLCBmLT5uYW1lLCBzZXAsCisgICAgICAgICAgICAgICAgICAgICAg ICAgICBjcHVfc3VmZml4KHYtPmNwdSksIHNlcCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAg IGRlY2ljeWNsZXMgLyAxMC4wKTsKKyAgICAgICAgICAgICAgICB9IGVsc2UgeworICAgICAgICAg ICAgICAgICAgICBjb25zdCBpbnQgcGFkX2xlbmd0aCA9IDEwICsgNTAgLQorICAgICAgICAgICAg ICAgICAgICAgICAgcHJpbnRmKCIlc18lczoiLCBmLT5uYW1lLCBjcHVfc3VmZml4KHYtPmNwdSkp OworICAgICAgICAgICAgICAgICAgICBjb25zdCBkb3VibGUgcmF0aW8gPSBkZWNpY3ljbGVzID8K KyAgICAgICAgICAgICAgICAgICAgICAgIGJhc2VsaW5lIC8gZGVjaWN5Y2xlcyA6IDAuMDsKKyAg ICAgICAgICAgICAgICAgICAgcHJpbnRmKCIlKi4xZiAoJTUuMmZ4KVxuIiwgRkZNQVgocGFkX2xl bmd0aCwgMCksCisgICAgICAgICAgICAgICAgICAgICAgICBkZWNpY3ljbGVzIC8gMTAuMCwgcmF0 aW8pOwogICAgICAgICAgICAgICAgIH0KLSAgICAgICAgICAgIH0gd2hpbGUgKCh2ID0gdi0+bmV4 dCkpOwotICAgICAgICB9CisgICAgICAgICAgICB9CisgICAgICAgIH0gd2hpbGUgKCh2ID0gdi0+ bmV4dCkpOwogCiAgICAgICAgIHByaW50X2JlbmNocyhmLT5jaGlsZFsxXSk7CiAgICAgfQotLSAK Mi40OS4xCgoKRnJvbSA4ODEyNmZjNGVjZmYxNmM4MzM3YmFiMGZmMzNiZWU4NThhMThkNTU1IE1v biBTZXAgMTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBNaWNoYWVsIE5pZWRlcm1heWVyIDxtaWNoYWVs QG5pZWRlcm1heWVyLmNjPgpEYXRlOiBGcmksIDI5IE5vdiAyMDI0IDAyOjI4OjE4ICswMTAwClN1 YmplY3Q6IFtQQVRDSCAwNzcvNDM0XSBhdmZvcm1hdC9pYW1mX3BhcnNlOiByZWplY3QgYW1iaXNv bmljcyBtb2RlID4gMQpNSU1FLVZlcnNpb246IDEuMApDb250ZW50LVR5cGU6IHRleHQvcGxhaW47 IGNoYXJzZXQ9VVRGLTgKQ29udGVudC1UcmFuc2Zlci1FbmNvZGluZzogOGJpdAoKYW1iaXNvbmlj cyBtb2RlID4gMSBkb2VzIG5vdCBpbml0aWFsaXplIGFueSBsYXllciBidXQgbGF5ZXIgMAppcyB1 bmNvbmRpdGlvbmFsbHkgZGVyZWZlcmVuY2VkCgpGaXhlczogcG9jLTIwMjQtMTEKRml4ZXM6IG51 bGwgcG9pbnRlciBkZXJlZmVyZW5jZQpGb3VuZC1ieTog6IuP56ulIDwyMjAyMzUyMTJAc2V1LmVk dS5jbj4KU2lnbmVkLW9mZi1ieTogTWljaGFlbCBOaWVkZXJtYXllciA8bWljaGFlbEBuaWVkZXJt YXllci5jYz4KKGNoZXJyeSBwaWNrZWQgZnJvbSBjb21taXQgNGNjMTQ5NWFjYTQ1NDQ1MTgxYTEw N2E2ODJjMzJjZmUzMTQ1OTkyOSkKLS0tCiBsaWJhdmZvcm1hdC9pYW1mX3BhcnNlLmMgfCAyICst CiAxIGZpbGUgY2hhbmdlZCwgMSBpbnNlcnRpb24oKyksIDEgZGVsZXRpb24oLSkKCmRpZmYgLS1n aXQgYS9saWJhdmZvcm1hdC9pYW1mX3BhcnNlLmMgYi9saWJhdmZvcm1hdC9pYW1mX3BhcnNlLmMK aW5kZXggZTBhMTM4YTA3ZC4uZGVjZDRiYzQzNyAxMDA2NDQKLS0tIGEvbGliYXZmb3JtYXQvaWFt Zl9wYXJzZS5jCisrKyBiL2xpYmF2Zm9ybWF0L2lhbWZfcGFyc2UuYwpAQCAtNDEzLDcgKzQxMyw3 IEBAIHN0YXRpYyBpbnQgYW1iaXNvbmljc19jb25maWcodm9pZCAqcywgQVZJT0NvbnRleHQgKnBi LAogCiAgICAgYW1iaXNvbmljc19tb2RlID0gZmZpb19yZWFkX2xlYihwYik7CiAgICAgaWYgKGFt Ymlzb25pY3NfbW9kZSA+IDEpCi0gICAgICAgIHJldHVybiAwOworICAgICAgICByZXR1cm4gQVZF UlJPUl9JTlZBTElEREFUQTsKIAogICAgIG91dHB1dF9jaGFubmVsX2NvdW50ID0gYXZpb19yOChw Yik7ICAvLyBDCiAgICAgc3Vic3RyZWFtX2NvdW50ID0gYXZpb19yOChwYik7ICAvLyBOCi0tIAoy LjQ5LjEKCgpGcm9tIDg4OGE2YjU0YmNjOGFiMzk1ZWJjMjE0ZDc2NGNlZWZhYTEyMzJkODcgTW9u IFNlcCAxNyAwMDowMDowMCAyMDAxCkZyb206IEphbWVzIEFsbWVyIDxqYW1yaWFsQGdtYWlsLmNv bT4KRGF0ZTogV2VkLCAxMSBEZWMgMjAyNCAyMzoyNzowMCAtMDMwMApTdWJqZWN0OiBbUEFUQ0gg MDc4LzQzNF0gYXZmb3JtYXQvaWFtZl9wYXJzZTogYWRkIGNoZWNrcyB0byBwYXJhbWV0ZXIKIGRl ZmluaXRpb24gZHVyYXRpb25zCgpTZWN0aW9uIDMuNi4xIG9mIHRoZSBJQU1GIHNwZWMgc3RhdGVz ICJXaGVuIGNvbnN0YW50X3N1YmJsb2NrX2R1cmF0aW9uIGlzIGVxdWFsIHRvIDAsIHRoZSBzdW1t YXRpb24gb2YgYWxsCnN1YmJsb2NrX2R1cmF0aW9uIGluIHRoaXMgcGFyYW1ldGVyIGJsb2NrIFNI QUxMIGJlIGVxdWFsIHRvIGR1cmF0aW9uLiIuCgpTaWduZWQtb2ZmLWJ5OiBKYW1lcyBBbG1lciA8 amFtcmlhbEBnbWFpbC5jb20+CihjaGVycnkgcGlja2VkIGZyb20gY29tbWl0IGQzOGZjMjU1MTlj ZjEyYTkyMTJkYWRjYmExMjU4ZmMxNzZmZmJhZGUpCi0tLQogbGliYXZmb3JtYXQvaWFtZl9wYXJz ZS5jICB8IDE0ICsrKysrKysrKysrKy0tCiBsaWJhdmZvcm1hdC9pYW1mX3JlYWRlci5jIHwgMTUg KysrKysrKysrKysrKy0tCiAyIGZpbGVzIGNoYW5nZWQsIDI1IGluc2VydGlvbnMoKyksIDQgZGVs ZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvbGliYXZmb3JtYXQvaWFtZl9wYXJzZS5jIGIvbGliYXZm b3JtYXQvaWFtZl9wYXJzZS5jCmluZGV4IGRlY2Q0YmM0MzcuLjU3Y2NmMWMxOTkgMTAwNjQ0Ci0t LSBhL2xpYmF2Zm9ybWF0L2lhbWZfcGFyc2UuYworKysgYi9saWJhdmZvcm1hdC9pYW1mX3BhcnNl LmMKQEAgLTQ5Niw2ICs0OTYsNyBAQCBzdGF0aWMgaW50IHBhcmFtX3BhcnNlKHZvaWQgKnMsIElB TUZDb250ZXh0ICpjLCBBVklPQ29udGV4dCAqcGIsCiAgICAgQVZJQU1GUGFyYW1EZWZpbml0aW9u ICpwYXJhbTsKICAgICB1bnNpZ25lZCBpbnQgcGFyYW1ldGVyX2lkLCBwYXJhbWV0ZXJfcmF0ZSwg bW9kZTsKICAgICB1bnNpZ25lZCBpbnQgZHVyYXRpb24gPSAwLCBjb25zdGFudF9zdWJibG9ja19k dXJhdGlvbiA9IDAsIG5iX3N1YmJsb2NrcyA9IDA7CisgICAgdW5zaWduZWQgaW50IHRvdGFsX2R1 cmF0aW9uID0gMDsKICAgICBzaXplX3QgcGFyYW1fc2l6ZTsKIAogICAgIHBhcmFtZXRlcl9pZCA9 IGZmaW9fcmVhZF9sZWIocGIpOwpAQCAtNTE2LDggKzUxNywxMCBAQCBzdGF0aWMgaW50IHBhcmFt X3BhcnNlKHZvaWQgKnMsIElBTUZDb250ZXh0ICpjLCBBVklPQ29udGV4dCAqcGIsCiAgICAgICAg IGNvbnN0YW50X3N1YmJsb2NrX2R1cmF0aW9uID0gZmZpb19yZWFkX2xlYihwYik7CiAgICAgICAg IGlmIChjb25zdGFudF9zdWJibG9ja19kdXJhdGlvbiA9PSAwKQogICAgICAgICAgICAgbmJfc3Vi YmxvY2tzID0gZmZpb19yZWFkX2xlYihwYik7Ci0gICAgICAgIGVsc2UKKyAgICAgICAgZWxzZSB7 CiAgICAgICAgICAgICBuYl9zdWJibG9ja3MgPSBkdXJhdGlvbiAvIGNvbnN0YW50X3N1YmJsb2Nr X2R1cmF0aW9uOworICAgICAgICAgICAgdG90YWxfZHVyYXRpb24gPSBkdXJhdGlvbjsKKyAgICAg ICAgfQogICAgIH0KIAogICAgIHBhcmFtID0gYXZfaWFtZl9wYXJhbV9kZWZpbml0aW9uX2FsbG9j KHR5cGUsIG5iX3N1YmJsb2NrcywgJnBhcmFtX3NpemUpOwpAQCAtNTI4LDggKzUzMSwxMCBAQCBz dGF0aWMgaW50IHBhcmFtX3BhcnNlKHZvaWQgKnMsIElBTUZDb250ZXh0ICpjLCBBVklPQ29udGV4 dCAqcGIsCiAgICAgICAgIHZvaWQgKnN1YmJsb2NrID0gYXZfaWFtZl9wYXJhbV9kZWZpbml0aW9u X2dldF9zdWJibG9jayhwYXJhbSwgaSk7CiAgICAgICAgIHVuc2lnbmVkIGludCBzdWJibG9ja19k dXJhdGlvbiA9IGNvbnN0YW50X3N1YmJsb2NrX2R1cmF0aW9uOwogCi0gICAgICAgIGlmIChjb25z dGFudF9zdWJibG9ja19kdXJhdGlvbiA9PSAwKQorICAgICAgICBpZiAoY29uc3RhbnRfc3ViYmxv Y2tfZHVyYXRpb24gPT0gMCkgewogICAgICAgICAgICAgc3ViYmxvY2tfZHVyYXRpb24gPSBmZmlv X3JlYWRfbGViKHBiKTsKKyAgICAgICAgICAgIHRvdGFsX2R1cmF0aW9uICs9IHN1YmJsb2NrX2R1 cmF0aW9uOworICAgICAgICB9CiAKICAgICAgICAgc3dpdGNoICh0eXBlKSB7CiAgICAgICAgIGNh c2UgQVZfSUFNRl9QQVJBTUVURVJfREVGSU5JVElPTl9NSVhfR0FJTjogewpAQCAtNTU3LDYgKzU2 MiwxMSBAQCBzdGF0aWMgaW50IHBhcmFtX3BhcnNlKHZvaWQgKnMsIElBTUZDb250ZXh0ICpjLCBB VklPQ29udGV4dCAqcGIsCiAgICAgICAgIH0KICAgICB9CiAKKyAgICBpZiAoIW1vZGUgJiYgIWNv bnN0YW50X3N1YmJsb2NrX2R1cmF0aW9uICYmIHRvdGFsX2R1cmF0aW9uICE9IGR1cmF0aW9uKSB7 CisgICAgICAgIGF2X2xvZyhzLCBBVl9MT0dfRVJST1IsICJJbnZhbGlkIHN1YmJsb2NrIGR1cmF0 aW9ucyBpbiBwYXJhbWV0ZXJfaWQgJXVcbiIsIHBhcmFtZXRlcl9pZCk7CisgICAgICAgIHJldHVy biBBVkVSUk9SX0lOVkFMSUREQVRBOworICAgIH0KKwogICAgIHBhcmFtLT5wYXJhbWV0ZXJfaWQg PSBwYXJhbWV0ZXJfaWQ7CiAgICAgcGFyYW0tPnBhcmFtZXRlcl9yYXRlID0gcGFyYW1ldGVyX3Jh dGU7CiAgICAgcGFyYW0tPmR1cmF0aW9uID0gZHVyYXRpb247CmRpZmYgLS1naXQgYS9saWJhdmZv cm1hdC9pYW1mX3JlYWRlci5jIGIvbGliYXZmb3JtYXQvaWFtZl9yZWFkZXIuYwppbmRleCBiMDBi Yjk5N2NhLi43YWQ2MWNiMjQ2IDEwMDY0NAotLS0gYS9saWJhdmZvcm1hdC9pYW1mX3JlYWRlci5j CisrKyBiL2xpYmF2Zm9ybWF0L2lhbWZfcmVhZGVyLmMKQEAgLTEwOSw2ICsxMDksNyBAQCBzdGF0 aWMgaW50IHBhcmFtZXRlcl9ibG9ja19vYnUoQVZGb3JtYXRDb250ZXh0ICpzLCBJQU1GRGVtdXhD b250ZXh0ICpjLAogICAgIEFWSU9Db250ZXh0ICpwYjsKICAgICB1aW50OF90ICpidWY7CiAgICAg dW5zaWduZWQgaW50IGR1cmF0aW9uLCBjb25zdGFudF9zdWJibG9ja19kdXJhdGlvbjsKKyAgICB1 bnNpZ25lZCBpbnQgdG90YWxfZHVyYXRpb24gPSAwOwogICAgIHVuc2lnbmVkIGludCBuYl9zdWJi bG9ja3M7CiAgICAgdW5zaWduZWQgaW50IHBhcmFtZXRlcl9pZDsKICAgICBzaXplX3Qgb3V0X3Bh cmFtX3NpemU7CkBAIC0xNDcsOCArMTQ4LDEwIEBAIHN0YXRpYyBpbnQgcGFyYW1ldGVyX2Jsb2Nr X29idShBVkZvcm1hdENvbnRleHQgKnMsIElBTUZEZW11eENvbnRleHQgKmMsCiAgICAgICAgIGNv bnN0YW50X3N1YmJsb2NrX2R1cmF0aW9uID0gZmZpb19yZWFkX2xlYihwYik7CiAgICAgICAgIGlm IChjb25zdGFudF9zdWJibG9ja19kdXJhdGlvbiA9PSAwKQogICAgICAgICAgICAgbmJfc3ViYmxv Y2tzID0gZmZpb19yZWFkX2xlYihwYik7Ci0gICAgICAgIGVsc2UKKyAgICAgICAgZWxzZSB7CiAg ICAgICAgICAgICBuYl9zdWJibG9ja3MgPSBkdXJhdGlvbiAvIGNvbnN0YW50X3N1YmJsb2NrX2R1 cmF0aW9uOworICAgICAgICAgICAgdG90YWxfZHVyYXRpb24gPSBkdXJhdGlvbjsKKyAgICAgICAg fQogICAgIH0gZWxzZSB7CiAgICAgICAgIGR1cmF0aW9uID0gcGFyYW0tPmR1cmF0aW9uOwogICAg ICAgICBjb25zdGFudF9zdWJibG9ja19kdXJhdGlvbiA9IHBhcmFtLT5jb25zdGFudF9zdWJibG9j a19kdXJhdGlvbjsKQEAgLTE3Miw4ICsxNzUsMTAgQEAgc3RhdGljIGludCBwYXJhbWV0ZXJfYmxv Y2tfb2J1KEFWRm9ybWF0Q29udGV4dCAqcywgSUFNRkRlbXV4Q29udGV4dCAqYywKICAgICAgICAg dm9pZCAqc3ViYmxvY2sgPSBhdl9pYW1mX3BhcmFtX2RlZmluaXRpb25fZ2V0X3N1YmJsb2NrKG91 dF9wYXJhbSwgaSk7CiAgICAgICAgIHVuc2lnbmVkIGludCBzdWJibG9ja19kdXJhdGlvbiA9IGNv bnN0YW50X3N1YmJsb2NrX2R1cmF0aW9uOwogCi0gICAgICAgIGlmICghcGFyYW1fZGVmaW5pdGlv bi0+bW9kZSAmJiAhY29uc3RhbnRfc3ViYmxvY2tfZHVyYXRpb24pCisgICAgICAgIGlmICghcGFy YW1fZGVmaW5pdGlvbi0+bW9kZSAmJiAhY29uc3RhbnRfc3ViYmxvY2tfZHVyYXRpb24pIHsKICAg ICAgICAgICAgIHN1YmJsb2NrX2R1cmF0aW9uID0gZmZpb19yZWFkX2xlYihwYik7CisgICAgICAg ICAgICB0b3RhbF9kdXJhdGlvbiArPSBzdWJibG9ja19kdXJhdGlvbjsKKyAgICAgICAgfQogCiAg ICAgICAgIHN3aXRjaCAocGFyYW0tPnR5cGUpIHsKICAgICAgICAgY2FzZSBBVl9JQU1GX1BBUkFN RVRFUl9ERUZJTklUSU9OX01JWF9HQUlOOiB7CkBAIC0yMzUsNiArMjQwLDEyIEBAIHN0YXRpYyBp bnQgcGFyYW1ldGVyX2Jsb2NrX29idShBVkZvcm1hdENvbnRleHQgKnMsIElBTUZEZW11eENvbnRl eHQgKmMsCiAgICAgICAgYXZfbG9nKHMsIGxldmVsLCAiVW5kZXJyZWFkIGluIHBhcmFtZXRlcl9i bG9ja19vYnUuICVkIGJ5dGVzIGxlZnQgYXQgdGhlIGVuZFxuIiwgbGVuKTsKICAgICB9CiAKKyAg ICBpZiAoIXBhcmFtX2RlZmluaXRpb24tPm1vZGUgJiYgIWNvbnN0YW50X3N1YmJsb2NrX2R1cmF0 aW9uICYmIHRvdGFsX2R1cmF0aW9uICE9IGR1cmF0aW9uKSB7CisgICAgICAgIGF2X2xvZyhzLCBB Vl9MT0dfRVJST1IsICJJbnZhbGlkIGR1cmF0aW9uIGluIHBhcmFtZXRlciBibG9ja1xuIik7Cisg ICAgICAgIHJldCA9IEFWRVJST1JfSU5WQUxJRERBVEE7CisgICAgICAgIGdvdG8gZmFpbDsKKyAg ICB9CisKICAgICBzd2l0Y2ggKHBhcmFtLT50eXBlKSB7CiAgICAgY2FzZSBBVl9JQU1GX1BBUkFN RVRFUl9ERUZJTklUSU9OX01JWF9HQUlOOgogICAgICAgICBhdl9mcmVlKGMtPm1peCk7Ci0tIAoy LjQ5LjEKCgpGcm9tIDg3MWM2OWEyOGJmNGYzNGQ3ZDRmZThjMGM0YTkxYzdlY2ZmY2NjOTYgTW9u IFNlcCAxNyAwMDowMDowMCAyMDAxCkZyb206IEphbWVzIEFsbWVyIDxqYW1yaWFsQGdtYWlsLmNv bT4KRGF0ZTogV2VkLCAxMSBEZWMgMjAyNCAyMzozNDozMiAtMDMwMApTdWJqZWN0OiBbUEFUQ0gg MDc5LzQzNF0gYXZmb3JtYXQvaWFtZl9wYXJzZTogZml4IHNldHRpbmcgZHVyYXRpb24gZm9yIHRo ZQogbGFzdCBzdWJibG9jayBpbiBhIHBhcmFtZXRlciBkZWZpbml0aW9uCgpXaGVuIHN1YmJsb2Nr IGR1cmF0aW9ucyBhcmUgY29uc3RhbnQsIHRoZSBsYXN0IGJsb2NrIG1heSBiZSBzbWFsbGVyIGFu ZCB0aGUKdmFsdWUgbmVlZHMgdG8gYmUgY2FsY3VsYXRlZC4KClNpZ25lZC1vZmYtYnk6IEphbWVz IEFsbWVyIDxqYW1yaWFsQGdtYWlsLmNvbT4KKGNoZXJyeSBwaWNrZWQgZnJvbSBjb21taXQgZmI1 ZThlYTk3MTljOGFmY2QwZDllM2E1MWUzNzBjMDZjMzYxZDliYSkKLS0tCiBsaWJhdmZvcm1hdC9p YW1mX3BhcnNlLmMgIHwgMyArKy0KIGxpYmF2Zm9ybWF0L2lhbWZfcmVhZGVyLmMgfCAzICsrLQog MiBmaWxlcyBjaGFuZ2VkLCA0IGluc2VydGlvbnMoKyksIDIgZGVsZXRpb25zKC0pCgpkaWZmIC0t Z2l0IGEvbGliYXZmb3JtYXQvaWFtZl9wYXJzZS5jIGIvbGliYXZmb3JtYXQvaWFtZl9wYXJzZS5j CmluZGV4IDU3Y2NmMWMxOTkuLjM0ODYxMDRhYmEgMTAwNjQ0Ci0tLSBhL2xpYmF2Zm9ybWF0L2lh bWZfcGFyc2UuYworKysgYi9saWJhdmZvcm1hdC9pYW1mX3BhcnNlLmMKQEAgLTUzNCw3ICs1MzQs OCBAQCBzdGF0aWMgaW50IHBhcmFtX3BhcnNlKHZvaWQgKnMsIElBTUZDb250ZXh0ICpjLCBBVklP Q29udGV4dCAqcGIsCiAgICAgICAgIGlmIChjb25zdGFudF9zdWJibG9ja19kdXJhdGlvbiA9PSAw KSB7CiAgICAgICAgICAgICBzdWJibG9ja19kdXJhdGlvbiA9IGZmaW9fcmVhZF9sZWIocGIpOwog ICAgICAgICAgICAgdG90YWxfZHVyYXRpb24gKz0gc3ViYmxvY2tfZHVyYXRpb247Ci0gICAgICAg IH0KKyAgICAgICAgfSBlbHNlIGlmIChpID09IG5iX3N1YmJsb2NrcyAtIDEpCisgICAgICAgICAg ICBzdWJibG9ja19kdXJhdGlvbiA9IGR1cmF0aW9uIC0gaSAqIGNvbnN0YW50X3N1YmJsb2NrX2R1 cmF0aW9uOwogCiAgICAgICAgIHN3aXRjaCAodHlwZSkgewogICAgICAgICBjYXNlIEFWX0lBTUZf UEFSQU1FVEVSX0RFRklOSVRJT05fTUlYX0dBSU46IHsKZGlmZiAtLWdpdCBhL2xpYmF2Zm9ybWF0 L2lhbWZfcmVhZGVyLmMgYi9saWJhdmZvcm1hdC9pYW1mX3JlYWRlci5jCmluZGV4IDdhZDYxY2Iy NDYuLjlmMzQ2OWI2NGYgMTAwNjQ0Ci0tLSBhL2xpYmF2Zm9ybWF0L2lhbWZfcmVhZGVyLmMKKysr IGIvbGliYXZmb3JtYXQvaWFtZl9yZWFkZXIuYwpAQCAtMTc4LDcgKzE3OCw4IEBAIHN0YXRpYyBp bnQgcGFyYW1ldGVyX2Jsb2NrX29idShBVkZvcm1hdENvbnRleHQgKnMsIElBTUZEZW11eENvbnRl eHQgKmMsCiAgICAgICAgIGlmICghcGFyYW1fZGVmaW5pdGlvbi0+bW9kZSAmJiAhY29uc3RhbnRf c3ViYmxvY2tfZHVyYXRpb24pIHsKICAgICAgICAgICAgIHN1YmJsb2NrX2R1cmF0aW9uID0gZmZp b19yZWFkX2xlYihwYik7CiAgICAgICAgICAgICB0b3RhbF9kdXJhdGlvbiArPSBzdWJibG9ja19k dXJhdGlvbjsKLSAgICAgICAgfQorICAgICAgICB9IGVsc2UgaWYgKGkgPT0gbmJfc3ViYmxvY2tz IC0gMSkKKyAgICAgICAgICAgIHN1YmJsb2NrX2R1cmF0aW9uID0gZHVyYXRpb24gLSBpICogY29u c3RhbnRfc3ViYmxvY2tfZHVyYXRpb247CiAKICAgICAgICAgc3dpdGNoIChwYXJhbS0+dHlwZSkg ewogICAgICAgICBjYXNlIEFWX0lBTUZfUEFSQU1FVEVSX0RFRklOSVRJT05fTUlYX0dBSU46IHsK LS0gCjIuNDkuMQoKCkZyb20gYjE2OGVkOWIxNDYzMzdlN2JkM2MyMThjNWQxYzBmN2U4OGJmMTMx NSBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKRnJvbTogSmFtZXMgQWxtZXIgPGphbXJpYWxAZ21h aWwuY29tPgpEYXRlOiBXZWQsIDExIERlYyAyMDI0IDEzOjMwOjIzIC0wMzAwClN1YmplY3Q6IFtQ QVRDSCAwODAvNDM0XSBhdmZvcm1hdC9pYW1mX3dyaXRlcjogZml4IHNldHRpbmcKIG51bV9zYW1w bGVzX3Blcl9mcmFtZSBmb3IgT1BVUwoKQXMgcGVyIHNlY3Rpb24gMy4xMS4xIG9mIHRoZSBJQU1G IHNwZWMsIHRoZSBzYW1wbGUgcmF0ZSB1c2VkIGluIENvZGVjIENvbmZpZwpmb3IgT3B1cyBzaGFs bCBiZSA0OGtIeiwgcmVnYXJkbGVzcyBvZiB0aGUgb3JpZ2luYWwgc2FtcGxlIHJhdGUgdXNlZCBk dXJpbmcKZW5jb2RpbmcuCgpTaWduZWQtb2ZmLWJ5OiBKYW1lcyBBbG1lciA8amFtcmlhbEBnbWFp bC5jb20+CihjaGVycnkgcGlja2VkIGZyb20gY29tbWl0IDc2MDQ5ZDFjNDU2NGE2YTAzYzQ2N2Ix ZjliMGJjODUzYmM5NzE3NjkpCi0tLQogbGliYXZmb3JtYXQvaWFtZl93cml0ZXIuYyB8IDE2ICsr KysrKysrKysrKy0tLS0KIDEgZmlsZSBjaGFuZ2VkLCAxMiBpbnNlcnRpb25zKCspLCA0IGRlbGV0 aW9ucygtKQoKZGlmZiAtLWdpdCBhL2xpYmF2Zm9ybWF0L2lhbWZfd3JpdGVyLmMgYi9saWJhdmZv cm1hdC9pYW1mX3dyaXRlci5jCmluZGV4IDFiNjIwYzM4ZWUuLjA1MDhjNjc2ZDEgMTAwNjQ0Ci0t LSBhL2xpYmF2Zm9ybWF0L2lhbWZfd3JpdGVyLmMKKysrIGIvbGliYXZmb3JtYXQvaWFtZl93cml0 ZXIuYwpAQCAtMTEyLDkgKzExMiwxNyBAQCBzdGF0aWMgaW50IGZpbGxfY29kZWNfY29uZmlnKElB TUZDb250ZXh0ICppYW1mLCBjb25zdCBBVlN0cmVhbUdyb3VwICpzdGcsCiAgICAgaW50IGosIHJl dCA9IDA7CiAKICAgICBjb2RlY19jb25maWctPmNvZGVjX2lkID0gc3QtPmNvZGVjcGFyLT5jb2Rl Y19pZDsKLSAgICBjb2RlY19jb25maWctPnNhbXBsZV9yYXRlID0gc3QtPmNvZGVjcGFyLT5zYW1w bGVfcmF0ZTsKICAgICBjb2RlY19jb25maWctPmNvZGVjX3RhZyA9IHN0LT5jb2RlY3Bhci0+Y29k ZWNfdGFnOwotICAgIGNvZGVjX2NvbmZpZy0+bmJfc2FtcGxlcyA9IHN0LT5jb2RlY3Bhci0+ZnJh bWVfc2l6ZTsKKyAgICBzd2l0Y2ggKGNvZGVjX2NvbmZpZy0+Y29kZWNfaWQpIHsKKyAgICBjYXNl IEFWX0NPREVDX0lEX09QVVM6CisgICAgICAgIGNvZGVjX2NvbmZpZy0+c2FtcGxlX3JhdGUgPSA0 ODAwMDsKKyAgICAgICAgY29kZWNfY29uZmlnLT5uYl9zYW1wbGVzID0gYXZfcmVzY2FsZShzdC0+ Y29kZWNwYXItPmZyYW1lX3NpemUsIDQ4MDAwLCBzdC0+Y29kZWNwYXItPnNhbXBsZV9yYXRlKTsK KyAgICAgICAgYnJlYWs7CisgICAgZGVmYXVsdDoKKyAgICAgICAgY29kZWNfY29uZmlnLT5zYW1w bGVfcmF0ZSA9IHN0LT5jb2RlY3Bhci0+c2FtcGxlX3JhdGU7CisgICAgICAgIGNvZGVjX2NvbmZp Zy0+bmJfc2FtcGxlcyA9IHN0LT5jb2RlY3Bhci0+ZnJhbWVfc2l6ZTsKKyAgICAgICAgYnJlYWs7 CisgICAgfQogICAgIHBvcHVsYXRlX2F1ZGlvX3JvbGxfZGlzdGFuY2UoY29kZWNfY29uZmlnKTsK ICAgICBpZiAoc3QtPmNvZGVjcGFyLT5leHRyYWRhdGFfc2l6ZSkgewogICAgICAgICBjb2RlY19j b25maWctPmV4dHJhZGF0YSA9IGF2X21lbWR1cChzdC0+Y29kZWNwYXItPmV4dHJhZGF0YSwgc3Qt PmNvZGVjcGFyLT5leHRyYWRhdGFfc2l6ZSk7CkBAIC0xODMsOSArMTkxLDkgQEAgc3RhdGljIGlu dCBhZGRfcGFyYW1fZGVmaW5pdGlvbihJQU1GQ29udGV4dCAqaWFtZiwgQVZJQU1GUGFyYW1EZWZp bml0aW9uICpwYXJhbSwKICAgICB9CiAgICAgaWYgKGNvZGVjX2NvbmZpZykgewogICAgICAgICBp ZiAoIXBhcmFtLT5kdXJhdGlvbikKLSAgICAgICAgICAgIHBhcmFtLT5kdXJhdGlvbiA9IGNvZGVj X2NvbmZpZy0+bmJfc2FtcGxlczsKKyAgICAgICAgICAgIHBhcmFtLT5kdXJhdGlvbiA9IGF2X3Jl c2NhbGUoY29kZWNfY29uZmlnLT5uYl9zYW1wbGVzLCBwYXJhbS0+cGFyYW1ldGVyX3JhdGUsIGNv ZGVjX2NvbmZpZy0+c2FtcGxlX3JhdGUpOwogICAgICAgICBpZiAoIXBhcmFtLT5jb25zdGFudF9z dWJibG9ja19kdXJhdGlvbikKLSAgICAgICAgICAgIHBhcmFtLT5jb25zdGFudF9zdWJibG9ja19k dXJhdGlvbiA9IGNvZGVjX2NvbmZpZy0+bmJfc2FtcGxlczsKKyAgICAgICAgICAgIHBhcmFtLT5j b25zdGFudF9zdWJibG9ja19kdXJhdGlvbiA9IGF2X3Jlc2NhbGUoY29kZWNfY29uZmlnLT5uYl9z YW1wbGVzLCBwYXJhbS0+cGFyYW1ldGVyX3JhdGUsIGNvZGVjX2NvbmZpZy0+c2FtcGxlX3JhdGUp OwogICAgIH0KIAogICAgIHBhcmFtX2RlZmluaXRpb24gPSBhdl9tYWxsb2N6KHNpemVvZigqcGFy YW1fZGVmaW5pdGlvbikpOwotLSAKMi40OS4xCgoKRnJvbSA0ZjU3NjllMDUyNjI1MmZiODBjM2M1 YTFkNDZkMGVhNDE0NjQzZmQ2IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBKYW1lcyBB bG1lciA8amFtcmlhbEBnbWFpbC5jb20+CkRhdGU6IEZyaSwgMjcgRGVjIDIwMjQgMTY6MTc6NTEg LTAzMDAKU3ViamVjdDogW1BBVENIIDA4MS80MzRdIGF2Zm9ybWF0L2lhbWZfd3JpdGVyOiBlbnN1 cmUgdGhlIHN0cmVhbSBncm91cHMgYXJlCiBub3QgZW1wdHkKClNpZ25lZC1vZmYtYnk6IEphbWVz IEFsbWVyIDxqYW1yaWFsQGdtYWlsLmNvbT4KKGNoZXJyeSBwaWNrZWQgZnJvbSBjb21taXQgY2Vk ZDkxNTFmODYzZTNkYjljMzI1YWZmMmY5Mzc1YzM5YWRiYmVjMikKLS0tCiBsaWJhdmZvcm1hdC9p YW1mX3dyaXRlci5jIHwgOCArKysrKysrKwogMSBmaWxlIGNoYW5nZWQsIDggaW5zZXJ0aW9ucygr KQoKZGlmZiAtLWdpdCBhL2xpYmF2Zm9ybWF0L2lhbWZfd3JpdGVyLmMgYi9saWJhdmZvcm1hdC9p YW1mX3dyaXRlci5jCmluZGV4IDA1MDhjNjc2ZDEuLjI3OTI2Zjg1OWEgMTAwNjQ0Ci0tLSBhL2xp YmF2Zm9ybWF0L2lhbWZfd3JpdGVyLmMKKysrIGIvbGliYXZmb3JtYXQvaWFtZl93cml0ZXIuYwpA QCAtMjE3LDYgKzIxNywxMCBAQCBpbnQgZmZfaWFtZl9hZGRfYXVkaW9fZWxlbWVudChJQU1GQ29u dGV4dCAqaWFtZiwgY29uc3QgQVZTdHJlYW1Hcm91cCAqc3RnLCB2b2lkCiAKICAgICBpZiAoc3Rn LT50eXBlICE9IEFWX1NUUkVBTV9HUk9VUF9QQVJBTVNfSUFNRl9BVURJT19FTEVNRU5UKQogICAg ICAgICByZXR1cm4gQVZFUlJPUihFSU5WQUwpOworICAgIGlmICghc3RnLT5uYl9zdHJlYW1zKSB7 CisgICAgICAgIGF2X2xvZyhsb2dfY3R4LCBBVl9MT0dfRVJST1IsICJBdWRpbyBFbGVtZW50IGlk ICUiUFJJZDY0IiBoYXMgbm8gc3RyZWFtc1xuIiwgc3RnLT5pZCk7CisgICAgICAgIHJldHVybiBB VkVSUk9SKEVJTlZBTCk7CisgICAgfQogCiAgICAgaWFtZl9hdWRpb19lbGVtZW50ID0gc3RnLT5w YXJhbXMuaWFtZl9hdWRpb19lbGVtZW50OwogICAgIGlmIChpYW1mX2F1ZGlvX2VsZW1lbnQtPmF1 ZGlvX2VsZW1lbnRfdHlwZSA9PSBBVl9JQU1GX0FVRElPX0VMRU1FTlRfVFlQRV9TQ0VORSkgewpA QCAtMzgxLDYgKzM4NSwxMCBAQCBpbnQgZmZfaWFtZl9hZGRfbWl4X3ByZXNlbnRhdGlvbihJQU1G Q29udGV4dCAqaWFtZiwgY29uc3QgQVZTdHJlYW1Hcm91cCAqc3RnLCB2bwogCiAgICAgaWYgKHN0 Zy0+dHlwZSAhPSBBVl9TVFJFQU1fR1JPVVBfUEFSQU1TX0lBTUZfTUlYX1BSRVNFTlRBVElPTikK ICAgICAgICAgcmV0dXJuIEFWRVJST1IoRUlOVkFMKTsKKyAgICBpZiAoIXN0Zy0+bmJfc3RyZWFt cykgeworICAgICAgICBhdl9sb2cobG9nX2N0eCwgQVZfTE9HX0VSUk9SLCAiTWl4IFByZXNlbnRh dGlvbiBpZCAlIlBSSWQ2NCIgaGFzIG5vIHN0cmVhbXNcbiIsIHN0Zy0+aWQpOworICAgICAgICBy ZXR1cm4gQVZFUlJPUihFSU5WQUwpOworICAgIH0KIAogICAgIGZvciAoaW50IGkgPSAwOyBpIDwg aWFtZi0+bmJfbWl4X3ByZXNlbnRhdGlvbnM7IGkrKykgewogICAgICAgICBpZiAoc3RnLT5pZCA9 PSBpYW1mLT5taXhfcHJlc2VudGF0aW9uc1tpXS0+bWl4X3ByZXNlbnRhdGlvbl9pZCkgewotLSAK Mi40OS4xCgoKRnJvbSBiZTI2ZWUyM2FiYjRmMGZkNDc4NGViNTU2ZGI5MzI5ZTA2N2U5NmI2IE1v biBTZXAgMTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBKYW1lcyBBbG1lciA8amFtcmlhbEBnbWFpbC5j b20+CkRhdGU6IEZyaSwgMjcgRGVjIDIwMjQgMTk6MTE6NDcgLTAzMDAKU3ViamVjdDogW1BBVENI IDA4Mi80MzRdIGF2Y29kZWMvbGliZGF2MWQ6IGNsZWFyIHRoZSBidWZmZXJlZCBEYXYxZERhdGEg b24KIGRlY29kaW5nIGZhaWx1cmUKClNob3VsZCBlbnN1cmUgYXZjb2RlY19zZW5kX3BhY2tldCgp IGRvZXNuJ3QgcmV0dXJuIEVBR0FJTiBpbiBzY2VuYXJpb3Mgd2hlcmUgaXQncyBub3QKbWVhbnQg dG8gKGUuZy4sIGZmbXBlZ19kZWMuYyB3aGVyZSBhdmNvZGVjX3JlY2VpdmVfZnJhbWUoKSBpcyBj YWxsZWQgaW4gYSBsb29wIHRvIGRyYWluCmFsbCBwcm9kdWNlZCBmcmFtZXMgYmVmb3JlIHRyeWlu ZyB0byBzdWJtaXQgbW9yZSBwYWNrZXRzKS4KCkZpeGVzIHRpY2tldCAjMTEzNzcuCgpSZXZpZXdl ZC1ieTogUm9uYWxkIFMuIEJ1bHRqZSA8cnNidWx0amVAZ21haWwuY29tPgpTaWduZWQtb2ZmLWJ5 OiBKYW1lcyBBbG1lciA8amFtcmlhbEBnbWFpbC5jb20+CihjaGVycnkgcGlja2VkIGZyb20gY29t bWl0IGQxZDliMDgxM2EyYTdlMzA0Y2MyOWRiYTNiMTM4MDg1N2QwZjk4MTYpCi0tLQogbGliYXZj b2RlYy9saWJkYXYxZC5jIHwgNSArKystLQogMSBmaWxlIGNoYW5nZWQsIDMgaW5zZXJ0aW9ucygr KSwgMiBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9saWJhdmNvZGVjL2xpYmRhdjFkLmMgYi9s aWJhdmNvZGVjL2xpYmRhdjFkLmMKaW5kZXggNTQ2YjQyZTljNi4uZmY2N2Y0NGJkMyAxMDA2NDQK LS0tIGEvbGliYXZjb2RlYy9saWJkYXYxZC5jCisrKyBiL2xpYmF2Y29kZWMvbGliZGF2MWQuYwpA QCAtMzcyLDkgKzM3MiwxMCBAQCBzdGF0aWMgaW50IGxpYmRhdjFkX3JlY2VpdmVfZnJhbWVfaW50 ZXJuYWwoQVZDb2RlY0NvbnRleHQgKmMsIERhdjFkUGljdHVyZSAqcCkKIAogICAgIHJlcyA9IGRh djFkX2dldF9waWN0dXJlKGRhdjFkLT5jLCBwKTsKICAgICBpZiAocmVzIDwgMCkgewotICAgICAg ICBpZiAocmVzID09IEFWRVJST1IoRUlOVkFMKSkKKyAgICAgICAgaWYgKHJlcyA9PSBBVkVSUk9S KEVJTlZBTCkpIHsKKyAgICAgICAgICAgIGRhdjFkX2RhdGFfdW5yZWYoZGF0YSk7CiAgICAgICAg ICAgICByZXMgPSBBVkVSUk9SX0lOVkFMSUREQVRBOwotICAgICAgICBlbHNlIGlmIChyZXMgPT0g QVZFUlJPUihFQUdBSU4pKQorICAgICAgICB9IGVsc2UgaWYgKHJlcyA9PSBBVkVSUk9SKEVBR0FJ TikpCiAgICAgICAgICAgICByZXMgPSBjLT5pbnRlcm5hbC0+ZHJhaW5pbmcgPyBBVkVSUk9SX0VP RiA6IDE7CiAgICAgfQogCi0tIAoyLjQ5LjEKCgpGcm9tIDE0NWEzYTg0NTUwYTFjM2EzYjg0OGMx MmE2NGI1M2MzYzQxZDI4ODggTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCkZyb206IEphbWVzIEFs bWVyIDxqYW1yaWFsQGdtYWlsLmNvbT4KRGF0ZTogTW9uLCAzMCBEZWMgMjAyNCAwMDoyNTo0MSAt MDMwMApTdWJqZWN0OiBbUEFUQ0ggMDgzLzQzNF0gYXZmaWx0ZXIvYnVmZmVyc3JjOiBjaGVjayBm b3IgdmFsaWQgc2FtcGxlIHJhdGUKCkEgc2FtcGxlIHJhdGUgPD0gMCBpcyBpbnZhbGlkLgoKRml4 ZXMgYW4gYXNzZXJ0IGluIGZmbXBlZ19lbmMuYyB0aGF0IGFzc3VtZWQgYSB2YWxpZCBzYW1wbGUg cmF0ZSB3b3VsZCBiZSBzZXQuCkZpeGVzIHRpY2tldCAjMTEzODUuCgpTaWduZWQtb2ZmLWJ5OiBK YW1lcyBBbG1lciA8amFtcmlhbEBnbWFpbC5jb20+CihjaGVycnkgcGlja2VkIGZyb20gY29tbWl0 IDE0NDZlMzdkM2QwMzJlMTQ1Mjg0NDc3OGIzZTZiYTJjMjBmMGMzMjIpCi0tLQogbGliYXZmaWx0 ZXIvYnVmZmVyc3JjLmMgfCA1ICsrKysrCiAxIGZpbGUgY2hhbmdlZCwgNSBpbnNlcnRpb25zKCsp CgpkaWZmIC0tZ2l0IGEvbGliYXZmaWx0ZXIvYnVmZmVyc3JjLmMgYi9saWJhdmZpbHRlci9idWZm ZXJzcmMuYwppbmRleCBiNTY4MjAwNmYwLi5lYzU4OThmY2Y5IDEwMDY0NAotLS0gYS9saWJhdmZp bHRlci9idWZmZXJzcmMuYworKysgYi9saWJhdmZpbHRlci9idWZmZXJzcmMuYwpAQCAtNDE0LDYg KzQxNCwxMSBAQCBzdGF0aWMgYXZfY29sZCBpbnQgaW5pdF9hdWRpbyhBVkZpbHRlckNvbnRleHQg KmN0eCkKICAgICAgICAgYXZfY2hhbm5lbF9sYXlvdXRfZGVzY3JpYmUoJnMtPmNoX2xheW91dCwg YnVmLCBzaXplb2YoYnVmKSk7CiAgICAgfQogCisgICAgaWYgKHMtPnNhbXBsZV9yYXRlIDw9IDAp IHsKKyAgICAgICAgYXZfbG9nKGN0eCwgQVZfTE9HX0VSUk9SLCAiU2FtcGxlIHJhdGUgbm90IHNl dFxuIik7CisgICAgICAgIHJldHVybiBBVkVSUk9SKEVJTlZBTCk7CisgICAgfQorCiAgICAgaWYg KCFzLT50aW1lX2Jhc2UubnVtKQogICAgICAgICBzLT50aW1lX2Jhc2UgPSAoQVZSYXRpb25hbCl7 MSwgcy0+c2FtcGxlX3JhdGV9OwogCi0tIAoyLjQ5LjEKCgpGcm9tIGU0NTM4YmM4ODgyNTU4M2Nj YTkxNjNlZjFjZDYxYjZkMDY5YTdhODEgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCkZyb206IE1p Y2hhZWwgTmllZGVybWF5ZXIgPG1pY2hhZWxAbmllZGVybWF5ZXIuY2M+CkRhdGU6IE1vbiwgMzAg U2VwIDIwMjQgMjM6NDI6NTAgKzAyMDAKU3ViamVjdDogW1BBVENIIDA4NC80MzRdIGF2Y29kZWMv ZmZ2MWVuYzogMlBhc3MgbW9kZSBpcyBub3QgcG9zc2libGUgd2l0aAogZ29sb21iIGNvZGluZwoK IkZpeGVzIiBUaWNrZXQ3MDYzCgpTcG9uc29yZWQtYnk6IFNvdmVyZWlnbiBUZWNoIEZ1bmQKU2ln bmVkLW9mZi1ieTogTWljaGFlbCBOaWVkZXJtYXllciA8bWljaGFlbEBuaWVkZXJtYXllci5jYz4K KGNoZXJyeSBwaWNrZWQgZnJvbSBjb21taXQgNDE3YjE2M2MwMDU1NWNjZGEyMDFhOTYzZTc5N2Jm YTY2M2EyNmZmNSkKU2lnbmVkLW9mZi1ieTogTWljaGFlbCBOaWVkZXJtYXllciA8bWljaGFlbEBu aWVkZXJtYXllci5jYz4KLS0tCiBsaWJhdmNvZGVjL2ZmdjFlbmMuYyB8IDUgKysrKysKIDEgZmls ZSBjaGFuZ2VkLCA1IGluc2VydGlvbnMoKykKCmRpZmYgLS1naXQgYS9saWJhdmNvZGVjL2ZmdjFl bmMuYyBiL2xpYmF2Y29kZWMvZmZ2MWVuYy5jCmluZGV4IGE2ZjQwNTI4OWUuLjMyMjI0OTZkYWMg MTAwNjQ0Ci0tLSBhL2xpYmF2Y29kZWMvZmZ2MWVuYy5jCisrKyBiL2xpYmF2Y29kZWMvZmZ2MWVu Yy5jCkBAIC01MjgsNiArNTI4LDExIEBAIHN0YXRpYyBhdl9jb2xkIGludCBlbmNvZGVfaW5pdChB VkNvZGVjQ29udGV4dCAqYXZjdHgpCiAgICAgICAgIGF2Y3R4LT5zbGljZXMgPiAxKQogICAgICAg ICBzLT52ZXJzaW9uID0gRkZNQVgocy0+dmVyc2lvbiwgMik7CiAKKyAgICBpZiAoKGF2Y3R4LT5m bGFncyAmIChBVl9DT0RFQ19GTEFHX1BBU1MxIHwgQVZfQ09ERUNfRkxBR19QQVNTMikpICYmIHMt PmFjID09IEFDX0dPTE9NQl9SSUNFKSB7CisgICAgICAgIGF2X2xvZyhhdmN0eCwgQVZfTE9HX0VS Uk9SLCAiMiBQYXNzIG1vZGUgaXMgbm90IHBvc3NpYmxlIHdpdGggZ29sb21iIGNvZGluZ1xuIik7 CisgICAgICAgIHJldHVybiBBVkVSUk9SKEVJTlZBTCk7CisgICAgfQorCiAgICAgLy8gVW5zcGVj aWZpZWQgbGV2ZWwgJiBzbGljZXMsIHdlIGNob29zZSB2ZXJzaW9uIDEuMisgdG8gZW5zdXJlIG11 bHRpdGhyZWFkZWQgZGVjb2RhYmlsaXR5CiAgICAgaWYgKGF2Y3R4LT5zbGljZXMgPT0gMCAmJiBh dmN0eC0+bGV2ZWwgPCAwICYmIGF2Y3R4LT53aWR0aCAqIGF2Y3R4LT5oZWlnaHQgPiA3MjAqNTc2 KQogICAgICAgICBzLT52ZXJzaW9uID0gRkZNQVgocy0+dmVyc2lvbiwgMik7Ci0tIAoyLjQ5LjEK CgpGcm9tIDgxMWZjZTQzN2VjYzFkYmQ5MmI0NjY5MWQxZmRlOGRjNDYwOWE3ZGYgTW9uIFNlcCAx NyAwMDowMDowMCAyMDAxCkZyb206IE1pY2hhZWwgTmllZGVybWF5ZXIgPG1pY2hhZWxAbmllZGVy bWF5ZXIuY2M+CkRhdGU6IEZyaSwgNiBPY3QgMjAyMyAyMjoyMzozMyArMDIwMApTdWJqZWN0OiBb UEFUQ0ggMDg1LzQzNF0gYXZjb2RlYy9mZnYxZW5jOiBTbGljZSBjb21iaW5hdGlvbiBpcyB1bnN1 cHBvcnRlZAoKV2UgYWx3YXlzIHdyaXRlIG1pbmltYWwgc2xpY2VzLCB0aGUgc2l6ZSBjYWxjdWxh dGlvbiBpcyB3cm9uZyBpbiBzb21lCmNvcm5lciBjYXNlcyBidXQgYXMgaXRzIGFsd2F5cyAxeDEg KG1pbnVzMSkgd2UgY2FuIGZvciBub3cganVzdCBoYXJkLWNvZGUgaXQKClRoaXMgaGVscHMgd2l0 aCB0aWNrZXQgNTU0OAoKU2lnbmVkLW9mZi1ieTogTWljaGFlbCBOaWVkZXJtYXllciA8bWljaGFl bEBuaWVkZXJtYXllci5jYz4KKGNoZXJyeSBwaWNrZWQgZnJvbSBjb21taXQgN2Q1MTQ2NTViZmE0 N2M2ZTVjYzFiODFmYmJhOGU3NTBlMzY4MDM2ZSkKU2lnbmVkLW9mZi1ieTogTWljaGFlbCBOaWVk ZXJtYXllciA8bWljaGFlbEBuaWVkZXJtYXllci5jYz4KLS0tCiBsaWJhdmNvZGVjL2ZmdjFlbmMu YyB8IDQgKystLQogMSBmaWxlIGNoYW5nZWQsIDIgaW5zZXJ0aW9ucygrKSwgMiBkZWxldGlvbnMo LSkKCmRpZmYgLS1naXQgYS9saWJhdmNvZGVjL2ZmdjFlbmMuYyBiL2xpYmF2Y29kZWMvZmZ2MWVu Yy5jCmluZGV4IDMyMjI0OTZkYWMuLmEyMTZmYjA0YzcgMTAwNjQ0Ci0tLSBhL2xpYmF2Y29kZWMv ZmZ2MWVuYy5jCisrKyBiL2xpYmF2Y29kZWMvZmZ2MWVuYy5jCkBAIC05MjUsOCArOTI1LDggQEAg c3RhdGljIHZvaWQgZW5jb2RlX3NsaWNlX2hlYWRlcihGRlYxQ29udGV4dCAqZiwgRkZWMVNsaWNl Q29udGV4dCAqc2MpCiAKICAgICBwdXRfc3ltYm9sKGMsIHN0YXRlLCAoc2MtPnNsaWNlX3ggICAg ICsxKSpmLT5udW1faF9zbGljZXMgLyBmLT53aWR0aCAgICwgMCk7CiAgICAgcHV0X3N5bWJvbChj LCBzdGF0ZSwgKHNjLT5zbGljZV95ICAgICArMSkqZi0+bnVtX3Zfc2xpY2VzIC8gZi0+aGVpZ2h0 ICAsIDApOwotICAgIHB1dF9zeW1ib2woYywgc3RhdGUsIChzYy0+c2xpY2Vfd2lkdGggKzEpKmYt Pm51bV9oX3NsaWNlcyAvIGYtPndpZHRoIC0xLCAwKTsKLSAgICBwdXRfc3ltYm9sKGMsIHN0YXRl LCAoc2MtPnNsaWNlX2hlaWdodCsxKSpmLT5udW1fdl9zbGljZXMgLyBmLT5oZWlnaHQtMSwgMCk7 CisgICAgcHV0X3N5bWJvbChjLCBzdGF0ZSwgMCwgMCk7CisgICAgcHV0X3N5bWJvbChjLCBzdGF0 ZSwgMCwgMCk7CiAgICAgZm9yIChqPTA7IGo8Zi0+cGxhbmVfY291bnQ7IGorKykgewogICAgICAg ICBwdXRfc3ltYm9sKGMsIHN0YXRlLCBzYy0+cGxhbmVbal0ucXVhbnRfdGFibGVfaW5kZXgsIDAp OwogICAgICAgICBhdl9hc3NlcnQwKHNjLT5wbGFuZVtqXS5xdWFudF90YWJsZV9pbmRleCA9PSBm LT5jb250ZXh0X21vZGVsKTsKLS0gCjIuNDkuMQoKCkZyb20gNzZkZGMzZjFlMWU2YTRjZWY4YTdk MDQ2OTdjNGI3ZjBkOWNmZTdkOSBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKRnJvbTogTWljaGFl bCBOaWVkZXJtYXllciA8bWljaGFlbEBuaWVkZXJtYXllci5jYz4KRGF0ZTogU2F0LCA3IE9jdCAy MDIzIDAxOjQzOjQyICswMjAwClN1YmplY3Q6IFtQQVRDSCAwODYvNDM0XSBhdmNvZGVjL2ZmdjE6 IFN0b3JlIGFuZCByZXVzZSBzeC9zeQoKU2lnbmVkLW9mZi1ieTogTWljaGFlbCBOaWVkZXJtYXll ciA8bWljaGFlbEBuaWVkZXJtYXllci5jYz4KKGNoZXJyeSBwaWNrZWQgZnJvbSBjb21taXQgNzE1 MTA4MWUzMzQyNTAxMGE1M2M3NTczZTg0YjI3NGM2OGFkODA4NykKU2lnbmVkLW9mZi1ieTogTWlj aGFlbCBOaWVkZXJtYXllciA8bWljaGFlbEBuaWVkZXJtYXllci5jYz4KLS0tCiBsaWJhdmNvZGVj L2ZmdjEuYyAgICB8IDIgKysKIGxpYmF2Y29kZWMvZmZ2MS5oICAgIHwgMSArCiBsaWJhdmNvZGVj L2ZmdjFlbmMuYyB8IDQgKystLQogMyBmaWxlcyBjaGFuZ2VkLCA1IGluc2VydGlvbnMoKyksIDIg ZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvbGliYXZjb2RlYy9mZnYxLmMgYi9saWJhdmNvZGVj L2ZmdjEuYwppbmRleCAzMzNmYjNkNzliLi41NmEzNmU0NzlmIDEwMDY0NAotLS0gYS9saWJhdmNv ZGVjL2ZmdjEuYworKysgYi9saWJhdmNvZGVjL2ZmdjEuYwpAQCAtMTQ0LDYgKzE0NCw4IEBAIGF2 X2NvbGQgaW50IGZmX2ZmdjFfaW5pdF9zbGljZV9jb250ZXh0cyhGRlYxQ29udGV4dCAqZikKICAg ICAgICAgc2MtPnNsaWNlX2hlaWdodCA9IHN5ZSAtIHN5czsKICAgICAgICAgc2MtPnNsaWNlX3gg ICAgICA9IHN4czsKICAgICAgICAgc2MtPnNsaWNlX3kgICAgICA9IHN5czsKKyAgICAgICAgc2Mt PnN4ICAgICAgICAgICA9IHN4OworICAgICAgICBzYy0+c3kgICAgICAgICAgID0gc3k7CiAKICAg ICAgICAgc2MtPnNhbXBsZV9idWZmZXIgPSBhdl9tYWxsb2NfYXJyYXkoKGYtPndpZHRoICsgNiks IDMgKiBNQVhfUExBTkVTICoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgc2l6ZW9mKCpzYy0+c2FtcGxlX2J1ZmZlcikpOwpkaWZmIC0tZ2l0IGEvbGliYXZjb2Rl Yy9mZnYxLmggYi9saWJhdmNvZGVjL2ZmdjEuaAppbmRleCA5YWEwNDUyOTIyLi5hMzUxOTc5NjRl IDEwMDY0NAotLS0gYS9saWJhdmNvZGVjL2ZmdjEuaAorKysgYi9saWJhdmNvZGVjL2ZmdjEuaApA QCAtNzUsNiArNzUsNyBAQCB0eXBlZGVmIHN0cnVjdCBGRlYxU2xpY2VDb250ZXh0IHsKICAgICBp bnQgc2xpY2VfaGVpZ2h0OwogICAgIGludCBzbGljZV94OwogICAgIGludCBzbGljZV95OworICAg IGludCBzeCwgc3k7CiAKICAgICBpbnQgcnVuX2luZGV4OwogICAgIGludCBzbGljZV9jb2Rpbmdf bW9kZTsKZGlmZiAtLWdpdCBhL2xpYmF2Y29kZWMvZmZ2MWVuYy5jIGIvbGliYXZjb2RlYy9mZnYx ZW5jLmMKaW5kZXggYTIxNmZiMDRjNy4uMjY2ZWYxM2IyNCAxMDA2NDQKLS0tIGEvbGliYXZjb2Rl Yy9mZnYxZW5jLmMKKysrIGIvbGliYXZjb2RlYy9mZnYxZW5jLmMKQEAgLTkyMyw4ICs5MjMsOCBA QCBzdGF0aWMgdm9pZCBlbmNvZGVfc2xpY2VfaGVhZGVyKEZGVjFDb250ZXh0ICpmLCBGRlYxU2xp Y2VDb250ZXh0ICpzYykKICAgICBpbnQgajsKICAgICBtZW1zZXQoc3RhdGUsIDEyOCwgc2l6ZW9m KHN0YXRlKSk7CiAKLSAgICBwdXRfc3ltYm9sKGMsIHN0YXRlLCAoc2MtPnNsaWNlX3ggICAgICsx KSpmLT5udW1faF9zbGljZXMgLyBmLT53aWR0aCAgICwgMCk7Ci0gICAgcHV0X3N5bWJvbChjLCBz dGF0ZSwgKHNjLT5zbGljZV95ICAgICArMSkqZi0+bnVtX3Zfc2xpY2VzIC8gZi0+aGVpZ2h0ICAs IDApOworICAgIHB1dF9zeW1ib2woYywgc3RhdGUsIHNjLT5zeCwgMCk7CisgICAgcHV0X3N5bWJv bChjLCBzdGF0ZSwgc2MtPnN5LCAwKTsKICAgICBwdXRfc3ltYm9sKGMsIHN0YXRlLCAwLCAwKTsK ICAgICBwdXRfc3ltYm9sKGMsIHN0YXRlLCAwLCAwKTsKICAgICBmb3IgKGo9MDsgajxmLT5wbGFu ZV9jb3VudDsgaisrKSB7Ci0tIAoyLjQ5LjEKCgpGcm9tIDNmNzZhMzMzMTcyY2MyNTI3N2ZlMDg1 OWI0ODc3NDNhMmZiYWJkNjEgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCkZyb206IE1pY2hhZWwg TmllZGVybWF5ZXIgPG1pY2hhZWxAbmllZGVybWF5ZXIuY2M+CkRhdGU6IFR1ZSwgMSBPY3QgMjAy NCAyMjowNDo1OCArMDIwMApTdWJqZWN0OiBbUEFUQ0ggMDg3LzQzNF0gYXZjb2RlYy9mZnYxZW5j OiBDb3JyZWN0IGVycm9yIG1lc3NhZ2UgYWJvdXQKIHVuc3VwcG9ydGVkIHZlcnNpb24KClNwb25z b3JlZC1ieTogU292ZXJlaWduIFRlY2ggRnVuZApTaWduZWQtb2ZmLWJ5OiBNaWNoYWVsIE5pZWRl cm1heWVyIDxtaWNoYWVsQG5pZWRlcm1heWVyLmNjPgooY2hlcnJ5IHBpY2tlZCBmcm9tIGNvbW1p dCA1NTZjNzY3Nzg2ZTllM2MwNzJmNzY2NmQ2MGE2OGEzMWEzNDAwNDM4KQpTaWduZWQtb2ZmLWJ5 OiBNaWNoYWVsIE5pZWRlcm1heWVyIDxtaWNoYWVsQG5pZWRlcm1heWVyLmNjPgotLS0KIGxpYmF2 Y29kZWMvZmZ2MWVuYy5jIHwgMiArLQogMSBmaWxlIGNoYW5nZWQsIDEgaW5zZXJ0aW9uKCspLCAx IGRlbGV0aW9uKC0pCgpkaWZmIC0tZ2l0IGEvbGliYXZjb2RlYy9mZnYxZW5jLmMgYi9saWJhdmNv ZGVjL2ZmdjFlbmMuYwppbmRleCAyNjZlZjEzYjI0Li45NGQ5ODMwZTA3IDEwMDY0NAotLS0gYS9s aWJhdmNvZGVjL2ZmdjFlbmMuYworKysgYi9saWJhdmNvZGVjL2ZmdjFlbmMuYwpAQCAtNTU3LDcg KzU1Nyw3IEBAIHN0YXRpYyBhdl9jb2xkIGludCBlbmNvZGVfaW5pdChBVkNvZGVjQ29udGV4dCAq YXZjdHgpCiAgICAgICAgIHMtPnZlcnNpb24gPSBGRk1BWChzLT52ZXJzaW9uLCAzKTsKIAogICAg IGlmICgocy0+dmVyc2lvbiA9PSAyIHx8IHMtPnZlcnNpb24+MykgJiYgYXZjdHgtPnN0cmljdF9z dGRfY29tcGxpYW5jZSA+IEZGX0NPTVBMSUFOQ0VfRVhQRVJJTUVOVEFMKSB7Ci0gICAgICAgIGF2 X2xvZyhhdmN0eCwgQVZfTE9HX0VSUk9SLCAiVmVyc2lvbiAyIG5lZWRlZCBmb3IgcmVxdWVzdGVk IGZlYXR1cmVzIGJ1dCB2ZXJzaW9uIDIgaXMgZXhwZXJpbWVudGFsIGFuZCBub3QgZW5hYmxlZFxu Iik7CisgICAgICAgIGF2X2xvZyhhdmN0eCwgQVZfTE9HX0VSUk9SLCAiVmVyc2lvbiAyIG9yIDQg bmVlZGVkIGZvciByZXF1ZXN0ZWQgZmVhdHVyZXMgYnV0IHZlcnNpb24gMiBvciA0IGlzIGV4cGVy aW1lbnRhbCBhbmQgbm90IGVuYWJsZWRcbiIpOwogICAgICAgICByZXR1cm4gQVZFUlJPUl9JTlZB TElEREFUQTsKICAgICB9CiAKLS0gCjIuNDkuMQoKCkZyb20gYmE4OWM1ZDFlYmM2ZjQ1MDY4NDA1 YmE1NzhhODZhMzI1MDIwYzVmMyBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKRnJvbTogTWljaGFl bCBOaWVkZXJtYXllciA8bWljaGFlbEBuaWVkZXJtYXllci5jYz4KRGF0ZTogU3VuLCAyOCBKdWwg MjAyNCAyMDo1Mzo0OSArMDIwMApTdWJqZWN0OiBbUEFUQ0ggMDg4LzQzNF0gYXZmb3JtYXQvbW92 OiBBdm9pZCBvdmVyZmxvdyBpbiBkdHMKClRoaXMgYmFzaWNhbGx5IGlnbm9yZXMgdGhlIG92ZXJm bG93IHdpdGhvdXQgdW5kZWZpbmVkIGJlaGF2aW9yLCBhbHRlcm5hdGl2ZWx5IHdlIGNvdWxkIGRl dGVjdCBhbmQgZXJyb3Igb3V0CgpGaXhlczogc2lnbmVkIGludGVnZXIgb3ZlcmZsb3c6IDYzMTA1 OTY2ODM0NzAyNzU1ODQgKyA3NjYwNjIyOTY2MTU3MjEzNjk2IGNhbm5vdCBiZSByZXByZXNlbnRl ZCBpbiB0eXBlICdsb25nJwpGaXhlczogNzA0MzMvY2x1c3RlcmZ1enotdGVzdGNhc2UtbWluaW1p emVkLWZmbXBlZ19JT19ERU1VWEVSX2Z1enplci01NDgzMzQ3MjMzNTM4MDQ4CkZpeGVzOiAzNjk2 NjIyODQvY2x1c3RlcmZ1enotdGVzdGNhc2UtbWluaW1pemVkLW1lZGlhX21ldGFkYXRhX3BhcnNl cl9mdXp6ZXItNTMyNzM2ODc2MzY3MDUyOAoKRm91bmQtYnk6IGNvbnRpbnVvdXMgZnV6emluZyBw cm9jZXNzIGh0dHBzOi8vZ2l0aHViLmNvbS9nb29nbGUvb3NzLWZ1enovdHJlZS9tYXN0ZXIvcHJv amVjdHMvZmZtcGVnClNpZ25lZC1vZmYtYnk6IE1pY2hhZWwgTmllZGVybWF5ZXIgPG1pY2hhZWxA bmllZGVybWF5ZXIuY2M+CihjaGVycnkgcGlja2VkIGZyb20gY29tbWl0IDA1N2I4YzIwNjZkYTM1 NTQwNzI1NjU3NDRmNGYwMDQzNWNjMzM0MmIpClNpZ25lZC1vZmYtYnk6IE1pY2hhZWwgTmllZGVy bWF5ZXIgPG1pY2hhZWxAbmllZGVybWF5ZXIuY2M+Ci0tLQogbGliYXZmb3JtYXQvbW92LmMgfCA0 ICsrLS0KIDEgZmlsZSBjaGFuZ2VkLCAyIGluc2VydGlvbnMoKyksIDIgZGVsZXRpb25zKC0pCgpk aWZmIC0tZ2l0IGEvbGliYXZmb3JtYXQvbW92LmMgYi9saWJhdmZvcm1hdC9tb3YuYwppbmRleCA5 YTlhMjQxNGU3Li5mZWUxYTlhZDMyIDEwMDY0NAotLS0gYS9saWJhdmZvcm1hdC9tb3YuYworKysg Yi9saWJhdmZvcm1hdC9tb3YuYwpAQCAtMzUzNywxMCArMzUzNywxMCBAQCBzdGF0aWMgaW50IG1v dl9yZWFkX3N0dHMoTU9WQ29udGV4dCAqYywgQVZJT0NvbnRleHQgKnBiLCBNT1ZBdG9tIGF0b20p CiAgICAgICAgICAgICBzYy0+c3R0c19kYXRhW2ldLmR1cmF0aW9uID0gMTsKICAgICAgICAgICAg IGNvcnJlY3RlZF9kdHMgKz0gKGRlbHRhX21hZ25pdHVkZSA8IDAgPyAoaW50NjRfdClkZWx0YV9t YWduaXR1ZGUgOiAxKSAqIHNhbXBsZV9jb3VudDsKICAgICAgICAgfSBlbHNlIHsKLSAgICAgICAg ICAgIGNvcnJlY3RlZF9kdHMgKz0gc2FtcGxlX2R1cmF0aW9uICogKGludDY0X3Qpc2FtcGxlX2Nv dW50OworICAgICAgICAgICAgY29ycmVjdGVkX2R0cyArPSBzYW1wbGVfZHVyYXRpb24gKiAodWlu dDY0X3Qpc2FtcGxlX2NvdW50OwogICAgICAgICB9CiAKLSAgICAgICAgY3VycmVudF9kdHMgKz0g c2MtPnN0dHNfZGF0YVtpXS5kdXJhdGlvbiAqIChpbnQ2NF90KXNhbXBsZV9jb3VudDsKKyAgICAg ICAgY3VycmVudF9kdHMgKz0gc2MtPnN0dHNfZGF0YVtpXS5kdXJhdGlvbiAqICh1aW50NjRfdClz YW1wbGVfY291bnQ7CiAKICAgICAgICAgaWYgKGN1cnJlbnRfZHRzID4gY29ycmVjdGVkX2R0cykg ewogICAgICAgICAgICAgaW50NjRfdCBkcmlmdCA9IChjdXJyZW50X2R0cyAtIGNvcnJlY3RlZF9k dHMpL0ZGTUFYKHNhbXBsZV9jb3VudCwgMSk7Ci0tIAoyLjQ5LjEKCgpGcm9tIDYzMTk3NjEwOGNh ODE1ZDkyMWYxM2RmYzA1NmU2MjA4MzVhZjcwZWYgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCkZy b206IE1pY2hhZWwgTmllZGVybWF5ZXIgPG1pY2hhZWxAbmllZGVybWF5ZXIuY2M+CkRhdGU6IFN1 biwgMjggSnVsIDIwMjQgMjI6MDg6MjMgKzAyMDAKU3ViamVjdDogW1BBVENIIDA4OS80MzRdIGF2 Zm9ybWF0L21hdHJvc2thZGVjOiBDaGVjayBkZXNjX2J5dGVzIHNvIGJpdHMgZml0IGluCiA2NGJp dAoKTGlrZWx5IGEgdGlnaHRlciBjaGVjayBjYW4gYmUgZG9uZQoKRml4ZXM6IHNpZ25lZCBpbnRl Z2VyIG92ZXJmbG93OiAzMzA1NjA2ODA0MTU0MzcwNDQyICogOCBjYW5ub3QgYmUgcmVwcmVzZW50 ZWQgaW4gdHlwZSAnbG9uZycKRml4ZXM6IDcwNDQ5L2NsdXN0ZXJmdXp6LXRlc3RjYXNlLW1pbmlt aXplZC1mZm1wZWdfZGVtX1dFQk1fREFTSF9NQU5JRkVTVF9mdXp6ZXItNDc3MTE2NjAwNzkxODU5 MgoKRm91bmQtYnk6IGNvbnRpbnVvdXMgZnV6emluZyBwcm9jZXNzIGh0dHBzOi8vZ2l0aHViLmNv bS9nb29nbGUvb3NzLWZ1enovdHJlZS9tYXN0ZXIvcHJvamVjdHMvZmZtcGVnClNpZ25lZC1vZmYt Ynk6IE1pY2hhZWwgTmllZGVybWF5ZXIgPG1pY2hhZWxAbmllZGVybWF5ZXIuY2M+CihjaGVycnkg cGlja2VkIGZyb20gY29tbWl0IGM0MTIyNDA2ZjZkMjcyNmFlYTgzMzQ4MGEyYThlMzQ1ODMzZGQ4 ODEpClNpZ25lZC1vZmYtYnk6IE1pY2hhZWwgTmllZGVybWF5ZXIgPG1pY2hhZWxAbmllZGVybWF5 ZXIuY2M+Ci0tLQogbGliYXZmb3JtYXQvbWF0cm9za2FkZWMuYyB8IDIgKy0KIDEgZmlsZSBjaGFu Z2VkLCAxIGluc2VydGlvbigrKSwgMSBkZWxldGlvbigtKQoKZGlmZiAtLWdpdCBhL2xpYmF2Zm9y bWF0L21hdHJvc2thZGVjLmMgYi9saWJhdmZvcm1hdC9tYXRyb3NrYWRlYy5jCmluZGV4IGEyOTQ3 Yzk3ZTcuLjBlMTUwZjkxMzggMTAwNjQ0Ci0tLSBhL2xpYmF2Zm9ybWF0L21hdHJvc2thZGVjLmMK KysrIGIvbGliYXZmb3JtYXQvbWF0cm9za2FkZWMuYwpAQCAtNDYzMyw3ICs0NjMzLDcgQEAgc3Rh dGljIGludDY0X3Qgd2VibV9kYXNoX21hbmlmZXN0X2NvbXB1dGVfYmFuZHdpZHRoKEFWRm9ybWF0 Q29udGV4dCAqcywgaW50NjRfdAogICAgICAgICAgICAgICAgIGludDY0X3QgZGVzY19ieXRlcyA9 IGRlc2NfZW5kLmVuZF9vZmZzZXQgLSBkZXNjX2JlZy5zdGFydF9vZmZzZXQ7CiAgICAgICAgICAg ICAgICAgaW50NjRfdCBkZXNjX25zID0gZGVzY19lbmQuZW5kX3RpbWVfbnMgLSBkZXNjX2JlZy5z dGFydF90aW1lX25zOwogICAgICAgICAgICAgICAgIGRvdWJsZSBkZXNjX3NlYywgY2FsY19iaXRz X3Blcl9zZWNvbmQsIHBlcmNlbnQsIG1vZF9iaXRzX3Blcl9zZWNvbmQ7Ci0gICAgICAgICAgICAg ICAgaWYgKGRlc2NfYnl0ZXMgPD0gMCkKKyAgICAgICAgICAgICAgICBpZiAoZGVzY19ieXRlcyA8 PSAwIHx8IGRlc2NfYnl0ZXMgPiBJTlQ2NF9NQVgvOCkKICAgICAgICAgICAgICAgICAgICAgcmV0 dXJuIC0xOwogCiAgICAgICAgICAgICAgICAgZGVzY19zZWMgPSBkZXNjX25zIC8gbmFub19zZWNv bmRzX3Blcl9zZWNvbmQ7Ci0tIAoyLjQ5LjEKCgpGcm9tIGQ4NzBmZWJmODhjNzQ5ZTg4ZmNjOWIy Mjc2ZTlhMTYzMDVjNDg2YmQgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCkZyb206IE1pY2hhZWwg TmllZGVybWF5ZXIgPG1pY2hhZWxAbmllZGVybWF5ZXIuY2M+CkRhdGU6IFR1ZSwgMSBPY3QgMjAy NCAyMjowNjo0MCArMDIwMApTdWJqZWN0OiBbUEFUQ0ggMDkwLzQzNF0gYXZjb2RlYy9mZnYxZW5j OiBQcmV2ZW50IGdlbmVyYXRpb24gb2YgZmlsZXMgd2l0aAogYnJva2VuIHNsaWNlcwoKRml4ZXM6 IFRpY2tldDU1NDgKClNwb25zb3JlZC1ieTogU292ZXJlaWduIFRlY2ggRnVuZApTaWduZWQtb2Zm LWJ5OiBNaWNoYWVsIE5pZWRlcm1heWVyIDxtaWNoYWVsQG5pZWRlcm1heWVyLmNjPgooY2hlcnJ5 IHBpY2tlZCBmcm9tIGNvbW1pdCBiN2ZmNjZhMzU4MDQyNzViMjVjMTE3NmNhZDU2MDU0MDc4NWU4 NzUwKQpTaWduZWQtb2ZmLWJ5OiBNaWNoYWVsIE5pZWRlcm1heWVyIDxtaWNoYWVsQG5pZWRlcm1h eWVyLmNjPgotLS0KIGxpYmF2Y29kZWMvZmZ2MS5jICAgIHwgNyArKysrKysrCiBsaWJhdmNvZGVj L2ZmdjEuaCAgICB8IDEgKwogbGliYXZjb2RlYy9mZnYxZW5jLmMgfCA0ICsrKysKIDMgZmlsZXMg Y2hhbmdlZCwgMTIgaW5zZXJ0aW9ucygrKQoKZGlmZiAtLWdpdCBhL2xpYmF2Y29kZWMvZmZ2MS5j IGIvbGliYXZjb2RlYy9mZnYxLmMKaW5kZXggNTZhMzZlNDc5Zi4uMmI4NTY0YzJmNSAxMDA2NDQK LS0tIGEvbGliYXZjb2RlYy9mZnYxLmMKKysrIGIvbGliYXZjb2RlYy9mZnYxLmMKQEAgLTExOSw2 ICsxMTksMTMgQEAgYXZfY29sZCBpbnQgZmZfZmZ2MV9pbml0X3NsaWNlc19zdGF0ZShGRlYxQ29u dGV4dCAqZikKICAgICByZXR1cm4gMDsKIH0KIAoraW50IGZmX25lZWRfbmV3X3NsaWNlcyhpbnQg d2lkdGgsIGludCBudW1faF9zbGljZXMsIGludCBjaHJvbWFfc2hpZnQpIHsKKyAgICBpbnQgbXB3 ID0gMTw8Y2hyb21hX3NoaWZ0OworICAgIGludCBpID0gd2lkdGggKiAoaW50NjRfdCkobnVtX2hf c2xpY2VzIC0gMSkgLyBudW1faF9zbGljZXM7CisKKyAgICByZXR1cm4gd2lkdGggJSBtcHcgJiYg KHdpZHRoIC0gaSkgJSBtcHcgPT0gMDsKK30KKwogYXZfY29sZCBpbnQgZmZfZmZ2MV9pbml0X3Ns aWNlX2NvbnRleHRzKEZGVjFDb250ZXh0ICpmKQogewogICAgIGludCBtYXhfc2xpY2VfY291bnQg PSBmLT5udW1faF9zbGljZXMgKiBmLT5udW1fdl9zbGljZXM7CmRpZmYgLS1naXQgYS9saWJhdmNv ZGVjL2ZmdjEuaCBiL2xpYmF2Y29kZWMvZmZ2MS5oCmluZGV4IGEzNTE5Nzk2NGUuLmUxOWMwZGYw MTQgMTAwNjQ0Ci0tLSBhL2xpYmF2Y29kZWMvZmZ2MS5oCisrKyBiL2xpYmF2Y29kZWMvZmZ2MS5o CkBAIC0xNzEsNiArMTcxLDcgQEAgUGxhbmVDb250ZXh0ICpmZl9mZnYxX3BsYW5lc19hbGxvYyh2 b2lkKTsKIGludCBmZl9mZnYxX2FsbG9jYXRlX2luaXRpYWxfc3RhdGVzKEZGVjFDb250ZXh0ICpm KTsKIHZvaWQgZmZfZmZ2MV9jbGVhcl9zbGljZV9zdGF0ZShjb25zdCBGRlYxQ29udGV4dCAqZiwg RkZWMVNsaWNlQ29udGV4dCAqc2MpOwogaW50IGZmX2ZmdjFfY2xvc2UoQVZDb2RlY0NvbnRleHQg KmF2Y3R4KTsKK2ludCBmZl9uZWVkX25ld19zbGljZXMoaW50IHdpZHRoLCBpbnQgbnVtX2hfc2xp Y2VzLCBpbnQgY2hyb21hX3NoaWZ0KTsKIAogc3RhdGljIGF2X2Fsd2F5c19pbmxpbmUgaW50IGZv bGQoaW50IGRpZmYsIGludCBiaXRzKQogewpkaWZmIC0tZ2l0IGEvbGliYXZjb2RlYy9mZnYxZW5j LmMgYi9saWJhdmNvZGVjL2ZmdjFlbmMuYwppbmRleCA5NGQ5ODMwZTA3Li41NmFmN2RjNDI3IDEw MDY0NAotLS0gYS9saWJhdmNvZGVjL2ZmdjFlbmMuYworKysgYi9saWJhdmNvZGVjL2ZmdjFlbmMu YwpAQCAtODY1LDYgKzg2NSwxMCBAQCBzdGF0aWMgYXZfY29sZCBpbnQgZW5jb2RlX2luaXQoQVZD b2RlY0NvbnRleHQgKmF2Y3R4KQogICAgICAgICAgICAgICAgICAgICBjb250aW51ZTsKICAgICAg ICAgICAgICAgICBpZiAobWF4dyAqIG1heGggKiAoaW50NjRfdCkocy0+Yml0c19wZXJfcmF3X3Nh bXBsZSsxKSAqIHBsYW5lX2NvdW50ID4gODw8MjQpCiAgICAgICAgICAgICAgICAgICAgIGNvbnRp bnVlOworICAgICAgICAgICAgICAgIGlmIChzLT52ZXJzaW9uIDwgNCkKKyAgICAgICAgICAgICAg ICAgICAgaWYgKCAgZmZfbmVlZF9uZXdfc2xpY2VzKGF2Y3R4LT53aWR0aCAsIHMtPm51bV9oX3Ns aWNlcywgcy0+Y2hyb21hX2hfc2hpZnQpCisgICAgICAgICAgICAgICAgICAgICAgICB8fGZmX25l ZWRfbmV3X3NsaWNlcyhhdmN0eC0+aGVpZ2h0LCBzLT5udW1fdl9zbGljZXMsIHMtPmNocm9tYV92 X3NoaWZ0KSkKKyAgICAgICAgICAgICAgICAgICAgICAgIGNvbnRpbnVlOwogICAgICAgICAgICAg ICAgIGlmIChhdmN0eC0+c2xpY2VzID09IHMtPm51bV9oX3NsaWNlcyAqIHMtPm51bV92X3NsaWNl cyAmJiBhdmN0eC0+c2xpY2VzIDw9IE1BWF9TTElDRVMgfHwgIWF2Y3R4LT5zbGljZXMpCiAgICAg ICAgICAgICAgICAgICAgIGdvdG8gc2xpY2VzX29rOwogICAgICAgICAgICAgfQotLSAKMi40OS4x CgoKRnJvbSAyYTM5ZWViOGRlYjNkNDZjNzVkZWE4MjUwZGY4YTcwZDI2MzBkZDMyIE1vbiBTZXAg MTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBNaWNoYWVsIE5pZWRlcm1heWVyIDxtaWNoYWVsQG5pZWRl cm1heWVyLmNjPgpEYXRlOiBUaHUsIDEwIE9jdCAyMDI0IDE5OjU3OjA3ICswMjAwClN1YmplY3Q6 IFtQQVRDSCAwOTEvNDM0XSBhdmNvZGVjL2ZmdjFlbmM6IE1vdmUgc2xpY2UgdGVybWluYXRpb24g aW50byB0aHJlYWRzCgpTcG9uc29yZWQtYnk6IFNvdmVyZWlnbiBUZWNoIEZ1bmQKU2lnbmVkLW9m Zi1ieTogTWljaGFlbCBOaWVkZXJtYXllciA8bWljaGFlbEBuaWVkZXJtYXllci5jYz4KKGNoZXJy eSBwaWNrZWQgZnJvbSBjb21taXQgOGU1MmIxNTI1ODMxOTg3YmNjMzg5Yzg5Y2NmNTNhNzZlNzE3 N2ZlMSkKU2lnbmVkLW9mZi1ieTogTWljaGFlbCBOaWVkZXJtYXllciA8bWljaGFlbEBuaWVkZXJt YXllci5jYz4KLS0tCiBsaWJhdmNvZGVjL2ZmdjFlbmMuYyB8IDE2ICsrKysrKysrLS0tLS0tLS0K IDEgZmlsZSBjaGFuZ2VkLCA4IGluc2VydGlvbnMoKyksIDggZGVsZXRpb25zKC0pCgpkaWZmIC0t Z2l0IGEvbGliYXZjb2RlYy9mZnYxZW5jLmMgYi9saWJhdmNvZGVjL2ZmdjFlbmMuYwppbmRleCA1 NmFmN2RjNDI3Li45NmJlYjg2Y2ZhIDEwMDY0NAotLS0gYS9saWJhdmNvZGVjL2ZmdjFlbmMuYwor KysgYi9saWJhdmNvZGVjL2ZmdjFlbmMuYwpAQCAtMTA5Nyw2ICsxMDk3LDEzIEBAIHJldHJ5Ogog ICAgICAgICByZXQgPSBlbmNvZGVfcmdiX2ZyYW1lKGYsIHNjLCBwbGFuZXMsIHdpZHRoLCBoZWln aHQsIHAtPmxpbmVzaXplKTsKICAgICB9CiAKKyAgICBpZiAoZi0+YWMgIT0gQUNfR09MT01CX1JJ Q0UpIHsKKyAgICAgICAgc2MtPmFjX2J5dGVfY291bnQgPSBmZl9yYWNfdGVybWluYXRlKCZzYy0+ YywgMSk7CisgICAgfSBlbHNlIHsKKyAgICAgICAgZmx1c2hfcHV0X2JpdHMoJnNjLT5wYik7IC8v IEZJWE1FOiBuaWNlciBwYWRkaW5nCisgICAgICAgIHNjLT5hY19ieXRlX2NvdW50ICs9IHB1dF9i eXRlc19vdXRwdXQoJnNjLT5wYik7CisgICAgfQorCiAgICAgaWYgKHJldCA8IDApIHsKICAgICAg ICAgYXZfYXNzZXJ0MChzYy0+c2xpY2VfY29kaW5nX21vZGUgPT0gMCk7CiAgICAgICAgIGlmIChm LT52ZXJzaW9uIDwgNCB8fCAhZi0+YWMpIHsKQEAgLTEyMjEsMTQgKzEyMjgsNyBAQCBzdGF0aWMg aW50IGVuY29kZV9mcmFtZShBVkNvZGVjQ29udGV4dCAqYXZjdHgsIEFWUGFja2V0ICpwa3QsCiAg ICAgYnVmX3AgPSBwa3QtPmRhdGE7CiAgICAgZm9yIChpID0gMDsgaSA8IGYtPnNsaWNlX2NvdW50 OyBpKyspIHsKICAgICAgICAgRkZWMVNsaWNlQ29udGV4dCAqc2MgPSAmZi0+c2xpY2VzW2ldOwot ICAgICAgICBpbnQgYnl0ZXM7Ci0KLSAgICAgICAgaWYgKGYtPmFjICE9IEFDX0dPTE9NQl9SSUNF KSB7Ci0gICAgICAgICAgICBieXRlcyA9IGZmX3JhY190ZXJtaW5hdGUoJnNjLT5jLCAxKTsKLSAg ICAgICAgfSBlbHNlIHsKLSAgICAgICAgICAgIGZsdXNoX3B1dF9iaXRzKCZzYy0+cGIpOyAvLyBG SVhNRTogbmljZXIgcGFkZGluZwotICAgICAgICAgICAgYnl0ZXMgPSBzYy0+YWNfYnl0ZV9jb3Vu dCArIHB1dF9ieXRlc19vdXRwdXQoJnNjLT5wYik7Ci0gICAgICAgIH0KKyAgICAgICAgaW50IGJ5 dGVzID0gc2MtPmFjX2J5dGVfY291bnQ7CiAgICAgICAgIGlmIChpID4gMCB8fCBmLT52ZXJzaW9u ID4gMikgewogICAgICAgICAgICAgYXZfYXNzZXJ0MChieXRlcyA8IHBrdC0+c2l6ZSAvIGYtPnNs aWNlX2NvdW50KTsKICAgICAgICAgICAgIG1lbW1vdmUoYnVmX3AsIHNjLT5jLmJ5dGVzdHJlYW1f c3RhcnQsIGJ5dGVzKTsKLS0gCjIuNDkuMQoKCkZyb20gMjZmYzRiZjQyYzE5YmNmMTc3MjUxNmZj MWE3NDJmYmY2ZTQyNmVhNCBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKRnJvbTogTWljaGFlbCBO aWVkZXJtYXllciA8bWljaGFlbEBuaWVkZXJtYXllci5jYz4KRGF0ZTogVGh1LCAxMCBPY3QgMjAy NCAyMDozOToyMyArMDIwMApTdWJqZWN0OiBbUEFUQ0ggMDkyLzQzNF0gYXZjb2RlYy9mZnYxZGVj OiBGaXggZW5kIGNvbXB1dGF0aW9uIHdpdGggZWM9MgoKU3BvbnNvcmVkLWJ5OiBTb3ZlcmVpZ24g VGVjaCBGdW5kClNpZ25lZC1vZmYtYnk6IE1pY2hhZWwgTmllZGVybWF5ZXIgPG1pY2hhZWxAbmll ZGVybWF5ZXIuY2M+CihjaGVycnkgcGlja2VkIGZyb20gY29tbWl0IDEwZTVhZjE1YmYyMjBkOWRh MTI4Y2ExMmQyZDQ3NGZmNmFiMDA3NmUpClNpZ25lZC1vZmYtYnk6IE1pY2hhZWwgTmllZGVybWF5 ZXIgPG1pY2hhZWxAbmllZGVybWF5ZXIuY2M+Ci0tLQogbGliYXZjb2RlYy9mZnYxZGVjLmMgfCAy ICstCiAxIGZpbGUgY2hhbmdlZCwgMSBpbnNlcnRpb24oKyksIDEgZGVsZXRpb24oLSkKCmRpZmYg LS1naXQgYS9saWJhdmNvZGVjL2ZmdjFkZWMuYyBiL2xpYmF2Y29kZWMvZmZ2MWRlYy5jCmluZGV4 IDQxNWM2NmJlNjMuLjQ0YjIwODVmNzggMTAwNjQ0Ci0tLSBhL2xpYmF2Y29kZWMvZmZ2MWRlYy5j CisrKyBiL2xpYmF2Y29kZWMvZmZ2MWRlYy5jCkBAIC0zNDcsNyArMzQ3LDcgQEAgc3RhdGljIGlu dCBkZWNvZGVfc2xpY2UoQVZDb2RlY0NvbnRleHQgKmMsIHZvaWQgKmFyZykKICAgICBpZiAoZi0+ YWMgIT0gQUNfR09MT01CX1JJQ0UgJiYgZi0+dmVyc2lvbiA+IDIpIHsKICAgICAgICAgaW50IHY7 CiAgICAgICAgIGdldF9yYWMoJnNjLT5jLCAodWludDhfdFtdKSB7IDEyOSB9KTsKLSAgICAgICAg diA9IHNjLT5jLmJ5dGVzdHJlYW1fZW5kIC0gc2MtPmMuYnl0ZXN0cmVhbSAtIDIgLSA1KmYtPmVj OworICAgICAgICB2ID0gc2MtPmMuYnl0ZXN0cmVhbV9lbmQgLSBzYy0+Yy5ieXRlc3RyZWFtIC0g MiAtIDUqISFmLT5lYzsKICAgICAgICAgaWYgKHYpIHsKICAgICAgICAgICAgIGF2X2xvZyhmLT5h dmN0eCwgQVZfTE9HX0VSUk9SLCAiYnl0ZXN0cmVhbSBlbmQgbWlzbWF0Y2hpbmcgYnkgJWRcbiIs IHYpOwogICAgICAgICAgICAgc2xpY2Vfc2V0X2RhbWFnZWQoZiwgc2MpOwotLSAKMi40OS4xCgoK RnJvbSA0Y2EzZjUxMDJmNWQ5OWIxZDUyYjkwOWIzZDVkOWIyZDMzYzg0ZDZiIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBNaWNoYWVsIE5pZWRlcm1heWVyIDxtaWNoYWVsQG5pZWRlcm1h eWVyLmNjPgpEYXRlOiBUaHUsIDEwIE9jdCAyMDI0IDIyOjE0OjQxICswMjAwClN1YmplY3Q6IFtQ QVRDSCAwOTMvNDM0XSBhdmNvZGVjL2ZmdjFlbmM6IEZpeCBSQ1Qgd2l0aCBSR0I2NAoKU3BvbnNv cmVkLWJ5OiBTb3ZlcmVpZ24gVGVjaCBGdW5kClNpZ25lZC1vZmYtYnk6IE1pY2hhZWwgTmllZGVy bWF5ZXIgPG1pY2hhZWxAbmllZGVybWF5ZXIuY2M+CihjaGVycnkgcGlja2VkIGZyb20gY29tbWl0 IGMxZWRlYzNhMjQzMDZmOGZhMzFiZWJlNjc2NDQxODM3NDFjYmYwZTApClNpZ25lZC1vZmYtYnk6 IE1pY2hhZWwgTmllZGVybWF5ZXIgPG1pY2hhZWxAbmllZGVybWF5ZXIuY2M+Ci0tLQogbGliYXZj b2RlYy9mZnYxZW5jLmMgfCA4ICsrKysrKysrCiAxIGZpbGUgY2hhbmdlZCwgOCBpbnNlcnRpb25z KCspCgpkaWZmIC0tZ2l0IGEvbGliYXZjb2RlYy9mZnYxZW5jLmMgYi9saWJhdmNvZGVjL2ZmdjFl bmMuYwppbmRleCA5NmJlYjg2Y2ZhLi4zZThmNmVlNDQ1IDEwMDY0NAotLS0gYS9saWJhdmNvZGVj L2ZmdjFlbmMuYworKysgYi9saWJhdmNvZGVjL2ZmdjFlbmMuYwpAQCAtOTgwLDYgKzk4MCw5IEBA IHN0YXRpYyB2b2lkIGNob29zZV9yY3RfcGFyYW1zKGNvbnN0IEZGVjFDb250ZXh0ICpmLCBGRlYx U2xpY2VDb250ZXh0ICpzYywKICAgICBpbnQgeCwgeSwgaSwgcCwgYmVzdDsKICAgICBpbnQxNl90 ICpzYW1wbGVbM107CiAgICAgaW50IGxiZCA9IGYtPmJpdHNfcGVyX3Jhd19zYW1wbGUgPD0gODsK KyAgICBpbnQgcGFja2VkID0gIXNyY1sxXTsKKyAgICBpbnQgdHJhbnNwYXJlbmN5ID0gZi0+dHJh bnNwYXJlbmN5OworICAgIGludCBwYWNrZWRfc2l6ZSA9ICgzICsgdHJhbnNwYXJlbmN5KSoyOwog CiAgICAgZm9yICh5ID0gMDsgeSA8IGg7IHkrKykgewogICAgICAgICBpbnQgbGFzdHI9MCwgbGFz dGc9MCwgbGFzdGI9MDsKQEAgLTk5NCw2ICs5OTcsMTEgQEAgc3RhdGljIHZvaWQgY2hvb3NlX3Jj dF9wYXJhbXMoY29uc3QgRkZWMUNvbnRleHQgKmYsIEZGVjFTbGljZUNvbnRleHQgKnNjLAogICAg ICAgICAgICAgICAgIGIgPSAgdiAgICAgICAgJiAweEZGOwogICAgICAgICAgICAgICAgIGcgPSAo diA+PiAgOCkgJiAweEZGOwogICAgICAgICAgICAgICAgIHIgPSAodiA+PiAxNikgJiAweEZGOwor ICAgICAgICAgICAgfSBlbHNlIGlmIChwYWNrZWQpIHsKKyAgICAgICAgICAgICAgICBjb25zdCB1 aW50MTZfdCAqcCA9ICgoY29uc3QgdWludDE2X3QqKShzcmNbMF0gKyB4KnBhY2tlZF9zaXplICsg c3RyaWRlWzBdKnkpKTsKKyAgICAgICAgICAgICAgICByID0gcFswXTsKKyAgICAgICAgICAgICAg ICBnID0gcFsxXTsKKyAgICAgICAgICAgICAgICBiID0gcFsyXTsKICAgICAgICAgICAgIH0gZWxz ZSB7CiAgICAgICAgICAgICAgICAgYiA9ICooKGNvbnN0IHVpbnQxNl90Kikoc3JjWzBdICsgeCoy ICsgc3RyaWRlWzBdKnkpKTsKICAgICAgICAgICAgICAgICBnID0gKigoY29uc3QgdWludDE2X3Qq KShzcmNbMV0gKyB4KjIgKyBzdHJpZGVbMV0qeSkpOwotLSAKMi40OS4xCgoKRnJvbSA3MDQzZWY2 ODI4NTQ4YzY0YjhlNzViYWExZjZkOWNlNmZhMDUyYTcyIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAw MQpGcm9tOiBNaWNoYWVsIE5pZWRlcm1heWVyIDxtaWNoYWVsQG5pZWRlcm1heWVyLmNjPgpEYXRl OiBUaHUsIDMgT2N0IDIwMjQgMDE6NDk6MDkgKzAyMDAKU3ViamVjdDogW1BBVENIIDA5NC80MzRd IGF2Y29kZWMvZmZ2MTogUkNUIGlzIG9ubHkgcG9zc2libGUgd2l0aCBSR0IKClNwb25zb3JlZC1i eTogU292ZXJlaWduIFRlY2ggRnVuZApTaWduZWQtb2ZmLWJ5OiBNaWNoYWVsIE5pZWRlcm1heWVy IDxtaWNoYWVsQG5pZWRlcm1heWVyLmNjPgooY2hlcnJ5IHBpY2tlZCBmcm9tIGNvbW1pdCAyNTQy ZTkyOTZjNzY1MjQ0OTRhMmQxN2E0NDIzZDc1NjU2MGI1MjczKQpTaWduZWQtb2ZmLWJ5OiBNaWNo YWVsIE5pZWRlcm1heWVyIDxtaWNoYWVsQG5pZWRlcm1heWVyLmNjPgotLS0KIGxpYmF2Y29kZWMv ZmZ2MWRlYy5jIHwgMiArLQogbGliYXZjb2RlYy9mZnYxZW5jLmMgfCA0ICsrLS0KIDIgZmlsZXMg Y2hhbmdlZCwgMyBpbnNlcnRpb25zKCspLCAzIGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL2xp YmF2Y29kZWMvZmZ2MWRlYy5jIGIvbGliYXZjb2RlYy9mZnYxZGVjLmMKaW5kZXggNDRiMjA4NWY3 OC4uNzkzNzQ2NThlYyAxMDA2NDQKLS0tIGEvbGliYXZjb2RlYy9mZnYxZGVjLmMKKysrIGIvbGli YXZjb2RlYy9mZnYxZGVjLmMKQEAgLTI0MSw3ICsyNDEsNyBAQCBzdGF0aWMgaW50IGRlY29kZV9z bGljZV9oZWFkZXIoY29uc3QgRkZWMUNvbnRleHQgKmYsCiAgICAgaWYgKGYtPnZlcnNpb24gPiAz KSB7CiAgICAgICAgIHNjLT5zbGljZV9yZXNldF9jb250ZXh0cyA9IGdldF9yYWMoYywgc3RhdGUp OwogICAgICAgICBzYy0+c2xpY2VfY29kaW5nX21vZGUgPSBnZXRfc3ltYm9sKGMsIHN0YXRlLCAw KTsKLSAgICAgICAgaWYgKHNjLT5zbGljZV9jb2RpbmdfbW9kZSAhPSAxKSB7CisgICAgICAgIGlm IChzYy0+c2xpY2VfY29kaW5nX21vZGUgIT0gMSAmJiBmLT5jb2xvcnNwYWNlID09IDEpIHsKICAg ICAgICAgICAgIHNjLT5zbGljZV9yY3RfYnlfY29lZiA9IGdldF9zeW1ib2woYywgc3RhdGUsIDAp OwogICAgICAgICAgICAgc2MtPnNsaWNlX3JjdF9yeV9jb2VmID0gZ2V0X3N5bWJvbChjLCBzdGF0 ZSwgMCk7CiAgICAgICAgICAgICBpZiAoKHVpbnQ2NF90KXNjLT5zbGljZV9yY3RfYnlfY29lZiAr ICh1aW50NjRfdClzYy0+c2xpY2VfcmN0X3J5X2NvZWYgPiA0KSB7CmRpZmYgLS1naXQgYS9saWJh dmNvZGVjL2ZmdjFlbmMuYyBiL2xpYmF2Y29kZWMvZmZ2MWVuYy5jCmluZGV4IDNlOGY2ZWU0NDUu LjhlNDM2MzU4ZWQgMTAwNjQ0Ci0tLSBhL2xpYmF2Y29kZWMvZmZ2MWVuYy5jCisrKyBiL2xpYmF2 Y29kZWMvZmZ2MWVuYy5jCkBAIC05NDYsNyArOTQ2LDcgQEAgc3RhdGljIHZvaWQgZW5jb2RlX3Ns aWNlX2hlYWRlcihGRlYxQ29udGV4dCAqZiwgRkZWMVNsaWNlQ29udGV4dCAqc2MpCiAgICAgICAg IGlmIChzYy0+c2xpY2VfY29kaW5nX21vZGUgPT0gMSkKICAgICAgICAgICAgIGZmX2ZmdjFfY2xl YXJfc2xpY2Vfc3RhdGUoZiwgc2MpOwogICAgICAgICBwdXRfc3ltYm9sKGMsIHN0YXRlLCBzYy0+ c2xpY2VfY29kaW5nX21vZGUsIDApOwotICAgICAgICBpZiAoc2MtPnNsaWNlX2NvZGluZ19tb2Rl ICE9IDEpIHsKKyAgICAgICAgaWYgKHNjLT5zbGljZV9jb2RpbmdfbW9kZSAhPSAxICYmIGYtPmNv bG9yc3BhY2UgPT0gMSkgewogICAgICAgICAgICAgcHV0X3N5bWJvbChjLCBzdGF0ZSwgc2MtPnNs aWNlX3JjdF9ieV9jb2VmLCAwKTsKICAgICAgICAgICAgIHB1dF9zeW1ib2woYywgc3RhdGUsIHNj LT5zbGljZV9yY3RfcnlfY29lZiwgMCk7CiAgICAgICAgIH0KQEAgLTEwNjIsNyArMTA2Miw3IEBA IHN0YXRpYyBpbnQgZW5jb2RlX3NsaWNlKEFWQ29kZWNDb250ZXh0ICpjLCB2b2lkICphcmcpCiAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHAtPmRhdGFbM10gPyBwLT5kYXRhWzNdICsg cHMqeCArIHkqcC0+bGluZXNpemVbM10gOiBOVUxMfTsKIAogICAgIHNjLT5zbGljZV9jb2Rpbmdf bW9kZSA9IDA7Ci0gICAgaWYgKGYtPnZlcnNpb24gPiAzKSB7CisgICAgaWYgKGYtPnZlcnNpb24g PiAzICYmIGYtPmNvbG9yc3BhY2UgPT0gMSkgewogICAgICAgICBjaG9vc2VfcmN0X3BhcmFtcyhm LCBzYywgcGxhbmVzLCBwLT5saW5lc2l6ZSwgd2lkdGgsIGhlaWdodCk7CiAgICAgfSBlbHNlIHsK ICAgICAgICAgc2MtPnNsaWNlX3JjdF9ieV9jb2VmID0gMTsKLS0gCjIuNDkuMQoKCkZyb20gOWY4 YmQ1NmU0ZjU3MTE1ZWYyNjUwOTc0ZmZlNGQ3ZDk5Nzc4OGIxYiBNb24gU2VwIDE3IDAwOjAwOjAw IDIwMDEKRnJvbTogTWljaGFlbCBOaWVkZXJtYXllciA8bWljaGFlbEBuaWVkZXJtYXllci5jYz4K RGF0ZTogVHVlLCAxNSBPY3QgMjAyNCAyMjozOTo1OCArMDIwMApTdWJqZWN0OiBbUEFUQ0ggMDk1 LzQzNF0gYXZjb2RlYy9mZnYxOiBhZGQgYSBuYW1lZCBjb25zdGFudCBmb3IgdGhlIHF1YW50CiB0 YWJsZSBzaXplCgpTcG9uc29yZWQtYnk6IFNvdmVyZWlnbiBUZWNoIEZ1bmQKU2lnbmVkLW9mZi1i eTogTWljaGFlbCBOaWVkZXJtYXllciA8bWljaGFlbEBuaWVkZXJtYXllci5jYz4KKGNoZXJyeSBw aWNrZWQgZnJvbSBjb21taXQgODFhMzYwYTVlZDllN2RjYzg0MWU3OTFjMjc3OWYwOWNiZDk5YjVk MykKU2lnbmVkLW9mZi1ieTogTWljaGFlbCBOaWVkZXJtYXllciA8bWljaGFlbEBuaWVkZXJtYXll ci5jYz4KLS0tCiBsaWJhdmNvZGVjL2ZmdjEuaCAgICAgICAgICB8ICA0ICsrKy0KIGxpYmF2Y29k ZWMvZmZ2MV90ZW1wbGF0ZS5jIHwgMTggKysrKysrKysrLS0tLS0tLS0tCiBsaWJhdmNvZGVjL2Zm djFlbmMuYyAgICAgICB8ICA2ICsrKy0tLQogMyBmaWxlcyBjaGFuZ2VkLCAxNSBpbnNlcnRpb25z KCspLCAxMyBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9saWJhdmNvZGVjL2ZmdjEuaCBiL2xp YmF2Y29kZWMvZmZ2MS5oCmluZGV4IGUxOWMwZGYwMTQuLjVjMTQ5MDc3MTUgMTAwNjQ0Ci0tLSBh L2xpYmF2Y29kZWMvZmZ2MS5oCisrKyBiL2xpYmF2Y29kZWMvZmZ2MS5oCkBAIC00NCw2ICs0NCw4 IEBACiAjZGVmaW5lIENPTlRFWFRfU0laRSAzMgogCiAjZGVmaW5lIE1BWF9RVUFOVF9UQUJMRVMg OAorI2RlZmluZSBNQVhfUVVBTlRfVEFCTEVfU0laRSAyNTYKKyNkZWZpbmUgTUFYX1FVQU5UX1RB QkxFX01BU0sgKE1BWF9RVUFOVF9UQUJMRV9TSVpFIC0gMSkKICNkZWZpbmUgTUFYX0NPTlRFWFRf SU5QVVRTIDUKIAogI2RlZmluZSBBQ19HT0xPTUJfUklDRSAgICAgICAgICAwCkBAIC0xMjMsNyAr MTI1LDcgQEAgdHlwZWRlZiBzdHJ1Y3QgRkZWMUNvbnRleHQgewogICAgIGNvbnN0IEFWRnJhbWUg KmN1cl9lbmNfZnJhbWU7CiAgICAgaW50IHBsYW5lX2NvdW50OwogICAgIGludCBhYzsgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAvLy88IDE9cmFuZ2UgY29kZXIgPC0+IDA9Z29sb21iIHJp Y2UKLSAgICBpbnQxNl90IHF1YW50X3RhYmxlc1tNQVhfUVVBTlRfVEFCTEVTXVtNQVhfQ09OVEVY VF9JTlBVVFNdWzI1Nl07CisgICAgaW50MTZfdCBxdWFudF90YWJsZXNbTUFYX1FVQU5UX1RBQkxF U11bTUFYX0NPTlRFWFRfSU5QVVRTXVtNQVhfUVVBTlRfVEFCTEVfU0laRV07CiAgICAgaW50IGNv bnRleHRfY291bnRbTUFYX1FVQU5UX1RBQkxFU107CiAgICAgdWludDhfdCBzdGF0ZV90cmFuc2l0 aW9uWzI1Nl07CiAgICAgdWludDhfdCAoKmluaXRpYWxfc3RhdGVzW01BWF9RVUFOVF9UQUJMRVNd KVszMl07CmRpZmYgLS1naXQgYS9saWJhdmNvZGVjL2ZmdjFfdGVtcGxhdGUuYyBiL2xpYmF2Y29k ZWMvZmZ2MV90ZW1wbGF0ZS5jCmluZGV4IGQxNWFkMTEwMjEuLmFiYjkwYTEyZTQgMTAwNjQ0Ci0t LSBhL2xpYmF2Y29kZWMvZmZ2MV90ZW1wbGF0ZS5jCisrKyBiL2xpYmF2Y29kZWMvZmZ2MV90ZW1w bGF0ZS5jCkBAIC0yOSw3ICsyOSw3IEBAIHN0YXRpYyBpbmxpbmUgaW50IFJFTkFNRShwcmVkaWN0 KShUWVBFICpzcmMsIFRZUEUgKmxhc3QpCiAgICAgcmV0dXJuIG1pZF9wcmVkKEwsIEwgKyBUIC0g TFQsIFQpOwogfQogCi1zdGF0aWMgaW5saW5lIGludCBSRU5BTUUoZ2V0X2NvbnRleHQpKGNvbnN0 IGludDE2X3QgcXVhbnRfdGFibGVbTUFYX0NPTlRFWFRfSU5QVVRTXVsyNTZdLAorc3RhdGljIGlu bGluZSBpbnQgUkVOQU1FKGdldF9jb250ZXh0KShjb25zdCBpbnQxNl90IHF1YW50X3RhYmxlW01B WF9DT05URVhUX0lOUFVUU11bTUFYX1FVQU5UX1RBQkxFX1NJWkVdLAogICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICBUWVBFICpzcmMsIFRZUEUgKmxhc3QsIFRZUEUgKmxhc3Qy KQogewogICAgIGNvbnN0IGludCBMVCA9IGxhc3RbLTFdOwpAQCAtNDAsMTQgKzQwLDE0IEBAIHN0 YXRpYyBpbmxpbmUgaW50IFJFTkFNRShnZXRfY29udGV4dCkoY29uc3QgaW50MTZfdCBxdWFudF90 YWJsZVtNQVhfQ09OVEVYVF9JTlBVCiAgICAgaWYgKHF1YW50X3RhYmxlWzNdWzEyN10gfHwgcXVh bnRfdGFibGVbNF1bMTI3XSkgewogICAgICAgICBjb25zdCBpbnQgVFQgPSBsYXN0MlswXTsKICAg ICAgICAgY29uc3QgaW50IExMID0gc3JjWy0yXTsKLSAgICAgICAgcmV0dXJuIHF1YW50X3RhYmxl WzBdWyhMIC0gTFQpICYgMHhGRl0gKwotICAgICAgICAgICAgICAgcXVhbnRfdGFibGVbMV1bKExU IC0gVCkgJiAweEZGXSArCi0gICAgICAgICAgICAgICBxdWFudF90YWJsZVsyXVsoVCAtIFJUKSAm IDB4RkZdICsKLSAgICAgICAgICAgICAgIHF1YW50X3RhYmxlWzNdWyhMTCAtIEwpICYgMHhGRl0g KwotICAgICAgICAgICAgICAgcXVhbnRfdGFibGVbNF1bKFRUIC0gVCkgJiAweEZGXTsKKyAgICAg ICAgcmV0dXJuIHF1YW50X3RhYmxlWzBdWyhMIC0gTFQpICYgTUFYX1FVQU5UX1RBQkxFX01BU0td ICsKKyAgICAgICAgICAgICAgIHF1YW50X3RhYmxlWzFdWyhMVCAtIFQpICYgTUFYX1FVQU5UX1RB QkxFX01BU0tdICsKKyAgICAgICAgICAgICAgIHF1YW50X3RhYmxlWzJdWyhUIC0gUlQpICYgTUFY X1FVQU5UX1RBQkxFX01BU0tdICsKKyAgICAgICAgICAgICAgIHF1YW50X3RhYmxlWzNdWyhMTCAt IEwpICYgTUFYX1FVQU5UX1RBQkxFX01BU0tdICsKKyAgICAgICAgICAgICAgIHF1YW50X3RhYmxl WzRdWyhUVCAtIFQpICYgTUFYX1FVQU5UX1RBQkxFX01BU0tdOwogICAgIH0gZWxzZQotICAgICAg ICByZXR1cm4gcXVhbnRfdGFibGVbMF1bKEwgLSBMVCkgJiAweEZGXSArCi0gICAgICAgICAgICAg ICBxdWFudF90YWJsZVsxXVsoTFQgLSBUKSAmIDB4RkZdICsKLSAgICAgICAgICAgICAgIHF1YW50 X3RhYmxlWzJdWyhUIC0gUlQpICYgMHhGRl07CisgICAgICAgIHJldHVybiBxdWFudF90YWJsZVsw XVsoTCAtIExUKSAmIE1BWF9RVUFOVF9UQUJMRV9NQVNLXSArCisgICAgICAgICAgICAgICBxdWFu dF90YWJsZVsxXVsoTFQgLSBUKSAmIE1BWF9RVUFOVF9UQUJMRV9NQVNLXSArCisgICAgICAgICAg ICAgICBxdWFudF90YWJsZVsyXVsoVCAtIFJUKSAmIE1BWF9RVUFOVF9UQUJMRV9NQVNLXTsKIH0K IApkaWZmIC0tZ2l0IGEvbGliYXZjb2RlYy9mZnYxZW5jLmMgYi9saWJhdmNvZGVjL2ZmdjFlbmMu YwppbmRleCA4ZTQzNjM1OGVkLi43ZGNlY2I1OTA1IDEwMDY0NAotLS0gYS9saWJhdmNvZGVjL2Zm djFlbmMuYworKysgYi9saWJhdmNvZGVjL2ZmdjFlbmMuYwpAQCAtMzE3LDcgKzMxNyw3IEBAIHN0 YXRpYyB2b2lkIHdyaXRlX3F1YW50X3RhYmxlKFJhbmdlQ29kZXIgKmMsIGludDE2X3QgKnF1YW50 X3RhYmxlKQogICAgIHVpbnQ4X3Qgc3RhdGVbQ09OVEVYVF9TSVpFXTsKICAgICBtZW1zZXQoc3Rh dGUsIDEyOCwgc2l6ZW9mKHN0YXRlKSk7CiAKLSAgICBmb3IgKGkgPSAxOyBpIDwgMTI4OyBpKysp CisgICAgZm9yIChpID0gMTsgaSA8IE1BWF9RVUFOVF9UQUJMRV9TSVpFLzI7IGkrKykKICAgICAg ICAgaWYgKHF1YW50X3RhYmxlW2ldICE9IHF1YW50X3RhYmxlW2kgLSAxXSkgewogICAgICAgICAg ICAgcHV0X3N5bWJvbChjLCBzdGF0ZSwgaSAtIGxhc3QgLSAxLCAwKTsKICAgICAgICAgICAgIGxh c3QgPSBpOwpAQCAtMzI2LDcgKzMyNiw3IEBAIHN0YXRpYyB2b2lkIHdyaXRlX3F1YW50X3RhYmxl KFJhbmdlQ29kZXIgKmMsIGludDE2X3QgKnF1YW50X3RhYmxlKQogfQogCiBzdGF0aWMgdm9pZCB3 cml0ZV9xdWFudF90YWJsZXMoUmFuZ2VDb2RlciAqYywKLSAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICBpbnQxNl90IHF1YW50X3RhYmxlW01BWF9DT05URVhUX0lOUFVUU11bMjU2XSkKKyAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQxNl90IHF1YW50X3RhYmxlW01BWF9DT05U RVhUX0lOUFVUU11bTUFYX1FVQU5UX1RBQkxFX1NJWkVdKQogewogICAgIGludCBpOwogICAgIGZv ciAoaSA9IDA7IGkgPCA1OyBpKyspCkBAIC03MTgsNyArNzE4LDcgQEAgc3RhdGljIGF2X2NvbGQg aW50IGVuY29kZV9pbml0KEFWQ29kZWNDb250ZXh0ICphdmN0eCkKICAgICAgICAgICAgIHMtPnN0 YXRlX3RyYW5zaXRpb25baV0gPSBjLm9uZV9zdGF0ZVtpXTsKICAgICB9CiAKLSAgICBmb3IgKGkg PSAwOyBpIDwgMjU2OyBpKyspIHsKKyAgICBmb3IgKGkgPSAwOyBpIDwgTUFYX1FVQU5UX1RBQkxF X1NJWkU7IGkrKykgewogICAgICAgICBzLT5xdWFudF90YWJsZV9jb3VudCA9IDI7CiAgICAgICAg IGlmIChzLT5iaXRzX3Blcl9yYXdfc2FtcGxlIDw9IDgpIHsKICAgICAgICAgICAgIHMtPnF1YW50 X3RhYmxlc1swXVswXVtpXT0gICAgICAgICAgIHF1YW50MTFbaV07Ci0tIAoyLjQ5LjEKCgpGcm9t IGEyNjY2Njc1YmY3NDg2OTIzM2RmNjIyMmJmYjU4ZDRlNmM5ZTNhZjQgTW9uIFNlcCAxNyAwMDow MDowMCAyMDAxCkZyb206IE1pY2hhZWwgTmllZGVybWF5ZXIgPG1pY2hhZWxAbmllZGVybWF5ZXIu Y2M+CkRhdGU6IFdlZCwgMTYgT2N0IDIwMjQgMTQ6Mzk6MjAgKzAyMDAKU3ViamVjdDogW1BBVENI IDA5Ni80MzRdIGF2Y29kZWMvcmFuZ2Vjb2Rlcjogb25seSBwZXJmb3JtIHJlbm9ybSBjaGVjay9s b29wCiBmb3IgY2FsbGVycyB0aGF0IG5lZWQgaXQKClNpZ25lZC1vZmYtYnk6IE1pY2hhZWwgTmll ZGVybWF5ZXIgPG1pY2hhZWxAbmllZGVybWF5ZXIuY2M+CihjaGVycnkgcGlja2VkIGZyb20gY29t bWl0IGQxNDdiM2Q3ZWNiYTJiZDQwY2I0NTI4NGY5MjAyMzhkYTk3YTk1ZWUpClNpZ25lZC1vZmYt Ynk6IE1pY2hhZWwgTmllZGVybWF5ZXIgPG1pY2hhZWxAbmllZGVybWF5ZXIuY2M+Ci0tLQogbGli YXZjb2RlYy9yYW5nZWNvZGVyLmggfCA1ICsrLS0tCiAxIGZpbGUgY2hhbmdlZCwgMiBpbnNlcnRp b25zKCspLCAzIGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL2xpYmF2Y29kZWMvcmFuZ2Vjb2Rl ci5oIGIvbGliYXZjb2RlYy9yYW5nZWNvZGVyLmgKaW5kZXggODlkMTc4YWMzMS4uMTEwOTA4ZDZi ZCAxMDA2NDQKLS0tIGEvbGliYXZjb2RlYy9yYW5nZWNvZGVyLmgKKysrIGIvbGliYXZjb2RlYy9y YW5nZWNvZGVyLmgKQEAgLTYyLDcgKzYyLDYgQEAgdm9pZCBmZl9idWlsZF9yYWNfc3RhdGVzKFJh bmdlQ29kZXIgKmMsIGludCBmYWN0b3IsIGludCBtYXhfcCk7CiBzdGF0aWMgaW5saW5lIHZvaWQg cmVub3JtX2VuY29kZXIoUmFuZ2VDb2RlciAqYykKIHsKICAgICAvLyBGSVhNRTogb3B0aW1pemUK LSAgICB3aGlsZSAoYy0+cmFuZ2UgPCAweDEwMCkgewogICAgICAgICBpZiAoYy0+b3V0c3RhbmRp bmdfYnl0ZSA8IDApIHsKICAgICAgICAgICAgIGMtPm91dHN0YW5kaW5nX2J5dGUgPSBjLT5sb3cg Pj4gODsKICAgICAgICAgfSBlbHNlIGlmIChjLT5sb3cgPD0gMHhGRjAwKSB7CkBAIC04MSw3ICs4 MCw2IEBAIHN0YXRpYyBpbmxpbmUgdm9pZCByZW5vcm1fZW5jb2RlcihSYW5nZUNvZGVyICpjKQog CiAgICAgICAgIGMtPmxvdyAgICAgPSAoYy0+bG93ICYgMHhGRikgPDwgODsKICAgICAgICAgYy0+ cmFuZ2UgPDw9IDg7Ci0gICAgfQogfQogCiBzdGF0aWMgaW5saW5lIGludCBnZXRfcmFjX2NvdW50 KFJhbmdlQ29kZXIgKmMpCkBAIC0xMDgsNyArMTA2LDggQEAgc3RhdGljIGlubGluZSB2b2lkIHB1 dF9yYWMoUmFuZ2VDb2RlciAqYywgdWludDhfdCAqY29uc3Qgc3RhdGUsIGludCBiaXQpCiAgICAg ICAgICpzdGF0ZSAgID0gYy0+b25lX3N0YXRlWypzdGF0ZV07CiAgICAgfQogCi0gICAgcmVub3Jt X2VuY29kZXIoYyk7CisgICAgd2hpbGUgKGMtPnJhbmdlIDwgMHgxMDApCisgICAgICAgIHJlbm9y bV9lbmNvZGVyKGMpOwogfQogCiBzdGF0aWMgaW5saW5lIHZvaWQgcmVmaWxsKFJhbmdlQ29kZXIg KmMpCi0tIAoyLjQ5LjEKCgpGcm9tIDJhYjI4MDM5NDRjYTJhZWJkZmZkZTg1NTVlNDlkOGIyNjZm NWI5MTggTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCkZyb206IE1pY2hhZWwgTmllZGVybWF5ZXIg PG1pY2hhZWxAbmllZGVybWF5ZXIuY2M+CkRhdGU6IFdlZCwgOSBPY3QgMjAyNCAxODo1OToxOSAr MDIwMApTdWJqZWN0OiBbUEFUQ0ggMDk3LzQzNF0gc3dzY2FsZS9yZ2IycmdiX3RlbXBsYXRlOiBG aXggZmZfcmdiMjR0b3l2MTJfYygpIHdpdGgKIG9kZCBoZWlnaHQKCkZpeGVzOiBvdXQgb2YgYXJy YXkgYWNjZXNzCkZpeGVzOiAzNjgxNDM3OTgvY2x1c3RlcmZ1enotdGVzdGNhc2UtbWluaW1pemVk LWZmbXBlZ19TV1NfZnV6emVyLTY0NzU4MjM0MjU1ODUxNTIKCkZvdW5kLWJ5OiBjb250aW51b3Vz IGZ1enppbmcgcHJvY2VzcyBodHRwczovL2dpdGh1Yi5jb20vZ29vZ2xlL29zcy1mdXp6L3RyZWUv bWFzdGVyL3Byb2plY3RzL2ZmbXBlZwpTaWduZWQtb2ZmLWJ5OiBNaWNoYWVsIE5pZWRlcm1heWVy IDxtaWNoYWVsQG5pZWRlcm1heWVyLmNjPgooY2hlcnJ5IHBpY2tlZCBmcm9tIGNvbW1pdCAxNGY1 ZDY3YmUzOGRjZGYwNDkzMmU1NTdiN2YyNTk3NWZjOTFjODUxKQpTaWduZWQtb2ZmLWJ5OiBNaWNo YWVsIE5pZWRlcm1heWVyIDxtaWNoYWVsQG5pZWRlcm1heWVyLmNjPgotLS0KIGxpYnN3c2NhbGUv cmdiMnJnYl90ZW1wbGF0ZS5jIHwgNyArKysrKystCiAxIGZpbGUgY2hhbmdlZCwgNiBpbnNlcnRp b25zKCspLCAxIGRlbGV0aW9uKC0pCgpkaWZmIC0tZ2l0IGEvbGlic3dzY2FsZS9yZ2IycmdiX3Rl bXBsYXRlLmMgYi9saWJzd3NjYWxlL3JnYjJyZ2JfdGVtcGxhdGUuYwppbmRleCAzMmQ5MGQ0NGZl Li5kNDIwNDE1M2RiIDEwMDY0NAotLS0gYS9saWJzd3NjYWxlL3JnYjJyZ2JfdGVtcGxhdGUuYwor KysgYi9saWJzd3NjYWxlL3JnYjJyZ2JfdGVtcGxhdGUuYwpAQCAtNjQwLDcgKzY0MCw3IEBAIHN0 YXRpYyBpbmxpbmUgdm9pZCB1eXZ5dG95djEyX2MoY29uc3QgdWludDhfdCAqc3JjLCB1aW50OF90 ICp5ZHN0LAogfQogCiAvKioKLSAqIEhlaWdodCBzaG91bGQgYmUgYSBtdWx0aXBsZSBvZiAyIGFu ZCB3aWR0aCBzaG91bGQgYmUgYSBtdWx0aXBsZSBvZiAyLgorICogd2lkdGggc2hvdWxkIGJlIGEg bXVsdGlwbGUgb2YgMi4KICAqIChJZiB0aGlzIGlzIGEgcHJvYmxlbSBmb3IgYW55b25lIHRoZW4g dGVsbCBtZSwgYW5kIEkgd2lsbCBmaXggaXQuKQogICovCiB2b2lkIGZmX3JnYjI0dG95djEyX2Mo Y29uc3QgdWludDhfdCAqc3JjLCB1aW50OF90ICp5ZHN0LCB1aW50OF90ICp1ZHN0LApAQCAtNjU5 LDYgKzY1OSwxMSBAQCB2b2lkIGZmX3JnYjI0dG95djEyX2MoY29uc3QgdWludDhfdCAqc3JjLCB1 aW50OF90ICp5ZHN0LCB1aW50OF90ICp1ZHN0LAogCiAgICAgZm9yICh5ID0gMDsgeSA8IGhlaWdo dDsgeSArPSAyKSB7CiAgICAgICAgIGludCBpOworICAgICAgICBpZiAoeSArIDEgPT0gaGVpZ2h0 KSB7CisgICAgICAgICAgICB5ZHN0MiA9IHlkc3QxOworICAgICAgICAgICAgc3JjMiAgPSBzcmMx OworICAgICAgICB9CisKICAgICAgICAgZm9yIChpID0gMDsgaSA8IGNocm9tV2lkdGg7IGkrKykg ewogICAgICAgICAgICAgdW5zaWduZWQgaW50IGIxMSA9IHNyYzFbNiAqIGkgKyAwXTsKICAgICAg ICAgICAgIHVuc2lnbmVkIGludCBnMTEgPSBzcmMxWzYgKiBpICsgMV07Ci0tIAoyLjQ5LjEKCgpG cm9tIDU2MmFmOTMwMjVkY2JkZWQ5MzBlMDJkYjZjNDI3YmNmYmZhNTkzNTYgTW9uIFNlcCAxNyAw MDowMDowMCAyMDAxCkZyb206IE1pY2hhZWwgTmllZGVybWF5ZXIgPG1pY2hhZWxAbmllZGVybWF5 ZXIuY2M+CkRhdGU6IFdlZCwgOSBPY3QgMjAyNCAyMDozOTowNyArMDIwMApTdWJqZWN0OiBbUEFU Q0ggMDk4LzQzNF0gc3dzY2FsZS9vdXRwdXQ6IHVzZWQgdW5zaWduZWQgZm9yIGJpdCBhY2N1bXVs YXRpb24KCkZpeGVzOiBJbnRlZ2VyIG92ZXJmbG93CkZpeGVzOiAzNjg3MjU2NzIvY2x1c3RlcmZ1 enotdGVzdGNhc2UtbWluaW1pemVkLWZmbXBlZ19TV1NfZnV6emVyLTUwMDkwOTMwMjM1NjM3NzYK CkZvdW5kLWJ5OiBjb250aW51b3VzIGZ1enppbmcgcHJvY2VzcyBodHRwczovL2dpdGh1Yi5jb20v Z29vZ2xlL29zcy1mdXp6L3RyZWUvbWFzdGVyL3Byb2plY3RzL2ZmbXBlZwpTaWduZWQtb2ZmLWJ5 OiBNaWNoYWVsIE5pZWRlcm1heWVyIDxtaWNoYWVsQG5pZWRlcm1heWVyLmNjPgooY2hlcnJ5IHBp Y2tlZCBmcm9tIGNvbW1pdCAzZmUzMDE0NDA1NDk0NTAzYTAzYzJlNmVmZjQ3NDNkYjkxYTIxYzAw KQpTaWduZWQtb2ZmLWJ5OiBNaWNoYWVsIE5pZWRlcm1heWVyIDxtaWNoYWVsQG5pZWRlcm1heWVy LmNjPgotLS0KIGxpYnN3c2NhbGUvb3V0cHV0LmMgfCA5ICsrKysrLS0tLQogMSBmaWxlIGNoYW5n ZWQsIDUgaW5zZXJ0aW9ucygrKSwgNCBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9saWJzd3Nj YWxlL291dHB1dC5jIGIvbGlic3dzY2FsZS9vdXRwdXQuYwppbmRleCAzMTkyMWEzY2NlLi5hZTlh NTA2MzdhIDEwMDY0NAotLS0gYS9saWJzd3NjYWxlL291dHB1dC5jCisrKyBiL2xpYnN3c2NhbGUv b3V0cHV0LmMKQEAgLTY2NCw3ICs2NjQsNyBAQCB5dXYybW9ub18yX2NfdGVtcGxhdGUoU3dzQ29u dGV4dCAqYywgY29uc3QgaW50MTZfdCAqYnVmWzJdLAogCiAgICAgaWYgKGMtPmRpdGhlciA9PSBT V1NfRElUSEVSX0VEKSB7CiAgICAgICAgIGludCBlcnIgPSAwOwotICAgICAgICBpbnQgYWNjID0g MDsKKyAgICAgICAgdW5zaWduZWQgYWNjID0gMDsKICAgICAgICAgZm9yIChpID0gMDsgaSA8IGRz dFc7IGkgKz0yKSB7CiAgICAgICAgICAgICBpbnQgWTsKIApAQCAtNjg2LDcgKzY4Niw4IEBAIHl1 djJtb25vXzJfY190ZW1wbGF0ZShTd3NDb250ZXh0ICpjLCBjb25zdCBpbnQxNl90ICpidWZbMl0s CiAgICAgICAgIGMtPmRpdGhlcl9lcnJvclswXVtpXSA9IGVycjsKICAgICB9IGVsc2UgewogICAg ICAgICBmb3IgKGkgPSAwOyBpIDwgZHN0VzsgaSArPSA4KSB7Ci0gICAgICAgICAgICBpbnQgWSwg YWNjID0gMDsKKyAgICAgICAgICAgIGludCBZOworICAgICAgICAgICAgdW5zaWduZWQgYWNjID0g MDsKIAogICAgICAgICAgICAgWSA9IChidWYwW2kgKyAwXSAqIHlhbHBoYTEgKyBidWYxW2kgKyAw XSAqIHlhbHBoYSkgPj4gMTk7CiAgICAgICAgICAgICBhY2N1bXVsYXRlX2JpdChhY2MsIFkgKyBk MTI4WzBdKTsKQEAgLTcyMSw3ICs3MjIsNyBAQCB5dXYybW9ub18xX2NfdGVtcGxhdGUoU3dzQ29u dGV4dCAqYywgY29uc3QgaW50MTZfdCAqYnVmMCwKIAogICAgIGlmIChjLT5kaXRoZXIgPT0gU1dT X0RJVEhFUl9FRCkgewogICAgICAgICBpbnQgZXJyID0gMDsKLSAgICAgICAgaW50IGFjYyA9IDA7 CisgICAgICAgIHVuc2lnbmVkIGFjYyA9IDA7CiAgICAgICAgIGZvciAoaSA9IDA7IGkgPCBkc3RX OyBpICs9MikgewogICAgICAgICAgICAgaW50IFk7CiAKQEAgLTc0Myw3ICs3NDQsNyBAQCB5dXYy bW9ub18xX2NfdGVtcGxhdGUoU3dzQ29udGV4dCAqYywgY29uc3QgaW50MTZfdCAqYnVmMCwKICAg ICAgICAgYy0+ZGl0aGVyX2Vycm9yWzBdW2ldID0gZXJyOwogICAgIH0gZWxzZSB7CiAgICAgICAg IGZvciAoaSA9IDA7IGkgPCBkc3RXOyBpICs9IDgpIHsKLSAgICAgICAgICAgIGludCBhY2MgPSAw OworICAgICAgICAgICAgdW5zaWduZWQgYWNjID0gMDsKICAgICAgICAgICAgIGFjY3VtdWxhdGVf Yml0KGFjYywgKChidWYwW2kgKyAwXSArIDY0KSA+PiA3KSArIGQxMjhbMF0pOwogICAgICAgICAg ICAgYWNjdW11bGF0ZV9iaXQoYWNjLCAoKGJ1ZjBbaSArIDFdICsgNjQpID4+IDcpICsgZDEyOFsx XSk7CiAgICAgICAgICAgICBhY2N1bXVsYXRlX2JpdChhY2MsICgoYnVmMFtpICsgMl0gKyA2NCkg Pj4gNykgKyBkMTI4WzJdKTsKLS0gCjIuNDkuMQoKCkZyb20gNmIwMjA0NzgxMTI2YjNmNjJhNjRl OWI2ODk2ZDA0ZGQ1NmY5MWMzNCBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKRnJvbTogTWljaGFl bCBOaWVkZXJtYXllciA8bWljaGFlbEBuaWVkZXJtYXllci5jYz4KRGF0ZTogV2VkLCA5IE9jdCAy MDI0IDIwOjQ3OjM0ICswMjAwClN1YmplY3Q6IFtQQVRDSCAwOTkvNDM0XSBhdmZvcm1hdC9teGZk ZWM6IEZpeCBvdmVyZmxvdyBpbiBtaWRwb2ludCBjb21wdXRhdGlvbgoKRml4ZXM6IHNpZ25lZCBp bnRlZ2VyIG92ZXJmbG93OiA0NjExNjg2MDE2NTQ5MzkyMzk5ICsgOTIyMzM3MjAzMzA5ODc4NDgw MCBjYW5ub3QgYmUgcmVwcmVzZW50ZWQgaW4gdHlwZSAnbG9uZyBsb25nJwpGaXhlczogMzY4NTAz Mjc3L2NsdXN0ZXJmdXp6LXRlc3RjYXNlLW1pbmltaXplZC1mZm1wZWdfZGVtX01YRl9mdXp6ZXIt NTkyODIyNzQ1ODA1NjE5MgoKRm91bmQtYnk6IGNvbnRpbnVvdXMgZnV6emluZyBwcm9jZXNzIGh0 dHBzOi8vZ2l0aHViLmNvbS9nb29nbGUvb3NzLWZ1enovdHJlZS9tYXN0ZXIvcHJvamVjdHMvZmZt cGVnClNpZ25lZC1vZmYtYnk6IE1pY2hhZWwgTmllZGVybWF5ZXIgPG1pY2hhZWxAbmllZGVybWF5 ZXIuY2M+CihjaGVycnkgcGlja2VkIGZyb20gY29tbWl0IDIzMDg4YTVmZjJiNTQ5ZmE0ZmMwMzdi YjllZDgzM2ZmZmJjODljYTApClNpZ25lZC1vZmYtYnk6IE1pY2hhZWwgTmllZGVybWF5ZXIgPG1p Y2hhZWxAbmllZGVybWF5ZXIuY2M+Ci0tLQogbGliYXZmb3JtYXQvbXhmZGVjLmMgfCAyICstCiAx IGZpbGUgY2hhbmdlZCwgMSBpbnNlcnRpb24oKyksIDEgZGVsZXRpb24oLSkKCmRpZmYgLS1naXQg YS9saWJhdmZvcm1hdC9teGZkZWMuYyBiL2xpYmF2Zm9ybWF0L214ZmRlYy5jCmluZGV4IDI0ZjRl ZDFjMzMuLjJmOGFiMzg5MGQgMTAwNjQ0Ci0tLSBhL2xpYmF2Zm9ybWF0L214ZmRlYy5jCisrKyBi L2xpYmF2Zm9ybWF0L214ZmRlYy5jCkBAIC0zODMyLDcgKzM4MzIsNyBAQCBzdGF0aWMgaW50IG14 Zl9nZXRfbmV4dF90cmFja19lZGl0X3VuaXQoTVhGQ29udGV4dCAqbXhmLCBNWEZUcmFjayAqdHJh Y2ssIGludDY0XwogICAgIGEgPSAtMTsKICAgICBiID0gdHJhY2stPm9yaWdpbmFsX2R1cmF0aW9u OwogICAgIHdoaWxlIChiIC0gMSA+IGEpIHsKLSAgICAgICAgbSA9IChhICsgYikgPj4gMTsKKyAg ICAgICAgbSA9IChhICsgKHVpbnQ2NF90KWIpID4+IDE7CiAgICAgICAgIGlmIChteGZfZWRpdF91 bml0X2Fic29sdXRlX29mZnNldChteGYsIHQsIG0sIHRyYWNrLT5lZGl0X3JhdGUsIE5VTEwsICZv ZmZzZXQsIE5VTEwsIDApIDwgMCkKICAgICAgICAgICAgIHJldHVybiAtMTsKICAgICAgICAgaWYg KG9mZnNldCA8IGN1cnJlbnRfb2Zmc2V0KQotLSAKMi40OS4xCgoKRnJvbSAwMjg4ZmVkZjE4MTU3 ODk3MGY5MzQ0ZWRhMGU2NmRhOWUwMzBkYzY0IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQpGcm9t OiBNaWNoYWVsIE5pZWRlcm1heWVyIDxtaWNoYWVsQG5pZWRlcm1heWVyLmNjPgpEYXRlOiBXZWQs IDkgT2N0IDIwMjQgMjM6NDQ6MDAgKzAyMDAKU3ViamVjdDogW1BBVENIIDEwMC80MzRdIGF2Zm9y bWF0L21wZWd0czogSW5pdGlhbGl6ZQogcHJlZGVmaW5lZF9TTENvbmZpZ0Rlc2NyaXB0b3Jfc2Vl bgoKRml4ZXM6IHVzZSBvZiB1bmluaXRpYWxpemVkIHZhcmlhYmxlCkZpeGVzOiAzNjg3Mjk1NjYv Y2x1c3RlcmZ1enotdGVzdGNhc2UtbWluaW1pemVkLWZmbXBlZ19kZW1fTVBFR1RTX2Z1enplci02 MDQ0NTAxODA0NjQ2NDAwCgpGb3VuZC1ieTogY29udGludW91cyBmdXp6aW5nIHByb2Nlc3MgaHR0 cHM6Ly9naXRodWIuY29tL2dvb2dsZS9vc3MtZnV6ei90cmVlL21hc3Rlci9wcm9qZWN0cy9mZm1w ZWcKU2lnbmVkLW9mZi1ieTogTWljaGFlbCBOaWVkZXJtYXllciA8bWljaGFlbEBuaWVkZXJtYXll ci5jYz4KKGNoZXJyeSBwaWNrZWQgZnJvbSBjb21taXQgZGI3YjRmYzg5ZmIxOGQ1ZmYwYTE0MjZi ZDQzM2MyMzQ1NTVhM2ZmZikKU2lnbmVkLW9mZi1ieTogTWljaGFlbCBOaWVkZXJtYXllciA8bWlj aGFlbEBuaWVkZXJtYXllci5jYz4KLS0tCiBsaWJhdmZvcm1hdC9tcGVndHMuYyB8IDIgKysKIDEg ZmlsZSBjaGFuZ2VkLCAyIGluc2VydGlvbnMoKykKCmRpZmYgLS1naXQgYS9saWJhdmZvcm1hdC9t cGVndHMuYyBiL2xpYmF2Zm9ybWF0L21wZWd0cy5jCmluZGV4IDA0NTY1YTIwMTEuLjg2YjdjOGUw NDEgMTAwNjQ0Ci0tLSBhL2xpYmF2Zm9ybWF0L21wZWd0cy5jCisrKyBiL2xpYmF2Zm9ybWF0L21w ZWd0cy5jCkBAIC0xNjcyLDYgKzE2NzIsOCBAQCBzdGF0aWMgaW50IG1wNF9yZWFkX2lvZHMoQVZG b3JtYXRDb250ZXh0ICpzLCBjb25zdCB1aW50OF90ICpidWYsIHVuc2lnbmVkIHNpemUsCiAgICAg TVA0RGVzY3JQYXJzZUNvbnRleHQgZDsKICAgICBpbnQgcmV0OwogCisgICAgZC5wcmVkZWZpbmVk X1NMQ29uZmlnRGVzY3JpcHRvcl9zZWVuID0gMDsKKwogICAgIHJldCA9IGluaXRfTVA0RGVzY3JQ YXJzZUNvbnRleHQoJmQsIHMsIGJ1Ziwgc2l6ZSwgZGVzY3IsIG1heF9kZXNjcl9jb3VudCk7CiAg ICAgaWYgKHJldCA8IDApCiAgICAgICAgIHJldHVybiByZXQ7Ci0tIAoyLjQ5LjEKCgpGcm9tIGRl ZDk4YTA5MTlhMDlhN2ZhODc3NjNjZWVmYzQ0NjhlNmRiZjViNTAgTW9uIFNlcCAxNyAwMDowMDow MCAyMDAxCkZyb206IE1pY2hhZWwgTmllZGVybWF5ZXIgPG1pY2hhZWxAbmllZGVybWF5ZXIuY2M+ CkRhdGU6IFNhdCwgMiBOb3YgMjAyNCAxODoyMzo1MCArMDEwMApTdWJqZWN0OiBbUEFUQ0ggMTAx LzQzNF0gSU5TVEFMTDogZXhwbGFpbiB0aGUgY2lyY3VsYXIgZGVwZW5kZW5jeSBpc3N1ZSBhbmQK IHNvbHV0aW9uCgpTcG9uc29yZWQtYnk6IFNvdmVyZWlnbiBUZWNoIEZ1bmQKUmV2aWV3ZWQtYnk6 IEphbWVzIEFsbWVyIDxqYW1yaWFsQGdtYWlsLmNvbT4KU2lnbmVkLW9mZi1ieTogTWljaGFlbCBO aWVkZXJtYXllciA8bWljaGFlbEBuaWVkZXJtYXllci5jYz4KKGNoZXJyeSBwaWNrZWQgZnJvbSBj b21taXQgZGYwMDcwNWUwMDEwY2MyYzUzZDE3ZDUxOTQ0Zjg0N2MyYzg1MjE4OSkKU2lnbmVkLW9m Zi1ieTogTWljaGFlbCBOaWVkZXJtYXllciA8bWljaGFlbEBuaWVkZXJtYXllci5jYz4KLS0tCiBJ TlNUQUxMLm1kIHwgOCArKysrKysrKwogMSBmaWxlIGNoYW5nZWQsIDggaW5zZXJ0aW9ucygrKQoK ZGlmZiAtLWdpdCBhL0lOU1RBTEwubWQgYi9JTlNUQUxMLm1kCmluZGV4IDNiMjIwYmM2ZmYuLmJk ZjU4MTQwMTQgMTAwNjQ0Ci0tLSBhL0lOU1RBTEwubWQKKysrIGIvSU5TVEFMTC5tZApAQCAtMTUs MyArMTUsMTEgQEAgTk9USUNFCiAtLS0tLS0KIAogIC0gTm9uIHN5c3RlbSBkZXBlbmRlbmNpZXMg KGUuZy4gbGlieDI2NCwgbGlidnB4KSBhcmUgZGlzYWJsZWQgYnkgZGVmYXVsdC4KKworTk9USUNF IGZvciBQYWNrYWdlIE1haW50YWluZXJzCistLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0K KworIC0gSXQgaXMgcmVjb21tZW5kZWQgdG8gYnVpbGQgRkZtcGVnIHR3aWNlLCBmaXJzdCB3aXRo IG1pbmltYWwgZXh0ZXJuYWwgZGVwZW5kZW5jaWVzIHNvCisgICB0aGF0IDNyZCBwYXJ0eSBwYWNr YWdlcywgd2hpY2ggZGVwZW5kIG9uIEZGbXBlZ3MgbGliYXZ1dGlsL2xpYmF2ZmlsdGVyL2xpYmF2 Y29kZWMvbGliYXZmb3JtYXQKKyAgIGNhbiB0aGVuIGJlIGJ1aWx0LiBBbmQgbGFzdCBidWlsZCBG Rm1wZWcgd2l0aCBmdWxsIGRlcGVuZGFuY2llcyAod2hpY2ggbWF5IGluIHR1cm4gZGVwZW5kIG9u CisgICBzb21lIG9mIHRoZXNlIDNyZCBwYXJ0eSBwYWNrYWdlcykuIFRoaXMgYXZvaWRzIGNpcmN1 bGFyIGRlcGVuZGVuY2llcyBkdXJpbmcgYnVpbGQuCi0tIAoyLjQ5LjEKCgpGcm9tIDI0MWU4N2Fm YTRjNWJkNzBjM2YzNjBhZmE3NDI1NjIzZDRkMjIxOGYgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAx CkZyb206IE1pY2hhZWwgTmllZGVybWF5ZXIgPG1pY2hhZWxAbmllZGVybWF5ZXIuY2M+CkRhdGU6 IFN1biwgMyBOb3YgMjAyNCAyMDowODowNyArMDEwMApTdWJqZWN0OiBbUEFUQ0ggMTAyLzQzNF0g YXZmb3JtYXQvcnBsOiBjaGVjayBjaGFubmVscwoKRml4ZXM6IDQyNTM3MTk5L2NsdXN0ZXJmdXp6 LXRlc3RjYXNlLW1pbmltaXplZC1mdXp6ZXJfbG9hZGZpbGVfZGlyZWN0LTU0NDcxNjI2NTgzNTcy NDgKRml4ZXM6IHJ1bnRpbWUgZXJyb3I6IHNpZ25lZCBpbnRlZ2VyIG92ZXJmbG93OiAtMzMzMDQ5 ODA1OTIwMTM1ODIyMiAqIDQgY2Fubm90IGJlIHJlcHJlc2VudGVkIGluIHR5cGUgJ2ludDY0X3Qn IChha2EgJ2xvbmcnKQoKRm91bmQtYnk6IG9zc2Z1enoKUmVwb3J0ZWQtYnk6IEthY3BlciBNaWNo YWpsb3cKU2lnbmVkLW9mZi1ieTogTWljaGFlbCBOaWVkZXJtYXllciA8bWljaGFlbEBuaWVkZXJt YXllci5jYz4KKGNoZXJyeSBwaWNrZWQgZnJvbSBjb21taXQgYmVjYTEzYTQyZTlmYjUzNDFlOGJk NjM1NmZkN2Q5YzJkMThhYWM5YikKU2lnbmVkLW9mZi1ieTogTWljaGFlbCBOaWVkZXJtYXllciA8 bWljaGFlbEBuaWVkZXJtYXllci5jYz4KLS0tCiBsaWJhdmZvcm1hdC9ycGwuYyB8IDIgKysKIDEg ZmlsZSBjaGFuZ2VkLCAyIGluc2VydGlvbnMoKykKCmRpZmYgLS1naXQgYS9saWJhdmZvcm1hdC9y cGwuYyBiL2xpYmF2Zm9ybWF0L3JwbC5jCmluZGV4IDMyYTc2MmI2MGEuLmU5NzFkMDU4OGYgMTAw NjQ0Ci0tLSBhL2xpYmF2Zm9ybWF0L3JwbC5jCisrKyBiL2xpYmF2Zm9ybWF0L3JwbC5jCkBAIC0y MDUsNiArMjA1LDggQEAgc3RhdGljIGludCBycGxfcmVhZF9oZWFkZXIoQVZGb3JtYXRDb250ZXh0 ICpzKQogICAgICAgICBpZiAoYXN0LT5jb2RlY3Bhci0+c2FtcGxlX3JhdGUgPCAwKQogICAgICAg ICAgICAgcmV0dXJuIEFWRVJST1JfSU5WQUxJRERBVEE7CiAgICAgICAgIGNoYW5uZWxzICAgICAg ICAgICAgICAgICAgICAgICA9IHJlYWRfbGluZV9hbmRfaW50KHBiLCAmZXJyb3IpOyAgLy8gbnVt YmVyIG9mIGF1ZGlvIGNoYW5uZWxzCisgICAgICAgIGlmIChjaGFubmVscyA8PSAwKQorICAgICAg ICAgICAgcmV0dXJuIEFWRVJST1JfSU5WQUxJRERBVEE7CiAgICAgICAgIGVycm9yIHw9IHJlYWRf bGluZShwYiwgbGluZSwgc2l6ZW9mKGxpbmUpKTsKICAgICAgICAgYXN0LT5jb2RlY3Bhci0+Yml0 c19wZXJfY29kZWRfc2FtcGxlID0gcmVhZF9pbnQobGluZSwgJmVuZHB0ciwgJmVycm9yKTsgIC8v IGF1ZGlvIGJpdHMgcGVyIHNhbXBsZQogICAgICAgICBhdl9zdHJsY3B5KGF1ZGlvX3R5cGUsIGVu ZHB0ciwgUlBMX0xJTkVfTEVOR1RIKTsKLS0gCjIuNDkuMQoKCkZyb20gZTIzOTQxNjZiZmE5ODFi ZGYwMmYwMjYwNWRkNzY4ODhlNjkzMmZiZiBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKRnJvbTog TWljaGFlbCBOaWVkZXJtYXllciA8bWljaGFlbEBuaWVkZXJtYXllci5jYz4KRGF0ZTogU3VuLCAz IE5vdiAyMDI0IDIwOjE4OjM2ICswMTAwClN1YmplY3Q6IFtQQVRDSCAxMDMvNDM0XSBhdmZvcm1h dC9tY2NkZWM6IEluaXRpYWxpemUgYW5kIGNoZWNrIHJhdGUuZGVuCgpGaXhlczogQXNzZXJ0aW9u IGMgPiAwIGZhaWxlZCBhdCBsaWJhdnV0aWwvbWF0aGVtYXRpY3MuYzo2MQpGaXhlczogdXNlLW9m LXVuaW5pdGlhbGl6ZWQtdmFsdWUKRml4ZXM6IDQyNTM3NjI3L2NsdXN0ZXJmdXp6LXRlc3RjYXNl LW1pbmltaXplZC1mdXp6ZXJfcHJvdG9jb2xfbWVtb3J5LTU5Mzk2MDU4MDU3OTMyODAKCkZvdW5k LWJ5OiBvc3NmdXp6ClJlcG9ydGVkLWJ5OiBLYWNwZXIgTWljaGFqbG93ClNpZ25lZC1vZmYtYnk6 IE1pY2hhZWwgTmllZGVybWF5ZXIgPG1pY2hhZWxAbmllZGVybWF5ZXIuY2M+CihjaGVycnkgcGlj a2VkIGZyb20gY29tbWl0IGJmOGU0MzA4M2Y2OGMzODNiOWQ5MDVkMmM4Yzc5MWFjMzNlY2M3YmMp ClNpZ25lZC1vZmYtYnk6IE1pY2hhZWwgTmllZGVybWF5ZXIgPG1pY2hhZWxAbmllZGVybWF5ZXIu Y2M+Ci0tLQogbGliYXZmb3JtYXQvbWNjZGVjLmMgfCA0ICsrLS0KIDEgZmlsZSBjaGFuZ2VkLCAy IGluc2VydGlvbnMoKyksIDIgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvbGliYXZmb3JtYXQv bWNjZGVjLmMgYi9saWJhdmZvcm1hdC9tY2NkZWMuYwppbmRleCA4NWJmOTNjZDNiLi44YzBlYTA5 YjZiIDEwMDY0NAotLS0gYS9saWJhdmZvcm1hdC9tY2NkZWMuYworKysgYi9saWJhdmZvcm1hdC9t Y2NkZWMuYwpAQCAtOTMsNyArOTMsNyBAQCBzdGF0aWMgaW50IG1jY19yZWFkX2hlYWRlcihBVkZv cm1hdENvbnRleHQgKnMpCiB7CiAgICAgTUNDQ29udGV4dCAqbWNjID0gcy0+cHJpdl9kYXRhOwog ICAgIEFWU3RyZWFtICpzdCA9IGF2Zm9ybWF0X25ld19zdHJlYW0ocywgTlVMTCk7Ci0gICAgQVZS YXRpb25hbCByYXRlOworICAgIEFWUmF0aW9uYWwgcmF0ZSA9IHswfTsKICAgICBpbnQ2NF90IHRz LCBwb3M7CiAgICAgdWludDhfdCBvdXRbNDA5Nl07CiAgICAgY2hhciBsaW5lWzQwOTZdOwpAQCAt MTM5LDcgKzEzOSw3IEBAIHN0YXRpYyBpbnQgbWNjX3JlYWRfaGVhZGVyKEFWRm9ybWF0Q29udGV4 dCAqcykKICAgICAgICAgICAgIGNvbnRpbnVlOwogICAgICAgICB9CiAKLSAgICAgICAgaWYgKGF2 X3NzY2FuZihsaW5lLCAiJWQ6JWQ6JWQ6JWQiLCAmaGgsICZtbSwgJnNzLCAmZnMpICE9IDQpCisg ICAgICAgIGlmIChhdl9zc2NhbmYobGluZSwgIiVkOiVkOiVkOiVkIiwgJmhoLCAmbW0sICZzcywg JmZzKSAhPSA0IHx8IHJhdGUuZGVuIDw9IDApCiAgICAgICAgICAgICBjb250aW51ZTsKIAogICAg ICAgICB0cyA9IGF2X3NhdF9hZGQ2NChhdl9yZXNjYWxlKGhoICogMzYwMExMICsgbW0gKiA2MExM ICsgc3MsIHJhdGUubnVtLCByYXRlLmRlbiksIGZzKTsKLS0gCjIuNDkuMQoKCkZyb20gMWYxYjMw OWY5ZTE4MDA5ZjU5NTdlNjliZjM1NzVhOGI5M2Q5YzFhOCBNb24gU2VwIDE3IDAwOjAwOjAwIDIw MDEKRnJvbTogTWljaGFlbCBOaWVkZXJtYXllciA8bWljaGFlbEBuaWVkZXJtYXllci5jYz4KRGF0 ZTogU3VuLCAzIE5vdiAyMDI0IDIwOjQzOjIxICswMTAwClN1YmplY3Q6IFtQQVRDSCAxMDQvNDM0 XSBhdmZvcm1hdC9uaXN0c3BoZXJlZGVjOiBDbGVhciBidWZmZXIKCkZpeGVzOiB1c2Utb2YtdW5p bml0aWFsaXplZC12YWx1ZQpGaXhlczogNDI1Mzc2MjcvY2x1c3RlcmZ1enotdGVzdGNhc2UtbWlu aW1pemVkLWZ1enplcl9wcm90b2NvbF9tZW1vcnktNjUxNTg1NTc5ODYzMjQ0OC1jdXQKCkZvdW5k LWJ5OiBvc3NmdXp6ClJlcG9ydGVkLWJ5OiBLYWNwZXIgTWljaGFqbG93ClNpZ25lZC1vZmYtYnk6 IE1pY2hhZWwgTmllZGVybWF5ZXIgPG1pY2hhZWxAbmllZGVybWF5ZXIuY2M+CihjaGVycnkgcGlj a2VkIGZyb20gY29tbWl0IDg5OGY2NTgyZWI1MWJmNzdiMWY4OGU4ZjU1ZWFiNjdlZTZlZTEzYjgp ClNpZ25lZC1vZmYtYnk6IE1pY2hhZWwgTmllZGVybWF5ZXIgPG1pY2hhZWxAbmllZGVybWF5ZXIu Y2M+Ci0tLQogbGliYXZmb3JtYXQvbmlzdHNwaGVyZWRlYy5jIHwgMiArLQogMSBmaWxlIGNoYW5n ZWQsIDEgaW5zZXJ0aW9uKCspLCAxIGRlbGV0aW9uKC0pCgpkaWZmIC0tZ2l0IGEvbGliYXZmb3Jt YXQvbmlzdHNwaGVyZWRlYy5jIGIvbGliYXZmb3JtYXQvbmlzdHNwaGVyZWRlYy5jCmluZGV4IDFl NmM1NjdlMDEuLmU2MjQwMzYxNDkgMTAwNjQ0Ci0tLSBhL2xpYmF2Zm9ybWF0L25pc3RzcGhlcmVk ZWMuYworKysgYi9saWJhdmZvcm1hdC9uaXN0c3BoZXJlZGVjLmMKQEAgLTM1LDcgKzM1LDcgQEAg c3RhdGljIGludCBuaXN0X3Byb2JlKGNvbnN0IEFWUHJvYmVEYXRhICpwKQogCiBzdGF0aWMgaW50 IG5pc3RfcmVhZF9oZWFkZXIoQVZGb3JtYXRDb250ZXh0ICpzKQogewotICAgIGNoYXIgYnVmZmVy WzI1Nl0sIGNvZGluZ1szMl0gPSAicGNtIiwgZm9ybWF0WzMyXSA9ICIwMSI7CisgICAgY2hhciBi dWZmZXJbMjU2XT0gezB9LCBjb2RpbmdbMzJdID0gInBjbSIsIGZvcm1hdFszMl0gPSAiMDEiOwog ICAgIGludCBicHMgPSAwLCBiZSA9IDA7CiAgICAgaW50MzJfdCBoZWFkZXJfc2l6ZSA9IC0xOwog ICAgIEFWU3RyZWFtICpzdDsKLS0gCjIuNDkuMQoKCkZyb20gNDQ1MDY1ZTIzYTdhYTlhYTlmYjFi ZTcwNWEyNTM5OTM0NzljMDg5YSBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKRnJvbTogTWljaGFl bCBOaWVkZXJtYXllciA8bWljaGFlbEBuaWVkZXJtYXllci5jYz4KRGF0ZTogU3VuLCAzIE5vdiAy MDI0IDIwOjQ3OjA3ICswMTAwClN1YmplY3Q6IFtQQVRDSCAxMDUvNDM0XSBhdmZvcm1hdC9pbGJj OiBDaGVjayBhdmlvX3JlYWQoKSBmb3IgZmFpbHVyZQoKRml4ZXM6IHVzZSBvZiB1bmluaXRpYWxp emVkIHZhbHVlCkZpeGVzOiA0MjUzNzYyNy9jbHVzdGVyZnV6ei10ZXN0Y2FzZS1taW5pbWl6ZWQt ZnV6emVyX3Byb3RvY29sX21lbW9yeS02NjU2NjQ2MjIzMjk4NTYwLWN1dAoKRm91bmQtYnk6IG9z c2Z1enoKUmVwb3J0ZWQtYnk6IEthY3BlciBNaWNoYWpsb3cKU2lnbmVkLW9mZi1ieTogTWljaGFl bCBOaWVkZXJtYXllciA8bWljaGFlbEBuaWVkZXJtYXllci5jYz4KKGNoZXJyeSBwaWNrZWQgZnJv bSBjb21taXQgZTMwZDk1N2E5YmFjZjdmNzMwN2M2NDBhYTBiZDFlNzBjYjNiYmU3ZSkKU2lnbmVk LW9mZi1ieTogTWljaGFlbCBOaWVkZXJtYXllciA8bWljaGFlbEBuaWVkZXJtYXllci5jYz4KLS0t CiBsaWJhdmZvcm1hdC9pbGJjLmMgfCAzICsrLQogMSBmaWxlIGNoYW5nZWQsIDIgaW5zZXJ0aW9u cygrKSwgMSBkZWxldGlvbigtKQoKZGlmZiAtLWdpdCBhL2xpYmF2Zm9ybWF0L2lsYmMuYyBiL2xp YmF2Zm9ybWF0L2lsYmMuYwppbmRleCBhMjRhYTNkYTlkLi42YzQ0MWMyMWJmIDEwMDY0NAotLS0g YS9saWJhdmZvcm1hdC9pbGJjLmMKKysrIGIvbGliYXZmb3JtYXQvaWxiYy5jCkBAIC02MSw3ICs2 MSw4IEBAIHN0YXRpYyBpbnQgaWxiY19yZWFkX2hlYWRlcihBVkZvcm1hdENvbnRleHQgKnMpCiAg ICAgQVZTdHJlYW0gKnN0OwogICAgIHVpbnQ4X3QgaGVhZGVyWzldOwogCi0gICAgYXZpb19yZWFk KHBiLCBoZWFkZXIsIDkpOworICAgIGlmIChhdmlvX3JlYWQocGIsIGhlYWRlciwgOSkgIT0gOSkK KyAgICAgICAgcmV0dXJuIEFWRVJST1JfSU5WQUxJRERBVEE7CiAKICAgICBzdCA9IGF2Zm9ybWF0 X25ld19zdHJlYW0ocywgTlVMTCk7CiAgICAgaWYgKCFzdCkKLS0gCjIuNDkuMQoKCkZyb20gYzdh YTBjNGVjZDI4NTkwODQ0ZWE1Y2E1NzIzOTFmOTA5NDkyZmYxOSBNb24gU2VwIDE3IDAwOjAwOjAw IDIwMDEKRnJvbTogTWljaGFlbCBOaWVkZXJtYXllciA8bWljaGFlbEBuaWVkZXJtYXllci5jYz4K RGF0ZTogU3VuLCAzIE5vdiAyMDI0IDIwOjU0OjI5ICswMTAwClN1YmplY3Q6IFtQQVRDSCAxMDYv NDM0XSBhdmZvcm1hdC92aXZpZGFzOiBDaGVjayBhdmlvX3JlYWQoKSBmb3IgZmFpbHVyZQoKRml4 ZXM6IHVzZSBvZiB1bmluaXRpYWxpemVkIHZhbHVlICh1bnRlc3RlZCkKRml4ZXM6IDQyNTM3NjI3 L2NsdXN0ZXJmdXp6LXRlc3RjYXNlLW1pbmltaXplZC1mdXp6ZXJfbG9hZGZpbGVfZGlyZWN0LTU1 MDU4MDI1MDUzNTUyNjQKCkZvdW5kLWJ5OiBvc3NmdXp6ClJlcG9ydGVkLWJ5OiBLYWNwZXIgTWlj aGFqbG93ClNpZ25lZC1vZmYtYnk6IE1pY2hhZWwgTmllZGVybWF5ZXIgPG1pY2hhZWxAbmllZGVy bWF5ZXIuY2M+CihjaGVycnkgcGlja2VkIGZyb20gY29tbWl0IDk2ZDQ1YzNiMjEyNjg5ZjgyYmZm MjUzMGMzNjM3NDA1ZGY5ZTkzNjkpClNpZ25lZC1vZmYtYnk6IE1pY2hhZWwgTmllZGVybWF5ZXIg PG1pY2hhZWxAbmllZGVybWF5ZXIuY2M+Ci0tLQogbGliYXZmb3JtYXQvdml2aWRhcy5jIHwgMyAr Ky0KIDEgZmlsZSBjaGFuZ2VkLCAyIGluc2VydGlvbnMoKyksIDEgZGVsZXRpb24oLSkKCmRpZmYg LS1naXQgYS9saWJhdmZvcm1hdC92aXZpZGFzLmMgYi9saWJhdmZvcm1hdC92aXZpZGFzLmMKaW5k ZXggMTMwYjgxZWJiZS4uYmVjNGFkN2NlYyAxMDA2NDQKLS0tIGEvbGliYXZmb3JtYXQvdml2aWRh cy5jCisrKyBiL2xpYmF2Zm9ybWF0L3ZpdmlkYXMuYwpAQCAtNTY3LDcgKzU2Nyw4IEBAIHN0YXRp YyBpbnQgdml2X3JlYWRfaGVhZGVyKEFWRm9ybWF0Q29udGV4dCAqcykKICAgICB2ID0gYXZpb19y OChwYik7CiAgICAgYXZpb19zZWVrKHBiLCB2LCBTRUVLX0NVUik7CiAKLSAgICBhdmlvX3JlYWQo cGIsIGtleWJ1ZmZlciwgMTg3KTsKKyAgICBpZiAoYXZpb19yZWFkKHBiLCBrZXlidWZmZXIsIDE4 NykgIT0gMTg3KQorICAgICAgICByZXR1cm4gQVZFUlJPUl9JTlZBTElEREFUQTsKICAgICBrZXkg PSBkZWNvZGVfa2V5KGtleWJ1ZmZlcik7CiAgICAgdml2LT5zYl9rZXkgPSBrZXk7CiAKLS0gCjIu NDkuMQoKCkZyb20gNDkzMGRkOTFjNmI0ZDQ3NTMwYmEzZjE2Y2M0NDc2ODc4NTBiNmFjNyBNb24g U2VwIDE3IDAwOjAwOjAwIDIwMDEKRnJvbTogTWljaGFlbCBOaWVkZXJtYXllciA8bWljaGFlbEBu aWVkZXJtYXllci5jYz4KRGF0ZTogV2VkLCAxMyBOb3YgMjAyNCAxOToyODoxNSArMDEwMApTdWJq ZWN0OiBbUEFUQ0ggMTA3LzQzNF0gZG9jL2luZnJhOiBEb2N1bWVudCBnaXRvbGl0ZQoKU2lnbmVk LW9mZi1ieTogTWljaGFlbCBOaWVkZXJtYXllciA8bWljaGFlbEBuaWVkZXJtYXllci5jYz4KKGNo ZXJyeSBwaWNrZWQgZnJvbSBjb21taXQgMDc5MDQyMzFjYjk3MzBlMDllMmI3OTQ4ZTM5NzdlN2My ZWFmYmIxMCkKU2lnbmVkLW9mZi1ieTogTWljaGFlbCBOaWVkZXJtYXllciA8bWljaGFlbEBuaWVk ZXJtYXllci5jYz4KLS0tCiBkb2MvaW5mcmEudHh0IHwgMyArKysKIDEgZmlsZSBjaGFuZ2VkLCAz IGluc2VydGlvbnMoKykKCmRpZmYgLS1naXQgYS9kb2MvaW5mcmEudHh0IGIvZG9jL2luZnJhLnR4 dAppbmRleCAzMGE4NWRkNWNlLi5hZWEzZTkzZTEzIDEwMDY0NAotLS0gYS9kb2MvaW5mcmEudHh0 CisrKyBiL2RvYy9pbmZyYS50eHQKQEAgLTY1LDYgKzY1LDkgQEAgR2l0aHViIG1pcnJvcnMgYXJl IHJlZHVuZGFudGx5IHN5bmNlZCBieSBtdWx0aXBsZSBwZW9wbGUKIAogWW91IG5lZWQgYSBuZXcg Z2l0IHJlcG9zaXRvcnkgcmVsYXRlZCB0byBGRm1wZWcgPyBjb250YWN0IHJvb3QgYXQgZmZtcGVn Lm9yZwogCitnaXQgcmVwb3NpdG9yaWVzIGFyZSBtYW5hZ2VkIGJ5IGdpdG9saXRlLCBldmVyeSBj aGFuZ2UgdG8gcGVybWlzc2lvbnMgaXMKK2xvZ2dlZCwgaW5jbHVkaW5nIHdoZW4sIHdoYXQgYW5k IGJ5IHdob20KKwogCiBGYXRlOgogfn5+fn4KLS0gCjIuNDkuMQoKCkZyb20gZjk5MDEzMDZiYTQz M2FkNjY4ZmQ3MjgyNmVhYTJiNWMwMDY1YmJhYiBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKRnJv bTogTWljaGFlbCBOaWVkZXJtYXllciA8bWljaGFlbEBuaWVkZXJtYXllci5jYz4KRGF0ZTogVHVl LCAxOSBOb3YgMjAyNCAyMzoxODozMSArMDEwMApTdWJqZWN0OiBbUEFUQ0ggMTA4LzQzNF0gZG9j L2luZnJhOiBEb2N1bWVudCB0cmFjIGJhY2t1cCBzeXN0ZW0KClNpZ25lZC1vZmYtYnk6IE1pY2hh ZWwgTmllZGVybWF5ZXIgPG1pY2hhZWxAbmllZGVybWF5ZXIuY2M+CihjaGVycnkgcGlja2VkIGZy b20gY29tbWl0IGVkYzQ4NTVmNzcxMGM0NTYzZTdjZDU3NzM1OThmODM0MWY2NGUwMTkpClNpZ25l ZC1vZmYtYnk6IE1pY2hhZWwgTmllZGVybWF5ZXIgPG1pY2hhZWxAbmllZGVybWF5ZXIuY2M+Ci0t LQogZG9jL2luZnJhLnR4dCB8IDIgKysKIDEgZmlsZSBjaGFuZ2VkLCAyIGluc2VydGlvbnMoKykK CmRpZmYgLS1naXQgYS9kb2MvaW5mcmEudHh0IGIvZG9jL2luZnJhLnR4dAppbmRleCBhZWEzZTkz ZTEzLi43OWQ0ZTU2NzE5IDEwMDY0NAotLS0gYS9kb2MvaW5mcmEudHh0CisrKyBiL2RvYy9pbmZy YS50eHQKQEAgLTIzLDYgKzIzLDggQEAgV2ViLCBtYWlsLCBhbmQgcHVibGljIGZhY2luZyBnaXQs IGFsc28gd2Vic2l0ZSBnaXQKIGZmdHJhYyBWTToKIC0tLS0tLS0tLS0KIHRyYWMuZmZtcGVnLm9y ZyAgICAgICAgIElzc3VlIHRyYWNraW5nCitncGcgZW5jcnlwdGVkIGJhY2t1cHMgb2YgdGhlIHRy YWMgcmVwb3NpdG9yaWVzIGFyZSBjcmVhdGVkIG9uY2UgYSBkYXkKK2FuZCBjYW4gYmUgZG93bmxv YWRlZCBieSBhbnkgb2YgdGhlIGFkbWlucy4KIAogCiBmZmF1eCBWTToKLS0gCjIuNDkuMQoKCkZy b20gZDk2ODdlNjE1NmE4YjA0NDUzN2RiZThlYTQ3ODRhMmZhZDE5NzU0YSBNb24gU2VwIDE3IDAw OjAwOjAwIDIwMDEKRnJvbTogTWljaGFlbCBOaWVkZXJtYXllciA8bWljaGFlbEBuaWVkZXJtYXll ci5jYz4KRGF0ZTogU2F0LCAxNiBOb3YgMjAyNCAyMTozMjo1MyArMDEwMApTdWJqZWN0OiBbUEFU Q0ggMTA5LzQzNF0gZG9jL2RldmVsb3BlcjogRG9jdW1lbnQgcmVsYXRpb25zaGlwIGJldHdlZW4g Z2l0CiBhY2NvdW50cyBhbmQgTUFJTlRBSU5FUlMKClRoaXMgc2hvdWxkIGhhdmUgYmVlbiBkb2N1 bWVudGVkIGxvbmcgYWdvIGFuZCBpIHRob3VnaHQgaXQgd2FzCgpTaWduZWQtb2ZmLWJ5OiBNaWNo YWVsIE5pZWRlcm1heWVyIDxtaWNoYWVsQG5pZWRlcm1heWVyLmNjPgooY2hlcnJ5IHBpY2tlZCBm cm9tIGNvbW1pdCA3MDUxODI1YjAxNzFiZDVkNTY2YzVhNWNjNzg4NTJjNWYzYWEzMDcyKQpTaWdu ZWQtb2ZmLWJ5OiBNaWNoYWVsIE5pZWRlcm1heWVyIDxtaWNoYWVsQG5pZWRlcm1heWVyLmNjPgot LS0KIGRvYy9kZXZlbG9wZXIudGV4aSB8IDE5ICsrKysrKysrKysrKysrKysrKysKIDEgZmlsZSBj aGFuZ2VkLCAxOSBpbnNlcnRpb25zKCspCgpkaWZmIC0tZ2l0IGEvZG9jL2RldmVsb3Blci50ZXhp IGIvZG9jL2RldmVsb3Blci50ZXhpCmluZGV4IDQxYjIxOTM4ZWYuLmRjZmI2NGUwN2QgMTAwNjQ0 Ci0tLSBhL2RvYy9kZXZlbG9wZXIudGV4aQorKysgYi9kb2MvZGV2ZWxvcGVyLnRleGkKQEAgLTky Nyw2ICs5MjcsMjUgQEAgSW4gY2FzZSB5b3UgbmVlZCBmaW5lciBjb250cm9sIG92ZXIgaG93IHZh bGdyaW5kIGlzIGludm9rZWQsIHVzZSB0aGUKIEBjb2Rley0tdGFyZ2V0LWV4ZWM9J3ZhbGdyaW5k IDx5b3VyX2N1c3RvbV92YWxncmluZF9vcHRpb25zPn0gb3B0aW9uIGluCiB5b3VyIGNvbmZpZ3Vy ZSBsaW5lIGluc3RlYWQuCiAKK0BhbmNob3J7TWFpbnRlbmFuY2V9CitAY2hhcHRlciBNYWludGVu YW5jZSBwcm9jZXNzCisKK0BhbmNob3J7TUFJTlRBSU5FUlN9CitAc2VjdGlvbiBNQUlOVEFJTkVS UworCitUaGUgZGV2ZWxvcGVycyBtYWludGFpbmluZyBlYWNoIHBhcnQgb2YgdGhlIGNvZGViYXNl IGFyZSBsaXN0ZWQgaW4gQGZpbGV7TUFJTlRBSU5FUlN9LgorQmVpbmcgbGlzdGVkIGluIEBmaWxl e01BSU5UQUlORVJTfSwgZ2l2ZXMgb25lIHRoZSByaWdodCB0byBoYXZlIGdpdCB3cml0ZSBhY2Nl c3MgdG8KK3RoZSBzcGVjaWZpYyByZXBvc2l0b3J5LgorCitAYW5jaG9ye0JlY29taW5nIGEgbWFp bnRhaW5lcn0KK0BzZWN0aW9uIEJlY29taW5nIGEgbWFpbnRhaW5lcgorCitQZW9wbGUgYWRkIHRo ZW1zZWx2ZXMgdG8gQGZpbGV7TUFJTlRBSU5FUlN9IGJ5IHNlbmRpbmcgYSBwYXRjaCBsaWtlIGFu eSBvdGhlciBjb2RlCitjaGFuZ2UuIFRoZXNlIGdldCByZXZpZXdlZCBieSB0aGUgY29tbXVuaXR5 IGxpa2UgYW55IG90aGVyIHBhdGNoLiBJdCBpcyBleHBlY3RlZAordGhhdCwgaWYgc29tZW9uZSBo YXMgYW4gb2JqZWN0aW9uIHRvIGEgbmV3IG1haW50YWluZXIsIHNoZSBpcyB3aWxsaW5nIHRvIG9i amVjdAoraW4gcHVibGljIHdpdGggaGVyIGZ1bGwgbmFtZSBhbmQgaXMgd2lsbGluZyB0byB0YWtl IG92ZXIgbWFpbnRhaW5lcnNoaXAgZm9yIHRoZSBhcmVhLgorCisKIEBhbmNob3J7UmVsZWFzZSBw cm9jZXNzfQogQGNoYXB0ZXIgUmVsZWFzZSBwcm9jZXNzCiAKLS0gCjIuNDkuMQoKCkZyb20gMzQx N2U5NTVjM2M2ZWQ0MjYxNzRiZGViNDZiNDkwODg5ZGY5M2EyOCBNb24gU2VwIDE3IDAwOjAwOjAw IDIwMDEKRnJvbTogTWljaGFlbCBOaWVkZXJtYXllciA8bWljaGFlbEBuaWVkZXJtYXllci5jYz4K RGF0ZTogU3VuLCAzIE5vdiAyMDI0IDExOjA3OjI3ICswMTAwClN1YmplY3Q6IFtQQVRDSCAxMTAv NDM0XSBhdmZvcm1hdC9pY29kZWM6IGZpeCBpbnRlZ2VyIG92ZXJmbG93IHdpdGggbmJfcGFsCgpG aXhlczogcnVudGltZSBlcnJvcjogc2lnbmVkIGludGVnZXIgb3ZlcmZsb3cKRml4ZXM6IDQyNTM2 OTQ5L2NsdXN0ZXJmdXp6LXRlc3RjYXNlLW1pbmltaXplZC1mdXp6ZXJfbG9hZGZpbGUtNjE5OTg0 NjY4NDM5MzQ3MgpGb3VuZC1ieTogb3NzZnV6egpSZXBvcnRlZC1ieTogS2FjcGVyIE1pY2hhamxv dwpUZXN0ZWQtYnk6IEthY3BlciBNaWNoYWpsb3cKUmV2aWV3ZWQtYnk6IFBldGVyIFJvc3MgPHBy b3NzQHh2aWQub3JnPgpTaWduZWQtb2ZmLWJ5OiBNaWNoYWVsIE5pZWRlcm1heWVyIDxtaWNoYWVs QG5pZWRlcm1heWVyLmNjPgooY2hlcnJ5IHBpY2tlZCBmcm9tIGNvbW1pdCA4NDU2OWI2YzIyY2I0 ZWRhOWM2ODJhYWJlYjVmNjU4MTEyMTI2NzgwKQpTaWduZWQtb2ZmLWJ5OiBNaWNoYWVsIE5pZWRl cm1heWVyIDxtaWNoYWVsQG5pZWRlcm1heWVyLmNjPgotLS0KIGxpYmF2Zm9ybWF0L2ljb2RlYy5j IHwgMiArLQogMSBmaWxlIGNoYW5nZWQsIDEgaW5zZXJ0aW9uKCspLCAxIGRlbGV0aW9uKC0pCgpk aWZmIC0tZ2l0IGEvbGliYXZmb3JtYXQvaWNvZGVjLmMgYi9saWJhdmZvcm1hdC9pY29kZWMuYwpp bmRleCBhZmQwYzcxYjFmLi5iMDlkMDA2MGE2IDEwMDY0NAotLS0gYS9saWJhdmZvcm1hdC9pY29k ZWMuYworKysgYi9saWJhdmZvcm1hdC9pY29kZWMuYwpAQCAtMTk4LDcgKzE5OCw3IEBAIHN0YXRp YyBpbnQgcmVhZF9wYWNrZXQoQVZGb3JtYXRDb250ZXh0ICpzLCBBVlBhY2tldCAqcGt0KQogICAg ICAgICAgICAgQVZfV0wzMihidWYgKyAzMiwgaW1hZ2UtPm5iX3BhbCk7CiAgICAgICAgIH0KIAot ICAgICAgICBpZiAoaW1hZ2UtPm5iX3BhbCA+IElOVF9NQVggLyA0IC0gMTQgLSA0MCkKKyAgICAg ICAgaWYgKGltYWdlLT5uYl9wYWwgPiBJTlRfTUFYIC8gNCAtIDE0IC0gNDBVKQogICAgICAgICAg ICAgcmV0dXJuIEFWRVJST1JfSU5WQUxJRERBVEE7CiAKICAgICAgICAgQVZfV0wzMihidWYgLSA0 LCAxNCArIDQwICsgaW1hZ2UtPm5iX3BhbCAqIDQpOwotLSAKMi40OS4xCgoKRnJvbSA0OWU0YzE3 MTdmZmJiZmFiODMxNTk2MzEzOWJhNGM3ZWQzOTVlMDA0IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAw MQpGcm9tOiBNaWNoYWVsIE5pZWRlcm1heWVyIDxtaWNoYWVsQG5pZWRlcm1heWVyLmNjPgpEYXRl OiBNb24sIDE4IE5vdiAyMDI0IDIzOjU1OjA1ICswMTAwClN1YmplY3Q6IFtQQVRDSCAxMTEvNDM0 XSBhdmNvZGVjL21qcGVnZGVjOiBEaXNhbGxvdyBwcm9ncmVzc2l2ZSBiYXllciBpbWFnZXMKCkZp eGVzOiBOdWxsIHBvaW50ZXIgZGVyZWZlcmVuY2UKRml4ZXM6IHNhbXBsZTEuZG5nCkZvdW5kLWJ5 OiBTb3V0aCBFYXN0IDw4YmlsbGlvbi5wZW9wbGVAZ21haWwuY29tPgpTaWduZWQtb2ZmLWJ5OiBN aWNoYWVsIE5pZWRlcm1heWVyIDxtaWNoYWVsQG5pZWRlcm1heWVyLmNjPgooY2hlcnJ5IHBpY2tl ZCBmcm9tIGNvbW1pdCA2ZDgyODU2MzNkODk2NTY1OGRmYTZjZDBiMjAxY2NhMzYxODRjNDY3KQpT aWduZWQtb2ZmLWJ5OiBNaWNoYWVsIE5pZWRlcm1heWVyIDxtaWNoYWVsQG5pZWRlcm1heWVyLmNj PgotLS0KIGxpYmF2Y29kZWMvbWpwZWdkZWMuYyB8IDQgKysrKwogMSBmaWxlIGNoYW5nZWQsIDQg aW5zZXJ0aW9ucygrKQoKZGlmZiAtLWdpdCBhL2xpYmF2Y29kZWMvbWpwZWdkZWMuYyBiL2xpYmF2 Y29kZWMvbWpwZWdkZWMuYwppbmRleCA4NmVjNTg3MTNjLi5lZjRmYzA3NWIyIDEwMDY0NAotLS0g YS9saWJhdmNvZGVjL21qcGVnZGVjLmMKKysrIGIvbGliYXZjb2RlYy9tanBlZ2RlYy5jCkBAIC00 NjgsNiArNDY4LDEwIEBAIGludCBmZl9tanBlZ19kZWNvZGVfc29mKE1KcGVnRGVjb2RlQ29udGV4 dCAqcykKICAgICAgICAgaWYgKHMtPmF2Y3R4LT5oZWlnaHQgPD0gMCkKICAgICAgICAgICAgIHJl dHVybiBBVkVSUk9SX0lOVkFMSUREQVRBOwogICAgIH0KKyAgICBpZiAocy0+YmF5ZXIgJiYgcy0+ cHJvZ3Jlc3NpdmUpIHsKKyAgICAgICAgYXZwcml2X3JlcXVlc3Rfc2FtcGxlKHMtPmF2Y3R4LCAi cHJvZ3Jlc3NpdmVseSBjb2RlZCBiYXllciBwaWN0dXJlIik7CisgICAgICAgIHJldHVybiBBVkVS Uk9SX0lOVkFMSUREQVRBOworICAgIH0KIAogICAgIGlmIChzLT5nb3RfcGljdHVyZSAmJiBzLT5p bnRlcmxhY2VkICYmIChzLT5ib3R0b21fZmllbGQgPT0gIXMtPmludGVybGFjZV9wb2xhcml0eSkp IHsKICAgICAgICAgaWYgKHMtPnByb2dyZXNzaXZlKSB7Ci0tIAoyLjQ5LjEKCgpGcm9tIDhhYzIz NzViNzFmYTQzMmM3Y2UyYjc1MGI3M2EzMzlkOWRhMjBlYTkgTW9uIFNlcCAxNyAwMDowMDowMCAy MDAxCkZyb206IE1pY2hhZWwgTmllZGVybWF5ZXIgPG1pY2hhZWxAbmllZGVybWF5ZXIuY2M+CkRh dGU6IFN1biwgMjQgTm92IDIwMjQgMjE6MTM6NDIgKzAxMDAKU3ViamVjdDogW1BBVENIIDExMi80 MzRdIE1BSU5UQUlORVJTOiBSZW1vdmUgR3VpbGxhdW1lIFBvaXJpZXIgYW5kIFJvbWFpbgogRG9s YmVhdQoKR3VpbGxhdW1lIG5vIGxvbmdlciBoYXMgYSBQUEMKUm9tYWluIGhhcyBubyB0aW1lCgpD QzogR3VpbGxhdW1lIFBPSVJJRVIgPHBvaXJpZXJnQGdtYWlsLmNvbT4KQ0M6IFJvbWFpbiBEb2xi ZWF1IDxyb21haW5AZG9sYmVhdS5vcmc+ClNpZ25lZC1vZmYtYnk6IE1pY2hhZWwgTmllZGVybWF5 ZXIgPG1pY2hhZWxAbmllZGVybWF5ZXIuY2M+CihjaGVycnkgcGlja2VkIGZyb20gY29tbWl0IDIy NGI2MjQ4OWQzMTRlM2M5NjM3Mzk3Y2I3Yjk1NTA1NjUxMzQ5ZTEpClNpZ25lZC1vZmYtYnk6IE1p Y2hhZWwgTmllZGVybWF5ZXIgPG1pY2hhZWxAbmllZGVybWF5ZXIuY2M+Ci0tLQogTUFJTlRBSU5F UlMgfCAyICstCiAxIGZpbGUgY2hhbmdlZCwgMSBpbnNlcnRpb24oKyksIDEgZGVsZXRpb24oLSkK CmRpZmYgLS1naXQgYS9NQUlOVEFJTkVSUyBiL01BSU5UQUlORVJTCmluZGV4IDc2NjUxZDVmZjgu LmQxYjNkOTkzZTUgMTAwNjQ0Ci0tLSBhL01BSU5UQUlORVJTCisrKyBiL01BSU5UQUlORVJTCkBA IC01MTEsNyArNTExLDcgQEAgT3BlcmF0aW5nIHN5c3RlbXMgLyBDUFUgYXJjaGl0ZWN0dXJlcwog QWxwaGEgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgWzBdCiBNSVBTICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgTWFub2prdW1hciBCaG9zYWxlLCBTaGl5b3UgWWluCiBM b29uZ0FyY2ggICAgICAgICAgICAgICAgICAgICAgICAgICBbMl0gU2hpeW91IFlpbgotTWFjIE9T IFggLyBQb3dlclBDICAgICAgICAgICAgICAgICAgICAgIFJvbWFpbiBEb2xiZWF1LCBHdWlsbGF1 bWUgUG9pcmllcgorTWFjIE9TIFggLyBQb3dlclBDICAgICAgICAgICAgICAgICAgWzBdCiBBbWln YSAvIFBvd2VyUEMgICAgICAgICAgICAgICAgICAgICAgICAgQ29saW4gV2FyZAogTGludXggLyBQ b3dlclBDICAgICAgICAgICAgICAgICAgICAgICAgIExhdXJpIEthc2FuZW4KIFJJU0MtViAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIFsyXSBSw6ltaSBEZW5pcy1Db3VybW9udAotLSAKMi40 OS4xCgoKRnJvbSAzYzhiNTg4ZjNjMTE1YmVhZmY3ZjM0NmYwZmFhNzM3NmI2MzUwNmIwIE1vbiBT ZXAgMTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBNaWNoYWVsIE5pZWRlcm1heWVyIDxtaWNoYWVsQG5p ZWRlcm1heWVyLmNjPgpEYXRlOiBUdWUsIDI2IE5vdiAyMDI0IDIwOjM4OjAxICswMTAwClN1Ympl Y3Q6IFtQQVRDSCAxMTMvNDM0XSBNQUlOVEFJTkVSUzogTGF1cmkgaXMgc3RpbGwgYXZhaWxhYmxl IGJ1dCBpcyByZWFsbHkKIGxvdyBvbiB0aW1lIG5vd2FkYXlzCgpDQzogTGF1cmkgS2FzYW5lbiA8 Y2FuZEBnbXguY29tPgpTaWduZWQtb2ZmLWJ5OiBNaWNoYWVsIE5pZWRlcm1heWVyIDxtaWNoYWVs QG5pZWRlcm1heWVyLmNjPgooY2hlcnJ5IHBpY2tlZCBmcm9tIGNvbW1pdCBlNTMxYjNmZjI3ZmNm YTkxMTBlNzFiYTI5MTg4ODc3OGVjYjNiMGY0KQpTaWduZWQtb2ZmLWJ5OiBNaWNoYWVsIE5pZWRl cm1heWVyIDxtaWNoYWVsQG5pZWRlcm1heWVyLmNjPgotLS0KIE1BSU5UQUlORVJTIHwgMiArLQog MSBmaWxlIGNoYW5nZWQsIDEgaW5zZXJ0aW9uKCspLCAxIGRlbGV0aW9uKC0pCgpkaWZmIC0tZ2l0 IGEvTUFJTlRBSU5FUlMgYi9NQUlOVEFJTkVSUwppbmRleCBkMWIzZDk5M2U1Li44YTJlZTA0YWVk IDEwMDY0NAotLS0gYS9NQUlOVEFJTkVSUworKysgYi9NQUlOVEFJTkVSUwpAQCAtNTEzLDcgKzUx Myw3IEBAIE1JUFMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBNYW5vamt1bWFy IEJob3NhbGUsIFNoaXlvdSBZaW4KIExvb25nQXJjaCAgICAgICAgICAgICAgICAgICAgICAgICAg IFsyXSBTaGl5b3UgWWluCiBNYWMgT1MgWCAvIFBvd2VyUEMgICAgICAgICAgICAgICAgICBbMF0K IEFtaWdhIC8gUG93ZXJQQyAgICAgICAgICAgICAgICAgICAgICAgICBDb2xpbiBXYXJkCi1MaW51 eCAvIFBvd2VyUEMgICAgICAgICAgICAgICAgICAgICAgICAgTGF1cmkgS2FzYW5lbgorTGludXgg LyBQb3dlclBDICAgICAgICAgICAgICAgICAgICAgWzFdIExhdXJpIEthc2FuZW4KIFJJU0MtViAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIFsyXSBSw6ltaSBEZW5pcy1Db3VybW9udAogV2lu ZG93cyBNaW5HVyAgICAgICAgICAgICAgICAgICAgICAgICAgIEFsZXggQmVyZWdzemFzemksIFJh bWlybyBQb2xsYQogV2luZG93cyBDeWd3aW4gICAgICAgICAgICAgICAgICAgICAgICAgIFZpY3Rv ciBQYWVzYQotLSAKMi40OS4xCgoKRnJvbSAxNzNhOTc4YjlkOGNkNDkyNWE4ZDAxYzk1ZWJiZWUw MzgyNTQzNDMyIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBNaWNoYWVsIE5pZWRlcm1h eWVyIDxtaWNoYWVsQG5pZWRlcm1heWVyLmNjPgpEYXRlOiBNb24sIDE4IE5vdiAyMDI0IDAzOjIy OjI3ICswMTAwClN1YmplY3Q6IFtQQVRDSCAxMTQvNDM0XSBhdmNvZGVjL2gyNjQ1X3BhcnNlOiBJ Z25vcmUgTkFMIHdpdGggbnVoX2xheWVyX2lkID09CiA2MwoKQ29tcGx5IHdpdGggIkZvciBwdXJw b3NlcyBvdGhlciB0aGFuIGRldGVybWluaW5nIHRoZSBhbW91bnQgb2YgZGF0YSBpbiB0aGUgZGVj b2RpbmcgdW5pdHMKb2YgdGhlIGJpdHN0cmVhbSwgZGVjb2RlcnMgc2hhbGwgaWdub3JlIGFsbCBk YXRhIHRoYXQgZm9sbG93IHRoZSB2YWx1ZSA2MyBmb3IgbnVoX2xheWVyX2lkIGluIGEgTkFMIHVu aXQiClJlYy4gSVRVLVQgSC4yNjUgdjggKDA4LzIwMjEpCVBhZ2UgNjcKCkZpeGVzOiBpbmRleCA2 MyBvdXQgb2YgYm91bmRzIGZvciB0eXBlICdjb25zdCBpbnQ4X3RbNjNdJyAoYWthICdjb25zdCBz aWduZWQgY2hhcls2M10nKQpGaXhlczogY2x1c3RlcmZ1enotdGVzdGNhc2UtZnV6emVyX2xvYWRm aWxlLTUxMDkyODY3NTIwMjY2MjQKUmVwb3J0ZWQtYnk6IEthY3BlciBNaWNoYWpsb3cgPGthc3Bl cjkzQGdtYWlsLmNvbT4KRm91bmQtYnk6IG9zc2Z1enoKU2lnbmVkLW9mZi1ieTogTWljaGFlbCBO aWVkZXJtYXllciA8bWljaGFlbEBuaWVkZXJtYXllci5jYz4KKGNoZXJyeSBwaWNrZWQgZnJvbSBj b21taXQgMzYwZTdjYWZkMGU2NWZkZjRiMTg2Yzk1ZTI1MTdhOTRiOWYzZmE0ZikKU2lnbmVkLW9m Zi1ieTogTWljaGFlbCBOaWVkZXJtYXllciA8bWljaGFlbEBuaWVkZXJtYXllci5jYz4KLS0tCiBs aWJhdmNvZGVjL2gyNjQ1X3BhcnNlLmMgfCA2ICsrKystLQogMSBmaWxlIGNoYW5nZWQsIDQgaW5z ZXJ0aW9ucygrKSwgMiBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9saWJhdmNvZGVjL2gyNjQ1 X3BhcnNlLmMgYi9saWJhdmNvZGVjL2gyNjQ1X3BhcnNlLmMKaW5kZXggN2I0OGZjYWUxNy4uODI4 MTY5OTllOCAxMDA2NDQKLS0tIGEvbGliYXZjb2RlYy9oMjY0NV9wYXJzZS5jCisrKyBiL2xpYmF2 Y29kZWMvaDI2NDVfcGFyc2UuYwpAQCAtNTgxLDkgKzU4MSwxMSBAQCBpbnQgZmZfaDI2NDVfcGFj a2V0X3NwbGl0KEgyNjQ1UGFja2V0ICpwa3QsIGNvbnN0IHVpbnQ4X3QgKmJ1ZiwgaW50IGxlbmd0 aCwKIAogICAgICAgICBpZiAoY29kZWNfaWQgPT0gQVZfQ09ERUNfSURfVlZDKQogICAgICAgICAg ICAgcmV0ID0gdnZjX3BhcnNlX25hbF9oZWFkZXIobmFsLCBsb2djdHgpOwotICAgICAgICBlbHNl IGlmIChjb2RlY19pZCA9PSBBVl9DT0RFQ19JRF9IRVZDKQorICAgICAgICBlbHNlIGlmIChjb2Rl Y19pZCA9PSBBVl9DT0RFQ19JRF9IRVZDKSB7CiAgICAgICAgICAgICByZXQgPSBoZXZjX3BhcnNl X25hbF9oZWFkZXIobmFsLCBsb2djdHgpOwotICAgICAgICBlbHNlCisgICAgICAgICAgICBpZiAo bmFsLT5udWhfbGF5ZXJfaWQgPT0gNjMpCisgICAgICAgICAgICAgICAgY29udGludWU7CisgICAg ICAgIH0gZWxzZQogICAgICAgICAgICAgcmV0ID0gaDI2NF9wYXJzZV9uYWxfaGVhZGVyKG5hbCwg bG9nY3R4KTsKICAgICAgICAgaWYgKHJldCA8IDApIHsKICAgICAgICAgICAgIGF2X2xvZyhsb2dj dHgsIEFWX0xPR19XQVJOSU5HLCAiSW52YWxpZCBOQUwgdW5pdCAlZCwgc2tpcHBpbmcuXG4iLAot LSAKMi40OS4xCgoKRnJvbSBmOWY0ODM1NzMxNjE3YjAwZDVjOWEyZWVmMmQ1MTQyZDEzYzBhOWM4 IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBNaWNoYWVsIE5pZWRlcm1heWVyIDxtaWNo YWVsQG5pZWRlcm1heWVyLmNjPgpEYXRlOiBTYXQsIDE5IE9jdCAyMDI0IDAwOjA4OjAzICswMjAw ClN1YmplY3Q6IFtQQVRDSCAxMTUvNDM0XSBzd3NjYWxlL3NsaWNlOiBjbGVhciBhbGxvY2F0ZWQg bWVtb3J5IGluCiBhbGxvY19saW5lcygpCgpGaXhlczogdXNlIG9mIHVuaW5pdGlhbGl6ZWQgbWVt b3J5IGluIGhTY2FsZTE2VG8xNV9jKCkKRml4ZXM6IDM3MzkyNDAwNy9jbHVzdGVyZnV6ei10ZXN0 Y2FzZS1taW5pbWl6ZWQtZmZtcGVnX1NXU19mdXp6ZXItNTg0MTE5OTk2ODA5MjE2MAoKRm91bmQt Ynk6IGNvbnRpbnVvdXMgZnV6emluZyBwcm9jZXNzIGh0dHBzOi8vZ2l0aHViLmNvbS9nb29nbGUv b3NzLWZ1enovdHJlZS9tYXN0ZXIvcHJvamVjdHMvZmZtcGVnClNpZ25lZC1vZmYtYnk6IE1pY2hh ZWwgTmllZGVybWF5ZXIgPG1pY2hhZWxAbmllZGVybWF5ZXIuY2M+CihjaGVycnkgcGlja2VkIGZy b20gY29tbWl0IGFlZWMzOWYzYzFiZTgyODYzZWZlNjRjZTk1MjQyZGU1OGUwNzVlOGYpClNpZ25l ZC1vZmYtYnk6IE1pY2hhZWwgTmllZGVybWF5ZXIgPG1pY2hhZWxAbmllZGVybWF5ZXIuY2M+Ci0t LQogbGlic3dzY2FsZS9zbGljZS5jIHwgMiArLQogMSBmaWxlIGNoYW5nZWQsIDEgaW5zZXJ0aW9u KCspLCAxIGRlbGV0aW9uKC0pCgpkaWZmIC0tZ2l0IGEvbGlic3dzY2FsZS9zbGljZS5jIGIvbGli c3dzY2FsZS9zbGljZS5jCmluZGV4IDFjYzNmNmM0MDUuLjk1MTkxMmZiNzUgMTAwNjQ0Ci0tLSBh L2xpYnN3c2NhbGUvc2xpY2UuYworKysgYi9saWJzd3NjYWxlL3NsaWNlLmMKQEAgLTYwLDcgKzYw LDcgQEAgc3RhdGljIGludCBhbGxvY19saW5lcyhTd3NTbGljZSAqcywgaW50IHNpemUsIGludCB3 aWR0aCkKICAgICAgICAgZm9yIChqID0gMDsgaiA8IG47ICsraikgewogICAgICAgICAgICAgLy8g Y2hyb21hIHBsYW5lIGxpbmUgVSBhbmQgViBhcmUgZXhwZWN0ZWQgdG8gYmUgY29udGlndW91cyBp biBtZW1vcnkKICAgICAgICAgICAgIC8vIGJ5IG1teCB2ZXJ0aWNhbCBzY2FsZXIgY29kZQotICAg ICAgICAgICAgcy0+cGxhbmVbaV0ubGluZVtqXSA9IGF2X21hbGxvYyhzaXplICogMiArIDMyKTsK KyAgICAgICAgICAgIHMtPnBsYW5lW2ldLmxpbmVbal0gPSBhdl9tYWxsb2N6KHNpemUgKiAyICsg MzIpOwogICAgICAgICAgICAgaWYgKCFzLT5wbGFuZVtpXS5saW5lW2pdKSB7CiAgICAgICAgICAg ICAgICAgZnJlZV9saW5lcyhzKTsKICAgICAgICAgICAgICAgICByZXR1cm4gQVZFUlJPUihFTk9N RU0pOwotLSAKMi40OS4xCgoKRnJvbSA4NTFiYzk5MjdkOThiYWRmMGI1MDc1M2IwZDM2MDFjYTFl OTE1YmE2IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBNaWNoYWVsIE5pZWRlcm1heWVy IDxtaWNoYWVsQG5pZWRlcm1heWVyLmNjPgpEYXRlOiBTYXQsIDE5IE9jdCAyMDI0IDAxOjE1OjUz ICswMjAwClN1YmplY3Q6IFtQQVRDSCAxMTYvNDM0XSBhdmZvcm1hdC9keGE6IGNoZWNrIGJwYwoK Rml4ZXM6IGludGVnZXIgb3ZlcmZsb3c6IC0yMTQ3NDgzNjQ4IC0gMSBjYW5ub3QgYmUgcmVwcmVz ZW50ZWQgaW4gdHlwZSAnaW50JwpGaXhlczogMzczOTcxNzYyL2NsdXN0ZXJmdXp6LXRlc3RjYXNl LW1pbmltaXplZC1mZm1wZWdfZGVtX0RYQV9mdXp6ZXItNDg4MDQ5MTExMjEwMzkzNgoKRm91bmQt Ynk6IGNvbnRpbnVvdXMgZnV6emluZyBwcm9jZXNzIGh0dHBzOi8vZ2l0aHViLmNvbS9nb29nbGUv b3NzLWZ1enovdHJlZS9tYXN0ZXIvcHJvamVjdHMvZmZtcGVnClNpZ25lZC1vZmYtYnk6IE1pY2hh ZWwgTmllZGVybWF5ZXIgPG1pY2hhZWxAbmllZGVybWF5ZXIuY2M+CihjaGVycnkgcGlja2VkIGZy b20gY29tbWl0IDdlMDIwZjIxNDEzMjY5NDE4MTgwZWVhNzkzM2E5NGVjYjZiZjJlZjgpClNpZ25l ZC1vZmYtYnk6IE1pY2hhZWwgTmllZGVybWF5ZXIgPG1pY2hhZWxAbmllZGVybWF5ZXIuY2M+Ci0t LQogbGliYXZmb3JtYXQvZHhhLmMgfCAyICsrCiAxIGZpbGUgY2hhbmdlZCwgMiBpbnNlcnRpb25z KCspCgpkaWZmIC0tZ2l0IGEvbGliYXZmb3JtYXQvZHhhLmMgYi9saWJhdmZvcm1hdC9keGEuYwpp bmRleCA4MTNlNjY1YTI3Li41NmIxOWE3ZmNhIDEwMDY0NAotLS0gYS9saWJhdmZvcm1hdC9keGEu YworKysgYi9saWJhdmZvcm1hdC9keGEuYwpAQCAtMTIwLDYgKzEyMCw4IEBAIHN0YXRpYyBpbnQg ZHhhX3JlYWRfaGVhZGVyKEFWRm9ybWF0Q29udGV4dCAqcykKICAgICAgICAgICAgIGF2aW9fc2tp cChwYiwgZnNpemUpOwogICAgICAgICB9CiAgICAgICAgIGMtPmJwYyA9IChmc2l6ZSArIChpbnQ2 NF90KWMtPmZyYW1lcyAtIDEpIC8gYy0+ZnJhbWVzOworICAgICAgICBpZiAoYy0+YnBjIDwgMCkK KyAgICAgICAgICAgIHJldHVybiBBVkVSUk9SX0lOVkFMSUREQVRBOwogICAgICAgICBpZihhc3Qt PmNvZGVjcGFyLT5ibG9ja19hbGlnbikgewogICAgICAgICAgICAgaWYgKGMtPmJwYyA+IElOVF9N QVggLSBhc3QtPmNvZGVjcGFyLT5ibG9ja19hbGlnbiArIDEpCiAgICAgICAgICAgICAgICAgcmV0 dXJuIEFWRVJST1JfSU5WQUxJRERBVEE7Ci0tIAoyLjQ5LjEKCgpGcm9tIDA0OGE1NDVlMzE2ZWE2 NmJhZGQwM2Q0NWNlM2I2MGE0MzcyNDU3ODkgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCkZyb206 IE1pY2hhZWwgTmllZGVybWF5ZXIgPG1pY2hhZWxAbmllZGVybWF5ZXIuY2M+CkRhdGU6IE1vbiwg MjMgU2VwIDIwMjQgMjA6NTI6MDIgKzAyMDAKU3ViamVjdDogW1BBVENIIDExNy80MzRdIGF2Y29k ZWMvZWF0Z3E6IENoZWNrIGJ5dGVzdHJlYW0yX2dldF9idWZmZXIoKSBmb3IKIGZhaWx1cmUKCkZp eGVzOiBVc2Ugb2YgdW5pbml0aWFsaXplZCBtZW1vcnkKRml4ZXM6IDcxNTQ2L2NsdXN0ZXJmdXp6 LXRlc3RjYXNlLW1pbmltaXplZC1mZm1wZWdfQVZfQ09ERUNfSURfRUFUR1FfZnV6emVyLTU2MDc2 NTY2NTAyNDQwOTYKCkZvdW5kLWJ5OiBjb250aW51b3VzIGZ1enppbmcgcHJvY2VzcyBodHRwczov L2dpdGh1Yi5jb20vZ29vZ2xlL29zcy1mdXp6L3RyZWUvbWFzdGVyL3Byb2plY3RzL2ZmbXBlZwpT aWduZWQtb2ZmLWJ5OiBNaWNoYWVsIE5pZWRlcm1heWVyIDxtaWNoYWVsQG5pZWRlcm1heWVyLmNj PgooY2hlcnJ5IHBpY2tlZCBmcm9tIGNvbW1pdCA0OTQ5ZTM0ZDk2Y2M3NTFhZWRhYWNlMDIxMjNj MmZiMDJiNWFjMTc0KQpTaWduZWQtb2ZmLWJ5OiBNaWNoYWVsIE5pZWRlcm1heWVyIDxtaWNoYWVs QG5pZWRlcm1heWVyLmNjPgotLS0KIGxpYmF2Y29kZWMvZWF0Z3EuYyB8IDMgKystCiAxIGZpbGUg Y2hhbmdlZCwgMiBpbnNlcnRpb25zKCspLCAxIGRlbGV0aW9uKC0pCgpkaWZmIC0tZ2l0IGEvbGli YXZjb2RlYy9lYXRncS5jIGIvbGliYXZjb2RlYy9lYXRncS5jCmluZGV4IGQzMjZjMDUzOTAuLmM2 ZmNiMDYyZDcgMTAwNjQ0Ci0tLSBhL2xpYmF2Y29kZWMvZWF0Z3EuYworKysgYi9saWJhdmNvZGVj L2VhdGdxLmMKQEAgLTE3OCw3ICsxNzgsOCBAQCBzdGF0aWMgaW50IHRncV9kZWNvZGVfbWIoVGdx Q29udGV4dCAqcywgR2V0Qnl0ZUNvbnRleHQgKmdieXRlLAogICAgICAgICAgICAgZGNbNF0gPSBi eXRlc3RyZWFtMl9nZXRfYnl0ZShnYnl0ZSk7CiAgICAgICAgICAgICBkY1s1XSA9IGJ5dGVzdHJl YW0yX2dldF9ieXRlKGdieXRlKTsKICAgICAgICAgfSBlbHNlIGlmIChtb2RlID09IDYpIHsKLSAg ICAgICAgICAgIGJ5dGVzdHJlYW0yX2dldF9idWZmZXIoZ2J5dGUsIGRjLCA2KTsKKyAgICAgICAg ICAgIGlmIChieXRlc3RyZWFtMl9nZXRfYnVmZmVyKGdieXRlLCBkYywgNikgIT0gNikKKyAgICAg ICAgICAgICAgICByZXR1cm4gQVZFUlJPUl9JTlZBTElEREFUQTsKICAgICAgICAgfSBlbHNlIGlm IChtb2RlID09IDEyKSB7CiAgICAgICAgICAgICBmb3IgKGkgPSAwOyBpIDwgNjsgaSsrKSB7CiAg ICAgICAgICAgICAgICAgZGNbaV0gPSBieXRlc3RyZWFtMl9nZXRfYnl0ZShnYnl0ZSk7Ci0tIAoy LjQ5LjEKCgpGcm9tIDkyODViOTMxNDM1MzBmMzZhOTZjZTFkODU1ZDUxYTVjNTRkODY4YzkgTW9u IFNlcCAxNyAwMDowMDowMCAyMDAxCkZyb206IE1pY2hhZWwgTmllZGVybWF5ZXIgPG1pY2hhZWxA bmllZGVybWF5ZXIuY2M+CkRhdGU6IE1vbiwgMjMgU2VwIDIwMjQgMjA6NTU6MTcgKzAyMDAKU3Vi amVjdDogW1BBVENIIDExOC80MzRdIGF2Zm9ybWF0L3FjcDogQ2hlY2sgZm9yIHJlYWQgZmFpbHVy ZSBpbiBoZWFkZXIKCkZpeGVzOiBVc2Ugb2YgdW5pbml0aWFsaXplZCB2YWx1ZQpGaXhlczogNzE1 NTEvY2x1c3RlcmZ1enotdGVzdGNhc2UtbWluaW1pemVkLWZmbXBlZ19kZW1fUUNQX2Z1enplci00 NjQ3Mzg2NzEyOTY1MTIwCgpGb3VuZC1ieTogY29udGludW91cyBmdXp6aW5nIHByb2Nlc3MgaHR0 cHM6Ly9naXRodWIuY29tL2dvb2dsZS9vc3MtZnV6ei90cmVlL21hc3Rlci9wcm9qZWN0cy9mZm1w ZWcKU2lnbmVkLW9mZi1ieTogTWljaGFlbCBOaWVkZXJtYXllciA8bWljaGFlbEBuaWVkZXJtYXll ci5jYz4KKGNoZXJyeSBwaWNrZWQgZnJvbSBjb21taXQgZjUyYjlkMDU4MzdjMjNiMGM1NTAxMzU1 MWJjMjhkY2U0OTIyZGUwYikKU2lnbmVkLW9mZi1ieTogTWljaGFlbCBOaWVkZXJtYXllciA8bWlj aGFlbEBuaWVkZXJtYXllci5jYz4KLS0tCiBsaWJhdmZvcm1hdC9xY3AuYyB8IDMgKystCiAxIGZp bGUgY2hhbmdlZCwgMiBpbnNlcnRpb25zKCspLCAxIGRlbGV0aW9uKC0pCgpkaWZmIC0tZ2l0IGEv bGliYXZmb3JtYXQvcWNwLmMgYi9saWJhdmZvcm1hdC9xY3AuYwppbmRleCBmZGYxODYxOGQyLi4x M2E0NzlhMTFlIDEwMDY0NAotLS0gYS9saWJhdmZvcm1hdC9xY3AuYworKysgYi9saWJhdmZvcm1h dC9xY3AuYwpAQCAtMTA1LDcgKzEwNSw4IEBAIHN0YXRpYyBpbnQgcWNwX3JlYWRfaGVhZGVyKEFW Rm9ybWF0Q29udGV4dCAqcykKIAogICAgIHN0LT5jb2RlY3Bhci0+Y29kZWNfdHlwZSA9IEFWTUVE SUFfVFlQRV9BVURJTzsKICAgICBzdC0+Y29kZWNwYXItPmNoX2xheW91dCAgPSAoQVZDaGFubmVs TGF5b3V0KUFWX0NIQU5ORUxfTEFZT1VUX01PTk87Ci0gICAgYXZpb19yZWFkKHBiLCBidWYsIDE2 KTsKKyAgICBpZiAoYXZpb19yZWFkKHBiLCBidWYsIDE2KSAhPSAxNikKKyAgICAgICAgcmV0dXJu IEFWRVJST1JfSU5WQUxJRERBVEE7CiAgICAgaWYgKGlzX3FjZWxwXzEza19ndWlkKGJ1ZikpIHsK ICAgICAgICAgc3QtPmNvZGVjcGFyLT5jb2RlY19pZCA9IEFWX0NPREVDX0lEX1FDRUxQOwogICAg IH0gZWxzZSBpZiAoIW1lbWNtcChidWYsIGd1aWRfZXZyYywgMTYpKSB7Ci0tIAoyLjQ5LjEKCgpG cm9tIDgyZDQ1Y2IwMDRhOTM0M2NhYTY1Y2I1NmJmZTMwYjc3ZDRkZWFjNzIgTW9uIFNlcCAxNyAw MDowMDowMCAyMDAxCkZyb206IE1pY2hhZWwgTmllZGVybWF5ZXIgPG1pY2hhZWxAbmllZGVybWF5 ZXIuY2M+CkRhdGU6IE1vbiwgMjMgU2VwIDIwMjQgMjE6MjE6NDAgKzAyMDAKU3ViamVjdDogW1BB VENIIDExOS80MzRdIGF2Y29kZWMvaGV2Yy9oZXZjZGVjOiBpbml0aWFsaXplIHFwX3lfdGFiCgpU aGlzIGRvZXMgbm90IHJlcGxpY2F0ZSBvbiBteSBzZXR1cCwgdGh1cyB0aGlzIGlzIGEgYmxpbmQg Zml4IGJhc2VkIG9uIG9zc2Z1enogdHJhY2UKCkZpeGVzOiB1c2Ugb2YgdW5pbml0aWFsaXplZCB2 YWx1ZQpGaXhlczogNzE3NDcvY2x1c3RlcmZ1enotdGVzdGNhc2UtbWluaW1pemVkLWZmbXBlZ19B Vl9DT0RFQ19JRF9IRVZDX2Z1enplci01NDI3NzM2MTIwNzIxNDA4CgpGb3VuZC1ieTogY29udGlu dW91cyBmdXp6aW5nIHByb2Nlc3MgaHR0cHM6Ly9naXRodWIuY29tL2dvb2dsZS9vc3MtZnV6ei90 cmVlL21hc3Rlci9wcm9qZWN0cy9mZm1wZWcKU2lnbmVkLW9mZi1ieTogTWljaGFlbCBOaWVkZXJt YXllciA8bWljaGFlbEBuaWVkZXJtYXllci5jYz4KKGNoZXJyeSBwaWNrZWQgZnJvbSBjb21taXQg NGZjNDNlNDVmOWU3ZWU1MGQ4ZDI0NGJjZGVhMTViMzdiNTYxNGI5YikKU2lnbmVkLW9mZi1ieTog TWljaGFlbCBOaWVkZXJtYXllciA8bWljaGFlbEBuaWVkZXJtYXllci5jYz4KLS0tCiBsaWJhdmNv ZGVjL2hldmMvaGV2Y2RlYy5jIHwgMiArLQogMSBmaWxlIGNoYW5nZWQsIDEgaW5zZXJ0aW9uKCsp LCAxIGRlbGV0aW9uKC0pCgpkaWZmIC0tZ2l0IGEvbGliYXZjb2RlYy9oZXZjL2hldmNkZWMuYyBi L2xpYmF2Y29kZWMvaGV2Yy9oZXZjZGVjLmMKaW5kZXggNWRjNjA1ZjkxZi4uNmZlNzJiZDI5NyAx MDA2NDQKLS0tIGEvbGliYXZjb2RlYy9oZXZjL2hldmNkZWMuYworKysgYi9saWJhdmNvZGVjL2hl dmMvaGV2Y2RlYy5jCkBAIC0xMjgsNyArMTI4LDcgQEAgc3RhdGljIGludCBwaWNfYXJyYXlzX2lu aXQoSEVWQ0xheWVyQ29udGV4dCAqbCwgY29uc3QgSEVWQ1NQUyAqc3BzKQogICAgIGwtPmZpbHRl cl9zbGljZV9lZGdlcyA9IGF2X21hbGxvY3ooY3RiX2NvdW50KTsKICAgICBsLT50YWJfc2xpY2Vf YWRkcmVzcyAgPSBhdl9tYWxsb2NfYXJyYXkocGljX3NpemVfaW5fY3RiLAogICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICBzaXplb2YoKmwtPnRhYl9zbGljZV9hZGRyZXNzKSk7 Ci0gICAgbC0+cXBfeV90YWIgICAgICAgICAgID0gYXZfbWFsbG9jX2FycmF5KHBpY19zaXplX2lu X2N0YiwKKyAgICBsLT5xcF95X3RhYiAgICAgICAgICAgPSBhdl9jYWxsb2MocGljX3NpemVfaW5f Y3RiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzaXplb2YoKmwtPnFw X3lfdGFiKSk7CiAgICAgaWYgKCFsLT5xcF95X3RhYiB8fCAhbC0+ZmlsdGVyX3NsaWNlX2VkZ2Vz IHx8ICFsLT50YWJfc2xpY2VfYWRkcmVzcykKICAgICAgICAgZ290byBmYWlsOwotLSAKMi40OS4x CgoKRnJvbSAwMjgzOTFhYTU4MDk3OWQ4YmQ1ZDhiZGU2OGNjYzZkYzk5ODIwMDk4IE1vbiBTZXAg MTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBNaWNoYWVsIE5pZWRlcm1heWVyIDxtaWNoYWVsQG5pZWRl cm1heWVyLmNjPgpEYXRlOiBTdW4sIDIyIFNlcCAyMDI0IDIzOjAwOjUyICswMjAwClN1YmplY3Q6 IFtQQVRDSCAxMjAvNDM0XSBzd3NjYWxlL3N3c2NhbGVfdW5zY2FsZWQ6IEZpeCBvZGQgaGVpZ2h0 IHdpdGgKIG52MjRfdG9feXV2NDIwcF9jaHJvbWEoKQoKRml4ZXM6IG91dCBvZiBhcnJheSByZWFk CkZpeGVzOiA3MTcyNi9jbHVzdGVyZnV6ei10ZXN0Y2FzZS1mZm1wZWdfU1dTX2Z1enplci01ODc2 ODkzNTMyODgwODk2CkZpeGVzOiAzNzc3MzU5MTcvY2x1c3RlcmZ1enotdGVzdGNhc2UtbWluaW1p emVkLWZmbXBlZ19TV1NfZnV6emVyLTY2ODYwNzExMTI0MDA4OTYKCkZvdW5kLWJ5OiBjb250aW51 b3VzIGZ1enppbmcgcHJvY2VzcyBodHRwczovL2dpdGh1Yi5jb20vZ29vZ2xlL29zcy1mdXp6L3Ry ZWUvbWFzdGVyL3Byb2plY3RzL2ZmbXBlZwpBcHByb3ZlZC1ieTogUmFtaXJvIFBvbGxhIDxyYW1p cm8ucG9sbGFAZ21haWwuY29tPgpTaWduZWQtb2ZmLWJ5OiBNaWNoYWVsIE5pZWRlcm1heWVyIDxt aWNoYWVsQG5pZWRlcm1heWVyLmNjPgooY2hlcnJ5IHBpY2tlZCBmcm9tIGNvbW1pdCBkMzJkY2Mw N2E3NjIxODVjMTIxM2ZjNzQ4NWNlZGMyMmIyNDQ4ODg3KQpTaWduZWQtb2ZmLWJ5OiBNaWNoYWVs IE5pZWRlcm1heWVyIDxtaWNoYWVsQG5pZWRlcm1heWVyLmNjPgotLS0KIGxpYnN3c2NhbGUvc3dz Y2FsZV91bnNjYWxlZC5jIHwgMiArKwogMSBmaWxlIGNoYW5nZWQsIDIgaW5zZXJ0aW9ucygrKQoK ZGlmZiAtLWdpdCBhL2xpYnN3c2NhbGUvc3dzY2FsZV91bnNjYWxlZC5jIGIvbGlic3dzY2FsZS9z d3NjYWxlX3Vuc2NhbGVkLmMKaW5kZXggZGMxZDVmMzU5My4uZDQwM2M5NTNjYyAxMDA2NDQKLS0t IGEvbGlic3dzY2FsZS9zd3NjYWxlX3Vuc2NhbGVkLmMKKysrIGIvbGlic3dzY2FsZS9zd3NjYWxl X3Vuc2NhbGVkLmMKQEAgLTIzMCw2ICsyMzAsOCBAQCBzdGF0aWMgdm9pZCBudjI0X3RvX3l1djQy MHBfY2hyb21hKHVpbnQ4X3QgKmRzdDEsIGludCBkc3RTdHJpZGUxLAogICAgIGNvbnN0IHVpbnQ4 X3QgKnNyYzIgPSBzcmMgKyBzcmNTdHJpZGU7CiAgICAgLy8gYXZlcmFnZSA0IHBpeGVscyBpbnRv IDEgKGludGVybGVhdmVkIFUgYW5kIFYpCiAgICAgZm9yIChpbnQgeSA9IDA7IHkgPCBoOyB5ICs9 IDIpIHsKKyAgICAgICAgaWYgKHkgKyAxID09IGgpCisgICAgICAgICAgICBzcmMyID0gc3JjMTsK ICAgICAgICAgZm9yIChpbnQgeCA9IDA7IHggPCB3OyB4KyspIHsKICAgICAgICAgICAgIGRzdDFb eF0gPSAoc3JjMVs0ICogeCArIDBdICsgc3JjMVs0ICogeCArIDJdICsKICAgICAgICAgICAgICAg ICAgICAgICAgc3JjMls0ICogeCArIDBdICsgc3JjMls0ICogeCArIDJdKSA+PiAyOwotLSAKMi40 OS4xCgoKRnJvbSA4ODZkZDA1OGZlMTMzYmNjMjI3ZDI5MWI0ZmJmOTlhYWVkOWM5YTQ1IE1vbiBT ZXAgMTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBNaWNoYWVsIE5pZWRlcm1heWVyIDxtaWNoYWVsQG5p ZWRlcm1heWVyLmNjPgpEYXRlOiBNb24sIDIzIFNlcCAyMDI0IDE5OjU3OjI4ICswMjAwClN1Ympl Y3Q6IFtQQVRDSCAxMjEvNDM0XSBhdmNvZGVjL2lsYmNkZWM6IEluaXRpYWxpemUgdGVtcGJ1ZmYy CgpGaXhlczogVXNlIG9mIHVuaW5pdGlhbGl6ZWQgdmFsdWUKRml4ZXM6IDcxMzUwL2NsdXN0ZXJm dXp6LXRlc3RjYXNlLW1pbmltaXplZC1mZm1wZWdfQVZfQ09ERUNfSURfSUxCQ19mdXp6ZXItNjMy MjAyMDgyNzA3MDQ2NAoKRm91bmQtYnk6IGNvbnRpbnVvdXMgZnV6emluZyBwcm9jZXNzIGh0dHBz Oi8vZ2l0aHViLmNvbS9nb29nbGUvb3NzLWZ1enovdHJlZS9tYXN0ZXIvcHJvamVjdHMvZmZtcGVn ClNpZ25lZC1vZmYtYnk6IE1pY2hhZWwgTmllZGVybWF5ZXIgPG1pY2hhZWxAbmllZGVybWF5ZXIu Y2M+CihjaGVycnkgcGlja2VkIGZyb20gY29tbWl0IDQ0ODIyMTg0NDA1MzQ4MDRkMDY3ZGUwMGVl MWE0YmM0OTNjOGI0MWQpClNpZ25lZC1vZmYtYnk6IE1pY2hhZWwgTmllZGVybWF5ZXIgPG1pY2hh ZWxAbmllZGVybWF5ZXIuY2M+Ci0tLQogbGliYXZjb2RlYy9pbGJjZGVjLmMgfCAyICstCiAxIGZp bGUgY2hhbmdlZCwgMSBpbnNlcnRpb24oKyksIDEgZGVsZXRpb24oLSkKCmRpZmYgLS1naXQgYS9s aWJhdmNvZGVjL2lsYmNkZWMuYyBiL2xpYmF2Y29kZWMvaWxiY2RlYy5jCmluZGV4IGJhMWRhMTY4 YmMuLjdmZWEzOWI0M2MgMTAwNjQ0Ci0tLSBhL2xpYmF2Y29kZWMvaWxiY2RlYy5jCisrKyBiL2xp YmF2Y29kZWMvaWxiY2RlYy5jCkBAIC02NTgsNyArNjU4LDcgQEAgc3RhdGljIHZvaWQgZ2V0X2Nv ZGVib29rKGludDE2X3QgKiBjYnZlYywgICAvKiAobykgQ29uc3RydWN0ZWQgY29kZWJvb2sgdmVj dG9yICoKICAgICBpbnQxNl90IGssIGJhc2Vfc2l6ZTsKICAgICBpbnQxNl90IGxhZzsKICAgICAv KiBTdGFjayBiYXNlZCAqLwotICAgIGludDE2X3QgdGVtcGJ1ZmYyW1NVQkwgKyA1XTsKKyAgICBp bnQxNl90IHRlbXBidWZmMltTVUJMICsgNV0gPSB7MH07CiAKICAgICAvKiBEZXRlcm1pbmUgc2l6 ZSBvZiBjb2RlYm9vayBzZWN0aW9ucyAqLwogICAgIGJhc2Vfc2l6ZSA9IGxNZW0gLSBjYnZlY2xl biArIDE7Ci0tIAoyLjQ5LjEKCgpGcm9tIGJjODI0OGQwN2FhNTIyYzM3NDNiMWQxNWUwZGU1ZTdi MjJjYTg3NDggTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCkZyb206IE1pY2hhZWwgTmllZGVybWF5 ZXIgPG1pY2hhZWxAbmllZGVybWF5ZXIuY2M+CkRhdGU6IEZyaSwgMTYgQXVnIDIwMjQgMTY6MDA6 MDEgKzAyMDAKU3ViamVjdDogW1BBVENIIDEyMi80MzRdIGF2Y29kZWMvd2VicDogQ2hlY2sgcmVm X3gveQoKRml4ZXM6IDcwOTkxL2NsdXN0ZXJmdXp6LXRlc3RjYXNlLW1pbmltaXplZC1mZm1wZWdf QVZfQ09ERUNfSURfV0VCUF9mdXp6ZXItNTU0NDA2NzYyMDk5NTA3MgpGaXhlczogdXNlIG9mIHVu aW5pbnRhaWxpemVkIHZhbHVlCgpGb3VuZC1ieTogY29udGludW91cyBmdXp6aW5nIHByb2Nlc3Mg aHR0cHM6Ly9naXRodWIuY29tL2dvb2dsZS9vc3MtZnV6ei90cmVlL21hc3Rlci9wcm9qZWN0cy9m Zm1wZWcKU2lnbmVkLW9mZi1ieTogTWljaGFlbCBOaWVkZXJtYXllciA8bWljaGFlbEBuaWVkZXJt YXllci5jYz4KKGNoZXJyeSBwaWNrZWQgZnJvbSBjb21taXQgN2MxZTczMmFkMmUyNDBhZjVhZmU5 ZmZlYTQ0M2M5MWJiMjMzYWE2NSkKU2lnbmVkLW9mZi1ieTogTWljaGFlbCBOaWVkZXJtYXllciA8 bWljaGFlbEBuaWVkZXJtYXllci5jYz4KLS0tCiBsaWJhdmNvZGVjL3dlYnAuYyB8IDMgKysrCiAx IGZpbGUgY2hhbmdlZCwgMyBpbnNlcnRpb25zKCspCgpkaWZmIC0tZ2l0IGEvbGliYXZjb2RlYy93 ZWJwLmMgYi9saWJhdmNvZGVjL3dlYnAuYwppbmRleCA3YzJhNWYwMTExLi5iNjI0NDU4ZDY3IDEw MDY0NAotLS0gYS9saWJhdmNvZGVjL3dlYnAuYworKysgYi9saWJhdmNvZGVjL3dlYnAuYwpAQCAt NzA0LDYgKzcwNCw5IEBAIHN0YXRpYyBpbnQgZGVjb2RlX2VudHJvcHlfY29kZWRfaW1hZ2UoV2Vi UENvbnRleHQgKnMsIGVudW0gSW1hZ2VSb2xlIHJvbGUsCiAgICAgICAgICAgICByZWZfeCA9IEZG TUFYKDAsIHJlZl94KTsKICAgICAgICAgICAgIHJlZl95ID0gRkZNQVgoMCwgcmVmX3kpOwogCisg ICAgICAgICAgICBpZiAocmVmX3kgPT0geSAmJiByZWZfeCA+PSB4KQorICAgICAgICAgICAgICAg IHJldHVybiBBVkVSUk9SX0lOVkFMSUREQVRBOworCiAgICAgICAgICAgICAvKiBjb3B5IHBpeGVs cwogICAgICAgICAgICAgICogc291cmNlIGFuZCBkZXN0IHJlZ2lvbnMgY2FuIG92ZXJsYXAgYW5k IHdyYXAgbGluZXMsIHNvIGp1c3QKICAgICAgICAgICAgICAqIGNvcHkgcGVyLXBpeGVsICovCi0t IAoyLjQ5LjEKCgpGcm9tIDgyODU2OWMwZDBlZmFhMmRhMjM0NzJiODM5MWUyZDI1MWQyZjhhNzEg TW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCkZyb206IE1pY2hhZWwgTmllZGVybWF5ZXIgPG1pY2hh ZWxAbmllZGVybWF5ZXIuY2M+CkRhdGU6IFdlZCwgMzEgSnVsIDIwMjQgMjA6NTk6NDkgKzAyMDAK U3ViamVjdDogW1BBVENIIDEyMy80MzRdIGF2Y29kZWMvYWFjL2FhY2RlY191c2FjOiBDbGVhbiBp Y3MyLT5tYXhfc2ZiIHdoZW4KIGZpcnN0IFNDRSBmYWlscwoKRml4ZXM6IG91dCBvZiBhcnJheSBh Y2Nlc3MKRml4ZXM6IDcwNzM0L2NsdXN0ZXJmdXp6LXRlc3RjYXNlLW1pbmltaXplZC1mZm1wZWdf QVZfQ09ERUNfSURfQUFDX0xBVE1fZnV6emVyLTQ3NDE0MjcwNjg3MzEzOTIKRml4ZXM6IDM4MzE5 NDA3MC9jbHVzdGVyZnV6ei10ZXN0Y2FzZS1taW5pbWl6ZWQtZmZtcGVnX0FWX0NPREVDX0lEX0FB Q19MQVRNX2Z1enplci01MzAyMzg3NzA4ODU0MjcyCgpGb3VuZC1ieTogY29udGludW91cyBmdXp6 aW5nIHByb2Nlc3MgaHR0cHM6Ly9naXRodWIuY29tL2dvb2dsZS9vc3MtZnV6ei90cmVlL21hc3Rl ci9wcm9qZWN0cy9mZm1wZWcKUmV2aWV3ZWQtYnk6IEx5bm5lIDxkZXZAbHlubmUuZWU+ClNpZ25l ZC1vZmYtYnk6IE1pY2hhZWwgTmllZGVybWF5ZXIgPG1pY2hhZWxAbmllZGVybWF5ZXIuY2M+Cihj aGVycnkgcGlja2VkIGZyb20gY29tbWl0IDY4MmQ3MTBiY2I4ZDIxZDhjZGEwMTgyYmIxNzI1NjYz ZGJiYWM3Y2QpClNpZ25lZC1vZmYtYnk6IE1pY2hhZWwgTmllZGVybWF5ZXIgPG1pY2hhZWxAbmll ZGVybWF5ZXIuY2M+Ci0tLQogbGliYXZjb2RlYy9hYWMvYWFjZGVjX3VzYWMuYyB8IDQgKysrLQog MSBmaWxlIGNoYW5nZWQsIDMgaW5zZXJ0aW9ucygrKSwgMSBkZWxldGlvbigtKQoKZGlmZiAtLWdp dCBhL2xpYmF2Y29kZWMvYWFjL2FhY2RlY191c2FjLmMgYi9saWJhdmNvZGVjL2FhYy9hYWNkZWNf dXNhYy5jCmluZGV4IDFiNzlkMTlhMzAuLjVlZmEyNDgyMzggMTAwNjQ0Ci0tLSBhL2xpYmF2Y29k ZWMvYWFjL2FhY2RlY191c2FjLmMKKysrIGIvbGliYXZjb2RlYy9hYWMvYWFjZGVjX3VzYWMuYwpA QCAtOTE3LDggKzkxNywxMCBAQCBzdGF0aWMgaW50IGRlY29kZV91c2FjX3N0ZXJlb19pbmZvKEFB Q0RlY0NvbnRleHQgKmFjLCBBQUNVU0FDQ29uZmlnICp1c2FjLAogICAgICAgICB9CiAKICAgICAg ICAgcmV0ID0gc2V0dXBfc2NlKGFjLCBzY2UxLCB1c2FjKTsKLSAgICAgICAgaWYgKHJldCA8IDAp CisgICAgICAgIGlmIChyZXQgPCAwKSB7CisgICAgICAgICAgICBpY3MyLT5tYXhfc2ZiID0gMDsK ICAgICAgICAgICAgIHJldHVybiByZXQ7CisgICAgICAgIH0KIAogICAgICAgICByZXQgPSBzZXR1 cF9zY2UoYWMsIHNjZTIsIHVzYWMpOwogICAgICAgICBpZiAocmV0IDwgMCkKLS0gCjIuNDkuMQoK CkZyb20gYjQ0NDg4MDQyMjQzNjcxYWQ2MmI2OWRhYTY2MzNmYTRiMGUzMDVjMCBNb24gU2VwIDE3 IDAwOjAwOjAwIDIwMDEKRnJvbTogTWljaGFlbCBOaWVkZXJtYXllciA8bWljaGFlbEBuaWVkZXJt YXllci5jYz4KRGF0ZTogV2VkLCAzMSBKdWwgMjAyNCAyMDowMzoxMiArMDIwMApTdWJqZWN0OiBb UEFUQ0ggMTI0LzQzNF0gYXZjb2RlYy9hYWMvYWFjZGVjX3VzYWM6IERvbnQgbGVhdmUgdHlwZSBh dCBhIGludmFsaWQKIHZhbHVlCgpGaXhlczogQXNzZXJ0aW9uIDAgZmFpbGVkIGF0IGxpYmF2Y29k ZWMvYWFjL2FhY2RlY191c2FjLmM6MTY0NgpGaXhlczogNzA1NDEvY2x1c3RlcmZ1enotdGVzdGNh c2UtbWluaW1pemVkLWZmbXBlZ19BVl9DT0RFQ19JRF9BQUNfTEFUTV9mdXp6ZXItNTE5MDg4OTU0 MzEwNjU2MAoKRm91bmQtYnk6IGNvbnRpbnVvdXMgZnV6emluZyBwcm9jZXNzIGh0dHBzOi8vZ2l0 aHViLmNvbS9nb29nbGUvb3NzLWZ1enovdHJlZS9tYXN0ZXIvcHJvamVjdHMvZmZtcGVnClJldmll d2VkLWJ5OiBMeW5uZSA8ZGV2QGx5bm5lLmVlPgpTaWduZWQtb2ZmLWJ5OiBNaWNoYWVsIE5pZWRl cm1heWVyIDxtaWNoYWVsQG5pZWRlcm1heWVyLmNjPgooY2hlcnJ5IHBpY2tlZCBmcm9tIGNvbW1p dCBhNTE4YjU1NDBkZTQ2OWFjNWQ0Zjk2ZTgyMDQ2MmU1Y2U1MTljMmRiKQpTaWduZWQtb2ZmLWJ5 OiBNaWNoYWVsIE5pZWRlcm1heWVyIDxtaWNoYWVsQG5pZWRlcm1heWVyLmNjPgotLS0KIGxpYmF2 Y29kZWMvYWFjL2FhY2RlY191c2FjLmMgfCAxICsKIDEgZmlsZSBjaGFuZ2VkLCAxIGluc2VydGlv bigrKQoKZGlmZiAtLWdpdCBhL2xpYmF2Y29kZWMvYWFjL2FhY2RlY191c2FjLmMgYi9saWJhdmNv ZGVjL2FhYy9hYWNkZWNfdXNhYy5jCmluZGV4IDVlZmEyNDgyMzguLjI5MzhlNjkzODcgMTAwNjQ0 Ci0tLSBhL2xpYmF2Y29kZWMvYWFjL2FhY2RlY191c2FjLmMKKysrIGIvbGliYXZjb2RlYy9hYWMv YWFjZGVjX3VzYWMuYwpAQCAtMjY1LDYgKzI2NSw3IEBAIHN0YXRpYyBpbnQgZGVjb2RlX3VzYWNf ZXh0ZW5zaW9uKEFBQ0RlY0NvbnRleHQgKmFjLCBBQUNVc2FjRWxlbUNvbmZpZyAqZSwKICAgICAg ICAgLyogTm8gY29uZmlndXJhdGlvbiBuZWVkZWQgLSBmYWxsdGhyb3VnaCAobGVuIHNob3VsZCBi ZSAwKSAqLwogICAgIGRlZmF1bHQ6CiAgICAgICAgIHNraXBfYml0cyhnYiwgOCpleHRfY29uZmln X2xlbik7CisgICAgICAgIGUtPmV4dC50eXBlID0gSURfRVhUX0VMRV9GSUxMOwogICAgICAgICBi cmVhazsKICAgICB9OwogCi0tIAoyLjQ5LjEKCgpGcm9tIDUyNDYxZTdlOGI1NGU0MDhhODFhN2Nm ODAwMDczYmVjODA5NjFmZTAgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCkZyb206IE1pY2hhZWwg TmllZGVybWF5ZXIgPG1pY2hhZWxAbmllZGVybWF5ZXIuY2M+CkRhdGU6IFN1biwgMjIgRGVjIDIw MjQgMDA6Mjg6MjEgKzAxMDAKU3ViamVjdDogW1BBVENIIDEyNS80MzRdIGF2dXRpbC90aW1lY29k ZTogQXZvaWQgZnBzIG92ZXJmbG93IGluCiBhdl90aW1lY29kZV9nZXRfc21wdGVfZnJvbV9mcmFt ZW51bSgpCgpGaXggZnJvbSBjOTQ4NzU0NzFlM2JhM2RjMzk2YzY5MTlmZjNlYzliMTQ1MzljZDcx CgpGb3VuZC1ieTogWW91bmdqYWUgQ2hvaSA8eW91bmdqYWVjaG9pQGtvcmVhLmFjLmtyPgpTaWdu ZWQtb2ZmLWJ5OiBNaWNoYWVsIE5pZWRlcm1heWVyIDxtaWNoYWVsQG5pZWRlcm1heWVyLmNjPgoo Y2hlcnJ5IHBpY2tlZCBmcm9tIGNvbW1pdCA2YmEzM2I1MGY1MWIxN2VlZjA0NDlmMjBiMzUyNGYx NzRkYzljM2NjKQpTaWduZWQtb2ZmLWJ5OiBNaWNoYWVsIE5pZWRlcm1heWVyIDxtaWNoYWVsQG5p ZWRlcm1heWVyLmNjPgotLS0KIGxpYmF2dXRpbC90aW1lY29kZS5jIHwgNCArKy0tCiAxIGZpbGUg Y2hhbmdlZCwgMiBpbnNlcnRpb25zKCspLCAyIGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL2xp YmF2dXRpbC90aW1lY29kZS5jIGIvbGliYXZ1dGlsL3RpbWVjb2RlLmMKaW5kZXggZjQwYTEwZWIz OC4uZjQ1NDQ2NmY5NyAxMDA2NDQKLS0tIGEvbGliYXZ1dGlsL3RpbWVjb2RlLmMKKysrIGIvbGli YXZ1dGlsL3RpbWVjb2RlLmMKQEAgLTYxLDggKzYxLDggQEAgdWludDMyX3QgYXZfdGltZWNvZGVf Z2V0X3NtcHRlX2Zyb21fZnJhbWVudW0oY29uc3QgQVZUaW1lY29kZSAqdGMsIGludCBmcmFtZW51 bSkKICAgICAgICAgZnJhbWVudW0gPSBhdl90aW1lY29kZV9hZGp1c3RfbnRzY19mcmFtZW51bTIo ZnJhbWVudW0sIHRjLT5mcHMpOwogICAgIGZmID0gZnJhbWVudW0gJSBmcHM7CiAgICAgc3MgPSBm cmFtZW51bSAvIGZwcyAgICAgICUgNjA7Ci0gICAgbW0gPSBmcmFtZW51bSAvIChmcHMqNjApICUg NjA7Ci0gICAgaGggPSBmcmFtZW51bSAvIChmcHMqMzYwMCkgJSAyNDsKKyAgICBtbSA9IGZyYW1l bnVtIC8gKGZwcyo2MExMKSAlIDYwOworICAgIGhoID0gZnJhbWVudW0gLyAoZnBzKjM2MDBMTCkg JSAyNDsKICAgICByZXR1cm4gYXZfdGltZWNvZGVfZ2V0X3NtcHRlKHRjLT5yYXRlLCBkcm9wLCBo aCwgbW0sIHNzLCBmZik7CiB9CiAKLS0gCjIuNDkuMQoKCkZyb20gNjM1MDUzMDgwNjhhODEzZDU4 NDYyMzZhZWU5NWM4MzdiNGNjNDdmZSBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKRnJvbTogTWlj aGFlbCBOaWVkZXJtYXllciA8bWljaGFlbEBuaWVkZXJtYXllci5jYz4KRGF0ZTogU3VuLCA4IERl YyAyMDI0IDAwOjMyOjM4ICswMTAwClN1YmplY3Q6IFtQQVRDSCAxMjYvNDM0XSB0b29scy90YXJn ZXRfZGVjX2Z1enplcjogQWRqdXN0IFRocmVzaG9sZCBmb3IgaW5kZW81CgpGaXhlczogMzc5NzY4 MjUxL2NsdXN0ZXJmdXp6LXRlc3RjYXNlLW1pbmltaXplZC1mZm1wZWdfQVZfQ09ERUNfSURfSU5E RU81X2Z1enplci01OTgxMzI5MDg0MTg2NjI0CkZpeGVzOiBUaW1lb3V0CgpGb3VuZC1ieTogY29u dGludW91cyBmdXp6aW5nIHByb2Nlc3MgaHR0cHM6Ly9naXRodWIuY29tL2dvb2dsZS9vc3MtZnV6 ei90cmVlL21hc3Rlci9wcm9qZWN0cy9mZm1wZWcKU2lnbmVkLW9mZi1ieTogTWljaGFlbCBOaWVk ZXJtYXllciA8bWljaGFlbEBuaWVkZXJtYXllci5jYz4KKGNoZXJyeSBwaWNrZWQgZnJvbSBjb21t aXQgODllZmM2Yzk3YzRmYWY5N2RmZWQ1NThiN2JjZTJmNjRmOGJkNjFlMSkKU2lnbmVkLW9mZi1i eTogTWljaGFlbCBOaWVkZXJtYXllciA8bWljaGFlbEBuaWVkZXJtYXllci5jYz4KLS0tCiB0b29s cy90YXJnZXRfZGVjX2Z1enplci5jIHwgMSArCiAxIGZpbGUgY2hhbmdlZCwgMSBpbnNlcnRpb24o KykKCmRpZmYgLS1naXQgYS90b29scy90YXJnZXRfZGVjX2Z1enplci5jIGIvdG9vbHMvdGFyZ2V0 X2RlY19mdXp6ZXIuYwppbmRleCA0MzJlOTQ4ODE2Li40OGZhMGU5M2ExIDEwMDY0NAotLS0gYS90 b29scy90YXJnZXRfZGVjX2Z1enplci5jCisrKyBiL3Rvb2xzL3RhcmdldF9kZWNfZnV6emVyLmMK QEAgLTI1NSw2ICsyNTUsNyBAQCBpbnQgTExWTUZ1enplclRlc3RPbmVJbnB1dChjb25zdCB1aW50 OF90ICpkYXRhLCBzaXplX3Qgc2l6ZSkgewogICAgIGNhc2UgQVZfQ09ERUNfSURfSFFfSFFBOiAg ICAgIG1heHBpeGVscyAgLz0gMTI4OyAgIGJyZWFrOwogICAgIGNhc2UgQVZfQ09ERUNfSURfSUZG X0lMQk06ICAgIG1heHBpeGVscyAgLz0gNDA5NjsgIGJyZWFrOwogICAgIGNhc2UgQVZfQ09ERUNf SURfSU5ERU80OiAgICAgIG1heHBpeGVscyAgLz0gMTI4OyAgIGJyZWFrOworICAgIGNhc2UgQVZf Q09ERUNfSURfSU5ERU81OiAgICAgIG1heHBpeGVscyAgLz0gMTAyNDsgIGJyZWFrOwogICAgIGNh c2UgQVZfQ09ERUNfSURfSU5URVJQTEFZX0FDTTogbWF4c2FtcGxlcyAvPSAxNjM4NDsgIGJyZWFr OwogICAgIGNhc2UgQVZfQ09ERUNfSURfSlBFRzIwMDA6ICAgIG1heHBpeGVscyAgLz0gMTYzODQ7 IGJyZWFrOwogICAgIGNhc2UgQVZfQ09ERUNfSURfTEFHQVJJVEg6ICAgIG1heHBpeGVscyAgLz0g MTAyNDsgIGJyZWFrOwotLSAKMi40OS4xCgoKRnJvbSAzNjRlYjIxZDJhMzQ3MmM1YjM0Njg4MThh NDEzZjQyY2UxOWQwNmNhIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBNaWNoYWVsIE5p ZWRlcm1heWVyIDxtaWNoYWVsQG5pZWRlcm1heWVyLmNjPgpEYXRlOiBTdW4sIDggRGVjIDIwMjQg MDM6MDQ6MTYgKzAxMDAKU3ViamVjdDogW1BBVENIIDEyNy80MzRdIHRvb2xzL3RhcmdldF9kZWNf ZnV6emVyOiBBZGp1c3QgdGhyZXNob2xkIGZvciBNVkMxCgpGaXhlczogVGltZW91dApGaXhlczog Mzc4MjMxMjEzL2NsdXN0ZXJmdXp6LXRlc3RjYXNlLW1pbmltaXplZC1mZm1wZWdfQVZfQ09ERUNf SURfTVZDMV9mdXp6ZXItNjY0MDk2MDUwMDQ2NTY2NAoKRm91bmQtYnk6IGNvbnRpbnVvdXMgZnV6 emluZyBwcm9jZXNzIGh0dHBzOi8vZ2l0aHViLmNvbS9nb29nbGUvb3NzLWZ1enovdHJlZS9tYXN0 ZXIvcHJvamVjdHMvZmZtcGVnClNpZ25lZC1vZmYtYnk6IE1pY2hhZWwgTmllZGVybWF5ZXIgPG1p Y2hhZWxAbmllZGVybWF5ZXIuY2M+CihjaGVycnkgcGlja2VkIGZyb20gY29tbWl0IGU3MjMwYmM1 MDNhMTE4MGU2ZWI3NmY5NTZlOWM2YjYxMzUyOTM2ZTQpClNpZ25lZC1vZmYtYnk6IE1pY2hhZWwg TmllZGVybWF5ZXIgPG1pY2hhZWxAbmllZGVybWF5ZXIuY2M+Ci0tLQogdG9vbHMvdGFyZ2V0X2Rl Y19mdXp6ZXIuYyB8IDEgKwogMSBmaWxlIGNoYW5nZWQsIDEgaW5zZXJ0aW9uKCspCgpkaWZmIC0t Z2l0IGEvdG9vbHMvdGFyZ2V0X2RlY19mdXp6ZXIuYyBiL3Rvb2xzL3RhcmdldF9kZWNfZnV6emVy LmMKaW5kZXggNDhmYTBlOTNhMS4uMWYwMTgxOWViOCAxMDA2NDQKLS0tIGEvdG9vbHMvdGFyZ2V0 X2RlY19mdXp6ZXIuYworKysgYi90b29scy90YXJnZXRfZGVjX2Z1enplci5jCkBAIC0yNzEsNiAr MjcxLDcgQEAgaW50IExMVk1GdXp6ZXJUZXN0T25lSW5wdXQoY29uc3QgdWludDhfdCAqZGF0YSwg c2l6ZV90IHNpemUpIHsKICAgICBjYXNlIEFWX0NPREVDX0lEX01TWkg6ICAgICAgICBtYXhwaXhl bHMgIC89IDEyODsgICBicmVhazsKICAgICBjYXNlIEFWX0NPREVDX0lEX01UUzI6ICAgICAgICBt YXhwaXhlbHMgIC89IDQwOTY7ICBicmVhazsKICAgICBjYXNlIEFWX0NPREVDX0lEX01WMzA6ICAg ICAgICBtYXhwaXhlbHMgIC89IDEyODsgICBicmVhazsKKyAgICBjYXNlIEFWX0NPREVDX0lEX01W QzE6ICAgICAgICBtYXhwaXhlbHMgIC89IDEwMjQ7ICBicmVhazsKICAgICBjYXNlIEFWX0NPREVD X0lEX01WQzI6ICAgICAgICBtYXhwaXhlbHMgIC89IDEyODsgICBicmVhazsKICAgICBjYXNlIEFW X0NPREVDX0lEX01WSEE6ICAgICAgICBtYXhwaXhlbHMgIC89IDE2Mzg0OyBicmVhazsKICAgICBj YXNlIEFWX0NPREVDX0lEX01WRFY6ICAgICAgICBtYXhwaXhlbHMgIC89IDEwMjQ7ICBicmVhazsK LS0gCjIuNDkuMQoKCkZyb20gNWUxN2ZmODExYWU4MWI4ZWM3NDNjYjIwMzBiODc3ZGI3NzU1MWUz NSBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKRnJvbTogTWljaGFlbCBOaWVkZXJtYXllciA8bWlj aGFlbEBuaWVkZXJtYXllci5jYz4KRGF0ZTogV2VkLCAxMSBEZWMgMjAyNCAyMToyNDowMCArMDEw MApTdWJqZWN0OiBbUEFUQ0ggMTI4LzQzNF0gdG9vbHMvdGFyZ2V0X2RlY19mdXp6ZXI6IEFkanVz dCB0aHJlc2hvbGQgZm9yIEVBQ01WCgpGaXhlczogVGltZW91dApGaXhlczogMzgyOTg4NzM1L2Ns dXN0ZXJmdXp6LXRlc3RjYXNlLW1pbmltaXplZC1mZm1wZWdfQVZfQ09ERUNfSURfRUFDTVZfZnV6 emVyLTUyNzg3MjE0NjU5NzQ3ODQKCkZvdW5kLWJ5OiBjb250aW51b3VzIGZ1enppbmcgcHJvY2Vz cyBodHRwczovL2dpdGh1Yi5jb20vZ29vZ2xlL29zcy1mdXp6L3RyZWUvbWFzdGVyL3Byb2plY3Rz L2ZmbXBlZwpTaWduZWQtb2ZmLWJ5OiBNaWNoYWVsIE5pZWRlcm1heWVyIDxtaWNoYWVsQG5pZWRl cm1heWVyLmNjPgooY2hlcnJ5IHBpY2tlZCBmcm9tIGNvbW1pdCA4ZjRlYjBmZTAzYWNhNTUyZDM3 NWUyYmNlMDE5YTVkYTc4NWY1MGQ1KQpTaWduZWQtb2ZmLWJ5OiBNaWNoYWVsIE5pZWRlcm1heWVy IDxtaWNoYWVsQG5pZWRlcm1heWVyLmNjPgotLS0KIHRvb2xzL3RhcmdldF9kZWNfZnV6emVyLmMg fCAxICsKIDEgZmlsZSBjaGFuZ2VkLCAxIGluc2VydGlvbigrKQoKZGlmZiAtLWdpdCBhL3Rvb2xz L3RhcmdldF9kZWNfZnV6emVyLmMgYi90b29scy90YXJnZXRfZGVjX2Z1enplci5jCmluZGV4IDFm MDE4MTllYjguLjZlNmIxMGUxMzggMTAwNjQ0Ci0tLSBhL3Rvb2xzL3RhcmdldF9kZWNfZnV6emVy LmMKKysrIGIvdG9vbHMvdGFyZ2V0X2RlY19mdXp6ZXIuYwpAQCAtMjM3LDYgKzIzNyw3IEBAIGlu dCBMTFZNRnV6emVyVGVzdE9uZUlucHV0KGNvbnN0IHVpbnQ4X3QgKmRhdGEsIHNpemVfdCBzaXpl KSB7CiAgICAgY2FzZSBBVl9DT0RFQ19JRF9EVkJfU1VCVElUTEU6IGF2X2RpY3Rfc2V0X2ludCgm b3B0cywgImNvbXB1dGVfY2x1dCIsIC0yLCAwKTsgYnJlYWs7CiAgICAgY2FzZSBBVl9DT0RFQ19J RF9EWEE6ICAgICAgICAgbWF4cGl4ZWxzICAvPSAzMjsgICAgYnJlYWs7CiAgICAgY2FzZSBBVl9D T0RFQ19JRF9EWFY6ICAgICAgICAgbWF4cGl4ZWxzICAvPSAzMjsgICAgYnJlYWs7CisgICAgY2Fz ZSBBVl9DT0RFQ19JRF9DTVY6ICAgICAgICAgbWF4cGl4ZWxzICAvPSAyNTY7ICAgYnJlYWs7CiAg ICAgY2FzZSBBVl9DT0RFQ19JRF9FWFI6ICAgICAgICAgbWF4cGl4ZWxzICAvPSAxMDI0OyAgYnJl YWs7CiAgICAgY2FzZSBBVl9DT0RFQ19JRF9GRlYxOiAgICAgICAgbWF4cGl4ZWxzICAvPSAzMjsg ICAgYnJlYWs7CiAgICAgY2FzZSBBVl9DT0RFQ19JRF9GRldBVkVTWU5USDogbWF4c2FtcGxlcyAv PSAxNjM4NDsgYnJlYWs7Ci0tIAoyLjQ5LjEKCgpGcm9tIDFjYjVjYWViNWJlMDMzNThhYTViNGM4 M2UwZjg2NjdlNDZmY2YwMTYgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCkZyb206IE1pY2hhZWwg TmllZGVybWF5ZXIgPG1pY2hhZWxAbmllZGVybWF5ZXIuY2M+CkRhdGU6IFdlZCwgMTEgRGVjIDIw MjQgMjE6MzY6MTEgKzAxMDAKU3ViamVjdDogW1BBVENIIDEyOS80MzRdIGF2Zm9ybWF0L21hdHJv c2thZGVjOiBDaGVjayBwcmVfbnMgZm9yIG92ZXJmbG93CgpGaXhlczogc2lnbmVkIGludGVnZXIg b3ZlcmZsb3c6IC0zNDgzNDc5MTIwMzc2MzAwMDk2IC0gNzQ0MjMyMzk0NDE0NTcwMDg2NCBjYW5u b3QgYmUgcmVwcmVzZW50ZWQgaW4gdHlwZSAnbG9uZycKRml4ZXM6IDM4MzE4NzQ4OS9jbHVzdGVy ZnV6ei10ZXN0Y2FzZS1taW5pbWl6ZWQtZmZtcGVnX2RlbV9XRUJNX0RBU0hfTUFOSUZFU1RfZnV6 emVyLTQ1NjE0NzA1ODAzOTE5MzYKCkZvdW5kLWJ5OiBjb250aW51b3VzIGZ1enppbmcgcHJvY2Vz cyBodHRwczovL2dpdGh1Yi5jb20vZ29vZ2xlL29zcy1mdXp6L3RyZWUvbWFzdGVyL3Byb2plY3Rz L2ZmbXBlZwpTaWduZWQtb2ZmLWJ5OiBNaWNoYWVsIE5pZWRlcm1heWVyIDxtaWNoYWVsQG5pZWRl cm1heWVyLmNjPgooY2hlcnJ5IHBpY2tlZCBmcm9tIGNvbW1pdCAzNjFkMjRlNmQ5MjBlNGY3ZTRl NWZhMWZkNmZiYjY5MjJiZmYzNWYyKQpTaWduZWQtb2ZmLWJ5OiBNaWNoYWVsIE5pZWRlcm1heWVy IDxtaWNoYWVsQG5pZWRlcm1heWVyLmNjPgotLS0KIGxpYmF2Zm9ybWF0L21hdHJvc2thZGVjLmMg fCA1ICsrKy0tCiAxIGZpbGUgY2hhbmdlZCwgMyBpbnNlcnRpb25zKCspLCAyIGRlbGV0aW9ucygt KQoKZGlmZiAtLWdpdCBhL2xpYmF2Zm9ybWF0L21hdHJvc2thZGVjLmMgYi9saWJhdmZvcm1hdC9t YXRyb3NrYWRlYy5jCmluZGV4IDBlMTUwZjkxMzguLmVmYTNlNDRjODUgMTAwNjQ0Ci0tLSBhL2xp YmF2Zm9ybWF0L21hdHJvc2thZGVjLmMKKysrIGIvbGliYXZmb3JtYXQvbWF0cm9za2FkZWMuYwpA QCAtNDYxOCw5ICs0NjE4LDEwIEBAIHN0YXRpYyBpbnQ2NF90IHdlYm1fZGFzaF9tYW5pZmVzdF9j b21wdXRlX2JhbmR3aWR0aChBVkZvcm1hdENvbnRleHQgKnMsIGludDY0X3QKICAgICAgICAgICAg IC8vIFRoZSBwcmVidWZmZXIgZW5kcyBpbiB0aGUgbGFzdCBDdWUuIEVzdGltYXRlIGhvdyBtdWNo IGRhdGEgd2FzCiAgICAgICAgICAgICAvLyBwcmVidWZmZXJlZC4KICAgICAgICAgICAgIHByZV9i eXRlcyA9IGRlc2NfZW5kLmVuZF9vZmZzZXQgLSBkZXNjX2VuZC5zdGFydF9vZmZzZXQ7Ci0gICAg ICAgICAgICBwcmVfbnMgPSBkZXNjX2VuZC5lbmRfdGltZV9ucyAtIGRlc2NfZW5kLnN0YXJ0X3Rp bWVfbnM7Ci0gICAgICAgICAgICBpZiAocHJlX25zIDw9IDApCisgICAgICAgICAgICBpZiAoZGVz Y19lbmQuZW5kX3RpbWVfbnMgPD0gZGVzY19lbmQuc3RhcnRfdGltZV9ucyB8fAorICAgICAgICAg ICAgICAgIGRlc2NfZW5kLmVuZF90aW1lX25zIC0gKHVpbnQ2NF90KWRlc2NfZW5kLnN0YXJ0X3Rp bWVfbnMgPiBJTlQ2NF9NQVgpCiAgICAgICAgICAgICAgICAgcmV0dXJuIC0xOworICAgICAgICAg ICAgcHJlX25zID0gZGVzY19lbmQuZW5kX3RpbWVfbnMgLSBkZXNjX2VuZC5zdGFydF90aW1lX25z OwogICAgICAgICAgICAgcHJlX3NlYyA9IHByZV9ucyAvIG5hbm9fc2Vjb25kc19wZXJfc2Vjb25k OwogICAgICAgICAgICAgcHJlYnVmZmVyX2J5dGVzICs9CiAgICAgICAgICAgICAgICAgcHJlX2J5 dGVzICogKCh0ZW1wX3ByZWJ1ZmZlcl9ucyAvIG5hbm9fc2Vjb25kc19wZXJfc2Vjb25kKSAvIHBy ZV9zZWMpOwotLSAKMi40OS4xCgoKRnJvbSA4YWU5M2ZkYzQyNmE2ZmM0YmViMTlkYzcyOGRhYWU4 OTQ3N2ZiNTNhIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBNaWNoYWVsIE5pZWRlcm1h eWVyIDxtaWNoYWVsQG5pZWRlcm1heWVyLmNjPgpEYXRlOiBXZWQsIDExIERlYyAyMDI0IDIyOjM3 OjA3ICswMTAwClN1YmplY3Q6IFtQQVRDSCAxMzAvNDM0XSBhdmNvZGVjL3V0aWxzOiBGaXggYmxv Y2sgYWxpZ24gb3ZlcmZsb3cgZm9yCiBBRFBDTV9JTUFfV0FWCgpGaXhlczogc2lnbmVkIGludGVn ZXIgb3ZlcmZsb3c6IDUyOTAwODY0NiAqIDggY2Fubm90IGJlIHJlcHJlc2VudGVkIGluIHR5cGUg J2ludCcKRml4ZXM6IDM4MzM3OTE0NS9jbHVzdGVyZnV6ei10ZXN0Y2FzZS1taW5pbWl6ZWQtZmZt cGVnX2RlbV9DQUZfZnV6emVyLTY2NzQwNDUxMDc1MDMxMDQKCkZvdW5kLWJ5OiBjb250aW51b3Vz IGZ1enppbmcgcHJvY2VzcyBodHRwczovL2dpdGh1Yi5jb20vZ29vZ2xlL29zcy1mdXp6L3RyZWUv bWFzdGVyL3Byb2plY3RzL2ZmbXBlZwpTaWduZWQtb2ZmLWJ5OiBNaWNoYWVsIE5pZWRlcm1heWVy IDxtaWNoYWVsQG5pZWRlcm1heWVyLmNjPgooY2hlcnJ5IHBpY2tlZCBmcm9tIGNvbW1pdCA5MzI3 MDkzMDc5OGRhMzY4ZDViMTk1NGE3M2VmN2ZmOWRmYTQ4ZjczKQpTaWduZWQtb2ZmLWJ5OiBNaWNo YWVsIE5pZWRlcm1heWVyIDxtaWNoYWVsQG5pZWRlcm1heWVyLmNjPgotLS0KIGxpYmF2Y29kZWMv dXRpbHMuYyB8IDIgKy0KIDEgZmlsZSBjaGFuZ2VkLCAxIGluc2VydGlvbigrKSwgMSBkZWxldGlv bigtKQoKZGlmZiAtLWdpdCBhL2xpYmF2Y29kZWMvdXRpbHMuYyBiL2xpYmF2Y29kZWMvdXRpbHMu YwppbmRleCBkNjhlNjcyZTBhLi5hNjNjYTcxYTQ0IDEwMDY0NAotLS0gYS9saWJhdmNvZGVjL3V0 aWxzLmMKKysrIGIvbGliYXZjb2RlYy91dGlscy5jCkBAIC03MjMsNyArNzIzLDcgQEAgc3RhdGlj IGludCBnZXRfYXVkaW9fZnJhbWVfZHVyYXRpb24oZW51bSBBVkNvZGVjSUQgaWQsIGludCBzciwg aW50IGNoLCBpbnQgYmEsCiAgICAgICAgICAgICAgICAgY2FzZSBBVl9DT0RFQ19JRF9BRFBDTV9J TUFfV0FWOgogICAgICAgICAgICAgICAgICAgICBpZiAoYnBzIDwgMiB8fCBicHMgPiA1KQogICAg ICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIDA7Ci0gICAgICAgICAgICAgICAgICAgIHRtcCA9 IGJsb2NrcyAqICgxTEwgKyAoYmEgLSA0ICogY2gpIC8gKGJwcyAqIGNoKSAqIDgpOworICAgICAg ICAgICAgICAgICAgICB0bXAgPSBibG9ja3MgKiAoMUxMICsgKGJhIC0gNCAqIGNoKSAvIChicHMg KiBjaCkgKiA4TEwpOwogICAgICAgICAgICAgICAgICAgICBicmVhazsKICAgICAgICAgICAgICAg ICBjYXNlIEFWX0NPREVDX0lEX0FEUENNX0lNQV9ESzM6CiAgICAgICAgICAgICAgICAgICAgIHRt cCA9IGJsb2NrcyAqICgoKGJhIC0gMTZMTCkgKiAyIC8gMyAqIDQpIC8gY2gpOwotLSAKMi40OS4x CgoKRnJvbSBhNWNlMTQzODk1MTBmNmJjZDVlYWE2NTU2NjhkZjhhYzY4MGE3OWNkIE1vbiBTZXAg MTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBNaWNoYWVsIE5pZWRlcm1heWVyIDxtaWNoYWVsQG5pZWRl cm1heWVyLmNjPgpEYXRlOiBXZWQsIDExIERlYyAyMDI0IDIzOjI2OjAyICswMTAwClN1YmplY3Q6 IFtQQVRDSCAxMzEvNDM0XSBhdmZvcm1hdC9tb3Y6IGRlcmVmZXJlbmNlIHBvaW50ZXIgYWZ0ZXIg bnVsbCBjaGVjawoKRml4ZXM6IG51bGwgcG9pbnRlciBkZXJlZmVyZW5jZQpGaXhlczogMzgzMzk3 NDc5L2NsdXN0ZXJmdXp6LXRlc3RjYXNlLW1pbmltaXplZC1mZm1wZWdfREVNVVhFUl9mdXp6ZXIt NDc3NjgyOTMzODA1ODc1MgoKRm91bmQtYnk6IGNvbnRpbnVvdXMgZnV6emluZyBwcm9jZXNzIGh0 dHBzOi8vZ2l0aHViLmNvbS9nb29nbGUvb3NzLWZ1enovdHJlZS9tYXN0ZXIvcHJvamVjdHMvZmZt cGVnClNpZ25lZC1vZmYtYnk6IE1pY2hhZWwgTmllZGVybWF5ZXIgPG1pY2hhZWxAbmllZGVybWF5 ZXIuY2M+CihjaGVycnkgcGlja2VkIGZyb20gY29tbWl0IDk1NGQ1NWMyYTQyNDRiMzY2YWU5N2Qw OTU0NmJhOGNlMjUzNDg5MmIpClNpZ25lZC1vZmYtYnk6IE1pY2hhZWwgTmllZGVybWF5ZXIgPG1p Y2hhZWxAbmllZGVybWF5ZXIuY2M+Ci0tLQogbGliYXZmb3JtYXQvbW92LmMgfCAzICsrLQogMSBm aWxlIGNoYW5nZWQsIDIgaW5zZXJ0aW9ucygrKSwgMSBkZWxldGlvbigtKQoKZGlmZiAtLWdpdCBh L2xpYmF2Zm9ybWF0L21vdi5jIGIvbGliYXZmb3JtYXQvbW92LmMKaW5kZXggZmVlMWE5YWQzMi4u YTRjNWEyYTkzYyAxMDA2NDQKLS0tIGEvbGliYXZmb3JtYXQvbW92LmMKKysrIGIvbGliYXZmb3Jt YXQvbW92LmMKQEAgLTEwMDMwLDEwICsxMDAzMCwxMSBAQCBzdGF0aWMgaW50IG1vdl9wYXJzZV90 aWxlcyhBVkZvcm1hdENvbnRleHQgKnMpCiAKICAgICAgICAgICAgIGZvciAoayA9IDA7IGsgPCBt b3YtPm5iX2hlaWZfaXRlbTsgaysrKSB7CiAgICAgICAgICAgICAgICAgSEVJRkl0ZW0gKml0ZW0g PSBtb3YtPmhlaWZfaXRlbVtrXTsKLSAgICAgICAgICAgICAgICBBVlN0cmVhbSAqc3QgPSBpdGVt LT5zdDsKKyAgICAgICAgICAgICAgICBBVlN0cmVhbSAqc3Q7CiAKICAgICAgICAgICAgICAgICBp ZiAoIWl0ZW0gfHwgaXRlbS0+aXRlbV9pZCAhPSB0aWxlX2lkKQogICAgICAgICAgICAgICAgICAg ICBjb250aW51ZTsKKyAgICAgICAgICAgICAgICBzdCA9IGl0ZW0tPnN0OwogICAgICAgICAgICAg ICAgIGlmICghc3QpIHsKICAgICAgICAgICAgICAgICAgICAgYXZfbG9nKHMsIEFWX0xPR19XQVJO SU5HLCAiSEVJRiBpdGVtIGlkICVkIGZyb20gZ3JpZCBpZCAlZCBkb2Vzbid0ICIKICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicmVmZXJlbmNlIGEgc3RyZWFt XG4iLAotLSAKMi40OS4xCgoKRnJvbSBhODIxMzlkMGU2OTBhMzM0Y2UyODI5Yjc1NTkwZDEwYjll Y2I2MjY3IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBNaWNoYWVsIE5pZWRlcm1heWVy IDxtaWNoYWVsQG5pZWRlcm1heWVyLmNjPgpEYXRlOiBUdWUsIDI0IERlYyAyMDI0IDIxOjMwOjMy ICswMTAwClN1YmplY3Q6IFtQQVRDSCAxMzIvNDM0XSBhdmNvZGVjL2FhYy9hYWNkZWM6IEZyZWUg Y2hhbm5lbCBsYXlvdXQKCkZpeGVzOiAzNzE0NDUxOTQvY2x1c3RlcmZ1enotdGVzdGNhc2UtbWlu aW1pemVkLWZmbXBlZ19BVl9DT0RFQ19JRF9BQUNfTEFUTV9mdXp6ZXItNTk4MTA4MTEyNDI3NDE3 NgpGaXhlczogbWVtbGVhawoKRm91bmQtYnk6IGNvbnRpbnVvdXMgZnV6emluZyBwcm9jZXNzIGh0 dHBzOi8vZ2l0aHViLmNvbS9nb29nbGUvb3NzLWZ1enovdHJlZS9tYXN0ZXIvcHJvamVjdHMvZmZt cGVnClJldmlld2VkLWJ5OiBMeW5uZSA8ZGV2QGx5bm5lLmVlPgpTaWduZWQtb2ZmLWJ5OiBNaWNo YWVsIE5pZWRlcm1heWVyIDxtaWNoYWVsQG5pZWRlcm1heWVyLmNjPgooY2hlcnJ5IHBpY2tlZCBm cm9tIGNvbW1pdCBhZTgxYmViMzUxMjg1NWVhZTFlYWIzY2U5YTg3Y2IwZDQzOTlmYzY3KQpTaWdu ZWQtb2ZmLWJ5OiBNaWNoYWVsIE5pZWRlcm1heWVyIDxtaWNoYWVsQG5pZWRlcm1heWVyLmNjPgot LS0KIGxpYmF2Y29kZWMvYWFjL2FhY2RlYy5jIHwgMiArKwogMSBmaWxlIGNoYW5nZWQsIDIgaW5z ZXJ0aW9ucygrKQoKZGlmZiAtLWdpdCBhL2xpYmF2Y29kZWMvYWFjL2FhY2RlYy5jIGIvbGliYXZj b2RlYy9hYWMvYWFjZGVjLmMKaW5kZXggMDM4MjUxZDI2Ni4uZTYyYmYwZjk1MiAxMDA2NDQKLS0t IGEvbGliYXZjb2RlYy9hYWMvYWFjZGVjLmMKKysrIGIvbGliYXZjb2RlYy9hYWMvYWFjZGVjLmMK QEAgLTExMDIsNiArMTEwMiw4IEBAIHN0YXRpYyBhdl9jb2xkIGludCBkZWNvZGVfY2xvc2UoQVZD b2RlY0NvbnRleHQgKmF2Y3R4KQogCiAgICAgZm9yIChpbnQgaSA9IDA7IGkgPCAyOyBpKyspIHsK ICAgICAgICAgT3V0cHV0Q29uZmlndXJhdGlvbiAqb2MgPSAmYWMtPm9jW2ldOworICAgICAgICBh dl9jaGFubmVsX2xheW91dF91bmluaXQoJmFjLT5vY1tpXS5jaF9sYXlvdXQpOworCiAgICAgICAg IEFBQ1VTQUNDb25maWcgKnVzYWMgPSAmb2MtPnVzYWM7CiAgICAgICAgIGZvciAoaW50IGogPSAw OyBqIDwgdXNhYy0+bmJfZWxlbXM7IGorKykgewogICAgICAgICAgICAgQUFDVXNhY0VsZW1Db25m aWcgKmVjID0gJnVzYWMtPmVsZW1zW2pdOwotLSAKMi40OS4xCgoKRnJvbSBjYWM5MTEyYmYzNWNk MDE2NDA3YWI4YzQ5OWJlOTg5NjgzMGQ2MjYyIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQpGcm9t OiBNaWNoYWVsIE5pZWRlcm1heWVyIDxtaWNoYWVsQG5pZWRlcm1heWVyLmNjPgpEYXRlOiBXZWQs IDI1IERlYyAyMDI0IDA1OjEzOjAyICswMTAwClN1YmplY3Q6IFtQQVRDSCAxMzMvNDM0XSBhdmZv cm1hdC9tbHZkZWM6IENoZWNrIGF2aW9fcmVhZCgpCgpGaXhlczogdXNlLW9mLXVuaW5pdGlhbGl6 ZWQtdmFsdWUKRml4ZXM6IDM4MzE3MDQ3Ni9jbHVzdGVyZnV6ei10ZXN0Y2FzZS1taW5pbWl6ZWQt ZmZtcGVnX2RlbV9NTFZfZnV6emVyLTQ2OTYwMDI4ODQzMzc2NjQKCkZvdW5kLWJ5OiBjb250aW51 b3VzIGZ1enppbmcgcHJvY2VzcyBodHRwczovL2dpdGh1Yi5jb20vZ29vZ2xlL29zcy1mdXp6L3Ry ZWUvbWFzdGVyL3Byb2plY3RzL2ZmbXBlZwpSZXZpZXdlZC1ieTogUGV0ZXIgUm9zcyA8cHJvc3NA eHZpZC5vcmc+ClNpZ25lZC1vZmYtYnk6IE1pY2hhZWwgTmllZGVybWF5ZXIgPG1pY2hhZWxAbmll ZGVybWF5ZXIuY2M+CihjaGVycnkgcGlja2VkIGZyb20gY29tbWl0IGJiODU0MjMxNDIxMDNkNjk0 ZDk3YmFkMTk2N2JkM2RjNTU0NDBlNzEpClNpZ25lZC1vZmYtYnk6IE1pY2hhZWwgTmllZGVybWF5 ZXIgPG1pY2hhZWxAbmllZGVybWF5ZXIuY2M+Ci0tLQogbGliYXZmb3JtYXQvbWx2ZGVjLmMgfCA2 ICsrKystLQogMSBmaWxlIGNoYW5nZWQsIDQgaW5zZXJ0aW9ucygrKSwgMiBkZWxldGlvbnMoLSkK CmRpZmYgLS1naXQgYS9saWJhdmZvcm1hdC9tbHZkZWMuYyBiL2xpYmF2Zm9ybWF0L21sdmRlYy5j CmluZGV4IDFhNmQzOGYzN2MuLjk4NTM2NTMyNmUgMTAwNjQ0Ci0tLSBhL2xpYmF2Zm9ybWF0L21s dmRlYy5jCisrKyBiL2xpYmF2Zm9ybWF0L21sdmRlYy5jCkBAIC04MiwxMyArODIsMTUgQEAgc3Rh dGljIGludCBjaGVja19maWxlX2hlYWRlcihBVklPQ29udGV4dCAqcGIsIHVpbnQ2NF90IGd1aWQp CiBzdGF0aWMgdm9pZCByZWFkX3N0cmluZyhBVkZvcm1hdENvbnRleHQgKmF2Y3R4LCBBVklPQ29u dGV4dCAqcGIsIGNvbnN0IGNoYXIgKnRhZywgdW5zaWduZWQgc2l6ZSkKIHsKICAgICBjaGFyICog dmFsdWUgPSBhdl9tYWxsb2Moc2l6ZSArIDEpOworICAgIGludCByZXQ7CisKICAgICBpZiAoIXZh bHVlKSB7CiAgICAgICAgIGF2aW9fc2tpcChwYiwgc2l6ZSk7CiAgICAgICAgIHJldHVybjsKICAg ICB9CiAKLSAgICBhdmlvX3JlYWQocGIsIHZhbHVlLCBzaXplKTsKLSAgICBpZiAoIXZhbHVlWzBd KSB7CisgICAgcmV0ID0gYXZpb19yZWFkKHBiLCB2YWx1ZSwgc2l6ZSk7CisgICAgaWYgKHJldCAh PSBzaXplIHx8ICF2YWx1ZVswXSkgewogICAgICAgICBhdl9mcmVlKHZhbHVlKTsKICAgICAgICAg cmV0dXJuOwogICAgIH0KLS0gCjIuNDkuMQoKCkZyb20gNjE1ZjI5ZTMwMWZkMDhlMzc3ZWQ2OTEw NGZlMDgwNjgxMGZhYzM5YSBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKRnJvbTogTWljaGFlbCBO aWVkZXJtYXllciA8bWljaGFlbEBuaWVkZXJtYXllci5jYz4KRGF0ZTogTW9uLCAxOCBOb3YgMjAy NCAwNDowOToxMSArMDEwMApTdWJqZWN0OiBbUEFUQ0ggMTM0LzQzNF0gYXZmb3JtYXQvcnBsOiBG aXggY2hlY2sgZm9yIG5lZ2F0aXZlIHZhbHVlcwoKRml4ZXM6IHNpZ25lZCBpbnRlZ2VyIG92ZXJm bG93OiAxMCAqIC0xOTIzMjY3OTI1MzMzNDAwMDAwIGNhbm5vdCBiZSByZXByZXNlbnRlZCBpbiB0 eXBlICdpbnQ2NF90JyAoYWthICdsb25nJykKRml4ZXM6IDM3ODg5MTk2My9jbHVzdGVyZnV6ei10 ZXN0Y2FzZS1taW5pbWl6ZWQtZnV6emVyX2xvYWRmaWxlX2RpcmVjdC01NzE0MzM4OTM1MDEzMzc2 CkZvdW5kLWJ5OiBvc3NmdXp6ClJlcG9ydGVkLWJ5OiBLYWNwZXIgTWljaGFqbG93IDxrYXNwZXI5 M0BnbWFpbC5jb20+ClNpZ25lZC1vZmYtYnk6IE1pY2hhZWwgTmllZGVybWF5ZXIgPG1pY2hhZWxA bmllZGVybWF5ZXIuY2M+CihjaGVycnkgcGlja2VkIGZyb20gY29tbWl0IGVhYjY1Mzc5YmY4OWM1 NWQ4ZWM0YmM2ZjAwZTA0ZjE1YjM3ZDNkODUpClNpZ25lZC1vZmYtYnk6IE1pY2hhZWwgTmllZGVy bWF5ZXIgPG1pY2hhZWxAbmllZGVybWF5ZXIuY2M+Ci0tLQogbGliYXZmb3JtYXQvcnBsLmMgfCAy ICstCiAxIGZpbGUgY2hhbmdlZCwgMSBpbnNlcnRpb24oKyksIDEgZGVsZXRpb24oLSkKCmRpZmYg LS1naXQgYS9saWJhdmZvcm1hdC9ycGwuYyBiL2xpYmF2Zm9ybWF0L3JwbC5jCmluZGV4IGU5NzFk MDU4OGYuLmIzMGQ3NjllZmIgMTAwNjQ0Ci0tLSBhL2xpYmF2Zm9ybWF0L3JwbC5jCisrKyBiL2xp YmF2Zm9ybWF0L3JwbC5jCkBAIC0xMDIsNyArMTAyLDcgQEAgc3RhdGljIEFWUmF0aW9uYWwgcmVh ZF9mcHMoY29uc3QgY2hhciogbGluZSwgaW50KiBlcnJvcikKICAgICAgICAgbGluZSsrOwogICAg IGZvciAoOyAqbGluZT49JzAnICYmICpsaW5lPD0nOSc7IGxpbmUrKykgewogICAgICAgICAvLyBU cnVuY2F0ZSBhbnkgbnVtZXJhdG9yIHRvbyBsYXJnZSB0byBmaXQgaW50byBhbiBpbnQ2NF90Ci0g ICAgICAgIGlmIChudW0gPiAoSU5UNjRfTUFYIC0gOSkgLyAxMCB8fCBkZW4gPiBJTlQ2NF9NQVgg LyAxMCkKKyAgICAgICAgaWYgKG51bSA+IChJTlQ2NF9NQVggLSA5KSAvIDEwVUxMIHx8IGRlbiA+ IElOVDY0X01BWCAvIDEwVUxMKQogICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgIG51bSAgPSAx MCAqIG51bSArICgqbGluZSAtICcwJyk7CiAgICAgICAgIGRlbiAqPSAxMDsKLS0gCjIuNDkuMQoK CkZyb20gMWEyNTRjNTM1NGZiNThjNjk0NjAzZmRlZGQ2MDkyM2NmMzY4YzQ2ZiBNb24gU2VwIDE3 IDAwOjAwOjAwIDIwMDEKRnJvbTogSmFubmUgR3J1bmF1IDxqYW5uZS1mZm1wZWdAamFubmF1Lm5l dD4KRGF0ZTogRnJpLCAzIEphbiAyMDI1IDAxOjU0OjM4ICswMTAwClN1YmplY3Q6IFtQQVRDSCAx MzUvNDM0XSBhYXJjaDY0OiB2cDltYzogTG9hZCBvbmx5IDEyIHBpeGVscyBpbiB0aGUgNCBwaXhl bAogd2lkZSBob3Jpem9udGFsIGZpbHRlcgoKVGhpcyByZWR1Y2VzIHRoZSBhbW91bnQgdGhlIGhv cml6b250YWwgZmlsdGVycyByZWFkIGJleW9uZCB0aGUgZmlsdGVyCndpZHRoIHRvIGEgY29uc2lz dGVudCAxIHBpeGVsLiBUaGUgZGF0YSBpcyBub3QgdXNlZCBzbyB0aGlzIGlzIHVzdWFsbHkKbm90 IG5vdGljZWFibGUuIEl0IGJlY29tZXMgYSBwcm9ibGVtIHdoZW4gdGhlIGFwcGxpY2F0aW9uIGFs bG9jYXRlcwpmcmFtZSBidWZmZXJzIG9ubHkgZm9yIHRoZSBhbGlnbmVkIHBpY3R1cmUgc2l6ZSBh bmQgdGhlIGVuZCBvZiBpdCBpcyBhdAphIHBhZ2UgYm91bmRhcnkuIFRoaXMgaGFwcGVucyBmb3Ig cGljdHVyZSBzaXplcyB3aGljaCBhcmUgYSBtdWx0aXBsZSBvZgp0aGUgcGFnZSBzaXplIGxpa2Ug MTI4MHg2NDAuIFRoZSBmcmFtZSBidWZmZXIgYWxsb2NhdGlvbiBpcyBiYXNlZCBvbgppdHMgbW9z dCBsaWtlbHkgZG9uZSB2aWEgbW1hcCArIE1BUF9BTk9OWU1PVVMgc28gc3RhcnQgYW5kIGVuZCBv ZiB0aGUKYnVmZmVyIGFyZSBwYWdlIGFsaWduZWQgYW5kIHRoZSBwcmV2aW91cyBhbmQgbmV4dCBw YWdlIGFyZSBub3QKbmVjZXNzYXJpbHkgbWFwcGVkLgpVbmRlciB0aGVzZSBjb25kaXRpb25zIGxp a2Ugc2VlbiBieSBGaXJlZm94IGEgcmVhZCBiZXlvbmQgdGhlIGVuZCBvZiB0aGUKYnVmZmVyIHJl c3VsdHMgaW4gYSBzZWdmYXVsdC4KQWZ0ZXIgdGhlIG92ZXItcmVhZCBpcyByZWR1Y2VkIHRvIGEg c2luZ2xlIHBpeGVsIGl0J3MgcmVhc29uYWJsZSB0byB1c2UKVlA5J3MgZW11bGF0ZWQgZWRnZSBt b3Rpb24gY29tcGVuc2F0aW9uIGZvciB0aGlzLgoKRml4ZXM6IGh0dHBzOi8vYnVnemlsbGEubW96 aWxsYS5vcmcvc2hvd19idWcuY2dpP2lkPTE4ODExODUKU2lnbmVkLW9mZi1ieTogSmFubmUgR3J1 bmF1IDxqYW5uZS1mZm1wZWdAamFubmF1Lm5ldD4KU2lnbmVkLW9mZi1ieTogUm9uYWxkIFMuIEJ1 bHRqZSA8cnNidWx0amVAZ21haWwuY29tPgooY2hlcnJ5IHBpY2tlZCBmcm9tIGNvbW1pdCA0MzBj MzhmNjk4YTY1ZDU5N2U4NjMzMzA4MTBiMDVlMDgzNjgyYmU2KQotLS0KIGxpYmF2Y29kZWMvYWFy Y2g2NC92cDltY19uZW9uLlMgfCAxMCArKysrKysrKystCiAxIGZpbGUgY2hhbmdlZCwgOSBpbnNl cnRpb25zKCspLCAxIGRlbGV0aW9uKC0pCgpkaWZmIC0tZ2l0IGEvbGliYXZjb2RlYy9hYXJjaDY0 L3ZwOW1jX25lb24uUyBiL2xpYmF2Y29kZWMvYWFyY2g2NC92cDltY19uZW9uLlMKaW5kZXggYWJm MmJhZTlkYi4uMzhmNDRjYTU2ZCAxMDA2NDQKLS0tIGEvbGliYXZjb2RlYy9hYXJjaDY0L3ZwOW1j X25lb24uUworKysgYi9saWJhdmNvZGVjL2FhcmNoNjQvdnA5bWNfbmVvbi5TCkBAIC0yMzAsNiAr MjMwLDkgQEAgZnVuY3Rpb24gXHR5cGVcKClfOHRhcF9cc2l6ZVwoKWhfXGlkeDFcaWR4MgogICAg ICAgICAvLyByZWR1Y2VkIGRzdCBzdHJpZGUKIC5pZiBcc2l6ZSA+PSAxNgogICAgICAgICBzdWIg ICAgICAgICAgICAgeDEsICB4MSwgIHg1CisuZWxzZWlmIFxzaXplID09IDQKKyAgICAgICAgYWRk ICAgICAgICAgICAgIHgxMiwgeDIsICAjOAorICAgICAgICBhZGQgICAgICAgICAgICAgeDEzLCB4 NywgICM4CiAuZW5kaWYKICAgICAgICAgLy8gc2l6ZSA+PSAxNiBsb2FkcyB0d28gcXdvcmRzIGFu ZCBpbmNyZW1lbnRzIHgyLAogICAgICAgICAvLyBmb3Igc2l6ZSA0LzggaXQncyBlbm91Z2ggd2l0 aCBvbmUgcXdvcmQgYW5kIG5vCkBAIC0yNDgsOSArMjUxLDE0IEBAIGZ1bmN0aW9uIFx0eXBlXCgp Xzh0YXBfXHNpemVcKCloX1xpZHgxXGlkeDIKIC5pZiBcc2l6ZSA+PSAxNgogICAgICAgICBsZDEg ICAgICAgICAgICAge3Y0LjhiLCAgdjUuOGIsICB2Ni44Yn0sICBbeDJdLCAjMjQKICAgICAgICAg bGQxICAgICAgICAgICAgIHt2MTYuOGIsIHYxNy44YiwgdjE4LjhifSwgW3g3XSwgIzI0Ci0uZWxz ZQorLmVsc2VpZiBcc2l6ZSA9PSA4CiAgICAgICAgIGxkMSAgICAgICAgICAgICB7djQuOGIsICB2 NS44Yn0sICBbeDJdCiAgICAgICAgIGxkMSAgICAgICAgICAgICB7djE2LjhiLCB2MTcuOGJ9LCBb eDddCisuZWxzZSAvLyBcc2l6ZSA9PSA0CisgICAgICAgIGxkMSAgICAgICAgICAgICB7djQuOGJ9 LCAgW3gyXQorICAgICAgICBsZDEgICAgICAgICAgICAge3YxNi44Yn0sIFt4N10KKyAgICAgICAg bGQxICAgICAgICAgICAgIHt2NS5zfVswXSwgIFt4MTJdLCB4MworICAgICAgICBsZDEgICAgICAg ICAgICAge3YxNy5zfVswXSwgW3gxM10sIHgzCiAuZW5kaWYKICAgICAgICAgdXh0bCAgICAgICAg ICAgIHY0LjhoLCAgdjQuOGIKICAgICAgICAgdXh0bCAgICAgICAgICAgIHY1LjhoLCAgdjUuOGIK LS0gCjIuNDkuMQoKCkZyb20gNTM1YTgyNjJjY2Y2Y2ZkNzQzODhlZTc4YjdhYjUzODlmMTk5ZTIx MyBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKRnJvbTogSmFubmUgR3J1bmF1IDxqYW5uZS1mZm1w ZWdAamFubmF1Lm5ldD4KRGF0ZTogRnJpLCAzIEphbiAyMDI1IDAxOjU0OjM5ICswMTAwClN1Ympl Y3Q6IFtQQVRDSCAxMzYvNDM0XSBhcm06IHZwOW1jOiBMb2FkIG9ubHkgMTIgcGl4ZWxzIGluIHRo ZSA0IHBpeGVsIHdpZGUKIGhvcml6b250YWwgZmlsdGVyCgpUaGlzIHJlZHVjZXMgdGhlIGFtb3Vu dCB0aGUgaG9yaXpvbnRhbCBmaWx0ZXJzIHJlYWQgYmV5b25kIHRoZSBmaWx0ZXIKd2lkdGggdG8g YSBjb25zaXN0ZW50IDEgcGl4ZWwuIFRoZSBkYXRhIGlzIG5vdCB1c2VkIHNvIHRoaXMgaXMgdXN1 YWxseQpub3Qgbm90aWNlYWJsZS4gSXQgYmVjb21lcyBhIHByb2JsZW0gd2hlbiB0aGUgYXBwbGlj YXRpb24gYWxsb2NhdGVzCmZyYW1lIGJ1ZmZlcnMgb25seSBmb3IgdGhlIGFsaWduZWQgcGljdHVy ZSBzaXplIGFuZCB0aGUgZW5kIG9mIGl0IGlzIGF0CmEgcGFnZSBib3VuZGFyeS4gVGhpcyBoYXBw ZW5zIGZvciBwaWN0dXJlIHNpemVzIHdoaWNoIGFyZSBhIG11bHRpcGxlIG9mCnRoZSBwYWdlIHNp emUgbGlrZSAxMjgweDY0MC4gVGhlIGZyYW1lIGJ1ZmZlciBhbGxvY2F0aW9uIGlzIGJhc2VkIG9u Cml0cyBtb3N0IGxpa2VseSBkb25lIHZpYSBtbWFwICsgTUFQX0FOT05ZTU9VUyBzbyBzdGFydCBh bmQgZW5kIG9mIHRoZQpidWZmZXIgYXJlIHBhZ2UgYWxpZ25lZCBhbmQgdGhlIHByZXZpb3VzIGFu ZCBuZXh0IHBhZ2UgYXJlIG5vdApuZWNlc3NhcmlseSBtYXBwZWQuClRoaXMgbWlycm9ycyB0aGUg YWFyY2g2NCBjaGFuZ2UuCgpTaWduZWQtb2ZmLWJ5OiBKYW5uZSBHcnVuYXUgPGphbm5lLWZmbXBl Z0BqYW5uYXUubmV0PgpTaWduZWQtb2ZmLWJ5OiBSb25hbGQgUy4gQnVsdGplIDxyc2J1bHRqZUBn bWFpbC5jb20+CihjaGVycnkgcGlja2VkIGZyb20gY29tbWl0IGYzNjYyNTYyMTU2YzliOTA4NTg4 YjFlNThlNDIwM2ZkMDkyMTdjYjYpCi0tLQogbGliYXZjb2RlYy9hcm0vdnA5bWNfbmVvbi5TIHwg MTMgKysrKysrKysrKy0tLQogMSBmaWxlIGNoYW5nZWQsIDEwIGluc2VydGlvbnMoKyksIDMgZGVs ZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvbGliYXZjb2RlYy9hcm0vdnA5bWNfbmVvbi5TIGIvbGli YXZjb2RlYy9hcm0vdnA5bWNfbmVvbi5TCmluZGV4IGJkOGNkYTdjMzAuLjJlYzcyOWJiMzEgMTAw NjQ0Ci0tLSBhL2xpYmF2Y29kZWMvYXJtL3ZwOW1jX25lb24uUworKysgYi9saWJhdmNvZGVjL2Fy bS92cDltY19uZW9uLlMKQEAgLTI3OSwxMSArMjc5LDEzIEBAIGZ1bmN0aW9uIFx0eXBlXCgpXzh0 YXBfXHNpemVcKCloX1xpZHgxXGlkeDIKICAgICAgICAgc3ViICAgICAgICAgICAgIHIxLCAgcjEs ICByNQogLmVuZGlmCiAgICAgICAgIEAgc2l6ZSA+PSAxNiBsb2FkcyB0d28gcXdvcmRzIGFuZCBp bmNyZW1lbnRzIHIyLAotICAgICAgICBAIGZvciBzaXplIDQvOCBpdCdzIGVub3VnaCB3aXRoIG9u ZSBxd29yZCBhbmQgbm8KLSAgICAgICAgQCBwb3N0aW5jcmVtZW50CisgICAgICAgIEAgc2l6ZSA0 IGxvYWRzIDEgZCB3b3JkLCBpbmNyZW1lbnRzIHIyIGFuZCBsb2FkcyAxIDMyLWJpdCBsYW5lCisg ICAgICAgIEAgZm9yIHNpemUgOCBpdCdzIGVub3VnaCB3aXRoIG9uZSBxd29yZCBhbmQgbm8gcG9z dGluY3JlbWVudAogLmlmIFxzaXplID49IDE2CiAgICAgICAgIHN1YiAgICAgICAgICAgICByMywg IHIzLCAgcjUKICAgICAgICAgc3ViICAgICAgICAgICAgIHIzLCAgcjMsICAjOAorLmVsc2VpZiBc c2l6ZSA9PSA0CisgICAgICAgIHN1YiAgICAgICAgICAgICByMywgIHIzLCAgIzgKIC5lbmRpZgog ICAgICAgICBAIExvYWQgdGhlIGZpbHRlciB2ZWN0b3IKICAgICAgICAgdmxkMS4xNiAgICAgICAg IHtxMH0sICBbcjEyLDoxMjhdCkBAIC0yOTUsOSArMjk3LDE0IEBAIGZ1bmN0aW9uIFx0eXBlXCgp Xzh0YXBfXHNpemVcKCloX1xpZHgxXGlkeDIKIC5pZiBcc2l6ZSA+PSAxNgogICAgICAgICB2bGQx LjggICAgICAgICAge2QxOCwgZDE5LCBkMjB9LCBbcjJdIQogICAgICAgICB2bGQxLjggICAgICAg ICAge2QyNCwgZDI1LCBkMjZ9LCBbcjddIQotLmVsc2UKKy5lbHNlaWYgXHNpemUgPT0gOAogICAg ICAgICB2bGQxLjggICAgICAgICAge3E5fSwgIFtyMl0KICAgICAgICAgdmxkMS44ICAgICAgICAg IHtxMTJ9LCBbcjddCisuZWxzZSBAIHNpemUgPT0gNAorICAgICAgICB2bGQxLjggICAgICAgICAg e2QxOH0sIFtyMl0hCisgICAgICAgIHZsZDEuOCAgICAgICAgICB7ZDI0fSwgW3I3XSEKKyAgICAg ICAgdmxkMS4zMiAgICAgICAgIHtkMTlbMF19LCBbcjJdCisgICAgICAgIHZsZDEuMzIgICAgICAg ICB7ZDI1WzBdfSwgW3I3XQogLmVuZGlmCiAgICAgICAgIHZtb3ZsLnU4ICAgICAgICBxOCwgIGQx OAogICAgICAgICB2bW92bC51OCAgICAgICAgcTksICBkMTkKLS0gCjIuNDkuMQoKCkZyb20gN2Qx NTMyZjc1Mjk3OTY1NDA5MTBlMDM0ZWNlYjk2NzQxZWQyNTEzYyBNb24gU2VwIDE3IDAwOjAwOjAw IDIwMDEKRnJvbTogSmFubmUgR3J1bmF1IDxqYW5uZS1mZm1wZWdAamFubmF1Lm5ldD4KRGF0ZTog RnJpLCAzIEphbiAyMDI1IDAxOjU0OjQwICswMTAwClN1YmplY3Q6IFtQQVRDSCAxMzcvNDM0XSB2 cDk6IHJlY29uOiBVc2UgZW11bGF0ZWQgZWRnZSB0byBwcmV2ZW50IGJ1ZmZlcgogb3ZlcmZsb3dz CgpUaGUgYXJtL2FhcmNoNjQgaG9yaXpvbnRhbCBmaWx0ZXIgcmVhZHMgb25lIGFkZGl0aW9uYWwg cGl4ZWwgYmV5b25kIHdoYXQKdGhlIGZpbHRlciB1c2VzLiBUaGlzIGNhbiBiZWNvbWUgYW4gaXNz dWUgaWYgdGhlIGFwcGxpY2F0aW9uIGRvZXMgbm90CmFsbG9jYXRlIGxhcmdlciBidWZmZXJzIHRo YW4gd2hhdCdzIHJlcXVpcmVkIGZvciB0aGUgcGl4ZWwgZGF0YS4gSWYgdGhlCm1vdGlvbiB2ZWN0 b3IgcG9pbnRzIHRvIHRoZSBib3R0b20gcmlnaHQgZWRnZSBvZiB0aGUgcGljdHVyZSB0aGlzCmJl Y29tZXMgYSByZWFkIGJ1ZmZlciBvdmVyZmxvdy4gVGhpcyB0cmlnZ2VycyBzZWdmYXVsdHMgaW4g RmlyZWZveCBmb3IKdmlkZW8gcmVzb2x1dGlvbnMgd2hpY2ggcmVzdWx0IGluIGEgcGFnZSBhbGln bmVkIHBpY3R1cmUgc2l6ZSBsaWtlCjEyODB4NjQwLgpQcmV2ZW50IHRoaXMgYnkgdXNpbmcgZW11 bGF0ZWQgZWRnZSBpbiB0aGlzIGNhc2UuCgpGaXhlczogaHR0cHM6Ly9idWd6aWxsYS5tb3ppbGxh Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTg4MTE4NQpTaWduZWQtb2ZmLWJ5OiBKYW5uZSBHcnVuYXUg PGphbm5lLWZmbXBlZ0BqYW5uYXUubmV0PgpTaWduZWQtb2ZmLWJ5OiBSb25hbGQgUy4gQnVsdGpl IDxyc2J1bHRqZUBnbWFpbC5jb20+CihjaGVycnkgcGlja2VkIGZyb20gY29tbWl0IDA2MDQ2NDEw NWJkY2E4MmI4Y2ZiOTFjN2E2ZmI1NmRmNGM3Y2Q5ZDApCi0tLQogbGliYXZjb2RlYy92cDlyZWNv bi5jIHwgOCArKysrKysrKwogMSBmaWxlIGNoYW5nZWQsIDggaW5zZXJ0aW9ucygrKQoKZGlmZiAt LWdpdCBhL2xpYmF2Y29kZWMvdnA5cmVjb24uYyBiL2xpYmF2Y29kZWMvdnA5cmVjb24uYwppbmRl eCBlZjA4ZWQxN2M4Li5jY2M0OWQ3NzE2IDEwMDY0NAotLS0gYS9saWJhdmNvZGVjL3ZwOXJlY29u LmMKKysrIGIvbGliYXZjb2RlYy92cDlyZWNvbi5jCkBAIC0zMTksNyArMzE5LDExIEBAIHN0YXRp YyBhdl9hbHdheXNfaW5saW5lIHZvaWQgbWNfbHVtYV91bnNjYWxlZChWUDlUaWxlRGF0YSAqdGQs IGNvbnN0IHZwOV9tY19mdW5jCiAgICAgLy8gVGhlIGFybS9hYXJjaDY0IF9odiBmaWx0ZXJzIHJl YWQgb25lIG1vcmUgcm93IHRoYW4gd2hhdCBhY3R1YWxseSBpcwogICAgIC8vIG5lZWRlZCwgc28g c3dpdGNoIHRvIGVtdWxhdGVkIGVkZ2Ugb25lIHBpeGVsIHNvb25lciB2ZXJ0aWNhbGx5CiAgICAg Ly8gKCEhbXkgKiA1KSB0aGFuIGhvcml6b250YWxseSAoISFteCAqIDQpLgorICAgIC8vIFRoZSBh cm0vYWFyY2g2NCBfaCBmaWx0ZXJzIHJlYWQgb25lIG1vcmUgcGl4ZWwgdGhhbiB3aGF0IGFjdHVh bGx5IGlzCisgICAgLy8gbmVlZGVkLCBzbyBzd2l0Y2ggdG8gZW11bGF0ZWQgZWRnZSBpZiB0aGF0 IHdvdWxkIHJlYWQgYmV5b25kIHRoZSBib3R0b20KKyAgICAvLyByaWdodCBibG9jay4KICAgICBp ZiAoeCA8ICEhbXggKiAzIHx8IHkgPCAhIW15ICogMyB8fAorICAgICAgICAoKEFSQ0hfQUFSQ0g2 NCB8fCBBUkNIX0FSTSkgJiYgKHggKyAhIW14ICogNSA+IHcgLSBidykgJiYgKHkgKyAhIW15ICog NSArIDEgPiBoIC0gYmgpKSB8fAogICAgICAgICB4ICsgISFteCAqIDQgPiB3IC0gYncgfHwgeSAr ICEhbXkgKiA1ID4gaCAtIGJoKSB7CiAgICAgICAgIHMtPnZkc3AuZW11bGF0ZWRfZWRnZV9tYyh0 ZC0+ZWRnZV9lbXVfYnVmZmVyLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVm IC0gISFteSAqIDMgKiByZWZfc3RyaWRlIC0gISFteCAqIDMgKiBieXRlc3BlcnBpeGVsLApAQCAt MzU4LDcgKzM2MiwxMSBAQCBzdGF0aWMgYXZfYWx3YXlzX2lubGluZSB2b2lkIG1jX2Nocm9tYV91 bnNjYWxlZChWUDlUaWxlRGF0YSAqdGQsIGNvbnN0IHZwOV9tY19mdQogICAgIC8vIFRoZSBhcm0v YWFyY2g2NCBfaHYgZmlsdGVycyByZWFkIG9uZSBtb3JlIHJvdyB0aGFuIHdoYXQgYWN0dWFsbHkg aXMKICAgICAvLyBuZWVkZWQsIHNvIHN3aXRjaCB0byBlbXVsYXRlZCBlZGdlIG9uZSBwaXhlbCBz b29uZXIgdmVydGljYWxseQogICAgIC8vICghIW15ICogNSkgdGhhbiBob3Jpem9udGFsbHkgKCEh bXggKiA0KS4KKyAgICAvLyBUaGUgYXJtL2FhcmNoNjQgX2ggZmlsdGVycyByZWFkIG9uZSBtb3Jl IHBpeGVsIHRoYW4gd2hhdCBhY3R1YWxseSBpcworICAgIC8vIG5lZWRlZCwgc28gc3dpdGNoIHRv IGVtdWxhdGVkIGVkZ2UgaWYgdGhhdCB3b3VsZCByZWFkIGJleW9uZCB0aGUgYm90dG9tCisgICAg Ly8gcmlnaHQgYmxvY2suCiAgICAgaWYgKHggPCAhIW14ICogMyB8fCB5IDwgISFteSAqIDMgfHwK KyAgICAgICAgKChBUkNIX0FBUkNINjQgfHwgQVJDSF9BUk0pICYmICh4ICsgISFteCAqIDUgPiB3 IC0gYncpICYmICh5ICsgISFteSAqIDUgKyAxID4gaCAtIGJoKSkgfHwKICAgICAgICAgeCArICEh bXggKiA0ID4gdyAtIGJ3IHx8IHkgKyAhIW15ICogNSA+IGggLSBiaCkgewogICAgICAgICBzLT52 ZHNwLmVtdWxhdGVkX2VkZ2VfbWModGQtPmVkZ2VfZW11X2J1ZmZlciwKICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIHJlZl91IC0gISFteSAqIDMgKiBzcmNfc3RyaWRlX3UgLSAhIW14 ICogMyAqIGJ5dGVzcGVycGl4ZWwsCi0tIAoyLjQ5LjEKCgpGcm9tIDAxNTFmMWRhYWI5MjI0MzIy ZGI3YTgwODE5MTM2NWQ2NTg3MmVkMWMgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCkZyb206IFpo YW8gWmhpbGkgPHpoaWxpemhhb0B0ZW5jZW50LmNvbT4KRGF0ZTogVHVlLCAxMCBEZWMgMjAyNCAx MjoxODo1NiArMDgwMApTdWJqZWN0OiBbUEFUQ0ggMTM4LzQzNF0gYWFyY2g2NC92dmM6IEZpeCBj bGlwIGluIGFsZgoKRml4IHRlc3QgZmFpbHVyZToKLi90ZXN0cy9jaGVja2FzbS9jaGVja2FzbSAt LXRlc3Q9dnZjX2FsZiAzNjA3NTY5NzczCgooY2hlcnJ5IHBpY2tlZCBmcm9tIGNvbW1pdCA0MGZl YmE1Zjc3ZTFjMWRjMTg1YTliNWU2ZjJjN2UzM2QyMTFiOTkzKQotLS0KIGxpYmF2Y29kZWMvYWFy Y2g2NC92dmMvYWxmLlMgfCA0ICsrLS0KIDEgZmlsZSBjaGFuZ2VkLCAyIGluc2VydGlvbnMoKyks IDIgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvbGliYXZjb2RlYy9hYXJjaDY0L3Z2Yy9hbGYu UyBiL2xpYmF2Y29kZWMvYWFyY2g2NC92dmMvYWxmLlMKaW5kZXggYzYyNDA5MzY0MC4uODgwMWIz YWZiNiAxMDA2NDQKLS0tIGEvbGliYXZjb2RlYy9hYXJjaDY0L3Z2Yy9hbGYuUworKysgYi9saWJh dmNvZGVjL2FhcmNoNjQvdnZjL2FsZi5TCkBAIC0xNDgsNyArMTQ4LDcgQEAKICAgICAgICAgc3F4 dHVuICAgICAgICAgIHYyMC44YiwgdjIwLjhoCiAgICAgICAgIHN0ciAgICAgICAgICAgICBkMjAs IFtkc3RdCiAgICAgLmVsc2UKLSAgICAgICAgc21pbiAgICAgICAgICAgIHYyMC44aCwgdjIwLjho LCB2MjUuOGgKKyAgICAgICAgdW1pbiAgICAgICAgICAgIHYyMC44aCwgdjIwLjhoLCB2MjUuOGgK ICAgICAgICAgc3RyICAgICAgICAgICAgIHEyMCwgW2RzdF0KICAgICAuZW5kaWYKICAgICAgICAg cmV0CkBAIC0yNDksNyArMjQ5LDcgQEAKICAgICAgICAgc3F4dHVuICAgICAgICAgIHYyMC44Yiwg djIwLjhoCiAgICAgICAgIHN0ciAgICAgICAgICAgICBzMjAsIFtkc3RdCiAgICAgLmVsc2UKLSAg ICAgICAgc21pbiAgICAgICAgICAgIHYyMC40aCwgdjIwLjRoLCB2MjUuNGgKKyAgICAgICAgdW1p biAgICAgICAgICAgIHYyMC40aCwgdjIwLjRoLCB2MjUuNGgKICAgICAgICAgc3RyICAgICAgICAg ICAgIGQyMCwgW2RzdF0KICAgICAuZW5kaWYKICAgICAgICAgcmV0Ci0tIAoyLjQ5LjEKCgpGcm9t IDg5YmM3MGRkZDgxYjE1NmMxNDQyYTg1NzM4YTRjN2ZlNjlmNzcxYzEgTW9uIFNlcCAxNyAwMDow MDowMCAyMDAxCkZyb206IEJpbiBQZW5nIDxwZW5nYmluQHZpc2lvbnVsYXIuY29tPgpEYXRlOiBN b24sIDE2IERlYyAyMDI0IDEwOjMxOjIzICswODAwClN1YmplY3Q6IFtQQVRDSCAxMzkvNDM0XSBs YXZjL2FhcmNoNjQ6IEZpeCBmZl9wcmVkOHg4X3BsYW5lX25lb25fMTAKTUlNRS1WZXJzaW9uOiAx LjAKQ29udGVudC1UeXBlOiB0ZXh0L3BsYWluOyBjaGFyc2V0PVVURi04CkNvbnRlbnQtVHJhbnNm ZXItRW5jb2Rpbmc6IDhiaXQKCkZpeCB0ZXN0IGZhaWx1cmUgb24gYWFyY2g2NDoKLi90ZXN0cy9j aGVja2FzbS9jaGVja2FzbSAtLXRlc3Q9aDI2NHByZWQgNDc5NjEyCgpUaGUgbWlzbWF0Y2ggYmV0 d2VlbiBuZW9uIGFuZCBDIGZ1bmN0aW9ucyBjYW4gYWxzbyBiZSByZXByb2R1Y2VkIHVzaW5nIHRo ZSBmb2xsb3dpbmcgYml0c3RyZWFtIGFuZCBjb21tYW5kIGxpbmUuCgp3Z2V0IGh0dHBzOi8vc3Ry ZWFtcy52aWRlb2xhbi5vcmcvZmZtcGVnL2luY29taW5nL2ludHJhOHg4cHJlZF8xMGJpdC4yNjQK IC4vZmZtcGVnIC1jcHVmbGFncyAwICAtdGhyZWFkcyAxIC1pIGludHJhOHg4cHJlZF8xMGJpdC4y NjQgIC1mIGZyYW1lbWQ1IC15IG1kNV9yZWYKIC4vZmZtcGVnICAgICAgICAgICAgICAtdGhyZWFk cyAxIC1pIGludHJhOHg4cHJlZF8xMGJpdC4yNjQgIC1mIGZyYW1lbWQ1IC15IG1kNV9uZW9uCgpT aWduZWQtb2ZmLWJ5OiBCaW4gUGVuZyA8cGVuZ2JpbkB2aXNpb251bGFyLmNvbT4KU2lnbmVkLW9m Zi1ieTogTWFydGluIFN0b3JzasO2IDxtYXJ0aW5AbWFydGluLnN0PgooY2hlcnJ5IHBpY2tlZCBm cm9tIGNvbW1pdCBkZWNjOWU2NDNjYzNhYzU1MzdmNDJiNDY1ZTI2MzdmYmVmYmY0MWNjKQotLS0K IGxpYmF2Y29kZWMvYWFyY2g2NC9oMjY0cHJlZF9uZW9uLlMgfCA1ICsrLS0tCiAxIGZpbGUgY2hh bmdlZCwgMiBpbnNlcnRpb25zKCspLCAzIGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL2xpYmF2 Y29kZWMvYWFyY2g2NC9oMjY0cHJlZF9uZW9uLlMgYi9saWJhdmNvZGVjL2FhcmNoNjQvaDI2NHBy ZWRfbmVvbi5TCmluZGV4IGVhMzc2ODlmMzQuLjE2OGY4MTkxYWQgMTAwNjQ0Ci0tLSBhL2xpYmF2 Y29kZWMvYWFyY2g2NC9oMjY0cHJlZF9uZW9uLlMKKysrIGIvbGliYXZjb2RlYy9hYXJjaDY0L2gy NjRwcmVkX25lb24uUwpAQCAtNTk1LDEyICs1OTUsMTEgQEAgZnVuY3Rpb24gZmZfcHJlZDh4OF9w bGFuZV9uZW9uXzEwLCBleHBvcnQ9MQogICAgICAgICBzc3VibCAgICAgICAgICAgdjIuNHMsICB2 Mi40aCwgIHYzLjRoCiAgICAgICAgIGV4dCAgICAgICAgICAgICB2MC4xNmIsIHYwLjE2YiwgdjAu MTZiLCAjMTQKICAgICAgICAgbW92ICAgICAgICAgICAgIHYwLmhbMF0sICB3enIKLSAgICAgICAg bXVsICAgICAgICAgICAgIHYwLjhoLCAgdjAuOGgsICB2NS5oWzBdCiAgICAgICAgIGR1cCAgICAg ICAgICAgICB2MS40cywgIHYyLnNbMF0KICAgICAgICAgZHVwICAgICAgICAgICAgIHYyLjRzLCAg djIuc1swXQogICAgICAgICBkdXAgICAgICAgICAgICAgdjMuOGgsICB2NS5oWzFdCi0gICAgICAg IHNhZGR3ICAgICAgICAgICB2MS40cywgIHYxLjRzLCAgdjAuNGgKLSAgICAgICAgc2FkZHcyICAg ICAgICAgIHYyLjRzLCAgdjIuNHMsICB2MC44aAorICAgICAgICBzbWxhbCAgICAgICAgICAgdjEu NHMsICB2MC40aCwgIHY1LmhbMF0KKyAgICAgICAgc21sYWwyICAgICAgICAgIHYyLjRzLCAgdjAu OGgsICB2NS5oWzBdCiAgICAgICAgIG1vdiAgICAgICAgICAgICB3MywgICM4CiAgICAgICAgIG12 bmkgICAgICAgICAgICB2NC44aCwgICMweEZDLCAgbHNsICM4IC8vIDEwMjMgZm9yIGNsaXBwaW5n CiAxOgotLSAKMi40OS4xCgoKRnJvbSA1NDMzMWQ0MzA1OTA5YWZkYjg5NTdjODU2NzYyNmFlYjEz OWM0ZmIyIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBCaW4gUGVuZyA8cGVuZ2JpbkB2 aXNpb251bGFyLmNvbT4KRGF0ZTogRnJpLCAxMyBEZWMgMjAyNCAyMjoxOTo0NyArMDgwMApTdWJq ZWN0OiBbUEFUQ0ggMTQwLzQzNF0gbGF2Yy9hYXJjaDY0OiBGaXggZmZfcHJlZDE2eDE2X3BsYW5l X25lb25fMTAKTUlNRS1WZXJzaW9uOiAxLjAKQ29udGVudC1UeXBlOiB0ZXh0L3BsYWluOyBjaGFy c2V0PVVURi04CkNvbnRlbnQtVHJhbnNmZXItRW5jb2Rpbmc6IDhiaXQKCkZpeCB0ZXN0IGZhaWx1 cmUgb24gYWFyY2g2NDoKLi90ZXN0cy9jaGVja2FzbS9jaGVja2FzbSAtLXRlc3Q9aDI2NHByZWQg MzY3ODQwCgpTaWduZWQtb2ZmLWJ5OiBQZW5nIEJpbiA8cGVuZ2JpbkB2aXNpb251bGFyLmNvbT4K U2lnbmVkLW9mZi1ieTogTWFydGluIFN0b3JzasO2IDxtYXJ0aW5AbWFydGluLnN0PgooY2hlcnJ5 IHBpY2tlZCBmcm9tIGNvbW1pdCA3MmEzNjU2ZTg0NjhhMzk0MzczYjYzOTdhYWNjOTA2ZDdmNzc5 NGMyKQotLS0KIGxpYmF2Y29kZWMvYWFyY2g2NC9oMjY0cHJlZF9uZW9uLlMgfCAxNSArKysrKysr LS0tLS0tLS0KIDEgZmlsZSBjaGFuZ2VkLCA3IGluc2VydGlvbnMoKyksIDggZGVsZXRpb25zKC0p CgpkaWZmIC0tZ2l0IGEvbGliYXZjb2RlYy9hYXJjaDY0L2gyNjRwcmVkX25lb24uUyBiL2xpYmF2 Y29kZWMvYWFyY2g2NC9oMjY0cHJlZF9uZW9uLlMKaW5kZXggMTY4ZjgxOTFhZC4uZDA5OTk5Mzhl ZiAxMDA2NDQKLS0tIGEvbGliYXZjb2RlYy9hYXJjaDY0L2gyNjRwcmVkX25lb24uUworKysgYi9s aWJhdmNvZGVjL2FhcmNoNjQvaDI2NHByZWRfbmVvbi5TCkBAIC01MDIsMjggKzUwMiwyNyBAQCBm dW5jdGlvbiBmZl9wcmVkMTZ4MTZfcGxhbmVfbmVvbl8xMCwgZXhwb3J0PTEKICAgICAgICAgYWRk ICAgICAgICAgICAgIHY3LjRoLCAgdjcuNGgsICB2MC40aAogICAgICAgICBzaGwgICAgICAgICAg ICAgdjIuNGgsICB2Ny40aCwgICM0CiAgICAgICAgIHNzdWJsICAgICAgICAgICB2Mi40cywgIHYy LjRoLCAgdjMuNGgKLSAgICAgICAgc2hsICAgICAgICAgICAgIHYzLjRoLCAgdjQuNGgsICAjNAog ICAgICAgICBleHQgICAgICAgICAgICAgdjAuMTZiLCB2MC4xNmIsIHYwLjE2YiwgIzE0Ci0gICAg ICAgIHNzdWJsICAgICAgICAgICB2Ni40cywgIHY1LjRoLCAgdjMuNGgKKyAgICAgICAgc3h0bCAg ICAgICAgICAgIHY2LjRzLCAgdjUuNGggICAgICAgICAgLy8gYwogCiAgICAgICAgIG1vdiAgICAg ICAgICAgICB2MC5oWzBdLCAgd3pyCiAgICAgICAgIG11bCAgICAgICAgICAgICB2MC44aCwgIHYw LjhoLCAgdjQuaFswXQogICAgICAgICBkdXAgICAgICAgICAgICAgdjE2LjRzLCB2Mi5zWzBdCiAg ICAgICAgIGR1cCAgICAgICAgICAgICB2MTcuNHMsIHYyLnNbMF0KLSAgICAgICAgZHVwICAgICAg ICAgICAgIHYyLjhoLCAgdjQuaFswXQotICAgICAgICBkdXAgICAgICAgICAgICAgdjMuNHMsICB2 Ni5zWzBdCi0gICAgICAgIHNobCAgICAgICAgICAgICB2Mi44aCwgIHYyLjhoLCAgIzMKKyAgICAg ICAgZHVwICAgICAgICAgICAgIHYyLjhoLCAgdjQuaFswXSAgICAgICAgLy8gYgorICAgICAgICBk dXAgICAgICAgICAgICAgdjMuNHMsICB2Ni5zWzBdICAgICAgICAvLyBjCisgICAgICAgIHNzaGxs ICAgICAgICAgICB2Mi40cywgIHYyLjRoLCAgIzMgICAgIC8vIGIgKiA4CiAgICAgICAgIHNhZGR3 ICAgICAgICAgICB2MTYuNHMsIHYxNi40cywgdjAuNGgKICAgICAgICAgc2FkZHcyICAgICAgICAg IHYxNy40cywgdjE3LjRzLCB2MC44aAotICAgICAgICBzYWRkdyAgICAgICAgICAgdjMuNHMsICB2 My40cywgIHYyLjRoCisgICAgICAgIHN1YiAgICAgICAgICAgICB2My40cywgIHYzLjRzLCAgdjIu NHMKIAogICAgICAgICBtb3YgICAgICAgICAgICAgdzMsICAgICAgIzE2CiAgICAgICAgIG12bmkg ICAgICAgICAgICB2NC44aCwgICAjMHhGQywgbHNsICM4IC8vIDEwMjMgZm9yIGNsaXBwaW5nCiAx OgogICAgICAgICBzcXNocnVuICAgICAgICAgdjAuNGgsICB2MTYuNHMsICM1CiAgICAgICAgIHNx c2hydW4yICAgICAgICB2MC44aCwgIHYxNy40cywgIzUKLSAgICAgICAgc2FkZHcgICAgICAgICAg IHYxNi40cywgdjE2LjRzLCB2Mi40aAotICAgICAgICBzYWRkdyAgICAgICAgICAgdjE3LjRzLCB2 MTcuNHMsIHYyLjRoCisgICAgICAgIGFkZCAgICAgICAgICAgICB2MTYuNHMsIHYxNi40cywgdjIu NHMKKyAgICAgICAgYWRkICAgICAgICAgICAgIHYxNy40cywgdjE3LjRzLCB2Mi40cwogICAgICAg ICBzcXNocnVuICAgICAgICAgdjEuNGgsICB2MTYuNHMsICM1CiAgICAgICAgIHNxc2hydW4yICAg ICAgICB2MS44aCwgIHYxNy40cywgIzUKICAgICAgICAgYWRkICAgICAgICAgICAgIHYxNi40cywg djE2LjRzLCB2My40cwotLSAKMi40OS4xCgoKRnJvbSAxNTY4NDIzOWNhOWMyOWQ3NGFjNmI3ODEy MDlmYjQ5MzhjOTRiODI5IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBNYXJ0aDY0IDxt YXJ0aDY0QHByb3h5aWQubmV0PgpEYXRlOiBNb24sIDcgT2N0IDIwMjQgMTg6MDQ6NDkgLTA1MDAK U3ViamVjdDogW1BBVENIIDE0MS80MzRdIGF2Zm9ybWF0L2R2ZHZpZGVvZGVjOiByZW1vdmUgdW51 c2VkIGhlYWRlcnMKClNpZ25lZC1vZmYtYnk6IE1hcnRoNjQgPG1hcnRoNjRAcHJveHlpZC5uZXQ+ CihjaGVycnkgcGlja2VkIGZyb20gY29tbWl0IDNhZDk2MjQzZDc1NmIyYjYzNDMxNDEwMTEyOTU2 ZTM2ZTQwNDRlNGEpCi0tLQogbGliYXZmb3JtYXQvZHZkdmlkZW9kZWMuYyB8IDIgLS0KIDEgZmls ZSBjaGFuZ2VkLCAyIGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL2xpYmF2Zm9ybWF0L2R2ZHZp ZGVvZGVjLmMgYi9saWJhdmZvcm1hdC9kdmR2aWRlb2RlYy5jCmluZGV4IDZiZDFkYmMxN2YuLjRl MzNkMWFiYTYgMTAwNjQ0Ci0tLSBhL2xpYmF2Zm9ybWF0L2R2ZHZpZGVvZGVjLmMKKysrIGIvbGli YXZmb3JtYXQvZHZkdmlkZW9kZWMuYwpAQCAtNDQsOCArNDQsNiBAQAogI2luY2x1ZGUgImxpYmF2 dXRpbC9tZW0uaCIKICNpbmNsdWRlICJsaWJhdnV0aWwvb3B0LmgiCiAjaW5jbHVkZSAibGliYXZ1 dGlsL3NhbXBsZWZtdC5oIgotI2luY2x1ZGUgImxpYmF2dXRpbC90aW1lLmgiCi0jaW5jbHVkZSAi bGliYXZ1dGlsL3RpbWVzdGFtcC5oIgogCiAjaW5jbHVkZSAiYXZmb3JtYXQuaCIKICNpbmNsdWRl ICJhdmlvX2ludGVybmFsLmgiCi0tIAoyLjQ5LjEKCgpGcm9tIGFlYmNlOGIxYjg0YTRiYzdiOThm MmY3ZjUyMGFhZjZkYjhkZGRmZDggTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCkZyb206IE1hcnRo NjQgPG1hcnRoNjRAcHJveHlpZC5uZXQ+CkRhdGU6IE1vbiwgNyBPY3QgMjAyNCAxODowNDo1MCAt MDUwMApTdWJqZWN0OiBbUEFUQ0ggMTQyLzQzNF0gYXZmb3JtYXQvZHZkdmlkZW9kZWM6IGZpeCBt ZW51IFBHQyBudW1iZXIgb2ZmLWJ5LW9uZQogaW4gc3RhdGUKClNpZ25lZC1vZmYtYnk6IE1hcnRo NjQgPG1hcnRoNjRAcHJveHlpZC5uZXQ+CihjaGVycnkgcGlja2VkIGZyb20gY29tbWl0IDk0MzQ2 ZWRiYmZlZmY3YTU0YWIwNDYzMWVmNGJhMjc4MTQ2MGUxN2MpCi0tLQogbGliYXZmb3JtYXQvZHZk dmlkZW9kZWMuYyB8IDIgKy0KIDEgZmlsZSBjaGFuZ2VkLCAxIGluc2VydGlvbigrKSwgMSBkZWxl dGlvbigtKQoKZGlmZiAtLWdpdCBhL2xpYmF2Zm9ybWF0L2R2ZHZpZGVvZGVjLmMgYi9saWJhdmZv cm1hdC9kdmR2aWRlb2RlYy5jCmluZGV4IDRlMzNkMWFiYTYuLmRhNDFhOWQzMjkgMTAwNjQ0Ci0t LSBhL2xpYmF2Zm9ybWF0L2R2ZHZpZGVvZGVjLmMKKysrIGIvbGliYXZmb3JtYXQvZHZkdmlkZW9k ZWMuYwpAQCAtMzQ0LDcgKzM0NCw3IEBAIHN0YXRpYyBpbnQgZHZkdmlkZW9fbWVudV9vcGVuKEFW Rm9ybWF0Q29udGV4dCAqcywgRFZEVmlkZW9QbGF5YmFja1N0YXRlICpzdGF0ZSkKICAgICB9CiAK ICAgICAvKiBtYWtlIHN1cmUgdGhlIFBHQyBpcyB2YWxpZCAqLwotICAgIHN0YXRlLT5wZ2NuICAg ICAgICAgID0gYy0+b3B0X3BnYyAtIDE7CisgICAgc3RhdGUtPnBnY24gICAgICAgICAgPSBjLT5v cHRfcGdjOwogICAgIHN0YXRlLT5wZ2MgICAgICAgICAgID0gcGdjaV91dC0+bHVbYy0+b3B0X21l bnVfbHUgLSAxXS5wZ2NpdC0+cGdjaV9zcnBbYy0+b3B0X3BnYyAtIDFdLnBnYzsKICAgICBpZiAo IXN0YXRlLT5wZ2MgfHwgIXN0YXRlLT5wZ2MtPnByb2dyYW1fbWFwIHx8ICFzdGF0ZS0+cGdjLT5j ZWxsX3BsYXliYWNrKSB7CiAgICAgICAgIGF2X2xvZyhzLCBBVl9MT0dfRVJST1IsICJJbnZhbGlk IFBHQyBzdHJ1Y3R1cmUgZm9yIG1lbnUgW0xVICVkLCBQR0MgJWRdXG4iLAotLSAKMi40OS4xCgoK RnJvbSA1ZDM3YzdjZjA4MWZiNzY2ZTUyZDg5NGFjN2Q5YzY5NjRhM2MyMzQ3IE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBNYXJ0aDY0IDxtYXJ0aDY0QHByb3h5aWQubmV0PgpEYXRlOiBN b24sIDcgT2N0IDIwMjQgMTg6MDQ6NTEgLTA1MDAKU3ViamVjdDogW1BBVENIIDE0My80MzRdIGF2 Zm9ybWF0L2R2ZHZpZGVvZGVjOiBtZWFzdXJlIGR1cmF0aW9uIG9mIHRoZSBjdXJyZW50CiBtZW51 IFZPQlUgaW4gc3RhdGUKClRoaXMgd2lsbCBiZSBhIHByZS1yZXF1aXNpdGUgdG8gY2FsY3VsYXRp bmcgY2hhcHRlciBtYXJrZXJzCmZvciBtZW51cy4KClNpZ25lZC1vZmYtYnk6IE1hcnRoNjQgPG1h cnRoNjRAcHJveHlpZC5uZXQ+CihjaGVycnkgcGlja2VkIGZyb20gY29tbWl0IDM5YzY2MmY1NDEy NWY1NWI2ZjAwMTRhYzYxZDkyY2IyNjE4ZjVkYjApCi0tLQogbGliYXZmb3JtYXQvZHZkdmlkZW9k ZWMuYyB8IDEgKwogMSBmaWxlIGNoYW5nZWQsIDEgaW5zZXJ0aW9uKCspCgpkaWZmIC0tZ2l0IGEv bGliYXZmb3JtYXQvZHZkdmlkZW9kZWMuYyBiL2xpYmF2Zm9ybWF0L2R2ZHZpZGVvZGVjLmMKaW5k ZXggZGE0MWE5ZDMyOS4uMThjMzU2YzEzMiAxMDA2NDQKLS0tIGEvbGliYXZmb3JtYXQvZHZkdmlk ZW9kZWMuYworKysgYi9saWJhdmZvcm1hdC9kdmR2aWRlb2RlYy5jCkBAIC00NzQsNiArNDc0LDcg QEAgc3RhdGljIGludCBkdmR2aWRlb19tZW51X25leHRfcHNfYmxvY2soQVZGb3JtYXRDb250ZXh0 ICpzLCBEVkRWaWRlb1BsYXliYWNrU3RhdGUKICAgICAgICAgfQogCiAgICAgICAgIHN0YXRlLT52 b2J1X2VfcHRtICAgICAgICA9IHBjaS5wY2lfZ2kudm9idV9lX3B0bTsKKyAgICAgICAgc3RhdGUt PnZvYnVfZHVyYXRpb24gICAgID0gcGNpLnBjaV9naS52b2J1X2VfcHRtIC0gcGNpLnBjaV9naS52 b2J1X3NfcHRtOwogCiAgICAgICAgIGF2X2xvZyhzLCBBVl9MT0dfREVCVUcsICJOQVYgcGFja2V0 OiBzZWN0b3I9JWQgIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidm9idV9zX3B0 bT0lZCB2b2J1X2VfcHRtPSVkIHRzX29mZnNldD0lIiBQUklkNjQgIlxuIiwKLS0gCjIuNDkuMQoK CkZyb20gYTVjNDhjYzdhMWIyMGZkMjg2NWI1ZDZlMzRlNjZiOGI1NmRhNzAyYyBNb24gU2VwIDE3 IDAwOjAwOjAwIDIwMDEKRnJvbTogTWFydGg2NCA8bWFydGg2NEBwcm94eWlkLm5ldD4KRGF0ZTog TW9uLCA3IE9jdCAyMDI0IDE4OjA0OjUyIC0wNTAwClN1YmplY3Q6IFtQQVRDSCAxNDQvNDM0XSBh dmZvcm1hdC9kdmR2aWRlb2RlYzogcmVtb3ZlICJhdXRvIiB2YWx1ZSBmb3IgLXBnCiBvcHRpb24s IGRlZmF1bHQgdG8gMQoKVGhlIGRlZmF1bHQgImF1dG8iIG1vZGUgaXMgZWZmZWN0aXZlbHkgdXNl bGVzczsgdGhlIHJlYXNvbmFibGUKZGVmYXVsdCB1c2UgY2FzZSBpcyB0byB1c2UgdGhlIGZpcnN0 IFBHIChzZWdtZW50KSBvZiB0aGUKc2VsZWN0ZWQgUEdDIGZvciBib3RoIG1lbnVzIGFuZCBzdGFu ZGFyZCB0aXRsZXMuIEp1c3QKZGVmYXVsdCB0aGUgdmFsdWUgdG8gMSwgc2luY2UgdGhlIG9wdGlv biBpcyBpcnJlbGV2YW50CnVubGVzcyAtcGdjIGlzIGFsc28gc2V0LgoKTm90ZSB0aGF0IHRoaXMg c2hvdWxkIG5vdCBicmVhayB1c2VycyB1c2luZyB0aGlzIGFkdmFuY2VkIG9wdGlvbi4KVGhlICJh dXRvIiBtb2RlIGVycm9yZWQgYW5kIGFza2VkIGZvciBhIFBHIG51bWJlciByZWdhcmRsZXNzCmZv ciBub24tbWVudXMsIGFuZCBmb3IgbWVudXMgdGhlIG1vZGUgc2ltcGx5IGRlZmF1bHRlZCB0byAx LgoKU2lnbmVkLW9mZi1ieTogTWFydGg2NCA8bWFydGg2NEBwcm94eWlkLm5ldD4KKGNoZXJyeSBw aWNrZWQgZnJvbSBjb21taXQgZTFhY2UxZDMxNDY3NDQ0MzlhOGM3NzY4ODEzYzgwMDhkZTFlOWVj NikKLS0tCiBkb2MvZGVtdXhlcnMudGV4aSAgICAgICAgIHwgIDMgKy0tCiBsaWJhdmZvcm1hdC9k dmR2aWRlb2RlYy5jIHwgMzEgKysrKysrKysrLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogMiBmaWxl cyBjaGFuZ2VkLCAxMCBpbnNlcnRpb25zKCspLCAyNCBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQg YS9kb2MvZGVtdXhlcnMudGV4aSBiL2RvYy9kZW11eGVycy50ZXhpCmluZGV4IDA0MjkzYzQ4MTMu Ljc0YjY4Nzc4YmQgMTAwNjQ0Ci0tLSBhL2RvYy9kZW11eGVycy50ZXhpCisrKyBiL2RvYy9kZW11 eGVycy50ZXhpCkBAIC0zOTcsOCArMzk3LDcgQEAgRGVmYXVsdCBpcyAwLCBhdXRvbWF0aWNhbGx5 IHJlc29sdmUgZnJvbSB2YWx1ZSBvZiBAb3B0aW9ue3RpdGxlfS4KIFRoZSBlbnRyeSBQRyB0byBz dGFydCBwbGF5YmFjaywgaW4gY29uanVuY3Rpb24gd2l0aCBAb3B0aW9ue3BnY30uCiBBbHRlcm5h dGl2ZSB0byBzZXR0aW5nIEBvcHRpb257dGl0bGV9LgogQ2hhcHRlciBtYXJrZXJzIGFyZSBub3Qg c3VwcG9ydGVkIGF0IHRoaXMgdGltZS4KLURlZmF1bHQgaXMgMCwgYXV0b21hdGljYWxseSByZXNv bHZlIGZyb20gdmFsdWUgb2YgQG9wdGlvbnt0aXRsZX0sIG9yCi1zdGFydCBmcm9tIHRoZSBiZWdp bm5pbmcgKFBHIDEpIG9mIHRoZSBtZW51LgorRGVmYXVsdCBpcyAxLCB0aGUgZmlyc3QgUEcgb2Yg dGhlIFBHQy4KIAogQGl0ZW0gcHJlaW5kZXggQHZhcntib29sfQogRW5hYmxlIHRoaXMgdG8gaGF2 ZSBhY2N1cmF0ZSBjaGFwdGVyIChQVFQpIG1hcmtlcnMgYW5kIGR1cmF0aW9uIG1lYXN1cmVtZW50 LApkaWZmIC0tZ2l0IGEvbGliYXZmb3JtYXQvZHZkdmlkZW9kZWMuYyBiL2xpYmF2Zm9ybWF0L2R2 ZHZpZGVvZGVjLmMKaW5kZXggMThjMzU2YzEzMi4uYmVkN2MzOGZmNiAxMDA2NDQKLS0tIGEvbGli YXZmb3JtYXQvZHZkdmlkZW9kZWMuYworKysgYi9saWJhdmZvcm1hdC9kdmR2aWRlb2RlYy5jCkBA IC01MzcsNyArNTM3LDcgQEAgc3RhdGljIGludCBkdmR2aWRlb19wbGF5X29wZW4oQVZGb3JtYXRD b250ZXh0ICpzLCBEVkRWaWRlb1BsYXliYWNrU3RhdGUgKnN0YXRlKQogICAgICAgICBnb3RvIGVu ZF9kdmRuYXZfZXJyb3I7CiAgICAgfQogCi0gICAgaWYgKGMtPm9wdF9wZ2MgPiAwICYmIGMtPm9w dF9wZyA+IDApIHsKKyAgICBpZiAoYy0+b3B0X3BnYyA+IDApIHsKICAgICAgICAgaWYgKGR2ZG5h dl9wcm9ncmFtX3BsYXkoc3RhdGUtPmR2ZG5hdiwgYy0+b3B0X3RpdGxlLCBjLT5vcHRfcGdjLCBj LT5vcHRfcGcpICE9IERWRE5BVl9TVEFUVVNfT0spIHsKICAgICAgICAgICAgIGF2X2xvZyhzLCBB Vl9MT0dfRVJST1IsICJVbmFibGUgdG8gc3RhcnQgcGxheWJhY2sgYXQgdGl0bGUgJWQsIFBHQyAl ZCwgUEcgJWRcbiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjLT5vcHRf dGl0bGUsIGMtPm9wdF9wZ2MsIGMtPm9wdF9wZyk7CkBAIC0xNTQxLDEzICsxNTQxLDYgQEAgc3Rh dGljIGludCBkdmR2aWRlb19yZWFkX2hlYWRlcihBVkZvcm1hdENvbnRleHQgKnMpCiAgICAgICAg ICAgICBjLT5vcHRfbWVudV9sdSA9IDE7CiAgICAgICAgIH0KIAotICAgICAgICBpZiAoIWMtPm9w dF9wZykgewotICAgICAgICAgICAgYXZfbG9nKHMsIEFWX0xPR19JTkZPLCAiRGVmYXVsdGluZyB0 byBtZW51IFBHICMxLiAiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJUaGlz IGlzIG5vdCBhbHdheXMgZGVzaXJhYmxlLCB2YWxpZGF0aW9uIHN1Z2dlc3RlZC5cbiIpOwotCi0g ICAgICAgICAgICBjLT5vcHRfcGcgPSAxOwotICAgICAgICB9Ci0KICAgICAgICAgaWYgKChyZXQg PSBkdmR2aWRlb19pZm9fb3BlbihzKSkgPCAwICAgICAgICAgICAgICAgICAgICB8fAogICAgICAg ICAgICAgKHJldCA9IGR2ZHZpZGVvX21lbnVfb3BlbihzLCAmYy0+cGxheV9zdGF0ZSkpIDwgMCAg IHx8CiAgICAgICAgICAgICAocmV0ID0gZHZkdmlkZW9fc3ViZGVtdXhfb3BlbihzKSkgPCAwICAg ICAgICAgICAgICAgfHwKQEAgLTE1NTgsNyArMTU1MSwxMyBAQCBzdGF0aWMgaW50IGR2ZHZpZGVv X3JlYWRfaGVhZGVyKEFWRm9ybWF0Q29udGV4dCAqcykKICAgICAgICAgcmV0dXJuIDA7CiAgICAg fQogCi0gICAgaWYgKGMtPm9wdF9jaGFwdGVyX2VuZCAhPSAwICYmIGMtPm9wdF9jaGFwdGVyX3N0 YXJ0ID4gYy0+b3B0X2NoYXB0ZXJfZW5kKSB7CisgICAgaWYgKGMtPm9wdF9wZ2MgJiYgKGMtPm9w dF9jaGFwdGVyX3N0YXJ0ID4gMSB8fCBjLT5vcHRfY2hhcHRlcl9lbmQgPiAwIHx8IGMtPm9wdF9w cmVpbmRleCkpIHsKKyAgICAgICAgYXZfbG9nKHMsIEFWX0xPR19FUlJPUiwgIlBHQyBleHRyYWN0 aW9uIG5vdCBjb21wYXRpYmxlIHdpdGggY2hhcHRlciBvciBwcmVpbmRleCBvcHRpb25zXG4iKTsK KworICAgICAgICByZXR1cm4gQVZFUlJPUihFSU5WQUwpOworICAgIH0KKworICAgIGlmICghYy0+ b3B0X3BnYyAmJiAoYy0+b3B0X2NoYXB0ZXJfZW5kICE9IDAgJiYgYy0+b3B0X2NoYXB0ZXJfc3Rh cnQgPiBjLT5vcHRfY2hhcHRlcl9lbmQpKSB7CiAgICAgICAgIGF2X2xvZyhzLCBBVl9MT0dfRVJS T1IsICJDaGFwdGVyIChQVFQpIHJhbmdlIFslZCwgJWRdIGlzIGludmFsaWRcbiIsCiAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIGMtPm9wdF9jaGFwdGVyX3N0YXJ0LCBjLT5vcHRfY2hh cHRlcl9lbmQpOwogCkBAIC0xNTcyLDE4ICsxNTcxLDYgQEAgc3RhdGljIGludCBkdmR2aWRlb19y ZWFkX2hlYWRlcihBVkZvcm1hdENvbnRleHQgKnMpCiAgICAgICAgIGMtPm9wdF90aXRsZSA9IDE7 CiAgICAgfQogCi0gICAgaWYgKGMtPm9wdF9wZ2MpIHsKLSAgICAgICAgaWYgKGMtPm9wdF9wZyA9 PSAwKSB7Ci0gICAgICAgICAgICBhdl9sb2cocywgQVZfTE9HX0VSUk9SLCAiSW52YWxpZCBjb29y ZGluYXRlcy4gSWYgLXBnYyBpcyBzZXQsIC1wZyBtdXN0IGJlIHNldCB0b28uXG4iKTsKLQotICAg ICAgICAgICAgcmV0dXJuIEFWRVJST1IoRUlOVkFMKTsKLSAgICAgICAgfSBlbHNlIGlmIChjLT5v cHRfY2hhcHRlcl9zdGFydCA+IDEgfHwgYy0+b3B0X2NoYXB0ZXJfZW5kID4gMCB8fCBjLT5vcHRf cHJlaW5kZXgpIHsKLSAgICAgICAgICAgIGF2X2xvZyhzLCBBVl9MT0dfRVJST1IsICItcGdjIGlz IG5vdCBjb21wYXRpYmxlIHdpdGggdGhlIC1wcmVpbmRleCBvciAiCi0gICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAiLWNoYXB0ZXJfc3RhcnQvLWNoYXB0ZXJfZW5kIG9wdGlvbnNc biIpOwotICAgICAgICAgICAgcmV0dXJuIEFWRVJST1IoRUlOVkFMKTsKLSAgICAgICAgfQotICAg IH0KLQogICAgIGlmICgocmV0ID0gZHZkdmlkZW9faWZvX29wZW4ocykpIDwgMCkKICAgICAgICAg cmV0dXJuIHJldDsKIApAQCAtMTc2MSw3ICsxNzQ4LDcgQEAgc3RhdGljIGNvbnN0IEFWT3B0aW9u IGR2ZHZpZGVvX29wdGlvbnNbXSA9IHsKICAgICB7Im1lbnUiLCAgICAgICAgICAgICJkZW11eCBt ZW51IGRvbWFpbiIsICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE9GRlNF VChvcHRfbWVudSksICAgICAgICAgICBBVl9PUFRfVFlQRV9CT09MLCAgIHsgLmk2ND0wIH0sICAg ICAwLCAgICAgICAgICAxLCAgICAgICAgIEFWX09QVF9GTEFHX0RFQ09ESU5HX1BBUkFNIH0sCiAg ICAgeyJtZW51X2x1IiwgICAgICAgICAibWVudSBsYW5ndWFnZSB1bml0ICgwPWF1dG8pIiwgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICBPRkZTRVQob3B0X21lbnVfbHUpLCAgICAgICAgQVZf T1BUX1RZUEVfSU5ULCAgICB7IC5pNjQ9MCB9LCAgICAgMCwgICAgICAgICAgOTksICAgICAgICBB Vl9PUFRfRkxBR19ERUNPRElOR19QQVJBTSB9LAogICAgIHsibWVudV92dHMiLCAgICAgICAgIm1l bnUgVlRTICgwPVZNRyBtYWluIG1lbnUpIiwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg T0ZGU0VUKG9wdF9tZW51X3Z0cyksICAgICAgIEFWX09QVF9UWVBFX0lOVCwgICAgeyAuaTY0PTAg fSwgICAgIDAsICAgICAgICAgIDk5LCAgICAgICAgQVZfT1BUX0ZMQUdfREVDT0RJTkdfUEFSQU0g fSwKLSAgICB7InBnIiwgICAgICAgICAgICAgICJlbnRyeSBQRyBudW1iZXIgKDA9YXV0bykiLCAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE9GRlNFVChvcHRfcGcpLCAgICAgICAgICAg ICBBVl9PUFRfVFlQRV9JTlQsICAgIHsgLmk2ND0wIH0sICAgICAwLCAgICAgICAgICAyNTUsICAg ICAgIEFWX09QVF9GTEFHX0RFQ09ESU5HX1BBUkFNIH0sCisgICAgeyJwZyIsICAgICAgICAgICAg ICAiZW50cnkgUEcgbnVtYmVyICh3aGVuIHBhaXJlZCB3aXRoIFBHQyBudW1iZXIpIiwgICAgICAg ICAgICBPRkZTRVQob3B0X3BnKSwgICAgICAgICAgICAgQVZfT1BUX1RZUEVfSU5ULCAgICB7IC5p NjQ9MSB9LCAgICAgMSwgICAgICAgICAgMjU1LCAgICAgICBBVl9PUFRfRkxBR19ERUNPRElOR19Q QVJBTSB9LAogICAgIHsicGdjIiwgICAgICAgICAgICAgImVudHJ5IFBHQyBudW1iZXIgKDA9YXV0 bykiLCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgT0ZGU0VUKG9wdF9wZ2MpLCAgICAg ICAgICAgIEFWX09QVF9UWVBFX0lOVCwgICAgeyAuaTY0PTAgfSwgICAgIDAsICAgICAgICAgIDk5 OSwgICAgICAgQVZfT1BUX0ZMQUdfREVDT0RJTkdfUEFSQU0gfSwKICAgICB7InByZWluZGV4Iiwg ICAgICAgICJlbmFibGUgZm9yIGFjY3VyYXRlIGNoYXB0ZXIgbWFya2Vycywgc2xvdyAoMi1wYXNz IHJlYWQpIiwgIE9GRlNFVChvcHRfcHJlaW5kZXgpLCAgICAgICBBVl9PUFRfVFlQRV9CT09MLCAg IHsgLmk2ND0wIH0sICAgICAwLCAgICAgICAgICAxLCAgICAgICAgIEFWX09QVF9GTEFHX0RFQ09E SU5HX1BBUkFNIH0sCiAgICAgeyJyZWdpb24iLCAgICAgICAgICAicGxheWJhY2sgcmVnaW9uIG51 bWJlciAoMD1mcmVlKSIsICAgICAgICAgICAgICAgICAgICAgICAgICBPRkZTRVQob3B0X3JlZ2lv biksICAgICAgICAgQVZfT1BUX1RZUEVfSU5ULCAgICB7IC5pNjQ9MCB9LCAgICAgMCwgICAgICAg ICAgOCwgICAgICAgICBBVl9PUFRfRkxBR19ERUNPRElOR19QQVJBTSB9LAotLSAKMi40OS4xCgoK RnJvbSBiMTA4ZDE3YzU2NTlmNWNkNzhhMGRlNjFkYTkzMDZjMjI1ZjRiYzUwIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBNYXJ0aDY0IDxtYXJ0aDY0QHByb3h5aWQubmV0PgpEYXRlOiBN b24sIDcgT2N0IDIwMjQgMTg6MDQ6NTMgLTA1MDAKU3ViamVjdDogW1BBVENIIDE0NS80MzRdIGF2 Zm9ybWF0L2R2ZHZpZGVvZGVjOiBtb3ZlIG1lbWNweSBiZWxvdyBtaXNzZWQgTkFWCiBwYWNrZXQg d2FybmluZwoKUmVhZGFiaWxpdHkgaW1wcm92ZW1lbnQ7IHRoZSB3YXJuaW5nIGNhbiBiZSBidW5k bGVkIGJlbmVhdGgKdGhlIHByZWNlZGluZyB2YWxpZGF0aW9ucyByYXRoZXIgdGhhbiBhd2t3YXJk bHkgYmV0d2VlbiB0aGUgbWVtY3B5CmFuZCByZXR1cm4uCgpTaWduZWQtb2ZmLWJ5OiBNYXJ0aDY0 IDxtYXJ0aDY0QHByb3h5aWQubmV0PgooY2hlcnJ5IHBpY2tlZCBmcm9tIGNvbW1pdCA2YmJhYTdk YjQ5ZGU4NjY1M2JkMjM1NDRlNWJiNTUzMTUyNjVmODI4KQotLS0KIGxpYmF2Zm9ybWF0L2R2ZHZp ZGVvZGVjLmMgfCA0ICsrLS0KIDEgZmlsZSBjaGFuZ2VkLCAyIGluc2VydGlvbnMoKyksIDIgZGVs ZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvbGliYXZmb3JtYXQvZHZkdmlkZW9kZWMuYyBiL2xpYmF2 Zm9ybWF0L2R2ZHZpZGVvZGVjLmMKaW5kZXggYmVkN2MzOGZmNi4uOTI0NmFjMDg2MyAxMDA2NDQK LS0tIGEvbGliYXZmb3JtYXQvZHZkdmlkZW9kZWMuYworKysgYi9saWJhdmZvcm1hdC9kdmR2aWRl b2RlYy5jCkBAIC04MDQsMTMgKzgwNCwxMyBAQCBzdGF0aWMgaW50IGR2ZHZpZGVvX3BsYXlfbmV4 dF9wc19ibG9jayhBVkZvcm1hdENvbnRleHQgKnMsIERWRFZpZGVvUGxheWJhY2tTdGF0ZQogICAg ICAgICAgICAgICAgICAgICByZXR1cm4gQVZFUlJPUl9JTlBVVF9DSEFOR0VEOwogICAgICAgICAg ICAgICAgIH0KIAotICAgICAgICAgICAgICAgIG1lbWNweShidWYsICZuYXZfYnVmLCBuYXZfbGVu KTsKLQogICAgICAgICAgICAgICAgIGlmIChzdGF0ZS0+cGduICE9IGN1cl9wZ24pCiAgICAgICAg ICAgICAgICAgICAgIGF2X2xvZyhzLCBBVl9MT0dfV0FSTklORywgIlVuZXhwZWN0ZWQgUEcgY2hh bmdlIChleHBlY3RlZD0lZCBhY3R1YWw9JWQpOyAiCiAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgInRoaXMgY291bGQgYmUgZHVlIHRvIGEgbWlzc2VkIE5BViBw YWNrZXRcbiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg c3RhdGUtPnBnbiwgY3VyX3Bnbik7CiAKKyAgICAgICAgICAgICAgICBtZW1jcHkoYnVmLCAmbmF2 X2J1ZiwgbmF2X2xlbik7CisKICAgICAgICAgICAgICAgICAoKnBfbmF2X2V2ZW50KSA9IG5hdl9l dmVudDsKIAogICAgICAgICAgICAgICAgIHN0YXRlLT5pc19zZWVraW5nID0gMDsKLS0gCjIuNDku MQoKCkZyb20gNmY0YWU1ZjE4Mzg5MDkyOGRlMWNmYzIzMGRjMDgwYmI5M2VhYTViZSBNb24gU2Vw IDE3IDAwOjAwOjAwIDIwMDEKRnJvbTogTWFydGg2NCA8bWFydGg2NEBwcm94eWlkLm5ldD4KRGF0 ZTogTW9uLCA3IE9jdCAyMDI0IDE4OjA0OjU0IC0wNTAwClN1YmplY3Q6IFtQQVRDSCAxNDYvNDM0 XSBhdmZvcm1hdC9kdmR2aWRlb2RlYzogc3RhbmRhcmRpemUgdGhlIE5BViBwYWNrZXQKIGV2ZW50 IHNpZ25hbAoKVGhpcyBjb25zb2xpZGF0ZXMgdGhlIEZGRVJST1JfUkVETyBoYW5kbGluZyBvZiBO QVYgcGFja2V0cyB0bwpkdmR2aWRlb19zdWJkZW11eF9yZWFkX2RhdGEoKSwgaXMgYSBwcmUtcmVx dWlzaXRlIHRvIGNhbGN1bGF0aW5nCmNoYXB0ZXIgbWFya2VycyBmb3IgbWVudXMsIGFuZCBhIHBy ZS1yZXF1aXNpdGUgdG8gZml4aW5nIHRoZQpmcmFtZSBkZXN5bmMgaXNzdWUgd2hlbiB0aGUgc3Vi ZGVtdXhlciBpcyBmbHVzaGVkLgoKU2lnbmVkLW9mZi1ieTogTWFydGg2NCA8bWFydGg2NEBwcm94 eWlkLm5ldD4KKGNoZXJyeSBwaWNrZWQgZnJvbSBjb21taXQgYjM4Y2EyMGJmMjU0NGM1MDNlMzBk MGY2ODQ1MzQ4M2VkMjQ0MzBjMykKLS0tCiBsaWJhdmZvcm1hdC9kdmR2aWRlb2RlYy5jIHwgMzEg KysrKysrKysrKysrKysrKystLS0tLS0tLS0tLS0tLQogMSBmaWxlIGNoYW5nZWQsIDE3IGluc2Vy dGlvbnMoKyksIDE0IGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL2xpYmF2Zm9ybWF0L2R2ZHZp ZGVvZGVjLmMgYi9saWJhdmZvcm1hdC9kdmR2aWRlb2RlYy5jCmluZGV4IDkyNDZhYzA4NjMuLjA2 NmVkYWFhMjcgMTAwNjQ0Ci0tLSBhL2xpYmF2Zm9ybWF0L2R2ZHZpZGVvZGVjLmMKKysrIGIvbGli YXZmb3JtYXQvZHZkdmlkZW9kZWMuYwpAQCAtMzkwLDcgKzM5MCw3IEBAIHN0YXRpYyBpbnQgZHZk dmlkZW9fbWVudV9vcGVuKEFWRm9ybWF0Q29udGV4dCAqcywgRFZEVmlkZW9QbGF5YmFja1N0YXRl ICpzdGF0ZSkKIH0KIAogc3RhdGljIGludCBkdmR2aWRlb19tZW51X25leHRfcHNfYmxvY2soQVZG b3JtYXRDb250ZXh0ICpzLCBEVkRWaWRlb1BsYXliYWNrU3RhdGUgKnN0YXRlLAotICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDhfdCAqYnVmLCBpbnQgYnVmX3NpemUs CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50OF90ICpidWYsIGlu dCBidWZfc2l6ZSwgaW50ICpwX2lzX25hdl9wYWNrZXQsCiAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICB2b2lkICgqZmx1c2hfY2IpKEFWRm9ybWF0Q29udGV4dCAqcykpCiB7 CiAgICAgaW50NjRfdCBibG9ja3NfcmVhZCAgICAgICAgICAgICAgICAgICA9IDA7CkBAIC0zOTgs NiArMzk4LDggQEAgc3RhdGljIGludCBkdmR2aWRlb19tZW51X25leHRfcHNfYmxvY2soQVZGb3Jt YXRDb250ZXh0ICpzLCBEVkRWaWRlb1BsYXliYWNrU3RhdGUKICAgICBwY2lfdCBwY2kgICAgICAg ICAgICAgICAgICAgICAgICAgICAgID0gKHBjaV90KSB7MH07CiAgICAgZHNpX3QgZHNpICAgICAg ICAgICAgICAgICAgICAgICAgICAgICA9IChkc2lfdCkgezB9OwogCisgICAgKCpwX2lzX25hdl9w YWNrZXQpICA9IDA7CisKICAgICBpZiAoYnVmX3NpemUgIT0gRFZEVklERU9fQkxPQ0tfU0laRSkg ewogICAgICAgICBhdl9sb2cocywgQVZfTE9HX0VSUk9SLCAiSW52YWxpZCBidWZmZXIgc2l6ZSAo ZXhwZWN0ZWQ9JWQgYWN0dWFsPSVkKVxuIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgRFZEVklERU9fQkxPQ0tfU0laRSwgYnVmX3NpemUpOwpAQCAtNDgxLDcgKzQ4Myw5IEBAIHN0 YXRpYyBpbnQgZHZkdmlkZW9fbWVudV9uZXh0X3BzX2Jsb2NrKEFWRm9ybWF0Q29udGV4dCAqcywg RFZEVmlkZW9QbGF5YmFja1N0YXRlCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRz aS5kc2lfZ2kubnZfcGNrX2xibiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcGNp LnBjaV9naS52b2J1X3NfcHRtLCBwY2kucGNpX2dpLnZvYnVfZV9wdG0sIHN0YXRlLT50c19vZmZz ZXQpOwogCi0gICAgICAgIHJldHVybiBGRkVSUk9SX1JFRE87CisgICAgICAgICgqcF9pc19uYXZf cGFja2V0KSA9IDE7CisKKyAgICAgICAgcmV0dXJuIDA7CiAgICAgfQogCiAgICAgLyogd2UgYXJl IGluIHRoZSBtaWRkbGUgb2YgYSBWT0JVLCBzbyBwYXNzIG9uIHRoZSBQUyBwYWNrZXQgKi8KQEAg LTYxMSw4ICs2MTUsNyBAQCBlbmRfZHZkbmF2X2Vycm9yOgogfQogCiBzdGF0aWMgaW50IGR2ZHZp ZGVvX3BsYXlfbmV4dF9wc19ibG9jayhBVkZvcm1hdENvbnRleHQgKnMsIERWRFZpZGVvUGxheWJh Y2tTdGF0ZSAqc3RhdGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1 aW50OF90ICpidWYsIGludCBidWZfc2l6ZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIGludCAqcF9uYXZfZXZlbnQsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICB1aW50OF90ICpidWYsIGludCBidWZfc2l6ZSwgaW50ICpwX2lzX25hdl9wYWNr ZXQsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2b2lkICgqZmx1c2hf Y2IpKEFWRm9ybWF0Q29udGV4dCAqcykpCiB7CiAgICAgRFZEVmlkZW9EZW11eENvbnRleHQgKmMg PSBzLT5wcml2X2RhdGE7CkBAIC02MjcsNiArNjMwLDggQEAgc3RhdGljIGludCBkdmR2aWRlb19w bGF5X25leHRfcHNfYmxvY2soQVZGb3JtYXRDb250ZXh0ICpzLCBEVkRWaWRlb1BsYXliYWNrU3Rh dGUKICAgICBwY2lfdCAqZV9wY2k7CiAgICAgZHNpX3QgKmVfZHNpOwogCisgICAgKCpwX2lzX25h dl9wYWNrZXQpICA9IDA7CisKICAgICBpZiAoYnVmX3NpemUgIT0gRFZEVklERU9fQkxPQ0tfU0la RSkgewogICAgICAgICBhdl9sb2cocywgQVZfTE9HX0VSUk9SLCAiSW52YWxpZCBidWZmZXIgc2l6 ZSAoZXhwZWN0ZWQ9JWQgYWN0dWFsPSVkKVxuIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgRFZEVklERU9fQkxPQ0tfU0laRSwgYnVmX3NpemUpOwpAQCAtNzgwLDkgKzc4NSw5IEBA IHN0YXRpYyBpbnQgZHZkdmlkZW9fcGxheV9uZXh0X3BzX2Jsb2NrKEFWRm9ybWF0Q29udGV4dCAq cywgRFZEVmlkZW9QbGF5YmFja1N0YXRlCiAKICAgICAgICAgICAgICAgICBzdGF0ZS0+dm9idV9l X3B0bSA9IGVfcGNpLT5wY2lfZ2kudm9idV9lX3B0bTsKIAotICAgICAgICAgICAgICAgICgqcF9u YXZfZXZlbnQpID0gbmF2X2V2ZW50OworICAgICAgICAgICAgICAgICgqcF9pc19uYXZfcGFja2V0 KSA9IDE7CiAKLSAgICAgICAgICAgICAgICByZXR1cm4gbmF2X2xlbjsKKyAgICAgICAgICAgICAg ICByZXR1cm4gMDsKICAgICAgICAgICAgIGNhc2UgRFZETkFWX0JMT0NLX09LOgogICAgICAgICAg ICAgICAgIGlmICghc3RhdGUtPmluX3BzKSB7CiAgICAgICAgICAgICAgICAgICAgIGlmIChzdGF0 ZS0+aW5fcGdjKQpAQCAtODExLDggKzgxNiw2IEBAIHN0YXRpYyBpbnQgZHZkdmlkZW9fcGxheV9u ZXh0X3BzX2Jsb2NrKEFWRm9ybWF0Q29udGV4dCAqcywgRFZEVmlkZW9QbGF5YmFja1N0YXRlCiAK ICAgICAgICAgICAgICAgICBtZW1jcHkoYnVmLCAmbmF2X2J1ZiwgbmF2X2xlbik7CiAKLSAgICAg ICAgICAgICAgICAoKnBfbmF2X2V2ZW50KSA9IG5hdl9ldmVudDsKLQogICAgICAgICAgICAgICAg IHN0YXRlLT5pc19zZWVraW5nID0gMDsKIAogICAgICAgICAgICAgICAgIHJldHVybiBuYXZfbGVu OwpAQCAtMTQ0MiwxOCArMTQ0NSwxOCBAQCBzdGF0aWMgaW50IGR2ZHZpZGVvX3N1YmRlbXV4X3Jl YWRfZGF0YSh2b2lkICpvcGFxdWUsIHVpbnQ4X3QgKmJ1ZiwgaW50IGJ1Zl9zaXplKQogICAgIEFW Rm9ybWF0Q29udGV4dCAqcyA9IG9wYXF1ZTsKICAgICBEVkRWaWRlb0RlbXV4Q29udGV4dCAqYyA9 IHMtPnByaXZfZGF0YTsKIAotICAgIGludCByZXQgPSAwOwotICAgIGludCBuYXZfZXZlbnQ7Cisg ICAgaW50IHJldDsKKyAgICBpbnQgaXNfbmF2X3BhY2tldDsKIAogICAgIGlmIChjLT5wbGF5X2Vu ZCkKICAgICAgICAgcmV0dXJuIEFWRVJST1JfRU9GOwogCiAgICAgaWYgKGMtPm9wdF9tZW51KQot ICAgICAgICByZXQgPSBkdmR2aWRlb19tZW51X25leHRfcHNfYmxvY2socywgJmMtPnBsYXlfc3Rh dGUsIGJ1ZiwgYnVmX3NpemUsCisgICAgICAgIHJldCA9IGR2ZHZpZGVvX21lbnVfbmV4dF9wc19i bG9jayhzLCAmYy0+cGxheV9zdGF0ZSwgYnVmLCBidWZfc2l6ZSwgJmlzX25hdl9wYWNrZXQsCiAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkdmR2aWRlb19zdWJkZW11 eF9mbHVzaCk7CiAgICAgZWxzZQotICAgICAgICByZXQgPSBkdmR2aWRlb19wbGF5X25leHRfcHNf YmxvY2sob3BhcXVlLCAmYy0+cGxheV9zdGF0ZSwgYnVmLCBidWZfc2l6ZSwKLSAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZuYXZfZXZlbnQsIGR2ZHZpZGVvX3N1YmRl bXV4X2ZsdXNoKTsKKyAgICAgICAgcmV0ID0gZHZkdmlkZW9fcGxheV9uZXh0X3BzX2Jsb2NrKHMs ICZjLT5wbGF5X3N0YXRlLCBidWYsIGJ1Zl9zaXplLCAmaXNfbmF2X3BhY2tldCwKKyAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGR2ZHZpZGVvX3N1YmRlbXV4X2ZsdXNo KTsKIAogICAgIGlmIChyZXQgPT0gQVZFUlJPUl9FT0YpIHsKICAgICAgICAgYy0+bXBlZ19wYi5w dWIuZW9mX3JlYWNoZWQgPSAxOwpAQCAtMTQ2Miw3ICsxNDY1LDcgQEAgc3RhdGljIGludCBkdmR2 aWRlb19zdWJkZW11eF9yZWFkX2RhdGEodm9pZCAqb3BhcXVlLCB1aW50OF90ICpidWYsIGludCBi dWZfc2l6ZSkKICAgICAgICAgcmV0dXJuIEFWRVJST1JfRU9GOwogICAgIH0KIAotICAgIGlmIChy ZXQgPj0gMCAmJiBuYXZfZXZlbnQgPT0gRFZETkFWX05BVl9QQUNLRVQpCisgICAgaWYgKHJldCA9 PSAwICYmIGlzX25hdl9wYWNrZXQpCiAgICAgICAgIHJldHVybiBGRkVSUk9SX1JFRE87CiAKICAg ICByZXR1cm4gcmV0OwotLSAKMi40OS4xCgoKRnJvbSBlY2UyYTlhMjc1MjJmNzNjNzE1N2Q2N2M3 Y2JkOTlmOWM5MDJkMWNlIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBNYXJ0aDY0IDxt YXJ0aDY0QHByb3h5aWQubmV0PgpEYXRlOiBNb24sIDcgT2N0IDIwMjQgMTg6MDQ6NTUgLTA1MDAK U3ViamVjdDogW1BBVENIIDE0Ny80MzRdIGF2Zm9ybWF0L2R2ZHZpZGVvZGVjOiBlbmFibGUgY2hh cHRlciBjYWxjdWxhdGlvbiBmb3IKIG1lbnVzCgpNZW51cyBhcmUgZ2VuZXJhbGx5IHNlZ21lbnRl ZCBieSBjZWxsLCBzbyB1c2UgdGhlbSBhcyB0aGUKbWFya2VyIGRlbGltaXRlcnMuIFJlcXVpcmVz IHByZWluZGV4IG9wdGlvbiB0byBiZSBlbmFibGVkLgoKU2lnbmVkLW9mZi1ieTogTWFydGg2NCA8 bWFydGg2NEBwcm94eWlkLm5ldD4KKGNoZXJyeSBwaWNrZWQgZnJvbSBjb21taXQgYzFlNGI2YzY3 NmM0ZTVlNTg3YzQ3NjJhN2E4Y2EyOTE4NGJjNWY0NikKLS0tCiBkb2MvZGVtdXhlcnMudGV4aSAg ICAgICAgIHwgIDEgLQogbGliYXZmb3JtYXQvZHZkdmlkZW9kZWMuYyB8IDUzICsrKysrKysrKysr KysrKysrKysrKysrKysrLS0tLS0tLS0tLS0tLQogMiBmaWxlcyBjaGFuZ2VkLCAzNSBpbnNlcnRp b25zKCspLCAxOSBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9kb2MvZGVtdXhlcnMudGV4aSBi L2RvYy9kZW11eGVycy50ZXhpCmluZGV4IDc0YjY4Nzc4YmQuLmEwM2U4MDczMmEgMTAwNjQ0Ci0t LSBhL2RvYy9kZW11eGVycy50ZXhpCisrKyBiL2RvYy9kZW11eGVycy50ZXhpCkBAIC00MDUsNyAr NDA1LDYgQEAgd2hpY2ggcmVxdWlyZXMgYSBzbG93IHNlY29uZCBwYXNzIHJlYWQgaW4gb3JkZXIg dG8gaW5kZXggdGhlIGNoYXB0ZXIgbWFya2VyCiB0aW1lc3RhbXBzIGZyb20gTkFWIHBhY2tldHMu IFRoaXMgaXMgbm9uLWlkZWFsIGV4dHJhIHdvcmsgZm9yIHJlYWwgb3B0aWNhbCBkcml2ZXMuCiBJ dCBpcyByZWNvbW1lbmRlZCBhbmQgZmFzdGVyIHRvIHVzZSB0aGlzIG9wdGlvbiB3aXRoIGEgYmFj a3VwIG9mIHRoZSBEVkQgc3RydWN0dXJlCiBzdG9yZWQgb24gYSBoYXJkIGRyaXZlLiBOb3QgY29t cGF0aWJsZSB3aXRoIEBvcHRpb257cGdjfSBhbmQgQG9wdGlvbntwZ30uCi1Ob3QgYXBwbGljYWJs ZSB0byBtZW51cy4KIERlZmF1bHQgaXMgMCwgZmFsc2UuCiAKIEBpdGVtIHRyaW0gQHZhcntib29s fQpkaWZmIC0tZ2l0IGEvbGliYXZmb3JtYXQvZHZkdmlkZW9kZWMuYyBiL2xpYmF2Zm9ybWF0L2R2 ZHZpZGVvZGVjLmMKaW5kZXggMDY2ZWRhYWEyNy4uNWRmMTIzYWM0NCAxMDA2NDQKLS0tIGEvbGli YXZmb3JtYXQvZHZkdmlkZW9kZWMuYworKysgYi9saWJhdmZvcm1hdC9kdmR2aWRlb2RlYy5jCkBA IC05MDksMTkgKzkwOSwyNiBAQCBzdGF0aWMgaW50IGR2ZHZpZGVvX2NoYXB0ZXJzX3NldHVwX3By ZWluZGV4KEFWRm9ybWF0Q29udGV4dCAqcykKIHsKICAgICBEVkRWaWRlb0RlbXV4Q29udGV4dCAq YyA9IHMtPnByaXZfZGF0YTsKIAotICAgIGludCByZXQgPSAwLCBpbnRlcnJ1cHQgPSAwOwotICAg IGludCBuYl9jaGFwdGVycyA9IDAsIGxhc3RfcHR0ID0gYy0+b3B0X2NoYXB0ZXJfc3RhcnQ7Cisg ICAgaW50IHJldCwgcGFydG4sIGxhc3RfcGFydG47CisgICAgaW50IGludGVycnVwdCA9IDAsIG5i X2NoYXB0ZXJzID0gMDsKICAgICB1aW50NjRfdCBjdXJfY2hhcHRlcl9vZmZzZXQgPSAwLCBjdXJf Y2hhcHRlcl9kdXJhdGlvbiA9IDA7CiAgICAgRFZEVmlkZW9QbGF5YmFja1N0YXRlIHN0YXRlID0g ezB9OwogCiAgICAgdWludDhfdCBuYXZfYnVmW0RWRFZJREVPX0JMT0NLX1NJWkVdOwotICAgIGlu dCBuYXZfZXZlbnQ7CisgICAgaW50IGlzX25hdl9wYWNrZXQ7CiAKICAgICBpZiAoYy0+b3B0X2No YXB0ZXJfc3RhcnQgPT0gYy0+b3B0X2NoYXB0ZXJfZW5kKQotICAgICAgICByZXR1cm4gcmV0Owor ICAgICAgICByZXR1cm4gMDsKIAotICAgIGlmICgocmV0ID0gZHZkdmlkZW9fcGxheV9vcGVuKHMs ICZzdGF0ZSkpIDwgMCkKLSAgICAgICAgcmV0dXJuIHJldDsKKyAgICBpZiAoYy0+b3B0X21lbnUp IHsKKyAgICAgICAgaWYgKChyZXQgPSBkdmR2aWRlb19tZW51X29wZW4ocywgJnN0YXRlKSkgPCAw KQorICAgICAgICAgICAgcmV0dXJuIHJldDsKKyAgICAgICAgbGFzdF9wYXJ0biA9IHN0YXRlLmNl bGxuOworICAgIH0gZWxzZSB7CisgICAgICAgIGlmICgocmV0ID0gZHZkdmlkZW9fcGxheV9vcGVu KHMsICZzdGF0ZSkpIDwgMCkKKyAgICAgICAgICAgIHJldHVybiByZXQ7CisgICAgICAgIGxhc3Rf cGFydG4gPSBjLT5vcHRfY2hhcHRlcl9zdGFydDsKKyAgICB9CiAKICAgICBpZiAoc3RhdGUucGdj LT5ucl9vZl9wcm9ncmFtcyA9PSAxKQogICAgICAgICBnb3RvIGVuZF9jbG9zZTsKQEAgLTkzMCwx NSArOTM3LDIyIEBAIHN0YXRpYyBpbnQgZHZkdmlkZW9fY2hhcHRlcnNfc2V0dXBfcHJlaW5kZXgo QVZGb3JtYXRDb250ZXh0ICpzKQogICAgICAgICAgICAiSW5kZXhpbmcgY2hhcHRlciBtYXJrZXJz LCB0aGlzIHdpbGwgdGFrZSBhIGxvbmcgdGltZS4gUGxlYXNlIHdhaXQuLi5cbiIpOwogCiAgICAg d2hpbGUgKCEoaW50ZXJydXB0ID0gZmZfY2hlY2tfaW50ZXJydXB0KCZzLT5pbnRlcnJ1cHRfY2Fs bGJhY2spKSkgewotICAgICAgICByZXQgPSBkdmR2aWRlb19wbGF5X25leHRfcHNfYmxvY2socywg JnN0YXRlLCBuYXZfYnVmLCBEVkRWSURFT19CTE9DS19TSVpFLAotICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgJm5hdl9ldmVudCwgTlVMTCk7CisgICAgICAgIGlmIChj LT5vcHRfbWVudSkKKyAgICAgICAgICAgIHJldCA9IGR2ZHZpZGVvX21lbnVfbmV4dF9wc19ibG9j ayhzLCAmc3RhdGUsIG5hdl9idWYsIERWRFZJREVPX0JMT0NLX1NJWkUsICZpc19uYXZfcGFja2V0 LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5VTEwpOwor ICAgICAgICBlbHNlCisgICAgICAgICAgICByZXQgPSBkdmR2aWRlb19wbGF5X25leHRfcHNfYmxv Y2socywgJnN0YXRlLCBuYXZfYnVmLCBEVkRWSURFT19CTE9DS19TSVpFLCAmaXNfbmF2X3BhY2tl dCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOVUxMKTsK KwogICAgICAgICBpZiAocmV0IDwgMCAmJiByZXQgIT0gQVZFUlJPUl9FT0YpCiAgICAgICAgICAg ICBnb3RvIGVuZF9jbG9zZTsKIAotICAgICAgICBpZiAobmF2X2V2ZW50ICE9IERWRE5BVl9OQVZf UEFDS0VUICYmIHJldCAhPSBBVkVSUk9SX0VPRikKKyAgICAgICAgaWYgKCFpc19uYXZfcGFja2V0 ICYmIHJldCAhPSBBVkVSUk9SX0VPRikKICAgICAgICAgICAgIGNvbnRpbnVlOwogCi0gICAgICAg IGlmIChzdGF0ZS5wdHQgPT0gbGFzdF9wdHQpIHsKKyAgICAgICAgcGFydG4gPSBjLT5vcHRfbWVu dSA/IHN0YXRlLmNlbGxuIDogc3RhdGUucHR0OworCisgICAgICAgIGlmIChwYXJ0biA9PSBsYXN0 X3BhcnRuKSB7CiAgICAgICAgICAgICBjdXJfY2hhcHRlcl9kdXJhdGlvbiArPSBzdGF0ZS52b2J1 X2R1cmF0aW9uOwogICAgICAgICAgICAgLyogZW5zdXJlIHdlIGFkZCB0aGUgbGFzdCBjaGFwdGVy ICovCiAgICAgICAgICAgICBpZiAocmV0ICE9IEFWRVJST1JfRU9GKQpAQCAtOTU3LDcgKzk3MSw3 IEBAIHN0YXRpYyBpbnQgZHZkdmlkZW9fY2hhcHRlcnNfc2V0dXBfcHJlaW5kZXgoQVZGb3JtYXRD b250ZXh0ICpzKQogCiAgICAgICAgIGN1cl9jaGFwdGVyX29mZnNldCArPSBjdXJfY2hhcHRlcl9k dXJhdGlvbjsKICAgICAgICAgY3VyX2NoYXB0ZXJfZHVyYXRpb24gPSBzdGF0ZS52b2J1X2R1cmF0 aW9uOwotICAgICAgICBsYXN0X3B0dCA9IHN0YXRlLnB0dDsKKyAgICAgICAgbGFzdF9wYXJ0biA9 IHBhcnRuOwogCiAgICAgICAgIGlmIChyZXQgPT0gQVZFUlJPUl9FT0YpCiAgICAgICAgICAgICBi cmVhazsKQEAgLTk3Nyw3ICs5OTEsMTAgQEAgc3RhdGljIGludCBkdmR2aWRlb19jaGFwdGVyc19z ZXR1cF9wcmVpbmRleChBVkZvcm1hdENvbnRleHQgKnMpCiAgICAgcmV0ID0gMDsKIAogZW5kX2Ns b3NlOgotICAgIGR2ZHZpZGVvX3BsYXlfY2xvc2UocywgJnN0YXRlKTsKKyAgICBpZiAoYy0+b3B0 X21lbnUpCisgICAgICAgIGR2ZHZpZGVvX21lbnVfY2xvc2UocywgJnN0YXRlKTsKKyAgICBlbHNl CisgICAgICAgIGR2ZHZpZGVvX3BsYXlfY2xvc2UocywgJnN0YXRlKTsKIAogICAgIHJldHVybiBy ZXQ7CiB9CkBAIC0xNTIzLDExICsxNTQwLDEwIEBAIHN0YXRpYyBpbnQgZHZkdmlkZW9fcmVhZF9o ZWFkZXIoQVZGb3JtYXRDb250ZXh0ICpzKQogICAgIGlmIChjLT5vcHRfbWVudSkgewogICAgICAg ICBpZiAoYy0+b3B0X3JlZ2lvbiAgICAgICAgICAgICAgIHx8CiAgICAgICAgICAgICBjLT5vcHRf dGl0bGUgPiAxICAgICAgICAgICAgfHwKLSAgICAgICAgICAgIGMtPm9wdF9wcmVpbmRleCAgICAg ICAgICAgICB8fAogICAgICAgICAgICAgYy0+b3B0X2NoYXB0ZXJfc3RhcnQgPiAxICAgIHx8CiAg ICAgICAgICAgICBjLT5vcHRfY2hhcHRlcl9lbmQgPiAwKSB7CiAgICAgICAgICAgICBhdl9sb2co cywgQVZfTE9HX0VSUk9SLCAiLW1lbnUgaXMgbm90IGNvbXBhdGlibGUgd2l0aCB0aGUgLXJlZ2lv biwgLXRpdGxlLCAiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiLXByZWlu ZGV4LCBvciAtY2hhcHRlcl9zdGFydC8tY2hhcHRlcl9lbmQgb3B0aW9uc1xuIik7CisgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAib3IgLWNoYXB0ZXJfc3RhcnQvLWNoYXB0ZXJf ZW5kIG9wdGlvbnNcbiIpOwogICAgICAgICAgICAgcmV0dXJuIEFWRVJST1IoRUlOVkFMKTsKICAg ICAgICAgfQogCkBAIC0xNTQ0LDEwICsxNTYwLDExIEBAIHN0YXRpYyBpbnQgZHZkdmlkZW9fcmVh ZF9oZWFkZXIoQVZGb3JtYXRDb250ZXh0ICpzKQogICAgICAgICAgICAgYy0+b3B0X21lbnVfbHUg PSAxOwogICAgICAgICB9CiAKLSAgICAgICAgaWYgKChyZXQgPSBkdmR2aWRlb19pZm9fb3Blbihz KSkgPCAwICAgICAgICAgICAgICAgICAgICB8fAotICAgICAgICAgICAgKHJldCA9IGR2ZHZpZGVv X21lbnVfb3BlbihzLCAmYy0+cGxheV9zdGF0ZSkpIDwgMCAgIHx8Ci0gICAgICAgICAgICAocmV0 ID0gZHZkdmlkZW9fc3ViZGVtdXhfb3BlbihzKSkgPCAwICAgICAgICAgICAgICAgfHwKLSAgICAg ICAgICAgIChyZXQgPSBkdmR2aWRlb192aWRlb19zdHJlYW1fc2V0dXAocykpIDwgMCAgICAgICAg ICB8fAorICAgICAgICBpZiAoKHJldCA9IGR2ZHZpZGVvX2lmb19vcGVuKHMpKSA8IDAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHx8CisgICAgICAgICAgICAoYy0+b3B0 X3ByZWluZGV4ICYmIChyZXQgPSBkdmR2aWRlb19jaGFwdGVyc19zZXR1cF9wcmVpbmRleChzKSkg PCAwKSAgICAgfHwKKyAgICAgICAgICAgIChyZXQgPSBkdmR2aWRlb19tZW51X29wZW4ocywgJmMt PnBsYXlfc3RhdGUpKSA8IDAgICAgICAgICAgICAgICAgICAgICAgICB8fAorICAgICAgICAgICAg KHJldCA9IGR2ZHZpZGVvX3N1YmRlbXV4X29wZW4ocykpIDwgMCAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIHx8CisgICAgICAgICAgICAocmV0ID0gZHZkdmlkZW9fdmlkZW9fc3Ry ZWFtX3NldHVwKHMpKSA8IDAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfHwKICAgICAg ICAgICAgIChyZXQgPSBkdmR2aWRlb19hdWRpb19zdHJlYW1fYWRkX2FsbChzKSkgPCAwKQogICAg ICAgICByZXR1cm4gcmV0OwogCi0tIAoyLjQ5LjEKCgpGcm9tIDc1YzE5NDNlMzA5MjNiOGQzYzQw OWRjNjVjNTZlOWI0MjNjNTA3MjcgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCkZyb206IE1hcnRo NjQgPG1hcnRoNjRAcHJveHlpZC5uZXQ+CkRhdGU6IE1vbiwgNyBPY3QgMjAyNCAxODowNDo1NiAt MDUwMApTdWJqZWN0OiBbUEFUQ0ggMTQ4LzQzNF0gYXZmb3JtYXQvZHZkdmlkZW9kZWM6IHNpbXBs aWZ5IGR2ZHZpZGVvX3JlYWRfcGFja2V0KCkKClRoZSBmdW5jdGlvbiBoYXMgYSBmZXcgYnJhbmNo ZXMgd2hlcmUgaXQgZGlzY2FyZHMgZnJhbWVzIHZpYQpGRkVSUk9SX1JFRE87IGNvbnNvbGlkYXRl IGlzIHZpYSBhIGdvdG8gYmxvY2sgdG8gc2ltcGxpZnkgdGhlCmZ1bmN0aW9uIGFuZCBpbXByb3Zl IHJlYWRhYmlsaXR5LiBMb2dnaW5nIHN0aWxsIG1haW50YWlucwphbGwgdGhlIHJlbGV2YW50IGRl dGFpbHMgZm9yIHRoZSByZWFzb24gb2YgdGhlIGRpc2NhcmQuCgpTaWduZWQtb2ZmLWJ5OiBNYXJ0 aDY0IDxtYXJ0aDY0QHByb3h5aWQubmV0PgooY2hlcnJ5IHBpY2tlZCBmcm9tIGNvbW1pdCAxOTY0 ZmFhNTY4YzJiN2JkOWUxNzJmNzA5MGE2MDE2MjViYjVkZDllKQotLS0KIGxpYmF2Zm9ybWF0L2R2 ZHZpZGVvZGVjLmMgfCA0NCArKysrKysrKysrKysrKysrKysrLS0tLS0tLS0tLS0tLS0tLS0tLS0K IDEgZmlsZSBjaGFuZ2VkLCAyMSBpbnNlcnRpb25zKCspLCAyMyBkZWxldGlvbnMoLSkKCmRpZmYg LS1naXQgYS9saWJhdmZvcm1hdC9kdmR2aWRlb2RlYy5jIGIvbGliYXZmb3JtYXQvZHZkdmlkZW9k ZWMuYwppbmRleCA1ZGYxMjNhYzQ0Li5lYmNmZGNhOWE1IDEwMDY0NAotLS0gYS9saWJhdmZvcm1h dC9kdmR2aWRlb2RlYy5jCisrKyBiL2xpYmF2Zm9ybWF0L2R2ZHZpZGVvZGVjLmMKQEAgLTE2MTUs OCArMTYxNSw5IEBAIHN0YXRpYyBpbnQgZHZkdmlkZW9fcmVhZF9wYWNrZXQoQVZGb3JtYXRDb250 ZXh0ICpzLCBBVlBhY2tldCAqcGt0KQogICAgIERWRFZpZGVvRGVtdXhDb250ZXh0ICpjID0gcy0+ cHJpdl9kYXRhOwogCiAgICAgaW50IHJldDsKLSAgICBlbnVtIEFWTWVkaWFUeXBlIHN0X3R5cGU7 Ci0gICAgaW50IGZvdW5kX3N0cmVhbSA9IDA7CisgICAgaW50IGlzX2tleSAgICAgPSAwOworICAg IGludCBzdF9tYXBwZWQgID0gMDsKKyAgICBBVlN0cmVhbSAqc3Rfc3ViZGVtdXg7CiAKICAgICBp ZiAoYy0+cGxheV9lbmQpCiAgICAgICAgIHJldHVybiBBVkVSUk9SX0VPRjsKQEAgLTE2MjksMzIg KzE2MzAsMjcgQEAgc3RhdGljIGludCBkdmR2aWRlb19yZWFkX3BhY2tldChBVkZvcm1hdENvbnRl eHQgKnMsIEFWUGFja2V0ICpwa3QpCiAgICAgaWYgKCFjLT5zZWdtZW50X3N0YXJ0ZWQpCiAgICAg ICAgIGMtPnNlZ21lbnRfc3RhcnRlZCA9IDE7CiAKLSAgICBzdF90eXBlID0gYy0+bXBlZ19jdHgt PnN0cmVhbXNbcGt0LT5zdHJlYW1faW5kZXhdLT5jb2RlY3Bhci0+Y29kZWNfdHlwZTsKKyAgICBz dF9zdWJkZW11eCA9IGMtPm1wZWdfY3R4LT5zdHJlYW1zW3BrdC0+c3RyZWFtX2luZGV4XTsKKyAg ICBpc19rZXkgICAgICA9IHBrdC0+ZmxhZ3MgJiBBVl9QS1RfRkxBR19LRVk7CiAKICAgICAvKiBt YXAgdGhlIHN1YmRlbXV4ZXIgc3RyZWFtIHRvIHRoZSBwYXJlbnQgZGVtdXhlcidzIHN0cmVhbSAo Ynkgc3RhcnRjb2RlKSAqLwogICAgIGZvciAoaW50IGkgPSAwOyBpIDwgcy0+bmJfc3RyZWFtczsg aSsrKSB7Ci0gICAgICAgIGlmIChzLT5zdHJlYW1zW2ldLT5pZCA9PSBjLT5tcGVnX2N0eC0+c3Ry ZWFtc1twa3QtPnN0cmVhbV9pbmRleF0tPmlkKSB7CisgICAgICAgIGlmIChzLT5zdHJlYW1zW2ld LT5pZCA9PSBzdF9zdWJkZW11eC0+aWQpIHsKICAgICAgICAgICAgIHBrdC0+c3RyZWFtX2luZGV4 ID0gcy0+c3RyZWFtc1tpXS0+aW5kZXg7Ci0gICAgICAgICAgICBmb3VuZF9zdHJlYW0gPSAxOwor ICAgICAgICAgICAgc3RfbWFwcGVkICAgICAgICAgPSAxOworCiAgICAgICAgICAgICBicmVhazsK ICAgICAgICAgfQogICAgIH0KIAotICAgIGlmICghZm91bmRfc3RyZWFtKSB7Ci0gICAgICAgIGF2 X2xvZyhzLCBBVl9MT0dfREVCVUcsICJkaXNjYXJkaW5nIGZyYW1lIHdpdGggc3RyZWFtIHRoYXQg d2FzIG5vdCBpbiBJRk8gaGVhZGVycyAiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICIoc3RyZWFtIGlkPSVkKVxuIiwgYy0+bXBlZ19jdHgtPnN0cmVhbXNbcGt0LT5zdHJlYW1faW5k ZXhdLT5pZCk7Ci0KLSAgICAgICAgcmV0dXJuIEZGRVJST1JfUkVETzsKLSAgICB9CisgICAgaWYg KCFzdF9tYXBwZWQpCisgICAgICAgIGdvdG8gZGlzY2FyZDsKIAogICAgIGlmIChwa3QtPnB0cyAh PSBBVl9OT1BUU19WQUxVRSAmJiBwa3QtPmR0cyAhPSBBVl9OT1BUU19WQUxVRSkgewogICAgICAg ICBpZiAoIWMtPnBsYXlfc3RhcnRlZCkgewogICAgICAgICAgICAgLyogdHJ5IHRvIHN0YXJ0IGF0 IHRoZSBiZWdpbm5pbmcgb2YgYSBHT1AgKi8KLSAgICAgICAgICAgIGlmIChzdF90eXBlICE9IEFW TUVESUFfVFlQRV9WSURFTyB8fCAhKHBrdC0+ZmxhZ3MgJiBBVl9QS1RfRkxBR19LRVkpKSB7Ci0g ICAgICAgICAgICAgICAgYXZfbG9nKHMsIEFWX0xPR19WRVJCT1NFLCAiRGlzY2FyZGluZyBwYWNr ZXQgd2hpY2ggaXMgbm90IGEgdmlkZW8ga2V5ZnJhbWUgb3IgIgotICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIndpdGggdW5zZXQgUFRTL0RUUyBhdCBzdGFydFxuIik7 Ci0gICAgICAgICAgICAgICAgcmV0dXJuIEZGRVJST1JfUkVETzsKLSAgICAgICAgICAgIH0KKyAg ICAgICAgICAgIGlmIChzdF9zdWJkZW11eC0+Y29kZWNwYXItPmNvZGVjX3R5cGUgIT0gQVZNRURJ QV9UWVBFX1ZJREVPIHx8ICFpc19rZXkpCisgICAgICAgICAgICAgICAgZ290byBkaXNjYXJkOwog CiAgICAgICAgICAgICBjLT5maXJzdF9wdHMgPSBwa3QtPnB0czsKICAgICAgICAgICAgIGMtPnBs YXlfc3RhcnRlZCA9IDE7CkBAIC0xNjYzLDEzICsxNjU5LDggQEAgc3RhdGljIGludCBkdmR2aWRl b19yZWFkX3BhY2tldChBVkZvcm1hdENvbnRleHQgKnMsIEFWUGFja2V0ICpwa3QpCiAgICAgICAg IHBrdC0+cHRzICs9IGMtPnBsYXlfc3RhdGUudHNfb2Zmc2V0IC0gYy0+Zmlyc3RfcHRzOwogICAg ICAgICBwa3QtPmR0cyArPSBjLT5wbGF5X3N0YXRlLnRzX29mZnNldCAtIGMtPmZpcnN0X3B0czsK IAotICAgICAgICBpZiAocGt0LT5wdHMgPCAwKSB7Ci0gICAgICAgICAgICBhdl9sb2cocywgQVZf TE9HX1ZFUkJPU0UsICJEaXNjYXJkaW5nIHBhY2tldCB3aXRoIG5lZ2F0aXZlIFBUUyAoc3Q9JWQg cHRzPSUiIFBSSWQ2NCAiKSwgIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAidGhpcyBpcyBPSyBhdCBzdGFydCBvZiBwbGF5YmFja1xuIiwKLSAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgcGt0LT5zdHJlYW1faW5kZXgsIHBrdC0+cHRzKTsKLQotICAg ICAgICAgICAgcmV0dXJuIEZGRVJST1JfUkVETzsKLSAgICAgICAgfQorICAgICAgICBpZiAocGt0 LT5wdHMgPCAwKQorICAgICAgICAgICAgZ290byBkaXNjYXJkOwogICAgIH0gZWxzZSB7CiAgICAg ICAgIGF2X2xvZyhzLCBBVl9MT0dfV0FSTklORywgIlVuc2V0IFBUUyBvciBEVFMgQCBzdD0lZCBw dHM9JSIgUFJJZDY0ICIgZHRzPSUiIFBSSWQ2NCAiXG4iLAogICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIHBrdC0+c3RyZWFtX2luZGV4LCBwa3QtPnB0cywgcGt0LT5kdHMpOwpAQCAt MTY4MSw2ICsxNjcyLDEzIEBAIHN0YXRpYyBpbnQgZHZkdmlkZW9fcmVhZF9wYWNrZXQoQVZGb3Jt YXRDb250ZXh0ICpzLCBBVlBhY2tldCAqcGt0KQogICAgICAgICAgICAgICAgICAgICAgICAgICAg IGMtPnBsYXlfc3RhdGUudHNfb2Zmc2V0LCBjLT5maXJzdF9wdHMpOwogCiAgICAgcmV0dXJuIGMt PnBsYXlfZW5kID8gQVZFUlJPUl9FT0YgOiAwOworCitkaXNjYXJkOgorICAgIGF2X2xvZyhzLCBz dF9tYXBwZWQgPyBBVl9MT0dfVkVSQk9TRSA6IEFWX0xPR19ERUJVRywKKyAgICAgICAgICAgIkRp c2NhcmRpbmcgZnJhbWUgQCBzdD0lZCBwdHM9JSIgUFJJZDY0ICIgZHRzPSUiIFBSSWQ2NCAiIGlz X2tleT0lZCBzdF9tYXBwZWQ9JWRcbiIsCisgICAgICAgICAgIHN0X21hcHBlZCA/IHBrdC0+c3Ry ZWFtX2luZGV4IDogLTEsIHBrdC0+cHRzLCBwa3QtPmR0cywgaXNfa2V5LCBzdF9tYXBwZWQpOwor CisgICAgcmV0dXJuIEZGRVJST1JfUkVETzsKIH0KIAogc3RhdGljIGludCBkdmR2aWRlb19jbG9z ZShBVkZvcm1hdENvbnRleHQgKnMpCi0tIAoyLjQ5LjEKCgpGcm9tIGU0NmUxYzMzNjhhOTdkY2Y4 N2NkOTNkMzg2OTI4ZGRmZjdiNzUwMDEgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCkZyb206IE1h cnRoNjQgPG1hcnRoNjRAcHJveHlpZC5uZXQ+CkRhdGU6IE1vbiwgNyBPY3QgMjAyNCAxODowNDo1 NyAtMDUwMApTdWJqZWN0OiBbUEFUQ0ggMTQ5LzQzNF0gYXZmb3JtYXQvZHZkdmlkZW9kZWM6IHJl c2V0IHRoZSBzdWJkZW11eGVyIG9uCiBkaXNjb250aW51aXR5IGluc3RlYWQgb2YgZmx1c2hpbmcK CkRWRHMgbmF0dXJhbGx5IGNvbnNpc3Qgb2Ygc2VnbWVudGVkIE1QRUctUFMgYmxvYnMgd2l0aGlu IGEgVk9CCihpLmUuIFZPQnMgYXJlIG5vdCBsaW5lYXIpLiBOQVYgcGFja3Mgc2V0IHRoZSBzZWdt ZW50IGJvdW5kYXJpZXMuCldoZW4gc3dpdGNoaW5nIGJldHdlZW4gc2VnbWVudHMsIGRpc2NvbnRp bnVpdGllcyBvY2N1ciBhbmQgdGh1cwp0aGUgc3ViZGVtdXhlciBuZWVkcyB0byBiZSByZXNldC4g VGhlIGN1cnJlbnQgYXBwcm9hY2ggdG8gbWFuYWdlCnRoaXMgaXMgYnkgaW52b2tpbmcgZmZfcmVh ZF9mcmFtZV9mbHVzaCgpIG9uIHRoZSBzdWJkZW11eGVyIGNvbnRleHQsCnZpYSBhIGNhbGxiYWNr IGZ1bmN0aW9uIHdoaWNoIGlzIGludm9rZWQgZHVyaW5nIHRoZSBtZW51IG9yIGR2ZG5hdgpibG9j ayBmdW5jdGlvbnMuIFRoZSBzYW1lIHN1YmRlbXV4ZXIgY29udGV4dCBpcyB1c2VkIHRocm91Z2hv dXQKdGhlIGRlbXV4LCB3aXRoIGEgc3RyZXRjaGVkIFBUUyB3cmFwIGJpdHMgdmFsdWUgKDY0KSAr IGRpc2FibGVkCm92ZXJmbG93IGNvcnJlY3Rpb24sIGFuZCB0aGVuIGZsdXNoZWQgb24gZWFjaCBz ZWdtZW50LiBFdmVudHVhbGx5LAphIHBsYXlfZW5kIGNvbnRleHQgdmFyaWFibGUgaXMgc2V0IHRv IGRlY2xhcmUgRU9GLgoKSG93ZXZlciwgdGhpcyBhcHByb2FjaCBjYXVzZXMgZnJhbWUgZHJvcHMu IFRoZSBibG9jayByZWFkIGZsdXNoZXMgdGhlCmRlbXV4ZXIgYmVmb3JlIHRoZSBmcmFtZSByZWFk IGlzIGNvbXBsZXRlLCBjYXVzaW5nIGZyYW1lcyB0byBkcm9wCm9uIGRpc2NvbnRpbnVpdHkuIFRo ZSBwbGF5X2VuZCBzaWduYWwgbGlrZXdpc2UgZW5kcyBwbGF5YmFjayBiZWZvcmUKdGhlIGZyYW1l IHJlYWQgaXMgY29tcGxldGUsIGNhdXNpbmcgZnJhbWVzIHRvIGRyb3AgYXQgZW5kIG9mIHRoZSB0 aXRsZS4KVG8gY29tcG91bmQgdGhlIGlzc3VlLCB0aGUgUFRTIHdyYXAgYml0cyB2YWx1ZSBvZiA2 NCBpcyB3cm9uZzsKdGhlIFZPQlUgbGltaXQgaXMgYWN0dWFsbHkgMzIgYW5kIHRoZSBvdmVyZmxv dyBjb3JyZWN0aW9uIHNob3VsZCB3b3JrLgoKSW5zdGVhZCwgRU9GIHRoZSBNUEVHLVBTIHN1YmRl bXV4ZXIgb3JnYW5pY2FsbHkgd2hlbiBlYWNoIFZPQiBzZWdtZW50CmVuZHMsIGFuZCByZS1vcGVu IGl0IGlmIG5lZWRlZCB3aXRoIHRoZSBvZmZzZXQgYWZ0ZXIgdGhlIGZ1bGwgZnJhbWUgcmVhZApp cyBjb21wbGV0ZS4gSW4gZG9pbmcgc28sIGNvcnJlY3QgdGhlIFBUUyB3cmFwIGJlaGF2aW9yIHRv IDMyIGJpdHMgYW5kCnJlbW92ZSB0aGUgcGxheV9lbmQvc2VnbWVudF9zdGFydGVkIHNpZ25hbHMg YW5kIGNhbGxiYWNrIHBhdHRlcm4uCgpOb3RlIHRoYXQgdGhlIHRpbWVzdGFtcHMgYXMgcmVwb3J0 ZWQgYnkgdGhlIE5BViBwYWNrZXRzIGFyZSBrbm93biBhcwoiUFRNcyIsIHNvIHRoZSBmaWVsZHMg c3RvcmluZyB0aGUgdGltZSBwcmlvciB0byBhZGp1c3RtZW50IGFyZSByZW5hbWVkCmFjY29yZGlu Z2x5LiBUaGlzIG1ha2VzIGl0IG1vcmUgY2xlYXIgd2hlbiB3ZSBhcmUgb2Zmc2V0dGluZyB0aGUK TkFWIHBhY2tldCByZXBvcnRlZCB0aW1lc3RhbXBzIHZlcnN1cyB3aGF0IHdlIHByZXNlbnQgYXMg YSBkZW11eGVyLgoKU2lnbmVkLW9mZi1ieTogTWFydGg2NCA8bWFydGg2NEBwcm94eWlkLm5ldD4K KGNoZXJyeSBwaWNrZWQgZnJvbSBjb21taXQgYTFhZTY2YzgyNzM3MGI3Y2FhOTBmMTAwNjhiZGQ5 MTNmNGNmMmYxOCkKLS0tCiBsaWJhdmZvcm1hdC9kdmR2aWRlb2RlYy5jIHwgMTM5ICsrKysrKysr KysrKysrKysrKysrLS0tLS0tLS0tLS0tLS0tLS0tCiAxIGZpbGUgY2hhbmdlZCwgNzUgaW5zZXJ0 aW9ucygrKSwgNjQgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvbGliYXZmb3JtYXQvZHZkdmlk ZW9kZWMuYyBiL2xpYmF2Zm9ybWF0L2R2ZHZpZGVvZGVjLmMKaW5kZXggZWJjZmRjYTlhNS4uNzI2 YzQ1NjAxZiAxMDA2NDQKLS0tIGEvbGliYXZmb3JtYXQvZHZkdmlkZW9kZWMuYworKysgYi9saWJh dmZvcm1hdC9kdmR2aWRlb2RlYy5jCkBAIC01Niw3ICs1Niw3IEBACiAjZGVmaW5lIERWRFZJREVP X01BWF9QU19TRUFSQ0hfQkxPQ0tTICAgICAgICAgICAgICAgICAgIDEyOAogI2RlZmluZSBEVkRW SURFT19CTE9DS19TSVpFICAgICAgICAgICAgICAgICAgICAgICAgICAgICAyMDQ4CiAjZGVmaW5l IERWRFZJREVPX1RJTUVfQkFTRV9RICAgICAgICAgICAgICAgICAgICAgICAgICAgIChBVlJhdGlv bmFsKSB7IDEsIDkwMDAwIH0KLSNkZWZpbmUgRFZEVklERU9fUFRTX1dSQVBfQklUUyAgICAgICAg ICAgICAgICAgICAgICAgICAgNjQgLyogVk9CVXMgdXNlIDMyIChQRVMgYWxsb3dzIDMzKSAqLwor I2RlZmluZSBEVkRWSURFT19QVFNfV1JBUF9CSVRTICAgICAgICAgICAgICAgICAgICAgICAgICAz MiAvKiBWT0JVcyB1c2UgMzIgKFBFUyBhbGxvd3MgMzMpICovCiAjZGVmaW5lIERWRFZJREVPX0xJ QkRWRFhfTE9HX0JVRkZFUl9TSVpFICAgICAgICAgICAgICAgIDEwMjQKIAogI2RlZmluZSBQQ0lf U1RBUlRfQllURSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA0NSAvKiBjb21wbGVt ZW50IGR2ZHJlYWQncyBEU0lfU1RBUlRfQllURSAqLwpAQCAtMTE1LDggKzExNSw5IEBAIHR5cGVk ZWYgc3RydWN0IERWRFZpZGVvUGxheWJhY2tTdGF0ZSB7CiAgICAgaW50ICAgICAgICAgICAgICAg ICAgICAgICAgIHBnY19uYl9wZ19lc3Q7ICAgICAgLyogbnVtYmVyIG9mIFBHcyBhcyByZXBvcnRl ZCBieSBJRk9zICovCiAgICAgaW50ICAgICAgICAgICAgICAgICAgICAgICAgIHBnY247ICAgICAg ICAgICAgICAgLyogSUQgb2YgdGhlIFBHQyB3ZSBhcmUgcGxheWluZyAqLwogICAgIGludCAgICAg ICAgICAgICAgICAgICAgICAgICBwZ247ICAgICAgICAgICAgICAgIC8qIElEIG9mIHRoZSBQRyB3 ZSBhcmUgaW4gbm93ICovCisgICAgaW50ICAgICAgICAgICAgICAgICAgICAgICAgIHB0bV9kaXNj b250OyAgICAgICAgLyogc2lnbmFsIHRoYXQgYSBQVE0gZGlzY29udGludWl0eSBvY2N1cnJlZCAq LworICAgIGludDY0X3QgICAgICAgICAgICAgICAgICAgICBwdG1fb2Zmc2V0OyAgICAgICAgIC8q IFBUTSBkaXNjb250aW51aXR5IG9mZnNldCAoYXMgTkFWIHZhbHVlKSAqLwogICAgIGludCAgICAg ICAgICAgICAgICAgICAgICAgICBwdHQ7ICAgICAgICAgICAgICAgIC8qIElEIG9mIHRoZSBjaGFw dGVyIHdlIGFyZSBpbiBub3cgKi8KLSAgICBpbnQ2NF90ICAgICAgICAgICAgICAgICAgICAgdHNf b2Zmc2V0OyAgICAgICAgICAvKiBQVFMgZGlzY29udGludWl0eSBvZmZzZXQgKGV4LiBWT0IgY2hh bmdlKSAqLwogICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICAgICB2b2J1X2R1cmF0aW9uOyAg ICAgIC8qIGR1cmF0aW9uIG9mIHRoZSBjdXJyZW50IFZPQlUgKi8KICAgICB1aW50MzJfdCAgICAg ICAgICAgICAgICAgICAgdm9idV9lX3B0bTsgICAgICAgICAvKiBlbmQgUFRNIG9mIHRoZSBjdXJy ZW50IFZPQlUgKi8KICAgICBpbnQgICAgICAgICAgICAgICAgICAgICAgICAgdnRzbjsgICAgICAg ICAgICAgICAvKiBJRCBvZiB0aGUgYWN0aXZlIFZUUyAodmlkZW8gdGl0bGUgc2V0KSAqLwpAQCAt MTYzLDExICsxNjQsMTEgQEAgdHlwZWRlZiBzdHJ1Y3QgRFZEVmlkZW9EZW11eENvbnRleHQgewog CiAgICAgLyogcGxheWJhY2sgY29udHJvbCAqLwogICAgIGludDY0X3QgICAgICAgICAgICAgICAg ICAgICBmaXJzdF9wdHM7ICAgICAgICAgIC8qIHRoZSBQVFMgb2YgdGhlIGZpcnN0IHZpZGVvIGtl eWZyYW1lICovCi0gICAgaW50ICAgICAgICAgICAgICAgICAgICAgICAgIHBsYXlfZW5kOyAgICAg ICAgICAgLyogc2lnbmFsIEVPRiB0byB0aGUgcGFyZW50IGRlbXV4ZXIgKi8KLSAgICBEVkRWaWRl b1BsYXliYWNrU3RhdGUgICAgICAgcGxheV9zdGF0ZTsgICAgICAgICAvKiB0aGUgYWN0aXZlIHBs YXliYWNrIHN0YXRlICovCiAgICAgaW50ICAgICAgICAgICAgICAgICAgICAgICAgIHBsYXlfc3Rh cnRlZDsgICAgICAgLyogc2lnbmFsIHRoYXQgcGxheWJhY2sgaGFzIHN0YXJ0ZWQgKi8KKyAgICBE VkRWaWRlb1BsYXliYWNrU3RhdGUgICAgICAgcGxheV9zdGF0ZTsgICAgICAgICAvKiB0aGUgYWN0 aXZlIHBsYXliYWNrIHN0YXRlICovCisgICAgaW50NjRfdCAgICAgICAgICAgICAgICAgICAgIHB0 c19vZmZzZXQ7ICAgICAgICAgLyogUFRTIGRpc2NvbnRpbnVpdHkgb2Zmc2V0IChleC4gVk9CIGNo YW5nZSkgKi8KICAgICBpbnQgICAgICAgICAgICAgICAgICAgICAgICAgc2Vla193YXJuZWQ7ICAg ICAgICAvKiBzaWduYWwgdGhhdCB3ZSB3YXJuZWQgYWJvdXQgc2Vla2luZyBsaW1pdHMgKi8KLSAg ICBpbnQgICAgICAgICAgICAgICAgICAgICAgICAgc2VnbWVudF9zdGFydGVkOyAgICAvKiBzaWdu YWwgdGhhdCBzdWJkZW11eGVyIGlzIG9uIGEgc2VnbWVudCAqLworICAgIGludCAgICAgICAgICAg ICAgICAgICAgICAgICBzdWJkZW11eF9yZXNldDsgICAgIC8qIHNpZ25hbCB0aGF0IHN1YmRlbXV4 ZXIgc2hvdWxkIGJlIHJlc2V0ICovCiB9IERWRFZpZGVvRGVtdXhDb250ZXh0OwogCiBzdGF0aWMg dm9pZCBkdmR2aWRlb19saWJkdmRyZWFkX2xvZyh2b2lkICpvcGFxdWUsIGR2ZF9sb2dnZXJfbGV2 ZWxfdCBsZXZlbCwKQEAgLTM5MCw4ICszOTEsNyBAQCBzdGF0aWMgaW50IGR2ZHZpZGVvX21lbnVf b3BlbihBVkZvcm1hdENvbnRleHQgKnMsIERWRFZpZGVvUGxheWJhY2tTdGF0ZSAqc3RhdGUpCiB9 CiAKIHN0YXRpYyBpbnQgZHZkdmlkZW9fbWVudV9uZXh0X3BzX2Jsb2NrKEFWRm9ybWF0Q29udGV4 dCAqcywgRFZEVmlkZW9QbGF5YmFja1N0YXRlICpzdGF0ZSwKLSAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIHVpbnQ4X3QgKmJ1ZiwgaW50IGJ1Zl9zaXplLCBpbnQgKnBfaXNf bmF2X3BhY2tldCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZvaWQg KCpmbHVzaF9jYikoQVZGb3JtYXRDb250ZXh0ICpzKSkKKyAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIHVpbnQ4X3QgKmJ1ZiwgaW50IGJ1Zl9zaXplLCBpbnQgKnBfaXNfbmF2 X3BhY2tldCkKIHsKICAgICBpbnQ2NF90IGJsb2Nrc19yZWFkICAgICAgICAgICAgICAgICAgID0g MDsKICAgICB1aW50OF90IHJlYWRfYnVmW0RWRFZJREVPX0JMT0NLX1NJWkVdID0gezB9OwpAQCAt Mzk5LDYgKzM5OSw3IEBAIHN0YXRpYyBpbnQgZHZkdmlkZW9fbWVudV9uZXh0X3BzX2Jsb2NrKEFW Rm9ybWF0Q29udGV4dCAqcywgRFZEVmlkZW9QbGF5YmFja1N0YXRlCiAgICAgZHNpX3QgZHNpICAg ICAgICAgICAgICAgICAgICAgICAgICAgICA9IChkc2lfdCkgezB9OwogCiAgICAgKCpwX2lzX25h dl9wYWNrZXQpICA9IDA7CisgICAgc3RhdGUtPnB0bV9kaXNjb250ICA9IDA7CiAKICAgICBpZiAo YnVmX3NpemUgIT0gRFZEVklERU9fQkxPQ0tfU0laRSkgewogICAgICAgICBhdl9sb2cocywgQVZf TE9HX0VSUk9SLCAiSW52YWxpZCBidWZmZXIgc2l6ZSAoZXhwZWN0ZWQ9JWQgYWN0dWFsPSVkKVxu IiwKQEAgLTQ2NSwxMCArNDY2LDggQEAgc3RhdGljIGludCBkdmR2aWRlb19tZW51X25leHRfcHNf YmxvY2soQVZGb3JtYXRDb250ZXh0ICpzLCBEVkRWaWRlb1BsYXliYWNrU3RhdGUKIAogICAgICAg ICBpZiAoc3RhdGUtPmluX3BnYykgewogICAgICAgICAgICAgaWYgKHN0YXRlLT52b2J1X2VfcHRt ICE9IHBjaS5wY2lfZ2kudm9idV9zX3B0bSkgewotICAgICAgICAgICAgICAgIGlmIChmbHVzaF9j YikKLSAgICAgICAgICAgICAgICAgICAgZmx1c2hfY2Iocyk7Ci0KLSAgICAgICAgICAgICAgICBz dGF0ZS0+dHNfb2Zmc2V0ICs9IHN0YXRlLT52b2J1X2VfcHRtIC0gcGNpLnBjaV9naS52b2J1X3Nf cHRtOworICAgICAgICAgICAgICAgIHN0YXRlLT5wdG1fZGlzY29udCAgPSAxOworICAgICAgICAg ICAgICAgIHN0YXRlLT5wdG1fb2Zmc2V0ICArPSBzdGF0ZS0+dm9idV9lX3B0bSAtIHBjaS5wY2lf Z2kudm9idV9zX3B0bTsKICAgICAgICAgICAgIH0KICAgICAgICAgfSBlbHNlIHsKICAgICAgICAg ICAgIHN0YXRlLT5pbl9wZ2MgICAgICAgID0gMTsKQEAgLTQ3OSw5ICs0NzgsMTAgQEAgc3RhdGlj IGludCBkdmR2aWRlb19tZW51X25leHRfcHNfYmxvY2soQVZGb3JtYXRDb250ZXh0ICpzLCBEVkRW aWRlb1BsYXliYWNrU3RhdGUKICAgICAgICAgc3RhdGUtPnZvYnVfZHVyYXRpb24gICAgID0gcGNp LnBjaV9naS52b2J1X2VfcHRtIC0gcGNpLnBjaV9naS52b2J1X3NfcHRtOwogCiAgICAgICAgIGF2 X2xvZyhzLCBBVl9MT0dfREVCVUcsICJOQVYgcGFja2V0OiBzZWN0b3I9JWQgIgotICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAidm9idV9zX3B0bT0lZCB2b2J1X2VfcHRtPSVkIHRzX29m ZnNldD0lIiBQUklkNjQgIlxuIiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZv YnVfc19wdG09JWQgdm9idV9lX3B0bT0lZCBwdG1fb2Zmc2V0PSUiIFBSSWQ2NCAiXG4iLAogICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkc2kuZHNpX2dpLm52X3Bja19sYm4sCi0gICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBjaS5wY2lfZ2kudm9idV9zX3B0bSwgcGNpLnBj aV9naS52b2J1X2VfcHRtLCBzdGF0ZS0+dHNfb2Zmc2V0KTsKKyAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgcGNpLnBjaV9naS52b2J1X3NfcHRtLCBwY2kucGNpX2dpLnZvYnVfZV9wdG0s IHN0YXRlLT5wdG1fb2Zmc2V0KTsKKwogCiAgICAgICAgICgqcF9pc19uYXZfcGFja2V0KSA9IDE7 CiAKQEAgLTYxNSw4ICs2MTUsNyBAQCBlbmRfZHZkbmF2X2Vycm9yOgogfQogCiBzdGF0aWMgaW50 IGR2ZHZpZGVvX3BsYXlfbmV4dF9wc19ibG9jayhBVkZvcm1hdENvbnRleHQgKnMsIERWRFZpZGVv UGxheWJhY2tTdGF0ZSAqc3RhdGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICB1aW50OF90ICpidWYsIGludCBidWZfc2l6ZSwgaW50ICpwX2lzX25hdl9wYWNrZXQsCi0g ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2b2lkICgqZmx1c2hfY2IpKEFW Rm9ybWF0Q29udGV4dCAqcykpCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICB1aW50OF90ICpidWYsIGludCBidWZfc2l6ZSwgaW50ICpwX2lzX25hdl9wYWNrZXQpCiB7CiAg ICAgRFZEVmlkZW9EZW11eENvbnRleHQgKmMgPSBzLT5wcml2X2RhdGE7CiAKQEAgLTYzMSw2ICs2 MzAsNyBAQCBzdGF0aWMgaW50IGR2ZHZpZGVvX3BsYXlfbmV4dF9wc19ibG9jayhBVkZvcm1hdENv bnRleHQgKnMsIERWRFZpZGVvUGxheWJhY2tTdGF0ZQogICAgIGRzaV90ICplX2RzaTsKIAogICAg ICgqcF9pc19uYXZfcGFja2V0KSAgPSAwOworICAgIHN0YXRlLT5wdG1fZGlzY29udCAgPSAwOwog CiAgICAgaWYgKGJ1Zl9zaXplICE9IERWRFZJREVPX0JMT0NLX1NJWkUpIHsKICAgICAgICAgYXZf bG9nKHMsIEFWX0xPR19FUlJPUiwgIkludmFsaWQgYnVmZmVyIHNpemUgKGV4cGVjdGVkPSVkIGFj dHVhbD0lZClcbiIsCkBAIC03NzYsMTAgKzc3Niw4IEBAIHN0YXRpYyBpbnQgZHZkdmlkZW9fcGxh eV9uZXh0X3BzX2Jsb2NrKEFWRm9ybWF0Q29udGV4dCAqcywgRFZEVmlkZW9QbGF5YmFja1N0YXRl CiAgICAgICAgICAgICAgICAgICAgIHN0YXRlLT5pbl9wcyA9IDE7CiAgICAgICAgICAgICAgICAg fSBlbHNlIHsKICAgICAgICAgICAgICAgICAgICAgaWYgKHN0YXRlLT52b2J1X2VfcHRtICE9IGVf cGNpLT5wY2lfZ2kudm9idV9zX3B0bSkgewotICAgICAgICAgICAgICAgICAgICAgICAgaWYgKGZs dXNoX2NiKQotICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZsdXNoX2NiKHMpOwotCi0gICAg ICAgICAgICAgICAgICAgICAgICBzdGF0ZS0+dHNfb2Zmc2V0ICs9IHN0YXRlLT52b2J1X2VfcHRt IC0gZV9wY2ktPnBjaV9naS52b2J1X3NfcHRtOworICAgICAgICAgICAgICAgICAgICAgICAgc3Rh dGUtPnB0bV9kaXNjb250ICA9IDE7CisgICAgICAgICAgICAgICAgICAgICAgICBzdGF0ZS0+cHRt X29mZnNldCAgKz0gc3RhdGUtPnZvYnVfZV9wdG0gLSBlX3BjaS0+cGNpX2dpLnZvYnVfc19wdG07 CiAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICB9CiAKQEAgLTkzOCwxMSAr OTM2LDkgQEAgc3RhdGljIGludCBkdmR2aWRlb19jaGFwdGVyc19zZXR1cF9wcmVpbmRleChBVkZv cm1hdENvbnRleHQgKnMpCiAKICAgICB3aGlsZSAoIShpbnRlcnJ1cHQgPSBmZl9jaGVja19pbnRl cnJ1cHQoJnMtPmludGVycnVwdF9jYWxsYmFjaykpKSB7CiAgICAgICAgIGlmIChjLT5vcHRfbWVu dSkKLSAgICAgICAgICAgIHJldCA9IGR2ZHZpZGVvX21lbnVfbmV4dF9wc19ibG9jayhzLCAmc3Rh dGUsIG5hdl9idWYsIERWRFZJREVPX0JMT0NLX1NJWkUsICZpc19uYXZfcGFja2V0LAotICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5VTEwpOworICAgICAgICAg ICAgcmV0ID0gZHZkdmlkZW9fbWVudV9uZXh0X3BzX2Jsb2NrKHMsICZzdGF0ZSwgbmF2X2J1Ziwg RFZEVklERU9fQkxPQ0tfU0laRSwgJmlzX25hdl9wYWNrZXQpOwogICAgICAgICBlbHNlCi0gICAg ICAgICAgICByZXQgPSBkdmR2aWRlb19wbGF5X25leHRfcHNfYmxvY2socywgJnN0YXRlLCBuYXZf YnVmLCBEVkRWSURFT19CTE9DS19TSVpFLCAmaXNfbmF2X3BhY2tldCwKLSAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOVUxMKTsKKyAgICAgICAgICAgIHJldCA9 IGR2ZHZpZGVvX3BsYXlfbmV4dF9wc19ibG9jayhzLCAmc3RhdGUsIG5hdl9idWYsIERWRFZJREVP X0JMT0NLX1NJWkUsICZpc19uYXZfcGFja2V0KTsKIAogICAgICAgICBpZiAocmV0IDwgMCAmJiBy ZXQgIT0gQVZFUlJPUl9FT0YpCiAgICAgICAgICAgICBnb3RvIGVuZF9jbG9zZTsKQEAgLTE0NDQs MTkgKzE0NDAsNiBAQCBzdGF0aWMgaW50IGR2ZHZpZGVvX3N1YnBfc3RyZWFtX2FkZF9hbGwoQVZG b3JtYXRDb250ZXh0ICpzKQogICAgIHJldHVybiAwOwogfQogCi1zdGF0aWMgdm9pZCBkdmR2aWRl b19zdWJkZW11eF9mbHVzaChBVkZvcm1hdENvbnRleHQgKnMpCi17Ci0gICAgRFZEVmlkZW9EZW11 eENvbnRleHQgKmMgPSBzLT5wcml2X2RhdGE7Ci0KLSAgICBpZiAoIWMtPnNlZ21lbnRfc3RhcnRl ZCkKLSAgICAgICAgcmV0dXJuOwotCi0gICAgYXZfbG9nKHMsIEFWX0xPR19ERUJVRywgImZsdXNo aW5nIHN1Yi1kZW11eGVyXG4iKTsKLSAgICBhdmlvX2ZsdXNoKCZjLT5tcGVnX3BiLnB1Yik7Ci0g ICAgZmZfcmVhZF9mcmFtZV9mbHVzaChjLT5tcGVnX2N0eCk7Ci0gICAgYy0+c2VnbWVudF9zdGFy dGVkID0gMDsKLX0KLQogc3RhdGljIGludCBkdmR2aWRlb19zdWJkZW11eF9yZWFkX2RhdGEodm9p ZCAqb3BhcXVlLCB1aW50OF90ICpidWYsIGludCBidWZfc2l6ZSkKIHsKICAgICBBVkZvcm1hdENv bnRleHQgKnMgPSBvcGFxdWU7CkBAIC0xNDY1LDI1ICsxNDQ4LDMyIEBAIHN0YXRpYyBpbnQgZHZk dmlkZW9fc3ViZGVtdXhfcmVhZF9kYXRhKHZvaWQgKm9wYXF1ZSwgdWludDhfdCAqYnVmLCBpbnQg YnVmX3NpemUpCiAgICAgaW50IHJldDsKICAgICBpbnQgaXNfbmF2X3BhY2tldDsKIAotICAgIGlm IChjLT5wbGF5X2VuZCkKLSAgICAgICAgcmV0dXJuIEFWRVJST1JfRU9GOwotCiAgICAgaWYgKGMt Pm9wdF9tZW51KQotICAgICAgICByZXQgPSBkdmR2aWRlb19tZW51X25leHRfcHNfYmxvY2socywg JmMtPnBsYXlfc3RhdGUsIGJ1ZiwgYnVmX3NpemUsICZpc19uYXZfcGFja2V0LAotICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZHZkdmlkZW9fc3ViZGVtdXhfZmx1c2gp OworICAgICAgICByZXQgPSBkdmR2aWRlb19tZW51X25leHRfcHNfYmxvY2socywgJmMtPnBsYXlf c3RhdGUsIGJ1ZiwgYnVmX3NpemUsICZpc19uYXZfcGFja2V0KTsKICAgICBlbHNlCi0gICAgICAg IHJldCA9IGR2ZHZpZGVvX3BsYXlfbmV4dF9wc19ibG9jayhzLCAmYy0+cGxheV9zdGF0ZSwgYnVm LCBidWZfc2l6ZSwgJmlzX25hdl9wYWNrZXQsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICBkdmR2aWRlb19zdWJkZW11eF9mbHVzaCk7CisgICAgICAgIHJldCA9IGR2 ZHZpZGVvX3BsYXlfbmV4dF9wc19ibG9jayhzLCAmYy0+cGxheV9zdGF0ZSwgYnVmLCBidWZfc2l6 ZSwgJmlzX25hdl9wYWNrZXQpOwogCi0gICAgaWYgKHJldCA9PSBBVkVSUk9SX0VPRikgewotICAg ICAgICBjLT5tcGVnX3BiLnB1Yi5lb2ZfcmVhY2hlZCA9IDE7Ci0gICAgICAgIGMtPnBsYXlfZW5k ID0gMTsKKyAgICBpZiAocmV0IDwgMCkKKyAgICAgICAgZ290byBzdWJkZW11eF9lb2Y7CiAKLSAg ICAgICAgcmV0dXJuIEFWRVJST1JfRU9GOworICAgIGlmIChpc19uYXZfcGFja2V0KSB7CisgICAg ICAgIGlmIChjLT5wbGF5X3N0YXRlLnB0bV9kaXNjb250KSB7CisgICAgICAgICAgICBjLT5zdWJk ZW11eF9yZXNldCA9IDE7CisKKyAgICAgICAgICAgIHJldCA9IEFWRVJST1JfRU9GOworICAgICAg ICAgICAgZ290byBzdWJkZW11eF9lb2Y7CisgICAgICAgIH0KKworICAgICAgICByZXR1cm4gRkZF UlJPUl9SRURPOwogICAgIH0KIAotICAgIGlmIChyZXQgPT0gMCAmJiBpc19uYXZfcGFja2V0KQot ICAgICAgICByZXR1cm4gRkZFUlJPUl9SRURPOworICAgIHJldHVybiByZXQ7CisKK3N1YmRlbXV4 X2VvZjoKKyAgICBjLT5tcGVnX3BiLnB1Yi5lb2ZfcmVhY2hlZCA9IDE7CisgICAgYy0+bXBlZ19w Yi5wdWIuZXJyb3IgICAgICAgPSByZXQ7CisgICAgYy0+bXBlZ19wYi5wdWIucmVhZF9wYWNrZXQg PSBOVUxMOworICAgIGMtPm1wZWdfcGIucHViLmJ1Zl9lbmQgICAgID0gYy0+bXBlZ19wYi5wdWIu YnVmX3B0ciA9IGMtPm1wZWdfcGIucHViLmJ1ZmZlcjsKIAogICAgIHJldHVybiByZXQ7CiB9CkBA IC0xNTI1LDEyICsxNTE1LDI0IEBAIHN0YXRpYyBpbnQgZHZkdmlkZW9fc3ViZGVtdXhfb3BlbihB VkZvcm1hdENvbnRleHQgKnMpCiAgICAgYy0+bXBlZ19jdHgtPm1heF9hbmFseXplX2R1cmF0aW9u ID0gMDsKICAgICBjLT5tcGVnX2N0eC0+aW50ZXJydXB0X2NhbGxiYWNrID0gcy0+aW50ZXJydXB0 X2NhbGxiYWNrOwogICAgIGMtPm1wZWdfY3R4LT5wYiA9ICZjLT5tcGVnX3BiLnB1YjsKLSAgICBj LT5tcGVnX2N0eC0+Y29ycmVjdF90c19vdmVyZmxvdyA9IDA7CiAgICAgYy0+bXBlZ19jdHgtPmlv X29wZW4gPSBOVUxMOwogCiAgICAgcmV0dXJuIGF2Zm9ybWF0X29wZW5faW5wdXQoJmMtPm1wZWdf Y3R4LCAiIiwgJmZmX21wZWdwc19kZW11eGVyLnAsIE5VTEwpOwogfQogCitzdGF0aWMgaW50IGR2 ZHZpZGVvX3N1YmRlbXV4X3Jlc2V0KEFWRm9ybWF0Q29udGV4dCAqcykKK3sKKyAgICBpbnQgcmV0 OworCisgICAgYXZfbG9nKHMsIEFWX0xPR19WRVJCT1NFLCAiUmVzZXR0aW5nIHN1Yi1kZW11eGVy XG4iKTsKKworICAgIGR2ZHZpZGVvX3N1YmRlbXV4X2Nsb3NlKHMpOworICAgIGlmICgocmV0ID0g ZHZkdmlkZW9fc3ViZGVtdXhfb3BlbihzKSkgPCAwKQorICAgICAgICByZXR1cm4gcmV0OworCisg ICAgcmV0dXJuIDA7Cit9CisKIHN0YXRpYyBpbnQgZHZkdmlkZW9fcmVhZF9oZWFkZXIoQVZGb3Jt YXRDb250ZXh0ICpzKQogewogICAgIERWRFZpZGVvRGVtdXhDb250ZXh0ICpjID0gcy0+cHJpdl9k YXRhOwpAQCAtMTYxOSwxNiArMTYyMSwyMCBAQCBzdGF0aWMgaW50IGR2ZHZpZGVvX3JlYWRfcGFj a2V0KEFWRm9ybWF0Q29udGV4dCAqcywgQVZQYWNrZXQgKnBrdCkKICAgICBpbnQgc3RfbWFwcGVk ICA9IDA7CiAgICAgQVZTdHJlYW0gKnN0X3N1YmRlbXV4OwogCi0gICAgaWYgKGMtPnBsYXlfZW5k KQotICAgICAgICByZXR1cm4gQVZFUlJPUl9FT0Y7Ci0KICAgICByZXQgPSBhdl9yZWFkX2ZyYW1l KGMtPm1wZWdfY3R4LCBwa3QpOworICAgIGlmIChyZXQgPCAwKSB7CisgICAgICAgIGlmIChjLT5z dWJkZW11eF9yZXNldCAmJiByZXQgPT0gQVZFUlJPUl9FT0YpIHsKKyAgICAgICAgICAgIGMtPnN1 YmRlbXV4X3Jlc2V0ID0gMDsKKyAgICAgICAgICAgIGMtPnB0c19vZmZzZXQgICAgID0gYy0+cGxh eV9zdGF0ZS5wdG1fb2Zmc2V0OworCisgICAgICAgICAgICBpZiAoKHJldCA9IGR2ZHZpZGVvX3N1 YmRlbXV4X3Jlc2V0KHMpKSA8IDApCisgICAgICAgICAgICAgICAgcmV0dXJuIHJldDsKKworICAg ICAgICAgICAgcmV0dXJuIEZGRVJST1JfUkVETzsKKyAgICAgICAgfQogCi0gICAgaWYgKHJldCA8 IDApCiAgICAgICAgIHJldHVybiByZXQ7Ci0KLSAgICBpZiAoIWMtPnNlZ21lbnRfc3RhcnRlZCkK LSAgICAgICAgYy0+c2VnbWVudF9zdGFydGVkID0gMTsKKyAgICB9CiAKICAgICBzdF9zdWJkZW11 eCA9IGMtPm1wZWdfY3R4LT5zdHJlYW1zW3BrdC0+c3RyZWFtX2luZGV4XTsKICAgICBpc19rZXkg ICAgICA9IHBrdC0+ZmxhZ3MgJiBBVl9QS1RfRkxBR19LRVk7CkBAIC0xNjU2LDggKzE2NjIsOCBA QCBzdGF0aWMgaW50IGR2ZHZpZGVvX3JlYWRfcGFja2V0KEFWRm9ybWF0Q29udGV4dCAqcywgQVZQ YWNrZXQgKnBrdCkKICAgICAgICAgICAgIGMtPnBsYXlfc3RhcnRlZCA9IDE7CiAgICAgICAgIH0K IAotICAgICAgICBwa3QtPnB0cyArPSBjLT5wbGF5X3N0YXRlLnRzX29mZnNldCAtIGMtPmZpcnN0 X3B0czsKLSAgICAgICAgcGt0LT5kdHMgKz0gYy0+cGxheV9zdGF0ZS50c19vZmZzZXQgLSBjLT5m aXJzdF9wdHM7CisgICAgICAgIHBrdC0+cHRzICs9IGMtPnB0c19vZmZzZXQgLSBjLT5maXJzdF9w dHM7CisgICAgICAgIHBrdC0+ZHRzICs9IGMtPnB0c19vZmZzZXQgLSBjLT5maXJzdF9wdHM7CiAK ICAgICAgICAgaWYgKHBrdC0+cHRzIDwgMCkKICAgICAgICAgICAgIGdvdG8gZGlzY2FyZDsKQEAg LTE2NjcsMTEgKzE2NzMsMTEgQEAgc3RhdGljIGludCBkdmR2aWRlb19yZWFkX3BhY2tldChBVkZv cm1hdENvbnRleHQgKnMsIEFWUGFja2V0ICpwa3QpCiAgICAgfQogCiAgICAgYXZfbG9nKHMsIEFW X0xPR19UUkFDRSwgInN0PSVkIHB0cz0lIiBQUklkNjQgIiBkdHM9JSIgUFJJZDY0ICIgIgotICAg ICAgICAgICAgICAgICAgICAgICAgICAgICJ0c19vZmZzZXQ9JSIgUFJJZDY0ICIgZmlyc3RfcHRz PSUiIFBSSWQ2NCAiXG4iLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICJwdHNfb2Zmc2V0 PSUiIFBSSWQ2NCAiIGZpcnN0X3B0cz0lIiBQUklkNjQgIlxuIiwKICAgICAgICAgICAgICAgICAg ICAgICAgICAgICBwa3QtPnN0cmVhbV9pbmRleCwgcGt0LT5wdHMsIHBrdC0+ZHRzLAotICAgICAg ICAgICAgICAgICAgICAgICAgICAgIGMtPnBsYXlfc3RhdGUudHNfb2Zmc2V0LCBjLT5maXJzdF9w dHMpOworICAgICAgICAgICAgICAgICAgICAgICAgICAgIGMtPnB0c19vZmZzZXQsIGMtPmZpcnN0 X3B0cyk7CiAKLSAgICByZXR1cm4gYy0+cGxheV9lbmQgPyBBVkVSUk9SX0VPRiA6IDA7CisgICAg cmV0dXJuIDA7CiAKIGRpc2NhcmQ6CiAgICAgYXZfbG9nKHMsIHN0X21hcHBlZCA/IEFWX0xPR19W RVJCT1NFIDogQVZfTE9HX0RFQlVHLApAQCAtMTcwMCw2ICsxNzA2LDcgQEAgc3RhdGljIGludCBk dmR2aWRlb19jbG9zZShBVkZvcm1hdENvbnRleHQgKnMpCiBzdGF0aWMgaW50IGR2ZHZpZGVvX3Jl YWRfc2VlayhBVkZvcm1hdENvbnRleHQgKnMsIGludCBzdHJlYW1faW5kZXgsIGludDY0X3QgdGlt ZXN0YW1wLCBpbnQgZmxhZ3MpCiB7CiAgICAgRFZEVmlkZW9EZW11eENvbnRleHQgKmMgPSBzLT5w cml2X2RhdGE7CisgICAgaW50ICAgICByZXQ7CiAgICAgaW50NjRfdCBuZXdfbmF2X3B0czsKICAg ICBwY2lfdCogIG5ld19uYXZfcGNpOwogICAgIGRzaV90KiAgbmV3X25hdl9kc2k7CkBAIC0xNzQ0 LDEzICsxNzUxLDE3IEBAIHN0YXRpYyBpbnQgZHZkdmlkZW9fcmVhZF9zZWVrKEFWRm9ybWF0Q29u dGV4dCAqcywgaW50IHN0cmVhbV9pbmRleCwgaW50NjRfdCB0aW1lCiAgICAgYy0+cGxheV9zdGF0 ZS5pbl9wcyAgICAgICA9IDA7CiAgICAgYy0+cGxheV9zdGF0ZS5pc19zZWVraW5nICA9IDE7CiAg ICAgYy0+cGxheV9zdGF0ZS5uYXZfcHRzICAgICA9IHRpbWVzdGFtcDsKLSAgICBjLT5wbGF5X3N0 YXRlLnRzX29mZnNldCAgID0gdGltZXN0YW1wOworICAgIGMtPnBsYXlfc3RhdGUucHRtX29mZnNl dCAgPSB0aW1lc3RhbXA7CisgICAgYy0+cGxheV9zdGF0ZS5wdG1fZGlzY29udCA9IDA7CiAgICAg Yy0+cGxheV9zdGF0ZS52b2J1X2VfcHRtICA9IG5ld19uYXZfcGNpLT5wY2lfZ2kudm9idV9zX3B0 bTsKIAogICAgIGMtPmZpcnN0X3B0cyAgICAgICAgICAgICAgPSAwOwogICAgIGMtPnBsYXlfc3Rh cnRlZCAgICAgICAgICAgPSAwOworICAgIGMtPnB0c19vZmZzZXQgICAgICAgICAgICAgPSB0aW1l c3RhbXA7CisgICAgYy0+c3ViZGVtdXhfcmVzZXQgICAgICAgICA9IDA7CiAKLSAgICBkdmR2aWRl b19zdWJkZW11eF9mbHVzaChzKTsKKyAgICBpZiAoKHJldCA9IGR2ZHZpZGVvX3N1YmRlbXV4X3Jl c2V0KHMpKSA8IDApCisgICAgICAgIHJldHVybiByZXQ7CiAKICAgICBhdl9sb2cocywgQVZfTE9H X0RFQlVHLCAic2Vla2luZzogcmVxdWVzdGVkX25hdl9wdHM9JSIgUFJJZDY0ICIgbmV3X25hdl9w dHM9JSIgUFJJZDY0ICJcbiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGltZXN0YW1w LCBuZXdfbmF2X3B0cyk7Ci0tIAoyLjQ5LjEKCgpGcm9tIGE2MWViMGMyYzBkNTE1NjdkZTVlOGQz NjI3YmZmOWJhMDgwMjA0MTAgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCkZyb206IE1hcnRoNjQg PG1hcnRoNjRAcHJveHlpZC5uZXQ+CkRhdGU6IE1vbiwgNyBPY3QgMjAyNCAxODowNDo1OCAtMDUw MApTdWJqZWN0OiBbUEFUQ0ggMTUwLzQzNF0gYXZmb3JtYXQvZHZkdmlkZW9kZWM6IGNoZWNrIHRo ZSBsZW5ndGggb2YgYSBOQVYKIHBhY2tldCB3aGVuIHJlYWRpbmcgdGl0bGVzCgpTb21lIGRpc2Nz IHByZXNlbnQgdGl0bGVzIHdpdGggYm9ndXMgTkFWIHBhY2tldHMuIFdlIGFwcGx5IHRoaXMgY2hl Y2sKZm9yIG1lbnVzIGFuZCBmb3IgdGl0bGUgTVBFRyBibG9ja3MsIGJ1dCB3ZSBzaG91bGQgYWxz byBhcHBseSBpdApmb3IgTkFWIHBhY2tldHMgZHVyaW5nIHRpdGxlIGRlbXV4aW5nLgoKU2lnbmVk LW9mZi1ieTogTWFydGg2NCA8bWFydGg2NEBwcm94eWlkLm5ldD4KKGNoZXJyeSBwaWNrZWQgZnJv bSBjb21taXQgYWZjMTUyZjU2NGZiZWNhNGQyZmY2MjE5NWUzZjBiNjI0NGUyOGNiMykKLS0tCiBs aWJhdmZvcm1hdC9kdmR2aWRlb2RlYy5jIHwgNyArKysrKysrCiAxIGZpbGUgY2hhbmdlZCwgNyBp bnNlcnRpb25zKCspCgpkaWZmIC0tZ2l0IGEvbGliYXZmb3JtYXQvZHZkdmlkZW9kZWMuYyBiL2xp YmF2Zm9ybWF0L2R2ZHZpZGVvZGVjLmMKaW5kZXggNzI2YzQ1NjAxZi4uZjdjN2JhNWEzYiAxMDA2 NDQKLS0tIGEvbGliYXZmb3JtYXQvZHZkdmlkZW9kZWMuYworKysgYi9saWJhdmZvcm1hdC9kdmR2 aWRlb2RlYy5jCkBAIC03NDAsNiArNzQwLDEzIEBAIHN0YXRpYyBpbnQgZHZkdmlkZW9fcGxheV9u ZXh0X3BzX2Jsb2NrKEFWRm9ybWF0Q29udGV4dCAqcywgRFZEVmlkZW9QbGF5YmFja1N0YXRlCiAg ICAgICAgICAgICAgICAgICAgIHJldHVybiBBVkVSUk9SX0VPRjsKICAgICAgICAgICAgICAgICB9 CiAKKyAgICAgICAgICAgICAgICBpZiAobmF2X2xlbiAhPSBEVkRWSURFT19CTE9DS19TSVpFKSB7 CisgICAgICAgICAgICAgICAgICAgIGF2X2xvZyhzLCBBVl9MT0dfRVJST1IsICJJbnZhbGlkIE5B ViBwYWNrZXQgc2l6ZSAoZXhwZWN0ZWQ9JWQgYWN0dWFsPSVkKVxuIiwKKyAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgRFZEVklERU9fQkxPQ0tfU0laRSwgbmF2X2xl bik7CisKKyAgICAgICAgICAgICAgICAgICAgcmV0dXJuIEFWRVJST1JfSU5WQUxJRERBVEE7Cisg ICAgICAgICAgICAgICAgfQorCiAgICAgICAgICAgICAgICAgZV9wY2kgPSBkdmRuYXZfZ2V0X2N1 cnJlbnRfbmF2X3BjaShzdGF0ZS0+ZHZkbmF2KTsKICAgICAgICAgICAgICAgICBlX2RzaSA9IGR2 ZG5hdl9nZXRfY3VycmVudF9uYXZfZHNpKHN0YXRlLT5kdmRuYXYpOwogCi0tIAoyLjQ5LjEKCgpG cm9tIDIxMjU0NmU5YzYxYTAyYjkyNjI3YTg5NDVhYWE4OTM2NDRiMDNhY2MgTW9uIFNlcCAxNyAw MDowMDowMCAyMDAxCkZyb206IE1hcnRoNjQgPG1hcnRoNjRAcHJveHlpZC5uZXQ+CkRhdGU6IE1v biwgNyBPY3QgMjAyNCAxODowNDo1OSAtMDUwMApTdWJqZWN0OiBbUEFUQ0ggMTUxLzQzNF0gYXZm b3JtYXQvZHZkdmlkZW9kZWM6IGRlZmF1bHQgbWVudV92dHMgb3B0aW9uIHRvIDEKIGFuZCBjbGFy aWZ5IGRlc2NyaXB0aW9uCgpNZW51IDAgaXMgdGhlIFZJREVPX1RTIHJvb3QgbWVudSwgd2hpY2gg ZG9lcyBub3QgYXBwZWFyIHRvIGJlIHVzZWQKY29tbW9ubHkgZm9yIG1lbnUgc2VnbWVudHMuIElu c3RlYWQsIGRlZmF1bHQgdG8gdGhlIG1lbnUgb2YgVlRTIDEuCgpTaWduZWQtb2ZmLWJ5OiBNYXJ0 aDY0IDxtYXJ0aDY0QHByb3h5aWQubmV0PgooY2hlcnJ5IHBpY2tlZCBmcm9tIGNvbW1pdCA0YTAz ZTk1ZmY0YzNlZDE1ZDU0MjBiZDk3Yzc4NjhlMGI2MmUxZDBhKQotLS0KIGRvYy9kZW11eGVycy50 ZXhpICAgICAgICAgfCAyICstCiBsaWJhdmZvcm1hdC9kdmR2aWRlb2RlYy5jIHwgMiArLQogMiBm aWxlcyBjaGFuZ2VkLCAyIGluc2VydGlvbnMoKyksIDIgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0 IGEvZG9jL2RlbXV4ZXJzLnRleGkgYi9kb2MvZGVtdXhlcnMudGV4aQppbmRleCBhMDNlODA3MzJh Li45NWJlODJhZWZjIDEwMDY0NAotLS0gYS9kb2MvZGVtdXhlcnMudGV4aQorKysgYi9kb2MvZGVt dXhlcnMudGV4aQpAQCAtMzg0LDcgKzM4NCw3IEBAIERlZmF1bHQgaXMgMCwgdGhlIGZpcnN0IGxh bmd1YWdlIHVuaXQuCiAKIEBpdGVtIG1lbnVfdnRzIEB2YXJ7aW50fQogVGhlIFZUUyB3aGVyZSB0 aGUgbWVudSBsaXZlcywgb3IgMCBpZiBpdCBpcyBhIFZNRyBtZW51IChyb290LWxldmVsKS4KLURl ZmF1bHQgaXMgMCwgVk1HIG1lbnUuCitEZWZhdWx0IGlzIDEsIG1lbnUgb2YgdGhlIGZpcnN0IFZU Uy4KIAogQGl0ZW0gcGdjIEB2YXJ7aW50fQogVGhlIGVudHJ5IFBHQyB0byBzdGFydCBwbGF5YmFj aywgaW4gY29uanVuY3Rpb24gd2l0aCBAb3B0aW9ue3BnfS4KZGlmZiAtLWdpdCBhL2xpYmF2Zm9y bWF0L2R2ZHZpZGVvZGVjLmMgYi9saWJhdmZvcm1hdC9kdmR2aWRlb2RlYy5jCmluZGV4IGY3Yzdi YTVhM2IuLjFkYTE4NjUwNjEgMTAwNjQ0Ci0tLSBhL2xpYmF2Zm9ybWF0L2R2ZHZpZGVvZGVjLmMK KysrIGIvbGliYXZmb3JtYXQvZHZkdmlkZW9kZWMuYwpAQCAtMTc4Myw3ICsxNzgzLDcgQEAgc3Rh dGljIGNvbnN0IEFWT3B0aW9uIGR2ZHZpZGVvX29wdGlvbnNbXSA9IHsKICAgICB7ImNoYXB0ZXJf c3RhcnQiLCAgICJlbnRyeSBjaGFwdGVyIChQVFQpIG51bWJlciIsICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIE9GRlNFVChvcHRfY2hhcHRlcl9zdGFydCksICBBVl9PUFRfVFlQRV9JTlQs ICAgIHsgLmk2ND0xIH0sICAgICAxLCAgICAgICAgICA5OSwgICAgICAgIEFWX09QVF9GTEFHX0RF Q09ESU5HX1BBUkFNIH0sCiAgICAgeyJtZW51IiwgICAgICAgICAgICAiZGVtdXggbWVudSBkb21h aW4iLCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBPRkZTRVQob3B0X21l bnUpLCAgICAgICAgICAgQVZfT1BUX1RZUEVfQk9PTCwgICB7IC5pNjQ9MCB9LCAgICAgMCwgICAg ICAgICAgMSwgICAgICAgICBBVl9PUFRfRkxBR19ERUNPRElOR19QQVJBTSB9LAogICAgIHsibWVu dV9sdSIsICAgICAgICAgIm1lbnUgbGFuZ3VhZ2UgdW5pdCAoMD1hdXRvKSIsICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgT0ZGU0VUKG9wdF9tZW51X2x1KSwgICAgICAgIEFWX09QVF9UWVBF X0lOVCwgICAgeyAuaTY0PTAgfSwgICAgIDAsICAgICAgICAgIDk5LCAgICAgICAgQVZfT1BUX0ZM QUdfREVDT0RJTkdfUEFSQU0gfSwKLSAgICB7Im1lbnVfdnRzIiwgICAgICAgICJtZW51IFZUUyAo MD1WTUcgbWFpbiBtZW51KSIsICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE9GRlNFVChv cHRfbWVudV92dHMpLCAgICAgICBBVl9PUFRfVFlQRV9JTlQsICAgIHsgLmk2ND0wIH0sICAgICAw LCAgICAgICAgICA5OSwgICAgICAgIEFWX09QVF9GTEFHX0RFQ09ESU5HX1BBUkFNIH0sCisgICAg eyJtZW51X3Z0cyIsICAgICAgICAibWVudSBWVFMgKDA9Vk1HIHJvb3QgbWVudSkiLCAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICBPRkZTRVQob3B0X21lbnVfdnRzKSwgICAgICAgQVZfT1BU X1RZUEVfSU5ULCAgICB7IC5pNjQ9MSB9LCAgICAgMCwgICAgICAgICAgOTksICAgICAgICBBVl9P UFRfRkxBR19ERUNPRElOR19QQVJBTSB9LAogICAgIHsicGciLCAgICAgICAgICAgICAgImVudHJ5 IFBHIG51bWJlciAod2hlbiBwYWlyZWQgd2l0aCBQR0MgbnVtYmVyKSIsICAgICAgICAgICAgT0ZG U0VUKG9wdF9wZyksICAgICAgICAgICAgIEFWX09QVF9UWVBFX0lOVCwgICAgeyAuaTY0PTEgfSwg ICAgIDEsICAgICAgICAgIDI1NSwgICAgICAgQVZfT1BUX0ZMQUdfREVDT0RJTkdfUEFSQU0gfSwK ICAgICB7InBnYyIsICAgICAgICAgICAgICJlbnRyeSBQR0MgbnVtYmVyICgwPWF1dG8pIiwgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIE9GRlNFVChvcHRfcGdjKSwgICAgICAgICAgICBB Vl9PUFRfVFlQRV9JTlQsICAgIHsgLmk2ND0wIH0sICAgICAwLCAgICAgICAgICA5OTksICAgICAg IEFWX09QVF9GTEFHX0RFQ09ESU5HX1BBUkFNIH0sCiAgICAgeyJwcmVpbmRleCIsICAgICAgICAi ZW5hYmxlIGZvciBhY2N1cmF0ZSBjaGFwdGVyIG1hcmtlcnMsIHNsb3cgKDItcGFzcyByZWFkKSIs ICBPRkZTRVQob3B0X3ByZWluZGV4KSwgICAgICAgQVZfT1BUX1RZUEVfQk9PTCwgICB7IC5pNjQ9 MCB9LCAgICAgMCwgICAgICAgICAgMSwgICAgICAgICBBVl9PUFRfRkxBR19ERUNPRElOR19QQVJB TSB9LAotLSAKMi40OS4xCgoKRnJvbSAzNDA3OTVhZGM5ODI1MjMwYjc3YTQzNTJlMmViYTZkYTMy Mzk1NDFjIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBNYXJ0aDY0IDxtYXJ0aDY0QHBy b3h5aWQubmV0PgpEYXRlOiBNb24sIDcgT2N0IDIwMjQgMTg6MDU6MDAgLTA1MDAKU3ViamVjdDog W1BBVENIIDE1Mi80MzRdIGF2Zm9ybWF0L2R2ZHZpZGVvZGVjOiByZW1vdmUgYXV0byB2YWx1ZSBm b3IgbWVudV9sdQogb3B0aW9uCgpUaGUgImF1dG8iIG1vZGUgc2VydmVzIG5vIGZ1bmN0aW9uYWwg cHVycG9zZSBleGNlcHQgZm9yIGxvZ2dpbmcKYSBtZXNzYWdlIGFuZCBzZXR0aW5nIHRoZSB2YWx1 ZSB0byAxLiBUaGUgZG9jdW1lbnRhdGlvbiBjbGVhcmx5CmV4cGxhaW5zIHdoYXQgdGhlIG9wdGlv biBpcyBmb3IuCgpTaWduZWQtb2ZmLWJ5OiBNYXJ0aDY0IDxtYXJ0aDY0QHByb3h5aWQubmV0Pgoo Y2hlcnJ5IHBpY2tlZCBmcm9tIGNvbW1pdCA2MDQzNGI0ODNjNTRhYTY4M2EzMjQ5YTE1OGM4NjEw ZDVkYjJmZTRhKQotLS0KIGRvYy9kZW11eGVycy50ZXhpICAgICAgICAgfCAyICstCiBsaWJhdmZv cm1hdC9kdmR2aWRlb2RlYy5jIHwgOSArLS0tLS0tLS0KIDIgZmlsZXMgY2hhbmdlZCwgMiBpbnNl cnRpb25zKCspLCA5IGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL2RvYy9kZW11eGVycy50ZXhp IGIvZG9jL2RlbXV4ZXJzLnRleGkKaW5kZXggOTViZTgyYWVmYy4uODZhOTE1OGU1OSAxMDA2NDQK LS0tIGEvZG9jL2RlbXV4ZXJzLnRleGkKKysrIGIvZG9jL2RlbXV4ZXJzLnRleGkKQEAgLTM4MCw3 ICszODAsNyBAQCBEZWZhdWx0IGlzIGZhbHNlLgogCiBAaXRlbSBtZW51X2x1IEB2YXJ7aW50fQog VGhlIG1lbnUgbGFuZ3VhZ2UgdG8gZGVtdXguIEluIERWRCwgbWVudXMgYXJlIGdyb3VwZWQgYnkg bGFuZ3VhZ2UuCi1EZWZhdWx0IGlzIDAsIHRoZSBmaXJzdCBsYW5ndWFnZSB1bml0LgorRGVmYXVs dCBpcyAxLCB0aGUgZmlyc3QgbGFuZ3VhZ2UgdW5pdC4KIAogQGl0ZW0gbWVudV92dHMgQHZhcntp bnR9CiBUaGUgVlRTIHdoZXJlIHRoZSBtZW51IGxpdmVzLCBvciAwIGlmIGl0IGlzIGEgVk1HIG1l bnUgKHJvb3QtbGV2ZWwpLgpkaWZmIC0tZ2l0IGEvbGliYXZmb3JtYXQvZHZkdmlkZW9kZWMuYyBi L2xpYmF2Zm9ybWF0L2R2ZHZpZGVvZGVjLmMKaW5kZXggMWRhMTg2NTA2MS4uOTk4M2QzNGVjOSAx MDA2NDQKLS0tIGEvbGliYXZmb3JtYXQvZHZkdmlkZW9kZWMuYworKysgYi9saWJhdmZvcm1hdC9k dmR2aWRlb2RlYy5jCkBAIC0xNTYyLDEzICsxNTYyLDYgQEAgc3RhdGljIGludCBkdmR2aWRlb19y ZWFkX2hlYWRlcihBVkZvcm1hdENvbnRleHQgKnMpCiAgICAgICAgICAgICByZXR1cm4gQVZFUlJP UihFSU5WQUwpOwogICAgICAgICB9CiAKLSAgICAgICAgaWYgKCFjLT5vcHRfbWVudV9sdSkgewot ICAgICAgICAgICAgYXZfbG9nKHMsIEFWX0xPR19JTkZPLCAiRGVmYXVsdGluZyB0byBtZW51IGxh bmd1YWdlIHVuaXQgIzEuICIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIlRo aXMgaXMgbm90IGFsd2F5cyBkZXNpcmFibGUsIHZhbGlkYXRpb24gc3VnZ2VzdGVkLlxuIik7Ci0K LSAgICAgICAgICAgIGMtPm9wdF9tZW51X2x1ID0gMTsKLSAgICAgICAgfQotCiAgICAgICAgIGlm ICgocmV0ID0gZHZkdmlkZW9faWZvX29wZW4ocykpIDwgMCAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgfHwKICAgICAgICAgICAgIChjLT5vcHRfcHJlaW5kZXggJiYgKHJl dCA9IGR2ZHZpZGVvX2NoYXB0ZXJzX3NldHVwX3ByZWluZGV4KHMpKSA8IDApICAgICB8fAogICAg ICAgICAgICAgKHJldCA9IGR2ZHZpZGVvX21lbnVfb3BlbihzLCAmYy0+cGxheV9zdGF0ZSkpIDwg MCAgICAgICAgICAgICAgICAgICAgICAgIHx8CkBAIC0xNzgyLDcgKzE3NzUsNyBAQCBzdGF0aWMg Y29uc3QgQVZPcHRpb24gZHZkdmlkZW9fb3B0aW9uc1tdID0gewogICAgIHsiY2hhcHRlcl9lbmQi LCAgICAgImV4aXQgY2hhcHRlciAoUFRUKSBudW1iZXIgKDA9ZW5kKSIsICAgICAgICAgICAgICAg ICAgICAgICAgT0ZGU0VUKG9wdF9jaGFwdGVyX2VuZCksICAgIEFWX09QVF9UWVBFX0lOVCwgICAg eyAuaTY0PTAgfSwgICAgIDAsICAgICAgICAgIDk5LCAgICAgICAgQVZfT1BUX0ZMQUdfREVDT0RJ TkdfUEFSQU0gfSwKICAgICB7ImNoYXB0ZXJfc3RhcnQiLCAgICJlbnRyeSBjaGFwdGVyIChQVFQp IG51bWJlciIsICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE9GRlNFVChvcHRfY2hhcHRl cl9zdGFydCksICBBVl9PUFRfVFlQRV9JTlQsICAgIHsgLmk2ND0xIH0sICAgICAxLCAgICAgICAg ICA5OSwgICAgICAgIEFWX09QVF9GTEFHX0RFQ09ESU5HX1BBUkFNIH0sCiAgICAgeyJtZW51Iiwg ICAgICAgICAgICAiZGVtdXggbWVudSBkb21haW4iLCAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICBPRkZTRVQob3B0X21lbnUpLCAgICAgICAgICAgQVZfT1BUX1RZUEVfQk9P TCwgICB7IC5pNjQ9MCB9LCAgICAgMCwgICAgICAgICAgMSwgICAgICAgICBBVl9PUFRfRkxBR19E RUNPRElOR19QQVJBTSB9LAotICAgIHsibWVudV9sdSIsICAgICAgICAgIm1lbnUgbGFuZ3VhZ2Ug dW5pdCAoMD1hdXRvKSIsICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgT0ZGU0VUKG9wdF9t ZW51X2x1KSwgICAgICAgIEFWX09QVF9UWVBFX0lOVCwgICAgeyAuaTY0PTAgfSwgICAgIDAsICAg ICAgICAgIDk5LCAgICAgICAgQVZfT1BUX0ZMQUdfREVDT0RJTkdfUEFSQU0gfSwKKyAgICB7Im1l bnVfbHUiLCAgICAgICAgICJtZW51IGxhbmd1YWdlIHVuaXQiLCAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIE9GRlNFVChvcHRfbWVudV9sdSksICAgICAgICBBVl9PUFRfVFlQ RV9JTlQsICAgIHsgLmk2ND0xIH0sICAgICAxLCAgICAgICAgICA5OSwgICAgICAgIEFWX09QVF9G TEFHX0RFQ09ESU5HX1BBUkFNIH0sCiAgICAgeyJtZW51X3Z0cyIsICAgICAgICAibWVudSBWVFMg KDA9Vk1HIHJvb3QgbWVudSkiLCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBPRkZTRVQo b3B0X21lbnVfdnRzKSwgICAgICAgQVZfT1BUX1RZUEVfSU5ULCAgICB7IC5pNjQ9MSB9LCAgICAg MCwgICAgICAgICAgOTksICAgICAgICBBVl9PUFRfRkxBR19ERUNPRElOR19QQVJBTSB9LAogICAg IHsicGciLCAgICAgICAgICAgICAgImVudHJ5IFBHIG51bWJlciAod2hlbiBwYWlyZWQgd2l0aCBQ R0MgbnVtYmVyKSIsICAgICAgICAgICAgT0ZGU0VUKG9wdF9wZyksICAgICAgICAgICAgIEFWX09Q VF9UWVBFX0lOVCwgICAgeyAuaTY0PTEgfSwgICAgIDEsICAgICAgICAgIDI1NSwgICAgICAgQVZf T1BUX0ZMQUdfREVDT0RJTkdfUEFSQU0gfSwKICAgICB7InBnYyIsICAgICAgICAgICAgICJlbnRy eSBQR0MgbnVtYmVyICgwPWF1dG8pIiwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE9G RlNFVChvcHRfcGdjKSwgICAgICAgICAgICBBVl9PUFRfVFlQRV9JTlQsICAgIHsgLmk2ND0wIH0s ICAgICAwLCAgICAgICAgICA5OTksICAgICAgIEFWX09QVF9GTEFHX0RFQ09ESU5HX1BBUkFNIH0s Ci0tIAoyLjQ5LjEKCgpGcm9tIDA5ZTA4ZDc5MGVmYTQ5YWJhM2RlZDYwYTFhNzA3MzJiYzU5MGM0 NzUgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCkZyb206IE1hcnRoNjQgPG1hcnRoNjRAcHJveHlp ZC5uZXQ+CkRhdGU6IE1vbiwgNyBPY3QgMjAyNCAxODowNTowMSAtMDUwMApTdWJqZWN0OiBbUEFU Q0ggMTUzLzQzNF0gYXZmb3JtYXQvZHZkdmlkZW9kZWM6IG9wZW4gc3ViZGVtdXhlciBhZnRlcgog aW5pdGlhbGl6aW5nIElGTyBoZWFkZXJzCgpJdCBpcyB3YXN0ZWZ1bCB0byBvcGVuIHRoZSBzdWJk ZW11eGVyIGlmIGFuIGVycm9yIG9jY3VycyB3aGlsZQppbml0aWFsaXppbmcgc3RyZWFtcyBvciBy ZWFkaW5nIElGTyBoZWFkZXJzLgoKU2lnbmVkLW9mZi1ieTogTWFydGg2NCA8bWFydGg2NEBwcm94 eWlkLm5ldD4KKGNoZXJyeSBwaWNrZWQgZnJvbSBjb21taXQgYTJjNTdlMjdkNmJiN2I4NDliNGU4 NDYxMmJiOTlkYzUxNGY2YmM5NikKLS0tCiBsaWJhdmZvcm1hdC9kdmR2aWRlb2RlYy5jIHwgMTgg KysrKysrKystLS0tLS0tLS0tCiAxIGZpbGUgY2hhbmdlZCwgOCBpbnNlcnRpb25zKCspLCAxMCBk ZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9saWJhdmZvcm1hdC9kdmR2aWRlb2RlYy5jIGIvbGli YXZmb3JtYXQvZHZkdmlkZW9kZWMuYwppbmRleCA5OTgzZDM0ZWM5Li43MjU2NWVlMTI1IDEwMDY0 NAotLS0gYS9saWJhdmZvcm1hdC9kdmR2aWRlb2RlYy5jCisrKyBiL2xpYmF2Zm9ybWF0L2R2ZHZp ZGVvZGVjLmMKQEAgLTE1NjUsOSArMTU2NSw5IEBAIHN0YXRpYyBpbnQgZHZkdmlkZW9fcmVhZF9o ZWFkZXIoQVZGb3JtYXRDb250ZXh0ICpzKQogICAgICAgICBpZiAoKHJldCA9IGR2ZHZpZGVvX2lm b19vcGVuKHMpKSA8IDAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHx8 CiAgICAgICAgICAgICAoYy0+b3B0X3ByZWluZGV4ICYmIChyZXQgPSBkdmR2aWRlb19jaGFwdGVy c19zZXR1cF9wcmVpbmRleChzKSkgPCAwKSAgICAgfHwKICAgICAgICAgICAgIChyZXQgPSBkdmR2 aWRlb19tZW51X29wZW4ocywgJmMtPnBsYXlfc3RhdGUpKSA8IDAgICAgICAgICAgICAgICAgICAg ICAgICB8fAotICAgICAgICAgICAgKHJldCA9IGR2ZHZpZGVvX3N1YmRlbXV4X29wZW4ocykpIDwg MCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHx8CiAgICAgICAgICAgICAocmV0 ID0gZHZkdmlkZW9fdmlkZW9fc3RyZWFtX3NldHVwKHMpKSA8IDAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgfHwKLSAgICAgICAgICAgIChyZXQgPSBkdmR2aWRlb19hdWRpb19zdHJlYW1f YWRkX2FsbChzKSkgPCAwKQorICAgICAgICAgICAgKHJldCA9IGR2ZHZpZGVvX2F1ZGlvX3N0cmVh bV9hZGRfYWxsKHMpKSA8IDAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHx8CisgICAgICAg ICAgICAocmV0ID0gZHZkdmlkZW9fc3ViZGVtdXhfb3BlbihzKSkgPCAwKQogICAgICAgICByZXR1 cm4gcmV0OwogCiAgICAgICAgIHJldHVybiAwOwpAQCAtMTU5OSwxNiArMTU5OSwxNCBAQCBzdGF0 aWMgaW50IGR2ZHZpZGVvX3JlYWRfaGVhZGVyKEFWRm9ybWF0Q29udGV4dCAqcykKICAgICBpZiAo IWMtPm9wdF9wZ2MgJiYgYy0+b3B0X3ByZWluZGV4ICYmIChyZXQgPSBkdmR2aWRlb19jaGFwdGVy c19zZXR1cF9wcmVpbmRleChzKSkgPCAwKQogICAgICAgICByZXR1cm4gcmV0OwogCi0gICAgaWYg KChyZXQgPSBkdmR2aWRlb19wbGF5X29wZW4ocywgJmMtPnBsYXlfc3RhdGUpKSA8IDAgICB8fAot ICAgICAgICAocmV0ID0gZHZkdmlkZW9fc3ViZGVtdXhfb3BlbihzKSkgPCAwICAgICAgICAgICAg ICAgfHwKLSAgICAgICAgKHJldCA9IGR2ZHZpZGVvX3ZpZGVvX3N0cmVhbV9zZXR1cChzKSkgPCAw ICAgICAgICAgIHx8Ci0gICAgICAgIChyZXQgPSBkdmR2aWRlb19hdWRpb19zdHJlYW1fYWRkX2Fs bChzKSkgPCAwICAgICAgICB8fAotICAgICAgICAocmV0ID0gZHZkdmlkZW9fc3VicF9zdHJlYW1f YWRkX2FsbChzKSkgPCAwKQorICAgIGlmICgocmV0ID0gZHZkdmlkZW9fcGxheV9vcGVuKHMsICZj LT5wbGF5X3N0YXRlKSkgPCAwICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHx8Cisg ICAgICAgICghYy0+b3B0X3BnYyAmJiAhYy0+b3B0X3ByZWluZGV4ICYmIChyZXQgPSBkdmR2aWRl b19jaGFwdGVyc19zZXR1cF9zaW1wbGUocykpIDwgMCkgfHwKKyAgICAgICAgKHJldCA9IGR2ZHZp ZGVvX3ZpZGVvX3N0cmVhbV9zZXR1cChzKSkgPCAwICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICB8fAorICAgICAgICAocmV0ID0gZHZkdmlkZW9fYXVkaW9fc3RyZWFtX2Fk ZF9hbGwocykpIDwgMCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHx8Cisg ICAgICAgIChyZXQgPSBkdmR2aWRlb19zdWJwX3N0cmVhbV9hZGRfYWxsKHMpKSA8IDAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfHwKKyAgICAgICAgKHJldCA9IGR2ZHZp ZGVvX3N1YmRlbXV4X29wZW4ocykpIDwgMCkKICAgICAgICAgcmV0dXJuIHJldDsKIAotICAgIGlm ICghYy0+b3B0X3BnYyAmJiAhYy0+b3B0X3ByZWluZGV4KQotICAgICAgICByZXR1cm4gZHZkdmlk ZW9fY2hhcHRlcnNfc2V0dXBfc2ltcGxlKHMpOwotCiAgICAgcmV0dXJuIDA7CiB9CiAKLS0gCjIu NDkuMQoKCkZyb20gMTk3NDBiY2JmOGM0ZTE0YzExMDY5OGJlZGQ0YTYwNDZjNGY1YWRjNyBNb24g U2VwIDE3IDAwOjAwOjAwIDIwMDEKRnJvbTogTWFydGg2NCA8bWFydGg2NEBwcm94eWlkLm5ldD4K RGF0ZTogTW9uLCA3IE9jdCAyMDI0IDE4OjA1OjAyIC0wNTAwClN1YmplY3Q6IFtQQVRDSCAxNTQv NDM0XSBhdmZvcm1hdC9kdmR2aWRlb2RlYzogcmVtb3ZlIHVubmVjZXNzYXJ5IG5lZWRfcGFyc2lu ZwogYXJndW1lbnQKClRoZSB2YWx1ZSBpcyBhbHdheXMgQVZTVFJFQU1fUEFSU0VfSEVBREVSUy4K ClNpZ25lZC1vZmYtYnk6IE1hcnRoNjQgPG1hcnRoNjRAcHJveHlpZC5uZXQ+CihjaGVycnkgcGlj a2VkIGZyb20gY29tbWl0IDM2NTYzNzlkOTIyNTc3OGQ5Yjc2ZTRjZmU2ODMyYWU2ZTU5NGI4YTIp Ci0tLQogbGliYXZmb3JtYXQvZHZkdmlkZW9kZWMuYyB8IDIyICsrKysrKysrKy0tLS0tLS0tLS0t LS0KIDEgZmlsZSBjaGFuZ2VkLCA5IGluc2VydGlvbnMoKyksIDEzIGRlbGV0aW9ucygtKQoKZGlm ZiAtLWdpdCBhL2xpYmF2Zm9ybWF0L2R2ZHZpZGVvZGVjLmMgYi9saWJhdmZvcm1hdC9kdmR2aWRl b2RlYy5jCmluZGV4IDcyNTY1ZWUxMjUuLmQ2NGE2Nzg1ODkgMTAwNjQ0Ci0tLSBhL2xpYmF2Zm9y bWF0L2R2ZHZpZGVvZGVjLmMKKysrIGIvbGliYXZmb3JtYXQvZHZkdmlkZW9kZWMuYwpAQCAtMTA1 MSw5ICsxMDUxLDcgQEAgc3RhdGljIGludCBkdmR2aWRlb192aWRlb19zdHJlYW1fYW5hbHl6ZShB VkZvcm1hdENvbnRleHQgKnMsIHZpZGVvX2F0dHJfdCB2aWRlb18KICAgICByZXR1cm4gMDsKIH0K IAotc3RhdGljIGludCBkdmR2aWRlb192aWRlb19zdHJlYW1fYWRkKEFWRm9ybWF0Q29udGV4dCAq cywKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBEVkRWaWRlb1ZUU1ZpZGVv U3RyZWFtRW50cnkgKmVudHJ5LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IGVudW0gQVZTdHJlYW1QYXJzZVR5cGUgbmVlZF9wYXJzaW5nKQorc3RhdGljIGludCBkdmR2aWRl b192aWRlb19zdHJlYW1fYWRkKEFWRm9ybWF0Q29udGV4dCAqcywgRFZEVmlkZW9WVFNWaWRlb1N0 cmVhbUVudHJ5ICplbnRyeSkKIHsKICAgICBBVlN0cmVhbSAqc3Q7CiAgICAgRkZTdHJlYW0gKnN0 aTsKQEAgLTEwNzcsNyArMTA3NSw3IEBAIHN0YXRpYyBpbnQgZHZkdmlkZW9fdmlkZW9fc3RyZWFt X2FkZChBVkZvcm1hdENvbnRleHQgKnMsCiAKICAgICBzdGkgPSBmZnN0cmVhbShzdCk7CiAgICAg c3RpLT5yZXF1ZXN0X3Byb2JlID0gMDsKLSAgICBzdGktPm5lZWRfcGFyc2luZyA9IG5lZWRfcGFy c2luZzsKKyAgICBzdGktPm5lZWRfcGFyc2luZyA9IEFWU1RSRUFNX1BBUlNFX0hFQURFUlM7CiAg ICAgc3RpLT5kaXNwbGF5X2FzcGVjdF9yYXRpbyA9IGVudHJ5LT5kYXI7CiAKICAgICBhdnByaXZf c2V0X3B0c19pbmZvKHN0LCBEVkRWSURFT19QVFNfV1JBUF9CSVRTLApAQCAtMTEwMSw3ICsxMDk5 LDcgQEAgc3RhdGljIGludCBkdmR2aWRlb192aWRlb19zdHJlYW1fc2V0dXAoQVZGb3JtYXRDb250 ZXh0ICpzKQogICAgICAgICB2aWRlb19hdHRyID0gYy0+dnRzX2lmby0+dnRzaV9tYXQtPnZ0c192 aWRlb19hdHRyOwogCiAgICAgaWYgKChyZXQgPSBkdmR2aWRlb192aWRlb19zdHJlYW1fYW5hbHl6 ZShzLCB2aWRlb19hdHRyLCAmZW50cnkpKSA8IDAgfHwKLSAgICAgICAgKHJldCA9IGR2ZHZpZGVv X3ZpZGVvX3N0cmVhbV9hZGQocywgJmVudHJ5LCBBVlNUUkVBTV9QQVJTRV9IRUFERVJTKSkgPCAw KSB7CisgICAgICAgIChyZXQgPSBkdmR2aWRlb192aWRlb19zdHJlYW1fYWRkKHMsICZlbnRyeSkp IDwgMCkgewogCiAgICAgICAgIGF2X2xvZyhzLCBBVl9MT0dfRVJST1IsICJVbmFibGUgdG8gYWRk IHZpZGVvIHN0cmVhbVxuIik7CiAgICAgICAgIHJldHVybiByZXQ7CkBAIC0xMjEzLDggKzEyMTEs NyBAQCBzdGF0aWMgaW50IGR2ZHZpZGVvX2F1ZGlvX3N0cmVhbV9hbmFseXplKEFWRm9ybWF0Q29u dGV4dCAqcywgYXVkaW9fYXR0cl90IGF1ZGlvXwogICAgIHJldHVybiAwOwogfQogCi1zdGF0aWMg aW50IGR2ZHZpZGVvX2F1ZGlvX3N0cmVhbV9hZGQoQVZGb3JtYXRDb250ZXh0ICpzLCBEVkRWaWRl b1BHQ0F1ZGlvU3RyZWFtRW50cnkgKmVudHJ5LAotICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIGVudW0gQVZTdHJlYW1QYXJzZVR5cGUgbmVlZF9wYXJzaW5nKQorc3RhdGljIGlu dCBkdmR2aWRlb19hdWRpb19zdHJlYW1fYWRkKEFWRm9ybWF0Q29udGV4dCAqcywgRFZEVmlkZW9Q R0NBdWRpb1N0cmVhbUVudHJ5ICplbnRyeSkKIHsKICAgICBBVlN0cmVhbSAqc3Q7CiAgICAgRkZT dHJlYW0gKnN0aTsKQEAgLTEyMzksNyArMTIzNiw3IEBAIHN0YXRpYyBpbnQgZHZkdmlkZW9fYXVk aW9fc3RyZWFtX2FkZChBVkZvcm1hdENvbnRleHQgKnMsIERWRFZpZGVvUEdDQXVkaW9TdHJlYW1F CiAKICAgICBzdGkgPSBmZnN0cmVhbShzdCk7CiAgICAgc3RpLT5yZXF1ZXN0X3Byb2JlID0gMDsK LSAgICBzdGktPm5lZWRfcGFyc2luZyA9IG5lZWRfcGFyc2luZzsKKyAgICBzdGktPm5lZWRfcGFy c2luZyA9IEFWU1RSRUFNX1BBUlNFX0hFQURFUlM7CiAKICAgICBhdnByaXZfc2V0X3B0c19pbmZv KHN0LCBEVkRWSURFT19QVFNfV1JBUF9CSVRTLAogICAgICAgICAgICAgICAgICAgICAgICAgRFZE VklERU9fVElNRV9CQVNFX1EubnVtLCBEVkRWSURFT19USU1FX0JBU0VfUS5kZW4pOwpAQCAtMTI4 Miw3ICsxMjc5LDcgQEAgc3RhdGljIGludCBkdmR2aWRlb19hdWRpb19zdHJlYW1fYWRkX2FsbChB VkZvcm1hdENvbnRleHQgKnMpCiAgICAgICAgICAgICBpZiAocy0+c3RyZWFtc1tqXS0+aWQgPT0g ZW50cnkuc3RhcnRjb2RlKQogICAgICAgICAgICAgICAgIGNvbnRpbnVlOwogCi0gICAgICAgIGlm ICgocmV0ID0gZHZkdmlkZW9fYXVkaW9fc3RyZWFtX2FkZChzLCAmZW50cnksIEFWU1RSRUFNX1BB UlNFX0hFQURFUlMpKSA8IDApCisgICAgICAgIGlmICgocmV0ID0gZHZkdmlkZW9fYXVkaW9fc3Ry ZWFtX2FkZChzLCAmZW50cnkpKSA8IDApCiAgICAgICAgICAgICBnb3RvIGJyZWFrX2Vycm9yOwog CiAgICAgICAgIGNvbnRpbnVlOwpAQCAtMTMxOSw4ICsxMzE2LDcgQEAgc3RhdGljIGludCBkdmR2 aWRlb19zdWJwX3N0cmVhbV9hbmFseXplKEFWRm9ybWF0Q29udGV4dCAqcywgdWludDMyX3Qgb2Zm c2V0LCBzdWIKICAgICByZXR1cm4gMDsKIH0KIAotc3RhdGljIGludCBkdmR2aWRlb19zdWJwX3N0 cmVhbV9hZGQoQVZGb3JtYXRDb250ZXh0ICpzLCBEVkRWaWRlb1BHQ1N1YnRpdGxlU3RyZWFtRW50 cnkgKmVudHJ5LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZW51bSBBVlN0 cmVhbVBhcnNlVHlwZSBuZWVkX3BhcnNpbmcpCitzdGF0aWMgaW50IGR2ZHZpZGVvX3N1YnBfc3Ry ZWFtX2FkZChBVkZvcm1hdENvbnRleHQgKnMsIERWRFZpZGVvUEdDU3VidGl0bGVTdHJlYW1FbnRy eSAqZW50cnkpCiB7CiAgICAgQVZTdHJlYW0gKnN0OwogICAgIEZGU3RyZWFtICpzdGk7CkBAIC0x MzQ2LDcgKzEzNDIsNyBAQCBzdGF0aWMgaW50IGR2ZHZpZGVvX3N1YnBfc3RyZWFtX2FkZChBVkZv cm1hdENvbnRleHQgKnMsIERWRFZpZGVvUEdDU3VidGl0bGVTdHJlYQogCiAgICAgc3RpID0gZmZz dHJlYW0oc3QpOwogICAgIHN0aS0+cmVxdWVzdF9wcm9iZSA9IDA7Ci0gICAgc3RpLT5uZWVkX3Bh cnNpbmcgPSBuZWVkX3BhcnNpbmc7CisgICAgc3RpLT5uZWVkX3BhcnNpbmcgPSBBVlNUUkVBTV9Q QVJTRV9IRUFERVJTOwogCiAgICAgYXZwcml2X3NldF9wdHNfaW5mbyhzdCwgRFZEVklERU9fUFRT X1dSQVBfQklUUywKICAgICAgICAgICAgICAgICAgICAgICAgIERWRFZJREVPX1RJTUVfQkFTRV9R Lm51bSwgRFZEVklERU9fVElNRV9CQVNFX1EuZGVuKTsKQEAgLTEzNzEsNyArMTM2Nyw3IEBAIHN0 YXRpYyBpbnQgZHZkdmlkZW9fc3VicF9zdHJlYW1fYWRkX2ludGVybmFsKEFWRm9ybWF0Q29udGV4 dCAqcywgdWludDMyX3Qgb2Zmc2V0CiAgICAgICAgIGlmIChzLT5zdHJlYW1zW2ldLT5pZCA9PSBl bnRyeS5zdGFydGNvZGUpCiAgICAgICAgICAgICByZXR1cm4gMDsKIAotICAgIGlmICgocmV0ID0g ZHZkdmlkZW9fc3VicF9zdHJlYW1fYWRkKHMsICZlbnRyeSwgQVZTVFJFQU1fUEFSU0VfSEVBREVS UykpIDwgMCkKKyAgICBpZiAoKHJldCA9IGR2ZHZpZGVvX3N1YnBfc3RyZWFtX2FkZChzLCAmZW50 cnkpKSA8IDApCiAgICAgICAgIGdvdG8gZW5kX2Vycm9yOwogCiAgICAgcmV0dXJuIDA7Ci0tIAoy LjQ5LjEKCgpGcm9tIDUzZTY2YzcxNjEzNTgzNzgzZDNlNzM4NmVlNGEwMTVmNDFkZGE0YmYgTW9u IFNlcCAxNyAwMDowMDowMCAyMDAxCkZyb206IE1hcnRoNjQgPG1hcnRoNjRAcHJveHlpZC5uZXQ+ CkRhdGU6IE1vbiwgNyBPY3QgMjAyNCAxODowNTowMyAtMDUwMApTdWJqZWN0OiBbUEFUQ0ggMTU1 LzQzNF0gYXZmb3JtYXQvZHZkdmlkZW9kZWM6IGRyb3AgcGFja2V0cyB3aXRoIHVuc2V0IFBUUyBv cgogRFRTCgpUaGUgcGFja2V0cyBlZmZlY3RpdmVseSBzZXJ2ZSBubyBwdXJwb3NlIGFuZCB3ZSBh cmUgYWxyZWFkeQpkcm9wcGluZyBwYWNrZXRzIHdpdGggUFRTIGxlc3MgdGhhbiAwLiBUaGlzIGFs c28gY3JlYXRlcwpmb3IgYSBzbW9vdGhlciBzZWVraW5nIGV4cGVyaWVuY2UgYWZ0ZXIgdGhlIHN1 YmRlbXV4ZXIKcmVzZXQgZml4LgoKU2lnbmVkLW9mZi1ieTogTWFydGg2NCA8bWFydGg2NEBwcm94 eWlkLm5ldD4KKGNoZXJyeSBwaWNrZWQgZnJvbSBjb21taXQgZjJmMjM4YzNhNDg1NWNkMDkxOTg4 OTk0MGMyZjQ1OTU4YWM0N2JlNikKLS0tCiBsaWJhdmZvcm1hdC9kdmR2aWRlb2RlYy5jIHwgMzEg KysrKysrKysrKysrKy0tLS0tLS0tLS0tLS0tLS0tLQogMSBmaWxlIGNoYW5nZWQsIDEzIGluc2Vy dGlvbnMoKyksIDE4IGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL2xpYmF2Zm9ybWF0L2R2ZHZp ZGVvZGVjLmMgYi9saWJhdmZvcm1hdC9kdmR2aWRlb2RlYy5jCmluZGV4IGQ2NGE2Nzg1ODkuLmYy MGQyYWE1Y2IgMTAwNjQ0Ci0tLSBhL2xpYmF2Zm9ybWF0L2R2ZHZpZGVvZGVjLmMKKysrIGIvbGli YXZmb3JtYXQvZHZkdmlkZW9kZWMuYwpAQCAtMTY0MywyOSArMTY0MywyNCBAQCBzdGF0aWMgaW50 IGR2ZHZpZGVvX3JlYWRfcGFja2V0KEFWRm9ybWF0Q29udGV4dCAqcywgQVZQYWNrZXQgKnBrdCkK ICAgICAgICAgfQogICAgIH0KIAotICAgIGlmICghc3RfbWFwcGVkKQorICAgIGlmICghc3RfbWFw cGVkIHx8IHBrdC0+cHRzID09IEFWX05PUFRTX1ZBTFVFIHx8IHBrdC0+ZHRzID09IEFWX05PUFRT X1ZBTFVFKQogICAgICAgICBnb3RvIGRpc2NhcmQ7CiAKLSAgICBpZiAocGt0LT5wdHMgIT0gQVZf Tk9QVFNfVkFMVUUgJiYgcGt0LT5kdHMgIT0gQVZfTk9QVFNfVkFMVUUpIHsKLSAgICAgICAgaWYg KCFjLT5wbGF5X3N0YXJ0ZWQpIHsKLSAgICAgICAgICAgIC8qIHRyeSB0byBzdGFydCBhdCB0aGUg YmVnaW5uaW5nIG9mIGEgR09QICovCi0gICAgICAgICAgICBpZiAoc3Rfc3ViZGVtdXgtPmNvZGVj cGFyLT5jb2RlY190eXBlICE9IEFWTUVESUFfVFlQRV9WSURFTyB8fCAhaXNfa2V5KQotICAgICAg ICAgICAgICAgIGdvdG8gZGlzY2FyZDsKLQotICAgICAgICAgICAgYy0+Zmlyc3RfcHRzID0gcGt0 LT5wdHM7Ci0gICAgICAgICAgICBjLT5wbGF5X3N0YXJ0ZWQgPSAxOwotICAgICAgICB9Ci0KLSAg ICAgICAgcGt0LT5wdHMgKz0gYy0+cHRzX29mZnNldCAtIGMtPmZpcnN0X3B0czsKLSAgICAgICAg cGt0LT5kdHMgKz0gYy0+cHRzX29mZnNldCAtIGMtPmZpcnN0X3B0czsKLQotICAgICAgICBpZiAo cGt0LT5wdHMgPCAwKQorICAgIGlmICghYy0+cGxheV9zdGFydGVkKSB7CisgICAgICAgIC8qIHRy eSB0byBzdGFydCBhdCB0aGUgYmVnaW5uaW5nIG9mIGEgR09QICovCisgICAgICAgIGlmIChzdF9z dWJkZW11eC0+Y29kZWNwYXItPmNvZGVjX3R5cGUgIT0gQVZNRURJQV9UWVBFX1ZJREVPIHx8ICFp c19rZXkpCiAgICAgICAgICAgICBnb3RvIGRpc2NhcmQ7Ci0gICAgfSBlbHNlIHsKLSAgICAgICAg YXZfbG9nKHMsIEFWX0xPR19XQVJOSU5HLCAiVW5zZXQgUFRTIG9yIERUUyBAIHN0PSVkIHB0cz0l IiBQUklkNjQgIiBkdHM9JSIgUFJJZDY0ICJcbiIsCi0gICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgcGt0LT5zdHJlYW1faW5kZXgsIHBrdC0+cHRzLCBwa3QtPmR0cyk7CisKKyAgICAg ICAgYy0+Zmlyc3RfcHRzID0gcGt0LT5wdHM7CisgICAgICAgIGMtPnBsYXlfc3RhcnRlZCA9IDE7 CiAgICAgfQogCisgICAgcGt0LT5wdHMgKz0gYy0+cHRzX29mZnNldCAtIGMtPmZpcnN0X3B0czsK KyAgICBwa3QtPmR0cyArPSBjLT5wdHNfb2Zmc2V0IC0gYy0+Zmlyc3RfcHRzOworCisgICAgaWYg KHBrdC0+cHRzIDwgMCkKKyAgICAgICAgZ290byBkaXNjYXJkOworCiAgICAgYXZfbG9nKHMsIEFW X0xPR19UUkFDRSwgInN0PSVkIHB0cz0lIiBQUklkNjQgIiBkdHM9JSIgUFJJZDY0ICIgIgogICAg ICAgICAgICAgICAgICAgICAgICAgICAgICJwdHNfb2Zmc2V0PSUiIFBSSWQ2NCAiIGZpcnN0X3B0 cz0lIiBQUklkNjQgIlxuIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwa3QtPnN0cmVh bV9pbmRleCwgcGt0LT5wdHMsIHBrdC0+ZHRzLAotLSAKMi40OS4xCgoKRnJvbSBhNjI2YTA4YzQ1 YjBiNGNlZmViZWY3NDA2MTJhYTFjNTJhMjA5YmFjIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQpG cm9tOiBNYXJ0aDY0IDxtYXJ0aDY0QHByb3h5aWQubmV0PgpEYXRlOiBNb24sIDcgT2N0IDIwMjQg MTg6MDU6MDQgLTA1MDAKU3ViamVjdDogW1BBVENIIDE1Ni80MzRdIGF2Zm9ybWF0L2R2ZHZpZGVv ZGVjOiBkaXNjYXJkIGR1cGxpY2F0ZSBvciBwYXJ0aWFsCiBBQzMgc2FtcGxlcwoKU29tZSBEVkQg bXV4ZXJzIHNpZ25hbCBzZWdtZW50cyB0byBzdGFydCB3aXRoIGR1cGxpY2F0ZSBhdWRpbyBzYW1w bGVzCndoZW4gc3RhcnRpbmcgZXh0cmFjdGlvbiBmcm9tIGEgY2hhcHRlciBtYXJrZXIgb3IgdGVy bWluYXRlIHNlYW1sZXNzIFBHcwpvbiBwYXJ0aWFsIGF1ZGlvIHNhbXBsZXMgKGNhdXNpbmcgY29y cnVwdCBBQzMgZnJhbWVzKS4gQ2xlYW4gdXAgYWZ0ZXIKdGhlc2UgbXV4ZXJzIGJ5IHRyYWNraW5n IGZyYW1lcyB3aXRoIGR1cGxpY2F0ZSBQVFMgYW5kIGVsaW1pbmF0aW5nCnBhcnRpYWwgQUMzIGZy YW1lcy4KClRoaXMgcmVzdWx0cyBpbiBzbW9vdGhlciBjaGFwdGVyIGV4dHJhY3Rpb24gYW5kIG92 ZXJhbGwgc2Vla2luZyBleHBlcmllbmNlLAp3aXRoIGxpbmVhciBQVFMgYW5kIEFDMyBkZWxheSB3 aXRoaW4gMzJtcyAoMSBmcmFtZSkgYXdheSBmcm9tIHRoZSB2aWRlby4KClRoZSBpc3N1ZSB3YXMg bm90IGFwcGFyZW50IHVudGlsIHRoZSBmbHVzaGluZyBwYXR0ZXJuIHdhcyByZXBsYWNlZCB3aXRo CmEgZnVsbCBzdWJkZW11eCByZXNldCwgYXMgdGhlIGZsdXNoaW5nIGRyb3BwZWQgdGhlIGZyYW1l cyBwcmVtYXR1cmVseSwKYWxvbmcgc2lkZSBvdGhlcnMsIGFzIHN1Y2ggdGhleSB3ZXJlIG5ldmVy IHByZXNlbnQgdG8gYmVnaW4gd2l0aC4KCihjaGVycnkgcGlja2VkIGZyb20gY29tbWl0IDA5MTI0 MDdiOWRlNDMxZmI3NTBlNzRjYjMwN2VhN2ExMWZjMjdlNmIpCi0tLQogbGliYXZmb3JtYXQvZHZk dmlkZW9kZWMuYyB8IDM2ICsrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrLQogMSBm aWxlIGNoYW5nZWQsIDM1IGluc2VydGlvbnMoKyksIDEgZGVsZXRpb24oLSkKCmRpZmYgLS1naXQg YS9saWJhdmZvcm1hdC9kdmR2aWRlb2RlYy5jIGIvbGliYXZmb3JtYXQvZHZkdmlkZW9kZWMuYwpp bmRleCBmMjBkMmFhNWNiLi4xNzkxODFjZTY5IDEwMDY0NAotLS0gYS9saWJhdmZvcm1hdC9kdmR2 aWRlb2RlYy5jCisrKyBiL2xpYmF2Zm9ybWF0L2R2ZHZpZGVvZGVjLmMKQEAgLTM4LDYgKzM4LDcg QEAKICNpbmNsdWRlIDxkdmRyZWFkL2lmb190eXBlcy5oPgogI2luY2x1ZGUgPGR2ZHJlYWQvbmF2 X3JlYWQuaD4KIAorI2luY2x1ZGUgImxpYmF2Y29kZWMvYWMzX3BhcnNlci5oIgogI2luY2x1ZGUg ImxpYmF2dXRpbC9hdnN0cmluZy5oIgogI2luY2x1ZGUgImxpYmF2dXRpbC9hdnV0aWwuaCIKICNp bmNsdWRlICJsaWJhdnV0aWwvaW50cmVhZHdyaXRlLmgiCkBAIC0xNjYsNiArMTY3LDcgQEAgdHlw ZWRlZiBzdHJ1Y3QgRFZEVmlkZW9EZW11eENvbnRleHQgewogICAgIGludDY0X3QgICAgICAgICAg ICAgICAgICAgICBmaXJzdF9wdHM7ICAgICAgICAgIC8qIHRoZSBQVFMgb2YgdGhlIGZpcnN0IHZp ZGVvIGtleWZyYW1lICovCiAgICAgaW50ICAgICAgICAgICAgICAgICAgICAgICAgIHBsYXlfc3Rh cnRlZDsgICAgICAgLyogc2lnbmFsIHRoYXQgcGxheWJhY2sgaGFzIHN0YXJ0ZWQgKi8KICAgICBE VkRWaWRlb1BsYXliYWNrU3RhdGUgICAgICAgcGxheV9zdGF0ZTsgICAgICAgICAvKiB0aGUgYWN0 aXZlIHBsYXliYWNrIHN0YXRlICovCisgICAgaW50NjRfdCAgICAgICAgICAgICAgICAgICAgICpw cmV2X3B0czsgICAgICAgICAgLyogdHJhY2sgdGhlIHByZXZpb3VzIFBUUyBlbWl0dGVkIHBlciBz dHJlYW0gKi8KICAgICBpbnQ2NF90ICAgICAgICAgICAgICAgICAgICAgcHRzX29mZnNldDsgICAg ICAgICAvKiBQVFMgZGlzY29udGludWl0eSBvZmZzZXQgKGV4LiBWT0IgY2hhbmdlKSAqLwogICAg IGludCAgICAgICAgICAgICAgICAgICAgICAgICBzZWVrX3dhcm5lZDsgICAgICAgIC8qIHNpZ25h bCB0aGF0IHdlIHdhcm5lZCBhYm91dCBzZWVraW5nIGxpbWl0cyAqLwogICAgIGludCAgICAgICAg ICAgICAgICAgICAgICAgICBzdWJkZW11eF9yZXNldDsgICAgIC8qIHNpZ25hbCB0aGF0IHN1YmRl bXV4ZXIgc2hvdWxkIGJlIHJlc2V0ICovCkBAIC0xNTY2LDcgKzE1NjgsNyBAQCBzdGF0aWMgaW50 IGR2ZHZpZGVvX3JlYWRfaGVhZGVyKEFWRm9ybWF0Q29udGV4dCAqcykKICAgICAgICAgICAgIChy ZXQgPSBkdmR2aWRlb19zdWJkZW11eF9vcGVuKHMpKSA8IDApCiAgICAgICAgIHJldHVybiByZXQ7 CiAKLSAgICAgICAgcmV0dXJuIDA7CisgICAgICAgIGdvdG8gZW5kX3JlYWR5OwogICAgIH0KIAog ICAgIGlmIChjLT5vcHRfcGdjICYmIChjLT5vcHRfY2hhcHRlcl9zdGFydCA+IDEgfHwgYy0+b3B0 X2NoYXB0ZXJfZW5kID4gMCB8fCBjLT5vcHRfcHJlaW5kZXgpKSB7CkBAIC0xNjAzLDYgKzE2MDUs MTQgQEAgc3RhdGljIGludCBkdmR2aWRlb19yZWFkX2hlYWRlcihBVkZvcm1hdENvbnRleHQgKnMp CiAgICAgICAgIChyZXQgPSBkdmR2aWRlb19zdWJkZW11eF9vcGVuKHMpKSA8IDApCiAgICAgICAg IHJldHVybiByZXQ7CiAKK2VuZF9yZWFkeToKKyAgICBjLT5wcmV2X3B0cyA9IGF2X21hbGxvYyhz LT5uYl9zdHJlYW1zICogc2l6ZW9mKGludDY0X3QpKTsKKyAgICBpZiAoIWMtPnByZXZfcHRzKQor ICAgICAgICByZXR1cm4gQVZFUlJPUihFTk9NRU0pOworCisgICAgZm9yIChpbnQgaSA9IDA7IGkg PCBzLT5uYl9zdHJlYW1zOyBpKyspCisgICAgICAgIGMtPnByZXZfcHRzW2ldID0gQVZfTk9QVFNf VkFMVUU7CisKICAgICByZXR1cm4gMDsKIH0KIApAQCAtMTYxNCw2ICsxNjI0LDggQEAgc3RhdGlj IGludCBkdmR2aWRlb19yZWFkX3BhY2tldChBVkZvcm1hdENvbnRleHQgKnMsIEFWUGFja2V0ICpw a3QpCiAgICAgaW50IGlzX2tleSAgICAgPSAwOwogICAgIGludCBzdF9tYXBwZWQgID0gMDsKICAg ICBBVlN0cmVhbSAqc3Rfc3ViZGVtdXg7CisgICAgdWludDhfdCAgYWMzX2JpdHN0cmVhbV9pZDsK KyAgICB1aW50MTZfdCBhYzNfZnJhbWVfc2l6ZTsKIAogICAgIHJldCA9IGF2X3JlYWRfZnJhbWUo Yy0+bXBlZ19jdHgsIHBrdCk7CiAgICAgaWYgKHJldCA8IDApIHsKQEAgLTE2NjEsMTEgKzE2NzMs MjcgQEAgc3RhdGljIGludCBkdmR2aWRlb19yZWFkX3BhY2tldChBVkZvcm1hdENvbnRleHQgKnMs IEFWUGFja2V0ICpwa3QpCiAgICAgaWYgKHBrdC0+cHRzIDwgMCkKICAgICAgICAgZ290byBkaXNj YXJkOwogCisgICAgLyogY2xlYW4gdXAgYWZ0ZXIgRFZEIG11eGVycyB3aGljaCBlbmQgc2VhbWxl c3MgUEdzIG9uIGR1cGxpY2F0ZSBvciBwYXJ0aWFsIEFDMyBzYW1wbGVzICovCisgICAgaWYgKHN0 X3N1YmRlbXV4LT5jb2RlY3Bhci0+Y29kZWNfdHlwZSA9PSBBVk1FRElBX1RZUEVfQVVESU8gJiYK KyAgICAgICAgc3Rfc3ViZGVtdXgtPmNvZGVjcGFyLT5jb2RlY19pZCA9PSBBVl9DT0RFQ19JRF9B QzMpIHsKKworICAgICAgICBpZiAocGt0LT5wdHMgPD0gYy0+cHJldl9wdHNbcGt0LT5zdHJlYW1f aW5kZXhdKQorICAgICAgICAgICAgZ290byBkaXNjYXJkOworCisgICAgICAgIHJldCA9IGF2X2Fj M19wYXJzZV9oZWFkZXIocGt0LT5idWYtPmRhdGEsIHBrdC0+c2l6ZSwKKyAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAmYWMzX2JpdHN0cmVhbV9pZCwgJmFjM19mcmFtZV9zaXplKTsK KworICAgICAgICBpZiAocmV0IDwgMCB8fCBwa3QtPnNpemUgIT0gYWMzX2ZyYW1lX3NpemUpCisg ICAgICAgICAgICBnb3RvIGRpc2NhcmQ7CisgICAgfQorCiAgICAgYXZfbG9nKHMsIEFWX0xPR19U UkFDRSwgInN0PSVkIHB0cz0lIiBQUklkNjQgIiBkdHM9JSIgUFJJZDY0ICIgIgogICAgICAgICAg ICAgICAgICAgICAgICAgICAgICJwdHNfb2Zmc2V0PSUiIFBSSWQ2NCAiIGZpcnN0X3B0cz0lIiBQ UklkNjQgIlxuIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwa3QtPnN0cmVhbV9pbmRl eCwgcGt0LT5wdHMsIHBrdC0+ZHRzLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgIGMtPnB0 c19vZmZzZXQsIGMtPmZpcnN0X3B0cyk7CiAKKyAgICBjLT5wcmV2X3B0c1twa3QtPnN0cmVhbV9p bmRleF0gPSBwa3QtPnB0czsKKwogICAgIHJldHVybiAwOwogCiBkaXNjYXJkOgpAQCAtMTY3Myw2 ICsxNzAxLDkgQEAgZGlzY2FyZDoKICAgICAgICAgICAgIkRpc2NhcmRpbmcgZnJhbWUgQCBzdD0l ZCBwdHM9JSIgUFJJZDY0ICIgZHRzPSUiIFBSSWQ2NCAiIGlzX2tleT0lZCBzdF9tYXBwZWQ9JWRc biIsCiAgICAgICAgICAgIHN0X21hcHBlZCA/IHBrdC0+c3RyZWFtX2luZGV4IDogLTEsIHBrdC0+ cHRzLCBwa3QtPmR0cywgaXNfa2V5LCBzdF9tYXBwZWQpOwogCisgICAgaWYgKHN0X21hcHBlZCkK KyAgICAgICAgYy0+cHJldl9wdHNbcGt0LT5zdHJlYW1faW5kZXhdID0gcGt0LT5wdHM7CisKICAg ICByZXR1cm4gRkZFUlJPUl9SRURPOwogfQogCkBAIC0xNjg5LDYgKzE3MjAsOSBAQCBzdGF0aWMg aW50IGR2ZHZpZGVvX2Nsb3NlKEFWRm9ybWF0Q29udGV4dCAqcykKIAogICAgIGR2ZHZpZGVvX2lm b19jbG9zZShzKTsKIAorICAgIGlmIChjLT5wcmV2X3B0cykKKyAgICAgICAgYXZfZnJlZXAoJmMt PnByZXZfcHRzKTsKKwogICAgIHJldHVybiAwOwogfQogCi0tIAoyLjQ5LjEKCgpGcm9tIDdmYzU1 YzM4Yzc3NjI5NzIzZjM4ZmQ1YTc4NDU5YjgyNTM1ODlkMDMgTW9uIFNlcCAxNyAwMDowMDowMCAy MDAxCkZyb206IE1hcnRoNjQgPG1hcnRoNjRAcHJveHlpZC5uZXQ+CkRhdGU6IE1vbiwgNyBPY3Qg MjAyNCAxODowNTowNSAtMDUwMApTdWJqZWN0OiBbUEFUQ0ggMTU3LzQzNF0gYXZmb3JtYXQvZHZk dmlkZW9kZWM6IGRvbid0IGFsbG93IHNlZWtpbmcgYmV5b25kCiBkdmRuYXYgcmVwb3J0ZWQgZHVy YXRpb24KClRoZXJlIGlzIG5vIHJlYXNvbiB0byBhY2NlcHQgdGltZXN0YW1wIHZhbHVlcyBiZXlv bmQgd2hhdCBkdmRuYXYKcmVwb3J0ZWQgYXMgdGhlIGR1cmF0aW9uIG9mIHRoZSB0aXRsZS4KClNp Z25lZC1vZmYtYnk6IE1hcnRoNjQgPG1hcnRoNjRAcHJveHlpZC5uZXQ+CihjaGVycnkgcGlja2Vk IGZyb20gY29tbWl0IDFkNTVmNTQ4NDY2NTE2YTZhNGVkNGNjNjdlMTE4ZTFjMjljNmFlNWEpCi0t LQogbGliYXZmb3JtYXQvZHZkdmlkZW9kZWMuYyB8IDIgKy0KIDEgZmlsZSBjaGFuZ2VkLCAxIGlu c2VydGlvbigrKSwgMSBkZWxldGlvbigtKQoKZGlmZiAtLWdpdCBhL2xpYmF2Zm9ybWF0L2R2ZHZp ZGVvZGVjLmMgYi9saWJhdmZvcm1hdC9kdmR2aWRlb2RlYy5jCmluZGV4IDE3OTE4MWNlNjkuLjRk MTE0ODBkZmQgMTAwNjQ0Ci0tLSBhL2xpYmF2Zm9ybWF0L2R2ZHZpZGVvZGVjLmMKKysrIGIvbGli YXZmb3JtYXQvZHZkdmlkZW9kZWMuYwpAQCAtMTc0Myw3ICsxNzQzLDcgQEAgc3RhdGljIGludCBk dmR2aWRlb19yZWFkX3NlZWsoQVZGb3JtYXRDb250ZXh0ICpzLCBpbnQgc3RyZWFtX2luZGV4LCBp bnQ2NF90IHRpbWUKICAgICBpZiAoKGZsYWdzICYgQVZTRUVLX0ZMQUdfQllURSkpCiAgICAgICAg IHJldHVybiBBVkVSUk9SKEVOT1NZUyk7CiAKLSAgICBpZiAodGltZXN0YW1wIDwgMCkKKyAgICBp ZiAodGltZXN0YW1wIDwgMCB8fCB0aW1lc3RhbXAgPiBzLT5kdXJhdGlvbikKICAgICAgICAgcmV0 dXJuIEFWRVJST1IoRUlOVkFMKTsKIAogICAgIGlmICghYy0+c2Vla193YXJuZWQpIHsKLS0gCjIu NDkuMQoKCkZyb20gNzI2NDEyNzQzOGU0NjhmZGYyZWIyNjdhYzc4MjdmYjBmODFmNmU2MyBNb24g U2VwIDE3IDAwOjAwOjAwIDIwMDEKRnJvbTogTWFydGg2NCA8bWFydGg2NEBwcm94eWlkLm5ldD4K RGF0ZTogVHVlLCAyNiBOb3YgMjAyNCAyMDowOTowNCAtMDYwMApTdWJqZWN0OiBbUEFUQ0ggMTU4 LzQzNF0gYXZmb3JtYXQvZHZkdmlkZW9kZWM6IGZpeCBtaXNzaW5nIGxhc3QgY2hhcHRlciBtYXJr ZXIKIGR1ZSB0byBvZmYtYnktb25lCgpXaGVuIHVzaW5nIGZhc3QgY2hhcHRlciBtYXJrZXIgY2Fs Y3VsYXRpb24gKGRlZmF1bHQpLCB0aGUgbGFzdAptYXJrZXIgaXMgaW5hZHZlcmRlbnRseSBpZ25v cmVkIGR1ZSB0byBhbiBvZmYtYnktb25lLgoKU2lnbmVkLW9mZi1ieTogTWFydGg2NCA8bWFydGg2 NEBwcm94eWlkLm5ldD4KKGNoZXJyeSBwaWNrZWQgZnJvbSBjb21taXQgYTVhODk5YmZjYmU0NThi YzllNGU3M2Y4ODNlZDYzY2JhYWNiYjQ1MSkKLS0tCiBsaWJhdmZvcm1hdC9kdmR2aWRlb2RlYy5j IHwgMiArLQogMSBmaWxlIGNoYW5nZWQsIDEgaW5zZXJ0aW9uKCspLCAxIGRlbGV0aW9uKC0pCgpk aWZmIC0tZ2l0IGEvbGliYXZmb3JtYXQvZHZkdmlkZW9kZWMuYyBiL2xpYmF2Zm9ybWF0L2R2ZHZp ZGVvZGVjLmMKaW5kZXggNGQxMTQ4MGRmZC4uOTkxNjM1MWU4NiAxMDA2NDQKLS0tIGEvbGliYXZm b3JtYXQvZHZkdmlkZW9kZWMuYworKysgYi9saWJhdmZvcm1hdC9kdmR2aWRlb2RlYy5jCkBAIC04 NzQsNyArODc0LDcgQEAgc3RhdGljIGludCBkdmR2aWRlb19jaGFwdGVyc19zZXR1cF9zaW1wbGUo QVZGb3JtYXRDb250ZXh0ICpzKQogICAgIGludDY0X3QgdG90YWxfZHVyYXRpb24gPSAwOwogCiAg ICAgaW50IGNoYXB0ZXJfc3RhcnQgPSBjLT5vcHRfY2hhcHRlcl9zdGFydDsKLSAgICBpbnQgY2hh cHRlcl9lbmQgPSBjLT5vcHRfY2hhcHRlcl9lbmQgPiAwID8gYy0+b3B0X2NoYXB0ZXJfZW5kIDog Yy0+cGxheV9zdGF0ZS5wZ2NfbmJfcGdfZXN0IC0gMTsKKyAgICBpbnQgY2hhcHRlcl9lbmQgPSBj LT5vcHRfY2hhcHRlcl9lbmQgPiAwID8gYy0+b3B0X2NoYXB0ZXJfZW5kIDogYy0+cGxheV9zdGF0 ZS5wZ2NfbmJfcGdfZXN0OwogCiAgICAgLyogZHZkbmF2X2Rlc2NyaWJlX3RpdGxlX2NoYXB0ZXJz KCkgZGVzY3JpYmVzIFBHcyByYXRoZXIgdGhhbiBQVFRzLCBzbyB2YWxpZGF0ZSBvdXIgcmFuZ2Ug Ki8KICAgICBpZiAoYy0+cGxheV9zdGF0ZS5wZ2NfbmJfcGdfZXN0ID09IDEgICAgICAgICAgICB8 fAotLSAKMi40OS4xCgoKRnJvbSBhNmQ0YmFjNDRkMmQ3ZjAzNDAyN2ZhZGI0OTIwODMwZDUyMWI0 MTkwIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBNYXJ0aDY0IDxtYXJ0aDY0QHByb3h5 aWQubmV0PgpEYXRlOiBXZWQsIDI3IE5vdiAyMDI0IDExOjEzOjQ0IC0wNjAwClN1YmplY3Q6IFtQ QVRDSCAxNTkvNDM0XSBhdmZvcm1hdC9kdmR2aWRlb2RlYzogY2hlY2sgcmV0dXJuIGNvZGUgb2YK IGZmX2R2ZGNsdXRfeXV2X3RvX3JnYigpCgpTaWduZWQtb2ZmLWJ5OiBNYXJ0aDY0IDxtYXJ0aDY0 QHByb3h5aWQubmV0PgooY2hlcnJ5IHBpY2tlZCBmcm9tIGNvbW1pdCBlMjU2NzYxZGVmZTUyN2M4 MTUyMWFlMDM1YWUzZWU2ZjE2MjY1NzA3KQotLS0KIGxpYmF2Zm9ybWF0L2R2ZHZpZGVvZGVjLmMg fCA1ICsrKystCiAxIGZpbGUgY2hhbmdlZCwgNCBpbnNlcnRpb25zKCspLCAxIGRlbGV0aW9uKC0p CgpkaWZmIC0tZ2l0IGEvbGliYXZmb3JtYXQvZHZkdmlkZW9kZWMuYyBiL2xpYmF2Zm9ybWF0L2R2 ZHZpZGVvZGVjLmMKaW5kZXggOTkxNjM1MWU4Ni4uZjkyYzVhZTU0YSAxMDA2NDQKLS0tIGEvbGli YXZmb3JtYXQvZHZkdmlkZW9kZWMuYworKysgYi9saWJhdmZvcm1hdC9kdmR2aWRlb2RlYy5jCkBA IC0xMjk5LDYgKzEyOTksNyBAQCBzdGF0aWMgaW50IGR2ZHZpZGVvX3N1YnBfc3RyZWFtX2FuYWx5 emUoQVZGb3JtYXRDb250ZXh0ICpzLCB1aW50MzJfdCBvZmZzZXQsIHN1YgogewogICAgIERWRFZp ZGVvRGVtdXhDb250ZXh0ICpjID0gcy0+cHJpdl9kYXRhOwogCisgICAgaW50IHJldDsKICAgICBj aGFyIGxhbmdfZHZkWzNdID0gezB9OwogCiAgICAgZW50cnktPnN0YXJ0Y29kZSA9IDB4MjAgKyAo b2Zmc2V0ICYgMHgxRik7CkBAIC0xMzEwLDcgKzEzMTEsOSBAQCBzdGF0aWMgaW50IGR2ZHZpZGVv X3N1YnBfc3RyZWFtX2FuYWx5emUoQVZGb3JtYXRDb250ZXh0ICpzLCB1aW50MzJfdCBvZmZzZXQs IHN1YgogCiAgICAgLyogZHZkc3ViIHBhbGV0dGVzIGN1cnJlbnRseSBoYXZlIG5vIGNvbG9yc3Bh Y2UgdGFnZ2luZyBhbmQgYWxsIG11eGVycyBvbmx5IHN1cHBvcnQgUkdCICovCiAgICAgLyogdGhp cyBpcyBub3QgYSBsb3NzbGVzcyBjb252ZXJzaW9uLCBidXQgbm8gdXNlIGNhc2VzIGFyZSBzdXBw b3J0ZWQgZm9yIHRoZSBvcmlnaW5hbCBZVVYgKi8KLSAgICBmZl9kdmRjbHV0X3l1dl90b19yZ2Io ZW50cnktPmNsdXQsIEZGX0RWRENMVVRfQ0xVVF9TSVpFKTsKKyAgICByZXQgPSBmZl9kdmRjbHV0 X3l1dl90b19yZ2IoZW50cnktPmNsdXQsIEZGX0RWRENMVVRfQ0xVVF9TSVpFKTsKKyAgICBpZiAo cmV0IDwgMCkKKyAgICAgICAgcmV0dXJuIHJldDsKIAogICAgIEFWX1dCMTYobGFuZ19kdmQsIHN1 YnBfYXR0ci5sYW5nX2NvZGUpOwogICAgIGVudHJ5LT5sYW5nX2lzbyA9IGZmX2NvbnZlcnRfbGFu Z190byhsYW5nX2R2ZCwgQVZfTEFOR19JU082MzlfMl9CSUJMKTsKLS0gCjIuNDkuMQoKCkZyb20g MGNjYjA3MDg2MzQyNGUwZjM1NWM5ZDkwNWI5MWM2MTJlZWY3YWY2MCBNb24gU2VwIDE3IDAwOjAw OjAwIDIwMDEKRnJvbTogTWFydGg2NCA8bWFydGg2NEBwcm94eWlkLm5ldD4KRGF0ZTogV2VkLCAy NyBOb3YgMjAyNCAyMzoyODo1MCAtMDYwMApTdWJqZWN0OiBbUEFUQ0ggMTYwLzQzNF0gZG9jL2Rl bXV4ZXJzL2R2ZHZpZGVvOiBzZWVraW5nIGlzIHN1cHBvcnRlZCwgcmVtb3ZlCiBvdXRkYXRlZCBz dGF0ZW1lbnQKClNpZ25lZC1vZmYtYnk6IE1hcnRoNjQgPG1hcnRoNjRAcHJveHlpZC5uZXQ+Cihj aGVycnkgcGlja2VkIGZyb20gY29tbWl0IDFjMmM3MGZlNGQxN2U5MzQwMWY4OGZhOWU0ZWMyYjg0 MDQ3OTBiZDMpCi0tLQogZG9jL2RlbXV4ZXJzLnRleGkgfCAxIC0KIDEgZmlsZSBjaGFuZ2VkLCAx IGRlbGV0aW9uKC0pCgpkaWZmIC0tZ2l0IGEvZG9jL2RlbXV4ZXJzLnRleGkgYi9kb2MvZGVtdXhl cnMudGV4aQppbmRleCA4NmE5MTU4ZTU5Li5jYzgxYzYxNWRkIDEwMDY0NAotLS0gYS9kb2MvZGVt dXhlcnMudGV4aQorKysgYi9kb2MvZGVtdXhlcnMudGV4aQpAQCAtMjkyLDcgKzI5Miw2IEBAIERW RC1WaWRlbyBkZW11eGVyLCBwb3dlcmVkIGJ5IGxpYmR2ZG5hdiBhbmQgbGliZHZkcmVhZC4KIENh biBkaXJlY3RseSBpbmdlc3QgRFZEIHRpdGxlcywgc3BlY2lmaWNhbGx5IHNlcXVlbnRpYWwgUEdD cywgaW50bwogYSBjb252ZXJzaW9uIHBpcGVsaW5lLiBNZW51IGFzc2V0cywgc3VjaCBhcyBiYWNr Z3JvdW5kIHZpZGVvIG9yIGF1ZGlvLAogY2FuIGFsc28gYmUgZGVtdXhlZCBnaXZlbiB0aGUgbWVu dSdzIGNvb3JkaW5hdGVzIChhdCBiZXN0IGVmZm9ydCkuCi1TZWVraW5nIGlzIG5vdCBzdXBwb3J0 ZWQgYXQgdGhpcyB0aW1lLgogCiBCbG9jayBkZXZpY2VzIChEVkQgZHJpdmVzKSwgSVNPIGZpbGVz LCBhbmQgZGlyZWN0b3J5IHN0cnVjdHVyZXMgYXJlIGFjY2VwdGVkLgogQWN0aXZhdGUgd2l0aCBA Y29kZXstZiBkdmR2aWRlb30gaW4gZnJvbnQgb2Ygb25lIG9mIHRoZXNlIGlucHV0cy4KLS0gCjIu NDkuMQoKCkZyb20gM2EzNzVlM2RjZjA5ZjhhYzdkY2YyMTMxNjA3ODlmZjk2ZGE4OGI3YyBNb24g U2VwIDE3IDAwOjAwOjAwIDIwMDEKRnJvbTogTWFydGg2NCA8bWFydGg2NEBwcm94eWlkLm5ldD4K RGF0ZTogV2VkLCAxOCBEZWMgMjAyNCAyMDoxNzozNSAtMDYwMApTdWJqZWN0OiBbUEFUQ0ggMTYx LzQzNF0gYXZjb2RlYy9jYnNfYXYxOiBmaXggdmFyaWFibGUgc2hhZG93aW5nIGluCiBjYnNfYXYx X3NwbGl0X2ZyYWdtZW50KCkKCmhlYWRlciBpcyBwcmV2aW91c2x5IGRlY2xhcmVkIGFzIGFuIGlu dCBhcmd1bWVudCB0aGVuCnNoYWRvd2VkIGluIHRoZSBzY29wZSBvZiB0aGUgbG9vcCBhcyBhIEFW MVJhd09CVUhlYWRlci4KClNpZ25lZC1vZmYtYnk6IE1hcnRoNjQgPG1hcnRoNjRAcHJveHlpZC5u ZXQ+CihjaGVycnkgcGlja2VkIGZyb20gY29tbWl0IDhlODI2MGFhYmYzOWM4YzM5ZWI5OWQ1ZGU5 YzIxYTc2ZWIzMTQ3NDcpCi0tLQogbGliYXZjb2RlYy9jYnNfYXYxLmMgfCAxMCArKysrKy0tLS0t CiAxIGZpbGUgY2hhbmdlZCwgNSBpbnNlcnRpb25zKCspLCA1IGRlbGV0aW9ucygtKQoKZGlmZiAt LWdpdCBhL2xpYmF2Y29kZWMvY2JzX2F2MS5jIGIvbGliYXZjb2RlYy9jYnNfYXYxLmMKaW5kZXgg NDU4MzgxZjAzOC4uOThkNzQ1ZjQ5NCAxMDA2NDQKLS0tIGEvbGliYXZjb2RlYy9jYnNfYXYxLmMK KysrIGIvbGliYXZjb2RlYy9jYnNfYXYxLmMKQEAgLTcyOCwxNiArNzI4LDE2IEBAIHN0YXRpYyBp bnQgY2JzX2F2MV9zcGxpdF9mcmFnbWVudChDb2RlZEJpdHN0cmVhbUNvbnRleHQgKmN0eCwKICAg ICB9CiAKICAgICB3aGlsZSAoc2l6ZSA+IDApIHsKLSAgICAgICAgQVYxUmF3T0JVSGVhZGVyIGhl YWRlcjsKKyAgICAgICAgQVYxUmF3T0JVSGVhZGVyIG9idV9oZWFkZXI7CiAgICAgICAgIHVpbnQ2 NF90IG9idV9zaXplOwogCiAgICAgICAgIGluaXRfZ2V0X2JpdHMoJmdiYywgZGF0YSwgOCAqIHNp emUpOwogCi0gICAgICAgIGVyciA9IGNic19hdjFfcmVhZF9vYnVfaGVhZGVyKGN0eCwgJmdiYywg JmhlYWRlcik7CisgICAgICAgIGVyciA9IGNic19hdjFfcmVhZF9vYnVfaGVhZGVyKGN0eCwgJmdi YywgJm9idV9oZWFkZXIpOwogICAgICAgICBpZiAoZXJyIDwgMCkKICAgICAgICAgICAgIGdvdG8g ZmFpbDsKIAotICAgICAgICBpZiAoaGVhZGVyLm9idV9oYXNfc2l6ZV9maWVsZCkgeworICAgICAg ICBpZiAob2J1X2hlYWRlci5vYnVfaGFzX3NpemVfZmllbGQpIHsKICAgICAgICAgICAgIGlmIChn ZXRfYml0c19sZWZ0KCZnYmMpIDwgOCkgewogICAgICAgICAgICAgICAgIGF2X2xvZyhjdHgtPmxv Z19jdHgsIEFWX0xPR19FUlJPUiwgIkludmFsaWQgT0JVOiBmcmFnbWVudCAiCiAgICAgICAgICAg ICAgICAgICAgICAgICJ0b28gc2hvcnQgKCUiU0laRV9TUEVDSUZJRVIiIGJ5dGVzKS5cbiIsIHNp emUpOwpAQCAtNzQ4LDcgKzc0OCw3IEBAIHN0YXRpYyBpbnQgY2JzX2F2MV9zcGxpdF9mcmFnbWVu dChDb2RlZEJpdHN0cmVhbUNvbnRleHQgKmN0eCwKICAgICAgICAgICAgIGlmIChlcnIgPCAwKQog ICAgICAgICAgICAgICAgIGdvdG8gZmFpbDsKICAgICAgICAgfSBlbHNlCi0gICAgICAgICAgICBv YnVfc2l6ZSA9IHNpemUgLSAxIC0gaGVhZGVyLm9idV9leHRlbnNpb25fZmxhZzsKKyAgICAgICAg ICAgIG9idV9zaXplID0gc2l6ZSAtIDEgLSBvYnVfaGVhZGVyLm9idV9leHRlbnNpb25fZmxhZzsK IAogICAgICAgICBwb3MgPSBnZXRfYml0c19jb3VudCgmZ2JjKTsKICAgICAgICAgYXZfYXNzZXJ0 MChwb3MgJSA4ID09IDAgJiYgcG9zIC8gOCA8PSBzaXplKTsKQEAgLTc2Myw3ICs3NjMsNyBAQCBz dGF0aWMgaW50IGNic19hdjFfc3BsaXRfZnJhZ21lbnQoQ29kZWRCaXRzdHJlYW1Db250ZXh0ICpj dHgsCiAgICAgICAgICAgICBnb3RvIGZhaWw7CiAgICAgICAgIH0KIAotICAgICAgICBlcnIgPSBm Zl9jYnNfYXBwZW5kX3VuaXRfZGF0YShmcmFnLCBoZWFkZXIub2J1X3R5cGUsCisgICAgICAgIGVy ciA9IGZmX2Nic19hcHBlbmRfdW5pdF9kYXRhKGZyYWcsIG9idV9oZWFkZXIub2J1X3R5cGUsCiAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEsIG9idV9sZW5ndGgsIGZy YWctPmRhdGFfcmVmKTsKICAgICAgICAgaWYgKGVyciA8IDApCiAgICAgICAgICAgICBnb3RvIGZh aWw7Ci0tIAoyLjQ5LjEKCgpGcm9tIDBhNTFhZmQyMWQ2Yzc2YTlmNGU1Nzk3MTM1ZGI2ZTA2N2Uz YWQ2NDUgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCkZyb206IE1hcnRoNjQgPG1hcnRoNjRAcHJv eHlpZC5uZXQ+CkRhdGU6IFNhdCwgMTIgT2N0IDIwMjQgMTI6MTg6MzAgLTA1MDAKU3ViamVjdDog W1BBVENIIDE2Mi80MzRdIGF2Zm9ybWF0L3Ntb290aHN0cmVhbWluZ2VuYzogY2hlY2sgcmV0dXJu IHZhbHVlIG9mCiBhdmNvZGVjX3BhcmFtZXRlcnNfY29weSgpCgpXcml0dGVuIGluIHRoZSBkb21p bmFudCBzdHlsZSBvZiB0aGUgc3Vycm91bmRpbmcgY29kZSBibG9jay4KClJldmlld2VkLWJ5OiBl UGlyYXQgPGVwaXJhdDA3QGdtYWlsLmNvbT4KU2lnbmVkLW9mZi1ieTogTWFydGg2NCA8bWFydGg2 NEBwcm94eWlkLm5ldD4KKGNoZXJyeSBwaWNrZWQgZnJvbSBjb21taXQgMzUyOGJmZWQ0NTA4NDJh OTkxZGY2ZTA3NmZlNzJkNGMyZWVlNjQzMikKLS0tCiBsaWJhdmZvcm1hdC9zbW9vdGhzdHJlYW1p bmdlbmMuYyB8IDQgKysrLQogMSBmaWxlIGNoYW5nZWQsIDMgaW5zZXJ0aW9ucygrKSwgMSBkZWxl dGlvbigtKQoKZGlmZiAtLWdpdCBhL2xpYmF2Zm9ybWF0L3Ntb290aHN0cmVhbWluZ2VuYy5jIGIv bGliYXZmb3JtYXQvc21vb3Roc3RyZWFtaW5nZW5jLmMKaW5kZXggOTU0NzQxOWQzMS4uYWRmMzAw ODAwMyAxMDA2NDQKLS0tIGEvbGliYXZmb3JtYXQvc21vb3Roc3RyZWFtaW5nZW5jLmMKKysrIGIv bGliYXZmb3JtYXQvc21vb3Roc3RyZWFtaW5nZW5jLmMKQEAgLTMzMSw3ICszMzEsOSBAQCBzdGF0 aWMgaW50IGlzbV93cml0ZV9oZWFkZXIoQVZGb3JtYXRDb250ZXh0ICpzKQogICAgICAgICBpZiAo IShzdCA9IGF2Zm9ybWF0X25ld19zdHJlYW0oY3R4LCBOVUxMKSkpIHsKICAgICAgICAgICAgIHJl dHVybiBBVkVSUk9SKEVOT01FTSk7CiAgICAgICAgIH0KLSAgICAgICAgYXZjb2RlY19wYXJhbWV0 ZXJzX2NvcHkoc3QtPmNvZGVjcGFyLCBzLT5zdHJlYW1zW2ldLT5jb2RlY3Bhcik7CisgICAgICAg IGlmICgocmV0ID0gYXZjb2RlY19wYXJhbWV0ZXJzX2NvcHkoc3QtPmNvZGVjcGFyLCBzLT5zdHJl YW1zW2ldLT5jb2RlY3BhcikpIDwgMCkgeworICAgICAgICAgICAgcmV0dXJuIHJldDsKKyAgICAg ICAgfQogICAgICAgICBzdC0+c2FtcGxlX2FzcGVjdF9yYXRpbyA9IHMtPnN0cmVhbXNbaV0tPnNh bXBsZV9hc3BlY3RfcmF0aW87CiAgICAgICAgIHN0LT50aW1lX2Jhc2UgPSBzLT5zdHJlYW1zW2ld LT50aW1lX2Jhc2U7CiAKLS0gCjIuNDkuMQoKCkZyb20gOWQ5Yjg3YmUyYjVmMzExOWYxZDkyZTA3 M2JiZjU5MTE0YTA1NTVlZCBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKRnJvbTogTWFydGg2NCA8 bWFydGg2NEBwcm94eWlkLm5ldD4KRGF0ZTogRnJpLCAxMSBPY3QgMjAyNCAwMjowNjozNSAtMDUw MApTdWJqZWN0OiBbUEFUQ0ggMTYzLzQzNF0gYXZmb3JtYXQvZGFzaGRlYzogcmV0dXJuIHJldCBk aXJlY3RseSBpbgogb3Blbl9kZW11eF9mb3JfY29tcG9uZW50KCkKClNpZ25lZC1vZmYtYnk6IE1h cnRoNjQgPG1hcnRoNjRAcHJveHlpZC5uZXQ+ClJldmlld2VkLWJ5OiBTdGV2ZW4gTGl1IDxscUBj aGluYWZmbXBlZy5vcmc+CihjaGVycnkgcGlja2VkIGZyb20gY29tbWl0IDZlZTc1NTVhOTA5ZDI2 MzA4MGRlODQ5MDYyOGU5MmJmMGM1Y2RiMTUpCi0tLQogbGliYXZmb3JtYXQvZGFzaGRlYy5jIHwg MTUgKysrKysrLS0tLS0tLS0tCiAxIGZpbGUgY2hhbmdlZCwgNiBpbnNlcnRpb25zKCspLCA5IGRl bGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL2xpYmF2Zm9ybWF0L2Rhc2hkZWMuYyBiL2xpYmF2Zm9y bWF0L2Rhc2hkZWMuYwppbmRleCA5OWFjNjE5N2JlLi45Y2UyM2FlYzY1IDEwMDY0NAotLS0gYS9s aWJhdmZvcm1hdC9kYXNoZGVjLmMKKysrIGIvbGliYXZmb3JtYXQvZGFzaGRlYy5jCkBAIC0xOTM5 LDE2ICsxOTM5LDE1IEBAIHN0YXRpYyBpbnQgb3Blbl9kZW11eF9mb3JfY29tcG9uZW50KEFWRm9y bWF0Q29udGV4dCAqcywgc3RydWN0IHJlcHJlc2VudGF0aW9uICpwCiAgICAgfQogCiAgICAgcmV0 ID0gcmVvcGVuX2RlbXV4X2Zvcl9jb21wb25lbnQocywgcGxzKTsKLSAgICBpZiAocmV0IDwgMCkg ewotICAgICAgICBnb3RvIGZhaWw7Ci0gICAgfQorICAgIGlmIChyZXQgPCAwKQorICAgICAgICBy ZXR1cm4gcmV0OworCiAgICAgZm9yIChpID0gMDsgaSA8IHBscy0+Y3R4LT5uYl9zdHJlYW1zOyBp KyspIHsKICAgICAgICAgQVZTdHJlYW0gKnN0ID0gYXZmb3JtYXRfbmV3X3N0cmVhbShzLCBOVUxM KTsKICAgICAgICAgQVZTdHJlYW0gKmlzdCA9IHBscy0+Y3R4LT5zdHJlYW1zW2ldOwotICAgICAg ICBpZiAoIXN0KSB7Ci0gICAgICAgICAgICByZXQgPSBBVkVSUk9SKEVOT01FTSk7Ci0gICAgICAg ICAgICBnb3RvIGZhaWw7Ci0gICAgICAgIH0KKyAgICAgICAgaWYgKCFzdCkKKyAgICAgICAgICAg IHJldHVybiBBVkVSUk9SKEVOT01FTSk7CisKICAgICAgICAgc3QtPmlkID0gaTsKICAgICAgICAg YXZjb2RlY19wYXJhbWV0ZXJzX2NvcHkoc3QtPmNvZGVjcGFyLCBpc3QtPmNvZGVjcGFyKTsKICAg ICAgICAgYXZwcml2X3NldF9wdHNfaW5mbyhzdCwgaXN0LT5wdHNfd3JhcF9iaXRzLCBpc3QtPnRp bWVfYmFzZS5udW0sIGlzdC0+dGltZV9iYXNlLmRlbik7CkBAIC0xOTU4LDggKzE5NTcsNiBAQCBz dGF0aWMgaW50IG9wZW5fZGVtdXhfZm9yX2NvbXBvbmVudChBVkZvcm1hdENvbnRleHQgKnMsIHN0 cnVjdCByZXByZXNlbnRhdGlvbiAqcAogICAgIH0KIAogICAgIHJldHVybiAwOwotZmFpbDoKLSAg ICByZXR1cm4gcmV0OwogfQogCiBzdGF0aWMgaW50IGlzX2NvbW1vbl9pbml0X3NlY3Rpb25fZXhp c3Qoc3RydWN0IHJlcHJlc2VudGF0aW9uICoqcGxzLCBpbnQgbl9wbHMpCi0tIAoyLjQ5LjEKCgpG cm9tIGJhOTQ1ODhhZmFmMWRmYmUyODAyMDJlMTE1ZjI5NGFmZDViYWYwNmEgTW9uIFNlcCAxNyAw MDowMDowMCAyMDAxCkZyb206IE1hcnRoNjQgPG1hcnRoNjRAcHJveHlpZC5uZXQ+CkRhdGU6IEZy aSwgMTEgT2N0IDIwMjQgMDI6MDY6MzYgLTA1MDAKU3ViamVjdDogW1BBVENIIDE2NC80MzRdIGF2 Zm9ybWF0L2Rhc2hkZWM6IGNoZWNrIHJldHVybiBjb2RlIG9mCiBhdmNvZGVjX3BhcmFtZXRlcnNf Y29weSgpCgpTaWduZWQtb2ZmLWJ5OiBNYXJ0aDY0IDxtYXJ0aDY0QHByb3h5aWQubmV0PgpSZXZp ZXdlZC1ieTogU3RldmVuIExpdSA8bHFAY2hpbmFmZm1wZWcub3JnPgooY2hlcnJ5IHBpY2tlZCBm cm9tIGNvbW1pdCA3YWNjMmViZDVkOWUwOTE5OGVhMjM1ODcwZjhlNmE5YTVkZTY2N2Y4KQotLS0K IGxpYmF2Zm9ybWF0L2Rhc2hkZWMuYyB8IDYgKysrKystCiAxIGZpbGUgY2hhbmdlZCwgNSBpbnNl cnRpb25zKCspLCAxIGRlbGV0aW9uKC0pCgpkaWZmIC0tZ2l0IGEvbGliYXZmb3JtYXQvZGFzaGRl Yy5jIGIvbGliYXZmb3JtYXQvZGFzaGRlYy5jCmluZGV4IDljZTIzYWVjNjUuLmNkMWIzZGEzYTIg MTAwNjQ0Ci0tLSBhL2xpYmF2Zm9ybWF0L2Rhc2hkZWMuYworKysgYi9saWJhdmZvcm1hdC9kYXNo ZGVjLmMKQEAgLTE5NDksNyArMTk0OSwxMSBAQCBzdGF0aWMgaW50IG9wZW5fZGVtdXhfZm9yX2Nv bXBvbmVudChBVkZvcm1hdENvbnRleHQgKnMsIHN0cnVjdCByZXByZXNlbnRhdGlvbiAqcAogICAg ICAgICAgICAgcmV0dXJuIEFWRVJST1IoRU5PTUVNKTsKIAogICAgICAgICBzdC0+aWQgPSBpOwot ICAgICAgICBhdmNvZGVjX3BhcmFtZXRlcnNfY29weShzdC0+Y29kZWNwYXIsIGlzdC0+Y29kZWNw YXIpOworCisgICAgICAgIHJldCA9IGF2Y29kZWNfcGFyYW1ldGVyc19jb3B5KHN0LT5jb2RlY3Bh ciwgaXN0LT5jb2RlY3Bhcik7CisgICAgICAgIGlmIChyZXQgPCAwKQorICAgICAgICAgICAgcmV0 dXJuIHJldDsKKwogICAgICAgICBhdnByaXZfc2V0X3B0c19pbmZvKHN0LCBpc3QtPnB0c193cmFw X2JpdHMsIGlzdC0+dGltZV9iYXNlLm51bSwgaXN0LT50aW1lX2Jhc2UuZGVuKTsKIAogICAgICAg ICAvLyBjb3B5IGRpc3Bvc2l0aW9uCi0tIAoyLjQ5LjEKCgpGcm9tIGFlNzMzMjA2NWJiM2MxN2Zj ZWYwMjQ0MzQ2ZTVhN2Y0ZWRjOTRkOTcgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCkZyb206IE1h cnRoNjQgPG1hcnRoNjRAcHJveHlpZC5uZXQ+CkRhdGU6IEZyaSwgMTEgT2N0IDIwMjQgMDI6MDY6 MzcgLTA1MDAKU3ViamVjdDogW1BBVENIIDE2NS80MzRdIGF2Zm9ybWF0L2Rhc2hkZWM6IGZvcm1h dCBvcGVuX2RlbXV4X2Zvcl9jb21wb25lbnQoKQoKU2lnbmVkLW9mZi1ieTogTWFydGg2NCA8bWFy dGg2NEBwcm94eWlkLm5ldD4KUmV2aWV3ZWQtYnk6IFN0ZXZlbiBMaXUgPGxxQGNoaW5hZmZtcGVn Lm9yZz4KKGNoZXJyeSBwaWNrZWQgZnJvbSBjb21taXQgOTViYjQ3ZGU3ZGM1NjRhZDhhMzZkNmMw NzcwNDAwODE1YTliMzljMikKLS0tCiBsaWJhdmZvcm1hdC9kYXNoZGVjLmMgfCA1ICsrLS0tCiAx IGZpbGUgY2hhbmdlZCwgMiBpbnNlcnRpb25zKCspLCAzIGRlbGV0aW9ucygtKQoKZGlmZiAtLWdp dCBhL2xpYmF2Zm9ybWF0L2Rhc2hkZWMuYyBiL2xpYmF2Zm9ybWF0L2Rhc2hkZWMuYwppbmRleCBj ZDFiM2RhM2EyLi5hMWQyNzRmMmYwIDEwMDY0NAotLS0gYS9saWJhdmZvcm1hdC9kYXNoZGVjLmMK KysrIGIvbGliYXZmb3JtYXQvZGFzaGRlYy5jCkBAIC0xOTMyLDExICsxOTMyLDEwIEBAIHN0YXRp YyBpbnQgb3Blbl9kZW11eF9mb3JfY29tcG9uZW50KEFWRm9ybWF0Q29udGV4dCAqcywgc3RydWN0 IHJlcHJlc2VudGF0aW9uICpwCiAgICAgaW50IGk7CiAKICAgICBwbHMtPnBhcmVudCA9IHM7Ci0g ICAgcGxzLT5jdXJfc2VxX25vICA9IGNhbGNfY3VyX3NlZ19ubyhzLCBwbHMpOworICAgIHBscy0+ Y3VyX3NlcV9ubyA9IGNhbGNfY3VyX3NlZ19ubyhzLCBwbHMpOwogCi0gICAgaWYgKCFwbHMtPmxh c3Rfc2VxX25vKSB7CisgICAgaWYgKCFwbHMtPmxhc3Rfc2VxX25vKQogICAgICAgICBwbHMtPmxh c3Rfc2VxX25vID0gY2FsY19tYXhfc2VnX25vKHBscywgcy0+cHJpdl9kYXRhKTsKLSAgICB9CiAK ICAgICByZXQgPSByZW9wZW5fZGVtdXhfZm9yX2NvbXBvbmVudChzLCBwbHMpOwogICAgIGlmIChy ZXQgPCAwKQotLSAKMi40OS4xCgoKRnJvbSBkZDc4YjllZDdjNWVlOTdlOWViMmJkMDNmODM4N2My ZDYzNDhjZWNhIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBNYXJ0aDY0IDxtYXJ0aDY0 QHByb3h5aWQubmV0PgpEYXRlOiBTYXQsIDEyIE9jdCAyMDI0IDEyOjI1OjQwIC0wNTAwClN1Ympl Y3Q6IFtQQVRDSCAxNjYvNDM0XSBhdmZvcm1hdC9obHNlbmM6IGNoZWNrIHJldHVybiB2YWx1ZSBv ZgogYXZjb2RlY19wYXJhbWV0ZXJzX2NvcHkoKQoKV3JpdHRlbiBpbiB0aGUgZG9taW5hbnQgc3R5 bGUgb2YgdGhlIHN1cnJvdW5kaW5nIGNvZGUgYmxvY2suCgpTaWduZWQtb2ZmLWJ5OiBNYXJ0aDY0 IDxtYXJ0aDY0QHByb3h5aWQubmV0PgpSZXZpZXdlZC1ieTogU3RldmVuIExpdSA8bHFAY2hpbmFm Zm1wZWcub3JnPgooY2hlcnJ5IHBpY2tlZCBmcm9tIGNvbW1pdCBmNDY0MTVmMzczMzJjNDI5MTg4 MmFlMWI0MDNhYWY4MTc5ZTNlYTQ5KQotLS0KIGxpYmF2Zm9ybWF0L2hsc2VuYy5jIHwgNCArKyst CiAxIGZpbGUgY2hhbmdlZCwgMyBpbnNlcnRpb25zKCspLCAxIGRlbGV0aW9uKC0pCgpkaWZmIC0t Z2l0IGEvbGliYXZmb3JtYXQvaGxzZW5jLmMgYi9saWJhdmZvcm1hdC9obHNlbmMuYwppbmRleCAx ZTkzMmI3YjBlLi4wODFkOTFmN2Q5IDEwMDY0NAotLS0gYS9saWJhdmZvcm1hdC9obHNlbmMuYwor KysgYi9saWJhdmZvcm1hdC9obHNlbmMuYwpAQCAtODg3LDcgKzg4Nyw5IEBAIHN0YXRpYyBpbnQg aGxzX211eF9pbml0KEFWRm9ybWF0Q29udGV4dCAqcywgVmFyaWFudFN0cmVhbSAqdnMpCiAKICAg ICAgICAgaWYgKCEoc3QgPSBhdmZvcm1hdF9uZXdfc3RyZWFtKGxvYywgTlVMTCkpKQogICAgICAg ICAgICAgcmV0dXJuIEFWRVJST1IoRU5PTUVNKTsKLSAgICAgICAgYXZjb2RlY19wYXJhbWV0ZXJz X2NvcHkoc3QtPmNvZGVjcGFyLCB2cy0+c3RyZWFtc1tpXS0+Y29kZWNwYXIpOworICAgICAgICBy ZXQgPSBhdmNvZGVjX3BhcmFtZXRlcnNfY29weShzdC0+Y29kZWNwYXIsIHZzLT5zdHJlYW1zW2ld LT5jb2RlY3Bhcik7CisgICAgICAgIGlmIChyZXQgPCAwKQorICAgICAgICAgICAgcmV0dXJuIHJl dDsKICAgICAgICAgaWYgKCFvYy0+b2Zvcm1hdC0+Y29kZWNfdGFnIHx8CiAgICAgICAgICAgICBh dl9jb2RlY19nZXRfaWQgKG9jLT5vZm9ybWF0LT5jb2RlY190YWcsIHZzLT5zdHJlYW1zW2ldLT5j b2RlY3Bhci0+Y29kZWNfdGFnKSA9PSBzdC0+Y29kZWNwYXItPmNvZGVjX2lkIHx8CiAgICAgICAg ICAgICBhdl9jb2RlY19nZXRfdGFnKG9jLT5vZm9ybWF0LT5jb2RlY190YWcsIHZzLT5zdHJlYW1z W2ldLT5jb2RlY3Bhci0+Y29kZWNfaWQpIDw9IDApIHsKLS0gCjIuNDkuMQoKCkZyb20gNjA1NTE2 OTZjMDg2NzY1NGVlNzA1Y2NjZjg5MWMzYjMwZDUzYjBkZCBNb24gU2VwIDE3IDAwOjAwOjAwIDIw MDEKRnJvbTogTWFydGg2NCA8bWFydGg2NEBwcm94eWlkLm5ldD4KRGF0ZTogV2VkLCAyMCBOb3Yg MjAyNCAwMTozNToxOCAtMDYwMApTdWJqZWN0OiBbUEFUQ0ggMTY3LzQzNF0gYXZmb3JtYXQvbGli c3NoOiBmaXggY3JlZGVudGlhbCB2YXJpYWJsZXMgdHlwbwoKU2lnbmVkLW9mZi1ieTogTWFydGg2 NCA8bWFydGg2NEBwcm94eWlkLm5ldD4KKGNoZXJyeSBwaWNrZWQgZnJvbSBjb21taXQgMDg0ZDM1 MTVjYWJmMWY3MTQxZTg3ODlmMjFkYjUzNGIzMDRhNDdjYykKLS0tCiBsaWJhdmZvcm1hdC9saWJz c2guYyB8IDYgKysrLS0tCiAxIGZpbGUgY2hhbmdlZCwgMyBpbnNlcnRpb25zKCspLCAzIGRlbGV0 aW9ucygtKQoKZGlmZiAtLWdpdCBhL2xpYmF2Zm9ybWF0L2xpYnNzaC5jIGIvbGliYXZmb3JtYXQv bGlic3NoLmMKaW5kZXggNWMwNjJhNzI0NS4uNTIzYjc5YmVmZSAxMDA2NDQKLS0tIGEvbGliYXZm b3JtYXQvbGlic3NoLmMKKysrIGIvbGliYXZmb3JtYXQvbGlic3NoLmMKQEAgLTE5MCwxMyArMTkw LDEzIEBAIHN0YXRpYyBhdl9jb2xkIGludCBsaWJzc2hfY2xvc2UoVVJMQ29udGV4dCAqaCkKIHN0 YXRpYyBhdl9jb2xkIGludCBsaWJzc2hfY29ubmVjdChVUkxDb250ZXh0ICpoLCBjb25zdCBjaGFy ICp1cmwsIGNoYXIgKnBhdGgsIHNpemVfdCBwYXRoX3NpemUpCiB7CiAgICAgTElCU1NIQ29udGV4 dCAqbGlic3NoID0gaC0+cHJpdl9kYXRhOwotICAgIGNoYXIgcHJvdG9bMTBdLCBob3N0bmFtZVsx MDI0XSwgY3JlZGVuY2lhbHNbMTAyNF07CisgICAgY2hhciBwcm90b1sxMF0sIGhvc3RuYW1lWzEw MjRdLCBjcmVkZW50aWFsc1sxMDI0XTsKICAgICBpbnQgcG9ydCA9IDIyLCByZXQ7CiAgICAgY29u c3QgY2hhciAqdXNlciA9IE5VTEwsICpwYXNzID0gTlVMTDsKICAgICBjaGFyICplbmQgPSBOVUxM OwogCiAgICAgYXZfdXJsX3NwbGl0KHByb3RvLCBzaXplb2YocHJvdG8pLAotICAgICAgICAgICAg ICAgICBjcmVkZW5jaWFscywgc2l6ZW9mKGNyZWRlbmNpYWxzKSwKKyAgICAgICAgICAgICAgICAg Y3JlZGVudGlhbHMsIHNpemVvZihjcmVkZW50aWFscyksCiAgICAgICAgICAgICAgICAgIGhvc3Ru YW1lLCBzaXplb2YoaG9zdG5hbWUpLAogICAgICAgICAgICAgICAgICAmcG9ydCwKICAgICAgICAg ICAgICAgICAgcGF0aCwgcGF0aF9zaXplLApAQCAtMjEyLDcgKzIxMiw3IEBAIHN0YXRpYyBhdl9j b2xkIGludCBsaWJzc2hfY29ubmVjdChVUkxDb250ZXh0ICpoLCBjb25zdCBjaGFyICp1cmwsIGNo YXIgKnBhdGgsIHNpCiAgICAgaWYgKChyZXQgPSBsaWJzc2hfY3JlYXRlX3NzaF9zZXNzaW9uKGxp YnNzaCwgaG9zdG5hbWUsIHBvcnQpKSA8IDApCiAgICAgICAgIHJldHVybiByZXQ7CiAKLSAgICB1 c2VyID0gYXZfc3RydG9rKGNyZWRlbmNpYWxzLCAiOiIsICZlbmQpOworICAgIHVzZXIgPSBhdl9z dHJ0b2soY3JlZGVudGlhbHMsICI6IiwgJmVuZCk7CiAgICAgcGFzcyA9IGF2X3N0cnRvayhlbmQs ICI6IiwgJmVuZCk7CiAKICAgICBpZiAoKHJldCA9IGxpYnNzaF9hdXRoZW50aWNhdGlvbihsaWJz c2gsIHVzZXIsIHBhc3MpKSA8IDApCi0tIAoyLjQ5LjEKCgpGcm9tIDkzMjhlMDdhZDUxOTZlMjk5 MmMzNDhiNTE4ZTA0NmM1Mzk4MzBjYTUgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCkZyb206IEV1 Z2VuZSBaZW10c292IDxldWdlbmVAY2hyb21pdW0ub3JnPgpEYXRlOiBUaHUsIDI0IE9jdCAyMDI0 IDE4OjU0OjEwIC0wNzAwClN1YmplY3Q6IFtQQVRDSCAxNjgvNDM0XSBhdmZvcm1hdC9tb3Y6IGZp eCBjcmFzaCB3aGVuIHRyeWluZyB0byBnZXQgYSBmcmFnbWVudAogdGltZSBmb3IgYSBub24tZXhp c3RpbmcgZnJhZ21lbnQKClJldmlld2VkLWJ5OiBEYWxlIEN1cnRpcyA8ZGFsZWN1cnRpc0BjaHJv bWl1bS5vcmc+ClJldmlld2VkLWJ5OiBNYXJ0aDY0IDxtYXJ0aDY0QHByb3h5aWQubmV0PgpTaWdu ZWQtb2ZmLWJ5OiBNYXJ0aDY0IDxtYXJ0aDY0QHByb3h5aWQubmV0PgooY2hlcnJ5IHBpY2tlZCBm cm9tIGNvbW1pdCA3YzliZGUxZDBkMjZmZmE3NGI2NzkxNjY2YzNhMjdjNmQ1ZDUwMTlmKQotLS0K IGxpYmF2Zm9ybWF0L21vdi5jIHwgMiArKwogMSBmaWxlIGNoYW5nZWQsIDIgaW5zZXJ0aW9ucygr KQoKZGlmZiAtLWdpdCBhL2xpYmF2Zm9ybWF0L21vdi5jIGIvbGliYXZmb3JtYXQvbW92LmMKaW5k ZXggYTRjNWEyYTkzYy4uZmYzMmQ0MTYwZSAxMDA2NDQKLS0tIGEvbGliYXZmb3JtYXQvbW92LmMK KysrIGIvbGliYXZmb3JtYXQvbW92LmMKQEAgLTE2NDQsNiArMTY0NCw4IEBAIHN0YXRpYyBpbnQ2 NF90IGdldF9mcmFnX3RpbWUoQVZGb3JtYXRDb250ZXh0ICpzLCBBVlN0cmVhbSAqZHN0X3N0LAog ICAgIC8vIHRvIGZyYWdtZW50cyB0aGF0IHJlZmVyZW5jZWQgdGhpcyBzdHJlYW0gaW4gdGhlIHNp ZHgKICAgICBpZiAoc2MtPmhhc19zaWR4KSB7CiAgICAgICAgIGZyYWdfc3RyZWFtX2luZm8gPSBn ZXRfZnJhZ19zdHJlYW1faW5mbyhmcmFnX2luZGV4LCBpbmRleCwgc2MtPmlkKTsKKyAgICAgICAg aWYgKCFmcmFnX3N0cmVhbV9pbmZvKQorICAgICAgICAgICAgcmV0dXJuIEFWX05PUFRTX1ZBTFVF OwogICAgICAgICBpZiAoZnJhZ19zdHJlYW1faW5mby0+c2lkeF9wdHMgIT0gQVZfTk9QVFNfVkFM VUUpCiAgICAgICAgICAgICByZXR1cm4gZnJhZ19zdHJlYW1faW5mby0+c2lkeF9wdHM7CiAgICAg ICAgIGlmIChmcmFnX3N0cmVhbV9pbmZvLT5maXJzdF90ZnJhX3B0cyAhPSBBVl9OT1BUU19WQUxV RSkKLS0gCjIuNDkuMQoKCkZyb20gNWIyZWUxMWE2MDBhODQ3YjA4YWRiNWQ0YWFhNDI1OTUwYjgz YWZhMyBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKRnJvbTogRXVnZW5lIFplbXRzb3YgPGV1Z2Vu ZUBjaHJvbWl1bS5vcmc+CkRhdGU6IFRodSwgMjQgT2N0IDIwMjQgMTg6NTI6NDUgLTA3MDAKU3Vi amVjdDogW1BBVENIIDE2OS80MzRdIGF2Y29kZWMvZGVjb2RlOiBGaXggaW5jb3JyZWN0IGVudW0g dHlwZSB1c2VkIGluCiBzaWRlX2RhdGFfbWFwKCkKCkl0J3MgQVZQYWNrZXRTaWRlRGF0YVR5cGUs IG5vdCBBVkZyYW1lU2lkZURhdGFUeXBlLgoKUmV2aWV3ZWQtYnk6IFRlZCAoQ2hyb21pdW0pIE1l eWVyIDx0bWF0aG1leWVyQGNocm9taXVtLm9yZz4KUmV2aWV3ZWQtYnk6IE1hcnRoNjQgPG1hcnRo NjRAcHJveHlpZC5uZXQ+ClNpZ25lZC1vZmYtYnk6IE1hcnRoNjQgPG1hcnRoNjRAcHJveHlpZC5u ZXQ+CihjaGVycnkgcGlja2VkIGZyb20gY29tbWl0IGU5YzM2OThlZDIzYWIzZDhjZjFmZTFmYzc0 YjNiMmY4YmE0MmM4NjUpCi0tLQogbGliYXZjb2RlYy9kZWNvZGUuYyB8IDQgKystLQogMSBmaWxl IGNoYW5nZWQsIDIgaW5zZXJ0aW9ucygrKSwgMiBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9s aWJhdmNvZGVjL2RlY29kZS5jIGIvbGliYXZjb2RlYy9kZWNvZGUuYwppbmRleCBjMzMxYmI4NTk2 Li4xNDhhZjcxYWM0IDEwMDY0NAotLS0gYS9saWJhdmNvZGVjL2RlY29kZS5jCisrKyBiL2xpYmF2 Y29kZWMvZGVjb2RlLmMKQEAgLTE0NjYsOCArMTQ2Niw4IEBAIHN0YXRpYyBpbnQgc2lkZV9kYXRh X21hcChBVkZyYW1lICpkc3QsCiAKIHsKICAgICBmb3IgKGludCBpID0gMDsgbWFwW2ldLnBhY2tl dCA8IEFWX1BLVF9EQVRBX05COyBpKyspIHsKLSAgICAgICAgY29uc3QgZW51bSBBVkZyYW1lU2lk ZURhdGFUeXBlIHR5cGVfcGt0ICAgPSBtYXBbaV0ucGFja2V0OwotICAgICAgICBjb25zdCBlbnVt IEFWRnJhbWVTaWRlRGF0YVR5cGUgdHlwZV9mcmFtZSA9IG1hcFtpXS5mcmFtZTsKKyAgICAgICAg Y29uc3QgZW51bSBBVlBhY2tldFNpZGVEYXRhVHlwZSB0eXBlX3BrdCAgID0gbWFwW2ldLnBhY2tl dDsKKyAgICAgICAgY29uc3QgZW51bSBBVkZyYW1lU2lkZURhdGFUeXBlICB0eXBlX2ZyYW1lID0g bWFwW2ldLmZyYW1lOwogICAgICAgICBjb25zdCBBVlBhY2tldFNpZGVEYXRhICpzZF9wa3Q7CiAg ICAgICAgIEFWRnJhbWVTaWRlRGF0YSAqc2RfZnJhbWU7CiAKLS0gCjIuNDkuMQoKCkZyb20gZDcy NTM2MDA4YWMzNzcxNjRiMDBkMjE0YTI1MjFlNWNlNjA0MjYwYiBNb24gU2VwIDE3IDAwOjAwOjAw IDIwMDEKRnJvbTogSm9uYXRoYW4gQmF1ZGFuemEgPGpvbkBqb25iLm9yZz4KRGF0ZTogV2VkLCA4 IEphbiAyMDI1IDA5OjIyOjEzICswOTAwClN1YmplY3Q6IFtQQVRDSCAxNzAvNDM0XSBhdmZvcm1h dC9ydHBkZWM6IGludCBvdmVyZmxvdyBpbiBzdGFydF90aW1lX3JlYWx0aW1lCk1JTUUtVmVyc2lv bjogMS4wCkNvbnRlbnQtVHlwZTogdGV4dC9wbGFpbjsgY2hhcnNldD1VVEYtOApDb250ZW50LVRy YW5zZmVyLUVuY29kaW5nOiA4Yml0CgpUaGlzIHdhcyBwcmV2aW91c2x5IGFkanVzdGVkIGJ5IG1l IGluIDZiM2Y5YzJlOTJiLgpVbmZvcnR1bmF0ZWx5LCBJIHRyYWRlZCBvbmUgaW50ZWdlciBvdmVy ZmxvdyBidWcgZm9yCmFub3RoZXIuCgpDdXJyZW50bHksIE5UUCB0aW1lc3RhbXBzIHRoYXQgZXhj ZWVkIElOVDY0X01BWAoofkphbiAyMCwgMTk2OCkgd2lsbCBjYXVzZSBhbiBvdmVyZmxvdyB3aGVu IHBhc3NlZAp0byBhdl9yZXNjYWxlLgoKVGhpcyBwYXRjaCByZXBsYWNlcyBhdl9yZXNjYWxlLCB3 aGljaCBvcGVyYXRlcyBvbgppbnQ2NF90LCB3aXRoIGZmX3BhcnNlX250cF90aW1lLCB3aGljaCBv cGVyYXRlcyBvbgp1aW50NjRfdC4gVGhpcyB3aWxsIGdpdmUgdGhlIGNvcnJlY3QgdmFsdWVzIGZv cgp0aW1lc3RhbXBzIGJhY2sgYXJvdW5kIHRoZSBOVFAgZXBvY2ggYW5kIHByZXNlbnQgZGF5CnRp bWVzdGFtcHMuCgpGaXhlcyB0aWNrZXQgIzExMzg4LgoKU2lnbmVkLW9mZi1ieTogTWFydGluIFN0 b3JzasO2IDxtYXJ0aW5AbWFydGluLnN0PgooY2hlcnJ5IHBpY2tlZCBmcm9tIGNvbW1pdCBjMGZi YjZkNWI3YWFiMmUwMTEyNWUzMGM2OWMwYWY0YzA3ODU1ZTZmKQotLS0KIGxpYmF2Zm9ybWF0L3J0 c3AuYyB8IDIgKy0KIDEgZmlsZSBjaGFuZ2VkLCAxIGluc2VydGlvbigrKSwgMSBkZWxldGlvbigt KQoKZGlmZiAtLWdpdCBhL2xpYmF2Zm9ybWF0L3J0c3AuYyBiL2xpYmF2Zm9ybWF0L3J0c3AuYwpp bmRleCBjNDhmYTI2ZDkwLi41ZWE0NzFiNDBjIDEwMDY0NAotLS0gYS9saWJhdmZvcm1hdC9ydHNw LmMKKysrIGIvbGliYXZmb3JtYXQvcnRzcC5jCkBAIC0yMzIwLDcgKzIzMjAsNyBAQCByZWRvOgog ICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAvLyBNYWtlIHJlYWwgTlRQIHN0YXJ0 IHRpbWUgYXZhaWxhYmxlIGluIEFWRm9ybWF0Q29udGV4dAogICAgICAgICAgICAgICAgIGlmIChz LT5zdGFydF90aW1lX3JlYWx0aW1lID09IEFWX05PUFRTX1ZBTFVFKSB7Ci0gICAgICAgICAgICAg ICAgICAgIHMtPnN0YXJ0X3RpbWVfcmVhbHRpbWUgPSBhdl9yZXNjYWxlIChydHBjdHgtPmZpcnN0 X3J0Y3BfbnRwX3RpbWUsIDEwMDAwMDAsIDFMTCA8PCAzMikgLSBOVFBfT0ZGU0VUX1VTOworICAg ICAgICAgICAgICAgICAgICBzLT5zdGFydF90aW1lX3JlYWx0aW1lID0gZmZfcGFyc2VfbnRwX3Rp bWUocnRwY3R4LT5maXJzdF9ydGNwX250cF90aW1lKSAtIE5UUF9PRkZTRVRfVVM7CiAgICAgICAg ICAgICAgICAgICAgIGlmIChydHBjdHgtPnN0KSB7CiAgICAgICAgICAgICAgICAgICAgICAgICBz LT5zdGFydF90aW1lX3JlYWx0aW1lIC09CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYXZf cmVzY2FsZV9xIChydHBjdHgtPnJ0Y3BfdHNfb2Zmc2V0LCBydHBjdHgtPnN0LT50aW1lX2Jhc2Us IEFWX1RJTUVfQkFTRV9RKTsKLS0gCjIuNDkuMQoKCkZyb20gYWViODYzMTA0ODAzODIxMzhhOTA0 NmQ1YTQyN2Y0YThjMWI4NjZlYSBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKRnJvbTogSmFtZXMg QWxtZXIgPGphbXJpYWxAZ21haWwuY29tPgpEYXRlOiBUdWUsIDE5IE5vdiAyMDI0IDEzOjI0OjQ5 IC0wMzAwClN1YmplY3Q6IFtQQVRDSCAxNzEvNDM0XSBhdmZvcm1hdC9oZXZjOiBmaXggd3JpdGlu ZyBodmNDIHdoZW4gbm8gYXJyYXlzIGFyZQogcHJvdmlkZWQgaW4gaHZjQy1mb3JtYXR0ZWQgaW5w dXQKCkRvbid0IHJlamVjdCBleHRyYWRhdGEgd2l0aCBtaXNzaW5nIFBTIE5BTFVzIGlmIGFycmF5 X2NvbXBsZXRlbmVzcyBpcyBub3QKcmVxdWVzdGVkLgoKRml4ZXMgYSByZWdyZXNzaW9uIHNpbmNl IGE2OTZiMjg4ODYuCgpTaWduZWQtb2ZmLWJ5OiBKYW1lcyBBbG1lciA8amFtcmlhbEBnbWFpbC5j b20+CihjaGVycnkgcGlja2VkIGZyb20gY29tbWl0IDU4MTNlNWFhMzQ0YjhjMDNjODNiZjYyZTcy OWJlMGY0NDc5NDRlZDEpCi0tLQogbGliYXZmb3JtYXQvaGV2Yy5jIHwgOCArKysrKy0tLQogMSBm aWxlIGNoYW5nZWQsIDUgaW5zZXJ0aW9ucygrKSwgMyBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQg YS9saWJhdmZvcm1hdC9oZXZjLmMgYi9saWJhdmZvcm1hdC9oZXZjLmMKaW5kZXggZTFmMzFlZTFi Yi4uN2NmMGIwZmZiMiAxMDA2NDQKLS0tIGEvbGliYXZmb3JtYXQvaGV2Yy5jCisrKyBiL2xpYmF2 Zm9ybWF0L2hldmMuYwpAQCAtOTU4LDEwICs5NTgsMTIgQEAgc3RhdGljIGludCBodmNjX3dyaXRl KEFWSU9Db250ZXh0ICpwYiwgSEVWQ0RlY29kZXJDb25maWd1cmF0aW9uUmVjb3JkICpodmNjLAog ICAgIC8qCiAgICAgICogV2UgbmVlZCBhdCBsZWFzdCBvbmUgb2YgZWFjaDogVlBTLCBTUFMgYW5k IFBQUy4KICAgICAgKi8KLSAgICBpZiAoKCFudW1OYWx1c1tWUFNfSU5ERVhdIHx8IG51bU5hbHVz W1ZQU19JTkRFWF0gPiBIRVZDX01BWF9WUFNfQ09VTlQpICYmICFpc19saHZjKQorICAgIGlmICgo ZmxhZ3MgJiBGTEFHX0FSUkFZX0NPTVBMRVRFTkVTUykgJiYKKyAgICAgICAgKCFudW1OYWx1c1tW UFNfSU5ERVhdIHx8IG51bU5hbHVzW1ZQU19JTkRFWF0gPiBIRVZDX01BWF9WUFNfQ09VTlQpICYm ICFpc19saHZjKQogICAgICAgICByZXR1cm4gQVZFUlJPUl9JTlZBTElEREFUQTsKLSAgICBpZiAo IW51bU5hbHVzW1NQU19JTkRFWF0gfHwgbnVtTmFsdXNbU1BTX0lOREVYXSA+IEhFVkNfTUFYX1NQ U19DT1VOVCB8fAotICAgICAgICAhbnVtTmFsdXNbUFBTX0lOREVYXSB8fCBudW1OYWx1c1tQUFNf SU5ERVhdID4gSEVWQ19NQVhfUFBTX0NPVU5UKQorICAgIGlmICgoZmxhZ3MgJiBGTEFHX0FSUkFZ X0NPTVBMRVRFTkVTUykgJiYKKyAgICAgICAgKCFudW1OYWx1c1tTUFNfSU5ERVhdIHx8IG51bU5h bHVzW1NQU19JTkRFWF0gPiBIRVZDX01BWF9TUFNfQ09VTlQgfHwKKyAgICAgICAgICFudW1OYWx1 c1tQUFNfSU5ERVhdIHx8IG51bU5hbHVzW1BQU19JTkRFWF0gPiBIRVZDX01BWF9QUFNfQ09VTlQp KQogICAgICAgICByZXR1cm4gQVZFUlJPUl9JTlZBTElEREFUQTsKIAogICAgIC8qIHVuc2lnbmVk IGludCg4KSBjb25maWd1cmF0aW9uVmVyc2lvbiA9IDE7ICovCi0tIAoyLjQ5LjEKCgpGcm9tIDE0 YWYyOGMyZjVmYWNkMDc5NTFhYTA0OGU1M2JkNTYyZDgwODI2YWEgTW9uIFNlcCAxNyAwMDowMDow MCAyMDAxCkZyb206IE1pY2hhZWwgTmllZGVybWF5ZXIgPG1pY2hhZWxAbmllZGVybWF5ZXIuY2M+ CkRhdGU6IFN1biwgMTEgQXVnIDIwMjQgMjI6NTM6NDcgKzAyMDAKU3ViamVjdDogW1BBVENIIDE3 Mi80MzRdIGF2Zm9ybWF0L214ZmRlYzogQ2hlY2sgdGhhdCBrZXkgd2FzIHJlYWQgc3VjZXNzZnVs bAoKRml4ZXM6IHVzZSBvZiB1bmluaXRpYWxpemVkIHZhbHVlCkZpeGVzOiA3MDkzMi9jbHVzdGVy ZnV6ei10ZXN0Y2FzZS1taW5pbWl6ZWQtZmZtcGVnX2RlbV9NWEZfZnV6emVyLTQ4NzAyMDIxMzM2 NDMyNjQKCkZvdW5kLWJ5OiBjb250aW51b3VzIGZ1enppbmcgcHJvY2VzcyBodHRwczovL2dpdGh1 Yi5jb20vZ29vZ2xlL29zcy1mdXp6L3RyZWUvbWFzdGVyL3Byb2plY3RzL2ZmbXBlZwpTaWduZWQt b2ZmLWJ5OiBNaWNoYWVsIE5pZWRlcm1heWVyIDxtaWNoYWVsQG5pZWRlcm1heWVyLmNjPgooY2hl cnJ5IHBpY2tlZCBmcm9tIGNvbW1pdCA0YzYyY2JjYWUyNjEyYWNiYzdhYjVlOGE3ZTc4MTU2NzRh NmU4ZGY0KQpTaWduZWQtb2ZmLWJ5OiBNaWNoYWVsIE5pZWRlcm1heWVyIDxtaWNoYWVsQG5pZWRl cm1heWVyLmNjPgotLS0KIGxpYmF2Zm9ybWF0L214ZmRlYy5jIHwgMyArKy0KIDEgZmlsZSBjaGFu Z2VkLCAyIGluc2VydGlvbnMoKyksIDEgZGVsZXRpb24oLSkKCmRpZmYgLS1naXQgYS9saWJhdmZv cm1hdC9teGZkZWMuYyBiL2xpYmF2Zm9ybWF0L214ZmRlYy5jCmluZGV4IDJmOGFiMzg5MGQuLmEy NjMyMzkyODggMTAwNjQ0Ci0tLSBhL2xpYmF2Zm9ybWF0L214ZmRlYy5jCisrKyBiL2xpYmF2Zm9y bWF0L214ZmRlYy5jCkBAIC0xNTMwLDcgKzE1MzAsOCBAQCBzdGF0aWMgaW50IG14Zl9yZWFkX2lu ZGlyZWN0X3ZhbHVlKHZvaWQgKmFyZywgQVZJT0NvbnRleHQgKnBiLCBpbnQgc2l6ZSkKICAgICBp ZiAoc2l6ZSA8PSAxNykKICAgICAgICAgcmV0dXJuIDA7CiAKLSAgICBhdmlvX3JlYWQocGIsIGtl eSwgMTcpOworICAgIGlmIChhdmlvX3JlYWQocGIsIGtleSwgMTcpICE9IDE3KQorICAgICAgICBy ZXR1cm4gQVZFUlJPUl9JTlZBTElEREFUQTsKICAgICAvKiBUT0RPOiBoYW5kbGUgb3RoZXIgdHlw ZXMgb2Ygb2YgaW5kaXJlY3QgdmFsdWVzICovCiAgICAgaWYgKG1lbWNtcChrZXksIG14Zl9pbmRp cmVjdF92YWx1ZV91dGYxNmxlLCAxNykgPT0gMCkgewogICAgICAgICByZXR1cm4gbXhmX3JlYWRf dXRmMTZsZV9zdHJpbmcocGIsIHNpemUgLSAxNywgJnRhZ2dlZF92YWx1ZS0+dmFsdWUpOwotLSAK Mi40OS4xCgoKRnJvbSAwZGEzZGViMDc5YTYxNGI2ODQ2OGZiMjA1Nzc5NmZhOTQ2NjNmY2RmIE1v biBTZXAgMTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBNaWNoYWVsIE5pZWRlcm1heWVyIDxtaWNoYWVs QG5pZWRlcm1heWVyLmNjPgpEYXRlOiBTdW4sIDExIEF1ZyAyMDI0IDIzOjE1OjMyICswMjAwClN1 YmplY3Q6IFtQQVRDSCAxNzMvNDM0XSBhdmNvZGVjL2hhcGRlYzogQ2xlYXIgdGV4IGJ1ZmZlcgoK VGhlIGNvZGUgZm9sbG93aW5nIG1ha2VzIG5vIGF0dGVtcHQgdG8gaW5pdGlhbGl6ZSBhbGwgb2Yg dGhlIGJ1ZmZlcgoKRml4ZXM6IHVzZSBvZiB1bmluaXRpYWxpemVkIHZhbHVlCkZpeGVzOiA3MDk4 MC9jbHVzdGVyZnV6ei10ZXN0Y2FzZS1taW5pbWl6ZWQtZmZtcGVnX0FWX0NPREVDX0lEX0hBUF9m dXp6ZXItNTMyOTkwOTA1OTIyMzU1MgoKRm91bmQtYnk6IGNvbnRpbnVvdXMgZnV6emluZyBwcm9j ZXNzIGh0dHBzOi8vZ2l0aHViLmNvbS9nb29nbGUvb3NzLWZ1enovdHJlZS9tYXN0ZXIvcHJvamVj dHMvZmZtcGVnClNpZ25lZC1vZmYtYnk6IE1pY2hhZWwgTmllZGVybWF5ZXIgPG1pY2hhZWxAbmll ZGVybWF5ZXIuY2M+CihjaGVycnkgcGlja2VkIGZyb20gY29tbWl0IDdlZWVkYTcwM2I1OTk4NDdh YTg5YzdjMDhiYjQzM2QwYjNkYTk1OTApClNpZ25lZC1vZmYtYnk6IE1pY2hhZWwgTmllZGVybWF5 ZXIgPG1pY2hhZWxAbmllZGVybWF5ZXIuY2M+Ci0tLQogbGliYXZjb2RlYy9oYXBkZWMuYyB8IDEg KwogMSBmaWxlIGNoYW5nZWQsIDEgaW5zZXJ0aW9uKCspCgpkaWZmIC0tZ2l0IGEvbGliYXZjb2Rl Yy9oYXBkZWMuYyBiL2xpYmF2Y29kZWMvaGFwZGVjLmMKaW5kZXggOTE4ZWZmNzg3Ni4uNzBiZjU5 MmYyYSAxMDA2NDQKLS0tIGEvbGliYXZjb2RlYy9oYXBkZWMuYworKysgYi9saWJhdmNvZGVjL2hh cGRlYy5jCkBAIC0zMTAsNiArMzEwLDcgQEAgc3RhdGljIGludCBoYXBfZGVjb2RlKEFWQ29kZWND b250ZXh0ICphdmN0eCwgQVZGcmFtZSAqZnJhbWUsCiAgICAgICAgICAgICByZXQgPSBhdl9yZWFs bG9jcCgmY3R4LT50ZXhfYnVmLCBjdHgtPnRleF9zaXplKTsKICAgICAgICAgICAgIGlmIChyZXQg PCAwKQogICAgICAgICAgICAgICAgIHJldHVybiByZXQ7CisgICAgICAgICAgICBtZW1zZXQoY3R4 LT50ZXhfYnVmLCAwLCBjdHgtPnRleF9zaXplKTsKIAogICAgICAgICAgICAgYXZjdHgtPmV4ZWN1 dGUyKGF2Y3R4LCBkZWNvbXByZXNzX2NodW5rc190aHJlYWQsIE5VTEwsCiAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgY3R4LT5jaHVua19yZXN1bHRzLCBjdHgtPmNodW5rX2NvdW50KTsKLS0g CjIuNDkuMQoKCkZyb20gZjQ0YTcyMDdmMDE4OTA2Y2VmMzFiZTg2ZWM3ZDZlZTI3NmZiYjU0ZCBN b24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKRnJvbTogTWljaGFlbCBOaWVkZXJtYXllciA8bWljaGFl bEBuaWVkZXJtYXllci5jYz4KRGF0ZTogV2VkLCA3IEF1ZyAyMDI0IDIyOjU1OjAzICswMjAwClN1 YmplY3Q6IFtQQVRDSCAxNzQvNDM0XSBhdmNvZGVjL2NmaGRlbmM6IENsZWFyIGR3dF90bXAKClRo aXMgb2NjdXJzIG9uIGEgMzJ4MzIgaW5wdXQKCkZpeGVzOiB1c2Ugb2YgdW5pbml0aWFsaXplZCB2 YWx1ZQpGaXhlczogNzA4OTcvY2x1c3RlcmZ1enotdGVzdGNhc2UtbWluaW1pemVkLWZmbXBlZ19B Vl9DT0RFQ19JRF9DRkhEX2Z1enplci01OTYwODYwOTYxNDA2OTc2CgpGb3VuZC1ieTogY29udGlu dW91cyBmdXp6aW5nIHByb2Nlc3MgaHR0cHM6Ly9naXRodWIuY29tL2dvb2dsZS9vc3MtZnV6ei90 cmVlL21hc3Rlci9wcm9qZWN0cy9mZm1wZWcKU2lnbmVkLW9mZi1ieTogTWljaGFlbCBOaWVkZXJt YXllciA8bWljaGFlbEBuaWVkZXJtYXllci5jYz4KKGNoZXJyeSBwaWNrZWQgZnJvbSBjb21taXQg OWRlNzIxZGU3MDlmYTljYzA2YTNjZTNmNTQyYTFlN2Q0NWIyYjBiZikKU2lnbmVkLW9mZi1ieTog TWljaGFlbCBOaWVkZXJtYXllciA8bWljaGFlbEBuaWVkZXJtYXllci5jYz4KLS0tCiBsaWJhdmNv ZGVjL2NmaGRlbmMuYyB8IDIgKy0KIDEgZmlsZSBjaGFuZ2VkLCAxIGluc2VydGlvbigrKSwgMSBk ZWxldGlvbigtKQoKZGlmZiAtLWdpdCBhL2xpYmF2Y29kZWMvY2ZoZGVuYy5jIGIvbGliYXZjb2Rl Yy9jZmhkZW5jLmMKaW5kZXggM2JlNjc5OGQ4ZC4uY2VlYTE1ZWZjNCAxMDA2NDQKLS0tIGEvbGli YXZjb2RlYy9jZmhkZW5jLmMKKysrIGIvbGliYXZjb2RlYy9jZmhkZW5jLmMKQEAgLTI4NSw3ICsy ODUsNyBAQCBzdGF0aWMgYXZfY29sZCBpbnQgY2ZoZF9lbmNvZGVfaW5pdChBVkNvZGVjQ29udGV4 dCAqYXZjdHgpCiAgICAgICAgIHMtPnBsYW5lW2ldLmR3dF9idWYgPQogICAgICAgICAgICAgYXZf Y2FsbG9jKGg4ICogOCAqIHc4ICogOCwgc2l6ZW9mKCpzLT5wbGFuZVtpXS5kd3RfYnVmKSk7CiAg ICAgICAgIHMtPnBsYW5lW2ldLmR3dF90bXAgPQotICAgICAgICAgICAgYXZfbWFsbG9jX2FycmF5 KGg4ICogOCAqIHc4ICogOCwgc2l6ZW9mKCpzLT5wbGFuZVtpXS5kd3RfdG1wKSk7CisgICAgICAg ICAgICBhdl9jYWxsb2MoaDggKiA4ICogdzggKiA4LCBzaXplb2YoKnMtPnBsYW5lW2ldLmR3dF90 bXApKTsKICAgICAgICAgaWYgKCFzLT5wbGFuZVtpXS5kd3RfYnVmIHx8ICFzLT5wbGFuZVtpXS5k d3RfdG1wKQogICAgICAgICAgICAgcmV0dXJuIEFWRVJST1IoRU5PTUVNKTsKIAotLSAKMi40OS4x CgoKRnJvbSBkMzI1NDNmNTIwNTc2ZDMzNjA2M2IzMzcxZDE2OTJlMTg1NDFhOWVhIE1vbiBTZXAg MTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBNaWNoYWVsIE5pZWRlcm1heWVyIDxtaWNoYWVsQG5pZWRl cm1heWVyLmNjPgpEYXRlOiBGcmksIDE2IEF1ZyAyMDI0IDE0OjQ3OjQyICswMjAwClN1YmplY3Q6 IFtQQVRDSCAxNzUvNDM0XSBhdmZvcm1hdC9ybWRlYzogY2hlY2sgdGhhdCBidWYgaWYgY29tcGxl dGVseSBmaWxsZWQKCkZpeGVzOiB1c2Ugb2YgdW5pbml0aWFsaXplZCB2YWx1ZQpGaXhlczogNzA5 ODgvY2x1c3RlcmZ1enotdGVzdGNhc2UtbWluaW1pemVkLWZmbXBlZ19kZW1fSVZSX2Z1enplci01 Mjk4MjQ1MDc3NjMwOTc2CgpTaWduZWQtb2ZmLWJ5OiBNaWNoYWVsIE5pZWRlcm1heWVyIDxtaWNo YWVsQG5pZWRlcm1heWVyLmNjPgooY2hlcnJ5IHBpY2tlZCBmcm9tIGNvbW1pdCA5NTc4YzEzNWQw MGRkOWNjMDE0OTFiODU1OWQ3ZmFkNWEzODdlOTBkKQpTaWduZWQtb2ZmLWJ5OiBNaWNoYWVsIE5p ZWRlcm1heWVyIDxtaWNoYWVsQG5pZWRlcm1heWVyLmNjPgotLS0KIGxpYmF2Zm9ybWF0L3JtZGVj LmMgfCAzICsrLQogMSBmaWxlIGNoYW5nZWQsIDIgaW5zZXJ0aW9ucygrKSwgMSBkZWxldGlvbigt KQoKZGlmZiAtLWdpdCBhL2xpYmF2Zm9ybWF0L3JtZGVjLmMgYi9saWJhdmZvcm1hdC9ybWRlYy5j CmluZGV4IDI1YTg2ODFjZmQuLjRiMjExMDVkM2QgMTAwNjQ0Ci0tLSBhL2xpYmF2Zm9ybWF0L3Jt ZGVjLmMKKysrIGIvbGliYXZmb3JtYXQvcm1kZWMuYwpAQCAtMTg4LDcgKzE4OCw4IEBAIHN0YXRp YyBpbnQgcm1fcmVhZF9hdWRpb19zdHJlYW1faW5mbyhBVkZvcm1hdENvbnRleHQgKnMsIEFWSU9D b250ZXh0ICpwYiwKICAgICAgICAgc3QtPmNvZGVjcGFyLT5jaF9sYXlvdXQubmJfY2hhbm5lbHMg PSBhdmlvX3JiMTYocGIpOwogICAgICAgICBpZiAodmVyc2lvbiA9PSA1KSB7CiAgICAgICAgICAg ICBhc3QtPmRlaW50X2lkID0gYXZpb19ybDMyKHBiKTsKLSAgICAgICAgICAgIGF2aW9fcmVhZChw YiwgYnVmLCA0KTsKKyAgICAgICAgICAgIGlmIChhdmlvX3JlYWQocGIsIGJ1ZiwgNCkgIT0gNCkK KyAgICAgICAgICAgICAgICByZXR1cm4gQVZFUlJPUl9JTlZBTElEREFUQTsKICAgICAgICAgICAg IGJ1Zls0XSA9IDA7CiAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICBBVl9XTDMyKGJ1Ziwg MCk7Ci0tIAoyLjQ5LjEKCgpGcm9tIGQzMjJmZmRlZjUyNmEyOTEzNDIzYTBiYTY5ZmI3MjljN2Y1 NDgzN2YgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCkZyb206IE1pY2hhZWwgTmllZGVybWF5ZXIg PG1pY2hhZWxAbmllZGVybWF5ZXIuY2M+CkRhdGU6IEZyaSwgMTYgQXVnIDIwMjQgMTY6MzM6NDMg KzAyMDAKU3ViamVjdDogW1BBVENIIDE3Ni80MzRdIGF2Zm9ybWF0L2pwZWd4bF9hbmltX2RlYzog Y2xlYXIgYnVmZmVyIHBhZGRpbmcKCkZpeGVzOiB1c2Ugb2YgdW5pbml0aWFsaXplZCB2YWx1ZQpG aXhlczogNzA5OTIvY2x1c3RlcmZ1enotdGVzdGNhc2UtbWluaW1pemVkLWZmbXBlZ19kZW1fSU1B R0UyX2Z1enplci01NzM1ODE5MTcwNjExMjAwCgpGb3VuZC1ieTogY29udGludW91cyBmdXp6aW5n IHByb2Nlc3MgaHR0cHM6Ly9naXRodWIuY29tL2dvb2dsZS9vc3MtZnV6ei90cmVlL21hc3Rlci9w cm9qZWN0cy9mZm1wZWcKU2lnbmVkLW9mZi1ieTogTWljaGFlbCBOaWVkZXJtYXllciA8bWljaGFl bEBuaWVkZXJtYXllci5jYz4KKGNoZXJyeSBwaWNrZWQgZnJvbSBjb21taXQgM2YwYjk1YmIxNzY0 NDVhNTA5ZDk5ZTc0OTdlOTBmMjAzNTViODQxMSkKU2lnbmVkLW9mZi1ieTogTWljaGFlbCBOaWVk ZXJtYXllciA8bWljaGFlbEBuaWVkZXJtYXllci5jYz4KLS0tCiBsaWJhdmZvcm1hdC9qcGVneGxf YW5pbV9kZWMuYyB8IDIgKy0KIDEgZmlsZSBjaGFuZ2VkLCAxIGluc2VydGlvbigrKSwgMSBkZWxl dGlvbigtKQoKZGlmZiAtLWdpdCBhL2xpYmF2Zm9ybWF0L2pwZWd4bF9hbmltX2RlYy5jIGIvbGli YXZmb3JtYXQvanBlZ3hsX2FuaW1fZGVjLmMKaW5kZXggMjMzOGEyZThjMC4uNzc5OGYzZGFiYyAx MDA2NDQKLS0tIGEvbGliYXZmb3JtYXQvanBlZ3hsX2FuaW1fZGVjLmMKKysrIGIvbGliYXZmb3Jt YXQvanBlZ3hsX2FuaW1fZGVjLmMKQEAgLTQzLDcgKzQzLDcgQEAgdHlwZWRlZiBzdHJ1Y3QgSlhM QW5pbURlbXV4Q29udGV4dCB7CiAKIHN0YXRpYyBpbnQganBlZ3hsX2FuaW1fcHJvYmUoY29uc3Qg QVZQcm9iZURhdGEgKnApCiB7Ci0gICAgdWludDhfdCBidWZmZXJbNDA5NiArIEFWX0lOUFVUX0JV RkZFUl9QQURESU5HX1NJWkVdOworICAgIHVpbnQ4X3QgYnVmZmVyWzQwOTYgKyBBVl9JTlBVVF9C VUZGRVJfUEFERElOR19TSVpFXSA9IHswfTsKICAgICBpbnQgY29waWVkID0gMCwgcmV0OwogICAg IEZGSlhMTWV0YWRhdGEgbWV0YSA9IHsgMCB9OwogCi0tIAoyLjQ5LjEKCgpGcm9tIDUxMjlhZTQ1 YmYxYzRiNTAwNzQzMDkxNzUzMjhlYTkyMmQ3YmY5OGQgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAx CkZyb206IE1pY2hhZWwgTmllZGVybWF5ZXIgPG1pY2hhZWxAbmllZGVybWF5ZXIuY2M+CkRhdGU6 IEZyaSwgMTYgQXVnIDIwMjQgMTc6MzA6NDUgKzAyMDAKU3ViamVjdDogW1BBVENIIDE3Ny80MzRd IGF2Y29kZWMvZ2V0X2J1ZmZlcjogVXNlIGF2X2J1ZmZlcl9tYWxsb2N6KCkgZm9yIGF1ZGlvCiBz YW1lIGFzIGl0cyBkb25lIGZvciB2aWRlbwoKRml4ZXM6IFVzZSBvZiB1bmluaW50aWFsaXplZCB2 YWx1ZQpGaXhlczogNzA5OTMvY2x1c3RlcmZ1enotdGVzdGNhc2UtbWluaW1pemVkLWZmbXBlZ19B Vl9DT0RFQ19JRF9BQUNfTEFUTV9mdXp6ZXItNjM3ODk0OTc1NDU1MjMyMApGaXhlczogNzExMDQv Y2x1c3RlcmZ1enotdGVzdGNhc2UtbWluaW1pemVkLWZmbXBlZ19BVl9DT0RFQ19JRF9BQUNfRklY RURfZnV6emVyLTUwMDE1Mzg3MjcxMTY4MDAKCkZvciB0aGUgQUFDL1VTQUMvU0JSIGNvZGUgd2hp Y2ggcmVhZHMgdW5pbml0aWFsaXplZCBtZW1vcnksIGl0IHdvdWxkIGJlIGdvb2QsIGlmIGl0IGRp ZCBub3QKYSBmaXggZm9yIHRoYXQgaXMgd2VsY29tZSEKCkZvdW5kLWJ5OiBjb250aW51b3VzIGZ1 enppbmcgcHJvY2VzcyBodHRwczovL2dpdGh1Yi5jb20vZ29vZ2xlL29zcy1mdXp6L3RyZWUvbWFz dGVyL3Byb2plY3RzL2ZmbXBlZwpTaWduZWQtb2ZmLWJ5OiBNaWNoYWVsIE5pZWRlcm1heWVyIDxt aWNoYWVsQG5pZWRlcm1heWVyLmNjPgooY2hlcnJ5IHBpY2tlZCBmcm9tIGNvbW1pdCBiOWI0Yzll YmYwNzc0ODk5M2FkOTFiYTliOWI5ZjA2OTE0ZDY3ODY1KQpTaWduZWQtb2ZmLWJ5OiBNaWNoYWVs IE5pZWRlcm1heWVyIDxtaWNoYWVsQG5pZWRlcm1heWVyLmNjPgotLS0KIGxpYmF2Y29kZWMvZ2V0 X2J1ZmZlci5jIHwgNSArKysrLQogMSBmaWxlIGNoYW5nZWQsIDQgaW5zZXJ0aW9ucygrKSwgMSBk ZWxldGlvbigtKQoKZGlmZiAtLWdpdCBhL2xpYmF2Y29kZWMvZ2V0X2J1ZmZlci5jIGIvbGliYXZj b2RlYy9nZXRfYnVmZmVyLmMKaW5kZXggZmYxOWY2MWU4Ni4uN2U3MDUzODBmYyAxMDA2NDQKLS0t IGEvbGliYXZjb2RlYy9nZXRfYnVmZmVyLmMKKysrIGIvbGliYXZjb2RlYy9nZXRfYnVmZmVyLmMK QEAgLTE0Miw3ICsxNDIsMTAgQEAgc3RhdGljIGludCB1cGRhdGVfZnJhbWVfcG9vbChBVkNvZGVj Q29udGV4dCAqYXZjdHgsIEFWRnJhbWUgKmZyYW1lKQogICAgICAgICBpZiAocmV0IDwgMCkKICAg ICAgICAgICAgIGdvdG8gZmFpbDsKIAotICAgICAgICBwb29sLT5wb29sc1swXSA9IGF2X2J1ZmZl cl9wb29sX2luaXQocG9vbC0+bGluZXNpemVbMF0sIE5VTEwpOworICAgICAgICBwb29sLT5wb29s c1swXSA9IGF2X2J1ZmZlcl9wb29sX2luaXQocG9vbC0+bGluZXNpemVbMF0sCisgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBDT05GSUdfTUVNT1JZX1BPSVNPTklO RyA/CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOVUxM IDoKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGF2X2J1 ZmZlcl9hbGxvY3opOwogICAgICAgICBpZiAoIXBvb2wtPnBvb2xzWzBdKSB7CiAgICAgICAgICAg ICByZXQgPSBBVkVSUk9SKEVOT01FTSk7CiAgICAgICAgICAgICBnb3RvIGZhaWw7Ci0tIAoyLjQ5 LjEKCgpGcm9tIDU1MzUxNzg2OGRiMTc1ODQwMjlmYzVlY2IyNjQ4YmU5MzI0NWNhYjUgTW9uIFNl cCAxNyAwMDowMDowMCAyMDAxCkZyb206IE1pY2hhZWwgTmllZGVybWF5ZXIgPG1pY2hhZWxAbmll ZGVybWF5ZXIuY2M+CkRhdGU6IFN1biwgNSBKYW4gMjAyNSAwMjozNjoyNSArMDEwMApTdWJqZWN0 OiBbUEFUQ0ggMTc4LzQzNF0gYXZmaWx0ZXIvdmZfYWRkcm9pOiBBZGQgbWlzc2luZyBOVUxMIHRl cm1pbmF0aW9uIHRvCiBhZGRyb2lfdmFyX25hbWVzW10oKQpNSU1FLVZlcnNpb246IDEuMApDb250 ZW50LVR5cGU6IHRleHQvcGxhaW47IGNoYXJzZXQ9VVRGLTgKQ29udGVudC1UcmFuc2Zlci1FbmNv ZGluZzogOGJpdAoKRml4ZXM6IG91dCBvZiBhcnJheSByZWFkCgpGb3VuZC1ieTogRWxpYXMgTXls bHltw6RraSA8ZWxpYXMubXlsbHltYWtpMDRwQGdtYWlsLmNvbT4KUmV2aWV3ZWQtYnk6IEFsZXhh bmRlciBTdHJhc3NlciA8ZWNsaXBzZTdAZ214Lm5ldD4KU2lnbmVkLW9mZi1ieTogTWljaGFlbCBO aWVkZXJtYXllciA8bWljaGFlbEBuaWVkZXJtYXllci5jYz4KKGNoZXJyeSBwaWNrZWQgZnJvbSBj b21taXQgYjcyZGU0OTI5NTlmYjE5ZWFiMzczNjgyMzJlNjVhNDM3MWMzNjdmNykKU2lnbmVkLW9m Zi1ieTogTWljaGFlbCBOaWVkZXJtYXllciA8bWljaGFlbEBuaWVkZXJtYXllci5jYz4KLS0tCiBs aWJhdmZpbHRlci92Zl9hZGRyb2kuYyB8IDEgKwogMSBmaWxlIGNoYW5nZWQsIDEgaW5zZXJ0aW9u KCspCgpkaWZmIC0tZ2l0IGEvbGliYXZmaWx0ZXIvdmZfYWRkcm9pLmMgYi9saWJhdmZpbHRlci92 Zl9hZGRyb2kuYwppbmRleCBkZTg1N2VjZWQ0Li5kNjc2NWU5ZDhjIDEwMDY0NAotLS0gYS9saWJh dmZpbHRlci92Zl9hZGRyb2kuYworKysgYi9saWJhdmZpbHRlci92Zl9hZGRyb2kuYwpAQCAtMzks NiArMzksNyBAQCBlbnVtIHsKIHN0YXRpYyBjb25zdCBjaGFyICpjb25zdCBhZGRyb2lfdmFyX25h bWVzW10gPSB7CiAgICAgIml3IiwKICAgICAiaWgiLAorICAgIE5VTEwsCiB9OwogCiB0eXBlZGVm IHN0cnVjdCBBZGRST0lDb250ZXh0IHsKLS0gCjIuNDkuMQoKCkZyb20gNjAxNjE2ZjJkZTQyNzRm ZDZkYTZlZDlhODA4NDNkNmM1NmU2NTEzMSBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKRnJvbTog TWljaGFlbCBOaWVkZXJtYXllciA8bWljaGFlbEBuaWVkZXJtYXllci5jYz4KRGF0ZTogTW9uLCA2 IEphbiAyMDI1IDA1OjA2OjEwICswMTAwClN1YmplY3Q6IFtQQVRDSCAxNzkvNDM0XSBhdmZpbHRl ci92Zl9ncmF5d29ybGQ6IFVzZSB0aGUgY29ycmVjdCBwb2ludGVyIGZvcgogYXZfbG9nKCkKTUlN RS1WZXJzaW9uOiAxLjAKQ29udGVudC1UeXBlOiB0ZXh0L3BsYWluOyBjaGFyc2V0PVVURi04CkNv bnRlbnQtVHJhbnNmZXItRW5jb2Rpbmc6IDhiaXQKCkZpeGVzOiBjcmFzaAoKRm91bmQtYnk6IEVs aWFzIE15bGx5bcOka2kgPGVsaWFzLm15bGx5bWFraTA0cEBnbWFpbC5jb20+ClJldmlld2VkLWJ5 OiBBbGV4YW5kZXIgU3RyYXNzZXIgPGVjbGlwc2U3QGdteC5uZXQ+ClNpZ25lZC1vZmYtYnk6IE1p Y2hhZWwgTmllZGVybWF5ZXIgPG1pY2hhZWxAbmllZGVybWF5ZXIuY2M+CihjaGVycnkgcGlja2Vk IGZyb20gY29tbWl0IDlmZmExMjdhYTY4NTM3OTBhY2I0MDAwNGZiYWI5N2YxM2ZmNGM3MmUpClNp Z25lZC1vZmYtYnk6IE1pY2hhZWwgTmllZGVybWF5ZXIgPG1pY2hhZWxAbmllZGVybWF5ZXIuY2M+ Ci0tLQogbGliYXZmaWx0ZXIvdmZfZ3JheXdvcmxkLmMgfCA0ICsrLS0KIDEgZmlsZSBjaGFuZ2Vk LCAyIGluc2VydGlvbnMoKyksIDIgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvbGliYXZmaWx0 ZXIvdmZfZ3JheXdvcmxkLmMgYi9saWJhdmZpbHRlci92Zl9ncmF5d29ybGQuYwppbmRleCBhNmE1 MWRjYjdkLi45MWIwOTdhNGI4IDEwMDY0NAotLS0gYS9saWJhdmZpbHRlci92Zl9ncmF5d29ybGQu YworKysgYi9saWJhdmZpbHRlci92Zl9ncmF5d29ybGQuYwpAQCAtMjY2LDEwICsyNjYsMTAgQEAg c3RhdGljIGludCBmaWx0ZXJfZnJhbWUoQVZGaWx0ZXJMaW5rICppbmxpbmssIEFWRnJhbWUgKmlu KQogICAgIH0KICAgICAvKiBpbnB1dCBhbmQgb3V0cHV0IHRyYW5zZmVyIHdpbGwgYmUgbGluZWFy ICovCiAgICAgaWYgKGluLT5jb2xvcl90cmMgPT0gQVZDT0xfVFJDX1VOU1BFQ0lGSUVEKSB7Ci0g ICAgICAgIGF2X2xvZyhzLCBBVl9MT0dfV0FSTklORywgIlVudGFnZ2VkIHRyYW5zZmVyLCBhc3N1 bWluZyBsaW5lYXIgbGlnaHQuXG4iKTsKKyAgICAgICAgYXZfbG9nKGN0eCwgQVZfTE9HX1dBUk5J TkcsICJVbnRhZ2dlZCB0cmFuc2ZlciwgYXNzdW1pbmcgbGluZWFyIGxpZ2h0LlxuIik7CiAgICAg ICAgIG91dC0+Y29sb3JfdHJjID0gQVZDT0xfVFJDX0xJTkVBUjsKICAgICB9IGVsc2UgaWYgKGlu LT5jb2xvcl90cmMgIT0gQVZDT0xfVFJDX0xJTkVBUikgewotICAgICAgICBhdl9sb2cocywgQVZf TE9HX1dBUk5JTkcsICJHcmF5IHdvcmxkIGNvbG9yIGNvcnJlY3Rpb24gd29ya3Mgb24gbGluZWFy IGxpZ2h0IG9ubHkuXG4iKTsKKyAgICAgICAgYXZfbG9nKGN0eCwgQVZfTE9HX1dBUk5JTkcsICJH cmF5IHdvcmxkIGNvbG9yIGNvcnJlY3Rpb24gd29ya3Mgb24gbGluZWFyIGxpZ2h0IG9ubHkuXG4i KTsKICAgICB9CiAKICAgICB0ZC5pbiA9IGluOwotLSAKMi40OS4xCgoKRnJvbSBiODI3YWM0OWI3 NzA2MzVmYzY2NmY4NTQzY2I5NTg1ZTFiYzYzMDhiIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQpG cm9tOiBNaWNoYWVsIE5pZWRlcm1heWVyIDxtaWNoYWVsQG5pZWRlcm1heWVyLmNjPgpEYXRlOiBN b24sIDYgSmFuIDIwMjUgMjI6MDE6MzkgKzAxMDAKU3ViamVjdDogW1BBVENIIDE4MC80MzRdIGF2 ZmlsdGVyL2FmX3BhbjogRml4IHNzY2FuZigpIHVzZQoKRml4ZXM6IE1lbW9yeSBEYXRhIExlYWsK CkZvdW5kLWJ5OiBTaW1jaGEgS29zbWFuIDxzaW1jaGEua29zbWFuQGN5YmVyYXJrLmNvbT4KU2ln bmVkLW9mZi1ieTogTWljaGFlbCBOaWVkZXJtYXllciA8bWljaGFlbEBuaWVkZXJtYXllci5jYz4K KGNoZXJyeSBwaWNrZWQgZnJvbSBjb21taXQgYjViNjM5MWQ2NDgwNzU3OGFiODcyZGM1OGZiOGFh NjIxZGNmYzM4YSkKU2lnbmVkLW9mZi1ieTogTWljaGFlbCBOaWVkZXJtYXllciA8bWljaGFlbEBu aWVkZXJtYXllci5jYz4KLS0tCiBsaWJhdmZpbHRlci9hZl9wYW4uYyB8IDIgKy0KIDEgZmlsZSBj aGFuZ2VkLCAxIGluc2VydGlvbigrKSwgMSBkZWxldGlvbigtKQoKZGlmZiAtLWdpdCBhL2xpYmF2 ZmlsdGVyL2FmX3Bhbi5jIGIvbGliYXZmaWx0ZXIvYWZfcGFuLmMKaW5kZXggMGQyMGIwMzA3Yi4u NWZlYjI0MzljNyAxMDA2NDQKLS0tIGEvbGliYXZmaWx0ZXIvYWZfcGFuLmMKKysrIGIvbGliYXZm aWx0ZXIvYWZfcGFuLmMKQEAgLTE5Niw3ICsxOTYsNyBAQCBzdGF0aWMgYXZfY29sZCBpbnQgaW5p dChBVkZpbHRlckNvbnRleHQgKmN0eCkKICAgICAgICAgc2lnbiA9IDE7CiAgICAgICAgIHdoaWxl ICgxKSB7CiAgICAgICAgICAgICBnYWluID0gMTsKLSAgICAgICAgICAgIGlmIChzc2NhbmYoYXJn LCAiJWxmJW4gKiVuIiwgJmdhaW4sICZsZW4sICZsZW4pKQorICAgICAgICAgICAgaWYgKHNzY2Fu ZihhcmcsICIlbGYlbiAqJW4iLCAmZ2FpbiwgJmxlbiwgJmxlbikgPj0gMSkKICAgICAgICAgICAg ICAgICBhcmcgKz0gbGVuOwogICAgICAgICAgICAgaWYgKHBhcnNlX2NoYW5uZWxfbmFtZSgmYXJn LCAmaW5fY2hfaWQsICZuYW1lZCkpewogICAgICAgICAgICAgICAgIGF2X2xvZyhjdHgsIEFWX0xP R19FUlJPUiwKLS0gCjIuNDkuMQoKCkZyb20gNjU4MDI5MzM0ZTA3OGE5ZjBhZjFlZmJjYmJkOGRh Zjg3MTI0MWRjMiBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKRnJvbTogTWljaGFlbCBOaWVkZXJt YXllciA8bWljaGFlbEBuaWVkZXJtYXllci5jYz4KRGF0ZTogU3VuLCAxIERlYyAyMDI0IDAzOjI1 OjA5ICswMTAwClN1YmplY3Q6IFtQQVRDSCAxODEvNDM0XSBzd3NjYWxlL291dHB1dDogRml4IHVu ZGVmaW5lZCBvdmVyZmxvdyBpbgogeXV2MnJnYmE2NF9mdWxsX1hfY190ZW1wbGF0ZSgpCgpGaXhl czogc2lnbmVkIGludGVnZXIgb3ZlcmZsb3c6IC0xMDgyOTgyNDAwICsgLTExOTU2NDUxMzggY2Fu bm90IGJlIHJlcHJlc2VudGVkIGluIHR5cGUgJ2ludCcKRml4ZXM6IDM3NjEzNjg0My9jbHVzdGVy ZnV6ei10ZXN0Y2FzZS1taW5pbWl6ZWQtZmZtcGVnX1NXU19mdXp6ZXItNDc5MTg0NDMyMTQyNzQ1 NgoKRm91bmQtYnk6IGNvbnRpbnVvdXMgZnV6emluZyBwcm9jZXNzIGh0dHBzOi8vZ2l0aHViLmNv bS9nb29nbGUvb3NzLWZ1enovdHJlZS9tYXN0ZXIvcHJvamVjdHMvZmZtcGVnClNpZ25lZC1vZmYt Ynk6IE1pY2hhZWwgTmllZGVybWF5ZXIgPG1pY2hhZWxAbmllZGVybWF5ZXIuY2M+CihjaGVycnkg cGlja2VkIGZyb20gY29tbWl0IDU2ZmFlZTIxYzEzNjk0MmM0OTFmMzBhMmU4MmNmYmJmY2UxODBi ZWIpClNpZ25lZC1vZmYtYnk6IE1pY2hhZWwgTmllZGVybWF5ZXIgPG1pY2hhZWxAbmllZGVybWF5 ZXIuY2M+Ci0tLQogbGlic3dzY2FsZS9vdXRwdXQuYyB8IDYgKysrLS0tCiAxIGZpbGUgY2hhbmdl ZCwgMyBpbnNlcnRpb25zKCspLCAzIGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL2xpYnN3c2Nh bGUvb3V0cHV0LmMgYi9saWJzd3NjYWxlL291dHB1dC5jCmluZGV4IGFlOWE1MDYzN2EuLjM2Njg4 M2FiMWIgMTAwNjQ0Ci0tLSBhL2xpYnN3c2NhbGUvb3V0cHV0LmMKKysrIGIvbGlic3dzY2FsZS9v dXRwdXQuYwpAQCAtMTM1Miw5ICsxMzUyLDkgQEAgeXV2MnJnYmE2NF9mdWxsX1hfY190ZW1wbGF0 ZShTd3NDb250ZXh0ICpjLCBjb25zdCBpbnQxNl90ICpsdW1GaWx0ZXIsCiAgICAgICAgIEIgPSAg ICAgICAgICAgICAgICAgICAgICAgICAgICBVICogYy0+eXV2MnJnYl91MmJfY29lZmY7CiAKICAg ICAgICAgLy8gOGJpdDogMzAgLSAyMiA9IDhiaXQsIDE2Yml0OiAzMGJpdCAtIDE0ID0gMTZiaXQK LSAgICAgICAgb3V0cHV0X3BpeGVsKCZkZXN0WzBdLCBhdl9jbGlwX3VpbnRwMigoKFJfQiArIFkp Pj4xNCkgKyAoMTw8MTUpLCAxNikpOwotICAgICAgICBvdXRwdXRfcGl4ZWwoJmRlc3RbMV0sIGF2 X2NsaXBfdWludHAyKCgoICBHICsgWSk+PjE0KSArICgxPDwxNSksIDE2KSk7Ci0gICAgICAgIG91 dHB1dF9waXhlbCgmZGVzdFsyXSwgYXZfY2xpcF91aW50cDIoKChCX1IgKyBZKT4+MTQpICsgKDE8 PDE1KSwgMTYpKTsKKyAgICAgICAgb3V0cHV0X3BpeGVsKCZkZXN0WzBdLCBhdl9jbGlwX3VpbnRw MigoKGludCkoUl9CICsgKHVuc2lnbmVkKVkpPj4xNCkgKyAoMTw8MTUpLCAxNikpOworICAgICAg ICBvdXRwdXRfcGl4ZWwoJmRlc3RbMV0sIGF2X2NsaXBfdWludHAyKCgoaW50KSggIEcgKyAodW5z aWduZWQpWSk+PjE0KSArICgxPDwxNSksIDE2KSk7CisgICAgICAgIG91dHB1dF9waXhlbCgmZGVz dFsyXSwgYXZfY2xpcF91aW50cDIoKChpbnQpKEJfUiArICh1bnNpZ25lZClZKT4+MTQpICsgKDE8 PDE1KSwgMTYpKTsKICAgICAgICAgaWYgKGVpZ2h0Ynl0ZXMpIHsKICAgICAgICAgICAgIG91dHB1 dF9waXhlbCgmZGVzdFszXSwgYXZfY2xpcF91aW50cDIoQSwgMzApID4+IDE0KTsKICAgICAgICAg ICAgIGRlc3QgKz0gNDsKLS0gCjIuNDkuMQoKCkZyb20gZGExZTMxNmExZjNkZGQxZGIwMWZkMjVk OGVlOTc1YjYzMjM4ZDU5NSBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKRnJvbTogTWljaGFlbCBO aWVkZXJtYXllciA8bWljaGFlbEBuaWVkZXJtYXllci5jYz4KRGF0ZTogU3VuLCAxIERlYyAyMDI0 IDAzOjMxOjU2ICswMTAwClN1YmplY3Q6IFtQQVRDSCAxODIvNDM0XSBhdmNvZGVjL29zcTogRml4 ZXMgc2V2ZXJhbCB1bmRlZmluZWQgb3ZlcmZsb3dzIGluCiBkb19kZWNvZGUoKQoKRml4ZXM6IHNp Z25lZCBpbnRlZ2VyIG92ZXJmbG93OiAxMjM5NTk2MTg0ICsgMjExOTM3NjA1OSBjYW5ub3QgYmUg cmVwcmVzZW50ZWQgaW4gdHlwZSAnaW50JwpGaXhlczogMzc2MTM2ODQ0L2NsdXN0ZXJmdXp6LXRl c3RjYXNlLW1pbmltaXplZC1mZm1wZWdfQVZfQ09ERUNfSURfT1NRX2Z1enplci02NTgxMTY0NDU1 ODIxMzEyCgpGb3VuZC1ieTogY29udGludW91cyBmdXp6aW5nIHByb2Nlc3MgaHR0cHM6Ly9naXRo dWIuY29tL2dvb2dsZS9vc3MtZnV6ei90cmVlL21hc3Rlci9wcm9qZWN0cy9mZm1wZWcKU2lnbmVk LW9mZi1ieTogTWljaGFlbCBOaWVkZXJtYXllciA8bWljaGFlbEBuaWVkZXJtYXllci5jYz4KKGNo ZXJyeSBwaWNrZWQgZnJvbSBjb21taXQgMGY1MTFiNDUxOGZhNDMzN2Y2MDMyNzVmODY1ZWIxM2Fj NTUyMGQwZikKU2lnbmVkLW9mZi1ieTogTWljaGFlbCBOaWVkZXJtYXllciA8bWljaGFlbEBuaWVk ZXJtYXllci5jYz4KLS0tCiBsaWJhdmNvZGVjL29zcS5jIHwgNiArKystLS0KIDEgZmlsZSBjaGFu Z2VkLCAzIGluc2VydGlvbnMoKyksIDMgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvbGliYXZj b2RlYy9vc3EuYyBiL2xpYmF2Y29kZWMvb3NxLmMKaW5kZXggMWJmNjI2NDY5OS4uODNiNGE5ZDYx OCAxMDA2NDQKLS0tIGEvbGliYXZjb2RlYy9vc3EuYworKysgYi9saWJhdmNvZGVjL29zcS5jCkBA IC0zMDAsNyArMzAwLDcgQEAgc3RhdGljIGludCBkb19kZWNvZGUoQVZDb2RlY0NvbnRleHQgKmF2 Y3R4LCBBVkZyYW1lICpmcmFtZSwgaW50IGRlY29ycmVsYXRlLCBpbnQKICAgICAgICAgICAgICAg ICBkc3Rbbl0gKz0gKGludCkoUDIgKyBQMykgLyAyICsgKHVuc2lnbmVkKXA7CiAgICAgICAgICAg ICAgICAgYnJlYWs7CiAgICAgICAgICAgICBjYXNlIDg6Ci0gICAgICAgICAgICAgICAgZHN0W25d ICs9IChpbnQpKFAyICsgUDMpIC8gMjsKKyAgICAgICAgICAgICAgICBkc3Rbbl0gKz0gKGludCko UDIgKyBQMykgLyAyICsgMFU7CiAgICAgICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICAgICBj YXNlIDk6CiAgICAgICAgICAgICAgICAgZHN0W25dICs9IChpbnQpKFAyICogMiArIFAzKSAvIDMg KyAodW5zaWduZWQpcDsKQEAgLTMwOSwxMyArMzA5LDEzIEBAIHN0YXRpYyBpbnQgZG9fZGVjb2Rl KEFWQ29kZWNDb250ZXh0ICphdmN0eCwgQVZGcmFtZSAqZnJhbWUsIGludCBkZWNvcnJlbGF0ZSwg aW50CiAgICAgICAgICAgICAgICAgZHN0W25dICs9IChpbnQpKFAyICsgUDMgKiAyKSAvIDMgKyAo dW5zaWduZWQpcDsKICAgICAgICAgICAgICAgICBicmVhazsKICAgICAgICAgICAgIGNhc2UgMTE6 Ci0gICAgICAgICAgICAgICAgZHN0W25dICs9IChpbnQpKCh1bnNpZ25lZClkc3RbQV0gKyBkc3Rb Ql0pIC8gMjsKKyAgICAgICAgICAgICAgICBkc3Rbbl0gKz0gKGludCkoKHVuc2lnbmVkKWRzdFtB XSArIGRzdFtCXSkgLyAyICsgMFU7CiAgICAgICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICAg ICBjYXNlIDEyOgogICAgICAgICAgICAgICAgIGRzdFtuXSArPSAodW5zaWduZWQpZHN0W0JdOwog ICAgICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgICAgY2FzZSAxMzoKLSAgICAgICAgICAg ICAgICBkc3Rbbl0gKz0gKGludCkodW5zaWduZWQpKGRzdFtEXSArIGRzdFtCXSkgLyAyOworICAg ICAgICAgICAgICAgIGRzdFtuXSArPSAoaW50KSgodW5zaWduZWQpZHN0W0RdICsgZHN0W0JdKSAv IDIgKyAwVTsKICAgICAgICAgICAgICAgICBicmVhazsKICAgICAgICAgICAgIGNhc2UgMTQ6CiAg ICAgICAgICAgICAgICAgZHN0W25dICs9IChpbnQpKCh1bnNpZ25lZClQMiArIGRzdFtBXSkgLyAy ICsgKHVuc2lnbmVkKXA7Ci0tIAoyLjQ5LjEKCgpGcm9tIDU4NWM3OTliMTA4OGY5Zjk3YzFhZTdj ZGUzM2NiM2IxYWNlYWEwY2MgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCkZyb206IE1pY2hhZWwg TmllZGVybWF5ZXIgPG1pY2hhZWxAbmllZGVybWF5ZXIuY2M+CkRhdGU6IFN1biwgMSBEZWMgMjAy NCAyMTo0MDo0MyArMDEwMApTdWJqZWN0OiBbUEFUQ0ggMTgzLzQzNF0gYXZmb3JtYXQvaWFtZl9w YXJzZTogQ2hlY2sgb3V0cHV0X2NoYW5uZWxfY291bnQKCkZpeGVzOiAtbmFuIGlzIG91dHNpZGUg dGhlIHJhbmdlIG9mIHJlcHJlc2VudGFibGUgdmFsdWVzIG9mIHR5cGUgJ2ludCcKRml4ZXM6IDM3 NzA3MjczMC9jbHVzdGVyZnV6ei10ZXN0Y2FzZS1taW5pbWl6ZWQtZmZtcGVnX2RlbV9JQU1GX2Z1 enplci02NTQ1NDE2NTcwNjAxNDcyCgpGb3VuZC1ieTogY29udGludW91cyBmdXp6aW5nIHByb2Nl c3MgaHR0cHM6Ly9naXRodWIuY29tL2dvb2dsZS9vc3MtZnV6ei90cmVlL21hc3Rlci9wcm9qZWN0 cy9mZm1wZWcKU2lnbmVkLW9mZi1ieTogTWljaGFlbCBOaWVkZXJtYXllciA8bWljaGFlbEBuaWVk ZXJtYXllci5jYz4KKGNoZXJyeSBwaWNrZWQgZnJvbSBjb21taXQgNDQ4NWEwZmQ3N2M1MDE1N2Zl YjMwODA5MGQ4NGI1MmNkODRlODBhMikKU2lnbmVkLW9mZi1ieTogTWljaGFlbCBOaWVkZXJtYXll ciA8bWljaGFlbEBuaWVkZXJtYXllci5jYz4KLS0tCiBsaWJhdmZvcm1hdC9pYW1mX3BhcnNlLmMg fCAyICstCiAxIGZpbGUgY2hhbmdlZCwgMSBpbnNlcnRpb24oKyksIDEgZGVsZXRpb24oLSkKCmRp ZmYgLS1naXQgYS9saWJhdmZvcm1hdC9pYW1mX3BhcnNlLmMgYi9saWJhdmZvcm1hdC9pYW1mX3Bh cnNlLmMKaW5kZXggMzQ4NjEwNGFiYS4uMWVjNjkyNDkwOCAxMDA2NDQKLS0tIGEvbGliYXZmb3Jt YXQvaWFtZl9wYXJzZS5jCisrKyBiL2xpYmF2Zm9ybWF0L2lhbWZfcGFyc2UuYwpAQCAtNDE3LDcg KzQxNyw3IEBAIHN0YXRpYyBpbnQgYW1iaXNvbmljc19jb25maWcodm9pZCAqcywgQVZJT0NvbnRl eHQgKnBiLAogCiAgICAgb3V0cHV0X2NoYW5uZWxfY291bnQgPSBhdmlvX3I4KHBiKTsgIC8vIEMK ICAgICBzdWJzdHJlYW1fY291bnQgPSBhdmlvX3I4KHBiKTsgIC8vIE4KLSAgICBpZiAoYXVkaW9f ZWxlbWVudC0+bmJfc3Vic3RyZWFtcyAhPSBzdWJzdHJlYW1fY291bnQpCisgICAgaWYgKGF1ZGlv X2VsZW1lbnQtPm5iX3N1YnN0cmVhbXMgIT0gc3Vic3RyZWFtX2NvdW50IHx8IG91dHB1dF9jaGFu bmVsX2NvdW50ID09IDApCiAgICAgICAgIHJldHVybiBBVkVSUk9SX0lOVkFMSUREQVRBOwogCiAg ICAgb3JkZXIgPSBmbG9vcihzcXJ0KG91dHB1dF9jaGFubmVsX2NvdW50IC0gMSkpOwotLSAKMi40 OS4xCgoKRnJvbSA3M2ZkMzc4OTk1NWE3NjU1M2Q3NGY5NDUzYzhjYTJjNWYxOGE2ZmI5IE1vbiBT ZXAgMTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBNaWNoYWVsIE5pZWRlcm1heWVyIDxtaWNoYWVsQG5p ZWRlcm1heWVyLmNjPgpEYXRlOiBTdW4sIDEgRGVjIDIwMjQgMjI6Mjc6MTggKzAxMDAKU3ViamVj dDogW1BBVENIIDE4NC80MzRdIGF2Y29kZWMvYWFjc2JyX3RlbXBsYXRlOiBDbGVhciBuX3Egb24g ZXJyb3IKCkZpeGVzOiBpbmRleCA1IG91dCBvZiBib3VuZHMgZm9yIHR5cGUgJ3VpbnQ4X3QgWzVd JwpGaXhlczogMzc3NzQ4MTM1L2NsdXN0ZXJmdXp6LXRlc3RjYXNlLW1pbmltaXplZC1mZm1wZWdf QVZfQ09ERUNfSURfQUFDX0xBVE1fZnV6emVyLTUxNjcxMDk3NzQwNDkyODAKCkZvdW5kLWJ5OiBj b250aW51b3VzIGZ1enppbmcgcHJvY2VzcyBodHRwczovL2dpdGh1Yi5jb20vZ29vZ2xlL29zcy1m dXp6L3RyZWUvbWFzdGVyL3Byb2plY3RzL2ZmbXBlZwpTaWduZWQtb2ZmLWJ5OiBNaWNoYWVsIE5p ZWRlcm1heWVyIDxtaWNoYWVsQG5pZWRlcm1heWVyLmNjPgooY2hlcnJ5IHBpY2tlZCBmcm9tIGNv bW1pdCAzZjAyOWJmYjdmOWNhMWM3M2ZlY2I4ZDBlYWNmM2M0ZTA1NTBmNzcxKQpTaWduZWQtb2Zm LWJ5OiBNaWNoYWVsIE5pZWRlcm1heWVyIDxtaWNoYWVsQG5pZWRlcm1heWVyLmNjPgotLS0KIGxp YmF2Y29kZWMvYWFjc2JyX3RlbXBsYXRlLmMgfCAxICsKIDEgZmlsZSBjaGFuZ2VkLCAxIGluc2Vy dGlvbigrKQoKZGlmZiAtLWdpdCBhL2xpYmF2Y29kZWMvYWFjc2JyX3RlbXBsYXRlLmMgYi9saWJh dmNvZGVjL2FhY3Nicl90ZW1wbGF0ZS5jCmluZGV4IDQzNmI1NDlmZTcuLjlmYWU0NGQ5YTUgMTAw NjQ0Ci0tLSBhL2xpYmF2Y29kZWMvYWFjc2JyX3RlbXBsYXRlLmMKKysrIGIvbGliYXZjb2RlYy9h YWNzYnJfdGVtcGxhdGUuYwpAQCAtNTk5LDYgKzU5OSw3IEBAIHN0YXRpYyBpbnQgc2JyX21ha2Vf Zl9kZXJpdmVkKEFBQ0RlY0NvbnRleHQgKmFjLCBTcGVjdHJhbEJhbmRSZXBsaWNhdGlvbiAqc2Jy KQogCiAgICAgaWYgKHNici0+bl9xID4gNSkgewogICAgICAgICBhdl9sb2coYWMtPmF2Y3R4LCBB Vl9MT0dfRVJST1IsICJUb28gbWFueSBub2lzZSBmbG9vciBzY2FsZSBmYWN0b3JzOiAlZFxuIiwg c2JyLT5uX3EpOworICAgICAgICBzYnItPm5fcSA9IDE7CiAgICAgICAgIHJldHVybiAtMTsKICAg ICB9CiAKLS0gCjIuNDkuMQoKCkZyb20gNWUwMmUxYmE5NmVmY2QwNTJmODE1ZTZiNWM1MTQzMzE3 NmM3YjE2YyBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKRnJvbTogTWljaGFlbCBOaWVkZXJtYXll ciA8bWljaGFlbEBuaWVkZXJtYXllci5jYz4KRGF0ZTogU3VuLCAxIERlYyAyMDI0IDIzOjMwOjU1 ICswMTAwClN1YmplY3Q6IFtQQVRDSCAxODUvNDM0XSBhdmNvZGVjL3ZjMWRlYzogQ2xlYXIgYmxv Y2tfaW5kZXggaW4KIHZjMV9kZWNvZGVfcmVzZXQoKQoKRml4ZXM6IDM3Nzk2NTU2NS9jbHVzdGVy ZnV6ei10ZXN0Y2FzZS1taW5pbWl6ZWQtZmZtcGVnX0FWX0NPREVDX0lEX1ZDMV9mdXp6ZXItNDUw NDQzNDY4OTc2OTQ3MgpGaXhlczogb3V0IG9mIGFycmF5IGFjY2VzcwoKRm91bmQtYnk6IGNvbnRp bnVvdXMgZnV6emluZyBwcm9jZXNzIGh0dHBzOi8vZ2l0aHViLmNvbS9nb29nbGUvb3NzLWZ1enov dHJlZS9tYXN0ZXIvcHJvamVjdHMvZmZtcGVnClNpZ25lZC1vZmYtYnk6IE1pY2hhZWwgTmllZGVy bWF5ZXIgPG1pY2hhZWxAbmllZGVybWF5ZXIuY2M+CihjaGVycnkgcGlja2VkIGZyb20gY29tbWl0 IDI1MWRlMTc5MWU2NDVmMTZlODBiMDlkODI5OTlkNGE1ZTI0YjFhZDEpClNpZ25lZC1vZmYtYnk6 IE1pY2hhZWwgTmllZGVybWF5ZXIgPG1pY2hhZWxAbmllZGVybWF5ZXIuY2M+Ci0tLQogbGliYXZj b2RlYy92YzFkZWMuYyB8IDEgKwogMSBmaWxlIGNoYW5nZWQsIDEgaW5zZXJ0aW9uKCspCgpkaWZm IC0tZ2l0IGEvbGliYXZjb2RlYy92YzFkZWMuYyBiL2xpYmF2Y29kZWMvdmMxZGVjLmMKaW5kZXgg NWYxYTViZDQzNy4uMmMzMTRlN2I1NSAxMDA2NDQKLS0tIGEvbGliYXZjb2RlYy92YzFkZWMuYwor KysgYi9saWJhdmNvZGVjL3ZjMWRlYy5jCkBAIC03ODgsNiArNzg4LDcgQEAgc3RhdGljIGF2X2Nv bGQgdm9pZCB2YzFfZGVjb2RlX3Jlc2V0KEFWQ29kZWNDb250ZXh0ICphdmN0eCkKICAgICBmb3Ig KGkgPSAwOyBpIDwgNDsgaSsrKQogICAgICAgICBhdl9mcmVlcCgmdi0+c3Jfcm93c1tpID4+IDFd W2kgJiAxXSk7CiAgICAgZmZfbXB2X2NvbW1vbl9lbmQoJnYtPnMpOworICAgIG1lbXNldCh2LT5z LmJsb2NrX2luZGV4LCAwLCBzaXplb2Yodi0+cy5ibG9ja19pbmRleCkpOwogICAgIGF2X2ZyZWVw KCZ2LT5tdl90eXBlX21iX3BsYW5lKTsKICAgICBhdl9mcmVlcCgmdi0+ZGlyZWN0X21iX3BsYW5l KTsKICAgICBhdl9mcmVlcCgmdi0+Zm9yd2FyZF9tYl9wbGFuZSk7Ci0tIAoyLjQ5LjEKCgpGcm9t IDQxZjgwNTIyODQxNWM1MWE2NWI1MzNkZThlN2YyZmE0MmIyNGY4ZWQgTW9uIFNlcCAxNyAwMDow MDowMCAyMDAxCkZyb206IE1pY2hhZWwgTmllZGVybWF5ZXIgPG1pY2hhZWxAbmllZGVybWF5ZXIu Y2M+CkRhdGU6IFRodSwgOSBKYW4gMjAyNSAwMDowMjozNSArMDEwMApTdWJqZWN0OiBbUEFUQ0gg MTg2LzQzNF0gYXZmb3JtYXQvbW92OiBGYWN0b3JpemUgc2FuaXR5IGNoZWNrIG91dAoKU2lnbmVk LW9mZi1ieTogTWljaGFlbCBOaWVkZXJtYXllciA8bWljaGFlbEBuaWVkZXJtYXllci5jYz4KKGNo ZXJyeSBwaWNrZWQgZnJvbSBjb21taXQgMTZiM2QzZTNlYmI5ZmY3YjAwYzBmZDE0YjAxNjc3Nzlh ZGE4N2Y4NikKU2lnbmVkLW9mZi1ieTogTWljaGFlbCBOaWVkZXJtYXllciA8bWljaGFlbEBuaWVk ZXJtYXllci5jYz4KLS0tCiBsaWJhdmZvcm1hdC9tb3YuYyB8IDM0ICsrKysrKysrKysrKysrKysr KysrKy0tLS0tLS0tLS0tLS0KIDEgZmlsZSBjaGFuZ2VkLCAyMSBpbnNlcnRpb25zKCspLCAxMyBk ZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9saWJhdmZvcm1hdC9tb3YuYyBiL2xpYmF2Zm9ybWF0 L21vdi5jCmluZGV4IGZmMzJkNDE2MGUuLjY5MThhNmUwNDUgMTAwNjQ0Ci0tLSBhL2xpYmF2Zm9y bWF0L21vdi5jCisrKyBiL2xpYmF2Zm9ybWF0L21vdi5jCkBAIC01MDIxLDYgKzUwMjEsMjQgQEAg c3RhdGljIGludCBtb3ZfdXBkYXRlX2lhbWZfc3RyZWFtcyhNT1ZDb250ZXh0ICpjLCBjb25zdCBB VlN0cmVhbSAqc3QpCiB9CiAjZW5kaWYKIAorc3RhdGljIGludCBzYW5pdHlfY2hlY2tzKHZvaWQg KmxvZ19vYmosIE1PVlN0cmVhbUNvbnRleHQgKnNjLCBpbnQgaW5kZXgpCit7CisgICAgaWYgKChz Yy0+Y2h1bmtfY291bnQgJiYgKCFzYy0+c3R0c19jb3VudCB8fCAhc2MtPnN0c2NfY291bnQgfHwK KyAgICAgICAgICAgICAgICAgICAgICAgICAgICAoIXNjLT5zYW1wbGVfc2l6ZSAmJiAhc2MtPnNh bXBsZV9jb3VudCkpKSB8fAorICAgICAgICAoIXNjLT5jaHVua19jb3VudCAmJiBzYy0+c2FtcGxl X2NvdW50KSkgeworICAgICAgICBhdl9sb2cobG9nX29iaiwgQVZfTE9HX0VSUk9SLCAic3RyZWFt ICVkLCBtaXNzaW5nIG1hbmRhdG9yeSBhdG9tcywgYnJva2VuIGhlYWRlclxuIiwKKyAgICAgICAg ICAgICAgIGluZGV4KTsKKyAgICAgICAgcmV0dXJuIDE7CisgICAgfQorCisgICAgaWYgKHNjLT5z dHNjX2NvdW50ICYmIHNjLT5zdHNjX2RhdGFbIHNjLT5zdHNjX2NvdW50IC0gMSBdLmZpcnN0ID4g c2MtPmNodW5rX2NvdW50KSB7CisgICAgICAgIGF2X2xvZyhsb2dfb2JqLCBBVl9MT0dfRVJST1Is ICJzdHJlYW0gJWQsIGNvbnRyYWRpY3Rpb25hcnkgU1RTQyBhbmQgU1RDT1xuIiwKKyAgICAgICAg ICAgICAgIGluZGV4KTsKKyAgICAgICAgcmV0dXJuIDI7CisgICAgfQorICAgIHJldHVybiAwOwor fQorCiBzdGF0aWMgaW50IG1vdl9yZWFkX3RyYWsoTU9WQ29udGV4dCAqYywgQVZJT0NvbnRleHQg KnBiLCBNT1ZBdG9tIGF0b20pCiB7CiAgICAgQVZTdHJlYW0gKnN0OwpAQCAtNTA1MywxOSArNTA3 MSw5IEBAIHN0YXRpYyBpbnQgbW92X3JlYWRfdHJhayhNT1ZDb250ZXh0ICpjLCBBVklPQ29udGV4 dCAqcGIsIE1PVkF0b20gYXRvbSkKICAgICAgICAgYXZfZnJlZXAoJnNjLT5zdHNjX2RhdGEpOwog ICAgIH0KIAotICAgIC8qIHNhbml0eSBjaGVja3MgKi8KLSAgICBpZiAoKHNjLT5jaHVua19jb3Vu dCAmJiAoIXNjLT5zdHRzX2NvdW50IHx8ICFzYy0+c3RzY19jb3VudCB8fAotICAgICAgICAgICAg ICAgICAgICAgICAgICAgICghc2MtPnNhbXBsZV9zaXplICYmICFzYy0+c2FtcGxlX2NvdW50KSkp IHx8Ci0gICAgICAgICghc2MtPmNodW5rX2NvdW50ICYmIHNjLT5zYW1wbGVfY291bnQpKSB7Ci0g ICAgICAgIGF2X2xvZyhjLT5mYywgQVZfTE9HX0VSUk9SLCAic3RyZWFtICVkLCBtaXNzaW5nIG1h bmRhdG9yeSBhdG9tcywgYnJva2VuIGhlYWRlclxuIiwKLSAgICAgICAgICAgICAgIHN0LT5pbmRl eCk7Ci0gICAgICAgIHJldHVybiAwOwotICAgIH0KLSAgICBpZiAoc2MtPnN0c2NfY291bnQgJiYg c2MtPnN0c2NfZGF0YVsgc2MtPnN0c2NfY291bnQgLSAxIF0uZmlyc3QgPiBzYy0+Y2h1bmtfY291 bnQpIHsKLSAgICAgICAgYXZfbG9nKGMtPmZjLCBBVl9MT0dfRVJST1IsICJzdHJlYW0gJWQsIGNv bnRyYWRpY3Rpb25hcnkgU1RTQyBhbmQgU1RDT1xuIiwKLSAgICAgICAgICAgICAgIHN0LT5pbmRl eCk7Ci0gICAgICAgIHJldHVybiBBVkVSUk9SX0lOVkFMSUREQVRBOwotICAgIH0KKyAgICByZXQg PSBzYW5pdHlfY2hlY2tzKGMtPmZjLCBzYywgc3QtPmluZGV4KTsKKyAgICBpZiAocmV0KQorICAg ICAgICByZXR1cm4gcmV0ID4gMSA/IEFWRVJST1JfSU5WQUxJRERBVEEgOiAwOwogCiAgICAgZml4 X3RpbWVzY2FsZShjLCBzYyk7CiAKLS0gCjIuNDkuMQoKCkZyb20gMGJiOGEzOGMxMGExNmM2OTU2 YmFhYmJmMGRkOWEyZjYzNGM4OWEwMSBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKRnJvbTogTWlj aGFlbCBOaWVkZXJtYXllciA8bWljaGFlbEBuaWVkZXJtYXllci5jYz4KRGF0ZTogVHVlLCA3IEph biAyMDI1IDIzOjIxOjMyICswMTAwClN1YmplY3Q6IFtQQVRDSCAxODcvNDM0XSBhdmZvcm1hdC9t b3Y6IHBlcmZvcm0gc2FuaXR5IGNoZWNrcyBmb3IgaGVpZiBiZWZvcmUKIGluZGV4IGJ1aWxkaW5n CgpGaXhlczogdW5kZWZpbmVkIE5VTEwgcG9pbnRlciB1c2UKRml4ZXM6IGNsdXN0ZXJmdXp6LXRl c3RjYXNlLW1pbmltaXplZC1hdWRpb19kZWNvZGVyX2Z1enplci02MzYzMjExMTc1NDkzNjMyCgpU aGlzIHBlcmZvcm1zIGVxdWl2YWxlbnQgc2FuaXR5IGNoZWNrcyBhcyBhcmUgZG9uZSBpbiBtb3Zf cmVhZF90cmFrKCkKYmVmb3JlIG1vdl9idWlsZF9pbmRleCgpCgpSZXBvcnRlZC1ieTogRGFsZSBD dXJ0aXMgPGRhbGVjdXJ0aXNAY2hyb21pdW0ub3JnPgpTaWduZWQtb2ZmLWJ5OiBNaWNoYWVsIE5p ZWRlcm1heWVyIDxtaWNoYWVsQG5pZWRlcm1heWVyLmNjPgooY2hlcnJ5IHBpY2tlZCBmcm9tIGNv bW1pdCBhZmJjM2ExYjIzYjNiYTNlNWEzZjI4MjAyMjhhNWZlNTFiNTE3YmU3KQpTaWduZWQtb2Zm LWJ5OiBNaWNoYWVsIE5pZWRlcm1heWVyIDxtaWNoYWVsQG5pZWRlcm1heWVyLmNjPgotLS0KIGxp YmF2Zm9ybWF0L21vdi5jIHwgMyArKy0KIDEgZmlsZSBjaGFuZ2VkLCAyIGluc2VydGlvbnMoKyks IDEgZGVsZXRpb24oLSkKCmRpZmYgLS1naXQgYS9saWJhdmZvcm1hdC9tb3YuYyBiL2xpYmF2Zm9y bWF0L21vdi5jCmluZGV4IDY5MThhNmUwNDUuLjY5NWI5NzUxNDcgMTAwNjQ0Ci0tLSBhL2xpYmF2 Zm9ybWF0L21vdi5jCisrKyBiL2xpYmF2Zm9ybWF0L21vdi5jCkBAIC0xMDEzNiw3ICsxMDEzNiw4 IEBAIHN0YXRpYyBpbnQgbW92X3BhcnNlX2hlaWZfaXRlbXMoQVZGb3JtYXRDb250ZXh0ICpzKQog ICAgICAgICBzdC0+Y29kZWNwYXItPndpZHRoICA9IGl0ZW0tPndpZHRoOwogICAgICAgICBzdC0+ Y29kZWNwYXItPmhlaWdodCA9IGl0ZW0tPmhlaWdodDsKIAotICAgICAgICBpZiAoc2MtPnNhbXBs ZV9jb3VudCAhPSAxIHx8IHNjLT5jaHVua19jb3VudCAhPSAxKQorICAgICAgICBlcnIgPSBzYW5p dHlfY2hlY2tzKHMsIHNjLCBpdGVtLT5pdGVtX2lkKTsKKyAgICAgICAgaWYgKGVycikKICAgICAg ICAgICAgIHJldHVybiBBVkVSUk9SX0lOVkFMSUREQVRBOwogCiAgICAgICAgIHNjLT5zYW1wbGVf c2l6ZXNbMF0gID0gaXRlbS0+ZXh0ZW50X2xlbmd0aDsKLS0gCjIuNDkuMQoKCkZyb20gNWZlZDcw MTBmODU4NmY2ODJlMmQ0ZTJkMzA2ODU2OWNhOTg5ZTE5MiBNb24gU2VwIDE3IDAwOjAwOjAwIDIw MDEKRnJvbTogTWljaGFlbCBOaWVkZXJtYXllciA8bWljaGFlbEBuaWVkZXJtYXllci5jYz4KRGF0 ZTogVGh1LCA5IEphbiAyMDI1IDIxOjM1OjA2ICswMTAwClN1YmplY3Q6IFtQQVRDSCAxODgvNDM0 XSBhdmNvZGVjL2ZmdjFlbmM6IEZpeCBoYW5kbGluZyBvZiAzMmJpdCB1bnNpZ25lZAogc3ltYm9s cwoKVGhpcyBtYXkgYmUgbmVlZGVkIGZvciBmbG9hdHMKClNwb25zb3JlZC1ieTogU292ZXJlaWdu IFRlY2ggRnVuZApSZXZpZXdlZC1ieTogQWxleGFuZGVyIFN0cmFzc2VyIDxlY2xpcHNlN0BnbXgu bmV0PgpTaWduZWQtb2ZmLWJ5OiBNaWNoYWVsIE5pZWRlcm1heWVyIDxtaWNoYWVsQG5pZWRlcm1h eWVyLmNjPgooY2hlcnJ5IHBpY2tlZCBmcm9tIGNvbW1pdCA0MDI4MjRlOWU5OTQ2MWYxYzllNzRh NjczMGNlZDQwODk0NjY5NTYwKQpTaWduZWQtb2ZmLWJ5OiBNaWNoYWVsIE5pZWRlcm1heWVyIDxt aWNoYWVsQG5pZWRlcm1heWVyLmNjPgotLS0KIGxpYmF2Y29kZWMvZmZ2MWVuYy5jIHwgMiArLQog MSBmaWxlIGNoYW5nZWQsIDEgaW5zZXJ0aW9uKCspLCAxIGRlbGV0aW9uKC0pCgpkaWZmIC0tZ2l0 IGEvbGliYXZjb2RlYy9mZnYxZW5jLmMgYi9saWJhdmNvZGVjL2ZmdjFlbmMuYwppbmRleCA3ZGNl Y2I1OTA1Li4zZTgwOTA2ZGQwIDEwMDY0NAotLS0gYS9saWJhdmNvZGVjL2ZmdjFlbmMuYworKysg Yi9saWJhdmNvZGVjL2ZmdjFlbmMuYwpAQCAtMTk4LDcgKzE5OCw3IEBAIHN0YXRpYyBhdl9hbHdh eXNfaW5saW5lIGF2X2ZsYXR0ZW4gdm9pZCBwdXRfc3ltYm9sX2lubGluZShSYW5nZUNvZGVyICpj LAogICAgIH0gd2hpbGUgKDApCiAKICAgICBpZiAodikgewotICAgICAgICBjb25zdCBpbnQgYSA9 IEZGQUJTKHYpOworICAgICAgICBjb25zdCB1bnNpZ25lZCBhID0gaXNfc2lnbmVkID8gRkZBQlMo dikgOiB2OwogICAgICAgICBjb25zdCBpbnQgZSA9IGF2X2xvZzIoYSk7CiAgICAgICAgIHB1dF9y YWMoYywgc3RhdGUgKyAwLCAwKTsKICAgICAgICAgaWYgKGUgPD0gOSkgewotLSAKMi40OS4xCgoK RnJvbSBlY2U3NmQ3ZGQ0NjYwZGE0OWE4ODBjZjNiZTUwYzJlYjUxMjc4ZGIxIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBNaWNoYWVsIE5pZWRlcm1heWVyIDxtaWNoYWVsQG5pZWRlcm1h eWVyLmNjPgpEYXRlOiBXZWQsIDggSmFuIDIwMjUgMDI6NTk6MjggKzAxMDAKU3ViamVjdDogW1BB VENIIDE4OS80MzRdIGF2Y29kZWMvbXBlZ3ZpZGVvX2VuYzogQ2hlY2sgRkxWMSByZXNvbHV0aW9u IGxpbWl0cwpNSU1FLVZlcnNpb246IDEuMApDb250ZW50LVR5cGU6IHRleHQvcGxhaW47IGNoYXJz ZXQ9VVRGLTgKQ29udGVudC1UcmFuc2Zlci1FbmNvZGluZzogOGJpdAoKRm91bmQtYnk6IEVsaWFz IE15bGx5bcOka2kgPGVsaWFzLm15bGx5bWFraTA0cEBnbWFpbC5jb20+ClJldmlld2VkLWJ5OiBB bGV4YW5kZXIgU3RyYXNzZXIgPGVjbGlwc2U3QGdteC5uZXQ+ClNpZ25lZC1vZmYtYnk6IE1pY2hh ZWwgTmllZGVybWF5ZXIgPG1pY2hhZWxAbmllZGVybWF5ZXIuY2M+CihjaGVycnkgcGlja2VkIGZy b20gY29tbWl0IDgyN2MwNzMxNTRmNGNjMTdkMWJkMzc3N2RmZjNiNTgzNzAyMTBiY2IpClNpZ25l ZC1vZmYtYnk6IE1pY2hhZWwgTmllZGVybWF5ZXIgPG1pY2hhZWxAbmllZGVybWF5ZXIuY2M+Ci0t LQogbGliYXZjb2RlYy9tcGVndmlkZW9fZW5jLmMgfCA2ICsrKysrKwogMSBmaWxlIGNoYW5nZWQs IDYgaW5zZXJ0aW9ucygrKQoKZGlmZiAtLWdpdCBhL2xpYmF2Y29kZWMvbXBlZ3ZpZGVvX2VuYy5j IGIvbGliYXZjb2RlYy9tcGVndmlkZW9fZW5jLmMKaW5kZXggYTMzMmVkZDFhZS4uNzRiNTk4ZDA4 OSAxMDA2NDQKLS0tIGEvbGliYXZjb2RlYy9tcGVndmlkZW9fZW5jLmMKKysrIGIvbGliYXZjb2Rl Yy9tcGVndmlkZW9fZW5jLmMKQEAgLTU2Nyw2ICs1NjcsMTIgQEAgYXZfY29sZCBpbnQgZmZfbXB2 X2VuY29kZV9pbml0KEFWQ29kZWNDb250ZXh0ICphdmN0eCkKICAgICAgICAgYXZfbG9nKGF2Y3R4 LCBBVl9MT0dfRVJST1IsICJILjI2MyBkb2VzIG5vdCBzdXBwb3J0IHJlc29sdXRpb25zIGFib3Zl IDIwNDh4MTE1MlxuIik7CiAgICAgICAgIHJldHVybiBBVkVSUk9SKEVJTlZBTCk7CiAgICAgfQor ICAgIGlmIChzLT5jb2RlY19pZCA9PSBBVl9DT0RFQ19JRF9GTFYxICYmCisgICAgICAgIChhdmN0 eC0+d2lkdGggID4gNjU1MzUgfHwKKyAgICAgICAgIGF2Y3R4LT5oZWlnaHQgPiA2NTUzNSApKSB7 CisgICAgICAgIGF2X2xvZyhhdmN0eCwgQVZfTE9HX0VSUk9SLCAiRkxWIGRvZXMgbm90IHN1cHBv cnQgcmVzb2x1dGlvbnMgYWJvdmUgMTZiaXRcbiIpOworICAgICAgICByZXR1cm4gQVZFUlJPUihF SU5WQUwpOworICAgIH0KICAgICBpZiAoKHMtPmNvZGVjX2lkID09IEFWX0NPREVDX0lEX0gyNjMg IHx8CiAgICAgICAgICBzLT5jb2RlY19pZCA9PSBBVl9DT0RFQ19JRF9IMjYzUCB8fAogICAgICAg ICAgcy0+Y29kZWNfaWQgPT0gQVZfQ09ERUNfSURfUlYyMCkgJiYKLS0gCjIuNDkuMQoKCkZyb20g NzUzODVhNzI5ZjZjNGI4YTQ3ZTRjYzFmZTQ3MTcxNzI5ODJlZmFkMiBNb24gU2VwIDE3IDAwOjAw OjAwIDIwMDEKRnJvbTogTWljaGFlbCBOaWVkZXJtYXllciA8bWljaGFlbEBuaWVkZXJtYXllci5j Yz4KRGF0ZTogV2VkLCA4IEphbiAyMDI1IDAzOjExOjAyICswMTAwClN1YmplY3Q6IFtQQVRDSCAx OTAvNDM0XSBhdmZpbHRlci92Zl92MzYwOiBGaXggTlVMTCBwb2ludGVyIHVzZQpNSU1FLVZlcnNp b246IDEuMApDb250ZW50LVR5cGU6IHRleHQvcGxhaW47IGNoYXJzZXQ9VVRGLTgKQ29udGVudC1U cmFuc2Zlci1FbmNvZGluZzogOGJpdAoKRml4ZXM6IGFwcGx5aW5nIHplcm8gb2Zmc2V0IHRvIG51 bGwgcG9pbnRlcgpwYXJ0bHkgRml4ZXM6IHZlcnlzbWFsbC5mbHYKCkZvdW5kLWJ5OiBFbGlhcyBN eWxseW3DpGtpIDxlbGlhcy5teWxseW1ha2kwNHBAZ21haWwuY29tPgpTaWduZWQtb2ZmLWJ5OiBN aWNoYWVsIE5pZWRlcm1heWVyIDxtaWNoYWVsQG5pZWRlcm1heWVyLmNjPgooY2hlcnJ5IHBpY2tl ZCBmcm9tIGNvbW1pdCA2NmU5ODg4YmY0MTg5ODRhMjc0YmVkZGJjM2U4N2U5ZjFiOGY1MDc3KQpT aWduZWQtb2ZmLWJ5OiBNaWNoYWVsIE5pZWRlcm1heWVyIDxtaWNoYWVsQG5pZWRlcm1heWVyLmNj PgotLS0KIGxpYmF2ZmlsdGVyL3ZmX3YzNjAuYyB8IDQgKystLQogMSBmaWxlIGNoYW5nZWQsIDIg aW5zZXJ0aW9ucygrKSwgMiBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9saWJhdmZpbHRlci92 Zl92MzYwLmMgYi9saWJhdmZpbHRlci92Zl92MzYwLmMKaW5kZXggMTJlNDAyMDViYS4uNGJhMzg5 ZTMzNSAxMDA2NDQKLS0tIGEvbGliYXZmaWx0ZXIvdmZfdjM2MC5jCisrKyBiL2xpYmF2ZmlsdGVy L3ZmX3YzNjAuYwpAQCAtNDI1NSw4ICs0MjU1LDggQEAgc3RhdGljIGludCB2MzYwX3NsaWNlKEFW RmlsdGVyQ29udGV4dCAqY3R4LCB2b2lkICphcmcsIGludCBqb2JuciwgaW50IG5iX2pvYnMpCiAg ICAgICAgICAgICAgICAgaW50MTZfdCAqdSA9IHItPnVbcF0gKyAoKGogLSBzbGljZV9zdGFydCkg KiB1dl9saW5lc2l6ZSArIGkpICogZWxlbWVudHM7CiAgICAgICAgICAgICAgICAgaW50MTZfdCAq diA9IHItPnZbcF0gKyAoKGogLSBzbGljZV9zdGFydCkgKiB1dl9saW5lc2l6ZSArIGkpICogZWxl bWVudHM7CiAgICAgICAgICAgICAgICAgaW50MTZfdCAqa2VyID0gci0+a2VyW3BdICsgKChqIC0g c2xpY2Vfc3RhcnQpICogdXZfbGluZXNpemUgKyBpKSAqIGVsZW1lbnRzOwotICAgICAgICAgICAg ICAgIHVpbnQ4X3QgKm1hc2s4ID0gcCA/IE5VTEwgOiByLT5tYXNrICsgKChqIC0gc2xpY2Vfc3Rh cnQpICogcy0+cHJfd2lkdGhbMF0gKyBpKTsKLSAgICAgICAgICAgICAgICB1aW50MTZfdCAqbWFz azE2ID0gcCA/IE5VTEwgOiAodWludDE2X3QgKilyLT5tYXNrICsgKChqIC0gc2xpY2Vfc3RhcnQp ICogcy0+cHJfd2lkdGhbMF0gKyBpKTsKKyAgICAgICAgICAgICAgICB1aW50OF90ICAqbWFzazgg ID0gKHAgfHwgIXItPm1hc2spID8gTlVMTCA6IHItPm1hc2sgKyAoKGogLSBzbGljZV9zdGFydCkg KiBzLT5wcl93aWR0aFswXSArIGkpOworICAgICAgICAgICAgICAgIHVpbnQxNl90ICptYXNrMTYg PSAocCB8fCAhci0+bWFzaykgPyBOVUxMIDogKHVpbnQxNl90ICopci0+bWFzayArICgoaiAtIHNs aWNlX3N0YXJ0KSAqIHMtPnByX3dpZHRoWzBdICsgaSk7CiAgICAgICAgICAgICAgICAgaW50IGlu X21hc2ssIG91dF9tYXNrOwogCiAgICAgICAgICAgICAgICAgaWYgKHMtPm91dF90cmFuc3Bvc2Up Ci0tIAoyLjQ5LjEKCgpGcm9tIGFjOWM3MTBlMTgwODgwZDc3ZmQ2ODQ0Y2YzYTI0MzU2ODFiZjY0 MTkgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCkZyb206IE1pY2hhZWwgTmllZGVybWF5ZXIgPG1p Y2hhZWxAbmllZGVybWF5ZXIuY2M+CkRhdGU6IFdlZCwgMTUgSmFuIDIwMjUgMDM6MzA6MjEgKzAx MDAKU3ViamVjdDogW1BBVENIIDE5MS80MzRdIGF2dXRpbC9hdnN0cmluZzogZG9udCBtZXNzIHdp dGggTlVMTCBwb2ludGVycyBpbgogYXZfbWF0Y2hfbGlzdCgpCgpGaXhlczogYXBwbHlpbmcgemVy byBvZmZzZXQgdG8gbnVsbCBwb2ludGVyCgpTaWduZWQtb2ZmLWJ5OiBNaWNoYWVsIE5pZWRlcm1h eWVyIDxtaWNoYWVsQG5pZWRlcm1heWVyLmNjPgooY2hlcnJ5IHBpY2tlZCBmcm9tIGNvbW1pdCBj NmM1NDk0M2QxNjE4MTJiM2M0MDM0MTE2Y2IxNGYzZjVjMDVkYzQzKQpTaWduZWQtb2ZmLWJ5OiBN aWNoYWVsIE5pZWRlcm1heWVyIDxtaWNoYWVsQG5pZWRlcm1heWVyLmNjPgotLS0KIGxpYmF2dXRp bC9hdnN0cmluZy5jIHwgNiArKysrLS0KIDEgZmlsZSBjaGFuZ2VkLCA0IGluc2VydGlvbnMoKyks IDIgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvbGliYXZ1dGlsL2F2c3RyaW5nLmMgYi9saWJh dnV0aWwvYXZzdHJpbmcuYwppbmRleCAyMDcxZGQzNmE1Li44NzVlYjY5MWRiIDEwMDY0NAotLS0g YS9saWJhdnV0aWwvYXZzdHJpbmcuYworKysgYi9saWJhdnV0aWwvYXZzdHJpbmcuYwpAQCAtNDUy LDEwICs0NTIsMTIgQEAgaW50IGF2X21hdGNoX2xpc3QoY29uc3QgY2hhciAqbmFtZSwgY29uc3Qg Y2hhciAqbGlzdCwgY2hhciBzZXBhcmF0b3IpCiAgICAgICAgICAgICAgICAgaWYgKGsgJiYgKCFw W2tdIHx8IHBba10gPT0gc2VwYXJhdG9yKSkKICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIDE7 CiAgICAgICAgICAgICBxID0gc3RyY2hyKHEsIHNlcGFyYXRvcik7Ci0gICAgICAgICAgICBxICs9 ICEhcTsKKyAgICAgICAgICAgIGlmKHEpCisgICAgICAgICAgICAgICAgcSsrOwogICAgICAgICB9 CiAgICAgICAgIHAgPSBzdHJjaHIocCwgc2VwYXJhdG9yKTsKLSAgICAgICAgcCArPSAhIXA7Cisg ICAgICAgIGlmIChwKQorICAgICAgICAgICAgcCsrOwogICAgIH0KIAogICAgIHJldHVybiAwOwot LSAKMi40OS4xCgoKRnJvbSBjM2M3ZWNmZTQ4ZDQ2NGEwYjA2NTY0ZjJlOTI1MDRiMWQ5YzkxZDY5 IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBNaWNoYWVsIE5pZWRlcm1heWVyIDxtaWNo YWVsQG5pZWRlcm1heWVyLmNjPgpEYXRlOiBUaHUsIDE2IEphbiAyMDI1IDAwOjIyOjA1ICswMTAw ClN1YmplY3Q6IFtQQVRDSCAxOTIvNDM0XSBhdmZvcm1hdC9kYXNoZGVjOiBDaGVjayB3aGl0ZWxp c3QKCkZpeGVzOiBDVkUtMjAyMy02NjAyLCBWLiBEQVNIIFBsYXlsaXN0IFNTUkYKCkZvdW5kLWJ5 OiBIYXJ2ZXkgUGhpbGxpcHMgb2YgQW1hem9uIEVsZW1lbnQ1NSAoZWxlbWVudDU1KQpTaWduZWQt b2ZmLWJ5OiBNaWNoYWVsIE5pZWRlcm1heWVyIDxtaWNoYWVsQG5pZWRlcm1heWVyLmNjPgooY2hl cnJ5IHBpY2tlZCBmcm9tIGNvbW1pdCA0Yzk2ZDZiZjc1MzU3YWIxMzgwOGVmYzlmMDhjMWI0MWIx YmY1YmRmKQpTaWduZWQtb2ZmLWJ5OiBNaWNoYWVsIE5pZWRlcm1heWVyIDxtaWNoYWVsQG5pZWRl cm1heWVyLmNjPgotLS0KIGxpYmF2Zm9ybWF0L2Rhc2hkZWMuYyB8IDQgKystLQogMSBmaWxlIGNo YW5nZWQsIDIgaW5zZXJ0aW9ucygrKSwgMiBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9saWJh dmZvcm1hdC9kYXNoZGVjLmMgYi9saWJhdmZvcm1hdC9kYXNoZGVjLmMKaW5kZXggYTFkMjc0ZjJm MC4uNzFkNzkwNjdhOSAxMDA2NDQKLS0tIGEvbGliYXZmb3JtYXQvZGFzaGRlYy5jCisrKyBiL2xp YmF2Zm9ybWF0L2Rhc2hkZWMuYwpAQCAtNDQ2LDcgKzQ0Niw3IEBAIHN0YXRpYyBpbnQgb3Blbl91 cmwoQVZGb3JtYXRDb250ZXh0ICpzLCBBVklPQ29udGV4dCAqKnBiLCBjb25zdCBjaGFyICp1cmws CiAgICAgYXZfZnJlZXAocGIpOwogICAgIGF2X2RpY3RfY29weSgmdG1wLCAqb3B0cywgMCk7CiAg ICAgYXZfZGljdF9jb3B5KCZ0bXAsIG9wdHMyLCAwKTsKLSAgICByZXQgPSBhdmlvX29wZW4yKHBi LCB1cmwsIEFWSU9fRkxBR19SRUFELCBjLT5pbnRlcnJ1cHRfY2FsbGJhY2ssICZ0bXApOworICAg IHJldCA9IGZmaW9fb3Blbl93aGl0ZWxpc3QocGIsIHVybCwgQVZJT19GTEFHX1JFQUQsIGMtPmlu dGVycnVwdF9jYWxsYmFjaywgJnRtcCwgcy0+cHJvdG9jb2xfd2hpdGVsaXN0LCBzLT5wcm90b2Nv bF9ibGFja2xpc3QpOwogICAgIGlmIChyZXQgPj0gMCkgewogICAgICAgICAvLyB1cGRhdGUgY29v a2llcyBvbiBodHRwIHJlc3BvbnNlIHdpdGggc2V0Y29va2llcy4KICAgICAgICAgY2hhciAqbmV3 X2Nvb2tpZXMgPSBOVUxMOwpAQCAtMTIyNSw3ICsxMjI1LDcgQEAgc3RhdGljIGludCBwYXJzZV9t YW5pZmVzdChBVkZvcm1hdENvbnRleHQgKnMsIGNvbnN0IGNoYXIgKnVybCwgQVZJT0NvbnRleHQg KmluKQogICAgICAgICBjbG9zZV9pbiA9IDE7CiAKICAgICAgICAgYXZfZGljdF9jb3B5KCZvcHRz LCBjLT5hdmlvX29wdHMsIDApOwotICAgICAgICByZXQgPSBhdmlvX29wZW4yKCZpbiwgdXJsLCBB VklPX0ZMQUdfUkVBRCwgYy0+aW50ZXJydXB0X2NhbGxiYWNrLCAmb3B0cyk7CisgICAgICAgIHJl dCA9IGZmaW9fb3Blbl93aGl0ZWxpc3QoJmluLCB1cmwsIEFWSU9fRkxBR19SRUFELCBjLT5pbnRl cnJ1cHRfY2FsbGJhY2ssICZvcHRzLCBzLT5wcm90b2NvbF93aGl0ZWxpc3QsIHMtPnByb3RvY29s X2JsYWNrbGlzdCk7CiAgICAgICAgIGF2X2RpY3RfZnJlZSgmb3B0cyk7CiAgICAgICAgIGlmIChy ZXQgPCAwKQogICAgICAgICAgICAgcmV0dXJuIHJldDsKLS0gCjIuNDkuMQoKCkZyb20gNWVlNTZl YmQzMDQ4OGJlOWM0NGQzNzQ0NDU4MjIyNjczZGY1M2JmNSBNb24gU2VwIDE3IDAwOjAwOjAwIDIw MDEKRnJvbTogTWljaGFlbCBOaWVkZXJtYXllciA8bWljaGFlbEBuaWVkZXJtYXllci5jYz4KRGF0 ZTogU3VuLCAxOSBKYW4gMjAyNSAwMjowMjo1MiArMDEwMApTdWJqZWN0OiBbUEFUQ0ggMTkzLzQz NF0gYXZjb2RlYy9mZnYxZW5jOiBGaXggUkNUIGZvciBHQlIgY29sb3JzcGFjZQoKSXQgcGVyZm9y bXMgYmV0dGVyIHdoZW4gaXRzIGxlc3MgYnVnZ3kKCkNvbXByZXNzaW9uIGNoYW5nZXMgZm9yIHJn Yl9zY2FubGluZV9oYWxmX3Bpel9kd190MDggKHVzaW5nIGZsb2F0MTYgd2l0aCByZW1hcGluZykg ZnJvbQo1NjA4NiBieXRlIHRvIDM0MzcxCih3aXRoIGEgc2luZ2xlIHNsaWNlIGl0cyAyODEyMiBi eXRlKQoKcHJpb3IgcmVtYXAgaXQgd2FzIDE4ODE4NiBieXRlcwoKQUNFU19PVF9WV0dfU2FtcGxl RnJhbWVzL0FDRVNfT1RfVldHX1NhbXBsZUZyYW1lcyBpbXByb3ZlcyB0b28gYnV0IG9ubHkgYnkg YSBmcmFjdGlvbiBvZiBhIHBlcmNlbnQKClNwb25zb3JlZC1ieTogU292ZXJlaWduIFRlY2ggRnVu ZApTaWduZWQtb2ZmLWJ5OiBNaWNoYWVsIE5pZWRlcm1heWVyIDxtaWNoYWVsQG5pZWRlcm1heWVy LmNjPgooY2hlcnJ5IHBpY2tlZCBmcm9tIGNvbW1pdCA2MmM5OGNkZDU0OWE0NGQ1OWQ1YjAxZDQy ZGZiZTM1YWVkNDEzZDM3KQpTaWduZWQtb2ZmLWJ5OiBNaWNoYWVsIE5pZWRlcm1heWVyIDxtaWNo YWVsQG5pZWRlcm1heWVyLmNjPgotLS0KIGxpYmF2Y29kZWMvZmZ2MWVuYy5jIHwgNCArKysrCiAx IGZpbGUgY2hhbmdlZCwgNCBpbnNlcnRpb25zKCspCgpkaWZmIC0tZ2l0IGEvbGliYXZjb2RlYy9m ZnYxZW5jLmMgYi9saWJhdmNvZGVjL2ZmdjFlbmMuYwppbmRleCAzZTgwOTA2ZGQwLi43YjhlZDdh Y2M2IDEwMDY0NAotLS0gYS9saWJhdmNvZGVjL2ZmdjFlbmMuYworKysgYi9saWJhdmNvZGVjL2Zm djFlbmMuYwpAQCAtMTAwMiw2ICsxMDAyLDEwIEBAIHN0YXRpYyB2b2lkIGNob29zZV9yY3RfcGFy YW1zKGNvbnN0IEZGVjFDb250ZXh0ICpmLCBGRlYxU2xpY2VDb250ZXh0ICpzYywKICAgICAgICAg ICAgICAgICByID0gcFswXTsKICAgICAgICAgICAgICAgICBnID0gcFsxXTsKICAgICAgICAgICAg ICAgICBiID0gcFsyXTsKKyAgICAgICAgICAgIH0gZWxzZSBpZiAoZi0+dXNlMzJiaXQgfHwgdHJh bnNwYXJlbmN5KSB7CisgICAgICAgICAgICAgICAgZyA9ICooKGNvbnN0IHVpbnQxNl90ICopKHNy Y1swXSArIHgqMiArIHN0cmlkZVswXSp5KSk7CisgICAgICAgICAgICAgICAgYiA9ICooKGNvbnN0 IHVpbnQxNl90ICopKHNyY1sxXSArIHgqMiArIHN0cmlkZVsxXSp5KSk7CisgICAgICAgICAgICAg ICAgciA9ICooKGNvbnN0IHVpbnQxNl90ICopKHNyY1syXSArIHgqMiArIHN0cmlkZVsyXSp5KSk7 CiAgICAgICAgICAgICB9IGVsc2UgewogICAgICAgICAgICAgICAgIGIgPSAqKChjb25zdCB1aW50 MTZfdCopKHNyY1swXSArIHgqMiArIHN0cmlkZVswXSp5KSk7CiAgICAgICAgICAgICAgICAgZyA9 ICooKGNvbnN0IHVpbnQxNl90Kikoc3JjWzFdICsgeCoyICsgc3RyaWRlWzFdKnkpKTsKLS0gCjIu NDkuMQoKCkZyb20gMzBiZWY3OWM2OTI5NTQwNjU1Y2NmN2I4NmNlNTY1YjMxZjljNjU2NCBNb24g U2VwIDE3IDAwOjAwOjAwIDIwMDEKRnJvbTogTWljaGFlbCBOaWVkZXJtYXllciA8bWljaGFlbEBu aWVkZXJtYXllci5jYz4KRGF0ZTogVGh1LCAyNiBEZWMgMjAyNCAwMTo0Njo0OSArMDEwMApTdWJq ZWN0OiBbUEFUQ0ggMTk0LzQzNF0gYXZmb3JtYXQvdnFmOiBDaGVjayBhdmlvX3JlYWQoKSBpbiBh ZGRfbWV0YWRhdGEoKQoKRml4ZXM6IHVzZSBvZiB1bmluaXRpYWxpemVkIGRhdGEKRml4ZXM6IDM4 MzgyNTY0Mi9jbHVzdGVyZnV6ei10ZXN0Y2FzZS1taW5pbWl6ZWQtZmZtcGVnX0RFTVVYRVJfZnV6 emVyLTUzODAxNjg4MDExMjQzNTIKCkZvdW5kLWJ5OiBjb250aW51b3VzIGZ1enppbmcgcHJvY2Vz cyBodHRwczovL2dpdGh1Yi5jb20vZ29vZ2xlL29zcy1mdXp6L3RyZWUvbWFzdGVyL3Byb2plY3Rz L2ZmbXBlZwpTaWduZWQtb2ZmLWJ5OiBNaWNoYWVsIE5pZWRlcm1heWVyIDxtaWNoYWVsQG5pZWRl cm1heWVyLmNjPgooY2hlcnJ5IHBpY2tlZCBmcm9tIGNvbW1pdCBjNDNkYmVjYmRhZDE1MmE5MWVh ZGM3NTM4YjU0NTg1MmVlZTU2MmFlKQpTaWduZWQtb2ZmLWJ5OiBNaWNoYWVsIE5pZWRlcm1heWVy IDxtaWNoYWVsQG5pZWRlcm1heWVyLmNjPgotLS0KIGxpYmF2Zm9ybWF0L3ZxZi5jIHwgMyArKy0K IDEgZmlsZSBjaGFuZ2VkLCAyIGluc2VydGlvbnMoKyksIDEgZGVsZXRpb24oLSkKCmRpZmYgLS1n aXQgYS9saWJhdmZvcm1hdC92cWYuYyBiL2xpYmF2Zm9ybWF0L3ZxZi5jCmluZGV4IDQ4MjBlMDgx N2MuLjc5ZGViMzM3NDQgMTAwNjQ0Ci0tLSBhL2xpYmF2Zm9ybWF0L3ZxZi5jCisrKyBiL2xpYmF2 Zm9ybWF0L3ZxZi5jCkBAIC02Myw3ICs2Myw4IEBAIHN0YXRpYyB2b2lkIGFkZF9tZXRhZGF0YShB VkZvcm1hdENvbnRleHQgKnMsIHVpbnQzMl90IHRhZywKICAgICBidWYgPSBhdl9tYWxsb2MobGVu KzEpOwogICAgIGlmICghYnVmKQogICAgICAgICByZXR1cm47Ci0gICAgYXZpb19yZWFkKHMtPnBi LCBidWYsIGxlbik7CisgICAgaWYgKGxlbiAhPSBhdmlvX3JlYWQocy0+cGIsIGJ1ZiwgbGVuKSkK KyAgICAgICAgcmV0dXJuOwogICAgIGJ1ZltsZW5dID0gMDsKICAgICBBVl9XTDMyKGtleSwgdGFn KTsKICAgICBhdl9kaWN0X3NldCgmcy0+bWV0YWRhdGEsIGtleSwgYnVmLCBBVl9ESUNUX0RPTlRf U1RSRFVQX1ZBTCk7Ci0tIAoyLjQ5LjEKCgpGcm9tIGM4MjgxM2M5NjYwODRlNTUzYWJiMzVmMDBh ZWFhYjU5MDM4YjExZDkgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCkZyb206IE1pY2hhZWwgTmll ZGVybWF5ZXIgPG1pY2hhZWxAbmllZGVybWF5ZXIuY2M+CkRhdGU6IFR1ZSwgMzEgRGVjIDIwMjQg MDQ6MTM6MjUgKzAxMDAKU3ViamVjdDogW1BBVENIIDE5NS80MzRdIGF2Zm9ybWF0L3ZxZjogUHJv cGFnYXRlIGVycm9ycyBmcm9tIGFkZF9tZXRhZGF0YSgpCgpTdWdnZXN0ZWQtYnk6IE1hcnRvbiBC YWxpbnQgPGN1c0BwYXNzd2QuaHU+ClJldmlld2VkLWJ5OiBBbGV4YW5kZXIgU3RyYXNzZXIgPGVj bGlwc2U3QGdteC5uZXQ+ClNpZ25lZC1vZmYtYnk6IE1pY2hhZWwgTmllZGVybWF5ZXIgPG1pY2hh ZWxAbmllZGVybWF5ZXIuY2M+CihjaGVycnkgcGlja2VkIGZyb20gY29tbWl0IDQ5ZmEzZjZjNWJh NmQ0M2NjNGIzYWRlNGY4ZDlkYzJmZGJjNzFmMGEpClNpZ25lZC1vZmYtYnk6IE1pY2hhZWwgTmll ZGVybWF5ZXIgPG1pY2hhZWxAbmllZGVybWF5ZXIuY2M+Ci0tLQogbGliYXZmb3JtYXQvdnFmLmMg fCAyMSArKysrKysrKysrKysrKy0tLS0tLS0KIDEgZmlsZSBjaGFuZ2VkLCAxNCBpbnNlcnRpb25z KCspLCA3IGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL2xpYmF2Zm9ybWF0L3ZxZi5jIGIvbGli YXZmb3JtYXQvdnFmLmMKaW5kZXggNzlkZWIzMzc0NC4uNThiMTU0NmY1MyAxMDA2NDQKLS0tIGEv bGliYXZmb3JtYXQvdnFmLmMKKysrIGIvbGliYXZmb3JtYXQvdnFmLmMKQEAgLTUxLDIzICs1MSwy OCBAQCBzdGF0aWMgaW50IHZxZl9wcm9iZShjb25zdCBBVlByb2JlRGF0YSAqcHJvYmVfcGFja2V0 KQogICAgIHJldHVybiBBVlBST0JFX1NDT1JFX0VYVEVOU0lPTjsKIH0KIAotc3RhdGljIHZvaWQg YWRkX21ldGFkYXRhKEFWRm9ybWF0Q29udGV4dCAqcywgdWludDMyX3QgdGFnLAorc3RhdGljIGlu dCBhZGRfbWV0YWRhdGEoQVZGb3JtYXRDb250ZXh0ICpzLCB1aW50MzJfdCB0YWcsCiAgICAgICAg ICAgICAgICAgICAgICAgICAgdW5zaWduZWQgaW50IHRhZ19sZW4sIHVuc2lnbmVkIGludCByZW1h aW5pbmcpCiB7CiAgICAgaW50IGxlbiA9IEZGTUlOKHRhZ19sZW4sIHJlbWFpbmluZyk7CiAgICAg Y2hhciAqYnVmLCBrZXlbNV0gPSB7MH07CisgICAgaW50IHJldDsKIAogICAgIGlmIChsZW4gPT0g VUlOVF9NQVgpCi0gICAgICAgIHJldHVybjsKKyAgICAgICAgcmV0dXJuIEFWRVJST1JfSU5WQUxJ RERBVEE7CiAKICAgICBidWYgPSBhdl9tYWxsb2MobGVuKzEpOwogICAgIGlmICghYnVmKQotICAg ICAgICByZXR1cm47Ci0gICAgaWYgKGxlbiAhPSBhdmlvX3JlYWQocy0+cGIsIGJ1ZiwgbGVuKSkK LSAgICAgICAgcmV0dXJuOworICAgICAgICByZXR1cm4gQVZFUlJPUihFTk9NRU0pOworCisgICAg cmV0ID0gYXZpb19yZWFkKHMtPnBiLCBidWYsIGxlbik7CisgICAgaWYgKHJldCA8IDApCisgICAg ICAgIHJldHVybiByZXQ7CisgICAgaWYgKGxlbiAhPSByZXQpCisgICAgICAgIHJldHVybiBBVkVS Uk9SX0lOVkFMSUREQVRBOwogICAgIGJ1ZltsZW5dID0gMDsKICAgICBBVl9XTDMyKGtleSwgdGFn KTsKLSAgICBhdl9kaWN0X3NldCgmcy0+bWV0YWRhdGEsIGtleSwgYnVmLCBBVl9ESUNUX0RPTlRf U1RSRFVQX1ZBTCk7CisgICAgcmV0dXJuIGF2X2RpY3Rfc2V0KCZzLT5tZXRhZGF0YSwga2V5LCBi dWYsIEFWX0RJQ1RfRE9OVF9TVFJEVVBfVkFMKTsKIH0KIAogc3RhdGljIGNvbnN0IEFWTWV0YWRh dGFDb252IHZxZl9tZXRhZGF0YV9jb252W10gPSB7CkBAIC0xNjUsNyArMTcwLDkgQEAgc3RhdGlj IGludCB2cWZfcmVhZF9oZWFkZXIoQVZGb3JtYXRDb250ZXh0ICpzKQogICAgICAgICAgICAgYXZp b19za2lwKHMtPnBiLCBGRk1JTihsZW4sIGhlYWRlcl9zaXplKSk7CiAgICAgICAgICAgICBicmVh azsKICAgICAgICAgZGVmYXVsdDoKLSAgICAgICAgICAgIGFkZF9tZXRhZGF0YShzLCBjaHVua190 YWcsIGxlbiwgaGVhZGVyX3NpemUpOworICAgICAgICAgICAgcmV0ID0gYWRkX21ldGFkYXRhKHMs IGNodW5rX3RhZywgbGVuLCBoZWFkZXJfc2l6ZSk7CisgICAgICAgICAgICBpZiAocmV0IDwgMCkK KyAgICAgICAgICAgICAgICByZXR1cm4gcmV0OwogICAgICAgICAgICAgYnJlYWs7CiAgICAgICAg IH0KIAotLSAKMi40OS4xCgoKRnJvbSBmNzEwZDVhZjBhNzQ5YzBjMmUyOWVhYzNhMjAyYjIxMTc5 MTU2MmE3IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBNaWNoYWVsIE5pZWRlcm1heWVy IDxtaWNoYWVsQG5pZWRlcm1heWVyLmNjPgpEYXRlOiBXZWQsIDEgSmFuIDIwMjUgMDU6MDM6MDgg KzAxMDAKU3ViamVjdDogW1BBVENIIDE5Ni80MzRdIGF2Y29kZWMvY2JzX3ZwOTogSW5pdGlhbGl6 ZSBWUDlSYXdTdXBlcmZyYW1lSW5kZXgKCkZpeGVzOiB1c2Utb2YtdW5pbml0aWFsaXplZC12YWx1 ZQpGaXhlczogNzA5MDcvY2x1c3RlcmZ1enotdGVzdGNhc2UtbWluaW1pemVkLWZmbXBlZ19CU0Zf VlA5X01FVEFEQVRBX2Z1enplci02MzM5MzYzMjA4NzU3MjQ4CgpGb3VuZC1ieTogY29udGludW91 cyBmdXp6aW5nIHByb2Nlc3MgaHR0cHM6Ly9naXRodWIuY29tL2dvb2dsZS9vc3MtZnV6ei90cmVl L21hc3Rlci9wcm9qZWN0cy9mZm1wZWcKU2lnbmVkLW9mZi1ieTogTWljaGFlbCBOaWVkZXJtYXll ciA8bWljaGFlbEBuaWVkZXJtYXllci5jYz4KKGNoZXJyeSBwaWNrZWQgZnJvbSBjb21taXQgZTgx ZDQxMDI0MmVhNjA0YzRmNjY3ZGE0YTQxNTgzNmMxNTc1ZDcyZikKU2lnbmVkLW9mZi1ieTogTWlj aGFlbCBOaWVkZXJtYXllciA8bWljaGFlbEBuaWVkZXJtYXllci5jYz4KLS0tCiBsaWJhdmNvZGVj L2Nic192cDkuYyB8IDIgKy0KIDEgZmlsZSBjaGFuZ2VkLCAxIGluc2VydGlvbigrKSwgMSBkZWxl dGlvbigtKQoKZGlmZiAtLWdpdCBhL2xpYmF2Y29kZWMvY2JzX3ZwOS5jIGIvbGliYXZjb2RlYy9j YnNfdnA5LmMKaW5kZXggODE2ZDA2ZGEwNC4uZmY5OWZlMzJmYiAxMDA2NDQKLS0tIGEvbGliYXZj b2RlYy9jYnNfdnA5LmMKKysrIGIvbGliYXZjb2RlYy9jYnNfdnA5LmMKQEAgLTM3NSw3ICszNzUs NyBAQCBzdGF0aWMgaW50IGNic192cDlfc3BsaXRfZnJhZ21lbnQoQ29kZWRCaXRzdHJlYW1Db250 ZXh0ICpjdHgsCiAgICAgc3VwZXJmcmFtZV9oZWFkZXIgPSBmcmFnLT5kYXRhW2ZyYWctPmRhdGFf c2l6ZSAtIDFdOwogCiAgICAgaWYgKChzdXBlcmZyYW1lX2hlYWRlciAmIDB4ZTApID09IDB4YzAp IHsKLSAgICAgICAgVlA5UmF3U3VwZXJmcmFtZUluZGV4IHNmaTsKKyAgICAgICAgVlA5UmF3U3Vw ZXJmcmFtZUluZGV4IHNmaSA9IHswfTsKICAgICAgICAgR2V0Qml0Q29udGV4dCBnYmM7CiAgICAg ICAgIHNpemVfdCBpbmRleF9zaXplLCBwb3M7CiAgICAgICAgIGludCBpOwotLSAKMi40OS4xCgoK RnJvbSAxNjQ2ODQwOTg4ZWQxMmFlZmMzNWVmMjgzYmI0NGY5MWRmMjc3YWQ5IE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBNaWNoYWVsIE5pZWRlcm1heWVyIDxtaWNoYWVsQG5pZWRlcm1h eWVyLmNjPgpEYXRlOiBUaHUsIDI2IERlYyAyMDI0IDAyOjUzOjQ1ICswMTAwClN1YmplY3Q6IFtQ QVRDSCAxOTcvNDM0XSBhdmZvcm1hdC93dHZkZWM6IEluaXRpYWxpemUgYnVmCgpmZl9wYXJzZV9t cGVnMl9kZXNjcmlwdG9yKCkgcmVhZHMgb3ZlciB3aGF0IGlzIGluaXRpYWxpemVkCkZpeGVzOiB1 c2Ugb2YgdW5pbml0aWFsaXplZCBtZW1vcnkKRml4ZXM6IDM4MzgyNTY0NS9jbHVzdGVyZnV6ei10 ZXN0Y2FzZS1taW5pbWl6ZWQtZmZtcGVnX2RlbV9XVFZfZnV6emVyLTUxNDQxMzA2MTg5ODI0MDAK CkZvdW5kLWJ5OiBjb250aW51b3VzIGZ1enppbmcgcHJvY2VzcyBodHRwczovL2dpdGh1Yi5jb20v Z29vZ2xlL29zcy1mdXp6L3RyZWUvbWFzdGVyL3Byb2plY3RzL2ZmbXBlZwpTaWduZWQtb2ZmLWJ5 OiBNaWNoYWVsIE5pZWRlcm1heWVyIDxtaWNoYWVsQG5pZWRlcm1heWVyLmNjPgooY2hlcnJ5IHBp Y2tlZCBmcm9tIGNvbW1pdCAxN2IwMTljNTE3YWYyNmM2ZDJmMGM2MjY2OTM4YzYwZDM2ZGIxZmEz KQpTaWduZWQtb2ZmLWJ5OiBNaWNoYWVsIE5pZWRlcm1heWVyIDxtaWNoYWVsQG5pZWRlcm1heWVy LmNjPgotLS0KIGxpYmF2Zm9ybWF0L3d0dmRlYy5jIHwgMiArLQogMSBmaWxlIGNoYW5nZWQsIDEg aW5zZXJ0aW9uKCspLCAxIGRlbGV0aW9uKC0pCgpkaWZmIC0tZ2l0IGEvbGliYXZmb3JtYXQvd3R2 ZGVjLmMgYi9saWJhdmZvcm1hdC93dHZkZWMuYwppbmRleCA3MzBjN2ZjYTc4Li4yMWM5NjQ5ODY5 IDEwMDY0NAotLS0gYS9saWJhdmZvcm1hdC93dHZkZWMuYworKysgYi9saWJhdmZvcm1hdC93dHZk ZWMuYwpAQCAtODMzLDcgKzgzMyw3IEBAIHN0YXRpYyBpbnQgcGFyc2VfY2h1bmtzKEFWRm9ybWF0 Q29udGV4dCAqcywgaW50IG1vZGUsIGludDY0X3Qgc2Vla3RzLCBpbnQgKmxlbl9wCiAgICAgICAg ICAgICBpbnQgc3RyZWFtX2luZGV4ID0gZmZfZmluZF9zdHJlYW1faW5kZXgocywgc2lkKTsKICAg ICAgICAgICAgIGlmIChzdHJlYW1faW5kZXggPj0gMCkgewogICAgICAgICAgICAgICAgIEFWU3Ry ZWFtICpzdCA9IHMtPnN0cmVhbXNbc3RyZWFtX2luZGV4XTsKLSAgICAgICAgICAgICAgICB1aW50 OF90IGJ1ZlsyNThdOworICAgICAgICAgICAgICAgIHVpbnQ4X3QgYnVmWzI1OF0gPSB7MH07CiAg ICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCAqcGJ1ZiA9IGJ1ZjsKICAgICAgICAgICAgICAg ICBpbnQgYnVmX3NpemU7CiAKLS0gCjIuNDkuMQoKCkZyb20gNDNlYWNhNTRiYzg4Zjg2YmU4NGIz YzdiMjc2YmQwM2E3MWE3MjY1MyBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKRnJvbTogTWljaGFl bCBOaWVkZXJtYXllciA8bWljaGFlbEBuaWVkZXJtYXllci5jYz4KRGF0ZTogVGh1LCAyNiBEZWMg MjAyNCAwMzowNzo1MSArMDEwMApTdWJqZWN0OiBbUEFUQ0ggMTk4LzQzNF0gYXZmb3JtYXQvaXBt b3ZpZTogQ2hlY2sgc2lnbmF0dXJlX2J1ZmZlciByZWFkCgpGaXhlczogdXNlIG9mIHVuaW5pdGls YWl6ZWQgZGF0YQpGaXhlczogMzg1MTY3MDQ3L2NsdXN0ZXJmdXp6LXRlc3RjYXNlLW1pbmltaXpl ZC1mZm1wZWdfZGVtX0lQTU9WSUVfZnV6emVyLTU5NDE0Nzc1MDU1NjQ2NzIKCkZvdW5kLWJ5OiBj b250aW51b3VzIGZ1enppbmcgcHJvY2VzcyBodHRwczovL2dpdGh1Yi5jb20vZ29vZ2xlL29zcy1m dXp6L3RyZWUvbWFzdGVyL3Byb2plY3RzL2ZmbXBlZwpTaWduZWQtb2ZmLWJ5OiBNaWNoYWVsIE5p ZWRlcm1heWVyIDxtaWNoYWVsQG5pZWRlcm1heWVyLmNjPgooY2hlcnJ5IHBpY2tlZCBmcm9tIGNv bW1pdCA3ODhhYmUwZDI1M2IyMDM0YWYxNTg3NmQ3ODg5MjY1ZDQ3NDZkZjJiKQpTaWduZWQtb2Zm LWJ5OiBNaWNoYWVsIE5pZWRlcm1heWVyIDxtaWNoYWVsQG5pZWRlcm1heWVyLmNjPgotLS0KIGxp YmF2Zm9ybWF0L2lwbW92aWUuYyB8IDMgKystCiAxIGZpbGUgY2hhbmdlZCwgMiBpbnNlcnRpb25z KCspLCAxIGRlbGV0aW9uKC0pCgpkaWZmIC0tZ2l0IGEvbGliYXZmb3JtYXQvaXBtb3ZpZS5jIGIv bGliYXZmb3JtYXQvaXBtb3ZpZS5jCmluZGV4IDVkMTc0ODk1M2EuLjM3MDFiZTI3NmYgMTAwNjQ0 Ci0tLSBhL2xpYmF2Zm9ybWF0L2lwbW92aWUuYworKysgYi9saWJhdmZvcm1hdC9pcG1vdmllLmMK QEAgLTYxNCw3ICs2MTQsOCBAQCBzdGF0aWMgaW50IGlwbW92aWVfcmVhZF9oZWFkZXIoQVZGb3Jt YXRDb250ZXh0ICpzKQogCiAgICAgaXBtb3ZpZS0+YXZmID0gczsKIAotICAgIGF2aW9fcmVhZChw Yiwgc2lnbmF0dXJlX2J1ZmZlciwgc2l6ZW9mKHNpZ25hdHVyZV9idWZmZXIpKTsKKyAgICBpZiAo YXZpb19yZWFkKHBiLCBzaWduYXR1cmVfYnVmZmVyLCBzaXplb2Yoc2lnbmF0dXJlX2J1ZmZlcikp ICE9IHNpemVvZihzaWduYXR1cmVfYnVmZmVyKSkKKyAgICAgICAgcmV0dXJuIEFWRVJST1JfSU5W QUxJRERBVEE7CiAgICAgd2hpbGUgKG1lbWNtcChzaWduYXR1cmVfYnVmZmVyLCBzaWduYXR1cmUs IHNpemVvZihzaWduYXR1cmUpKSkgewogICAgICAgICBtZW1tb3ZlKHNpZ25hdHVyZV9idWZmZXIs IHNpZ25hdHVyZV9idWZmZXIgKyAxLCBzaXplb2Yoc2lnbmF0dXJlX2J1ZmZlcikgLSAxKTsKICAg ICAgICAgc2lnbmF0dXJlX2J1ZmZlcltzaXplb2Yoc2lnbmF0dXJlX2J1ZmZlcikgLSAxXSA9IGF2 aW9fcjgocGIpOwotLSAKMi40OS4xCgoKRnJvbSA1ZjMzN2JkNzk4MzdlMWY3YTk0ZDkzNGRlMjE3 MjkwNjJhY2Q0MGI3IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBNaWNoYWVsIE5pZWRl cm1heWVyIDxtaWNoYWVsQG5pZWRlcm1heWVyLmNjPgpEYXRlOiBUaHUsIDI2IERlYyAyMDI0IDAz OjI4OjUzICswMTAwClN1YmplY3Q6IFtQQVRDSCAxOTkvNDM0XSBhdmZvcm1hdC9pYW1mX3JlYWRl cjogSW5pdGlhbGl6ZSBwYWRkaW5nIGFuZCBjaGVjawogcmVhZCBpbiBmZl9pYW1mX3JlYWRfcGFj a2V0KCkKCkZpeGVzOiBVc2Ugb2YgdW5pbml0aWFsaXplZCBtZW1vcnkKRml4ZXM6IDM3NzY0MjMx Mi9jbHVzdGVyZnV6ei10ZXN0Y2FzZS1taW5pbWl6ZWQtZmZtcGVnX2RlbV9JQU1GX2Z1enplci00 NTU0NTUwOTg1NDI0ODk2CgpGb3VuZC1ieTogY29udGludW91cyBmdXp6aW5nIHByb2Nlc3MgaHR0 cHM6Ly9naXRodWIuY29tL2dvb2dsZS9vc3MtZnV6ei90cmVlL21hc3Rlci9wcm9qZWN0cy9mZm1w ZWcKU2lnbmVkLW9mZi1ieTogTWljaGFlbCBOaWVkZXJtYXllciA8bWljaGFlbEBuaWVkZXJtYXll ci5jYz4KKGNoZXJyeSBwaWNrZWQgZnJvbSBjb21taXQgYWVjMjkzMzM0NGIyYjMyZmM5MzFiZGYw YjQ2ZWVmMWJkNDIyMjVmZikKU2lnbmVkLW9mZi1ieTogTWljaGFlbCBOaWVkZXJtYXllciA8bWlj aGFlbEBuaWVkZXJtYXllci5jYz4KLS0tCiBsaWJhdmZvcm1hdC9pYW1mX3JlYWRlci5jIHwgNCAr KystCiAxIGZpbGUgY2hhbmdlZCwgMyBpbnNlcnRpb25zKCspLCAxIGRlbGV0aW9uKC0pCgpkaWZm IC0tZ2l0IGEvbGliYXZmb3JtYXQvaWFtZl9yZWFkZXIuYyBiL2xpYmF2Zm9ybWF0L2lhbWZfcmVh ZGVyLmMKaW5kZXggOWYzNDY5YjY0Zi4uZDMzMWUxMzE1ZSAxMDA2NDQKLS0tIGEvbGliYXZmb3Jt YXQvaWFtZl9yZWFkZXIuYworKysgYi9saWJhdmZvcm1hdC9pYW1mX3JlYWRlci5jCkBAIC0yODIs NyArMjgyLDcgQEAgaW50IGZmX2lhbWZfcmVhZF9wYWNrZXQoQVZGb3JtYXRDb250ZXh0ICpzLCBJ QU1GRGVtdXhDb250ZXh0ICpjLAogICAgIGludCByZWFkID0gMDsKIAogICAgIHdoaWxlICgxKSB7 Ci0gICAgICAgIHVpbnQ4X3QgaGVhZGVyW01BWF9JQU1GX09CVV9IRUFERVJfU0laRSArIEFWX0lO UFVUX0JVRkZFUl9QQURESU5HX1NJWkVdOworICAgICAgICB1aW50OF90IGhlYWRlcltNQVhfSUFN Rl9PQlVfSEVBREVSX1NJWkUgKyBBVl9JTlBVVF9CVUZGRVJfUEFERElOR19TSVpFXSA9IHswfTsK ICAgICAgICAgZW51bSBJQU1GX09CVV9UeXBlIHR5cGU7CiAgICAgICAgIHVuc2lnbmVkIG9idV9z aXplOwogICAgICAgICB1bnNpZ25lZCBza2lwX3NhbXBsZXMsIGRpc2NhcmRfcGFkZGluZzsKQEAg LTI5NCw2ICsyOTQsOCBAQCBpbnQgZmZfaWFtZl9yZWFkX3BhY2tldChBVkZvcm1hdENvbnRleHQg KnMsIElBTUZEZW11eENvbnRleHQgKmMsCiAgICAgICAgIHNpemUgPSBhdmlvX3JlYWQocGIsIGhl YWRlciwgRkZNSU4oTUFYX0lBTUZfT0JVX0hFQURFUl9TSVpFLCBtYXhfc2l6ZSkpOwogICAgICAg ICBpZiAoc2l6ZSA8IDApCiAgICAgICAgICAgICByZXR1cm4gc2l6ZTsKKyAgICAgICAgaWYgKHNp emUgIT0gRkZNSU4oTUFYX0lBTUZfT0JVX0hFQURFUl9TSVpFLCBtYXhfc2l6ZSkpCisgICAgICAg ICAgICByZXR1cm4gQVZFUlJPUl9JTlZBTElEREFUQTsKIAogICAgICAgICBsZW4gPSBmZl9pYW1m X3BhcnNlX29idV9oZWFkZXIoaGVhZGVyLCBzaXplLCAmb2J1X3NpemUsICZzdGFydF9wb3MsICZ0 eXBlLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJnNraXBfc2FtcGxl cywgJmRpc2NhcmRfcGFkZGluZyk7Ci0tIAoyLjQ5LjEKCgpGcm9tIDI5M2U0ZGRkOTg2Zjk3NjIy ZDg4NzAwMjgyMGM2MWU4OTVhMzQ4ZGIgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCkZyb206IE1p Y2hhZWwgTmllZGVybWF5ZXIgPG1pY2hhZWxAbmllZGVybWF5ZXIuY2M+CkRhdGU6IFNhdCwgMzAg Tm92IDIwMjQgMDE6NDg6MjIgKzAxMDAKU3ViamVjdDogW1BBVENIIDIwMC80MzRdIGF2Y29kZWMv aHVmZnl1dmRlYzogSW5pdGlhbGl6ZSB3aG9sZSBvdXRwdXQgZm9yCiBkZWNvZGVfZ3JheV9iaXRz dHJlYW0oKQoKRml4ZXM6IHVzZSBvZiB1bmluaXRpYWxpemVkIG1lbW9yeQpGaXhlczogMzc1Mjg2 MjM4L2NsdXN0ZXJmdXp6LXRlc3RjYXNlLW1pbmltaXplZC1mZm1wZWdfQVZfQ09ERUNfSURfSFlN VF9mdXp6ZXItNjM1MjU0Njg1NDE0MTk1MgoKRm91bmQtYnk6IGNvbnRpbnVvdXMgZnV6emluZyBw cm9jZXNzIGh0dHBzOi8vZ2l0aHViLmNvbS9nb29nbGUvb3NzLWZ1enovdHJlZS9tYXN0ZXIvcHJv amVjdHMvZmZtcGVnClNpZ25lZC1vZmYtYnk6IE1pY2hhZWwgTmllZGVybWF5ZXIgPG1pY2hhZWxA bmllZGVybWF5ZXIuY2M+CihjaGVycnkgcGlja2VkIGZyb20gY29tbWl0IGVmNzE1NTJjZjk3MDg3 NjA4NWQ5OTgzNGFiZGI4ZTQyOWFlYTk3MzApClNpZ25lZC1vZmYtYnk6IE1pY2hhZWwgTmllZGVy bWF5ZXIgPG1pY2hhZWxAbmllZGVybWF5ZXIuY2M+Ci0tLQogbGliYXZjb2RlYy9odWZmeXV2ZGVj LmMgfCAyICsrCiAxIGZpbGUgY2hhbmdlZCwgMiBpbnNlcnRpb25zKCspCgpkaWZmIC0tZ2l0IGEv bGliYXZjb2RlYy9odWZmeXV2ZGVjLmMgYi9saWJhdmNvZGVjL2h1ZmZ5dXZkZWMuYwppbmRleCBh OGNjYjcyNGY1Li5jOTg5MDRkNDk3IDEwMDY0NAotLS0gYS9saWJhdmNvZGVjL2h1ZmZ5dXZkZWMu YworKysgYi9saWJhdmNvZGVjL2h1ZmZ5dXZkZWMuYwpAQCAtNzgzLDYgKzc4Myw4IEBAIHN0YXRp YyB2b2lkIGRlY29kZV9ncmF5X2JpdHN0cmVhbShIWXV2RGVjQ29udGV4dCAqcywgaW50IGNvdW50 KQogICAgICAgICBmb3IgKGkgPSAwOyBpIDwgY291bnQgJiYgQklUU19MRUZUKHJlLCAmcy0+Z2Ip ID4gMDsgaSsrKSB7CiAgICAgICAgICAgICBSRUFEXzJQSVgocy0+dGVtcFswXVsyICogaV0sIHMt PnRlbXBbMF1bMiAqIGkgKyAxXSwgMCk7CiAgICAgICAgIH0KKyAgICAgICAgZm9yICg7IGkgPCBj b3VudDsgaSsrKQorICAgICAgICAgICAgcy0+dGVtcFswXVsyICogaV0gPSBzLT50ZW1wWzBdWzIg KiBpICsgMV0gPSAwOwogICAgIH0gZWxzZSB7CiAgICAgICAgIGZvciAoaSA9IDA7IGkgPCBjb3Vu dDsgaSsrKSB7CiAgICAgICAgICAgICBSRUFEXzJQSVgocy0+dGVtcFswXVsyICogaV0sIHMtPnRl bXBbMF1bMiAqIGkgKyAxXSwgMCk7Ci0tIAoyLjQ5LjEKCgpGcm9tIGE3YTZkOTJlODQxODE1Nzgw ZjFmYzEzN2U2MGNjODgzMTdmNjM0YmQgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCkZyb206IE1p Y2hhZWwgTmllZGVybWF5ZXIgPG1pY2hhZWxAbmllZGVybWF5ZXIuY2M+CkRhdGU6IE1vbiwgMjMg U2VwIDIwMjQgMjA6MDU6MzcgKzAyMDAKU3ViamVjdDogW1BBVENIIDIwMS80MzRdIGF2Zm9ybWF0 L214ZmRlYzogQ2hlY2sgYXZpb19yZWFkKCkgc3VjY2VzcyBpbgogbXhmX2RlY3J5cHRfdHJpcGxl dCgpCgpGaXhlczogVXNlIG9mIHVuaW5pdGlhbGl6ZWQgbWVtb3J5CkZpeGVzOiA3MTQ0NC9jbHVz dGVyZnV6ei10ZXN0Y2FzZS1taW5pbWl6ZWQtZmZtcGVnX2RlbV9NWEZfZnV6emVyLTU0NDg1OTc1 NjEyMTI5MjgKCkZvdW5kLWJ5OiBjb250aW51b3VzIGZ1enppbmcgcHJvY2VzcyBodHRwczovL2dp dGh1Yi5jb20vZ29vZ2xlL29zcy1mdXp6L3RyZWUvbWFzdGVyL3Byb2plY3RzL2ZmbXBlZwpTaWdu ZWQtb2ZmLWJ5OiBNaWNoYWVsIE5pZWRlcm1heWVyIDxtaWNoYWVsQG5pZWRlcm1heWVyLmNjPgoo Y2hlcnJ5IHBpY2tlZCBmcm9tIGNvbW1pdCA2ZWNjOTZmNGQwOGQ3NGIwNTkwYWIwM2YzOWY5M2Yz ODY5MTBjNGMwKQpTaWduZWQtb2ZmLWJ5OiBNaWNoYWVsIE5pZWRlcm1heWVyIDxtaWNoYWVsQG5p ZWRlcm1heWVyLmNjPgotLS0KIGxpYmF2Zm9ybWF0L214ZmRlYy5jIHwgMyArKy0KIDEgZmlsZSBj aGFuZ2VkLCAyIGluc2VydGlvbnMoKyksIDEgZGVsZXRpb24oLSkKCmRpZmYgLS1naXQgYS9saWJh dmZvcm1hdC9teGZkZWMuYyBiL2xpYmF2Zm9ybWF0L214ZmRlYy5jCmluZGV4IGEyNjMyMzkyODgu LjY4MmY3MjQyNjAgMTAwNjQ0Ci0tLSBhL2xpYmF2Zm9ybWF0L214ZmRlYy5jCisrKyBiL2xpYmF2 Zm9ybWF0L214ZmRlYy5jCkBAIC02NzEsNyArNjcxLDggQEAgc3RhdGljIGludCBteGZfZGVjcnlw dF90cmlwbGV0KEFWRm9ybWF0Q29udGV4dCAqcywgQVZQYWNrZXQgKnBrdCwgS0xWUGFja2V0ICpr bHYKICAgICBpZiAoc2l6ZSA8IDMyIHx8IHNpemUgLSAzMiA8IG9yaWdfc2l6ZSB8fCAoaW50KW9y aWdfc2l6ZSAhPSBvcmlnX3NpemUpCiAgICAgICAgIHJldHVybiBBVkVSUk9SX0lOVkFMSUREQVRB OwogICAgIGF2aW9fcmVhZChwYiwgaXZlYywgMTYpOwotICAgIGF2aW9fcmVhZChwYiwgdG1wYnVm LCAxNik7CisgICAgaWYgKGF2aW9fcmVhZChwYiwgdG1wYnVmLCAxNikgIT0gMTYpCisgICAgICAg IHJldHVybiBBVkVSUk9SX0lOVkFMSUREQVRBOwogICAgIGlmIChteGYtPmFlc2MpCiAgICAgICAg IGF2X2Flc19jcnlwdChteGYtPmFlc2MsIHRtcGJ1ZiwgdG1wYnVmLCAxLCBpdmVjLCAxKTsKICAg ICBpZiAobWVtY21wKHRtcGJ1ZiwgY2hlY2t2LCAxNikpCi0tIAoyLjQ5LjEKCgpGcm9tIGRjMDdm OTg5MzRlZGIwZDc4ZDdhN2NkYWNkNjUxODhhZjk0MjMwNDUgTW9uIFNlcCAxNyAwMDowMDowMCAy MDAxCkZyb206IE1pY2hhZWwgTmllZGVybWF5ZXIgPG1pY2hhZWxAbmllZGVybWF5ZXIuY2M+CkRh dGU6IFRodSwgMjMgSmFuIDIwMjUgMDE6MjE6NTkgKzAxMDAKU3ViamVjdDogW1BBVENIIDIwMi80 MzRdIENoYW5nZWxvZzogdXBkYXRlCgpTaWduZWQtb2ZmLWJ5OiBNaWNoYWVsIE5pZWRlcm1heWVy IDxtaWNoYWVsQG5pZWRlcm1heWVyLmNjPgotLS0KIENoYW5nZWxvZyB8IDE4NiArKysrKysrKysr KysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysKIDEgZmlsZSBjaGFu Z2VkLCAxODYgaW5zZXJ0aW9ucygrKQoKZGlmZiAtLWdpdCBhL0NoYW5nZWxvZyBiL0NoYW5nZWxv ZwppbmRleCAxN2JlYzNjZWVlLi41NmY3OTkzZTcyIDEwMDY0NAotLS0gYS9DaGFuZ2Vsb2cKKysr IGIvQ2hhbmdlbG9nCkBAIC0xLDYgKzEsMTkyIEBACiBFbnRyaWVzIGFyZSBzb3J0ZWQgY2hyb25v bG9naWNhbGx5IGZyb20gb2xkZXN0IHRvIHlvdW5nZXN0IHdpdGhpbiBlYWNoIHJlbGVhc2UsCiBy ZWxlYXNlcyBhcmUgc29ydGVkIGZyb20geW91bmdlc3QgdG8gb2xkZXN0LgogCit2ZXJzaW9uIDcu MS4xOgorIGF2Zm9ybWF0L214ZmRlYzogQ2hlY2sgYXZpb19yZWFkKCkgc3VjY2VzcyBpbiBteGZf ZGVjcnlwdF90cmlwbGV0KCkKKyBhdmNvZGVjL2h1ZmZ5dXZkZWM6IEluaXRpYWxpemUgd2hvbGUg b3V0cHV0IGZvciBkZWNvZGVfZ3JheV9iaXRzdHJlYW0oKQorIGF2Zm9ybWF0L2lhbWZfcmVhZGVy OiBJbml0aWFsaXplIHBhZGRpbmcgYW5kIGNoZWNrIHJlYWQgaW4gZmZfaWFtZl9yZWFkX3BhY2tl dCgpCisgYXZmb3JtYXQvaXBtb3ZpZTogQ2hlY2sgc2lnbmF0dXJlX2J1ZmZlciByZWFkCisgYXZm b3JtYXQvd3R2ZGVjOiBJbml0aWFsaXplIGJ1ZgorIGF2Y29kZWMvY2JzX3ZwOTogSW5pdGlhbGl6 ZSBWUDlSYXdTdXBlcmZyYW1lSW5kZXgKKyBhdmZvcm1hdC92cWY6IFByb3BhZ2F0ZSBlcnJvcnMg ZnJvbSBhZGRfbWV0YWRhdGEoKQorIGF2Zm9ybWF0L3ZxZjogQ2hlY2sgYXZpb19yZWFkKCkgaW4g YWRkX21ldGFkYXRhKCkKKyBhdmNvZGVjL2ZmdjFlbmM6IEZpeCBSQ1QgZm9yIEdCUiBjb2xvcnNw YWNlCisgYXZmb3JtYXQvZGFzaGRlYzogQ2hlY2sgd2hpdGVsaXN0CisgYXZ1dGlsL2F2c3RyaW5n OiBkb250IG1lc3Mgd2l0aCBOVUxMIHBvaW50ZXJzIGluIGF2X21hdGNoX2xpc3QoKQorIGF2Zmls dGVyL3ZmX3YzNjA6IEZpeCBOVUxMIHBvaW50ZXIgdXNlCisgYXZjb2RlYy9tcGVndmlkZW9fZW5j OiBDaGVjayBGTFYxIHJlc29sdXRpb24gbGltaXRzCisgYXZjb2RlYy9mZnYxZW5jOiBGaXggaGFu ZGxpbmcgb2YgMzJiaXQgdW5zaWduZWQgc3ltYm9scworIGF2Zm9ybWF0L21vdjogcGVyZm9ybSBz YW5pdHkgY2hlY2tzIGZvciBoZWlmIGJlZm9yZSBpbmRleCBidWlsZGluZworIGF2Zm9ybWF0L21v djogRmFjdG9yaXplIHNhbml0eSBjaGVjayBvdXQKKyBhdmNvZGVjL3ZjMWRlYzogQ2xlYXIgYmxv Y2tfaW5kZXggaW4gdmMxX2RlY29kZV9yZXNldCgpCisgYXZjb2RlYy9hYWNzYnJfdGVtcGxhdGU6 IENsZWFyIG5fcSBvbiBlcnJvcgorIGF2Zm9ybWF0L2lhbWZfcGFyc2U6IENoZWNrIG91dHB1dF9j aGFubmVsX2NvdW50CisgYXZjb2RlYy9vc3E6IEZpeGVzIHNldmVyYWwgdW5kZWZpbmVkIG92ZXJm bG93cyBpbiBkb19kZWNvZGUoKQorIHN3c2NhbGUvb3V0cHV0OiBGaXggdW5kZWZpbmVkIG92ZXJm bG93IGluIHl1djJyZ2JhNjRfZnVsbF9YX2NfdGVtcGxhdGUoKQorIGF2ZmlsdGVyL2FmX3Bhbjog Rml4IHNzY2FuZigpIHVzZQorIGF2ZmlsdGVyL3ZmX2dyYXl3b3JsZDogVXNlIHRoZSBjb3JyZWN0 IHBvaW50ZXIgZm9yIGF2X2xvZygpCisgYXZmaWx0ZXIvdmZfYWRkcm9pOiBBZGQgbWlzc2luZyBO VUxMIHRlcm1pbmF0aW9uIHRvIGFkZHJvaV92YXJfbmFtZXNbXSgpCisgYXZjb2RlYy9nZXRfYnVm ZmVyOiBVc2UgYXZfYnVmZmVyX21hbGxvY3ooKSBmb3IgYXVkaW8gc2FtZSBhcyBpdHMgZG9uZSBm b3IgdmlkZW8KKyBhdmZvcm1hdC9qcGVneGxfYW5pbV9kZWM6IGNsZWFyIGJ1ZmZlciBwYWRkaW5n CisgYXZmb3JtYXQvcm1kZWM6IGNoZWNrIHRoYXQgYnVmIGlmIGNvbXBsZXRlbHkgZmlsbGVkCisg YXZjb2RlYy9jZmhkZW5jOiBDbGVhciBkd3RfdG1wCisgYXZjb2RlYy9oYXBkZWM6IENsZWFyIHRl eCBidWZmZXIKKyBhdmZvcm1hdC9teGZkZWM6IENoZWNrIHRoYXQga2V5IHdhcyByZWFkIHN1Y2Vz c2Z1bGwKKyBhdmZvcm1hdC9oZXZjOiBmaXggd3JpdGluZyBodmNDIHdoZW4gbm8gYXJyYXlzIGFy ZSBwcm92aWRlZCBpbiBodmNDLWZvcm1hdHRlZCBpbnB1dAorIGF2Zm9ybWF0L3J0cGRlYzogaW50 IG92ZXJmbG93IGluIHN0YXJ0X3RpbWVfcmVhbHRpbWUKKyBhdmNvZGVjL2RlY29kZTogRml4IGlu Y29ycmVjdCBlbnVtIHR5cGUgdXNlZCBpbiBzaWRlX2RhdGFfbWFwKCkKKyBhdmZvcm1hdC9tb3Y6 IGZpeCBjcmFzaCB3aGVuIHRyeWluZyB0byBnZXQgYSBmcmFnbWVudCB0aW1lIGZvciBhIG5vbi1l eGlzdGluZyBmcmFnbWVudAorIGF2Zm9ybWF0L2xpYnNzaDogZml4IGNyZWRlbnRpYWwgdmFyaWFi bGVzIHR5cG8KKyBhdmZvcm1hdC9obHNlbmM6IGNoZWNrIHJldHVybiB2YWx1ZSBvZiBhdmNvZGVj X3BhcmFtZXRlcnNfY29weSgpCisgYXZmb3JtYXQvZGFzaGRlYzogZm9ybWF0IG9wZW5fZGVtdXhf Zm9yX2NvbXBvbmVudCgpCisgYXZmb3JtYXQvZGFzaGRlYzogY2hlY2sgcmV0dXJuIGNvZGUgb2Yg YXZjb2RlY19wYXJhbWV0ZXJzX2NvcHkoKQorIGF2Zm9ybWF0L2Rhc2hkZWM6IHJldHVybiByZXQg ZGlyZWN0bHkgaW4gb3Blbl9kZW11eF9mb3JfY29tcG9uZW50KCkKKyBhdmZvcm1hdC9zbW9vdGhz dHJlYW1pbmdlbmM6IGNoZWNrIHJldHVybiB2YWx1ZSBvZiBhdmNvZGVjX3BhcmFtZXRlcnNfY29w eSgpCisgYXZjb2RlYy9jYnNfYXYxOiBmaXggdmFyaWFibGUgc2hhZG93aW5nIGluIGNic19hdjFf c3BsaXRfZnJhZ21lbnQoKQorIGRvYy9kZW11eGVycy9kdmR2aWRlbzogc2Vla2luZyBpcyBzdXBw b3J0ZWQsIHJlbW92ZSBvdXRkYXRlZCBzdGF0ZW1lbnQKKyBhdmZvcm1hdC9kdmR2aWRlb2RlYzog Y2hlY2sgcmV0dXJuIGNvZGUgb2YgZmZfZHZkY2x1dF95dXZfdG9fcmdiKCkKKyBhdmZvcm1hdC9k dmR2aWRlb2RlYzogZml4IG1pc3NpbmcgbGFzdCBjaGFwdGVyIG1hcmtlciBkdWUgdG8gb2ZmLWJ5 LW9uZQorIGF2Zm9ybWF0L2R2ZHZpZGVvZGVjOiBkb24ndCBhbGxvdyBzZWVraW5nIGJleW9uZCBk dmRuYXYgcmVwb3J0ZWQgZHVyYXRpb24KKyBhdmZvcm1hdC9kdmR2aWRlb2RlYzogZGlzY2FyZCBk dXBsaWNhdGUgb3IgcGFydGlhbCBBQzMgc2FtcGxlcworIGF2Zm9ybWF0L2R2ZHZpZGVvZGVjOiBk cm9wIHBhY2tldHMgd2l0aCB1bnNldCBQVFMgb3IgRFRTCisgYXZmb3JtYXQvZHZkdmlkZW9kZWM6 IHJlbW92ZSB1bm5lY2Vzc2FyeSBuZWVkX3BhcnNpbmcgYXJndW1lbnQKKyBhdmZvcm1hdC9kdmR2 aWRlb2RlYzogb3BlbiBzdWJkZW11eGVyIGFmdGVyIGluaXRpYWxpemluZyBJRk8gaGVhZGVycwor IGF2Zm9ybWF0L2R2ZHZpZGVvZGVjOiByZW1vdmUgYXV0byB2YWx1ZSBmb3IgbWVudV9sdSBvcHRp b24KKyBhdmZvcm1hdC9kdmR2aWRlb2RlYzogZGVmYXVsdCBtZW51X3Z0cyBvcHRpb24gdG8gMSBh bmQgY2xhcmlmeSBkZXNjcmlwdGlvbgorIGF2Zm9ybWF0L2R2ZHZpZGVvZGVjOiBjaGVjayB0aGUg bGVuZ3RoIG9mIGEgTkFWIHBhY2tldCB3aGVuIHJlYWRpbmcgdGl0bGVzCisgYXZmb3JtYXQvZHZk dmlkZW9kZWM6IHJlc2V0IHRoZSBzdWJkZW11eGVyIG9uIGRpc2NvbnRpbnVpdHkgaW5zdGVhZCBv ZiBmbHVzaGluZworIGF2Zm9ybWF0L2R2ZHZpZGVvZGVjOiBzaW1wbGlmeSBkdmR2aWRlb19yZWFk X3BhY2tldCgpCisgYXZmb3JtYXQvZHZkdmlkZW9kZWM6IGVuYWJsZSBjaGFwdGVyIGNhbGN1bGF0 aW9uIGZvciBtZW51cworIGF2Zm9ybWF0L2R2ZHZpZGVvZGVjOiBzdGFuZGFyZGl6ZSB0aGUgTkFW IHBhY2tldCBldmVudCBzaWduYWwKKyBhdmZvcm1hdC9kdmR2aWRlb2RlYzogbW92ZSBtZW1jcHkg YmVsb3cgbWlzc2VkIE5BViBwYWNrZXQgd2FybmluZworIGF2Zm9ybWF0L2R2ZHZpZGVvZGVjOiBy ZW1vdmUgImF1dG8iIHZhbHVlIGZvciAtcGcgb3B0aW9uLCBkZWZhdWx0IHRvIDEKKyBhdmZvcm1h dC9kdmR2aWRlb2RlYzogbWVhc3VyZSBkdXJhdGlvbiBvZiB0aGUgY3VycmVudCBtZW51IFZPQlUg aW4gc3RhdGUKKyBhdmZvcm1hdC9kdmR2aWRlb2RlYzogZml4IG1lbnUgUEdDIG51bWJlciBvZmYt Ynktb25lIGluIHN0YXRlCisgYXZmb3JtYXQvZHZkdmlkZW9kZWM6IHJlbW92ZSB1bnVzZWQgaGVh ZGVycworIGxhdmMvYWFyY2g2NDogRml4IGZmX3ByZWQxNngxNl9wbGFuZV9uZW9uXzEwCisgbGF2 Yy9hYXJjaDY0OiBGaXggZmZfcHJlZDh4OF9wbGFuZV9uZW9uXzEwCisgYWFyY2g2NC92dmM6IEZp eCBjbGlwIGluIGFsZgorIHZwOTogcmVjb246IFVzZSBlbXVsYXRlZCBlZGdlIHRvIHByZXZlbnQg YnVmZmVyIG92ZXJmbG93cworIGFybTogdnA5bWM6IExvYWQgb25seSAxMiBwaXhlbHMgaW4gdGhl IDQgcGl4ZWwgd2lkZSBob3Jpem9udGFsIGZpbHRlcgorIGFhcmNoNjQ6IHZwOW1jOiBMb2FkIG9u bHkgMTIgcGl4ZWxzIGluIHRoZSA0IHBpeGVsIHdpZGUgaG9yaXpvbnRhbCBmaWx0ZXIKKyBhdmZv cm1hdC9ycGw6IEZpeCBjaGVjayBmb3IgbmVnYXRpdmUgdmFsdWVzCisgYXZmb3JtYXQvbWx2ZGVj OiBDaGVjayBhdmlvX3JlYWQoKQorIGF2Y29kZWMvYWFjL2FhY2RlYzogRnJlZSBjaGFubmVsIGxh eW91dAorIGF2Zm9ybWF0L21vdjogZGVyZWZlcmVuY2UgcG9pbnRlciBhZnRlciBudWxsIGNoZWNr CisgYXZjb2RlYy91dGlsczogRml4IGJsb2NrIGFsaWduIG92ZXJmbG93IGZvciBBRFBDTV9JTUFf V0FWCisgYXZmb3JtYXQvbWF0cm9za2FkZWM6IENoZWNrIHByZV9ucyBmb3Igb3ZlcmZsb3cKKyB0 b29scy90YXJnZXRfZGVjX2Z1enplcjogQWRqdXN0IHRocmVzaG9sZCBmb3IgRUFDTVYKKyB0b29s cy90YXJnZXRfZGVjX2Z1enplcjogQWRqdXN0IHRocmVzaG9sZCBmb3IgTVZDMQorIHRvb2xzL3Rh cmdldF9kZWNfZnV6emVyOiBBZGp1c3QgVGhyZXNob2xkIGZvciBpbmRlbzUKKyBhdnV0aWwvdGlt ZWNvZGU6IEF2b2lkIGZwcyBvdmVyZmxvdyBpbiBhdl90aW1lY29kZV9nZXRfc21wdGVfZnJvbV9m cmFtZW51bSgpCisgYXZjb2RlYy9hYWMvYWFjZGVjX3VzYWM6IERvbnQgbGVhdmUgdHlwZSBhdCBh IGludmFsaWQgdmFsdWUKKyBhdmNvZGVjL2FhYy9hYWNkZWNfdXNhYzogQ2xlYW4gaWNzMi0+bWF4 X3NmYiB3aGVuIGZpcnN0IFNDRSBmYWlscworIGF2Y29kZWMvd2VicDogQ2hlY2sgcmVmX3gveQor IGF2Y29kZWMvaWxiY2RlYzogSW5pdGlhbGl6ZSB0ZW1wYnVmZjIKKyBzd3NjYWxlL3N3c2NhbGVf dW5zY2FsZWQ6IEZpeCBvZGQgaGVpZ2h0IHdpdGggbnYyNF90b195dXY0MjBwX2Nocm9tYSgpCisg YXZjb2RlYy9oZXZjL2hldmNkZWM6IGluaXRpYWxpemUgcXBfeV90YWIKKyBhdmZvcm1hdC9xY3A6 IENoZWNrIGZvciByZWFkIGZhaWx1cmUgaW4gaGVhZGVyCisgYXZjb2RlYy9lYXRncTogQ2hlY2sg Ynl0ZXN0cmVhbTJfZ2V0X2J1ZmZlcigpIGZvciBmYWlsdXJlCisgYXZmb3JtYXQvZHhhOiBjaGVj ayBicGMKKyBzd3NjYWxlL3NsaWNlOiBjbGVhciBhbGxvY2F0ZWQgbWVtb3J5IGluIGFsbG9jX2xp bmVzKCkKKyBhdmNvZGVjL2gyNjQ1X3BhcnNlOiBJZ25vcmUgTkFMIHdpdGggbnVoX2xheWVyX2lk ID09IDYzCisgTUFJTlRBSU5FUlM6IExhdXJpIGlzIHN0aWxsIGF2YWlsYWJsZSBidXQgaXMgcmVh bGx5IGxvdyBvbiB0aW1lIG5vd2FkYXlzCisgTUFJTlRBSU5FUlM6IFJlbW92ZSBHdWlsbGF1bWUg UG9pcmllciBhbmQgUm9tYWluIERvbGJlYXUKKyBhdmNvZGVjL21qcGVnZGVjOiBEaXNhbGxvdyBw cm9ncmVzc2l2ZSBiYXllciBpbWFnZXMKKyBhdmZvcm1hdC9pY29kZWM6IGZpeCBpbnRlZ2VyIG92 ZXJmbG93IHdpdGggbmJfcGFsCisgZG9jL2RldmVsb3BlcjogRG9jdW1lbnQgcmVsYXRpb25zaGlw IGJldHdlZW4gZ2l0IGFjY291bnRzIGFuZCBNQUlOVEFJTkVSUworIGRvYy9pbmZyYTogRG9jdW1l bnQgdHJhYyBiYWNrdXAgc3lzdGVtCisgZG9jL2luZnJhOiBEb2N1bWVudCBnaXRvbGl0ZQorIGF2 Zm9ybWF0L3ZpdmlkYXM6IENoZWNrIGF2aW9fcmVhZCgpIGZvciBmYWlsdXJlCisgYXZmb3JtYXQv aWxiYzogQ2hlY2sgYXZpb19yZWFkKCkgZm9yIGZhaWx1cmUKKyBhdmZvcm1hdC9uaXN0c3BoZXJl ZGVjOiBDbGVhciBidWZmZXIKKyBhdmZvcm1hdC9tY2NkZWM6IEluaXRpYWxpemUgYW5kIGNoZWNr IHJhdGUuZGVuCisgYXZmb3JtYXQvcnBsOiBjaGVjayBjaGFubmVscworIElOU1RBTEw6IGV4cGxh aW4gdGhlIGNpcmN1bGFyIGRlcGVuZGVuY3kgaXNzdWUgYW5kIHNvbHV0aW9uCisgYXZmb3JtYXQv bXBlZ3RzOiBJbml0aWFsaXplIHByZWRlZmluZWRfU0xDb25maWdEZXNjcmlwdG9yX3NlZW4KKyBh dmZvcm1hdC9teGZkZWM6IEZpeCBvdmVyZmxvdyBpbiBtaWRwb2ludCBjb21wdXRhdGlvbgorIHN3 c2NhbGUvb3V0cHV0OiB1c2VkIHVuc2lnbmVkIGZvciBiaXQgYWNjdW11bGF0aW9uCisgc3dzY2Fs ZS9yZ2IycmdiX3RlbXBsYXRlOiBGaXggZmZfcmdiMjR0b3l2MTJfYygpIHdpdGggb2RkIGhlaWdo dAorIGF2Y29kZWMvcmFuZ2Vjb2Rlcjogb25seSBwZXJmb3JtIHJlbm9ybSBjaGVjay9sb29wIGZv ciBjYWxsZXJzIHRoYXQgbmVlZCBpdAorIGF2Y29kZWMvZmZ2MTogYWRkIGEgbmFtZWQgY29uc3Rh bnQgZm9yIHRoZSBxdWFudCB0YWJsZSBzaXplCisgYXZjb2RlYy9mZnYxOiBSQ1QgaXMgb25seSBw b3NzaWJsZSB3aXRoIFJHQgorIGF2Y29kZWMvZmZ2MWVuYzogRml4IFJDVCB3aXRoIFJHQjY0Cisg YXZjb2RlYy9mZnYxZGVjOiBGaXggZW5kIGNvbXB1dGF0aW9uIHdpdGggZWM9MgorIGF2Y29kZWMv ZmZ2MWVuYzogTW92ZSBzbGljZSB0ZXJtaW5hdGlvbiBpbnRvIHRocmVhZHMKKyBhdmNvZGVjL2Zm djFlbmM6IFByZXZlbnQgZ2VuZXJhdGlvbiBvZiBmaWxlcyB3aXRoIGJyb2tlbiBzbGljZXMKKyBh dmZvcm1hdC9tYXRyb3NrYWRlYzogQ2hlY2sgZGVzY19ieXRlcyBzbyBiaXRzIGZpdCBpbiA2NGJp dAorIGF2Zm9ybWF0L21vdjogQXZvaWQgb3ZlcmZsb3cgaW4gZHRzCisgYXZjb2RlYy9mZnYxZW5j OiBDb3JyZWN0IGVycm9yIG1lc3NhZ2UgYWJvdXQgdW5zdXBwb3J0ZWQgdmVyc2lvbgorIGF2Y29k ZWMvZmZ2MTogU3RvcmUgYW5kIHJldXNlIHN4L3N5CisgYXZjb2RlYy9mZnYxZW5jOiBTbGljZSBj b21iaW5hdGlvbiBpcyB1bnN1cHBvcnRlZAorIGF2Y29kZWMvZmZ2MWVuYzogMlBhc3MgbW9kZSBp cyBub3QgcG9zc2libGUgd2l0aCBnb2xvbWIgY29kaW5nCisgYXZmaWx0ZXIvYnVmZmVyc3JjOiBj aGVjayBmb3IgdmFsaWQgc2FtcGxlIHJhdGUKKyBhdmNvZGVjL2xpYmRhdjFkOiBjbGVhciB0aGUg YnVmZmVyZWQgRGF2MWREYXRhIG9uIGRlY29kaW5nIGZhaWx1cmUKKyBhdmZvcm1hdC9pYW1mX3dy aXRlcjogZW5zdXJlIHRoZSBzdHJlYW0gZ3JvdXBzIGFyZSBub3QgZW1wdHkKKyBhdmZvcm1hdC9p YW1mX3dyaXRlcjogZml4IHNldHRpbmcgbnVtX3NhbXBsZXNfcGVyX2ZyYW1lIGZvciBPUFVTCisg YXZmb3JtYXQvaWFtZl9wYXJzZTogZml4IHNldHRpbmcgZHVyYXRpb24gZm9yIHRoZSBsYXN0IHN1 YmJsb2NrIGluIGEgcGFyYW1ldGVyIGRlZmluaXRpb24KKyBhdmZvcm1hdC9pYW1mX3BhcnNlOiBh ZGQgY2hlY2tzIHRvIHBhcmFtZXRlciBkZWZpbml0aW9uIGR1cmF0aW9ucworIGF2Zm9ybWF0L2lh bWZfcGFyc2U6IHJlamVjdCBhbWJpc29uaWNzIG1vZGUgPiAxCisgY2hlY2thc206IFByaW50IGJl bmNobWFya3Mgb2YgQy1vbmx5IGZ1bmN0aW9ucworIGF2Y29kZWMvYWMzZGVjOiBmaXggZG93bm1p eCBsb2dpYyBmb3IgZWFjMworIGF2Y29kZWMvY29kZWNfZGVzYzogcmVtb3ZlIEludHJhIE9ubHkg cHJvcCBmb3IgQUFDCisgYXZjb2RlYy9tZWRpYWNvZGVjZGVjOiBzZXQgc2V0IGtleWZyYW1lIGZs YWcgaW4gb3V0cHV0IGZyYW1lcworIGF2Y29kZWMvbGliZmRrLWFhY2VuYzogc2V0IGtleWZyYW1l IGluIG91dHB1dCBwYWNrZXRzCisgYXZjb2RlYy9saWJmZGstYWFjZGVjOiBzZXQga2V5ZnJhbWUg ZmxhZyBhbmQgcHJvZmlsZSBpbiBvdXRwdXQgZnJhbWVzCisgYXZjb2RlYy9hdWRpb3Rvb2xib3hu ZWM6IHNldCBzZXQga2V5ZnJhbWUgZmxhZyBpbiBvdXRwdXQgcGFja2V0cworIGF2Y29kZWMvYXVk aW90b29sYm94ZGVjOiBzZXQgc2V0IGtleWZyYW1lIGZsYWcgaW4gb3V0cHV0IGZyYW1lcworIGF2 Y29kZWMvYWFjZW5jOiBzZXQga2V5ZnJhbWUgZmxhZyBpbiBvdXRwdXQgcGFja2V0cworIGF2Y29k ZWMvYWFjL2FhY2RlYzogc2V0IGtleWZyYW1lIGZsYWcgaW4gb3V0cHV0IGZyYW1lcworIGF2Y29k ZWMvYWFjX3BhcnNlcjogc2V0IGtleV9mcmFtZSBhbmQgcHJvZmlsZQorIGF2Zm9ybWF0L21vdjog ZG9uJ3QgdW5jb25kaXRpb25hbGx5IHNldCBhbGwgYXVkaW8gcGFja2V0cyBpbiBmcmFnbWVudHMg YXMga2V5IGZyYW1lcworIGF2Zm9ybWF0L21hdHJvc2thZGVjOiBzZXQgYWxsIGZyYW1lcyBpbiBh IGtleWZyYW1lIHNpbXBsZSBib3ggYXMga2V5ZnJhbWVzCisgYXZmb3JtYXQvdGVzdC9tb3ZlbmM6 IHNldCBhdWRpbyBwYWNrZXRzIGFzIGtleSBmcmFtZXMKKyBhdmZvcm1hdC9tb3ZlbmM6IHdyaXRl IHN0c3MgYm94ZXMgZm9yIHhIRS1BQUMKKyBhdmZvcm1hdC9zcGRpZmRlYzogcGFyc2UgaGVhZGVy cyBmb3IgYXVkaW8gY29kZWNzCisgYXZmb3JtYXQvbW92ZW5jOiBkb24ndCBkaXNhYmxlIGVkaXQg bGlzdHMgd2hlbiB3cml0aW5nIENNQUYgb3V0cHV0CisgYXZjb2RlYy9saWJmZGstYWFjZW5jOiBl eHBvcnQgQ1BCIHByb3BlcnRpZXMKKyBhdmZvcm1hdC9tb3ZlbmM6IGRvbid0IHdyaXRlIGEgY2Fs Y3VsYXRlZCBhdmdCaXRyYXRlIHdoZW4gdGhlIHByb3ZpZGVkIG9uZSBpcyB1bnNldAorIGxpYmF2 dXRpbC9yaXNjdjogTWFrZSB1c2Ugb2YgZWxmX2F1eF9pbmZvKCkgb24gRnJlZUJTRCAvIE9wZW5C U0QgcmlzY3YKKyBsaWJhdnV0aWwvcHBjOiBkZWZpbmVzIGludm9sdmluZyBiaXQgc2hpZnRzIHNo b3VsZCBiZSB1bnNpZ25lZAorIGxpYmF2dXRpbC9wcGM6IEluY2x1ZGUgdGhlIGhhcmR3YXJlIGZl YXR1cmUgZmxhZ3MgbGlrZSB0aGUgb3RoZXIgYXJjaHMKKyBsYXZ1L3Jpc2N2OiBmaXggY29tcGls YXRpb24gd2l0aG91dCBWZWN0b3Igc3VwcG9ydAorIGF2ZmlsdGVyL2ZfbG9vcDogZml4IGFsb29w IGFjdGl2YXRlIGxvZ2ljCisgYXZmaWx0ZXIvZl9sb29wOiBmaXggbGVuZ3RoIG9mIGFsb29wIGxl ZnRvdmVyIGJ1ZmZlcgorIGF2ZmlsdGVyL3ZmX3pzY2FsZTogYWxpZ24gdGhlIGZyYW1lIGJ1ZmZl cnMKKyBsYXZmaS92Zl96c2NhbGU6IGZpeCBjYWxsIHRvIGF2X3BpeF9mbXRfY291bnRfcGxhbmVz CisgbGF2ZmkvdmZfenNjYWxlOiBmaXggdG1wIGJ1ZmZlciBwdHIgYWxpZ25tZW50IGZvciB6aW1n X2ZpbHRlcl9ncmFwaF9wcm9jZXNzCisgYXZmaWx0ZXIvZnJhbWVwb29sOiBhbGlnbiB0aGUgZnJh bWUgYnVmZmVycworIGF2Y29kZWMvaDI2NDVfc2VpOiB1c2UgdGhlIFJlZlN0cnVjdCBBUEkgZm9y IGZpbG1fZ3JhaW5fY2hhcmFjdGVyaXN0aWNzCisgYXZjb2RlYy9hb21fZmlsbV9ncmFpbjogYWxs b2NhdGUgZmlsbSBncmFpbiBtZXRhZGF0YSBkeW5hbWljYWxseQorIGF2Zm9ybWF0L21vdjogdXNl IGFuIGFycmF5IG9mIHBvaW50ZXJzIGZvciBoZWlmX2l0ZW0KKyBhdmZvcm1hdC9tb3Y6IHNwbGl0 IG9mZiBoZWlmIGl0ZW0gaW5pdGlhbGl6YXRpb24gdG8gaXRzIG93biBmdW5jdGlvbgorIGF2Zm9y bWF0L21vdjogZmFjdG9yaXplIGdldHRpbmcgdGhlIGN1cnJlbnQgaXRlbQorIGxhdmMvaDI2NGlk Y3Q6IGZpeCBSSVNDLVYgZ3JvdXAgbXVsdGlwbGllcgorIGxhdmMvaDI2NGRzcDogbW92ZSBSSVND LVYgZm4gcG9pbnRlcnMgdG8gLmRhdGEucmVsLnJvCisgYXZjb2RlYy9qcGVneGxfcGFyc2VyOiBm aXggcmVhZGluZyBsejc3LXBhaXIgYXMgaW5pdGlhbCBlbnRyb3B5IHN5bWJvbAorIGF2Y29kZWMv anBlZ3hsX3BhcnNlcjogY2hlY2sgZW50cm9weV9kZWNvZGVyX3JlYWRfc3ltYm9sIHJldHVybiB2 YWx1ZQorIGF2Y29kZWMvY2JzX2gyNjY6IEZpeCByZWdyZXNzaW9uIGluIERWQiBjbGlwIGludHJv ZHVjZWQgYnkgOTMyODE2MzBhNzFjMDY2NDJhZGZlYmViYjBkNGIxMDVhNGUwMmU5MQorIGF2Y29k ZWMveDg2L3Z2YzogYWRkIHByb3RvdHlwZXMgZm9yIE9GIGZ1bmN0aW9ucworIERvY3VtZW50IHN0 cmVhbSBzcGVjaWZpZXIgc3ludGF4IGNoYW5nZSBmcm9tIDQ2Y2JlNGFiNWMKKyBmZnRvb2xzL2Zm cGxheTogZml4IGNyYXNoIHdoZW4gdmsgcmVuZGVyZXIgaXMgbnVsbAorIGF2dXRpbC93Y2hhcl9m aWxlbmFtZTogcmUtaW50cm9kdWNlIGV4cGxpY2l0IGNhc3Qgb2Ygdm9pZCogdG8gY2hhcioKKyBm YXRlL2ZmbXBlZzogYWRkIHNhbXBsZXMgZGVwZW5kZW5jeSB0byBmYXRlLWZmbXBlZy1zcGVjLWRp c3Bvc2l0aW9uCisgZmZ0b29scy9mZm1wZWdfZmlsdGVyOiB0cmVhdCBhcGFkIGZpbHRlciBhcyBh IHNvdXJjZQorIGxhdmMvYXZjb2RlYzogZml4IGdsb2JhbC9wcml2YXRlIG9wdGlvbiBwcmVjZW5k ZW5jZQorIGF2ZmlsdGVyL2ZyYW1lc3luYzogZml4IGZvcndhcmQgRU9GIHB0cworIGF2Y29kZWMv dmFhcGlfZW5jb2RlOiBmaXggY29tcGlsYXRpb24gd2l0aG91dCBDT05GSUdfVkFBUElfMQorIGxp YmF2Y29kZWM6IHg4NjogUmVtb3ZlIGFuIGV4cGxpY2l0IGluY2x1ZGUgb2YgY29uZmlnLmFzbQor IGNoZWNrYXNtOiBsbHM6IFVzZSByZWxhdGl2ZSB0b2xlcmFuY2VzIHJhdGhlciB0aGFuIGFic29s dXRlIG9uZXMKKyBhcm06IENvbnNpc3RlbnRseSB1c2UgcHJvcGVyIGludGVyd29ya2luZyBmdW5j dGlvbiByZXR1cm5zCisgYXZjb2RlYy9saWJ4MjY1OiB1bmJyZWFrIGJ1aWxkIGZvciBYMjY1X0JV SUxEID49IDIxMworIGZmdG9vbHM6IGxvZyB1bmNvbm5lY3RlZCBmaWx0ZXIgb3V0cHV0IGxhYmVs CisgZmZ0b29sczogZG8gbm90IGFjY2VzcyBvdXQgb2YgYm91bmRzIGZpbHRlcmdyYXBoCisgYXZj b2RlYy9tZWRpYWNvZGVjZW5jOiBGaXggYWNjZXNzIG9mIHVuaW5pdGlhbGl6ZWQgdmFsdWUKKyBh dmZvcm1hdC9pbWcyZW5jOiBGaXggaW50ZWdlciB0cnVuY2F0aW9uIHdoZW4gZnJhbWVfcHRzIGlz IGVuYWJsZWQKKyBhdmZvcm1hdC9pbnRlcm5hbDogQWRkIGZmX2dldF9mcmFtZV9maWxlbmFtZQor IGF2Zm9ybWF0L21vdjogZG9uJ3QgcmV0dXJuIHRoZSBsYXRlc3Qgc3RyZWFtIHdoZW4gYW4gaXRl bSBzdHJlYW0gaXMgZXhwZWN0ZWQKKworCiB2ZXJzaW9uIDcuMToKIC0gUmF3IENhcHRpb25zIHdp dGggVGltZSAoUkNXVCkgY2xvc2VkIGNhcHRpb24gZGVtdXhlcgogLSBMQzMvTEMzcGx1cyBkZWNv ZGluZy9lbmNvZGluZyB1c2luZyBleHRlcm5hbCBsaWJyYXJ5IGxpYmxjMwotLSAKMi40OS4xCgoK RnJvbSBhNGJmNTBiNWMwZTllYTU1ZjFiYmFkYzM4Y2U2ZmI2OTBlY2U2M2Q4IE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBKYW1lcyBBbG1lciA8amFtcmlhbEBnbWFpbC5jb20+CkRhdGU6 IFR1ZSwgMjggSmFuIDIwMjUgMjE6MjM6MTEgLTAzMDAKU3ViamVjdDogW1BBVENIIDIwMy80MzRd IGF2Zm9ybWF0L21vdjogZml4IG92ZXJmbG93IGluIGRyaWZ0IHRpbWVzdGFtcAogY2FsY3VsYXRp b24KCkZpeGVzOiBzaWduZWQgaW50ZWdlciBvdmVyZmxvdzogNzgwMzkyMzg4ODU4NTMwOTk1NSAt IC0zNDA3Njc3NDM0Mjc1MzI1MzM3IGNhbm5vdCBiZSByZXByZXNlbnRlZCBpbiB0eXBlICdpbnQ2 NF90JyAoYWthICdsb25nJykKRml4ZXM6IDM3NzczNjcyMy9jbHVzdGVyZnV6ei10ZXN0Y2FzZS1t aW5pbWl6ZWQtbWVkaWFfcGlwZWxpbmVfaW50ZWdyYXRpb25fZnV6emVyLTUwNTI0NDk1MDA4ODkw ODgKClNpZ25lZC1vZmYtYnk6IEphbWVzIEFsbWVyIDxqYW1yaWFsQGdtYWlsLmNvbT4KKGNoZXJy eSBwaWNrZWQgZnJvbSBjb21taXQgMDI5NThhYjcxNTZiNGUxNGYxOTE4ZjJiNzJjNmQzNjc4ODUy Njk4ZikKLS0tCiBsaWJhdmZvcm1hdC9tb3YuYyB8IDIgKy0KIDEgZmlsZSBjaGFuZ2VkLCAxIGlu c2VydGlvbigrKSwgMSBkZWxldGlvbigtKQoKZGlmZiAtLWdpdCBhL2xpYmF2Zm9ybWF0L21vdi5j IGIvbGliYXZmb3JtYXQvbW92LmMKaW5kZXggNjk1Yjk3NTE0Ny4uNjNlOGZlMzFmZiAxMDA2NDQK LS0tIGEvbGliYXZmb3JtYXQvbW92LmMKKysrIGIvbGliYXZmb3JtYXQvbW92LmMKQEAgLTM1NDUs NyArMzU0NSw3IEBAIHN0YXRpYyBpbnQgbW92X3JlYWRfc3R0cyhNT1ZDb250ZXh0ICpjLCBBVklP Q29udGV4dCAqcGIsIE1PVkF0b20gYXRvbSkKICAgICAgICAgY3VycmVudF9kdHMgKz0gc2MtPnN0 dHNfZGF0YVtpXS5kdXJhdGlvbiAqICh1aW50NjRfdClzYW1wbGVfY291bnQ7CiAKICAgICAgICAg aWYgKGN1cnJlbnRfZHRzID4gY29ycmVjdGVkX2R0cykgewotICAgICAgICAgICAgaW50NjRfdCBk cmlmdCA9IChjdXJyZW50X2R0cyAtIGNvcnJlY3RlZF9kdHMpL0ZGTUFYKHNhbXBsZV9jb3VudCwg MSk7CisgICAgICAgICAgICBpbnQ2NF90IGRyaWZ0ID0gYXZfc2F0X3N1YjY0KGN1cnJlbnRfZHRz LCBjb3JyZWN0ZWRfZHRzKSAvIEZGTUFYKHNhbXBsZV9jb3VudCwgMSk7CiAgICAgICAgICAgICB1 aW50MzJfdCBjb3JyZWN0aW9uID0gKHNjLT5zdHRzX2RhdGFbaV0uZHVyYXRpb24gPiBkcmlmdCkg PyBkcmlmdCA6IHNjLT5zdHRzX2RhdGFbaV0uZHVyYXRpb24gLSAxOwogICAgICAgICAgICAgY3Vy cmVudF9kdHMgLT0gY29ycmVjdGlvbiAqICh1aW50NjRfdClzYW1wbGVfY291bnQ7CiAgICAgICAg ICAgICBzYy0+c3R0c19kYXRhW2ldLmR1cmF0aW9uIC09IGNvcnJlY3Rpb247Ci0tIAoyLjQ5LjEK CgpGcm9tIDhhNzI3NzVkNWRiYTMyNTNjNGZmZDliN2VjOTFmNzNiZWRhNDI2NDEgTW9uIFNlcCAx NyAwMDowMDowMCAyMDAxCkZyb206IEphbWVzIEFsbWVyIDxqYW1yaWFsQGdtYWlsLmNvbT4KRGF0 ZTogRnJpLCAyNyBEZWMgMjAyNCAxMTo1MzoxNiAtMDMwMApTdWJqZWN0OiBbUEFUQ0ggMjA0LzQz NF0gYXZ1dGlsL2Rvd25taXhfaW5mbzogemVybyB0aGUgYWxsb2NhdGVkIGJ1ZmZlcgoKU2lnbmVk LW9mZi1ieTogSmFtZXMgQWxtZXIgPGphbXJpYWxAZ21haWwuY29tPgooY2hlcnJ5IHBpY2tlZCBm cm9tIGNvbW1pdCAwYmVkMWI4OTUzMDA0MmYwYTgzNWI4ZDExNzhhYTUyYjQwYTc1MWY2KQooY2hl cnJ5IHBpY2tlZCBmcm9tIGNvbW1pdCBhNjQ5YjJhODMxMzU3MWZjZWMxMDExNDNlOTQ3OTI5OWVi OGJjMjE0KQotLS0KIGxpYmF2dXRpbC9kb3dubWl4X2luZm8uYyB8IDUgKysrKy0KIDEgZmlsZSBj aGFuZ2VkLCA0IGluc2VydGlvbnMoKyksIDEgZGVsZXRpb24oLSkKCmRpZmYgLS1naXQgYS9saWJh dnV0aWwvZG93bm1peF9pbmZvLmMgYi9saWJhdnV0aWwvZG93bm1peF9pbmZvLmMKaW5kZXggYzYz NGM2YTc5Zi4uODM3NzFhMzA1MSAxMDA2NDQKLS0tIGEvbGliYXZ1dGlsL2Rvd25taXhfaW5mby5j CisrKyBiL2xpYmF2dXRpbC9kb3dubWl4X2luZm8uYwpAQCAtMjcsOSArMjcsMTIgQEAgQVZEb3du bWl4SW5mbyAqYXZfZG93bm1peF9pbmZvX3VwZGF0ZV9zaWRlX2RhdGEoQVZGcmFtZSAqZnJhbWUp CiAKICAgICBzaWRlX2RhdGEgPSBhdl9mcmFtZV9nZXRfc2lkZV9kYXRhKGZyYW1lLCBBVl9GUkFN RV9EQVRBX0RPV05NSVhfSU5GTyk7CiAKLSAgICBpZiAoIXNpZGVfZGF0YSkKKyAgICBpZiAoIXNp ZGVfZGF0YSkgewogICAgICAgICBzaWRlX2RhdGEgPSBhdl9mcmFtZV9uZXdfc2lkZV9kYXRhKGZy YW1lLCBBVl9GUkFNRV9EQVRBX0RPV05NSVhfSU5GTywKICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICBzaXplb2YoQVZEb3dubWl4SW5mbykpOworICAgICAgICBpZiAo c2lkZV9kYXRhKQorICAgICAgICAgICAgbWVtc2V0KHNpZGVfZGF0YS0+ZGF0YSwgMCwgc2l6ZW9m KEFWRG93bm1peEluZm8pKQorICAgIH0KIAogICAgIGlmICghc2lkZV9kYXRhKQogICAgICAgICBy ZXR1cm4gTlVMTDsKLS0gCjIuNDkuMQoKCkZyb20gNTdhNTNhZGYyYjEyMzc5NjVjZTZmNTU0NjM5 OGIxYTgxNTk5YmUzOCBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKRnJvbTogU3RldmVuIFpob3Ug PHN0ZXZlbi56aG91QG5ldGludC5jYT4KRGF0ZTogU2F0LCAyMyBOb3YgMjAyNCAwMToyMDozNiAr MDAwMApTdWJqZWN0OiBbUEFUQ0ggMjA1LzQzNF0gYXZmaWx0ZXIvZHJhd3RleHQ6IGZpeCBtZW1v cnkgbGVhayB3aGVuIHVzaW5nCiAicmVpbml0IiBydW50aW1lIGNvbW1hbmQKCkZyZWUgQVZPcHRp b24gaW4gZHJhd3RleHQgcHJpdmF0ZSBjb250ZXh0IHdoZW4gZnJlZWluZyBvbGQgY29weSBvZiBk cmF3dGV4dApwcml2YXRlIGNvbnRleHQgZHVyaW5nIHByb2Nlc3Npbmcgb2YgInJlaW5pdCIgcnVu dGltZSBjb21tYW5kLgoKU2lnbmVkLW9mZi1ieTogU3RldmVuIFpob3UgPHN0ZXZlbi56aG91QG5l dGludC5jYT4KU2lnbmVkLW9mZi1ieTogSmFtZXMgQWxtZXIgPGphbXJpYWxAZ21haWwuY29tPgoo Y2hlcnJ5IHBpY2tlZCBmcm9tIGNvbW1pdCBkMWZhOWNmNGI0OTYzNjFlYmFlM2M5NTAxNTM3NTZj NmYwYmFmNTAxKQotLS0KIGxpYmF2ZmlsdGVyL3ZmX2RyYXd0ZXh0LmMgfCAxICsKIDEgZmlsZSBj aGFuZ2VkLCAxIGluc2VydGlvbigrKQoKZGlmZiAtLWdpdCBhL2xpYmF2ZmlsdGVyL3ZmX2RyYXd0 ZXh0LmMgYi9saWJhdmZpbHRlci92Zl9kcmF3dGV4dC5jCmluZGV4IDRjNTVhMDExNTUuLmRhYWEx ZmQ4M2EgMTAwNjQ0Ci0tLSBhL2xpYmF2ZmlsdGVyL3ZmX2RyYXd0ZXh0LmMKKysrIGIvbGliYXZm aWx0ZXIvdmZfZHJhd3RleHQuYwpAQCAtMTIxNyw2ICsxMjE3LDcgQEAgc3RhdGljIGludCBjb21t YW5kKEFWRmlsdGVyQ29udGV4dCAqY3R4LCBjb25zdCBjaGFyICpjbWQsIGNvbnN0IGNoYXIgKmFy ZywgY2hhcgogCiAgICAgICAgIGN0eC0+cHJpdiA9IG9sZDsKICAgICAgICAgdW5pbml0KGN0eCk7 CisgICAgICAgIGF2X29wdF9mcmVlKG9sZCk7CiAgICAgICAgIGF2X2ZyZWVwKCZvbGQpOwogCiAg ICAgICAgIGN0eC0+cHJpdiA9IG5ldzsKLS0gCjIuNDkuMQoKCkZyb20gOGFjY2VlOGI1NmE4YmUw NDg1MzMyZTc4YjhkNGNiMTRmNmQyNzc2MCBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKRnJvbTog UGF0cmljZSBEdW1hcyA8cGVydHVzdXNAZnJlZS5mcj4KRGF0ZTogRnJpLCAxIE5vdiAyMDI0IDE1 OjU3OjA3ICswMTAwClN1YmplY3Q6IFtQQVRDSCAyMDYvNDM0XSBkb2MvdDJoOiBTdXBwb3J0IHRl eGluZm8gNy4xIGFuZCA3LjIgcHJldGVzdAoKSGVyZSBpcyBhIHByb3Bvc2VkIHBhdGNoIGZvciBw b3J0YWJpbGl0eSBvZiBkb2MvdDJoLnBtIGZvciBHTlUgVGV4aW5mbwo3LjEgYW5kIDcuMS45MCAo Ny4yIHByZXRlc3QpLiAgSSB0ZXN0ZWQgYWdhaW5zdCA3LjEgYW5kIDcuMS45MCAoNy4yCnByZXRl c3QpLiAgVGhlcmUgaXMgYSBkaWZmZXJlbmNlIGluIHRoZSBoZWFkaW5ncyBjb21wYXJlZCB0byB0 aGUgd2Vic2l0ZQp2ZXJzaW9uLCBtYXliZSByZWxhdGVkIHRvIEZBX0lDT05TIG5vdCBiZWluZyBz ZXQgdGhlIHNhbWUsIGJ1dCB0aGUKcmVzdWx0IHNlZW1zIGNvcnJlY3QuCgpJIGFsc28gcmVuYW1l ZCAkZWxlbWVudCB0byAkb3V0cHV0X3VuaXQgaW4gZmZtcGVnX2hlYWRpbmdfY29tbWFuZCBhcyBp bgpuZXcgZXF1aXZhbGVudCBtYWtlaW5mby90ZXhpMmFueSBjb2RlIHRoZSAkZWxlbWVudCB2YXJp YWJsZSBpcyB0aGUKJGNvbW1hbmQgdmFyaWFibGUgaW4gZmZtcGVnX2hlYWRpbmdfY29tbWFuZCwg d2hpY2ggaXMgdmVyeSBjb25mdXNpbmcuICBJCmxlZnQgYXMgaXMgdGhlICRjb21tYW5kIHZhcmlh YmxlIHRvIGhhdmUgYSBwYXRjaCBlYXNpZXIgdG8gcmVhZCwgYnV0IGl0CmNvdWxkIG1ha2Ugc2Vu c2UgdG8gcmVuYW1lICRjb21tYW5kIGFzICRlbGVtZW50IGxhdGVyIG9uLgoKVGhlIHBhdGNoIGNv dWxkIGFsc28gaGF2ZSBlZmZlY3RzIHdpdGggVGV4aW5mbyA3LjAsIHNpbmNlIHNvbWUgb2YgdGhl CmNoYW5nZXMgYXJlIGZvciB0aGF0IHZlcnNpb24sIGJ1dCB0aGF0IHByb2JhYmx5IG5ldmVyIHNo b3cgdXAgYmVjYXVzZSBpdAppcyBmb3Igc2l0dWF0aW9ucyB0aGF0IG1heSBub3QgZXhpc3QgaW4g ZmZtcGVnIG1hbnVhbHMgKGZvciBleGFtcGxlCkBub2RlIHdpdGhvdXQgc2VjdGlvbmluZyBjb21t YW5kKSwgb3IgYmVjYXVzZSB0aGUgY29kZSBpcyByb2J1c3QgdG8gc29tZQptaXNzaW5nIGluZm9y bWF0aW9uIChjYXNlIG9mICRoZWFkaW5nX2xldmVsIGluIGZmbXBlZ19oZWFkaW5nX2NvbW1hbmQK dGhhdCB3YXMgbm90IHNldCwgYXMgZmFyIGFzIEkgY2FuIHRlbGwpLgoKU2lnbmVkLW9mZi1ieTog SmFtZXMgQWxtZXIgPGphbXJpYWxAZ21haWwuY29tPgooY2hlcnJ5IHBpY2tlZCBmcm9tIGNvbW1p dCA0ZDljZGY4MmVlMzZhN2RhNGYwNjU4MjFjODYxNjVmZTU2NWFlYWMyKQotLS0KIGRvYy90Mmgu cG0gfCAxNjkgKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKy0tLS0tLS0t LS0tLS0KIDEgZmlsZSBjaGFuZ2VkLCAxMjkgaW5zZXJ0aW9ucygrKSwgNDAgZGVsZXRpb25zKC0p CgpkaWZmIC0tZ2l0IGEvZG9jL3QyaC5wbSBiL2RvYy90MmgucG0KaW5kZXggYjc0ODVlMWYxZS4u NDg3NWQ2NjMwNSAxMDA2NDQKLS0tIGEvZG9jL3QyaC5wbQorKysgYi9kb2MvdDJoLnBtCkBAIC01 NCwxMiArNTQsMjQgQEAgc3ViIGdldF9mb3JtYXR0aW5nX2Z1bmN0aW9uKCQkKSB7CiB9CiAKICMg ZGV0ZXJtaW5lIHRleGluZm8gdmVyc2lvbgotbXkgJHByb2dyYW1fdmVyc2lvbl9udW0gPSB2ZXJz aW9uLT5kZWNsYXJlKGZmX2dldF9jb25mKCdQQUNLQUdFX1ZFUlNJT04nKSktPm51bWlmeTsKK215 ICRwYWNrYWdlX3ZlcnNpb24gPSBmZl9nZXRfY29uZignUEFDS0FHRV9WRVJTSU9OJyk7CiskcGFj a2FnZV92ZXJzaW9uID1+IHMvXCtkZXYkLy87CitteSAkcHJvZ3JhbV92ZXJzaW9uX251bSA9IHZl cnNpb24tPmRlY2xhcmUoJHBhY2thZ2VfdmVyc2lvbiktPm51bWlmeTsKIG15ICRwcm9ncmFtX3Zl cnNpb25fNl84ID0gJHByb2dyYW1fdmVyc2lvbl9udW0gPj0gNi4wMDgwMDA7CiAKICMgbm8gbmF2 aWdhdGlvbiBlbGVtZW50cwogZmZfc2V0X2Zyb21faW5pdF9maWxlKCdIRUFERVJTJywgMCk7CiAK K215ICVzZWN0aW9uaW5nX2NvbW1hbmRzID0gJVRleGluZm86OkNvbW1vbjo6c2VjdGlvbmluZ19j b21tYW5kczsKK2lmIChzY2FsYXIoa2V5cyglc2VjdGlvbmluZ19jb21tYW5kcykpID09IDApIHsK KyAgJXNlY3Rpb25pbmdfY29tbWFuZHMgPSAlVGV4aW5mbzo6Q29tbWFuZHM6OnNlY3Rpb25pbmdf aGVhZGluZ19jb21tYW5kczsKK30KKworbXkgJXJvb3RfY29tbWFuZHMgPSAlVGV4aW5mbzo6Q29t bW9uOjpyb290X2NvbW1hbmRzOworaWYgKHNjYWxhcihrZXlzKCVyb290X2NvbW1hbmRzKSkgPT0g MCkgeworICAlcm9vdF9jb21tYW5kcyA9ICVUZXhpbmZvOjpDb21tYW5kczo6cm9vdF9jb21tYW5k czsKK30KKwogc3ViIGZmbXBlZ19oZWFkaW5nX2NvbW1hbmQoJCQkJCQpCiB7CiAgICAgbXkgJHNl bGYgPSBzaGlmdDsKQEAgLTc3LDYgKzg5LDkgQEAgc3ViIGZmbXBlZ19oZWFkaW5nX2NvbW1hbmQo JCQkJCQpCiAgICAgICAgIHJldHVybiAkcmVzdWx0OwogICAgIH0KIAorICAgICMgbm8gbmVlZCB0 byBzZXQgaXQgYXMgdGhlICRlbGVtZW50X2lkIGlzIG91dHB1dCB1bmNvbmRpdGlvbmFsbHkKKyAg ICBteSAkaGVhZGluZ19pZDsKKwogICAgIG15ICRlbGVtZW50X2lkID0gJHNlbGYtPmNvbW1hbmRf aWQoJGNvbW1hbmQpOwogICAgICRyZXN1bHQgLj0gIjxhIG5hbWU9XCIkZWxlbWVudF9pZFwiPjwv YT5cbiIKICAgICAgICAgaWYgKGRlZmluZWQoJGVsZW1lbnRfaWQpIGFuZCAkZWxlbWVudF9pZCBu ZSAnJyk7CkBAIC04NCwyNCArOTksNDAgQEAgc3ViIGZmbXBlZ19oZWFkaW5nX2NvbW1hbmQoJCQk JCQpCiAgICAgcHJpbnQgU1RERVJSICJQcm9jZXNzICRjb21tYW5kICIKICAgICAgICAgLlRleGlu Zm86OlN0cnVjdHVyaW5nOjpfcHJpbnRfcm9vdF9jb21tYW5kX3RleGkoJGNvbW1hbmQpLiJcbiIK ICAgICAgICAgICAgIGlmICgkc2VsZi0+Z2V0X2NvbmYoJ0RFQlVHJykpOwotICAgIG15ICRlbGVt ZW50OwotICAgIGlmICgkVGV4aW5mbzo6Q29tbW9uOjpyb290X2NvbW1hbmRzeyRjb21tYW5kLT57 J2NtZG5hbWUnfX0KLSAgICAgICAgYW5kICRjb21tYW5kLT57J3BhcmVudCd9Ci0gICAgICAgIGFu ZCAkY29tbWFuZC0+eydwYXJlbnQnfS0+eyd0eXBlJ30KLSAgICAgICAgYW5kICRjb21tYW5kLT57 J3BhcmVudCd9LT57J3R5cGUnfSBlcSAnZWxlbWVudCcpIHsKLSAgICAgICAgJGVsZW1lbnQgPSAk Y29tbWFuZC0+eydwYXJlbnQnfTsKKyAgICBteSAkb3V0cHV0X3VuaXQ7CisgICAgaWYgKCRyb290 X2NvbW1hbmRzeyRjb21tYW5kLT57J2NtZG5hbWUnfX0pIHsKKyAgICAgICAgaWYgKCRjb21tYW5k LT57J2Fzc29jaWF0ZWRfdW5pdCd9KSB7CisgICAgICAgICAgJG91dHB1dF91bml0ID0gJGNvbW1h bmQtPnsnYXNzb2NpYXRlZF91bml0J307CisgICAgICAgIH0gZWxzaWYgKCRjb21tYW5kLT57J3N0 cnVjdHVyZSd9CisgICAgICAgICAgICAgICAgIGFuZCAkY29tbWFuZC0+eydzdHJ1Y3R1cmUnfS0+ eydhc3NvY2lhdGVkX3VuaXQnfSkgeworICAgICAgICAgICRvdXRwdXRfdW5pdCA9ICRjb21tYW5k LT57J3N0cnVjdHVyZSd9LT57J2Fzc29jaWF0ZWRfdW5pdCd9OworICAgICAgICB9IGVsc2lmICgk Y29tbWFuZC0+eydwYXJlbnQnfQorICAgICAgICAgICAgICAgICBhbmQgJGNvbW1hbmQtPnsncGFy ZW50J30tPnsndHlwZSd9CisgICAgICAgICAgICAgICAgIGFuZCAkY29tbWFuZC0+eydwYXJlbnQn fS0+eyd0eXBlJ30gZXEgJ2VsZW1lbnQnKSB7CisgICAgICAgICAgJG91dHB1dF91bml0ID0gJGNv bW1hbmQtPnsncGFyZW50J307CisgICAgICAgIH0KICAgICB9Ci0gICAgaWYgKCRlbGVtZW50KSB7 CisKKyAgICBpZiAoJG91dHB1dF91bml0KSB7CiAgICAgICAgICRyZXN1bHQgLj0gJntnZXRfZm9y bWF0dGluZ19mdW5jdGlvbigkc2VsZiwgJ2Zvcm1hdF9lbGVtZW50X2hlYWRlcicpfSgkc2VsZiwg JGNtZG5hbWUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgJGNvbW1hbmQsICRlbGVtZW50KTsKKyAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkY29tbWFuZCwgJG91dHB1dF91bml0KTsKICAg ICB9CiAKICAgICBteSAkaGVhZGluZ19sZXZlbDsKICAgICAjIG5vZGUgaXMgdXNlZCBhcyBoZWFk aW5nIGlmIHRoZXJlIGlzIG5vdGhpbmcgZWxzZS4KICAgICBpZiAoJGNtZG5hbWUgZXEgJ25vZGUn KSB7Ci0gICAgICAgIGlmICghJGVsZW1lbnQgb3IgKCEkZWxlbWVudC0+eydleHRyYSd9LT57J3Nl Y3Rpb24nfQotICAgICAgICAgICAgYW5kICRlbGVtZW50LT57J2V4dHJhJ30tPnsnbm9kZSd9Ci0g ICAgICAgICAgICBhbmQgJGVsZW1lbnQtPnsnZXh0cmEnfS0+eydub2RlJ30gZXEgJGNvbW1hbmQK KyAgICAgICAgaWYgKCEkb3V0cHV0X3VuaXQgb3IKKyAgICAgICAgICAgICgoKCEkb3V0cHV0X3Vu aXQtPnsnZXh0cmEnfS0+eydzZWN0aW9uJ30KKyAgICAgICAgICAgICAgYW5kICRvdXRwdXRfdW5p dC0+eydleHRyYSd9LT57J25vZGUnfQorICAgICAgICAgICAgICBhbmQgJG91dHB1dF91bml0LT57 J2V4dHJhJ30tPnsnbm9kZSd9IGVxICRjb21tYW5kKQorICAgICAgICAgICAgIG9yCisgICAgICAg ICAgICAgKCgoJG91dHB1dF91bml0LT57J2V4dHJhJ30tPnsndW5pdF9jb21tYW5kJ30KKyAgICAg ICAgICAgICAgICBhbmQgJG91dHB1dF91bml0LT57J2V4dHJhJ30tPnsndW5pdF9jb21tYW5kJ30g ZXEgJGNvbW1hbmQpCisgICAgICAgICAgICAgICBvcgorICAgICAgICAgICAgICAgKCRvdXRwdXRf dW5pdC0+eyd1bml0X2NvbW1hbmQnfQorICAgICAgICAgICAgICAgIGFuZCAkb3V0cHV0X3VuaXQt PnsndW5pdF9jb21tYW5kJ30gZXEgJGNvbW1hbmQpKQorICAgICAgICAgICAgICBhbmQgJGNvbW1h bmQtPnsnZXh0cmEnfQorICAgICAgICAgICAgICBhbmQgbm90ICRjb21tYW5kLT57J2V4dHJhJ30t PnsnYXNzb2NpYXRlZF9zZWN0aW9uJ30pKQogICAgICAgICAgICAgICMgYm9ndXMgbm9kZSBtYXkg bm90IGhhdmUgYmVlbiBub3JtYWxpemVkCiAgICAgICAgICAgICBhbmQgZGVmaW5lZCgkY29tbWFu ZC0+eydleHRyYSd9LT57J25vcm1hbGl6ZWQnfSkpKSB7CiAgICAgICAgICAgICBpZiAoJGNvbW1h bmQtPnsnZXh0cmEnfS0+eydub3JtYWxpemVkJ30gZXEgJ1RvcCcpIHsKQEAgLTExMSw3ICsxNDIs MTUgQEAgc3ViIGZmbXBlZ19oZWFkaW5nX2NvbW1hbmQoJCQkJCQpCiAgICAgICAgICAgICB9CiAg ICAgICAgIH0KICAgICB9IGVsc2UgewotICAgICAgICAkaGVhZGluZ19sZXZlbCA9ICRjb21tYW5k LT57J2xldmVsJ307CisgICAgICAgIGlmIChkZWZpbmVkKCRjb21tYW5kLT57J2V4dHJhJ30pCisg ICAgICAgICAgICBhbmQgZGVmaW5lZCgkY29tbWFuZC0+eydleHRyYSd9LT57J3NlY3Rpb25fbGV2 ZWwnfSkpIHsKKyAgICAgICAgICAkaGVhZGluZ19sZXZlbCA9ICRjb21tYW5kLT57J2V4dHJhJ30t Pnsnc2VjdGlvbl9sZXZlbCd9OworICAgICAgICB9IGVsc2lmICgkY29tbWFuZC0+eydzdHJ1Y3R1 cmUnfQorICAgICAgICAgICAgICAgICBhbmQgZGVmaW5lZCgkY29tbWFuZC0+eydzdHJ1Y3R1cmUn fS0+eydzZWN0aW9uX2xldmVsJ30pKSB7CisgICAgICAgICAgJGhlYWRpbmdfbGV2ZWwgPSAkY29t bWFuZC0+eydzdHJ1Y3R1cmUnfS0+eydzZWN0aW9uX2xldmVsJ307CisgICAgICAgIH0gZWxzZSB7 CisgICAgICAgICAgJGhlYWRpbmdfbGV2ZWwgPSAkY29tbWFuZC0+eydsZXZlbCd9OworICAgICAg ICB9CiAgICAgfQogCiAgICAgbXkgJGhlYWRpbmcgPSAkc2VsZi0+Y29tbWFuZF90ZXh0KCRjb21t YW5kKTsKQEAgLTExOSw4ICsxNTgsOCBAQCBzdWIgZmZtcGVnX2hlYWRpbmdfY29tbWFuZCgkJCQk JCkKICAgICAjIGlmIHRoZXJlIGlzIGFuIGVycm9yIGluIHRoZSBub2RlLgogICAgIGlmIChkZWZp bmVkKCRoZWFkaW5nKSBhbmQgJGhlYWRpbmcgbmUgJycgYW5kIGRlZmluZWQoJGhlYWRpbmdfbGV2 ZWwpKSB7CiAKLSAgICAgICAgaWYgKCRUZXhpbmZvOjpDb21tb246OnJvb3RfY29tbWFuZHN7JGNt ZG5hbWV9Ci0gICAgICAgICAgICBhbmQgJFRleGluZm86OkNvbW1vbjo6c2VjdGlvbmluZ19jb21t YW5kc3skY21kbmFtZX0pIHsKKyAgICAgICAgaWYgKCRyb290X2NvbW1hbmRzeyRjbWRuYW1lfQor ICAgICAgICAgICAgYW5kICRzZWN0aW9uaW5nX2NvbW1hbmRzeyRjbWRuYW1lfSkgewogICAgICAg ICAgICAgbXkgJGNvbnRlbnRfaHJlZiA9ICRzZWxmLT5jb21tYW5kX2NvbnRlbnRzX2hyZWYoJGNv bW1hbmQsICdjb250ZW50cycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAkc2VsZi0+eydjdXJyZW50X2ZpbGVuYW1lJ30pOwogICAg ICAgICAgICAgaWYgKCRjb250ZW50X2hyZWYpIHsKQEAgLTE0MCw3ICsxNzksMTMgQEAgc3ViIGZm bXBlZ19oZWFkaW5nX2NvbW1hbmQoJCQkJCQpCiAgICAgICAgICAgICB9CiAgICAgICAgIH0KIAot ICAgICAgICBpZiAoJHNlbGYtPmluX3ByZWZvcm1hdHRlZCgpKSB7CisgICAgICAgIG15ICRpbl9w cmVmb3JtYXR0ZWQ7CisgICAgICAgIGlmICgkcHJvZ3JhbV92ZXJzaW9uX251bSA+PSA3LjAwMTA5 MCkgeworICAgICAgICAgICRpbl9wcmVmb3JtYXR0ZWQgPSAkc2VsZi0+aW5fcHJlZm9ybWF0dGVk X2NvbnRleHQoKTsKKyAgICAgICAgfSBlbHNlIHsKKyAgICAgICAgICAkaW5fcHJlZm9ybWF0dGVk ID0gJHNlbGYtPmluX3ByZWZvcm1hdHRlZCgpOworICAgICAgICB9CisgICAgICAgIGlmICgkaW5f cHJlZm9ybWF0dGVkKSB7CiAgICAgICAgICAgICAkcmVzdWx0IC49ICRoZWFkaW5nLiJcbiI7CiAg ICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAjIGlmIHRoZSBsZXZlbCB3YXMgY2hhbmdlZCwg c2V0IHRoZSBjb21tYW5kIG5hbWUgcmlnaHQKQEAgLTE0OSwyMSArMTk0LDI1IEBAIHN1YiBmZm1w ZWdfaGVhZGluZ19jb21tYW5kKCQkJCQkKQogICAgICAgICAgICAgICAgICRjbWRuYW1lCiAgICAg ICAgICAgICAgICAgICAgID0gJFRleGluZm86OkNvbW1vbjo6bGV2ZWxfdG9fc3RydWN0dXJpbmdf Y29tbWFuZHskY21kbmFtZX0tPlskaGVhZGluZ19sZXZlbF07CiAgICAgICAgICAgICB9Ci0gICAg ICAgICAgICAjIGZvcm1hdF9oZWFkaW5nX3RleHQgZXhwZWN0cyBhbiBhcnJheSBvZiBoZWFkaW5n cyBmb3IgdGV4aW5mbyA+PSA3LjAKICAgICAgICAgICAgIGlmICgkcHJvZ3JhbV92ZXJzaW9uX251 bSA+PSA3LjAwMDAwMCkgewotICAgICAgICAgICAgICAgICRoZWFkaW5nID0gWyRoZWFkaW5nXTsK LSAgICAgICAgICAgIH0KLSAgICAgICAgICAgICRyZXN1bHQgLj0gJntnZXRfZm9ybWF0dGluZ19m dW5jdGlvbigkc2VsZiwnZm9ybWF0X2hlYWRpbmdfdGV4dCcpfSgKKyAgICAgICAgICAgICAgICAk cmVzdWx0IC49ICZ7Z2V0X2Zvcm1hdHRpbmdfZnVuY3Rpb24oJHNlbGYsJ2Zvcm1hdF9oZWFkaW5n X3RleHQnKX0oJHNlbGYsCisgICAgICAgICAgICAgICAgICAgICAkY21kbmFtZSwgWyRjbWRuYW1l XSwgJGhlYWRpbmcsCisgICAgICAgICAgICAgICAgICAgICAkaGVhZGluZ19sZXZlbCArJHNlbGYt PmdldF9jb25mKCdDSEFQVEVSX0hFQURFUl9MRVZFTCcpIC0xLAorICAgICAgICAgICAgICAgICAg ICAgJGhlYWRpbmdfaWQsICRjb21tYW5kKTsKKworICAgICAgICAgICAgfSBlbHNlIHsKKyAgICAg ICAgICAgICAgJHJlc3VsdCAuPSAme2dldF9mb3JtYXR0aW5nX2Z1bmN0aW9uKCRzZWxmLCdmb3Jt YXRfaGVhZGluZ190ZXh0Jyl9KAogICAgICAgICAgICAgICAgICAgICAgICAgJHNlbGYsICRjbWRu YW1lLCAkaGVhZGluZywKICAgICAgICAgICAgICAgICAgICAgICAgICRoZWFkaW5nX2xldmVsICsK ICAgICAgICAgICAgICAgICAgICAgICAgICRzZWxmLT5nZXRfY29uZignQ0hBUFRFUl9IRUFERVJf TEVWRUwnKSAtIDEsICRjb21tYW5kKTsKKyAgICAgICAgICAgIH0KICAgICAgICAgfQogICAgIH0K ICAgICAkcmVzdWx0IC49ICRjb250ZW50IGlmIChkZWZpbmVkKCRjb250ZW50KSk7CiAgICAgcmV0 dXJuICRyZXN1bHQ7CiB9CiAKLWZvcmVhY2ggbXkgJGNvbW1hbmQgKGtleXMoJVRleGluZm86OkNv bW1vbjo6c2VjdGlvbmluZ19jb21tYW5kcyksICdub2RlJykgeworZm9yZWFjaCBteSAkY29tbWFu ZCAoa2V5cyglc2VjdGlvbmluZ19jb21tYW5kcyksICdub2RlJykgewogICAgIHRleGluZm9fcmVn aXN0ZXJfY29tbWFuZF9mb3JtYXR0aW5nKCRjb21tYW5kLCBcJmZmbXBlZ19oZWFkaW5nX2NvbW1h bmQpOwogfQogCkBAIC0xODgsMjggKzIzNyw1NiBAQCBzdWIgZmZtcGVnX2JlZ2luX2ZpbGUoJCQk KQogICAgIG15ICRmaWxlbmFtZSA9IHNoaWZ0OwogICAgIG15ICRlbGVtZW50ID0gc2hpZnQ7CiAK LSAgICBteSAkY29tbWFuZDsKLSAgICBpZiAoJGVsZW1lbnQgYW5kICRzZWxmLT5nZXRfY29uZign U1BMSVQnKSkgewotICAgICAgICAkY29tbWFuZCA9ICRzZWxmLT5lbGVtZW50X2NvbW1hbmQoJGVs ZW1lbnQpOworICAgIG15ICgkZWxlbWVudF9jb21tYW5kLCAkbm9kZV9jb21tYW5kLCAkY29tbWFu ZF9mb3JfdGl0bGUpOworICAgIGlmICgkZWxlbWVudCkgeworICAgICAgICBpZiAoJGVsZW1lbnQt PnsndW5pdF9jb21tYW5kJ30pIHsKKyAgICAgICAgICAkZWxlbWVudF9jb21tYW5kID0gJGVsZW1l bnQtPnsndW5pdF9jb21tYW5kJ307CisgICAgICAgIH0gZWxzaWYgKCRzZWxmLT5jYW4oJ3RyZWVf dW5pdF9lbGVtZW50X2NvbW1hbmQnKSkgeworICAgICAgICAgICRlbGVtZW50X2NvbW1hbmQgPSAk c2VsZi0+dHJlZV91bml0X2VsZW1lbnRfY29tbWFuZCgkZWxlbWVudCk7CisgICAgICAgIH0gZWxz aWYgKCRzZWxmLT5jYW4oJ3RyZWVfdW5pdF9lbGVtZW50X2NvbW1hbmQnKSkgeworICAgICAgICAg ICRlbGVtZW50X2NvbW1hbmQgPSAkc2VsZi0+ZWxlbWVudF9jb21tYW5kKCRlbGVtZW50KTsKKyAg ICAgICAgfQorCisgICAgICAgJG5vZGVfY29tbWFuZCA9ICRlbGVtZW50X2NvbW1hbmQ7CisgICAg ICAgaWYgKCRlbGVtZW50X2NvbW1hbmQgYW5kICRlbGVtZW50X2NvbW1hbmQtPnsnY21kbmFtZSd9 CisgICAgICAgICAgIGFuZCAkZWxlbWVudF9jb21tYW5kLT57J2NtZG5hbWUnfSBuZSAnbm9kZScK KyAgICAgICAgICAgYW5kICRlbGVtZW50X2NvbW1hbmQtPnsnZXh0cmEnfQorICAgICAgICAgICBh bmQgJGVsZW1lbnRfY29tbWFuZC0+eydleHRyYSd9LT57J2Fzc29jaWF0ZWRfbm9kZSd9KSB7Cisg ICAgICAgICAkbm9kZV9jb21tYW5kID0gJGVsZW1lbnRfY29tbWFuZC0+eydleHRyYSd9LT57J2Fz c29jaWF0ZWRfbm9kZSd9OworICAgICAgIH0KKworICAgICAgICRjb21tYW5kX2Zvcl90aXRsZSA9 ICRlbGVtZW50X2NvbW1hbmQgaWYgKCRzZWxmLT5nZXRfY29uZignU1BMSVQnKSk7CiAgICAgfQog Ci0gICAgbXkgKCR0aXRsZSwgJGRlc2NyaXB0aW9uLCAkZW5jb2RpbmcsICRkYXRlLCAkY3NzX2xp bmVzLAotICAgICAgICAkZG9jdHlwZSwgJGJvZHl0ZXh0LCAkY29weWluZ19jb21tZW50LCAkYWZ0 ZXJfYm9keV9vcGVuLAotICAgICAgICAkZXh0cmFfaGVhZCwgJHByb2dyYW1fYW5kX3ZlcnNpb24s ICRwcm9ncmFtX2hvbWVwYWdlLAorICAgIG15ICgkdGl0bGUsICRkZXNjcmlwdGlvbiwgJGtleXdv cmRzLCAkZW5jb2RpbmcsICRkYXRlLCAkY3NzX2xpbmVzLCAkZG9jdHlwZSwKKyAgICAgICAgJHJv b3RfaHRtbF9lbGVtZW50X2F0dHJpYnV0ZXMsICRib2R5X2F0dHJpYnV0ZXMsICRjb3B5aW5nX2Nv bW1lbnQsCisgICAgICAgICRhZnRlcl9ib2R5X29wZW4sICRleHRyYV9oZWFkLCAkcHJvZ3JhbV9h bmRfdmVyc2lvbiwgJHByb2dyYW1faG9tZXBhZ2UsCiAgICAgICAgICRwcm9ncmFtLCAkZ2VuZXJh dG9yKTsKLSAgICBpZiAoJHByb2dyYW1fdmVyc2lvbl9udW0gPj0gNy4wMDAwMDApIHsKLSAgICAg ICAgKCR0aXRsZSwgJGRlc2NyaXB0aW9uLCAkZW5jb2RpbmcsICRkYXRlLCAkY3NzX2xpbmVzLAot ICAgICAgICAgJGRvY3R5cGUsICRib2R5dGV4dCwgJGNvcHlpbmdfY29tbWVudCwgJGFmdGVyX2Jv ZHlfb3BlbiwKKyAgICBpZiAoJHByb2dyYW1fdmVyc2lvbl9udW0gPj0gNy4wMDEwOTApIHsKKyAg ICAgICAgKCR0aXRsZSwgJGRlc2NyaXB0aW9uLCAka2V5d29yZHMsICRlbmNvZGluZywgJGRhdGUs ICRjc3NfbGluZXMsICRkb2N0eXBlLAorICAgICAgICAgJHJvb3RfaHRtbF9lbGVtZW50X2F0dHJp YnV0ZXMsICRib2R5X2F0dHJpYnV0ZXMsICRjb3B5aW5nX2NvbW1lbnQsCisgICAgICAgICAkYWZ0 ZXJfYm9keV9vcGVuLCAkZXh0cmFfaGVhZCwgJHByb2dyYW1fYW5kX3ZlcnNpb24sICRwcm9ncmFt X2hvbWVwYWdlLAorICAgICAgICAgJHByb2dyYW0sICRnZW5lcmF0b3IpID0gJHNlbGYtPl9maWxl X2hlYWRlcl9pbmZvcm1hdGlvbigkY29tbWFuZF9mb3JfdGl0bGUsCisgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRmaWxlbmFt ZSk7CisgICAgfSBlbHNpZiAoJHByb2dyYW1fdmVyc2lvbl9udW0gPj0gNy4wMDAwMDApIHsKKyAg ICAgICAgKCR0aXRsZSwgJGRlc2NyaXB0aW9uLCAkZW5jb2RpbmcsICRkYXRlLCAkY3NzX2xpbmVz LCAkZG9jdHlwZSwKKyAgICAgICAgICRyb290X2h0bWxfZWxlbWVudF9hdHRyaWJ1dGVzLCAkY29w eWluZ19jb21tZW50LCAkYWZ0ZXJfYm9keV9vcGVuLAogICAgICAgICAgJGV4dHJhX2hlYWQsICRw cm9ncmFtX2FuZF92ZXJzaW9uLCAkcHJvZ3JhbV9ob21lcGFnZSwKLSAgICAgICAgICRwcm9ncmFt LCAkZ2VuZXJhdG9yKSA9ICRzZWxmLT5fZmlsZV9oZWFkZXJfaW5mb3JtYXRpb24oJGNvbW1hbmQp OworICAgICAgICAgJHByb2dyYW0sICRnZW5lcmF0b3IpID0gJHNlbGYtPl9maWxlX2hlYWRlcl9p bmZvcm1hdGlvbigkY29tbWFuZF9mb3JfdGl0bGUsCisgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRmaWxlbmFtZSk7CiAgICAg fSBlbHNlIHsKICAgICAgICAgKCR0aXRsZSwgJGRlc2NyaXB0aW9uLCAkZW5jb2RpbmcsICRkYXRl LCAkY3NzX2xpbmVzLAotICAgICAgICAgJGRvY3R5cGUsICRib2R5dGV4dCwgJGNvcHlpbmdfY29t bWVudCwgJGFmdGVyX2JvZHlfb3BlbiwKLSAgICAgICAgICRleHRyYV9oZWFkLCAkcHJvZ3JhbV9h bmRfdmVyc2lvbiwgJHByb2dyYW1faG9tZXBhZ2UsCi0gICAgICAgICAkcHJvZ3JhbSwgJGdlbmVy YXRvcikgPSAkc2VsZi0+X2ZpbGVfaGVhZGVyX2luZm9ybWF0aW9ucygkY29tbWFuZCk7CisgICAg ICAgICAkZG9jdHlwZSwgJHJvb3RfaHRtbF9lbGVtZW50X2F0dHJpYnV0ZXMsICRjb3B5aW5nX2Nv bW1lbnQsCisgICAgICAgICAkYWZ0ZXJfYm9keV9vcGVuLCAkZXh0cmFfaGVhZCwgJHByb2dyYW1f YW5kX3ZlcnNpb24sICRwcm9ncmFtX2hvbWVwYWdlLAorICAgICAgICAgJHByb2dyYW0sICRnZW5l cmF0b3IpID0gJHNlbGYtPl9maWxlX2hlYWRlcl9pbmZvcm1hdGlvbnMoJGNvbW1hbmRfZm9yX3Rp dGxlKTsKICAgICB9CiAKLSAgICBteSAkbGlua3MgPSAkc2VsZi0+X2dldF9saW5rcyAoJGZpbGVu YW1lLCAkZWxlbWVudCk7CisgICAgbXkgJGxpbmtzOworICAgIGlmICgkcHJvZ3JhbV92ZXJzaW9u X251bSA+PSA3LjAwMDAwMCkgeworICAgICAgJGxpbmtzID0gJHNlbGYtPl9nZXRfbGlua3MoJGZp bGVuYW1lLCAkZWxlbWVudCwgJG5vZGVfY29tbWFuZCk7CisgICAgfSBlbHNlIHsKKyAgICAgICRs aW5rcyA9ICRzZWxmLT5fZ2V0X2xpbmtzICgkZmlsZW5hbWUsICRlbGVtZW50KTsKKyAgICB9CiAK ICAgICBteSAkaGVhZDEgPSAkRU5WeyJGRk1QRUdfSEVBREVSMSJ9IHx8IDw8RU9UOwogPCFET0NU WVBFIGh0bWwgUFVCTElDICItLy9XM0MvL0RURCBIVE1MIDQuMDEgVHJhbnNpdGlvbmFsLy9FTiIg Imh0dHA6Ly93d3cudzMub3JnL1RSL2h0bWw0L2xvb3NlLmR0ZCI+CkBAIC0yNTIsMTMgKzMyOSwy NSBAQCBzdWIgZmZtcGVnX3Byb2dyYW1fc3RyaW5nKCQpCiAgIGlmIChkZWZpbmVkKCRzZWxmLT5n ZXRfY29uZignUFJPR1JBTScpKQogICAgICAgYW5kICRzZWxmLT5nZXRfY29uZignUFJPR1JBTScp IG5lICcnCiAgICAgICBhbmQgZGVmaW5lZCgkc2VsZi0+Z2V0X2NvbmYoJ1BBQ0tBR0VfVVJMJykp KSB7Ci0gICAgcmV0dXJuICRzZWxmLT5jb252ZXJ0X3RyZWUoCisgICAgaWYgKCRwcm9ncmFtX3Zl cnNpb25fbnVtID49IDcuMDAxMDkwKSB7CisgICAgIHJldHVybiAkc2VsZi0+Y29udmVydF90cmVl KAorICAgICAgJHNlbGYtPmNkdCgnVGhpcyBkb2N1bWVudCB3YXMgZ2VuZXJhdGVkIHVzaW5nIEB1 cmVme3twcm9ncmFtX2hvbWVwYWdlfSwgQGVtcGh7e3Byb2dyYW19fX0uJywKKyAgICAgICAgIHsg J3Byb2dyYW1faG9tZXBhZ2UnID0+IHsndGV4dCcgPT4gJHNlbGYtPmdldF9jb25mKCdQQUNLQUdF X1VSTCcpfSwKKyAgICAgICAgICAgJ3Byb2dyYW0nID0+IHsndGV4dCcgPT4gJHNlbGYtPmdldF9j b25mKCdQUk9HUkFNJykgfX0pKTsKKyAgICB9IGVsc2UgeworICAgICByZXR1cm4gJHNlbGYtPmNv bnZlcnRfdHJlZSgKICAgICAgICRzZWxmLT5nZHQoJ1RoaXMgZG9jdW1lbnQgd2FzIGdlbmVyYXRl ZCB1c2luZyBAdXJlZnt7cHJvZ3JhbV9ob21lcGFnZX0sIEBlbXBoe3twcm9ncmFtfX19LicsCi0g ICAgICAgICB7ICdwcm9ncmFtX2hvbWVwYWdlJyA9PiAkc2VsZi0+Z2V0X2NvbmYoJ1BBQ0tBR0Vf VVJMJyksCi0gICAgICAgICAgICdwcm9ncmFtJyA9PiAkc2VsZi0+Z2V0X2NvbmYoJ1BST0dSQU0n KSB9KSk7CisgICAgICAgICB7ICdwcm9ncmFtX2hvbWVwYWdlJyA9PiB7J3RleHQnID0+ICRzZWxm LT5nZXRfY29uZignUEFDS0FHRV9VUkwnKX0sCisgICAgICAgICAgICdwcm9ncmFtJyA9PiB7J3Rl eHQnID0+ICRzZWxmLT5nZXRfY29uZignUFJPR1JBTScpIH19KSk7CisgICAgfQogICB9IGVsc2Ug ewotICAgIHJldHVybiAkc2VsZi0+Y29udmVydF90cmVlKAotICAgICAgJHNlbGYtPmdkdCgnVGhp cyBkb2N1bWVudCB3YXMgZ2VuZXJhdGVkIGF1dG9tYXRpY2FsbHkuJykpOworICAgIGlmICgkcHJv Z3JhbV92ZXJzaW9uX251bSA+PSA3LjAwMTA5MCkgeworICAgICAgcmV0dXJuICRzZWxmLT5jb252 ZXJ0X3RyZWUoCisgICAgICAgICRzZWxmLT5jZHQoJ1RoaXMgZG9jdW1lbnQgd2FzIGdlbmVyYXRl ZCBhdXRvbWF0aWNhbGx5LicpKTsKKyAgICB9IGVsc2UgeworICAgICAgcmV0dXJuICRzZWxmLT5j b252ZXJ0X3RyZWUoCisgICAgICAgICRzZWxmLT5nZHQoJ1RoaXMgZG9jdW1lbnQgd2FzIGdlbmVy YXRlZCBhdXRvbWF0aWNhbGx5LicpKTsKKyAgICB9CiAgIH0KIH0KIGlmICgkcHJvZ3JhbV92ZXJz aW9uXzZfOCkgewotLSAKMi40OS4xCgoKRnJvbSBlMGYzYzEwMThhMDk3M2FiYjE4ZTI0MGNiZjBi Yzk4ZGFmMTVmNmI2IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBKYW1lcyBBbG1lciA8 amFtcmlhbEBnbWFpbC5jb20+CkRhdGU6IFRodSwgNiBGZWIgMjAyNSAxODo0NDowNCAtMDMwMApT dWJqZWN0OiBbUEFUQ0ggMjA3LzQzNF0gYXZ1dGlsL2Rvd25taXhfaW5mbzogYWRkIG1pc3Npbmcg c2VtaWNvbG9uCgpGaXhlcyBjb21waWxhdGlvbiBicm9rZW4gYnkgOGE3Mjc3NWQ1ZGJhMzI1M2M0 ZmZkOWI3ZWM5MWY3M2JlZGE0MjY0MS4KClNpZ25lZC1vZmYtYnk6IEphbWVzIEFsbWVyIDxqYW1y aWFsQGdtYWlsLmNvbT4KLS0tCiBsaWJhdnV0aWwvZG93bm1peF9pbmZvLmMgfCAyICstCiAxIGZp bGUgY2hhbmdlZCwgMSBpbnNlcnRpb24oKyksIDEgZGVsZXRpb24oLSkKCmRpZmYgLS1naXQgYS9s aWJhdnV0aWwvZG93bm1peF9pbmZvLmMgYi9saWJhdnV0aWwvZG93bm1peF9pbmZvLmMKaW5kZXgg ODM3NzFhMzA1MS4uN2U2YzNlODU0ZCAxMDA2NDQKLS0tIGEvbGliYXZ1dGlsL2Rvd25taXhfaW5m by5jCisrKyBiL2xpYmF2dXRpbC9kb3dubWl4X2luZm8uYwpAQCAtMzEsNyArMzEsNyBAQCBBVkRv d25taXhJbmZvICphdl9kb3dubWl4X2luZm9fdXBkYXRlX3NpZGVfZGF0YShBVkZyYW1lICpmcmFt ZSkKICAgICAgICAgc2lkZV9kYXRhID0gYXZfZnJhbWVfbmV3X3NpZGVfZGF0YShmcmFtZSwgQVZf RlJBTUVfREFUQV9ET1dOTUlYX0lORk8sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgc2l6ZW9mKEFWRG93bm1peEluZm8pKTsKICAgICAgICAgaWYgKHNpZGVfZGF0 YSkKLSAgICAgICAgICAgIG1lbXNldChzaWRlX2RhdGEtPmRhdGEsIDAsIHNpemVvZihBVkRvd25t aXhJbmZvKSkKKyAgICAgICAgICAgIG1lbXNldChzaWRlX2RhdGEtPmRhdGEsIDAsIHNpemVvZihB VkRvd25taXhJbmZvKSk7CiAgICAgfQogCiAgICAgaWYgKCFzaWRlX2RhdGEpCi0tIAoyLjQ5LjEK CgpGcm9tIDMxZjAwODRjYmJhYTg2M2FmNGE3MzNiZDlmYjgyMDIzODhhYzVjNGUgTW9uIFNlcCAx NyAwMDowMDowMCAyMDAxCkZyb206ID0/VVRGLTg/cT9NYXJ0aW49MjBTdG9yc2o9QzM9QjY/PSA8 bWFydGluQG1hcnRpbi5zdD4KRGF0ZTogRnJpLCAyNCBKYW4gMjAyNSAyMzozMjo1MiArMDIwMApT dWJqZWN0OiBbUEFUQ0ggMjA4LzQzNF0gY29uZmlndXJlOiBJbXByb3ZlIHRoZSBjaGVjayBmb3Ig dGhlIHJzeW5jCiAtLWNvbnRpbWVvdXQgb3B0aW9uCk1JTUUtVmVyc2lvbjogMS4wCkNvbnRlbnQt VHlwZTogdGV4dC9wbGFpbjsgY2hhcnNldD1VVEYtOApDb250ZW50LVRyYW5zZmVyLUVuY29kaW5n OiA4Yml0CgpUcmFkaXRpb25hbGx5LCBtYWNPUyBoYXMgc2hpcHBlZCBhbiBvbGQgdmVyc2lvbiBv ZiByc3luYyB0aGF0IGxhY2tlZApzdXBwb3J0IGZvciB0aGlzIG9wdGlvbiwgaGVuY2UgdGhpcyBj aGVjayAoYWRkZWQgaW4KYThiM2YwYzVjZjU0OGY2NTRlMzBjOTgxOTg4YmI3MTk4MWEzZjhkMyku CgpIb3dldmVyLCBpbiBtYWNPUyAxNS54LCBBcHBsZSBoYXZlIHN3aXRjaGVkIHRvIHByb3ZpZGlu ZyByc3luYyBhcyBhCmRpZmZlcmVudCB0b29sLCBvcGVucnN5bmMuIFRoZSB2ZXJzaW9uIG9mIG9w ZW5yc3luYyBpbiBhdCBsZWFzdAptYWNPUyAxNS4yIGRvZXMgaW5jbHVkZSAiWy0tY29udGltZW91 dF0iIChub3RlIHRoZSBsYWNrIG9mICI9IiBhZnRlcgp0aGUgb3B0aW9uKSwgaW4gdGhlIG91dHB1 dCBvZiAicnN5bmMgLS1oZWxwIiwgYnV0IHdoZW4gdXNlZCwgdGhlIHRvb2wKZXJyb3JzIG91dCB3 aXRoICJyc3luYzogLS1jb250aW1lb3V0PTYwOiB1bmtub3duIG9wdGlvbiIuIFNvIGFwcGFyZW50 bHkKdGhlIHRvb2wgZXJyb2Vub3VzbHkgbGlzdHMgdGhlIG9wdGlvbiBhcyBzdXBwb3J0ZWQsIHdo aWxlIGl0IHJlYWxseQppc24ndC4KClRoZSBvcmlnaW5hbCByc3luYyB0b29sICh3aXRoIGEgbmV3 IGVub3VnaCB2ZXJzaW9uKSBwcmludHMKIi0tY29udGltZW91dD1TRUNPTkRTIiBpbiB0aGUgb3V0 cHV0IG9mICJyc3luYyAtLWhlbHAiLgoKSXQgaXMgdW5jbGVhciB3aGljaCB2ZXJzaW9uIG9mIG9w ZW5yc3luYyBBcHBsZSBhcmUgc2hpcHBpbmc7IHRoZSBsYXRlc3QKdXBzdHJlYW0gb3BlbnJzeW5j IGZyb20gT3BlbkJTRCBkb2VzIHN1cHBvcnQgdGhlIG9wdGlvbiBhbmQgaW5jbHVkZXMKIlstLWNv bnRpbWVvdXQ9c2Vjb25kc10iIGluIHRoZSBvdXRwdXQgb2YgIi0taGVscCIsIGFuZCBvbGRlciB2 ZXJzaW9ucwpkb24ndCBzZWVtIHRvIGluY2x1ZGUgdGhlIG9wdGlvbiBhcyBsaXN0ZWQgYXQgYWxs LgoKVGhlcmVmb3JlLCBjaGVjayBmb3IgIi0tY29ubnRpbWVvdXQ9IiB3aXRoIHRoZSAiPSIsIHRo aXMgc2hvdWxkCnByb3Blcmx5IGRldGVjdCBib3RoIG5ldyBlbm91Z2ggcnN5bmMgYW5kIG9wZW5y c3luYy4KClRoaXMgZml4ZXMgcnVubmluZyAiZmF0ZS1yc3luYyIgb24gbWFjT1MgMTUueC4KClNp Z25lZC1vZmYtYnk6IE1hcnRpbiBTdG9yc2rDtiA8bWFydGluQG1hcnRpbi5zdD4KKGNoZXJyeSBw aWNrZWQgZnJvbSBjb21taXQgM2NkNGU4NDcwYTFlZjgyMjIzZDEyNDUyM2Y4MjE5NjkxZGZlZmI2 MCkKLS0tCiBjb25maWd1cmUgfCAyICstCiAxIGZpbGUgY2hhbmdlZCwgMSBpbnNlcnRpb24oKyks IDEgZGVsZXRpb24oLSkKCmRpZmYgLS1naXQgYS9jb25maWd1cmUgYi9jb25maWd1cmUKaW5kZXgg ZDc3YTU1YjY1My4uOWMwMTM1MDVmMiAxMDA3NTUKLS0tIGEvY29uZmlndXJlCisrKyBiL2NvbmZp Z3VyZQpAQCAtNzE3NSw3ICs3MTc1LDcgQEAgZW5hYmxlZCBtYWtlaW5mbyBcCiBkaXNhYmxlZCBt YWtlaW5mb19odG1sICYmIHRleGkyaHRtbCAtLWhlbHAgMj4gL2Rldi9udWxsIHwgZ3JlcCAtcSAn aW5pdC1maWxlJyAmJiBlbmFibGUgdGV4aTJodG1sIHx8IGRpc2FibGUgdGV4aTJodG1sCiBwZXJs IC12ICAgICAgICAgICAgPiAvZGV2L251bGwgMj4mMSAmJiBlbmFibGUgcGVybCAgICAgIHx8IGRp c2FibGUgcGVybAogcG9kMm1hbiAtLWhlbHAgICAgID4gL2Rldi9udWxsIDI+JjEgJiYgZW5hYmxl IHBvZDJtYW4gICB8fCBkaXNhYmxlIHBvZDJtYW4KLXJzeW5jIC0taGVscCAyPiAvZGV2L251bGwg fCBncmVwIC1xICdjb250aW1lb3V0JyAmJiBlbmFibGUgcnN5bmNfY29udGltZW91dCB8fCBkaXNh YmxlIHJzeW5jX2NvbnRpbWVvdXQKK3JzeW5jIC0taGVscCAyPiAvZGV2L251bGwgfCBncmVwIC1x ICdjb250aW1lb3V0PScgJiYgZW5hYmxlIHJzeW5jX2NvbnRpbWVvdXQgfHwgZGlzYWJsZSByc3lu Y19jb250aW1lb3V0CiB4bWxsaW50IC0tdmVyc2lvbiAgPiAvZGV2L251bGwgMj4mMSAmJiBlbmFi bGUgeG1sbGludCAgIHx8IGRpc2FibGUgeG1sbGludAogCiBjaGVja19oZWFkZXJzIGxpbnV4L2Zi LmgKLS0gCjIuNDkuMQoKCkZyb20gYWM0OTRiODMyNWNjOTYxMmEzODJlOTc2MmUxZjRjNzgxOTAw OWMwYyBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKRnJvbTogPT9VVEYtOD9xP01hcnRpbj0yMFN0 b3Jzaj1DMz1CNj89IDxtYXJ0aW5AbWFydGluLnN0PgpEYXRlOiBUaHUsIDIzIEphbiAyMDI1IDEy OjUzOjEwICswMjAwClN1YmplY3Q6IFtQQVRDSCAyMDkvNDM0XSBydG1wcHJvdG86IEF2b2lkIHJh cmUgY3Jhc2hlcyBpbiB0aGUgZmFpbDogY29kZXBhdGgKIGluIHJ0bXBfb3BlbgpNSU1FLVZlcnNp b246IDEuMApDb250ZW50LVR5cGU6IHRleHQvcGxhaW47IGNoYXJzZXQ9VVRGLTgKQ29udGVudC1U cmFuc2Zlci1FbmNvZGluZzogOGJpdAoKV2hlbiBydW5uaW5nIHRoZSBjbGVhbnVwIGluIHJ0bXBf Y2xvc2Ugb24gZmFpbHVyZXMgaW4gcnRtcF9vcGVuLAp3ZSBjYW4gaW4gcmFyZSBjYXNlcyBlbmQg dXAgdXNpbmcgcnQtPnBsYXlwYXRoLCBhc3N1bWluZyB0aGF0IGl0CmlzIHN0aWxsIHNldC4KClRo ZSBjcmFzaCBjb3VsZCBoYXBwZW4gaWYgd2UgaGl0IHRoZSBmYWlsIGNvZGVwYXRoIGluIHJ0bXBf b3Blbgp3aGlsZSBwdWJsaXNoaW5nIChydC0+aXNfaW5wdXQgPT0gMCkgd2l0aCBydC0+c3RhdGUg c2V0IHRvCmEgdmFsdWUgPiBTVEFURV9GQ1BVQkxJU0guCgpUaGlzIHdvdWxkIG5vcm1hbGx5IG5v dCBoYXBwZW4gd2hpbGUgcHVibGlzaGluZzsgZWl0aGVyIHdlIGhhdmUKYW4gZXJyb3IgKGFuZCBy dC0+c3RhdGUgPD0gU1RBVEVfRkNQVUJMSVNIKSBvciB3ZSByZWFjaApydC0+c3RhdGUgPSBTVEFU RV9QVUJMSVNISU5HLCBhbmQgdGhlbiB3ZSBhbHNvIHJldHVybiBzdWNjZXNzZnVsbHkKZnJvbSBy dG1wX29wZW4uCgpUaGUgdW5leHBlY3RlZCBjb21iaW5hdGlvbiBvZiBzdGF0ZXMgY291bGQgaGFw cGVuIGlmIHRoZSBzZXJ2ZXIKcmVzcG9uZHMgd2l0aCBlLmcuICJOZXRTdHJlYW0uUGxheS5TdG9w IiB3aGlsZSBleHBlY3RpbmcKIk5ldFN0cmVhbS5QdWJsaXNoLlN0YXJ0IjsgdGhpcyBzZXRzIHJ0 LT5zdGF0ZSB0byBTVEFURV9TVE9QUEVELAp3aGljaCBhbHNvIGZ1bGZpbGxzIHRoZSBjb25kaXRp b24gIj4gU1RBVEVfRkNQVUJMSVNIIi4KCldlIGRvbid0IG5lZWQgdG8gZnJlZSB0aGUgcnQtPnBs YXlwYXRoL3RjdXJsL2ZsYXNodmVyIHN0cmluZ3MgaGVyZTsKdGhleSdyZSBoYW5kbGVkIHZpYSBB Vk9wdGlvbiwgYW5kIHRodXMgYXJlIGZyZWVkIGF1dG9tYXRpY2FsbHkgd2hlbgp0aGUgcHJvdG9j b2wgaW5zdGFuY2UgaXMgZnJlZWQgKHRoYXQncyB3aHkgdGhleSBhcmVuJ3QgZnJlZWQKbWFudWFs bHkgd2l0aGluIHRoZSBydG1wX2Nsb3NlIGZ1bmN0aW9uIGVpdGhlcikuCgpXZSBhbHNvIGRvbid0 IG5lZWQgdG8gZnJlZSB0aGUgQVZEaWN0aW9uYXJ5IHdpdGggb3B0aW9uczsgaXQncwpvd25lZCBi eSB0aGUgY2FsbGVyLgoKQSBzbWFsbGVyIGZpeCB3b3VsZCBiZSB0byBqdXN0IGNhbGwgcnRtcF9j bG9zZSBiZWZvcmUgZnJlZWluZwp0aGUgc3RyaW5ncyBhbmQgZGljdGlvbmFyeSwgYnV0IGFzIHdl IGRvbid0IG5lZWQgdG8gZnJlZSB0aGVtCmF0IGFsbCwgbGV0J3MgcmVtb3ZlIHRoYXQgcmVkdW5k YW50IGNvZGUuCgpTaWduZWQtb2ZmLWJ5OiBNYXJ0aW4gU3RvcnNqw7YgPG1hcnRpbkBtYXJ0aW4u c3Q+CihjaGVycnkgcGlja2VkIGZyb20gY29tbWl0IDhmNDgxOWNlMDE1ODRlMDg1OGZkYzMxMmFh OGExN2M1NWUzNTBhOTIpCi0tLQogbGliYXZmb3JtYXQvcnRtcHByb3RvLmMgfCA0IC0tLS0KIDEg ZmlsZSBjaGFuZ2VkLCA0IGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL2xpYmF2Zm9ybWF0L3J0 bXBwcm90by5jIGIvbGliYXZmb3JtYXQvcnRtcHByb3RvLmMKaW5kZXggYjNiMWVlZGFjYi4uOTFm MThiNjA4OCAxMDA2NDQKLS0tIGEvbGliYXZmb3JtYXQvcnRtcHByb3RvLmMKKysrIGIvbGliYXZm b3JtYXQvcnRtcHByb3RvLmMKQEAgLTI5MTgsMTAgKzI5MTgsNiBAQCByZWNvbm5lY3Q6CiAgICAg cmV0dXJuIDA7CiAKIGZhaWw6Ci0gICAgYXZfZnJlZXAoJnJ0LT5wbGF5cGF0aCk7Ci0gICAgYXZf ZnJlZXAoJnJ0LT50Y3VybCk7Ci0gICAgYXZfZnJlZXAoJnJ0LT5mbGFzaHZlcik7Ci0gICAgYXZf ZGljdF9mcmVlKG9wdHMpOwogICAgIHJ0bXBfY2xvc2Uocyk7CiAgICAgcmV0dXJuIHJldDsKIH0K LS0gCjIuNDkuMQoKCkZyb20gZjJiODVjOGFhMWUxOTRjNjJlMTY0OTNmMjg0ODc3NjVjMDA2Yzdk MiBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKRnJvbTogPT9VVEYtOD9xP01hcnRpbj0yMFN0b3Jz aj1DMz1CNj89IDxtYXJ0aW5AbWFydGluLnN0PgpEYXRlOiBXZWQsIDUgRmViIDIwMjUgMjI6NTE6 NTYgKzAyMDAKU3ViamVjdDogW1BBVENIIDIxMC80MzRdIHg4NjogYWFjZW5jZHNwOiBGaXggbmVn YXRpbmcgc2lnbmVkIHZhbHVlcyBpbgogYWFjX3F1YW50aXplX2JhbmRzCk1JTUUtVmVyc2lvbjog MS4wCkNvbnRlbnQtVHlwZTogdGV4dC9wbGFpbjsgY2hhcnNldD1VVEYtOApDb250ZW50LVRyYW5z ZmVyLUVuY29kaW5nOiA4Yml0CgpQcmV2aW91c2x5LCB3ZSB3b3VsZCBkbyBPUiB3aXRoIHRoZSBz aWduIGJpdCwgZm9yY2luZyB0aGUgb3V0cHV0CnRvIGEgbmVnYXRpdmUgdmFsdWUsIHdoaWxlIHdl IHdhbnQgdG8gbmVnYXRlIGl0LCBieSBpbnZlcnRpbmcgdGhlCnNpZ24gYml0LgoKU2lnbmVkLW9m Zi1ieTogTWFydGluIFN0b3JzasO2IDxtYXJ0aW5AbWFydGluLnN0PgooY2hlcnJ5IHBpY2tlZCBm cm9tIGNvbW1pdCA4YjNlMDA2MWUxMGJmNmQ0MjI0ODEzNzc0YzUzNzg2NmM2YjIzYjEyKQotLS0K IGxpYmF2Y29kZWMveDg2L2FhY2VuY2RzcC5hc20gfCAyICstCiAxIGZpbGUgY2hhbmdlZCwgMSBp bnNlcnRpb24oKyksIDEgZGVsZXRpb24oLSkKCmRpZmYgLS1naXQgYS9saWJhdmNvZGVjL3g4Ni9h YWNlbmNkc3AuYXNtIGIvbGliYXZjb2RlYy94ODYvYWFjZW5jZHNwLmFzbQppbmRleCA4NmVhZWJj YmU1Li44ZTQzNWI3ZDJhIDEwMDY0NAotLS0gYS9saWJhdmNvZGVjL3g4Ni9hYWNlbmNkc3AuYXNt CisrKyBiL2xpYmF2Y29kZWMveDg2L2FhY2VuY2RzcC5hc20KQEAgLTk2LDcgKzk2LDcgQEAgY2ds b2JhbCBhYWNfcXVhbnRpemVfYmFuZHMsIDUsIDUsIDYsIG91dCwgaW4sIHNjYWxlZCwgc2l6ZSwg aXNfc2lnbmVkLCBtYXh2YWwsIFEKICAgICBhZGRwcyAgICAgbTIsIG0xCiAgICAgbWlucHMgICAg IG0yLCBtMwogICAgIGFuZHBzICAgICBtNSwgbTQsIFtpbnErc2l6ZXFdCi0gICAgb3JwcyAgICAg IG0yLCBtNQorICAgIHhvcnBzICAgICBtMiwgbTUKICAgICBjdnR0cHMyZHEgbTIsIG0yCiAgICAg bW92YSAgICAgIFtvdXRxK3NpemVxXSwgbTIKICAgICBhZGQgICAgICAgc2l6ZXEsIG1tc2l6ZQot LSAKMi40OS4xCgoKRnJvbSAyODNlNWE0ZmEwNzFkNDNmMGQ1MzlkZmFhMzM0NDM2NjhhMGE2ZGM1 IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQpGcm9tOiA9P1VURi04P3E/TWFydGluPTIwU3RvcnNq PUMzPUI2Pz0gPG1hcnRpbkBtYXJ0aW4uc3Q+CkRhdGU6IFdlZCwgMjkgSmFuIDIwMjUgMTA6NTU6 MjIgKzAyMDAKU3ViamVjdDogW1BBVENIIDIxMS80MzRdIGNoZWNrYXNtOiBhYWNlbmNkc3A6IEFj dHVhbGx5IHRlc3Qgbm9uemVybyB2YWx1ZXMgaW4KIHF1YW50X2JhbmRzCk1JTUUtVmVyc2lvbjog MS4wCkNvbnRlbnQtVHlwZTogdGV4dC9wbGFpbjsgY2hhcnNldD1VVEYtOApDb250ZW50LVRyYW5z ZmVyLUVuY29kaW5nOiA4Yml0CgpQcmV2aW91c2x5LCB3ZSByZWFkIGVsZW1lbnRzIGZyb20gZmZf YWFjX3BvdzM0c2ZfdGFiOyBob3dldmVyCnRoYXQgdGFibGUgaXMgaW5pdGlhbGl6ZWQgdG8gemVy bzsgb25lIG5lZWRzIHRvIGNhbGwKZmZfYWFjX2Zsb2F0X2NvbW1vbl9pbml0KCkgdG8gbWFrZSBz dXJlIHRoYXQgdGhlIHRhYmxlIGlzCmluaXRpYWxpemVkLgoKSG93ZXZlciwgZ2l2ZW4gdGhlIHJh bmdlIG9mIHRoZSBpbnB1dCB2YWx1ZXMsIGEgbGFyZ2UgbnVtYmVyIG9mCmVudHJpZXMgaW4gZmZf YWFjX3BvdzM0c2ZfdGFiIHdvdWxkIGdpdmUgcmVzdWx0cyBvdXRzaWRlIG9mIHRoZQpyYW5nZSBm b3Igc2lnbmVkIDMyIGJpdCBpbnRlZ2Vycy4gQXMgdGhlIGxhcmdlc3QgYWFjX2NiX21heHZhbApl bnRyeSBpcyAxNiwgaXQgc2VlbXMgbW9yZSByZWFzb25hYmxlIHRvIHByb2R1Y2UgdmFsdWVzIHdp dGhpbgphbiBvcmRlciBvZiBtYW5naXR1ZGUgb2YgdGhhdCB2YWx1ZS4KCihXaGVuIGhpdHRpbmcg SU5UX01JTiwgaW1wbGVtZW50YXRpb25zIG1heSBlbmQgdXAgd2l0aCBkaWZmZXJlbnQKcmVzdWx0 cyBkZXBlbmRpbmcgb24gd2hldGhlciB0aGUgdmFsdWUgaXMgbmVnYXRlZCBhcyBhIGZsb2F0IG9y CmFzIGFuIGludC4gVGhpcyBjb3JuZXIgY2FzZSBpcyBpcnJlbGV2YW50IGluIHByYWN0aWNlIGFz IHRoaXMKaXMgd2F5IG91dHNpZGUgb2YgdGhlIGV4cGVjdGVkIHZhbHVlIHJhbmdlIGhlcmUuKQoK Q29pbmNpZGVudGFsbHksIHRoaXMgZml4ZXMgbGlua2luZyBjaGVja2FzbSB3aXRoIEFwcGxlJ3Mg b2xkZXIKbGlua2VyLiAoSW4gWGNvZGUgMTUsIEFwcGxlIHN3aXRjaGVkIHRvIGEgbmV3IGxpbmtl ci4gVGhlIG9uZSBpbgpvbGRlciB0b29sY2hhaW5zIHNlZW1zIHRvIGhhdmUgYSBidWcgd2hlcmUg aXQgd29uJ3QgZmlndXJlIG91dCB0bwpsb2FkIG9iamVjdCBmaWxlcyBmcm9tIGEgc3RhdGljIGxp YnJhcnksIGlmIHRoZSBvbmx5IHN5bWJvbApyZWZlcmVuY2VkIGluIHRoZSBvYmplY3QgZmlsZSBp cyBhICJjb21tb24iIHN5bWJvbCwgaS5lLiBvbmUgZm9yCmEgemVyby1pbml0aWFsaXplZCB2YXJp YWJsZS4gVGhpcyBpc3N1ZSBjYW4gYWxzbyBiZSByZXByb2R1Y2VkIHdpdGgKbmV3ZXIgQXBwbGUg dG9vbGNoYWlucyBieSBwYXNzaW5nIC1XbCwtbGRfY2xhc3NpYyB0byB0aGUgbGlua2VyLikKClNp Z25lZC1vZmYtYnk6IE1hcnRpbiBTdG9yc2rDtiA8bWFydGluQG1hcnRpbi5zdD4KKGNoZXJyeSBw aWNrZWQgZnJvbSBjb21taXQgZTc1YTBmM2M3NTU1MWRmYjU3ZTBiNGYzNGZkNWI1N2U5NTQzZmFk ZSkKLS0tCiB0ZXN0cy9jaGVja2FzbS9hYWNlbmNkc3AuYyB8IDIgKy0KIDEgZmlsZSBjaGFuZ2Vk LCAxIGluc2VydGlvbigrKSwgMSBkZWxldGlvbigtKQoKZGlmZiAtLWdpdCBhL3Rlc3RzL2NoZWNr YXNtL2FhY2VuY2RzcC5jIGIvdGVzdHMvY2hlY2thc20vYWFjZW5jZHNwLmMKaW5kZXggNTMwOGEy YWMwMy4uNzEzMjg0MjExYyAxMDA2NDQKLS0tIGEvdGVzdHMvY2hlY2thc20vYWFjZW5jZHNwLmMK KysrIGIvdGVzdHMvY2hlY2thc20vYWFjZW5jZHNwLmMKQEAgLTY3LDcgKzY3LDcgQEAgc3RhdGlj IHZvaWQgdGVzdF9hYnNfcG93MzQoQUFDRW5jRFNQQ29udGV4dCAqcykKIHN0YXRpYyB2b2lkIHRl c3RfcXVhbnRfYmFuZHMoQUFDRW5jRFNQQ29udGV4dCAqcykKIHsKICAgICBpbnQgbWF4dmFsID0g cmFuZG9taXplX2VsZW0oYWFjX2NiX21heHZhbCk7Ci0gICAgZmxvYXQgcTM0ID0gcmFuZG9taXpl X2VsZW0oZmZfYWFjX3BvdzM0c2ZfdGFiKTsKKyAgICBmbG9hdCBxMzQgPSAoZmxvYXQpcm5kKCkg LyAoVUlOVF9NQVggLyAxMDI0KTsKICAgICBmbG9hdCByb3VuZGluZyA9IChybmQoKSAmIDEpID8g Uk9VTkRfVE9fWkVSTyA6IFJPVU5EX1NUQU5EQVJEOwogICAgIExPQ0FMX0FMSUdORURfMTYoZmxv YXQsIGluLCBbQlVGX1NJWkVdKTsKICAgICBMT0NBTF9BTElHTkVEXzE2KGZsb2F0LCBzY2FsZWQs IFtCVUZfU0laRV0pOwotLSAKMi40OS4xCgoKRnJvbSA3NDVlNzBmMWQ1YjAxZGI4NDVhOGUzZDA1 YjZlY2YwNGVkMGRkNzBlIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQpGcm9tOiA9P1VURi04P3E/ TWFydGluPTIwU3RvcnNqPUMzPUI2Pz0gPG1hcnRpbkBtYXJ0aW4uc3Q+CkRhdGU6IFRodSwgMTIg RGVjIDIwMjQgMTQ6Mjc6MjUgKzAyMDAKU3ViamVjdDogW1BBVENIIDIxMi80MzRdIGZhdGU6IEFk ZCBhIGRlcGVuZGVuY3kgb24gZmZwcm9iZSBmb3IgZmF0ZS1mbGNsMTkwNQpNSU1FLVZlcnNpb246 IDEuMApDb250ZW50LVR5cGU6IHRleHQvcGxhaW47IGNoYXJzZXQ9VVRGLTgKQ29udGVudC1UcmFu c2Zlci1FbmNvZGluZzogOGJpdAoKVGhpcyBmaXhlcyBvY2Nhc2lvbmFsIGZhaWxlZCB0ZXN0cywg aWYgZG9pbmcgIm1ha2UgZmF0ZSIgd2l0aG91dCBhCnJlZ3VsYXIgIm1ha2UiIG9yICJtYWtlIGFs bCIgaW5iZXR3ZWVuLgoKU2lnbmVkLW9mZi1ieTogTWFydGluIFN0b3JzasO2IDxtYXJ0aW5AbWFy dGluLnN0PgooY2hlcnJ5IHBpY2tlZCBmcm9tIGNvbW1pdCBlYjc5YzMxNmM3YjIwNWY0NWU3MDAz ZTkxZjc3YzI1MzgxOGU2Njg1KQotLS0KIHRlc3RzL2ZhdGUvYXVkaW8ubWFrIHwgNiArKysrLS0K IDEgZmlsZSBjaGFuZ2VkLCA0IGluc2VydGlvbnMoKyksIDIgZGVsZXRpb25zKC0pCgpkaWZmIC0t Z2l0IGEvdGVzdHMvZmF0ZS9hdWRpby5tYWsgYi90ZXN0cy9mYXRlL2F1ZGlvLm1hawppbmRleCA0 ZDZjNDc5YjZiLi42ZTA5MTc2MGVhIDEwMDY0NAotLS0gYS90ZXN0cy9mYXRlL2F1ZGlvLm1hawor KysgYi90ZXN0cy9mYXRlL2F1ZGlvLm1hawpAQCAtODIsMTAgKzgyLDEyIEBAIGZhdGUtc21hY2tl ci1hdWRpbzogQ01EID0gZnJhbWVjcmMgLWkgJChUQVJHRVRfU0FNUExFUykvc21hY2tlci93ZXRs b2dvLnNtayAtdm4KIEZBVEVfU0FNUExFU19BVURJTy0kKGNhbGwgREVNREVDLCBXU1ZRQSwgV1Nf U05EMSwgQVJFU0FNUExFX0ZJTFRFUikgKz0gZmF0ZS13c19zbmQKIGZhdGUtd3Nfc25kOiBDTUQg PSBtZDUgLWkgJChUQVJHRVRfU0FNUExFUykvdnFhL3dzX3NuZC52cWEgLWYgczE2bGUgLWFmIGFy ZXNhbXBsZQogCi1GQVRFX1NBTVBMRVNfQVVESU8tJChjYWxsIERFTURFQywgV0FWLCBXTUFWMiwg RklMRV9QUk9UT0NPTCkgKz0gZmF0ZS1mbGNsMTkwNQorRkFURV9TQU1QTEVTX0FVRElPX0ZGUFJP QkUtJChjYWxsIERFTURFQywgV0FWLCBXTUFWMiwgRklMRV9QUk9UT0NPTCkgKz0gZmF0ZS1mbGNs MTkwNQogZmF0ZS1mbGNsMTkwNTogQ01EID0gcnVuIGZmcHJvYmUkKFBST0dTU1VGKSQoRVhFU1VG KSAtc2hvd19mcmFtZXMgLXNob3dfcGFja2V0cyAtcHJpbnRfZm9ybWF0IGNvbXBhY3QgJChUQVJH RVRfU0FNUExFUykvd2F2L0ZMQ0xfRW5kaW5nX015LXNob3J0LndhdgogCiBGQVRFX1NBTVBMRVNf QVVESU8gKz0gJChGQVRFX1NBTVBMRVNfQVVESU8teWVzKQorRkFURV9TQU1QTEVTX0FVRElPX0ZG UFJPQkUgKz0gJChGQVRFX1NBTVBMRVNfQVVESU9fRkZQUk9CRS15ZXMpCiAKIEZBVEVfU0FNUExF U19GRk1QRUcgKz0gJChGQVRFX1NBTVBMRVNfQVVESU8pCi1mYXRlLWF1ZGlvOiAkKEZBVEVfU0FN UExFU19BVURJTykKK0ZBVEVfU0FNUExFU19GRlBST0JFICs9ICQoRkFURV9TQU1QTEVTX0FVRElP X0ZGUFJPQkUpCitmYXRlLWF1ZGlvOiAkKEZBVEVfU0FNUExFU19BVURJTykgJChGQVRFX1NBTVBM RVNfQVVESU9fRkZQUk9CRSkKLS0gCjIuNDkuMQoKCkZyb20gOGNhYmZkOTIyYTcyNmE5NjRlZWFl OGI1Mjc2NTgzZjQ3MGRmMzljMyBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKRnJvbTogQW50b24g S2hpcm5vdiA8YW50b25Aa2hpcm5vdi5uZXQ+CkRhdGU6IFRodSwgMTAgT2N0IDIwMjQgMTY6MDE6 MjEgKzAyMDAKU3ViamVjdDogW1BBVENIIDIxMy80MzRdIGxhdmMvaGV2Y2RlYzogdW5icmVhayBX UFAvcHJvZ3Jlc3MyIGNvZGUKClRoZSAicHJvZ3Jlc3MyIiBBUEkgaW4gcHRocmVhZF9zbGljZS5j IGN1cnJlbnRseSBhc3NvY2lhdGVzIGEgcHJvZ3Jlc3MKdmFsdWUgd2l0aCBhIHRocmVhZCByYXRo ZXIgdGhhbiBhIGpvYiwgcmVseWluZyBvbiB0aGUgYnJva2VuIGFzc3VtcHRpb24KdGhhdCBhIGpv YidzIHRocmVhZCBudW1iZXIgaXMgZXF1YWwgdG8gaXRzIGpvYiBudW1iZXIgbW9kdWxvIHRocmVh ZApjb3VudC4KClRoaXMgcmVtb3ZlcyB0aGlzIEFQSSBlbnRpcmVseSwgYW5kIGNoYW5nZXMgaGV2 Y2RlYyB0byB1c2UgYQpUaHJlYWRQcm9ncmVzcy1iYXNlZCBpbXBsZW1lbnRhdGlvbiB0aGF0IGFz c29jaWF0ZXMgYQptdXRleC9jb25kL3Byb2dyZXNzIHZhbHVlIHdpdGggZXZlcnkgam9iLgoKRml4 ZXMgcmFjZXMgYW5kIGRlYWRsb2NrcyBpbiBoZXZkZWMgd2l0aCBzbGljZSB0aHJlYWRpbmcsIGUu Zy4gc29tZSBvZgp0aG9zZSBtZW50aW9uZWQgaW4gIzExMjIxLgoKKGNoZXJyeSBwaWNrZWQgZnJv bSBjb21taXQgNzljNDdkZmQyNWYxMDFiNjg0MmJiZWM4YzZmZmVmOGQ1MDc3YzNhZSkKLS0tCiBs aWJhdmNvZGVjL2hldmMvaGV2Y2RlYy5jICB8ICA1NyArKysrKysrKysrKysrKysrLS0tLS0KIGxp YmF2Y29kZWMvaGV2Yy9oZXZjZGVjLmggIHwgICAzICsrCiBsaWJhdmNvZGVjL3B0aHJlYWRfc2xp Y2UuYyB8IDEwMiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiBsaWJhdmNv ZGVjL3RocmVhZC5oICAgICAgICB8ICAgNCAtLQogbGliYXZjb2RlYy91dGlscy5jICAgICAgICAg fCAgMTkgLS0tLS0tLQogNSBmaWxlcyBjaGFuZ2VkLCA0NiBpbnNlcnRpb25zKCspLCAxMzkgZGVs ZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvbGliYXZjb2RlYy9oZXZjL2hldmNkZWMuYyBiL2xpYmF2 Y29kZWMvaGV2Yy9oZXZjZGVjLmMKaW5kZXggNmZlNzJiZDI5Ny4uNmYwYWUxMjU1OCAxMDA2NDQK LS0tIGEvbGliYXZjb2RlYy9oZXZjL2hldmNkZWMuYworKysgYi9saWJhdmNvZGVjL2hldmMvaGV2 Y2RlYy5jCkBAIC01NCw2ICs1NCw3IEBACiAjaW5jbHVkZSAicHJvZ3Jlc3NmcmFtZS5oIgogI2lu Y2x1ZGUgInJlZnN0cnVjdC5oIgogI2luY2x1ZGUgInRocmVhZC5oIgorI2luY2x1ZGUgInRocmVh ZHByb2dyZXNzLmgiCiAKIHN0YXRpYyBjb25zdCB1aW50OF90IGhldmNfcGVsX3dlaWdodFs2NV0g PSB7IFsyXSA9IDAsIFs0XSA9IDEsIFs2XSA9IDIsIFs4XSA9IDMsIFsxMl0gPSA0LCBbMTZdID0g NSwgWzI0XSA9IDYsIFszMl0gPSA3LCBbNDhdID0gOCwgWzY0XSA9IDkgfTsKIApAQCAtMjc1MSw2 ICsyNzUyLDggQEAgc3RhdGljIGludCBobHNfZGVjb2RlX2VudHJ5X3dwcChBVkNvZGVjQ29udGV4 dCAqYXZjdHgsIHZvaWQgKmhldmNfbGNsaXN0LAogICAgIGNvbnN0IHVpbnQ4X3QgKmRhdGEgICAg ICA9IHMtPmRhdGEgKyBzLT5zaC5vZmZzZXRbY3RiX3Jvd107CiAgICAgY29uc3Qgc2l6ZV90ICAg ZGF0YV9zaXplID0gcy0+c2guc2l6ZVtjdGJfcm93XTsKIAorICAgIGludCBwcm9ncmVzcyA9IDA7 CisKICAgICBpbnQgcmV0OwogCiAgICAgaWYgKGN0Yl9yb3cpCkBAIC0yNzYyLDEzICsyNzY1LDE1 IEBAIHN0YXRpYyBpbnQgaGxzX2RlY29kZV9lbnRyeV93cHAoQVZDb2RlY0NvbnRleHQgKmF2Y3R4 LCB2b2lkICpoZXZjX2xjbGlzdCwKIAogICAgICAgICBobHNfZGVjb2RlX25laWdoYm91cihsYywg bCwgcHBzLCBzcHMsIHhfY3RiLCB5X2N0YiwgY3RiX2FkZHJfdHMpOwogCi0gICAgICAgIGZmX3Ro cmVhZF9hd2FpdF9wcm9ncmVzczIocy0+YXZjdHgsIGN0Yl9yb3csIHRocmVhZCwgU0hJRlRfQ1RC X1dQUCk7CisgICAgICAgIGlmIChjdGJfcm93KQorICAgICAgICAgICAgZmZfdGhyZWFkX3Byb2dy ZXNzX2F3YWl0KCZzLT53cHBfcHJvZ3Jlc3NbY3RiX3JvdyAtIDFdLAorICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIHByb2dyZXNzICsgU0hJRlRfQ1RCX1dQUCArIDEpOwogCiAg ICAgICAgIC8qIGF0b21pY19sb2FkJ3MgcHJvdG90eXBlIHJlcXVpcmVzIGEgcG9pbnRlciB0byBu b24tY29uc3QgYXRvbWljIHZhcmlhYmxlCiAgICAgICAgICAqIChkdWUgdG8gaW1wbGVtZW50YXRp b25zIHZpYSBtdXRleGVzLCB3aGVyZSByZWFkcyBpbnZvbHZlIHdyaXRlcykuCiAgICAgICAgICAq IE9mIGNvdXJzZSwgY2FzdGluZyBjb25zdCBhd2F5IGhlcmUgaXMgbmV2ZXJ0aGVsZXNzIHNhZmUu ICovCiAgICAgICAgIGlmIChhdG9taWNfbG9hZCgoYXRvbWljX2ludCopJnMtPndwcF9lcnIpKSB7 Ci0gICAgICAgICAgICBmZl90aHJlYWRfcmVwb3J0X3Byb2dyZXNzMihzLT5hdmN0eCwgY3RiX3Jv dyAsIHRocmVhZCwgU0hJRlRfQ1RCX1dQUCk7CisgICAgICAgICAgICBmZl90aHJlYWRfcHJvZ3Jl c3NfcmVwb3J0KCZzLT53cHBfcHJvZ3Jlc3NbY3RiX3Jvd10sIElOVF9NQVgpOwogICAgICAgICAg ICAgcmV0dXJuIDA7CiAgICAgICAgIH0KIApAQCAtMjc5MiwxOSArMjc5NywxOSBAQCBzdGF0aWMg aW50IGhsc19kZWNvZGVfZW50cnlfd3BwKEFWQ29kZWNDb250ZXh0ICphdmN0eCwgdm9pZCAqaGV2 Y19sY2xpc3QsCiAgICAgICAgIGN0Yl9hZGRyX3RzKys7CiAKICAgICAgICAgZmZfaGV2Y19zYXZl X3N0YXRlcyhsYywgcHBzLCBjdGJfYWRkcl90cyk7Ci0gICAgICAgIGZmX3RocmVhZF9yZXBvcnRf cHJvZ3Jlc3MyKHMtPmF2Y3R4LCBjdGJfcm93LCB0aHJlYWQsIDEpOworICAgICAgICBmZl90aHJl YWRfcHJvZ3Jlc3NfcmVwb3J0KCZzLT53cHBfcHJvZ3Jlc3NbY3RiX3Jvd10sICsrcHJvZ3Jlc3Mp OwogICAgICAgICBmZl9oZXZjX2hsc19maWx0ZXJzKGxjLCBsLCBwcHMsIHhfY3RiLCB5X2N0Yiwg Y3RiX3NpemUpOwogCiAgICAgICAgIGlmICghbW9yZV9kYXRhICYmICh4X2N0YitjdGJfc2l6ZSkg PCBzcHMtPndpZHRoICYmIGN0Yl9yb3cgIT0gcy0+c2gubnVtX2VudHJ5X3BvaW50X29mZnNldHMp IHsKICAgICAgICAgICAgIC8qIENhc3RpbmcgY29uc3QgYXdheSBoZXJlIGlzIHNhZmUsIGJlY2F1 c2UgaXQgaXMgYW4gYXRvbWljIG9wZXJhdGlvbi4gKi8KICAgICAgICAgICAgIGF0b21pY19zdG9y ZSgoYXRvbWljX2ludCopJnMtPndwcF9lcnIsIDEpOwotICAgICAgICAgICAgZmZfdGhyZWFkX3Jl cG9ydF9wcm9ncmVzczIocy0+YXZjdHgsIGN0Yl9yb3cgLHRocmVhZCwgU0hJRlRfQ1RCX1dQUCk7 CisgICAgICAgICAgICBmZl90aHJlYWRfcHJvZ3Jlc3NfcmVwb3J0KCZzLT53cHBfcHJvZ3Jlc3Nb Y3RiX3Jvd10sIElOVF9NQVgpOwogICAgICAgICAgICAgcmV0dXJuIDA7CiAgICAgICAgIH0KIAog ICAgICAgICBpZiAoKHhfY3RiK2N0Yl9zaXplKSA+PSBzcHMtPndpZHRoICYmICh5X2N0YitjdGJf c2l6ZSkgPj0gc3BzLT5oZWlnaHQgKSB7CiAgICAgICAgICAgICBmZl9oZXZjX2hsc19maWx0ZXIo bGMsIGwsIHBwcywgeF9jdGIsIHlfY3RiLCBjdGJfc2l6ZSk7Ci0gICAgICAgICAgICBmZl90aHJl YWRfcmVwb3J0X3Byb2dyZXNzMihzLT5hdmN0eCwgY3RiX3JvdyAsIHRocmVhZCwgU0hJRlRfQ1RC X1dQUCk7CisgICAgICAgICAgICBmZl90aHJlYWRfcHJvZ3Jlc3NfcmVwb3J0KCZzLT53cHBfcHJv Z3Jlc3NbY3RiX3Jvd10sIElOVF9NQVgpOwogICAgICAgICAgICAgcmV0dXJuIGN0Yl9hZGRyX3Rz OwogICAgICAgICB9CiAgICAgICAgIGN0Yl9hZGRyX3JzID0gcHBzLT5jdGJfYWRkcl90c190b19y c1tjdGJfYWRkcl90c107CkBAIC0yODE0LDE3ICsyODE5LDQzIEBAIHN0YXRpYyBpbnQgaGxzX2Rl Y29kZV9lbnRyeV93cHAoQVZDb2RlY0NvbnRleHQgKmF2Y3R4LCB2b2lkICpoZXZjX2xjbGlzdCwK ICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICB9CiAgICAgfQotICAgIGZmX3RocmVhZF9yZXBv cnRfcHJvZ3Jlc3MyKHMtPmF2Y3R4LCBjdGJfcm93ICx0aHJlYWQsIFNISUZUX0NUQl9XUFApOwor ICAgIGZmX3RocmVhZF9wcm9ncmVzc19yZXBvcnQoJnMtPndwcF9wcm9ncmVzc1tjdGJfcm93XSwg SU5UX01BWCk7CiAKICAgICByZXR1cm4gMDsKIGVycm9yOgogICAgIGwtPnRhYl9zbGljZV9hZGRy ZXNzW2N0Yl9hZGRyX3JzXSA9IC0xOwogICAgIC8qIENhc3RpbmcgY29uc3QgYXdheSBoZXJlIGlz IHNhZmUsIGJlY2F1c2UgaXQgaXMgYW4gYXRvbWljIG9wZXJhdGlvbi4gKi8KICAgICBhdG9taWNf c3RvcmUoKGF0b21pY19pbnQqKSZzLT53cHBfZXJyLCAxKTsKLSAgICBmZl90aHJlYWRfcmVwb3J0 X3Byb2dyZXNzMihzLT5hdmN0eCwgY3RiX3JvdyAsdGhyZWFkLCBTSElGVF9DVEJfV1BQKTsKKyAg ICBmZl90aHJlYWRfcHJvZ3Jlc3NfcmVwb3J0KCZzLT53cHBfcHJvZ3Jlc3NbY3RiX3Jvd10sIElO VF9NQVgpOwogICAgIHJldHVybiByZXQ7CiB9CiAKK3N0YXRpYyBpbnQgd3BwX3Byb2dyZXNzX2lu aXQoSEVWQ0NvbnRleHQgKnMsIHVuc2lnbmVkIGNvdW50KQoreworICAgIGlmIChzLT5uYl93cHBf cHJvZ3Jlc3MgPCBjb3VudCkgeworICAgICAgICB2b2lkICp0bXAgPSBhdl9yZWFsbG9jX2FycmF5 KHMtPndwcF9wcm9ncmVzcywgY291bnQsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgc2l6ZW9mKCpzLT53cHBfcHJvZ3Jlc3MpKTsKKyAgICAgICAgaWYgKCF0bXApCisgICAg ICAgICAgICByZXR1cm4gQVZFUlJPUihFTk9NRU0pOworCisgICAgICAgIHMtPndwcF9wcm9ncmVz cyA9IHRtcDsKKyAgICAgICAgbWVtc2V0KHMtPndwcF9wcm9ncmVzcyArIHMtPm5iX3dwcF9wcm9n cmVzcywgMCwKKyAgICAgICAgICAgICAgIChjb3VudCAtIHMtPm5iX3dwcF9wcm9ncmVzcykgKiBz aXplb2YoKnMtPndwcF9wcm9ncmVzcykpOworCisgICAgICAgIGZvciAoaW50IGkgPSBzLT5uYl93 cHBfcHJvZ3Jlc3M7IGkgPCBjb3VudDsgaSsrKSB7CisgICAgICAgICAgICBpbnQgcmV0ID0gZmZf dGhyZWFkX3Byb2dyZXNzX2luaXQoJnMtPndwcF9wcm9ncmVzc1tpXSwgMSk7CisgICAgICAgICAg ICBpZiAocmV0IDwgMCkKKyAgICAgICAgICAgICAgICByZXR1cm4gcmV0OworICAgICAgICAgICAg cy0+bmJfd3BwX3Byb2dyZXNzID0gaSArIDE7CisgICAgICAgIH0KKyAgICB9CisKKyAgICBmb3Ig KGludCBpID0gMDsgaSA8IGNvdW50OyBpKyspCisgICAgICAgIGZmX3RocmVhZF9wcm9ncmVzc19y ZXNldCgmcy0+d3BwX3Byb2dyZXNzW2ldKTsKKworICAgIHJldHVybiAwOworfQorCiBzdGF0aWMg aW50IGhsc19zbGljZV9kYXRhX3dwcChIRVZDQ29udGV4dCAqcywgY29uc3QgSDI2NDVOQUwgKm5h bCkKIHsKICAgICBjb25zdCBIRVZDUFBTICpjb25zdCBwcHMgPSBzLT5wcHM7CkBAIC0yOTA5LDcg KzI5NDAsNyBAQCBzdGF0aWMgaW50IGhsc19zbGljZV9kYXRhX3dwcChIRVZDQ29udGV4dCAqcywg Y29uc3QgSDI2NDVOQUwgKm5hbCkKICAgICB9CiAKICAgICBhdG9taWNfc3RvcmUoJnMtPndwcF9l cnIsIDApOwotICAgIHJlcyA9IGZmX3NsaWNlX3RocmVhZF9hbGxvY3pfZW50cmllcyhzLT5hdmN0 eCwgcy0+c2gubnVtX2VudHJ5X3BvaW50X29mZnNldHMgKyAxKTsKKyAgICByZXMgPSB3cHBfcHJv Z3Jlc3NfaW5pdChzLCBzLT5zaC5udW1fZW50cnlfcG9pbnRfb2Zmc2V0cyArIDEpOwogICAgIGlm IChyZXMgPCAwKQogICAgICAgICByZXR1cm4gcmVzOwogCkBAIC0zODI3LDYgKzM4NTgsMTAgQEAg c3RhdGljIGF2X2NvbGQgaW50IGhldmNfZGVjb2RlX2ZyZWUoQVZDb2RlY0NvbnRleHQgKmF2Y3R4 KQogCiAgICAgZmZfaGV2Y19wc191bmluaXQoJnMtPnBzKTsKIAorICAgIGZvciAoaW50IGkgPSAw OyBpIDwgcy0+bmJfd3BwX3Byb2dyZXNzOyBpKyspCisgICAgICAgIGZmX3RocmVhZF9wcm9ncmVz c19kZXN0cm95KCZzLT53cHBfcHJvZ3Jlc3NbaV0pOworICAgIGF2X2ZyZWVwKCZzLT53cHBfcHJv Z3Jlc3MpOworCiAgICAgYXZfZnJlZXAoJnMtPnNoLmVudHJ5X3BvaW50X29mZnNldCk7CiAgICAg YXZfZnJlZXAoJnMtPnNoLm9mZnNldCk7CiAgICAgYXZfZnJlZXAoJnMtPnNoLnNpemUpOwpAQCAt Mzk4MSwxMiArNDAxNiw2IEBAIHN0YXRpYyBhdl9jb2xkIGludCBoZXZjX2RlY29kZV9pbml0KEFW Q29kZWNDb250ZXh0ICphdmN0eCkKICAgICBIRVZDQ29udGV4dCAqcyA9IGF2Y3R4LT5wcml2X2Rh dGE7CiAgICAgaW50IHJldDsKIAotICAgIGlmIChhdmN0eC0+YWN0aXZlX3RocmVhZF90eXBlICYg RkZfVEhSRUFEX1NMSUNFKSB7Ci0gICAgICAgIHJldCA9IGZmX3NsaWNlX3RocmVhZF9pbml0X3By b2dyZXNzKGF2Y3R4KTsKLSAgICAgICAgaWYgKHJldCA8IDApCi0gICAgICAgICAgICByZXR1cm4g cmV0OwotICAgIH0KLQogICAgIHJldCA9IGhldmNfaW5pdF9jb250ZXh0KGF2Y3R4KTsKICAgICBp ZiAocmV0IDwgMCkKICAgICAgICAgcmV0dXJuIHJldDsKZGlmZiAtLWdpdCBhL2xpYmF2Y29kZWMv aGV2Yy9oZXZjZGVjLmggYi9saWJhdmNvZGVjL2hldmMvaGV2Y2RlYy5oCmluZGV4IDZiYTJjYTM4 ODcuLjQ3MzcwOWI0ZTggMTAwNjQ0Ci0tLSBhL2xpYmF2Y29kZWMvaGV2Yy9oZXZjZGVjLmgKKysr IGIvbGliYXZjb2RlYy9oZXZjL2hldmNkZWMuaApAQCAtNTQwLDYgKzU0MCw5IEBAIHR5cGVkZWYg c3RydWN0IEhFVkNDb250ZXh0IHsKICAgICAvKiogVGhlIHRhcmdldCBmb3IgdGhlIGNvbW1vbl9j YWJhY19zdGF0ZSBvZiB0aGUgbG9jYWwgY29udGV4dHMuICovCiAgICAgSEVWQ0NBQkFDU3RhdGUg Y2FiYWM7CiAKKyAgICBzdHJ1Y3QgVGhyZWFkUHJvZ3Jlc3MgKndwcF9wcm9ncmVzczsKKyAgICB1 bnNpZ25lZCAgICAgICAgICAgIG5iX3dwcF9wcm9ncmVzczsKKwogICAgIGF0b21pY19pbnQgd3Bw X2VycjsKIAogICAgIGNvbnN0IHVpbnQ4X3QgKmRhdGE7CmRpZmYgLS1naXQgYS9saWJhdmNvZGVj L3B0aHJlYWRfc2xpY2UuYyBiL2xpYmF2Y29kZWMvcHRocmVhZF9zbGljZS5jCmluZGV4IGE0ZDMx YzZmNGQuLmFjNDU1ZTQ4ZWQgMTAwNjQ0Ci0tLSBhL2xpYmF2Y29kZWMvcHRocmVhZF9zbGljZS5j CisrKyBiL2xpYmF2Y29kZWMvcHRocmVhZF9zbGljZS5jCkBAIC00MSwxMSArNDEsNiBAQCB0eXBl ZGVmIGludCAoYWN0aW9uX2Z1bmMpKEFWQ29kZWNDb250ZXh0ICpjLCB2b2lkICphcmcpOwogdHlw ZWRlZiBpbnQgKGFjdGlvbl9mdW5jMikoQVZDb2RlY0NvbnRleHQgKmMsIHZvaWQgKmFyZywgaW50 IGpvYm5yLCBpbnQgdGhyZWFkbnIpOwogdHlwZWRlZiBpbnQgKG1haW5fZnVuYykoQVZDb2RlY0Nv bnRleHQgKmMpOwogCi10eXBlZGVmIHN0cnVjdCBQcm9ncmVzcyB7Ci0gICAgcHRocmVhZF9jb25k X3QgIGNvbmQ7Ci0gICAgcHRocmVhZF9tdXRleF90IG11dGV4OwotfSBQcm9ncmVzczsKLQogdHlw ZWRlZiBzdHJ1Y3QgU2xpY2VUaHJlYWRDb250ZXh0IHsKICAgICBBVlNsaWNlVGhyZWFkICp0aHJl YWQ7CiAgICAgYWN0aW9uX2Z1bmMgKmZ1bmM7CkBAIC01NCwxMSArNDksNiBAQCB0eXBlZGVmIHN0 cnVjdCBTbGljZVRocmVhZENvbnRleHQgewogICAgIHZvaWQgKmFyZ3M7CiAgICAgaW50ICpyZXRz OwogICAgIGludCBqb2Jfc2l6ZTsKLQotICAgIGludCAqZW50cmllczsKLSAgICBpbnQgZW50cmll c19jb3VudDsKLSAgICBpbnQgdGhyZWFkX2NvdW50OwotICAgIFByb2dyZXNzICpwcm9ncmVzczsK IH0gU2xpY2VUaHJlYWRDb250ZXh0OwogCiBzdGF0aWMgdm9pZCBtYWluX2Z1bmN0aW9uKHZvaWQg KnByaXYpIHsKQEAgLTgyLDE4ICs3Miw5IEBAIHN0YXRpYyB2b2lkIHdvcmtlcl9mdW5jKHZvaWQg KnByaXYsIGludCBqb2JuciwgaW50IHRocmVhZG5yLCBpbnQgbmJfam9icywgaW50IG5iCiB2b2lk IGZmX3NsaWNlX3RocmVhZF9mcmVlKEFWQ29kZWNDb250ZXh0ICphdmN0eCkKIHsKICAgICBTbGlj ZVRocmVhZENvbnRleHQgKmMgPSBhdmN0eC0+aW50ZXJuYWwtPnRocmVhZF9jdHg7Ci0gICAgaW50 IGk7CiAKICAgICBhdnByaXZfc2xpY2V0aHJlYWRfZnJlZSgmYy0+dGhyZWFkKTsKIAotICAgIGZv ciAoaSA9IDA7IGkgPCBjLT50aHJlYWRfY291bnQ7IGkrKykgewotICAgICAgICBQcm9ncmVzcyAq Y29uc3QgcHJvZ3Jlc3MgPSAmYy0+cHJvZ3Jlc3NbaV07Ci0gICAgICAgIHB0aHJlYWRfbXV0ZXhf ZGVzdHJveSgmcHJvZ3Jlc3MtPm11dGV4KTsKLSAgICAgICAgcHRocmVhZF9jb25kX2Rlc3Ryb3ko JnByb2dyZXNzLT5jb25kKTsKLSAgICB9Ci0KLSAgICBhdl9mcmVlcCgmYy0+ZW50cmllcyk7Ci0g ICAgYXZfZnJlZXAoJmMtPnByb2dyZXNzKTsKICAgICBhdl9mcmVlcCgmYXZjdHgtPmludGVybmFs LT50aHJlYWRfY3R4KTsKIH0KIApAQCAtMTc1LDg2ICsxNTYsMyBAQCBpbnQgZmZfc2xpY2VfdGhy ZWFkX2luaXQoQVZDb2RlY0NvbnRleHQgKmF2Y3R4KQogICAgIGF2Y3R4LT5leGVjdXRlMiA9IHRo cmVhZF9leGVjdXRlMjsKICAgICByZXR1cm4gMDsKIH0KLQotaW50IGF2X2NvbGQgZmZfc2xpY2Vf dGhyZWFkX2luaXRfcHJvZ3Jlc3MoQVZDb2RlY0NvbnRleHQgKmF2Y3R4KQotewotICAgIFNsaWNl VGhyZWFkQ29udGV4dCAqY29uc3QgcCA9IGF2Y3R4LT5pbnRlcm5hbC0+dGhyZWFkX2N0eDsKLSAg ICBpbnQgZXJyLCBpID0gMCwgdGhyZWFkX2NvdW50ID0gYXZjdHgtPnRocmVhZF9jb3VudDsKLQot ICAgIHAtPnByb2dyZXNzID0gYXZfY2FsbG9jKHRocmVhZF9jb3VudCwgc2l6ZW9mKCpwLT5wcm9n cmVzcykpOwotICAgIGlmICghcC0+cHJvZ3Jlc3MpIHsKLSAgICAgICAgZXJyID0gQVZFUlJPUihF Tk9NRU0pOwotICAgICAgICBnb3RvIGZhaWw7Ci0gICAgfQotCi0gICAgZm9yICg7IGkgPCB0aHJl YWRfY291bnQ7IGkrKykgewotICAgICAgICBQcm9ncmVzcyAqY29uc3QgcHJvZ3Jlc3MgPSAmcC0+ cHJvZ3Jlc3NbaV07Ci0gICAgICAgIGVyciA9IHB0aHJlYWRfbXV0ZXhfaW5pdCgmcHJvZ3Jlc3Mt Pm11dGV4LCBOVUxMKTsKLSAgICAgICAgaWYgKGVycikgewotICAgICAgICAgICAgZXJyID0gQVZF UlJPUihlcnIpOwotICAgICAgICAgICAgZ290byBmYWlsOwotICAgICAgICB9Ci0gICAgICAgIGVy ciA9IHB0aHJlYWRfY29uZF9pbml0ICgmcHJvZ3Jlc3MtPmNvbmQsICBOVUxMKTsKLSAgICAgICAg aWYgKGVycikgewotICAgICAgICAgICAgZXJyID0gQVZFUlJPUihlcnIpOwotICAgICAgICAgICAg cHRocmVhZF9tdXRleF9kZXN0cm95KCZwcm9ncmVzcy0+bXV0ZXgpOwotICAgICAgICAgICAgZ290 byBmYWlsOwotICAgICAgICB9Ci0gICAgfQotICAgIGVyciA9IDA7Ci1mYWlsOgotICAgIHAtPnRo cmVhZF9jb3VudCA9IGk7Ci0gICAgcmV0dXJuIGVycjsKLX0KLQotdm9pZCBmZl90aHJlYWRfcmVw b3J0X3Byb2dyZXNzMihBVkNvZGVjQ29udGV4dCAqYXZjdHgsIGludCBmaWVsZCwgaW50IHRocmVh ZCwgaW50IG4pCi17Ci0gICAgU2xpY2VUaHJlYWRDb250ZXh0ICpwID0gYXZjdHgtPmludGVybmFs LT50aHJlYWRfY3R4OwotICAgIFByb2dyZXNzICpjb25zdCBwcm9ncmVzcyA9ICZwLT5wcm9ncmVz c1t0aHJlYWRdOwotICAgIGludCAqZW50cmllcyA9IHAtPmVudHJpZXM7Ci0KLSAgICBwdGhyZWFk X211dGV4X2xvY2soJnByb2dyZXNzLT5tdXRleCk7Ci0gICAgZW50cmllc1tmaWVsZF0gKz1uOwot ICAgIHB0aHJlYWRfY29uZF9zaWduYWwoJnByb2dyZXNzLT5jb25kKTsKLSAgICBwdGhyZWFkX211 dGV4X3VubG9jaygmcHJvZ3Jlc3MtPm11dGV4KTsKLX0KLQotdm9pZCBmZl90aHJlYWRfYXdhaXRf cHJvZ3Jlc3MyKEFWQ29kZWNDb250ZXh0ICphdmN0eCwgaW50IGZpZWxkLCBpbnQgdGhyZWFkLCBp bnQgc2hpZnQpCi17Ci0gICAgU2xpY2VUaHJlYWRDb250ZXh0ICpwICA9IGF2Y3R4LT5pbnRlcm5h bC0+dGhyZWFkX2N0eDsKLSAgICBQcm9ncmVzcyAqcHJvZ3Jlc3M7Ci0gICAgaW50ICplbnRyaWVz ICAgICAgPSBwLT5lbnRyaWVzOwotCi0gICAgaWYgKCFlbnRyaWVzIHx8ICFmaWVsZCkgcmV0dXJu OwotCi0gICAgdGhyZWFkID0gdGhyZWFkID8gdGhyZWFkIC0gMSA6IHAtPnRocmVhZF9jb3VudCAt IDE7Ci0gICAgcHJvZ3Jlc3MgPSAmcC0+cHJvZ3Jlc3NbdGhyZWFkXTsKLQotICAgIHB0aHJlYWRf bXV0ZXhfbG9jaygmcHJvZ3Jlc3MtPm11dGV4KTsKLSAgICB3aGlsZSAoKGVudHJpZXNbZmllbGQg LSAxXSAtIGVudHJpZXNbZmllbGRdKSA8IHNoaWZ0KXsKLSAgICAgICAgcHRocmVhZF9jb25kX3dh aXQoJnByb2dyZXNzLT5jb25kLCAmcHJvZ3Jlc3MtPm11dGV4KTsKLSAgICB9Ci0gICAgcHRocmVh ZF9tdXRleF91bmxvY2soJnByb2dyZXNzLT5tdXRleCk7Ci19Ci0KLWludCBmZl9zbGljZV90aHJl YWRfYWxsb2N6X2VudHJpZXMoQVZDb2RlY0NvbnRleHQgKmF2Y3R4LCBpbnQgY291bnQpCi17Ci0g ICAgaWYgKGF2Y3R4LT5hY3RpdmVfdGhyZWFkX3R5cGUgJiBGRl9USFJFQURfU0xJQ0UpICB7Ci0g ICAgICAgIFNsaWNlVGhyZWFkQ29udGV4dCAqcCA9IGF2Y3R4LT5pbnRlcm5hbC0+dGhyZWFkX2N0 eDsKLQotICAgICAgICBpZiAocC0+ZW50cmllc19jb3VudCA9PSBjb3VudCkgewotICAgICAgICAg ICAgbWVtc2V0KHAtPmVudHJpZXMsIDAsIHAtPmVudHJpZXNfY291bnQgKiBzaXplb2YoKnAtPmVu dHJpZXMpKTsKLSAgICAgICAgICAgIHJldHVybiAwOwotICAgICAgICB9Ci0gICAgICAgIGF2X2Zy ZWVwKCZwLT5lbnRyaWVzKTsKLQotICAgICAgICBwLT5lbnRyaWVzICAgICAgID0gYXZfY2FsbG9j KGNvdW50LCBzaXplb2YoKnAtPmVudHJpZXMpKTsKLSAgICAgICAgaWYgKCFwLT5lbnRyaWVzKSB7 Ci0gICAgICAgICAgICBwLT5lbnRyaWVzX2NvdW50ID0gMDsKLSAgICAgICAgICAgIHJldHVybiBB VkVSUk9SKEVOT01FTSk7Ci0gICAgICAgIH0KLSAgICAgICAgcC0+ZW50cmllc19jb3VudCAgPSBj b3VudDsKLSAgICB9Ci0KLSAgICByZXR1cm4gMDsKLX0KZGlmZiAtLWdpdCBhL2xpYmF2Y29kZWMv dGhyZWFkLmggYi9saWJhdmNvZGVjL3RocmVhZC5oCmluZGV4IDQ3YzAwYTBlZDIuLjdkZjU4Mzll ZDAgMTAwNjQ0Ci0tLSBhL2xpYmF2Y29kZWMvdGhyZWFkLmgKKysrIGIvbGliYXZjb2RlYy90aHJl YWQuaApAQCAtNTYsMTAgKzU2LDYgQEAgaW50IGZmX3RocmVhZF9nZXRfYnVmZmVyKEFWQ29kZWND b250ZXh0ICphdmN0eCwgQVZGcmFtZSAqZiwgaW50IGZsYWdzKTsKIGludCBmZl9zbGljZV90aHJl YWRfZXhlY3V0ZV93aXRoX21haW5mdW5jKEFWQ29kZWNDb250ZXh0ICphdmN0eCwKICAgICAgICAg aW50ICgqYWN0aW9uX2Z1bmMyKShBVkNvZGVjQ29udGV4dCAqYywgdm9pZCAqYXJnLCBpbnQgam9i bnIsIGludCB0aHJlYWRuciksCiAgICAgICAgIGludCAoKm1haW5fZnVuYykoQVZDb2RlY0NvbnRl eHQgKmMpLCB2b2lkICphcmcsIGludCAqcmV0LCBpbnQgam9iX2NvdW50KTsKLWludCBmZl9zbGlj ZV90aHJlYWRfYWxsb2N6X2VudHJpZXMoQVZDb2RlY0NvbnRleHQgKmF2Y3R4LCBpbnQgY291bnQp OwotaW50IGZmX3NsaWNlX3RocmVhZF9pbml0X3Byb2dyZXNzKEFWQ29kZWNDb250ZXh0ICphdmN0 eCk7Ci12b2lkIGZmX3RocmVhZF9yZXBvcnRfcHJvZ3Jlc3MyKEFWQ29kZWNDb250ZXh0ICphdmN0 eCwgaW50IGZpZWxkLCBpbnQgdGhyZWFkLCBpbnQgbik7Ci12b2lkIGZmX3RocmVhZF9hd2FpdF9w cm9ncmVzczIoQVZDb2RlY0NvbnRleHQgKmF2Y3R4LCAgaW50IGZpZWxkLCBpbnQgdGhyZWFkLCBp bnQgc2hpZnQpOwogCiBlbnVtIFRocmVhZGluZ1N0YXR1cyB7CiAgICAgRkZfVEhSRUFEX0lTX0NP UFksCmRpZmYgLS1naXQgYS9saWJhdmNvZGVjL3V0aWxzLmMgYi9saWJhdmNvZGVjL3V0aWxzLmMK aW5kZXggYTYzY2E3MWE0NC4uNjkwOWE1YmEyYiAxMDA2NDQKLS0tIGEvbGliYXZjb2RlYy91dGls cy5jCisrKyBiL2xpYmF2Y29kZWMvdXRpbHMuYwpAQCAtOTEzLDI1ICs5MTMsNiBAQCBpbnQgZmZf dGhyZWFkX2Nhbl9zdGFydF9mcmFtZShBVkNvZGVjQ29udGV4dCAqYXZjdHgpCiB7CiAgICAgcmV0 dXJuIDE7CiB9Ci0KLWludCBmZl9zbGljZV90aHJlYWRfaW5pdF9wcm9ncmVzcyhBVkNvZGVjQ29u dGV4dCAqYXZjdHgpCi17Ci0gICAgcmV0dXJuIDA7Ci19Ci0KLWludCBmZl9zbGljZV90aHJlYWRf YWxsb2N6X2VudHJpZXMoQVZDb2RlY0NvbnRleHQgKmF2Y3R4LCBpbnQgY291bnQpCi17Ci0gICAg cmV0dXJuIDA7Ci19Ci0KLXZvaWQgZmZfdGhyZWFkX2F3YWl0X3Byb2dyZXNzMihBVkNvZGVjQ29u dGV4dCAqYXZjdHgsIGludCBmaWVsZCwgaW50IHRocmVhZCwgaW50IHNoaWZ0KQotewotfQotCi12 b2lkIGZmX3RocmVhZF9yZXBvcnRfcHJvZ3Jlc3MyKEFWQ29kZWNDb250ZXh0ICphdmN0eCwgaW50 IGZpZWxkLCBpbnQgdGhyZWFkLCBpbnQgbikKLXsKLX0KLQogI2VuZGlmCiAKIGNvbnN0IHVpbnQ4 X3QgKmF2cHJpdl9maW5kX3N0YXJ0X2NvZGUoY29uc3QgdWludDhfdCAqcmVzdHJpY3QgcCwKLS0g CjIuNDkuMQoKCkZyb20gMDRmZDNmNjliM2MzYjYwOGNhMjY1NGUzNjg4ZGFlN2FkYzNhZGM4ZCBN b24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKRnJvbTogSmFtZXMgQWxtZXIgPGphbXJpYWxAZ21haWwu Y29tPgpEYXRlOiBNb24sIDEzIEphbiAyMDI1IDE3OjI4OjAyIC0wMzAwClN1YmplY3Q6IFtQQVRD SCAyMTQvNDM0XSBhdmZvcm1hdC9pYW1mX3BhcnNlOiBhZGQgbWlzc2luZyBhdl9mcmVlKCkgY2Fs bCBvbgogZmFpbHVyZSBwYXRoCgpGaXhlcyB0aWNrZXQgIzExNDE2CgpTaWduZWQtb2ZmLWJ5OiBK YW1lcyBBbG1lciA8amFtcmlhbEBnbWFpbC5jb20+CihjaGVycnkgcGlja2VkIGZyb20gY29tbWl0 IGQ1ODczYmU1ODNhZGE5ZTFmYjg4N2UyZmU4ZGNmZDRiMTJlMGVmY2QpCi0tLQogbGliYXZmb3Jt YXQvaWFtZl9wYXJzZS5jIHwgMSArCiAxIGZpbGUgY2hhbmdlZCwgMSBpbnNlcnRpb24oKykKCmRp ZmYgLS1naXQgYS9saWJhdmZvcm1hdC9pYW1mX3BhcnNlLmMgYi9saWJhdmZvcm1hdC9pYW1mX3Bh cnNlLmMKaW5kZXggMWVjNjkyNDkwOC4uMWNjYjEwMDdlOSAxMDA2NDQKLS0tIGEvbGliYXZmb3Jt YXQvaWFtZl9wYXJzZS5jCisrKyBiL2xpYmF2Zm9ybWF0L2lhbWZfcGFyc2UuYwpAQCAtNTY1LDYg KzU2NSw3IEBAIHN0YXRpYyBpbnQgcGFyYW1fcGFyc2Uodm9pZCAqcywgSUFNRkNvbnRleHQgKmMs IEFWSU9Db250ZXh0ICpwYiwKIAogICAgIGlmICghbW9kZSAmJiAhY29uc3RhbnRfc3ViYmxvY2tf ZHVyYXRpb24gJiYgdG90YWxfZHVyYXRpb24gIT0gZHVyYXRpb24pIHsKICAgICAgICAgYXZfbG9n KHMsIEFWX0xPR19FUlJPUiwgIkludmFsaWQgc3ViYmxvY2sgZHVyYXRpb25zIGluIHBhcmFtZXRl cl9pZCAldVxuIiwgcGFyYW1ldGVyX2lkKTsKKyAgICAgICAgYXZfZnJlZShwYXJhbSk7CiAgICAg ICAgIHJldHVybiBBVkVSUk9SX0lOVkFMSUREQVRBOwogICAgIH0KIAotLSAKMi40OS4xCgoKRnJv bSBiMDY4NDVjNjcyN2E3YzQzOTFhN2Q1ZjYwN2FlMDc4YWEwMDczYzQzIE1vbiBTZXAgMTcgMDA6 MDA6MDAgMjAwMQpGcm9tOiBKYW1lcyBBbG1lciA8amFtcmlhbEBnbWFpbC5jb20+CkRhdGU6IE1v biwgMTcgRmViIDIwMjUgMTE6NDE6MjQgLTAzMDAKU3ViamVjdDogW1BBVENIIDIxNS80MzRdIGF2 Zm9ybWF0L2lhbWZfcGFyc2U6IGFkZCBtaXNzaW5nIGNvbnN0cmFpbnMgZm9yCiBudW1fcGFyYW1l dGVycyBpbiBhdWRpb19lbGVtZW50X291YigpCgpGaXhlcyB0aWNrZXQgIzExNDc1LgoKU2lnbmVk LW9mZi1ieTogSmFtZXMgQWxtZXIgPGphbXJpYWxAZ21haWwuY29tPgooY2hlcnJ5IHBpY2tlZCBm cm9tIGNvbW1pdCAwNTI2NTM1Y2Q1ODQ0NGRkMjY0ZTgxMGIyZjMzNDhiNGQ5NmNmZjNiKQotLS0K IGxpYmF2Zm9ybWF0L2lhbWZfcGFyc2UuYyB8IDYgKysrKysrCiAxIGZpbGUgY2hhbmdlZCwgNiBp bnNlcnRpb25zKCspCgpkaWZmIC0tZ2l0IGEvbGliYXZmb3JtYXQvaWFtZl9wYXJzZS5jIGIvbGli YXZmb3JtYXQvaWFtZl9wYXJzZS5jCmluZGV4IDFjY2IxMDA3ZTkuLjdjNzg0YzY5NTUgMTAwNjQ0 Ci0tLSBhL2xpYmF2Zm9ybWF0L2lhbWZfcGFyc2UuYworKysgYi9saWJhdmZvcm1hdC9pYW1mX3Bh cnNlLmMKQEAgLTcyOCw2ICs3MjgsMTIgQEAgc3RhdGljIGludCBhdWRpb19lbGVtZW50X29idSh2 b2lkICpzLCBJQU1GQ29udGV4dCAqYywgQVZJT0NvbnRleHQgKnBiLCBpbnQgbGVuKQogICAgIH0K IAogICAgIG51bV9wYXJhbWV0ZXJzID0gZmZpb19yZWFkX2xlYihwYmMpOworICAgIGlmIChudW1f cGFyYW1ldGVycyA+IDIgJiYgYXVkaW9fZWxlbWVudF90eXBlID09IDApIHsKKyAgICAgICAgYXZf bG9nKHMsIEFWX0xPR19FUlJPUiwgIkF1ZGlvIEVsZW1lbnQgcGFyYW1ldGVyIGNvdW50ICV1IGlz IGludmFsaWQiCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICIgZm9yIENoYW5uZWwg cmVwcmVzZW50YXRpb25zXG4iLCBudW1fcGFyYW1ldGVycyk7CisgICAgICAgIHJldCA9IEFWRVJS T1JfSU5WQUxJRERBVEE7CisgICAgICAgIGdvdG8gZmFpbDsKKyAgICB9CiAgICAgaWYgKG51bV9w YXJhbWV0ZXJzICYmIGF1ZGlvX2VsZW1lbnRfdHlwZSAhPSAwKSB7CiAgICAgICAgIGF2X2xvZyhz LCBBVl9MT0dfRVJST1IsICJBdWRpbyBFbGVtZW50IHBhcmFtZXRlciBjb3VudCAldSBpcyBpbnZh bGlkIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiIGZvciBTY2VuZSByZXByZXNl bnRhdGlvbnNcbiIsIG51bV9wYXJhbWV0ZXJzKTsKLS0gCjIuNDkuMQoKCkZyb20gOWFiZjJhZWYz N2E0YzFiZDgxZjg5YTlmZjc2ZGZlZTNlNjE3MTBlNiBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEK RnJvbTogSmFtZXMgQWxtZXIgPGphbXJpYWxAZ21haWwuY29tPgpEYXRlOiBNb24sIDE3IEZlYiAy MDI1IDExOjQxOjI1IC0wMzAwClN1YmplY3Q6IFtQQVRDSCAyMTYvNDM0XSBhdmZvcm1hdC9pYW1m X3BhcnNlOiBlbnN1cmUgdGhlcmUncyBhdCBtb3N0IG9uZSBvZgogZWFjaCBwYXJhbWV0ZXIgdHlw ZXMgaW4gYXVkaW8gZWxlbWVudHMKClNob3VsZCBwcmV2ZW50IHBvdGVudGlhbCBtZW1vcnkgbGVh a3Mgb24gaW52YWxpZCBmaWxlcy4KClNpZ25lZC1vZmYtYnk6IEphbWVzIEFsbWVyIDxqYW1yaWFs QGdtYWlsLmNvbT4KKGNoZXJyeSBwaWNrZWQgZnJvbSBjb21taXQgNTQ3MGQwMjRlMTg5NjhiM2Jk ZWYyYjc0NTk2NmY3NjE3ZjFlYjlmMikKLS0tCiBsaWJhdmZvcm1hdC9pYW1mX3BhcnNlLmMgfCAx NCArKysrKysrKysrKy0tLQogMSBmaWxlIGNoYW5nZWQsIDExIGluc2VydGlvbnMoKyksIDMgZGVs ZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvbGliYXZmb3JtYXQvaWFtZl9wYXJzZS5jIGIvbGliYXZm b3JtYXQvaWFtZl9wYXJzZS5jCmluZGV4IDdjNzg0YzY5NTUuLjdiM2IxZTg3ZmEgMTAwNjQ0Ci0t LSBhL2xpYmF2Zm9ybWF0L2lhbWZfcGFyc2UuYworKysgYi9saWJhdmZvcm1hdC9pYW1mX3BhcnNl LmMKQEAgLTc0NywxMSArNzQ3LDE5IEBAIHN0YXRpYyBpbnQgYXVkaW9fZWxlbWVudF9vYnUodm9p ZCAqcywgSUFNRkNvbnRleHQgKmMsIEFWSU9Db250ZXh0ICpwYiwgaW50IGxlbikKICAgICAgICAg dHlwZSA9IGZmaW9fcmVhZF9sZWIocGJjKTsKICAgICAgICAgaWYgKHR5cGUgPT0gQVZfSUFNRl9Q QVJBTUVURVJfREVGSU5JVElPTl9NSVhfR0FJTikKICAgICAgICAgICAgIHJldCA9IEFWRVJST1Jf SU5WQUxJRERBVEE7Ci0gICAgICAgIGVsc2UgaWYgKHR5cGUgPT0gQVZfSUFNRl9QQVJBTUVURVJf REVGSU5JVElPTl9ERU1JWElORykKKyAgICAgICAgZWxzZSBpZiAodHlwZSA9PSBBVl9JQU1GX1BB UkFNRVRFUl9ERUZJTklUSU9OX0RFTUlYSU5HKSB7CisgICAgICAgICAgICBpZiAoZWxlbWVudC0+ ZGVtaXhpbmdfaW5mbykgeworICAgICAgICAgICAgICAgIHJldCA9IEFWRVJST1JfSU5WQUxJRERB VEE7CisgICAgICAgICAgICAgICAgZ290byBmYWlsOworICAgICAgICAgICAgfQogICAgICAgICAg ICAgcmV0ID0gcGFyYW1fcGFyc2UocywgYywgcGJjLCB0eXBlLCBhdWRpb19lbGVtZW50LCAmZWxl bWVudC0+ZGVtaXhpbmdfaW5mbyk7Ci0gICAgICAgIGVsc2UgaWYgKHR5cGUgPT0gQVZfSUFNRl9Q QVJBTUVURVJfREVGSU5JVElPTl9SRUNPTl9HQUlOKQorICAgICAgICB9IGVsc2UgaWYgKHR5cGUg PT0gQVZfSUFNRl9QQVJBTUVURVJfREVGSU5JVElPTl9SRUNPTl9HQUlOKSB7CisgICAgICAgICAg ICBpZiAoZWxlbWVudC0+cmVjb25fZ2Fpbl9pbmZvKSB7CisgICAgICAgICAgICAgICAgcmV0ID0g QVZFUlJPUl9JTlZBTElEREFUQTsKKyAgICAgICAgICAgICAgICBnb3RvIGZhaWw7CisgICAgICAg ICAgICB9CiAgICAgICAgICAgICByZXQgPSBwYXJhbV9wYXJzZShzLCBjLCBwYmMsIHR5cGUsIGF1 ZGlvX2VsZW1lbnQsICZlbGVtZW50LT5yZWNvbl9nYWluX2luZm8pOwotICAgICAgICBlbHNlIHsK KyAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgIHVuc2lnbmVkIHBhcmFtX2RlZmluaXRpb25f c2l6ZSA9IGZmaW9fcmVhZF9sZWIocGJjKTsKICAgICAgICAgICAgIGF2aW9fc2tpcChwYmMsIHBh cmFtX2RlZmluaXRpb25fc2l6ZSk7CiAgICAgICAgIH0KLS0gCjIuNDkuMQoKCkZyb20gYjc1M2Jh YzA4ZjY4ODFiMmQzZGVhOGYxYWI4NGM4MTU1MGYzNTg5NyBNb24gU2VwIDE3IDAwOjAwOjAwIDIw MDEKRnJvbTogTWljaGFlbCBOaWVkZXJtYXllciA8bWljaGFlbEBuaWVkZXJtYXllci5jYz4KRGF0 ZTogVGh1LCAxNiBKYW4gMjAyNSAwMToyODo0NiArMDEwMApTdWJqZWN0OiBbUEFUQ0ggMjE3LzQz NF0gYXZmb3JtYXQvaGxzOiBCZSBtb3JlIHBpY2t5IG9uIGV4dGVuc2lvbnMKClRoaXMgYmxvY2tz IGRpc2FsbG93ZWQgZXh0ZW5zaW9ucyBmcm9tIHByb2JpbmcKSXQgYWxzbyByZXF1aXJlcyBhbGwg YXZhaWxhYmxlIHNlZ21lbnRzIHRvIGhhdmUgbWF0Y2hpbmcgZXh0ZW5zaW9ucyB0byB0aGUgZm9y bWF0Cm1wZWd0cyBpcyB0cmVhdGVkIGluZGVwZW5kZW50IG9mIHRoZSBleHRlbnNpb24KCkl0IGlz IHJlY29tbWVuZGVkIHRvIHNldCB0aGUgd2hpdGVsaXN0cyBjb3JyZWN0bHkKaW5zdGVhZCBvZiBk ZXBlbmRpbmcgb24gZXh0ZW5zaW9ucywgYnV0IHRoaXMgc2hvdWxkIGhlbHAgYSBiaXQsCmFuZCB0 aGlzIGlzIGVhc2llciB0byBiYWNrcG9ydAoKRml4ZXM6IENWRS0yMDIzLTY2MDIgSUkuIEhMUyBG b3JjZSBUVFkgRGVtdXhlcgpGaXhlczogQ1ZFLTIwMjMtNjYwMiBJVi4gSExTIFhCSU4gRGVtdXhl ciBEb1MgQW1wbGlmaWNhdGlvbgoKVGhlIG90aGVyIHBhcnRzIG9mIENWRS0yMDIzLTY2MDIgaGF2 ZSBiZWVuIGZpeGVkIGJ5IHByaW9yIGNvbW1pdHMKCkZvdW5kLWJ5OiBIYXJ2ZXkgUGhpbGxpcHMg b2YgQW1hem9uIEVsZW1lbnQ1NSAoZWxlbWVudDU1KQpTaWduZWQtb2ZmLWJ5OiBNaWNoYWVsIE5p ZWRlcm1heWVyIDxtaWNoYWVsQG5pZWRlcm1heWVyLmNjPgooY2hlcnJ5IHBpY2tlZCBmcm9tIGNv bW1pdCA5MWQ5NmRjOGRkYWViZTBiNmNiMzkzZjY3MjA4NWU2YmZhZjE1YTMxKQpTaWduZWQtb2Zm LWJ5OiBNaWNoYWVsIE5pZWRlcm1heWVyIDxtaWNoYWVsQG5pZWRlcm1heWVyLmNjPgotLS0KIGRv Yy9kZW11eGVycy50ZXhpIHwgIDcgKysrKysrKwogbGliYXZmb3JtYXQvaGxzLmMgfCA1MCArKysr KysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKwogMiBmaWxlcyBjaGFu Z2VkLCA1NyBpbnNlcnRpb25zKCspCgpkaWZmIC0tZ2l0IGEvZG9jL2RlbXV4ZXJzLnRleGkgYi9k b2MvZGVtdXhlcnMudGV4aQppbmRleCBjYzgxYzYxNWRkLi4yMzI0YjNiNDY5IDEwMDY0NAotLS0g YS9kb2MvZGVtdXhlcnMudGV4aQorKysgYi9kb2MvZGVtdXhlcnMudGV4aQpAQCAtNTY0LDYgKzU2 NCwxMyBAQCBwcmVmZXIgdG8gdXNlICNFWFQtWC1TVEFSVCBpZiBpdCdzIGluIHBsYXlsaXN0IGlu c3RlYWQgb2YgbGl2ZV9zdGFydF9pbmRleC4KIEBpdGVtIGFsbG93ZWRfZXh0ZW5zaW9ucwogJywn IHNlcGFyYXRlZCBsaXN0IG9mIGZpbGUgZXh0ZW5zaW9ucyB0aGF0IGhscyBpcyBhbGxvd2VkIHRv IGFjY2Vzcy4KIAorQGl0ZW0gZXh0ZW5zaW9uX3BpY2t5CitUaGlzIGJsb2NrcyBkaXNhbGxvd2Vk IGV4dGVuc2lvbnMgZnJvbSBwcm9iaW5nCitJdCBhbHNvIHJlcXVpcmVzIGFsbCBhdmFpbGFibGUg c2VnbWVudHMgdG8gaGF2ZSBtYXRjaGluZyBleHRlbnNpb25zIHRvIHRoZSBmb3JtYXQKK2V4Y2Vw dCBtcGVndHMsIHdoaWNoIGlzIGFsd2F5cyBhbGxvd2VkLgorSXQgaXMgcmVjb21tZW5kZWQgdG8g c2V0IHRoZSB3aGl0ZWxpc3RzIGNvcnJlY3RseSBpbnN0ZWFkIG9mIGRlcGVuZGluZyBvbiBleHRl bnNpb25zCitFbmFibGVkIGJ5IGRlZmF1bHQuCisKIEBpdGVtIG1heF9yZWxvYWQKIE1heGltdW0g bnVtYmVyIG9mIHRpbWVzIGEgaW5zdWZmaWNpZW50IGxpc3QgaXMgYXR0ZW1wdGVkIHRvIGJlIHJl bG9hZGVkLgogRGVmYXVsdCB2YWx1ZSBpcyAxMDAwLgpkaWZmIC0tZ2l0IGEvbGliYXZmb3JtYXQv aGxzLmMgYi9saWJhdmZvcm1hdC9obHMuYwppbmRleCA2MjQ3M2ExNWRkLi4zNGFiY2I2ZTBkIDEw MDY0NAotLS0gYS9saWJhdmZvcm1hdC9obHMuYworKysgYi9saWJhdmZvcm1hdC9obHMuYwpAQCAt MjIzLDYgKzIyMyw3IEBAIHR5cGVkZWYgc3RydWN0IEhMU0NvbnRleHQgewogICAgIEFWRGljdGlv bmFyeSAqYXZpb19vcHRzOwogICAgIEFWRGljdGlvbmFyeSAqc2VnX2Zvcm1hdF9vcHRzOwogICAg IGNoYXIgKmFsbG93ZWRfZXh0ZW5zaW9uczsKKyAgICBpbnQgZXh0ZW5zaW9uX3BpY2t5OwogICAg IGludCBtYXhfcmVsb2FkOwogICAgIGludCBodHRwX3BlcnNpc3RlbnQ7CiAgICAgaW50IGh0dHBf bXVsdGlwbGU7CkBAIC03MzEsNiArNzMyLDQwIEBAIHN0YXRpYyBpbnQgb3Blbl91cmwoQVZGb3Jt YXRDb250ZXh0ICpzLCBBVklPQ29udGV4dCAqKnBiLCBjb25zdCBjaGFyICp1cmwsCiAgICAgcmV0 dXJuIHJldDsKIH0KIAorc3RhdGljIGludCB0ZXN0X3NlZ21lbnQoQVZGb3JtYXRDb250ZXh0ICpz LCBjb25zdCBBVklucHV0Rm9ybWF0ICppbl9mbXQsIHN0cnVjdCBwbGF5bGlzdCAqcGxzLCBzdHJ1 Y3Qgc2VnbWVudCAqc2VnKQoreworICAgIEhMU0NvbnRleHQgKmMgPSBzLT5wcml2X2RhdGE7Cisg ICAgaW50IG1hdGNoQSA9IDM7CisgICAgaW50IG1hdGNoRiA9IDA7CisKKyAgICBpZiAoIWMtPmV4 dGVuc2lvbl9waWNreSkKKyAgICAgICAgcmV0dXJuIDA7CisKKyAgICBpZiAoc3RyY21wKGMtPmFs bG93ZWRfZXh0ZW5zaW9ucywgIkFMTCIpKQorICAgICAgICBtYXRjaEEgPSAgICAgIGF2X21hdGNo X2V4dCAgICAoc2VnLT51cmwsIGMtPmFsbG93ZWRfZXh0ZW5zaW9ucykKKyAgICAgICAgICAgICAg ICAgKyAyKihmZl9tYXRjaF91cmxfZXh0KHNlZy0+dXJsLCBjLT5hbGxvd2VkX2V4dGVuc2lvbnMp ID4gMCk7CisKKyAgICBpZiAoIW1hdGNoQSkgeworICAgICAgICBhdl9sb2cocywgQVZfTE9HX0VS Uk9SLCAiVVJMICVzIGlzIG5vdCBpbiBhbGxvd2VkX2V4dGVuc2lvbnNcbiIsIHNlZy0+dXJsKTsK KyAgICAgICAgcmV0dXJuIEFWRVJST1JfSU5WQUxJRERBVEE7CisgICAgfQorCisgICAgaWYgKGlu X2ZtdCkgeworICAgICAgICBpZiAoaW5fZm10LT5leHRlbnNpb25zKSB7CisgICAgICAgICAgICBt YXRjaEYgPSAgICAgIGF2X21hdGNoX2V4dCggICAgc2VnLT51cmwsIGluX2ZtdC0+ZXh0ZW5zaW9u cykKKyAgICAgICAgICAgICAgICAgICAgICsgMiooZmZfbWF0Y2hfdXJsX2V4dChzZWctPnVybCwg aW5fZm10LT5leHRlbnNpb25zKSA+IDApOworICAgICAgICB9IGVsc2UgaWYgKCFzdHJjbXAoaW5f Zm10LT5uYW1lLCAibXBlZ3RzIikpCisgICAgICAgICAgICBtYXRjaEYgPSAzOworCisgICAgICAg IGlmICghKG1hdGNoQSAmIG1hdGNoRikpIHsKKyAgICAgICAgICAgIGF2X2xvZyhzLCBBVl9MT0df RVJST1IsICJkZXRlY3RlZCBmb3JtYXQgZXh0ZW5zaW9uICVzIG1pc21hdGNoZXMgYWxsb3dlZCBl eHRlbnNpb25zIGluIHVybCAlc1xuIiwgaW5fZm10LT5leHRlbnNpb25zID8gaW5fZm10LT5leHRl bnNpb25zIDogIm5vbmUiLCBzZWctPnVybCk7CisgICAgICAgICAgICByZXR1cm4gQVZFUlJPUl9J TlZBTElEREFUQTsKKyAgICAgICAgfQorICAgIH0KKworICAgIHJldHVybiAwOworfQorCiBzdGF0 aWMgaW50IHBhcnNlX3BsYXlsaXN0KEhMU0NvbnRleHQgKmMsIGNvbnN0IGNoYXIgKnVybCwKICAg ICAgICAgICAgICAgICAgICAgICAgICAgc3RydWN0IHBsYXlsaXN0ICpwbHMsIEFWSU9Db250ZXh0 ICppbikKIHsKQEAgLTk4OSw2ICsxMDI0LDE0IEBAIHN0YXRpYyBpbnQgcGFyc2VfcGxheWxpc3Qo SExTQ29udGV4dCAqYywgY29uc3QgY2hhciAqdXJsLAogICAgICAgICAgICAgICAgICAgICBnb3Rv IGZhaWw7CiAgICAgICAgICAgICAgICAgfQogCisgICAgICAgICAgICAgICAgcmV0ID0gdGVzdF9z ZWdtZW50KGMtPmN0eCwgcGxzLT5jdHggPyBwbHMtPmN0eC0+aWZvcm1hdCA6IE5VTEwsIHBscywg c2VnKTsKKyAgICAgICAgICAgICAgICBpZiAocmV0IDwgMCkgeworICAgICAgICAgICAgICAgICAg ICBhdl9mcmVlKHNlZy0+dXJsKTsKKyAgICAgICAgICAgICAgICAgICAgYXZfZnJlZShzZWctPmtl eSk7CisgICAgICAgICAgICAgICAgICAgIGF2X2ZyZWUoc2VnKTsKKyAgICAgICAgICAgICAgICAg ICAgZ290byBmYWlsOworICAgICAgICAgICAgICAgIH0KKwogICAgICAgICAgICAgICAgIGlmIChk dXJhdGlvbiA8IDAuMDAxICogQVZfVElNRV9CQVNFKSB7CiAgICAgICAgICAgICAgICAgICAgIGF2 X2xvZyhjLT5jdHgsIEFWX0xPR19XQVJOSU5HLCAiQ2Fubm90IGdldCBjb3JyZWN0ICNFWFRJTkYg dmFsdWUgb2Ygc2VnbWVudCAlcywiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAiIHNldCB0byBkZWZhdWx0IHZhbHVlIHRvIDFtcy5cbiIsIHNlZy0+dXJsKTsKQEAgLTIxMTQs NiArMjE1NywxMSBAQCBzdGF0aWMgaW50IGhsc19yZWFkX2hlYWRlcihBVkZvcm1hdENvbnRleHQg KnMpCiAgICAgICAgICAgICBwbHMtPmN0eC0+aW50ZXJydXB0X2NhbGxiYWNrID0gcy0+aW50ZXJy dXB0X2NhbGxiYWNrOwogICAgICAgICAgICAgdXJsID0gYXZfc3RyZHVwKHBscy0+c2VnbWVudHNb MF0tPnVybCk7CiAgICAgICAgICAgICByZXQgPSBhdl9wcm9iZV9pbnB1dF9idWZmZXIoJnBscy0+ cGIucHViLCAmaW5fZm10LCB1cmwsIE5VTEwsIDAsIDApOworCisgICAgICAgICAgICBmb3IgKGlu dCBuID0gMDsgbiA8IHBscy0+bl9zZWdtZW50czsgbisrKQorICAgICAgICAgICAgICAgIGlmIChy ZXQgPj0gMCkKKyAgICAgICAgICAgICAgICAgICAgcmV0ID0gdGVzdF9zZWdtZW50KHMsIGluX2Zt dCwgcGxzLCBwbHMtPnNlZ21lbnRzW25dKTsKKwogICAgICAgICAgICAgaWYgKHJldCA8IDApIHsK ICAgICAgICAgICAgICAgICAvKiBGcmVlIHRoZSBjdHggLSBpdCBpc24ndCBpbml0aWFsaXplZCBw cm9wZXJseSBhdCB0aGlzIHBvaW50LAogICAgICAgICAgICAgICAgICogc28gYXZmb3JtYXRfY2xv c2VfaW5wdXQgc2hvdWxkbid0IGJlIGNhbGxlZC4gSWYKQEAgLTI1NzYsNiArMjYyNCw4IEBAIHN0 YXRpYyBjb25zdCBBVk9wdGlvbiBobHNfb3B0aW9uc1tdID0gewogICAgICAgICBPRkZTRVQoYWxs b3dlZF9leHRlbnNpb25zKSwgQVZfT1BUX1RZUEVfU1RSSU5HLAogICAgICAgICB7LnN0ciA9ICIz Z3AsYWFjLGF2aSxhYzMsZWFjMyxmbGFjLG1rdixtM3U4LG00YSxtNHMsbTR2LG1wZyxtb3YsbXAy LG1wMyxtcDQsbXBlZyxtcGVndHMsb2dnLG9ndixvZ2EsdHMsdm9iLHdhdiJ9LAogICAgICAgICBJ TlRfTUlOLCBJTlRfTUFYLCBGTEFHU30sCisgICAgeyJleHRlbnNpb25fcGlja3kiLCAiQmUgcGlj a3kgd2l0aCBhbGwgZXh0ZW5zaW9ucyBtYXRjaGluZyIsCisgICAgICAgIE9GRlNFVChleHRlbnNp b25fcGlja3kpLCBBVl9PUFRfVFlQRV9CT09MLCB7Lmk2NCA9IDF9LCAwLCAxLCBGTEFHU30sCiAg ICAgeyJtYXhfcmVsb2FkIiwgIk1heGltdW0gbnVtYmVyIG9mIHRpbWVzIGEgaW5zdWZmaWNpZW50 IGxpc3QgaXMgYXR0ZW1wdGVkIHRvIGJlIHJlbG9hZGVkIiwKICAgICAgICAgT0ZGU0VUKG1heF9y ZWxvYWQpLCBBVl9PUFRfVFlQRV9JTlQsIHsuaTY0ID0gM30sIDAsIElOVF9NQVgsIEZMQUdTfSwK ICAgICB7Im0zdThfaG9sZF9jb3VudGVycyIsICJUaGUgbWF4aW11bSBudW1iZXIgb2YgdGltZXMg dG8gbG9hZCBtM3U4IHdoZW4gaXQgcmVmcmVzaGVzIHdpdGhvdXQgbmV3IHNlZ21lbnRzIiwKLS0g CjIuNDkuMQoKCkZyb20gOWRlYTA3NzkyMmJjZTJlMmUxMzU5ZmM2MmI4MjQ0ODQ1OWRkY2Q0MiBN b24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKRnJvbTogTWljaGFlbCBOaWVkZXJtYXllciA8bWljaGFl bEBuaWVkZXJtYXllci5jYz4KRGF0ZTogVHVlLCAyOCBKYW4gMjAyNSAxMjo1MTo1OCArMDEwMApT dWJqZWN0OiBbUEFUQ0ggMjE4LzQzNF0gYXZmb3JtYXQvaGxzOiBQcmludCBpbnB1dCBmb3JtYXQg aW4gZXJyb3IgbWVzc2FnZQoKU2lnbmVkLW9mZi1ieTogTWljaGFlbCBOaWVkZXJtYXllciA8bWlj aGFlbEBuaWVkZXJtYXllci5jYz4KKGNoZXJyeSBwaWNrZWQgZnJvbSBjb21taXQgZDg0NTUzMzEz MDJjNzJjZGUyZjBiNzJmMjU1MDA0YTkxMTg5ZGQ5MykKU2lnbmVkLW9mZi1ieTogTWljaGFlbCBO aWVkZXJtYXllciA8bWljaGFlbEBuaWVkZXJtYXllci5jYz4KLS0tCiBsaWJhdmZvcm1hdC9obHMu YyB8IDIgKy0KIDEgZmlsZSBjaGFuZ2VkLCAxIGluc2VydGlvbigrKSwgMSBkZWxldGlvbigtKQoK ZGlmZiAtLWdpdCBhL2xpYmF2Zm9ybWF0L2hscy5jIGIvbGliYXZmb3JtYXQvaGxzLmMKaW5kZXgg MzRhYmNiNmUwZC4uZmRmMWRmMDkwNiAxMDA2NDQKLS0tIGEvbGliYXZmb3JtYXQvaGxzLmMKKysr IGIvbGliYXZmb3JtYXQvaGxzLmMKQEAgLTc1OCw3ICs3NTgsNyBAQCBzdGF0aWMgaW50IHRlc3Rf c2VnbWVudChBVkZvcm1hdENvbnRleHQgKnMsIGNvbnN0IEFWSW5wdXRGb3JtYXQgKmluX2ZtdCwg c3RydWN0CiAgICAgICAgICAgICBtYXRjaEYgPSAzOwogCiAgICAgICAgIGlmICghKG1hdGNoQSAm IG1hdGNoRikpIHsKLSAgICAgICAgICAgIGF2X2xvZyhzLCBBVl9MT0dfRVJST1IsICJkZXRlY3Rl ZCBmb3JtYXQgZXh0ZW5zaW9uICVzIG1pc21hdGNoZXMgYWxsb3dlZCBleHRlbnNpb25zIGluIHVy bCAlc1xuIiwgaW5fZm10LT5leHRlbnNpb25zID8gaW5fZm10LT5leHRlbnNpb25zIDogIm5vbmUi LCBzZWctPnVybCk7CisgICAgICAgICAgICBhdl9sb2cocywgQVZfTE9HX0VSUk9SLCAiZGV0ZWN0 ZWQgZm9ybWF0ICVzIGV4dGVuc2lvbiAlcyBtaXNtYXRjaGVzIGFsbG93ZWQgZXh0ZW5zaW9ucyBp biB1cmwgJXNcbiIsIGluX2ZtdC0+bmFtZSwgaW5fZm10LT5leHRlbnNpb25zID8gaW5fZm10LT5l eHRlbnNpb25zIDogIm5vbmUiLCBzZWctPnVybCk7CiAgICAgICAgICAgICByZXR1cm4gQVZFUlJP Ul9JTlZBTElEREFUQTsKICAgICAgICAgfQogICAgIH0KLS0gCjIuNDkuMQoKCkZyb20gYzc0NzQw ZmNkNTQzYTU0NWQ2NmNhODMwZTNmMmExMjJmNzMwY2FlMyBNb24gU2VwIDE3IDAwOjAwOjAwIDIw MDEKRnJvbTogTWljaGFlbCBOaWVkZXJtYXllciA8bWljaGFlbEBuaWVkZXJtYXllci5jYz4KRGF0 ZTogVGh1LCAzMCBKYW4gMjAyNSAwMjoyODozMiArMDEwMApTdWJqZWN0OiBbUEFUQ0ggMjE5LzQz NF0gYXZjb2RlYy9oMjYzZGVjOiBDaGVjayBhZ2FpbnN0IHByZXZpb3VzIGRpbWVuc2lvbnMKIGlu c3RlYWQgb2YgY29kZWQKCkZpeGVzOiBvdXQgb2YgYXJyYXkgYWNjZXNzCkZpeGVzOiBjcmFzaC1h NDFlZjNkYjY5OTAxM2Y2NjliMDc2ZjAyZjM2OTQyOTI1ZjVhOThjCgpGb3VuZC1ieTogS2FjcGVy IE1pY2hhamxvdyA8a2FzcGVyOTNAZ21haWwuY29tPgpSZXZpZXdlZC1ieTogS2FjcGVyIE1pY2hh amxvdyA8a2FzcGVyOTNAZ21haWwuY29tPgpTaWduZWQtb2ZmLWJ5OiBNaWNoYWVsIE5pZWRlcm1h eWVyIDxtaWNoYWVsQG5pZWRlcm1heWVyLmNjPgooY2hlcnJ5IHBpY2tlZCBmcm9tIGNvbW1pdCAw ZmUzM2M5OWEyNmEwNmE2ODc1YzRhYmZiOTYzNjJhNjUxNDUyNjRiKQpTaWduZWQtb2ZmLWJ5OiBN aWNoYWVsIE5pZWRlcm1heWVyIDxtaWNoYWVsQG5pZWRlcm1heWVyLmNjPgotLS0KIGxpYmF2Y29k ZWMvaDI2M2RlYy5jIHwgMTMgKysrKysrKysrLS0tLQogMSBmaWxlIGNoYW5nZWQsIDkgaW5zZXJ0 aW9ucygrKSwgNCBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9saWJhdmNvZGVjL2gyNjNkZWMu YyBiL2xpYmF2Y29kZWMvaDI2M2RlYy5jCmluZGV4IDBjMjMwMTI1ODQuLjVlZWZkYzQ2MDIgMTAw NjQ0Ci0tLSBhL2xpYmF2Y29kZWMvaDI2M2RlYy5jCisrKyBiL2xpYmF2Y29kZWMvaDI2M2RlYy5j CkBAIC00MzEsNiArNDMxLDcgQEAgaW50IGZmX2gyNjNfZGVjb2RlX2ZyYW1lKEFWQ29kZWNDb250 ZXh0ICphdmN0eCwgQVZGcmFtZSAqcGljdCwKICAgICBNcGVnRW5jQ29udGV4dCAqcyAgPSBhdmN0 eC0+cHJpdl9kYXRhOwogICAgIGludCByZXQ7CiAgICAgaW50IHNsaWNlX3JldCA9IDA7CisgICAg aW50IGJha193aWR0aCwgYmFrX2hlaWdodDsKIAogICAgIC8qIG5vIHN1cHBsZW1lbnRhcnkgcGlj dHVyZSAqLwogICAgIGlmIChidWZfc2l6ZSA9PSAwKSB7CkBAIC00ODIsNiArNDgzLDkgQEAgcmV0 cnk6CiAgICAgaWYgKHJldCA8IDApCiAgICAgICAgIHJldHVybiByZXQ7CiAKKyAgICBiYWtfd2lk dGggID0gcy0+d2lkdGg7CisgICAgYmFrX2hlaWdodCA9IHMtPmhlaWdodDsKKwogICAgIC8qIGxl dCdzIGdvIDotKSAqLwogICAgIGlmIChDT05GSUdfV01WMl9ERUNPREVSICYmIHMtPm1zbXBlZzRf dmVyc2lvbiA9PSBNU01QNF9XTVYyKSB7CiAgICAgICAgIHJldCA9IGZmX3dtdjJfZGVjb2RlX3Bp Y3R1cmVfaGVhZGVyKHMpOwpAQCAtNTAxLDExICs1MDUsMTIgQEAgcmV0cnk6CiAgICAgfQogCiAg ICAgaWYgKHJldCA8IDAgfHwgcmV0ID09IEZSQU1FX1NLSVBQRUQpIHsKLSAgICAgICAgaWYgKCAg IHMtPndpZHRoICAhPSBhdmN0eC0+Y29kZWRfd2lkdGgKLSAgICAgICAgICAgIHx8IHMtPmhlaWdo dCAhPSBhdmN0eC0+Y29kZWRfaGVpZ2h0KSB7CisgICAgICAgIGlmICggICBzLT53aWR0aCAgIT0g YmFrX3dpZHRoCisgICAgICAgICAgICB8fCBzLT5oZWlnaHQgIT0gYmFrX2hlaWdodCkgewogICAg ICAgICAgICAgICAgIGF2X2xvZyhzLT5hdmN0eCwgQVZfTE9HX1dBUk5JTkcsICJSZXZlcnRpbmcg cGljdHVyZSBkaW1lbnNpb25zIGNoYW5nZSBkdWUgdG8gaGVhZGVyIGRlY29kaW5nIGZhaWx1cmVc biIpOwotICAgICAgICAgICAgICAgIHMtPndpZHRoID0gYXZjdHgtPmNvZGVkX3dpZHRoOwotICAg ICAgICAgICAgICAgIHMtPmhlaWdodD0gYXZjdHgtPmNvZGVkX2hlaWdodDsKKyAgICAgICAgICAg ICAgICBzLT53aWR0aCA9IGJha193aWR0aDsKKyAgICAgICAgICAgICAgICBzLT5oZWlnaHQ9IGJh a19oZWlnaHQ7CisKICAgICAgICAgfQogICAgIH0KICAgICBpZiAocmV0ID09IEZSQU1FX1NLSVBQ RUQpCi0tIAoyLjQ5LjEKCgpGcm9tIDg4MDAwN2U3NWNmNTNiMzNkYWRhMDdkMWU0NjQ5ZGYxNzkz ODIwMWEgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCkZyb206IE1pY2hhZWwgTmllZGVybWF5ZXIg PG1pY2hhZWxAbmllZGVybWF5ZXIuY2M+CkRhdGU6IFR1ZSwgMjggSmFuIDIwMjUgMTM6MjY6MzQg KzAxMDAKU3ViamVjdDogW1BBVENIIDIyMC80MzRdIGF2Zm9ybWF0L2hsczogLnRzIGlzIGFsd2F5 cyBvayBldmVuIGlmIGl0cyBhIG1vdi9tcDQKCk1heWJlIGZpeGVzOiAxMTQzNQoKU2lnbmVkLW9m Zi1ieTogTWljaGFlbCBOaWVkZXJtYXllciA8bWljaGFlbEBuaWVkZXJtYXllci5jYz4KKGNoZXJy eSBwaWNrZWQgZnJvbSBjb21taXQgOWUxMjU3MjkzM2RjMWM0OWU5YjM1ZDc3MmRkY2FlODk2YzJi YThhOCkKU2lnbmVkLW9mZi1ieTogTWljaGFlbCBOaWVkZXJtYXllciA8bWljaGFlbEBuaWVkZXJt YXllci5jYz4KLS0tCiBsaWJhdmZvcm1hdC9obHMuYyB8IDQgKysrKwogMSBmaWxlIGNoYW5nZWQs IDQgaW5zZXJ0aW9ucygrKQoKZGlmZiAtLWdpdCBhL2xpYmF2Zm9ybWF0L2hscy5jIGIvbGliYXZm b3JtYXQvaGxzLmMKaW5kZXggZmRmMWRmMDkwNi4uMWIyZWJjZTJhYiAxMDA2NDQKLS0tIGEvbGli YXZmb3JtYXQvaGxzLmMKKysrIGIvbGliYXZmb3JtYXQvaGxzLmMKQEAgLTc1NCw2ICs3NTQsMTAg QEAgc3RhdGljIGludCB0ZXN0X3NlZ21lbnQoQVZGb3JtYXRDb250ZXh0ICpzLCBjb25zdCBBVklu cHV0Rm9ybWF0ICppbl9mbXQsIHN0cnVjdAogICAgICAgICBpZiAoaW5fZm10LT5leHRlbnNpb25z KSB7CiAgICAgICAgICAgICBtYXRjaEYgPSAgICAgIGF2X21hdGNoX2V4dCggICAgc2VnLT51cmws IGluX2ZtdC0+ZXh0ZW5zaW9ucykKICAgICAgICAgICAgICAgICAgICAgICsgMiooZmZfbWF0Y2hf dXJsX2V4dChzZWctPnVybCwgaW5fZm10LT5leHRlbnNpb25zKSA+IDApOworICAgICAgICAgICAg aWYoYXZfbWF0Y2hfbmFtZSgibXA0IiwgaW5fZm10LT5uYW1lKSkgeworICAgICAgICAgICAgICAg IG1hdGNoRiB8PSAgICAgIGF2X21hdGNoX2V4dCggICAgc2VnLT51cmwsICJ0cyIpCisgICAgICAg ICAgICAgICAgICAgICAgICAgICsgMiooZmZfbWF0Y2hfdXJsX2V4dChzZWctPnVybCwgInRzIikg PiAwKTsKKyAgICAgICAgICAgIH0KICAgICAgICAgfSBlbHNlIGlmICghc3RyY21wKGluX2ZtdC0+ bmFtZSwgIm1wZWd0cyIpKQogICAgICAgICAgICAgbWF0Y2hGID0gMzsKIAotLSAKMi40OS4xCgoK RnJvbSA2YzRlNTZmMDdkMWE3MDM0MzU4NTRmMjE1NmM4ODE4ODVmNzc5OGRhIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBNaWNoYWVsIE5pZWRlcm1heWVyIDxtaWNoYWVsQG5pZWRlcm1h eWVyLmNjPgpEYXRlOiBUdWUsIDI4IEphbiAyMDI1IDIzOjA3OjU0ICswMTAwClN1YmplY3Q6IFtQ QVRDSCAyMjEvNDM0XSBsaWJhdmZvcm1hdC9obHM6IEJlIG1vcmUgcmVzdHJpY3RpdmUgb24gbXBl Z3RzCiBleHRlbnNpb25zCgpTaWduZWQtb2ZmLWJ5OiBNaWNoYWVsIE5pZWRlcm1heWVyIDxtaWNo YWVsQG5pZWRlcm1heWVyLmNjPgooY2hlcnJ5IHBpY2tlZCBmcm9tIGNvbW1pdCAwMTEzZTMwODA2 YjIwNTExMTM0NGUyNjZiYzY5ZmY5NjU3YTNjYTAyKQpTaWduZWQtb2ZmLWJ5OiBNaWNoYWVsIE5p ZWRlcm1heWVyIDxtaWNoYWVsQG5pZWRlcm1heWVyLmNjPgotLS0KIGxpYmF2Zm9ybWF0L2hscy5j IHwgNiArKysrLS0KIDEgZmlsZSBjaGFuZ2VkLCA0IGluc2VydGlvbnMoKyksIDIgZGVsZXRpb25z KC0pCgpkaWZmIC0tZ2l0IGEvbGliYXZmb3JtYXQvaGxzLmMgYi9saWJhdmZvcm1hdC9obHMuYwpp bmRleCAxYjJlYmNlMmFiLi5lZjc5YWQzMzUzIDEwMDY0NAotLS0gYS9saWJhdmZvcm1hdC9obHMu YworKysgYi9saWJhdmZvcm1hdC9obHMuYwpAQCAtNzU4LDggKzc1OCwxMCBAQCBzdGF0aWMgaW50 IHRlc3Rfc2VnbWVudChBVkZvcm1hdENvbnRleHQgKnMsIGNvbnN0IEFWSW5wdXRGb3JtYXQgKmlu X2ZtdCwgc3RydWN0CiAgICAgICAgICAgICAgICAgbWF0Y2hGIHw9ICAgICAgYXZfbWF0Y2hfZXh0 KCAgICBzZWctPnVybCwgInRzIikKICAgICAgICAgICAgICAgICAgICAgICAgICAgKyAyKihmZl9t YXRjaF91cmxfZXh0KHNlZy0+dXJsLCAidHMiKSA+IDApOwogICAgICAgICAgICAgfQotICAgICAg ICB9IGVsc2UgaWYgKCFzdHJjbXAoaW5fZm10LT5uYW1lLCAibXBlZ3RzIikpCi0gICAgICAgICAg ICBtYXRjaEYgPSAzOworICAgICAgICB9IGVsc2UgaWYgKCFzdHJjbXAoaW5fZm10LT5uYW1lLCAi bXBlZ3RzIikpIHsKKyAgICAgICAgICAgIG1hdGNoRiA9ICAgICAgYXZfbWF0Y2hfZXh0KCAgICBz ZWctPnVybCwgInRzLG0ydCxtMnRzLG10cyxtcGcsbTRzLG1wZWcsbXBlZ3RzIikKKyAgICAgICAg ICAgICAgICAgICAgICsgMiooZmZfbWF0Y2hfdXJsX2V4dChzZWctPnVybCwgInRzLG0ydCxtMnRz LG10cyxtcGcsbTRzLG1wZWcsbXBlZ3RzIikgPiAwKTsKKyAgICAgICAgfQogCiAgICAgICAgIGlm ICghKG1hdGNoQSAmIG1hdGNoRikpIHsKICAgICAgICAgICAgIGF2X2xvZyhzLCBBVl9MT0dfRVJS T1IsICJkZXRlY3RlZCBmb3JtYXQgJXMgZXh0ZW5zaW9uICVzIG1pc21hdGNoZXMgYWxsb3dlZCBl eHRlbnNpb25zIGluIHVybCAlc1xuIiwgaW5fZm10LT5uYW1lLCBpbl9mbXQtPmV4dGVuc2lvbnMg PyBpbl9mbXQtPmV4dGVuc2lvbnMgOiAibm9uZSIsIHNlZy0+dXJsKTsKLS0gCjIuNDkuMQoKCkZy b20gNDAxOGI5MTVhNjNmNzRjNjQzM2FkODk4N2Y0OWQ4NzM3YmIzNTE3NiBNb24gU2VwIDE3IDAw OjAwOjAwIDIwMDEKRnJvbTogTWljaGFlbCBOaWVkZXJtYXllciA8bWljaGFlbEBuaWVkZXJtYXll ci5jYz4KRGF0ZTogU3VuLCAyIEZlYiAyMDI1IDIxOjI1OjQ1ICswMTAwClN1YmplY3Q6IFtQQVRD SCAyMjIvNDM0XSBhdmNvZGVjL3Z2Yy9yZWZzOiBmaXggbmVnYXRpdmUgcHBzX3NjYWxpbmdfd2lu CiBvZmZzZXRzCgpUaGUgc3BlYyBzZWVtcyB0byBhbGxvdyB0aGVzZSB0byAgYmUgbmVnYXRpdmUK CkZpeGVzOiBsZWZ0IHNoaWZ0IG9mIG5lZ2F0aXZlIHZhbHVlIC0xNQpGaXhlczogMzkyNjg3MDM1 L2NsdXN0ZXJmdXp6LXRlc3RjYXNlLW1pbmltaXplZC1mZm1wZWdfQVZfQ09ERUNfSURfVlZDX2Z1 enplci02NTU5ODA0NTMyNzg1MTUyCgpGb3VuZC1ieTogY29udGludW91cyBmdXp6aW5nIHByb2Nl c3MgaHR0cHM6Ly9naXRodWIuY29tL2dvb2dsZS9vc3MtZnV6ei90cmVlL21hc3Rlci9wcm9qZWN0 cy9mZm1wZWcKUmV2aWV3ZWQtYnk6IEZyYW5rIFBsb3dtYW4gPHBvc3RAZnJhbmtwbG93bWFuLmNv bT4KU2lnbmVkLW9mZi1ieTogTWljaGFlbCBOaWVkZXJtYXllciA8bWljaGFlbEBuaWVkZXJtYXll ci5jYz4KKGNoZXJyeSBwaWNrZWQgZnJvbSBjb21taXQgMzM2NzlmNTMyNWY1YWQ4Mjk5M2ViMmJk YTg5ZWY1ZmUzN2YyZTVkYSkKU2lnbmVkLW9mZi1ieTogTWljaGFlbCBOaWVkZXJtYXllciA8bWlj aGFlbEBuaWVkZXJtYXllci5jYz4KLS0tCiBsaWJhdmNvZGVjL3Z2Yy9yZWZzLmMgfCA4ICsrKyst LS0tCiAxIGZpbGUgY2hhbmdlZCwgNCBpbnNlcnRpb25zKCspLCA0IGRlbGV0aW9ucygtKQoKZGlm ZiAtLWdpdCBhL2xpYmF2Y29kZWMvdnZjL3JlZnMuYyBiL2xpYmF2Y29kZWMvdnZjL3JlZnMuYwpp bmRleCAxMzNmZjllYWJhLi5iZjA5M2JlYTk4IDEwMDY0NAotLS0gYS9saWJhdmNvZGVjL3Z2Yy9y ZWZzLmMKKysrIGIvbGliYXZjb2RlYy92dmMvcmVmcy5jCkBAIC0xNDYsMTAgKzE0NiwxMCBAQCBz dGF0aWMgVlZDRnJhbWUgKmFsbG9jX2ZyYW1lKFZWQ0NvbnRleHQgKnMsIFZWQ0ZyYW1lQ29udGV4 dCAqZmMpCiAgICAgICAgIGZvciAoaW50IGogPSAwOyBqIDwgZnJhbWUtPmN0Yl9jb3VudDsgaisr KQogICAgICAgICAgICAgZnJhbWUtPnJwbF90YWJbal0gPSBmcmFtZS0+cnBsOwogCi0gICAgICAg IHdpbi0+bGVmdF9vZmZzZXQgICA9IHBwcy0+ci0+cHBzX3NjYWxpbmdfd2luX2xlZnRfb2Zmc2V0 ICAgPDwgc3BzLT5oc2hpZnRbQ0hST01BXTsKLSAgICAgICAgd2luLT5yaWdodF9vZmZzZXQgID0g cHBzLT5yLT5wcHNfc2NhbGluZ193aW5fcmlnaHRfb2Zmc2V0ICA8PCBzcHMtPmhzaGlmdFtDSFJP TUFdOwotICAgICAgICB3aW4tPnRvcF9vZmZzZXQgICAgPSBwcHMtPnItPnBwc19zY2FsaW5nX3dp bl90b3Bfb2Zmc2V0ICAgIDw8IHNwcy0+dnNoaWZ0W0NIUk9NQV07Ci0gICAgICAgIHdpbi0+Ym90 dG9tX29mZnNldCA9IHBwcy0+ci0+cHBzX3NjYWxpbmdfd2luX2JvdHRvbV9vZmZzZXQgPDwgc3Bz LT52c2hpZnRbQ0hST01BXTsKKyAgICAgICAgd2luLT5sZWZ0X29mZnNldCAgID0gcHBzLT5yLT5w cHNfc2NhbGluZ193aW5fbGVmdF9vZmZzZXQgICAqICgxIDw8IHNwcy0+aHNoaWZ0W0NIUk9NQV0p OworICAgICAgICB3aW4tPnJpZ2h0X29mZnNldCAgPSBwcHMtPnItPnBwc19zY2FsaW5nX3dpbl9y aWdodF9vZmZzZXQgICogKDEgPDwgc3BzLT5oc2hpZnRbQ0hST01BXSk7CisgICAgICAgIHdpbi0+ dG9wX29mZnNldCAgICA9IHBwcy0+ci0+cHBzX3NjYWxpbmdfd2luX3RvcF9vZmZzZXQgICAgKiAo MSA8PCBzcHMtPnZzaGlmdFtDSFJPTUFdKTsKKyAgICAgICAgd2luLT5ib3R0b21fb2Zmc2V0ID0g cHBzLT5yLT5wcHNfc2NhbGluZ193aW5fYm90dG9tX29mZnNldCAqICgxIDw8IHNwcy0+dnNoaWZ0 W0NIUk9NQV0pOwogICAgICAgICBmcmFtZS0+cmVmX3dpZHRoICAgPSBwcHMtPnItPnBwc19waWNf d2lkdGhfaW5fbHVtYV9zYW1wbGVzICAtIHdpbi0+bGVmdF9vZmZzZXQgICAtIHdpbi0+cmlnaHRf b2Zmc2V0OwogICAgICAgICBmcmFtZS0+cmVmX2hlaWdodCAgPSBwcHMtPnItPnBwc19waWNfaGVp Z2h0X2luX2x1bWFfc2FtcGxlcyAtIHdpbi0+Ym90dG9tX29mZnNldCAtIHdpbi0+dG9wX29mZnNl dDsKIAotLSAKMi40OS4xCgoKRnJvbSA0M2JhOTk1YTMxZDg5MmMyYzZjYzU3NWI2MGM0MGIyZmI5 ZDIwNzhkIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBNaWNoYWVsIE5pZWRlcm1heWVy IDxtaWNoYWVsQG5pZWRlcm1heWVyLmNjPgpEYXRlOiBUaHUsIDYgRmViIDIwMjUgMTM6MDk6MDgg KzAxMDAKU3ViamVjdDogW1BBVENIIDIyMy80MzRdIGF2Zm9ybWF0L2hsczogRml4IHR3aXR0ZXIK CkFsbG93IG1wNCB3aXRoIGFsbCBtcGVndHMgZXh0ZW5zaW9ucwoKRml4ZXM6IFRpY2tldDExNDM1 ClJldmlld2VkLWJ5OiBTdGV2ZW4gTGl1IDxsaW5naml1amlhbmtlQGdtYWlsLmNvbT4KU2lnbmVk LW9mZi1ieTogTWljaGFlbCBOaWVkZXJtYXllciA8bWljaGFlbEBuaWVkZXJtYXllci5jYz4KKGNo ZXJyeSBwaWNrZWQgZnJvbSBjb21taXQgY2VmMzQyMmI0ODE5ZTNiNmYwNzA4NjYyNWZhNzg5MGVh YThkNDVlNykKU2lnbmVkLW9mZi1ieTogTWljaGFlbCBOaWVkZXJtYXllciA8bWljaGFlbEBuaWVk ZXJtYXllci5jYz4KLS0tCiBsaWJhdmZvcm1hdC9obHMuYyB8IDQgKystLQogMSBmaWxlIGNoYW5n ZWQsIDIgaW5zZXJ0aW9ucygrKSwgMiBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9saWJhdmZv cm1hdC9obHMuYyBiL2xpYmF2Zm9ybWF0L2hscy5jCmluZGV4IGVmNzlhZDMzNTMuLmZiYzg4Yzhm ODggMTAwNjQ0Ci0tLSBhL2xpYmF2Zm9ybWF0L2hscy5jCisrKyBiL2xpYmF2Zm9ybWF0L2hscy5j CkBAIC03NTUsOCArNzU1LDggQEAgc3RhdGljIGludCB0ZXN0X3NlZ21lbnQoQVZGb3JtYXRDb250 ZXh0ICpzLCBjb25zdCBBVklucHV0Rm9ybWF0ICppbl9mbXQsIHN0cnVjdAogICAgICAgICAgICAg bWF0Y2hGID0gICAgICBhdl9tYXRjaF9leHQoICAgIHNlZy0+dXJsLCBpbl9mbXQtPmV4dGVuc2lv bnMpCiAgICAgICAgICAgICAgICAgICAgICArIDIqKGZmX21hdGNoX3VybF9leHQoc2VnLT51cmws IGluX2ZtdC0+ZXh0ZW5zaW9ucykgPiAwKTsKICAgICAgICAgICAgIGlmKGF2X21hdGNoX25hbWUo Im1wNCIsIGluX2ZtdC0+bmFtZSkpIHsKLSAgICAgICAgICAgICAgICBtYXRjaEYgfD0gICAgICBh dl9tYXRjaF9leHQoICAgIHNlZy0+dXJsLCAidHMiKQotICAgICAgICAgICAgICAgICAgICAgICAg ICArIDIqKGZmX21hdGNoX3VybF9leHQoc2VnLT51cmwsICJ0cyIpID4gMCk7CisgICAgICAgICAg ICAgICAgbWF0Y2hGIHw9ICAgICAgYXZfbWF0Y2hfZXh0KCAgICBzZWctPnVybCwgInRzLG0ydCxt MnRzLG10cyxtcGcsbTRzLG1wZWcsbXBlZ3RzIikKKyAgICAgICAgICAgICAgICAgICAgICAgICAg KyAyKihmZl9tYXRjaF91cmxfZXh0KHNlZy0+dXJsLCAidHMsbTJ0LG0ydHMsbXRzLG1wZyxtNHMs bXBlZyxtcGVndHMiKSA+IDApOwogICAgICAgICAgICAgfQogICAgICAgICB9IGVsc2UgaWYgKCFz dHJjbXAoaW5fZm10LT5uYW1lLCAibXBlZ3RzIikpIHsKICAgICAgICAgICAgIG1hdGNoRiA9ICAg ICAgYXZfbWF0Y2hfZXh0KCAgICBzZWctPnVybCwgInRzLG0ydCxtMnRzLG10cyxtcGcsbTRzLG1w ZWcsbXBlZ3RzIikKLS0gCjIuNDkuMQoKCkZyb20gYzM4OGJjMTc3NGYwYzM1NTllNjAwZDc1Yzlh YzFmOWIxNDhlNzBhZSBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKRnJvbTogTWljaGFlbCBOaWVk ZXJtYXllciA8bWljaGFlbEBuaWVkZXJtYXllci5jYz4KRGF0ZTogV2VkLCA1IEZlYiAyMDI1IDAz OjQ3OjUyICswMTAwClN1YmplY3Q6IFtQQVRDSCAyMjQvNDM0XSBhdmZvcm1hdC9teGZkZWM6IENo ZWNrIGVkaXQgdW5pdCBmb3Igb3ZlcmZsb3cgaW4KIG14Zl9zZXRfY3VycmVudF9lZGl0X3VuaXQo KQpNSU1FLVZlcnNpb246IDEuMApDb250ZW50LVR5cGU6IHRleHQvcGxhaW47IGNoYXJzZXQ9VVRG LTgKQ29udGVudC1UcmFuc2Zlci1FbmNvZGluZzogOGJpdAoKRml4ZXM6IHNpZ25lZCBpbnRlZ2Vy IG92ZXJmbG93OiA5MjIzMzcyMDM2ODU0Nzc1ODA3ICsgMSBjYW5ub3QgYmUgcmVwcmVzZW50ZWQg aW4gdHlwZSAnbG9uZycKRml4ZXM6IDM5MjY3MjA2OC9jbHVzdGVyZnV6ei10ZXN0Y2FzZS1taW5p bWl6ZWQtZmZtcGVnX2RlbV9NWEZfZnV6emVyLTYyMzIzMzU4OTIxNTIzMjAKCkZvdW5kLWJ5OiBj b250aW51b3VzIGZ1enppbmcgcHJvY2VzcyBodHRwczovL2dpdGh1Yi5jb20vZ29vZ2xlL29zcy1m dXp6L3RyZWUvbWFzdGVyL3Byb2plY3RzL2ZmbXBlZwpSZXZpZXdlZC1ieTogVG9tYXMgSMOkcmRp biA8Z2l0QGhhZXJkaW4uc2U+ClNpZ25lZC1vZmYtYnk6IE1pY2hhZWwgTmllZGVybWF5ZXIgPG1p Y2hhZWxAbmllZGVybWF5ZXIuY2M+CihjaGVycnkgcGlja2VkIGZyb20gY29tbWl0IDhhNmFkOWVh YjJmMWMzN2ExOGMyZjMwZTY2NjAyNjBlZGQ3YzBjMTYpClNpZ25lZC1vZmYtYnk6IE1pY2hhZWwg TmllZGVybWF5ZXIgPG1pY2hhZWxAbmllZGVybWF5ZXIuY2M+Ci0tLQogbGliYXZmb3JtYXQvbXhm ZGVjLmMgfCAyICstCiAxIGZpbGUgY2hhbmdlZCwgMSBpbnNlcnRpb24oKyksIDEgZGVsZXRpb24o LSkKCmRpZmYgLS1naXQgYS9saWJhdmZvcm1hdC9teGZkZWMuYyBiL2xpYmF2Zm9ybWF0L214ZmRl Yy5jCmluZGV4IDY4MmY3MjQyNjAuLjg5MDUwMDgyMDIgMTAwNjQ0Ci0tLSBhL2xpYmF2Zm9ybWF0 L214ZmRlYy5jCisrKyBiL2xpYmF2Zm9ybWF0L214ZmRlYy5jCkBAIC0zODg3LDcgKzM4ODcsNyBA QCBzdGF0aWMgaW50NjRfdCBteGZfc2V0X2N1cnJlbnRfZWRpdF91bml0KE1YRkNvbnRleHQgKm14 ZiwgQVZTdHJlYW0gKnN0LCBpbnQ2NF90CiAgICAgaW50NjRfdCBuZXdfZWRpdF91bml0OwogICAg IE1YRkluZGV4VGFibGUgKnQgPSBteGZfZmluZF9pbmRleF90YWJsZShteGYsIHRyYWNrLT5pbmRl eF9zaWQpOwogCi0gICAgaWYgKCF0IHx8IHRyYWNrLT53cmFwcGluZyA9PSBVbmtub3duV3JhcHBl ZCkKKyAgICBpZiAoIXQgfHwgdHJhY2stPndyYXBwaW5nID09IFVua25vd25XcmFwcGVkIHx8IGVk aXRfdW5pdCA+IElOVDY0X01BWCAtIHRyYWNrLT5lZGl0X3VuaXRzX3Blcl9wYWNrZXQpCiAgICAg ICAgIHJldHVybiAtMTsKIAogICAgIGlmIChteGZfZWRpdF91bml0X2Fic29sdXRlX29mZnNldCht eGYsIHQsIGVkaXRfdW5pdCArIHRyYWNrLT5lZGl0X3VuaXRzX3Blcl9wYWNrZXQsIHRyYWNrLT5l ZGl0X3JhdGUsIE5VTEwsICZuZXh0X29mcywgTlVMTCwgMCkgPCAwICYmCi0tIAoyLjQ5LjEKCgpG cm9tIDZhY2ZhYTEwODRmYjcxZTFlMTAxNGRmYzNjZDhmOThjYTg4YjMwNGEgTW9uIFNlcCAxNyAw MDowMDowMCAyMDAxCkZyb206IE1pY2hhZWwgTmllZGVybWF5ZXIgPG1pY2hhZWxAbmllZGVybWF5 ZXIuY2M+CkRhdGU6IEZyaSwgNyBGZWIgMjAyNSAwMToyNDozNyArMDEwMApTdWJqZWN0OiBbUEFU Q0ggMjI1LzQzNF0gYXZmb3JtYXQvd2F2ZGVjOiBGaXggb3ZlcmZsb3cgb2YgaW50ZXJtZWRpYXRl IGluCiBibG9ja19hbGlnbiBjaGVjawoKRml4ZXM6IHNpZ25lZCBpbnRlZ2VyIG92ZXJmbG93OiAt MjUxNTE3ODgwICogMzIgY2Fubm90IGJlIHJlcHJlc2VudGVkIGluIHR5cGUgJ2ludCcKRml4ZXM6 IDM4NTIyNDkzNC9jbHVzdGVyZnV6ei10ZXN0Y2FzZS1taW5pbWl6ZWQtZmZtcGVnX2RlbV9XNjRf ZnV6emVyLTQ5MDkyOTgxNTE5MTU1MjAKCkZvdW5kLWJ5OiBjb250aW51b3VzIGZ1enppbmcgcHJv Y2VzcyBodHRwczovL2dpdGh1Yi5jb20vZ29vZ2xlL29zcy1mdXp6L3RyZWUvbWFzdGVyL3Byb2pl Y3RzL2ZmbXBlZwpTaWduZWQtb2ZmLWJ5OiBNaWNoYWVsIE5pZWRlcm1heWVyIDxtaWNoYWVsQG5p ZWRlcm1heWVyLmNjPgooY2hlcnJ5IHBpY2tlZCBmcm9tIGNvbW1pdCAxYWZiYzQwODc1MDY5MzEy ZGQ3MjliNTk1OWZiMDQ5NTBjMzkzOGRiKQpTaWduZWQtb2ZmLWJ5OiBNaWNoYWVsIE5pZWRlcm1h eWVyIDxtaWNoYWVsQG5pZWRlcm1heWVyLmNjPgotLS0KIGxpYmF2Zm9ybWF0L3dhdmRlYy5jIHwg NCArKy0tCiAxIGZpbGUgY2hhbmdlZCwgMiBpbnNlcnRpb25zKCspLCAyIGRlbGV0aW9ucygtKQoK ZGlmZiAtLWdpdCBhL2xpYmF2Zm9ybWF0L3dhdmRlYy5jIGIvbGliYXZmb3JtYXQvd2F2ZGVjLmMK aW5kZXggNzhlMzdiODhkNy4uYWU2ZmYwZTAyMiAxMDA2NDQKLS0tIGEvbGliYXZmb3JtYXQvd2F2 ZGVjLmMKKysrIGIvbGliYXZmb3JtYXQvd2F2ZGVjLmMKQEAgLTkxMiwxMCArOTEyLDEwIEBAIHN0 YXRpYyBpbnQgdzY0X3JlYWRfaGVhZGVyKEFWRm9ybWF0Q29udGV4dCAqcykKICAgICAgICAgICAg IGlmIChzdC0+Y29kZWNwYXItPmJsb2NrX2FsaWduICYmCiAgICAgICAgICAgICAgICAgc3QtPmNv ZGVjcGFyLT5jaF9sYXlvdXQubmJfY2hhbm5lbHMgPCBGRl9TQU5FX05CX0NIQU5ORUxTICYmCiAg ICAgICAgICAgICAgICAgc3QtPmNvZGVjcGFyLT5iaXRzX3Blcl9jb2RlZF9zYW1wbGUgPCAxMjgp IHsKLSAgICAgICAgICAgICAgICBpbnQgYmxvY2tfYWxpZ24gPSBzdC0+Y29kZWNwYXItPmJsb2Nr X2FsaWduOworICAgICAgICAgICAgICAgIGludDY0X3QgYmxvY2tfYWxpZ24gPSBzdC0+Y29kZWNw YXItPmJsb2NrX2FsaWduOwogCiAgICAgICAgICAgICAgICAgYmxvY2tfYWxpZ24gPSBGRk1BWChi bG9ja19hbGlnbiwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoc3QtPmNv ZGVjcGFyLT5iaXRzX3Blcl9jb2RlZF9zYW1wbGUgKyA3KSAvIDgpICoKKyAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICgoc3QtPmNvZGVjcGFyLT5iaXRzX3Blcl9jb2RlZF9zYW1w bGUgKyA3TEwpIC8gOCkgKgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3Qt PmNvZGVjcGFyLT5jaF9sYXlvdXQubmJfY2hhbm5lbHMpOwogICAgICAgICAgICAgICAgIGlmIChi bG9ja19hbGlnbiA+IHN0LT5jb2RlY3Bhci0+YmxvY2tfYWxpZ24pIHsKICAgICAgICAgICAgICAg ICAgICAgYXZfbG9nKHMsIEFWX0xPR19XQVJOSU5HLCAiaW52YWxpZCBibG9ja19hbGlnbjogJWQs IGJyb2tlbiBmaWxlLlxuIiwKLS0gCjIuNDkuMQoKCkZyb20gMmU3MzY0NzI3Y2FhNDRjZTA0MDA1 NmY5NDk4ZTFjMGM5M2JiOTUxMSBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKRnJvbTogTWljaGFl bCBOaWVkZXJtYXllciA8bWljaGFlbEBuaWVkZXJtYXllci5jYz4KRGF0ZTogRnJpLCA3IEZlYiAy MDI1IDAyOjMzOjIxICswMTAwClN1YmplY3Q6IFtQQVRDSCAyMjYvNDM0XSBhdmZvcm1hdC9tbHZk ZWM6IGZpeCBzaXplIGNoZWNrcwoKRml4ZXM6IGhlYXAtYnVmZmVyLW92ZXJmbG93CkZpeGVzOiAz OTE5NjI0NzYvY2x1c3RlcmZ1enotdGVzdGNhc2UtbWluaW1pemVkLWZmbXBlZ19kZW1fTUxWX2Z1 enplci01NzQ2NzQ2NTg3Njc2NjcyCgpGb3VuZC1ieTogY29udGludW91cyBmdXp6aW5nIHByb2Nl c3MgaHR0cHM6Ly9naXRodWIuY29tL2dvb2dsZS9vc3MtZnV6ei90cmVlL21hc3Rlci9wcm9qZWN0 cy9mZm1wZWcKU2lnbmVkLW9mZi1ieTogTWljaGFlbCBOaWVkZXJtYXllciA8bWljaGFlbEBuaWVk ZXJtYXllci5jYz4KKGNoZXJyeSBwaWNrZWQgZnJvbSBjb21taXQgMjUxZDQzYWVmMGRmOTI2MmYy Njg4YzFjODQ4YWY5OTNiYmI2N2QwOCkKU2lnbmVkLW9mZi1ieTogTWljaGFlbCBOaWVkZXJtYXll ciA8bWljaGFlbEBuaWVkZXJtYXllci5jYz4KLS0tCiBsaWJhdmZvcm1hdC9tbHZkZWMuYyB8IDE0 ICsrKysrKysrKystLS0tCiAxIGZpbGUgY2hhbmdlZCwgMTAgaW5zZXJ0aW9ucygrKSwgNCBkZWxl dGlvbnMoLSkKCmRpZmYgLS1naXQgYS9saWJhdmZvcm1hdC9tbHZkZWMuYyBiL2xpYmF2Zm9ybWF0 L21sdmRlYy5jCmluZGV4IDk4NTM2NTMyNmUuLjIwYTZmMzYyOWEgMTAwNjQ0Ci0tLSBhL2xpYmF2 Zm9ybWF0L21sdmRlYy5jCisrKyBiL2xpYmF2Zm9ybWF0L21sdmRlYy5jCkBAIC00MzcsMTkgKzQz NywyNSBAQCBzdGF0aWMgaW50IHJlYWRfcGFja2V0KEFWRm9ybWF0Q29udGV4dCAqYXZjdHgsIEFW UGFja2V0ICpwa3QpCiAgICAgaWYgKHNpemUgPCAxNikKICAgICAgICAgcmV0dXJuIEFWRVJST1Jf SU5WQUxJRERBVEE7CiAgICAgYXZpb19za2lwKHBiLCAxMik7IC8vdGltZXN0YW1wLCBmcmFtZU51 bWJlcgotICAgIGlmIChzdC0+Y29kZWNwYXItPmNvZGVjX3R5cGUgPT0gQVZNRURJQV9UWVBFX1ZJ REVPKQorICAgIHNpemUgLT0gMTI7CisgICAgaWYgKHN0LT5jb2RlY3Bhci0+Y29kZWNfdHlwZSA9 PSBBVk1FRElBX1RZUEVfVklERU8pIHsKKyAgICAgICAgaWYgKHNpemUgPCA4KQorICAgICAgICAg ICAgcmV0dXJuIEFWRVJST1JfSU5WQUxJRERBVEE7CiAgICAgICAgIGF2aW9fc2tpcChwYiwgOCk7 IC8vIGNyb3BQb3NYLCBjcm9wUG9zWSwgcGFuUG9zWCwgcGFuUG9zWQorICAgICAgICBzaXplIC09 IDg7CisgICAgfQogICAgIHNwYWNlID0gYXZpb19ybDMyKHBiKTsKKyAgICBpZiAoc2l6ZSA8IHNw YWNlICsgNExMKQorICAgICAgICByZXR1cm4gQVZFUlJPUl9JTlZBTElEREFUQTsKICAgICBhdmlv X3NraXAocGIsIHNwYWNlKTsKKyAgICBzaXplIC09IHNwYWNlOwogCiAgICAgaWYgKChtbHYtPmNs YXNzW3N0LT5pZF0gJiAoTUxWX0NMQVNTX0ZMQUdfREVMVEF8TUxWX0NMQVNTX0ZMQUdfTFpNQSkp KSB7CiAgICAgICAgIHJldCA9IEFWRVJST1JfUEFUQ0hXRUxDT01FOwogICAgIH0gZWxzZSBpZiAo c3QtPmNvZGVjcGFyLT5jb2RlY190eXBlID09IEFWTUVESUFfVFlQRV9WSURFTykgewogICAgICAg ICByZXQgPSBhdl9nZXRfcGFja2V0KHBiLCBwa3QsIChzdC0+Y29kZWNwYXItPndpZHRoICogc3Qt PmNvZGVjcGFyLT5oZWlnaHQgKiBzdC0+Y29kZWNwYXItPmJpdHNfcGVyX2NvZGVkX3NhbXBsZSAr IDcpID4+IDMpOwogICAgIH0gZWxzZSB7IC8vIEFWTUVESUFfVFlQRV9BVURJTwotICAgICAgICBp ZiAoc3BhY2UgPiBVSU5UX01BWCAtIDI0IHx8IHNpemUgPCAoMjQgKyBzcGFjZSkpCi0gICAgICAg ICAgICByZXR1cm4gQVZFUlJPUl9JTlZBTElEREFUQTsKLSAgICAgICAgcmV0ID0gYXZfZ2V0X3Bh Y2tldChwYiwgcGt0LCBzaXplIC0gKDI0ICsgc3BhY2UpKTsKKyAgICAgICAgcmV0ID0gYXZfZ2V0 X3BhY2tldChwYiwgcGt0LCBzaXplIC0gNCk7CiAgICAgfQogCiAgICAgaWYgKHJldCA8IDApCi0t IAoyLjQ5LjEKCgpGcm9tIDBlNWI2YTcxNTYyN2I4MTY2YWU1Mjc2YTc1YmE1NDU5ZDg3YjM0NGUg TW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCkZyb206IE1pY2hhZWwgTmllZGVybWF5ZXIgPG1pY2hh ZWxAbmllZGVybWF5ZXIuY2M+CkRhdGU6IEZyaSwgNyBGZWIgMjAyNSAyMzozMToyMCArMDEwMApT dWJqZWN0OiBbUEFUQ0ggMjI3LzQzNF0gYXZjb2RlYy9hYWMvYWFjZGVjOiBDbGVhciBTRk8gb24g ZXJyb3IKCnR5cGVzIGFuZCBTRk8gYmVjb21lIGNvbmZ1c2VkIGZvciBhIFVTQUMgc3RyZWFtCgpG aXhlczogb3V0IG9mIGFycmF5IGFjY2VzcwpGaXhlczogMzgzODU0MjAzL2NsdXN0ZXJmdXp6LXRl c3RjYXNlLW1pbmltaXplZC1mZm1wZWdfQVZfQ09ERUNfSURfQUFDX0xBVE1fZnV6emVyLTQ5OTY2 Nzc4NDc1NDc5MDQuZnV6egoKRm91bmQtYnk6IGNvbnRpbnVvdXMgZnV6emluZyBwcm9jZXNzIGh0 dHBzOi8vZ2l0aHViLmNvbS9nb29nbGUvb3NzLWZ1enovdHJlZS9tYXN0ZXIvcHJvamVjdHMvZmZt cGVnClNpZ25lZC1vZmYtYnk6IE1pY2hhZWwgTmllZGVybWF5ZXIgPG1pY2hhZWxAbmllZGVybWF5 ZXIuY2M+CihjaGVycnkgcGlja2VkIGZyb20gY29tbWl0IGQxYmUzNjlhZjZhNmYwMTk3NmJlOGM4 MGJlMTE3N2RjNTI0OTgzZTUpClNpZ25lZC1vZmYtYnk6IE1pY2hhZWwgTmllZGVybWF5ZXIgPG1p Y2hhZWxAbmllZGVybWF5ZXIuY2M+Ci0tLQogbGliYXZjb2RlYy9hYWMvYWFjZGVjLmMgfCAxICsK IDEgZmlsZSBjaGFuZ2VkLCAxIGluc2VydGlvbigrKQoKZGlmZiAtLWdpdCBhL2xpYmF2Y29kZWMv YWFjL2FhY2RlYy5jIGIvbGliYXZjb2RlYy9hYWMvYWFjZGVjLmMKaW5kZXggZTYyYmYwZjk1Mi4u MzllZGY3M2ZiNyAxMDA2NDQKLS0tIGEvbGliYXZjb2RlYy9hYWMvYWFjZGVjLmMKKysrIGIvbGli YXZjb2RlYy9hYWMvYWFjZGVjLmMKQEAgLTE3NDUsNiArMTc0NSw3IEBAIGludCBmZl9hYWNfZGVj b2RlX2ljcyhBQUNEZWNDb250ZXh0ICphYywgU2luZ2xlQ2hhbm5lbEVsZW1lbnQgKnNjZSwKIAog ICAgIHJldHVybiAwOwogZmFpbDoKKyAgICBtZW1zZXQoc2NlLT5zZm8sIDAsIHNpemVvZihzY2Ut PnNmbykpOwogICAgIHRucy0+cHJlc2VudCA9IDA7CiAgICAgcmV0dXJuIHJldDsKIH0KLS0gCjIu NDkuMQoKCkZyb20gYmY4YzBiZTk3MTM1MTE1OGUzM2MwMmY5ZTIwOTMxMTE0ZDQ5ODExOSBNb24g U2VwIDE3IDAwOjAwOjAwIDIwMDEKRnJvbTogTWljaGFlbCBOaWVkZXJtYXllciA8bWljaGFlbEBu aWVkZXJtYXllci5jYz4KRGF0ZTogU2F0LCA4IEZlYiAyMDI1IDAwOjE4OjI0ICswMTAwClN1Ympl Y3Q6IFtQQVRDSCAyMjgvNDM0XSBhdmNvZGVjL2FhYy9hYWNkZWNfdXNhYzogU2ltcGxpZnkKIGRl Y29kZV91c2FjX3NjYWxlX2ZhY3RvcnMoKQoKU2lnbmVkLW9mZi1ieTogTWljaGFlbCBOaWVkZXJt YXllciA8bWljaGFlbEBuaWVkZXJtYXllci5jYz4KKGNoZXJyeSBwaWNrZWQgZnJvbSBjb21taXQg NDFjZDcyZDc2ZTE0MTM3YTY4YzUwZjVhNGU3ZGNhYjFjMzY3ZTM5YykKU2lnbmVkLW9mZi1ieTog TWljaGFlbCBOaWVkZXJtYXllciA8bWljaGFlbEBuaWVkZXJtYXllci5jYz4KLS0tCiBsaWJhdmNv ZGVjL2FhYy9hYWNkZWNfdXNhYy5jIHwgMTEgKystLS0tLS0tLS0KIDEgZmlsZSBjaGFuZ2VkLCAy IGluc2VydGlvbnMoKyksIDkgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvbGliYXZjb2RlYy9h YWMvYWFjZGVjX3VzYWMuYyBiL2xpYmF2Y29kZWMvYWFjL2FhY2RlY191c2FjLmMKaW5kZXggMjkz OGU2OTM4Ny4uY2NkZjU4YmM4ZSAxMDA2NDQKLS0tIGEvbGliYXZjb2RlYy9hYWMvYWFjZGVjX3Vz YWMuYworKysgYi9saWJhdmNvZGVjL2FhYy9hYWNkZWNfdXNhYy5jCkBAIC01NjcsMTUgKzU2Nyw4 IEBAIHN0YXRpYyBpbnQgZGVjb2RlX3VzYWNfc2NhbGVfZmFjdG9ycyhBQUNEZWNDb250ZXh0ICph YywKICAgICBpbnQgb2Zmc2V0X3NmID0gZ2xvYmFsX2dhaW47CiAgICAgZm9yIChpbnQgZyA9IDA7 IGcgPCBpY3MtPm51bV93aW5kb3dfZ3JvdXBzOyBnKyspIHsKICAgICAgICAgZm9yIChpbnQgc2Zi ID0gMDsgc2ZiIDwgaWNzLT5tYXhfc2ZiOyBzZmIrKykgewotICAgICAgICAgICAgLyogRmlyc3Qg Y29lZmZpY2llbnQgaXMganVzdCB0aGUgZ2xvYmFsIGdhaW4gKi8KLSAgICAgICAgICAgIGlmICgh ZyAmJiAhc2ZiKSB7Ci0gICAgICAgICAgICAgICAgLyogVGhlIGNhbm5vbmljYWwgcmVwcmVzZW50 YXRpb24gb2YgcXVhbnRpemVkIHNjYWxlZmFjdG9ycwotICAgICAgICAgICAgICAgICAqIGluIHRo ZSBzcGVjIGlzIHdpdGggMTAwIHN1YnRyYWN0ZWQuICovCi0gICAgICAgICAgICAgICAgc2NlLT5z Zm9bMF0gPSBvZmZzZXRfc2YgLSAxMDA7Ci0gICAgICAgICAgICAgICAgY29udGludWU7Ci0gICAg ICAgICAgICB9Ci0KLSAgICAgICAgICAgIG9mZnNldF9zZiArPSBnZXRfdmxjMihnYiwgZmZfdmxj X3NjYWxlZmFjdG9ycywgNywgMykgLSBTQ0FMRV9ESUZGX1pFUk87CisgICAgICAgICAgICBpZiAo ZyB8fCBzZmIpCisgICAgICAgICAgICAgICAgb2Zmc2V0X3NmICs9IGdldF92bGMyKGdiLCBmZl92 bGNfc2NhbGVmYWN0b3JzLCA3LCAzKSAtIFNDQUxFX0RJRkZfWkVSTzsKICAgICAgICAgICAgIGlm IChvZmZzZXRfc2YgPiAyNTVVKSB7CiAgICAgICAgICAgICAgICAgYXZfbG9nKGFjLT5hdmN0eCwg QVZfTE9HX0VSUk9SLAogICAgICAgICAgICAgICAgICAgICAgICAiU2NhbGVmYWN0b3IgKCVkKSBv dXQgb2YgcmFuZ2UuXG4iLCBvZmZzZXRfc2YpOwotLSAKMi40OS4xCgoKRnJvbSA2NjQ2ZGQyODI1 ZWYwODg3NDYzNTZkN2RiOTdlOGQ1YjJiNTA2ZTc1IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQpG cm9tOiBNaWNoYWVsIE5pZWRlcm1heWVyIDxtaWNoYWVsQG5pZWRlcm1heWVyLmNjPgpEYXRlOiBT YXQsIDggRmViIDIwMjUgMjI6MTY6MzggKzAxMDAKU3ViamVjdDogW1BBVENIIDIyOS80MzRdIGF2 Y29kZWMvYWFjL2FhY2RlY19scGQ6IExpbWl0IGdldF91bmFyeSgpCgpUaGUgbGltaXQgaXMgYmFz ZWQgb24gbGF0ZXIgY29kZSBzdG9yaW5nIDMyYml0cwoKRml4ZXM6IHNpZ25lZCBpbnRlZ2VyIG92 ZXJmbG93OiAyMTQ3NDgzNjQ3ICsgMSBjYW5ub3QgYmUgcmVwcmVzZW50ZWQgaW4gdHlwZSAnaW50 JwpGaXhlczogMzkzMTY0ODY2L2NsdXN0ZXJmdXp6LXRlc3RjYXNlLW1pbmltaXplZC1mZm1wZWdf QVZfQ09ERUNfSURfQUFDX0xBVE1fZnV6emVyLTQ2MDY3OTgzNTQ1MTM5MjAKCkZvdW5kLWJ5OiBj b250aW51b3VzIGZ1enppbmcgcHJvY2VzcyBodHRwczovL2dpdGh1Yi5jb20vZ29vZ2xlL29zcy1m dXp6L3RyZWUvbWFzdGVyL3Byb2plY3RzL2ZmbXBlZwpTaWduZWQtb2ZmLWJ5OiBNaWNoYWVsIE5p ZWRlcm1heWVyIDxtaWNoYWVsQG5pZWRlcm1heWVyLmNjPgooY2hlcnJ5IHBpY2tlZCBmcm9tIGNv bW1pdCA0NjRmYjg2MWIxN2I0Y2Q5ZmM3YmE4YTE4ZDBiZTA0MDQ1OGJkZmM3KQpTaWduZWQtb2Zm LWJ5OiBNaWNoYWVsIE5pZWRlcm1heWVyIDxtaWNoYWVsQG5pZWRlcm1heWVyLmNjPgotLS0KIGxp YmF2Y29kZWMvYWFjL2FhY2RlY19scGQuYyB8IDkgKysrKysrLS0tCiAxIGZpbGUgY2hhbmdlZCwg NiBpbnNlcnRpb25zKCspLCAzIGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL2xpYmF2Y29kZWMv YWFjL2FhY2RlY19scGQuYyBiL2xpYmF2Y29kZWMvYWFjL2FhY2RlY19scGQuYwppbmRleCAyMGJi YjAwN2ZmLi5hNGI5MWE1MTBmIDEwMDY0NAotLS0gYS9saWJhdmNvZGVjL2FhYy9hYWNkZWNfbHBk LmMKKysrIGIvbGliYXZjb2RlYy9hYWMvYWFjZGVjX2xwZC5jCkBAIC02Miw3ICs2Miw3IEBAIHN0 YXRpYyB2b2lkIHBhcnNlX3FuKEdldEJpdENvbnRleHQgKmdiLCBpbnQgKnFuLCBpbnQgbmtfbW9k ZSwgaW50IG5vX3FuKQogewogICAgIGlmIChua19tb2RlID09IDEpIHsKICAgICAgICAgZm9yIChp bnQgayA9IDA7IGsgPCBub19xbjsgaysrKSB7Ci0gICAgICAgICAgICBxbltrXSA9IGdldF91bmFy eShnYiwgMCwgSU5UMzJfTUFYKTsgLy8gVE9ETzogZmluZCBwcm9wZXIgcmFuZ2VzCisgICAgICAg ICAgICBxbltrXSA9IGdldF91bmFyeShnYiwgMCwgNjgpOyAvLyBUT0RPOiBmaW5kIHByb3BlciBy YW5nZXMKICAgICAgICAgICAgIGlmIChxbltrXSkKICAgICAgICAgICAgICAgICBxbltrXSsrOwog ICAgICAgICB9CkBAIC03NSw3ICs3NSw3IEBAIHN0YXRpYyB2b2lkIHBhcnNlX3FuKEdldEJpdENv bnRleHQgKmdiLCBpbnQgKnFuLCBpbnQgbmtfbW9kZSwgaW50IG5vX3FuKQogICAgIGlmIChua19t b2RlID09IDIpIHsKICAgICAgICAgZm9yIChpbnQgayA9IDA7IGsgPCBub19xbjsgaysrKSB7CiAg ICAgICAgICAgICBpZiAocW5ba10gPiA0KSB7Ci0gICAgICAgICAgICAgICAgcW5ba10gPSBnZXRf dW5hcnkoZ2IsIDAsIElOVDMyX01BWCk7OworICAgICAgICAgICAgICAgIHFuW2tdID0gZ2V0X3Vu YXJ5KGdiLCAwLCA2NSk7CiAgICAgICAgICAgICAgICAgaWYgKHFuW2tdKQogICAgICAgICAgICAg ICAgICAgICBxbltrXSArPSA0OwogICAgICAgICAgICAgfQpAQCAtODUsNyArODUsNyBAQCBzdGF0 aWMgdm9pZCBwYXJzZV9xbihHZXRCaXRDb250ZXh0ICpnYiwgaW50ICpxbiwgaW50IG5rX21vZGUs IGludCBub19xbikKIAogICAgIGZvciAoaW50IGsgPSAwOyBrIDwgbm9fcW47IGsrKykgewogICAg ICAgICBpZiAocW5ba10gPiA0KSB7Ci0gICAgICAgICAgICBpbnQgcW5fZXh0ID0gZ2V0X3VuYXJ5 KGdiLCAwLCBJTlQzMl9NQVgpOzsKKyAgICAgICAgICAgIGludCBxbl9leHQgPSBnZXRfdW5hcnko Z2IsIDAsIDY1KTsKICAgICAgICAgICAgIHN3aXRjaCAocW5fZXh0KSB7CiAgICAgICAgICAgICBj YXNlIDA6IHFuW2tdID0gNTsgYnJlYWs7CiAgICAgICAgICAgICBjYXNlIDE6IHFuW2tdID0gNjsg YnJlYWs7CkBAIC0xMTQsNiArMTE0LDkgQEAgc3RhdGljIGludCBwYXJzZV9jb2RlYm9va19pZHgo R2V0Qml0Q29udGV4dCAqZ2IsIHVpbnQzMl90ICprdiwKICAgICAgICAgfQogICAgIH0KIAorICAg IGlmIChuayA+IDI1KQorICAgICAgICByZXR1cm4gQVZFUlJPUl9QQVRDSFdFTENPTUU7CisKICAg ICBza2lwX2JpdHMoZ2IsIDQqbik7CiAKICAgICBpZiAobmsgPiAwKQotLSAKMi40OS4xCgoKRnJv bSBkMzkyOTMxMzkxN2ZkZGM4Njg5ZjhmYWVjZGEwOTY2ZDBhNDQ5OGEzIE1vbiBTZXAgMTcgMDA6 MDA6MDAgMjAwMQpGcm9tOiBNaWNoYWVsIE5pZWRlcm1heWVyIDxtaWNoYWVsQG5pZWRlcm1heWVy LmNjPgpEYXRlOiBTdW4sIDkgRmViIDIwMjUgMDE6Mjg6MTcgKzAxMDAKU3ViamVjdDogW1BBVENI IDIzMC80MzRdIGF2Zm9ybWF0L2lmZjogQ2hlY2sgdGhhdCB3ZSBoYXZlIGEgc3RyZWFtIGluCiBy ZWFkX2RzdF9mcmFtZSgpCgpGaXhlczogbnVsbCBwb2ludGVyIGRlcmVmZXJlbmNlCkZpeGVzOiAz ODU2NDQ4NjQvY2x1c3RlcmZ1enotdGVzdGNhc2UtbWluaW1pemVkLWZmbXBlZ19kZW1fSUZGX2Z1 enplci00NTUxMDQ5NTY1NzY1NjMyCgpGb3VuZC1ieTogY29udGludW91cyBmdXp6aW5nIHByb2Nl c3MgaHR0cHM6Ly9naXRodWIuY29tL2dvb2dsZS9vc3MtZnV6ei90cmVlL21hc3Rlci9wcm9qZWN0 cy9mZm1wZWcKUmV2aWV3ZWQtYnk6IFBldGVyIFJvc3MgPHByb3NzQHh2aWQub3JnPgpTaWduZWQt b2ZmLWJ5OiBNaWNoYWVsIE5pZWRlcm1heWVyIDxtaWNoYWVsQG5pZWRlcm1heWVyLmNjPgooY2hl cnJ5IHBpY2tlZCBmcm9tIGNvbW1pdCA4NjY4OTU3ZWY2MDRiZDJiOTkxNzUzMTA2MzhiYzUwMzFh ZTBkOTkxKQpTaWduZWQtb2ZmLWJ5OiBNaWNoYWVsIE5pZWRlcm1heWVyIDxtaWNoYWVsQG5pZWRl cm1heWVyLmNjPgotLS0KIGxpYmF2Zm9ybWF0L2lmZi5jIHwgMyArKysKIDEgZmlsZSBjaGFuZ2Vk LCAzIGluc2VydGlvbnMoKykKCmRpZmYgLS1naXQgYS9saWJhdmZvcm1hdC9pZmYuYyBiL2xpYmF2 Zm9ybWF0L2lmZi5jCmluZGV4IDc2MDFiYWE2MjkuLjZiNDUwM2ZkYjMgMTAwNjQ0Ci0tLSBhL2xp YmF2Zm9ybWF0L2lmZi5jCisrKyBiL2xpYmF2Zm9ybWF0L2lmZi5jCkBAIC0zNjAsNiArMzYwLDkg QEAgc3RhdGljIGludCByZWFkX2RzdF9mcmFtZShBVkZvcm1hdENvbnRleHQgKnMsIEFWUGFja2V0 ICpwa3QpCiAgICAgdWludDY0X3QgY2h1bmtfcG9zLCBkYXRhX3BvcywgZGF0YV9zaXplOwogICAg IGludCByZXQgPSBBVkVSUk9SX0VPRjsKIAorICAgIGlmIChzLT5uYl9zdHJlYW1zIDwgMSkKKyAg ICAgICAgcmV0dXJuIEFWRVJST1JfSU5WQUxJRERBVEE7CisKICAgICB3aGlsZSAoIWF2aW9fZmVv ZihwYikpIHsKICAgICAgICAgY2h1bmtfcG9zID0gYXZpb190ZWxsKHBiKTsKICAgICAgICAgaWYg KGNodW5rX3BvcyA+PSBpZmYtPmJvZHlfZW5kKQotLSAKMi40OS4xCgoKRnJvbSAzZTE2MjAyYzM5 YjZiOTIzMzdkNWQ0MTdmNTM2ZGU0NmFiYTAzZjcxIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQpG cm9tOiBNaWNoYWVsIE5pZWRlcm1heWVyIDxtaWNoYWVsQG5pZWRlcm1heWVyLmNjPgpEYXRlOiBX ZWQsIDI2IEZlYiAyMDI1IDAzOjE5OjE3ICswMTAwClN1YmplY3Q6IFtQQVRDSCAyMzEvNDM0XSBD aGFuZ2Vsb2c6IHVwZGF0ZQoKU2lnbmVkLW9mZi1ieTogTWljaGFlbCBOaWVkZXJtYXllciA8bWlj aGFlbEBuaWVkZXJtYXllci5jYz4KLS0tCiBDaGFuZ2Vsb2cgfCAyOSArKysrKysrKysrKysrKysr KysrKysrKysrKysrKwogMSBmaWxlIGNoYW5nZWQsIDI5IGluc2VydGlvbnMoKykKCmRpZmYgLS1n aXQgYS9DaGFuZ2Vsb2cgYi9DaGFuZ2Vsb2cKaW5kZXggNTZmNzk5M2U3Mi4uNDI0N2VjZTQwOSAx MDA2NDQKLS0tIGEvQ2hhbmdlbG9nCisrKyBiL0NoYW5nZWxvZwpAQCAtMiw2ICsyLDM1IEBAIEVu dHJpZXMgYXJlIHNvcnRlZCBjaHJvbm9sb2dpY2FsbHkgZnJvbSBvbGRlc3QgdG8geW91bmdlc3Qg d2l0aGluIGVhY2ggcmVsZWFzZSwKIHJlbGVhc2VzIGFyZSBzb3J0ZWQgZnJvbSB5b3VuZ2VzdCB0 byBvbGRlc3QuCiAKIHZlcnNpb24gNy4xLjE6CisgYXZmb3JtYXQvaWZmOiBDaGVjayB0aGF0IHdl IGhhdmUgYSBzdHJlYW0gaW4gcmVhZF9kc3RfZnJhbWUoKQorIGF2Y29kZWMvYWFjL2FhY2RlY19s cGQ6IExpbWl0IGdldF91bmFyeSgpCisgYXZjb2RlYy9hYWMvYWFjZGVjX3VzYWM6IFNpbXBsaWZ5 IGRlY29kZV91c2FjX3NjYWxlX2ZhY3RvcnMoKQorIGF2Y29kZWMvYWFjL2FhY2RlYzogQ2xlYXIg U0ZPIG9uIGVycm9yCisgYXZmb3JtYXQvbWx2ZGVjOiBmaXggc2l6ZSBjaGVja3MKKyBhdmZvcm1h dC93YXZkZWM6IEZpeCBvdmVyZmxvdyBvZiBpbnRlcm1lZGlhdGUgaW4gYmxvY2tfYWxpZ24gY2hl Y2sKKyBhdmZvcm1hdC9teGZkZWM6IENoZWNrIGVkaXQgdW5pdCBmb3Igb3ZlcmZsb3cgaW4gbXhm X3NldF9jdXJyZW50X2VkaXRfdW5pdCgpCisgYXZmb3JtYXQvaGxzOiBGaXggdHdpdHRlcgorIGF2 Y29kZWMvdnZjL3JlZnM6IGZpeCBuZWdhdGl2ZSBwcHNfc2NhbGluZ193aW4gb2Zmc2V0cworIGxp YmF2Zm9ybWF0L2hsczogQmUgbW9yZSByZXN0cmljdGl2ZSBvbiBtcGVndHMgZXh0ZW5zaW9ucwor IGF2Zm9ybWF0L2hsczogLnRzIGlzIGFsd2F5cyBvayBldmVuIGlmIGl0cyBhIG1vdi9tcDQKKyBh dmNvZGVjL2gyNjNkZWM6IENoZWNrIGFnYWluc3QgcHJldmlvdXMgZGltZW5zaW9ucyBpbnN0ZWFk IG9mIGNvZGVkCisgYXZmb3JtYXQvaGxzOiBQcmludCBpbnB1dCBmb3JtYXQgaW4gZXJyb3IgbWVz c2FnZQorIGF2Zm9ybWF0L2hsczogQmUgbW9yZSBwaWNreSBvbiBleHRlbnNpb25zCisgYXZmb3Jt YXQvaWFtZl9wYXJzZTogZW5zdXJlIHRoZXJlJ3MgYXQgbW9zdCBvbmUgb2YgZWFjaCBwYXJhbWV0 ZXIgdHlwZXMgaW4gYXVkaW8gZWxlbWVudHMKKyBhdmZvcm1hdC9pYW1mX3BhcnNlOiBhZGQgbWlz c2luZyBjb25zdHJhaW5zIGZvciBudW1fcGFyYW1ldGVycyBpbiBhdWRpb19lbGVtZW50X291Yigp CisgYXZmb3JtYXQvaWFtZl9wYXJzZTogYWRkIG1pc3NpbmcgYXZfZnJlZSgpIGNhbGwgb24gZmFp bHVyZSBwYXRoCisgbGF2Yy9oZXZjZGVjOiB1bmJyZWFrIFdQUC9wcm9ncmVzczIgY29kZQorIGZh dGU6IEFkZCBhIGRlcGVuZGVuY3kgb24gZmZwcm9iZSBmb3IgZmF0ZS1mbGNsMTkwNQorIGNoZWNr YXNtOiBhYWNlbmNkc3A6IEFjdHVhbGx5IHRlc3Qgbm9uemVybyB2YWx1ZXMgaW4gcXVhbnRfYmFu ZHMKKyB4ODY6IGFhY2VuY2RzcDogRml4IG5lZ2F0aW5nIHNpZ25lZCB2YWx1ZXMgaW4gYWFjX3F1 YW50aXplX2JhbmRzCisgcnRtcHByb3RvOiBBdm9pZCByYXJlIGNyYXNoZXMgaW4gdGhlIGZhaWw6 IGNvZGVwYXRoIGluIHJ0bXBfb3BlbgorIGNvbmZpZ3VyZTogSW1wcm92ZSB0aGUgY2hlY2sgZm9y IHRoZSByc3luYyAtLWNvbnRpbWVvdXQgb3B0aW9uCisgYXZ1dGlsL2Rvd25taXhfaW5mbzogYWRk IG1pc3Npbmcgc2VtaWNvbG9uCisgZG9jL3QyaDogU3VwcG9ydCB0ZXhpbmZvIDcuMSBhbmQgNy4y IHByZXRlc3QKKyBhdmZpbHRlci9kcmF3dGV4dDogZml4IG1lbW9yeSBsZWFrIHdoZW4gdXNpbmcg InJlaW5pdCIgcnVudGltZSBjb21tYW5kCisgYXZ1dGlsL2Rvd25taXhfaW5mbzogemVybyB0aGUg YWxsb2NhdGVkIGJ1ZmZlcgorIGF2Zm9ybWF0L21vdjogZml4IG92ZXJmbG93IGluIGRyaWZ0IHRp bWVzdGFtcCBjYWxjdWxhdGlvbgorIENoYW5nZWxvZzogdXBkYXRlCiAgYXZmb3JtYXQvbXhmZGVj OiBDaGVjayBhdmlvX3JlYWQoKSBzdWNjZXNzIGluIG14Zl9kZWNyeXB0X3RyaXBsZXQoKQogIGF2 Y29kZWMvaHVmZnl1dmRlYzogSW5pdGlhbGl6ZSB3aG9sZSBvdXRwdXQgZm9yIGRlY29kZV9ncmF5 X2JpdHN0cmVhbSgpCiAgYXZmb3JtYXQvaWFtZl9yZWFkZXI6IEluaXRpYWxpemUgcGFkZGluZyBh bmQgY2hlY2sgcmVhZCBpbiBmZl9pYW1mX3JlYWRfcGFja2V0KCkKLS0gCjIuNDkuMQoKCkZyb20g NzE4ODlhODQzN2QwNDEyNGU4Y2I2OTE5ZWUwNzhmNDM2MDgyYWI0MSBNb24gU2VwIDE3IDAwOjAw OjAwIDIwMDEKRnJvbTogUGF2ZWwgS29zaGV2b3kgPHBrb3NoZXZveUBnbWFpbC5jb20+CkRhdGU6 IFN1biwgMjMgRmViIDIwMjUgMDk6NDM6NTYgLTA3MDAKU3ViamVjdDogW1BBVENIIDIzMi80MzRd IGF2Zm9ybWF0L21vdjogKHY0KSBmaXggZ2V0X2VpYTYwOF9wYWNrZXQKClRoZSBwcm9ibGVtIGlz IHJlcHJvZHVjaWJsZSB3aXRoICJUZXN0IGZvciBRdWlja3RpbWUgNjA4IENDIGZpbGUubW92Igpm cm9tIGh0dHBzOi8vc2FtcGxlcy5mZm1wZWcub3JnL01QRUcyL3N1YmNjLwoKZmZtcGVnIC1pICJU ZXN0IGZvciBRdWlja3RpbWUgNjA4IENDIGZpbGUubW92IiAtbWFwIDAgLWMgY29weSAteSByZW11 eGVkLm1vdgoKU2VlIGh0dHBzOi8vdHJhYy5mZm1wZWcub3JnL3RpY2tldC8xMTQ3MAotLS0KIGxp YmF2Zm9ybWF0L21vdi5jIHwgNzAgKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysr KysrLS0tLS0tLS0KIDEgZmlsZSBjaGFuZ2VkLCA1OSBpbnNlcnRpb25zKCspLCAxMSBkZWxldGlv bnMoLSkKCmRpZmYgLS1naXQgYS9saWJhdmZvcm1hdC9tb3YuYyBiL2xpYmF2Zm9ybWF0L21vdi5j CmluZGV4IDYzZThmZTMxZmYuLjQxY2EyODBjOGEgMTAwNjQ0Ci0tLSBhL2xpYmF2Zm9ybWF0L21v di5jCisrKyBiL2xpYmF2Zm9ybWF0L21vdi5jCkBAIC0xMDUyNiwyNSArMTA1MjYsNzMgQEAgc3Rh dGljIGludCBtb3ZfY2hhbmdlX2V4dHJhZGF0YShBVlN0cmVhbSAqc3QsIEFWUGFja2V0ICpwa3Qp CiAgICAgcmV0dXJuIDA7CiB9CiAKLXN0YXRpYyBpbnQgZ2V0X2VpYTYwOF9wYWNrZXQoQVZJT0Nv bnRleHQgKnBiLCBBVlBhY2tldCAqcGt0LCBpbnQgc2l6ZSkKK3N0YXRpYyBpbnQgZ2V0X2VpYTYw OF9wYWNrZXQoQVZJT0NvbnRleHQgKnBiLCBBVlBhY2tldCAqcGt0LCBpbnQgc3JjX3NpemUpCiB7 Ci0gICAgaW50IG5ld19zaXplLCByZXQ7CisgICAgLyogV2UgY2FuJ3QgbWFrZSBhc3N1bXB0aW9u cyBhYm91dCB0aGUgc3RydWN0dXJlIG9mIHRoZSBwYXlsb2FkLAorICAgICAgIGJlY2F1c2UgaXQg bWF5IGluY2x1ZGUgbXVsdGlwbGUgY2RhdCBhbmQgY2R0MiBzYW1wbGVzLiAqLworICAgIGNvbnN0 IHVpbnQzMl90IGNkYXQgPSBBVl9SQjMyKCJjZGF0Iik7CisgICAgY29uc3QgdWludDMyX3QgY2R0 MiA9IEFWX1JCMzIoImNkdDIiKTsKKyAgICBpbnQgcmV0LCBvdXRfc2l6ZSA9IDA7CiAKLSAgICBp ZiAoc2l6ZSA8PSA4KQorICAgIC8qIGEgdmFsaWQgcGF5bG9hZCBtdXN0IGhhdmUgc2l6ZSwgNGNj LCBhbmQgYXQgbGVhc3QgMSBieXRlIHBhaXI6ICovCisgICAgaWYgKHNyY19zaXplIDwgMTApCiAg ICAgICAgIHJldHVybiBBVkVSUk9SX0lOVkFMSUREQVRBOwotICAgIG5ld19zaXplID0gKChzaXpl IC0gOCkgLyAyKSAqIDM7Ci0gICAgcmV0ID0gYXZfbmV3X3BhY2tldChwa3QsIG5ld19zaXplKTsK KworICAgIC8qIGF2b2lkIGFuIGludCBvdmVyZmxvdzogKi8KKyAgICBpZiAoKHNyY19zaXplIC0g OCkgLyAyID49IElOVF9NQVggLyAzKQorICAgICAgICByZXR1cm4gQVZFUlJPUl9JTlZBTElEREFU QTsKKworICAgIHJldCA9IGF2X25ld19wYWNrZXQocGt0LCAoKHNyY19zaXplIC0gOCkgLyAyKSAq IDMpOwogICAgIGlmIChyZXQgPCAwKQogICAgICAgICByZXR1cm4gcmV0OwogCi0gICAgYXZpb19z a2lwKHBiLCA4KTsKLSAgICBmb3IgKGludCBqID0gMDsgaiA8IG5ld19zaXplOyBqICs9IDMpIHsK LSAgICAgICAgcGt0LT5kYXRhW2pdID0gMHhGQzsKLSAgICAgICAgcGt0LT5kYXRhW2orMV0gPSBh dmlvX3I4KHBiKTsKLSAgICAgICAgcGt0LT5kYXRhW2orMl0gPSBhdmlvX3I4KHBiKTsKKyAgICAv KiBwYXJzZSBhbmQgcmUtZm9ybWF0IHRoZSBjNjA4IHBheWxvYWQgaW4gb25lIHBhc3MuICovCisg ICAgd2hpbGUgKHNyY19zaXplID49IDEwKSB7CisgICAgICAgIGNvbnN0IHVpbnQzMl90IGF0b21f c2l6ZSA9IGF2aW9fcmIzMihwYik7CisgICAgICAgIGNvbnN0IHVpbnQzMl90IGF0b21fdHlwZSA9 IGF2aW9fcmIzMihwYik7CisgICAgICAgIGNvbnN0IHVpbnQzMl90IGRhdGFfc2l6ZSA9IGF0b21f c2l6ZSAtIDg7CisgICAgICAgIGNvbnN0IHVpbnQ4X3QgY2NfZmllbGQgPQorICAgICAgICAgICAg YXRvbV90eXBlID09IGNkYXQgPyAxIDoKKyAgICAgICAgICAgIGF0b21fdHlwZSA9PSBjZHQyID8g MiA6CisgICAgICAgICAgICAwOworCisgICAgICAgIC8qIGFjY291bnQgZm9yIGJ5dGVzIGNvbnN1 bWVkIGZvciBhdG9tIHNpemUgYW5kIHR5cGUuICovCisgICAgICAgIHNyY19zaXplIC09IDg7CisK KyAgICAgICAgLyogbWFrZSBzdXJlIHRoZSBkYXRhIHNpemUgc3RheXMgd2l0aGluIHRoZSBidWZm ZXIgYm91bmRhcmllcy4gKi8KKyAgICAgICAgaWYgKGRhdGFfc2l6ZSA8IDIgfHwgZGF0YV9zaXpl ID4gc3JjX3NpemUpIHsKKyAgICAgICAgICAgIHJldCA9IEFWRVJST1JfSU5WQUxJRERBVEE7Cisg ICAgICAgICAgICBicmVhazsKKyAgICAgICAgfQorCisgICAgICAgIC8qIG1ha2Ugc3VyZSB0aGUg ZGF0YSBzaXplIGlzIGNvbnNpc3RlbnQgd2l0aCBOIGJ5dGUgcGFpcnMuICovCisgICAgICAgIGlm IChkYXRhX3NpemUgJSAyICE9IDApIHsKKyAgICAgICAgICAgIHJldCA9IEFWRVJST1JfSU5WQUxJ RERBVEE7CisgICAgICAgICAgICBicmVhazsKKyAgICAgICAgfQorCisgICAgICAgIGlmICghY2Nf ZmllbGQpIHsKKyAgICAgICAgICAgIC8qIG5laXRoZXIgY2RhdCBvciBjZHQyIC4uLiBza2lwIGl0 ICovCisgICAgICAgICAgICBhdmlvX3NraXAocGIsIGRhdGFfc2l6ZSk7CisgICAgICAgICAgICBz cmNfc2l6ZSAtPSBkYXRhX3NpemU7CisgICAgICAgICAgICBjb250aW51ZTsKKyAgICAgICAgfQor CisgICAgICAgIGZvciAodWludDMyX3QgaSA9IDA7IGkgPCBkYXRhX3NpemU7IGkgKz0gMikgewor ICAgICAgICAgICAgcGt0LT5kYXRhW291dF9zaXplXSA9ICgweDFGIDw8IDMpIHwgKDEgPDwgMikg fCAoY2NfZmllbGQgLSAxKTsKKyAgICAgICAgICAgIHBrdC0+ZGF0YVtvdXRfc2l6ZSArIDFdID0g YXZpb19yOChwYik7CisgICAgICAgICAgICBwa3QtPmRhdGFbb3V0X3NpemUgKyAyXSA9IGF2aW9f cjgocGIpOworICAgICAgICAgICAgb3V0X3NpemUgKz0gMzsKKyAgICAgICAgICAgIHNyY19zaXpl IC09IDI7CisgICAgICAgIH0KICAgICB9CiAKLSAgICByZXR1cm4gMDsKKyAgICBpZiAoc3JjX3Np emUgPiAwKQorICAgICAgICAvKiBza2lwIGFueSByZW1haW5pbmcgdW5yZWFkIHBvcnRpb24gb2Yg dGhlIGlucHV0IHBheWxvYWQgKi8KKyAgICAgICAgYXZpb19za2lwKHBiLCBzcmNfc2l6ZSk7CisK KyAgICBhdl9zaHJpbmtfcGFja2V0KHBrdCwgb3V0X3NpemUpOworICAgIHJldHVybiByZXQ7CiB9 CiAKIHN0YXRpYyBpbnQgbW92X2ZpbmFsaXplX3BhY2tldChBVkZvcm1hdENvbnRleHQgKnMsIEFW U3RyZWFtICpzdCwgQVZJbmRleEVudHJ5ICpzYW1wbGUsCi0tIAoyLjQ5LjEKCgpGcm9tIGE4YTNm Yzg0YWZhMjFkZTJkNzA0MTAxMjQ0ZjVhZDVkODhiZTM0MjEgTW9uIFNlcCAxNyAwMDowMDowMCAy MDAxCkZyb206IHNvZnR3b3JreiA8c29mdHdvcmt6QGhvdG1haWwuY29tPgpEYXRlOiBUaHUsIDI3 IEZlYiAyMDI1IDE2OjM2OjU2ICswMDAwClN1YmplY3Q6IFtQQVRDSCAyMzMvNDM0XSBhdmZvcm1h dC9obHM6IFBhcnRpYWxseSByZXZlcnQgInJlZHVjZSBkZWZhdWx0IG1heAogcmVsb2FkIHRvIDMi Cgooc2V0dGluZyB0byAxMDAgYXMgYSByZWFzb25hYmxlIGNvbXByb21pc2UpCgpUaGUgY2hhbmdl IGhhcyBjYXVzZWQgcmVncmVzc2lvbnMgZm9yIG1hbnkgdXNlcnMgYW5kIGNvbnN1bWVycy4KUGxh eWxpc3QgcmVsb2FkcyBvbmx5IGhhcHBlbiB3aGVuIGEgcGxheWxpc3QgZG9lc24ndCBpbmRpY2F0 ZSB0aGF0IGl0CmhhcyBlbmRlZCAodmlhICNFWFQtWC1FTkRMSVNUKSwgd2hpY2ggbWVhbnMgdGhh dCB0aGUgYWRkaXRpb24gb2YgZnV0dXJlCnNlZ21lbnRzIGlzIHN0aWxsIGV4cGVjdGVkLgpJdCBp cyB3ZWxsIHBvc3NpYmxlIHRoYXQgYW4gSExTIHNlcnZlciBpcyB0ZW1wb3JhcmlseSB1bmFibGUg dG8gc2VydmUKZnVydGhlciBzZWdtZW50cyBidXQgcmVzdW1lcyBhZnRlciBzb21lIHRpbWUsIGVp dGhlciBpbmRpY2F0aW5nIGEKZGlzY29udGludWl0eSBvciBldmVuIGJ5IGZ1bGx5IGNhdGNoaW5n IHVwLgpXaXRoIGEgc2VnbWVudCBsZW5ndGggb2YgM3MsIGEgbWF4X3JlbG9hZCB2YWx1ZSBvZiAx MDAwIGNvcnJlc3BvbmRzIHRvCmEgZHVyYXRpb24gb2YgNTAgbWludXRlcyB3aGljaCBhcHBlYXJz IHRvIGJlIGEgcmVhc29uYWJsZSBkZWZhdWx0LgoKU2lnbmVkLW9mZi1ieTogTWljaGFlbCBOaWVk ZXJtYXllciA8bWljaGFlbEBuaWVkZXJtYXllci5jYz4KKGNoZXJyeSBwaWNrZWQgZnJvbSBjb21t aXQgYWNlOWYwM2E2YzBhNThiODRhMDI3MDFkZjFiNmU1ZDVhYzFkMWI4ZSkKU2lnbmVkLW9mZi1i eTogTWljaGFlbCBOaWVkZXJtYXllciA8bWljaGFlbEBuaWVkZXJtYXllci5jYz4KLS0tCiBsaWJh dmZvcm1hdC9obHMuYyB8IDIgKy0KIDEgZmlsZSBjaGFuZ2VkLCAxIGluc2VydGlvbigrKSwgMSBk ZWxldGlvbigtKQoKZGlmZiAtLWdpdCBhL2xpYmF2Zm9ybWF0L2hscy5jIGIvbGliYXZmb3JtYXQv aGxzLmMKaW5kZXggZmJjODhjOGY4OC4uYjk2YzVhYjlkMiAxMDA2NDQKLS0tIGEvbGliYXZmb3Jt YXQvaGxzLmMKKysrIGIvbGliYXZmb3JtYXQvaGxzLmMKQEAgLTI2MzMsNyArMjYzMyw3IEBAIHN0 YXRpYyBjb25zdCBBVk9wdGlvbiBobHNfb3B0aW9uc1tdID0gewogICAgIHsiZXh0ZW5zaW9uX3Bp Y2t5IiwgIkJlIHBpY2t5IHdpdGggYWxsIGV4dGVuc2lvbnMgbWF0Y2hpbmciLAogICAgICAgICBP RkZTRVQoZXh0ZW5zaW9uX3BpY2t5KSwgQVZfT1BUX1RZUEVfQk9PTCwgey5pNjQgPSAxfSwgMCwg MSwgRkxBR1N9LAogICAgIHsibWF4X3JlbG9hZCIsICJNYXhpbXVtIG51bWJlciBvZiB0aW1lcyBh IGluc3VmZmljaWVudCBsaXN0IGlzIGF0dGVtcHRlZCB0byBiZSByZWxvYWRlZCIsCi0gICAgICAg IE9GRlNFVChtYXhfcmVsb2FkKSwgQVZfT1BUX1RZUEVfSU5ULCB7Lmk2NCA9IDN9LCAwLCBJTlRf TUFYLCBGTEFHU30sCisgICAgICAgIE9GRlNFVChtYXhfcmVsb2FkKSwgQVZfT1BUX1RZUEVfSU5U LCB7Lmk2NCA9IDEwMH0sIDAsIElOVF9NQVgsIEZMQUdTfSwKICAgICB7Im0zdThfaG9sZF9jb3Vu dGVycyIsICJUaGUgbWF4aW11bSBudW1iZXIgb2YgdGltZXMgdG8gbG9hZCBtM3U4IHdoZW4gaXQg cmVmcmVzaGVzIHdpdGhvdXQgbmV3IHNlZ21lbnRzIiwKICAgICAgICAgT0ZGU0VUKG0zdThfaG9s ZF9jb3VudGVycyksIEFWX09QVF9UWVBFX0lOVCwgey5pNjQgPSAxMDAwfSwgMCwgSU5UX01BWCwg RkxBR1N9LAogICAgIHsiaHR0cF9wZXJzaXN0ZW50IiwgIlVzZSBwZXJzaXN0ZW50IEhUVFAgY29u bmVjdGlvbnMiLAotLSAKMi40OS4xCgoKRnJvbSA2OGFmMmNjM2ZlYjhjNzhhZWMyNzIyYzcyOGZk ODdmMDM1MTVmYTdjIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBNaWNoYWVsIE5pZWRl cm1heWVyIDxtaWNoYWVsQG5pZWRlcm1heWVyLmNjPgpEYXRlOiBTdW4sIDIgTWFyIDIwMjUgMTY6 Mjk6MzkgKzAxMDAKU3ViamVjdDogW1BBVENIIDIzNC80MzRdIFByZXBhcmUgZm9yIDcuMS4xCgpT aWduZWQtb2ZmLWJ5OiBNaWNoYWVsIE5pZWRlcm1heWVyIDxtaWNoYWVsQG5pZWRlcm1heWVyLmNj PgotLS0KIENoYW5nZWxvZyAgICB8IDIgKysKIFJFTEVBU0UgICAgICB8IDIgKy0KIGRvYy9Eb3h5 ZmlsZSB8IDIgKy0KIDMgZmlsZXMgY2hhbmdlZCwgNCBpbnNlcnRpb25zKCspLCAyIGRlbGV0aW9u cygtKQoKZGlmZiAtLWdpdCBhL0NoYW5nZWxvZyBiL0NoYW5nZWxvZwppbmRleCA0MjQ3ZWNlNDA5 Li40YjM1ZTQ0NmNkIDEwMDY0NAotLS0gYS9DaGFuZ2Vsb2cKKysrIGIvQ2hhbmdlbG9nCkBAIC0y LDYgKzIsOCBAQCBFbnRyaWVzIGFyZSBzb3J0ZWQgY2hyb25vbG9naWNhbGx5IGZyb20gb2xkZXN0 IHRvIHlvdW5nZXN0IHdpdGhpbiBlYWNoIHJlbGVhc2UsCiByZWxlYXNlcyBhcmUgc29ydGVkIGZy b20geW91bmdlc3QgdG8gb2xkZXN0LgogCiB2ZXJzaW9uIDcuMS4xOgorIGF2Zm9ybWF0L2hsczog UGFydGlhbGx5IHJldmVydCAicmVkdWNlIGRlZmF1bHQgbWF4IHJlbG9hZCB0byAzIgorIGF2Zm9y bWF0L21vdjogKHY0KSBmaXggZ2V0X2VpYTYwOF9wYWNrZXQKICBhdmZvcm1hdC9pZmY6IENoZWNr IHRoYXQgd2UgaGF2ZSBhIHN0cmVhbSBpbiByZWFkX2RzdF9mcmFtZSgpCiAgYXZjb2RlYy9hYWMv YWFjZGVjX2xwZDogTGltaXQgZ2V0X3VuYXJ5KCkKICBhdmNvZGVjL2FhYy9hYWNkZWNfdXNhYzog U2ltcGxpZnkgZGVjb2RlX3VzYWNfc2NhbGVfZmFjdG9ycygpCmRpZmYgLS1naXQgYS9SRUxFQVNF IGIvUkVMRUFTRQppbmRleCAwZjBmZWZhZTVhLi4yMWM4YzdiNDZiIDEwMDY0NAotLS0gYS9SRUxF QVNFCisrKyBiL1JFTEVBU0UKQEAgLTEgKzEgQEAKLTcuMQorNy4xLjEKZGlmZiAtLWdpdCBhL2Rv Yy9Eb3h5ZmlsZSBiL2RvYy9Eb3h5ZmlsZQppbmRleCBjNmRjMzA2MTk3Li4xNmYzYTc4NzM1IDEw MDY0NAotLS0gYS9kb2MvRG94eWZpbGUKKysrIGIvZG9jL0RveHlmaWxlCkBAIC0zOCw3ICszOCw3 IEBAIFBST0pFQ1RfTkFNRSAgICAgICAgICAgPSBGRm1wZWcKICMgY291bGQgYmUgaGFuZHkgZm9y IGFyY2hpdmluZyB0aGUgZ2VuZXJhdGVkIGRvY3VtZW50YXRpb24gb3IgaWYgc29tZSB2ZXJzaW9u CiAjIGNvbnRyb2wgc3lzdGVtIGlzIHVzZWQuCiAKLVBST0pFQ1RfTlVNQkVSICAgICAgICAgPSA3 LjEKK1BST0pFQ1RfTlVNQkVSICAgICAgICAgPSA3LjEuMQogCiAjIFVzaW5nIHRoZSBQUk9KRUNU X0JSSUVGIHRhZyBvbmUgY2FuIHByb3ZpZGUgYW4gb3B0aW9uYWwgb25lIGxpbmUgZGVzY3JpcHRp b24KICMgZm9yIGEgcHJvamVjdCB0aGF0IGFwcGVhcnMgYXQgdGhlIHRvcCBvZiBlYWNoIHBhZ2Ug YW5kIHNob3VsZCBnaXZlIHZpZXdlciBhCi0tIAoyLjQ5LjEKCgpGcm9tIGRiNjlkMDZlZWVhYjRm NDZkYTE1MDMwYTgwZDUzOWVmYjQ1MDNjYTggTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCkZyb206 IEx5bm5lIDxkZXZAbHlubmUuZWU+CkRhdGU6IFdlZCwgMSBKYW4gMjAyNSAxODowMzozMyArMDkw MApTdWJqZWN0OiBbUEFUQ0ggMjM1LzQzNF0gY29uZmlndXJlOiB1cGRhdGUgY29weXJpZ2h0IHll YXIKCk9uIDAxLzAxLzIwMjUgMTk6MDUsIFBldGVyIFJvc3Mgd3JvdGU6Cj4gRkZtcGVnIHR1cm5z IDI1IHRoaXMgeWVhci4KCihjaGVycnkgcGlja2VkIGZyb20gY29tbWl0IGQzYWE5OWE0ZjQzNmU4 OTc3MzI0NjMzOWQ5ZDM2MzU4N2ExZDIxZGYpClNpZ25lZC1vZmYtYnk6IE1pY2hhZWwgTmllZGVy bWF5ZXIgPG1pY2hhZWxAbmllZGVybWF5ZXIuY2M+Ci0tLQogY29uZmlndXJlIHwgMiArLQogMSBm aWxlIGNoYW5nZWQsIDEgaW5zZXJ0aW9uKCspLCAxIGRlbGV0aW9uKC0pCgpkaWZmIC0tZ2l0IGEv Y29uZmlndXJlIGIvY29uZmlndXJlCmluZGV4IDljMDEzNTA1ZjIuLmZmYTQwN2Q1M2QgMTAwNzU1 Ci0tLSBhL2NvbmZpZ3VyZQorKysgYi9jb25maWd1cmUKQEAgLTgxOTEsNyArODE5MSw3IEBAIGNh dCA+ICRUTVBIIDw8RU9GCiAjZGVmaW5lIEZGTVBFR19DT05GSUdfSAogI2RlZmluZSBGRk1QRUdf Q09ORklHVVJBVElPTiAiJChjX2VzY2FwZSAkRkZNUEVHX0NPTkZJR1VSQVRJT04pIgogI2RlZmlu ZSBGRk1QRUdfTElDRU5TRSAiJChjX2VzY2FwZSAkbGljZW5zZSkiCi0jZGVmaW5lIENPTkZJR19U SElTX1lFQVIgMjAyNAorI2RlZmluZSBDT05GSUdfVEhJU19ZRUFSIDIwMjUKICNkZWZpbmUgRkZN UEVHX0RBVEFESVIgIiQoZXZhbCBjX2VzY2FwZSAkZGF0YWRpcikiCiAjZGVmaW5lIEFWQ09OVl9E QVRBRElSICIkKGV2YWwgY19lc2NhcGUgJGRhdGFkaXIpIgogI2RlZmluZSBDQ19JREVOVCAiJChj X2VzY2FwZSAke2NjX2lkZW50Oi1Vbmtub3duIGNvbXBpbGVyfSkiCi0tIAoyLjQ5LjEKCgpGcm9t IGYwMjNkMmM2MWIzYzE3OGNiNmQyNzlmZjUxNDcyY2ExNmYyMzk2NzQgTW9uIFNlcCAxNyAwMDow MDowMCAyMDAxCkZyb206IEphbWVzIEFsbWVyIDxqYW1yaWFsQGdtYWlsLmNvbT4KRGF0ZTogVGh1 LCAyNyBGZWIgMjAyNSAyMzozODowOSAtMDMwMApTdWJqZWN0OiBbUEFUQ0ggMjM2LzQzNF0gZmZ0 b29scy9mZm1wZWdfZmlsdGVyOiBhbHNvIHJlbW92ZSBkaXNwbGF5IG1hdHJpeAogc2lkZSBkYXRh IGZyb20gYnVmZmVyZWQgZnJhbWVzCgpTb21lIGZyYW1lcyBtYXkgYmUgYnVmZmVyZWQgYmVmb3Jl IGEgY29tcGxleCBmaWx0ZXJncmFwaCBjYW4gYmUgY29uZmlndXJlZC4KVGhpcyBjaGFuZ2UgZW5z dXJlcyB0aGUgc2lkZSBkYXRhIHJlbW92YWwgaW4gdGhlIGNhc2VzIHdoZXJlIGF1dG9yb3RhdGlv biBpcwplbmFibGVkIGFsc28gYXBwbGllcyB0byB0aGVtLgoKRml4ZXMgdGlja2V0ICMxMTQ4NwoK U2lnbmVkLW9mZi1ieTogSmFtZXMgQWxtZXIgPGphbXJpYWxAZ21haWwuY29tPgooY2hlcnJ5IHBp Y2tlZCBmcm9tIGNvbW1pdCAwMWY2M2VmMGI0NGZhNzBkODdlZGFmNTJmMTlmY2RiMmFlNzQ0NmIz KQotLS0KIGZmdG9vbHMvZmZtcGVnX2ZpbHRlci5jIHwgNCArKysrCiAxIGZpbGUgY2hhbmdlZCwg NCBpbnNlcnRpb25zKCspCgpkaWZmIC0tZ2l0IGEvZmZ0b29scy9mZm1wZWdfZmlsdGVyLmMgYi9m ZnRvb2xzL2ZmbXBlZ19maWx0ZXIuYwppbmRleCAzOGM3Njc2YTdlLi4zZWY2ODE4YzcyIDEwMDY0 NAotLS0gYS9mZnRvb2xzL2ZmbXBlZ19maWx0ZXIuYworKysgYi9mZnRvb2xzL2ZmbXBlZ19maWx0 ZXIuYwpAQCAtMTk5OCw2ICsxOTk4LDEwIEBAIHN0YXRpYyBpbnQgY29uZmlndXJlX2ZpbHRlcmdy YXBoKEZpbHRlckdyYXBoICpmZywgRmlsdGVyR3JhcGhUaHJlYWQgKmZndCkKICAgICAgICAgICAg IGlmIChpZnAtPnR5cGVfc3JjID09IEFWTUVESUFfVFlQRV9TVUJUSVRMRSkgewogICAgICAgICAg ICAgICAgIHN1YjJ2aWRlb19mcmFtZSgmaWZwLT5pZmlsdGVyLCB0bXAsICFmZ3QtPmdyYXBoKTsK ICAgICAgICAgICAgIH0gZWxzZSB7CisgICAgICAgICAgICAgICAgaWYgKGlmcC0+dHlwZV9zcmMg PT0gQVZNRURJQV9UWVBFX1ZJREVPKSB7CisgICAgICAgICAgICAgICAgICAgIGlmIChpZnAtPmRp c3BsYXltYXRyaXhfYXBwbGllZCkKKyAgICAgICAgICAgICAgICAgICAgICAgIGF2X2ZyYW1lX3Jl bW92ZV9zaWRlX2RhdGEodG1wLCBBVl9GUkFNRV9EQVRBX0RJU1BMQVlNQVRSSVgpOworICAgICAg ICAgICAgICAgIH0KICAgICAgICAgICAgICAgICByZXQgPSBhdl9idWZmZXJzcmNfYWRkX2ZyYW1l KGlmcC0+ZmlsdGVyLCB0bXApOwogICAgICAgICAgICAgfQogICAgICAgICAgICAgYXZfZnJhbWVf ZnJlZSgmdG1wKTsKLS0gCjIuNDkuMQoKCkZyb20gNjhiNWRiMjQ2NDA3ZjBiMGUzOThjZTNiMTBl ZTU3ZjczOGYwYzUyNCBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKRnJvbTogR3lhbiBEb3NoaSA8 ZmZtcGVnQGd5YW5pLnBybz4KRGF0ZTogU2F0LCAyMiBGZWIgMjAyNSAxMDozODo1MyArMDUzMApT dWJqZWN0OiBbUEFUQ0ggMjM3LzQzNF0gYXZjb2RlYy9saWJzdnRhdjE6IHVuYnJlYWsgYnVpbGQg d2l0aCBsYXRlc3Qgc3Z0YXYxCgpTVlQtQVYxIG1hZGUgYSBjaGFuZ2UgaW4gdGhlaXIgcHVibGlj IEFQSSBpbiA5ODhlOTMwYyBidXQgd2l0aG91dCBhCnZlcnNpb24gYnVtcCBvciBhbnkgb3RoZXIg YWNjZXNzaWJsZSBtYXJrZXIsIHRodXMgYnJlYWtpbmcgZmZtcGVnIGJ1aWxkCndpdGggY3VycmVu dCB2ZXJzaW9ucyBvZiBTVlQtQVYxLgoKVGhleSBoYXZlIGZpbmFsbHkgYnVtcGVkIHZlcnNpb25z IGEgbW9udGggbGF0ZXIsIHNvIGNoZWNrIGFkZGVkLgoKKGNoZXJyeSBwaWNrZWQgZnJvbSBjb21t aXQgZDFlZDVjMDZlM2VkYzVmMmI1ZjM2NjRjODAxMjFmYTU1YjBiYWE5NSkKLS0tCiBsaWJhdmNv ZGVjL2xpYnN2dGF2MS5jIHwgNCArKysrCiAxIGZpbGUgY2hhbmdlZCwgNCBpbnNlcnRpb25zKCsp CgpkaWZmIC0tZ2l0IGEvbGliYXZjb2RlYy9saWJzdnRhdjEuYyBiL2xpYmF2Y29kZWMvbGlic3Z0 YXYxLmMKaW5kZXggNzliMjhlYjRkZi4uNDNmZTUzMWZkZSAxMDA2NDQKLS0tIGEvbGliYXZjb2Rl Yy9saWJzdnRhdjEuYworKysgYi9saWJhdmNvZGVjL2xpYnN2dGF2MS5jCkBAIC00MzUsNyArNDM1 LDExIEBAIHN0YXRpYyBhdl9jb2xkIGludCBlYl9lbmNfaW5pdChBVkNvZGVjQ29udGV4dCAqYXZj dHgpCiAKICAgICBzdnRfZW5jLT5lb3NfZmxhZyA9IEVPU19OT1RfUkVBQ0hFRDsKIAorI2lmIFNW VF9BVjFfQ0hFQ0tfVkVSU0lPTigzLCAwLCAwKQorICAgIHN2dF9yZXQgPSBzdnRfYXYxX2VuY19p bml0X2hhbmRsZSgmc3Z0X2VuYy0+c3Z0X2hhbmRsZSwgJnN2dF9lbmMtPmVuY19wYXJhbXMpOwor I2Vsc2UKICAgICBzdnRfcmV0ID0gc3Z0X2F2MV9lbmNfaW5pdF9oYW5kbGUoJnN2dF9lbmMtPnN2 dF9oYW5kbGUsIHN2dF9lbmMsICZzdnRfZW5jLT5lbmNfcGFyYW1zKTsKKyNlbmRpZgogICAgIGlm IChzdnRfcmV0ICE9IEVCX0Vycm9yTm9uZSkgewogICAgICAgICByZXR1cm4gc3Z0X3ByaW50X2Vy cm9yKGF2Y3R4LCBzdnRfcmV0LCAiRXJyb3IgaW5pdGlhbGl6aW5nIGVuY29kZXIgaGFuZGxlIik7 CiAgICAgfQotLSAKMi40OS4xCgoKRnJvbSBlYTM0YmY3OTYyNTFkMTEwOGYzNGIwOTYyYTg1Mjlm ZTc4NTg2ZjhkIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBCcmFkIFNtaXRoIDxicmFk LWF0LWNvbXN0eWxlLmNvbUBmZm1wZWcub3JnPgpEYXRlOiBGcmksIDE4IEF1ZyAyMDIzIDE1OjMy OjM5IC0wNDAwClN1YmplY3Q6IFtQQVRDSCAyMzgvNDM0XSBsc3dzL3BwYy95dXYycmdiX2FsdGl2 ZWM6IEZpeCBidWlsZCBpbiBub24tVlNYCiBlbnZpcm9ubWVudHMgd2l0aCBDbGFuZwoKQWRkIGEg Y2hlY2sgZm9yIHRoZSBleGlzdGVuY2Ugb2YgdGhlIHZlY194bCgpIGZ1bmN0aW9uLiBDbGFuZyBw cm92aWRlcwp0aGUgZnVuY3Rpb24gZXZlbiB3aXRoIFZTWCBub3QgZW5hYmxlZC4KCihjaGVycnkg cGlja2VkIGZyb20gY29tbWl0IDMwYTg2NDE0NjVmN2I3OTIzZTkyZDg3MjRlZjZhNTk1ZmNjYjll NTgpClNpZ25lZC1vZmYtYnk6IEJyYWQgU21pdGggPGJyYWRAY29tc3R5bGUuY29tPgotLS0KIGNv bmZpZ3VyZSAgICAgICAgICAgICAgICAgICAgICAgIHwgOCArKysrKysrKwogbGlic3dzY2FsZS9w cGMveXV2MnJnYl9hbHRpdmVjLmMgfCA0ICsrLS0KIDIgZmlsZXMgY2hhbmdlZCwgMTAgaW5zZXJ0 aW9ucygrKSwgMiBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9jb25maWd1cmUgYi9jb25maWd1 cmUKaW5kZXggZmZhNDA3ZDUzZC4uZWVkZjA2NmMzOCAxMDA3NTUKLS0tIGEvY29uZmlndXJlCisr KyBiL2NvbmZpZ3VyZQpAQCAtMjIxMiw2ICsyMjEyLDcgQEAgQVJDSF9FWFRfTElTVF9QUEM9Igog ICAgIGxkYnJ4CiAgICAgcG93ZXI4CiAgICAgcHBjNHh4CisgICAgdmVjX3hsCiAgICAgdnN4CiAi CiAKQEAgLTI3NTksNiArMjc2MCw3IEBAIGFsdGl2ZWNfZGVwcz0icHBjIgogZGNiemxfZGVwcz0i cHBjIgogbGRicnhfZGVwcz0icHBjIgogcHBjNHh4X2RlcHM9InBwYyIKK3ZlY194bF9kZXBzPSJh bHRpdmVjIgogdnN4X2RlcHM9ImFsdGl2ZWMiCiBwb3dlcjhfZGVwcz0idnN4IgogCkBAIC02Mzg5 LDYgKzYzOTEsMTEgQEAgZWxpZiBlbmFibGVkIHBwYzsgdGhlbgogICAgICAgICBjaGVja19jcHBf Y29uZGl0aW9uIHBvd2VyOCAiYWx0aXZlYy5oIiAiZGVmaW5lZChfQVJDSF9QV1I4KSIKICAgICBm aQogCisgICAgaWYgZW5hYmxlZCBhbHRpdmVjICYmIGRpc2FibGVkIHZzeDsgdGhlbgorICAgICAg ICBjaGVja19jYyB2ZWNfeGwgYWx0aXZlYy5oICJjb25zdCB1bnNpZ25lZCBjaGFyICp5MWkgPSB7 IDAgfTsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmVjdG9yIHVuc2lnbmVk IGNoYXIgeTAgPSB2ZWNfeGwoMCwgeTFpKTsiCisgICAgZmkKKwogZWxpZiBlbmFibGVkIHJpc2N2 OyB0aGVuCiAKICAgICBlbmFibGVkIHJ2ICYmIGNoZWNrX2lubGluZV9hc20gcnYgJyIub3B0aW9u IGFyY2gsICt6YmJcbnJldjggdDAsIHQxIicKQEAgLTc5NDEsNiArNzk0OCw3IEBAIGlmIGVuYWJs ZWQgcHBjOyB0aGVuCiAgICAgZWNobyAiUE9XRVI4IGVuYWJsZWQgICAgICAgICAgICAke3Bvd2Vy OC1ub30iCiAgICAgZWNobyAiUFBDIDR4eCBvcHRpbWl6YXRpb25zICAgICAke3BwYzR4eC1ub30i CiAgICAgZWNobyAiZGNiemwgYXZhaWxhYmxlICAgICAgICAgICAke2RjYnpsLW5vfSIKKyAgICBl Y2hvICJ2ZWNfeGwgYXZhaWxhYmxlICAgICAgICAgICR7dmVjX3hsLW5vfSIKIGZpCiBpZiBlbmFi bGVkIGxvb25nYXJjaDsgdGhlbgogICAgIGVjaG8gIkxTWCBlbmFibGVkICAgICAgICAgICAgICAg JHtsc3gtbm99IgpkaWZmIC0tZ2l0IGEvbGlic3dzY2FsZS9wcGMveXV2MnJnYl9hbHRpdmVjLmMg Yi9saWJzd3NjYWxlL3BwYy95dXYycmdiX2FsdGl2ZWMuYwppbmRleCA1ZTEwMzNhOTczLi44YjBh OTM3OTZmIDEwMDY0NAotLS0gYS9saWJzd3NjYWxlL3BwYy95dXYycmdiX2FsdGl2ZWMuYworKysg Yi9saWJzd3NjYWxlL3BwYy95dXYycmdiX2FsdGl2ZWMuYwpAQCAtMjg0LDcgKzI4NCw3IEBAIHN0 YXRpYyBpbmxpbmUgdm9pZCBjdnR5dXZ0b1JHQihTd3NDb250ZXh0ICpjLCB2ZWN0b3Igc2lnbmVk IHNob3J0IFksCiAgKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KICAqLwogCi0jaWYgIUhBVkVfVlNY CisjaWYgIUhBVkVfVkVDX1hMCiBzdGF0aWMgaW5saW5lIHZlY3RvciB1bnNpZ25lZCBjaGFyIHZl Y194bChzaWduZWQgbG9uZyBsb25nIG9mZnNldCwgY29uc3QgdWJ5dGUgKmFkZHIpCiB7CiAgICAg Y29uc3QgdmVjdG9yIHVuc2lnbmVkIGNoYXIgKnZfYWRkciA9IChjb25zdCB2ZWN0b3IgdW5zaWdu ZWQgY2hhciAqKSAoYWRkciArIG9mZnNldCk7CkBAIC0yOTIsNyArMjkyLDcgQEAgc3RhdGljIGlu bGluZSB2ZWN0b3IgdW5zaWduZWQgY2hhciB2ZWNfeGwoc2lnbmVkIGxvbmcgbG9uZyBvZmZzZXQs IGNvbnN0IHVieXRlICoKIAogICAgIHJldHVybiAodmVjdG9yIHVuc2lnbmVkIGNoYXIpIHZlY19w ZXJtKHZfYWRkclswXSwgdl9hZGRyWzFdLCBhbGlnbl9wZXJtKTsKIH0KLSNlbmRpZiAvKiAhSEFW RV9WU1ggKi8KKyNlbmRpZiAvKiAhSEFWRV9WRUNfWEwgKi8KIAogI2RlZmluZSBERUZDU1A0MjBf Q1ZUKG5hbWUsIG91dF9waXhlbHMpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgXAogc3RhdGljIGludCBhbHRpdmVjXyAjIyBuYW1lKFN3c0NvbnRleHQgKmMsIGNvbnN0IHVu c2lnbmVkIGNoYXIgKippbiwgICAgICAgICAgXAotLSAKMi40OS4xCgoKRnJvbSBkY2EzYjQ3NjBm MmY3N2FhMmY3MWFkMmViYjYzYmIwMTQ0ZDdlZGZkIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQpG cm9tOiBCcmFkIFNtaXRoIDxicmFkQGNvbXN0eWxlLmNvbT4KRGF0ZTogVHVlLCAxMSBNYXIgMjAy NSAwMDozMTo0NyAtMDQwMApTdWJqZWN0OiBbUEFUQ0ggMjM5LzQzNF0gbHN3cy9wcGMveXV2MnJn Yl9hbHRpdmVjOiBGaXggYnVpbGQgaW4gbm9uLVZTWAogZW52aXJvbm1lbnRzIHdpdGggQ2xhbmcg djIKCnYyOiB0ZXN0IGZvciBmdW5jdGlvbiBpZiBBbHRpVmVjIGlzIGVuYWJsZWQgaW5zdGVhZCBv ZiB3aXRoIEFsdGlWZWMgYW5kIHdpdGhvdXQgVlNYCgooY2hlcnJ5IHBpY2tlZCBmcm9tIGNvbW1p dCA0OWM4ZjMzMjYyZDdjMTEzYzcxY2VlOWNkMzBiOTkwYTkyYWZhMGExKQpTaWduZWQtb2ZmLWJ5 OiBCcmFkIFNtaXRoIDxicmFkQGNvbXN0eWxlLmNvbT4KLS0tCiBjb25maWd1cmUgfCAyICstCiAx IGZpbGUgY2hhbmdlZCwgMSBpbnNlcnRpb24oKyksIDEgZGVsZXRpb24oLSkKCmRpZmYgLS1naXQg YS9jb25maWd1cmUgYi9jb25maWd1cmUKaW5kZXggZWVkZjA2NmMzOC4uZWQ1NmNmMDE1NSAxMDA3 NTUKLS0tIGEvY29uZmlndXJlCisrKyBiL2NvbmZpZ3VyZQpAQCAtNjM5MSw3ICs2MzkxLDcgQEAg ZWxpZiBlbmFibGVkIHBwYzsgdGhlbgogICAgICAgICBjaGVja19jcHBfY29uZGl0aW9uIHBvd2Vy OCAiYWx0aXZlYy5oIiAiZGVmaW5lZChfQVJDSF9QV1I4KSIKICAgICBmaQogCi0gICAgaWYgZW5h YmxlZCBhbHRpdmVjICYmIGRpc2FibGVkIHZzeDsgdGhlbgorICAgIGlmIGVuYWJsZWQgYWx0aXZl YzsgdGhlbgogICAgICAgICBjaGVja19jYyB2ZWNfeGwgYWx0aXZlYy5oICJjb25zdCB1bnNpZ25l ZCBjaGFyICp5MWkgPSB7IDAgfTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg dmVjdG9yIHVuc2lnbmVkIGNoYXIgeTAgPSB2ZWNfeGwoMCwgeTFpKTsiCiAgICAgZmkKLS0gCjIu NDkuMQoKCkZyb20gMjc2YmQzODhmMzNiNTA3MTc5OTY5MWFlZTZlMGNkOTljNzEzM2Q2MSBNb24g U2VwIDE3IDAwOjAwOjAwIDIwMDEKRnJvbTogUGV0ZXIgUm9zcyA8cHJvc3NAeHZpZC5vcmc+CkRh dGU6IFRodSwgMTkgRGVjIDIwMjQgMDk6NTA6NDIgKzExMDAKU3ViamVjdDogW1BBVENIIDI0MC80 MzRdIGF2Y29kZWMvTWFrZWZpbGU6IGluY2x1ZGUgYW9tX2ZpbG1fZ3JhaW4ubyBmaWxlIGZvcgog aDI2NF9zZWkgY29tcG9uZW50CgpoMjY0X3NlaSBkZXBlbmRzIG9uIGgyNjQ1X3NlaSwgd2hpY2gg aW4gdHVybiBkZXBlbmRzIG9uIGFvbV9maWxtX2dyYWluIGZvcgpmZl9hb21fdW5pbml0X2ZpbG1f Z3JhaW5fcGFyYW1zKCkKCihjaGVycnkgcGlja2VkIGZyb20gY29tbWl0IDdhZWFlOGQxYWU4NDYz MDJiYTFlOTk1NWNmNjRmZTgzZjAyYjdhNTcpCi0tLQogbGliYXZjb2RlYy9NYWtlZmlsZSB8IDIg Ky0KIDEgZmlsZSBjaGFuZ2VkLCAxIGluc2VydGlvbigrKSwgMSBkZWxldGlvbigtKQoKZGlmZiAt LWdpdCBhL2xpYmF2Y29kZWMvTWFrZWZpbGUgYi9saWJhdmNvZGVjL01ha2VmaWxlCmluZGV4IGE0 ZmNjZTNiNDIuLjE1M2E5ZTM4ODEgMTAwNjQ0Ci0tLSBhL2xpYmF2Y29kZWMvTWFrZWZpbGUKKysr IGIvbGliYXZjb2RlYy9NYWtlZmlsZQpAQCAtMTA4LDcgKzEwOCw3IEBAIE9CSlMtJChDT05GSUdf SDI2NFBBUlNFKSAgICAgICAgICAgICAgICs9IGgyNjRfcGFyc2UubyBoMjY0X3BzLm8gaDI2NGRh dGEubyBcCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBoMjY0NWRh dGEubyBoMjY0NV9wYXJzZS5vIGgyNjQ1X3Z1aS5vCiBPQkpTLSQoQ09ORklHX0gyNjRQUkVEKSAg ICAgICAgICAgICAgICArPSBoMjY0cHJlZC5vCiBPQkpTLSQoQ09ORklHX0gyNjRRUEVMKSAgICAg ICAgICAgICAgICArPSBoMjY0cXBlbC5vCi1PQkpTLSQoQ09ORklHX0gyNjRfU0VJKSAgICAgICAg ICAgICAgICArPSBoMjY0X3NlaS5vIGgyNjQ1X3NlaS5vCitPQkpTLSQoQ09ORklHX0gyNjRfU0VJ KSAgICAgICAgICAgICAgICArPSBoMjY0X3NlaS5vIGgyNjQ1X3NlaS5vIGFvbV9maWxtX2dyYWlu Lm8KIE9CSlMtJChDT05GSUdfSEVWQ1BBUlNFKSAgICAgICAgICAgICAgICs9IGgyNjQ1ZGF0YS5v IGgyNjQ1X3BhcnNlLm8gaDI2NDVfdnVpLm8KIE9CSlMtJChDT05GSUdfSEVWQ19TRUkpICAgICAg ICAgICAgICAgICs9IGgyNjQ1X3NlaS5vIGFvbV9maWxtX2dyYWluLm8gXAogICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZHluYW1pY19oZHJfdml2aWQubwotLSAKMi40 OS4xCgoKRnJvbSA0OGMwZjA3MWQ0YjVkZDNjMDZjOTk3OGEyZWRjMGZkY2JiYzM3MTdhIE1vbiBT ZXAgMTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBaaGFvIFpoaWxpIDx6aGlsaXpoYW9AdGVuY2VudC5j b20+CkRhdGU6IEZyaSwgMTEgT2N0IDIwMjQgMTU6NDk6NDQgKzA4MDAKU3ViamVjdDogW1BBVENI IDI0MS80MzRdIGF2Y29kZWMvbWVkaWFjb2RlY2RlY19jb21tb246IFdvcmthcm91bmQgTVRLIGJy b2tlbgogY3JvcCBpbXBsZW1lbnRhdGlvbgoKTWVkaWFUZWsgU09DIHJldHVybiBicm9rZW4gY3Jv cCBpbmZvLCBlLmcuLAp3aWR0aDogaW50MzIoMzg0MCkgaGVpZ2h0OiBpbnQzMigyMTYwKSBjcm9w OiBSZWN0KDAsIDAsIDMxOCwgMjM4KQoKSXQgd2lsbCBub3RpZnkgdGhlIHJpZ2h0IGNyb3AgaW5m byB3aXRoIGluZm9PdXRwdXRGb3JtYXRDaGFuZ2VkLCBidXQKdG9vIGxhdGUuCgpTaWduZWQtb2Zm LWJ5OiBaaGFvIFpoaWxpIDx6aGlsaXpoYW9AdGVuY2VudC5jb20+CihjaGVycnkgcGlja2VkIGZy b20gY29tbWl0IDdmZTlkMTJmMjU3MTI2NWIyYTdiNWM3NjNkNjJlZTgwZjlhOWUyZTIpCi0tLQog bGliYXZjb2RlYy9tZWRpYWNvZGVjZGVjX2NvbW1vbi5jIHwgMyArKy0KIDEgZmlsZSBjaGFuZ2Vk LCAyIGluc2VydGlvbnMoKyksIDEgZGVsZXRpb24oLSkKCmRpZmYgLS1naXQgYS9saWJhdmNvZGVj L21lZGlhY29kZWNkZWNfY29tbW9uLmMgYi9saWJhdmNvZGVjL21lZGlhY29kZWNkZWNfY29tbW9u LmMKaW5kZXggMzc3MGI0ZjNhZS4uOGEyNzBmMmYyOSAxMDA2NDQKLS0tIGEvbGliYXZjb2RlYy9t ZWRpYWNvZGVjZGVjX2NvbW1vbi5jCisrKyBiL2xpYmF2Y29kZWMvbWVkaWFjb2RlY2RlY19jb21t b24uYwpAQCAtNTk0LDcgKzU5NCw4IEBAIHN0YXRpYyBpbnQgbWVkaWFjb2RlY19kZWNfcGFyc2Vf dmlkZW9fZm9ybWF0KEFWQ29kZWNDb250ZXh0ICphdmN0eCwgTWVkaWFDb2RlY0RlCiAgICAgQU1F RElBRk9STUFUX0dFVF9JTlQzMihzLT5jcm9wX3JpZ2h0LCAgImNyb3AtcmlnaHQiLCAgMCk7CiAK ICAgICAvLyBUcnkgImNyb3AiIGZvciBOREsKLSAgICBpZiAoIShzLT5jcm9wX3JpZ2h0ICYmIHMt PmNyb3BfYm90dG9tKSAmJiBzLT51c2VfbmRrX2NvZGVjKQorICAgIC8vIE1lZGlhVGVrIFNPQyBy ZXR1cm4gc29tZSBkZWZhdWx0IHZhbHVlIGxpa2UgUmVjdCgwLCAwLCAzMTgsIDIzOCkKKyAgICBp ZiAoIShzLT5jcm9wX3JpZ2h0ICYmIHMtPmNyb3BfYm90dG9tKSAmJiBzLT51c2VfbmRrX2NvZGVj ICYmICFzdHJzdHIocy0+Y29kZWNfbmFtZSwgIi5tdGsuIikpCiAgICAgICAgIGZmX0FNZWRpYUZv cm1hdF9nZXRSZWN0KHMtPmZvcm1hdCwgImNyb3AiLCAmcy0+Y3JvcF9sZWZ0LCAmcy0+Y3JvcF90 b3AsICZzLT5jcm9wX3JpZ2h0LCAmcy0+Y3JvcF9ib3R0b20pOwogCiAgICAgaWYgKHMtPmNyb3Bf cmlnaHQgJiYgcy0+Y3JvcF9ib3R0b20pIHsKLS0gCjIuNDkuMQoKCkZyb20gNTc5ZTdiODVjOGNk NmMzOTYwZmYyMzIxNjk4N2M0MDM4ZjE0NmJhNyBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKRnJv bTogPT9VVEYtOD9xP01hcnRpbj0yMFN0b3Jzaj1DMz1CNj89IDxtYXJ0aW5AbWFydGluLnN0PgpE YXRlOiBXZWQsIDI1IFNlcCAyMDI0IDE1OjEzOjM0ICswMzAwClN1YmplY3Q6IFtQQVRDSCAyNDIv NDM0XSBjb25maWd1cmU6IFNpbGVuY2UgWGNvZGUgd2FybmluZ3MgYWJvdXQgZHVwbGljYXRlCiBs aWJyYXJpZXMKTUlNRS1WZXJzaW9uOiAxLjAKQ29udGVudC1UeXBlOiB0ZXh0L3BsYWluOyBjaGFy c2V0PVVURi04CkNvbnRlbnQtVHJhbnNmZXItRW5jb2Rpbmc6IDhiaXQKClNpbmNlIFhjb2RlIDE1 LCBtYWNPUyBkZXZlbG9wZXIgdG9vbHMgdXNlIGEgbmV3IGxpbmtlci4gVGhlIG5ldwpsaW5rZXIg YnkgZGVmYXVsdCB3YXJucyBmb3IgZHVwbGljYXRlIC1sIG9wdGlvbnMuIEFzIHRoaXMgaXMgYQpr bm93biBhbmQgZXhwZWN0ZWQgdGhpbmcsIG5vdCB0byBiZSBjb25zaWRlcmVkIGFuIGlzc3VlLCBh c2sgZm9yCnRoZSB3YXJuaW5nIHRvIGJlIHNpbGVuY2VkLgoKVGhpcyBzaWxlbmNlcyBsaW5rZXIg d2FybmluZ3MgbGlrZSB0aGlzOgoKICAgIGxkOiB3YXJuaW5nOiBpZ25vcmluZyBkdXBsaWNhdGUg bGlicmFyaWVzOiAnLWxjKysnLCAnLWxjcnlwdG8nLCAnLWxtJywgJy1sb2dnJywgJy1scHRocmVh ZCcsICctbHNzbCcsICctbHZvcmJpcycsICctbHZweCcsICctbHonCgpUaGUgbGlua2VyIGNhbiBh bHNvIHdhcm4gYWJvdXQgZHVwbGljYXRlIC1ycGF0aCBvcHRpb25zLCBhbmQgdGhlcmUncwpjdXJy ZW50bHkgbm8gb3B0aW9uIHRvIHNpbGVuY2UgdGhvc2Ugd2FybmluZ3MuCgpTaWduZWQtb2ZmLWJ5 OiBNYXJ0aW4gU3RvcnNqw7YgPG1hcnRpbkBtYXJ0aW4uc3Q+CihjaGVycnkgcGlja2VkIGZyb20g Y29tbWl0IGJkMjJkN2U2MDE5MzNlZjhhMDk3NWZjOTI1MmNlZTJkNDQ2MzJmNjEpCi0tLQogY29u ZmlndXJlIHwgMSArCiAxIGZpbGUgY2hhbmdlZCwgMSBpbnNlcnRpb24oKykKCmRpZmYgLS1naXQg YS9jb25maWd1cmUgYi9jb25maWd1cmUKaW5kZXggZWQ1NmNmMDE1NS4uMTYxMGQwMGU3YyAxMDA3 NTUKLS0tIGEvY29uZmlndXJlCisrKyBiL2NvbmZpZ3VyZQpAQCAtNjQ4Nyw2ICs2NDg3LDcgQEAg Y2hlY2tfY2MgaW50cmluc2ljc19zc2UyIGVtbWludHJpbi5oICJfX20xMjhpIHRlc3QgPSBfbW1f c2V0emVyb19zaTEyOCgpIgogCiBjaGVja19sZGZsYWdzIC1XbCwtLWFzLW5lZWRlZAogY2hlY2tf bGRmbGFncyAtV2wsLXosbm9leGVjc3RhY2sKK2NoZWNrX2xkZmxhZ3MgLVdsLC1ub193YXJuX2R1 cGxpY2F0ZV9saWJyYXJpZXMKIAogaWYgISBkaXNhYmxlZCBuZXR3b3JrOyB0aGVuCiAgICAgY2hl Y2tfZnVuYyBnZXRhZGRyaW5mbyAkbmV0d29ya19leHRyYWxpYnMKLS0gCjIuNDkuMQoKCkZyb20g YzkxZDg4N2EyNWQzM2JhM2IxODBiODAxODc0MDVhYTM4ZjE5ZjJlZCBNb24gU2VwIDE3IDAwOjAw OjAwIDIwMDEKRnJvbTogPT9VVEYtOD9xP01hcnRpbj0yMFN0b3Jzaj1DMz1CNj89IDxtYXJ0aW5A bWFydGluLnN0PgpEYXRlOiBNb24sIDE0IE9jdCAyMDI0IDIzOjQzOjExICswMzAwClN1YmplY3Q6 IFtQQVRDSCAyNDMvNDM0XSBjb25maWd1cmU6IE9ubHkgdHJ5IHRvIHVzZSB0aGUKIC1ub193YXJu X2R1cGxpY2F0ZV9saWJyYXJpZXMgZmxhZyBvbiBEYXJ3aW4KTUlNRS1WZXJzaW9uOiAxLjAKQ29u dGVudC1UeXBlOiB0ZXh0L3BsYWluOyBjaGFyc2V0PVVURi04CkNvbnRlbnQtVHJhbnNmZXItRW5j b2Rpbmc6IDhiaXQKCldoaWxlIHdlIG9ubHkgYWRkIHRoZSBmbGFnIGlmIHRoZSBsaW5rZXIgc2Vl bXMgdG8gc3VwcG9ydCBpdCwKaXQgdHVybnMgb3V0IHRoYXQgbGQuYmZkIGhhZCBhIGJ1ZyB3aGVy ZSB0aGUgZmxhZyBpcyBhY2NpZGVudGFsbHkKYWNjZXB0ZWQsIGFuZCB0aGUgZmxhZyBwcm9kdWNl cyBhbiBvdXRwdXQgZmlsZSBuYW1lZAoiX3dhcm5fZHVwbGljYXRlX2xpYnJhcmllcyIuCgpUaGUg bGQuYmZkIGJ1ZyB3YXMgZml4ZWQgaW4gYmludXRpbHMgMi4zNiwgaW4KaHR0cHM6Ly9zb3VyY2V3 YXJlLm9yZy9naXQvP3A9YmludXRpbHMtZ2RiLmdpdDthPWNvbW1pdGRpZmY7aD0zOTkxYzdhY2Iy OWFhOGQ3ZDUyMTUwNjk1ZWIzZWZhMDNhMDhkZDUwLgoKU2lnbmVkLW9mZi1ieTogTWFydGluIFN0 b3JzasO2IDxtYXJ0aW5AbWFydGluLnN0PgooY2hlcnJ5IHBpY2tlZCBmcm9tIGNvbW1pdCAzOGQw OGY1YzQ1MWEzMTJkOTA2NGI4MTQ3MmZhMDVmZjUzYjJlNzgwKQotLS0KIGNvbmZpZ3VyZSB8IDQg KysrLQogMSBmaWxlIGNoYW5nZWQsIDMgaW5zZXJ0aW9ucygrKSwgMSBkZWxldGlvbigtKQoKZGlm ZiAtLWdpdCBhL2NvbmZpZ3VyZSBiL2NvbmZpZ3VyZQppbmRleCAxNjEwZDAwZTdjLi4xNTZkNzJl MTE5IDEwMDc1NQotLS0gYS9jb25maWd1cmUKKysrIGIvY29uZmlndXJlCkBAIC02NDg3LDcgKzY0 ODcsOSBAQCBjaGVja19jYyBpbnRyaW5zaWNzX3NzZTIgZW1taW50cmluLmggIl9fbTEyOGkgdGVz dCA9IF9tbV9zZXR6ZXJvX3NpMTI4KCkiCiAKIGNoZWNrX2xkZmxhZ3MgLVdsLC0tYXMtbmVlZGVk CiBjaGVja19sZGZsYWdzIC1XbCwteixub2V4ZWNzdGFjawotY2hlY2tfbGRmbGFncyAtV2wsLW5v X3dhcm5fZHVwbGljYXRlX2xpYnJhcmllcworaWYgWyAkdGFyZ2V0X29zID0gImRhcndpbiIgXTsg dGhlbgorICAgIGNoZWNrX2xkZmxhZ3MgLVdsLC1ub193YXJuX2R1cGxpY2F0ZV9saWJyYXJpZXMK K2ZpCiAKIGlmICEgZGlzYWJsZWQgbmV0d29yazsgdGhlbgogICAgIGNoZWNrX2Z1bmMgZ2V0YWRk cmluZm8gJG5ldHdvcmtfZXh0cmFsaWJzCi0tIAoyLjQ5LjEKCgpGcm9tIDY1MmE3NjVlY2IzNjZk OTJkOWI4ZjkxN2RlZTIzMDRjNjg5YWE1ZDUgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCkZyb206 ID0/VVRGLTg/cT9NYXJ0aW49MjBTdG9yc2o9QzM9QjY/PSA8bWFydGluQG1hcnRpbi5zdD4KRGF0 ZTogVHVlLCAyOSBBcHIgMjAyNSAxMDo0Mjo0OCArMDMwMApTdWJqZWN0OiBbUEFUQ0ggMjQ0LzQz NF0gY29uZmlndXJlOiBFbmFibGUgLWZuby1jb21tb24gZm9yIERhcndpbiB0YXJnZXRzLAogYXZv aWQgbGlua2VyIHdhcm5pbmdzCk1JTUUtVmVyc2lvbjogMS4wCkNvbnRlbnQtVHlwZTogdGV4dC9w bGFpbjsgY2hhcnNldD1VVEYtOApDb250ZW50LVRyYW5zZmVyLUVuY29kaW5nOiA4Yml0CgpTaW5j ZSBHQ0MgMTAgYW5kIGxsdm0ub3JnIENsYW5nIDExLCAtZm5vLWNvbW1vbiBpcyB0aGUgZGVmYXVs dC4KSG93ZXZlciBBcHBsZSdzIFhjb2RlIENsYW5nIGhhc24ndCBmb2xsb3dlZCBzdWl0IHlldCwg YW5kIHN0aWxsCmRlZmF1bHRzIHRvIC1mY29tbW9uLgoKQ29tcGlsaW5nIHdpdGggLWZjb21tb24g Y2F1c2VzIHVuaW5pdGlhbGl6ZWQgZ2xvYmFsIHZhcmlhYmxlcyB0bwpiZSB0cmVhdGVkIGFzICJj b21tb24iICh3aGljaCBhbGxvd3MgbXVsdGlwbGUgb2JqZWN0IGZpbGVzIHRvIGhhdmUKc2ltaWxh ciBkZWZpbml0aW9ucykuCgpDb21tb24gdmFyaWFibGVzIHNlZW0gdG8gaGF2ZSB0aGUgaXNzdWUg dGhhdCB0aGVpciBpbnRlbmRlZCBhbGlnbm1lbnQKaXNuJ3Qgc2lnbmFsZWQsIHNvIHRoZSBsaW5r ZXIgYXNzdW1lcyB0aGF0IHRoZXkgbWF5IG5lZWQgYWxpZ25tZW50CmFjY29yZGluZyB0byB0aGVp ciBmdWxsIHNpemUuCgpXaXRoIGxhcmdlIGdsb2JhbCB0YWJsZXMsIHRoaXMgY2FuIGxlYWQgdG8g bGlua2VyIHdhcm5pbmdzIGxpa2UKdGhpcywgd2l0aCBYY29kZSAxNi4zOgoKICAgIGxkOiB3YXJu aW5nOiByZWR1Y2luZyBhbGlnbm1lbnQgb2Ygc2VjdGlvbiBfX0RBVEEsX19jb21tb24gZnJvbSAw eDgwMDAgdG8gMHg0MDAwIGJlY2F1c2UgaXQgZXhjZWVkcyBzZWdtZW50IG1heGltdW0gYWxpZ25t ZW50CgpUaGlzIGNhbiBiZSByZXByb2R1Y2VkIHdpdGggYSBzbWFsbCBzbmlwcGV0IGxpa2UgdGhp czoKCiAgICBjaGFyIHRhYmxlWzE2Mzg1XTsKICAgIGludCBtYWluKGludCBhcmdjLCBjaGFyKiBh cmd2W10pIHsgcmV0dXJuIDA7IH0KCkNvbXBpbGluZyB3aXRoIC1mbm8tY29tbW9uIGF2b2lkcyB0 aGlzIGlzc3VlIGFuZCB3YXJuaW5nLCBhbmQKbWF0Y2hlcyB0aGUgZGVmYXVsdCBiZWhhdmlvdXIg b2Ygb3RoZXIgY29tcGlsZXJzLiAoQ29tcGlsaW5nIHdpdGgKLWZuby1jb21tb24gYWxzbyBhdm9p ZHMgdGhlIHJpc2sgb2YgYWNjaWRlbnRhbGx5IGFjY2VwdGluZwpkdXBsaWNhdGUgZGVmaW5pdGlv bnMgb2YgZ2xvYmFsIHZhcmlhYmxlcywgYXMgbG9uZyBhcyB0aGV5IGFyZQp1bmluaXRpYWxpemVk LikKClNpZ25lZC1vZmYtYnk6IE1hcnRpbiBTdG9yc2rDtiA8bWFydGluQG1hcnRpbi5zdD4KKGNo ZXJyeSBwaWNrZWQgZnJvbSBjb21taXQgZjRlNzJlYjVhM2RiZDI1ZWQzYWI2YzlmODljNDJhZGNm YzBiNWUzZCkKLS0tCiBjb25maWd1cmUgfCA3ICsrKysrKysKIDEgZmlsZSBjaGFuZ2VkLCA3IGlu c2VydGlvbnMoKykKCmRpZmYgLS1naXQgYS9jb25maWd1cmUgYi9jb25maWd1cmUKaW5kZXggMTU2 ZDcyZTExOS4uMGFhN2I3MmFmMyAxMDA3NTUKLS0tIGEvY29uZmlndXJlCisrKyBiL2NvbmZpZ3Vy ZQpAQCAtNTgwNyw2ICs1ODA3LDEzIEBAIGNhc2UgJHRhcmdldF9vcyBpbgogICAgICAgICAgICAg Y2xhbmdfdmVyc2lvbj0kKCRjYyAtZHVtcHZlcnNpb24pCiAgICAgICAgICAgICB0ZXN0ICR7Y2xh bmdfdmVyc2lvbiUlLip9IC1lcSAxMSAmJiBhZGRfY2ZsYWdzIC1mbm8tc3RhY2stY2hlY2sKICAg ICAgICAgZmkKKworICAgICAgICAjIFhjb2RlIENsYW5nIGRvZXNuJ3QgZGVmYXVsdCB0byAtZm5v LWNvbW1vbiB3aGlsZSB1cHN0cmVhbSBsbHZtLm9yZworICAgICAgICAjIENsYW5nIChhbmQgR0ND KSBkby4gVGhpcyBhdm9pZHMgbGlua2VyIHdhcm5pbmdzIG9uIFhjb2RlIDE2LjMgYWJvdXQKKyAg ICAgICAgIyAicmVkdWNpbmcgYWxpZ25tZW50IG9mIHNlY3Rpb24gX19EQVRBLF9fY29tbW9uIGZy b20gMHg4MDAwIHRvIDB4NDAwMAorICAgICAgICAjIGJlY2F1c2UgaXQgZXhjZWVkcyBzZWdtZW50 IG1heGltdW0gYWxpZ25tZW50Ii4KKyAgICAgICAgY2hlY2tfY2ZsYWdzIC1mbm8tY29tbW9uCisK ICAgICAgICAgOzsKICAgICBtc3lzKikKICAgICAgICAgZGllICJOYXRpdmUgTVNZUyBidWlsZHMg YXJlIGRpc2NvdXJhZ2VkLCBwbGVhc2UgdXNlIHRoZSBNSU5HVyBlbnZpcm9ubWVudC4iCi0tIAoy LjQ5LjEKCgpGcm9tIGM2YzIwZTA0Y2NhZDI5NzMyYmM1YzJjOGVhZmVjYWQ5MGI0OGVlNjEgTW9u IFNlcCAxNyAwMDowMDowMCAyMDAxCkZyb206IFRvYmlhcyBSYXBwIDx0LnJhcHBAbm9hLWFyY2hp dmUuY29tPgpEYXRlOiBXZWQsIDMwIEFwciAyMDI1IDEwOjM3OjUyICswMjAwClN1YmplY3Q6IFtQ QVRDSCAyNDUvNDM0XSBhdmZpbHRlci92Zl9zZXRwYXJhbXM6IEZpeCBjaHJvbWFfbG9jYXRpb24g YmVpbmcKIGNsZWFyZWQKCkZpeCBjaHJvbWFfbG9jYXRpb24gYmVpbmcgY2xlYXJlZCBieSBzZXRy YW5nZSBhbmQgc2V0ZmllbGQgZmlsdGVycy4KVGhpcyB3YXMgZm9yZ290dGVuIGluIDIwMWYxY2Jh MTUwZDQ0ZGU2ZmVkZmVlZTRlODY0NzE3MGVkNWZiY2EuCgpTaWduZWQtb2ZmLWJ5OiBUb2JpYXMg UmFwcCA8dC5yYXBwQG5vYS1hcmNoaXZlLmNvbT4KKGNoZXJyeSBwaWNrZWQgZnJvbSBjb21taXQg MGY3NTFkMzgzNjY3NjYxZTIyMjYxYWU0N2NkYzM2Y2ViZDNjZGM2MikKLS0tCiBsaWJhdmZpbHRl ci92Zl9zZXRwYXJhbXMuYyB8IDIgKysKIDEgZmlsZSBjaGFuZ2VkLCAyIGluc2VydGlvbnMoKykK CmRpZmYgLS1naXQgYS9saWJhdmZpbHRlci92Zl9zZXRwYXJhbXMuYyBiL2xpYmF2ZmlsdGVyL3Zm X3NldHBhcmFtcy5jCmluZGV4IDE0YTE2NDc3YzkuLmIxMmU0NmUzNTQgMTAwNjQ0Ci0tLSBhL2xp YmF2ZmlsdGVyL3ZmX3NldHBhcmFtcy5jCisrKyBiL2xpYmF2ZmlsdGVyL3ZmX3NldHBhcmFtcy5j CkBAIC0yNDYsNiArMjQ2LDcgQEAgc3RhdGljIGF2X2NvbGQgaW50IGluaXRfc2V0cmFuZ2UoQVZG aWx0ZXJDb250ZXh0ICpjdHgpCiAgICAgcy0+Y29sb3JfcHJpbWFyaWVzID0gLTE7CiAgICAgcy0+ Y29sb3JfdHJjICAgICAgID0gLTE7CiAgICAgcy0+Y29sb3JzcGFjZSAgICAgID0gLTE7CisgICAg cy0+Y2hyb21hX2xvY2F0aW9uID0gLTE7CiAgICAgcmV0dXJuIDA7CiB9CiAKQEAgLTI4Miw2ICsy ODMsNyBAQCBzdGF0aWMgYXZfY29sZCBpbnQgaW5pdF9zZXRmaWVsZChBVkZpbHRlckNvbnRleHQg KmN0eCkKICAgICBzLT5jb2xvcl9wcmltYXJpZXMgPSAtMTsKICAgICBzLT5jb2xvcl90cmMgICAg ICAgPSAtMTsKICAgICBzLT5jb2xvcnNwYWNlICAgICAgPSAtMTsKKyAgICBzLT5jaHJvbWFfbG9j YXRpb24gPSAtMTsKICAgICByZXR1cm4gMDsKIH0KIAotLSAKMi40OS4xCgoKRnJvbSA5MjM3MTI1 ZTUxYTRlY2FlNzZkYzQ3NmI2MjBlOGU0OTJjN2FhZjhiIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAw MQpGcm9tOiBaaGFvIFpoaWxpIDx6aGlsaXpoYW9AdGVuY2VudC5jb20+CkRhdGU6IFRodSwgMTcg QXByIDIwMjUgMjA6MTI6NDkgKzA4MDAKU3ViamVjdDogW1BBVENIIDI0Ni80MzRdIGF2Zm9ybWF0 L21vdjogUmVkdWNlIHNlZWsgd2hlbiBpbnRlcmxlYXZlZF9yZWFkIGlzCiBkaXNhYmxlZAoKRG9u J3Qgc2VsZWN0IHNhbXBsZSB3aXRoIHNtYWxsIGR0cyB3aGVuIGludGVybGVhdmVkX3JlYWQgaXMg ZGlzYWJsZWQuCgpTaWduZWQtb2ZmLWJ5OiBaaGFvIFpoaWxpIDx6aGlsaXpoYW9AdGVuY2VudC5j b20+CihjaGVycnkgcGlja2VkIGZyb20gY29tbWl0IGNhOTY0YmExMzk2OTVmYzAwNjRkMDdhYzY1 MDM2MjZkNTQ5NTIwYzcpCi0tLQogbGliYXZmb3JtYXQvbW92LmMgfCAyICstCiAxIGZpbGUgY2hh bmdlZCwgMSBpbnNlcnRpb24oKyksIDEgZGVsZXRpb24oLSkKCmRpZmYgLS1naXQgYS9saWJhdmZv cm1hdC9tb3YuYyBiL2xpYmF2Zm9ybWF0L21vdi5jCmluZGV4IDQxY2EyODBjOGEuLjk3YTljZmVj YWUgMTAwNjQ0Ci0tLSBhL2xpYmF2Zm9ybWF0L21vdi5jCisrKyBiL2xpYmF2Zm9ybWF0L21vdi5j CkBAIC0xMDQ0OSw3ICsxMDQ0OSw3IEBAIHN0YXRpYyBBVkluZGV4RW50cnkgKm1vdl9maW5kX25l eHRfc2FtcGxlKEFWRm9ybWF0Q29udGV4dCAqcywgQVZTdHJlYW0gKipzdCkKICAgICAgICAgICAg ICAgICAoKHMtPnBiLT5zZWVrYWJsZSAmIEFWSU9fU0VFS0FCTEVfTk9STUFMKSAmJgogICAgICAg ICAgICAgICAgICAoKG1zYy0+cGIgIT0gcy0+cGIgJiYgZHRzIDwgYmVzdF9kdHMpIHx8IChtc2Mt PnBiID09IHMtPnBiICYmIGR0cyAhPSBBVl9OT1BUU19WQUxVRSAmJgogICAgICAgICAgICAgICAg ICAoKGR0c2RpZmYgPD0gQVZfVElNRV9CQVNFICYmIGN1cnJlbnRfc2FtcGxlLT5wb3MgPCBzYW1w bGUtPnBvcykgfHwKLSAgICAgICAgICAgICAgICAgIChkdHNkaWZmID4gQVZfVElNRV9CQVNFICYm IGR0cyA8IGJlc3RfZHRzKSkpKSkpIHsKKyAgICAgICAgICAgICAgICAgIChkdHNkaWZmID4gQVZf VElNRV9CQVNFICYmIGR0cyA8IGJlc3RfZHRzICYmIG1vdi0+aW50ZXJsZWF2ZWRfcmVhZCkpKSkp KSB7CiAgICAgICAgICAgICAgICAgc2FtcGxlID0gY3VycmVudF9zYW1wbGU7CiAgICAgICAgICAg ICAgICAgYmVzdF9kdHMgPSBkdHM7CiAgICAgICAgICAgICAgICAgKnN0ID0gYXZzdDsKLS0gCjIu NDkuMQoKCkZyb20gOTQ3ODRkMDkxODkzMmEyNWE4ZjAxM2YyOWU2Yzg2MmI2MWVjZmE0NSBNb24g U2VwIDE3IDAwOjAwOjAwIDIwMDEKRnJvbTogWmhhbyBaaGlsaSA8emhpbGl6aGFvQHRlbmNlbnQu Y29tPgpEYXRlOiBGcmksIDI1IEFwciAyMDI1IDAxOjA4OjM2ICswODAwClN1YmplY3Q6IFtQQVRD SCAyNDcvNDM0XSBhdmNvZGVjL2JzZi9oMjY0X21wNHRvYW5uZXhiOiBGaXggbWl4ZWQgYml0c3Ry ZWFtCiBmb3JtYXQKClRoaXMgYnNmIGNvbnZlcnRzIEFWX1BLVF9EQVRBX05FV19FWFRSQURBVEEg c2lkZSBkYXRhIGluIGF2Y2MgZm9ybWF0CnRvIGluLWJhbmQgYW5uZXhiIGZvcm1hdC4gSG93ZXZl ciwgdGhlIHNpZGUgZGF0YSB3YXNuJ3QgYmVlbiByZW1vdmVkCmFuZCBjb3BpZWQgZnJvbSBpbnB1 dCBwYWNrZXQgdG8gb3V0cHV0IHBhY2tldC4gU28gdGhlIG91dHB1dCBwYWNrZXQKaGFzIG1peGVk IGJpdHN0cmVhbSBmb3JtYXQuIFdlIGRvbid0IHN1cHBvcnQgbWl4ZWQgYml0c3RyZWFtIGZvcm1h dC4KRm9yIGV4YW1wbGUsIGgyNjRfbWV0YWRhdGEgcmVwb3J0IGVycm9yIGluIHRoZSBmb2xsb3dp bmcgY2FzZToKCmZmbXBlZyAtaSBmb28uZmx2IFwKICAtYnNmOnYgImgyNjRfbXA0dG9hbm5leGIs aDI2NF9tZXRhZGF0YSIgXAogIC1jIGNvcHkgLWYgbnVsbAoKVGhpcyBwYXRjaCByZW1vdmVkIE5F V19FWFRSQURBVEEgc2lkZSBkYXRhIGFmdGVyIHByb2Nlc3MuCgpUaGlzIHBhdGNoIGFsc28gYWRk IGEgY2hlY2sgc28gb25seSBORVdfRVhUUkFEQVRBIGluIGF2Y2MgZm9ybWF0IGlzCnByb2Nlc3Nl ZC4gTkVXX0VYVFJBREFUQSBpbiBhbm5leGIgZm9ybWF0IGlzIGNvcGllZCB0byBvdXRwdXQgYXMg aXMuCgpSZXBvcnRlZC1ieTogamlhbmdqaWUgPGppYW5namllNjE4QGdtYWlsLmNvbT4KU2lnbmVk LW9mZi1ieTogWmhhbyBaaGlsaSA8emhpbGl6aGFvQHRlbmNlbnQuY29tPgooY2hlcnJ5IHBpY2tl ZCBmcm9tIGNvbW1pdCAyNTgxMmQzMDMzOTg1NTJhNzc2OGRhYzA0ZjI5OTJiY2IwOWVhMDAwKQot LS0KIGxpYmF2Y29kZWMvYnNmL2gyNjRfbXA0dG9hbm5leGIuYyB8IDIyICsrKysrKysrKysrKy0t LS0tLS0tLS0KIHRlc3RzL2ZhdGUvaDI2NC5tYWsgICAgICAgICAgICAgICB8ICA0ICsrLS0KIDIg ZmlsZXMgY2hhbmdlZCwgMTQgaW5zZXJ0aW9ucygrKSwgMTIgZGVsZXRpb25zKC0pCgpkaWZmIC0t Z2l0IGEvbGliYXZjb2RlYy9ic2YvaDI2NF9tcDR0b2FubmV4Yi5jIGIvbGliYXZjb2RlYy9ic2Yv aDI2NF9tcDR0b2FubmV4Yi5jCmluZGV4IGRkYTA2NDI4N2UuLjM2YjA5YjRkZDYgMTAwNjQ0Ci0t LSBhL2xpYmF2Y29kZWMvYnNmL2gyNjRfbXA0dG9hbm5leGIuYworKysgYi9saWJhdmNvZGVjL2Jz Zi9oMjY0X21wNHRvYW5uZXhiLmMKQEAgLTkzLDYgKzkzLDExIEBAIHN0YXRpYyBpbnQgaDI2NF9l eHRyYWRhdGFfdG9fYW5uZXhiKEFWQlNGQ29udGV4dCAqY3R4LAogICAgIGNvbnN0IGludCBwYWRk aW5nICAgICAgICAgICAgICAgICAgID0gQVZfSU5QVVRfQlVGRkVSX1BBRERJTkdfU0laRTsKICAg ICBpbnQgbGVuZ3RoX3NpemUsIHBwc19vZmZzZXQgPSAwOwogCisgICAgaWYgKGV4dHJhZGF0YV9z aXplIDwgNykgeworICAgICAgICBhdl9sb2coY3R4LCBBVl9MT0dfRVJST1IsICJJbnZhbGlkIGV4 dHJhZGF0YSBzaXplOiAlZFxuIiwgZXh0cmFkYXRhX3NpemUpOworICAgICAgICByZXR1cm4gQVZF UlJPUl9JTlZBTElEREFUQTsKKyAgICB9CisKICAgICBieXRlc3RyZWFtMl9pbml0KGdiLCBleHRy YWRhdGEsIGV4dHJhZGF0YV9zaXplKTsKIAogICAgIGJ5dGVzdHJlYW0yX3NraXB1KGdiLCA0KTsK QEAgLTI2MiwxNiArMjY3LDExIEBAIHN0YXRpYyBpbnQgaDI2NF9tcDR0b2FubmV4Yl9pbml0KEFW QlNGQ29udGV4dCAqY3R4KQogICAgICAgICAoZXh0cmFfc2l6ZSA+PSA0ICYmIEFWX1JCMzIoY3R4 LT5wYXJfaW4tPmV4dHJhZGF0YSkgPT0gMSkpIHsKICAgICAgICAgYXZfbG9nKGN0eCwgQVZfTE9H X1ZFUkJPU0UsCiAgICAgICAgICAgICAgICAiVGhlIGlucHV0IGxvb2tzIGxpa2UgaXQgaXMgQW5u ZXggQiBhbHJlYWR5XG4iKTsKLSAgICB9IGVsc2UgaWYgKGV4dHJhX3NpemUgPj0gNykgewotICAg ICAgICByZXR1cm4gaDI2NF9leHRyYWRhdGFfdG9fYW5uZXhiKGN0eCwKLSAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICBjdHgtPnBhcl9pbi0+ZXh0cmFkYXRhLAotICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGN0eC0+cGFyX2luLT5leHRyYWRhdGFf c2l6ZSk7Ci0gICAgfSBlbHNlIHsKLSAgICAgICAgYXZfbG9nKGN0eCwgQVZfTE9HX0VSUk9SLCAi SW52YWxpZCBleHRyYWRhdGEgc2l6ZTogJWRcbiIsIGV4dHJhX3NpemUpOwotICAgICAgICByZXR1 cm4gQVZFUlJPUl9JTlZBTElEREFUQTsKKyAgICAgICAgcmV0dXJuIDA7CiAgICAgfQotCi0gICAg cmV0dXJuIDA7CisgICAgcmV0dXJuIGgyNjRfZXh0cmFkYXRhX3RvX2FubmV4YihjdHgsCisgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjdHgtPnBhcl9pbi0+ZXh0cmFkYXRhLAor ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY3R4LT5wYXJfaW4tPmV4dHJhZGF0 YV9zaXplKTsKIH0KIAogc3RhdGljIGludCBoMjY0X21wNHRvYW5uZXhiX2ZpbHRlcihBVkJTRkNv bnRleHQgKmN0eCwgQVZQYWNrZXQgKm9wa3QpCkBAIC0yOTMsMTAgKzI5MywxMiBAQCBzdGF0aWMg aW50IGgyNjRfbXA0dG9hbm5leGJfZmlsdGVyKEFWQlNGQ29udGV4dCAqY3R4LCBBVlBhY2tldCAq b3BrdCkKIAogICAgIGV4dHJhZGF0YSA9IGF2X3BhY2tldF9nZXRfc2lkZV9kYXRhKGluLCBBVl9Q S1RfREFUQV9ORVdfRVhUUkFEQVRBLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICZleHRyYWRhdGFfc2l6ZSk7Ci0gICAgaWYgKGV4dHJhZGF0YSkgeworICAgIGlmIChl eHRyYWRhdGEgJiYgZXh0cmFkYXRhWzBdID09IDEpIHsKICAgICAgICAgcmV0ID0gaDI2NF9leHRy YWRhdGFfdG9fYW5uZXhiKGN0eCwgZXh0cmFkYXRhLCBleHRyYWRhdGFfc2l6ZSk7CiAgICAgICAg IGlmIChyZXQgPCAwKQogICAgICAgICAgICAgZ290byBmYWlsOworICAgICAgICBhdl9wYWNrZXRf c2lkZV9kYXRhX3JlbW92ZShpbi0+c2lkZV9kYXRhLCAmaW4tPnNpZGVfZGF0YV9lbGVtcywKKyAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQVZfUEtUX0RBVEFfTkVXX0VYVFJBREFU QSk7CiAgICAgfQogCiAgICAgLyogbm90aGluZyB0byBmaWx0ZXIgKi8KZGlmZiAtLWdpdCBhL3Rl c3RzL2ZhdGUvaDI2NC5tYWsgYi90ZXN0cy9mYXRlL2gyNjQubWFrCmluZGV4IGU3MDM4Mzg3ZWEu LmQ5Mzc1MWYwOTMgMTAwNjQ0Ci0tLSBhL3Rlc3RzL2ZhdGUvaDI2NC5tYWsKKysrIGIvdGVzdHMv ZmF0ZS9oMjY0Lm1hawpAQCAtMjI0LDcgKzIyNCw3IEBAIEZBVEVfSDI2NC0kKGNhbGwgRlJBTUVD UkMsIE1PViwgSDI2NCkgKz0gZmF0ZS1oMjY0LXVuZXNjYXBlZC1leHRyYWRhdGEKICMgdGhpcyBz YW1wbGUgY29udGFpbnMgZmllbGQtY29kZWQgZnJhbWVzLCB3aXRoIGJvdGggZmllbGRzIGluIGEg c2luZ2xlIHBhY2tldAogRkFURV9IMjY0LSQoY2FsbCBGUkFNRUNSQywgTU9WLCBIMjY0KSArPSBm YXRlLWgyNjQtdHdvZmllbGRzLXBhY2tldAogCi1GQVRFX0gyNjQtJChjYWxsIERFTU1VWCwgTU9W LCBIMjY0LCBIMjY0X01QNFRPQU5ORVhCX0JTRiBTQ0FMRV9GSUxURVIpICs9IGZhdGUtaDI2NC1i c2YtbXA0dG9hbm5leGItbmV3LWV4dHJhZGF0YQorRkFURV9IMjY0LSQoY2FsbCBERU1NVVgsIE1P ViwgSDI2NCwgSDI2NF9NUDRUT0FOTkVYQl9CU0YgSDI2NF9NRVRBREFUQV9CU0YgU0NBTEVfRklM VEVSKSArPSBmYXRlLWgyNjQtYnNmLW1wNHRvYW5uZXhiLW5ldy1leHRyYWRhdGEKIAogRkFURV9I MjY0LSQoY2FsbCBERU1NVVgsIE1PViwgSDI2NCwgSDI2NF9NUDRUT0FOTkVYQl9CU0YpICs9IGZh dGUtaDI2NC1ic2YtbXA0dG9hbm5leGIgXAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZhdGUtaDI2NC1ic2YtbXA0dG9hbm5leGIt MiBcCkBAIC00MzgsNyArNDM4LDcgQEAgZmF0ZS1oMjY0LWJzZi1tcDR0b2FubmV4YjogICAgICAg ICAgICAgICAgICAgICAgICBDTUQgPSBtZDUgLWkgJChUQVJHRVRfU0FNUExFUykKIGZhdGUtaDI2 NC1ic2YtbXA0dG9hbm5leGItMjogICAgICAgICAgICAgICAgICAgICAgQ01EID0gbWQ1IC1pICQo VEFSR0VUX1NBTVBMRVMpL2gyNjQvcHNfcHJlZml4X2ZpcnN0X2lkci5tcDQgLWM6diBjb3B5IC1m IGgyNjQKIGZhdGUtaDI2NC1ic2YtbXA0dG9hbm5leGItMjogICAgICAgICAgICAgICAgICAgICAg Q01QID0gb25lbGluZQogZmF0ZS1oMjY0LWJzZi1tcDR0b2FubmV4Yi0yOiAgICAgICAgICAgICAg ICAgICAgICBSRUYgPSBjZmZjZmE2YTJkMGI1OGM5ZGUxZjU3ODVmMDk5ZjQxZAotZmF0ZS1oMjY0 LWJzZi1tcDR0b2FubmV4Yi1uZXctZXh0cmFkYXRhOiAgICAgICAgICBDTUQgPSBzdHJlYW1fcmVt dXggbW92ICQoVEFSR0VUX1NBTVBMRVMpL2gyNjQvZXh0cmFkYXRhLXJlbG9hZC1tdWx0aS1zdHNk Lm1vdiAiIiBoMjY0ICItbWFwIDA6diIKK2ZhdGUtaDI2NC1ic2YtbXA0dG9hbm5leGItbmV3LWV4 dHJhZGF0YTogICAgICAgICAgQ01EID0gc3RyZWFtX3JlbXV4IG1vdiAkKFRBUkdFVF9TQU1QTEVT KS9oMjY0L2V4dHJhZGF0YS1yZWxvYWQtbXVsdGktc3RzZC5tb3YgIiIgaDI2NCAiLWJzZiBoMjY0 X21wNHRvYW5uZXhiLGgyNjRfbWV0YWRhdGEgLW1hcCAwOnYiCiBmYXRlLWgyNjQtYnNmLWR0czJw dHM6ICAgICAgICAgICAgICAgICAgICAgICAgICAgIENNRCA9IHRyYW5zY29kZSAiaDI2NCIgJChU QVJHRVRfU0FNUExFUykvaDI2NC1jb25mb3JtYW5jZS9DQVBBTUEzX1NhbmRfRi4yNjQgXAogICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtb3Yg Ii1jOnYgY29weSAtYnNmOnYgZHRzMnB0cyAtZnJhbWVzOnYgNTAiICItYzp2IGNvcHkiCiBmYXRl LWgyNjRfbXA0dG9hbm5leGJfdGlja2V0NTkyNzogICAgICAgICAgICAgICAgIENNRCA9IHRyYW5z Y29kZSAibXA0IiAkKFRBUkdFVF9TQU1QTEVTKS9oMjY0L3RoZXplcm90aGVvcmVtLWN1dC5tcDQg XAotLSAKMi40OS4xCgoKRnJvbSA0OTkxYzFlYzkyODc0NzM3YTljNGIxYmNlMWIzZjczYTIzYjc4 YjIwIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBaaGFvIFpoaWxpIDx6aGlsaXpoYW9A dGVuY2VudC5jb20+CkRhdGU6IFdlZCwgMjMgQXByIDIwMjUgMjA6NTk6NDEgKzA4MDAKU3ViamVj dDogW1BBVENIIDI0OC80MzRdIGF2Zm9ybWF0L2hsczogRml4IGdldCBrZXkgZmlsZSBlcnJvcgoK VGhlIG9mZnNldCBhbmQgZW5kX29mZnNldCBvcHRpb25zIGFyZSBtZWFudCBmb3Igc2VnbWVudCwg bm90IGZvciBrZXkuCgpTaWduZWQtb2ZmLWJ5OiBaaGFvIFpoaWxpIDx6aGlsaXpoYW9AdGVuY2Vu dC5jb20+CihjaGVycnkgcGlja2VkIGZyb20gY29tbWl0IGJiMGM0NjQ5ZmI2MzU5MWEyYzlmNWUz OTYyODE1YzJkYjhkZTUwZmMpCi0tLQogbGliYXZmb3JtYXQvaGxzLmMgfCAyICstCiAxIGZpbGUg Y2hhbmdlZCwgMSBpbnNlcnRpb24oKyksIDEgZGVsZXRpb24oLSkKCmRpZmYgLS1naXQgYS9saWJh dmZvcm1hdC9obHMuYyBiL2xpYmF2Zm9ybWF0L2hscy5jCmluZGV4IGI5NmM1YWI5ZDIuLjg5NmRl YjIzZDUgMTAwNjQ0Ci0tLSBhL2xpYmF2Zm9ybWF0L2hscy5jCisrKyBiL2xpYmF2Zm9ybWF0L2hs cy5jCkBAIC0xMzUxLDcgKzEzNTEsNyBAQCBzdGF0aWMgaW50IG9wZW5faW5wdXQoSExTQ29udGV4 dCAqYywgc3RydWN0IHBsYXlsaXN0ICpwbHMsIHN0cnVjdCBzZWdtZW50ICpzZWcsCiAgICAgaWYg KHNlZy0+a2V5X3R5cGUgPT0gS0VZX0FFU18xMjggfHwgc2VnLT5rZXlfdHlwZSA9PSBLRVlfU0FN UExFX0FFUykgewogICAgICAgICBpZiAoc3RyY21wKHNlZy0+a2V5LCBwbHMtPmtleV91cmwpKSB7 CiAgICAgICAgICAgICBBVklPQ29udGV4dCAqcGIgPSBOVUxMOwotICAgICAgICAgICAgaWYgKG9w ZW5fdXJsKHBscy0+cGFyZW50LCAmcGIsIHNlZy0+a2V5LCAmYy0+YXZpb19vcHRzLCBvcHRzLCBO VUxMKSA9PSAwKSB7CisgICAgICAgICAgICBpZiAob3Blbl91cmwocGxzLT5wYXJlbnQsICZwYiwg c2VnLT5rZXksICZjLT5hdmlvX29wdHMsIE5VTEwsIE5VTEwpID09IDApIHsKICAgICAgICAgICAg ICAgICByZXQgPSBhdmlvX3JlYWQocGIsIHBscy0+a2V5LCBzaXplb2YocGxzLT5rZXkpKTsKICAg ICAgICAgICAgICAgICBpZiAocmV0ICE9IHNpemVvZihwbHMtPmtleSkpIHsKICAgICAgICAgICAg ICAgICAgICAgYXZfbG9nKHBscy0+cGFyZW50LCBBVl9MT0dfRVJST1IsICJVbmFibGUgdG8gcmVh ZCBrZXkgZmlsZSAlc1xuIiwKLS0gCjIuNDkuMQoKCkZyb20gN2VhYThjMTEwZTgzMGNiODMxNzgx ZGFkMWJiYThmZTIzNjUxNzZmYiBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKRnJvbTogSmFtZXMg QWxtZXIgPGphbXJpYWxAZ21haWwuY29tPgpEYXRlOiBNb24sIDI0IE1hciAyMDI1IDEzOjUxOjE1 IC0wMzAwClN1YmplY3Q6IFtQQVRDSCAyNDkvNDM0XSBhdmNvZGVjL2gyNjRfc2xpY2U6IGluc2Vy dCBMQ0VWQyBzaWRlIGRhdGEgYmVmb3JlCiBnZXRfYnVmZmVyKCkgY2FsbAoKT3RoZXJ3aXNlIGl0 IHdpbGwgbm90IGJlIHRha2VuIGludG8gYWNjb3VudCBvciBhcHBsaWVkIGF0IGFsbC4KClNpZ25l ZC1vZmYtYnk6IEphbWVzIEFsbWVyIDxqYW1yaWFsQGdtYWlsLmNvbT4KKGNoZXJyeSBwaWNrZWQg ZnJvbSBjb21taXQgMjViMGE4ZTI5NTc0OWE2MGEyMzhiYTBkNmZlN2EzNzQyOTM3YjZiYikKLS0t CiBsaWJhdmNvZGVjL2gyNjRfc2xpY2UuYyB8IDcgKysrKysrKwogMSBmaWxlIGNoYW5nZWQsIDcg aW5zZXJ0aW9ucygrKQoKZGlmZiAtLWdpdCBhL2xpYmF2Y29kZWMvaDI2NF9zbGljZS5jIGIvbGli YXZjb2RlYy9oMjY0X3NsaWNlLmMKaW5kZXggODQ1OTViMWE4Yi4uMDFjNDNhNjUyZSAxMDA2NDQK LS0tIGEvbGliYXZjb2RlYy9oMjY0X3NsaWNlLmMKKysrIGIvbGliYXZjb2RlYy9oMjY0X3NsaWNl LmMKQEAgLTE5MSw2ICsxOTEsMTMgQEAgc3RhdGljIGludCBhbGxvY19waWN0dXJlKEgyNjRDb250 ZXh0ICpoLCBIMjY0UGljdHVyZSAqcGljKQogCiAgICAgYXZfYXNzZXJ0MCghcGljLT5mLT5kYXRh WzBdKTsKIAorICAgIGlmIChoLT5zZWkuY29tbW9uLmxjZXZjLmluZm8pIHsKKyAgICAgICAgSEVW Q1NFSUxDRVZDICpsY2V2YyA9ICZoLT5zZWkuY29tbW9uLmxjZXZjOworICAgICAgICByZXQgPSBm Zl9mcmFtZV9uZXdfc2lkZV9kYXRhX2Zyb21fYnVmKGgtPmF2Y3R4LCBwaWMtPmYsIEFWX0ZSQU1F X0RBVEFfTENFVkMsICZsY2V2Yy0+aW5mbyk7CisgICAgICAgIGlmIChyZXQgPCAwKQorICAgICAg ICAgICAgcmV0dXJuIHJldDsKKyAgICB9CisKICAgICBwaWMtPnRmLmYgPSBwaWMtPmY7CiAgICAg cmV0ID0gZmZfdGhyZWFkX2dldF9leHRfYnVmZmVyKGgtPmF2Y3R4LCAmcGljLT50ZiwKICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcGljLT5yZWZlcmVuY2UgPyBBVl9HRVRfQlVG RkVSX0ZMQUdfUkVGIDogMCk7Ci0tIAoyLjQ5LjEKCgpGcm9tIDU5NTc2YWQ0YzVjZTM2NjdlMGUx ZDk2N2FmNTdhZDBjM2YyZDMzNGEgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCkZyb206IE1hcnRv biBCYWxpbnQgPGN1c0BwYXNzd2QuaHU+CkRhdGU6IEZyaSwgOSBNYXkgMjAyNSAwMDoxODoyOSAr MDIwMApTdWJqZWN0OiBbUEFUQ0ggMjUwLzQzNF0gYXZmb3JtYXQvd2F2ZGVjOiBpbmNyZWFzZSBy ZXF1ZXN0ZWQgcHJvYmUgc2NvcmUgZm9yCiBjb2RlYyBwcm9iZQoKQ29kZWMgcHJvYmluZyB3YXMg cHJpbWFyaWx5IGFkZGVkIHRvIHRoZSB3YXYgZGVtdXhlciB0byBzdXBwb3J0IERUUy1pbi13YXYK ZmlsZXMsIGJ1dCBEVFMgcHJvYmluZyBmdW5jdGlvbnMgcmV0dXJuIEFWUFJPQkVfU0NPUkVfRVhU RU5TSU9OKzEsIHNvIHdlIGNhbiBiZQphIGJpdCBtb3JlIHN0cmljdCB3aXRoIHRoZSByZXF1aXJl ZCBzY29yZS4KClRoaXMgZml4ZXMgTVAzIG1pc2RldGVjdGlvbnMgZm9yIHNvbWUgd2F2IGZpbGVz LgoKRml4ZXMgdGlja2V0ICMxMTU4MS4KClNpZ25lZC1vZmYtYnk6IE1hcnRvbiBCYWxpbnQgPGN1 c0BwYXNzd2QuaHU+CihjaGVycnkgcGlja2VkIGZyb20gY29tbWl0IGNlMDFjN2ZiNTg1OTdmNTI1 ZTEzMGY0N2ExM2ZmNzdmMWRiNjJiZjQpCi0tLQogbGliYXZmb3JtYXQvd2F2ZGVjLmMgfCAyICst CiAxIGZpbGUgY2hhbmdlZCwgMSBpbnNlcnRpb24oKyksIDEgZGVsZXRpb24oLSkKCmRpZmYgLS1n aXQgYS9saWJhdmZvcm1hdC93YXZkZWMuYyBiL2xpYmF2Zm9ybWF0L3dhdmRlYy5jCmluZGV4IGFl NmZmMGUwMjIuLjc3NDhhMmZiYjQgMTAwNjQ0Ci0tLSBhL2xpYmF2Zm9ybWF0L3dhdmRlYy5jCisr KyBiL2xpYmF2Zm9ybWF0L3dhdmRlYy5jCkBAIC0xNzgsNyArMTc4LDcgQEAgc3RhdGljIHZvaWQg aGFuZGxlX3N0cmVhbV9wcm9iaW5nKEFWU3RyZWFtICpzdCkKIHsKICAgICBpZiAoc3QtPmNvZGVj cGFyLT5jb2RlY19pZCA9PSBBVl9DT0RFQ19JRF9QQ01fUzE2TEUpIHsKICAgICAgICAgRkZTdHJl YW0gKmNvbnN0IHN0aSA9IGZmc3RyZWFtKHN0KTsKLSAgICAgICAgc3RpLT5yZXF1ZXN0X3Byb2Jl ID0gQVZQUk9CRV9TQ09SRV9FWFRFTlNJT047CisgICAgICAgIHN0aS0+cmVxdWVzdF9wcm9iZSA9 IEFWUFJPQkVfU0NPUkVfRVhURU5TSU9OICsgMTsKICAgICAgICAgc3RpLT5wcm9iZV9wYWNrZXRz ID0gRkZNSU4oc3RpLT5wcm9iZV9wYWNrZXRzLCAzMik7CiAgICAgfQogfQotLSAKMi40OS4xCgoK RnJvbSAwYjA2NTY2M2Q0NmEwYzM4MTg2Yjc4YmM5MWZlNDg0OWNkMzA0OTNiIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiA9P1VURi04P3E/S2FjcGVyPTIwTWljaGFqPUM1PTgyb3c/PSA8 a2FzcGVyOTNAZ21haWwuY29tPgpEYXRlOiBGcmksIDEwIE1heSAyMDI0IDIyOjMwOjAzICswMjAw ClN1YmplY3Q6IFtQQVRDSCAyNTEvNDM0XSBhdmNvZGVjL2xpYnp2YmktdGVsZXRleHRkZWM6IGNo YW5nZSBuZXcgbGluZXMgdG8gXG4KIGluIEFTUyBoZWFkZXIKTUlNRS1WZXJzaW9uOiAxLjAKQ29u dGVudC1UeXBlOiB0ZXh0L3BsYWluOyBjaGFyc2V0PVVURi04CkNvbnRlbnQtVHJhbnNmZXItRW5j b2Rpbmc6IDhiaXQKCkZpeGVzIHJlbWFpbmluZyBcclxuIGlzIEFTUyBoZWFkZXIgYWZ0ZXIgNTdj NTQ1MDkwZC4KCkZpeGVzIEFWRVJST1JfQlVHIGVycm9yIGR1cmluZyBpbml0IGFzIHRoaXMgZGVj b2RlciBleHBlY3RlZCBgXHJcbmAgaW4KZGVmYXVsdCBBU1MgaGVhZGVyLiBzdHJzdHIoLi4uLCAi XHJcbltFdmVudHNdXHJcbiIpIGZhaWxlZCBhZnRlciBjaGFuZ2VzCmluIDU3YzU0NTA5MGQuCgpG aXhlcyB0aWNrZXQgIzExNTQ1LgoKRml4ZXM6IDU3YzU0NTA5MGQKU2lnbmVkLW9mZi1ieTogS2Fj cGVyIE1pY2hhasWCb3cgPGthc3BlcjkzQGdtYWlsLmNvbT4KU2lnbmVkLW9mZi1ieTogTWFydG9u IEJhbGludCA8Y3VzQHBhc3N3ZC5odT4KKGNoZXJyeSBwaWNrZWQgZnJvbSBjb21taXQgZWI2ZGM5 NTJjYmQ0NzliZjQzNjczYWY5Y2EwYmM4M2YzN2Y4ZjMyOSkKLS0tCiBsaWJhdmNvZGVjL2xpYnp2 YmktdGVsZXRleHRkZWMuYyB8IDYgKysrLS0tCiAxIGZpbGUgY2hhbmdlZCwgMyBpbnNlcnRpb25z KCspLCAzIGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL2xpYmF2Y29kZWMvbGlienZiaS10ZWxl dGV4dGRlYy5jIGIvbGliYXZjb2RlYy9saWJ6dmJpLXRlbGV0ZXh0ZGVjLmMKaW5kZXggNjhmZmUx Zjc2Yy4uZTAyZWNiOGIzYSAxMDA2NDQKLS0tIGEvbGliYXZjb2RlYy9saWJ6dmJpLXRlbGV0ZXh0 ZGVjLmMKKysrIGIvbGliYXZjb2RlYy9saWJ6dmJpLXRlbGV0ZXh0ZGVjLmMKQEAgLTkxLDcgKzkx LDcgQEAgc3RhdGljIGludCBteV9hc3Nfc3VidGl0bGVfaGVhZGVyKEFWQ29kZWNDb250ZXh0ICph dmN0eCkKICAgICBpZiAocmV0IDwgMCkKICAgICAgICAgcmV0dXJuIHJldDsKIAotICAgIGV2ZW50 X3BvcyA9IHN0cnN0cihhdmN0eC0+c3VidGl0bGVfaGVhZGVyLCAiXHJcbltFdmVudHNdXHJcbiIp OworICAgIGV2ZW50X3BvcyA9IHN0cnN0cihhdmN0eC0+c3VidGl0bGVfaGVhZGVyLCAiXG5bRXZl bnRzXVxuIik7CiAgICAgaWYgKCFldmVudF9wb3MpCiAgICAgICAgIHJldHVybiBBVkVSUk9SX0JV RzsKIApAQCAtMTA2LDcgKzEwNiw3IEBAIHN0YXRpYyBpbnQgbXlfYXNzX3N1YnRpdGxlX2hlYWRl cihBVkNvZGVjQ29udGV4dCAqYXZjdHgpCiAgICAgICAgICIwLDAsIiAgICAgICAgICAgICAgICAg LyogU3BhY2luZywgQW5nbGUgKi8KICAgICAgICAgIjMsMC4xLDAsIiAgICAgICAgICAgICAvKiBC b3JkZXJTdHlsZSwgT3V0bGluZSwgU2hhZG93ICovCiAgICAgICAgICI1LDEsMSwxLCIgICAgICAg ICAgICAgLyogQWxpZ25tZW50LCBNYXJnaW5bTFJWXSAqLwotICAgICAgICAiMFxyXG4iICAgICAg ICAgICAgICAgIC8qIEVuY29kaW5nICovCisgICAgICAgICIwXG4iICAgICAgICAgICAgICAgICAg LyogRW5jb2RpbmcgKi8KICAgICAgICAgIlN0eWxlOiAiCiAgICAgICAgICJTdWJ0aXRsZSwiICAg ICAgICAgICAgLyogTmFtZSAqLwogICAgICAgICAiTW9ub3NwYWNlLDE2LCIgICAgICAgIC8qIEZv bnR7bmFtZSxzaXplfSAqLwpAQCAtMTE2LDcgKzExNiw3IEBAIHN0YXRpYyBpbnQgbXlfYXNzX3N1 YnRpdGxlX2hlYWRlcihBVkNvZGVjQ29udGV4dCAqYXZjdHgpCiAgICAgICAgICIwLDAsIiAgICAg ICAgICAgICAgICAgLyogU3BhY2luZywgQW5nbGUgKi8KICAgICAgICAgIjEsMSwxLCIgICAgICAg ICAgICAgICAvKiBCb3JkZXJTdHlsZSwgT3V0bGluZSwgU2hhZG93ICovCiAgICAgICAgICI4LDQ4 LDQ4LDIwLCIgICAgICAgICAgLyogQWxpZ25tZW50LCBNYXJnaW5bTFJWXSAqLwotICAgICAgICAi MFxyXG4iICAgICAgICAgICAgICAgIC8qIEVuY29kaW5nICovCisgICAgICAgICIwXG4iICAgICAg ICAgICAgICAgICAgLyogRW5jb2RpbmcgKi8KICAgICAgICAgLCBldmVudF9wb3MpOwogCiAgICAg aWYgKCFuZXdfaGVhZGVyKQotLSAKMi40OS4xCgoKRnJvbSAyNGRlOGE5OGNmYjMzYjEwOTkyNzcy YmE1NGY2NTBlYjYxYzk2ZDQ0IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBQYXZlbCBL b3NoZXZveSA8cGtvc2hldm95QGdtYWlsLmNvbT4KRGF0ZTogU3VuLCAxOCBNYXkgMjAyNSAwODo1 NzozMSAtMDYwMApTdWJqZWN0OiBbUEFUQ0ggMjUyLzQzNF0gYXZmb3JtYXQvbXBlZ3RzOiB1cGRh dGUgc3RyZWFtIGluZm8gd2hlbiBQTVQgRVMKIHN0cmVhbV90eXBlIGNoYW5nZXMKCkkgaGF2ZSBz ZXZlcmFsIC50cyBjYXB0dXJlcyB3aGVyZSB2aWRlbyBhbmQgYXVkaW8gY29kZWMgY2hhbmdlcyBl dmVuCnRob3VnaCB0aGUgUE1UIHZlcnNpb24gZG9lcyBub3QgY2hhbmdlIGFuZCB0aGUgUElEcyBz dGF5IHRoZSBzYW1lLgpUaGlzIGhhcHBlbnMgZHVyaW5nIHRyYW5zaXRpb24gdG8vZnJvbSBzbGF0 ZSAobXBlZzIgdmlkZW8gYW5kIGF1ZGlvKQp0byBuZXR3b3JrIGJyb2FkY2FzdCAoaGV2YyB2aWRl byBhbmQgZWFjMyBhdWRpbyBpbiBwcml2YXRlIFBFUykuCgpJJ3ZlIHVwZGF0ZWQgZmF0ZSB0cy1k ZW11eCBleHBlY3RlZCByZXN1bHRzLgotLS0KIGxpYmF2Zm9ybWF0L21wZWd0cy5jICAgIHwgNCAr KystCiB0ZXN0cy9yZWYvZmF0ZS90cy1kZW11eCB8IDQgKystLQogMiBmaWxlcyBjaGFuZ2VkLCA1 IGluc2VydGlvbnMoKyksIDMgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvbGliYXZmb3JtYXQv bXBlZ3RzLmMgYi9saWJhdmZvcm1hdC9tcGVndHMuYwppbmRleCA4NmI3YzhlMDQxLi5iNWYyOWFl ZTY1IDEwMDY0NAotLS0gYS9saWJhdmZvcm1hdC9tcGVndHMuYworKysgYi9saWJhdmZvcm1hdC9t cGVndHMuYwpAQCAtOTM4LDYgKzkzOCw4IEBAIHN0YXRpYyBpbnQgbXBlZ3RzX3NldF9zdHJlYW1f aW5mbyhBVlN0cmVhbSAqc3QsIFBFU0NvbnRleHQgKnBlcywKICAgICBtcGVndHNfZmluZF9zdHJl YW1fdHlwZShzdCwgcGVzLT5zdHJlYW1fdHlwZSwgSVNPX3R5cGVzKTsKICAgICBpZiAocGVzLT5z dHJlYW1fdHlwZSA9PSA0IHx8IHBlcy0+c3RyZWFtX3R5cGUgPT0gMHgwZikKICAgICAgICAgc3Rp LT5yZXF1ZXN0X3Byb2JlID0gNTA7CisgICAgaWYgKHBlcy0+c3RyZWFtX3R5cGUgPT0gU1RSRUFN X1RZUEVfUFJJVkFURV9EQVRBKQorICAgICAgICBzdGktPnJlcXVlc3RfcHJvYmUgPSBBVlBST0JF X1NDT1JFX1NUUkVBTV9SRVRSWTsKICAgICBpZiAoKHByb2dfcmVnX2Rlc2MgPT0gQVZfUkwzMigi SERNViIpIHx8CiAgICAgICAgICBwcm9nX3JlZ19kZXNjID09IEFWX1JMMzIoIkhEUFIiKSkgJiYK ICAgICAgICAgc3QtPmNvZGVjcGFyLT5jb2RlY19pZCA9PSBBVl9DT0RFQ19JRF9OT05FKSB7CkBA IC0yNDk2LDcgKzI0OTgsNyBAQCBzdGF0aWMgdm9pZCBwbXRfY2IoTXBlZ1RTRmlsdGVyICpmaWx0 ZXIsIGNvbnN0IHVpbnQ4X3QgKnNlY3Rpb24sIGludCBzZWN0aW9uX2xlbgogICAgICAgICBpZiAo IXN0KQogICAgICAgICAgICAgZ290byBvdXQ7CiAKLSAgICAgICAgaWYgKHBlcyAmJiAhcGVzLT5z dHJlYW1fdHlwZSkKKyAgICAgICAgaWYgKHBlcyAmJiBwZXMtPnN0cmVhbV90eXBlICE9IHN0cmVh bV90eXBlKQogICAgICAgICAgICAgbXBlZ3RzX3NldF9zdHJlYW1faW5mbyhzdCwgcGVzLCBzdHJl YW1fdHlwZSwgcHJvZ19yZWdfZGVzYyk7CiAKICAgICAgICAgYWRkX3BpZF90b19wcm9ncmFtKHBy ZywgcGlkKTsKZGlmZiAtLWdpdCBhL3Rlc3RzL3JlZi9mYXRlL3RzLWRlbXV4IGIvdGVzdHMvcmVm L2ZhdGUvdHMtZGVtdXgKaW5kZXggNDU1MjJjMmJmYi4uNzMyZjlkMDI4OSAxMDA2NDQKLS0tIGEv dGVzdHMvcmVmL2ZhdGUvdHMtZGVtdXgKKysrIGIvdGVzdHMvcmVmL2ZhdGUvdHMtZGVtdXgKQEAg LTI0LDYgKzI0LDYgQEAgcGFja2V0fGNvZGVjX3R5cGU9dmlkZW98c3RyZWFtX2luZGV4PTB8cHRz PTM5MTI2ODYzNjN8cHRzX3RpbWU9NDM0NzQuMjkyOTIyfGR0cz0KIHBhY2tldHxjb2RlY190eXBl PWF1ZGlvfHN0cmVhbV9pbmRleD0xfHB0cz0zOTEyNjQ0ODI1fHB0c190aW1lPTQzNDczLjgzMTM4 OXxkdHM9MzkxMjY0NDgyNXxkdHNfdGltZT00MzQ3My44MzEzODl8ZHVyYXRpb249Mjg4MHxkdXJh dGlvbl90aW1lPTAuMDMyMDAwfHNpemU9OTA2fHBvcz00NzQ4ODh8ZmxhZ3M9S19ffGRhdGFfaGFz aD1DUkMzMjowODkzZDM5OAogcGFja2V0fGNvZGVjX3R5cGU9YXVkaW98c3RyZWFtX2luZGV4PTJ8 cHRzPTM5MTI2NDU1ODB8cHRzX3RpbWU9NDM0NzMuODM5Nzc4fGR0cz0zOTEyNjQ1NTgwfGR0c190 aW1lPTQzNDczLjgzOTc3OHxkdXJhdGlvbj0yODgwfGR1cmF0aW9uX3RpbWU9MC4wMzIwMDB8c2l6 ZT0zNTR8cG9zPTQ5MTgwOHxmbGFncz1LX198ZGF0YV9oYXNoPUNSQzMyOmY1OTYzZmE2CiBzdHJl YW18aW5kZXg9MHxjb2RlY19uYW1lPW1wZWcydmlkZW98cHJvZmlsZT00fGNvZGVjX3R5cGU9dmlk ZW98Y29kZWNfdGFnX3N0cmluZz1bMl1bMF1bMF1bMF18Y29kZWNfdGFnPTB4MDAwMnx3aWR0aD0x MjgwfGhlaWdodD03MjB8Y29kZWRfd2lkdGg9MHxjb2RlZF9oZWlnaHQ9MHxjbG9zZWRfY2FwdGlv bnM9MHxmaWxtX2dyYWluPTB8aGFzX2JfZnJhbWVzPTF8c2FtcGxlX2FzcGVjdF9yYXRpbz0xOjF8 ZGlzcGxheV9hc3BlY3RfcmF0aW89MTY6OXxwaXhfZm10PXl1djQyMHB8bGV2ZWw9NHxjb2xvcl9y YW5nZT10dnxjb2xvcl9zcGFjZT11bmtub3dufGNvbG9yX3RyYW5zZmVyPXVua25vd258Y29sb3Jf cHJpbWFyaWVzPXVua25vd258Y2hyb21hX2xvY2F0aW9uPWxlZnR8ZmllbGRfb3JkZXI9cHJvZ3Jl c3NpdmV8cmVmcz0xfHRzX2lkPTMyNzc2fHRzX3BhY2tldHNpemU9MTg4fGlkPTB4MzF8cl9mcmFt ZV9yYXRlPTYwMDAwLzEwMDF8YXZnX2ZyYW1lX3JhdGU9NjAwMDAvMTAwMXx0aW1lX2Jhc2U9MS85 MDAwMHxzdGFydF9wdHM9MzkxMjY2OTg0NnxzdGFydF90aW1lPTQzNDc0LjEwOTQwMHxkdXJhdGlv bl90cz0xOTUxOXxkdXJhdGlvbj0wLjIxNjg3OHxiaXRfcmF0ZT0xNTAwMDAwMHxtYXhfYml0X3Jh dGU9Ti9BfGJpdHNfcGVyX3Jhd19zYW1wbGU9Ti9BfG5iX2ZyYW1lcz1OL0F8bmJfcmVhZF9mcmFt ZXM9Ti9BfG5iX3JlYWRfcGFja2V0cz0xNXxleHRyYWRhdGFfc2l6ZT0xNTB8ZXh0cmFkYXRhX2hh c2g9Q1JDMzI6NTMxMzRmYTh8ZGlzcG9zaXRpb246ZGVmYXVsdD0wfGRpc3Bvc2l0aW9uOmR1Yj0w fGRpc3Bvc2l0aW9uOm9yaWdpbmFsPTB8ZGlzcG9zaXRpb246Y29tbWVudD0wfGRpc3Bvc2l0aW9u Omx5cmljcz0wfGRpc3Bvc2l0aW9uOmthcmFva2U9MHxkaXNwb3NpdGlvbjpmb3JjZWQ9MHxkaXNw b3NpdGlvbjpoZWFyaW5nX2ltcGFpcmVkPTB8ZGlzcG9zaXRpb246dmlzdWFsX2ltcGFpcmVkPTB8 ZGlzcG9zaXRpb246Y2xlYW5fZWZmZWN0cz0wfGRpc3Bvc2l0aW9uOmF0dGFjaGVkX3BpYz0wfGRp c3Bvc2l0aW9uOnRpbWVkX3RodW1ibmFpbHM9MHxkaXNwb3NpdGlvbjpub25fZGllZ2V0aWM9MHxk aXNwb3NpdGlvbjpjYXB0aW9ucz0wfGRpc3Bvc2l0aW9uOmRlc2NyaXB0aW9ucz0wfGRpc3Bvc2l0 aW9uOm1ldGFkYXRhPTB8ZGlzcG9zaXRpb246ZGVwZW5kZW50PTB8ZGlzcG9zaXRpb246c3RpbGxf aW1hZ2U9MHxkaXNwb3NpdGlvbjptdWx0aWxheWVyPTB8c2lkZV9kYXR1bS9jcGJfcHJvcGVydGll czpzaWRlX2RhdGFfdHlwZT1DUEIgcHJvcGVydGllc3xzaWRlX2RhdHVtL2NwYl9wcm9wZXJ0aWVz Om1heF9iaXRyYXRlPTE1MDAwMDAwfHNpZGVfZGF0dW0vY3BiX3Byb3BlcnRpZXM6bWluX2JpdHJh dGU9MHxzaWRlX2RhdHVtL2NwYl9wcm9wZXJ0aWVzOmF2Z19iaXRyYXRlPTB8c2lkZV9kYXR1bS9j cGJfcHJvcGVydGllczpidWZmZXJfc2l6ZT05NzgxMjQ4fHNpZGVfZGF0dW0vY3BiX3Byb3BlcnRp ZXM6dmJ2X2RlbGF5PS0xCi1zdHJlYW18aW5kZXg9MXxjb2RlY19uYW1lPWFjM3xwcm9maWxlPXVu a25vd258Y29kZWNfdHlwZT1hdWRpb3xjb2RlY190YWdfc3RyaW5nPVs0XVswXVswXVswXXxjb2Rl Y190YWc9MHgwMDA0fHNhbXBsZV9mbXQ9Zmx0cHxzYW1wbGVfcmF0ZT00ODAwMHxjaGFubmVscz02 fGNoYW5uZWxfbGF5b3V0PTUuMShzaWRlKXxiaXRzX3Blcl9zYW1wbGU9MHxpbml0aWFsX3BhZGRp bmc9MHx0c19pZD0zMjc3Nnx0c19wYWNrZXRzaXplPTE4OHxpZD0weDM0fHJfZnJhbWVfcmF0ZT0w LzB8YXZnX2ZyYW1lX3JhdGU9MC8wfHRpbWVfYmFzZT0xLzkwMDAwfHN0YXJ0X3B0cz0zOTEyNjMz MzA1fHN0YXJ0X3RpbWU9NDM0NzMuNzAzMzg5fGR1cmF0aW9uX3RzPTE0NDAwfGR1cmF0aW9uPTAu MTYwMDAwfGJpdF9yYXRlPTM4NDAwMHxtYXhfYml0X3JhdGU9Ti9BfGJpdHNfcGVyX3Jhd19zYW1w bGU9Ti9BfG5iX2ZyYW1lcz1OL0F8bmJfcmVhZF9mcmFtZXM9Ti9BfG5iX3JlYWRfcGFja2V0cz01 fGRpc3Bvc2l0aW9uOmRlZmF1bHQ9MHxkaXNwb3NpdGlvbjpkdWI9MHxkaXNwb3NpdGlvbjpvcmln aW5hbD0wfGRpc3Bvc2l0aW9uOmNvbW1lbnQ9MHxkaXNwb3NpdGlvbjpseXJpY3M9MHxkaXNwb3Np dGlvbjprYXJhb2tlPTB8ZGlzcG9zaXRpb246Zm9yY2VkPTB8ZGlzcG9zaXRpb246aGVhcmluZ19p bXBhaXJlZD0wfGRpc3Bvc2l0aW9uOnZpc3VhbF9pbXBhaXJlZD0wfGRpc3Bvc2l0aW9uOmNsZWFu X2VmZmVjdHM9MHxkaXNwb3NpdGlvbjphdHRhY2hlZF9waWM9MHxkaXNwb3NpdGlvbjp0aW1lZF90 aHVtYm5haWxzPTB8ZGlzcG9zaXRpb246bm9uX2RpZWdldGljPTB8ZGlzcG9zaXRpb246Y2FwdGlv bnM9MHxkaXNwb3NpdGlvbjpkZXNjcmlwdGlvbnM9MHxkaXNwb3NpdGlvbjptZXRhZGF0YT0wfGRp c3Bvc2l0aW9uOmRlcGVuZGVudD0wfGRpc3Bvc2l0aW9uOnN0aWxsX2ltYWdlPTB8ZGlzcG9zaXRp b246bXVsdGlsYXllcj0wfHRhZzpsYW5ndWFnZT1lbmcKLXN0cmVhbXxpbmRleD0yfGNvZGVjX25h bWU9YWMzfHByb2ZpbGU9dW5rbm93bnxjb2RlY190eXBlPWF1ZGlvfGNvZGVjX3RhZ19zdHJpbmc9 WzRdWzBdWzBdWzBdfGNvZGVjX3RhZz0weDAwMDR8c2FtcGxlX2ZtdD1mbHRwfHNhbXBsZV9yYXRl PTQ4MDAwfGNoYW5uZWxzPTJ8Y2hhbm5lbF9sYXlvdXQ9c3RlcmVvfGJpdHNfcGVyX3NhbXBsZT0w fGluaXRpYWxfcGFkZGluZz0wfHRzX2lkPTMyNzc2fHRzX3BhY2tldHNpemU9MTg4fGlkPTB4MzV8 cl9mcmFtZV9yYXRlPTAvMHxhdmdfZnJhbWVfcmF0ZT0wLzB8dGltZV9iYXNlPTEvOTAwMDB8c3Rh cnRfcHRzPTM5MTI2MzQwNjB8c3RhcnRfdGltZT00MzQ3My43MTE3Nzh8ZHVyYXRpb25fdHM9MTQ0 MDB8ZHVyYXRpb249MC4xNjAwMDB8Yml0X3JhdGU9MTkyMDAwfG1heF9iaXRfcmF0ZT1OL0F8Yml0 c19wZXJfcmF3X3NhbXBsZT1OL0F8bmJfZnJhbWVzPU4vQXxuYl9yZWFkX2ZyYW1lcz1OL0F8bmJf cmVhZF9wYWNrZXRzPTV8ZGlzcG9zaXRpb246ZGVmYXVsdD0wfGRpc3Bvc2l0aW9uOmR1Yj0wfGRp c3Bvc2l0aW9uOm9yaWdpbmFsPTB8ZGlzcG9zaXRpb246Y29tbWVudD0wfGRpc3Bvc2l0aW9uOmx5 cmljcz0wfGRpc3Bvc2l0aW9uOmthcmFva2U9MHxkaXNwb3NpdGlvbjpmb3JjZWQ9MHxkaXNwb3Np dGlvbjpoZWFyaW5nX2ltcGFpcmVkPTB8ZGlzcG9zaXRpb246dmlzdWFsX2ltcGFpcmVkPTB8ZGlz cG9zaXRpb246Y2xlYW5fZWZmZWN0cz0wfGRpc3Bvc2l0aW9uOmF0dGFjaGVkX3BpYz0wfGRpc3Bv c2l0aW9uOnRpbWVkX3RodW1ibmFpbHM9MHxkaXNwb3NpdGlvbjpub25fZGllZ2V0aWM9MHxkaXNw b3NpdGlvbjpjYXB0aW9ucz0wfGRpc3Bvc2l0aW9uOmRlc2NyaXB0aW9ucz0wfGRpc3Bvc2l0aW9u Om1ldGFkYXRhPTB8ZGlzcG9zaXRpb246ZGVwZW5kZW50PTB8ZGlzcG9zaXRpb246c3RpbGxfaW1h Z2U9MHxkaXNwb3NpdGlvbjptdWx0aWxheWVyPTB8dGFnOmxhbmd1YWdlPWVzCitzdHJlYW18aW5k ZXg9MXxjb2RlY19uYW1lPWFjM3xwcm9maWxlPXVua25vd258Y29kZWNfdHlwZT1hdWRpb3xjb2Rl Y190YWdfc3RyaW5nPVs2XVswXVswXVswXXxjb2RlY190YWc9MHgwMDA2fHNhbXBsZV9mbXQ9Zmx0 cHxzYW1wbGVfcmF0ZT00ODAwMHxjaGFubmVscz02fGNoYW5uZWxfbGF5b3V0PTUuMShzaWRlKXxi aXRzX3Blcl9zYW1wbGU9MHxpbml0aWFsX3BhZGRpbmc9MHx0c19pZD0zMjc3Nnx0c19wYWNrZXRz aXplPTE4OHxpZD0weDM0fHJfZnJhbWVfcmF0ZT0wLzB8YXZnX2ZyYW1lX3JhdGU9MC8wfHRpbWVf YmFzZT0xLzkwMDAwfHN0YXJ0X3B0cz0zOTEyNjMzMzA1fHN0YXJ0X3RpbWU9NDM0NzMuNzAzMzg5 fGR1cmF0aW9uX3RzPTE0NDAwfGR1cmF0aW9uPTAuMTYwMDAwfGJpdF9yYXRlPTM4NDAwMHxtYXhf Yml0X3JhdGU9Ti9BfGJpdHNfcGVyX3Jhd19zYW1wbGU9Ti9BfG5iX2ZyYW1lcz1OL0F8bmJfcmVh ZF9mcmFtZXM9Ti9BfG5iX3JlYWRfcGFja2V0cz01fGRpc3Bvc2l0aW9uOmRlZmF1bHQ9MHxkaXNw b3NpdGlvbjpkdWI9MHxkaXNwb3NpdGlvbjpvcmlnaW5hbD0wfGRpc3Bvc2l0aW9uOmNvbW1lbnQ9 MHxkaXNwb3NpdGlvbjpseXJpY3M9MHxkaXNwb3NpdGlvbjprYXJhb2tlPTB8ZGlzcG9zaXRpb246 Zm9yY2VkPTB8ZGlzcG9zaXRpb246aGVhcmluZ19pbXBhaXJlZD0wfGRpc3Bvc2l0aW9uOnZpc3Vh bF9pbXBhaXJlZD0wfGRpc3Bvc2l0aW9uOmNsZWFuX2VmZmVjdHM9MHxkaXNwb3NpdGlvbjphdHRh Y2hlZF9waWM9MHxkaXNwb3NpdGlvbjp0aW1lZF90aHVtYm5haWxzPTB8ZGlzcG9zaXRpb246bm9u X2RpZWdldGljPTB8ZGlzcG9zaXRpb246Y2FwdGlvbnM9MHxkaXNwb3NpdGlvbjpkZXNjcmlwdGlv bnM9MHxkaXNwb3NpdGlvbjptZXRhZGF0YT0wfGRpc3Bvc2l0aW9uOmRlcGVuZGVudD0wfGRpc3Bv c2l0aW9uOnN0aWxsX2ltYWdlPTB8ZGlzcG9zaXRpb246bXVsdGlsYXllcj0wfHRhZzpsYW5ndWFn ZT1lbmcKK3N0cmVhbXxpbmRleD0yfGNvZGVjX25hbWU9YWMzfHByb2ZpbGU9dW5rbm93bnxjb2Rl Y190eXBlPWF1ZGlvfGNvZGVjX3RhZ19zdHJpbmc9WzZdWzBdWzBdWzBdfGNvZGVjX3RhZz0weDAw MDZ8c2FtcGxlX2ZtdD1mbHRwfHNhbXBsZV9yYXRlPTQ4MDAwfGNoYW5uZWxzPTJ8Y2hhbm5lbF9s YXlvdXQ9c3RlcmVvfGJpdHNfcGVyX3NhbXBsZT0wfGluaXRpYWxfcGFkZGluZz0wfHRzX2lkPTMy Nzc2fHRzX3BhY2tldHNpemU9MTg4fGlkPTB4MzV8cl9mcmFtZV9yYXRlPTAvMHxhdmdfZnJhbWVf cmF0ZT0wLzB8dGltZV9iYXNlPTEvOTAwMDB8c3RhcnRfcHRzPTM5MTI2MzQwNjB8c3RhcnRfdGlt ZT00MzQ3My43MTE3Nzh8ZHVyYXRpb25fdHM9MTQ0MDB8ZHVyYXRpb249MC4xNjAwMDB8Yml0X3Jh dGU9MTkyMDAwfG1heF9iaXRfcmF0ZT1OL0F8Yml0c19wZXJfcmF3X3NhbXBsZT1OL0F8bmJfZnJh bWVzPU4vQXxuYl9yZWFkX2ZyYW1lcz1OL0F8bmJfcmVhZF9wYWNrZXRzPTV8ZGlzcG9zaXRpb246 ZGVmYXVsdD0wfGRpc3Bvc2l0aW9uOmR1Yj0wfGRpc3Bvc2l0aW9uOm9yaWdpbmFsPTB8ZGlzcG9z aXRpb246Y29tbWVudD0wfGRpc3Bvc2l0aW9uOmx5cmljcz0wfGRpc3Bvc2l0aW9uOmthcmFva2U9 MHxkaXNwb3NpdGlvbjpmb3JjZWQ9MHxkaXNwb3NpdGlvbjpoZWFyaW5nX2ltcGFpcmVkPTB8ZGlz cG9zaXRpb246dmlzdWFsX2ltcGFpcmVkPTB8ZGlzcG9zaXRpb246Y2xlYW5fZWZmZWN0cz0wfGRp c3Bvc2l0aW9uOmF0dGFjaGVkX3BpYz0wfGRpc3Bvc2l0aW9uOnRpbWVkX3RodW1ibmFpbHM9MHxk aXNwb3NpdGlvbjpub25fZGllZ2V0aWM9MHxkaXNwb3NpdGlvbjpjYXB0aW9ucz0wfGRpc3Bvc2l0 aW9uOmRlc2NyaXB0aW9ucz0wfGRpc3Bvc2l0aW9uOm1ldGFkYXRhPTB8ZGlzcG9zaXRpb246ZGVw ZW5kZW50PTB8ZGlzcG9zaXRpb246c3RpbGxfaW1hZ2U9MHxkaXNwb3NpdGlvbjptdWx0aWxheWVy PTB8dGFnOmxhbmd1YWdlPWVzCiBmb3JtYXR8ZmlsZW5hbWU9bXAzYWMzMjUtNDg2NC1zbWFsbC50 c3xuYl9zdHJlYW1zPTN8bmJfcHJvZ3JhbXM9MXxuYl9zdHJlYW1fZ3JvdXBzPTB8Zm9ybWF0X25h bWU9bXBlZ3RzfHN0YXJ0X3RpbWU9NDM0NzMuNzAzMzg5fGR1cmF0aW9uPTAuNjIyODg5fHNpemU9 NTEyMDAwfGJpdF9yYXRlPTY1NzU4MTB8cHJvYmVfc2NvcmU9NTAKLS0gCjIuNDkuMQoKCkZyb20g Y2NiZDA4OTQ2NzM4MmE2NjkzZjc5MmIxZWExYzIzZTNiZGRhMDg5ZCBNb24gU2VwIDE3IDAwOjAw OjAwIDIwMDEKRnJvbTogUGF1bCBCIE1haG9sIDxvbmVtZGFAZ21haWwuY29tPgpEYXRlOiBUaHUs IDIyIE1heSAyMDI1IDIxOjIxOjI0ICswMDAwClN1YmplY3Q6IFtQQVRDSCAyNTMvNDM0XSBhdmZp bHRlci9hdmZpbHRlcmdyYXBoOiBmaXggcmVncmVzc2lvbiBpbiBwaWNraW5nCiBjaGFubmVsIGxh eW91dAoKU2lnbmVkLW9mZi1ieTogSmFtZXMgQWxtZXIgPGphbXJpYWxAZ21haWwuY29tPgooY2hl cnJ5IHBpY2tlZCBmcm9tIGNvbW1pdCAxYjNmNDg0MmMxODQwOWRiYTVhMzQ1ZWY5ZTdiM2RlN2E0 ZmEzNjU3KQotLS0KIGxpYmF2ZmlsdGVyL2F2ZmlsdGVyZ3JhcGguYyB8IDQgKystLQogMSBmaWxl IGNoYW5nZWQsIDIgaW5zZXJ0aW9ucygrKSwgMiBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9s aWJhdmZpbHRlci9hdmZpbHRlcmdyYXBoLmMgYi9saWJhdmZpbHRlci9hdmZpbHRlcmdyYXBoLmMK aW5kZXggMzgwNzdmZjcwMS4uMTc0NDI5OGVlNSAxMDA2NDQKLS0tIGEvbGliYXZmaWx0ZXIvYXZm aWx0ZXJncmFwaC5jCisrKyBiL2xpYmF2ZmlsdGVyL2F2ZmlsdGVyZ3JhcGguYwpAQCAtMTA2Nyw4 ICsxMDY3LDggQEAgc3RhdGljIHZvaWQgc3dhcF9jaGFubmVsX2xheW91dHNfb25fZmlsdGVyKEFW RmlsdGVyQ29udGV4dCAqZmlsdGVyKQogICAgICAgICAgICAgfQogCiAgICAgICAgICAgICAvKiBu byBwZW5hbHR5IGZvciBMRkUgY2hhbm5lbCBtaXNtYXRjaCAqLwotICAgICAgICAgICAgaWYgKGF2 X2NoYW5uZWxfbGF5b3V0X2NoYW5uZWxfZnJvbV9pbmRleCgmaW5fY2hsYXlvdXQsICBBVl9DSEFO X0xPV19GUkVRVUVOQ1kpID49IDAgJiYKLSAgICAgICAgICAgICAgICBhdl9jaGFubmVsX2xheW91 dF9jaGFubmVsX2Zyb21faW5kZXgoJm91dF9jaGxheW91dCwgQVZfQ0hBTl9MT1dfRlJFUVVFTkNZ KSA+PSAwKQorICAgICAgICAgICAgaWYgKGF2X2NoYW5uZWxfbGF5b3V0X2luZGV4X2Zyb21fY2hh bm5lbCgmaW5fY2hsYXlvdXQsICBBVl9DSEFOX0xPV19GUkVRVUVOQ1kpID49IDAgJiYKKyAgICAg ICAgICAgICAgICBhdl9jaGFubmVsX2xheW91dF9pbmRleF9mcm9tX2NoYW5uZWwoJm91dF9jaGxh eW91dCwgQVZfQ0hBTl9MT1dfRlJFUVVFTkNZKSA+PSAwKQogICAgICAgICAgICAgICAgIHNjb3Jl ICs9IDEwOwogICAgICAgICAgICAgYXZfY2hhbm5lbF9sYXlvdXRfZnJvbV9tYXNrKCZpbl9jaGxh eW91dCwgYXZfY2hhbm5lbF9sYXlvdXRfc3Vic2V0KCZpbl9jaGxheW91dCwgfkFWX0NIX0xPV19G UkVRVUVOQ1kpKTsKICAgICAgICAgICAgIGF2X2NoYW5uZWxfbGF5b3V0X2Zyb21fbWFzaygmb3V0 X2NobGF5b3V0LCBhdl9jaGFubmVsX2xheW91dF9zdWJzZXQoJm91dF9jaGxheW91dCwgfkFWX0NI X0xPV19GUkVRVUVOQ1kpKTsKLS0gCjIuNDkuMQoKCkZyb20gNGM3OGEzNTdkMDgyYjEwOTdjNDI2 OWRkMWFmMTE2YmIwMWRkYzgzZSBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKRnJvbTogSmFtZXMg QWxtZXIgPGphbXJpYWxAZ21haWwuY29tPgpEYXRlOiBGcmksIDE2IE1heSAyMDI1IDE2OjU0OjUy IC0wMzAwClN1YmplY3Q6IFtQQVRDSCAyNTQvNDM0XSBhdmNvZGVjL2xjZXZjZGVjOiBkb24ndCB0 cnkgdG8gd3JpdGUgdG8gb3V0cHV0IGZyYW1lcwogZGlyZWN0bHkKClRoZSBidWZmZXIgcmVmZXJl bmNlcyBtYXkgbm90IGJlIHdyaXRhYmxlIGF0IHRoaXMgcG9pbnQsIGFzIHRoZSBkZWNvZGVyCmNh bGxzIGdldF9idWZmZXIyKCkgd2l0aCB0aGUgQVZfR0VUX0JVRkZFUl9GTEFHX1JFRiBmbGFnLgoK Rml4ZXMgcmFjZXMgYXMgcmVwb3J0ZWQgYnkgdHNhbiwgcHJvZHVjaW5nIGNvcnJlY3Qgb3V0cHV0 IHJlZ2FyZGxlc3Mgb2YKdGhyZWFkaW5nIGNob2ljZXMuCgpTaWduZWQtb2ZmLWJ5OiBKYW1lcyBB bG1lciA8amFtcmlhbEBnbWFpbC5jb20+CihjaGVycnkgcGlja2VkIGZyb20gY29tbWl0IDhlYWU2 NWRjNWM4OTYwYzk3NzAwMTc3MzdkOTY4ZWNhMmFhN2Y1MDIpCi0tLQogbGliYXZjb2RlYy9kZWNv ZGUuYyAgIHwgMzkgKysrKysrKysrKysrKysrKysrKystLS0tCiBsaWJhdmNvZGVjL2xjZXZjZGVj LmMgfCA2OSArKysrKysrKysrKysrKysrKysrKysrKystLS0tLS0tLS0tLS0tLS0tLS0tCiBsaWJh dmNvZGVjL2xjZXZjZGVjLmggfCAgNSArKysrCiAzIGZpbGVzIGNoYW5nZWQsIDc4IGluc2VydGlv bnMoKyksIDM1IGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL2xpYmF2Y29kZWMvZGVjb2RlLmMg Yi9saWJhdmNvZGVjL2RlY29kZS5jCmluZGV4IDE0OGFmNzFhYzQuLjgyODAxMzE5N2MgMTAwNjQ0 Ci0tLSBhL2xpYmF2Y29kZWMvZGVjb2RlLmMKKysrIGIvbGliYXZjb2RlYy9kZWNvZGUuYwpAQCAt MTY3MSwyMiArMTY3MSw0OSBAQCBzdGF0aWMgdm9pZCB1cGRhdGVfZnJhbWVfcHJvcHMoQVZDb2Rl Y0NvbnRleHQgKmF2Y3R4LCBBVkZyYW1lICpmcmFtZSkKICAgICB9CiB9CiAKLXN0YXRpYyB2b2lk IGF0dGFjaF9wb3N0X3Byb2Nlc3NfZGF0YShBVkNvZGVjQ29udGV4dCAqYXZjdHgsIEFWRnJhbWUg KmZyYW1lKQorc3RhdGljIGludCBhdHRhY2hfcG9zdF9wcm9jZXNzX2RhdGEoQVZDb2RlY0NvbnRl eHQgKmF2Y3R4LCBBVkZyYW1lICpmcmFtZSkKIHsKICAgICBBVkNvZGVjSW50ZXJuYWwgICAgKmF2 Y2kgPSBhdmN0eC0+aW50ZXJuYWw7CiAgICAgRGVjb2RlQ29udGV4dCAgICAgICAgKmRjID0gZGVj b2RlX2N0eChhdmNpKTsKIAogICAgIGlmIChkYy0+bGNldmNfZnJhbWUpIHsKICAgICAgICAgRnJh bWVEZWNvZGVEYXRhICpmZGQgPSAoRnJhbWVEZWNvZGVEYXRhKilmcmFtZS0+cHJpdmF0ZV9yZWYt PmRhdGE7CisgICAgICAgIEZGTENFVkNGcmFtZSAqZnJhbWVfY3R4OworICAgICAgICBpbnQgcmV0 OwogCi0gICAgICAgIGZkZC0+cG9zdF9wcm9jZXNzX29wYXF1ZSA9IGZmX3JlZnN0cnVjdF9yZWYo ZGMtPmxjZXZjKTsKLSAgICAgICAgZmRkLT5wb3N0X3Byb2Nlc3Nfb3BhcXVlX2ZyZWUgPSBmZl9s Y2V2Y191bnJlZjsKLSAgICAgICAgZmRkLT5wb3N0X3Byb2Nlc3MgPSBmZl9sY2V2Y19wcm9jZXNz OworICAgICAgICBmcmFtZV9jdHggPSBhdl9tYWxsb2N6KHNpemVvZigqZnJhbWVfY3R4KSk7Cisg ICAgICAgIGlmICghZnJhbWVfY3R4KQorICAgICAgICAgICAgcmV0dXJuIEFWRVJST1IoRU5PTUVN KTsKKworICAgICAgICBmcmFtZV9jdHgtPmZyYW1lID0gYXZfZnJhbWVfYWxsb2MoKTsKKyAgICAg ICAgaWYgKCFmcmFtZV9jdHgtPmZyYW1lKSB7CisgICAgICAgICAgICBhdl9mcmVlKGZyYW1lX2N0 eCk7CisgICAgICAgICAgICByZXR1cm4gQVZFUlJPUihFTk9NRU0pOworICAgICAgICB9CisKKyAg ICAgICAgZnJhbWVfY3R4LT5sY2V2YyA9IGZmX3JlZnN0cnVjdF9yZWYoZGMtPmxjZXZjKTsKKyAg ICAgICAgZnJhbWVfY3R4LT5mcmFtZS0+d2lkdGggID0gZnJhbWUtPndpZHRoOworICAgICAgICBm cmFtZV9jdHgtPmZyYW1lLT5oZWlnaHQgPSBmcmFtZS0+aGVpZ2h0OworICAgICAgICBmcmFtZV9j dHgtPmZyYW1lLT5mb3JtYXQgPSBmcmFtZS0+Zm9ybWF0OwogCiAgICAgICAgIGZyYW1lLT53aWR0 aCAgPSBkYy0+d2lkdGg7CiAgICAgICAgIGZyYW1lLT5oZWlnaHQgPSBkYy0+aGVpZ2h0OworCisg ICAgICAgIHJldCA9IGF2Y3R4LT5nZXRfYnVmZmVyMihhdmN0eCwgZnJhbWVfY3R4LT5mcmFtZSwg MCk7CisgICAgICAgIGlmIChyZXQgPCAwKSB7CisgICAgICAgICAgICBmZl9sY2V2Y191bnJlZihm cmFtZV9jdHgpOworICAgICAgICAgICAgcmV0dXJuIHJldDsKKyAgICAgICAgfQorCisgICAgICAg IHZhbGlkYXRlX2F2ZnJhbWVfYWxsb2NhdGlvbihhdmN0eCwgZnJhbWVfY3R4LT5mcmFtZSk7CisK KyAgICAgICAgZmRkLT5wb3N0X3Byb2Nlc3Nfb3BhcXVlID0gZnJhbWVfY3R4OworICAgICAgICBm ZGQtPnBvc3RfcHJvY2Vzc19vcGFxdWVfZnJlZSA9IGZmX2xjZXZjX3VucmVmOworICAgICAgICBm ZGQtPnBvc3RfcHJvY2VzcyA9IGZmX2xjZXZjX3Byb2Nlc3M7CiAgICAgfQogICAgIGRjLT5sY2V2 Y19mcmFtZSA9IDA7CisKKyAgICByZXR1cm4gMDsKIH0KIAogaW50IGZmX2dldF9idWZmZXIoQVZD b2RlY0NvbnRleHQgKmF2Y3R4LCBBVkZyYW1lICpmcmFtZSwgaW50IGZsYWdzKQpAQCAtMTc0Nyw3 ICsxNzc0LDkgQEAgaW50IGZmX2dldF9idWZmZXIoQVZDb2RlY0NvbnRleHQgKmF2Y3R4LCBBVkZy YW1lICpmcmFtZSwgaW50IGZsYWdzKQogICAgIGlmIChyZXQgPCAwKQogICAgICAgICBnb3RvIGZh aWw7CiAKLSAgICBhdHRhY2hfcG9zdF9wcm9jZXNzX2RhdGEoYXZjdHgsIGZyYW1lKTsKKyAgICBy ZXQgPSBhdHRhY2hfcG9zdF9wcm9jZXNzX2RhdGEoYXZjdHgsIGZyYW1lKTsKKyAgICBpZiAocmV0 IDwgMCkKKyAgICAgICAgZ290byBmYWlsOwogCiBlbmQ6CiAgICAgaWYgKGF2Y3R4LT5jb2RlY190 eXBlID09IEFWTUVESUFfVFlQRV9WSURFTyAmJiAhb3ZlcnJpZGVfZGltZW5zaW9ucyAmJgpkaWZm IC0tZ2l0IGEvbGliYXZjb2RlYy9sY2V2Y2RlYy5jIGIvbGliYXZjb2RlYy9sY2V2Y2RlYy5jCmlu ZGV4IGNlZWVjZTNhYTkuLjYwMWU5N2IzYTEgMTAwNjQ0Ci0tLSBhL2xpYmF2Y29kZWMvbGNldmNk ZWMuYworKysgYi9saWJhdmNvZGVjL2xjZXZjZGVjLmMKQEAgLTQ1LDcgKzQ1LDcgQEAgc3RhdGlj IExDRVZDX0NvbG9yRm9ybWF0IG1hcF9mb3JtYXQoaW50IGZvcm1hdCkKICAgICByZXR1cm4gTENF VkNfQ29sb3JGb3JtYXRfVW5rbm93bjsKIH0KIAotc3RhdGljIGludCBhbGxvY19iYXNlX2ZyYW1l KHZvaWQgKmxvZ2N0eCwgTENFVkNfRGVjb2RlckhhbmRsZSBkZWNvZGVyLAorc3RhdGljIGludCBh bGxvY19iYXNlX2ZyYW1lKHZvaWQgKmxvZ2N0eCwgRkZMQ0VWQ0NvbnRleHQgKmxjZXZjLAogICAg ICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IEFWRnJhbWUgKmZyYW1lLCBMQ0VWQ19QaWN0 dXJlSGFuZGxlICpwaWN0dXJlKQogewogICAgIExDRVZDX1BpY3R1cmVEZXNjIGRlc2M7CkBAIC02 OCwyMiArNjgsMjIgQEAgc3RhdGljIGludCBhbGxvY19iYXNlX2ZyYW1lKHZvaWQgKmxvZ2N0eCwg TENFVkNfRGVjb2RlckhhbmRsZSBkZWNvZGVyLAogICAgIGRlc2Muc2FtcGxlQXNwZWN0UmF0aW9E ZW4gID0gZnJhbWUtPnNhbXBsZV9hc3BlY3RfcmF0aW8uZGVuOwogCiAgICAgLyogQWxsb2NhdGUg TENFVkMgUGljdHVyZSAqLwotICAgIHJlcyA9IExDRVZDX0FsbG9jUGljdHVyZShkZWNvZGVyLCAm ZGVzYywgcGljdHVyZSk7CisgICAgcmVzID0gTENFVkNfQWxsb2NQaWN0dXJlKGxjZXZjLT5kZWNv ZGVyLCAmZGVzYywgcGljdHVyZSk7CiAgICAgaWYgKHJlcyAhPSBMQ0VWQ19TdWNjZXNzKSB7CiAg ICAgICAgIHJldHVybiBBVkVSUk9SX0VYVEVSTkFMOwogICAgIH0KLSAgICByZXMgPSBMQ0VWQ19M b2NrUGljdHVyZShkZWNvZGVyLCAqcGljdHVyZSwgTENFVkNfQWNjZXNzX1dyaXRlLCAmbG9jayk7 CisgICAgcmVzID0gTENFVkNfTG9ja1BpY3R1cmUobGNldmMtPmRlY29kZXIsICpwaWN0dXJlLCBM Q0VWQ19BY2Nlc3NfV3JpdGUsICZsb2NrKTsKICAgICBpZiAocmVzICE9IExDRVZDX1N1Y2Nlc3Mp CiAgICAgICAgIHJldHVybiBBVkVSUk9SX0VYVEVSTkFMOwogCi0gICAgcmVzID0gTENFVkNfR2V0 UGljdHVyZVBsYW5lQ291bnQoZGVjb2RlciwgKnBpY3R1cmUsICZwbGFuZXMpOworICAgIHJlcyA9 IExDRVZDX0dldFBpY3R1cmVQbGFuZUNvdW50KGxjZXZjLT5kZWNvZGVyLCAqcGljdHVyZSwgJnBs YW5lcyk7CiAgICAgaWYgKHJlcyAhPSBMQ0VWQ19TdWNjZXNzKQogICAgICAgICByZXR1cm4gQVZF UlJPUl9FWFRFUk5BTDsKIAogICAgIGZvciAodW5zaWduZWQgaSA9IDA7IGkgPCBwbGFuZXM7IGkr KykgewogICAgICAgICBMQ0VWQ19QaWN0dXJlUGxhbmVEZXNjIHBsYW5lOwogCi0gICAgICAgIHJl cyA9IExDRVZDX0dldFBpY3R1cmVMb2NrUGxhbmVEZXNjKGRlY29kZXIsIGxvY2ssIGksICZwbGFu ZSk7CisgICAgICAgIHJlcyA9IExDRVZDX0dldFBpY3R1cmVMb2NrUGxhbmVEZXNjKGxjZXZjLT5k ZWNvZGVyLCBsb2NrLCBpLCAmcGxhbmUpOwogICAgICAgICBpZiAocmVzICE9IExDRVZDX1N1Y2Nl c3MpCiAgICAgICAgICAgICByZXR1cm4gQVZFUlJPUl9FWFRFUk5BTDsKIApAQCAtOTQsNDMgKzk0 LDQzIEBAIHN0YXRpYyBpbnQgYWxsb2NfYmFzZV9mcmFtZSh2b2lkICpsb2djdHgsIExDRVZDX0Rl Y29kZXJIYW5kbGUgZGVjb2RlciwKICAgICBhdl9pbWFnZV9jb3B5MihkYXRhLCBsaW5lc2l6ZXMs IGZyYW1lLT5kYXRhLCBmcmFtZS0+bGluZXNpemUsCiAgICAgICAgICAgICAgICAgICAgZnJhbWUt PmZvcm1hdCwgZnJhbWUtPndpZHRoLCBmcmFtZS0+aGVpZ2h0KTsKIAotICAgIHJlcyA9IExDRVZD X1VubG9ja1BpY3R1cmUoZGVjb2RlciwgbG9jayk7CisgICAgcmVzID0gTENFVkNfVW5sb2NrUGlj dHVyZShsY2V2Yy0+ZGVjb2RlciwgbG9jayk7CiAgICAgaWYgKHJlcyAhPSBMQ0VWQ19TdWNjZXNz KQogICAgICAgICByZXR1cm4gQVZFUlJPUl9FWFRFUk5BTDsKIAogICAgIHJldHVybiAwOwogfQog Ci1zdGF0aWMgaW50IGFsbG9jX2VuaGFuY2VkX2ZyYW1lKHZvaWQgKmxvZ2N0eCwgTENFVkNfRGVj b2RlckhhbmRsZSBkZWNvZGVyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25z dCBBVkZyYW1lICpmcmFtZSwgTENFVkNfUGljdHVyZUhhbmRsZSAqcGljdHVyZSkKK3N0YXRpYyBp bnQgYWxsb2NfZW5oYW5jZWRfZnJhbWUodm9pZCAqbG9nY3R4LCBGRkxDRVZDRnJhbWUgKmZyYW1l X2N0eCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTENFVkNfUGljdHVyZUhhbmRs ZSAqcGljdHVyZSkKIHsKKyAgICBGRkxDRVZDQ29udGV4dCAqbGNldmMgPSBmcmFtZV9jdHgtPmxj ZXZjOwogICAgIExDRVZDX1BpY3R1cmVEZXNjIGRlc2MgOwotICAgIExDRVZDX0NvbG9yRm9ybWF0 IGZtdCA9IG1hcF9mb3JtYXQoZnJhbWUtPmZvcm1hdCk7CisgICAgTENFVkNfQ29sb3JGb3JtYXQg Zm10ID0gbWFwX2Zvcm1hdChmcmFtZV9jdHgtPmZyYW1lLT5mb3JtYXQpOwogICAgIExDRVZDX1Bp Y3R1cmVQbGFuZURlc2MgcGxhbmVzWzRdID0geyAwIH07Ci0gICAgaW50IHdpZHRoID0gZnJhbWUt PndpZHRoICogMiAvIEZGTUFYKGZyYW1lLT5zYW1wbGVfYXNwZWN0X3JhdGlvLmRlbiwgMSk7Ci0g ICAgaW50IGhlaWdodCA9IGZyYW1lLT5oZWlnaHQgKiAyIC8gRkZNQVgoZnJhbWUtPnNhbXBsZV9h c3BlY3RfcmF0aW8ubnVtLCAxKTsKICAgICBMQ0VWQ19SZXR1cm5Db2RlIHJlczsKIAotICAgIHJl cyA9IExDRVZDX0RlZmF1bHRQaWN0dXJlRGVzYygmZGVzYywgZm10LCB3aWR0aCwgaGVpZ2h0KTsK KyAgICByZXMgPSBMQ0VWQ19EZWZhdWx0UGljdHVyZURlc2MoJmRlc2MsIGZtdCwgZnJhbWVfY3R4 LT5mcmFtZS0+d2lkdGgsIGZyYW1lX2N0eC0+ZnJhbWUtPmhlaWdodCk7CiAgICAgaWYgKHJlcyAh PSBMQ0VWQ19TdWNjZXNzKQogICAgICAgICByZXR1cm4gQVZFUlJPUl9FWFRFUk5BTDsKIAogICAg IC8qIFNldCBwbGFuZSBkZXNjcmlwdGlvbiAqLwogICAgIGZvciAoaW50IGkgPSAwOyBpIDwgNDsg aSsrKSB7Ci0gICAgICAgIHBsYW5lc1tpXS5maXJzdFNhbXBsZSA9IGZyYW1lLT5kYXRhW2ldOwot ICAgICAgICBwbGFuZXNbaV0ucm93Qnl0ZVN0cmlkZSA9IGZyYW1lLT5saW5lc2l6ZVtpXTsKKyAg ICAgICAgcGxhbmVzW2ldLmZpcnN0U2FtcGxlID0gZnJhbWVfY3R4LT5mcmFtZS0+ZGF0YVtpXTsK KyAgICAgICAgcGxhbmVzW2ldLnJvd0J5dGVTdHJpZGUgPSBmcmFtZV9jdHgtPmZyYW1lLT5saW5l c2l6ZVtpXTsKICAgICB9CiAKICAgICAvKiBBbGxvY2F0ZSBMQ0VWQyBQaWN0dXJlICovCi0gICAg cmVzID0gTENFVkNfQWxsb2NQaWN0dXJlRXh0ZXJuYWwoZGVjb2RlciwgJmRlc2MsIE5VTEwsIHBs YW5lcywgcGljdHVyZSk7CisgICAgcmVzID0gTENFVkNfQWxsb2NQaWN0dXJlRXh0ZXJuYWwobGNl dmMtPmRlY29kZXIsICZkZXNjLCBOVUxMLCBwbGFuZXMsIHBpY3R1cmUpOwogICAgIGlmIChyZXMg IT0gTENFVkNfU3VjY2VzcykgewogICAgICAgICByZXR1cm4gQVZFUlJPUl9FWFRFUk5BTDsKICAg ICB9CiAgICAgcmV0dXJuIDA7CiB9CiAKLXN0YXRpYyBpbnQgbGNldmNfc2VuZF9mcmFtZSh2b2lk ICpsb2djdHgsIEZGTENFVkNDb250ZXh0ICpsY2V2YywgY29uc3QgQVZGcmFtZSAqaW4pCitzdGF0 aWMgaW50IGxjZXZjX3NlbmRfZnJhbWUodm9pZCAqbG9nY3R4LCBGRkxDRVZDRnJhbWUgKmZyYW1l X2N0eCwgY29uc3QgQVZGcmFtZSAqaW4pCiB7CisgICAgRkZMQ0VWQ0NvbnRleHQgKmxjZXZjID0g ZnJhbWVfY3R4LT5sY2V2YzsKICAgICBjb25zdCBBVkZyYW1lU2lkZURhdGEgKnNkID0gYXZfZnJh bWVfZ2V0X3NpZGVfZGF0YShpbiwgQVZfRlJBTUVfREFUQV9MQ0VWQyk7CiAgICAgTENFVkNfUGlj dHVyZUhhbmRsZSBwaWN0dXJlOwogICAgIExDRVZDX1JldHVybkNvZGUgcmVzOwpAQCAtMTQzLDcg KzE0Myw3IEBAIHN0YXRpYyBpbnQgbGNldmNfc2VuZF9mcmFtZSh2b2lkICpsb2djdHgsIEZGTENF VkNDb250ZXh0ICpsY2V2YywgY29uc3QgQVZGcmFtZSAqCiAgICAgaWYgKHJlcyAhPSBMQ0VWQ19T dWNjZXNzKQogICAgICAgICByZXR1cm4gQVZFUlJPUl9FWFRFUk5BTDsKIAotICAgIHJldCA9IGFs bG9jX2Jhc2VfZnJhbWUobG9nY3R4LCBsY2V2Yy0+ZGVjb2RlciwgaW4sICZwaWN0dXJlKTsKKyAg ICByZXQgPSBhbGxvY19iYXNlX2ZyYW1lKGxvZ2N0eCwgbGNldmMsIGluLCAmcGljdHVyZSk7CiAg ICAgaWYgKHJldCA8IDApCiAgICAgICAgIHJldHVybiByZXQ7CiAKQEAgLTE1Miw3ICsxNTIsNyBA QCBzdGF0aWMgaW50IGxjZXZjX3NlbmRfZnJhbWUodm9pZCAqbG9nY3R4LCBGRkxDRVZDQ29udGV4 dCAqbGNldmMsIGNvbnN0IEFWRnJhbWUgKgogICAgICAgICByZXR1cm4gQVZFUlJPUl9FWFRFUk5B TDsKIAogICAgIG1lbXNldCgmcGljdHVyZSwgMCwgc2l6ZW9mKHBpY3R1cmUpKTsKLSAgICByZXQg PSBhbGxvY19lbmhhbmNlZF9mcmFtZShsb2djdHgsIGxjZXZjLT5kZWNvZGVyLCBpbiwgJnBpY3R1 cmUpOworICAgIHJldCA9IGFsbG9jX2VuaGFuY2VkX2ZyYW1lKGxvZ2N0eCwgZnJhbWVfY3R4LCAm cGljdHVyZSk7CiAgICAgaWYgKHJldCA8IDApCiAgICAgICAgIHJldHVybiByZXQ7CiAKQEAgLTE2 Myw4ICsxNjMsOSBAQCBzdGF0aWMgaW50IGxjZXZjX3NlbmRfZnJhbWUodm9pZCAqbG9nY3R4LCBG RkxDRVZDQ29udGV4dCAqbGNldmMsIGNvbnN0IEFWRnJhbWUgKgogICAgIHJldHVybiAwOwogfQog Ci1zdGF0aWMgaW50IGdlbmVyYXRlX291dHB1dCh2b2lkICpsb2djdHgsIEZGTENFVkNDb250ZXh0 ICpsY2V2YywgQVZGcmFtZSAqb3V0KQorc3RhdGljIGludCBnZW5lcmF0ZV9vdXRwdXQodm9pZCAq bG9nY3R4LCBGRkxDRVZDRnJhbWUgKmZyYW1lX2N0eCwgQVZGcmFtZSAqb3V0KQogeworICAgIEZG TENFVkNDb250ZXh0ICpsY2V2YyA9IGZyYW1lX2N0eC0+bGNldmM7CiAgICAgTENFVkNfUGljdHVy ZURlc2MgZGVzYzsKICAgICBMQ0VWQ19EZWNvZGVJbmZvcm1hdGlvbiBpbmZvOwogICAgIExDRVZD X1BpY3R1cmVIYW5kbGUgcGljdHVyZTsKQEAgLTE4NCw2ICsxODUsMTEgQEAgc3RhdGljIGludCBn ZW5lcmF0ZV9vdXRwdXQodm9pZCAqbG9nY3R4LCBGRkxDRVZDQ29udGV4dCAqbGNldmMsIEFWRnJh bWUgKm91dCkKICAgICBvdXQtPmNyb3BfcmlnaHQgPSBkZXNjLmNyb3BSaWdodDsKICAgICBvdXQt PnNhbXBsZV9hc3BlY3RfcmF0aW8ubnVtID0gZGVzYy5zYW1wbGVBc3BlY3RSYXRpb051bTsKICAg ICBvdXQtPnNhbXBsZV9hc3BlY3RfcmF0aW8uZGVuID0gZGVzYy5zYW1wbGVBc3BlY3RSYXRpb0Rl bjsKKworICAgIGF2X2ZyYW1lX2NvcHlfcHJvcHMoZnJhbWVfY3R4LT5mcmFtZSwgb3V0KTsKKyAg ICBhdl9mcmFtZV91bnJlZihvdXQpOworICAgIGF2X2ZyYW1lX21vdmVfcmVmKG91dCwgZnJhbWVf Y3R4LT5mcmFtZSk7CisKICAgICBvdXQtPndpZHRoID0gZGVzYy53aWR0aCArIG91dC0+Y3JvcF9s ZWZ0ICsgb3V0LT5jcm9wX3JpZ2h0OwogICAgIG91dC0+aGVpZ2h0ID0gZGVzYy5oZWlnaHQgKyBv dXQtPmNyb3BfdG9wICsgb3V0LT5jcm9wX2JvdHRvbTsKIApAQCAtMTk0LDEzICsyMDAsMTQgQEAg c3RhdGljIGludCBnZW5lcmF0ZV9vdXRwdXQodm9pZCAqbG9nY3R4LCBGRkxDRVZDQ29udGV4dCAq bGNldmMsIEFWRnJhbWUgKm91dCkKICAgICByZXR1cm4gMDsKIH0KIAotc3RhdGljIGludCBsY2V2 Y19yZWNlaXZlX2ZyYW1lKHZvaWQgKmxvZ2N0eCwgRkZMQ0VWQ0NvbnRleHQgKmxjZXZjLCBBVkZy YW1lICpvdXQpCitzdGF0aWMgaW50IGxjZXZjX3JlY2VpdmVfZnJhbWUodm9pZCAqbG9nY3R4LCBG RkxDRVZDRnJhbWUgKmZyYW1lX2N0eCwgQVZGcmFtZSAqb3V0KQogeworICAgIEZGTENFVkNDb250 ZXh0ICpsY2V2YyA9IGZyYW1lX2N0eC0+bGNldmM7CiAgICAgTENFVkNfUGljdHVyZUhhbmRsZSBw aWN0dXJlOwogICAgIExDRVZDX1JldHVybkNvZGUgcmVzOwogICAgIGludCByZXQ7CiAKLSAgICBy ZXQgPSBnZW5lcmF0ZV9vdXRwdXQobG9nY3R4LCBsY2V2Yywgb3V0KTsKKyAgICByZXQgPSBnZW5l cmF0ZV9vdXRwdXQobG9nY3R4LCBmcmFtZV9jdHgsIG91dCk7CiAgICAgaWYgKHJldCA8IDApCiAg ICAgICAgIHJldHVybiByZXQ7CiAKQEAgLTI0NywxMiArMjU0LDcgQEAgc3RhdGljIGludCBsY2V2 Y19pbml0KEZGTENFVkNDb250ZXh0ICpsY2V2Yywgdm9pZCAqbG9nY3R4KQogI2lmIENPTkZJR19M SUJMQ0VWQ19ERUMKICAgICBMQ0VWQ19BY2NlbENvbnRleHRIYW5kbGUgZHVtbXkgPSB7IDAgfTsK ICAgICBjb25zdCBpbnQzMl90IGV2ZW50ID0gTENFVkNfTG9nOwotI2VuZGlmCiAKLSAgICBpZiAo bGNldmMtPmluaXRpYWxpemVkKQotICAgICAgICByZXR1cm4gMDsKLQotI2lmIENPTkZJR19MSUJM Q0VWQ19ERUMKICAgICBpZiAoTENFVkNfQ3JlYXRlRGVjb2RlcigmbGNldmMtPmRlY29kZXIsIGR1 bW15KSAhPSBMQ0VWQ19TdWNjZXNzKSB7CiAgICAgICAgIGF2X2xvZyhsb2djdHgsIEFWX0xPR19F UlJPUiwgIkZhaWxlZCB0byBjcmVhdGUgTENFVkMgZGVjb2RlclxuIik7CiAgICAgICAgIHJldHVy biBBVkVSUk9SX0VYVEVSTkFMOwpAQCAtMjc3LDcgKzI3OSw4IEBAIHN0YXRpYyBpbnQgbGNldmNf aW5pdChGRkxDRVZDQ29udGV4dCAqbGNldmMsIHZvaWQgKmxvZ2N0eCkKIGludCBmZl9sY2V2Y19w cm9jZXNzKHZvaWQgKmxvZ2N0eCwgQVZGcmFtZSAqZnJhbWUpCiB7CiAgICAgRnJhbWVEZWNvZGVE YXRhICAqZmRkID0gKEZyYW1lRGVjb2RlRGF0YSopZnJhbWUtPnByaXZhdGVfcmVmLT5kYXRhOwot ICAgIEZGTENFVkNDb250ZXh0ICpsY2V2YyA9IGZkZC0+cG9zdF9wcm9jZXNzX29wYXF1ZTsKKyAg ICBGRkxDRVZDRnJhbWUgKmZyYW1lX2N0eCA9IGZkZC0+cG9zdF9wcm9jZXNzX29wYXF1ZTsKKyAg ICBGRkxDRVZDQ29udGV4dCAqbGNldmMgPSBmcmFtZV9jdHgtPmxjZXZjOwogICAgIGludCByZXQ7 CiAKICAgICBpZiAoIWxjZXZjLT5pbml0aWFsaXplZCkgewpAQCAtMjg3LDExICsyOTAsMTQgQEAg aW50IGZmX2xjZXZjX3Byb2Nlc3Modm9pZCAqbG9nY3R4LCBBVkZyYW1lICpmcmFtZSkKICAgICB9 CiAKICNpZiBDT05GSUdfTElCTENFVkNfREVDCi0gICAgcmV0ID0gbGNldmNfc2VuZF9mcmFtZShs b2djdHgsIGxjZXZjLCBmcmFtZSk7CisgICAgYXZfYXNzZXJ0MChmcmFtZV9jdHgtPmZyYW1lKTsK KworCisgICAgcmV0ID0gbGNldmNfc2VuZF9mcmFtZShsb2djdHgsIGZyYW1lX2N0eCwgZnJhbWUp OwogICAgIGlmIChyZXQpCiAgICAgICAgIHJldHVybiByZXQgPCAwID8gcmV0IDogMDsKIAotICAg IGxjZXZjX3JlY2VpdmVfZnJhbWUobG9nY3R4LCBsY2V2YywgZnJhbWUpOworICAgIGxjZXZjX3Jl Y2VpdmVfZnJhbWUobG9nY3R4LCBmcmFtZV9jdHgsIGZyYW1lKTsKICAgICBpZiAocmV0IDwgMCkK ICAgICAgICAgcmV0dXJuIHJldDsKIApAQCAtMzE1LDUgKzMyMSw4IEBAIGludCBmZl9sY2V2Y19h bGxvYyhGRkxDRVZDQ29udGV4dCAqKnBsY2V2YykKIAogdm9pZCBmZl9sY2V2Y191bnJlZih2b2lk ICpvcGFxdWUpCiB7Ci0gICAgZmZfcmVmc3RydWN0X3VucmVmKCZvcGFxdWUpOworICAgIEZGTENF VkNGcmFtZSAqbGNldmMgPSBvcGFxdWU7CisgICAgZmZfcmVmc3RydWN0X3VucmVmKCZsY2V2Yy0+ bGNldmMpOworICAgIGF2X2ZyYW1lX2ZyZWUoJmxjZXZjLT5mcmFtZSk7CisgICAgYXZfZnJlZShv cGFxdWUpOwogfQpkaWZmIC0tZ2l0IGEvbGliYXZjb2RlYy9sY2V2Y2RlYy5oIGIvbGliYXZjb2Rl Yy9sY2V2Y2RlYy5oCmluZGV4IDczMzRkM2E2NDUuLmYwZDE3YzA0MTIgMTAwNjQ0Ci0tLSBhL2xp YmF2Y29kZWMvbGNldmNkZWMuaAorKysgYi9saWJhdmNvZGVjL2xjZXZjZGVjLmgKQEAgLTM2LDYg KzM2LDExIEBAIHR5cGVkZWYgc3RydWN0IEZGTENFVkNDb250ZXh0IHsKIAogc3RydWN0IEFWRnJh bWU7CiAKK3R5cGVkZWYgc3RydWN0IEZGTENFVkNGcmFtZSB7CisgICAgRkZMQ0VWQ0NvbnRleHQg KmxjZXZjOworICAgIHN0cnVjdCBBVkZyYW1lICpmcmFtZTsKK30gRkZMQ0VWQ0ZyYW1lOworCiBp bnQgZmZfbGNldmNfYWxsb2MoRkZMQ0VWQ0NvbnRleHQgKipwbGNldmMpOwogaW50IGZmX2xjZXZj X3Byb2Nlc3Modm9pZCAqbG9nY3R4LCBzdHJ1Y3QgQVZGcmFtZSAqZnJhbWUpOwogdm9pZCBmZl9s Y2V2Y191bnJlZih2b2lkICpvcGFxdWUpOwotLSAKMi40OS4xCgoKRnJvbSA5MzczYjQ0MmE2ODk0 NTViYjVmY2ZkZGNmZTcwZGZiOGU0MzUyZmJjIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQpGcm9t OiBDb2lhIFByYW50IDxjb2lhcHJhbnRAZ21haWwuY29tPgpEYXRlOiBGcmksIDIzIE1heSAyMDI1 IDE3OjMyOjAwICswODAwClN1YmplY3Q6IFtQQVRDSCAyNTUvNDM0XSBjb25maWd1cmU6IFVzZSBN U1lTVEVNX0NBUkNIIGZvciBkZWZhdWx0IGFyY2ggb24KIG1zeXMyCk1JTUUtVmVyc2lvbjogMS4w CkNvbnRlbnQtVHlwZTogdGV4dC9wbGFpbjsgY2hhcnNldD1VVEYtOApDb250ZW50LVRyYW5zZmVy LUVuY29kaW5nOiA4Yml0CgpPbiBtc3lzMiwgYHVuYW1lIC1tYCByZXR1cm5zIHRoZSBhcmNoaXRl Y3R1cmUgb2YgdGhlIGJhc2UgbXN5czIKbGF5ZXIuIE9uIFdpbmRvd3Mgb24gYXJtNjQsIHRoZSBi YXNlIG1zeXMyIGxheWVyIGl0c2VsZiBpcyBzdGlsbAp4ODZfNjQgb25seSwgZXZlbiBpZiBydW5u aW5nIHdpdGggZS5nLiB0aGUgY2xhbmdhcm02NCB3aGVyZSB0aGUKd2luZG93cyBuYXRpdmUgYXBw bGljYXRpb25zIGFyZSBidWlsdCBhcyBhYXJjaDY0LgoKSWYgTVNZU1RFTV9DQVJDSCBpcyBzZXQs IHVzZSB0aGlzIGluc3RlYWQgb2YgYHVuYW1lIC1tYCBmb3IKdGhlIGRlZmF1bHQgYXJjaGl0ZWN0 dXJlLiBUaGlzIGdpdmVzIHRoZSBjb3JyZWN0IGJlaGF2aW91cgpmb3IgdGhlIGNsYW5nYXJtNjQg ZW52aXJvbm1lbnRzLiBJdCBhbHNvIGdpdmVzIHRoZSBjb3JyZWN0CmRlZmF1bHQgZm9yIHRoZSAz MiBiaXQgeDg2IGVudmlyb25tZW50cyBzdWNoIGFzIGBtaW5ndzMyYC4KCihPbiBgbWluZ3czMmAs IHRoZSBmYWN0IHRoYXQgYHVuYW1lIC1tYCByZXR1cm5lZCBgeDg2XzY0YApoYXNuJ3QgYmVlbiBh biBpc3N1ZSwgYXMgYm90aCB0aGF0IGFuZCBgaTY4NmAgZ2V0cyBub3JtYWxpemVkCmludG8gYHg4 NmAgaW50ZXJuYWxseSBpbiBmZm1wZWcncyBjb25maWd1cmUuKQoKU2lnbmVkLW9mZi1ieTogQ29p YSBQcmFudCA8Y29pYXByYW50QGdtYWlsLmNvbT4KU2lnbmVkLW9mZi1ieTogTWFydGluIFN0b3Jz asO2IDxtYXJ0aW5AbWFydGluLnN0PgooY2hlcnJ5IHBpY2tlZCBmcm9tIGNvbW1pdCBkZjk2N2Qw OTVhZTZhNDJhNDZjZDRjNDZiOTZkNjFjYzFjMzE5YjIzKQotLS0KIGNvbmZpZ3VyZSB8IDIgKysK IDEgZmlsZSBjaGFuZ2VkLCAyIGluc2VydGlvbnMoKykKCmRpZmYgLS1naXQgYS9jb25maWd1cmUg Yi9jb25maWd1cmUKaW5kZXggMGFhN2I3MmFmMy4uYjU1OWRjYTVkMCAxMDA3NTUKLS0tIGEvY29u ZmlndXJlCisrKyBiL2NvbmZpZ3VyZQpAQCAtNDExMiw2ICs0MTEyLDggQEAgaWYgdGVzdCAiJHRh cmdldF9vc19kZWZhdWx0IiA9IGFpeDsgdGhlbgogICAgIGFyY2hfZGVmYXVsdD0kKHVuYW1lIC1w KQogICAgIHN0cmlwX2RlZmF1bHQ9InN0cmlwIC1YMzJfNjQiCiAgICAgbm1fZGVmYXVsdD0ibm0g LWcgLVgzMl82NCIKK2VsaWYgdGVzdCAiJE1TWVNURU1fQ0FSQ0giICE9ICIiOyB0aGVuCisgICAg YXJjaF9kZWZhdWx0PSIkTVNZU1RFTV9DQVJDSCIKIGVsc2UKICAgICBhcmNoX2RlZmF1bHQ9JCh1 bmFtZSAtbSkKIGZpCi0tIAoyLjQ5LjEKCgpGcm9tIDA3NTVlMDM4Y2E5Y2VlNjA5NGJhNzMxMGY0 YjQwYTMxMDU3MzUwNTUgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCkZyb206IEFuZHJlYXMgUmhl aW5oYXJkdCA8YW5kcmVhcy5yaGVpbmhhcmR0QG91dGxvb2suY29tPgpEYXRlOiBTdW4sIDI1IE1h eSAyMDI1IDA1OjEyOjA1ICswMjAwClN1YmplY3Q6IFtQQVRDSCAyNTYvNDM0XSBhdmZvcm1hdC9t YXRyb3NrYWRlYzogRml4IFZmVyBleHRyYWRhdGEgc2l6ZQoKVGhlIHN0cnVjdHVyZSBpcyBwYWRk ZWQgdG8gYW4gZXZlbiBsZW5ndGggd2l0aCBhbiBpbnRlcm5hbApzaXplIGZpZWxkIHRvIGluZGlj YXRlIHRoZSByZWFsIHNpemUuClRoZSBtYXRyb3NrYS1tYXRyb3NrYS1kaXNwbGF5LW1ldGFkYXRh IHRlc3QgKHdyaXRpbmcgRkZWMQppbiBWRlcgbW9kZSkgd2FzIGFmZmVjdGVkIGJ5IHRoaXMuCkl0 IHNob3VsZCBhbHNvIGZpeCB0aWNrZXQgIzExNjEzLgoKUmV2aWV3ZWQtYnk6IGNvbXBuIDxmZkBo YXdhaWlhbnRlbC5uZXQ+ClNpZ25lZC1vZmYtYnk6IEFuZHJlYXMgUmhlaW5oYXJkdCA8YW5kcmVh cy5yaGVpbmhhcmR0QG91dGxvb2suY29tPgooY2hlcnJ5IHBpY2tlZCBmcm9tIGNvbW1pdCA5MmUz MTBlYjgyZTA0NzEzZTU1ZDI0OGI2NWMyMmYwZWI5NWFmYWRhKQotLS0KIGxpYmF2Zm9ybWF0L21h dHJvc2thZGVjLmMgfCA1ICsrKysrCiAxIGZpbGUgY2hhbmdlZCwgNSBpbnNlcnRpb25zKCspCgpk aWZmIC0tZ2l0IGEvbGliYXZmb3JtYXQvbWF0cm9za2FkZWMuYyBiL2xpYmF2Zm9ybWF0L21hdHJv c2thZGVjLmMKaW5kZXggZWZhM2U0NGM4NS4uMTA1YTkwYTkzNyAxMDA2NDQKLS0tIGEvbGliYXZm b3JtYXQvbWF0cm9za2FkZWMuYworKysgYi9saWJhdmZvcm1hdC9tYXRyb3NrYWRlYy5jCkBAIC0y ODc2LDYgKzI4NzYsMTEgQEAgc3RhdGljIGludCBta3ZfcGFyc2VfdmlkZW9fY29kZWMoTWF0cm9z a2FUcmFjayAqdHJhY2ssIEFWQ29kZWNQYXJhbWV0ZXJzICpwYXIsCiB7CiAgICAgaWYgKCFzdHJj bXAodHJhY2stPmNvZGVjX2lkLCAiVl9NUy9WRlcvRk9VUkNDIikgJiYKICAgICAgICAgdHJhY2st PmNvZGVjX3ByaXYuc2l6ZSA+PSA0MCkgeworICAgICAgICB1aW50MzJfdCBzaXplID0gQVZfUkwz MkEodHJhY2stPmNvZGVjX3ByaXYuZGF0YSk7CisgICAgICAgIC8vIFZGVyBleHRyYWRhdGEgaXMg cGFkZGVkIHRvIGFuIGV2ZW4gbGVuZ3RoLCB5ZXQKKyAgICAgICAgLy8gdGhlIHNpemUgZmllbGQg Y29udGFpbnMgdGhlIHJlYWwgbGVuZ3RoLgorICAgICAgICBpZiAoc2l6ZSAmIDEgJiYgc2l6ZSA9 PSB0cmFjay0+Y29kZWNfcHJpdi5zaXplIC0gMSkKKyAgICAgICAgICAgIC0tdHJhY2stPmNvZGVj X3ByaXYuc2l6ZTsKICAgICAgICAgdHJhY2stPm1zX2NvbXBhdCAgICA9IDE7CiAgICAgICAgIHBh ci0+Yml0c19wZXJfY29kZWRfc2FtcGxlID0gQVZfUkwxNih0cmFjay0+Y29kZWNfcHJpdi5kYXRh ICsgMTQpOwogICAgICAgICBwYXItPmNvZGVjX3RhZyAgICAgID0gQVZfUkwzMih0cmFjay0+Y29k ZWNfcHJpdi5kYXRhICsgMTYpOwotLSAKMi40OS4xCgoKRnJvbSAwZjFmZTNkMTUzZTg4NjliNGU3 NjhhNTQ4YWQ5YjUxNDhhNDUyODBmIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBBbmRy ZWFzIFJoZWluaGFyZHQgPGFuZHJlYXMucmhlaW5oYXJkdEBvdXRsb29rLmNvbT4KRGF0ZTogU3Vu LCAyNSBNYXkgMjAyNSAwMzozMToxNyArMDIwMApTdWJqZWN0OiBbUEFUQ0ggMjU3LzQzNF0gYXZm b3JtYXQvbWF0cm9za2E6IFN1cHBvcnQgSlBFRzIwMDAgZm9yIGRlbXV4aW5nCgpMZWdhbCBzaW5j ZSBjb21taXQgMWNkMGE5YmU0YjJkMWU3YzYwMTg0ZWM2ODQwNGUwMGU0NmUzMTIzZQooSmFuIDQp IGluIHRoZSBDZWxsYXIgTWF0cm9za2Egc3BlY2lmaWNhdGlvbiBnaXQgcmVwby4KV2Ugc3RpbGwg aG9sZCBvdXQgb24gbXV4aW5nIGl0IGR1ZSB0byBjb21wYXRpYmlsaXR5IHdpdGgKb2xkIGRlbXV4 ZXJzLgoKUmV2aWV3ZWQtYnk6IGNvbXBuIDxmZkBoYXdhaWlhbnRlbC5uZXQ+ClNpZ25lZC1vZmYt Ynk6IEFuZHJlYXMgUmhlaW5oYXJkdCA8YW5kcmVhcy5yaGVpbmhhcmR0QG91dGxvb2suY29tPgoo Y2hlcnJ5IHBpY2tlZCBmcm9tIGNvbW1pdCA4YTkzNmI4NzI2ZTEwZDg0YTA2Y2FjYzg3MmQyNjcw MjBmMWVmMTU2KQotLS0KIGxpYmF2Zm9ybWF0L21hdHJvc2thLmMgICAgfCAxICsKIGxpYmF2Zm9y bWF0L21hdHJvc2thZW5jLmMgfCA0ICsrLS0KIDIgZmlsZXMgY2hhbmdlZCwgMyBpbnNlcnRpb25z KCspLCAyIGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL2xpYmF2Zm9ybWF0L21hdHJvc2thLmMg Yi9saWJhdmZvcm1hdC9tYXRyb3NrYS5jCmluZGV4IGQwZWNmYmViNmEuLjdkOTRlZDIzNmYgMTAw NjQ0Ci0tLSBhL2xpYmF2Zm9ybWF0L21hdHJvc2thLmMKKysrIGIvbGliYXZmb3JtYXQvbWF0cm9z a2EuYwpAQCAtODIsNiArODIsNyBAQCBjb25zdCBDb2RlY1RhZ3MgZmZfbWt2X2NvZGVjX3RhZ3Nb XT17CiAgICAgeyJWX0FWUzMiICAgICAgICAgICAsIEFWX0NPREVDX0lEX0FWUzN9LAogICAgIHsi Vl9ESVJBQyIgICAgICAgICAgLCBBVl9DT0RFQ19JRF9ESVJBQ30sCiAgICAgeyJWX0ZGVjEiICAg ICAgICAgICAsIEFWX0NPREVDX0lEX0ZGVjF9LAorICAgIHsiVl9KUEVHMjAwMCIgICAgICAgLCBB Vl9DT0RFQ19JRF9KUEVHMjAwMH0sCiAgICAgeyJWX01KUEVHIiAgICAgICAgICAsIEFWX0NPREVD X0lEX01KUEVHfSwKICAgICB7IlZfTVBFRzEiICAgICAgICAgICwgQVZfQ09ERUNfSURfTVBFRzFW SURFT30sCiAgICAgeyJWX01QRUcyIiAgICAgICAgICAsIEFWX0NPREVDX0lEX01QRUcyVklERU99 LApkaWZmIC0tZ2l0IGEvbGliYXZmb3JtYXQvbWF0cm9za2FlbmMuYyBiL2xpYmF2Zm9ybWF0L21h dHJvc2thZW5jLmMKaW5kZXggNjBjODk2ZTk2NC4uNWQwMGIyNjcyOSAxMDA2NDQKLS0tIGEvbGli YXZmb3JtYXQvbWF0cm9za2FlbmMuYworKysgYi9saWJhdmZvcm1hdC9tYXRyb3NrYWVuYy5jCkBA IC0xOTU2LDggKzE5NTYsOCBAQCBzdGF0aWMgaW50IG1rdl93cml0ZV90cmFjayhBVkZvcm1hdENv bnRleHQgKnMsIE1hdHJvc2thTXV4Q29udGV4dCAqbWt2LAogCiAgICAgICAgIC8vIGxvb2sgZm9y IGEgY29kZWMgSUQgc3RyaW5nIHNwZWNpZmljIHRvIG1rdiB0byB1c2UsCiAgICAgICAgIC8vIGlm IG5vbmUgYXJlIGZvdW5kLCB1c2UgQVZJIGNvZGVzCi0gICAgICAgIGlmIChwYXItPmNvZGVjX2lk ID09IEFWX0NPREVDX0lEX0ZGVjEpIHsKLSAgICAgICAgICAgIC8qIEZGVjEgaXMgYWN0dWFsbHkg c3VwcG9ydGVkIG5hdGl2ZWx5IGluIE1hdHJvc2thLAorICAgICAgICBpZiAocGFyLT5jb2RlY19p ZCA9PSBBVl9DT0RFQ19JRF9GRlYxIHx8IHBhci0+Y29kZWNfaWQgPT0gQVZfQ09ERUNfSURfSlBF RzIwMDApIHsKKyAgICAgICAgICAgIC8qIEZGVjEgYW5kIEpQRUcyMDAwIGFyZSBhY3R1YWxseSBz dXBwb3J0ZWQgbmF0aXZlbHkgaW4gTWF0cm9za2EsCiAgICAgICAgICAgICAgKiB5ZXQgd2UgdXNl IHRoZSBWZlcgd2F5IHRvIG11eCBpdCBmb3IgY29tcGF0aWJpbGl0eQogICAgICAgICAgICAgICog d2l0aCBvbGQgZGVtdXhlcnMuIChGSVhNRTogQXJlIHRoZXkgcmVhbGx5IGltcG9ydGFudD8pICov CiAgICAgICAgIH0gZWxzZSBpZiAocGFyLT5jb2RlY19pZCAhPSBBVl9DT0RFQ19JRF9SQVdWSURF TyB8fCBwYXItPmNvZGVjX3RhZykgewotLSAKMi40OS4xCgoKRnJvbSA5MzcwNTE4NzJkZTg5Njc2 ZGI4ODIyNzVkNjZmMzZiNzM3YjFjOTM4IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBN aWNoYWVsIE5pZWRlcm1heWVyIDxtaWNoYWVsQG5pZWRlcm1heWVyLmNjPgpEYXRlOiBNb24sIDkg SnVuIDIwMjUgMTM6Mjk6MjkgKzAyMDAKU3ViamVjdDogW1BBVENIIDI1OC80MzRdIFJldmVydCAi YXZmb3JtYXQvbXBlZ3RzOiB1cGRhdGUgc3RyZWFtIGluZm8gd2hlbiBQTVQKIEVTIHN0cmVhbV90 eXBlIGNoYW5nZXMiCgpUaGlzIGZpeGVzIG1peGluZyB1cCBjb250ZXh0cywgdXNlIG9mIHVuaW5p dGlhbGl6ZWQgZGF0YSBhbmQgY3Jhc2hlcy4KTW9yZSBzcGVjaWZpY2FsbHk6Cgo9PTEwMDE3NTI9 PSBDb25kaXRpb25hbCBqdW1wIG9yIG1vdmUgZGVwZW5kcyBvbiB1bmluaXRpYWxpc2VkIHZhbHVl KHMpCj09MTAwMTc1Mj09ICAgIGF0IDB4QTlFRDgyOiBhdnByaXZfaDI2NF9oYXNfbnVtX3Jlb3Jk ZXJfZnJhbWVzIChoMjY0ZGVjLmM6NjQpCj09MTAwMTc1Mj09ICAgIGJ5IDB4NjY4QzdFOiBoYXNf ZGVjb2RlX2RlbGF5X2JlZW5fZ3Vlc3NlZCAoZGVtdXguYzo3NTcpCj09MTAwMTc1Mj09ICAgIGJ5 IDB4NjZBQjEzOiBjb21wdXRlX3BrdF9maWVsZHMgKGRlbXV4LmM6MTEzNykKPT0xMDAxNzUyPT0g ICAgYnkgMHg2NkIyRTk6IHBhcnNlX3BhY2tldCAoZGVtdXguYzoxMjY1KQo9PTEwMDE3NTI9PSAg ICBieSAweDY2QkQ4NDogcmVhZF9mcmFtZV9pbnRlcm5hbCAoZGVtdXguYzoxNDQ5KQo9PTEwMDE3 NTI9PSAgICBieSAweDY3MDg1QjogYXZmb3JtYXRfZmluZF9zdHJlYW1faW5mbyAoZGVtdXguYzoy NjkyKQo9PTEwMDE3NTI9PSAgICBieSAweDI1MTU3QzogaWZpbGVfb3BlbiAoZmZtcGVnX2RlbXV4 LmM6MTgxNCkKPT0xMDAxNzUyPT0gICAgYnkgMHgyNzJCMTU6IG9wZW5fZmlsZXMgKGZmbXBlZ19v cHQuYzoxMzY2KQo9PTEwMDE3NTI9PSAgICBieSAweDI3MkQ4NTogZmZtcGVnX3BhcnNlX29wdGlv bnMgKGZmbXBlZ19vcHQuYzoxNDE1KQo9PTEwMDE3NTI9PSAgICBieSAweDI5MjVDOTogbWFpbiAo ZmZtcGVnLmM6OTkxKQo9PTEwMDE3NTI9PSAgVW5pbml0aWFsaXNlZCB2YWx1ZSB3YXMgY3JlYXRl ZCBieSBhIGhlYXAgYWxsb2NhdGlvbgo9PTEwMDE3NTI9PSAgICBhdCAweDQ4M0UwRjA6IG1lbWFs aWduIChpbiAvdXNyL2xpYi94ODZfNjQtbGludXgtZ251L3ZhbGdyaW5kL3ZncHJlbG9hZF9tZW1j aGVjay1hbWQ2NC1saW51eC5zbykKPT0xMDAxNzUyPT0gICAgYnkgMHg0ODNFMjEyOiBwb3NpeF9t ZW1hbGlnbiAoaW4gL3Vzci9saWIveDg2XzY0LWxpbnV4LWdudS92YWxncmluZC92Z3ByZWxvYWRf bWVtY2hlY2stYW1kNjQtbGludXguc28pCj09MTAwMTc1Mj09ICAgIGJ5IDB4MTQ4ODJDRTogYXZf bWFsbG9jIChtZW0uYzoxMDcpCj09MTAwMTc1Mj09ICAgIGJ5IDB4MTQ2Mzc4NTogYXZfYnVmZmVy X2FsbG9jIChidWZmZXIuYzo4MikKPT0xMDAxNzUyPT0gICAgYnkgMHgxNDY0MjNGOiBwb29sX2Fs bG9jX2J1ZmZlciAoYnVmZmVyLmM6MzY5KQo9PTEwMDE3NTI9PSAgICBieSAweDE0NjQzQzQ6IGF2 X2J1ZmZlcl9wb29sX2dldCAoYnVmZmVyLmM6NDA3KQo9PTEwMDE3NTI9PSAgICBieSAweDc1MkM0 QjogYnVmZmVyX3Bvb2xfZ2V0IChtcGVndHMuYzoxMTQyKQo9PTEwMDE3NTI9PSAgICBieSAweDc1 MzhGMjogbXBlZ3RzX3B1c2hfZGF0YSAobXBlZ3RzLmM6MTQwNykKPT0xMDAxNzUyPT0gICAgYnkg MHg3NTg4OTM6IGhhbmRsZV9wYWNrZXQgKG1wZWd0cy5jOjI5MDkpCj09MTAwMTc1Mj09ICAgIGJ5 IDB4NzU4RTkwOiBoYW5kbGVfcGFja2V0cyAobXBlZ3RzLmM6MzA0OCkKPT0xMDAxNzUyPT0gICAg YnkgMHg3NTlCMUQ6IG1wZWd0c19yZWFkX3BhY2tldCAobXBlZ3RzLmM6MzI5MCkKPT0xMDAxNzUy PT0gICAgYnkgMHg2Njg3QTM6IGZmX3JlYWRfcGFja2V0IChkZW11eC5jOjY0OSkKPT0xMDAxNzUy PT0gICAgYnkgMHg2NkI1OTQ6IHJlYWRfZnJhbWVfaW50ZXJuYWwgKGRlbXV4LmM6MTM0NikKPT0x MDAxNzUyPT0gICAgYnkgMHg2NzA4NUI6IGF2Zm9ybWF0X2ZpbmRfc3RyZWFtX2luZm8gKGRlbXV4 LmM6MjY5MikKPT0xMDAxNzUyPT0gICAgYnkgMHgyNTE1N0M6IGlmaWxlX29wZW4gKGZmbXBlZ19k ZW11eC5jOjE4MTQpCj09MTAwMTc1Mj09ICAgIGJ5IDB4MjcyQjE1OiBvcGVuX2ZpbGVzIChmZm1w ZWdfb3B0LmM6MTM2NikKPT0xMDAxNzUyPT0gICAgYnkgMHgyNzJEODU6IGZmbXBlZ19wYXJzZV9v cHRpb25zIChmZm1wZWdfb3B0LmM6MTQxNSkKPT0xMDAxNzUyPT0gICAgYnkgMHgyOTI1Qzk6IG1h aW4gKGZmbXBlZy5jOjk5MSkKCkZvdW5kLWJ5OiBBbGV4YW5kZXIgQS4gU2h2ZWRvdiA8c2h2ZWRv dkBnbXguY29tPgpDQzogUGF2ZWwgS29zaGV2b3kgPHBrb3NoZXZveUBnbWFpbC5jb20+ClRoaXMg cmV2ZXJ0cyBjb21taXQgMDAyMTQ4NGQwNWY5YjBmMDMyZmEzMTkzOTlkZTZlMjRlZWEwYzA0Zi4K ClNpZ25lZC1vZmYtYnk6IE1pY2hhZWwgTmllZGVybWF5ZXIgPG1pY2hhZWxAbmllZGVybWF5ZXIu Y2M+Ci0tLQogbGliYXZmb3JtYXQvbXBlZ3RzLmMgICAgfCA0ICstLS0KIHRlc3RzL3JlZi9mYXRl L3RzLWRlbXV4IHwgNCArKy0tCiAyIGZpbGVzIGNoYW5nZWQsIDMgaW5zZXJ0aW9ucygrKSwgNSBk ZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9saWJhdmZvcm1hdC9tcGVndHMuYyBiL2xpYmF2Zm9y bWF0L21wZWd0cy5jCmluZGV4IGI1ZjI5YWVlNjUuLjg2YjdjOGUwNDEgMTAwNjQ0Ci0tLSBhL2xp YmF2Zm9ybWF0L21wZWd0cy5jCisrKyBiL2xpYmF2Zm9ybWF0L21wZWd0cy5jCkBAIC05MzgsOCAr OTM4LDYgQEAgc3RhdGljIGludCBtcGVndHNfc2V0X3N0cmVhbV9pbmZvKEFWU3RyZWFtICpzdCwg UEVTQ29udGV4dCAqcGVzLAogICAgIG1wZWd0c19maW5kX3N0cmVhbV90eXBlKHN0LCBwZXMtPnN0 cmVhbV90eXBlLCBJU09fdHlwZXMpOwogICAgIGlmIChwZXMtPnN0cmVhbV90eXBlID09IDQgfHwg cGVzLT5zdHJlYW1fdHlwZSA9PSAweDBmKQogICAgICAgICBzdGktPnJlcXVlc3RfcHJvYmUgPSA1 MDsKLSAgICBpZiAocGVzLT5zdHJlYW1fdHlwZSA9PSBTVFJFQU1fVFlQRV9QUklWQVRFX0RBVEEp Ci0gICAgICAgIHN0aS0+cmVxdWVzdF9wcm9iZSA9IEFWUFJPQkVfU0NPUkVfU1RSRUFNX1JFVFJZ OwogICAgIGlmICgocHJvZ19yZWdfZGVzYyA9PSBBVl9STDMyKCJIRE1WIikgfHwKICAgICAgICAg IHByb2dfcmVnX2Rlc2MgPT0gQVZfUkwzMigiSERQUiIpKSAmJgogICAgICAgICBzdC0+Y29kZWNw YXItPmNvZGVjX2lkID09IEFWX0NPREVDX0lEX05PTkUpIHsKQEAgLTI0OTgsNyArMjQ5Niw3IEBA IHN0YXRpYyB2b2lkIHBtdF9jYihNcGVnVFNGaWx0ZXIgKmZpbHRlciwgY29uc3QgdWludDhfdCAq c2VjdGlvbiwgaW50IHNlY3Rpb25fbGVuCiAgICAgICAgIGlmICghc3QpCiAgICAgICAgICAgICBn b3RvIG91dDsKIAotICAgICAgICBpZiAocGVzICYmIHBlcy0+c3RyZWFtX3R5cGUgIT0gc3RyZWFt X3R5cGUpCisgICAgICAgIGlmIChwZXMgJiYgIXBlcy0+c3RyZWFtX3R5cGUpCiAgICAgICAgICAg ICBtcGVndHNfc2V0X3N0cmVhbV9pbmZvKHN0LCBwZXMsIHN0cmVhbV90eXBlLCBwcm9nX3JlZ19k ZXNjKTsKIAogICAgICAgICBhZGRfcGlkX3RvX3Byb2dyYW0ocHJnLCBwaWQpOwpkaWZmIC0tZ2l0 IGEvdGVzdHMvcmVmL2ZhdGUvdHMtZGVtdXggYi90ZXN0cy9yZWYvZmF0ZS90cy1kZW11eAppbmRl eCA3MzJmOWQwMjg5Li40NTUyMmMyYmZiIDEwMDY0NAotLS0gYS90ZXN0cy9yZWYvZmF0ZS90cy1k ZW11eAorKysgYi90ZXN0cy9yZWYvZmF0ZS90cy1kZW11eApAQCAtMjQsNiArMjQsNiBAQCBwYWNr ZXR8Y29kZWNfdHlwZT12aWRlb3xzdHJlYW1faW5kZXg9MHxwdHM9MzkxMjY4NjM2M3xwdHNfdGlt ZT00MzQ3NC4yOTI5MjJ8ZHRzPQogcGFja2V0fGNvZGVjX3R5cGU9YXVkaW98c3RyZWFtX2luZGV4 PTF8cHRzPTM5MTI2NDQ4MjV8cHRzX3RpbWU9NDM0NzMuODMxMzg5fGR0cz0zOTEyNjQ0ODI1fGR0 c190aW1lPTQzNDczLjgzMTM4OXxkdXJhdGlvbj0yODgwfGR1cmF0aW9uX3RpbWU9MC4wMzIwMDB8 c2l6ZT05MDZ8cG9zPTQ3NDg4OHxmbGFncz1LX198ZGF0YV9oYXNoPUNSQzMyOjA4OTNkMzk4CiBw YWNrZXR8Y29kZWNfdHlwZT1hdWRpb3xzdHJlYW1faW5kZXg9MnxwdHM9MzkxMjY0NTU4MHxwdHNf dGltZT00MzQ3My44Mzk3Nzh8ZHRzPTM5MTI2NDU1ODB8ZHRzX3RpbWU9NDM0NzMuODM5Nzc4fGR1 cmF0aW9uPTI4ODB8ZHVyYXRpb25fdGltZT0wLjAzMjAwMHxzaXplPTM1NHxwb3M9NDkxODA4fGZs YWdzPUtfX3xkYXRhX2hhc2g9Q1JDMzI6ZjU5NjNmYTYKIHN0cmVhbXxpbmRleD0wfGNvZGVjX25h bWU9bXBlZzJ2aWRlb3xwcm9maWxlPTR8Y29kZWNfdHlwZT12aWRlb3xjb2RlY190YWdfc3RyaW5n PVsyXVswXVswXVswXXxjb2RlY190YWc9MHgwMDAyfHdpZHRoPTEyODB8aGVpZ2h0PTcyMHxjb2Rl ZF93aWR0aD0wfGNvZGVkX2hlaWdodD0wfGNsb3NlZF9jYXB0aW9ucz0wfGZpbG1fZ3JhaW49MHxo YXNfYl9mcmFtZXM9MXxzYW1wbGVfYXNwZWN0X3JhdGlvPTE6MXxkaXNwbGF5X2FzcGVjdF9yYXRp bz0xNjo5fHBpeF9mbXQ9eXV2NDIwcHxsZXZlbD00fGNvbG9yX3JhbmdlPXR2fGNvbG9yX3NwYWNl PXVua25vd258Y29sb3JfdHJhbnNmZXI9dW5rbm93bnxjb2xvcl9wcmltYXJpZXM9dW5rbm93bnxj aHJvbWFfbG9jYXRpb249bGVmdHxmaWVsZF9vcmRlcj1wcm9ncmVzc2l2ZXxyZWZzPTF8dHNfaWQ9 MzI3NzZ8dHNfcGFja2V0c2l6ZT0xODh8aWQ9MHgzMXxyX2ZyYW1lX3JhdGU9NjAwMDAvMTAwMXxh dmdfZnJhbWVfcmF0ZT02MDAwMC8xMDAxfHRpbWVfYmFzZT0xLzkwMDAwfHN0YXJ0X3B0cz0zOTEy NjY5ODQ2fHN0YXJ0X3RpbWU9NDM0NzQuMTA5NDAwfGR1cmF0aW9uX3RzPTE5NTE5fGR1cmF0aW9u PTAuMjE2ODc4fGJpdF9yYXRlPTE1MDAwMDAwfG1heF9iaXRfcmF0ZT1OL0F8Yml0c19wZXJfcmF3 X3NhbXBsZT1OL0F8bmJfZnJhbWVzPU4vQXxuYl9yZWFkX2ZyYW1lcz1OL0F8bmJfcmVhZF9wYWNr ZXRzPTE1fGV4dHJhZGF0YV9zaXplPTE1MHxleHRyYWRhdGFfaGFzaD1DUkMzMjo1MzEzNGZhOHxk aXNwb3NpdGlvbjpkZWZhdWx0PTB8ZGlzcG9zaXRpb246ZHViPTB8ZGlzcG9zaXRpb246b3JpZ2lu YWw9MHxkaXNwb3NpdGlvbjpjb21tZW50PTB8ZGlzcG9zaXRpb246bHlyaWNzPTB8ZGlzcG9zaXRp b246a2FyYW9rZT0wfGRpc3Bvc2l0aW9uOmZvcmNlZD0wfGRpc3Bvc2l0aW9uOmhlYXJpbmdfaW1w YWlyZWQ9MHxkaXNwb3NpdGlvbjp2aXN1YWxfaW1wYWlyZWQ9MHxkaXNwb3NpdGlvbjpjbGVhbl9l ZmZlY3RzPTB8ZGlzcG9zaXRpb246YXR0YWNoZWRfcGljPTB8ZGlzcG9zaXRpb246dGltZWRfdGh1 bWJuYWlscz0wfGRpc3Bvc2l0aW9uOm5vbl9kaWVnZXRpYz0wfGRpc3Bvc2l0aW9uOmNhcHRpb25z PTB8ZGlzcG9zaXRpb246ZGVzY3JpcHRpb25zPTB8ZGlzcG9zaXRpb246bWV0YWRhdGE9MHxkaXNw b3NpdGlvbjpkZXBlbmRlbnQ9MHxkaXNwb3NpdGlvbjpzdGlsbF9pbWFnZT0wfGRpc3Bvc2l0aW9u Om11bHRpbGF5ZXI9MHxzaWRlX2RhdHVtL2NwYl9wcm9wZXJ0aWVzOnNpZGVfZGF0YV90eXBlPUNQ QiBwcm9wZXJ0aWVzfHNpZGVfZGF0dW0vY3BiX3Byb3BlcnRpZXM6bWF4X2JpdHJhdGU9MTUwMDAw MDB8c2lkZV9kYXR1bS9jcGJfcHJvcGVydGllczptaW5fYml0cmF0ZT0wfHNpZGVfZGF0dW0vY3Bi X3Byb3BlcnRpZXM6YXZnX2JpdHJhdGU9MHxzaWRlX2RhdHVtL2NwYl9wcm9wZXJ0aWVzOmJ1ZmZl cl9zaXplPTk3ODEyNDh8c2lkZV9kYXR1bS9jcGJfcHJvcGVydGllczp2YnZfZGVsYXk9LTEKLXN0 cmVhbXxpbmRleD0xfGNvZGVjX25hbWU9YWMzfHByb2ZpbGU9dW5rbm93bnxjb2RlY190eXBlPWF1 ZGlvfGNvZGVjX3RhZ19zdHJpbmc9WzZdWzBdWzBdWzBdfGNvZGVjX3RhZz0weDAwMDZ8c2FtcGxl X2ZtdD1mbHRwfHNhbXBsZV9yYXRlPTQ4MDAwfGNoYW5uZWxzPTZ8Y2hhbm5lbF9sYXlvdXQ9NS4x KHNpZGUpfGJpdHNfcGVyX3NhbXBsZT0wfGluaXRpYWxfcGFkZGluZz0wfHRzX2lkPTMyNzc2fHRz X3BhY2tldHNpemU9MTg4fGlkPTB4MzR8cl9mcmFtZV9yYXRlPTAvMHxhdmdfZnJhbWVfcmF0ZT0w LzB8dGltZV9iYXNlPTEvOTAwMDB8c3RhcnRfcHRzPTM5MTI2MzMzMDV8c3RhcnRfdGltZT00MzQ3 My43MDMzODl8ZHVyYXRpb25fdHM9MTQ0MDB8ZHVyYXRpb249MC4xNjAwMDB8Yml0X3JhdGU9Mzg0 MDAwfG1heF9iaXRfcmF0ZT1OL0F8Yml0c19wZXJfcmF3X3NhbXBsZT1OL0F8bmJfZnJhbWVzPU4v QXxuYl9yZWFkX2ZyYW1lcz1OL0F8bmJfcmVhZF9wYWNrZXRzPTV8ZGlzcG9zaXRpb246ZGVmYXVs dD0wfGRpc3Bvc2l0aW9uOmR1Yj0wfGRpc3Bvc2l0aW9uOm9yaWdpbmFsPTB8ZGlzcG9zaXRpb246 Y29tbWVudD0wfGRpc3Bvc2l0aW9uOmx5cmljcz0wfGRpc3Bvc2l0aW9uOmthcmFva2U9MHxkaXNw b3NpdGlvbjpmb3JjZWQ9MHxkaXNwb3NpdGlvbjpoZWFyaW5nX2ltcGFpcmVkPTB8ZGlzcG9zaXRp b246dmlzdWFsX2ltcGFpcmVkPTB8ZGlzcG9zaXRpb246Y2xlYW5fZWZmZWN0cz0wfGRpc3Bvc2l0 aW9uOmF0dGFjaGVkX3BpYz0wfGRpc3Bvc2l0aW9uOnRpbWVkX3RodW1ibmFpbHM9MHxkaXNwb3Np dGlvbjpub25fZGllZ2V0aWM9MHxkaXNwb3NpdGlvbjpjYXB0aW9ucz0wfGRpc3Bvc2l0aW9uOmRl c2NyaXB0aW9ucz0wfGRpc3Bvc2l0aW9uOm1ldGFkYXRhPTB8ZGlzcG9zaXRpb246ZGVwZW5kZW50 PTB8ZGlzcG9zaXRpb246c3RpbGxfaW1hZ2U9MHxkaXNwb3NpdGlvbjptdWx0aWxheWVyPTB8dGFn Omxhbmd1YWdlPWVuZwotc3RyZWFtfGluZGV4PTJ8Y29kZWNfbmFtZT1hYzN8cHJvZmlsZT11bmtu b3dufGNvZGVjX3R5cGU9YXVkaW98Y29kZWNfdGFnX3N0cmluZz1bNl1bMF1bMF1bMF18Y29kZWNf dGFnPTB4MDAwNnxzYW1wbGVfZm10PWZsdHB8c2FtcGxlX3JhdGU9NDgwMDB8Y2hhbm5lbHM9Mnxj aGFubmVsX2xheW91dD1zdGVyZW98Yml0c19wZXJfc2FtcGxlPTB8aW5pdGlhbF9wYWRkaW5nPTB8 dHNfaWQ9MzI3NzZ8dHNfcGFja2V0c2l6ZT0xODh8aWQ9MHgzNXxyX2ZyYW1lX3JhdGU9MC8wfGF2 Z19mcmFtZV9yYXRlPTAvMHx0aW1lX2Jhc2U9MS85MDAwMHxzdGFydF9wdHM9MzkxMjYzNDA2MHxz dGFydF90aW1lPTQzNDczLjcxMTc3OHxkdXJhdGlvbl90cz0xNDQwMHxkdXJhdGlvbj0wLjE2MDAw MHxiaXRfcmF0ZT0xOTIwMDB8bWF4X2JpdF9yYXRlPU4vQXxiaXRzX3Blcl9yYXdfc2FtcGxlPU4v QXxuYl9mcmFtZXM9Ti9BfG5iX3JlYWRfZnJhbWVzPU4vQXxuYl9yZWFkX3BhY2tldHM9NXxkaXNw b3NpdGlvbjpkZWZhdWx0PTB8ZGlzcG9zaXRpb246ZHViPTB8ZGlzcG9zaXRpb246b3JpZ2luYWw9 MHxkaXNwb3NpdGlvbjpjb21tZW50PTB8ZGlzcG9zaXRpb246bHlyaWNzPTB8ZGlzcG9zaXRpb246 a2FyYW9rZT0wfGRpc3Bvc2l0aW9uOmZvcmNlZD0wfGRpc3Bvc2l0aW9uOmhlYXJpbmdfaW1wYWly ZWQ9MHxkaXNwb3NpdGlvbjp2aXN1YWxfaW1wYWlyZWQ9MHxkaXNwb3NpdGlvbjpjbGVhbl9lZmZl Y3RzPTB8ZGlzcG9zaXRpb246YXR0YWNoZWRfcGljPTB8ZGlzcG9zaXRpb246dGltZWRfdGh1bWJu YWlscz0wfGRpc3Bvc2l0aW9uOm5vbl9kaWVnZXRpYz0wfGRpc3Bvc2l0aW9uOmNhcHRpb25zPTB8 ZGlzcG9zaXRpb246ZGVzY3JpcHRpb25zPTB8ZGlzcG9zaXRpb246bWV0YWRhdGE9MHxkaXNwb3Np dGlvbjpkZXBlbmRlbnQ9MHxkaXNwb3NpdGlvbjpzdGlsbF9pbWFnZT0wfGRpc3Bvc2l0aW9uOm11 bHRpbGF5ZXI9MHx0YWc6bGFuZ3VhZ2U9ZXMKK3N0cmVhbXxpbmRleD0xfGNvZGVjX25hbWU9YWMz fHByb2ZpbGU9dW5rbm93bnxjb2RlY190eXBlPWF1ZGlvfGNvZGVjX3RhZ19zdHJpbmc9WzRdWzBd WzBdWzBdfGNvZGVjX3RhZz0weDAwMDR8c2FtcGxlX2ZtdD1mbHRwfHNhbXBsZV9yYXRlPTQ4MDAw fGNoYW5uZWxzPTZ8Y2hhbm5lbF9sYXlvdXQ9NS4xKHNpZGUpfGJpdHNfcGVyX3NhbXBsZT0wfGlu aXRpYWxfcGFkZGluZz0wfHRzX2lkPTMyNzc2fHRzX3BhY2tldHNpemU9MTg4fGlkPTB4MzR8cl9m cmFtZV9yYXRlPTAvMHxhdmdfZnJhbWVfcmF0ZT0wLzB8dGltZV9iYXNlPTEvOTAwMDB8c3RhcnRf cHRzPTM5MTI2MzMzMDV8c3RhcnRfdGltZT00MzQ3My43MDMzODl8ZHVyYXRpb25fdHM9MTQ0MDB8 ZHVyYXRpb249MC4xNjAwMDB8Yml0X3JhdGU9Mzg0MDAwfG1heF9iaXRfcmF0ZT1OL0F8Yml0c19w ZXJfcmF3X3NhbXBsZT1OL0F8bmJfZnJhbWVzPU4vQXxuYl9yZWFkX2ZyYW1lcz1OL0F8bmJfcmVh ZF9wYWNrZXRzPTV8ZGlzcG9zaXRpb246ZGVmYXVsdD0wfGRpc3Bvc2l0aW9uOmR1Yj0wfGRpc3Bv c2l0aW9uOm9yaWdpbmFsPTB8ZGlzcG9zaXRpb246Y29tbWVudD0wfGRpc3Bvc2l0aW9uOmx5cmlj cz0wfGRpc3Bvc2l0aW9uOmthcmFva2U9MHxkaXNwb3NpdGlvbjpmb3JjZWQ9MHxkaXNwb3NpdGlv bjpoZWFyaW5nX2ltcGFpcmVkPTB8ZGlzcG9zaXRpb246dmlzdWFsX2ltcGFpcmVkPTB8ZGlzcG9z aXRpb246Y2xlYW5fZWZmZWN0cz0wfGRpc3Bvc2l0aW9uOmF0dGFjaGVkX3BpYz0wfGRpc3Bvc2l0 aW9uOnRpbWVkX3RodW1ibmFpbHM9MHxkaXNwb3NpdGlvbjpub25fZGllZ2V0aWM9MHxkaXNwb3Np dGlvbjpjYXB0aW9ucz0wfGRpc3Bvc2l0aW9uOmRlc2NyaXB0aW9ucz0wfGRpc3Bvc2l0aW9uOm1l dGFkYXRhPTB8ZGlzcG9zaXRpb246ZGVwZW5kZW50PTB8ZGlzcG9zaXRpb246c3RpbGxfaW1hZ2U9 MHxkaXNwb3NpdGlvbjptdWx0aWxheWVyPTB8dGFnOmxhbmd1YWdlPWVuZworc3RyZWFtfGluZGV4 PTJ8Y29kZWNfbmFtZT1hYzN8cHJvZmlsZT11bmtub3dufGNvZGVjX3R5cGU9YXVkaW98Y29kZWNf dGFnX3N0cmluZz1bNF1bMF1bMF1bMF18Y29kZWNfdGFnPTB4MDAwNHxzYW1wbGVfZm10PWZsdHB8 c2FtcGxlX3JhdGU9NDgwMDB8Y2hhbm5lbHM9MnxjaGFubmVsX2xheW91dD1zdGVyZW98Yml0c19w ZXJfc2FtcGxlPTB8aW5pdGlhbF9wYWRkaW5nPTB8dHNfaWQ9MzI3NzZ8dHNfcGFja2V0c2l6ZT0x ODh8aWQ9MHgzNXxyX2ZyYW1lX3JhdGU9MC8wfGF2Z19mcmFtZV9yYXRlPTAvMHx0aW1lX2Jhc2U9 MS85MDAwMHxzdGFydF9wdHM9MzkxMjYzNDA2MHxzdGFydF90aW1lPTQzNDczLjcxMTc3OHxkdXJh dGlvbl90cz0xNDQwMHxkdXJhdGlvbj0wLjE2MDAwMHxiaXRfcmF0ZT0xOTIwMDB8bWF4X2JpdF9y YXRlPU4vQXxiaXRzX3Blcl9yYXdfc2FtcGxlPU4vQXxuYl9mcmFtZXM9Ti9BfG5iX3JlYWRfZnJh bWVzPU4vQXxuYl9yZWFkX3BhY2tldHM9NXxkaXNwb3NpdGlvbjpkZWZhdWx0PTB8ZGlzcG9zaXRp b246ZHViPTB8ZGlzcG9zaXRpb246b3JpZ2luYWw9MHxkaXNwb3NpdGlvbjpjb21tZW50PTB8ZGlz cG9zaXRpb246bHlyaWNzPTB8ZGlzcG9zaXRpb246a2FyYW9rZT0wfGRpc3Bvc2l0aW9uOmZvcmNl ZD0wfGRpc3Bvc2l0aW9uOmhlYXJpbmdfaW1wYWlyZWQ9MHxkaXNwb3NpdGlvbjp2aXN1YWxfaW1w YWlyZWQ9MHxkaXNwb3NpdGlvbjpjbGVhbl9lZmZlY3RzPTB8ZGlzcG9zaXRpb246YXR0YWNoZWRf cGljPTB8ZGlzcG9zaXRpb246dGltZWRfdGh1bWJuYWlscz0wfGRpc3Bvc2l0aW9uOm5vbl9kaWVn ZXRpYz0wfGRpc3Bvc2l0aW9uOmNhcHRpb25zPTB8ZGlzcG9zaXRpb246ZGVzY3JpcHRpb25zPTB8 ZGlzcG9zaXRpb246bWV0YWRhdGE9MHxkaXNwb3NpdGlvbjpkZXBlbmRlbnQ9MHxkaXNwb3NpdGlv bjpzdGlsbF9pbWFnZT0wfGRpc3Bvc2l0aW9uOm11bHRpbGF5ZXI9MHx0YWc6bGFuZ3VhZ2U9ZXMK IGZvcm1hdHxmaWxlbmFtZT1tcDNhYzMyNS00ODY0LXNtYWxsLnRzfG5iX3N0cmVhbXM9M3xuYl9w cm9ncmFtcz0xfG5iX3N0cmVhbV9ncm91cHM9MHxmb3JtYXRfbmFtZT1tcGVndHN8c3RhcnRfdGlt ZT00MzQ3My43MDMzODl8ZHVyYXRpb249MC42MjI4ODl8c2l6ZT01MTIwMDB8Yml0X3JhdGU9NjU3 NTgxMHxwcm9iZV9zY29yZT01MAotLSAKMi40OS4xCgoKRnJvbSBlNzdiNTJiNmNkZTVlNzQ3NDQz OTc5N2I0MGZiMWNhZDYwODU1MTViIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBNaWNo YWVsIE5pZWRlcm1heWVyIDxtaWNoYWVsQG5pZWRlcm1heWVyLmNjPgpEYXRlOiBUdWUsIDEgQXBy IDIwMjUgMDI6MDA6NDEgKzAyMDAKU3ViamVjdDogW1BBVENIIDI1OS80MzRdIGRvYzogcmVwbGFj ZSBodHRwL2dpdCBieSBodHRwcyB1cmxzCgpUaGVzZSBhcmUgbW9yZSBzZWN1cmUKClJldmlld2Vk LWJ5OiBHeWFuIERvc2hpIDxmZm1wZWdAZ3lhbmkucHJvPgpTaWduZWQtb2ZmLWJ5OiBNaWNoYWVs IE5pZWRlcm1heWVyIDxtaWNoYWVsQG5pZWRlcm1heWVyLmNjPgooY2hlcnJ5IHBpY2tlZCBmcm9t IGNvbW1pdCBiNGQxNjVjNjhmZTc0ZjRiOWM3ZmE0Y2JjMmUxNDY3YTBiYWZlYTM3KQpTaWduZWQt b2ZmLWJ5OiBNaWNoYWVsIE5pZWRlcm1heWVyIDxtaWNoYWVsQG5pZWRlcm1heWVyLmNjPgotLS0K IGRvYy9mYXRlX2NvbmZpZy5zaC50ZW1wbGF0ZSB8IDIgKy0KIGRvYy9naXQtaG93dG8udGV4aSAg ICAgICAgICB8IDIgKy0KIDIgZmlsZXMgY2hhbmdlZCwgMiBpbnNlcnRpb25zKCspLCAyIGRlbGV0 aW9ucygtKQoKZGlmZiAtLWdpdCBhL2RvYy9mYXRlX2NvbmZpZy5zaC50ZW1wbGF0ZSBiL2RvYy9m YXRlX2NvbmZpZy5zaC50ZW1wbGF0ZQppbmRleCA4NjgxODA1ZDY1Li40ZmY4NjI5ZDQ0IDEwMDY0 NAotLS0gYS9kb2MvZmF0ZV9jb25maWcuc2gudGVtcGxhdGUKKysrIGIvZG9jL2ZhdGVfY29uZmln LnNoLnRlbXBsYXRlCkBAIC0xLDUgKzEsNSBAQAogc2xvdD0gICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAjIHNvbWUgdW5pcXVlIGlkZW50aWZpZXIKLXJlcG89Z2l0Oi8vc291cmNl LmZmbXBlZy5vcmcvZmZtcGVnLmdpdCAgIyB0aGUgc291cmNlIHJlcG9zaXRvcnkKK3JlcG89aHR0 cHM6Ly9naXQuZmZtcGVnLm9yZy9mZm1wZWcuZ2l0ICAgIyB0aGUgc291cmNlIHJlcG9zaXRvcnkK ICNicmFuY2g9cmVsZWFzZS8yLjYgICAgICAgICAgICAgICAgICAgICAgICMgdGhlIGJyYW5jaCB0 byB0ZXN0CiBzYW1wbGVzPSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICMgcGF0aCB0 byBzYW1wbGVzIGRpcmVjdG9yeQogd29ya2Rpcj0gICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAjIGRpcmVjdG9yeSBpbiB3aGljaCB0byBkbyBhbGwgdGhlIHdvcmsKZGlmZiAtLWdpdCBh L2RvYy9naXQtaG93dG8udGV4aSBiL2RvYy9naXQtaG93dG8udGV4aQppbmRleCAwNzViMTg4YWJl Li4zZTA1MGRiZDRhIDEwMDY0NAotLS0gYS9kb2MvZ2l0LWhvd3RvLnRleGkKKysrIGIvZG9jL2dp dC1ob3d0by50ZXhpCkBAIC0xNDMsNyArMTQzLDcgQEAgZ2l0IGxvZyA8ZmlsZW5hbWUocyk+CiBA ZW5kIGV4YW1wbGUKIAogWW91IG1heSBhbHNvIHVzZSB0aGUgZ3JhcGhpY2FsIHRvb2xzIGxpa2Ug QGNvbW1hbmR7Z2l0dmlld30gb3IgQGNvbW1hbmR7Z2l0a30KLW9yIHRoZSB3ZWIgaW50ZXJmYWNl IGF2YWlsYWJsZSBhdCBAdXJse2h0dHA6Ly9zb3VyY2UuZmZtcGVnLm9yZy99Lgorb3IgdGhlIHdl YiBpbnRlcmZhY2UgYXZhaWxhYmxlIGF0IEB1cmx7aHR0cHM6Ly9naXQuZmZtcGVnLm9yZy9mZm1w ZWcuZ2l0fS4KIAogQHNlY3Rpb24gQ2hlY2tpbmcgc291cmNlIHRyZWUgc3RhdHVzCiAKLS0gCjIu NDkuMQoKCkZyb20gZTdlMDIyMDk0YWU0ZTNkZWFmZmI4MDYyNDM3ODk5NzYwODM2ZmIzMSBNb24g U2VwIDE3IDAwOjAwOjAwIDIwMDEKRnJvbTogSmFtZXMgQWxtZXIgPGphbXJpYWxAZ21haWwuY29t PgpEYXRlOiBGcmksIDcgRmViIDIwMjUgMDA6MDQ6MjUgLTAzMDAKU3ViamVjdDogW1BBVENIIDI2 MC80MzRdIGF2Y29kZWMvbGlidGhlb3JhOiBmaXggc2V0dGluZyBrZXlmcmFtZV9tYXNrCgp0X2lu Zm8ua2V5ZnJhbWVfZ3JhbnVsZV9zaGlmdCBpcyBzZXQgdG8gdGhlIGxpYnJhcnkgZGVmYXVsdCBv ZiA2LCB3aGljaCBpcyBvawpmb3IgZ29wIHNpemVzIHVwIHRvIDYzLiBTaW5jZSB0aGVyZSdzIGFw cGFyZW50bHkgbm8gd2F5IHRvIHF1ZXJ5IHRoZSB1cGRhdGVkCnZhbHVlIGFmdGVyIGhhdmluZyBm b3JjZWQgYSBnb3AgdmFsdWUgd2l0aCBUSF9FTkNDVExfU0VUX0tFWUZSQU1FX0ZSRVFVRU5DWV9G T1JDRSwKY2FsY3VsYXRlIGl0IG1hbnVhbGx5IGluc3RlYWQuCgpGaXhlcyB0aWNrZXQgIzExNDU0 LgoKU2lnbmVkLW9mZi1ieTogSmFtZXMgQWxtZXIgPGphbXJpYWxAZ21haWwuY29tPgooY2hlcnJ5 IHBpY2tlZCBmcm9tIGNvbW1pdCAyMmFhNzFkNGRhMzdhNGFkMmIwZDI4ZGVlYWNlNjRiNTdhYTJl ZjUwKQpTaWduZWQtb2ZmLWJ5OiBNaWNoYWVsIE5pZWRlcm1heWVyIDxtaWNoYWVsQG5pZWRlcm1h eWVyLmNjPgotLS0KIGxpYmF2Y29kZWMvbGlidGhlb3JhZW5jLmMgfCAyICstCiAxIGZpbGUgY2hh bmdlZCwgMSBpbnNlcnRpb24oKyksIDEgZGVsZXRpb24oLSkKCmRpZmYgLS1naXQgYS9saWJhdmNv ZGVjL2xpYnRoZW9yYWVuYy5jIGIvbGliYXZjb2RlYy9saWJ0aGVvcmFlbmMuYwppbmRleCA4ODQ0 ZjRiZTZhLi43NjFjZDQ1ZDQ0IDEwMDY0NAotLS0gYS9saWJhdmNvZGVjL2xpYnRoZW9yYWVuYy5j CisrKyBiL2xpYmF2Y29kZWMvbGlidGhlb3JhZW5jLmMKQEAgLTIzNCw3ICsyMzQsNyBAQCBzdGF0 aWMgYXZfY29sZCBpbnQgZW5jb2RlX2luaXQoQVZDb2RlY0NvbnRleHQqIGF2Y19jb250ZXh0KQog ICAgICAgICByZXR1cm4gQVZFUlJPUl9FWFRFUk5BTDsKICAgICB9CiAKLSAgICBoLT5rZXlmcmFt ZV9tYXNrID0gKDEgPDwgdF9pbmZvLmtleWZyYW1lX2dyYW51bGVfc2hpZnQpIC0gMTsKKyAgICBo LT5rZXlmcmFtZV9tYXNrID0gKDEgPDwgYXZfY2VpbF9sb2cyKGF2Y19jb250ZXh0LT5nb3Bfc2l6 ZSkpIC0gMTsKICAgICAvKiBDbGVhciB1cCB0aGVvcmFfaW5mbyBzdHJ1Y3QgKi8KICAgICB0aF9p bmZvX2NsZWFyKCZ0X2luZm8pOwogCi0tIAoyLjQ5LjEKCgpGcm9tIGU1MzUwZWYxMDdlY2NjY2Zh MTQ4MzExYWY4ZThjNzI3YTkzMzBmNTUgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCkZyb206IE1p Y2hhZWwgTmllZGVybWF5ZXIgPG1pY2hhZWxAbmllZGVybWF5ZXIuY2M+CkRhdGU6IFR1ZSwgNCBG ZWIgMjAyNSAwMzo1ODo0NCArMDEwMApTdWJqZWN0OiBbUEFUQ0ggMjYxLzQzNF0gc3dzY2FsZS9v dXRwdXQ6IEZpeCBpbnRlZ2VyIG92ZXJmbG93IGluCiB5dXYyZ2JycF9mdWxsX1hfYygpCgpGaXhl czogc2lnbmVkIGludGVnZXIgb3ZlcmZsb3c6IDE5NjY4OTU5NTMgKyAyMTAzMDUwMjQgY2Fubm90 IGJlIHJlcHJlc2VudGVkIGluIHR5cGUgJ2ludCcKRml4ZXM6IDM5MTkyMTk3NS9jbHVzdGVyZnV6 ei10ZXN0Y2FzZS1taW5pbWl6ZWQtZmZtcGVnX1NXU19mdXp6ZXItNTkxNjc5ODkwNTU0ODgwMAoK Rm91bmQtYnk6IGNvbnRpbnVvdXMgZnV6emluZyBwcm9jZXNzIGh0dHBzOi8vZ2l0aHViLmNvbS9n b29nbGUvb3NzLWZ1enovdHJlZS9tYXN0ZXIvcHJvamVjdHMvZmZtcGVnClNpZ25lZC1vZmYtYnk6 IE1pY2hhZWwgTmllZGVybWF5ZXIgPG1pY2hhZWxAbmllZGVybWF5ZXIuY2M+CihjaGVycnkgcGlj a2VkIGZyb20gY29tbWl0IGNlNTM4ZWY5N2E3YjFmZGFiNmYyYTNjOGFmYzUzOGMxY2MzNzYwZDkp ClNpZ25lZC1vZmYtYnk6IE1pY2hhZWwgTmllZGVybWF5ZXIgPG1pY2hhZWxAbmllZGVybWF5ZXIu Y2M+Ci0tLQogbGlic3dzY2FsZS9vdXRwdXQuYyB8IDYgKysrLS0tCiAxIGZpbGUgY2hhbmdlZCwg MyBpbnNlcnRpb25zKCspLCAzIGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL2xpYnN3c2NhbGUv b3V0cHV0LmMgYi9saWJzd3NjYWxlL291dHB1dC5jCmluZGV4IDM2Njg4M2FiMWIuLjIxNzJlNGI1 M2IgMTAwNjQ0Ci0tLSBhL2xpYnN3c2NhbGUvb3V0cHV0LmMKKysrIGIvbGlic3dzY2FsZS9vdXRw dXQuYwpAQCAtMjI4OSw5ICsyMjg5LDkgQEAgeXV2MmdicnBfZnVsbF9YX2MoU3dzQ29udGV4dCAq YywgY29uc3QgaW50MTZfdCAqbHVtRmlsdGVyLAogICAgICAgICBZIC09IGMtPnl1djJyZ2JfeV9v ZmZzZXQ7CiAgICAgICAgIFkgKj0gYy0+eXV2MnJnYl95X2NvZWZmOwogICAgICAgICBZICs9IDEg PDwgKFNILTEpOwotICAgICAgICBSID0gWSArIFYgKiBjLT55dXYycmdiX3Yycl9jb2VmZjsKLSAg ICAgICAgRyA9IFkgKyBWICogYy0+eXV2MnJnYl92MmdfY29lZmYgKyBVICogYy0+eXV2MnJnYl91 MmdfY29lZmY7Ci0gICAgICAgIEIgPSBZICsgICAgICAgICAgICAgICAgICAgICAgICAgICAgVSAq IGMtPnl1djJyZ2JfdTJiX2NvZWZmOworICAgICAgICBSID0gWSArIFYgKiAodW5zaWduZWQpYy0+ eXV2MnJnYl92MnJfY29lZmY7CisgICAgICAgIEcgPSBZICsgViAqICh1bnNpZ25lZCljLT55dXYy cmdiX3YyZ19jb2VmZiArIFUgKiAodW5zaWduZWQpYy0+eXV2MnJnYl91MmdfY29lZmY7CisgICAg ICAgIEIgPSBZICsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFUgKiAodW5z aWduZWQpYy0+eXV2MnJnYl91MmJfY29lZmY7CiAKICAgICAgICAgaWYgKChSIHwgRyB8IEIpICYg MHhDMDAwMDAwMCkgewogICAgICAgICAgICAgUiA9IGF2X2NsaXBfdWludHAyKFIsIDMwKTsKLS0g CjIuNDkuMQoKCkZyb20gMmZhMzgwMTUwNzAyM2U0MTExMDYwNTc3NGI2YTkxZDdjYTM5MTk4ZSBN b24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKRnJvbTogTWljaGFlbCBOaWVkZXJtYXllciA8bWljaGFl bEBuaWVkZXJtYXllci5jYz4KRGF0ZTogVHVlLCA0IEZlYiAyMDI1IDAzOjU4OjQ1ICswMTAwClN1 YmplY3Q6IFtQQVRDSCAyNjIvNDM0XSBhdmNvZGVjL29zcTogYXZvaWQgdW5kZWZpbmVkIG5lZ2F0 aW9uCgpGaXhlczogbmVnYXRpb24gb2YgLTIxNDc0ODM2NDggY2Fubm90IGJlIHJlcHJlc2VudGVk IGluIHR5cGUgJ2ludDMyX3QnIChha2EgJ2ludCcpOyBjYXN0IHRvIGFuIHVuc2lnbmVkIHR5cGUg dG8gbmVnYXRlIHRoaXMgdmFsdWUgdG8gaXRzZWxmCkZpeGVzOiAzOTA2NDY2NTkvY2x1c3RlcmZ1 enotdGVzdGNhc2UtbWluaW1pemVkLWZmbXBlZ19BVl9DT0RFQ19JRF9PU1FfZnV6emVyLTUwNDAy NzczNzQ0MzUzMjgKCkZvdW5kLWJ5OiBjb250aW51b3VzIGZ1enppbmcgcHJvY2VzcyBodHRwczov L2dpdGh1Yi5jb20vZ29vZ2xlL29zcy1mdXp6L3RyZWUvbWFzdGVyL3Byb2plY3RzL2ZmbXBlZwpT aWduZWQtb2ZmLWJ5OiBNaWNoYWVsIE5pZWRlcm1heWVyIDxtaWNoYWVsQG5pZWRlcm1heWVyLmNj PgooY2hlcnJ5IHBpY2tlZCBmcm9tIGNvbW1pdCBjNmE4ODlmM2UwOTI0OWQyYTY0M2E2YmViN2Q0 NGE4ZTQyZWEzNTQxKQpTaWduZWQtb2ZmLWJ5OiBNaWNoYWVsIE5pZWRlcm1heWVyIDxtaWNoYWVs QG5pZWRlcm1heWVyLmNjPgotLS0KIGxpYmF2Y29kZWMvb3NxLmMgfCAyICstCiAxIGZpbGUgY2hh bmdlZCwgMSBpbnNlcnRpb24oKyksIDEgZGVsZXRpb24oLSkKCmRpZmYgLS1naXQgYS9saWJhdmNv ZGVjL29zcS5jIGIvbGliYXZjb2RlYy9vc3EuYwppbmRleCA4M2I0YTlkNjE4Li41Yzc4MjY3Nzhk IDEwMDY0NAotLS0gYS9saWJhdmNvZGVjL29zcS5jCisrKyBiL2xpYmF2Y29kZWMvb3NxLmMKQEAg LTE5MCw3ICsxOTAsNyBAQCBzdGF0aWMgdWludDMyX3QgZ2V0X3VyaWNlKEdldEJpdENvbnRleHQg KmdiLCBpbnQgaykKIAogc3RhdGljIGludDMyX3QgZ2V0X3NyaWNlKEdldEJpdENvbnRleHQgKmdi LCBpbnQgeCkKIHsKLSAgICBpbnQzMl90IHkgPSBnZXRfdXJpY2UoZ2IsIHgpOworICAgIHVpbnQz Ml90IHkgPSBnZXRfdXJpY2UoZ2IsIHgpOwogICAgIHJldHVybiBnZXRfYml0czEoZ2IpID8gLXkg OiB5OwogfQogCi0tIAoyLjQ5LjEKCgpGcm9tIGQxY2VmMThjNWNhY2QzYWYxOWM3MmU3MzU4MTY0 MmI4MmI3ZTY4NjUgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCkZyb206IE1pY2hhZWwgTmllZGVy bWF5ZXIgPG1pY2hhZWxAbmllZGVybWF5ZXIuY2M+CkRhdGU6IE1vbiwgMjQgTWFyIDIwMjUgMDI6 NTc6NDYgKzAxMDAKU3ViamVjdDogW1BBVENIIDI2My80MzRdIGNvbmZpZ3VyZTogQ2xlYXJlciBk b2N1bWVudGF0aW9uIGZvcgogImRpc2FibGUtc2FmZS1iaXRzdHJlYW0tcmVhZGVyIgoKU2lnbmVk LW9mZi1ieTogTWljaGFlbCBOaWVkZXJtYXllciA8bWljaGFlbEBuaWVkZXJtYXllci5jYz4KKGNo ZXJyeSBwaWNrZWQgZnJvbSBjb21taXQgOTc5NjA4ZGRlN2E4MzNiN2FmNTBhOWY2YmFkODFmYzQ4 M2MxZmYwNCkKU2lnbmVkLW9mZi1ieTogTWljaGFlbCBOaWVkZXJtYXllciA8bWljaGFlbEBuaWVk ZXJtYXllci5jYz4KLS0tCiBjb25maWd1cmUgfCA0ICsrKy0KIDEgZmlsZSBjaGFuZ2VkLCAzIGlu c2VydGlvbnMoKyksIDEgZGVsZXRpb24oLSkKCmRpZmYgLS1naXQgYS9jb25maWd1cmUgYi9jb25m aWd1cmUKaW5kZXggYjU1OWRjYTVkMC4uOThiNTgyYTVkNSAxMDA3NTUKLS0tIGEvY29uZmlndXJl CisrKyBiL2NvbmZpZ3VyZQpAQCAtNDM0LDcgKzQzNCw5IEBAIEFkdmFuY2VkIG9wdGlvbnMgKGV4 cGVydHMgb25seSk6CiAgIC0tZW5hYmxlLWhhcmRjb2RlZC10YWJsZXMgdXNlIGhhcmRjb2RlZCB0 YWJsZXMgaW5zdGVhZCBvZiBydW50aW1lIGdlbmVyYXRpb24KICAgLS1kaXNhYmxlLXNhZmUtYml0 c3RyZWFtLXJlYWRlcgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGlzYWJsZSBidWZmZXIg Ym91bmRhcnkgY2hlY2tpbmcgaW4gYml0cmVhZGVycwotICAgICAgICAgICAgICAgICAgICAgICAg ICAgKGZhc3RlciwgYnV0IG1heSBjcmFzaCkKKyAgICAgICAgICAgICAgICAgICAgICAgICAgIChU aGlzIGRpc2FibGVzIHNvbWUgc2VjdXJpdHkgY2hlY2tzIGFuZCBjYW4gY2F1c2UgdW5kZWZpbmVk IGJlaGF2aW9yLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNyYXNoZXMgYW5kIGFyYml0 cmFyeSBjb2RlIGV4ZWN1dGlvbiwgaXQgbWF5IGJlIGZhc3RlciwgYnV0CisgICAgICAgICAgICAg ICAgICAgICAgICAgICAgc2hvdWxkIG9ubHkgYmUgdXNlZCB3aXRoIHRydXN0ZWQgaW5wdXQpCiAg IC0tc3dzLW1heC1maWx0ZXItc2l6ZT1OICB0aGUgbWF4IGZpbHRlciBzaXplIHN3c2NhbGUgdXNl cyBbJHN3c19tYXhfZmlsdGVyX3NpemVfZGVmYXVsdF0KIAogT3B0aW1pemF0aW9uIG9wdGlvbnMg KGV4cGVydHMgb25seSk6Ci0tIAoyLjQ5LjEKCgpGcm9tIDBiN2U0M2ZiMTdiNTk2NjhhZDdlNjgz OGIwNjY3OTBlMWQyOTk2NDcgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCkZyb206IE1pY2hhZWwg TmllZGVybWF5ZXIgPG1pY2hhZWxAbmllZGVybWF5ZXIuY2M+CkRhdGU6IFR1ZSwgMjIgQXByIDIw MjUgMDM6MzU6MzEgKzAyMDAKU3ViamVjdDogW1BBVENIIDI2NC80MzRdIHBvc3Rwcm9jL3Bvc3Rw cm9jZXNzX3RlbXBsYXRlOiBGaXggcmVhZGluZwogdW5pbml0aWFsaXplZCBwaXhlbHMgaW4gZGVy aW5nX0MoKQoKVGhpcyBpc3N1ZSB3YXMgZm91bmQgdGhyb3VnaCB0aGUgbmV3IGJsb2NrdGVzdAoK U2lnbmVkLW9mZi1ieTogTWljaGFlbCBOaWVkZXJtYXllciA8bWljaGFlbEBuaWVkZXJtYXllci5j Yz4KKGNoZXJyeSBwaWNrZWQgZnJvbSBjb21taXQgMDExOGYzOTJiZTkxNjc4NGY5MjUwODQ3NGU4 ZDY0MjQzZmQ2ZmE5NykKU2lnbmVkLW9mZi1ieTogTWljaGFlbCBOaWVkZXJtYXllciA8bWljaGFl bEBuaWVkZXJtYXllci5jYz4KLS0tCiBsaWJwb3N0cHJvYy9wb3N0cHJvY2Vzc19hbHRpdmVjX3Rl bXBsYXRlLmMgfCAgMiArLQogbGlicG9zdHByb2MvcG9zdHByb2Nlc3NfdGVtcGxhdGUuYyAgICAg ICAgIHwgMTQgKysrKysrKy0tLS0tLS0KIDIgZmlsZXMgY2hhbmdlZCwgOCBpbnNlcnRpb25zKCsp LCA4IGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL2xpYnBvc3Rwcm9jL3Bvc3Rwcm9jZXNzX2Fs dGl2ZWNfdGVtcGxhdGUuYyBiL2xpYnBvc3Rwcm9jL3Bvc3Rwcm9jZXNzX2FsdGl2ZWNfdGVtcGxh dGUuYwppbmRleCBhOWQ0Y2QyOWEzLi5lZWJjZWI3YmNkIDEwMDY0NAotLS0gYS9saWJwb3N0cHJv Yy9wb3N0cHJvY2Vzc19hbHRpdmVjX3RlbXBsYXRlLmMKKysrIGIvbGlicG9zdHByb2MvcG9zdHBy b2Nlc3NfYWx0aXZlY190ZW1wbGF0ZS5jCkBAIC01MzAsNyArNTMwLDcgQEAgc3RhdGljIGlubGlu ZSB2b2lkIGRvVmVydERlZkZpbHRlcl9hbHRpdmVjKHVpbnQ4X3Qgc3JjW10sIGludCBzdHJpZGUs IFBQQ29udGV4dAogICAgICBTVE9SRSg1KQogfQogCi1zdGF0aWMgaW5saW5lIHZvaWQgZGVyaW5n X2FsdGl2ZWModWludDhfdCBzcmNbXSwgaW50IHN0cmlkZSwgUFBDb250ZXh0ICpjKSB7CitzdGF0 aWMgaW5saW5lIHZvaWQgZGVyaW5nX2FsdGl2ZWModWludDhfdCBzcmNbXSwgaW50IHN0cmlkZSwg UFBDb250ZXh0ICpjLCBpbnQgbGVmdGJvcmRlciwgaW50IHJpZ2h0Ym9yZGVyKSB7CiAgICAgY29u c3QgdmVjdG9yIHNpZ25lZCBpbnQgdnNpbnQzMl84ID0gdmVjX3NwbGF0X3MzMig4KTsKICAgICBj b25zdCB2ZWN0b3IgdW5zaWduZWQgaW50IHZ1aW50MzJfNCA9IHZlY19zcGxhdF91MzIoNCk7CiAg ICAgY29uc3QgdmVjdG9yIHNpZ25lZCBjaGFyIG5lZzEgPSB2ZWNfc3BsYXRfczgoLTEpOwpkaWZm IC0tZ2l0IGEvbGlicG9zdHByb2MvcG9zdHByb2Nlc3NfdGVtcGxhdGUuYyBiL2xpYnBvc3Rwcm9j L3Bvc3Rwcm9jZXNzX3RlbXBsYXRlLmMKaW5kZXggZDU2YjQ1ZDNiNC4uOWRhNjQwZTU1MiAxMDA2 NDQKLS0tIGEvbGlicG9zdHByb2MvcG9zdHByb2Nlc3NfdGVtcGxhdGUuYworKysgYi9saWJwb3N0 cHJvYy9wb3N0cHJvY2Vzc190ZW1wbGF0ZS5jCkBAIC04MzEsNyArODMxLDcgQEAgc3RhdGljIGlu bGluZSB2b2lkIFJFTkFNRShkb1ZlcnREZWZGaWx0ZXIpKHVpbnQ4X3Qgc3JjW10sIGludCBzdHJp ZGUsIFBQQ29udGV4dAogI2VuZGlmIC8vVEVNUExBVEVfUFBfQUxUSVZFQwogCiAjaWYgIVRFTVBM QVRFX1BQX0FMVElWRUMKLXN0YXRpYyBpbmxpbmUgdm9pZCBSRU5BTUUoZGVyaW5nKSh1aW50OF90 IHNyY1tdLCBpbnQgc3RyaWRlLCBQUENvbnRleHQgKmMpCitzdGF0aWMgaW5saW5lIHZvaWQgUkVO QU1FKGRlcmluZykodWludDhfdCBzcmNbXSwgaW50IHN0cmlkZSwgUFBDb250ZXh0ICpjLCBpbnQg bGVmdGJvcmRlciwgaW50IHJpZ2h0Ym9yZGVyKQogewogI2lmIFRFTVBMQVRFX1BQX01NWEVYVCAm JiBIQVZFXzdSRUdTCiAgICAgREVDTEFSRV9BTElHTkVEKDgsIHVpbnQ2NF90LCB0bXApWzNdOwpA QCAtMTA0Nyw3ICsxMDQ3LDcgQEAgREVSSU5HX0NPUkUoKCUwLCAlMSwgOCkgICAgICAgLCglJUZG X1JFR2QsICUxLCA0KSwlJW1tMiwlJW1tNCwlJW1tMCwlJW1tMywlJW1tNSwKICAgICBmb3IoeT0w OyB5PDEwOyB5KyspewogICAgICAgICBpbnQgdCA9IDA7CiAKLSAgICAgICAgaWYoc3JjW3N0cmlk ZSp5ICsgMF0gPiBhdmcpIHQrPSAxOworICAgICAgICBpZighbGVmdGJvcmRlciAmJiBzcmNbc3Ry aWRlKnkgKyAwXSA+IGF2ZykgdCs9IDE7CiAgICAgICAgIGlmKHNyY1tzdHJpZGUqeSArIDFdID4g YXZnKSB0Kz0gMjsKICAgICAgICAgaWYoc3JjW3N0cmlkZSp5ICsgMl0gPiBhdmcpIHQrPSA0Owog ICAgICAgICBpZihzcmNbc3RyaWRlKnkgKyAzXSA+IGF2ZykgdCs9IDg7CkBAIC0xMDU2LDcgKzEw NTYsNyBAQCBERVJJTkdfQ09SRSgoJTAsICUxLCA4KSAgICAgICAsKCUlRkZfUkVHZCwgJTEsIDQp LCUlbW0yLCUlbW00LCUlbW0wLCUlbW0zLCUlbW01LAogICAgICAgICBpZihzcmNbc3RyaWRlKnkg KyA2XSA+IGF2ZykgdCs9IDY0OwogICAgICAgICBpZihzcmNbc3RyaWRlKnkgKyA3XSA+IGF2Zykg dCs9IDEyODsKICAgICAgICAgaWYoc3JjW3N0cmlkZSp5ICsgOF0gPiBhdmcpIHQrPSAyNTY7Ci0g ICAgICAgIGlmKHNyY1tzdHJpZGUqeSArIDldID4gYXZnKSB0Kz0gNTEyOworICAgICAgICBpZigh cmlnaHRib3JkZXIgJiYgc3JjW3N0cmlkZSp5ICsgOV0gPiBhdmcpIHQrPSA1MTI7CiAKICAgICAg ICAgdCB8PSAofnQpPDwxNjsKICAgICAgICAgdCAmPSAodDw8MSkgJiAodD4+MSk7CkBAIC0xMDcz LDggKzEwNzMsOCBAQCBERVJJTkdfQ09SRSgoJTAsICUxLCA4KSAgICAgICAsKCUlRkZfUkVHZCwg JTEsIDQpLCUlbW0yLCUlbW00LCUlbW0wLCUlbW0zLCUlbW01LAogICAgICAgICBpbnQgeDsKICAg ICAgICAgaW50IHQgPSBzW3ktMV07CiAKLSAgICAgICAgcD0gc3JjICsgc3RyaWRlKnk7Ci0gICAg ICAgIGZvcih4PTE7IHg8OTsgeCsrKXsKKyAgICAgICAgcD0gc3JjICsgc3RyaWRlKnkgKyBsZWZ0 Ym9yZGVyOworICAgICAgICBmb3IoeD0xK2xlZnRib3JkZXI7IHg8OS1yaWdodGJvcmRlcjsgeCsr KXsKICAgICAgICAgICAgIHArKzsKICAgICAgICAgICAgIGlmKHQgJiAoMTw8eCkpewogICAgICAg ICAgICAgICAgIGludCBmPSAoKihwLXN0cmlkZS0xKSkgKyAyKigqKHAtc3RyaWRlKSkgKyAoKihw LXN0cmlkZSsxKSkKQEAgLTMyMTEsNyArMzIxMSw3IEBAIHN0YXRpYyB2b2lkIFJFTkFNRShwb3N0 UHJvY2VzcykoY29uc3QgdWludDhfdCBzcmNbXSwgaW50IHNyY1N0cmlkZSwgdWludDhfdCBkc3Rb CiAjZW5kaWYgLy9URU1QTEFURV9QUF9NTVgKICAgICAgICAgICAgICAgICBpZihtb2RlICYgREVS SU5HKXsKICAgICAgICAgICAgICAgICAvL0ZJWE1FIGZpbHRlciBmaXJzdCBsaW5lCi0gICAgICAg ICAgICAgICAgICAgIGlmKHk+MCkgUkVOQU1FKGRlcmluZykoZHN0QmxvY2sgLSBzdHJpZGUgLSA4 LCBzdHJpZGUsIGMpOworICAgICAgICAgICAgICAgICAgICBpZih5PjApIFJFTkFNRShkZXJpbmcp KGRzdEJsb2NrIC0gc3RyaWRlIC0gOCwgc3RyaWRlLCBjLCB4PD04LCAwKTsKICAgICAgICAgICAg ICAgICB9CiAKICAgICAgICAgICAgICAgICBpZihtb2RlICYgVEVNUF9OT0lTRV9GSUxURVIpCkBA IC0zMjMzLDcgKzMyMzMsNyBAQCBzdGF0aWMgdm9pZCBSRU5BTUUocG9zdFByb2Nlc3MpKGNvbnN0 IHVpbnQ4X3Qgc3JjW10sIGludCBzcmNTdHJpZGUsIHVpbnQ4X3QgZHN0WwogICAgICAgICB9CiAK ICAgICAgICAgaWYobW9kZSAmIERFUklORyl7Ci0gICAgICAgICAgICBpZih5ID4gMCkgUkVOQU1F KGRlcmluZykoZHN0QmxvY2sgLSBkc3RTdHJpZGUgLSA4LCBkc3RTdHJpZGUsIGMpOworICAgICAg ICAgICAgaWYoeSA+IDApIFJFTkFNRShkZXJpbmcpKGRzdEJsb2NrIC0gZHN0U3RyaWRlIC0gOCwg ZHN0U3RyaWRlLCBjLCAwLCAxKTsKICAgICAgICAgfQogCiAgICAgICAgIGlmKChtb2RlICYgVEVN UF9OT0lTRV9GSUxURVIpKXsKLS0gCjIuNDkuMQoKCkZyb20gNjQ5MTFmZmMyMGI3ODY4M2QxOWU2 MWJlNjNiNjBkZTkxZDk0NTY4NSBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKRnJvbTogTWljaGFl bCBOaWVkZXJtYXllciA8bWljaGFlbEBuaWVkZXJtYXllci5jYz4KRGF0ZTogVHVlLCAyMiBBcHIg MjAyNSAyMTowNDozNyArMDIwMApTdWJqZWN0OiBbUEFUQ0ggMjY1LzQzNF0gcG9zdHByb2MvcG9z dHByb2Nlc3NfdGVtcGxhdGU6IGZpeCBoYW5kbGluZyBvZiBmaXJzdAogcm93IG9mIGRlcmluZ19D CgpTaWduZWQtb2ZmLWJ5OiBNaWNoYWVsIE5pZWRlcm1heWVyIDxtaWNoYWVsQG5pZWRlcm1heWVy LmNjPgooY2hlcnJ5IHBpY2tlZCBmcm9tIGNvbW1pdCAxNDJlYjkwZjA3YTQzYTE2NThkMGI2MWM0 YWU0NDdmNzZlODhmNjZiKQpTaWduZWQtb2ZmLWJ5OiBNaWNoYWVsIE5pZWRlcm1heWVyIDxtaWNo YWVsQG5pZWRlcm1heWVyLmNjPgotLS0KIGxpYnBvc3Rwcm9jL3Bvc3Rwcm9jZXNzX2FsdGl2ZWNf dGVtcGxhdGUuYyB8ICA1ICsrKystCiBsaWJwb3N0cHJvYy9wb3N0cHJvY2Vzc190ZW1wbGF0ZS5j ICAgICAgICAgfCAxMiArKysrKysrLS0tLS0KIDIgZmlsZXMgY2hhbmdlZCwgMTEgaW5zZXJ0aW9u cygrKSwgNiBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9saWJwb3N0cHJvYy9wb3N0cHJvY2Vz c19hbHRpdmVjX3RlbXBsYXRlLmMgYi9saWJwb3N0cHJvYy9wb3N0cHJvY2Vzc19hbHRpdmVjX3Rl bXBsYXRlLmMKaW5kZXggZWViY2ViN2JjZC4uNGRlYTAwMzZjZSAxMDA2NDQKLS0tIGEvbGlicG9z dHByb2MvcG9zdHByb2Nlc3NfYWx0aXZlY190ZW1wbGF0ZS5jCisrKyBiL2xpYnBvc3Rwcm9jL3Bv c3Rwcm9jZXNzX2FsdGl2ZWNfdGVtcGxhdGUuYwpAQCAtNTMwLDcgKzUzMCw3IEBAIHN0YXRpYyBp bmxpbmUgdm9pZCBkb1ZlcnREZWZGaWx0ZXJfYWx0aXZlYyh1aW50OF90IHNyY1tdLCBpbnQgc3Ry aWRlLCBQUENvbnRleHQKICAgICAgU1RPUkUoNSkKIH0KIAotc3RhdGljIGlubGluZSB2b2lkIGRl cmluZ19hbHRpdmVjKHVpbnQ4X3Qgc3JjW10sIGludCBzdHJpZGUsIFBQQ29udGV4dCAqYywgaW50 IGxlZnRib3JkZXIsIGludCByaWdodGJvcmRlcikgeworc3RhdGljIGlubGluZSB2b2lkIGRlcmlu Z19hbHRpdmVjKHVpbnQ4X3Qgc3JjW10sIGludCBzdHJpZGUsIFBQQ29udGV4dCAqYywgaW50IGxl ZnRib3JkZXIsIGludCByaWdodGJvcmRlciwgaW50IHRvcGJvcmRlcikgewogICAgIGNvbnN0IHZl Y3RvciBzaWduZWQgaW50IHZzaW50MzJfOCA9IHZlY19zcGxhdF9zMzIoOCk7CiAgICAgY29uc3Qg dmVjdG9yIHVuc2lnbmVkIGludCB2dWludDMyXzQgPSB2ZWNfc3BsYXRfdTMyKDQpOwogICAgIGNv bnN0IHZlY3RvciBzaWduZWQgY2hhciBuZWcxID0gdmVjX3NwbGF0X3M4KC0xKTsKQEAgLTU3Nyw2 ICs1NzcsOSBAQCBzdGF0aWMgaW5saW5lIHZvaWQgZGVyaW5nX2FsdGl2ZWModWludDhfdCBzcmNb XSwgaW50IHN0cmlkZSwgUFBDb250ZXh0ICpjLCBpbnQgbAogICAgIGNvbnN0IHZlY3RvciBzaWdu ZWQgaW50IHplcm8gPSB2ZWNfc3BsYXRfczMyKDApOwogICAgIHZlY3RvciB1bnNpZ25lZCBjaGFy IHZfZHQgPSB2ZWNfc3BsYXQodmVjX2xkKDAsIGR0KSwgMCk7CiAKKyAgICBpZiAodG9wYm9yZGVy KQorICAgICAgICByZXR1cm47CisKICNkZWZpbmUgTE9BRF9MSU5FKGkpICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCiAgICAgY29uc3QgdmVjdG9yIHVu c2lnbmVkIGNoYXIgcGVybSMjaSA9ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAogICAg ICAgICB2ZWNfbHZzbChpICogc3RyaWRlLCBzcmNDb3B5KTsgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIFwKZGlmZiAtLWdpdCBhL2xpYnBvc3Rwcm9jL3Bvc3Rwcm9jZXNzX3RlbXBsYXRl LmMgYi9saWJwb3N0cHJvYy9wb3N0cHJvY2Vzc190ZW1wbGF0ZS5jCmluZGV4IDlkYTY0MGU1NTIu LjMwOWVhOWQyNWEgMTAwNjQ0Ci0tLSBhL2xpYnBvc3Rwcm9jL3Bvc3Rwcm9jZXNzX3RlbXBsYXRl LmMKKysrIGIvbGlicG9zdHByb2MvcG9zdHByb2Nlc3NfdGVtcGxhdGUuYwpAQCAtODMxLDkgKzgz MSwxMSBAQCBzdGF0aWMgaW5saW5lIHZvaWQgUkVOQU1FKGRvVmVydERlZkZpbHRlcikodWludDhf dCBzcmNbXSwgaW50IHN0cmlkZSwgUFBDb250ZXh0CiAjZW5kaWYgLy9URU1QTEFURV9QUF9BTFRJ VkVDCiAKICNpZiAhVEVNUExBVEVfUFBfQUxUSVZFQwotc3RhdGljIGlubGluZSB2b2lkIFJFTkFN RShkZXJpbmcpKHVpbnQ4X3Qgc3JjW10sIGludCBzdHJpZGUsIFBQQ29udGV4dCAqYywgaW50IGxl ZnRib3JkZXIsIGludCByaWdodGJvcmRlcikKK3N0YXRpYyBpbmxpbmUgdm9pZCBSRU5BTUUoZGVy aW5nKSh1aW50OF90IHNyY1tdLCBpbnQgc3RyaWRlLCBQUENvbnRleHQgKmMsIGludCBsZWZ0Ym9y ZGVyLCBpbnQgcmlnaHRib3JkZXIsIGludCB0b3Bib3JkZXIpCiB7CiAjaWYgVEVNUExBVEVfUFBf TU1YRVhUICYmIEhBVkVfN1JFR1MKKyAgICBpZiAodG9wYm9yZGVyKQorICAgICAgICByZXR1cm47 CiAgICAgREVDTEFSRV9BTElHTkVEKDgsIHVpbnQ2NF90LCB0bXApWzNdOwogICAgIF9fYXNtX18g dm9sYXRpbGUoCiAgICAgICAgICJweG9yICUlbW02LCAlJW1tNiAgICAgICAgICAgICAgICAgICAg ICBcblx0IgpAQCAtMTA0NCw3ICsxMDQ2LDggQEAgREVSSU5HX0NPUkUoKCUwLCAlMSwgOCkgICAg ICAgLCglJUZGX1JFR2QsICUxLCA0KSwlJW1tMiwlJW1tNCwlJW1tMCwlJW1tMywlJW1tNSwKIAog ICAgIGlmKG1heCAtIG1pbiA8ZGVyaW5nVGhyZXNob2xkKSByZXR1cm47CiAKLSAgICBmb3IoeT0w OyB5PDEwOyB5KyspeworICAgIHNbMF0gPSAwOworICAgIGZvcih5PXRvcGJvcmRlcjsgeTwxMDsg eSsrKXsKICAgICAgICAgaW50IHQgPSAwOwogCiAgICAgICAgIGlmKCFsZWZ0Ym9yZGVyICYmIHNy Y1tzdHJpZGUqeSArIDBdID4gYXZnKSB0Kz0gMTsKQEAgLTMyMTAsOCArMzIxMyw3IEBAIHN0YXRp YyB2b2lkIFJFTkFNRShwb3N0UHJvY2VzcykoY29uc3QgdWludDhfdCBzcmNbXSwgaW50IHNyY1N0 cmlkZSwgdWludDhfdCBkc3RbCiAgICAgICAgICAgICAgICAgfQogI2VuZGlmIC8vVEVNUExBVEVf UFBfTU1YCiAgICAgICAgICAgICAgICAgaWYobW9kZSAmIERFUklORyl7Ci0gICAgICAgICAgICAg ICAgLy9GSVhNRSBmaWx0ZXIgZmlyc3QgbGluZQotICAgICAgICAgICAgICAgICAgICBpZih5PjAp IFJFTkFNRShkZXJpbmcpKGRzdEJsb2NrIC0gc3RyaWRlIC0gOCwgc3RyaWRlLCBjLCB4PD04LCAw KTsKKyAgICAgICAgICAgICAgICAgICAgUkVOQU1FKGRlcmluZykoZHN0QmxvY2sgLSBzdHJpZGUg LSA4LCBzdHJpZGUsIGMsIHg8PTgsIDAsIHk8PTApOwogICAgICAgICAgICAgICAgIH0KIAogICAg ICAgICAgICAgICAgIGlmKG1vZGUgJiBURU1QX05PSVNFX0ZJTFRFUikKQEAgLTMyMzMsNyArMzIz NSw3IEBAIHN0YXRpYyB2b2lkIFJFTkFNRShwb3N0UHJvY2VzcykoY29uc3QgdWludDhfdCBzcmNb XSwgaW50IHNyY1N0cmlkZSwgdWludDhfdCBkc3RbCiAgICAgICAgIH0KIAogICAgICAgICBpZiht b2RlICYgREVSSU5HKXsKLSAgICAgICAgICAgIGlmKHkgPiAwKSBSRU5BTUUoZGVyaW5nKShkc3RC bG9jayAtIGRzdFN0cmlkZSAtIDgsIGRzdFN0cmlkZSwgYywgMCwgMSk7CisgICAgICAgICAgICBS RU5BTUUoZGVyaW5nKShkc3RCbG9jayAtIGRzdFN0cmlkZSAtIDgsIGRzdFN0cmlkZSwgYywgMCwg MSwgeTw9MCk7CiAgICAgICAgIH0KIAogICAgICAgICBpZigobW9kZSAmIFRFTVBfTk9JU0VfRklM VEVSKSl7Ci0tIAoyLjQ5LjEKCgpGcm9tIGViOTIyZGVmZjE4NDFlNmQzYTgzNjdiNjFlM2U0ZDY5 ZGNjNWZhMWIgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCkZyb206IE1pY2hhZWwgTmllZGVybWF5 ZXIgPG1pY2hhZWxAbmllZGVybWF5ZXIuY2M+CkRhdGU6IFN1biwgNiBBcHIgMjAyNSAxMjozMDow NCArMDIwMApTdWJqZWN0OiBbUEFUQ0ggMjY2LzQzNF0gYXZmb3JtYXQvaGxzOiBBZGQgY21mdiBh bmQgY21mYSB0byBhbGxvd2VkX2V4dGVuc2lvbnMKCkZpeGVzOiB3d3cubmljb3ZpZGVvLmpwCkZp eGVzOiBUaWNrZXQxMTUyNgpTaWduZWQtb2ZmLWJ5OiBNaWNoYWVsIE5pZWRlcm1heWVyIDxtaWNo YWVsQG5pZWRlcm1heWVyLmNjPgooY2hlcnJ5IHBpY2tlZCBmcm9tIGNvbW1pdCAyMzUyMTQ1ZTQx NmM3Y2JkY2Y5Njc5ZWE2OTBjOWMxZGVlNGE3OTM2KQpTaWduZWQtb2ZmLWJ5OiBNaWNoYWVsIE5p ZWRlcm1heWVyIDxtaWNoYWVsQG5pZWRlcm1heWVyLmNjPgotLS0KIGxpYmF2Zm9ybWF0L2hscy5j IHwgNCArKystCiAxIGZpbGUgY2hhbmdlZCwgMyBpbnNlcnRpb25zKCspLCAxIGRlbGV0aW9uKC0p CgpkaWZmIC0tZ2l0IGEvbGliYXZmb3JtYXQvaGxzLmMgYi9saWJhdmZvcm1hdC9obHMuYwppbmRl eCA4OTZkZWIyM2Q1Li5lNDA5ZjE2MWYwIDEwMDY0NAotLS0gYS9saWJhdmZvcm1hdC9obHMuYwor KysgYi9saWJhdmZvcm1hdC9obHMuYwpAQCAtMjYyOCw3ICsyNjI4LDkgQEAgc3RhdGljIGNvbnN0 IEFWT3B0aW9uIGhsc19vcHRpb25zW10gPSB7CiAgICAgICAgIE9GRlNFVChwcmVmZXJfeF9zdGFy dCksIEFWX09QVF9UWVBFX0JPT0wsIHsgLmk2NCA9IDAgfSwgMCwgMSwgRkxBR1N9LAogICAgIHsi YWxsb3dlZF9leHRlbnNpb25zIiwgIkxpc3Qgb2YgZmlsZSBleHRlbnNpb25zIHRoYXQgaGxzIGlz IGFsbG93ZWQgdG8gYWNjZXNzIiwKICAgICAgICAgT0ZGU0VUKGFsbG93ZWRfZXh0ZW5zaW9ucyks IEFWX09QVF9UWVBFX1NUUklORywKLSAgICAgICAgey5zdHIgPSAiM2dwLGFhYyxhdmksYWMzLGVh YzMsZmxhYyxta3YsbTN1OCxtNGEsbTRzLG00dixtcGcsbW92LG1wMixtcDMsbXA0LG1wZWcsbXBl Z3RzLG9nZyxvZ3Ysb2dhLHRzLHZvYix3YXYifSwKKyAgICAgICAgey5zdHIgPSAiM2dwLGFhYyxh dmksYWMzLGVhYzMsZmxhYyxta3YsbTN1OCxtNGEsbTRzLG00dixtcGcsbW92LG1wMixtcDMsbXA0 LG1wZWcsbXBlZ3RzLG9nZyxvZ3Ysb2dhLHRzLHZvYix2dHQsd2F2LHdlYnZ0dCIKKyAgICAgICAg ICAgICIsY21mdixjbWZhIiAvLyBUaWNrZXQxMTUyNiB3d3cubmljb3ZpZGVvLmpwCisgICAgICAg IH0sCiAgICAgICAgIElOVF9NSU4sIElOVF9NQVgsIEZMQUdTfSwKICAgICB7ImV4dGVuc2lvbl9w aWNreSIsICJCZSBwaWNreSB3aXRoIGFsbCBleHRlbnNpb25zIG1hdGNoaW5nIiwKICAgICAgICAg T0ZGU0VUKGV4dGVuc2lvbl9waWNreSksIEFWX09QVF9UWVBFX0JPT0wsIHsuaTY0ID0gMX0sIDAs IDEsIEZMQUdTfSwKLS0gCjIuNDkuMQoKCkZyb20gZjJkMTM1MzMyYmU5Y2U0ZjhiYTE5MGYxOGM5 ZWE2Njc2NzVjN2MzYiBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKRnJvbTogTWljaGFlbCBOaWVk ZXJtYXllciA8bWljaGFlbEBuaWVkZXJtYXllci5jYz4KRGF0ZTogU3VuLCA2IEFwciAyMDI1IDEy OjQzOjEyICswMjAwClN1YmplY3Q6IFtQQVRDSCAyNjcvNDM0XSBhdmZvcm1hdC9obHM6IEFkZCBl YzMgdG8gYWxsb3dlZF9leHRlbnNpb25zCgpGaXhlcyBwYXJ0IG9mIFRpY2tldDExNDM1CkZpeGVz OiBFbGlzYSBWaWloZGUgKEZpbm5pc2ggb25saW5lIHJlY29yZGluZyBzZXJ2aWNlKQoKU2lnbmVk LW9mZi1ieTogTWljaGFlbCBOaWVkZXJtYXllciA8bWljaGFlbEBuaWVkZXJtYXllci5jYz4KKGNo ZXJyeSBwaWNrZWQgZnJvbSBjb21taXQgNjg2NDQ5OTRmZDdjZjU1NjEzZThiMTdiY2M5NWIyOTIy NjI4NWVjNSkKU2lnbmVkLW9mZi1ieTogTWljaGFlbCBOaWVkZXJtYXllciA8bWljaGFlbEBuaWVk ZXJtYXllci5jYz4KLS0tCiBsaWJhdmZvcm1hdC9obHMuYyB8IDEgKwogMSBmaWxlIGNoYW5nZWQs IDEgaW5zZXJ0aW9uKCspCgpkaWZmIC0tZ2l0IGEvbGliYXZmb3JtYXQvaGxzLmMgYi9saWJhdmZv cm1hdC9obHMuYwppbmRleCBlNDA5ZjE2MWYwLi42ZTUyOGVmOTg3IDEwMDY0NAotLS0gYS9saWJh dmZvcm1hdC9obHMuYworKysgYi9saWJhdmZvcm1hdC9obHMuYwpAQCAtMjYzMCw2ICsyNjMwLDcg QEAgc3RhdGljIGNvbnN0IEFWT3B0aW9uIGhsc19vcHRpb25zW10gPSB7CiAgICAgICAgIE9GRlNF VChhbGxvd2VkX2V4dGVuc2lvbnMpLCBBVl9PUFRfVFlQRV9TVFJJTkcsCiAgICAgICAgIHsuc3Ry ID0gIjNncCxhYWMsYXZpLGFjMyxlYWMzLGZsYWMsbWt2LG0zdTgsbTRhLG00cyxtNHYsbXBnLG1v dixtcDIsbXAzLG1wNCxtcGVnLG1wZWd0cyxvZ2csb2d2LG9nYSx0cyx2b2IsdnR0LHdhdix3ZWJ2 dHQiCiAgICAgICAgICAgICAiLGNtZnYsY21mYSIgLy8gVGlja2V0MTE1MjYgd3d3Lm5pY292aWRl by5qcAorICAgICAgICAgICAgIixlYzMiICAgICAgIC8vIHBhcnQgb2YgVGlja2V0MTE0MzUgKEVs aXNhIFZpaWhkZSAoRmlubmlzaCBvbmxpbmUgcmVjb3JkaW5nIHNlcnZpY2UpKQogICAgICAgICB9 LAogICAgICAgICBJTlRfTUlOLCBJTlRfTUFYLCBGTEFHU30sCiAgICAgeyJleHRlbnNpb25fcGlj a3kiLCAiQmUgcGlja3kgd2l0aCBhbGwgZXh0ZW5zaW9ucyBtYXRjaGluZyIsCi0tIAoyLjQ5LjEK CgpGcm9tIDg0ZTIzN2E1OGU3ODg3YjYyMWI0MjY0ZDU3Y2Q1OTI4ODAxOWQ3ZWUgTW9uIFNlcCAx NyAwMDowMDowMCAyMDAxCkZyb206IE1pY2hhZWwgTmllZGVybWF5ZXIgPG1pY2hhZWxAbmllZGVy bWF5ZXIuY2M+CkRhdGU6IFN1biwgNiBBcHIgMjAyNSAxMjo0NzozNCArMDIwMApTdWJqZWN0OiBb UEFUQ0ggMjY4LzQzNF0gYXZmb3JtYXQvaGxzOiBhZGQgZm1wNCB0byBhbGxvd2VkX2V4dGVuc2lv bnMKCkZpeGVzOiB5dC1kbHAvaXNzdWVzLzEyNzAwCgpTaWduZWQtb2ZmLWJ5OiBNaWNoYWVsIE5p ZWRlcm1heWVyIDxtaWNoYWVsQG5pZWRlcm1heWVyLmNjPgooY2hlcnJ5IHBpY2tlZCBmcm9tIGNv bW1pdCBkODIwMTZjNzMwMmUwZWRlODYyNmZjM2Q5MmYxNDE4YzU2N2ZiYWI0KQpTaWduZWQtb2Zm LWJ5OiBNaWNoYWVsIE5pZWRlcm1heWVyIDxtaWNoYWVsQG5pZWRlcm1heWVyLmNjPgotLS0KIGxp YmF2Zm9ybWF0L2hscy5jIHwgMSArCiAxIGZpbGUgY2hhbmdlZCwgMSBpbnNlcnRpb24oKykKCmRp ZmYgLS1naXQgYS9saWJhdmZvcm1hdC9obHMuYyBiL2xpYmF2Zm9ybWF0L2hscy5jCmluZGV4IDZl NTI4ZWY5ODcuLjgzYzAyZDAwM2EgMTAwNjQ0Ci0tLSBhL2xpYmF2Zm9ybWF0L2hscy5jCisrKyBi L2xpYmF2Zm9ybWF0L2hscy5jCkBAIC0yNjMxLDYgKzI2MzEsNyBAQCBzdGF0aWMgY29uc3QgQVZP cHRpb24gaGxzX29wdGlvbnNbXSA9IHsKICAgICAgICAgey5zdHIgPSAiM2dwLGFhYyxhdmksYWMz LGVhYzMsZmxhYyxta3YsbTN1OCxtNGEsbTRzLG00dixtcGcsbW92LG1wMixtcDMsbXA0LG1wZWcs bXBlZ3RzLG9nZyxvZ3Ysb2dhLHRzLHZvYix2dHQsd2F2LHdlYnZ0dCIKICAgICAgICAgICAgICIs Y21mdixjbWZhIiAvLyBUaWNrZXQxMTUyNiB3d3cubmljb3ZpZGVvLmpwCiAgICAgICAgICAgICAi LGVjMyIgICAgICAgLy8gcGFydCBvZiBUaWNrZXQxMTQzNSAoRWxpc2EgVmlpaGRlIChGaW5uaXNo IG9ubGluZSByZWNvcmRpbmcgc2VydmljZSkpCisgICAgICAgICAgICAiLGZtcDQiICAgICAgLy8g aHR0cHM6Ly9naXRodWIuY29tL3l0LWRscC95dC1kbHAvaXNzdWVzLzEyNzAwCiAgICAgICAgIH0s CiAgICAgICAgIElOVF9NSU4sIElOVF9NQVgsIEZMQUdTfSwKICAgICB7ImV4dGVuc2lvbl9waWNr eSIsICJCZSBwaWNreSB3aXRoIGFsbCBleHRlbnNpb25zIG1hdGNoaW5nIiwKLS0gCjIuNDkuMQoK CkZyb20gYjhlYjVmMGNiZDdhMjU4YzJmMjE5N2MxYTdkODZjYTVhYjY5YmU1MSBNb24gU2VwIDE3 IDAwOjAwOjAwIDIwMDEKRnJvbTogTWljaGFlbCBOaWVkZXJtYXllciA8bWljaGFlbEBuaWVkZXJt YXllci5jYz4KRGF0ZTogU3VuLCA2IEFwciAyMDI1IDE4OjUyOjA1ICswMjAwClN1YmplY3Q6IFtQ QVRDSCAyNjkvNDM0XSBhdmZvcm1hdC9obHM6IEZpeCBZb3V0dWJlIEFBQwoKRml4ZXM6IFRpY2tl dDExNDM1CkZpeGVzOiB5dC1kbHAgLWYgMjM0KzI3MCBodHRwczovL3d3dy55b3V0dWJlLmNvbS9s aXZlL2w4UE1sN3RVRElFCgpTaWduZWQtb2ZmLWJ5OiBNaWNoYWVsIE5pZWRlcm1heWVyIDxtaWNo YWVsQG5pZWRlcm1heWVyLmNjPgooY2hlcnJ5IHBpY2tlZCBmcm9tIGNvbW1pdCA0OGMwZGJhMjNi M2NlOGMyYmNiMTgwYmQyYzgwMjljM2MyODc1NDI0KQpTaWduZWQtb2ZmLWJ5OiBNaWNoYWVsIE5p ZWRlcm1heWVyIDxtaWNoYWVsQG5pZWRlcm1heWVyLmNjPgotLS0KIGxpYmF2Zm9ybWF0L2hscy5j IHwgMyArKy0KIDEgZmlsZSBjaGFuZ2VkLCAyIGluc2VydGlvbnMoKyksIDEgZGVsZXRpb24oLSkK CmRpZmYgLS1naXQgYS9saWJhdmZvcm1hdC9obHMuYyBiL2xpYmF2Zm9ybWF0L2hscy5jCmluZGV4 IDgzYzAyZDAwM2EuLjBkZjYxZDA3NTMgMTAwNjQ0Ci0tLSBhL2xpYmF2Zm9ybWF0L2hscy5jCisr KyBiL2xpYmF2Zm9ybWF0L2hscy5jCkBAIC03NTQsNyArNzU0LDggQEAgc3RhdGljIGludCB0ZXN0 X3NlZ21lbnQoQVZGb3JtYXRDb250ZXh0ICpzLCBjb25zdCBBVklucHV0Rm9ybWF0ICppbl9mbXQs IHN0cnVjdAogICAgICAgICBpZiAoaW5fZm10LT5leHRlbnNpb25zKSB7CiAgICAgICAgICAgICBt YXRjaEYgPSAgICAgIGF2X21hdGNoX2V4dCggICAgc2VnLT51cmwsIGluX2ZtdC0+ZXh0ZW5zaW9u cykKICAgICAgICAgICAgICAgICAgICAgICsgMiooZmZfbWF0Y2hfdXJsX2V4dChzZWctPnVybCwg aW5fZm10LT5leHRlbnNpb25zKSA+IDApOwotICAgICAgICAgICAgaWYoYXZfbWF0Y2hfbmFtZSgi bXA0IiwgaW5fZm10LT5uYW1lKSkgeworICAgICAgICAgICAgLy8gWW91dHViZSB1c2VzIGFhYyBm aWxlcyB3aXRoIC50cyBleHRlbnNpb24KKyAgICAgICAgICAgIGlmKGF2X21hdGNoX25hbWUoIm1w NCIsIGluX2ZtdC0+bmFtZSkgfHwgYXZfbWF0Y2hfbmFtZSgiYWFjIiwgaW5fZm10LT5uYW1lKSkg ewogICAgICAgICAgICAgICAgIG1hdGNoRiB8PSAgICAgIGF2X21hdGNoX2V4dCggICAgc2VnLT51 cmwsICJ0cyxtMnQsbTJ0cyxtdHMsbXBnLG00cyxtcGVnLG1wZWd0cyIpCiAgICAgICAgICAgICAg ICAgICAgICAgICAgICsgMiooZmZfbWF0Y2hfdXJsX2V4dChzZWctPnVybCwgInRzLG0ydCxtMnRz LG10cyxtcGcsbTRzLG1wZWcsbXBlZ3RzIikgPiAwKTsKICAgICAgICAgICAgIH0KLS0gCjIuNDku MQoKCkZyb20gNTZlMTAwYTc5OWFjMjVkZGRjNDJiZGE2OTU4ODgzM2M0NGE2NTgxYyBNb24gU2Vw IDE3IDAwOjAwOjAwIDIwMDEKRnJvbTogTWljaGFlbCBOaWVkZXJtYXllciA8bWljaGFlbEBuaWVk ZXJtYXllci5jYz4KRGF0ZTogV2VkLCAzMCBBcHIgMjAyNSAwMTozNzoyNyArMDIwMApTdWJqZWN0 OiBbUEFUQ0ggMjcwLzQzNF0gYXZmb3JtYXQvaGxzOiBTcGxpdCBhbGxvd2VkX3NlZ21lbnRfZXh0 ZW5zaW9ucyBvZmYKIGFsbG93ZWRfZXh0ZW5zaW9ucwoKVGhpcyBhbGxvd3MgdGhlIHVzZXIgdG8g c2V0IG9ubHkgdGhlIG9uZSB0aGF0IGlzIG5lZWRlZCB0byBBTEwgb3IgYQpzcGVjaWZpYyAid3Jv bmciIGV4dGVuc2lvbiBsaWtlIGh0bWwKClNpZ25lZC1vZmYtYnk6IE1pY2hhZWwgTmllZGVybWF5 ZXIgPG1pY2hhZWxAbmllZGVybWF5ZXIuY2M+CihjaGVycnkgcGlja2VkIGZyb20gY29tbWl0IGY5 OWYyMjNlYjFhYzlhNmUzNmRhYjBlMzE3NTYzNjkyMTRiNTU2NGYpClNpZ25lZC1vZmYtYnk6IE1p Y2hhZWwgTmllZGVybWF5ZXIgPG1pY2hhZWxAbmllZGVybWF5ZXIuY2M+Ci0tLQogbGliYXZmb3Jt YXQvaGxzLmMgfCAxNyArKysrKysrKysrKysrLS0tLQogMSBmaWxlIGNoYW5nZWQsIDEzIGluc2Vy dGlvbnMoKyksIDQgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvbGliYXZmb3JtYXQvaGxzLmMg Yi9saWJhdmZvcm1hdC9obHMuYwppbmRleCAwZGY2MWQwNzUzLi5iNDA0ZGVkNDdkIDEwMDY0NAot LS0gYS9saWJhdmZvcm1hdC9obHMuYworKysgYi9saWJhdmZvcm1hdC9obHMuYwpAQCAtMjIzLDYg KzIyMyw3IEBAIHR5cGVkZWYgc3RydWN0IEhMU0NvbnRleHQgewogICAgIEFWRGljdGlvbmFyeSAq YXZpb19vcHRzOwogICAgIEFWRGljdGlvbmFyeSAqc2VnX2Zvcm1hdF9vcHRzOwogICAgIGNoYXIg KmFsbG93ZWRfZXh0ZW5zaW9uczsKKyAgICBjaGFyICphbGxvd2VkX3NlZ21lbnRfZXh0ZW5zaW9u czsKICAgICBpbnQgZXh0ZW5zaW9uX3BpY2t5OwogICAgIGludCBtYXhfcmVsb2FkOwogICAgIGlu dCBodHRwX3BlcnNpc3RlbnQ7CkBAIC03NDEsMTIgKzc0MiwxMiBAQCBzdGF0aWMgaW50IHRlc3Rf c2VnbWVudChBVkZvcm1hdENvbnRleHQgKnMsIGNvbnN0IEFWSW5wdXRGb3JtYXQgKmluX2ZtdCwg c3RydWN0CiAgICAgaWYgKCFjLT5leHRlbnNpb25fcGlja3kpCiAgICAgICAgIHJldHVybiAwOwog Ci0gICAgaWYgKHN0cmNtcChjLT5hbGxvd2VkX2V4dGVuc2lvbnMsICJBTEwiKSkKLSAgICAgICAg bWF0Y2hBID0gICAgICBhdl9tYXRjaF9leHQgICAgKHNlZy0+dXJsLCBjLT5hbGxvd2VkX2V4dGVu c2lvbnMpCi0gICAgICAgICAgICAgICAgICsgMiooZmZfbWF0Y2hfdXJsX2V4dChzZWctPnVybCwg Yy0+YWxsb3dlZF9leHRlbnNpb25zKSA+IDApOworICAgIGlmIChzdHJjbXAoYy0+YWxsb3dlZF9z ZWdtZW50X2V4dGVuc2lvbnMsICJBTEwiKSkKKyAgICAgICAgbWF0Y2hBID0gICAgICBhdl9tYXRj aF9leHQgICAgKHNlZy0+dXJsLCBjLT5hbGxvd2VkX3NlZ21lbnRfZXh0ZW5zaW9ucykKKyAgICAg ICAgICAgICAgICAgKyAyKihmZl9tYXRjaF91cmxfZXh0KHNlZy0+dXJsLCBjLT5hbGxvd2VkX3Nl Z21lbnRfZXh0ZW5zaW9ucykgPiAwKTsKIAogICAgIGlmICghbWF0Y2hBKSB7Ci0gICAgICAgIGF2 X2xvZyhzLCBBVl9MT0dfRVJST1IsICJVUkwgJXMgaXMgbm90IGluIGFsbG93ZWRfZXh0ZW5zaW9u c1xuIiwgc2VnLT51cmwpOworICAgICAgICBhdl9sb2cocywgQVZfTE9HX0VSUk9SLCAiVVJMICVz IGlzIG5vdCBpbiBhbGxvd2VkX3NlZ21lbnRfZXh0ZW5zaW9uc1xuIiwgc2VnLT51cmwpOwogICAg ICAgICByZXR1cm4gQVZFUlJPUl9JTlZBTElEREFUQTsKICAgICB9CiAKQEAgLTI2MzUsNiArMjYz NiwxNCBAQCBzdGF0aWMgY29uc3QgQVZPcHRpb24gaGxzX29wdGlvbnNbXSA9IHsKICAgICAgICAg ICAgICIsZm1wNCIgICAgICAvLyBodHRwczovL2dpdGh1Yi5jb20veXQtZGxwL3l0LWRscC9pc3N1 ZXMvMTI3MDAKICAgICAgICAgfSwKICAgICAgICAgSU5UX01JTiwgSU5UX01BWCwgRkxBR1N9LAor ICAgIHsiYWxsb3dlZF9zZWdtZW50X2V4dGVuc2lvbnMiLCAiTGlzdCBvZiBmaWxlIGV4dGVuc2lv bnMgdGhhdCBobHMgaXMgYWxsb3dlZCB0byBhY2Nlc3MiLAorICAgICAgICBPRkZTRVQoYWxsb3dl ZF9zZWdtZW50X2V4dGVuc2lvbnMpLCBBVl9PUFRfVFlQRV9TVFJJTkcsCisgICAgICAgIHsuc3Ry ID0gIjNncCxhYWMsYXZpLGFjMyxlYWMzLGZsYWMsbWt2LG0zdTgsbTRhLG00cyxtNHYsbXBnLG1v dixtcDIsbXAzLG1wNCxtcGVnLG1wZWd0cyxvZ2csb2d2LG9nYSx0cyx2b2IsdnR0LHdhdix3ZWJ2 dHQiCisgICAgICAgICAgICAiLGNtZnYsY21mYSIgLy8gVGlja2V0MTE1MjYgd3d3Lm5pY292aWRl by5qcAorICAgICAgICAgICAgIixlYzMiICAgICAgIC8vIHBhcnQgb2YgVGlja2V0MTE0MzUgKEVs aXNhIFZpaWhkZSAoRmlubmlzaCBvbmxpbmUgcmVjb3JkaW5nIHNlcnZpY2UpKQorICAgICAgICAg ICAgIixmbXA0IiAgICAgIC8vIGh0dHBzOi8vZ2l0aHViLmNvbS95dC1kbHAveXQtZGxwL2lzc3Vl cy8xMjcwMAorICAgICAgICB9LAorICAgICAgICBJTlRfTUlOLCBJTlRfTUFYLCBGTEFHU30sCiAg ICAgeyJleHRlbnNpb25fcGlja3kiLCAiQmUgcGlja3kgd2l0aCBhbGwgZXh0ZW5zaW9ucyBtYXRj aGluZyIsCiAgICAgICAgIE9GRlNFVChleHRlbnNpb25fcGlja3kpLCBBVl9PUFRfVFlQRV9CT09M LCB7Lmk2NCA9IDF9LCAwLCAxLCBGTEFHU30sCiAgICAgeyJtYXhfcmVsb2FkIiwgIk1heGltdW0g bnVtYmVyIG9mIHRpbWVzIGEgaW5zdWZmaWNpZW50IGxpc3QgaXMgYXR0ZW1wdGVkIHRvIGJlIHJl bG9hZGVkIiwKLS0gCjIuNDkuMQoKCkZyb20gNjE1M2Q2OTMzNTM1NDBlYjY1NjcwNWViZjg0ZTMz ZmRkM2E1ZWZjMCBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKRnJvbTogTWljaGFlbCBOaWVkZXJt YXllciA8bWljaGFlbEBuaWVkZXJtYXllci5jYz4KRGF0ZTogV2VkLCAzMCBBcHIgMjAyNSAwMTow NToxOCArMDIwMApTdWJqZWN0OiBbUEFUQ0ggMjcxLzQzNF0gYXZmb3JtYXQvaGxzOiBGaXggZmxh c2gxLmJvZ3VsdXMuY2ZkIHN1cHBvcnQKClNpZ25lZC1vZmYtYnk6IE1pY2hhZWwgTmllZGVybWF5 ZXIgPG1pY2hhZWxAbmllZGVybWF5ZXIuY2M+CihjaGVycnkgcGlja2VkIGZyb20gY29tbWl0IDc1 YmU2NjljYTFjOTg2Y2MzNTEwYTVhZDg0N2U4Mjc4NWUyNjgyZTApClNpZ25lZC1vZmYtYnk6IE1p Y2hhZWwgTmllZGVybWF5ZXIgPG1pY2hhZWxAbmllZGVybWF5ZXIuY2M+Ci0tLQogbGliYXZmb3Jt YXQvaGxzLmMgfCA4ICsrKysrKy0tCiAxIGZpbGUgY2hhbmdlZCwgNiBpbnNlcnRpb25zKCspLCAy IGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL2xpYmF2Zm9ybWF0L2hscy5jIGIvbGliYXZmb3Jt YXQvaGxzLmMKaW5kZXggYjQwNGRlZDQ3ZC4uMGIwMWY0MDZmNiAxMDA2NDQKLS0tIGEvbGliYXZm b3JtYXQvaGxzLmMKKysrIGIvbGliYXZmb3JtYXQvaGxzLmMKQEAgLTc2MSw4ICs3NjEsMTEgQEAg c3RhdGljIGludCB0ZXN0X3NlZ21lbnQoQVZGb3JtYXRDb250ZXh0ICpzLCBjb25zdCBBVklucHV0 Rm9ybWF0ICppbl9mbXQsIHN0cnVjdAogICAgICAgICAgICAgICAgICAgICAgICAgICArIDIqKGZm X21hdGNoX3VybF9leHQoc2VnLT51cmwsICJ0cyxtMnQsbTJ0cyxtdHMsbXBnLG00cyxtcGVnLG1w ZWd0cyIpID4gMCk7CiAgICAgICAgICAgICB9CiAgICAgICAgIH0gZWxzZSBpZiAoIXN0cmNtcChp bl9mbXQtPm5hbWUsICJtcGVndHMiKSkgewotICAgICAgICAgICAgbWF0Y2hGID0gICAgICBhdl9t YXRjaF9leHQoICAgIHNlZy0+dXJsLCAidHMsbTJ0LG0ydHMsbXRzLG1wZyxtNHMsbXBlZyxtcGVn dHMiKQotICAgICAgICAgICAgICAgICAgICAgKyAyKihmZl9tYXRjaF91cmxfZXh0KHNlZy0+dXJs LCAidHMsbTJ0LG0ydHMsbXRzLG1wZyxtNHMsbXBlZyxtcGVndHMiKSA+IDApOworICAgICAgICAg ICAgY29uc3QgY2hhciAqc3RyID0gInRzLG0ydCxtMnRzLG10cyxtcGcsbTRzLG1wZWcsbXBlZ3Rz IgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIixodG1sIiAvLyBodHRwczovL2ZsYXNo MS5ib2d1bHVzLmNmZC8KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICA7CisgICAgICAgICAg ICBtYXRjaEYgPSAgICAgIGF2X21hdGNoX2V4dCggICAgc2VnLT51cmwsIHN0cikKKyAgICAgICAg ICAgICAgICAgICAgICsgMiooZmZfbWF0Y2hfdXJsX2V4dChzZWctPnVybCwgc3RyKSA+IDApOwog ICAgICAgICB9CiAKICAgICAgICAgaWYgKCEobWF0Y2hBICYgbWF0Y2hGKSkgewpAQCAtMjY0Miw2 ICsyNjQ1LDcgQEAgc3RhdGljIGNvbnN0IEFWT3B0aW9uIGhsc19vcHRpb25zW10gPSB7CiAgICAg ICAgICAgICAiLGNtZnYsY21mYSIgLy8gVGlja2V0MTE1MjYgd3d3Lm5pY292aWRlby5qcAogICAg ICAgICAgICAgIixlYzMiICAgICAgIC8vIHBhcnQgb2YgVGlja2V0MTE0MzUgKEVsaXNhIFZpaWhk ZSAoRmlubmlzaCBvbmxpbmUgcmVjb3JkaW5nIHNlcnZpY2UpKQogICAgICAgICAgICAgIixmbXA0 IiAgICAgIC8vIGh0dHBzOi8vZ2l0aHViLmNvbS95dC1kbHAveXQtZGxwL2lzc3Vlcy8xMjcwMAor ICAgICAgICAgICAgIixodG1sIiAgICAgIC8vIGh0dHBzOi8vZmxhc2gxLmJvZ3VsdXMuY2ZkLwog ICAgICAgICB9LAogICAgICAgICBJTlRfTUlOLCBJTlRfTUFYLCBGTEFHU30sCiAgICAgeyJleHRl bnNpb25fcGlja3kiLCAiQmUgcGlja3kgd2l0aCBhbGwgZXh0ZW5zaW9ucyBtYXRjaGluZyIsCi0t IAoyLjQ5LjEKCgpGcm9tIGJhMDZjNDczYmEyZTQ5NWU2OGE4Y2ZhYjc4MWVlZDI1N2U3NmU0NzAg TW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCkZyb206IE1pY2hhZWwgTmllZGVybWF5ZXIgPG1pY2hh ZWxAbmllZGVybWF5ZXIuY2M+CkRhdGU6IFRodSwgMSBNYXkgMjAyNSAyMToyMDozMSArMDIwMApT dWJqZWN0OiBbUEFUQ0ggMjcyLzQzNF0gbGlicG9zdHByb2M6IGNoZWNrIG1pbmltdW0gc2l6ZQoK U2lnbmVkLW9mZi1ieTogTWljaGFlbCBOaWVkZXJtYXllciA8bWljaGFlbEBuaWVkZXJtYXllci5j Yz4KKGNoZXJyeSBwaWNrZWQgZnJvbSBjb21taXQgOTE3YzE1NDM1YWUyZTExYTkwZGU1ZDFhMTE1 MzQwNWJkMzY4NmZiZSkKU2lnbmVkLW9mZi1ieTogTWljaGFlbCBOaWVkZXJtYXllciA8bWljaGFl bEBuaWVkZXJtYXllci5jYz4KLS0tCiBsaWJwb3N0cHJvYy9wb3N0cHJvY2Vzcy5jIHwgNSArKysr KwogMSBmaWxlIGNoYW5nZWQsIDUgaW5zZXJ0aW9ucygrKQoKZGlmZiAtLWdpdCBhL2xpYnBvc3Rw cm9jL3Bvc3Rwcm9jZXNzLmMgYi9saWJwb3N0cHJvYy9wb3N0cHJvY2Vzcy5jCmluZGV4IDAxNWJj OWQ1MDEuLmM3ZjE4YzA5ZTYgMTAwNjQ0Ci0tLSBhL2xpYnBvc3Rwcm9jL3Bvc3Rwcm9jZXNzLmMK KysrIGIvbGlicG9zdHByb2MvcG9zdHByb2Nlc3MuYwpAQCAtODk4LDYgKzg5OCwxMSBAQCB2b2lk ICBwcF9wb3N0cHJvY2Vzcyhjb25zdCB1aW50OF90ICogc3JjWzNdLCBjb25zdCBpbnQgc3JjU3Ry aWRlWzNdLAogICAgIGludCBtaW5TdHJpZGU9IEZGTUFYKEZGQUJTKHNyY1N0cmlkZVswXSksIEZG QUJTKGRzdFN0cmlkZVswXSkpOwogICAgIGludCBhYnNRUFN0cmlkZSA9IEZGQUJTKFFQU3RyaWRl KTsKIAorICAgIGlmICh3aWR0aCA8IDE2IHx8IGhlaWdodCA8IDE2KSB7CisgICAgICAgIGF2X2xv ZyhjLCBBVl9MT0dfRVJST1IsICJQb3N0cHJvYyBpcyBkZXNpZ25lZCB0byBmaWx0ZXIgMTZ4MTYg bWFjcm9ibG9jayBiYXNlZCBmb3JtYXRzLCB0aGUgbWluaW11bSBzaXplIGlzIDEgbWFjcm9ibG9j a1xuIik7CisgICAgICAgIHJldHVybjsKKyAgICB9CisKICAgICAvLyBjLT5zdHJpZGUgYW5kIGMt PlFQU3RyaWRlIGFyZSBhbHdheXMgcG9zaXRpdmUKICAgICBpZihjLT5zdHJpZGUgPCBtaW5TdHJp ZGUgfHwgYy0+cXBTdHJpZGUgPCBhYnNRUFN0cmlkZSkKICAgICAgICAgcmVhbGxvY0J1ZmZlcnMo Yywgd2lkdGgsIGhlaWdodCwKLS0gCjIuNDkuMQoKCkZyb20gMmYwYWY0OTRiNmM4ZGM1NjQ4MjFj MDhiYzdiMTMxNzIxZWMwN2JjZiBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKRnJvbTogTWljaGFl bCBOaWVkZXJtYXllciA8bWljaGFlbEBuaWVkZXJtYXllci5jYz4KRGF0ZTogVGh1LCAxIE1heSAy MDI1IDIxOjUwOjEzICswMjAwClN1YmplY3Q6IFtQQVRDSCAyNzMvNDM0XSBwb3N0cHJvYy9wb3N0 cHJvY2Vzc190ZW1wbGF0ZTogZml4IGRlcmluZyB3aXRoIGEKIDE2eDE2IGltYWdlCgpTaWduZWQt b2ZmLWJ5OiBNaWNoYWVsIE5pZWRlcm1heWVyIDxtaWNoYWVsQG5pZWRlcm1heWVyLmNjPgooY2hl cnJ5IHBpY2tlZCBmcm9tIGNvbW1pdCBmZDlhZGJkYmZiZDU0OGVmMzIwOTc1NTUyNjk1Y2ZjNWM4 MTllMzM5KQpTaWduZWQtb2ZmLWJ5OiBNaWNoYWVsIE5pZWRlcm1heWVyIDxtaWNoYWVsQG5pZWRl cm1heWVyLmNjPgotLS0KIGxpYnBvc3Rwcm9jL3Bvc3Rwcm9jZXNzX3RlbXBsYXRlLmMgfCAyICst CiAxIGZpbGUgY2hhbmdlZCwgMSBpbnNlcnRpb24oKyksIDEgZGVsZXRpb24oLSkKCmRpZmYgLS1n aXQgYS9saWJwb3N0cHJvYy9wb3N0cHJvY2Vzc190ZW1wbGF0ZS5jIGIvbGlicG9zdHByb2MvcG9z dHByb2Nlc3NfdGVtcGxhdGUuYwppbmRleCAzMDllYTlkMjVhLi5mNmRkYjQxN2JjIDEwMDY0NAot LS0gYS9saWJwb3N0cHJvYy9wb3N0cHJvY2Vzc190ZW1wbGF0ZS5jCisrKyBiL2xpYnBvc3Rwcm9j L3Bvc3Rwcm9jZXNzX3RlbXBsYXRlLmMKQEAgLTMyMzUsNyArMzIzNSw3IEBAIHN0YXRpYyB2b2lk IFJFTkFNRShwb3N0UHJvY2VzcykoY29uc3QgdWludDhfdCBzcmNbXSwgaW50IHNyY1N0cmlkZSwg dWludDhfdCBkc3RbCiAgICAgICAgIH0KIAogICAgICAgICBpZihtb2RlICYgREVSSU5HKXsKLSAg ICAgICAgICAgIFJFTkFNRShkZXJpbmcpKGRzdEJsb2NrIC0gZHN0U3RyaWRlIC0gOCwgZHN0U3Ry aWRlLCBjLCAwLCAxLCB5PD0wKTsKKyAgICAgICAgICAgIFJFTkFNRShkZXJpbmcpKGRzdEJsb2Nr IC0gZHN0U3RyaWRlIC0gOCwgZHN0U3RyaWRlLCBjLCB4PD04LCAxLCB5PD0wKTsKICAgICAgICAg fQogCiAgICAgICAgIGlmKChtb2RlICYgVEVNUF9OT0lTRV9GSUxURVIpKXsKLS0gCjIuNDkuMQoK CkZyb20gNjc4NmY4ZjAzOGJkY2Y1OTA2ZTcyMGY0MjJhYzhjZjViNGE0MDBjOCBNb24gU2VwIDE3 IDAwOjAwOjAwIDIwMDEKRnJvbTogTWljaGFlbCBOaWVkZXJtYXllciA8bWljaGFlbEBuaWVkZXJt YXllci5jYz4KRGF0ZTogTW9uLCA1IE1heSAyMDI1IDE5OjUzOjU3ICswMjAwClN1YmplY3Q6IFtQ QVRDSCAyNzQvNDM0XSB0ZXN0cy9mYXRlL2ZpbHRlci12aWRlbzogRml4IGRlcGVuZGFuY3kgZm9y IGNvZGVjdmlldwoKU2lnbmVkLW9mZi1ieTogTWljaGFlbCBOaWVkZXJtYXllciA8bWljaGFlbEBu aWVkZXJtYXllci5jYz4KKGNoZXJyeSBwaWNrZWQgZnJvbSBjb21taXQgMWI2NDNlM2Y2NWQ3NWE0 ZTZhMjU5ODY0NjYyNTRiZGQ0ZmMxYTAxYSkKU2lnbmVkLW9mZi1ieTogTWljaGFlbCBOaWVkZXJt YXllciA8bWljaGFlbEBuaWVkZXJtYXllci5jYz4KLS0tCiB0ZXN0cy9mYXRlL2ZpbHRlci12aWRl by5tYWsgfCAyICstCiAxIGZpbGUgY2hhbmdlZCwgMSBpbnNlcnRpb24oKyksIDEgZGVsZXRpb24o LSkKCmRpZmYgLS1naXQgYS90ZXN0cy9mYXRlL2ZpbHRlci12aWRlby5tYWsgYi90ZXN0cy9mYXRl L2ZpbHRlci12aWRlby5tYWsKaW5kZXggNWI4YTI5NGFmZC4uZTgyNzAyNmE1YSAxMDA2NDQKLS0t IGEvdGVzdHMvZmF0ZS9maWx0ZXItdmlkZW8ubWFrCisrKyBiL3Rlc3RzL2ZhdGUvZmlsdGVyLXZp ZGVvLm1hawpAQCAtNDk4LDcgKzQ5OCw3IEBAIGZhdGUtZmlsdGVyLXBwNzogQ01EID0gZnJhbWVj cmMgLWZsYWdzIGJpdGV4YWN0IC1leHBvcnRfc2lkZV9kYXRhIHZlbmNfcGFyYW1zIC1pCiBGQVRF X0ZJTFRFUl9WU1lOVEgxX01QRUc0X1FQUkQtJChjYWxsIEZJTFRFUkRFTURFQywgU1BQLCBBVkks IE1QRUc0KSArPSBzcHAKIGZhdGUtZmlsdGVyLXNwcDogQ01EID0gZnJhbWVjcmMgLWZsYWdzIGJp dGV4YWN0IC1leHBvcnRfc2lkZV9kYXRhIHZlbmNfcGFyYW1zIC1pZGN0IHNpbXBsZSAtaSAkKFRB UkdFVF9QQVRIKS90ZXN0cy9kYXRhL2ZhdGUvdnN5bnRoMS1tcGVnNC1xcHJkLmF2aSAtZnJhbWVz OnYgNSAtZmxhZ3MgK2JpdGV4YWN0IC12ZiAic3BwPWlkY3Q9c2ltcGxlOmRjdD1pbnQiCiAKLUZB VEVfRklMVEVSX1ZTWU5USDFfTVBFRzRfUVBSRC0kKGNhbGwgRklMVEVSREVNREVDLCBQUCwgQVZJ LCBNUEVHNCkgKz0gY29kZWN2aWV3CitGQVRFX0ZJTFRFUl9WU1lOVEgxX01QRUc0X1FQUkQtJChj YWxsIEZJTFRFUkRFTURFQywgQ09ERUNWSUVXLCBBVkksIE1QRUc0KSArPSBjb2RlY3ZpZXcKIGZh dGUtZmlsdGVyLWNvZGVjdmlldzogQ01EID0gZnJhbWVjcmMgLWZsYWdzIGJpdGV4YWN0IC1pZGN0 IHNpbXBsZSAtZmxhZ3MyICtleHBvcnRfbXZzIC1pICQoVEFSR0VUX1BBVEgpL3Rlc3RzL2RhdGEv ZmF0ZS92c3ludGgxLW1wZWc0LXFwcmQuYXZpIC1mcmFtZXM6diA1IC1mbGFncyArYml0ZXhhY3Qg LXZmIGNvZGVjdmlldz1tdj1wZitiZitiYgogCiAjIFRoZSBhYm92ZSB0ZXN0cyB1c2UgdnN5bnRo MS1tcGVnNC1xcHJkLmF2aSBjcmVhdGVkIGJ5IGZhdGUtdnN5bnRoMS1tcGVnNC1xcHJkCi0tIAoy LjQ5LjEKCgpGcm9tIDZmYjNjNzM2YTYwZWUxMzIzOTU3MTI0MzAyNTM4ODY3MzAzYzQ5MGMgTW9u IFNlcCAxNyAwMDowMDowMCAyMDAxCkZyb206IE1pY2hhZWwgTmllZGVybWF5ZXIgPG1pY2hhZWxA bmllZGVybWF5ZXIuY2M+CkRhdGU6IFRodSwgOCBNYXkgMjAyNSAyMzoxMDo1MiArMDIwMApTdWJq ZWN0OiBbUEFUQ0ggMjc1LzQzNF0gYXZmb3JtYXQvaWZmOiBDaGVjayBuYl9jaGFubmVscyA9PSAw IGluIE1IRFIKCkZpeGVzOiBkaXZpc2lvbiBieSAwCkZpeGVzOiAzOTUxNjMxNzEvY2x1c3RlcmZ1 enotdGVzdGNhc2UtbWluaW1pemVkLWZmbXBlZ19kZW1fSUZGX2Z1enplci01NDI2MDQzMzkzNzM2 NzAKClJldmlld2VkLWJ5OiBQZXRlciBSb3NzIDxwcm9zc0B4dmlkLm9yZz4KRm91bmQtYnk6IGNv bnRpbnVvdXMgZnV6emluZyBwcm9jZXNzIGh0dHBzOi8vZ2l0aHViLmNvbS9nb29nbGUvb3NzLWZ1 enovdHJlZS9tYXN0ZXIvcHJvamVjdHMvZmZtcGVnClNpZ25lZC1vZmYtYnk6IE1pY2hhZWwgTmll ZGVybWF5ZXIgPG1pY2hhZWxAbmllZGVybWF5ZXIuY2M+CihjaGVycnkgcGlja2VkIGZyb20gY29t bWl0IGNlMWZkNzNkNjM3YTM0NTUxMTYxZmQ4MDU0Y2UzZDQxMDYzMTk4MmMpClNpZ25lZC1vZmYt Ynk6IE1pY2hhZWwgTmllZGVybWF5ZXIgPG1pY2hhZWxAbmllZGVybWF5ZXIuY2M+Ci0tLQogbGli YXZmb3JtYXQvaWZmLmMgfCAyICsrCiAxIGZpbGUgY2hhbmdlZCwgMiBpbnNlcnRpb25zKCspCgpk aWZmIC0tZ2l0IGEvbGliYXZmb3JtYXQvaWZmLmMgYi9saWJhdmZvcm1hdC9pZmYuYwppbmRleCA2 YjQ1MDNmZGIzLi4zZjc1ZTEzNWU1IDEwMDY0NAotLS0gYS9saWJhdmZvcm1hdC9pZmYuYworKysg Yi9saWJhdmZvcm1hdC9pZmYuYwpAQCAtNDk3LDYgKzQ5Nyw4IEBAIHN0YXRpYyBpbnQgaWZmX3Jl YWRfaGVhZGVyKEFWRm9ybWF0Q29udGV4dCAqcykKICAgICAgICAgICAgICAgICBzdC0+Y29kZWNw YXItPmNoX2xheW91dCA9IChBVkNoYW5uZWxMYXlvdXQpQVZfQ0hBTk5FTF9MQVlPVVRfTU9OTzsK ICAgICAgICAgICAgIGVsc2UgaWYgKHN0LT5jb2RlY3Bhci0+Y2hfbGF5b3V0Lm5iX2NoYW5uZWxz ID09IDIpCiAgICAgICAgICAgICAgICAgc3QtPmNvZGVjcGFyLT5jaF9sYXlvdXQgPSAoQVZDaGFu bmVsTGF5b3V0KUFWX0NIQU5ORUxfTEFZT1VUX1NURVJFTzsKKyAgICAgICAgICAgIGVsc2UgaWYg KHN0LT5jb2RlY3Bhci0+Y2hfbGF5b3V0Lm5iX2NoYW5uZWxzID09IDApCisgICAgICAgICAgICAg ICAgcmV0dXJuIEFWRVJST1JfSU5WQUxJRERBVEE7CiAgICAgICAgICAgICBicmVhazsKIAogICAg ICAgICBjYXNlIElEX0FCSVQ6Ci0tIAoyLjQ5LjEKCgpGcm9tIGRkMjFhMTQ2MmUwODQ2YmQ4OTJi NDA4OWE4NGI2YmQ5NDZjMjdiY2MgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCkZyb206IE1pY2hh ZWwgTmllZGVybWF5ZXIgPG1pY2hhZWxAbmllZGVybWF5ZXIuY2M+CkRhdGU6IFRodSwgOCBNYXkg MjAyNSAyMzo0NjowNCArMDIwMApTdWJqZWN0OiBbUEFUQ0ggMjc2LzQzNF0gYXZjb2RlYy9oZXZj L3BzOiBGaXggZGVwZW5kYW50IGxheWVyIGlkIGNoZWNrCgpGaXhlczogc2hpZnQgZXhwb25lbnQg NDkgaXMgdG9vIGxhcmdlIGZvciAzMi1iaXQgdHlwZSAnaW50JwpGaXhlczogMzk4MDYwMTQ1L2Ns dXN0ZXJmdXp6LXRlc3RjYXNlLW1pbmltaXplZC1mZm1wZWdfQVZfQ09ERUNfSURfSEVWQ19mdXp6 ZXItNTAyMzA4MjQwNjU0MzM2MAoKUmV2aWV3ZWQtYnk6IEphbWVzIEFsbWVyIDxqYW1yaWFsQGdt YWlsLmNvbT4KRm91bmQtYnk6IGNvbnRpbnVvdXMgZnV6emluZyBwcm9jZXNzIGh0dHBzOi8vZ2l0 aHViLmNvbS9nb29nbGUvb3NzLWZ1enovdHJlZS9tYXN0ZXIvcHJvamVjdHMvZmZtcGVnClNpZ25l ZC1vZmYtYnk6IE1pY2hhZWwgTmllZGVybWF5ZXIgPG1pY2hhZWxAbmllZGVybWF5ZXIuY2M+Cihj aGVycnkgcGlja2VkIGZyb20gY29tbWl0IDRlNTUyM2M5ODU5N2E0MTdlYjQzNTU1OTMzYjEwNzVk MThlYzVmOGIpClNpZ25lZC1vZmYtYnk6IE1pY2hhZWwgTmllZGVybWF5ZXIgPG1pY2hhZWxAbmll ZGVybWF5ZXIuY2M+Ci0tLQogbGliYXZjb2RlYy9oZXZjL3BzLmMgfCA0ICsrLS0KIDEgZmlsZSBj aGFuZ2VkLCAyIGluc2VydGlvbnMoKyksIDIgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvbGli YXZjb2RlYy9oZXZjL3BzLmMgYi9saWJhdmNvZGVjL2hldmMvcHMuYwppbmRleCBmMThiODg0ODli Li44YjQ4Y2JhOGUwIDEwMDY0NAotLS0gYS9saWJhdmNvZGVjL2hldmMvcHMuYworKysgYi9saWJh dmNvZGVjL2hldmMvcHMuYwpAQCAtNjEyLDggKzYxMiw4IEBAIHN0YXRpYyBpbnQgZGVjb2RlX3Zw c19leHQoR2V0Qml0Q29udGV4dCAqZ2IsIEFWQ29kZWNDb250ZXh0ICphdmN0eCwgSEVWQ1ZQUyAq dnBzCiAgICAgfQogCiAgICAgLyogQ29uc2VxdWVuY2Ugb2YgZXN0YWJsaXNoZWQgbGF5ZXIgZGVw ZW5kZW5jaWVzICovCi0gICAgaWYgKGxheWVyMV9pZF9pbmNsdWRlZCAhPSAoKDEgPDwgdnBzLT5s YXllcl9pZF9pbl9udWhbMF0pIHwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSA8 PCB2cHMtPmxheWVyX2lkX2luX251aFsxXSkpKSB7CisgICAgaWYgKGxheWVyMV9pZF9pbmNsdWRl ZCAhPSAoKDFVTEwgPDwgdnBzLT5sYXllcl9pZF9pbl9udWhbMF0pIHwKKyAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAoMVVMTCA8PCB2cHMtPmxheWVyX2lkX2luX251aFsxXSkpKSB7CiAg ICAgICAgIGF2X2xvZyhhdmN0eCwgQVZfTE9HX0VSUk9SLCAiRGVwZW5kZW50IGxheWVyIG5vdCBp bmNsdWRlZCBpbiBsYXllciBJRD9cbiIpOwogICAgICAgICByZXR1cm4gQVZFUlJPUl9QQVRDSFdF TENPTUU7CiAgICAgfQotLSAKMi40OS4xCgoKRnJvbSA3YzA2OGU1NTUwMzU2ZjViMjVjM2Y4ZTUw ZTkxYzZmOGMwMjBjMmQ1IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBNaWNoYWVsIE5p ZWRlcm1heWVyIDxtaWNoYWVsQG5pZWRlcm1heWVyLmNjPgpEYXRlOiBTdW4sIDYgQXByIDIwMjUg MTY6NDk6MzEgKzAyMDAKU3ViamVjdDogW1BBVENIIDI3Ny80MzRdIGF2Y29kZWMvdm9yYmlzZGVj OiBEb250IHRyZWF0IG92ZXJyZWFkIGFzIGVycm9yCgpUaGlzIGRpZmZlcnMgZnJvbSBsaWJ2b3Ji aXMgYnkKc3RkZGV2OiAgICAyLjQ0IFBTTlI6IDg4LjU4IE1BWERJRkY6ICAgNDEgYnl0ZXM6ICAg ODM0MzA0LyAgIDgzNDMwNApmb3IgdGhlIGZpbGUgZnJvbSB0aGUgdGlja2V0CgpGaXhlczogVGlj a2V0MTE0MjcKClJlZ3Jlc3Npb24gc2luY2U6IGRjODljZjgwNGE4MTFjMGQyNWY0NjQ5YTk5Zjdm YWI0YjViNDE2ZmEKClRoaXMgaXMgYSBzaW1pbGFyIHNvbHV0aW9uIHRvIHdoYXQgamFtZXMgcHJv cG9zZWQgZWFybGllciBpbgpbRkZtcGVnLWRldmVsXSBbUEFUQ0hdIGF2Y29kZWMvdm9yYmlzZGVj OiBkb24ndCBhYm9ydCBvbiBFT0Qgd2hlbiBkZWNvZGluZyByZXNpZHVhbHMKClNpZ25lZC1vZmYt Ynk6IE1pY2hhZWwgTmllZGVybWF5ZXIgPG1pY2hhZWxAbmllZGVybWF5ZXIuY2M+CihjaGVycnkg cGlja2VkIGZyb20gY29tbWl0IGZkNWEzYzVmZWQyYzE5MDQ0NmIyYmViOWJjNTMyODg3ZGIzNjBj ZjcpClNpZ25lZC1vZmYtYnk6IE1pY2hhZWwgTmllZGVybWF5ZXIgPG1pY2hhZWxAbmllZGVybWF5 ZXIuY2M+Ci0tLQogbGliYXZjb2RlYy92b3JiaXNkZWMuYyB8IDYgKysrKy0tCiAxIGZpbGUgY2hh bmdlZCwgNCBpbnNlcnRpb25zKCspLCAyIGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL2xpYmF2 Y29kZWMvdm9yYmlzZGVjLmMgYi9saWJhdmNvZGVjL3ZvcmJpc2RlYy5jCmluZGV4IDIxOGU4NTVm N2EuLjMyOTQ0YWYzMTEgMTAwNjQ0Ci0tLSBhL2xpYmF2Y29kZWMvdm9yYmlzZGVjLmMKKysrIGIv bGliYXZjb2RlYy92b3JiaXNkZWMuYwpAQCAtMTQ2OSw4ICsxNDY5LDEwIEBAIHN0YXRpYyBhdl9h bHdheXNfaW5saW5lIGludCB2b3JiaXNfcmVzaWR1ZV9kZWNvZGVfaW50ZXJuYWwodm9yYmlzX2Nv bnRleHQgKnZjLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVuc2lnbmVkIHN0ZXAgPSBG QVNURElWKHZyLT5wYXJ0aXRpb25fc2l6ZSA8PCAxLCBkaW0gPDwgMSk7CiAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgdm9yYmlzX2NvZGVib29rIGNvZGVib29rID0gdmMtPmNvZGVib29rc1t2 cWJvb2tdOwogCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKGdldF9iaXRzX2xlZnQo Z2IpIDw9IDApCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBBVkVSUk9S X0lOVkFMSUREQVRBOworICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmIChnZXRfYml0c19s ZWZ0KGdiKSA8IDApIHsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYXZfbG9nKHZj LT5hdmN0eCwgQVZfTE9HX0VSUk9SLCAiT3ZlcnJlYWQgJWQgYml0c1xuIiwgLWdldF9iaXRzX2xl ZnQoZ2IpKTsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIDA7CisgICAg ICAgICAgICAgICAgICAgICAgICAgICAgfQogCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAg aWYgKHZyX3R5cGUgPT0gMCkgewogCi0tIAoyLjQ5LjEKCgpGcm9tIDlkZGFiNTcyYzBiYWUyY2Jk ZTdmMTVmMmM1NjkxMWU4YTQ4ZGVhM2IgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCkZyb206IE1p Y2hhZWwgTmllZGVybWF5ZXIgPG1pY2hhZWxAbmllZGVybWF5ZXIuY2M+CkRhdGU6IFdlZCwgMTYg QXByIDIwMjUgMDI6MjU6MDAgKzAyMDAKU3ViamVjdDogW1BBVENIIDI3OC80MzRdIGF2Y29kZWMv aDI2NF9tYjogRml4IHRtcF9jciBmb3IgYXJtCgpXaGVuIGRlY29kaW5nIGEgYml0c3RyZWFtIHdp dGggd2VpZ2h0ZWQtYmlwcmVkIGVuYWJsZWQsCnRoZSByZXN1bHRzIG9uIEFSTSBhbmQgeDg2IHBs YXRmb3JtcyBtYXkgZGlmZmVyLgoKVGhlIHJlYXNvbiBmb3IgdGhlIGluY29uc2lzdGVuY3kgaXMg dGhhdCB0aGUgdmFsdWUgb2YKU1RSSURFX0FMSUdOIGRpZmZlcnMgYmV0d2VlbiBwbGF0Zm9ybXMu IEFuZCBTVFJJREVfQUxJR04KaXMgc2V0IHRvIHRoZSBidWZmZXIgc3RyaWRlIG9mIHRlbXBvcmFy eSBidWZmZXJzIGZvciBVCmFuZCBWIGNvbXBvbmVudHMgaW4gbWNfcGFydF93ZWlnaHRlZC4KCklm IHRoZSBidWZmZXIgc3RyaWRlIGlzIDMyIG9yIDY0IChhcyBvbiB4ODYgcGxhdGZvcm1zKSwKdGhl IFUgYW5kIFYgcGl4ZWxzIGNhbiBiZSBpbnRlcmxlYXZlZCByb3cgYnkgcm93IHdpdGhvdXQKb3Zl cmxhcHBpbmcsIHJlc3VsdGluZyBpbiBjb3JyZWN0IG91dHB1dC4KSG93ZXZlciwgb24gQVJNIHBs YXRmb3JtcyB3aGVyZSB0aGUgc3RyaWRlIGlzIDE2LAp0aGUgViBjb21wb25lbnQgZGlkIG92ZXJ3 cml0ZSBwYXJ0IG9mIHRoZSBVIGNvbXBvbmVudCdzIHBpeGVscywKbGVhZGluZyB0byBpbmNvcnJl Y3QgcHJlZGljdGVkIHBpeGVscy4KClRoZSBidWcgY2FuIGJlIHJlcHJvZHVjZWQgYnkgdGhlIGZv bGxvd2luZyBiaXRzdHJlYW0uCgpodHRwczovL3RyYWMuZmZtcGVnLm9yZy9hdHRhY2htZW50L3Rp Y2tldC8xMTM1Ny9pbnRlcl93ZWlnaHRlZF9iaXByZWQyLjI2NAoKRml4ZXM6IHRpY2tldCAxMTM1 NwpDb21taXQtbXNnLW1vc3RseS1ieTogQmluIFBlbmcgPHBlbmdiaW5AdmlzaW9udWxhci5jb20+ ClJldmlld2VkLWJ5OiBCaW4gUGVuZyA8cGVuZ2JpbkB2aXNpb251bGFyLmNvbT4KU2lnbmVkLW9m Zi1ieTogTWljaGFlbCBOaWVkZXJtYXllciA8bWljaGFlbEBuaWVkZXJtYXllci5jYz4KKGNoZXJy eSBwaWNrZWQgZnJvbSBjb21taXQgNzRmZDJjM2RkYmFmMWZlZjVjNDc3Nzc4NGFhNzJiNTc0N2Fk Mzg5YykKU2lnbmVkLW9mZi1ieTogTWljaGFlbCBOaWVkZXJtYXllciA8bWljaGFlbEBuaWVkZXJt YXllci5jYz4KLS0tCiBsaWJhdmNvZGVjL2gyNjRfbWIuYyB8IDIgKy0KIDEgZmlsZSBjaGFuZ2Vk LCAxIGluc2VydGlvbigrKSwgMSBkZWxldGlvbigtKQoKZGlmZiAtLWdpdCBhL2xpYmF2Y29kZWMv aDI2NF9tYi5jIGIvbGliYXZjb2RlYy9oMjY0X21iLmMKaW5kZXggNGU5NDEzNjMxMy4uMmRiMDY3 MDQ3OCAxMDA2NDQKLS0tIGEvbGliYXZjb2RlYy9oMjY0X21iLmMKKysrIGIvbGliYXZjb2RlYy9o MjY0X21iLmMKQEAgLTQwNyw3ICs0MDcsNyBAQCBzdGF0aWMgYXZfYWx3YXlzX2lubGluZSB2b2lk IG1jX3BhcnRfd2VpZ2h0ZWQoY29uc3QgSDI2NENvbnRleHQgKmgsIEgyNjRTbGljZUNvbgogICAg ICAgICAvKiBkb24ndCBvcHRpbWl6ZSBmb3IgbHVtYS1vbmx5IGNhc2UsIHNpbmNlIEItZnJhbWVz IHVzdWFsbHkKICAgICAgICAgICogdXNlIGltcGxpY2l0IHdlaWdodHMgPT4gY2hyb21hIHRvby4g Ki8KICAgICAgICAgdWludDhfdCAqdG1wX2NiID0gc2wtPmJpcHJlZF9zY3JhdGNocGFkOwotICAg ICAgICB1aW50OF90ICp0bXBfY3IgPSBzbC0+YmlwcmVkX3NjcmF0Y2hwYWQgKyAoMTYgPDwgcGl4 ZWxfc2hpZnQpOworICAgICAgICB1aW50OF90ICp0bXBfY3IgPSBzbC0+YmlwcmVkX3NjcmF0Y2hw YWQgKyAoOCA8PCBwaXhlbF9zaGlmdCArIChjaHJvbWFfaWRjID09IDMpKTsKICAgICAgICAgdWlu dDhfdCAqdG1wX3kgID0gc2wtPmJpcHJlZF9zY3JhdGNocGFkICsgMTYgKiBzbC0+bWJfdXZsaW5l c2l6ZTsKICAgICAgICAgaW50IHJlZm4wICAgICAgID0gc2wtPnJlZl9jYWNoZVswXVtzY2FuOFtu XV07CiAgICAgICAgIGludCByZWZuMSAgICAgICA9IHNsLT5yZWZfY2FjaGVbMV1bc2Nhbjhbbl1d OwotLSAKMi40OS4xCgoKRnJvbSBkNDMyZDI0Nzc3ODc0Y2I3NDJiMzQ2M2MxMTJkNzQyODZjYTcw MmIzIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBNaWNoYWVsIE5pZWRlcm1heWVyIDxt aWNoYWVsQG5pZWRlcm1heWVyLmNjPgpEYXRlOiBTdW4sIDExIE1heSAyMDI1IDIyOjA1OjA3ICsw MjAwClN1YmplY3Q6IFtQQVRDSCAyNzkvNDM0XSBNQUlOVEFJTkVSUzogQWRkIGVudHJ5IGZvciBz YW1wbGVzLXJlcXVlc3QKClRoaXMgaXMgYmFzZWQgb24gZGlzY3Vzc2lvbiB3aXRoIHRoZSBHQSBh bmQgaXRzIHNpbXBseSB0aGUgcGVvcGxlCndobyBoYXZlIGRvbmUgb3IgdHJpZWQgdG8gZG8gc29t ZSB1cGxvYWRzIHJlY2VudGx5LgoKRXZlcnlvbmUgd2hvIGhhcyBhIHNoZWxsIGFjY291bnQgb24g ZmZtcGVnLm9yZyBzaG91bGQgaGF2ZSBwb3dlcnMgdG8KdXBsb2FkIHNhbXBsZXMuCgpDQzogY29t cG4gPGNvbXBuQGZmbXBlZy5vcmc+CkNDOiBUaGlsbyBCb3JnbWFubiA8dGhpbG8uYm9yZ21hbm5A bWFpbC5kZT4KU2lnbmVkLW9mZi1ieTogTWljaGFlbCBOaWVkZXJtYXllciA8bWljaGFlbEBuaWVk ZXJtYXllci5jYz4KKGNoZXJyeSBwaWNrZWQgZnJvbSBjb21taXQgMWE1ZWQ0OTJlNTc3NzA3YmM3 ZWI0OGUyNWMyN2ExNDkwNmFkYjZkOCkKU2lnbmVkLW9mZi1ieTogTWljaGFlbCBOaWVkZXJtYXll ciA8bWljaGFlbEBuaWVkZXJtYXllci5jYz4KLS0tCiBNQUlOVEFJTkVSUyB8IDEgKwogMSBmaWxl IGNoYW5nZWQsIDEgaW5zZXJ0aW9uKCspCgpkaWZmIC0tZ2l0IGEvTUFJTlRBSU5FUlMgYi9NQUlO VEFJTkVSUwppbmRleCA4YTJlZTA0YWVkLi5mODMzOWQ5MTk2IDEwMDY0NAotLS0gYS9NQUlOVEFJ TkVSUworKysgYi9NQUlOVEFJTkVSUwpAQCAtNTYsNiArNTYsNyBAQCBwcmVzZXRzICAgICAgICAg ICAgICAgICAgICAgICAgICAgICBbMF0KIG1ldGFkYXRhIHN1YnN5c3RlbSAgICAgICAgICAgICAg ICAgICAgICBBdXJlbGllbiBKYWNvYnMKIHJlbGVhc2UgbWFuYWdlbWVudCAgICAgICAgICAgICAg ICAgICAgICBNaWNoYWVsIE5pZWRlcm1heWVyCiBBUEkgdGVzdHMgICAgICAgICAgICAgICAgICAg ICAgICAgICBbMF0KK3NhbXBsZXMtcmVxdWVzdCAgICAgICAgICAgICAgICAgICAgIFsyXSBUaGls byBCb3JnbWFubiwgSmFtZXMgQWxtZXIsIEJlbiBMaXR0bGVyCiAKIAogQ29tbXVuaWNhdGlvbgot LSAKMi40OS4xCgoKRnJvbSA2YzBlYzdiNjFkZmVlNDBkZjE5ZjI3ZThjZmRhY2MzOWQ1MDExMjVm IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBNaWNoYWVsIE5pZWRlcm1heWVyIDxtaWNo YWVsQG5pZWRlcm1heWVyLmNjPgpEYXRlOiBTYXQsIDEwIE1heSAyMDI1IDAxOjU1OjI3ICswMjAw ClN1YmplY3Q6IFtQQVRDSCAyODAvNDM0XSBhdmZvcm1hdC9hdmlkZWM6IElnbm9yZSBkdXBsaWNh dGUgR0FCMgoKRml4ZXM6IG1lbWxlYWsKRml4ZXM6IDM5ODQwMTkxMi9jbHVzdGVyZnV6ei10ZXN0 Y2FzZS1taW5pbWl6ZWQtZmZtcGVnX2RlbV9BVklfZnV6emVyLTQ2Njk4NDk5NzY3NjY0NjQKCkZv dW5kLWJ5OiBjb250aW51b3VzIGZ1enppbmcgcHJvY2VzcyBodHRwczovL2dpdGh1Yi5jb20vZ29v Z2xlL29zcy1mdXp6L3RyZWUvbWFzdGVyL3Byb2plY3RzL2ZmbXBlZwpTaWduZWQtb2ZmLWJ5OiBN aWNoYWVsIE5pZWRlcm1heWVyIDxtaWNoYWVsQG5pZWRlcm1heWVyLmNjPgooY2hlcnJ5IHBpY2tl ZCBmcm9tIGNvbW1pdCA2YTQ3MDQ2OTgxZDA1YzU5ZjZhYzc2NmQ1ZmJmNjU4NjI2MWEyMTZmKQpT aWduZWQtb2ZmLWJ5OiBNaWNoYWVsIE5pZWRlcm1heWVyIDxtaWNoYWVsQG5pZWRlcm1heWVyLmNj PgotLS0KIGxpYmF2Zm9ybWF0L2F2aWRlYy5jIHwgNCArKysrCiAxIGZpbGUgY2hhbmdlZCwgNCBp bnNlcnRpb25zKCspCgpkaWZmIC0tZ2l0IGEvbGliYXZmb3JtYXQvYXZpZGVjLmMgYi9saWJhdmZv cm1hdC9hdmlkZWMuYwppbmRleCAxYWUwOWVmYzE1Li44MWEwYWUzMWJhIDEwMDY0NAotLS0gYS9s aWJhdmZvcm1hdC9hdmlkZWMuYworKysgYi9saWJhdmZvcm1hdC9hdmlkZWMuYwpAQCAtMTEyMiw2 ICsxMTIyLDEwIEBAIHN0YXRpYyBpbnQgcmVhZF9nYWIyX3N1YihBVkZvcm1hdENvbnRleHQgKnMs IEFWU3RyZWFtICpzdCwgQVZQYWNrZXQgKnBrdCkKICAgICAgICAgaW50IHNpemU7CiAgICAgICAg IEFWUHJvYmVEYXRhIHBkOwogICAgICAgICB1bnNpZ25lZCBpbnQgZGVzY19sZW47CisKKyAgICAg ICAgaWYgKGFzdC0+c3ViX2N0eCkKKyAgICAgICAgICAgIHJldHVybiAwOworCiAgICAgICAgIEFW SU9Db250ZXh0ICpwYiA9IGF2aW9fYWxsb2NfY29udGV4dChwa3QtPmRhdGEgKyA3LAogICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcGt0LT5zaXplIC0gNywKICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDAsIE5VTEwsIE5VTEws IE5VTEwsIE5VTEwpOwotLSAKMi40OS4xCgoKRnJvbSAyYWM5MGEwNDljOGE0YThmYmI1MDI4ZTZi Y2JjM2Y5MzA2NzFiZDNmIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBNaWNoYWVsIE5p ZWRlcm1heWVyIDxtaWNoYWVsQG5pZWRlcm1heWVyLmNjPgpEYXRlOiBTYXQsIDEwIE1heSAyMDI1 IDIzOjM5OjUzICswMjAwClN1YmplY3Q6IFtQQVRDSCAyODEvNDM0XSBhdmZvcm1hdC9tb3Y6IHJl amVjdCBuZWdhdGl2ZSBFTFNUIGR1cmF0aW9ucwoKRml4ZXM6IG11bHRpcGxlIGludGVnZXIgb3Zl cmZsb3dzCkZpeGVzOiA0MDEwMTY3NjcvY2x1c3RlcmZ1enotdGVzdGNhc2UtbWluaW1pemVkLWZm bXBlZ19kZW1fTU9WX2Z1enplci02MjQyMDY3NTkxNzkwNTkyCgpGb3VuZC1ieTogY29udGludW91 cyBmdXp6aW5nIHByb2Nlc3MgaHR0cHM6Ly9naXRodWIuY29tL2dvb2dsZS9vc3MtZnV6ei90cmVl L21hc3Rlci9wcm9qZWN0cy9mZm1wZWcKU2lnbmVkLW9mZi1ieTogTWljaGFlbCBOaWVkZXJtYXll ciA8bWljaGFlbEBuaWVkZXJtYXllci5jYz4KKGNoZXJyeSBwaWNrZWQgZnJvbSBjb21taXQgOWZj MjcwMmY2ZjUwMjA2NGQwZDJkNzVjOTdlY2UzM2Y0YjU2ZWI4NCkKU2lnbmVkLW9mZi1ieTogTWlj aGFlbCBOaWVkZXJtYXllciA8bWljaGFlbEBuaWVkZXJtYXllci5jYz4KLS0tCiBsaWJhdmZvcm1h dC9tb3YuYyB8IDUgKysrKysKIDEgZmlsZSBjaGFuZ2VkLCA1IGluc2VydGlvbnMoKykKCmRpZmYg LS1naXQgYS9saWJhdmZvcm1hdC9tb3YuYyBiL2xpYmF2Zm9ybWF0L21vdi5jCmluZGV4IDk3YTlj ZmVjYWUuLmI5NzYxZWZiYWMgMTAwNjQ0Ci0tLSBhL2xpYmF2Zm9ybWF0L21vdi5jCisrKyBiL2xp YmF2Zm9ybWF0L21vdi5jCkBAIC02MjIzLDYgKzYyMjMsMTEgQEAgc3RhdGljIGludCBtb3ZfcmVh ZF9lbHN0KE1PVkNvbnRleHQgKmMsIEFWSU9Db250ZXh0ICpwYiwgTU9WQXRvbSBhdG9tKQogICAg ICAgICAgICAgICAgICAgIGMtPmZjLT5uYl9zdHJlYW1zLTEsIGksIGUtPnRpbWUpOwogICAgICAg ICAgICAgcmV0dXJuIEFWRVJST1JfSU5WQUxJRERBVEE7CiAgICAgICAgIH0KKyAgICAgICAgaWYg KGUtPmR1cmF0aW9uIDwgMCkgeworICAgICAgICAgICAgYXZfbG9nKGMtPmZjLCBBVl9MT0dfRVJS T1IsICJUcmFjayAlZCwgZWRpdCAlZDogSW52YWxpZCBlZGl0IGxpc3QgZHVyYXRpb249JSJQUklk NjQiXG4iLAorICAgICAgICAgICAgICAgICAgIGMtPmZjLT5uYl9zdHJlYW1zLTEsIGksIGUtPmR1 cmF0aW9uKTsKKyAgICAgICAgICAgIHJldHVybiBBVkVSUk9SX0lOVkFMSUREQVRBOworICAgICAg ICB9CiAgICAgfQogICAgIHNjLT5lbHN0X2NvdW50ID0gaTsKIAotLSAKMi40OS4xCgoKRnJvbSA3 MmQ2NWEzYTY5Y2M1ZGRiNTE2NjExOGQ5MzQyYjdmYjk0YTEyZTJiIE1vbiBTZXAgMTcgMDA6MDA6 MDAgMjAwMQpGcm9tOiBNaWNoYWVsIE5pZWRlcm1heWVyIDxtaWNoYWVsQG5pZWRlcm1heWVyLmNj PgpEYXRlOiBTYXQsIDEwIE1heSAyMDI1IDIzOjUyOjU3ICswMjAwClN1YmplY3Q6IFtQQVRDSCAy ODIvNDM0XSBhdmZvcm1hdC9pbWZfY3BsOiBkbyBub3QgY29udGludWUgbG9vcGluZyBmb3JldmVy CgpGaXhlczogaW5maW5pdGUgbG9vcApGaXhlczogNDAxNjU4NTk1L2NsdXN0ZXJmdXp6LXRlc3Rj YXNlLW1pbmltaXplZC1mZm1wZWdfREVNVVhFUl9mdXp6ZXItNTc1Njg3NTAxNDczMzgyNApSZWdy ZXNzaW9uIHNpbmNlOiA2MWZhMWUxNGU0MTc4ZDNmMjU1MGM3NmY3YTM2NDg0MjIwZjZkYzBjCgpG b3VuZC1ieTogY29udGludW91cyBmdXp6aW5nIHByb2Nlc3MgaHR0cHM6Ly9naXRodWIuY29tL2dv b2dsZS9vc3MtZnV6ei90cmVlL21hc3Rlci9wcm9qZWN0cy9mZm1wZWcKU2lnbmVkLW9mZi1ieTog TWljaGFlbCBOaWVkZXJtYXllciA8bWljaGFlbEBuaWVkZXJtYXllci5jYz4KKGNoZXJyeSBwaWNr ZWQgZnJvbSBjb21taXQgMzk4MDBkNzhiMDdlNjVhNmIyOWE2OTM2NmQ2NTFmODAxMDViOTVhMSkK U2lnbmVkLW9mZi1ieTogTWljaGFlbCBOaWVkZXJtYXllciA8bWljaGFlbEBuaWVkZXJtYXllci5j Yz4KLS0tCiBsaWJhdmZvcm1hdC9pbWZfY3BsLmMgfCA0ICsrLS0KIDEgZmlsZSBjaGFuZ2VkLCAy IGluc2VydGlvbnMoKyksIDIgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvbGliYXZmb3JtYXQv aW1mX2NwbC5jIGIvbGliYXZmb3JtYXQvaW1mX2NwbC5jCmluZGV4IDEzN2NmZjJhNjMuLjZkZGVh NjJhYmUgMTAwNjQ0Ci0tLSBhL2xpYmF2Zm9ybWF0L2ltZl9jcGwuYworKysgYi9saWJhdmZvcm1h dC9pbWZfY3BsLmMKQEAgLTcwOSw4ICs3MDksNyBAQCBzdGF0aWMgaW50IGZpbGxfdmlydHVhbF90 cmFja3Modm9pZCAqbG9nX2N0eCwgeG1sTm9kZVB0ciBjcGxfZWxlbWVudCwgRkZJTUZDUEwgKgog ICAgICAgICBhdl9sb2cobG9nX2N0eCwgQVZfTE9HX0RFQlVHLCAiUHJvY2Vzc2luZyBJTUYgQ1BM IFNlZ21lbnRcbiIpOwogCiAgICAgICAgIHNlcXVlbmNlX2xpc3RfZWxlbSA9IGZmX2ltZl94bWxf Z2V0X2NoaWxkX2VsZW1lbnRfYnlfbmFtZShzZWdtZW50X2VsZW0sICJTZXF1ZW5jZUxpc3QiKTsK LSAgICAgICAgaWYgKCFzZXF1ZW5jZV9saXN0X2VsZW0pCi0gICAgICAgICAgICBjb250aW51ZTsK KyAgICAgICAgaWYgKHNlcXVlbmNlX2xpc3RfZWxlbSkgewogCiAgICAgICAgIHNlcXVlbmNlX2Vs ZW0gPSB4bWxGaXJzdEVsZW1lbnRDaGlsZChzZXF1ZW5jZV9saXN0X2VsZW0pOwogICAgICAgICB3 aGlsZSAoc2VxdWVuY2VfZWxlbSkgewpAQCAtNzM1LDYgKzczNCw3IEBAIHN0YXRpYyBpbnQgZmls bF92aXJ0dWFsX3RyYWNrcyh2b2lkICpsb2dfY3R4LCB4bWxOb2RlUHRyIGNwbF9lbGVtZW50LCBG RklNRkNQTCAqCiAKICAgICAgICAgICAgIHNlcXVlbmNlX2VsZW0gPSB4bWxOZXh0RWxlbWVudFNp Ymxpbmcoc2VxdWVuY2VfZWxlbSk7CiAgICAgICAgIH0KKyAgICAgICAgfQogCiAgICAgICAgIHNl Z21lbnRfZWxlbSA9IHhtbE5leHRFbGVtZW50U2libGluZyhzZWdtZW50X2VsZW0pOwogICAgIH0K LS0gCjIuNDkuMQoKCkZyb20gZjlhM2UxYWMxOTgxODRjNmI2ODM4ZmIxYmFiMjc0MjhmNTNlNDZj MSBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKRnJvbTogTWljaGFlbCBOaWVkZXJtYXllciA8bWlj aGFlbEBuaWVkZXJtYXllci5jYz4KRGF0ZTogU2F0LCAxMCBNYXkgMjAyNSAyMzo1NToyNCArMDIw MApTdWJqZWN0OiBbUEFUQ0ggMjgzLzQzNF0gYXZmb3JtYXQvaW1mX2NwbDogZml4IGluZGVudGlv biBhZnRlciBwcmV2aW91cyBjb21taXQKCihjaGVycnkgcGlja2VkIGZyb20gY29tbWl0IGQyOGJl YzhjNGQxYmNhYjM3NjA0NjNmNTAxZTE0ZTUxZmQ3YjI4YzEpClNpZ25lZC1vZmYtYnk6IE1pY2hh ZWwgTmllZGVybWF5ZXIgPG1pY2hhZWxAbmllZGVybWF5ZXIuY2M+Ci0tLQogbGliYXZmb3JtYXQv aW1mX2NwbC5jIHwgMzYgKysrKysrKysrKysrKysrKysrLS0tLS0tLS0tLS0tLS0tLS0tCiAxIGZp bGUgY2hhbmdlZCwgMTggaW5zZXJ0aW9ucygrKSwgMTggZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0 IGEvbGliYXZmb3JtYXQvaW1mX2NwbC5jIGIvbGliYXZmb3JtYXQvaW1mX2NwbC5jCmluZGV4IDZk ZGVhNjJhYmUuLjhjMzUzMGY0MTIgMTAwNjQ0Ci0tLSBhL2xpYmF2Zm9ybWF0L2ltZl9jcGwuYwor KysgYi9saWJhdmZvcm1hdC9pbWZfY3BsLmMKQEAgLTcxMSwyOSArNzExLDI5IEBAIHN0YXRpYyBp bnQgZmlsbF92aXJ0dWFsX3RyYWNrcyh2b2lkICpsb2dfY3R4LCB4bWxOb2RlUHRyIGNwbF9lbGVt ZW50LCBGRklNRkNQTCAqCiAgICAgICAgIHNlcXVlbmNlX2xpc3RfZWxlbSA9IGZmX2ltZl94bWxf Z2V0X2NoaWxkX2VsZW1lbnRfYnlfbmFtZShzZWdtZW50X2VsZW0sICJTZXF1ZW5jZUxpc3QiKTsK ICAgICAgICAgaWYgKHNlcXVlbmNlX2xpc3RfZWxlbSkgewogCi0gICAgICAgIHNlcXVlbmNlX2Vs ZW0gPSB4bWxGaXJzdEVsZW1lbnRDaGlsZChzZXF1ZW5jZV9saXN0X2VsZW0pOwotICAgICAgICB3 aGlsZSAoc2VxdWVuY2VfZWxlbSkgewotICAgICAgICAgICAgaWYgKHhtbFN0cmNtcChzZXF1ZW5j ZV9lbGVtLT5uYW1lLCAiTWFya2VyU2VxdWVuY2UiKSA9PSAwKQotICAgICAgICAgICAgICAgIHJl dCA9IHB1c2hfbWFya2VyX3NlcXVlbmNlKGxvZ19jdHgsIHNlcXVlbmNlX2VsZW0sIGNwbCk7Cisg ICAgICAgICAgICBzZXF1ZW5jZV9lbGVtID0geG1sRmlyc3RFbGVtZW50Q2hpbGQoc2VxdWVuY2Vf bGlzdF9lbGVtKTsKKyAgICAgICAgICAgIHdoaWxlIChzZXF1ZW5jZV9lbGVtKSB7CisgICAgICAg ICAgICAgICAgaWYgKHhtbFN0cmNtcChzZXF1ZW5jZV9lbGVtLT5uYW1lLCAiTWFya2VyU2VxdWVu Y2UiKSA9PSAwKQorICAgICAgICAgICAgICAgICAgICByZXQgPSBwdXNoX21hcmtlcl9zZXF1ZW5j ZShsb2dfY3R4LCBzZXF1ZW5jZV9lbGVtLCBjcGwpOwogCi0gICAgICAgICAgICBlbHNlIGlmICh4 bWxTdHJjbXAoc2VxdWVuY2VfZWxlbS0+bmFtZSwgIk1haW5JbWFnZVNlcXVlbmNlIikgPT0gMCkK LSAgICAgICAgICAgICAgICByZXQgPSBwdXNoX21haW5faW1hZ2VfMmRfc2VxdWVuY2UobG9nX2N0 eCwgc2VxdWVuY2VfZWxlbSwgY3BsKTsKKyAgICAgICAgICAgICAgICBlbHNlIGlmICh4bWxTdHJj bXAoc2VxdWVuY2VfZWxlbS0+bmFtZSwgIk1haW5JbWFnZVNlcXVlbmNlIikgPT0gMCkKKyAgICAg ICAgICAgICAgICAgICAgcmV0ID0gcHVzaF9tYWluX2ltYWdlXzJkX3NlcXVlbmNlKGxvZ19jdHgs IHNlcXVlbmNlX2VsZW0sIGNwbCk7CiAKLSAgICAgICAgICAgIGVsc2UgaWYgKHhtbFN0cmNtcChz ZXF1ZW5jZV9lbGVtLT5uYW1lLCAiTWFpbkF1ZGlvU2VxdWVuY2UiKSA9PSAwKQotICAgICAgICAg ICAgICAgIHJldCA9IHB1c2hfbWFpbl9hdWRpb19zZXF1ZW5jZShsb2dfY3R4LCBzZXF1ZW5jZV9l bGVtLCBjcGwpOworICAgICAgICAgICAgICAgIGVsc2UgaWYgKHhtbFN0cmNtcChzZXF1ZW5jZV9l bGVtLT5uYW1lLCAiTWFpbkF1ZGlvU2VxdWVuY2UiKSA9PSAwKQorICAgICAgICAgICAgICAgICAg ICByZXQgPSBwdXNoX21haW5fYXVkaW9fc2VxdWVuY2UobG9nX2N0eCwgc2VxdWVuY2VfZWxlbSwg Y3BsKTsKIAotICAgICAgICAgICAgZWxzZQotICAgICAgICAgICAgICAgIGF2X2xvZyhsb2dfY3R4 LAotICAgICAgICAgICAgICAgICAgICAgICBBVl9MT0dfSU5GTywKLSAgICAgICAgICAgICAgICAg ICAgICAgIlRoZSBmb2xsb3dpbmcgU2VxdWVuY2UgaXMgbm90IHN1cHBvcnRlZCBhbmQgaXMgaWdu b3JlZDogJXNcbiIsCi0gICAgICAgICAgICAgICAgICAgICAgIHNlcXVlbmNlX2VsZW0tPm5hbWUp OworICAgICAgICAgICAgICAgIGVsc2UKKyAgICAgICAgICAgICAgICAgICAgYXZfbG9nKGxvZ19j dHgsCisgICAgICAgICAgICAgICAgICAgICAgICBBVl9MT0dfSU5GTywKKyAgICAgICAgICAgICAg ICAgICAgICAgICJUaGUgZm9sbG93aW5nIFNlcXVlbmNlIGlzIG5vdCBzdXBwb3J0ZWQgYW5kIGlz IGlnbm9yZWQ6ICVzXG4iLAorICAgICAgICAgICAgICAgICAgICAgICAgc2VxdWVuY2VfZWxlbS0+ bmFtZSk7CiAKLSAgICAgICAgICAgIC8qIGFib3J0IHBhcnNpbmcgb25seSBpZiBtZW1vcnkgZXJy b3Igb2NjdXJyZWQgKi8KLSAgICAgICAgICAgIGlmIChyZXQgPT0gQVZFUlJPUihFTk9NRU0pKQot ICAgICAgICAgICAgICAgIHJldHVybiByZXQ7CisgICAgICAgICAgICAgICAgLyogYWJvcnQgcGFy c2luZyBvbmx5IGlmIG1lbW9yeSBlcnJvciBvY2N1cnJlZCAqLworICAgICAgICAgICAgICAgIGlm IChyZXQgPT0gQVZFUlJPUihFTk9NRU0pKQorICAgICAgICAgICAgICAgICAgICByZXR1cm4gcmV0 OwogCi0gICAgICAgICAgICBzZXF1ZW5jZV9lbGVtID0geG1sTmV4dEVsZW1lbnRTaWJsaW5nKHNl cXVlbmNlX2VsZW0pOwotICAgICAgICB9CisgICAgICAgICAgICAgICAgc2VxdWVuY2VfZWxlbSA9 IHhtbE5leHRFbGVtZW50U2libGluZyhzZXF1ZW5jZV9lbGVtKTsKKyAgICAgICAgICAgIH0KICAg ICAgICAgfQogCiAgICAgICAgIHNlZ21lbnRfZWxlbSA9IHhtbE5leHRFbGVtZW50U2libGluZyhz ZWdtZW50X2VsZW0pOwotLSAKMi40OS4xCgoKRnJvbSA1MzRjODdlYjI0MmJmM2RmYjIyMTk0NTI4 OWQ2MGM3Mjk0NjQ4MDJjIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBNaWNoYWVsIE5p ZWRlcm1heWVyIDxtaWNoYWVsQG5pZWRlcm1heWVyLmNjPgpEYXRlOiBTdW4sIDExIE1heSAyMDI1 IDAxOjA4OjA2ICswMjAwClN1YmplY3Q6IFtQQVRDSCAyODQvNDM0XSBhdmNvZGVjL3NvbmljOiBD aGVjayBudW1fdGFwcwoKVGhlIGVuY29kZXIgdXNlcyBtYXggMTI4IHRhcHMsIHdoaWNoIGlzIHF1 aWV0IGEgbG90IGFscmVhZHkKSWYgd29yayBpcyBkb25lIHRvIGltcHJvdmUgc29uaWMsIGl0IHdp bGwgYmUgbW9yZSByYWRpY2FsIHRoYW4gY2hhbmdpbmcgdGhlIHRhcHMKCkZpeGVzOiBUaW1lb3V0 CkZpeGVzOiA0MDI1Mzk5NzQvY2x1c3RlcmZ1enotdGVzdGNhc2UtbWluaW1pemVkLWZmbXBlZ19B Vl9DT0RFQ19JRF9TT05JQ19mdXp6ZXItNjEyMjk0NDI3MTI4NjI3MgoKRm91bmQtYnk6IGNvbnRp bnVvdXMgZnV6emluZyBwcm9jZXNzIGh0dHBzOi8vZ2l0aHViLmNvbS9nb29nbGUvb3NzLWZ1enov dHJlZS9tYXN0ZXIvcHJvamVjdHMvZmZtcGVnClNpZ25lZC1vZmYtYnk6IE1pY2hhZWwgTmllZGVy bWF5ZXIgPG1pY2hhZWxAbmllZGVybWF5ZXIuY2M+CihjaGVycnkgcGlja2VkIGZyb20gY29tbWl0 IGZkMGE3OTI3NjZjOGFlNTEzZGQ4NDlmYzQ3ZmE5ZTg5OWNjNTY2NGIpClNpZ25lZC1vZmYtYnk6 IE1pY2hhZWwgTmllZGVybWF5ZXIgPG1pY2hhZWxAbmllZGVybWF5ZXIuY2M+Ci0tLQogbGliYXZj b2RlYy9zb25pYy5jIHwgMyArKysKIDEgZmlsZSBjaGFuZ2VkLCAzIGluc2VydGlvbnMoKykKCmRp ZmYgLS1naXQgYS9saWJhdmNvZGVjL3NvbmljLmMgYi9saWJhdmNvZGVjL3NvbmljLmMKaW5kZXgg NDZjMTViNWZiMS4uZDIwNTdhYzE4MSAxMDA2NDQKLS0tIGEvbGliYXZjb2RlYy9zb25pYy5jCisr KyBiL2xpYmF2Y29kZWMvc29uaWMuYwpAQCAtOTI0LDYgKzkyNCw5IEBAIHN0YXRpYyBhdl9jb2xk IGludCBzb25pY19kZWNvZGVfaW5pdChBVkNvZGVjQ29udGV4dCAqYXZjdHgpCiAgICAgaWYgKGdl dF9iaXRzMSgmZ2IpKSAvLyBYWFggRklYTUUKICAgICAgICAgYXZfbG9nKGF2Y3R4LCBBVl9MT0df SU5GTywgIkN1c3RvbSBxdWFudCB0YWJsZVxuIik7CiAKKyAgICBpZiAocy0+bnVtX3RhcHMgPiAx MjgpCisgICAgICAgIHJldHVybiBBVkVSUk9SX0lOVkFMSUREQVRBOworCiAgICAgcy0+YmxvY2tf YWxpZ24gPSAyMDQ4TEwqcy0+c2FtcGxlcmF0ZS8oNDQxMDAqcy0+ZG93bnNhbXBsaW5nKTsKICAg ICBzLT5mcmFtZV9zaXplID0gcy0+Y2hhbm5lbHMqcy0+YmxvY2tfYWxpZ24qcy0+ZG93bnNhbXBs aW5nOwogLy8gICAgYXZjdHgtPmZyYW1lX3NpemUgPSBzLT5ibG9ja19hbGlnbjsKLS0gCjIuNDku MQoKCkZyb20gMWJkNzk1NDVlZWE3MTZlYTE4Yzg0ODQ2MTQxZmNhODY0MTJjN2FhNSBNb24gU2Vw IDE3IDAwOjAwOjAwIDIwMDEKRnJvbTogTWljaGFlbCBOaWVkZXJtYXllciA8bWljaGFlbEBuaWVk ZXJtYXllci5jYz4KRGF0ZTogU3VuLCAxMSBNYXkgMjAyNSAwMTozNToyOSArMDIwMApTdWJqZWN0 OiBbUEFUQ0ggMjg1LzQzNF0gYXZjb2RlYy9zdnEzOiBDaGVjayB0aGVyZSBhcmUgYml0cyBsZWZ0 IGJlZm9yZQogZGVjb21wcmVzc2lvbgoKRml4ZXM6IG91dCBvZiBhcnJheSByZWFkCkZpeGVzOiA0 MDI1ODc2NzAvY2x1c3RlcmZ1enotdGVzdGNhc2UtbWluaW1pemVkLWZmbXBlZ19BVl9DT0RFQ19J RF9TVlEzX2Z1enplci02MzQzODY3Nzc1NjQ3NzQ0CgpGb3VuZC1ieTogY29udGludW91cyBmdXp6 aW5nIHByb2Nlc3MgaHR0cHM6Ly9naXRodWIuY29tL2dvb2dsZS9vc3MtZnV6ei90cmVlL21hc3Rl ci9wcm9qZWN0cy9mZm1wZWcKU2lnbmVkLW9mZi1ieTogTWljaGFlbCBOaWVkZXJtYXllciA8bWlj aGFlbEBuaWVkZXJtYXllci5jYz4KKGNoZXJyeSBwaWNrZWQgZnJvbSBjb21taXQgYzA2ZjViM2Fi OTdiMWIxZDA0MjAzMDkyMDE1NjhlMzhiMzkyMDg2MCkKU2lnbmVkLW9mZi1ieTogTWljaGFlbCBO aWVkZXJtYXllciA8bWljaGFlbEBuaWVkZXJtYXllci5jYz4KLS0tCiBsaWJhdmNvZGVjL3N2cTMu YyB8IDEgKwogMSBmaWxlIGNoYW5nZWQsIDEgaW5zZXJ0aW9uKCspCgpkaWZmIC0tZ2l0IGEvbGli YXZjb2RlYy9zdnEzLmMgYi9saWJhdmNvZGVjL3N2cTMuYwppbmRleCBmNzMwMzU4ZTJmLi42MzE5 ZTliMDIxIDEwMDY0NAotLS0gYS9saWJhdmNvZGVjL3N2cTMuYworKysgYi9saWJhdmNvZGVjL3N2 cTMuYwpAQCAtMTI1Myw2ICsxMjUzLDcgQEAgc3RhdGljIGF2X2NvbGQgaW50IHN2cTNfZGVjb2Rl X2luaXQoQVZDb2RlY0NvbnRleHQgKmF2Y3R4KQogICAgICAgICAgICAgdWludDhfdCAqYnVmOwog CiAgICAgICAgICAgICBpZiAod2F0ZXJtYXJrX2hlaWdodCA8PSAwIHx8CisgICAgICAgICAgICAg ICAgZ2V0X2JpdHNfbGVmdCgmZ2IpIDw9IDAgfHwKICAgICAgICAgICAgICAgICAodWludDY0X3Qp d2F0ZXJtYXJrX3dpZHRoICogNCA+IFVJTlRfTUFYIC8gd2F0ZXJtYXJrX2hlaWdodCkKICAgICAg ICAgICAgICAgICByZXR1cm4gQVZFUlJPUl9JTlZBTElEREFUQTsKIAotLSAKMi40OS4xCgoKRnJv bSAzYTQxODQ0MmRjYTFiOWJjYWI5OGYwM2JhNmYwOWQ2YjFiZWM4NTQyIE1vbiBTZXAgMTcgMDA6 MDA6MDAgMjAwMQpGcm9tOiBNaWNoYWVsIE5pZWRlcm1heWVyIDxtaWNoYWVsQG5pZWRlcm1heWVy LmNjPgpEYXRlOiBTdW4sIDExIE1heSAyMDI1IDIzOjA5OjA3ICswMjAwClN1YmplY3Q6IFtQQVRD SCAyODYvNDM0XSBhdmNvZGVjL3Rha2RlYzogQ2hlY2sgcmVtYWluaW5nIHNwYWNlIGZvciBmaXJz dAogcHJlZGljdG9ycwoKRml4ZXM6IFRpbWVvdXQKRml4ZXM6IDQwMzY3MzgyOS9jbHVzdGVyZnV6 ei10ZXN0Y2FzZS1taW5pbWl6ZWQtZmZtcGVnX0FWX0NPREVDX0lEX1RBS19mdXp6ZXItNTQ5ODI0 MDE1NDAwOTYwMAoKRm91bmQtYnk6IGNvbnRpbnVvdXMgZnV6emluZyBwcm9jZXNzIGh0dHBzOi8v Z2l0aHViLmNvbS9nb29nbGUvb3NzLWZ1enovdHJlZS9tYXN0ZXIvcHJvamVjdHMvZmZtcGVnClNp Z25lZC1vZmYtYnk6IE1pY2hhZWwgTmllZGVybWF5ZXIgPG1pY2hhZWxAbmllZGVybWF5ZXIuY2M+ CihjaGVycnkgcGlja2VkIGZyb20gY29tbWl0IDhlNmRiODc1YWZjZDE0N2Q0ODcxODEzMGZkZTRh MDVjM2FjNDA2ZGIpClNpZ25lZC1vZmYtYnk6IE1pY2hhZWwgTmllZGVybWF5ZXIgPG1pY2hhZWxA bmllZGVybWF5ZXIuY2M+Ci0tLQogbGliYXZjb2RlYy90YWtkZWMuYyB8IDMgKysrCiAxIGZpbGUg Y2hhbmdlZCwgMyBpbnNlcnRpb25zKCspCgpkaWZmIC0tZ2l0IGEvbGliYXZjb2RlYy90YWtkZWMu YyBiL2xpYmF2Y29kZWMvdGFrZGVjLmMKaW5kZXggY2ZhNjlmNDIxNy4uODRjMTlmNjQ4ZiAxMDA2 NDQKLS0tIGEvbGliYXZjb2RlYy90YWtkZWMuYworKysgYi9saWJhdmNvZGVjL3Rha2RlYy5jCkBA IC00MzQsNiArNDM0LDkgQEAgc3RhdGljIGludCBkZWNvZGVfc3ViZnJhbWUoVEFLRGVjQ29udGV4 dCAqcywgaW50MzJfdCAqZGVjb2RlZCwKICAgICAgICAgICAgIHJldHVybiBBVkVSUk9SX0lOVkFM SUREQVRBOwogICAgIH0KIAorICAgIGlmIChnZXRfYml0c19sZWZ0KGdiKSA8IDIqMTAgKyAyKnNp emUpCisgICAgICAgIHJldHVybiBBVkVSUk9SX0lOVkFMSUREQVRBOworCiAgICAgcy0+cHJlZGlj dG9yc1swXSA9IGdldF9zYml0cyhnYiwgMTApOwogICAgIHMtPnByZWRpY3RvcnNbMV0gPSBnZXRf c2JpdHMoZ2IsIDEwKTsKICAgICBzLT5wcmVkaWN0b3JzWzJdID0gZ2V0X3NiaXRzKGdiLCBzaXpl KSAqICgxIDw8ICgxMCAtIHNpemUpKTsKLS0gCjIuNDkuMQoKCkZyb20gZWJjZDQwZTcwMWExOTRl ZGNhNWJkMmY0YThlNTI2MmFhNmFiMTg0MSBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKRnJvbTog TWljaGFlbCBOaWVkZXJtYXllciA8bWljaGFlbEBuaWVkZXJtYXllci5jYz4KRGF0ZTogU3VuLCAx MSBNYXkgMjAyNSAyMzoxODoxOSArMDIwMApTdWJqZWN0OiBbUEFUQ0ggMjg3LzQzNF0gYXZmb3Jt YXQvbWF0cm9za2FkZWM6IGNoZWNrIHRoYXQgY2hhbm5lbHMgZml0IGluCiBzaWduZWQgMzJiaXQg aW50CgpGaXhlczogc2lnbmVkIGludGVnZXIgb3ZlcmZsb3c6IC0xMzg0NTY2OTI1NjAwOTAzMTY4 ICogMTYgY2Fubm90IGJlIHJlcHJlc2VudGVkIGluIHR5cGUgJ2xvbmcnCkZpeGVzOiA0MDcwNjk1 MDIvY2x1c3RlcmZ1enotdGVzdGNhc2UtbWluaW1pemVkLWZmbXBlZ19kZW1fV0VCTV9EQVNIX01B TklGRVNUX2Z1enplci01MTU5MjU1MzcyMjY3NTIwCgpGb3VuZC1ieTogY29udGludW91cyBmdXp6 aW5nIHByb2Nlc3MgaHR0cHM6Ly9naXRodWIuY29tL2dvb2dsZS9vc3MtZnV6ei90cmVlL21hc3Rl ci9wcm9qZWN0cy9mZm1wZWcKU2lnbmVkLW9mZi1ieTogTWljaGFlbCBOaWVkZXJtYXllciA8bWlj aGFlbEBuaWVkZXJtYXllci5jYz4KKGNoZXJyeSBwaWNrZWQgZnJvbSBjb21taXQgMDVmOGM4YzRj MmI4ZjNhMGIyMDZlY2I3ZTFiNWJiYTY4YTk4MjBiOCkKU2lnbmVkLW9mZi1ieTogTWljaGFlbCBO aWVkZXJtYXllciA8bWljaGFlbEBuaWVkZXJtYXllci5jYz4KLS0tCiBsaWJhdmZvcm1hdC9tYXRy b3NrYWRlYy5jIHwgMiArKwogMSBmaWxlIGNoYW5nZWQsIDIgaW5zZXJ0aW9ucygrKQoKZGlmZiAt LWdpdCBhL2xpYmF2Zm9ybWF0L21hdHJvc2thZGVjLmMgYi9saWJhdmZvcm1hdC9tYXRyb3NrYWRl Yy5jCmluZGV4IDEwNWE5MGE5MzcuLmI2YWY0MjJhNGQgMTAwNjQ0Ci0tLSBhL2xpYmF2Zm9ybWF0 L21hdHJvc2thZGVjLmMKKysrIGIvbGliYXZmb3JtYXQvbWF0cm9za2FkZWMuYwpAQCAtMjg0Myw2 ICsyODQzLDggQEAgc3RhdGljIGludCBta2FfcGFyc2VfYXVkaW8oTWF0cm9za2FUcmFjayAqdHJh Y2ssIEFWU3RyZWFtICpzdCwKICAgICBwYXItPnNhbXBsZV9yYXRlID0gdHJhY2stPmF1ZGlvLm91 dF9zYW1wbGVyYXRlOwogICAgIC8vIGNoYW5uZWwgbGF5b3V0IG1heSBiZSBhbHJlYWR5IHNldCBi eSBjb2RlYyBwcml2YXRlIGNoZWNrcyBhYm92ZQogICAgIGlmICghYXZfY2hhbm5lbF9sYXlvdXRf Y2hlY2soJnBhci0+Y2hfbGF5b3V0KSkgeworICAgICAgICBpZiAodHJhY2stPmF1ZGlvLmNoYW5u ZWxzID4gSU5UMzJfTUFYKQorICAgICAgICAgICAgcmV0dXJuIEFWRVJST1JfUEFUQ0hXRUxDT01F OwogICAgICAgICBwYXItPmNoX2xheW91dC5vcmRlciA9IEFWX0NIQU5ORUxfT1JERVJfVU5TUEVD OwogICAgICAgICBwYXItPmNoX2xheW91dC5uYl9jaGFubmVscyA9IHRyYWNrLT5hdWRpby5jaGFu bmVsczsKICAgICB9Ci0tIAoyLjQ5LjEKCgpGcm9tIDJjNGNhNTJjOGFlZDYxMDgwNjNjNzMzY2U0 MDA0Mzc0MmFmZjViM2IgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCkZyb206IEphbWVzIEFsbWVy IDxqYW1yaWFsQGdtYWlsLmNvbT4KRGF0ZTogU2F0LCAxMCBNYXkgMjAyNSAxMjo1MDozNyAtMDMw MApTdWJqZWN0OiBbUEFUQ0ggMjg4LzQzNF0gYXZmb3JtYXQvaWFtZl9wYXJzZTogaW5jcmVhc2Ug UHV0Qnl0ZXMgYnVmZmVyIHdoZW4KIHdyaXRpbmcgQUFDIGV4dHJhZGF0YQoKV2UgbWF5IHdyaXRl IHVwIHRvIDQzIGJpdHMsIHNvIDUgYnl0ZXMgaXMgbm90IGVub3VnaC4KCkZpeGVzOiBBc3NlcnRp b24gbj49MCAmJiBuPD0zMiBmYWlsZWQgYXQgLi9saWJhdmNvZGVjL2dldF9iaXRzLmg6NDA2CkZp eGVzOiAzOTg1Mjc4NzEvY2x1c3RlcmZ1enotdGVzdGNhc2UtbWluaW1pemVkLWZmbXBlZ19kZW1f SUFNRl9mdXp6ZXItNjYwMjAyNTcxNDY0NzA0MAoKRm91bmQtYnk6IGNvbnRpbnVvdXMgZnV6emlu ZyBwcm9jZXNzIGh0dHBzOi8vZ2l0aHViLmNvbS9nb29nbGUvb3NzLWZ1enovdHJlZS9tYXN0ZXIv cHJvamVjdHMvZmZtcGVnClNpZ25lZC1vZmYtYnk6IEphbWVzIEFsbWVyIDxqYW1yaWFsQGdtYWls LmNvbT4KLS0tCiBsaWJhdmZvcm1hdC9pYW1mX3BhcnNlLmMgfCAxMSArKysrKysrKy0tLQogMSBm aWxlIGNoYW5nZWQsIDggaW5zZXJ0aW9ucygrKSwgMyBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQg YS9saWJhdmZvcm1hdC9pYW1mX3BhcnNlLmMgYi9saWJhdmZvcm1hdC9pYW1mX3BhcnNlLmMKaW5k ZXggN2IzYjFlODdmYS4uOTEwN2YxNjAwMyAxMDA2NDQKLS0tIGEvbGliYXZmb3JtYXQvaWFtZl9w YXJzZS5jCisrKyBiL2xpYmF2Zm9ybWF0L2lhbWZfcGFyc2UuYwpAQCAtMjg1LDEwICsyODUsMTEg QEAgc3RhdGljIGludCB1cGRhdGVfZXh0cmFkYXRhKEFWQ29kZWNQYXJhbWV0ZXJzICpjb2RlY3Bh cikKICAgICAgICAgQVZfV0wxNkEoY29kZWNwYXItPmV4dHJhZGF0YSArIDE2LCBBVl9SQjE2QShj b2RlY3Bhci0+ZXh0cmFkYXRhICsgMTYpKTsgLy8gQnl0ZSBzd2FwIE91dHB1dCBHYWluCiAgICAg ICAgIGJyZWFrOwogICAgIGNhc2UgQVZfQ09ERUNfSURfQUFDOiB7Ci0gICAgICAgIHVpbnQ4X3Qg YnVmWzVdOworICAgICAgICB1aW50OF90IGJ1Zls2XTsKKyAgICAgICAgaW50IHNpemUgPSBGRk1J Tihjb2RlY3Bhci0+ZXh0cmFkYXRhX3NpemUsIHNpemVvZihidWYpKTsKIAotICAgICAgICBpbml0 X3B1dF9iaXRzKCZwYiwgYnVmLCBzaXplb2YoYnVmKSk7Ci0gICAgICAgIHJldCA9IGluaXRfZ2V0 X2JpdHM4KCZnYiwgY29kZWNwYXItPmV4dHJhZGF0YSwgY29kZWNwYXItPmV4dHJhZGF0YV9zaXpl KTsKKyAgICAgICAgaW5pdF9wdXRfYml0cygmcGIsIGJ1Ziwgc2l6ZSk7CisgICAgICAgIHJldCA9 IGluaXRfZ2V0X2JpdHM4KCZnYiwgY29kZWNwYXItPmV4dHJhZGF0YSwgc2l6ZSk7CiAgICAgICAg IGlmIChyZXQgPCAwKQogICAgICAgICAgICAgcmV0dXJuIHJldDsKIApAQCAtMzA0LDYgKzMwNSwx MCBAQCBzdGF0aWMgaW50IHVwZGF0ZV9leHRyYWRhdGEoQVZDb2RlY1BhcmFtZXRlcnMgKmNvZGVj cGFyKQogICAgICAgICBza2lwX2JpdHMoJmdiLCA0KTsKICAgICAgICAgcHV0X2JpdHMoJnBiLCA0 LCBjb2RlY3Bhci0+Y2hfbGF5b3V0Lm5iX2NoYW5uZWxzKTsgLy8gc2V0IGNoYW5uZWwgY29uZmln CiAgICAgICAgIHJldCA9IHB1dF9iaXRzX2xlZnQoJnBiKTsKKyAgICAgICAgd2hpbGUgKHJldCA+ PSAzMikgeworICAgICAgICAgICBwdXRfYml0czMyKCZwYiwgZ2V0X2JpdHNfbG9uZygmZ2IsIDMy KSk7CisgICAgICAgICAgIHJldCAtPSAzMjsKKyAgICAgICAgfQogICAgICAgICBwdXRfYml0cygm cGIsIHJldCwgZ2V0X2JpdHNfbG9uZygmZ2IsIHJldCkpOwogICAgICAgICBmbHVzaF9wdXRfYml0 cygmcGIpOwogCi0tIAoyLjQ5LjEKCgpGcm9tIDY0MDA4NjBiOWQ0YmVjNWFjZTkxZWMzYTVlNDNh ZDc2Zjk2NjA1NzkgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCkZyb206IEphbWVzIEFsbWVyIDxq YW1yaWFsQGdtYWlsLmNvbT4KRGF0ZTogTW9uLCAyMyBKdW4gMjAyNSAxMjozMTozNyAtMDMwMApT dWJqZWN0OiBbUEFUQ0ggMjg5LzQzNF0gYXZmb3JtYXQvaWFtZl9wYXJzZTogcHJldmVudCBvdmVy cmVhZHMgaW4KIHVwZGF0ZV9leHRyYWRhdGEKCkZpeGVzOiBsaWJhdmNvZGVjL3B1dF9iaXRzLmg6 MjMyOjMyOiBydW50aW1lIGVycm9yOiBzaGlmdCBleHBvbmVudCAtMTkgaXMgbmVnYXRpdmUKRml4 ZXM6IEFzc2VydGlvbiBuPj0wICYmIG48PTMyIGZhaWxlZCBhdCAuL2xpYmF2Y29kZWMvZ2V0X2Jp dHMuaDo0MDYKRml4ZXM6IDM5ODUyNzg3MS9jbHVzdGVyZnV6ei10ZXN0Y2FzZS1taW5pbWl6ZWQt ZmZtcGVnX2RlbV9JQU1GX2Z1enplci02NjAyMDI1NzE0NjQ3MDQwCgpGb3VuZC1ieTogY29udGlu dW91cyBmdXp6aW5nIHByb2Nlc3MgaHR0cHM6Ly9naXRodWIuY29tL2dvb2dsZS9vc3MtZnV6ei90 cmVlL21hc3Rlci9wcm9qZWN0cy9mZm1wZWcKU2lnbmVkLW9mZi1ieTogSmFtZXMgQWxtZXIgPGph bXJpYWxAZ21haWwuY29tPgotLS0KIGxpYmF2Zm9ybWF0L2lhbWZfcGFyc2UuYyB8IDE3ICsrKysr KysrKysrKy0tLS0tCiAxIGZpbGUgY2hhbmdlZCwgMTIgaW5zZXJ0aW9ucygrKSwgNSBkZWxldGlv bnMoLSkKCmRpZmYgLS1naXQgYS9saWJhdmZvcm1hdC9pYW1mX3BhcnNlLmMgYi9saWJhdmZvcm1h dC9pYW1mX3BhcnNlLmMKaW5kZXggOTEwN2YxNjAwMy4uYTdhMmI3ZGViNSAxMDA2NDQKLS0tIGEv bGliYXZmb3JtYXQvaWFtZl9wYXJzZS5jCisrKyBiL2xpYmF2Zm9ybWF0L2lhbWZfcGFyc2UuYwpA QCAtMjg4LDcgKzI4OCw3IEBAIHN0YXRpYyBpbnQgdXBkYXRlX2V4dHJhZGF0YShBVkNvZGVjUGFy YW1ldGVycyAqY29kZWNwYXIpCiAgICAgICAgIHVpbnQ4X3QgYnVmWzZdOwogICAgICAgICBpbnQg c2l6ZSA9IEZGTUlOKGNvZGVjcGFyLT5leHRyYWRhdGFfc2l6ZSwgc2l6ZW9mKGJ1ZikpOwogCi0g ICAgICAgIGluaXRfcHV0X2JpdHMoJnBiLCBidWYsIHNpemUpOworICAgICAgICBpbml0X3B1dF9i aXRzKCZwYiwgYnVmLCBzaXplb2YoYnVmKSk7CiAgICAgICAgIHJldCA9IGluaXRfZ2V0X2JpdHM4 KCZnYiwgY29kZWNwYXItPmV4dHJhZGF0YSwgc2l6ZSk7CiAgICAgICAgIGlmIChyZXQgPCAwKQog ICAgICAgICAgICAgcmV0dXJuIHJldDsKQEAgLTMwNCw3ICszMDQsMTAgQEAgc3RhdGljIGludCB1 cGRhdGVfZXh0cmFkYXRhKEFWQ29kZWNQYXJhbWV0ZXJzICpjb2RlY3BhcikKIAogICAgICAgICBz a2lwX2JpdHMoJmdiLCA0KTsKICAgICAgICAgcHV0X2JpdHMoJnBiLCA0LCBjb2RlY3Bhci0+Y2hf bGF5b3V0Lm5iX2NoYW5uZWxzKTsgLy8gc2V0IGNoYW5uZWwgY29uZmlnCi0gICAgICAgIHJldCA9 IHB1dF9iaXRzX2xlZnQoJnBiKTsKKyAgICAgICAgcmV0ID0gZ2V0X2JpdHNfbGVmdCgmZ2IpOwor ICAgICAgICBpZiAocmV0IDwgMCkKKyAgICAgICAgICAgIHJldHVybiBBVkVSUk9SX0lOVkFMSURE QVRBOworICAgICAgICByZXQgPSBGRk1JTihyZXQsIHB1dF9iaXRzX2xlZnQoJnBiKSk7CiAgICAg ICAgIHdoaWxlIChyZXQgPj0gMzIpIHsKICAgICAgICAgICAgcHV0X2JpdHMzMigmcGIsIGdldF9i aXRzX2xvbmcoJmdiLCAzMikpOwogICAgICAgICAgICByZXQgLT0gMzI7CkBAIC0zMTcsOSArMzIw LDEwIEBAIHN0YXRpYyBpbnQgdXBkYXRlX2V4dHJhZGF0YShBVkNvZGVjUGFyYW1ldGVycyAqY29k ZWNwYXIpCiAgICAgfQogICAgIGNhc2UgQVZfQ09ERUNfSURfRkxBQzogewogICAgICAgICB1aW50 OF90IGJ1ZlsxM107CisgICAgICAgIGludCBzaXplID0gRkZNSU4oY29kZWNwYXItPmV4dHJhZGF0 YV9zaXplLCBzaXplb2YoYnVmKSk7CiAKICAgICAgICAgaW5pdF9wdXRfYml0cygmcGIsIGJ1Ziwg c2l6ZW9mKGJ1ZikpOwotICAgICAgICByZXQgPSBpbml0X2dldF9iaXRzOCgmZ2IsIGNvZGVjcGFy LT5leHRyYWRhdGEsIGNvZGVjcGFyLT5leHRyYWRhdGFfc2l6ZSk7CisgICAgICAgIHJldCA9IGlu aXRfZ2V0X2JpdHM4KCZnYiwgY29kZWNwYXItPmV4dHJhZGF0YSwgc2l6ZSk7CiAgICAgICAgIGlm IChyZXQgPCAwKQogICAgICAgICAgICAgcmV0dXJuIHJldDsKIApAQCAtMzI4LDExICszMzIsMTQg QEAgc3RhdGljIGludCB1cGRhdGVfZXh0cmFkYXRhKEFWQ29kZWNQYXJhbWV0ZXJzICpjb2RlY3Bh cikKICAgICAgICAgcHV0X2JpdHMoJnBiLCAyMCwgZ2V0X2JpdHMoJmdiLCAyMCkpOyAvLyBzYW1w bGVyYXRlCiAgICAgICAgIHNraXBfYml0cygmZ2IsIDMpOwogICAgICAgICBwdXRfYml0cygmcGIs IDMsIGNvZGVjcGFyLT5jaF9sYXlvdXQubmJfY2hhbm5lbHMgLSAxKTsKLSAgICAgICAgcmV0ID0g cHV0X2JpdHNfbGVmdCgmcGIpOworICAgICAgICByZXQgPSBnZXRfYml0c19sZWZ0KCZnYik7Cisg ICAgICAgIGlmIChyZXQgPCAwKQorICAgICAgICAgICAgcmV0dXJuIEFWRVJST1JfSU5WQUxJRERB VEE7CisgICAgICAgIHJldCA9IEZGTUlOKHJldCwgcHV0X2JpdHNfbGVmdCgmcGIpKTsKICAgICAg ICAgcHV0X2JpdHMoJnBiLCByZXQsIGdldF9iaXRzKCZnYiwgcmV0KSk7CiAgICAgICAgIGZsdXNo X3B1dF9iaXRzKCZwYik7CiAKLSAgICAgICAgbWVtY3B5KGNvZGVjcGFyLT5leHRyYWRhdGEsIGJ1 Ziwgc2l6ZW9mKGJ1ZikpOworICAgICAgICBtZW1jcHkoY29kZWNwYXItPmV4dHJhZGF0YSwgYnVm LCBwdXRfYnl0ZXNfb3V0cHV0KCZwYikpOwogICAgICAgICBicmVhazsKICAgICB9CiAgICAgfQot LSAKMi40OS4xCgoKRnJvbSBjYTVjMGE5NTlkM2E0NTZmYWZhMzdmYzg0YmYwMjlhZjIzYTUyYmE0 IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBKYW1lcyBBbG1lciA8amFtcmlhbEBnbWFp bC5jb20+CkRhdGU6IFR1ZSwgOCBKdWwgMjAyNSAxNTowMDoyOSAtMDMwMApTdWJqZWN0OiBbUEFU Q0ggMjkwLzQzNF0gZmZ0b29scy9mZm1wZWdfZGVtdXg6IGRvbid0IGZsYWcgdGltZXN0YW1wcyBh cwogdW5yZWxpYWJsZSBpZiB0aGV5IGFyZSBnZW5lcmF0ZWQKClJlZ2FyZGxlc3Mgb2YgdGhlIHNv dXJjZSBiZWluZyBhbiBBVkZNVF9OT1RJTUVTVEFNUFMgZm9ybWF0LCBpZiB0aGUgdGltZXN0YW1w cwphcmUgZ2VuZXJhdGVkIGxpa2Ugd2hlbiB1c2luZyB0aGUgdXNlX3dhbGxjbG9ja19hc190aW1l c3RhbXBzIGRlbXV4ZXIgb3B0aW9uLAp0aGVuIHRoZXkgYXJlIHJlbGlhYmxlLgoKRml4ZXMgdGlj a2V0ICMxMTI2OAoKU2lnbmVkLW9mZi1ieTogSmFtZXMgQWxtZXIgPGphbXJpYWxAZ21haWwuY29t PgooY2hlcnJ5IHBpY2tlZCBmcm9tIGNvbW1pdCAxNzg3ZmFkZTIwOWIxZWNiZDRiOTExYzlkNzdh NTJiY2RlYzEzZmE2KQotLS0KIGZmdG9vbHMvZmZtcGVnX2RlbXV4LmMgfCAxMSArKysrKysrKysr LQogMSBmaWxlIGNoYW5nZWQsIDEwIGluc2VydGlvbnMoKyksIDEgZGVsZXRpb24oLSkKCmRpZmYg LS1naXQgYS9mZnRvb2xzL2ZmbXBlZ19kZW11eC5jIGIvZmZ0b29scy9mZm1wZWdfZGVtdXguYwpp bmRleCAxM2FlZjE1ZWFiLi5kNDRkY2UxMTE5IDEwMDY0NAotLS0gYS9mZnRvb2xzL2ZmbXBlZ19k ZW11eC5jCisrKyBiL2ZmdG9vbHMvZmZtcGVnX2RlbXV4LmMKQEAgLTkxMiw5ICs5MTIsMTggQEAg c3RhdGljIGludCBpc3RfdXNlKElucHV0U3RyZWFtICppc3QsIGludCBkZWNvZGluZ19uZWVkZWQs CiAKICAgICBpZiAoZGVjb2RpbmdfbmVlZGVkICYmIGRzLT5zY2hfaWR4X2RlYyA8IDApIHsKICAg ICAgICAgaW50IGlzX2F1ZGlvID0gaXN0LT5zdC0+Y29kZWNwYXItPmNvZGVjX3R5cGUgPT0gQVZN RURJQV9UWVBFX0FVRElPOworICAgICAgICBpbnQgaXNfdW5yZWxpYWJsZSA9ICEhKGQtPmYuY3R4 LT5pZm9ybWF0LT5mbGFncyAmIEFWRk1UX05PVElNRVNUQU1QUyk7CisgICAgICAgIGludDY0X3Qg dXNlX3dhbGxjbG9ja19hc190aW1lc3RhbXBzOworCisgICAgICAgIHJldCA9IGF2X29wdF9nZXRf aW50KGQtPmYuY3R4LCAidXNlX3dhbGxjbG9ja19hc190aW1lc3RhbXBzIiwgMCwgJnVzZV93YWxs Y2xvY2tfYXNfdGltZXN0YW1wcyk7CisgICAgICAgIGlmIChyZXQgPCAwKQorICAgICAgICAgICAg cmV0dXJuIHJldDsKKworICAgICAgICBpZiAodXNlX3dhbGxjbG9ja19hc190aW1lc3RhbXBzKQor ICAgICAgICAgICAgaXNfdW5yZWxpYWJsZSA9IDA7CiAKICAgICAgICAgZHMtPmRlY19vcHRzLmZs YWdzIHw9ICghIWlzdC0+Zml4X3N1Yl9kdXJhdGlvbiAqIERFQ09ERVJfRkxBR19GSVhfU1VCX0RV UkFUSU9OKSB8Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoISEoZC0+Zi5jdHgtPmlm b3JtYXQtPmZsYWdzICYgQVZGTVRfTk9USU1FU1RBTVBTKSAqIERFQ09ERVJfRkxBR19UU19VTlJF TElBQkxFKSB8CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoISFpc191bnJlbGlhYmxl ICogREVDT0RFUl9GTEFHX1RTX1VOUkVMSUFCTEUpIHwKICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICghIShkLT5sb29wICYmIGlzX2F1ZGlvKSAqIERFQ09ERVJfRkxBR19TRU5EX0VORF9U UykKICNpZiBGRk1QRUdfT1BUX1RPUAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAo KGlzdC0+dG9wX2ZpZWxkX2ZpcnN0ID49IDApICogREVDT0RFUl9GTEFHX1RPUF9GSUVMRF9GSVJT VCkKLS0gCjIuNDkuMQoKCkZyb20gYzIxODRiNjVkMjE0ZDYwZjJkM2RmODZhMTFjYTUwMjU2N2Ez ZDEzNCBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKRnJvbTogTHlubmUgPGRldkBseW5uZS5lZT4K RGF0ZTogU2F0LCA4IEZlYiAyMDI1IDA0OjM1OjMxICswMTAwClN1YmplY3Q6IFtQQVRDSCAyOTEv NDM0XSBhYWNlbmNfdG5zOiBjbGFtcCBmaWx0ZXIgZGlyZWN0aW9uIGVuZXJneSBtZWFzdXJlbWVu dAoKVGhlIGlzc3VlIGlzIHRoYXQ6CgpmbG9hdCBlblsyXTsKLi4uCnRucy0+bl9maWx0W3ddID0g aXM4ID8gMSA6IG9yZGVyICE9IFROU19NQVhfT1JERVIgPyAyIDogMzsKZm9yIChnID0gMDsgZyA8 IHRucy0+bl9maWx0W3ddOyBnKyspIHsKICAgIHRucy0+ZGlyZWN0aW9uW3ddW2ddID0gc2xhbnQg IT0gMiA/IHNsYW50IDogZW5bZ10gPCBlblshZ107CgpXaGVuIHVzaW5nIHRoZSBBQUMgTWFpbiBw cm9maWxlLCBuX2ZpbHQgPSAzLCBhbmQgc2xhbnQgaXMgYnkKZGVmYXVsdCAyIChub3JtYWwgbG9u ZyBmcmFtZXMpLCBnIGNhbiBnbyBhYm92ZSAxLgoKZW4gaXMgdGhlIGV2b2x1dGlvbiBvZiBlbmVy Z3kgaW4gdGhlIGZyZXF1ZW5jeSBkb21haW4gZm9yIGV2ZXJ5CmJhbmQgYXQgdGhlIGdpdmVuIHdp bmRvdy4gRS5nLiB3aGV0aGVyIHRoZSBlbmVyZ3kgaXMgY29uY2VudHJhdGVkCmF0IHRoZSB0b3Ag b2YgZWFjaCBiYW5kLCBvciB0aGUgYm90dG9tLgoKRm9yIDItcG9sZSBmaWx0ZXJzLCBpdHMgc3Ry YWlnaHRmb3J3YXJkLgpGb3IgMy1wb2xlIGZpbHRlcnMsIHdlIG5lZWQgbW9yZSB0aGFuIDIgbWVh c3VyZW1lbnRzLgoKVGhpcyBjb21taXQgcHJvcGVybHkgaW1wbGVtZW50cyBzdXBwb3J0IGZvciAz LXBvbGUgZmlsdGVycywgYnkgbWVhc3VyaW5nCnRoZSBiYW5kIGVuZXJneSBhY3Jvc3MgdGhyZWUg YXJlYXMuCgpEbyBub3RlIHRoYXQgZXZlbiB4SEUtQUFDIGNhcHMgbl9maWx0IHRvIDIsIGFuZCBv bmx5IEFBQyBNYWluIGFsbG93cwpuX2ZpbHQgPT0gMy4KCkZpeGVzIGh0dHBzOi8vdHJhYy5mZm1w ZWcub3JnL3RpY2tldC8xMTQxOAoKKGNoZXJyeSBwaWNrZWQgZnJvbSBjb21taXQgZWQwOWFhMjhh ZTNiNDUwOWYwMGEyNGE5ZWJkZWIwODRlZTAwNzM2YSkKLS0tCiBsaWJhdmNvZGVjL2FhY2VuY190 bnMuYyB8IDMzICsrKysrKysrKysrKysrKysrKysrKysrKy0tLS0tLS0tLQogMSBmaWxlIGNoYW5n ZWQsIDI0IGluc2VydGlvbnMoKyksIDkgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvbGliYXZj b2RlYy9hYWNlbmNfdG5zLmMgYi9saWJhdmNvZGVjL2FhY2VuY190bnMuYwppbmRleCBmYTNjZDJh ZjM5Li5mOWJjMDMzYjI2IDEwMDY0NAotLS0gYS9saWJhdmNvZGVjL2FhY2VuY190bnMuYworKysg Yi9saWJhdmNvZGVjL2FhY2VuY190bnMuYwpAQCAtMTczLDYgKzE3Myw3IEBAIHZvaWQgZmZfYWFj X3NlYXJjaF9mb3JfdG5zKEFBQ0VuY0NvbnRleHQgKnMsIFNpbmdsZUNoYW5uZWxFbGVtZW50ICpz Y2UpCiAgICAgICAgICAgICAgICAgICAgICAgc2NlLT5pY3Mud2luZG93X3NlcXVlbmNlWzBdID09 IExPTkdfU1RBUlRfU0VRVUVOQ0UgPyAwIDogMjsKICAgICBjb25zdCBpbnQgc2ZiX2xlbiA9IHNm Yl9lbmQgLSBzZmJfc3RhcnQ7CiAgICAgY29uc3QgaW50IGNvZWZfbGVuID0gc2NlLT5pY3Muc3di X29mZnNldFtzZmJfZW5kXSAtIHNjZS0+aWNzLnN3Yl9vZmZzZXRbc2ZiX3N0YXJ0XTsKKyAgICBj b25zdCBpbnQgbl9maWx0ID0gaXM4ID8gMSA6IG9yZGVyICE9IFROU19NQVhfT1JERVIgPyAyIDog MzsKIAogICAgIGlmIChjb2VmX2xlbiA8PSAwIHx8IHNmYl9sZW4gPD0gMCkgewogICAgICAgICBz Y2UtPnRucy5wcmVzZW50ID0gMDsKQEAgLTE4MCwxNiArMTgxLDMwIEBAIHZvaWQgZmZfYWFjX3Nl YXJjaF9mb3JfdG5zKEFBQ0VuY0NvbnRleHQgKnMsIFNpbmdsZUNoYW5uZWxFbGVtZW50ICpzY2Up CiAgICAgfQogCiAgICAgZm9yICh3ID0gMDsgdyA8IHNjZS0+aWNzLm51bV93aW5kb3dzOyB3Kysp IHsKLSAgICAgICAgZmxvYXQgZW5bMl0gPSB7MC4wZiwgMC4wZn07CisgICAgICAgIGZsb2F0IGVu WzRdID0gezAuMGYsIDAuMGYsIDAuMGYsIDAuMGZ9OwogICAgICAgICBpbnQgb2Nfc3RhcnQgPSAw OwogICAgICAgICBpbnQgY29lZl9zdGFydCA9IHNjZS0+aWNzLnN3Yl9vZmZzZXRbc2ZiX3N0YXJ0 XTsKIAotICAgICAgICBmb3IgKGcgPSBzZmJfc3RhcnQ7IGcgPCBzY2UtPmljcy5udW1fc3diICYm IGcgPD0gc2ZiX2VuZDsgZysrKSB7Ci0gICAgICAgICAgICBGRlBzeUJhbmQgKmJhbmQgPSAmcy0+ cHN5LmNoW3MtPmN1cl9jaGFubmVsXS5wc3lfYmFuZHNbdyoxNitnXTsKLSAgICAgICAgICAgIGlm IChnID4gc2ZiX3N0YXJ0ICsgKHNmYl9sZW4vMikpCi0gICAgICAgICAgICAgICAgZW5bMV0gKz0g YmFuZC0+ZW5lcmd5OwotICAgICAgICAgICAgZWxzZQotICAgICAgICAgICAgICAgIGVuWzBdICs9 IGJhbmQtPmVuZXJneTsKKyAgICAgICAgaWYgKG5fZmlsdCA9PSAyKSB7CisgICAgICAgICAgICBm b3IgKGcgPSBzZmJfc3RhcnQ7IGcgPCBzY2UtPmljcy5udW1fc3diICYmIGcgPD0gc2ZiX2VuZDsg ZysrKSB7CisgICAgICAgICAgICAgICAgRkZQc3lCYW5kICpiYW5kID0gJnMtPnBzeS5jaFtzLT5j dXJfY2hhbm5lbF0ucHN5X2JhbmRzW3cqMTYrZ107CisgICAgICAgICAgICAgICAgICAgIGlmIChn ID4gc2ZiX3N0YXJ0ICsgKHNmYl9sZW4vMikpCisgICAgICAgICAgICAgICAgICAgICAgICBlblsx XSArPSBiYW5kLT5lbmVyZ3k7IC8qIEVuZCAqLworICAgICAgICAgICAgICAgICAgICBlbHNlCisg ICAgICAgICAgICAgICAgICAgICAgICBlblswXSArPSBiYW5kLT5lbmVyZ3k7IC8qIFN0YXJ0ICov CisgICAgICAgICAgICB9CisgICAgICAgICAgICBlblsyXSA9IGVuWzBdOworICAgICAgICB9IGVs c2UgeworICAgICAgICAgICAgZm9yIChnID0gc2ZiX3N0YXJ0OyBnIDwgc2NlLT5pY3MubnVtX3N3 YiAmJiBnIDw9IHNmYl9lbmQ7IGcrKykgeworICAgICAgICAgICAgICAgIEZGUHN5QmFuZCAqYmFu ZCA9ICZzLT5wc3kuY2hbcy0+Y3VyX2NoYW5uZWxdLnBzeV9iYW5kc1t3KjE2K2ddOworICAgICAg ICAgICAgICAgICAgICBpZiAoZyA+IHNmYl9zdGFydCArIChzZmJfbGVuLzIpICsgKHNmYl9sZW4v NCkpCisgICAgICAgICAgICAgICAgICAgICAgICBlblsyXSArPSBiYW5kLT5lbmVyZ3k7IC8qIEVu ZCAqLworICAgICAgICAgICAgICAgICAgICBlbHNlIGlmIChnID4gc2ZiX3N0YXJ0ICsgKHNmYl9s ZW4vMikgLSAoc2ZiX2xlbi80KSkKKyAgICAgICAgICAgICAgICAgICAgICAgIGVuWzFdICs9IGJh bmQtPmVuZXJneTsgLyogTWlkZGxlICovCisgICAgICAgICAgICAgICAgICAgIGVsc2UKKyAgICAg ICAgICAgICAgICAgICAgICAgIGVuWzBdICs9IGJhbmQtPmVuZXJneTsgLyogU3RhcnQgKi8KKyAg ICAgICAgICAgIH0KKyAgICAgICAgICAgIGVuWzNdID0gZW5bMF07CiAgICAgICAgIH0KIAogICAg ICAgICAvKiBMUEMgKi8KQEAgLTE5OSw5ICsyMTQsOSBAQCB2b2lkIGZmX2FhY19zZWFyY2hfZm9y X3RucyhBQUNFbmNDb250ZXh0ICpzLCBTaW5nbGVDaGFubmVsRWxlbWVudCAqc2NlKQogICAgICAg ICBpZiAoIW9yZGVyIHx8ICFpc2Zpbml0ZShnYWluKSB8fCBnYWluIDwgVE5TX0dBSU5fVEhSRVNI T0xEX0xPVyB8fCBnYWluID4gVE5TX0dBSU5fVEhSRVNIT0xEX0hJR0gpCiAgICAgICAgICAgICBj b250aW51ZTsKIAotICAgICAgICB0bnMtPm5fZmlsdFt3XSA9IGlzOCA/IDEgOiBvcmRlciAhPSBU TlNfTUFYX09SREVSID8gMiA6IDM7CisgICAgICAgIHRucy0+bl9maWx0W3ddID0gbl9maWx0Owog ICAgICAgICBmb3IgKGcgPSAwOyBnIDwgdG5zLT5uX2ZpbHRbd107IGcrKykgewotICAgICAgICAg ICAgdG5zLT5kaXJlY3Rpb25bd11bZ10gPSBzbGFudCAhPSAyID8gc2xhbnQgOiBlbltnXSA8IGVu WyFnXTsKKyAgICAgICAgICAgIHRucy0+ZGlyZWN0aW9uW3ddW2ddID0gc2xhbnQgIT0gMiA/IHNs YW50IDogZW5bZ10gPCBlbltnICsgMV07CiAgICAgICAgICAgICB0bnMtPm9yZGVyW3ddW2ddID0g b3JkZXIvdG5zLT5uX2ZpbHRbd107CiAgICAgICAgICAgICB0bnMtPmxlbmd0aFt3XVtnXSA9IHNm Yl9sZW4vdG5zLT5uX2ZpbHRbd107CiAgICAgICAgICAgICBxdWFudGl6ZV9jb2VmcygmY29lZnNb b2Nfc3RhcnRdLCB0bnMtPmNvZWZfaWR4W3ddW2ddLCB0bnMtPmNvZWZbd11bZ10sCi0tIAoyLjQ5 LjEKCgpGcm9tIDFiNDgxNThhMjNmMWYyZDRkNWJjNmE4ZGU2MGI3ZmMwNDkwNjFkYTIgTW9uIFNl cCAxNyAwMDowMDowMCAyMDAxCkZyb206IE1hcnRvbiBCYWxpbnQgPGN1c0BwYXNzd2QuaHU+CkRh dGU6IFN1biwgMyBBdWcgMjAyNSAxMzo0NDowMyArMDIwMApTdWJqZWN0OiBbUEFUQ0ggMjkyLzQz NF0gc3dzY2FsZS9zd3NjYWxlX3Vuc2NhbGVkOiB1c2UgOCBsaW5lIGFsaWdubWVudCBmb3IKIHBs YW5hckNvcHlXcmFwcGVyIHdpdGggZGl0aGVyaW5nCgpEaXRoZXJpbmcgcmVsaWVzIG9uIGEgOCBs aW5lIGRpdGhlcmluZyB0YWJsZSBhbmQgdGhlIGNvZGUgYWx3YXlzIHVzZXMgaXQgZnJvbQp0aGUg YmVnaW5uaW5nLiBTbyBpbiBvcmRlciB0byBtYWtlIGRpdGhlcmluZyBpbmRlcGVuZGVudCBmcm9t IGhlaWdodCBvZiB0aGUKc2xpY2VzIHVzZWQgd2UgbXVzdCBlbmZvcmNlIGEgOCBsaW5lIGFsaWdu bWVudC4KCkZpeGVzIGlzc3VlICMyMDA3MS4KClNpZ25lZC1vZmYtYnk6IE1hcnRvbiBCYWxpbnQg PGN1c0BwYXNzd2QuaHU+CihjaGVycnkgcGlja2VkIGZyb20gY29tbWl0IGI2MWU1MTBlNzUwMGMy N2M3ZGVlMmI5YzhjZmE3NzY4OTE5NWYyYTApCi0tLQogbGlic3dzY2FsZS9zd3NjYWxlX3Vuc2Nh bGVkLmMgfCA3ICsrKysrLS0KIDEgZmlsZSBjaGFuZ2VkLCA1IGluc2VydGlvbnMoKyksIDIgZGVs ZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvbGlic3dzY2FsZS9zd3NjYWxlX3Vuc2NhbGVkLmMgYi9s aWJzd3NjYWxlL3N3c2NhbGVfdW5zY2FsZWQuYwppbmRleCBkNDAzYzk1M2NjLi5jYjczYmE3ODEw IDEwMDY0NAotLS0gYS9saWJzd3NjYWxlL3N3c2NhbGVfdW5zY2FsZWQuYworKysgYi9saWJzd3Nj YWxlL3N3c2NhbGVfdW5zY2FsZWQuYwpAQCAtMjI2NywxMCArMjI2NywxMyBAQCB2b2lkIGZmX2dl dF91bnNjYWxlZF9zd3NjYWxlKFN3c0NvbnRleHQgKmMpCiAgICAgICAgICBjLT5jaHJEc3RWU3Vi U2FtcGxlID09IGMtPmNoclNyY1ZTdWJTYW1wbGUgJiYKICAgICAgICAgICFpc1NlbWlQbGFuYXJZ VVYoc3JjRm9ybWF0KSAmJiAhaXNTZW1pUGxhbmFyWVVWKGRzdEZvcm1hdCkpKSkKICAgICB7Ci0g ICAgICAgIGlmIChpc1BhY2tlZChjLT5zcmNGb3JtYXQpKQorICAgICAgICBpZiAoaXNQYWNrZWQo Yy0+c3JjRm9ybWF0KSkgewogICAgICAgICAgICAgYy0+Y29udmVydF91bnNjYWxlZCA9IHBhY2tl ZENvcHlXcmFwcGVyOwotICAgICAgICBlbHNlIC8qIFBsYW5hciBZVVYgb3IgZ3JheSAqLworICAg ICAgICB9IGVsc2UgeyAvKiBQbGFuYXIgWVVWIG9yIGdyYXkgKi8KICAgICAgICAgICAgIGMtPmNv bnZlcnRfdW5zY2FsZWQgPSBwbGFuYXJDb3B5V3JhcHBlcjsKKyAgICAgICAgICAgIGlmIChjLT5k aXRoZXIgIT0gU1dTX0RJVEhFUl9OT05FKQorICAgICAgICAgICAgICAgIGMtPmRzdF9zbGljZV9h bGlnbiA9IDggPDwgYy0+Y2hyRHN0VlN1YlNhbXBsZTsKKyAgICAgICAgfQogICAgIH0KIAogI2lm IEFSQ0hfUFBDCi0tIAoyLjQ5LjEKCgpGcm9tIDE0ZmM2MWRhNzE3MGFiYzY1OGZmOTRmOTU4NDY4 ZjMzNGQ3N2NmMzEgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCkZyb206IE1pY2hhZWwgTmllZGVy bWF5ZXIgPG1pY2hhZWxAbmllZGVybWF5ZXIuY2M+CkRhdGU6IFRodSwgOCBNYXkgMjAyNSAxNjo1 NToxMyArMDIwMApTdWJqZWN0OiBbUEFUQ0ggMjkzLzQzNF0gYXZjb2RlYy9zcGVleGRlYzogUGFz cyBhbmQgY2hlY2sgcmVtYWluaW5nIHBhY2tldHMgdG8KIGRlY29kZSBmdW5jdGlvbnMKCkZpeGVz OiBvdXQgb2YgYXJyYXkgYWNjZXNzCkZpeGVzOiAzOTQ2Mzg2OTMvY2x1c3RlcmZ1enotdGVzdGNh c2UtbWluaW1pemVkLWZmbXBlZ19BVl9DT0RFQ19JRF9TUEVFWF9mdXp6ZXItNDg2ODE0Mjk5NjQ1 NTQyNAoKRm91bmQtYnk6IGNvbnRpbnVvdXMgZnV6emluZyBwcm9jZXNzIGh0dHBzOi8vZ2l0aHVi LmNvbS9nb29nbGUvb3NzLWZ1enovdHJlZS9tYXN0ZXIvcHJvamVjdHMvZmZtcGVnClNpZ25lZC1v ZmYtYnk6IE1pY2hhZWwgTmllZGVybWF5ZXIgPG1pY2hhZWxAbmllZGVybWF5ZXIuY2M+CihjaGVy cnkgcGlja2VkIGZyb20gY29tbWl0IGY2OTg2ZTc1YmU4N2Y1MTJmNjVkNjRhYzkxYmExOWQ1MDVh OGQyMTApClNpZ25lZC1vZmYtYnk6IE1pY2hhZWwgTmllZGVybWF5ZXIgPG1pY2hhZWxAbmllZGVy bWF5ZXIuY2M+Ci0tLQogbGliYXZjb2RlYy9zcGVleGRlYy5jIHwgMTYgKysrKysrKysrLS0tLS0t LQogMSBmaWxlIGNoYW5nZWQsIDkgaW5zZXJ0aW9ucygrKSwgNyBkZWxldGlvbnMoLSkKCmRpZmYg LS1naXQgYS9saWJhdmNvZGVjL3NwZWV4ZGVjLmMgYi9saWJhdmNvZGVjL3NwZWV4ZGVjLmMKaW5k ZXggZDI1ODIzZWY2ZS4uNzhmMjU2YWQyNiAxMDA2NDQKLS0tIGEvbGliYXZjb2RlYy9zcGVleGRl Yy5jCisrKyBiL2xpYmF2Y29kZWMvc3BlZXhkZWMuYwpAQCAtMTY4LDcgKzE2OCw3IEBAIHR5cGVk ZWYgc3RydWN0IFNwZWV4U3VibW9kZSB7CiAKIHR5cGVkZWYgc3RydWN0IFNwZWV4TW9kZSB7CiAg ICAgaW50IG1vZGVJRDsgICAgICAgICAgICAgICAgIC8qKjwgSUQgb2YgdGhlIG1vZGUgKi8KLSAg ICBpbnQgKCpkZWNvZGUpKEFWQ29kZWNDb250ZXh0ICphdmN0eCwgdm9pZCAqZGVjLCBHZXRCaXRD b250ZXh0ICpnYiwgZmxvYXQgKm91dCk7CisgICAgaW50ICgqZGVjb2RlKShBVkNvZGVjQ29udGV4 dCAqYXZjdHgsIHZvaWQgKmRlYywgR2V0Qml0Q29udGV4dCAqZ2IsIGZsb2F0ICpvdXQsIGludCBw YWNrZXRzX2xlZnQpOwogICAgIGludCBmcmFtZV9zaXplOyAgICAgICAgICAgICAvKio8IFNpemUg b2YgZnJhbWVzIHVzZWQgZm9yIGRlY29kaW5nICovCiAgICAgaW50IHN1YmZyYW1lX3NpemU7ICAg ICAgICAgIC8qKjwgU2l6ZSBvZiBzdWItZnJhbWVzIHVzZWQgZm9yIGRlY29kaW5nICovCiAgICAg aW50IGxwY19zaXplOyAgICAgICAgICAgICAgIC8qKjwgT3JkZXIgb2YgTFBDIGZpbHRlciAqLwpA QCAtNTIwLDggKzUyMCw4IEBAIHN0YXRpYyBjb25zdCBTcGVleFN1Ym1vZGUgd2Jfc3VibW9kZTQg PSB7CiAgICAgc3BsaXRfY2Jfc2hhcGVfc2lnbl91bnF1YW50LCAmc3BsaXRfY2JfaGlnaCwgLTEu ZgogfTsKIAotc3RhdGljIGludCBuYl9kZWNvZGUoQVZDb2RlY0NvbnRleHQgKiwgdm9pZCAqLCBH ZXRCaXRDb250ZXh0ICosIGZsb2F0ICopOwotc3RhdGljIGludCBzYl9kZWNvZGUoQVZDb2RlY0Nv bnRleHQgKiwgdm9pZCAqLCBHZXRCaXRDb250ZXh0ICosIGZsb2F0ICopOworc3RhdGljIGludCBu Yl9kZWNvZGUoQVZDb2RlY0NvbnRleHQgKiwgdm9pZCAqLCBHZXRCaXRDb250ZXh0ICosIGZsb2F0 ICosIGludCBwYWNrZXRzX2xlZnQpOworc3RhdGljIGludCBzYl9kZWNvZGUoQVZDb2RlY0NvbnRl eHQgKiwgdm9pZCAqLCBHZXRCaXRDb250ZXh0ICosIGZsb2F0ICosIGludCBwYWNrZXRzX2xlZnQp OwogCiBzdGF0aWMgY29uc3QgU3BlZXhNb2RlIHNwZWV4X21vZGVzW1NQRUVYX05CX01PREVTXSA9 IHsKICAgICB7CkBAIC04NjYsNyArODY2LDcgQEAgc3RhdGljIHZvaWQgbHNwX3RvX2xwYyhjb25z dCBmbG9hdCAqZnJlcSwgZmxvYXQgKmFrLCBpbnQgbHBjcmRyKQogfQogCiBzdGF0aWMgaW50IG5i X2RlY29kZShBVkNvZGVjQ29udGV4dCAqYXZjdHgsIHZvaWQgKnB0cl9zdCwKLSAgICAgICAgICAg ICAgICAgICAgIEdldEJpdENvbnRleHQgKmdiLCBmbG9hdCAqb3V0KQorICAgICAgICAgICAgICAg ICAgICAgR2V0Qml0Q29udGV4dCAqZ2IsIGZsb2F0ICpvdXQsIGludCBwYWNrZXRzX2xlZnQpCiB7 CiAgICAgRGVjb2RlclN0YXRlICpzdCA9IHB0cl9zdDsKICAgICBmbG9hdCBvbF9nYWluID0gMCwg b2xfcGl0Y2hfY29lZiA9IDAsIGJlc3RfcGl0Y2hfZ2FpbiA9IDAsIHBpdGNoX2F2ZXJhZ2UgPSAw OwpAQCAtMTIxNyw3ICsxMjE3LDcgQEAgc3RhdGljIHZvaWQgcW1mX3N5bnRoKGNvbnN0IGZsb2F0 ICp4MSwgY29uc3QgZmxvYXQgKngyLCBjb25zdCBmbG9hdCAqYSwgZmxvYXQgKnkKIH0KIAogc3Rh dGljIGludCBzYl9kZWNvZGUoQVZDb2RlY0NvbnRleHQgKmF2Y3R4LCB2b2lkICpwdHJfc3QsCi0g ICAgICAgICAgICAgICAgICAgICBHZXRCaXRDb250ZXh0ICpnYiwgZmxvYXQgKm91dCkKKyAgICAg ICAgICAgICAgICAgICAgIEdldEJpdENvbnRleHQgKmdiLCBmbG9hdCAqb3V0LCBpbnQgcGFja2V0 c19sZWZ0KQogewogICAgIFNwZWV4Q29udGV4dCAqcyA9IGF2Y3R4LT5wcml2X2RhdGE7CiAgICAg RGVjb2RlclN0YXRlICpzdCA9IHB0cl9zdDsKQEAgLTEyMzMsOSArMTIzMywxMSBAQCBzdGF0aWMg aW50IHNiX2RlY29kZShBVkNvZGVjQ29udGV4dCAqYXZjdHgsIHZvaWQgKnB0cl9zdCwKICAgICBt b2RlID0gc3QtPm1vZGU7CiAKICAgICBpZiAoc3QtPm1vZGVJRCA+IDApIHsKKyAgICAgICAgaWYg KHBhY2tldHNfbGVmdCA8PSAxKQorICAgICAgICAgICAgcmV0dXJuIEFWRVJST1JfSU5WQUxJRERB VEE7CiAgICAgICAgIGxvd19pbm5vdl9hbGlhcyA9IG91dCArIHN0LT5mcmFtZV9zaXplOwogICAg ICAgICBzLT5zdFtzdC0+bW9kZUlEIC0gMV0uaW5ub3Zfc2F2ZSA9IGxvd19pbm5vdl9hbGlhczsK LSAgICAgICAgcmV0ID0gc3BlZXhfbW9kZXNbc3QtPm1vZGVJRCAtIDFdLmRlY29kZShhdmN0eCwg JnMtPnN0W3N0LT5tb2RlSUQgLSAxXSwgZ2IsIG91dCk7CisgICAgICAgIHJldCA9IHNwZWV4X21v ZGVzW3N0LT5tb2RlSUQgLSAxXS5kZWNvZGUoYXZjdHgsICZzLT5zdFtzdC0+bW9kZUlEIC0gMV0s IGdiLCBvdXQsIHBhY2tldHNfbGVmdCk7CiAgICAgICAgIGlmIChyZXQgPCAwKQogICAgICAgICAg ICAgcmV0dXJuIHJldDsKICAgICB9CkBAIC0xNTU4LDcgKzE1NjAsNyBAQCBzdGF0aWMgaW50IHNw ZWV4X2RlY29kZV9mcmFtZShBVkNvZGVjQ29udGV4dCAqYXZjdHgsIEFWRnJhbWUgKmZyYW1lLAog CiAgICAgZHN0ID0gKGZsb2F0ICopZnJhbWUtPmV4dGVuZGVkX2RhdGFbMF07CiAgICAgZm9yIChp bnQgaSA9IDA7IGkgPCBmcmFtZXNfcGVyX3BhY2tldDsgaSsrKSB7Ci0gICAgICAgIHJldCA9IHNw ZWV4X21vZGVzW3MtPm1vZGVdLmRlY29kZShhdmN0eCwgJnMtPnN0W3MtPm1vZGVdLCAmcy0+Z2Is IGRzdCArIGkgKiBzLT5mcmFtZV9zaXplKTsKKyAgICAgICAgcmV0ID0gc3BlZXhfbW9kZXNbcy0+ bW9kZV0uZGVjb2RlKGF2Y3R4LCAmcy0+c3Rbcy0+bW9kZV0sICZzLT5nYiwgZHN0ICsgaSAqIHMt PmZyYW1lX3NpemUsIGZyYW1lc19wZXJfcGFja2V0IC0gaSk7CiAgICAgICAgIGlmIChyZXQgPCAw KQogICAgICAgICAgICAgcmV0dXJuIHJldDsKICAgICAgICAgaWYgKGF2Y3R4LT5jaF9sYXlvdXQu bmJfY2hhbm5lbHMgPT0gMikKLS0gCjIuNDkuMQoKCkZyb20gY2U0OTI5MGQzMTk2NzYwYzI0NmE4 NTc3Y2QyZGI0ODgxNWQ3NWNiZSBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKRnJvbTogTWljaGFl bCBOaWVkZXJtYXllciA8bWljaGFlbEBuaWVkZXJtYXllci5jYz4KRGF0ZTogVGh1LCA4IE1heSAy MDI1IDIzOjU3OjMzICswMjAwClN1YmplY3Q6IFtQQVRDSCAyOTQvNDM0XSBhdmNvZGVjL2hldmMv aGV2Y2RlYzogQ2hlY2sgbnVtX2VudHJ5X3BvaW50X29mZnNldHMKClRoZSBjb2RlIHVzZXMgaW50 LCB1bnNpZ25lZCBpbnQgYW5kIHVpbnQxNl90IHRvIHN0b3JlIG51bV9lbnRyeV9wb2ludF9vZmZz ZXRzClRoaXMgbGltaXRzIGl0IHRvIHRoZSBzbWFsbGVzdCBvZiB0aGUgMy4KQWx0ZXJuYXRpdmVs eSB1aW50MTZfdCBjYW4gYmUgY2hhbmdlZCBhbmQgdGhlbiBhIGxhcmdlciBsaW1pdCB1c2VkLgpB IENoZWNrIHdpbGwgc3RpbGwgYmUgbmVlZGVkLgoKRml4ZXM6IDM5MTk3NDkzMi9jbHVzdGVyZnV6 ei10ZXN0Y2FzZS1taW5pbWl6ZWQtZmZtcGVnX0FWX0NPREVDX0lEX0hFVkNfZnV6emVyLTU5NjY2 NDg4Nzk2Nzc0NDAKRml4ZXM6IHNpZ25lZCBpbnRlZ2VyIG92ZXJmbG93OiAyMTQ3NDgzNjQ3ICsg MSBjYW5ub3QgYmUgcmVwcmVzZW50ZWQgaW4gdHlwZSAnaW50JwoKRm91bmQtYnk6IGNvbnRpbnVv dXMgZnV6emluZyBwcm9jZXNzIGh0dHBzOi8vZ2l0aHViLmNvbS9nb29nbGUvb3NzLWZ1enovdHJl ZS9tYXN0ZXIvcHJvamVjdHMvZmZtcGVnClNpZ25lZC1vZmYtYnk6IE1pY2hhZWwgTmllZGVybWF5 ZXIgPG1pY2hhZWxAbmllZGVybWF5ZXIuY2M+CihjaGVycnkgcGlja2VkIGZyb20gY29tbWl0IDc5 MWEzMzNhMGVhNWFlZWUxYmVhMTIwNjViNDA3YmE0NDJhYzU5YjQpClNpZ25lZC1vZmYtYnk6IE1p Y2hhZWwgTmllZGVybWF5ZXIgPG1pY2hhZWxAbmllZGVybWF5ZXIuY2M+Ci0tLQogbGliYXZjb2Rl Yy9oZXZjL2hldmNkZWMuYyB8IDIgKy0KIDEgZmlsZSBjaGFuZ2VkLCAxIGluc2VydGlvbigrKSwg MSBkZWxldGlvbigtKQoKZGlmZiAtLWdpdCBhL2xpYmF2Y29kZWMvaGV2Yy9oZXZjZGVjLmMgYi9s aWJhdmNvZGVjL2hldmMvaGV2Y2RlYy5jCmluZGV4IDZmMGFlMTI1NTguLjEzOWYwODExZWYgMTAw NjQ0Ci0tLSBhL2xpYmF2Y29kZWMvaGV2Yy9oZXZjZGVjLmMKKysrIGIvbGliYXZjb2RlYy9oZXZj L2hldmNkZWMuYwpAQCAtMTA0OCw3ICsxMDQ4LDcgQEAgc3RhdGljIGludCBobHNfc2xpY2VfaGVh ZGVyKFNsaWNlSGVhZGVyICpzaCwgY29uc3QgSEVWQ0NvbnRleHQgKnMsIEdldEJpdENvbnRleHQK ICAgICBpZiAocHBzLT50aWxlc19lbmFibGVkX2ZsYWcgfHwgcHBzLT5lbnRyb3B5X2NvZGluZ19z eW5jX2VuYWJsZWRfZmxhZykgewogICAgICAgICB1bnNpZ25lZCBudW1fZW50cnlfcG9pbnRfb2Zm c2V0cyA9IGdldF91ZV9nb2xvbWJfbG9uZyhnYik7CiAgICAgICAgIC8vIEl0IHdvdWxkIGJlIHBv c3NpYmxlIHRvIGJvdW5kIHRoaXMgdGlnaHRlciBidXQgdGhpcyBoZXJlIGlzIHNpbXBsZXIKLSAg ICAgICAgaWYgKG51bV9lbnRyeV9wb2ludF9vZmZzZXRzID4gZ2V0X2JpdHNfbGVmdChnYikpIHsK KyAgICAgICAgaWYgKG51bV9lbnRyeV9wb2ludF9vZmZzZXRzID4gZ2V0X2JpdHNfbGVmdChnYikg fHwgbnVtX2VudHJ5X3BvaW50X29mZnNldHMgPiBVSU5UMTZfTUFYKSB7CiAgICAgICAgICAgICBh dl9sb2cocy0+YXZjdHgsIEFWX0xPR19FUlJPUiwgIm51bV9lbnRyeV9wb2ludF9vZmZzZXRzICVk IGlzIGludmFsaWRcbiIsIG51bV9lbnRyeV9wb2ludF9vZmZzZXRzKTsKICAgICAgICAgICAgIHJl dHVybiBBVkVSUk9SX0lOVkFMSUREQVRBOwogICAgICAgICB9Ci0tIAoyLjQ5LjEKCgpGcm9tIGE5 YzVkYTMyNjFmZDgyNDE1MTUxYzBjMDc3ZjIyODU3MDY3ZGY0MjUgTW9uIFNlcCAxNyAwMDowMDow MCAyMDAxCkZyb206IEphbWVzIEFsbWVyIDxqYW1yaWFsQGdtYWlsLmNvbT4KRGF0ZTogVGh1LCA1 IEp1biAyMDI1IDE4OjI0OjA3IC0wMzAwClN1YmplY3Q6IFtQQVRDSCAyOTUvNDM0XSBhdmZvcm1h dC9tb3ZlbmM6IGZpeCB3cml0aW5nIHJlc2VydmVkIGJpdHMgaW4KIEVDM1NwZWNpZmljQm94CgpB cyBkZXNjcmliZWQgaW4gc2VjdGlvbiBGLjYuMSBmcm9tIEVUU0kgVFMgMTAyIDM2Ni4KCkZvdW5k LWJ5OiBueWFubWlzYWthClJldmlld2VkLWJ5OiBCYXB0aXN0ZSBDb3VkdXJpZXIgPGJhcHRpc3Rl LmNvdWR1cmllckBnbWFpbC5jb20+ClNpZ25lZC1vZmYtYnk6IEphbWVzIEFsbWVyIDxqYW1yaWFs QGdtYWlsLmNvbT4KKGNoZXJyeSBwaWNrZWQgZnJvbSBjb21taXQgMTc3MjlhYTgwYzYxOGRkZGI4 MzI3NmVmZmEwZTBiZDBjMWRiM2I3MCkKU2lnbmVkLW9mZi1ieTogTWljaGFlbCBOaWVkZXJtYXll ciA8bWljaGFlbEBuaWVkZXJtYXllci5jYz4KLS0tCiBsaWJhdmZvcm1hdC9tb3ZlbmMuYyAgICAg ICAgIHwgNCArKy0tCiB0ZXN0cy9yZWYvZmF0ZS9jb3B5LXRyYWMzMDc0IHwgNCArKy0tCiAyIGZp bGVzIGNoYW5nZWQsIDQgaW5zZXJ0aW9ucygrKSwgNCBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQg YS9saWJhdmZvcm1hdC9tb3ZlbmMuYyBiL2xpYmF2Zm9ybWF0L21vdmVuYy5jCmluZGV4IGQ2ZWZm ZGE2ZmEuLjgzY2UzOTYxM2UgMTAwNjQ0Ci0tLSBhL2xpYmF2Zm9ybWF0L21vdmVuYy5jCisrKyBi L2xpYmF2Zm9ybWF0L21vdmVuYy5jCkBAIC02MTQsNyArNjE0LDcgQEAgc3RhdGljIGludCBtb3Zf d3JpdGVfZWFjM190YWcoQVZGb3JtYXRDb250ZXh0ICpzLCBBVklPQ29udGV4dCAqcGIsIE1PVlRy YWNrICp0cmEKICAgICB9CiAKICAgICBpbmZvID0gdHJhY2stPmVhYzNfcHJpdjsKLSAgICBzaXpl ID0gMiArICgoMzQgKiAoaW5mby0+bnVtX2luZF9zdWIgKyAxKSArIDcpID4+IDMpOworICAgIHNp emUgPSAyICsgKCgzMiAqIChpbmZvLT5udW1faW5kX3N1YiArIDEpICsgNykgPj4gMyk7CiAgICAg YnVmID0gYXZfbWFsbG9jKHNpemUpOwogICAgIGlmICghYnVmKSB7CiAgICAgICAgIHJldHVybiBB VkVSUk9SKEVOT01FTSk7CkBAIC02MzEsNyArNjMxLDcgQEAgc3RhdGljIGludCBtb3Zfd3JpdGVf ZWFjM190YWcoQVZGb3JtYXRDb250ZXh0ICpzLCBBVklPQ29udGV4dCAqcGIsIE1PVlRyYWNrICp0 cmEKICAgICAgICAgcHV0X2JpdHMoJnBiYywgMywgaW5mby0+c3Vic3RyZWFtW2ldLmJzbW9kKTsK ICAgICAgICAgcHV0X2JpdHMoJnBiYywgMywgaW5mby0+c3Vic3RyZWFtW2ldLmFjbW9kKTsKICAg ICAgICAgcHV0X2JpdHMoJnBiYywgMSwgaW5mby0+c3Vic3RyZWFtW2ldLmxmZW9uKTsKLSAgICAg ICAgcHV0X2JpdHMoJnBiYywgNSwgMCk7IC8qIHJlc2VydmVkICovCisgICAgICAgIHB1dF9iaXRz KCZwYmMsIDMsIDApOyAvKiByZXNlcnZlZCAqLwogICAgICAgICBwdXRfYml0cygmcGJjLCA0LCBp bmZvLT5zdWJzdHJlYW1baV0ubnVtX2RlcF9zdWIpOwogICAgICAgICBpZiAoIWluZm8tPnN1YnN0 cmVhbVtpXS5udW1fZGVwX3N1YikgewogICAgICAgICAgICAgcHV0X2JpdHMoJnBiYywgMSwgMCk7 IC8qIHJlc2VydmVkICovCmRpZmYgLS1naXQgYS90ZXN0cy9yZWYvZmF0ZS9jb3B5LXRyYWMzMDc0 IGIvdGVzdHMvcmVmL2ZhdGUvY29weS10cmFjMzA3NAppbmRleCA1M2JhMjdlOTIwLi45ZWQ0MmM4 ZDhkIDEwMDY0NAotLS0gYS90ZXN0cy9yZWYvZmF0ZS9jb3B5LXRyYWMzMDc0CisrKyBiL3Rlc3Rz L3JlZi9mYXRlL2NvcHktdHJhYzMwNzQKQEAgLTEsNSArMSw1IEBACi0zNmZjYzBhNjI2OTViY2Y5 MzA2OGZjZmU2ODI4M2VlOSAqdGVzdHMvZGF0YS9mYXRlL2NvcHktdHJhYzMwNzQubXA0Ci0zMzQw MTYgdGVzdHMvZGF0YS9mYXRlL2NvcHktdHJhYzMwNzQubXA0Cis1YjRhM2VkOWRlM2IyYTkyZTVk Y2IxMjdiY2ExMmU2OCAqdGVzdHMvZGF0YS9mYXRlL2NvcHktdHJhYzMwNzQubXA0CiszMzQwMTUg dGVzdHMvZGF0YS9mYXRlL2NvcHktdHJhYzMwNzQubXA0CiAjdGIgMDogMS80ODAwMAogI21lZGlh X3R5cGUgMDogYXVkaW8KICNjb2RlY19pZCAwOiBlYWMzCi0tIAoyLjQ5LjEKCgpGcm9tIGJhNGRk OTU5YTg5OTdmZDAxNzUxOTA5OGQ4YzM0NjRiYjU1NWY2YmUgTW9uIFNlcCAxNyAwMDowMDowMCAy MDAxCkZyb206IEphbWVzIEFsbWVyIDxqYW1yaWFsQGdtYWlsLmNvbT4KRGF0ZTogU3VuLCAyMiBK dW4gMjAyNSAxMDo1MTowNiAtMDMwMApTdWJqZWN0OiBbUEFUQ0ggMjk2LzQzNF0gYXZjb2RlYy9t c3MyZHNwOiB1c2UgRkZfUFRSX0FERCB0byBhZGQgb2Zmc2V0cyB0byBhCiBwb2ludGVyCgpGaXhl czogbGliYXZjb2RlYy9tc3MyZHNwLmM6NTk6MTQ6IHJ1bnRpbWUgZXJyb3I6IGFwcGx5aW5nIHpl cm8gb2Zmc2V0IHRvIG51bGwgcG9pbnRlcgoKVGVzdGVkLWJ5OiBLYWNwZXIgTWljaGFqbG93IDxr YXNwZXI5M0BnbWFpbC5jb20+ClNpZ25lZC1vZmYtYnk6IEphbWVzIEFsbWVyIDxqYW1yaWFsQGdt YWlsLmNvbT4KKGNoZXJyeSBwaWNrZWQgZnJvbSBjb21taXQgYjExNzJiOGNjNjE1YTg4NGQ0MDUx NTE3ZDczNTZkNTg0MjkzOWJiNikKU2lnbmVkLW9mZi1ieTogTWljaGFlbCBOaWVkZXJtYXllciA8 bWljaGFlbEBuaWVkZXJtYXllci5jYz4KLS0tCiBsaWJhdmNvZGVjL21zczJkc3AuYyB8IDIgKy0K IDEgZmlsZSBjaGFuZ2VkLCAxIGluc2VydGlvbigrKSwgMSBkZWxldGlvbigtKQoKZGlmZiAtLWdp dCBhL2xpYmF2Y29kZWMvbXNzMmRzcC5jIGIvbGliYXZjb2RlYy9tc3MyZHNwLmMKaW5kZXggY2Mz OWRkNjM3Zi4uYWNlOTJlZjljNyAxMDA2NDQKLS0tIGEvbGliYXZjb2RlYy9tc3MyZHNwLmMKKysr IGIvbGliYXZjb2RlYy9tc3MyZHNwLmMKQEAgLTU2LDcgKzU2LDcgQEAgc3RhdGljIGF2X2Fsd2F5 c19pbmxpbmUgdm9pZCBtc3MyX2JsaXRfd212OV90ZW1wbGF0ZSh1aW50OF90ICpkc3QsCiAgICAg ICAgICAgICAgICAgfQogICAgICAgICAgICAgfQogICAgICAgICB9Ci0gICAgICAgIG1hc2sgKz0g IG1hc2tfc3RyaWRlOworICAgICAgICBtYXNrICA9IEZGX1BUUl9BREQobWFzaywgbWFza19zdHJp ZGUpOwogICAgICAgICBkc3QgICs9ICAgZHN0X3N0cmlkZTsKICAgICAgICAgc3JjeSArPSAgc3Jj eV9zdHJpZGU7CiAgICAgICAgIHNyY3UgKz0gc3JjdXZfc3RyaWRlICogKHIgJiAxKTsKLS0gCjIu NDkuMQoKCkZyb20gYTJhYzIwMzA2YWFmMmEyODRhYTY1ZjM3NWYwYWFlMjdlNGQxMWE1OCBNb24g U2VwIDE3IDAwOjAwOjAwIDIwMDEKRnJvbTogTWljaGFlbCBOaWVkZXJtYXllciA8bWljaGFlbEBu aWVkZXJtYXllci5jYz4KRGF0ZTogVHVlLCAxNyBKdW4gMjAyNSAwMTowNTo1NCArMDIwMApTdWJq ZWN0OiBbUEFUQ0ggMjk3LzQzNF0gYXZjb2RlYy9vc3E6IEZpeCBzaWduZWQgaW50ZWdlciBvdmVy ZmxvdyBpbgogdXBkYXRlX3N0YXRzKCkKCkZpeGVzOiBuZWdhdGlvbiBvZiAtMjE0NzQ4MzY0OCBj YW5ub3QgYmUgcmVwcmVzZW50ZWQgaW4gdHlwZSAnaW50JzsgY2FzdCB0byBhbiB1bnNpZ25lZCB0 eXBlIHRvIG5lZ2F0ZSB0aGlzIHZhbHVlIHRvIGl0c2VsZgpGaXhlczogNDEwMTA5MDkzL2NsdXN0 ZXJmdXp6LXRlc3RjYXNlLW1pbmltaXplZC1mZm1wZWdfQVZfQ09ERUNfSURfT1NRX2Z1enplci02 NTUwOTAwMDI4Mjc2NzM2CgpOb3RlLCBub25lIG9mIHRoZSBhdmFpbGFibGUgb3NxIGZpbGVzIHVz ZXMgdXBkYXRlX3N0YXRzKCksIHRoaXMgY2hhbmdlIG1heSBmaXggb3IgYnJlYWsKZmlsZXMgdXNp bmcgY29kaW5nX21vZGUgPT0gMi4gVGhlIGNvZGUgcHJpb3IgbG9va3Mgd3JvbmcgdGhvdWdoCgpG b3VuZC1ieTogY29udGludW91cyBmdXp6aW5nIHByb2Nlc3MgaHR0cHM6Ly9naXRodWIuY29tL2dv b2dsZS9vc3MtZnV6ei90cmVlL21hc3Rlci9wcm9qZWN0cy9mZm1wZWcKU2lnbmVkLW9mZi1ieTog TWljaGFlbCBOaWVkZXJtYXllciA8bWljaGFlbEBuaWVkZXJtYXllci5jYz4KKGNoZXJyeSBwaWNr ZWQgZnJvbSBjb21taXQgYzkwOWVmMzFiZTk2YjY5ODM2OThjM2IwMWM2NzVkZThlNWYyNjM3YSkK U2lnbmVkLW9mZi1ieTogTWljaGFlbCBOaWVkZXJtYXllciA8bWljaGFlbEBuaWVkZXJtYXllci5j Yz4KLS0tCiBsaWJhdmNvZGVjL29zcS5jIHwgNCArKy0tCiAxIGZpbGUgY2hhbmdlZCwgMiBpbnNl cnRpb25zKCspLCAyIGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL2xpYmF2Y29kZWMvb3NxLmMg Yi9saWJhdmNvZGVjL29zcS5jCmluZGV4IDVjNzgyNjc3OGQuLjcwY2JmYTQ3ZWMgMTAwNjQ0Ci0t LSBhL2xpYmF2Y29kZWMvb3NxLmMKKysrIGIvbGliYXZjb2RlYy9vc3EuYwpAQCAtMTQ2LDggKzE0 Niw4IEBAIHN0YXRpYyB2b2lkIHJlc2V0X3N0YXRzKE9TUUNoYW5uZWwgKmNiKQogCiBzdGF0aWMg dm9pZCB1cGRhdGVfc3RhdHMoT1NRQ2hhbm5lbCAqY2IsIGludCB2YWwpCiB7Ci0gICAgY2ItPnN1 bSArPSBGRkFCUyh2YWwpIC0gY2ItPmhpc3RvcnlbY2ItPnBvc107Ci0gICAgY2ItPmhpc3Rvcnlb Y2ItPnBvc10gPSBGRkFCUyh2YWwpOworICAgIGNiLT5zdW0gKz0gRkZBQlMoKGludDY0X3QpdmFs KSAtIGNiLT5oaXN0b3J5W2NiLT5wb3NdOworICAgIGNiLT5oaXN0b3J5W2NiLT5wb3NdID0gRkZB QlMoKGludDY0X3QpdmFsKTsKICAgICBjYi0+cG9zKys7CiAgICAgY2ItPmNvdW50Kys7CiAgICAg aWYgKGNiLT5wb3MgPj0gRkZfQVJSQVlfRUxFTVMoY2ItPmhpc3RvcnkpKQotLSAKMi40OS4xCgoK RnJvbSA0M2QyYTg4MGY5N2FiMjNmM2NhY2QzMTQwYjYzN2EwOTY0MDgzZmI1IE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBNaWNoYWVsIE5pZWRlcm1heWVyIDxtaWNoYWVsQG5pZWRlcm1h eWVyLmNjPgpEYXRlOiBUdWUsIDE3IEp1biAyMDI1IDAyOjI4OjA4ICswMjAwClN1YmplY3Q6IFtQ QVRDSCAyOTgvNDM0XSBhdmNvZGVjL29zcTogQWRkIG5vdGUgYWJvdXQgdXBkYXRlX3N0YXRzKCkg Y291bnQKCkl0IHNlZW1zIHRoaXMgaXMgYmFzaWNhbGx5IHVudXNlZCBhbmQgdW5maW5pc2hlZCBj b2RlCgpTaWduZWQtb2ZmLWJ5OiBNaWNoYWVsIE5pZWRlcm1heWVyIDxtaWNoYWVsQG5pZWRlcm1h eWVyLmNjPgooY2hlcnJ5IHBpY2tlZCBmcm9tIGNvbW1pdCBiNTg3YWZjYjY1MTkyYzRjNGJmODg0 MjJmNjU2NWU1MzU1ZWFmMzFlKQpTaWduZWQtb2ZmLWJ5OiBNaWNoYWVsIE5pZWRlcm1heWVyIDxt aWNoYWVsQG5pZWRlcm1heWVyLmNjPgotLS0KIGxpYmF2Y29kZWMvb3NxLmMgfCAyICsrCiAxIGZp bGUgY2hhbmdlZCwgMiBpbnNlcnRpb25zKCspCgpkaWZmIC0tZ2l0IGEvbGliYXZjb2RlYy9vc3Eu YyBiL2xpYmF2Y29kZWMvb3NxLmMKaW5kZXggNzBjYmZhNDdlYy4uYmJmYWIyMjJjMCAxMDA2NDQK LS0tIGEvbGliYXZjb2RlYy9vc3EuYworKysgYi9saWJhdmNvZGVjL29zcS5jCkBAIC0xNTAsNiAr MTUwLDggQEAgc3RhdGljIHZvaWQgdXBkYXRlX3N0YXRzKE9TUUNoYW5uZWwgKmNiLCBpbnQgdmFs KQogICAgIGNiLT5oaXN0b3J5W2NiLT5wb3NdID0gRkZBQlMoKGludDY0X3QpdmFsKTsKICAgICBj Yi0+cG9zKys7CiAgICAgY2ItPmNvdW50Kys7CisgICAgLy9OT1RFIGZvciB0aGlzIHRvIG1ha2Ug c2Vuc2UgY291bnQgd291bGQgbmVlZCB0byBiZSBsaW1pdGVkIHRvIEZGX0FSUkFZX0VMRU1TKGNi LT5oaXN0b3J5KQorICAgIC8vT3RoZXJ3aXNlIHRoZSBhdmVyYWdlIGNvbXB1dGF0aW9uIGxhdGVy IG1ha2VzIG5vIHNlbnNlCiAgICAgaWYgKGNiLT5wb3MgPj0gRkZfQVJSQVlfRUxFTVMoY2ItPmhp c3RvcnkpKQogICAgICAgICBjYi0+cG9zID0gMDsKIH0KLS0gCjIuNDkuMQoKCkZyb20gMGI4OGQ4 YjFkZGQyMmU3YWZiM2RhNmQxODE4ZTFhZjk1MTgwNTEwMCBNb24gU2VwIDE3IDAwOjAwOjAwIDIw MDEKRnJvbTogTWljaGFlbCBOaWVkZXJtYXllciA8bWljaGFlbEBuaWVkZXJtYXllci5jYz4KRGF0 ZTogVHVlLCAxNyBKdW4gMjAyNSAwMjozMToyOCArMDIwMApTdWJqZWN0OiBbUEFUQ0ggMjk5LzQz NF0gYXZjb2RlYy9vc3E6IFN3aXRjaCBiYWNrIHRvIGF2X2NlaWxfbG9nMigpCgpUaGlzIHJldHVy bnMgdG8gY29kZSBjbG9zZXIgdG8gcHJpb3IgNTZjMzM0ZDczMmRiYmNlNDNiMGM4ZmMwODA5ZWM1 NDViNzk0NjgzMgpUaGUgcHJpb3IgZml4ZXMgc2hvdWxkIGxpbWl0IHRoZSBzdW0gYW5kIGF2b2lk IHRoZSBuZWVkIGZvciBkb3VibGUgYXJndW1lbnQgbG9nMigpCgpGaXhlczogQXNzZXJ0aW9uIG4+ PTAgJiYgbjw9MzIgZmFpbGVkIGF0IGxpYmF2Y29kZWMvZ2V0X2JpdHMuaDo0MDYKRml4ZXM6IDQx MDEwOTA5My9jbHVzdGVyZnV6ei10ZXN0Y2FzZS1taW5pbWl6ZWQtZmZtcGVnX0FWX0NPREVDX0lE X09TUV9mdXp6ZXItNjU1MDkwMDAyODI3NjczNgoKTm8gdGVzdGNhc2VzIGV4Y2VwdCBmdXp6ZXJz CgpGb3VuZC1ieTogY29udGludW91cyBmdXp6aW5nIHByb2Nlc3MgaHR0cHM6Ly9naXRodWIuY29t L2dvb2dsZS9vc3MtZnV6ei90cmVlL21hc3Rlci9wcm9qZWN0cy9mZm1wZWcKU2lnbmVkLW9mZi1i eTogTWljaGFlbCBOaWVkZXJtYXllciA8bWljaGFlbEBuaWVkZXJtYXllci5jYz4KKGNoZXJyeSBw aWNrZWQgZnJvbSBjb21taXQgYTVmODYxZDMzNTQ5MWNlMjM1MDEwMmI3NGM3YTE3Zjg3NWNhZDBl ZCkKU2lnbmVkLW9mZi1ieTogTWljaGFlbCBOaWVkZXJtYXllciA8bWljaGFlbEBuaWVkZXJtYXll ci5jYz4KLS0tCiBsaWJhdmNvZGVjL29zcS5jIHwgMyArKy0KIDEgZmlsZSBjaGFuZ2VkLCAyIGlu c2VydGlvbnMoKyksIDEgZGVsZXRpb24oLSkKCmRpZmYgLS1naXQgYS9saWJhdmNvZGVjL29zcS5j IGIvbGliYXZjb2RlYy9vc3EuYwppbmRleCBiYmZhYjIyMmMwLi4yNjFmMjZmOGJmIDEwMDY0NAot LS0gYS9saWJhdmNvZGVjL29zcS5jCisrKyBiL2xpYmF2Y29kZWMvb3NxLmMKQEAgLTE2NSw3ICsx NjUsOCBAQCBzdGF0aWMgaW50IHVwZGF0ZV9yZXNpZHVlX3BhcmFtZXRlcihPU1FDaGFubmVsICpj YikKICAgICBpZiAoIXN1bSkKICAgICAgICAgcmV0dXJuIDA7CiAgICAgeCA9IHN1bSAvIGNiLT5j b3VudDsKLSAgICByaWNlX2sgPSBjZWlsKGxvZzIoeCkpOworICAgIGF2X2Fzc2VydDIoeCA8PSAw eDgwMDAwMDAwVSk7CisgICAgcmljZV9rID0gYXZfY2VpbF9sb2cyKHgpOwogICAgIGlmIChyaWNl X2sgPj0gMzApIHsKICAgICAgICAgZG91YmxlIGYgPSBmbG9vcihzdW0gLyAxLjQ0MjY5NTIgKyAw LjUpOwogICAgICAgICBpZiAoZiA8PSAxKSB7Ci0tIAoyLjQ5LjEKCgpGcm9tIGExNTA5YTZjMTQy ODM3ZGM4OWI0ODA1MTAyMTRmNGUxMjU0ZGQ1OTUgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCkZy b206IE1pY2hhZWwgTmllZGVybWF5ZXIgPG1pY2hhZWxAbmllZGVybWF5ZXIuY2M+CkRhdGU6IFR1 ZSwgMTcgSnVuIDIwMjUgMjI6MzE6MTcgKzAyMDAKU3ViamVjdDogW1BBVENIIDMwMC80MzRdIGF2 Y29kZWMvb3NxOiBSZXF1ZXN0IGEgY29kaW5nIG1vZGUgMiBzYW1wbGUKClNpZ25lZC1vZmYtYnk6 IE1pY2hhZWwgTmllZGVybWF5ZXIgPG1pY2hhZWxAbmllZGVybWF5ZXIuY2M+CihjaGVycnkgcGlj a2VkIGZyb20gY29tbWl0IGY4ZTMwZDllZWJkMjVkNmVkMmRiNzQ0OTQwZjFhNmQzMzUzNGVmN2Ip ClNpZ25lZC1vZmYtYnk6IE1pY2hhZWwgTmllZGVybWF5ZXIgPG1pY2hhZWxAbmllZGVybWF5ZXIu Y2M+Ci0tLQogbGliYXZjb2RlYy9vc3EuYyB8IDIgKysKIDEgZmlsZSBjaGFuZ2VkLCAyIGluc2Vy dGlvbnMoKykKCmRpZmYgLS1naXQgYS9saWJhdmNvZGVjL29zcS5jIGIvbGliYXZjb2RlYy9vc3Eu YwppbmRleCAyNjFmMjZmOGJmLi5mYmI4NzllYzhkIDEwMDY0NAotLS0gYS9saWJhdmNvZGVjL29z cS5jCisrKyBiL2xpYmF2Y29kZWMvb3NxLmMKQEAgLTIxMiw2ICsyMTIsOCBAQCBzdGF0aWMgaW50 IG9zcV9jaGFubmVsX3BhcmFtZXRlcnMoQVZDb2RlY0NvbnRleHQgKmF2Y3R4LCBpbnQgY2gpCiAg ICAgICAgIGNiLT5yZXNpZHVlX3BhcmFtZXRlciA9IGdldF91cmljZShnYiwgNCk7CiAgICAgICAg IGlmICghY2ItPnJlc2lkdWVfcGFyYW1ldGVyIHx8IGNiLT5yZXNpZHVlX3BhcmFtZXRlciA+PSAz MSkKICAgICAgICAgICAgIHJldHVybiBBVkVSUk9SX0lOVkFMSUREQVRBOworICAgICAgICBpZiAo Y2ItPmNvZGluZ19tb2RlID09IDIpCisgICAgICAgICAgICBhdnByaXZfcmVxdWVzdF9zYW1wbGUo YXZjdHgsICJjb2RpbmcgbW9kZSAyIik7CiAgICAgfSBlbHNlIGlmIChjYi0+Y29kaW5nX21vZGUg PT0gMykgewogICAgICAgICBjYi0+cmVzaWR1ZV9iaXRzID0gZ2V0X3VyaWNlKGdiLCA0KTsKICAg ICAgICAgaWYgKCFjYi0+cmVzaWR1ZV9iaXRzIHx8IGNiLT5yZXNpZHVlX2JpdHMgPj0gMzEpCi0t IAoyLjQ5LjEKCgpGcm9tIDA5M2IzNDlkZDZjMzBmZWJhOTBlYTZjZTQyZTg1YmE2M2NkNTdiYTUg TW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCkZyb206IE1pY2hhZWwgTmllZGVybWF5ZXIgPG1pY2hh ZWxAbmllZGVybWF5ZXIuY2M+CkRhdGU6IFNhdCwgMjEgSnVuIDIwMjUgMDI6MDE6MjIgKzAyMDAK U3ViamVjdDogW1BBVENIIDMwMS80MzRdIGF2Zm9ybWF0L2lmZjogQ2hlY2sgbmJfY2hhbm5lbHMg PT0gMCBpbiBDSE5MCgpGaXhlczogZGl2aXNpb24gYnkgMApGaXhlczogNDE4Mzk2NzEyL2NsdXN0 ZXJmdXp6LXRlc3RjYXNlLW1pbmltaXplZC1mZm1wZWdfZGVtX0lGRl9mdXp6ZXItNjEwNDM4ODAx ODE3NjAwMApGaXhlczogNDE4NDc4MjE5L2NsdXN0ZXJmdXp6LXRlc3RjYXNlLW1pbmltaXplZC1m Zm1wZWdfZGVtX0lGRl9mdXp6ZXItNDU2OTU0NDQxMDg1NzQ3MgoKRm91bmQtYnk6IGNvbnRpbnVv dXMgZnV6emluZyBwcm9jZXNzIGh0dHBzOi8vZ2l0aHViLmNvbS9nb29nbGUvb3NzLWZ1enovdHJl ZS9tYXN0ZXIvcHJvamVjdHMvZmZtcGVnClJldmlld2VkLWJ5OiBQZXRlciBSb3NzIDxwcm9zc0B4 dmlkLm9yZz4KU2lnbmVkLW9mZi1ieTogTWljaGFlbCBOaWVkZXJtYXllciA8bWljaGFlbEBuaWVk ZXJtYXllci5jYz4KKGNoZXJyeSBwaWNrZWQgZnJvbSBjb21taXQgNWIxMzAxMDA0YmRhZGUxM2Uz ZmVlMjIwODE0NTllMzM5ZGRkMjYzNykKU2lnbmVkLW9mZi1ieTogTWljaGFlbCBOaWVkZXJtYXll ciA8bWljaGFlbEBuaWVkZXJtYXllci5jYz4KLS0tCiBsaWJhdmZvcm1hdC9pZmYuYyB8IDIgKy0K IDEgZmlsZSBjaGFuZ2VkLCAxIGluc2VydGlvbigrKSwgMSBkZWxldGlvbigtKQoKZGlmZiAtLWdp dCBhL2xpYmF2Zm9ybWF0L2lmZi5jIGIvbGliYXZmb3JtYXQvaWZmLmMKaW5kZXggM2Y3NWUxMzVl NS4uODJkMzE4MTFhOSAxMDA2NDQKLS0tIGEvbGliYXZmb3JtYXQvaWZmLmMKKysrIGIvbGliYXZm b3JtYXQvaWZmLmMKQEAgLTI4MCw3ICsyODAsNyBAQCBzdGF0aWMgaW50IHBhcnNlX2RzZF9wcm9w KEFWRm9ybWF0Q29udGV4dCAqcywgQVZTdHJlYW0gKnN0LCB1aW50NjRfdCBlb2YpCiAgICAgICAg ICAgICAgICAgcmV0dXJuIEFWRVJST1JfSU5WQUxJRERBVEE7CiAgICAgICAgICAgICBzdC0+Y29k ZWNwYXItPmNoX2xheW91dC5vcmRlciAgICAgICA9IEFWX0NIQU5ORUxfT1JERVJfVU5TUEVDOwog ICAgICAgICAgICAgc3QtPmNvZGVjcGFyLT5jaF9sYXlvdXQubmJfY2hhbm5lbHMgPSBhdmlvX3Ji MTYocGIpOwotICAgICAgICAgICAgaWYgKHNpemUgPCAyICsgc3QtPmNvZGVjcGFyLT5jaF9sYXlv dXQubmJfY2hhbm5lbHMgKiA0KQorICAgICAgICAgICAgaWYgKHNpemUgPCAyICsgc3QtPmNvZGVj cGFyLT5jaF9sYXlvdXQubmJfY2hhbm5lbHMgKiA0IHx8ICFzdC0+Y29kZWNwYXItPmNoX2xheW91 dC5uYl9jaGFubmVscykKICAgICAgICAgICAgICAgICByZXR1cm4gQVZFUlJPUl9JTlZBTElEREFU QTsKICAgICAgICAgICAgIGlmIChzdC0+Y29kZWNwYXItPmNoX2xheW91dC5uYl9jaGFubmVscyA+ IEZGX0FSUkFZX0VMRU1TKGRzZF9sYXlvdXQpKSB7CiAgICAgICAgICAgICAgICAgYXZwcml2X3Jl cXVlc3Rfc2FtcGxlKHMsICJjaGFubmVsIGxheW91dCIpOwotLSAKMi40OS4xCgoKRnJvbSAzZWNl M2RlZDBjYjNjOWRkZTZkOWI3YzEwODUyNjRjYTY1ZjY5OGFlIE1vbiBTZXAgMTcgMDA6MDA6MDAg MjAwMQpGcm9tOiBNaWNoYWVsIE5pZWRlcm1heWVyIDxtaWNoYWVsQG5pZWRlcm1heWVyLmNjPgpE YXRlOiBTYXQsIDIxIEp1biAyMDI1IDIzOjE1OjE3ICswMjAwClN1YmplY3Q6IFtQQVRDSCAzMDIv NDM0XSBhdmZvcm1hdC9tb3Y6IENoZWNrIHRoYXQgc2FtcGxlX2NvdW50IGlzIGFsbG9jYXRlZCBp bgogbW92X3BhcnNlX2hlaWZfaXRlbXMoKQoKRml4ZXM6IE5VTEwgcG9pbnRlciBkZXJlZmVyZW5j ZQpGaXhlczogNDE2ODExOTU4L2NsdXN0ZXJmdXp6LXRlc3RjYXNlLW1pbmltaXplZC1mZm1wZWdf ZGVtX01PVl9mdXp6ZXItNTQyNTI2OTExNDczMjU0NAoKRm91bmQtYnk6IGNvbnRpbnVvdXMgZnV6 emluZyBwcm9jZXNzIGh0dHBzOi8vZ2l0aHViLmNvbS9nb29nbGUvb3NzLWZ1enovdHJlZS9tYXN0 ZXIvcHJvamVjdHMvZmZtcGVnClJldmlld2VkLWJ5OiBKYW1lcyBBbG1lciA8amFtcmlhbEBnbWFp bC5jb20+ClNpZ25lZC1vZmYtYnk6IE1pY2hhZWwgTmllZGVybWF5ZXIgPG1pY2hhZWxAbmllZGVy bWF5ZXIuY2M+CihjaGVycnkgcGlja2VkIGZyb20gY29tbWl0IDBmZmU5N2Q5YjllMTBlODhkYjI5 ZDhkOTEwYzI0ZWMwMGVmMjRlZGMpClNpZ25lZC1vZmYtYnk6IE1pY2hhZWwgTmllZGVybWF5ZXIg PG1pY2hhZWxAbmllZGVybWF5ZXIuY2M+Ci0tLQogbGliYXZmb3JtYXQvbW92LmMgfCAyICstCiAx IGZpbGUgY2hhbmdlZCwgMSBpbnNlcnRpb24oKyksIDEgZGVsZXRpb24oLSkKCmRpZmYgLS1naXQg YS9saWJhdmZvcm1hdC9tb3YuYyBiL2xpYmF2Zm9ybWF0L21vdi5jCmluZGV4IGI5NzYxZWZiYWMu LmNkMTg0Njc5OGEgMTAwNjQ0Ci0tLSBhL2xpYmF2Zm9ybWF0L21vdi5jCisrKyBiL2xpYmF2Zm9y bWF0L21vdi5jCkBAIC0xMDE0Miw3ICsxMDE0Miw3IEBAIHN0YXRpYyBpbnQgbW92X3BhcnNlX2hl aWZfaXRlbXMoQVZGb3JtYXRDb250ZXh0ICpzKQogICAgICAgICBzdC0+Y29kZWNwYXItPmhlaWdo dCA9IGl0ZW0tPmhlaWdodDsKIAogICAgICAgICBlcnIgPSBzYW5pdHlfY2hlY2tzKHMsIHNjLCBp dGVtLT5pdGVtX2lkKTsKLSAgICAgICAgaWYgKGVycikKKyAgICAgICAgaWYgKGVyciB8fCAhc2Mt PnNhbXBsZV9jb3VudCkKICAgICAgICAgICAgIHJldHVybiBBVkVSUk9SX0lOVkFMSUREQVRBOwog CiAgICAgICAgIHNjLT5zYW1wbGVfc2l6ZXNbMF0gID0gaXRlbS0+ZXh0ZW50X2xlbmd0aDsKLS0g CjIuNDkuMQoKCkZyb20gMTJjNDU4NjA1ZmJhYTI4MDljZjQ1ZDE2Yzc5ZjY1ZTVjMjBlZDQ2MCBN b24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKRnJvbTogRnJhbmsgUGxvd21hbiA8cG9zdEBmcmFua3Bs b3dtYW4uY29tPgpEYXRlOiBTYXQsIDIxIEp1biAyMDI1IDEzOjA1OjE0ICswMTAwClN1YmplY3Q6 IFtQQVRDSCAzMDMvNDM0XSBsYXZjL3Z2YzogRml4IGNvbmRpdGlvbiBmb3IgdXNpbmcgZGVmYXVs dCBzY2FsaW5nCiBmYWN0b3IKCkFkZCBoYW5kbGluZyBoZXJlIGZvcgpzcHNfc2NhbGluZ19tYXRy aXhfZm9yX2FsdGVybmF0aXZlX2NvbG91cl9zcGFjZV9kaXNhYmxlZF9mbGFnLgoKQWxzbyBhZGQg cGFyZW50aGVzZXMgdG8gbWFrZSBiZWhhdmlvdXIgYSBsaXR0bGUgbW9yZSBleHBsaWNpdCwKd2hl cmUgJiYncyBwcmVjZWRlbmNlIG92ZXIgfHwgd2FzIHJlbGllZCBvbiBwcmV2aW91c2x5LgoKUmVw b3J0ZWQtYnk6IE1pY2hhZWwgTmllZGVybWF5ZXIgPG1pY2hhZWxAbmllZGVybWF5ZXIuY2M+ClNp Z25lZC1vZmYtYnk6IEZyYW5rIFBsb3dtYW4gPHBvc3RAZnJhbmtwbG93bWFuLmNvbT4KKGNoZXJy eSBwaWNrZWQgZnJvbSBjb21taXQgNTQwYTI0OTdkMjM4NWY5NGE2NjFhNmJiZTBmMDg4NjM2ZDk3 Mjc4MykKU2lnbmVkLW9mZi1ieTogTWljaGFlbCBOaWVkZXJtYXllciA8bWljaGFlbEBuaWVkZXJt YXllci5jYz4KLS0tCiBsaWJhdmNvZGVjL3Z2Yy9pbnRyYS5jIHwgNiArKystLS0KIDEgZmlsZSBj aGFuZ2VkLCAzIGluc2VydGlvbnMoKyksIDMgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvbGli YXZjb2RlYy92dmMvaW50cmEuYyBiL2xpYmF2Y29kZWMvdnZjL2ludHJhLmMKaW5kZXggNDFlZDg5 Yzk0Ni4uYzA4ZTc5ZGY3ZSAxMDA2NDQKLS0tIGEvbGliYXZjb2RlYy92dmMvaW50cmEuYworKysg Yi9saWJhdmNvZGVjL3Z2Yy9pbnRyYS5jCkBAIC0zOTAsMTAgKzM5MCwxMCBAQCBzdGF0aWMgY29u c3QgdWludDhfdCogZGVyaXZlX3NjYWxlX20oY29uc3QgVlZDTG9jYWxDb250ZXh0ICpsYywgY29u c3QgVHJhbnNmb3JtQgogICAgIGNvbnN0IGludCBsb2cyX21hdHJpeF9zaXplID0gKGlkIDwgMikg PyAxIDogKGlkIDwgOCkgPyAyIDogMzsKICAgICB1aW50OF90ICpwID0gc2NhbGVfbTsKIAotICAg IGF2X2Fzc2VydDAoIXNwcy0+ci0+c3BzX3NjYWxpbmdfbWF0cml4X2Zvcl9hbHRlcm5hdGl2ZV9j b2xvdXJfc3BhY2VfZGlzYWJsZWRfZmxhZyk7Ci0KICAgICBpZiAoIXJzaC0+c2hfZXhwbGljaXRf c2NhbGluZ19saXN0X3VzZWRfZmxhZyB8fCB0Yi0+dHMgfHwKLSAgICAgICAgc3BzLT5yLT5zcHNf c2NhbGluZ19tYXRyaXhfZm9yX2xmbnN0X2Rpc2FibGVkX2ZsYWcgJiYgY3UtPmFwcGx5X2xmbnN0 X2ZsYWdbdGItPmNfaWR4XSkKKyAgICAgICAgKHNwcy0+ci0+c3BzX3NjYWxpbmdfbWF0cml4X2Zv cl9sZm5zdF9kaXNhYmxlZF9mbGFnICYmIGN1LT5hcHBseV9sZm5zdF9mbGFnW3RiLT5jX2lkeF0p IHx8CisgICAgICAgIChzcHMtPnItPnNwc19zY2FsaW5nX21hdHJpeF9mb3JfYWx0ZXJuYXRpdmVf Y29sb3VyX3NwYWNlX2Rpc2FibGVkX2ZsYWcgJiYKKyAgICAgICAgICAgIHNwcy0+ci0+c3BzX3Nj YWxpbmdfbWF0cml4X2Rlc2lnbmF0ZWRfY29sb3VyX3NwYWNlX2ZsYWcgPT0gY3UtPmFjdF9lbmFi bGVkX2ZsYWcpKQogICAgICAgICByZXR1cm4gZmZfdnZjX2RlZmF1bHRfc2NhbGVfbTsKIAogICAg IGlmICghc2wpIHsKLS0gCjIuNDkuMQoKCkZyb20gZTZhNjAyMGE4ZmM1Y2ZlN2Q2MmIyNTdmZTMz ZjJjMTQyMzZiYzVkYiBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKRnJvbTogTWljaGFlbCBOaWVk ZXJtYXllciA8bWljaGFlbEBuaWVkZXJtYXllci5jYz4KRGF0ZTogRnJpLCAyNyBKdW4gMjAyNSAx ODowOToyNCArMDIwMApTdWJqZWN0OiBbUEFUQ0ggMzA0LzQzNF0gYXZjb2RlYy9zcGVleGRlYzog Y29uc2lkZXIgZGlmZmVyaW5nIGZyYW1lIHNpemVzIGluCiByZW1haW5pbmcgc3BhY2UgY2hlY2sK CkZpeGVzOiB0YWxrMTA5LXE1LnNweApSZWdyZXNzaW9uIHNpbmNlOiBmNjk4NmU3NWJlODdmNTEy ZjY1ZDY0YWM5MWJhMTlkNTA1YThkMjEwCgpTaWduZWQtb2ZmLWJ5OiBNaWNoYWVsIE5pZWRlcm1h eWVyIDxtaWNoYWVsQG5pZWRlcm1heWVyLmNjPgooY2hlcnJ5IHBpY2tlZCBmcm9tIGNvbW1pdCBj ZmQxZjgxZTdkMDZlNjRjYzAzZDY3MGJhZmU3MzljYzg5MjVmNWJlKQpTaWduZWQtb2ZmLWJ5OiBN aWNoYWVsIE5pZWRlcm1heWVyIDxtaWNoYWVsQG5pZWRlcm1heWVyLmNjPgotLS0KIGxpYmF2Y29k ZWMvc3BlZXhkZWMuYyB8IDIgKy0KIDEgZmlsZSBjaGFuZ2VkLCAxIGluc2VydGlvbigrKSwgMSBk ZWxldGlvbigtKQoKZGlmZiAtLWdpdCBhL2xpYmF2Y29kZWMvc3BlZXhkZWMuYyBiL2xpYmF2Y29k ZWMvc3BlZXhkZWMuYwppbmRleCA3OGYyNTZhZDI2Li4yYzE0ZDdkMDQ0IDEwMDY0NAotLS0gYS9s aWJhdmNvZGVjL3NwZWV4ZGVjLmMKKysrIGIvbGliYXZjb2RlYy9zcGVleGRlYy5jCkBAIC0xMjMz LDcgKzEyMzMsNyBAQCBzdGF0aWMgaW50IHNiX2RlY29kZShBVkNvZGVjQ29udGV4dCAqYXZjdHgs IHZvaWQgKnB0cl9zdCwKICAgICBtb2RlID0gc3QtPm1vZGU7CiAKICAgICBpZiAoc3QtPm1vZGVJ RCA+IDApIHsKLSAgICAgICAgaWYgKHBhY2tldHNfbGVmdCA8PSAxKQorICAgICAgICBpZiAocGFj a2V0c19sZWZ0ICogcy0+ZnJhbWVfc2l6ZSA8IDIqc3QtPmZyYW1lX3NpemUpCiAgICAgICAgICAg ICByZXR1cm4gQVZFUlJPUl9JTlZBTElEREFUQTsKICAgICAgICAgbG93X2lubm92X2FsaWFzID0g b3V0ICsgc3QtPmZyYW1lX3NpemU7CiAgICAgICAgIHMtPnN0W3N0LT5tb2RlSUQgLSAxXS5pbm5v dl9zYXZlID0gbG93X2lubm92X2FsaWFzOwotLSAKMi40OS4xCgoKRnJvbSAwMGQxMmNiMjg0MGI3 OWRiMDE4YWQ3OGQ5NDI5ZmE2NWNmMGE3NjBiIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQpGcm9t OiBNYXJ0b24gQmFsaW50IDxjdXNAcGFzc3dkLmh1PgpEYXRlOiBTYXQsIDIxIEp1biAyMDI1IDA4 OjIxOjQwICswMjAwClN1YmplY3Q6IFtQQVRDSCAzMDUvNDM0XSBhdmZpbHRlci9hdmZpbHRlcjog Zml4IGZvcndhcmRpbmcgRU9GIGZvciBzaW1wbGUgQVBJCiBmaWx0ZXJzIGluIGZpbHRlcl9hY3Rp dmF0ZV9kZWZhdWx0CgpFT0Ygb25seSBuZWVkIHRvIGJlIGZvcndhcmRlZCBiYWNrIGlmIGFsbCBv dXRwdXRzIGhhdmUgcmVhY2hlZCBFT0YuCgpGaXhlcyBpbmZpbnRlIGxvb3Agd2l0aCBmZnByb2Jl IC1mIGxhdmZpIC1pICJzbXB0ZWJhcnM9ZD0xLHNlbGVjdD1uPTI6ZT0xW291dDBdW291dDFdIgpS ZWdyZXNzaW9uIHNpbmNlIGQ5ZTQxZWFkODIyNjNlOTZlYmQxNGQ0ZDg4ZDZlN2Y4NThkZDk0NGMu CgpGaXhlcyB0aWNrZXQgIzEwOTU5LgpGaXhlcyB0aWNrZXQgIzExMzY2LgoKU2lnbmVkLW9mZi1i eTogTWFydG9uIEJhbGludCA8Y3VzQHBhc3N3ZC5odT4KKGNoZXJyeSBwaWNrZWQgZnJvbSBjb21t aXQgYTczNmFjNzJiYjJlNDU3NDg0NzI0ZjA1ODlmZDExYTJiMmI1Zjg1MikKU2lnbmVkLW9mZi1i eTogTWljaGFlbCBOaWVkZXJtYXllciA8bWljaGFlbEBuaWVkZXJtYXllci5jYz4KLS0tCiBsaWJh dmZpbHRlci9hdmZpbHRlci5jIHwgMTYgKysrKysrKy0tLS0tLS0tLQogMSBmaWxlIGNoYW5nZWQs IDcgaW5zZXJ0aW9ucygrKSwgOSBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9saWJhdmZpbHRl ci9hdmZpbHRlci5jIGIvbGliYXZmaWx0ZXIvYXZmaWx0ZXIuYwppbmRleCA4YTJhOWUwNTkzLi4w NThmYjIzM2QyIDEwMDY0NAotLS0gYS9saWJhdmZpbHRlci9hdmZpbHRlci5jCisrKyBiL2xpYmF2 ZmlsdGVyL2F2ZmlsdGVyLmMKQEAgLTEyMTMsMTYgKzEyMTMsMTQgQEAgc3RhdGljIGludCBmb3J3 YXJkX3N0YXR1c19jaGFuZ2UoQVZGaWx0ZXJDb250ZXh0ICpmaWx0ZXIsIEZpbHRlckxpbmtJbnRl cm5hbCAqbGkKIHN0YXRpYyBpbnQgZmZfZmlsdGVyX2FjdGl2YXRlX2RlZmF1bHQoQVZGaWx0ZXJD b250ZXh0ICpmaWx0ZXIpCiB7CiAgICAgdW5zaWduZWQgaTsKKyAgICBpbnQgbmJfZW9mcyA9IDA7 CiAKLSAgICBmb3IgKGkgPSAwOyBpIDwgZmlsdGVyLT5uYl9vdXRwdXRzOyBpKyspIHsKLSAgICAg ICAgRmlsdGVyTGlua0ludGVybmFsICpsaSA9IGZmX2xpbmtfaW50ZXJuYWwoZmlsdGVyLT5vdXRw dXRzW2ldKTsKLSAgICAgICAgaW50IHJldCA9IGxpLT5zdGF0dXNfaW47Ci0KLSAgICAgICAgaWYg KHJldCkgewotICAgICAgICAgICAgZm9yIChpbnQgaiA9IDA7IGogPCBmaWx0ZXItPm5iX2lucHV0 czsgaisrKQotICAgICAgICAgICAgICAgIGZmX2lubGlua19zZXRfc3RhdHVzKGZpbHRlci0+aW5w dXRzW2pdLCByZXQpOwotICAgICAgICAgICAgcmV0dXJuIDA7Ci0gICAgICAgIH0KKyAgICBmb3Ig KGkgPSAwOyBpIDwgZmlsdGVyLT5uYl9vdXRwdXRzOyBpKyspCisgICAgICAgIG5iX2VvZnMgKz0g ZmZfb3V0bGlua19nZXRfc3RhdHVzKGZpbHRlci0+b3V0cHV0c1tpXSkgPT0gQVZFUlJPUl9FT0Y7 CisgICAgaWYgKGZpbHRlci0+bmJfb3V0cHV0cyAmJiBuYl9lb2ZzID09IGZpbHRlci0+bmJfb3V0 cHV0cykgeworICAgICAgICBmb3IgKGludCBqID0gMDsgaiA8IGZpbHRlci0+bmJfaW5wdXRzOyBq KyspCisgICAgICAgICAgICBmZl9pbmxpbmtfc2V0X3N0YXR1cyhmaWx0ZXItPmlucHV0c1tqXSwg QVZFUlJPUl9FT0YpOworICAgICAgICByZXR1cm4gMDsKICAgICB9CiAKICAgICBmb3IgKGkgPSAw OyBpIDwgZmlsdGVyLT5uYl9pbnB1dHM7IGkrKykgewotLSAKMi40OS4xCgoKRnJvbSBlZGU0Yzkz OWUzMTNmNmIwMTQwYTYxMzg5Y2EwYmQ4ZTcwNzc5ZDM3IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAw MQpGcm9tOiA9P1VURi04P3E/S2FjcGVyPTIwTWljaGFqPUM1PTgyb3c/PSA8a2FzcGVyOTNAZ21h aWwuY29tPgpEYXRlOiBUaHUsIDMgSnVsIDIwMjUgMjM6MDg6MjMgKzAyMDAKU3ViamVjdDogW1BB VENIIDMwNi80MzRdIGF2Y29kZWMvb3B1czogZG9uJ3QgbWF0ZXJpYWxpemUgYnVmIHBvaW50ZXIg ZnJvbSBudWxsCk1JTUUtVmVyc2lvbjogMS4wCkNvbnRlbnQtVHlwZTogdGV4dC9wbGFpbjsgY2hh cnNldD1VVEYtOApDb250ZW50LVRyYW5zZmVyLUVuY29kaW5nOiA4Yml0CgpGaXhlczogYXZjb2Rl Yy9vcHVzL2RlYy5jOiBydW50aW1lIGVycm9yOiBhcHBseWluZyBub24temVybyBvZmZzZXQgMTAg dG8gbnVsbCBwb2ludGVyCgpTaWduZWQtb2ZmLWJ5OiBLYWNwZXIgTWljaGFqxYJvdyA8a2FzcGVy OTNAZ21haWwuY29tPgpTaWduZWQtb2ZmLWJ5OiBNaWNoYWVsIE5pZWRlcm1heWVyIDxtaWNoYWVs QG5pZWRlcm1heWVyLmNjPgooY2hlcnJ5IHBpY2tlZCBmcm9tIGNvbW1pdCAzYjZlYzVhYmI1ZmIz Y2ZmZGZjZDI1ZjgzNGM0M2U1M2NhYjJjYWJlKQpTaWduZWQtb2ZmLWJ5OiBNaWNoYWVsIE5pZWRl cm1heWVyIDxtaWNoYWVsQG5pZWRlcm1heWVyLmNjPgotLS0KIGxpYmF2Y29kZWMvb3B1cy9kZWMu YyB8IDMgKysrCiAxIGZpbGUgY2hhbmdlZCwgMyBpbnNlcnRpb25zKCspCgpkaWZmIC0tZ2l0IGEv bGliYXZjb2RlYy9vcHVzL2RlYy5jIGIvbGliYXZjb2RlYy9vcHVzL2RlYy5jCmluZGV4IDZjNTlk YzFmNDYuLmRiZWZjZGRiMGMgMTAwNjQ0Ci0tLSBhL2xpYmF2Y29kZWMvb3B1cy9kZWMuYworKysg Yi9saWJhdmNvZGVjL29wdXMvZGVjLmMKQEAgLTU4NSw2ICs1ODUsOSBAQCBzdGF0aWMgaW50IG9w dXNfZGVjb2RlX3BhY2tldChBVkNvZGVjQ29udGV4dCAqYXZjdHgsIEFWRnJhbWUgKmZyYW1lLAog ICAgICAgICBzLT5kZWNvZGVkX3NhbXBsZXMgPSByZXQ7CiAgICAgICAgIGRlY29kZWRfc2FtcGxl cyAgICAgICA9IEZGTUlOKGRlY29kZWRfc2FtcGxlcywgcmV0KTsKIAorICAgICAgICBpZiAoIWJ1 ZikKKyAgICAgICAgICAgIGNvbnRpbnVlOworCiAgICAgICAgIGJ1ZiAgICAgICs9IHMtPnBhY2tl dC5wYWNrZXRfc2l6ZTsKICAgICAgICAgYnVmX3NpemUgLT0gcy0+cGFja2V0LnBhY2tldF9zaXpl OwogICAgIH0KLS0gCjIuNDkuMQoKCkZyb20gOWE0MzY2NmQ0NjliZGU1NGQwMWJlN2QyMmU2NDg3 OTRhNGVlZGYwMiBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKRnJvbTogPT9VVEYtOD9xP0thY3Bl cj0yME1pY2hhaj1DNT04Mm93Pz0gPGthc3BlcjkzQGdtYWlsLmNvbT4KRGF0ZTogTW9uLCAzMCBK dW4gMjAyNSAyMDozNjowOSArMDIwMApTdWJqZWN0OiBbUEFUQ0ggMzA3LzQzNF0gZmZ0b29scy9j bWR1dGlsczogZG9uJ3QgdHJ5IHRvIGxvYWQgYXJndW1lbnRzIGZyb20KIGZpbGUgaWYgbm90IG5l ZWRlZApNSU1FLVZlcnNpb246IDEuMApDb250ZW50LVR5cGU6IHRleHQvcGxhaW47IGNoYXJzZXQ9 VVRGLTgKQ29udGVudC1UcmFuc2Zlci1FbmNvZGluZzogOGJpdAoKQ0xJIG9wdGlvbiBwYXJzZXIg Y2hlY2tzIGlmIGFyZ3VtZW50IGV4aXN0cyB3aGVuIG5lZWRlZCwgYnV0IGluIHRoaXMKY2FzZSBv bmx5IE9QVF9UWVBFX0JPT0wgd2hlcmUgY2hlY2tlZCwgc28gT1BUX1RZUEVfRlVOQyB3aXRob3V0 IGFyZ3VtZW50CndoZXJlIHRyeWluZyB0byBsb2FkIGEgZmlsZSBmcm9tIGBhcmdgIHdoaWNoIGlz IE5VTEwgaW4gdGhpcyBjYXNlLgoKRml4ZXMgY3Jhc2ggb24gYGZmbXBlZyAtL3ZlcnNpb25gCgpG aXhlczogNmQxNzk5MWI3ZTFiZjFhNWQxMDRjOGE2MjYxNzA5ZjdlNjY0MGQ5NwpTaWduZWQtb2Zm LWJ5OiBLYWNwZXIgTWljaGFqxYJvdyA8a2FzcGVyOTNAZ21haWwuY29tPgpTaWduZWQtb2ZmLWJ5 OiBNaWNoYWVsIE5pZWRlcm1heWVyIDxtaWNoYWVsQG5pZWRlcm1heWVyLmNjPgooY2hlcnJ5IHBp Y2tlZCBmcm9tIGNvbW1pdCA1ZjYyZTJkZTk4ZWFmMWFmZGVhMjM4YjUzYjJiNWFjOGYwODc1MjM5 KQpTaWduZWQtb2ZmLWJ5OiBNaWNoYWVsIE5pZWRlcm1heWVyIDxtaWNoYWVsQG5pZWRlcm1heWVy LmNjPgotLS0KIGZmdG9vbHMvY21kdXRpbHMuYyB8IDUgKysrLS0KIDEgZmlsZSBjaGFuZ2VkLCAz IGluc2VydGlvbnMoKyksIDIgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvZmZ0b29scy9jbWR1 dGlscy5jIGIvZmZ0b29scy9jbWR1dGlscy5jCmluZGV4IDliZWVkOTRlYWQuLmYxYTQxZTA0OWIg MTAwNjQ0Ci0tLSBhL2ZmdG9vbHMvY21kdXRpbHMuYworKysgYi9mZnRvb2xzL2NtZHV0aWxzLmMK QEAgLTI1NSw5ICsyNTUsMTAgQEAgc3RhdGljIGludCB3cml0ZV9vcHRpb24odm9pZCAqb3B0Y3R4 LCBjb25zdCBPcHRpb25EZWYgKnBvLCBjb25zdCBjaGFyICpvcHQsCiAgICAgaWYgKCpvcHQgPT0g Jy8nKSB7CiAgICAgICAgIG9wdCsrOwogCi0gICAgICAgIGlmIChwby0+dHlwZSA9PSBPUFRfVFlQ RV9CT09MKSB7CisgICAgICAgIGlmICghb3B0X2hhc19hcmcocG8pKSB7CiAgICAgICAgICAgICBh dl9sb2coTlVMTCwgQVZfTE9HX0ZBVEFMLAotICAgICAgICAgICAgICAgICAgICJSZXF1ZXN0ZWQg dG8gbG9hZCBhbiBhcmd1bWVudCBmcm9tIGZpbGUgZm9yIGEgYm9vbCBvcHRpb24gJyVzJ1xuIiwK KyAgICAgICAgICAgICAgICAgICAiUmVxdWVzdGVkIHRvIGxvYWQgYW4gYXJndW1lbnQgZnJvbSBm aWxlIGZvciBhbiBvcHRpb24gJyVzJyIKKyAgICAgICAgICAgICAgICAgICAiIHdoaWNoIGRvZXMg bm90IHRha2UgYW4gYXJndW1lbnRcbiIsCiAgICAgICAgICAgICAgICAgICAgcG8tPm5hbWUpOwog ICAgICAgICAgICAgcmV0dXJuIEFWRVJST1IoRUlOVkFMKTsKICAgICAgICAgfQotLSAKMi40OS4x CgoKRnJvbSA0NjU4MGE1ZjlhYzNhOTRmOTM4ZDIwNDQwOTY0OTIwMTBlZTYxZjFlIE1vbiBTZXAg MTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBNaWNoYWVsIE5pZWRlcm1heWVyIDxtaWNoYWVsQG5pZWRl cm1heWVyLmNjPgpEYXRlOiBUaHUsIDMgSnVsIDIwMjUgMDM6MDE6MTEgKzAyMDAKU3ViamVjdDog W1BBVENIIDMwOC80MzRdIGF2Y29kZWMvc21hY2tlcjogTW92ZSBidWZmZXIgYWxsb2NhdGlvbiB0 byBsYXRlcgoKUmVkdWNlcyBhbGxvY2F0aW9ucyBvbiByYW5kb20gaW5wdXQKRml4ZXM6IDQyMTY1 MDAzMC9jbHVzdGVyZnV6ei10ZXN0Y2FzZS1taW5pbWl6ZWQtZmZtcGVnX0FWX0NPREVDX0lEX1NN QUNLQVVEX2Z1enplci02MTQ0NDQxNzY3NDkzNjMyCgpGb3VuZC1ieTogY29udGludW91cyBmdXp6 aW5nIHByb2Nlc3MgaHR0cHM6Ly9naXRodWIuY29tL2dvb2dsZS9vc3MtZnV6ei90cmVlL21hc3Rl ci9wcm9qZWN0cy9mZm1wZWcKU2lnbmVkLW9mZi1ieTogTWljaGFlbCBOaWVkZXJtYXllciA8bWlj aGFlbEBuaWVkZXJtYXllci5jYz4KKGNoZXJyeSBwaWNrZWQgZnJvbSBjb21taXQgOTg5OWM4YzAw YmI3Njc0ZmUzY2Y1Yzg0ODNiNTIyYzZjNzhlMTI0OCkKU2lnbmVkLW9mZi1ieTogTWljaGFlbCBO aWVkZXJtYXllciA8bWljaGFlbEBuaWVkZXJtYXllci5jYz4KLS0tCiBsaWJhdmNvZGVjL3NtYWNr ZXIuYyB8IDEwICsrKysrKy0tLS0KIDEgZmlsZSBjaGFuZ2VkLCA2IGluc2VydGlvbnMoKyksIDQg ZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvbGliYXZjb2RlYy9zbWFja2VyLmMgYi9saWJhdmNv ZGVjL3NtYWNrZXIuYwppbmRleCA4ZjE5OGQ2OTU3Li4xODgzZGMzZjEzIDEwMDY0NAotLS0gYS9s aWJhdmNvZGVjL3NtYWNrZXIuYworKysgYi9saWJhdmNvZGVjL3NtYWNrZXIuYwpAQCAtNjQ2LDEw ICs2NDYsNiBAQCBzdGF0aWMgaW50IHNta2FfZGVjb2RlX2ZyYW1lKEFWQ29kZWNDb250ZXh0ICph dmN0eCwgQVZGcmFtZSAqZnJhbWUsCiAgICAgICAgICAgICAgICAiVGhlIGJ1ZmZlciBkb2VzIG5v dCBjb250YWluIGFuIGludGVnZXIgbnVtYmVyIG9mIHNhbXBsZXNcbiIpOwogICAgICAgICByZXR1 cm4gQVZFUlJPUl9JTlZBTElEREFUQTsKICAgICB9Ci0gICAgaWYgKChyZXQgPSBmZl9nZXRfYnVm ZmVyKGF2Y3R4LCBmcmFtZSwgMCkpIDwgMCkKLSAgICAgICAgcmV0dXJuIHJldDsKLSAgICBzYW1w bGVzICA9IChpbnQxNl90ICopZnJhbWUtPmRhdGFbMF07Ci0gICAgc2FtcGxlczggPSAgICAgICAg ICAgIGZyYW1lLT5kYXRhWzBdOwogCiAgICAgLy8gSW5pdGlhbGl6ZQogICAgIGZvcihpID0gMDsg aSA8ICgxIDw8IChiaXRzICsgc3RlcmVvKSk7IGkrKykgewpAQCAtNjcxLDYgKzY2NywxMiBAQCBz dGF0aWMgaW50IHNta2FfZGVjb2RlX2ZyYW1lKEFWQ29kZWNDb250ZXh0ICphdmN0eCwgQVZGcmFt ZSAqZnJhbWUsCiAgICAgICAgIH0gZWxzZQogICAgICAgICAgICAgdmFsdWVzW2ldID0gaC5lbnRy aWVzWzBdLnZhbHVlOwogICAgIH0KKworICAgIGlmICgocmV0ID0gZmZfZ2V0X2J1ZmZlcihhdmN0 eCwgZnJhbWUsIDApKSA8IDApCisgICAgICAgIHJldHVybiByZXQ7CisgICAgc2FtcGxlcyAgPSAo aW50MTZfdCAqKWZyYW1lLT5kYXRhWzBdOworICAgIHNhbXBsZXM4ID0gICAgICAgICAgICBmcmFt ZS0+ZGF0YVswXTsKKwogICAgIC8qIHRoaXMgY29kZWMgcmVsaWVzIG9uIHdyYXBhcm91bmQgaW5z dGVhZCBvZiBjbGlwcGluZyBhdWRpbyAqLwogICAgIGlmKGJpdHMpIHsgLy9kZWNvZGUgMTYtYml0 IGRhdGEKICAgICAgICAgZm9yKGkgPSBzdGVyZW87IGkgPj0gMDsgaS0tKQotLSAKMi40OS4xCgoK RnJvbSA1MjBhMDM3MDAzZDQ4ZWMzM2UwMTdhZmJlM2U0YTMwYTliNjJjNDBlIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBNaWNoYWVsIE5pZWRlcm1heWVyIDxtaWNoYWVsQG5pZWRlcm1h eWVyLmNjPgpEYXRlOiBUaHUsIDE5IEp1biAyMDI1IDIzOjAyOjI1ICswMjAwClN1YmplY3Q6IFtQ QVRDSCAzMDkvNDM0XSBhdmNvZGVjL3BzZDogTW92ZSBmcmFtZSBhbGxvY2F0aW9uIGFmdGVyIFJM RQogcHJvY2Vzc2luZwoKRml4ZXM6IFRpbWVvdXQKRml4ZXM6IDQxMDYwOTQ0OC9jbHVzdGVyZnV6 ei10ZXN0Y2FzZS1taW5pbWl6ZWQtZmZtcGVnX0FWX0NPREVDX0lEX1BTRF9mdXp6ZXItNjI2NzIy NjEyODk3MzgyNAoKRm91bmQtYnk6IGNvbnRpbnVvdXMgZnV6emluZyBwcm9jZXNzIGh0dHBzOi8v Z2l0aHViLmNvbS9nb29nbGUvb3NzLWZ1enovdHJlZS9tYXN0ZXIvcHJvamVjdHMvZmZtcGVnClNp Z25lZC1vZmYtYnk6IE1pY2hhZWwgTmllZGVybWF5ZXIgPG1pY2hhZWxAbmllZGVybWF5ZXIuY2M+ CihjaGVycnkgcGlja2VkIGZyb20gY29tbWl0IDY3NTU5NzYwYzY2MzZiOWMxNjQzZTQ4NzBiZmU4 Yzk4MjQ0ODAzZDEpClNpZ25lZC1vZmYtYnk6IE1pY2hhZWwgTmllZGVybWF5ZXIgPG1pY2hhZWxA bmllZGVybWF5ZXIuY2M+Ci0tLQogbGliYXZjb2RlYy9wc2QuYyB8IDYgKysrLS0tCiAxIGZpbGUg Y2hhbmdlZCwgMyBpbnNlcnRpb25zKCspLCAzIGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL2xp YmF2Y29kZWMvcHNkLmMgYi9saWJhdmNvZGVjL3BzZC5jCmluZGV4IDNlNWJmY2QzNjAuLjM1Yzc2 YTYwMTQgMTAwNjQ0Ci0tLSBhL2xpYmF2Y29kZWMvcHNkLmMKKysrIGIvbGliYXZjb2RlYy9wc2Qu YwpAQCAtNDE4LDkgKzQxOCw2IEBAIHN0YXRpYyBpbnQgZGVjb2RlX2ZyYW1lKEFWQ29kZWNDb250 ZXh0ICphdmN0eCwgQVZGcmFtZSAqcGljdHVyZSwKIAogICAgIHMtPnVuY29tcHJlc3NlZF9zaXpl ID0gcy0+bGluZV9zaXplICogcy0+aGVpZ2h0ICogcy0+Y2hhbm5lbF9jb3VudDsKIAotICAgIGlm ICgocmV0ID0gZmZfZ2V0X2J1ZmZlcihhdmN0eCwgcGljdHVyZSwgMCkpIDwgMCkKLSAgICAgICAg cmV0dXJuIHJldDsKLQogICAgIC8qIGRlY29kZSBwaWN0dXJlIGlmIG5lZWQgKi8KICAgICBpZiAo cy0+Y29tcHJlc3Npb24gPT0gUFNEX1JMRSkgewogICAgICAgICBzLT50bXAgPSBhdl9tYWxsb2Mo cy0+dW5jb21wcmVzc2VkX3NpemUpOwpAQCAtNDQzLDYgKzQ0MCw5IEBAIHN0YXRpYyBpbnQgZGVj b2RlX2ZyYW1lKEFWQ29kZWNDb250ZXh0ICphdmN0eCwgQVZGcmFtZSAqcGljdHVyZSwKICAgICAg ICAgcHRyX2RhdGEgPSBzLT5nYi5idWZmZXI7CiAgICAgfQogCisgICAgaWYgKChyZXQgPSBmZl9n ZXRfYnVmZmVyKGF2Y3R4LCBwaWN0dXJlLCAwKSkgPCAwKQorICAgICAgICByZXR1cm4gcmV0Owor CiAgICAgLyogU3RvcmUgZGF0YSAqLwogICAgIGlmICgoYXZjdHgtPnBpeF9mbXQgPT0gQVZfUElY X0ZNVF9ZQTgpfHwoYXZjdHgtPnBpeF9mbXQgPT0gQVZfUElYX0ZNVF9ZQTE2QkUpKXsvKiBJbnRl cmxlYXZlZCAqLwogICAgICAgICBwdHIgPSBwaWN0dXJlLT5kYXRhWzBdOwotLSAKMi40OS4xCgoK RnJvbSBlMGM1YWNiM2UzNDNkMWM5MWMwOTE0YTc4NmZmNTkxNzZkNDA2NmEyIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBKaWFzaGVuZyBKaWFuZyA8amlhc2hlbmdqaWFuZ2Nvb2xAZ21h aWwuY29tPgpEYXRlOiBUaHUsIDEwIEp1bCAyMDI1IDE2OjI2OjM5ICswMDAwClN1YmplY3Q6IFtQ QVRDSCAzMTAvNDM0XSBsaWJhdmNvZGVjL2Fsc2RlYy5jOiBBZGQgY2hlY2sgZm9yIGF2X21hbGxv Y19hcnJheSgpCiBhbmQgYXZfY2FsbG9jKCkKCkFkZCBjaGVjayBmb3IgdGhlIHJldHVybiB2YWx1 ZSBvZiBhdl9tYWxsb2NfYXJyYXkoKSBhbmQgYXZfY2FsbG9jKCkKdG8gYXZvaWQgcG90ZW50aWFs IE5VTEwgcG9pbnRlciBkZXJlZmVyZW5jZS4KCkZpeGVzOiBkY2ZkMjRiMTBjICgiYXZjb2RlYy9h bHNkZWM6IEltcGxlbWVudCBmbG9hdGluZyBwb2ludCBzYW1wbGUgZGF0YSBkZWNvZGluZyIpClNp Z25lZC1vZmYtYnk6IEppYXNoZW5nIEppYW5nIDxqaWFzaGVuZ2ppYW5nY29vbEBnbWFpbC5jb20+ ClNpZ25lZC1vZmYtYnk6IE1pY2hhZWwgTmllZGVybWF5ZXIgPG1pY2hhZWxAbmllZGVybWF5ZXIu Y2M+CihjaGVycnkgcGlja2VkIGZyb20gY29tbWl0IDM1YTZkZTEzN2EzOWYyNzRkNWUwMWVkMGUw ZTZjNGYwNGQwYWFmMDcpClNpZ25lZC1vZmYtYnk6IE1pY2hhZWwgTmllZGVybWF5ZXIgPG1pY2hh ZWxAbmllZGVybWF5ZXIuY2M+Ci0tLQogbGliYXZjb2RlYy9hbHNkZWMuYyB8IDggKysrKysrLS0K IDEgZmlsZSBjaGFuZ2VkLCA2IGluc2VydGlvbnMoKyksIDIgZGVsZXRpb25zKC0pCgpkaWZmIC0t Z2l0IGEvbGliYXZjb2RlYy9hbHNkZWMuYyBiL2xpYmF2Y29kZWMvYWxzZGVjLmMKaW5kZXggMjhm MjA3OTk4NS4uMjZlYmE2ZDJlYiAxMDA2NDQKLS0tIGEvbGliYXZjb2RlYy9hbHNkZWMuYworKysg Yi9saWJhdmNvZGVjL2Fsc2RlYy5jCkBAIC0yMTE5LDggKzIxMTksOCBAQCBzdGF0aWMgYXZfY29s ZCBpbnQgZGVjb2RlX2luaXQoQVZDb2RlY0NvbnRleHQgKmF2Y3R4KQogICAgICAgICBjdHgtPm5i aXRzICA9IGF2X21hbGxvY19hcnJheShjdHgtPmN1cl9mcmFtZV9sZW5ndGgsIHNpemVvZigqY3R4 LT5uYml0cykpOwogICAgICAgICBjdHgtPm1seiAgICA9IGF2X21hbGxvY3ooc2l6ZW9mKCpjdHgt Pm1seikpOwogCi0gICAgICAgIGlmICghY3R4LT5tbHogfHwgIWN0eC0+YWNmIHx8ICFjdHgtPnNo aWZ0X3ZhbHVlIHx8ICFjdHgtPmxhc3Rfc2hpZnRfdmFsdWUKLSAgICAgICAgICAgIHx8ICFjdHgt Pmxhc3RfYWNmX21hbnRpc3NhIHx8ICFjdHgtPnJhd19tYW50aXNzYSkgeworICAgICAgICBpZiAo IWN0eC0+bGFycmF5IHx8ICFjdHgtPm5iaXRzIHx8ICFjdHgtPm1seiB8fCAhY3R4LT5hY2YgfHwg IWN0eC0+c2hpZnRfdmFsdWUKKyAgICAgICAgICAgIHx8ICFjdHgtPmxhc3Rfc2hpZnRfdmFsdWUg fHwgIWN0eC0+bGFzdF9hY2ZfbWFudGlzc2EgfHwgIWN0eC0+cmF3X21hbnRpc3NhKSB7CiAgICAg ICAgICAgICBhdl9sb2coYXZjdHgsIEFWX0xPR19FUlJPUiwgIkFsbG9jYXRpbmcgYnVmZmVyIG1l bW9yeSBmYWlsZWQuXG4iKTsKICAgICAgICAgICAgIHJldHVybiBBVkVSUk9SKEVOT01FTSk7CiAg ICAgICAgIH0KQEAgLTIxMzIsNiArMjEzMiwxMCBAQCBzdGF0aWMgYXZfY29sZCBpbnQgZGVjb2Rl X2luaXQoQVZDb2RlY0NvbnRleHQgKmF2Y3R4KQogCiAgICAgICAgIGZvciAoYyA9IDA7IGMgPCBj aGFubmVsczsgKytjKSB7CiAgICAgICAgICAgICBjdHgtPnJhd19tYW50aXNzYVtjXSA9IGF2X2Nh bGxvYyhjdHgtPmN1cl9mcmFtZV9sZW5ndGgsIHNpemVvZigqKmN0eC0+cmF3X21hbnRpc3NhKSk7 CisgICAgICAgICAgICBpZiAoIWN0eC0+cmF3X21hbnRpc3NhW2NdKSB7CisgICAgICAgICAgICAg ICAgYXZfbG9nKGF2Y3R4LCBBVl9MT0dfRVJST1IsICJBbGxvY2F0aW5nIGJ1ZmZlciBtZW1vcnkg ZmFpbGVkLlxuIik7CisgICAgICAgICAgICAgICAgcmV0dXJuIEFWRVJST1IoRU5PTUVNKTsKKyAg ICAgICAgICAgIH0KICAgICAgICAgfQogICAgIH0KIAotLSAKMi40OS4xCgoKRnJvbSBhZmUwZWVl ZDk5MTZhODljMGZhN2E4OWU0OGIwNDQyM2MxMWU4MjYyIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAw MQpGcm9tOiBKYW1lcyBBbG1lciA8amFtcmlhbEBnbWFpbC5jb20+CkRhdGU6IFN1biwgMTMgSnVs IDIwMjUgMTk6NTY6MTMgLTAzMDAKU3ViamVjdDogW1BBVENIIDMxMS80MzRdIGF2Y29kZWMvZmZ2 MWRlYzogZG9uJ3QgYWRkIG9mZnNldHMgdG8gTlVMTCBwb2ludGVycwoKRml4ZXM6IGxpYmF2Y29k ZWMvZmZ2MWRlYy5jOjQ1Mjo0MzogcnVudGltZSBlcnJvcjogYXBwbHlpbmcgemVybyBvZmZzZXQg dG8gbnVsbCBwb2ludGVyClNpZ25lZC1vZmYtYnk6IEphbWVzIEFsbWVyIDxqYW1yaWFsQGdtYWls LmNvbT4KKGNoZXJyeSBwaWNrZWQgZnJvbSBjb21taXQgOWM1NWYyMmVmMjM0MDQ2ZGZkNDdhZTQx NGY1OWU5ZTJjMTUzMDI2MykKU2lnbmVkLW9mZi1ieTogTWljaGFlbCBOaWVkZXJtYXllciA8bWlj aGFlbEBuaWVkZXJtYXllci5jYz4KLS0tCiBsaWJhdmNvZGVjL2ZmdjFkZWMuYyB8IDEwICsrKysr Ky0tLS0KIDEgZmlsZSBjaGFuZ2VkLCA2IGluc2VydGlvbnMoKyksIDQgZGVsZXRpb25zKC0pCgpk aWZmIC0tZ2l0IGEvbGliYXZjb2RlYy9mZnYxZGVjLmMgYi9saWJhdmNvZGVjL2ZmdjFkZWMuYwpp bmRleCA3OTM3NDY1OGVjLi4wNmVkYWU3Njc4IDEwMDY0NAotLS0gYS9saWJhdmNvZGVjL2ZmdjFk ZWMuYworKysgYi9saWJhdmNvZGVjL2ZmdjFkZWMuYwpAQCAtMzM0LDE0ICszMzQsMTYgQEAgc3Rh dGljIGludCBkZWNvZGVfc2xpY2UoQVZDb2RlY0NvbnRleHQgKmMsIHZvaWQgKmFyZykKICAgICB9 IGVsc2UgaWYgKGYtPnVzZTMyYml0KSB7CiAgICAgICAgIHVpbnQ4X3QgKnBsYW5lc1s0XSA9IHsg cC0+ZGF0YVswXSArIHBzICogeCArIHkgKiBwLT5saW5lc2l6ZVswXSwKICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICBwLT5kYXRhWzFdICsgcHMgKiB4ICsgeSAqIHAtPmxpbmVzaXplWzFd LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHAtPmRhdGFbMl0gKyBwcyAqIHggKyB5 ICogcC0+bGluZXNpemVbMl0sCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcC0+ZGF0 YVszXSArIHBzICogeCArIHkgKiBwLT5saW5lc2l6ZVszXSB9OworICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIHAtPmRhdGFbMl0gKyBwcyAqIHggKyB5ICogcC0+bGluZXNpemVbMl0gfTsK KyAgICAgICAgaWYgKGYtPnRyYW5zcGFyZW5jeSkKKyAgICAgICAgICAgIHBsYW5lc1szXSA9ICAg ICAgICBwLT5kYXRhWzNdICsgcHMgKiB4ICsgeSAqIHAtPmxpbmVzaXplWzNdOwogICAgICAgICBk ZWNvZGVfcmdiX2ZyYW1lMzIoZiwgc2MsICZnYiwgcGxhbmVzLCB3aWR0aCwgaGVpZ2h0LCBwLT5s aW5lc2l6ZSk7CiAgICAgfSBlbHNlIHsKICAgICAgICAgdWludDhfdCAqcGxhbmVzWzRdID0geyBw LT5kYXRhWzBdICsgcHMgKiB4ICsgeSAqIHAtPmxpbmVzaXplWzBdLAogICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIHAtPmRhdGFbMV0gKyBwcyAqIHggKyB5ICogcC0+bGluZXNpemVbMV0s Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcC0+ZGF0YVsyXSArIHBzICogeCArIHkg KiBwLT5saW5lc2l6ZVsyXSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwLT5kYXRh WzNdICsgcHMgKiB4ICsgeSAqIHAtPmxpbmVzaXplWzNdIH07CisgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgcC0+ZGF0YVsyXSArIHBzICogeCArIHkgKiBwLT5saW5lc2l6ZVsyXSB9Owor ICAgICAgICBpZiAoZi0+dHJhbnNwYXJlbmN5KQorICAgICAgICAgICAgcGxhbmVzWzNdID0gICAg ICAgIHAtPmRhdGFbM10gKyBwcyAqIHggKyB5ICogcC0+bGluZXNpemVbM107CiAgICAgICAgIGRl Y29kZV9yZ2JfZnJhbWUoZiwgc2MsICZnYiwgcGxhbmVzLCB3aWR0aCwgaGVpZ2h0LCBwLT5saW5l c2l6ZSk7CiAgICAgfQogICAgIGlmIChmLT5hYyAhPSBBQ19HT0xPTUJfUklDRSAmJiBmLT52ZXJz aW9uID4gMikgewotLSAKMi40OS4xCgoKRnJvbSAxMDEzNjM4ZTM2MzI3YTc0YWI0NDg2ZGNjNDcw ZjExYTM1ODYwODdlIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBKYW1lcyBBbG1lciA8 amFtcmlhbEBnbWFpbC5jb20+CkRhdGU6IFN1biwgMTMgSnVsIDIwMjUgMTk6NTA6NTcgLTAzMDAK U3ViamVjdDogW1BBVENIIDMxMi80MzRdIHN3c2NhbGUvc3dzY2FsZV91bnNjYWxlZDogZG9uJ3Qg YWRkIG9mZnNldHMgdG8gTlVMTAogcG9pbnRlcnMKCkZpeGVzOiBsaWJzd3NjYWxlL3N3c2NhbGVf dW5zY2FsZWQuYzo5MTY6MjA6IHJ1bnRpbWUgZXJyb3I6IGFwcGx5aW5nIHplcm8gb2Zmc2V0IHRv IG51bGwgcG9pbnRlcgpTaWduZWQtb2ZmLWJ5OiBKYW1lcyBBbG1lciA8amFtcmlhbEBnbWFpbC5j b20+CihjaGVycnkgcGlja2VkIGZyb20gY29tbWl0IGFmOWI0MzQ1NWE5NzI4NDExNTRiMTk0MDU3 YTc5ZWU4YjYwNmU3MjcpClNpZ25lZC1vZmYtYnk6IE1pY2hhZWwgTmllZGVybWF5ZXIgPG1pY2hh ZWxAbmllZGVybWF5ZXIuY2M+Ci0tLQogbGlic3dzY2FsZS9zd3NjYWxlX3Vuc2NhbGVkLmMgfCAy ICstCiAxIGZpbGUgY2hhbmdlZCwgMSBpbnNlcnRpb24oKyksIDEgZGVsZXRpb24oLSkKCmRpZmYg LS1naXQgYS9saWJzd3NjYWxlL3N3c2NhbGVfdW5zY2FsZWQuYyBiL2xpYnN3c2NhbGUvc3dzY2Fs ZV91bnNjYWxlZC5jCmluZGV4IGNiNzNiYTc4MTAuLjQ1ZWE4ODIxOGEgMTAwNjQ0Ci0tLSBhL2xp YnN3c2NhbGUvc3dzY2FsZV91bnNjYWxlZC5jCisrKyBiL2xpYnN3c2NhbGUvc3dzY2FsZV91bnNj YWxlZC5jCkBAIC03NzIsNyArNzcyLDcgQEAgc3RhdGljIGludCBSZ2IxNlRvUGxhbmFyUmdiMTZX cmFwcGVyKFN3c0NvbnRleHQgKmMsIGNvbnN0IHVpbnQ4X3QgKnNyY1tdLAogICAgICAgICByZXR1 cm4gc3JjU2xpY2VIOwogICAgIH0KIAotICAgIGZvcihpPTA7IGk8NDsgaSsrKSB7CisgICAgZm9y IChpID0gMDsgaSA8IDQgJiYgZHN0W2ldOyBpKyspIHsKICAgICAgICAgZHN0MjAxM1tpXSArPSBz dHJpZGUyMDEzW2ldICogc3JjU2xpY2VZIC8gMjsKICAgICAgICAgZHN0MTAyM1tpXSArPSBzdHJp ZGUxMDIzW2ldICogc3JjU2xpY2VZIC8gMjsKICAgICB9Ci0tIAoyLjQ5LjEKCgpGcm9tIDk5YmRj OTI4ZjUwYTllOGZkYzc5MDYxNTE1ZGE5MDUwMGY0NmI4NzMgTW9uIFNlcCAxNyAwMDowMDowMCAy MDAxCkZyb206IEphbWVzIEFsbWVyIDxqYW1yaWFsQGdtYWlsLmNvbT4KRGF0ZTogU3VuLCAxMyBK dWwgMjAyNSAyMDowMToyNiAtMDMwMApTdWJqZWN0OiBbUEFUQ0ggMzEzLzQzNF0gYXZjb2RlYy9t b3Rpb25fZXN0OiBkb24ndCBhZGQgb2Zmc2V0cyB0byBOVUxMCiBwb2ludGVycwoKRml4ZXM6IGxp YmF2Y29kZWMvbW90aW9uX2VzdC5jOjk0OjMxOiBydW50aW1lIGVycm9yOiBhcHBseWluZyB6ZXJv IG9mZnNldCB0byBudWxsIHBvaW50ZXIKU2lnbmVkLW9mZi1ieTogSmFtZXMgQWxtZXIgPGphbXJp YWxAZ21haWwuY29tPgooY2hlcnJ5IHBpY2tlZCBmcm9tIGNvbW1pdCA1ODVhOGQ1MzU3NmYxOWEx NDM5NGQ3NzI4ZWQyODMxZTFiZWU4ZGJmKQpTaWduZWQtb2ZmLWJ5OiBNaWNoYWVsIE5pZWRlcm1h eWVyIDxtaWNoYWVsQG5pZWRlcm1heWVyLmNjPgotLS0KIGxpYmF2Y29kZWMvbW90aW9uX2VzdC5j IHwgNiArKystLS0KIDEgZmlsZSBjaGFuZ2VkLCAzIGluc2VydGlvbnMoKyksIDMgZGVsZXRpb25z KC0pCgpkaWZmIC0tZ2l0IGEvbGliYXZjb2RlYy9tb3Rpb25fZXN0LmMgYi9saWJhdmNvZGVjL21v dGlvbl9lc3QuYwppbmRleCBlNGYxN2ZiMmQ4Li5jMGMyZjMxNWZhIDEwMDY0NAotLS0gYS9saWJh dmNvZGVjL21vdGlvbl9lc3QuYworKysgYi9saWJhdmNvZGVjL21vdGlvbl9lc3QuYwpAQCAtOTAs MTIgKzkwLDEyIEBAIHN0YXRpYyBpbmxpbmUgdm9pZCBpbml0X3JlZihNb3Rpb25Fc3RDb250ZXh0 ICpjLCB1aW50OF90ICpjb25zdCBzcmNbM10sCiAgICAgfTsKICAgICBpbnQgaTsKICAgICBmb3Io aT0wOyBpPDM7IGkrKyl7Ci0gICAgICAgIGMtPnNyY1swXVtpXT0gc3JjIFtpXSArIG9mZnNldFtp XTsKLSAgICAgICAgYy0+cmVmWzBdW2ldPSByZWYgW2ldICsgb2Zmc2V0W2ldOworICAgICAgICBj LT5zcmNbMF1baV09IHNyY1tpXSA/IEZGX1BUUl9BREQoc3JjW2ldLCBvZmZzZXRbaV0pIDogTlVM TDsKKyAgICAgICAgYy0+cmVmWzBdW2ldPSByZWZbaV0gPyBGRl9QVFJfQUREKHJlZltpXSwgb2Zm c2V0W2ldKSA6IE5VTEw7CiAgICAgfQogICAgIGlmKHJlZl9pbmRleCl7CiAgICAgICAgIGZvcihp PTA7IGk8MzsgaSsrKXsKLSAgICAgICAgICAgIGMtPnJlZltyZWZfaW5kZXhdW2ldPSByZWYyW2ld ICsgb2Zmc2V0W2ldOworICAgICAgICAgICAgYy0+cmVmW3JlZl9pbmRleF1baV09IHJlZjJbaV0g PyBGRl9QVFJfQUREKHJlZjJbaV0sIG9mZnNldFtpXSkgOiBOVUxMOwogICAgICAgICB9CiAgICAg fQogfQotLSAKMi40OS4xCgoKRnJvbSBhMThiMmRhMzU1ODgwNzBhZGIzMTM1ODJjYjY0MDc5Mjdm ZDMyNjY1IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQpGcm9tOiA9P1VURi04P3E/S2FjcGVyPTIw TWljaGFqPUM1PTgyb3c/PSA8a2FzcGVyOTNAZ21haWwuY29tPgpEYXRlOiBUaHUsIDE3IEp1bCAy MDI1IDAxOjM0OjMzICswMjAwClN1YmplY3Q6IFtQQVRDSCAzMTQvNDM0XSBhdmZpbHRlci92YWZf c3BlY3RydW1zeW50aDogZG9uJ3QgdXNlIHVuaW5pdGlhbGl6ZWQKIHZhcmlhYmxlIGFzIHNjYWxl Ck1JTUUtVmVyc2lvbjogMS4wCkNvbnRlbnQtVHlwZTogdGV4dC9wbGFpbjsgY2hhcnNldD1VVEYt OApDb250ZW50LVRyYW5zZmVyLUVuY29kaW5nOiA4Yml0CgpzY2FsZSB3YXMgbmV2ZXIgaW5pdGlh bGl6ZWQuIGF2X3R4X2luaXQoKSB3aWxsIHVzZSBkZWZhdWx0IHNjYWxlIGlmIHdlCnBhc3MgTlVM TC4KCkZpeGVzOiBiMzExN2YzNzZkMWM1MGIzYzM5YmVmZTI3Y2JiYTEyZDVjMGY4MGRhClNpZ25l ZC1vZmYtYnk6IEthY3BlciBNaWNoYWrFgm93IDxrYXNwZXI5M0BnbWFpbC5jb20+CihjaGVycnkg cGlja2VkIGZyb20gY29tbWl0IDYzMDJmZjFmZDkyNjQ4YWQxMWUzZWU1MmYzYTcyYjc5ZWU0YTdl NmYpClNpZ25lZC1vZmYtYnk6IE1pY2hhZWwgTmllZGVybWF5ZXIgPG1pY2hhZWxAbmllZGVybWF5 ZXIuY2M+Ci0tLQogbGliYXZmaWx0ZXIvdmFmX3NwZWN0cnVtc3ludGguYyB8IDQgKystLQogMSBm aWxlIGNoYW5nZWQsIDIgaW5zZXJ0aW9ucygrKSwgMiBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQg YS9saWJhdmZpbHRlci92YWZfc3BlY3RydW1zeW50aC5jIGIvbGliYXZmaWx0ZXIvdmFmX3NwZWN0 cnVtc3ludGguYwppbmRleCBhNjIxNTFhYTRmLi45YTE5N2Y1MzU5IDEwMDY0NAotLS0gYS9saWJh dmZpbHRlci92YWZfc3BlY3RydW1zeW50aC5jCisrKyBiL2xpYmF2ZmlsdGVyL3ZhZl9zcGVjdHJ1 bXN5bnRoLmMKQEAgLTE0NSw3ICsxNDUsNyBAQCBzdGF0aWMgaW50IGNvbmZpZ19vdXRwdXQoQVZG aWx0ZXJMaW5rICpvdXRsaW5rKQogICAgIGludCBoZWlnaHQgPSBjdHgtPmlucHV0c1swXS0+aDsK ICAgICBBVlJhdGlvbmFsIHRpbWVfYmFzZSAgPSBjdHgtPmlucHV0c1swXS0+dGltZV9iYXNlOwog ICAgIEFWUmF0aW9uYWwgZnJhbWVfcmF0ZSA9IGlubDAtPmZyYW1lX3JhdGU7Ci0gICAgZmxvYXQg ZmFjdG9yLCBvdmVybGFwLCBzY2FsZTsKKyAgICBmbG9hdCBmYWN0b3IsIG92ZXJsYXA7CiAgICAg aW50IGksIGNoLCByZXQ7CiAKICAgICBvdXRsaW5rLT5zYW1wbGVfcmF0ZSA9IHMtPnNhbXBsZV9y YXRlOwpAQCAtMTgwLDcgKzE4MCw3IEBAIHN0YXRpYyBpbnQgY29uZmlnX291dHB1dChBVkZpbHRl ckxpbmsgKm91dGxpbmspCiAgICAgcy0+d2luX3NpemUgPSBzLT5zaXplICogMjsKICAgICBzLT5u Yl9mcmVxID0gcy0+c2l6ZTsKIAotICAgIHJldCA9IGF2X3R4X2luaXQoJnMtPmZmdCwgJnMtPnR4 X2ZuLCBBVl9UWF9GTE9BVF9GRlQsIDEsIHMtPndpbl9zaXplLCAmc2NhbGUsIDApOworICAgIHJl dCA9IGF2X3R4X2luaXQoJnMtPmZmdCwgJnMtPnR4X2ZuLCBBVl9UWF9GTE9BVF9GRlQsIDEsIHMt Pndpbl9zaXplLCBOVUxMLCAwKTsKICAgICBpZiAocmV0IDwgMCkgewogICAgICAgICBhdl9sb2co Y3R4LCBBVl9MT0dfRVJST1IsICJVbmFibGUgdG8gY3JlYXRlIEZGVCBjb250ZXh0LiAiCiAgICAg ICAgICAgICAgICAiVGhlIHdpbmRvdyBzaXplIG1pZ2h0IGJlIHRvbyBoaWdoLlxuIik7Ci0tIAoy LjQ5LjEKCgpGcm9tIDViMjRlYTNhZGQwZDQ0NzEzZWU5YTViZmI4MWFkZWYyYTIwMTg4YWUgTW9u IFNlcCAxNyAwMDowMDowMCAyMDAxCkZyb206IE1pY2hhZWwgTmllZGVybWF5ZXIgPG1pY2hhZWxA bmllZGVybWF5ZXIuY2M+CkRhdGU6IFR1ZSwgMTUgSnVsIDIwMjUgMjM6Mjg6MDkgKzAyMDAKU3Vi amVjdDogW1BBVENIIDMxNS80MzRdIGF2Y29kZWMvaXZpOiBDaGVjayBsdW1hL2Nocm9tYSBtYl9z aXplCgpGaXhlczogc2hpZnQgZXhwb25lbnQgLTEgaXMgbmVnYXRpdmUKRml4ZXM6IDQyOTAxMTIy NC9jbHVzdGVyZnV6ei10ZXN0Y2FzZS1taW5pbWl6ZWQtZmZtcGVnX0FWX0NPREVDX0lEX0lOREVP NV9mdXp6ZXItNTAzMTA1OTM1ODI4NTgyNAoKRm91bmQtYnk6IGNvbnRpbnVvdXMgZnV6emluZyBw cm9jZXNzIGh0dHBzOi8vZ2l0aHViLmNvbS9nb29nbGUvb3NzLWZ1enovdHJlZS9tYXN0ZXIvcHJv amVjdHMvZmZtcGVnClNpZ25lZC1vZmYtYnk6IE1pY2hhZWwgTmllZGVybWF5ZXIgPG1pY2hhZWxA bmllZGVybWF5ZXIuY2M+CihjaGVycnkgcGlja2VkIGZyb20gY29tbWl0IGMwZjFjM2UxODU3OWMy NDljYzcyOWJjNjAzM2MwMzRmNmE2Zjc0MjYpClNpZ25lZC1vZmYtYnk6IE1pY2hhZWwgTmllZGVy bWF5ZXIgPG1pY2hhZWxAbmllZGVybWF5ZXIuY2M+Ci0tLQogbGliYXZjb2RlYy9pdmkuYyB8IDgg KysrKystLS0KIDEgZmlsZSBjaGFuZ2VkLCA1IGluc2VydGlvbnMoKyksIDMgZGVsZXRpb25zKC0p CgpkaWZmIC0tZ2l0IGEvbGliYXZjb2RlYy9pdmkuYyBiL2xpYmF2Y29kZWMvaXZpLmMKaW5kZXgg ZTdkOGQxMGMzZS4uYTM4ZjM4MmQ1ZiAxMDA2NDQKLS0tIGEvbGliYXZjb2RlYy9pdmkuYworKysg Yi9saWJhdmNvZGVjL2l2aS5jCkBAIC05OTQsOSArOTk0LDExIEBAIHN0YXRpYyBpbnQgZGVjb2Rl X2JhbmQoSVZJNDVEZWNDb250ZXh0ICpjdHgsCiAgICAgZm9yICh0ID0gMDsgdCA8IGJhbmQtPm51 bV90aWxlczsgdCsrKSB7CiAgICAgICAgIHRpbGUgPSAmYmFuZC0+dGlsZXNbdF07CiAKLSAgICAg ICAgaWYgKHRpbGUtPm1iX3NpemUgIT0gYmFuZC0+bWJfc2l6ZSkgewotICAgICAgICAgICAgYXZf bG9nKGF2Y3R4LCBBVl9MT0dfRVJST1IsICJNQiBzaXplcyBtaXNtYXRjaDogJWQgdnMuICVkXG4i LAotICAgICAgICAgICAgICAgICAgIGJhbmQtPm1iX3NpemUsIHRpbGUtPm1iX3NpemUpOworICAg ICAgICBpZiAodGlsZS0+bWJfc2l6ZSAhPSBiYW5kLT5tYl9zaXplIHx8CisgICAgICAgICAgICBj dHgtPnBsYW5lc1swXS5iYW5kc1swXS5tYl9zaXplIDwgYmFuZC0+bWJfc2l6ZQorICAgICAgICAp IHsKKyAgICAgICAgICAgIGF2X2xvZyhhdmN0eCwgQVZfTE9HX0VSUk9SLCAiTUIgc2l6ZXMgbWlz bWF0Y2g6ICVkIHZzLiAlZCB2cy4gJWRcbiIsCisgICAgICAgICAgICAgICAgICAgYmFuZC0+bWJf c2l6ZSwgdGlsZS0+bWJfc2l6ZSwgY3R4LT5wbGFuZXNbMF0uYmFuZHNbMF0ubWJfc2l6ZSk7CiAg ICAgICAgICAgICByZXR1cm4gQVZFUlJPUl9JTlZBTElEREFUQTsKICAgICAgICAgfQogICAgICAg ICB0aWxlLT5pc19lbXB0eSA9IGdldF9iaXRzMSgmY3R4LT5nYik7Ci0tIAoyLjQ5LjEKCgpGcm9t IDhhMGYxOTZkM2ZlNGUzMzMyYmViYmE3MTEwNzk4MjkzNDc2MWEzNzYgTW9uIFNlcCAxNyAwMDow MDowMCAyMDAxCkZyb206IE1pY2hhZWwgTmllZGVybWF5ZXIgPG1pY2hhZWxAbmllZGVybWF5ZXIu Y2M+CkRhdGU6IFR1ZSwgMTUgSnVsIDIwMjUgMjI6MTk6MjQgKzAyMDAKU3ViamVjdDogW1BBVENI IDMxNi80MzRdIGF2Y29kZWMvY2ZoZDogQ2hlY2sgaWR3dF9idWYgc2l6ZSBiZWZvcmUgYWxsb2Nh dGlvbgoKRml4ZXM6IE9PTQpGaXhlczogNDI4NzYwNzk5L2NsdXN0ZXJmdXp6LXRlc3RjYXNlLW1p bmltaXplZC1mZm1wZWdfQVZfQ09ERUNfSURfQ0ZIRF9ERUNfZnV6emVyLTU2ODUxNzY0MzUwMTU2 ODAKCkZvdW5kLWJ5OiBjb250aW51b3VzIGZ1enppbmcgcHJvY2VzcyBodHRwczovL2dpdGh1Yi5j b20vZ29vZ2xlL29zcy1mdXp6L3RyZWUvbWFzdGVyL3Byb2plY3RzL2ZmbXBlZwpTaWduZWQtb2Zm LWJ5OiBNaWNoYWVsIE5pZWRlcm1heWVyIDxtaWNoYWVsQG5pZWRlcm1heWVyLmNjPgooY2hlcnJ5 IHBpY2tlZCBmcm9tIGNvbW1pdCAyZDcyYmY2ZmUwNzkzYzNmMDY5YmExODFhMGU3MzNkY2M5ZjI4 MTgwKQpTaWduZWQtb2ZmLWJ5OiBNaWNoYWVsIE5pZWRlcm1heWVyIDxtaWNoYWVsQG5pZWRlcm1h eWVyLmNjPgotLS0KIGxpYmF2Y29kZWMvY2ZoZC5jIHwgNCArKysrCiAxIGZpbGUgY2hhbmdlZCwg NCBpbnNlcnRpb25zKCspCgpkaWZmIC0tZ2l0IGEvbGliYXZjb2RlYy9jZmhkLmMgYi9saWJhdmNv ZGVjL2NmaGQuYwppbmRleCA2ZjFkOTYwMDU4Li43ZDhhY2EzNzEzIDEwMDY0NAotLS0gYS9saWJh dmNvZGVjL2NmaGQuYworKysgYi9saWJhdmNvZGVjL2NmaGQuYwpAQCAtMjUsNiArMjUsNyBAQAog CiAjaW5jbHVkZSAibGliYXZ1dGlsL2F0dHJpYnV0ZXMuaCIKICNpbmNsdWRlICJsaWJhdnV0aWwv Y29tbW9uLmgiCisjaW5jbHVkZSAibGliYXZ1dGlsL2ltZ3V0aWxzLmgiCiAjaW5jbHVkZSAibGli YXZ1dGlsL2ludHJlYWR3cml0ZS5oIgogI2luY2x1ZGUgImxpYmF2dXRpbC9tZW0uaCIKICNpbmNs dWRlICJsaWJhdnV0aWwvcGl4ZGVzYy5oIgpAQCAtMjc1LDYgKzI3Niw5IEBAIHN0YXRpYyBpbnQg YWxsb2NfYnVmZmVycyhBVkNvZGVjQ29udGV4dCAqYXZjdHgpCiAgICAgICAgIGludCBoZWlnaHQg PSAoaSB8fCBiYXllcikgPyBzLT5jb2RlZF9oZWlnaHQgPj4gY2hyb21hX3lfc2hpZnQgOiBzLT5j b2RlZF9oZWlnaHQ7CiAgICAgICAgIHB0cmRpZmZfdCBzdHJpZGUgPSAoRkZBTElHTih3aWR0aCAg LyA4LCA4KSArIDY0KSAqIDg7CiAKKyAgICAgICAgaWYgKChyZXQgPSBhdl9pbWFnZV9jaGVja19z aXplMihzdHJpZGUsIGhlaWdodCwgYXZjdHgtPm1heF9waXhlbHMsIHMtPmNvZGVkX2Zvcm1hdCwg MCwgYXZjdHgpKSA8IDApCisgICAgICAgICAgICByZXR1cm4gcmV0OworCiAgICAgICAgIGlmIChj aHJvbWFfeV9zaGlmdCAmJiAhYmF5ZXIpCiAgICAgICAgICAgICBoZWlnaHQgPSBGRkFMSUdOKGhl aWdodCAvIDgsIDIpICogODsKICAgICAgICAgcy0+cGxhbmVbaV0ud2lkdGggID0gd2lkdGg7Ci0t IAoyLjQ5LjEKCgpGcm9tIDIxZjkwZDljOTA5Y2UyOTQ0NGIwZTJkYzAzY2RhOTBjOTJhNzI5MzIg TW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCkZyb206IE1pY2hhZWwgTmllZGVybWF5ZXIgPG1pY2hh ZWxAbmllZGVybWF5ZXIuY2M+CkRhdGU6IFdlZCwgMTYgSnVsIDIwMjUgMDA6MDE6MDcgKzAyMDAK U3ViamVjdDogW1BBVENIIDMxNy80MzRdIGF2Y29kZWMvZmZ2MWRlYzogQ2hlY2sgayBpbiBnZXRf dmxjX3N5bWJvbCgpCgpUaGUgdHJ1ZSBwcm9ibGVtIGhhcHBlbnMgaW4gc2V2ZXJhbCBwcmV2aW91 cyBnZXRfdmxjX3N5bWJvbCgpCmJ1dCBjaGVja2luZyB0aGF0IGlzIG1vcmUgZXhwZW5zaXZlIChp bnZvbHZpbmcgRkZBQlMoKSkKaGVyZSBpdHMganVzdCBhIHNpbXBsZSBjaGVjayBiZXR3ZWVuIDIg dmFyaWFibGVzIHdlIGhhdmUuCgpGaXhlczogQXNzZXJ0aW9uIGxvZyA+PSBrIGZhaWxlZCBhdCBs aWJhdmNvZGVjL2dvbG9tYi5oOjQwNgpGaXhlczogNDI5Mjk2MTk0L2NsdXN0ZXJmdXp6LXRlc3Rj YXNlLW1pbmltaXplZC1mZm1wZWdfQVZfQ09ERUNfSURfRkZWMV9ERUNfZnV6emVyLTQ2OTE1OTQ2 MjIzMzcwMjQKCkZvdW5kLWJ5OiBjb250aW51b3VzIGZ1enppbmcgcHJvY2VzcyBodHRwczovL2dp dGh1Yi5jb20vZ29vZ2xlL29zcy1mdXp6L3RyZWUvbWFzdGVyL3Byb2plY3RzL2ZmbXBlZwpTaWdu ZWQtb2ZmLWJ5OiBNaWNoYWVsIE5pZWRlcm1heWVyIDxtaWNoYWVsQG5pZWRlcm1heWVyLmNjPgoo Y2hlcnJ5IHBpY2tlZCBmcm9tIGNvbW1pdCAwNTFlMGQ3NzQ0ZGJiNDVmNjgwYmJmYTcyYmZlYWQ5 NDdiMTFlZjJmKQpTaWduZWQtb2ZmLWJ5OiBNaWNoYWVsIE5pZWRlcm1heWVyIDxtaWNoYWVsQG5p ZWRlcm1heWVyLmNjPgotLS0KIGxpYmF2Y29kZWMvZmZ2MWRlYy5jIHwgNSArKysrKwogMSBmaWxl IGNoYW5nZWQsIDUgaW5zZXJ0aW9ucygrKQoKZGlmZiAtLWdpdCBhL2xpYmF2Y29kZWMvZmZ2MWRl Yy5jIGIvbGliYXZjb2RlYy9mZnYxZGVjLmMKaW5kZXggMDZlZGFlNzY3OC4uM2I2YTBmNjQyMSAx MDA2NDQKLS0tIGEvbGliYXZjb2RlYy9mZnYxZGVjLmMKKysrIGIvbGliYXZjb2RlYy9mZnYxZGVj LmMKQEAgLTgxLDYgKzgxLDExIEBAIHN0YXRpYyBpbmxpbmUgaW50IGdldF92bGNfc3ltYm9sKEdl dEJpdENvbnRleHQgKmdiLCBWbGNTdGF0ZSAqY29uc3Qgc3RhdGUsCiAgICAgICAgIGsrKzsKICAg ICAgICAgaSArPSBpOwogICAgIH0KKyAgICBpZiAoayA+IGJpdHMpIHsKKyAgICAgICAgZmZfZGxv ZyhOVUxMLCAiay1vdmVyZmxvdyBiaWFzOiVkIGVycm9yOiVkIGRyaWZ0OiVkIGNvdW50OiVkIGs6 JWQiLAorICAgICAgICAgICAgICAgIHN0YXRlLT5iaWFzLCBzdGF0ZS0+ZXJyb3Jfc3VtLCBzdGF0 ZS0+ZHJpZnQsIHN0YXRlLT5jb3VudCwgayk7CisgICAgICAgIGsgPSBiaXRzOworICAgIH0KIAog ICAgIHYgPSBnZXRfc3JfZ29sb21iKGdiLCBrLCAxMiwgYml0cyk7CiAgICAgZmZfZGxvZyhOVUxM LCAidjolZCBiaWFzOiVkIGVycm9yOiVkIGRyaWZ0OiVkIGNvdW50OiVkIGs6JWQiLAotLSAKMi40 OS4xCgoKRnJvbSBhYzhkODEyNjZmZmI4ZWU4YjAyYTVkOTNlZjlmZGNkZTAxZWI2NGYxIE1vbiBT ZXAgMTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBNaWNoYWVsIE5pZWRlcm1heWVyIDxtaWNoYWVsQG5p ZWRlcm1heWVyLmNjPgpEYXRlOiBTdW4sIDEzIEp1bCAyMDI1IDAzOjEwOjI3ICswMjAwClN1Ympl Y3Q6IFtQQVRDSCAzMTgvNDM0XSBhdmZvcm1hdC9jb25jYXRkZWM6IENsaXAgZHVyYXRpb24gaW4g b25lIG1vcmUgY2FzZSBpbgogZ2V0X2Jlc3RfZWZmb3J0X2R1cmF0aW9uKCkKCkZpeGVzOiBzaWdu ZWQgaW50ZWdlciBvdmVyZmxvdzogNDAwMDAgLSAtOTIyMzM3MjAzNjg1NDc3MDAwMCBjYW5ub3Qg YmUgcmVwcmVzZW50ZWQgaW4gdHlwZSAnbG9uZycKRml4ZXM6IDQyNzI2MjU0MS9jbHVzdGVyZnV6 ei10ZXN0Y2FzZS1taW5pbWl6ZWQtZmZtcGVnX2RlbV9DT05DQVRfZnV6emVyLTQ4MzE1MDY5NDAx MDA2MDgKCkZvdW5kLWJ5OiBjb250aW51b3VzIGZ1enppbmcgcHJvY2VzcyBodHRwczovL2dpdGh1 Yi5jb20vZ29vZ2xlL29zcy1mdXp6L3RyZWUvbWFzdGVyL3Byb2plY3RzL2ZmbXBlZwpSZXZpZXdl ZC1ieTogTmljb2xhcyBHZW9yZ2UgPGdlb3JnZUBuc3VwLm9yZz4KU2lnbmVkLW9mZi1ieTogTWlj aGFlbCBOaWVkZXJtYXllciA8bWljaGFlbEBuaWVkZXJtYXllci5jYz4KKGNoZXJyeSBwaWNrZWQg ZnJvbSBjb21taXQgOGNkYjQ3ZTQ3YTdhNTNhM2M2MzVhNzFiZjcxMmQ3OTExOWViODZiNCkKU2ln bmVkLW9mZi1ieTogTWljaGFlbCBOaWVkZXJtYXllciA8bWljaGFlbEBuaWVkZXJtYXllci5jYz4K LS0tCiBsaWJhdmZvcm1hdC9jb25jYXRkZWMuYyB8IDIgKy0KIDEgZmlsZSBjaGFuZ2VkLCAxIGlu c2VydGlvbigrKSwgMSBkZWxldGlvbigtKQoKZGlmZiAtLWdpdCBhL2xpYmF2Zm9ybWF0L2NvbmNh dGRlYy5jIGIvbGliYXZmb3JtYXQvY29uY2F0ZGVjLmMKaW5kZXggZmU2NWQwYzc2OC4uZTBjMmM4 NzI0OCAxMDA2NDQKLS0tIGEvbGliYXZmb3JtYXQvY29uY2F0ZGVjLmMKKysrIGIvbGliYXZmb3Jt YXQvY29uY2F0ZGVjLmMKQEAgLTMyNiw3ICszMjYsNyBAQCBzdGF0aWMgaW50NjRfdCBnZXRfYmVz dF9lZmZvcnRfZHVyYXRpb24oQ29uY2F0RmlsZSAqZmlsZSwgQVZGb3JtYXRDb250ZXh0ICphdmYp CiAgICAgaWYgKGZpbGUtPm91dHBvaW50ICE9IEFWX05PUFRTX1ZBTFVFKQogICAgICAgICByZXR1 cm4gYXZfc2F0X3N1YjY0KGZpbGUtPm91dHBvaW50LCBmaWxlLT5maWxlX2lucG9pbnQpOwogICAg IGlmIChhdmYtPmR1cmF0aW9uID4gMCkKLSAgICAgICAgcmV0dXJuIGF2Zi0+ZHVyYXRpb24gLSAo ZmlsZS0+ZmlsZV9pbnBvaW50IC0gZmlsZS0+ZmlsZV9zdGFydF90aW1lKTsKKyAgICAgICAgcmV0 dXJuIGF2X3NhdF9zdWI2NChhdmYtPmR1cmF0aW9uLCBmaWxlLT5maWxlX2lucG9pbnQgLSBmaWxl LT5maWxlX3N0YXJ0X3RpbWUpOwogICAgIGlmIChmaWxlLT5uZXh0X2R0cyAhPSBBVl9OT1BUU19W QUxVRSkKICAgICAgICAgcmV0dXJuIGZpbGUtPm5leHRfZHRzIC0gZmlsZS0+ZmlsZV9pbnBvaW50 OwogICAgIHJldHVybiBBVl9OT1BUU19WQUxVRTsKLS0gCjIuNDkuMQoKCkZyb20gNGQxYTc5YTll YzY4NTViMTUzNTNlOGViNTk5MDM2YTM4ZGIxNDJiMCBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEK RnJvbTogSmFtZXMgQWxtZXIgPGphbXJpYWxAZ21haWwuY29tPgpEYXRlOiBGcmksIDE4IEp1bCAy MDI1IDIxOjQyOjM1IC0wMzAwClN1YmplY3Q6IFtQQVRDSCAzMTkvNDM0XSBhdmNvZGVjL2ZmdjFk ZWM6IGRvbid0IGFkZCBvZmZzZXRzIHRvIG1vcmUgTlVMTAogcG9pbnRlcnMKCkZpeGVzOiBsaWJh dmNvZGVjL2ZmdjFkZWMuYzo0NTM6NDM6IHJ1bnRpbWUgZXJyb3I6IGFwcGx5aW5nIHplcm8gb2Zm c2V0IHRvIG51bGwgcG9pbnRlcgpTaWduZWQtb2ZmLWJ5OiBKYW1lcyBBbG1lciA8amFtcmlhbEBn bWFpbC5jb20+CihjaGVycnkgcGlja2VkIGZyb20gY29tbWl0IDQ4ZWY0Y2FhYzJkNDljYWI4ZWQ0 ZGVjYzMzZTg2Y2Q4NzlkYzg3MzYpClNpZ25lZC1vZmYtYnk6IE1pY2hhZWwgTmllZGVybWF5ZXIg PG1pY2hhZWxAbmllZGVybWF5ZXIuY2M+Ci0tLQogbGliYXZjb2RlYy9mZnYxZGVjLmMgfCAxNiAr KysrKysrKysrLS0tLS0tCiAxIGZpbGUgY2hhbmdlZCwgMTAgaW5zZXJ0aW9ucygrKSwgNiBkZWxl dGlvbnMoLSkKCmRpZmYgLS1naXQgYS9saWJhdmNvZGVjL2ZmdjFkZWMuYyBiL2xpYmF2Y29kZWMv ZmZ2MWRlYy5jCmluZGV4IDNiNmEwZjY0MjEuLjQ2MDcxNjljMzMgMTAwNjQ0Ci0tLSBhL2xpYmF2 Y29kZWMvZmZ2MWRlYy5jCisrKyBiL2xpYmF2Y29kZWMvZmZ2MWRlYy5jCkBAIC0zMzcsMTYgKzMz NywyMCBAQCBzdGF0aWMgaW50IGRlY29kZV9zbGljZShBVkNvZGVjQ29udGV4dCAqYywgdm9pZCAq YXJnKQogICAgICAgICAgZGVjb2RlX3BsYW5lKGYsIHNjLCAmZ2IsIHAtPmRhdGFbMF0gKyBwcyp4 ICsgeSpwLT5saW5lc2l6ZVswXSAgICAsIHdpZHRoLCBoZWlnaHQsIHAtPmxpbmVzaXplWzBdLCAw LCAyKTsKICAgICAgICAgIGRlY29kZV9wbGFuZShmLCBzYywgJmdiLCBwLT5kYXRhWzBdICsgcHMq eCArIHkqcC0+bGluZXNpemVbMF0gKyAxLCB3aWR0aCwgaGVpZ2h0LCBwLT5saW5lc2l6ZVswXSwg MSwgMik7CiAgICAgfSBlbHNlIGlmIChmLT51c2UzMmJpdCkgewotICAgICAgICB1aW50OF90ICpw bGFuZXNbNF0gPSB7IHAtPmRhdGFbMF0gKyBwcyAqIHggKyB5ICogcC0+bGluZXNpemVbMF0sCi0g ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcC0+ZGF0YVsxXSArIHBzICogeCArIHkgKiBw LT5saW5lc2l6ZVsxXSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwLT5kYXRhWzJd ICsgcHMgKiB4ICsgeSAqIHAtPmxpbmVzaXplWzJdIH07CisgICAgICAgIHVpbnQ4X3QgKnBsYW5l c1s0XSA9IHsgcC0+ZGF0YVswXSArIHBzICogeCArIHkgKiBwLT5saW5lc2l6ZVswXSB9OworICAg ICAgICBpZiAoZi0+Y2hyb21hX3BsYW5lcykgeworICAgICAgICAgICAgcGxhbmVzWzFdID0gICAg ICAgIHAtPmRhdGFbMV0gKyBwcyAqIHggKyB5ICogcC0+bGluZXNpemVbMV07CisgICAgICAgICAg ICBwbGFuZXNbMl0gPSAgICAgICAgcC0+ZGF0YVsyXSArIHBzICogeCArIHkgKiBwLT5saW5lc2l6 ZVsyXTsKKyAgICAgICAgfQogICAgICAgICBpZiAoZi0+dHJhbnNwYXJlbmN5KQogICAgICAgICAg ICAgcGxhbmVzWzNdID0gICAgICAgIHAtPmRhdGFbM10gKyBwcyAqIHggKyB5ICogcC0+bGluZXNp emVbM107CiAgICAgICAgIGRlY29kZV9yZ2JfZnJhbWUzMihmLCBzYywgJmdiLCBwbGFuZXMsIHdp ZHRoLCBoZWlnaHQsIHAtPmxpbmVzaXplKTsKICAgICB9IGVsc2UgewotICAgICAgICB1aW50OF90 ICpwbGFuZXNbNF0gPSB7IHAtPmRhdGFbMF0gKyBwcyAqIHggKyB5ICogcC0+bGluZXNpemVbMF0s Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcC0+ZGF0YVsxXSArIHBzICogeCArIHkg KiBwLT5saW5lc2l6ZVsxXSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwLT5kYXRh WzJdICsgcHMgKiB4ICsgeSAqIHAtPmxpbmVzaXplWzJdIH07CisgICAgICAgIHVpbnQ4X3QgKnBs YW5lc1s0XSA9IHsgcC0+ZGF0YVswXSArIHBzICogeCArIHkgKiBwLT5saW5lc2l6ZVswXSB9Owor ICAgICAgICBpZiAoZi0+Y2hyb21hX3BsYW5lcykgeworICAgICAgICAgICAgcGxhbmVzWzFdID0g ICAgICAgIHAtPmRhdGFbMV0gKyBwcyAqIHggKyB5ICogcC0+bGluZXNpemVbMV07CisgICAgICAg ICAgICBwbGFuZXNbMl0gPSAgICAgICAgcC0+ZGF0YVsyXSArIHBzICogeCArIHkgKiBwLT5saW5l c2l6ZVsyXTsKKyAgICAgICAgfQogICAgICAgICBpZiAoZi0+dHJhbnNwYXJlbmN5KQogICAgICAg ICAgICAgcGxhbmVzWzNdID0gICAgICAgIHAtPmRhdGFbM10gKyBwcyAqIHggKyB5ICogcC0+bGlu ZXNpemVbM107CiAgICAgICAgIGRlY29kZV9yZ2JfZnJhbWUoZiwgc2MsICZnYiwgcGxhbmVzLCB3 aWR0aCwgaGVpZ2h0LCBwLT5saW5lc2l6ZSk7Ci0tIAoyLjQ5LjEKCgpGcm9tIDc3NjRiNWExMmNm MDYxMzAzOTExOGI3YzkyOTc0YTRkY2I5Y2JkMmIgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCkZy b206IEphbWVzIEFsbWVyIDxqYW1yaWFsQGdtYWlsLmNvbT4KRGF0ZTogVHVlLCAyMiBKdWwgMjAy NSAxMTo1NzoxMyAtMDMwMApTdWJqZWN0OiBbUEFUQ0ggMzIwLzQzNF0gYXZjb2RlYy9mZnYxZGVj OiBkb24ndCBjaGVjayBjaHJvbWFfcGxhbmVzIGZvcgogZi0+Y29sb3JzcGFjZSA+IDAKCkl0J3Mg UkdCLCBzbyBjaGVjayBpbnN0ZWFkIGlmIGl0J3MgcGFja2VkIG9yIHBsYW5hci4KCkZpeGVzOiBs aWJhdmNvZGVjL2ZmdjFkZWMuYzo0NjE6NDM6IHJ1bnRpbWUgZXJyb3I6IGFwcGx5aW5nIHplcm8g b2Zmc2V0IHRvIG51bGwgcG9pbnRlcgpTaWduZWQtb2ZmLWJ5OiBKYW1lcyBBbG1lciA8amFtcmlh bEBnbWFpbC5jb20+CihjaGVycnkgcGlja2VkIGZyb20gY29tbWl0IDg2NjcwZmVjOWNjODNkNjM0 ZjM5ZDIzZmRmY2ZjZWUyNTM1OTRiMGIpClNpZ25lZC1vZmYtYnk6IE1pY2hhZWwgTmllZGVybWF5 ZXIgPG1pY2hhZWxAbmllZGVybWF5ZXIuY2M+Ci0tLQogbGliYXZjb2RlYy9mZnYxZGVjLmMgfCAx NCArKysrKystLS0tLS0tLQogMSBmaWxlIGNoYW5nZWQsIDYgaW5zZXJ0aW9ucygrKSwgOCBkZWxl dGlvbnMoLSkKCmRpZmYgLS1naXQgYS9saWJhdmNvZGVjL2ZmdjFkZWMuYyBiL2xpYmF2Y29kZWMv ZmZ2MWRlYy5jCmluZGV4IDQ2MDcxNjljMzMuLjE5YTMyNTQwNTcgMTAwNjQ0Ci0tLSBhL2xpYmF2 Y29kZWMvZmZ2MWRlYy5jCisrKyBiL2xpYmF2Y29kZWMvZmZ2MWRlYy5jCkBAIC0zMzcsMjIgKzMz NywyMCBAQCBzdGF0aWMgaW50IGRlY29kZV9zbGljZShBVkNvZGVjQ29udGV4dCAqYywgdm9pZCAq YXJnKQogICAgICAgICAgZGVjb2RlX3BsYW5lKGYsIHNjLCAmZ2IsIHAtPmRhdGFbMF0gKyBwcyp4 ICsgeSpwLT5saW5lc2l6ZVswXSAgICAsIHdpZHRoLCBoZWlnaHQsIHAtPmxpbmVzaXplWzBdLCAw LCAyKTsKICAgICAgICAgIGRlY29kZV9wbGFuZShmLCBzYywgJmdiLCBwLT5kYXRhWzBdICsgcHMq eCArIHkqcC0+bGluZXNpemVbMF0gKyAxLCB3aWR0aCwgaGVpZ2h0LCBwLT5saW5lc2l6ZVswXSwg MSwgMik7CiAgICAgfSBlbHNlIGlmIChmLT51c2UzMmJpdCkgewotICAgICAgICB1aW50OF90ICpw bGFuZXNbNF0gPSB7IHAtPmRhdGFbMF0gKyBwcyAqIHggKyB5ICogcC0+bGluZXNpemVbMF0gfTsK LSAgICAgICAgaWYgKGYtPmNocm9tYV9wbGFuZXMpIHsKLSAgICAgICAgICAgIHBsYW5lc1sxXSA9 ICAgICAgICBwLT5kYXRhWzFdICsgcHMgKiB4ICsgeSAqIHAtPmxpbmVzaXplWzFdOwotICAgICAg ICAgICAgcGxhbmVzWzJdID0gICAgICAgIHAtPmRhdGFbMl0gKyBwcyAqIHggKyB5ICogcC0+bGlu ZXNpemVbMl07Ci0gICAgICAgIH0KKyAgICAgICAgdWludDhfdCAqcGxhbmVzWzRdID0geyBwLT5k YXRhWzBdICsgcHMgKiB4ICsgeSAqIHAtPmxpbmVzaXplWzBdLAorICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIHAtPmRhdGFbMV0gKyBwcyAqIHggKyB5ICogcC0+bGluZXNpemVbMV0sCisg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcC0+ZGF0YVsyXSArIHBzICogeCArIHkgKiBw LT5saW5lc2l6ZVsyXSB9OwogICAgICAgICBpZiAoZi0+dHJhbnNwYXJlbmN5KQogICAgICAgICAg ICAgcGxhbmVzWzNdID0gICAgICAgIHAtPmRhdGFbM10gKyBwcyAqIHggKyB5ICogcC0+bGluZXNp emVbM107CiAgICAgICAgIGRlY29kZV9yZ2JfZnJhbWUzMihmLCBzYywgJmdiLCBwbGFuZXMsIHdp ZHRoLCBoZWlnaHQsIHAtPmxpbmVzaXplKTsKICAgICB9IGVsc2UgewogICAgICAgICB1aW50OF90 ICpwbGFuZXNbNF0gPSB7IHAtPmRhdGFbMF0gKyBwcyAqIHggKyB5ICogcC0+bGluZXNpemVbMF0g fTsKLSAgICAgICAgaWYgKGYtPmNocm9tYV9wbGFuZXMpIHsKKyAgICAgICAgaWYgKGYtPmF2Y3R4 LT5iaXRzX3Blcl9yYXdfc2FtcGxlID4gOCkgewogICAgICAgICAgICAgcGxhbmVzWzFdID0gICAg ICAgIHAtPmRhdGFbMV0gKyBwcyAqIHggKyB5ICogcC0+bGluZXNpemVbMV07CiAgICAgICAgICAg ICBwbGFuZXNbMl0gPSAgICAgICAgcC0+ZGF0YVsyXSArIHBzICogeCArIHkgKiBwLT5saW5lc2l6 ZVsyXTsKKyAgICAgICAgICAgIGlmIChmLT50cmFuc3BhcmVuY3kpCisgICAgICAgICAgICAgICAg cGxhbmVzWzNdID0gICAgcC0+ZGF0YVszXSArIHBzICogeCArIHkgKiBwLT5saW5lc2l6ZVszXTsK ICAgICAgICAgfQotICAgICAgICBpZiAoZi0+dHJhbnNwYXJlbmN5KQotICAgICAgICAgICAgcGxh bmVzWzNdID0gICAgICAgIHAtPmRhdGFbM10gKyBwcyAqIHggKyB5ICogcC0+bGluZXNpemVbM107 CiAgICAgICAgIGRlY29kZV9yZ2JfZnJhbWUoZiwgc2MsICZnYiwgcGxhbmVzLCB3aWR0aCwgaGVp Z2h0LCBwLT5saW5lc2l6ZSk7CiAgICAgfQogICAgIGlmIChmLT5hYyAhPSBBQ19HT0xPTUJfUklD RSAmJiBmLT52ZXJzaW9uID4gMikgewotLSAKMi40OS4xCgoKRnJvbSA0ODQ2MTE0NDNjNWFmMGVj YzcxMzU4NTRiODlmYTQyZWQ3MjU1NTdjIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBM ZW8gSXplbiA8bGVvLml6ZW5AZ21haWwuY29tPgpEYXRlOiBUdWUsIDE1IEp1bCAyMDI1IDEzOjU0 OjA1IC0wNDAwClN1YmplY3Q6IFtQQVRDSCAzMjEvNDM0XSBhdmNvZGVjL2pwZWd4bF9wYXJzZXI6 IGFkZCBzYW5pdHkgY2hlY2sgZm9yIGZyYW1lCiBzaXplCk1JTUUtVmVyc2lvbjogMS4wCkNvbnRl bnQtVHlwZTogdGV4dC9wbGFpbjsgY2hhcnNldD1VVEYtOApDb250ZW50LVRyYW5zZmVyLUVuY29k aW5nOiA4Yml0CgpJZiBhIGZyYW1lIHNpemUgaXMgYWJzb2x1dGVseSBtYXNzaXZlLCB0aGlzIGNh biBzcGluIHRoZSBwYXJzZXIgYXMgaXQKYXR0ZW1wdHMgdG8gZGVjb2RlIGEgcGVybXV0ZWQgVE9D LiBXZSBhZGQgYSBzYW5pdHkgY2hlY2sgaGVyZSBmb3IgZWlnaHQKdGltZXMgdGhlIHNpemUgb2Yg dGhlIGltYWdlIGZvciBhbiBpbnRlcm5hbCBmcmFtZSB0byBwcmV2ZW50IG1hbGljaW91cwpiaXRz dHJlYW1zIGZyb20gc2xvd2luZyB0aGUgcGFyc2VyIGRvd24gdG8gYSBjcmF3bC4KClNpZ25lZC1v ZmYtYnk6IExlbyBJemVuIDxsZW8uaXplbkBnbWFpbC5jb20+ClJlcG9ydGVkLWJ5OiBLYWNwZXIg TWljaGFqxYJvdyA8a2FzcGVyOTNAZ21haWwuY29tPgooY2hlcnJ5IHBpY2tlZCBmcm9tIGNvbW1p dCA4Mjk2ODBmOTZhN2E3ZmYwMmQxNTQzODk1ZWMwZmI3MTMzMDlkNWMwKQpTaWduZWQtb2ZmLWJ5 OiBNaWNoYWVsIE5pZWRlcm1heWVyIDxtaWNoYWVsQG5pZWRlcm1heWVyLmNjPgotLS0KIGxpYmF2 Y29kZWMvanBlZ3hsX3BhcnNlci5jIHwgOSArKysrKysrKy0KIDEgZmlsZSBjaGFuZ2VkLCA4IGlu c2VydGlvbnMoKyksIDEgZGVsZXRpb24oLSkKCmRpZmYgLS1naXQgYS9saWJhdmNvZGVjL2pwZWd4 bF9wYXJzZXIuYyBiL2xpYmF2Y29kZWMvanBlZ3hsX3BhcnNlci5jCmluZGV4IDc2MTIyYWY1NGEu LmEyNTkxZmZjMGQgMTAwNjQ0Ci0tLSBhL2xpYmF2Y29kZWMvanBlZ3hsX3BhcnNlci5jCisrKyBi L2xpYmF2Y29kZWMvanBlZ3hsX3BhcnNlci5jCkBAIC0xMzE1LDYgKzEzMTUsMTMgQEAgc3RhdGlj IGludCBwYXJzZV9mcmFtZV9oZWFkZXIodm9pZCAqYXZjdHgsIEpYTFBhcnNlQ29udGV4dCAqY3R4 LCBHZXRCaXRDb250ZXh0ICoKICAgICBpZiAoZ2V0X2JpdHMxKGdiKSkgewogICAgICAgICBKWExF bnRyb3B5RGVjb2RlciBkZWM7CiAgICAgICAgIGludDY0X3QgZW5kLCBsZWhtZXIgPSAwOworICAg ICAgICAvKiBwYXJzZXIgc2FuaXR5IGNoZWNrIHRvIHByZXZlbnQgVE9DIHBlcm0gZnJvbSBzcGlu bmluZyBjcHUgKi8KKyAgICAgICAgaWYgKHdpZHRoID4gbWV0YS0+Y29kZWRfd2lkdGggKiA4IHx8 IGhlaWdodCA+IG1ldGEtPmNvZGVkX2hlaWdodCAqIDgpIHsKKyAgICAgICAgICAgIGF2X2xvZyhh dmN0eCwgQVZfTE9HX1dBUk5JTkcsICJmcmFtZSBvZiBzaXplICUiIFBSSXUzMiAieCUiIFBSSXUz MgorICAgICAgICAgICAgICAgICIgZXhjZWVkcyBtYXggc2l6ZSBvZiAlIiBQUkl1MzIgInglIiBQ Ukl1MzIgIiwgYWJvcnRpbmcgcGFyc2VyXG4iLAorICAgICAgICAgICAgICAgIHdpZHRoLCBoZWln aHQsIG1ldGEtPmNvZGVkX3dpZHRoICogOCwgbWV0YS0+Y29kZWRfaGVpZ2h0ICogOCk7CisgICAg ICAgICAgICByZXR1cm4gQVZFUlJPUl9JTlZBTElEREFUQTsKKyAgICAgICAgfQogICAgICAgICBy ZXQgPSBlbnRyb3B5X2RlY29kZXJfaW5pdChhdmN0eCwgZ2IsICZkZWMsIDgpOwogICAgICAgICBp ZiAocmV0IDwgMCkKICAgICAgICAgICAgIHJldHVybiByZXQ7CkBAIC0xMzMxLDcgKzEzMzgsNyBA QCBzdGF0aWMgaW50IHBhcnNlX2ZyYW1lX2hlYWRlcih2b2lkICphdmN0eCwgSlhMUGFyc2VDb250 ZXh0ICpjdHgsIEdldEJpdENvbnRleHQgKgogICAgICAgICAgICAgbGVobWVyID0gZW50cm9weV9k ZWNvZGVyX3JlYWRfc3ltYm9sKGdiLCAmZGVjLCB0b2NfY29udGV4dChsZWhtZXIpKTsKICAgICAg ICAgICAgIGlmIChsZWhtZXIgPCAwIHx8IGdldF9iaXRzX2xlZnQoZ2IpIDwgMCkgewogICAgICAg ICAgICAgICAgIGVudHJvcHlfZGVjb2Rlcl9jbG9zZSgmZGVjKTsKLSAgICAgICAgICAgICAgICBy ZXR1cm4gQVZFUlJPUl9CVUZGRVJfVE9PX1NNQUxMOworICAgICAgICAgICAgICAgIHJldHVybiBs ZWhtZXIgPCAwID8gbGVobWVyIDogQVZFUlJPUl9CVUZGRVJfVE9PX1NNQUxMOwogICAgICAgICAg ICAgfQogICAgICAgICB9CiAgICAgICAgIGVudHJvcHlfZGVjb2Rlcl9jbG9zZSgmZGVjKTsKLS0g CjIuNDkuMQoKCkZyb20gZjA4M2M0NjNmMWUyMjY5NzMzMmNlODg0YzMyYjhjNWMzOGE0NDA1MyBN b24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKRnJvbTogTWljaGFlbCBOaWVkZXJtYXllciA8bWljaGFl bEBuaWVkZXJtYXllci5jYz4KRGF0ZTogV2VkLCAyMyBKdWwgMjAyNSAwMTo1Nzo1NCArMDIwMApT dWJqZWN0OiBbUEFUQ0ggMzIyLzQzNF0gYXZmb3JtYXQvYXNmZGVjX2Y6IENoZWNrIGFtb3VudCBv ZiB2YWx1ZSByZWFkCgpGaXhlczogdXNlIG9mIHVuaW5pdGlhbGl6ZWQgbWVtb3J5CkZpeGVzOiA0 MDM2NzU0OTIvY2x1c3RlcmZ1enotdGVzdGNhc2UtbWluaW1pemVkLWZmbXBlZ19kZW1fQVNGX2Z1 enplci00NzU0MjgxODIzNzk3MjQ4CgpGb3VuZC1ieTogY29udGludW91cyBmdXp6aW5nIHByb2Nl c3MgaHR0cHM6Ly9naXRodWIuY29tL2dvb2dsZS9vc3MtZnV6ei90cmVlL21hc3Rlci9wcm9qZWN0 cy9mZm1wZWcKU2lnbmVkLW9mZi1ieTogTWljaGFlbCBOaWVkZXJtYXllciA8bWljaGFlbEBuaWVk ZXJtYXllci5jYz4KKGNoZXJyeSBwaWNrZWQgZnJvbSBjb21taXQgZmExOTc5MjRhNjZkODMxMDZj NWQ0ZGFkYjg2MTBhMWM1MjZhZmQ2NykKU2lnbmVkLW9mZi1ieTogTWljaGFlbCBOaWVkZXJtYXll ciA8bWljaGFlbEBuaWVkZXJtYXllci5jYz4KLS0tCiBsaWJhdmZvcm1hdC9hc2ZkZWNfZi5jIHwg NiArKysrLS0KIDEgZmlsZSBjaGFuZ2VkLCA0IGluc2VydGlvbnMoKyksIDIgZGVsZXRpb25zKC0p CgpkaWZmIC0tZ2l0IGEvbGliYXZmb3JtYXQvYXNmZGVjX2YuYyBiL2xpYmF2Zm9ybWF0L2FzZmRl Y19mLmMKaW5kZXggMjQ0MWNhZGI0NC4uMzY2MjNiY2I3NSAxMDA2NDQKLS0tIGEvbGliYXZmb3Jt YXQvYXNmZGVjX2YuYworKysgYi9saWJhdmZvcm1hdC9hc2ZkZWNfZi5jCkBAIC0yNDAsOCArMjQw LDEwIEBAIHN0YXRpYyB2b2lkIGdldF90YWcoQVZGb3JtYXRDb250ZXh0ICpzLCBjb25zdCBjaGFy ICprZXksIGludCB0eXBlLCBpbnQgbGVuLCBpbnQKICAgICBjYXNlIEFTRl9VTklDT0RFOgogICAg ICAgICBhdmlvX2dldF9zdHIxNmxlKHMtPnBiLCBsZW4sIHZhbHVlLCAyICogbGVuICsgMSk7CiAg ICAgICAgIGJyZWFrOwotICAgIGNhc2UgLTE6IC8vIEFTQ0kKLSAgICAgICAgYXZpb19yZWFkKHMt PnBiLCB2YWx1ZSwgbGVuKTsKKyAgICBjYXNlIC0xOjsgLy8gQVNDSUkKKyAgICAgICAgaW50IHJl dCA9IGZmaW9fcmVhZF9zaXplKHMtPnBiLCB2YWx1ZSwgbGVuKTsKKyAgICAgICAgaWYgKHJldCA8 IDApCisgICAgICAgICAgICBnb3RvIGZpbmlzaDsKICAgICAgICAgdmFsdWVbbGVuXT0wOwogICAg ICAgICBicmVhazsKICAgICBjYXNlIEFTRl9CWVRFX0FSUkFZOgotLSAKMi40OS4xCgoKRnJvbSAx YjE1MjRlZTg5M2FhY2YxMzllZGM4Yjc1M2JkNWNkNzBlMGFhMDhjIE1vbiBTZXAgMTcgMDA6MDA6 MDAgMjAwMQpGcm9tOiBNaWNoYWVsIE5pZWRlcm1heWVyIDxtaWNoYWVsQG5pZWRlcm1heWVyLmNj PgpEYXRlOiBXZWQsIDIzIEp1bCAyMDI1IDEzOjA1OjI5ICswMjAwClN1YmplY3Q6IFtQQVRDSCAz MjMvNDM0XSBhdmNvZGVjL2hldmMvaGV2Y2RlYzogQ2xlYW4gc2FvX3BpeGVsX2J1ZmZlcl92IG9u CiBhbGxvY2F0aW9uCgpGaXhlczogdXNlIG9mIHVuaW5pdGlhbGl6ZWQgbWVtb3J5CkZpeGVzOiAz NzgxMDI2NDgvY2x1c3RlcmZ1enotdGVzdGNhc2UtbWluaW1pemVkLWZmbXBlZ19BVl9DT0RFQ19J RF9IRVZDX2Z1enplci01ODk2MzA4NDk5NDgwNTc2CgpGb3VuZC1ieTogY29udGludW91cyBmdXp6 aW5nIHByb2Nlc3MgaHR0cHM6Ly9naXRodWIuY29tL2dvb2dsZS9vc3MtZnV6ei90cmVlL21hc3Rl ci9wcm9qZWN0cy9mZm1wZWcKU2lnbmVkLW9mZi1ieTogTWljaGFlbCBOaWVkZXJtYXllciA8bWlj aGFlbEBuaWVkZXJtYXllci5jYz4KKGNoZXJyeSBwaWNrZWQgZnJvbSBjb21taXQgN2EyMWMzN2Y3 NWVmNDkzYmFmZWQzZTNmZGZiZDNjZjQ4OTkwNDM5YikKU2lnbmVkLW9mZi1ieTogTWljaGFlbCBO aWVkZXJtYXllciA8bWljaGFlbEBuaWVkZXJtYXllci5jYz4KLS0tCiBsaWJhdmNvZGVjL2hldmMv aGV2Y2RlYy5jIHwgNCArKy0tCiAxIGZpbGUgY2hhbmdlZCwgMiBpbnNlcnRpb25zKCspLCAyIGRl bGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL2xpYmF2Y29kZWMvaGV2Yy9oZXZjZGVjLmMgYi9saWJh dmNvZGVjL2hldmMvaGV2Y2RlYy5jCmluZGV4IDEzOWYwODExZWYuLjdiZDNhNzA2YTcgMTAwNjQ0 Ci0tLSBhL2xpYmF2Y29kZWMvaGV2Yy9oZXZjZGVjLmMKKysrIGIvbGliYXZjb2RlYy9oZXZjL2hl dmNkZWMuYwpAQCAtMTUxLDEwICsxNTEsMTAgQEAgc3RhdGljIGludCBwaWNfYXJyYXlzX2luaXQo SEVWQ0xheWVyQ29udGV4dCAqbCwgY29uc3QgSEVWQ1NQUyAqc3BzKQogICAgICAgICAgICAgaW50 IHcgPSBzcHMtPndpZHRoID4+IHNwcy0+aHNoaWZ0W2NfaWR4XTsKICAgICAgICAgICAgIGludCBo ID0gc3BzLT5oZWlnaHQgPj4gc3BzLT52c2hpZnRbY19pZHhdOwogICAgICAgICAgICAgbC0+c2Fv X3BpeGVsX2J1ZmZlcl9oW2NfaWR4XSA9Ci0gICAgICAgICAgICAgICAgYXZfbWFsbG9jKCh3ICog MiAqIHNwcy0+Y3RiX2hlaWdodCkgPDwKKyAgICAgICAgICAgICAgICBhdl9tYWxsb2N6KCh3ICog MiAqIHNwcy0+Y3RiX2hlaWdodCkgPDwKICAgICAgICAgICAgICAgICAgICAgICAgICAgc3BzLT5w aXhlbF9zaGlmdCk7CiAgICAgICAgICAgICBsLT5zYW9fcGl4ZWxfYnVmZmVyX3ZbY19pZHhdID0K LSAgICAgICAgICAgICAgICBhdl9tYWxsb2MoKGggKiAyICogc3BzLT5jdGJfd2lkdGgpIDw8Cisg ICAgICAgICAgICAgICAgYXZfbWFsbG9jeigoaCAqIDIgKiBzcHMtPmN0Yl93aWR0aCkgPDwKICAg ICAgICAgICAgICAgICAgICAgICAgICAgc3BzLT5waXhlbF9zaGlmdCk7CiAgICAgICAgICAgICBp ZiAoIWwtPnNhb19waXhlbF9idWZmZXJfaFtjX2lkeF0gfHwKICAgICAgICAgICAgICAgICAhbC0+ c2FvX3BpeGVsX2J1ZmZlcl92W2NfaWR4XSkKLS0gCjIuNDkuMQoKCkZyb20gYzc4NWI1NTgwZWQw NTA5YmFjYzJmMDZiOTM0YWIyNWUxYmExM2ViYyBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKRnJv bTogTWljaGFlbCBOaWVkZXJtYXllciA8bWljaGFlbEBuaWVkZXJtYXllci5jYz4KRGF0ZTogV2Vk LCAyMyBKdWwgMjAyNSAxMzoxNjozMyArMDIwMApTdWJqZWN0OiBbUEFUQ0ggMzI0LzQzNF0gYXZm b3JtYXQvbW92OiBtYWtlIHN1cmUgZmlsZV9jaGVja3N1bSBpcyBmdWxseQogaW5pdGlhbGl6ZWQK CkZpeGVzOiB1c2Ugb2YgdW5pbml0aWFsaXplZCBtZW1vcnkKRml4ZXM6IDM5NDk5MDE4OS9jbHVz dGVyZnV6ei10ZXN0Y2FzZS1taW5pbWl6ZWQtZmZtcGVnX2RlbV9NT1ZfZnV6emVyLTY0MzE3MjIx OTk5MDgzNTIKCkZvdW5kLWJ5OiBjb250aW51b3VzIGZ1enppbmcgcHJvY2VzcyBodHRwczovL2dp dGh1Yi5jb20vZ29vZ2xlL29zcy1mdXp6L3RyZWUvbWFzdGVyL3Byb2plY3RzL2ZmbXBlZwpTaWdu ZWQtb2ZmLWJ5OiBNaWNoYWVsIE5pZWRlcm1heWVyIDxtaWNoYWVsQG5pZWRlcm1heWVyLmNjPgoo Y2hlcnJ5IHBpY2tlZCBmcm9tIGNvbW1pdCA4YjE2ZTFkZGQ5YzBiYzRjYTkwNDQ3ZDQ4MTE4NjIx NmNmZGNlMGZlKQpTaWduZWQtb2ZmLWJ5OiBNaWNoYWVsIE5pZWRlcm1heWVyIDxtaWNoYWVsQG5p ZWRlcm1heWVyLmNjPgotLS0KIGxpYmF2Zm9ybWF0L21vdi5jIHwgNCArKystCiAxIGZpbGUgY2hh bmdlZCwgMyBpbnNlcnRpb25zKCspLCAxIGRlbGV0aW9uKC0pCgpkaWZmIC0tZ2l0IGEvbGliYXZm b3JtYXQvbW92LmMgYi9saWJhdmZvcm1hdC9tb3YuYwppbmRleCBjZDE4NDY3OThhLi4xNTYzMWY2 ODQ4IDEwMDY0NAotLS0gYS9saWJhdmZvcm1hdC9tb3YuYworKysgYi9saWJhdmZvcm1hdC9tb3Yu YwpAQCAtMTM3MCw3ICsxMzcwLDkgQEAgc3RhdGljIGludCBtb3ZfcmVhZF9hZHJtKE1PVkNvbnRl eHQgKmMsIEFWSU9Db250ZXh0ICpwYiwgTU9WQXRvbSBhdG9tKQogICAgIGF2aW9fcmVhZChwYiwg b3V0cHV0LCA4KTsgLy8gZ28gdG8gb2Zmc2V0IDgsIGFic29sdXRlIHBvc2l0aW9uIDB4MjUxCiAg ICAgYXZpb19yZWFkKHBiLCBpbnB1dCwgRFJNX0JMT0JfU0laRSk7CiAgICAgYXZpb19yZWFkKHBi LCBvdXRwdXQsIDQpOyAvLyBnbyB0byBvZmZzZXQgNCwgYWJzb2x1dGUgcG9zaXRpb24gMHgyOGQK LSAgICBhdmlvX3JlYWQocGIsIGZpbGVfY2hlY2tzdW0sIDIwKTsKKyAgICByZXQgPSBmZmlvX3Jl YWRfc2l6ZShwYiwgZmlsZV9jaGVja3N1bSwgMjApOworICAgIGlmIChyZXQgPCAwKQorICAgICAg ICBnb3RvIGZhaWw7CiAKICAgICAvLyByZXF1aXJlZCBieSBleHRlcm5hbCB0b29scwogICAgIGZm X2RhdGFfdG9faGV4KGNoZWNrc3VtX3N0cmluZywgZmlsZV9jaGVja3N1bSwgc2l6ZW9mKGZpbGVf Y2hlY2tzdW0pLCAxKTsKLS0gCjIuNDkuMQoKCkZyb20gNjhmZTVkYjgxOWJhNGE0YzM0NGJjMjYw MDE2ZDFjZDM4MmIyMTFkMSBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKRnJvbTogTWljaGFlbCBO aWVkZXJtYXllciA8bWljaGFlbEBuaWVkZXJtYXllci5jYz4KRGF0ZTogV2VkLCAyMyBKdWwgMjAy NSAxMzozNjo0MiArMDIwMApTdWJqZWN0OiBbUEFUQ0ggMzI1LzQzNF0gYXZmb3JtYXQvdnFmOiBF bnN1cmUgdGhhdCBjb21tX2NodW5rIGlzIGZ1bGx5IHJlYWQKCkZpeGVzOiB1c2Ugb2YgdW5pbml0 aWFsaXplZCBtZW1vcnkKRml4ZXM6IDQxMjEyNTgxMS9jbHVzdGVyZnV6ei10ZXN0Y2FzZS1taW5p bWl6ZWQtZmZtcGVnX2RlbV9WUUZfZnV6emVyLTYyNTM3NzQyNzQ4ODc2ODAKCkZvdW5kLWJ5OiBj b250aW51b3VzIGZ1enppbmcgcHJvY2VzcyBodHRwczovL2dpdGh1Yi5jb20vZ29vZ2xlL29zcy1m dXp6L3RyZWUvbWFzdGVyL3Byb2plY3RzL2ZmbXBlZwpTaWduZWQtb2ZmLWJ5OiBNaWNoYWVsIE5p ZWRlcm1heWVyIDxtaWNoYWVsQG5pZWRlcm1heWVyLmNjPgooY2hlcnJ5IHBpY2tlZCBmcm9tIGNv bW1pdCAxYjdhMzI3YjNhNDNkZjZhYjgyODg1Y2VhNWFlMDJiZjlkZDg5OWE5KQpTaWduZWQtb2Zm LWJ5OiBNaWNoYWVsIE5pZWRlcm1heWVyIDxtaWNoYWVsQG5pZWRlcm1heWVyLmNjPgotLS0KIGxp YmF2Zm9ybWF0L3ZxZi5jIHwgNSArKysrLQogMSBmaWxlIGNoYW5nZWQsIDQgaW5zZXJ0aW9ucygr KSwgMSBkZWxldGlvbigtKQoKZGlmZiAtLWdpdCBhL2xpYmF2Zm9ybWF0L3ZxZi5jIGIvbGliYXZm b3JtYXQvdnFmLmMKaW5kZXggNThiMTU0NmY1My4uODAzMTgyZTYxYiAxMDA2NDQKLS0tIGEvbGli YXZmb3JtYXQvdnFmLmMKKysrIGIvbGliYXZmb3JtYXQvdnFmLmMKQEAgLTIwLDYgKzIwLDcgQEAK ICAqLwogCiAjaW5jbHVkZSAiYXZmb3JtYXQuaCIKKyNpbmNsdWRlICJhdmlvX2ludGVybmFsLmgi CiAjaW5jbHVkZSAiZGVtdXguaCIKICNpbmNsdWRlICJpbnRlcm5hbC5oIgogI2luY2x1ZGUgImxp YmF2dXRpbC9pbnRyZWFkd3JpdGUuaCIKQEAgLTE0Myw3ICsxNDQsOSBAQCBzdGF0aWMgaW50IHZx Zl9yZWFkX2hlYWRlcihBVkZvcm1hdENvbnRleHQgKnMpCiAgICAgICAgICAgICBpZiAobGVuIDwg MTIpCiAgICAgICAgICAgICAgICAgcmV0dXJuIEFWRVJST1JfSU5WQUxJRERBVEE7CiAKLSAgICAg ICAgICAgIGF2aW9fcmVhZChzLT5wYiwgY29tbV9jaHVuaywgMTIpOworICAgICAgICAgICAgcmV0 ID0gZmZpb19yZWFkX3NpemUocy0+cGIsIGNvbW1fY2h1bmssIDEyKTsKKyAgICAgICAgICAgIGlm IChyZXQgPCAwKQorICAgICAgICAgICAgICAgIHJldHVybiByZXQ7CiAgICAgICAgICAgICBzdC0+ Y29kZWNwYXItPmNoX2xheW91dC5uYl9jaGFubmVscyA9IEFWX1JCMzIoY29tbV9jaHVuaykgKyAx OwogICAgICAgICAgICAgcmVhZF9iaXRyYXRlICAgICAgICA9IEFWX1JCMzIoY29tbV9jaHVuayAr IDQpOwogICAgICAgICAgICAgcmF0ZV9mbGFnICAgICAgICAgICA9IEFWX1JCMzIoY29tbV9jaHVu ayArIDgpOwotLSAKMi40OS4xCgoKRnJvbSA3YzdkOTYyNzdmODRkNjcyZDFmODE0M2QyMTBhYmQ4 ZTdhMjVmZjQ4IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBNaWNoYWVsIE5pZWRlcm1h eWVyIDxtaWNoYWVsQG5pZWRlcm1heWVyLmNjPgpEYXRlOiBXZWQsIDIzIEp1bCAyMDI1IDIxOjEz OjMzICswMjAwClN1YmplY3Q6IFtQQVRDSCAzMjYvNDM0XSBhdmNvZGVjL3Nob3J0ZW46IENsZWFy IHRoZSBhZGRpdGlvbmFsbHkgYWxsb2NhdGVkCiBzcGFjZSBvbiByZWFsbG9jCgpGaXhlczogdXNl IG9mIHVuaW5pdGlhbGl6ZWQgbWVtb3J5CkZpeGVzOiA0MjE5NTQ3NjcvY2x1c3RlcmZ1enotdGVz dGNhc2UtbWluaW1pemVkLWZmbXBlZ19BVl9DT0RFQ19JRF9TSE9SVEVOX2Z1enplci01MTU2ODI3 ODYyNDY2NTYKCkZvdW5kLWJ5OiBjb250aW51b3VzIGZ1enppbmcgcHJvY2VzcyBodHRwczovL2dp dGh1Yi5jb20vZ29vZ2xlL29zcy1mdXp6L3RyZWUvbWFzdGVyL3Byb2plY3RzL2ZmbXBlZwpTaWdu ZWQtb2ZmLWJ5OiBNaWNoYWVsIE5pZWRlcm1heWVyIDxtaWNoYWVsQG5pZWRlcm1heWVyLmNjPgoo Y2hlcnJ5IHBpY2tlZCBmcm9tIGNvbW1pdCA5MDkyMjliODgwZDVmMmMyMjc3YWIxMDkxNTk1NGIx OGQ1MTYyMzIyKQpTaWduZWQtb2ZmLWJ5OiBNaWNoYWVsIE5pZWRlcm1heWVyIDxtaWNoYWVsQG5p ZWRlcm1heWVyLmNjPgotLS0KIGxpYmF2Y29kZWMvc2hvcnRlbi5jIHwgNyArKystLS0tCiAxIGZp bGUgY2hhbmdlZCwgMyBpbnNlcnRpb25zKCspLCA0IGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBh L2xpYmF2Y29kZWMvc2hvcnRlbi5jIGIvbGliYXZjb2RlYy9zaG9ydGVuLmMKaW5kZXggNDZkM2I3 YTYxNS4uYjg0NmFhMjQ4NiAxMDA2NDQKLS0tIGEvbGliYXZjb2RlYy9zaG9ydGVuLmMKKysrIGIv bGliYXZjb2RlYy9zaG9ydGVuLmMKQEAgLTU4NCw3ICs1ODQsNyBAQCBzdGF0aWMgaW50IHNob3J0 ZW5fZGVjb2RlX2ZyYW1lKEFWQ29kZWNDb250ZXh0ICphdmN0eCwgQVZGcmFtZSAqZnJhbWUsCiAg ICAgICAgIGlmIChhdnBrdC0+c2l6ZSkgewogICAgICAgICAgICAgaW50IG1heF9mcmFtZXNpemUg PSBzLT5ibG9ja3NpemUgKiBzLT5jaGFubmVscyAqIDg7CiAgICAgICAgICAgICB2b2lkICp0bXBf cHRyOwotCisgICAgICAgICAgICB1bnNpZ25lZCBvbGRfYWxsb2NhdGVkX2JpdHN0cmVhbV9zaXpl ID0gcy0+YWxsb2NhdGVkX2JpdHN0cmVhbV9zaXplOwogICAgICAgICAgICAgdG1wX3B0ciA9IGF2 X2Zhc3RfcmVhbGxvYyhzLT5iaXRzdHJlYW0sICZzLT5hbGxvY2F0ZWRfYml0c3RyZWFtX3NpemUs CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1heF9mcmFtZXNpemUgKyBB Vl9JTlBVVF9CVUZGRVJfUEFERElOR19TSVpFKTsKICAgICAgICAgICAgIGlmICghdG1wX3B0cikg ewpAQCAtNTkyLDkgKzU5Miw4IEBAIHN0YXRpYyBpbnQgc2hvcnRlbl9kZWNvZGVfZnJhbWUoQVZD b2RlY0NvbnRleHQgKmF2Y3R4LCBBVkZyYW1lICpmcmFtZSwKICAgICAgICAgICAgICAgICByZXR1 cm4gQVZFUlJPUihFTk9NRU0pOwogICAgICAgICAgICAgfQogICAgICAgICAgICAgcy0+Yml0c3Ry ZWFtID0gdG1wX3B0cjsKLSAgICAgICAgICAgIGlmIChtYXhfZnJhbWVzaXplID4gcy0+bWF4X2Zy YW1lc2l6ZSkKLSAgICAgICAgICAgICAgICBtZW1zZXQocy0+Yml0c3RyZWFtICsgcy0+bWF4X2Zy YW1lc2l6ZSwgMCwgKG1heF9mcmFtZXNpemUgLSBzLT5tYXhfZnJhbWVzaXplKSArCi0gICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBBVl9J TlBVVF9CVUZGRVJfUEFERElOR19TSVpFKTsKKyAgICAgICAgICAgIGlmIChzLT5hbGxvY2F0ZWRf Yml0c3RyZWFtX3NpemUgPiBvbGRfYWxsb2NhdGVkX2JpdHN0cmVhbV9zaXplKQorICAgICAgICAg ICAgICAgIG1lbXNldChzLT5iaXRzdHJlYW0gKyBvbGRfYWxsb2NhdGVkX2JpdHN0cmVhbV9zaXpl LCAwLCBzLT5hbGxvY2F0ZWRfYml0c3RyZWFtX3NpemUgLSBvbGRfYWxsb2NhdGVkX2JpdHN0cmVh bV9zaXplKTsKICAgICAgICAgICAgIHMtPm1heF9mcmFtZXNpemUgPSBGRk1BWChzLT5tYXhfZnJh bWVzaXplLCBtYXhfZnJhbWVzaXplKTsKICAgICAgICAgICAgICpnb3RfZnJhbWVfcHRyID0gMDsK ICAgICAgICAgICAgIGdvdG8gZmluaXNoX2ZyYW1lOwotLSAKMi40OS4xCgoKRnJvbSAyNzYyNGQ2 NzhkMjcxNTMyODdjMWYyNzEyMWI0MTQ1Mzc4Nzk4ODVjIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAw MQpGcm9tOiBNaWNoYWVsIE5pZWRlcm1heWVyIDxtaWNoYWVsQG5pZWRlcm1heWVyLmNjPgpEYXRl OiBUaHUsIDI0IEp1bCAyMDI1IDAxOjA1OjQwICswMjAwClN1YmplY3Q6IFtQQVRDSCAzMjcvNDM0 XSBhdmZvcm1hdC9teGc6IGNsZWFyIEFWX0lOUFVUX0JVRkZFUl9QQURESU5HX1NJWkUKCkZpeGVz OiB1c2Ugb2YgdW5pbml0aWFsaXplZCBtZW1vcnkKRml4ZXM6IDQyNzUzMjgxMy9jbHVzdGVyZnV6 ei10ZXN0Y2FzZS1taW5pbWl6ZWQtZmZtcGVnX2RlbV9NWEdfZnV6emVyLTU2NjE5Mzg5MTcxMTM4 NTYKCkZvdW5kLWJ5OiBjb250aW51b3VzIGZ1enppbmcgcHJvY2VzcyBodHRwczovL2dpdGh1Yi5j b20vZ29vZ2xlL29zcy1mdXp6L3RyZWUvbWFzdGVyL3Byb2plY3RzL2ZmbXBlZwpTaWduZWQtb2Zm LWJ5OiBNaWNoYWVsIE5pZWRlcm1heWVyIDxtaWNoYWVsQG5pZWRlcm1heWVyLmNjPgooY2hlcnJ5 IHBpY2tlZCBmcm9tIGNvbW1pdCAxYjEyZTkxOWNmZTNiZjY5MDM4MjI1Nzk0MzMwZDE0NTc1ZmI3 OGQwKQpTaWduZWQtb2ZmLWJ5OiBNaWNoYWVsIE5pZWRlcm1heWVyIDxtaWNoYWVsQG5pZWRlcm1h eWVyLmNjPgotLS0KIGxpYmF2Zm9ybWF0L214Zy5jIHwgMiArKwogMSBmaWxlIGNoYW5nZWQsIDIg aW5zZXJ0aW9ucygrKQoKZGlmZiAtLWdpdCBhL2xpYmF2Zm9ybWF0L214Zy5jIGIvbGliYXZmb3Jt YXQvbXhnLmMKaW5kZXggNmEzOTg3M2YyMS4uNDAxMzlkN2QzZCAxMDA2NDQKLS0tIGEvbGliYXZm b3JtYXQvbXhnLmMKKysrIGIvbGliYXZmb3JtYXQvbXhnLmMKQEAgLTEyNyw2ICsxMjcsOCBAQCBz dGF0aWMgaW50IG14Z191cGRhdGVfY2FjaGUoQVZGb3JtYXRDb250ZXh0ICpzLCB1bnNpZ25lZCBp bnQgY2FjaGVfc2l6ZSkKIAogICAgIG14Zy0+Y2FjaGVfc2l6ZSArPSByZXQ7CiAKKyAgICBtZW1z ZXQobXhnLT5idWZmZXJfcHRyICsgbXhnLT5jYWNoZV9zaXplLCAwLCBBVl9JTlBVVF9CVUZGRVJf UEFERElOR19TSVpFKTsKKwogICAgIHJldHVybiByZXQ7CiB9CiAKLS0gCjIuNDkuMQoKCkZyb20g Nzg4OWE5OTQ0ZmQ0ZjY1MzZmYmM2OGQ4Zjc3MjU2YWM3ZTY4MmQ0NiBNb24gU2VwIDE3IDAwOjAw OjAwIDIwMDEKRnJvbTogTWljaGFlbCBOaWVkZXJtYXllciA8bWljaGFlbEBuaWVkZXJtYXllci5j Yz4KRGF0ZTogU3VuLCAxMyBKdWwgMjAyNSAwMToxNzowMiArMDIwMApTdWJqZWN0OiBbUEFUQ0gg MzI4LzQzNF0gYXZjb2RlYy9tcGVndmlkZW9fZGVjOiBGaXggbG93cmVzPTMgZmllbGQgc2VsZWN0 CiBpbnRlcmxhY2VkIG1wZWc0IGZyYW1lCgpGaXhlczogb3V0IG9mIGFycmF5IHJlYWQgaW4gdGhl IGNocm9tYSBwbGFuZQpGaXhlczogNDI4MDM0MDkyL2NsdXN0ZXJmdXp6LXRlc3RjYXNlLW1pbmlt aXplZC1mZm1wZWdfQVZfQ09ERUNfSURfTVBFRzRfREVDX2Z1enplci01NTgyNjA4OTQxNzc2ODk2 LnRlc3QKCkZvdW5kLWJ5OiBjb250aW51b3VzIGZ1enppbmcgcHJvY2VzcyBodHRwczovL2dpdGh1 Yi5jb20vZ29vZ2xlL29zcy1mdXp6L3RyZWUvbWFzdGVyL3Byb2plY3RzL2ZmbXBlZwpTaWduZWQt b2ZmLWJ5OiBNaWNoYWVsIE5pZWRlcm1heWVyIDxtaWNoYWVsQG5pZWRlcm1heWVyLmNjPgooY2hl cnJ5IHBpY2tlZCBmcm9tIGNvbW1pdCBiODQ5YWMwMDZiNjY3ZGJkNDk0YTI4ZGUyZjhiMDU5ZmVj MzA4YWMyKQpTaWduZWQtb2ZmLWJ5OiBNaWNoYWVsIE5pZWRlcm1heWVyIDxtaWNoYWVsQG5pZWRl cm1heWVyLmNjPgotLS0KIGxpYmF2Y29kZWMvbXBlZ3ZpZGVvX2RlYy5jIHwgMiArLQogMSBmaWxl IGNoYW5nZWQsIDEgaW5zZXJ0aW9uKCspLCAxIGRlbGV0aW9uKC0pCgpkaWZmIC0tZ2l0IGEvbGli YXZjb2RlYy9tcGVndmlkZW9fZGVjLmMgYi9saWJhdmNvZGVjL21wZWd2aWRlb19kZWMuYwppbmRl eCAxY2FiMTA4OTM1Li4wYzI5MzdhN2NjIDEwMDY0NAotLS0gYS9saWJhdmNvZGVjL21wZWd2aWRl b19kZWMuYworKysgYi9saWJhdmNvZGVjL21wZWd2aWRlb19kZWMuYwpAQCAtNjAzLDcgKzYwMyw3 IEBAIHN0YXRpYyBhdl9hbHdheXNfaW5saW5lIHZvaWQgbXBlZ19tb3Rpb25fbG93cmVzKE1wZWdF bmNDb250ZXh0ICpzLAogICAgIHB0cl9jciA9IHJlZl9waWN0dXJlWzJdICsgdXZzcmNfeSAqIHV2 bGluZXNpemUgKyB1dnNyY194OwogCiAgICAgaWYgKCh1bnNpZ25lZCkgc3JjX3ggPiBGRk1BWCgg aF9lZGdlX3BvcyAtICghIXN4KSAtIDIgKiBibG9ja19zLCAgICAgICAwKSB8fCB1dnNyY195PDAg fHwKLSAgICAgICAgKHVuc2lnbmVkKSBzcmNfeSA+IEZGTUFYKCh2X2VkZ2VfcG9zID4+IGZpZWxk X2Jhc2VkKSAtICghIXN5KSAtIEZGTUFYKGgsIGhjPDxzLT5jaHJvbWFfeV9zaGlmdCksIDApKSB7 CisgICAgICAgICh1bnNpZ25lZCkgc3JjX3kgPiBGRk1BWCgodl9lZGdlX3BvcyA+PiBmaWVsZF9i YXNlZCkgLSAoISFzeSkgLSBGRk1BWChoLCBmaWVsZF9zZWxlY3QgKyBoYzw8cy0+Y2hyb21hX3lf c2hpZnQpLCAwKSkgewogICAgICAgICBzLT52ZHNwLmVtdWxhdGVkX2VkZ2VfbWMocy0+c2MuZWRn ZV9lbXVfYnVmZmVyLCBwdHJfeSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxp bmVzaXplID4+IGZpZWxkX2Jhc2VkLCBsaW5lc2l6ZSA+PiBmaWVsZF9iYXNlZCwKICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIDE3LCAxNyArIGZpZWxkX2Jhc2VkLAotLSAKMi40OS4x CgoKRnJvbSAzNDJlYTg2MzMwYWUzODhiYWY2ODZmYTIyMDg5MjgzM2Q1NWExYzNmIE1vbiBTZXAg MTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBNaWNoYWVsIE5pZWRlcm1heWVyIDxtaWNoYWVsQG5pZWRl cm1heWVyLmNjPgpEYXRlOiBNb24sIDI4IEp1bCAyMDI1IDIzOjQxOjU2ICswMjAwClN1YmplY3Q6 IFtQQVRDSCAzMjkvNDM0XSBhdmZvcm1hdC9kYXNoZGVjOiBBbGxvY2F0ZSBzcGFjZSBmb3IgYXBw ZW5kZWQgIi8iCgpGaXhlczogd3JpdGluZyAxIGJ5dGUgb3ZlciB0aGUgZW5kIG9mIHRoZSBhcnJh eQpGaXhlczogQklHU0xFRVAtNDMzNTAyMjk4L3Rlc3QueG1sCgpGb3VuZC1ieTogR29vZ2xlIEJp ZyBTbGVlcAoKQSBwcmV0dGllciBzb2x1dGlvbiBpcyB3ZWxjb21lIQpBIHRlc3RjYXNlIGV4aXN0 cyBvbmx5IGZvciB0aGUgYmFzZXVybCBjYXNlCgpTaWduZWQtb2ZmLWJ5OiBNaWNoYWVsIE5pZWRl cm1heWVyIDxtaWNoYWVsQG5pZWRlcm1heWVyLmNjPgooY2hlcnJ5IHBpY2tlZCBmcm9tIGNvbW1p dCBjZTBhNjU1Zjg1YzExNDRkMTlhNGFjYWQ1OWFmYmI5MmU0OTk3ZTMwKQpTaWduZWQtb2ZmLWJ5 OiBNaWNoYWVsIE5pZWRlcm1heWVyIDxtaWNoYWVsQG5pZWRlcm1heWVyLmNjPgotLS0KIGxpYmF2 Zm9ybWF0L2Rhc2hkZWMuYyB8IDEzICsrKysrKysrKysrLS0KIDEgZmlsZSBjaGFuZ2VkLCAxMSBp bnNlcnRpb25zKCspLCAyIGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL2xpYmF2Zm9ybWF0L2Rh c2hkZWMuYyBiL2xpYmF2Zm9ybWF0L2Rhc2hkZWMuYwppbmRleCA3MWQ3OTA2N2E5Li43MWY1ZDc2 YzJlIDEwMDY0NAotLS0gYS9saWJhdmZvcm1hdC9kYXNoZGVjLmMKKysrIGIvbGliYXZmb3JtYXQv ZGFzaGRlYy5jCkBAIC03MzUsNyArNzM1LDcgQEAgc3RhdGljIGludCByZXNvbHZlX2NvbnRlbnRf cGF0aChBVkZvcm1hdENvbnRleHQgKnMsIGNvbnN0IGNoYXIgKnVybCwgaW50ICptYXhfdXIKICAg ICB9CiAKICAgICB0bXBfbWF4X3VybF9zaXplID0gYWxpZ25lZCh0bXBfbWF4X3VybF9zaXplKTsK LSAgICB0ZXh0ID0gYXZfbWFsbG9jeih0bXBfbWF4X3VybF9zaXplKTsKKyAgICB0ZXh0ID0gYXZf bWFsbG9jeih0bXBfbWF4X3VybF9zaXplICsgMSk7CiAgICAgaWYgKCF0ZXh0KSB7CiAgICAgICAg IHVwZGF0ZWQgPSBBVkVSUk9SKEVOT01FTSk7CiAgICAgICAgIGdvdG8gZW5kOwpAQCAtNzQ3LDcg Kzc0Nyw3IEBAIHN0YXRpYyBpbnQgcmVzb2x2ZV9jb250ZW50X3BhdGgoQVZGb3JtYXRDb250ZXh0 ICpzLCBjb25zdCBjaGFyICp1cmwsIGludCAqbWF4X3VyCiAgICAgfQogICAgIGF2X2ZyZWUodGV4 dCk7CiAKLSAgICBwYXRoID0gYXZfbWFsbG9jeih0bXBfbWF4X3VybF9zaXplKTsKKyAgICBwYXRo ID0gYXZfbWFsbG9jeih0bXBfbWF4X3VybF9zaXplICsgMik7CiAgICAgdG1wX3N0ciA9IGF2X21h bGxvY3oodG1wX21heF91cmxfc2l6ZSk7CiAgICAgaWYgKCF0bXBfc3RyIHx8ICFwYXRoKSB7CiAg ICAgICAgIHVwZGF0ZWQgPSBBVkVSUk9SKEVOT01FTSk7CkBAIC03NjksNiArNzY5LDE1IEBAIHN0 YXRpYyBpbnQgcmVzb2x2ZV9jb250ZW50X3BhdGgoQVZGb3JtYXRDb250ZXh0ICpzLCBjb25zdCBj aGFyICp1cmwsIGludCAqbWF4X3VyCiAKICAgICBub2RlID0gYmFzZXVybF9ub2Rlc1tyb290SWRd OwogICAgIGJhc2V1cmwgPSB4bWxOb2RlR2V0Q29udGVudChub2RlKTsKKyAgICBpZiAoYmFzZXVy bCkgeworICAgICAgICBzaXplX3QgbGVuID0geG1sU3RybGVuKGJhc2V1cmwpKzI7CisgICAgICAg IGNoYXIgKnRtcCA9IHhtbFJlYWxsb2MoYmFzZXVybCwgbGVuKTsKKyAgICAgICAgaWYgKCF0bXAp IHsKKyAgICAgICAgICAgIHVwZGF0ZWQgPSBBVkVSUk9SKEVOT01FTSk7CisgICAgICAgICAgICBn b3RvIGVuZDsKKyAgICAgICAgfQorICAgICAgICBiYXNldXJsID0gdG1wOworICAgIH0KICAgICBy b290X3VybCA9IChhdl9zdHJjYXNlY21wKGJhc2V1cmwsICIiKSkgPyBiYXNldXJsIDogcGF0aDsK ICAgICBpZiAobm9kZSkgewogICAgICAgICB4bWxOb2RlU2V0Q29udGVudChub2RlLCByb290X3Vy bCk7Ci0tIAoyLjQ5LjEKCgpGcm9tIGI1NTlkMmY3MDE5MzY2ZTExODBiY2NjM2E0MDIxNDg0OTg5 MWNiYjAgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCkZyb206IE1pY2hhZWwgTmllZGVybWF5ZXIg PG1pY2hhZWxAbmllZGVybWF5ZXIuY2M+CkRhdGU6IFN1biwgMyBBdWcgMjAyNSAxNDozNDoyNSAr MDIwMApTdWJqZWN0OiBbUEFUQ0ggMzMwLzQzNF0gYXZjb2RlYy9jcmk6IEZhY3RvciByZWFkX2xl biBvdXQKClNpZ25lZC1vZmYtYnk6IE1pY2hhZWwgTmllZGVybWF5ZXIgPG1pY2hhZWxAbmllZGVy bWF5ZXIuY2M+CihjaGVycnkgcGlja2VkIGZyb20gY29tbWl0IGQ5YmYzYzE0MWJiOTZkZDI4NTQ3 NzI3ODQwMGI4MzQ5ZTlmOTY0YjApClNpZ25lZC1vZmYtYnk6IE1pY2hhZWwgTmllZGVybWF5ZXIg PG1pY2hhZWxAbmllZGVybWF5ZXIuY2M+Ci0tLQogbGliYXZjb2RlYy9jcmkuYyB8IDkgKysrKyst LS0tCiAxIGZpbGUgY2hhbmdlZCwgNSBpbnNlcnRpb25zKCspLCA0IGRlbGV0aW9ucygtKQoKZGlm ZiAtLWdpdCBhL2xpYmF2Y29kZWMvY3JpLmMgYi9saWJhdmNvZGVjL2NyaS5jCmluZGV4IDY5MzJi YjY3NDUuLjEyYzMzMzk5YmQgMTAwNjQ0Ci0tLSBhL2xpYmF2Y29kZWMvY3JpLmMKKysrIGIvbGli YXZjb2RlYy9jcmkuYwpAQCAtMjIwLDEwICsyMjAsMTEgQEAgc3RhdGljIGludCBjcmlfZGVjb2Rl X2ZyYW1lKEFWQ29kZWNDb250ZXh0ICphdmN0eCwgQVZGcmFtZSAqcCwKICAgICAgICAgICAgIGlm IChieXRlc3RyZWFtMl9nZXRfbGUzMihnYikgIT0gMCkKICAgICAgICAgICAgICAgICByZXR1cm4g QVZFUlJPUl9JTlZBTElEREFUQTsKICAgICAgICAgICAgIGJyZWFrOwotICAgICAgICBjYXNlIDEw MjoKLSAgICAgICAgICAgIGJ5dGVzdHJlYW0yX2dldF9idWZmZXIoZ2IsIGNvZGVjX25hbWUsIEZG TUlOKGxlbmd0aCwgc2l6ZW9mKGNvZGVjX25hbWUpIC0gMSkpOwotICAgICAgICAgICAgbGVuZ3Ro IC09IEZGTUlOKGxlbmd0aCwgc2l6ZW9mKGNvZGVjX25hbWUpIC0gMSk7Ci0gICAgICAgICAgICBp ZiAoc3RybmNtcChjb2RlY19uYW1lLCAiY2ludGVsX2NyYXciLCBGRk1JTihsZW5ndGgsIHNpemVv Zihjb2RlY19uYW1lKSAtIDEpKSkKKyAgICAgICAgY2FzZSAxMDI6OworICAgICAgICAgICAgaW50 IHJlYWRfbGVuID0gRkZNSU4obGVuZ3RoLCBzaXplb2YoY29kZWNfbmFtZSkgLSAxKTsKKyAgICAg ICAgICAgIGJ5dGVzdHJlYW0yX2dldF9idWZmZXIoZ2IsIGNvZGVjX25hbWUsIHJlYWRfbGVuKSkK KyAgICAgICAgICAgIGxlbmd0aCAtPSByZWFkX2xlbjsKKyAgICAgICAgICAgIGlmIChzdHJuY21w KGNvZGVjX25hbWUsICJjaW50ZWxfY3JhdyIsIHJlYWRfbGVuKSkKICAgICAgICAgICAgICAgICBy ZXR1cm4gQVZFUlJPUl9JTlZBTElEREFUQTsKICAgICAgICAgICAgIGNvbXByZXNzZWQgPSAxOwog ICAgICAgICAgICAgZ290byBza2lwOwotLSAKMi40OS4xCgoKRnJvbSBiMTUwN2Q0YmE1NDlhYTlh OWU4MzY0NTQ2OGI3Zjk2ZTA2ZWQ5Zjk3IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBN aWNoYWVsIE5pZWRlcm1heWVyIDxtaWNoYWVsQG5pZWRlcm1heWVyLmNjPgpEYXRlOiBTdW4sIDMg QXVnIDIwMjUgMTQ6MzQ6NTkgKzAyMDAKU3ViamVjdDogW1BBVENIIDMzMS80MzRdIGF2Y29kZWMv Y3JpOiBDaGVjayBieXRlc3RyZWFtMl9nZXRfYnVmZmVyKCkgZm9yIGVuZAoKRml4ZXM6IHVzZSBv ZiB1bmluaW50aWFsaXplZCBtZW1vcnkKRml4ZXM6IDQyMzY3Mzk2OS9jbHVzdGVyZnV6ei10ZXN0 Y2FzZS1taW5pbWl6ZWQtZmZtcGVnX0FWX0NPREVDX0lEX0NSSV9mdXp6ZXItNTkxMDg1NjY0MDgy MzI5NgoKRm91bmQtYnk6IGNvbnRpbnVvdXMgZnV6emluZyBwcm9jZXNzIGh0dHBzOi8vZ2l0aHVi LmNvbS9nb29nbGUvb3NzLWZ1enovdHJlZS9tYXN0ZXIvcHJvamVjdHMvZmZtcGVnClNpZ25lZC1v ZmYtYnk6IE1pY2hhZWwgTmllZGVybWF5ZXIgPG1pY2hhZWxAbmllZGVybWF5ZXIuY2M+CihjaGVy cnkgcGlja2VkIGZyb20gY29tbWl0IGVhMzg1MWJlYmY5MWE5NmIxMWQxNmJlMmIzNmJmODgxMTFl MzBlMzYpClNpZ25lZC1vZmYtYnk6IE1pY2hhZWwgTmllZGVybWF5ZXIgPG1pY2hhZWxAbmllZGVy bWF5ZXIuY2M+Ci0tLQogbGliYXZjb2RlYy9jcmkuYyB8IDMgKystCiAxIGZpbGUgY2hhbmdlZCwg MiBpbnNlcnRpb25zKCspLCAxIGRlbGV0aW9uKC0pCgpkaWZmIC0tZ2l0IGEvbGliYXZjb2RlYy9j cmkuYyBiL2xpYmF2Y29kZWMvY3JpLmMKaW5kZXggMTJjMzMzOTliZC4uZjlhZTI1N2JhNyAxMDA2 NDQKLS0tIGEvbGliYXZjb2RlYy9jcmkuYworKysgYi9saWJhdmNvZGVjL2NyaS5jCkBAIC0yMjIs NyArMjIyLDggQEAgc3RhdGljIGludCBjcmlfZGVjb2RlX2ZyYW1lKEFWQ29kZWNDb250ZXh0ICph dmN0eCwgQVZGcmFtZSAqcCwKICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICBjYXNlIDEwMjo7 CiAgICAgICAgICAgICBpbnQgcmVhZF9sZW4gPSBGRk1JTihsZW5ndGgsIHNpemVvZihjb2RlY19u YW1lKSAtIDEpOwotICAgICAgICAgICAgYnl0ZXN0cmVhbTJfZ2V0X2J1ZmZlcihnYiwgY29kZWNf bmFtZSwgcmVhZF9sZW4pKQorICAgICAgICAgICAgaWYgKHJlYWRfbGVuICE9IGJ5dGVzdHJlYW0y X2dldF9idWZmZXIoZ2IsIGNvZGVjX25hbWUsIHJlYWRfbGVuKSkKKyAgICAgICAgICAgICAgICBy ZXR1cm4gQVZFUlJPUl9JTlZBTElEREFUQTsKICAgICAgICAgICAgIGxlbmd0aCAtPSByZWFkX2xl bjsKICAgICAgICAgICAgIGlmIChzdHJuY21wKGNvZGVjX25hbWUsICJjaW50ZWxfY3JhdyIsIHJl YWRfbGVuKSkKICAgICAgICAgICAgICAgICByZXR1cm4gQVZFUlJPUl9JTlZBTElEREFUQTsKLS0g CjIuNDkuMQoKCkZyb20gYjJjNWU2MDI1MWE5MjQ1MGU0N2Y3OGZjY2I4YTIwOWZmNTFhMzM1NSBN b24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKRnJvbTogTWljaGFlbCBOaWVkZXJtYXllciA8bWljaGFl bEBuaWVkZXJtYXllci5jYz4KRGF0ZTogU3VuLCAzIEF1ZyAyMDI1IDE0OjQ0OjA0ICswMjAwClN1 YmplY3Q6IFtQQVRDSCAzMzIvNDM0XSBhdmNvZGVjL2lmZjogQ2xlYXIgaGFtX2J1ZgoKRml4ZXM6 IHVzZSBvZiB1bmluaXRpYWxpemVkIG1lbW9yeQpGaXhlczogNDIzNjczOTY5L2NsdXN0ZXJmdXp6 LXRlc3RjYXNlLW1pbmltaXplZC1mZm1wZWdfQVZfQ09ERUNfSURfSUZGX0lMQk1fZnV6emVyLTY2 NTE3OTcxNTY3MjQ3MzYKCkZvdW5kLWJ5OiBjb250aW51b3VzIGZ1enppbmcgcHJvY2VzcyBodHRw czovL2dpdGh1Yi5jb20vZ29vZ2xlL29zcy1mdXp6L3RyZWUvbWFzdGVyL3Byb2plY3RzL2ZmbXBl ZwpTaWduZWQtb2ZmLWJ5OiBNaWNoYWVsIE5pZWRlcm1heWVyIDxtaWNoYWVsQG5pZWRlcm1heWVy LmNjPgooY2hlcnJ5IHBpY2tlZCBmcm9tIGNvbW1pdCA3ZTllN2NiM2I2NTE2N2YzN2RjYmZjZjZh MmVlMzA4NTQ4YWY0ZTczKQpTaWduZWQtb2ZmLWJ5OiBNaWNoYWVsIE5pZWRlcm1heWVyIDxtaWNo YWVsQG5pZWRlcm1heWVyLmNjPgotLS0KIGxpYmF2Y29kZWMvaWZmLmMgfCAyICstCiAxIGZpbGUg Y2hhbmdlZCwgMSBpbnNlcnRpb24oKyksIDEgZGVsZXRpb24oLSkKCmRpZmYgLS1naXQgYS9saWJh dmNvZGVjL2lmZi5jIGIvbGliYXZjb2RlYy9pZmYuYwppbmRleCAxMzAxMGI0NTFlLi42NjgzOWMz YzM5IDEwMDY0NAotLS0gYS9saWJhdmNvZGVjL2lmZi5jCisrKyBiL2xpYmF2Y29kZWMvaWZmLmMK QEAgLTI3OSw3ICsyNzksNyBAQCBzdGF0aWMgaW50IGV4dHJhY3RfaGVhZGVyKEFWQ29kZWNDb250 ZXh0ICpjb25zdCBhdmN0eCwKICAgICAgICAgaWYgKGF2Y3R4LT5jb2RlY190YWcgPT0gTUtUQUco J1AnLCAnQicsICdNJywgJyAnKSAmJiBzLT5oYW0gPT0gNCkKICAgICAgICAgICAgIGV4dHJhX3Nw YWNlID0gNDsKIAotICAgICAgICBzLT5oYW1fYnVmID0gYXZfbWFsbG9jKChzLT5wbGFuZXNpemUg KiA4KSArIEFWX0lOUFVUX0JVRkZFUl9QQURESU5HX1NJWkUpOworICAgICAgICBzLT5oYW1fYnVm ID0gYXZfbWFsbG9jeigocy0+cGxhbmVzaXplICogOCkgKyBBVl9JTlBVVF9CVUZGRVJfUEFERElO R19TSVpFKTsKICAgICAgICAgaWYgKCFzLT5oYW1fYnVmKQogICAgICAgICAgICAgcmV0dXJuIEFW RVJST1IoRU5PTUVNKTsKIAotLSAKMi40OS4xCgoKRnJvbSA2YTE2NjQ5NTBkMmNkMzA4NmEwZTcy NzZiMDZkYzFkNDM0ZDY0YzZhIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBNaWNoYWVs IE5pZWRlcm1heWVyIDxtaWNoYWVsQG5pZWRlcm1heWVyLmNjPgpEYXRlOiBTdW4sIDMgQXVnIDIw MjUgMTQ6Mzk6NTMgKzAyMDAKU3ViamVjdDogW1BBVENIIDMzMy80MzRdIGF2Y29kZWMvaW1jOiBD bGVhciBwYWRkaW5nIG9mIGJ1ZjE2CgpGaXhlczogdXNlIG9mIHVuaW5pdGlhbGl6ZWQgbWVtb3J5 CkZpeGVzOiA0MjM2NzM5NjkvY2x1c3RlcmZ1enotdGVzdGNhc2UtbWluaW1pemVkLWZmbXBlZ19B Vl9DT0RFQ19JRF9JQUNfZnV6emVyLTY2ODU4OTA1NTY3ODg3MzYKCkZvdW5kLWJ5OiBjb250aW51 b3VzIGZ1enppbmcgcHJvY2VzcyBodHRwczovL2dpdGh1Yi5jb20vZ29vZ2xlL29zcy1mdXp6L3Ry ZWUvbWFzdGVyL3Byb2plY3RzL2ZmbXBlZwpTaWduZWQtb2ZmLWJ5OiBNaWNoYWVsIE5pZWRlcm1h eWVyIDxtaWNoYWVsQG5pZWRlcm1heWVyLmNjPgooY2hlcnJ5IHBpY2tlZCBmcm9tIGNvbW1pdCA3 MTVkZjRiMWZmMzk4NzU4Y2ExYjhhODJjM2QxNjk0MGJjNjNmYzU2KQpTaWduZWQtb2ZmLWJ5OiBN aWNoYWVsIE5pZWRlcm1heWVyIDxtaWNoYWVsQG5pZWRlcm1heWVyLmNjPgotLS0KIGxpYmF2Y29k ZWMvaW1jLmMgfCAyICsrCiAxIGZpbGUgY2hhbmdlZCwgMiBpbnNlcnRpb25zKCspCgpkaWZmIC0t Z2l0IGEvbGliYXZjb2RlYy9pbWMuYyBiL2xpYmF2Y29kZWMvaW1jLmMKaW5kZXggNTg5MWUzNjIx YS4uNzJjNGM2ZmY4OSAxMDA2NDQKLS0tIGEvbGliYXZjb2RlYy9pbWMuYworKysgYi9saWJhdmNv ZGVjL2ltYy5jCkBAIC05NjYsNiArOTY2LDggQEAgc3RhdGljIGludCBpbWNfZGVjb2RlX2ZyYW1l KEFWQ29kZWNDb250ZXh0ICphdmN0eCwgQVZGcmFtZSAqZnJhbWUsCiAKICAgICBMT0NBTF9BTElH TkVEXzE2KHVpbnQxNl90LCBidWYxNiwgWyhJTUNfQkxPQ0tfU0laRSArIEFWX0lOUFVUX0JVRkZF Ul9QQURESU5HX1NJWkUpIC8gMl0pOwogCisgICAgbWVtc2V0KGJ1ZjE2ICsgSU1DX0JMT0NLX1NJ WkUvMiwgMCwgQVZfSU5QVVRfQlVGRkVSX1BBRERJTkdfU0laRSk7CisKICAgICBxLT5hdmN0eCA9 IGF2Y3R4OwogCiAgICAgaWYgKGJ1Zl9zaXplIDwgSU1DX0JMT0NLX1NJWkUgKiBhdmN0eC0+Y2hf bGF5b3V0Lm5iX2NoYW5uZWxzKSB7Ci0tIAoyLjQ5LjEKCgpGcm9tIDE3MzAyNzBiZDI0ZjdiYzg2 NjdmNTdlM2FiZDEyZjAxZDRjMjM5NDggTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCkZyb206IE1p Y2hhZWwgTmllZGVybWF5ZXIgPG1pY2hhZWxAbmllZGVybWF5ZXIuY2M+CkRhdGU6IFN1biwgMyBB dWcgMjAyNSAwODozMzo0MCArMDIwMApTdWJqZWN0OiBbUEFUQ0ggMzM0LzQzNF0gYXZjb2RlYy9s emY6IENoZWNrIGZvciBpbnB1dCBzcGFjZQoKRml4ZXM6IHVzZSBvZiB1bmluaXRpYWxpemVkIG1l bW9yeQpGaXhlczogNDIzNjczOTY5L2NsdXN0ZXJmdXp6LXRlc3RjYXNlLW1pbmltaXplZC1mZm1w ZWdfQVZfQ09ERUNfSURfTk9UQ0hMQ19mdXp6ZXItNTU5NzAxNTY5MTI5Njc2OAoKRm91bmQtYnk6 IGNvbnRpbnVvdXMgZnV6emluZyBwcm9jZXNzIGh0dHBzOi8vZ2l0aHViLmNvbS9nb29nbGUvb3Nz LWZ1enovdHJlZS9tYXN0ZXIvcHJvamVjdHMvZmZtcGVnClNpZ25lZC1vZmYtYnk6IE1pY2hhZWwg TmllZGVybWF5ZXIgPG1pY2hhZWxAbmllZGVybWF5ZXIuY2M+CihjaGVycnkgcGlja2VkIGZyb20g Y29tbWl0IDYxMGQzNjhkOWJjM2YxYjcwNzNhMGIzM2UzNTJmOGJkN2RiMjRjN2UpClNpZ25lZC1v ZmYtYnk6IE1pY2hhZWwgTmllZGVybWF5ZXIgPG1pY2hhZWxAbmllZGVybWF5ZXIuY2M+Ci0tLQog bGliYXZjb2RlYy9semYuYyB8IDUgKysrKy0KIDEgZmlsZSBjaGFuZ2VkLCA0IGluc2VydGlvbnMo KyksIDEgZGVsZXRpb24oLSkKCmRpZmYgLS1naXQgYS9saWJhdmNvZGVjL2x6Zi5jIGIvbGliYXZj b2RlYy9semYuYwppbmRleCAxZTNjODZjODhjLi45NGIzNjlkZDU5IDEwMDY0NAotLS0gYS9saWJh dmNvZGVjL2x6Zi5jCisrKyBiL2xpYmF2Y29kZWMvbHpmLmMKQEAgLTU2LDcgKzU2LDEwIEBAIGlu dCBmZl9semZfdW5jb21wcmVzcyhHZXRCeXRlQ29udGV4dCAqZ2IsIHVpbnQ4X3QgKipidWYsIGlu dDY0X3QgKnNpemUpCiAgICAgICAgICAgICAgICAgcCA9ICpidWYgKyBsZW47CiAgICAgICAgICAg ICB9CiAKLSAgICAgICAgICAgIGJ5dGVzdHJlYW0yX2dldF9idWZmZXIoZ2IsIHAsIHMpOworICAg ICAgICAgICAgaW50IHMyID0gYnl0ZXN0cmVhbTJfZ2V0X2J1ZmZlcihnYiwgcCwgcyk7CisgICAg ICAgICAgICBpZiAoczIgIT0gcykKKyAgICAgICAgICAgICAgICByZXR1cm4gQVZFUlJPUl9JTlZB TElEREFUQTsKKwogICAgICAgICAgICAgcCAgICs9IHM7CiAgICAgICAgICAgICBsZW4gKz0gczsK ICAgICAgICAgfSBlbHNlIHsKLS0gCjIuNDkuMQoKCkZyb20gZWIwNDc0NTdhOTU1NDZjZTc4MzYw ZGIxY2ZiMDcyNzRlNzZhYzJlZSBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKRnJvbTogTWljaGFl bCBOaWVkZXJtYXllciA8bWljaGFlbEBuaWVkZXJtYXllci5jYz4KRGF0ZTogU3VuLCAzIEF1ZyAy MDI1IDE0OjUyOjM2ICswMjAwClN1YmplY3Q6IFtQQVRDSCAzMzUvNDM0XSBhdmNvZGVjL3ZxYXZp ZGVvOyBDaGVjayBieXRlc3RyZWFtMl9nZXRfYnVmZmVyKCkKIHJlYWRpbmcgbmV4dF9jb2RlYm9v a19idWZmZXIKCkZpeGVzOiB1c2Ugb2YgdW5pbmludGlsYWl6ZWQgbWVtb3J5CkZpeGVzOiA0MjM2 NzM5NjkvY2x1c3RlcmZ1enotdGVzdGNhc2UtbWluaW1pemVkLWZmbXBlZ19BVl9DT0RFQ19JRF9W UUFfZnV6emVyLTYyMzU5NzM2MTkzNTE1NTIKCkZvdW5kLWJ5OiBjb250aW51b3VzIGZ1enppbmcg cHJvY2VzcyBodHRwczovL2dpdGh1Yi5jb20vZ29vZ2xlL29zcy1mdXp6L3RyZWUvbWFzdGVyL3By b2plY3RzL2ZmbXBlZwpTaWduZWQtb2ZmLWJ5OiBNaWNoYWVsIE5pZWRlcm1heWVyIDxtaWNoYWVs QG5pZWRlcm1heWVyLmNjPgooY2hlcnJ5IHBpY2tlZCBmcm9tIGNvbW1pdCA0NDg2NGRiYmI5Yjg3 ZDEzZDhmNGVjOTJmYjg1MzZiZTBmOWRiYmM0KQpTaWduZWQtb2ZmLWJ5OiBNaWNoYWVsIE5pZWRl cm1heWVyIDxtaWNoYWVsQG5pZWRlcm1heWVyLmNjPgotLS0KIGxpYmF2Y29kZWMvdnFhdmlkZW8u YyB8IDEwICsrKysrKy0tLS0KIDEgZmlsZSBjaGFuZ2VkLCA2IGluc2VydGlvbnMoKyksIDQgZGVs ZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvbGliYXZjb2RlYy92cWF2aWRlby5jIGIvbGliYXZjb2Rl Yy92cWF2aWRlby5jCmluZGV4IDRmZDE4NjFkMjUuLjM3YzA4MzI5N2IgMTAwNjQ0Ci0tLSBhL2xp YmF2Y29kZWMvdnFhdmlkZW8uYworKysgYi9saWJhdmNvZGVjL3ZxYXZpZGVvLmMKQEAgLTU3MSw4 ICs1NzEsOSBAQCBzdGF0aWMgaW50IHZxYV9kZWNvZGVfZnJhbWVfcGFsOChWcWFDb250ZXh0ICpz LCBBVkZyYW1lICpmcmFtZSkKICAgICAgICAgfQogCiAgICAgICAgIC8qIGFjY3VtdWxhdGUgcGFy dGlhbCBjb2RlYm9vayAqLwotICAgICAgICBieXRlc3RyZWFtMl9nZXRfYnVmZmVyKCZzLT5nYiwg JnMtPm5leHRfY29kZWJvb2tfYnVmZmVyW3MtPm5leHRfY29kZWJvb2tfYnVmZmVyX2luZGV4XSwK LSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjaHVua19zaXplKTsKKyAgICAgICAgaWYg KGNodW5rX3NpemUgIT0gYnl0ZXN0cmVhbTJfZ2V0X2J1ZmZlcigmcy0+Z2IsICZzLT5uZXh0X2Nv ZGVib29rX2J1ZmZlcltzLT5uZXh0X2NvZGVib29rX2J1ZmZlcl9pbmRleF0sCisgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgY2h1bmtfc2l6ZSkpCisgICAgICAgICAgICByZXR1cm4gQVZF UlJPUl9JTlZBTElEREFUQTsKICAgICAgICAgcy0+bmV4dF9jb2RlYm9va19idWZmZXJfaW5kZXgg Kz0gY2h1bmtfc2l6ZTsKIAogICAgICAgICBzLT5wYXJ0aWFsX2NvdW50ZG93bi0tOwpAQCAtNjAw LDggKzYwMSw5IEBAIHN0YXRpYyBpbnQgdnFhX2RlY29kZV9mcmFtZV9wYWw4KFZxYUNvbnRleHQg KnMsIEFWRnJhbWUgKmZyYW1lKQogICAgICAgICB9CiAKICAgICAgICAgLyogYWNjdW11bGF0ZSBw YXJ0aWFsIGNvZGVib29rICovCi0gICAgICAgIGJ5dGVzdHJlYW0yX2dldF9idWZmZXIoJnMtPmdi LCAmcy0+bmV4dF9jb2RlYm9va19idWZmZXJbcy0+bmV4dF9jb2RlYm9va19idWZmZXJfaW5kZXhd LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNodW5rX3NpemUpOworICAgICAgICBp ZiAoY2h1bmtfc2l6ZSAhPSBieXRlc3RyZWFtMl9nZXRfYnVmZmVyKCZzLT5nYiwgJnMtPm5leHRf Y29kZWJvb2tfYnVmZmVyW3MtPm5leHRfY29kZWJvb2tfYnVmZmVyX2luZGV4XSwKKyAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICBjaHVua19zaXplKSkKKyAgICAgICAgICAgIHJldHVybiBB VkVSUk9SX0lOVkFMSUREQVRBOwogICAgICAgICBzLT5uZXh0X2NvZGVib29rX2J1ZmZlcl9pbmRl eCArPSBjaHVua19zaXplOwogCiAgICAgICAgIHMtPnBhcnRpYWxfY291bnRkb3duLS07Ci0tIAoy LjQ5LjEKCgpGcm9tIDUzNzIxYzVhN2QzM2Y0ZmIwNTJhYTdkNTRlNmVmZTYzZGQwNGU1ZWUgTW9u IFNlcCAxNyAwMDowMDowMCAyMDAxCkZyb206IE1pY2hhZWwgTmllZGVybWF5ZXIgPG1pY2hhZWxA bmllZGVybWF5ZXIuY2M+CkRhdGU6IFN1biwgMyBBdWcgMjAyNSAwMTo0Nzo1NCArMDIwMApTdWJq ZWN0OiBbUEFUQ0ggMzM2LzQzNF0gYXZjb2RlYy9maXRzOiBDbGVhciBuYXhpcwoKRml4ZXM6IFVz ZSBvZiB1bmluaXRpYWxpemVkIG1lbW9yeQpGaXhlczogNDIzNjczOTY5L2NsdXN0ZXJmdXp6LXRl c3RjYXNlLW1pbmltaXplZC1mZm1wZWdfQVZfQ09ERUNfSURfRklUU19ERUNfZnV6emVyLTU2MDIy NTA4MzM4NTQ0NjQKCkZvdW5kLWJ5OiBjb250aW51b3VzIGZ1enppbmcgcHJvY2VzcyBodHRwczov L2dpdGh1Yi5jb20vZ29vZ2xlL29zcy1mdXp6L3RyZWUvbWFzdGVyL3Byb2plY3RzL2ZmbXBlZwpT aWduZWQtb2ZmLWJ5OiBNaWNoYWVsIE5pZWRlcm1heWVyIDxtaWNoYWVsQG5pZWRlcm1heWVyLmNj PgooY2hlcnJ5IHBpY2tlZCBmcm9tIGNvbW1pdCAxNjg3ZGFhOTNjMTMxZjkyOTQ5NWM3YWIwNTA5 ZDJlNWM5OGI0MGY1KQpTaWduZWQtb2ZmLWJ5OiBNaWNoYWVsIE5pZWRlcm1heWVyIDxtaWNoYWVs QG5pZWRlcm1heWVyLmNjPgotLS0KIGxpYmF2Y29kZWMvZml0cy5jIHwgMiArKwogMSBmaWxlIGNo YW5nZWQsIDIgaW5zZXJ0aW9ucygrKQoKZGlmZiAtLWdpdCBhL2xpYmF2Y29kZWMvZml0cy5jIGIv bGliYXZjb2RlYy9maXRzLmMKaW5kZXggNWYzNjQ5NjBlMC4uMGZjMmQ4OTViNyAxMDA2NDQKLS0t IGEvbGliYXZjb2RlYy9maXRzLmMKKysrIGIvbGliYXZjb2RlYy9maXRzLmMKQEAgLTMyLDYgKzMy LDggQEAgaW50IGF2cHJpdl9maXRzX2hlYWRlcl9pbml0KEZJVFNIZWFkZXIgKmhlYWRlciwgRklU U0hlYWRlclN0YXRlIHN0YXRlKQogewogICAgIGhlYWRlci0+c3RhdGUgPSBzdGF0ZTsKICAgICBo ZWFkZXItPm5heGlzX2luZGV4ID0gMDsKKyAgICBoZWFkZXItPm5heGlzID0gMDsKKyAgICBtZW1z ZXQoaGVhZGVyLT5uYXhpc24sIDAsIHNpemVvZihoZWFkZXItPm5heGlzbikpOwogICAgIGhlYWRl ci0+YmxhbmtfZm91bmQgPSAwOwogICAgIGhlYWRlci0+cGNvdW50ID0gMDsKICAgICBoZWFkZXIt Pmdjb3VudCA9IDE7Ci0tIAoyLjQ5LjEKCgpGcm9tIGM2Y2M5NjM2NDdjOTllMWExM2UxM2VkMTU4 YWM1ODMyZmVlZDI4MTQgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCkZyb206IEppYXNoZW5nIEpp YW5nIDxqaWFzaGVuZ2ppYW5nY29vbEBnbWFpbC5jb20+CkRhdGU6IFN1biwgMyBBdWcgMjAyNSAy MDowOTozOCArMDAwMApTdWJqZWN0OiBbUEFUQ0ggMzM3LzQzNF0gYXZjb2RlYy90ZXN0cy9hdnBh Y2tldDogQWRkIGF2X3BhY2tldF9mcmVlKCkgdG8gYXZvaWQKIG1lbW9yeSBsZWFrCgpBZGQgYXZf cGFja2V0X2ZyZWUoKSB0byBmcmVlIGF2cGt0X2Nsb25lIGFuZCBhdnBrdCBpbiB0aGUgZXJyb3Ig cGF0aHMgdG8gYXZvaWQgcG90ZW50aWFsIG1lbW9yeSBsZWFrLgoKRml4ZXM6IGRhM2M2OWE1YTkg KCJBZGRlZCB0ZXN0IGZvciBsaWJhdmNvZGVjL2F2cGFja2V0LmMiKQpTaWduZWQtb2ZmLWJ5OiBK aWFzaGVuZyBKaWFuZyA8amlhc2hlbmdqaWFuZ2Nvb2xAZ21haWwuY29tPgpTaWduZWQtb2ZmLWJ5 OiBNaWNoYWVsIE5pZWRlcm1heWVyIDxtaWNoYWVsQG5pZWRlcm1heWVyLmNjPgooY2hlcnJ5IHBp Y2tlZCBmcm9tIGNvbW1pdCBhYjA0MGUyNTY1NzQzNmU4OGE2MjYyNGIzNzUxYTU4M2RmZTRlMTIz KQpTaWduZWQtb2ZmLWJ5OiBNaWNoYWVsIE5pZWRlcm1heWVyIDxtaWNoYWVsQG5pZWRlcm1heWVy LmNjPgotLS0KIGxpYmF2Y29kZWMvdGVzdHMvYXZwYWNrZXQuYyB8IDMgKysrCiAxIGZpbGUgY2hh bmdlZCwgMyBpbnNlcnRpb25zKCspCgpkaWZmIC0tZ2l0IGEvbGliYXZjb2RlYy90ZXN0cy9hdnBh Y2tldC5jIGIvbGliYXZjb2RlYy90ZXN0cy9hdnBhY2tldC5jCmluZGV4IGZlZDcwMGI0YmUuLmYz NDUxZGY1NzYgMTAwNjQ0Ci0tLSBhL2xpYmF2Y29kZWMvdGVzdHMvYXZwYWNrZXQuYworKysgYi9s aWJhdmNvZGVjL3Rlc3RzL2F2cGFja2V0LmMKQEAgLTEwMSwxMSArMTAxLDE0IEBAIGludCBtYWlu KHZvaWQpCiAKICAgICBpZighYXZwa3RfY2xvbmUpIHsKICAgICAgICAgYXZfbG9nKE5VTEwsIEFW X0xPR19FUlJPUiwiYXZfcGFja2V0X2Nsb25lIGZhaWxlZCB0byBjbG9uZSBBVlBhY2tldFxuIik7 CisgICAgICAgIGF2X3BhY2tldF9mcmVlKCZhdnBrdCk7CiAgICAgICAgIHJldHVybiAxOwogICAg IH0KICAgICAvKnRlc3QgYXZfZ3Jvd19wYWNrZXQqLwogICAgIGlmKGF2X2dyb3dfcGFja2V0KGF2 cGt0X2Nsb25lLCAyMCkgPCAwKXsKICAgICAgICAgYXZfbG9nKE5VTEwsIEFWX0xPR19FUlJPUiwg ImF2X2dyb3dfcGFja2V0IGZhaWxlZFxuIik7CisgICAgICAgIGF2X3BhY2tldF9mcmVlKCZhdnBr dF9jbG9uZSk7CisgICAgICAgIGF2X3BhY2tldF9mcmVlKCZhdnBrdCk7CiAgICAgICAgIHJldHVy biAxOwogICAgIH0KICAgICBpZihhdl9ncm93X3BhY2tldChhdnBrdF9jbG9uZSwgSU5UX01BWCkg PT0gMCl7Ci0tIAoyLjQ5LjEKCgpGcm9tIGFkMzdlNTBjNmI5OGFmZWVhNjEzODE5ZDZmOTBhNzFi NTI5NmEwNzEgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCkZyb206IEppYXNoZW5nIEppYW5nIDxq aWFzaGVuZ2ppYW5nY29vbEBnbWFpbC5jb20+CkRhdGU6IFNhdCwgMiBBdWcgMjAyNSAyMzoyODo0 OCArMDAwMApTdWJqZWN0OiBbUEFUQ0ggMzM4LzQzNF0gZXhhbXBsZXM6IEFkZCBhdl9mcmVlcCB0 byBhdm9pZCBwb3RlbnRpYWwgbWVtb3J5IGxlYWsKCkFkZCBhdl9mcmVlcCgpIHRvIGZyZWUgYXZp b19jdHhfYnVmZmVyIGlmIGF2aW9fYWxsb2NfY29udGV4dCBmYWlscwp0byBhdm9pZCBwb3RlbnRp YWwgbWVtb3J5IGxlYWsuCgpGaXhlczogNWZjNGRlYTM5YyAoImV4YW1wbGVzOiBhZGQgYXZpb19y ZWFkaW5nLmMgZXhhbXBsZSIpClNpZ25lZC1vZmYtYnk6IEppYXNoZW5nIEppYW5nIDxqaWFzaGVu Z2ppYW5nY29vbEBnbWFpbC5jb20+ClNpZ25lZC1vZmYtYnk6IE1pY2hhZWwgTmllZGVybWF5ZXIg PG1pY2hhZWxAbmllZGVybWF5ZXIuY2M+CihjaGVycnkgcGlja2VkIGZyb20gY29tbWl0IDljYTU4 NDI0ZGVkMjRlOTMxZmVkMzI5MTc0YzI4MjQ0YjY3ZDU2NzApClNpZ25lZC1vZmYtYnk6IE1pY2hh ZWwgTmllZGVybWF5ZXIgPG1pY2hhZWxAbmllZGVybWF5ZXIuY2M+Ci0tLQogZG9jL2V4YW1wbGVz L2F2aW9fcmVhZF9jYWxsYmFjay5jIHwgMSArCiAxIGZpbGUgY2hhbmdlZCwgMSBpbnNlcnRpb24o KykKCmRpZmYgLS1naXQgYS9kb2MvZXhhbXBsZXMvYXZpb19yZWFkX2NhbGxiYWNrLmMgYi9kb2Mv ZXhhbXBsZXMvYXZpb19yZWFkX2NhbGxiYWNrLmMKaW5kZXggZGZmYzA2MWQ5Zi4uMGEyOTliNGM3 MyAxMDA2NDQKLS0tIGEvZG9jL2V4YW1wbGVzL2F2aW9fcmVhZF9jYWxsYmFjay5jCisrKyBiL2Rv Yy9leGFtcGxlcy9hdmlvX3JlYWRfY2FsbGJhY2suYwpAQCAtOTYsNiArOTYsNyBAQCBpbnQgbWFp bihpbnQgYXJnYywgY2hhciAqYXJndltdKQogICAgIGF2aW9fY3R4ID0gYXZpb19hbGxvY19jb250 ZXh0KGF2aW9fY3R4X2J1ZmZlciwgYXZpb19jdHhfYnVmZmVyX3NpemUsCiAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgMCwgJmJkLCAmcmVhZF9wYWNrZXQsIE5VTEwsIE5VTEwpOwog ICAgIGlmICghYXZpb19jdHgpIHsKKyAgICAgICAgYXZfZnJlZXAoJmF2aW9fY3R4X2J1ZmZlcik7 CiAgICAgICAgIHJldCA9IEFWRVJST1IoRU5PTUVNKTsKICAgICAgICAgZ290byBlbmQ7CiAgICAg fQotLSAKMi40OS4xCgoKRnJvbSBkMzA4NWQxZTcxNThlNzY4OGFhZmFiYmRmZTViMTJkMGEzNGJh YmZmIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBKaWFzaGVuZyBKaWFuZyA8amlhc2hl bmdqaWFuZ2Nvb2xAZ21haWwuY29tPgpEYXRlOiBTdW4sIDMgQXVnIDIwMjUgMTk6MTQ6MzggKzAw MDAKU3ViamVjdDogW1BBVENIIDMzOS80MzRdIGF2Y29kZWMvdGVzdHMvYXZwYWNrZXQ6IEFkZCBh dl9mcmVlKCkgdG8gYXZvaWQgbWVtb3J5CiBsZWFrCgpBZGQgYXZfZnJlZSgpIHRvIGZyZWUgZXh0 cmFfZGF0YSBpZiBhdl9wYWNrZXRfYWRkX3NpZGVfZGF0YSgpIGZhaWxzLgoKRml4ZXM6IGRhM2M2 OWE1YTkgKCJBZGRlZCB0ZXN0IGZvciBsaWJhdmNvZGVjL2F2cGFja2V0LmMiKQpTaWduZWQtb2Zm LWJ5OiBKaWFzaGVuZyBKaWFuZyA8amlhc2hlbmdqaWFuZ2Nvb2xAZ21haWwuY29tPgpTaWduZWQt b2ZmLWJ5OiBNaWNoYWVsIE5pZWRlcm1heWVyIDxtaWNoYWVsQG5pZWRlcm1heWVyLmNjPgooY2hl cnJ5IHBpY2tlZCBmcm9tIGNvbW1pdCAwMDg2NzllYzE2MmQxNzY5YWZkNzA2YWY1YjFjZTdhNTkz ZjEzZjJiKQpTaWduZWQtb2ZmLWJ5OiBNaWNoYWVsIE5pZWRlcm1heWVyIDxtaWNoYWVsQG5pZWRl cm1heWVyLmNjPgotLS0KIGxpYmF2Y29kZWMvdGVzdHMvYXZwYWNrZXQuYyB8IDEgKwogMSBmaWxl IGNoYW5nZWQsIDEgaW5zZXJ0aW9uKCspCgpkaWZmIC0tZ2l0IGEvbGliYXZjb2RlYy90ZXN0cy9h dnBhY2tldC5jIGIvbGliYXZjb2RlYy90ZXN0cy9hdnBhY2tldC5jCmluZGV4IGYzNDUxZGY1NzYu LjE1NzJlMTE0N2YgMTAwNjQ0Ci0tLSBhL2xpYmF2Y29kZWMvdGVzdHMvYXZwYWNrZXQuYworKysg Yi9saWJhdmNvZGVjL3Rlc3RzL2F2cGFja2V0LmMKQEAgLTUxLDYgKzUxLDcgQEAgc3RhdGljIGlu dCBzZXR1cF9zaWRlX2RhdGFfZW50cnkoQVZQYWNrZXQqIGF2cGt0KQogICAgIHJldCA9IGF2X3Bh Y2tldF9hZGRfc2lkZV9kYXRhKGF2cGt0LCBBVl9QS1RfREFUQV9ORVdfRVhUUkFEQVRBLAogICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGV4dHJhX2RhdGEsIGJ5dGVzKTsK ICAgICBpZihyZXQgPCAwKXsKKyAgICAgICAgYXZfZnJlZShleHRyYV9kYXRhKTsKICAgICAgICAg ZnByaW50ZihzdGRlcnIsCiAgICAgICAgICAgICAgICAgIkVycm9yIG9jY3VycmVkIGluIGF2X3Bh Y2tldF9hZGRfc2lkZV9kYXRhOiAlc1xuIiwKICAgICAgICAgICAgICAgICBhdl9lcnIyc3RyKHJl dCkpOwotLSAKMi40OS4xCgoKRnJvbSAwYzRhM2M1YjU3MWMwY2JmZDY4YWY4M2IyYzE2YjNkMGNk YTBlNzBmIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBKaWFzaGVuZyBKaWFuZyA8amlh c2hlbmdqaWFuZ2Nvb2xAZ21haWwuY29tPgpEYXRlOiBTdW4sIDMgQXVnIDIwMjUgMjA6MzI6MjMg KzAwMDAKU3ViamVjdDogW1BBVENIIDM0MC80MzRdIGxpYmF2Y29kZWMvdGVzdHMvbW90aW9uOiBB ZGQgY2hlY2sgZm9yCiBhdmNvZGVjX2FsbG9jX2NvbnRleHQzKCkKCkFkZCBjaGVjayBmb3IgdGhl IHJldHVybiB2YWx1ZSBvZiBhdmNvZGVjX2FsbG9jX2NvbnRleHQzKCkgdG8gYXZvaWQgcG90ZW50 aWFsIE5VTEwgcG9pbnRlciBkZXJlZmVyZW5jZS4KCkZpeGVzOiA1ZDQ4ZTRlYWZhICgiTWVyZ2Ug Y29tbWl0ICdhNmE3NTBjN2VmMjQwYjcyY2UwMWU5NjUzMzQzYTBkZGYyNDdkMTk2JyIpClNpZ25l ZC1vZmYtYnk6IEppYXNoZW5nIEppYW5nIDxqaWFzaGVuZ2ppYW5nY29vbEBnbWFpbC5jb20+ClNp Z25lZC1vZmYtYnk6IE1pY2hhZWwgTmllZGVybWF5ZXIgPG1pY2hhZWxAbmllZGVybWF5ZXIuY2M+ CihjaGVycnkgcGlja2VkIGZyb20gY29tbWl0IDU1ZDIzNGI0MzMwZDE1ODhlYjEyN2NmMjI4M2E0 NDJlZTM0MWYyYzIpClNpZ25lZC1vZmYtYnk6IE1pY2hhZWwgTmllZGVybWF5ZXIgPG1pY2hhZWxA bmllZGVybWF5ZXIuY2M+Ci0tLQogbGliYXZjb2RlYy90ZXN0cy9tb3Rpb24uYyB8IDQgKysrKwog MSBmaWxlIGNoYW5nZWQsIDQgaW5zZXJ0aW9ucygrKQoKZGlmZiAtLWdpdCBhL2xpYmF2Y29kZWMv dGVzdHMvbW90aW9uLmMgYi9saWJhdmNvZGVjL3Rlc3RzL21vdGlvbi5jCmluZGV4IGMzN2ZjNTUx YzMuLjcxOWZiYTUzN2QgMTAwNjQ0Ci0tLSBhL2xpYmF2Y29kZWMvdGVzdHMvbW90aW9uLmMKKysr IGIvbGliYXZjb2RlYy90ZXN0cy9tb3Rpb24uYwpAQCAtMTI5LDYgKzEyOSwxMCBAQCBpbnQgbWFp bihpbnQgYXJnYywgY2hhciAqKmFyZ3YpCiAgICAgcHJpbnRmKCJmZm1wZWcgbW90aW9uIHRlc3Rc biIpOwogCiAgICAgY3R4ID0gYXZjb2RlY19hbGxvY19jb250ZXh0MyhOVUxMKTsKKyAgICBpZiAo IWN0eCkgeworICAgICAgICByZXR1cm4gMTsKKyAgICB9CisKICAgICBjdHgtPmZsYWdzIHw9IEFW X0NPREVDX0ZMQUdfQklURVhBQ1Q7CiAgICAgYXZfZm9yY2VfY3B1X2ZsYWdzKDApOwogICAgIGZm X21lX2NtcF9pbml0KCZjY3R4LCBjdHgpOwotLSAKMi40OS4xCgoKRnJvbSBlODQzOWY0MWZmOTQz YmMwMjc5YzI4MDg3NmJhZWM0YzIyNmM5M2U2IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQpGcm9t OiA9P1VURi04P3E/S2FjcGVyPTIwTWljaGFqPUM1PTgyb3c/PSA8a2FzcGVyOTNAZ21haWwuY29t PgpEYXRlOiBXZWQsIDIzIEp1bCAyMDI1IDIwOjA0OjUzICswMjAwClN1YmplY3Q6IFtQQVRDSCAz NDEvNDM0XSBhdmZvcm1hdC9scmNkZWM6IHN1cHBvcnQgYXJiaXRyYXJ5IHByZWNpc2lvbgogdGlt ZXN0YW1wCk1JTUUtVmVyc2lvbjogMS4wCkNvbnRlbnQtVHlwZTogdGV4dC9wbGFpbjsgY2hhcnNl dD1VVEYtOApDb250ZW50LVRyYW5zZmVyLUVuY29kaW5nOiA4Yml0CgpBcHBhcmVudGx5IGZpbGVz IHdpdGggbWlsbGlzZWNvbmRzIGV4aXN0IGluIHRoZSB3aWxkLiBBbmQgc2luY2UgaXQgY29zdApu b3RoaW5nIHRvIHN1cHBvcnQgYXJiaXRyYXJ5IG51bWJlciBvZiBkaWdpdHMsIGV4dGVuZCBmb3Jt YXQgdG8gc3VwcG9ydAp0aGF0LgoKRGVwZW5kaW5nIG9uIG51bWJlciBvZiBkaWdpdHMsIHRoZSB0 aW1lIGJhc2Ugb2YgZnJhY3Rpb25hbCBwYXJ0IGlzCmNoYW5naW5nLiBNb3N0IExSQ3MgdXNlIDIg ZGlnaXRzIGFuZCBjZW50aXNlY29uZHMgYmFzZSwgYnV0IHN1YnMgd2l0aCAzCmRpZ2l0cyBhbmQg bWlsaXNlY29uZHMgZXhpc3QgdG9vLgoKU2V0IGludGVybmFsIHRpbWUgYmFzZSB0byBBVl9USU1F X0JBU0UsIHdoaWNoIGluIHBhcmNpdGljZSBhbGxvd3MgdG8KaG9sZCBtaWNyb3NlY29uZHMgd2l0 aCA2IGRpZ2l0cy4gVG90YWxseSBhcnRpZmljaWFsLCBidXQgd2hvIGtub3dzIG1heWJlCnNvbWVv bmUgd2FudHMgdGhhdC4KCkZpeGVzOiAjMTE2NzcKClNpZ25lZC1vZmYtYnk6IEthY3BlciBNaWNo YWrFgm93IDxrYXNwZXI5M0BnbWFpbC5jb20+CihjaGVycnkgcGlja2VkIGZyb20gY29tbWl0IGJj M2NjMGE2YWY0NGFkYzYzY2FmNGU1MDk3ZmNmZWJkN2E3NDc1YjQpClNpZ25lZC1vZmYtYnk6IE1p Y2hhZWwgTmllZGVybWF5ZXIgPG1pY2hhZWxAbmllZGVybWF5ZXIuY2M+Ci0tLQogbGliYXZmb3Jt YXQvbHJjZGVjLmMgfCAxOCArKysrKysrKysrLS0tLS0tLS0KIDEgZmlsZSBjaGFuZ2VkLCAxMCBp bnNlcnRpb25zKCspLCA4IGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL2xpYmF2Zm9ybWF0L2xy Y2RlYy5jIGIvbGliYXZmb3JtYXQvbHJjZGVjLmMKaW5kZXggNjhjNDRiY2U5Ny4uNzk0MWMwMmM1 ZCAxMDA2NDQKLS0tIGEvbGliYXZmb3JtYXQvbHJjZGVjLmMKKysrIGIvbGliYXZmb3JtYXQvbHJj ZGVjLmMKQEAgLTc4LDcgKzc4LDkgQEAgc3RhdGljIGludDY0X3QgY291bnRfdHMoY29uc3QgY2hh ciAqcCkKIHN0YXRpYyBpbnQ2NF90IHJlYWRfdHMoY29uc3QgY2hhciAqcCwgaW50NjRfdCAqc3Rh cnQpCiB7CiAgICAgaW50NjRfdCBvZmZzZXQgPSAwOwotICAgIHVpbnQ2NF90IG1tLCBzcywgY3M7 CisgICAgdWludDY0X3QgbW07CisgICAgZG91YmxlIHNzOworICAgIGNoYXIgcHJlZml4WzNdOwog CiAgICAgd2hpbGUocFtvZmZzZXRdID09ICcgJyB8fCBwW29mZnNldF0gPT0gJ1x0JykgewogICAg ICAgICBvZmZzZXQrKzsKQEAgLTg2LDE0ICs4OCwxNCBAQCBzdGF0aWMgaW50NjRfdCByZWFkX3Rz KGNvbnN0IGNoYXIgKnAsIGludDY0X3QgKnN0YXJ0KQogICAgIGlmKHBbb2Zmc2V0XSAhPSAnWycp IHsKICAgICAgICAgcmV0dXJuIDA7CiAgICAgfQotICAgIGlmKHNzY2FuZihwLCAiWy0lIlNDTnU2 NCI6JSJTQ051NjQiLiUiU0NOdTY0Il0iLCAmbW0sICZzcywgJmNzKSA9PSAzKSB7Ci0gICAgICAg IC8qIEp1c3QgaW4gY2FzZSBuZWdhdGl2ZSBwdHMsIHBsYXllcnMgbWF5IGRyb3AgaXQgYnV0IHdl IHdvbid0LiAqLwotICAgICAgICAqc3RhcnQgPSAtKGludDY0X3QpIChtbSo2MDAwMCArIHNzKjEw MDAgKyBjcyoxMCk7Ci0gICAgfSBlbHNlIGlmKHNzY2FuZihwLCAiWyUiU0NOdTY0IjolIlNDTnU2 NCIuJSJTQ051NjQiXSIsICZtbSwgJnNzLCAmY3MpID09IDMpIHsKLSAgICAgICAgKnN0YXJ0ID0g bW0qNjAwMDAgKyBzcyoxMDAwICsgY3MqMTA7Ci0gICAgfSBlbHNlIHsKKyAgICBpbnQgcmV0ID0g c3NjYW5mKHAsICIlMltbLV0lIlNDTnU2NCI6JWxmXSIsIHByZWZpeCwgJm1tLCAmc3MpOworICAg IGlmIChyZXQgIT0gMyB8fCBwcmVmaXhbMF0gIT0gJ1snKSB7CiAgICAgICAgIHJldHVybiAwOwog ICAgIH0KKyAgICAqc3RhcnQgPSAobW0gKiA2MCArIHNzKSAqIEFWX1RJTUVfQkFTRTsKKyAgICBp ZiAocHJlZml4WzFdID09ICctJykgeworICAgICAgICAqc3RhcnQgPSAtICpzdGFydDsKKyAgICB9 CiAgICAgZG8gewogICAgICAgICBvZmZzZXQrKzsKICAgICB9IHdoaWxlKHBbb2Zmc2V0XSAmJiBw W29mZnNldC0xXSAhPSAnXScpOwpAQCAtMTY0LDcgKzE2Niw3IEBAIHN0YXRpYyBpbnQgbHJjX3Jl YWRfaGVhZGVyKEFWRm9ybWF0Q29udGV4dCAqcykKICAgICBpZighc3QpIHsKICAgICAgICAgcmV0 dXJuIEFWRVJST1IoRU5PTUVNKTsKICAgICB9Ci0gICAgYXZwcml2X3NldF9wdHNfaW5mbyhzdCwg NjQsIDEsIDEwMDApOworICAgIGF2cHJpdl9zZXRfcHRzX2luZm8oc3QsIDY0LCAxLCBBVl9USU1F X0JBU0UpOwogICAgIGxyYy0+dHNfb2Zmc2V0ID0gMDsKICAgICBzdC0+Y29kZWNwYXItPmNvZGVj X3R5cGUgPSBBVk1FRElBX1RZUEVfU1VCVElUTEU7CiAgICAgc3QtPmNvZGVjcGFyLT5jb2RlY19p ZCAgID0gQVZfQ09ERUNfSURfVEVYVDsKLS0gCjIuNDkuMQoKCkZyb20gYTQ0ZGNjNzcwZWJkOWUw MGU1YzM5MDdkZDJjYjkzOGYwNTUxZDdhOSBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKRnJvbTog TWljaGFlbCBOaWVkZXJtYXllciA8bWljaGFlbEBuaWVkZXJtYXllci5jYz4KRGF0ZTogU2F0LCAy IEF1ZyAyMDI1IDE4OjU1OjI2ICswMjAwClN1YmplY3Q6IFtQQVRDSCAzNDIvNDM0XSBhdmZvcm1h dC9obHM6IGFkZCBjbWZ2L2NtZmEgZXhjZXB0aW9ucwoKRml4ZXM6IFRpY2tldDExNTI2CgpTaWdu ZWQtb2ZmLWJ5OiBNaWNoYWVsIE5pZWRlcm1heWVyIDxtaWNoYWVsQG5pZWRlcm1heWVyLmNjPgoo Y2hlcnJ5IHBpY2tlZCBmcm9tIGNvbW1pdCBmM2MzYTZlY2ZiMjMwYzU2YThmZjlkMjE5ZDc5ZDU5 ODFiMmFhNGYzKQpTaWduZWQtb2ZmLWJ5OiBNaWNoYWVsIE5pZWRlcm1heWVyIDxtaWNoYWVsQG5p ZWRlcm1heWVyLmNjPgotLS0KIGxpYmF2Zm9ybWF0L2hscy5jIHwgNCArKy0tCiAxIGZpbGUgY2hh bmdlZCwgMiBpbnNlcnRpb25zKCspLCAyIGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL2xpYmF2 Zm9ybWF0L2hscy5jIGIvbGliYXZmb3JtYXQvaGxzLmMKaW5kZXggMGIwMWY0MDZmNi4uZmUwMDhl ZWU5YSAxMDA2NDQKLS0tIGEvbGliYXZmb3JtYXQvaGxzLmMKKysrIGIvbGliYXZmb3JtYXQvaGxz LmMKQEAgLTc1Nyw4ICs3NTcsOCBAQCBzdGF0aWMgaW50IHRlc3Rfc2VnbWVudChBVkZvcm1hdENv bnRleHQgKnMsIGNvbnN0IEFWSW5wdXRGb3JtYXQgKmluX2ZtdCwgc3RydWN0CiAgICAgICAgICAg ICAgICAgICAgICArIDIqKGZmX21hdGNoX3VybF9leHQoc2VnLT51cmwsIGluX2ZtdC0+ZXh0ZW5z aW9ucykgPiAwKTsKICAgICAgICAgICAgIC8vIFlvdXR1YmUgdXNlcyBhYWMgZmlsZXMgd2l0aCAu dHMgZXh0ZW5zaW9uCiAgICAgICAgICAgICBpZihhdl9tYXRjaF9uYW1lKCJtcDQiLCBpbl9mbXQt Pm5hbWUpIHx8IGF2X21hdGNoX25hbWUoImFhYyIsIGluX2ZtdC0+bmFtZSkpIHsKLSAgICAgICAg ICAgICAgICBtYXRjaEYgfD0gICAgICBhdl9tYXRjaF9leHQoICAgIHNlZy0+dXJsLCAidHMsbTJ0 LG0ydHMsbXRzLG1wZyxtNHMsbXBlZyxtcGVndHMiKQotICAgICAgICAgICAgICAgICAgICAgICAg ICArIDIqKGZmX21hdGNoX3VybF9leHQoc2VnLT51cmwsICJ0cyxtMnQsbTJ0cyxtdHMsbXBnLG00 cyxtcGVnLG1wZWd0cyIpID4gMCk7CisgICAgICAgICAgICAgICAgbWF0Y2hGIHw9ICAgICAgYXZf bWF0Y2hfZXh0KCAgICBzZWctPnVybCwgInRzLG0ydCxtMnRzLG10cyxtcGcsbTRzLG1wZWcsbXBl Z3RzLGNtZnYsY21mYSIpCisgICAgICAgICAgICAgICAgICAgICAgICAgICsgMiooZmZfbWF0Y2hf dXJsX2V4dChzZWctPnVybCwgInRzLG0ydCxtMnRzLG10cyxtcGcsbTRzLG1wZWcsbXBlZ3RzLGNt ZnYsY21mYSIpID4gMCk7CiAgICAgICAgICAgICB9CiAgICAgICAgIH0gZWxzZSBpZiAoIXN0cmNt cChpbl9mbXQtPm5hbWUsICJtcGVndHMiKSkgewogICAgICAgICAgICAgY29uc3QgY2hhciAqc3Ry ID0gInRzLG0ydCxtMnRzLG10cyxtcGcsbTRzLG1wZWcsbXBlZ3RzIgotLSAKMi40OS4xCgoKRnJv bSBjYjQ5MWU4Y2IzMmRkZDE1ZDkzYzgwODE1ZmY0ODkyMWQxMTY2NzFiIE1vbiBTZXAgMTcgMDA6 MDA6MDAgMjAwMQpGcm9tOiBLaW1hcHIgPHJvb3RAa2ltYXByLm5ldD4KRGF0ZTogTW9uLCAyOCBK dWwgMjAyNSAwNjozMjoyNyArMDUwMApTdWJqZWN0OiBbUEFUQ0ggMzQzLzQzNF0gYXZmb3JtYXQv bGlib3Blbm1wdDogZml4IHNlZWtpbmcgd2VpcmRuZXNzCgotIHByb3BlciBwdHMgZm9yIHBhY2tl dHMuIGxlYXZpbmcgaXQgYmxhbmsgbGVhdmVzIGl0IHVwIGZvciBndWVzc2luZywKICBidXQgdGhl IGd1ZXNzIGRvZXNuJ3QgdGFrZSBzZWVraW5nIGludG8gYWNjb3VudCwgY2F1c2luZyB3ZWlyZG5l c3MuCgotIGNsYW1wIHRvIDAgd2hlbiBzZWVraW5nIHRvIG5lZ2F0aXZlIHRzLiBsaWJvcGVubXB0 IGRvY3MgYXJlIHVuY2xlYXIgb24KICB0aGlzIGJ1dCBub3QgZG9pbmcgdGhpcyBjYXVzZXMgYW4g aW1tZWRpYXRlIEVPRiB3aGVuIHNlZWtpbmcgYmFja3dhcmRzCiAgdG8gdGhlIGJlZ2lubmluZyBp biBtcHYuCgotIG9ubHkgc2V0IHNvbmcgZHVyYXRpb24gYW5kIHBhY2tldCBwdHMgd2hlbiB0aGV5 IGFyZSBub24tbmVnYXRpdmUgYW5kCiAgaW4gaW50NjQgcmFuZ2UuIE5hTnMgY291bnQgYXMgb3V0 IG9mIHJhbmdlLiB0aGlzIGlzbid0IGEgZml4IGZvciBhbnkKICBzcGVjaWZpYyBpc3N1ZSBidXQg bWlnaHQgYmUgaGVscGZ1bCBzdGlsbCwgYW5kIHNob3VsZG4ndCBicmVhawogIGFueXRoaW5nLgoK KGNoZXJyeSBwaWNrZWQgZnJvbSBjb21taXQgZWNlZjVmOWUxZmI3MGIzOGYzZTMyNWM4ZTYxMzM0 OTM0NGM5N2RlNCkKU2lnbmVkLW9mZi1ieTogTWljaGFlbCBOaWVkZXJtYXllciA8bWljaGFlbEBu aWVkZXJtYXllci5jYz4KLS0tCiBsaWJhdmZvcm1hdC9saWJvcGVubXB0LmMgfCAxMCArKysrKysr KystCiAxIGZpbGUgY2hhbmdlZCwgOSBpbnNlcnRpb25zKCspLCAxIGRlbGV0aW9uKC0pCgpkaWZm IC0tZ2l0IGEvbGliYXZmb3JtYXQvbGlib3Blbm1wdC5jIGIvbGliYXZmb3JtYXQvbGlib3Blbm1w dC5jCmluZGV4IDczNmFmN2NhZjIuLjZjMmVhOTFjYmEgMTAwNjQ0Ci0tLSBhL2xpYmF2Zm9ybWF0 L2xpYm9wZW5tcHQuYworKysgYi9saWJhdmZvcm1hdC9saWJvcGVubXB0LmMKQEAgLTE0OCw3ICsx NDgsOCBAQCBzdGF0aWMgaW50IHJlYWRfaGVhZGVyX29wZW5tcHQoQVZGb3JtYXRDb250ZXh0ICpz KQogICAgIGlmICghc3QpCiAgICAgICAgIHJldHVybiBBVkVSUk9SKEVOT01FTSk7CiAgICAgYXZw cml2X3NldF9wdHNfaW5mbyhzdCwgNjQsIDEsIEFWX1RJTUVfQkFTRSk7Ci0gICAgc3QtPmR1cmF0 aW9uID0gbGxyaW50KG9wZW5tcHQtPmR1cmF0aW9uKkFWX1RJTUVfQkFTRSk7CisgICAgaWYgKG9w ZW5tcHQtPmR1cmF0aW9uID49IDAgJiYgb3Blbm1wdC0+ZHVyYXRpb24gPCAoKGRvdWJsZSlJTlQ2 NF9NQVggKyAxKSAvIEFWX1RJTUVfQkFTRSkKKyAgICAgICAgc3QtPmR1cmF0aW9uID0gbGxyaW50 KG9wZW5tcHQtPmR1cmF0aW9uKkFWX1RJTUVfQkFTRSk7CiAKICAgICBzdC0+Y29kZWNwYXItPmNv ZGVjX3R5cGUgID0gQVZNRURJQV9UWVBFX0FVRElPOwogICAgIHN0LT5jb2RlY3Bhci0+Y29kZWNf aWQgICAgPSBBVl9ORShBVl9DT0RFQ19JRF9QQ01fRjMyQkUsIEFWX0NPREVDX0lEX1BDTV9GMzJM RSk7CkBAIC0xNzEsNiArMTcyLDggQEAgc3RhdGljIGludCByZWFkX3BhY2tldF9vcGVubXB0KEFW Rm9ybWF0Q29udGV4dCAqcywgQVZQYWNrZXQgKnBrdCkKICAgICBpZiAoKHJldCA9IGF2X25ld19w YWNrZXQocGt0LCBBVURJT19QS1RfU0laRSkpIDwgMCkKICAgICAgICAgcmV0dXJuIHJldDsKIAor ICAgIGRvdWJsZSBwb3MgPSBvcGVubXB0X21vZHVsZV9nZXRfcG9zaXRpb25fc2Vjb25kcyhvcGVu bXB0LT5tb2R1bGUpOworCiAgICAgc3dpdGNoIChvcGVubXB0LT5jaF9sYXlvdXQubmJfY2hhbm5l bHMpIHsKICAgICBjYXNlIDE6CiAgICAgICAgIHJldCA9IG9wZW5tcHRfbW9kdWxlX3JlYWRfZmxv YXRfbW9ubyhvcGVubXB0LT5tb2R1bGUsIG9wZW5tcHQtPnNhbXBsZV9yYXRlLApAQCAtMTk2LDYg KzE5OSw5IEBAIHN0YXRpYyBpbnQgcmVhZF9wYWNrZXRfb3Blbm1wdChBVkZvcm1hdENvbnRleHQg KnMsIEFWUGFja2V0ICpwa3QpCiAKICAgICBwa3QtPnNpemUgPSByZXQgKiAob3Blbm1wdC0+Y2hf bGF5b3V0Lm5iX2NoYW5uZWxzICogNCk7CiAKKyAgICBpZiAocG9zID49IDAgJiYgcG9zIDwgKChk b3VibGUpSU5UNjRfTUFYICsgMSkgLyBBVl9USU1FX0JBU0UpCisgICAgICAgIHBrdC0+cHRzID0g bGxyaW50KHBvcyAqIEFWX1RJTUVfQkFTRSk7CisKICAgICByZXR1cm4gMDsKIH0KIApAQCAtMjEy LDYgKzIxOCw4IEBAIHN0YXRpYyBpbnQgcmVhZF9jbG9zZV9vcGVubXB0KEFWRm9ybWF0Q29udGV4 dCAqcykKIHN0YXRpYyBpbnQgcmVhZF9zZWVrX29wZW5tcHQoQVZGb3JtYXRDb250ZXh0ICpzLCBp bnQgc3RyZWFtX2lkeCwgaW50NjRfdCB0cywgaW50IGZsYWdzKQogewogICAgIE9wZW5NUFRDb250 ZXh0ICpvcGVubXB0ID0gcy0+cHJpdl9kYXRhOworICAgIGlmICh0cyA8IDApCisgICAgICAgIHRz ID0gMDsKICAgICBvcGVubXB0X21vZHVsZV9zZXRfcG9zaXRpb25fc2Vjb25kcyhvcGVubXB0LT5t b2R1bGUsIChkb3VibGUpdHMvQVZfVElNRV9CQVNFKTsKICAgICByZXR1cm4gMDsKIH0KLS0gCjIu NDkuMQoKCkZyb20gZTE5MDY2ZTBhYTY1YzhhMDNlZmU2ZDU3ZDU4MmU5YWY0MWQ2ZTI3OCBNb24g U2VwIDE3IDAwOjAwOjAwIDIwMDEKRnJvbTogPT9VVEYtOD9xP0thY3Blcj0yME1pY2hhaj1DNT04 Mm93Pz0gPGthc3BlcjkzQGdtYWlsLmNvbT4KRGF0ZTogV2VkLCA2IEF1ZyAyMDI1IDE4OjI2OjQy ICswMjAwClN1YmplY3Q6IFtQQVRDSCAzNDQvNDM0XSBhdmNvZGVjL2Nic19oMjY2X3N5bnRheF90 ZW1wbGF0ZTogZml4IG91dCBvZiBib3VuZHMKIGFjY2VzcwpNSU1FLVZlcnNpb246IDEuMApDb250 ZW50LVR5cGU6IHRleHQvcGxhaW47IGNoYXJzZXQ9VVRGLTgKQ29udGVudC1UcmFuc2Zlci1FbmNv ZGluZzogOGJpdAoKY3VycmVudC0+bnVtX3RpbGVfY29sdW1ucyBpcyBub3QgdXBkYXRlZCBpbiB0 aGUgbG9vcCwgc28gdGhlIGV4aXN0aW5nCmNoZWNrIHdhcyBub3Qgd29ya2luZy4gQ2hlY2sgY3Vy cmVudCBpbmRleCBpbnN0ZWFkIGFuZCBicmVhay4gVGhpcyBhbHNvCnNpbXBsaWZpZXMgZHVwbGlj YXRlZCBsb2cuCgpGaXhlczogNDM1MjI1NTMxL2NsdXN0ZXJmdXp6LXRlc3RjYXNlLW1pbmltaXpl ZC1mZm1wZWdfQlNGX1ZWQ19NRVRBREFUQV9mdXp6ZXItNjYzOTY4NDIzMjIxNjU3NgpGb3VuZC1i eTogT1NTLUZ1enoKU2lnbmVkLW9mZi1ieTogS2FjcGVyIE1pY2hhasWCb3cgPGthc3BlcjkzQGdt YWlsLmNvbT4KKGNoZXJyeSBwaWNrZWQgZnJvbSBjb21taXQgZmI4NjI5NzZkZjA4YjNiMTMyNDkx YWJjYTk5NTZmMmZlOWY5NmJjMSkKU2lnbmVkLW9mZi1ieTogTWljaGFlbCBOaWVkZXJtYXllciA8 bWljaGFlbEBuaWVkZXJtYXllci5jYz4KLS0tCiBsaWJhdmNvZGVjL2Nic19oMjY2X3N5bnRheF90 ZW1wbGF0ZS5jIHwgMjQgKysrKysrKysrLS0tLS0tLS0tLS0tLS0tCiAxIGZpbGUgY2hhbmdlZCwg OSBpbnNlcnRpb25zKCspLCAxNSBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9saWJhdmNvZGVj L2Nic19oMjY2X3N5bnRheF90ZW1wbGF0ZS5jIGIvbGliYXZjb2RlYy9jYnNfaDI2Nl9zeW50YXhf dGVtcGxhdGUuYwppbmRleCBkMzM2MjliMDZjLi4xOWE0YjNkNzEzIDEwMDY0NAotLS0gYS9saWJh dmNvZGVjL2Nic19oMjY2X3N5bnRheF90ZW1wbGF0ZS5jCisrKyBiL2xpYmF2Y29kZWMvY2JzX2gy NjZfc3ludGF4X3RlbXBsYXRlLmMKQEAgLTE4OTksMTAgKzE4OTksMTAgQEAgc3RhdGljIGludCBG VU5DKHBwcykgKENvZGVkQml0c3RyZWFtQ29udGV4dCAqY3R4LCBSV0NvbnRleHQgKnJ3LAogICAg ICAgICB9CiAgICAgICAgIHVuaWZpZWRfc2l6ZSA9IGN1cnJlbnQtPnBwc190aWxlX2NvbHVtbl93 aWR0aF9taW51czFbaSAtIDFdICsgMTsKICAgICAgICAgd2hpbGUgKHJlbWFpbmluZ19zaXplID4g MCkgewotICAgICAgICAgICAgaWYgKGN1cnJlbnQtPm51bV90aWxlX2NvbHVtbnMgPiBWVkNfTUFY X1RJTEVfQ09MVU1OUykgeworICAgICAgICAgICAgaWYgKGkgPT0gVlZDX01BWF9USUxFX0NPTFVN TlMpIHsKICAgICAgICAgICAgICAgICBhdl9sb2coY3R4LT5sb2dfY3R4LCBBVl9MT0dfRVJST1Is Ci0gICAgICAgICAgICAgICAgICAgICAgICJOdW1UaWxlQ29sdW1ucyglZCkgPiB0aGFuIFZWQ19N QVhfVElMRV9DT0xVTU5TKCVkKVxuIiwKLSAgICAgICAgICAgICAgICAgICAgICAgY3VycmVudC0+ bnVtX3RpbGVfY29sdW1ucywgVlZDX01BWF9USUxFX0NPTFVNTlMpOworICAgICAgICAgICAgICAg ICAgICAgICAiRXhjZWVkZWQgbWF4aW11bSB0aWxlIGNvbHVtbnMgKCVkKSAocmVtYWluaW5nIHNp emU6ICV1KVxuIiwKKyAgICAgICAgICAgICAgICAgICAgICAgVlZDX01BWF9USUxFX0NPTFVNTlMs IHJlbWFpbmluZ19zaXplKTsKICAgICAgICAgICAgICAgICByZXR1cm4gQVZFUlJPUl9JTlZBTElE REFUQTsKICAgICAgICAgICAgIH0KICAgICAgICAgICAgIHVuaWZpZWRfc2l6ZSA9IEZGTUlOKHJl bWFpbmluZ19zaXplLCB1bmlmaWVkX3NpemUpOwpAQCAtMTkxMSwxMiArMTkxMSw2IEBAIHN0YXRp YyBpbnQgRlVOQyhwcHMpIChDb2RlZEJpdHN0cmVhbUNvbnRleHQgKmN0eCwgUldDb250ZXh0ICpy dywKICAgICAgICAgICAgIGkrKzsKICAgICAgICAgfQogICAgICAgICBjdXJyZW50LT5udW1fdGls ZV9jb2x1bW5zID0gaTsKLSAgICAgICAgaWYgKGN1cnJlbnQtPm51bV90aWxlX2NvbHVtbnMgPiBW VkNfTUFYX1RJTEVfQ09MVU1OUykgewotICAgICAgICAgICAgYXZfbG9nKGN0eC0+bG9nX2N0eCwg QVZfTE9HX0VSUk9SLAotICAgICAgICAgICAgICAgICAgICJOdW1UaWxlQ29sdW1ucyglZCkgPiB0 aGFuIFZWQ19NQVhfVElMRV9DT0xVTU5TKCVkKVxuIiwKLSAgICAgICAgICAgICAgICAgICBjdXJy ZW50LT5udW1fdGlsZV9jb2x1bW5zLCBWVkNfTUFYX1RJTEVfQ09MVU1OUyk7Ci0gICAgICAgICAg ICByZXR1cm4gQVZFUlJPUl9JTlZBTElEREFUQTsKLSAgICAgICAgfQogCiAgICAgICAgIHJlbWFp bmluZ19zaXplID0gcGljX2hlaWdodF9pbl9jdGJzX3k7CiAgICAgICAgIGZvciAoaSA9IDA7IGkg PD0gY3VycmVudC0+cHBzX251bV9leHBfdGlsZV9yb3dzX21pbnVzMTsgaSsrKSB7CkBAIC0xOTMx LDE4ICsxOTI1LDE4IEBAIHN0YXRpYyBpbnQgRlVOQyhwcHMpIChDb2RlZEJpdHN0cmVhbUNvbnRl eHQgKmN0eCwgUldDb250ZXh0ICpydywKICAgICAgICAgdW5pZmllZF9zaXplID0gY3VycmVudC0+ cHBzX3RpbGVfcm93X2hlaWdodF9taW51czFbaSAtIDFdICsgMTsKIAogICAgICAgICB3aGlsZSAo cmVtYWluaW5nX3NpemUgPiAwKSB7CisgICAgICAgICAgICBpZiAoaSA9PSBWVkNfTUFYX1RJTEVf Uk9XUykgeworICAgICAgICAgICAgICAgIGF2X2xvZyhjdHgtPmxvZ19jdHgsIEFWX0xPR19FUlJP UiwKKyAgICAgICAgICAgICAgICAgICAgICAgIkV4Y2VlZGVkIG1heGltdW0gdGlsZSByb3dzICgl ZCkgKHJlbWFpbmluZyBzaXplOiAldSlcbiIsCisgICAgICAgICAgICAgICAgICAgICAgIFZWQ19N QVhfVElMRV9ST1dTLCByZW1haW5pbmdfc2l6ZSk7CisgICAgICAgICAgICAgICAgcmV0dXJuIEFW RVJST1JfSU5WQUxJRERBVEE7CisgICAgICAgICAgICB9CiAgICAgICAgICAgICB1bmlmaWVkX3Np emUgPSBGRk1JTihyZW1haW5pbmdfc2l6ZSwgdW5pZmllZF9zaXplKTsKICAgICAgICAgICAgIGN1 cnJlbnQtPnJvd19oZWlnaHRfdmFsW2ldID0gdW5pZmllZF9zaXplOwogICAgICAgICAgICAgcmVt YWluaW5nX3NpemUgLT0gdW5pZmllZF9zaXplOwogICAgICAgICAgICAgaSsrOwogICAgICAgICB9 CiAgICAgICAgIGN1cnJlbnQtPm51bV90aWxlX3Jvd3M9aTsKLSAgICAgICAgaWYgKGN1cnJlbnQt Pm51bV90aWxlX3Jvd3MgPiBWVkNfTUFYX1RJTEVfUk9XUykgewotICAgICAgICAgICAgYXZfbG9n KGN0eC0+bG9nX2N0eCwgQVZfTE9HX0VSUk9SLAotICAgICAgICAgICAgICAgICAgICJOdW1UaWxl Um93cyglZCkgPiB0aGFuIFZWQ19NQVhfVElMRV9ST1dTKCVkKVxuIiwKLSAgICAgICAgICAgICAg ICAgICBjdXJyZW50LT5udW1fdGlsZV9yb3dzLCBWVkNfTUFYX1RJTEVfUk9XUyk7Ci0gICAgICAg ICAgICByZXR1cm4gQVZFUlJPUl9JTlZBTElEREFUQTsKLSAgICAgICAgfQogCiAgICAgICAgIGN1 cnJlbnQtPm51bV90aWxlc19pbl9waWMgPSBjdXJyZW50LT5udW1fdGlsZV9jb2x1bW5zICoKICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGN1cnJlbnQtPm51bV90aWxlX3Jvd3M7 Ci0tIAoyLjQ5LjEKCgpGcm9tIDI0NzcyNzQzNWQ3NTQ1ODg1NzQyMzlkNmQzZjA3ZGE5NzNlYTZh YWEgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCkZyb206ID0/VVRGLTg/cT9LYWNwZXI9MjBNaWNo YWo9QzU9ODJvdz89IDxrYXNwZXI5M0BnbWFpbC5jb20+CkRhdGU6IFdlZCwgNiBBdWcgMjAyNSAx OTo0OToxMSArMDIwMApTdWJqZWN0OiBbUEFUQ0ggMzQ1LzQzNF0gYXZjb2RlYy9tcGM4OiBpbml0 IGF2Y3R4LT5zYW1wbGVfcmF0ZQpNSU1FLVZlcnNpb246IDEuMApDb250ZW50LVR5cGU6IHRleHQv cGxhaW47IGNoYXJzZXQ9VVRGLTgKQ29udGVudC1UcmFuc2Zlci1FbmNvZGluZzogOGJpdAoKRml4 ZXMgZnJhbWUgdmFsaWRhdGlvbi4KCkZpeGVzOiA0MTYxMzQ1NTEvY2x1c3RlcmZ1enotdGVzdGNh c2UtbWluaW1pemVkLWZmbXBlZ19BVl9DT0RFQ19JRF9NUEM4X2Z1enplci01NzY1NTU3MjQyODg4 MTkyCkZvdW5kLWJ5OiBPU1MtRnV6egpTaWduZWQtb2ZmLWJ5OiBLYWNwZXIgTWljaGFqxYJvdyA8 a2FzcGVyOTNAZ21haWwuY29tPgooY2hlcnJ5IHBpY2tlZCBmcm9tIGNvbW1pdCAwOWNiMmQ0MWQx ODYyYzJmOWIzYjY2MzExZWRlMjg1MjdkNzAzNzAwKQpTaWduZWQtb2ZmLWJ5OiBNaWNoYWVsIE5p ZWRlcm1heWVyIDxtaWNoYWVsQG5pZWRlcm1heWVyLmNjPgotLS0KIGxpYmF2Y29kZWMvbXBjOC5j IHwgOCArKysrKysrLQogMSBmaWxlIGNoYW5nZWQsIDcgaW5zZXJ0aW9ucygrKSwgMSBkZWxldGlv bigtKQoKZGlmZiAtLWdpdCBhL2xpYmF2Y29kZWMvbXBjOC5jIGIvbGliYXZjb2RlYy9tcGM4LmMK aW5kZXggMjc4NTI1OTExOS4uYWUxNDU5MjdlZSAxMDA2NDQKLS0tIGEvbGliYXZjb2RlYy9tcGM4 LmMKKysrIGIvbGliYXZjb2RlYy9tcGM4LmMKQEAgLTE1NSw3ICsxNTUsMTMgQEAgc3RhdGljIGF2 X2NvbGQgaW50IG1wYzhfZGVjb2RlX2luaXQoQVZDb2RlY0NvbnRleHQgKiBhdmN0eCkKIAogICAg IGluaXRfZ2V0X2JpdHMoJmdiLCBhdmN0eC0+ZXh0cmFkYXRhLCAxNik7CiAKLSAgICBza2lwX2Jp dHMoJmdiLCAzKTsvL3NhbXBsZSByYXRlCisgICAgdWludDhfdCBzYW1wbGVfcmF0ZV9pZHggPSBn ZXRfYml0cygmZ2IsIDMpOworICAgIHN0YXRpYyBjb25zdCBpbnQgc2FtcGxlX3JhdGVzW10gPSB7 IDQ0MTAwLCA0ODAwMCwgMzc4MDAsIDMyMDAwIH07CisgICAgaWYgKHNhbXBsZV9yYXRlX2lkeCA+ PSBGRl9BUlJBWV9FTEVNUyhzYW1wbGVfcmF0ZXMpKSB7CisgICAgICAgIGF2X2xvZyhhdmN0eCwg QVZfTE9HX0VSUk9SLCAiaW52YWxpZCBzYW1wbGUgcmF0ZSBpbmRleCAoJXUpXG4iLCBzYW1wbGVf cmF0ZV9pZHgpOworICAgICAgICByZXR1cm4gQVZFUlJPUl9JTlZBTElEREFUQTsKKyAgICB9Cisg ICAgYXZjdHgtPnNhbXBsZV9yYXRlID0gc2FtcGxlX3JhdGVzW3NhbXBsZV9yYXRlX2lkeF07CiAg ICAgYy0+bWF4YmFuZHMgPSBnZXRfYml0cygmZ2IsIDUpICsgMTsKICAgICBpZiAoYy0+bWF4YmFu ZHMgPj0gQkFORFMpIHsKICAgICAgICAgYXZfbG9nKGF2Y3R4LEFWX0xPR19FUlJPUiwgIm1heGJh bmRzICVkIHRvbyBoaWdoXG4iLCBjLT5tYXhiYW5kcyk7Ci0tIAoyLjQ5LjEKCgpGcm9tIDM0NmFj MDYzZGZjMmY4OWNiNDJiMTM1N2M5MWJkYzNiN2UxM2QwMjQgTW9uIFNlcCAxNyAwMDowMDowMCAy MDAxCkZyb206IEppYXNoZW5nIEppYW5nIDxqaWFzaGVuZ2ppYW5nY29vbEBnbWFpbC5jb20+CkRh dGU6IFR1ZSwgNSBBdWcgMjAyNSAxOTozMToxNSArMDAwMApTdWJqZWN0OiBbUEFUQ0ggMzQ2LzQz NF0gbGliYXZjb2RlYy92aWRlb3Rvb2xib3hfdnA5OiBNb3ZlIGF2X21hbGxvYygpIHRvCiBhdm9p ZCBtZW1vcnkgbGVhawoKTW92ZSBhdl9tYWxsb2MoKSBhZnRlciB0aGUgY2hlY2sgZm9yIHN1YnNh bXBsaW5nIHRvIGF2b2lkIG1lbW9yeSBsZWFrIGlmIHN1YnNhbXBsaW5nIDwgMCBhbmQgYXZfbWFs bG9jKCkgc3VjY2VlZHMuCgpGaXhlczogYTQxYTJlZmM4NSAoImxhdmMvdmlkZW90b29sYm94OiBh ZGQgVlA5IGhhcmR3YXJlIGFjY2VsZXJhdGlvbiIpClNpZ25lZC1vZmYtYnk6IEppYXNoZW5nIEpp YW5nIDxqaWFzaGVuZ2ppYW5nY29vbEBnbWFpbC5jb20+ClNpZ25lZC1vZmYtYnk6IE1pY2hhZWwg TmllZGVybWF5ZXIgPG1pY2hhZWxAbmllZGVybWF5ZXIuY2M+CihjaGVycnkgcGlja2VkIGZyb20g Y29tbWl0IDhiNGU2Y2NiMTNmMTA3NTJiYzVjMmE5NjM0NzhjN2YzNzY0YTBjZmUpClNpZ25lZC1v ZmYtYnk6IE1pY2hhZWwgTmllZGVybWF5ZXIgPG1pY2hhZWxAbmllZGVybWF5ZXIuY2M+Ci0tLQog bGliYXZjb2RlYy92aWRlb3Rvb2xib3hfdnA5LmMgfCA2ICsrKy0tLQogMSBmaWxlIGNoYW5nZWQs IDMgaW5zZXJ0aW9ucygrKSwgMyBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9saWJhdmNvZGVj L3ZpZGVvdG9vbGJveF92cDkuYyBiL2xpYmF2Y29kZWMvdmlkZW90b29sYm94X3ZwOS5jCmluZGV4 IGRhOTRmZjRlNTQuLjNjNzQ5NDc5MWQgMTAwNjQ0Ci0tLSBhL2xpYmF2Y29kZWMvdmlkZW90b29s Ym94X3ZwOS5jCisrKyBiL2xpYmF2Y29kZWMvdmlkZW90b29sYm94X3ZwOS5jCkBAIC03MSwxMiAr NzEsMTIgQEAgQ0ZEYXRhUmVmIGZmX3ZpZGVvdG9vbGJveF92cGNjX2V4dHJhZGF0YV9jcmVhdGUo QVZDb2RlY0NvbnRleHQgKmF2Y3R4KQogICAgIHVpbnQ4X3QgKnZ0X2V4dHJhZGF0YTsKICAgICBp bnQgc3Vic2FtcGxpbmcgPSBnZXRfdnB4X2Nocm9tYV9zdWJzYW1wbGluZyhhdmN0eC0+c3dfcGl4 X2ZtdCwgYXZjdHgtPmNocm9tYV9zYW1wbGVfbG9jYXRpb24pOwogCi0gICAgdnRfZXh0cmFkYXRh X3NpemUgPSAxICsgMyArIDYgKyAyOwotICAgIHZ0X2V4dHJhZGF0YSA9IGF2X21hbGxvYyh2dF9l eHRyYWRhdGFfc2l6ZSk7Ci0KICAgICBpZiAoc3Vic2FtcGxpbmcgPCAwKQogICAgICAgICByZXR1 cm4gTlVMTDsKIAorICAgIHZ0X2V4dHJhZGF0YV9zaXplID0gMSArIDMgKyA2ICsgMjsKKyAgICB2 dF9leHRyYWRhdGEgPSBhdl9tYWxsb2ModnRfZXh0cmFkYXRhX3NpemUpOworCiAgICAgaWYgKCF2 dF9leHRyYWRhdGEpCiAgICAgICAgIHJldHVybiBOVUxMOwogCi0tIAoyLjQ5LjEKCgpGcm9tIDBl OGNjZGU5ZTVjOWRhYTA4MWViNGMwMzdkODMzNTAzOTBjOWFhMmIgTW9uIFNlcCAxNyAwMDowMDow MCAyMDAxCkZyb206IEppYXNoZW5nIEppYW5nIDxqaWFzaGVuZ2ppYW5nY29vbEBnbWFpbC5jb20+ CkRhdGU6IFdlZCwgNiBBdWcgMjAyNSAxNjozOTo0NyArMDAwMApTdWJqZWN0OiBbUEFUQ0ggMzQ3 LzQzNF0gbGliYXZmaWx0ZXIvYWZfZmlyZXF1YWxpemVyOiBBZGQgY2hlY2sgZm9yCiBhdl9tYWxs b2NfYXJyYXkoKQoKQWRkIGNoZWNrIGZvciB0aGUgcmV0dXJuIHZhbHVlIG9mIGF2X21hbGxvY19h cnJheSgpIHRvIGF2b2lkIHBvdGVudGlhbCBOVUxMIHBvaW50ZXIgZGVyZWZlcmVuY2UuCgpGaXhl czogZDNiZTE4NmVkMSAoImF2ZmlsdGVyL2ZpcmVxdWFsaXplcjogYWRkIGR1bXBmaWxlIGFuZCBk dW1wc2NhbGUgb3B0aW9uIikKU2lnbmVkLW9mZi1ieTogSmlhc2hlbmcgSmlhbmcgPGppYXNoZW5n amlhbmdjb29sQGdtYWlsLmNvbT4KU2lnbmVkLW9mZi1ieTogTWljaGFlbCBOaWVkZXJtYXllciA8 bWljaGFlbEBuaWVkZXJtYXllci5jYz4KKGNoZXJyeSBwaWNrZWQgZnJvbSBjb21taXQgYTI1NDYy NDgyYzAyYzAwNGQ2ODVhOGZjZjJmYTYzOTU1YWFhMDkzMSkKU2lnbmVkLW9mZi1ieTogTWljaGFl bCBOaWVkZXJtYXllciA8bWljaGFlbEBuaWVkZXJtYXllci5jYz4KLS0tCiBsaWJhdmZpbHRlci9h Zl9maXJlcXVhbGl6ZXIuYyB8IDIgKysKIDEgZmlsZSBjaGFuZ2VkLCAyIGluc2VydGlvbnMoKykK CmRpZmYgLS1naXQgYS9saWJhdmZpbHRlci9hZl9maXJlcXVhbGl6ZXIuYyBiL2xpYmF2ZmlsdGVy L2FmX2ZpcmVxdWFsaXplci5jCmluZGV4IDM4NmQ4Y2QyNDIuLjFjZThjYWJiZDYgMTAwNjQ0Ci0t LSBhL2xpYmF2ZmlsdGVyL2FmX2ZpcmVxdWFsaXplci5jCisrKyBiL2xpYmF2ZmlsdGVyL2FmX2Zp cmVxdWFsaXplci5jCkBAIC04MDgsNiArODA4LDggQEAgc3RhdGljIGludCBjb25maWdfaW5wdXQo QVZGaWx0ZXJMaW5rICppbmxpbmspCiAgICAgICAgIGlmICgocmV0ID0gYXZfdHhfaW5pdCgmcy0+ YW5hbHlzaXNfcmRmdCwgJnMtPmFuYWx5c2lzX3JkZnRfZm4sIEFWX1RYX0ZMT0FUX1JERlQsIDAs IDEgPDwgcmRmdF9iaXRzLCAmc2NhbGUsIDApKSA8IDApCiAgICAgICAgICAgICByZXR1cm4gcmV0 OwogICAgICAgICBzLT5kdW1wX2J1ZiA9IGF2X21hbGxvY19hcnJheShzLT5hbmFseXNpc19yZGZ0 X2xlbiArIDIsIHNpemVvZigqcy0+ZHVtcF9idWYpKTsKKyAgICAgICAgaWYgKCFzLT5kdW1wX2J1 ZikKKyAgICAgICAgICAgIHJldHVybiBBVkVSUk9SKEVOT01FTSk7CiAgICAgfQogCiAgICAgcy0+ YW5hbHlzaXNfYnVmID0gYXZfbWFsbG9jX2FycmF5KChzLT5hbmFseXNpc19yZGZ0X2xlbiArIDIp LCBzaXplb2YoKnMtPmFuYWx5c2lzX2J1ZikpOwotLSAKMi40OS4xCgoKRnJvbSAyYmJhMmI4MmZk NzQ2Y2Y2ODUyNjZhNjEzMjEzY2U0NGU1MjVkZGY2IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQpG cm9tOiBKaWFzaGVuZyBKaWFuZyA8amlhc2hlbmdqaWFuZ2Nvb2xAZ21haWwuY29tPgpEYXRlOiBT dW4sIDMgQXVnIDIwMjUgMjM6MzE6MjcgKzAwMDAKU3ViamVjdDogW1BBVENIIDM0OC80MzRdIGxp YmF2Y29kZWMvdGVzdHMvc25vd2VuYzogQWRkIGF2X2ZyZWUoKSB0byBhdm9pZAogbWVtb3J5IGxl YWsKCkFkZCBhdl9mcmVlKCkgdG8gZnJlZSBzLnRlbXBfZHd0X2J1ZmZlciBhbmQgcy50ZW1wX2lk d3RfYnVmZmVyIGF0IHRoZSBlbmQgb2YgdGhlIGZ1bmN0aW9uIHRvIGF2b2lkIG1lbW9yeSBsZWFr LgoKRml4ZXM6IDVkNDhlNGVhZmEgKCJNZXJnZSBjb21taXQgJ2E2YTc1MGM3ZWYyNDBiNzJjZTAx ZTk2NTMzNDNhMGRkZjI0N2QxOTYnIikKU2lnbmVkLW9mZi1ieTogSmlhc2hlbmcgSmlhbmcgPGpp YXNoZW5namlhbmdjb29sQGdtYWlsLmNvbT4KU2lnbmVkLW9mZi1ieTogTWljaGFlbCBOaWVkZXJt YXllciA8bWljaGFlbEBuaWVkZXJtYXllci5jYz4KKGNoZXJyeSBwaWNrZWQgZnJvbSBjb21taXQg NDQ2Y2ZiZmI3NDQ2MjA4YmQxNTkyYmJjMGFjMThhYzc0NDU0MzU2MykKU2lnbmVkLW9mZi1ieTog TWljaGFlbCBOaWVkZXJtYXllciA8bWljaGFlbEBuaWVkZXJtYXllci5jYz4KLS0tCiBsaWJhdmNv ZGVjL3Rlc3RzL3Nub3dlbmMuYyB8IDcgKysrKysrLQogMSBmaWxlIGNoYW5nZWQsIDYgaW5zZXJ0 aW9ucygrKSwgMSBkZWxldGlvbigtKQoKZGlmZiAtLWdpdCBhL2xpYmF2Y29kZWMvdGVzdHMvc25v d2VuYy5jIGIvbGliYXZjb2RlYy90ZXN0cy9zbm93ZW5jLmMKaW5kZXggZWI0ZTY0ZjM3Ny4uMzEx Mzc0ZTVkNCAxMDA2NDQKLS0tIGEvbGliYXZjb2RlYy90ZXN0cy9zbm93ZW5jLmMKKysrIGIvbGli YXZjb2RlYy90ZXN0cy9zbm93ZW5jLmMKQEAgLTQ1LDcgKzQ1LDggQEAgaW50IG1haW4odm9pZCl7 CiAKICAgICBpZiAoIXMudGVtcF9kd3RfYnVmZmVyIHx8ICFzLnRlbXBfaWR3dF9idWZmZXIpIHsK ICAgICAgICAgZnByaW50ZihzdGRlcnIsICJGYWlsZWQgdG8gYWxsb2NhdGUgbWVtb3J5XG4iKTsK LSAgICAgICAgcmV0dXJuIDE7CisgICAgICAgIHJldCA9IDE7CisgICAgICAgIGdvdG8gZW5kOwog ICAgIH0KIAogICAgIGF2X2xmZ19pbml0KCZwcm5nLCAxKTsKQEAgLTE0NSw1ICsxNDYsOSBAQCBp bnQgbWFpbih2b2lkKXsKICAgICAgICAgfQogCiAgICAgfQorCitlbmQ6CisgICAgYXZfZnJlZShz LnRlbXBfZHd0X2J1ZmZlcik7CisgICAgYXZfZnJlZShzLnRlbXBfaWR3dF9idWZmZXIpOwogICAg IHJldHVybiByZXQ7CiB9Ci0tIAoyLjQ5LjEKCgpGcm9tIDE5ODU2ZTE0MGVjYWRiY2FhMTdhYTY1 YmU2NjU1MTBhNDA2N2IzMDkgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCkZyb206IEppYXNoZW5n IEppYW5nIDxqaWFzaGVuZ2ppYW5nY29vbEBnbWFpbC5jb20+CkRhdGU6IFdlZCwgNiBBdWcgMjAy NSAxNDo1NDoyMiArMDAwMApTdWJqZWN0OiBbUEFUQ0ggMzQ5LzQzNF0gZXhhbXBsZXM6IEFkZCBj aGVjayBhbmQgcmVwbGFjZSBhdl9mcmVlKCkgdG8gYXZvaWQKIHBvdGVudGlhbCBtZW1vcnkgZXJy b3JzCgpBZGQgY2hlY2sgZm9yIHRoZSByZXR1cm4gdmFsdWUgb2YgYXZfcGFja2V0X2FsbG9jKCkg dG8gYXZvaWQgcG90ZW50aWFsIE5VTEwgcG9pbnRlciBkZXJlZmVyZW5jZS4KTW9yZW92ZXIsIHJl cGxhY2UgcmVkdW5kYW50IGF2X2ZyZWUoKSB3aXRoIGZwcmludGYoKS4KCkZpeGVzOiA5YTM4MTg0 YTE0ICgiZXhhbXBsZXMvZGVjb2RlX2F1ZGlvOiBhbGxvY2F0ZSB0aGUgcGFja2V0IGR5bmFtaWNh bGx5IikKU2lnbmVkLW9mZi1ieTogSmlhc2hlbmcgSmlhbmcgPGppYXNoZW5namlhbmdjb29sQGdt YWlsLmNvbT4KUmV2aWV3ZWQtYnk6IE5pY29sYXMgR2VvcmdlIDxnZW9yZ2VAbnN1cC5vcmc+ClNp Z25lZC1vZmYtYnk6IE1pY2hhZWwgTmllZGVybWF5ZXIgPG1pY2hhZWxAbmllZGVybWF5ZXIuY2M+ CihjaGVycnkgcGlja2VkIGZyb20gY29tbWl0IGM2NGNmZjY0YTIyYTU5YzBjMDIyODFlZTlmZDlk ODk5NjNkMTRkMTYpClNpZ25lZC1vZmYtYnk6IE1pY2hhZWwgTmllZGVybWF5ZXIgPG1pY2hhZWxA bmllZGVybWF5ZXIuY2M+Ci0tLQogZG9jL2V4YW1wbGVzL2RlY29kZV9hdWRpby5jIHwgNiArKysr Ky0KIDEgZmlsZSBjaGFuZ2VkLCA1IGluc2VydGlvbnMoKyksIDEgZGVsZXRpb24oLSkKCmRpZmYg LS1naXQgYS9kb2MvZXhhbXBsZXMvZGVjb2RlX2F1ZGlvLmMgYi9kb2MvZXhhbXBsZXMvZGVjb2Rl X2F1ZGlvLmMKaW5kZXggYmNiM2Q4N2E2OS4uMjZjZTA3YTU1MiAxMDA2NDQKLS0tIGEvZG9jL2V4 YW1wbGVzL2RlY29kZV9hdWRpby5jCisrKyBiL2RvYy9leGFtcGxlcy9kZWNvZGVfYXVkaW8uYwpA QCAtMTI4LDYgKzEyOCwxMCBAQCBpbnQgbWFpbihpbnQgYXJnYywgY2hhciAqKmFyZ3YpCiAgICAg b3V0ZmlsZW5hbWUgPSBhcmd2WzJdOwogCiAgICAgcGt0ID0gYXZfcGFja2V0X2FsbG9jKCk7Cisg ICAgaWYgKCFwa3QpIHsKKyAgICAgICAgZnByaW50ZihzdGRlcnIsICJDb3VsZCBub3QgYWxsb2Nh dGUgQVZQYWNrZXRcbiIpOworICAgICAgICBleGl0KDEpOyAvKiBvciBwcm9wZXIgY2xlYW51cCBh bmQgcmV0dXJuaW5nICovCisgICAgfQogCiAgICAgLyogZmluZCB0aGUgTVBFRyBhdWRpbyBkZWNv ZGVyICovCiAgICAgY29kZWMgPSBhdmNvZGVjX2ZpbmRfZGVjb2RlcihBVl9DT0RFQ19JRF9NUDIp OwpAQCAtMTYxLDcgKzE2NSw3IEBAIGludCBtYWluKGludCBhcmdjLCBjaGFyICoqYXJndikKICAg ICB9CiAgICAgb3V0ZmlsZSA9IGZvcGVuKG91dGZpbGVuYW1lLCAid2IiKTsKICAgICBpZiAoIW91 dGZpbGUpIHsKLSAgICAgICAgYXZfZnJlZShjKTsKKyAgICAgICAgZnByaW50ZihzdGRlcnIsICJD b3VsZCBub3Qgb3BlbiAlc1xuIiwgb3V0ZmlsZW5hbWUpOwogICAgICAgICBleGl0KDEpOwogICAg IH0KIAotLSAKMi40OS4xCgoKRnJvbSA5NzkzMjY3N2RiYzI5YzExNzNmMzM2MTg4NjAyMjQyNmFj NzQxOTdlIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBNaWNoYWVsIE5pZWRlcm1heWVy IDxtaWNoYWVsQG5pZWRlcm1heWVyLmNjPgpEYXRlOiBXZWQsIDYgQXVnIDIwMjUgMTA6MzU6MTUg KzAyMDAKU3ViamVjdDogW1BBVENIIDM1MC80MzRdIGF2Y29kZWMvZXhyOiBEb250IGFjY2VzcyBv dXRzaWRlIHhzaXplL3lzaXplCgpGaXhlczogb3V0IG9mIGFycmF5IGFjY2VzcwpGaXhlczogQklH U0xFRVAtNDM2NTEwMzE2L2R3YV91bmNvbXByZXNzX3dyaXRlLmV4cgoKRm91bmQtYnk6IEdvb2ds ZSBCaWcgU2xlZXAKU2lnbmVkLW9mZi1ieTogTWljaGFlbCBOaWVkZXJtYXllciA8bWljaGFlbEBu aWVkZXJtYXllci5jYz4KKGNoZXJyeSBwaWNrZWQgZnJvbSBjb21taXQgZjQ1ZGE3OWIyYzMzNmM1 ZjhmM2U1NjNkNzJiOGEyMmZlY2RjZGUwYykKU2lnbmVkLW9mZi1ieTogTWljaGFlbCBOaWVkZXJt YXllciA8bWljaGFlbEBuaWVkZXJtYXllci5jYz4KLS0tCiBsaWJhdmNvZGVjL2V4ci5jIHwgNyAr KysrKy0tCiAxIGZpbGUgY2hhbmdlZCwgNSBpbnNlcnRpb25zKCspLCAyIGRlbGV0aW9ucygtKQoK ZGlmZiAtLWdpdCBhL2xpYmF2Y29kZWMvZXhyLmMgYi9saWJhdmNvZGVjL2V4ci5jCmluZGV4IDRi YWMwYmU4OWIuLjQ5ZTYxNzJlNDEgMTAwNjQ0Ci0tLSBhL2xpYmF2Y29kZWMvZXhyLmMKKysrIGIv bGliYXZjb2RlYy9leHIuYwpAQCAtMTEwNyw2ICsxMTA3LDkgQEAgc3RhdGljIGludCBkd2FfdW5j b21wcmVzcyhjb25zdCBFWFJDb250ZXh0ICpzLCBjb25zdCB1aW50OF90ICpzcmMsIGludCBjb21w cmVzc2UKIAogICAgIGZvciAoaW50IHkgPSAwOyB5IDwgdGQtPnlzaXplOyB5ICs9IDgpIHsKICAg ICAgICAgZm9yIChpbnQgeCA9IDA7IHggPCB0ZC0+eHNpemU7IHggKz0gOCkgeworICAgICAgICAg ICAgaW50IGJ3ID0gRkZNSU4oOCwgdGQtPnhzaXplIC0geCk7CisgICAgICAgICAgICBpbnQgYmgg PSBGRk1JTig4LCB0ZC0+eXNpemUgLSB5KTsKKwogICAgICAgICAgICAgbWVtc2V0KHRkLT5ibG9j aywgMCwgc2l6ZW9mKHRkLT5ibG9jaykpOwogCiAgICAgICAgICAgICBmb3IgKGludCBqID0gMDsg aiA8IDM7IGorKykgewpAQCAtMTEzNCw4ICsxMTM3LDggQEAgc3RhdGljIGludCBkd2FfdW5jb21w cmVzcyhjb25zdCBFWFJDb250ZXh0ICpzLCBjb25zdCB1aW50OF90ICpzcmMsIGludCBjb21wcmVz c2UKICAgICAgICAgICAgICAgICBmbG9hdCAqdWIgPSB0ZC0+YmxvY2tbMV07CiAgICAgICAgICAg ICAgICAgZmxvYXQgKnZiID0gdGQtPmJsb2NrWzJdOwogCi0gICAgICAgICAgICAgICAgZm9yIChp bnQgeXkgPSAwOyB5eSA8IDg7IHl5KyspIHsKLSAgICAgICAgICAgICAgICAgICAgZm9yIChpbnQg eHggPSAwOyB4eCA8IDg7IHh4KyspIHsKKyAgICAgICAgICAgICAgICBmb3IgKGludCB5eSA9IDA7 IHl5IDwgYmg7IHl5KyspIHsKKyAgICAgICAgICAgICAgICAgICAgZm9yIChpbnQgeHggPSAwOyB4 eCA8IGJ3OyB4eCsrKSB7CiAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBpbnQgaWR4ID0g eHggKyB5eSAqIDg7CiAKICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnZlcnQoeWJbaWR4XSwg dWJbaWR4XSwgdmJbaWR4XSwgJmJvW3h4XSwgJmdvW3h4XSwgJnJvW3h4XSk7Ci0tIAoyLjQ5LjEK CgpGcm9tIGQ3ZTE4OGYzM2Y2MzhkODVhMWFiNzA5NDNiZGU3MDM1OTQ1NGIwNWMgTW9uIFNlcCAx NyAwMDowMDowMCAyMDAxCkZyb206IE1pY2hhZWwgTmllZGVybWF5ZXIgPG1pY2hhZWxAbmllZGVy bWF5ZXIuY2M+CkRhdGU6IFdlZCwgNiBBdWcgMjAyNSAxMDowODoxNCArMDIwMApTdWJqZWN0OiBb UEFUQ0ggMzUxLzQzNF0gYXZjb2RlYy9leHI6IENoZWNrIHJsZV9yYXdfZGF0YSBhbmQgc3Vycm91 bmRpbmdzCgpGaXhlczogb3V0IG9mIGFycmF5IHJlYWQKCkZpeGVzOiBCSUdTTEVFUC00MzY1MTAx NTMvZHdhX3VuY29tcHJlc3NfcmVhZC5leHIKCkZvdW5kLWJ5OiBHb29nbGUgQmlnIFNsZWVwClNp Z25lZC1vZmYtYnk6IE1pY2hhZWwgTmllZGVybWF5ZXIgPG1pY2hhZWxAbmllZGVybWF5ZXIuY2M+ CihjaGVycnkgcGlja2VkIGZyb20gY29tbWl0IDBkOWMwMDNkNzYzODNlODJiNTdiNmQ1YWEzMzc3 NjcwOWQwY2RhMmMpClNpZ25lZC1vZmYtYnk6IE1pY2hhZWwgTmllZGVybWF5ZXIgPG1pY2hhZWxA bmllZGVybWF5ZXIuY2M+Ci0tLQogbGliYXZjb2RlYy9leHIuYyB8IDEzICsrKysrKysrKysrKy0K IDEgZmlsZSBjaGFuZ2VkLCAxMiBpbnNlcnRpb25zKCspLCAxIGRlbGV0aW9uKC0pCgpkaWZmIC0t Z2l0IGEvbGliYXZjb2RlYy9leHIuYyBiL2xpYmF2Y29kZWMvZXhyLmMKaW5kZXggNDllNjE3MmU0 MS4uOGQ2NGFkM2RlYyAxMDA2NDQKLS0tIGEvbGliYXZjb2RlYy9leHIuYworKysgYi9saWJhdmNv ZGVjL2V4ci5jCkBAIC05OTEsNiArOTkxLDcgQEAgc3RhdGljIGludCBkd2FfdW5jb21wcmVzcyhj b25zdCBFWFJDb250ZXh0ICpzLCBjb25zdCB1aW50OF90ICpzcmMsIGludCBjb21wcmVzc2UKICAg ICBjb25zdCBpbnQgZGNfaCA9IHRkLT55c2l6ZSA+PiAzOwogICAgIEdldEJ5dGVDb250ZXh0IGdi LCBhZ2I7CiAgICAgaW50IHNraXAsIHJldDsKKyAgICBpbnQgaGF2ZV9ybGUgPSAwOwogCiAgICAg aWYgKGNvbXByZXNzZWRfc2l6ZSA8PSA4OCkKICAgICAgICAgcmV0dXJuIEFWRVJST1JfSU5WQUxJ RERBVEE7CkBAIC0xMDE1LDYgKzEwMTYsMTEgQEAgc3RhdGljIGludCBkd2FfdW5jb21wcmVzcyhj b25zdCBFWFJDb250ZXh0ICpzLCBjb25zdCB1aW50OF90ICpzcmMsIGludCBjb21wcmVzc2UKICAg ICApCiAgICAgICAgIHJldHVybiBBVkVSUk9SX0lOVkFMSUREQVRBOwogCisgICAgaWYgKCh1aW50 NjRfdClybGVfcmF3X3NpemUgPiBJTlRfTUFYKSB7CisgICAgICAgIGF2cHJpdl9yZXF1ZXN0X3Nh bXBsZShzLT5hdmN0eCwgIlRvbyBiaWcgcmxlX3Jhd19zaXplIik7CisgICAgICAgIHJldHVybiBB VkVSUk9SX0lOVkFMSUREQVRBOworICAgIH0KKwogICAgIGJ5dGVzdHJlYW0yX2luaXQoJmdiLCBz cmMgKyA4OCwgY29tcHJlc3NlZF9zaXplIC0gODgpOwogICAgIHNraXAgPSBieXRlc3RyZWFtMl9n ZXRfbGUxNigmZ2IpOwogICAgIGlmIChza2lwIDwgMikKQEAgLTEwODUsNiArMTA5MSw5IEBAIHN0 YXRpYyBpbnQgZHdhX3VuY29tcHJlc3MoY29uc3QgRVhSQ29udGV4dCAqcywgY29uc3QgdWludDhf dCAqc3JjLCBpbnQgY29tcHJlc3NlCiAgICAgaWYgKHJsZV9yYXdfc2l6ZSA+IDAgJiYgcmxlX2Nz aXplID4gMCAmJiBybGVfdXNpemUgPiAwKSB7CiAgICAgICAgIHVuc2lnbmVkIGxvbmcgZGVzdF9s ZW4gPSBybGVfdXNpemU7CiAKKyAgICAgICAgaWYgKDJMTCAqIHRkLT54c2l6ZSAqIHRkLT55c2l6 ZSA+IHJsZV9yYXdfc2l6ZSkKKyAgICAgICAgICAgIHJldHVybiBBVkVSUk9SX0lOVkFMSUREQVRB OworCiAgICAgICAgIGF2X2Zhc3RfcGFkZGVkX21hbGxvYygmdGQtPnJsZV9kYXRhLCAmdGQtPnJs ZV9zaXplLCBybGVfdXNpemUpOwogICAgICAgICBpZiAoIXRkLT5ybGVfZGF0YSkKICAgICAgICAg ICAgIHJldHVybiBBVkVSUk9SKEVOT01FTSk7CkBAIC0xMTAxLDYgKzExMTAsOCBAQCBzdGF0aWMg aW50IGR3YV91bmNvbXByZXNzKGNvbnN0IEVYUkNvbnRleHQgKnMsIGNvbnN0IHVpbnQ4X3QgKnNy YywgaW50IGNvbXByZXNzZQogICAgICAgICBpZiAocmV0IDwgMCkKICAgICAgICAgICAgIHJldHVy biByZXQ7CiAgICAgICAgIGJ5dGVzdHJlYW0yX3NraXAoJmdiLCBybGVfY3NpemUpOworCisgICAg ICAgIGhhdmVfcmxlID0gMTsKICAgICB9CiAKICAgICBieXRlc3RyZWFtMl9pbml0KCZhZ2IsIHRk LT5hY19kYXRhLCBhY19jb3VudCAqIDIpOwpAQCAtMTE1OSw3ICsxMTcwLDcgQEAgc3RhdGljIGlu dCBkd2FfdW5jb21wcmVzcyhjb25zdCBFWFJDb250ZXh0ICpzLCBjb25zdCB1aW50OF90ICpzcmMs IGludCBjb21wcmVzc2UKICAgICBpZiAocy0+bmJfY2hhbm5lbHMgPCA0KQogICAgICAgICByZXR1 cm4gMDsKIAotICAgIGZvciAoaW50IHkgPSAwOyB5IDwgdGQtPnlzaXplICYmIHRkLT5ybGVfcmF3 X2RhdGE7IHkrKykgeworICAgIGZvciAoaW50IHkgPSAwOyB5IDwgdGQtPnlzaXplICYmIGhhdmVf cmxlOyB5KyspIHsKICAgICAgICAgdWludDMyX3QgKmFvID0gKCh1aW50MzJfdCAqKXRkLT51bmNv bXByZXNzZWRfZGF0YSkgKyB5ICogdGQtPnhzaXplICogcy0+bmJfY2hhbm5lbHM7CiAgICAgICAg IHVpbnQ4X3QgKmFpMCA9IHRkLT5ybGVfcmF3X2RhdGEgKyB5ICogdGQtPnhzaXplOwogICAgICAg ICB1aW50OF90ICphaTEgPSB0ZC0+cmxlX3Jhd19kYXRhICsgeSAqIHRkLT54c2l6ZSArIHJsZV9y YXdfc2l6ZSAvIDI7Ci0tIAoyLjQ5LjEKCgpGcm9tIDRjMDM2ZWMzMDcwNDA0Njk3ODNiYWIwYjcy MjMwMDZjMGZhY2VjMWQgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCkZyb206IE1pY2hhZWwgTmll ZGVybWF5ZXIgPG1pY2hhZWxAbmllZGVybWF5ZXIuY2M+CkRhdGU6IFR1ZSwgNSBBdWcgMjAyNSAy MzoxODo0NyArMDIwMApTdWJqZWN0OiBbUEFUQ0ggMzUyLzQzNF0gYXZjb2RlYy9qcGVnMjAwMGRl YzogbW92ZSBjZGVmIGRlZmF1bHQgY2hlY2sgaW50bwogZ2V0X3NpeigpCgpUaGlzIHdheSBjZGVm IGlzIGF0IGl0cyBmaW5hbCB2YWx1ZSBlYXJsaWVyCgpTaWduZWQtb2ZmLWJ5OiBNaWNoYWVsIE5p ZWRlcm1heWVyIDxtaWNoYWVsQG5pZWRlcm1heWVyLmNjPgooY2hlcnJ5IHBpY2tlZCBmcm9tIGNv bW1pdCAxMDRkNjg0NmMxYmUwY2I3NTdkYzk1ZDU4MDFhNDE2ZjRkN2M2ODdkKQpTaWduZWQtb2Zm LWJ5OiBNaWNoYWVsIE5pZWRlcm1heWVyIDxtaWNoYWVsQG5pZWRlcm1heWVyLmNjPgotLS0KIGxp YmF2Y29kZWMvanBlZzIwMDBkZWMuYyB8IDIyICsrKysrKysrKysrLS0tLS0tLS0tLS0KIDEgZmls ZSBjaGFuZ2VkLCAxMSBpbnNlcnRpb25zKCspLCAxMSBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQg YS9saWJhdmNvZGVjL2pwZWcyMDAwZGVjLmMgYi9saWJhdmNvZGVjL2pwZWcyMDAwZGVjLmMKaW5k ZXggMmUwOWIyNzlkYy4uM2Y3MTc0ZmIwMyAxMDA2NDQKLS0tIGEvbGliYXZjb2RlYy9qcGVnMjAw MGRlYy5jCisrKyBiL2xpYmF2Y29kZWMvanBlZzIwMDBkZWMuYwpAQCAtMjcxLDYgKzI3MSwxNyBA QCBzdGF0aWMgaW50IGdldF9zaXooSnBlZzIwMDBEZWNvZGVyQ29udGV4dCAqcykKICAgICAgICAg cmV0dXJuIEFWRVJST1JfSU5WQUxJRERBVEE7CiAgICAgfQogCisgICAgZm9yIChpID0gMDsgaSA8 IHMtPm5jb21wb25lbnRzOyBpKyspIHsKKyAgICAgICAgaWYgKHMtPmNkZWZbaV0gPCAwKSB7Cisg ICAgICAgICAgICBmb3IgKGkgPSAwOyBpIDwgcy0+bmNvbXBvbmVudHM7IGkrKykgeworICAgICAg ICAgICAgICAgIHMtPmNkZWZbaV0gPSBpICsgMTsKKyAgICAgICAgICAgIH0KKyAgICAgICAgICAg IGlmICgocy0+bmNvbXBvbmVudHMgJiAxKSA9PSAwKQorICAgICAgICAgICAgICAgIHMtPmNkZWZb cy0+bmNvbXBvbmVudHMtMV0gPSAwOworICAgICAgICB9CisgICAgfQorICAgIC8vIGFmdGVyIGhl cmUgd2Ugbm8gbG9uZ2VyIGhhdmUgdG8gY29uc2lkZXIgbmVnYXRpdmUgY2RlZgorCiAgICAgZm9y IChpID0gMDsgaSA8IHMtPm5jb21wb25lbnRzOyBpKyspIHsgLy8gU3Npel9pIFhSc2l6X2ksIFlS c2l6X2kKICAgICAgICAgdWludDhfdCB4ICAgID0gYnl0ZXN0cmVhbTJfZ2V0X2J5dGV1KCZzLT5n KTsKICAgICAgICAgcy0+Y2Jwc1tpXSAgID0gKHggJiAweDdmKSArIDE7CkBAIC0yODUzLDE3ICsy ODY0LDYgQEAgc3RhdGljIGludCBqcGVnMjAwMF9kZWNvZGVfZnJhbWUoQVZDb2RlY0NvbnRleHQg KmF2Y3R4LCBBVkZyYW1lICpwaWN0dXJlLAogICAgIGlmIChyZXQgPSBqcGVnMjAwMF9yZWFkX2Jp dHN0cmVhbV9wYWNrZXRzKHMpKQogICAgICAgICBnb3RvIGVuZDsKIAotICAgIGZvciAoaW50IHgg PSAwOyB4IDwgcy0+bmNvbXBvbmVudHM7IHgrKykgewotICAgICAgICBpZiAocy0+Y2RlZlt4XSA8 IDApIHsKLSAgICAgICAgICAgIGZvciAoeCA9IDA7IHggPCBzLT5uY29tcG9uZW50czsgeCsrKSB7 Ci0gICAgICAgICAgICAgICAgcy0+Y2RlZlt4XSA9IHggKyAxOwotICAgICAgICAgICAgfQotICAg ICAgICAgICAgaWYgKChzLT5uY29tcG9uZW50cyAmIDEpID09IDApCi0gICAgICAgICAgICAgICAg cy0+Y2RlZltzLT5uY29tcG9uZW50cy0xXSA9IDA7Ci0gICAgICAgICAgICBicmVhazsKLSAgICAg ICAgfQotICAgIH0KLQogICAgIGF2Y3R4LT5leGVjdXRlMihhdmN0eCwganBlZzIwMDBfZGVjb2Rl X3RpbGUsIHBpY3R1cmUsIE5VTEwsIHMtPm51bVh0aWxlcyAqIHMtPm51bVl0aWxlcyk7CiAKICAg ICBqcGVnMjAwMF9kZWNfY2xlYW51cChzKTsKLS0gCjIuNDkuMQoKCkZyb20gZDE0MWU4NjRmNzMx NTJlOTRlMGM0NWNjNGFiYjhjMzI5Mjc1YzI2NSBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKRnJv bTogTWljaGFlbCBOaWVkZXJtYXllciA8bWljaGFlbEBuaWVkZXJtYXllci5jYz4KRGF0ZTogVHVl LCA1IEF1ZyAyMDI1IDIzOjQyOjIzICswMjAwClN1YmplY3Q6IFtQQVRDSCAzNTMvNDM0XSBhdmNv ZGVjL2pwZWcyMDAwZGVjOiBpbXBsZW1lbnQgY2RlZiByZW1hcHBpbmcgZHVyaW5nCiBwaXhlbCBm b3JtYXQgbWF0Y2hpbmcKCkZpeGVzOiBvdXQgb2YgYXJyYXkgYWNjZXNzCkZpeGVzOiBwb2MuanAy CgpGb3VuZC1ieTogQW5keSBOZ3V5ZW4gPHRoZWZsb3dAZ29vZ2xlLmNvbT4KU2lnbmVkLW9mZi1i eTogTWljaGFlbCBOaWVkZXJtYXllciA8bWljaGFlbEBuaWVkZXJtYXllci5jYz4KKGNoZXJyeSBw aWNrZWQgZnJvbSBjb21taXQgMDFhMjkyYzdlMzY1NDVkZGViM2M3Zjc5Y2QwMmUyNjExY2QzN2Q3 MykKU2lnbmVkLW9mZi1ieTogTWljaGFlbCBOaWVkZXJtYXllciA8bWljaGFlbEBuaWVkZXJtYXll ci5jYz4KLS0tCiBsaWJhdmNvZGVjL2pwZWcyMDAwZGVjLmMgfCAxMiArKysrKysrKysrKy0KIDEg ZmlsZSBjaGFuZ2VkLCAxMSBpbnNlcnRpb25zKCspLCAxIGRlbGV0aW9uKC0pCgpkaWZmIC0tZ2l0 IGEvbGliYXZjb2RlYy9qcGVnMjAwMGRlYy5jIGIvbGliYXZjb2RlYy9qcGVnMjAwMGRlYy5jCmlu ZGV4IDNmNzE3NGZiMDMuLjUwODAxM2E3ZjEgMTAwNjQ0Ci0tLSBhL2xpYmF2Y29kZWMvanBlZzIw MDBkZWMuYworKysgYi9saWJhdmNvZGVjL2pwZWcyMDAwZGVjLmMKQEAgLTI4Miw2ICsyODIsMTQg QEAgc3RhdGljIGludCBnZXRfc2l6KEpwZWcyMDAwRGVjb2RlckNvbnRleHQgKnMpCiAgICAgfQog ICAgIC8vIGFmdGVyIGhlcmUgd2Ugbm8gbG9uZ2VyIGhhdmUgdG8gY29uc2lkZXIgbmVnYXRpdmUg Y2RlZgogCisgICAgaW50IGNkZWZfdXNlZCA9IDA7CisgICAgZm9yIChpID0gMDsgaSA8IHMtPm5j b21wb25lbnRzOyBpKyspCisgICAgICAgIGNkZWZfdXNlZCB8PSAxPDxzLT5jZGVmW2ldOworCisg ICAgLy8gQ2hlY2sgdGhhdCB0aGUgY2hhbm5lbHMgd2UgaGF2ZSBhcmUgd2hhdCB3ZSBleHBlY3Qg Zm9yIHRoZSBudW1iZXIgb2YgY29tcG9uZW50cworICAgIGlmIChjZGVmX3VzZWQgIT0gKChpbnRb XSl7MCwyLDMsMTQsMTV9KVtzLT5uY29tcG9uZW50c10pCisgICAgICAgIHJldHVybiBBVkVSUk9S X0lOVkFMSUREQVRBOworCiAgICAgZm9yIChpID0gMDsgaSA8IHMtPm5jb21wb25lbnRzOyBpKysp IHsgLy8gU3Npel9pIFhSc2l6X2ksIFlSc2l6X2kKICAgICAgICAgdWludDhfdCB4ICAgID0gYnl0 ZXN0cmVhbTJfZ2V0X2J5dGV1KCZzLT5nKTsKICAgICAgICAgcy0+Y2Jwc1tpXSAgID0gKHggJiAw eDdmKSArIDE7CkBAIC0yOTQsNyArMzAyLDkgQEAgc3RhdGljIGludCBnZXRfc2l6KEpwZWcyMDAw RGVjb2RlckNvbnRleHQgKnMpCiAgICAgICAgICAgICBhdl9sb2cocy0+YXZjdHgsIEFWX0xPR19F UlJPUiwgIkludmFsaWQgc2FtcGxlIHNlcGFyYXRpb24gJWQvJWRcbiIsIHMtPmNkeFtpXSwgcy0+ Y2R5W2ldKTsKICAgICAgICAgICAgIHJldHVybiBBVkVSUk9SX0lOVkFMSUREQVRBOwogICAgICAg ICB9Ci0gICAgICAgIGxvZzJfY2hyb21hX3doIHw9IHMtPmNkeVtpXSA+PiAxIDw8IGkgKiA0IHwg cy0+Y2R4W2ldID4+IDEgPDwgaSAqIDQgKyAyOworICAgICAgICBpbnQgaV9yZW1hcHBlZCA9IHMt PmNkZWZbaV0gPyBzLT5jZGVmW2ldLTEgOiAocy0+bmNvbXBvbmVudHMtMSk7CisKKyAgICAgICAg bG9nMl9jaHJvbWFfd2ggfD0gcy0+Y2R5W2ldID4+IDEgPDwgaV9yZW1hcHBlZCAqIDQgfCBzLT5j ZHhbaV0gPj4gMSA8PCBpX3JlbWFwcGVkICogNCArIDI7CiAgICAgfQogCiAgICAgcy0+bnVtWHRp bGVzID0gZmZfanBlZzIwMDBfY2VpbGRpdihzLT53aWR0aCAgLSBzLT50aWxlX29mZnNldF94LCBz LT50aWxlX3dpZHRoKTsKLS0gCjIuNDkuMQoKCkZyb20gNGUyZGEwMDgyZDQ2NzAyZmU1NjcxZTEz ODg1NzI3YzQ4ZWYwOWMyMCBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKRnJvbTogTWljaGFlbCBO aWVkZXJtYXllciA8bWljaGFlbEBuaWVkZXJtYXllci5jYz4KRGF0ZTogV2VkLCA2IEF1ZyAyMDI1 IDEzOjM2OjA2ICswMjAwClN1YmplY3Q6IFtQQVRDSCAzNTQvNDM0XSBhdmNvZGVjL2ZmdjE6IENs ZWFyIHN0YXRlIG9uIGFsbG9jCgpGaXhlczogdXNlIG9mIHVuaW5pdGlhbGl6ZWQgbWVtb3J5CkZp eGVzOiA0Mjg5Njk4MjMvY2x1c3RlcmZ1enotdGVzdGNhc2UtbWluaW1pemVkLWZmbXBlZ19BVl9D T0RFQ19JRF9GRlYxX0RFQ19mdXp6ZXItNTkwOTY4MTYyMzMzNDkxMgoKRm91bmQtYnk6IGNvbnRp bnVvdXMgZnV6emluZyBwcm9jZXNzIGh0dHBzOi8vZ2l0aHViLmNvbS9nb29nbGUvb3NzLWZ1enov dHJlZS9tYXN0ZXIvcHJvamVjdHMvZmZtcGVnClNpZ25lZC1vZmYtYnk6IE1pY2hhZWwgTmllZGVy bWF5ZXIgPG1pY2hhZWxAbmllZGVybWF5ZXIuY2M+CihjaGVycnkgcGlja2VkIGZyb20gY29tbWl0 IDcwZmM0NmQxODU2NjNkYmVhMDk5NWJmODY4ZDY2YjU4YjM4ODExOWUpClNpZ25lZC1vZmYtYnk6 IE1pY2hhZWwgTmllZGVybWF5ZXIgPG1pY2hhZWxAbmllZGVybWF5ZXIuY2M+Ci0tLQogbGliYXZj b2RlYy9mZnYxLmMgfCAyICstCiAxIGZpbGUgY2hhbmdlZCwgMSBpbnNlcnRpb24oKyksIDEgZGVs ZXRpb24oLSkKCmRpZmYgLS1naXQgYS9saWJhdmNvZGVjL2ZmdjEuYyBiL2xpYmF2Y29kZWMvZmZ2 MS5jCmluZGV4IDJiODU2NGMyZjUuLmNiM2U3Njc0MGQgMTAwNjQ0Ci0tLSBhL2xpYmF2Y29kZWMv ZmZ2MS5jCisrKyBiL2xpYmF2Y29kZWMvZmZ2MS5jCkBAIC04MSw3ICs4MSw3IEBAIGF2X2NvbGQg aW50IGZmX2ZmdjFfaW5pdF9zbGljZV9zdGF0ZShjb25zdCBGRlYxQ29udGV4dCAqZiwKIAogICAg ICAgICBpZiAoZi0+YWMgIT0gQUNfR09MT01CX1JJQ0UpIHsKICAgICAgICAgICAgIGlmICghcC0+ c3RhdGUpCi0gICAgICAgICAgICAgICAgcC0+c3RhdGUgPSBhdl9tYWxsb2NfYXJyYXkocC0+Y29u dGV4dF9jb3VudCwgQ09OVEVYVF9TSVpFICoKKyAgICAgICAgICAgICAgICBwLT5zdGF0ZSA9IGF2 X2NhbGxvYyhwLT5jb250ZXh0X2NvdW50LCBDT05URVhUX1NJWkUgKgogICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIHNpemVvZih1aW50OF90KSk7CiAgICAgICAgICAgICBpZiAo IXAtPnN0YXRlKQogICAgICAgICAgICAgICAgIHJldHVybiBBVkVSUk9SKEVOT01FTSk7Ci0tIAoy LjQ5LjEKCgpGcm9tIGI1MzMxYmNhMWRiODU4MDI3ZjVlYzE0OWE5YTRhYmRkYjFmZGY4NzQgTW9u IFNlcCAxNyAwMDowMDowMCAyMDAxCkZyb206IE1pY2hhZWwgTmllZGVybWF5ZXIgPG1pY2hhZWxA bmllZGVybWF5ZXIuY2M+CkRhdGU6IFdlZCwgNiBBdWcgMjAyNSAxMzowOToyNiArMDIwMApTdWJq ZWN0OiBbUEFUQ0ggMzU1LzQzNF0gYXZjb2RlYy91dHZpZGVvZGVjOiBTZXQgQiBmb3IgdGhlIHdp ZHRoPSAxIGNhc2UKCkZpeGVzOiB1c2Ugb2YgdW5pbml0aWFsaXplZCBtZW9yeQpGaXhlczogNDI4 MDM0MDkzL2NsdXN0ZXJmdXp6LXRlc3RjYXNlLW1pbmltaXplZC1mZm1wZWdfQVZfQ09ERUNfSURf VVRWSURFT19ERUNfZnV6emVyLTYxOTU2MzAxNjA4MDU4ODgKCkZvdW5kLWJ5OiBjb250aW51b3Vz IGZ1enppbmcgcHJvY2VzcyBodHRwczovL2dpdGh1Yi5jb20vZ29vZ2xlL29zcy1mdXp6L3RyZWUv bWFzdGVyL3Byb2plY3RzL2ZmbXBlZwpTaWduZWQtb2ZmLWJ5OiBNaWNoYWVsIE5pZWRlcm1heWVy IDxtaWNoYWVsQG5pZWRlcm1heWVyLmNjPgooY2hlcnJ5IHBpY2tlZCBmcm9tIGNvbW1pdCAwMzJk ZmU4NTg0YzQ2NzVmMzI1M2ViYjVlMzMzZTgzNGY1NWY3NTYyKQpTaWduZWQtb2ZmLWJ5OiBNaWNo YWVsIE5pZWRlcm1heWVyIDxtaWNoYWVsQG5pZWRlcm1heWVyLmNjPgotLS0KIGxpYmF2Y29kZWMv dXR2aWRlb2RlYy5jIHwgMiArLQogMSBmaWxlIGNoYW5nZWQsIDEgaW5zZXJ0aW9uKCspLCAxIGRl bGV0aW9uKC0pCgpkaWZmIC0tZ2l0IGEvbGliYXZjb2RlYy91dHZpZGVvZGVjLmMgYi9saWJhdmNv ZGVjL3V0dmlkZW9kZWMuYwppbmRleCA0YzBmYTJjYTY3Li45MzQ5NDVjMWJlIDEwMDY0NAotLS0g YS9saWJhdmNvZGVjL3V0dmlkZW9kZWMuYworKysgYi9saWJhdmNvZGVjL3V0dmlkZW9kZWMuYwpA QCAtNDAyLDcgKzQwMiw3IEBAIHN0YXRpYyB2b2lkIHJlc3RvcmVfbWVkaWFuX3BsYW5hcihVdHZp ZGVvQ29udGV4dCAqYywgdWludDhfdCAqc3JjLCBwdHJkaWZmX3Qgc3RyCiAgICAgICAgIC8vIHNl Y29uZCBsaW5lIC0gZmlyc3QgZWxlbWVudCBoYXMgdG9wIHByZWRpY3Rpb24sIHRoZSByZXN0IHVz ZXMgbWVkaWFuCiAgICAgICAgIEMgICAgICAgID0gYnNyY1stc3RyaWRlXTsKICAgICAgICAgYnNy Y1swXSArPSBDOwotICAgICAgICBBICAgICAgICA9IGJzcmNbMF07CisgICAgICAgIEEgPSBCICAg ID0gYnNyY1swXTsKICAgICAgICAgZm9yIChpID0gMTsgaSA8IEZGTUlOKHdpZHRoLCAxNik7IGkr KykgeyAvKiBzY2FsYXIgbG9vcCAoRFNQIG5lZWQgYWxpZ24gMTYpICovCiAgICAgICAgICAgICBC ICAgICAgICA9IGJzcmNbaSAtIHN0cmlkZV07CiAgICAgICAgICAgICBic3JjW2ldICs9IG1pZF9w cmVkKEEsIEIsICh1aW50OF90KShBICsgQiAtIEMpKTsKLS0gCjIuNDkuMQoKCkZyb20gODNkMjdi OTE4ZWUwZjdkMTFjNjYxYTgyODQwMmQxODY3MGY5NWQxMSBNb24gU2VwIDE3IDAwOjAwOjAwIDIw MDEKRnJvbTogTWljaGFlbCBOaWVkZXJtYXllciA8bWljaGFlbEBuaWVkZXJtYXllci5jYz4KRGF0 ZTogU3VuLCAxMSBNYXkgMjAyNSAwMDo1ODoyNiArMDIwMApTdWJqZWN0OiBbUEFUQ0ggMzU2LzQz NF0gYXZjb2RlYy9hYWNzYnJfdGVtcGxhdGU6IENoZWNrIGlsYgoKRml4ZXM6IGluZGV4IDUwIG91 dCBvZiBib3VuZHMgZm9yIHR5cGUgJ0lOVEZMT0FUIFs0MF1bMl0nCkZpeGVzOiA0MDE2NjE3Mzcv Y2x1c3RlcmZ1enotdGVzdGNhc2UtbWluaW1pemVkLWZmbXBlZ19BVl9DT0RFQ19JRF9BQUNfTEFU TV9mdXp6ZXItNDg2NjA1NTcxMzY1MjczNgoKU29tZW9uZSBrbm93aW5nIEFBQyB3ZWxsIHNob3Vs ZCByZXZpZXcgdGhpcywgdGhlcmUgaXMgbGlrZWx5IGEgbmljZXIgZml4CgpGb3VuZC1ieTogY29u dGludW91cyBmdXp6aW5nIHByb2Nlc3MgaHR0cHM6Ly9naXRodWIuY29tL2dvb2dsZS9vc3MtZnV6 ei90cmVlL21hc3Rlci9wcm9qZWN0cy9mZm1wZWcKU2lnbmVkLW9mZi1ieTogTWljaGFlbCBOaWVk ZXJtYXllciA8bWljaGFlbEBuaWVkZXJtYXllci5jYz4KKGNoZXJyeSBwaWNrZWQgZnJvbSBjb21t aXQgMDFhMWI5OWZjMmNjZGY3MTNhYmZhNTIwM2UzNmZiZjU4MTZlMWI1ZikKU2lnbmVkLW9mZi1i eTogTWljaGFlbCBOaWVkZXJtYXllciA8bWljaGFlbEBuaWVkZXJtYXllci5jYz4KLS0tCiBsaWJh dmNvZGVjL2FhY3Nicl90ZW1wbGF0ZS5jIHwgNiArKysrKysKIDEgZmlsZSBjaGFuZ2VkLCA2IGlu c2VydGlvbnMoKykKCmRpZmYgLS1naXQgYS9saWJhdmNvZGVjL2FhY3Nicl90ZW1wbGF0ZS5jIGIv bGliYXZjb2RlYy9hYWNzYnJfdGVtcGxhdGUuYwppbmRleCA5ZmFlNDRkOWE1Li5hMTI2YmQ2ZjA2 IDEwMDY0NAotLS0gYS9saWJhdmNvZGVjL2FhY3Nicl90ZW1wbGF0ZS5jCisrKyBiL2xpYmF2Y29k ZWMvYWFjc2JyX3RlbXBsYXRlLmMKQEAgLTE2MjYsNiArMTYyNiw5IEBAIHN0YXRpYyB2b2lkIHNi cl9lbnZfZXN0aW1hdGUoQUFDX0ZMT0FUICgqZV9jdXJyKVs0OF0sIElOVEZMT0FUIFhfaGlnaFs2 NF1bNDBdWzJdCiAgICAgICAgICAgICBpbnQgaWxiID0gY2hfZGF0YS0+dF9lbnZbZV0gICAgICog MiArIEVOVkVMT1BFX0FESlVTVE1FTlRfT0ZGU0VUOwogICAgICAgICAgICAgaW50IGl1YiA9IGNo X2RhdGEtPnRfZW52W2UgKyAxXSAqIDIgKyBFTlZFTE9QRV9BREpVU1RNRU5UX09GRlNFVDsKIAor ICAgICAgICAgICAgaWYgKGlsYiA+PSA0MCkKKyAgICAgICAgICAgICAgICByZXR1cm47CisKICAg ICAgICAgICAgIGZvciAobSA9IDA7IG0gPCBzYnItPm1bMV07IG0rKykgewogICAgICAgICAgICAg ICAgIEFBQ19GTE9BVCBzdW0gPSBzYnItPmRzcC5zdW1fc3F1YXJlKFhfaGlnaFttK2t4MV0gKyBp bGIsIGl1YiAtIGlsYik7CiAjaWYgVVNFX0ZJWEVECkBAIC0xNjQ0LDYgKzE2NDcsOSBAQCBzdGF0 aWMgdm9pZCBzYnJfZW52X2VzdGltYXRlKEFBQ19GTE9BVCAoKmVfY3VycilbNDhdLCBJTlRGTE9B VCBYX2hpZ2hbNjRdWzQwXVsyXQogICAgICAgICAgICAgaW50IGl1YiA9IGNoX2RhdGEtPnRfZW52 W2UgKyAxXSAqIDIgKyBFTlZFTE9QRV9BREpVU1RNRU5UX09GRlNFVDsKICAgICAgICAgICAgIGNv bnN0IHVpbnQxNl90ICp0YWJsZSA9IGNoX2RhdGEtPmJzX2ZyZXFfcmVzW2UgKyAxXSA/IHNici0+ Zl90YWJsZWhpZ2ggOiBzYnItPmZfdGFibGVsb3c7CiAKKyAgICAgICAgICAgIGlmIChpbGIgPj0g NDApCisgICAgICAgICAgICAgICAgcmV0dXJuOworCiAgICAgICAgICAgICBmb3IgKHAgPSAwOyBw IDwgc2JyLT5uW2NoX2RhdGEtPmJzX2ZyZXFfcmVzW2UgKyAxXV07IHArKykgewogI2lmIFVTRV9G SVhFRAogICAgICAgICAgICAgICAgIFNvZnRGbG9hdCBzdW0gPSBGTE9BVF8wOwotLSAKMi40OS4x CgoKRnJvbSBlOGU0MGU4OWIxZjcyNDNkZmFjZjU3YmU2MjBlNzk3NmUyZDc2MmYyIE1vbiBTZXAg MTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBNaWNoYWVsIE5pZWRlcm1heWVyIDxtaWNoYWVsQG5pZWRl cm1heWVyLmNjPgpEYXRlOiBUaHUsIDggTWF5IDIwMjUgMjM6MzM6MjggKzAyMDAKU3ViamVjdDog W1BBVENIIDM1Ny80MzRdIGF2Y29kZWMvYWFjL2FhY2RlY191c2FjOiBMaW1pdCBzZm8gZnJvbSBu b2lzZSBvZmZzZXQKIHRvIGJlIGFib3ZlIC0yMDAKCkZpeGVzOiBvdXQgb2YgYXJyYXkgcmVhZApG aXhlczogMzk3NzMxMTI3L2NsdXN0ZXJmdXp6LXRlc3RjYXNlLW1pbmltaXplZC1mZm1wZWdfQVZf Q09ERUNfSURfQUFDX0xBVE1fZnV6emVyLTU1Nzc3NzI5NjUxMDE1NjgKCkZvdW5kLWJ5OiBjb250 aW51b3VzIGZ1enppbmcgcHJvY2VzcyBodHRwczovL2dpdGh1Yi5jb20vZ29vZ2xlL29zcy1mdXp6 L3RyZWUvbWFzdGVyL3Byb2plY3RzL2ZmbXBlZwpTaWduZWQtb2ZmLWJ5OiBNaWNoYWVsIE5pZWRl cm1heWVyIDxtaWNoYWVsQG5pZWRlcm1heWVyLmNjPgooY2hlcnJ5IHBpY2tlZCBmcm9tIGNvbW1p dCBkNjQzYTViYTA4MzZjNGQ3ZWM4NmNiNjdmYWUzODc5ODRlZjNkMWE2KQpTaWduZWQtb2ZmLWJ5 OiBNaWNoYWVsIE5pZWRlcm1heWVyIDxtaWNoYWVsQG5pZWRlcm1heWVyLmNjPgotLS0KIGxpYmF2 Y29kZWMvYWFjL2FhY2RlY191c2FjLmMgfCA1ICsrKy0tCiAxIGZpbGUgY2hhbmdlZCwgMyBpbnNl cnRpb25zKCspLCAyIGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL2xpYmF2Y29kZWMvYWFjL2Fh Y2RlY191c2FjLmMgYi9saWJhdmNvZGVjL2FhYy9hYWNkZWNfdXNhYy5jCmluZGV4IGNjZGY1OGJj OGUuLjNlNWQzMTY3NmMgMTAwNjQ0Ci0tLSBhL2xpYmF2Y29kZWMvYWFjL2FhY2RlY191c2FjLmMK KysrIGIvbGliYXZjb2RlYy9hYWMvYWFjZGVjX3VzYWMuYwpAQCAtMTAyMyw4ICsxMDIzLDkgQEAg c3RhdGljIHZvaWQgYXBwbHlfbm9pc2VfZmlsbChBQUNEZWNDb250ZXh0ICphYywgU2luZ2xlQ2hh bm5lbEVsZW1lbnQgKnNjZSwKICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICB9CiAKLSAg ICAgICAgICAgIGlmIChiYW5kX3F1YW50aXplZF90b196ZXJvKQotICAgICAgICAgICAgICAgIHNj ZS0+c2ZvW2cqaWNzLT5tYXhfc2ZiICsgc2ZiXSArPSBub2lzZV9vZmZzZXQ7CisgICAgICAgICAg ICBpZiAoYmFuZF9xdWFudGl6ZWRfdG9femVybykgeworICAgICAgICAgICAgICAgIHNjZS0+c2Zv W2cqaWNzLT5tYXhfc2ZiICsgc2ZiXSA9IEZGTUFYKHNjZS0+c2ZvW2cqaWNzLT5tYXhfc2ZiICsg c2ZiXSArIG5vaXNlX29mZnNldCwgLTIwMCk7CisgICAgICAgICAgICB9CiAgICAgICAgIH0KICAg ICAgICAgY29lZiArPSBnX2xlbiA8PCA3OwogICAgIH0KLS0gCjIuNDkuMQoKCkZyb20gNWE2NTAx MmNiOGM4NmVmYTRmODgzMDJlMGFkODQ3YzVlNGZkMGQ4YiBNb24gU2VwIDE3IDAwOjAwOjAwIDIw MDEKRnJvbTogTXVoYW1tYWQgRmFpeiA8bWZjYzY0LWF0LWdtYWlsLmNvbUBmZm1wZWcub3JnPgpE YXRlOiBUaHUsIDMgSnVsIDIwMjUgMjA6NDc6NTggKzA3MDAKU3ViamVjdDogW1BBVENIIDM1OC80 MzRdIGF2ZmlsdGVyL2F2Zl9zaG93Y3F0OiBmaXggdW5ib3VuZGVkIGluZGV4IHdoZW4KIGNvcHlp bmcgdG8gZmZ0X2RhdGEKCldoZW4gdGltZWNsYW1wIGFuZC9vciBmcHMgYXJlIGxvdywgaiBjYW4g YmUgbmVnYXRpdmUuCgpGaXggVGlja2V0MTE2NDAKCihjaGVycnkgcGlja2VkIGZyb20gY29tbWl0 IDM1ZWE0NTgzNTQ4NGI5MDQ5MGU3ZDE3MDRlZjk5Y2NiN2I3NzU1NzgpClNpZ25lZC1vZmYtYnk6 IE1pY2hhZWwgTmllZGVybWF5ZXIgPG1pY2hhZWxAbmllZGVybWF5ZXIuY2M+Ci0tLQogbGliYXZm aWx0ZXIvYXZmX3Nob3djcXQuYyB8IDQgKystLQogMSBmaWxlIGNoYW5nZWQsIDIgaW5zZXJ0aW9u cygrKSwgMiBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9saWJhdmZpbHRlci9hdmZfc2hvd2Nx dC5jIGIvbGliYXZmaWx0ZXIvYXZmX3Nob3djcXQuYwppbmRleCAwMGY2NzliYzllLi45ZmM1YjAw ZGRlIDEwMDY0NAotLS0gYS9saWJhdmZpbHRlci9hdmZfc2hvd2NxdC5jCisrKyBiL2xpYmF2Zmls dGVyL2F2Zl9zaG93Y3F0LmMKQEAgLTE1MjAsNyArMTUyMCw3IEBAIHN0YXRpYyBpbnQgZmlsdGVy X2ZyYW1lKEFWRmlsdGVyTGluayAqaW5saW5rLCBBVkZyYW1lICppbnNhbXBsZXMpCiAgICAgICAg IGkgPSBpbnNhbXBsZXMtPm5iX3NhbXBsZXMgLSByZW1haW5pbmc7CiAgICAgICAgIGogPSBzLT5m ZnRfbGVuLzIgKyBzLT5yZW1haW5pbmdfZmlsbF9tYXggLSBzLT5yZW1haW5pbmdfZmlsbDsKICAg ICAgICAgaWYgKHJlbWFpbmluZyA+PSBzLT5yZW1haW5pbmdfZmlsbCkgewotICAgICAgICAgICAg Zm9yIChtID0gMDsgbSA8IHMtPnJlbWFpbmluZ19maWxsOyBtKyspIHsKKyAgICAgICAgICAgIGZv ciAobSA9IEZGTUFYKDAsIC1qKTsgbSA8IHMtPnJlbWFpbmluZ19maWxsOyBtKyspIHsKICAgICAg ICAgICAgICAgICBzLT5mZnRfZGF0YVtqK21dLnJlID0gYXVkaW9fZGF0YVsyKihpK20pXTsKICAg ICAgICAgICAgICAgICBzLT5mZnRfZGF0YVtqK21dLmltID0gYXVkaW9fZGF0YVsyKihpK20pKzFd OwogICAgICAgICAgICAgfQpAQCAtMTU0OSw3ICsxNTQ5LDcgQEAgc3RhdGljIGludCBmaWx0ZXJf ZnJhbWUoQVZGaWx0ZXJMaW5rICppbmxpbmssIEFWRnJhbWUgKmluc2FtcGxlcykKICAgICAgICAg ICAgICAgICBzLT5mZnRfZGF0YVttXSA9IHMtPmZmdF9kYXRhW20rc3RlcF07CiAgICAgICAgICAg ICBzLT5yZW1haW5pbmdfZmlsbCA9IHN0ZXA7CiAgICAgICAgIH0gZWxzZSB7Ci0gICAgICAgICAg ICBmb3IgKG0gPSAwOyBtIDwgcmVtYWluaW5nOyBtKyspIHsKKyAgICAgICAgICAgIGZvciAobSA9 IEZGTUFYKDAsIC1qKTsgbSA8IHJlbWFpbmluZzsgbSsrKSB7CiAgICAgICAgICAgICAgICAgcy0+ ZmZ0X2RhdGFbaittXS5yZSA9IGF1ZGlvX2RhdGFbMiooaSttKV07CiAgICAgICAgICAgICAgICAg cy0+ZmZ0X2RhdGFbaittXS5pbSA9IGF1ZGlvX2RhdGFbMiooaSttKSsxXTsKICAgICAgICAgICAg IH0KLS0gCjIuNDkuMQoKCkZyb20gMjA2MTk1Njg5YTJjZTNjZTEwYTUxYTk5YzAyYTlhM2FkZTUw MjUzMCBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKRnJvbTogTWljaGFlbCBOaWVkZXJtYXllciA8 bWljaGFlbEBuaWVkZXJtYXllci5jYz4KRGF0ZTogU2F0LCA5IEF1ZyAyMDI1IDExOjM4OjA3ICsw MjAwClN1YmplY3Q6IFtQQVRDSCAzNTkvNDM0XSBhdmNvZGVjL2pwZWcyMDAwZGVjOiBNYWtlIHN1 cmUgdGhlIDQgZXh0cmEgYnl0ZXMKIGFsbG9jYXRlZCBhcmUgaW5pdGlhbGl6ZWQKCkZpeGVzOiB1 c2Ugb2YgdW5pbml0aWFsaXplZCBtZW1vcnkKRml4ZXM6IDQyOTEzMDU5MC9jbHVzdGVyZnV6ei10 ZXN0Y2FzZS1taW5pbWl6ZWQtZmZtcGVnX0FWX0NPREVDX0lEX0pQRUcyMDAwX0RFQ19mdXp6ZXIt NTczNjkzMDUyMjQ5NzAyNAoKRm91bmQtYnk6IGNvbnRpbnVvdXMgZnV6emluZyBwcm9jZXNzIGh0 dHBzOi8vZ2l0aHViLmNvbS9nb29nbGUvb3NzLWZ1enovdHJlZS9tYXN0ZXIvcHJvamVjdHMvZmZt cGVnClNpZ25lZC1vZmYtYnk6IE1pY2hhZWwgTmllZGVybWF5ZXIgPG1pY2hhZWxAbmllZGVybWF5 ZXIuY2M+CihjaGVycnkgcGlja2VkIGZyb20gY29tbWl0IGQ2ZmUzNzg2Y2Q4YzA2NDM3NzU2ZDQw N2Y3MjdmZjAxY2YxNzc0ZmYpClNpZ25lZC1vZmYtYnk6IE1pY2hhZWwgTmllZGVybWF5ZXIgPG1p Y2hhZWxAbmllZGVybWF5ZXIuY2M+Ci0tLQogbGliYXZjb2RlYy9qcGVnMjAwMGRlYy5jIHwgMSAr CiAxIGZpbGUgY2hhbmdlZCwgMSBpbnNlcnRpb24oKykKCmRpZmYgLS1naXQgYS9saWJhdmNvZGVj L2pwZWcyMDAwZGVjLmMgYi9saWJhdmNvZGVjL2pwZWcyMDAwZGVjLmMKaW5kZXggNTA4MDEzYTdm MS4uNmE4NjM3NWUwYyAxMDA2NDQKLS0tIGEvbGliYXZjb2RlYy9qcGVnMjAwMGRlYy5jCisrKyBi L2xpYmF2Y29kZWMvanBlZzIwMDBkZWMuYwpAQCAtMTUyOCw2ICsxNTI4LDcgQEAgc3RhdGljIGlu dCBqcGVnMjAwMF9kZWNvZGVfcGFja2V0KEpwZWcyMDAwRGVjb2RlckNvbnRleHQgKnMsIEpwZWcy MDAwVGlsZSAqdGlsZSwKIAogICAgICAgICAgICAgICAgIGJ5dGVzdHJlYW0yX2dldF9idWZmZXJ1 KCZzLT5nLCBjYmxrLT5kYXRhICsgY2Jsay0+bGVuZ3RoLCBjYmxrLT5sZW5ndGhpbmNbY3dzbm9d KTsKICAgICAgICAgICAgICAgICBjYmxrLT5sZW5ndGggICArPSBjYmxrLT5sZW5ndGhpbmNbY3dz bm9dOworICAgICAgICAgICAgICAgIG1lbXNldChjYmxrLT5kYXRhICsgY2Jsay0+bGVuZ3RoLCAw LCA0KTsKICAgICAgICAgICAgICAgICBjYmxrLT5sZW5ndGhpbmNbY3dzbm9dID0gMDsKICAgICAg ICAgICAgICAgICBpZiAoY2Jsay0+bmJfdGVybWluYXRpb25zaW5jKSB7CiAgICAgICAgICAgICAg ICAgICAgIGNibGstPm5iX3Rlcm1pbmF0aW9uc2luYy0tOwotLSAKMi40OS4xCgoKRnJvbSBlMjYw MjgzNTJiYmI5NjllMDBmNzA2MGU5N2ZlNTE4ZDBkZTU4YmM3IE1vbiBTZXAgMTcgMDA6MDA6MDAg MjAwMQpGcm9tOiBNaWNoYWVsIE5pZWRlcm1heWVyIDxtaWNoYWVsQG5pZWRlcm1heWVyLmNjPgpE YXRlOiBGcmksIDggQXVnIDIwMjUgMTU6MDM6NTYgKzAyMDAKU3ViamVjdDogW1BBVENIIDM2MC80 MzRdIGF2Y29kZWMvaWxiY2RlYzogQ2xlYXIgY2J2ZWMgd2hlbiB1c2VkIHdpdGgKIGNyZWF0ZV9h dWdtZW50ZWRfdmVjdG9yKCkKCkZpeGVzOiB1c2Ugb2YgdW5pbml0aWFsaXplZCBtZW1vcnkKRml4 ZXM6IDQyNTM4MTM0L2NsdXN0ZXJmdXp6LXRlc3RjYXNlLW1pbmltaXplZC1mZm1wZWdfQVZfQ09E RUNfSURfSUxCQ19mdXp6ZXItNjMyMjAyMDgyNzA3MDQ2NAoKRm91bmQtYnk6IGNvbnRpbnVvdXMg ZnV6emluZyBwcm9jZXNzIGh0dHBzOi8vZ2l0aHViLmNvbS9nb29nbGUvb3NzLWZ1enovdHJlZS9t YXN0ZXIvcHJvamVjdHMvZmZtcGVnClNpZ25lZC1vZmYtYnk6IE1pY2hhZWwgTmllZGVybWF5ZXIg PG1pY2hhZWxAbmllZGVybWF5ZXIuY2M+CihjaGVycnkgcGlja2VkIGZyb20gY29tbWl0IDk2ODZm ZGQ3MjlhOWNhZWVhYzBkYzg0ZGNhMmE2NWU0YzllNTQ2MGIpClNpZ25lZC1vZmYtYnk6IE1pY2hh ZWwgTmllZGVybWF5ZXIgPG1pY2hhZWxAbmllZGVybWF5ZXIuY2M+Ci0tLQogbGliYXZjb2RlYy9p bGJjZGVjLmMgfCAyICsrCiAxIGZpbGUgY2hhbmdlZCwgMiBpbnNlcnRpb25zKCspCgpkaWZmIC0t Z2l0IGEvbGliYXZjb2RlYy9pbGJjZGVjLmMgYi9saWJhdmNvZGVjL2lsYmNkZWMuYwppbmRleCA3 ZmVhMzliNDNjLi44MWI5YTQ5ZjQzIDEwMDY0NAotLS0gYS9saWJhdmNvZGVjL2lsYmNkZWMuYwor KysgYi9saWJhdmNvZGVjL2lsYmNkZWMuYwpAQCAtNjc1LDYgKzY3NSw3IEBAIHN0YXRpYyB2b2lk IGdldF9jb2RlYm9vayhpbnQxNl90ICogY2J2ZWMsICAgLyogKG8pIENvbnN0cnVjdGVkIGNvZGVi b29rIHZlY3RvciAqCiAgICAgICAgIC8qIGdldCB2ZWN0b3IgKi8KICAgICAgICAgbWVtY3B5KGNi dmVjLCBtZW0gKyBsTWVtIC0gaywgY2J2ZWNsZW4gKiAyKTsKICAgICB9IGVsc2UgaWYgKGluZGV4 IDwgYmFzZV9zaXplKSB7CisgICAgICAgIG1lbXNldChjYnZlYywgMCwgY2J2ZWNsZW4gKiAyKTsK IAogICAgICAgICAvKiBDYWxjdWxhdGUgbGFnICovCiAKQEAgLTcwMSw2ICs3MDIsNyBAQCBzdGF0 aWMgdm9pZCBnZXRfY29kZWJvb2soaW50MTZfdCAqIGNidmVjLCAgIC8qIChvKSBDb25zdHJ1Y3Rl ZCBjb2RlYm9vayB2ZWN0b3IgKgogCiAgICAgICAgICAgICBmaWx0ZXJfbWFmcTEyKCZtZW1bbWVt SW5kVGVzdCArIDRdLCBjYnZlYywga0NiRmlsdGVyc1JldiwgQ0JfRklMVEVSTEVOLCBjYnZlY2xl bik7CiAgICAgICAgIH0gZWxzZSB7CisgICAgICAgICAgICBtZW1zZXQoY2J2ZWMsIDAsIGNidmVj bGVuICogMik7CiAgICAgICAgICAgICAvKiBpbnRlcnBvbGF0ZWQgdmVjdG9ycyAqLwogICAgICAg ICAgICAgLyogU3R1ZmYgemVyb3Mgb3V0c2lkZSBtZW1vcnkgYnVmZmVyICAqLwogICAgICAgICAg ICAgbWVtSW5kVGVzdCA9IGxNZW0gLSBjYnZlY2xlbiAtIENCX0ZJTFRFUkxFTjsKLS0gCjIuNDku MQoKCkZyb20gZDVmYzU3ZmI3OTUwNDRkMTZjNWQwY2MzYTEzZmM5MmFkOTI5M2VmZiBNb24gU2Vw IDE3IDAwOjAwOjAwIDIwMDEKRnJvbTogTWljaGFlbCBOaWVkZXJtYXllciA8bWljaGFlbEBuaWVk ZXJtYXllci5jYz4KRGF0ZTogRnJpLCA4IEF1ZyAyMDI1IDIzOjE5OjAzICswMjAwClN1YmplY3Q6 IFtQQVRDSCAzNjEvNDM0XSBhdmNvZGVjL3NjcHIzOiBDbGVhciBjbHIKCmNsciBpcyBwYXNzaW5n IGludG8gZGVjb2RlX3J1bl9wKCkgaXRzIG5vdCB1c2VkIHdoZW4gbm90IHNldApidXQgdGhpcyBw b3NzaWJseSB0cmlnZ2VycyBtc2FuIChpdCBkb2VzbnQgbG9jYWxseSkKCkZpeGVzPzogdXNlIG9m IHVuaW5pbnRpYWxpemVkIG1lbW9yeQpGaXhlcz86IDQzNjk5NzgwNy9jbHVzdGVyZnV6ei10ZXN0 Y2FzZS1taW5pbWl6ZWQtZmZtcGVnX0FWX0NPREVDX0lEX1NDUFJfZnV6emVyLTYyNTMzMTY0NjY2 MDYwODAKCkZvdW5kLWJ5OiBjb250aW51b3VzIGZ1enppbmcgcHJvY2VzcyBodHRwczovL2dpdGh1 Yi5jb20vZ29vZ2xlL29zcy1mdXp6L3RyZWUvbWFzdGVyL3Byb2plY3RzL2ZmbXBlZwpTaWduZWQt b2ZmLWJ5OiBNaWNoYWVsIE5pZWRlcm1heWVyIDxtaWNoYWVsQG5pZWRlcm1heWVyLmNjPgooY2hl cnJ5IHBpY2tlZCBmcm9tIGNvbW1pdCAzNTQyMjYwMzc2NDZkNDQ3MDFmMGYyYTg0NzQ5ZmIyZWEz MDNmMDQzKQpTaWduZWQtb2ZmLWJ5OiBNaWNoYWVsIE5pZWRlcm1heWVyIDxtaWNoYWVsQG5pZWRl cm1heWVyLmNjPgotLS0KIGxpYmF2Y29kZWMvc2NwcjMuYyB8IDIgKy0KIDEgZmlsZSBjaGFuZ2Vk LCAxIGluc2VydGlvbigrKSwgMSBkZWxldGlvbigtKQoKZGlmZiAtLWdpdCBhL2xpYmF2Y29kZWMv c2NwcjMuYyBiL2xpYmF2Y29kZWMvc2NwcjMuYwppbmRleCBlOTFjMTk4MzA4Li4zNjlkMjY1M2My IDEwMDY0NAotLS0gYS9saWJhdmNvZGVjL3NjcHIzLmMKKysrIGIvbGliYXZjb2RlYy9zY3ByMy5j CkBAIC0xMTY3LDcgKzExNjcsNyBAQCBzdGF0aWMgaW50IGRlY29tcHJlc3NfcDMoQVZDb2RlY0Nv bnRleHQgKmF2Y3R4LAogICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgIH0gZWxzZSB7CiAg ICAgICAgICAgICAgICAgaW50IHJ1biwgYnggPSB4ICogMTYgKyBzeDEsIGJ5ID0geSAqIDE2ICsg c3kxOwotICAgICAgICAgICAgICAgIHVpbnQzMl90IGNsciwgcHR5cGUgPSAwLCByLCBnLCBiOwor ICAgICAgICAgICAgICAgIHVpbnQzMl90IGNsciA9IDAsIHB0eXBlID0gMCwgciwgZywgYjsKIAog ICAgICAgICAgICAgICAgIGlmIChieCA+PSBhdmN0eC0+d2lkdGgpCiAgICAgICAgICAgICAgICAg ICAgIHJldHVybiBBVkVSUk9SX0lOVkFMSUREQVRBOwotLSAKMi40OS4xCgoKRnJvbSBkMzcwYjg2 OGJjNjJkNTJiYWY5ZTRmYmI5YWMzODgyZWE5MjI4MjNkIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAw MQpGcm9tOiA9P1VURi04P3E/S2FjcGVyPTIwTWljaGFqPUM1PTgyb3c/PSA8a2FzcGVyOTNAZ21h aWwuY29tPgpEYXRlOiBTYXQsIDkgQXVnIDIwMjUgMTY6NDk6MTcgKzAyMDAKU3ViamVjdDogW1BB VENIIDM2Mi80MzRdIGF2Zm9ybWF0L2xyY2RlYzogbGltaXQgaW5wdXQgdGltZXN0YW1wIHJhbmdl IHRvIGF2b2lkCiBvdmVyZmxvd3MKTUlNRS1WZXJzaW9uOiAxLjAKQ29udGVudC1UeXBlOiB0ZXh0 L3BsYWluOyBjaGFyc2V0PVVURi04CkNvbnRlbnQtVHJhbnNmZXItRW5jb2Rpbmc6IDhiaXQKCkZp eGVzOiBjbHVzdGVyZnV6ei10ZXN0Y2FzZS1mZm1wZWdfZGVtX0xSQ19mdXp6ZXItNTIyNjE0MDEz MTQ1OTA3MgpGb3VuZC1ieTogT1NTLUZ1enoKU2lnbmVkLW9mZi1ieTogS2FjcGVyIE1pY2hhasWC b3cgPGthc3BlcjkzQGdtYWlsLmNvbT4KKGNoZXJyeSBwaWNrZWQgZnJvbSBjb21taXQgYzc0YmM3 NDM5OGU3YTFlMjM1ZmRmNTFkMGRkMmRmYjk0MjYyNmM4MikKU2lnbmVkLW9mZi1ieTogTWljaGFl bCBOaWVkZXJtYXllciA8bWljaGFlbEBuaWVkZXJtYXllci5jYz4KLS0tCiBsaWJhdmZvcm1hdC9s cmNkZWMuYyB8IDYgKysrLS0tCiAxIGZpbGUgY2hhbmdlZCwgMyBpbnNlcnRpb25zKCspLCAzIGRl bGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL2xpYmF2Zm9ybWF0L2xyY2RlYy5jIGIvbGliYXZmb3Jt YXQvbHJjZGVjLmMKaW5kZXggNzk0MWMwMmM1ZC4uZTNlMDkxYTYxYSAxMDA2NDQKLS0tIGEvbGli YXZmb3JtYXQvbHJjZGVjLmMKKysrIGIvbGliYXZmb3JtYXQvbHJjZGVjLmMKQEAgLTc4LDcgKzc4 LDcgQEAgc3RhdGljIGludDY0X3QgY291bnRfdHMoY29uc3QgY2hhciAqcCkKIHN0YXRpYyBpbnQ2 NF90IHJlYWRfdHMoY29uc3QgY2hhciAqcCwgaW50NjRfdCAqc3RhcnQpCiB7CiAgICAgaW50NjRf dCBvZmZzZXQgPSAwOwotICAgIHVpbnQ2NF90IG1tOworICAgIHVpbnQzMl90IG1tOwogICAgIGRv dWJsZSBzczsKICAgICBjaGFyIHByZWZpeFszXTsKIApAQCAtODgsOCArODgsOCBAQCBzdGF0aWMg aW50NjRfdCByZWFkX3RzKGNvbnN0IGNoYXIgKnAsIGludDY0X3QgKnN0YXJ0KQogICAgIGlmKHBb b2Zmc2V0XSAhPSAnWycpIHsKICAgICAgICAgcmV0dXJuIDA7CiAgICAgfQotICAgIGludCByZXQg PSBzc2NhbmYocCwgIiUyW1stXSUiU0NOdTY0IjolbGZdIiwgcHJlZml4LCAmbW0sICZzcyk7Ci0g ICAgaWYgKHJldCAhPSAzIHx8IHByZWZpeFswXSAhPSAnWycpIHsKKyAgICBpbnQgcmV0ID0gc3Nj YW5mKHAsICIlMltbLV0lIlNDTnUzMiI6JWxmXSIsIHByZWZpeCwgJm1tLCAmc3MpOworICAgIGlm IChyZXQgIT0gMyB8fCBwcmVmaXhbMF0gIT0gJ1snIHx8IHNzIDwgMCB8fCBzcyA+IDYwKSB7CiAg ICAgICAgIHJldHVybiAwOwogICAgIH0KICAgICAqc3RhcnQgPSAobW0gKiA2MCArIHNzKSAqIEFW X1RJTUVfQkFTRTsKLS0gCjIuNDkuMQoKCkZyb20gZmIzNmEwMDI3ZjgxNzZlYTQ0Mjk1ODExMjQ1 ZWViMTdlYTc1N2ZkZCBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKRnJvbTogPT9VVEYtOD9xP0th Y3Blcj0yME1pY2hhaj1DNT04Mm93Pz0gPGthc3BlcjkzQGdtYWlsLmNvbT4KRGF0ZTogU2F0LCA5 IEF1ZyAyMDI1IDE3OjA5OjU3ICswMjAwClN1YmplY3Q6IFtQQVRDSCAzNjMvNDM0XSBhdmNvZGVj L2c3MjY6IGluaXQgbWlzc2luZyBzYW1wbGUgcmF0ZQpNSU1FLVZlcnNpb246IDEuMApDb250ZW50 LVR5cGU6IHRleHQvcGxhaW47IGNoYXJzZXQ9VVRGLTgKQ29udGVudC1UcmFuc2Zlci1FbmNvZGlu ZzogOGJpdAoKRml4ZXM6IDQxNjEzNDU1MS9jbHVzdGVyZnV6ei10ZXN0Y2FzZS1taW5pbWl6ZWQt ZmZtcGVnX0FWX0NPREVDX0lEX0FEUENNX0c3MjZfREVDX2Z1enplci01Njk1NzY0NDU1MjkyOTI4 CkZvdW5kLWJ5OiBPU1MtRnV6egpTaWduZWQtb2ZmLWJ5OiBLYWNwZXIgTWljaGFqxYJvdyA8a2Fz cGVyOTNAZ21haWwuY29tPgooY2hlcnJ5IHBpY2tlZCBmcm9tIGNvbW1pdCBjMmY3ZGFlNzBkMjdh OGY1Y2ExZTNmYTQzZDk2ZmY1YzhiZjAzMmZhKQpTaWduZWQtb2ZmLWJ5OiBNaWNoYWVsIE5pZWRl cm1heWVyIDxtaWNoYWVsQG5pZWRlcm1heWVyLmNjPgotLS0KIGxpYmF2Y29kZWMvZzcyNi5jIHwg MiArKwogMSBmaWxlIGNoYW5nZWQsIDIgaW5zZXJ0aW9ucygrKQoKZGlmZiAtLWdpdCBhL2xpYmF2 Y29kZWMvZzcyNi5jIGIvbGliYXZjb2RlYy9nNzI2LmMKaW5kZXggZTA0OGNkOTczZS4uYjFiZTQ4 N2Y3NyAxMDA2NDQKLS0tIGEvbGliYXZjb2RlYy9nNzI2LmMKKysrIGIvbGliYXZjb2RlYy9nNzI2 LmMKQEAgLTQ1Nyw2ICs0NTcsOCBAQCBzdGF0aWMgYXZfY29sZCBpbnQgZzcyNl9kZWNvZGVfaW5p dChBVkNvZGVjQ29udGV4dCAqYXZjdHgpCiAgICAgZzcyNl9yZXNldChjKTsKIAogICAgIGF2Y3R4 LT5zYW1wbGVfZm10ID0gQVZfU0FNUExFX0ZNVF9TMTY7CisgICAgaWYgKCFhdmN0eC0+c2FtcGxl X3JhdGUpCisgICAgICAgIGF2Y3R4LT5zYW1wbGVfcmF0ZSA9IDgwMDA7CiAKICAgICByZXR1cm4g MDsKIH0KLS0gCjIuNDkuMQoKCkZyb20gZjUwNTMzMjkyOGNkMmE2MGZmNDlkNWRlOTgxZDJhMGUw OGY1ZjUzZiBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKRnJvbTogPT9VVEYtOD9xP0thY3Blcj0y ME1pY2hhaj1DNT04Mm93Pz0gPGthc3BlcjkzQGdtYWlsLmNvbT4KRGF0ZTogU2F0LCA5IEF1ZyAy MDI1IDE3OjE1OjUxICswMjAwClN1YmplY3Q6IFtQQVRDSCAzNjQvNDM0XSBhdmNvZGVjL2xpYnZv cmJpc2RlYzogYXZvaWQgb3ZlcmZsb3cgd2hlbiBhc3NpbmdpbmcKIHNhbXBsZSByYXRlIGZyb20g bG9uZyB0byBpbnQKTUlNRS1WZXJzaW9uOiAxLjAKQ29udGVudC1UeXBlOiB0ZXh0L3BsYWluOyBj aGFyc2V0PVVURi04CkNvbnRlbnQtVHJhbnNmZXItRW5jb2Rpbmc6IDhiaXQKCkZpeGVzOiA0MTYx MzQ1NTEvY2x1c3RlcmZ1enotdGVzdGNhc2UtbWluaW1pemVkLWZmbXBlZ19BVl9DT0RFQ19JRF9M SUJWT1JCSVNfREVDX2Z1enplci02MDk2MTAxNDA3MjYwNjcyCkZvdW5kLWJ5OiBPU1MtRnV6egpT aWduZWQtb2ZmLWJ5OiBLYWNwZXIgTWljaGFqxYJvdyA8a2FzcGVyOTNAZ21haWwuY29tPgooY2hl cnJ5IHBpY2tlZCBmcm9tIGNvbW1pdCAyMjg3YTE5YWJiZDgwZDI1YjQxMWEzMDI4OTY5YzU1YzRi MGI4Yzg4KQpTaWduZWQtb2ZmLWJ5OiBNaWNoYWVsIE5pZWRlcm1heWVyIDxtaWNoYWVsQG5pZWRl cm1heWVyLmNjPgotLS0KIGxpYmF2Y29kZWMvbGlidm9yYmlzZGVjLmMgfCA2ICsrKysrKwogMSBm aWxlIGNoYW5nZWQsIDYgaW5zZXJ0aW9ucygrKQoKZGlmZiAtLWdpdCBhL2xpYmF2Y29kZWMvbGli dm9yYmlzZGVjLmMgYi9saWJhdmNvZGVjL2xpYnZvcmJpc2RlYy5jCmluZGV4IGE1ZTdhNjkxZDYu LmViODBlY2Y2N2QgMTAwNjQ0Ci0tLSBhL2xpYmF2Y29kZWMvbGlidm9yYmlzZGVjLmMKKysrIGIv bGliYXZjb2RlYy9saWJ2b3JiaXNkZWMuYwpAQCAtMTEzLDYgKzExMywxMiBAQCBzdGF0aWMgaW50 IG9nZ3ZvcmJpc19kZWNvZGVfaW5pdChBVkNvZGVjQ29udGV4dCAqYXZjY29udGV4dCkgewogICAg ICAgICB9CiAgICAgfQogCisgICAgaWYgKGNvbnRleHQtPnZpLnJhdGUgPD0gMCB8fCBjb250ZXh0 LT52aS5yYXRlID4gSU5UX01BWCkgeworICAgICAgICBhdl9sb2coYXZjY29udGV4dCwgQVZfTE9H X0VSUk9SLCAidm9yYmlzIHJhdGUgaXMgaW52YWxpZFxuIik7CisgICAgICAgIHJldCA9IEFWRVJS T1JfSU5WQUxJRERBVEE7CisgICAgICAgIGdvdG8gZXJyb3I7CisgICAgfQorCiAgICAgYXZfY2hh bm5lbF9sYXlvdXRfdW5pbml0KCZhdmNjb250ZXh0LT5jaF9sYXlvdXQpOwogICAgIGF2Y2NvbnRl eHQtPmNoX2xheW91dC5vcmRlciAgICAgICA9IEFWX0NIQU5ORUxfT1JERVJfVU5TUEVDOwogICAg IGF2Y2NvbnRleHQtPmNoX2xheW91dC5uYl9jaGFubmVscyA9IGNvbnRleHQtPnZpLmNoYW5uZWxz OwotLSAKMi40OS4xCgoKRnJvbSBkYWJjNWVlNjYyNGU5ZjZkNDdlNTIwMGYxZDg0ZWFhNjhhMWM4 OTc2IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQpGcm9tOiA9P1VURi04P3E/S2FjcGVyPTIwTWlj aGFqPUM1PTgyb3c/PSA8a2FzcGVyOTNAZ21haWwuY29tPgpEYXRlOiBTdW4sIDMgQXVnIDIwMjUg MTY6NDY6MTAgKzAyMDAKU3ViamVjdDogW1BBVENIIDM2NS80MzRdIGF2Y29kZWMvZDNkMTJ2YV9l bmNvZGU6IGZpeCBsYWJlbCBmb2xsb3dlZCBieSBhCiBkZWNsYXJhdGlvbiB3YXJuaW5nCk1JTUUt VmVyc2lvbjogMS4wCkNvbnRlbnQtVHlwZTogdGV4dC9wbGFpbjsgY2hhcnNldD1VVEYtOApDb250 ZW50LVRyYW5zZmVyLUVuY29kaW5nOiA4Yml0CgpGaXhlczogZDNkMTJ2YV9lbmNvZGUuYzogd2Fy bmluZzogbGFiZWwgZm9sbG93ZWQgYnkgYSBkZWNsYXJhdGlvbiBpcyBhCiAgICAgICBDMjMgZXh0 ZW5zaW9uCgpTaWduZWQtb2ZmLWJ5OiBLYWNwZXIgTWljaGFqxYJvdyA8a2FzcGVyOTNAZ21haWwu Y29tPgooY2hlcnJ5IHBpY2tlZCBmcm9tIGNvbW1pdCBhYzZkYjIyZTM3MjQ2MGYzNDYyZDE2ZWFj ZGY5Yjc2MTFjYzNjMGFmKQpTaWduZWQtb2ZmLWJ5OiBNaWNoYWVsIE5pZWRlcm1heWVyIDxtaWNo YWVsQG5pZWRlcm1heWVyLmNjPgotLS0KIGxpYmF2Y29kZWMvZDNkMTJ2YV9lbmNvZGUuYyB8IDEz ICsrKysrKy0tLS0tLS0KIDEgZmlsZSBjaGFuZ2VkLCA2IGluc2VydGlvbnMoKyksIDcgZGVsZXRp b25zKC0pCgpkaWZmIC0tZ2l0IGEvbGliYXZjb2RlYy9kM2QxMnZhX2VuY29kZS5jIGIvbGliYXZj b2RlYy9kM2QxMnZhX2VuY29kZS5jCmluZGV4IDY4ZmI5OTI3YTguLjg5NzU0NGZlMTAgMTAwNjQ0 Ci0tLSBhL2xpYmF2Y29kZWMvZDNkMTJ2YV9lbmNvZGUuYworKysgYi9saWJhdmNvZGVjL2QzZDEy dmFfZW5jb2RlLmMKQEAgLTk3NCw4ICs5NzQsNyBAQCByY19tb2RlX2ZvdW5kOgogICAgICAgICBj YXNlIFJDX01PREVfQ1FQOgogICAgICAgICAgICAgLy8gY3FwIENvbmZpZ1BhcmFtcyB3aWxsIGJl IHVwZGF0ZWQgaW4gY3R4LT5jb2RlYy0+Y29uZmlndXJlLgogICAgICAgICAgICAgYnJlYWs7Ci0K LSAgICAgICAgY2FzZSBSQ19NT0RFX0NCUjoKKyAgICAgICAgY2FzZSBSQ19NT0RFX0NCUjogewog ICAgICAgICAgICAgRDNEMTJfVklERU9fRU5DT0RFUl9SQVRFX0NPTlRST0xfQ0JSICpjYnJfY3Rs OwogCiAgICAgICAgICAgICBjdHgtPnJjLkNvbmZpZ1BhcmFtcy5EYXRhU2l6ZSA9IHNpemVvZihE M0QxMl9WSURFT19FTkNPREVSX1JBVEVfQ09OVFJPTF9DQlIpOwpAQCAtOTk2LDggKzk5NSw4IEBA IHJjX21vZGVfZm91bmQ6CiAKICAgICAgICAgICAgIGN0eC0+cmMuQ29uZmlnUGFyYW1zLnBDb25m aWd1cmF0aW9uX0NCUiA9IGNicl9jdGw7CiAgICAgICAgICAgICBicmVhazsKLQotICAgICAgICBj YXNlIFJDX01PREVfVkJSOgorICAgICAgICB9CisgICAgICAgIGNhc2UgUkNfTU9ERV9WQlI6IHsK ICAgICAgICAgICAgIEQzRDEyX1ZJREVPX0VOQ09ERVJfUkFURV9DT05UUk9MX1ZCUiAqdmJyX2N0 bDsKIAogICAgICAgICAgICAgY3R4LT5yYy5Db25maWdQYXJhbXMuRGF0YVNpemUgPSBzaXplb2Yo RDNEMTJfVklERU9fRU5DT0RFUl9SQVRFX0NPTlRST0xfVkJSKTsKQEAgLTEwMTksOCArMTAxOCw4 IEBAIHJjX21vZGVfZm91bmQ6CiAKICAgICAgICAgICAgIGN0eC0+cmMuQ29uZmlnUGFyYW1zLnBD b25maWd1cmF0aW9uX1ZCUiA9IHZicl9jdGw7CiAgICAgICAgICAgICBicmVhazsKLQotICAgICAg ICBjYXNlIFJDX01PREVfUVZCUjoKKyAgICAgICAgfQorICAgICAgICBjYXNlIFJDX01PREVfUVZC UjogewogICAgICAgICAgICAgRDNEMTJfVklERU9fRU5DT0RFUl9SQVRFX0NPTlRST0xfUVZCUiAq cXZicl9jdGw7CiAKICAgICAgICAgICAgIGN0eC0+cmMuQ29uZmlnUGFyYW1zLkRhdGFTaXplID0g c2l6ZW9mKEQzRDEyX1ZJREVPX0VOQ09ERVJfUkFURV9DT05UUk9MX1FWQlIpOwpAQCAtMTA0MCw3 ICsxMDM5LDcgQEAgcmNfbW9kZV9mb3VuZDoKIAogICAgICAgICAgICAgY3R4LT5yYy5Db25maWdQ YXJhbXMucENvbmZpZ3VyYXRpb25fUVZCUiA9IHF2YnJfY3RsOwogICAgICAgICAgICAgYnJlYWs7 Ci0KKyAgICAgICAgfQogICAgICAgICBkZWZhdWx0OgogICAgICAgICAgICAgYnJlYWs7CiAgICAg fQotLSAKMi40OS4xCgoKRnJvbSBhOWVjODMxNzQ5OGI2MjE5MmNjM2RmOTVlZjI1MjNlYWU4ZWMw Mjk0IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBNaWNoYWVsIE5pZWRlcm1heWVyIDxt aWNoYWVsQG5pZWRlcm1heWVyLmNjPgpEYXRlOiBTYXQsIDkgQXVnIDIwMjUgMTQ6MDU6MTkgKzAy MDAKU3ViamVjdDogW1BBVENIIDM2Ni80MzRdIGF2Y29kZWMvZXhyOiBDaGVjayBmb3IgcGl4ZWwg dHlwZSBjb25zaXN0ZW5jeSBpbiBEV0EKCkZpeGVzOiBvdXQgb2YgYXJyYXkgYWNjZXNzCkZpeGVz OiBCSUdTTEVFUC00MzY1MTE3NTQvdGVzdGNhc2UuZXhyCgpGb3VuZC1ieTogR29vZ2xlIEJpZyBT bGVlcApTaWduZWQtb2ZmLWJ5OiBNaWNoYWVsIE5pZWRlcm1heWVyIDxtaWNoYWVsQG5pZWRlcm1h eWVyLmNjPgooY2hlcnJ5IHBpY2tlZCBmcm9tIGNvbW1pdCAwNDY5ZDY4YWNiNTIwODFjYTgzODVi ODQ0Yjk2NTAzOTgyNDJiZTBmKQpTaWduZWQtb2ZmLWJ5OiBNaWNoYWVsIE5pZWRlcm1heWVyIDxt aWNoYWVsQG5pZWRlcm1heWVyLmNjPgotLS0KIGxpYmF2Y29kZWMvZXhyLmMgfCAxMCArKysrKysr KysrCiAxIGZpbGUgY2hhbmdlZCwgMTAgaW5zZXJ0aW9ucygrKQoKZGlmZiAtLWdpdCBhL2xpYmF2 Y29kZWMvZXhyLmMgYi9saWJhdmNvZGVjL2V4ci5jCmluZGV4IDhkNjRhZDNkZWMuLjIwYjJjZmRj N2UgMTAwNjQ0Ci0tLSBhL2xpYmF2Y29kZWMvZXhyLmMKKysrIGIvbGliYXZjb2RlYy9leHIuYwpA QCAtMjA2NSw2ICsyMDY1LDE2IEBAIHN0YXRpYyBpbnQgZGVjb2RlX2ZyYW1lKEFWQ29kZWNDb250 ZXh0ICphdmN0eCwgQVZGcmFtZSAqcGljdHVyZSwKICAgICAgICAgZm9yIChpbnQgaSA9IDA7IGkg PCA0OyBpKyspCiAgICAgICAgICAgICBzLT5jaGFubmVsX29mZnNldHNbaV0gKj0gMjsKICAgICB9 CisgICAgaWYgKHMtPmNvbXByZXNzaW9uID09IEVYUl9EV0FBIHx8CisgICAgICAgIHMtPmNvbXBy ZXNzaW9uID09IEVYUl9EV0FCKSB7CisgICAgICAgIGZvciAoaW50IGkgPSAwOyBpPHMtPm5iX2No YW5uZWxzOyBpKyspIHsKKyAgICAgICAgICAgIEVYUkNoYW5uZWwgKmNoYW5uZWwgPSAmcy0+Y2hh bm5lbHNbaV07CisgICAgICAgICAgICBpZiAoY2hhbm5lbC0+cGl4ZWxfdHlwZSAhPSBzLT5waXhl bF90eXBlKSB7CisgICAgICAgICAgICAgICAgYXZwcml2X3JlcXVlc3Rfc2FtcGxlKHMtPmF2Y3R4 LCAibWl4ZWQgcGl4ZWwgdHlwZSBEV0EiKTsKKyAgICAgICAgICAgICAgICByZXR1cm4gQVZFUlJP Ul9QQVRDSFdFTENPTUU7CisgICAgICAgICAgICB9CisgICAgICAgIH0KKyAgICB9CiAKICAgICBz d2l0Y2ggKHMtPnBpeGVsX3R5cGUpIHsKICAgICBjYXNlIEVYUl9GTE9BVDoKLS0gCjIuNDkuMQoK CkZyb20gZWViZjJiMmMzZjlkZmYxZmQ2YzRiYWFlYmM0N2Y4OGUyM2VjNTZmZSBNb24gU2VwIDE3 IDAwOjAwOjAwIDIwMDEKRnJvbTogTWljaGFlbCBOaWVkZXJtYXllciA8bWljaGFlbEBuaWVkZXJt YXllci5jYz4KRGF0ZTogRnJpLCA4IEF1ZyAyMDI1IDEyOjI1OjU1ICswMjAwClN1YmplY3Q6IFtQ QVRDSCAzNjcvNDM0XSBhdmNvZGVjL2R4djogQ2hlY2sgdGhhdCB3ZSBpbml0aWFsaXplIG9wX2Rh dGEKCkZpeGVzOiA0MzE2NjUzMDUvY2x1c3RlcmZ1enotdGVzdGNhc2UtbWluaW1pemVkLWZmbXBl Z19BVl9DT0RFQ19JRF9EWFZfREVDX2Z1enplci01MzM5NTk5MzM5ODQ3NjgwCkZpeGVzOiB1c2Ug b2YgdW5pbml0aWFsaXplZCBtZW1vcnkKCkZvdW5kLWJ5OiBjb250aW51b3VzIGZ1enppbmcgcHJv Y2VzcyBodHRwczovL2dpdGh1Yi5jb20vZ29vZ2xlL29zcy1mdXp6L3RyZWUvbWFzdGVyL3Byb2pl Y3RzL2ZmbXBlZwpTaWduZWQtb2ZmLWJ5OiBNaWNoYWVsIE5pZWRlcm1heWVyIDxtaWNoYWVsQG5p ZWRlcm1heWVyLmNjPgooY2hlcnJ5IHBpY2tlZCBmcm9tIGNvbW1pdCA2YThjNDFkY2FjYmJhMDEx ZTU1M2ZiZjM1NTE4NTc3MzIxZDFhYWRiKQpTaWduZWQtb2ZmLWJ5OiBNaWNoYWVsIE5pZWRlcm1h eWVyIDxtaWNoYWVsQG5pZWRlcm1heWVyLmNjPgotLS0KIGxpYmF2Y29kZWMvZHh2LmMgfCA0ICsr Ky0KIDEgZmlsZSBjaGFuZ2VkLCAzIGluc2VydGlvbnMoKyksIDEgZGVsZXRpb24oLSkKCmRpZmYg LS1naXQgYS9saWJhdmNvZGVjL2R4di5jIGIvbGliYXZjb2RlYy9keHYuYwppbmRleCBiYTIzMjIy NzI3Li4xY2VlNTdiYzA4IDEwMDY0NAotLS0gYS9saWJhdmNvZGVjL2R4di5jCisrKyBiL2xpYmF2 Y29kZWMvZHh2LmMKQEAgLTI3NCw3ICsyNzQsOSBAQCBzdGF0aWMgaW50IGR4dl9kZWNvbXByZXNz X29wY29kZXMoR2V0Qnl0ZUNvbnRleHQgKmdiLCB2b2lkICpkc3RwLCBzaXplX3Qgb3Bfc2l6ZQog CiAgICAgaWYgKChmbGFnICYgMykgPT0gMCkgewogICAgICAgICBieXRlc3RyZWFtMl9za2lwKGdi LCAxKTsKLSAgICAgICAgYnl0ZXN0cmVhbTJfZ2V0X2J1ZmZlcihnYiwgZHN0cCwgb3Bfc2l6ZSk7 CisgICAgICAgIGludCByZWFkX3NpemUgPSBieXRlc3RyZWFtMl9nZXRfYnVmZmVyKGdiLCBkc3Rw LCBvcF9zaXplKTsKKyAgICAgICAgaWYgKHJlYWRfc2l6ZSAhPSBvcF9zaXplKQorICAgICAgICAg ICAgcmV0dXJuIEFWRVJST1JfSU5WQUxJRERBVEE7CiAgICAgfSBlbHNlIGlmICgoZmxhZyAmIDMp ID09IDEpIHsKICAgICAgICAgYnl0ZXN0cmVhbTJfc2tpcChnYiwgMSk7CiAgICAgICAgIG1lbXNl dChkc3RwLCBieXRlc3RyZWFtMl9nZXRfYnl0ZShnYiksIG9wX3NpemUpOwotLSAKMi40OS4xCgoK RnJvbSA5Mzk3YWVjNjlmMzViZGFkMDY3NmNlODc3MGUyNTFlN2FjOTdlZWJmIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBNaWNoYWVsIE5pZWRlcm1heWVyIDxtaWNoYWVsQG5pZWRlcm1h eWVyLmNjPgpEYXRlOiBGcmksIDggQXVnIDIwMjUgMTI6MjU6NTUgKzAyMDAKU3ViamVjdDogW1BB VENIIDM2OC80MzRdIGF2Y29kZWMvZHh2OiBDbGVhciBjdGV4CgpzYW1lIGlzc3VlIGFzIHdpdGgg dGV4CgpGaXhlczogNDMxNjY1MzA1L2NsdXN0ZXJmdXp6LXRlc3RjYXNlLW1pbmltaXplZC1mZm1w ZWdfQVZfQ09ERUNfSURfRFhWX0RFQ19mdXp6ZXItNTMzOTU5OTMzOTg0NzY4MApGaXhlczogdXNl IG9mIHVuaW5pdGlhbGl6ZWQgbWVtb3J5CgpGb3VuZC1ieTogY29udGludW91cyBmdXp6aW5nIHBy b2Nlc3MgaHR0cHM6Ly9naXRodWIuY29tL2dvb2dsZS9vc3MtZnV6ei90cmVlL21hc3Rlci9wcm9q ZWN0cy9mZm1wZWcKU2lnbmVkLW9mZi1ieTogTWljaGFlbCBOaWVkZXJtYXllciA8bWljaGFlbEBu aWVkZXJtYXllci5jYz4KKGNoZXJyeSBwaWNrZWQgZnJvbSBjb21taXQgNGU1ZjI1YzBhNTBhYzE3 ZTIwZGRjMzU0OWRiZmYwOTc2YTU4MjZiOSkKU2lnbmVkLW9mZi1ieTogTWljaGFlbCBOaWVkZXJt YXllciA8bWljaGFlbEBuaWVkZXJtYXllci5jYz4KLS0tCiBsaWJhdmNvZGVjL2R4di5jIHwgMTQg KysrKysrKysrKystLS0KIDEgZmlsZSBjaGFuZ2VkLCAxMSBpbnNlcnRpb25zKCspLCAzIGRlbGV0 aW9ucygtKQoKZGlmZiAtLWdpdCBhL2xpYmF2Y29kZWMvZHh2LmMgYi9saWJhdmNvZGVjL2R4di5j CmluZGV4IDFjZWU1N2JjMDguLjNhZjUzMjFlOTMgMTAwNjQ0Ci0tLSBhL2xpYmF2Y29kZWMvZHh2 LmMKKysrIGIvbGliYXZjb2RlYy9keHYuYwpAQCAtMzksNiArMzksNyBAQCB0eXBlZGVmIHN0cnVj dCBEWFZDb250ZXh0IHsKIAogICAgIHVpbnQ4X3QgKnRleF9kYXRhOyAgIC8vIENvbXByZXNzZWQg dGV4dHVyZQogICAgIHVpbnQ4X3QgKmN0ZXhfZGF0YTsgIC8vIENvbXByZXNzZWQgY2hyb21hIHRl eHR1cmUKKyAgICB1bnNpZ25lZCBjdGV4X2RhdGFfc2l6ZTsKIAogICAgIGludDY0X3QgdGV4X3Np emU7ICAgIC8vIFRleHR1cmUgc2l6ZQogICAgIGludDY0X3QgY3RleF9zaXplOyAgIC8vIENocm9t YSB0ZXh0dXJlIHNpemUKQEAgLTk4Nyw5ICs5ODgsMTQgQEAgc3RhdGljIGludCBkeHZfZGVjb2Rl KEFWQ29kZWNDb250ZXh0ICphdmN0eCwgQVZGcmFtZSAqZnJhbWUsCiAgICAgICAgIGN0eC0+b3Bf c2l6ZVsyXSA9IGF2Y3R4LT5jb2RlZF93aWR0aCAqIGF2Y3R4LT5jb2RlZF9oZWlnaHQgLyAzMjsK ICAgICAgICAgY3R4LT5vcF9zaXplWzNdID0gYXZjdHgtPmNvZGVkX3dpZHRoICogYXZjdHgtPmNv ZGVkX2hlaWdodCAvIDE2OwogCi0gICAgICAgIHJldCA9IGF2X3JlYWxsb2NwKCZjdHgtPmN0ZXhf ZGF0YSwgY3R4LT5jdGV4X3NpemUgKyBBVl9JTlBVVF9CVUZGRVJfUEFERElOR19TSVpFKTsKLSAg ICAgICAgaWYgKHJldCA8IDApCi0gICAgICAgICAgICByZXR1cm4gcmV0OworICAgICAgICBvbGRf c2l6ZSA9IGN0eC0+Y3RleF9kYXRhX3NpemU7CisgICAgICAgIHB0ciA9IGF2X2Zhc3RfcmVhbGxv YyhjdHgtPmN0ZXhfZGF0YSwgJmN0eC0+Y3RleF9kYXRhX3NpemUsIGN0eC0+Y3RleF9zaXplICsg QVZfSU5QVVRfQlVGRkVSX1BBRERJTkdfU0laRSk7CisgICAgICAgIGlmICghcHRyKQorICAgICAg ICAgICAgcmV0dXJuIEFWRVJST1IoRU5PTUVNKTsKKyAgICAgICAgY3R4LT5jdGV4X2RhdGEgPSBw dHI7CisgICAgICAgIGlmIChvbGRfc2l6ZSA8IGN0eC0+Y3RleF9kYXRhX3NpemUpCisgICAgICAg ICAgICBtZW1zZXQoY3R4LT5jdGV4X2RhdGEgKyBvbGRfc2l6ZSwgMCwgY3R4LT5jdGV4X2RhdGFf c2l6ZSAtIG9sZF9zaXplKTsKKwogICAgICAgICBmb3IgKGkgPSAwOyBpIDwgNDsgaSsrKSB7CiAg ICAgICAgICAgICByZXQgPSBhdl9yZWFsbG9jcCgmY3R4LT5vcF9kYXRhW2ldLCBjdHgtPm9wX3Np emVbaV0pOwogICAgICAgICAgICAgaWYgKHJldCA8IDApCkBAIC0xMDgxLDYgKzEwODcsOCBAQCBz dGF0aWMgaW50IGR4dl9jbG9zZShBVkNvZGVjQ29udGV4dCAqYXZjdHgpCiAKICAgICBhdl9mcmVl cCgmY3R4LT50ZXhfZGF0YSk7CiAgICAgYXZfZnJlZXAoJmN0eC0+Y3RleF9kYXRhKTsKKyAgICBj dHgtPmN0ZXhfZGF0YV9zaXplID0gMDsKKwogICAgIGF2X2ZyZWVwKCZjdHgtPm9wX2RhdGFbMF0p OwogICAgIGF2X2ZyZWVwKCZjdHgtPm9wX2RhdGFbMV0pOwogICAgIGF2X2ZyZWVwKCZjdHgtPm9w X2RhdGFbMl0pOwotLSAKMi40OS4xCgoKRnJvbSA1YTFiYTNlNzkxM2I1MDE2YzI3NjQ2OTk0Mjc3 ZGIwZWVhYTIyZDE0IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBNaWNoYWVsIE5pZWRl cm1heWVyIDxtaWNoYWVsQG5pZWRlcm1heWVyLmNjPgpEYXRlOiBUaHUsIDcgQXVnIDIwMjUgMTk6 NTY6NTMgKzAyMDAKU3ViamVjdDogW1BBVENIIDM2OS80MzRdIGF2Y29kZWMvZHh2OiBVc2UgYXZf ZmFzdF9yZWFsbG9jKCkgYW5kIGNsZWFyIGFsbCBuZXcKIHNwYWNlCgpUaGUgY29kZSB3cml0aW5n IGluIHRoZSBidWZmZXIgaGFzIGEgd2lkZSByYW5nZSBvZiBlcnJvciBjaGVja3MKd2hpY2ggc2lt cGx5IGxlYXZlIGl0IHBhcnRseSB1bmluaXRpYWxpemVkLgoKSW5pdGlhbGl6aW5nIGl0IG9uIGFs bG9jYXRpb24gZW5zdXJlcyBubyBzZW5zaXRpdmUgZGF0YSBsZWFrcyBhbmQgdGhhdApidWdzIGFy ZSBtb3JlIHJlbGlhYmx5IHJlcHJvZHVjZWFibGUKCkZpeGVzOiB1c2Ugb2YgdW5pbml0aWFsaXpl ZCBtZW1vcnkKRml4ZXM6IDQzNTIyNTUxMC9jbHVzdGVyZnV6ei10ZXN0Y2FzZS1taW5pbWl6ZWQt ZmZtcGVnX0FWX0NPREVDX0lEX0RYVl9ERUNfZnV6emVyLTQ1MjE5MTg2MzQxOTY5OTIKCkZvdW5k LWJ5OiBjb250aW51b3VzIGZ1enppbmcgcHJvY2VzcyBodHRwczovL2dpdGh1Yi5jb20vZ29vZ2xl L29zcy1mdXp6L3RyZWUvbWFzdGVyL3Byb2plY3RzL2ZmbXBlZwpTaWduZWQtb2ZmLWJ5OiBNaWNo YWVsIE5pZWRlcm1heWVyIDxtaWNoYWVsQG5pZWRlcm1heWVyLmNjPgooY2hlcnJ5IHBpY2tlZCBm cm9tIGNvbW1pdCA0YTBiNzkzNzM3ZWMxYTExOGQyMTE5YTY3N2ZhMTc5MjZkZWYwMWJjKQpTaWdu ZWQtb2ZmLWJ5OiBNaWNoYWVsIE5pZWRlcm1heWVyIDxtaWNoYWVsQG5pZWRlcm1heWVyLmNjPgot LS0KIGxpYmF2Y29kZWMvZHh2LmMgfCAxNCArKysrKysrKysrKy0tLQogMSBmaWxlIGNoYW5nZWQs IDExIGluc2VydGlvbnMoKyksIDMgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvbGliYXZjb2Rl Yy9keHYuYyBiL2xpYmF2Y29kZWMvZHh2LmMKaW5kZXggM2FmNTMyMWU5My4uOTY4YWI4ZjFmOCAx MDA2NDQKLS0tIGEvbGliYXZjb2RlYy9keHYuYworKysgYi9saWJhdmNvZGVjL2R4di5jCkBAIC0z OCw2ICszOCw3IEBAIHR5cGVkZWYgc3RydWN0IERYVkNvbnRleHQgewogICAgIEdldEJ5dGVDb250 ZXh0IGdiYzsKIAogICAgIHVpbnQ4X3QgKnRleF9kYXRhOyAgIC8vIENvbXByZXNzZWQgdGV4dHVy ZQorICAgIHVuc2lnbmVkIHRleF9kYXRhX3NpemU7CiAgICAgdWludDhfdCAqY3RleF9kYXRhOyAg Ly8gQ29tcHJlc3NlZCBjaHJvbWEgdGV4dHVyZQogICAgIHVuc2lnbmVkIGN0ZXhfZGF0YV9zaXpl OwogCkBAIC05NzIsOSArOTczLDE0IEBAIHN0YXRpYyBpbnQgZHh2X2RlY29kZShBVkNvZGVjQ29u dGV4dCAqYXZjdHgsIEFWRnJhbWUgKmZyYW1lLAogICAgIGN0eC0+dGV4X3NpemUgPSBhdmN0eC0+ Y29kZWRfd2lkdGggIC8gKHRleGRzcF9jdHgucmF3X3JhdGlvIC8gKGF2Y3R4LT5waXhfZm10ID09 IEFWX1BJWF9GTVRfUkdCQSA/IDQgOiAxKSkgKgogICAgICAgICAgICAgICAgICAgICBhdmN0eC0+ Y29kZWRfaGVpZ2h0IC8gVEVYVFVSRV9CTE9DS19IICoKICAgICAgICAgICAgICAgICAgICAgdGV4 ZHNwX2N0eC50ZXhfcmF0aW87Ci0gICAgcmV0ID0gYXZfcmVhbGxvY3AoJmN0eC0+dGV4X2RhdGEs IGN0eC0+dGV4X3NpemUgKyBBVl9JTlBVVF9CVUZGRVJfUEFERElOR19TSVpFKTsKLSAgICBpZiAo cmV0IDwgMCkKLSAgICAgICAgcmV0dXJuIHJldDsKKyAgICB1bnNpZ25lZCBvbGRfc2l6ZSA9IGN0 eC0+dGV4X2RhdGFfc2l6ZTsKKyAgICB2b2lkICpwdHIgPSBhdl9mYXN0X3JlYWxsb2MoY3R4LT50 ZXhfZGF0YSwgJmN0eC0+dGV4X2RhdGFfc2l6ZSwgY3R4LT50ZXhfc2l6ZSArIEFWX0lOUFVUX0JV RkZFUl9QQURESU5HX1NJWkUpOworICAgIGlmICghcHRyKQorICAgICAgICByZXR1cm4gQVZFUlJP UihFTk9NRU0pOworICAgIGN0eC0+dGV4X2RhdGEgPSBwdHI7CisKKyAgICBpZiAoY3R4LT50ZXhf ZGF0YV9zaXplID4gb2xkX3NpemUpCisgICAgICAgIG1lbXNldChjdHgtPnRleF9kYXRhICsgb2xk X3NpemUsIDAsIGN0eC0+dGV4X2RhdGFfc2l6ZSAtIG9sZF9zaXplKTsKIAogICAgIGlmIChhdmN0 eC0+cGl4X2ZtdCAhPSBBVl9QSVhfRk1UX1JHQkEpIHsKICAgICAgICAgaW50IGk7CkBAIC0xMDg2 LDYgKzEwOTIsOCBAQCBzdGF0aWMgaW50IGR4dl9jbG9zZShBVkNvZGVjQ29udGV4dCAqYXZjdHgp CiAgICAgRFhWQ29udGV4dCAqY3R4ID0gYXZjdHgtPnByaXZfZGF0YTsKIAogICAgIGF2X2ZyZWVw KCZjdHgtPnRleF9kYXRhKTsKKyAgICBjdHgtPnRleF9kYXRhX3NpemUgPSAwOworCiAgICAgYXZf ZnJlZXAoJmN0eC0+Y3RleF9kYXRhKTsKICAgICBjdHgtPmN0ZXhfZGF0YV9zaXplID0gMDsKIAot LSAKMi40OS4xCgoKRnJvbSAzZmMzN2Q0OTk5ZDVlMjI3MDg2ZDk3MTYwMGM4OTk0N2I3ODFjOGM0 IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBNaWNoYWVsIE5pZWRlcm1heWVyIDxtaWNo YWVsQG5pZWRlcm1heWVyLmNjPgpEYXRlOiBGcmksIDggQXVnIDIwMjUgMTI6NDM6NDYgKzAyMDAK U3ViamVjdDogW1BBVENIIDM3MC80MzRdIGF2Y29kZWMvZHh2OiBVc2UgYXZfZmFzdF9yZWFsbG9j KCkgZm9yIG9wX2RhdGEKCm1ha2VzIHRoaW5ncyBjb25zaXN0ZW50CgpTaWduZWQtb2ZmLWJ5OiBN aWNoYWVsIE5pZWRlcm1heWVyIDxtaWNoYWVsQG5pZWRlcm1heWVyLmNjPgooY2hlcnJ5IHBpY2tl ZCBmcm9tIGNvbW1pdCAzNzNiZDgwYjE2NjQzZTM0OWQyMjllMjQ3OWZhZDU2NWRiYTEyOWE1KQpT aWduZWQtb2ZmLWJ5OiBNaWNoYWVsIE5pZWRlcm1heWVyIDxtaWNoYWVsQG5pZWRlcm1heWVyLmNj PgotLS0KIGxpYmF2Y29kZWMvZHh2LmMgfCAxMCArKysrKysrLS0tCiAxIGZpbGUgY2hhbmdlZCwg NyBpbnNlcnRpb25zKCspLCAzIGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL2xpYmF2Y29kZWMv ZHh2LmMgYi9saWJhdmNvZGVjL2R4di5jCmluZGV4IDk2OGFiOGYxZjguLjQ0ZGIyMTUxMzEgMTAw NjQ0Ci0tLSBhL2xpYmF2Y29kZWMvZHh2LmMKKysrIGIvbGliYXZjb2RlYy9keHYuYwpAQCAtNDYs NiArNDYsNyBAQCB0eXBlZGVmIHN0cnVjdCBEWFZDb250ZXh0IHsKICAgICBpbnQ2NF90IGN0ZXhf c2l6ZTsgICAvLyBDaHJvbWEgdGV4dHVyZSBzaXplCiAKICAgICB1aW50OF90ICpvcF9kYXRhWzRd OyAvLyBPcGNvZGVzCisgICAgdW5zaWduZWQgb3BfZGF0YV9zaXplWzRdOwogICAgIGludDY0X3Qg b3Bfc2l6ZVs0XTsgIC8vIE9wY29kZXMgc2l6ZQogfSBEWFZDb250ZXh0OwogCkBAIC0xMDAzLDkg KzEwMDQsMTEgQEAgc3RhdGljIGludCBkeHZfZGVjb2RlKEFWQ29kZWNDb250ZXh0ICphdmN0eCwg QVZGcmFtZSAqZnJhbWUsCiAgICAgICAgICAgICBtZW1zZXQoY3R4LT5jdGV4X2RhdGEgKyBvbGRf c2l6ZSwgMCwgY3R4LT5jdGV4X2RhdGFfc2l6ZSAtIG9sZF9zaXplKTsKIAogICAgICAgICBmb3Ig KGkgPSAwOyBpIDwgNDsgaSsrKSB7Ci0gICAgICAgICAgICByZXQgPSBhdl9yZWFsbG9jcCgmY3R4 LT5vcF9kYXRhW2ldLCBjdHgtPm9wX3NpemVbaV0pOwotICAgICAgICAgICAgaWYgKHJldCA8IDAp Ci0gICAgICAgICAgICAgICAgcmV0dXJuIHJldDsKKyAgICAgICAgICAgIG9sZF9zaXplID0gY3R4 LT5vcF9kYXRhX3NpemVbaV07CisgICAgICAgICAgICBwdHIgPSBhdl9mYXN0X3JlYWxsb2MoY3R4 LT5vcF9kYXRhW2ldLCAmY3R4LT5vcF9kYXRhX3NpemVbaV0sIGN0eC0+b3Bfc2l6ZVtpXSk7Cisg ICAgICAgICAgICBpZiAoIXB0cikKKyAgICAgICAgICAgICAgICByZXR1cm4gQVZFUlJPUihFTk9N RU0pOworICAgICAgICAgICAgY3R4LT5vcF9kYXRhW2ldID0gcHRyOwogICAgICAgICB9CiAgICAg fQogCkBAIC0xMTAxLDYgKzExMDQsNyBAQCBzdGF0aWMgaW50IGR4dl9jbG9zZShBVkNvZGVjQ29u dGV4dCAqYXZjdHgpCiAgICAgYXZfZnJlZXAoJmN0eC0+b3BfZGF0YVsxXSk7CiAgICAgYXZfZnJl ZXAoJmN0eC0+b3BfZGF0YVsyXSk7CiAgICAgYXZfZnJlZXAoJmN0eC0+b3BfZGF0YVszXSk7Cisg ICAgbWVtc2V0KGN0eC0+b3BfZGF0YV9zaXplLCAwLCBzaXplb2YoY3R4LT5vcF9kYXRhX3NpemUp KTsKIAogICAgIHJldHVybiAwOwogfQotLSAKMi40OS4xCgoKRnJvbSA3MjlkZDliMjg2NWJlZGQ2 YTgxNjBlZjU3NGRiMGQzOTFjNDkxYmVlIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBK aWFzaGVuZyBKaWFuZyA8amlhc2hlbmdqaWFuZ2Nvb2xAZ21haWwuY29tPgpEYXRlOiBUaHUsIDcg QXVnIDIwMjUgMTQ6NTA6MTAgKzAwMDAKU3ViamVjdDogW1BBVENIIDM3MS80MzRdIGxpYmF2Zmls dGVyL2Rubi9kbm5fYmFja2VuZF90ZjogUmVtb3ZlIHJlZHVuZGFudAogYXZfZnJlZXAoKSB0byBh dm9pZCBkb3VibGUgZnJlZQoKUmVtb3ZlIHJlZHVuZGFudCBhdl9mcmVlcCgpIHRvIGF2b2lkIGRv dWJsZSBmcmVlIHNpbmNlIHRhc2sgd2lsbCBiZSBmcmVlZCBpbiBkbm5fZnJlZV9tb2RlbF90Zigp IGFmdGVyIHRoZSBzdWNjZXNzIG9mIGZmX3F1ZXVlX3B1c2hfYmFjaygpLgoKRml4ZXM6IGFmMDUy ZjkwNjYgKCJsYXZmaS9kbm46IGZpeCBtZW0gbGVhayBpbiBURiBiYWNrZW5kIGVycm9yIGhhbmRs ZSIpClNpZ25lZC1vZmYtYnk6IEppYXNoZW5nIEppYW5nIDxqaWFzaGVuZ2ppYW5nY29vbEBnbWFp bC5jb20+CihjaGVycnkgcGlja2VkIGZyb20gY29tbWl0IGI4ZDVmNjViOWU4OWQ4OTNmMjdjZjAw Nzk5ZGJjMTVmYzBjYTJmOGUpClNpZ25lZC1vZmYtYnk6IE1pY2hhZWwgTmllZGVybWF5ZXIgPG1p Y2hhZWxAbmllZGVybWF5ZXIuY2M+Ci0tLQogbGliYXZmaWx0ZXIvZG5uL2Rubl9iYWNrZW5kX3Rm LmMgfCAyIC0tCiAxIGZpbGUgY2hhbmdlZCwgMiBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9s aWJhdmZpbHRlci9kbm4vZG5uX2JhY2tlbmRfdGYuYyBiL2xpYmF2ZmlsdGVyL2Rubi9kbm5fYmFj a2VuZF90Zi5jCmluZGV4IDZjYTdmYjY5MTAuLjJjMzM2OTFmOTYgMTAwNjQ0Ci0tLSBhL2xpYmF2 ZmlsdGVyL2Rubi9kbm5fYmFja2VuZF90Zi5jCisrKyBiL2xpYmF2ZmlsdGVyL2Rubi9kbm5fYmFj a2VuZF90Zi5jCkBAIC04MzMsMTQgKzgzMywxMiBAQCBzdGF0aWMgaW50IGRubl9leGVjdXRlX21v ZGVsX3RmKGNvbnN0IEROTk1vZGVsICptb2RlbCwgRE5ORXhlY0Jhc2VQYXJhbXMgKmV4ZWNfcAog CiAgICAgcmV0ID0gZXh0cmFjdF9sbHRhc2tfZnJvbV90YXNrKHRhc2ssIHRmX21vZGVsLT5sbHRh c2tfcXVldWUpOwogICAgIGlmIChyZXQgIT0gMCkgewotICAgICAgICBhdl9mcmVlcCgmdGFzayk7 CiAgICAgICAgIGF2X2xvZyhjdHgsIEFWX0xPR19FUlJPUiwgInVuYWJsZSB0byBleHRyYWN0IGxh c3QgbGV2ZWwgdGFzayBmcm9tIHRhc2suXG4iKTsKICAgICAgICAgcmV0dXJuIHJldDsKICAgICB9 CiAKICAgICByZXF1ZXN0ID0gZmZfc2FmZV9xdWV1ZV9wb3BfZnJvbnQodGZfbW9kZWwtPnJlcXVl c3RfcXVldWUpOwogICAgIGlmICghcmVxdWVzdCkgewotICAgICAgICBhdl9mcmVlcCgmdGFzayk7 CiAgICAgICAgIGF2X2xvZyhjdHgsIEFWX0xPR19FUlJPUiwgInVuYWJsZSB0byBnZXQgaW5mZXIg cmVxdWVzdC5cbiIpOwogICAgICAgICByZXR1cm4gQVZFUlJPUihFSU5WQUwpOwogICAgIH0KLS0g CjIuNDkuMQoKCkZyb20gMDJjOTI4MGU2MjlhN2ZlNDU5YTIxOTZjMDk5MDI5N2YzOTk1Y2M1OCBN b24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKRnJvbTogTWljaGFlbCBOaWVkZXJtYXllciA8bWljaGFl bEBuaWVkZXJtYXllci5jYz4KRGF0ZTogV2VkLCAxMyBBdWcgMjAyNSAwMDo1OToyMCArMDIwMApT dWJqZWN0OiBbUEFUQ0ggMzcyLzQzNF0gZmZ0b29scy9mZm1wZWdfbXV4X2luaXQ6IFVzZSA2NGJp dCBmb3Igc2NvcmUKIGNvbXB1dGF0aW9uIGluIG1hcF9hdXRvX3ZpZGVvKCkKCkZpeGVzOiBzaWdu ZWQgaW50ZWdlciBvdmVyZmxvdzogMTAgKiAxOTUyNzM3NjU1IGNhbm5vdCBiZSByZXByZXNlbnRl ZCBpbiB0eXBlICdpbnQnCkZpeGVzOiBQb0NfYXZpX2RlbXV4CgpGb3VuZC1ieTogMm91cmMzIChT YWxpbSBMQVJHTykKU2lnbmVkLW9mZi1ieTogTWljaGFlbCBOaWVkZXJtYXllciA8bWljaGFlbEBu aWVkZXJtYXllci5jYz4KKGNoZXJyeSBwaWNrZWQgZnJvbSBjb21taXQgY2RiYjVmMWI5MzM1MmY5 ZTdlY2ViMTU2MmFkMjgzYTc4YjU0NjA5MSkKU2lnbmVkLW9mZi1ieTogTWljaGFlbCBOaWVkZXJt YXllciA8bWljaGFlbEBuaWVkZXJtYXllci5jYz4KLS0tCiBmZnRvb2xzL2ZmbXBlZ19tdXhfaW5p dC5jIHwgOCArKysrLS0tLQogMSBmaWxlIGNoYW5nZWQsIDQgaW5zZXJ0aW9ucygrKSwgNCBkZWxl dGlvbnMoLSkKCmRpZmYgLS1naXQgYS9mZnRvb2xzL2ZmbXBlZ19tdXhfaW5pdC5jIGIvZmZ0b29s cy9mZm1wZWdfbXV4X2luaXQuYwppbmRleCA4YWZiMDE4ZGU4Li4yYTAxNGM4Yjk0IDEwMDY0NAot LS0gYS9mZnRvb2xzL2ZmbXBlZ19tdXhfaW5pdC5jCisrKyBiL2ZmdG9vbHMvZmZtcGVnX211eF9p bml0LmMKQEAgLTE1NTcsNyArMTU1Nyw3IEBAIHN0YXRpYyBpbnQgbWFwX2F1dG9fdmlkZW8oTXV4 ZXIgKm11eCwgY29uc3QgT3B0aW9uc0NvbnRleHQgKm8pCiB7CiAgICAgQVZGb3JtYXRDb250ZXh0 ICpvYyA9IG11eC0+ZmM7CiAgICAgSW5wdXRTdHJlYW0gKmJlc3RfaXN0ID0gTlVMTDsKLSAgICBp bnQgYmVzdF9zY29yZSA9IDA7CisgICAgaW50NjRfdCBiZXN0X3Njb3JlID0gMDsKICAgICBpbnQg cWNyOwogCiAgICAgLyogdmlkZW86IGhpZ2hlc3QgcmVzb2x1dGlvbiAqLwpAQCAtMTU2OCwxNiAr MTU2OCwxNiBAQCBzdGF0aWMgaW50IG1hcF9hdXRvX3ZpZGVvKE11eGVyICptdXgsIGNvbnN0IE9w dGlvbnNDb250ZXh0ICpvKQogICAgIGZvciAoaW50IGogPSAwOyBqIDwgbmJfaW5wdXRfZmlsZXM7 IGorKykgewogICAgICAgICBJbnB1dEZpbGUgKmlmaWxlID0gaW5wdXRfZmlsZXNbal07CiAgICAg ICAgIElucHV0U3RyZWFtICpmaWxlX2Jlc3RfaXN0ID0gTlVMTDsKLSAgICAgICAgaW50IGZpbGVf YmVzdF9zY29yZSA9IDA7CisgICAgICAgIGludDY0X3QgZmlsZV9iZXN0X3Njb3JlID0gMDsKICAg ICAgICAgZm9yIChpbnQgaSA9IDA7IGkgPCBpZmlsZS0+bmJfc3RyZWFtczsgaSsrKSB7CiAgICAg ICAgICAgICBJbnB1dFN0cmVhbSAqaXN0ID0gaWZpbGUtPnN0cmVhbXNbaV07Ci0gICAgICAgICAg ICBpbnQgc2NvcmU7CisgICAgICAgICAgICBpbnQ2NF90IHNjb3JlOwogCiAgICAgICAgICAgICBp ZiAoaXN0LT51c2VyX3NldF9kaXNjYXJkID09IEFWRElTQ0FSRF9BTEwgfHwKICAgICAgICAgICAg ICAgICBpc3QtPnN0LT5jb2RlY3Bhci0+Y29kZWNfdHlwZSAhPSBBVk1FRElBX1RZUEVfVklERU8p CiAgICAgICAgICAgICAgICAgY29udGludWU7CiAKLSAgICAgICAgICAgIHNjb3JlID0gaXN0LT5z dC0+Y29kZWNwYXItPndpZHRoICogaXN0LT5zdC0+Y29kZWNwYXItPmhlaWdodAorICAgICAgICAg ICAgc2NvcmUgPSBpc3QtPnN0LT5jb2RlY3Bhci0+d2lkdGggKiAoaW50NjRfdClpc3QtPnN0LT5j b2RlY3Bhci0+aGVpZ2h0CiAgICAgICAgICAgICAgICAgICAgICAgICsgMTAwMDAwMDAwICogISEo aXN0LT5zdC0+ZXZlbnRfZmxhZ3MgJiBBVlNUUkVBTV9FVkVOVF9GTEFHX05FV19QQUNLRVRTKQog ICAgICAgICAgICAgICAgICAgICAgICArIDUwMDAwMDAqISEoaXN0LT5zdC0+ZGlzcG9zaXRpb24g JiBBVl9ESVNQT1NJVElPTl9ERUZBVUxUKTsKICAgICAgICAgICAgIGlmKChxY3IhPU1LVEFHKCdB JywgJ1AnLCAnSScsICdDJykpICYmIChpc3QtPnN0LT5kaXNwb3NpdGlvbiAmIEFWX0RJU1BPU0lU SU9OX0FUVEFDSEVEX1BJQykpCi0tIAoyLjQ5LjEKCgpGcm9tIDVjZDFmNTJmNjg3NTlkZGM3MWZh Nzg0MjQyYjc5OTQzMGJiYjFlZmYgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCkZyb206IE1pY2hh ZWwgTmllZGVybWF5ZXIgPG1pY2hhZWxAbmllZGVybWF5ZXIuY2M+CkRhdGU6IEZyaSwgMTUgQXVn IDIwMjUgMTc6NTU6MDUgKzAyMDAKU3ViamVjdDogW1BBVENIIDM3My80MzRdIGF2Y29kZWMvdXR2 aWRlb2RlYzogQ2xlYXIgcGxhbmVfc3RhcnQgYXJyYXkKCmluIHBhY2sgbW9kZSB0aGUgYXJyYXkg aXMgcGFzc2VkIGludG8gZGVjb2RlX3BsYW5lKCkgd2l0aG91dCBiZWluZyBpbml0aWFsaXplZCBv ciB1c2VkCgpGaXhlczogdXNlIG9mIHVuaW5pdGlhbGl6ZWQgbWVtb3J5CkZpeGVzOiA0Mzg3ODAx MTkvY2x1c3RlcmZ1enotdGVzdGNhc2UtbWluaW1pemVkLWZmbXBlZ19BVl9DT0RFQ19JRF9VVFZJ REVPX0RFQ19mdXp6ZXItNTQ2NDAzNzAyNzgwNzIzMgoKRm91bmQtYnk6IGNvbnRpbnVvdXMgZnV6 emluZyBwcm9jZXNzIGh0dHBzOi8vZ2l0aHViLmNvbS9nb29nbGUvb3NzLWZ1enovdHJlZS9tYXN0 ZXIvcHJvamVjdHMvZmZtcGVnClNpZ25lZC1vZmYtYnk6IE1pY2hhZWwgTmllZGVybWF5ZXIgPG1p Y2hhZWxAbmllZGVybWF5ZXIuY2M+CihjaGVycnkgcGlja2VkIGZyb20gY29tbWl0IDJhMjI5NzJk YjNiMzkwZDgyZGVkYmRiYjVmNDRjYzA5YTQzOTEyYjUpClNpZ25lZC1vZmYtYnk6IE1pY2hhZWwg TmllZGVybWF5ZXIgPG1pY2hhZWxAbmllZGVybWF5ZXIuY2M+Ci0tLQogbGliYXZjb2RlYy91dHZp ZGVvZGVjLmMgfCAyICstCiAxIGZpbGUgY2hhbmdlZCwgMSBpbnNlcnRpb24oKyksIDEgZGVsZXRp b24oLSkKCmRpZmYgLS1naXQgYS9saWJhdmNvZGVjL3V0dmlkZW9kZWMuYyBiL2xpYmF2Y29kZWMv dXR2aWRlb2RlYy5jCmluZGV4IDkzNDk0NWMxYmUuLmJjMDJhYzQ0ZDUgMTAwNjQ0Ci0tLSBhL2xp YmF2Y29kZWMvdXR2aWRlb2RlYy5jCisrKyBiL2xpYmF2Y29kZWMvdXR2aWRlb2RlYy5jCkBAIC01 ODUsNyArNTg1LDcgQEAgc3RhdGljIGludCBkZWNvZGVfZnJhbWUoQVZDb2RlY0NvbnRleHQgKmF2 Y3R4LCBBVkZyYW1lICpmcmFtZSwKICAgICBpbnQgYnVmX3NpemUgPSBhdnBrdC0+c2l6ZTsKICAg ICBVdHZpZGVvQ29udGV4dCAqYyA9IGF2Y3R4LT5wcml2X2RhdGE7CiAgICAgaW50IGksIGo7Ci0g ICAgY29uc3QgdWludDhfdCAqcGxhbmVfc3RhcnRbNV07CisgICAgY29uc3QgdWludDhfdCAqcGxh bmVfc3RhcnRbNV0gPSB7TlVMTH07CiAgICAgaW50IHBsYW5lX3NpemUsIG1heF9zbGljZV9zaXpl ID0gMCwgc2xpY2Vfc3RhcnQsIHNsaWNlX2VuZCwgc2xpY2Vfc2l6ZTsKICAgICBpbnQgcmV0Owog ICAgIEdldEJ5dGVDb250ZXh0IGdiOwotLSAKMi40OS4xCgoKRnJvbSA1YzExY2Y5OGFiZGQ3Mjgw Mzc1NTM5OTViYmY0MDFkODU4YjQwYWViIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBN aWNoYWVsIE5pZWRlcm1heWVyIDxtaWNoYWVsQG5pZWRlcm1heWVyLmNjPgpEYXRlOiBTdW4sIDE3 IEF1ZyAyMDI1IDE1OjMxOjQ4ICswMjAwClN1YmplY3Q6IFtQQVRDSCAzNzQvNDM0XSBhdmNvZGVj L3Nhbm06IENoZWNrIHcsaCxsZWZ0LHRvcAoKVGhlIHNldHVwIGNvZGUgZm93IHcsaCxsZWZ0LHRv cCBpcyBjb21wbGV4LCB0aGUgY29kZSB1c2luZyBpdCBhbHNvIGZhbGxzIGluCmF0IGxlYXN0IDIg ZGlmZmVyZW50IGNsYXNzZXMsIG9uZSB1c2luZyBsZWZ0L3RvcCB0aGUgb3RoZXIgbm90LgoKVG8g ZW5zdXJlIG5vIG91dCBvZiBhcnJheSBhY2Nlc3MgaGFwcGVucyB3ZSBhZGQgdGhpcyBjbGVhciBj aGVjay4KCkZpeGVzOiBvdXQgb2YgYXJyYXkgYWNjZXNzCkZpeGVzOiA0MzkyNjE5OTUvY2x1c3Rl cmZ1enotdGVzdGNhc2UtbWluaW1pemVkLWZmbXBlZ19BVl9DT0RFQ19JRF9TQU5NX2Z1enplci01 MzgzNDU1NTcyODE5OTY4CgpGb3VuZC1ieTogY29udGludW91cyBmdXp6aW5nIHByb2Nlc3MgaHR0 cHM6Ly9naXRodWIuY29tL2dvb2dsZS9vc3MtZnV6ei90cmVlL21hc3Rlci9wcm9qZWN0cy9mZm1w ZWcKU2lnbmVkLW9mZi1ieTogTWljaGFlbCBOaWVkZXJtYXllciA8bWljaGFlbEBuaWVkZXJtYXll ci5jYz4KKGNoZXJyeSBwaWNrZWQgZnJvbSBjb21taXQgMTM0ZmJmZDFkY2I1OTQ0MWUzOGQ4NzBk ZGQyMzE3NzJmNGU4ZTEyNykKU2lnbmVkLW9mZi1ieTogTWljaGFlbCBOaWVkZXJtYXllciA8bWlj aGFlbEBuaWVkZXJtYXllci5jYz4KLS0tCiBsaWJhdmNvZGVjL3Nhbm0uYyB8IDUgKysrKysKIDEg ZmlsZSBjaGFuZ2VkLCA1IGluc2VydGlvbnMoKykKCmRpZmYgLS1naXQgYS9saWJhdmNvZGVjL3Nh bm0uYyBiL2xpYmF2Y29kZWMvc2FubS5jCmluZGV4IDhiN2MwZDk1NTYuLmFiZDc5ODFhYzYgMTAw NjQ0Ci0tLSBhL2xpYmF2Y29kZWMvc2FubS5jCisrKyBiL2xpYmF2Y29kZWMvc2FubS5jCkBAIC05 NzQsNiArOTc0LDExIEBAIHN0YXRpYyBpbnQgcHJvY2Vzc19mcmFtZV9vYmooU0FOTVZpZGVvQ29u dGV4dCAqY3R4KQogICAgIH0KICAgICBieXRlc3RyZWFtMl9za2lwKCZjdHgtPmdiLCA0KTsKIAor ICAgIGlmICh3ICsgRkZNQVgobGVmdCwgMCkgPiBjdHgtPmF2Y3R4LT53aWR0aCB8fCBoICsgRkZN QVgodG9wLCAwKSA+IGN0eC0+YXZjdHgtPmhlaWdodCkgeworICAgICAgICBhdnByaXZfcmVxdWVz dF9zYW1wbGUoY3R4LT5hdmN0eCwgIm92ZXJseSBsYXJnZSBmcmFtZVxuIik7CisgICAgICAgIHJl dHVybiBBVkVSUk9SX1BBVENIV0VMQ09NRTsKKyAgICB9CisKICAgICBzd2l0Y2ggKGNvZGVjKSB7 CiAgICAgY2FzZSAxOgogICAgIGNhc2UgMzoKLS0gCjIuNDkuMQoKCkZyb20gMzJlOTQwYTYyMjdi MWZiNzYyMzY0M2JjYWYzYjU4YWQ5ZjViMDcwNCBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKRnJv bTogTWljaGFlbCBOaWVkZXJtYXllciA8bWljaGFlbEBuaWVkZXJtYXllci5jYz4KRGF0ZTogTW9u LCAxOCBBdWcgMjAyNSAxNzoyMDo0OSArMDIwMApTdWJqZWN0OiBbUEFUQ0ggMzc1LzQzNF0gYXZm b3JtYXQvbHJjZGVjOiBGaXggZmF0ZS1zdWItbHJjLW1zLXJlbXV4IG9uIHg4Ni0zMgoKU2lnbmVk LW9mZi1ieTogTWljaGFlbCBOaWVkZXJtYXllciA8bWljaGFlbEBuaWVkZXJtYXllci5jYz4KKGNo ZXJyeSBwaWNrZWQgZnJvbSBjb21taXQgMDI0M2NmODliMTM3YjA5M2IwMmE1YzYxYTc2ZTI4Y2Vj MWQ2OWFlOSkKU2lnbmVkLW9mZi1ieTogTWljaGFlbCBOaWVkZXJtYXllciA8bWljaGFlbEBuaWVk ZXJtYXllci5jYz4KLS0tCiBsaWJhdmZvcm1hdC9scmNkZWMuYyB8IDIgKy0KIDEgZmlsZSBjaGFu Z2VkLCAxIGluc2VydGlvbigrKSwgMSBkZWxldGlvbigtKQoKZGlmZiAtLWdpdCBhL2xpYmF2Zm9y bWF0L2xyY2RlYy5jIGIvbGliYXZmb3JtYXQvbHJjZGVjLmMKaW5kZXggZTNlMDkxYTYxYS4uZjRh ODc5OTU0ZSAxMDA2NDQKLS0tIGEvbGliYXZmb3JtYXQvbHJjZGVjLmMKKysrIGIvbGliYXZmb3Jt YXQvbHJjZGVjLmMKQEAgLTkyLDcgKzkyLDcgQEAgc3RhdGljIGludDY0X3QgcmVhZF90cyhjb25z dCBjaGFyICpwLCBpbnQ2NF90ICpzdGFydCkKICAgICBpZiAocmV0ICE9IDMgfHwgcHJlZml4WzBd ICE9ICdbJyB8fCBzcyA8IDAgfHwgc3MgPiA2MCkgewogICAgICAgICByZXR1cm4gMDsKICAgICB9 Ci0gICAgKnN0YXJ0ID0gKG1tICogNjAgKyBzcykgKiBBVl9USU1FX0JBU0U7CisgICAgKnN0YXJ0 ID0gbGxyaW50KChtbSAqIDYwICsgc3MpICogQVZfVElNRV9CQVNFKTsKICAgICBpZiAocHJlZml4 WzFdID09ICctJykgewogICAgICAgICAqc3RhcnQgPSAtICpzdGFydDsKICAgICB9Ci0tIAoyLjQ5 LjEKCgpGcm9tIDEwYzc3NDkwNmNkYmIxZTY5NWY3YjE3NzkxZmFlNzU5Mzk2ZjY1ZTkgTW9uIFNl cCAxNyAwMDowMDowMCAyMDAxCkZyb206IE1pY2hhZWwgTmllZGVybWF5ZXIgPG1pY2hhZWxAbmll ZGVybWF5ZXIuY2M+CkRhdGU6IFdlZCwgMTMgQXVnIDIwMjUgMTM6MTE6MjMgKzAyMDAKU3ViamVj dDogW1BBVENIIDM3Ni80MzRdIGF2Y29kZWMvYWFjL2FhY2RlYzogZG9udCBhbGxvdwogZmZfYWFj X291dHB1dF9jb25maWd1cmUoKSBhbGxvY2F0aW5nIGEgbmV3IGZyYW1lIGlmIGl0IGhhcyBubyBm cmFtZQoKRml4ZXM6IG51bGwgcG9pbnRlciBkZXJlZmVyZW5jZQpGaXhlczogY3Jhc2hfdGVzdC5t cDQKCkZvdW5kLWJ5OiBJbnRlbCBQU0lSVApTaWduZWQtb2ZmLWJ5OiBNaWNoYWVsIE5pZWRlcm1h eWVyIDxtaWNoYWVsQG5pZWRlcm1heWVyLmNjPgooY2hlcnJ5IHBpY2tlZCBmcm9tIGNvbW1pdCBm Y2YxODBkOWVhMjdiN2RjMjk2NThjOWRjMzQ4OGFlNmZhYzNlYmQ5KQpTaWduZWQtb2ZmLWJ5OiBN aWNoYWVsIE5pZWRlcm1heWVyIDxtaWNoYWVsQG5pZWRlcm1heWVyLmNjPgotLS0KIGxpYmF2Y29k ZWMvYWFjL2FhY2RlYy5jIHwgMyArKysKIDEgZmlsZSBjaGFuZ2VkLCAzIGluc2VydGlvbnMoKykK CmRpZmYgLS1naXQgYS9saWJhdmNvZGVjL2FhYy9hYWNkZWMuYyBiL2xpYmF2Y29kZWMvYWFjL2Fh Y2RlYy5jCmluZGV4IDM5ZWRmNzNmYjcuLjQ5MjBmNWU3N2YgMTAwNjQ0Ci0tLSBhL2xpYmF2Y29k ZWMvYWFjL2FhY2RlYy5jCisrKyBiL2xpYmF2Y29kZWMvYWFjL2FhY2RlYy5jCkBAIC00NjYsNiAr NDY2LDkgQEAgaW50IGZmX2FhY19vdXRwdXRfY29uZmlndXJlKEFBQ0RlY0NvbnRleHQgKmFjLAog ICAgIHVpbnQ4X3QgaWRfbWFwW1RZUEVfRU5EXVtNQVhfRUxFTV9JRF0gPSB7eyAwIH19OwogICAg IHVpbnQ4X3QgdHlwZV9jb3VudHNbVFlQRV9FTkRdID0geyAwIH07CiAKKyAgICBpZiAoZ2V0X25l d19mcmFtZSAmJiAhYWMtPmZyYW1lKQorICAgICAgICByZXR1cm4gQVZFUlJPUl9JTlZBTElEREFU QTsKKwogICAgIGlmIChhYy0+b2NbMV0ubGF5b3V0X21hcCAhPSBsYXlvdXRfbWFwKSB7CiAgICAg ICAgIG1lbWNweShhYy0+b2NbMV0ubGF5b3V0X21hcCwgbGF5b3V0X21hcCwgdGFncyAqIHNpemVv ZihsYXlvdXRfbWFwWzBdKSk7CiAgICAgICAgIGFjLT5vY1sxXS5sYXlvdXRfbWFwX3RhZ3MgPSB0 YWdzOwotLSAKMi40OS4xCgoKRnJvbSAzMDU2MzM1MGRkY2JkNzkzY2UzMjNiNTU1ZjFkYjNjNzI1 ZGQ2YzMwIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBNaWNoYWVsIE5pZWRlcm1heWVy IDxtaWNoYWVsQG5pZWRlcm1heWVyLmNjPgpEYXRlOiBUdWUsIDE5IEF1ZyAyMDI1IDAzOjEyOjM3 ICswMjAwClN1YmplY3Q6IFtQQVRDSCAzNzcvNDM0XSBhdmNvZGVjL2R4djogQ2hlY2sgY29kZWRf aGVpZ2h0LCB0byBhdm9pZCBpbnZhbGlkCiBhdl9jbGlwKCkKCkZpeGVzOiBhc3NlcnRpb24gZmFp bHVyZQpGaXhlczogNDM4OTYxNTgyL2NsdXN0ZXJmdXp6LXRlc3RjYXNlLW1pbmltaXplZC1mZm1w ZWdfQVZfQ09ERUNfSURfRFhWX0RFQ19mdXp6ZXItNTg1MDgyNzczOTk1NTIwMAoKRm91bmQtYnk6 IGNvbnRpbnVvdXMgZnV6emluZyBwcm9jZXNzIGh0dHBzOi8vZ2l0aHViLmNvbS9nb29nbGUvb3Nz LWZ1enovdHJlZS9tYXN0ZXIvcHJvamVjdHMvZmZtcGVnClNpZ25lZC1vZmYtYnk6IE1pY2hhZWwg TmllZGVybWF5ZXIgPG1pY2hhZWxAbmllZGVybWF5ZXIuY2M+CihjaGVycnkgcGlja2VkIGZyb20g Y29tbWl0IGNkZWU1MTlkNDBlNjFiZDY1YmE1YjNmYmVjMDBhY2Q1MGEwOGQwZDkpClNpZ25lZC1v ZmYtYnk6IE1pY2hhZWwgTmllZGVybWF5ZXIgPG1pY2hhZWxAbmllZGVybWF5ZXIuY2M+Ci0tLQog bGliYXZjb2RlYy9keHYuYyB8IDIgKysKIDEgZmlsZSBjaGFuZ2VkLCAyIGluc2VydGlvbnMoKykK CmRpZmYgLS1naXQgYS9saWJhdmNvZGVjL2R4di5jIGIvbGliYXZjb2RlYy9keHYuYwppbmRleCA0 NGRiMjE1MTMxLi5mNGE2ZjM4MmE5IDEwMDY0NAotLS0gYS9saWJhdmNvZGVjL2R4di5jCisrKyBi L2xpYmF2Y29kZWMvZHh2LmMKQEAgLTk0MCw2ICs5NDAsOCBAQCBzdGF0aWMgaW50IGR4dl9kZWNv ZGUoQVZDb2RlY0NvbnRleHQgKmF2Y3R4LCBBVkZyYW1lICpmcmFtZSwKICAgICAgICAgfQogICAg ICAgICBicmVhazsKICAgICB9CisgICAgaWYgKGF2Y3R4LT5jb2RlZF9oZWlnaHQgLyAyIC8gVEVY VFVSRV9CTE9DS19IIDwgMSkKKyAgICAgICAgcmV0dXJuIEFWRVJST1JfSU5WQUxJRERBVEE7CiAK ICAgICB0ZXhkc3BfY3R4LnNsaWNlX2NvdW50ICA9IGF2X2NsaXAoYXZjdHgtPnRocmVhZF9jb3Vu dCwgMSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYXZjdHgtPmNvZGVk X2hlaWdodCAvIFRFWFRVUkVfQkxPQ0tfSCk7Ci0tIAoyLjQ5LjEKCgpGcm9tIDhlMWEwYzcyZGZm MmJjZTFlZGQ4NTJkNDAyOTcwMzdhM2FjNjdhYmMgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCkZy b206IE1pY2hhZWwgTmllZGVybWF5ZXIgPG1pY2hhZWxAbmllZGVybWF5ZXIuY2M+CkRhdGU6IFR1 ZSwgMTkgQXVnIDIwMjUgMDM6MDk6MTQgKzAyMDAKU3ViamVjdDogW1BBVENIIDM3OC80MzRdIGF2 Y29kZTogVXNlIGF2X2Zhc3RfcmVhbGxvYygpIGluIGZmX2x6Zl91bmNvbXByZXNzKCkKCkZpeGVz OiA0Mzg5NjE1ODIvY2x1c3RlcmZ1enotdGVzdGNhc2UtbWluaW1pemVkLWZmbXBlZ19BVl9DT0RF Q19JRF9EWFZfREVDX2Z1enplci01ODUwODI3NzM5OTU1MjAwCkZpeGVzOiBtaXhlZCB1cCByZWFs bG9jKCkgZnVuY3Rpb25zCgpGb3VuZC1ieTogY29udGludW91cyBmdXp6aW5nIHByb2Nlc3MgaHR0 cHM6Ly9naXRodWIuY29tL2dvb2dsZS9vc3MtZnV6ei90cmVlL21hc3Rlci9wcm9qZWN0cy9mZm1w ZWcKU2lnbmVkLW9mZi1ieTogTWljaGFlbCBOaWVkZXJtYXllciA8bWljaGFlbEBuaWVkZXJtYXll ci5jYz4KQ28tQXV0aG9yZWQtYnk6IEphbWVzIEFsbWVyIDxqYW1yaWFsQGdtYWlsLmNvbT4KU2ln bmVkLW9mZi1ieTogSmFtZXMgQWxtZXIgPGphbXJpYWxAZ21haWwuY29tPgooY2hlcnJ5IHBpY2tl ZCBmcm9tIGNvbW1pdCAwYTUwNDZjMDk5OTYyNjJkMGY4YjE4MDJhNGIzNDgxNmY3MmZmZjA2KQpT aWduZWQtb2ZmLWJ5OiBNaWNoYWVsIE5pZWRlcm1heWVyIDxtaWNoYWVsQG5pZWRlcm1heWVyLmNj PgotLS0KIGxpYmF2Y29kZWMvZHh2LmMgICAgIHwgIDQgKystLQogbGliYXZjb2RlYy9semYuYyAg ICAgfCAyMyArKysrKysrKysrKysrKysrKystLS0tLQogbGliYXZjb2RlYy9semYuaCAgICAgfCAg MiArLQogbGliYXZjb2RlYy9ub3RjaGxjLmMgfCAgNSArKystLQogNCBmaWxlcyBjaGFuZ2VkLCAy NCBpbnNlcnRpb25zKCspLCAxMCBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9saWJhdmNvZGVj L2R4di5jIGIvbGliYXZjb2RlYy9keHYuYwppbmRleCBmNGE2ZjM4MmE5Li43MDQ5N2I3ZDk3IDEw MDY0NAotLS0gYS9saWJhdmNvZGVjL2R4di5jCisrKyBiL2xpYmF2Y29kZWMvZHh2LmMKQEAgLTQy LDcgKzQyLDcgQEAgdHlwZWRlZiBzdHJ1Y3QgRFhWQ29udGV4dCB7CiAgICAgdWludDhfdCAqY3Rl eF9kYXRhOyAgLy8gQ29tcHJlc3NlZCBjaHJvbWEgdGV4dHVyZQogICAgIHVuc2lnbmVkIGN0ZXhf ZGF0YV9zaXplOwogCi0gICAgaW50NjRfdCB0ZXhfc2l6ZTsgICAgLy8gVGV4dHVyZSBzaXplCisg ICAgc2l6ZV90IHRleF9zaXplOyAgICAgLy8gVGV4dHVyZSBzaXplCiAgICAgaW50NjRfdCBjdGV4 X3NpemU7ICAgLy8gQ2hyb21hIHRleHR1cmUgc2l6ZQogCiAgICAgdWludDhfdCAqb3BfZGF0YVs0 XTsgLy8gT3Bjb2RlcwpAQCAtODI4LDcgKzgyOCw3IEBAIHN0YXRpYyBpbnQgZHh2X2RlY29tcHJl c3NfZHh0NShBVkNvZGVjQ29udGV4dCAqYXZjdHgpCiBzdGF0aWMgaW50IGR4dl9kZWNvbXByZXNz X2x6ZihBVkNvZGVjQ29udGV4dCAqYXZjdHgpCiB7CiAgICAgRFhWQ29udGV4dCAqY3R4ID0gYXZj dHgtPnByaXZfZGF0YTsKLSAgICByZXR1cm4gZmZfbHpmX3VuY29tcHJlc3MoJmN0eC0+Z2JjLCAm Y3R4LT50ZXhfZGF0YSwgJmN0eC0+dGV4X3NpemUpOworICAgIHJldHVybiBmZl9semZfdW5jb21w cmVzcygmY3R4LT5nYmMsICZjdHgtPnRleF9kYXRhLCAmY3R4LT50ZXhfc2l6ZSwgJmN0eC0+dGV4 X2RhdGFfc2l6ZSk7CiB9CiAKIHN0YXRpYyBpbnQgZHh2X2RlY29tcHJlc3NfcmF3KEFWQ29kZWND b250ZXh0ICphdmN0eCkKZGlmZiAtLWdpdCBhL2xpYmF2Y29kZWMvbHpmLmMgYi9saWJhdmNvZGVj L2x6Zi5jCmluZGV4IDk0YjM2OWRkNTkuLjhmMjIzYjFmNDIgMTAwNjQ0Ci0tLSBhL2xpYmF2Y29k ZWMvbHpmLmMKKysrIGIvbGliYXZjb2RlYy9semYuYwpAQCAtMzcsNyArMzcsMjIgQEAKICNkZWZp bmUgTFpGX0xJVEVSQUxfTUFYICgxIDw8IDUpCiAjZGVmaW5lIExaRl9MT05HX0JBQ0tSRUYgNyAr IDIKIAotaW50IGZmX2x6Zl91bmNvbXByZXNzKEdldEJ5dGVDb250ZXh0ICpnYiwgdWludDhfdCAq KmJ1ZiwgaW50NjRfdCAqc2l6ZSkKKworc3RhdGljIGlubGluZSBpbnQgbHpmX3JlYWxsb2ModWlu dDhfdCAqKmJ1Ziwgc2l6ZV90ICpzaXplLCBpbnQgYWRkaXRpb24sIHVuc2lnbmVkICphbGxvY2F0 ZWRfc2l6ZSkKK3sKKyAgICB2b2lkICpwdHIgPSBhdl9mYXN0X3JlYWxsb2MoKmJ1ZiwgYWxsb2Nh dGVkX3NpemUsICpzaXplICsgYWRkaXRpb24pOworCisgICAgaWYgKCFwdHIpIHsKKyAgICAgICAg YXZfZnJlZXAoYnVmKTsgLy9wcm9iYWJseSBub3QgbmVlZGVkCisgICAgICAgIHJldHVybiBBVkVS Uk9SKEVOT01FTSk7CisgICAgfQorICAgICpidWYgPSBwdHI7CisgICAgKnNpemUgKz0gYWRkaXRp b247CisKKyAgICByZXR1cm4gMDsKK30KKworaW50IGZmX2x6Zl91bmNvbXByZXNzKEdldEJ5dGVD b250ZXh0ICpnYiwgdWludDhfdCAqKmJ1Ziwgc2l6ZV90ICpzaXplLCB1bnNpZ25lZCAqYWxsb2Nh dGVkX3NpemUpCiB7CiAgICAgaW50IHJldCAgICAgPSAwOwogICAgIHVpbnQ4X3QgKnAgID0gKmJ1 ZjsKQEAgLTQ5LDggKzY0LDcgQEAgaW50IGZmX2x6Zl91bmNvbXByZXNzKEdldEJ5dGVDb250ZXh0 ICpnYiwgdWludDhfdCAqKmJ1ZiwgaW50NjRfdCAqc2l6ZSkKICAgICAgICAgaWYgKHMgPCBMWkZf TElURVJBTF9NQVgpIHsKICAgICAgICAgICAgIHMrKzsKICAgICAgICAgICAgIGlmIChzID4gKnNp emUgLSBsZW4pIHsKLSAgICAgICAgICAgICAgICAqc2l6ZSArPSBzICsgKnNpemUgLzI7Ci0gICAg ICAgICAgICAgICAgcmV0ID0gYXZfcmVhbGxvY3AoYnVmLCAqc2l6ZSk7CisgICAgICAgICAgICAg ICAgcmV0ID0gbHpmX3JlYWxsb2MoYnVmLCBzaXplLCBzLCBhbGxvY2F0ZWRfc2l6ZSk7CiAgICAg ICAgICAgICAgICAgaWYgKHJldCA8IDApCiAgICAgICAgICAgICAgICAgICAgIHJldHVybiByZXQ7 CiAgICAgICAgICAgICAgICAgcCA9ICpidWYgKyBsZW47CkBAIC03NSw4ICs4OSw3IEBAIGludCBm Zl9semZfdW5jb21wcmVzcyhHZXRCeXRlQ29udGV4dCAqZ2IsIHVpbnQ4X3QgKipidWYsIGludDY0 X3QgKnNpemUpCiAgICAgICAgICAgICAgICAgcmV0dXJuIEFWRVJST1JfSU5WQUxJRERBVEE7CiAK ICAgICAgICAgICAgIGlmIChsID4gKnNpemUgLSBsZW4pIHsKLSAgICAgICAgICAgICAgICAqc2l6 ZSArPSBsICsgKnNpemUgLyAyOwotICAgICAgICAgICAgICAgIHJldCA9IGF2X3JlYWxsb2NwKGJ1 ZiwgKnNpemUpOworICAgICAgICAgICAgICAgIHJldCA9IGx6Zl9yZWFsbG9jKGJ1Ziwgc2l6ZSwg bCwgYWxsb2NhdGVkX3NpemUpOwogICAgICAgICAgICAgICAgIGlmIChyZXQgPCAwKQogICAgICAg ICAgICAgICAgICAgICByZXR1cm4gcmV0OwogICAgICAgICAgICAgICAgIHAgPSAqYnVmICsgbGVu OwpkaWZmIC0tZ2l0IGEvbGliYXZjb2RlYy9semYuaCBiL2xpYmF2Y29kZWMvbHpmLmgKaW5kZXgg MGFkNzNkOWY3OS4uZTYxZWJmZjcyNyAxMDA2NDQKLS0tIGEvbGliYXZjb2RlYy9semYuaAorKysg Yi9saWJhdmNvZGVjL2x6Zi5oCkBAIC0yNCw2ICsyNCw2IEBACiAKICNpbmNsdWRlICJieXRlc3Ry ZWFtLmgiCiAKLWludCBmZl9semZfdW5jb21wcmVzcyhHZXRCeXRlQ29udGV4dCAqZ2IsIHVpbnQ4 X3QgKipidWYsIGludDY0X3QgKnNpemUpOworaW50IGZmX2x6Zl91bmNvbXByZXNzKEdldEJ5dGVD b250ZXh0ICpnYiwgdWludDhfdCAqKmJ1Ziwgc2l6ZV90ICpzaXplLCB1bnNpZ25lZCAqYWxsb2Nh dGVkX3NpemUpOwogCiAjZW5kaWYgLyogQVZDT0RFQ19MWkZfSCAqLwpkaWZmIC0tZ2l0IGEvbGli YXZjb2RlYy9ub3RjaGxjLmMgYi9saWJhdmNvZGVjL25vdGNobGMuYwppbmRleCAyNDZhM2UwMTc0 Li5kOTlkZTE4MTBlIDEwMDY0NAotLS0gYS9saWJhdmNvZGVjL25vdGNobGMuYworKysgYi9saWJh dmNvZGVjL25vdGNobGMuYwpAQCAtNDAsNyArNDAsOCBAQCB0eXBlZGVmIHN0cnVjdCBOb3RjaExD Q29udGV4dCB7CiAgICAgdW5zaWduZWQgdW5jb21wcmVzc2VkX3NpemU7CiAKICAgICB1aW50OF90 ICpsemZfYnVmZmVyOwotICAgIGludDY0X3QgbHpmX3NpemU7CisgICAgc2l6ZV90IGx6Zl9zaXpl OworICAgIHVuc2lnbmVkIGx6Zl9hbGxvY19zaXplOwogCiAgICAgdW5zaWduZWQgdGV4dHVyZV9z aXplX3g7CiAgICAgdW5zaWduZWQgdGV4dHVyZV9zaXplX3k7CkBAIC00OTAsNyArNDkxLDcgQEAg c3RhdGljIGludCBkZWNvZGVfZnJhbWUoQVZDb2RlY0NvbnRleHQgKmF2Y3R4LCBBVkZyYW1lICpw LAogICAgICAgICByZXR1cm4gQVZFUlJPUl9QQVRDSFdFTENPTUU7CiAKICAgICBpZiAocy0+Zm9y bWF0ID09IDApIHsKLSAgICAgICAgcmV0ID0gZmZfbHpmX3VuY29tcHJlc3MoZ2IsICZzLT5semZf YnVmZmVyLCAmcy0+bHpmX3NpemUpOworICAgICAgICByZXQgPSBmZl9semZfdW5jb21wcmVzcyhn YiwgJnMtPmx6Zl9idWZmZXIsICZzLT5semZfc2l6ZSwgJnMtPmx6Zl9hbGxvY19zaXplKTsKICAg ICAgICAgaWYgKHJldCA8IDApCiAgICAgICAgICAgICByZXR1cm4gcmV0OwogCi0tIAoyLjQ5LjEK CgpGcm9tIDI3NDA2NGE1Yzc0MGFmZDgwYWViZmU0NjFlNjIyMmRkYmVjMmExM2EgTW9uIFNlcCAx NyAwMDowMDowMCAyMDAxCkZyb206IEx5bm5lIDxkZXZAbHlubmUuZWU+CkRhdGU6IE1vbiwgMTEg QXVnIDIwMjUgMjI6MjY6MzUgKzA5MDAKU3ViamVjdDogW1BBVENIIDM3OS80MzRdIGFhY2RlY191 c2FjOiB1c2UgUmVmU3RydWN0IHRvIHRyYWNrIHVuZmluaXNoZWQKIGV4dGVuc2lvbiBidWZmZXJz CgpFeHRlbnNpb25zIGluIEFBQyBVU0FDIGNhbiBiZSBzdG9yZWQgYWNyb3NzIG11bHRpcGxlIGZy YW1lcyAobWFpbmx5IHRvIGtlZXAgQ0JSIGNvbXBsaWFuY2UpLgpUaGlzIG1lYW5zIHRoYXQgd2Ug bmVlZCB0byByZWFsbG9jYXRlIGEgYnVmZmVyIHdoZW4gbmV3IGRhdGEgaXMgcmVjZWl2ZWQsIGFj Y3VtdWxhdGUgdGhlIGJpdHN0cmVhbSBkYXRhLAphbmQgc28gb24gdW50aWwgdGhlIGVuZCBvZiBl eHRlbnNpb24gZmxhZyBpcyBzaWduYWxsZWQgYW5kIHRoZSBleHRlbnNpb24gY2FuIGJlIGRlY29k ZWQuCgpUaGlzIGlzIG1hZGUgbW9yZSBjb21wbGljYXRlZCBieSB0aGUgd2F5IGluIHdoaWNoIHRo ZSBBQUMgY2hhbm5lbCBsYXlvdXQgc3dpdGNoaW5nIGlzIHBlcmZvcm1lZC4KQWZ0ZXIgZGVjYWRl cyBvZiBldm9sdXRpb24sIG91ciBBQUMgZGVjb2RlciBldm9sdmVkIHRvIGRvdWJsZS1idWZmZXIg aXRzIGVudGlyZSBjb25maWd1cmF0aW9uLgpBbGwgY2hhbmdlcyBhcmUgYnVmZmVyZWQsIHZlcmlm aWVkLCBhbmQgYXBwbGllZCwgb24gYSBwZXItZnJhbWUgYmFzaXMgaWYgcmVxdWlyZWQsIGluIG9m dGVuCnJhbmRvbSBvcmRlci4KClNpbmNlIHdlIGFsbG9jYXRlIHRoZSBleHRlbnNpb24gZGF0YSBv biBoZWFwLCB0aGlzIG1lYW5zIHRoYXQgaWYgY29uZmlndXJhdGlvbiBpcyBhcHBsaWVkLAppbiBv cmRlciB0byBhdm9pZCBkb3VibGUtZnJlZWluZywgd2UgaGF2ZSB0byBrZWVwIHRyYWNrIG9mIHdo YXQgd2UndmUgYWxsb2NhdGVkLgoKSXQgc2hvdWxkIGJlIG5vdGVkIHRoYXQgZXh0ZW5zaW9ucyB3 aGljaCBhcmUgc3ByZWFkIGluIG11bHRpcGxlIGZyYW1lcyBhcmUgZ2VuZXJhbGx5IHJhcmUsCnNv IGFuIG9wdGltaXphdGlvbiB0byBpbnRyb2R1Y2UgYXZfcmVmc3RydWN0X3JlYWxsb2MoKSB3b3Vs ZG4ndCBnZW5lcmFsbHkgYmUgdXNlZnVsIGFjcm9zcyB0aGUgY29kZWJhc2UuClRoZXJlZm9yZSwg YSBjb3B5IGlzIGdvb2QgZW5vdWdoIGZvciBub3cuCgpUaGFua3MgdG8gTWljaGFlbCBOaWVkZXJt YXllciBmb3IgYWRkaXRpb25hbCBmaXhpbmcuCgpGaXhlczogZG91YmxlIGZyZWUKRml4ZXM6IDM5 MzUyMzU0Ny9jbHVzdGVyZnV6ei10ZXN0Y2FzZS1taW5pbWl6ZWQtZmZtcGVnX0FWX0NPREVDX0lE X0FBQ19MQVRNX2Z1enplci02NzQwNjE3MjM2OTA1OTg0CgpGb3VuZC1ieTogY29udGludW91cyBm dXp6aW5nIHByb2Nlc3MgaHR0cHM6Ly9naXRodWIuY29tL2dvb2dsZS9vc3MtZnV6ei90cmVlL21h c3Rlci9wcm9qZWN0cy9mZm1wZWcKKGNoZXJyeSBwaWNrZWQgZnJvbSBjb21taXQgYzA1ZmMyN2Rk MzNiMzYxZWIwMTA1MTU3YWI3ZDNhMDFjMmZmYTc4MikKU2lnbmVkLW9mZi1ieTogTWljaGFlbCBO aWVkZXJtYXllciA8bWljaGFlbEBuaWVkZXJtYXllci5jYz4KLS0tCiBsaWJhdmNvZGVjL2FhYy9h YWNkZWMuYyAgICAgIHwgMjggKysrKysrKysrKysrKysrKysrKysrKysrKy0tLQogbGliYXZjb2Rl Yy9hYWMvYWFjZGVjLmggICAgICB8ICA0ICsrLS0KIGxpYmF2Y29kZWMvYWFjL2FhY2RlY191c2Fj LmMgfCAzMiArKysrKysrKysrKysrKysrKysrKy0tLS0tLS0tLS0tLQogMyBmaWxlcyBjaGFuZ2Vk LCA0NyBpbnNlcnRpb25zKCspLCAxNyBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9saWJhdmNv ZGVjL2FhYy9hYWNkZWMuYyBiL2xpYmF2Y29kZWMvYWFjL2FhY2RlYy5jCmluZGV4IDQ5MjBmNWU3 N2YuLjMyNWU1MjgzNGYgMTAwNjQ0Ci0tLSBhL2xpYmF2Y29kZWMvYWFjL2FhY2RlYy5jCisrKyBi L2xpYmF2Y29kZWMvYWFjL2FhY2RlYy5jCkBAIC02Miw2ICs2Miw3IEBACiAjaW5jbHVkZSAibGli YXZ1dGlsL29wdC5oIgogI2luY2x1ZGUgImxpYmF2dXRpbC90eC5oIgogI2luY2x1ZGUgImxpYmF2 dXRpbC92ZXJzaW9uLmgiCisjaW5jbHVkZSAibGliYXZjb2RlYy9yZWZzdHJ1Y3QuaCIKIAogLyoK ICAqIHN1cHBvcnRlZCB0b29scwpAQCAtNDIxLDYgKzQyMiwyNiBAQCBzdGF0aWMgdWludDY0X3Qg c25pZmZfY2hhbm5lbF9vcmRlcih1aW50OF90ICgqbGF5b3V0X21hcClbM10sIGludCB0YWdzKQog ICAgIHJldHVybiBsYXlvdXQ7CiB9CiAKK3N0YXRpYyB2b2lkIGNvcHlfb2MoT3V0cHV0Q29uZmln dXJhdGlvbiAqZHN0LCBPdXRwdXRDb25maWd1cmF0aW9uICpzcmMpCit7CisgICAgaW50IGk7CisK KyAgICBmb3IgKGkgPSAwOyBpIDwgc3JjLT51c2FjLm5iX2VsZW1zOyBpKyspIHsKKyAgICAgICAg QUFDVXNhY0VsZW1Db25maWcgKnNyY19lID0gJnNyYy0+dXNhYy5lbGVtc1tpXTsKKyAgICAgICAg QUFDVXNhY0VsZW1Db25maWcgKmRzdF9lID0gJmRzdC0+dXNhYy5lbGVtc1tpXTsKKyAgICAgICAg LyogZHN0X2UtPmV4dC5wbF9idWYgaXMgZ3VhcmFudGVlZCB0byBiZSBzZXQgdG8gc3JjX2UtPmV4 dC5wbF9idWYKKyAgICAgICAgICogdXBvbiB0aGlzIGZ1bmN0aW9uJ3MgcmV0dXJuICovCisgICAg ICAgIGZmX3JlZnN0cnVjdF9yZXBsYWNlKCZkc3RfZS0+ZXh0LnBsX2J1Ziwgc3JjX2UtPmV4dC5w bF9idWYpOworICAgIH0KKworICAgIC8qIFVucmVmIGFsbCBhZGRpdGlvbmFsIGJ1ZmZlcnMgdG8g Y2xvc2UgbGVha3MgKi8KKyAgICBmb3IgKDsgaSA8IGRzdC0+dXNhYy5uYl9lbGVtczsgaSsrKQor ICAgICAgICBmZl9yZWZzdHJ1Y3RfdW5yZWYoJmRzdC0+dXNhYy5lbGVtc1tpXS5leHQucGxfYnVm KTsKKworICAgIC8qIFNldCBhbGwgb3RoZXIgcHJvcGVydGllcyAqLworICAgICpkc3QgPSAqc3Jj OworfQorCiAvKioKICAqIFNhdmUgY3VycmVudCBvdXRwdXQgY29uZmlndXJhdGlvbiBpZiBhbmQg b25seSBpZiBpdCBoYXMgYmVlbiBsb2NrZWQuCiAgKi8KQEAgLTQyOSw3ICs0NTAsNyBAQCBzdGF0 aWMgaW50IHB1c2hfb3V0cHV0X2NvbmZpZ3VyYXRpb24oQUFDRGVjQ29udGV4dCAqYWMpCiAgICAg aW50IHB1c2hlZCA9IDA7CiAKICAgICBpZiAoYWMtPm9jWzFdLnN0YXR1cyA9PSBPQ19MT0NLRUQg fHwgYWMtPm9jWzBdLnN0YXR1cyA9PSBPQ19OT05FKSB7Ci0gICAgICAgIGFjLT5vY1swXSA9IGFj LT5vY1sxXTsKKyAgICAgICAgY29weV9vYygmYWMtPm9jWzBdLCAmYWMtPm9jWzFdKTsKICAgICAg ICAgcHVzaGVkID0gMTsKICAgICB9CiAgICAgYWMtPm9jWzFdLnN0YXR1cyA9IE9DX05PTkU7CkBA IC00NDMsNyArNDY0LDggQEAgc3RhdGljIGludCBwdXNoX291dHB1dF9jb25maWd1cmF0aW9uKEFB Q0RlY0NvbnRleHQgKmFjKQogc3RhdGljIHZvaWQgcG9wX291dHB1dF9jb25maWd1cmF0aW9uKEFB Q0RlY0NvbnRleHQgKmFjKQogewogICAgIGlmIChhYy0+b2NbMV0uc3RhdHVzICE9IE9DX0xPQ0tF RCAmJiBhYy0+b2NbMF0uc3RhdHVzICE9IE9DX05PTkUpIHsKLSAgICAgICAgYWMtPm9jWzFdID0g YWMtPm9jWzBdOworICAgICAgICBjb3B5X29jKCZhYy0+b2NbMV0sICZhYy0+b2NbMF0pOworCiAg ICAgICAgIGFjLT5hdmN0eC0+Y2hfbGF5b3V0ID0gYWMtPm9jWzFdLmNoX2xheW91dDsKICAgICAg ICAgZmZfYWFjX291dHB1dF9jb25maWd1cmUoYWMsIGFjLT5vY1sxXS5sYXlvdXRfbWFwLCBhYy0+ b2NbMV0ubGF5b3V0X21hcF90YWdzLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBh Yy0+b2NbMV0uc3RhdHVzLCAwKTsKQEAgLTExMTAsNyArMTEzMiw3IEBAIHN0YXRpYyBhdl9jb2xk IGludCBkZWNvZGVfY2xvc2UoQVZDb2RlY0NvbnRleHQgKmF2Y3R4KQogICAgICAgICBBQUNVU0FD Q29uZmlnICp1c2FjID0gJm9jLT51c2FjOwogICAgICAgICBmb3IgKGludCBqID0gMDsgaiA8IHVz YWMtPm5iX2VsZW1zOyBqKyspIHsKICAgICAgICAgICAgIEFBQ1VzYWNFbGVtQ29uZmlnICplYyA9 ICZ1c2FjLT5lbGVtc1tqXTsKLSAgICAgICAgICAgIGF2X2ZyZWVwKCZlYy0+ZXh0LnBsX2RhdGEp OworICAgICAgICAgICAgZmZfcmVmc3RydWN0X3VucmVmKCZlYy0+ZXh0LnBsX2J1Zik7CiAgICAg ICAgIH0KICAgICB9CiAKZGlmZiAtLWdpdCBhL2xpYmF2Y29kZWMvYWFjL2FhY2RlYy5oIGIvbGli YXZjb2RlYy9hYWMvYWFjZGVjLmgKaW5kZXggZTVhNzlhNzEzOS4uYjM3NjNmZGNjYyAxMDA2NDQK LS0tIGEvbGliYXZjb2RlYy9hYWMvYWFjZGVjLmgKKysrIGIvbGliYXZjb2RlYy9hYWMvYWFjZGVj LmgKQEAgLTM0NCw3ICszNDQsNyBAQCB0eXBlZGVmIHN0cnVjdCBBQUNVc2FjRWxlbUNvbmZpZyB7 CiAgICAgICAgIHVpbnQ4X3QgcGF5bG9hZF9mcmFnOwogICAgICAgICB1aW50MzJfdCBkZWZhdWx0 X2xlbjsKICAgICAgICAgdWludDMyX3QgcGxfZGF0YV9vZmZzZXQ7Ci0gICAgICAgIHVpbnQ4X3Qg KnBsX2RhdGE7CisgICAgICAgIHVpbnQ4X3QgKnBsX2J1ZjsKICAgICB9IGV4dDsKIH0gQUFDVXNh Y0VsZW1Db25maWc7CiAKQEAgLTM1Myw3ICszNTMsNyBAQCB0eXBlZGVmIHN0cnVjdCBBQUNVU0FD Q29uZmlnIHsKICAgICB1aW50MTZfdCBjb3JlX2ZyYW1lX2xlbjsKICAgICB1aW50MTZfdCBzdHJl YW1faWRlbnRpZmllcjsKIAotICAgIEFBQ1VzYWNFbGVtQ29uZmlnIGVsZW1zWzY0XTsKKyAgICBB QUNVc2FjRWxlbUNvbmZpZyBlbGVtc1tNQVhfRUxFTV9JRF07CiAgICAgaW50IG5iX2VsZW1zOwog CiAgICAgc3RydWN0IHsKZGlmZiAtLWdpdCBhL2xpYmF2Y29kZWMvYWFjL2FhY2RlY191c2FjLmMg Yi9saWJhdmNvZGVjL2FhYy9hYWNkZWNfdXNhYy5jCmluZGV4IDNlNWQzMTY3NmMuLjY2MTI1MjMw NDMgMTAwNjQ0Ci0tLSBhL2xpYmF2Y29kZWMvYWFjL2FhY2RlY191c2FjLmMKKysrIGIvbGliYXZj b2RlYy9hYWMvYWFjZGVjX3VzYWMuYwpAQCAtMjQsMTIgKzI0LDEzIEBACiAjaW5jbHVkZSAiYWFj ZGVjX2FjLmgiCiAKICNpbmNsdWRlICJsaWJhdmNvZGVjL2FhY3Nici5oIgotCiAjaW5jbHVkZSAi bGliYXZjb2RlYy9hYWN0YWIuaCIKLSNpbmNsdWRlICJsaWJhdnV0aWwvbWVtLmgiCiAjaW5jbHVk ZSAibGliYXZjb2RlYy9tcGVnNGF1ZGlvLmgiCiAjaW5jbHVkZSAibGliYXZjb2RlYy91bmFyeS5o IgogCisjaW5jbHVkZSAibGliYXZ1dGlsL21lbS5oIgorI2luY2x1ZGUgImxpYmF2Y29kZWMvcmVm c3RydWN0LmgiCisKIC8qIE51bWJlciBvZiBzY2FsZWZhY3RvciBiYW5kcyBwZXIgY29tcGxleCBw cmVkaWN0aW9uIGJhbmQsIGVxdWFsIHRvIDIuICovCiAjZGVmaW5lIFNGQl9QRVJfUFJFRF9CQU5E IDIKIApAQCAtMTU3NCw3ICsxNTc1LDYgQEAgc3RhdGljIGludCBwYXJzZV9hdWRpb19wcmVyb2xs KEFBQ0RlY0NvbnRleHQgKmFjLCBHZXRCaXRDb250ZXh0ICpnYikKIHN0YXRpYyBpbnQgcGFyc2Vf ZXh0X2VsZShBQUNEZWNDb250ZXh0ICphYywgQUFDVXNhY0VsZW1Db25maWcgKmUsCiAgICAgICAg ICAgICAgICAgICAgICAgICAgR2V0Qml0Q29udGV4dCAqZ2IpCiB7Ci0gICAgdWludDhfdCAqdG1w OwogICAgIHVpbnQ4X3QgcGxfZnJhZ19zdGFydCA9IDE7CiAgICAgdWludDhfdCBwbF9mcmFnX2Vu ZCA9IDE7CiAgICAgdWludDMyX3QgbGVuOwpAQCAtMTYwMSwxOCArMTYwMSwyNiBAQCBzdGF0aWMg aW50IHBhcnNlX2V4dF9lbGUoQUFDRGVjQ29udGV4dCAqYWMsIEFBQ1VzYWNFbGVtQ29uZmlnICpl LAogICAgIGlmIChwbF9mcmFnX3N0YXJ0KQogICAgICAgICBlLT5leHQucGxfZGF0YV9vZmZzZXQg PSAwOwogCi0gICAgLyogSWYgYW4gZXh0ZW5zaW9uIHN0YXJ0cyBhbmQgZW5kcyB0aGlzIHBhY2tl dCwgd2UgY2FuIGRpcmVjdGx5IHVzZSBpdCAqLworICAgIC8qIElmIGFuIGV4dGVuc2lvbiBzdGFy dHMgYW5kIGVuZHMgdGhpcyBwYWNrZXQsIHdlIGNhbiBkaXJlY3RseSB1c2UgaXQgYmVsb3cuCisg ICAgICogT3RoZXJ3aXNlLCB3ZSBoYXZlIHRvIGNvcHkgaXQgdG8gYSBidWZmZXIgYW5kIGFjY3Vt dWxhdGUgaXQuICovCiAgICAgaWYgKCEocGxfZnJhZ19zdGFydCAmJiBwbF9mcmFnX2VuZCkpIHsK LSAgICAgICAgdG1wID0gYXZfcmVhbGxvYyhlLT5leHQucGxfZGF0YSwgZS0+ZXh0LnBsX2RhdGFf b2Zmc2V0ICsgbGVuKTsKLSAgICAgICAgaWYgKCF0bXApIHsKLSAgICAgICAgICAgIGF2X2ZyZWUo ZS0+ZXh0LnBsX2RhdGEpOworICAgICAgICAvKiBSZWFsbG9jYXRlIHRoZSBkYXRhICovCisgICAg ICAgIHVpbnQ4X3QgKnRtcF9idWYgPSBmZl9yZWZzdHJ1Y3RfYWxsb2NfZXh0KGUtPmV4dC5wbF9k YXRhX29mZnNldCArIGxlbiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgRkZfUkVGU1RSVUNUX0ZMQUdfTk9fWkVST0lORywKKyAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTlVMTCwgTlVMTCk7CisgICAgICAg IGlmICghdG1wX2J1ZikKICAgICAgICAgICAgIHJldHVybiBBVkVSUk9SKEVOT01FTSk7Ci0gICAg ICAgIH0KLSAgICAgICAgZS0+ZXh0LnBsX2RhdGEgPSB0bXA7CisKKyAgICAgICAgLyogQ29weSB0 aGUgZGF0YSBvdmVyIG9ubHkgaWYgd2UgaGFkIHNhdmVkIGRhdGEgdG8gYmVnaW4gd2l0aCAqLwor ICAgICAgICBpZiAoZS0+ZXh0LnBsX2J1ZikKKyAgICAgICAgICAgIG1lbWNweSh0bXBfYnVmLCBl LT5leHQucGxfYnVmLCBlLT5leHQucGxfZGF0YV9vZmZzZXQpOworCisgICAgICAgIGZmX3JlZnN0 cnVjdF91bnJlZigmZS0+ZXh0LnBsX2J1Zik7CisgICAgICAgIGUtPmV4dC5wbF9idWYgPSB0bXBf YnVmOwogCiAgICAgICAgIC8qIFJlYWRvdXQgZGF0YSB0byBhIGJ1ZmZlciAqLwogICAgICAgICBm b3IgKGludCBpID0gMDsgaSA8IGxlbjsgaSsrKQotICAgICAgICAgICAgZS0+ZXh0LnBsX2RhdGFb ZS0+ZXh0LnBsX2RhdGFfb2Zmc2V0ICsgaV0gPSBnZXRfYml0cyhnYiwgOCk7CisgICAgICAgICAg ICBlLT5leHQucGxfYnVmW2UtPmV4dC5wbF9kYXRhX29mZnNldCArIGldID0gZ2V0X2JpdHMoZ2Is IDgpOwogICAgIH0KIAogICAgIGUtPmV4dC5wbF9kYXRhX29mZnNldCArPSBsZW47CkBAIC0xNjI0 LDcgKzE2MzIsNyBAQCBzdGF0aWMgaW50IHBhcnNlX2V4dF9lbGUoQUFDRGVjQ29udGV4dCAqYWMs IEFBQ1VzYWNFbGVtQ29uZmlnICplLAogICAgICAgICBHZXRCaXRDb250ZXh0ICpnYjIgPSBnYjsK ICAgICAgICAgR2V0Qml0Q29udGV4dCBnYmM7CiAgICAgICAgIGlmICghKHBsX2ZyYWdfc3RhcnQg JiYgcGxfZnJhZ19lbmQpKSB7Ci0gICAgICAgICAgICByZXQgPSBpbml0X2dldF9iaXRzOCgmZ2Jj LCBlLT5leHQucGxfZGF0YSwgcGxfbGVuKTsKKyAgICAgICAgICAgIHJldCA9IGluaXRfZ2V0X2Jp dHM4KCZnYmMsIGUtPmV4dC5wbF9idWYsIHBsX2xlbik7CiAgICAgICAgICAgICBpZiAocmV0IDwg MCkKICAgICAgICAgICAgICAgICByZXR1cm4gcmV0OwogCkBAIC0xNjQyLDcgKzE2NTAsNyBAQCBz dGF0aWMgaW50IHBhcnNlX2V4dF9lbGUoQUFDRGVjQ29udGV4dCAqYWMsIEFBQ1VzYWNFbGVtQ29u ZmlnICplLAogICAgICAgICAgICAgLyogVGhpcyBzaG91bGQgbmV2ZXIgaGFwcGVuICovCiAgICAg ICAgICAgICBhdl9hc3NlcnQwKDApOwogICAgICAgICB9Ci0gICAgICAgIGF2X2ZyZWVwKCZlLT5l eHQucGxfZGF0YSk7CisgICAgICAgIGZmX3JlZnN0cnVjdF91bnJlZigmZS0+ZXh0LnBsX2J1Zik7 CiAgICAgICAgIGlmIChyZXQgPCAwKQogICAgICAgICAgICAgcmV0dXJuIHJldDsKIAotLSAKMi40 OS4xCgoKRnJvbSA4NGJjZjU0ZTkyZDEwOTgyZTg2MzVmZDY4MThjNWJhYzQ5ZDgzNDEwIE1vbiBT ZXAgMTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBNaWNoYWVsIE5pZWRlcm1heWVyIDxtaWNoYWVsQG5p ZWRlcm1heWVyLmNjPgpEYXRlOiBUdWUsIDkgU2VwIDIwMjUgMDE6NDM6NTkgKzAyMDAKU3ViamVj dDogW1BBVENIIDM4MC80MzRdIFVwZGF0ZSBmb3IgNy4xLjIKClNpZ25lZC1vZmYtYnk6IE1pY2hh ZWwgTmllZGVybWF5ZXIgPG1pY2hhZWxAbmllZGVybWF5ZXIuY2M+Ci0tLQogQ2hhbmdlbG9nICAg IHwgMTQ3ICsrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysr KwogUkVMRUFTRSAgICAgIHwgICAyICstCiBkb2MvRG94eWZpbGUgfCAgIDIgKy0KIDMgZmlsZXMg Y2hhbmdlZCwgMTQ5IGluc2VydGlvbnMoKyksIDIgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEv Q2hhbmdlbG9nIGIvQ2hhbmdlbG9nCmluZGV4IDRiMzVlNDQ2Y2QuLjU0ZThiNDZmYzIgMTAwNjQ0 Ci0tLSBhL0NoYW5nZWxvZworKysgYi9DaGFuZ2Vsb2cKQEAgLTEsNiArMSwxNTMgQEAKIEVudHJp ZXMgYXJlIHNvcnRlZCBjaHJvbm9sb2dpY2FsbHkgZnJvbSBvbGRlc3QgdG8geW91bmdlc3Qgd2l0 aGluIGVhY2ggcmVsZWFzZSwKIHJlbGVhc2VzIGFyZSBzb3J0ZWQgZnJvbSB5b3VuZ2VzdCB0byBv bGRlc3QuCiAKK3ZlcnNpb24gNy4xLjI6CisgYWFjZGVjX3VzYWM6IHVzZSBSZWZTdHJ1Y3QgdG8g dHJhY2sgdW5maW5pc2hlZCBleHRlbnNpb24gYnVmZmVycworIGF2Y29kZTogVXNlIGF2X2Zhc3Rf cmVhbGxvYygpIGluIGZmX2x6Zl91bmNvbXByZXNzKCkKKyBhdmNvZGVjL2R4djogQ2hlY2sgY29k ZWRfaGVpZ2h0LCB0byBhdm9pZCBpbnZhbGlkIGF2X2NsaXAoKQorIGF2Y29kZWMvYWFjL2FhY2Rl YzogZG9udCBhbGxvdyBmZl9hYWNfb3V0cHV0X2NvbmZpZ3VyZSgpIGFsbG9jYXRpbmcgYSBuZXcg ZnJhbWUgaWYgaXQgaGFzIG5vIGZyYW1lCisgYXZmb3JtYXQvbHJjZGVjOiBGaXggZmF0ZS1zdWIt bHJjLW1zLXJlbXV4IG9uIHg4Ni0zMgorIGF2Y29kZWMvc2FubTogQ2hlY2sgdyxoLGxlZnQsdG9w CisgYXZjb2RlYy91dHZpZGVvZGVjOiBDbGVhciBwbGFuZV9zdGFydCBhcnJheQorIGZmdG9vbHMv ZmZtcGVnX211eF9pbml0OiBVc2UgNjRiaXQgZm9yIHNjb3JlIGNvbXB1dGF0aW9uIGluIG1hcF9h dXRvX3ZpZGVvKCkKKyBsaWJhdmZpbHRlci9kbm4vZG5uX2JhY2tlbmRfdGY6IFJlbW92ZSByZWR1 bmRhbnQgYXZfZnJlZXAoKSB0byBhdm9pZCBkb3VibGUgZnJlZQorIGF2Y29kZWMvZHh2OiBVc2Ug YXZfZmFzdF9yZWFsbG9jKCkgZm9yIG9wX2RhdGEKKyBhdmNvZGVjL2R4djogVXNlIGF2X2Zhc3Rf cmVhbGxvYygpIGFuZCBjbGVhciBhbGwgbmV3IHNwYWNlCisgYXZjb2RlYy9keHY6IENsZWFyIGN0 ZXgKKyBhdmNvZGVjL2R4djogQ2hlY2sgdGhhdCB3ZSBpbml0aWFsaXplIG9wX2RhdGEKKyBhdmNv ZGVjL2V4cjogQ2hlY2sgZm9yIHBpeGVsIHR5cGUgY29uc2lzdGVuY3kgaW4gRFdBCisgYXZjb2Rl Yy9kM2QxMnZhX2VuY29kZTogZml4IGxhYmVsIGZvbGxvd2VkIGJ5IGEgZGVjbGFyYXRpb24gd2Fy bmluZworIGF2Y29kZWMvbGlidm9yYmlzZGVjOiBhdm9pZCBvdmVyZmxvdyB3aGVuIGFzc2luZ2lu ZyBzYW1wbGUgcmF0ZSBmcm9tIGxvbmcgdG8gaW50CisgYXZjb2RlYy9nNzI2OiBpbml0IG1pc3Np bmcgc2FtcGxlIHJhdGUKKyBhdmZvcm1hdC9scmNkZWM6IGxpbWl0IGlucHV0IHRpbWVzdGFtcCBy YW5nZSB0byBhdm9pZCBvdmVyZmxvd3MKKyBhdmNvZGVjL3NjcHIzOiBDbGVhciBjbHIKKyBhdmNv ZGVjL2lsYmNkZWM6IENsZWFyIGNidmVjIHdoZW4gdXNlZCB3aXRoIGNyZWF0ZV9hdWdtZW50ZWRf dmVjdG9yKCkKKyBhdmNvZGVjL2pwZWcyMDAwZGVjOiBNYWtlIHN1cmUgdGhlIDQgZXh0cmEgYnl0 ZXMgYWxsb2NhdGVkIGFyZSBpbml0aWFsaXplZAorIGF2ZmlsdGVyL2F2Zl9zaG93Y3F0OiBmaXgg dW5ib3VuZGVkIGluZGV4IHdoZW4gY29weWluZyB0byBmZnRfZGF0YQorIGF2Y29kZWMvYWFjL2Fh Y2RlY191c2FjOiBMaW1pdCBzZm8gZnJvbSBub2lzZSBvZmZzZXQgdG8gYmUgYWJvdmUgLTIwMAor IGF2Y29kZWMvYWFjc2JyX3RlbXBsYXRlOiBDaGVjayBpbGIKKyBhdmNvZGVjL3V0dmlkZW9kZWM6 IFNldCBCIGZvciB0aGUgd2lkdGg9IDEgY2FzZQorIGF2Y29kZWMvZmZ2MTogQ2xlYXIgc3RhdGUg b24gYWxsb2MKKyBhdmNvZGVjL2pwZWcyMDAwZGVjOiBpbXBsZW1lbnQgY2RlZiByZW1hcHBpbmcg ZHVyaW5nIHBpeGVsIGZvcm1hdCBtYXRjaGluZworIGF2Y29kZWMvanBlZzIwMDBkZWM6IG1vdmUg Y2RlZiBkZWZhdWx0IGNoZWNrIGludG8gZ2V0X3NpeigpCisgYXZjb2RlYy9leHI6IENoZWNrIHJs ZV9yYXdfZGF0YSBhbmQgc3Vycm91bmRpbmdzCisgYXZjb2RlYy9leHI6IERvbnQgYWNjZXNzIG91 dHNpZGUgeHNpemUveXNpemUKKyBleGFtcGxlczogQWRkIGNoZWNrIGFuZCByZXBsYWNlIGF2X2Zy ZWUoKSB0byBhdm9pZCBwb3RlbnRpYWwgbWVtb3J5IGVycm9ycworIGxpYmF2Y29kZWMvdGVzdHMv c25vd2VuYzogQWRkIGF2X2ZyZWUoKSB0byBhdm9pZCBtZW1vcnkgbGVhaworIGxpYmF2ZmlsdGVy L2FmX2ZpcmVxdWFsaXplcjogQWRkIGNoZWNrIGZvciBhdl9tYWxsb2NfYXJyYXkoKQorIGxpYmF2 Y29kZWMvdmlkZW90b29sYm94X3ZwOTogTW92ZSBhdl9tYWxsb2MoKSB0byBhdm9pZCBtZW1vcnkg bGVhaworIGF2Y29kZWMvbXBjODogaW5pdCBhdmN0eC0+c2FtcGxlX3JhdGUKKyBhdmNvZGVjL2Ni c19oMjY2X3N5bnRheF90ZW1wbGF0ZTogZml4IG91dCBvZiBib3VuZHMgYWNjZXNzCisgYXZmb3Jt YXQvbGlib3Blbm1wdDogZml4IHNlZWtpbmcgd2VpcmRuZXNzCisgYXZmb3JtYXQvaGxzOiBhZGQg Y21mdi9jbWZhIGV4Y2VwdGlvbnMKKyBhdmZvcm1hdC9scmNkZWM6IHN1cHBvcnQgYXJiaXRyYXJ5 IHByZWNpc2lvbiB0aW1lc3RhbXAKKyBsaWJhdmNvZGVjL3Rlc3RzL21vdGlvbjogQWRkIGNoZWNr IGZvciBhdmNvZGVjX2FsbG9jX2NvbnRleHQzKCkKKyBhdmNvZGVjL3Rlc3RzL2F2cGFja2V0OiBB ZGQgYXZfZnJlZSgpIHRvIGF2b2lkIG1lbW9yeSBsZWFrCisgZXhhbXBsZXM6IEFkZCBhdl9mcmVl cCB0byBhdm9pZCBwb3RlbnRpYWwgbWVtb3J5IGxlYWsKKyBhdmNvZGVjL3Rlc3RzL2F2cGFja2V0 OiBBZGQgYXZfcGFja2V0X2ZyZWUoKSB0byBhdm9pZCBtZW1vcnkgbGVhaworIGF2Y29kZWMvZml0 czogQ2xlYXIgbmF4aXMKKyBhdmNvZGVjL3ZxYXZpZGVvOyBDaGVjayBieXRlc3RyZWFtMl9nZXRf YnVmZmVyKCkgcmVhZGluZyBuZXh0X2NvZGVib29rX2J1ZmZlcgorIGF2Y29kZWMvbHpmOiBDaGVj ayBmb3IgaW5wdXQgc3BhY2UKKyBhdmNvZGVjL2ltYzogQ2xlYXIgcGFkZGluZyBvZiBidWYxNgor IGF2Y29kZWMvaWZmOiBDbGVhciBoYW1fYnVmCisgYXZjb2RlYy9jcmk6IENoZWNrIGJ5dGVzdHJl YW0yX2dldF9idWZmZXIoKSBmb3IgZW5kCisgYXZjb2RlYy9jcmk6IEZhY3RvciByZWFkX2xlbiBv dXQKKyBhdmZvcm1hdC9kYXNoZGVjOiBBbGxvY2F0ZSBzcGFjZSBmb3IgYXBwZW5kZWQgIi8iCisg YXZjb2RlYy9tcGVndmlkZW9fZGVjOiBGaXggbG93cmVzPTMgZmllbGQgc2VsZWN0IGludGVybGFj ZWQgbXBlZzQgZnJhbWUKKyBhdmZvcm1hdC9teGc6IGNsZWFyIEFWX0lOUFVUX0JVRkZFUl9QQURE SU5HX1NJWkUKKyBhdmNvZGVjL3Nob3J0ZW46IENsZWFyIHRoZSBhZGRpdGlvbmFsbHkgYWxsb2Nh dGVkIHNwYWNlIG9uIHJlYWxsb2MKKyBhdmZvcm1hdC92cWY6IEVuc3VyZSB0aGF0IGNvbW1fY2h1 bmsgaXMgZnVsbHkgcmVhZAorIGF2Zm9ybWF0L21vdjogbWFrZSBzdXJlIGZpbGVfY2hlY2tzdW0g aXMgZnVsbHkgaW5pdGlhbGl6ZWQKKyBhdmNvZGVjL2hldmMvaGV2Y2RlYzogQ2xlYW4gc2FvX3Bp eGVsX2J1ZmZlcl92IG9uIGFsbG9jYXRpb24KKyBhdmZvcm1hdC9hc2ZkZWNfZjogQ2hlY2sgYW1v dW50IG9mIHZhbHVlIHJlYWQKKyBhdmNvZGVjL2pwZWd4bF9wYXJzZXI6IGFkZCBzYW5pdHkgY2hl Y2sgZm9yIGZyYW1lIHNpemUKKyBhdmNvZGVjL2ZmdjFkZWM6IGRvbid0IGNoZWNrIGNocm9tYV9w bGFuZXMgZm9yIGYtPmNvbG9yc3BhY2UgPiAwCisgYXZjb2RlYy9mZnYxZGVjOiBkb24ndCBhZGQg b2Zmc2V0cyB0byBtb3JlIE5VTEwgcG9pbnRlcnMKKyBhdmZvcm1hdC9jb25jYXRkZWM6IENsaXAg ZHVyYXRpb24gaW4gb25lIG1vcmUgY2FzZSBpbiBnZXRfYmVzdF9lZmZvcnRfZHVyYXRpb24oKQor IGF2Y29kZWMvZmZ2MWRlYzogQ2hlY2sgayBpbiBnZXRfdmxjX3N5bWJvbCgpCisgYXZjb2RlYy9j ZmhkOiBDaGVjayBpZHd0X2J1ZiBzaXplIGJlZm9yZSBhbGxvY2F0aW9uCisgYXZjb2RlYy9pdmk6 IENoZWNrIGx1bWEvY2hyb21hIG1iX3NpemUKKyBhdmZpbHRlci92YWZfc3BlY3RydW1zeW50aDog ZG9uJ3QgdXNlIHVuaW5pdGlhbGl6ZWQgdmFyaWFibGUgYXMgc2NhbGUKKyBhdmNvZGVjL21vdGlv bl9lc3Q6IGRvbid0IGFkZCBvZmZzZXRzIHRvIE5VTEwgcG9pbnRlcnMKKyBzd3NjYWxlL3N3c2Nh bGVfdW5zY2FsZWQ6IGRvbid0IGFkZCBvZmZzZXRzIHRvIE5VTEwgcG9pbnRlcnMKKyBhdmNvZGVj L2ZmdjFkZWM6IGRvbid0IGFkZCBvZmZzZXRzIHRvIE5VTEwgcG9pbnRlcnMKKyBsaWJhdmNvZGVj L2Fsc2RlYy5jOiBBZGQgY2hlY2sgZm9yIGF2X21hbGxvY19hcnJheSgpIGFuZCBhdl9jYWxsb2Mo KQorIGF2Y29kZWMvcHNkOiBNb3ZlIGZyYW1lIGFsbG9jYXRpb24gYWZ0ZXIgUkxFIHByb2Nlc3Np bmcKKyBhdmNvZGVjL3NtYWNrZXI6IE1vdmUgYnVmZmVyIGFsbG9jYXRpb24gdG8gbGF0ZXIKKyBm ZnRvb2xzL2NtZHV0aWxzOiBkb24ndCB0cnkgdG8gbG9hZCBhcmd1bWVudHMgZnJvbSBmaWxlIGlm IG5vdCBuZWVkZWQKKyBhdmNvZGVjL29wdXM6IGRvbid0IG1hdGVyaWFsaXplIGJ1ZiBwb2ludGVy IGZyb20gbnVsbAorIGF2ZmlsdGVyL2F2ZmlsdGVyOiBmaXggZm9yd2FyZGluZyBFT0YgZm9yIHNp bXBsZSBBUEkgZmlsdGVycyBpbiBmaWx0ZXJfYWN0aXZhdGVfZGVmYXVsdAorIGF2Y29kZWMvc3Bl ZXhkZWM6IGNvbnNpZGVyIGRpZmZlcmluZyBmcmFtZSBzaXplcyBpbiByZW1haW5pbmcgc3BhY2Ug Y2hlY2sKKyBsYXZjL3Z2YzogRml4IGNvbmRpdGlvbiBmb3IgdXNpbmcgZGVmYXVsdCBzY2FsaW5n IGZhY3RvcgorIGF2Zm9ybWF0L21vdjogQ2hlY2sgdGhhdCBzYW1wbGVfY291bnQgaXMgYWxsb2Nh dGVkIGluIG1vdl9wYXJzZV9oZWlmX2l0ZW1zKCkKKyBhdmZvcm1hdC9pZmY6IENoZWNrIG5iX2No YW5uZWxzID09IDAgaW4gQ0hOTAorIGF2Y29kZWMvb3NxOiBSZXF1ZXN0IGEgY29kaW5nIG1vZGUg MiBzYW1wbGUKKyBhdmNvZGVjL29zcTogU3dpdGNoIGJhY2sgdG8gYXZfY2VpbF9sb2cyKCkKKyBh dmNvZGVjL29zcTogQWRkIG5vdGUgYWJvdXQgdXBkYXRlX3N0YXRzKCkgY291bnQKKyBhdmNvZGVj L29zcTogRml4IHNpZ25lZCBpbnRlZ2VyIG92ZXJmbG93IGluIHVwZGF0ZV9zdGF0cygpCisgYXZj b2RlYy9tc3MyZHNwOiB1c2UgRkZfUFRSX0FERCB0byBhZGQgb2Zmc2V0cyB0byBhIHBvaW50ZXIK KyBhdmZvcm1hdC9tb3ZlbmM6IGZpeCB3cml0aW5nIHJlc2VydmVkIGJpdHMgaW4gRUMzU3BlY2lm aWNCb3gKKyBhdmNvZGVjL2hldmMvaGV2Y2RlYzogQ2hlY2sgbnVtX2VudHJ5X3BvaW50X29mZnNl dHMKKyBhdmNvZGVjL3NwZWV4ZGVjOiBQYXNzIGFuZCBjaGVjayByZW1haW5pbmcgcGFja2V0cyB0 byBkZWNvZGUgZnVuY3Rpb25zCisgc3dzY2FsZS9zd3NjYWxlX3Vuc2NhbGVkOiB1c2UgOCBsaW5l IGFsaWdubWVudCBmb3IgcGxhbmFyQ29weVdyYXBwZXIgd2l0aCBkaXRoZXJpbmcKKyBhYWNlbmNf dG5zOiBjbGFtcCBmaWx0ZXIgZGlyZWN0aW9uIGVuZXJneSBtZWFzdXJlbWVudAorIGZmdG9vbHMv ZmZtcGVnX2RlbXV4OiBkb24ndCBmbGFnIHRpbWVzdGFtcHMgYXMgdW5yZWxpYWJsZSBpZiB0aGV5 IGFyZSBnZW5lcmF0ZWQKKyBhdmZvcm1hdC9pYW1mX3BhcnNlOiBwcmV2ZW50IG92ZXJyZWFkcyBp biB1cGRhdGVfZXh0cmFkYXRhCisgYXZmb3JtYXQvaWFtZl9wYXJzZTogaW5jcmVhc2UgUHV0Qnl0 ZXMgYnVmZmVyIHdoZW4gd3JpdGluZyBBQUMgZXh0cmFkYXRhCisgYXZmb3JtYXQvbWF0cm9za2Fk ZWM6IGNoZWNrIHRoYXQgY2hhbm5lbHMgZml0IGluIHNpZ25lZCAzMmJpdCBpbnQKKyBhdmNvZGVj L3Rha2RlYzogQ2hlY2sgcmVtYWluaW5nIHNwYWNlIGZvciBmaXJzdCBwcmVkaWN0b3JzCisgYXZj b2RlYy9zdnEzOiBDaGVjayB0aGVyZSBhcmUgYml0cyBsZWZ0IGJlZm9yZSBkZWNvbXByZXNzaW9u CisgYXZjb2RlYy9zb25pYzogQ2hlY2sgbnVtX3RhcHMKKyBhdmZvcm1hdC9pbWZfY3BsOiBmaXgg aW5kZW50aW9uIGFmdGVyIHByZXZpb3VzIGNvbW1pdAorIGF2Zm9ybWF0L2ltZl9jcGw6IGRvIG5v dCBjb250aW51ZSBsb29waW5nIGZvcmV2ZXIKKyBhdmZvcm1hdC9tb3Y6IHJlamVjdCBuZWdhdGl2 ZSBFTFNUIGR1cmF0aW9ucworIGF2Zm9ybWF0L2F2aWRlYzogSWdub3JlIGR1cGxpY2F0ZSBHQUIy CisgTUFJTlRBSU5FUlM6IEFkZCBlbnRyeSBmb3Igc2FtcGxlcy1yZXF1ZXN0CisgYXZjb2RlYy9o MjY0X21iOiBGaXggdG1wX2NyIGZvciBhcm0KKyBhdmNvZGVjL3ZvcmJpc2RlYzogRG9udCB0cmVh dCBvdmVycmVhZCBhcyBlcnJvcgorIGF2Y29kZWMvaGV2Yy9wczogRml4IGRlcGVuZGFudCBsYXll ciBpZCBjaGVjaworIGF2Zm9ybWF0L2lmZjogQ2hlY2sgbmJfY2hhbm5lbHMgPT0gMCBpbiBNSERS CisgdGVzdHMvZmF0ZS9maWx0ZXItdmlkZW86IEZpeCBkZXBlbmRhbmN5IGZvciBjb2RlY3ZpZXcK KyBwb3N0cHJvYy9wb3N0cHJvY2Vzc190ZW1wbGF0ZTogZml4IGRlcmluZyB3aXRoIGEgMTZ4MTYg aW1hZ2UKKyBsaWJwb3N0cHJvYzogY2hlY2sgbWluaW11bSBzaXplCisgYXZmb3JtYXQvaGxzOiBG aXggZmxhc2gxLmJvZ3VsdXMuY2ZkIHN1cHBvcnQKKyBhdmZvcm1hdC9obHM6IFNwbGl0IGFsbG93 ZWRfc2VnbWVudF9leHRlbnNpb25zIG9mZiBhbGxvd2VkX2V4dGVuc2lvbnMKKyBhdmZvcm1hdC9o bHM6IEZpeCBZb3V0dWJlIEFBQworIGF2Zm9ybWF0L2hsczogYWRkIGZtcDQgdG8gYWxsb3dlZF9l eHRlbnNpb25zCisgYXZmb3JtYXQvaGxzOiBBZGQgZWMzIHRvIGFsbG93ZWRfZXh0ZW5zaW9ucwor IGF2Zm9ybWF0L2hsczogQWRkIGNtZnYgYW5kIGNtZmEgdG8gYWxsb3dlZF9leHRlbnNpb25zCisg cG9zdHByb2MvcG9zdHByb2Nlc3NfdGVtcGxhdGU6IGZpeCBoYW5kbGluZyBvZiBmaXJzdCByb3cg b2YgZGVyaW5nX0MKKyBwb3N0cHJvYy9wb3N0cHJvY2Vzc190ZW1wbGF0ZTogRml4IHJlYWRpbmcg dW5pbml0aWFsaXplZCBwaXhlbHMgaW4gZGVyaW5nX0MoKQorIGNvbmZpZ3VyZTogQ2xlYXJlciBk b2N1bWVudGF0aW9uIGZvciAiZGlzYWJsZS1zYWZlLWJpdHN0cmVhbS1yZWFkZXIiCisgYXZjb2Rl Yy9vc3E6IGF2b2lkIHVuZGVmaW5lZCBuZWdhdGlvbgorIHN3c2NhbGUvb3V0cHV0OiBGaXggaW50 ZWdlciBvdmVyZmxvdyBpbiB5dXYyZ2JycF9mdWxsX1hfYygpCisgYXZjb2RlYy9saWJ0aGVvcmE6 IGZpeCBzZXR0aW5nIGtleWZyYW1lX21hc2sKKyBkb2M6IHJlcGxhY2UgaHR0cC9naXQgYnkgaHR0 cHMgdXJscworIFJldmVydCAiYXZmb3JtYXQvbXBlZ3RzOiB1cGRhdGUgc3RyZWFtIGluZm8gd2hl biBQTVQgRVMgc3RyZWFtX3R5cGUgY2hhbmdlcyIKKyBhdmZvcm1hdC9tYXRyb3NrYTogU3VwcG9y dCBKUEVHMjAwMCBmb3IgZGVtdXhpbmcKKyBhdmZvcm1hdC9tYXRyb3NrYWRlYzogRml4IFZmVyBl eHRyYWRhdGEgc2l6ZQorIGNvbmZpZ3VyZTogVXNlIE1TWVNURU1fQ0FSQ0ggZm9yIGRlZmF1bHQg YXJjaCBvbiBtc3lzMgorIGF2Y29kZWMvbGNldmNkZWM6IGRvbid0IHRyeSB0byB3cml0ZSB0byBv dXRwdXQgZnJhbWVzIGRpcmVjdGx5CisgYXZmaWx0ZXIvYXZmaWx0ZXJncmFwaDogZml4IHJlZ3Jl c3Npb24gaW4gcGlja2luZyBjaGFubmVsIGxheW91dAorIGF2Zm9ybWF0L21wZWd0czogdXBkYXRl IHN0cmVhbSBpbmZvIHdoZW4gUE1UIEVTIHN0cmVhbV90eXBlIGNoYW5nZXMKKyBhdmNvZGVjL2xp Ynp2YmktdGVsZXRleHRkZWM6IGNoYW5nZSBuZXcgbGluZXMgdG8gXG4gaW4gQVNTIGhlYWRlcgor IGF2Zm9ybWF0L3dhdmRlYzogaW5jcmVhc2UgcmVxdWVzdGVkIHByb2JlIHNjb3JlIGZvciBjb2Rl YyBwcm9iZQorIGF2Y29kZWMvaDI2NF9zbGljZTogaW5zZXJ0IExDRVZDIHNpZGUgZGF0YSBiZWZv cmUgZ2V0X2J1ZmZlcigpIGNhbGwKKyBhdmZvcm1hdC9obHM6IEZpeCBnZXQga2V5IGZpbGUgZXJy b3IKKyBhdmNvZGVjL2JzZi9oMjY0X21wNHRvYW5uZXhiOiBGaXggbWl4ZWQgYml0c3RyZWFtIGZv cm1hdAorIGF2Zm9ybWF0L21vdjogUmVkdWNlIHNlZWsgd2hlbiBpbnRlcmxlYXZlZF9yZWFkIGlz IGRpc2FibGVkCisgYXZmaWx0ZXIvdmZfc2V0cGFyYW1zOiBGaXggY2hyb21hX2xvY2F0aW9uIGJl aW5nIGNsZWFyZWQKKyBjb25maWd1cmU6IEVuYWJsZSAtZm5vLWNvbW1vbiBmb3IgRGFyd2luIHRh cmdldHMsIGF2b2lkIGxpbmtlciB3YXJuaW5ncworIGNvbmZpZ3VyZTogT25seSB0cnkgdG8gdXNl IHRoZSAtbm9fd2Fybl9kdXBsaWNhdGVfbGlicmFyaWVzIGZsYWcgb24gRGFyd2luCisgY29uZmln dXJlOiBTaWxlbmNlIFhjb2RlIHdhcm5pbmdzIGFib3V0IGR1cGxpY2F0ZSBsaWJyYXJpZXMKKyBh dmNvZGVjL21lZGlhY29kZWNkZWNfY29tbW9uOiBXb3JrYXJvdW5kIE1USyBicm9rZW4gY3JvcCBp bXBsZW1lbnRhdGlvbgorIGF2Y29kZWMvTWFrZWZpbGU6IGluY2x1ZGUgYW9tX2ZpbG1fZ3JhaW4u byBmaWxlIGZvciBoMjY0X3NlaSBjb21wb25lbnQKKyBsc3dzL3BwYy95dXYycmdiX2FsdGl2ZWM6 IEZpeCBidWlsZCBpbiBub24tVlNYIGVudmlyb25tZW50cyB3aXRoIENsYW5nIHYyCisgbHN3cy9w cGMveXV2MnJnYl9hbHRpdmVjOiBGaXggYnVpbGQgaW4gbm9uLVZTWCBlbnZpcm9ubWVudHMgd2l0 aCBDbGFuZworIGF2Y29kZWMvbGlic3Z0YXYxOiB1bmJyZWFrIGJ1aWxkIHdpdGggbGF0ZXN0IHN2 dGF2MQorIGZmdG9vbHMvZmZtcGVnX2ZpbHRlcjogYWxzbyByZW1vdmUgZGlzcGxheSBtYXRyaXgg c2lkZSBkYXRhIGZyb20gYnVmZmVyZWQgZnJhbWVzCisKKwogdmVyc2lvbiA3LjEuMToKICBhdmZv cm1hdC9obHM6IFBhcnRpYWxseSByZXZlcnQgInJlZHVjZSBkZWZhdWx0IG1heCByZWxvYWQgdG8g MyIKICBhdmZvcm1hdC9tb3Y6ICh2NCkgZml4IGdldF9laWE2MDhfcGFja2V0CmRpZmYgLS1naXQg YS9SRUxFQVNFIGIvUkVMRUFTRQppbmRleCAyMWM4YzdiNDZiLi5hOGExODg3NTY4IDEwMDY0NAot LS0gYS9SRUxFQVNFCisrKyBiL1JFTEVBU0UKQEAgLTEgKzEgQEAKLTcuMS4xCis3LjEuMgpkaWZm IC0tZ2l0IGEvZG9jL0RveHlmaWxlIGIvZG9jL0RveHlmaWxlCmluZGV4IDE2ZjNhNzg3MzUuLmFi YWUxMzg5OGIgMTAwNjQ0Ci0tLSBhL2RvYy9Eb3h5ZmlsZQorKysgYi9kb2MvRG94eWZpbGUKQEAg LTM4LDcgKzM4LDcgQEAgUFJPSkVDVF9OQU1FICAgICAgICAgICA9IEZGbXBlZwogIyBjb3VsZCBi ZSBoYW5keSBmb3IgYXJjaGl2aW5nIHRoZSBnZW5lcmF0ZWQgZG9jdW1lbnRhdGlvbiBvciBpZiBz b21lIHZlcnNpb24KICMgY29udHJvbCBzeXN0ZW0gaXMgdXNlZC4KIAotUFJPSkVDVF9OVU1CRVIg ICAgICAgICA9IDcuMS4xCitQUk9KRUNUX05VTUJFUiAgICAgICAgID0gNy4xLjIKIAogIyBVc2lu ZyB0aGUgUFJPSkVDVF9CUklFRiB0YWcgb25lIGNhbiBwcm92aWRlIGFuIG9wdGlvbmFsIG9uZSBs aW5lIGRlc2NyaXB0aW9uCiAjIGZvciBhIHByb2plY3QgdGhhdCBhcHBlYXJzIGF0IHRoZSB0b3Ag b2YgZWFjaCBwYWdlIGFuZCBzaG91bGQgZ2l2ZSB2aWV3ZXIgYQotLSAKMi40OS4xCgoKRnJvbSAz MWVjNTBjOGIzM2M1Yzk5NjQ5ZmZjOTg2YjRlNjBjMTVhMDM4MDgwIE1vbiBTZXAgMTcgMDA6MDA6 MDAgMjAwMQpGcm9tOiBKYW1lcyBBbG1lciA8amFtcmlhbEBnbWFpbC5jb20+CkRhdGU6IFdlZCwg MTAgU2VwIDIwMjUgMDk6MzE6NDggLTAzMDAKU3ViamVjdDogW1BBVENIIDM4MS80MzRdIGF2Y29k ZWMvbWpwZWdkZWM6IHVzZSBmZl9mcmFtZV9uZXdfc2lkZV9kYXRhKCkgdG8KIGV4cG9ydCBkaXNw bGF5IG1hdHJpeAoKT3RoZXJ3aXNlLCB0aGUgdXNlciByZXF1ZXN0ZWQgcHJpb3JpdHkgb2YgcGFj a2V0IHNpZGUgZGF0YSB3aWxsIGJlIGlnbm9yZWQuCgpTaWduZWQtb2ZmLWJ5OiBKYW1lcyBBbG1l ciA8amFtcmlhbEBnbWFpbC5jb20+Ci0tLQogbGliYXZjb2RlYy9tanBlZ2RlYy5jIHwgMTIgKysr KysrLS0tLS0tCiAxIGZpbGUgY2hhbmdlZCwgNiBpbnNlcnRpb25zKCspLCA2IGRlbGV0aW9ucygt KQoKZGlmZiAtLWdpdCBhL2xpYmF2Y29kZWMvbWpwZWdkZWMuYyBiL2xpYmF2Y29kZWMvbWpwZWdk ZWMuYwppbmRleCBlZjRmYzA3NWIyLi45NDM4MTg0YWU1IDEwMDY0NAotLS0gYS9saWJhdmNvZGVj L21qcGVnZGVjLmMKKysrIGIvbGliYXZjb2RlYy9tanBlZ2RlYy5jCkBAIC0yODY1LDE1ICsyODY1 LDE1IEBAIHRoZV9lbmQ6CiAgICAgICAgICAgICBBVkZyYW1lU2lkZURhdGEgKnNkID0gTlVMTDsK IAogICAgICAgICAgICAgaWYgKG9yaWVudGF0aW9uID49IDIgJiYgb3JpZW50YXRpb24gPD0gOCkg ewotICAgICAgICAgICAgICAgIGludDMyX3QgKm1hdHJpeDsKLQotICAgICAgICAgICAgICAgIHNk ID0gYXZfZnJhbWVfbmV3X3NpZGVfZGF0YShmcmFtZSwgQVZfRlJBTUVfREFUQV9ESVNQTEFZTUFU UklYLCBzaXplb2YoaW50MzJfdCkgKiA5KTsKLSAgICAgICAgICAgICAgICBpZiAoIXNkKSB7Cisg ICAgICAgICAgICAgICAgcmV0ID0gZmZfZnJhbWVfbmV3X3NpZGVfZGF0YShhdmN0eCwgZnJhbWUs IEFWX0ZSQU1FX0RBVEFfRElTUExBWU1BVFJJWCwgc2l6ZW9mKGludDMyX3QpICogOSwgJnNkKTsK KyAgICAgICAgICAgICAgICBpZiAocmV0IDwgMCkgewogICAgICAgICAgICAgICAgICAgICBhdl9s b2coYXZjdHgsIEFWX0xPR19FUlJPUiwgIkNvdWxkIG5vdCBhbGxvY2F0ZSBmcmFtZSBzaWRlIGRh dGFcbiIpOwotICAgICAgICAgICAgICAgICAgICByZXR1cm4gQVZFUlJPUihFTk9NRU0pOworICAg ICAgICAgICAgICAgICAgICByZXR1cm4gcmV0OwogICAgICAgICAgICAgICAgIH0KKyAgICAgICAg ICAgIH0KIAotICAgICAgICAgICAgICAgIG1hdHJpeCA9IChpbnQzMl90ICopc2QtPmRhdGE7Cisg ICAgICAgICAgICBpZiAoc2QpIHsKKyAgICAgICAgICAgICAgICBpbnQzMl90ICptYXRyaXggPSAo aW50MzJfdCAqKXNkLT5kYXRhOwogCiAgICAgICAgICAgICAgICAgc3dpdGNoIChvcmllbnRhdGlv bikgewogICAgICAgICAgICAgICAgIGNhc2UgMjoKLS0gCjIuNDkuMQoKCkZyb20gOGRlZjE2MDhl NDAyYThlMDhhMGQ4YTM0ZDMwZTQxOTNjOTM1ZWQ2NiBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEK RnJvbTogSmFtZXMgQWxtZXIgPGphbXJpYWxAZ21haWwuY29tPgpEYXRlOiBNb24sIDE4IEF1ZyAy MDI1IDEyOjIyOjA5IC0wMzAwClN1YmplY3Q6IFtQQVRDSCAzODIvNDM0XSBmZnRvb2xzL2ZmbXBl Z19kZW11eDogZW5zdXJlIHRoZSBkaXNwbGF5X3JvdGF0aW9uCiBvcHRpb24gaXMgaG9ub3JlZAoK SWYgcmVxdWVzdGVkLCBpdCBzaG91bGQgaGF2ZSBwcmlvdGl0eSBvdmVyIGFueSBjb2RlZCB2YWx1 ZS4KRml4ZXMgdGlja2V0ICMxMTY0OS4KClNpZ25lZC1vZmYtYnk6IEphbWVzIEFsbWVyIDxqYW1y aWFsQGdtYWlsLmNvbT4KLS0tCiBmZnRvb2xzL2ZmbXBlZ19kZW11eC5jIHwgMTMgKysrKysrKysr KysrKwogMSBmaWxlIGNoYW5nZWQsIDEzIGluc2VydGlvbnMoKykKCmRpZmYgLS1naXQgYS9mZnRv b2xzL2ZmbXBlZ19kZW11eC5jIGIvZmZ0b29scy9mZm1wZWdfZGVtdXguYwppbmRleCBkNDRkY2Ux MTE5Li43ZDg3NDIyZWVlIDEwMDY0NAotLS0gYS9mZnRvb2xzL2ZmbXBlZ19kZW11eC5jCisrKyBi L2ZmdG9vbHMvZmZtcGVnX2RlbXV4LmMKQEAgLTY3LDYgKzY3LDcgQEAgdHlwZWRlZiBzdHJ1Y3Qg RGVtdXhTdHJlYW0gewogICAgIGludCAgICAgICAgICAgICAgICAgICAgICByZWluaXRfZmlsdGVy czsKICAgICBpbnQgICAgICAgICAgICAgICAgICAgICAgYXV0b3JvdGF0ZTsKICAgICBpbnQgICAg ICAgICAgICAgICAgICAgICAgYXBwbHlfY3JvcHBpbmc7CisgICAgaW50ICAgICAgICAgICAgICAg ICAgICAgIGZvcmNlX2Rpc3BsYXlfbWF0cml4OwogCiAKICAgICBpbnQgICAgICAgICAgICAgICAg ICAgICAgd3JhcF9jb3JyZWN0aW9uX2RvbmU7CkBAIC0xMTY4LDYgKzExNjksNyBAQCBzdGF0aWMg aW50IGFkZF9kaXNwbGF5X21hdHJpeF90b19zdHJlYW0oY29uc3QgT3B0aW9uc0NvbnRleHQgKm8s CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQVZGb3JtYXRDb250ZXh0 ICpjdHgsIElucHV0U3RyZWFtICppc3QpCiB7CiAgICAgQVZTdHJlYW0gKnN0ID0gaXN0LT5zdDsK KyAgICBEZW11eFN0cmVhbSAqZHMgPSBkc19mcm9tX2lzdChpc3QpOwogICAgIEFWUGFja2V0U2lk ZURhdGEgKnNkOwogICAgIGRvdWJsZSByb3RhdGlvbiA9IERCTF9NQVg7CiAgICAgaW50IGhmbGlw ID0gLTEsIHZmbGlwID0gLTE7CkBAIC0xMjAyLDYgKzEyMDQsOCBAQCBzdGF0aWMgaW50IGFkZF9k aXNwbGF5X21hdHJpeF90b19zdHJlYW0oY29uc3QgT3B0aW9uc0NvbnRleHQgKm8sCiAgICAgICAg ICAgICAgICAgICAgICAgICAgICBoZmxpcF9zZXQgPyBoZmxpcCA6IDAsCiAgICAgICAgICAgICAg ICAgICAgICAgICAgICB2ZmxpcF9zZXQgPyB2ZmxpcCA6IDApOwogCisgICAgZHMtPmZvcmNlX2Rp c3BsYXlfbWF0cml4ID0gMTsKKwogICAgIHJldHVybiAwOwogfQogCkBAIC0xNDI5LDYgKzE0MzMs MTUgQEAgc3RhdGljIGludCBpc3RfYWRkKGNvbnN0IE9wdGlvbnNDb250ZXh0ICpvLCBEZW11eGVy ICpkLCBBVlN0cmVhbSAqc3QsIEFWRGljdGlvbmEKICAgICBhdl9kaWN0X3NldF9pbnQoJmRzLT5k ZWNvZGVyX29wdHMsICJhcHBseV9jcm9wcGluZyIsCiAgICAgICAgICAgICAgICAgICAgIGRzLT5h cHBseV9jcm9wcGluZyAmJiBkcy0+YXBwbHlfY3JvcHBpbmcgIT0gQ1JPUF9DT05UQUlORVIsIDAp OwogCisgICAgaWYgKGRzLT5mb3JjZV9kaXNwbGF5X21hdHJpeCkgeworICAgICAgICBjaGFyIGJ1 ZlszMl07CisgICAgICAgIGlmIChhdl9kaWN0X2dldChkcy0+ZGVjb2Rlcl9vcHRzLCAic2lkZV9k YXRhX3ByZWZlcl9wYWNrZXQiLCBOVUxMLCAwKSkKKyAgICAgICAgICAgIGJ1ZlswXSA9ICcsJzsK KyAgICAgICAgZWxzZQorICAgICAgICAgICAgYnVmWzBdID0gJ1wwJzsKKyAgICAgICAgYXZfc3Ry bGNhdChidWYsICJkaXNwbGF5bWF0cml4Iiwgc2l6ZW9mKGJ1ZikpOworICAgICAgICBhdl9kaWN0 X3NldCgmZHMtPmRlY29kZXJfb3B0cywgInNpZGVfZGF0YV9wcmVmZXJfcGFja2V0IiwgYnVmLCBB Vl9ESUNUX0FQUEVORCk7CisgICAgfQogICAgIC8qIEF0dGFjaGVkIHBpY3MgYXJlIHNwYXJzZSwg dGhlcmVmb3JlIHdlIHdvdWxkIG5vdCB3YW50IHRvIGRlbGF5IHRoZWlyIGRlY29kaW5nCiAgICAg ICogdGlsbCBFT0YuICovCiAgICAgaWYgKGlzdC0+c3QtPmRpc3Bvc2l0aW9uICYgQVZfRElTUE9T SVRJT05fQVRUQUNIRURfUElDKQotLSAKMi40OS4xCgoKRnJvbSA4NjI3YjdjNzk3ODI2ODg5OTM3 MzA4MWQxZDY5NjVhMTQyYjc5NGE3IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBKYW1l cyBBbG1lciA8amFtcmlhbEBnbWFpbC5jb20+CkRhdGU6IFdlZCwgMTAgU2VwIDIwMjUgMDk6NDE6 MzkgLTAzMDAKU3ViamVjdDogW1BBVENIIDM4My80MzRdIENoYW5nZWxvZzogdXBkYXRlCgpTaWdu ZWQtb2ZmLWJ5OiBKYW1lcyBBbG1lciA8amFtcmlhbEBnbWFpbC5jb20+Ci0tLQogQ2hhbmdlbG9n IHwgMiArKwogMSBmaWxlIGNoYW5nZWQsIDIgaW5zZXJ0aW9ucygrKQoKZGlmZiAtLWdpdCBhL0No YW5nZWxvZyBiL0NoYW5nZWxvZwppbmRleCA1NGU4YjQ2ZmMyLi5jNjRkMjgxZTI0IDEwMDY0NAot LS0gYS9DaGFuZ2Vsb2cKKysrIGIvQ2hhbmdlbG9nCkBAIC0yLDYgKzIsOCBAQCBFbnRyaWVzIGFy ZSBzb3J0ZWQgY2hyb25vbG9naWNhbGx5IGZyb20gb2xkZXN0IHRvIHlvdW5nZXN0IHdpdGhpbiBl YWNoIHJlbGVhc2UsCiByZWxlYXNlcyBhcmUgc29ydGVkIGZyb20geW91bmdlc3QgdG8gb2xkZXN0 LgogCiB2ZXJzaW9uIDcuMS4yOgorIGZmdG9vbHMvZmZtcGVnX2RlbXV4OiBlbnN1cmUgdGhlIGRp c3BsYXlfcm90YXRpb24gb3B0aW9uIGlzIGhvbm9yZWQKKyBhdmNvZGVjL21qcGVnZGVjOiB1c2Ug ZmZfZnJhbWVfbmV3X3NpZGVfZGF0YSgpIHRvIGV4cG9ydCBkaXNwbGF5IG1hdHJpeAogIGFhY2Rl Y191c2FjOiB1c2UgUmVmU3RydWN0IHRvIHRyYWNrIHVuZmluaXNoZWQgZXh0ZW5zaW9uIGJ1ZmZl cnMKICBhdmNvZGU6IFVzZSBhdl9mYXN0X3JlYWxsb2MoKSBpbiBmZl9semZfdW5jb21wcmVzcygp CiAgYXZjb2RlYy9keHY6IENoZWNrIGNvZGVkX2hlaWdodCwgdG8gYXZvaWQgaW52YWxpZCBhdl9j bGlwKCkKLS0gCjIuNDkuMQoKCkZyb20gZGMyNzI4NDc0ZWE1NmNiNTJkOWY5ZDdmZDYyNTA0MTg1 MTQ5YmQ2NyBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKRnJvbTogUGF0cmljayBXYW5nIDxtYWls NjU0MzIxMEBnbWFpbC5jb20+CkRhdGU6IEZyaSwgMjkgQXVnIDIwMjUgMDI6NTg6MTYgKzA4MDAK U3ViamVjdDogW1BBVENIIDM4NC80MzRdIGZmdG9vbHMvZmZtcGVnOiBmaXggZ3JhY2VmdWxseSBz aHV0ZG93bgoKZDExOWFlMmZkODJhNDk0ZDk0MzBmZjRkNGZjMjYyOTYxYTY4YzU5OCByZW1vdmVk IHRoZSBsb29wLWJyZWFraW5nIGNvbmRpdGlvbgpyZWNlaXZlZF9zaWd0ZXJtLgpUaHVzLCBzaWdu YWxzIG5vIGxvbmdlciBncmFjZWZ1bGx5IHNodXRkb3duIGZmbXBlZy4KCkZpeGVzOiAjMTA4MzQK ClNpZ25lZC1vZmYtYnk6IFBhdHJpY2sgV2FuZyA8bWFpbDY1NDMyMTBAZ21haWwuY29tPgpTaWdu ZWQtb2ZmLWJ5OiBNaWNoYWVsIE5pZWRlcm1heWVyIDxtaWNoYWVsQG5pZWRlcm1heWVyLmNjPgoo Y2hlcnJ5IHBpY2tlZCBmcm9tIGNvbW1pdCBkNzE3M2U5ODJlYzgxNWRjZjcwOTk5Yzg2ODNjNDY1 Yjk5Y2UyNDljKQpTaWduZWQtb2ZmLWJ5OiBNaWNoYWVsIE5pZWRlcm1heWVyIDxtaWNoYWVsQG5p ZWRlcm1heWVyLmNjPgotLS0KIGZmdG9vbHMvZmZtcGVnLmMgfCA1ICsrKy0tCiAxIGZpbGUgY2hh bmdlZCwgMyBpbnNlcnRpb25zKCspLCAyIGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL2ZmdG9v bHMvZmZtcGVnLmMgYi9mZnRvb2xzL2ZmbXBlZy5jCmluZGV4IDQyMGJhM2M2ZTQuLjk5NjY4YWRh MTggMTAwNjQ0Ci0tLSBhL2ZmdG9vbHMvZmZtcGVnLmMKKysrIGIvZmZ0b29scy9mZm1wZWcuYwpA QCAtNzg5LDggKzc4OSw2IEBAIHN0YXRpYyBpbnQgY2hlY2tfa2V5Ym9hcmRfaW50ZXJhY3Rpb24o aW50NjRfdCBjdXJfdGltZSkKIHsKICAgICBpbnQgaSwga2V5OwogICAgIHN0YXRpYyBpbnQ2NF90 IGxhc3RfdGltZTsKLSAgICBpZiAocmVjZWl2ZWRfbmJfc2lnbmFscykKLSAgICAgICAgcmV0dXJu IEFWRVJST1JfRVhJVDsKICAgICAvKiByZWFkX2tleSgpIHJldHVybnMgMCBvbiBFT0YgKi8KICAg ICBpZiAoY3VyX3RpbWUgLSBsYXN0X3RpbWUgPj0gMTAwMDAwKSB7CiAgICAgICAgIGtleSA9ICBy ZWFkX2tleSgpOwpAQCAtODc0LDYgKzg3Miw5IEBAIHN0YXRpYyBpbnQgdHJhbnNjb2RlKFNjaGVk dWxlciAqc2NoKQogICAgIHdoaWxlICghc2NoX3dhaXQoc2NoLCBzdGF0c19wZXJpb2QsICZ0cmFu c2NvZGVfdHMpKSB7CiAgICAgICAgIGludDY0X3QgY3VyX3RpbWU9IGF2X2dldHRpbWVfcmVsYXRp dmUoKTsKIAorICAgICAgICBpZiAocmVjZWl2ZWRfbmJfc2lnbmFscykKKyAgICAgICAgICAgIGJy ZWFrOworCiAgICAgICAgIC8qIGlmICdxJyBwcmVzc2VkLCBleGl0cyAqLwogICAgICAgICBpZiAo c3RkaW5faW50ZXJhY3Rpb24pCiAgICAgICAgICAgICBpZiAoY2hlY2tfa2V5Ym9hcmRfaW50ZXJh Y3Rpb24oY3VyX3RpbWUpIDwgMCkKLS0gCjIuNDkuMQoKCkZyb20gNDgzMDE1ZDZjZTVlNzIwZTcx YmVkNjY4MTRkMzUzZDY1NmYzNzM1NiBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKRnJvbTogQW5k cmV5IFNlbWFzaGV2IDxhbmRyZXkuc2VtYXNoZXZAZ21haWwuY29tPgpEYXRlOiBUdWUsIDIgU2Vw IDIwMjUgMDE6MDc6MDUgKzAzMDAKU3ViamVjdDogW1BBVENIIDM4NS80MzRdIGF2Y29kZWMvbGli cnN2Z2RlYzogZml4IGNvbXBpbGF0aW9uIHdpdGggbGlicnN2ZwogMi41MC4zCgpUaGlzIGZpeGVz IGNvbXBpbGF0aW9uIHdpdGggbGlicnN2ZyAyLjUwLjM6IGVycm9yOiB2aWV3cG9ydCB1bmRlY2xh cmVkCgpUaGlzIHdhcyBhIHJlZ3Jlc3Npb24gc2luY2UgY29tbWl0Cjg2ZWQ2ODQyMGQzYjYwNDM5 ZDBiNzc2N2M1M2QwZmRjMWRlYjcyNzcuCgpGaXhlcyAjMTA3MjIuCgpSZXZpZXdlZC1ieTogTGVv IEl6ZW4gPGxlby5pemVuQGdtYWlsLmNvbT4KKGNoZXJyeSBwaWNrZWQgZnJvbSBjb21taXQgOWVl Nzc5NmM1NDBjZTljZWMzZmRmZjBkZDI0NmRlODQyMjI4NzA3YikKU2lnbmVkLW9mZi1ieTogTWlj aGFlbCBOaWVkZXJtYXllciA8bWljaGFlbEBuaWVkZXJtYXllci5jYz4KLS0tCiBsaWJhdmNvZGVj L2xpYnJzdmdkZWMuYyB8IDQgKystLQogMSBmaWxlIGNoYW5nZWQsIDIgaW5zZXJ0aW9ucygrKSwg MiBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9saWJhdmNvZGVjL2xpYnJzdmdkZWMuYyBiL2xp YmF2Y29kZWMvbGlicnN2Z2RlYy5jCmluZGV4IGMzMjhmYmM3NzQuLmYwNTY2ZWI1ZDggMTAwNjQ0 Ci0tLSBhL2xpYmF2Y29kZWMvbGlicnN2Z2RlYy5jCisrKyBiL2xpYmF2Y29kZWMvbGlicnN2Z2Rl Yy5jCkBAIC05MCw4ICs5MCw2IEBAIHN0YXRpYyBpbnQgbGlicnN2Z19kZWNvZGVfZnJhbWUoQVZD b2RlY0NvbnRleHQgKmF2Y3R4LCBBVkZyYW1lICpmcmFtZSwKICAgICAgICAgZ290byBlbmQ7CiAK ICAgICBhdmN0eC0+cGl4X2ZtdCA9IEFWX1BJWF9GTVRfUkdCMzI7Ci0gICAgdmlld3BvcnQud2lk dGggPSBkaW1lbnNpb25zLndpZHRoOwotICAgIHZpZXdwb3J0LmhlaWdodCA9IGRpbWVuc2lvbnMu aGVpZ2h0OwogCiAgICAgcmV0ID0gZmZfZ2V0X2J1ZmZlcihhdmN0eCwgZnJhbWUsIDApOwogICAg IGlmIChyZXQgPCAwKQpAQCAtMTE2LDYgKzExNCw4IEBAIHN0YXRpYyBpbnQgbGlicnN2Z19kZWNv ZGVfZnJhbWUoQVZDb2RlY0NvbnRleHQgKmF2Y3R4LCBBVkZyYW1lICpmcmFtZSwKICAgICBjYWly b19yZXN0b3JlKGNyZW5kZXIpOwogCiAjaWYgTElCUlNWR19NQUpPUl9WRVJTSU9OID4gMiB8fCBM SUJSU1ZHX01BSk9SX1ZFUlNJT04gPT0gMiAmJiBMSUJSU1ZHX01JTk9SX1ZFUlNJT04gPj0gNTIK KyAgICB2aWV3cG9ydC53aWR0aCA9IGRpbWVuc2lvbnMud2lkdGg7CisgICAgdmlld3BvcnQuaGVp Z2h0ID0gZGltZW5zaW9ucy5oZWlnaHQ7CiAgICAgZ3JldCA9IHJzdmdfaGFuZGxlX3JlbmRlcl9k b2N1bWVudChoYW5kbGUsIGNyZW5kZXIsICZ2aWV3cG9ydCwgJmVycm9yKTsKICNlbHNlCiAgICAg Y2Fpcm9fc2NhbGUoY3JlbmRlciwgZGltZW5zaW9ucy53aWR0aCAvIChkb3VibGUpdW5zY2FsZWRf ZGltZW5zaW9ucy53aWR0aCwKLS0gCjIuNDkuMQoKCkZyb20gMWIwOGM2Yzk1ZTNmMTk0NTI1NjZi OGFhZTdhMDI4OGIzOWQwNTE2MSBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKRnJvbTogWmhhbyBa aGlsaSA8emhpbGl6aGFvQHRlbmNlbnQuY29tPgpEYXRlOiBUdWUsIDIgU2VwIDIwMjUgMTg6MDQ6 MTEgKzA4MDAKU3ViamVjdDogW1BBVENIIDM4Ni80MzRdIGRvYy9leGFtcGxlcy92YWFwaV9lbmNv ZGU6IGZpeCBpbnZhbGlkIGNoZWNrIG9uCiBmd3JpdGUKCmVuY19wa3QtPnNpemUgaXMgMCBhZnRl ciBhdl9wYWNrZXRfdW5yZWYsIHdoaWNoIG1ha2VzIHRoZSBjaGVjayBpbnZhbGlkLgoKRml4IHJl Z3Jlc3Npb24gZnJvbSAzZTRiZmZmMi4KCkNvLUF1dGhvcmVkLWJ5OiBKaW4gQm8gPGppbmJvQGxv b25nc29uLmNuPgpTaWduZWQtb2ZmLWJ5OiBaaGFvIFpoaWxpIDx6aGlsaXpoYW9AdGVuY2VudC5j b20+CihjaGVycnkgcGlja2VkIGZyb20gY29tbWl0IDA5ODU2ZTRlNDgzZjE0MTI1ZDM4ZTVjODRl OTA4ZjYyM2JiMWE4ODgpClNpZ25lZC1vZmYtYnk6IE1pY2hhZWwgTmllZGVybWF5ZXIgPG1pY2hh ZWxAbmllZGVybWF5ZXIuY2M+Ci0tLQogZG9jL2V4YW1wbGVzL3ZhYXBpX2VuY29kZS5jIHwgMiAr LQogMSBmaWxlIGNoYW5nZWQsIDEgaW5zZXJ0aW9uKCspLCAxIGRlbGV0aW9uKC0pCgpkaWZmIC0t Z2l0IGEvZG9jL2V4YW1wbGVzL3ZhYXBpX2VuY29kZS5jIGIvZG9jL2V4YW1wbGVzL3ZhYXBpX2Vu Y29kZS5jCmluZGV4IGZmM2ViYjFlMmIuLjMzMGE2NTI0ZWYgMTAwNjQ0Ci0tLSBhL2RvYy9leGFt cGxlcy92YWFwaV9lbmNvZGUuYworKysgYi9kb2MvZXhhbXBsZXMvdmFhcGlfZW5jb2RlLmMKQEAg LTg4LDcgKzg4LDcgQEAgc3RhdGljIGludCBlbmNvZGVfd3JpdGUoQVZDb2RlY0NvbnRleHQgKmF2 Y3R4LCBBVkZyYW1lICpmcmFtZSwgRklMRSAqZm91dCkKICAgICAgICAgZW5jX3BrdC0+c3RyZWFt X2luZGV4ID0gMDsKICAgICAgICAgcmV0ID0gZndyaXRlKGVuY19wa3QtPmRhdGEsIGVuY19wa3Qt PnNpemUsIDEsIGZvdXQpOwogICAgICAgICBhdl9wYWNrZXRfdW5yZWYoZW5jX3BrdCk7Ci0gICAg ICAgIGlmIChyZXQgIT0gZW5jX3BrdC0+c2l6ZSkgeworICAgICAgICBpZiAoIXJldCkgewogICAg ICAgICAgICAgcmV0ID0gQVZFUlJPUihlcnJubyk7CiAgICAgICAgICAgICBicmVhazsKICAgICAg ICAgfQotLSAKMi40OS4xCgoKRnJvbSBmODkzMjIxYzhkODljYjc5OGI4MjliZWJlNzFkNTVlMWEz ZjI0MmZkIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBNaWNoYWVsIE5pZWRlcm1heWVy IDxtaWNoYWVsQG5pZWRlcm1heWVyLmNjPgpEYXRlOiBTdW4sIDE0IFNlcCAyMDI1IDAwOjMyOjEz ICswMjAwClN1YmplY3Q6IFtQQVRDSCAzODcvNDM0XSBDaGFuZ2Vsb2c6IHVwZGF0ZQoKU2lnbmVk LW9mZi1ieTogTWljaGFlbCBOaWVkZXJtYXllciA8bWljaGFlbEBuaWVkZXJtYXllci5jYz4KLS0t CiBDaGFuZ2Vsb2cgfCAzICsrKwogMSBmaWxlIGNoYW5nZWQsIDMgaW5zZXJ0aW9ucygrKQoKZGlm ZiAtLWdpdCBhL0NoYW5nZWxvZyBiL0NoYW5nZWxvZwppbmRleCBjNjRkMjgxZTI0Li5iOGYxNWFh YmI3IDEwMDY0NAotLS0gYS9DaGFuZ2Vsb2cKKysrIGIvQ2hhbmdlbG9nCkBAIC0yLDYgKzIsOSBA QCBFbnRyaWVzIGFyZSBzb3J0ZWQgY2hyb25vbG9naWNhbGx5IGZyb20gb2xkZXN0IHRvIHlvdW5n ZXN0IHdpdGhpbiBlYWNoIHJlbGVhc2UsCiByZWxlYXNlcyBhcmUgc29ydGVkIGZyb20geW91bmdl c3QgdG8gb2xkZXN0LgogCiB2ZXJzaW9uIDcuMS4yOgorIGRvYy9leGFtcGxlcy92YWFwaV9lbmNv ZGU6IGZpeCBpbnZhbGlkIGNoZWNrIG9uIGZ3cml0ZQorIGF2Y29kZWMvbGlicnN2Z2RlYzogZml4 IGNvbXBpbGF0aW9uIHdpdGggbGlicnN2ZyAyLjUwLjMKKyBmZnRvb2xzL2ZmbXBlZzogZml4IGdy YWNlZnVsbHkgc2h1dGRvd24KICBmZnRvb2xzL2ZmbXBlZ19kZW11eDogZW5zdXJlIHRoZSBkaXNw bGF5X3JvdGF0aW9uIG9wdGlvbiBpcyBob25vcmVkCiAgYXZjb2RlYy9tanBlZ2RlYzogdXNlIGZm X2ZyYW1lX25ld19zaWRlX2RhdGEoKSB0byBleHBvcnQgZGlzcGxheSBtYXRyaXgKICBhYWNkZWNf dXNhYzogdXNlIFJlZlN0cnVjdCB0byB0cmFjayB1bmZpbmlzaGVkIGV4dGVuc2lvbiBidWZmZXJz Ci0tIAoyLjQ5LjEKCgpGcm9tIDhiYjRmNjA0NTllYzQ2NjM0NzZiZTExY2MwZmUyOTRkNzA1ZmE3 ZGQgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCkZyb206IEphbWVzIEFsbWVyIDxqYW1yaWFsQGdt YWlsLmNvbT4KRGF0ZTogTW9uLCAxNSBTZXAgMjAyNSAyMjoxODo1MiAtMDMwMApTdWJqZWN0OiBb UEFUQ0ggMzg4LzQzNF0gYXZjb2RlYy94ODYvcG5nZHNwOiBhZGQgbWlzc2luZyBlbW1zIGF0IHRo ZSBlbmQgb2YKIGFkZF9wbmdfcGFldGhfcHJlZGljdGlvbgoKRml4ZXMgdW5wcmVkaWN0YWJsZSBi ZWhhdmlvciB3aXRoIGZsb2F0cy4KClNpZ25lZC1vZmYtYnk6IEphbWVzIEFsbWVyIDxqYW1yaWFs QGdtYWlsLmNvbT4KKGNoZXJyeSBwaWNrZWQgZnJvbSBjb21taXQgNTdhMjlmMmU3ZGQyMzc0YTFk ZjI3MzE2YzZjZjdjMDIyNWU4Njc1OCkKLS0tCiBsaWJhdmNvZGVjL3g4Ni9wbmdkc3AuYXNtIHwg MSArCiAxIGZpbGUgY2hhbmdlZCwgMSBpbnNlcnRpb24oKykKCmRpZmYgLS1naXQgYS9saWJhdmNv ZGVjL3g4Ni9wbmdkc3AuYXNtIGIvbGliYXZjb2RlYy94ODYvcG5nZHNwLmFzbQppbmRleCBlZmFm NjUyY2Q0Li4xMGExZmQ2NDhiIDEwMDY0NAotLS0gYS9saWJhdmNvZGVjL3g4Ni9wbmdkc3AuYXNt CisrKyBiL2xpYmF2Y29kZWMveDg2L3BuZ2RzcC5hc20KQEAgLTE1MSw2ICsxNTEsNyBAQCBjZ2xv YmFsIGFkZF9wbmdfcGFldGhfcHJlZGljdGlvbiwgNSwgNywgJTEsIGRzdCwgc3JjLCB0b3AsIHcs IGJwcCwgZW5kLCBjbnRyCiAgICAgZGVjICAgICAgICAgICAgICBjbnRycQogICAgIGpnZSAuYnBw X2xvb3AKICAgICBQT1AgICAgICAgICAgICAgICBkc3RxCisgICAgZW1tcwogICAgIFJFVAogJWVu ZG1hY3JvCiAKLS0gCjIuNDkuMQoKCkZyb20gYWIwNTQ1OTY5Mjc5ZGM4MzJkNDMxNTAwYmUxMWY2 MWUzZGFkY2Y5MSBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKRnJvbTogSmFtZXMgQWxtZXIgPGph bXJpYWxAZ21haWwuY29tPgpEYXRlOiBUdWUsIDE2IFNlcCAyMDI1IDEzOjU2OjE4IC0wMzAwClN1 YmplY3Q6IFtQQVRDSCAzODkvNDM0XSBhdmNvZGVjL2RlY29kZTogc3luYyBpbml0aWFsX3BpY3Rf dHlwZSBhbmQKIGludHJhX29ubHlfZmxhZyB3aXRoIHRocmVhZCB3b3JrZXIncyBhdmN0eAoKUmVn cmVzc2lvbiBzaW5jZSA1YWNiZGQyMjY0ZDNiOTBkYzExMzY5ZjllMDMxZTc2MmYyNjA4ODJlLCB3 aGljaCByZW1vdmVkCnNldHRpbmcgYm90aCB2YWx1ZXMgZnJvbSBQZXJUaHJlYWRDb250ZXh0LgpH aXZlbiB0aGUgcHRocmVhZCBjb2RlIGNhbGxzIGZmX2RlY29kZV9yZWNlaXZlX2ZyYW1lX2ludGVy bmFsKCkgb24gdGhlIGZyYW1lLAphbnkgdmFsdWUgc2V0IGJlZm9yZSBpdCB3aWxsIGJlIG92ZXJ3 cml0dGVuLCBzbyBpbnN0ZWFkIHN5bmMgZWFjaCB0aHJlYWQncwpEZWNvZGVDb250ZXh0IGFuZCBs ZXQgZmZfZGVjb2RlX3JlY2VpdmVfZnJhbWVfaW50ZXJuYWwoKSBoYW5kbGUgdGhlc2UgdmFsdWVz LgoKRml4ZXMgaXNzdWUgIzIwNTM0LgoKU2lnbmVkLW9mZi1ieTogSmFtZXMgQWxtZXIgPGphbXJp YWxAZ21haWwuY29tPgooY2hlcnJ5IHBpY2tlZCBmcm9tIGNvbW1pdCAyNmY0MjMwMDgyZGFkMWE2 YTBmMjM4NDY5NDAzNzU2MmY3M2JiMmZkKQotLS0KIGxpYmF2Y29kZWMvZGVjb2RlLmMgICAgICAg IHwgIDIgKysKIGxpYmF2Y29kZWMvcHRocmVhZF9mcmFtZS5jIHwgMTEgLS0tLS0tLS0tLS0KIDIg ZmlsZXMgY2hhbmdlZCwgMiBpbnNlcnRpb25zKCspLCAxMSBkZWxldGlvbnMoLSkKCmRpZmYgLS1n aXQgYS9saWJhdmNvZGVjL2RlY29kZS5jIGIvbGliYXZjb2RlYy9kZWNvZGUuYwppbmRleCA4Mjgw MTMxOTdjLi5kOGQzYmQ0ZDExIDEwMDY0NAotLS0gYS9saWJhdmNvZGVjL2RlY29kZS5jCisrKyBi L2xpYmF2Y29kZWMvZGVjb2RlLmMKQEAgLTIzMjksNiArMjMyOSw4IEBAIHZvaWQgZmZfZGVjb2Rl X2ludGVybmFsX3N5bmMoQVZDb2RlY0NvbnRleHQgKmRzdCwgY29uc3QgQVZDb2RlY0NvbnRleHQg KnNyYykKICAgICBjb25zdCBEZWNvZGVDb250ZXh0ICpzcmNfZGMgPSBkZWNvZGVfY3R4KHNyYy0+ aW50ZXJuYWwpOwogICAgIERlY29kZUNvbnRleHQgKmRzdF9kYyA9IGRlY29kZV9jdHgoZHN0LT5p bnRlcm5hbCk7CiAKKyAgICBkc3RfZGMtPmluaXRpYWxfcGljdF90eXBlID0gc3JjX2RjLT5pbml0 aWFsX3BpY3RfdHlwZTsKKyAgICBkc3RfZGMtPmludHJhX29ubHlfZmxhZyAgID0gc3JjX2RjLT5p bnRyYV9vbmx5X2ZsYWc7CiAgICAgZmZfcmVmc3RydWN0X3JlcGxhY2UoJmRzdF9kYy0+bGNldmMs IHNyY19kYy0+bGNldmMpOwogfQogCmRpZmYgLS1naXQgYS9saWJhdmNvZGVjL3B0aHJlYWRfZnJh bWUuYyBiL2xpYmF2Y29kZWMvcHRocmVhZF9mcmFtZS5jCmluZGV4IDFiMWI5NjYyM2YuLjViNGIw YjM0MmMgMTAwNjQ0Ci0tLSBhL2xpYmF2Y29kZWMvcHRocmVhZF9mcmFtZS5jCisrKyBiL2xpYmF2 Y29kZWMvcHRocmVhZF9mcmFtZS5jCkBAIC0xMTUsMTAgKzExNSw2IEBAIHR5cGVkZWYgc3RydWN0 IFBlclRocmVhZENvbnRleHQgewogICAgIGludCBod2FjY2VsX3RocmVhZHNhZmU7CiAKICAgICBh dG9taWNfaW50IGRlYnVnX3RocmVhZHM7ICAgICAgIC8vLzwgU2V0IGlmIHRoZSBGRl9ERUJVR19U SFJFQURTIG9wdGlvbiBpcyBzZXQuCi0KLSAgICAvLy8gVGhlIGZvbGxvd2luZyB0d28gZmllbGRz IGhhdmUgdGhlIHNhbWUgc2VtYW50aWNzIGFzIHRoZSBEZWNvZGVDb250ZXh0IGZpZWxkCi0gICAg aW50IGludHJhX29ubHlfZmxhZzsKLSAgICBlbnVtIEFWUGljdHVyZVR5cGUgaW5pdGlhbF9waWN0 X3R5cGU7CiB9IFBlclRocmVhZENvbnRleHQ7CiAKIC8qKgpAQCAtODIxLDEzICs4MTcsNiBAQCBz dGF0aWMgYXZfY29sZCBpbnQgaW5pdF90aHJlYWQoUGVyVGhyZWFkQ29udGV4dCAqcCwgaW50ICp0 aHJlYWRzX3RvX2ZyZWUsCiAgICAgQVZDb2RlY0NvbnRleHQgKmNvcHk7CiAgICAgaW50IGVycjsK IAotICAgIHAtPmluaXRpYWxfcGljdF90eXBlID0gQVZfUElDVFVSRV9UWVBFX05PTkU7Ci0gICAg aWYgKGF2Y3R4LT5jb2RlY19kZXNjcmlwdG9yLT5wcm9wcyAmIEFWX0NPREVDX1BST1BfSU5UUkFf T05MWSkgewotICAgICAgICBwLT5pbnRyYV9vbmx5X2ZsYWcgPSBBVl9GUkFNRV9GTEFHX0tFWTsK LSAgICAgICAgaWYgKGF2Y3R4LT5jb2RlY190eXBlID09IEFWTUVESUFfVFlQRV9WSURFTykKLSAg ICAgICAgICAgIHAtPmluaXRpYWxfcGljdF90eXBlID0gQVZfUElDVFVSRV9UWVBFX0k7Ci0gICAg fQotCiAgICAgYXRvbWljX2luaXQoJnAtPnN0YXRlLCBTVEFURV9JTlBVVF9SRUFEWSk7CiAKICAg ICBjb3B5ID0gYXZfbWVtZHVwKGF2Y3R4LCBzaXplb2YoKmF2Y3R4KSk7Ci0tIAoyLjQ5LjEKCgpG cm9tIGEzMzdlOGY4NmE5YzJjOTc0MGRhNmE5OTYwYTVjYjg1NWMxMDljNmIgTW9uIFNlcCAxNyAw MDowMDowMCAyMDAxCkZyb206IEJyYWQgU21pdGggPGJyYWRAY29tc3R5bGUuY29tPgpEYXRlOiBT YXQsIDIwIFNlcCAyMDI1IDIzOjA2OjA4IC0wNDAwClN1YmplY3Q6IFtQQVRDSCAzOTAvNDM0XSBs aWJhdnV0aWwvYXJtOiBNYWtlIHVzZSBvZiBlbGZfYXV4X2luZm8oKSBvbgogRnJlZUJTRC9PcGVu QlNECgotIEZyZUJTRC9PcGVuQlNEIGhhdmUgZWxmX2F1eF9pbmZvKCkgb24gYXJtCi0gV3JhcCBB VF9IV0NBUCBhcyB0aGUgdmFsdWUgaXMgZGlmZmVyZW50IGZvciBCU0QgdnMgTGludXggKDE2IHZz IDI1KQoKKGNoZXJyeSBwaWNrZWQgZnJvbSBjb21taXQgY2RhZTVjMzYzOWY0YWRjZDI4OWU2NDNh MjAzZDQzZDRlMDFkODdmNSkKU2lnbmVkLW9mZi1ieTogQnJhZCBTbWl0aCA8YnJhZEBjb21zdHls ZS5jb20+Ci0tLQogbGliYXZ1dGlsL2FybS9jcHUuYyB8IDEyICsrKysrKysrKy0tLQogMSBmaWxl IGNoYW5nZWQsIDkgaW5zZXJ0aW9ucygrKSwgMyBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9s aWJhdnV0aWwvYXJtL2NwdS5jIGIvbGliYXZ1dGlsL2FybS9jcHUuYwppbmRleCBiODQ4ODIwMDVh Li44ZWMyODE0M2Q3IDEwMDY0NAotLS0gYS9saWJhdnV0aWwvYXJtL2NwdS5jCisrKyBiL2xpYmF2 dXRpbC9hcm0vY3B1LmMKQEAgLTMxLDE4ICszMSwyMCBAQAogICAgICBDT1JFX0ZMQUcoVkZQVjMp ICAgfCAgICAgICAgICAgICAgICAgICAgICAgXAogICAgICBDT1JFX0ZMQUcoTkVPTikpCiAKLSNp ZiBkZWZpbmVkIF9fbGludXhfXyB8fCBkZWZpbmVkIF9fQU5EUk9JRF9fCisjaWYgZGVmaW5lZCBf X2xpbnV4X18gfHwgZGVmaW5lZCBfX0FORFJPSURfXyB8fCBIQVZFX0VMRl9BVVhfSU5GTwogCiAj aW5jbHVkZSA8c3RkaW50Lmg+CiAjaW5jbHVkZSA8c3RkaW8uaD4KICNpbmNsdWRlIDxzdHJpbmcu aD4KICNpbmNsdWRlICJsaWJhdnV0aWwvYXZzdHJpbmcuaCIKIAotI2lmIEhBVkVfR0VUQVVYVkFM CisjaWYgSEFWRV9HRVRBVVhWQUwgfHwgSEFWRV9FTEZfQVVYX0lORk8KICNpbmNsdWRlIDxzeXMv YXV4di5oPgogI2VuZGlmCiAKKyNpZm5kZWYgQVRfSFdDQVAKICNkZWZpbmUgQVRfSFdDQVAgICAg ICAgIDE2CisjZW5kaWYKIAogLyogUmVsZXZhbnQgSFdDQVAgdmFsdWVzIGZyb20ga2VybmVsIGhl YWRlcnMgKi8KICNkZWZpbmUgSFdDQVBfVkZQICAgICAgICgxIDw8IDYpCkBAIC01NCw3ICs1Niw3 IEBACiAKIHN0YXRpYyBpbnQgZ2V0X2F1eHZhbCh1aW50MzJfdCAqaHdjYXApCiB7Ci0jaWYgSEFW RV9HRVRBVVhWQUwKKyNpZiBIQVZFX0dFVEFVWFZBTCB8fCBIQVZFX0VMRl9BVVhfSU5GTwogICAg IHVuc2lnbmVkIGxvbmcgcmV0ID0gZmZfZ2V0YXV4dmFsKEFUX0hXQ0FQKTsKICAgICBpZiAocmV0 ID09IDApCiAgICAgICAgIHJldHVybiAtMTsKQEAgLTY1LDYgKzY3LDcgQEAgc3RhdGljIGludCBn ZXRfYXV4dmFsKHVpbnQzMl90ICpod2NhcCkKICNlbmRpZgogfQogCisjaWYgZGVmaW5lZCBfX2xp bnV4X18gfHwgZGVmaW5lZCBfX0FORFJPSURfXwogc3RhdGljIGludCBnZXRfaHdjYXAodWludDMy X3QgKmh3Y2FwKQogewogICAgIHN0cnVjdCB7IHVpbnQzMl90IGFfdHlwZTsgdWludDMyX3QgYV92 YWw7IH0gYXV4djsKQEAgLTExNyw2ICsxMjAsNyBAQCBzdGF0aWMgaW50IGdldF9jcHVpbmZvKHVp bnQzMl90ICpod2NhcCkKICAgICBmY2xvc2UoZik7CiAgICAgcmV0dXJuIDA7CiB9CisjZW5kaWYK IAogaW50IGZmX2dldF9jcHVfZmxhZ3NfYXJtKHZvaWQpCiB7CkBAIC0xMjQsOCArMTI4LDEwIEBA IGludCBmZl9nZXRfY3B1X2ZsYWdzX2FybSh2b2lkKQogICAgIHVpbnQzMl90IGh3Y2FwOwogCiAg ICAgaWYgKGdldF9hdXh2YWwoJmh3Y2FwKSA8IDApCisjaWYgZGVmaW5lZCBfX2xpbnV4X18gfHwg ZGVmaW5lZCBfX0FORFJPSURfXwogICAgICAgICBpZiAoZ2V0X2h3Y2FwKCZod2NhcCkgPCAwKQog ICAgICAgICAgICAgaWYgKGdldF9jcHVpbmZvKCZod2NhcCkgPCAwKQorI2VuZGlmCiAgICAgICAg ICAgICAgICAgcmV0dXJuIGZsYWdzOwogCiAjZGVmaW5lIGNoZWNrX2NhcChjYXAsIGZsYWcpIGRv IHsgICAgICAgICAgICAgICBcCi0tIAoyLjQ5LjEKCgpGcm9tIDgzMjBlNmI0MTU1ZDQ0ODhlM2Vk MjY2NWEwNWQyYjJmMzg5ZmEyMGQgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCkZyb206IEJyYWQg U21pdGggPGJyYWRAY29tc3R5bGUuY29tPgpEYXRlOiBNb24sIDIyIFNlcCAyMDI1IDA3OjI4OjIx IC0wNDAwClN1YmplY3Q6IFtQQVRDSCAzOTEvNDM0XSBsaWJhdnV0aWwvYXJtOiBSZW5hbWUgdGhl IEhXQ0FQIGRlZmluZXMKClJlbmFtZSB0aGUgSFdDQVAgZGVmaW5lcyB0byB1c2UgdGhlIHNhbWUg bmFtaW5nIHNjaGVtZSBhcyBBQXJjaDY0IGFuZCBQUEMuCgooY2hlcnJ5IHBpY2tlZCBmcm9tIGNv bW1pdCBjZWQ0YTZlYmM5ZTdjZDkyZDBjYTliOWZiOGY5ZDEwMTNkMjNjYmZhKQpTaWduZWQtb2Zm LWJ5OiBCcmFkIFNtaXRoIDxicmFkQGNvbXN0eWxlLmNvbT4KLS0tCiBsaWJhdnV0aWwvYXJtL2Nw dS5jIHwgMjggKysrKysrKysrKysrKystLS0tLS0tLS0tLS0tLQogMSBmaWxlIGNoYW5nZWQsIDE0 IGluc2VydGlvbnMoKyksIDE0IGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL2xpYmF2dXRpbC9h cm0vY3B1LmMgYi9saWJhdnV0aWwvYXJtL2NwdS5jCmluZGV4IDhlYzI4MTQzZDcuLjJlMjk3N2Vm YzkgMTAwNjQ0Ci0tLSBhL2xpYmF2dXRpbC9hcm0vY3B1LmMKKysrIGIvbGliYXZ1dGlsL2FybS9j cHUuYwpAQCAtNDcsMTIgKzQ3LDEyIEBACiAjZW5kaWYKIAogLyogUmVsZXZhbnQgSFdDQVAgdmFs dWVzIGZyb20ga2VybmVsIGhlYWRlcnMgKi8KLSNkZWZpbmUgSFdDQVBfVkZQICAgICAgICgxIDw8 IDYpCi0jZGVmaW5lIEhXQ0FQX0VEU1AgICAgICAoMSA8PCA3KQotI2RlZmluZSBIV0NBUF9USFVN QkVFICAgKDEgPDwgMTEpCi0jZGVmaW5lIEhXQ0FQX05FT04gICAgICAoMSA8PCAxMikKLSNkZWZp bmUgSFdDQVBfVkZQdjMgICAgICgxIDw8IDEzKQotI2RlZmluZSBIV0NBUF9UTFMgICAgICAgKDEg PDwgMTUpCisjZGVmaW5lIEhXQ0FQX0FSTV9WRlAgICAgICgxIDw8IDYpCisjZGVmaW5lIEhXQ0FQ X0FSTV9FRFNQICAgICgxIDw8IDcpCisjZGVmaW5lIEhXQ0FQX0FSTV9USFVNQkVFICgxIDw8IDEx KQorI2RlZmluZSBIV0NBUF9BUk1fTkVPTiAgICAoMSA8PCAxMikKKyNkZWZpbmUgSFdDQVBfQVJN X1ZGUHYzICAgKDEgPDwgMTMpCisjZGVmaW5lIEhXQ0FQX0FSTV9UTFMgICAgICgxIDw8IDE1KQog CiBzdGF0aWMgaW50IGdldF9hdXh2YWwodWludDMyX3QgKmh3Y2FwKQogewpAQCAtMTAxLDE5ICsx MDEsMTkgQEAgc3RhdGljIGludCBnZXRfY3B1aW5mbyh1aW50MzJfdCAqaHdjYXApCiAgICAgd2hp bGUgKGZnZXRzKGJ1Ziwgc2l6ZW9mKGJ1ZiksIGYpKSB7CiAgICAgICAgIGlmIChhdl9zdHJzdGFy dChidWYsICJGZWF0dXJlcyIsIE5VTEwpKSB7CiAgICAgICAgICAgICBpZiAoc3Ryc3RyKGJ1Ziwg IiBlZHNwICIpKQotICAgICAgICAgICAgICAgICpod2NhcCB8PSBIV0NBUF9FRFNQOworICAgICAg ICAgICAgICAgICpod2NhcCB8PSBIV0NBUF9BUk1fRURTUDsKICAgICAgICAgICAgIGlmIChzdHJz dHIoYnVmLCAiIHRscyAiKSkKLSAgICAgICAgICAgICAgICAqaHdjYXAgfD0gSFdDQVBfVExTOwor ICAgICAgICAgICAgICAgICpod2NhcCB8PSBIV0NBUF9BUk1fVExTOwogICAgICAgICAgICAgaWYg KHN0cnN0cihidWYsICIgdGh1bWJlZSAiKSkKLSAgICAgICAgICAgICAgICAqaHdjYXAgfD0gSFdD QVBfVEhVTUJFRTsKKyAgICAgICAgICAgICAgICAqaHdjYXAgfD0gSFdDQVBfQVJNX1RIVU1CRUU7 CiAgICAgICAgICAgICBpZiAoc3Ryc3RyKGJ1ZiwgIiB2ZnAgIikpCi0gICAgICAgICAgICAgICAg Kmh3Y2FwIHw9IEhXQ0FQX1ZGUDsKKyAgICAgICAgICAgICAgICAqaHdjYXAgfD0gSFdDQVBfQVJN X1ZGUDsKICAgICAgICAgICAgIGlmIChzdHJzdHIoYnVmLCAiIHZmcHYzICIpKQotICAgICAgICAg ICAgICAgICpod2NhcCB8PSBIV0NBUF9WRlB2MzsKKyAgICAgICAgICAgICAgICAqaHdjYXAgfD0g SFdDQVBfQVJNX1ZGUHYzOwogICAgICAgICAgICAgaWYgKHN0cnN0cihidWYsICIgbmVvbiAiKSB8 fCBzdHJzdHIoYnVmLCAiIGFzaW1kICIpKQotICAgICAgICAgICAgICAgICpod2NhcCB8PSBIV0NB UF9ORU9OOworICAgICAgICAgICAgICAgICpod2NhcCB8PSBIV0NBUF9BUk1fTkVPTjsKICAgICAg ICAgICAgIGlmIChzdHJzdHIoYnVmLCAiIGZwICIpKSAvLyBMaXN0ZWQgb24gNjQgYml0IEFSTXY4 IGtlcm5lbHMKLSAgICAgICAgICAgICAgICAqaHdjYXAgfD0gSFdDQVBfVkZQIHwgSFdDQVBfVkZQ djM7CisgICAgICAgICAgICAgICAgKmh3Y2FwIHw9IEhXQ0FQX0FSTV9WRlAgfCBIV0NBUF9BUk1f VkZQdjM7CiAgICAgICAgICAgICBicmVhazsKICAgICAgICAgfQogICAgIH0KQEAgLTEzNSw3ICsx MzUsNyBAQCBpbnQgZmZfZ2V0X2NwdV9mbGFnc19hcm0odm9pZCkKICAgICAgICAgICAgICAgICBy ZXR1cm4gZmxhZ3M7CiAKICNkZWZpbmUgY2hlY2tfY2FwKGNhcCwgZmxhZykgZG8geyAgICAgICAg ICAgICAgIFwKLSAgICAgICAgaWYgKGh3Y2FwICYgSFdDQVBfICMjIGNhcCkgICAgICAgICAgICAg IFwKKyAgICAgICAgaWYgKGh3Y2FwICYgSFdDQVBfQVJNXyAjIyBjYXApICAgICAgICAgIFwKICAg ICAgICAgICAgIGZsYWdzIHw9IEFWX0NQVV9GTEFHXyAjIyBmbGFnOyAgICAgIFwKICAgICB9IHdo aWxlICgwKQogCi0tIAoyLjQ5LjEKCgpGcm9tIDhmNzc2OTVlNjVhNjljODAwOTgwNGU5ZDQ1Nzc2 MmQyZDM5NDQwM2QgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCkZyb206IFNlYW4gTWNHb3Zlcm4g PGdzZWFubWNnQGdtYWlsLmNvbT4KRGF0ZTogVGh1LCAxNiBKYW4gMjAyNSAxNjozMDo1MiAtMDUw MApTdWJqZWN0OiBbUEFUQ0ggMzkyLzQzNF0gYXZjb2RlYy9zdnExZW5jOiByZXN0cmljdCBBbHRp dmVjIGFjY2VsZXJhdGlvbiB0bwogYmlnLWVuZGlhbiBQT1dFUiBjb25maWd1cmF0aW9ucwoKVGhp cyB3YXMgZGlzYWJsZWQgaW4gZGE2MGI5OWE4ODU3ZDVjYTIzNmYzMmMxNzk5YTA2NmUwMTM1YTg2 NiBhbmQgdGhlbgphY2NpZGVudGFsbHkgcmUtZW5hYmxlZCBpbiAxNzJiMGUyZTg4ODMyODIyNjMy ODQxZThlMGQzNzk0Zjk3NGNiYzkzLgoKVGhlIGNvZGUgaW4gcXVlc3Rpb24gd2FzIG5ldmVyIHBy b3Blcmx5IGFkYXB0ZWQgZm9yIGxpdHRlLWVuZGlhbiBtb2RlLgoKcmVmczogdHJhYy8xMDk1NQpT aWduZWQtb2ZmLWJ5OiBNaWNoYWVsIE5pZWRlcm1heWVyIDxtaWNoYWVsQG5pZWRlcm1heWVyLmNj PgooY2hlcnJ5IHBpY2tlZCBmcm9tIGNvbW1pdCA0MzIyYmU1MTJiMmJkNmM3ZDhlZTYxYTJiMDIz MDU0NmYzMTA3YmUwKQotLS0KIGxpYmF2Y29kZWMvcHBjL3N2cTFlbmNfYWx0aXZlYy5jIHwgOCAr KysrLS0tLQogMSBmaWxlIGNoYW5nZWQsIDQgaW5zZXJ0aW9ucygrKSwgNCBkZWxldGlvbnMoLSkK CmRpZmYgLS1naXQgYS9saWJhdmNvZGVjL3BwYy9zdnExZW5jX2FsdGl2ZWMuYyBiL2xpYmF2Y29k ZWMvcHBjL3N2cTFlbmNfYWx0aXZlYy5jCmluZGV4IDU3MjFiZWRlMzQuLjc4Yzc5YTY4ZGMgMTAw NjQ0Ci0tLSBhL2xpYmF2Y29kZWMvcHBjL3N2cTFlbmNfYWx0aXZlYy5jCisrKyBiL2xpYmF2Y29k ZWMvcHBjL3N2cTFlbmNfYWx0aXZlYy5jCkBAIC0yOSw3ICsyOSw3IEBACiAKICNpbmNsdWRlICJs aWJhdmNvZGVjL3N2cTFlbmNkc3AuaCIKIAotI2lmIEhBVkVfQUxUSVZFQworI2lmIEhBVkVfQUxU SVZFQyAmJiBIQVZFX0JJR0VORElBTgogc3RhdGljIGludCBzc2RfaW50OF92c19pbnQxNl9hbHRp dmVjKGNvbnN0IGludDhfdCAqcGl4MSwgY29uc3QgaW50MTZfdCAqcGl4MiwKICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICBpbnRwdHJfdCBzaXplKQogewpAQCAtNjksMTQgKzY5 LDE0IEBAIHN0YXRpYyBpbnQgc3NkX2ludDhfdnNfaW50MTZfYWx0aXZlYyhjb25zdCBpbnQ4X3Qg KnBpeDEsIGNvbnN0IGludDE2X3QgKnBpeDIsCiAKICAgICByZXR1cm4gdS5zY29yZVszXTsKIH0K LSNlbmRpZiAvKiBIQVZFX0FMVElWRUMgKi8KKyNlbmRpZiAvKiBIQVZFX0FMVElWRUMgJiYgSEFW RV9CSUdFTkRJQU4gKi8KIAogYXZfY29sZCB2b2lkIGZmX3N2cTFlbmNfaW5pdF9wcGMoU1ZRMUVu Y0RTUENvbnRleHQgKmMpCiB7Ci0jaWYgSEFWRV9BTFRJVkVDCisjaWYgSEFWRV9BTFRJVkVDICYm IEhBVkVfQklHRU5ESUFOCiAgICAgaWYgKCFQUENfQUxUSVZFQyhhdl9nZXRfY3B1X2ZsYWdzKCkp KQogICAgICAgICByZXR1cm47CiAKICAgICBjLT5zc2RfaW50OF92c19pbnQxNiA9IHNzZF9pbnQ4 X3ZzX2ludDE2X2FsdGl2ZWM7Ci0jZW5kaWYgLyogSEFWRV9BTFRJVkVDICovCisjZW5kaWYgLyog SEFWRV9BTFRJVkVDICYmIEhBVkVfQklHRU5ESUFOICovCiB9Ci0tIAoyLjQ5LjEKCgpGcm9tIGJk NDE5MWE1NjcwNTYzYzEwNjJhN2IzNTcwNThjYmE1ZjcyNmFiYzYgTW9uIFNlcCAxNyAwMDowMDow MCAyMDAxCkZyb206IEphbWVzIEFsbWVyIDxqYW1yaWFsQGdtYWlsLmNvbT4KRGF0ZTogTW9uLCAy NyBPY3QgMjAyNSAxNjoxODoxNyAtMDMwMApTdWJqZWN0OiBbUEFUQ0ggMzkzLzQzNF0gYXZmb3Jt YXQvZGVtdXg6IHBhc3MgbmV3IGV4dHJhZGF0YSB0byB0aGUgcGFyc2VyCgpUaGUgcGFyc2VyIEFQ SSBkb2Vzbid0IHdvcmsgd2l0aCBwYWNrZXRzLCBvbmx5IHJhdyBkYXRhLCBzbyBpbiBvcmRlciBm b3IgaXQgdG8KYmUgbWFkZSBhd2FyZSBvZiBuZXcgZXh0cmFkYXRhIHByb3BhZ2F0ZWQgdGhyb3Vn aCBwYWNrZXQgc2lkZSBkYXRhIHdlIG5lZWQgdG8KcGFzcyBpdCBpbiBzb21lIG90aGVyIGZvcm0s IG5hbWVseSwgcmVwbGFjaW5nIHRoZSBtYWluIGV4dHJhZGF0YSBhbmQgZW5zdXJpbmcKaXQgd2ls bCBiZSBwYXJzZWQgYnkgcmVzdGFydGluZyB0aGUgcGFyc2VyLgoKU2lnbmVkLW9mZi1ieTogSmFt ZXMgQWxtZXIgPGphbXJpYWxAZ21haWwuY29tPgotLS0KIGxpYmF2Zm9ybWF0L2RlbXV4LmMgfCAy OCArKysrKysrKysrKysrKysrKysrKysrKysrKy0tCiAxIGZpbGUgY2hhbmdlZCwgMjYgaW5zZXJ0 aW9ucygrKSwgMiBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9saWJhdmZvcm1hdC9kZW11eC5j IGIvbGliYXZmb3JtYXQvZGVtdXguYwppbmRleCA0ZmQyMmM0OTM0Li4yNzk2MjA5MjM5IDEwMDY0 NAotLS0gYS9saWJhdmZvcm1hdC9kZW11eC5jCisrKyBiL2xpYmF2Zm9ybWF0L2RlbXV4LmMKQEAg LTExNTksNyArMTE1OSwxMCBAQCBzdGF0aWMgaW50IHBhcnNlX3BhY2tldChBVkZvcm1hdENvbnRl eHQgKnMsIEFWUGFja2V0ICpwa3QsCiAgICAgQVZQYWNrZXQgKm91dF9wa3QgPSBzaS0+cGFyc2Vf cGt0OwogICAgIEFWU3RyZWFtICpzdCA9IHMtPnN0cmVhbXNbc3RyZWFtX2luZGV4XTsKICAgICBG RlN0cmVhbSAqY29uc3Qgc3RpID0gZmZzdHJlYW0oc3QpOworICAgIGNvbnN0IEFWUGFja2V0U2lk ZURhdGEgKnNkID0gTlVMTDsKICAgICBjb25zdCB1aW50OF90ICpkYXRhID0gcGt0LT5kYXRhOwor ICAgIHVpbnQ4X3QgKmV4dHJhZGF0YSA9IHN0aS0+YXZjdHgtPmV4dHJhZGF0YTsKKyAgICBpbnQg ZXh0cmFkYXRhX3NpemUgPSBzdGktPmF2Y3R4LT5leHRyYWRhdGFfc2l6ZTsKICAgICBpbnQgc2l6 ZSA9IHBrdC0+c2l6ZTsKICAgICBpbnQgcmV0ID0gMCwgZ290X291dHB1dCA9IGZsdXNoOwogCkBA IC0xMTY4LDYgKzExNzEsMTYgQEAgc3RhdGljIGludCBwYXJzZV9wYWNrZXQoQVZGb3JtYXRDb250 ZXh0ICpzLCBBVlBhY2tldCAqcGt0LAogICAgICAgICBjb21wdXRlX3BrdF9maWVsZHMocywgc3Qs IHN0aS0+cGFyc2VyLCBwa3QsIEFWX05PUFRTX1ZBTFVFLCBBVl9OT1BUU19WQUxVRSk7CiAgICAg fQogCisgICAgaWYgKHBrdC0+c2lkZV9kYXRhX2VsZW1zKQorICAgICAgICBzZCA9IGF2X3BhY2tl dF9zaWRlX2RhdGFfZ2V0KHBrdC0+c2lkZV9kYXRhLCBwa3QtPnNpZGVfZGF0YV9lbGVtcywKKyAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBBVl9QS1RfREFUQV9ORVdfRVhUUkFE QVRBKTsKKyAgICBpZiAoc2QpIHsKKyAgICAgICAgYXZfYXNzZXJ0MShzaXplICYmICFmbHVzaCk7 CisKKyAgICAgICAgc3RpLT5hdmN0eC0+ZXh0cmFkYXRhICAgICAgPSBzZC0+ZGF0YTsKKyAgICAg ICAgc3RpLT5hdmN0eC0+ZXh0cmFkYXRhX3NpemUgPSBzZC0+c2l6ZTsKKyAgICB9CisKICAgICB3 aGlsZSAoc2l6ZSA+IDAgfHwgKGZsdXNoICYmIGdvdF9vdXRwdXQpKSB7CiAgICAgICAgIGludDY0 X3QgbmV4dF9wdHMgPSBwa3QtPnB0czsKICAgICAgICAgaW50NjRfdCBuZXh0X2R0cyA9IHBrdC0+ ZHRzOwpAQCAtMTI2MSw2ICsxMjc0LDExIEBAIHN0YXRpYyBpbnQgcGFyc2VfcGFja2V0KEFWRm9y bWF0Q29udGV4dCAqcywgQVZQYWNrZXQgKnBrdCwKICAgICB9CiAKIGZhaWw6CisgICAgaWYgKHNk KSB7CisgICAgICAgIHN0aS0+YXZjdHgtPmV4dHJhZGF0YSAgICAgID0gZXh0cmFkYXRhOworICAg ICAgICBzdGktPmF2Y3R4LT5leHRyYWRhdGFfc2l6ZSA9IGV4dHJhZGF0YV9zaXplOworICAgIH0K KwogICAgIGlmIChyZXQgPCAwKQogICAgICAgICBhdl9wYWNrZXRfdW5yZWYob3V0X3BrdCk7CiAg ICAgYXZfcGFja2V0X3VucmVmKHBrdCk7CkBAIC0xMzUzLDYgKzEzNzEsMTEgQEAgc3RhdGljIGlu dCByZWFkX2ZyYW1lX2ludGVybmFsKEFWRm9ybWF0Q29udGV4dCAqcywgQVZQYWNrZXQgKnBrdCkK IAogICAgICAgICBzdC0+ZXZlbnRfZmxhZ3MgfD0gQVZTVFJFQU1fRVZFTlRfRkxBR19ORVdfUEFD S0VUUzsKIAorICAgICAgICBpbnQgbmV3X2V4dHJhZGF0YSA9ICEhYXZfcGFja2V0X3NpZGVfZGF0 YV9nZXQocGt0LT5zaWRlX2RhdGEsIHBrdC0+c2lkZV9kYXRhX2VsZW1zLAorICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQVZfUEtUX0RBVEFfTkVX X0VYVFJBREFUQSk7CisgICAgICAgIGlmIChuZXdfZXh0cmFkYXRhKQorICAgICAgICAgICAgc3Rp LT5uZWVkX2NvbnRleHRfdXBkYXRlID0gMTsKKwogICAgICAgICAvKiB1cGRhdGUgY29udGV4dCBp ZiByZXF1aXJlZCAqLwogICAgICAgICBpZiAoc3RpLT5uZWVkX2NvbnRleHRfdXBkYXRlKSB7CiAg ICAgICAgICAgICBpZiAoYXZjb2RlY19pc19vcGVuKHN0aS0+YXZjdHgpKSB7CkBAIC0xMzYzLDgg KzEzODYsOSBAQCBzdGF0aWMgaW50IHJlYWRfZnJhbWVfaW50ZXJuYWwoQVZGb3JtYXRDb250ZXh0 ICpzLCBBVlBhY2tldCAqcGt0KQogICAgICAgICAgICAgICAgICAgICByZXR1cm4gcmV0OwogICAg ICAgICAgICAgfQogCi0gICAgICAgICAgICAvKiBjbG9zZSBwYXJzZXIsIGJlY2F1c2UgaXQgZGVw ZW5kcyBvbiB0aGUgY29kZWMgKi8KLSAgICAgICAgICAgIGlmIChzdGktPnBhcnNlciAmJiBzdGkt PmF2Y3R4LT5jb2RlY19pZCAhPSBzdC0+Y29kZWNwYXItPmNvZGVjX2lkKSB7CisgICAgICAgICAg ICAvKiBjbG9zZSBwYXJzZXIsIGJlY2F1c2UgaXQgZGVwZW5kcyBvbiB0aGUgY29kZWMgYW5kIGV4 dHJhZGF0YSAqLworICAgICAgICAgICAgaWYgKHN0aS0+cGFyc2VyICYmCisgICAgICAgICAgICAg ICAgKHN0aS0+YXZjdHgtPmNvZGVjX2lkICE9IHN0LT5jb2RlY3Bhci0+Y29kZWNfaWQgfHwgbmV3 X2V4dHJhZGF0YSkpIHsKICAgICAgICAgICAgICAgICBhdl9wYXJzZXJfY2xvc2Uoc3RpLT5wYXJz ZXIpOwogICAgICAgICAgICAgICAgIHN0aS0+cGFyc2VyID0gTlVMTDsKICAgICAgICAgICAgIH0K LS0gCjIuNDkuMQoKCkZyb20gMjRjNDRjMzRkY2M3ZmI5OWYwNTcyODBjMzQ3YjdhNWY0YTVhZTE1 MCBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKRnJvbTogSmFtZXMgQWxtZXIgPGphbXJpYWxAZ21h aWwuY29tPgpEYXRlOiBNb24sIDI3IE9jdCAyMDI1IDExOjEzOjIwIC0wMzAwClN1YmplY3Q6IFtQ QVRDSCAzOTQvNDM0XSBhdmNvZGVjL21scGRlYzogZG9uJ3QgZGVwZW5kIG9uIGNvbnRleHQgY2hh bm5lbAogbGF5b3V0IHdoZW4gc2V0dGluZyBzdWJzdHJlYW0gbWFza3MKCklmIGF2Y3R4LT5jaF9s YXlvdXQgaXMgdW5zZXQgKGFzIGl0J3MgYWxsb3dlZCBhbmQgZXZlbiBleHBlY2VkIGJ5IHRoZQpB Vl9DT0RFQ19DQVBfQ0hBTk5FTF9DT05GIGZsYWcpLCB0aGUgY29kZSBzZXR0aW5nIHN1YnN0cmVh bSBtYXNrcyB3aWxsIGZhaWwgZm9yCnN0ZXJlbyBhbmQgbW9ubyBsYXlvdXRzIHVubGVzcyBhIGRv d25taXggY2hhbm5lbCB3YXMgcmVxdWVzdGVkLgpGaXggdGhpcyBieSBkZXJpdmluZyB0aGUgbWFz ayB3aXRoIGNvZGVkIHZhbHVlcyBvbmx5LgoKRml4ZXMgaXNzdWUgIzIwNzY0LgoKU2lnbmVkLW9m Zi1ieTogSmFtZXMgQWxtZXIgPGphbXJpYWxAZ21haWwuY29tPgooY2hlcnJ5IHBpY2tlZCBmcm9t IGNvbW1pdCA1MzBjYTYyN2EzMjVhMGY3Nzg1OWE2YTdkOGJhYTA1Mzk1NzY3ZDU2KQotLS0KIGxp YmF2Y29kZWMvbWxwZGVjLmMgfCAxOCArKysrKysrKy0tLS0tLS0tLS0KIDEgZmlsZSBjaGFuZ2Vk LCA4IGluc2VydGlvbnMoKyksIDEwIGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL2xpYmF2Y29k ZWMvbWxwZGVjLmMgYi9saWJhdmNvZGVjL21scGRlYy5jCmluZGV4IGU4NWRhYzM2YTcuLmU2OWU0 NDQyZDIgMTAwNjQ0Ci0tLSBhL2xpYmF2Y29kZWMvbWxwZGVjLmMKKysrIGIvbGliYXZjb2RlYy9t bHBkZWMuYwpAQCAtMzE4LDggKzMxOCwxMCBAQCBzdGF0aWMgYXZfY29sZCBpbnQgbWxwX2RlY29k ZV9pbml0KEFWQ29kZWNDb250ZXh0ICphdmN0eCkKICAgICAgICAgICAgIGF2X2NoYW5uZWxfbGF5 b3V0X3VuaW5pdCgmYXZjdHgtPmNoX2xheW91dCk7CiAgICAgICAgICAgICBhdmN0eC0+Y2hfbGF5 b3V0ID0gKEFWQ2hhbm5lbExheW91dClBVl9DSEFOTkVMX0xBWU9VVF81UE9JTlQxOwogICAgICAg ICB9Ci0gICAgICAgIGVsc2UKKyAgICAgICAgZWxzZSB7CiAgICAgICAgICAgYXZfbG9nKGF2Y3R4 LCBBVl9MT0dfV0FSTklORywgIkludmFsaWQgZG93bm1peCBsYXlvdXRcbiIpOworICAgICAgICAg ICAgYXZfY2hhbm5lbF9sYXlvdXRfdW5pbml0KCZtLT5kb3dubWl4X2xheW91dCk7CisgICAgICAg IH0KICAgICB9CiAKICAgICBmZl90aHJlYWRfb25jZSgmaW5pdF9zdGF0aWNfb25jZSwgaW5pdF9z dGF0aWMpOwpAQCAtNDUyLDI2ICs0NTQsMjIgQEAgc3RhdGljIGludCByZWFkX21ham9yX3N5bmMo TUxQRGVjb2RlQ29udGV4dCAqbSwgR2V0Qml0Q29udGV4dCAqZ2IpCiAgICAgICAgIH0KICAgICAg ICAgbS0+c3Vic3RyZWFtWzFdLm1hc2sgPSBtaC5jaGFubmVsX2xheW91dF90aGRfc3RyZWFtMTsK ICAgICAgICAgaWYgKG1oLmNoYW5uZWxzX3RoZF9zdHJlYW0xID09IDIgJiYKLSAgICAgICAgICAg IG1oLmNoYW5uZWxzX3RoZF9zdHJlYW0yID09IDIgJiYKLSAgICAgICAgICAgIG0tPmF2Y3R4LT5j aF9sYXlvdXQubmJfY2hhbm5lbHMgPT0gMikKKyAgICAgICAgICAgIG1oLmNoYW5uZWxzX3RoZF9z dHJlYW0yID09IDIpCiAgICAgICAgICAgICBtLT5zdWJzdHJlYW1bMF0ubWFzayA9IEFWX0NIX0xB WU9VVF9TVEVSRU87CiAgICAgICAgIGlmICgoc3Vic3RyID0gKG1oLm51bV9zdWJzdHJlYW1zID4g MSkpKQogICAgICAgICAgICAgbS0+c3Vic3RyZWFtWzBdLm1hc2sgPSBBVl9DSF9MQVlPVVRfU1RF UkVPOwogICAgICAgICBpZiAobWgubnVtX3N1YnN0cmVhbXMgPT0gMSAmJgogICAgICAgICAgICAg bWguY2hhbm5lbHNfdGhkX3N0cmVhbTEgPT0gMSAmJgotICAgICAgICAgICAgbWguY2hhbm5lbHNf dGhkX3N0cmVhbTIgPT0gMSAmJgotICAgICAgICAgICAgbS0+YXZjdHgtPmNoX2xheW91dC5uYl9j aGFubmVscyA9PSAxKQorICAgICAgICAgICAgbWguY2hhbm5lbHNfdGhkX3N0cmVhbTIgPT0gMSkK ICAgICAgICAgICAgIG0tPnN1YnN0cmVhbVswXS5tYXNrID0gQVZfQ0hfTEFZT1VUX01PTk87CiAg ICAgICAgIGlmIChtaC5udW1fc3Vic3RyZWFtcyA+IDIpCiAgICAgICAgICAgICBpZiAobWguY2hh bm5lbF9sYXlvdXRfdGhkX3N0cmVhbTIpCiAgICAgICAgICAgICAgICAgbS0+c3Vic3RyZWFtWzJd Lm1hc2sgPSBtaC5jaGFubmVsX2xheW91dF90aGRfc3RyZWFtMjsKICAgICAgICAgICAgIGVsc2UK ICAgICAgICAgICAgICAgICBtLT5zdWJzdHJlYW1bMl0ubWFzayA9IG1oLmNoYW5uZWxfbGF5b3V0 X3RoZF9zdHJlYW0xOwotICAgICAgICBpZiAobS0+YXZjdHgtPmNoX2xheW91dC5uYl9jaGFubmVs cyA+IDIpCi0gICAgICAgICAgICBpZiAobWgubnVtX3N1YnN0cmVhbXMgPiAyKQotICAgICAgICAg ICAgICAgIG0tPnN1YnN0cmVhbVsxXS5tYXNrID0gbWguY2hhbm5lbF9sYXlvdXRfdGhkX3N0cmVh bTE7Ci0gICAgICAgICAgICBlbHNlCi0gICAgICAgICAgICAgICAgbS0+c3Vic3RyZWFtW21oLm51 bV9zdWJzdHJlYW1zID4gMV0ubWFzayA9IG1oLmNoYW5uZWxfbGF5b3V0X3RoZF9zdHJlYW0yOwor ICAgICAgICBpZiAobWgubnVtX3N1YnN0cmVhbXMgPT0gMiAmJiAoIW0tPmRvd25taXhfbGF5b3V0 Lm5iX2NoYW5uZWxzIHx8CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg bS0+ZG93bm1peF9sYXlvdXQubmJfY2hhbm5lbHMgPiAyKSkKKyAgICAgICAgICAgIG0tPnN1YnN0 cmVhbVsxXS5tYXNrID0gbWguY2hhbm5lbF9sYXlvdXRfdGhkX3N0cmVhbTI7CiAgICAgfQogCiAg ICAgbS0+bmVlZHNfcmVvcmRlcmluZyA9IG1oLmNoYW5uZWxfYXJyYW5nZW1lbnQgPj0gMTggJiYg bWguY2hhbm5lbF9hcnJhbmdlbWVudCA8PSAyMDsKLS0gCjIuNDkuMQoKCkZyb20gYmNlZjkxNjcy Njg5NjFiZDZjYmIyMTQyNzhmOWNkZWYzODM3ODQzZiBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEK RnJvbTogQmluIFBlbmcgPHBlbmdiaW5AdmlzaW9udWxhci5jb20+CkRhdGU6IEZyaSwgMjQgT2N0 IDIwMjUgMTU6NTg6MDggKzA4MDAKU3ViamVjdDogW1BBVENIIDM5NS80MzRdIGxhdmMvYWFyY2g2 NDogRml4IGFkZHAgb3ZlcmZsb3cgaW4KIGZmX3ByZWQxNngxNl9wbGFuZV9uZW9uXzEwCgpUaGUg bWlzbWF0Y2ggYmV0d2VlbiBuZW9uIGFuZCBDIGZ1bmN0aW9ucyBjYW4gYmUgcmVwcm9kdWNlZAp1 c2luZyB0aGUgZm9sbG93aW5nIGJpdHN0cmVhbSBhbmQgY29tbWFuZCBsaW5lIG9uIGFhcmNoNjQg ZGV2aWNlcy4KCndnZXQgaHR0cHM6Ly9zdHJlYW1zLnZpZGVvbGFuLm9yZy9mZm1wZWcvaW5jb21p bmcvcmVwbGF5X2ludHJhX3ByZWRfMTZ4MTYuaDI2NAogLi9mZm1wZWcgLWNwdWZsYWdzIDAgIC10 aHJlYWRzIDEgLWkgcmVwbGF5X2ludHJhX3ByZWRfMTZ4MTYuaDI2NCAgLWYgZnJhbWVtZDUgLXkg bWQ1X3JlZgogLi9mZm1wZWcgICAgICAgICAgICAgIC10aHJlYWRzIDEgLWkgcmVwbGF5X2ludHJh X3ByZWRfMTZ4MTYuaDI2NCAtZiBmcmFtZW1kNSAteSBtZDVfbmVvbgoKU2lnbmVkLW9mZi1ieTog QmluIFBlbmcgPHBlbmdiaW5AdmlzaW9udWxhci5jb20+CihjaGVycnkgcGlja2VkIGZyb20gY29t bWl0IDMxMTVjMGMwZTZjMjdjNjg5YTAyYTcyNjdkY2Y4ZTYxZmEyYWM0MjUpCi0tLQogbGliYXZj b2RlYy9hYXJjaDY0L2gyNjRwcmVkX25lb24uUyB8IDEzICsrKysrKy0tLS0tLS0KIDEgZmlsZSBj aGFuZ2VkLCA2IGluc2VydGlvbnMoKyksIDcgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvbGli YXZjb2RlYy9hYXJjaDY0L2gyNjRwcmVkX25lb24uUyBiL2xpYmF2Y29kZWMvYWFyY2g2NC9oMjY0 cHJlZF9uZW9uLlMKaW5kZXggZDA5OTk5MzhlZi4uNzk1ZDJjZTU0MCAxMDA2NDQKLS0tIGEvbGli YXZjb2RlYy9hYXJjaDY0L2gyNjRwcmVkX25lb24uUworKysgYi9saWJhdmNvZGVjL2FhcmNoNjQv aDI2NHByZWRfbmVvbi5TCkBAIC00ODksMTAgKzQ4OSwxMCBAQCBmdW5jdGlvbiBmZl9wcmVkMTZ4 MTZfcGxhbmVfbmVvbl8xMCwgZXhwb3J0PTEKICAgICAgICAgbXVsICAgICAgICAgICAgIHYyLjho LCAgdjIuOGgsICB2MC44aAogICAgICAgICBtdWwgICAgICAgICAgICAgdjMuOGgsICB2My44aCwg IHYwLjhoCiAgICAgICAgIGFkZHAgICAgICAgICAgICB2Mi44aCwgIHYyLjhoLCAgdjMuOGgKLSAg ICAgICAgYWRkcCAgICAgICAgICAgIHYyLjhoLCAgdjIuOGgsICB2Mi44aAotICAgICAgICBhZGRw ICAgICAgICAgICAgdjIuNGgsICB2Mi40aCwgIHYyLjRoCi0gICAgICAgIHNzaGxsICAgICAgICAg ICB2My40cywgIHYyLjRoLCAgIzIKLSAgICAgICAgc2FkZHcgICAgICAgICAgIHYyLjRzLCAgdjMu NHMsICB2Mi40aAorICAgICAgICBzYWRkbHAgICAgICAgICAgdjIuNHMsICB2Mi44aAorICAgICAg ICBhZGRwICAgICAgICAgICAgdjIuNHMsICB2Mi40cywgIHYyLjRzCisgICAgICAgIHNobCAgICAg ICAgICAgICB2My40cywgIHYyLjRzLCAgIzIKKyAgICAgICAgYWRkICAgICAgICAgICAgIHYyLjRz LCAgdjMuNHMsICB2Mi40cwogICAgICAgICByc2hybiAgICAgICAgICAgdjQuNGgsICB2Mi40cywg ICM2CiAgICAgICAgIHRybjIgICAgICAgICAgICB2NS40aCwgIHY0LjRoLCAgdjQuNGgKICAgICAg ICAgYWRkICAgICAgICAgICAgIHYyLjRoLCAgdjQuNGgsICB2NS40aApAQCAtNTA2LDE0ICs1MDYs MTMgQEAgZnVuY3Rpb24gZmZfcHJlZDE2eDE2X3BsYW5lX25lb25fMTAsIGV4cG9ydD0xCiAgICAg ICAgIHN4dGwgICAgICAgICAgICB2Ni40cywgIHY1LjRoICAgICAgICAgIC8vIGMKIAogICAgICAg ICBtb3YgICAgICAgICAgICAgdjAuaFswXSwgIHd6cgotICAgICAgICBtdWwgICAgICAgICAgICAg djAuOGgsICB2MC44aCwgIHY0LmhbMF0KICAgICAgICAgZHVwICAgICAgICAgICAgIHYxNi40cywg djIuc1swXQogICAgICAgICBkdXAgICAgICAgICAgICAgdjE3LjRzLCB2Mi5zWzBdCiAgICAgICAg IGR1cCAgICAgICAgICAgICB2Mi44aCwgIHY0LmhbMF0gICAgICAgIC8vIGIKICAgICAgICAgZHVw ICAgICAgICAgICAgIHYzLjRzLCAgdjYuc1swXSAgICAgICAgLy8gYwogICAgICAgICBzc2hsbCAg ICAgICAgICAgdjIuNHMsICB2Mi40aCwgICMzICAgICAvLyBiICogOAotICAgICAgICBzYWRkdyAg ICAgICAgICAgdjE2LjRzLCB2MTYuNHMsIHYwLjRoCi0gICAgICAgIHNhZGR3MiAgICAgICAgICB2 MTcuNHMsIHYxNy40cywgdjAuOGgKKyAgICAgICAgc21sYWwgICAgICAgICAgIHYxNi40cywgdjAu NGgsIHY0LmhbMF0KKyAgICAgICAgc21sYWwyICAgICAgICAgIHYxNy40cywgdjAuOGgsIHY0Lmhb MF0KICAgICAgICAgc3ViICAgICAgICAgICAgIHYzLjRzLCAgdjMuNHMsICB2Mi40cwogCiAgICAg ICAgIG1vdiAgICAgICAgICAgICB3MywgICAgICAjMTYKLS0gCjIuNDkuMQoKCkZyb20gNTQxOGZi YjdmNDRhN2I2M2FlYzVlYTc2OGM2MDY5MDQ1MDc4ZDVmZCBNb24gU2VwIDE3IDAwOjAwOjAwIDIw MDEKRnJvbTogTmlrbGFzIEhhYXMgPGdpdEBoYWFzbi5kZXY+CkRhdGU6IFNhdCwgMjcgU2VwIDIw MjUgMjA6MDI6MDcgKzAyMDAKU3ViamVjdDogW1BBVENIIDM5Ni80MzRdIGZmdG9vbHMvZmZtcGVn X3NjaGVkOiBwcmV2ZW50IGRlbXV4ZXJzIGZyb20gZ2V0dGluZwogc3R1Y2sKCldoZW4gdGhlIGZ1 cnRoZXN0LWJlaGluZCBzdHJlYW0gaXMgYmVpbmcgZmVkIGJ5IGEgZGVtdXhlciB0aGF0IGlzIGFs c28KZmVlZGluZyBwYWNrZXRzIHRvIGEgY2hva2VkIGZpbHRlciBncmFwaCwgd2UgbmVlZCB0byB1 bmNob2tlIHRoYXQgZmlsdGVyCmdyYXBoIHRvIHByZXZlbnQgdGhlIGRlbXV4ZXIgZnJvbSBnZXR0 aW5nIHN0dWNrIHRyeWluZyB0byB3cml0ZSBwYWNrZXRzIHRvCnRoZSBjaG9rZWQgZmlsdGVyIGdy YXBoLgoKVGhpcyBzaXR1YXRpb24gY2FuIGFsc28gYXBwbHkgcmVjdXJzaXZlbHkgLSBpZiB0aGUg ZGVtdXhlciBpcyBhbHNvIHdyaXRpbmcKdG8gYSBmaWx0ZXJncmFwaCB0aGF0IGlzIGFsc28gcmVh ZGluZyBmcm9tIGEgY2hva2VkIGRlbXV4ZXIsIHRoZXJlIGlzIGEKc2ltaWxhciBkZWFkbG9jay4K ClNvbHZlIGFsbCBzdWNoIGRlYWRsb2NrcyBieSBqdXN0IGJydXRlLWZvcmNlIHJlY3Vyc2l2ZWx5 IHVuY2hva2luZyBhbGwKbm9kZXMgdGhhdCBjYW4gc29tZWhvdyBwcmV2ZW50IHRoaXMgZGVtdXhl ciBmcm9tIHdyaXRpbmcgcGFja2V0cy4gVGhpcwpzaG91bGQgbm9ybWFsbHkgbm90IHJlc3VsdCBp biBhbnkgY2hhbmdlIGluIGJlaGF2aW9yLCB1bmxlc3MgYXVkaW8vdmlkZW8Kc3RyZWFtcyBhcmUg YmFkbHkgZGVzeW5jaHJvbml6ZWQsIGluIHdoaWNoIGNhc2UgaXQgbWF5IHJlc3VsdCBpbiBleHRy YQptZW1vcnkgdXNhZ2UgZnJvbSB0aGUgdG9vLWZhci1haGVhZCBzdHJlYW0gYnVmZmVyaW5nIHBh Y2tldHMgaW5zaWRlIHRoZQptdXhlci4gKEJ1dCB0aGlzIGlzLCBvZiBjb3Vyc2UsIHByZWZlcmFi bGUgdG8gYSBkZWFkbG9jaykKCkZpeGVzOiBodHRwczovL2NvZGUuZmZtcGVnLm9yZy9GRm1wZWcv RkZtcGVnL2lzc3Vlcy8yMDYxMQpCYWNrcG9ydGVkLUZyb206IDEzM2EwYmNiMTM4NWYzMjE0ZTUw MTk3MGYwY2VkNTJkY2RlOTA2Y2IKLS0tCiBmZnRvb2xzL2ZmbXBlZ19zY2hlZC5jIHwgNDYgKysr KysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKystCiAxIGZpbGUgY2hhbmdlZCwg NDUgaW5zZXJ0aW9ucygrKSwgMSBkZWxldGlvbigtKQoKZGlmZiAtLWdpdCBhL2ZmdG9vbHMvZmZt cGVnX3NjaGVkLmMgYi9mZnRvb2xzL2ZmbXBlZ19zY2hlZC5jCmluZGV4IGVmMGI2ZTI4OTcuLjZi MzM4NDA5YTAgMTAwNjQ0Ci0tLSBhL2ZmdG9vbHMvZmZtcGVnX3NjaGVkLmMKKysrIGIvZmZ0b29s cy9mZm1wZWdfc2NoZWQuYwpAQCAtMTI0Miw2ICsxMjQyLDQ1IEBAIGludCBzY2hfbXV4X3N1Yl9o ZWFydGJlYXRfYWRkKFNjaGVkdWxlciAqc2NoLCB1bnNpZ25lZCBtdXhfaWR4LCB1bnNpZ25lZCBz dHJlYW1fCiAgICAgcmV0dXJuIDA7CiB9CiAKK3N0YXRpYyB2b2lkIHVuY2hva2VfZm9yX3N0cmVh bShTY2hlZHVsZXIgKnNjaCwgU2NoZWR1bGVyTm9kZSBzcmMpOworCisvLyBVbmNob2tlIGFueSBm aWx0ZXIgZ3JhcGhzIHRoYXQgYXJlIGRvd25zdHJlYW0gb2YgdGhpcyBub2RlLCB0byBwcmV2ZW50 IGl0CisvLyBmcm9tIGdldHRpbmcgc3R1Y2sgdHJ5aW5nIHRvIHB1c2ggZGF0YSB0byBhIGZ1bGwg cXVldWUKK3N0YXRpYyB2b2lkIHVuY2hva2VfZG93bnN0cmVhbShTY2hlZHVsZXIgKnNjaCwgU2No ZWR1bGVyTm9kZSAqZHN0KQoreworICAgIFNjaEZpbHRlckdyYXBoICpmZzsKKyAgICBTY2hEZWMg KmRlYzsKKyAgICBTY2hFbmMgKmVuYzsKKyAgICBzd2l0Y2ggKGRzdC0+dHlwZSkgeworICAgIGNh c2UgU0NIX05PREVfVFlQRV9ERUM6CisgICAgICAgIGRlYyA9ICZzY2gtPmRlY1tkc3QtPmlkeF07 CisgICAgICAgIGZvciAoaW50IGkgPSAwOyBpIDwgZGVjLT5uYl9vdXRwdXRzOyBpKyspCisgICAg ICAgICAgICB1bmNob2tlX2Rvd25zdHJlYW0oc2NoLCBkZWMtPm91dHB1dHNbaV0uZHN0KTsKKyAg ICAgICAgYnJlYWs7CisgICAgY2FzZSBTQ0hfTk9ERV9UWVBFX0VOQzoKKyAgICAgICAgZW5jID0g JnNjaC0+ZW5jW2RzdC0+aWR4XTsKKyAgICAgICAgZm9yIChpbnQgaSA9IDA7IGkgPCBlbmMtPm5i X2RzdDsgaSsrKQorICAgICAgICAgICAgdW5jaG9rZV9kb3duc3RyZWFtKHNjaCwgJmVuYy0+ZHN0 W2ldKTsKKyAgICAgICAgYnJlYWs7CisgICAgY2FzZSBTQ0hfTk9ERV9UWVBFX01VWDoKKyAgICAg ICAgLy8gbXV4ZXJzIGFyZSBuZXZlciBjaG9rZWQKKyAgICAgICAgYnJlYWs7CisgICAgY2FzZSBT Q0hfTk9ERV9UWVBFX0ZJTFRFUl9JTjoKKyAgICAgICAgZmcgPSAmc2NoLT5maWx0ZXJzW2RzdC0+ aWR4XTsKKyAgICAgICAgaWYgKGZnLT5iZXN0X2lucHV0ID09IGZnLT5uYl9pbnB1dHMpIHsKKyAg ICAgICAgICAgIGZnLT53YWl0ZXIuY2hva2VkX25leHQgPSAwOworICAgICAgICB9IGVsc2Ugewor ICAgICAgICAgICAgLy8gZW5zdXJlIHRoYXQgdGhpcyBmaWx0ZXIgZ3JhcGggaXMgbm90IHN0dWNr IHdhaXRpbmcgZm9yCisgICAgICAgICAgICAvLyBpbnB1dCBmcm9tIGEgZGlmZmVyZW50IHVwc3Ry ZWFtIGRlbXV4ZXIKKyAgICAgICAgICAgIHVuY2hva2VfZm9yX3N0cmVhbShzY2gsIGZnLT5pbnB1 dHNbZmctPmJlc3RfaW5wdXRdLnNyY19zY2hlZCk7CisgICAgICAgIH0KKyAgICAgICAgYnJlYWs7 CisgICAgZGVmYXVsdDoKKyAgICAgICAgYXZfYXNzZXJ0MCghIkludmFsaWQgZGVzdGluYXRpb24g bm9kZSB0eXBlPyIpOworICAgICAgICBicmVhazsKKyAgICB9Cit9CisKIHN0YXRpYyB2b2lkIHVu Y2hva2VfZm9yX3N0cmVhbShTY2hlZHVsZXIgKnNjaCwgU2NoZWR1bGVyTm9kZSBzcmMpCiB7CiAg ICAgd2hpbGUgKDEpIHsKQEAgLTEyNDksNyArMTI4OCwxMiBAQCBzdGF0aWMgdm9pZCB1bmNob2tl X2Zvcl9zdHJlYW0oU2NoZWR1bGVyICpzY2gsIFNjaGVkdWxlck5vZGUgc3JjKQogCiAgICAgICAg IC8vIGZlZCBkaXJlY3RseSBieSBhIGRlbXV4ZXIgKGkuZS4gbm90IHRocm91Z2ggYSBmaWx0ZXJn cmFwaCkKICAgICAgICAgaWYgKHNyYy50eXBlID09IFNDSF9OT0RFX1RZUEVfREVNVVgpIHsKLSAg ICAgICAgICAgIHNjaC0+ZGVtdXhbc3JjLmlkeF0ud2FpdGVyLmNob2tlZF9uZXh0ID0gMDsKKyAg ICAgICAgICAgIFNjaERlbXV4ICpkZW11eCA9ICZzY2gtPmRlbXV4W3NyYy5pZHhdOworICAgICAg ICAgICAgaWYgKGRlbXV4LT53YWl0ZXIuY2hva2VkX25leHQgPT0gMCkKKyAgICAgICAgICAgICAg ICByZXR1cm47IC8vIHByZXZlbnQgaW5maW5pdGUgbG9vcAorICAgICAgICAgICAgZGVtdXgtPndh aXRlci5jaG9rZWRfbmV4dCA9IDA7CisgICAgICAgICAgICBmb3IgKGludCBpID0gMDsgaSA8IGRl bXV4LT5uYl9zdHJlYW1zOyBpKyspCisgICAgICAgICAgICAgICAgdW5jaG9rZV9kb3duc3RyZWFt KHNjaCwgZGVtdXgtPnN0cmVhbXNbaV0uZHN0KTsKICAgICAgICAgICAgIHJldHVybjsKICAgICAg ICAgfQogCi0tIAoyLjQ5LjEKCgpGcm9tIDI2MTE1Y2EwM2RkNjVlN2UxYjgzZTI3NDI5MzU5MGYx NjMzMjBmODYgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCkZyb206IEFuZHJlYXMgUmhlaW5oYXJk dCA8YW5kcmVhcy5yaGVpbmhhcmR0QG91dGxvb2suY29tPgpEYXRlOiBGcmksIDExIEp1bCAyMDI1 IDIyOjU4OjI2ICswMjAwClN1YmplY3Q6IFtQQVRDSCAzOTcvNDM0XSBhdmZvcm1hdC9hdmlvYnVm OiBLZWVwIGNoZWNrc3VtX3B0ciBjb25zaXN0ZW50IGluCiBhdmlvX3NlZWsoKQoKT3RoZXJ3aXNl IGl0IG1pZ2h0IGJlID4gYnVmX3B0ciBpbiB3aGljaCBjYXNlIGZmaW9fZ2V0X2NoZWNrc3VtKCkK Y291bGQgc2VnZmF1bHQgKHMtPmJ1Zl9wdHIgLSBzLT5jaGVja3N1bV9wdHIgd291bGQgYmUgbmVn YXRpdmUKd2hpY2ggd291bGQgYmUgY29udmVydGVkIHRvIHNvbWV0aGluZyB2ZXJ5IGJpZyB3aGVu IGNvbnZlcnRlZAp0byB1bnNpZ25lZCBmb3IgdGhlIHVwZGF0ZV9jaGVja3N1bSBjYWxsYmFjayku CgpGaXhlcyB0aWNrZXQgIzExMjMzLgoKUmVwb3J0ZWQtYnk6IER1NHQKU2lnbmVkLW9mZi1ieTog QW5kcmVhcyBSaGVpbmhhcmR0IDxhbmRyZWFzLnJoZWluaGFyZHRAb3V0bG9vay5jb20+CihjaGVy cnkgcGlja2VkIGZyb20gY29tbWl0IDk4N2M5NTVjZDdlOTcyZDk5NDAyODRmYTZhZTcxODdhYzg1 OGViYjEpClNpZ25lZC1vZmYtYnk6IE1pY2hhZWwgTmllZGVybWF5ZXIgPG1pY2hhZWxAbmllZGVy bWF5ZXIuY2M+Ci0tLQogbGliYXZmb3JtYXQvYXZpb2J1Zi5jIHwgMiArLQogMSBmaWxlIGNoYW5n ZWQsIDEgaW5zZXJ0aW9uKCspLCAxIGRlbGV0aW9uKC0pCgpkaWZmIC0tZ2l0IGEvbGliYXZmb3Jt YXQvYXZpb2J1Zi5jIGIvbGliYXZmb3JtYXQvYXZpb2J1Zi5jCmluZGV4IDZhNzRjMWNlNjguLjkw NDEyODBlNzcgMTAwNjQ0Ci0tLSBhL2xpYmF2Zm9ybWF0L2F2aW9idWYuYworKysgYi9saWJhdmZv cm1hdC9hdmlvYnVmLmMKQEAgLTMwOCw3ICszMDgsNyBAQCBpbnQ2NF90IGF2aW9fc2VlayhBVklP Q29udGV4dCAqcywgaW50NjRfdCBvZmZzZXQsIGludCB3aGVuY2UpCiAgICAgICAgIGN0eC0+c2Vl a19jb3VudCsrOwogICAgICAgICBpZiAoIXMtPndyaXRlX2ZsYWcpCiAgICAgICAgICAgICBzLT5i dWZfZW5kID0gcy0+YnVmZmVyOwotICAgICAgICBzLT5idWZfcHRyID0gcy0+YnVmX3B0cl9tYXgg PSBzLT5idWZmZXI7CisgICAgICAgIHMtPmNoZWNrc3VtX3B0ciA9IHMtPmJ1Zl9wdHIgPSBzLT5i dWZfcHRyX21heCA9IHMtPmJ1ZmZlcjsKICAgICAgICAgcy0+cG9zID0gb2Zmc2V0OwogICAgIH0K ICAgICBzLT5lb2ZfcmVhY2hlZCA9IDA7Ci0tIAoyLjQ5LjEKCgpGcm9tIGQ5NGNjZTllZTA2MGMw Nzk5YzBkNzRkNzQ3YjExY2E2NTc0MjY5NDMgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCkZyb206 IE1pY2hhZWwgTmllZGVybWF5ZXIgPG1pY2hhZWxAbmllZGVybWF5ZXIuY2M+CkRhdGU6IFRodSwg MTEgU2VwIDIwMjUgMjA6MTI6NTUgKzAyMDAKU3ViamVjdDogW1BBVENIIDM5OC80MzRdIGF2Y29k ZWMvbWpwZWdkZWM6IEV4cGxhaW4gYnVmX3NpemUvd2lkdGgvaGVpZ2h0IGNoZWNrCgpTdWdnZXN0 ZWQtYnk6IFJhbWlybwoKU2lnbmVkLW9mZi1ieTogTWljaGFlbCBOaWVkZXJtYXllciA8bWljaGFl bEBuaWVkZXJtYXllci5jYz4KKGNoZXJyeSBwaWNrZWQgZnJvbSBjb21taXQgNjFiNjg3NzYzNzA0 MWExZjgxN2FkOTgxMWM4MzliMGZlYWUyYjhhZikKU2lnbmVkLW9mZi1ieTogTWljaGFlbCBOaWVk ZXJtYXllciA8bWljaGFlbEBuaWVkZXJtYXllci5jYz4KLS0tCiBsaWJhdmNvZGVjL21qcGVnZGVj LmMgfCAyICsrCiAxIGZpbGUgY2hhbmdlZCwgMiBpbnNlcnRpb25zKCspCgpkaWZmIC0tZ2l0IGEv bGliYXZjb2RlYy9tanBlZ2RlYy5jIGIvbGliYXZjb2RlYy9tanBlZ2RlYy5jCmluZGV4IDk0Mzgx ODRhZTUuLjk0ZmMwMzc3ZjAgMTAwNjQ0Ci0tLSBhL2xpYmF2Y29kZWMvbWpwZWdkZWMuYworKysg Yi9saWJhdmNvZGVjL21qcGVnZGVjLmMKQEAgLTM0Myw2ICszNDMsOCBAQCBpbnQgZmZfbWpwZWdf ZGVjb2RlX3NvZihNSnBlZ0RlY29kZUNvbnRleHQgKnMpCiAgICAgYXZfbG9nKHMtPmF2Y3R4LCBB Vl9MT0dfREVCVUcsICJzb2YwOiBwaWN0dXJlOiAlZHglZFxuIiwgd2lkdGgsIGhlaWdodCk7CiAg ICAgaWYgKGF2X2ltYWdlX2NoZWNrX3NpemUod2lkdGgsIGhlaWdodCwgMCwgcy0+YXZjdHgpIDwg MCkKICAgICAgICAgcmV0dXJuIEFWRVJST1JfSU5WQUxJRERBVEE7CisKKyAgICAvLyBBIHZhbGlk IGZyYW1lIHJlcXVpcmVzIGF0IGxlYXN0IDEgYml0IGZvciBEQyArIDEgYml0IGZvciBBQyBmb3Ig ZWFjaCA4eDggYmxvY2suCiAgICAgaWYgKHMtPmJ1Zl9zaXplICYmICh3aWR0aCArIDcpIC8gOCAq ICgoaGVpZ2h0ICsgNykgLyA4KSA+IHMtPmJ1Zl9zaXplICogNExMKQogICAgICAgICByZXR1cm4g QVZFUlJPUl9JTlZBTElEREFUQTsKIAotLSAKMi40OS4xCgoKRnJvbSBiNDBjNjkxMDI1NTA4NWY2 NjFjNmVkNTNiOWFiZDNlZmI4Njk4YzUzIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBN aWNoYWVsIE5pZWRlcm1heWVyIDxtaWNoYWVsQG5pZWRlcm1heWVyLmNjPgpEYXRlOiBUaHUsIDE4 IFNlcCAyMDI1IDIxOjI4OjA0ICswMjAwClN1YmplY3Q6IFtQQVRDSCAzOTkvNDM0XSBhdmNvZGVj L2V4cjogUm91bmQgZGNfdy9oIHVwCgpXaXRob3V0IHJvdW5kaW5nIHRoZW0gdXAgdGhlcmUgYXJl IHRvbyBmZXcgZGMgY29lZmZzIGZvciB0aGUgYmxvY2tzLgpXZSBkbyBub3Qga25vdyBpZiB0aGlz IHdheSBvZiBoYW5kbGluZyBvZGQgZGltZW5zaW9ucyBpcyBjb3JyZWN0LCBhcyB3ZSBoYXZlCm5v IHN1Y2ggRFdBIHNhbXBsZS4KdGh1cyB3ZSBhc2sgdGhlIHVzZXIgZm9yIGEgc2FtcGxlIGlmIHNo ZSBlbmNvdW50ZXJzIHN1Y2ggYSBmaWxlCgpGaXhlczogb3V0IG9mIGFycmF5IGFjY2VzcwpGaXhl czogQklHU0xFRVAtNDQ1MzkyMDI3LWNyYXNoLmV4cgoKRm91bmQtYnk6IEdvb2dsZSBCaWcgU2xl ZXAKU2lnbmVkLW9mZi1ieTogTWljaGFlbCBOaWVkZXJtYXllciA8bWljaGFlbEBuaWVkZXJtYXll ci5jYz4KKGNoZXJyeSBwaWNrZWQgZnJvbSBjb21taXQgYzkxMWUwMDAxMTE1YmJkYTkwNGFkMTAz YjEyYzI3YjlhM2MwYzI2NSkKU2lnbmVkLW9mZi1ieTogTWljaGFlbCBOaWVkZXJtYXllciA8bWlj aGFlbEBuaWVkZXJtYXllci5jYz4KLS0tCiBsaWJhdmNvZGVjL2V4ci5jIHwgOCArKysrKystLQog MSBmaWxlIGNoYW5nZWQsIDYgaW5zZXJ0aW9ucygrKSwgMiBkZWxldGlvbnMoLSkKCmRpZmYgLS1n aXQgYS9saWJhdmNvZGVjL2V4ci5jIGIvbGliYXZjb2RlYy9leHIuYwppbmRleCAyMGIyY2ZkYzdl Li5jZmZmOGY5MTE0IDEwMDY0NAotLS0gYS9saWJhdmNvZGVjL2V4ci5jCisrKyBiL2xpYmF2Y29k ZWMvZXhyLmMKQEAgLTk4Nyw4ICs5ODcsOCBAQCBzdGF0aWMgaW50IGR3YV91bmNvbXByZXNzKGNv bnN0IEVYUkNvbnRleHQgKnMsIGNvbnN0IHVpbnQ4X3QgKnNyYywgaW50IGNvbXByZXNzZQogICAg IGludDY0X3QgdmVyc2lvbiwgbG9fdXNpemUsIGxvX3NpemU7CiAgICAgaW50NjRfdCBhY19zaXpl LCBkY19zaXplLCBybGVfdXNpemUsIHJsZV9jc2l6ZSwgcmxlX3Jhd19zaXplOwogICAgIGludDY0 X3QgYWNfY291bnQsIGRjX2NvdW50LCBhY19jb21wcmVzc2lvbjsKLSAgICBjb25zdCBpbnQgZGNf dyA9IHRkLT54c2l6ZSA+PiAzOwotICAgIGNvbnN0IGludCBkY19oID0gdGQtPnlzaXplID4+IDM7 CisgICAgY29uc3QgaW50IGRjX3cgPSAodGQtPnhzaXplICsgNykgPj4gMzsKKyAgICBjb25zdCBp bnQgZGNfaCA9ICh0ZC0+eXNpemUgKyA3KSA+PiAzOwogICAgIEdldEJ5dGVDb250ZXh0IGdiLCBh Z2I7CiAgICAgaW50IHNraXAsIHJldDsKICAgICBpbnQgaGF2ZV9ybGUgPSAwOwpAQCAtMTAyMSw2 ICsxMDIxLDEwIEBAIHN0YXRpYyBpbnQgZHdhX3VuY29tcHJlc3MoY29uc3QgRVhSQ29udGV4dCAq cywgY29uc3QgdWludDhfdCAqc3JjLCBpbnQgY29tcHJlc3NlCiAgICAgICAgIHJldHVybiBBVkVS Uk9SX0lOVkFMSUREQVRBOwogICAgIH0KIAorICAgIGlmICh0ZC0+eHNpemUgJSA4IHx8IHRkLT55 c2l6ZSAlIDgpIHsKKyAgICAgICAgYXZwcml2X3JlcXVlc3Rfc2FtcGxlKHMtPmF2Y3R4LCAib2Rk IGRpbWVuc2lvbnMgRFdBIik7CisgICAgfQorCiAgICAgYnl0ZXN0cmVhbTJfaW5pdCgmZ2IsIHNy YyArIDg4LCBjb21wcmVzc2VkX3NpemUgLSA4OCk7CiAgICAgc2tpcCA9IGJ5dGVzdHJlYW0yX2dl dF9sZTE2KCZnYik7CiAgICAgaWYgKHNraXAgPCAyKQotLSAKMi40OS4xCgoKRnJvbSAzOTM0YWI0 ZWUyYTIzOTBjZjA3NzhjNmU2NDAxNGQwYWY4NjU5YTUxIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAw MQpGcm9tOiBNaWNoYWVsIE5pZWRlcm1heWVyIDxtaWNoYWVsQG5pZWRlcm1heWVyLmNjPgpEYXRl OiBUaHUsIDE4IFNlcCAyMDI1IDE3OjMyOjQ2ICswMjAwClN1YmplY3Q6IFtQQVRDSCA0MDAvNDM0 XSBhdmNvZGVjL2V4cjogY2hlY2sgYWNfc2l6ZQoKRml4ZXM6IG91dCBvZiBhcnJheSByZWFkCkZp eGVzOiBkd2FfdW5jb21wcmVzcy5weS5jcmFzaC5leHIKClRoZSBjb2RlIHdpbGwgcmVhZCBmcm9t IHRoZSBhYyBkYXRhIGV2ZW4gaWYgYWNfc2l6ZSBpcyAwLCB0aHVzIHRoYXQgY2FzZQppcyBub3Qg aW1wbGVtZW50ZWQgYW5kIHdlIGFzayBmb3IgYSBzYW1wbGUgYW5kIGVycm9yIG91dCBjbGVhbmx5 CgpGb3VuZC1ieTogR29vZ2xlIEJpZyBTbGVlcAoKU2lnbmVkLW9mZi1ieTogTWljaGFlbCBOaWVk ZXJtYXllciA8bWljaGFlbEBuaWVkZXJtYXllci5jYz4KKGNoZXJyeSBwaWNrZWQgZnJvbSBjb21t aXQgOGUwNzg4MjZkYTZmMmExZGZmYTI1MTYyMTIxYjQzYjI3MmY1ZTVmYSkKU2lnbmVkLW9mZi1i eTogTWljaGFlbCBOaWVkZXJtYXllciA8bWljaGFlbEBuaWVkZXJtYXllci5jYz4KLS0tCiBsaWJh dmNvZGVjL2V4ci5jIHwgNSArKysrKwogMSBmaWxlIGNoYW5nZWQsIDUgaW5zZXJ0aW9ucygrKQoK ZGlmZiAtLWdpdCBhL2xpYmF2Y29kZWMvZXhyLmMgYi9saWJhdmNvZGVjL2V4ci5jCmluZGV4IGNm ZmY4ZjkxMTQuLjQwYjZjZDcwZDkgMTAwNjQ0Ci0tLSBhL2xpYmF2Y29kZWMvZXhyLmMKKysrIGIv bGliYXZjb2RlYy9leHIuYwpAQCAtMTAxNiw2ICsxMDE2LDExIEBAIHN0YXRpYyBpbnQgZHdhX3Vu Y29tcHJlc3MoY29uc3QgRVhSQ29udGV4dCAqcywgY29uc3QgdWludDhfdCAqc3JjLCBpbnQgY29t cHJlc3NlCiAgICAgKQogICAgICAgICByZXR1cm4gQVZFUlJPUl9JTlZBTElEREFUQTsKIAorICAg IGlmIChhY19zaXplIDw9IDApIHsKKyAgICAgICAgYXZwcml2X3JlcXVlc3Rfc2FtcGxlKHMtPmF2 Y3R4LCAiWmVybyBhY19zaXplIik7CisgICAgICAgIHJldHVybiBBVkVSUk9SX0lOVkFMSUREQVRB OworICAgIH0KKwogICAgIGlmICgodWludDY0X3QpcmxlX3Jhd19zaXplID4gSU5UX01BWCkgewog ICAgICAgICBhdnByaXZfcmVxdWVzdF9zYW1wbGUocy0+YXZjdHgsICJUb28gYmlnIHJsZV9yYXdf c2l6ZSIpOwogICAgICAgICByZXR1cm4gQVZFUlJPUl9JTlZBTElEREFUQTsKLS0gCjIuNDkuMQoK CkZyb20gNjM4Y2FmYTcwYjE4NTgxZjRiYzQ4MmFjMmNmNTdiNTVkM2EzMTFkNSBNb24gU2VwIDE3 IDAwOjAwOjAwIDIwMDEKRnJvbTogTWljaGFlbCBOaWVkZXJtYXllciA8bWljaGFlbEBuaWVkZXJt YXllci5jYz4KRGF0ZTogRnJpLCAxOSBTZXAgMjAyNSAwMDoxODozMCArMDIwMApTdWJqZWN0OiBb UEFUQ0ggNDAxLzQzNF0gYXZjb2RlYy9leHI6IENoZWNrIHRoYXQgRFdBIGhhcyAzIGNoYW5uZWxz CgpUaGUgaW1wbGVtZW50YXRpb24gaGFyZGNvZGVzIGFjY2VzcyB0byAzIGNoYW5uZWxzLCBzbyB3 ZSBuZWVkIHRvIGNoZWNrIHRoYXQKRml4ZXM6IG91dCBvZiBhcnJheSBhY2Nlc3MKRml4ZXM6IEJJ R1NMRUVQLTQ0NTM5NDUwMy1jcmFzaC5leHIKCkZvdW5kLWJ5OiBHb29nbGUgQmlnIFNsZWVwClNp Z25lZC1vZmYtYnk6IE1pY2hhZWwgTmllZGVybWF5ZXIgPG1pY2hhZWxAbmllZGVybWF5ZXIuY2M+ CihjaGVycnkgcGlja2VkIGZyb20gY29tbWl0IDc4OTZjYzY3YzEzMDM3YWJiYTg5NDFlMzlhNzRj NTZkMjZiNzc1YTcpClNpZ25lZC1vZmYtYnk6IE1pY2hhZWwgTmllZGVybWF5ZXIgPG1pY2hhZWxA bmllZGVybWF5ZXIuY2M+Ci0tLQogbGliYXZjb2RlYy9leHIuYyB8IDUgKysrKysKIDEgZmlsZSBj aGFuZ2VkLCA1IGluc2VydGlvbnMoKykKCmRpZmYgLS1naXQgYS9saWJhdmNvZGVjL2V4ci5jIGIv bGliYXZjb2RlYy9leHIuYwppbmRleCA0MGI2Y2Q3MGQ5Li5jOTBkMTJiNjE4IDEwMDY0NAotLS0g YS9saWJhdmNvZGVjL2V4ci5jCisrKyBiL2xpYmF2Y29kZWMvZXhyLmMKQEAgLTEwMDAsNiArMTAw MCwxMSBAQCBzdGF0aWMgaW50IGR3YV91bmNvbXByZXNzKGNvbnN0IEVYUkNvbnRleHQgKnMsIGNv bnN0IHVpbnQ4X3QgKnNyYywgaW50IGNvbXByZXNzZQogICAgIGlmICh2ZXJzaW9uICE9IDIpCiAg ICAgICAgIHJldHVybiBBVkVSUk9SX0lOVkFMSUREQVRBOwogCisgICAgaWYgKHMtPm5iX2NoYW5u ZWxzIDwgMykgeworICAgICAgICBhdnByaXZfcmVxdWVzdF9zYW1wbGUocy0+YXZjdHgsICJHcmF5 IERXQSIpOworICAgICAgICByZXR1cm4gQVZFUlJPUl9QQVRDSFdFTENPTUU7CisgICAgfQorCiAg ICAgbG9fdXNpemUgPSBBVl9STDY0KHNyYyArIDgpOwogICAgIGxvX3NpemUgPSBBVl9STDY0KHNy YyArIDE2KTsKICAgICBhY19zaXplID0gQVZfUkw2NChzcmMgKyAyNCk7Ci0tIAoyLjQ5LjEKCgpG cm9tIGE2YWMwYzY4NDFjNTIwNTM5MzUxMzk2MWFkOWNkYzNhOGJhMTdiMzUgTW9uIFNlcCAxNyAw MDowMDowMCAyMDAxCkZyb206IEphbWVzIEFsbWVyIDxqYW1yaWFsQGdtYWlsLmNvbT4KRGF0ZTog VGh1LCA5IE9jdCAyMDI1IDAwOjMxOjEwIC0wMzAwClN1YmplY3Q6IFtQQVRDSCA0MDIvNDM0XSBh dmNvZGVjL2hldmMvc2VpOiBwcmV2ZW50IHN0b3JpbmcgYSBwb3RlbnRpYWxseSBib2d1cwogbnVt X3JlZl9kaXNwbGF5cyB2YWx1ZSBpbiBIRVZDU0VJVERSREkKCkZpeGVzOiA0Mzk3MTEwNTIvY2x1 c3RlcmZ1enotdGVzdGNhc2UtbWluaW1pemVkLWZmbXBlZ19BVl9DT0RFQ19JRF9IRVZDX2Z1enpl ci00OTU2MjUwMzA4OTM1NjgwCkZpeGVzOiBvdXQgb2YgYXJyYXkgYWNjZXNzCgpGb3VuZC1ieTog Y29udGludW91cyBmdXp6aW5nIHByb2Nlc3MgaHR0cHM6Ly9naXRodWIuY29tL2dvb2dsZS9vc3Mt ZnV6ei90cmVlL21hc3Rlci9wcm9qZWN0cy9mZm1wZWcKU2lnbmVkLW9mZi1ieTogSmFtZXMgQWxt ZXIgPGphbXJpYWxAZ21haWwuY29tPgooY2hlcnJ5IHBpY2tlZCBmcm9tIGNvbW1pdCBkNDQ4ZDZk MWEwYTRjZGM3NjQ5OWMxMzc3NDJmZGQ4YjMwYjllN2RlKQpTaWduZWQtb2ZmLWJ5OiBNaWNoYWVs IE5pZWRlcm1heWVyIDxtaWNoYWVsQG5pZWRlcm1heWVyLmNjPgotLS0KIGxpYmF2Y29kZWMvaGV2 Yy9zZWkuYyB8IDggKysrKystLS0KIDEgZmlsZSBjaGFuZ2VkLCA1IGluc2VydGlvbnMoKyksIDMg ZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvbGliYXZjb2RlYy9oZXZjL3NlaS5jIGIvbGliYXZj b2RlYy9oZXZjL3NlaS5jCmluZGV4IGUxMWEzMzc3M2MuLjFhZjZjYTI3MTYgMTAwNjQ0Ci0tLSBh L2xpYmF2Y29kZWMvaGV2Yy9zZWkuYworKysgYi9saWJhdmNvZGVjL2hldmMvc2VpLmMKQEAgLTE1 Miw2ICsxNTIsOCBAQCBzdGF0aWMgaW50IGRlY29kZV9uYWxfc2VpX3RpbWVjb2RlKEhFVkNTRUlU aW1lQ29kZSAqcywgR2V0Qml0Q29udGV4dCAqZ2IpCiAKIHN0YXRpYyBpbnQgZGVjb2RlX25hbF9z ZWlfM2RfcmVmZXJlbmNlX2Rpc3BsYXlzX2luZm8oSEVWQ1NFSVREUkRJICpzLCBHZXRCaXRDb250 ZXh0ICpnYikKIHsKKyAgICB1bnNpZ25lZCBudW1fcmVmX2Rpc3BsYXlzOworCiAgICAgcy0+cHJl Y19yZWZfZGlzcGxheV93aWR0aCA9IGdldF91ZV9nb2xvbWIoZ2IpOwogICAgIGlmIChzLT5wcmVj X3JlZl9kaXNwbGF5X3dpZHRoID4gMzEpCiAgICAgICAgIHJldHVybiBBVkVSUk9SX0lOVkFMSURE QVRBOwpAQCAtMTYxLDEwICsxNjMsMTAgQEAgc3RhdGljIGludCBkZWNvZGVfbmFsX3NlaV8zZF9y ZWZlcmVuY2VfZGlzcGxheXNfaW5mbyhIRVZDU0VJVERSREkgKnMsIEdldEJpdENvbnQKICAgICAg ICAgaWYgKHMtPnByZWNfcmVmX3ZpZXdpbmdfZGlzdCA+IDMxKQogICAgICAgICAgICAgcmV0dXJu IEFWRVJST1JfSU5WQUxJRERBVEE7CiAgICAgfQotICAgIHMtPm51bV9yZWZfZGlzcGxheXMgPSBn ZXRfdWVfZ29sb21iKGdiKTsKLSAgICBpZiAocy0+bnVtX3JlZl9kaXNwbGF5cyA+IDMxKQorICAg IG51bV9yZWZfZGlzcGxheXMgPSBnZXRfdWVfZ29sb21iKGdiKTsKKyAgICBpZiAobnVtX3JlZl9k aXNwbGF5cyA+IDMxKQogICAgICAgICByZXR1cm4gQVZFUlJPUl9JTlZBTElEREFUQTsKLSAgICBz LT5udW1fcmVmX2Rpc3BsYXlzICs9IDE7CisgICAgcy0+bnVtX3JlZl9kaXNwbGF5cyA9IG51bV9y ZWZfZGlzcGxheXMgKyAxOwogCiAgICAgZm9yIChpbnQgaSA9IDA7IGkgPCBzLT5udW1fcmVmX2Rp c3BsYXlzOyBpKyspIHsKICAgICAgICAgaW50IGxlbmd0aDsKLS0gCjIuNDkuMQoKCkZyb20gMTk4 NzcwNTRlMzQwZTJiYWJiN2VmMGQwMGU4MWMxMmJmZWIxOTM5MSBNb24gU2VwIDE3IDAwOjAwOjAw IDIwMDEKRnJvbTogTWljaGFlbCBOaWVkZXJtYXllciA8bWljaGFlbEBuaWVkZXJtYXllci5jYz4K RGF0ZTogTW9uLCAxMyBPY3QgMjAyNSAxNDozMjo0NSArMDIwMApTdWJqZWN0OiBbUEFUQ0ggNDAz LzQzNF0gc3dzY2FsZS9vdXRwdXQ6IEZpeCBpbnRlZ2VyIG92ZXJmbG93IGluCiB5dXYyeWExNl9Y X2NfdGVtcGxhdGUoKQoKRm91bmQtYnk6IGNvbG9kIGNvbG9kIDxjb2xvZGNvbG9kN0BnbWFpbC5j b20+CgpTaWduZWQtb2ZmLWJ5OiBNaWNoYWVsIE5pZWRlcm1heWVyIDxtaWNoYWVsQG5pZWRlcm1h eWVyLmNjPgooY2hlcnJ5IHBpY2tlZCBmcm9tIGNvbW1pdCAwYzZiN2Y5NDgzYTM4NjU3YzliZTgy NDU3MmI0YzBjNDVkNGQ5ZmVmKQpTaWduZWQtb2ZmLWJ5OiBNaWNoYWVsIE5pZWRlcm1heWVyIDxt aWNoYWVsQG5pZWRlcm1heWVyLmNjPgotLS0KIGxpYnN3c2NhbGUvb3V0cHV0LmMgfCA0ICsrLS0K IDEgZmlsZSBjaGFuZ2VkLCAyIGluc2VydGlvbnMoKyksIDIgZGVsZXRpb25zKC0pCgpkaWZmIC0t Z2l0IGEvbGlic3dzY2FsZS9vdXRwdXQuYyBiL2xpYnN3c2NhbGUvb3V0cHV0LmMKaW5kZXggMjE3 MmU0YjUzYi4uMWRkYmVlOWIyYiAxMDA2NDQKLS0tIGEvbGlic3dzY2FsZS9vdXRwdXQuYworKysg Yi9saWJzd3NjYWxlL291dHB1dC5jCkBAIC05NjUsNyArOTY1LDcgQEAgeXV2MnlhMTZfWF9jX3Rl bXBsYXRlKFN3c0NvbnRleHQgKmMsIGNvbnN0IGludDE2X3QgKmx1bUZpbHRlciwKICAgICAgICAg aW50IEEgPSAweGZmZmY7CiAKICAgICAgICAgZm9yIChqID0gMDsgaiA8IGx1bUZpbHRlclNpemU7 IGorKykKLSAgICAgICAgICAgIFkgKz0gbHVtU3JjW2pdW2ldICogbHVtRmlsdGVyW2pdOworICAg ICAgICAgICAgWSArPSBsdW1TcmNbal1baV0gKiAodW5zaWduZWQpbHVtRmlsdGVyW2pdOwogCiAg ICAgICAgIFkgPj49IDE1OwogICAgICAgICBZICs9ICgxPDwzKSArIDB4ODAwMDsKQEAgLTk3NCw3 ICs5NzQsNyBAQCB5dXYyeWExNl9YX2NfdGVtcGxhdGUoU3dzQ29udGV4dCAqYywgY29uc3QgaW50 MTZfdCAqbHVtRmlsdGVyLAogICAgICAgICBpZiAoaGFzQWxwaGEpIHsKICAgICAgICAgICAgIEEg PSAtMHg0MDAwMDAwMCArICgxPDwxNCk7CiAgICAgICAgICAgICBmb3IgKGogPSAwOyBqIDwgbHVt RmlsdGVyU2l6ZTsgaisrKQotICAgICAgICAgICAgICAgIEEgKz0gYWxwU3JjW2pdW2ldICogbHVt RmlsdGVyW2pdOworICAgICAgICAgICAgICAgIEEgKz0gYWxwU3JjW2pdW2ldICogKHVuc2lnbmVk KWx1bUZpbHRlcltqXTsKIAogICAgICAgICAgICAgQSA+Pj0gMTU7CiAgICAgICAgICAgICBBICs9 IDB4ODAwMDsKLS0gCjIuNDkuMQoKCkZyb20gY2VhZTdhODM1MzIyNjAxNzBiMTEwZjk1NGQ4YWU0 ZDUzZTBmMDA0YSBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKRnJvbTogTWljaGFlbCBOaWVkZXJt YXllciA8bWljaGFlbEBuaWVkZXJtYXllci5jYz4KRGF0ZTogRnJpLCAyNCBPY3QgMjAyNSAyMDoy OToyMyArMDIwMApTdWJqZWN0OiBbUEFUQ0ggNDA0LzQzNF0gYXZmb3JtYXQvcnRwZW5jX2gyNjRf aGV2YzogQ2hlY2sgc3BhY2UgZm9yCiBuYWxfbGVuZ3RoX3NpemUgaW4gZmZfcnRwX3NlbmRfaDI2 NF9oZXZjKCkKCkZpeGVzOiBtZW1jcHkgd2l0aCBuZWdhdGl2ZSBzaXplCkZpeGVzOiBtb21vX3Ry aXAtcG9jL2lucHV0CgpSZXBvcnRlZC1ieTogTW9tb2tvIFNoaXJhaXNoaSA8c2hpcmFpc2hpQG9z LmlzLnMudS10b2t5by5hYy5qcD4KU2lnbmVkLW9mZi1ieTogTWljaGFlbCBOaWVkZXJtYXllciA8 bWljaGFlbEBuaWVkZXJtYXllci5jYz4KKGNoZXJyeSBwaWNrZWQgZnJvbSBjb21taXQgZDAzNDgz YmQyNjViNjhkYjAwYzliOTBmNmY0OGRjZjYxYzVjMzAwZCkKU2lnbmVkLW9mZi1ieTogTWljaGFl bCBOaWVkZXJtYXllciA8bWljaGFlbEBuaWVkZXJtYXllci5jYz4KLS0tCiBsaWJhdmZvcm1hdC9y dHBlbmNfaDI2NF9oZXZjLmMgfCAzICsrKwogMSBmaWxlIGNoYW5nZWQsIDMgaW5zZXJ0aW9ucygr KQoKZGlmZiAtLWdpdCBhL2xpYmF2Zm9ybWF0L3J0cGVuY19oMjY0X2hldmMuYyBiL2xpYmF2Zm9y bWF0L3J0cGVuY19oMjY0X2hldmMuYwppbmRleCA0ZDIyMmRjYTc1Li4zOGQ1MDhmZThmIDEwMDY0 NAotLS0gYS9saWJhdmZvcm1hdC9ydHBlbmNfaDI2NF9oZXZjLmMKKysrIGIvbGliYXZmb3JtYXQv cnRwZW5jX2gyNjRfaGV2Yy5jCkBAIC0xOTYsNiArMTk2LDkgQEAgdm9pZCBmZl9ydHBfc2VuZF9o MjY0X2hldmMoQVZGb3JtYXRDb250ZXh0ICpzMSwgY29uc3QgdWludDhfdCAqYnVmMSwgaW50IHNp emUpCiAgICAgICAgICAgICByMSA9IGZmX25hbF9tcDRfZmluZF9zdGFydGNvZGUociwgZW5kLCBz LT5uYWxfbGVuZ3RoX3NpemUpOwogICAgICAgICAgICAgaWYgKCFyMSkKICAgICAgICAgICAgICAg ICByMSA9IGVuZDsKKyAgICAgICAgICAgIC8vIENoZWNrIHRoYXQgdGhlIGxhc3QgaXMgbm90IHRy dW5jYXRlZAorICAgICAgICAgICAgaWYgKHIxIC0gciA8IHMtPm5hbF9sZW5ndGhfc2l6ZSkKKyAg ICAgICAgICAgICAgICBicmVhazsKICAgICAgICAgICAgIHIgKz0gcy0+bmFsX2xlbmd0aF9zaXpl OwogICAgICAgICB9IGVsc2UgewogICAgICAgICAgICAgd2hpbGUgKCEqKHIrKykpOwotLSAKMi40 OS4xCgoKRnJvbSBlODYxMzJkMjM3YjM3NzdjZGY0N2IzYTczZDU1YTc4NjIxYmQ4ZGNlIE1vbiBT ZXAgMTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBNaWNoYWVsIE5pZWRlcm1heWVyIDxtaWNoYWVsQG5p ZWRlcm1heWVyLmNjPgpEYXRlOiBXZWQsIDYgQXVnIDIwMjUgMTI6NDk6NDkgKzAyMDAKU3ViamVj dDogW1BBVENIIDQwNS80MzRdIGF2Y29kZWMvdmxjOiBDbGVhciB2YWw4LzE2IGluIHZsY19tdWx0 aV9nZW4oKSBieQogYXZfbWFsbG9jeigpCgpGaXhlczogdXNlIG9mIHVuaW5pdGlhbGl6ZWQgbWVt b3J5CkZpeGVzOiA0Mjc4MTQ0NTAvY2x1c3RlcmZ1enotdGVzdGNhc2UtbWluaW1pemVkLWZmbXBl Z19BVl9DT0RFQ19JRF9NQUdJQ1lVVl9ERUNfZnV6emVyLTY0NjUxMjE5NjA2NTY4OQpGaXhlczog NDQ1OTYxNTU4L2NsdXN0ZXJmdXp6LXRlc3RjYXNlLW1pbmltaXplZC1mZm1wZWdfQVZfQ09ERUNf SURfVVRWSURFT19ERUNfZnV6emVyLTU1MTUxNTg2NzI5NjU2MzIKCnRoZSBtdWx0aSB2bGMgY29k ZSB3aWxsIG90aGVyd2lzZSByZXR1cm4gdW5pbml0aWFsaXplZCBkYXRhLiBOb3cgb25lIGNhbiBh cmd1ZSB0aGF0IHRoaXMgZGF0YSBzaG91bGQKbm90IGJlIHVzZWQsIGJ1dCBvbiBlcnJvcnMgdGhp cyBkYXRhIGNhbiByZW1haW4gLi4uCgpGb3VuZC1ieTogY29udGludW91cyBmdXp6aW5nIHByb2Nl c3MgaHR0cHM6Ly9naXRodWIuY29tL2dvb2dsZS9vc3MtZnV6ei90cmVlL21hc3Rlci9wcm9qZWN0 cy9mZm1wZWcKU2lnbmVkLW9mZi1ieTogTWljaGFlbCBOaWVkZXJtYXllciA8bWljaGFlbEBuaWVk ZXJtYXllci5jYz4KKGNoZXJyeSBwaWNrZWQgZnJvbSBjb21taXQgZDhmZmVjNWJmOWEyODAzZjU1 Y2MwODIyYTk3Yjc4MTVmMjRiZWU4MykKU2lnbmVkLW9mZi1ieTogTWljaGFlbCBOaWVkZXJtYXll ciA8bWljaGFlbEBuaWVkZXJtYXllci5jYz4KLS0tCiBsaWJhdmNvZGVjL3ZsYy5jIHwgMiArLQog MSBmaWxlIGNoYW5nZWQsIDEgaW5zZXJ0aW9uKCspLCAxIGRlbGV0aW9uKC0pCgpkaWZmIC0tZ2l0 IGEvbGliYXZjb2RlYy92bGMuYyBiL2xpYmF2Y29kZWMvdmxjLmMKaW5kZXggZjQ2ZWNiYjU1ZS4u NzIwOTcyNGRjMiAxMDA2NDQKLS0tIGEvbGliYXZjb2RlYy92bGMuYworKysgYi9saWJhdmNvZGVj L3ZsYy5jCkBAIC01MjcsNyArNTI3LDcgQEAgaW50IGZmX3ZsY19pbml0X211bHRpX2Zyb21fbGVu Z3RocyhWTEMgKnZsYywgVkxDX01VTFRJICptdWx0aSwgaW50IG5iX2JpdHMsIGludAogICAgIGlm IChyZXQgPCAwKQogICAgICAgICByZXR1cm4gcmV0OwogCi0gICAgbXVsdGktPnRhYmxlID0gYXZf bWFsbG9jKHNpemVvZigqbXVsdGktPnRhYmxlKSA8PCBuYl9iaXRzKTsKKyAgICBtdWx0aS0+dGFi bGUgPSBhdl9tYWxsb2N6KHNpemVvZigqbXVsdGktPnRhYmxlKSA8PCBuYl9iaXRzKTsKICAgICBp ZiAoIW11bHRpLT50YWJsZSkKICAgICAgICAgZ290byBmYWlsOwogCi0tIAoyLjQ5LjEKCgpGcm9t IDU2OTEzZGU4MDczMDNjNmM0ZTViYTY5M2MwNGRiZTVjYzczMjI1ZDggTW9uIFNlcCAxNyAwMDow MDowMCAyMDAxCkZyb206IE1pY2hhZWwgTmllZGVybWF5ZXIgPG1pY2hhZWxAbmllZGVybWF5ZXIu Y2M+CkRhdGU6IFR1ZSwgNyBPY3QgMjAyNSAwMTo1ODozNCArMDIwMApTdWJqZWN0OiBbUEFUQ0gg NDA2LzQzNF0gYXZjb2RlYy9nNzIzXzFlbmM6IE1ha2UgbWluX2VyciA2NGJpdAoKVGhpcyBpcyBp bnRlbmRpbmcgdG8gZml4IHRoZSBjYXNlIGRlc2NyaWJlZCBpbiBodHRwczovL2xpc3RzLmZmbXBl Zy5vcmcvYXJjaGl2ZXMvbGlzdC9mZm1wZWctZGV2ZWxAZmZtcGVnLm9yZy90aHJlYWQvQUFaN0dK UFBVSkk1U0NWVERHSjZRTDdVVUVQNTZXT00vCldoZXJlIEZDQlBhcmFtIG9wdGltIGlzIHVzZWQg dW5pbml0aWFsaXplZAoKYSBtaW5fZXJyIG9mIDE8PDMwLCBhbGxvd3MgdGhlIHN0cnVjdCB0byBi ZSBuZXZlciBpbml0aWxpYWxpemVkIGFzIGFsbAplcnIgKHdoaWNoIGlzIGludDMyX3QpIGNhbiBi ZSBsYXJnZXIgdGhhbiBtaW5fZXJyLiBCeSBpbmNyZWFzaW5nIG1pbl9lcnIKYWJvdmUgdGhlIGlu dDMyX3QgcmFuZ2UgdGhpcyBpcyBubyBsb25nZXIgcG9zc2libGUKClVudGVzdGVkLCBhcyBpIGRv IG5vdCBoYXZlIHRoZSB0ZXN0Y2FzZQoKU2lnbmVkLW9mZi1ieTogTWljaGFlbCBOaWVkZXJtYXll ciA8bWljaGFlbEBuaWVkZXJtYXllci5jYz5pCihjaGVycnkgcGlja2VkIGZyb20gY29tbWl0IDkw OWFmM2E1NzFkYTgzMGNjNzBhMzRmMGMzOTQ2Mzc5YmQxMmRmYmUpClNpZ25lZC1vZmYtYnk6IE1p Y2hhZWwgTmllZGVybWF5ZXIgPG1pY2hhZWxAbmllZGVybWF5ZXIuY2M+Ci0tLQogbGliYXZjb2Rl Yy9nNzIzXzEuaCAgICB8IDIgKy0KIGxpYmF2Y29kZWMvZzcyM18xZW5jLmMgfCAyICstCiAyIGZp bGVzIGNoYW5nZWQsIDIgaW5zZXJ0aW9ucygrKSwgMiBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQg YS9saWJhdmNvZGVjL2c3MjNfMS5oIGIvbGliYXZjb2RlYy9nNzIzXzEuaAppbmRleCA1MjFmMjIw YjJhLi5mM2NkMzJlMzdkIDEwMDY0NAotLS0gYS9saWJhdmNvZGVjL2c3MjNfMS5oCisrKyBiL2xp YmF2Y29kZWMvZzcyM18xLmgKQEAgLTEwOCw3ICsxMDgsNyBAQCB0eXBlZGVmIHN0cnVjdCBIRlBh cmFtIHsKICAqIE9wdGltaXplZCBmaXhlZCBjb2RlYm9vayBleGNpdGF0aW9uIHBhcmFtZXRlcnMK ICAqLwogdHlwZWRlZiBzdHJ1Y3QgRkNCUGFyYW0gewotICAgIGludCBtaW5fZXJyOworICAgIGlu dDY0X3QgbWluX2VycjsKICAgICBpbnQgYW1wX2luZGV4OwogICAgIGludCBncmlkX2luZGV4Owog ICAgIGludCBkaXJhY190cmFpbjsKZGlmZiAtLWdpdCBhL2xpYmF2Y29kZWMvZzcyM18xZW5jLmMg Yi9saWJhdmNvZGVjL2c3MjNfMWVuYy5jCmluZGV4IGJlODAxNTMxMzAuLmQ2ODZjNGJlZmEgMTAw NjQ0Ci0tLSBhL2xpYmF2Y29kZWMvZzcyM18xZW5jLmMKKysrIGIvbGliYXZjb2RlYy9nNzIzXzFl bmMuYwpAQCAtMTAxMyw3ICsxMDEzLDcgQEAgc3RhdGljIHZvaWQgZmNiX3NlYXJjaChHNzIzXzFf Q2hhbm5lbENvbnRleHQgKnAsIGludDE2X3QgKmltcHVsc2VfcmVzcCwKICAgICBpbnQgcHVsc2Vf Y250ID0gcHVsc2VzW2luZGV4XTsKICAgICBpbnQgaTsKIAotICAgIG9wdGltLm1pbl9lcnIgPSAx IDw8IDMwOworICAgIG9wdGltLm1pbl9lcnIgPSAxTEwgPDwgMzE7CiAgICAgZ2V0X2ZjYl9wYXJh bSgmb3B0aW0sIGltcHVsc2VfcmVzcCwgYnVmLCBwdWxzZV9jbnQsIFNVQkZSQU1FX0xFTik7CiAK ICAgICBpZiAocC0+cGl0Y2hfbGFnW2luZGV4ID4+IDFdIDwgU1VCRlJBTUVfTEVOIC0gMikgewot LSAKMi40OS4xCgoKRnJvbSBjMGJmNjRlMDA5MzAyN2MzYWI1NmZmODZhNjlhYWRhOWZkMzBjNTcy IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBNaWNoYWVsIE5pZWRlcm1heWVyIDxtaWNo YWVsQG5pZWRlcm1heWVyLmNjPgpEYXRlOiBUaHUsIDMwIE9jdCAyMDI1IDIzOjA1OjU3ICswMTAw ClN1YmplY3Q6IFtQQVRDSCA0MDcvNDM0XSBhdmZvcm1hdC9ydG1wcHJvdG9fIENoZWNrIHRjdXJs IGFuZCBmbGFzaHZlciBsZW5ndGgKCkZpeGVzOiBvdXQgb2YgYXJyYXkgYWNjZXNzZXMKClJldmll d2VkLWJ5OiBKb3NodWEgUm9nZXJzIDxqb3NodWFAam9zaHVhLmh1PgpTaWduZWQtb2ZmLWJ5OiBN aWNoYWVsIE5pZWRlcm1heWVyIDxtaWNoYWVsQG5pZWRlcm1heWVyLmNjPgooY2hlcnJ5IHBpY2tl ZCBmcm9tIGNvbW1pdCBhNjRlMDM3NDI5ZjIwODczZWM0OGY2YzgyYWExNDVhYjQ0OGUxMzk5KQpT aWduZWQtb2ZmLWJ5OiBNaWNoYWVsIE5pZWRlcm1heWVyIDxtaWNoYWVsQG5pZWRlcm1heWVyLmNj PgotLS0KIGxpYmF2Zm9ybWF0L3J0bXBwcm90by5jIHwgNiArKysrKysKIDEgZmlsZSBjaGFuZ2Vk LCA2IGluc2VydGlvbnMoKykKCmRpZmYgLS1naXQgYS9saWJhdmZvcm1hdC9ydG1wcHJvdG8uYyBi L2xpYmF2Zm9ybWF0L3J0bXBwcm90by5jCmluZGV4IDkxZjE4YjYwODguLjgwNTVhOWZiZWUgMTAw NjQ0Ci0tLSBhL2xpYmF2Zm9ybWF0L3J0bXBwcm90by5jCisrKyBiL2xpYmF2Zm9ybWF0L3J0bXBw cm90by5jCkBAIC0yODMzLDYgKzI4MzMsMTIgQEAgcmVjb25uZWN0OgogICAgICAgICAgICAgICAg ICAgICAiRk1MRS8zLjAgKGNvbXBhdGlibGU7ICVzKSIsIExJQkFWRk9STUFUX0lERU5UKTsKICAg ICAgICAgfQogICAgIH0KKyAgICBpZiAoICAgc3RybGVuKHJ0LT5mbGFzaHZlcikgPiBGTEFTSFZF Ul9NQVhfTEVOR1RICisgICAgICAgIHx8IHN0cmxlbihydC0+dGN1cmwgICApID4gICAgVENVUkxf TUFYX0xFTkdUSAorICAgICkgeworICAgICAgICByZXQgPSBBVkVSUk9SKEVJTlZBTCk7CisgICAg ICAgIGdvdG8gZmFpbDsKKyAgICB9CiAKICAgICBydC0+cmVjZWl2ZV9yZXBvcnRfc2l6ZSA9IDEw NDg1NzY7CiAgICAgcnQtPmJ5dGVzX3JlYWQgPSAwOwotLSAKMi40OS4xCgoKRnJvbSA2ZjE3OTQ3 MGIyMGZmNzgzOWU2N2VmNjAxYTJmNGUwMWJhYzYxNWQ3IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAw MQpGcm9tOiBNaWNoYWVsIE5pZWRlcm1heWVyIDxtaWNoYWVsQG5pZWRlcm1heWVyLmNjPgpEYXRl OiBUaHUsIDMwIE9jdCAyMDI1IDIzOjIwOjQxICswMTAwClN1YmplY3Q6IFtQQVRDSCA0MDgvNDM0 XSBhdmZvcm1hdC9ydG1wcHJvdG86IGNvbnNpZGVyIGNvbW1hbmQgbGluZSBhcmd1bWVudAogbGVu Z3RocwoKRml4ZXM6IG91dCBvZiBhcnJheSBhY2Nlc3MKRml4ZXM6IHplcm9wYXRoL3J0bXAtMjAy NS0xMAoKRm91bmQtYnk6IEpvc2h1YSBSb2dlcnMgPGpvc2h1YUBqb3NodWEuaHU+ClJldmlld2Vk LWJ5OiBKb3NodWEgUm9nZXJzIDxqb3NodWFAam9zaHVhLmh1PgpTaWduZWQtb2ZmLWJ5OiBNaWNo YWVsIE5pZWRlcm1heWVyIDxtaWNoYWVsQG5pZWRlcm1heWVyLmNjPgooY2hlcnJ5IHBpY2tlZCBm cm9tIGNvbW1pdCA4M2UwMjk4ZGUyMTdhNzEwOGVlNzAzODA2ZDYzODBlNTU0MDA3OTcyKQpTaWdu ZWQtb2ZmLWJ5OiBNaWNoYWVsIE5pZWRlcm1heWVyIDxtaWNoYWVsQG5pZWRlcm1heWVyLmNjPgot LS0KIGxpYmF2Zm9ybWF0L3J0bXBwcm90by5jIHwgMjIgKysrKysrKysrKysrKysrKysrKystLQog MSBmaWxlIGNoYW5nZWQsIDIwIGluc2VydGlvbnMoKyksIDIgZGVsZXRpb25zKC0pCgpkaWZmIC0t Z2l0IGEvbGliYXZmb3JtYXQvcnRtcHByb3RvLmMgYi9saWJhdmZvcm1hdC9ydG1wcHJvdG8uYwpp bmRleCA4MDU1YTlmYmVlLi44YTU2ODI3MWM4IDEwMDY0NAotLS0gYS9saWJhdmZvcm1hdC9ydG1w cHJvdG8uYworKysgYi9saWJhdmZvcm1hdC9ydG1wcHJvdG8uYwpAQCAtMTYzLDYgKzE2MywxMyBA QCBzdGF0aWMgaW50IGhhbmRsZV9jaHVua19zaXplKFVSTENvbnRleHQgKnMsIFJUTVBQYWNrZXQg KnBrdCk7CiBzdGF0aWMgaW50IGhhbmRsZV93aW5kb3dfYWNrX3NpemUoVVJMQ29udGV4dCAqcywg UlRNUFBhY2tldCAqcGt0KTsKIHN0YXRpYyBpbnQgaGFuZGxlX3NldF9wZWVyX2J3KFVSTENvbnRl eHQgKnMsIFJUTVBQYWNrZXQgKnBrdCk7CiAKK3N0YXRpYyBzaXplX3QgenN0cmxlbihjb25zdCBj aGFyICpjKQoreworICAgIGlmKGMpCisgICAgICAgIHJldHVybiBzdHJsZW4oYyk7CisgICAgcmV0 dXJuIDA7Cit9CisKIHN0YXRpYyBpbnQgYWRkX3RyYWNrZWRfbWV0aG9kKFJUTVBDb250ZXh0ICpy dCwgY29uc3QgY2hhciAqbmFtZSwgaW50IGlkKQogewogICAgIGludCBlcnI7CkBAIC0zMjcsNyAr MzM0LDE2IEBAIHN0YXRpYyBpbnQgZ2VuX2Nvbm5lY3QoVVJMQ29udGV4dCAqcywgUlRNUENvbnRl eHQgKnJ0KQogICAgIGludCByZXQ7CiAKICAgICBpZiAoKHJldCA9IGZmX3J0bXBfcGFja2V0X2Ny ZWF0ZSgmcGt0LCBSVE1QX1NZU1RFTV9DSEFOTkVMLCBSVE1QX1BUX0lOVk9LRSwKLSAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAwLCA0MDk2ICsgQVBQX01BWF9MRU5HVEgpKSA8 IDApCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMCwgNDA5NiArIEFQUF9N QVhfTEVOR1RICisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKyBzdHJsZW4o cnQtPmF1dGhfcGFyYW1zKSArIHN0cmxlbihydC0+Zmxhc2h2ZXIpCisgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgKyB6c3RybGVuKHJ0LT5lbmhhbmNlZF9jb2RlY3MpLzUqNwor ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICsgenN0cmxlbihydC0+c3dmdXJs KQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICsgenN0cmxlbihydC0+c3dm dmVyaWZ5KQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICsgenN0cmxlbihy dC0+dGN1cmwpCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKyB6c3RybGVu KHJ0LT5hdXRoX3BhcmFtcykKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAr IHpzdHJsZW4ocnQtPnBhZ2V1cmwpCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgKyB6c3RybGVuKHJ0LT5jb25uKSozCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgKSkgPCAwKQogICAgICAgICByZXR1cm4gcmV0OwogCiAgICAgcCA9IHBrdC5kYXRhOwpA QCAtMTkwMCw3ICsxOTE2LDkgQEAgc3RhdGljIGludCB3cml0ZV9zdGF0dXMoVVJMQ29udGV4dCAq cywgUlRNUFBhY2tldCAqcGt0LAogCiAgICAgaWYgKChyZXQgPSBmZl9ydG1wX3BhY2tldF9jcmVh dGUoJnNwa3QsIFJUTVBfU1lTVEVNX0NIQU5ORUwsCiAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgUlRNUF9QVF9JTlZPS0UsIDAsCi0gICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgUlRNUF9QS1REQVRBX0RFRkFVTFRfU0laRSkpIDwgMCkgeworICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIFJUTVBfUEtUREFUQV9ERUZBVUxUX1NJWkUKKyAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICArIHN0cmxlbihzdGF0dXMpICsgc3Ry bGVuKGRlc2NyaXB0aW9uKQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICsg enN0cmxlbihkZXRhaWxzKSkpIDwgMCkgewogICAgICAgICBhdl9sb2cocywgQVZfTE9HX0VSUk9S LCAiVW5hYmxlIHRvIGNyZWF0ZSByZXNwb25zZSBwYWNrZXRcbiIpOwogICAgICAgICByZXR1cm4g cmV0OwogICAgIH0KLS0gCjIuNDkuMQoKCkZyb20gMmIyZTIzZmY5MWZlNDhiZDE2ODNmMjU1Y2Fk OTc3M2E5MWVhYzY2MSBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKRnJvbTogTWljaGFlbCBOaWVk ZXJtYXllciA8bWljaGFlbEBuaWVkZXJtYXllci5jYz4KRGF0ZTogRnJpLCAzMSBPY3QgMjAyNSAy MzowODo0NSArMDEwMApTdWJqZWN0OiBbUEFUQ0ggNDA5LzQzNF0gYXZmb3JtYXQvc2N0cDogQ2hl Y2sgc2l6ZSBpbiBzY3RwX3dyaXRlKCkKCkZpeGVzOiBvdXQgb2YgYXJyYXkgYWNjZXNzCk5vIHRl c3RjYXNlCgpGb3VuZC1ieTogSm9zaHVhIFJvZ2VycyA8am9zaHVhQGpvc2h1YS5odT4gd2l0aCBa ZXJvUGF0aApSZXZpZXdlZC1ieTogSm9zaHVhIFJvZ2VycyA8am9zaHVhQGpvc2h1YS5odT4KU2ln bmVkLW9mZi1ieTogTWljaGFlbCBOaWVkZXJtYXllciA8bWljaGFlbEBuaWVkZXJtYXllci5jYz4K KGNoZXJyeSBwaWNrZWQgZnJvbSBjb21taXQgNWI5OGNlYTRiZmYyY2JiYjI1MWI2MjFhMmI2YzNh Yjc2ZjgxNGVmYSkKU2lnbmVkLW9mZi1ieTogTWljaGFlbCBOaWVkZXJtYXllciA8bWljaGFlbEBu aWVkZXJtYXllci5jYz4KLS0tCiBsaWJhdmZvcm1hdC9zY3RwLmMgfCAzICsrKwogMSBmaWxlIGNo YW5nZWQsIDMgaW5zZXJ0aW9ucygrKQoKZGlmZiAtLWdpdCBhL2xpYmF2Zm9ybWF0L3NjdHAuYyBi L2xpYmF2Zm9ybWF0L3NjdHAuYwppbmRleCA5ZDllOTAwOTdlLi5mMzliYTdlYmUwIDEwMDY0NAot LS0gYS9saWJhdmZvcm1hdC9zY3RwLmMKKysrIGIvbGliYXZmb3JtYXQvc2N0cC5jCkBAIC0zMzQs NiArMzM0LDkgQEAgc3RhdGljIGludCBzY3RwX3dyaXRlKFVSTENvbnRleHQgKmgsIGNvbnN0IHVp bnQ4X3QgKmJ1ZiwgaW50IHNpemUpCiAgICAgfQogCiAgICAgaWYgKHMtPm1heF9zdHJlYW1zKSB7 CisgICAgICAgIGlmIChzaXplIDwgMikKKyAgICAgICAgICAgIHJldHVybiBBVkVSUk9SKEVJTlZB TCk7CisKICAgICAgICAgLypTdHJlYW1JZCBpcyBpbnRyb2R1Y2VkIGFzIGEgMmJ5dGUgY29kZSBp bnRvIHRoZSBzdHJlYW0qLwogICAgICAgICBzdHJ1Y3Qgc2N0cF9zbmRyY3ZpbmZvIGluZm8gPSB7 IDAgfTsKICAgICAgICAgaW5mby5zaW5mb19zdHJlYW0gICAgICAgICAgID0gQVZfUkIxNihidWYp OwotLSAKMi40OS4xCgoKRnJvbSA2MzgxYzYwNjI4NWJjOThmMzM2NWM2NjFjZTMxODNkMWNmOThk ODAwIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBNaWNoYWVsIE5pZWRlcm1heWVyIDxt aWNoYWVsQG5pZWRlcm1heWVyLmNjPgpEYXRlOiBGcmksIDE5IFNlcCAyMDI1IDAwOjIwOjM2ICsw MjAwClN1YmplY3Q6IFtQQVRDSCA0MTAvNDM0XSBhdmNvZGVjL2V4cjogU2ltcGxlIGNoZWNrIGZv ciBhdmFpbGFibGUgY2hhbm5lbHMKClRoZSBleGlzdGluZyBpc19sdW1hIGNoZWNrIGlzIGZyYWdp bGUgYXMgZGVwZW5kaW5nIG9uIHRoZSBvcmRlcgpvZiBjaGFubmVscyBpdCBjYW4gYmUgc2V0IG9y IHJlc2V0CgpObyB0ZXN0Y2FzZQoKU2lnbmVkLW9mZi1ieTogTWljaGFlbCBOaWVkZXJtYXllciA8 bWljaGFlbEBuaWVkZXJtYXllci5jYz4KKGNoZXJyeSBwaWNrZWQgZnJvbSBjb21taXQgNmU4Y2Yw Mzc3ZmVlNzVkZTlhZDJjYzg3Mzg1YWIzZThmMmM4NzE0MykKU2lnbmVkLW9mZi1ieTogTWljaGFl bCBOaWVkZXJtYXllciA8bWljaGFlbEBuaWVkZXJtYXllci5jYz4KLS0tCiBsaWJhdmNvZGVjL2V4 ci5jIHwgMjkgKysrKysrKysrKysrKysrKysrKysrKysrKy0tLS0KIDEgZmlsZSBjaGFuZ2VkLCAy NSBpbnNlcnRpb25zKCspLCA0IGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL2xpYmF2Y29kZWMv ZXhyLmMgYi9saWJhdmNvZGVjL2V4ci5jCmluZGV4IGM5MGQxMmI2MTguLmExZmI2OWFhOTcgMTAw NjQ0Ci0tLSBhL2xpYmF2Y29kZWMvZXhyLmMKKysrIGIvbGliYXZjb2RlYy9leHIuYwpAQCAtMTc0 LDYgKzE3NCw5IEBAIHR5cGVkZWYgc3RydWN0IEVYUkNvbnRleHQgewogCiAgICAgaW50IGlzX2x1 bWE7LyogMSBpZiB0aGVyZSBpcyBhbiBZIHBsYW5lICovCiAKKyNkZWZpbmUgTShjaHIpICgxPDxj aHIgLSAnQScpCisgICAgaW50IGhhc19jaGFubmVsOyAvLy88IGNvbWJpbmF0aW4gb2YgZmxhZ3Mg cmVwcmVzZW50aW5nIHRoZSBjaGFubmVsIGNvZGVzIEEtWgorCiAgICAgR2V0Qnl0ZUNvbnRleHQg Z2I7CiAgICAgY29uc3QgdWludDhfdCAqYnVmOwogICAgIGludCBidWZfc2l6ZTsKQEAgLTE1OTUs NiArMTU5OCw3IEBAIHN0YXRpYyBpbnQgZGVjb2RlX2hlYWRlcihFWFJDb250ZXh0ICpzLCBBVkZy YW1lICpmcmFtZSkKICAgICBzLT5pc190aWxlICAgICAgICAgICAgPSAwOwogICAgIHMtPmlzX211 bHRpcGFydCAgICAgICA9IDA7CiAgICAgcy0+aXNfbHVtYSAgICAgICAgICAgID0gMDsKKyAgICBz LT5oYXNfY2hhbm5lbCAgICAgICAgPSAwOwogICAgIHMtPmN1cnJlbnRfcGFydCAgICAgICA9IDA7 CiAKICAgICBpZiAoYnl0ZXN0cmVhbTJfZ2V0X2J5dGVzX2xlZnQoZ2IpIDwgMTApIHsKQEAgLTE2 OTgsMjMgKzE3MDIsMjYgQEAgc3RhdGljIGludCBkZWNvZGVfaGVhZGVyKEVYUkNvbnRleHQgKnMs IEFWRnJhbWUgKmZyYW1lKQogICAgICAgICAgICAgICAgIH0KIAogICAgICAgICAgICAgICAgIGlm IChsYXllcl9tYXRjaCkgeyAvKiBvbmx5IHNlYXJjaCBjaGFubmVsIGlmIHRoZSBsYXllciBtYXRj aCBpcyB2YWxpZCAqLworICAgICAgICAgICAgICAgICAgICBpZiAoc3RybGVuKGNoX2diLmJ1ZmZl cikgPT0gMSkgeworICAgICAgICAgICAgICAgICAgICAgICAgaW50IGNoX2NociA9IGF2X3RvdXBw ZXIoKmNoX2diLmJ1ZmZlcik7CisgICAgICAgICAgICAgICAgICAgICAgICBpZiAoY2hfY2hyID49 ICdBJyAmJiBjaF9jaHIgPD0gJ1onKQorICAgICAgICAgICAgICAgICAgICAgICAgICAgIHMtPmhh c19jaGFubmVsIHw9IE0oY2hfY2hyKTsKKyAgICAgICAgICAgICAgICAgICAgICAgIGF2X2xvZyhz LT5hdmN0eCwgQVZfTE9HX0RFQlVHLCAiJWNcbiIsIGNoX2Nocik7CisgICAgICAgICAgICAgICAg ICAgIH0KKwogICAgICAgICAgICAgICAgICAgICBpZiAoIWF2X3N0cmNhc2VjbXAoY2hfZ2IuYnVm ZmVyLCAiUiIpIHx8CiAgICAgICAgICAgICAgICAgICAgICAgICAhYXZfc3RyY2FzZWNtcChjaF9n Yi5idWZmZXIsICJYIikgfHwKICAgICAgICAgICAgICAgICAgICAgICAgICFhdl9zdHJjYXNlY21w KGNoX2diLmJ1ZmZlciwgIlUiKSkgewogICAgICAgICAgICAgICAgICAgICAgICAgY2hhbm5lbF9p bmRleCA9IDA7Ci0gICAgICAgICAgICAgICAgICAgICAgICBzLT5pc19sdW1hID0gMDsKICAgICAg ICAgICAgICAgICAgICAgfSBlbHNlIGlmICghYXZfc3RyY2FzZWNtcChjaF9nYi5idWZmZXIsICJH IikgfHwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAhYXZfc3RyY2FzZWNtcChjaF9n Yi5idWZmZXIsICJWIikpIHsKICAgICAgICAgICAgICAgICAgICAgICAgIGNoYW5uZWxfaW5kZXgg PSAxOwotICAgICAgICAgICAgICAgICAgICAgICAgcy0+aXNfbHVtYSA9IDA7CiAgICAgICAgICAg ICAgICAgICAgIH0gZWxzZSBpZiAoIWF2X3N0cmNhc2VjbXAoY2hfZ2IuYnVmZmVyLCAiWSIpKSB7 CiAgICAgICAgICAgICAgICAgICAgICAgICBjaGFubmVsX2luZGV4ID0gMTsKLSAgICAgICAgICAg ICAgICAgICAgICAgIHMtPmlzX2x1bWEgPSAxOwogICAgICAgICAgICAgICAgICAgICB9IGVsc2Ug aWYgKCFhdl9zdHJjYXNlY21wKGNoX2diLmJ1ZmZlciwgIkIiKSB8fAogICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICFhdl9zdHJjYXNlY21wKGNoX2diLmJ1ZmZlciwgIloiKSB8fAogICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICFhdl9zdHJjYXNlY21wKGNoX2diLmJ1ZmZlciwg IlciKSkgewogICAgICAgICAgICAgICAgICAgICAgICAgY2hhbm5lbF9pbmRleCA9IDI7Ci0gICAg ICAgICAgICAgICAgICAgICAgICBzLT5pc19sdW1hID0gMDsKICAgICAgICAgICAgICAgICAgICAg fSBlbHNlIGlmICghYXZfc3RyY2FzZWNtcChjaF9nYi5idWZmZXIsICJBIikpIHsKICAgICAgICAg ICAgICAgICAgICAgICAgIGNoYW5uZWxfaW5kZXggPSAzOwogICAgICAgICAgICAgICAgICAgICB9 IGVsc2UgewpAQCAtMTc5MCw2ICsxNzk3LDIwIEBAIHN0YXRpYyBpbnQgZGVjb2RlX2hlYWRlcihF WFJDb250ZXh0ICpzLCBBVkZyYW1lICpmcmFtZSkKICAgICAgICAgICAgICAgICAgICAgcy0+Y3Vy cmVudF9jaGFubmVsX29mZnNldCArPSA0OwogICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAg IH0KKyAgICAgICAgICAgIGlmICAgICAgICAoISgoTSgnUicpICsgTSgnRycpICsgTSgnQicpKSAm IH5zLT5oYXNfY2hhbm5lbCkpIHsKKyAgICAgICAgICAgICAgICBzLT5pc19sdW1hID0gMDsKKyAg ICAgICAgICAgIH0gZWxzZSBpZiAoISgoTSgnWCcpICsgTSgnWScpICsgTSgnWicpKSAmIH5zLT5o YXNfY2hhbm5lbCkpIHsKKyAgICAgICAgICAgICAgICBzLT5pc19sdW1hID0gMDsKKyAgICAgICAg ICAgIH0gZWxzZSBpZiAoISgoTSgnWScpICsgTSgnVScpICsgTSgnVicpKSAmIH5zLT5oYXNfY2hh bm5lbCkpIHsKKyAgICAgICAgICAgICAgICBzLT5pc19sdW1hID0gMDsKKyAgICAgICAgICAgIH0g ZWxzZSBpZiAoISgoTSgnWScpICAgICAgICAgICAgICAgICAgKSAmIH5zLT5oYXNfY2hhbm5lbCkg JiYKKyAgICAgICAgICAgICAgICAgICAgICAgISgoTSgnUicpICsgTSgnRycpICsgTSgnQicpICsg TSgnVScpICsgTSgnVicpICsgTSgnWCcpICsgTSgnWicpKSAmICBzLT5oYXNfY2hhbm5lbCkpIHsK KyAgICAgICAgICAgICAgICBzLT5pc19sdW1hID0gMTsKKyAgICAgICAgICAgIH0gZWxzZSB7Cisg ICAgICAgICAgICAgICAgYXZwcml2X3JlcXVlc3Rfc2FtcGxlKHMtPmF2Y3R4LCAiVW5jb21tb24g Y2hhbm5lbCBjb21iaW5hdGlvbiIpOworICAgICAgICAgICAgICAgIHJldCA9IEFWRVJST1IoQVZF UlJPUl9QQVRDSFdFTENPTUUpOworICAgICAgICAgICAgICAgIGdvdG8gZmFpbDsKKyAgICAgICAg ICAgIH0KIAogICAgICAgICAgICAgLyogQ2hlY2sgaWYgYWxsIGNoYW5uZWxzIGFyZSBzZXQgd2l0 aCBhbiBvZmZzZXQgb3IgaWYgdGhlIGNoYW5uZWxzCiAgICAgICAgICAgICAgKiBhcmUgY2F1c2lu ZyBhbiBvdmVyZmxvdyAgKi8KLS0gCjIuNDkuMQoKCkZyb20gYTRhMjdkNDY0NTg4ZTUxNDI5OTgx ZWM2NTMyOTlmZDVjZmY4ZTI5MCBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKRnJvbTogdmV5Z2F4 IDx2ZXlnYUB2ZXlnYXguZGV2PgpEYXRlOiBTdW4sIDIgTm92IDIwMjUgMDI6MzU6NDAgKzAwMDAK U3ViamVjdDogW1BBVENIIDQxMS80MzRdIGF2Y29kZWMvZXhyOiB1c2UgdGlsZSBkaW1lbnNpb25z IGluIHB4cjI0IFVJTlQgY2FzZQoKdXBkYXRlIHRoZSBzd2l0Y2ggc3RhdGVtZW50IGZvciBFWFJf VUlOVCBpbiBweHIyNF91bmNvbXByZXNzIHRvCmNvcnJlY3RseSB1c2UgdGhlIHRpbGUgd2lkdGgg dGQtPnhzaXplIGluc3RlYWQgb2YgdXNpbmcgdGhlIGZ1bGwgd2luZG93CndpZHRoIHMtPnhkZWx0 YS4gcy0+ZGVsdGEgaXMgbGFyZ2VyIHRoYW4gdGQtPnhzaXplIHdoaWNoIGxlYWQgdG8gdHdvCmJ1 ZmZlciBvdmVyZmxvd3Mgd2hlbiBpbnRlcmFjdGluZyB3aXRoIHRoZSBwdHIgdmFyaWFibGUgaW4g dGhlIHNhbWUKc3dpdGNoIHN0YXRlbWVudC4KCkZpeGVzOiBvdXQgb2YgYm91bmRzIHJlYWQgYW5k IHdyaXRlCkZvdW5kLWJ5OiB2ZXlnYXgncyBpbnNvbW5pYSBuZXR3b3JrIChJTlNPTU5JQS0xKQpT aWduZWQtb2ZmLWJ5OiB2ZXlnYXggPHZleWdhQHZleWdheC5kZXY+CihjaGVycnkgcGlja2VkIGZy b20gY29tbWl0IDE2MmY3NWI1ZTY3OThiMzg1YmIzZWFkZDgyODBlZmY1MmQwM2NmMjkpClNpZ25l ZC1vZmYtYnk6IE1pY2hhZWwgTmllZGVybWF5ZXIgPG1pY2hhZWxAbmllZGVybWF5ZXIuY2M+Ci0t LQogbGliYXZjb2RlYy9leHIuYyB8IDEwICsrKysrLS0tLS0KIDEgZmlsZSBjaGFuZ2VkLCA1IGlu c2VydGlvbnMoKyksIDUgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvbGliYXZjb2RlYy9leHIu YyBiL2xpYmF2Y29kZWMvZXhyLmMKaW5kZXggYTFmYjY5YWE5Ny4uYWMwMmUwOWRmYiAxMDA2NDQK LS0tIGEvbGliYXZjb2RlYy9leHIuYworKysgYi9saWJhdmNvZGVjL2V4ci5jCkBAIC03NDMsMTIg Kzc0MywxMiBAQCBzdGF0aWMgaW50IHB4cjI0X3VuY29tcHJlc3MoY29uc3QgRVhSQ29udGV4dCAq cywgY29uc3QgdWludDhfdCAqc3JjLAogICAgICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAg ICAgY2FzZSBFWFJfVUlOVDoKICAgICAgICAgICAgICAgICBwdHJbMF0gPSBpbjsKLSAgICAgICAg ICAgICAgICBwdHJbMV0gPSBwdHJbMF0gKyBzLT54ZGVsdGE7Ci0gICAgICAgICAgICAgICAgcHRy WzJdID0gcHRyWzFdICsgcy0+eGRlbHRhOwotICAgICAgICAgICAgICAgIHB0clszXSA9IHB0clsy XSArIHMtPnhkZWx0YTsKLSAgICAgICAgICAgICAgICBpbiAgICAgPSBwdHJbM10gKyBzLT54ZGVs dGE7CisgICAgICAgICAgICAgICAgcHRyWzFdID0gcHRyWzBdICsgdGQtPnhzaXplOworICAgICAg ICAgICAgICAgIHB0clsyXSA9IHB0clsxXSArIHRkLT54c2l6ZTsKKyAgICAgICAgICAgICAgICBw dHJbM10gPSBwdHJbMl0gKyB0ZC0+eHNpemU7CisgICAgICAgICAgICAgICAgaW4gICAgID0gcHRy WzNdICsgdGQtPnhzaXplOwogCi0gICAgICAgICAgICAgICAgZm9yIChqID0gMDsgaiA8IHMtPnhk ZWx0YTsgKytqKSB7CisgICAgICAgICAgICAgICAgZm9yIChqID0gMDsgaiA8IHRkLT54c2l6ZTsg KytqKSB7CiAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90IGRpZmYgPSAoKHVpbnQzMl90KSoo cHRyWzBdKyspIDw8IDI0KSB8CiAgICAgICAgICAgICAgICAgICAgICgqKHB0clsxXSsrKSA8PCAx NikgfAogICAgICAgICAgICAgICAgICAgICAoKihwdHJbMl0rKykgPDwgOCApIHwKLS0gCjIuNDku MQoKCkZyb20gOTJhMWY2N2UwMWM4NjA1NmM1OTI5YWU4ZjgwYjNiY2RlZTA5NWE2NyBNb24gU2Vw IDE3IDAwOjAwOjAwIDIwMDEKRnJvbTogTWljaGFlbCBOaWVkZXJtYXllciA8bWljaGFlbEBuaWVk ZXJtYXllci5jYz4KRGF0ZTogU2F0LCA4IE5vdiAyMDI1IDAxOjE3OjQ2ICswMTAwClN1YmplY3Q6 IFtQQVRDSCA0MTIvNDM0XSBhdmNvZGVjL2V4cjogc3BlbGxpbmcKClNpZ25lZC1vZmYtYnk6IE1p Y2hhZWwgTmllZGVybWF5ZXIgPG1pY2hhZWxAbmllZGVybWF5ZXIuY2M+CihjaGVycnkgcGlja2Vk IGZyb20gY29tbWl0IGQ4MGY4ZjM2NTEzZWJmZjA1YzUzN2FkYmU3NTZlMzYwMzZmODAwNzQpClNp Z25lZC1vZmYtYnk6IE1pY2hhZWwgTmllZGVybWF5ZXIgPG1pY2hhZWxAbmllZGVybWF5ZXIuY2M+ Ci0tLQogbGliYXZjb2RlYy9leHIuYyB8IDIgKy0KIDEgZmlsZSBjaGFuZ2VkLCAxIGluc2VydGlv bigrKSwgMSBkZWxldGlvbigtKQoKZGlmZiAtLWdpdCBhL2xpYmF2Y29kZWMvZXhyLmMgYi9saWJh dmNvZGVjL2V4ci5jCmluZGV4IGFjMDJlMDlkZmIuLmM5ZDIyNDM1ZjQgMTAwNjQ0Ci0tLSBhL2xp YmF2Y29kZWMvZXhyLmMKKysrIGIvbGliYXZjb2RlYy9leHIuYwpAQCAtMTc1LDcgKzE3NSw3IEBA IHR5cGVkZWYgc3RydWN0IEVYUkNvbnRleHQgewogICAgIGludCBpc19sdW1hOy8qIDEgaWYgdGhl cmUgaXMgYW4gWSBwbGFuZSAqLwogCiAjZGVmaW5lIE0oY2hyKSAoMTw8Y2hyIC0gJ0EnKQotICAg IGludCBoYXNfY2hhbm5lbDsgLy8vPCBjb21iaW5hdGluIG9mIGZsYWdzIHJlcHJlc2VudGluZyB0 aGUgY2hhbm5lbCBjb2RlcyBBLVoKKyAgICBpbnQgaGFzX2NoYW5uZWw7IC8vLzwgY29tYmluYXRp b24gb2YgZmxhZ3MgcmVwcmVzZW50aW5nIHRoZSBjaGFubmVsIGNvZGVzIEEtWgogCiAgICAgR2V0 Qnl0ZUNvbnRleHQgZ2I7CiAgICAgY29uc3QgdWludDhfdCAqYnVmOwotLSAKMi40OS4xCgoKRnJv bSA0ZThmYjUzMGVmNzlkZWMyY2YyNzgzZGZhMTBhZTJkOWI4NjllOGVkIE1vbiBTZXAgMTcgMDA6 MDA6MDAgMjAwMQpGcm9tOiBNaWNoYWVsIE5pZWRlcm1heWVyIDxtaWNoYWVsQG5pZWRlcm1heWVy LmNjPgpEYXRlOiBGcmksIDMxIE9jdCAyMDI1IDE3OjMyOjU2ICswMTAwClN1YmplY3Q6IFtQQVRD SCA0MTMvNDM0XSBhdmZvcm1hdC9odHRwOiBGaXggb2ZmIGJ5IDEgZXJyb3IKCkZpeGVzOiBvdXQg b2YgYXJyYXkgYWNjZXNzCkZpeGVzOiB6ZXJvcGF0aC9vZmYtYnktb25lLW9uZS1ieXRlCgpGb3Vu ZC1ieTogSm9zaHVhIFJvZ2VycyA8am9zaHVhQGpvc2h1YS5odT4KU2lnbmVkLW9mZi1ieTogTWlj aGFlbCBOaWVkZXJtYXllciA8bWljaGFlbEBuaWVkZXJtYXllci5jYz4KKGNoZXJyeSBwaWNrZWQg ZnJvbSBjb21taXQgYjUxOGMwMjdhMGNiOGQ4OWM1ODZmZTI0MWNjOTliMWMyMGJjMGY1MCkKU2ln bmVkLW9mZi1ieTogTWljaGFlbCBOaWVkZXJtYXllciA8bWljaGFlbEBuaWVkZXJtYXllci5jYz4K LS0tCiBsaWJhdmZvcm1hdC9odHRwLmMgfCAyICstCiAxIGZpbGUgY2hhbmdlZCwgMSBpbnNlcnRp b24oKyksIDEgZGVsZXRpb24oLSkKCmRpZmYgLS1naXQgYS9saWJhdmZvcm1hdC9odHRwLmMgYi9s aWJhdmZvcm1hdC9odHRwLmMKaW5kZXggZWM2MGJjMGIxNy4uYjY3NDE3MWQzYyAxMDA2NDQKLS0t IGEvbGliYXZmb3JtYXQvaHR0cC5jCisrKyBiL2xpYmF2Zm9ybWF0L2h0dHAuYwpAQCAtMTg0OSw3 ICsxODQ5LDcgQEAgc3RhdGljIGludCBzdG9yZV9pY3koVVJMQ29udGV4dCAqaCwgaW50IHNpemUp CiAgICAgICAgICAgICByZXQgPSBodHRwX3JlYWRfc3RyZWFtX2FsbChoLCBkYXRhLCBsZW4pOwog ICAgICAgICAgICAgaWYgKHJldCA8IDApCiAgICAgICAgICAgICAgICAgcmV0dXJuIHJldDsKLSAg ICAgICAgICAgIGRhdGFbbGVuICsgMV0gPSAwOworICAgICAgICAgICAgZGF0YVtsZW5dID0gMDsK ICAgICAgICAgICAgIGlmICgocmV0ID0gYXZfb3B0X3NldChzLCAiaWN5X21ldGFkYXRhX3BhY2tl dCIsIGRhdGEsIDApKSA8IDApCiAgICAgICAgICAgICAgICAgcmV0dXJuIHJldDsKICAgICAgICAg ICAgIHVwZGF0ZV9tZXRhZGF0YShoLCBkYXRhKTsKLS0gCjIuNDkuMQoKCkZyb20gNTFiNWUxOWFh NTM0NjM3N2I3Zjc1ZDAwZDdkYjk3NjY1YzgzNTEwOCBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEK RnJvbTogTWljaGFlbCBOaWVkZXJtYXllciA8bWljaGFlbEBuaWVkZXJtYXllci5jYz4KRGF0ZTog RnJpLCAzMSBPY3QgMjAyNSAxNjoxNzoyNyArMDEwMApTdWJqZWN0OiBbUEFUQ0ggNDE0LzQzNF0g YXZmb3JtYXQvcnRwZGVjX3JmYzQxNzU6IEZpeCBtZW1sZWFrIG9mIHNhbXBsaW5nCgpSZXZpZXdl ZC1ieTogSm9zaHVhIFJvZ2VycyA8am9zaHVhQGpvc2h1YS5odT4KU2lnbmVkLW9mZi1ieTogTWlj aGFlbCBOaWVkZXJtYXllciA8bWljaGFlbEBuaWVkZXJtYXllci5jYz4KKGNoZXJyeSBwaWNrZWQg ZnJvbSBjb21taXQgYWYzZGVlMzEzMjIzYzcyMmMzNGU4MjMxY2Q2ODU5MTg4OTI4YTZlMykKU2ln bmVkLW9mZi1ieTogTWljaGFlbCBOaWVkZXJtYXllciA8bWljaGFlbEBuaWVkZXJtYXllci5jYz4K LS0tCiBsaWJhdmZvcm1hdC9ydHBkZWNfcmZjNDE3NS5jIHwgMiArLQogMSBmaWxlIGNoYW5nZWQs IDEgaW5zZXJ0aW9uKCspLCAxIGRlbGV0aW9uKC0pCgpkaWZmIC0tZ2l0IGEvbGliYXZmb3JtYXQv cnRwZGVjX3JmYzQxNzUuYyBiL2xpYmF2Zm9ybWF0L3J0cGRlY19yZmM0MTc1LmMKaW5kZXggZDYy NjBhYjY5ZS4uYzQxZTRmMTllMCAxMDA2NDQKLS0tIGEvbGliYXZmb3JtYXQvcnRwZGVjX3JmYzQx NzUuYworKysgYi9saWJhdmZvcm1hdC9ydHBkZWNfcmZjNDE3NS5jCkBAIC0xMjgsNyArMTI4LDcg QEAgc3RhdGljIGludCByZmM0MTc1X3BhcnNlX2ZtdHAoQVZGb3JtYXRDb250ZXh0ICpzLCBBVlN0 cmVhbSAqc3RyZWFtLAogICAgICAgICBkYXRhLT53aWR0aCA9IGF0b2kodmFsdWUpOwogICAgIGVs c2UgaWYgKCFzdHJuY21wKGF0dHIsICJoZWlnaHQiLCA2KSkKICAgICAgICAgZGF0YS0+aGVpZ2h0 ID0gYXRvaSh2YWx1ZSk7Ci0gICAgZWxzZSBpZiAoIXN0cm5jbXAoYXR0ciwgInNhbXBsaW5nIiwg OCkpCisgICAgZWxzZSBpZiAoZGF0YS0+c2FtcGxpbmcgPT0gTlVMTCAmJiAhc3RybmNtcChhdHRy LCAic2FtcGxpbmciLCA4KSkKICAgICAgICAgZGF0YS0+c2FtcGxpbmcgPSBhdl9zdHJkdXAodmFs dWUpOwogICAgIGVsc2UgaWYgKCFzdHJuY21wKGF0dHIsICJkZXB0aCIsIDUpKQogICAgICAgICBk YXRhLT5kZXB0aCA9IGF0b2kodmFsdWUpOwotLSAKMi40OS4xCgoKRnJvbSBmMWIzZDgwNGRiMDg1 MDlmYTEyMmJiNTZmYTI4ZjUyY2I3YWU0MmFjIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQpGcm9t OiBNaWNoYWVsIE5pZWRlcm1heWVyIDxtaWNoYWVsQG5pZWRlcm1heWVyLmNjPgpEYXRlOiBGcmks IDMxIE9jdCAyMDI1IDE2OjI4OjQ5ICswMTAwClN1YmplY3Q6IFtQQVRDSCA0MTUvNDM0XSBhdmZv cm1hdC9ydHBkZWNfcmZjNDE3NTogQ2hlY2sgZGltZW5zaW9ucwoKRml4ZXM6IG91dCBvZiBhcnJh eSBhY2Nlc3MKRml4ZXM6IHplcm9wYXRoL2ludF9vdmVyZmxvd19pbl9ydHBkZWNfcmZjNDE3NQoK Rm91bmQtYnk6IEpvc2h1YSBSb2dlcnMgPGpvc2h1YUBqb3NodWEuaHU+ClJldmlld2VkLWJ5OiBK b3NodWEgUm9nZXJzIDxqb3NodWFAam9zaHVhLmh1PgpTaWduZWQtb2ZmLWJ5OiBNaWNoYWVsIE5p ZWRlcm1heWVyIDxtaWNoYWVsQG5pZWRlcm1heWVyLmNjPgooY2hlcnJ5IHBpY2tlZCBmcm9tIGNv bW1pdCBkNGUwZDVlZDQ4YWE5YzBlMTFiOWRkZWVhOGMyZDE0NjMyMzE0MDg5KQpTaWduZWQtb2Zm LWJ5OiBNaWNoYWVsIE5pZWRlcm1heWVyIDxtaWNoYWVsQG5pZWRlcm1heWVyLmNjPgotLS0KIGxp YmF2Zm9ybWF0L3J0cGRlY19yZmM0MTc1LmMgfCA3ICsrKysrKysKIDEgZmlsZSBjaGFuZ2VkLCA3 IGluc2VydGlvbnMoKykKCmRpZmYgLS1naXQgYS9saWJhdmZvcm1hdC9ydHBkZWNfcmZjNDE3NS5j IGIvbGliYXZmb3JtYXQvcnRwZGVjX3JmYzQxNzUuYwppbmRleCBjNDFlNGYxOWUwLi40YWQ2OTUw MGFhIDEwMDY0NAotLS0gYS9saWJhdmZvcm1hdC9ydHBkZWNfcmZjNDE3NS5jCisrKyBiL2xpYmF2 Zm9ybWF0L3J0cGRlY19yZmM0MTc1LmMKQEAgLTI0LDYgKzI0LDcgQEAKICNpbmNsdWRlICJhdmlv X2ludGVybmFsLmgiCiAjaW5jbHVkZSAicnRwZGVjX2Zvcm1hdHMuaCIKICNpbmNsdWRlICJsaWJh dnV0aWwvYXZzdHJpbmcuaCIKKyNpbmNsdWRlICJsaWJhdnV0aWwvaW1ndXRpbHMuaCIKICNpbmNs dWRlICJsaWJhdnV0aWwvbWVtLmgiCiAjaW5jbHVkZSAibGliYXZ1dGlsL3BpeGRlc2MuaCIKICNp bmNsdWRlICJsaWJhdnV0aWwvcGFyc2V1dGlscy5oIgpAQCAtMTg2LDYgKzE4Nyw5IEBAIHN0YXRp YyBpbnQgcmZjNDE3NV9wYXJzZV9zZHBfbGluZShBVkZvcm1hdENvbnRleHQgKnMsIGludCBzdF9p bmRleCwKICAgICAgICAgaWYgKHJldCA8IDApCiAgICAgICAgICAgICByZXR1cm4gcmV0OwogCisg ICAgICAgIHJldCA9IGF2X2ltYWdlX2NoZWNrX3NpemUoZGF0YS0+d2lkdGgsIGRhdGEtPmhlaWdo dCwgMCwgcyk7CisgICAgICAgIGlmIChyZXQgPCAwKQorICAgICAgICAgICAgcmV0dXJuIHJldDsK IAogICAgICAgICBpZiAoIWRhdGEtPnNhbXBsaW5nIHx8ICFkYXRhLT5kZXB0aCB8fCAhZGF0YS0+ d2lkdGggfHwgIWRhdGEtPmhlaWdodCkKICAgICAgICAgICAgIHJldHVybiBBVkVSUk9SKEVJTlZB TCk7CkBAIC0yOTYsNiArMzAwLDkgQEAgc3RhdGljIGludCByZmM0MTc1X2hhbmRsZV9wYWNrZXQo QVZGb3JtYXRDb250ZXh0ICpjdHgsIFBheWxvYWRDb250ZXh0ICpkYXRhLAogICAgICAgICBpZiAo ZGF0YS0+aW50ZXJsYWNlZCkKICAgICAgICAgICAgIGxpbmUgPSAyICogbGluZSArIGZpZWxkOwog CisgICAgICAgIGlmIChsaW5lID49IGRhdGEtPmhlaWdodCkKKyAgICAgICAgICAgIHJldHVybiBB VkVSUk9SX0lOVkFMSUREQVRBOworCiAgICAgICAgIC8qIHByZXZlbnQgaWxsLWZvcm1lZCBwYWNr ZXRzIHRvIHdyaXRlIGFmdGVyIGJ1ZmZlcidzIGVuZCAqLwogICAgICAgICBjb3B5X29mZnNldCA9 IChsaW5lICogZGF0YS0+d2lkdGggKyBvZmZzZXQpICogZGF0YS0+cGdyb3VwIC8gZGF0YS0+eGlu YzsKICAgICAgICAgaWYgKGNvcHlfb2Zmc2V0ICsgbGVuZ3RoID4gZGF0YS0+ZnJhbWVfc2l6ZSB8 fCAhZGF0YS0+ZnJhbWUpCi0tIAoyLjQ5LjEKCgpGcm9tIGEyMThlNmE2ZTViZmJkMzUzMTlkNzJl MjViODk4MGVkMzExOTQ4YTkgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCkZyb206IE1pY2hhZWwg TmllZGVybWF5ZXIgPG1pY2hhZWxAbmllZGVybWF5ZXIuY2M+CkRhdGU6IEZyaSwgMzEgT2N0IDIw MjUgMTY6Mjc6NTYgKzAxMDAKU3ViamVjdDogW1BBVENIIDQxNi80MzRdIGF2Zm9ybWF0L3J0cGRl Y19yZmM0MTc1OiBPbmx5IGNoYW5nZSBQYXlsb2FkQ29udGV4dAogb24gc3VjY2VzcwoKUmV2aWV3 ZWQtYnk6IEpvc2h1YSBSb2dlcnMgPGpvc2h1YUBqb3NodWEuaHU+ClNpZ25lZC1vZmYtYnk6IE1p Y2hhZWwgTmllZGVybWF5ZXIgPG1pY2hhZWxAbmllZGVybWF5ZXIuY2M+CihjaGVycnkgcGlja2Vk IGZyb20gY29tbWl0IGMwM2U0OWRkMWQ4ZWUyZGQyMWMyNDAwMmRmYWM5NTY0NGM4MzA0OTgpClNp Z25lZC1vZmYtYnk6IE1pY2hhZWwgTmllZGVybWF5ZXIgPG1pY2hhZWxAbmllZGVybWF5ZXIuY2M+ Ci0tLQogbGliYXZmb3JtYXQvcnRwZGVjX3JmYzQxNzUuYyB8IDIxICsrKysrKysrKysrKysrLS0t LS0tLQogMSBmaWxlIGNoYW5nZWQsIDE0IGluc2VydGlvbnMoKyksIDcgZGVsZXRpb25zKC0pCgpk aWZmIC0tZ2l0IGEvbGliYXZmb3JtYXQvcnRwZGVjX3JmYzQxNzUuYyBiL2xpYmF2Zm9ybWF0L3J0 cGRlY19yZmM0MTc1LmMKaW5kZXggNGFkNjk1MDBhYS4uYjQ5ZmM1NWQyZCAxMDA2NDQKLS0tIGEv bGliYXZmb3JtYXQvcnRwZGVjX3JmYzQxNzUuYworKysgYi9saWJhdmZvcm1hdC9ydHBkZWNfcmZj NDE3NS5jCkBAIC0yMyw2ICsyMyw3IEBACiAKICNpbmNsdWRlICJhdmlvX2ludGVybmFsLmgiCiAj aW5jbHVkZSAicnRwZGVjX2Zvcm1hdHMuaCIKKyNpbmNsdWRlICJsaWJhdnV0aWwvYXZhc3NlcnQu aCIKICNpbmNsdWRlICJsaWJhdnV0aWwvYXZzdHJpbmcuaCIKICNpbmNsdWRlICJsaWJhdnV0aWwv aW1ndXRpbHMuaCIKICNpbmNsdWRlICJsaWJhdnV0aWwvbWVtLmgiCkBAIC0xNzMsMzMgKzE3NCwz OSBAQCBzdGF0aWMgaW50IHJmYzQxNzVfcGFyc2VfZm10cChBVkZvcm1hdENvbnRleHQgKnMsIEFW U3RyZWFtICpzdHJlYW0sCiB9CiAKIHN0YXRpYyBpbnQgcmZjNDE3NV9wYXJzZV9zZHBfbGluZShB VkZvcm1hdENvbnRleHQgKnMsIGludCBzdF9pbmRleCwKLSAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICBQYXlsb2FkQ29udGV4dCAqZGF0YSwgY29uc3QgY2hhciAqbGluZSkKKyAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBQYXlsb2FkQ29udGV4dCAqZGF0YV9hcmcsIGNv bnN0IGNoYXIgKmxpbmUpCiB7CiAgICAgY29uc3QgY2hhciAqcDsKIAogICAgIGlmIChzdF9pbmRl eCA8IDApCiAgICAgICAgIHJldHVybiAwOwogCisgICAgYXZfYXNzZXJ0MCghZGF0YV9hcmctPnNh bXBsaW5nKTsKKwogICAgIGlmIChhdl9zdHJzdGFydChsaW5lLCAiZm10cDoiLCAmcCkpIHsKICAg ICAgICAgQVZTdHJlYW0gKnN0cmVhbSA9IHMtPnN0cmVhbXNbc3RfaW5kZXhdOworICAgICAgICBQ YXlsb2FkQ29udGV4dCBkYXRhMCA9ICpkYXRhX2FyZywgKmRhdGEgPSAmZGF0YTA7CiAgICAgICAg IGludCByZXQgPSBmZl9wYXJzZV9mbXRwKHMsIHN0cmVhbSwgZGF0YSwgcCwgcmZjNDE3NV9wYXJz ZV9mbXRwKTsKIAorICAgICAgICBpZiAoIWRhdGEtPnNhbXBsaW5nIHx8ICFkYXRhLT5kZXB0aCB8 fCAhZGF0YS0+d2lkdGggfHwgIWRhdGEtPmhlaWdodCkKKyAgICAgICAgICAgIHJldCA9ICBBVkVS Uk9SKEVJTlZBTCk7CisKICAgICAgICAgaWYgKHJldCA8IDApCi0gICAgICAgICAgICByZXR1cm4g cmV0OworICAgICAgICAgICAgZ290byBmYWlsOwogCiAgICAgICAgIHJldCA9IGF2X2ltYWdlX2No ZWNrX3NpemUoZGF0YS0+d2lkdGgsIGRhdGEtPmhlaWdodCwgMCwgcyk7CiAgICAgICAgIGlmIChy ZXQgPCAwKQotICAgICAgICAgICAgcmV0dXJuIHJldDsKLQotICAgICAgICBpZiAoIWRhdGEtPnNh bXBsaW5nIHx8ICFkYXRhLT5kZXB0aCB8fCAhZGF0YS0+d2lkdGggfHwgIWRhdGEtPmhlaWdodCkK LSAgICAgICAgICAgIHJldHVybiBBVkVSUk9SKEVJTlZBTCk7CisgICAgICAgICAgICBnb3RvIGZh aWw7CiAKICAgICAgICAgc3RyZWFtLT5jb2RlY3Bhci0+d2lkdGggPSBkYXRhLT53aWR0aDsKICAg ICAgICAgc3RyZWFtLT5jb2RlY3Bhci0+aGVpZ2h0ID0gZGF0YS0+aGVpZ2h0OwogCiAgICAgICAg IHJldCA9IHJmYzQxNzVfcGFyc2VfZm9ybWF0KHN0cmVhbSwgZGF0YSk7CiAgICAgICAgIGF2X2Zy ZWVwKCZkYXRhLT5zYW1wbGluZyk7Ci0KKyAgICAgICAgaWYgKHJldCA+PSAwKQorICAgICAgICAg ICAgKmRhdGFfYXJnID0gKmRhdGE7CitmYWlsOgorICAgICAgICBhdl9mcmVlcCgmZGF0YS0+c2Ft cGxpbmcpOwogICAgICAgICByZXR1cm4gcmV0OwogICAgIH0KIAotLSAKMi40OS4xCgoKRnJvbSAw Zjg0M2E4ZjYyMjcxNTljZDc2NGY5NjViZjY0MDc1Yzg5ZDYyMTU1IE1vbiBTZXAgMTcgMDA6MDA6 MDAgMjAwMQpGcm9tOiBNaWNoYWVsIE5pZWRlcm1heWVyIDxtaWNoYWVsQG5pZWRlcm1heWVyLmNj PgpEYXRlOiBTdW4sIDEzIEp1bCAyMDI1IDAxOjM0OjE3ICswMjAwClN1YmplY3Q6IFtQQVRDSCA0 MTcvNDM0XSBhdmNvZGVjL29zcTogRml4IDMyYml0IHNhbXBsZSBvdmVyZmxvdwoKRml4ZXM6IHNp Z25lZCBpbnRlZ2VyIG92ZXJmbG93OiAyMTQ3NDgzNTY1ICsgMTI4IGNhbm5vdCBiZSByZXByZXNl bnRlZCBpbiB0eXBlICdpbnQnCkZpeGVzOiA0MjgwNTU3MTUvY2x1c3RlcmZ1enotdGVzdGNhc2Ut bWluaW1pemVkLWZmbXBlZ19BVl9DT0RFQ19JRF9PU1FfZnV6emVyLTYzNTgwNjk5MDA4MDQwOTYK CkZvdW5kLWJ5OiBjb250aW51b3VzIGZ1enppbmcgcHJvY2VzcyBodHRwczovL2dpdGh1Yi5jb20v Z29vZ2xlL29zcy1mdXp6L3RyZWUvbWFzdGVyL3Byb2plY3RzL2ZmbXBlZwpTaWduZWQtb2ZmLWJ5 OiBNaWNoYWVsIE5pZWRlcm1heWVyIDxtaWNoYWVsQG5pZWRlcm1heWVyLmNjPgooY2hlcnJ5IHBp Y2tlZCBmcm9tIGNvbW1pdCAwODgxNmI5Mzc2MGY0MzQzM2EwN2U5ODBmYTllZWFiNDEzNWRlNzhj KQpTaWduZWQtb2ZmLWJ5OiBNaWNoYWVsIE5pZWRlcm1heWVyIDxtaWNoYWVsQG5pZWRlcm1heWVy LmNjPgotLS0KIGxpYmF2Y29kZWMvb3NxLmMgfCAyICstCiAxIGZpbGUgY2hhbmdlZCwgMSBpbnNl cnRpb24oKyksIDEgZGVsZXRpb24oLSkKCmRpZmYgLS1naXQgYS9saWJhdmNvZGVjL29zcS5jIGIv bGliYXZjb2RlYy9vc3EuYwppbmRleCBmYmI4NzllYzhkLi4zOTc0M2FjYmNjIDEwMDY0NAotLS0g YS9saWJhdmNvZGVjL29zcS5jCisrKyBiL2xpYmF2Y29kZWMvb3NxLmMKQEAgLTM5MCw3ICszOTAs NyBAQCBzdGF0aWMgaW50IG9zcV9kZWNvZGVfYmxvY2soQVZDb2RlY0NvbnRleHQgKmF2Y3R4LCBB VkZyYW1lICpmcmFtZSkKICAgICAgICAgICAgIGludDMyX3QgKnNyYyA9IHMtPmRlY29kZV9idWZm ZXJbY2hdICsgT0ZGU0VUOwogCiAgICAgICAgICAgICBmb3IgKGludCBuID0gMDsgbiA8IG5iX3Nh bXBsZXM7IG4rKykKLSAgICAgICAgICAgICAgICBkc3Rbbl0gPSBhdl9jbGlwX3VpbnQ4KHNyY1tu XSArIDB4ODApOworICAgICAgICAgICAgICAgIGRzdFtuXSA9IGF2X2NsaXBfdWludDgoc3JjW25d ICsgMHg4MGxsKTsKICAgICAgICAgfQogICAgICAgICBicmVhazsKICAgICBjYXNlIEFWX1NBTVBM RV9GTVRfUzE2UDoKLS0gCjIuNDkuMQoKCkZyb20gNDMxZTU4MDQyNGQ0MzRlN2RlYmM3NTVmMWU3 YzBjYjVkMTE3MmE3ZiBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKRnJvbTogTWljaGFlbCBOaWVk ZXJtYXllciA8bWljaGFlbEBuaWVkZXJtYXllci5jYz4KRGF0ZTogU2F0LCA4IE5vdiAyMDI1IDIz OjIyOjU2ICswMTAwClN1YmplY3Q6IFtQQVRDSCA0MTgvNDM0XSBhdmNvZGVjL3V0dmlkZW9kZWM6 IFNldCBCIGZvciB0aGUgd2lkdGg9IDEgY2FzZSBpbgogcmVzdG9yZV9tZWRpYW5fcGxhbmFyX2ls KCkKCkZpeGVzOiB1c2Ugb2YgdW5pbml0aWFsaXplZCBtZW1vcnkKRml4ZXM6IDQzOTg3ODM4OC9j bHVzdGVyZnV6ei10ZXN0Y2FzZS1taW5pbWl6ZWQtZmZtcGVnX0FWX0NPREVDX0lEX1VUVklERU9f REVDX2Z1enplci01NjM1ODY2MjAzODQ4NzA0CgpGb3VuZC1ieTogY29udGludW91cyBmdXp6aW5n IHByb2Nlc3MgaHR0cHM6Ly9naXRodWIuY29tL2dvb2dsZS9vc3MtZnV6ei90cmVlL21hc3Rlci9w cm9qZWN0cy9mZm1wZWcKU2lnbmVkLW9mZi1ieTogTWljaGFlbCBOaWVkZXJtYXllciA8bWljaGFl bEBuaWVkZXJtYXllci5jYz4KKGNoZXJyeSBwaWNrZWQgZnJvbSBjb21taXQgNTlkYjMyYjQzM2Vh OWU3NzY2ZWM3ZmFjOTk0ODYwZWQxNWQ3ZWQ3ZCkKU2lnbmVkLW9mZi1ieTogTWljaGFlbCBOaWVk ZXJtYXllciA8bWljaGFlbEBuaWVkZXJtYXllci5jYz4KLS0tCiBsaWJhdmNvZGVjL3V0dmlkZW9k ZWMuYyB8IDIgKy0KIDEgZmlsZSBjaGFuZ2VkLCAxIGluc2VydGlvbigrKSwgMSBkZWxldGlvbigt KQoKZGlmZiAtLWdpdCBhL2xpYmF2Y29kZWMvdXR2aWRlb2RlYy5jIGIvbGliYXZjb2RlYy91dHZp ZGVvZGVjLmMKaW5kZXggYmMwMmFjNDRkNS4uMDk4NzA2YjcwNSAxMDA2NDQKLS0tIGEvbGliYXZj b2RlYy91dHZpZGVvZGVjLmMKKysrIGIvbGliYXZjb2RlYy91dHZpZGVvZGVjLmMKQEAgLTQ1Nyw3 ICs0NTcsNyBAQCBzdGF0aWMgdm9pZCByZXN0b3JlX21lZGlhbl9wbGFuYXJfaWwoVXR2aWRlb0Nv bnRleHQgKmMsIHVpbnQ4X3QgKnNyYywgcHRyZGlmZl90CiAgICAgICAgIC8vIHNlY29uZCBsaW5l IC0gZmlyc3QgZWxlbWVudCBoYXMgdG9wIHByZWRpY3Rpb24sIHRoZSByZXN0IHVzZXMgbWVkaWFu CiAgICAgICAgIEMgICAgICAgID0gYnNyY1stc3RyaWRlMl07CiAgICAgICAgIGJzcmNbMF0gKz0g QzsKLSAgICAgICAgQSAgICAgICAgPSBic3JjWzBdOworICAgICAgICBBID0gQiAgICA9IGJzcmNb MF07CiAgICAgICAgIGZvciAoaSA9IDE7IGkgPCBGRk1JTih3aWR0aCwgMTYpOyBpKyspIHsgLyog c2NhbGFyIGxvb3AgKERTUCBuZWVkIGFsaWduIDE2KSAqLwogICAgICAgICAgICAgQiAgICAgICAg PSBic3JjW2kgLSBzdHJpZGUyXTsKICAgICAgICAgICAgIGJzcmNbaV0gKz0gbWlkX3ByZWQoQSwg QiwgKHVpbnQ4X3QpKEEgKyBCIC0gQykpOwotLSAKMi40OS4xCgoKRnJvbSBlZmQ2Zjc1Y2ZjYzNm NWQ3NDUzN2RiNzkzZTNjYTc3ODg3ZGY1NGFhIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQpGcm9t OiBNaWNoYWVsIE5pZWRlcm1heWVyIDxtaWNoYWVsQG5pZWRlcm1heWVyLmNjPgpEYXRlOiBGcmks IDMxIE9jdCAyMDI1IDIzOjMxOjQwICswMTAwClN1YmplY3Q6IFtQQVRDSCA0MTkvNDM0XSBhdmNv ZGVjL21lZGlhY29kZWNkZWNfY29tbW9uOiBDaGVjayB0aGF0IHRoZSBpbnB1dCB0bwogbWVkaWFj b2RlY193cmFwX3N3X2F1ZGlvX2J1ZmZlcigpIGNvbnRhaW5zIGNoYW5uZWwgKiBzYW1wbGVfc2l6 ZQoKRml4ZXM6IG91dCBvZiBhcnJheSBhY2Nlc3MKbm8gdGVzdGNhc2UKCkZvdW5kLWJ5OiBKb3No dWEgUm9nZXJzIDxqb3NodWFAam9zaHVhLmh1PiB3aXRoIFplcm9QYXRoClJldmlld2VkLWJ5OiBK b3NodWEgUm9nZXJzIDxqb3NodWFAam9zaHVhLmh1PgpTaWduZWQtb2ZmLWJ5OiBNaWNoYWVsIE5p ZWRlcm1heWVyIDxtaWNoYWVsQG5pZWRlcm1heWVyLmNjPgooY2hlcnJ5IHBpY2tlZCBmcm9tIGNv bW1pdCA0MWE5YzZlYzVmNzVkODczN2RhM2UzODIyM2I4YzRlOTIzNzAzNDAxKQpTaWduZWQtb2Zm LWJ5OiBNaWNoYWVsIE5pZWRlcm1heWVyIDxtaWNoYWVsQG5pZWRlcm1heWVyLmNjPgotLS0KIGxp YmF2Y29kZWMvbWVkaWFjb2RlY2RlY19jb21tb24uYyB8IDYgKysrKysrCiAxIGZpbGUgY2hhbmdl ZCwgNiBpbnNlcnRpb25zKCspCgpkaWZmIC0tZ2l0IGEvbGliYXZjb2RlYy9tZWRpYWNvZGVjZGVj X2NvbW1vbi5jIGIvbGliYXZjb2RlYy9tZWRpYWNvZGVjZGVjX2NvbW1vbi5jCmluZGV4IDhhMjcw ZjJmMjkuLjg0MmE3ZDJiYmEgMTAwNjQ0Ci0tLSBhL2xpYmF2Y29kZWMvbWVkaWFjb2RlY2RlY19j b21tb24uYworKysgYi9saWJhdmNvZGVjL21lZGlhY29kZWNkZWNfY29tbW9uLmMKQEAgLTM4NSw2 ICszODUsMTIgQEAgc3RhdGljIGludCBtZWRpYWNvZGVjX3dyYXBfc3dfYXVkaW9fYnVmZmVyKEFW Q29kZWNDb250ZXh0ICphdmN0eCwKICAgICAgICAgZ290byBkb25lOwogICAgIH0KIAorICAgIGlm IChpbmZvLT5zaXplICUgKHNhbXBsZV9zaXplICogYXZjdHgtPmNoX2xheW91dC5uYl9jaGFubmVs cykpIHsKKyAgICAgICAgYXZfbG9nKGF2Y3R4LCBBVl9MT0dfRVJST1IsICJpbnB1dCBpcyBub3Qg YSBtdWx0aXBsZSBvZiBjaGFubmVscyAqIHNhbXBsZV9zaXplXG4iKTsKKyAgICAgICAgcmV0ID0g QVZFUlJPUihFSU5WQUwpOworICAgICAgICBnb3RvIGRvbmU7CisgICAgfQorCiAgICAgZnJhbWUt PmZvcm1hdCA9IGF2Y3R4LT5zYW1wbGVfZm10OwogICAgIGZyYW1lLT5zYW1wbGVfcmF0ZSA9IGF2 Y3R4LT5zYW1wbGVfcmF0ZTsKICAgICBmcmFtZS0+bmJfc2FtcGxlcyA9IGluZm8tPnNpemUgLyAo c2FtcGxlX3NpemUgKiBhdmN0eC0+Y2hfbGF5b3V0Lm5iX2NoYW5uZWxzKTsKLS0gCjIuNDkuMQoK CkZyb20gNjQ4NjU4OGQ3OWM1NDY4YmZlMTA3N2JiMzJlNGRiNGU5MjA5NGUxYyBNb24gU2VwIDE3 IDAwOjAwOjAwIDIwMDEKRnJvbTogTWljaGFlbCBOaWVkZXJtYXllciA8bWljaGFlbEBuaWVkZXJt YXllci5jYz4KRGF0ZTogU2F0LCAxIE5vdiAyMDI1IDAxOjI5OjMyICswMTAwClN1YmplY3Q6IFtQ QVRDSCA0MjAvNDM0XSBhdmZpbHRlci92Zl9kcmF3dGV4dDogQWNjb3VudCBmb3IgYmJveCB0ZXh0 IHNlcGVyYXRvcgoKRml4ZXM6IG91dCBvZiBhcnJheSBhY2Nlc3MKbm8gdGVzdCBjYXNlCgpGb3Vu ZC1ieTogSm9zaHVhIFJvZ2VycyA8am9zaHVhQGpvc2h1YS5odT4gd2l0aCBaZXJvUGF0aApSZXZp ZXdlZC1ieTogSm9zaHVhIFJvZ2VycyA8am9zaHVhQGpvc2h1YS5odT4KU2lnbmVkLW9mZi1ieTog TWljaGFlbCBOaWVkZXJtYXllciA8bWljaGFlbEBuaWVkZXJtYXllci5jYz4KKGNoZXJyeSBwaWNr ZWQgZnJvbSBjb21taXQgYWQ5NTZmZjA3NmVhODA4ZTVkNjRjOWFjMTdjMWJmYzFiYTdkMGNjMCkK U2lnbmVkLW9mZi1ieTogTWljaGFlbCBOaWVkZXJtYXllciA8bWljaGFlbEBuaWVkZXJtYXllci5j Yz4KLS0tCiBsaWJhdmZpbHRlci92Zl9kcmF3dGV4dC5jIHwgMiArLQogMSBmaWxlIGNoYW5nZWQs IDEgaW5zZXJ0aW9uKCspLCAxIGRlbGV0aW9uKC0pCgpkaWZmIC0tZ2l0IGEvbGliYXZmaWx0ZXIv dmZfZHJhd3RleHQuYyBiL2xpYmF2ZmlsdGVyL3ZmX2RyYXd0ZXh0LmMKaW5kZXggZGFhYTFmZDgz YS4uMjMyZTQwMTVmYiAxMDA2NDQKLS0tIGEvbGliYXZmaWx0ZXIvdmZfZHJhd3RleHQuYworKysg Yi9saWJhdmZpbHRlci92Zl9kcmF3dGV4dC5jCkBAIC0xMDE3LDcgKzEwMTcsNyBAQCBzdGF0aWMg YXZfY29sZCBpbnQgaW5pdChBVkZpbHRlckNvbnRleHQgKmN0eCkKICAgICAgICAgICAgIGF2X2xv ZyhjdHgsIEFWX0xPR19XQVJOSU5HLCAiTXVsdGlwbGUgdGV4dHMgcHJvdmlkZWQsIHdpbGwgdXNl IHRleHRfc291cmNlIG9ubHlcbiIpOwogICAgICAgICAgICAgYXZfZnJlZShzLT50ZXh0KTsKICAg ICAgICAgfQotICAgICAgICBzLT50ZXh0ID0gYXZfbWFsbG9jeihBVl9ERVRFQ1RJT05fQkJPWF9M QUJFTF9OQU1FX01BWF9TSVpFICoKKyAgICAgICAgcy0+dGV4dCA9IGF2X21hbGxvY3ooKEFWX0RF VEVDVElPTl9CQk9YX0xBQkVMX05BTUVfTUFYX1NJWkUgKyAxKSAqCiAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIChBVl9OVU1fREVURUNUSU9OX0JCT1hfQ0xBU1NJRlkgKyAxKSk7CiAgICAg ICAgIGlmICghcy0+dGV4dCkKICAgICAgICAgICAgIHJldHVybiBBVkVSUk9SKEVOT01FTSk7Ci0t IAoyLjQ5LjEKCgpGcm9tIDczZDAwM2FlNzg1YmFkODFmZThjODJiMTkxNTIzNjkwNTRjNmQyZTYg TW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCkZyb206IE1pY2hhZWwgTmllZGVybWF5ZXIgPG1pY2hh ZWxAbmllZGVybWF5ZXIuY2M+CkRhdGU6IFdlZCwgMTkgTm92IDIwMjUgMTY6NDY6MTEgKzAxMDAK U3ViamVjdDogW1BBVENIIDQyMS80MzRdIHVwZGF0emUgZm9yIDcuMS4zCgpTaWduZWQtb2ZmLWJ5 OiBNaWNoYWVsIE5pZWRlcm1heWVyIDxtaWNoYWVsQG5pZWRlcm1heWVyLmNjPgotLS0KIENoYW5n ZWxvZyAgICB8IDM2ICsrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKwogUkVMRUFT RSAgICAgIHwgIDIgKy0KIGRvYy9Eb3h5ZmlsZSB8ICAyICstCiAzIGZpbGVzIGNoYW5nZWQsIDM4 IGluc2VydGlvbnMoKyksIDIgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvQ2hhbmdlbG9nIGIv Q2hhbmdlbG9nCmluZGV4IGI4ZjE1YWFiYjcuLjBkMjE2ZTc3ODIgMTAwNjQ0Ci0tLSBhL0NoYW5n ZWxvZworKysgYi9DaGFuZ2Vsb2cKQEAgLTEsNiArMSw0MiBAQAogRW50cmllcyBhcmUgc29ydGVk IGNocm9ub2xvZ2ljYWxseSBmcm9tIG9sZGVzdCB0byB5b3VuZ2VzdCB3aXRoaW4gZWFjaCByZWxl YXNlLAogcmVsZWFzZXMgYXJlIHNvcnRlZCBmcm9tIHlvdW5nZXN0IHRvIG9sZGVzdC4KIAordmVy c2lvbiA3LjEuMzoKKyBhdmZpbHRlci92Zl9kcmF3dGV4dDogQWNjb3VudCBmb3IgYmJveCB0ZXh0 IHNlcGVyYXRvcgorIGF2Y29kZWMvbWVkaWFjb2RlY2RlY19jb21tb246IENoZWNrIHRoYXQgdGhl IGlucHV0IHRvIG1lZGlhY29kZWNfd3JhcF9zd19hdWRpb19idWZmZXIoKSBjb250YWlucyBjaGFu bmVsICogc2FtcGxlX3NpemUKKyBhdmNvZGVjL3V0dmlkZW9kZWM6IFNldCBCIGZvciB0aGUgd2lk dGg9IDEgY2FzZSBpbiByZXN0b3JlX21lZGlhbl9wbGFuYXJfaWwoKQorIGF2Y29kZWMvb3NxOiBG aXggMzJiaXQgc2FtcGxlIG92ZXJmbG93CisgYXZmb3JtYXQvcnRwZGVjX3JmYzQxNzU6IE9ubHkg Y2hhbmdlIFBheWxvYWRDb250ZXh0IG9uIHN1Y2Nlc3MKKyBhdmZvcm1hdC9ydHBkZWNfcmZjNDE3 NTogQ2hlY2sgZGltZW5zaW9ucworIGF2Zm9ybWF0L3J0cGRlY19yZmM0MTc1OiBGaXggbWVtbGVh ayBvZiBzYW1wbGluZworIGF2Zm9ybWF0L2h0dHA6IEZpeCBvZmYgYnkgMSBlcnJvcgorIGF2Y29k ZWMvZXhyOiBzcGVsbGluZworIGF2Y29kZWMvZXhyOiB1c2UgdGlsZSBkaW1lbnNpb25zIGluIHB4 cjI0IFVJTlQgY2FzZQorIGF2Y29kZWMvZXhyOiBTaW1wbGUgY2hlY2sgZm9yIGF2YWlsYWJsZSBj aGFubmVscworIGF2Zm9ybWF0L3NjdHA6IENoZWNrIHNpemUgaW4gc2N0cF93cml0ZSgpCisgYXZm b3JtYXQvcnRtcHByb3RvOiBjb25zaWRlciBjb21tYW5kIGxpbmUgYXJndW1lbnQgbGVuZ3Rocwor IGF2Zm9ybWF0L3J0bXBwcm90b18gQ2hlY2sgdGN1cmwgYW5kIGZsYXNodmVyIGxlbmd0aAorIGF2 Y29kZWMvZzcyM18xZW5jOiBNYWtlIG1pbl9lcnIgNjRiaXQKKyBhdmNvZGVjL3ZsYzogQ2xlYXIg dmFsOC8xNiBpbiB2bGNfbXVsdGlfZ2VuKCkgYnkgYXZfbWFsbG9jeigpCisgYXZmb3JtYXQvcnRw ZW5jX2gyNjRfaGV2YzogQ2hlY2sgc3BhY2UgZm9yIG5hbF9sZW5ndGhfc2l6ZSBpbiBmZl9ydHBf c2VuZF9oMjY0X2hldmMoKQorIHN3c2NhbGUvb3V0cHV0OiBGaXggaW50ZWdlciBvdmVyZmxvdyBp biB5dXYyeWExNl9YX2NfdGVtcGxhdGUoKQorIGF2Y29kZWMvaGV2Yy9zZWk6IHByZXZlbnQgc3Rv cmluZyBhIHBvdGVudGlhbGx5IGJvZ3VzIG51bV9yZWZfZGlzcGxheXMgdmFsdWUgaW4gSEVWQ1NF SVREUkRJCisgYXZjb2RlYy9leHI6IENoZWNrIHRoYXQgRFdBIGhhcyAzIGNoYW5uZWxzCisgYXZj b2RlYy9leHI6IGNoZWNrIGFjX3NpemUKKyBhdmNvZGVjL2V4cjogUm91bmQgZGNfdy9oIHVwCisg YXZjb2RlYy9tanBlZ2RlYzogRXhwbGFpbiBidWZfc2l6ZS93aWR0aC9oZWlnaHQgY2hlY2sKKyBh dmZvcm1hdC9hdmlvYnVmOiBLZWVwIGNoZWNrc3VtX3B0ciBjb25zaXN0ZW50IGluIGF2aW9fc2Vl aygpCisgZmZ0b29scy9mZm1wZWdfc2NoZWQ6IHByZXZlbnQgZGVtdXhlcnMgZnJvbSBnZXR0aW5n IHN0dWNrCisgbGF2Yy9hYXJjaDY0OiBGaXggYWRkcCBvdmVyZmxvdyBpbiBmZl9wcmVkMTZ4MTZf cGxhbmVfbmVvbl8xMAorIGF2Y29kZWMvbWxwZGVjOiBkb24ndCBkZXBlbmQgb24gY29udGV4dCBj aGFubmVsIGxheW91dCB3aGVuIHNldHRpbmcgc3Vic3RyZWFtIG1hc2tzCisgYXZmb3JtYXQvZGVt dXg6IHBhc3MgbmV3IGV4dHJhZGF0YSB0byB0aGUgcGFyc2VyCisgYXZjb2RlYy9zdnExZW5jOiBy ZXN0cmljdCBBbHRpdmVjIGFjY2VsZXJhdGlvbiB0byBiaWctZW5kaWFuIFBPV0VSIGNvbmZpZ3Vy YXRpb25zCisgbGliYXZ1dGlsL2FybTogUmVuYW1lIHRoZSBIV0NBUCBkZWZpbmVzCisgbGliYXZ1 dGlsL2FybTogTWFrZSB1c2Ugb2YgZWxmX2F1eF9pbmZvKCkgb24gRnJlZUJTRC9PcGVuQlNECisg YXZjb2RlYy9kZWNvZGU6IHN5bmMgaW5pdGlhbF9waWN0X3R5cGUgYW5kIGludHJhX29ubHlfZmxh ZyB3aXRoIHRocmVhZCB3b3JrZXIncyBhdmN0eAorIGF2Y29kZWMveDg2L3BuZ2RzcDogYWRkIG1p c3NpbmcgZW1tcyBhdCB0aGUgZW5kIG9mIGFkZF9wbmdfcGFldGhfcHJlZGljdGlvbgorCisKIHZl cnNpb24gNy4xLjI6CiAgZG9jL2V4YW1wbGVzL3ZhYXBpX2VuY29kZTogZml4IGludmFsaWQgY2hl Y2sgb24gZndyaXRlCiAgYXZjb2RlYy9saWJyc3ZnZGVjOiBmaXggY29tcGlsYXRpb24gd2l0aCBs aWJyc3ZnIDIuNTAuMwpkaWZmIC0tZ2l0IGEvUkVMRUFTRSBiL1JFTEVBU0UKaW5kZXggYThhMTg4 NzU2OC4uMTk5NmM1MDQ0NyAxMDA2NDQKLS0tIGEvUkVMRUFTRQorKysgYi9SRUxFQVNFCkBAIC0x ICsxIEBACi03LjEuMgorNy4xLjMKZGlmZiAtLWdpdCBhL2RvYy9Eb3h5ZmlsZSBiL2RvYy9Eb3h5 ZmlsZQppbmRleCBhYmFlMTM4OThiLi4wNDkzNDgyMDQ5IDEwMDY0NAotLS0gYS9kb2MvRG94eWZp bGUKKysrIGIvZG9jL0RveHlmaWxlCkBAIC0zOCw3ICszOCw3IEBAIFBST0pFQ1RfTkFNRSAgICAg ICAgICAgPSBGRm1wZWcKICMgY291bGQgYmUgaGFuZHkgZm9yIGFyY2hpdmluZyB0aGUgZ2VuZXJh dGVkIGRvY3VtZW50YXRpb24gb3IgaWYgc29tZSB2ZXJzaW9uCiAjIGNvbnRyb2wgc3lzdGVtIGlz IHVzZWQuCiAKLVBST0pFQ1RfTlVNQkVSICAgICAgICAgPSA3LjEuMgorUFJPSkVDVF9OVU1CRVIg ICAgICAgICA9IDcuMS4zCiAKICMgVXNpbmcgdGhlIFBST0pFQ1RfQlJJRUYgdGFnIG9uZSBjYW4g cHJvdmlkZSBhbiBvcHRpb25hbCBvbmUgbGluZSBkZXNjcmlwdGlvbgogIyBmb3IgYSBwcm9qZWN0 IHRoYXQgYXBwZWFycyBhdCB0aGUgdG9wIG9mIGVhY2ggcGFnZSBhbmQgc2hvdWxkIGdpdmUgdmll d2VyIGEKLS0gCjIuNDkuMQoKCkZyb20gYmFlZTVmNWUyNzUxYjYxNTcyYWJlMjNhOGY4YTAwNDJk MjdjODllNiBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKRnJvbTogSmFtZXMgQWxtZXIgPGphbXJp YWxAZ21haWwuY29tPgpEYXRlOiBGcmksIDE3IEphbiAyMDI1IDAwOjA1OjMxIC0wMzAwClN1Ympl Y3Q6IFtQQVRDSCA0MjIvNDM0XSBhdmZvcm1hdC9hdmZvcm1hdDogYWxzbyBjbGVhciBGRkZvcm1h dENvbnRleHQgcGFja2V0CiBxdWV1ZSB3aGVuIGNsb3NpbmcgYSBtdXhlcgoKcGFja2V0X2J1ZmZl ciBpcyB1c2VkIGluIG11eC5jLCBhbmQgaWYgYSBtdXhpbmcgcHJvY2VzcyBmYWlscyBhdCBhIHBv aW50IHdoZXJlCnBhY2tldHMgcmVtYWluZWQgaW4gc2FpZCBxdWV1ZSwgdGhleSB3aWxsIGxlYWsu CgpGaXhlcyB0aWNrZXQgIzExNDE5CgpTaWduZWQtb2ZmLWJ5OiBKYW1lcyBBbG1lciA8amFtcmlh bEBnbWFpbC5jb20+CihjaGVycnkgcGlja2VkIGZyb20gY29tbWl0IGMwOGQzMDA0ODFiOGViYjg0 NmNkNDNhNDczOTg4ZmRiYzY3OTNkMWIpCi0tLQogbGliYXZmb3JtYXQvYXZmb3JtYXQuYyB8IDEg KwogMSBmaWxlIGNoYW5nZWQsIDEgaW5zZXJ0aW9uKCspCgpkaWZmIC0tZ2l0IGEvbGliYXZmb3Jt YXQvYXZmb3JtYXQuYyBiL2xpYmF2Zm9ybWF0L2F2Zm9ybWF0LmMKaW5kZXggMDZkY2RlMDU2NS4u NGY5Mzg4NzE0OCAxMDA2NDQKLS0tIGEvbGliYXZmb3JtYXQvYXZmb3JtYXQuYworKysgYi9saWJh dmZvcm1hdC9hdmZvcm1hdC5jCkBAIC0xODQsNiArMTg0LDcgQEAgdm9pZCBhdmZvcm1hdF9mcmVl X2NvbnRleHQoQVZGb3JtYXRDb250ZXh0ICpzKQogICAgIGF2X2RpY3RfZnJlZSgmc2ktPmlkM3Yy X21ldGEpOwogICAgIGF2X3BhY2tldF9mcmVlKCZzaS0+cGt0KTsKICAgICBhdl9wYWNrZXRfZnJl ZSgmc2ktPnBhcnNlX3BrdCk7CisgICAgYXZwcml2X3BhY2tldF9saXN0X2ZyZWUoJnNpLT5wYWNr ZXRfYnVmZmVyKTsKICAgICBhdl9mcmVlcCgmcy0+c3RyZWFtcyk7CiAgICAgYXZfZnJlZXAoJnMt PnN0cmVhbV9ncm91cHMpOwogICAgIGZmX2ZsdXNoX3BhY2tldF9xdWV1ZShzKTsKLS0gCjIuNDku MQoKCkZyb20gYmRjMTFjNDRiMTViZTEyZjhlZWJlZjFjYjNiZmNkYTI0MGEzMWQwMCBNb24gU2Vw IDE3IDAwOjAwOjAwIDIwMDEKRnJvbTogWmhhbyBaaGlsaSA8emhpbGl6aGFvQHRlbmNlbnQuY29t PgpEYXRlOiBGcmksIDE0IE5vdiAyMDI1IDE2OjIzOjEwICswODAwClN1YmplY3Q6IFtQQVRDSCA0 MjMvNDM0XSBhdmZpbHRlci92Zl9kcmF3dGV4dDogZml4IGluY29ycmVjdCB0ZXh0IGxlbmd0aAoK RnJvbSB0aGUgZG9jIG9mIEhhcmZCdXp6LCB3aGF0IGhiX2J1ZmZlcl9hZGRfdXRmOCBuZWVkcyBp cyB0aGUKbnVtYmVyIG9mIGJ5dGVzLCBub3QgVW5pY29kZSBjaGFyYWN0ZXI6CmhiX2J1ZmZlcl9h ZGRfdXRmOChidWYsIHRleHQsIHN0cmxlbih0ZXh0KSwgMCwgc3RybGVuKHRleHQpKTsKCkZpeCBp c3N1ZSAjMjA5MDYuCgooY2hlcnJ5IHBpY2tlZCBmcm9tIGNvbW1pdCA5YmMzYzU3MmVhYWFiNTU5 YTcyNThjMzkyNTI4ZTdhMWNhZDJhOWI3KQpTaWduZWQtb2ZmLWJ5OiBNaWNoYWVsIE5pZWRlcm1h eWVyIDxtaWNoYWVsQG5pZWRlcm1heWVyLmNjPgotLS0KIGxpYmF2ZmlsdGVyL3ZmX2RyYXd0ZXh0 LmMgfCA1ICstLS0tCiAxIGZpbGUgY2hhbmdlZCwgMSBpbnNlcnRpb24oKyksIDQgZGVsZXRpb25z KC0pCgpkaWZmIC0tZ2l0IGEvbGliYXZmaWx0ZXIvdmZfZHJhd3RleHQuYyBiL2xpYmF2ZmlsdGVy L3ZmX2RyYXd0ZXh0LmMKaW5kZXggMjMyZTQwMTVmYi4uZDg3MzdhMjE0NSAxMDA2NDQKLS0tIGEv bGliYXZmaWx0ZXIvdmZfZHJhd3RleHQuYworKysgYi9saWJhdmZpbHRlci92Zl9kcmF3dGV4dC5j CkBAIC0xMzk1LDcgKzEzOTUsNiBAQCBzdGF0aWMgaW50IG1lYXN1cmVfdGV4dChBVkZpbHRlckNv bnRleHQgKmN0eCwgVGV4dE1ldHJpY3MgKm1ldHJpY3MpCiAgICAgRHJhd1RleHRDb250ZXh0ICpz ID0gY3R4LT5wcml2OwogICAgIGNoYXIgKnRleHQgPSBzLT5leHBhbmRlZF90ZXh0LnN0cjsKICAg ICBjaGFyICp0ZXh0ZHVwID0gTlVMTCwgKnN0YXJ0ID0gTlVMTDsKLSAgICBpbnQgbnVtX2NoYXJz ID0gMDsKICAgICBpbnQgd2lkdGg2NCA9IDAsIHc2NCA9IDA7CiAgICAgaW50IGN1cl9taW5feTY0 ID0gMCwgZmlyc3RfbWF4X3k2NCA9IC0zMjAwMDsKICAgICBpbnQgZmlyc3RfbWluX3g2NCA9IDMy MDAwLCBsYXN0X21heF94NjQgPSAtMzIwMDA7CkBAIC0xNDU4LDcgKzE0NTcsNyBAQCBjb250aW51 ZV9vbl9mYWlsZWQyOgogICAgICAgICAgICAgVGV4dExpbmUgKmN1cl9saW5lID0gJnMtPmxpbmVz W2xpbmVfY291bnRdOwogICAgICAgICAgICAgSGFyZmJ1enpEYXRhICpoYiA9ICZjdXJfbGluZS0+ aGJfZGF0YTsKICAgICAgICAgICAgIGN1cl9saW5lLT5jbHVzdGVyX29mZnNldCA9IGxpbmVfb2Zm c2V0OwotICAgICAgICAgICAgcmV0ID0gc2hhcGVfdGV4dF9oYihzLCBoYiwgc3RhcnQsIG51bV9j aGFycyk7CisgICAgICAgICAgICByZXQgPSBzaGFwZV90ZXh0X2hiKHMsIGhiLCBzdGFydCwgcCAt IHN0YXJ0KTsKICAgICAgICAgICAgIGlmIChyZXQgIT0gMCkgewogICAgICAgICAgICAgICAgIGdv dG8gZG9uZTsKICAgICAgICAgICAgIH0KQEAgLTE1MTYsMTQgKzE1MTUsMTIgQEAgY29udGludWVf b25fZmFpbGVkMjoKICAgICAgICAgICAgIGlmICh3NjQgPiB3aWR0aDY0KSB7CiAgICAgICAgICAg ICAgICAgd2lkdGg2NCA9IHc2NDsKICAgICAgICAgICAgIH0KLSAgICAgICAgICAgIG51bV9jaGFy cyA9IC0xOwogICAgICAgICAgICAgc3RhcnQgPSBwOwogICAgICAgICAgICAgKytsaW5lX2NvdW50 OwogICAgICAgICAgICAgbGluZV9vZmZzZXQgPSBpICsgMTsKICAgICAgICAgfQogCiAgICAgICAg IGlmIChjb2RlID09IDApIGJyZWFrOwotICAgICAgICArK251bV9jaGFyczsKICAgICB9CiAKICAg ICBtZXRyaWNzLT5saW5lX2hlaWdodDY0ID0gcy0+ZmFjZS0+c2l6ZS0+bWV0cmljcy5oZWlnaHQ7 Ci0tIAoyLjQ5LjEKCgpGcm9tIDE5YmMwZWYzZjNlYTMzNjU5YWQ5NjUwZTE0MjQ2ODZjNzkzMWU0 NGQgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCkZyb206IFpoYW8gWmhpbGkgPHpoaWxpemhhb0B0 ZW5jZW50LmNvbT4KRGF0ZTogRnJpLCAxNCBOb3YgMjAyNSAxNjo1MzowNyArMDgwMApTdWJqZWN0 OiBbUEFUQ0ggNDI0LzQzNF0gYXZmaWx0ZXIvdmZfZHJhd3RleHQ6IGZpeCBjYWxsIEdFVF9VVEY4 IHdpdGggaW52YWxpZAogYXJndW1lbnQKCkZvciBHRVRfVVRGOCh2YWwsIEdFVF9CWVRFLCBFUlJP UiksIHZhbCBoYXMgdHlwZSBvZiB1aW50MzJfdCwKR0VUX0JZVEUgbXVzdCByZXR1cm4gYW4gdW5z aWduZWQgaW50ZWdlciwgb3RoZXJ3aXNlIHNpZ25lZApleHRlbnNpb24gaGFwcGVuZWQgZHVlIHRv IHZhbD0gKEdFVF9CWVRFKSwgYW5kIEdFVF9VVEY4IHdlbnQgdG8KdGhlIGVycm9yIHBhdGguCgpU aGlzIGJ1ZyBpbmNpZGVudGFsbHkgY2FuY2VsbGVkIHRoZSBidWcgd2hlcmUgaGJfYnVmZmVyX2Fk ZF91dGY4CndhcyBiZWluZyBjYWxsZWQgd2l0aCBpbmNvcnJlY3QgYXJndW1lbnQsIGFsbG93aW5n IGRyYXd0ZXh0IHRvCmZ1bmN0aW9uIGNvcnJlY3RseSBvbiB4ODYgYW5kIG1hY09TIEFSTSwgd2hp Y2ggZGVmaW5lZCBjaGFyIGFzCnNpZ25lZC4gSG93ZXZlciwgb24gTGludXggYW5kIEFuZHJvaWQg QVJNIGVudmlyb25tZW50cywgYmVjYXVzZQpjaGFyIGlzIHVuc2lnbmVkIGJ5IGRlZmF1bHQsIEdF VF9VVEY4IG5vdyByZXR1cm5zIHRoZSBjb3JyZWN0CnJldHVybiwgd2hpY2ggdW5leHBlY3RlZGx5 IHJldmVhbGVkIGlzc3VlICMyMDkwNi4KCihjaGVycnkgcGlja2VkIGZyb20gY29tbWl0IGE1Y2Mw ZTVjOWU3NTJmOThlMzhjMmE5NWEwODkzZmFlYjFmNzhmYTkpClNpZ25lZC1vZmYtYnk6IE1pY2hh ZWwgTmllZGVybWF5ZXIgPG1pY2hhZWxAbmllZGVybWF5ZXIuY2M+Ci0tLQogbGliYXZmaWx0ZXIv dmZfZHJhd3RleHQuYyB8IDQgKystLQogMSBmaWxlIGNoYW5nZWQsIDIgaW5zZXJ0aW9ucygrKSwg MiBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9saWJhdmZpbHRlci92Zl9kcmF3dGV4dC5jIGIv bGliYXZmaWx0ZXIvdmZfZHJhd3RleHQuYwppbmRleCBkODczN2EyMTQ1Li5kY2NjNTM0YmJjIDEw MDY0NAotLS0gYS9saWJhdmZpbHRlci92Zl9kcmF3dGV4dC5jCisrKyBiL2xpYmF2ZmlsdGVyL3Zm X2RyYXd0ZXh0LmMKQEAgLTEzOTQsNyArMTM5NCw3IEBAIHN0YXRpYyBpbnQgbWVhc3VyZV90ZXh0 KEFWRmlsdGVyQ29udGV4dCAqY3R4LCBUZXh0TWV0cmljcyAqbWV0cmljcykKIHsKICAgICBEcmF3 VGV4dENvbnRleHQgKnMgPSBjdHgtPnByaXY7CiAgICAgY2hhciAqdGV4dCA9IHMtPmV4cGFuZGVk X3RleHQuc3RyOwotICAgIGNoYXIgKnRleHRkdXAgPSBOVUxMLCAqc3RhcnQgPSBOVUxMOworICAg IGNoYXIgKnRleHRkdXAgPSBOVUxMOwogICAgIGludCB3aWR0aDY0ID0gMCwgdzY0ID0gMDsKICAg ICBpbnQgY3VyX21pbl95NjQgPSAwLCBmaXJzdF9tYXhfeTY0ID0gLTMyMDAwOwogICAgIGludCBm aXJzdF9taW5feDY0ID0gMzIwMDAsIGxhc3RfbWF4X3g2NCA9IC0zMjAwMDsKQEAgLTE0MDQsNyAr MTQwNCw3IEBAIHN0YXRpYyBpbnQgbWVhc3VyZV90ZXh0KEFWRmlsdGVyQ29udGV4dCAqY3R4LCBU ZXh0TWV0cmljcyAqbWV0cmljcykKICAgICBHbHlwaCAqZ2x5cGggPSBOVUxMOwogCiAgICAgaW50 IGksIHRhYl9pZHggPSAwLCBsYXN0X3RhYl9pZHggPSAwLCBsaW5lX29mZnNldCA9IDA7Ci0gICAg Y2hhciogcDsKKyAgICB1aW50OF90ICpzdGFydCwgKnA7CiAgICAgaW50IHJldCA9IDA7CiAKICAg ICAvLyBDb3VudCB0aGUgbGluZXMgYW5kIHRoZSB0YWIgY2hhcmFjdGVycwotLSAKMi40OS4xCgoK RnJvbSA4N2UxYmVhNzBiNGJhM2ZjNTRlNjE0Mjk4YmNjM2M0MTVjMDQyYzJlIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBaaGFvIFpoaWxpIDx6aGlsaXpoYW9AdGVuY2VudC5jb20+CkRh dGU6IEZyaSwgMTQgTm92IDIwMjUgMTc6MjM6MjIgKzA4MDAKU3ViamVjdDogW1BBVENIIDQyNS80 MzRdIGF2dXRpbC9jb21tb246IGNhc3QgR0VUX0JZVEUvR0VUXzE2QklUIHJldHVybmVkIHZhbHVl CgpJbiBjYXNlIG9mIEdFVF9CWVRFL0dFVF8xNkJJVCByZXR1cm4gc2lnbmVkIHZhbHVlLgoKKGNo ZXJyeSBwaWNrZWQgZnJvbSBjb21taXQgMGFlOGRmNWYyY2VlYTgyMzM3YTI0NTZlZjE2ZjkzMGZh ZjE2MDE4OSkKU2lnbmVkLW9mZi1ieTogTWljaGFlbCBOaWVkZXJtYXllciA8bWljaGFlbEBuaWVk ZXJtYXllci5jYz4KLS0tCiBsaWJhdnV0aWwvY29tbW9uLmggfCA4ICsrKystLS0tCiAxIGZpbGUg Y2hhbmdlZCwgNCBpbnNlcnRpb25zKCspLCA0IGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL2xp YmF2dXRpbC9jb21tb24uaCBiL2xpYmF2dXRpbC9jb21tb24uaAppbmRleCAzYjgzMGRhZjMwLi5i ZjIzYWE1MGIwIDEwMDY0NAotLS0gYS9saWJhdnV0aWwvY29tbW9uLmgKKysrIGIvbGliYXZ1dGls L2NvbW1vbi5oCkBAIC00ODYsMTMgKzQ4NiwxMyBAQCBzdGF0aWMgYXZfYWx3YXlzX2lubGluZSBh dl9jb25zdCBpbnQgYXZfcGFyaXR5X2ModWludDMyX3QgdikKICAqIHRvIHByZXZlbnQgdW5kZWZp bmVkIHJlc3VsdHMuCiAgKi8KICNkZWZpbmUgR0VUX1VURjgodmFsLCBHRVRfQllURSwgRVJST1Ip XAotICAgIHZhbD0gKEdFVF9CWVRFKTtcCisgICAgdmFsPSAodWludDhfdCkoR0VUX0JZVEUpO1wK ICAgICB7XAogICAgICAgICB1aW50MzJfdCB0b3AgPSAodmFsICYgMTI4KSA+PiAxO1wKICAgICAg ICAgaWYgKCh2YWwgJiAweGMwKSA9PSAweDgwIHx8IHZhbCA+PSAweEZFKVwKICAgICAgICAgICAg IHtFUlJPUn1cCiAgICAgICAgIHdoaWxlICh2YWwgJiB0b3ApIHtcCi0gICAgICAgICAgICB1bnNp Z25lZCBpbnQgdG1wID0gKEdFVF9CWVRFKSAtIDEyODtcCisgICAgICAgICAgICB1bnNpZ25lZCBp bnQgdG1wID0gKHVpbnQ4X3QpKEdFVF9CWVRFKSAtIDEyODtcCiAgICAgICAgICAgICBpZih0bXA+ PjYpXAogICAgICAgICAgICAgICAgIHtFUlJPUn1cCiAgICAgICAgICAgICB2YWw9ICh2YWw8PDYp ICsgdG1wO1wKQEAgLTUxMSwxMSArNTExLDExIEBAIHN0YXRpYyBhdl9hbHdheXNfaW5saW5lIGF2 X2NvbnN0IGludCBhdl9wYXJpdHlfYyh1aW50MzJfdCB2KQogICogICAgICAgICAgICAgICAgICB0 eXBpY2FsbHkgYSBnb3RvIHN0YXRlbWVudC4KICAqLwogI2RlZmluZSBHRVRfVVRGMTYodmFsLCBH RVRfMTZCSVQsIEVSUk9SKVwKLSAgICB2YWwgPSAoR0VUXzE2QklUKTtcCisgICAgdmFsID0gKHVp bnQxNl90KShHRVRfMTZCSVQpO1wKICAgICB7XAogICAgICAgICB1bnNpZ25lZCBpbnQgaGkgPSB2 YWwgLSAweEQ4MDA7XAogICAgICAgICBpZiAoaGkgPCAweDgwMCkge1wKLSAgICAgICAgICAgIHZh bCA9IChHRVRfMTZCSVQpIC0gMHhEQzAwO1wKKyAgICAgICAgICAgIHZhbCA9ICh1aW50MTZfdCko R0VUXzE2QklUKSAtIDB4REMwMDtcCiAgICAgICAgICAgICBpZiAodmFsID4gMHgzRkZVIHx8IGhp ID4gMHgzRkZVKVwKICAgICAgICAgICAgICAgICB7RVJST1J9XAogICAgICAgICAgICAgdmFsICs9 IChoaTw8MTApICsgMHgxMDAwMDtcCi0tIAoyLjQ5LjEKCgpGcm9tIGY0NmU1MTQ0OTExNzJkMTVi ZDc0YjRhYmIxODE0Y2QyZjA1YTc2M2UgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCkZyb206IE1p Y2hhZWwgTmllZGVybWF5ZXIgPG1pY2hhZWxAbmllZGVybWF5ZXIuY2M+CkRhdGU6IEZyaSwgMjEg Tm92IDIwMjUgMDA6MDc6MzkgKzAxMDAKU3ViamVjdDogW1BBVENIIDQyNi80MzRdIENoYW5nZWxv ZzogdXBkYXRlCgpTaWduZWQtb2ZmLWJ5OiBNaWNoYWVsIE5pZWRlcm1heWVyIDxtaWNoYWVsQG5p ZWRlcm1heWVyLmNjPgotLS0KIENoYW5nZWxvZyB8IDQgKysrKwogMSBmaWxlIGNoYW5nZWQsIDQg aW5zZXJ0aW9ucygrKQoKZGlmZiAtLWdpdCBhL0NoYW5nZWxvZyBiL0NoYW5nZWxvZwppbmRleCAw ZDIxNmU3NzgyLi5iYWYyMDcxNzIzIDEwMDY0NAotLS0gYS9DaGFuZ2Vsb2cKKysrIGIvQ2hhbmdl bG9nCkBAIC0yLDYgKzIsMTAgQEAgRW50cmllcyBhcmUgc29ydGVkIGNocm9ub2xvZ2ljYWxseSBm cm9tIG9sZGVzdCB0byB5b3VuZ2VzdCB3aXRoaW4gZWFjaCByZWxlYXNlLAogcmVsZWFzZXMgYXJl IHNvcnRlZCBmcm9tIHlvdW5nZXN0IHRvIG9sZGVzdC4KIAogdmVyc2lvbiA3LjEuMzoKKyBhdnV0 aWwvY29tbW9uOiBjYXN0IEdFVF9CWVRFL0dFVF8xNkJJVCByZXR1cm5lZCB2YWx1ZQorIGF2Zmls dGVyL3ZmX2RyYXd0ZXh0OiBmaXggY2FsbCBHRVRfVVRGOCB3aXRoIGludmFsaWQgYXJndW1lbnQK KyBhdmZpbHRlci92Zl9kcmF3dGV4dDogZml4IGluY29ycmVjdCB0ZXh0IGxlbmd0aAorIGF2Zm9y bWF0L2F2Zm9ybWF0OiBhbHNvIGNsZWFyIEZGRm9ybWF0Q29udGV4dCBwYWNrZXQgcXVldWUgd2hl biBjbG9zaW5nIGEgbXV4ZXIKICBhdmZpbHRlci92Zl9kcmF3dGV4dDogQWNjb3VudCBmb3IgYmJv eCB0ZXh0IHNlcGVyYXRvcgogIGF2Y29kZWMvbWVkaWFjb2RlY2RlY19jb21tb246IENoZWNrIHRo YXQgdGhlIGlucHV0IHRvIG1lZGlhY29kZWNfd3JhcF9zd19hdWRpb19idWZmZXIoKSBjb250YWlu cyBjaGFubmVsICogc2FtcGxlX3NpemUKICBhdmNvZGVjL3V0dmlkZW9kZWM6IFNldCBCIGZvciB0 aGUgd2lkdGg9IDEgY2FzZSBpbiByZXN0b3JlX21lZGlhbl9wbGFuYXJfaWwoKQotLSAKMi40OS4x CgoKRnJvbSBhNjY1NDEzMjQ4NjI3MDNjMjQ0MmU3ZjRjYTUwMWU5MDE2YzI2NzY5IE1vbiBTZXAg MTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBOaWtsYXMgSGFhcyA8Z2l0QGhhYXNuLmRldj4KRGF0ZTog V2VkLCAyNCBTZXAgMjAyNSAxNToxNDoyOSArMDIwMApTdWJqZWN0OiBbUEFUQ0ggNDI3LzQzNF0g YXZmaWx0ZXIvYnVmZmVyc3JjOiBhZGQgYXZfYnVmZmVyc3JjX2dldF9zdGF0dXMoKQoKVGhlcmUg aXMgY3VycmVudGx5IG5vIHdheSBmb3IgQVBJIHVzZXJzIHRvIGtub3cgdGhhdCBhIGJ1ZmZlcnNy YyBpcyBubyBsb25nZXIKYWNjZXB0aW5nIGlucHV0LCBleGNlcHQgYnkgdHJ5aW5nIHRvIGZlZWQg aXQgYSBmcmFtZSBhbmQgc2VlaW5nIHdoYXQgaGFwcGVucy4KCk9mIGNvdXJzZSwgdGhpcyBpcyBu b3QgcG9zc2libGUgaWYgdGhlIHVzZXIgZG9lcyBub3QgKmhhdmUqIGEgZnJhbWUgdG8gZmVlZCwK YnV0IG1heSBzdGlsbCB3aXNoIHRvIGtub3cgaWYgdGhlIGZpbHRlciBpcyBzdGlsbCBhY2NlcHRp bmcgaW5wdXQgb3Igbm90LgoKU2luY2UgcGFzc2luZyBgZnJhbWUgPT0gTlVMTGAgdG8gYGF2X2J1 ZmZlcnNyY19hZGRfZnJhbWUoKWAgaXMgYWxyZWFkeSB0cmVhdGVkCmFzIGNsb3NpbmcgdGhlIGlu cHV0LCB3ZSBhcmUgbGVmdCB3aXRoIG5vIGNob2ljZSBidXQgdG8gaW50cm9kdWNlIGEgbmV3CmZ1 bmN0aW9uIGZvciB0aGlzLgoKV2UgZG9uJ3QgZXhwbGljaXRseSByZXR1cm4gdGhlIHJlc3VsdCBv ZiBgZmZfb3V0bGlua19nZXRfc3RhdHVzKClgIHRvIGF2b2lkCmxlYWtpbmcgaW50ZXJuYWwgc3Rh dHVzIGNvZGVzLCBhbmQgaW5zdGVhZCB0cmFuc2xhdGUgdGhlbSBhbGwgdG8gQVZFUlJPUihFT0Yp LgoKQmFja3BvcnRlZC1mcm9tOiA2MjM2NjlhMDJjZDZjZGM1NTk4ODAxYmYzMWZkNzcxOTllNjFi YWUxCi0tLQogZG9jL0FQSWNoYW5nZXMgICAgICAgICAgfCAgMyArKysKIGxpYmF2ZmlsdGVyL2J1 ZmZlcnNyYy5jIHwgMTAgKysrKysrKysrKwogbGliYXZmaWx0ZXIvYnVmZmVyc3JjLmggfCAgOCAr KysrKysrKwogbGliYXZmaWx0ZXIvdmVyc2lvbi5oICAgfCAgMiArLQogNCBmaWxlcyBjaGFuZ2Vk LCAyMiBpbnNlcnRpb25zKCspLCAxIGRlbGV0aW9uKC0pCgpkaWZmIC0tZ2l0IGEvZG9jL0FQSWNo YW5nZXMgYi9kb2MvQVBJY2hhbmdlcwppbmRleCA5MjRhMmIyNzllLi43Nzk1YjZiMmRkIDEwMDY0 NAotLS0gYS9kb2MvQVBJY2hhbmdlcworKysgYi9kb2MvQVBJY2hhbmdlcwpAQCAtMiw2ICsyLDkg QEAgVGhlIGxhc3QgdmVyc2lvbiBpbmNyZWFzZXMgb2YgYWxsIGxpYnJhcmllcyB3ZXJlIG9uIDIw MjQtMDMtMDcKIAogQVBJIGNoYW5nZXMsIG1vc3QgcmVjZW50IGZpcnN0OgogCisyMDI1LTA5LXh4 IC0geHh4eHh4eHh4eCAtIGxhdmZpIDEwLjUuMTAwIC0gYnVmZmVyc3JjLmgKKyAgQWRkIGF2X2J1 ZmZlcnNyY19nZXRfc3RhdHVzKCkuCisKIDIwMjQtMDktMjMgLSA2OTQwYTZkZTJmMCAtIGxhdnUg NTkuMzguMTAwIC0gZnJhbWUuaAogICBBZGQgQVZfRlJBTUVfREFUQV9WSUVXX0lELgogCmRpZmYg LS1naXQgYS9saWJhdmZpbHRlci9idWZmZXJzcmMuYyBiL2xpYmF2ZmlsdGVyL2J1ZmZlcnNyYy5j CmluZGV4IGVjNTg5OGZjZjkuLmY5YjIwNjE5NDggMTAwNjQ0Ci0tLSBhL2xpYmF2ZmlsdGVyL2J1 ZmZlcnNyYy5jCisrKyBiL2xpYmF2ZmlsdGVyL2J1ZmZlcnNyYy5jCkBAIC0yODMsNiArMjgzLDE2 IEBAIGludCBhdl9idWZmZXJzcmNfY2xvc2UoQVZGaWx0ZXJDb250ZXh0ICpjdHgsIGludDY0X3Qg cHRzLCB1bnNpZ25lZCBmbGFncykKICAgICByZXR1cm4gKGZsYWdzICYgQVZfQlVGRkVSU1JDX0ZM QUdfUFVTSCkgPyBwdXNoX2ZyYW1lKGN0eC0+Z3JhcGgpIDogMDsKIH0KIAoraW50IGF2X2J1ZmZl cnNyY19nZXRfc3RhdHVzKEFWRmlsdGVyQ29udGV4dCAqY3R4KQoreworICAgIEJ1ZmZlclNvdXJj ZUNvbnRleHQgKnMgPSBjdHgtPnByaXY7CisKKyAgICBpZiAoIXMtPmVvZiAmJiBmZl9vdXRsaW5r X2dldF9zdGF0dXMoY3R4LT5vdXRwdXRzWzBdKSkKKyAgICAgICAgcy0+ZW9mID0gMTsKKworICAg IHJldHVybiBzLT5lb2YgPyBBVkVSUk9SKEVPRikgOiAwOworfQorCiBzdGF0aWMgYXZfY29sZCBp bnQgaW5pdF92aWRlbyhBVkZpbHRlckNvbnRleHQgKmN0eCkKIHsKICAgICBCdWZmZXJTb3VyY2VD b250ZXh0ICpjID0gY3R4LT5wcml2OwpkaWZmIC0tZ2l0IGEvbGliYXZmaWx0ZXIvYnVmZmVyc3Jj LmggYi9saWJhdmZpbHRlci9idWZmZXJzcmMuaAppbmRleCA2ZjMzNDRmNDQ1Li40YmM4ZmJhMTRl IDEwMDY0NAotLS0gYS9saWJhdmZpbHRlci9idWZmZXJzcmMuaAorKysgYi9saWJhdmZpbHRlci9i dWZmZXJzcmMuaApAQCAtMjA4LDYgKzIwOCwxNCBAQCBpbnQgYXZfYnVmZmVyc3JjX2FkZF9mcmFt ZV9mbGFncyhBVkZpbHRlckNvbnRleHQgKmJ1ZmZlcl9zcmMsCiAgKi8KIGludCBhdl9idWZmZXJz cmNfY2xvc2UoQVZGaWx0ZXJDb250ZXh0ICpjdHgsIGludDY0X3QgcHRzLCB1bnNpZ25lZCBmbGFn cyk7CiAKKy8qKgorICogUmV0dXJucyAwIG9yIGEgbmVnYXRpdmUgQVZFUlJPUiBjb2RlLiBDdXJy ZW50bHksIHRoaXMgd2lsbCBvbmx5IGV2ZXIKKyAqIHJldHVybiBBVkVSUk9SKEVPRiksIHRvIGlu ZGljYXRlIHRoYXQgdGhlIGJ1ZmZlciBzb3VyY2UgaGFzIGJlZW4gY2xvc2VkLAorICogZWl0aGVy IGFzIGEgcmVzdWx0IG9mIGF2X2J1ZmZlcnNyY19jbG9zZSgpLCBvciBiZWNhdXNlIHRoZSBkb3du c3RyZWFtCisgKiBmaWx0ZXIgaXMgbm8gbG9uZ2VyIGFjY2VwdGluZyBuZXcgZGF0YS4KKyAqLwor aW50IGF2X2J1ZmZlcnNyY19nZXRfc3RhdHVzKEFWRmlsdGVyQ29udGV4dCAqY3R4KTsKKwogLyoq CiAgKiBAfQogICovCmRpZmYgLS1naXQgYS9saWJhdmZpbHRlci92ZXJzaW9uLmggYi9saWJhdmZp bHRlci92ZXJzaW9uLmgKaW5kZXggNGQ4ZjI4ZTUxMi4uNTIzYTdmZTBhNiAxMDA2NDQKLS0tIGEv bGliYXZmaWx0ZXIvdmVyc2lvbi5oCisrKyBiL2xpYmF2ZmlsdGVyL3ZlcnNpb24uaApAQCAtMzEs NyArMzEsNyBAQAogCiAjaW5jbHVkZSAidmVyc2lvbl9tYWpvci5oIgogCi0jZGVmaW5lIExJQkFW RklMVEVSX1ZFUlNJT05fTUlOT1IgICA0CisjZGVmaW5lIExJQkFWRklMVEVSX1ZFUlNJT05fTUlO T1IgICA1CiAjZGVmaW5lIExJQkFWRklMVEVSX1ZFUlNJT05fTUlDUk8gMTAwCiAKIAotLSAKMi40 OS4xCgoKRnJvbSA5ZTMwMzBiYzQ0MGUwNzg4N2I3ODdhZTRhNWJmNDA3ZmY4NTQ4Yzc1IE1vbiBT ZXAgMTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBOaWtsYXMgSGFhcyA8Z2l0QGhhYXNuLmRldj4KRGF0 ZTogV2VkLCAyNCBTZXAgMjAyNSAxNToyMzowNCArMDIwMApTdWJqZWN0OiBbUEFUQ0ggNDI4LzQz NF0gZmZ0b29scy9mZm1wZWdfZmlsdGVyOiBjbG9zZSBhbGwgbm8tbG9uZ2VyIG5lZWRlZAogaW5w dXRzCgpDdXJyZW50bHksIHRoZSB0aHJlYWQgbG9vcCBvZiBmZm1wZWdfZmlsdGVyIGVzc2VudGlh bGx5IHdvcmtzIGxpa2UgdGhpczoKCndoaWxlICgxKSB7CiAgICBmcmFtZSwgaWR4ID0gZ2V0X2Zy b21fZGVjb2RlcigpOwogICAgZXJyID0gc2VuZF90b19maWx0ZXJfZ3JhcGgoZnJhbWUpOwogICAg aWYgKGVycikgeyAvLyBpLmUuIEVPRgogICAgICAgIGNsb3NlX2lucHV0KGlkeCk7CiAgICAgICAg Y29udGludWU7CiAgICB9CgogICAgd2hpbGUgKGZpbHRlcmVkX2ZyYW1lID0gZ2V0X2ZpbHRlcmVk X2ZyYW1lKCkpCiAgICAgICAgc2VuZF90b19lbmNvZGVyKGZpbHRlcmVkX2ZyYW1lKTsKfQoKVGhl IGV4YWN0IGRldGFpbHMgYXJlIG5vdCAxMDAlIGNvcnJlY3Qgc2luY2UgdGhlIGFjdHVhbCBjb250 cm9sIGZsb3cgaXMgYSBiaXQKbW9yZSBjb21wbGljYXRlZCBhcyBhIHJlc3VsdCBvZiB0aGUgc2No ZWR1bGVyLCBidXQgdGhpcyBpcyB0aGUgZ2VuZXJhbCBmbG93LgoKTm90YWJseSwgdGhpcyBsZWF2 ZXMgdGhlIHBvc3NpYmlsaXR5IG9mIGxlYXZpbmcgYSBuby1sb25nZXItbmVlZGVkIGlucHV0CnBl cm1hbmVudGx5IG9wZW4gaWYgdGhlIGZpbHRlciBncmFwaCBzdGFydHMgcHJvZHVjaW5nIGluZmlu aXRlIGZyYW1lcyAoZHVyaW5nCnRoZSBzZWNvbmQgbG9vcCkgKmFmdGVyKiBpdCBmaW5pc2hlcyBy ZWFkaW5nIGZyb20gYW4gaW5wdXQsIGUuZy4gaW4gYSBmaWx0ZXIKZ3JhcGggbGlrZSAtYWYgYXRy aW0sYXBhZC4KClRoaXMgcGF0Y2ggYXZvaWRzIHRoaXMgaXNzdWUgYnkgYWx3YXlzIHF1ZXJ5aW5n IHRoZSBzdGF0dXMgb2YgYWxsIGZpbHRlciBncmFwaAppbnB1dHMgYW5kIGV4cGxpY2l0bHkgY2xv c2luZyBhbnkgdGhhdCB3ZXJlIGNsb3NlZCBkb3duc3RyZWFtOyBhZnRlciBlYWNoIHJvdW5kCm9m IHJlYWRpbmcgb3V0cHV0IGZyYW1lcy4gQXMgYSByZXN1bHQsIGluZm9ybWF0aW9uIGFib3V0IHRo ZSBmaWx0ZXJncmFwaCBiZWluZwpjbG9zZWQgY2FuIG5vdyBwcm9wYWdhdGUgYmFjayB1cHN0cmVh bSwgZXZlbiBpZiB0aGUgZmlsdGVyIGlzIG5vIGxvbmdlcgpyZXF1ZXN0aW5nIGFueSBpbnB1dCBm cmFtZXMgKGkuZS4gaW5wdXRfaWR4ID09IGZnLT5uYl9pbnB1dHMpLgoKRml4ZXM6IGh0dHBzOi8v dHJhYy5mZm1wZWcub3JnL3RpY2tldC8xMTA2MQpTZWUtQWxzbzogaHR0cHM6Ly9jb2RlLmZmbXBl Zy5vcmcvRkZtcGVnL0ZGbXBlZy9wdWxscy8yMDQ1NyNpc3N1ZWNvbW1lbnQtNjIwOAoKQmFja3Bv cnRlZC1mcm9tOiAzOGE1ZmNjMDJjMmVmMWJjYjM3ZDJlNTNlZGRkZThlY2NjMGM3NWVkCgpEdXJp bmcgYmFja3BvcnRpbmcsIEkgaGFkIHRvIGNoYW5nZSB0aGUgc2lnbmF0dXJlIG9mIGBjbG9zZV9p bnB1dCgpYCB0bwpgdm9pZCBjbG9zZV9pbnB1dChGaWx0ZXJHcmFwaCAqZmcsIGludCBpbnB1dF9p ZHgpYCBzaW5jZSB0aGlzIHZlcnNpb24gb2YKRkZtcGVnIGRvZXMgbm90IGNvbnRhaW4gYSByZWZl cmVuY2UgdG8gdGhlIGlucHV0IGluZGV4IGluIHRoZSBJbnB1dEZpbHRlclByaXYuCi0tLQogZmZ0 b29scy9mZm1wZWdfZmlsdGVyLmMgfCAyMSArKysrKysrKysrKysrKysrKysrKy0KIDEgZmlsZSBj aGFuZ2VkLCAyMCBpbnNlcnRpb25zKCspLCAxIGRlbGV0aW9uKC0pCgpkaWZmIC0tZ2l0IGEvZmZ0 b29scy9mZm1wZWdfZmlsdGVyLmMgYi9mZnRvb2xzL2ZmbXBlZ19maWx0ZXIuYwppbmRleCAzZWY2 ODE4YzcyLi40ZWVjOGZlZDdiIDEwMDY0NAotLS0gYS9mZnRvb2xzL2ZmbXBlZ19maWx0ZXIuYwor KysgYi9mZnRvb2xzL2ZmbXBlZ19maWx0ZXIuYwpAQCAtMjM2NSw2ICsyMzY1LDE4IEBAIGZpbmlz aDoKICAgICBmcHMtPmRyb3BwZWRfa2V5ZnJhbWUgfD0gZnBzLT5sYXN0X2Ryb3BwZWQgJiYgKGZy YW1lLT5mbGFncyAmIEFWX0ZSQU1FX0ZMQUdfS0VZKTsKIH0KIAorc3RhdGljIHZvaWQgY2xvc2Vf aW5wdXQoRmlsdGVyR3JhcGggKmZnLCBpbnQgaW5wdXRfaWR4KQoreworCisgICAgSW5wdXRGaWx0 ZXJQcml2ICppZnAgPSBpZnBfZnJvbV9pZmlsdGVyKGZnLT5pbnB1dHNbaW5wdXRfaWR4XSk7Cisg ICAgRmlsdGVyR3JhcGhQcml2ICpmZ3AgPSBmZ3BfZnJvbV9mZyhpZnAtPmlmaWx0ZXIuZ3JhcGgp OworCisgICAgaWYgKCFpZnAtPmVvZikgeworICAgICAgICBzY2hfZmlsdGVyX3JlY2VpdmVfZmlu aXNoKGZncC0+c2NoLCBmZ3AtPnNjaF9pZHgsIGlucHV0X2lkeCk7CisgICAgICAgIGlmcC0+ZW9m ID0gMTsKKyAgICB9Cit9CisKIHN0YXRpYyBpbnQgY2xvc2Vfb3V0cHV0KE91dHB1dEZpbHRlclBy aXYgKm9mcCwgRmlsdGVyR3JhcGhUaHJlYWQgKmZndCkKIHsKICAgICBGaWx0ZXJHcmFwaFByaXYg KmZncCA9IGZncF9mcm9tX2ZnKG9mcC0+b2ZpbHRlci5ncmFwaCk7CkBAIC0zMDM1LDcgKzMwNDcs NyBAQCBzdGF0aWMgaW50IGZpbHRlcl90aHJlYWQodm9pZCAqYXJnKQogICAgICAgICBpZiAocmV0 ID09IEFWRVJST1JfRU9GKSB7CiAgICAgICAgICAgICBhdl9sb2coZmcsIEFWX0xPR19WRVJCT1NF LCAiSW5wdXQgJXUgbm8gbG9uZ2VyIGFjY2VwdHMgbmV3IGRhdGFcbiIsCiAgICAgICAgICAgICAg ICAgICAgaW5wdXRfaWR4KTsKLSAgICAgICAgICAgIHNjaF9maWx0ZXJfcmVjZWl2ZV9maW5pc2go ZmdwLT5zY2gsIGZncC0+c2NoX2lkeCwgaW5wdXRfaWR4KTsKKyAgICAgICAgICAgIGNsb3NlX2lu cHV0KGZnLCBpbnB1dF9pZHgpOwogICAgICAgICAgICAgY29udGludWU7CiAgICAgICAgIH0KICAg ICAgICAgaWYgKHJldCA8IDApCkBAIC0zMDUyLDYgKzMwNjQsMTMgQEAgcmVhZF9mcmFtZXM6CiAg ICAgICAgICAgICAgICAgICAgYXZfZXJyMnN0cihyZXQpKTsKICAgICAgICAgICAgIGdvdG8gZmlu aXNoOwogICAgICAgICB9CisKKyAgICAgICAgLy8gZW5zdXJlIGFsbCBpbnB1dHMgbm8gbG9uZ2Vy IGFjY2VwdGluZyBkYXRhIGFyZSBjbG9zZWQKKyAgICAgICAgZm9yIChpbnQgaSA9IDA7IGZndC5n cmFwaCAmJiBpIDwgZmctPm5iX2lucHV0czsgaSsrKSB7CisgICAgICAgICAgICBJbnB1dEZpbHRl clByaXYgKmlmcCA9IGlmcF9mcm9tX2lmaWx0ZXIoZmctPmlucHV0c1tpXSk7CisgICAgICAgICAg ICBpZiAoYXZfYnVmZmVyc3JjX2dldF9zdGF0dXMoaWZwLT5maWx0ZXIpKQorICAgICAgICAgICAg ICAgIGNsb3NlX2lucHV0KGZnLCBpKTsKKyAgICAgICAgfQogICAgIH0KIAogICAgIGZvciAodW5z aWduZWQgaSA9IDA7IGkgPCBmZy0+bmJfb3V0cHV0czsgaSsrKSB7Ci0tIAoyLjQ5LjEKCgpGcm9t IGEyYTY3MjgyODU5OTA0MjgzZjEwMDhlMWNlMGE3ZjZiYzFlNzE3NTcgTW9uIFNlcCAxNyAwMDow MDowMCAyMDAxCkZyb206IEphbWVzIEFsbWVyIDxqYW1yaWFsQGdtYWlsLmNvbT4KRGF0ZTogVHVl LCAyNSBOb3YgMjAyNSAxMDoyNjoyNyAtMDMwMApTdWJqZWN0OiBbUEFUQ0ggNDI5LzQzNF0gYXZm b3JtYXQvaWFtZl9wYXJzZTogZW5zdXJlIGVhY2ggbGF5b3V0IGluIGFuCiBzY2FsYWJsZSBjaGFu bmVsIHJlcHJlc2VudGF0aW9uIGhhcyBhbiBpbmNyZWFzaW5nIG51bWJlciBvZiBjaGFubmVscwoK Rml4ZXMgaXNzdWUgIzIxMDEzCgpTaWduZWQtb2ZmLWJ5OiBKYW1lcyBBbG1lciA8amFtcmlhbEBn bWFpbC5jb20+CihjaGVycnkgcGlja2VkIGZyb20gY29tbWl0IDU1NGFlNWFkYTk4Y2Q0NDY4NmFk ZTk5NTEwMmQzYWEyMjk1ZDdiMDkpCi0tLQogbGliYXZmb3JtYXQvaWFtZl9wYXJzZS5jIHwgMyAr KysKIDEgZmlsZSBjaGFuZ2VkLCAzIGluc2VydGlvbnMoKykKCmRpZmYgLS1naXQgYS9saWJhdmZv cm1hdC9pYW1mX3BhcnNlLmMgYi9saWJhdmZvcm1hdC9pYW1mX3BhcnNlLmMKaW5kZXggYTdhMmI3 ZGViNS4uYjBhMTY2YmExZiAxMDA2NDQKLS0tIGEvbGliYXZmb3JtYXQvaWFtZl9wYXJzZS5jCisr KyBiL2xpYmF2Zm9ybWF0L2lhbWZfcGFyc2UuYwpAQCAtMzk4LDYgKzM5OCw5IEBAIHN0YXRpYyBp bnQgc2NhbGFibGVfY2hhbm5lbF9sYXlvdXRfY29uZmlnKHZvaWQgKnMsIEFWSU9Db250ZXh0ICpw YiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAubmJfY2hhbm5lbHMgPSBzdWJzdHJlYW1fY291bnQgKwogICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNv dXBsZWRfc3Vic3RyZWFtX2NvdW50IH07CiAKKyAgICAgICAgaWYgKGkgJiYgY2hfbGF5b3V0Lm5i X2NoYW5uZWxzIDw9IGF1ZGlvX2VsZW1lbnQtPmVsZW1lbnQtPmxheWVyc1tpLTFdLT5jaF9sYXlv dXQubmJfY2hhbm5lbHMpCisgICAgICAgICAgICByZXR1cm4gQVZFUlJPUl9JTlZBTElEREFUQTsK KwogICAgICAgICBmb3IgKGludCBqID0gMDsgaiA8IHN1YnN0cmVhbV9jb3VudDsgaisrKSB7CiAg ICAgICAgICAgICBJQU1GU3ViU3RyZWFtICpzdWJzdHJlYW0gPSAmYXVkaW9fZWxlbWVudC0+c3Vi c3RyZWFtc1trKytdOwogCi0tIAoyLjQ5LjEKCgpGcm9tIDk0MDNjZGQ2ZTg2ZWZhNDk5MmI5MzIy NDM2ZTA3ZDc2ZTMyZGE2NmEgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCkZyb206IEphbWVzIEFs bWVyIDxqYW1yaWFsQGdtYWlsLmNvbT4KRGF0ZTogVHVlLCAyNSBOb3YgMjAyNSAxMjo0MjozMCAt MDMwMApTdWJqZWN0OiBbUEFUQ0ggNDMwLzQzNF0gYXZmb3JtYXQvaWFtZl9wYXJzZTogZW5zdXJl IHRoZSBzdHJlYW0gY291bnQgaW4gYQogc2NhbGFibGUgY2hhbm5lbCByZXByZXNlbnRhdGlvbiBp cyBlcXVhbCB0byB0aGUgYXVkaW8gZWxlbWVudCdzIHN0cmVhbSBjb3VudAoKU2lnbmVkLW9mZi1i eTogSmFtZXMgQWxtZXIgPGphbXJpYWxAZ21haWwuY29tPgooY2hlcnJ5IHBpY2tlZCBmcm9tIGNv bW1pdCBmYWEzODJlNWIxOTZmMmFjYjViYzViMTU5YWFmMDY2ODIyOTEzMjhiKQotLS0KIGxpYmF2 Zm9ybWF0L2lhbWZfcGFyc2UuYyB8IDMgKysrCiAxIGZpbGUgY2hhbmdlZCwgMyBpbnNlcnRpb25z KCspCgpkaWZmIC0tZ2l0IGEvbGliYXZmb3JtYXQvaWFtZl9wYXJzZS5jIGIvbGliYXZmb3JtYXQv aWFtZl9wYXJzZS5jCmluZGV4IGIwYTE2NmJhMWYuLjhlYTk2MTZlYzcgMTAwNjQ0Ci0tLSBhL2xp YmF2Zm9ybWF0L2lhbWZfcGFyc2UuYworKysgYi9saWJhdmZvcm1hdC9pYW1mX3BhcnNlLmMKQEAg LTQxNCw2ICs0MTQsOSBAQCBzdGF0aWMgaW50IHNjYWxhYmxlX2NoYW5uZWxfbGF5b3V0X2NvbmZp Zyh2b2lkICpzLCBBVklPQ29udGV4dCAqcGIsCiAKICAgICB9CiAKKyAgICBpZiAoayAhPSBhdWRp b19lbGVtZW50LT5uYl9zdWJzdHJlYW1zKQorICAgICAgICByZXR1cm4gQVZFUlJPUl9JTlZBTElE REFUQTsKKwogICAgIHJldHVybiAwOwogfQogCi0tIAoyLjQ5LjEKCgpGcm9tIDQ2MjkzZTk5MDVm MWJmZDBlNDU3NmM3YTVhYzQxYTkyY2M2ZjRjNGQgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCkZy b206IEphbWVzIEFsbWVyIDxqYW1yaWFsQGdtYWlsLmNvbT4KRGF0ZTogV2VkLCAyNCBTZXAgMjAy NSAyMDozMToxMSAtMDMwMApTdWJqZWN0OiBbUEFUQ0ggNDMxLzQzNF0gYXZmaWx0ZXIvZnJhbWVz eW5jOiBkb24ndCBhdHRlbXB0IHRvIHJlc2NhbGUKIEFWX05PUFRTX1ZBTFVFCgpQYXJ0IG9mIGEg Zml4IGZvciBpc3N1ZSAjMjA1ODkuCgpTaWduZWQtb2ZmLWJ5OiBKYW1lcyBBbG1lciA8amFtcmlh bEBnbWFpbC5jb20+Ci0tLQogbGliYXZmaWx0ZXIvZnJhbWVzeW5jLmMgfCAyICstCiAxIGZpbGUg Y2hhbmdlZCwgMSBpbnNlcnRpb24oKyksIDEgZGVsZXRpb24oLSkKCmRpZmYgLS1naXQgYS9saWJh dmZpbHRlci9mcmFtZXN5bmMuYyBiL2xpYmF2ZmlsdGVyL2ZyYW1lc3luYy5jCmluZGV4IDBkNTc3 OWY4MzAuLjg0NmQxYzdlNTAgMTAwNjQ0Ci0tLSBhL2xpYmF2ZmlsdGVyL2ZyYW1lc3luYy5jCisr KyBiL2xpYmF2ZmlsdGVyL2ZyYW1lc3luYy5jCkBAIC0yNDgsNyArMjQ4LDcgQEAgc3RhdGljIHZv aWQgZnJhbWVzeW5jX2luamVjdF9mcmFtZShGRkZyYW1lU3luYyAqZnMsIHVuc2lnbmVkIGluLCBB VkZyYW1lICpmcmFtZSkKIAogICAgIGF2X2Fzc2VydDAoIWZzLT5pbltpbl0uaGF2ZV9uZXh0KTsK ICAgICBhdl9hc3NlcnQwKGZyYW1lKTsKLSAgICBwdHMgPSBhdl9yZXNjYWxlX3EoZnJhbWUtPnB0 cywgZnMtPmluW2luXS50aW1lX2Jhc2UsIGZzLT50aW1lX2Jhc2UpOworICAgIHB0cyA9IGF2X3Jl c2NhbGVfcV9ybmQoZnJhbWUtPnB0cywgZnMtPmluW2luXS50aW1lX2Jhc2UsIGZzLT50aW1lX2Jh c2UsIEFWX1JPVU5EX05FQVJfSU5GIHwgQVZfUk9VTkRfUEFTU19NSU5NQVgpOwogICAgIGZyYW1l LT5wdHMgPSBwdHM7CiAgICAgZnMtPmluW2luXS5mcmFtZV9uZXh0ID0gZnJhbWU7CiAgICAgZnMt PmluW2luXS5wdHNfbmV4dCAgID0gcHRzOwotLSAKMi40OS4xCgoKRnJvbSBjMGU1OTllOWQ4M2E4 MGNmMTAwMmM2MjY4NGVjZDkwYWU4Nzc2ZWZkIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQpGcm9t OiBKYW1lcyBBbG1lciA8amFtcmlhbEBnbWFpbC5jb20+CkRhdGU6IFdlZCwgMjQgU2VwIDIwMjUg MjA6MzE6MjYgLTAzMDAKU3ViamVjdDogW1BBVENIIDQzMi80MzRdIGF2ZmlsdGVyL3ZmX3NjYWxl OiBkb24ndCBhdHRlbXB0IHRvIHJlc2NhbGUKIEFWX05PUFRTX1ZBTFVFCgpGaW5pc2hlcyBmaXhp bmcgaXNzdWUgIzIwNTg5LgoKU2lnbmVkLW9mZi1ieTogSmFtZXMgQWxtZXIgPGphbXJpYWxAZ21h aWwuY29tPgotLS0KIGxpYmF2ZmlsdGVyL3ZmX3NjYWxlLmMgfCAyICstCiAxIGZpbGUgY2hhbmdl ZCwgMSBpbnNlcnRpb24oKyksIDEgZGVsZXRpb24oLSkKCmRpZmYgLS1naXQgYS9saWJhdmZpbHRl ci92Zl9zY2FsZS5jIGIvbGliYXZmaWx0ZXIvdmZfc2NhbGUuYwppbmRleCAzMzE5NDI4ZDljLi40 MjBkYzEzZGM1IDEwMDY0NAotLS0gYS9saWJhdmZpbHRlci92Zl9zY2FsZS5jCisrKyBiL2xpYmF2 ZmlsdGVyL3ZmX3NjYWxlLmMKQEAgLTExMTksNyArMTExOSw3IEBAIEZGX0VOQUJMRV9ERVBSRUNB VElPTl9XQVJOSU5HUwogICAgICAgICBnb3RvIGVycjsKIAogICAgIGF2X2Fzc2VydDAob3V0KTsK LSAgICBvdXQtPnB0cyA9IGF2X3Jlc2NhbGVfcShmcy0+cHRzLCBmcy0+dGltZV9iYXNlLCBvdXRs aW5rLT50aW1lX2Jhc2UpOworICAgIG91dC0+cHRzID0gYXZfcmVzY2FsZV9xX3JuZChmcy0+cHRz LCBmcy0+dGltZV9iYXNlLCBvdXRsaW5rLT50aW1lX2Jhc2UsIEFWX1JPVU5EX05FQVJfSU5GIHwg QVZfUk9VTkRfUEFTU19NSU5NQVgpOwogICAgIHJldHVybiBmZl9maWx0ZXJfZnJhbWUob3V0bGlu aywgb3V0KTsKIAogZXJyOgotLSAKMi40OS4xCgoKRnJvbSBmNjVmYzBiMTM3NTRjOTRkNjE4NWIx YjE4ZTYwNGI4MTI5ZDRmNzc0IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBKYW1lcyBB bG1lciA8amFtcmlhbEBnbWFpbC5jb20+CkRhdGU6IEZyaSwgMjggTm92IDIwMjUgMDk6NTE6MzYg LTAzMDAKU3ViamVjdDogW1BBVENIIDQzMy80MzRdIGF2Zm9ybWF0L2lhbWZfcGFyc2U6IGZpeCBj b21waWxhdGlvbiBlcnJvcgoKUmVncmVzc2lvbiBzaW5jZSBhMmE2NzI4Mjg1OTkwNDI4M2YxMDA4 ZTFjZTBhN2Y2YmMxZTcxNzU3LgoKU2lnbmVkLW9mZi1ieTogSmFtZXMgQWxtZXIgPGphbXJpYWxA Z21haWwuY29tPgotLS0KIGxpYmF2Zm9ybWF0L2lhbWZfcGFyc2UuYyB8IDIgKy0KIDEgZmlsZSBj aGFuZ2VkLCAxIGluc2VydGlvbigrKSwgMSBkZWxldGlvbigtKQoKZGlmZiAtLWdpdCBhL2xpYmF2 Zm9ybWF0L2lhbWZfcGFyc2UuYyBiL2xpYmF2Zm9ybWF0L2lhbWZfcGFyc2UuYwppbmRleCA4ZWE5 NjE2ZWM3Li44ZmU3ZTFiYjBlIDEwMDY0NAotLS0gYS9saWJhdmZvcm1hdC9pYW1mX3BhcnNlLmMK KysrIGIvbGliYXZmb3JtYXQvaWFtZl9wYXJzZS5jCkBAIC0zOTgsNyArMzk4LDcgQEAgc3RhdGlj IGludCBzY2FsYWJsZV9jaGFubmVsX2xheW91dF9jb25maWcodm9pZCAqcywgQVZJT0NvbnRleHQg KnBiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIC5uYl9jaGFubmVscyA9IHN1YnN0cmVhbV9jb3VudCArCiAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg Y291cGxlZF9zdWJzdHJlYW1fY291bnQgfTsKIAotICAgICAgICBpZiAoaSAmJiBjaF9sYXlvdXQu bmJfY2hhbm5lbHMgPD0gYXVkaW9fZWxlbWVudC0+ZWxlbWVudC0+bGF5ZXJzW2ktMV0tPmNoX2xh eW91dC5uYl9jaGFubmVscykKKyAgICAgICAgaWYgKGkgJiYgbGF5ZXItPmNoX2xheW91dC5uYl9j aGFubmVscyA8PSBhdWRpb19lbGVtZW50LT5lbGVtZW50LT5sYXllcnNbaS0xXS0+Y2hfbGF5b3V0 Lm5iX2NoYW5uZWxzKQogICAgICAgICAgICAgcmV0dXJuIEFWRVJST1JfSU5WQUxJRERBVEE7CiAK ICAgICAgICAgZm9yIChpbnQgaiA9IDA7IGogPCBzdWJzdHJlYW1fY291bnQ7IGorKykgewotLSAK Mi40OS4xCgoKRnJvbSAxMjkxYmQ1MjMxOGFkMjkyMzVkNzkyNTMwMzQwYjA4YmZhYjFmYzViIE1v biBTZXAgMTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBHeWFuIERvc2hpIDxmZm1wZWdAZ3lhbmkucHJv PgpEYXRlOiBTdW4sIDI4IFNlcCAyMDI1IDEzOjIwOjIzICswNTMwClN1YmplY3Q6IFtQQVRDSCA0 MzQvNDM0XSBjb25maWd1cmU6IHVuYnJlYWsgZ2xzbGFuZyBidWlsZAoKRG9uJ3QgdW5jb25kaXRp b25hbGx5IGxpbmsgdG8gbGliU1BWUmVtYXBwZXIgd2hpY2ggd2FzIHJlbW92ZWQgaW4gMTYuMCBp biAzYTdmNzg3Ci0tLQogY29uZmlndXJlIHwgMTAgKysrKysrKy0tLQogMSBmaWxlIGNoYW5nZWQs IDcgaW5zZXJ0aW9ucygrKSwgMyBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9jb25maWd1cmUg Yi9jb25maWd1cmUKaW5kZXggOThiNTgyYTVkNS4uMzJiOTIwMjQwZiAxMDA3NTUKLS0tIGEvY29u ZmlndXJlCisrKyBiL2NvbmZpZ3VyZQpAQCAtNjkxNywxMiArNjkxNywxNiBAQCBlbmFibGVkIGxp YmZvbnRjb25maWcgICAgICYmIHJlcXVpcmVfcGtnX2NvbmZpZyBsaWJmb250Y29uZmlnIGZvbnRj b25maWcgImZvbnRjbwogZW5hYmxlZCBsaWJmcmVldHlwZSAgICAgICAmJiByZXF1aXJlX3BrZ19j b25maWcgbGliZnJlZXR5cGUgZnJlZXR5cGUyICJmdDJidWlsZC5oIEZUX0ZSRUVUWVBFX0giIEZU X0luaXRfRnJlZVR5cGUKIGVuYWJsZWQgbGliZnJpYmlkaSAgICAgICAgJiYgcmVxdWlyZV9wa2df Y29uZmlnIGxpYmZyaWJpZGkgZnJpYmlkaSBmcmliaWRpLmggZnJpYmlkaV92ZXJzaW9uX2luZm8K IGVuYWJsZWQgbGliaGFyZmJ1enogICAgICAgJiYgcmVxdWlyZV9wa2dfY29uZmlnIGxpYmhhcmZi dXp6IGhhcmZidXp6IGhiLmggaGJfYnVmZmVyX2NyZWF0ZQotZW5hYmxlZCBsaWJnbHNsYW5nICYm IHsgY2hlY2tfbGliIHNwaXJ2X2NvbXBpbGVyIGdsc2xhbmcvSW5jbHVkZS9nbHNsYW5nX2NfaW50 ZXJmYWNlLmggZ2xzbGFuZ19pbml0aWFsaXplX3Byb2Nlc3MgXAoraWYgZW5hYmxlZCBsaWJnbHNs YW5nOyB0aGVuCisgICAgc3B2cmVtYXA9Ii1sU1BWUmVtYXBwZXIiCisgICAgcmVxdWlyZV9oZWFk ZXJzICJnbHNsYW5nL2J1aWxkX2luZm8uaCIgJiYgeyB0ZXN0X2NwcF9jb25kaXRpb24gZ2xzbGFu Zy9idWlsZF9pbmZvLmggIkdMU0xBTkdfVkVSU0lPTl9NQUpPUiA+PSAxNiIgJiYgc3B2cmVtYXA9 IiIgOyB9CisgICAgY2hlY2tfbGliIHNwaXJ2X2NvbXBpbGVyIGdsc2xhbmcvSW5jbHVkZS9nbHNs YW5nX2NfaW50ZXJmYWNlLmggZ2xzbGFuZ19pbml0aWFsaXplX3Byb2Nlc3MgXAogICAgICAgICAg ICAgICAgICAgICAgICAgICAgIC1sZ2xzbGFuZyAtbE1hY2hpbmVJbmRlcGVuZGVudCAtbEdlbmVy aWNDb2RlR2VuIFwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAtbFNQVlJlbWFwcGVyIC1s U1BJUlYgLWxTUElSVi1Ub29scy1vcHQgLWxTUElSVi1Ub29scyAtbHB0aHJlYWQgLWxzdGRjKysg LWxtIHx8CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgJHtzcHZyZW1hcH0gLWxTUElSViAt bFNQSVJWLVRvb2xzLW9wdCAtbFNQSVJWLVRvb2xzIC1scHRocmVhZCAtbHN0ZGMrKyAtbG0gfHwK ICAgICAgICAgICAgICAgICAgICAgICAgIHJlcXVpcmUgc3BpcnZfY29tcGlsZXIgZ2xzbGFuZy9J bmNsdWRlL2dsc2xhbmdfY19pbnRlcmZhY2UuaCBnbHNsYW5nX2luaXRpYWxpemVfcHJvY2VzcyBc CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLWxnbHNsYW5nIC1sTWFjaGluZUluZGVwZW5k ZW50IC1sT1NEZXBlbmRlbnQgLWxITFNMIC1sT0dMQ29tcGlsZXIgLWxHZW5lcmljQ29kZUdlbiBc Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgLWxTUFZSZW1hcHBlciAtbFNQSVJWIC1sU1BJ UlYtVG9vbHMtb3B0IC1sU1BJUlYtVG9vbHMgLWxwdGhyZWFkIC1sc3RkYysrIC1sbSA7IH0KKyAg ICAgICAgICAgICAgICAgICAgICAgICAgICAke3NwdnJlbWFwfSAtbFNQSVJWIC1sU1BJUlYtVG9v bHMtb3B0IC1sU1BJUlYtVG9vbHMgLWxwdGhyZWFkIC1sc3RkYysrIC1sbSA7CitmaQogZW5hYmxl ZCBsaWJnbWUgICAgICAgICAgICAmJiB7IGNoZWNrX3BrZ19jb25maWcgbGliZ21lIGxpYmdtZSBn bWUvZ21lLmggZ21lX25ld19lbXUgfHwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBy ZXF1aXJlIGxpYmdtZSBnbWUvZ21lLmggZ21lX25ld19lbXUgLWxnbWUgLWxzdGRjKys7IH0KIGVu YWJsZWQgbGliZ3NtICAgICAgICAgICAgJiYgeyBmb3IgZ3NtX2hkciBpbiAiZ3NtLmgiICJnc20v Z3NtLmgiOyBkbwotLSAKMi40OS4xCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fXwpmZm1wZWctZGV2ZWwgbWFpbGluZyBsaXN0IC0tIGZmbXBlZy1kZXZlbEBm Zm1wZWcub3JnClRvIHVuc3Vic2NyaWJlIHNlbmQgYW4gZW1haWwgdG8gZmZtcGVnLWRldmVsLWxl YXZlQGZmbXBlZy5vcmcK