From nobody Mon Aug 10 19:50:44 2026 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4hJllQ3TSGz6js7s; Mon, 10 Aug 2026 19:52:18 +0000 (UTC) (envelope-from pouria@FreeBSD.org) Received: from smtp.freebsd.org (smtp.freebsd.org [96.47.72.83]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "smtp.freebsd.org", Issuer "YR1" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4hJllQ2k6Cz3Ltn; Mon, 10 Aug 2026 19:52:18 +0000 (UTC) (envelope-from pouria@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1786391538; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: in-reply-to:in-reply-to:references:references; bh=XGtLbwsUvpXYHl4td1JODDaNPz+/6dK1Sl4mamPRdoM=; b=kFJeZShJ/ZrMycvgte622fMDH5CW4T8EViCBWRYXh+bS0cw6ZiHks4Gi+yAFLHEWcGvMEl Wbu3L0ro18SEfOsZV8Z6cmFrOaTcRNs8J/CeFhFsnAbWBdorxpEUWkmyXlyckU2h4cfRl6 6hbBZdqmZTf3GHrcygH3bRihLmzQgfhZntSGAl9dbALJezJHgJTYyp8wnvnPggE1juUmBz vQBtDtfSCZdqxdv18Vu6N8THiONyUNqP+e2WJJ5zbXTun0QTx5fwVAVb01D9GWjJgpg2Cu Bd/AKryTEbr0oRKc2KfG5Z1mKgyoU9bwwOJdMGqQDXpTNcFUFLI+GqzSHmVJ4Q== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1786391538; a=rsa-sha256; cv=none; b=Luv62DHbrhGBlthgG5fdWettDLLcWEQt5DKDOkoUnfr5LRLDstMiE+DN+i7EK7h02VRRnh QqxuBkCmDt5JgHk23OJ7RN2Ap3VQtx0BrrTEMaC83tzEnaBkYaRNdbf4VoHU1wO2ek2tHx hTxMD6PsUGZ/iGXGv/4Lpw9Jsx41GbqC6VfeIh3GbC5YDwAmfhFDzJv8hZ69bNrl8FBMJF 4RiesOIYeqPNcMnUPkGSwy56LvLLDQQtZ+vSMMRkm9Dydmkc/EHQ7e6x5WBytv/k/I6VZ3 FSV7yRGbxim8RBLyk2OAXsHALnh5PLsuZHx0sqEFANcE6bCkDaU/fscNtFCJow== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1786391538; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: in-reply-to:in-reply-to:references:references; bh=XGtLbwsUvpXYHl4td1JODDaNPz+/6dK1Sl4mamPRdoM=; b=cr01kDe3BJ3oT0rlKW5YWg8d1g7XivuEeK6wHslpjIE7AVO9EjG+qrO05+Lxsrbmka8b1G r/yV3QJeNoHtxtWd32jDmiLi7NZ51WzlEFK+SPHkB0L7YPEQYzQy6odRKfd2BYqi3CPZt1 mnmggbnEgcr6d3mwoHL7cHv5hWHbmGmGbtshfs2sI4yT5cT4NSM6boNKht2u7HHYayBSnr dcSjqHkLX+R/RBRB93xvmoboIeJKNtyX02mU8/NMDt2yxiPfxBYIum8k9kL4/8cMmFFfQ0 LVwFT6eIcak+LzPL1i/GNr+HcUkIopaY2Y+HhR/CULEOrSVwV6RqwQGrF1hDvw== Received: from nl.mail.spmzt.net (nl.mail.spmzt.net [IPv6:2a01:e140:12:1::25]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) (Authenticated sender: pouria) by smtp.freebsd.org (Postfix) with ESMTPSA id 4hJllP498Bz180s; Mon, 10 Aug 2026 19:52:17 +0000 (UTC) (envelope-from pouria@FreeBSD.org) Received: by nl.mail.spmzt.net (OpenSMTPD) with ESMTPSA id 3797a93b (TLSv1.3:TLS_AES_256_GCM_SHA384:256:NO); Tue, 11 Aug 2026 00:22:01 +0430 (+0430) Message-ID: <4a403b6d-e725-48de-accb-4ef89a18d55c@FreeBSD.org> Date: Mon, 10 Aug 2026 23:20:44 +0330 List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org List-Id: List-Post: List-Help: List-Subscribe: List-Unsubscribe: List-Owner: Precedence: list MIME-Version: 1.0 User-Agent: Mozilla Thunderbird Subject: Re: git: d15f2551b25f - main - rtnetlink: Report SR-IOV VF status To: Kevin Bowling Cc: Kevin Bowling , dev-commits-src-main@freebsd.org, src-committers@freebsd.org, dev-commits-src-all@freebsd.org References: <6a782294.3e4e1.77fae9fb@gitrepo.freebsd.org> <41b8cda3-9e4f-49f1-af9b-18c04e215ab1@FreeBSD.org> Content-Language: en-US, fa-IR From: Pouria Mousavizadeh Tehrani In-Reply-To: Content-Type: multipart/signed; micalg=pgp-sha256; protocol="application/pgp-signature"; boundary="------------ltlBbs0jr2hqaEHUfxhtRJ4f" This is an OpenPGP/MIME signed message (RFC 4880 and 3156) --------------ltlBbs0jr2hqaEHUfxhtRJ4f Content-Type: multipart/mixed; boundary="------------KGZyMwQmegPqdlnMGGrFZkgx"; protected-headers="v1"; hp="clear" Message-ID: <4a403b6d-e725-48de-accb-4ef89a18d55c@FreeBSD.org> Date: Mon, 10 Aug 2026 23:20:44 +0330 MIME-Version: 1.0 User-Agent: Mozilla Thunderbird Subject: Re: git: d15f2551b25f - main - rtnetlink: Report SR-IOV VF status To: Kevin Bowling Cc: Kevin Bowling , dev-commits-src-main@freebsd.org, src-committers@freebsd.org, dev-commits-src-all@freebsd.org References: <6a782294.3e4e1.77fae9fb@gitrepo.freebsd.org> <41b8cda3-9e4f-49f1-af9b-18c04e215ab1@FreeBSD.org> Content-Language: en-US, fa-IR From: Pouria Mousavizadeh Tehrani In-Reply-To: --------------KGZyMwQmegPqdlnMGGrFZkgx Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: base64 T24gOC8xMC8yNiAyMjo1NiwgS2V2aW4gQm93bGluZyB3cm90ZToNCj4gT24gTW9uLCBBdWcg MTAsIDIwMjYgYXQgMTI6MTjigK9QTSBQb3VyaWEgTW91c2F2aXphZGVoIFRlaHJhbmkNCj4g PHBvdXJpYUBmcmVlYnNkLm9yZz4gd3JvdGU6DQo+Pg0KPj4gSGkNCj4+DQo+PiBPbiA4Lzkv MjYgMTA6MTcsIEtldmluIEJvd2xpbmcgd3JvdGU6DQo+Pj4gVGhlIGJyYW5jaCBtYWluIGhh cyBiZWVuIHVwZGF0ZWQgYnkga2Jvd2xpbmc6DQo+Pj4NCj4+PiBVUkw6IGh0dHBzOi8vY2dp dC5GcmVlQlNELm9yZy9zcmMvY29tbWl0Lz9pZD1kMTVmMjU1MWIyNWY3OWRkY2JlMjg5ZmFh OTVlNjU1MTAwYjk1MmRhDQo+Pj4NCj4+PiBjb21taXQgZDE1ZjI1NTFiMjVmNzlkZGNiZTI4 OWZhYTk1ZTY1NTEwMGI5NTJkYQ0KPj4+IEF1dGhvcjogICAgIEtldmluIEJvd2xpbmcgPGti b3dsaW5nQEZyZWVCU0Qub3JnPg0KPj4+IEF1dGhvckRhdGU6IDIwMjYtMDgtMDkgMDI6MDQ6 MTEgKzAwMDANCj4+PiBDb21taXQ6ICAgICBLZXZpbiBCb3dsaW5nIDxrYm93bGluZ0BGcmVl QlNELm9yZz4NCj4+PiBDb21taXREYXRlOiAyMDI2LTA4LTA5IDA2OjQ2OjU3ICswMDAwDQo+ Pj4NCj4+PiAgICAgICBydG5ldGxpbms6IFJlcG9ydCBTUi1JT1YgVkYgc3RhdHVzDQo+Pj4N Cj4+PiAgICAgICBIb25vciBSVEVYVF9GSUxURVJfVkYgb24gUlRNX0dFVExJTksgcmVxdWVz dHMgYW5kIGV4cG9zZSB0aGUgdmVyc2lvbmVkDQo+Pj4gICAgICAgU1ItSU9WIFZGIHN0YXR1 cyB0aHJvdWdoIHR5cGVkIG5lc3RlZCBGcmVlQlNEIGF0dHJpYnV0ZXMuICBSZXBvcnQNCj4+ PiAgICAgICBJRkxBX05VTV9WRiB3aXRoIGEgc3VjY2Vzc2Z1bCByZXF1ZXN0ZWQgcXVlcnkg YW5kIHByZXNlcnZlIHBlci1wcm92aWRlcg0KPj4+ICAgICAgIGVycm9ycyBpbiB0aGUgc3Rh dHVzIGNvbnRhaW5lci4NCj4+Pg0KPj4+ICAgICAgIE1hcCB0aGUgY29tbW9uIG52bGlzdCBz Y2hlbWEgdG8gbmF0aXZlIGludGVnZXIsIGJvb2xlYW4sIHN0cmluZywgYW5kDQo+Pj4gICAg ICAgYmluYXJ5IGF0dHJpYnV0ZXMuICBDYXJyeSBuYW1lc3BhY2VkIGRyaXZlciBleHRlbnNp b25zIGFzIHBhY2tlZA0KPj4+ICAgICAgIHZlcnNpb25lZCBudmxpc3RzIHNvIGFkZGluZyBh IGRyaXZlci1zcGVjaWZpYyBmaWVsZCBkb2VzIG5vdCBleHBhbmQgdGhlDQo+Pj4gICAgICAg Y29tbW9uIG5ldGxpbmsgQUJJLg0KPj4+DQo+Pj4gICAgICAgQWRkIFNOTCBwYXJzZXJzLCBw YXJzZXIgdmVyaWZpY2F0aW9uLCBhIGNvbnN0cnVjdGVkIG5lc3RlZC1zdGF0dXMgdGVzdCwN Cj4+PiAgICAgICBhbmQgYW4gUlRNX0dFVExJTksgdGVzdCBmb3IgYW4gaW50ZXJmYWNlIHdp dGhvdXQgU1ItSU9WIHN1cHBvcnQuDQo+Pj4gICAgICAgRG9jdW1lbnQgdGhlIHF1ZXJ5IGNv bnRyYWN0IGFuZCBldmVyeSBhdHRyaWJ1dGUuDQo+Pj4gLS0tDQo+Pj4gICAgc2hhcmUvbWFu L21hbjQvcnRuZXRsaW5rLjQgICAgICAgICAgICAgICAgICAgIHwgMTE4ICsrKysrKysrKyst DQo+Pj4gICAgc3lzL25ldGxpbmsvbmV0bGlua19zbmxfcm91dGVfcGFyc2Vycy5oICAgICAg IHwgMTEyICsrKysrKysrKysNCj4+PiAgICBzeXMvbmV0bGluay9yb3V0ZS9pZmFjZS5jICAg ICAgICAgICAgICAgICAgICAgfCAyODQgKysrKysrKysrKysrKysrKysrKysrKysrKy0NCj4+ PiAgICBzeXMvbmV0bGluay9yb3V0ZS9pbnRlcmZhY2UuaCAgICAgICAgICAgICAgICAgfCAg ODIgKysrKysrKy0NCj4+PiAgICBzeXMvbmV0bGluay9yb3V0ZS9yb3V0ZV92YXIuaCAgICAg ICAgICAgICAgICAgfCAgIDEgKw0KPj4+ICAgIHRlc3RzL2F0Zl9weXRob24vc3lzL25ldGxp bmsvYXR0cnMucHkgICAgICAgICB8ICAyOCArKysNCj4+PiAgICB0ZXN0cy9hdGZfcHl0aG9u L3N5cy9uZXRsaW5rL25ldGxpbmtfcm91dGUucHkgfCAxMTcgKysrKysrKysrKysNCj4+PiAg ICB0ZXN0cy9zeXMvbmV0bGluay90ZXN0X3J0bmxfaWZhY2UucHkgICAgICAgICAgfCAgMTMg Ky0NCj4+PiAgICB0ZXN0cy9zeXMvbmV0bGluay90ZXN0X3NubC5jICAgICAgICAgICAgICAg ICAgfCAgODkgKysrKysrKysNCj4+PiAgICA5IGZpbGVzIGNoYW5nZWQsIDgzNSBpbnNlcnRp b25zKCspLCA5IGRlbGV0aW9ucygtKQ0KPj4+DQo+Pj4gZGlmZiAtLWdpdCBhL3NoYXJlL21h bi9tYW40L3J0bmV0bGluay40IGIvc2hhcmUvbWFuL21hbjQvcnRuZXRsaW5rLjQNCj4+PiBp bmRleCAzZDc2YzY2YzE5MTcuLjVkNWU2OWNkYmJmMCAxMDA2NDQNCj4+PiAtLS0gYS9zaGFy ZS9tYW4vbWFuNC9ydG5ldGxpbmsuNA0KPj4+ICsrKyBiL3NoYXJlL21hbi9tYW40L3J0bmV0 bGluay40DQo+Pj4gQEAgLTIyLDcgKzIyLDcgQEANCj4+PiAgICAuXCIgT1VUIE9GIFRIRSBV U0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElU WSBPRg0KPj4+ICAgIC5cIiBTVUNIIERBTUFHRS4NCj4+PiAgICAuXCINCj4+PiAtLkRkIEp1 bHkgMjgsIDIwMjYNCj4+PiArLkRkIEF1Z3VzdCA4LCAyMDI2DQo+Pj4gICAgLkR0IFJUTkVU TElOSyA0DQo+Pj4gICAgLk9zDQo+Pj4gICAgLlNoIE5BTUUNCj4+PiBAQCAtMzI1LDcgKzMy NSwxNyBAQCBUaGUgZm9sbG93aW5nIGZpbHRlcnMgYXJlIHJlY29nbmlzZWQgYnkgdGhlIGtl cm5lbDoNCj4+PiAgICBpZmlfaW5kZXggICBpbnRlcmZhY2UgaW5kZXgNCj4+PiAgICBJRkxB X0lGTkFNRSBpbnRlcmZhY2UgbmFtZQ0KPj4+ICAgIElGTEFfQUxUX0lGTkFNRSAgICAgaW50 ZXJmYWNlIG5hbWUNCj4+PiArSUZMQV9FWFRfTUFTSyAgICAgICAgZXh0ZW5kZWQgaW5mb3Jt YXRpb24gc2VsZWN0aW9uIGJpdG1hcA0KPj4+ICAgIC5FZA0KPj4+ICsuUHANCj4+PiArU2V0 dGluZyB0aGUNCj4+PiArLkR2IFJURVhUX0ZJTFRFUl9WRg0KPj4+ICtiaXQgaW4NCj4+PiAr LkR2IElGTEFfRVhUX01BU0sNCj4+PiArcmVxdWVzdHMgU1ItSU9WIFZGIHN0YXR1cy4NCj4+ PiArVGhlIHF1ZXJ5IGlzIG9wdC1pbiBiZWNhdXNlIG9idGFpbmluZyBzdGF0dXMgY2FuIHJl cXVpcmUgZW50ZXJpbmcgdGhlIFBGDQo+Pj4gK2RyaXZlci4NCj4+PiArVkYgc3RhdHVzIGlz IG5vdCBpbmNsdWRlZCBpbiB1bnNvbGljaXRlZCBsaW5rIG5vdGlmaWNhdGlvbnMuDQo+Pj4g ICAgLlNzIFRMVnMNCj4+PiAgICAuQmwgLXRhZyAtd2lkdGggaW5kZW50DQo+Pj4gICAgLkl0 IER2IElGTEFfQUREUkVTUw0KPj4+IEBAIC0zNDAsNiArMzUwLDExMiBAQCBJRkxBX0FMVF9J Rk5BTUUgaW50ZXJmYWNlIG5hbWUNCj4+PiAgICAodWludDMyX3QpIChyZWFkb25seSkgSW50 ZXJmYWNlIGluZGV4Lg0KPj4+ICAgIC5JdCBEdiBJRkxBX01BU1RFUg0KPj4+ICAgICh1aW50 MzJfdCkgUGFyZW50IGludGVyZmFjZSBpbmRleC4NCj4+PiArLkl0IER2IElGTEFfTlVNX1ZG DQo+Pj4gKyh1aW50MzJfdCkgKHJlYWRvbmx5KSBOdW1iZXIgb2YgYWN0aXZlIFZGcy4NCj4+ PiArVGhpcyBhdHRyaWJ1dGUgaXMgcmV0dXJuZWQgd2l0aCBhIHN1Y2Nlc3NmdWwNCj4+PiAr LkR2IFJURVhUX0ZJTFRFUl9WRg0KPj4+ICtxdWVyeS4NCj4+PiArLkl0IER2IElGTEFfRlJF RUJTRA0KPj4+ICsobmVzdGVkKSBMb2NhbCBpbnRlcmZhY2UgYXR0cmlidXRlcy4NCj4+PiAr V2hlbiByZXF1ZXN0ZWQsDQo+Pj4gKy5EdiBJRkxBRl9WRl9TVEFUVVMNCj4+PiArY29udGFp bnMgdGhlIGZvbGxvd2luZyBuZXN0ZWQgYXR0cmlidXRlczoNCj4+PiArLkJkIC1saXRlcmFs IC1vZmZzZXQgaW5kZW50IC1jb21wYWN0DQo+Pj4gK0lGTEFGX1ZGU19WRVJTSU9OICAgICh1 aW50MzJfdCkgVkYgc3RhdHVzIHNjaGVtYSB2ZXJzaW9uDQo+Pj4gK0lGTEFGX1ZGU19FUlJP UiAgICAgICAgICAgICAgKHVpbnQzMl90KSBlcnJubyBpZiB0aGUgUEYgcXVlcnkgZmFpbGVk DQo+Pj4gK0lGTEFGX1ZGU19QRl9MSU5LX1NUQVRFICAgICAgKHVpbnQ4X3QpIElGTEFGX1ZG X0xJTktfKg0KPj4+ICtJRkxBRl9WRlNfUEZfTElOS19TUEVFRCAgICAgICh1aW50NjRfdCkg Yml0cyBwZXIgc2Vjb25kDQo+Pj4gK0lGTEFGX1ZGU19MSVNUICAgICAgICAgICAgICAgKG5l c3RlZCkgcmVwZWF0ZWQgSUZMQUZfVkZfTElTVF9FTlRSWQ0KPj4+ICsuRWQNCj4+PiArLlBw DQo+Pj4gK09uIGEgc3VjY2Vzc2Z1bCBxdWVyeSwNCj4+PiArLkR2IElGTEFGX1ZGU19WRVJT SU9ODQo+Pj4gK2FuZA0KPj4+ICsuRHYgSUZMQUZfVkZTX0xJU1QNCj4+PiArYXJlIHByZXNl bnQuDQo+Pj4gK0lmIHRoZSBQRiBzdGF0dXMgcXVlcnkgZmFpbHMsDQo+Pj4gKy5EdiBJRkxB Rl9WRlNfRVJST1INCj4+PiArY29udGFpbnMgdGhlIGVycm5vIHZhbHVlIGFuZCB0aGUgb3Ro ZXIgc3RhdHVzIGF0dHJpYnV0ZXMgYXJlIG9taXR0ZWQuDQo+Pj4gKy5QcA0KPj4+ICtFYWNo DQo+Pj4gKy5EdiBJRkxBRl9WRl9MSVNUX0VOVFJZDQo+Pj4gK21heSBjb250YWluIHRoZSBm b2xsb3dpbmcgYXR0cmlidXRlczoNCj4+PiArLkJkIC1saXRlcmFsIC1vZmZzZXQgaW5kZW50 IC1jb21wYWN0DQo+Pj4gK0lGTEFGX1ZGX0lOREVYICAgICAgICAgICAgICAgICAgICAgICAo dWludDMyX3QpIFBGLWxvY2FsIFZGIGluZGV4DQo+Pj4gK0lGTEFGX1ZGX0NPTkZJR1VSRUQg ICAgICAgICAgKHVpbnQ4X3QpIFBGIGFjY2VwdGVkIGNvbmZpZ3VyYXRpb24NCj4+PiArSUZM QUZfVkZfSU5JVElBTElaRUQgICAgICAgICAodWludDhfdCkgVkYgaGFuZHNoYWtlIGNvbXBs ZXRlZA0KPj4+ICtJRkxBRl9WRl9NQUMgICAgICAgICAgICAgICAgIChiaW5hcnkpIFBGLWtu b3duIHByaW1hcnkgTUFDIGFkZHJlc3MNCj4+PiArSUZMQUZfVkZfVkxBTl9NT0RFICAgICAg ICAgICAodWludDhfdCkgSUZMQUZfVkZfVkxBTl8qDQo+Pj4gK0lGTEFGX1ZGX1ZMQU4gICAg ICAgICAgICAgICAgICAgICAgICAodWludDE2X3QpIGFjY2VzcyBWTEFOIGlkZW50aWZpZXIN Cj4+PiArSUZMQUZfVkZfVkxBTl9DT1VOVCAgICAgICAgICAodWludDMyX3QpIGV4cGxpY2l0 IFZMQU4gZmlsdGVycw0KPj4+ICtJRkxBRl9WRl9WTEFOX0xJTUlUICAgICAgICAgICh1aW50 MzJfdCkgZXhwbGljaXQgVkxBTi1maWx0ZXIgbGltaXQNCj4+PiArSUZMQUZfVkZfTlVNX1FV RVVFUyAgICAgICAgICAodWludDMyX3QpIGFsbG9jYXRlZCBSWC9UWCBxdWV1ZSBwYWlycw0K Pj4+ICtJRkxBRl9WRl9BTExPV19TRVRfTUFDICAgICAgICAgICAgICAgKHVpbnQ4X3QpIGFk bWluaXN0cmF0aXZlIHBlcm1pc3Npb24NCj4+PiArSUZMQUZfVkZfQUxMT1dfU0VUX1ZMQU4g ICAgICAgICAgICAgICh1aW50OF90KSBhZG1pbmlzdHJhdGl2ZSBwZXJtaXNzaW9uDQo+Pj4g K0lGTEFGX1ZGX01BQ19BTlRJX1NQT09GICAgICAgICAgICAgICAodWludDhfdCkgTUFDIGFu dGktc3Bvb2ZpbmcgZW5hYmxlZA0KPj4+ICtJRkxBRl9WRl9BTExPV19QUk9NSVNDICAgICAg ICAgICAgICAgKHVpbnQ4X3QpIGFkbWluaXN0cmF0aXZlIHBlcm1pc3Npb24NCj4+PiArSUZM QUZfVkZfVFJBRkZJQ19FTkFCTEVEICAgICAodWludDhfdCkgVkYgdHJhZmZpYyBlbmFibGVk DQo+Pj4gK0lGTEFGX1ZGX01ERF9CTE9DS0VEICAgICAgICAgKHVpbnQ4X3QpIG1hbGljaW91 cy1kcml2ZXIgYmxvY2sgYWN0aXZlDQo+Pj4gK0lGTEFGX1ZGX1FVQVJBTlRJTkVEICAgICAg ICAgKHVpbnQ4X3QpIHBlcnNpc3RlbnQgcXVhcmFudGluZSBhY3RpdmUNCj4+PiArSUZMQUZf VkZfQVBJX1ZFUlNJT04gICAgICAgICAoc3RyaW5nKSBuZWdvdGlhdGVkIG1haWxib3ggQVBJ DQo+Pj4gK0lGTEFGX1ZGX0xJTktfU1RBVEVfUE9MSUNZICAgKHVpbnQ4X3QpIElGTEFGX1ZG X0xJTktfKg0KPj4+ICtJRkxBRl9WRl9FWFRFTlNJT05TICAgICAgICAgIChuZXN0ZWQpIGRy aXZlci1zcGVjaWZpYyBuYW1lc3BhY2VzDQo+Pj4gKy5FZA0KPj4+ICsuUHANCj4+PiArLkR2 IElGTEFGX1ZGX0lOREVYDQo+Pj4gK2lzIHJlcXVpcmVkIGluIGV2ZXJ5IGxpc3QgZW50cnku DQo+Pj4gK090aGVyIGZpZWxkcyBhcmUgb3B0aW9uYWwgYW5kIGFyZSBvbWl0dGVkIHdoZW4g dGhlIFBGIGRyaXZlciBjYW5ub3Qgb2JzZXJ2ZQ0KPj4+ICt0aGVtOyBvbWlzc2lvbiBkb2Vz IG5vdCBtZWFuIGZhbHNlIG9yIHplcm8uDQo+Pj4gK0Jvb2xlYW4gYXR0cmlidXRlcyBjb250 YWluIHplcm8gb3Igb25lLg0KPj4+ICsuRHYgSUZMQUZfVkZfQ09ORklHVVJFRA0KPj4+ICtt ZWFucyB0aGF0IHRoZSBQRiBhY2NlcHRlZCB0aGUgVkYgY29uZmlndXJhdGlvbiwgd2hpbGUN Cj4+PiArLkR2IElGTEFGX1ZGX0lOSVRJQUxJWkVEDQo+Pj4gK21lYW5zIHRoYXQgdGhlIFZG IGNvbXBsZXRlZCBpdHMgZHJpdmVyIG9yIG1haWxib3ggaGFuZHNoYWtlIHNpbmNlIGl0cyBs YXN0DQo+Pj4gK3Jlc2V0Lg0KPj4+ICsuUHANCj4+PiArLkR2IElGTEFGX1ZGX05VTV9RVUVV RVMNCj4+PiAraXMgdGhlIG51bWJlciBvZiBhbGxvY2F0ZWQgc3ltbWV0cmljIFJYL1RYIHF1 ZXVlIHBhaXJzLCBub3QgbmVjZXNzYXJpbHkgdGhlDQo+Pj4gK251bWJlciBjdXJyZW50bHkg dXNlZCBieSB0aGUgVkYgZHJpdmVyLg0KPj4+ICtBY2Nlc3MgVkxBTiBtb2RlIG1lYW5zIHRo YXQgdGhlIFBGIGltcG9zZXMNCj4+PiArLkR2IElGTEFGX1ZGX1ZMQU4gOw0KPj4+ICt0cnVu ayBtb2RlIG1lYW5zIHRoYXQgbm8gYWNjZXNzIFZMQU4gaXMgaW1wb3NlZCBhbmQgZG9lcyBu b3QgcHJvbWlzZSB1bmxpbWl0ZWQNCj4+PiArZmlsdGVyIGNhcGFjaXR5Lg0KPj4+ICsuRHYg SUZMQUZfVkZfVkxBTl9DT1VOVA0KPj4+ICtjb3VudHMgZXhwbGljaXQgZmlsdGVycyByZWNv cmRlZCBieSB0aGUgUEYgYW5kIGV4Y2x1ZGVzIGltcGxpY2l0IHVudGFnZ2VkIGFuZA0KPj4+ ICtwcmlvcml0eS10YWcgbWVtYmVyc2hpcC4NCj4+PiArVGhlIHBlcm1pc3Npb24gYXR0cmli dXRlcyBkZXNjcmliZSByZXF1ZXN0cyB0aGUgVkYgbWF5IG1ha2UsIG5vdCByZXF1ZXN0cyBp dA0KPj4+ICtoYXMgbWFkZS4NCj4+PiArVGhlIHRvcC1sZXZlbCBQRiBsaW5rIHN0YXRlIGFu ZCBzcGVlZCBhcmUgdmFsdWVzIG5vcm1hbGx5IGFkdmVydGlzZWQgdG8gVkZzLA0KPj4+ICtu b3QgZXZpZGVuY2UgdGhhdCBhIFZGIGRyaXZlciBpcyBvcGVyYXRpb25hbC4NCj4+PiArLlBw DQo+Pj4gK0xpbmstc3RhdGUgdmFsdWVzIGFyZToNCj4+PiArLkJkIC1saXRlcmFsIC1vZmZz ZXQgaW5kZW50IC1jb21wYWN0DQo+Pj4gK0lGTEFGX1ZGX0xJTktfVU5LTk9XTiAgICAgICAg c3RhdGUgaXMgdW5hdmFpbGFibGUNCj4+PiArSUZMQUZfVkZfTElOS19ET1dOICAgbGluayBp cyBmb3JjZWQgb3Igb2JzZXJ2ZWQgZG93bg0KPj4+ICtJRkxBRl9WRl9MSU5LX1VQICAgICBs aW5rIGlzIGZvcmNlZCBvciBvYnNlcnZlZCB1cA0KPj4+ICtJRkxBRl9WRl9MSU5LX0FVVE8g ICBWRiBmb2xsb3dzIFBGIGxpbmsgc3RhdGUNCj4+PiArLkVkDQo+Pj4gKy5QcA0KPj4+ICtW TEFOLW1vZGUgdmFsdWVzIGFyZToNCj4+PiArLkJkIC1saXRlcmFsIC1vZmZzZXQgaW5kZW50 IC1jb21wYWN0DQo+Pj4gK0lGTEFGX1ZGX1ZMQU5fVU5LTk9XTiAgICAgICAgbW9kZSBpcyB1 bmF2YWlsYWJsZQ0KPj4+ICtJRkxBRl9WRl9WTEFOX0FDQ0VTUyBQRiBpbXBvc2VzIGFuIGFj Y2VzcyBWTEFODQo+Pj4gK0lGTEFGX1ZGX1ZMQU5fVFJVTksgIG5vIGFjY2VzcyBWTEFOIGlz IGltcG9zZWQNCj4+PiArLkVkDQo+Pj4gKy5QcA0KPj4+ICtEcml2ZXItc3BlY2lmaWMgZGF0 YSBpcyByZXR1cm5lZCB1bmRlcg0KPj4+ICsuRHYgSUZMQUZfVkZfRVhURU5TSU9OUw0KPj4+ ICthcyByZXBlYXRlZA0KPj4+ICsuRHYgSUZMQUZfVkZfRVhUX0xJU1RfRU5UUlkNCj4+PiAr b2JqZWN0cy4NCj4+PiArRWFjaCBvYmplY3QgY29udGFpbnMgYSBzdGFibGUgbmFtZXNwYWNl IHN0cmluZyBpbg0KPj4+ICsuRHYgSUZMQUZfVkZfRVhUX05BTUUNCj4+PiArYW5kIGl0cyBw YWNrZWQsIHZlcnNpb25lZA0KPj4+ICsuWHIgbnZsaXN0IDkNCj4+PiAraW4NCj4+PiArLkR2 IElGTEFGX1ZGX0VYVF9EQVRBIC4NCj4+PiArRWFjaCBuYW1lc3BhY2UgY29udGFpbnMgYSB2 ZXJzaW9uIG51bWJlci4NCj4+PiArQ29uc3VtZXJzIG11c3QgaWdub3JlIHVua25vd24gbmFt ZXNwYWNlcyBhbmQgZmllbGRzLg0KPj4+ICAgIC5JdCBEdiBJRkxBX0xJTktJTkZPDQo+Pj4g ICAgKG5lc3RlZCkgSW50ZXJmYWNlIHR5cGUtc3BlY2lmaWMgYXR0cmlidXRlczoNCj4+PiAg ICAuQmQgLWxpdGVyYWwgLW9mZnNldCBpbmRlbnQgLWNvbXBhY3QNCj4+PiBkaWZmIC0tZ2l0 IGEvc3lzL25ldGxpbmsvbmV0bGlua19zbmxfcm91dGVfcGFyc2Vycy5oIGIvc3lzL25ldGxp bmsvbmV0bGlua19zbmxfcm91dGVfcGFyc2Vycy5oDQo+Pj4gaW5kZXggZjA4NDk4ODRlYzk3 Li45ZjY5OWVmNTI4YTMgMTAwNjQ0DQo+Pj4gLS0tIGEvc3lzL25ldGxpbmsvbmV0bGlua19z bmxfcm91dGVfcGFyc2Vycy5oDQo+Pj4gKysrIGIvc3lzL25ldGxpbmsvbmV0bGlua19zbmxf cm91dGVfcGFyc2Vycy5oDQo+Pj4gQEAgLTE3OCw2ICsxNzgsMTEzIEBAIFNOTF9ERUNMQVJF X1BBUlNFUl9FWFQoc25sX3J0bV9yb3V0ZV9wYXJzZXIsIHNpemVvZihzdHJ1Y3QgcnRtc2cp LA0KPj4+ICAgICAgICAgICAgICAgIF9jYl9wX3JvdXRlKTsNCj4+Pg0KPj4+ICAgIC8qIFJU TV88TkVXfERFTHxHRVQ+TElOSyBtZXNzYWdlIHBhcnNlciAqLw0KPj4+ICtzdHJ1Y3Qgc25s X3BhcnNlZF92Zl9leHRlbnNpb24gew0KPj4+ICsgICAgIGNoYXIgICAgICAgICAgICAgICAg ICAgICpuYW1lOw0KPj4+ICsgICAgIHN0cnVjdCBubGF0dHIgICAgICAgICAgICpkYXRhOw0K Pj4+ICt9Ow0KPj4+ICsNCj4+PiArI2RlZmluZSAgICAgIF9PVVQoX2ZpZWxkKSAgICBvZmZz ZXRvZihzdHJ1Y3Qgc25sX3BhcnNlZF92Zl9leHRlbnNpb24sIF9maWVsZCkNCj4+PiArc3Rh dGljIGNvbnN0IHN0cnVjdCBzbmxfYXR0cl9wYXJzZXIgX25sYV9wX3ZmX2V4dGVuc2lvbltd ID0gew0KPj4+ICsgICAgIHsgLnR5cGUgPSBJRkxBRl9WRl9FWFRfTkFNRSwgLm9mZiA9IF9P VVQobmFtZSksDQo+Pj4gKyAgICAgICAgIC5jYiA9IHNubF9hdHRyX2R1cF9zdHJpbmcgfSwN Cj4+PiArICAgICB7IC50eXBlID0gSUZMQUZfVkZfRVhUX0RBVEEsIC5vZmYgPSBfT1VUKGRh dGEpLA0KPj4+ICsgICAgICAgICAuY2IgPSBzbmxfYXR0cl9kdXBfbmxhIH0sDQo+Pj4gK307 DQo+Pj4gKyN1bmRlZiBfT1VUDQo+Pj4gK1NOTF9ERUNMQVJFX0FUVFJfUEFSU0VSX0VYVChf dmZfZXh0ZW5zaW9uX3BhcnNlciwNCj4+PiArICAgICAgICAgc2l6ZW9mKHN0cnVjdCBzbmxf cGFyc2VkX3ZmX2V4dGVuc2lvbiksIF9ubGFfcF92Zl9leHRlbnNpb24sIE5VTEwpOw0KPj4+ ICsNCj4+PiArc3RydWN0IHNubF9wYXJzZWRfdmYgew0KPj4+ICsgICAgIHVpbnQzMl90ICAg ICAgICAgICAgICAgIGluZGV4Ow0KPj4+ICsgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAg IHZsYW5fY291bnQ7DQo+Pj4gKyAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgdmxhbl9s aW1pdDsNCj4+PiArICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICBudW1fcXVldWVzOw0K Pj4+ICsgICAgIHVpbnQxNl90ICAgICAgICAgICAgICAgIHZsYW47DQo+Pj4gKyAgICAgdWlu dDhfdCAgICAgICAgICAgICAgICAgY29uZmlndXJlZDsNCj4+PiArICAgICB1aW50OF90ICAg ICAgICAgICAgICAgICBpbml0aWFsaXplZDsNCj4+PiArICAgICB1aW50OF90ICAgICAgICAg ICAgICAgICB2bGFuX21vZGU7DQo+Pj4gKyAgICAgdWludDhfdCAgICAgICAgICAgICAgICAg YWxsb3dfc2V0X21hYzsNCj4+PiArICAgICB1aW50OF90ICAgICAgICAgICAgICAgICBhbGxv d19zZXRfdmxhbjsNCj4+PiArICAgICB1aW50OF90ICAgICAgICAgICAgICAgICBtYWNfYW50 aV9zcG9vZjsNCj4+PiArICAgICB1aW50OF90ICAgICAgICAgICAgICAgICBhbGxvd19wcm9t aXNjOw0KPj4+ICsgICAgIHVpbnQ4X3QgICAgICAgICAgICAgICAgIHRyYWZmaWNfZW5hYmxl ZDsNCj4+PiArICAgICB1aW50OF90ICAgICAgICAgICAgICAgICBtZGRfYmxvY2tlZDsNCj4+ PiArICAgICB1aW50OF90ICAgICAgICAgICAgICAgICBxdWFyYW50aW5lZDsNCj4+PiArICAg ICB1aW50OF90ICAgICAgICAgICAgICAgICBsaW5rX3N0YXRlX3BvbGljeTsNCj4+PiArICAg ICBjaGFyICAgICAgICAgICAgICAgICAgICAqYXBpX3ZlcnNpb247DQo+Pj4gKyAgICAgc3Ry dWN0IG5sYXR0ciAgICAgICAgICAgKm1hYzsNCj4+PiArICAgICBzdHJ1Y3Qgc25sX3BhcnJh eSAgICAgICBleHRlbnNpb25zOw0KPj4+ICt9Ow0KPj4+ICsNCj4+PiArI2RlZmluZSAgICAg IF9PVVQoX2ZpZWxkKSAgICBvZmZzZXRvZihzdHJ1Y3Qgc25sX3BhcnNlZF92ZiwgX2ZpZWxk KQ0KPj4+ICtzdGF0aWMgY29uc3Qgc3RydWN0IHNubF9hdHRyX3BhcnNlciBfbmxhX3BfdmZb XSA9IHsNCj4+PiArICAgICB7IC50eXBlID0gSUZMQUZfVkZfSU5ERVgsIC5vZmYgPSBfT1VU KGluZGV4KSwNCj4+PiArICAgICAgICAgLmNiID0gc25sX2F0dHJfZ2V0X3VpbnQzMiB9LA0K Pj4+ICsgICAgIHsgLnR5cGUgPSBJRkxBRl9WRl9DT05GSUdVUkVELCAub2ZmID0gX09VVChj b25maWd1cmVkKSwNCj4+PiArICAgICAgICAgLmNiID0gc25sX2F0dHJfZ2V0X3VpbnQ4IH0s DQo+Pj4gKyAgICAgeyAudHlwZSA9IElGTEFGX1ZGX0lOSVRJQUxJWkVELCAub2ZmID0gX09V VChpbml0aWFsaXplZCksDQo+Pj4gKyAgICAgICAgIC5jYiA9IHNubF9hdHRyX2dldF91aW50 OCB9LA0KPj4+ICsgICAgIHsgLnR5cGUgPSBJRkxBRl9WRl9NQUMsIC5vZmYgPSBfT1VUKG1h YyksIC5jYiA9IHNubF9hdHRyX2R1cF9ubGEgfSwNCj4+PiArICAgICB7IC50eXBlID0gSUZM QUZfVkZfVkxBTl9NT0RFLCAub2ZmID0gX09VVCh2bGFuX21vZGUpLA0KPj4+ICsgICAgICAg ICAuY2IgPSBzbmxfYXR0cl9nZXRfdWludDggfSwNCj4+PiArICAgICB7IC50eXBlID0gSUZM QUZfVkZfVkxBTiwgLm9mZiA9IF9PVVQodmxhbiksDQo+Pj4gKyAgICAgICAgIC5jYiA9IHNu bF9hdHRyX2dldF91aW50MTYgfSwNCj4+PiArICAgICB7IC50eXBlID0gSUZMQUZfVkZfVkxB Tl9DT1VOVCwgLm9mZiA9IF9PVVQodmxhbl9jb3VudCksDQo+Pj4gKyAgICAgICAgIC5jYiA9 IHNubF9hdHRyX2dldF91aW50MzIgfSwNCj4+PiArICAgICB7IC50eXBlID0gSUZMQUZfVkZf VkxBTl9MSU1JVCwgLm9mZiA9IF9PVVQodmxhbl9saW1pdCksDQo+Pj4gKyAgICAgICAgIC5j YiA9IHNubF9hdHRyX2dldF91aW50MzIgfSwNCj4+PiArICAgICB7IC50eXBlID0gSUZMQUZf VkZfTlVNX1FVRVVFUywgLm9mZiA9IF9PVVQobnVtX3F1ZXVlcyksDQo+Pj4gKyAgICAgICAg IC5jYiA9IHNubF9hdHRyX2dldF91aW50MzIgfSwNCj4+PiArICAgICB7IC50eXBlID0gSUZM QUZfVkZfQUxMT1dfU0VUX01BQywgLm9mZiA9IF9PVVQoYWxsb3dfc2V0X21hYyksDQo+Pj4g KyAgICAgICAgIC5jYiA9IHNubF9hdHRyX2dldF91aW50OCB9LA0KPj4+ICsgICAgIHsgLnR5 cGUgPSBJRkxBRl9WRl9BTExPV19TRVRfVkxBTiwgLm9mZiA9IF9PVVQoYWxsb3dfc2V0X3Zs YW4pLA0KPj4+ICsgICAgICAgICAuY2IgPSBzbmxfYXR0cl9nZXRfdWludDggfSwNCj4+PiAr ICAgICB7IC50eXBlID0gSUZMQUZfVkZfTUFDX0FOVElfU1BPT0YsIC5vZmYgPSBfT1VUKG1h Y19hbnRpX3Nwb29mKSwNCj4+PiArICAgICAgICAgLmNiID0gc25sX2F0dHJfZ2V0X3VpbnQ4 IH0sDQo+Pj4gKyAgICAgeyAudHlwZSA9IElGTEFGX1ZGX0FMTE9XX1BST01JU0MsIC5vZmYg PSBfT1VUKGFsbG93X3Byb21pc2MpLA0KPj4+ICsgICAgICAgICAuY2IgPSBzbmxfYXR0cl9n ZXRfdWludDggfSwNCj4+PiArICAgICB7IC50eXBlID0gSUZMQUZfVkZfVFJBRkZJQ19FTkFC TEVELCAub2ZmID0gX09VVCh0cmFmZmljX2VuYWJsZWQpLA0KPj4+ICsgICAgICAgICAuY2Ig PSBzbmxfYXR0cl9nZXRfdWludDggfSwNCj4+PiArICAgICB7IC50eXBlID0gSUZMQUZfVkZf TUREX0JMT0NLRUQsIC5vZmYgPSBfT1VUKG1kZF9ibG9ja2VkKSwNCj4+PiArICAgICAgICAg LmNiID0gc25sX2F0dHJfZ2V0X3VpbnQ4IH0sDQo+Pj4gKyAgICAgeyAudHlwZSA9IElGTEFG X1ZGX1FVQVJBTlRJTkVELCAub2ZmID0gX09VVChxdWFyYW50aW5lZCksDQo+Pj4gKyAgICAg ICAgIC5jYiA9IHNubF9hdHRyX2dldF91aW50OCB9LA0KPj4+ICsgICAgIHsgLnR5cGUgPSBJ RkxBRl9WRl9BUElfVkVSU0lPTiwgLm9mZiA9IF9PVVQoYXBpX3ZlcnNpb24pLA0KPj4+ICsg ICAgICAgICAuY2IgPSBzbmxfYXR0cl9kdXBfc3RyaW5nIH0sDQo+Pj4gKyAgICAgeyAudHlw ZSA9IElGTEFGX1ZGX0xJTktfU1RBVEVfUE9MSUNZLA0KPj4+ICsgICAgICAgICAub2ZmID0g X09VVChsaW5rX3N0YXRlX3BvbGljeSksIC5jYiA9IHNubF9hdHRyX2dldF91aW50OCB9LA0K Pj4+ICsgICAgIHsgLnR5cGUgPSBJRkxBRl9WRl9FWFRFTlNJT05TLCAub2ZmID0gX09VVChl eHRlbnNpb25zKSwNCj4+PiArICAgICAgICAgLmFyZyA9ICZfdmZfZXh0ZW5zaW9uX3BhcnNl ciwgLmNiID0gc25sX2F0dHJfZ2V0X3BhcnJheSB9LA0KPj4+ICt9Ow0KPj4+ICsjdW5kZWYg X09VVA0KPj4+ICtTTkxfREVDTEFSRV9BVFRSX1BBUlNFUl9FWFQoX3ZmX3BhcnNlciwgc2l6 ZW9mKHN0cnVjdCBzbmxfcGFyc2VkX3ZmKSwNCj4+PiArICAgICAgICAgX25sYV9wX3ZmLCBO VUxMKTsNCj4+PiArDQo+Pj4gK3N0cnVjdCBzbmxfcGFyc2VkX3ZmX3N0YXR1cyB7DQo+Pj4g KyAgICAgdWludDY0X3QgICAgICAgICAgICAgICAgcGZfbGlua19zcGVlZDsNCj4+PiArICAg ICB1aW50MzJfdCAgICAgICAgICAgICAgICB2ZXJzaW9uOw0KPj4+ICsgICAgIHVpbnQzMl90 ICAgICAgICAgICAgICAgIGVycm9yOw0KPj4+ICsgICAgIHVpbnQ4X3QgICAgICAgICAgICAg ICAgIHBmX2xpbmtfc3RhdGU7DQo+Pj4gKyAgICAgc3RydWN0IHNubF9wYXJyYXkgICAgICAg dmZzOw0KPj4+ICt9Ow0KPj4+ICsNCj4+PiArI2RlZmluZSAgICAgIF9PVVQoX2ZpZWxkKSAg ICBvZmZzZXRvZihzdHJ1Y3Qgc25sX3BhcnNlZF92Zl9zdGF0dXMsIF9maWVsZCkNCj4+PiAr c3RhdGljIGNvbnN0IHN0cnVjdCBzbmxfYXR0cl9wYXJzZXIgX25sYV9wX3ZmX3N0YXR1c1td ID0gew0KPj4+ICsgICAgIHsgLnR5cGUgPSBJRkxBRl9WRlNfVkVSU0lPTiwgLm9mZiA9IF9P VVQodmVyc2lvbiksDQo+Pj4gKyAgICAgICAgIC5jYiA9IHNubF9hdHRyX2dldF91aW50MzIg fSwNCj4+PiArICAgICB7IC50eXBlID0gSUZMQUZfVkZTX0VSUk9SLCAub2ZmID0gX09VVChl cnJvciksDQo+Pj4gKyAgICAgICAgIC5jYiA9IHNubF9hdHRyX2dldF91aW50MzIgfSwNCj4+ PiArICAgICB7IC50eXBlID0gSUZMQUZfVkZTX1BGX0xJTktfU1RBVEUsIC5vZmYgPSBfT1VU KHBmX2xpbmtfc3RhdGUpLA0KPj4+ICsgICAgICAgICAuY2IgPSBzbmxfYXR0cl9nZXRfdWlu dDggfSwNCj4+PiArICAgICB7IC50eXBlID0gSUZMQUZfVkZTX1BGX0xJTktfU1BFRUQsIC5v ZmYgPSBfT1VUKHBmX2xpbmtfc3BlZWQpLA0KPj4+ICsgICAgICAgICAuY2IgPSBzbmxfYXR0 cl9nZXRfdWludDY0IH0sDQo+Pj4gKyAgICAgeyAudHlwZSA9IElGTEFGX1ZGU19MSVNULCAu b2ZmID0gX09VVCh2ZnMpLA0KPj4+ICsgICAgICAgICAuYXJnID0gJl92Zl9wYXJzZXIsIC5j YiA9IHNubF9hdHRyX2dldF9wYXJyYXkgfSwNCj4+PiArfTsNCj4+PiArI3VuZGVmIF9PVVQN Cj4+PiArU05MX0RFQ0xBUkVfQVRUUl9QQVJTRVJfRVhUKF92Zl9zdGF0dXNfcGFyc2VyLA0K Pj4+ICsgICAgICAgICBzaXplb2Yoc3RydWN0IHNubF9wYXJzZWRfdmZfc3RhdHVzKSwgX25s YV9wX3ZmX3N0YXR1cywgTlVMTCk7DQo+Pj4gKw0KPj4+ICAgIHN0cnVjdCBzbmxfcGFyc2Vk X2xpbmsgew0KPj4+ICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgICAgICAgIGlm aV9pbmRleDsNCj4+PiAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgICAgICAgICBp ZmlfZmxhZ3M7DQo+Pj4gQEAgLTE5MSw5ICsyOTgsMTEgQEAgc3RydWN0IHNubF9wYXJzZWRf bGluayB7DQo+Pj4gICAgICAgIHN0cnVjdCBubGF0dHIgICAgICAgICAgICAgICAgICAgKmlm bGFfYnJvYWRjYXN0Ow0KPj4+ICAgICAgICBjaGFyICAgICAgICAgICAgICAgICAgICAgICAg ICAgICppZmxhX2lmYWxpYXM7DQo+Pj4gICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAg ICAgICAgICAgaWZsYV9wcm9taXNjdWl0eTsNCj4+PiArICAgICB1aW50MzJfdCAgICAgICAg ICAgICAgICAgICAgICAgIGlmbGFfbnVtX3ZmOw0KPj4+ICAgICAgICBzdHJ1Y3QgcnRubF9s aW5rX3N0YXRzNjQgICAgICAgICppZmxhX3N0YXRzNjQ7DQo+Pj4gICAgICAgIHN0cnVjdCBu bGF0dHIgICAgICAgICAgICAgICAgICAgKmlmbGFmX29yaWdfaHdhZGRyOw0KPj4+ICAgICAg ICBzdHJ1Y3Qgc25sX2F0dHJfYml0c2V0ICAgICAgICAgIGlmbGFmX2NhcHM7DQo+Pj4gKyAg ICAgc3RydWN0IHNubF9wYXJzZWRfdmZfc3RhdHVzICAgICBpZmxhZl92Zl9zdGF0dXM7DQo+ Pj4gICAgfTsNCj4+Pg0KPj4+ICAgICNkZWZpbmUgICAgIF9JTihfZmllbGQpICAgICBvZmZz ZXRvZihzdHJ1Y3QgaWZpbmZvbXNnLCBfZmllbGQpDQo+Pj4gQEAgLTIwMSw2ICszMTAsOCBA QCBzdHJ1Y3Qgc25sX3BhcnNlZF9saW5rIHsNCj4+PiAgICBzdGF0aWMgY29uc3Qgc3RydWN0 IHNubF9hdHRyX3BhcnNlciBfbmxhX3BfbGlua19mYnNkW10gPSB7DQo+Pj4gICAgICAgIHsg LnR5cGUgPSBJRkxBRl9PUklHX0hXQUREUiwgLm9mZiA9IF9PVVQoaWZsYWZfb3JpZ19od2Fk ZHIpLCAuY2IgPSBzbmxfYXR0cl9kdXBfbmxhIH0sDQo+Pj4gICAgICAgIHsgLnR5cGUgPSBJ RkxBRl9DQVBTLCAub2ZmID0gX09VVChpZmxhZl9jYXBzKSwgLmNiID0gc25sX2F0dHJfZ2V0 X2JpdHNldF9jIH0sDQo+Pj4gKyAgICAgeyAudHlwZSA9IElGTEFGX1ZGX1NUQVRVUywgLm9m ZiA9IF9PVVQoaWZsYWZfdmZfc3RhdHVzKSwNCj4+PiArICAgICAgICAgLmFyZyA9ICZfdmZf c3RhdHVzX3BhcnNlciwgLmNiID0gc25sX2F0dHJfZ2V0X25lc3RlZCB9LA0KPj4+ICAgIH07 DQo+Pj4gICAgU05MX0RFQ0xBUkVfQVRUUl9QQVJTRVIoX2xpbmtfZmJzZF9wYXJzZXIsIF9u bGFfcF9saW5rX2Zic2QpOw0KPj4+DQo+Pj4gQEAgLTIxMSw2ICszMjIsNyBAQCBzdGF0aWMg Y29uc3Qgc3RydWN0IHNubF9hdHRyX3BhcnNlciBfbmxhX3BfbGlua1tdID0gew0KPj4+ICAg ICAgICB7IC50eXBlID0gSUZMQV9NVFUsIC5vZmYgPSBfT1VUKGlmbGFfbXR1KSwgLmNiID0g c25sX2F0dHJfZ2V0X3VpbnQzMiB9LA0KPj4+ICAgICAgICB7IC50eXBlID0gSUZMQV9PUEVS U1RBVEUsIC5vZmYgPSBfT1VUKGlmbGFfb3BlcnN0YXRlKSwgLmNiID0gc25sX2F0dHJfZ2V0 X3VpbnQ4IH0sDQo+Pj4gICAgICAgIHsgLnR5cGUgPSBJRkxBX0lGQUxJQVMsIC5vZmYgPSBf T1VUKGlmbGFfaWZhbGlhcyksIC5jYiA9IHNubF9hdHRyX2R1cF9zdHJpbmcgfSwNCj4+PiAr ICAgICB7IC50eXBlID0gSUZMQV9OVU1fVkYsIC5vZmYgPSBfT1VUKGlmbGFfbnVtX3ZmKSwg LmNiID0gc25sX2F0dHJfZ2V0X3VpbnQzMiB9LA0KPj4+ICAgICAgICB7IC50eXBlID0gSUZM QV9TVEFUUzY0LCAub2ZmID0gX09VVChpZmxhX3N0YXRzNjQpLCAuY2IgPSBzbmxfYXR0cl9k dXBfc3RydWN0IH0sDQo+Pj4gICAgICAgIHsgLnR5cGUgPSBJRkxBX1BST01JU0NVSVRZLCAu b2ZmID0gX09VVChpZmxhX3Byb21pc2N1aXR5KSwgLmNiID0gc25sX2F0dHJfZ2V0X3VpbnQz MiB9LA0KPj4+ICAgICAgICB7IC50eXBlID0gSUZMQV9DQVJSSUVSLCAub2ZmID0gX09VVChp ZmxhX2NhcnJpZXIpLCAuY2IgPSBzbmxfYXR0cl9nZXRfdWludDggfSwNCj4+PiBkaWZmIC0t Z2l0IGEvc3lzL25ldGxpbmsvcm91dGUvaWZhY2UuYyBiL3N5cy9uZXRsaW5rL3JvdXRlL2lm YWNlLmMNCj4+PiBpbmRleCA1YjZlNThhNTk4YWEuLmJiMDRjMmE5NGMxZSAxMDA2NDQNCj4+ PiAtLS0gYS9zeXMvbmV0bGluay9yb3V0ZS9pZmFjZS5jDQo+Pj4gKysrIGIvc3lzL25ldGxp bmsvcm91dGUvaWZhY2UuYw0KPj4+IEBAIC0zMyw2ICszMyw3IEBADQo+Pj4gICAgI2luY2x1 ZGUgPHN5cy9rZXJuZWwuaD4NCj4+PiAgICAjaW5jbHVkZSA8c3lzL2phaWwuaD4NCj4+PiAg ICAjaW5jbHVkZSA8c3lzL21hbGxvYy5oPg0KPj4+ICsjaW5jbHVkZSA8c3lzL252Lmg+DQo+ Pj4gICAgI2luY2x1ZGUgPHN5cy9zb2NrZXQuaD4NCj4+PiAgICAjaW5jbHVkZSA8c3lzL3Nv Y2tpby5oPg0KPj4+ICAgICNpbmNsdWRlIDxzeXMvc3lzbG9nLmg+DQo+Pj4gQEAgLTY1LDYg KzY2LDcgQEAgc3RydWN0IG5ldGxpbmtfd2Fsa2FyZ3Mgew0KPj4+ICAgICAgICBzdHJ1Y3Qg bmxwY2IgKnNvOw0KPj4+ICAgICAgICBzdHJ1Y3QgdWNyZWQgKmNyZWQ7DQo+Pj4gICAgICAg IHVpbnQzMl90IGZpYm51bTsNCj4+PiArICAgICB1aW50MzJfdCBleHRfbWFzazsNCj4+PiAg ICAgICAgaW50IGZhbWlseTsNCj4+PiAgICAgICAgaW50IGVycm9yOw0KPj4+ICAgICAgICBp bnQgY291bnQ7DQo+Pj4gQEAgLTI3OSw2ICsyODEsMjQ1IEBAIGR1bXBfaWZhY2VfY2Fwcyhz dHJ1Y3Qgbmxfd3JpdGVyICpudywgc3RydWN0IGlmbmV0ICppZnApDQo+Pj4gICAgICAgIHJl dHVybiAodHJ1ZSk7DQo+Pj4gICAgfQ0KPj4+DQo+Pj4gK3N0YXRpYyB1aW50OF90DQo+Pj4g K3ZmX2xpbmtfc3RhdGUoY29uc3QgY2hhciAqc3RhdGUpDQo+Pj4gK3sNCj4+PiArDQo+Pj4g KyAgICAgaWYgKHN0cmNtcChzdGF0ZSwgSUZWRl9MSU5LX1NUQVRFX0RPV04pID09IDApDQo+ Pj4gKyAgICAgICAgICAgICByZXR1cm4gKElGTEFGX1ZGX0xJTktfRE9XTik7DQo+Pj4gKyAg ICAgaWYgKHN0cmNtcChzdGF0ZSwgSUZWRl9MSU5LX1NUQVRFX1VQKSA9PSAwKQ0KPj4+ICsg ICAgICAgICAgICAgcmV0dXJuIChJRkxBRl9WRl9MSU5LX1VQKTsNCj4+PiArICAgICBpZiAo c3RyY21wKHN0YXRlLCBJRlZGX0xJTktfU1RBVEVfQVVUTykgPT0gMCkNCj4+PiArICAgICAg ICAgICAgIHJldHVybiAoSUZMQUZfVkZfTElOS19BVVRPKTsNCj4+PiArICAgICByZXR1cm4g KElGTEFGX1ZGX0xJTktfVU5LTk9XTik7DQo+Pj4gK30NCj4+PiArDQo+Pj4gK3N0YXRpYyBi b29sDQo+Pj4gK2R1bXBfdmZfYm9vbChzdHJ1Y3Qgbmxfd3JpdGVyICpudywgY29uc3QgbnZs aXN0X3QgKnZmLCBjb25zdCBjaGFyICpuYW1lLA0KPj4+ICsgICAgdWludDE2X3QgYXR0cikN Cj4+PiArew0KPj4+ICsNCj4+PiArICAgICBpZiAoIW52bGlzdF9leGlzdHNfYm9vbCh2Ziwg bmFtZSkpDQo+Pj4gKyAgICAgICAgICAgICByZXR1cm4gKHRydWUpOw0KPj4+ICsgICAgIHJl dHVybiAobmxhdHRyX2FkZF91OChudywgYXR0ciwgbnZsaXN0X2dldF9ib29sKHZmLCBuYW1l KSA/IDEgOiAwKSk7DQo+Pj4gK30NCj4+PiArDQo+Pj4gK3N0YXRpYyBib29sDQo+Pj4gK2R1 bXBfdmZfdTE2KHN0cnVjdCBubF93cml0ZXIgKm53LCBjb25zdCBudmxpc3RfdCAqdmYsIGNv bnN0IGNoYXIgKm5hbWUsDQo+Pj4gKyAgICB1aW50MTZfdCBhdHRyKQ0KPj4+ICt7DQo+Pj4g KyAgICAgdWludDY0X3QgdmFsdWU7DQo+Pj4gKw0KPj4+ICsgICAgIGlmICghbnZsaXN0X2V4 aXN0c19udW1iZXIodmYsIG5hbWUpKQ0KPj4+ICsgICAgICAgICAgICAgcmV0dXJuICh0cnVl KTsNCj4+PiArICAgICB2YWx1ZSA9IG52bGlzdF9nZXRfbnVtYmVyKHZmLCBuYW1lKTsNCj4+ PiArICAgICBpZiAodmFsdWUgPiBVSU5UMTZfTUFYKQ0KPj4+ICsgICAgICAgICAgICAgcmV0 dXJuIChmYWxzZSk7DQo+Pj4gKyAgICAgcmV0dXJuIChubGF0dHJfYWRkX3UxNihudywgYXR0 ciwgKHVpbnQxNl90KXZhbHVlKSk7DQo+Pj4gK30NCj4+PiArDQo+Pj4gK3N0YXRpYyBib29s DQo+Pj4gK2R1bXBfdmZfdTMyKHN0cnVjdCBubF93cml0ZXIgKm53LCBjb25zdCBudmxpc3Rf dCAqdmYsIGNvbnN0IGNoYXIgKm5hbWUsDQo+Pj4gKyAgICB1aW50MTZfdCBhdHRyKQ0KPj4+ ICt7DQo+Pj4gKyAgICAgdWludDY0X3QgdmFsdWU7DQo+Pj4gKw0KPj4+ICsgICAgIGlmICgh bnZsaXN0X2V4aXN0c19udW1iZXIodmYsIG5hbWUpKQ0KPj4+ICsgICAgICAgICAgICAgcmV0 dXJuICh0cnVlKTsNCj4+PiArICAgICB2YWx1ZSA9IG52bGlzdF9nZXRfbnVtYmVyKHZmLCBu YW1lKTsNCj4+PiArICAgICBpZiAodmFsdWUgPiBVSU5UMzJfTUFYKQ0KPj4+ICsgICAgICAg ICAgICAgcmV0dXJuIChmYWxzZSk7DQo+Pj4gKyAgICAgcmV0dXJuIChubGF0dHJfYWRkX3Uz MihudywgYXR0ciwgKHVpbnQzMl90KXZhbHVlKSk7DQo+Pj4gK30NCj4+PiArDQo+Pj4gK3N0 YXRpYyBib29sDQo+Pj4gK2R1bXBfdmZfc3RyaW5nKHN0cnVjdCBubF93cml0ZXIgKm53LCBj b25zdCBudmxpc3RfdCAqdmYsIGNvbnN0IGNoYXIgKm5hbWUsDQo+Pj4gKyAgICB1aW50MTZf dCBhdHRyKQ0KPj4+ICt7DQo+Pj4gKw0KPj4+ICsgICAgIGlmICghbnZsaXN0X2V4aXN0c19z dHJpbmcodmYsIG5hbWUpKQ0KPj4+ICsgICAgICAgICAgICAgcmV0dXJuICh0cnVlKTsNCj4+ PiArICAgICByZXR1cm4gKG5sYXR0cl9hZGRfc3RyaW5nKG53LCBhdHRyLCBudmxpc3RfZ2V0 X3N0cmluZyh2ZiwgbmFtZSkpKTsNCj4+PiArfQ0KPj4+ICsNCj4+PiArc3RhdGljIGJvb2wN Cj4+PiArZHVtcF92Zl9leHRlbnNpb25zKHN0cnVjdCBubF93cml0ZXIgKm53LCBjb25zdCBu dmxpc3RfdCAqdmYpDQo+Pj4gK3sNCj4+PiArICAgICBjb25zdCBudmxpc3RfdCAqZXh0ZW5z aW9uLCAqZXh0ZW5zaW9uczsNCj4+PiArICAgICBjb25zdCBjaGFyICpuYW1lOw0KPj4+ICsg ICAgIHZvaWQgKmJ1ZiwgKmNvb2tpZTsNCj4+PiArICAgICBzaXplX3QgYnVmbGVuOw0KPj4+ ICsgICAgIGludCBlbnRyeV9vZmYsIGV4dGVuc2lvbnNfb2ZmLCB0eXBlOw0KPj4+ICsgICAg IGJvb2wgb2s7DQo+Pj4gKw0KPj4+ICsgICAgIGlmICghbnZsaXN0X2V4aXN0cyh2ZiwgSUZW Rl9TVEFUVVNfRVhURU5TSU9OUykpDQo+Pj4gKyAgICAgICAgICAgICByZXR1cm4gKHRydWUp Ow0KPj4+ICsgICAgIGlmICghbnZsaXN0X2V4aXN0c19udmxpc3QodmYsIElGVkZfU1RBVFVT X0VYVEVOU0lPTlMpKQ0KPj4+ICsgICAgICAgICAgICAgcmV0dXJuIChmYWxzZSk7DQo+Pj4g Kw0KPj4+ICsgICAgIGV4dGVuc2lvbnMgPSBudmxpc3RfZ2V0X252bGlzdCh2ZiwgSUZWRl9T VEFUVVNfRVhURU5TSU9OUyk7DQo+Pj4gKyAgICAgZXh0ZW5zaW9uc19vZmYgPSBubGF0dHJf YWRkX25lc3RlZChudywgSUZMQUZfVkZfRVhURU5TSU9OUyk7DQo+Pj4gKyAgICAgaWYgKGV4 dGVuc2lvbnNfb2ZmID09IDApDQo+Pj4gKyAgICAgICAgICAgICByZXR1cm4gKGZhbHNlKTsN Cj4+PiArICAgICBjb29raWUgPSBOVUxMOw0KPj4+ICsgICAgIHdoaWxlICgobmFtZSA9IG52 bGlzdF9uZXh0KGV4dGVuc2lvbnMsICZ0eXBlLCAmY29va2llKSkgIT0gTlVMTCkgew0KPj4+ ICsgICAgICAgICAgICAgaWYgKHR5cGUgIT0gTlZfVFlQRV9OVkxJU1QpDQo+Pj4gKyAgICAg ICAgICAgICAgICAgICAgIHJldHVybiAoZmFsc2UpOw0KPj4+ICsgICAgICAgICAgICAgZXh0 ZW5zaW9uID0gbnZsaXN0X2dldF9udmxpc3QoZXh0ZW5zaW9ucywgbmFtZSk7DQo+Pj4gKyAg ICAgICAgICAgICBpZiAoIW52bGlzdF9leGlzdHNfbnVtYmVyKGV4dGVuc2lvbiwNCj4+PiAr ICAgICAgICAgICAgICAgICBJRlZGX1NUQVRVU19FWFRfVkVSU0lPTikpDQo+Pj4gKyAgICAg ICAgICAgICAgICAgICAgIHJldHVybiAoZmFsc2UpOw0KPj4+ICsgICAgICAgICAgICAgYnVm ID0gbnZsaXN0X3BhY2soZXh0ZW5zaW9uLCAmYnVmbGVuKTsNCj4+PiArICAgICAgICAgICAg IGlmIChidWYgPT0gTlVMTCkNCj4+PiArICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIChm YWxzZSk7DQo+Pj4gKyAgICAgICAgICAgICBpZiAoYnVmbGVuID4gVUlOVDE2X01BWCAtIHNp emVvZihzdHJ1Y3QgbmxhdHRyKSkgew0KPj4+ICsgICAgICAgICAgICAgICAgICAgICBmcmVl KGJ1ZiwgTV9OVkxJU1QpOw0KPj4+ICsgICAgICAgICAgICAgICAgICAgICByZXR1cm4gKGZh bHNlKTsNCj4+PiArICAgICAgICAgICAgIH0NCj4+PiArICAgICAgICAgICAgIGVudHJ5X29m ZiA9IG5sYXR0cl9hZGRfbmVzdGVkKG53LA0KPj4+ICsgICAgICAgICAgICAgICAgIElGTEFG X1ZGX0VYVF9MSVNUX0VOVFJZKTsNCj4+PiArICAgICAgICAgICAgIGlmIChlbnRyeV9vZmYg PT0gMCkgew0KPj4+ICsgICAgICAgICAgICAgICAgICAgICBmcmVlKGJ1ZiwgTV9OVkxJU1Qp Ow0KPj4+ICsgICAgICAgICAgICAgICAgICAgICByZXR1cm4gKGZhbHNlKTsNCj4+PiArICAg ICAgICAgICAgIH0NCj4+PiArICAgICAgICAgICAgIG9rID0gbmxhdHRyX2FkZF9zdHJpbmco bncsIElGTEFGX1ZGX0VYVF9OQU1FLCBuYW1lKSAmJg0KPj4+ICsgICAgICAgICAgICAgICAg IG5sYXR0cl9hZGQobncsIElGTEFGX1ZGX0VYVF9EQVRBLCAodWludDE2X3QpYnVmbGVuLCBi dWYpOw0KPj4+ICsgICAgICAgICAgICAgZnJlZShidWYsIE1fTlZMSVNUKTsNCj4+PiArICAg ICAgICAgICAgIGlmICghb2spDQo+Pj4gKyAgICAgICAgICAgICAgICAgICAgIHJldHVybiAo ZmFsc2UpOw0KPj4+ICsgICAgICAgICAgICAgbmxhdHRyX3NldF9sZW4obncsIGVudHJ5X29m Zik7DQo+Pj4gKyAgICAgfQ0KPj4+ICsgICAgIG5sYXR0cl9zZXRfbGVuKG53LCBleHRlbnNp b25zX29mZik7DQo+Pj4gKyAgICAgcmV0dXJuICh0cnVlKTsNCj4+PiArfQ0KPj4+ICsNCj4+ PiArc3RhdGljIGJvb2wNCj4+PiArZHVtcF92Zl9lbnRyeShzdHJ1Y3Qgbmxfd3JpdGVyICpu dywgY29uc3QgbnZsaXN0X3QgKnZmKQ0KPj4+ICt7DQo+Pj4gKyAgICAgY29uc3Qgdm9pZCAq bWFjOw0KPj4+ICsgICAgIGNvbnN0IGNoYXIgKm1vZGUsICpwb2xpY3k7DQo+Pj4gKyAgICAg c2l6ZV90IG1hY2xlbjsNCj4+PiArICAgICB1aW50OF90IHZsYW5fbW9kZTsNCj4+PiArICAg ICBpbnQgb2ZmOw0KPj4+ICsgICAgIGJvb2wgb2s7DQo+Pj4gKw0KPj4+ICsgICAgIG9mZiA9 IG5sYXR0cl9hZGRfbmVzdGVkKG53LCBJRkxBRl9WRl9MSVNUX0VOVFJZKTsNCj4+PiArICAg ICBpZiAob2ZmID09IDApDQo+Pj4gKyAgICAgICAgICAgICByZXR1cm4gKGZhbHNlKTsNCj4+ PiArICAgICBvayA9IGR1bXBfdmZfdTMyKG53LCB2ZiwgSUZWRl9TVEFUVVNfSU5ERVgsIElG TEFGX1ZGX0lOREVYKSAmJg0KPj4+ICsgICAgICAgICBkdW1wX3ZmX2Jvb2wobncsIHZmLCBJ RlZGX1NUQVRVU19DT05GSUdVUkVELA0KPj4+ICsgICAgICAgICBJRkxBRl9WRl9DT05GSUdV UkVEKSAmJg0KPj4+ICsgICAgICAgICBkdW1wX3ZmX2Jvb2wobncsIHZmLCBJRlZGX1NUQVRV U19JTklUSUFMSVpFRCwNCj4+PiArICAgICAgICAgSUZMQUZfVkZfSU5JVElBTElaRUQpOw0K Pj4+ICsgICAgIGlmICghb2spDQo+Pj4gKyAgICAgICAgICAgICByZXR1cm4gKGZhbHNlKTsN Cj4+PiArDQo+Pj4gKyAgICAgaWYgKG52bGlzdF9leGlzdHNfYmluYXJ5KHZmLCBJRlZGX1NU QVRVU19NQUMpKSB7DQo+Pj4gKyAgICAgICAgICAgICBtYWMgPSBudmxpc3RfZ2V0X2JpbmFy eSh2ZiwgSUZWRl9TVEFUVVNfTUFDLCAmbWFjbGVuKTsNCj4+PiArICAgICAgICAgICAgIGlm IChtYWNsZW4gPiBVSU5UMTZfTUFYIC0gc2l6ZW9mKHN0cnVjdCBubGF0dHIpIHx8DQo+Pj4g KyAgICAgICAgICAgICAgICAgIW5sYXR0cl9hZGQobncsIElGTEFGX1ZGX01BQywgKHVpbnQx Nl90KW1hY2xlbiwgbWFjKSkNCj4+PiArICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIChm YWxzZSk7DQo+Pj4gKyAgICAgfQ0KPj4+ICsgICAgIGlmIChudmxpc3RfZXhpc3RzX3N0cmlu Zyh2ZiwgSUZWRl9TVEFUVVNfVkxBTl9NT0RFKSkgew0KPj4+ICsgICAgICAgICAgICAgbW9k ZSA9IG52bGlzdF9nZXRfc3RyaW5nKHZmLCBJRlZGX1NUQVRVU19WTEFOX01PREUpOw0KPj4+ ICsgICAgICAgICAgICAgaWYgKHN0cmNtcChtb2RlLCBJRlZGX1ZMQU5fTU9ERV9BQ0NFU1Mp ID09IDApDQo+Pj4gKyAgICAgICAgICAgICAgICAgICAgIHZsYW5fbW9kZSA9IElGTEFGX1ZG X1ZMQU5fQUNDRVNTOw0KPj4+ICsgICAgICAgICAgICAgZWxzZSBpZiAoc3RyY21wKG1vZGUs IElGVkZfVkxBTl9NT0RFX1RSVU5LKSA9PSAwKQ0KPj4+ICsgICAgICAgICAgICAgICAgICAg ICB2bGFuX21vZGUgPSBJRkxBRl9WRl9WTEFOX1RSVU5LOw0KPj4+ICsgICAgICAgICAgICAg ZWxzZQ0KPj4+ICsgICAgICAgICAgICAgICAgICAgICB2bGFuX21vZGUgPSBJRkxBRl9WRl9W TEFOX1VOS05PV047DQo+Pj4gKyAgICAgICAgICAgICBpZiAoIW5sYXR0cl9hZGRfdTgobncs IElGTEFGX1ZGX1ZMQU5fTU9ERSwgdmxhbl9tb2RlKSkNCj4+PiArICAgICAgICAgICAgICAg ICAgICAgcmV0dXJuIChmYWxzZSk7DQo+Pj4gKyAgICAgfQ0KPj4+ICsgICAgIG9rID0gZHVt cF92Zl91MTYobncsIHZmLCBJRlZGX1NUQVRVU19WTEFOLCBJRkxBRl9WRl9WTEFOKSAmJg0K Pj4+ICsgICAgICAgICBkdW1wX3ZmX3UzMihudywgdmYsIElGVkZfU1RBVFVTX1ZMQU5fQ09V TlQsDQo+Pj4gKyAgICAgICAgIElGTEFGX1ZGX1ZMQU5fQ09VTlQpICYmDQo+Pj4gKyAgICAg ICAgIGR1bXBfdmZfdTMyKG53LCB2ZiwgSUZWRl9TVEFUVVNfVkxBTl9MSU1JVCwNCj4+PiAr ICAgICAgICAgSUZMQUZfVkZfVkxBTl9MSU1JVCkgJiYNCj4+PiArICAgICAgICAgZHVtcF92 Zl91MzIobncsIHZmLCBJRlZGX1NUQVRVU19OVU1fUVVFVUVTLA0KPj4+ICsgICAgICAgICBJ RkxBRl9WRl9OVU1fUVVFVUVTKSAmJg0KPj4+ICsgICAgICAgICBkdW1wX3ZmX2Jvb2wobncs IHZmLCBJRlZGX1NUQVRVU19BTExPV19TRVRfTUFDLA0KPj4+ICsgICAgICAgICBJRkxBRl9W Rl9BTExPV19TRVRfTUFDKSAmJg0KPj4+ICsgICAgICAgICBkdW1wX3ZmX2Jvb2wobncsIHZm LCBJRlZGX1NUQVRVU19BTExPV19TRVRfVkxBTiwNCj4+PiArICAgICAgICAgSUZMQUZfVkZf QUxMT1dfU0VUX1ZMQU4pICYmDQo+Pj4gKyAgICAgICAgIGR1bXBfdmZfYm9vbChudywgdmYs IElGVkZfU1RBVFVTX01BQ19BTlRJX1NQT09GLA0KPj4+ICsgICAgICAgICBJRkxBRl9WRl9N QUNfQU5USV9TUE9PRikgJiYNCj4+PiArICAgICAgICAgZHVtcF92Zl9ib29sKG53LCB2Ziwg SUZWRl9TVEFUVVNfQUxMT1dfUFJPTUlTQywNCj4+PiArICAgICAgICAgSUZMQUZfVkZfQUxM T1dfUFJPTUlTQykgJiYNCj4+PiArICAgICAgICAgZHVtcF92Zl9ib29sKG53LCB2ZiwgSUZW Rl9TVEFUVVNfVFJBRkZJQ19FTkFCTEVELA0KPj4+ICsgICAgICAgICBJRkxBRl9WRl9UUkFG RklDX0VOQUJMRUQpICYmDQo+Pj4gKyAgICAgICAgIGR1bXBfdmZfYm9vbChudywgdmYsIElG VkZfU1RBVFVTX01ERF9CTE9DS0VELA0KPj4+ICsgICAgICAgICBJRkxBRl9WRl9NRERfQkxP Q0tFRCkgJiYNCj4+PiArICAgICAgICAgZHVtcF92Zl9ib29sKG53LCB2ZiwgSUZWRl9TVEFU VVNfUVVBUkFOVElORUQsDQo+Pj4gKyAgICAgICAgIElGTEFGX1ZGX1FVQVJBTlRJTkVEKSAm Jg0KPj4+ICsgICAgICAgICBkdW1wX3ZmX3N0cmluZyhudywgdmYsIElGVkZfU1RBVFVTX0FQ SV9WRVJTSU9OLA0KPj4+ICsgICAgICAgICBJRkxBRl9WRl9BUElfVkVSU0lPTik7DQo+Pj4g KyAgICAgaWYgKCFvaykNCj4+PiArICAgICAgICAgICAgIHJldHVybiAoZmFsc2UpOw0KPj4+ ICsgICAgIGlmIChudmxpc3RfZXhpc3RzX3N0cmluZyh2ZiwgSUZWRl9TVEFUVVNfTElOS19T VEFURV9QT0xJQ1kpKSB7DQo+Pj4gKyAgICAgICAgICAgICBwb2xpY3kgPSBudmxpc3RfZ2V0 X3N0cmluZyh2ZiwNCj4+PiArICAgICAgICAgICAgICAgICBJRlZGX1NUQVRVU19MSU5LX1NU QVRFX1BPTElDWSk7DQo+Pj4gKyAgICAgICAgICAgICBpZiAoIW5sYXR0cl9hZGRfdTgobncs IElGTEFGX1ZGX0xJTktfU1RBVEVfUE9MSUNZLA0KPj4+ICsgICAgICAgICAgICAgICAgIHZm X2xpbmtfc3RhdGUocG9saWN5KSkpDQo+Pj4gKyAgICAgICAgICAgICAgICAgICAgIHJldHVy biAoZmFsc2UpOw0KPj4+ICsgICAgIH0NCj4+PiArICAgICBpZiAoIWR1bXBfdmZfZXh0ZW5z aW9ucyhudywgdmYpKQ0KPj4+ICsgICAgICAgICAgICAgcmV0dXJuIChmYWxzZSk7DQo+Pj4g KyAgICAgbmxhdHRyX3NldF9sZW4obncsIG9mZik7DQo+Pj4gKyAgICAgcmV0dXJuICh0cnVl KTsNCj4+PiArfQ0KPj4+ICsNCj4+PiArc3RhdGljIGJvb2wNCj4+PiArZHVtcF92Zl9zdGF0 dXMoc3RydWN0IG5sX3dyaXRlciAqbncsIGNvbnN0IG52bGlzdF90ICpzdGF0dXMsIGludCBl cnJvcikNCj4+PiArew0KPj4+ICsgICAgIGNvbnN0IG52bGlzdF90ICogY29uc3QgKnZmczsN Cj4+PiArICAgICBjb25zdCBjaGFyICpzdGF0ZTsNCj4+PiArICAgICBzaXplX3QgaSwgbnVt X3ZmczsNCj4+PiArICAgICB1aW50NjRfdCB2ZXJzaW9uOw0KPj4+ICsgICAgIGludCBsaXN0 X29mZiwgb2ZmOw0KPj4+ICsNCj4+PiArICAgICBvZmYgPSBubGF0dHJfYWRkX25lc3RlZChu dywgSUZMQUZfVkZfU1RBVFVTKTsNCj4+PiArICAgICBpZiAob2ZmID09IDApDQo+Pj4gKyAg ICAgICAgICAgICByZXR1cm4gKGZhbHNlKTsNCj4+PiArICAgICBpZiAoZXJyb3IgIT0gMCkg ew0KPj4+ICsgICAgICAgICAgICAgaWYgKCFubGF0dHJfYWRkX3UzMihudywgSUZMQUZfVkZT X0VSUk9SLCAodWludDMyX3QpZXJyb3IpKQ0KPj4+ICsgICAgICAgICAgICAgICAgICAgICBy ZXR1cm4gKGZhbHNlKTsNCj4+PiArICAgICAgICAgICAgIG5sYXR0cl9zZXRfbGVuKG53LCBv ZmYpOw0KPj4+ICsgICAgICAgICAgICAgcmV0dXJuICh0cnVlKTsNCj4+PiArICAgICB9DQo+ Pj4gKw0KPj4+ICsgICAgIGlmICghbnZsaXN0X2V4aXN0c19udW1iZXIoc3RhdHVzLCBJRlZG X1NUQVRVU19WRVJTSU9OX0tFWSkpDQo+Pj4gKyAgICAgICAgICAgICByZXR1cm4gKGZhbHNl KTsNCj4+PiArICAgICB2ZXJzaW9uID0gbnZsaXN0X2dldF9udW1iZXIoc3RhdHVzLCBJRlZG X1NUQVRVU19WRVJTSU9OX0tFWSk7DQo+Pj4gKyAgICAgaWYgKHZlcnNpb24gPiBVSU5UMzJf TUFYIHx8DQo+Pj4gKyAgICAgICAgICFubGF0dHJfYWRkX3UzMihudywgSUZMQUZfVkZTX1ZF UlNJT04sICh1aW50MzJfdCl2ZXJzaW9uKSkNCj4+PiArICAgICAgICAgICAgIHJldHVybiAo ZmFsc2UpOw0KPj4+ICsgICAgIGlmIChudmxpc3RfZXhpc3RzX3N0cmluZyhzdGF0dXMsIElG VkZfU1RBVFVTX1BGX0xJTktfU1RBVEUpKSB7DQo+Pj4gKyAgICAgICAgICAgICBzdGF0ZSA9 IG52bGlzdF9nZXRfc3RyaW5nKHN0YXR1cywgSUZWRl9TVEFUVVNfUEZfTElOS19TVEFURSk7 DQo+Pj4gKyAgICAgICAgICAgICBpZiAoIW5sYXR0cl9hZGRfdTgobncsIElGTEFGX1ZGU19Q Rl9MSU5LX1NUQVRFLA0KPj4+ICsgICAgICAgICAgICAgICAgIHZmX2xpbmtfc3RhdGUoc3Rh dGUpKSkNCj4+PiArICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIChmYWxzZSk7DQo+Pj4g KyAgICAgfQ0KPj4+ICsgICAgIGlmIChudmxpc3RfZXhpc3RzX251bWJlcihzdGF0dXMsIElG VkZfU1RBVFVTX1BGX0xJTktfU1BFRUQpICYmDQo+Pj4gKyAgICAgICAgICFubGF0dHJfYWRk X3U2NChudywgSUZMQUZfVkZTX1BGX0xJTktfU1BFRUQsDQo+Pj4gKyAgICAgICAgIG52bGlz dF9nZXRfbnVtYmVyKHN0YXR1cywgSUZWRl9TVEFUVVNfUEZfTElOS19TUEVFRCkpKQ0KPj4+ ICsgICAgICAgICAgICAgcmV0dXJuIChmYWxzZSk7DQo+Pj4gKyAgICAgaWYgKCFudmxpc3Rf ZXhpc3RzX252bGlzdF9hcnJheShzdGF0dXMsIElGVkZfU1RBVFVTX1ZGUykpDQo+Pj4gKyAg ICAgICAgICAgICByZXR1cm4gKGZhbHNlKTsNCj4+PiArDQo+Pj4gKyAgICAgdmZzID0gbnZs aXN0X2dldF9udmxpc3RfYXJyYXkoc3RhdHVzLCBJRlZGX1NUQVRVU19WRlMsICZudW1fdmZz KTsNCj4+PiArICAgICBsaXN0X29mZiA9IG5sYXR0cl9hZGRfbmVzdGVkKG53LCBJRkxBRl9W RlNfTElTVCk7DQo+Pj4gKyAgICAgaWYgKGxpc3Rfb2ZmID09IDApDQo+Pj4gKyAgICAgICAg ICAgICByZXR1cm4gKGZhbHNlKTsNCj4+PiArICAgICBmb3IgKGkgPSAwOyBpIDwgbnVtX3Zm czsgaSsrKSB7DQo+Pj4gKyAgICAgICAgICAgICBpZiAoIWR1bXBfdmZfZW50cnkobncsIHZm c1tpXSkpDQo+Pj4gKyAgICAgICAgICAgICAgICAgICAgIHJldHVybiAoZmFsc2UpOw0KPj4+ ICsgICAgIH0NCj4+PiArICAgICBubGF0dHJfc2V0X2xlbihudywgbGlzdF9vZmYpOw0KPj4+ ICsgICAgIG5sYXR0cl9zZXRfbGVuKG53LCBvZmYpOw0KPj4+ICsgICAgIHJldHVybiAodHJ1 ZSk7DQo+Pj4gK30NCj4+PiArDQo+Pj4gICAgLyoNCj4+PiAgICAgKiBEdW1wcyBpbnRlcmZh Y2Ugc3RhdGUsIHByb3BlcnRpZXMgYW5kIG1ldHJpY3MuDQo+Pj4gICAgICogQG53OiBtZXNz YWdlIHdyaXRlcg0KPj4+IEBAIC0yOTAsMTIgKzUzMSwyNiBAQCBkdW1wX2lmYWNlX2NhcHMo c3RydWN0IG5sX3dyaXRlciAqbncsIHN0cnVjdCBpZm5ldCAqaWZwKQ0KPj4+ICAgICAqLw0K Pj4+ICAgIHN0YXRpYyBib29sDQo+Pj4gICAgZHVtcF9pZmFjZShzdHJ1Y3Qgbmxfd3JpdGVy ICpudywgaWZfdCBpZnAsIGNvbnN0IHN0cnVjdCBubG1zZ2hkciAqaGRyLA0KPj4+IC0gICAg aW50IGlmX2ZsYWdzX21hc2ssIGNvbnN0IGNoYXIgKmlmbmFtZSkNCj4+PiArICAgIGludCBp Zl9mbGFnc19tYXNrLCBjb25zdCBjaGFyICppZm5hbWUsIHVpbnQzMl90IGV4dF9tYXNrKQ0K Pj4+ICAgIHsNCj4+PiAgICAgICAgc3RydWN0IGVwb2NoX3RyYWNrZXIgZXQ7DQo+Pj4gKyAg ICAgbnZsaXN0X3QgKnZmX3N0YXR1czsNCj4+PiArICAgICBzaXplX3QgbnVtX3ZmczsNCj4+ PiAgICAgICAgICAgIHN0cnVjdCBpZmluZm9tc2cgKmlmaW5mbzsNCj4+PiArICAgICBib29s IGluY2x1ZGVfdmZfc3RhdHVzOw0KPj4+ICsgICAgIGludCB2Zl9lcnJvcjsNCj4+Pg0KPj4+ ICAgICAgICAgICAgTkxfTE9HKExPR19ERUJVRzMsICJkdW1waW5nIGludGVyZmFjZSAlcyBk YXRhIiwgaWZfbmFtZShpZnApKTsNCj4+PiArICAgICB2Zl9zdGF0dXMgPSBOVUxMOw0KPj4+ ICsgICAgIHZmX2Vycm9yID0gMDsNCj4+PiArICAgICBpbmNsdWRlX3ZmX3N0YXR1cyA9IChl eHRfbWFzayAmIFJURVhUX0ZJTFRFUl9WRikgIT0gMDsNCj4+PiArICAgICBpZiAoaW5jbHVk ZV92Zl9zdGF0dXMpIHsNCj4+PiArICAgICAgICAgICAgIHZmX2Vycm9yID0gaWZfZ2V0X3Zm X3N0YXR1cyhpZnAsICZ2Zl9zdGF0dXMpOw0KPj4+ICsgICAgICAgICAgICAgaWYgKHZmX2Vy cm9yID09IEVJTlZBTCB8fCB2Zl9lcnJvciA9PSBFTk9UVFkgfHwNCj4+PiArICAgICAgICAg ICAgICAgICB2Zl9lcnJvciA9PSBFTlhJTyB8fCB2Zl9lcnJvciA9PSBFTk9UU1VQIHx8DQo+ Pj4gKyAgICAgICAgICAgICAgICAgdmZfZXJyb3IgPT0gRU9QTk9UU1VQUCkNCj4+PiArICAg ICAgICAgICAgICAgICAgICAgaW5jbHVkZV92Zl9zdGF0dXMgPSBmYWxzZTsNCj4+PiArICAg ICB9DQo+Pj4NCj4+PiAgICAgICAgaWYgKCFubG1zZ19yZXBseShudywgaGRyLCBzaXplb2Yo c3RydWN0IGlmaW5mb21zZykpKQ0KPj4+ICAgICAgICAgICAgICAgIGdvdG8gZW5vbWVtOw0K Pj4+IEBAIC0zNDEsNiArNTk2LDE0IEBAIGR1bXBfaWZhY2Uoc3RydWN0IG5sX3dyaXRlciAq bncsIGlmX3QgaWZwLCBjb25zdCBzdHJ1Y3Qgbmxtc2doZHIgKmhkciwNCj4+PiAgICAgICAg ICAgIH0NCj4+Pg0KPj4+ICAgICAgICAgICAgbmxhdHRyX2FkZF91MzIobncsIElGTEFfTVRV LCBpZl9nZXRtdHUoaWZwKSk7DQo+Pj4gKyAgICAgaWYgKHZmX3N0YXR1cyAhPSBOVUxMICYm DQo+Pj4gKyAgICAgICAgIG52bGlzdF9leGlzdHNfbnZsaXN0X2FycmF5KHZmX3N0YXR1cywg SUZWRl9TVEFUVVNfVkZTKSkgew0KPj4+ICsgICAgICAgICAgICAgKHZvaWQpbnZsaXN0X2dl dF9udmxpc3RfYXJyYXkodmZfc3RhdHVzLCBJRlZGX1NUQVRVU19WRlMsDQo+Pj4gKyAgICAg ICAgICAgICAgICAgJm51bV92ZnMpOw0KPj4+ICsgICAgICAgICAgICAgaWYgKG51bV92ZnMg PiBVSU5UMzJfTUFYIHx8DQo+Pj4gKyAgICAgICAgICAgICAgICAgIW5sYXR0cl9hZGRfdTMy KG53LCBJRkxBX05VTV9WRiwgKHVpbnQzMl90KW51bV92ZnMpKQ0KPj4+ICsgICAgICAgICAg ICAgICAgICAgICBnb3RvIGVub21lbTsNCj4+PiArICAgICB9DQo+Pj4gICAgLyoNCj4+PiAg ICAgICAgICAgIG5sYXR0cl9hZGRfdTMyKG53LCBJRkxBX01JTl9NVFUsIDYwKTsNCj4+PiAg ICAgICAgICAgIG5sYXR0cl9hZGRfdTMyKG53LCBJRkxBX01BWF9NVFUsIDkwMDApOw0KPj4+ IEBAIC0zNTUsNiArNjE4LDkgQEAgZHVtcF9pZmFjZShzdHJ1Y3Qgbmxfd3JpdGVyICpudywg aWZfdCBpZnAsIGNvbnN0IHN0cnVjdCBubG1zZ2hkciAqaGRyLA0KPj4+ICAgICAgICBpZiAo b2ZmICE9IDApIHsNCj4+PiAgICAgICAgICAgICAgICBnZXRfaHdhZGRyKG53LCBpZnApOw0K Pj4+ICAgICAgICAgICAgICAgIGR1bXBfaWZhY2VfY2FwcyhudywgaWZwKTsNCj4+PiArICAg ICAgICAgICAgIGlmIChpbmNsdWRlX3ZmX3N0YXR1cyAmJg0KPj4+ICsgICAgICAgICAgICAg ICAgICFkdW1wX3ZmX3N0YXR1cyhudywgdmZfc3RhdHVzLCB2Zl9lcnJvcikpDQo+Pj4gKyAg ICAgICAgICAgICAgICAgICAgIGdvdG8gZW5vbWVtOw0KPj4+DQo+Pj4gICAgICAgICAgICAg ICAgbmxhdHRyX3NldF9sZW4obncsIG9mZik7DQo+Pj4gICAgICAgIH0NCj4+PiBAQCAtMzY4 LDExICs2MzQsMTQgQEAgZHVtcF9pZmFjZShzdHJ1Y3Qgbmxfd3JpdGVyICpudywgaWZfdCBp ZnAsIGNvbnN0IHN0cnVjdCBubG1zZ2hkciAqaGRyLA0KPj4+DQo+Pj4gICAgICAgIG53LT5p ZnAgPSBpZnA7DQo+Pj4NCj4+PiAtICAgICAgICBpZiAobmxtc2dfZW5kKG53KSkNCj4+PiAr ICAgICBpZiAobmxtc2dfZW5kKG53KSkgew0KPj4+ICsgICAgICAgICAgICAgbnZsaXN0X2Rl c3Ryb3kodmZfc3RhdHVzKTsNCj4+PiAgICAgICAgICAgICAgICByZXR1cm4gKHRydWUpOw0K Pj4+ICsgICAgIH0NCj4+Pg0KPj4+ICAgIGVub21lbToNCj4+PiAtICAgICAgICBOTF9MT0co TE9HX0RFQlVHLCAidW5hYmxlIHRvIGR1bXAgaW50ZXJmYWNlICVzIHN0YXRlIChFTk9NRU0p IiwgaWZfbmFtZShpZnApKTsNCj4+PiArICAgICBudmxpc3RfZGVzdHJveSh2Zl9zdGF0dXMp Ow0KPj4+ICsgICAgIE5MX0xPRyhMT0dfREVCVUcsICJ1bmFibGUgdG8gZHVtcCBpbnRlcmZh Y2UgJXMgc3RhdGUiLCBpZl9uYW1lKGlmcCkpOw0KPj4+ICAgICAgICAgICAgbmxtc2dfYWJv cnQobncpOw0KPj4+ICAgICAgICAgICAgcmV0dXJuIChmYWxzZSk7DQo+Pj4gICAgfQ0KPj4+ IEBAIC00MTUsNiArNjg0LDcgQEAgc3RhdGljIGNvbnN0IHN0cnVjdCBubGF0dHJfcGFyc2Vy IG5sYV9wX2lmW10gPSB7DQo+Pj4gICAgICAgIHsgLnR5cGUgPSBJRkxBX0xJTktJTkZPLCAu YXJnID0gJmxpbmZvX3BhcnNlciwgLmNiID0gbmxhdHRyX2dldF9uZXN0ZWQgfSwNCj4+PiAg ICAgICAgeyAudHlwZSA9IElGTEFfSUZBTElBUywgLm9mZiA9IF9PVVQoaWZsYV9pZmFsaWFz KSwgLmNiID0gbmxhdHRyX2dldF9zdHJpbmcgfSwNCj4+PiAgICAgICAgeyAudHlwZSA9IElG TEFfR1JPVVAsIC5vZmYgPSBfT1VUKGlmbGFfZ3JvdXApLCAuY2IgPSBubGF0dHJfZ2V0X3N0 cmluZyB9LA0KPj4+ICsgICAgIHsgLnR5cGUgPSBJRkxBX0VYVF9NQVNLLCAub2ZmID0gX09V VChpZmxhX2V4dF9tYXNrKSwgLmNiID0gbmxhdHRyX2dldF91aW50MzIgfSwNCj4+PiAgICAg ICAgeyAudHlwZSA9IElGTEFfQUxUX0lGTkFNRSwgLm9mZiA9IF9PVVQoaWZsYV9pZm5hbWUp LCAuY2IgPSBubGF0dHJfZ2V0X3N0cmluZyB9LA0KPj4+ICAgIH07DQo+Pj4gICAgI3VuZGVm IF9JTg0KPj4+IEBAIC00NDEsNyArNzExLDcgQEAgc3RhdGljIGludA0KPj4+ICAgIGR1bXBf Y2IoaWZfdCBpZnAsIHZvaWQgKl9hcmcpDQo+Pj4gICAgew0KPj4+ICAgICAgICBzdHJ1Y3Qg bmV0bGlua193YWxrYXJncyAqd2EgPSAoc3RydWN0IG5ldGxpbmtfd2Fsa2FyZ3MgKilfYXJn Ow0KPj4+IC0gICAgIGlmICghZHVtcF9pZmFjZSh3YS0+bncsIGlmcCwgJndhLT5oZHIsIDAs IE5VTEwpKQ0KPj4+ICsgICAgIGlmICghZHVtcF9pZmFjZSh3YS0+bncsIGlmcCwgJndhLT5o ZHIsIDAsIE5VTEwsIHdhLT5leHRfbWFzaykpDQo+Pj4gICAgICAgICAgICAgICAgcmV0dXJu IChFTk9NRU0pOw0KPj4+ICAgICAgICByZXR1cm4gKDApOw0KPj4+ICAgIH0NCj4+PiBAQCAt NDczLDYgKzc0Myw3IEBAIHJ0bmxfaGFuZGxlX2dldGxpbmsoc3RydWN0IG5sbXNnaGRyICpo ZHIsIHN0cnVjdCBubHBjYiAqbmxwLCBzdHJ1Y3QgbmxfcHN0YXRlICpuDQo+Pj4gICAgICAg ICAgICAgICAgLmhkci5ubG1zZ19zZXEgPSBoZHItPm5sbXNnX3NlcSwNCj4+PiAgICAgICAg ICAgICAgICAuaGRyLm5sbXNnX2ZsYWdzID0gaGRyLT5ubG1zZ19mbGFncywNCj4+PiAgICAg ICAgICAgICAgICAuaGRyLm5sbXNnX3R5cGUgPSBOTF9SVE1fTkVXTElOSywNCj4+PiArICAg ICAgICAgICAgIC5leHRfbWFzayA9IGF0dHJzLmlmbGFfZXh0X21hc2ssDQo+Pj4gICAgICAg IH07DQo+Pj4NCj4+PiAgICAgICAgLyogRmFzdCB0cmFjayBmb3IgYW4gaW50ZXJmYWNlIHcv IGV4cGxpY2l0IG5hbWUgb3IgaW5kZXggbWF0Y2ggKi8NCj4+PiBAQCAtNDkxLDcgKzc2Miw4 IEBAIHJ0bmxfaGFuZGxlX2dldGxpbmsoc3RydWN0IG5sbXNnaGRyICpoZHIsIHN0cnVjdCBu bHBjYiAqbmxwLCBzdHJ1Y3QgbmxfcHN0YXRlICpuDQo+Pj4NCj4+PiAgICAgICAgICAgICAg ICBpZiAoaWZwICE9IE5VTEwpIHsNCj4+PiAgICAgICAgICAgICAgICAgICAgICAgIGlmICht YXRjaF9pZmFjZShpZnAsICZhdHRycykpIHsNCj4+PiAtICAgICAgICAgICAgICAgICAgICAg ICAgICAgICBpZiAoIWR1bXBfaWZhY2Uod2EubncsIGlmcCwgJndhLmhkciwgMCwgTlVMTCkp DQo+Pj4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKCFkdW1wX2lmYWNlKHdh Lm53LCBpZnAsICZ3YS5oZHIsIDAsIE5VTEwsDQo+Pj4gKyAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIHdhLmV4dF9tYXNrKSkNCj4+PiAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICBlcnJvciA9IEVOT01FTTsNCj4+PiAgICAgICAgICAgICAgICAg ICAgICAgIH0gZWxzZQ0KPj4+ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBlcnJv ciA9IEVOT0RFVjsNCj4+PiBAQCAtMTQxOCw3ICsxNjkwLDcgQEAgcnRubF9oYW5kbGVfaWZl dmVudChpZl90IGlmcCwgaW50IG5sbXNnX3R5cGUsIGludCBpZl9mbGFnc19tYXNrLA0KPj4+ ICAgICAgICAgICAgICAgIE5MX0xPRyhMT0dfREVCVUcsICJlcnJvciBhbGxvY2F0aW5nIGdy b3VwIHdyaXRlciIpOw0KPj4+ICAgICAgICAgICAgICAgIHJldHVybjsNCj4+PiAgICAgICAg fQ0KPj4+IC0gICAgIGR1bXBfaWZhY2UoJm53LCBpZnAsICZoZHIsIGlmX2ZsYWdzX21hc2ss IGlmbmFtZSk7DQo+Pj4gKyAgICAgZHVtcF9pZmFjZSgmbncsIGlmcCwgJmhkciwgaWZfZmxh Z3NfbWFzaywgaWZuYW1lLCAwKTsNCj4+PiAgICAgICAgICAgIG5sbXNnX2ZsdXNoKCZudyk7 DQo+Pj4gICAgfQ0KPj4+DQo+Pj4gZGlmZiAtLWdpdCBhL3N5cy9uZXRsaW5rL3JvdXRlL2lu dGVyZmFjZS5oIGIvc3lzL25ldGxpbmsvcm91dGUvaW50ZXJmYWNlLmgNCj4+PiBpbmRleCBj MDE4YTBhZGIyMGQuLjY2YmFiMjQwNjdkZiAxMDA2NDQNCj4+PiAtLS0gYS9zeXMvbmV0bGlu ay9yb3V0ZS9pbnRlcmZhY2UuaA0KPj4+ICsrKyBiL3N5cy9uZXRsaW5rL3JvdXRlL2ludGVy ZmFjZS5oDQo+Pj4gQEAgLTk0LDcgKzk0LDcgQEAgZW51bSB7DQo+Pj4gICAgI2RlZmluZSAg ICAgSUZMQV9ORVRfTlNfUElEIElGTEFfTkVUX05TX1BJRA0KPj4+ICAgICAgICBJRkxBX0lG QUxJQVMgICAgPSAyMCwgICAvKiBzdHJpbmc6IGludGVyZmFjZSBkZXNjcmlwdGlvbiAqLw0K Pj4+ICAgICNkZWZpbmUgICAgIElGTEFfSUZBTElBUyBJRkxBX0lGQUxJQVMNCj4+PiAtICAg ICBJRkxBX05VTV9WRiAgICAgPSAyMSwgICAvKiBub3Qgc3VwcG9ydGVkICovDQo+Pj4gKyAg ICAgSUZMQV9OVU1fVkYgICAgID0gMjEsICAgLyogdTMyOiBhY3RpdmUgVkZzLCB3aGVuIHJl cXVlc3RlZCAqLw0KPj4+ICAgICNkZWZpbmUgICAgIElGTEFfTlVNX1ZGIElGTEFfTlVNX1ZG DQo+Pj4gICAgICAgIElGTEFfVkZJTkZPX0xJU1Q9IDIyLCAgIC8qIG5vdCBzdXBwb3J0ZWQg Ki8NCj4+PiAgICAjZGVmaW5lICAgICBJRkxBX1ZGSU5GT19MSVNUIElGTEFfVkZJTkZPX0xJ U1QNCj4+PiBAQCAtMTQ3LDE1ICsxNDcsOTUgQEAgZW51bSB7DQo+Pj4gICAgfTsNCj4+PiAg ICAjZGVmaW5lIElGTEFfTUFYIChfX0lGTEFfTUFYIC0gMSkNCj4+Pg0KPj4+ICsvKiBJRkxB X0VYVF9NQVNLIHZhbHVlcy4gKi8NCj4+PiArI2RlZmluZSAgICAgIFJURVhUX0ZJTFRFUl9W RiAgICAgICAgICgxVSA8PCAwKQ0KPj4+ICsNCj4+PiAgICBlbnVtIHsNCj4+PiAgICAgICAg SUZMQUZfVU5TUEVDICAgICAgICAgICAgPSAwLA0KPj4+ICAgICAgICBJRkxBRl9PUklHX0lG TkFNRSAgICAgICA9IDEsICAgIC8qIHN0cmluZywgb3JpZ2luYWwgaW50ZXJmYWNlIG5hbWUg YXQgY3JlYXRpb24gKi8NCj4+PiAgICAgICAgSUZMQUZfT1JJR19IV0FERFIgICAgICAgPSAy LCAgICAvKiBiaW5hcnksIG9yaWdpbmFsIGhhcmR3YXJlIGFkZHJlc3MgKi8NCj4+PiAgICAg ICAgSUZMQUZfQ0FQUyAgICAgICAgICAgICAgPSAzLCAgICAvKiBiaXRzZXQsIGludGVyZmFj ZSBjYXBhYmlsaXRpZXMgKi8NCj4+PiArICAgICBJRkxBRl9WRl9TVEFUVVMgICAgICAgICA9 IDQsICAgIC8qIG5lc3RlZCwgSUZMQUZfVkZTXyogKi8NCj4+PiAgICAgICAgX19JRkxBRl9N QVgNCj4+PiAgICB9Ow0KPj4+ICAgICNkZWZpbmUgSUZMQUZfTUFYIChfX0lGTEFGX01BWCAt IDEpDQo+Pj4NCj4+PiArLyogSUZMQUZfVkZfU1RBVFVTIGF0dHJpYnV0ZXMuICovDQo+Pj4g K2VudW0gew0KPj4+ICsgICAgIElGTEFGX1ZGU19VTlNQRUMgICAgICAgID0gMCwNCj4+PiAr ICAgICBJRkxBRl9WRlNfVkVSU0lPTiAgICAgICA9IDEsICAgIC8qIHUzMjogSUZWRl9TVEFU VVNfVkVSU0lPTiAqLw0KPj4+ICsgICAgIElGTEFGX1ZGU19FUlJPUiAgICAgICAgID0gMiwg ICAgLyogdTMyOiBlcnJubyBmcm9tIHJlcXVlc3RlZCBxdWVyeSAqLw0KPj4+ICsgICAgIElG TEFGX1ZGU19QRl9MSU5LX1NUQVRFID0gMywgICAgLyogdTg6IElGTEFGX1ZGX0xJTktfKiAq Lw0KPj4+ICsgICAgIElGTEFGX1ZGU19QRl9MSU5LX1NQRUVEID0gNCwgICAgLyogdTY0OiBi aXRzIHBlciBzZWNvbmQgKi8NCj4+PiArICAgICBJRkxBRl9WRlNfTElTVCAgICAgICAgICA9 IDUsICAgIC8qIG5lc3RlZCwgSUZMQUZfVkZfTElTVF8qICovDQo+Pj4gKyAgICAgX19JRkxB Rl9WRlNfTUFYDQo+Pj4gK307DQo+Pj4gKyNkZWZpbmUgICAgICBJRkxBRl9WRlNfTUFYICAg KF9fSUZMQUZfVkZTX01BWCAtIDEpDQo+Pj4gKw0KPj4+ICsvKiBJRkxBRl9WRlNfTElTVCBh dHRyaWJ1dGVzLiAqLw0KPj4+ICtlbnVtIHsNCj4+PiArICAgICBJRkxBRl9WRl9MSVNUX1VO U1BFQyAgICA9IDAsDQo+Pj4gKyAgICAgSUZMQUZfVkZfTElTVF9FTlRSWSAgICAgPSAxLCAg ICAvKiBuZXN0ZWQsIElGTEFGX1ZGXyo7IHJlcGVhdGVkICovDQo+Pj4gKyAgICAgX19JRkxB Rl9WRl9MSVNUX01BWA0KPj4+ICt9Ow0KPj4+ICsjZGVmaW5lICAgICAgSUZMQUZfVkZfTElT VF9NQVggICAgICAgKF9fSUZMQUZfVkZfTElTVF9NQVggLSAxKQ0KPj4+ICsNCj4+PiArLyog SUZMQUZfVkZfTElTVF9FTlRSWSBhdHRyaWJ1dGVzLiAqLw0KPj4+ICtlbnVtIHsNCj4+PiAr ICAgICBJRkxBRl9WRl9VTlNQRUMgICAgICAgICAgICAgICAgID0gMCwNCj4+PiArICAgICBJ RkxBRl9WRl9JTkRFWCAgICAgICAgICAgICAgICAgID0gMSwgICAgLyogdTMyICovDQo+Pj4g KyAgICAgSUZMQUZfVkZfQ09ORklHVVJFRCAgICAgICAgICAgICA9IDIsICAgIC8qIHU4IGJv b2xlYW4gKi8NCj4+PiArICAgICBJRkxBRl9WRl9JTklUSUFMSVpFRCAgICAgICAgICAgID0g MywgICAgLyogdTggYm9vbGVhbiAqLw0KPj4+ICsgICAgIElGTEFGX1ZGX01BQyAgICAgICAg ICAgICAgICAgICAgPSA0LCAgICAvKiBiaW5hcnkgKi8NCj4+PiArICAgICBJRkxBRl9WRl9W TEFOX01PREUgICAgICAgICAgICAgID0gNSwgICAgLyogdTg6IElGTEFGX1ZGX1ZMQU5fKiAq Lw0KPj4+ICsgICAgIElGTEFGX1ZGX1ZMQU4gICAgICAgICAgICAgICAgICAgPSA2LCAgICAv KiB1MTYgKi8NCj4+PiArICAgICBJRkxBRl9WRl9WTEFOX0NPVU5UICAgICAgICAgICAgID0g NywgICAgLyogdTMyICovDQo+Pj4gKyAgICAgSUZMQUZfVkZfVkxBTl9MSU1JVCAgICAgICAg ICAgICA9IDgsICAgIC8qIHUzMiAqLw0KPj4+ICsgICAgIElGTEFGX1ZGX05VTV9RVUVVRVMg ICAgICAgICAgICAgPSA5LCAgICAvKiB1MzIgKi8NCj4+PiArICAgICBJRkxBRl9WRl9BTExP V19TRVRfTUFDICAgICAgICAgID0gMTAsICAgLyogdTggYm9vbGVhbiAqLw0KPj4+ICsgICAg IElGTEFGX1ZGX0FMTE9XX1NFVF9WTEFOICAgICAgICAgPSAxMSwgICAvKiB1OCBib29sZWFu ICovDQo+Pj4gKyAgICAgSUZMQUZfVkZfTUFDX0FOVElfU1BPT0YgICAgICAgICA9IDEyLCAg IC8qIHU4IGJvb2xlYW4gKi8NCj4+PiArICAgICBJRkxBRl9WRl9BTExPV19QUk9NSVNDICAg ICAgICAgID0gMTMsICAgLyogdTggYm9vbGVhbiAqLw0KPj4+ICsgICAgIElGTEFGX1ZGX1RS QUZGSUNfRU5BQkxFRCAgICAgICAgPSAxNCwgICAvKiB1OCBib29sZWFuICovDQo+Pj4gKyAg ICAgSUZMQUZfVkZfTUREX0JMT0NLRUQgICAgICAgICAgICA9IDE1LCAgIC8qIHU4IGJvb2xl YW4gKi8NCj4+PiArICAgICBJRkxBRl9WRl9RVUFSQU5USU5FRCAgICAgICAgICAgID0gMTYs ICAgLyogdTggYm9vbGVhbiAqLw0KPj4+ICsgICAgIElGTEFGX1ZGX0FQSV9WRVJTSU9OICAg ICAgICAgICAgPSAxNywgICAvKiBzdHJpbmcgKi8NCj4+PiArICAgICBJRkxBRl9WRl9MSU5L X1NUQVRFX1BPTElDWSAgICAgID0gMTgsICAgLyogdTg6IElGTEFGX1ZGX0xJTktfKiAqLw0K Pj4+ICsgICAgIElGTEFGX1ZGX0VYVEVOU0lPTlMgICAgICAgICAgICAgPSAxOSwgICAvKiBu ZXN0ZWQsIElGTEFGX1ZGX0VYVF9MSVNUXyogKi8NCj4+PiArICAgICBfX0lGTEFGX1ZGX01B WA0KPj4+ICt9Ow0KPj4+ICsjZGVmaW5lICAgICAgSUZMQUZfVkZfTUFYICAgIChfX0lGTEFG X1ZGX01BWCAtIDEpDQo+Pj4gKw0KPj4+ICsvKiBJRkxBRl9WRl9FWFRFTlNJT05TIGF0dHJp YnV0ZXMuICovDQo+Pj4gK2VudW0gew0KPj4+ICsgICAgIElGTEFGX1ZGX0VYVF9MSVNUX1VO U1BFQyAgICAgICAgPSAwLA0KPj4+ICsgICAgIElGTEFGX1ZGX0VYVF9MSVNUX0VOVFJZICAg ICAgICAgPSAxLCAgICAvKiBuZXN0ZWQ7IHJlcGVhdGVkICovDQo+Pj4gKyAgICAgX19JRkxB Rl9WRl9FWFRfTElTVF9NQVgNCj4+PiArfTsNCj4+PiArI2RlZmluZSAgICAgIElGTEFGX1ZG X0VYVF9MSVNUX01BWCAgIChfX0lGTEFGX1ZGX0VYVF9MSVNUX01BWCAtIDEpDQo+Pj4gKw0K Pj4+ICsvKiBJRkxBRl9WRl9FWFRfTElTVF9FTlRSWSBhdHRyaWJ1dGVzLiAqLw0KPj4+ICtl bnVtIHsNCj4+PiArICAgICBJRkxBRl9WRl9FWFRfVU5TUEVDICAgICA9IDAsDQo+Pj4gKyAg ICAgSUZMQUZfVkZfRVhUX05BTUUgICAgICAgPSAxLCAgICAvKiBzdHJpbmc6IHN0YWJsZSBu YW1lc3BhY2UgKi8NCj4+PiArICAgICBJRkxBRl9WRl9FWFRfREFUQSAgICAgICA9IDIsICAg IC8qIGJpbmFyeTogcGFja2VkIG5hbWVzcGFjZSBudmxpc3QgKi8NCj4+PiArICAgICBfX0lG TEFGX1ZGX0VYVF9NQVgNCj4+PiArfTsNCj4+PiArI2RlZmluZSAgICAgIElGTEFGX1ZGX0VY VF9NQVggICAgICAgIChfX0lGTEFGX1ZGX0VYVF9NQVggLSAxKQ0KPj4+ICsNCj4+PiArZW51 bSB7DQo+Pj4gKyAgICAgSUZMQUZfVkZfTElOS19VTktOT1dOICAgPSAwLA0KPj4+ICsgICAg IElGTEFGX1ZGX0xJTktfRE9XTiAgICAgID0gMSwNCj4+PiArICAgICBJRkxBRl9WRl9MSU5L X1VQICAgICAgICA9IDIsDQo+Pj4gKyAgICAgSUZMQUZfVkZfTElOS19BVVRPICAgICAgPSAz LA0KPj4+ICt9Ow0KPj4+ICsNCj4+PiArZW51bSB7DQo+Pj4gKyAgICAgSUZMQUZfVkZfVkxB Tl9VTktOT1dOICAgPSAwLA0KPj4+ICsgICAgIElGTEFGX1ZGX1ZMQU5fQUNDRVNTICAgID0g MSwNCj4+PiArICAgICBJRkxBRl9WRl9WTEFOX1RSVU5LICAgICA9IDIsDQo+Pj4gK307DQo+ Pj4gKw0KPj4+ICAgIC8qDQo+Pj4gICAgICogQXR0cmlidXRlcyB0aGF0IGNhbiBiZSB1c2Vk IGFzIGZpbHRlcnM6DQo+Pj4gICAgICogIElGTEFfSUZOQU1FLCBJRkxBX0dST1VQLCBJRkxB X0FMVF9JRk5BTUUNCj4+PiBkaWZmIC0tZ2l0IGEvc3lzL25ldGxpbmsvcm91dGUvcm91dGVf dmFyLmggYi9zeXMvbmV0bGluay9yb3V0ZS9yb3V0ZV92YXIuaA0KPj4+IGluZGV4IDAxMmRj NWFkMDU5NC4uMjNhZGYwMTI3MzNmIDEwMDY0NA0KPj4+IC0tLSBhL3N5cy9uZXRsaW5rL3Jv dXRlL3JvdXRlX3Zhci5oDQo+Pj4gKysrIGIvc3lzL25ldGxpbmsvcm91dGUvcm91dGVfdmFy LmgNCj4+PiBAQCAtNzQsNiArNzQsNyBAQCBzdHJ1Y3QgbmxfcGFyc2VkX2xpbmsgew0KPj4+ ICAgICAgICBpbnQgICAgICAgICAgICAgaWZpX2luZGV4Ow0KPj4+ICAgICAgICB1aW50MzJf dCAgICAgICAgaWZsYV9saW5rOw0KPj4+ICAgICAgICB1aW50MzJfdCAgICAgICAgaWZsYV9t dHU7DQo+Pj4gKyAgICAgdWludDMyX3QgICAgICAgIGlmbGFfZXh0X21hc2s7DQo+Pj4gICAg ICAgIHVpbnQzMl90ICAgICAgICBpZmlfZmxhZ3M7DQo+Pj4gICAgICAgIHVpbnQzMl90ICAg ICAgICBpZmlfY2hhbmdlOw0KPj4+ICAgIH07DQo+Pj4gZGlmZiAtLWdpdCBhL3Rlc3RzL2F0 Zl9weXRob24vc3lzL25ldGxpbmsvYXR0cnMucHkgYi90ZXN0cy9hdGZfcHl0aG9uL3N5cy9u ZXRsaW5rL2F0dHJzLnB5DQo+Pj4gaW5kZXggMzZkZDgxOTFkZjFjLi5iMGUwM2U1MDI1OGUg MTAwNjQ0DQo+Pj4gLS0tIGEvdGVzdHMvYXRmX3B5dGhvbi9zeXMvbmV0bGluay9hdHRycy5w eQ0KPj4+ICsrKyBiL3Rlc3RzL2F0Zl9weXRob24vc3lzL25ldGxpbmsvYXR0cnMucHkNCj4+ PiBAQCAtMTM3LDYgKzEzNywzNCBAQCBjbGFzcyBObEF0dHJVMzIoTmxBdHRyKToNCj4+PiAg ICAgICAgICAgIHJldHVybiBzZWxmLl90b19ieXRlcyhzdHJ1Y3QucGFjaygiQEkiLCBzZWxm LnUzMikpDQo+Pj4NCj4+Pg0KPj4+ICtjbGFzcyBObEF0dHJVNjQoTmxBdHRyKToNCj4+PiAr ICAgIGRlZiBfX2luaXRfXyhzZWxmLCBubGFfdHlwZSwgdmFsKToNCj4+PiArICAgICAgICBz ZWxmLnU2NCA9IGVudW1fb3JfaW50KHZhbCkNCj4+PiArICAgICAgICBzdXBlcigpLl9faW5p dF9fKG5sYV90eXBlLCBiIiIpDQo+Pj4gKw0KPj4+ICsgICAgQHByb3BlcnR5DQo+Pj4gKyAg ICBkZWYgbmxhX2xlbihzZWxmKToNCj4+PiArICAgICAgICByZXR1cm4gMTINCj4+PiArDQo+ Pj4gKyAgICBkZWYgX3ByaW50X2F0dHJfdmFsdWUoc2VsZik6DQo+Pj4gKyAgICAgICAgcmV0 dXJuICIgdmFsPXt9Ii5mb3JtYXQoc2VsZi51NjQpDQo+Pj4gKw0KPj4+ICsgICAgQHN0YXRp Y21ldGhvZA0KPj4+ICsgICAgZGVmIF92YWxpZGF0ZShkYXRhKToNCj4+PiArICAgICAgICBh c3NlcnQgbGVuKGRhdGEpID09IDEyDQo+Pj4gKyAgICAgICAgbmxhX2xlbiwgbmxhX3R5cGUg PSBzdHJ1Y3QudW5wYWNrKCJASEgiLCBkYXRhWzo0XSkNCj4+PiArICAgICAgICBhc3NlcnQg bmxhX2xlbiA9PSAxMg0KPj4+ICsNCj4+PiArICAgIEBjbGFzc21ldGhvZA0KPj4+ICsgICAg ZGVmIF9wYXJzZShjbHMsIGRhdGEpOg0KPj4+ICsgICAgICAgIG5sYV9sZW4sIG5sYV90eXBl ID0gc3RydWN0LnVucGFjaygiQEhIIiwgZGF0YVs6NF0pDQo+Pj4gKyAgICAgICAgdmFsID0g c3RydWN0LnVucGFjaygiQFEiLCBkYXRhWzQ6XSlbMF0NCj4+PiArICAgICAgICByZXR1cm4g Y2xzKG5sYV90eXBlLCB2YWwpDQo+Pj4gKw0KPj4+ICsgICAgZGVmIF9fYnl0ZXNfXyhzZWxm KToNCj4+PiArICAgICAgICByZXR1cm4gc2VsZi5fdG9fYnl0ZXMoc3RydWN0LnBhY2soIkBR Iiwgc2VsZi51NjQpKQ0KPj4+ICsNCj4+PiArDQo+Pj4gICAgY2xhc3MgTmxBdHRyUzMyKE5s QXR0cik6DQo+Pj4gICAgICAgIGRlZiBfX2luaXRfXyhzZWxmLCBubGFfdHlwZSwgdmFsKToN Cj4+PiAgICAgICAgICAgIHNlbGYuczMyID0gZW51bV9vcl9pbnQodmFsKQ0KPj4+IGRpZmYg LS1naXQgYS90ZXN0cy9hdGZfcHl0aG9uL3N5cy9uZXRsaW5rL25ldGxpbmtfcm91dGUucHkg Yi90ZXN0cy9hdGZfcHl0aG9uL3N5cy9uZXRsaW5rL25ldGxpbmtfcm91dGUucHkNCj4+PiBp bmRleCAyY2ZlYjU3ZGExM2YuLmQ2ZWRjNmFkODc1ZCAxMDA2NDQNCj4+PiAtLS0gYS90ZXN0 cy9hdGZfcHl0aG9uL3N5cy9uZXRsaW5rL25ldGxpbmtfcm91dGUucHkNCj4+PiArKysgYi90 ZXN0cy9hdGZfcHl0aG9uL3N5cy9uZXRsaW5rL25ldGxpbmtfcm91dGUucHkNCj4+PiBAQCAt MTMsNyArMTMsOSBAQCBmcm9tIGF0Zl9weXRob24uc3lzLm5ldGxpbmsuYXR0cnMgaW1wb3J0 IE5sQXR0cg0KPj4+ICAgIGZyb20gYXRmX3B5dGhvbi5zeXMubmV0bGluay5hdHRycyBpbXBv cnQgTmxBdHRySXANCj4+PiAgICBmcm9tIGF0Zl9weXRob24uc3lzLm5ldGxpbmsuYXR0cnMg aW1wb3J0IE5sQXR0ck5lc3RlZA0KPj4+ICAgIGZyb20gYXRmX3B5dGhvbi5zeXMubmV0bGlu ay5hdHRycyBpbXBvcnQgTmxBdHRyU3RyDQo+Pj4gK2Zyb20gYXRmX3B5dGhvbi5zeXMubmV0 bGluay5hdHRycyBpbXBvcnQgTmxBdHRyVTE2DQo+Pj4gICAgZnJvbSBhdGZfcHl0aG9uLnN5 cy5uZXRsaW5rLmF0dHJzIGltcG9ydCBObEF0dHJVMzINCj4+PiArZnJvbSBhdGZfcHl0aG9u LnN5cy5uZXRsaW5rLmF0dHJzIGltcG9ydCBObEF0dHJVNjQNCj4+PiAgICBmcm9tIGF0Zl9w eXRob24uc3lzLm5ldGxpbmsuYXR0cnMgaW1wb3J0IE5sQXR0clU4DQo+Pj4gICAgZnJvbSBh dGZfcHl0aG9uLnN5cy5uZXRsaW5rLm1lc3NhZ2UgaW1wb3J0IFN0ZE5ldGxpbmtNZXNzYWdl DQo+Pj4gICAgZnJvbSBhdGZfcHl0aG9uLnN5cy5uZXRsaW5rLm1lc3NhZ2UgaW1wb3J0IE5s TXNnUHJvcHMNCj4+PiBAQCAtMzYxLDYgKzM2Myw1NiBAQCBjbGFzcyBJZmxhZkF0dHJUeXBl KEVudW0pOg0KPj4+ICAgICAgICBJRkxBRl9VTlNQRUMgPSAwDQo+Pj4gICAgICAgIElGTEFG X09SSUdfSUZOQU1FID0gMQ0KPj4+ICAgICAgICBJRkxBRl9PUklHX0hXQUREUiA9IDINCj4+ PiArICAgIElGTEFGX0NBUFMgPSAzDQo+Pj4gKyAgICBJRkxBRl9WRl9TVEFUVVMgPSA0DQo+ Pj4gKw0KPj4+ICsNCj4+PiArY2xhc3MgSWZsYWZWZlN0YXR1c1R5cGUoRW51bSk6DQo+Pj4g KyAgICBJRkxBRl9WRlNfVU5TUEVDID0gMA0KPj4+ICsgICAgSUZMQUZfVkZTX1ZFUlNJT04g PSAxDQo+Pj4gKyAgICBJRkxBRl9WRlNfRVJST1IgPSAyDQo+Pj4gKyAgICBJRkxBRl9WRlNf UEZfTElOS19TVEFURSA9IDMNCj4+PiArICAgIElGTEFGX1ZGU19QRl9MSU5LX1NQRUVEID0g NA0KPj4+ICsgICAgSUZMQUZfVkZTX0xJU1QgPSA1DQo+Pj4gKw0KPj4+ICsNCj4+PiArY2xh c3MgSWZsYWZWZkxpc3RUeXBlKEVudW0pOg0KPj4+ICsgICAgSUZMQUZfVkZfTElTVF9VTlNQ RUMgPSAwDQo+Pj4gKyAgICBJRkxBRl9WRl9MSVNUX0VOVFJZID0gMQ0KPj4+ICsNCj4+PiAr DQo+Pj4gK2NsYXNzIElmbGFmVmZUeXBlKEVudW0pOg0KPj4+ICsgICAgSUZMQUZfVkZfVU5T UEVDID0gMA0KPj4+ICsgICAgSUZMQUZfVkZfSU5ERVggPSAxDQo+Pj4gKyAgICBJRkxBRl9W Rl9DT05GSUdVUkVEID0gMg0KPj4+ICsgICAgSUZMQUZfVkZfSU5JVElBTElaRUQgPSAzDQo+ Pj4gKyAgICBJRkxBRl9WRl9NQUMgPSA0DQo+Pj4gKyAgICBJRkxBRl9WRl9WTEFOX01PREUg PSA1DQo+Pj4gKyAgICBJRkxBRl9WRl9WTEFOID0gNg0KPj4+ICsgICAgSUZMQUZfVkZfVkxB Tl9DT1VOVCA9IDcNCj4+PiArICAgIElGTEFGX1ZGX1ZMQU5fTElNSVQgPSA4DQo+Pj4gKyAg ICBJRkxBRl9WRl9OVU1fUVVFVUVTID0gOQ0KPj4+ICsgICAgSUZMQUZfVkZfQUxMT1dfU0VU X01BQyA9IDEwDQo+Pj4gKyAgICBJRkxBRl9WRl9BTExPV19TRVRfVkxBTiA9IDExDQo+Pj4g KyAgICBJRkxBRl9WRl9NQUNfQU5USV9TUE9PRiA9IDEyDQo+Pj4gKyAgICBJRkxBRl9WRl9B TExPV19QUk9NSVNDID0gMTMNCj4+PiArICAgIElGTEFGX1ZGX1RSQUZGSUNfRU5BQkxFRCA9 IDE0DQo+Pj4gKyAgICBJRkxBRl9WRl9NRERfQkxPQ0tFRCA9IDE1DQo+Pj4gKyAgICBJRkxB Rl9WRl9RVUFSQU5USU5FRCA9IDE2DQo+Pj4gKyAgICBJRkxBRl9WRl9BUElfVkVSU0lPTiA9 IDE3DQo+Pj4gKyAgICBJRkxBRl9WRl9MSU5LX1NUQVRFX1BPTElDWSA9IDE4DQo+Pj4gKyAg ICBJRkxBRl9WRl9FWFRFTlNJT05TID0gMTkNCj4+PiArDQo+Pj4gKw0KPj4+ICtjbGFzcyBJ ZmxhZlZmRXh0TGlzdFR5cGUoRW51bSk6DQo+Pj4gKyAgICBJRkxBRl9WRl9FWFRfTElTVF9V TlNQRUMgPSAwDQo+Pj4gKyAgICBJRkxBRl9WRl9FWFRfTElTVF9FTlRSWSA9IDENCj4+PiAr DQo+Pj4gKw0KPj4+ICtjbGFzcyBJZmxhZlZmRXh0VHlwZShFbnVtKToNCj4+PiArICAgIElG TEFGX1ZGX0VYVF9VTlNQRUMgPSAwDQo+Pj4gKyAgICBJRkxBRl9WRl9FWFRfTkFNRSA9IDEN Cj4+PiArICAgIElGTEFGX1ZGX0VYVF9EQVRBID0gMg0KPj4+DQo+Pj4NCj4+PiAgICBjbGFz cyBJZmxpbmtJbmZvKEVudW0pOg0KPj4+IEBAIC02MjEsNiArNjczLDY1IEBAIHJ0bmxfcm91 dGVfYXR0cnMgPSBwcmVwYXJlX2F0dHJzX21hcCgNCj4+PiAgICAgICAgXQ0KPj4+ICAgICkN Cj4+Pg0KPj4+ICtydG5sX2lmbGFmX3ZmX2V4dF9hdHRycyA9IFsNCj4+PiArICAgIEF0dHJE ZXNjcihJZmxhZlZmRXh0VHlwZS5JRkxBRl9WRl9FWFRfTkFNRSwgTmxBdHRyU3RyKSwNCj4+ PiArICAgIEF0dHJEZXNjcihJZmxhZlZmRXh0VHlwZS5JRkxBRl9WRl9FWFRfREFUQSwgTmxB dHRyKSwNCj4+PiArXQ0KPj4+ICsNCj4+PiArcnRubF9pZmxhZl92Zl9leHRfbGlzdF9hdHRy cyA9IFsNCj4+PiArICAgIEF0dHJEZXNjcigNCj4+PiArICAgICAgICBJZmxhZlZmRXh0TGlz dFR5cGUuSUZMQUZfVkZfRVhUX0xJU1RfRU5UUlksDQo+Pj4gKyAgICAgICAgTmxBdHRyTmVz dGVkLA0KPj4+ICsgICAgICAgIHJ0bmxfaWZsYWZfdmZfZXh0X2F0dHJzLA0KPj4+ICsgICAg KSwNCj4+PiArXQ0KPj4+ICsNCj4+PiArcnRubF9pZmxhZl92Zl9hdHRycyA9IFsNCj4+PiAr ICAgIEF0dHJEZXNjcihJZmxhZlZmVHlwZS5JRkxBRl9WRl9JTkRFWCwgTmxBdHRyVTMyKSwN Cj4+PiArICAgIEF0dHJEZXNjcihJZmxhZlZmVHlwZS5JRkxBRl9WRl9DT05GSUdVUkVELCBO bEF0dHJVOCksDQo+Pj4gKyAgICBBdHRyRGVzY3IoSWZsYWZWZlR5cGUuSUZMQUZfVkZfSU5J VElBTElaRUQsIE5sQXR0clU4KSwNCj4+PiArICAgIEF0dHJEZXNjcihJZmxhZlZmVHlwZS5J RkxBRl9WRl9NQUMsIE5sQXR0ck1hYyksDQo+Pj4gKyAgICBBdHRyRGVzY3IoSWZsYWZWZlR5 cGUuSUZMQUZfVkZfVkxBTl9NT0RFLCBObEF0dHJVOCksDQo+Pj4gKyAgICBBdHRyRGVzY3Io SWZsYWZWZlR5cGUuSUZMQUZfVkZfVkxBTiwgTmxBdHRyVTE2KSwNCj4+PiArICAgIEF0dHJE ZXNjcihJZmxhZlZmVHlwZS5JRkxBRl9WRl9WTEFOX0NPVU5ULCBObEF0dHJVMzIpLA0KPj4+ ICsgICAgQXR0ckRlc2NyKElmbGFmVmZUeXBlLklGTEFGX1ZGX1ZMQU5fTElNSVQsIE5sQXR0 clUzMiksDQo+Pj4gKyAgICBBdHRyRGVzY3IoSWZsYWZWZlR5cGUuSUZMQUZfVkZfTlVNX1FV RVVFUywgTmxBdHRyVTMyKSwNCj4+PiArICAgIEF0dHJEZXNjcihJZmxhZlZmVHlwZS5JRkxB Rl9WRl9BTExPV19TRVRfTUFDLCBObEF0dHJVOCksDQo+Pj4gKyAgICBBdHRyRGVzY3IoSWZs YWZWZlR5cGUuSUZMQUZfVkZfQUxMT1dfU0VUX1ZMQU4sIE5sQXR0clU4KSwNCj4+PiArICAg IEF0dHJEZXNjcihJZmxhZlZmVHlwZS5JRkxBRl9WRl9NQUNfQU5USV9TUE9PRiwgTmxBdHRy VTgpLA0KPj4+ICsgICAgQXR0ckRlc2NyKElmbGFmVmZUeXBlLklGTEFGX1ZGX0FMTE9XX1BS T01JU0MsIE5sQXR0clU4KSwNCj4+PiArICAgIEF0dHJEZXNjcihJZmxhZlZmVHlwZS5JRkxB Rl9WRl9UUkFGRklDX0VOQUJMRUQsIE5sQXR0clU4KSwNCj4+PiArICAgIEF0dHJEZXNjcihJ ZmxhZlZmVHlwZS5JRkxBRl9WRl9NRERfQkxPQ0tFRCwgTmxBdHRyVTgpLA0KPj4+ICsgICAg QXR0ckRlc2NyKElmbGFmVmZUeXBlLklGTEFGX1ZGX1FVQVJBTlRJTkVELCBObEF0dHJVOCks DQo+Pj4gKyAgICBBdHRyRGVzY3IoSWZsYWZWZlR5cGUuSUZMQUZfVkZfQVBJX1ZFUlNJT04s IE5sQXR0clN0ciksDQo+Pj4gKyAgICBBdHRyRGVzY3IoSWZsYWZWZlR5cGUuSUZMQUZfVkZf TElOS19TVEFURV9QT0xJQ1ksIE5sQXR0clU4KSwNCj4+PiArICAgIEF0dHJEZXNjcigNCj4+ PiArICAgICAgICBJZmxhZlZmVHlwZS5JRkxBRl9WRl9FWFRFTlNJT05TLA0KPj4+ICsgICAg ICAgIE5sQXR0ck5lc3RlZCwNCj4+PiArICAgICAgICBydG5sX2lmbGFmX3ZmX2V4dF9saXN0 X2F0dHJzLA0KPj4+ICsgICAgKSwNCj4+PiArXQ0KPj4+ICsNCj4+PiArcnRubF9pZmxhZl92 Zl9saXN0X2F0dHJzID0gWw0KPj4+ICsgICAgQXR0ckRlc2NyKA0KPj4+ICsgICAgICAgIElm bGFmVmZMaXN0VHlwZS5JRkxBRl9WRl9MSVNUX0VOVFJZLA0KPj4+ICsgICAgICAgIE5sQXR0 ck5lc3RlZCwNCj4+PiArICAgICAgICBydG5sX2lmbGFmX3ZmX2F0dHJzLA0KPj4+ICoqKiAx OTUgTElORVMgU0tJUFBFRCAqKioNCj4+Pg0KPj4NCj4+IEkgdGhpbmsgd2Ugc2hvdWxkIG1p bmltaXplIG91ciB1c2Ugb2YgbnZsaXN0KDkpIGluIHRoZSBuZXcgY29kZSwNCj4+IGVzcGVj aWFsbHkgdW5kZXIgbmV0bGluay4NCj4+IElNTywgVXNpbmcgbnZsaXN0IHVuZGVyIG5ldGxp bmsgZGVmZWF0cyB0aGUgcHVycG9zZS4NCj4gDQo+IEhpLA0KPiANCj4gSXMgdGhlcmUgYSBi ZXR0ZXIgd2F5IHRvIGRvIHNvbWV0aGluZyBsaWtlIHRoaXMNCj4gaHR0cHM6Ly9yZXZpZXdz LmZyZWVic2Qub3JnL0Q1ODczOSNjaGFuZ2UtMHNYOGszWjllVEtzPw0KDQpJIHNlZSwgSSBo YWQgdGhlIHNhbWUgcHJvYmxlbSBvbiBnZW5ldmUgaW1wbGVtZW50YXRpb24uDQpJIGFza2Vk IG9uIHRoZSBtYWlsaW5nIGxpc3QgYW5kIGtwQCBnYXZlIG1lIHNvbWUgYWR2aWNlIG9uIGl0 Lg0KU2VlIHRoaXMgdGhyZWFkOg0KaHR0cHM6Ly9tYWlsLWFyY2hpdmUuZnJlZWJzZC5vcmcv Y2dpL2dldG1zZy5jZ2k/ZmV0Y2g9MjcwODU2KzArYXJjaGl2ZS8yMDI1L2ZyZWVic2QtbmV0 LzIwMjUxMDIwLmZyZWVic2QtbmV0DQoNClNvbWVob3csIEkgbWFuYWdlZCB0byBpbXBsZW1l bnQgaXQgZGlyZWN0bHkgd2l0aCBuZXRsaW5rOg0KaHR0cHM6Ly9yZXZpZXdzLmZyZWVic2Qu b3JnL0Q1NDE3Mj92cz0xNzQ1NTEmaWQ9MTc1MTQyI3RvYw0KDQpIb3BlIGl0IGhlbHBzIQ0K DQo+PiBsb29JIGRvbid0IHRoaW5rIHNubF9hdHRyX2dldF9wYXJyYXkgaXMgYXBwcm9wcmlh dGUgZm9yIHBhcnNlci1vbmx5DQo+PiBhdHRyaWJ1dGVzLg0KPj4gV2Ugc2hvdWxkIHVzZSBt dWx0aS1hdHRyIGluc3RlYWQgdG8gYXZvaWQgdG9vIG1hbnkgbmVzdGVkIG5ldGxpbmsNCj4+ IGF0dHJpYnV0ZXMuIChlLmcuIC8qIG5lc3RlZCwgSUZMQUZfVkZfKjsgcmVwZWF0ZWQgKi8p DQo+PiBodHRwczovL2RvY3Mua2VybmVsLm9yZy91c2Vyc3BhY2UtYXBpL25ldGxpbmsvZ2Vu ZXRsaW5rLWxlZ2FjeS5odG1sDQo+Pg0KPj4gV2UgbWlnaHQgYWxzbyB3YW50IHRvIHVzZSBz bmxfYXR0cl9nZXRfYm9vbCBvciBzbmxfYXR0cl9nZXRfZmxhZyBmb3INCj4+IG1hbnkgb2Yg dGhlIGRhdGEgc3RydWN0dXJlcyBhYm92ZS4NCj4+DQo+PiBJIHdpc2ggdGhlcmUgd2VyZSBh IHBoYWJyaWNhdG9yIHJldmlldyBmb3IgdGhpcyBjaGFuZ2UuDQo+Pg0KPj4gLS0NCj4+IFBv dXJpYQ0KPj4NCj4gDQoNCi0tIA0KUG91cmlhDQoNCg== --------------KGZyMwQmegPqdlnMGGrFZkgx-- --------------ltlBbs0jr2hqaEHUfxhtRJ4f Content-Type: application/pgp-signature; name="OpenPGP_signature.asc" Content-Description: OpenPGP digital signature Content-Disposition: attachment; filename="OpenPGP_signature.asc" -----BEGIN PGP SIGNATURE----- iJEEARYKADkWIQSqt7cppfvJ816gj0lUwVnUeMwagAUCanorlBsUgAAAAAAEAA5t YW51MiwyLjUrMS4xMiwyLDMACgkQVMFZ1HjMGoCcswEA8n2zwbOVDkOe+TFz5Xan TAr3nlE7eJtdoWppieRxuCUA/A7hafMsZcsOEyadW3Qcb6tUSeGE4+Slu2odSctX qJsJ =Uqyy -----END PGP SIGNATURE----- --------------ltlBbs0jr2hqaEHUfxhtRJ4f--