From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on atuin.qyliss.net X-Spam-Level: X-Spam-Status: No, score=-3.5 required=3.0 tests=BAYES_00,DKIM_INVALID, DKIM_SIGNED,HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI, RCVD_IN_DNSWL_NONE,RCVD_IN_MSPIKE_H3,RCVD_IN_MSPIKE_WL,SPF_HELO_NONE autolearn=unavailable autolearn_force=no version=3.4.4 Received: by atuin.qyliss.net (Postfix, from userid 496) id 5465B1B9F8; Fri, 2 Apr 2021 15:33:49 +0000 (UTC) Received: from [127.0.0.1] (localhost [IPv6:::1]) by atuin.qyliss.net (Postfix) with ESMTP id 59B771B9DB; Fri, 2 Apr 2021 15:32:51 +0000 (UTC) Received: by atuin.qyliss.net (Postfix, from userid 496) id 643A01ABC0; Fri, 2 Apr 2021 09:04:39 +0000 (UTC) Received: from a48-98.smtp-out.amazonses.com (a48-98.smtp-out.amazonses.com [54.240.48.98]) by atuin.qyliss.net (Postfix) with ESMTPS id A648B1A9C6 for ; Fri, 2 Apr 2021 09:04:21 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/simple; s=ug7nbtf4gccmlpwj322ax3p6ow6yfsug; d=amazonses.com; t=1617354260; h=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References:MIME-Version:Content-Type:Content-Transfer-Encoding:Feedback-ID; bh=G19sKmKo7hCbmoTpRyzkC/FOKt2uc4AGHhALVbGq9EM=; b=UvOPkzLix49z+kpmA1fMk+euzLHEyPxgP/uLMueyxyAtQj9FWyO7A30iV+d6gzkl FPMy4M5VyuBjuq2bE/XH42fEgOwPj8kXg0SRK3FvlPztzGMA1J3fuWmwYSoG/+luC2L Gp33r+tqKRB7zvtJg05j4VyG3/jczAE/3259ojl8= From: Jamie McClymont To: devel@spectrum-os.org Subject: [RFC PATCH 6/8] chromiumOSPackages.sommelier: drop unneeded patches Date: Fri, 2 Apr 2021 09:04:20 +0000 Message-ID: <0100017891d37f9f-9a88c2a4-d5a3-4f89-94f1-f86a9a8c383f-000000@email.amazonses.com> X-Mailer: git-send-email 2.31.1 In-Reply-To: <20210402090042.2020627-1-jamie@kwiius.com> References: <20210402090042.2020627-1-jamie@kwiius.com> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 X-SES-Outgoing: 2021.04.02-54.240.48.98 Feedback-ID: 1.us-east-1.9pXRggpcNqPasnyFcFNFQXAg6PTGO6hwgAZOzryQyDc=:AmazonSES X-MailFrom: 0100017891d37f9f-9a88c2a4-d5a3-4f89-94f1-f86a9a8c383f-000000@amazonses.com X-Mailman-Rule-Hits: max-size X-Mailman-Rule-Misses: dmarc-mitigation; no-senders; approved; emergency; loop; banned-address; member-moderation; header-match-config-1; nonmember-moderation; administrivia; implicit-dest; max-recipients; news-moderation; no-subject; suspicious-header Message-ID-Hash: DJ3NQ37JHWFLZXL6E5CGOYFMBDVTXZRL X-Message-ID-Hash: DJ3NQ37JHWFLZXL6E5CGOYFMBDVTXZRL X-Mailman-Approved-At: Fri, 02 Apr 2021 15:32:48 +0000 CC: Jamie McClymont X-Mailman-Version: 3.3.1 Precedence: list List-Id: Patches and low-level development discussion Archived-At: List-Archive: List-Help: List-Post: List-Subscribe: List-Unsubscribe: VGhlIHhkZy1zaGVsbCB0aGluZyBoYXMgYmVlbiBpbnRlZ3JhdGVkIHVwc3RyZWFtLCBhbmQgdGhl IGRlbW9zIHNlZW0gdG8NCm5vIGxvbmdlciBleGlzdC4NCi0tLQ0KIC4uLm1lbGllci11c2Utc3Rh YmxlLXhkZy1zaGVsbC1wcm90b2NvbC5wYXRjaCB8IDE3NDggLS0tLS0tLS0tLS0tLS0tLS0NCiAu Li5tbWVsaWVyLW1ha2UtYnVpbGRpbmctZGVtb3Mtb3B0aW9uYWwucGF0Y2ggfCAgMTAwIC0NCiAu Li4vbGludXgvY2hyb21pdW0tb3Mvc29tbWVsaWVyL2RlZmF1bHQubml4ICAgfCAgICAyIC0NCiAz IGZpbGVzIGNoYW5nZWQsIDE4NTAgZGVsZXRpb25zKC0pDQogZGVsZXRlIG1vZGUgMTAwNjQ0IHBr Z3Mvb3Mtc3BlY2lmaWMvbGludXgvY2hyb21pdW0tb3Mvc29tbWVsaWVyLzAwMDUtc29tbWVsaWVy LXVzZS1zdGFibGUteGRnLXNoZWxsLXByb3RvY29sLnBhdGNoDQogZGVsZXRlIG1vZGUgMTAwNjQ0 IHBrZ3Mvb3Mtc3BlY2lmaWMvbGludXgvY2hyb21pdW0tb3Mvc29tbWVsaWVyLzAwMDYtc29tbWVs aWVyLW1ha2UtYnVpbGRpbmctZGVtb3Mtb3B0aW9uYWwucGF0Y2gNCg0KZGlmZiAtLWdpdCBhL3Br Z3Mvb3Mtc3BlY2lmaWMvbGludXgvY2hyb21pdW0tb3Mvc29tbWVsaWVyLzAwMDUtc29tbWVsaWVy LXVzZS1zdGFibGUteGRnLXNoZWxsLXByb3RvY29sLnBhdGNoIGIvcGtncy9vcy1zcGVjaWZpYy9s aW51eC9jaHJvbWl1bS1vcy9zb21tZWxpZXIvMDAwNS1zb21tZWxpZXItdXNlLXN0YWJsZS14ZGct c2hlbGwtcHJvdG9jb2wucGF0Y2gNCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NA0KaW5kZXggNDFh NDJkZjc0ZmQuLjAwMDAwMDAwMDAwDQotLS0gYS9wa2dzL29zLXNwZWNpZmljL2xpbnV4L2Nocm9t aXVtLW9zL3NvbW1lbGllci8wMDA1LXNvbW1lbGllci11c2Utc3RhYmxlLXhkZy1zaGVsbC1wcm90 b2NvbC5wYXRjaA0KKysrIC9kZXYvbnVsbA0KQEAgLTEsMTc0OCArMCwwIEBADQotRnJvbSBkM2E4 ZjZiNDllMzU3NDRlNzEyNzFjYWIxZWI5ZWE5YTVjODc4NTRkIE1vbiBTZXAgMTcgMDA6MDA6MDAg MjAwMQ0KLUZyb206IFB1Y2sgTWVlcmJ1cmcgPHB1Y2tAcHVja2lwZWRpYS5jb20+DQotRGF0ZTog VHVlLCAzIERlYyAyMDE5IDE4OjA2OjE0ICswMDAwDQotU3ViamVjdDogW1BBVENIIDUvNl0gc29t bWVsaWVyOiB1c2Ugc3RhYmxlIHhkZy1zaGVsbCBwcm90b2NvbA0KLQ0KLUZyb20gaHR0cHM6Ly9n aXRodWIuY29tL3dheWxhbmQtcHJvamVjdC93ZXN0b24vY29tbWl0L2Q4ZDlmNWU2ZTE2YzhmNmEz YzA2NzYzZDVmNTZjMjdkYzlhNmU1MmU6DQotDQotPiBTb21lIGNsaWVudHMgbGlrZSB0aGUgbXB2 IHZpZGVvIHBsYXllciBub3cgcmVxdWVzdCB0aGUgeGRnX3NoZWxsDQotPiBwcm90b2NvbCBzbyB0 aGVzZSB3aWxsIGZhaWwgaWYgdGhlIGNvbXBvc2l0b3Igb25seSBwcm92aWRlcyB0aGUNCi0+IHhk Z19zaGVsbF91bnN0YWJsZV92NiBwcm90b2NvbC4gQ29tcG9zaXRvcnMgbGlrZSBtaXIgYW5kIGdu b21lIHByb3ZpZGUNCi0+IGJvdGggcHJvdG9jb2xzLg0KLS0tLQ0KLSB2bV90b29scy9zb21tZWxp ZXIvQlVJTEQuZ24gICAgICAgICAgICAgICAgICAgfCAgIDIgKy0NCi0gLi4uZGctc2hlbGwtdW5z dGFibGUtdjYueG1sID0+IHhkZy1zaGVsbC54bWx9IHwgMzE5ICsrKysrKysrKysrKy0tLS0tLQ0K LSB2bV90b29scy9zb21tZWxpZXIvc29tbWVsaWVyLXhkZy1zaGVsbC5jICAgICAgfCAyMzMgKysr KysrLS0tLS0tLQ0KLSB2bV90b29scy9zb21tZWxpZXIvc29tbWVsaWVyLmMgICAgICAgICAgICAg ICAgfCAyMTEgKysrKysrLS0tLS0tDQotIHZtX3Rvb2xzL3NvbW1lbGllci9zb21tZWxpZXIuaCAg ICAgICAgICAgICAgICB8ICAxNyArLQ0KLSA1IGZpbGVzIGNoYW5nZWQsIDQ0NyBpbnNlcnRpb25z KCspLCAzMzUgZGVsZXRpb25zKC0pDQotIHJlbmFtZSB2bV90b29scy9zb21tZWxpZXIvcHJvdG9j b2wve3hkZy1zaGVsbC11bnN0YWJsZS12Ni54bWwgPT4geGRnLXNoZWxsLnhtbH0gKDc5JSkNCi0N Ci1kaWZmIC0tZ2l0IGEvdm1fdG9vbHMvc29tbWVsaWVyL0JVSUxELmduIGIvdm1fdG9vbHMvc29t bWVsaWVyL0JVSUxELmduDQotaW5kZXggNTAyNzYyOGQyLi40MzMwNTYwYTEgMTAwNjQ0DQotLS0t IGEvdm1fdG9vbHMvc29tbWVsaWVyL0JVSUxELmduDQotKysrIGIvdm1fdG9vbHMvc29tbWVsaWVy L0JVSUxELmduDQotQEAgLTY4LDcgKzY4LDcgQEAgd2F5bGFuZF9wcm90b2NvbF9saWJyYXJ5KCJz b21tZWxpZXItcHJvdG9jb2wiKSB7DQotICAgICAicHJvdG9jb2wvcmVsYXRpdmUtcG9pbnRlci11 bnN0YWJsZS12MS54bWwiLA0KLSAgICAgInByb3RvY29sL3RleHQtaW5wdXQtdW5zdGFibGUtdjEu eG1sIiwNCi0gICAgICJwcm90b2NvbC92aWV3cG9ydGVyLnhtbCIsDQotLSAgICAicHJvdG9jb2wv eGRnLXNoZWxsLXVuc3RhYmxlLXY2LnhtbCIsDQotKyAgICAicHJvdG9jb2wveGRnLXNoZWxsLnht bCIsDQotICAgXQ0KLSB9DQotIA0KLWRpZmYgLS1naXQgYS92bV90b29scy9zb21tZWxpZXIvcHJv dG9jb2wveGRnLXNoZWxsLXVuc3RhYmxlLXY2LnhtbCBiL3ZtX3Rvb2xzL3NvbW1lbGllci9wcm90 b2NvbC94ZGctc2hlbGwueG1sDQotc2ltaWxhcml0eSBpbmRleCA3OSUNCi1yZW5hbWUgZnJvbSB2 bV90b29scy9zb21tZWxpZXIvcHJvdG9jb2wveGRnLXNoZWxsLXVuc3RhYmxlLXY2LnhtbA0KLXJl bmFtZSB0byB2bV90b29scy9zb21tZWxpZXIvcHJvdG9jb2wveGRnLXNoZWxsLnhtbA0KLWluZGV4 IDFjMGY5MjQ1Mi4uM2E4N2E5ZWQ2IDEwMDY0NA0KLS0tLSBhL3ZtX3Rvb2xzL3NvbW1lbGllci9w cm90b2NvbC94ZGctc2hlbGwtdW5zdGFibGUtdjYueG1sDQotKysrIGIvdm1fdG9vbHMvc29tbWVs aWVyL3Byb3RvY29sL3hkZy1zaGVsbC54bWwNCi1AQCAtMSwxMSArMSwxMyBAQA0KLSA8P3htbCB2 ZXJzaW9uPSIxLjAiIGVuY29kaW5nPSJVVEYtOCI/Pg0KLS08cHJvdG9jb2wgbmFtZT0ieGRnX3No ZWxsX3Vuc3RhYmxlX3Y2Ij4NCi0rPHByb3RvY29sIG5hbWU9InhkZ19zaGVsbCI+DQotIA0KLSAg IDxjb3B5cmlnaHQ+DQotICAgICBDb3B5cmlnaHQgwqkgMjAwOC0yMDEzIEtyaXN0aWFuIEjDuGdz YmVyZw0KLSAgICAgQ29weXJpZ2h0IMKpIDIwMTMgICAgICBSYWZhZWwgQW50b2dub2xsaQ0KLSAg ICAgQ29weXJpZ2h0IMKpIDIwMTMgICAgICBKYXNwZXIgU3QuIFBpZXJyZQ0KLSAgICAgQ29weXJp Z2h0IMKpIDIwMTAtMjAxMyBJbnRlbCBDb3Jwb3JhdGlvbg0KLSsgICAgQ29weXJpZ2h0IMKpIDIw MTUtMjAxNyBTYW1zdW5nIEVsZWN0cm9uaWNzIENvLiwgTHRkDQotKyAgICBDb3B5cmlnaHQgwqkg MjAxNS0yMDE3IFJlZCBIYXQgSW5jLg0KLSANCi0gICAgIFBlcm1pc3Npb24gaXMgaGVyZWJ5IGdy YW50ZWQsIGZyZWUgb2YgY2hhcmdlLCB0byBhbnkgcGVyc29uIG9idGFpbmluZyBhDQotICAgICBj b3B5IG9mIHRoaXMgc29mdHdhcmUgYW5kIGFzc29jaWF0ZWQgZG9jdW1lbnRhdGlvbiBmaWxlcyAo dGhlICJTb2Z0d2FyZSIpLA0KLUBAIC0yNywxOCArMjksMTkgQEANCi0gICAgIERFQUxJTkdTIElO IFRIRSBTT0ZUV0FSRS4NCi0gICA8L2NvcHlyaWdodD4NCi0gDQotLSAgPGludGVyZmFjZSBuYW1l PSJ6eGRnX3NoZWxsX3Y2IiB2ZXJzaW9uPSIxIj4NCi0rICA8aW50ZXJmYWNlIG5hbWU9InhkZ193 bV9iYXNlIiB2ZXJzaW9uPSIyIj4NCi0gICAgIDxkZXNjcmlwdGlvbiBzdW1tYXJ5PSJjcmVhdGUg ZGVza3RvcC1zdHlsZSBzdXJmYWNlcyI+DQotLSAgICAgIHhkZ19zaGVsbCBhbGxvd3MgY2xpZW50 cyB0byB0dXJuIGEgd2xfc3VyZmFjZSBpbnRvIGEgInJlYWwgd2luZG93Ig0KLS0gICAgICB3aGlj aCBjYW4gYmUgZHJhZ2dlZCwgcmVzaXplZCwgc3RhY2tlZCwgYW5kIG1vdmVkIGFyb3VuZCBieSB0 aGUNCi0tICAgICAgdXNlci4gRXZlcnl0aGluZyBhYm91dCB0aGlzIGludGVyZmFjZSBpcyBzdWl0 ZWQgdG93YXJkcyB0cmFkaXRpb25hbA0KLS0gICAgICBkZXNrdG9wIGVudmlyb25tZW50cy4NCi0r ICAgICAgVGhlIHhkZ193bV9iYXNlIGludGVyZmFjZSBpcyBleHBvc2VkIGFzIGEgZ2xvYmFsIG9i amVjdCBlbmFibGluZyBjbGllbnRzDQotKyAgICAgIHRvIHR1cm4gdGhlaXIgd2xfc3VyZmFjZXMg aW50byB3aW5kb3dzIGluIGEgZGVza3RvcCBlbnZpcm9ubWVudC4gSXQNCi0rICAgICAgZGVmaW5l cyB0aGUgYmFzaWMgZnVuY3Rpb25hbGl0eSBuZWVkZWQgZm9yIGNsaWVudHMgYW5kIHRoZSBjb21w b3NpdG9yIHRvDQotKyAgICAgIGNyZWF0ZSB3aW5kb3dzIHRoYXQgY2FuIGJlIGRyYWdnZWQsIHJl c2l6ZWQsIG1heGltaXplZCwgZXRjLCBhcyB3ZWxsIGFzDQotKyAgICAgIGNyZWF0aW5nIHRyYW5z aWVudCB3aW5kb3dzIHN1Y2ggYXMgcG9wdXAgbWVudXMuDQotICAgICA8L2Rlc2NyaXB0aW9uPg0K LSANCi0gICAgIDxlbnVtIG5hbWU9ImVycm9yIj4NCi0gICAgICAgPGVudHJ5IG5hbWU9InJvbGUi IHZhbHVlPSIwIiBzdW1tYXJ5PSJnaXZlbiB3bF9zdXJmYWNlIGhhcyBhbm90aGVyIHJvbGUiLz4N Ci0gICAgICAgPGVudHJ5IG5hbWU9ImRlZnVuY3Rfc3VyZmFjZXMiIHZhbHVlPSIxIg0KLS0JICAg ICBzdW1tYXJ5PSJ4ZGdfc2hlbGwgd2FzIGRlc3Ryb3llZCBiZWZvcmUgY2hpbGRyZW4iLz4NCi0r CSAgICAgc3VtbWFyeT0ieGRnX3dtX2Jhc2Ugd2FzIGRlc3Ryb3llZCBiZWZvcmUgY2hpbGRyZW4i Lz4NCi0gICAgICAgPGVudHJ5IG5hbWU9Im5vdF90aGVfdG9wbW9zdF9wb3B1cCIgdmFsdWU9IjIi DQotIAkgICAgIHN1bW1hcnk9InRoZSBjbGllbnQgdHJpZWQgdG8gbWFwIG9yIGRlc3Ryb3kgYSBu b24tdG9wbW9zdCBwb3B1cCIvPg0KLSAgICAgICA8ZW50cnkgbmFtZT0iaW52YWxpZF9wb3B1cF9w YXJlbnQiIHZhbHVlPSIzIg0KLUBAIC01MCwxMSArNTMsMTEgQEANCi0gICAgIDwvZW51bT4NCi0g DQotICAgICA8cmVxdWVzdCBuYW1lPSJkZXN0cm95IiB0eXBlPSJkZXN0cnVjdG9yIj4NCi0tICAg ICAgPGRlc2NyaXB0aW9uIHN1bW1hcnk9ImRlc3Ryb3kgeGRnX3NoZWxsIj4NCi0tCURlc3Ryb3kg dGhpcyB4ZGdfc2hlbGwgb2JqZWN0Lg0KLSsgICAgICA8ZGVzY3JpcHRpb24gc3VtbWFyeT0iZGVz dHJveSB4ZGdfd21fYmFzZSI+DQotKwlEZXN0cm95IHRoaXMgeGRnX3dtX2Jhc2Ugb2JqZWN0Lg0K LSANCi0tCURlc3Ryb3lpbmcgYSBib3VuZCB4ZGdfc2hlbGwgb2JqZWN0IHdoaWxlIHRoZXJlIGFy ZSBzdXJmYWNlcw0KLS0Jc3RpbGwgYWxpdmUgY3JlYXRlZCBieSB0aGlzIHhkZ19zaGVsbCBvYmpl Y3QgaW5zdGFuY2UgaXMgaWxsZWdhbA0KLSsJRGVzdHJveWluZyBhIGJvdW5kIHhkZ193bV9iYXNl IG9iamVjdCB3aGlsZSB0aGVyZSBhcmUgc3VyZmFjZXMNCi0rCXN0aWxsIGFsaXZlIGNyZWF0ZWQg YnkgdGhpcyB4ZGdfd21fYmFzZSBvYmplY3QgaW5zdGFuY2UgaXMgaWxsZWdhbA0KLSAJYW5kIHdp bGwgcmVzdWx0IGluIGEgcHJvdG9jb2wgZXJyb3IuDQotICAgICAgIDwvZGVzY3JpcHRpb24+DQot ICAgICA8L3JlcXVlc3Q+DQotQEAgLTY1LDcgKzY4LDcgQEANCi0gCXN1cmZhY2VzIHJlbGF0aXZl IHRvIHNvbWUgcGFyZW50IHN1cmZhY2UuIFNlZSB0aGUgaW50ZXJmYWNlIGRlc2NyaXB0aW9uDQot IAlhbmQgeGRnX3N1cmZhY2UuZ2V0X3BvcHVwIGZvciBkZXRhaWxzLg0KLSAgICAgICA8L2Rlc2Ny aXB0aW9uPg0KLS0gICAgICA8YXJnIG5hbWU9ImlkIiB0eXBlPSJuZXdfaWQiIGludGVyZmFjZT0i enhkZ19wb3NpdGlvbmVyX3Y2Ii8+DQotKyAgICAgIDxhcmcgbmFtZT0iaWQiIHR5cGU9Im5ld19p ZCIgaW50ZXJmYWNlPSJ4ZGdfcG9zaXRpb25lciIvPg0KLSAgICAgPC9yZXF1ZXN0Pg0KLSANCi0g ICAgIDxyZXF1ZXN0IG5hbWU9ImdldF94ZGdfc3VyZmFjZSI+DQotQEAgLTgyLDE0ICs4NSwxNCBA QA0KLSAJU2VlIHRoZSBkb2N1bWVudGF0aW9uIG9mIHhkZ19zdXJmYWNlIGZvciBtb3JlIGRldGFp bHMgYWJvdXQgd2hhdCBhbg0KLSAJeGRnX3N1cmZhY2UgaXMgYW5kIGhvdyBpdCBpcyB1c2VkLg0K LSAgICAgICA8L2Rlc2NyaXB0aW9uPg0KLS0gICAgICA8YXJnIG5hbWU9ImlkIiB0eXBlPSJuZXdf aWQiIGludGVyZmFjZT0ienhkZ19zdXJmYWNlX3Y2Ii8+DQotKyAgICAgIDxhcmcgbmFtZT0iaWQi IHR5cGU9Im5ld19pZCIgaW50ZXJmYWNlPSJ4ZGdfc3VyZmFjZSIvPg0KLSAgICAgICA8YXJnIG5h bWU9InN1cmZhY2UiIHR5cGU9Im9iamVjdCIgaW50ZXJmYWNlPSJ3bF9zdXJmYWNlIi8+DQotICAg ICA8L3JlcXVlc3Q+DQotIA0KLSAgICAgPHJlcXVlc3QgbmFtZT0icG9uZyI+DQotICAgICAgIDxk ZXNjcmlwdGlvbiBzdW1tYXJ5PSJyZXNwb25kIHRvIGEgcGluZyBldmVudCI+DQotIAlBIGNsaWVu dCBtdXN0IHJlc3BvbmQgdG8gYSBwaW5nIGV2ZW50IHdpdGggYSBwb25nIHJlcXVlc3Qgb3INCi0t CXRoZSBjbGllbnQgbWF5IGJlIGRlZW1lZCB1bnJlc3BvbnNpdmUuIFNlZSB4ZGdfc2hlbGwucGlu Zy4NCi0rCXRoZSBjbGllbnQgbWF5IGJlIGRlZW1lZCB1bnJlc3BvbnNpdmUuIFNlZSB4ZGdfd21f YmFzZS5waW5nLg0KLSAgICAgICA8L2Rlc2NyaXB0aW9uPg0KLSAgICAgICA8YXJnIG5hbWU9InNl cmlhbCIgdHlwZT0idWludCIgc3VtbWFyeT0ic2VyaWFsIG9mIHRoZSBwaW5nIGV2ZW50Ii8+DQot ICAgICA8L3JlcXVlc3Q+DQotQEAgLTk4LDcgKzEwMSw3IEBADQotICAgICAgIDxkZXNjcmlwdGlv biBzdW1tYXJ5PSJjaGVjayBpZiB0aGUgY2xpZW50IGlzIGFsaXZlIj4NCi0gCVRoZSBwaW5nIGV2 ZW50IGFza3MgdGhlIGNsaWVudCBpZiBpdCdzIHN0aWxsIGFsaXZlLiBQYXNzIHRoZQ0KLSAJc2Vy aWFsIHNwZWNpZmllZCBpbiB0aGUgZXZlbnQgYmFjayB0byB0aGUgY29tcG9zaXRvciBieSBzZW5k aW5nDQotLQlhICJwb25nIiByZXF1ZXN0IGJhY2sgd2l0aCB0aGUgc3BlY2lmaWVkIHNlcmlhbC4g U2VlIHhkZ19zaGVsbC5waW5nLg0KLSsJYSAicG9uZyIgcmVxdWVzdCBiYWNrIHdpdGggdGhlIHNw ZWNpZmllZCBzZXJpYWwuIFNlZSB4ZGdfd21fYmFzZS5wb25nLg0KLSANCi0gCUNvbXBvc2l0b3Jz IGNhbiB1c2UgdGhpcyB0byBkZXRlcm1pbmUgaWYgdGhlIGNsaWVudCBpcyBzdGlsbA0KLSAJYWxp dmUuIEl0J3MgdW5zcGVjaWZpZWQgd2hhdCB3aWxsIGhhcHBlbiBpZiB0aGUgY2xpZW50IGRvZXNu J3QNCi1AQCAtMTA2LDEzICsxMDksMTMgQEANCi0gCXRyeSB0byByZXNwb25kIGluIGEgcmVhc29u YWJsZSBhbW91bnQgb2YgdGltZS4NCi0gDQotIAlBIGNvbXBvc2l0b3IgaXMgZnJlZSB0byBwaW5n IGluIGFueSB3YXkgaXQgd2FudHMsIGJ1dCBhIGNsaWVudCBtdXN0DQotLQlhbHdheXMgcmVzcG9u ZCB0byBhbnkgeGRnX3NoZWxsIG9iamVjdCBpdCBjcmVhdGVkLg0KLSsJYWx3YXlzIHJlc3BvbmQg dG8gYW55IHhkZ193bV9iYXNlIG9iamVjdCBpdCBjcmVhdGVkLg0KLSAgICAgICA8L2Rlc2NyaXB0 aW9uPg0KLSAgICAgICA8YXJnIG5hbWU9InNlcmlhbCIgdHlwZT0idWludCIgc3VtbWFyeT0icGFz cyB0aGlzIHRvIHRoZSBwb25nIHJlcXVlc3QiLz4NCi0gICAgIDwvZXZlbnQ+DQotICAgPC9pbnRl cmZhY2U+DQotIA0KLS0gIDxpbnRlcmZhY2UgbmFtZT0ienhkZ19wb3NpdGlvbmVyX3Y2IiB2ZXJz aW9uPSIxIj4NCi0rICA8aW50ZXJmYWNlIG5hbWU9InhkZ19wb3NpdGlvbmVyIiB2ZXJzaW9uPSIy Ij4NCi0gICAgIDxkZXNjcmlwdGlvbiBzdW1tYXJ5PSJjaGlsZCBzdXJmYWNlIHBvc2l0aW9uZXIi Pg0KLSAgICAgICBUaGUgeGRnX3Bvc2l0aW9uZXIgcHJvdmlkZXMgYSBjb2xsZWN0aW9uIG9mIHJ1 bGVzIGZvciB0aGUgcGxhY2VtZW50IG9mIGENCi0gICAgICAgY2hpbGQgc3VyZmFjZSByZWxhdGl2 ZSB0byBhIHBhcmVudCBzdXJmYWNlLiBSdWxlcyBjYW4gYmUgZGVmaW5lZCB0byBlbnN1cmUNCi1A QCAtMTYyLDEzICsxNjUsMTMgQEANCi0gCVNwZWNpZnkgdGhlIGFuY2hvciByZWN0YW5nbGUgd2l0 aGluIHRoZSBwYXJlbnQgc3VyZmFjZSB0aGF0IHRoZSBjaGlsZA0KLSAJc3VyZmFjZSB3aWxsIGJl IHBsYWNlZCByZWxhdGl2ZSB0by4gVGhlIHJlY3RhbmdsZSBpcyByZWxhdGl2ZSB0byB0aGUNCi0g CXdpbmRvdyBnZW9tZXRyeSBhcyBkZWZpbmVkIGJ5IHhkZ19zdXJmYWNlLnNldF93aW5kb3dfZ2Vv bWV0cnkgb2YgdGhlDQotLQlwYXJlbnQgc3VyZmFjZS4gVGhlIHJlY3RhbmdsZSBtdXN0IGJlIGF0 IGxlYXN0IDF4MSBsYXJnZS4NCi0rCXBhcmVudCBzdXJmYWNlLg0KLSANCi0gCVdoZW4gdGhlIHhk Z19wb3NpdGlvbmVyIG9iamVjdCBpcyB1c2VkIHRvIHBvc2l0aW9uIGEgY2hpbGQgc3VyZmFjZSwg dGhlDQotIAlhbmNob3IgcmVjdGFuZ2xlIG1heSBub3QgZXh0ZW5kIG91dHNpZGUgdGhlIHdpbmRv dyBnZW9tZXRyeSBvZiB0aGUNCi0gCXBvc2l0aW9uZWQgY2hpbGQncyBwYXJlbnQgc3VyZmFjZS4N Ci0gDQotLQlJZiBhIHplcm8gb3IgbmVnYXRpdmUgc2l6ZSBpcyBzZXQgdGhlIGludmFsaWRfaW5w dXQgZXJyb3IgaXMgcmFpc2VkLg0KLSsJSWYgYSBuZWdhdGl2ZSBzaXplIGlzIHNldCB0aGUgaW52 YWxpZF9pbnB1dCBlcnJvciBpcyByYWlzZWQuDQotICAgICAgIDwvZGVzY3JpcHRpb24+DQotICAg ICAgIDxhcmcgbmFtZT0ieCIgdHlwZT0iaW50IiBzdW1tYXJ5PSJ4IHBvc2l0aW9uIG9mIGFuY2hv ciByZWN0YW5nbGUiLz4NCi0gICAgICAgPGFyZyBuYW1lPSJ5IiB0eXBlPSJpbnQiIHN1bW1hcnk9 InkgcG9zaXRpb24gb2YgYW5jaG9yIHJlY3RhbmdsZSIvPg0KLUBAIC0xNzYsNjMgKzE3OSw1NCBA QA0KLSAgICAgICA8YXJnIG5hbWU9ImhlaWdodCIgdHlwZT0iaW50IiBzdW1tYXJ5PSJoZWlnaHQg b2YgYW5jaG9yIHJlY3RhbmdsZSIvPg0KLSAgICAgPC9yZXF1ZXN0Pg0KLSANCi0tICAgIDxlbnVt IG5hbWU9ImFuY2hvciIgYml0ZmllbGQ9InRydWUiPg0KLS0gICAgICA8ZW50cnkgbmFtZT0ibm9u ZSIgdmFsdWU9IjAiDQotLQkgICAgIHN1bW1hcnk9InRoZSBjZW50ZXIgb2YgdGhlIGFuY2hvciBy ZWN0YW5nbGUiLz4NCi0tICAgICAgPGVudHJ5IG5hbWU9InRvcCIgdmFsdWU9IjEiDQotLQkgICAg IHN1bW1hcnk9InRoZSB0b3AgZWRnZSBvZiB0aGUgYW5jaG9yIHJlY3RhbmdsZSIvPg0KLS0gICAg ICA8ZW50cnkgbmFtZT0iYm90dG9tIiB2YWx1ZT0iMiINCi0tCSAgICAgc3VtbWFyeT0idGhlIGJv dHRvbSBlZGdlIG9mIHRoZSBhbmNob3IgcmVjdGFuZ2xlIi8+DQotLSAgICAgIDxlbnRyeSBuYW1l PSJsZWZ0IiB2YWx1ZT0iNCINCi0tCSAgICAgc3VtbWFyeT0idGhlIGxlZnQgZWRnZSBvZiB0aGUg YW5jaG9yIHJlY3RhbmdsZSIvPg0KLS0gICAgICA8ZW50cnkgbmFtZT0icmlnaHQiIHZhbHVlPSI4 Ig0KLS0JICAgICBzdW1tYXJ5PSJ0aGUgcmlnaHQgZWRnZSBvZiB0aGUgYW5jaG9yIHJlY3Rhbmds ZSIvPg0KLSsgICAgPGVudW0gbmFtZT0iYW5jaG9yIj4NCi0rICAgICAgPGVudHJ5IG5hbWU9Im5v bmUiIHZhbHVlPSIwIi8+DQotKyAgICAgIDxlbnRyeSBuYW1lPSJ0b3AiIHZhbHVlPSIxIi8+DQot KyAgICAgIDxlbnRyeSBuYW1lPSJib3R0b20iIHZhbHVlPSIyIi8+DQotKyAgICAgIDxlbnRyeSBu YW1lPSJsZWZ0IiB2YWx1ZT0iMyIvPg0KLSsgICAgICA8ZW50cnkgbmFtZT0icmlnaHQiIHZhbHVl PSI0Ii8+DQotKyAgICAgIDxlbnRyeSBuYW1lPSJ0b3BfbGVmdCIgdmFsdWU9IjUiLz4NCi0rICAg ICAgPGVudHJ5IG5hbWU9ImJvdHRvbV9sZWZ0IiB2YWx1ZT0iNiIvPg0KLSsgICAgICA8ZW50cnkg bmFtZT0idG9wX3JpZ2h0IiB2YWx1ZT0iNyIvPg0KLSsgICAgICA8ZW50cnkgbmFtZT0iYm90dG9t X3JpZ2h0IiB2YWx1ZT0iOCIvPg0KLSAgICAgPC9lbnVtPg0KLSANCi0gICAgIDxyZXF1ZXN0IG5h bWU9InNldF9hbmNob3IiPg0KLS0gICAgICA8ZGVzY3JpcHRpb24gc3VtbWFyeT0ic2V0IGFuY2hv ciByZWN0YW5nbGUgYW5jaG9yIGVkZ2VzIj4NCi0tCURlZmluZXMgYSBzZXQgb2YgZWRnZXMgZm9y IHRoZSBhbmNob3IgcmVjdGFuZ2xlLiBUaGVzZSBhcmUgdXNlZCB0bw0KLS0JZGVyaXZlIGFuIGFu Y2hvciBwb2ludCB0aGF0IHRoZSBjaGlsZCBzdXJmYWNlIHdpbGwgYmUgcG9zaXRpb25lZA0KLS0J cmVsYXRpdmUgdG8uIElmIHR3byBvcnRob2dvbmFsIGVkZ2VzIGFyZSBzcGVjaWZpZWQgKGUuZy4g J3RvcCcgYW5kDQotLQknbGVmdCcpLCB0aGVuIHRoZSBhbmNob3IgcG9pbnQgd2lsbCBiZSB0aGUg aW50ZXJzZWN0aW9uIG9mIHRoZSBlZGdlcw0KLS0JKGUuZy4gdGhlIHRvcCBsZWZ0IHBvc2l0aW9u IG9mIHRoZSByZWN0YW5nbGUpOyBvdGhlcndpc2UsIHRoZSBkZXJpdmVkDQotLQlhbmNob3IgcG9p bnQgd2lsbCBiZSBjZW50ZXJlZCBvbiB0aGUgc3BlY2lmaWVkIGVkZ2UsIG9yIGluIHRoZSBjZW50 ZXIgb2YNCi0tCXRoZSBhbmNob3IgcmVjdGFuZ2xlIGlmIG5vIGVkZ2UgaXMgc3BlY2lmaWVkLg0K LS0NCi0tCUlmIHR3byBwYXJhbGxlbCBhbmNob3IgZWRnZXMgYXJlIHNwZWNpZmllZCAoZS5nLiAn bGVmdCcgYW5kICdyaWdodCcpLA0KLS0JdGhlIGludmFsaWRfaW5wdXQgZXJyb3IgaXMgcmFpc2Vk Lg0KLSsgICAgICA8ZGVzY3JpcHRpb24gc3VtbWFyeT0ic2V0IGFuY2hvciByZWN0YW5nbGUgYW5j aG9yIj4NCi0rCURlZmluZXMgdGhlIGFuY2hvciBwb2ludCBmb3IgdGhlIGFuY2hvciByZWN0YW5n bGUuIFRoZSBzcGVjaWZpZWQgYW5jaG9yDQotKwlpcyB1c2VkIGRlcml2ZSBhbiBhbmNob3IgcG9p bnQgdGhhdCB0aGUgY2hpbGQgc3VyZmFjZSB3aWxsIGJlDQotKwlwb3NpdGlvbmVkIHJlbGF0aXZl IHRvLiBJZiBhIGNvcm5lciBhbmNob3IgaXMgc2V0IChlLmcuICd0b3BfbGVmdCcgb3INCi0rCSdi b3R0b21fcmlnaHQnKSwgdGhlIGFuY2hvciBwb2ludCB3aWxsIGJlIGF0IHRoZSBzcGVjaWZpZWQg Y29ybmVyOw0KLSsJb3RoZXJ3aXNlLCB0aGUgZGVyaXZlZCBhbmNob3IgcG9pbnQgd2lsbCBiZSBj ZW50ZXJlZCBvbiB0aGUgc3BlY2lmaWVkDQotKwllZGdlLCBvciBpbiB0aGUgY2VudGVyIG9mIHRo ZSBhbmNob3IgcmVjdGFuZ2xlIGlmIG5vIGVkZ2UgaXMgc3BlY2lmaWVkLg0KLSAgICAgICA8L2Rl c2NyaXB0aW9uPg0KLSAgICAgICA8YXJnIG5hbWU9ImFuY2hvciIgdHlwZT0idWludCIgZW51bT0i YW5jaG9yIg0KLS0JICAgc3VtbWFyeT0iYml0IG1hc2sgb2YgYW5jaG9yIGVkZ2VzIi8+DQotKwkg ICBzdW1tYXJ5PSJhbmNob3IiLz4NCi0gICAgIDwvcmVxdWVzdD4NCi0gDQotLSAgICA8ZW51bSBu YW1lPSJncmF2aXR5IiBiaXRmaWVsZD0idHJ1ZSI+DQotLSAgICAgIDxlbnRyeSBuYW1lPSJub25l IiB2YWx1ZT0iMCINCi0tCSAgICAgc3VtbWFyeT0iY2VudGVyIG92ZXIgdGhlIGFuY2hvciBlZGdl Ii8+DQotLSAgICAgIDxlbnRyeSBuYW1lPSJ0b3AiIHZhbHVlPSIxIg0KLS0JICAgICBzdW1tYXJ5 PSJwb3NpdGlvbiBhYm92ZSB0aGUgYW5jaG9yIGVkZ2UiLz4NCi0tICAgICAgPGVudHJ5IG5hbWU9 ImJvdHRvbSIgdmFsdWU9IjIiDQotLQkgICAgIHN1bW1hcnk9InBvc2l0aW9uIGJlbG93IHRoZSBh bmNob3IgZWRnZSIvPg0KLS0gICAgICA8ZW50cnkgbmFtZT0ibGVmdCIgdmFsdWU9IjQiDQotLQkg ICAgIHN1bW1hcnk9InBvc2l0aW9uIHRvIHRoZSBsZWZ0IG9mIHRoZSBhbmNob3IgZWRnZSIvPg0K LS0gICAgICA8ZW50cnkgbmFtZT0icmlnaHQiIHZhbHVlPSI4Ig0KLS0JICAgICBzdW1tYXJ5PSJw b3NpdGlvbiB0byB0aGUgcmlnaHQgb2YgdGhlIGFuY2hvciBlZGdlIi8+DQotKyAgICA8ZW51bSBu YW1lPSJncmF2aXR5Ij4NCi0rICAgICAgPGVudHJ5IG5hbWU9Im5vbmUiIHZhbHVlPSIwIi8+DQot KyAgICAgIDxlbnRyeSBuYW1lPSJ0b3AiIHZhbHVlPSIxIi8+DQotKyAgICAgIDxlbnRyeSBuYW1l PSJib3R0b20iIHZhbHVlPSIyIi8+DQotKyAgICAgIDxlbnRyeSBuYW1lPSJsZWZ0IiB2YWx1ZT0i MyIvPg0KLSsgICAgICA8ZW50cnkgbmFtZT0icmlnaHQiIHZhbHVlPSI0Ii8+DQotKyAgICAgIDxl bnRyeSBuYW1lPSJ0b3BfbGVmdCIgdmFsdWU9IjUiLz4NCi0rICAgICAgPGVudHJ5IG5hbWU9ImJv dHRvbV9sZWZ0IiB2YWx1ZT0iNiIvPg0KLSsgICAgICA8ZW50cnkgbmFtZT0idG9wX3JpZ2h0IiB2 YWx1ZT0iNyIvPg0KLSsgICAgICA8ZW50cnkgbmFtZT0iYm90dG9tX3JpZ2h0IiB2YWx1ZT0iOCIv Pg0KLSAgICAgPC9lbnVtPg0KLSANCi0gICAgIDxyZXF1ZXN0IG5hbWU9InNldF9ncmF2aXR5Ij4N Ci0gICAgICAgPGRlc2NyaXB0aW9uIHN1bW1hcnk9InNldCBjaGlsZCBzdXJmYWNlIGdyYXZpdHki Pg0KLSAJRGVmaW5lcyBpbiB3aGF0IGRpcmVjdGlvbiBhIHN1cmZhY2Ugc2hvdWxkIGJlIHBvc2l0 aW9uZWQsIHJlbGF0aXZlIHRvDQotLQl0aGUgYW5jaG9yIHBvaW50IG9mIHRoZSBwYXJlbnQgc3Vy ZmFjZS4gSWYgdHdvIG9ydGhvZ29uYWwgZ3Jhdml0aWVzIGFyZQ0KLS0Jc3BlY2lmaWVkIChlLmcu ICdib3R0b20nIGFuZCAncmlnaHQnKSwgdGhlbiB0aGUgY2hpbGQgc3VyZmFjZSB3aWxsIGJlDQot LQlwbGFjZWQgaW4gdGhlIHNwZWNpZmllZCBkaXJlY3Rpb247IG90aGVyd2lzZSwgdGhlIGNoaWxk IHN1cmZhY2Ugd2lsbCBiZQ0KLS0JY2VudGVyZWQgb3ZlciB0aGUgYW5jaG9yIHBvaW50IG9uIGFu eSBheGlzIHRoYXQgaGFkIG5vIGdyYXZpdHkNCi0tCXNwZWNpZmllZC4NCi0tDQotLQlJZiB0d28g cGFyYWxsZWwgZ3Jhdml0aWVzIGFyZSBzcGVjaWZpZWQgKGUuZy4gJ2xlZnQnIGFuZCAncmlnaHQn KSwgdGhlDQotLQlpbnZhbGlkX2lucHV0IGVycm9yIGlzIHJhaXNlZC4NCi0rCXRoZSBhbmNob3Ig cG9pbnQgb2YgdGhlIHBhcmVudCBzdXJmYWNlLiBJZiBhIGNvcm5lciBncmF2aXR5IGlzDQotKwlz cGVjaWZpZWQgKGUuZy4gJ2JvdHRvbV9yaWdodCcgb3IgJ3RvcF9sZWZ0JyksIHRoZW4gdGhlIGNo aWxkIHN1cmZhY2UNCi0rCXdpbGwgYmUgcGxhY2VkIHRvd2FyZHMgdGhlIHNwZWNpZmllZCBncmF2 aXR5OyBvdGhlcndpc2UsIHRoZSBjaGlsZA0KLSsJc3VyZmFjZSB3aWxsIGJlIGNlbnRlcmVkIG92 ZXIgdGhlIGFuY2hvciBwb2ludCBvbiBhbnkgYXhpcyB0aGF0IGhhZCBubw0KLSsJZ3Jhdml0eSBz cGVjaWZpZWQuDQotICAgICAgIDwvZGVzY3JpcHRpb24+DQotICAgICAgIDxhcmcgbmFtZT0iZ3Jh dml0eSIgdHlwZT0idWludCIgZW51bT0iZ3Jhdml0eSINCi0tCSAgIHN1bW1hcnk9ImJpdCBtYXNr IG9mIGdyYXZpdHkgZGlyZWN0aW9ucyIvPg0KLSsJICAgc3VtbWFyeT0iZ3Jhdml0eSBkaXJlY3Rp b24iLz4NCi0gICAgIDwvcmVxdWVzdD4NCi0gDQotICAgICA8ZW51bSBuYW1lPSJjb25zdHJhaW50 X2FkanVzdG1lbnQiIGJpdGZpZWxkPSJ0cnVlIj4NCi1AQCAtMjUyLDcgKzI0Niw3IEBADQotICAg ICAgIDxlbnRyeSBuYW1lPSJub25lIiB2YWx1ZT0iMCI+DQotIAk8ZGVzY3JpcHRpb24gc3VtbWFy eT0iZG9uJ3QgbW92ZSB0aGUgY2hpbGQgc3VyZmFjZSB3aGVuIGNvbnN0cmFpbmVkIj4NCi0gCSAg RG9uJ3QgYWx0ZXIgdGhlIHN1cmZhY2UgcG9zaXRpb24gZXZlbiBpZiBpdCBpcyBjb25zdHJhaW5l ZCBvbiBzb21lDQotLQkgIGF4aXMsIGZvciBleGFtcGxlIHBhcnRpYWxseSBvdXRzaWRlIHRoZSBl ZGdlIG9mIGEgbW9uaXRvci4NCi0rCSAgYXhpcywgZm9yIGV4YW1wbGUgcGFydGlhbGx5IG91dHNp ZGUgdGhlIGVkZ2Ugb2YgYW4gb3V0cHV0Lg0KLSAJPC9kZXNjcmlwdGlvbj4NCi0gICAgICAgPC9l bnRyeT4NCi0gICAgICAgPGVudHJ5IG5hbWU9InNsaWRlX3giIHZhbHVlPSIxIj4NCi1AQCAtMzA0 LDYgKzI5OCwxMCBAQA0KLSAJICBzdXJmYWNlIGlzIGNvbnN0cmFpbmVkLCB0aGUgZ3Jhdml0eSBp cyAnYm90dG9tJyBhbmQgdGhlIGFuY2hvciBpcw0KLSAJICAnYm90dG9tJywgY2hhbmdlIHRoZSBn cmF2aXR5IHRvICd0b3AnIGFuZCB0aGUgYW5jaG9yIHRvICd0b3AnLg0KLSANCi0rCSAgVGhlIGFk anVzdGVkIHBvc2l0aW9uIGlzIGNhbGN1bGF0ZWQgZ2l2ZW4gdGhlIG9yaWdpbmFsIGFuY2hvcg0K LSsJICByZWN0YW5nbGUgYW5kIG9mZnNldCwgYnV0IHdpdGggdGhlIG5ldyBmbGlwcGVkIGFuY2hv ciBhbmQgZ3Jhdml0eQ0KLSsJICB2YWx1ZXMuDQotKw0KLSAJICBJZiB0aGUgYWRqdXN0ZWQgcG9z aXRpb24gYWxzbyBlbmRzIHVwIGJlaW5nIGNvbnN0cmFpbmVkLCB0aGUgcmVzdWx0aW5nDQotIAkg IHBvc2l0aW9uIG9mIHRoZSBmbGlwX3kgYWRqdXN0bWVudCB3aWxsIGJlIHRoZSBvbmUgYmVmb3Jl IHRoZQ0KLSAJICBhZGp1c3RtZW50Lg0KLUBAIC0zNjEsNyArMzU5LDcgQEANCi0gICAgIDwvcmVx dWVzdD4NCi0gICA8L2ludGVyZmFjZT4NCi0gDQotLSAgPGludGVyZmFjZSBuYW1lPSJ6eGRnX3N1 cmZhY2VfdjYiIHZlcnNpb249IjEiPg0KLSsgIDxpbnRlcmZhY2UgbmFtZT0ieGRnX3N1cmZhY2Ui IHZlcnNpb249IjIiPg0KLSAgICAgPGRlc2NyaXB0aW9uIHN1bW1hcnk9ImRlc2t0b3AgdXNlciBp bnRlcmZhY2Ugc3VyZmFjZSBiYXNlIGludGVyZmFjZSI+DQotICAgICAgIEFuIGludGVyZmFjZSB0 aGF0IG1heSBiZSBpbXBsZW1lbnRlZCBieSBhIHdsX3N1cmZhY2UsIGZvcg0KLSAgICAgICBpbXBs ZW1lbnRhdGlvbnMgdGhhdCBwcm92aWRlIGEgZGVza3RvcC1zdHlsZSB1c2VyIGludGVyZmFjZS4N Ci1AQCAtMzg4LDExICszODYsMjAgQEANCi0gICAgICAgbWFuaXB1bGF0ZSBhIGJ1ZmZlciBwcmlv ciB0byB0aGUgZmlyc3QgeGRnX3N1cmZhY2UuY29uZmlndXJlIGNhbGwgbXVzdA0KLSAgICAgICBh bHNvIGJlIHRyZWF0ZWQgYXMgZXJyb3JzLg0KLSANCi0tICAgICAgRm9yIGEgc3VyZmFjZSB0byBi ZSBtYXBwZWQgYnkgdGhlIGNvbXBvc2l0b3IsIHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucw0KLS0g ICAgICBtdXN0IGJlIG1ldDogKDEpIHRoZSBjbGllbnQgaGFzIGFzc2lnbmVkIGEgeGRnX3N1cmZh Y2UgYmFzZWQgcm9sZSB0byB0aGUNCi0tICAgICAgc3VyZmFjZSwgKDIpIHRoZSBjbGllbnQgaGFz IHNldCBhbmQgY29tbWl0dGVkIHRoZSB4ZGdfc3VyZmFjZSBzdGF0ZSBhbmQNCi0tICAgICAgdGhl IHJvbGUgZGVwZW5kZW50IHN0YXRlIHRvIHRoZSBzdXJmYWNlIGFuZCAoMykgdGhlIGNsaWVudCBo YXMgY29tbWl0dGVkIGENCi0tICAgICAgYnVmZmVyIHRvIHRoZSBzdXJmYWNlLg0KLSsgICAgICBN YXBwaW5nIGFuIHhkZ19zdXJmYWNlLWJhc2VkIHJvbGUgc3VyZmFjZSBpcyBkZWZpbmVkIGFzIG1h a2luZyBpdA0KLSsgICAgICBwb3NzaWJsZSBmb3IgdGhlIHN1cmZhY2UgdG8gYmUgc2hvd24gYnkg dGhlIGNvbXBvc2l0b3IuIE5vdGUgdGhhdA0KLSsgICAgICBhIG1hcHBlZCBzdXJmYWNlIGlzIG5v dCBndWFyYW50ZWVkIHRvIGJlIHZpc2libGUgb25jZSBpdCBpcyBtYXBwZWQuDQotKw0KLSsgICAg ICBGb3IgYW4geGRnX3N1cmZhY2UgdG8gYmUgbWFwcGVkIGJ5IHRoZSBjb21wb3NpdG9yLCB0aGUg Zm9sbG93aW5nDQotKyAgICAgIGNvbmRpdGlvbnMgbXVzdCBiZSBtZXQ6DQotKyAgICAgICgxKSB0 aGUgY2xpZW50IGhhcyBhc3NpZ25lZCBhbiB4ZGdfc3VyZmFjZS1iYXNlZCByb2xlIHRvIHRoZSBz dXJmYWNlDQotKyAgICAgICgyKSB0aGUgY2xpZW50IGhhcyBzZXQgYW5kIGNvbW1pdHRlZCB0aGUg eGRnX3N1cmZhY2Ugc3RhdGUgYW5kIHRoZQ0KLSsJICByb2xlLWRlcGVuZGVudCBzdGF0ZSB0byB0 aGUgc3VyZmFjZQ0KLSsgICAgICAoMykgdGhlIGNsaWVudCBoYXMgY29tbWl0dGVkIGEgYnVmZmVy IHRvIHRoZSBzdXJmYWNlDQotKw0KLSsgICAgICBBIG5ld2x5LXVubWFwcGVkIHN1cmZhY2UgaXMg Y29uc2lkZXJlZCB0byBoYXZlIG1ldCBjb25kaXRpb24gKDEpIG91dA0KLSsgICAgICBvZiB0aGUg MyByZXF1aXJlZCBjb25kaXRpb25zIGZvciBtYXBwaW5nIGEgc3VyZmFjZSBpZiBpdHMgcm9sZSBz dXJmYWNlDQotKyAgICAgIGhhcyBub3QgYmVlbiBkZXN0cm95ZWQuDQotICAgICA8L2Rlc2NyaXB0 aW9uPg0KLSANCi0gICAgIDxlbnVtIG5hbWU9ImVycm9yIj4NCi1AQCAtNDE2LDIwICs0MjMsMjMg QEANCi0gCVNlZSB0aGUgZG9jdW1lbnRhdGlvbiBvZiB4ZGdfdG9wbGV2ZWwgZm9yIG1vcmUgZGV0 YWlscyBhYm91dCB3aGF0IGFuDQotIAl4ZGdfdG9wbGV2ZWwgaXMgYW5kIGhvdyBpdCBpcyB1c2Vk Lg0KLSAgICAgICA8L2Rlc2NyaXB0aW9uPg0KLS0gICAgICA8YXJnIG5hbWU9ImlkIiB0eXBlPSJu ZXdfaWQiIGludGVyZmFjZT0ienhkZ190b3BsZXZlbF92NiIvPg0KLSsgICAgICA8YXJnIG5hbWU9 ImlkIiB0eXBlPSJuZXdfaWQiIGludGVyZmFjZT0ieGRnX3RvcGxldmVsIi8+DQotICAgICA8L3Jl cXVlc3Q+DQotIA0KLSAgICAgPHJlcXVlc3QgbmFtZT0iZ2V0X3BvcHVwIj4NCi0gICAgICAgPGRl c2NyaXB0aW9uIHN1bW1hcnk9ImFzc2lnbiB0aGUgeGRnX3BvcHVwIHN1cmZhY2Ugcm9sZSI+DQot LQlUaGlzIGNyZWF0ZXMgYW4geGRnX3BvcHVwIG9iamVjdCBmb3IgdGhlIGdpdmVuIHhkZ19zdXJm YWNlIGFuZCBnaXZlcyB0aGUNCi0tCWFzc29jaWF0ZWQgd2xfc3VyZmFjZSB0aGUgeGRnX3BvcHVw IHJvbGUuDQotKwlUaGlzIGNyZWF0ZXMgYW4geGRnX3BvcHVwIG9iamVjdCBmb3IgdGhlIGdpdmVu IHhkZ19zdXJmYWNlIGFuZCBnaXZlcw0KLSsJdGhlIGFzc29jaWF0ZWQgd2xfc3VyZmFjZSB0aGUg eGRnX3BvcHVwIHJvbGUuDQotKw0KLSsJSWYgbnVsbCBpcyBwYXNzZWQgYXMgYSBwYXJlbnQsIGEg cGFyZW50IHN1cmZhY2UgbXVzdCBiZSBzcGVjaWZpZWQgdXNpbmcNCi0rCXNvbWUgb3RoZXIgcHJv dG9jb2wsIGJlZm9yZSBjb21taXR0aW5nIHRoZSBpbml0aWFsIHN0YXRlLg0KLSANCi0gCVNlZSB0 aGUgZG9jdW1lbnRhdGlvbiBvZiB4ZGdfcG9wdXAgZm9yIG1vcmUgZGV0YWlscyBhYm91dCB3aGF0 IGFuDQotIAl4ZGdfcG9wdXAgaXMgYW5kIGhvdyBpdCBpcyB1c2VkLg0KLSAgICAgICA8L2Rlc2Ny aXB0aW9uPg0KLS0gICAgICA8YXJnIG5hbWU9ImlkIiB0eXBlPSJuZXdfaWQiIGludGVyZmFjZT0i enhkZ19wb3B1cF92NiIvPg0KLS0gICAgICA8YXJnIG5hbWU9InBhcmVudCIgdHlwZT0ib2JqZWN0 IiBpbnRlcmZhY2U9Inp4ZGdfc3VyZmFjZV92NiIvPg0KLS0gICAgICA8YXJnIG5hbWU9InBvc2l0 aW9uZXIiIHR5cGU9Im9iamVjdCIgaW50ZXJmYWNlPSJ6eGRnX3Bvc2l0aW9uZXJfdjYiLz4NCi0r ICAgICAgPGFyZyBuYW1lPSJpZCIgdHlwZT0ibmV3X2lkIiBpbnRlcmZhY2U9InhkZ19wb3B1cCIv Pg0KLSsgICAgICA8YXJnIG5hbWU9InBhcmVudCIgdHlwZT0ib2JqZWN0IiBpbnRlcmZhY2U9Inhk Z19zdXJmYWNlIiBhbGxvdy1udWxsPSJ0cnVlIi8+DQotKyAgICAgIDxhcmcgbmFtZT0icG9zaXRp b25lciIgdHlwZT0ib2JqZWN0IiBpbnRlcmZhY2U9InhkZ19wb3NpdGlvbmVyIi8+DQotICAgICA8 L3JlcXVlc3Q+DQotIA0KLSAgICAgPHJlcXVlc3QgbmFtZT0ic2V0X3dpbmRvd19nZW9tZXRyeSI+ DQotQEAgLTQ0Miw2ICs0NTIsMTEgQEANCi0gCVRoZSB3aW5kb3cgZ2VvbWV0cnkgaXMgZG91Ymxl IGJ1ZmZlcmVkLCBhbmQgd2lsbCBiZSBhcHBsaWVkIGF0IHRoZQ0KLSAJdGltZSB3bF9zdXJmYWNl LmNvbW1pdCBvZiB0aGUgY29ycmVzcG9uZGluZyB3bF9zdXJmYWNlIGlzIGNhbGxlZC4NCi0gDQot KwlXaGVuIG1haW50YWluaW5nIGEgcG9zaXRpb24sIHRoZSBjb21wb3NpdG9yIHNob3VsZCB0cmVh dCB0aGUgKHgsIHkpDQotKwljb29yZGluYXRlIG9mIHRoZSB3aW5kb3cgZ2VvbWV0cnkgYXMgdGhl IHRvcCBsZWZ0IGNvcm5lciBvZiB0aGUgd2luZG93Lg0KLSsJQSBjbGllbnQgY2hhbmdpbmcgdGhl ICh4LCB5KSB3aW5kb3cgZ2VvbWV0cnkgY29vcmRpbmF0ZSBzaG91bGQgaW4NCi0rCWdlbmVyYWwg bm90IGFsdGVyIHRoZSBwb3NpdGlvbiBvZiB0aGUgd2luZG93Lg0KLSsNCi0gCU9uY2UgdGhlIHdp bmRvdyBnZW9tZXRyeSBvZiB0aGUgc3VyZmFjZSBpcyBzZXQsIGl0IGlzIG5vdCBwb3NzaWJsZSB0 bw0KLSAJdW5zZXQgaXQsIGFuZCBpdCB3aWxsIHJlbWFpbiB0aGUgc2FtZSB1bnRpbCBzZXRfd2lu ZG93X2dlb21ldHJ5IGlzDQotIAljYWxsZWQgYWdhaW4sIGV2ZW4gaWYgYSBuZXcgc3Vic3VyZmFj ZSBvciBidWZmZXIgaXMgYXR0YWNoZWQuDQotQEAgLTUxMywzNCArNTI4LDUwIEBADQotICAgICA8 L2V2ZW50Pg0KLSAgIDwvaW50ZXJmYWNlPg0KLSANCi0tICA8aW50ZXJmYWNlIG5hbWU9Inp4ZGdf dG9wbGV2ZWxfdjYiIHZlcnNpb249IjEiPg0KLSsgIDxpbnRlcmZhY2UgbmFtZT0ieGRnX3RvcGxl dmVsIiB2ZXJzaW9uPSIyIj4NCi0gICAgIDxkZXNjcmlwdGlvbiBzdW1tYXJ5PSJ0b3BsZXZlbCBz dXJmYWNlIj4NCi0gICAgICAgVGhpcyBpbnRlcmZhY2UgZGVmaW5lcyBhbiB4ZGdfc3VyZmFjZSBy b2xlIHdoaWNoIGFsbG93cyBhIHN1cmZhY2UgdG8sDQotICAgICAgIGFtb25nIG90aGVyIHRoaW5n cywgc2V0IHdpbmRvdy1saWtlIHByb3BlcnRpZXMgc3VjaCBhcyBtYXhpbWl6ZSwNCi0gICAgICAg ZnVsbHNjcmVlbiwgYW5kIG1pbmltaXplLCBzZXQgYXBwbGljYXRpb24tc3BlY2lmaWMgbWV0YWRh dGEgbGlrZSB0aXRsZSBhbmQNCi0gICAgICAgaWQsIGFuZCB3ZWxsIGFzIHRyaWdnZXIgdXNlciBp bnRlcmFjdGl2ZSBvcGVyYXRpb25zIHN1Y2ggYXMgaW50ZXJhY3RpdmUNCi0gICAgICAgcmVzaXpl IGFuZCBtb3ZlLg0KLSsNCi0rICAgICAgVW5tYXBwaW5nIGFuIHhkZ190b3BsZXZlbCBtZWFucyB0 aGF0IHRoZSBzdXJmYWNlIGNhbm5vdCBiZSBzaG93bg0KLSsgICAgICBieSB0aGUgY29tcG9zaXRv ciB1bnRpbCBpdCBpcyBleHBsaWNpdGx5IG1hcHBlZCBhZ2Fpbi4NCi0rICAgICAgQWxsIGFjdGl2 ZSBvcGVyYXRpb25zIChlLmcuLCBtb3ZlLCByZXNpemUpIGFyZSBjYW5jZWxlZCBhbmQgYWxsDQot KyAgICAgIGF0dHJpYnV0ZXMgKGUuZy4gdGl0bGUsIHN0YXRlLCBzdGFja2luZywgLi4uKSBhcmUg ZGlzY2FyZGVkIGZvcg0KLSsgICAgICBhbiB4ZGdfdG9wbGV2ZWwgc3VyZmFjZSB3aGVuIGl0IGlz IHVubWFwcGVkLg0KLSsNCi0rICAgICAgQXR0YWNoaW5nIGEgbnVsbCBidWZmZXIgdG8gYSB0b3Bs ZXZlbCB1bm1hcHMgdGhlIHN1cmZhY2UuDQotICAgICA8L2Rlc2NyaXB0aW9uPg0KLSANCi0gICAg IDxyZXF1ZXN0IG5hbWU9ImRlc3Ryb3kiIHR5cGU9ImRlc3RydWN0b3IiPg0KLSAgICAgICA8ZGVz Y3JpcHRpb24gc3VtbWFyeT0iZGVzdHJveSB0aGUgeGRnX3RvcGxldmVsIj4NCi0tCVVubWFwIGFu ZCBkZXN0cm95IHRoZSB3aW5kb3cuIFRoZSB3aW5kb3cgd2lsbCBiZSBlZmZlY3RpdmVseQ0KLS0J aGlkZGVuIGZyb20gdGhlIHVzZXIncyBwb2ludCBvZiB2aWV3LCBhbmQgYWxsIHN0YXRlIGxpa2UN Ci0tCW1heGltaXphdGlvbiwgZnVsbHNjcmVlbiwgYW5kIHNvIG9uLCB3aWxsIGJlIGxvc3QuDQot KwlUaGlzIHJlcXVlc3QgZGVzdHJveXMgdGhlIHJvbGUgc3VyZmFjZSBhbmQgdW5tYXBzIHRoZSBz dXJmYWNlOw0KLSsJc2VlICJVbm1hcHBpbmciIGJlaGF2aW9yIGluIGludGVyZmFjZSBzZWN0aW9u IGZvciBkZXRhaWxzLg0KLSAgICAgICA8L2Rlc2NyaXB0aW9uPg0KLSAgICAgPC9yZXF1ZXN0Pg0K LSANCi0gICAgIDxyZXF1ZXN0IG5hbWU9InNldF9wYXJlbnQiPg0KLSAgICAgICA8ZGVzY3JpcHRp b24gc3VtbWFyeT0ic2V0IHRoZSBwYXJlbnQgb2YgdGhpcyBzdXJmYWNlIj4NCi0tCVNldCB0aGUg InBhcmVudCIgb2YgdGhpcyBzdXJmYWNlLiBUaGlzIHdpbmRvdyBzaG91bGQgYmUgc3RhY2tlZA0K LS0JYWJvdmUgYSBwYXJlbnQuIFRoZSBwYXJlbnQgc3VyZmFjZSBtdXN0IGJlIG1hcHBlZCBhcyBs b25nIGFzIHRoaXMNCi0tCXN1cmZhY2UgaXMgbWFwcGVkLg0KLSsJU2V0IHRoZSAicGFyZW50IiBv ZiB0aGlzIHN1cmZhY2UuIFRoaXMgc3VyZmFjZSBzaG91bGQgYmUgc3RhY2tlZA0KLSsJYWJvdmUg dGhlIHBhcmVudCBzdXJmYWNlIGFuZCBhbGwgb3RoZXIgYW5jZXN0b3Igc3VyZmFjZXMuDQotIA0K LSAJUGFyZW50IHdpbmRvd3Mgc2hvdWxkIGJlIHNldCBvbiBkaWFsb2dzLCB0b29sYm94ZXMsIG9y IG90aGVyDQotIAkiYXV4aWxpYXJ5IiBzdXJmYWNlcywgc28gdGhhdCB0aGUgcGFyZW50IGlzIHJh aXNlZCB3aGVuIHRoZSBkaWFsb2cNCi0gCWlzIHJhaXNlZC4NCi0rDQotKwlTZXR0aW5nIGEgbnVs bCBwYXJlbnQgZm9yIGEgY2hpbGQgd2luZG93IHJlbW92ZXMgYW55IHBhcmVudC1jaGlsZA0KLSsJ cmVsYXRpb25zaGlwIGZvciB0aGUgY2hpbGQuIFNldHRpbmcgYSBudWxsIHBhcmVudCBmb3IgYSB3 aW5kb3cgd2hpY2gNCi0rCWN1cnJlbnRseSBoYXMgbm8gcGFyZW50IGlzIGEgbm8tb3AuDQotKw0K LSsJSWYgdGhlIHBhcmVudCBpcyB1bm1hcHBlZCB0aGVuIGl0cyBjaGlsZHJlbiBhcmUgbWFuYWdl ZCBhcw0KLSsJdGhvdWdoIHRoZSBwYXJlbnQgb2YgdGhlIG5vdy11bm1hcHBlZCBwYXJlbnQgaGFz IGJlY29tZSB0aGUNCi0rCXBhcmVudCBvZiB0aGlzIHN1cmZhY2UuIElmIG5vIHBhcmVudCBleGlz dHMgZm9yIHRoZSBub3ctdW5tYXBwZWQNCi0rCXBhcmVudCB0aGVuIHRoZSBjaGlsZHJlbiBhcmUg bWFuYWdlZCBhcyB0aG91Z2ggdGhleSBoYXZlIG5vDQotKwlwYXJlbnQgc3VyZmFjZS4NCi0gICAg ICAgPC9kZXNjcmlwdGlvbj4NCi0tICAgICAgPGFyZyBuYW1lPSJwYXJlbnQiIHR5cGU9Im9iamVj dCIgaW50ZXJmYWNlPSJ6eGRnX3RvcGxldmVsX3Y2IiBhbGxvdy1udWxsPSJ0cnVlIi8+DQotKyAg ICAgIDxhcmcgbmFtZT0icGFyZW50IiB0eXBlPSJvYmplY3QiIGludGVyZmFjZT0ieGRnX3RvcGxl dmVsIiBhbGxvdy1udWxsPSJ0cnVlIi8+DQotICAgICA8L3JlcXVlc3Q+DQotIA0KLSAgICAgPHJl cXVlc3QgbmFtZT0ic2V0X3RpdGxlIj4NCi1AQCAtNTczLDYgKzYwNCw5IEBADQotIAlGb3IgZXhh bXBsZSwgIm9yZy5mcmVlZGVza3RvcC5Gb29WaWV3ZXIiIHdoZXJlIHRoZSAuZGVza3RvcCBmaWxl IGlzDQotIAkib3JnLmZyZWVkZXNrdG9wLkZvb1ZpZXdlci5kZXNrdG9wIi4NCi0gDQotKwlMaWtl IG90aGVyIHByb3BlcnRpZXMsIGEgc2V0X2FwcF9pZCByZXF1ZXN0IGNhbiBiZSBzZW50IGFmdGVy IHRoZQ0KLSsJeGRnX3RvcGxldmVsIGhhcyBiZWVuIG1hcHBlZCB0byB1cGRhdGUgdGhlIHByb3Bl cnR5Lg0KLSsNCi0gCVNlZSB0aGUgZGVza3RvcC1lbnRyeSBzcGVjaWZpY2F0aW9uIFswXSBmb3Ig bW9yZSBkZXRhaWxzIG9uDQotIAlhcHBsaWNhdGlvbiBpZGVudGlmaWVycyBhbmQgaG93IHRoZXkg cmVsYXRlIHRvIHdlbGwta25vd24gRC1CdXMNCi0gCW5hbWVzIGFuZCAuZGVza3RvcCBmaWxlcy4N Ci1AQCAtNjkzLDEyICs3MjcsMTggQEANCi0gCTxkZXNjcmlwdGlvbiBzdW1tYXJ5PSJ0aGUgc3Vy ZmFjZSBpcyBtYXhpbWl6ZWQiPg0KLSAJICBUaGUgc3VyZmFjZSBpcyBtYXhpbWl6ZWQuIFRoZSB3 aW5kb3cgZ2VvbWV0cnkgc3BlY2lmaWVkIGluIHRoZSBjb25maWd1cmUNCi0gCSAgZXZlbnQgbXVz dCBiZSBvYmV5ZWQgYnkgdGhlIGNsaWVudC4NCi0rDQotKwkgIFRoZSBjbGllbnQgc2hvdWxkIGRy YXcgd2l0aG91dCBzaGFkb3cgb3Igb3RoZXINCi0rCSAgZGVjb3JhdGlvbiBvdXRzaWRlIG9mIHRo ZSB3aW5kb3cgZ2VvbWV0cnkuDQotIAk8L2Rlc2NyaXB0aW9uPg0KLSAgICAgICA8L2VudHJ5Pg0K LSAgICAgICA8ZW50cnkgbmFtZT0iZnVsbHNjcmVlbiIgdmFsdWU9IjIiIHN1bW1hcnk9InRoZSBz dXJmYWNlIGlzIGZ1bGxzY3JlZW4iPg0KLSAJPGRlc2NyaXB0aW9uIHN1bW1hcnk9InRoZSBzdXJm YWNlIGlzIGZ1bGxzY3JlZW4iPg0KLS0JICBUaGUgc3VyZmFjZSBpcyBmdWxsc2NyZWVuLiBUaGUg d2luZG93IGdlb21ldHJ5IHNwZWNpZmllZCBpbiB0aGUgY29uZmlndXJlDQotLQkgIGV2ZW50IG11 c3QgYmUgb2JleWVkIGJ5IHRoZSBjbGllbnQuDQotKwkgIFRoZSBzdXJmYWNlIGlzIGZ1bGxzY3Jl ZW4uIFRoZSB3aW5kb3cgZ2VvbWV0cnkgc3BlY2lmaWVkIGluIHRoZQ0KLSsJICBjb25maWd1cmUg ZXZlbnQgaXMgYSBtYXhpbXVtOyB0aGUgY2xpZW50IGNhbm5vdCByZXNpemUgYmV5b25kIGl0LiBG b3INCi0rCSAgYSBzdXJmYWNlIHRvIGNvdmVyIHRoZSB3aG9sZSBmdWxsc2NyZWVuZWQgYXJlYSwg dGhlIGdlb21ldHJ5DQotKwkgIGRpbWVuc2lvbnMgbXVzdCBiZSBvYmV5ZWQgYnkgdGhlIGNsaWVu dC4gRm9yIG1vcmUgZGV0YWlscywgc2VlDQotKwkgIHhkZ190b3BsZXZlbC5zZXRfZnVsbHNjcmVl bi4NCi0gCTwvZGVzY3JpcHRpb24+DQotICAgICAgIDwvZW50cnk+DQotICAgICAgIDxlbnRyeSBu YW1lPSJyZXNpemluZyIgdmFsdWU9IjMiIHN1bW1hcnk9InRoZSBzdXJmYWNlIGlzIGJlaW5nIHJl c2l6ZWQiPg0KLUBAIC03MTYsNiArNzU2LDMwIEBADQotIAkgIGtleWJvYXJkIG9yIHBvaW50ZXIg Zm9jdXMuDQotIAk8L2Rlc2NyaXB0aW9uPg0KLSAgICAgICA8L2VudHJ5Pg0KLSsgICAgICA8ZW50 cnkgbmFtZT0idGlsZWRfbGVmdCIgdmFsdWU9IjUiIHNpbmNlPSIyIj4NCi0rCTxkZXNjcmlwdGlv biBzdW1tYXJ5PSJ0aGUgc3VyZmFjZSBpcyB0aWxlZCI+DQotKwkgIFRoZSB3aW5kb3cgaXMgY3Vy cmVudGx5IGluIGEgdGlsZWQgbGF5b3V0IGFuZCB0aGUgbGVmdCBlZGdlIGlzDQotKwkgIGNvbnNp ZGVyZWQgdG8gYmUgYWRqYWNlbnQgdG8gYW5vdGhlciBwYXJ0IG9mIHRoZSB0aWxpbmcgZ3JpZC4N Ci0rCTwvZGVzY3JpcHRpb24+DQotKyAgICAgIDwvZW50cnk+DQotKyAgICAgIDxlbnRyeSBuYW1l PSJ0aWxlZF9yaWdodCIgdmFsdWU9IjYiIHNpbmNlPSIyIj4NCi0rCTxkZXNjcmlwdGlvbiBzdW1t YXJ5PSJ0aGUgc3VyZmFjZSBpcyB0aWxlZCI+DQotKwkgIFRoZSB3aW5kb3cgaXMgY3VycmVudGx5 IGluIGEgdGlsZWQgbGF5b3V0IGFuZCB0aGUgcmlnaHQgZWRnZSBpcw0KLSsJICBjb25zaWRlcmVk IHRvIGJlIGFkamFjZW50IHRvIGFub3RoZXIgcGFydCBvZiB0aGUgdGlsaW5nIGdyaWQuDQotKwk8 L2Rlc2NyaXB0aW9uPg0KLSsgICAgICA8L2VudHJ5Pg0KLSsgICAgICA8ZW50cnkgbmFtZT0idGls ZWRfdG9wIiB2YWx1ZT0iNyIgc2luY2U9IjIiPg0KLSsJPGRlc2NyaXB0aW9uIHN1bW1hcnk9InRo ZSBzdXJmYWNlIGlzIHRpbGVkIj4NCi0rCSAgVGhlIHdpbmRvdyBpcyBjdXJyZW50bHkgaW4gYSB0 aWxlZCBsYXlvdXQgYW5kIHRoZSB0b3AgZWRnZSBpcw0KLSsJICBjb25zaWRlcmVkIHRvIGJlIGFk amFjZW50IHRvIGFub3RoZXIgcGFydCBvZiB0aGUgdGlsaW5nIGdyaWQuDQotKwk8L2Rlc2NyaXB0 aW9uPg0KLSsgICAgICA8L2VudHJ5Pg0KLSsgICAgICA8ZW50cnkgbmFtZT0idGlsZWRfYm90dG9t IiB2YWx1ZT0iOCIgc2luY2U9IjIiPg0KLSsJPGRlc2NyaXB0aW9uIHN1bW1hcnk9InRoZSBzdXJm YWNlIGlzIHRpbGVkIj4NCi0rCSAgVGhlIHdpbmRvdyBpcyBjdXJyZW50bHkgaW4gYSB0aWxlZCBs YXlvdXQgYW5kIHRoZSBib3R0b20gZWRnZSBpcw0KLSsJICBjb25zaWRlcmVkIHRvIGJlIGFkamFj ZW50IHRvIGFub3RoZXIgcGFydCBvZiB0aGUgdGlsaW5nIGdyaWQuDQotKwk8L2Rlc2NyaXB0aW9u Pg0KLSsgICAgICA8L2VudHJ5Pg0KLSAgICAgPC9lbnVtPg0KLSANCi0gICAgIDxyZXF1ZXN0IG5h bWU9InNldF9tYXhfc2l6ZSI+DQotQEAgLTgwNSwxMiArODY5LDExIEBADQotIAlNYXhpbWl6ZSB0 aGUgc3VyZmFjZS4NCi0gDQotIAlBZnRlciByZXF1ZXN0aW5nIHRoYXQgdGhlIHN1cmZhY2Ugc2hv dWxkIGJlIG1heGltaXplZCwgdGhlIGNvbXBvc2l0b3INCi0tCXdpbGwgcmVzcG9uZCBieSBlbWl0 dGluZyBhIGNvbmZpZ3VyZSBldmVudCB3aXRoIHRoZSAibWF4aW1pemVkIiBzdGF0ZQ0KLS0JYW5k IHRoZSByZXF1aXJlZCB3aW5kb3cgZ2VvbWV0cnkuIFRoZSBjbGllbnQgc2hvdWxkIHRoZW4gdXBk YXRlIGl0cw0KLS0JY29udGVudCwgZHJhd2luZyBpdCBpbiBhIG1heGltaXplZCBzdGF0ZSwgaS5l LiB3aXRob3V0IHNoYWRvdyBvciBvdGhlcg0KLS0JZGVjb3JhdGlvbiBvdXRzaWRlIG9mIHRoZSB3 aW5kb3cgZ2VvbWV0cnkuIFRoZSBjbGllbnQgbXVzdCBhbHNvDQotLQlhY2tub3dsZWRnZSB0aGUg Y29uZmlndXJlIHdoZW4gY29tbWl0dGluZyB0aGUgbmV3IGNvbnRlbnQgKHNlZQ0KLS0JYWNrX2Nv bmZpZ3VyZSkuDQotKwl3aWxsIHJlc3BvbmQgYnkgZW1pdHRpbmcgYSBjb25maWd1cmUgZXZlbnQu IFdoZXRoZXIgdGhpcyBjb25maWd1cmUNCi0rCWFjdHVhbGx5IHNldHMgdGhlIHdpbmRvdyBtYXhp bWl6ZWQgaXMgc3ViamVjdCB0byBjb21wb3NpdG9yIHBvbGljaWVzLg0KLSsJVGhlIGNsaWVudCBt dXN0IHRoZW4gdXBkYXRlIGl0cyBjb250ZW50LCBkcmF3aW5nIGluIHRoZSBjb25maWd1cmVkDQot KwlzdGF0ZS4gVGhlIGNsaWVudCBtdXN0IGFsc28gYWNrbm93bGVkZ2UgdGhlIGNvbmZpZ3VyZSB3 aGVuIGNvbW1pdHRpbmcNCi0rCXRoZSBuZXcgY29udGVudCAoc2VlIGFja19jb25maWd1cmUpLg0K LSANCi0gCUl0IGlzIHVwIHRvIHRoZSBjb21wb3NpdG9yIHRvIGRlY2lkZSBob3cgYW5kIHdoZXJl IHRvIG1heGltaXplIHRoZQ0KLSAJc3VyZmFjZSwgZm9yIGV4YW1wbGUgd2hpY2ggb3V0cHV0IGFu ZCB3aGF0IHJlZ2lvbiBvZiB0aGUgc2NyZWVuIHNob3VsZA0KLUBAIC04MTgsNiArODgxLDEwIEBA DQotIA0KLSAJSWYgdGhlIHN1cmZhY2Ugd2FzIGFscmVhZHkgbWF4aW1pemVkLCB0aGUgY29tcG9z aXRvciB3aWxsIHN0aWxsIGVtaXQNCi0gCWEgY29uZmlndXJlIGV2ZW50IHdpdGggdGhlICJtYXhp bWl6ZWQiIHN0YXRlLg0KLSsNCi0rCUlmIHRoZSBzdXJmYWNlIGlzIGluIGEgZnVsbHNjcmVlbiBz dGF0ZSwgdGhpcyByZXF1ZXN0IGhhcyBubyBkaXJlY3QNCi0rCWVmZmVjdC4gSXQgbWF5IGFsdGVy IHRoZSBzdGF0ZSB0aGUgc3VyZmFjZSBpcyByZXR1cm5lZCB0byB3aGVuDQotKwl1bm1heGltaXpl ZCB1bmxlc3Mgb3ZlcnJpZGRlbiBieSB0aGUgY29tcG9zaXRvci4NCi0gICAgICAgPC9kZXNjcmlw dGlvbj4NCi0gICAgIDwvcmVxdWVzdD4NCi0gDQotQEAgLTgyNiwxMyArODkzLDEzIEBADQotIAlV bm1heGltaXplIHRoZSBzdXJmYWNlLg0KLSANCi0gCUFmdGVyIHJlcXVlc3RpbmcgdGhhdCB0aGUg c3VyZmFjZSBzaG91bGQgYmUgdW5tYXhpbWl6ZWQsIHRoZSBjb21wb3NpdG9yDQotLQl3aWxsIHJl c3BvbmQgYnkgZW1pdHRpbmcgYSBjb25maWd1cmUgZXZlbnQgd2l0aG91dCB0aGUgIm1heGltaXpl ZCINCi0tCXN0YXRlLiBJZiBhdmFpbGFibGUsIHRoZSBjb21wb3NpdG9yIHdpbGwgaW5jbHVkZSB0 aGUgd2luZG93IGdlb21ldHJ5DQotLQlkaW1lbnNpb25zIHRoZSB3aW5kb3cgaGFkIHByaW9yIHRv IGJlaW5nIG1heGltaXplZCBpbiB0aGUgY29uZmlndXJlDQotLQlyZXF1ZXN0LiBUaGUgY2xpZW50 IG11c3QgdGhlbiB1cGRhdGUgaXRzIGNvbnRlbnQsIGRyYXdpbmcgaXQgaW4gYQ0KLS0JcmVndWxh ciBzdGF0ZSwgaS5lLiBwb3RlbnRpYWxseSB3aXRoIHNoYWRvdywgZXRjLiBUaGUgY2xpZW50IG11 c3QgYWxzbw0KLS0JYWNrbm93bGVkZ2UgdGhlIGNvbmZpZ3VyZSB3aGVuIGNvbW1pdHRpbmcgdGhl IG5ldyBjb250ZW50IChzZWUNCi0tCWFja19jb25maWd1cmUpLg0KLSsJd2lsbCByZXNwb25kIGJ5 IGVtaXR0aW5nIGEgY29uZmlndXJlIGV2ZW50LiBXaGV0aGVyIHRoaXMgYWN0dWFsbHkNCi0rCXVu LW1heGltaXplcyB0aGUgd2luZG93IGlzIHN1YmplY3QgdG8gY29tcG9zaXRvciBwb2xpY2llcy4N Ci0rCUlmIGF2YWlsYWJsZSBhbmQgYXBwbGljYWJsZSwgdGhlIGNvbXBvc2l0b3Igd2lsbCBpbmNs dWRlIHRoZSB3aW5kb3cNCi0rCWdlb21ldHJ5IGRpbWVuc2lvbnMgdGhlIHdpbmRvdyBoYWQgcHJp b3IgdG8gYmVpbmcgbWF4aW1pemVkIGluIHRoZQ0KLSsJY29uZmlndXJlIGV2ZW50LiBUaGUgY2xp ZW50IG11c3QgdGhlbiB1cGRhdGUgaXRzIGNvbnRlbnQsIGRyYXdpbmcgaXQgaW4NCi0rCXRoZSBj b25maWd1cmVkIHN0YXRlLiBUaGUgY2xpZW50IG11c3QgYWxzbyBhY2tub3dsZWRnZSB0aGUgY29u ZmlndXJlDQotKwl3aGVuIGNvbW1pdHRpbmcgdGhlIG5ldyBjb250ZW50IChzZWUgYWNrX2NvbmZp Z3VyZSkuDQotIA0KLSAJSXQgaXMgdXAgdG8gdGhlIGNvbXBvc2l0b3IgdG8gcG9zaXRpb24gdGhl IHN1cmZhY2UgYWZ0ZXIgaXQgd2FzDQotIAl1bm1heGltaXplZDsgdXN1YWxseSB0aGUgcG9zaXRp b24gdGhlIHN1cmZhY2UgaGFkIGJlZm9yZSBtYXhpbWl6aW5nLCBpZg0KLUBAIC04NDAsMjQgKzkw Nyw2MyBAQA0KLSANCi0gCUlmIHRoZSBzdXJmYWNlIHdhcyBhbHJlYWR5IG5vdCBtYXhpbWl6ZWQs IHRoZSBjb21wb3NpdG9yIHdpbGwgc3RpbGwNCi0gCWVtaXQgYSBjb25maWd1cmUgZXZlbnQgd2l0 aG91dCB0aGUgIm1heGltaXplZCIgc3RhdGUuDQotKw0KLSsJSWYgdGhlIHN1cmZhY2UgaXMgaW4g YSBmdWxsc2NyZWVuIHN0YXRlLCB0aGlzIHJlcXVlc3QgaGFzIG5vIGRpcmVjdA0KLSsJZWZmZWN0 LiBJdCBtYXkgYWx0ZXIgdGhlIHN0YXRlIHRoZSBzdXJmYWNlIGlzIHJldHVybmVkIHRvIHdoZW4N Ci0rCXVubWF4aW1pemVkIHVubGVzcyBvdmVycmlkZGVuIGJ5IHRoZSBjb21wb3NpdG9yLg0KLSAg ICAgICA8L2Rlc2NyaXB0aW9uPg0KLSAgICAgPC9yZXF1ZXN0Pg0KLSANCi0gICAgIDxyZXF1ZXN0 IG5hbWU9InNldF9mdWxsc2NyZWVuIj4NCi0tICAgICAgPGRlc2NyaXB0aW9uIHN1bW1hcnk9InNl dCB0aGUgd2luZG93IGFzIGZ1bGxzY3JlZW4gb24gYSBtb25pdG9yIj4NCi0rICAgICAgPGRlc2Ny aXB0aW9uIHN1bW1hcnk9InNldCB0aGUgd2luZG93IGFzIGZ1bGxzY3JlZW4gb24gYW4gb3V0cHV0 Ij4NCi0gCU1ha2UgdGhlIHN1cmZhY2UgZnVsbHNjcmVlbi4NCi0gDQotLQlZb3UgY2FuIHNwZWNp ZnkgYW4gb3V0cHV0IHRoYXQgeW91IHdvdWxkIHByZWZlciB0byBiZSBmdWxsc2NyZWVuLg0KLS0J SWYgdGhpcyB2YWx1ZSBpcyBOVUxMLCBpdCdzIHVwIHRvIHRoZSBjb21wb3NpdG9yIHRvIGNob29z ZSB3aGljaA0KLS0JZGlzcGxheSB3aWxsIGJlIHVzZWQgdG8gbWFwIHRoaXMgc3VyZmFjZS4NCi0r CUFmdGVyIHJlcXVlc3RpbmcgdGhhdCB0aGUgc3VyZmFjZSBzaG91bGQgYmUgZnVsbHNjcmVlbmVk LCB0aGUNCi0rCWNvbXBvc2l0b3Igd2lsbCByZXNwb25kIGJ5IGVtaXR0aW5nIGEgY29uZmlndXJl IGV2ZW50LiBXaGV0aGVyIHRoZQ0KLSsJY2xpZW50IGlzIGFjdHVhbGx5IHB1dCBpbnRvIGEgZnVs bHNjcmVlbiBzdGF0ZSBpcyBzdWJqZWN0IHRvIGNvbXBvc2l0b3INCi0rCXBvbGljaWVzLiBUaGUg Y2xpZW50IG11c3QgYWxzbyBhY2tub3dsZWRnZSB0aGUgY29uZmlndXJlIHdoZW4NCi0rCWNvbW1p dHRpbmcgdGhlIG5ldyBjb250ZW50IChzZWUgYWNrX2NvbmZpZ3VyZSkuDQotKw0KLSsJVGhlIG91 dHB1dCBwYXNzZWQgYnkgdGhlIHJlcXVlc3QgaW5kaWNhdGVzIHRoZSBjbGllbnQncyBwcmVmZXJl bmNlIGFzDQotKwl0byB3aGljaCBkaXNwbGF5IGl0IHNob3VsZCBiZSBzZXQgZnVsbHNjcmVlbiBv bi4gSWYgdGhpcyB2YWx1ZSBpcyBOVUxMLA0KLSsJaXQncyB1cCB0byB0aGUgY29tcG9zaXRvciB0 byBjaG9vc2Ugd2hpY2ggZGlzcGxheSB3aWxsIGJlIHVzZWQgdG8gbWFwDQotKwl0aGlzIHN1cmZh Y2UuDQotIA0KLSAJSWYgdGhlIHN1cmZhY2UgZG9lc24ndCBjb3ZlciB0aGUgd2hvbGUgb3V0cHV0 LCB0aGUgY29tcG9zaXRvciB3aWxsDQotIAlwb3NpdGlvbiB0aGUgc3VyZmFjZSBpbiB0aGUgY2Vu dGVyIG9mIHRoZSBvdXRwdXQgYW5kIGNvbXBlbnNhdGUgd2l0aA0KLS0JYmxhY2sgYm9yZGVycyBm aWxsaW5nIHRoZSByZXN0IG9mIHRoZSBvdXRwdXQuDQotKwl3aXRoIGJvcmRlciBmaWxsIGNvdmVy aW5nIHRoZSByZXN0IG9mIHRoZSBvdXRwdXQuIFRoZSBjb250ZW50IG9mIHRoZQ0KLSsJYm9yZGVy IGZpbGwgaXMgdW5kZWZpbmVkLCBidXQgc2hvdWxkIGJlIGFzc3VtZWQgdG8gYmUgaW4gc29tZSB3 YXkgdGhhdA0KLSsJYXR0ZW1wdHMgdG8gYmxlbmQgaW50byB0aGUgc3Vycm91bmRpbmcgYXJlYSAo ZS5nLiBzb2xpZCBibGFjaykuDQotKw0KLSsJSWYgdGhlIGZ1bGxzY3JlZW5lZCBzdXJmYWNlIGlz IG5vdCBvcGFxdWUsIHRoZSBjb21wb3NpdG9yIG11c3QgbWFrZQ0KLSsJc3VyZSB0aGF0IG90aGVy IHNjcmVlbiBjb250ZW50IG5vdCBwYXJ0IG9mIHRoZSBzYW1lIHN1cmZhY2UgdHJlZSAobWFkZQ0K LSsJdXAgb2Ygc3Vic3VyZmFjZXMsIHBvcHVwcyBvciBzaW1pbGFybHkgY291cGxlZCBzdXJmYWNl cykgYXJlIG5vdA0KLSsJdmlzaWJsZSBiZWxvdyB0aGUgZnVsbHNjcmVlbmVkIHN1cmZhY2UuDQot ICAgICAgIDwvZGVzY3JpcHRpb24+DQotICAgICAgIDxhcmcgbmFtZT0ib3V0cHV0IiB0eXBlPSJv YmplY3QiIGludGVyZmFjZT0id2xfb3V0cHV0IiBhbGxvdy1udWxsPSJ0cnVlIi8+DQotICAgICA8 L3JlcXVlc3Q+DQotLSAgICA8cmVxdWVzdCBuYW1lPSJ1bnNldF9mdWxsc2NyZWVuIiAvPg0KLSsN Ci0rICAgIDxyZXF1ZXN0IG5hbWU9InVuc2V0X2Z1bGxzY3JlZW4iPg0KLSsgICAgICA8ZGVzY3Jp cHRpb24gc3VtbWFyeT0idW5zZXQgdGhlIHdpbmRvdyBhcyBmdWxsc2NyZWVuIj4NCi0rCU1ha2Ug dGhlIHN1cmZhY2Ugbm8gbG9uZ2VyIGZ1bGxzY3JlZW4uDQotKw0KLSsJQWZ0ZXIgcmVxdWVzdGlu ZyB0aGF0IHRoZSBzdXJmYWNlIHNob3VsZCBiZSB1bmZ1bGxzY3JlZW5lZCwgdGhlDQotKwljb21w b3NpdG9yIHdpbGwgcmVzcG9uZCBieSBlbWl0dGluZyBhIGNvbmZpZ3VyZSBldmVudC4NCi0rCVdo ZXRoZXIgdGhpcyBhY3R1YWxseSByZW1vdmVzIHRoZSBmdWxsc2NyZWVuIHN0YXRlIG9mIHRoZSBj bGllbnQgaXMNCi0rCXN1YmplY3QgdG8gY29tcG9zaXRvciBwb2xpY2llcy4NCi0rDQotKwlNYWtp bmcgYSBzdXJmYWNlIHVuZnVsbHNjcmVlbiBzZXRzIHN0YXRlcyBmb3IgdGhlIHN1cmZhY2UgYmFz ZWQgb24gdGhlIGZvbGxvd2luZzoNCi0rCSogdGhlIHN0YXRlKHMpIGl0IG1heSBoYXZlIGhhZCBi ZWZvcmUgYmVjb21pbmcgZnVsbHNjcmVlbg0KLSsJKiBhbnkgc3RhdGUocykgZGVjaWRlZCBieSB0 aGUgY29tcG9zaXRvcg0KLSsJKiBhbnkgc3RhdGUocykgcmVxdWVzdGVkIGJ5IHRoZSBjbGllbnQg d2hpbGUgdGhlIHN1cmZhY2Ugd2FzIGZ1bGxzY3JlZW4NCi0rDQotKwlUaGUgY29tcG9zaXRvciBt YXkgaW5jbHVkZSB0aGUgcHJldmlvdXMgd2luZG93IGdlb21ldHJ5IGRpbWVuc2lvbnMgaW4NCi0r CXRoZSBjb25maWd1cmUgZXZlbnQsIGlmIGFwcGxpY2FibGUuDQotKw0KLSsJVGhlIGNsaWVudCBt dXN0IGFsc28gYWNrbm93bGVkZ2UgdGhlIGNvbmZpZ3VyZSB3aGVuIGNvbW1pdHRpbmcgdGhlIG5l dw0KLSsJY29udGVudCAoc2VlIGFja19jb25maWd1cmUpLg0KLSsgICAgICA8L2Rlc2NyaXB0aW9u Pg0KLSsgICAgPC9yZXF1ZXN0Pg0KLSANCi0gICAgIDxyZXF1ZXN0IG5hbWU9InNldF9taW5pbWl6 ZWQiPg0KLSAgICAgICA8ZGVzY3JpcHRpb24gc3VtbWFyeT0ic2V0IHRoZSB3aW5kb3cgYXMgbWlu aW1pemVkIj4NCi1AQCAtOTEzLDcgKzEwMTksNyBAQA0KLSAgICAgPC9ldmVudD4NCi0gICA8L2lu dGVyZmFjZT4NCi0gDQotLSAgPGludGVyZmFjZSBuYW1lPSJ6eGRnX3BvcHVwX3Y2IiB2ZXJzaW9u PSIxIj4NCi0rICA8aW50ZXJmYWNlIG5hbWU9InhkZ19wb3B1cCIgdmVyc2lvbj0iMiI+DQotICAg ICA8ZGVzY3JpcHRpb24gc3VtbWFyeT0ic2hvcnQtbGl2ZWQsIHBvcHVwIHN1cmZhY2VzIGZvciBt ZW51cyI+DQotICAgICAgIEEgcG9wdXAgc3VyZmFjZSBpcyBhIHNob3J0LWxpdmVkLCB0ZW1wb3Jh cnkgc3VyZmFjZS4gSXQgY2FuIGJlIHVzZWQgdG8NCi0gICAgICAgaW1wbGVtZW50IGZvciBleGFt cGxlIG1lbnVzLCBwb3BvdmVycywgdG9vbHRpcHMgYW5kIG90aGVyIHNpbWlsYXIgdXNlcg0KLUBA IC05MzEsOSArMTAzNyw2IEBADQotICAgICAgIHN1cmZhY2Ugb2YgdGhlaXIgb3duIGlzIGNsaWNr ZWQgc2hvdWxkIGRpc21pc3MgdGhlIHBvcHVwIHVzaW5nIHRoZSBkZXN0cm95DQotICAgICAgIHJl cXVlc3QuDQotIA0KLS0gICAgICBUaGUgcGFyZW50IHN1cmZhY2UgbXVzdCBoYXZlIGVpdGhlciB0 aGUgeGRnX3RvcGxldmVsIG9yIHhkZ19wb3B1cCBzdXJmYWNlDQotLSAgICAgIHJvbGUuDQotLQ0K LSAgICAgICBBIG5ld2x5IGNyZWF0ZWQgeGRnX3BvcHVwIHdpbGwgYmUgc3RhY2tlZCBvbiB0b3Ag b2YgYWxsIHByZXZpb3VzbHkgY3JlYXRlZA0KLSAgICAgICB4ZGdfcG9wdXAgc3VyZmFjZXMgYXNz b2NpYXRlZCB3aXRoIHRoZSBzYW1lIHhkZ190b3BsZXZlbC4NCi0gDQotZGlmZiAtLWdpdCBhL3Zt X3Rvb2xzL3NvbW1lbGllci9zb21tZWxpZXIteGRnLXNoZWxsLmMgYi92bV90b29scy9zb21tZWxp ZXIvc29tbWVsaWVyLXhkZy1zaGVsbC5jDQotaW5kZXggZWNkMGZjNjQ3Li5hM2JhMGQ2ZTEgMTAw NjQ0DQotLS0tIGEvdm1fdG9vbHMvc29tbWVsaWVyL3NvbW1lbGllci14ZGctc2hlbGwuYw0KLSsr KyBiL3ZtX3Rvb2xzL3NvbW1lbGllci9zb21tZWxpZXIteGRnLXNoZWxsLmMNCi1AQCAtNywzNyAr NywzNyBAQA0KLSAjaW5jbHVkZSA8YXNzZXJ0Lmg+DQotICNpbmNsdWRlIDxzdGRsaWIuaD4NCi0g DQotLSNpbmNsdWRlICJ4ZGctc2hlbGwtdW5zdGFibGUtdjYtY2xpZW50LXByb3RvY29sLmgiDQot LSNpbmNsdWRlICJ4ZGctc2hlbGwtdW5zdGFibGUtdjYtc2VydmVyLXByb3RvY29sLmgiDQotKyNp bmNsdWRlICJ4ZGctc2hlbGwtY2xpZW50LXByb3RvY29sLmgiDQotKyNpbmNsdWRlICJ4ZGctc2hl bGwtc2VydmVyLXByb3RvY29sLmgiDQotIA0KLS1zdHJ1Y3Qgc2xfaG9zdF94ZGdfc2hlbGwgew0K LStzdHJ1Y3Qgc2xfaG9zdF94ZGdfd21fYmFzZSB7DQotICAgc3RydWN0IHNsX2NvbnRleHQqIGN0 eDsNCi0gICBzdHJ1Y3Qgd2xfcmVzb3VyY2UqIHJlc291cmNlOw0KLS0gIHN0cnVjdCB6eGRnX3No ZWxsX3Y2KiBwcm94eTsNCi0rICBzdHJ1Y3QgeGRnX3dtX2Jhc2UqIHByb3h5Ow0KLSB9Ow0KLSAN Ci0gc3RydWN0IHNsX2hvc3RfeGRnX3N1cmZhY2Ugew0KLSAgIHN0cnVjdCBzbF9jb250ZXh0KiBj dHg7DQotICAgc3RydWN0IHdsX3Jlc291cmNlKiByZXNvdXJjZTsNCi0tICBzdHJ1Y3QgenhkZ19z dXJmYWNlX3Y2KiBwcm94eTsNCi0rICBzdHJ1Y3QgeGRnX3N1cmZhY2UqIHByb3h5Ow0KLSB9Ow0K LSANCi0gc3RydWN0IHNsX2hvc3RfeGRnX3RvcGxldmVsIHsNCi0gICBzdHJ1Y3Qgc2xfY29udGV4 dCogY3R4Ow0KLSAgIHN0cnVjdCB3bF9yZXNvdXJjZSogcmVzb3VyY2U7DQotLSAgc3RydWN0IHp4 ZGdfdG9wbGV2ZWxfdjYqIHByb3h5Ow0KLSsgIHN0cnVjdCB4ZGdfdG9wbGV2ZWwqIHByb3h5Ow0K LSB9Ow0KLSANCi0gc3RydWN0IHNsX2hvc3RfeGRnX3BvcHVwIHsNCi0gICBzdHJ1Y3Qgc2xfY29u dGV4dCogY3R4Ow0KLSAgIHN0cnVjdCB3bF9yZXNvdXJjZSogcmVzb3VyY2U7DQotLSAgc3RydWN0 IHp4ZGdfcG9wdXBfdjYqIHByb3h5Ow0KLSsgIHN0cnVjdCB4ZGdfcG9wdXAqIHByb3h5Ow0KLSB9 Ow0KLSANCi0gc3RydWN0IHNsX2hvc3RfeGRnX3Bvc2l0aW9uZXIgew0KLSAgIHN0cnVjdCBzbF9j b250ZXh0KiBjdHg7DQotICAgc3RydWN0IHdsX3Jlc291cmNlKiByZXNvdXJjZTsNCi0tICBzdHJ1 Y3QgenhkZ19wb3NpdGlvbmVyX3Y2KiBwcm94eTsNCi0rICBzdHJ1Y3QgeGRnX3Bvc2l0aW9uZXIq IHByb3h5Ow0KLSB9Ow0KLSANCi0gc3RhdGljIHZvaWQgc2xfeGRnX3Bvc2l0aW9uZXJfZGVzdHJv eShzdHJ1Y3Qgd2xfY2xpZW50KiBjbGllbnQsDQotQEAgLTUyLDcgKzUyLDcgQEAgc3RhdGljIHZv aWQgc2xfeGRnX3Bvc2l0aW9uZXJfc2V0X3NpemUoc3RydWN0IHdsX2NsaWVudCogY2xpZW50LA0K LSAgIHN0cnVjdCBzbF9ob3N0X3hkZ19wb3NpdGlvbmVyKiBob3N0ID0gd2xfcmVzb3VyY2VfZ2V0 X3VzZXJfZGF0YShyZXNvdXJjZSk7DQotICAgZG91YmxlIHNjYWxlID0gaG9zdC0+Y3R4LT5zY2Fs ZTsNCi0gDQotLSAgenhkZ19wb3NpdGlvbmVyX3Y2X3NldF9zaXplKGhvc3QtPnByb3h5LCB3aWR0 aCAvIHNjYWxlLCBoZWlnaHQgLyBzY2FsZSk7DQotKyAgeGRnX3Bvc2l0aW9uZXJfc2V0X3NpemUo aG9zdC0+cHJveHksIHdpZHRoIC8gc2NhbGUsIGhlaWdodCAvIHNjYWxlKTsNCi0gfQ0KLSANCi0g c3RhdGljIHZvaWQgc2xfeGRnX3Bvc2l0aW9uZXJfc2V0X2FuY2hvcl9yZWN0KHN0cnVjdCB3bF9j bGllbnQqIGNsaWVudCwNCi1AQCAtNzAsNyArNzAsNyBAQCBzdGF0aWMgdm9pZCBzbF94ZGdfcG9z aXRpb25lcl9zZXRfYW5jaG9yX3JlY3Qoc3RydWN0IHdsX2NsaWVudCogY2xpZW50LA0KLSAgIHgy ID0gKHggKyB3aWR0aCkgLyBzY2FsZTsNCi0gICB5MiA9ICh5ICsgaGVpZ2h0KSAvIHNjYWxlOw0K LSANCi0tICB6eGRnX3Bvc2l0aW9uZXJfdjZfc2V0X2FuY2hvcl9yZWN0KGhvc3QtPnByb3h5LCB4 MSwgeTEsIHgyIC0geDEsIHkyIC0geTEpOw0KLSsgIHhkZ19wb3NpdGlvbmVyX3NldF9hbmNob3Jf cmVjdChob3N0LT5wcm94eSwgeDEsIHkxLCB4MiAtIHgxLCB5MiAtIHkxKTsNCi0gfQ0KLSANCi0g c3RhdGljIHZvaWQgc2xfeGRnX3Bvc2l0aW9uZXJfc2V0X2FuY2hvcihzdHJ1Y3Qgd2xfY2xpZW50 KiBjbGllbnQsDQotQEAgLTc4LDcgKzc4LDcgQEAgc3RhdGljIHZvaWQgc2xfeGRnX3Bvc2l0aW9u ZXJfc2V0X2FuY2hvcihzdHJ1Y3Qgd2xfY2xpZW50KiBjbGllbnQsDQotICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDMyX3QgYW5jaG9yKSB7DQotICAgc3RydWN0 IHNsX2hvc3RfeGRnX3Bvc2l0aW9uZXIqIGhvc3QgPSB3bF9yZXNvdXJjZV9nZXRfdXNlcl9kYXRh KHJlc291cmNlKTsNCi0gDQotLSAgenhkZ19wb3NpdGlvbmVyX3Y2X3NldF9hbmNob3IoaG9zdC0+ cHJveHksIGFuY2hvcik7DQotKyAgeGRnX3Bvc2l0aW9uZXJfc2V0X2FuY2hvcihob3N0LT5wcm94 eSwgYW5jaG9yKTsNCi0gfQ0KLSANCi0gc3RhdGljIHZvaWQgc2xfeGRnX3Bvc2l0aW9uZXJfc2V0 X2dyYXZpdHkoc3RydWN0IHdsX2NsaWVudCogY2xpZW50LA0KLUBAIC04Niw3ICs4Niw3IEBAIHN0 YXRpYyB2b2lkIHNsX3hkZ19wb3NpdGlvbmVyX3NldF9ncmF2aXR5KHN0cnVjdCB3bF9jbGllbnQq IGNsaWVudCwNCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWlu dDMyX3QgZ3Jhdml0eSkgew0KLSAgIHN0cnVjdCBzbF9ob3N0X3hkZ19wb3NpdGlvbmVyKiBob3N0 ID0gd2xfcmVzb3VyY2VfZ2V0X3VzZXJfZGF0YShyZXNvdXJjZSk7DQotIA0KLS0gIHp4ZGdfcG9z aXRpb25lcl92Nl9zZXRfZ3Jhdml0eShob3N0LT5wcm94eSwgZ3Jhdml0eSk7DQotKyAgeGRnX3Bv c2l0aW9uZXJfc2V0X2dyYXZpdHkoaG9zdC0+cHJveHksIGdyYXZpdHkpOw0KLSB9DQotIA0KLSBz dGF0aWMgdm9pZCBzbF94ZGdfcG9zaXRpb25lcl9zZXRfY29uc3RyYWludF9hZGp1c3RtZW50KA0K LUBAIC05NSw4ICs5NSw4IEBAIHN0YXRpYyB2b2lkIHNsX3hkZ19wb3NpdGlvbmVyX3NldF9jb25z dHJhaW50X2FkanVzdG1lbnQoDQotICAgICB1aW50MzJfdCBjb25zdHJhaW50X2FkanVzdG1lbnQp IHsNCi0gICBzdHJ1Y3Qgc2xfaG9zdF94ZGdfcG9zaXRpb25lciogaG9zdCA9IHdsX3Jlc291cmNl X2dldF91c2VyX2RhdGEocmVzb3VyY2UpOw0KLSANCi0tICB6eGRnX3Bvc2l0aW9uZXJfdjZfc2V0 X2NvbnN0cmFpbnRfYWRqdXN0bWVudChob3N0LT5wcm94eSwNCi0tICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdHJhaW50X2FkanVzdG1lbnQpOw0KLSsg IHhkZ19wb3NpdGlvbmVyX3NldF9jb25zdHJhaW50X2FkanVzdG1lbnQoaG9zdC0+cHJveHksDQot KyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdHJhaW50X2Fk anVzdG1lbnQpOw0KLSB9DQotIA0KLSBzdGF0aWMgdm9pZCBzbF94ZGdfcG9zaXRpb25lcl9zZXRf b2Zmc2V0KHN0cnVjdCB3bF9jbGllbnQqIGNsaWVudCwNCi1AQCAtMTA2LDEwICsxMDYsMTAgQEAg c3RhdGljIHZvaWQgc2xfeGRnX3Bvc2l0aW9uZXJfc2V0X29mZnNldChzdHJ1Y3Qgd2xfY2xpZW50 KiBjbGllbnQsDQotICAgc3RydWN0IHNsX2hvc3RfeGRnX3Bvc2l0aW9uZXIqIGhvc3QgPSB3bF9y ZXNvdXJjZV9nZXRfdXNlcl9kYXRhKHJlc291cmNlKTsNCi0gICBkb3VibGUgc2NhbGUgPSBob3N0 LT5jdHgtPnNjYWxlOw0KLSANCi0tICB6eGRnX3Bvc2l0aW9uZXJfdjZfc2V0X29mZnNldChob3N0 LT5wcm94eSwgeCAvIHNjYWxlLCB5IC8gc2NhbGUpOw0KLSsgIHhkZ19wb3NpdGlvbmVyX3NldF9v ZmZzZXQoaG9zdC0+cHJveHksIHggLyBzY2FsZSwgeSAvIHNjYWxlKTsNCi0gfQ0KLSANCi0tc3Rh dGljIGNvbnN0IHN0cnVjdCB6eGRnX3Bvc2l0aW9uZXJfdjZfaW50ZXJmYWNlDQotK3N0YXRpYyBj b25zdCBzdHJ1Y3QgeGRnX3Bvc2l0aW9uZXJfaW50ZXJmYWNlDQotICAgICBzbF94ZGdfcG9zaXRp b25lcl9pbXBsZW1lbnRhdGlvbiA9IHsNCi0gICAgICAgICBzbF94ZGdfcG9zaXRpb25lcl9kZXN0 cm95LA0KLSAgICAgICAgIHNsX3hkZ19wb3NpdGlvbmVyX3NldF9zaXplLA0KLUBAIC0xMjIsNyAr MTIyLDcgQEAgc3RhdGljIGNvbnN0IHN0cnVjdCB6eGRnX3Bvc2l0aW9uZXJfdjZfaW50ZXJmYWNl DQotIHN0YXRpYyB2b2lkIHNsX2Rlc3Ryb3lfaG9zdF94ZGdfcG9zaXRpb25lcihzdHJ1Y3Qgd2xf cmVzb3VyY2UqIHJlc291cmNlKSB7DQotICAgc3RydWN0IHNsX2hvc3RfeGRnX3Bvc2l0aW9uZXIq IGhvc3QgPSB3bF9yZXNvdXJjZV9nZXRfdXNlcl9kYXRhKHJlc291cmNlKTsNCi0gDQotLSAgenhk Z19wb3NpdGlvbmVyX3Y2X2Rlc3Ryb3koaG9zdC0+cHJveHkpOw0KLSsgIHhkZ19wb3NpdGlvbmVy X2Rlc3Ryb3koaG9zdC0+cHJveHkpOw0KLSAgIHdsX3Jlc291cmNlX3NldF91c2VyX2RhdGEocmVz b3VyY2UsIE5VTEwpOw0KLSAgIGZyZWUoaG9zdCk7DQotIH0NCi1AQCAtMTM5LDE5ICsxMzksMTkg QEAgc3RhdGljIHZvaWQgc2xfeGRnX3BvcHVwX2dyYWIoc3RydWN0IHdsX2NsaWVudCogY2xpZW50 LA0KLSAgIHN0cnVjdCBzbF9ob3N0X3hkZ19wb3B1cCogaG9zdCA9IHdsX3Jlc291cmNlX2dldF91 c2VyX2RhdGEocmVzb3VyY2UpOw0KLSAgIHN0cnVjdCBzbF9ob3N0X3NlYXQqIGhvc3Rfc2VhdCA9 IHdsX3Jlc291cmNlX2dldF91c2VyX2RhdGEoc2VhdF9yZXNvdXJjZSk7DQotIA0KLS0gIHp4ZGdf cG9wdXBfdjZfZ3JhYihob3N0LT5wcm94eSwgaG9zdF9zZWF0LT5wcm94eSwgc2VyaWFsKTsNCi0r ICB4ZGdfcG9wdXBfZ3JhYihob3N0LT5wcm94eSwgaG9zdF9zZWF0LT5wcm94eSwgc2VyaWFsKTsN Ci0gfQ0KLSANCi0tc3RhdGljIGNvbnN0IHN0cnVjdCB6eGRnX3BvcHVwX3Y2X2ludGVyZmFjZSBz bF94ZGdfcG9wdXBfaW1wbGVtZW50YXRpb24gPSB7DQotK3N0YXRpYyBjb25zdCBzdHJ1Y3QgeGRn X3BvcHVwX2ludGVyZmFjZSBzbF94ZGdfcG9wdXBfaW1wbGVtZW50YXRpb24gPSB7DQotICAgICBz bF94ZGdfcG9wdXBfZGVzdHJveSwgc2xfeGRnX3BvcHVwX2dyYWJ9Ow0KLSANCi0gc3RhdGljIHZv aWQgc2xfeGRnX3BvcHVwX2NvbmZpZ3VyZSh2b2lkKiBkYXRhLA0KLS0gICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIHN0cnVjdCB6eGRnX3BvcHVwX3Y2KiB4ZGdfcG9wdXAsDQotKyAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3RydWN0IHhkZ19wb3B1cCogeGRnX3Bv cHVwLA0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludDMyX3QgeCwNCi0g ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQzMl90IHksDQotICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50MzJfdCB3aWR0aCwNCi0gICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICBpbnQzMl90IGhlaWdodCkgew0KLS0gIHN0cnVjdCBzbF9o b3N0X3hkZ19wb3B1cCogaG9zdCA9IHp4ZGdfcG9wdXBfdjZfZ2V0X3VzZXJfZGF0YSh4ZGdfcG9w dXApOw0KLSsgIHN0cnVjdCBzbF9ob3N0X3hkZ19wb3B1cCogaG9zdCA9IHhkZ19wb3B1cF9nZXRf dXNlcl9kYXRhKHhkZ19wb3B1cCk7DQotICAgZG91YmxlIHNjYWxlID0gaG9zdC0+Y3R4LT5zY2Fs ZTsNCi0gICBpbnQzMl90IHgxLCB5MSwgeDIsIHkyOw0KLSANCi1AQCAtMTYwLDIzICsxNjAsMjMg QEAgc3RhdGljIHZvaWQgc2xfeGRnX3BvcHVwX2NvbmZpZ3VyZSh2b2lkKiBkYXRhLA0KLSAgIHgy ID0gKHggKyB3aWR0aCkgKiBzY2FsZTsNCi0gICB5MiA9ICh5ICsgaGVpZ2h0KSAqIHNjYWxlOw0K LSANCi0tICB6eGRnX3BvcHVwX3Y2X3NlbmRfY29uZmlndXJlKGhvc3QtPnJlc291cmNlLCB4MSwg eTEsIHgyIC0geDEsIHkyIC0geTEpOw0KLSsgIHhkZ19wb3B1cF9zZW5kX2NvbmZpZ3VyZShob3N0 LT5yZXNvdXJjZSwgeDEsIHkxLCB4MiAtIHgxLCB5MiAtIHkxKTsNCi0gfQ0KLSANCi0gc3RhdGlj IHZvaWQgc2xfeGRnX3BvcHVwX3BvcHVwX2RvbmUodm9pZCogZGF0YSwNCi0tICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgc3RydWN0IHp4ZGdfcG9wdXBfdjYqIHhkZ19wb3B1cCkg ew0KLS0gIHN0cnVjdCBzbF9ob3N0X3hkZ19wb3B1cCogaG9zdCA9IHp4ZGdfcG9wdXBfdjZfZ2V0 X3VzZXJfZGF0YSh4ZGdfcG9wdXApOw0KLSsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICBzdHJ1Y3QgeGRnX3BvcHVwKiB4ZGdfcG9wdXApIHsNCi0rICBzdHJ1Y3Qgc2xfaG9zdF94 ZGdfcG9wdXAqIGhvc3QgPSB4ZGdfcG9wdXBfZ2V0X3VzZXJfZGF0YSh4ZGdfcG9wdXApOw0KLSAN Ci0tICB6eGRnX3BvcHVwX3Y2X3NlbmRfcG9wdXBfZG9uZShob3N0LT5yZXNvdXJjZSk7DQotKyAg eGRnX3BvcHVwX3NlbmRfcG9wdXBfZG9uZShob3N0LT5yZXNvdXJjZSk7DQotIH0NCi0gDQotLXN0 YXRpYyBjb25zdCBzdHJ1Y3QgenhkZ19wb3B1cF92Nl9saXN0ZW5lciBzbF94ZGdfcG9wdXBfbGlz dGVuZXIgPSB7DQotK3N0YXRpYyBjb25zdCBzdHJ1Y3QgeGRnX3BvcHVwX2xpc3RlbmVyIHNsX3hk Z19wb3B1cF9saXN0ZW5lciA9IHsNCi0gICAgIHNsX3hkZ19wb3B1cF9jb25maWd1cmUsIHNsX3hk Z19wb3B1cF9wb3B1cF9kb25lfTsNCi0gDQotIHN0YXRpYyB2b2lkIHNsX2Rlc3Ryb3lfaG9zdF94 ZGdfcG9wdXAoc3RydWN0IHdsX3Jlc291cmNlKiByZXNvdXJjZSkgew0KLSAgIHN0cnVjdCBzbF9o b3N0X3hkZ19wb3B1cCogaG9zdCA9IHdsX3Jlc291cmNlX2dldF91c2VyX2RhdGEocmVzb3VyY2Up Ow0KLSANCi0tICB6eGRnX3BvcHVwX3Y2X2Rlc3Ryb3koaG9zdC0+cHJveHkpOw0KLSsgIHhkZ19w b3B1cF9kZXN0cm95KGhvc3QtPnByb3h5KTsNCi0gICB3bF9yZXNvdXJjZV9zZXRfdXNlcl9kYXRh KHJlc291cmNlLCBOVUxMKTsNCi0gICBmcmVlKGhvc3QpOw0KLSB9DQotQEAgLTE5Myw4ICsxOTMs OCBAQCBzdGF0aWMgdm9pZCBzbF94ZGdfdG9wbGV2ZWxfc2V0X3BhcmVudChzdHJ1Y3Qgd2xfY2xp ZW50KiBjbGllbnQsDQotICAgc3RydWN0IHNsX2hvc3RfeGRnX3RvcGxldmVsKiBob3N0X3BhcmVu dCA9DQotICAgICAgIHBhcmVudF9yZXNvdXJjZSA/IHdsX3Jlc291cmNlX2dldF91c2VyX2RhdGEo cGFyZW50X3Jlc291cmNlKSA6IE5VTEw7DQotIA0KLS0gIHp4ZGdfdG9wbGV2ZWxfdjZfc2V0X3Bh cmVudChob3N0LT5wcm94eSwNCi0tICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaG9zdF9w YXJlbnQgPyBob3N0X3BhcmVudC0+cHJveHkgOiBOVUxMKTsNCi0rICB4ZGdfdG9wbGV2ZWxfc2V0 X3BhcmVudChob3N0LT5wcm94eSwNCi0rICAgICAgICAgICAgICAgICAgICAgICAgICBob3N0X3Bh cmVudCA/IGhvc3RfcGFyZW50LT5wcm94eSA6IE5VTEwpOw0KLSB9DQotIA0KLSBzdGF0aWMgdm9p ZCBzbF94ZGdfdG9wbGV2ZWxfc2V0X3RpdGxlKHN0cnVjdCB3bF9jbGllbnQqIGNsaWVudCwNCi1A QCAtMjAyLDcgKzIwMiw3IEBAIHN0YXRpYyB2b2lkIHNsX3hkZ190b3BsZXZlbF9zZXRfdGl0bGUo c3RydWN0IHdsX2NsaWVudCogY2xpZW50LA0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIGNvbnN0IGNoYXIqIHRpdGxlKSB7DQotICAgc3RydWN0IHNsX2hvc3RfeGRnX3Rv cGxldmVsKiBob3N0ID0gd2xfcmVzb3VyY2VfZ2V0X3VzZXJfZGF0YShyZXNvdXJjZSk7DQotIA0K LS0gIHp4ZGdfdG9wbGV2ZWxfdjZfc2V0X3RpdGxlKGhvc3QtPnByb3h5LCB0aXRsZSk7DQotKyAg eGRnX3RvcGxldmVsX3NldF90aXRsZShob3N0LT5wcm94eSwgdGl0bGUpOw0KLSB9DQotIA0KLSBz dGF0aWMgdm9pZCBzbF94ZGdfdG9wbGV2ZWxfc2V0X2FwcF9pZChzdHJ1Y3Qgd2xfY2xpZW50KiBj bGllbnQsDQotQEAgLTIxMCw3ICsyMTAsNyBAQCBzdGF0aWMgdm9pZCBzbF94ZGdfdG9wbGV2ZWxf c2V0X2FwcF9pZChzdHJ1Y3Qgd2xfY2xpZW50KiBjbGllbnQsDQotICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGNoYXIqIGFwcF9pZCkgew0KLSAgIHN0cnVjdCBz bF9ob3N0X3hkZ190b3BsZXZlbCogaG9zdCA9IHdsX3Jlc291cmNlX2dldF91c2VyX2RhdGEocmVz b3VyY2UpOw0KLSANCi0tICB6eGRnX3RvcGxldmVsX3Y2X3NldF9hcHBfaWQoaG9zdC0+cHJveHks IGFwcF9pZCk7DQotKyAgeGRnX3RvcGxldmVsX3NldF9hcHBfaWQoaG9zdC0+cHJveHksIGFwcF9p ZCk7DQotIH0NCi0gDQotIHN0YXRpYyB2b2lkIHNsX3hkZ190b3BsZXZlbF9zaG93X3dpbmRvd19t ZW51KHN0cnVjdCB3bF9jbGllbnQqIGNsaWVudCwNCi1AQCAtMjIzLDcgKzIyMyw3IEBAIHN0YXRp YyB2b2lkIHNsX3hkZ190b3BsZXZlbF9zaG93X3dpbmRvd19tZW51KHN0cnVjdCB3bF9jbGllbnQq IGNsaWVudCwNCi0gICBzdHJ1Y3Qgc2xfaG9zdF9zZWF0KiBob3N0X3NlYXQgPQ0KLSAgICAgICBz ZWF0X3Jlc291cmNlID8gd2xfcmVzb3VyY2VfZ2V0X3VzZXJfZGF0YShzZWF0X3Jlc291cmNlKSA6 IE5VTEw7DQotIA0KLS0gIHp4ZGdfdG9wbGV2ZWxfdjZfc2hvd193aW5kb3dfbWVudSgNCi0rICB4 ZGdfdG9wbGV2ZWxfc2hvd193aW5kb3dfbWVudSgNCi0gICAgICAgaG9zdC0+cHJveHksIGhvc3Rf c2VhdCA/IGhvc3Rfc2VhdC0+cHJveHkgOiBOVUxMLCBzZXJpYWwsIHgsIHkpOw0KLSB9DQotIA0K LUBAIC0yMzUsOCArMjM1LDggQEAgc3RhdGljIHZvaWQgc2xfeGRnX3RvcGxldmVsX21vdmUoc3Ry dWN0IHdsX2NsaWVudCogY2xpZW50LA0KLSAgIHN0cnVjdCBzbF9ob3N0X3NlYXQqIGhvc3Rfc2Vh dCA9DQotICAgICAgIHNlYXRfcmVzb3VyY2UgPyB3bF9yZXNvdXJjZV9nZXRfdXNlcl9kYXRhKHNl YXRfcmVzb3VyY2UpIDogTlVMTDsNCi0gDQotLSAgenhkZ190b3BsZXZlbF92Nl9tb3ZlKGhvc3Qt PnByb3h5LCBob3N0X3NlYXQgPyBob3N0X3NlYXQtPnByb3h5IDogTlVMTCwNCi0tICAgICAgICAg ICAgICAgICAgICAgICAgc2VyaWFsKTsNCi0rICB4ZGdfdG9wbGV2ZWxfbW92ZShob3N0LT5wcm94 eSwgaG9zdF9zZWF0ID8gaG9zdF9zZWF0LT5wcm94eSA6IE5VTEwsDQotKyAgICAgICAgICAgICAg ICAgICAgc2VyaWFsKTsNCi0gfQ0KLSANCi0gc3RhdGljIHZvaWQgc2xfeGRnX3RvcGxldmVsX3Jl c2l6ZShzdHJ1Y3Qgd2xfY2xpZW50KiBjbGllbnQsDQotQEAgLTI0OCw4ICsyNDgsOCBAQCBzdGF0 aWMgdm9pZCBzbF94ZGdfdG9wbGV2ZWxfcmVzaXplKHN0cnVjdCB3bF9jbGllbnQqIGNsaWVudCwN Ci0gICBzdHJ1Y3Qgc2xfaG9zdF9zZWF0KiBob3N0X3NlYXQgPQ0KLSAgICAgICBzZWF0X3Jlc291 cmNlID8gd2xfcmVzb3VyY2VfZ2V0X3VzZXJfZGF0YShzZWF0X3Jlc291cmNlKSA6IE5VTEw7DQot IA0KLS0gIHp4ZGdfdG9wbGV2ZWxfdjZfcmVzaXplKGhvc3QtPnByb3h5LCBob3N0X3NlYXQgPyBo b3N0X3NlYXQtPnByb3h5IDogTlVMTCwNCi0tICAgICAgICAgICAgICAgICAgICAgICAgICBzZXJp YWwsIGVkZ2VzKTsNCi0rICB4ZGdfdG9wbGV2ZWxfcmVzaXplKGhvc3QtPnByb3h5LCBob3N0X3Nl YXQgPyBob3N0X3NlYXQtPnByb3h5IDogTlVMTCwNCi0rICAgICAgICAgICAgICAgICAgICAgIHNl cmlhbCwgZWRnZXMpOw0KLSB9DQotIA0KLSBzdGF0aWMgdm9pZCBzbF94ZGdfdG9wbGV2ZWxfc2V0 X21heF9zaXplKHN0cnVjdCB3bF9jbGllbnQqIGNsaWVudCwNCi1AQCAtMjU4LDcgKzI1OCw3IEBA IHN0YXRpYyB2b2lkIHNsX3hkZ190b3BsZXZlbF9zZXRfbWF4X3NpemUoc3RydWN0IHdsX2NsaWVu dCogY2xpZW50LA0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlu dDMyX3QgaGVpZ2h0KSB7DQotICAgc3RydWN0IHNsX2hvc3RfeGRnX3RvcGxldmVsKiBob3N0ID0g d2xfcmVzb3VyY2VfZ2V0X3VzZXJfZGF0YShyZXNvdXJjZSk7DQotIA0KLS0gIHp4ZGdfdG9wbGV2 ZWxfdjZfc2V0X21heF9zaXplKGhvc3QtPnByb3h5LCB3aWR0aCwgaGVpZ2h0KTsNCi0rICB4ZGdf dG9wbGV2ZWxfc2V0X21heF9zaXplKGhvc3QtPnByb3h5LCB3aWR0aCwgaGVpZ2h0KTsNCi0gfQ0K LSANCi0gc3RhdGljIHZvaWQgc2xfeGRnX3RvcGxldmVsX3NldF9taW5fc2l6ZShzdHJ1Y3Qgd2xf Y2xpZW50KiBjbGllbnQsDQotQEAgLTI2NywyMSArMjY3LDIxIEBAIHN0YXRpYyB2b2lkIHNsX3hk Z190b3BsZXZlbF9zZXRfbWluX3NpemUoc3RydWN0IHdsX2NsaWVudCogY2xpZW50LA0KLSAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludDMyX3QgaGVpZ2h0KSB7DQot ICAgc3RydWN0IHNsX2hvc3RfeGRnX3RvcGxldmVsKiBob3N0ID0gd2xfcmVzb3VyY2VfZ2V0X3Vz ZXJfZGF0YShyZXNvdXJjZSk7DQotIA0KLS0gIHp4ZGdfdG9wbGV2ZWxfdjZfc2V0X21pbl9zaXpl KGhvc3QtPnByb3h5LCB3aWR0aCwgaGVpZ2h0KTsNCi0rICB4ZGdfdG9wbGV2ZWxfc2V0X21pbl9z aXplKGhvc3QtPnByb3h5LCB3aWR0aCwgaGVpZ2h0KTsNCi0gfQ0KLSANCi0gc3RhdGljIHZvaWQg c2xfeGRnX3RvcGxldmVsX3NldF9tYXhpbWl6ZWQoc3RydWN0IHdsX2NsaWVudCogY2xpZW50LA0K LSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJ1Y3Qgd2xfcmVz b3VyY2UqIHJlc291cmNlKSB7DQotICAgc3RydWN0IHNsX2hvc3RfeGRnX3RvcGxldmVsKiBob3N0 ID0gd2xfcmVzb3VyY2VfZ2V0X3VzZXJfZGF0YShyZXNvdXJjZSk7DQotIA0KLS0gIHp4ZGdfdG9w bGV2ZWxfdjZfc2V0X21heGltaXplZChob3N0LT5wcm94eSk7DQotKyAgeGRnX3RvcGxldmVsX3Nl dF9tYXhpbWl6ZWQoaG9zdC0+cHJveHkpOw0KLSB9DQotIA0KLSBzdGF0aWMgdm9pZCBzbF94ZGdf dG9wbGV2ZWxfdW5zZXRfbWF4aW1pemVkKHN0cnVjdCB3bF9jbGllbnQqIGNsaWVudCwNCi0gICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJ1Y3Qgd2xfcmVzb3Vy Y2UqIHJlc291cmNlKSB7DQotICAgc3RydWN0IHNsX2hvc3RfeGRnX3RvcGxldmVsKiBob3N0ID0g d2xfcmVzb3VyY2VfZ2V0X3VzZXJfZGF0YShyZXNvdXJjZSk7DQotIA0KLS0gIHp4ZGdfdG9wbGV2 ZWxfdjZfdW5zZXRfbWF4aW1pemVkKGhvc3QtPnByb3h5KTsNCi0rICB4ZGdfdG9wbGV2ZWxfdW5z ZXRfbWF4aW1pemVkKGhvc3QtPnByb3h5KTsNCi0gfQ0KLSANCi0gc3RhdGljIHZvaWQgc2xfeGRn X3RvcGxldmVsX3NldF9mdWxsc2NyZWVuKA0KLUBAIC0yOTIsMjUgKzI5MiwyNSBAQCBzdGF0aWMg dm9pZCBzbF94ZGdfdG9wbGV2ZWxfc2V0X2Z1bGxzY3JlZW4oDQotICAgc3RydWN0IHNsX2hvc3Rf b3V0cHV0KiBob3N0X291dHB1dCA9DQotICAgICAgIG91dHB1dF9yZXNvdXJjZSA/IHdsX3Jlc291 cmNlX2dldF91c2VyX2RhdGEob3V0cHV0X3Jlc291cmNlKSA6IE5VTEw7DQotIA0KLS0gIHp4ZGdf dG9wbGV2ZWxfdjZfc2V0X2Z1bGxzY3JlZW4oaG9zdC0+cHJveHksDQotLSAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICBob3N0X291dHB1dCA/IGhvc3Rfb3V0cHV0LT5wcm94eSA6IE5V TEwpOw0KLSsgIHhkZ190b3BsZXZlbF9zZXRfZnVsbHNjcmVlbihob3N0LT5wcm94eSwNCi0rICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgaG9zdF9vdXRwdXQgPyBob3N0X291dHB1dC0+cHJv eHkgOiBOVUxMKTsNCi0gfQ0KLSANCi0gc3RhdGljIHZvaWQgc2xfeGRnX3RvcGxldmVsX3Vuc2V0 X2Z1bGxzY3JlZW4oc3RydWN0IHdsX2NsaWVudCogY2xpZW50LA0KLSAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJ1Y3Qgd2xfcmVzb3VyY2UqIHJlc291cmNl KSB7DQotICAgc3RydWN0IHNsX2hvc3RfeGRnX3RvcGxldmVsKiBob3N0ID0gd2xfcmVzb3VyY2Vf Z2V0X3VzZXJfZGF0YShyZXNvdXJjZSk7DQotIA0KLS0gIHp4ZGdfdG9wbGV2ZWxfdjZfdW5zZXRf ZnVsbHNjcmVlbihob3N0LT5wcm94eSk7DQotKyAgeGRnX3RvcGxldmVsX3Vuc2V0X2Z1bGxzY3Jl ZW4oaG9zdC0+cHJveHkpOw0KLSB9DQotIA0KLSBzdGF0aWMgdm9pZCBzbF94ZGdfdG9wbGV2ZWxf c2V0X21pbmltaXplZChzdHJ1Y3Qgd2xfY2xpZW50KiBjbGllbnQsDQotICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cnVjdCB3bF9yZXNvdXJjZSogcmVzb3VyY2Up IHsNCi0gICBzdHJ1Y3Qgc2xfaG9zdF94ZGdfdG9wbGV2ZWwqIGhvc3QgPSB3bF9yZXNvdXJjZV9n ZXRfdXNlcl9kYXRhKHJlc291cmNlKTsNCi0gDQotLSAgenhkZ190b3BsZXZlbF92Nl9zZXRfbWlu aW1pemVkKGhvc3QtPnByb3h5KTsNCi0rICB4ZGdfdG9wbGV2ZWxfc2V0X21pbmltaXplZChob3N0 LT5wcm94eSk7DQotIH0NCi0gDQotLXN0YXRpYyBjb25zdCBzdHJ1Y3QgenhkZ190b3BsZXZlbF92 Nl9pbnRlcmZhY2Ugc2xfeGRnX3RvcGxldmVsX2ltcGxlbWVudGF0aW9uID0NCi0rc3RhdGljIGNv bnN0IHN0cnVjdCB4ZGdfdG9wbGV2ZWxfaW50ZXJmYWNlIHNsX3hkZ190b3BsZXZlbF9pbXBsZW1l bnRhdGlvbiA9DQotICAgICB7c2xfeGRnX3RvcGxldmVsX2Rlc3Ryb3ksICAgICAgICAgIHNsX3hk Z190b3BsZXZlbF9zZXRfcGFyZW50LA0KLSAgICAgIHNsX3hkZ190b3BsZXZlbF9zZXRfdGl0bGUs ICAgICAgICBzbF94ZGdfdG9wbGV2ZWxfc2V0X2FwcF9pZCwNCi0gICAgICBzbF94ZGdfdG9wbGV2 ZWxfc2hvd193aW5kb3dfbWVudSwgc2xfeGRnX3RvcGxldmVsX21vdmUsDQotQEAgLTMyMCwzMyAr MzIwLDMzIEBAIHN0YXRpYyBjb25zdCBzdHJ1Y3QgenhkZ190b3BsZXZlbF92Nl9pbnRlcmZhY2Ug c2xfeGRnX3RvcGxldmVsX2ltcGxlbWVudGF0aW9uID0NCi0gICAgICBzbF94ZGdfdG9wbGV2ZWxf dW5zZXRfZnVsbHNjcmVlbiwgc2xfeGRnX3RvcGxldmVsX3NldF9taW5pbWl6ZWR9Ow0KLSANCi0g c3RhdGljIHZvaWQgc2xfeGRnX3RvcGxldmVsX2NvbmZpZ3VyZSh2b2lkKiBkYXRhLA0KLS0gICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cnVjdCB6eGRnX3RvcGxldmVsX3Y2 KiB4ZGdfdG9wbGV2ZWwsDQotKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg c3RydWN0IHhkZ190b3BsZXZlbCogeGRnX3RvcGxldmVsLA0KLSAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIGludDMyX3Qgd2lkdGgsDQotICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgaW50MzJfdCBoZWlnaHQsDQotICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgc3RydWN0IHdsX2FycmF5KiBzdGF0ZXMpIHsNCi0gICBzdHJ1Y3Qg c2xfaG9zdF94ZGdfdG9wbGV2ZWwqIGhvc3QgPQ0KLS0gICAgICB6eGRnX3RvcGxldmVsX3Y2X2dl dF91c2VyX2RhdGEoeGRnX3RvcGxldmVsKTsNCi0rICAgICAgeGRnX3RvcGxldmVsX2dldF91c2Vy X2RhdGEoeGRnX3RvcGxldmVsKTsNCi0gICBkb3VibGUgc2NhbGUgPSBob3N0LT5jdHgtPnNjYWxl Ow0KLSANCi0tICB6eGRnX3RvcGxldmVsX3Y2X3NlbmRfY29uZmlndXJlKGhvc3QtPnJlc291cmNl LCB3aWR0aCAqIHNjYWxlLCBoZWlnaHQgKiBzY2FsZSwNCi0rICB4ZGdfdG9wbGV2ZWxfc2VuZF9j b25maWd1cmUoaG9zdC0+cmVzb3VyY2UsIHdpZHRoICogc2NhbGUsIGhlaWdodCAqIHNjYWxlLA0K LSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3RhdGVzKTsNCi0gfQ0KLSANCi0g c3RhdGljIHZvaWQgc2xfeGRnX3RvcGxldmVsX2Nsb3NlKHZvaWQqIGRhdGEsDQotLSAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJ1Y3QgenhkZ190b3BsZXZlbF92NiogeGRnX3Rv cGxldmVsKSB7DQotKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJ1Y3QgeGRn X3RvcGxldmVsKiB4ZGdfdG9wbGV2ZWwpIHsNCi0gICBzdHJ1Y3Qgc2xfaG9zdF94ZGdfdG9wbGV2 ZWwqIGhvc3QgPQ0KLS0gICAgICB6eGRnX3RvcGxldmVsX3Y2X2dldF91c2VyX2RhdGEoeGRnX3Rv cGxldmVsKTsNCi0rICAgICAgeGRnX3RvcGxldmVsX2dldF91c2VyX2RhdGEoeGRnX3RvcGxldmVs KTsNCi0gDQotLSAgenhkZ190b3BsZXZlbF92Nl9zZW5kX2Nsb3NlKGhvc3QtPnJlc291cmNlKTsN Ci0rICB4ZGdfdG9wbGV2ZWxfc2VuZF9jbG9zZShob3N0LT5yZXNvdXJjZSk7DQotIH0NCi0gDQot LXN0YXRpYyBjb25zdCBzdHJ1Y3QgenhkZ190b3BsZXZlbF92Nl9saXN0ZW5lciBzbF94ZGdfdG9w bGV2ZWxfbGlzdGVuZXIgPSB7DQotK3N0YXRpYyBjb25zdCBzdHJ1Y3QgeGRnX3RvcGxldmVsX2xp c3RlbmVyIHNsX3hkZ190b3BsZXZlbF9saXN0ZW5lciA9IHsNCi0gICAgIHNsX3hkZ190b3BsZXZl bF9jb25maWd1cmUsIHNsX3hkZ190b3BsZXZlbF9jbG9zZX07DQotIA0KLSBzdGF0aWMgdm9pZCBz bF9kZXN0cm95X2hvc3RfeGRnX3RvcGxldmVsKHN0cnVjdCB3bF9yZXNvdXJjZSogcmVzb3VyY2Up IHsNCi0gICBzdHJ1Y3Qgc2xfaG9zdF94ZGdfdG9wbGV2ZWwqIGhvc3QgPSB3bF9yZXNvdXJjZV9n ZXRfdXNlcl9kYXRhKHJlc291cmNlKTsNCi0gDQotLSAgenhkZ190b3BsZXZlbF92Nl9kZXN0cm95 KGhvc3QtPnByb3h5KTsNCi0rICB4ZGdfdG9wbGV2ZWxfZGVzdHJveShob3N0LT5wcm94eSk7DQot ICAgd2xfcmVzb3VyY2Vfc2V0X3VzZXJfZGF0YShyZXNvdXJjZSwgTlVMTCk7DQotICAgZnJlZSho b3N0KTsNCi0gfQ0KLUBAIC0zNjcsMTQgKzM2NywxNSBAQCBzdGF0aWMgdm9pZCBzbF94ZGdfc3Vy ZmFjZV9nZXRfdG9wbGV2ZWwoc3RydWN0IHdsX2NsaWVudCogY2xpZW50LA0KLSANCi0gICBob3N0 X3hkZ190b3BsZXZlbC0+Y3R4ID0gaG9zdC0+Y3R4Ow0KLSAgIGhvc3RfeGRnX3RvcGxldmVsLT5y ZXNvdXJjZSA9DQotLSAgICAgIHdsX3Jlc291cmNlX2NyZWF0ZShjbGllbnQsICZ6eGRnX3RvcGxl dmVsX3Y2X2ludGVyZmFjZSwgMSwgaWQpOw0KLSsgICAgICB3bF9yZXNvdXJjZV9jcmVhdGUoY2xp ZW50LCAmeGRnX3RvcGxldmVsX2ludGVyZmFjZSwNCi0rICAgICAgICAgICAgICAgICAgICAgICAg IHdsX3Jlc291cmNlX2dldF92ZXJzaW9uKHJlc291cmNlKSwgaWQpOw0KLSAgIHdsX3Jlc291cmNl X3NldF9pbXBsZW1lbnRhdGlvbigNCi0gICAgICAgaG9zdF94ZGdfdG9wbGV2ZWwtPnJlc291cmNl LCAmc2xfeGRnX3RvcGxldmVsX2ltcGxlbWVudGF0aW9uLA0KLSAgICAgICBob3N0X3hkZ190b3Bs ZXZlbCwgc2xfZGVzdHJveV9ob3N0X3hkZ190b3BsZXZlbCk7DQotLSAgaG9zdF94ZGdfdG9wbGV2 ZWwtPnByb3h5ID0genhkZ19zdXJmYWNlX3Y2X2dldF90b3BsZXZlbChob3N0LT5wcm94eSk7DQot LSAgenhkZ190b3BsZXZlbF92Nl9zZXRfdXNlcl9kYXRhKGhvc3RfeGRnX3RvcGxldmVsLT5wcm94 eSwgaG9zdF94ZGdfdG9wbGV2ZWwpOw0KLS0gIHp4ZGdfdG9wbGV2ZWxfdjZfYWRkX2xpc3RlbmVy KGhvc3RfeGRnX3RvcGxldmVsLT5wcm94eSwNCi0tICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAmc2xfeGRnX3RvcGxldmVsX2xpc3RlbmVyLCBob3N0X3hkZ190b3BsZXZlbCk7DQotKyAg aG9zdF94ZGdfdG9wbGV2ZWwtPnByb3h5ID0geGRnX3N1cmZhY2VfZ2V0X3RvcGxldmVsKGhvc3Qt PnByb3h5KTsNCi0rICB4ZGdfdG9wbGV2ZWxfc2V0X3VzZXJfZGF0YShob3N0X3hkZ190b3BsZXZl bC0+cHJveHksIGhvc3RfeGRnX3RvcGxldmVsKTsNCi0rICB4ZGdfdG9wbGV2ZWxfYWRkX2xpc3Rl bmVyKGhvc3RfeGRnX3RvcGxldmVsLT5wcm94eSwNCi0rICAgICAgICAgICAgICAgICAgICAgICAg ICAgICZzbF94ZGdfdG9wbGV2ZWxfbGlzdGVuZXIsIGhvc3RfeGRnX3RvcGxldmVsKTsNCi0gfQ0K LSANCi0gc3RhdGljIHZvaWQgc2xfeGRnX3N1cmZhY2VfZ2V0X3BvcHVwKHN0cnVjdCB3bF9jbGll bnQqIGNsaWVudCwNCi1AQCAtMzk0LDE1ICszOTUsMTYgQEAgc3RhdGljIHZvaWQgc2xfeGRnX3N1 cmZhY2VfZ2V0X3BvcHVwKHN0cnVjdCB3bF9jbGllbnQqIGNsaWVudCwNCi0gDQotICAgaG9zdF94 ZGdfcG9wdXAtPmN0eCA9IGhvc3QtPmN0eDsNCi0gICBob3N0X3hkZ19wb3B1cC0+cmVzb3VyY2Ug PQ0KLS0gICAgICB3bF9yZXNvdXJjZV9jcmVhdGUoY2xpZW50LCAmenhkZ19wb3B1cF92Nl9pbnRl cmZhY2UsIDEsIGlkKTsNCi0rICAgICAgd2xfcmVzb3VyY2VfY3JlYXRlKGNsaWVudCwgJnhkZ19w b3B1cF9pbnRlcmZhY2UsDQotKyAgICAgICAgICAgICAgICAgICAgICAgICB3bF9yZXNvdXJjZV9n ZXRfdmVyc2lvbihyZXNvdXJjZSksIGlkKTsNCi0gICB3bF9yZXNvdXJjZV9zZXRfaW1wbGVtZW50 YXRpb24oaG9zdF94ZGdfcG9wdXAtPnJlc291cmNlLA0KLSAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAmc2xfeGRnX3BvcHVwX2ltcGxlbWVudGF0aW9uLCBob3N0X3hkZ19wb3B1cCwN Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2xfZGVzdHJveV9ob3N0X3hkZ19w b3B1cCk7DQotLSAgaG9zdF94ZGdfcG9wdXAtPnByb3h5ID0genhkZ19zdXJmYWNlX3Y2X2dldF9w b3B1cCgNCi0rICBob3N0X3hkZ19wb3B1cC0+cHJveHkgPSB4ZGdfc3VyZmFjZV9nZXRfcG9wdXAo DQotICAgICAgIGhvc3QtPnByb3h5LCBob3N0X3BhcmVudC0+cHJveHksIGhvc3RfcG9zaXRpb25l ci0+cHJveHkpOw0KLS0gIHp4ZGdfcG9wdXBfdjZfc2V0X3VzZXJfZGF0YShob3N0X3hkZ19wb3B1 cC0+cHJveHksIGhvc3RfeGRnX3BvcHVwKTsNCi0tICB6eGRnX3BvcHVwX3Y2X2FkZF9saXN0ZW5l cihob3N0X3hkZ19wb3B1cC0+cHJveHksICZzbF94ZGdfcG9wdXBfbGlzdGVuZXIsDQotLSAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgaG9zdF94ZGdfcG9wdXApOw0KLSsgIHhkZ19wb3B1cF9z ZXRfdXNlcl9kYXRhKGhvc3RfeGRnX3BvcHVwLT5wcm94eSwgaG9zdF94ZGdfcG9wdXApOw0KLSsg IHhkZ19wb3B1cF9hZGRfbGlzdGVuZXIoaG9zdF94ZGdfcG9wdXAtPnByb3h5LCAmc2xfeGRnX3Bv cHVwX2xpc3RlbmVyLA0KLSsgICAgICAgICAgICAgICAgICAgICAgICAgaG9zdF94ZGdfcG9wdXAp Ow0KLSB9DQotIA0KLSBzdGF0aWMgdm9pZCBzbF94ZGdfc3VyZmFjZV9zZXRfd2luZG93X2dlb21l dHJ5KHN0cnVjdCB3bF9jbGllbnQqIGNsaWVudCwNCi1AQCAtNDIwLDcgKzQyMiw3IEBAIHN0YXRp YyB2b2lkIHNsX3hkZ19zdXJmYWNlX3NldF93aW5kb3dfZ2VvbWV0cnkoc3RydWN0IHdsX2NsaWVu dCogY2xpZW50LA0KLSAgIHgyID0gKHggKyB3aWR0aCkgLyBzY2FsZTsNCi0gICB5MiA9ICh5ICsg aGVpZ2h0KSAvIHNjYWxlOw0KLSANCi0tICB6eGRnX3N1cmZhY2VfdjZfc2V0X3dpbmRvd19nZW9t ZXRyeShob3N0LT5wcm94eSwgeDEsIHkxLCB4MiAtIHgxLCB5MiAtIHkxKTsNCi0rICB4ZGdfc3Vy ZmFjZV9zZXRfd2luZG93X2dlb21ldHJ5KGhvc3QtPnByb3h5LCB4MSwgeTEsIHgyIC0geDEsIHky IC0geTEpOw0KLSB9DQotIA0KLSBzdGF0aWMgdm9pZCBzbF94ZGdfc3VyZmFjZV9hY2tfY29uZmln dXJlKHN0cnVjdCB3bF9jbGllbnQqIGNsaWVudCwNCi1AQCAtNDI4LDYzICs0MzAsNjQgQEAgc3Rh dGljIHZvaWQgc2xfeGRnX3N1cmZhY2VfYWNrX2NvbmZpZ3VyZShzdHJ1Y3Qgd2xfY2xpZW50KiBj bGllbnQsDQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDMy X3Qgc2VyaWFsKSB7DQotICAgc3RydWN0IHNsX2hvc3RfeGRnX3N1cmZhY2UqIGhvc3QgPSB3bF9y ZXNvdXJjZV9nZXRfdXNlcl9kYXRhKHJlc291cmNlKTsNCi0gDQotLSAgenhkZ19zdXJmYWNlX3Y2 X2Fja19jb25maWd1cmUoaG9zdC0+cHJveHksIHNlcmlhbCk7DQotKyAgeGRnX3N1cmZhY2VfYWNr X2NvbmZpZ3VyZShob3N0LT5wcm94eSwgc2VyaWFsKTsNCi0gfQ0KLSANCi0tc3RhdGljIGNvbnN0 IHN0cnVjdCB6eGRnX3N1cmZhY2VfdjZfaW50ZXJmYWNlIHNsX3hkZ19zdXJmYWNlX2ltcGxlbWVu dGF0aW9uID0gew0KLStzdGF0aWMgY29uc3Qgc3RydWN0IHhkZ19zdXJmYWNlX2ludGVyZmFjZSBz bF94ZGdfc3VyZmFjZV9pbXBsZW1lbnRhdGlvbiA9IHsNCi0gICAgIHNsX3hkZ19zdXJmYWNlX2Rl c3Ryb3ksIHNsX3hkZ19zdXJmYWNlX2dldF90b3BsZXZlbCwNCi0gICAgIHNsX3hkZ19zdXJmYWNl X2dldF9wb3B1cCwgc2xfeGRnX3N1cmZhY2Vfc2V0X3dpbmRvd19nZW9tZXRyeSwNCi0gICAgIHNs X3hkZ19zdXJmYWNlX2Fja19jb25maWd1cmV9Ow0KLSANCi0gc3RhdGljIHZvaWQgc2xfeGRnX3N1 cmZhY2VfY29uZmlndXJlKHZvaWQqIGRhdGEsDQotLSAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICBzdHJ1Y3QgenhkZ19zdXJmYWNlX3Y2KiB4ZGdfc3VyZmFjZSwNCi0rICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cnVjdCB4ZGdfc3VyZmFjZSogeGRnX3N1 cmZhY2UsDQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCBz ZXJpYWwpIHsNCi0tICBzdHJ1Y3Qgc2xfaG9zdF94ZGdfc3VyZmFjZSogaG9zdCA9IHp4ZGdfc3Vy ZmFjZV92Nl9nZXRfdXNlcl9kYXRhKHhkZ19zdXJmYWNlKTsNCi0rICBzdHJ1Y3Qgc2xfaG9zdF94 ZGdfc3VyZmFjZSogaG9zdCA9IHhkZ19zdXJmYWNlX2dldF91c2VyX2RhdGEoeGRnX3N1cmZhY2Up Ow0KLSANCi0tICB6eGRnX3N1cmZhY2VfdjZfc2VuZF9jb25maWd1cmUoaG9zdC0+cmVzb3VyY2Us IHNlcmlhbCk7DQotKyAgeGRnX3N1cmZhY2Vfc2VuZF9jb25maWd1cmUoaG9zdC0+cmVzb3VyY2Us IHNlcmlhbCk7DQotIH0NCi0gDQotLXN0YXRpYyBjb25zdCBzdHJ1Y3QgenhkZ19zdXJmYWNlX3Y2 X2xpc3RlbmVyIHNsX3hkZ19zdXJmYWNlX2xpc3RlbmVyID0gew0KLStzdGF0aWMgY29uc3Qgc3Ry dWN0IHhkZ19zdXJmYWNlX2xpc3RlbmVyIHNsX3hkZ19zdXJmYWNlX2xpc3RlbmVyID0gew0KLSAg ICAgc2xfeGRnX3N1cmZhY2VfY29uZmlndXJlfTsNCi0gDQotIHN0YXRpYyB2b2lkIHNsX2Rlc3Ry b3lfaG9zdF94ZGdfc3VyZmFjZShzdHJ1Y3Qgd2xfcmVzb3VyY2UqIHJlc291cmNlKSB7DQotICAg c3RydWN0IHNsX2hvc3RfeGRnX3N1cmZhY2UqIGhvc3QgPSB3bF9yZXNvdXJjZV9nZXRfdXNlcl9k YXRhKHJlc291cmNlKTsNCi0gDQotLSAgenhkZ19zdXJmYWNlX3Y2X2Rlc3Ryb3koaG9zdC0+cHJv eHkpOw0KLSsgIHhkZ19zdXJmYWNlX2Rlc3Ryb3koaG9zdC0+cHJveHkpOw0KLSAgIHdsX3Jlc291 cmNlX3NldF91c2VyX2RhdGEocmVzb3VyY2UsIE5VTEwpOw0KLSAgIGZyZWUoaG9zdCk7DQotIH0N Ci0gDQotLXN0YXRpYyB2b2lkIHNsX3hkZ19zaGVsbF9kZXN0cm95KHN0cnVjdCB3bF9jbGllbnQq IGNsaWVudCwNCi0rc3RhdGljIHZvaWQgc2xfeGRnX3dtX2Jhc2VfZGVzdHJveShzdHJ1Y3Qgd2xf Y2xpZW50KiBjbGllbnQsDQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cnVj dCB3bF9yZXNvdXJjZSogcmVzb3VyY2UpIHsNCi0gICB3bF9yZXNvdXJjZV9kZXN0cm95KHJlc291 cmNlKTsNCi0gfQ0KLSANCi0tc3RhdGljIHZvaWQgc2xfeGRnX3NoZWxsX2NyZWF0ZV9wb3NpdGlv bmVyKHN0cnVjdCB3bF9jbGllbnQqIGNsaWVudCwNCi0rc3RhdGljIHZvaWQgc2xfeGRnX3dtX2Jh c2VfY3JlYXRlX3Bvc2l0aW9uZXIoc3RydWN0IHdsX2NsaWVudCogY2xpZW50LA0KLSAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3RydWN0IHdsX3Jlc291cmNlKiBy ZXNvdXJjZSwNCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVp bnQzMl90IGlkKSB7DQotLSAgc3RydWN0IHNsX2hvc3RfeGRnX3NoZWxsKiBob3N0ID0gd2xfcmVz b3VyY2VfZ2V0X3VzZXJfZGF0YShyZXNvdXJjZSk7DQotKyAgc3RydWN0IHNsX2hvc3RfeGRnX3dt X2Jhc2UqIGhvc3QgPSB3bF9yZXNvdXJjZV9nZXRfdXNlcl9kYXRhKHJlc291cmNlKTsNCi0gICBz dHJ1Y3Qgc2xfaG9zdF94ZGdfcG9zaXRpb25lciogaG9zdF94ZGdfcG9zaXRpb25lcjsNCi0gDQot ICAgaG9zdF94ZGdfcG9zaXRpb25lciA9IG1hbGxvYyhzaXplb2YoKmhvc3RfeGRnX3Bvc2l0aW9u ZXIpKTsNCi0gICBhc3NlcnQoaG9zdF94ZGdfcG9zaXRpb25lcik7DQotIA0KLSAgIGhvc3RfeGRn X3Bvc2l0aW9uZXItPmN0eCA9IGhvc3QtPmN0eDsNCi0tICBob3N0X3hkZ19wb3NpdGlvbmVyLT5y ZXNvdXJjZSA9DQotLSAgICAgIHdsX3Jlc291cmNlX2NyZWF0ZShjbGllbnQsICZ6eGRnX3Bvc2l0 aW9uZXJfdjZfaW50ZXJmYWNlLCAxLCBpZCk7DQotKyAgaG9zdF94ZGdfcG9zaXRpb25lci0+cmVz b3VyY2UgPSB3bF9yZXNvdXJjZV9jcmVhdGUoDQotKyAgICAgIGNsaWVudCwgJnhkZ19wb3NpdGlv bmVyX2ludGVyZmFjZSwNCi0rICAgICAgd2xfcmVzb3VyY2VfZ2V0X3ZlcnNpb24ocmVzb3VyY2Up LCBpZCk7DQotICAgd2xfcmVzb3VyY2Vfc2V0X2ltcGxlbWVudGF0aW9uKA0KLSAgICAgICBob3N0 X3hkZ19wb3NpdGlvbmVyLT5yZXNvdXJjZSwgJnNsX3hkZ19wb3NpdGlvbmVyX2ltcGxlbWVudGF0 aW9uLA0KLSAgICAgICBob3N0X3hkZ19wb3NpdGlvbmVyLCBzbF9kZXN0cm95X2hvc3RfeGRnX3Bv c2l0aW9uZXIpOw0KLS0gIGhvc3RfeGRnX3Bvc2l0aW9uZXItPnByb3h5ID0genhkZ19zaGVsbF92 Nl9jcmVhdGVfcG9zaXRpb25lcihob3N0LT5wcm94eSk7DQotLSAgenhkZ19wb3NpdGlvbmVyX3Y2 X3NldF91c2VyX2RhdGEoaG9zdF94ZGdfcG9zaXRpb25lci0+cHJveHksDQotLSAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgaG9zdF94ZGdfcG9zaXRpb25lcik7DQotKyAgaG9zdF94 ZGdfcG9zaXRpb25lci0+cHJveHkgPSB4ZGdfd21fYmFzZV9jcmVhdGVfcG9zaXRpb25lcihob3N0 LT5wcm94eSk7DQotKyAgeGRnX3Bvc2l0aW9uZXJfc2V0X3VzZXJfZGF0YShob3N0X3hkZ19wb3Np dGlvbmVyLT5wcm94eSwNCi0rICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhvc3RfeGRn X3Bvc2l0aW9uZXIpOw0KLSB9DQotIA0KLS1zdGF0aWMgdm9pZCBzbF94ZGdfc2hlbGxfZ2V0X3hk Z19zdXJmYWNlKHN0cnVjdCB3bF9jbGllbnQqIGNsaWVudCwNCi0rc3RhdGljIHZvaWQgc2xfeGRn X3dtX2Jhc2VfZ2V0X3hkZ19zdXJmYWNlKHN0cnVjdCB3bF9jbGllbnQqIGNsaWVudCwNCi0gICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJ1Y3Qgd2xfcmVzb3VyY2Uq IHJlc291cmNlLA0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVp bnQzMl90IGlkLA0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0 cnVjdCB3bF9yZXNvdXJjZSogc3VyZmFjZV9yZXNvdXJjZSkgew0KLS0gIHN0cnVjdCBzbF9ob3N0 X3hkZ19zaGVsbCogaG9zdCA9IHdsX3Jlc291cmNlX2dldF91c2VyX2RhdGEocmVzb3VyY2UpOw0K LSsgIHN0cnVjdCBzbF9ob3N0X3hkZ193bV9iYXNlKiBob3N0ID0gd2xfcmVzb3VyY2VfZ2V0X3Vz ZXJfZGF0YShyZXNvdXJjZSk7DQotICAgc3RydWN0IHNsX2hvc3Rfc3VyZmFjZSogaG9zdF9zdXJm YWNlID0NCi0gICAgICAgd2xfcmVzb3VyY2VfZ2V0X3VzZXJfZGF0YShzdXJmYWNlX3Jlc291cmNl KTsNCi0gICBzdHJ1Y3Qgc2xfaG9zdF94ZGdfc3VyZmFjZSogaG9zdF94ZGdfc3VyZmFjZTsNCi1A QCAtNDkzLDcxICs0OTYsNzUgQEAgc3RhdGljIHZvaWQgc2xfeGRnX3NoZWxsX2dldF94ZGdfc3Vy ZmFjZShzdHJ1Y3Qgd2xfY2xpZW50KiBjbGllbnQsDQotICAgYXNzZXJ0KGhvc3RfeGRnX3N1cmZh Y2UpOw0KLSANCi0gICBob3N0X3hkZ19zdXJmYWNlLT5jdHggPSBob3N0LT5jdHg7DQotLSAgaG9z dF94ZGdfc3VyZmFjZS0+cmVzb3VyY2UgPQ0KLS0gICAgICB3bF9yZXNvdXJjZV9jcmVhdGUoY2xp ZW50LCAmenhkZ19zdXJmYWNlX3Y2X2ludGVyZmFjZSwgMSwgaWQpOw0KLSsgIGhvc3RfeGRnX3N1 cmZhY2UtPnJlc291cmNlID0gd2xfcmVzb3VyY2VfY3JlYXRlKA0KLSsgICAgICBjbGllbnQsICZ4 ZGdfc3VyZmFjZV9pbnRlcmZhY2UsDQotKyAgICAgIHdsX3Jlc291cmNlX2dldF92ZXJzaW9uKHJl c291cmNlKSwgaWQpOw0KLSAgIHdsX3Jlc291cmNlX3NldF9pbXBsZW1lbnRhdGlvbihob3N0X3hk Z19zdXJmYWNlLT5yZXNvdXJjZSwNCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg JnNsX3hkZ19zdXJmYWNlX2ltcGxlbWVudGF0aW9uLA0KLSAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICBob3N0X3hkZ19zdXJmYWNlLCBzbF9kZXN0cm95X2hvc3RfeGRnX3N1cmZhY2Up Ow0KLSAgIGhvc3RfeGRnX3N1cmZhY2UtPnByb3h5ID0NCi0tICAgICAgenhkZ19zaGVsbF92Nl9n ZXRfeGRnX3N1cmZhY2UoaG9zdC0+cHJveHksIGhvc3Rfc3VyZmFjZS0+cHJveHkpOw0KLS0gIHp4 ZGdfc3VyZmFjZV92Nl9zZXRfdXNlcl9kYXRhKGhvc3RfeGRnX3N1cmZhY2UtPnByb3h5LCBob3N0 X3hkZ19zdXJmYWNlKTsNCi0tICB6eGRnX3N1cmZhY2VfdjZfYWRkX2xpc3RlbmVyKGhvc3RfeGRn X3N1cmZhY2UtPnByb3h5LA0KLS0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJnNsX3hk Z19zdXJmYWNlX2xpc3RlbmVyLCBob3N0X3hkZ19zdXJmYWNlKTsNCi0rICAgICAgeGRnX3dtX2Jh c2VfZ2V0X3hkZ19zdXJmYWNlKGhvc3QtPnByb3h5LCBob3N0X3N1cmZhY2UtPnByb3h5KTsNCi0r ICB4ZGdfc3VyZmFjZV9zZXRfdXNlcl9kYXRhKGhvc3RfeGRnX3N1cmZhY2UtPnByb3h5LCBob3N0 X3hkZ19zdXJmYWNlKTsNCi0rICB4ZGdfc3VyZmFjZV9hZGRfbGlzdGVuZXIoaG9zdF94ZGdfc3Vy ZmFjZS0+cHJveHksDQotKyAgICAgICAgICAgICAgICAgICAgICAgICAgICZzbF94ZGdfc3VyZmFj ZV9saXN0ZW5lciwgaG9zdF94ZGdfc3VyZmFjZSk7DQotICAgaG9zdF9zdXJmYWNlLT5oYXNfcm9s ZSA9IDE7DQotIH0NCi0gDQotLXN0YXRpYyB2b2lkIHNsX3hkZ19zaGVsbF9wb25nKHN0cnVjdCB3 bF9jbGllbnQqIGNsaWVudCwNCi0rc3RhdGljIHZvaWQgc2xfeGRnX3dtX2Jhc2VfcG9uZyhzdHJ1 Y3Qgd2xfY2xpZW50KiBjbGllbnQsDQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0 cnVjdCB3bF9yZXNvdXJjZSogcmVzb3VyY2UsDQotICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIHVpbnQzMl90IHNlcmlhbCkgew0KLS0gIHN0cnVjdCBzbF9ob3N0X3hkZ19zaGVsbCogaG9z dCA9IHdsX3Jlc291cmNlX2dldF91c2VyX2RhdGEocmVzb3VyY2UpOw0KLSsgIHN0cnVjdCBzbF9o b3N0X3hkZ193bV9iYXNlKiBob3N0ID0gd2xfcmVzb3VyY2VfZ2V0X3VzZXJfZGF0YShyZXNvdXJj ZSk7DQotIA0KLS0gIHp4ZGdfc2hlbGxfdjZfcG9uZyhob3N0LT5wcm94eSwgc2VyaWFsKTsNCi0r ICB4ZGdfd21fYmFzZV9wb25nKGhvc3QtPnByb3h5LCBzZXJpYWwpOw0KLSB9DQotIA0KLS1zdGF0 aWMgY29uc3Qgc3RydWN0IHp4ZGdfc2hlbGxfdjZfaW50ZXJmYWNlIHNsX3hkZ19zaGVsbF9pbXBs ZW1lbnRhdGlvbiA9IHsNCi0tICAgIHNsX3hkZ19zaGVsbF9kZXN0cm95LCBzbF94ZGdfc2hlbGxf Y3JlYXRlX3Bvc2l0aW9uZXIsDQotLSAgICBzbF94ZGdfc2hlbGxfZ2V0X3hkZ19zdXJmYWNlLCBz bF94ZGdfc2hlbGxfcG9uZ307DQotK3N0YXRpYyBjb25zdCBzdHJ1Y3QgeGRnX3dtX2Jhc2VfaW50 ZXJmYWNlIHNsX3hkZ193bV9iYXNlX2ltcGxlbWVudGF0aW9uID0gew0KLSsgICAgc2xfeGRnX3dt X2Jhc2VfZGVzdHJveSwgc2xfeGRnX3dtX2Jhc2VfY3JlYXRlX3Bvc2l0aW9uZXIsDQotKyAgICBz bF94ZGdfd21fYmFzZV9nZXRfeGRnX3N1cmZhY2UsIHNsX3hkZ193bV9iYXNlX3Bvbmd9Ow0KLSAN Ci0tc3RhdGljIHZvaWQgc2xfeGRnX3NoZWxsX3Bpbmcodm9pZCogZGF0YSwNCi0tICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgc3RydWN0IHp4ZGdfc2hlbGxfdjYqIHhkZ19zaGVsbCwNCi0r c3RhdGljIHZvaWQgc2xfeGRnX3dtX2Jhc2VfcGluZyh2b2lkKiBkYXRhLA0KLSsgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICBzdHJ1Y3QgeGRnX3dtX2Jhc2UqIHhkZ193bV9iYXNlLA0KLSAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCBzZXJpYWwpIHsNCi0tICBzdHJ1 Y3Qgc2xfaG9zdF94ZGdfc2hlbGwqIGhvc3QgPSB6eGRnX3NoZWxsX3Y2X2dldF91c2VyX2RhdGEo eGRnX3NoZWxsKTsNCi0rICBzdHJ1Y3Qgc2xfaG9zdF94ZGdfd21fYmFzZSogaG9zdCA9IHhkZ193 bV9iYXNlX2dldF91c2VyX2RhdGEoeGRnX3dtX2Jhc2UpOw0KLSANCi0tICB6eGRnX3NoZWxsX3Y2 X3NlbmRfcGluZyhob3N0LT5yZXNvdXJjZSwgc2VyaWFsKTsNCi0rICB4ZGdfd21fYmFzZV9zZW5k X3BpbmcoaG9zdC0+cmVzb3VyY2UsIHNlcmlhbCk7DQotIH0NCi0gDQotLXN0YXRpYyBjb25zdCBz dHJ1Y3QgenhkZ19zaGVsbF92Nl9saXN0ZW5lciBzbF94ZGdfc2hlbGxfbGlzdGVuZXIgPSB7DQot LSAgICBzbF94ZGdfc2hlbGxfcGluZ307DQotK3N0YXRpYyBjb25zdCBzdHJ1Y3QgeGRnX3dtX2Jh c2VfbGlzdGVuZXIgc2xfeGRnX3dtX2Jhc2VfbGlzdGVuZXIgPSB7DQotKyAgICBzbF94ZGdfd21f YmFzZV9waW5nfTsNCi0gDQotLXN0YXRpYyB2b2lkIHNsX2Rlc3Ryb3lfaG9zdF94ZGdfc2hlbGwo c3RydWN0IHdsX3Jlc291cmNlKiByZXNvdXJjZSkgew0KLS0gIHN0cnVjdCBzbF9ob3N0X3hkZ19z aGVsbCogaG9zdCA9IHdsX3Jlc291cmNlX2dldF91c2VyX2RhdGEocmVzb3VyY2UpOw0KLStzdGF0 aWMgdm9pZCBzbF9kZXN0cm95X2hvc3RfeGRnX3dtX2Jhc2Uoc3RydWN0IHdsX3Jlc291cmNlKiBy ZXNvdXJjZSkgew0KLSsgIHN0cnVjdCBzbF9ob3N0X3hkZ193bV9iYXNlKiBob3N0ID0gd2xfcmVz b3VyY2VfZ2V0X3VzZXJfZGF0YShyZXNvdXJjZSk7DQotIA0KLS0gIHp4ZGdfc2hlbGxfdjZfZGVz dHJveShob3N0LT5wcm94eSk7DQotKyAgeGRnX3dtX2Jhc2VfZGVzdHJveShob3N0LT5wcm94eSk7 DQotICAgd2xfcmVzb3VyY2Vfc2V0X3VzZXJfZGF0YShyZXNvdXJjZSwgTlVMTCk7DQotICAgZnJl ZShob3N0KTsNCi0gfQ0KLSANCi0tc3RhdGljIHZvaWQgc2xfYmluZF9ob3N0X3hkZ19zaGVsbChz dHJ1Y3Qgd2xfY2xpZW50KiBjbGllbnQsDQotK3N0YXRpYyB2b2lkIHNsX2JpbmRfaG9zdF94ZGdf d21fYmFzZShzdHJ1Y3Qgd2xfY2xpZW50KiBjbGllbnQsDQotICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgdm9pZCogZGF0YSwNCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICB1aW50MzJfdCB2ZXJzaW9uLA0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIHVpbnQzMl90IGlkKSB7DQotICAgc3RydWN0IHNsX2NvbnRleHQqIGN0eCA9IChzdHJ1 Y3Qgc2xfY29udGV4dCopZGF0YTsNCi0tICBzdHJ1Y3Qgc2xfaG9zdF94ZGdfc2hlbGwqIGhvc3Q7 DQotKyAgc3RydWN0IHNsX2hvc3RfeGRnX3dtX2Jhc2UqIGhvc3Q7DQotIA0KLSAgIGhvc3QgPSBt YWxsb2Moc2l6ZW9mKCpob3N0KSk7DQotICAgYXNzZXJ0KGhvc3QpOw0KLSAgIGhvc3QtPmN0eCA9 IGN0eDsNCi0tICBob3N0LT5yZXNvdXJjZSA9IHdsX3Jlc291cmNlX2NyZWF0ZShjbGllbnQsICZ6 eGRnX3NoZWxsX3Y2X2ludGVyZmFjZSwgMSwgaWQpOw0KLS0gIHdsX3Jlc291cmNlX3NldF9pbXBs ZW1lbnRhdGlvbihob3N0LT5yZXNvdXJjZSwgJnNsX3hkZ19zaGVsbF9pbXBsZW1lbnRhdGlvbiwN Ci0tICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaG9zdCwgc2xfZGVzdHJveV9ob3N0 X3hkZ19zaGVsbCk7DQotKyAgaG9zdC0+cmVzb3VyY2UgPSB3bF9yZXNvdXJjZV9jcmVhdGUoY2xp ZW50LCAmeGRnX3dtX2Jhc2VfaW50ZXJmYWNlLA0KLSsJCQkJICAgICAgY3R4LT54ZGdfd21fYmFz ZS0+aWQsIGlkKTsNCi0rICB3bF9yZXNvdXJjZV9zZXRfaW1wbGVtZW50YXRpb24oaG9zdC0+cmVz b3VyY2UsICZzbF94ZGdfd21fYmFzZV9pbXBsZW1lbnRhdGlvbiwNCi0rICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgaG9zdCwgc2xfZGVzdHJveV9ob3N0X3hkZ193bV9iYXNlKTsNCi0g ICBob3N0LT5wcm94eSA9DQotICAgICAgIHdsX3JlZ2lzdHJ5X2JpbmQod2xfZGlzcGxheV9nZXRf cmVnaXN0cnkoY3R4LT5kaXNwbGF5KSwNCi0tICAgICAgICAgICAgICAgICAgICAgICBjdHgtPnhk Z19zaGVsbC0+aWQsICZ6eGRnX3NoZWxsX3Y2X2ludGVyZmFjZSwgMSk7DQotLSAgenhkZ19zaGVs bF92Nl9zZXRfdXNlcl9kYXRhKGhvc3QtPnByb3h5LCBob3N0KTsNCi0tICB6eGRnX3NoZWxsX3Y2 X2FkZF9saXN0ZW5lcihob3N0LT5wcm94eSwgJnNsX3hkZ19zaGVsbF9saXN0ZW5lciwgaG9zdCk7 DQotKyAgICAgICAgICAgICAgICAgICAgICAgY3R4LT54ZGdfd21fYmFzZS0+aWQsICZ4ZGdfd21f YmFzZV9pbnRlcmZhY2UsDQotKyAgICAgICAgICAgICAgICAgICAgICAgY3R4LT54ZGdfd21fYmFz ZS0+dmVyc2lvbik7DQotKyAgeGRnX3dtX2Jhc2Vfc2V0X3VzZXJfZGF0YShob3N0LT5wcm94eSwg aG9zdCk7DQotKyAgeGRnX3dtX2Jhc2VfYWRkX2xpc3RlbmVyKGhvc3QtPnByb3h5LCAmc2xfeGRn X3dtX2Jhc2VfbGlzdGVuZXIsIGhvc3QpOw0KLSB9DQotIA0KLS1zdHJ1Y3Qgc2xfZ2xvYmFsKiBz bF94ZGdfc2hlbGxfZ2xvYmFsX2NyZWF0ZShzdHJ1Y3Qgc2xfY29udGV4dCogY3R4KSB7DQotLSAg cmV0dXJuIHNsX2dsb2JhbF9jcmVhdGUoY3R4LCAmenhkZ19zaGVsbF92Nl9pbnRlcmZhY2UsIDEs IGN0eCwNCi0tICAgICAgICAgICAgICAgICAgICAgICAgICBzbF9iaW5kX2hvc3RfeGRnX3NoZWxs KTsNCi0rc3RydWN0IHNsX2dsb2JhbCogc2xfeGRnX3dtX2Jhc2VfZ2xvYmFsX2NyZWF0ZShzdHJ1 Y3Qgc2xfY29udGV4dCogY3R4KSB7DQotKyAgcmV0dXJuIHNsX2dsb2JhbF9jcmVhdGUoY3R4LCAm eGRnX3dtX2Jhc2VfaW50ZXJmYWNlLA0KLSsgICAgICAgICAgICAgICAgICAgICAgICAgIGN0eC0+ eGRnX3dtX2Jhc2UtPnZlcnNpb24sIGN0eCwNCi0rICAgICAgICAgICAgICAgICAgICAgICAgICBz bF9iaW5kX2hvc3RfeGRnX3dtX2Jhc2UpOw0KLSB9DQotZGlmZiAtLWdpdCBhL3ZtX3Rvb2xzL3Nv bW1lbGllci9zb21tZWxpZXIuYyBiL3ZtX3Rvb2xzL3NvbW1lbGllci9zb21tZWxpZXIuYw0KLWlu ZGV4IDk4ZTEwMTEzNS4uOWE1NmYzNTBkIDEwMDY0NA0KLS0tLSBhL3ZtX3Rvb2xzL3NvbW1lbGll ci9zb21tZWxpZXIuYw0KLSsrKyBiL3ZtX3Rvb2xzL3NvbW1lbGllci9zb21tZWxpZXIuYw0KLUBA IC0zNSw3ICszNSw3IEBADQotICNpbmNsdWRlICJyZWxhdGl2ZS1wb2ludGVyLXVuc3RhYmxlLXYx LWNsaWVudC1wcm90b2NvbC5oIg0KLSAjaW5jbHVkZSAidGV4dC1pbnB1dC11bnN0YWJsZS12MS1j bGllbnQtcHJvdG9jb2wuaCINCi0gI2luY2x1ZGUgInZpZXdwb3J0ZXItY2xpZW50LXByb3RvY29s LmgiDQotLSNpbmNsdWRlICJ4ZGctc2hlbGwtdW5zdGFibGUtdjYtY2xpZW50LXByb3RvY29sLmgi DQotKyNpbmNsdWRlICJ4ZGctc2hlbGwtY2xpZW50LXByb3RvY29sLmgiDQotIA0KLSAjZGVmaW5l IGVycm5vX2Fzc2VydChydikgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICBcDQotICAgeyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIFwNCi1AQCAtMjgxLDE0ICsyODEsMTQgQEAgdm9pZCBzbF9zeW5jX3Bv aW50X2Rlc3Ryb3koc3RydWN0IHNsX3N5bmNfcG9pbnQqIHN5bmNfcG9pbnQpIHsNCi0gICBmcmVl KHN5bmNfcG9pbnQpOw0KLSB9DQotIA0KLS1zdGF0aWMgdm9pZCBzbF9pbnRlcm5hbF94ZGdfc2hl bGxfcGluZyh2b2lkKiBkYXRhLA0KLS0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICBzdHJ1Y3QgenhkZ19zaGVsbF92NiogeGRnX3NoZWxsLA0KLStzdGF0aWMgdm9pZCBzbF9p bnRlcm5hbF94ZGdfd21fYmFzZV9waW5nKHZvaWQqIGRhdGEsDQotKyAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIHN0cnVjdCB4ZGdfd21fYmFzZSogeGRnX3dtX2Jhc2UsDQot ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90IHNlcmlhbCkg ew0KLS0gIHp4ZGdfc2hlbGxfdjZfcG9uZyh4ZGdfc2hlbGwsIHNlcmlhbCk7DQotKyAgeGRnX3dt X2Jhc2VfcG9uZyh4ZGdfd21fYmFzZSwgc2VyaWFsKTsNCi0gfQ0KLSANCi0tc3RhdGljIGNvbnN0 IHN0cnVjdCB6eGRnX3NoZWxsX3Y2X2xpc3RlbmVyIHNsX2ludGVybmFsX3hkZ19zaGVsbF9saXN0 ZW5lciA9IHsNCi0tICAgIHNsX2ludGVybmFsX3hkZ19zaGVsbF9waW5nfTsNCi0rc3RhdGljIGNv bnN0IHN0cnVjdCB4ZGdfd21fYmFzZV9saXN0ZW5lciBzbF9pbnRlcm5hbF94ZGdfd21fYmFzZV9s aXN0ZW5lciA9IHsNCi0rICAgIHNsX2ludGVybmFsX3hkZ193bV9iYXNlX3Bpbmd9Ow0KLSANCi0g c3RhdGljIHZvaWQgc2xfc2VuZF9jb25maWd1cmVfbm90aWZ5KHN0cnVjdCBzbF93aW5kb3cqIHdp bmRvdykgew0KLSAgIHhjYl9jb25maWd1cmVfbm90aWZ5X2V2ZW50X3QgZXZlbnQgPSB7DQotQEAg LTQ1MSw4ICs0NTEsOCBAQCBpbnQgc2xfcHJvY2Vzc19wZW5kaW5nX2NvbmZpZ3VyZV9hY2tzKHN0 cnVjdCBzbF93aW5kb3cqIHdpbmRvdywNCi0gICB9DQotIA0KLSAgIGlmICh3aW5kb3ctPnhkZ19z dXJmYWNlKSB7DQotLSAgICB6eGRnX3N1cmZhY2VfdjZfYWNrX2NvbmZpZ3VyZSh3aW5kb3ctPnhk Z19zdXJmYWNlLA0KLS0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgd2luZG93LT5w ZW5kaW5nX2NvbmZpZy5zZXJpYWwpOw0KLSsgICAgeGRnX3N1cmZhY2VfYWNrX2NvbmZpZ3VyZSh3 aW5kb3ctPnhkZ19zdXJmYWNlLA0KLSsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB3aW5k b3ctPnBlbmRpbmdfY29uZmlnLnNlcmlhbCk7DQotICAgfQ0KLSAgIHdpbmRvdy0+cGVuZGluZ19j b25maWcuc2VyaWFsID0gMDsNCi0gDQotQEAgLTQ2Myw4ICs0NjMsOCBAQCBpbnQgc2xfcHJvY2Vz c19wZW5kaW5nX2NvbmZpZ3VyZV9hY2tzKHN0cnVjdCBzbF93aW5kb3cqIHdpbmRvdywNCi0gfQ0K LSANCi0gc3RhdGljIHZvaWQgc2xfaW50ZXJuYWxfeGRnX3N1cmZhY2VfY29uZmlndXJlKA0KLS0g ICAgdm9pZCogZGF0YSwgc3RydWN0IHp4ZGdfc3VyZmFjZV92NiogeGRnX3N1cmZhY2UsIHVpbnQz Ml90IHNlcmlhbCkgew0KLS0gIHN0cnVjdCBzbF93aW5kb3cqIHdpbmRvdyA9IHp4ZGdfc3VyZmFj ZV92Nl9nZXRfdXNlcl9kYXRhKHhkZ19zdXJmYWNlKTsNCi0rICAgIHZvaWQqIGRhdGEsIHN0cnVj dCB4ZGdfc3VyZmFjZSogeGRnX3N1cmZhY2UsIHVpbnQzMl90IHNlcmlhbCkgew0KLSsgIHN0cnVj dCBzbF93aW5kb3cqIHdpbmRvdyA9IHhkZ19zdXJmYWNlX2dldF91c2VyX2RhdGEoeGRnX3N1cmZh Y2UpOw0KLSANCi0gICB3aW5kb3ctPm5leHRfY29uZmlnLnNlcmlhbCA9IHNlcmlhbDsNCi0gICBp ZiAoIXdpbmRvdy0+cGVuZGluZ19jb25maWcuc2VyaWFsKSB7DQotQEAgLTQ4NSwxNiArNDg1LDE2 IEBAIHN0YXRpYyB2b2lkIHNsX2ludGVybmFsX3hkZ19zdXJmYWNlX2NvbmZpZ3VyZSgNCi0gICB9 DQotIH0NCi0gDQotLXN0YXRpYyBjb25zdCBzdHJ1Y3QgenhkZ19zdXJmYWNlX3Y2X2xpc3RlbmVy IHNsX2ludGVybmFsX3hkZ19zdXJmYWNlX2xpc3RlbmVyID0NCi0rc3RhdGljIGNvbnN0IHN0cnVj dCB4ZGdfc3VyZmFjZV9saXN0ZW5lciBzbF9pbnRlcm5hbF94ZGdfc3VyZmFjZV9saXN0ZW5lciA9 DQotICAgICB7c2xfaW50ZXJuYWxfeGRnX3N1cmZhY2VfY29uZmlndXJlfTsNCi0gDQotIHN0YXRp YyB2b2lkIHNsX2ludGVybmFsX3hkZ190b3BsZXZlbF9jb25maWd1cmUoDQotICAgICB2b2lkKiBk YXRhLA0KLS0gICAgc3RydWN0IHp4ZGdfdG9wbGV2ZWxfdjYqIHhkZ190b3BsZXZlbCwNCi0rICAg IHN0cnVjdCB4ZGdfdG9wbGV2ZWwqIHhkZ190b3BsZXZlbCwNCi0gICAgIGludDMyX3Qgd2lkdGgs DQotICAgICBpbnQzMl90IGhlaWdodCwNCi0gICAgIHN0cnVjdCB3bF9hcnJheSogc3RhdGVzKSB7 DQotLSAgc3RydWN0IHNsX3dpbmRvdyogd2luZG93ID0genhkZ190b3BsZXZlbF92Nl9nZXRfdXNl cl9kYXRhKHhkZ190b3BsZXZlbCk7DQotKyAgc3RydWN0IHNsX3dpbmRvdyogd2luZG93ID0geGRn X3RvcGxldmVsX2dldF91c2VyX2RhdGEoeGRnX3RvcGxldmVsKTsNCi0gICBpbnQgYWN0aXZhdGVk ID0gMDsNCi0gICB1aW50MzJfdCogc3RhdGU7DQotICAgaW50IGkgPSAwOw0KLUBAIC01MjQsMjEg KzUyNCwyMSBAQCBzdGF0aWMgdm9pZCBzbF9pbnRlcm5hbF94ZGdfdG9wbGV2ZWxfY29uZmlndXJl KA0KLSANCi0gICB3aW5kb3ctPmFsbG93X3Jlc2l6ZSA9IDE7DQotICAgd2xfYXJyYXlfZm9yX2Vh Y2goc3RhdGUsIHN0YXRlcykgew0KLS0gICAgaWYgKCpzdGF0ZSA9PSBaWERHX1RPUExFVkVMX1Y2 X1NUQVRFX0ZVTExTQ1JFRU4pIHsNCi0rICAgIGlmICgqc3RhdGUgPT0gWERHX1RPUExFVkVMX1NU QVRFX0ZVTExTQ1JFRU4pIHsNCi0gICAgICAgd2luZG93LT5hbGxvd19yZXNpemUgPSAwOw0KLSAg ICAgICB3aW5kb3ctPm5leHRfY29uZmlnLnN0YXRlc1tpKytdID0NCi0gICAgICAgICAgIHdpbmRv dy0+Y3R4LT5hdG9tc1tBVE9NX05FVF9XTV9TVEFURV9GVUxMU0NSRUVOXS52YWx1ZTsNCi0gICAg IH0NCi0tICAgIGlmICgqc3RhdGUgPT0gWlhER19UT1BMRVZFTF9WNl9TVEFURV9NQVhJTUlaRUQp IHsNCi0rICAgIGlmICgqc3RhdGUgPT0gWERHX1RPUExFVkVMX1NUQVRFX01BWElNSVpFRCkgew0K LSAgICAgICB3aW5kb3ctPmFsbG93X3Jlc2l6ZSA9IDA7DQotICAgICAgIHdpbmRvdy0+bmV4dF9j b25maWcuc3RhdGVzW2krK10gPQ0KLSAgICAgICAgICAgd2luZG93LT5jdHgtPmF0b21zW0FUT01f TkVUX1dNX1NUQVRFX01BWElNSVpFRF9WRVJUXS52YWx1ZTsNCi0gICAgICAgd2luZG93LT5uZXh0 X2NvbmZpZy5zdGF0ZXNbaSsrXSA9DQotICAgICAgICAgICB3aW5kb3ctPmN0eC0+YXRvbXNbQVRP TV9ORVRfV01fU1RBVEVfTUFYSU1JWkVEX0hPUlpdLnZhbHVlOw0KLSAgICAgfQ0KLS0gICAgaWYg KCpzdGF0ZSA9PSBaWERHX1RPUExFVkVMX1Y2X1NUQVRFX0FDVElWQVRFRCkNCi0rICAgIGlmICgq c3RhdGUgPT0gWERHX1RPUExFVkVMX1NUQVRFX0FDVElWQVRFRCkNCi0gICAgICAgYWN0aXZhdGVk ID0gMTsNCi0tICAgIGlmICgqc3RhdGUgPT0gWlhER19UT1BMRVZFTF9WNl9TVEFURV9SRVNJWklO RykNCi0rICAgIGlmICgqc3RhdGUgPT0gWERHX1RPUExFVkVMX1NUQVRFX1JFU0laSU5HKQ0KLSAg ICAgICB3aW5kb3ctPmFsbG93X3Jlc2l6ZSA9IDA7DQotICAgfQ0KLSANCi1AQCAtNTU0LDggKzU1 NCw4IEBAIHN0YXRpYyB2b2lkIHNsX2ludGVybmFsX3hkZ190b3BsZXZlbF9jb25maWd1cmUoDQot IH0NCi0gDQotIHN0YXRpYyB2b2lkIHNsX2ludGVybmFsX3hkZ190b3BsZXZlbF9jbG9zZSgNCi0t ICAgIHZvaWQqIGRhdGEsIHN0cnVjdCB6eGRnX3RvcGxldmVsX3Y2KiB4ZGdfdG9wbGV2ZWwpIHsN Ci0tICBzdHJ1Y3Qgc2xfd2luZG93KiB3aW5kb3cgPSB6eGRnX3RvcGxldmVsX3Y2X2dldF91c2Vy X2RhdGEoeGRnX3RvcGxldmVsKTsNCi0rICAgIHZvaWQqIGRhdGEsIHN0cnVjdCB4ZGdfdG9wbGV2 ZWwqIHhkZ190b3BsZXZlbCkgew0KLSsgIHN0cnVjdCBzbF93aW5kb3cqIHdpbmRvdyA9IHhkZ190 b3BsZXZlbF9nZXRfdXNlcl9kYXRhKHhkZ190b3BsZXZlbCk7DQotICAgeGNiX2NsaWVudF9tZXNz YWdlX2V2ZW50X3QgZXZlbnQgPSB7DQotICAgICAgIC5yZXNwb25zZV90eXBlID0gWENCX0NMSUVO VF9NRVNTQUdFLA0KLSAgICAgICAuZm9ybWF0ID0gMzIsDQotQEAgLTU3MiwyMSArNTcyLDIxIEBA IHN0YXRpYyB2b2lkIHNsX2ludGVybmFsX3hkZ190b3BsZXZlbF9jbG9zZSgNCi0gICAgICAgICAg ICAgICAgICBYQ0JfRVZFTlRfTUFTS19OT19FVkVOVCwgKGNvbnN0IGNoYXIqKSZldmVudCk7DQot IH0NCi0gDQotLXN0YXRpYyBjb25zdCBzdHJ1Y3QgenhkZ190b3BsZXZlbF92Nl9saXN0ZW5lcg0K LStzdGF0aWMgY29uc3Qgc3RydWN0IHhkZ190b3BsZXZlbF9saXN0ZW5lcg0KLSAgICAgc2xfaW50 ZXJuYWxfeGRnX3RvcGxldmVsX2xpc3RlbmVyID0ge3NsX2ludGVybmFsX3hkZ190b3BsZXZlbF9j b25maWd1cmUsDQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2xf aW50ZXJuYWxfeGRnX3RvcGxldmVsX2Nsb3NlfTsNCi0gDQotIHN0YXRpYyB2b2lkIHNsX2ludGVy bmFsX3hkZ19wb3B1cF9jb25maWd1cmUodm9pZCogZGF0YSwNCi0tICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJ1Y3QgenhkZ19wb3B1cF92NiogeGRnX3BvcHVw LA0KLSsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cnVjdCB4 ZGdfcG9wdXAqIHhkZ19wb3B1cCwNCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICBpbnQzMl90IHgsDQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgaW50MzJfdCB5LA0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIGludDMyX3Qgd2lkdGgsDQotICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgaW50MzJfdCBoZWlnaHQpIHt9DQotIA0KLSBzdGF0aWMgdm9pZCBz bF9pbnRlcm5hbF94ZGdfcG9wdXBfZG9uZSh2b2lkKiBkYXRhLA0KLS0gICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICBzdHJ1Y3QgenhkZ19wb3B1cF92NiogenhkZ19wb3B1cF92 Nikge30NCi0rICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3RydWN0IHhk Z19wb3B1cCogeGRnX3BvcHVwKSB7fQ0KLSANCi0tc3RhdGljIGNvbnN0IHN0cnVjdCB6eGRnX3Bv cHVwX3Y2X2xpc3RlbmVyIHNsX2ludGVybmFsX3hkZ19wb3B1cF9saXN0ZW5lciA9IHsNCi0rc3Rh dGljIGNvbnN0IHN0cnVjdCB4ZGdfcG9wdXBfbGlzdGVuZXIgc2xfaW50ZXJuYWxfeGRnX3BvcHVw X2xpc3RlbmVyID0gew0KLSAgICAgc2xfaW50ZXJuYWxfeGRnX3BvcHVwX2NvbmZpZ3VyZSwgc2xf aW50ZXJuYWxfeGRnX3BvcHVwX2RvbmV9Ow0KLSANCi0gc3RhdGljIHZvaWQgc2xfd2luZG93X3Nl dF93bV9zdGF0ZShzdHJ1Y3Qgc2xfd2luZG93KiB3aW5kb3csIGludCBzdGF0ZSkgew0KLUBAIC02 NTQsMTUgKzY1NCwxNSBAQCB2b2lkIHNsX3dpbmRvd191cGRhdGUoc3RydWN0IHNsX3dpbmRvdyog d2luZG93KSB7DQotICAgICAgIHdpbmRvdy0+YXVyYV9zdXJmYWNlID0gTlVMTDsNCi0gICAgIH0N Ci0gICAgIGlmICh3aW5kb3ctPnhkZ190b3BsZXZlbCkgew0KLS0gICAgICB6eGRnX3RvcGxldmVs X3Y2X2Rlc3Ryb3kod2luZG93LT54ZGdfdG9wbGV2ZWwpOw0KLSsgICAgICB4ZGdfdG9wbGV2ZWxf ZGVzdHJveSh3aW5kb3ctPnhkZ190b3BsZXZlbCk7DQotICAgICAgIHdpbmRvdy0+eGRnX3RvcGxl dmVsID0gTlVMTDsNCi0gICAgIH0NCi0gICAgIGlmICh3aW5kb3ctPnhkZ19wb3B1cCkgew0KLS0g ICAgICB6eGRnX3BvcHVwX3Y2X2Rlc3Ryb3kod2luZG93LT54ZGdfcG9wdXApOw0KLSsgICAgICB4 ZGdfcG9wdXBfZGVzdHJveSh3aW5kb3ctPnhkZ19wb3B1cCk7DQotICAgICAgIHdpbmRvdy0+eGRn X3BvcHVwID0gTlVMTDsNCi0gICAgIH0NCi0gICAgIGlmICh3aW5kb3ctPnhkZ19zdXJmYWNlKSB7 DQotLSAgICAgIHp4ZGdfc3VyZmFjZV92Nl9kZXN0cm95KHdpbmRvdy0+eGRnX3N1cmZhY2UpOw0K LSsgICAgICB4ZGdfc3VyZmFjZV9kZXN0cm95KHdpbmRvdy0+eGRnX3N1cmZhY2UpOw0KLSAgICAg ICB3aW5kb3ctPnhkZ19zdXJmYWNlID0gTlVMTDsNCi0gICAgIH0NCi0gICAgIHdpbmRvdy0+cmVh bGl6ZWQgPSAwOw0KLUBAIC02NzMsOCArNjczLDggQEAgdm9pZCBzbF93aW5kb3dfdXBkYXRlKHN0 cnVjdCBzbF93aW5kb3cqIHdpbmRvdykgew0KLSAgIGFzc2VydChob3N0X3N1cmZhY2UpOw0KLSAg IGFzc2VydCghaG9zdF9zdXJmYWNlLT5oYXNfcm9sZSk7DQotIA0KLS0gIGFzc2VydChjdHgtPnhk Z19zaGVsbCk7DQotLSAgYXNzZXJ0KGN0eC0+eGRnX3NoZWxsLT5pbnRlcm5hbCk7DQotKyAgYXNz ZXJ0KGN0eC0+eGRnX3dtX2Jhc2UpOw0KLSsgIGFzc2VydChjdHgtPnhkZ193bV9iYXNlLT5pbnRl cm5hbCk7DQotIA0KLSAgIGlmICh3aW5kb3ctPm1hbmFnZWQpIHsNCi0gICAgIGlmICh3aW5kb3ct PnRyYW5zaWVudF9mb3IgIT0gWENCX1dJTkRPV19OT05FKSB7DQotQEAgLTczNiwxMSArNzM2LDEx IEBAIHZvaWQgc2xfd2luZG93X3VwZGF0ZShzdHJ1Y3Qgc2xfd2luZG93KiB3aW5kb3cpIHsNCi0g ICB9DQotIA0KLSAgIGlmICghd2luZG93LT54ZGdfc3VyZmFjZSkgew0KLS0gICAgd2luZG93LT54 ZGdfc3VyZmFjZSA9IHp4ZGdfc2hlbGxfdjZfZ2V0X3hkZ19zdXJmYWNlKA0KLS0gICAgICAgIGN0 eC0+eGRnX3NoZWxsLT5pbnRlcm5hbCwgaG9zdF9zdXJmYWNlLT5wcm94eSk7DQotLSAgICB6eGRn X3N1cmZhY2VfdjZfc2V0X3VzZXJfZGF0YSh3aW5kb3ctPnhkZ19zdXJmYWNlLCB3aW5kb3cpOw0K LS0gICAgenhkZ19zdXJmYWNlX3Y2X2FkZF9saXN0ZW5lcih3aW5kb3ctPnhkZ19zdXJmYWNlLA0K LS0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmc2xfaW50ZXJuYWxfeGRnX3N1cmZh Y2VfbGlzdGVuZXIsIHdpbmRvdyk7DQotKyAgICB3aW5kb3ctPnhkZ19zdXJmYWNlID0geGRnX3dt X2Jhc2VfZ2V0X3hkZ19zdXJmYWNlKA0KLSsgICAgICAgIGN0eC0+eGRnX3dtX2Jhc2UtPmludGVy bmFsLCBob3N0X3N1cmZhY2UtPnByb3h5KTsNCi0rICAgIHhkZ19zdXJmYWNlX3NldF91c2VyX2Rh dGEod2luZG93LT54ZGdfc3VyZmFjZSwgd2luZG93KTsNCi0rICAgIHhkZ19zdXJmYWNlX2FkZF9s aXN0ZW5lcih3aW5kb3ctPnhkZ19zdXJmYWNlLA0KLSsgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICZzbF9pbnRlcm5hbF94ZGdfc3VyZmFjZV9saXN0ZW5lciwgd2luZG93KTsNCi0gICB9DQot IA0KLSAgIGlmIChjdHgtPmF1cmFfc2hlbGwpIHsNCi1AQCAtNzcwLDUwICs3NzAsNTAgQEAgdm9p ZCBzbF93aW5kb3dfdXBkYXRlKHN0cnVjdCBzbF93aW5kb3cqIHdpbmRvdykgew0KLSAgIC8vIHdp bmRvdyBpcyBjbG9zZWQuDQotICAgaWYgKGN0eC0+eHdheWxhbmQgfHwgIXBhcmVudCkgew0KLSAg ICAgaWYgKCF3aW5kb3ctPnhkZ190b3BsZXZlbCkgew0KLS0gICAgICB3aW5kb3ctPnhkZ190b3Bs ZXZlbCA9IHp4ZGdfc3VyZmFjZV92Nl9nZXRfdG9wbGV2ZWwod2luZG93LT54ZGdfc3VyZmFjZSk7 DQotLSAgICAgIHp4ZGdfdG9wbGV2ZWxfdjZfc2V0X3VzZXJfZGF0YSh3aW5kb3ctPnhkZ190b3Bs ZXZlbCwgd2luZG93KTsNCi0tICAgICAgenhkZ190b3BsZXZlbF92Nl9hZGRfbGlzdGVuZXIod2lu ZG93LT54ZGdfdG9wbGV2ZWwsDQotKyAgICAgIHdpbmRvdy0+eGRnX3RvcGxldmVsID0geGRnX3N1 cmZhY2VfZ2V0X3RvcGxldmVsKHdpbmRvdy0+eGRnX3N1cmZhY2UpOw0KLSsgICAgICB4ZGdfdG9w bGV2ZWxfc2V0X3VzZXJfZGF0YSh3aW5kb3ctPnhkZ190b3BsZXZlbCwgd2luZG93KTsNCi0rICAg ICAgeGRnX3RvcGxldmVsX2FkZF9saXN0ZW5lcih3aW5kb3ctPnhkZ190b3BsZXZlbCwNCi0gICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJnNsX2ludGVybmFsX3hkZ190b3BsZXZl bF9saXN0ZW5lciwgd2luZG93KTsNCi0gICAgIH0NCi0gICAgIGlmIChwYXJlbnQpDQotLSAgICAg IHp4ZGdfdG9wbGV2ZWxfdjZfc2V0X3BhcmVudCh3aW5kb3ctPnhkZ190b3BsZXZlbCwgcGFyZW50 LT54ZGdfdG9wbGV2ZWwpOw0KLSsgICAgICB4ZGdfdG9wbGV2ZWxfc2V0X3BhcmVudCh3aW5kb3ct PnhkZ190b3BsZXZlbCwgcGFyZW50LT54ZGdfdG9wbGV2ZWwpOw0KLSAgICAgaWYgKHdpbmRvdy0+ bmFtZSkNCi0tICAgICAgenhkZ190b3BsZXZlbF92Nl9zZXRfdGl0bGUod2luZG93LT54ZGdfdG9w bGV2ZWwsIHdpbmRvdy0+bmFtZSk7DQotKyAgICAgIHhkZ190b3BsZXZlbF9zZXRfdGl0bGUod2lu ZG93LT54ZGdfdG9wbGV2ZWwsIHdpbmRvdy0+bmFtZSk7DQotICAgICBpZiAod2luZG93LT5zaXpl X2ZsYWdzICYgUF9NSU5fU0laRSkgew0KLS0gICAgICB6eGRnX3RvcGxldmVsX3Y2X3NldF9taW5f c2l6ZSh3aW5kb3ctPnhkZ190b3BsZXZlbCwNCi0rICAgICAgeGRnX3RvcGxldmVsX3NldF9taW5f c2l6ZSh3aW5kb3ctPnhkZ190b3BsZXZlbCwNCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgd2luZG93LT5taW5fd2lkdGggLyBjdHgtPnNjYWxlLA0KLSAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICB3aW5kb3ctPm1pbl9oZWlnaHQgLyBjdHgtPnNjYWxlKTsN Ci0gICAgIH0NCi0gICAgIGlmICh3aW5kb3ctPnNpemVfZmxhZ3MgJiBQX01BWF9TSVpFKSB7DQot LSAgICAgIHp4ZGdfdG9wbGV2ZWxfdjZfc2V0X21heF9zaXplKHdpbmRvdy0+eGRnX3RvcGxldmVs LA0KLSsgICAgICB4ZGdfdG9wbGV2ZWxfc2V0X21heF9zaXplKHdpbmRvdy0+eGRnX3RvcGxldmVs LA0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB3aW5kb3ctPm1heF93aWR0 aCAvIGN0eC0+c2NhbGUsDQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHdp bmRvdy0+bWF4X2hlaWdodCAvIGN0eC0+c2NhbGUpOw0KLSAgICAgfQ0KLSAgICAgaWYgKHdpbmRv dy0+bWF4aW1pemVkKSB7DQotLSAgICAgIHp4ZGdfdG9wbGV2ZWxfdjZfc2V0X21heGltaXplZCh3 aW5kb3ctPnhkZ190b3BsZXZlbCk7DQotKyAgICAgIHhkZ190b3BsZXZlbF9zZXRfbWF4aW1pemVk KHdpbmRvdy0+eGRnX3RvcGxldmVsKTsNCi0gICAgIH0NCi0gICB9IGVsc2UgaWYgKCF3aW5kb3ct PnhkZ19wb3B1cCkgew0KLS0gICAgc3RydWN0IHp4ZGdfcG9zaXRpb25lcl92NiogcG9zaXRpb25l cjsNCi0rICAgIHN0cnVjdCB4ZGdfcG9zaXRpb25lciogcG9zaXRpb25lcjsNCi0gDQotLSAgICBw b3NpdGlvbmVyID0genhkZ19zaGVsbF92Nl9jcmVhdGVfcG9zaXRpb25lcihjdHgtPnhkZ19zaGVs bC0+aW50ZXJuYWwpOw0KLSsgICAgcG9zaXRpb25lciA9IHhkZ193bV9iYXNlX2NyZWF0ZV9wb3Np dGlvbmVyKGN0eC0+eGRnX3dtX2Jhc2UtPmludGVybmFsKTsNCi0gICAgIGFzc2VydChwb3NpdGlv bmVyKTsNCi0tICAgIHp4ZGdfcG9zaXRpb25lcl92Nl9zZXRfYW5jaG9yKA0KLSsgICAgeGRnX3Bv c2l0aW9uZXJfc2V0X2FuY2hvcigNCi0gICAgICAgICBwb3NpdGlvbmVyLA0KLS0gICAgICAgIFpY REdfUE9TSVRJT05FUl9WNl9BTkNIT1JfVE9QIHwgWlhER19QT1NJVElPTkVSX1Y2X0FOQ0hPUl9M RUZUKTsNCi0tICAgIHp4ZGdfcG9zaXRpb25lcl92Nl9zZXRfZ3Jhdml0eSgNCi0rICAgICAgICBY REdfUE9TSVRJT05FUl9BTkNIT1JfVE9QIHwgWERHX1BPU0lUSU9ORVJfQU5DSE9SX0xFRlQpOw0K LSsgICAgeGRnX3Bvc2l0aW9uZXJfc2V0X2dyYXZpdHkoDQotICAgICAgICAgcG9zaXRpb25lciwN Ci0tICAgICAgICBaWERHX1BPU0lUSU9ORVJfVjZfR1JBVklUWV9CT1RUT00gfCBaWERHX1BPU0lU SU9ORVJfVjZfR1JBVklUWV9SSUdIVCk7DQotLSAgICB6eGRnX3Bvc2l0aW9uZXJfdjZfc2V0X2Fu Y2hvcl9yZWN0KA0KLSsgICAgICAgIFhER19QT1NJVElPTkVSX0dSQVZJVFlfQk9UVE9NIHwgWERH X1BPU0lUSU9ORVJfR1JBVklUWV9SSUdIVCk7DQotKyAgICB4ZGdfcG9zaXRpb25lcl9zZXRfYW5j aG9yX3JlY3QoDQotICAgICAgICAgcG9zaXRpb25lciwgKHdpbmRvdy0+eCAtIHBhcmVudC0+eCkg LyBjdHgtPnNjYWxlLA0KLSAgICAgICAgICh3aW5kb3ctPnkgLSBwYXJlbnQtPnkpIC8gY3R4LT5z Y2FsZSwgMSwgMSk7DQotIA0KLS0gICAgd2luZG93LT54ZGdfcG9wdXAgPSB6eGRnX3N1cmZhY2Vf djZfZ2V0X3BvcHVwKA0KLSsgICAgd2luZG93LT54ZGdfcG9wdXAgPSB4ZGdfc3VyZmFjZV9nZXRf cG9wdXAoDQotICAgICAgICAgd2luZG93LT54ZGdfc3VyZmFjZSwgcGFyZW50LT54ZGdfc3VyZmFj ZSwgcG9zaXRpb25lcik7DQotLSAgICB6eGRnX3BvcHVwX3Y2X3NldF91c2VyX2RhdGEod2luZG93 LT54ZGdfcG9wdXAsIHdpbmRvdyk7DQotLSAgICB6eGRnX3BvcHVwX3Y2X2FkZF9saXN0ZW5lcih3 aW5kb3ctPnhkZ19wb3B1cCwNCi0rICAgIHhkZ19wb3B1cF9zZXRfdXNlcl9kYXRhKHdpbmRvdy0+ eGRnX3BvcHVwLCB3aW5kb3cpOw0KLSsgICAgeGRnX3BvcHVwX2FkZF9saXN0ZW5lcih3aW5kb3ct PnhkZ19wb3B1cCwNCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZzbF9pbnRlcm5h bF94ZGdfcG9wdXBfbGlzdGVuZXIsIHdpbmRvdyk7DQotIA0KLS0gICAgenhkZ19wb3NpdGlvbmVy X3Y2X2Rlc3Ryb3kocG9zaXRpb25lcik7DQotKyAgICB4ZGdfcG9zaXRpb25lcl9kZXN0cm95KHBv c2l0aW9uZXIpOw0KLSAgIH0NCi0gDQotICAgaWYgKCh3aW5kb3ctPnNpemVfZmxhZ3MgJiAoVVNf UE9TSVRJT04gfCBQX1BPU0lUSU9OKSkgJiYgcGFyZW50ICYmDQotQEAgLTExNzcsMjIgKzExNzcs MjMgQEAgc3RhdGljIHZvaWQgc2xfcmVnaXN0cnlfaGFuZGxlcih2b2lkKiBkYXRhLA0KLSAgICAg ICBkYXRhX2RldmljZV9tYW5hZ2VyLT5ob3N0X2dsb2JhbCA9DQotICAgICAgICAgICBzbF9kYXRh X2RldmljZV9tYW5hZ2VyX2dsb2JhbF9jcmVhdGUoY3R4KTsNCi0gICAgIH0NCi0tICB9IGVsc2Ug aWYgKHN0cmNtcChpbnRlcmZhY2UsICJ6eGRnX3NoZWxsX3Y2IikgPT0gMCkgew0KLS0gICAgc3Ry dWN0IHNsX3hkZ19zaGVsbCogeGRnX3NoZWxsID0gbWFsbG9jKHNpemVvZihzdHJ1Y3Qgc2xfeGRn X3NoZWxsKSk7DQotLSAgICBhc3NlcnQoeGRnX3NoZWxsKTsNCi0tICAgIHhkZ19zaGVsbC0+Y3R4 ID0gY3R4Ow0KLS0gICAgeGRnX3NoZWxsLT5pZCA9IGlkOw0KLS0gICAgeGRnX3NoZWxsLT5pbnRl cm5hbCA9IE5VTEw7DQotLSAgICB4ZGdfc2hlbGwtPmhvc3RfZ2xvYmFsID0gTlVMTDsNCi0tICAg IGFzc2VydCghY3R4LT54ZGdfc2hlbGwpOw0KLS0gICAgY3R4LT54ZGdfc2hlbGwgPSB4ZGdfc2hl bGw7DQotKyAgfSBlbHNlIGlmIChzdHJjbXAoaW50ZXJmYWNlLCAieGRnX3dtX2Jhc2UiKSA9PSAw KSB7DQotKyAgICBzdHJ1Y3Qgc2xfeGRnX3dtX2Jhc2UqIHhkZ193bV9iYXNlID0gbWFsbG9jKHNp emVvZihzdHJ1Y3Qgc2xfeGRnX3dtX2Jhc2UpKTsNCi0rICAgIGFzc2VydCh4ZGdfd21fYmFzZSk7 DQotKyAgICB4ZGdfd21fYmFzZS0+Y3R4ID0gY3R4Ow0KLSsgICAgeGRnX3dtX2Jhc2UtPmlkID0g aWQ7DQotKyAgICB4ZGdfd21fYmFzZS0+dmVyc2lvbiA9IE1JTigyLCB2ZXJzaW9uKTsNCi0rICAg IHhkZ193bV9iYXNlLT5pbnRlcm5hbCA9IE5VTEw7DQotKyAgICB4ZGdfd21fYmFzZS0+aG9zdF9n bG9iYWwgPSBOVUxMOw0KLSsgICAgYXNzZXJ0KCFjdHgtPnhkZ193bV9iYXNlKTsNCi0rICAgIGN0 eC0+eGRnX3dtX2Jhc2UgPSB4ZGdfd21fYmFzZTsNCi0gICAgIGlmIChjdHgtPnh3YXlsYW5kKSB7 DQotLSAgICAgIHhkZ19zaGVsbC0+aW50ZXJuYWwgPQ0KLS0gICAgICAgICAgd2xfcmVnaXN0cnlf YmluZChyZWdpc3RyeSwgaWQsICZ6eGRnX3NoZWxsX3Y2X2ludGVyZmFjZSwgMSk7DQotLSAgICAg IHp4ZGdfc2hlbGxfdjZfYWRkX2xpc3RlbmVyKHhkZ19zaGVsbC0+aW50ZXJuYWwsDQotLSAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICZzbF9pbnRlcm5hbF94ZGdfc2hlbGxfbGlzdGVu ZXIsIE5VTEwpOw0KLSsgICAgICB4ZGdfd21fYmFzZS0+aW50ZXJuYWwgPQ0KLSsgICAgICAgICAg d2xfcmVnaXN0cnlfYmluZChyZWdpc3RyeSwgaWQsICZ4ZGdfd21fYmFzZV9pbnRlcmZhY2UsIDEp Ow0KLSsgICAgICB4ZGdfd21fYmFzZV9hZGRfbGlzdGVuZXIoeGRnX3dtX2Jhc2UtPmludGVybmFs LA0KLSsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmc2xfaW50ZXJuYWxfeGRnX3dt X2Jhc2VfbGlzdGVuZXIsIE5VTEwpOw0KLSAgICAgfSBlbHNlIHsNCi0tICAgICAgeGRnX3NoZWxs LT5ob3N0X2dsb2JhbCA9IHNsX3hkZ19zaGVsbF9nbG9iYWxfY3JlYXRlKGN0eCk7DQotKyAgICAg IHhkZ193bV9iYXNlLT5ob3N0X2dsb2JhbCA9IHNsX3hkZ193bV9iYXNlX2dsb2JhbF9jcmVhdGUo Y3R4KTsNCi0gICAgIH0NCi0gICB9IGVsc2UgaWYgKHN0cmNtcChpbnRlcmZhY2UsICJ6YXVyYV9z aGVsbCIpID09IDApIHsNCi0gICAgIGlmICh2ZXJzaW9uID49IE1JTl9BVVJBX1NIRUxMX1ZFUlNJ T04pIHsNCi1AQCAtMTI5OSwxMyArMTMwMCwxMyBAQCBzdGF0aWMgdm9pZCBzbF9yZWdpc3RyeV9y ZW1vdmVyKHZvaWQqIGRhdGEsDQotICAgICBjdHgtPmRhdGFfZGV2aWNlX21hbmFnZXIgPSBOVUxM Ow0KLSAgICAgcmV0dXJuOw0KLSAgIH0NCi0tICBpZiAoY3R4LT54ZGdfc2hlbGwgJiYgY3R4LT54 ZGdfc2hlbGwtPmlkID09IGlkKSB7DQotLSAgICBpZiAoY3R4LT54ZGdfc2hlbGwtPmhvc3RfZ2xv YmFsKQ0KLS0gICAgICBzbF9nbG9iYWxfZGVzdHJveShjdHgtPnhkZ19zaGVsbC0+aG9zdF9nbG9i YWwpOw0KLS0gICAgaWYgKGN0eC0+eGRnX3NoZWxsLT5pbnRlcm5hbCkNCi0tICAgICAgenhkZ19z aGVsbF92Nl9kZXN0cm95KGN0eC0+eGRnX3NoZWxsLT5pbnRlcm5hbCk7DQotLSAgICBmcmVlKGN0 eC0+eGRnX3NoZWxsKTsNCi0tICAgIGN0eC0+eGRnX3NoZWxsID0gTlVMTDsNCi0rICBpZiAoY3R4 LT54ZGdfd21fYmFzZSAmJiBjdHgtPnhkZ193bV9iYXNlLT5pZCA9PSBpZCkgew0KLSsgICAgaWYg KGN0eC0+eGRnX3dtX2Jhc2UtPmhvc3RfZ2xvYmFsKQ0KLSsgICAgICBzbF9nbG9iYWxfZGVzdHJv eShjdHgtPnhkZ193bV9iYXNlLT5ob3N0X2dsb2JhbCk7DQotKyAgICBpZiAoY3R4LT54ZGdfd21f YmFzZS0+aW50ZXJuYWwpDQotKyAgICAgIHhkZ193bV9iYXNlX2Rlc3Ryb3koY3R4LT54ZGdfd21f YmFzZS0+aW50ZXJuYWwpOw0KLSsgICAgZnJlZShjdHgtPnhkZ193bV9iYXNlKTsNCi0rICAgIGN0 eC0+eGRnX3dtX2Jhc2UgPSBOVUxMOw0KLSAgICAgcmV0dXJuOw0KLSAgIH0NCi0gICBpZiAoY3R4 LT5hdXJhX3NoZWxsICYmIGN0eC0+YXVyYV9zaGVsbC0+aWQgPT0gaWQpIHsNCi1AQCAtMTQ2Nywx MSArMTQ2OCwxMSBAQCBzdGF0aWMgdm9pZCBzbF9kZXN0cm95X3dpbmRvdyhzdHJ1Y3Qgc2xfd2lu ZG93KiB3aW5kb3cpIHsNCi0gICB9DQotIA0KLSAgIGlmICh3aW5kb3ctPnhkZ19wb3B1cCkNCi0t ICAgIHp4ZGdfcG9wdXBfdjZfZGVzdHJveSh3aW5kb3ctPnhkZ19wb3B1cCk7DQotKyAgICB4ZGdf cG9wdXBfZGVzdHJveSh3aW5kb3ctPnhkZ19wb3B1cCk7DQotICAgaWYgKHdpbmRvdy0+eGRnX3Rv cGxldmVsKQ0KLS0gICAgenhkZ190b3BsZXZlbF92Nl9kZXN0cm95KHdpbmRvdy0+eGRnX3RvcGxl dmVsKTsNCi0rICAgIHhkZ190b3BsZXZlbF9kZXN0cm95KHdpbmRvdy0+eGRnX3RvcGxldmVsKTsN Ci0gICBpZiAod2luZG93LT54ZGdfc3VyZmFjZSkNCi0tICAgIHp4ZGdfc3VyZmFjZV92Nl9kZXN0 cm95KHdpbmRvdy0+eGRnX3N1cmZhY2UpOw0KLSsgICAgeGRnX3N1cmZhY2VfZGVzdHJveSh3aW5k b3ctPnhkZ19zdXJmYWNlKTsNCi0gICBpZiAod2luZG93LT5hdXJhX3N1cmZhY2UpDQotICAgICB6 YXVyYV9zdXJmYWNlX2Rlc3Ryb3kod2luZG93LT5hdXJhX3N1cmZhY2UpOw0KLSANCi1AQCAtMTkx NSwxNSArMTkxNiwxNSBAQCBzdGF0aWMgdm9pZCBzbF9oYW5kbGVfY29uZmlndXJlX3JlcXVlc3Qo c3RydWN0IHNsX2NvbnRleHQqIGN0eCwNCi0gICAvLyB0aGF0IG1hdGNoaW5nIGNvbnRlbnRzIHdp bGwgYXJyaXZlLg0KLSAgIGlmICh3aW5kb3ctPnhkZ190b3BsZXZlbCkgew0KLSAgICAgaWYgKHdp bmRvdy0+cGVuZGluZ19jb25maWcuc2VyaWFsKSB7DQotLSAgICAgIHp4ZGdfc3VyZmFjZV92Nl9h Y2tfY29uZmlndXJlKHdpbmRvdy0+eGRnX3N1cmZhY2UsDQotLSAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIHdpbmRvdy0+cGVuZGluZ19jb25maWcuc2VyaWFsKTsNCi0rICAgICAg eGRnX3N1cmZhY2VfYWNrX2NvbmZpZ3VyZSh3aW5kb3ctPnhkZ19zdXJmYWNlLA0KLSsgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIHdpbmRvdy0+cGVuZGluZ19jb25maWcuc2VyaWFsKTsN Ci0gICAgICAgd2luZG93LT5wZW5kaW5nX2NvbmZpZy5zZXJpYWwgPSAwOw0KLSAgICAgICB3aW5k b3ctPnBlbmRpbmdfY29uZmlnLm1hc2sgPSAwOw0KLSAgICAgICB3aW5kb3ctPnBlbmRpbmdfY29u ZmlnLnN0YXRlc19sZW5ndGggPSAwOw0KLSAgICAgfQ0KLSAgICAgaWYgKHdpbmRvdy0+bmV4dF9j b25maWcuc2VyaWFsKSB7DQotLSAgICAgIHp4ZGdfc3VyZmFjZV92Nl9hY2tfY29uZmlndXJlKHdp bmRvdy0+eGRnX3N1cmZhY2UsDQotLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IHdpbmRvdy0+bmV4dF9jb25maWcuc2VyaWFsKTsNCi0rICAgICAgeGRnX3N1cmZhY2VfYWNrX2Nv bmZpZ3VyZSh3aW5kb3ctPnhkZ19zdXJmYWNlLA0KLSsgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIHdpbmRvdy0+bmV4dF9jb25maWcuc2VyaWFsKTsNCi0gICAgICAgd2luZG93LT5uZXh0 X2NvbmZpZy5zZXJpYWwgPSAwOw0KLSAgICAgICB3aW5kb3ctPm5leHRfY29uZmlnLm1hc2sgPSAw Ow0KLSAgICAgICB3aW5kb3ctPm5leHRfY29uZmlnLnN0YXRlc19sZW5ndGggPSAwOw0KLUBAIC0y MDQ0LDIzICsyMDQ1LDIzIEBAIHN0YXRpYyB2b2lkIHNsX2hhbmRsZV9jb25maWd1cmVfbm90aWZ5 KHN0cnVjdCBzbF9jb250ZXh0KiBjdHgsDQotIHN0YXRpYyB1aW50MzJfdCBzbF9yZXNpemVfZWRn ZShpbnQgbmV0X3dtX21vdmVyZXNpemVfc2l6ZSkgew0KLSAgIHN3aXRjaCAobmV0X3dtX21vdmVy ZXNpemVfc2l6ZSkgew0KLSAgICAgY2FzZSBORVRfV01fTU9WRVJFU0laRV9TSVpFX1RPUExFRlQ6 DQotLSAgICAgIHJldHVybiBaWERHX1RPUExFVkVMX1Y2X1JFU0laRV9FREdFX1RPUF9MRUZUOw0K LSsgICAgICByZXR1cm4gWERHX1RPUExFVkVMX1JFU0laRV9FREdFX1RPUF9MRUZUOw0KLSAgICAg Y2FzZSBORVRfV01fTU9WRVJFU0laRV9TSVpFX1RPUDoNCi0tICAgICAgcmV0dXJuIFpYREdfVE9Q TEVWRUxfVjZfUkVTSVpFX0VER0VfVE9QOw0KLSsgICAgICByZXR1cm4gWERHX1RPUExFVkVMX1JF U0laRV9FREdFX1RPUDsNCi0gICAgIGNhc2UgTkVUX1dNX01PVkVSRVNJWkVfU0laRV9UT1BSSUdI VDoNCi0tICAgICAgcmV0dXJuIFpYREdfVE9QTEVWRUxfVjZfUkVTSVpFX0VER0VfVE9QX1JJR0hU Ow0KLSsgICAgICByZXR1cm4gWERHX1RPUExFVkVMX1JFU0laRV9FREdFX1RPUF9SSUdIVDsNCi0g ICAgIGNhc2UgTkVUX1dNX01PVkVSRVNJWkVfU0laRV9SSUdIVDoNCi0tICAgICAgcmV0dXJuIFpY REdfVE9QTEVWRUxfVjZfUkVTSVpFX0VER0VfUklHSFQ7DQotKyAgICAgIHJldHVybiBYREdfVE9Q TEVWRUxfUkVTSVpFX0VER0VfUklHSFQ7DQotICAgICBjYXNlIE5FVF9XTV9NT1ZFUkVTSVpFX1NJ WkVfQk9UVE9NUklHSFQ6DQotLSAgICAgIHJldHVybiBaWERHX1RPUExFVkVMX1Y2X1JFU0laRV9F REdFX0JPVFRPTV9SSUdIVDsNCi0rICAgICAgcmV0dXJuIFhER19UT1BMRVZFTF9SRVNJWkVfRURH RV9CT1RUT01fUklHSFQ7DQotICAgICBjYXNlIE5FVF9XTV9NT1ZFUkVTSVpFX1NJWkVfQk9UVE9N Og0KLS0gICAgICByZXR1cm4gWlhER19UT1BMRVZFTF9WNl9SRVNJWkVfRURHRV9CT1RUT007DQot KyAgICAgIHJldHVybiBYREdfVE9QTEVWRUxfUkVTSVpFX0VER0VfQk9UVE9NOw0KLSAgICAgY2Fz ZSBORVRfV01fTU9WRVJFU0laRV9TSVpFX0JPVFRPTUxFRlQ6DQotLSAgICAgIHJldHVybiBaWERH X1RPUExFVkVMX1Y2X1JFU0laRV9FREdFX0JPVFRPTV9MRUZUOw0KLSsgICAgICByZXR1cm4gWERH X1RPUExFVkVMX1JFU0laRV9FREdFX0JPVFRPTV9MRUZUOw0KLSAgICAgY2FzZSBORVRfV01fTU9W RVJFU0laRV9TSVpFX0xFRlQ6DQotLSAgICAgIHJldHVybiBaWERHX1RPUExFVkVMX1Y2X1JFU0la RV9FREdFX0xFRlQ7DQotKyAgICAgIHJldHVybiBYREdfVE9QTEVWRUxfUkVTSVpFX0VER0VfTEVG VDsNCi0gICAgIGRlZmF1bHQ6DQotLSAgICAgIHJldHVybiBaWERHX1RPUExFVkVMX1Y2X1JFU0la RV9FREdFX05PTkU7DQotKyAgICAgIHJldHVybiBYREdfVE9QTEVWRUxfUkVTSVpFX0VER0VfTk9O RTsNCi0gICB9DQotIH0NCi0gDQotQEAgLTIxMDcsMTUgKzIxMDgsMTUgQEAgc3RhdGljIHZvaWQg c2xfaGFuZGxlX2NsaWVudF9tZXNzYWdlKHN0cnVjdCBzbF9jb250ZXh0KiBjdHgsDQotICAgICAg ICAgcmV0dXJuOw0KLSANCi0gICAgICAgaWYgKGV2ZW50LT5kYXRhLmRhdGEzMlsyXSA9PSBORVRf V01fTU9WRVJFU0laRV9NT1ZFKSB7DQotLSAgICAgICAgenhkZ190b3BsZXZlbF92Nl9tb3ZlKHdp bmRvdy0+eGRnX3RvcGxldmVsLCBzZWF0LT5wcm94eSwNCi0rICAgICAgICB4ZGdfdG9wbGV2ZWxf bW92ZSh3aW5kb3ctPnhkZ190b3BsZXZlbCwgc2VhdC0+cHJveHksDQotICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIHNlYXQtPnNlYXQtPmxhc3Rfc2VyaWFsKTsNCi0gICAgICAgfSBlbHNl IHsNCi0gICAgICAgICB1aW50MzJfdCBlZGdlID0gc2xfcmVzaXplX2VkZ2UoZXZlbnQtPmRhdGEu ZGF0YTMyWzJdKTsNCi0gDQotLSAgICAgICAgaWYgKGVkZ2UgPT0gWlhER19UT1BMRVZFTF9WNl9S RVNJWkVfRURHRV9OT05FKQ0KLSsgICAgICAgIGlmIChlZGdlID09IFhER19UT1BMRVZFTF9SRVNJ WkVfRURHRV9OT05FKQ0KLSAgICAgICAgICAgcmV0dXJuOw0KLSANCi0tICAgICAgICB6eGRnX3Rv cGxldmVsX3Y2X3Jlc2l6ZSh3aW5kb3ctPnhkZ190b3BsZXZlbCwgc2VhdC0+cHJveHksDQotKyAg ICAgICAgeGRnX3RvcGxldmVsX3Jlc2l6ZSh3aW5kb3ctPnhkZ190b3BsZXZlbCwgc2VhdC0+cHJv eHksDQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2VhdC0+c2VhdC0+bGFzdF9z ZXJpYWwsIGVkZ2UpOw0KLSAgICAgICB9DQotICAgICB9DQotQEAgLTIxMzQsMjQgKzIxMzUsMjQg QEAgc3RhdGljIHZvaWQgc2xfaGFuZGxlX2NsaWVudF9tZXNzYWdlKHN0cnVjdCBzbF9jb250ZXh0 KiBjdHgsDQotIA0KLSAgICAgICBpZiAoY2hhbmdlZFtBVE9NX05FVF9XTV9TVEFURV9GVUxMU0NS RUVOXSkgew0KLSAgICAgICAgIGlmIChhY3Rpb24gPT0gTkVUX1dNX1NUQVRFX0FERCkNCi0tICAg ICAgICAgIHp4ZGdfdG9wbGV2ZWxfdjZfc2V0X2Z1bGxzY3JlZW4od2luZG93LT54ZGdfdG9wbGV2 ZWwsIE5VTEwpOw0KLSsgICAgICAgICAgeGRnX3RvcGxldmVsX3NldF9mdWxsc2NyZWVuKHdpbmRv dy0+eGRnX3RvcGxldmVsLCBOVUxMKTsNCi0gICAgICAgICBlbHNlIGlmIChhY3Rpb24gPT0gTkVU X1dNX1NUQVRFX1JFTU9WRSkNCi0tICAgICAgICAgIHp4ZGdfdG9wbGV2ZWxfdjZfdW5zZXRfZnVs bHNjcmVlbih3aW5kb3ctPnhkZ190b3BsZXZlbCk7DQotKyAgICAgICAgICB4ZGdfdG9wbGV2ZWxf dW5zZXRfZnVsbHNjcmVlbih3aW5kb3ctPnhkZ190b3BsZXZlbCk7DQotICAgICAgIH0NCi0gDQot ICAgICAgIGlmIChjaGFuZ2VkW0FUT01fTkVUX1dNX1NUQVRFX01BWElNSVpFRF9WRVJUXSAmJg0K LSAgICAgICAgICAgY2hhbmdlZFtBVE9NX05FVF9XTV9TVEFURV9NQVhJTUlaRURfSE9SWl0pIHsN Ci0gICAgICAgICBpZiAoYWN0aW9uID09IE5FVF9XTV9TVEFURV9BREQpDQotLSAgICAgICAgICB6 eGRnX3RvcGxldmVsX3Y2X3NldF9tYXhpbWl6ZWQod2luZG93LT54ZGdfdG9wbGV2ZWwpOw0KLSsg ICAgICAgICAgeGRnX3RvcGxldmVsX3NldF9tYXhpbWl6ZWQod2luZG93LT54ZGdfdG9wbGV2ZWwp Ow0KLSAgICAgICAgIGVsc2UgaWYgKGFjdGlvbiA9PSBORVRfV01fU1RBVEVfUkVNT1ZFKQ0KLS0g ICAgICAgICAgenhkZ190b3BsZXZlbF92Nl91bnNldF9tYXhpbWl6ZWQod2luZG93LT54ZGdfdG9w bGV2ZWwpOw0KLSsgICAgICAgICAgeGRnX3RvcGxldmVsX3Vuc2V0X21heGltaXplZCh3aW5kb3ct PnhkZ190b3BsZXZlbCk7DQotICAgICAgIH0NCi0gICAgIH0NCi0gICB9IGVsc2UgaWYgKGV2ZW50 LT50eXBlID09IGN0eC0+YXRvbXNbQVRPTV9XTV9DSEFOR0VfU1RBVEVdLnZhbHVlICYmDQotICAg ICAgICAgICAgICBldmVudC0+ZGF0YS5kYXRhMzJbMF0gPT0gV01fU1RBVEVfSUNPTklDKSB7DQot ICAgICBzdHJ1Y3Qgc2xfd2luZG93KiB3aW5kb3cgPSBzbF9sb29rdXBfd2luZG93KGN0eCwgZXZl bnQtPndpbmRvdyk7DQotICAgICBpZiAod2luZG93ICYmIHdpbmRvdy0+eGRnX3RvcGxldmVsKSB7 DQotLSAgICAgIHp4ZGdfdG9wbGV2ZWxfdjZfc2V0X21pbmltaXplZCh3aW5kb3ctPnhkZ190b3Bs ZXZlbCk7DQotKyAgICAgIHhkZ190b3BsZXZlbF9zZXRfbWluaW1pemVkKHdpbmRvdy0+eGRnX3Rv cGxldmVsKTsNCi0gICAgIH0NCi0gICB9DQotIH0NCi1AQCAtMjE2NCw3ICsyMTY1LDcgQEAgc3Rh dGljIHZvaWQgc2xfaGFuZGxlX2ZvY3VzX2luKHN0cnVjdCBzbF9jb250ZXh0KiBjdHgsDQotICAg ICAvLyB3aW5kb3cgd2FzIHJlYWxpemVkLg0KLSAgICAgc3RydWN0IHNsX3dpbmRvdyogcGFyZW50 ID0gc2xfbG9va3VwX3dpbmRvdyhjdHgsIHdpbmRvdy0+dHJhbnNpZW50X2Zvcik7DQotICAgICBp ZiAocGFyZW50ICYmIHBhcmVudC0+eGRnX3RvcGxldmVsICYmIHdpbmRvdy0+eGRnX3RvcGxldmVs KQ0KLS0gICAgICB6eGRnX3RvcGxldmVsX3Y2X3NldF9wYXJlbnQod2luZG93LT54ZGdfdG9wbGV2 ZWwsIHBhcmVudC0+eGRnX3RvcGxldmVsKTsNCi0rICAgICAgeGRnX3RvcGxldmVsX3NldF9wYXJl bnQod2luZG93LT54ZGdfdG9wbGV2ZWwsIHBhcmVudC0+eGRnX3RvcGxldmVsKTsNCi0gICB9DQot IH0NCi0gDQotQEAgLTIzODEsOSArMjM4Miw5IEBAIHN0YXRpYyB2b2lkIHNsX2hhbmRsZV9wcm9w ZXJ0eV9ub3RpZnkoc3RydWN0IHNsX2NvbnRleHQqIGN0eCwNCi0gICAgICAgcmV0dXJuOw0KLSAN Ci0gICAgIGlmICh3aW5kb3ctPm5hbWUpIHsNCi0tICAgICAgenhkZ190b3BsZXZlbF92Nl9zZXRf dGl0bGUod2luZG93LT54ZGdfdG9wbGV2ZWwsIHdpbmRvdy0+bmFtZSk7DQotKyAgICAgIHhkZ190 b3BsZXZlbF9zZXRfdGl0bGUod2luZG93LT54ZGdfdG9wbGV2ZWwsIHdpbmRvdy0+bmFtZSk7DQot ICAgICB9IGVsc2Ugew0KLS0gICAgICB6eGRnX3RvcGxldmVsX3Y2X3NldF90aXRsZSh3aW5kb3ct PnhkZ190b3BsZXZlbCwgIiIpOw0KLSsgICAgICB4ZGdfdG9wbGV2ZWxfc2V0X3RpdGxlKHdpbmRv dy0+eGRnX3RvcGxldmVsLCAiIik7DQotICAgICB9DQotICAgfSBlbHNlIGlmIChldmVudC0+YXRv bSA9PSBYQ0JfQVRPTV9XTV9DTEFTUykgew0KLSAgICAgc3RydWN0IHNsX3dpbmRvdyogd2luZG93 ID0gc2xfbG9va3VwX3dpbmRvdyhjdHgsIGV2ZW50LT53aW5kb3cpOw0KLUBAIC0yNDM1LDE5ICsy NDM2LDE5IEBAIHN0YXRpYyB2b2lkIHNsX2hhbmRsZV9wcm9wZXJ0eV9ub3RpZnkoc3RydWN0IHNs X2NvbnRleHQqIGN0eCwNCi0gICAgICAgcmV0dXJuOw0KLSANCi0gICAgIGlmICh3aW5kb3ctPnNp emVfZmxhZ3MgJiBQX01JTl9TSVpFKSB7DQotLSAgICAgIHp4ZGdfdG9wbGV2ZWxfdjZfc2V0X21p bl9zaXplKHdpbmRvdy0+eGRnX3RvcGxldmVsLA0KLSsgICAgICB4ZGdfdG9wbGV2ZWxfc2V0X21p bl9zaXplKHdpbmRvdy0+eGRnX3RvcGxldmVsLA0KLSAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICB3aW5kb3ctPm1pbl93aWR0aCAvIGN0eC0+c2NhbGUsDQotICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIHdpbmRvdy0+bWluX2hlaWdodCAvIGN0eC0+c2NhbGUp Ow0KLSAgICAgfSBlbHNlIHsNCi0tICAgICAgenhkZ190b3BsZXZlbF92Nl9zZXRfbWluX3NpemUo d2luZG93LT54ZGdfdG9wbGV2ZWwsIDAsIDApOw0KLSsgICAgICB4ZGdfdG9wbGV2ZWxfc2V0X21p bl9zaXplKHdpbmRvdy0+eGRnX3RvcGxldmVsLCAwLCAwKTsNCi0gICAgIH0NCi0gDQotICAgICBp ZiAod2luZG93LT5zaXplX2ZsYWdzICYgUF9NQVhfU0laRSkgew0KLS0gICAgICB6eGRnX3RvcGxl dmVsX3Y2X3NldF9tYXhfc2l6ZSh3aW5kb3ctPnhkZ190b3BsZXZlbCwNCi0rICAgICAgeGRnX3Rv cGxldmVsX3NldF9tYXhfc2l6ZSh3aW5kb3ctPnhkZ190b3BsZXZlbCwNCi0gICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgd2luZG93LT5tYXhfd2lkdGggLyBjdHgtPnNjYWxlLA0K LSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB3aW5kb3ctPm1heF9oZWlnaHQg LyBjdHgtPnNjYWxlKTsNCi0gICAgIH0gZWxzZSB7DQotLSAgICAgIHp4ZGdfdG9wbGV2ZWxfdjZf c2V0X21heF9zaXplKHdpbmRvdy0+eGRnX3RvcGxldmVsLCAwLCAwKTsNCi0rICAgICAgeGRnX3Rv cGxldmVsX3NldF9tYXhfc2l6ZSh3aW5kb3ctPnhkZ190b3BsZXZlbCwgMCwgMCk7DQotICAgICB9 DQotICAgfSBlbHNlIGlmIChldmVudC0+YXRvbSA9PSBYQ0JfQVRPTV9XTV9ISU5UUykgew0KLSAg ICAgc3RydWN0IHNsX3dpbmRvdyogd2luZG93ID0gc2xfbG9va3VwX3dpbmRvdyhjdHgsIGV2ZW50 LT53aW5kb3cpOw0KLUBAIC0zNTM1LDcgKzM1MzYsNyBAQCBpbnQgbWFpbihpbnQgYXJnYywgY2hh cioqIGFyZ3YpIHsNCi0gICAgICAgLnNobSA9IE5VTEwsDQotICAgICAgIC5zaGVsbCA9IE5VTEws DQotICAgICAgIC5kYXRhX2RldmljZV9tYW5hZ2VyID0gTlVMTCwNCi0tICAgICAgLnhkZ19zaGVs bCA9IE5VTEwsDQotKyAgICAgIC54ZGdfd21fYmFzZSA9IE5VTEwsDQotICAgICAgIC5hdXJhX3No ZWxsID0gTlVMTCwNCi0gICAgICAgLnZpZXdwb3J0ZXIgPSBOVUxMLA0KLSAgICAgICAubGludXhf ZG1hYnVmID0gTlVMTCwNCi1kaWZmIC0tZ2l0IGEvdm1fdG9vbHMvc29tbWVsaWVyL3NvbW1lbGll ci5oIGIvdm1fdG9vbHMvc29tbWVsaWVyL3NvbW1lbGllci5oDQotaW5kZXggYjg1MWI1YzhkLi43 ZTZkYWY3NzMgMTAwNjQ0DQotLS0tIGEvdm1fdG9vbHMvc29tbWVsaWVyL3NvbW1lbGllci5oDQot KysrIGIvdm1fdG9vbHMvc29tbWVsaWVyL3NvbW1lbGllci5oDQotQEAgLTMxLDcgKzMxLDcgQEAg c3RydWN0IHNsX3NoZWxsOw0KLSBzdHJ1Y3Qgc2xfZGF0YV9kZXZpY2VfbWFuYWdlcjsNCi0gc3Ry dWN0IHNsX2RhdGFfb2ZmZXI7DQotIHN0cnVjdCBzbF9kYXRhX3NvdXJjZTsNCi0tc3RydWN0IHNs X3hkZ19zaGVsbDsNCi0rc3RydWN0IHNsX3hkZ193bV9iYXNlOw0KLSBzdHJ1Y3Qgc2xfc3ViY29t cG9zaXRvcjsNCi0gc3RydWN0IHNsX2F1cmFfc2hlbGw7DQotIHN0cnVjdCBzbF92aWV3cG9ydGVy Ow0KLUBAIC05OSw3ICs5OSw3IEBAIHN0cnVjdCBzbF9jb250ZXh0IHsNCi0gICBzdHJ1Y3Qgc2xf c2htKiBzaG07DQotICAgc3RydWN0IHNsX3NoZWxsKiBzaGVsbDsNCi0gICBzdHJ1Y3Qgc2xfZGF0 YV9kZXZpY2VfbWFuYWdlciogZGF0YV9kZXZpY2VfbWFuYWdlcjsNCi0tICBzdHJ1Y3Qgc2xfeGRn X3NoZWxsKiB4ZGdfc2hlbGw7DQotKyAgc3RydWN0IHNsX3hkZ193bV9iYXNlKiB4ZGdfd21fYmFz ZTsNCi0gICBzdHJ1Y3Qgc2xfYXVyYV9zaGVsbCogYXVyYV9zaGVsbDsNCi0gICBzdHJ1Y3Qgc2xf dmlld3BvcnRlciogdmlld3BvcnRlcjsNCi0gICBzdHJ1Y3Qgc2xfbGludXhfZG1hYnVmKiBsaW51 eF9kbWFidWY7DQotQEAgLTM3MywxMSArMzczLDEyIEBAIHN0cnVjdCBzbF92aWV3cG9ydGVyIHsN Ci0gICBzdHJ1Y3Qgd3Bfdmlld3BvcnRlciogaW50ZXJuYWw7DQotIH07DQotIA0KLS1zdHJ1Y3Qg c2xfeGRnX3NoZWxsIHsNCi0rc3RydWN0IHNsX3hkZ193bV9iYXNlIHsNCi0gICBzdHJ1Y3Qgc2xf Y29udGV4dCogY3R4Ow0KLSAgIHVpbnQzMl90IGlkOw0KLSsgIHVpbnQzMl90IHZlcnNpb247DQot ICAgc3RydWN0IHNsX2dsb2JhbCogaG9zdF9nbG9iYWw7DQotLSAgc3RydWN0IHp4ZGdfc2hlbGxf djYqIGludGVybmFsOw0KLSsgIHN0cnVjdCB4ZGdfd21fYmFzZSogaW50ZXJuYWw7DQotIH07DQot IA0KLSBzdHJ1Y3Qgc2xfYXVyYV9zaGVsbCB7DQotQEAgLTQ3Niw5ICs0NzcsOSBAQCBzdHJ1Y3Qg c2xfd2luZG93IHsNCi0gICBpbnQgbWF4X2hlaWdodDsNCi0gICBzdHJ1Y3Qgc2xfY29uZmlnIG5l eHRfY29uZmlnOw0KLSAgIHN0cnVjdCBzbF9jb25maWcgcGVuZGluZ19jb25maWc7DQotLSAgc3Ry dWN0IHp4ZGdfc3VyZmFjZV92NiogeGRnX3N1cmZhY2U7DQotLSAgc3RydWN0IHp4ZGdfdG9wbGV2 ZWxfdjYqIHhkZ190b3BsZXZlbDsNCi0tICBzdHJ1Y3QgenhkZ19wb3B1cF92NiogeGRnX3BvcHVw Ow0KLSsgIHN0cnVjdCB4ZGdfc3VyZmFjZSogeGRnX3N1cmZhY2U7DQotKyAgc3RydWN0IHhkZ190 b3BsZXZlbCogeGRnX3RvcGxldmVsOw0KLSsgIHN0cnVjdCB4ZGdfcG9wdXAqIHhkZ19wb3B1cDsN Ci0gICBzdHJ1Y3QgemF1cmFfc3VyZmFjZSogYXVyYV9zdXJmYWNlOw0KLSAgIHN0cnVjdCB3bF9s aXN0IGxpbms7DQotIH07DQotQEAgLTUyMiw3ICs1MjMsNyBAQCBzdHJ1Y3Qgc2xfZ2xvYmFsKiBz bF9kYXRhX2RldmljZV9tYW5hZ2VyX2dsb2JhbF9jcmVhdGUoc3RydWN0IHNsX2NvbnRleHQqIGN0 eCk7DQotIA0KLSBzdHJ1Y3Qgc2xfZ2xvYmFsKiBzbF92aWV3cG9ydGVyX2dsb2JhbF9jcmVhdGUo c3RydWN0IHNsX2NvbnRleHQqIGN0eCk7DQotIA0KLS1zdHJ1Y3Qgc2xfZ2xvYmFsKiBzbF94ZGdf c2hlbGxfZ2xvYmFsX2NyZWF0ZShzdHJ1Y3Qgc2xfY29udGV4dCogY3R4KTsNCi0rc3RydWN0IHNs X2dsb2JhbCogc2xfeGRnX3dtX2Jhc2VfZ2xvYmFsX2NyZWF0ZShzdHJ1Y3Qgc2xfY29udGV4dCog Y3R4KTsNCi0gDQotIHN0cnVjdCBzbF9nbG9iYWwqIHNsX2d0a19zaGVsbF9nbG9iYWxfY3JlYXRl KHN0cnVjdCBzbF9jb250ZXh0KiBjdHgpOw0KLSANCi0tLSANCi0yLjI2LjINCi0NCmRpZmYgLS1n aXQgYS9wa2dzL29zLXNwZWNpZmljL2xpbnV4L2Nocm9taXVtLW9zL3NvbW1lbGllci8wMDA2LXNv bW1lbGllci1tYWtlLWJ1aWxkaW5nLWRlbW9zLW9wdGlvbmFsLnBhdGNoIGIvcGtncy9vcy1zcGVj aWZpYy9saW51eC9jaHJvbWl1bS1vcy9zb21tZWxpZXIvMDAwNi1zb21tZWxpZXItbWFrZS1idWls ZGluZy1kZW1vcy1vcHRpb25hbC5wYXRjaA0KZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0DQppbmRl eCBlY2M4NzZlNGJmYi4uMDAwMDAwMDAwMDANCi0tLSBhL3BrZ3Mvb3Mtc3BlY2lmaWMvbGludXgv Y2hyb21pdW0tb3Mvc29tbWVsaWVyLzAwMDYtc29tbWVsaWVyLW1ha2UtYnVpbGRpbmctZGVtb3Mt b3B0aW9uYWwucGF0Y2gNCisrKyAvZGV2L251bGwNCkBAIC0xLDEwMCArMCwwIEBADQotRnJvbSA2 YTRjY2JjZGVkMTlkZjllYzQyYjg2NTIxOGFjNzQ0ZTZiMzVkNTA1IE1vbiBTZXAgMTcgMDA6MDA6 MDAgMjAwMQ0KLUZyb206IEFseXNzYSBSb3NzIDxoaUBhbHlzc2EuaXM+DQotRGF0ZTogV2VkLCAx NSBKYW4gMjAyMCAyMTozNjo0MyArMDAwMA0KLVN1YmplY3Q6IFtQQVRDSCA2LzZdIHNvbW1lbGll cjogbWFrZSBidWlsZGluZyBkZW1vcyBvcHRpb25hbA0KLU1JTUUtVmVyc2lvbjogMS4wDQotQ29u dGVudC1UeXBlOiB0ZXh0L3BsYWluOyBjaGFyc2V0PVVURi04DQotQ29udGVudC1UcmFuc2Zlci1F bmNvZGluZzogOGJpdA0KLQ0KLXBrZy1jb25maWcgd2FzIGNoZWNrZWQgYXQgR04gZXZhbHVhdGlv biB0aW1lIGZvciBsaWJicmlsbG8gYW5kDQotbGliY2hyb21lLCBtZWFuaW5nIHRoYXQgdGhlcmUg d2FzIG5vIHdheSB0byBidWlsZCBzb21tZWxpZXIgd2l0aG91dA0KLXRoZW0sIGV2ZW4gdGhvdWdo IHRoZXkgd2VyZSBvbmx5IHJlcXVpcmVkIGZvciB0aGUgZGVtb3MsIG5vdCBmb3INCi1zb21tZWxp ZXIgaXRzZWxmLg0KLQ0KLU1ha2luZyB0aGUgZGVtbyBvcHRpb25hbCBzYXZlcyBoYXZpbmcgdG8g bGliYnJpbGxvIGFuZCBsaWJjaHJvbWUgZm9yDQotdGhlIGNvbW1vbiBjYXNlIG9mIGJ1aWxkaW5n IGp1c3Qgc29tbWVsaWVyLCB3aGljaCB0aGVtc2VsdmVzIGhhdmUgbG90cw0KLW9mIHVudXN1YWwg ZGVwZW5kZW5jaWVzLg0KLQ0KLVRoYW5rcy10bzogVG9tYXN6IMWabmlhdG93c2tpIDx0c25pYXRv d3NraUB2ZXdkLmNvbT4NCi0tLS0NCi0gdm1fdG9vbHMvc29tbWVsaWVyL0JVSUxELmduIHwgNTQg KysrKysrKysrKysrKysrKysrKysrKy0tLS0tLS0tLS0tLS0tLQ0KLSAxIGZpbGUgY2hhbmdlZCwg MzIgaW5zZXJ0aW9ucygrKSwgMjIgZGVsZXRpb25zKC0pDQotDQotZGlmZiAtLWdpdCBhL3ZtX3Rv b2xzL3NvbW1lbGllci9CVUlMRC5nbiBiL3ZtX3Rvb2xzL3NvbW1lbGllci9CVUlMRC5nbg0KLWlu ZGV4IDQzMzA1NjBhMS4uY2JiNzUyNzQ1IDEwMDY0NA0KLS0tLSBhL3ZtX3Rvb2xzL3NvbW1lbGll ci9CVUlMRC5nbg0KLSsrKyBiL3ZtX3Rvb2xzL3NvbW1lbGllci9CVUlMRC5nbg0KLUBAIC00LDEy ICs0LDIwIEBADQotIA0KLSBpbXBvcnQoIndheWxhbmRfcHJvdG9jb2wuZ25pIikNCi0gDQotK2Rl Y2xhcmVfYXJncygpIHsNCi0rICB1c2VfZGVtb3MgPSB0cnVlDQotK30NCi0rDQotIGdyb3VwKCJh bGwiKSB7DQotICAgZGVwcyA9IFsNCi0gICAgICI6c29tbWVsaWVyIiwNCi0tICAgICI6d2F5bGFu ZF9kZW1vIiwNCi0tICAgICI6eDExX2RlbW8iLA0KLSAgIF0NCi0rICBpZiAodXNlX2RlbW9zKSB7 DQotKyAgICBkZXBzICs9IFsNCi0rICAgICAgIjp3YXlsYW5kX2RlbW8iLA0KLSsgICAgICAiOngx MV9kZW1vIiwNCi0rICAgIF0NCi0rICB9DQotIH0NCi0gDQotIGlmICghZGVmaW5lZChwZWVyX2Nt ZF9wcmVmaXgpKSB7DQotQEAgLTEyMywyNSArMTMxLDI3IEBAIGV4ZWN1dGFibGUoInNvbW1lbGll ciIpIHsNCi0gICBdDQotIH0NCi0gDQotLWV4ZWN1dGFibGUoIndheWxhbmRfZGVtbyIpIHsNCi0t ICBwa2dfZGVwcyA9IFsNCi0tICAgICJsaWJicmlsbG8iLA0KLS0gICAgImxpYmNocm9tZS0ke2xp YmJhc2VfdmVyfSIsDQotLSAgICAid2F5bGFuZC1jbGllbnQiLA0KLS0gIF0NCi0tICBsaWJzID0g WyAid2F5bGFuZC1jbGllbnQiIF0NCi0tICBzb3VyY2VzID0gWw0KLS0gICAgImRlbW9zL3dheWxh bmRfZGVtby5jYyIsDQotLSAgXQ0KLS19DQotK2lmICh1c2VfZGVtb3MpIHsNCi0rICBleGVjdXRh YmxlKCJ3YXlsYW5kX2RlbW8iKSB7DQotKyAgICBwa2dfZGVwcyA9IFsNCi0rICAgICAgImxpYmJy aWxsbyIsDQotKyAgICAgICJsaWJjaHJvbWUtJHtsaWJiYXNlX3Zlcn0iLA0KLSsgICAgICAid2F5 bGFuZC1jbGllbnQiLA0KLSsgICAgXQ0KLSsgICAgbGlicyA9IFsgIndheWxhbmQtY2xpZW50IiBd DQotKyAgICBzb3VyY2VzID0gWw0KLSsgICAgICAiZGVtb3Mvd2F5bGFuZF9kZW1vLmNjIiwNCi0r ICAgIF0NCi0rICB9DQotIA0KLS1leGVjdXRhYmxlKCJ4MTFfZGVtbyIpIHsNCi0tICBwa2dfZGVw cyA9IFsNCi0tICAgICJsaWJicmlsbG8iLA0KLS0gICAgImxpYmNocm9tZS0ke2xpYmJhc2VfdmVy fSIsDQotLSAgXQ0KLS0gIGxpYnMgPSBbICJYMTEiIF0NCi0tICBzb3VyY2VzID0gWw0KLS0gICAg ImRlbW9zL3gxMV9kZW1vLmNjIiwNCi0tICBdDQotKyAgZXhlY3V0YWJsZSgieDExX2RlbW8iKSB7 DQotKyAgICBwa2dfZGVwcyA9IFsNCi0rICAgICAgImxpYmJyaWxsbyIsDQotKyAgICAgICJsaWJj aHJvbWUtJHtsaWJiYXNlX3Zlcn0iLA0KLSsgICAgXQ0KLSsgICAgbGlicyA9IFsgIlgxMSIgXQ0K LSsgICAgc291cmNlcyA9IFsNCi0rICAgICAgImRlbW9zL3gxMV9kZW1vLmNjIiwNCi0rICAgIF0N Ci0rICB9DQotIH0NCi0tLSANCi0yLjI2LjINCi0NCmRpZmYgLS1naXQgYS9wa2dzL29zLXNwZWNp ZmljL2xpbnV4L2Nocm9taXVtLW9zL3NvbW1lbGllci9kZWZhdWx0Lm5peCBiL3BrZ3Mvb3Mtc3Bl Y2lmaWMvbGludXgvY2hyb21pdW0tb3Mvc29tbWVsaWVyL2RlZmF1bHQubml4DQppbmRleCA5YmYy Nzc3YmZkNy4uNjhkMjM0NDRmOGQgMTAwNjQ0DQotLS0gYS9wa2dzL29zLXNwZWNpZmljL2xpbnV4 L2Nocm9taXVtLW9zL3NvbW1lbGllci9kZWZhdWx0Lm5peA0KKysrIGIvcGtncy9vcy1zcGVjaWZp Yy9saW51eC9jaHJvbWl1bS1vcy9zb21tZWxpZXIvZGVmYXVsdC5uaXgNCkBAIC04LDggKzgsNiBA QCBjb21tb24tbWsgew0KIA0KICAgcGxhdGZvcm0yUGF0Y2hlcyA9IFsNCiAgICAgLi8wMDA0LXNv bW1lbGllci1kb24tdC1sZWFrLXNvdXJjZS1hYnNvbHV0ZS1wYXRocy5wYXRjaA0KLSAgICAuLzAw MDUtc29tbWVsaWVyLXVzZS1zdGFibGUteGRnLXNoZWxsLXByb3RvY29sLnBhdGNoDQotICAgIC4v MDAwNi1zb21tZWxpZXItbWFrZS1idWlsZGluZy1kZW1vcy1vcHRpb25hbC5wYXRjaA0KICAgXTsN CiANCiAgIGJ1aWxkSW5wdXRzID0gWw0KLS0gDQoyLjMxLjENCg==