From mboxrd@z Thu Jan 1 00:00:00 1970 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on inbox.vuxu.org X-Spam-Level: X-Spam-Status: No, score=-1.0 required=5.0 tests=ALL_TRUSTED autolearn=ham autolearn_force=no version=3.4.4 Received: (qmail 30186 invoked from network); 27 Jun 2021 19:38:56 -0000 Received: from localhost (HELO inbox.vuxu.org) (::1) by localhost with ESMTPUTF8; 27 Jun 2021 19:38:56 -0000 Content-Type: multipart/mixed; boundary="===============8741602870081102121==" MIME-Version: 1.0 Subject: =?utf8?b?UmU6IFtQUiBQQVRDSF0gW1VwZGF0ZWRdIFt3aXBdIHF0NjogdXBkYXRlIHRvIDYuMiAoYWxwaGEp?= To: ml@inbox.vuxu.org From: Johnnynator Reply-to: ml@inbox.vuxu.org In-Reply-To: References: Date: Sun, 27 Jun 2021 21:38:56 +0200 List-Id: Message-ID: <20210627193856.625Tc5pqqgeFb85AJjr86Gw39z8c4tMFgG8VpYWfg4g@z> GitHub notification mails are now in MIME to allow UTF8. --===============8741602870081102121== Content-Type: text/plain; charset="utf8" MIME-Version: 1.0 Content-Transfer-Encoding: base64 VGhlcmUgaXMgYW4gdXBkYXRlZCBwdWxsIHJlcXVlc3QgYnkgSm9obm55bmF0b3IgYWdhaW5zdCBt YXN0ZXIgb24gdGhlIHZvaWQtcGFja2FnZXMgcmVwb3NpdG9yeQoKaHR0cHM6Ly9naXRodWIuY29t L0pvaG5ueW5hdG9yL3ZvaWQtcGFja2FnZXMgcXQ2LjIKaHR0cHM6Ly9naXRodWIuY29tL3ZvaWQt bGludXgvdm9pZC1wYWNrYWdlcy9wdWxsLzMxNjg2Cgpbd2lwXSBxdDY6IHVwZGF0ZSB0byA2LjIg KGFscGhhKQotIHF0Ni0zZDogdXBkYXRlIHRvIDYuMi4wYWxwaGEuCi0gcXQ2LWJhc2U6IHVwZGF0 ZSB0byA2LjIuMGFscGhhLgotIHF0Ni1jaGFydHM6IHVwZGF0ZSB0byA2LjIuMGFscGhhLgotIHF0 Ni1kZWNsYXJhdGl2ZTogdXBkYXRlIHRvIDYuMi4wYWxwaGEuCi0gcXQ2LWltYWdlZm9ybWF0czog dXBkYXRlIHRvIDYuMi4wYWxwaGEuCi0gcXQ2LWxvdHRpZTogdXBkYXRlIHRvIDYuMi4wYWxwaGEu Ci0gcXQ2LW5ldHdvcmthdXRoOiB1cGRhdGUgdG8gNi4yLjBhbHBoYS4KLSBxdDYtcXQ1Y29tcGF0 OiB1cGRhdGUgdG8gNi4yLjBhbHBoYS4KLSBxdDYtcXVpY2szZDogdXBkYXRlIHRvIDYuMi4wYWxw aGEuCi0gcXQ2LXF1aWNrY29udHJvbHMyOiB1cGRhdGUgdG8gNi4yLjBhbHBoYS4KLSBxdDYtcXVp Y2t0aW1lbGluZTogdXBkYXRlIHRvIDYuMi4wYWxwaGEuCi0gcXQ2LXNjeG1sOiB1cGRhdGUgdG8g Ni4yLjBhbHBoYS4KLSBxdDYtc2hhZGVydG9vbHM6IHVwZGF0ZSB0byA2LjIuMGFscGhhLgotIHF0 Ni1zdmc6IHVwZGF0ZSB0byA2LjIuMGFscGhhLgotIHF0Ni10b29sczogdXBkYXRlIHRvIDYuMi4w YWxwaGEuCi0gcXQ2LXRyYW5zbGF0aW9uczogdXBkYXRlIHRvIDYuMi4wYWxwaGEuCi0gcXQ2LXZp cnR1YWxrZXlib2FyZDogdXBkYXRlIHRvIDYuMi4wYWxwaGEuCi0gcXQ2LXdheWxhbmQ6IHVwZGF0 ZSB0byA2LjIuMGFscGhhLgotIE5ldyBwYWNrYWdlOiBxdDYtc2VyaWFscG9ydC02LjIuMGFscGhh Ci0gTmV3IHBhY2thZ2U6IHF0Ni13ZWJzb2NrZXRzLTYuMi4wYWxwaGEKLSBOZXcgcGFja2FnZTog cXQ2LXdlYmNoYW5uZWwtNi4yLjBhbHBoYQotIE5ldyBwYWNrYWdlOiBxdDYtbXVsdGltZWRpYS02 LjIuMGFscGhhCi0gTmV3IHBhY2thZ2U6IHF0Ni13ZWJlbmdpbmUtNi4yLjBhbHBoYQotIE5ldyBw YWNrYWdlOiBxdDYtbG9jYXRpb24tNi4yLjBhbHBoYQoKPCEtLSBNYXJrIGl0ZW1zIHdpdGggW3hd IHdoZXJlIGFwcGxpY2FibGUgLS0+CgojIyMjIEdlbmVyYWwKLSBbeF0gVGhpcyBpcyBhIG5ldyBw YWNrYWdlIGFuZCBpdCBjb25mb3JtcyB0byB0aGUgW3F1YWxpdHkgcmVxdWlyZW1lbnRzXShodHRw czovL2dpdGh1Yi5jb20vdm9pZC1saW51eC92b2lkLXBhY2thZ2VzL2Jsb2IvbWFzdGVyL01hbnVh bC5tZCNxdWFsaXR5LXJlcXVpcmVtZW50cykKCiMjIyMgSGF2ZSB0aGUgcmVzdWx0cyBvZiB0aGUg cHJvcG9zZWQgY2hhbmdlcyBiZWVuIHRlc3RlZD8KLSBbIF0gSSB1c2UgdGhlIHBhY2thZ2VzIGFm ZmVjdGVkIGJ5IHRoZSBwcm9wb3NlZCBjaGFuZ2VzIG9uIGEgcmVndWxhciBiYXNpcyBhbmQgY29u ZmlybSB0aGlzIFBSIHdvcmtzIGZvciBtZQotIFt4XSBJIGdlbmVyYWxseSBkb24ndCB1c2UgdGhl IGFmZmVjdGVkIHBhY2thZ2VzIGJ1dCBicmllZmx5IHRlc3RlZCB0aGlzIFBSCgo8IS0tCklmIEdp dEh1YiBDSSBjYW5ub3QgYmUgdXNlZCB0byB2YWxpZGF0ZSB0aGUgYnVpbGQgcmVzdWx0IChmb3Ig ZXhhbXBsZSwgaWYgdGhlCmJ1aWxkIGlzIGxpa2VseSB0byB0YWtlIHNldmVyYWwgaG91cnMpLCBt YWtlIHN1cmUgdG8KW3NraXAgQ0ldKGh0dHBzOi8vZ2l0aHViLmNvbS92b2lkLWxpbnV4L3ZvaWQt cGFja2FnZXMvYmxvYi9tYXN0ZXIvQ09OVFJJQlVUSU5HLm1kI2NvbnRpbnVvdXMtaW50ZWdyYXRp b24pLgpXaGVuIHNraXBwaW5nIENJLCB1bmNvbW1lbnQgYW5kIGZpbGwgb3V0IHRoZSBmb2xsb3dp bmcgc2VjdGlvbi4KTm90ZTogZm9yIGJ1aWxkcyB0aGF0IGFyZSBsaWtlbHkgdG8gY29tcGxldGUg aW4gbGVzcyB0aGFuIDIgaG91cnMsIGl0IGlzIG5vdAphY2NlcHRhYmxlIHRvIHNraXAgQ0kuCi0t PiAKIyMjIyBEb2VzIGl0IGJ1aWxkIGFuZCBydW4gc3VjY2Vzc2Z1bGx5PyAKKFBsZWFzZSBjaG9v c2UgYXQgbGVhc3Qgb25lIG5hdGl2ZSBidWlsZCBhbmQsIGlmIHN1cHBvcnRlZCwgYXQgbGVhc3Qg b25lIGNyb3NzIGJ1aWxkLiBNb3JlIGFyZSBiZXR0ZXIuKQotIFt4XSBJIGJ1aWx0IHRoaXMgUFIg bG9jYWxseSBmb3IgbXkgbmF0aXZlIGFyY2hpdGVjdHVyZSwgKEFSQ0gtTElCQykKLSBbeF0gSSBi dWlsdCB0aGlzIFBSIGxvY2FsbHkgZm9yIHRoZXNlIGFyY2hpdGVjdHVyZXMgKGlmIHN1cHBvcnRl ZC4gbWFyayBjcm9zc2J1aWxkcyk6CiAgLSBbeF0gYWFyY2g2NC1tdXNsCiAgLSBbeF0gYXJtdjds CiAgLSBbeF0gYXJtdjZsLW11c2wKW2NpIHNraXBdCgoKQSBwYXRjaCBmaWxlIGZyb20gaHR0cHM6 Ly9naXRodWIuY29tL3ZvaWQtbGludXgvdm9pZC1wYWNrYWdlcy9wdWxsLzMxNjg2LnBhdGNoIGlz IGF0dGFjaGVk --===============8741602870081102121== Content-Type: text/x-diff MIME-Version: 1.0 Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="github-pr-qt6.2-31686.patch" RnJvbSBiNWNkZTdiOTNjNzNmNDQ3YTY0NGRjMDY5MDRhNGUzN2RlOGRlY2ViIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBKb2huIDxtZUBqb2hubnluYXRvci5kZXY+CkRhdGU6IFRodSwg MjQgSnVuIDIwMjEgMjA6NTg6MzIgKzAyMDAKU3ViamVjdDogW1BBVENIIDAxLzI0XSBxdDYtM2Q6 IHVwZGF0ZSB0byA2LjIuMGFscGhhLgoKLS0tCiBzcmNwa2dzL3F0Ni0zZC90ZW1wbGF0ZSB8IDgg KysrKy0tLS0KIDEgZmlsZSBjaGFuZ2VkLCA0IGluc2VydGlvbnMoKyksIDQgZGVsZXRpb25zKC0p CgpkaWZmIC0tZ2l0IGEvc3JjcGtncy9xdDYtM2QvdGVtcGxhdGUgYi9zcmNwa2dzL3F0Ni0zZC90 ZW1wbGF0ZQppbmRleCBkZWM4YmRlYmY5OGYuLjlhNDVjOGMwMTFlZiAxMDA2NDQKLS0tIGEvc3Jj cGtncy9xdDYtM2QvdGVtcGxhdGUKKysrIGIvc3JjcGtncy9xdDYtM2QvdGVtcGxhdGUKQEAgLTEs OCArMSw4IEBACiAjIFRlbXBsYXRlIGZpbGUgZm9yICdxdDYtM2QnCiBwa2duYW1lPXF0Ni0zZAot dmVyc2lvbj02LjEuMQordmVyc2lvbj02LjIuMGFscGhhCiByZXZpc2lvbj0xCi13cmtzcmM9InF0 M2QtZXZlcnl3aGVyZS1zcmMtJHt2ZXJzaW9ufSIKK3dya3NyYz0icXQzZC1ldmVyeXdoZXJlLXNy Yy0ke3ZlcnNpb24vYWxwaGEvLWFscGhhfSIKIGJ1aWxkX3N0eWxlPWNtYWtlCiBjb25maWd1cmVf YXJncz0iLURRVF9IT1NUX1BBVEg9L3VzciIKIGhvc3RtYWtlZGVwZW5kcz0icGVybCBxdDYtZGVj bGFyYXRpdmUtZGV2ZWwiCkBAIC0xMiw4ICsxMiw4IEBAIHNob3J0X2Rlc2M9IkNyb3NzLXBsYXRm b3JtIGFwcGxpY2F0aW9uIGFuZCBVSSBmcmFtZXdvcmsgLSAzZCIKIG1haW50YWluZXI9IkpvaG4g PG1lQGpvaG5ueW5hdG9yLmRldj4iCiBsaWNlbnNlPSIoTEdQTC0zLjAtb25seSBPUiBHUEwtMi4w LW9ubHkgT1IgR1BMLTMuMC1vbmx5KSBBTkQgR1BMLTMuMC1vbmx5IHdpdGggUXQtR1BMLWV4Y2Vw dGlvbi0xLjAiCiBob21lcGFnZT0iaHR0cHM6Ly9xdC5pby8iCi1kaXN0ZmlsZXM9Imh0dHA6Ly9k b3dubG9hZC5xdC5pby9vZmZpY2lhbF9yZWxlYXNlcy9xdC8ke3ZlcnNpb24lLip9LyR7dmVyc2lv bn0vc3VibW9kdWxlcy9xdDNkLWV2ZXJ5d2hlcmUtc3JjLSR7dmVyc2lvbn0udGFyLnh6IgotY2hl Y2tzdW09NjZlMjVmY2YwYmQ5NjUzNzRmOTgxNGVmOGZiOTYwZmY3YzA0MTRlYzk0ODBkY2RjNTdj YWFkMTdmMjNlZGUwOAorZGlzdGZpbGVzPSJodHRwOi8vZG93bmxvYWQucXQuaW8vZGV2ZWxvcG1l bnRfcmVsZWFzZXMvcXQvJHt2ZXJzaW9uJS4qfS8ke3ZlcnNpb24vYWxwaGEvLWFscGhhfS9zdWJt b2R1bGVzL3F0M2QtZXZlcnl3aGVyZS1zcmMtJHt2ZXJzaW9uL2FscGhhLy1hbHBoYX0udGFyLnh6 IgorY2hlY2tzdW09OGZmZjdhYzc5YjNmNTA4ZGYwMGJmYzRlMTRlNDAxYjFkZGUwYTViYzFkNjdk M2NiODhjMDViMDRhYzEyYWExYgogCiBxdDYtM2QtZGV2ZWxfcGFja2FnZSgpIHsKIAlkZXBlbmRz PSIke3NvdXJjZXBrZ30+PSR7dmVyc2lvbn1fJHtyZXZpc2lvbn0iCgpGcm9tIDNiYmZiYjA2Mzk1 Njg2NGEyZjA0ZmU2OTJlOTg2YWYwNDJiMzFiZDYgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCkZy b206IEpvaG4gPG1lQGpvaG5ueW5hdG9yLmRldj4KRGF0ZTogVGh1LCAyNCBKdW4gMjAyMSAyMDo1 ODo0MSArMDIwMApTdWJqZWN0OiBbUEFUQ0ggMDIvMjRdIHF0Ni1iYXNlOiB1cGRhdGUgdG8gNi4y LjBhbHBoYS4KCi0tLQogLi4uL3F0Ni1iYXNlL3BhdGNoZXMvbXVzbC11c3ItcGF0aC1oYWNrLnBh dGNoIHwgMjUgKysrKysrKysrKysrKysrKysrKwogc3JjcGtncy9xdDYtYmFzZS90ZW1wbGF0ZSAg ICAgICAgICAgICAgICAgICAgIHwgMTYgKysrKysrLS0tLS0tCiAyIGZpbGVzIGNoYW5nZWQsIDMz IGluc2VydGlvbnMoKyksIDggZGVsZXRpb25zKC0pCiBjcmVhdGUgbW9kZSAxMDA2NDQgc3JjcGtn cy9xdDYtYmFzZS9wYXRjaGVzL211c2wtdXNyLXBhdGgtaGFjay5wYXRjaAoKZGlmZiAtLWdpdCBh L3NyY3BrZ3MvcXQ2LWJhc2UvcGF0Y2hlcy9tdXNsLXVzci1wYXRoLWhhY2sucGF0Y2ggYi9zcmNw a2dzL3F0Ni1iYXNlL3BhdGNoZXMvbXVzbC11c3ItcGF0aC1oYWNrLnBhdGNoCm5ldyBmaWxlIG1v ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMC4uYTJlYzc1NTBlN2JiCi0tLSAvZGV2L251bGwK KysrIGIvc3JjcGtncy9xdDYtYmFzZS9wYXRjaGVzL211c2wtdXNyLXBhdGgtaGFjay5wYXRjaApA QCAtMCwwICsxLDI1IEBACitTb3VyY2U6IEBKb2hubnluYXRvcgorVXBzdGVhbTogTm8KK1N1Ympl Y3Q6IE11c2wgYWx3YXlzIHJldHVybnMgL2xpYi9saWJRdDZDb3JlLnNvLjYgZm9yIERsX2luZm8u ZGxpX2ZuYW1lLiAKK1RoaXMgYWxzbyBoYXBwZW5zIHNvbWV0aW1lcyB3aXRoIHF0d2ViZW5naW5l IG9uIGdsaWJjLgorVGhpcyBicmVha3MgcXQ2LXdlYmVuZ2luZSdzIHNlYXJjaCBwYXRoIGZvciB0 cmFuc2xhdGlvbnMuCitVc2luZyByZWFscGF0aCBpbnN0ZWFkIHdvdWxkIHByb2JhYmx5IGJlIGEg bW9yZSBjb3JyZWN0IHNvbHV0aW9uLgorCistLS0KK2RpZmYgLS1naXQgcXRiYXNlc3JjL2NvcmVs aWIvZ2xvYmFsL3FsaWJyYXJ5aW5mby5jcHAgcXRiYXNlc3JjL2NvcmVsaWIvZ2xvYmFsL3FsaWJy YXJ5aW5mby5jcHAKK2luZGV4IDhiY2Y2N2U3M2QuLjI4ZDczNTUzMTAgMTAwNjQ0CistLS0gYS9z cmMvY29yZWxpYi9nbG9iYWwvcWxpYnJhcnlpbmZvLmNwcAorKysrIGIvc3JjL2NvcmVsaWIvZ2xv YmFsL3FsaWJyYXJ5aW5mby5jcHAKK0BAIC01NTgsNiArNTU4LDEyIEBAIHN0YXRpYyBRU3RyaW5n IGdldFJlbG9jYXRhYmxlUHJlZml4KCkKKyAgICAgaW50IHJlc3VsdCA9IGRsYWRkcihyZWludGVy cHJldF9jYXN0PHZvaWQgKj4oJlFMaWJyYXJ5SW5mbzo6aXNEZWJ1Z0J1aWxkKSwgJmluZm8pOwor ICAgICBpZiAocmVzdWx0ID4gMCAmJiBpbmZvLmRsaV9mbmFtZSkKKyAgICAgICAgIHByZWZpeFBh dGggPSBwcmVmaXhGcm9tUXRDb3JlTGlicmFyeUhlbHBlcihRU3RyaW5nOjpmcm9tTG9jYWw4Qml0 KGluZm8uZGxpX2ZuYW1lKSk7CisrI2lmIDEKKysgICAgUURpciBwcmVEaXIocHJlZml4UGF0aCk7 CisrICAgIGlmIChwcmVEaXIuaXNSb290KCkpIHsKKysgICAgICAgIHByZWZpeFBhdGggPSBRU3Ry aW5nTGl0ZXJhbCgiL3VzciIpOworKyAgICB9CisrI2VuZGlmCisgI2VsaWYgZGVmaW5lZChRX09T X1dJTikKKyAgICAgSE1PRFVMRSBoTW9kdWxlID0gZ2V0V2luZG93c01vZHVsZUhhbmRsZSgpOwor ICAgICBjb25zdCBpbnQga0J1ZmZlclNpemUgPSA0MDk2OwpkaWZmIC0tZ2l0IGEvc3JjcGtncy9x dDYtYmFzZS90ZW1wbGF0ZSBiL3NyY3BrZ3MvcXQ2LWJhc2UvdGVtcGxhdGUKaW5kZXggYmIwNDMy MTNhMzYwLi5mYWQzNmZlOGJjNzAgMTAwNjQ0Ci0tLSBhL3NyY3BrZ3MvcXQ2LWJhc2UvdGVtcGxh dGUKKysrIGIvc3JjcGtncy9xdDYtYmFzZS90ZW1wbGF0ZQpAQCAtMSw4ICsxLDggQEAKICMgVGVt cGxhdGUgZmlsZSBmb3IgJ3F0Ni1iYXNlJwogcGtnbmFtZT1xdDYtYmFzZQotdmVyc2lvbj02LjEu MQordmVyc2lvbj02LjIuMGFscGhhCiByZXZpc2lvbj0xCi13cmtzcmM9InF0YmFzZS1ldmVyeXdo ZXJlLXNyYy0ke3ZlcnNpb259Igord3Jrc3JjPSJxdGJhc2UtZXZlcnl3aGVyZS1zcmMtJHt2ZXJz aW9uL2FscGhhLy1hbHBoYX0iCiBidWlsZF9zdHlsZT1jbWFrZQogY29uZmlndXJlX2FyZ3M9Ii1E SU5TVEFMTF9EQVRBRElSPXNoYXJlL3F0NgogIC1ESU5TVEFMTF9BUkNIREFUQURJUj1saWIvcXQ2 CkBAIC0yNyw4ICsyNyw4IEBAIHNob3J0X2Rlc2M9IkNyb3NzLXBsYXRmb3JtIGFwcGxpY2F0aW9u IGFuZCBVSSBmcmFtZXdvcmsgKFFUNikiCiBtYWludGFpbmVyPSJKb2huIDxtZUBqb2hubnluYXRv ci5kZXY+IgogbGljZW5zZT0iR1BMLTMuMC1vbmx5IFdJVEggUXQtR1BMLWV4Y2VwdGlvbi0xLjAs IExHUEwtMy4wLW9ubHksIEdQTC0yLjAtb3ItbGF0ZXIiCiBob21lcGFnZT0iaHR0cHM6Ly93d3cu cXQuaW8iCi1kaXN0ZmlsZXM9Imh0dHBzOi8vZG93bmxvYWQucXQuaW8vb2ZmaWNpYWxfcmVsZWFz ZXMvcXQvJHt2ZXJzaW9uJS4qfS8ke3ZlcnNpb259L3N1Ym1vZHVsZXMvcXRiYXNlLWV2ZXJ5d2hl cmUtc3JjLSR7dmVyc2lvbn0udGFyLnh6IgotY2hlY2tzdW09MjFhOGFhOWYwNzE3MGUwNDcyNzBj NjY4YzhiMDM3NTM2ZjQwMjI2ZGI3YWRiYzUyOWEwYjQxYzNhM2NiM2ZmMgorZGlzdGZpbGVzPSJo dHRwczovL2Rvd25sb2FkLnF0LmlvL2RldmVsb3BtZW50X3JlbGVhc2VzL3F0LyR7dmVyc2lvbiUu Kn0vJHt2ZXJzaW9uL2FscGhhLy1hbHBoYX0vc3VibW9kdWxlcy9xdGJhc2UtZXZlcnl3aGVyZS1z cmMtJHt2ZXJzaW9uL2FscGhhLy1hbHBoYX0udGFyLnh6IgorY2hlY2tzdW09ZWIxOGQ4ZmM1YjUx MzZhYjBkMTc3ZDg5YzU0ZWMxOTczNjM5MDRmZWRiMmFlY2IwZDg3MDMzY2U3OGRkZmZjYwogcHl0 aG9uX3ZlcnNpb249MwogCiBpZiBbICIkQ1JPU1NfQlVJTEQiIF07IHRoZW4KQEAgLTg0LDEwICs4 NCwxMCBAQCBxdDYtZ3VpX3BhY2thZ2UoKSB7CiAJc2hvcnRfZGVzYys9IiAtIEd1aSIKIAlwa2df aW5zdGFsbCgpIHsKIAkJdm1vdmUgInVzci9saWIvbGliUXQ2R3VpLnNvLioiCi0JCXZtb3ZlICJ1 c3IvbGliL2xpYlF0NlhjYlFwYS5zby4qIgotCQl2bW92ZSAidXNyL2xpYi9saWJRdDZFZ2xGU0Rl dmljZUludGVncmF0aW9uLnNvLioiCi0JCXZtb3ZlICJ1c3IvbGliL2xpYlF0NkVnbEZzS21zR2Jt U3VwcG9ydC5zby4qIgotCQl2bW92ZSAidXNyL2xpYi9saWJRdDZFZ2xGc0ttc1N1cHBvcnQuc28u KiIKKwkJdm1vdmUgInVzci9saWIvbGliUXQ2WGNiUXBhUHJpdmF0ZS5zby4qIgorCQl2bW92ZSAi dXNyL2xpYi9saWJRdDZFZ2xGU0RldmljZUludGVncmF0aW9uUHJpdmF0ZS5zby4qIgorCQl2bW92 ZSAidXNyL2xpYi9saWJRdDZFZ2xGc0ttc0dibVN1cHBvcnRQcml2YXRlLnNvLioiCisJCXZtb3Zl ICJ1c3IvbGliL2xpYlF0NkVnbEZzS21zU3VwcG9ydFByaXZhdGUuc28uKiIKIAkJdm1vdmUgInVz ci9saWIvbGliUXQ2T3BlbkdMLnNvLioiCiAJCXZtb3ZlIHVzci9saWIvcXQ2L3BsdWdpbnMvZ2Vu ZXJpYwogCQl2bW92ZSB1c3IvbGliL3F0Ni9wbHVnaW5zL3BsYXRmb3JtcwoKRnJvbSA4ODdlZTgw ZTk2ODZiOGU1ODhkZWFjZWZkNTBmNTZkZDc0ZDVkNzczIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAw MQpGcm9tOiBKb2huIDxtZUBqb2hubnluYXRvci5kZXY+CkRhdGU6IFRodSwgMjQgSnVuIDIwMjEg MjA6NTg6NDUgKzAyMDAKU3ViamVjdDogW1BBVENIIDAzLzI0XSBxdDYtY2hhcnRzOiB1cGRhdGUg dG8gNi4yLjBhbHBoYS4KCi0tLQogc3JjcGtncy9xdDYtY2hhcnRzL3RlbXBsYXRlIHwgOCArKysr LS0tLQogMSBmaWxlIGNoYW5nZWQsIDQgaW5zZXJ0aW9ucygrKSwgNCBkZWxldGlvbnMoLSkKCmRp ZmYgLS1naXQgYS9zcmNwa2dzL3F0Ni1jaGFydHMvdGVtcGxhdGUgYi9zcmNwa2dzL3F0Ni1jaGFy dHMvdGVtcGxhdGUKaW5kZXggMTY0NWZlNWI0NTA3Li4xYmVhZjBkYmVjZmQgMTAwNjQ0Ci0tLSBh L3NyY3BrZ3MvcXQ2LWNoYXJ0cy90ZW1wbGF0ZQorKysgYi9zcmNwa2dzL3F0Ni1jaGFydHMvdGVt cGxhdGUKQEAgLTEsOCArMSw4IEBACiAjIFRlbXBsYXRlIGZpbGUgZm9yICdxdDYtY2hhcnRzJwog cGtnbmFtZT1xdDYtY2hhcnRzCi12ZXJzaW9uPTYuMS4xCit2ZXJzaW9uPTYuMi4wYWxwaGEKIHJl dmlzaW9uPTEKLXdya3NyYz0icXRjaGFydHMtZXZlcnl3aGVyZS1zcmMtJHt2ZXJzaW9ufSIKK3dy a3NyYz0icXRjaGFydHMtZXZlcnl3aGVyZS1zcmMtJHt2ZXJzaW9uL2FscGhhLy1hbHBoYX0iCiBi dWlsZF9zdHlsZT1jbWFrZQogY29uZmlndXJlX2FyZ3M9Ii1EUVRfSE9TVF9QQVRIPS91c3IiCiBo b3N0bWFrZWRlcGVuZHM9InBlcmwgcXQ2LWRlY2xhcmF0aXZlLWRldmVsIgpAQCAtMTEsOCArMTEs OCBAQCBzaG9ydF9kZXNjPSJDcm9zcy1wbGF0Zm9ybSBhcHBsaWNhdGlvbiBhbmQgVUkgZnJhbWV3 b3JrIC0gY2hhcnRzIgogbWFpbnRhaW5lcj0iSm9obiA8bWVAam9obm55bmF0b3IuZGV2PiIKIGxp Y2Vuc2U9IkdQTC0zLjAtb25seSIKIGhvbWVwYWdlPSJodHRwczovL3F0LmlvLyIKLWRpc3RmaWxl cz0iaHR0cDovL2Rvd25sb2FkLnF0LmlvL29mZmljaWFsX3JlbGVhc2VzL3F0LyR7dmVyc2lvbiUu Kn0vJHt2ZXJzaW9ufS9zdWJtb2R1bGVzL3F0Y2hhcnRzLWV2ZXJ5d2hlcmUtc3JjLSR7dmVyc2lv bn0udGFyLnh6IgotY2hlY2tzdW09YTI0NWI4ZTFiM2VkZDIyYzUzMTlkOGNmMGVlMThmOTU5MDFj ZmMzOWU0Zjk0YjM0YjU5YmVmZmZjMTdhZjYwYQorZGlzdGZpbGVzPSJodHRwOi8vZG93bmxvYWQu cXQuaW8vZGV2ZWxvcG1lbnRfcmVsZWFzZXMvcXQvJHt2ZXJzaW9uJS4qfS8ke3ZlcnNpb24vYWxw aGEvLWFscGhhfS9zdWJtb2R1bGVzL3F0Y2hhcnRzLWV2ZXJ5d2hlcmUtc3JjLSR7dmVyc2lvbi9h bHBoYS8tYWxwaGF9LnRhci54eiIKK2NoZWNrc3VtPTI5NDIwNWJjMWU4NTViYjQ0YTBlMTdjNzA3 Yjk4MWM2MTdmYzA4ZDU1ZDA3MWUxZDAyNDQxZmY1YTRlN2U2NzYKIAogcXQ2LWNoYXJ0cy1kZXZl bF9wYWNrYWdlKCkgewogCWRlcGVuZHM9IiR7c291cmNlcGtnfT49JHt2ZXJzaW9ufV8ke3Jldmlz aW9ufSIKCkZyb20gNjk5NThiM2ExMjE5Mjc3ODFhZTIxMTlkYmU3ODgxNTEwZDQzNmJiOSBNb24g U2VwIDE3IDAwOjAwOjAwIDIwMDEKRnJvbTogSm9obiA8bWVAam9obm55bmF0b3IuZGV2PgpEYXRl OiBUaHUsIDI0IEp1biAyMDIxIDIwOjU4OjUxICswMjAwClN1YmplY3Q6IFtQQVRDSCAwNC8yNF0g cXQ2LWRlY2xhcmF0aXZlOiB1cGRhdGUgdG8gNi4yLjBhbHBoYS4KCi0tLQogc3JjcGtncy9xdDYt ZGVjbGFyYXRpdmUvdGVtcGxhdGUgfCAyNCArKysrKysrKysrKysrKy0tLS0tLS0tLS0KIDEgZmls ZSBjaGFuZ2VkLCAxNCBpbnNlcnRpb25zKCspLCAxMCBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQg YS9zcmNwa2dzL3F0Ni1kZWNsYXJhdGl2ZS90ZW1wbGF0ZSBiL3NyY3BrZ3MvcXQ2LWRlY2xhcmF0 aXZlL3RlbXBsYXRlCmluZGV4IGE2MTg2MTU3NjQ5OS4uYmVmMDA2ZGY5NmYwIDEwMDY0NAotLS0g YS9zcmNwa2dzL3F0Ni1kZWNsYXJhdGl2ZS90ZW1wbGF0ZQorKysgYi9zcmNwa2dzL3F0Ni1kZWNs YXJhdGl2ZS90ZW1wbGF0ZQpAQCAtMSwyMCArMSwyMyBAQAogIyBUZW1wbGF0ZSBmaWxlIGZvciAn cXQ2LWRlY2xhcmF0aXZlJwogcGtnbmFtZT1xdDYtZGVjbGFyYXRpdmUKLXZlcnNpb249Ni4xLjEK K3ZlcnNpb249Ni4yLjBhbHBoYQogcmV2aXNpb249MQotd3Jrc3JjPSJxdGRlY2xhcmF0aXZlLWV2 ZXJ5d2hlcmUtc3JjLSR7dmVyc2lvbn0iCit3cmtzcmM9InF0ZGVjbGFyYXRpdmUtZXZlcnl3aGVy ZS1zcmMtJHt2ZXJzaW9uL2FscGhhLy1hbHBoYX0iCiBidWlsZF9zdHlsZT1jbWFrZQotY29uZmln dXJlX2FyZ3M9IiAtRFFUX0hPU1RfUEFUSD0vdXNyCi0gLURRVF9CVUlMRF9UT09MU19XSEVOX0NS T1NTQ09NUElMSU5HPXRydWUiCitjb25maWd1cmVfYXJncz0iIC1EUVRfSE9TVF9QQVRIPS91c3Ii CiBob3N0bWFrZWRlcGVuZHM9InF0Ni1iYXNlLWRldmVsIHBlcmwgcGtnLWNvbmZpZyB3YXlsYW5k LWRldmVsCi0gcXQ2LWRlY2xhcmF0aXZlLWRldmVsIgorIHF0Ni1zaGFkZXJ0b29scy1kZXZlbCBx dDYtZGVjbGFyYXRpdmUtZGV2ZWwiCiBtYWtlZGVwZW5kcz0icXQ2LWJhc2UtZGV2ZWwgVnVsa2Fu LUhlYWRlcnMiCiBzaG9ydF9kZXNjPSJDcm9zcy1wbGF0Zm9ybSBhcHBsaWNhdGlvbiBhbmQgVUkg ZnJhbWV3b3JrIC0gRGVjbGFyYXRpdmUiCiBtYWludGFpbmVyPSJKb2huIDxtZUBqb2hubnluYXRv ci5kZXY+IgogbGljZW5zZT0iR1BMLTMuMC1vbmx5IHdpdGggUXQtR1BMLWV4Y2VwdGlvbi0xLjAs IExHUEwtMy4wLW9ubHksIEdQTC0yLjAtb3ItbGF0ZXIiCiBob21lcGFnZT0iaHR0cHM6Ly93d3cu cXQuaW8iCi1kaXN0ZmlsZXM9Imh0dHBzOi8vZG93bmxvYWQucXQuaW8vb2ZmaWNpYWxfcmVsZWFz ZXMvcXQvJHt2ZXJzaW9uJS4qfS8ke3ZlcnNpb259L3N1Ym1vZHVsZXMvcXRkZWNsYXJhdGl2ZS1l dmVyeXdoZXJlLXNyYy0ke3ZlcnNpb259LnRhci54eiIKLWNoZWNrc3VtPTgwNTM5NDMwNzQ3OWVi Y2E5ODk5OTk2YWY4MzU3MDM3YzRmMWZmOGI3ODMxNjJhZGUwYzVhMDVjZWE3ZWUyZDIKK2Rpc3Rm aWxlcz0iaHR0cHM6Ly9kb3dubG9hZC5xdC5pby9kZXZlbG9wbWVudF9yZWxlYXNlcy9xdC8ke3Zl cnNpb24lLip9LyR7dmVyc2lvbi9hbHBoYS8tYWxwaGF9L3N1Ym1vZHVsZXMvcXRkZWNsYXJhdGl2 ZS1ldmVyeXdoZXJlLXNyYy0ke3ZlcnNpb24vYWxwaGEvLWFscGhhfS50YXIueHoiCitjaGVja3N1 bT00ZmQyZDk0NDg2MjA1ODY4NjJlNTYxNDljNDNlZjkzYjZkZGRjYjYwZDZmMjExYWI5MzNiZWQ5 ODRkMWYxZDhhCisKK2lmIFsgIiRDUk9TU19CVUlMRCIgXTsgdGhlbgorCWNvbmZpZ3VyZV9hcmdz Kz0iIC1EUVRfQlVJTERfVE9PTFNfV0hFTl9DUk9TU0NPTVBJTElORz10cnVlIgorZmkKIAogaWYg WyAiJFhCUFNfQ0hFQ0tfUEtHUyIgXTsgdGhlbgogCWNvbmZpZ3VyZV9hcmdzKz0iIC1EUVRfQlVJ TERfVEVTVFM9T04iCkBAIC0zNCw5ICszNywxMCBAQCBxdDYtZGVjbGFyYXRpdmUtdG9vbHNfcGFj a2FnZSgpIHsKIAlzaG9ydF9kZXNjKz0iIC0gdG9vbHMiCiAJcGtnX2luc3RhbGwoKSB7CiAJCXZt b3ZlIHVzci9saWIvcXQ2L3BsdWdpbnMvcW1sdG9vbGluZwotCQlmb3IgYmluIGluIHFtbGNhY2hl Z2VuIHFtbGVhc2luZyBxbWxmb3JtYXQgcW1saW1wb3J0c2Nhbm5lciBcCi0JCQlxbWxsaW50IHFt bHBsdWdpbmR1bXAgcW1scHJldmlldyBxbWxwcm9maWxlciBxbWxzY2VuZSBcCi0JCQlxbWx0ZXN0 cnVubmVyIHFtbHRpbWUgcW1sdHlwZXJlZ2lzdHJhcjsgZG8KKwkJZm9yIGJpbiBpbiBxbWxjYWNo ZWdlbiBxbWxpbXBvcnRzY2FubmVyIHFtbHR5cGVyZWdpc3RyYXI7IGRvCisJCQl2bW92ZSB1c3Iv bGliL3F0Ni9saWJleGVjLyRiaW4KKwkJZG9uZQorCQlmb3IgYmluIGluIHFtbGZvcm1hdCBxbWxs aW50IHFtbHByZXZpZXcgcW1scHJvZmlsZXI7IGRvCiAJCQl2bW92ZSB1c3IvbGliL3F0Ni9iaW4v JGJpbgogCQlkb25lCiAJfQoKRnJvbSBhYWRhOTEwYzU2NzI3MGQwMjYxOWMzZGJmODUwYzViZDcw MjBhMTQzIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBKb2huIDxtZUBqb2hubnluYXRv ci5kZXY+CkRhdGU6IFRodSwgMjQgSnVuIDIwMjEgMjA6NTg6NTMgKzAyMDAKU3ViamVjdDogW1BB VENIIDA1LzI0XSBxdDYtaW1hZ2Vmb3JtYXRzOiB1cGRhdGUgdG8gNi4yLjBhbHBoYS4KCi0tLQog c3JjcGtncy9xdDYtaW1hZ2Vmb3JtYXRzL3RlbXBsYXRlIHwgOCArKysrLS0tLQogMSBmaWxlIGNo YW5nZWQsIDQgaW5zZXJ0aW9ucygrKSwgNCBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9zcmNw a2dzL3F0Ni1pbWFnZWZvcm1hdHMvdGVtcGxhdGUgYi9zcmNwa2dzL3F0Ni1pbWFnZWZvcm1hdHMv dGVtcGxhdGUKaW5kZXggNDVjMzRhMjUzZTUzLi44MjA3OTEzYzg5ZjkgMTAwNjQ0Ci0tLSBhL3Ny Y3BrZ3MvcXQ2LWltYWdlZm9ybWF0cy90ZW1wbGF0ZQorKysgYi9zcmNwa2dzL3F0Ni1pbWFnZWZv cm1hdHMvdGVtcGxhdGUKQEAgLTEsOCArMSw4IEBACiAjIFRlbXBsYXRlIGZpbGUgZm9yICdxdDYt aW1hZ2Vmb3JtYXRzJwogcGtnbmFtZT1xdDYtaW1hZ2Vmb3JtYXRzCi12ZXJzaW9uPTYuMS4xCit2 ZXJzaW9uPTYuMi4wYWxwaGEKIHJldmlzaW9uPTEKLXdya3NyYz0icXRpbWFnZWZvcm1hdHMtZXZl cnl3aGVyZS1zcmMtJHt2ZXJzaW9ufSIKK3dya3NyYz0icXRpbWFnZWZvcm1hdHMtZXZlcnl3aGVy ZS1zcmMtJHt2ZXJzaW9uL2FscGhhLy1hbHBoYX0iCiBidWlsZF9zdHlsZT1jbWFrZQogY29uZmln dXJlX2FyZ3M9Ii1EUVRfSE9TVF9QQVRIPS91c3IiCiBob3N0bWFrZWRlcGVuZHM9InBlcmwgcXQ2 LWJhc2UtZGV2ZWwiCkBAIC0xMSw1ICsxMSw1IEBAIHNob3J0X2Rlc2M9IkNyb3NzLXBsYXRmb3Jt IGFwcGxpY2F0aW9uIGFuZCBVSSBmcmFtZXdvcmsgLSBpbWFnZWZvcm1hdHMiCiBtYWludGFpbmVy PSJKb2huIDxtZUBqb2hubnluYXRvci5kZXY+IgogbGljZW5zZT0iTEdQTC0zLjAtb25seSBPUiBH UEwtMi4wLW9ubHkgT1IgR1BMLTMuMC1vbmx5IgogaG9tZXBhZ2U9Imh0dHBzOi8vcXQuaW8vIgot ZGlzdGZpbGVzPSJodHRwOi8vZG93bmxvYWQucXQuaW8vb2ZmaWNpYWxfcmVsZWFzZXMvcXQvJHt2 ZXJzaW9uJS4qfS8ke3ZlcnNpb259L3N1Ym1vZHVsZXMvcXRpbWFnZWZvcm1hdHMtZXZlcnl3aGVy ZS1zcmMtJHt2ZXJzaW9ufS50YXIueHoiCi1jaGVja3N1bT1kN2VlOWQ5NmVkNjk1ODI0MWFjZGUy YjVkNTA1Zjg5ZDdkY2ZkNzEwZDA5NDRiMTAwYWM2ZGUyMDNiMGUxMDdkCitkaXN0ZmlsZXM9Imh0 dHA6Ly9kb3dubG9hZC5xdC5pby9kZXZlbG9wbWVudF9yZWxlYXNlcy9xdC8ke3ZlcnNpb24lLip9 LyR7dmVyc2lvbi9hbHBoYS8tYWxwaGF9L3N1Ym1vZHVsZXMvcXRpbWFnZWZvcm1hdHMtZXZlcnl3 aGVyZS1zcmMtJHt2ZXJzaW9uL2FscGhhLy1hbHBoYX0udGFyLnh6IgorY2hlY2tzdW09NmU0YTM2 OTBiNWRlODM3MzNmOWE0YWQ0OTI3ODRiMzM3NDg2ODRjZDk5ZTk4YWE3Y2QzYzMwYzk3ZmFhMmJh ZQoKRnJvbSAxNWFiMTcyYmI4MDBmN2QzZjIzNmY2NWJkZDM2YTdjMzY5Mzg5YzY3IE1vbiBTZXAg MTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBKb2huIDxtZUBqb2hubnluYXRvci5kZXY+CkRhdGU6IFRo dSwgMjQgSnVuIDIwMjEgMjA6NTg6NTYgKzAyMDAKU3ViamVjdDogW1BBVENIIDA2LzI0XSBxdDYt bG90dGllOiB1cGRhdGUgdG8gNi4yLjBhbHBoYS4KCi0tLQogc3JjcGtncy9xdDYtbG90dGllL3Rl bXBsYXRlIHwgOCArKysrLS0tLQogMSBmaWxlIGNoYW5nZWQsIDQgaW5zZXJ0aW9ucygrKSwgNCBk ZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9zcmNwa2dzL3F0Ni1sb3R0aWUvdGVtcGxhdGUgYi9z cmNwa2dzL3F0Ni1sb3R0aWUvdGVtcGxhdGUKaW5kZXggNzc1Mzk2YmNhYzY0Li4wYTU1NTEzZDBj YjggMTAwNjQ0Ci0tLSBhL3NyY3BrZ3MvcXQ2LWxvdHRpZS90ZW1wbGF0ZQorKysgYi9zcmNwa2dz L3F0Ni1sb3R0aWUvdGVtcGxhdGUKQEAgLTEsOCArMSw4IEBACiAjIFRlbXBsYXRlIGZpbGUgZm9y ICdxdDYtbG90dGllJwogcGtnbmFtZT1xdDYtbG90dGllCi12ZXJzaW9uPTYuMS4xCit2ZXJzaW9u PTYuMi4wYWxwaGEKIHJldmlzaW9uPTEKLXdya3NyYz0icXRsb3R0aWUtZXZlcnl3aGVyZS1zcmMt JHt2ZXJzaW9ufSIKK3dya3NyYz0icXRsb3R0aWUtZXZlcnl3aGVyZS1zcmMtJHt2ZXJzaW9uL2Fs cGhhLy1hbHBoYX0iCiBidWlsZF9zdHlsZT1jbWFrZQogY29uZmlndXJlX2FyZ3M9Ii1EUVRfSE9T VF9QQVRIPS91c3IiCiBob3N0bWFrZWRlcGVuZHM9InBlcmwgcXQ2LWJhc2UtZGV2ZWwiCkBAIC0x MSw4ICsxMSw4IEBAIHNob3J0X2Rlc2M9IkNyb3NzLXBsYXRmb3JtIGFwcGxpY2F0aW9uIGFuZCBV SSBmcmFtZXdvcmsgLSBsb3R0aWUiCiBtYWludGFpbmVyPSJKb2huIDxtZUBqb2hubnluYXRvci5k ZXY+IgogbGljZW5zZT0iR1BMLTMuMC1vbmx5IgogaG9tZXBhZ2U9Imh0dHBzOi8vcXQuaW8vIgot ZGlzdGZpbGVzPSJodHRwOi8vZG93bmxvYWQucXQuaW8vb2ZmaWNpYWxfcmVsZWFzZXMvcXQvJHt2 ZXJzaW9uJS4qfS8ke3ZlcnNpb259L3N1Ym1vZHVsZXMvcXRsb3R0aWUtZXZlcnl3aGVyZS1zcmMt JHt2ZXJzaW9ufS50YXIueHoiCi1jaGVja3N1bT1kZjhlZTI2ZWEzYWE0NTI0ZjgyNzAzZjYwMjQ0 OWQ5OTA3MjRjYTIzMmNiOTg0OTg3NDZlOGY0OWUyMzAzN2VkCitkaXN0ZmlsZXM9Imh0dHA6Ly9k b3dubG9hZC5xdC5pby9kZXZlbG9wbWVudF9yZWxlYXNlcy9xdC8ke3ZlcnNpb24lLip9LyR7dmVy c2lvbi9hbHBoYS8tYWxwaGF9L3N1Ym1vZHVsZXMvcXRsb3R0aWUtZXZlcnl3aGVyZS1zcmMtJHt2 ZXJzaW9uL2FscGhhLy1hbHBoYX0udGFyLnh6IgorY2hlY2tzdW09MDdlMDFhODk5Mzg2NmFiY2Iz NzJjYzg1NjlkMjk5Zjc5Y2M2YTkxZWJmNjZhNWE4NWE1YWJlNzIyNTI3ZWFkYwogCiBpZiBbICIk WEJQU19DSEVDS19QS0dTIiBdOyB0aGVuCiAJY29uZmlndXJlX2FyZ3MrPSIgLURRVF9CVUlMRF9U RVNUUz1PTiIKCkZyb20gZWIwNzhjNjdkNjYyYWI4MzQzZjU5NzhjNzUzZTM5ODg2ZDYzOWQ5MiBN b24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKRnJvbTogSm9obiA8bWVAam9obm55bmF0b3IuZGV2PgpE YXRlOiBUaHUsIDI0IEp1biAyMDIxIDIwOjU4OjU4ICswMjAwClN1YmplY3Q6IFtQQVRDSCAwNy8y NF0gcXQ2LW5ldHdvcmthdXRoOiB1cGRhdGUgdG8gNi4yLjBhbHBoYS4KCi0tLQogc3JjcGtncy9x dDYtbmV0d29ya2F1dGgvdGVtcGxhdGUgfCA4ICsrKystLS0tCiAxIGZpbGUgY2hhbmdlZCwgNCBp bnNlcnRpb25zKCspLCA0IGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL3NyY3BrZ3MvcXQ2LW5l dHdvcmthdXRoL3RlbXBsYXRlIGIvc3JjcGtncy9xdDYtbmV0d29ya2F1dGgvdGVtcGxhdGUKaW5k ZXggOGZmYjQ0Y2FkOTRhLi42NTRhMmJiMGZkNjkgMTAwNjQ0Ci0tLSBhL3NyY3BrZ3MvcXQ2LW5l dHdvcmthdXRoL3RlbXBsYXRlCisrKyBiL3NyY3BrZ3MvcXQ2LW5ldHdvcmthdXRoL3RlbXBsYXRl CkBAIC0xLDggKzEsOCBAQAogIyBUZW1wbGF0ZSBmaWxlIGZvciAncXQ2LW5ldHdvcmthdXRoJwog cGtnbmFtZT1xdDYtbmV0d29ya2F1dGgKLXZlcnNpb249Ni4xLjEKK3ZlcnNpb249Ni4yLjBhbHBo YQogcmV2aXNpb249MQotd3Jrc3JjPSJxdG5ldHdvcmthdXRoLWV2ZXJ5d2hlcmUtc3JjLSR7dmVy c2lvbn0iCit3cmtzcmM9InF0bmV0d29ya2F1dGgtZXZlcnl3aGVyZS1zcmMtJHt2ZXJzaW9uL2Fs cGhhLy1hbHBoYX0iCiBidWlsZF9zdHlsZT1jbWFrZQogY29uZmlndXJlX2FyZ3M9Ii1EUVRfSE9T VF9QQVRIPS91c3IiCiBob3N0bWFrZWRlcGVuZHM9InBlcmwgcXQ2LWJhc2UtZGV2ZWwiCkBAIC0x MSw4ICsxMSw4IEBAIHNob3J0X2Rlc2M9IkNyb3NzLXBsYXRmb3JtIGFwcGxpY2F0aW9uIGFuZCBV SSBmcmFtZXdvcmsgLSBuZXR3b3JrYXV0aCIKIG1haW50YWluZXI9IkpvaG4gPG1lQGpvaG5ueW5h dG9yLmRldj4iCiBsaWNlbnNlPSJHUEwtMy4wLW9ubHkiCiBob21lcGFnZT0iaHR0cHM6Ly9xdC5p by8iCi1kaXN0ZmlsZXM9Imh0dHA6Ly9kb3dubG9hZC5xdC5pby9vZmZpY2lhbF9yZWxlYXNlcy9x dC8ke3ZlcnNpb24lLip9LyR7dmVyc2lvbn0vc3VibW9kdWxlcy9xdG5ldHdvcmthdXRoLWV2ZXJ5 d2hlcmUtc3JjLSR7dmVyc2lvbn0udGFyLnh6IgotY2hlY2tzdW09NGUxYjdmNjU4NGZlMjFlOGEw NGVlNmQ5YzU3NjFlNTg1ODU4N2U4YmFiMDFhNTIyZWU1M2Y4MmRmZDFlZmRkNworZGlzdGZpbGVz PSJodHRwOi8vZG93bmxvYWQucXQuaW8vZGV2ZWxvcG1lbnRfcmVsZWFzZXMvcXQvJHt2ZXJzaW9u JS4qfS8ke3ZlcnNpb24vYWxwaGEvLWFscGhhfS9zdWJtb2R1bGVzL3F0bmV0d29ya2F1dGgtZXZl cnl3aGVyZS1zcmMtJHt2ZXJzaW9uL2FscGhhLy1hbHBoYX0udGFyLnh6IgorY2hlY2tzdW09NzU3 ODRkMzhkYTFkNDc2YjIwOWMzMTUxZGJkOWFmZGEwNzA4ZmRjZmJmZDQ4ZDA5YTUyMDc1NGE0NDJj Y2RhNgogCiBpZiBbICIkWEJQU19DSEVDS19QS0dTIiBdOyB0aGVuCiAJY29uZmlndXJlX2FyZ3Mr PSIgLURRVF9CVUlMRF9URVNUUz1PTiIKCkZyb20gN2MyYTY3MWZhNGQ0NmIxOGUwMDAyMDg4NTRi NDEwOWE3ZDJkZjliYSBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKRnJvbTogSm9obiA8bWVAam9o bm55bmF0b3IuZGV2PgpEYXRlOiBUaHUsIDI0IEp1biAyMDIxIDIwOjU5OjAyICswMjAwClN1Ympl Y3Q6IFtQQVRDSCAwOC8yNF0gcXQ2LXF0NWNvbXBhdDogdXBkYXRlIHRvIDYuMi4wYWxwaGEuCgot LS0KIHNyY3BrZ3MvcXQ2LXF0NWNvbXBhdC90ZW1wbGF0ZSB8IDggKysrKy0tLS0KIDEgZmlsZSBj aGFuZ2VkLCA0IGluc2VydGlvbnMoKyksIDQgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvc3Jj cGtncy9xdDYtcXQ1Y29tcGF0L3RlbXBsYXRlIGIvc3JjcGtncy9xdDYtcXQ1Y29tcGF0L3RlbXBs YXRlCmluZGV4IGQ2NGIzN2JmZjU3NS4uMDU2N2MxYjM3NGU1IDEwMDY0NAotLS0gYS9zcmNwa2dz L3F0Ni1xdDVjb21wYXQvdGVtcGxhdGUKKysrIGIvc3JjcGtncy9xdDYtcXQ1Y29tcGF0L3RlbXBs YXRlCkBAIC0xLDggKzEsOCBAQAogIyBUZW1wbGF0ZSBmaWxlIGZvciAncXQ2LXF0NWNvbXBhdCcK IHBrZ25hbWU9cXQ2LXF0NWNvbXBhdAotdmVyc2lvbj02LjEuMQordmVyc2lvbj02LjIuMGFscGhh CiByZXZpc2lvbj0xCi13cmtzcmM9InF0NWNvbXBhdC1ldmVyeXdoZXJlLXNyYy0ke3ZlcnNpb259 Igord3Jrc3JjPSJxdDVjb21wYXQtZXZlcnl3aGVyZS1zcmMtJHt2ZXJzaW9uL2FscGhhLy1hbHBo YX0iCiBidWlsZF9zdHlsZT1jbWFrZQogY29uZmlndXJlX2FyZ3M9Ii1EUVRfSE9TVF9QQVRIPS91 c3IgIgogaG9zdG1ha2VkZXBlbmRzPSJxdDYtYmFzZS1kZXZlbCBwZXJsIgpAQCAtMTEsOCArMTEs OCBAQCBzaG9ydF9kZXNjPSJDcm9zcy1wbGF0Zm9ybSBhcHBsaWNhdGlvbiBhbmQgVUkgZnJhbWV3 b3JrIC0gUXQ1IENvbXBhdGliaWx0eSBDb21wbwogbWFpbnRhaW5lcj0iSm9obiA8bWVAam9obm55 bmF0b3IuZGV2PiIKIGxpY2Vuc2U9IkdQTC0zLjAtb25seSB3aXRoIFF0LUdQTC1leGNlcHRpb24t MS4wLCBMR1BMLTMuMC1vbmx5LCBHUEwtMi4wLW9yLWxhdGVyIgogaG9tZXBhZ2U9Imh0dHBzOi8v cXQuaW8vIgotZGlzdGZpbGVzPSJodHRwOi8vZG93bmxvYWQucXQuaW8vb2ZmaWNpYWxfcmVsZWFz ZXMvcXQvJHt2ZXJzaW9uJS4qfS8ke3ZlcnNpb259L3N1Ym1vZHVsZXMvcXQ1Y29tcGF0LWV2ZXJ5 d2hlcmUtc3JjLSR7dmVyc2lvbn0udGFyLnh6IgotY2hlY2tzdW09N2QwOGYxMDQ0Y2IwOWY4YjNl ZTMxYWYwZGUyNTc3MWJhZTcyOTM2YTZmOWE2OTkxMzRkOWI4ZDI5ZGZhYTVhNworZGlzdGZpbGVz PSJodHRwOi8vZG93bmxvYWQucXQuaW8vZGV2ZWxvcG1lbnRfcmVsZWFzZXMvcXQvJHt2ZXJzaW9u JS4qfS8ke3ZlcnNpb24vYWxwaGEvLWFscGhhfS9zdWJtb2R1bGVzL3F0NWNvbXBhdC1ldmVyeXdo ZXJlLXNyYy0ke3ZlcnNpb24vYWxwaGEvLWFscGhhfS50YXIueHoiCitjaGVja3N1bT0yMTBkYmUw NzliNTFiYTQ3ODQxMjE5ZmRlNTlhZDExYThlNzdhNGE4NTFhNzNiNzcxMjExNTNlZDAzYWZiNDcz CiAKIGlmIFsgIiRYQlBTX0NIRUNLX1BLR1MiIF07IHRoZW4KIAljb25maWd1cmVfYXJncys9IiAt RFFUX0JVSUxEX1RFU1RTPU9OIgoKRnJvbSBiZTZiYTA3MjZjODBmMzYyMzI5NjdjY2U1ZGZjZmI1 YjllZTY1ZmI4IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBKb2huIDxtZUBqb2hubnlu YXRvci5kZXY+CkRhdGU6IFRodSwgMjQgSnVuIDIwMjEgMjA6NTk6MTIgKzAyMDAKU3ViamVjdDog W1BBVENIIDA5LzI0XSBxdDYtcXVpY2szZDogdXBkYXRlIHRvIDYuMi4wYWxwaGEuCgotLS0KIHNy Y3BrZ3MvcXQ2LXF1aWNrM2QvdGVtcGxhdGUgfCA4ICsrKystLS0tCiAxIGZpbGUgY2hhbmdlZCwg NCBpbnNlcnRpb25zKCspLCA0IGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL3NyY3BrZ3MvcXQ2 LXF1aWNrM2QvdGVtcGxhdGUgYi9zcmNwa2dzL3F0Ni1xdWljazNkL3RlbXBsYXRlCmluZGV4IGQ3 NWJkOGMwODZjYS4uNjczZWMzNDI0NTBmIDEwMDY0NAotLS0gYS9zcmNwa2dzL3F0Ni1xdWljazNk L3RlbXBsYXRlCisrKyBiL3NyY3BrZ3MvcXQ2LXF1aWNrM2QvdGVtcGxhdGUKQEAgLTEsOCArMSw4 IEBACiAjIFRlbXBsYXRlIGZpbGUgZm9yICdxdDYtcXVpY2szZCcKIHBrZ25hbWU9cXQ2LXF1aWNr M2QKLXZlcnNpb249Ni4xLjEKK3ZlcnNpb249Ni4yLjBhbHBoYQogcmV2aXNpb249MQotd3Jrc3Jj PSJxdHF1aWNrM2QtZXZlcnl3aGVyZS1zcmMtJHt2ZXJzaW9ufSIKK3dya3NyYz0icXRxdWljazNk LWV2ZXJ5d2hlcmUtc3JjLSR7dmVyc2lvbi9hbHBoYS8tYWxwaGF9IgogYnVpbGRfc3R5bGU9Y21h a2UKIGNvbmZpZ3VyZV9hcmdzPSItRFFUX0hPU1RfUEFUSD0vdXNyICIKIGhvc3RtYWtlZGVwZW5k cz0icGVybCBxdDYtYmFzZS1kZXZlbCBxdDYtZGVjbGFyYXRpdmUtZGV2ZWwgcXQ2LXNoYWRlcnRv b2xzLWRldmVsIgpAQCAtMTIsOCArMTIsOCBAQCBzaG9ydF9kZXNjPSJDcm9zcy1wbGF0Zm9ybSBh cHBsaWNhdGlvbiBhbmQgVUkgZnJhbWV3b3JrIC0gUXVpY2szZCIKIG1haW50YWluZXI9IkpvaG4g PG1lQGpvaG5ueW5hdG9yLmRldj4iCiBsaWNlbnNlPSJHUEwtMy4wLW9yLWxhdGVyIgogaG9tZXBh Z2U9Imh0dHBzOi8vcXQuaW8vIgotZGlzdGZpbGVzPSJodHRwOi8vZG93bmxvYWQucXQuaW8vb2Zm aWNpYWxfcmVsZWFzZXMvcXQvJHt2ZXJzaW9uJS4qfS8ke3ZlcnNpb259L3N1Ym1vZHVsZXMvcXRx dWljazNkLWV2ZXJ5d2hlcmUtc3JjLSR7dmVyc2lvbn0udGFyLnh6IgotY2hlY2tzdW09OTRiNDVh ZTlkMDg0OTVkNzAxY2ZiNTg2ZjFmODViMTJhMWExMGY4YzI5ODY1ZGUwZDQyN2EyMzY2YWU0NTA3 YworZGlzdGZpbGVzPSJodHRwOi8vZG93bmxvYWQucXQuaW8vZGV2ZWxvcG1lbnRfcmVsZWFzZXMv cXQvJHt2ZXJzaW9uJS4qfS8ke3ZlcnNpb24vYWxwaGEvLWFscGhhfS9zdWJtb2R1bGVzL3F0cXVp Y2szZC1ldmVyeXdoZXJlLXNyYy0ke3ZlcnNpb24vYWxwaGEvLWFscGhhfS50YXIueHoiCitjaGVj a3N1bT1iNjAwMTJlMmQzZDRiOWQ2MmNiZGRkODRiNTZkY2FlOTg1YmM3YjExMWI1NTFkMGVhZGQw NjU1MTc3MmRiODA2CiAKIGlmIFsgIiRYQlBTX1RBUkdFVF9FTkRJQU4iID0gImJlIiBdOyB0aGVu CiAJIyBwb3NzaWJseSBhIHF0Ni1zaGFkZXJ0b29scyBidWcsIGFjdHVhbGx5CgpGcm9tIGIyN2U3 N2FlODc5Yzg0N2IyYWM2ODU2MGZhYjUxM2FmZTM3YjJlZWEgTW9uIFNlcCAxNyAwMDowMDowMCAy MDAxCkZyb206IEpvaG4gPG1lQGpvaG5ueW5hdG9yLmRldj4KRGF0ZTogVGh1LCAyNCBKdW4gMjAy MSAyMDo1OToxNiArMDIwMApTdWJqZWN0OiBbUEFUQ0ggMTAvMjRdIHF0Ni1xdWlja2NvbnRyb2xz MjogdXBkYXRlIHRvIDYuMi4wYWxwaGEuCgotLS0KIHNyY3BrZ3MvcXQ2LXF1aWNrY29udHJvbHMy L3RlbXBsYXRlIHwgOCArKysrLS0tLQogMSBmaWxlIGNoYW5nZWQsIDQgaW5zZXJ0aW9ucygrKSwg NCBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9zcmNwa2dzL3F0Ni1xdWlja2NvbnRyb2xzMi90 ZW1wbGF0ZSBiL3NyY3BrZ3MvcXQ2LXF1aWNrY29udHJvbHMyL3RlbXBsYXRlCmluZGV4IGFiNTcx MDJhMTljZi4uZWZkNDk3MmM2NjljIDEwMDY0NAotLS0gYS9zcmNwa2dzL3F0Ni1xdWlja2NvbnRy b2xzMi90ZW1wbGF0ZQorKysgYi9zcmNwa2dzL3F0Ni1xdWlja2NvbnRyb2xzMi90ZW1wbGF0ZQpA QCAtMSw4ICsxLDggQEAKICMgVGVtcGxhdGUgZmlsZSBmb3IgJ3F0Ni1xdWlja2NvbnRyb2xzMicK IHBrZ25hbWU9cXQ2LXF1aWNrY29udHJvbHMyCi12ZXJzaW9uPTYuMS4xCit2ZXJzaW9uPTYuMi4w YWxwaGEKIHJldmlzaW9uPTEKLXdya3NyYz0icXRxdWlja2NvbnRyb2xzMi1ldmVyeXdoZXJlLXNy Yy0ke3ZlcnNpb259Igord3Jrc3JjPSJxdHF1aWNrY29udHJvbHMyLWV2ZXJ5d2hlcmUtc3JjLSR7 dmVyc2lvbi9hbHBoYS8tYWxwaGF9IgogYnVpbGRfc3R5bGU9Y21ha2UKIGNvbmZpZ3VyZV9hcmdz PSItRFFUX0hPU1RfUEFUSD0vdXNyICIKIGhvc3RtYWtlZGVwZW5kcz0icGVybCBxdDYtYmFzZS1k ZXZlbCBxdDYtZGVjbGFyYXRpdmUtZGV2ZWwiCkBAIC0xMSw4ICsxMSw4IEBAIHNob3J0X2Rlc2M9 IkNyb3NzLXBsYXRmb3JtIGFwcGxpY2F0aW9uIGFuZCBVSSBmcmFtZXdvcmsgLSBxdWlja2NvbnRy b2xzMiIKIG1haW50YWluZXI9IkpvaG4gPG1lQGpvaG5ueW5hdG9yLmRldj4iCiBsaWNlbnNlPSJH UEwtMi4wLW9yLWxhdGVyLCBMR1BMLTMuMC1vci1sYXRlciIKIGhvbWVwYWdlPSJodHRwczovL3F0 LmlvLyIKLWRpc3RmaWxlcz0iaHR0cDovL2Rvd25sb2FkLnF0LmlvL29mZmljaWFsX3JlbGVhc2Vz L3F0LyR7dmVyc2lvbiUuKn0vJHt2ZXJzaW9ufS9zdWJtb2R1bGVzL3F0cXVpY2tjb250cm9sczIt ZXZlcnl3aGVyZS1zcmMtJHt2ZXJzaW9ufS50YXIueHoiCi1jaGVja3N1bT03ZWJjOTk3MjRiZWRk OTdhMmM2YTYwNmJhMjcyNmZlYjY2YmI3NmViOWYzMDI2MmFlMTNjZDI0NmY1NjY1ZWE0CitkaXN0 ZmlsZXM9Imh0dHA6Ly9kb3dubG9hZC5xdC5pby9kZXZlbG9wbWVudF9yZWxlYXNlcy9xdC8ke3Zl cnNpb24lLip9LyR7dmVyc2lvbi9hbHBoYS8tYWxwaGF9L3N1Ym1vZHVsZXMvcXRxdWlja2NvbnRy b2xzMi1ldmVyeXdoZXJlLXNyYy0ke3ZlcnNpb24vYWxwaGEvLWFscGhhfS50YXIueHoiCitjaGVj a3N1bT00MGM4YWY5OWFkYjM0MmM0NTgwOWJmZTA2YzczYWM3ZDkyMzQzMzUxOGNiN2JjNzk5N2Y2 ZmM0MGUxNjljNGM1CiAKIHF0Ni1xdWlja2NvbnRyb2xzMi1kZXZlbF9wYWNrYWdlKCkgewogCWRl cGVuZHM9IiR7c291cmNlcGtnfT49JHt2ZXJzaW9ufV8ke3JldmlzaW9ufSBxdDYtYmFzZS1kZXZl bCIKCkZyb20gMWExNzE1NTY2Mjg1OGU5ZDg0YTdiNmNkOWNlMzY1M2Q5MzYxZjZlNiBNb24gU2Vw IDE3IDAwOjAwOjAwIDIwMDEKRnJvbTogSm9obiA8bWVAam9obm55bmF0b3IuZGV2PgpEYXRlOiBU aHUsIDI0IEp1biAyMDIxIDIwOjU5OjE4ICswMjAwClN1YmplY3Q6IFtQQVRDSCAxMS8yNF0gcXQ2 LXF1aWNrdGltZWxpbmU6IHVwZGF0ZSB0byA2LjIuMGFscGhhLgoKLS0tCiBzcmNwa2dzL3F0Ni1x dWlja3RpbWVsaW5lL3RlbXBsYXRlIHwgOCArKysrLS0tLQogMSBmaWxlIGNoYW5nZWQsIDQgaW5z ZXJ0aW9ucygrKSwgNCBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9zcmNwa2dzL3F0Ni1xdWlj a3RpbWVsaW5lL3RlbXBsYXRlIGIvc3JjcGtncy9xdDYtcXVpY2t0aW1lbGluZS90ZW1wbGF0ZQpp bmRleCBlOWMwMmUyNDQwYzIuLmJjMDIyNWU3NjdiYyAxMDA2NDQKLS0tIGEvc3JjcGtncy9xdDYt cXVpY2t0aW1lbGluZS90ZW1wbGF0ZQorKysgYi9zcmNwa2dzL3F0Ni1xdWlja3RpbWVsaW5lL3Rl bXBsYXRlCkBAIC0xLDggKzEsOCBAQAogIyBUZW1wbGF0ZSBmaWxlIGZvciAncXQ2LXF1aWNrdGlt ZWxpbmUnCiBwa2duYW1lPXF0Ni1xdWlja3RpbWVsaW5lCi12ZXJzaW9uPTYuMS4xCit2ZXJzaW9u PTYuMi4wYWxwaGEKIHJldmlzaW9uPTEKLXdya3NyYz0icXRxdWlja3RpbWVsaW5lLWV2ZXJ5d2hl cmUtc3JjLSR7dmVyc2lvbn0iCit3cmtzcmM9InF0cXVpY2t0aW1lbGluZS1ldmVyeXdoZXJlLXNy Yy0ke3ZlcnNpb24vYWxwaGEvLWFscGhhfSIKIGJ1aWxkX3N0eWxlPWNtYWtlCiBjb25maWd1cmVf YXJncz0iLURRVF9IT1NUX1BBVEg9L3VzciAiCiBob3N0bWFrZWRlcGVuZHM9InBlcmwgcXQ2LWJh c2UtZGV2ZWwgcXQ2LWRlY2xhcmF0aXZlLWRldmVsIgpAQCAtMTEsOCArMTEsOCBAQCBzaG9ydF9k ZXNjPSJDcm9zcy1wbGF0Zm9ybSBhcHBsaWNhdGlvbiBhbmQgVUkgZnJhbWV3b3JrIC0gcXVpY2t0 aW1lbGluZSIKIG1haW50YWluZXI9IkpvaG4gPG1lQGpvaG5ueW5hdG9yLmRldj4iCiBsaWNlbnNl PSJHUEwtMy4wLW9yLWxhdGVyIgogaG9tZXBhZ2U9Imh0dHBzOi8vcXQuaW8vIgotZGlzdGZpbGVz PSJodHRwOi8vZG93bmxvYWQucXQuaW8vb2ZmaWNpYWxfcmVsZWFzZXMvcXQvJHt2ZXJzaW9uJS4q fS8ke3ZlcnNpb259L3N1Ym1vZHVsZXMvcXRxdWlja3RpbWVsaW5lLWV2ZXJ5d2hlcmUtc3JjLSR7 dmVyc2lvbn0udGFyLnh6IgotY2hlY2tzdW09NDBmYjY2NGVhZGYyOTUwMDFkMmM0OWMzMzMwMzI0 MDZiNmY0NWYxNGFjZGRlZTdlNzJiOGQ2YzVlYTI2YTZhMgorZGlzdGZpbGVzPSJodHRwOi8vZG93 bmxvYWQucXQuaW8vZGV2ZWxvcG1lbnRfcmVsZWFzZXMvcXQvJHt2ZXJzaW9uJS4qfS8ke3ZlcnNp b24vYWxwaGEvLWFscGhhfS9zdWJtb2R1bGVzL3F0cXVpY2t0aW1lbGluZS1ldmVyeXdoZXJlLXNy Yy0ke3ZlcnNpb24vYWxwaGEvLWFscGhhfS50YXIueHoiCitjaGVja3N1bT1lNWIwMjRhZGY5YWUy OTEwMDRiNTI3MzQ2NTc1NzU4Mzc5NmM5ODlmMzE3ZTNiYzYyMzY2OTUzZjAyYzdhODlhCiAKIGlm IFsgIiRYQlBTX0NIRUNLX1BLR1MiIF07IHRoZW4KIAljb25maWd1cmVfYXJncys9IiAtRFFUX0JV SUxEX1RFU1RTPU9OIgoKRnJvbSAxZjUyMDllMmE4NzUxYTA3NzJmMGJjZjY4MTk5MTk4NGFiYTZh ZmQ0IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBKb2huIDxtZUBqb2hubnluYXRvci5k ZXY+CkRhdGU6IFRodSwgMjQgSnVuIDIwMjEgMjA6NTk6MjEgKzAyMDAKU3ViamVjdDogW1BBVENI IDEyLzI0XSBxdDYtc2N4bWw6IHVwZGF0ZSB0byA2LjIuMGFscGhhLgoKLS0tCiBzcmNwa2dzL3F0 Ni1zY3htbC90ZW1wbGF0ZSB8IDggKysrKy0tLS0KIDEgZmlsZSBjaGFuZ2VkLCA0IGluc2VydGlv bnMoKyksIDQgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvc3JjcGtncy9xdDYtc2N4bWwvdGVt cGxhdGUgYi9zcmNwa2dzL3F0Ni1zY3htbC90ZW1wbGF0ZQppbmRleCBlM2E1OTRkZTk5ZTMuLmY4 MzI0ZjkxYTNkNyAxMDA2NDQKLS0tIGEvc3JjcGtncy9xdDYtc2N4bWwvdGVtcGxhdGUKKysrIGIv c3JjcGtncy9xdDYtc2N4bWwvdGVtcGxhdGUKQEAgLTEsOCArMSw4IEBACiAjIFRlbXBsYXRlIGZp bGUgZm9yICdxdDYtc2N4bWwnCiBwa2duYW1lPXF0Ni1zY3htbAotdmVyc2lvbj02LjEuMQordmVy c2lvbj02LjIuMGFscGhhCiByZXZpc2lvbj0xCi13cmtzcmM9InF0c2N4bWwtZXZlcnl3aGVyZS1z cmMtJHt2ZXJzaW9ufSIKK3dya3NyYz0icXRzY3htbC1ldmVyeXdoZXJlLXNyYy0ke3ZlcnNpb24v YWxwaGEvLWFscGhhfSIKIGJ1aWxkX3N0eWxlPWNtYWtlCiBjb25maWd1cmVfYXJncz0iLURRVF9I T1NUX1BBVEg9L3VzciIKIGhvc3RtYWtlZGVwZW5kcz0icGVybCBxdDYtZGVjbGFyYXRpdmUtZGV2 ZWwiCkBAIC0xMSw4ICsxMSw4IEBAIHNob3J0X2Rlc2M9IkNyb3NzLXBsYXRmb3JtIGFwcGxpY2F0 aW9uIGFuZCBVSSBmcmFtZXdvcmsgLSBzY3htbCIKIG1haW50YWluZXI9IkpvaG4gPG1lQGpvaG5u eW5hdG9yLmRldj4iCiBsaWNlbnNlPSJMR1BMLTMuMC1vbmx5IE9SIEdQTC0yLjAtb25seSBPUiBH UEwtMy4wLW9ubHkiCiBob21lcGFnZT0iaHR0cHM6Ly9xdC5pby8iCi1kaXN0ZmlsZXM9Imh0dHA6 Ly9kb3dubG9hZC5xdC5pby9vZmZpY2lhbF9yZWxlYXNlcy9xdC8ke3ZlcnNpb24lLip9LyR7dmVy c2lvbn0vc3VibW9kdWxlcy9xdHNjeG1sLWV2ZXJ5d2hlcmUtc3JjLSR7dmVyc2lvbn0udGFyLnh6 IgotY2hlY2tzdW09ZmZlYjY1MDQ1OGJiNjBiYjA3NmFjMzQ2MDU4OGY3N2Y3Yzg0MWI0ZjRiMWRl NzA2OTYwYjliMzQ5ODRkYzUyOAorZGlzdGZpbGVzPSJodHRwOi8vZG93bmxvYWQucXQuaW8vZGV2 ZWxvcG1lbnRfcmVsZWFzZXMvcXQvJHt2ZXJzaW9uJS4qfS8ke3ZlcnNpb24vYWxwaGEvLWFscGhh fS9zdWJtb2R1bGVzL3F0c2N4bWwtZXZlcnl3aGVyZS1zcmMtJHt2ZXJzaW9uL2FscGhhLy1hbHBo YX0udGFyLnh6IgorY2hlY2tzdW09ZTI5YTMzMzQ3N2U4NGQ0MDc0MjEwOTZmZDJkOTBiY2NmYjk1 YWU0YjhkMGVkMGQwNzg1NTg2ZTU2Y2ZhOWQwYwogCiBpZiBbICIkWEJQU19DSEVDS19QS0dTIiBd OyB0aGVuCiAJY29uZmlndXJlX2FyZ3MrPSIgLURRVF9CVUlMRF9URVNUUz1PTiIKCkZyb20gYjYw NmE2N2RjMDYxYzFmNDViMjM5MTU3Yjc3MzA4M2I3ZTRiZDM5NSBNb24gU2VwIDE3IDAwOjAwOjAw IDIwMDEKRnJvbTogSm9obiA8bWVAam9obm55bmF0b3IuZGV2PgpEYXRlOiBUaHUsIDI0IEp1biAy MDIxIDIwOjU5OjIzICswMjAwClN1YmplY3Q6IFtQQVRDSCAxMy8yNF0gcXQ2LXNoYWRlcnRvb2xz OiB1cGRhdGUgdG8gNi4yLjBhbHBoYS4KCi0tLQogc3JjcGtncy9xdDYtc2hhZGVydG9vbHMvdGVt cGxhdGUgfCA4ICsrKystLS0tCiAxIGZpbGUgY2hhbmdlZCwgNCBpbnNlcnRpb25zKCspLCA0IGRl bGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL3NyY3BrZ3MvcXQ2LXNoYWRlcnRvb2xzL3RlbXBsYXRl IGIvc3JjcGtncy9xdDYtc2hhZGVydG9vbHMvdGVtcGxhdGUKaW5kZXggOWI1NTQ2MzYwMmI3Li40 MmZhNDM2NzA4YTYgMTAwNjQ0Ci0tLSBhL3NyY3BrZ3MvcXQ2LXNoYWRlcnRvb2xzL3RlbXBsYXRl CisrKyBiL3NyY3BrZ3MvcXQ2LXNoYWRlcnRvb2xzL3RlbXBsYXRlCkBAIC0xLDggKzEsOCBAQAog IyBUZW1wbGF0ZSBmaWxlIGZvciAncXQ2LXNoYWRlcnRvb2xzJwogcGtnbmFtZT1xdDYtc2hhZGVy dG9vbHMKLXZlcnNpb249Ni4xLjEKK3ZlcnNpb249Ni4yLjBhbHBoYQogcmV2aXNpb249MQotd3Jr c3JjPSJxdHNoYWRlcnRvb2xzLWV2ZXJ5d2hlcmUtc3JjLSR7dmVyc2lvbn0iCit3cmtzcmM9InF0 c2hhZGVydG9vbHMtZXZlcnl3aGVyZS1zcmMtJHt2ZXJzaW9uL2FscGhhLy1hbHBoYX0iCiBidWls ZF9zdHlsZT1jbWFrZQogY29uZmlndXJlX2FyZ3M9Ii1EUVRfSE9TVF9QQVRIPS91c3IgIgogaG9z dG1ha2VkZXBlbmRzPSJwZXJsIHF0Ni1iYXNlLWRldmVsIgpAQCAtMTEsOCArMTEsOCBAQCBzaG9y dF9kZXNjPSJDcm9zcy1wbGF0Zm9ybSBhcHBsaWNhdGlvbiBhbmQgVUkgZnJhbWV3b3JrIC0gc2hh ZGVydG9vbHMiCiBtYWludGFpbmVyPSJKb2huIDxtZUBqb2hubnluYXRvci5kZXY+IgogbGljZW5z ZT0iR1BMLTMuMC1vci1sYXRlciIKIGhvbWVwYWdlPSJodHRwczovL3F0LmlvLyIKLWRpc3RmaWxl cz0iaHR0cDovL2Rvd25sb2FkLnF0LmlvL29mZmljaWFsX3JlbGVhc2VzL3F0LyR7dmVyc2lvbiUu Kn0vJHt2ZXJzaW9ufS9zdWJtb2R1bGVzL3F0c2hhZGVydG9vbHMtZXZlcnl3aGVyZS1zcmMtJHt2 ZXJzaW9ufS50YXIueHoiCi1jaGVja3N1bT0zMjRhOWY2Zjg3ZDRlODJjMGI1ZjgwZTYzMDFjN2Ri YzQ3NjE3ZGJlNzUyZjNlMzcyNmMxNDFiZDg1ODU1NTEyCitkaXN0ZmlsZXM9Imh0dHA6Ly9kb3du bG9hZC5xdC5pby9kZXZlbG9wbWVudF9yZWxlYXNlcy9xdC8ke3ZlcnNpb24lLip9LyR7dmVyc2lv bi9hbHBoYS8tYWxwaGF9L3N1Ym1vZHVsZXMvcXRzaGFkZXJ0b29scy1ldmVyeXdoZXJlLXNyYy0k e3ZlcnNpb24vYWxwaGEvLWFscGhhfS50YXIueHoiCitjaGVja3N1bT0wODE0NGZhNmQ5NmM0Mzgy ZTQ3YjMyMDNkMjdmOTk5Yjg2ZDRlZDFmMWI4MjhlMDlhNDg2MTRmMzJiMTJlZTU5CiAKIHF0Ni1z aGFkZXJ0b29scy1kZXZlbF9wYWNrYWdlKCkgewogCWRlcGVuZHM9IiR7c291cmNlcGtnfT49JHt2 ZXJzaW9ufV8ke3JldmlzaW9ufSBxdDYtYmFzZS1kZXZlbD49JHt2ZXJzaW9ufV8xIgoKRnJvbSA3 YzI5NmIwYzc5YWRlNzJiYWU4ODFjYTE3ZGIxZjg1YTgzY2Y2ZWIyIE1vbiBTZXAgMTcgMDA6MDA6 MDAgMjAwMQpGcm9tOiBKb2huIDxtZUBqb2hubnluYXRvci5kZXY+CkRhdGU6IFRodSwgMjQgSnVu IDIwMjEgMjA6NTk6MjYgKzAyMDAKU3ViamVjdDogW1BBVENIIDE0LzI0XSBxdDYtc3ZnOiB1cGRh dGUgdG8gNi4yLjBhbHBoYS4KCi0tLQogc3JjcGtncy9xdDYtc3ZnL3RlbXBsYXRlIHwgOCArKysr LS0tLQogMSBmaWxlIGNoYW5nZWQsIDQgaW5zZXJ0aW9ucygrKSwgNCBkZWxldGlvbnMoLSkKCmRp ZmYgLS1naXQgYS9zcmNwa2dzL3F0Ni1zdmcvdGVtcGxhdGUgYi9zcmNwa2dzL3F0Ni1zdmcvdGVt cGxhdGUKaW5kZXggOTA0MmNjNDgzZmY5Li5jMzc3OTNlMDYxM2IgMTAwNjQ0Ci0tLSBhL3NyY3Br Z3MvcXQ2LXN2Zy90ZW1wbGF0ZQorKysgYi9zcmNwa2dzL3F0Ni1zdmcvdGVtcGxhdGUKQEAgLTEs OCArMSw4IEBACiAjIFRlbXBsYXRlIGZpbGUgZm9yICdxdDYtc3ZnJwogcGtnbmFtZT1xdDYtc3Zn Ci12ZXJzaW9uPTYuMS4xCit2ZXJzaW9uPTYuMi4wYWxwaGEKIHJldmlzaW9uPTEKLXdya3NyYz0i cXRzdmctZXZlcnl3aGVyZS1zcmMtJHt2ZXJzaW9ufSIKK3dya3NyYz0icXRzdmctZXZlcnl3aGVy ZS1zcmMtJHt2ZXJzaW9uL2FscGhhLy1hbHBoYX0iCiBidWlsZF9zdHlsZT1jbWFrZQogY29uZmln dXJlX2FyZ3M9Ii1EUVRfSE9TVF9QQVRIPS91c3IgIgogaG9zdG1ha2VkZXBlbmRzPSJxdDYtYmFz ZS1kZXZlbCBwZXJsIgpAQCAtMTEsOCArMTEsOCBAQCBzaG9ydF9kZXNjPSJDcm9zcy1wbGF0Zm9y bSBhcHBsaWNhdGlvbiBhbmQgVUkgZnJhbWV3b3JrIChRVDYpIC0gcXQ2LXN2ZyBjb21wb25lbgog bWFpbnRhaW5lcj0iSm9obiA8bWVAam9obm55bmF0b3IuZGV2PiIKIGxpY2Vuc2U9IkdQTC0zLjAt b25seSB3aXRoIFF0LUdQTC1leGNlcHRpb24tMS4wLCBHUEwtMi4wLW9yLWxhdGVyLCBMR1BMLTMu MC1vbmx5IgogaG9tZXBhZ2U9Imh0dHBzOi8vcXQuaW8vIgotZGlzdGZpbGVzPSJodHRwOi8vZG93 bmxvYWQucXQuaW8vb2ZmaWNpYWxfcmVsZWFzZXMvcXQvJHt2ZXJzaW9uJS4qfS8ke3ZlcnNpb259 L3N1Ym1vZHVsZXMvcXRzdmctZXZlcnl3aGVyZS1zcmMtJHt2ZXJzaW9ufS50YXIueHoiCi1jaGVj a3N1bT1lMmY2MjM4NWM5NDBkZTc2ZGVhNDgwYTI2MTVjOWIxMWRkMmJmMGNlYzJjYzc3ODA5NmMw YmViZmExZWYxNWVjCitkaXN0ZmlsZXM9Imh0dHA6Ly9kb3dubG9hZC5xdC5pby9kZXZlbG9wbWVu dF9yZWxlYXNlcy9xdC8ke3ZlcnNpb24lLip9LyR7dmVyc2lvbi9hbHBoYS8tYWxwaGF9L3N1Ym1v ZHVsZXMvcXRzdmctZXZlcnl3aGVyZS1zcmMtJHt2ZXJzaW9uL2FscGhhLy1hbHBoYX0udGFyLnh6 IgorY2hlY2tzdW09ZGQ3YzUzMTJiODQzMDEzMDEwM2Q5MTkwOGJkNWYxOWZhMmM2YmYwMWM3NmFj Yjc1N2U1OTc0NjAzYjM3NjljOAogCiBpZiBbICIkWEJQU19DSEVDS19QS0dTIiBdOyB0aGVuCiAJ Y29uZmlndXJlX2FyZ3MrPSIgLURRVF9CVUlMRF9URVNUUz1PTiIKCkZyb20gNDRjNTQyMzNkZWNl NDY1N2M4NTVlODU0ZGVjOTJlNDExYjgyMDQxYyBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKRnJv bTogSm9obiA8bWVAam9obm55bmF0b3IuZGV2PgpEYXRlOiBUaHUsIDI0IEp1biAyMDIxIDIwOjU5 OjMwICswMjAwClN1YmplY3Q6IFtQQVRDSCAxNS8yNF0gcXQ2LXRvb2xzOiB1cGRhdGUgdG8gNi4y LjBhbHBoYS4KCi0tLQogc3JjcGtncy9xdDYtdG9vbHMvdGVtcGxhdGUgfCA4ICsrKystLS0tCiAx IGZpbGUgY2hhbmdlZCwgNCBpbnNlcnRpb25zKCspLCA0IGRlbGV0aW9ucygtKQoKZGlmZiAtLWdp dCBhL3NyY3BrZ3MvcXQ2LXRvb2xzL3RlbXBsYXRlIGIvc3JjcGtncy9xdDYtdG9vbHMvdGVtcGxh dGUKaW5kZXggMTZiMjBjNzJkMDVhLi4wZTdhOTEyNmJjZjcgMTAwNjQ0Ci0tLSBhL3NyY3BrZ3Mv cXQ2LXRvb2xzL3RlbXBsYXRlCisrKyBiL3NyY3BrZ3MvcXQ2LXRvb2xzL3RlbXBsYXRlCkBAIC0x LDggKzEsOCBAQAogIyBUZW1wbGF0ZSBmaWxlIGZvciAncXQ2LXRvb2xzJwogcGtnbmFtZT1xdDYt dG9vbHMKLXZlcnNpb249Ni4xLjEKK3ZlcnNpb249Ni4yLjBhbHBoYQogcmV2aXNpb249MQotd3Jr c3JjPSJxdHRvb2xzLWV2ZXJ5d2hlcmUtc3JjLSR7dmVyc2lvbn0iCit3cmtzcmM9InF0dG9vbHMt ZXZlcnl3aGVyZS1zcmMtJHt2ZXJzaW9uL2FscGhhLy1hbHBoYX0iCiBidWlsZF9zdHlsZT1jbWFr ZQogY29uZmlndXJlX2FyZ3M9Ii1EUVRfSE9TVF9QQVRIPS91c3IgIgogaG9zdG1ha2VkZXBlbmRz PSJxdDYtYmFzZS1kZXZlbCBwZXJsIgpAQCAtMTEsOCArMTEsOCBAQCBzaG9ydF9kZXNjPSJDcm9z cy1wbGF0Zm9ybSBhcHBsaWNhdGlvbiBhbmQgVUkgZnJhbWV3b3JrIChRVDYpIC0gcXQ2LXRvb2xz IGNvbXBvbgogbWFpbnRhaW5lcj0iSm9obiA8bWVAam9obm55bmF0b3IuZGV2PiIKIGxpY2Vuc2U9 IkdQTC0zLjAtb25seSB3aXRoIFF0LUdQTC1leGNlcHRpb24tMS4wLCBMR1BMLTMuMC1vbmx5LCBH UEwtMi4wLW9yLWxhdGVyIgogaG9tZXBhZ2U9Imh0dHBzOi8vcXQuaW8vIgotZGlzdGZpbGVzPSJo dHRwOi8vZG93bmxvYWQucXQuaW8vb2ZmaWNpYWxfcmVsZWFzZXMvcXQvJHt2ZXJzaW9uJS4qfS8k e3ZlcnNpb259L3N1Ym1vZHVsZXMvcXR0b29scy1ldmVyeXdoZXJlLXNyYy0ke3ZlcnNpb259LnRh ci54eiIKLWNoZWNrc3VtPWNiYThkOWE4MzZlODNiN2E1ZTZkMDY4MjM5NjM1YjI2MWY3Y2E0YTA1 OTk5MmIyYjY2Y2Q1NDYzODAwOTEyNzMKK2Rpc3RmaWxlcz0iaHR0cDovL2Rvd25sb2FkLnF0Lmlv L2RldmVsb3BtZW50X3JlbGVhc2VzL3F0LyR7dmVyc2lvbiUuKn0vJHt2ZXJzaW9uL2FscGhhLy1h bHBoYX0vc3VibW9kdWxlcy9xdHRvb2xzLWV2ZXJ5d2hlcmUtc3JjLSR7dmVyc2lvbi9hbHBoYS8t YWxwaGF9LnRhci54eiIKK2NoZWNrc3VtPTMyNTk2NDMxZjcxZjdiNGJiY2QwNWU4NmMwNDkwZjk3 YmY2OGI2NmU1NjAzMzdlNTQxOGE3ZmFlZTVkODZlODQKIAogaWYgWyAiJFhCUFNfQ0hFQ0tfUEtH UyIgXTsgdGhlbgogCWNvbmZpZ3VyZV9hcmdzKz0iIC1EUVRfQlVJTERfVEVTVFM9T04iCgpGcm9t IDdkOGIxNTI2YjljMDQ0ODMwN2RkNGFhNGE5ZDRkZTUzNzcwNTNkM2MgTW9uIFNlcCAxNyAwMDow MDowMCAyMDAxCkZyb206IEpvaG4gPG1lQGpvaG5ueW5hdG9yLmRldj4KRGF0ZTogVGh1LCAyNCBK dW4gMjAyMSAyMDo1OTozMiArMDIwMApTdWJqZWN0OiBbUEFUQ0ggMTYvMjRdIHF0Ni10cmFuc2xh dGlvbnM6IHVwZGF0ZSB0byA2LjIuMGFscGhhLgoKLS0tCiBzcmNwa2dzL3F0Ni10cmFuc2xhdGlv bnMvdGVtcGxhdGUgfCA4ICsrKystLS0tCiAxIGZpbGUgY2hhbmdlZCwgNCBpbnNlcnRpb25zKCsp LCA0IGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL3NyY3BrZ3MvcXQ2LXRyYW5zbGF0aW9ucy90 ZW1wbGF0ZSBiL3NyY3BrZ3MvcXQ2LXRyYW5zbGF0aW9ucy90ZW1wbGF0ZQppbmRleCAwODhkMjFm NGJkYzguLmM4YmU4ZmU2ODQyNiAxMDA2NDQKLS0tIGEvc3JjcGtncy9xdDYtdHJhbnNsYXRpb25z L3RlbXBsYXRlCisrKyBiL3NyY3BrZ3MvcXQ2LXRyYW5zbGF0aW9ucy90ZW1wbGF0ZQpAQCAtMSw4 ICsxLDggQEAKICMgVGVtcGxhdGUgZmlsZSBmb3IgJ3F0Ni10cmFuc2xhdGlvbnMnCiBwa2duYW1l PXF0Ni10cmFuc2xhdGlvbnMKLXZlcnNpb249Ni4xLjEKK3ZlcnNpb249Ni4yLjBhbHBoYQogcmV2 aXNpb249MQotd3Jrc3JjPSJxdHRyYW5zbGF0aW9ucy1ldmVyeXdoZXJlLXNyYy0ke3ZlcnNpb259 Igord3Jrc3JjPSJxdHRyYW5zbGF0aW9ucy1ldmVyeXdoZXJlLXNyYy0ke3ZlcnNpb24vYWxwaGEv LWFscGhhfSIKIGJ1aWxkX3N0eWxlPWNtYWtlCiBjb25maWd1cmVfYXJncz0iLURRVF9IT1NUX1BB VEg9L3VzciAiCiBob3N0bWFrZWRlcGVuZHM9InF0Ni1iYXNlLWRldmVsIHF0Ni10b29scy1kZXZl bCBwZXJsIgpAQCAtMTEsNSArMTEsNSBAQCBzaG9ydF9kZXNjPSJDcm9zcy1wbGF0Zm9ybSBhcHBs aWNhdGlvbiBhbmQgVUkgZnJhbWV3b3JrIC0gdHJhbnNsYXRpb25zIgogbWFpbnRhaW5lcj0iSm9o biA8bWVAam9obm55bmF0b3IuZGV2PiIKIGxpY2Vuc2U9IkdQTC0zLjAtb25seSB3aXRoIFF0LUdQ TC1leGNlcHRpb24tMS4wIgogaG9tZXBhZ2U9Imh0dHBzOi8vcXQuaW8vIgotZGlzdGZpbGVzPSJo dHRwOi8vZG93bmxvYWQucXQuaW8vb2ZmaWNpYWxfcmVsZWFzZXMvcXQvJHt2ZXJzaW9uJS4qfS8k e3ZlcnNpb259L3N1Ym1vZHVsZXMvcXR0cmFuc2xhdGlvbnMtZXZlcnl3aGVyZS1zcmMtJHt2ZXJz aW9ufS50YXIueHoiCi1jaGVja3N1bT02Y2YzZDE5MTMzNWE2YjNhNjQ4NjRlN2JhNDE4MTllN2Jl NDYxZDFkMjg2MWQ2NDNiYWJlODM2ZjgxZDRjMzkzCitkaXN0ZmlsZXM9Imh0dHA6Ly9kb3dubG9h ZC5xdC5pby9kZXZlbG9wbWVudF9yZWxlYXNlcy9xdC8ke3ZlcnNpb24lLip9LyR7dmVyc2lvbi9h bHBoYS8tYWxwaGF9L3N1Ym1vZHVsZXMvcXR0cmFuc2xhdGlvbnMtZXZlcnl3aGVyZS1zcmMtJHt2 ZXJzaW9uL2FscGhhLy1hbHBoYX0udGFyLnh6IgorY2hlY2tzdW09MGZlY2Q1ZDNlOGY4ODIzZDFj NzdlOTVmYmJhYzgwYzA4NGIwOGRmNWEwMmYwNmZlNzFiMmFmNmNlY2ViODdhZAoKRnJvbSAwYzAw NTVhODUxMTFjYWRhNzFhMTJjNWMzNmJhMmEyMWI2ZTk3YjJlIE1vbiBTZXAgMTcgMDA6MDA6MDAg MjAwMQpGcm9tOiBKb2huIDxtZUBqb2hubnluYXRvci5kZXY+CkRhdGU6IFRodSwgMjQgSnVuIDIw MjEgMjA6NTk6MzUgKzAyMDAKU3ViamVjdDogW1BBVENIIDE3LzI0XSBxdDYtdmlydHVhbGtleWJv YXJkOiB1cGRhdGUgdG8gNi4yLjBhbHBoYS4KCi0tLQogc3JjcGtncy9xdDYtdmlydHVhbGtleWJv YXJkL3RlbXBsYXRlIHwgOCArKysrLS0tLQogMSBmaWxlIGNoYW5nZWQsIDQgaW5zZXJ0aW9ucygr KSwgNCBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9zcmNwa2dzL3F0Ni12aXJ0dWFsa2V5Ym9h cmQvdGVtcGxhdGUgYi9zcmNwa2dzL3F0Ni12aXJ0dWFsa2V5Ym9hcmQvdGVtcGxhdGUKaW5kZXgg MDdjNGE0NDc1ZjJlLi5jNTAzNGZhM2U5NWQgMTAwNjQ0Ci0tLSBhL3NyY3BrZ3MvcXQ2LXZpcnR1 YWxrZXlib2FyZC90ZW1wbGF0ZQorKysgYi9zcmNwa2dzL3F0Ni12aXJ0dWFsa2V5Ym9hcmQvdGVt cGxhdGUKQEAgLTEsOCArMSw4IEBACiAjIFRlbXBsYXRlIGZpbGUgZm9yICdxdDYtdmlydHVhbGtl eWJvYXJkJwogcGtnbmFtZT1xdDYtdmlydHVhbGtleWJvYXJkCi12ZXJzaW9uPTYuMS4xCit2ZXJz aW9uPTYuMi4wYWxwaGEKIHJldmlzaW9uPTEKLXdya3NyYz0icXR2aXJ0dWFsa2V5Ym9hcmQtZXZl cnl3aGVyZS1zcmMtJHt2ZXJzaW9ufSIKK3dya3NyYz0icXR2aXJ0dWFsa2V5Ym9hcmQtZXZlcnl3 aGVyZS1zcmMtJHt2ZXJzaW9uL2FscGhhLy1hbHBoYX0iCiBidWlsZF9zdHlsZT1jbWFrZQogY29u ZmlndXJlX2FyZ3M9Ii1EUVRfSE9TVF9QQVRIPS91c3IiCiBob3N0bWFrZWRlcGVuZHM9InBlcmwg cGtnLWNvbmZpZyBxdDYtZGVjbGFyYXRpdmUtZGV2ZWwiCkBAIC0xMyw4ICsxMyw4IEBAIHNob3J0 X2Rlc2M9IkNyb3NzLXBsYXRmb3JtIGFwcGxpY2F0aW9uIGFuZCBVSSBmcmFtZXdvcmsgLSB2aXJ0 dWFsa2V5Ym9hcmQiCiBtYWludGFpbmVyPSJKb2huIDxtZUBqb2hubnluYXRvci5kZXY+IgogbGlj ZW5zZT0iR1BMLTMuMC1vbmx5IgogaG9tZXBhZ2U9Imh0dHBzOi8vcXQuaW8vIgotZGlzdGZpbGVz PSJodHRwOi8vZG93bmxvYWQucXQuaW8vb2ZmaWNpYWxfcmVsZWFzZXMvcXQvJHt2ZXJzaW9uJS4q fS8ke3ZlcnNpb259L3N1Ym1vZHVsZXMvcXR2aXJ0dWFsa2V5Ym9hcmQtZXZlcnl3aGVyZS1zcmMt JHt2ZXJzaW9ufS50YXIueHoiCi1jaGVja3N1bT0yNDZkMWFjZGNkOTUzODE5YjA5YjFkYTIyYmQz NTkzMzVkMTQ1ZDhhMzU1MGQ5ZTgyN2RjMWZkMjdiNmJkM2ZmCitkaXN0ZmlsZXM9Imh0dHA6Ly9k b3dubG9hZC5xdC5pby9kZXZlbG9wbWVudF9yZWxlYXNlcy9xdC8ke3ZlcnNpb24lLip9LyR7dmVy c2lvbi9hbHBoYS8tYWxwaGF9L3N1Ym1vZHVsZXMvcXR2aXJ0dWFsa2V5Ym9hcmQtZXZlcnl3aGVy ZS1zcmMtJHt2ZXJzaW9uL2FscGhhLy1hbHBoYX0udGFyLnh6IgorY2hlY2tzdW09MTY3NWRhZDdj ZDQxZmRkYjU5M2QxZmNmMGE2ZDJhN2MwZjI3YWU5OTYyMjMyY2JhOGEwYTk0ZGQzODA0NDMyMAog CiBpZiBbICIkWEJQU19DSEVDS19QS0dTIiBdOyB0aGVuCiAJY29uZmlndXJlX2FyZ3MrPSIgLURR VF9CVUlMRF9URVNUUz1PTiIKCkZyb20gZTVkZDEzOTk3OGVhY2ViMzE1NjcwNGI3NDIzMWMxMDll NDFjYjdlNSBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKRnJvbTogSm9obiA8bWVAam9obm55bmF0 b3IuZGV2PgpEYXRlOiBUaHUsIDI0IEp1biAyMDIxIDIwOjU5OjM3ICswMjAwClN1YmplY3Q6IFtQ QVRDSCAxOC8yNF0gcXQ2LXdheWxhbmQ6IHVwZGF0ZSB0byA2LjIuMGFscGhhLgoKLS0tCiBzcmNw a2dzL3F0Ni13YXlsYW5kL3RlbXBsYXRlIHwgMTAgKysrKystLS0tLQogMSBmaWxlIGNoYW5nZWQs IDUgaW5zZXJ0aW9ucygrKSwgNSBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9zcmNwa2dzL3F0 Ni13YXlsYW5kL3RlbXBsYXRlIGIvc3JjcGtncy9xdDYtd2F5bGFuZC90ZW1wbGF0ZQppbmRleCBm ZmYyYTliMWU4ZTQuLjc3YzVlZWNkMjU1MSAxMDA2NDQKLS0tIGEvc3JjcGtncy9xdDYtd2F5bGFu ZC90ZW1wbGF0ZQorKysgYi9zcmNwa2dzL3F0Ni13YXlsYW5kL3RlbXBsYXRlCkBAIC0xLDggKzEs OCBAQAogIyBUZW1wbGF0ZSBmaWxlIGZvciAncXQ2LXdheWxhbmQnCiBwa2duYW1lPXF0Ni13YXls YW5kCi12ZXJzaW9uPTYuMS4xCit2ZXJzaW9uPTYuMi4wYWxwaGEKIHJldmlzaW9uPTEKLXdya3Ny Yz0icXR3YXlsYW5kLWV2ZXJ5d2hlcmUtc3JjLSR7dmVyc2lvbn0iCit3cmtzcmM9InF0d2F5bGFu ZC1ldmVyeXdoZXJlLXNyYy0ke3ZlcnNpb24vYWxwaGEvLWFscGhhfSIKIGJ1aWxkX3N0eWxlPWNt YWtlCiBjb25maWd1cmVfYXJncz0iLURRVF9IT1NUX1BBVEg9L3VzciAtRFFUX0JVSUxEX1RPT0xT X1dIRU5fQ1JPU1NDT01QSUxJTkc9dHJ1ZSIKIGhvc3RtYWtlZGVwZW5kcz0icXQ2LWJhc2UtZGV2 ZWwgcGVybCBwa2ctY29uZmlnIHdheWxhbmQtZGV2ZWwgcXQ2LXdheWxhbmQtZGV2ZWwiCkBAIC0x NCw4ICsxNCw4IEBAIHNob3J0X2Rlc2M9IkNyb3NzLXBsYXRmb3JtIGFwcGxpY2F0aW9uIGFuZCBV SSBmcmFtZXdvcmsgLSBXYXlsYW5kIgogbWFpbnRhaW5lcj0iSm9obiA8bWVAam9obm55bmF0b3Iu ZGV2PiIKIGxpY2Vuc2U9IkdQTC0zLjAtb25seSB3aXRoIFF0LUdQTC1leGNlcHRpb24tMS4wLCBM R1BMLTMuMC1vbmx5LCBHUEwtMi4wLW9yLWxhdGVyIgogaG9tZXBhZ2U9Imh0dHBzOi8vd3d3LnF0 LmlvIgotZGlzdGZpbGVzPSJodHRwczovL2Rvd25sb2FkLnF0LmlvL29mZmljaWFsX3JlbGVhc2Vz L3F0LyR7dmVyc2lvbiUuKn0vJHt2ZXJzaW9ufS9zdWJtb2R1bGVzL3F0d2F5bGFuZC1ldmVyeXdo ZXJlLXNyYy0ke3ZlcnNpb259LnRhci54eiIKLWNoZWNrc3VtPTJjZmIyYjU0MDNlYjIwMzc2NzA1 NDlkZDJkMzk2OGVhYTMwYTljZTUyM2RkMDgzMTRjNWJjNjc3ZmRmMjdkYjYKK2Rpc3RmaWxlcz0i aHR0cHM6Ly9kb3dubG9hZC5xdC5pby9kZXZlbG9wbWVudF9yZWxlYXNlcy9xdC8ke3ZlcnNpb24l Lip9LyR7dmVyc2lvbi9hbHBoYS8tYWxwaGF9L3N1Ym1vZHVsZXMvcXR3YXlsYW5kLWV2ZXJ5d2hl cmUtc3JjLSR7dmVyc2lvbi9hbHBoYS8tYWxwaGF9LnRhci54eiIKK2NoZWNrc3VtPTcxMjA5ZGEx Njk0NzhjNmVhMzU1NWY4ZTU1ZWRkOWZlOWQ3NThhYzk4MjZjNDA0YWYyYTVlOTEyYThmY2ZhNWQK IAogaWYgWyAiJFhCUFNfQ0hFQ0tfUEtHUyIgXTsgdGhlbgogCWNvbmZpZ3VyZV9hcmdzKz0iIC1E UVRfQlVJTERfVEVTVFM9T04iCkBAIC0zMyw3ICszMyw3IEBAIHF0Ni13YXlsYW5kLWRldmVsX3Bh Y2thZ2UoKSB7CiAJCXZtb3ZlIHVzci9pbmNsdWRlCiAJCXZtb3ZlIHVzci9saWIvY21ha2UKIAkJ dm1vdmUgdXNyL2xpYi9xdDYvbWtzcGVjcwotCQl2bW92ZSB1c3IvbGliL3F0Ni9iaW4vcXR3YXls YW5kc2Nhbm5lcgorCQl2bW92ZSB1c3IvbGliL3F0Ni9saWJleGVjL3F0d2F5bGFuZHNjYW5uZXIK IAkJdm1vdmUgInVzci9saWIvKi5zbyIKIAkJdm1vdmUgInVzci9saWIvKi5wcmwiCiAJfQoKRnJv bSA0M2Q1MmE5ZDA5MTcxYmEwMDhjNmI4ZWExNjIxZjNkYzdkOTAyMjQyIE1vbiBTZXAgMTcgMDA6 MDA6MDAgMjAwMQpGcm9tOiBKb2huIDxtZUBqb2hubnluYXRvci5kZXY+CkRhdGU6IFNhdCwgMjYg SnVuIDIwMjEgMTI6MTY6NTQgKzAyMDAKU3ViamVjdDogW1BBVENIIDE5LzI0XSBOZXcgcGFja2Fn ZTogcXQ2LXNlcmlhbHBvcnQtNi4yLjBhbHBoYQoKLS0tCiBjb21tb24vc2hsaWJzICAgICAgICAg ICAgICAgICAgIHwgIDEgKwogc3JjcGtncy9xdDYtc2VyaWFscG9ydC1kZXZlbCAgICB8ICAxICsK IHNyY3BrZ3MvcXQ2LXNlcmlhbHBvcnQvdGVtcGxhdGUgfCAyNyArKysrKysrKysrKysrKysrKysr KysrKysrKysKIDMgZmlsZXMgY2hhbmdlZCwgMjkgaW5zZXJ0aW9ucygrKQogY3JlYXRlIG1vZGUg MTIwMDAwIHNyY3BrZ3MvcXQ2LXNlcmlhbHBvcnQtZGV2ZWwKIGNyZWF0ZSBtb2RlIDEwMDY0NCBz cmNwa2dzL3F0Ni1zZXJpYWxwb3J0L3RlbXBsYXRlCgpkaWZmIC0tZ2l0IGEvY29tbW9uL3NobGli cyBiL2NvbW1vbi9zaGxpYnMKaW5kZXggOGE3ZWVmOGRmOGMzLi5lYjAyM2I2Mjc1YWEgMTAwNjQ0 Ci0tLSBhL2NvbW1vbi9zaGxpYnMKKysrIGIvY29tbW9uL3NobGlicwpAQCAtMjA2MCw2ICsyMDYw LDcgQEAgbGliUXQ2SGVscC5zby42IHF0Ni10b29scy02LjEuMF8xCiBsaWJRdDZVaVRvb2xzLnNv LjYgcXQ2LXRvb2xzLTYuMS4wXzEKIGxpYlF0Nkh1bnNwZWxsSW5wdXRNZXRob2Quc28uNiBxdDYt dmlydHVhbGtleWJvYXJkLTYuMS4wXzEKIGxpYlF0NlZpcnR1YWxLZXlib2FyZC5zby42IHF0Ni12 aXJ0dWFsa2V5Ym9hcmQtNi4xLjBfMQorbGliUXQ2U2VyaWFsUG9ydC5zby42IHF0Ni1zZXJpYWxw b3J0LTYuMi4wYWxwaGFfMQogbGlibnB0aC5zby4wIG5wdGgtMS4xXzEKIGxpYm5wdXBucC5zby40 IGxpYm5wdXBucC00LjAuMl8xCiBsaWJnbGZ3LnNvLjMgZ2xmdy0zLjAuNF8xCmRpZmYgLS1naXQg YS9zcmNwa2dzL3F0Ni1zZXJpYWxwb3J0LWRldmVsIGIvc3JjcGtncy9xdDYtc2VyaWFscG9ydC1k ZXZlbApuZXcgZmlsZSBtb2RlIDEyMDAwMAppbmRleCAwMDAwMDAwMDAwMDAuLmY2YTQ5OGNmMjY1 MwotLS0gL2Rldi9udWxsCisrKyBiL3NyY3BrZ3MvcXQ2LXNlcmlhbHBvcnQtZGV2ZWwKQEAgLTAs MCArMSBAQAorcXQ2LXNlcmlhbHBvcnQKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYg LS1naXQgYS9zcmNwa2dzL3F0Ni1zZXJpYWxwb3J0L3RlbXBsYXRlIGIvc3JjcGtncy9xdDYtc2Vy aWFscG9ydC90ZW1wbGF0ZQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAu LjQ1ZTU5MTU5NzljYwotLS0gL2Rldi9udWxsCisrKyBiL3NyY3BrZ3MvcXQ2LXNlcmlhbHBvcnQv dGVtcGxhdGUKQEAgLTAsMCArMSwyNyBAQAorIyBUZW1wbGF0ZSBmaWxlIGZvciAncXQ2LXNlcmlh bHBvcnQnCitwa2duYW1lPXF0Ni1zZXJpYWxwb3J0Cit2ZXJzaW9uPTYuMi4wYWxwaGEKK3Jldmlz aW9uPTEKK3dya3NyYz0icXRzZXJpYWxwb3J0LWV2ZXJ5d2hlcmUtc3JjLSR7dmVyc2lvbi9hbHBo YS8tYWxwaGF9IgorYnVpbGRfc3R5bGU9Y21ha2UKK2NvbmZpZ3VyZV9hcmdzPSItRFFUX0hPU1Rf UEFUSD0vdXNyIgoraG9zdG1ha2VkZXBlbmRzPSJwZXJsIHF0Ni1iYXNlLWRldmVsIHBrZy1jb25m aWciCittYWtlZGVwZW5kcz0icXQ2LWJhc2UtZGV2ZWwiCitzaG9ydF9kZXNjPSJDcm9zcy1wbGF0 Zm9ybSBhcHBsaWNhdGlvbiBhbmQgVUkgZnJhbWV3b3JrIC0gc2VyaWFscG9ydCIKK21haW50YWlu ZXI9IkpvaG4gPG1lQGpvaG5ueW5hdG9yLmRldj4iCitsaWNlbnNlPSIoTEdQTC0zLjAtb25seSBP UiBHUEwtMi4wLW9ubHkgT1IgR1BMLTMuMC1vbmx5KSBBTkQgR1BMLTMuMC1vbmx5IHdpdGggUXQt R1BMLWV4Y2VwdGlvbi0xLjAiCitob21lcGFnZT0iaHR0cHM6Ly9xdC5pby8iCitkaXN0ZmlsZXM9 Imh0dHA6Ly9kb3dubG9hZC5xdC5pby9kZXZlbG9wbWVudF9yZWxlYXNlcy9xdC8ke3ZlcnNpb24l Lip9LyR7dmVyc2lvbi9hbHBoYS8tYWxwaGF9L3N1Ym1vZHVsZXMvcXRzZXJpYWxwb3J0LWV2ZXJ5 d2hlcmUtc3JjLSR7dmVyc2lvbi9hbHBoYS8tYWxwaGF9LnRhci54eiIKK2NoZWNrc3VtPTUxMTI5 YzY5NjRjNDI2NjhlMmVhMjA1ZjFmY2IwZTBlYTA5OWFhZWFlNzQ2MDcxMTI5NTczNDNhZmI1MzE4 NjMKKworcXQ2LXNlcmlhbHBvcnQtZGV2ZWxfcGFja2FnZSgpIHsKKwlkZXBlbmRzPSIke3NvdXJj ZXBrZ30+PSR7dmVyc2lvbn1fJHtyZXZpc2lvbn0gcXQ2LWJhc2UtZGV2ZWw+PSR7dmVyc2lvbn1f MSIKKwlzaG9ydF9kZXNjKz0iIC0gZGV2ZWxvcG1lbnQgZmlsZXMiCisJcGtnX2luc3RhbGwoKSB7 CisJCXZtb3ZlIHVzci9pbmNsdWRlCisJCXZtb3ZlIHVzci9saWIvY21ha2UKKwkJdm1vdmUgdXNy L2xpYi9xdDYvbWtzcGVjcworCQl2bW92ZSAidXNyL2xpYi8qLnNvIgorCQl2bW92ZSAidXNyL2xp Yi8qLnBybCIKKwl9Cit9CgpGcm9tIDdlZGQxNzU1NDcyYmE2ODg2NGZiMDJiNzdhY2E5YjYxYWE1 ZmY2OWEgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCkZyb206IEpvaG4gPG1lQGpvaG5ueW5hdG9y LmRldj4KRGF0ZTogU2F0LCAyNiBKdW4gMjAyMSAxMjoyMzo0OCArMDIwMApTdWJqZWN0OiBbUEFU Q0ggMjAvMjRdIE5ldyBwYWNrYWdlOiBxdDYtd2Vic29ja2V0cy02LjIuMGFscGhhCgotLS0KIGNv bW1vbi9zaGxpYnMgICAgICAgICAgICAgICAgICAgfCAgMSArCiBzcmNwa2dzL3F0Ni13ZWJzb2Nr ZXRzLWRldmVsICAgIHwgIDEgKwogc3JjcGtncy9xdDYtd2Vic29ja2V0cy90ZW1wbGF0ZSB8IDI3 ICsrKysrKysrKysrKysrKysrKysrKysrKysrKwogMyBmaWxlcyBjaGFuZ2VkLCAyOSBpbnNlcnRp b25zKCspCiBjcmVhdGUgbW9kZSAxMjAwMDAgc3JjcGtncy9xdDYtd2Vic29ja2V0cy1kZXZlbAog Y3JlYXRlIG1vZGUgMTAwNjQ0IHNyY3BrZ3MvcXQ2LXdlYnNvY2tldHMvdGVtcGxhdGUKCmRpZmYg LS1naXQgYS9jb21tb24vc2hsaWJzIGIvY29tbW9uL3NobGlicwppbmRleCBlYjAyM2I2Mjc1YWEu LjY5MjI3YWYyMjY3ZiAxMDA2NDQKLS0tIGEvY29tbW9uL3NobGlicworKysgYi9jb21tb24vc2hs aWJzCkBAIC0yMDYxLDYgKzIwNjEsNyBAQCBsaWJRdDZVaVRvb2xzLnNvLjYgcXQ2LXRvb2xzLTYu MS4wXzEKIGxpYlF0Nkh1bnNwZWxsSW5wdXRNZXRob2Quc28uNiBxdDYtdmlydHVhbGtleWJvYXJk LTYuMS4wXzEKIGxpYlF0NlZpcnR1YWxLZXlib2FyZC5zby42IHF0Ni12aXJ0dWFsa2V5Ym9hcmQt Ni4xLjBfMQogbGliUXQ2U2VyaWFsUG9ydC5zby42IHF0Ni1zZXJpYWxwb3J0LTYuMi4wYWxwaGFf MQorbGliUXQ2V2ViU29ja2V0cy5zby42IHF0Ni13ZWJzb2NrZXRzLTYuMi4wYWxwaGFfMQogbGli bnB0aC5zby4wIG5wdGgtMS4xXzEKIGxpYm5wdXBucC5zby40IGxpYm5wdXBucC00LjAuMl8xCiBs aWJnbGZ3LnNvLjMgZ2xmdy0zLjAuNF8xCmRpZmYgLS1naXQgYS9zcmNwa2dzL3F0Ni13ZWJzb2Nr ZXRzLWRldmVsIGIvc3JjcGtncy9xdDYtd2Vic29ja2V0cy1kZXZlbApuZXcgZmlsZSBtb2RlIDEy MDAwMAppbmRleCAwMDAwMDAwMDAwMDAuLmEzYzY3NGU0Mjk1NAotLS0gL2Rldi9udWxsCisrKyBi L3NyY3BrZ3MvcXQ2LXdlYnNvY2tldHMtZGV2ZWwKQEAgLTAsMCArMSBAQAorcXQ2LXdlYnNvY2tl dHMKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9zcmNwa2dzL3F0Ni13 ZWJzb2NrZXRzL3RlbXBsYXRlIGIvc3JjcGtncy9xdDYtd2Vic29ja2V0cy90ZW1wbGF0ZQpuZXcg ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAuLjYxNzc0MjY5MDRhZQotLS0gL2Rl di9udWxsCisrKyBiL3NyY3BrZ3MvcXQ2LXdlYnNvY2tldHMvdGVtcGxhdGUKQEAgLTAsMCArMSwy NyBAQAorIyBUZW1wbGF0ZSBmaWxlIGZvciAncXQ2LXdlYnNvY2tldHMnCitwa2duYW1lPXF0Ni13 ZWJzb2NrZXRzCit2ZXJzaW9uPTYuMi4wYWxwaGEKK3JldmlzaW9uPTEKK3dya3NyYz0icXR3ZWJz b2NrZXRzLWV2ZXJ5d2hlcmUtc3JjLSR7dmVyc2lvbi9hbHBoYS8tYWxwaGF9IgorYnVpbGRfc3R5 bGU9Y21ha2UKK2NvbmZpZ3VyZV9hcmdzPSItRFFUX0hPU1RfUEFUSD0vdXNyIgoraG9zdG1ha2Vk ZXBlbmRzPSJwZXJsIHF0Ni1iYXNlLWRldmVsIHF0Ni1kZWNsYXJhdGl2ZS1kZXZlbCIKK21ha2Vk ZXBlbmRzPSJxdDYtYmFzZS1kZXZlbCBxdDYtZGVjbGFyYXRpdmUtZGV2ZWwiCitzaG9ydF9kZXNj PSJDcm9zcy1wbGF0Zm9ybSBhcHBsaWNhdGlvbiBhbmQgVUkgZnJhbWV3b3JrIC0gd2Vic29ja2V0 cyIKK21haW50YWluZXI9IkpvaG4gPG1lQGpvaG5ueW5hdG9yLmRldj4iCitsaWNlbnNlPSIoTEdQ TC0zLjAtb25seSBPUiBHUEwtMi4wLW9ubHkgT1IgR1BMLTMuMC1vbmx5KSBBTkQgR1BMLTMuMC1v bmx5IHdpdGggUXQtR1BMLWV4Y2VwdGlvbi0xLjAiCitob21lcGFnZT0iaHR0cHM6Ly9xdC5pby8i CitkaXN0ZmlsZXM9Imh0dHA6Ly9kb3dubG9hZC5xdC5pby9kZXZlbG9wbWVudF9yZWxlYXNlcy9x dC8ke3ZlcnNpb24lLip9LyR7dmVyc2lvbi9hbHBoYS8tYWxwaGF9L3N1Ym1vZHVsZXMvcXR3ZWJz b2NrZXRzLWV2ZXJ5d2hlcmUtc3JjLSR7dmVyc2lvbi9hbHBoYS8tYWxwaGF9LnRhci54eiIKK2No ZWNrc3VtPWY4Mjc3ZDA1MTkyZWU1ZjgyMzM1NmE2YzZiNzJlYTgxNmEwMTg3ZjZhMDkxNWI3ODM2 MDViZWU5NTQ5YTg3NjEKKworcXQ2LXdlYnNvY2tldHMtZGV2ZWxfcGFja2FnZSgpIHsKKwlkZXBl bmRzPSIke3NvdXJjZXBrZ30+PSR7dmVyc2lvbn1fJHtyZXZpc2lvbn0gcXQ2LWJhc2UtZGV2ZWw+ PSR7dmVyc2lvbn1fMSIKKwlzaG9ydF9kZXNjKz0iIC0gZGV2ZWxvcG1lbnQgZmlsZXMiCisJcGtn X2luc3RhbGwoKSB7CisJCXZtb3ZlIHVzci9pbmNsdWRlCisJCXZtb3ZlIHVzci9saWIvY21ha2UK KwkJdm1vdmUgdXNyL2xpYi9xdDYvbWtzcGVjcworCQl2bW92ZSAidXNyL2xpYi8qLnNvIgorCQl2 bW92ZSAidXNyL2xpYi8qLnBybCIKKwl9Cit9CgpGcm9tIDEzZWU0MWEwMzFkMDJjOTZiMWQxZTAx NWZmMzNjZjNkNzc1YTM1MWYgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCkZyb206IEpvaG4gPG1l QGpvaG5ueW5hdG9yLmRldj4KRGF0ZTogU2F0LCAyNiBKdW4gMjAyMSAxMjoyNTowNCArMDIwMApT dWJqZWN0OiBbUEFUQ0ggMjEvMjRdIE5ldyBwYWNrYWdlOiBxdDYtd2ViY2hhbm5lbC02LjIuMGFs cGhhCgotLS0KIGNvbW1vbi9zaGxpYnMgICAgICAgICAgICAgICAgICAgfCAgMSArCiBzcmNwa2dz L3F0Ni13ZWJjaGFubmVsLWRldmVsICAgIHwgIDEgKwogc3JjcGtncy9xdDYtd2ViY2hhbm5lbC90 ZW1wbGF0ZSB8IDI4ICsrKysrKysrKysrKysrKysrKysrKysrKysrKysKIDMgZmlsZXMgY2hhbmdl ZCwgMzAgaW5zZXJ0aW9ucygrKQogY3JlYXRlIG1vZGUgMTIwMDAwIHNyY3BrZ3MvcXQ2LXdlYmNo YW5uZWwtZGV2ZWwKIGNyZWF0ZSBtb2RlIDEwMDY0NCBzcmNwa2dzL3F0Ni13ZWJjaGFubmVsL3Rl bXBsYXRlCgpkaWZmIC0tZ2l0IGEvY29tbW9uL3NobGlicyBiL2NvbW1vbi9zaGxpYnMKaW5kZXgg NjkyMjdhZjIyNjdmLi5lNmQxZWY3MTU3YjQgMTAwNjQ0Ci0tLSBhL2NvbW1vbi9zaGxpYnMKKysr IGIvY29tbW9uL3NobGlicwpAQCAtMjA2Miw2ICsyMDYyLDcgQEAgbGliUXQ2SHVuc3BlbGxJbnB1 dE1ldGhvZC5zby42IHF0Ni12aXJ0dWFsa2V5Ym9hcmQtNi4xLjBfMQogbGliUXQ2VmlydHVhbEtl eWJvYXJkLnNvLjYgcXQ2LXZpcnR1YWxrZXlib2FyZC02LjEuMF8xCiBsaWJRdDZTZXJpYWxQb3J0 LnNvLjYgcXQ2LXNlcmlhbHBvcnQtNi4yLjBhbHBoYV8xCiBsaWJRdDZXZWJTb2NrZXRzLnNvLjYg cXQ2LXdlYnNvY2tldHMtNi4yLjBhbHBoYV8xCitsaWJRdDZXZWJDaGFubmVsLnNvLjYgcXQ2LXdl YmNoYW5uZWwtNi4yLjBhbHBoYV8xCiBsaWJucHRoLnNvLjAgbnB0aC0xLjFfMQogbGlibnB1cG5w LnNvLjQgbGlibnB1cG5wLTQuMC4yXzEKIGxpYmdsZncuc28uMyBnbGZ3LTMuMC40XzEKZGlmZiAt LWdpdCBhL3NyY3BrZ3MvcXQ2LXdlYmNoYW5uZWwtZGV2ZWwgYi9zcmNwa2dzL3F0Ni13ZWJjaGFu bmVsLWRldmVsCm5ldyBmaWxlIG1vZGUgMTIwMDAwCmluZGV4IDAwMDAwMDAwMDAwMC4uMDNlOGIy M2Q3ODVkCi0tLSAvZGV2L251bGwKKysrIGIvc3JjcGtncy9xdDYtd2ViY2hhbm5lbC1kZXZlbApA QCAtMCwwICsxIEBACitxdDYtd2ViY2hhbm5lbApcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUK ZGlmZiAtLWdpdCBhL3NyY3BrZ3MvcXQ2LXdlYmNoYW5uZWwvdGVtcGxhdGUgYi9zcmNwa2dzL3F0 Ni13ZWJjaGFubmVsL3RlbXBsYXRlCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw MDAwMC4uYTFkMjE3ODEwYzkwCi0tLSAvZGV2L251bGwKKysrIGIvc3JjcGtncy9xdDYtd2ViY2hh bm5lbC90ZW1wbGF0ZQpAQCAtMCwwICsxLDI4IEBACisjIFRlbXBsYXRlIGZpbGUgZm9yICdxdDYt d2ViY2hhbm5lbCcKK3BrZ25hbWU9cXQ2LXdlYmNoYW5uZWwKK3ZlcnNpb249Ni4yLjBhbHBoYQor cmV2aXNpb249MQord3Jrc3JjPSJxdHdlYmNoYW5uZWwtZXZlcnl3aGVyZS1zcmMtJHt2ZXJzaW9u L2FscGhhLy1hbHBoYX0iCitidWlsZF9zdHlsZT1jbWFrZQorY29uZmlndXJlX2FyZ3M9Ii1EUVRf SE9TVF9QQVRIPS91c3IiCitob3N0bWFrZWRlcGVuZHM9InBlcmwgcXQ2LWJhc2UtZGV2ZWwgcXQ2 LWRlY2xhcmF0aXZlLWRldmVsIgorbWFrZWRlcGVuZHM9InF0Ni1iYXNlLWRldmVsIHF0Ni1kZWNs YXJhdGl2ZS1kZXZlbCBxdDYtd2Vic29ja2V0cy1kZXZlbCIKK3Nob3J0X2Rlc2M9IkNyb3NzLXBs YXRmb3JtIGFwcGxpY2F0aW9uIGFuZCBVSSBmcmFtZXdvcmsgLSB3ZWJjaGFubmVsIgorbWFpbnRh aW5lcj0iSm9obiA8bWVAam9obm55bmF0b3IuZGV2PiIKK2xpY2Vuc2U9IihMR1BMLTMuMC1vbmx5 IE9SIEdQTC0yLjAtb25seSBPUiBHUEwtMy4wLW9ubHkpIEFORCBHUEwtMy4wLW9ubHkgd2l0aCBR dC1HUEwtZXhjZXB0aW9uLTEuMCIKK2hvbWVwYWdlPSJodHRwczovL3F0LmlvLyIKK2Rpc3RmaWxl cz0iaHR0cDovL2Rvd25sb2FkLnF0LmlvL2RldmVsb3BtZW50X3JlbGVhc2VzL3F0LyR7dmVyc2lv biUuKn0vJHt2ZXJzaW9uL2FscGhhLy1hbHBoYX0vc3VibW9kdWxlcy9xdHdlYmNoYW5uZWwtZXZl cnl3aGVyZS1zcmMtJHt2ZXJzaW9uL2FscGhhLy1hbHBoYX0udGFyLnh6IgorY2hlY2tzdW09Njhm ZDNmMDUwOGI2ZGY2OWI1NzM2ZDdlMTQyNTA5MTMxZjM3Mjg2MzBhYmRjZDQzMmEwNjQzMGU1Y2E4 OTIwYworCitxdDYtd2ViY2hhbm5lbC1kZXZlbF9wYWNrYWdlKCkgeworCWRlcGVuZHM9IiR7c291 cmNlcGtnfT49JHt2ZXJzaW9ufV8ke3JldmlzaW9ufSBxdDYtYmFzZS1kZXZlbD49JHt2ZXJzaW9u fV8xCisJIHF0Ni13ZWJzb2NrZXRzLWRldmVsPj0ke3ZlcnNpb259XzEiCisJc2hvcnRfZGVzYys9 IiAtIGRldmVsb3BtZW50IGZpbGVzIgorCXBrZ19pbnN0YWxsKCkgeworCQl2bW92ZSB1c3IvaW5j bHVkZQorCQl2bW92ZSB1c3IvbGliL2NtYWtlCisJCXZtb3ZlIHVzci9saWIvcXQ2L21rc3BlY3MK KwkJdm1vdmUgInVzci9saWIvKi5zbyIKKwkJdm1vdmUgInVzci9saWIvKi5wcmwiCisJfQorfQoK RnJvbSA1ZWMyZGNjOTc3NmM0M2U4NzhiNjQ3ZTljODczMzJjM2UzODUxMWE5IE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBKb2huIDxtZUBqb2hubnluYXRvci5kZXY+CkRhdGU6IFNhdCwg MjYgSnVuIDIwMjEgMjE6MDg6MjUgKzAyMDAKU3ViamVjdDogW1BBVENIIDIyLzI0XSBOZXcgcGFj a2FnZTogcXQ2LW11bHRpbWVkaWEtNi4yLjBhbHBoYQoKLS0tCiBzcmNwa2dzL3F0Ni1tdWx0aW1l ZGlhLWRldmVsICAgIHwgIDEgKwogc3JjcGtncy9xdDYtbXVsdGltZWRpYS90ZW1wbGF0ZSB8IDI5 ICsrKysrKysrKysrKysrKysrKysrKysrKysrKysrCiAyIGZpbGVzIGNoYW5nZWQsIDMwIGluc2Vy dGlvbnMoKykKIGNyZWF0ZSBtb2RlIDEyMDAwMCBzcmNwa2dzL3F0Ni1tdWx0aW1lZGlhLWRldmVs CiBjcmVhdGUgbW9kZSAxMDA2NDQgc3JjcGtncy9xdDYtbXVsdGltZWRpYS90ZW1wbGF0ZQoKZGlm ZiAtLWdpdCBhL3NyY3BrZ3MvcXQ2LW11bHRpbWVkaWEtZGV2ZWwgYi9zcmNwa2dzL3F0Ni1tdWx0 aW1lZGlhLWRldmVsCm5ldyBmaWxlIG1vZGUgMTIwMDAwCmluZGV4IDAwMDAwMDAwMDAwMC4uOTM0 MzQ0NjUwMmQwCi0tLSAvZGV2L251bGwKKysrIGIvc3JjcGtncy9xdDYtbXVsdGltZWRpYS1kZXZl bApAQCAtMCwwICsxIEBACitxdDYtbXVsdGltZWRpYQpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZp bGUKZGlmZiAtLWdpdCBhL3NyY3BrZ3MvcXQ2LW11bHRpbWVkaWEvdGVtcGxhdGUgYi9zcmNwa2dz L3F0Ni1tdWx0aW1lZGlhL3RlbXBsYXRlCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw MDAwMDAwMC4uNDFhMjU5NTkzNjFlCi0tLSAvZGV2L251bGwKKysrIGIvc3JjcGtncy9xdDYtbXVs dGltZWRpYS90ZW1wbGF0ZQpAQCAtMCwwICsxLDI5IEBACisjIFRlbXBsYXRlIGZpbGUgZm9yICdx dDYtbXVsdGltZWRpYScKK3BrZ25hbWU9cXQ2LW11bHRpbWVkaWEKK3ZlcnNpb249Ni4yLjBhbHBo YQorcmV2aXNpb249MQord3Jrc3JjPSJxdG11bHRpbWVkaWEtZXZlcnl3aGVyZS1zcmMtJHt2ZXJz aW9uL2FscGhhLy1hbHBoYX0iCitidWlsZF9zdHlsZT1jbWFrZQorY29uZmlndXJlX2FyZ3M9Ii1E UVRfSE9TVF9QQVRIPS91c3IgLURRVF9GRUFUVVJFX2dzdHJlYW1lcj1PTiIKK2hvc3RtYWtlZGVw ZW5kcz0icGVybCBxdDYtZGVjbGFyYXRpdmUtZGV2ZWwgcGtnLWNvbmZpZworIHF0Ni1zaGFkZXJ0 b29scy1kZXZlbCIKK21ha2VkZXBlbmRzPSJxdDYtZGVjbGFyYXRpdmUtZGV2ZWwgcXQ2LXF1aWNr Y29udHJvbHMyLWRldmVsCisgcXQ2LXNoYWRlcnRvb2xzLWRldmVsIGxpYmdsaWItZGV2ZWwgZ3N0 LXBsdWdpbnMtYmFzZTEtZGV2ZWwiCitzaG9ydF9kZXNjPSJDcm9zcy1wbGF0Zm9ybSBhcHBsaWNh dGlvbiBhbmQgVUkgZnJhbWV3b3JrIC0gbXVsdGltZWRpYSIKK21haW50YWluZXI9IkpvaG4gPG1l QGpvaG5ueW5hdG9yLmRldj4iCitsaWNlbnNlPSIoTEdQTC0zLjAtb25seSBPUiBHUEwtMi4wLW9u bHkgT1IgR1BMLTMuMC1vbmx5KSBBTkQgR1BMLTMuMC1vbmx5IHdpdGggUXQtR1BMLWV4Y2VwdGlv bi0xLjAiCitob21lcGFnZT0iaHR0cHM6Ly9xdC5pby8iCitkaXN0ZmlsZXM9Imh0dHA6Ly9kb3du bG9hZC5xdC5pby9kZXZlbG9wbWVudF9yZWxlYXNlcy9xdC8ke3ZlcnNpb24lLip9LyR7dmVyc2lv bi9hbHBoYS8tYWxwaGF9L3N1Ym1vZHVsZXMvcXRtdWx0aW1lZGlhLWV2ZXJ5d2hlcmUtc3JjLSR7 dmVyc2lvbi9hbHBoYS8tYWxwaGF9LnRhci54eiIKK2NoZWNrc3VtPTkyNDFmZTk0NTZjMDRiYTFm ZWFmZmQ3NDg4M2QzNzE1NWMwMjE4YmFmOGFhOWZjM2RkNTQ2NDI3OTFmMzc4Y2QKKworcXQ2LW11 bHRpbWVkaWEtZGV2ZWxfcGFja2FnZSgpIHsKKwlkZXBlbmRzPSIke3NvdXJjZXBrZ30+PSR7dmVy c2lvbn1fJHtyZXZpc2lvbn0gcXQ2LWJhc2UtZGV2ZWw+PSR7dmVyc2lvbn1fMSIKKwlzaG9ydF9k ZXNjKz0iIC0gZGV2ZWxvcG1lbnQgZmlsZXMiCisJcGtnX2luc3RhbGwoKSB7CisJCXZtb3ZlIHVz ci9pbmNsdWRlCisJCXZtb3ZlIHVzci9saWIvY21ha2UKKwkJdm1vdmUgdXNyL2xpYi9xdDYvbWtz cGVjcworCQl2bW92ZSAidXNyL2xpYi8qLnNvIgorCQl2bW92ZSAidXNyL2xpYi8qLnBybCIKKwl9 Cit9CgpGcm9tIGVmZGZjNGEyZGFhOWY3NDM4YzQ4OGUwYTAxYzVjYWM5NDU2YjZhMDQgTW9uIFNl cCAxNyAwMDowMDowMCAyMDAxCkZyb206IEpvaG4gPG1lQGpvaG5ueW5hdG9yLmRldj4KRGF0ZTog U3VuLCAyNyBKdW4gMjAyMSAwMDozNTozMyArMDIwMApTdWJqZWN0OiBbUEFUQ0ggMjMvMjRdIE5l dyBwYWNrYWdlOiBxdDYtd2ViZW5naW5lLTYuMi4wYWxwaGEKCi0tLQogc3JjcGtncy9xdDYtd2Vi ZW5naW5lLWRldmVsICAgICAgICAgICAgICAgICAgIHwgICAgMSArCiBzcmNwa2dzL3F0Ni13ZWJl bmdpbmUvZmlsZXMvcmVzb2x2X2NvbXBhdC5oICAgfCAgIDI5ICsKIC4uLi1jb21waWxhdGlvbi1z dXBwb3J0LXRvLWNtYWtlLWJ1aWxkcy5wYXRjaCB8ICA0NzQgKysrCiAuLi4vcGF0Y2hlcy8wMDAx LW11cy1jc3RyaW5nLnBhdGNoICAgICAgICAgICAgfCAgIDEwICsKIC4uLnVzZS10YXJnZXQtQy1Y WC1GTEFHUy1mb3ItaG9zdC1jbWFrZS5wYXRjaCB8ICAgMjYgKwogLi4uL3BhdGNoZXMvMDAwMi1O b25lLW5vLWRlYnVnLnBhdGNoICAgICAgICAgIHwgICAxMSArCiAuLi5yZWcuaC10by1nZXQtX19X T1JEU0laRS1vbi1tdXNsLWxpYmMucGF0Y2ggfCAgIDI2ICsKIC4uLi9wYXRjaGVzLzAwMDMtbXVz bC1kaXNwYXRjaC10by1tdXNsLnBhdGNoICB8ICAxMDMgKwogLi4uL3BhdGNoZXMvMDAwNC1tdXNs LW5vLW1hbGxpbmZvLnBhdGNoICAgICAgIHwgICAzOSArCiAuLi4vcGF0Y2hlcy8wMDA1LW11c2wt b2ZmX3QucGF0Y2ggICAgICAgICAgICAgfCAgIDEwICsKIC4uLi9wYXRjaGVzLzAwMDYtbXVzbC1w cmVhZC1wd3JpdGUucGF0Y2ggICAgICB8ICAgMTggKwogLi4uL3BhdGNoZXMvMDAwOC1tdXNsLXJl c29sdmUucGF0Y2ggICAgICAgICAgIHwgICAyNiArCiAuLi4vcGF0Y2hlcy8wMDA5LW11c2wtc2ln aW5mb190LnBhdGNoICAgICAgICAgfCAgIDE4ICsKIC4uLi9wYXRjaGVzLzAwMTAtbXVzbC1zdGFj a3N0YXJ0LnBhdGNoICAgICAgICB8ICAgMjAgKwogLi4uL3BhdGNoZXMvMDAxMS1tdXNsLXNhbmRi b3gucGF0Y2ggICAgICAgICAgIHwgICA3MSArCiAuLi4wMDEyLW11c2wtY2hyb21pdW0tZGVmYXVs dC1zdGFja3NpemUucGF0Y2ggfCAgIDE1ICsKIC4uLi8wMDE0LW11c2wtY3Jvc3Mtbm8tYXNtX3B0 cmFjZV9oLnBhdGNoICAgICB8ICAgMzAgKwogLi4uL3BhdGNoZXMvMDAxNS1uby1nbGliYy1jbWFr ZS1jaGVjay5wYXRjaCAgIHwgICAxNCArCiAuLi4vcGF0Y2hlcy8wMDE2LXF0LW11c2wtZXhlY2lu Zm8ucGF0Y2ggICAgICAgfCAgMTA2ICsKIC4uLi8wMDE3LXF0LW11c2wtdGhyZWFkLXN0YWNrc2l6 ZS5wYXRjaCAgICAgICB8ICAgMjYgKwogLi4uL3BhdGNoZXMvMDAxOC1zYW5kYm94LW1lbWJhcnJp ZXIucGF0Y2ggICAgIHwgICA2MCArCiAuLi4vcGF0Y2hlcy8wMDIwLW1zZ3ZlYy1wdXNoX2JhY2su cGF0Y2ggICAgICAgfCAgIDE0ICsKIC4uLi9wYXRjaGVzLzAwMjEtc2FuZGJveC1zY2hlZF9nZXRw YXJhbS5wYXRjaCB8ICAgMjYgKwogLi4uLzAwMjItY2Fub25pY2FsaXplLWZpbGUtbmFtZS1tdXNs LnBhdGNoICAgIHwgICAxMSArCiAuLi4vcGF0Y2hlcy8wMDg5LWVuYWJsZS1wcGM2NC5wYXRjaCAg ICAgICAgICAgfCAgIDQ5ICsKIC4uLi9wYXRjaGVzLzAwOTAtcXR3ZWJlbmdpbmUtcHBjNjQucGF0 Y2ggICAgICB8IDM2MDQgKysrKysrKysrKysrKysrKysKIC4uLi9wYXRjaGVzLzAwOTEtY2hyb21p dW0tcHBjNjRsZS1tdXNsLnBhdGNoICB8ICAxODUgKwogLi4uL3F0Ni13ZWJlbmdpbmUvcGF0Y2hl cy8wMTEwLXNpemVfdC5wYXRjaCAgIHwgICAxNiArCiAuLi4vcGF0Y2hlcy8wMTExLWFybXY3bC1u ZW9uLnBhdGNoICAgICAgICAgICAgfCAgIDEwICsKIC4uLi9wYXRjaGVzLzAxMTItYXJtLXVzZXJf dmZwLnBhdGNoICAgICAgICAgICB8ICAgMjAgKwogLi4uL3BhdGNoZXMvMDExMy1hcm0tZWxmX2F1 eHZfdC5wYXRjaCAgICAgICAgIHwgICAxOCArCiAuLi4vcXQ2LXdlYmVuZ2luZS9wYXRjaGVzLzAx MTQtdGltZTY0LnBhdGNoICAgfCAgIDg5ICsKIC4uLi9wYXRjaGVzLzAxMjEtZ2xpYmMtMi4zMy5w YXRjaCAgICAgICAgICAgICB8ICAxNDQgKwogc3JjcGtncy9xdDYtd2ViZW5naW5lL3RlbXBsYXRl ICAgICAgICAgICAgICAgIHwgICA5NCArCiAzNCBmaWxlcyBjaGFuZ2VkLCA1NDEzIGluc2VydGlv bnMoKykKIGNyZWF0ZSBtb2RlIDEyMDAwMCBzcmNwa2dzL3F0Ni13ZWJlbmdpbmUtZGV2ZWwKIGNy ZWF0ZSBtb2RlIDEwMDY0NCBzcmNwa2dzL3F0Ni13ZWJlbmdpbmUvZmlsZXMvcmVzb2x2X2NvbXBh dC5oCiBjcmVhdGUgbW9kZSAxMDA2NDQgc3JjcGtncy9xdDYtd2ViZW5naW5lL3BhdGNoZXMvMDAw MS1BZGQtY3Jvc3MtY29tcGlsYXRpb24tc3VwcG9ydC10by1jbWFrZS1idWlsZHMucGF0Y2gKIGNy ZWF0ZSBtb2RlIDEwMDY0NCBzcmNwa2dzL3F0Ni13ZWJlbmdpbmUvcGF0Y2hlcy8wMDAxLW11cy1j c3RyaW5nLnBhdGNoCiBjcmVhdGUgbW9kZSAxMDA2NDQgc3JjcGtncy9xdDYtd2ViZW5naW5lL3Bh dGNoZXMvMDAwMi1Eby1ub3QtdXNlLXRhcmdldC1DLVhYLUZMQUdTLWZvci1ob3N0LWNtYWtlLnBh dGNoCiBjcmVhdGUgbW9kZSAxMDA2NDQgc3JjcGtncy9xdDYtd2ViZW5naW5lL3BhdGNoZXMvMDAw Mi1Ob25lLW5vLWRlYnVnLnBhdGNoCiBjcmVhdGUgbW9kZSAxMDA2NDQgc3JjcGtncy9xdDYtd2Vi ZW5naW5lL3BhdGNoZXMvMDAwMi1pbmNsdWRlLXN5cy1yZWcuaC10by1nZXQtX19XT1JEU0laRS1v bi1tdXNsLWxpYmMucGF0Y2gKIGNyZWF0ZSBtb2RlIDEwMDY0NCBzcmNwa2dzL3F0Ni13ZWJlbmdp bmUvcGF0Y2hlcy8wMDAzLW11c2wtZGlzcGF0Y2gtdG8tbXVzbC5wYXRjaAogY3JlYXRlIG1vZGUg MTAwNjQ0IHNyY3BrZ3MvcXQ2LXdlYmVuZ2luZS9wYXRjaGVzLzAwMDQtbXVzbC1uby1tYWxsaW5m by5wYXRjaAogY3JlYXRlIG1vZGUgMTAwNjQ0IHNyY3BrZ3MvcXQ2LXdlYmVuZ2luZS9wYXRjaGVz LzAwMDUtbXVzbC1vZmZfdC5wYXRjaAogY3JlYXRlIG1vZGUgMTAwNjQ0IHNyY3BrZ3MvcXQ2LXdl YmVuZ2luZS9wYXRjaGVzLzAwMDYtbXVzbC1wcmVhZC1wd3JpdGUucGF0Y2gKIGNyZWF0ZSBtb2Rl IDEwMDY0NCBzcmNwa2dzL3F0Ni13ZWJlbmdpbmUvcGF0Y2hlcy8wMDA4LW11c2wtcmVzb2x2ZS5w YXRjaAogY3JlYXRlIG1vZGUgMTAwNjQ0IHNyY3BrZ3MvcXQ2LXdlYmVuZ2luZS9wYXRjaGVzLzAw MDktbXVzbC1zaWdpbmZvX3QucGF0Y2gKIGNyZWF0ZSBtb2RlIDEwMDY0NCBzcmNwa2dzL3F0Ni13 ZWJlbmdpbmUvcGF0Y2hlcy8wMDEwLW11c2wtc3RhY2tzdGFydC5wYXRjaAogY3JlYXRlIG1vZGUg MTAwNjQ0IHNyY3BrZ3MvcXQ2LXdlYmVuZ2luZS9wYXRjaGVzLzAwMTEtbXVzbC1zYW5kYm94LnBh dGNoCiBjcmVhdGUgbW9kZSAxMDA2NDQgc3JjcGtncy9xdDYtd2ViZW5naW5lL3BhdGNoZXMvMDAx Mi1tdXNsLWNocm9taXVtLWRlZmF1bHQtc3RhY2tzaXplLnBhdGNoCiBjcmVhdGUgbW9kZSAxMDA2 NDQgc3JjcGtncy9xdDYtd2ViZW5naW5lL3BhdGNoZXMvMDAxNC1tdXNsLWNyb3NzLW5vLWFzbV9w dHJhY2VfaC5wYXRjaAogY3JlYXRlIG1vZGUgMTAwNjQ0IHNyY3BrZ3MvcXQ2LXdlYmVuZ2luZS9w YXRjaGVzLzAwMTUtbm8tZ2xpYmMtY21ha2UtY2hlY2sucGF0Y2gKIGNyZWF0ZSBtb2RlIDEwMDY0 NCBzcmNwa2dzL3F0Ni13ZWJlbmdpbmUvcGF0Y2hlcy8wMDE2LXF0LW11c2wtZXhlY2luZm8ucGF0 Y2gKIGNyZWF0ZSBtb2RlIDEwMDY0NCBzcmNwa2dzL3F0Ni13ZWJlbmdpbmUvcGF0Y2hlcy8wMDE3 LXF0LW11c2wtdGhyZWFkLXN0YWNrc2l6ZS5wYXRjaAogY3JlYXRlIG1vZGUgMTAwNjQ0IHNyY3Br Z3MvcXQ2LXdlYmVuZ2luZS9wYXRjaGVzLzAwMTgtc2FuZGJveC1tZW1iYXJyaWVyLnBhdGNoCiBj cmVhdGUgbW9kZSAxMDA2NDQgc3JjcGtncy9xdDYtd2ViZW5naW5lL3BhdGNoZXMvMDAyMC1tc2d2 ZWMtcHVzaF9iYWNrLnBhdGNoCiBjcmVhdGUgbW9kZSAxMDA2NDQgc3JjcGtncy9xdDYtd2ViZW5n aW5lL3BhdGNoZXMvMDAyMS1zYW5kYm94LXNjaGVkX2dldHBhcmFtLnBhdGNoCiBjcmVhdGUgbW9k ZSAxMDA2NDQgc3JjcGtncy9xdDYtd2ViZW5naW5lL3BhdGNoZXMvMDAyMi1jYW5vbmljYWxpemUt ZmlsZS1uYW1lLW11c2wucGF0Y2gKIGNyZWF0ZSBtb2RlIDEwMDY0NCBzcmNwa2dzL3F0Ni13ZWJl bmdpbmUvcGF0Y2hlcy8wMDg5LWVuYWJsZS1wcGM2NC5wYXRjaAogY3JlYXRlIG1vZGUgMTAwNjQ0 IHNyY3BrZ3MvcXQ2LXdlYmVuZ2luZS9wYXRjaGVzLzAwOTAtcXR3ZWJlbmdpbmUtcHBjNjQucGF0 Y2gKIGNyZWF0ZSBtb2RlIDEwMDY0NCBzcmNwa2dzL3F0Ni13ZWJlbmdpbmUvcGF0Y2hlcy8wMDkx LWNocm9taXVtLXBwYzY0bGUtbXVzbC5wYXRjaAogY3JlYXRlIG1vZGUgMTAwNjQ0IHNyY3BrZ3Mv cXQ2LXdlYmVuZ2luZS9wYXRjaGVzLzAxMTAtc2l6ZV90LnBhdGNoCiBjcmVhdGUgbW9kZSAxMDA2 NDQgc3JjcGtncy9xdDYtd2ViZW5naW5lL3BhdGNoZXMvMDExMS1hcm12N2wtbmVvbi5wYXRjaAog Y3JlYXRlIG1vZGUgMTAwNjQ0IHNyY3BrZ3MvcXQ2LXdlYmVuZ2luZS9wYXRjaGVzLzAxMTItYXJt LXVzZXJfdmZwLnBhdGNoCiBjcmVhdGUgbW9kZSAxMDA2NDQgc3JjcGtncy9xdDYtd2ViZW5naW5l L3BhdGNoZXMvMDExMy1hcm0tZWxmX2F1eHZfdC5wYXRjaAogY3JlYXRlIG1vZGUgMTAwNjQ0IHNy Y3BrZ3MvcXQ2LXdlYmVuZ2luZS9wYXRjaGVzLzAxMTQtdGltZTY0LnBhdGNoCiBjcmVhdGUgbW9k ZSAxMDA2NDQgc3JjcGtncy9xdDYtd2ViZW5naW5lL3BhdGNoZXMvMDEyMS1nbGliYy0yLjMzLnBh dGNoCiBjcmVhdGUgbW9kZSAxMDA2NDQgc3JjcGtncy9xdDYtd2ViZW5naW5lL3RlbXBsYXRlCgpk aWZmIC0tZ2l0IGEvc3JjcGtncy9xdDYtd2ViZW5naW5lLWRldmVsIGIvc3JjcGtncy9xdDYtd2Vi ZW5naW5lLWRldmVsCm5ldyBmaWxlIG1vZGUgMTIwMDAwCmluZGV4IDAwMDAwMDAwMDAwMC4uOGU0 ZDFiOTljNTg3Ci0tLSAvZGV2L251bGwKKysrIGIvc3JjcGtncy9xdDYtd2ViZW5naW5lLWRldmVs CkBAIC0wLDAgKzEgQEAKK3F0Ni13ZWJlbmdpbmUKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxl CmRpZmYgLS1naXQgYS9zcmNwa2dzL3F0Ni13ZWJlbmdpbmUvZmlsZXMvcmVzb2x2X2NvbXBhdC5o IGIvc3JjcGtncy9xdDYtd2ViZW5naW5lL2ZpbGVzL3Jlc29sdl9jb21wYXQuaApuZXcgZmlsZSBt b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAuLjRmMGU4NTJhMTlkMAotLS0gL2Rldi9udWxs CisrKyBiL3NyY3BrZ3MvcXQ2LXdlYmVuZ2luZS9maWxlcy9yZXNvbHZfY29tcGF0LmgKQEAgLTAs MCArMSwyOSBAQAorI2lmICFkZWZpbmVkKF9fR0xJQkNfXykKKy8qKioqKioqKioqKioqKioqKioq KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioK KyAqIHJlc29sdl9jb21wYXQuaAorICoKKyAqIE1pbWljayBHTElCQydzIHJlc19uaW5pdCgpIGFu ZCByZXNfbmNsb3NlKCkgZm9yIG11c2wgbGliYworICogTm90ZTogcmVzX2luaXQoKSBpcyBhY3R1 YWxseSBkZXByZWNhdGVkIGFjY29yZGluZyB0bworICogaHR0cDovL2RvY3Mub3JhY2xlLmNvbS9j ZC9FMzY3ODRfMDEvaHRtbC9FMzY4NzUvcmVzLW5jbG9zZS0zcmVzb2x2Lmh0bWwKKyAqKioqKioq KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq KioqKioqKioqKi8KKyNpbmNsdWRlIDxzdHJpbmcuaD4KKworc3RhdGljIGlubGluZSBpbnQgcmVz X25pbml0KHJlc19zdGF0ZSBzdGF0cCkKK3sKKwlpbnQgcmMgPSByZXNfaW5pdCgpOworCWlmIChz dGF0cCAhPSAmX3JlcykgeworCQltZW1jcHkoc3RhdHAsICZfcmVzLCBzaXplb2YoKnN0YXRwKSk7 CisJfQorCXJldHVybiByYzsKK30KKworc3RhdGljIGlubGluZSBpbnQgcmVzX25jbG9zZShyZXNf c3RhdGUgc3RhdHApCit7CisJaWYgKCFzdGF0cCkKKwkJcmV0dXJuIC0xOworCWlmIChzdGF0cCAh PSAmX3JlcykgeworCQltZW1zZXQoc3RhdHAsIDAsIHNpemVvZigqc3RhdHApKTsKKwl9CisJcmV0 dXJuIDA7Cit9CisjZW5kaWYKZGlmZiAtLWdpdCBhL3NyY3BrZ3MvcXQ2LXdlYmVuZ2luZS9wYXRj aGVzLzAwMDEtQWRkLWNyb3NzLWNvbXBpbGF0aW9uLXN1cHBvcnQtdG8tY21ha2UtYnVpbGRzLnBh dGNoIGIvc3JjcGtncy9xdDYtd2ViZW5naW5lL3BhdGNoZXMvMDAwMS1BZGQtY3Jvc3MtY29tcGls YXRpb24tc3VwcG9ydC10by1jbWFrZS1idWlsZHMucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQK aW5kZXggMDAwMDAwMDAwMDAwLi5jNzBmMjE5ZTVmNGQKLS0tIC9kZXYvbnVsbAorKysgYi9zcmNw a2dzL3F0Ni13ZWJlbmdpbmUvcGF0Y2hlcy8wMDAxLUFkZC1jcm9zcy1jb21waWxhdGlvbi1zdXBw b3J0LXRvLWNtYWtlLWJ1aWxkcy5wYXRjaApAQCAtMCwwICsxLDQ3NCBAQAorRnJvbSA3YTIyYTQy NGZmMjk5N2Y2NDRkOTMwMDUwNjM1ZGIyMTRjMDY4ZDEwIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAw MQorRnJvbTogTWljaGFsIEtsb2NlayA8bWljaGFsLmtsb2Nla0BxdC5pbz4KK0RhdGU6IFN1biwg MjMgTWF5IDIwMjEgMTc6Mzk6MjggKzAyMDAKK1N1YmplY3Q6IFtQQVRDSCAxLzJdIEFkZCBjcm9z cyBjb21waWxhdGlvbiBzdXBwb3J0IHRvIGNtYWtlIGJ1aWxkcworCitBZGQgYXJtIGNyb3NzLWNv bXBpbGUgYmFzaWMgc3VwcG9ydC4gQ01ha2UgZG9lcyBub3QKK3N1cHBvcnQgaG9zdCBidWlsZHMu IEhvd2V2ZXIgd2UgZG8gaG9zdCBidWlsZCB3aXRoIGduIGFuZAorY2hhbmdpbmcgdGhhdCB3b3Vs ZCByZXF1aXJlIGFuIGV4dHJhIGVmZm9ydCB0byBrZWVwIGFsbCBuZWNlc3NhcnkKK2NoYW5nZXMg d2l0aCBDaHJvbWl1bSB1cHN0cmVhbS4gVGhlcmVmb3JlIGxldCBnbiB0byBwZXJmb3JtCit0aGUg aG9zdCBidWlsZCBmb3IgcmVxdWlyZWQgdG9vbHMgYW5kIGp1c3QgZmVlZCBnbiB3aXRoIGFsbCB0 aGUKK2J1aWxkIGRhdGEuCisKK0FkZCBuZXcgYnVpbGQgc3RlcHM6CisKKyogaW5zdGFsbCBnbiBp bnRvIFFUX0hPU1RfUEFUSC9saWJleGVjLgorKiBydW4gaG9zdEJ1aWxkIHByb2plY3QgdG8gZ2V0 IG5hdGl2ZSBhcmNoaXRlY3R1cmUgYW5kIGNvbXBpbGVyCisqIGNhbGwgUGtnQ29uZmlnSG9zdCB0 byBwYXNzIHBrZy1jb25maWcgcGF0aHMgdG8gZ24KKyogY3JlYXRlIHdyYXBwZXIgc2NyaXB0IGZv ciBob3N0IHBrZy1jb25maWcgdG8gZXNjYXBlCisgIHlvY3RvIHNoZWxsIHBrZyBjb25maWcgZXhw b3J0cworCitUaGlzIGNoYW5nZSBhbHNvIHNwbGl0cyBnbiB0b29sY2hhaW4gaW50byAzIHRvb2xj aGFpbnMgaG9zdCx0YXJnZXQsdjgKK05vdyBob3N0QnVpbGQgcHJvdmlkZXMgaG9zdCBhbmQgdjgg dG9vbGNoYWluIGluIGNhc2Ugb2YgY3Jvc3MgY29tcGlsZS4KKworVGhlIGJ1aWxkIG9wdGltaXph dGlvbnMgd2lsbCBmb2xsb3cgaW4gYW5vdGhlciBwYXRjaC4KKworTm90ZSB0aGlzIGlzIHRlc3Rl ZCBvbmx5IHdpdGggeW9jdG8gYmFzZWQgaW1hZ2VzLgorCitQaWNrLXRvOiBkZXYKK1Rhc2stbnVt YmVyOiBRVEJVRy05MTc2MAorQ2hhbmdlLUlkOiBJYzJiZWExMjIyOWFjYzcxZmJkMzZhODQ4ZTll ZDRmZWQ3ZTE0YjQ4NQorLS0tCisgQ01ha2VMaXN0cy50eHQgICAgICAgICAgICAgICAgICAgICAg ICAgICB8IDM3ICsrKysrKysrKysrKysrKystLQorIGNtYWtlL0ZpbmRHbi5jbWFrZSAgICAgICAg ICAgICAgICAgICAgICAgfCAgOSArKystLQorIGNtYWtlL0ZpbmROaW5qYS5jbWFrZSAgICAgICAg ICAgICAgICAgICAgfCAgNCArLQorIGNtYWtlL0ZpbmRQa2dDb25maWdIb3N0LmNtYWtlICAgICAg ICAgICAgfCA0MCArKysrKysrKysrKysrKysrKysrKworIGNtYWtlL0Z1bmN0aW9ucy5jbWFrZSAg ICAgICAgICAgICAgICAgICAgfCA0NSArKysrKysrKysrKysrKysrKysrKysrCisgY29uZmlndXJl LmNtYWtlICAgICAgICAgICAgICAgICAgICAgICAgICB8IDEwICsrKystCisgc3JjL2NvcmUvQ01h a2VMaXN0cy50eHQgICAgICAgICAgICAgICAgICB8IDQ4ICsrKysrKysrKysrKysrKysrKy0tLS0t LQorIHNyYy9jb3JlL2FwaS9jb25maWd1cmUuY21ha2UgICAgICAgICAgICAgfCAxMCArKy0tLQor IHNyYy9jb3JlL2NvbmZpZ3VyZS9CVUlMRC50b29sY2hhaW4uZ24uaW4gfCAzMiArKy0tLS0tLS0t LS0tLS0tCisgc3JjL2NvcmUvY29uZmlndXJlL0NNYWtlTGlzdHMudHh0ICAgICAgICB8IDM1ICsr KysrKysrKysrKysrKysrCisgMTAgZmlsZXMgY2hhbmdlZCwgMjE1IGluc2VydGlvbnMoKyksIDU1 IGRlbGV0aW9ucygtKQorIGNyZWF0ZSBtb2RlIDEwMDY0NCBjbWFrZS9GaW5kUGtnQ29uZmlnSG9z dC5jbWFrZQorIGNyZWF0ZSBtb2RlIDEwMDY0NCBzcmMvY29yZS9jb25maWd1cmUvQ01ha2VMaXN0 cy50eHQKKworZGlmZiAtLWdpdCBhL0NNYWtlTGlzdHMudHh0IGIvQ01ha2VMaXN0cy50eHQKK2lu ZGV4IDhhM2ZmNzVjLi4yYTkzZGNhNSAxMDA2NDQKKy0tLSBhL0NNYWtlTGlzdHMudHh0CisrKysg Yi9DTWFrZUxpc3RzLnR4dAorQEAgLTYzLDYgKzYzLDcgQEAgYWRkX3N1YmRpcmVjdG9yeShzcmMv cHJvY2VzcykKKyBhZGRfc3ViZGlyZWN0b3J5KHNyYy93ZWJlbmdpbmV3aWRnZXRzKQorIGFkZF9z dWJkaXJlY3Rvcnkoc3JjL3dlYmVuZ2luZXF1aWNrKQorIHF0X2J1aWxkX3JlcG9fZW5kKCkKKytn ZXRfaW5zdGFsbF9jb25maWcoaW5zdGFsbENvbmZpZykKKyAKKyAjIyMgTklOSkEKKyAKK0BAIC05 NCw5ICs5NSwxMCBAQCBpZihOT1QgR25fRk9VTkQpCisgICAgICAgICAgICAgICAgICAgIC1EQ01B S0VfSU5TVEFMTF9QUkVGSVg6UEFUSD08SU5TVEFMTF9ESVI+CisgICAgICAgICAgICAgICAgICAg IC1EQ01BS0VfUFJFRklYX1BBVEg6UEFUSD08SU5TVEFMTF9ESVI+CisgICAgICAgICAgICAgICAg ICAgIC1EV0VCRU5HSU5FX1JPT1RfQlVJTERfRElSPSR7Q01BS0VfQ1VSUkVOVF9CSU5BUllfRElS fQorLSkKKysgICAgKQorIGVuZGlmKCkKKyAKKysKKyAjIyMgTElCUworIAorICMgb24gd2luZG93 cyBzb3VyY2UgcGF0aCBjYW4gYmUgc3BlY2lmaWVkIHdpdGhvdXQgaGFyZCBkcml2ZSBsZXR0ZXIs CitAQCAtMTE1LDEyICsxMTcsMTQgQEAgZW5kaWYoKQorIGxpc3QoVFJBTlNGT1JNIGZlYXR1cmVM aXN0IFBSRVBFTkQgIi1EIikKKyBsaXN0KEFQUEVORCBsaWJzQ21ha2VBcmdzCisgICAgICAgICAi LURDTUFLRV9UT09MQ0hBSU5fRklMRT0ke0NNQUtFX1RPT0xDSEFJTl9GSUxFfSIKKy0gICAgICAg ICItRFdFQkVOR0lORV9ST09UX0JVSUxEX1BBVEg9JHtDTUFLRV9DVVJSRU5UX0JJTkFSWV9ESVJ9 IgorKyAgICAgICAgIi1EV0VCRU5HSU5FX1JPT1RfQlVJTERfRElSPSR7Q01BS0VfQ1VSUkVOVF9C SU5BUllfRElSfSIKKyAgICAgICAgICItRFdFQkVOR0lORV9ST09UX1NPVVJDRV9ESVI9JHtXRUJF TkdJTkVfUk9PVF9TT1VSQ0VfRElSfSIKKyAgICAgICAgICItRFdFQkVOR0lORV9SRVBPX0JVSUxE PVRSVUUiCisgICAgICAgICAiJHtmZWF0dXJlTGlzdH0iCisgKQorLQorK2lmKFFUX0hPU1RfUEFU SCkKKysgICAgbGlzdChBUFBFTkQgbGlic0NtYWtlQXJncyAiLURRVF9IT1NUX1BBVEg9JHtRVF9I T1NUX1BBVEh9IikKKytlbmRpZigpCisgaWYoTElOVVgpCisgICAgIHNldChjbWQgIiR7Q01BS0Vf Q09NTUFORH0gLS1idWlsZCAke0NNQUtFX0NVUlJFTlRfQklOQVJZX0RJUn0vc3JjIikKKyAgICAg ZmlsZShHRU5FUkFURSBPVVRQVVQgJHtDTUFLRV9DVVJSRU5UX0JJTkFSWV9ESVJ9L3NyYy9idWls ZC5zaCBDT05URU5UICJ1bGltaXQgLW4gNDA5NiAmJiAke2NtZH1cbiIpCitAQCAtMjEwLDMgKzIx NCwzMCBAQCBpZihOT1QgUVRfRkVBVFVSRV9mcmFtZXdvcmspCisgICAgICAgICBERVNUSU5BVElP TiAke0NNQUtFX0lOU1RBTExfUFJFRklYfQorICAgICApCisgZW5kaWYoKQorKworKyMjIyBDUk9T UyBCVUlMRCBTRVRVUAorKworKyMgaW5zdGFsbCBnbiBmb3IgY3Jvc3MgYnVpbGQKKysjIFRPRE86 IGlzIHRoaXMgcmVhbGx5IG5lZWRlZCwgc2hvdWxkIHdlIHNraXAgaXQgYW5kIGp1c3QgYnVpbGQg Z24gYXMgaG9zdCBidWlsZCA/CisraWYoTElOVVggQU5EIE5PVCBHbl9GT1VORCBPUiBJTlNUQUxM X0dOKQorKyAgICBzZXQoSU5TVEFMTF9HTiAxIENBQ0hFIElOVEVSTkFMICIiKQorKyAgICBpbnN0 YWxsKAorKyAgICAgICAgUFJPR1JBTVMgJHtpbnN0YWxsRGlyfS9iaW4vZ24KKysgICAgICAgIENP TkZJR1VSQVRJT05TICR7aW5zdGFsbENvbmZpZ30KKysgICAgICAgIFJVTlRJTUUgREVTVElOQVRJ T04gIiR7SU5TVEFMTF9MSUJFWEVDRElSfSIKKysgICAgKQorK2VuZGlmKCkKKysKKytpZihDTUFL RV9DUk9TU0NPTVBJTElORykKKysgICAgZXh0ZXJuYWxwcm9qZWN0X2FkZChob3N0QnVpbGQKKysg ICAgICAgIFNPVVJDRV9ESVIgICR7Q01BS0VfQ1VSUkVOVF9MSVNUX0RJUn0vc3JjL2NvcmUvY29u ZmlndXJlCisrICAgICAgICBCSU5BUllfRElSICAke0NNQUtFX0NVUlJFTlRfQklOQVJZX0RJUn0v Y29uZmlndXJlCisrICAgICAgICBQUkVGSVggICAgICBjcm9zcworKyAgICAgICAgVVNFU19URVJN SU5BTF9CVUlMRCBPTgorKyAgICAgICAgQ01BS0VfQVJHUyAtRENNQUtFX1RPT0xDSEFJTl9GSUxF PSR7UVRfSE9TVF9QQVRIfS9saWIvY21ha2UvUXQ2L3F0LnRvb2xjaGFpbi5jbWFrZQorKyAgICAg ICAgICAgICAgICAgICAtRFdFQkVOR0lORV9ST09UX0JVSUxEX0RJUj0ke0NNQUtFX0NVUlJFTlRf QklOQVJZX0RJUn0KKysgICAgICAgICAgICAgICAgICAgLURXRUJFTkdJTkVfUk9PVF9TT1VSQ0Vf RElSPSR7V0VCRU5HSU5FX1JPT1RfU09VUkNFX0RJUn0KKysgICAgICAgICAgICAgICAgICAgLURH Tl9UQVJHRVRfQ1BVPSR7VEVTVF9hcmNoaXRlY3R1cmVfYXJjaH0KKysgICAgKQorKyAgICBleHRl cm5hbHByb2plY3RfYWRkX3N0ZXBkZXBlbmRlbmNpZXMobGlicyBpbnN0YWxsIGhvc3RCdWlsZCkK KytlbmRpZigpCitkaWZmIC0tZ2l0IGEvY21ha2UvRmluZEduLmNtYWtlIGIvY21ha2UvRmluZEdu LmNtYWtlCitpbmRleCAxMmE5MDc3OC4uYWJmYTBmZTIgMTAwNjQ0CistLS0gYS9jbWFrZS9GaW5k R24uY21ha2UKKysrKyBiL2NtYWtlL0ZpbmRHbi5jbWFrZQorQEAgLTEsOSArMSwxMCBAQAorIGlm IChOT1QgREVGSU5FRCBXRUJFTkdJTkVfUk9PVF9CVUlMRF9ESVIpCistICAgIHNldChXRUJFTkdJ TkVfUk9PVF9CVUlMRF9ESVIgICR7Q01BS0VfQ1VSUkVOVF9CSU5BUllfRElSfS8uLi8uLikKKysg ICAgc2V0KFdFQkVOR0lORV9ST09UX0JVSUxEX0RJUiAke0NNQUtFX0NVUlJFTlRfQklOQVJZX0RJ Un0pCisrZW5kaWYoKQorK2ZpbmRfcHJvZ3JhbShHbl9FWEVDVVRBQkxFIE5BTUVTIGduIFBBVEhT ICIke1dFQkVOR0lORV9ST09UX0JVSUxEX0RJUn0vaW5zdGFsbC9iaW4iIE5PX0RFRkFVTFRfUEFU SCkKKytpZihOT1QgUVRfSE9TVF9QQVRIIFNUUkVRVUFMICIiKQorKyAgIGZpbmRfcHJvZ3JhbShH bl9FWEVDVVRBQkxFIE5BTUVTIGduIFBBVEhTICR7UVRfSE9TVF9QQVRIfS8ke0lOU1RBTExfTElC RVhFQ0RJUn0gTk9fREVGQVVMVF9QQVRIKQorIGVuZGlmKCkKKy0KKy1zZXQoQ01BS0VfUFJPR1JB TV9QQVRIICR7V0VCRU5HSU5FX1JPT1RfQlVJTERfRElSfS9pbnN0YWxsL2JpbikKKy0KKyBmaW5k X3Byb2dyYW0oR25fRVhFQ1VUQUJMRSBOQU1FUyBnbikKKyAKKyBpZihHbl9FWEVDVVRBQkxFKQor ZGlmZiAtLWdpdCBhL2NtYWtlL0ZpbmROaW5qYS5jbWFrZSBiL2NtYWtlL0ZpbmROaW5qYS5jbWFr ZQoraW5kZXggMzYxNWQ1OGIuLjcyMGU3MzI2IDEwMDY0NAorLS0tIGEvY21ha2UvRmluZE5pbmph LmNtYWtlCisrKysgYi9jbWFrZS9GaW5kTmluamEuY21ha2UKK0BAIC0xLDggKzEsOCBAQAorIGlm IChOT1QgREVGSU5FRCBXRUJFTkdJTkVfUk9PVF9CVUlMRF9ESVIpCistICAgIHNldChXRUJFTkdJ TkVfUk9PVF9CVUlMRF9ESVIgICR7Q01BS0VfQ1VSUkVOVF9CSU5BUllfRElSfS8uLikKKysgICAg c2V0KFdFQkVOR0lORV9ST09UX0JVSUxEX0RJUiAke0NNQUtFX0NVUlJFTlRfQklOQVJZX0RJUn0p CisgZW5kaWYoKQorIAorLXNldChDTUFLRV9QUk9HUkFNX1BBVEggJHtXRUJFTkdJTkVfUk9PVF9C VUlMRF9ESVJ9L2luc3RhbGwvYmluKQorK2ZpbmRfcHJvZ3JhbShOaW5qYV9FWEVDVVRBQkxFIE5B TUVTIG5pbmphIG5pbmphLWJ1aWxkIFBBVEhTICIke1dFQkVOR0lORV9ST09UX0JVSUxEX0RJUn0v aW5zdGFsbC9iaW4iIE5PX0RFRkFVTFRfUEFUSCkKKyBmaW5kX3Byb2dyYW0oTmluamFfRVhFQ1VU QUJMRSBOQU1FUyBuaW5qYSBuaW5qYS1idWlsZCkKKyAKKyBpZihOaW5qYV9FWEVDVVRBQkxFKQor ZGlmZiAtLWdpdCBhL2NtYWtlL0ZpbmRQa2dDb25maWdIb3N0LmNtYWtlIGIvY21ha2UvRmluZFBr Z0NvbmZpZ0hvc3QuY21ha2UKK25ldyBmaWxlIG1vZGUgMTAwNjQ0CitpbmRleCAwMDAwMDAwMC4u ZGUwMjE2MzgKKy0tLSAvZGV2L251bGwKKysrKyBiL2NtYWtlL0ZpbmRQa2dDb25maWdIb3N0LmNt YWtlCitAQCAtMCwwICsxLDQwIEBACisrIyB0aGlzIGlzIGp1c3Qgc2ltcGx5IHBrZyBjb25maWcg d3JhcHBlciB0byBwYXNzIGV4ZWN1dGFibGUgcGF0aCB0byBnbgorKworK2lmKENNQUtFX0NST1NT Q09NUElMSU5HKQorKyAgICMgZmluZCBwa2ctY29uZmlnLCB1c2UgUEtHX0NPTkZJR19IT1NUIGlm IHNldAorKyAgIGlmKChOT1QgUEtHX0NPTkZJR19IT1NUX0VYRUNVVEFCTEUpIEFORCAoTk9UICIk RU5We1BLR19DT05GSUdfSE9TVH0iIFNUUkVRVUFMICIiKSkKKysgICAgICAgc2V0KFBLR19DT05G SUdfSE9TVF9FWEVDVVRBQkxFICIkRU5We1BLR19DT05GSUdfSE9TVH0iIENBQ0hFIEZJTEVQQVRI ICJwa2ctY29uZmlnIGhvc3QgZXhlY3V0YWJsZSIpCisrICAgZW5kaWYoKQorKworKyAgIGZpbmRf cHJvZ3JhbShQS0dfQ09ORklHX0hPU1RfRVhFQ1VUQUJMRSBOQU1FUyAicGtnLWNvbmZpZyIgRE9D ICJwa2ctY29uZmlnIGV4ZWN1dGFibGUiCisrICAgICAgIE5PX1NZU1RFTV9FTlZJUk9OTUVOVF9Q QVRICisrICAgICAgIE5PX0NNQUtFX0ZJTkRfUk9PVF9QQVRICisrICAgKQorKworKyAgIGlmKFBL R19DT05GSUdfSE9TVF9FWEVDVVRBQkxFKQorKyAgICAgICBtYXJrX2FzX2FkdmFuY2VkKFBLR19D T05GSUdfSE9TVF9FWEVDVVRBQkxFKQorKyAgICAgICBleGVjdXRlX3Byb2Nlc3MoQ09NTUFORCAk e1BLR19DT05GSUdfSE9TVF9FWEVDVVRBQkxFfSAtLXZlcnNpb24KKysgICAgICAgICAgIE9VVFBV VF9WQVJJQUJMRSBQS0dfQ09ORklHX0hPU1RfVkVSU0lPTl9TVFJJTkcKKysgICAgICAgICAgIE9V VFBVVF9TVFJJUF9UUkFJTElOR19XSElURVNQQUNFCisrICAgICAgICAgICBFUlJPUl9RVUlFVCkK KysgICBlbmRpZiAoKQorKworKyAgIGluY2x1ZGUoRmluZFBhY2thZ2VIYW5kbGVTdGFuZGFyZEFy Z3MpCisrICAgZmluZF9wYWNrYWdlX2hhbmRsZV9zdGFuZGFyZF9hcmdzKFBrZ0NvbmZpZ0hvc3QK KysgICAgICAgRk9VTkRfVkFSIFBrZ0NvbmZpZ0hvc3RfRk9VTkQKKysgICAgICAgVkVSU0lPTl9W QVIgUEtHX0NPTkZJR19IT1NUX1ZFUlNJT05fU1RSSU5HCisrICAgICAgIFJFUVVJUkVEX1ZBUlMg UEtHX0NPTkZJR19IT1NUX0VYRUNVVEFCTEUKKysgICApCisrZWxzZSgpICMgaWYgbm90IGNvcnNz IGJ1aWxkIHNpbXBseSB3cmFwIEZpbmRQa2dDb25maWcKKysgICBmaW5kX3BhY2thZ2UoUGtnQ29u ZmlnKQorKyAgIGlmKFBLR19DT05GSUdfRk9VTkQpCisrICAgICAgIGluY2x1ZGUoRmluZFBhY2th Z2VIYW5kbGVTdGFuZGFyZEFyZ3MpCisrICAgICAgIHNldChQS0dfQ09ORklHX0hPU1RfVkVSU0lP TiAke1BLR19DT05GSUdfVkVSU0lPTn0pCisrICAgICAgIHNldChQS0dfQ09ORklHX0hPU1RfRVhF Q1VUQUJMRSAke1BLR19DT05GSUdfRVhFQ1VUQUJMRX0pCisrICAgICAgIGZpbmRfcGFja2FnZV9o YW5kbGVfc3RhbmRhcmRfYXJncyhQa2dDb25maWdIb3N0CisrICAgICAgICAgICBGT1VORF9WQVIg UGtnQ29uZmlnSG9zdF9GT1VORAorKyAgICAgICAgICAgVkVSU0lPTl9WQVIgUEtHX0NPTkZJR19I T1NUX1ZFUlNJT05fU1RSSU5HCisrICAgICAgICAgICBSRVFVSVJFRF9WQVJTIFBLR19DT05GSUdf SE9TVF9FWEVDVVRBQkxFCisrICAgICAgICkKKysgIGVuZGlmKCkKKytlbmRpZigpCitkaWZmIC0t Z2l0IGEvY21ha2UvRnVuY3Rpb25zLmNtYWtlIGIvY21ha2UvRnVuY3Rpb25zLmNtYWtlCitpbmRl eCBkMjllZDdhNC4uM2NkZmRlZTkgMTAwNjQ0CistLS0gYS9jbWFrZS9GdW5jdGlvbnMuY21ha2UK KysrKyBiL2NtYWtlL0Z1bmN0aW9ucy5jbWFrZQorQEAgLTM0OCwzICszNDgsNDggQEAgZnVuY3Rp b24ocXRfaW50ZXJuYWxfYWRkX2V4dGVybmFsX3Byb2plY3RfZGVwZW5kZW5jeV90b19yb290X3By b2plY3QgbmFtZSkKKyAKKyAgICAgY21ha2VfcG9saWN5KFBPUCkKKyBlbmRmdW5jdGlvbigpCisr CisrZnVuY3Rpb24oZ2V0X2duX2FyY2ggcmVzdWx0IGFyY2gpCisrICAgaWYoIiR7YXJjaH0iIFNU UkVRVUFMICJpMzg2IikKKysgICAgICBzZXQoJHtyZXN1bHR9ICJ4ODYiIFBBUkVOVF9TQ09QRSkK KysgICBlbHNlaWYoIiR7YXJjaH0iIFNUUkVRVUFMICJ4ODZfNjQiKQorKyAgICAgIHNldCgke3Jl c3VsdH0gIng2NCIgUEFSRU5UX1NDT1BFKQorKyAgIGVsc2VpZigiJHthcmNofSIgU1RSRVFVQUwg ImFybSIpCisrICAgICAgc2V0KCR7cmVzdWx0fSAiYXJtIiBQQVJFTlRfU0NPUEUpCisrICAgZWxz ZWlmKCIke2FyY2h9IiBTVFJFUVVBTCAiYXJtNjQiKQorKyAgICAgIHNldCgke3Jlc3VsdH0gImFy bTY0IiBQQVJFTlRfU0NPUEUpCisrICAgZWxzZWlmKCIke2FyY2h9IiBTVFJFUVVBTCAibWlwc2Vs IikKKysgICAgICBzZXQoJHtyZXN1bHR9ICJtaXBzZWwiIFBBUkVOVF9TQ09QRSkKKysgICBlbHNl aWYoIiR7YXJjaH0iIFNUUkVRVUFMICJtaXBzZWw2NCIpCisrICAgICAgc2V0KCR7cmVzdWx0fSAi bWlwczY0ZWwiIFBBUkVOVF9TQ09QRSkKKysgICBlbHNlKCkKKysgICAgICBtZXNzYWdlKERFQlVH ICJVbnN1cHBvcnRlZCBhY2hpdGVjdHVyZTogJHthcmNofSIpCisrICAgZW5kaWYoKQorK2VuZGZ1 bmN0aW9uKCkKKysKKytmdW5jdGlvbihnZXRfdjhfYXJjaCByZXN1bHQgdGFyZ2V0QXJjaCkKKysg ICBzZXQobGlzdDMyIGkzODYgYXJtIG1pcHNlbCkKKysgICBpZigiJHt0YXJnZXRBcmNofSIgSU5f TElTVCBsaXN0MzIpCisrICAgICAgIHNldCgke3Jlc3VsdH0gImkzODYiIFBBUkVOVF9TQ09QRSkK KysgICBlbHNlKCkKKysgICAgICAgc2V0KCR7cmVzdWx0fSAieDg2XzY0IiBQQVJFTlRfU0NPUEUp CisrICAgZW5kaWYoKQorK2VuZGZ1bmN0aW9uKCkKKysKKytmdW5jdGlvbihjb25maWd1cmVfZ25f dG9vbGNoYWluIG5hbWUgY3B1VHlwZSB2OENwdVR5cGUgdG9vbGNoYWluSW4gdG9vbGNoYWluT3V0 KQorKyAgICBzZXQoR05fVE9PTENIQUlOICR7bmFtZX0pCisrICAgIGdldF9nbl9hcmNoKEdOX0NQ VSAke2NwdVR5cGV9KQorKyAgICBnZXRfZ25fYXJjaChHTl9WOF9DUFUgJHt2OENwdVR5cGV9KQor KyAgICBjb25maWd1cmVfZmlsZSgke3Rvb2xjaGFpbklufSAke3Rvb2xjaGFpbk91dH0vQlVJTEQu Z24gQE9OTFkpCisrZW5kZnVuY3Rpb24oKQorKworK2Z1bmN0aW9uKGNyZWF0ZV9wa2dfY29uZmln X2hvc3Rfd3JhcHBlciB3cmFwcGVyTmFtZSB3cmFwcGVyQ21kKQorKyAgICBmaWxlKFdSSVRFICR7 d3JhcHBlck5hbWV9CisrICAgICAgICAiIyEvYmluL3NoXG4iCisrICAgICAgICAidW5zZXQgUEtH X0NPTkZJR19MSUJESVJcbiIKKysgICAgICAgICJ1bnNldCBQS0dfQ09ORklHX1BBVEhcbiIKKysg ICAgICAgICJ1bnNldCBQS0dfQ09ORklHX1NZU1JPT1RfRElSXG4iCisrICAgICAgICAiZXhlYyAk e3dyYXBwZXJDbWR9IFwiJEBcIiIKKysgICAgKQorKyAgICBmaWxlKENITU9EICR7d3JhcHBlck5h bWV9IFBFUk1JU1NJT05TIE9XTkVSX1JFQUQgT1dORVJfV1JJVEUgT1dORVJfRVhFQ1VURSkKKytl bmRmdW5jdGlvbigpCitkaWZmIC0tZ2l0IGEvY29uZmlndXJlLmNtYWtlIGIvY29uZmlndXJlLmNt YWtlCitpbmRleCA1MzM5MjMxMy4uMmE4NTUyZDcgMTAwNjQ0CistLS0gYS9jb25maWd1cmUuY21h a2UKKysrKyBiL2NvbmZpZ3VyZS5jbWFrZQorQEAgLTMzMyw5ICszMzMsMTcgQEAgZW5kaWYoKQor IGFzc2VydFRhcmdldHMod2ViRW5naW5lRXJyb3Igd2ViRW5naW5lU3VwcG9ydCBHdWkgV2lkZ2V0 cyBPcGVuR0wgT3BlbkdMV2lkZ2V0cyBRdWljayBRbWwpCisgYWRkX2NoZWNrX2Zvcl9zdXBwb3J0 KHdlYkVuZ2luZUVycm9yIHdlYkVuZ2luZVN1cHBvcnQKKyAgICBNT0RVTEUgUXRXZWJFbmdpbmUK Ky0gICBDT05ESVRJT04gKExJTlVYIEFORCBOT1QgQ01BS0VfQ1JPU1NDT01QSUxJTkcpIE9SIChX SU4zMiBBTkQgTk9UIFdJTl9BUk1fNjQpIE9SIChNQUNPUyBBTkQgTk9UIE1BQ19VTklWRVJTQUwp CisrICAgQ09ORElUSU9OIExJTlVYIE9SIChXSU4zMiBBTkQgTk9UIFdJTl9BUk1fNjQpIE9SIChN QUNPUyBBTkQgTk9UIE1BQ19VTklWRVJTQUwpCisgICAgTUVTU0FHRSAiQnVpbGQgY2FuIGJlIGRv bmUgb25seSBvbiBMaW51eCwgV2luZG93cyBvciBtYWNPUy4iCisgKQorK2lmKExJTlVYIEFORCBD TUFLRV9DUk9TU0NPTVBJTElORykKKysgICBnZXRfZ25fYXJjaCh0ZXN0QXJjaCAke1RFU1RfYXJj aGl0ZWN0dXJlX2FyY2h9KQorKyAgIGFkZF9jaGVja19mb3Jfc3VwcG9ydCh3ZWJFbmdpbmVFcnJv ciB3ZWJFbmdpbmVTdXBwb3J0CisrICAgICAgIE1PRFVMRSBRdFdlYkVuZ2luZQorKyAgICAgICBD T05ESVRJT04gdGVzdEFyY2gKKysgICAgICAgTUVTU0FHRSAiQ3Jvc3MgY29tcGlsaW5nIGlzIG5v dCBzdXBwb3J0ZWQgZm9yICR7VEVTVF9hcmNoaXRlY3R1cmVfYXJjaH0uIgorKyAgICkKKytlbmRp ZigpCisgYWRkX2NoZWNrX2Zvcl9zdXBwb3J0KHdlYkVuZ2luZUVycm9yIHdlYkVuZ2luZVN1cHBv cnQKKyAgICBNT0RVTEUgUXRXZWJFbmdpbmUKKyAgICBDT05ESVRJT04gTk9UIFFUX0ZFQVRVUkVf c3RhdGljCitkaWZmIC0tZ2l0IGEvc3JjL2NvcmUvQ01ha2VMaXN0cy50eHQgYi9zcmMvY29yZS9D TWFrZUxpc3RzLnR4dAoraW5kZXggZmQ5MzVmZTEuLjQwZDdmZDhlIDEwMDY0NAorLS0tIGEvc3Jj L2NvcmUvQ01ha2VMaXN0cy50eHQKKysrKyBiL3NyYy9jb3JlL0NNYWtlTGlzdHMudHh0CitAQCAt MjQsNiArMjQsMTEgQEAgZmluZF9wYWNrYWdlKE5vZGVqcyAxMi4wKQorIGZpbmRfcGFja2FnZShQ a2dDb25maWcpCisgaWYoUGtnQ29uZmlnX0ZPVU5EKQorICAgICBwa2dfY2hlY2tfbW9kdWxlcyhY U0NSTlNBVkVSIHhzY3Juc2F2ZXIpCisrICAgIGZpbmRfcGFja2FnZShQa2dDb25maWdIb3N0KQor KyAgICBpZihDTUFLRV9DUk9TU0NPTVBJTElORykKKysgICAgICAgIGNyZWF0ZV9wa2dfY29uZmln X2hvc3Rfd3JhcHBlcigiJHtidWlsZERpcn0vcGtnLWNvbmZpZy1ob3N0X3dyYXBwZXIuc2giICIk e1BLR19DT05GSUdfSE9TVF9FWEVDVVRBQkxFfSIpCisrICAgICAgICBzZXQoUEtHX0NPTkZJR19I T1NUX0VYRUNVVEFCTEUgIiR7YnVpbGREaXJ9L3BrZy1jb25maWctaG9zdF93cmFwcGVyLnNoIikK KysgICAgZW5kaWYoKQorIGVuZGlmKCkKKyAKKyBnZXRfdGFyZ2V0X3Byb3BlcnR5KHF0V2ViRW5n aW5lUHJvY2Vzc05hbWUgV2ViRW5naW5lQ29yZSBRVFdFQkVOR0lORVBST0NFU1NfTkFNRSkKK0BA IC0zNiw2ICs0MSwyNCBAQCBlbHNlKCkKKyAgICAgc2V0KGNvbmZpZ3MgJHtDTUFLRV9CVUlMRF9U WVBFfSkKKyBlbmRpZigpCisgCisrIyMKKysjICAgVE9PTENIQUlOIFNFVFVQCisrIyMKKysKKytp ZihMSU5VWCkKKysgICAgaWYoTk9UIENNQUtFX0NST1NTQ09NUElMSU5HKSAjIGRlbGl2ZXJlZCBi eSBob3N0QnVpbGQgcHJvamVjdAorKyAgICAgICAgY29uZmlndXJlX2duX3Rvb2xjaGFpbihob3N0 ICR7VEVTVF9hcmNoaXRlY3R1cmVfYXJjaH0gJHtURVNUX2FyY2hpdGVjdHVyZV9hcmNofQorKyAg ICAgICAgICAgICR7V0VCRU5HSU5FX1JPT1RfU09VUkNFX0RJUn0vc3JjL2NvcmUvY29uZmlndXJl L0JVSUxELnRvb2xjaGFpbi5nbi5pbgorKyAgICAgICAgICAgICR7YnVpbGREaXJ9L2hvc3RfdG9v bGNoYWluKQorKyAgICAgICAgY29uZmlndXJlX2duX3Rvb2xjaGFpbih2OCAke1RFU1RfYXJjaGl0 ZWN0dXJlX2FyY2h9ICR7VEVTVF9hcmNoaXRlY3R1cmVfYXJjaH0KKysgICAgICAgICAgICAke1dF QkVOR0lORV9ST09UX1NPVVJDRV9ESVJ9L3NyYy9jb3JlL2NvbmZpZ3VyZS9CVUlMRC50b29sY2hh aW4uZ24uaW4KKysgICAgICAgICAgICAke2J1aWxkRGlyfS92OF90b29sY2hhaW4pCisrICAgIGVu ZGlmKCkKKysgICAgY29uZmlndXJlX2duX3Rvb2xjaGFpbih0YXJnZXQgJHtURVNUX2FyY2hpdGVj dHVyZV9hcmNofSAke1RFU1RfYXJjaGl0ZWN0dXJlX2FyY2h9CisrICAgICAgICAke1dFQkVOR0lO RV9ST09UX1NPVVJDRV9ESVJ9L3NyYy9jb3JlL2NvbmZpZ3VyZS9CVUlMRC50b29sY2hhaW4uZ24u aW4KKysgICAgICAgICR7YnVpbGREaXJ9L3RhcmdldF90b29sY2hhaW4pCisrZW5kaWYoKQorKwor IGZvcmVhY2goY29uZmlnICR7Y29uZmlnc30pCisgCisgIyMKK0BAIC0yNTAsMTIgKzI3Myw2IEBA IGZvcmVhY2goY29uZmlnICR7Y29uZmlnc30pCisgICAgIGNvbmZpZ3VyZV9nbl90YXJnZXQoJHti dWlsZEdufSAke2NvbmZpZ30KKyAgICAgICAgICR7V0VCRU5HSU5FX1JPT1RfU09VUkNFX0RJUn0v c3JjL2NvcmUvY29uZmlndXJlL0JVSUxELnJvb3QuZ24uaW4gJHtidWlsZERpcn0vJHtjb25maWd9 L0JVSUxELmduKQorIAorLSMjCistIyAgIFRPT0xDSEFJTiBTRVRVUAorLSMjCistCistICAgIGNv bmZpZ3VyZV9maWxlKCR7V0VCRU5HSU5FX1JPT1RfU09VUkNFX0RJUn0vc3JjL2NvcmUvY29uZmln dXJlL0JVSUxELnRvb2xjaGFpbi5nbi5pbgorLSAgICAgICAgJHtidWlsZERpcn0vJHtjb25maWd9 L3Rvb2xjaGFpbi9CVUlMRC5nbiBAT05MWSkKKyAKKyAjIworICMgICBHTiBDQUxMIFBBUkFNRVRF UlMgU0VUVVAKK0BAIC00MTksNiArNDM2LDE1IEBAIGZvcmVhY2goY29uZmlnICR7Y29uZmlnc30p CisgICAgICAgICApCisgICAgIGVuZGlmKCkKKyAgICAgaWYoTElOVVgpCisrICAgICAgICBnZXRf Z25fYXJjaChjcHUgJHtURVNUX2FyY2hpdGVjdHVyZV9hcmNofSkKKysgICAgICAgIGlmKENNQUtF X0NST1NTQ09NUElMSU5HKQorKyAgICAgICAgICAgIGxpc3QoQVBQRU5EIGduQXJnQXJnIHRhcmdl dF9jcHU9IiR7Y3B1fSIpCisrICAgICAgICBlbHNlKCkKKysgICAgICAgICAgICBsaXN0KEFQUEVO RCBnbkFyZ0FyZyBob3N0X2NwdT0iJHtjcHV9IikKKysgICAgICAgIGVuZGlmKCkKKysgICAgICAg IGlmKENNQUtFX1NZU1JPT1QpCisrICAgICAgICAgICAgbGlzdChBUFBFTkQgZ25BcmdBcmcgdGFy Z2V0X3N5c3Jvb3Q9IiR7Q01BS0VfU1lTUk9PVH0iKQorKyAgICAgICAgZW5kaWYoKQorICAgICAg ICAgbGlzdChBUFBFTkQgZ25BcmdBcmcKKyAgICAgICAgICAgICB1c2VfY3Vwcz1mYWxzZQorICAg ICAgICAgICAgIHVzZV9naW89ZmFsc2UKK0BAIC00MzUsMTEgKzQ2MSwxMSBAQCBmb3JlYWNoKGNv bmZpZyAke2NvbmZpZ3N9KQorICAgICAgICAgICAgIG96b25lX3BsYXRmb3JtX2V4dGVybmFsPXRy dWUKKyAgICAgICAgICAgICBvem9uZV9wbGF0Zm9ybT0icXQiCisgICAgICAgICAgICAgb3pvbmVf ZXh0cmFfcGF0aD0iJHtDTUFLRV9DVVJSRU5UX0xJU1RfRElSfS9vem9uZS9vem9uZV9leHRyYS5n bmkiCistICAgICAgICAgICAgY3VzdG9tX3Rvb2xjaGFpbj0iJHtidWlsZERpcn0vJHtjb25maWd9 L3Rvb2xjaGFpbjp0YXJnZXQiCistICAgICAgICAgICAgaG9zdF90b29sY2hhaW49IiR7YnVpbGRE aXJ9LyR7Y29uZmlnfS90b29sY2hhaW46aG9zdCIKKy0gICAgICAgICAgICBob3N0X2NwdT0ieDY0 IgorLSAgICAgICAgICAgIHBrZ19jb25maWc9InBrZy1jb25maWciCistICAgICAgICAgICAgaG9z dF9wa2dfY29uZmlnPSIvdXNyL2Jpbi9wa2ctY29uZmlnIgorKyAgICAgICAgICAgIGN1c3RvbV90 b29sY2hhaW49IiR7YnVpbGREaXJ9L3RhcmdldF90b29sY2hhaW46dGFyZ2V0IgorKyAgICAgICAg ICAgIGhvc3RfdG9vbGNoYWluPSIke2J1aWxkRGlyfS9ob3N0X3Rvb2xjaGFpbjpob3N0IgorKyAg ICAgICAgICAgIHY4X3NuYXBzaG90X3Rvb2xjaGFpbj0iJHtidWlsZERpcn0vdjhfdG9vbGNoYWlu OnY4IgorKyAgICAgICAgICAgIHBrZ19jb25maWc9IiR7UEtHX0NPTkZJR19FWEVDVVRBQkxFfSIK KysgICAgICAgICAgICBob3N0X3BrZ19jb25maWc9IiR7UEtHX0NPTkZJR19IT1NUX0VYRUNVVEFC TEV9IgorICAgICAgICAgICAgIHVzZV9nbGliPWZhbHNlCisgICAgICAgICApCisgICAgICAgICBz ZXQoc3lzdGVtTGlicyBsaWJqcGVnIGxpYnBuZyBmcmVldHlwZSBoYXJmYnV6eiBsaWJldmVudCBs aWJ3ZWJwIGxpYnhtbAorZGlmZiAtLWdpdCBhL3NyYy9jb3JlL2FwaS9jb25maWd1cmUuY21ha2Ug Yi9zcmMvY29yZS9hcGkvY29uZmlndXJlLmNtYWtlCitpbmRleCAzNWQyOGU4Ny4uMGNmNDZiZjAg MTAwNjQ0CistLS0gYS9zcmMvY29yZS9hcGkvY29uZmlndXJlLmNtYWtlCisrKysgYi9zcmMvY29y ZS9hcGkvY29uZmlndXJlLmNtYWtlCitAQCAtMTQzLDExICsxNDMsMTEgQEAgcXRfY29uZmlndXJl X2FkZF9zdW1tYXJ5X2VudHJ5KAorICAgICBDT05ESVRJT04gVU5JWAorICkKKyBxdF9jb25maWd1 cmVfZW5kX3N1bW1hcnlfc2VjdGlvbigpICMgZW5kIG9mICJRdCBXZWJFbmdpbmVDb3JlIiBzZWN0 aW9uCistcXRfY29uZmlndXJlX2FkZF9yZXBvcnRfZW50cnkoCistICAgIFRZUEUgV0FSTklORwor LSAgICBNRVNTQUdFICJUaHVtYiBpbnN0cnVjdGlvbiBzZXQgaXMgcmVxdWlyZWQgdG8gYnVpbGQg ZmZtcGVnIGZvciBRdFdlYkVuZ2luZS4iCistICAgIENPTkRJVElPTiBMSU5VWCBBTkQgUVRfRkVB VFVSRV93ZWJlbmdpbmVfZW1iZWRkZWRfYnVpbGQgQU5EIE5PVCBRVF9GRUFUVVJFX3dlYmVuZ2lu ZV9zeXN0ZW1fZmZtcGVnIEFORCAoIFRFU1RfYXJjaGl0ZWN0dXJlX2FyY2ggU1RSRVFVQUwgYXJt ICkgQU5EIE5PVCBRVF9GRUFUVVJFX3dlYmVuZ2luZV9hcm1fdGh1bWIKKy0pCisrI3F0X2NvbmZp Z3VyZV9hZGRfcmVwb3J0X2VudHJ5KAorKyMgICAgVFlQRSBXQVJOSU5HCisrIyAgICBNRVNTQUdF ICJUaHVtYiBpbnN0cnVjdGlvbiBzZXQgaXMgcmVxdWlyZWQgdG8gYnVpbGQgZmZtcGVnIGZvciBR dFdlYkVuZ2luZS4iCisrIyAgICBDT05ESVRJT04gTElOVVggQU5EIFFUX0ZFQVRVUkVfd2ViZW5n aW5lX2VtYmVkZGVkX2J1aWxkIEFORCBOT1QgUVRfRkVBVFVSRV93ZWJlbmdpbmVfc3lzdGVtX2Zm bXBlZyBBTkQgKCBURVNUX2FyY2hpdGVjdHVyZV9hcmNoIFNUUkVRVUFMIGFybSApIEFORCBOT1Qg UVRfRkVBVFVSRV93ZWJlbmdpbmVfYXJtX3RodW1iCisrIykKKyBxdF9jb25maWd1cmVfYWRkX3Jl cG9ydF9lbnRyeSgKKyAgICAgVFlQRSBXQVJOSU5HCisgICAgIE1FU1NBR0UgIlY4IHNuYXBzaG90 IGNhbm5vdCBiZSBidWlsdC4gTW9zdCBsaWtlbHksIHRoZSAzMi1iaXQgaG9zdCBjb21waWxlciBk b2VzIG5vdCB3b3JrLiBQbGVhc2UgbWFrZSBzdXJlIHlvdSBoYXZlIDMyLWJpdCBkZXZlbCBlbnZp cm9ubWVudCBpbnN0YWxsZWQuIgorZGlmZiAtLWdpdCBhL3NyYy9jb3JlL2NvbmZpZ3VyZS9CVUlM RC50b29sY2hhaW4uZ24uaW4gYi9zcmMvY29yZS9jb25maWd1cmUvQlVJTEQudG9vbGNoYWluLmdu LmluCitpbmRleCBlNDRmYTQyZC4uYzFiZjM4NDUgMTAwNjQ0CistLS0gYS9zcmMvY29yZS9jb25m aWd1cmUvQlVJTEQudG9vbGNoYWluLmduLmluCisrKysgYi9zcmMvY29yZS9jb25maWd1cmUvQlVJ TEQudG9vbGNoYWluLmduLmluCitAQCAtMSw2ICsxLDYgQEAKKyBpbXBvcnQoIi8vYnVpbGQvY29u ZmlnL3N5c3Jvb3QuZ25pIikKKyBpbXBvcnQoIi8vYnVpbGQvdG9vbGNoYWluL2djY190b29sY2hh aW4uZ25pIikKKy1nY2NfdG9vbGNoYWluKCJob3N0IikgeworK2djY190b29sY2hhaW4oIkBHTl9U T09MQ0hBSU5AIikgeworICAgY2MgPSAiQENNQUtFX0NfQ09NUElMRVJAIgorICAgY3h4ID0gIkBD TUFLRV9DWFhfQ09NUElMRVJAIgorICAgbGQgPSAiQENNQUtFX0NYWF9DT01QSUxFUkAiCitAQCAt OSwzNCArOSw4IEBAIGdjY190b29sY2hhaW4oImhvc3QiKSB7CisgICBleHRyYV9jcHBmbGFncyA9 ICIiCisgICB0b29sY2hhaW5fYXJncyA9IHsKKyAgICAgY3VycmVudF9vcyA9ICJsaW51eCIKKy0g ICAgY3VycmVudF9jcHUgPSAieDY0IgorLSAgICBpc19jbGFuZyA9IGZhbHNlCistICAgIHVzZV9n b2xkID0gZmFsc2UKKy0gIH0KKy19CistZ2NjX3Rvb2xjaGFpbigidjhfc25hcHNob3QiKSB7Cist ICBjYyA9ICJAQ01BS0VfQ19DT01QSUxFUkAiCistICBjeHggPSAiQENNQUtFX0NYWF9DT01QSUxF UkAiCistICBsZCA9ICJAQ01BS0VfQ1hYX0NPTVBJTEVSQCIKKy0gIGFyID0gIkBDTUFLRV9BUkAi CistICBubSA9ICJAQ01BS0VfTk1AIgorLSAgdG9vbGNoYWluX2FyZ3MgPSB7CistICAgIGN1cnJl bnRfb3MgPSAibGludXgiCistICAgIGN1cnJlbnRfY3B1ID0gIng2NCIKKy0gICAgdjhfY3VycmVu dF9jcHUgPSAieDY0IgorLSAgICBpc19jbGFuZyA9IGZhbHNlCistICAgIHVzZV9nb2xkID0gZmFs c2UKKy0gIH0KKy0gfQorLWdjY190b29sY2hhaW4oInRhcmdldCIpIHsKKy0gIGNjID0gIkBDTUFL RV9DX0NPTVBJTEVSQCIKKy0gIGN4eCA9ICJAQ01BS0VfQ1hYX0NPTVBJTEVSQCIKKy0gIGxkID0g IkBDTUFLRV9DWFhfQ09NUElMRVJAIgorLSAgYXIgPSAiQENNQUtFX0FSQCIKKy0gIG5tID0gIkBD TUFLRV9OTUAiCistICB0b29sY2hhaW5fYXJncyA9IHsKKy0gICAgY3VycmVudF9vcyA9ICJsaW51 eCIKKy0gICAgY3VycmVudF9jcHUgPSAieDY0IgorKyAgICBjdXJyZW50X2NwdSA9ICJAR05fQ1BV QCIKKysgICAgdjhfY3VycmVudF9jcHUgPSAiQEdOX1Y4X0NQVUAiCisgICAgIGlzX2NsYW5nID0g ZmFsc2UKKyAgICAgdXNlX2dvbGQgPSBmYWxzZQorICAgfQorZGlmZiAtLWdpdCBhL3NyYy9jb3Jl L2NvbmZpZ3VyZS9DTWFrZUxpc3RzLnR4dCBiL3NyYy9jb3JlL2NvbmZpZ3VyZS9DTWFrZUxpc3Rz LnR4dAorbmV3IGZpbGUgbW9kZSAxMDA2NDQKK2luZGV4IDAwMDAwMDAwLi4wYWU0YjRiNAorLS0t IC9kZXYvbnVsbAorKysrIGIvc3JjL2NvcmUvY29uZmlndXJlL0NNYWtlTGlzdHMudHh0CitAQCAt MCwwICsxLDM1IEBACisrY21ha2VfbWluaW11bV9yZXF1aXJlZChWRVJTSU9OIDMuMTkpCisrCisr aWYoTk9UIERFRklORUQgV0VCRU5HSU5FX1JPT1RfU09VUkNFX0RJUikKKysgICAgZ2V0X2ZpbGVu YW1lX2NvbXBvbmVudChXRUJFTkdJTkVfUk9PVF9TT1VSQ0VfRElSICIke0NNQUtFX0NVUlJFTlRf TElTVF9ESVJ9Ly4uLy4uLy4uIiBSRUFMUEFUSCkKKytlbmRpZigpCisraWYgKE5PVCBERUZJTkVE IFdFQkVOR0lORV9ST09UX0JVSUxEX0RJUikKKysgICAgZ2V0X2ZpbGVuYW1lX2NvbXBvbmVudChX RUJFTkdJTkVfUk9PVF9CVUlMRF9ESVIgIiR7Q01BS0VfQ1VSUkVOVF9CSU5BUllfRElSfS8uLi8u Li8uLiIgUkVBTFBBVEgpCisrZW5kaWYoKQorKworK2luY2x1ZGUoJHtXRUJFTkdJTkVfUk9PVF9T T1VSQ0VfRElSfS8uY21ha2UuY29uZikKKytpbmNsdWRlKCR7V0VCRU5HSU5FX1JPT1RfU09VUkNF X0RJUn0vY21ha2UvRnVuY3Rpb25zLmNtYWtlKQorKworK3NldChDTUFLRV9NT0RVTEVfUEFUSCAk e0NNQUtFX01PRFVMRV9QQVRIfSAiJHtXRUJFTkdJTkVfUk9PVF9TT1VSQ0VfRElSfS9jbWFrZSIp CisrCisrcHJvamVjdChRdFdlYkVuZ2luZUNvbmZpZ3VyZQorKyAgICBWRVJTSU9OICIke1FUX1JF UE9fTU9EVUxFX1ZFUlNJT059IgorKyAgICBMQU5HVUFHRVMgQ1hYIEMpCisrCisrZmluZF9wYWNr YWdlKFF0NiAke1BST0pFQ1RfVkVSU0lPTn0gQ09ORklHIFJFUVVJUkVEIENPTVBPTkVOVFMgQnVp bGRJbnRlcm5hbHMgQ29yZSkKKysKKytzZXQoYnVpbGREaXIgJHtDTUFLRV9DVVJSRU5UX0JJTkFS WV9ESVJ9KQorK2NvbmZpZ3VyZV9nbl90b29sY2hhaW4oaG9zdCAke1RFU1RfYXJjaGl0ZWN0dXJl X2FyY2h9ICR7VEVTVF9hcmNoaXRlY3R1cmVfYXJjaH0KKysgICAgJHtXRUJFTkdJTkVfUk9PVF9T T1VSQ0VfRElSfS9zcmMvY29yZS9jb25maWd1cmUvQlVJTEQudG9vbGNoYWluLmduLmluCisrICAg ICR7YnVpbGREaXJ9L2hvc3RfdG9vbGNoYWluCisrKQorK2luc3RhbGwoRklMRVMgJHtidWlsZERp cn0vaG9zdF90b29sY2hhaW4vQlVJTEQuZ24KKysgICAgREVTVElOQVRJT04gJHtXRUJFTkdJTkVf Uk9PVF9CVUlMRF9ESVJ9L3NyYy9jb3JlL2hvc3RfdG9vbGNoYWluCisrICAgICkKKytnZXRfdjhf YXJjaChHTl9WOF9IT1NUX0NQVSAke0dOX1RBUkdFVF9DUFV9KQorK2NvbmZpZ3VyZV9nbl90b29s Y2hhaW4odjggJHtHTl9WOF9IT1NUX0NQVX0gJHtHTl9UQVJHRVRfQ1BVfQorKyAgICAke1dFQkVO R0lORV9ST09UX1NPVVJDRV9ESVJ9L3NyYy9jb3JlL2NvbmZpZ3VyZS9CVUlMRC50b29sY2hhaW4u Z24uaW4KKysgICAgJHtidWlsZERpcn0vdjhfdG9vbGNoYWluKQorK2luc3RhbGwoRklMRVMgJHti dWlsZERpcn0vdjhfdG9vbGNoYWluL0JVSUxELmduCisrICAgIERFU1RJTkFUSU9OICR7V0VCRU5H SU5FX1JPT1RfQlVJTERfRElSfS9zcmMvY29yZS92OF90b29sY2hhaW4KKyspCistLSAKKzIuMzIu MAorCmRpZmYgLS1naXQgYS9zcmNwa2dzL3F0Ni13ZWJlbmdpbmUvcGF0Y2hlcy8wMDAxLW11cy1j c3RyaW5nLnBhdGNoIGIvc3JjcGtncy9xdDYtd2ViZW5naW5lL3BhdGNoZXMvMDAwMS1tdXMtY3N0 cmluZy5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAuLmQ0YjIy Yzc3Y2U5NgotLS0gL2Rldi9udWxsCisrKyBiL3NyY3BrZ3MvcXQ2LXdlYmVuZ2luZS9wYXRjaGVz LzAwMDEtbXVzLWNzdHJpbmcucGF0Y2gKQEAgLTAsMCArMSwxMCBAQAorLS0tIGEvc3JjLzNyZHBh cnR5L2Nocm9taXVtL21vam8vcHVibGljL2NwcC9wbGF0Zm9ybS9uYW1lZF9wbGF0Zm9ybV9jaGFu bmVsX3Bvc2l4LmNjCTIwMjEtMDMtMDggMTA6MzA6NDIuNTA0MDA2NjA0ICswMTAwCisrKysgLQky MDIxLTAzLTA4IDEwOjMxOjI3LjQxNTM2NjU4NSArMDEwMAorQEAgLTgsNiArOCw3IEBACisgI2lu Y2x1ZGUgPHN5cy9zb2NrZXQuaD4KKyAjaW5jbHVkZSA8c3lzL3VuLmg+CisgI2luY2x1ZGUgPHVu aXN0ZC5oPgorKyNpbmNsdWRlIDxjc3RyaW5nPgorIAorICNpbmNsdWRlICJiYXNlL2ZpbGVzL2Zp bGVfdXRpbC5oIgorICNpbmNsdWRlICJiYXNlL2ZpbGVzL3Njb3BlZF9maWxlLmgiCmRpZmYgLS1n aXQgYS9zcmNwa2dzL3F0Ni13ZWJlbmdpbmUvcGF0Y2hlcy8wMDAyLURvLW5vdC11c2UtdGFyZ2V0 LUMtWFgtRkxBR1MtZm9yLWhvc3QtY21ha2UucGF0Y2ggYi9zcmNwa2dzL3F0Ni13ZWJlbmdpbmUv cGF0Y2hlcy8wMDAyLURvLW5vdC11c2UtdGFyZ2V0LUMtWFgtRkxBR1MtZm9yLWhvc3QtY21ha2Uu cGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwLi5kZTZkNWFiYjQ0 NjEKLS0tIC9kZXYvbnVsbAorKysgYi9zcmNwa2dzL3F0Ni13ZWJlbmdpbmUvcGF0Y2hlcy8wMDAy LURvLW5vdC11c2UtdGFyZ2V0LUMtWFgtRkxBR1MtZm9yLWhvc3QtY21ha2UucGF0Y2gKQEAgLTAs MCArMSwyNiBAQAorRnJvbSA4ZWVjZTFiMGM3MmJlZjczMTkwNjk3MDMwMzE1NDNkZGQwY2E4N2Vl IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogSm9obiBaaW1tZXJtYW5uIDxtZUBqb2hu bnluYXRvci5kZXY+CitEYXRlOiBTdW4sIDI3IEp1biAyMDIxIDIwOjM1OjE1ICswMjAwCitTdWJq ZWN0OiBbUEFUQ0ggMi8yXSBEbyBub3QgdXNlIHRhcmdldCBDe1hYfUZMQUdTIGZvciBob3N0IGNt YWtlCisKK0NoYW5nZS1JZDogSWE2NmQxNTNmYTlmMWFmZjYzNDkxZjZhMWVjNzM4MGI4YmRhMWUz YzcKKy0tLQorIENNYWtlTGlzdHMudHh0IHwgMiArKworIDEgZmlsZSBjaGFuZ2VkLCAyIGluc2Vy dGlvbnMoKykKKworZGlmZiAtLWdpdCBhL0NNYWtlTGlzdHMudHh0IGIvQ01ha2VMaXN0cy50eHQK K2luZGV4IDJhOTNkY2E1Li4yYThlNmNmYiAxMDA2NDQKKy0tLSBhL0NNYWtlTGlzdHMudHh0Cisr KysgYi9DTWFrZUxpc3RzLnR4dAorQEAgLTIzOCw2ICsyMzgsOCBAQCBpZihDTUFLRV9DUk9TU0NP TVBJTElORykKKyAgICAgICAgICAgICAgICAgICAgLURXRUJFTkdJTkVfUk9PVF9CVUlMRF9ESVI9 JHtDTUFLRV9DVVJSRU5UX0JJTkFSWV9ESVJ9CisgICAgICAgICAgICAgICAgICAgIC1EV0VCRU5H SU5FX1JPT1RfU09VUkNFX0RJUj0ke1dFQkVOR0lORV9ST09UX1NPVVJDRV9ESVJ9CisgICAgICAg ICAgICAgICAgICAgIC1ER05fVEFSR0VUX0NQVT0ke1RFU1RfYXJjaGl0ZWN0dXJlX2FyY2h9Cisr ICAgICAgICAgICAgICAgICAgIC1EQ01BS0VfQ1hYX0ZMQUdTPSRFTlZ7Q1hYRkxBR1NfRk9SX0JV SUxEfQorKyAgICAgICAgICAgICAgICAgICAtRENNQUtFX0NfRkxBR1M9JEVOVntDRkxBR1NfRk9S X0JVSUxEfQorICAgICApCisgICAgIGV4dGVybmFscHJvamVjdF9hZGRfc3RlcGRlcGVuZGVuY2ll cyhsaWJzIGluc3RhbGwgaG9zdEJ1aWxkKQorIGVuZGlmKCkKKy0tIAorMi4zMi4wCisKZGlmZiAt LWdpdCBhL3NyY3BrZ3MvcXQ2LXdlYmVuZ2luZS9wYXRjaGVzLzAwMDItTm9uZS1uby1kZWJ1Zy5w YXRjaCBiL3NyY3BrZ3MvcXQ2LXdlYmVuZ2luZS9wYXRjaGVzLzAwMDItTm9uZS1uby1kZWJ1Zy5w YXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAuLjRhNDI4ZmUwM2Iz NwotLS0gL2Rldi9udWxsCisrKyBiL3NyY3BrZ3MvcXQ2LXdlYmVuZ2luZS9wYXRjaGVzLzAwMDIt Tm9uZS1uby1kZWJ1Zy5wYXRjaApAQCAtMCwwICsxLDExIEBACistLS0gYS9zcmMvY29yZS9DTWFr ZUxpc3RzLnR4dAkyMDIxLTA2LTI3IDE0OjI0OjE4LjgxMjg0MDEzNCArMDIwMAorKysrIGIvc3Jj L2NvcmUvQ01ha2VMaXN0cy50eHQJMjAyMS0wNi0yNyAxNDo1MTo0Ni44MjUxMDg2MzcgKzAyMDAK K0BAIC0yOTksNiArMjk5LDggQEAKKyAgICAgICAgIGVuZGlmKCkKKyAgICAgZWxzZWlmKCR7Y29u ZmlnfSBTVFJFUVVBTCAiTWluU2l6ZVJlbCIpCisgICAgICAgICBsaXN0KEFQUEVORCBnbkFyZ0Fy ZyBpc19kZWJ1Zz1mYWxzZSBzeW1ib2xfbGV2ZWw9MCBvcHRpbWl6ZV9mb3Jfc2l6ZT10cnVlKQor KyAgICBlbHNlaWYoJHtjb25maWd9IFNUUkVRVUFMICJOb25lIikKKysgICAgICAgIGxpc3QoQVBQ RU5EIGduQXJnQXJnIGlzX2RlYnVnPWZhbHNlIHN5bWJvbF9sZXZlbD0wKQorICAgICBlbmRpZigp CisgCisgICAgIGxpc3QoQVBQRU5EIGduQXJnQXJnCmRpZmYgLS1naXQgYS9zcmNwa2dzL3F0Ni13 ZWJlbmdpbmUvcGF0Y2hlcy8wMDAyLWluY2x1ZGUtc3lzLXJlZy5oLXRvLWdldC1fX1dPUkRTSVpF LW9uLW11c2wtbGliYy5wYXRjaCBiL3NyY3BrZ3MvcXQ2LXdlYmVuZ2luZS9wYXRjaGVzLzAwMDIt aW5jbHVkZS1zeXMtcmVnLmgtdG8tZ2V0LV9fV09SRFNJWkUtb24tbXVzbC1saWJjLnBhdGNoCm5l dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMC4uZGE0MTYwYjIxYmQzCi0tLSAv ZGV2L251bGwKKysrIGIvc3JjcGtncy9xdDYtd2ViZW5naW5lL3BhdGNoZXMvMDAwMi1pbmNsdWRl LXN5cy1yZWcuaC10by1nZXQtX19XT1JEU0laRS1vbi1tdXNsLWxpYmMucGF0Y2gKQEAgLTAsMCAr MSwyNiBAQAorRnJvbSA5MDAxYzU0ZDZiOTc0NDQ5MTc0YThjZWU4ZjNmNWQ3OGE5YmQ2YzllIE1v biBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogRmVsaXggSmFuZGEgPGZlbGl4LmphbmRhQHBv c3Rlby5kZT4KK0RhdGU6IFN1biwgMSBGZWIgMjAxNSAxNDoyNjo1MiArMDEwMAorU3ViamVjdDog W1BBVENIIDMvNl0gaW5jbHVkZSA8c3lzL3JlZy5oPiB0byBnZXQgX19XT1JEU0laRSBvbiBtdXNs IGxpYmMKKworLS0tCisgcXR3ZWJlbmdpbmUvc3JjLzNyZHBhcnR5L2Nocm9taXVtL3RoaXJkX3Bh cnR5L2JyZWFrcGFkL2JyZWFrcGFkL3NyYy9jb21tb24vbGludXgvZWxmX2NvcmVfZHVtcC5oIHwg MSArCisgMSBmaWxlIGNoYW5nZWQsIDEgaW5zZXJ0aW9uKCspCisKK2RpZmYgLS1naXQgYS9zcmMv Y29tbW9uL2xpbnV4L2VsZl9jb3JlX2R1bXAuaCBiL3NyYy9jb21tb24vbGludXgvZWxmX2NvcmVf ZHVtcC5oCitpbmRleCBkMDNjN2E4Li4wMmViMzkxIDEwMDY0NAorLS0tIHF0d2ViZW5naW5lL3Ny Yy8zcmRwYXJ0eS9jaHJvbWl1bS90aGlyZF9wYXJ0eS9icmVha3BhZC9icmVha3BhZC9zcmMvY29t bW9uL2xpbnV4L2VsZl9jb3JlX2R1bXAuaAorKysrIHF0d2ViZW5naW5lL3NyYy8zcmRwYXJ0eS9j aHJvbWl1bS90aGlyZF9wYXJ0eS9icmVha3BhZC9icmVha3BhZC9zcmMvY29tbW9uL2xpbnV4L2Vs Zl9jb3JlX2R1bXAuaAorQEAgLTM2LDYgKzM2LDkgQEAKKyAjaW5jbHVkZSA8ZWxmLmg+CisgI2lu Y2x1ZGUgPGxpbmsuaD4KKyAjaW5jbHVkZSA8c3RkZGVmLmg+CisrI2lmbmRlZiBfX0dMSUJDX18K KysjaW5jbHVkZSA8c3lzL3JlZy5oPgorKyNlbmRpZgorIAorICNpbmNsdWRlICJjb21tb24vbWVt b3J5X3JhbmdlLmgiCisgCistLSAKKzIuMC41CisKZGlmZiAtLWdpdCBhL3NyY3BrZ3MvcXQ2LXdl YmVuZ2luZS9wYXRjaGVzLzAwMDMtbXVzbC1kaXNwYXRjaC10by1tdXNsLnBhdGNoIGIvc3JjcGtn cy9xdDYtd2ViZW5naW5lL3BhdGNoZXMvMDAwMy1tdXNsLWRpc3BhdGNoLXRvLW11c2wucGF0Y2gK bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwLi5kZTMyYTNkYWI5NWMKLS0t IC9kZXYvbnVsbAorKysgYi9zcmNwa2dzL3F0Ni13ZWJlbmdpbmUvcGF0Y2hlcy8wMDAzLW11c2wt ZGlzcGF0Y2gtdG8tbXVzbC5wYXRjaApAQCAtMCwwICsxLDEwMyBAQAorLS0tIHF0d2ViZW5naW5l L3NyYy8zcmRwYXJ0eS9jaHJvbWl1bS9iYXNlL2FsbG9jYXRvci9hbGxvY2F0b3Jfc2hpbV9kZWZh dWx0X2Rpc3BhdGNoX3RvX2dsaWJjLmNjCistLS0gcXR3ZWJlbmdpbmUvc3JjLzNyZHBhcnR5L2No cm9taXVtL2Jhc2UvYWxsb2NhdG9yL2FsbG9jYXRvcl9zaGltX2RlZmF1bHRfZGlzcGF0Y2hfdG9f Z2xpYmMuY2MKK0BAIC02LDYgKzYsNyBAQAorIAorICNpbmNsdWRlIDxtYWxsb2MuaD4KKyAKKysj aWYgZGVmaW5lZChfX0dMSUJDX18pCisgLy8gVGhpcyB0cmFuc2xhdGlvbiB1bml0IGRlZmluZXMg YSBkZWZhdWx0IGRpc3BhdGNoIGZvciB0aGUgYWxsb2NhdG9yIHNoaW0gd2hpY2gKKyAvLyByb3V0 ZXMgYWxsb2NhdGlvbnMgdG8gbGliYyBmdW5jdGlvbnMuCisgLy8gVGhlIGNvZGUgaGVyZSBpcyBz dHJvbmdseSBpbnNwaXJlZCBmcm9tIHRjbWFsbG9jJ3MgbGliY19vdmVycmlkZV9nbGliYy5oLgor QEAgLTczLDMgKzc0LDkyIEBAIGNvbnN0IEFsbG9jYXRvckRpc3BhdGNoIEFsbG9jYXRvckRpc3Bh dGNoOjpkZWZhdWx0X2Rpc3BhdGNoID0geworICAgICBudWxscHRyLCAgICAgICAgICAgICAgIC8q IGZyZWVfZGVmaW5pdGVfc2l6ZV9mdW5jdGlvbiAqLworICAgICBudWxscHRyLCAgICAgICAgICAg ICAgIC8qIG5leHQgKi8KKyB9OworKworKyNlbHNlIC8vIGRlZmluZWQoX19HTElCQ19fKQorKwor KyNpbmNsdWRlIDxkbGZjbi5oPgorKworK2V4dGVybiAiQyIgeworKy8vIERlY2xhcmUgZnVuY3Rp b24gcG9pbnRlcnMgdG8gdGhlIG1lbW9yeSBmdW5jdGlvbnMKKyt0eXBlZGVmIHZvaWQqICgqdF9s aWJjX21hbGxvYykoc2l6ZV90IHNpemUpOworK3R5cGVkZWYgdm9pZCogKCp0X2xpYmNfY2FsbG9j KShzaXplX3Qgbiwgc2l6ZV90IHNpemUpOworK3R5cGVkZWYgdm9pZCogKCp0X2xpYmNfcmVhbGxv Yykodm9pZCogYWRkcmVzcywgc2l6ZV90IHNpemUpOworK3R5cGVkZWYgdm9pZCogKCp0X2xpYmNf bWVtYWxpZ24pKHNpemVfdCBhbGlnbm1lbnQsIHNpemVfdCBzaXplKTsKKyt0eXBlZGVmIHZvaWQg KCp0X2xpYmNfZnJlZSkodm9pZCogcHRyKTsKKyt0eXBlZGVmIHNpemVfdCAoKnRfbGliY19tYWxs b2NfdXNhYmxlX3NpemUpKHZvaWQqIHB0cik7CisrCisrLy8gU3RhdGljIGluc3RhbmNlcyBvZiBw b2ludGVycyB0byBsaWJjLnNvIGRsIHN5bWJvbHMKKytzdGF0aWMgdF9saWJjX21hbGxvYyBsaWJj X21hbGxvYyA9IE5VTEw7Cisrc3RhdGljIHRfbGliY19jYWxsb2MgbGliY19jYWxsb2MgPSBOVUxM OworK3N0YXRpYyB0X2xpYmNfcmVhbGxvYyBsaWJjX3JlYWxsb2MgPSBOVUxMOworK3N0YXRpYyB0 X2xpYmNfbWVtYWxpZ24gbGliY19tZW1hbGlnbiA9IE5VTEw7Cisrc3RhdGljIHRfbGliY19mcmVl IGxpYmNfZnJlZSA9IE5VTEw7Cisrc3RhdGljIHRfbGliY19tYWxsb2NfdXNhYmxlX3NpemUgbGli Y19tYWxsb2NfdXNhYmxlX3NpemUgPSBOVUxMOworKworKy8vIHJlc29sdmUgdGhlIHN5bWJvbHMg aW4gbGliYy5zbworK3ZvaWQgbXVzbF9saWJjX21lbW9yeV9pbml0KHZvaWQpCisreworKyAgbGli Y19tYWxsb2MgPSAodF9saWJjX21hbGxvYykgZGxzeW0oUlRMRF9ORVhULCAibWFsbG9jIik7Cisr ICBsaWJjX2NhbGxvYyA9ICh0X2xpYmNfY2FsbG9jKSBkbHN5bShSVExEX05FWFQsICJjYWxsb2Mi KTsKKysgIGxpYmNfcmVhbGxvYyA9ICh0X2xpYmNfcmVhbGxvYykgZGxzeW0oUlRMRF9ORVhULCAi cmVhbGxvYyIpOworKyAgbGliY19tZW1hbGlnbiA9ICh0X2xpYmNfbWVtYWxpZ24pIGRsc3ltKFJU TERfTkVYVCwgIm1lbWFsaWduIik7CisrICBsaWJjX2ZyZWUgPSAodF9saWJjX2ZyZWUpIGRsc3lt KFJUTERfTkVYVCwgImZyZWUiKTsKKysgIGxpYmNfbWFsbG9jX3VzYWJsZV9zaXplID0gKHRfbGli Y19tYWxsb2NfdXNhYmxlX3NpemUpIGRsc3ltKFJUTERfTkVYVCwgIm1hbGxvY191c2FibGVfc2l6 ZSIpOworK30KKyt9ICAvLyBleHRlcm4gIkMiCisrCisrbmFtZXNwYWNlIHsKKysKKyt1c2luZyBi YXNlOjphbGxvY2F0b3I6OkFsbG9jYXRvckRpc3BhdGNoOworKworK3ZvaWQqIE11c2xNYWxsb2Mo Y29uc3QgQWxsb2NhdG9yRGlzcGF0Y2gqLCBzaXplX3Qgc2l6ZSwgdm9pZCogY29udGV4dCkgewor KyAgaWYgKCFsaWJjX21hbGxvYykKKysgICAgbXVzbF9saWJjX21lbW9yeV9pbml0KCk7CisrICBy ZXR1cm4gKCpsaWJjX21hbGxvYykoc2l6ZSk7CisrfQorKworK3ZvaWQqIE11c2xDYWxsb2MoY29u c3QgQWxsb2NhdG9yRGlzcGF0Y2gqLCBzaXplX3Qgbiwgc2l6ZV90IHNpemUsIHZvaWQqIGNvbnRl eHQpIHsKKysgIGlmICghbGliY19jYWxsb2MpCisrICAgIG11c2xfbGliY19tZW1vcnlfaW5pdCgp OworKyAgcmV0dXJuICgqbGliY19jYWxsb2MpKG4sIHNpemUpOworK30KKysKKyt2b2lkKiBNdXNs UmVhbGxvYyhjb25zdCBBbGxvY2F0b3JEaXNwYXRjaCosIHZvaWQqIGFkZHJlc3MsIHNpemVfdCBz aXplLCB2b2lkKiBjb250ZXh0KSB7CisrICBpZiAoIWxpYmNfcmVhbGxvYykKKysgICAgbXVzbF9s aWJjX21lbW9yeV9pbml0KCk7CisrICByZXR1cm4gKCpsaWJjX3JlYWxsb2MpKGFkZHJlc3MsIHNp emUpOworK30KKysKKyt2b2lkKiBNdXNsTWVtYWxpZ24oY29uc3QgQWxsb2NhdG9yRGlzcGF0Y2gq LCBzaXplX3QgYWxpZ25tZW50LCBzaXplX3Qgc2l6ZSwgdm9pZCogY29udGV4dCkgeworKyAgaWYg KCFsaWJjX21lbWFsaWduKQorKyAgICBtdXNsX2xpYmNfbWVtb3J5X2luaXQoKTsKKysgIHJldHVy biAoKmxpYmNfbWVtYWxpZ24pKGFsaWdubWVudCwgc2l6ZSk7CisrfQorKworK3ZvaWQgTXVzbEZy ZWUoY29uc3QgQWxsb2NhdG9yRGlzcGF0Y2gqLCB2b2lkKiBhZGRyZXNzLCB2b2lkKiBjb250ZXh0 KSB7CisrICBpZiAoIWxpYmNfZnJlZSkKKysgICAgbXVzbF9saWJjX21lbW9yeV9pbml0KCk7Cisr ICAoKmxpYmNfZnJlZSkoYWRkcmVzcyk7CisrfQorKworK3NpemVfdCBNdXNsR2V0U2l6ZUVzdGlt YXRlKGNvbnN0IEFsbG9jYXRvckRpc3BhdGNoKiwgdm9pZCogYWRkcmVzcywgdm9pZCogY29udGV4 dCkgeworKyAgLy8gVE9ETyhzaWdnaSwgcHJpbWlhbm8pOiBtYWxsb2NfdXNhYmxlX3NpemUgbWF5 IG5lZWQgcmVkaXJlY3Rpb24gaW4gdGhlCisrICAvLyAgICAgcHJlc2VuY2Ugb2YgaW50ZXJwb3Np bmcgc2hpbXMgdGhhdCBkaXZlcnQgYWxsb2NhdGlvbnMuCisrICBpZiAoIWxpYmNfbWFsbG9jX3Vz YWJsZV9zaXplKQorKyAgICBtdXNsX2xpYmNfbWVtb3J5X2luaXQoKTsKKysgIHJldHVybiAoKmxp YmNfbWFsbG9jX3VzYWJsZV9zaXplKShhZGRyZXNzKTsKKyt9CisrCisrfSAgLy8gbmFtZXNwYWNl CisrCisrY29uc3QgQWxsb2NhdG9yRGlzcGF0Y2ggQWxsb2NhdG9yRGlzcGF0Y2g6OmRlZmF1bHRf ZGlzcGF0Y2ggPSB7CisrICAgICZNdXNsTWFsbG9jLCAgICAgICAgICAgLyogYWxsb2NfZnVuY3Rp b24gKi8KKysgICAgJk11c2xDYWxsb2MsICAgICAgICAgICAvKiBhbGxvY196ZXJvX2luaXRpYWxp emVkX2Z1bmN0aW9uICovCisrICAgICZNdXNsTWVtYWxpZ24sICAgICAgICAgLyogYWxsb2NfYWxp Z25lZF9mdW5jdGlvbiAqLworKyAgICAmTXVzbFJlYWxsb2MsICAgICAgICAgIC8qIHJlYWxsb2Nf ZnVuY3Rpb24gKi8KKysgICAgJk11c2xGcmVlLCAgICAgICAgICAgICAvKiBmcmVlX2Z1bmN0aW9u ICovCisrICAgICZNdXNsR2V0U2l6ZUVzdGltYXRlLCAgLyogZ2V0X3NpemVfZXN0aW1hdGVfZnVu Y3Rpb24gKi8KKysgICAgbnVsbHB0ciwgICAgICAgICAgICAgICAvKiBuZXh0ICovCisrfTsKKysK KysjZW5kaWYKZGlmZiAtLWdpdCBhL3NyY3BrZ3MvcXQ2LXdlYmVuZ2luZS9wYXRjaGVzLzAwMDQt bXVzbC1uby1tYWxsaW5mby5wYXRjaCBiL3NyY3BrZ3MvcXQ2LXdlYmVuZ2luZS9wYXRjaGVzLzAw MDQtbXVzbC1uby1tYWxsaW5mby5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw MDAwMDAwMDAuLjM2OTAwZjkwNzgzMwotLS0gL2Rldi9udWxsCisrKyBiL3NyY3BrZ3MvcXQ2LXdl YmVuZ2luZS9wYXRjaGVzLzAwMDQtbXVzbC1uby1tYWxsaW5mby5wYXRjaApAQCAtMCwwICsxLDM5 IEBACistLS0gcXR3ZWJlbmdpbmUvc3JjLzNyZHBhcnR5L2Nocm9taXVtL2Jhc2UvdHJhY2VfZXZl bnQvbWFsbG9jX2R1bXBfcHJvdmlkZXIuY2MJMjAxNy0xMS0yOCAxNDowNjo1My4wMDAwMDAwMDAg KzAxMDAKKysrKyBxdHdlYmVuZ2luZS9zcmMvM3JkcGFydHkvY2hyb21pdW0vYmFzZS90cmFjZV9l dmVudC9tYWxsb2NfZHVtcF9wcm92aWRlci5jYwkyMDE4LTAxLTI3IDIwOjEzOjI2Ljk2MDkzMjgw NSArMDEwMAorQEAgLTI0Myw3ICsyNDMsNyBAQAorICAgYWxsb2NhdGVkX29iamVjdHNfY291bnQg PSBtYWluX2hlYXBfaW5mby5ibG9ja19jb3VudDsKKyAjZWxpZiBkZWZpbmVkKE9TX0ZVQ0hTSUEp CisgLy8gVE9ETyhmdWNoc2lhKTogUG9ydCwgc2VlIGh0dHBzOi8vY3JidWcuY29tLzcwNjU5Mi4K Ky0jZWxzZQorKyNlbGlmIGRlZmluZWQoX19HTElCQ19fKQorICAgc3RydWN0IG1hbGxpbmZvIGlu Zm8gPSBtYWxsaW5mbygpOworICAgRENIRUNLX0dFKGluZm8uYXJlbmEgKyBpbmZvLmhibGtoZCwg aW5mby51b3JkYmxrcyk7CisgCitAQCAtMjU1LDYgKzI1NSw4IEBACisgCisgICAvLyBUb3RhbCBh bGxvY2F0ZWQgc3BhY2UgaXMgZ2l2ZW4gYnkgfHVvcmRibGtzfC4KKyAgIGFsbG9jYXRlZF9vYmpl Y3RzX3NpemUgPSBpbmZvLnVvcmRibGtzOworKyNlbHNlCisrLy8gbXVzbCBsaWJjIGRvZXMgbm90 IHN1cHBvcnQgbWFsbGluZm8oKQorICNlbmRpZgorIAorICAgTWVtb3J5QWxsb2NhdG9yRHVtcCog b3V0ZXJfZHVtcCA9IHBtZC0+Q3JlYXRlQWxsb2NhdG9yRHVtcCgibWFsbG9jIik7CistLS0gcXR3 ZWJlbmdpbmUvc3JjLzNyZHBhcnR5L2Nocm9taXVtL2Jhc2UvcHJvY2Vzcy9wcm9jZXNzX21ldHJp Y3NfcG9zaXguY2MJMjAyMS0wMi0yMyAxNjozNjo1OS4wMDAwMDAwMDAgKzAxMDAKKysrKyAtCTIw MjEtMDMtMDcgMjE6MDM6MzguNTc5NDI0NzIwICswMTAwCitAQCAtMTE5LDE0ICsxMTksMTQgQEAK KyAgIG1hbGxvY19zdGF0aXN0aWNzX3Qgc3RhdHMgPSB7MH07CisgICBtYWxsb2Nfem9uZV9zdGF0 aXN0aWNzKG51bGxwdHIsICZzdGF0cyk7CisgICByZXR1cm4gc3RhdHMuc2l6ZV9pbl91c2U7Cist I2VsaWYgZGVmaW5lZChPU19MSU5VWCkgfHwgZGVmaW5lZChPU19DSFJPTUVPUykgfHwgZGVmaW5l ZChPU19BTkRST0lEKQorKyNlbGlmIChkZWZpbmVkKE9TX0xJTlVYKSAmJiBkZWZpbmVkKF9fR0xJ QkNfXykpIHx8IGRlZmluZWQoT1NfQ0hST01FT1MpIHx8IGRlZmluZWQoT1NfQU5EUk9JRCkKKyAg IHN0cnVjdCBtYWxsaW5mbyBtaW5mbyA9IG1hbGxpbmZvKCk7CisgI2lmIEJVSUxERkxBRyhVU0Vf VENNQUxMT0MpCisgICByZXR1cm4gbWluZm8udW9yZGJsa3M7CisgI2Vsc2UKKyAgIHJldHVybiBt aW5mby5oYmxraGQgKyBtaW5mby5hcmVuYTsKKyAjZW5kaWYKKy0jZWxpZiBkZWZpbmVkKE9TX0ZV Q0hTSUEpCisrI2Vsc2UgLy9pZiBkZWZpbmVkKE9TX0ZVQ0hTSUEpIC8vIGFsc28gbXVzbCBkb2Vz bid0IGRvIHRoaXMuCisgICAvLyBUT0RPKGZ1Y2hzaWEpOiBOb3QgY3VycmVudGx5IGV4cG9zZWQu IGh0dHBzOi8vY3JidWcuY29tLzczNTA4Ny4KKyAgIHJldHVybiAwOworICNlbmRpZgpkaWZmIC0t Z2l0IGEvc3JjcGtncy9xdDYtd2ViZW5naW5lL3BhdGNoZXMvMDAwNS1tdXNsLW9mZl90LnBhdGNo IGIvc3JjcGtncy9xdDYtd2ViZW5naW5lL3BhdGNoZXMvMDAwNS1tdXNsLW9mZl90LnBhdGNoCm5l dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMC4uNTJkYjNiOWViZjQ2Ci0tLSAv ZGV2L251bGwKKysrIGIvc3JjcGtncy9xdDYtd2ViZW5naW5lL3BhdGNoZXMvMDAwNS1tdXNsLW9m Zl90LnBhdGNoCkBAIC0wLDAgKzEsMTAgQEAKKy0tLSBxdHdlYmVuZ2luZS9zcmMvM3JkcGFydHkv Y2hyb21pdW0vdGhpcmRfcGFydHkvb3RzL2luY2x1ZGUvb3BlbnR5cGUtc2FuaXRpc2VyLmgJMjAx Ni0wNS0yNiAxNDo1ODo1NC4wMDAwMDAwMDAgKzAyMDAKKysrKyBxdHdlYmVuZ2luZS9zcmMvM3Jk cGFydHkvY2hyb21pdW0vdGhpcmRfcGFydHkvb3RzL2luY2x1ZGUvb3BlbnR5cGUtc2FuaXRpc2Vy LmgJMjAxNi0xMC0wMSAxNDozMTozMC44ODUwMDAwMDAgKzAyMDAKK0BAIC0yMSw2ICsyMSw3IEBA CisgI2RlZmluZSBodG9ucyh4KSBfYnl0ZXN3YXBfdXNob3J0ICh4KQorICNlbHNlCisgI2luY2x1 ZGUgPGFycGEvaW5ldC5oPgorKyNpbmNsdWRlIDxzeXMvdHlwZXMuaD4KKyAjaW5jbHVkZSA8c3Rk aW50Lmg+CisgI2VuZGlmCisgCmRpZmYgLS1naXQgYS9zcmNwa2dzL3F0Ni13ZWJlbmdpbmUvcGF0 Y2hlcy8wMDA2LW11c2wtcHJlYWQtcHdyaXRlLnBhdGNoIGIvc3JjcGtncy9xdDYtd2ViZW5naW5l L3BhdGNoZXMvMDAwNi1tdXNsLXByZWFkLXB3cml0ZS5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0 NAppbmRleCAwMDAwMDAwMDAwMDAuLjAwMDE3YmJhMDE3MgotLS0gL2Rldi9udWxsCisrKyBiL3Ny Y3BrZ3MvcXQ2LXdlYmVuZ2luZS9wYXRjaGVzLzAwMDYtbXVzbC1wcmVhZC1wd3JpdGUucGF0Y2gK QEAgLTAsMCArMSwxOCBAQAorLS0tIHF0d2ViZW5naW5lL3NyYy8zcmRwYXJ0eS9jaHJvbWl1bS90 aGlyZF9wYXJ0eS9sc3MvbGludXhfc3lzY2FsbF9zdXBwb3J0LmgJMjAxOC0wOS0wNyAyMToyNToy Ni42Mzk5NjQxMDAgKzAyMDAKKysrKyBxdHdlYmVuZ2luZS9zcmMvM3JkcGFydHkvY2hyb21pdW0v dGhpcmRfcGFydHkvbHNzL2xpbnV4X3N5c2NhbGxfc3VwcG9ydC5oCTIwMTgtMDktMDcgMjE6MjU6 MTEuNjExOTY0OTk1ICswMjAwCitAQCAtMTc5NCw2ICsxNzk0LDE1IEBACisgLyogRW5kIG9mIHMz OTAvczM5MHggZGVmaW5pdGlvbnMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAqLworICNlbmRpZgorIAorKyNpZm5kZWYgX19HTElCQ19fCisrICAvKiBGb3IgTXVz bCBsaWJjIHByZWFkL3ByZWFkIGlzIHRoZSBzYW1lIGFzIHByZWFkNjQvcHdyaXRlNjQgKi8KKysj aWZuZGVmIF9fTlJfcHJlYWQKKysjZGVmaW5lIF9fTlJfcHJlYWQgICAgICAgICAgICAgIF9fTlJf cHJlYWQ2NAorKyNlbmRpZgorKyNpZm5kZWYgX19OUl9wd3JpdGUKKysjZGVmaW5lIF9fTlJfcHdy aXRlICAgICAgICAgICAgIF9fTlJfcHdyaXRlNjQKKysjZW5kaWYKKysjZW5kaWYgLyogaWZuZGVm IF9fR0xJQkNfXyAqLworIAorIC8qIEFmdGVyIGZvcmtpbmcsIHdlIG11c3QgbWFrZSBzdXJlIHRv IG9ubHkgY2FsbCBzeXN0ZW0gY2FsbHMuICAgICAgICAgICAgICAgKi8KKyAjaWYgZGVmaW5lZChf X0JPVU5ERURfUE9JTlRFUlNfXykKZGlmZiAtLWdpdCBhL3NyY3BrZ3MvcXQ2LXdlYmVuZ2luZS9w YXRjaGVzLzAwMDgtbXVzbC1yZXNvbHZlLnBhdGNoIGIvc3JjcGtncy9xdDYtd2ViZW5naW5lL3Bh dGNoZXMvMDAwOC1tdXNsLXJlc29sdmUucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg MDAwMDAwMDAwMDAwLi5lZGZjZWI3OWYzMGEKLS0tIC9kZXYvbnVsbAorKysgYi9zcmNwa2dzL3F0 Ni13ZWJlbmdpbmUvcGF0Y2hlcy8wMDA4LW11c2wtcmVzb2x2ZS5wYXRjaApAQCAtMCwwICsxLDI2 IEBACistLS0gcXR3ZWJlbmdpbmUvc3JjLzNyZHBhcnR5L2Nocm9taXVtL25ldC9kbnMvZG5zX3Jl bG9hZGVyLmNjCTIwMTYtMTEtMDcgMTU6NDY6MTguMDAwMDAwMDAwICswMTAwCisrKysgcXR3ZWJl bmdpbmUvc3JjLzNyZHBhcnR5L2Nocm9taXVtL25ldC9kbnMvZG5zX3JlbG9hZGVyLmNjCTIwMTYt MTItMjAgMDM6MzM6MTEuNzQ5MDU5NjU2ICswMTAwCitAQCAtOSw2ICs5LDEwIEBACisgCisgI2lu Y2x1ZGUgPHJlc29sdi5oPgorIAorKyNpZiAhZGVmaW5lZChfX0dMSUJDX18pCisrI2luY2x1ZGUg InJlc29sdl9jb21wYXQuaCIKKysjZW5kaWYKKysKKyAjaW5jbHVkZSAiYmFzZS9sYXp5X2luc3Rh bmNlLmgiCisgI2luY2x1ZGUgImJhc2UvbG9nZ2luZy5oIgorICNpbmNsdWRlICJiYXNlL21hY3Jv cy5oIgorLS0tIHF0d2ViZW5naW5lL3NyYy8zcmRwYXJ0eS9jaHJvbWl1bS9uZXQvZG5zL2Ruc19j b25maWdfc2VydmljZV9wb3NpeC5jYwkyMDE2LTExLTA3IDE1OjQ2OjE4LjAwMDAwMDAwMCArMDEw MAorKysrIHF0d2ViZW5naW5lL3NyYy8zcmRwYXJ0eS9jaHJvbWl1bS9uZXQvZG5zL2Ruc19jb25m aWdfc2VydmljZV9wb3NpeC5jYwkyMDE2LTEyLTIwIDAzOjQwOjA3LjY3MTk1MzA5OCArMDEwMAor QEAgLTYsNiArNiwxMCBAQAorIAorICNpbmNsdWRlIDxzdHJpbmc+CisgCisrI2lmICFkZWZpbmVk KF9fR0xJQkNfXykKKysjaW5jbHVkZSAicmVzb2x2X2NvbXBhdC5oIgorKyNlbmRpZgorKworICNp bmNsdWRlICJiYXNlL2JpbmQuaCIKKyAjaW5jbHVkZSAiYmFzZS9maWxlcy9maWxlLmgiCisgI2lu Y2x1ZGUgImJhc2UvZmlsZXMvZmlsZV9wYXRoLmgiCmRpZmYgLS1naXQgYS9zcmNwa2dzL3F0Ni13 ZWJlbmdpbmUvcGF0Y2hlcy8wMDA5LW11c2wtc2lnaW5mb190LnBhdGNoIGIvc3JjcGtncy9xdDYt d2ViZW5naW5lL3BhdGNoZXMvMDAwOS1tdXNsLXNpZ2luZm9fdC5wYXRjaApuZXcgZmlsZSBtb2Rl IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAuLmZlNzYwYmUxNjY2NAotLS0gL2Rldi9udWxsCisr KyBiL3NyY3BrZ3MvcXQ2LXdlYmVuZ2luZS9wYXRjaGVzLzAwMDktbXVzbC1zaWdpbmZvX3QucGF0 Y2gKQEAgLTAsMCArMSwxOCBAQAorVGhlcmUncyBhIHN1YnRsZSBkaWZmZXJlbmNlIGluIHRoZSBp bnRlcm5hbCBuYW1lIG9mIHNpZ2luZm9fdCBmaWVsZHMKK2JldHdlZW4gZ2xpYmMgYW5kIG11c2wu IFRoZSBzdHJ1Y3R1cmUgaXRzZWxmIGlzIGVxdWl2YWxlbnQsIHNvIGl0CitzaG91bGQgc3VmZmlj ZSB0byBhZGQgYSBtYWNybyB0byByZW5hbWUgdGhlIGZpZWxkLgorCistLS0gcXR3ZWJlbmdpbmUv c3JjLzNyZHBhcnR5L2Nocm9taXVtL3NhbmRib3gvbGludXgvc2VjY29tcC1icGYvdHJhcC5jYwky MDE1LTAyLTE3IDA1OjU3OjQzLjAwMDAwMDAwMCArMDEwMAorKysrIHF0d2ViZW5naW5lL3NyYy8z cmRwYXJ0eS9jaHJvbWl1bS9zYW5kYm94L2xpbnV4L3NlY2NvbXAtYnBmL3RyYXAuY2MJMjAxNS0w Ni0wMyAwODoyMDoyNS4wMzI3MTY0MjcgKzAyMDAKK0BAIC0yMiw2ICsyMiwxMSBAQAorICNpbmNs dWRlICJzYW5kYm94L2xpbnV4L3NlcnZpY2VzL2FuZHJvaWRfdWNvbnRleHQuaCIKKyAjZW5kaWYK KworKy8vIG11c2wgbGliYyBkZWZpbmVzIHNpZ2luZm9fdCBfX3NpX2ZpZWxkcyBpbnN0ZWFkIG9m IF9zaWZpZWxkcworKyNpZiAhZGVmaW5lZChfX0dMSUJDX18pCisrI2RlZmluZSBfc2lmaWVsZHMg X19zaV9maWVsZHMKKysjZW5kaWYKKysKKyBuYW1lc3BhY2UgeworCisgY29uc3QgaW50IGtDYXBh Y2l0eUluY3JlbWVudCA9IDIwOwpkaWZmIC0tZ2l0IGEvc3JjcGtncy9xdDYtd2ViZW5naW5lL3Bh dGNoZXMvMDAxMC1tdXNsLXN0YWNrc3RhcnQucGF0Y2ggYi9zcmNwa2dzL3F0Ni13ZWJlbmdpbmUv cGF0Y2hlcy8wMDEwLW11c2wtc3RhY2tzdGFydC5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NApp bmRleCAwMDAwMDAwMDAwMDAuLmE5ZjhhYjZjMjUyYwotLS0gL2Rldi9udWxsCisrKyBiL3NyY3Br Z3MvcXQ2LXdlYmVuZ2luZS9wYXRjaGVzLzAwMTAtbXVzbC1zdGFja3N0YXJ0LnBhdGNoCkBAIC0w LDAgKzEsMjAgQEAKKy0tLSBxdHdlYmVuZ2luZS9zcmMvM3JkcGFydHkvY2hyb21pdW0vdGhpcmRf cGFydHkvYmxpbmsvcmVuZGVyZXIvcGxhdGZvcm0vd3RmL3N0YWNrX3V0aWwuY2MJMjAxOC0wMS0y NyAyMzowODo0My41ODY0NzUzNDkgKzAxMDAKKysrKyBxdHdlYmVuZ2luZS9zcmMvM3JkcGFydHkv Y2hyb21pdW0vdGhpcmRfcGFydHkvYmxpbmsvcmVuZGVyZXIvcGxhdGZvcm0vd3RmL3N0YWNrX3V0 aWwuY2MJMjAxOC0wMS0yNyAyMzoxODoyMi4yNzQ1MDUyMDMgKzAxMDAKK0BAIC0yOCw3ICsyOCw3 IEBACisgLy8gRklYTUU6IE9uIE1hYyBPU1ggYW5kIExpbnV4LCB0aGlzIG1ldGhvZCBjYW5ub3Qg ZXN0aW1hdGUgc3RhY2sgc2l6ZQorIC8vIGNvcnJlY3RseSBmb3IgdGhlIG1haW4gdGhyZWFkLgor IAorLSNlbGlmIGRlZmluZWQoX19HTElCQ19fKSB8fCBkZWZpbmVkKE9TX0FORFJPSUQpIHx8IGRl ZmluZWQoT1NfRlJFRUJTRCkgfHwgXAorKyNlbGlmIGRlZmluZWQoT1NfTElOVVgpIHx8IGRlZmlu ZWQoT1NfQU5EUk9JRCkgfHwgZGVmaW5lZChPU19GUkVFQlNEKSB8fCBcCisgICAgIGRlZmluZWQo T1NfRlVDSFNJQSkKKyAgIC8vIHB0aHJlYWRfZ2V0YXR0cl9ucCgpIGNhbiBmYWlsIGlmIHRoZSB0 aHJlYWQgaXMgbm90IGludm9rZWQgYnkKKyAgIC8vIHB0aHJlYWRfY3JlYXRlKCkgKGUuZy4sIHRo ZSBtYWluIHRocmVhZCBvZiBibGlua191bml0dGVzdHMpLgorQEAgLTk2LDcgKzk2LDcgQEAKKyB9 CisgCisgdm9pZCogR2V0U3RhY2tTdGFydCgpIHsKKy0jaWYgZGVmaW5lZChfX0dMSUJDX18pIHx8 IGRlZmluZWQoT1NfQU5EUk9JRCkgfHwgZGVmaW5lZChPU19GUkVFQlNEKSB8fCBcCisrI2lmIGRl ZmluZWQoT1NfTElOVVgpIHx8IGRlZmluZWQoT1NfQU5EUk9JRCkgfHwgZGVmaW5lZChPU19GUkVF QlNEKSB8fCBcCisgICAgIGRlZmluZWQoT1NfRlVDSFNJQSkKKyAgIHB0aHJlYWRfYXR0cl90IGF0 dHI7CisgICBpbnQgZXJyb3I7CmRpZmYgLS1naXQgYS9zcmNwa2dzL3F0Ni13ZWJlbmdpbmUvcGF0 Y2hlcy8wMDExLW11c2wtc2FuZGJveC5wYXRjaCBiL3NyY3BrZ3MvcXQ2LXdlYmVuZ2luZS9wYXRj aGVzLzAwMTEtbXVzbC1zYW5kYm94LnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw MDAwMDAwMDAwMC4uZDNkZTFlNDExODNkCi0tLSAvZGV2L251bGwKKysrIGIvc3JjcGtncy9xdDYt d2ViZW5naW5lL3BhdGNoZXMvMDAxMS1tdXNsLXNhbmRib3gucGF0Y2gKQEAgLTAsMCArMSw3MSBA QAorLS0tIHF0d2ViZW5naW5lL3NyYy8zcmRwYXJ0eS9jaHJvbWl1bS9zYW5kYm94L2xpbnV4L3Nl Y2NvbXAtYnBmLWhlbHBlcnMvc3lzY2FsbF9wYXJhbWV0ZXJzX3Jlc3RyaWN0aW9ucy5jYwkyMDE4 LTA2LTE1IDA5OjQ3OjIwLjAwMDAwMDAwMCArMDIwMAorKysrIHF0d2ViZW5naW5lL3NyYy8zcmRw YXJ0eS9jaHJvbWl1bS9zYW5kYm94L2xpbnV4L3NlY2NvbXAtYnBmLWhlbHBlcnMvc3lzY2FsbF9w YXJhbWV0ZXJzX3Jlc3RyaWN0aW9ucy5jYwkyMDE4LTA5LTEzIDE5OjUzOjUzLjQ1Mzc4MDI1MyAr MDIwMAorQEAgLTEyOSw3ICsxMjksNyBAQAorIC8vIENMT05FX1ZNLCBub3IgQ0xPTkVfVEhSRUFE LCB3aGljaCBpbmNsdWRlcyBhbGwgZm9yaygpIGltcGxlbWVudGF0aW9ucy4KKyBSZXN1bHRFeHBy IFJlc3RyaWN0Q2xvbmVUb1RocmVhZHNBbmRFUEVSTUZvcmsoKSB7CisgICBjb25zdCBBcmc8dW5z aWduZWQgbG9uZz4gZmxhZ3MoMCk7CistCisrI2lmIGRlZmluZWQoX19HTElCQ19fKQorICAgLy8g VE9ETyhtZGVtcHNreSk6IEV4dGVuZCBEU0wgdG8gc3VwcG9ydCAoZmxhZ3MgJiB+bWFzazEpID09 IG1hc2syLgorICAgY29uc3QgdWludDY0X3Qga0FuZHJvaWRDbG9uZU1hc2sgPSBDTE9ORV9WTSB8 IENMT05FX0ZTIHwgQ0xPTkVfRklMRVMgfAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICBDTE9ORV9TSUdIQU5EIHwgQ0xPTkVfVEhSRUFEIHwKK0BAIC0xNDgsNiArMTQ4LDE3 IEBACisgICByZXR1cm4gSWYoSXNBbmRyb2lkKCkgPyBhbmRyb2lkX3Rlc3QgOiBnbGliY190ZXN0 LCBBbGxvdygpKQorICAgICAgIC5FbHNlSWYoKGZsYWdzICYgKENMT05FX1ZNIHwgQ0xPTkVfVEhS RUFEKSkgPT0gMCwgRXJyb3IoRVBFUk0pKQorICAgICAgIC5FbHNlKENyYXNoU0lHU1lTQ2xvbmUo KSk7CisrI2Vsc2UKKysgIGNvbnN0IGludCByZXF1aXJlZCA9IENMT05FX1ZNIHwgQ0xPTkVfRlMg fCBDTE9ORV9GSUxFUyB8IENMT05FX1NJR0hBTkQgfAorKyAgICAgICAgICAgICAgICAgICAgICAg Q0xPTkVfVEhSRUFEIHwgQ0xPTkVfU1lTVlNFTTsKKysgIGNvbnN0IGludCBzYWZlID0gQ0xPTkVf U0VUVExTIHwgQ0xPTkVfUEFSRU5UX1NFVFRJRCB8IENMT05FX0NISUxEX0NMRUFSVElEIHwKKysg ICAgICAgICAgICAgICAgICAgQ0xPTkVfREVUQUNIRUQ7CisrICBjb25zdCBCb29sRXhwciB0aHJl YWRfY2xvbmVfb2sgPSAoZmxhZ3MmfnNhZmUpPT1yZXF1aXJlZDsKKysKKysgIHJldHVybiBJZih0 aHJlYWRfY2xvbmVfb2ssIEFsbG93KCkpCisrICAgICAgLkVsc2VJZigoZmxhZ3MgJiAoQ0xPTkVf Vk0gfCBDTE9ORV9USFJFQUQpKSA9PSAwLCBFcnJvcihFUEVSTSkpCisrICAgICAgLkVsc2UoQ3Jh c2hTSUdTWVNDbG9uZSgpKTsKKysjZW5kaWYKKyB9CisgCisgUmVzdWx0RXhwciBSZXN0cmljdFBy Y3RsKCkgeworLS0tIHF0d2ViZW5naW5lL3NyYy8zcmRwYXJ0eS9jaHJvbWl1bS9zYW5kYm94L2xp bnV4L3NlY2NvbXAtYnBmLWhlbHBlcnMvc3lzY2FsbF9zZXRzLmNjCTIwMTgtMDYtMTUgMDk6NDc6 MjAuMDAwMDAwMDAwICswMjAwCisrKysgcXR3ZWJlbmdpbmUvc3JjLzNyZHBhcnR5L2Nocm9taXVt L3NhbmRib3gvbGludXgvc2VjY29tcC1icGYtaGVscGVycy9zeXNjYWxsX3NldHMuY2MJMjAxOC0w OS0xMyAxOTo1NjozMS43Nzk3NzM5NDAgKzAyMDAKK0BAIC0zNzUsNiArMzc1LDkgQEAKKyAjaWYg ZGVmaW5lZChfX2kzODZfXykKKyAgICAgY2FzZSBfX05SX3dhaXRwaWQ6CisgI2VuZGlmCisrI2lm ICFkZWZpbmVkKF9fR0xJQkNfXykKKysgICAgY2FzZSBfX05SX3NldF90aWRfYWRkcmVzczoKKysj ZW5kaWYKKyAgICAgICByZXR1cm4gdHJ1ZTsKKyAgICAgY2FzZSBfX05SX2Nsb25lOiAgLy8gU2hv dWxkIGJlIHBhcmFtZXRlci1yZXN0cmljdGVkLgorICAgICBjYXNlIF9fTlJfc2V0bnM6ICAvLyBQ cml2aWxlZ2VkLgorQEAgLTM4Nyw3ICszOTAsOSBAQAorICNpZiBkZWZpbmVkKF9faTM4Nl9fKSB8 fCBkZWZpbmVkKF9feDg2XzY0X18pIHx8IGRlZmluZWQoX19taXBzX18pCisgICAgIGNhc2UgX19O Ul9zZXRfdGhyZWFkX2FyZWE6CisgI2VuZGlmCisrI2lmIGRlZmluZWQoX19HTElCQ19fKQorICAg ICBjYXNlIF9fTlJfc2V0X3RpZF9hZGRyZXNzOgorKyNlbmRpZgorICAgICBjYXNlIF9fTlJfdW5z aGFyZToKKyAjaWYgIWRlZmluZWQoX19taXBzX18pICYmICFkZWZpbmVkKF9fYWFyY2g2NF9fKQor ICAgICBjYXNlIF9fTlJfdmZvcms6CitAQCAtNDk2LDYgKzUwMSw5IEBACisgICAgIGNhc2UgX19O Ul9tbG9jazoKKyAgICAgY2FzZSBfX05SX211bmxvY2s6CisgICAgIGNhc2UgX19OUl9tdW5tYXA6 CisrI2lmICFkZWZpbmVkKF9fR0xJQkNfXykKKysgICAgY2FzZSBfX05SX21yZW1hcDoKKysjZW5k aWYKKyAgICAgICByZXR1cm4gdHJ1ZTsKKyAgICAgY2FzZSBfX05SX21hZHZpc2U6CisgICAgIGNh c2UgX19OUl9taW5jb3JlOgorQEAgLTUxMSw3ICs1MTksOSBAQAorICAgICBjYXNlIF9fTlJfbW9k aWZ5X2xkdDoKKyAjZW5kaWYKKyAgICAgY2FzZSBfX05SX21wcm90ZWN0OgorKyNpZiBkZWZpbmVk KF9fR0xJQkNfXykKKyAgICAgY2FzZSBfX05SX21yZW1hcDoKKysjZW5kaWYKKyAgICAgY2FzZSBf X05SX21zeW5jOgorICAgICBjYXNlIF9fTlJfbXVubG9ja2FsbDoKKyAgICAgY2FzZSBfX05SX3Jl YWRhaGVhZDoKZGlmZiAtLWdpdCBhL3NyY3BrZ3MvcXQ2LXdlYmVuZ2luZS9wYXRjaGVzLzAwMTIt bXVzbC1jaHJvbWl1bS1kZWZhdWx0LXN0YWNrc2l6ZS5wYXRjaCBiL3NyY3BrZ3MvcXQ2LXdlYmVu Z2luZS9wYXRjaGVzLzAwMTItbXVzbC1jaHJvbWl1bS1kZWZhdWx0LXN0YWNrc2l6ZS5wYXRjaApu ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAuLjdiZjVhMjJmYmE3MQotLS0g L2Rldi9udWxsCisrKyBiL3NyY3BrZ3MvcXQ2LXdlYmVuZ2luZS9wYXRjaGVzLzAwMTItbXVzbC1j aHJvbWl1bS1kZWZhdWx0LXN0YWNrc2l6ZS5wYXRjaApAQCAtMCwwICsxLDE1IEBACistLS0gcXR3 ZWJlbmdpbmUvc3JjLzNyZHBhcnR5L2Nocm9taXVtL2Jhc2UvdGhyZWFkaW5nL3BsYXRmb3JtX3Ro cmVhZF9saW51eC5jYy5vcmlnCTIwMTgtMDktMTkgMTg6MDU6MTUuNTIzOTIzNzAzICswMjAwCisr KysgcXR3ZWJlbmdpbmUvc3JjLzNyZHBhcnR5L2Nocm9taXVtL2Jhc2UvdGhyZWFkaW5nL3BsYXRm b3JtX3RocmVhZF9saW51eC5jYwkyMDE4LTA5LTE5IDE4OjA4OjA1LjE1MDkzMjQ1NCArMDIwMAor QEAgLTE3Myw3ICsxNzMsMTIgQEAKKyAKKyBzaXplX3QgR2V0RGVmYXVsdFRocmVhZFN0YWNrU2l6 ZShjb25zdCBwdGhyZWFkX2F0dHJfdCYgYXR0cmlidXRlcykgeworICNpZiAhZGVmaW5lZChUSFJF QURfU0FOSVRJWkVSKQorKyNpZiBkZWZpbmVkKF9fR0xJQkNfXykKKyAgIHJldHVybiAwOworKyNl bHNlIC8vIGRlZmluZWQoX19HTElCQ19fKQorKyAgLy8gRm9yIE11c2wgbGliYyB0cnkgd2l0aCBh IGRlZmF1bHQgc3RhY2sgc2l6ZSBvZiAyIE1pQgorKyAgcmV0dXJuIDIgKiAxMDI0ICogMTAyNDsK KysjZW5kaWYgLy8gIWRlZmluZWQoX19HTElCQ19fKQorICNlbHNlCisgICAvLyBUaHJlYWRTYW5p dGl6ZXIgYmxvYXRzIHRoZSBzdGFjayBoZWF2aWx5LiBFdmlkZW5jZSBoYXMgYmVlbiB0aGF0IHRo ZQorICAgLy8gZGVmYXVsdCBzdGFjayBzaXplIGlzbid0IGVub3VnaCBmb3Igc29tZSBicm93c2Vy IHRlc3RzLgpkaWZmIC0tZ2l0IGEvc3JjcGtncy9xdDYtd2ViZW5naW5lL3BhdGNoZXMvMDAxNC1t dXNsLWNyb3NzLW5vLWFzbV9wdHJhY2VfaC5wYXRjaCBiL3NyY3BrZ3MvcXQ2LXdlYmVuZ2luZS9w YXRjaGVzLzAwMTQtbXVzbC1jcm9zcy1uby1hc21fcHRyYWNlX2gucGF0Y2gKbmV3IGZpbGUgbW9k ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwLi4xNDA3NDJmNzJjMjUKLS0tIC9kZXYvbnVsbAor KysgYi9zcmNwa2dzL3F0Ni13ZWJlbmdpbmUvcGF0Y2hlcy8wMDE0LW11c2wtY3Jvc3Mtbm8tYXNt X3B0cmFjZV9oLnBhdGNoCkBAIC0wLDAgKzEsMzAgQEAKKy0tLSBxdHdlYmVuZ2luZS9zcmMvM3Jk cGFydHkvY2hyb21pdW0vdGhpcmRfcGFydHkvYnJlYWtwYWQvYnJlYWtwYWQvc3JjL2NsaWVudC9s aW51eC9taW5pZHVtcF93cml0ZXIvbGludXhfcHRyYWNlX2R1bXBlci5jYwkyMDE4LTA4LTI3IDEw OjIxOjMxLjAwMDAwMDAwMCArMDIwMAorKysrIHF0d2ViZW5naW5lL3NyYy8zcmRwYXJ0eS9jaHJv bWl1bS90aGlyZF9wYXJ0eS9icmVha3BhZC9icmVha3BhZC9zcmMvY2xpZW50L2xpbnV4L21pbmlk dW1wX3dyaXRlci9saW51eF9wdHJhY2VfZHVtcGVyLmNjCTIwMTgtMTEtMjIgMDA6NDE6NTguNTIy NDc3NTU5ICswMTAwCitAQCAtMzgsNyArMzgsMTIgQEAKKyAKKyAjaW5jbHVkZSAiY2xpZW50L2xp bnV4L21pbmlkdW1wX3dyaXRlci9saW51eF9wdHJhY2VfZHVtcGVyLmgiCisgCisrI2lmIGRlZmlu ZWQoX19HTElCQ19fKQorICNpbmNsdWRlIDxhc20vcHRyYWNlLmg+CisrI2Vsc2UKKysvKiBGb3Ig YXJtKi1tdXNsIHRoaXMgZGVmaW5pdGlvbiBpcyBtaXNzaW5nICovCisrI2RlZmluZSBBUk1fc3Ag dXJlZ3NbMTNdCisrI2VuZGlmCisgI2luY2x1ZGUgPGFzc2VydC5oPgorICNpbmNsdWRlIDxlcnJu by5oPgorICNpbmNsdWRlIDxmY250bC5oPgorLS0tIHF0d2ViZW5naW5lL3NyYy8zcmRwYXJ0eS9j aHJvbWl1bS90aGlyZF9wYXJ0eS9icmVha3BhZC9icmVha3BhZC9zcmMvY2xpZW50L2xpbnV4L21p bmlkdW1wX3dyaXRlci9saW51eF9jb3JlX2R1bXBlci5jYwkyMDE4LTA4LTI3IDEwOjIxOjMxLjAw MDAwMDAwMCArMDIwMAorKysrIHF0d2ViZW5naW5lL3NyYy8zcmRwYXJ0eS9jaHJvbWl1bS90aGly ZF9wYXJ0eS9icmVha3BhZC9icmVha3BhZC9zcmMvY2xpZW50L2xpbnV4L21pbmlkdW1wX3dyaXRl ci9saW51eF9jb3JlX2R1bXBlci5jYwkyMDE4LTExLTIyIDAwOjQ5OjM5LjUzMzQ5MjI0NSArMDEw MAorQEAgLTMyLDcgKzMyLDEyIEBACisgCisgI2luY2x1ZGUgImNsaWVudC9saW51eC9taW5pZHVt cF93cml0ZXIvbGludXhfY29yZV9kdW1wZXIuaCIKKyAKKysjaWYgZGVmaW5lZChfX0dMSUJDX18p CisgI2luY2x1ZGUgPGFzbS9wdHJhY2UuaD4KKysjZWxzZQorKy8qIEZvciBhcm0qLW11c2wgdGhp cyBkZWZpbml0aW9uIGlzIG1pc3NpbmcgKi8KKysjZGVmaW5lIEFSTV9zcCB1cmVnc1sxM10KKysj ZW5kaWYKKyAjaW5jbHVkZSA8YXNzZXJ0Lmg+CisgI2luY2x1ZGUgPGVsZi5oPgorICNpbmNsdWRl IDxzdGRpby5oPgpkaWZmIC0tZ2l0IGEvc3JjcGtncy9xdDYtd2ViZW5naW5lL3BhdGNoZXMvMDAx NS1uby1nbGliYy1jbWFrZS1jaGVjay5wYXRjaCBiL3NyY3BrZ3MvcXQ2LXdlYmVuZ2luZS9wYXRj aGVzLzAwMTUtbm8tZ2xpYmMtY21ha2UtY2hlY2sucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQK aW5kZXggMDAwMDAwMDAwMDAwLi5mNmMzYWFkYjg0MjEKLS0tIC9kZXYvbnVsbAorKysgYi9zcmNw a2dzL3F0Ni13ZWJlbmdpbmUvcGF0Y2hlcy8wMDE1LW5vLWdsaWJjLWNtYWtlLWNoZWNrLnBhdGNo CkBAIC0wLDAgKzEsMTQgQEAKKy0tLSBhL2NvbmZpZ3VyZS5jbWFrZQkyMDIxLTA2LTIxIDIzOjMx OjA0LjAwMDAwMDAwMCArMDIwMAorKysrIC0JMjAyMS0wNi0yNyAxNjoxNjozMi44NzM1Mjg5MTcg KzAyMDAKK0BAIC0zNzMsMTEgKzM3Myw2IEBACisgKQorIGFkZF9jaGVja19mb3Jfc3VwcG9ydCh3 ZWJFbmdpbmVFcnJvciB3ZWJFbmdpbmVTdXBwb3J0CisgICAgTU9EVUxFIFF0V2ViRW5naW5lCist ICAgQ09ORElUSU9OIE5PVCBMSU5VWCBPUiBURVNUX2dsaWJjCistICAgTUVTU0FHRSAiQSBzdWl0 YWJsZSB2ZXJzaW9uID49IDIuMTcgb2YgZ2xpYmMgaXMgcmVxdWlyZWQuIgorLSkKKy1hZGRfY2hl Y2tfZm9yX3N1cHBvcnQod2ViRW5naW5lRXJyb3Igd2ViRW5naW5lU3VwcG9ydAorLSAgIE1PRFVM RSBRdFdlYkVuZ2luZQorICAgIENPTkRJVElPTiBOT1QgTElOVVggT1IgVEVTVF9raHIKKyAgICBN RVNTQUdFICJCdWlsZCByZXF1aXJlcyBLaHJvbm9zIGRldmVsb3BtZW50IGhlYWRlcnMgZm9yIGJ1 aWxkIC0gc2VlIG1lc2EvbGliZWdsMS1tZXNhLWRldiIKKyApCmRpZmYgLS1naXQgYS9zcmNwa2dz L3F0Ni13ZWJlbmdpbmUvcGF0Y2hlcy8wMDE2LXF0LW11c2wtZXhlY2luZm8ucGF0Y2ggYi9zcmNw a2dzL3F0Ni13ZWJlbmdpbmUvcGF0Y2hlcy8wMDE2LXF0LW11c2wtZXhlY2luZm8ucGF0Y2gKbmV3 IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwLi42MDhkZDBiNGUwNzgKLS0tIC9k ZXYvbnVsbAorKysgYi9zcmNwa2dzL3F0Ni13ZWJlbmdpbmUvcGF0Y2hlcy8wMDE2LXF0LW11c2wt ZXhlY2luZm8ucGF0Y2gKQEAgLTAsMCArMSwxMDYgQEAKKy0tLSBxdHdlYmVuZ2luZS9zcmMvM3Jk cGFydHkvY2hyb21pdW0vL2Jhc2UvZGVidWcvc3RhY2tfdHJhY2VfcG9zaXguY2Mub3JpZwkyMDE5 LTA0LTA5IDA5OjMxOjE2LjAwMDAwMDAwMCArMDIwMAorKysrIHF0d2ViZW5naW5lL3NyYy8zcmRw YXJ0eS9jaHJvbWl1bS8vYmFzZS9kZWJ1Zy9zdGFja190cmFjZV9wb3NpeC5jYwkyMDE5LTA1LTA2 IDIzOjE2OjEzLjI0NTUwMjQ2NyArMDIwMAorQEAgLTI3LDcgKzI3LDcgQEAKKyAjaWYgIWRlZmlu ZWQoVVNFX1NZTUJPTElaRSkKKyAjaW5jbHVkZSA8Y3h4YWJpLmg+CisgI2VuZGlmCistI2lmICFk ZWZpbmVkKF9fVUNMSUJDX18pICYmICFkZWZpbmVkKF9BSVgpCisrI2lmIGRlZmluZWQoX19HTElC Q19fKSAmJiAhZGVmaW5lZChfQUlYKQorICNpbmNsdWRlIDxleGVjaW5mby5oPgorICNlbmRpZgor IAorQEAgLTg2LDcgKzg2LDcgQEAKKyAgIC8vIE5vdGU6IGNvZGUgaW4gdGhpcyBmdW5jdGlvbiBp cyBOT1QgYXN5bmMtc2lnbmFsIHNhZmUgKHN0ZDo6c3RyaW5nIHVzZXMKKyAgIC8vIG1hbGxvYyBp bnRlcm5hbGx5KS4KKyAKKy0jaWYgIWRlZmluZWQoX19VQ0xJQkNfXykgJiYgIWRlZmluZWQoX0FJ WCkKKysjaWYgZGVmaW5lZChfX0dMSUJDX18pICYmICFkZWZpbmVkKF9BSVgpCisgICBzdGQ6OnN0 cmluZzo6c2l6ZV90eXBlIHNlYXJjaF9mcm9tID0gMDsKKyAgIHdoaWxlIChzZWFyY2hfZnJvbSA8 IHRleHQtPnNpemUoKSkgeworICAgICAvLyBMb29rIGZvciB0aGUgc3RhcnQgb2YgYSBtYW5nbGVk IHN5bWJvbCwgZnJvbSBzZWFyY2hfZnJvbS4KK0BAIC0xMjEsNyArMTIxLDcgQEAKKyAgICAgICBz ZWFyY2hfZnJvbSA9IG1hbmdsZWRfc3RhcnQgKyAyOworICAgICB9CisgICB9CistI2VuZGlmICAv LyAhZGVmaW5lZChfX1VDTElCQ19fKSAmJiAhZGVmaW5lZChfQUlYKQorKyNlbmRpZiAgLy8gIWRl ZmluZWQoX19HTElCQ19fKSAmJiAhZGVmaW5lZChfQUlYKQorIH0KKyAjZW5kaWYgIC8vICFkZWZp bmVkKFVTRV9TWU1CT0xJWkUpCisgCitAQCAtMTMzLDcgKzEzMyw3IEBACisgICB2aXJ0dWFsIH5C YWNrdHJhY2VPdXRwdXRIYW5kbGVyKCkgPSBkZWZhdWx0OworIH07CisgCistI2lmICFkZWZpbmVk KF9fVUNMSUJDX18pICYmICFkZWZpbmVkKF9BSVgpCisrI2lmIGRlZmluZWQoX19HTElCQ19fKSAm JiAhZGVmaW5lZChfQUlYKQorIHZvaWQgT3V0cHV0UG9pbnRlcih2b2lkKiBwb2ludGVyLCBCYWNr dHJhY2VPdXRwdXRIYW5kbGVyKiBoYW5kbGVyKSB7CisgICAvLyBUaGlzIHNob3VsZCBiZSBtb3Jl IHRoYW4gZW5vdWdoIHRvIHN0b3JlIGEgNjQtYml0IG51bWJlciBpbiBoZXg6CisgICAvLyAxNiBo ZXggZGlnaXRzICsgMSBmb3IgbnVsbC10ZXJtaW5hdG9yLgorQEAgLTIxNiw3ICsyMTYsNyBAQAor ICAgfQorICNlbmRpZiAgLy8gZGVmaW5lZChVU0VfU1lNQk9MSVpFKQorIH0KKy0jZW5kaWYgIC8v ICFkZWZpbmVkKF9fVUNMSUJDX18pICYmICFkZWZpbmVkKF9BSVgpCisrI2VuZGlmICAvLyAhZGVm aW5lZChfX0dMSUJDX18pICYmICFkZWZpbmVkKF9BSVgpCisgCisgdm9pZCBQcmludFRvU3RkZXJy KGNvbnN0IGNoYXIqIG91dHB1dCkgeworICAgLy8gTk9URTogVGhpcyBjb2RlIE1VU1QgYmUgYXN5 bmMtc2lnbmFsIHNhZmUgKGl0J3MgdXNlZCBieSBpbi1wcm9jZXNzCitAQCAtODEyLDcgKzgxMiw3 IEBACisgICAvLyBOT1RFOiBUaGlzIGNvZGUgTVVTVCBiZSBhc3luYy1zaWduYWwgc2FmZSAoaXQn cyB1c2VkIGJ5IGluLXByb2Nlc3MKKyAgIC8vIHN0YWNrIGR1bXBpbmcgc2lnbmFsIGhhbmRsZXIp LiBOTyBtYWxsb2Mgb3Igc3RkaW8gaXMgYWxsb3dlZCBoZXJlLgorIAorLSNpZiAhZGVmaW5lZChf X1VDTElCQ19fKSAmJiAhZGVmaW5lZChfQUlYKQorKyNpZiBkZWZpbmVkKF9fR0xJQkNfXykgJiYg IWRlZmluZWQoX0FJWCkKKyAgIC8vIFRob3VnaCB0aGUgYmFja3RyYWNlIEFQSSBtYW4gcGFnZSBk b2VzIG5vdCBsaXN0IGFueSBwb3NzaWJsZSBuZWdhdGl2ZQorICAgLy8gcmV0dXJuIHZhbHVlcywg d2UgdGFrZSBubyBjaGFuY2UuCisgICByZXR1cm4gYmFzZTo6c2F0dXJhdGVkX2Nhc3Q8c2l6ZV90 PihiYWNrdHJhY2UodHJhY2UsIGNvdW50KSk7CitAQCAtODI1LDEzICs4MjUsMTMgQEAKKyAvLyBO T1RFOiBUaGlzIGNvZGUgTVVTVCBiZSBhc3luYy1zaWduYWwgc2FmZSAoaXQncyB1c2VkIGJ5IGlu LXByb2Nlc3MKKyAvLyBzdGFjayBkdW1waW5nIHNpZ25hbCBoYW5kbGVyKS4gTk8gbWFsbG9jIG9y IHN0ZGlvIGlzIGFsbG93ZWQgaGVyZS4KKyAKKy0jaWYgIWRlZmluZWQoX19VQ0xJQkNfXykgJiYg IWRlZmluZWQoX0FJWCkKKysjaWYgZGVmaW5lZChfX0dMSUJDX18pICYmICFkZWZpbmVkKF9BSVgp CisgICBQcmludEJhY2t0cmFjZU91dHB1dEhhbmRsZXIgaGFuZGxlcjsKKyAgIFByb2Nlc3NCYWNr dHJhY2UodHJhY2VfLCBjb3VudF8sIHByZWZpeF9zdHJpbmcsICZoYW5kbGVyKTsKKyAjZW5kaWYK KyB9CisgCistI2lmICFkZWZpbmVkKF9fVUNMSUJDX18pICYmICFkZWZpbmVkKF9BSVgpCisrI2lm IGRlZmluZWQoX19HTElCQ19fKSAmJiAhZGVmaW5lZChfQUlYKQorIHZvaWQgU3RhY2tUcmFjZTo6 T3V0cHV0VG9TdHJlYW1XaXRoUHJlZml4KHN0ZDo6b3N0cmVhbSogb3MsCisgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgY2hhciogcHJlZml4X3N0cmluZykg Y29uc3QgeworICAgU3RyZWFtQmFja3RyYWNlT3V0cHV0SGFuZGxlciBoYW5kbGVyKG9zKTsKKy0t LSBxdHdlYmVuZ2luZS9zcmMvM3JkcGFydHkvY2hyb21pdW0vYmFzZS9kZWJ1Zy9zdGFja190cmFj ZS5jYwkyMDE5LTA0LTA5IDA5OjMxOjE2LjAwMDAwMDAwMCArMDIwMAorKysrIC0JMjAxOS0wNS0w NiAyMzoxODoxNC45MjM1NjY5OTIgKzAyMDAKK0BAIC0yMzMsNyArMjMzLDcgQEAKKyB9Cisgc3Rk OjpzdHJpbmcgU3RhY2tUcmFjZTo6VG9TdHJpbmdXaXRoUHJlZml4KGNvbnN0IGNoYXIqIHByZWZp eF9zdHJpbmcpIGNvbnN0IHsKKyAgIHN0ZDo6c3RyaW5nc3RyZWFtIHN0cmVhbTsKKy0jaWYgIWRl ZmluZWQoX19VQ0xJQkNfXykgJiYgIWRlZmluZWQoX0FJWCkKKysjaWYgZGVmaW5lZChfX0dMSUJD X18pICYmICFkZWZpbmVkKF9BSVgpCisgICBPdXRwdXRUb1N0cmVhbVdpdGhQcmVmaXgoJnN0cmVh bSwgcHJlZml4X3N0cmluZyk7CisgI2VuZGlmCisgICByZXR1cm4gc3RyZWFtLnN0cigpOworLS0t IHF0d2ViZW5naW5lL3NyYy8zcmRwYXJ0eS9jaHJvbWl1bS8vYmFzZS9sb2dnaW5nLmNjCTIwMTct MTEtMjggMTQ6MDY6NTMuMDAwMDAwMDAwICswMTAwCistLS0gcXR3ZWJlbmdpbmUvc3JjLzNyZHBh cnR5L2Nocm9taXVtLy9iYXNlL2xvZ2dpbmcuY2MJMjAxOC0wMS0yNyAyMjo0NjozNC45NzA0MDY4 MDcgKzAxMDAKK0BAIC01NDYsNyArNTQ2LDcgQEAKKyAKKyBMb2dNZXNzYWdlOjp+TG9nTWVzc2Fn ZSgpIHsKKyAgIHNpemVfdCBzdGFja19zdGFydCA9IHN0cmVhbV8udGVsbHAoKTsKKy0jaWYgIWRl ZmluZWQoT0ZGSUNJQUxfQlVJTEQpICYmICFkZWZpbmVkKE9TX05BQ0wpICYmICFkZWZpbmVkKF9f VUNMSUJDX18pICYmIFwKKysjaWYgIWRlZmluZWQoT0ZGSUNJQUxfQlVJTEQpICYmICFkZWZpbmVk KE9TX05BQ0wpICYmIGRlZmluZWQoX19HTElCQ19fKSAmJiBcCisgICAgICFkZWZpbmVkKE9TX0FJ WCkKKyAgIGlmIChzZXZlcml0eV8gPT0gTE9HX0ZBVEFMICYmICFiYXNlOjpkZWJ1Zzo6QmVpbmdE ZWJ1Z2dlZCgpKSB7CisgICAgIC8vIEluY2x1ZGUgYSBzdGFjayB0cmFjZSBvbiBhIGZhdGFsLCB1 bmxlc3MgYSBkZWJ1Z2dlciBpcyBhdHRhY2hlZC4KKy0tLSBhL3NyYy8zcmRwYXJ0eS9jaHJvbWl1 bS9iYXNlL2RlYnVnL3N0YWNrX3RyYWNlLmNjCTIwMjEtMDYtMjcgMTg6MTc6MDYuODM0NzA1ODQ4 ICswMjAwCisrKysgLQkyMDIxLTA2LTI3IDE4OjI3OjUzLjAxNDEwMjgwMyArMDIwMAorQEAgLTIx Nyw3ICsyMTcsOSBAQAorIH0KKyAKKyB2b2lkIFN0YWNrVHJhY2U6Ok91dHB1dFRvU3RyZWFtKHN0 ZDo6b3N0cmVhbSogb3MpIGNvbnN0IHsKKysjaWYgZGVmaW5lZChfX0dMSUJDX18pICYmICFkZWZp bmVkKF9BSVgpCisgICBPdXRwdXRUb1N0cmVhbVdpdGhQcmVmaXgob3MsIG51bGxwdHIpOworKyNl bmRpZgorIH0KKyAKKyBzdGQ6OnN0cmluZyBTdGFja1RyYWNlOjpUb1N0cmluZygpIGNvbnN0IHsK ZGlmZiAtLWdpdCBhL3NyY3BrZ3MvcXQ2LXdlYmVuZ2luZS9wYXRjaGVzLzAwMTctcXQtbXVzbC10 aHJlYWQtc3RhY2tzaXplLnBhdGNoIGIvc3JjcGtncy9xdDYtd2ViZW5naW5lL3BhdGNoZXMvMDAx Ny1xdC1tdXNsLXRocmVhZC1zdGFja3NpemUucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k ZXggMDAwMDAwMDAwMDAwLi40OTY3NTNiZWYzMGYKLS0tIC9kZXYvbnVsbAorKysgYi9zcmNwa2dz L3F0Ni13ZWJlbmdpbmUvcGF0Y2hlcy8wMDE3LXF0LW11c2wtdGhyZWFkLXN0YWNrc2l6ZS5wYXRj aApAQCAtMCwwICsxLDI2IEBACitkaWZmIC0tZ2l0IGEvc3JjLzNyZHBhcnR5L2Nocm9taXVtL3Bw YXBpL3V0aWxpdHkvdGhyZWFkaW5nL3NpbXBsZV90aHJlYWQuY2MgYi9zcmMvM3JkcGFydHkvY2hy b21pdW0vcHBhcGkvdXRpbGl0eS90aHJlYWRpbmcvc2ltcGxlX3RocmVhZC5jYworaW5kZXggMDJi ZjQ5Yi4uMDVlZTE4MiAxMDA2NDQKKy0tLSBxdHdlYmVuZ2luZS9zcmMvM3JkcGFydHkvY2hyb21p dW0vcHBhcGkvdXRpbGl0eS90aHJlYWRpbmcvc2ltcGxlX3RocmVhZC5jYworKysrIHF0d2ViZW5n aW5lL3NyYy8zcmRwYXJ0eS9jaHJvbWl1bS9wcGFwaS91dGlsaXR5L3RocmVhZGluZy9zaW1wbGVf dGhyZWFkLmNjCitAQCAtMTMsNyArMTMsNyBAQCBuYW1lc3BhY2UgcHAgeworIG5hbWVzcGFjZSB7 CisgCisgLy8gVXNlIDJNQiBkZWZhdWx0IHN0YWNrIHNpemUgZm9yIE5hdGl2ZSBDbGllbnQsIG90 aGVyd2lzZSB1c2Ugc3lzdGVtIGRlZmF1bHQuCistI2lmIGRlZmluZWQoX19uYXRpdmVfY2xpZW50 X18pCisrI2lmIGRlZmluZWQoX19uYXRpdmVfY2xpZW50X18pIHx8ICFkZWZpbmVkKF9fR0xJQkNf XykKKyBjb25zdCBzaXplX3Qga0RlZmF1bHRTdGFja1NpemUgPSAyICogMTAyNCAqIDEwMjQ7Cisg I2Vsc2UKKyBjb25zdCBzaXplX3Qga0RlZmF1bHRTdGFja1NpemUgPSAwOworZGlmZiAtLWdpdCBh L3NyYy8zcmRwYXJ0eS9jaHJvbWl1bS92OC9zcmMvYmFzZS9wbGF0Zm9ybS9wbGF0Zm9ybS1wb3Np eC5jYyBiL3NyYy8zcmRwYXJ0eS9jaHJvbWl1bS92OC9zcmMvYmFzZS9wbGF0Zm9ybS9wbGF0Zm9y bS1wb3NpeC5jYworaW5kZXggY2Y3ZjNlYy4uZTA2YTVjZSAxMDA2NDQKKy0tLSBxdHdlYmVuZ2lu ZS9zcmMvM3JkcGFydHkvY2hyb21pdW0vdjgvc3JjL2Jhc2UvcGxhdGZvcm0vcGxhdGZvcm0tcG9z aXguY2MKKysrKyBxdHdlYmVuZ2luZS9zcmMvM3JkcGFydHkvY2hyb21pdW0vdjgvc3JjL2Jhc2Uv cGxhdGZvcm0vcGxhdGZvcm0tcG9zaXguY2MKK0BAIC03NjEsNyArNzYxLDcgQEAgdm9pZCBUaHJl YWQ6OlN0YXJ0KCkgeworICNpZiBWOF9PU19NQUNPU1gKKyAgICAgLy8gRGVmYXVsdCBvbiBNYWMg T1MgWCBpcyA1MTJrQiAtLSBidW1wIHVwIHRvIDFNQgorICAgICBzdGFja19zaXplID0gMSAqIDEw MjQgKiAxMDI0OworLSNlbGlmIFY4X09TX0FJWAorKyNlbGlmIFY4X09TX0FJWCB8fCAhZGVmaW5l ZChfX0dMSUJDX18pCisgICAgIC8vIERlZmF1bHQgb24gQUlYIGlzIDk2a0IgLS0gYnVtcCB1cCB0 byAyTUIKKyAgICAgc3RhY2tfc2l6ZSA9IDIgKiAxMDI0ICogMTAyNDsKKyAjZW5kaWYKZGlmZiAt LWdpdCBhL3NyY3BrZ3MvcXQ2LXdlYmVuZ2luZS9wYXRjaGVzLzAwMTgtc2FuZGJveC1tZW1iYXJy aWVyLnBhdGNoIGIvc3JjcGtncy9xdDYtd2ViZW5naW5lL3BhdGNoZXMvMDAxOC1zYW5kYm94LW1l bWJhcnJpZXIucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwLi5i NzM5NzFmMjQzMjQKLS0tIC9kZXYvbnVsbAorKysgYi9zcmNwa2dzL3F0Ni13ZWJlbmdpbmUvcGF0 Y2hlcy8wMDE4LXNhbmRib3gtbWVtYmFycmllci5wYXRjaApAQCAtMCwwICsxLDYwIEBACistLS0g cXR3ZWJlbmdpbmUvc3JjLzNyZHBhcnR5L2Nocm9taXVtLy9zYW5kYm94L2xpbnV4L3N5c3RlbV9o ZWFkZXJzL2FybTY0X2xpbnV4X3N5c2NhbGxzLmgKKysrKyBxdHdlYmVuZ2luZS9zcmMvM3JkcGFy dHkvY2hyb21pdW0vL3NhbmRib3gvbGludXgvc3lzdGVtX2hlYWRlcnMvYXJtNjRfbGludXhfc3lz Y2FsbHMuaAorQEAgLTEwNjMsNCArMTA2Myw4IEBACisgI2RlZmluZSBfX05SX21lbWZkX2NyZWF0 ZSAyNzkKKyAjZW5kaWYKKyAKKysjaWYgIWRlZmluZWQoX19OUl9tZW1iYXJyaWVyKQorKyNkZWZp bmUgX19OUl9tZW1iYXJyaWVyIDI4MworKyNlbmRpZgorKworICNlbmRpZiAgLy8gU0FOREJPWF9M SU5VWF9TWVNURU1fSEVBREVSU19BUk02NF9MSU5VWF9TWVNDQUxMU19IXworCistLS0gcXR3ZWJl bmdpbmUvc3JjLzNyZHBhcnR5L2Nocm9taXVtLy9zYW5kYm94L2xpbnV4L3N5c3RlbV9oZWFkZXJz L2FybV9saW51eF9zeXNjYWxscy5oCisrKysgcXR3ZWJlbmdpbmUvc3JjLzNyZHBhcnR5L2Nocm9t aXVtLy9zYW5kYm94L2xpbnV4L3N5c3RlbV9oZWFkZXJzL2FybV9saW51eF9zeXNjYWxscy5oCitA QCAtMTM4NSw2ICsxMzg1LDEwIEBACisgI2RlZmluZSBfX05SX21lbWZkX2NyZWF0ZSAoX19OUl9T WVNDQUxMX0JBU0UrMzg1KQorICNlbmRpZgorIAorKyNpZiAhZGVmaW5lZChfX05SX21lbWJhcnJp ZXIpCisrI2RlZmluZSBfX05SX21lbWJhcnJpZXIgKF9fTlJfU1lTQ0FMTF9CQVNFKzM4OSkKKysj ZW5kaWYKKysKKyAvLyBBUk0gcHJpdmF0ZSBzeXNjYWxscy4KKyAjaWYgIWRlZmluZWQoX19BUk1f TlJfQkFTRSkKKyAjZGVmaW5lIF9fQVJNX05SX0JBU0UgKF9fTlJfU1lTQ0FMTF9CQVNFICsgMHhG MDAwMCkKKworLS0tIHF0d2ViZW5naW5lL3NyYy8zcmRwYXJ0eS9jaHJvbWl1bS8vc2FuZGJveC9s aW51eC9zeXN0ZW1faGVhZGVycy94ODZfMzJfbGludXhfc3lzY2FsbHMuaAorKysrIHF0d2ViZW5n aW5lL3NyYy8zcmRwYXJ0eS9jaHJvbWl1bS8vc2FuZGJveC9saW51eC9zeXN0ZW1faGVhZGVycy94 ODZfMzJfbGludXhfc3lzY2FsbHMuaAorQEAgLTE0MjIsNSArMTQyMiw5IEBACisgI2RlZmluZSBf X05SX21lbWZkX2NyZWF0ZSAzNTYKKyAjZW5kaWYKKyAKKysjaWYgIWRlZmluZWQoX19OUl9tZW1i YXJyaWVyKQorKyNkZWZpbmUgX19OUl9tZW1iYXJyaWVyIDM3NQorKyNlbmRpZgorKworICNlbmRp ZiAgLy8gU0FOREJPWF9MSU5VWF9TWVNURU1fSEVBREVSU19YODZfMzJfTElOVVhfU1lTQ0FMTFNf SF8KKyAKKy0tLSBxdHdlYmVuZ2luZS9zcmMvM3JkcGFydHkvY2hyb21pdW0vL3NhbmRib3gvbGlu dXgvc3lzdGVtX2hlYWRlcnMveDg2XzY0X2xpbnV4X3N5c2NhbGxzLmgKKysrKyBxdHdlYmVuZ2lu ZS9zcmMvM3JkcGFydHkvY2hyb21pdW0vL3NhbmRib3gvbGludXgvc3lzdGVtX2hlYWRlcnMveDg2 XzY0X2xpbnV4X3N5c2NhbGxzLmgKK0BAIC0xMjkwLDUgKzEyOTAsOSBAQAorICNkZWZpbmUgX19O Ul9tZW1mZF9jcmVhdGUgMzE5CisgI2VuZGlmCisgCisrI2lmICFkZWZpbmVkKF9fTlJfbWVtYmFy cmllcikKKysjZGVmaW5lIF9fTlJfbWVtYmFycmllciAzMjQKKysjZW5kaWYKKysKKyAjZW5kaWYg IC8vIFNBTkRCT1hfTElOVVhfU1lTVEVNX0hFQURFUlNfWDg2XzY0X0xJTlVYX1NZU0NBTExTX0hf CisgCistLS0gcXR3ZWJlbmdpbmUvc3JjLzNyZHBhcnR5L2Nocm9taXVtLy9zYW5kYm94L2xpbnV4 L3NlY2NvbXAtYnBmLWhlbHBlcnMvc3lzY2FsbF9zZXRzLmNjCisrKysgcXR3ZWJlbmdpbmUvc3Jj LzNyZHBhcnR5L2Nocm9taXVtLy9zYW5kYm94L2xpbnV4L3NlY2NvbXAtYnBmLWhlbHBlcnMvc3lz Y2FsbF9zZXRzLmNjCitAQCAtMzcwLDYgKzM3MCw3IEBACisgICBzd2l0Y2ggKHN5c25vKSB7Cisg ICAgIGNhc2UgX19OUl9leGl0OgorICAgICBjYXNlIF9fTlJfZXhpdF9ncm91cDoKKysgICAgY2Fz ZSBfX05SX21lbWJhcnJpZXI6CisgICAgIGNhc2UgX19OUl93YWl0NDoKKyAgICAgY2FzZSBfX05S X3dhaXRpZDoKKyAjaWYgZGVmaW5lZChfX2kzODZfXykKZGlmZiAtLWdpdCBhL3NyY3BrZ3MvcXQ2 LXdlYmVuZ2luZS9wYXRjaGVzLzAwMjAtbXNndmVjLXB1c2hfYmFjay5wYXRjaCBiL3NyY3BrZ3Mv cXQ2LXdlYmVuZ2luZS9wYXRjaGVzLzAwMjAtbXNndmVjLXB1c2hfYmFjay5wYXRjaApuZXcgZmls ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAuLjc1NDgxYTI4ODlmNAotLS0gL2Rldi9u dWxsCisrKyBiL3NyY3BrZ3MvcXQ2LXdlYmVuZ2luZS9wYXRjaGVzLzAwMjAtbXNndmVjLXB1c2hf YmFjay5wYXRjaApAQCAtMCwwICsxLDE0IEBACistLS0gcXR3ZWJlbmdpbmUtZXZlcnl3aGVyZS1z cmMtNS4xNC4wLWJldGEyL3NyYy8zcmRwYXJ0eS9jaHJvbWl1bS9uZXQvc29ja2V0L3VkcF9zb2Nr ZXRfcG9zaXguY2MJMjAxOS0xMC0wOCAwODoyNzo0My4wMDAwMDAwMDAgKzAyMDAKKysrKyAtCTIw MTktMTEtMTEgMjI6NDE6NDYuNjk5MDY4ODg5ICswMTAwCitAQCAtMTE5MSw3ICsxMTkxLDExIEBA CisgICAgIG1zZ19pb3YtPnB1c2hfYmFjayh7Y29uc3RfY2FzdDxjaGFyKj4oYnVmZmVyLT5kYXRh KCkpLCBidWZmZXItPmxlbmd0aCgpfSk7CisgICBtc2d2ZWMtPnJlc2VydmUoYnVmZmVycy5zaXpl KCkpOworICAgZm9yIChzaXplX3QgaiA9IDA7IGogPCBidWZmZXJzLnNpemUoKTsgaisrKQorKyNp ZiBkZWZpbmVkKF9fR0xJQkNfXykKKyAgICAgbXNndmVjLT5wdXNoX2JhY2soe3tudWxscHRyLCAw LCAmbXNnX2lvdltqXSwgMSwgbnVsbHB0ciwgMCwgMH0sIDB9KTsKKysjZWxzZQorKyAgICBtc2d2 ZWMtPnB1c2hfYmFjayh7e251bGxwdHIsIDAsICZtc2dfaW92W2pdLCAxLCAwLCAwLCAwfSwgMH0p OworKyNlbmRpZgorICAgaW50IHJlc3VsdCA9IEhBTkRMRV9FSU5UUihTZW5kbW1zZyhmZCwgJm1z Z3ZlY1swXSwgYnVmZmVycy5zaXplKCksIDApKTsKKyAgIFNlbmRSZXN1bHQgc2VuZF9yZXN1bHQo MCwgMCwgc3RkOjptb3ZlKGJ1ZmZlcnMpKTsKKyAgIGlmIChyZXN1bHQgPCAwKSB7CmRpZmYgLS1n aXQgYS9zcmNwa2dzL3F0Ni13ZWJlbmdpbmUvcGF0Y2hlcy8wMDIxLXNhbmRib3gtc2NoZWRfZ2V0 cGFyYW0ucGF0Y2ggYi9zcmNwa2dzL3F0Ni13ZWJlbmdpbmUvcGF0Y2hlcy8wMDIxLXNhbmRib3gt c2NoZWRfZ2V0cGFyYW0ucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw MDAwLi5kOGM2YWExNWNmNjYKLS0tIC9kZXYvbnVsbAorKysgYi9zcmNwa2dzL3F0Ni13ZWJlbmdp bmUvcGF0Y2hlcy8wMDIxLXNhbmRib3gtc2NoZWRfZ2V0cGFyYW0ucGF0Y2gKQEAgLTAsMCArMSwy NiBAQAorQWxsb3cgU1lTX3NjaGVkX2dldHBhcmFtIGFuZCBTWVNfc2NoZWRfZ2V0c2NoZWR1bGVy CittdXNsIHVzZXMgdGhlbSBmb3IgcHRocmVhZF9nZXRzY2hlZHBhcmFtKCkKKworc291cmNlOiBo dHRwczovL2dpdC5hbHBpbmVsaW51eC5vcmcvYXBvcnRzL2NvbW1pdC9jb21tdW5pdHkvY2hyb21p dW0/aWQ9NTRhZjlmOGFjMjRmNTJkMzgyYzU3NThlMjQ0NWJmMDIwNmVmZjQwZQorCistLS0gYS9z cmMvM3JkcGFydHkvY2hyb21pdW0vc2FuZGJveC9wb2xpY3kvbGludXgvYnBmX3JlbmRlcmVyX3Bv bGljeV9saW51eC5jYwkyMDIxLTAyLTIzIDE2OjM2OjU5LjAwMDAwMDAwMCArMDEwMAorKysrIC0J MjAyMS0wMy0wNyAyMToxMzo0NC45OTIwNzkxNDUgKzAxMDAKK0BAIC05MywxMSArOTMsMTggQEAK KyAgICAgY2FzZSBfX05SX3N5c2luZm86CisgICAgIGNhc2UgX19OUl90aW1lczoKKyAgICAgY2Fz ZSBfX05SX3VuYW1lOgorKyNpZiAhZGVmaW5lZChfX0dMSUJDX18pCisrICAgIGNhc2UgX19OUl9z Y2hlZF9nZXRwYXJhbToKKysgICAgY2FzZSBfX05SX3NjaGVkX2dldHNjaGVkdWxlcjoKKysgICAg Y2FzZSBfX05SX3NjaGVkX3NldHNjaGVkdWxlcjoKKysjZW5kaWYKKyAgICAgICByZXR1cm4gQWxs b3coKTsKKyAgICAgY2FzZSBfX05SX3NjaGVkX2dldGFmZmluaXR5OgorKyNpZiBkZWZpbmVkKF9f R0xJQkNfXykKKyAgICAgY2FzZSBfX05SX3NjaGVkX2dldHBhcmFtOgorICAgICBjYXNlIF9fTlJf c2NoZWRfZ2V0c2NoZWR1bGVyOgorICAgICBjYXNlIF9fTlJfc2NoZWRfc2V0c2NoZWR1bGVyOgor KyNlbmRpZgorICAgICAgIHJldHVybiBSZXN0cmljdFNjaGVkVGFyZ2V0KEdldFBvbGljeVBpZCgp LCBzeXNubyk7CisgICAgIGNhc2UgX19OUl9wcmxpbWl0NjQ6CisgICAgICAgLy8gU2VlIGNyYnVn LmNvbS82NjI0NTAgYW5kIHNldHJsaW1pdCBjb21tZW50IGFib3ZlLgpkaWZmIC0tZ2l0IGEvc3Jj cGtncy9xdDYtd2ViZW5naW5lL3BhdGNoZXMvMDAyMi1jYW5vbmljYWxpemUtZmlsZS1uYW1lLW11 c2wucGF0Y2ggYi9zcmNwa2dzL3F0Ni13ZWJlbmdpbmUvcGF0Y2hlcy8wMDIyLWNhbm9uaWNhbGl6 ZS1maWxlLW5hbWUtbXVzbC5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw MDAwMDAuLjg5M2VkMmQ0MWJiNAotLS0gL2Rldi9udWxsCisrKyBiL3NyY3BrZ3MvcXQ2LXdlYmVu Z2luZS9wYXRjaGVzLzAwMjItY2Fub25pY2FsaXplLWZpbGUtbmFtZS1tdXNsLnBhdGNoCkBAIC0w LDAgKzEsMTEgQEAKKy0tLSBxdHdlYmVuZ2luZS9zcmMvM3JkcGFydHkvY2hyb21pdW0vdGhpcmRf cGFydHkvbmFzbS9uYXNtbGliL3JlYWxwYXRoLmMJMjAxOS0wOS0yMyAxNDoyNDoyMC4wMDAwMDAw MDAgKzAyMDAKKysrKyAtCTIwMTktMTAtMTEgMDY6Mjc6MjguNDUwMzI5OTg2ICswMjAwCitAQCAt NTcsNyArNTcsNyBAQAorICAqLworIGNoYXIgKm5hc21fcmVhbHBhdGgoY29uc3QgY2hhciAqcmVs X3BhdGgpCisgeworLSAgICBjaGFyICpycCA9IGNhbm9uaWNhbGl6ZV9maWxlX25hbWUocmVsX3Bh dGgpOworKyAgICBjaGFyICpycCA9IHJlYWxwYXRoKHJlbF9wYXRoLCBOVUxMKTsKKyAgICAgcmV0 dXJuIHJwID8gcnAgOiBuYXNtX3N0cmR1cChyZWxfcGF0aCk7CisgfQorIApkaWZmIC0tZ2l0IGEv c3JjcGtncy9xdDYtd2ViZW5naW5lL3BhdGNoZXMvMDA4OS1lbmFibGUtcHBjNjQucGF0Y2ggYi9z cmNwa2dzL3F0Ni13ZWJlbmdpbmUvcGF0Y2hlcy8wMDg5LWVuYWJsZS1wcGM2NC5wYXRjaApuZXcg ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAuLmI4Nzc2NjgyNTA2MwotLS0gL2Rl di9udWxsCisrKyBiL3NyY3BrZ3MvcXQ2LXdlYmVuZ2luZS9wYXRjaGVzLzAwODktZW5hYmxlLXBw YzY0LnBhdGNoCkBAIC0wLDAgKzEsNDkgQEAKK0Zyb20gNDYzZjEyMzRjNTdhMzZlNzhmZjY2NmJk NTUwOTRhOWQ0ZTY4ZjI5NiBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206IHE2NiA8ZGFu aWVsQG9jdGFmb3JnZS5vcmc+CitEYXRlOiBTYXQsIDE4IEphbiAyMDIwIDIzOjUyOjU1ICswMTAw CitTdWJqZWN0OiBbUEFUQ0ggMS8zXSBFbmFibGUgcHBjNjQgYnVpbGRzCisKKy0tLQorIGNvbmZp Z3VyZS5wcmkgICAgICAgICAgICAgICAgICB8IDEgKworIG1rc3BlY3MvZmVhdHVyZXMvZnVuY3Rp b25zLnByZiB8IDEgKworIDIgZmlsZXMgY2hhbmdlZCwgMiBpbnNlcnRpb25zKCspCisKK2RpZmYg LS1naXQgYS9jb25maWd1cmUucHJpIGIvY29uZmlndXJlLnByaQoraW5kZXggM2ExNDRlM2Y4Li5j YWJlOGIyNGEgMTAwNjQ0CistLS0gYS9jb25maWd1cmUucHJpCTIwMjEtMDItMjQgMTA6NDU6NTgu MDAwMDAwMDAwICswMTAwCisrKysgLQkyMDIxLTAzLTA3IDIxOjE4OjQzLjEyNDc1NDc5NiArMDEw MAorQEAgLTE0NCw2ICsxNDQsNyBAQAorICAgICBjb250YWlucyhRVF9BUkNILCAiYXJtIil8Y29u dGFpbnMoUVRfQVJDSCwgImFybTY0Iik6IHJldHVybih0cnVlKQorICAgICBjb250YWlucyhRVF9B UkNILCAibWlwcyIpOiByZXR1cm4odHJ1ZSkKKyAgICAgY29udGFpbnMoUVRfQVJDSCwgIm1pcHM2 NCIpOiByZXR1cm4odHJ1ZSkKKysgICAgY29udGFpbnMoUVRfQVJDSCwgInBvd2VyNjQiKTogcmV0 dXJuKHRydWUpCisgICAgIHF0TG9nKCJBcmNoaXRlY3R1cmUgbm90IHN1cHBvcnRlZC4iKQorICAg ICByZXR1cm4oZmFsc2UpCisgfQorZGlmZiAtLWdpdCBhL21rc3BlY3MvZmVhdHVyZXMvZnVuY3Rp b25zLnByZiBiL21rc3BlY3MvZmVhdHVyZXMvZnVuY3Rpb25zLnByZgoraW5kZXggNTEyZTI1MjNi Li5lMzExMjM2NTQgMTAwNjQ0CistLS0gYS9ta3NwZWNzL2ZlYXR1cmVzL2Z1bmN0aW9ucy5wcmYJ MjAyMS0wMi0yNCAxMDo0NTo1OC4wMDAwMDAwMDAgKzAxMDAKKysrKyAtCTIwMjEtMDMtMDcgMjE6 MTk6MjEuMzQ1MDM2MjkzICswMTAwCitAQCAtMTA3LDYgKzEwNyw3IEBACisgICAgIGNvbnRhaW5z KHF0QXJjaCwgIm1pcHMiKTogcmV0dXJuKG1pcHNlbCkKKyAgICAgY29udGFpbnMocXRBcmNoLCAi bWlwczY0Iik6IHJldHVybihtaXBzNjRlbCkKKyAgICAgY29udGFpbnMocXRBcmNoLCAibWlwczY0 ZWwiKTogcmV0dXJuKG1pcHM2NGVsKQorKyAgICBjb250YWlucyhxdEFyY2gsICJwb3dlcjY0Iik6 IHJldHVybihwcGM2NCkKKyAgICAgcmV0dXJuKHVua25vd24pCisgfQorIAorLS0tIGEvY21ha2Uv RnVuY3Rpb25zLmNtYWtlCTIwMjEtMDYtMjcgMjE6MzA6NDcuMjM2OTk4ODQ0ICswMjAwCisrKysg LQkyMDIxLTA2LTI3IDIxOjMzOjUwLjA5MTc5NDc1MyArMDIwMAorQEAgLTM2Miw2ICszNjIsOCBA QAorICAgICAgIHNldCgke3Jlc3VsdH0gIm1pcHNlbCIgUEFSRU5UX1NDT1BFKQorICAgIGVsc2Vp ZigiJHthcmNofSIgU1RSRVFVQUwgIm1pcHNlbDY0IikKKyAgICAgICBzZXQoJHtyZXN1bHR9ICJt aXBzNjRlbCIgUEFSRU5UX1NDT1BFKQorKyAgIGVsc2VpZigiJHthcmNofSIgU1RSRVFVQUwgInBv d2VyNjQiKQorKyAgICAgIHNldCgke3Jlc3VsdH0gInBwYzY0IiBQQVJFTlRfU0NPUEUpCisgICAg ZWxzZSgpCisgICAgICAgbWVzc2FnZShERUJVRyAiVW5zdXBwb3J0ZWQgYWNoaXRlY3R1cmU6ICR7 YXJjaH0iKQorICAgIGVuZGlmKCkKKworLS0gCisyLjI2LjAKKwpkaWZmIC0tZ2l0IGEvc3JjcGtn cy9xdDYtd2ViZW5naW5lL3BhdGNoZXMvMDA5MC1xdHdlYmVuZ2luZS1wcGM2NC5wYXRjaCBiL3Ny Y3BrZ3MvcXQ2LXdlYmVuZ2luZS9wYXRjaGVzLzAwOTAtcXR3ZWJlbmdpbmUtcHBjNjQucGF0Y2gK bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwLi40MGYyMTg1YmQ0YzUKLS0t IC9kZXYvbnVsbAorKysgYi9zcmNwa2dzL3F0Ni13ZWJlbmdpbmUvcGF0Y2hlcy8wMDkwLXF0d2Vi ZW5naW5lLXBwYzY0LnBhdGNoCkBAIC0wLDAgKzEsMzYwNCBAQAorZGlmZiAtLWdpdCBhL3NyYy8z cmRwYXJ0eS9jaHJvbWl1bS9jaHJvbWUvaW5zdGFsbGVyL2xpbnV4L0JVSUxELmduIGIvc3JjLzNy ZHBhcnR5L2Nocm9taXVtL2Nocm9tZS9pbnN0YWxsZXIvbGludXgvQlVJTEQuZ24KK2luZGV4IDlj OTIwMTJjZS4uYTRhNWNkODZkIDEwMDY0NAorLS0tIGEvc3JjLzNyZHBhcnR5L2Nocm9taXVtL2No cm9tZS9pbnN0YWxsZXIvbGludXgvQlVJTEQuZ24KKysrKyBiL3NyYy8zcmRwYXJ0eS9jaHJvbWl1 bS9jaHJvbWUvaW5zdGFsbGVyL2xpbnV4L0JVSUxELmduCitAQCAtNjUsOCArNjUsNiBAQCBwYWNr YWdpbmdfZmlsZXMgPSBwYWNrYWdpbmdfZmlsZXNfYmluYXJpZXMgKyBbCisgICAgICAgICAgICAg ICAgICAgICAiJHJvb3Rfb3V0X2Rpci94ZGctbWltZSIsCisgICAgICAgICAgICAgICAgICAgICAi JHJvb3Rfb3V0X2Rpci94ZGctc2V0dGluZ3MiLAorICAgICAgICAgICAgICAgICAgICAgIiRyb290 X291dF9kaXIvbG9jYWxlcy9lbi1VUy5wYWsiLAorLSAgICAgICAgICAgICAgICAgICAgIiRyb290 X291dF9kaXIvTUVJUHJlbG9hZC9tYW5pZmVzdC5qc29uIiwKKy0gICAgICAgICAgICAgICAgICAg ICIkcm9vdF9vdXRfZGlyL01FSVByZWxvYWQvcHJlbG9hZGVkX2RhdGEucGIiLAorICAgICAgICAg ICAgICAgICAgIF0KKyAKKyBhY3Rpb25fZm9yZWFjaCgiY2FsY3VsYXRlX2RlYl9kZXBlbmRlbmNp ZXMiKSB7CitAQCAtMzMxLDcgKzMyOSw2IEBAIGdyb3VwKCJpbnN0YWxsZXJfZGVwcyIpIHsKKyAg ICAgIjp0aGVtZV9maWxlcyIsCisgICAgICIvL2Nocm9tZSIsCisgICAgICIvL2Nocm9tZTpwYWNr ZWRfcmVzb3VyY2VzIiwKKy0gICAgIi8vY2hyb21lL2Jyb3dzZXIvcmVzb3VyY2VzL21lZGlhL21l aV9wcmVsb2FkOmNvbXBvbmVudCIsCisgICAgICIvL3NhbmRib3gvbGludXg6Y2hyb21lX3NhbmRi b3giLAorICAgICAiLy90aGlyZF9wYXJ0eS9jcmFzaHBhZC9jcmFzaHBhZC9oYW5kbGVyOmNyYXNo cGFkX2hhbmRsZXIiLAorICAgXQorZGlmZiAtLWdpdCBhL3NyYy8zcmRwYXJ0eS9jaHJvbWl1bS9z YW5kYm94L2ZlYXR1cmVzLmduaSBiL3NyYy8zcmRwYXJ0eS9jaHJvbWl1bS9zYW5kYm94L2ZlYXR1 cmVzLmduaQoraW5kZXggMDkyODBkMzVmLi40MjUxNDE1N2YgMTAwNjQ0CistLS0gYS9zcmMvM3Jk cGFydHkvY2hyb21pdW0vc2FuZGJveC9mZWF0dXJlcy5nbmkKKysrKyBiL3NyYy8zcmRwYXJ0eS9j aHJvbWl1bS9zYW5kYm94L2ZlYXR1cmVzLmduaQorQEAgLTExLDYgKzExLDcgQEAgaW1wb3J0KCIv L2J1aWxkL2NvbmZpZy9uYWNsL2NvbmZpZy5nbmkiKQorIHVzZV9zZWNjb21wX2JwZiA9IChpc19s aW51eCB8fCBpc19hbmRyb2lkKSAmJgorICAgICAgICAgICAgICAgICAgIChjdXJyZW50X2NwdSA9 PSAieDg2IiB8fCBjdXJyZW50X2NwdSA9PSAieDY0IiB8fAorICAgICAgICAgICAgICAgICAgICBj dXJyZW50X2NwdSA9PSAiYXJtIiB8fCBjdXJyZW50X2NwdSA9PSAiYXJtNjQiIHx8CistICAgICAg ICAgICAgICAgICAgIGN1cnJlbnRfY3B1ID09ICJtaXBzZWwiIHx8IGN1cnJlbnRfY3B1ID09ICJt aXBzNjRlbCIpCisrICAgICAgICAgICAgICAgICAgIGN1cnJlbnRfY3B1ID09ICJtaXBzZWwiIHx8 IGN1cnJlbnRfY3B1ID09ICJtaXBzNjRlbCIgfHwKKysgICAgICAgICAgICAgICAgICAgY3VycmVu dF9jcHUgPT0gInBwYzY0IikKKyAKKyB1c2Vfc2VjY29tcF9icGYgPSB1c2Vfc2VjY29tcF9icGYg fHwgaXNfbmFjbF9ub25zZmkKK2RpZmYgLS1naXQgYS9zcmMvM3JkcGFydHkvY2hyb21pdW0vc2Fu ZGJveC9saW51eC9CVUlMRC5nbiBiL3NyYy8zcmRwYXJ0eS9jaHJvbWl1bS9zYW5kYm94L2xpbnV4 L0JVSUxELmduCitpbmRleCBjMjczNTFmOWEuLjkxNDFlMTIzOSAxMDA2NDQKKy0tLSBhL3NyYy8z cmRwYXJ0eS9jaHJvbWl1bS9zYW5kYm94L2xpbnV4L0JVSUxELmduCisrKysgYi9zcmMvM3JkcGFy dHkvY2hyb21pdW0vc2FuZGJveC9saW51eC9CVUlMRC5nbgorQEAgLTQwNyw2ICs0MDcsOCBAQCBj b21wb25lbnQoInNhbmRib3hfc2VydmljZXMiKSB7CisgCisgc291cmNlX3NldCgic2FuZGJveF9z ZXJ2aWNlc19oZWFkZXJzIikgeworICAgc291cmNlcyA9IFsKKysgICAgInN5c3RlbV9oZWFkZXJz L3BwYzY0X2xpbnV4X3N5c2NhbGxzLmgiLAorKyAgICAic3lzdGVtX2hlYWRlcnMvcHBjNjRfbGlu dXhfdWNvbnRleHQuaCIsCisgICAgICJzeXN0ZW1faGVhZGVycy9hcm02NF9saW51eF9zeXNjYWxs cy5oIiwKKyAgICAgInN5c3RlbV9oZWFkZXJzL2FybV9saW51eF9zeXNjYWxscy5oIiwKKyAgICAg InN5c3RlbV9oZWFkZXJzL2FybV9saW51eF91Y29udGV4dC5oIiwKK2RpZmYgLS1naXQgYS9zcmMv M3JkcGFydHkvY2hyb21pdW0vc2FuZGJveC9saW51eC9icGZfZHNsL2xpbnV4X3N5c2NhbGxfcmFu Z2VzLmggYi9zcmMvM3JkcGFydHkvY2hyb21pdW0vc2FuZGJveC9saW51eC9icGZfZHNsL2xpbnV4 X3N5c2NhbGxfcmFuZ2VzLmgKK2luZGV4IDMxMzUxMWYyMi4uMGNhM2EzMjZmIDEwMDY0NAorLS0t IGEvc3JjLzNyZHBhcnR5L2Nocm9taXVtL3NhbmRib3gvbGludXgvYnBmX2RzbC9saW51eF9zeXNj YWxsX3Jhbmdlcy5oCisrKysgYi9zcmMvM3JkcGFydHkvY2hyb21pdW0vc2FuZGJveC9saW51eC9i cGZfZHNsL2xpbnV4X3N5c2NhbGxfcmFuZ2VzLmgKK0BAIC01Niw2ICs1NiwxMyBAQAorICNkZWZp bmUgTUFYX1BVQkxJQ19TWVNDQUxMIF9fTlJfc3lzY2FsbHMKKyAjZGVmaW5lIE1BWF9TWVNDQUxM IE1BWF9QVUJMSUNfU1lTQ0FMTAorIAorKyNlbGlmIGRlZmluZWQoX19wb3dlcnBjNjRfXykKKysK KysjaW5jbHVkZSA8YXNtL3VuaXN0ZC5oPgorKyNkZWZpbmUgTUlOX1NZU0NBTEwgMHUKKysjZGVm aW5lIE1BWF9QVUJMSUNfU1lTQ0FMTCAzODZ1CisrI2RlZmluZSBNQVhfU1lTQ0FMTCBNQVhfUFVC TElDX1NZU0NBTEwKKysKKyAjZWxzZQorICNlcnJvciAiVW5zdXBwb3J0ZWQgYXJjaGl0ZWN0dXJl IgorICNlbmRpZgorZGlmZiAtLWdpdCBhL3NyYy8zcmRwYXJ0eS9jaHJvbWl1bS9zYW5kYm94L2xp bnV4L2JwZl9kc2wvc2VjY29tcF9tYWNyb3MuaCBiL3NyYy8zcmRwYXJ0eS9jaHJvbWl1bS9zYW5k Ym94L2xpbnV4L2JwZl9kc2wvc2VjY29tcF9tYWNyb3MuaAoraW5kZXggMWE0MDdiOTUyLi5hNmFl YzU0NGUgMTAwNjQ0CistLS0gYS9zcmMvM3JkcGFydHkvY2hyb21pdW0vc2FuZGJveC9saW51eC9i cGZfZHNsL3NlY2NvbXBfbWFjcm9zLmgKKysrKyBiL3NyYy8zcmRwYXJ0eS9jaHJvbWl1bS9zYW5k Ym94L2xpbnV4L2JwZl9kc2wvc2VjY29tcF9tYWNyb3MuaAorQEAgLTE2LDYgKzE2LDkgQEAKKyAj aWYgZGVmaW5lZChfX21pcHNfXykKKyAvLyBzeXMvdXNlci5oIGluIGVnbGliYyBtaXNzZXMgc2l6 ZV90IGRlZmluaXRpb24KKyAjaW5jbHVkZSA8c3RkZGVmLmg+CisrI2VsaWYgZGVmaW5lZChfX3Bv d2VycGM2NF9fKQorKy8vIE1hbnVhbGx5IGRlZmluZSBncmVnX3Qgb24gcHBjNjQKKyt0eXBlZGVm IHVuc2lnbmVkIGxvbmcgbG9uZyBncmVnX3Q7CisgI2VuZGlmCisgI2VuZGlmCisgCitAQCAtMzQ2 LDYgKzM0OSw1MSBAQCBzdHJ1Y3QgcmVnc19zdHJ1Y3QgeworICNkZWZpbmUgU0VDQ09NUF9QVF9Q QVJNNChfcmVncykgKF9yZWdzKS5yZWdzWzNdCisgI2RlZmluZSBTRUNDT01QX1BUX1BBUk01KF9y ZWdzKSAoX3JlZ3MpLnJlZ3NbNF0KKyAjZGVmaW5lIFNFQ0NPTVBfUFRfUEFSTTYoX3JlZ3MpIChf cmVncykucmVnc1s1XQorKworKyNlbGlmIGRlZmluZWQoX19wb3dlcnBjNjRfXykKKysjaW5jbHVk ZSA8YXNtL3B0cmFjZS5oPgorKworK3R5cGVkZWYgc3RydWN0IHB0X3JlZ3MgcmVnc19zdHJ1Y3Q7 CisrCisrI2lmZGVmIEFSQ0hfQ1BVX0xJVFRMRV9FTkRJQU4KKysjZGVmaW5lIFNFQ0NPTVBfQVJD SCBBVURJVF9BUkNIX1BQQzY0TEUKKysjZWxzZQorKyNkZWZpbmUgU0VDQ09NUF9BUkNIIEFVRElU X0FSQ0hfUFBDNjQKKysjZW5kaWYKKysKKysjZGVmaW5lIFNFQ0NPTVBfUkVHKF9jdHgsIF9yZWcp ICgoX2N0eCktPnVjX21jb250ZXh0LnJlZ3MtPmdwcltfcmVnXSkKKysKKysjZGVmaW5lIFNFQ0NP TVBfUkVTVUxUKF9jdHgpIFNFQ0NPTVBfUkVHKF9jdHgsIDMpCisrI2RlZmluZSBTRUNDT01QX1NZ U0NBTEwoX2N0eCkgU0VDQ09NUF9SRUcoX2N0eCwgMCkKKysjZGVmaW5lIFNFQ0NPTVBfSVAoX2N0 eCkgKF9jdHgpLT51Y19tY29udGV4dC5yZWdzLT5uaXAKKysjZGVmaW5lIFNFQ0NPTVBfUEFSTTEo X2N0eCkgU0VDQ09NUF9SRUcoX2N0eCwgMykKKysjZGVmaW5lIFNFQ0NPTVBfUEFSTTIoX2N0eCkg U0VDQ09NUF9SRUcoX2N0eCwgNCkKKysjZGVmaW5lIFNFQ0NPTVBfUEFSTTMoX2N0eCkgU0VDQ09N UF9SRUcoX2N0eCwgNSkKKysjZGVmaW5lIFNFQ0NPTVBfUEFSTTQoX2N0eCkgU0VDQ09NUF9SRUco X2N0eCwgNikKKysjZGVmaW5lIFNFQ0NPTVBfUEFSTTUoX2N0eCkgU0VDQ09NUF9SRUcoX2N0eCwg NykKKysjZGVmaW5lIFNFQ0NPTVBfUEFSTTYoX2N0eCkgU0VDQ09NUF9SRUcoX2N0eCwgOCkKKysK KysjZGVmaW5lIFNFQ0NPTVBfTlJfSURYIChvZmZzZXRvZihzdHJ1Y3QgYXJjaF9zZWNjb21wX2Rh dGEsIG5yKSkKKysjZGVmaW5lIFNFQ0NPTVBfQVJDSF9JRFggKG9mZnNldG9mKHN0cnVjdCBhcmNo X3NlY2NvbXBfZGF0YSwgYXJjaCkpCisrI2RlZmluZSBTRUNDT01QX0lQX01TQl9JRFggXAorKyAg KG9mZnNldG9mKHN0cnVjdCBhcmNoX3NlY2NvbXBfZGF0YSwgaW5zdHJ1Y3Rpb25fcG9pbnRlcikg KyA0KQorKyNkZWZpbmUgU0VDQ09NUF9JUF9MU0JfSURYIFwKKysgIChvZmZzZXRvZihzdHJ1Y3Qg YXJjaF9zZWNjb21wX2RhdGEsIGluc3RydWN0aW9uX3BvaW50ZXIpICsgMCkKKysjZGVmaW5lIFNF Q0NPTVBfQVJHX01TQl9JRFgobnIpIFwKKysgIChvZmZzZXRvZihzdHJ1Y3QgYXJjaF9zZWNjb21w X2RhdGEsIGFyZ3MpICsgOCAqIChucikgKyA0KQorKyNkZWZpbmUgU0VDQ09NUF9BUkdfTFNCX0lE WChucikgXAorKyAgKG9mZnNldG9mKHN0cnVjdCBhcmNoX3NlY2NvbXBfZGF0YSwgYXJncykgKyA4 ICogKG5yKSArIDApCisrCisrI2RlZmluZSBTRUNDT01QX1BUX1JFU1VMVChfcmVncykgKF9yZWdz KS5ncHJbM10KKysjZGVmaW5lIFNFQ0NPTVBfUFRfU1lTQ0FMTChfcmVncykgKF9yZWdzKS5ncHJb MF0KKysjZGVmaW5lIFNFQ0NPTVBfUFRfSVAoX3JlZ3MpIChfcmVncykubmlwCisrI2RlZmluZSBT RUNDT01QX1BUX1BBUk0xKF9yZWdzKSAoX3JlZ3MpLmdwclszXQorKyNkZWZpbmUgU0VDQ09NUF9Q VF9QQVJNMihfcmVncykgKF9yZWdzKS5ncHJbNF0KKysjZGVmaW5lIFNFQ0NPTVBfUFRfUEFSTTMo X3JlZ3MpIChfcmVncykuZ3ByWzVdCisrI2RlZmluZSBTRUNDT01QX1BUX1BBUk00KF9yZWdzKSAo X3JlZ3MpLmdwcls2XQorKyNkZWZpbmUgU0VDQ09NUF9QVF9QQVJNNShfcmVncykgKF9yZWdzKS5n cHJbN10KKysjZGVmaW5lIFNFQ0NPTVBfUFRfUEFSTTYoX3JlZ3MpIChfcmVncykuZ3ByWzhdCisr CisgI2Vsc2UKKyAjZXJyb3IgVW5zdXBwb3J0ZWQgdGFyZ2V0IHBsYXRmb3JtCisgCitkaWZmIC0t Z2l0IGEvc3JjLzNyZHBhcnR5L2Nocm9taXVtL3NhbmRib3gvbGludXgvc2VjY29tcC1icGYtaGVs cGVycy9iYXNlbGluZV9wb2xpY3kuY2MgYi9zcmMvM3JkcGFydHkvY2hyb21pdW0vc2FuZGJveC9s aW51eC9zZWNjb21wLWJwZi1oZWxwZXJzL2Jhc2VsaW5lX3BvbGljeS5jYworaW5kZXggNzEyZjk2 OTlhLi41NWYwNjI4MTcgMTAwNjQ0CistLS0gYS9zcmMvM3JkcGFydHkvY2hyb21pdW0vc2FuZGJv eC9saW51eC9zZWNjb21wLWJwZi1oZWxwZXJzL2Jhc2VsaW5lX3BvbGljeS5jYworKysrIGIvc3Jj LzNyZHBhcnR5L2Nocm9taXVtL3NhbmRib3gvbGludXgvc2VjY29tcC1icGYtaGVscGVycy9iYXNl bGluZV9wb2xpY3kuY2MKK0BAIC04OCw3ICs4OCw4IEBAIGJvb2wgSXNCYXNlbGluZVBvbGljeVdh dGNoZWQoaW50IHN5c25vKSB7CisgICAgICAgICAgU3lzY2FsbFNldHM6OklzUHJjdGwoc3lzbm8p IHx8CisgICAgICAgICAgU3lzY2FsbFNldHM6OklzUHJvY2Vzc0dyb3VwT3JTZXNzaW9uKHN5c25v KSB8fAorICNpZiBkZWZpbmVkKF9faTM4Nl9fKSB8fCBcCistICAgIChkZWZpbmVkKEFSQ0hfQ1BV X01JUFNfRkFNSUxZKSAmJiBkZWZpbmVkKEFSQ0hfQ1BVXzMyX0JJVFMpKQorKyAgICAoZGVmaW5l ZChBUkNIX0NQVV9NSVBTX0ZBTUlMWSkgJiYgZGVmaW5lZChBUkNIX0NQVV8zMl9CSVRTKSkgfHwg XAorKyAgICBkZWZpbmVkKF9fcG93ZXJwYzY0X18pCisgICAgICAgICAgU3lzY2FsbFNldHM6Oklz U29ja2V0Q2FsbChzeXNubykgfHwKKyAjZW5kaWYKKyAjaWYgZGVmaW5lZChfX2FybV9fKQorQEAg LTIxMCw3ICsyMTEsNyBAQCBSZXN1bHRFeHByIEV2YWx1YXRlU3lzY2FsbEltcGwoaW50IGZzX2Rl bmllZF9lcnJubywKKyAgIH0KKyAKKyAjaWYgZGVmaW5lZChfX2kzODZfXykgfHwgZGVmaW5lZChf X3g4Nl82NF9fKSB8fCBkZWZpbmVkKF9fbWlwc19fKSB8fCBcCistICAgIGRlZmluZWQoX19hYXJj aDY0X18pCisrICAgIGRlZmluZWQoX19hYXJjaDY0X18pIHx8IGRlZmluZWQoX19wb3dlcnBjNjRf XykKKyAgIGlmIChzeXNubyA9PSBfX05SX21tYXApCisgICAgIHJldHVybiBSZXN0cmljdE1tYXBG bGFncygpOworICNlbmRpZgorQEAgLTIyOCw3ICsyMjksNyBAQCBSZXN1bHRFeHByIEV2YWx1YXRl U3lzY2FsbEltcGwoaW50IGZzX2RlbmllZF9lcnJubywKKyAgICAgcmV0dXJuIFJlc3RyaWN0UHJj dGwoKTsKKyAKKyAjaWYgZGVmaW5lZChfX3g4Nl82NF9fKSB8fCBkZWZpbmVkKF9fYXJtX18pIHx8 IGRlZmluZWQoX19taXBzX18pIHx8IFwKKy0gICAgZGVmaW5lZChfX2FhcmNoNjRfXykKKysgICAg ZGVmaW5lZChfX2FhcmNoNjRfXykgfHwgZGVmaW5lZChfX3Bvd2VycGM2NF9fKQorICAgaWYgKHN5 c25vID09IF9fTlJfc29ja2V0cGFpcikgeworICAgICAvLyBPbmx5IGFsbG93IEFGX1VOSVgsIFBG X1VOSVguIENyYXNoIGlmIGFueXRoaW5nIGVsc2UgaXMgc2Vlbi4KKyAgICAgc3RhdGljX2Fzc2Vy dChBRl9VTklYID09IFBGX1VOSVgsCitAQCAtMjY4LDcgKzI2OSw4IEBAIFJlc3VsdEV4cHIgRXZh bHVhdGVTeXNjYWxsSW1wbChpbnQgZnNfZGVuaWVkX2Vycm5vLAorICAgfQorIAorICNpZiBkZWZp bmVkKF9faTM4Nl9fKSB8fCBcCistICAgIChkZWZpbmVkKEFSQ0hfQ1BVX01JUFNfRkFNSUxZKSAm JiBkZWZpbmVkKEFSQ0hfQ1BVXzMyX0JJVFMpKQorKyAgICAoZGVmaW5lZChBUkNIX0NQVV9NSVBT X0ZBTUlMWSkgJiYgZGVmaW5lZChBUkNIX0NQVV8zMl9CSVRTKSkgfHwgXAorKyAgICBkZWZpbmVk KF9fcG93ZXJwYzY0X18pCisgICBpZiAoU3lzY2FsbFNldHM6OklzU29ja2V0Q2FsbChzeXNubykp CisgICAgIHJldHVybiBSZXN0cmljdFNvY2tldGNhbGxDb21tYW5kKCk7CisgI2VuZGlmCitkaWZm IC0tZ2l0IGEvc3JjLzNyZHBhcnR5L2Nocm9taXVtL3NhbmRib3gvbGludXgvc2VjY29tcC1icGYt aGVscGVycy9iYXNlbGluZV9wb2xpY3lfdW5pdHRlc3QuY2MgYi9zcmMvM3JkcGFydHkvY2hyb21p dW0vc2FuZGJveC9saW51eC9zZWNjb21wLWJwZi1oZWxwZXJzL2Jhc2VsaW5lX3BvbGljeV91bml0 dGVzdC5jYworaW5kZXggZmMzNjE4N2M5Li4xYWZmYzkxODkgMTAwNjQ0CistLS0gYS9zcmMvM3Jk cGFydHkvY2hyb21pdW0vc2FuZGJveC9saW51eC9zZWNjb21wLWJwZi1oZWxwZXJzL2Jhc2VsaW5l X3BvbGljeV91bml0dGVzdC5jYworKysrIGIvc3JjLzNyZHBhcnR5L2Nocm9taXVtL3NhbmRib3gv bGludXgvc2VjY29tcC1icGYtaGVscGVycy9iYXNlbGluZV9wb2xpY3lfdW5pdHRlc3QuY2MKK0BA IC0yOTEsOCArMjkxLDEwIEBAIFRFU1RfQkFTRUxJTkVfU0lHU1lTKF9fTlJfdGltZXJfY3JlYXRl KQorICNpZiAhZGVmaW5lZChfX2FhcmNoNjRfXykKKyBURVNUX0JBU0VMSU5FX1NJR1NZUyhfX05S X2V2ZW50ZmQpCisgVEVTVF9CQVNFTElORV9TSUdTWVMoX19OUl9pbm90aWZ5X2luaXQpCisrI2lm ICFkZWZpbmVkKF9fcG93ZXJwYzY0X18pCisgVEVTVF9CQVNFTElORV9TSUdTWVMoX19OUl92c2Vy dmVyKQorICNlbmRpZgorKyNlbmRpZgorIAorICNpZiBkZWZpbmVkKExJQkNfR0xJQkMpICYmICFk ZWZpbmVkKE9TX0NIUk9NRU9TKQorIEJQRl9URVNUX0MoQmFzZWxpbmVQb2xpY3ksIEZ1dGV4RUlO VkFMLCBCYXNlbGluZVBvbGljeSkgeworZGlmZiAtLWdpdCBzYW5kYm94L2xpbnV4L3NlY2NvbXAt YnBmLWhlbHBlcnMvc3lzY2FsbF9wYXJhbWV0ZXJzX3Jlc3RyaWN0aW9ucy5jYyBzYW5kYm94L2xp bnV4L3NlY2NvbXAtYnBmLWhlbHBlcnMvc3lzY2FsbF9wYXJhbWV0ZXJzX3Jlc3RyaWN0aW9ucy5j YworaW5kZXggZjUxOTE1ZWRjLi5jYTJmNGYxMDYgMTAwNjQ0CistLS0gYS9zcmMvM3JkcGFydHkv Y2hyb21pdW0vc2FuZGJveC9saW51eC9zZWNjb21wLWJwZi1oZWxwZXJzL3N5c2NhbGxfcGFyYW1l dGVyc19yZXN0cmljdGlvbnMuY2MKKysrKyBhL3NyYy8zcmRwYXJ0eS9jaHJvbWl1bS9zYW5kYm94 L2xpbnV4L3NlY2NvbXAtYnBmLWhlbHBlcnMvc3lzY2FsbF9wYXJhbWV0ZXJzX3Jlc3RyaWN0aW9u cy5jYworQEAgLTQwLDcgKzQwLDggQEAKKyAjaW5jbHVkZSA8c3lzL3B0cmFjZS5oPgorICNpZiAo ZGVmaW5lZChPU19MSU5VWCkgfHwgQlVJTERGTEFHKElTX0NIUk9NRU9TX0xBQ1JPUykpICYmIFwK KyAgICAgIWRlZmluZWQoX19hcm1fXykgJiYgIWRlZmluZWQoX19hYXJjaDY0X18pICYmICAgICAg ICAgICBcCistICAgICFkZWZpbmVkKFBUUkFDRV9HRVRfVEhSRUFEX0FSRUEpCisrICAgICFkZWZp bmVkKFBUUkFDRV9HRVRfVEhSRUFEX0FSRUEpICYmCQkJICAgIFwKKysgICAgIWRlZmluZWQoX19w b3dlcnBjNjRfXykKKyAvLyBBbHNvIGluY2x1ZGUgYXNtL3B0cmFjZS1hYmkuaCBzaW5jZSBwdHJh Y2UuaCBpbiBvbGRlciBsaWJjIChmb3IgaW5zdGFuY2UKKyAvLyB0aGUgb25lIGluIFVidW50dSAx Ni4wNCBMVFMpIGlzIG1pc3NpbmcgUFRSQUNFX0dFVF9USFJFQURfQVJFQS4KKyAvLyBhc20vcHRy YWNlLWFiaS5oIGRvZXNuJ3QgZXhpc3Qgb24gYXJtMzIgYW5kIFBUUkFDRV9HRVRfVEhSRUFEX0FS RUEgaXNuJ3QKK0BAIC00OSw2ICs1MCwxMSBAQAorICNlbmRpZgorICNlbmRpZiAgLy8gIU9TX05B Q0xfTk9OU0ZJCisgCisrLy8gT24gUFBDNjQsIFRDR0VUUyBpcyBkZWZpbmVkIGluIHRlcm1zIG9m IHN0cnVjdCB0ZXJtaW9zLCBzbyB3ZSBtdXN0IGluY2x1ZGUgdGVybWlvcy5oCisrI2lmZGVmIF9f cG93ZXJwYzY0X18KKysjaW5jbHVkZSA8dGVybWlvcy5oPgorKyNlbmRpZgorKworICNpZiBkZWZp bmVkKE9TX0FORFJPSUQpCisgCisgI2lmICFkZWZpbmVkKEZfRFVQRkRfQ0xPRVhFQykKK0BAIC05 OCw2ICsxMDQsMTUgQEAKKyAjZW5kaWYKKyB9CisgCisraW5saW5lIGJvb2wgSXNBcmNoaXRlY3R1 cmVQUEM2NCgpIHsKKysjaWYgZGVmaW5lZChfX3Bvd2VycGM2NF9fKQorKyAgcmV0dXJuIHRydWU7 CisrI2Vsc2UKKysgIHJldHVybiBmYWxzZTsKKysjZW5kaWYKKyt9CisrCisrCisgLy8gVWJ1bnR1 J3MgdmVyc2lvbiBvZiBnbGliYyBoYXMgYSByYWNlIGNvbmRpdGlvbiBpbiBzZW1fcG9zdCB0aGF0 IGNhbiBjYXVzZQorIC8vIGl0IHRvIGNhbGwgZnV0ZXgoMikgd2l0aCBib2d1cyBvcCBhcmd1bWVu dHMuIFRvIHdvcmthcm91bmQgdGhpcywgd2UgbmVlZAorIC8vIHRvIGFsbG93IHRob3NlIGZ1dGV4 KDIpIGNhbGxzIHRvIGZhaWwgd2l0aCBFSU5WQUwsIGluc3RlYWQgb2YgY3Jhc2hpbmcgdGhlCitA QCAtMjM5LDYgKzI1NCw4IEBACisgICB1aW50NjRfdCBrT0xhcmdlRmlsZUZsYWcgPSBPX0xBUkdF RklMRTsKKyAgIGlmIChJc0FyY2hpdGVjdHVyZVg4Nl82NCgpIHx8IElzQXJjaGl0ZWN0dXJlSTM4 NigpIHx8IElzQXJjaGl0ZWN0dXJlTWlwcygpKQorICAgICBrT0xhcmdlRmlsZUZsYWcgPSAwMTAw MDAwOworKyAgZWxzZSBpZiAoSXNBcmNoaXRlY3R1cmVQUEM2NCgpKQorKyAgICBrT0xhcmdlRmls ZUZsYWcgPSAwMjAwMDAwOworIAorICAgY29uc3QgQXJnPGludD4gY21kKDEpOworICAgY29uc3Qg QXJnPGxvbmc+IGxvbmdfYXJnKDIpOworQEAgLTI1MywxNCArMjcwLDIzIEBACisgICAgICAgICAg ICAgICBGX1NFVExLVywKKyAgICAgICAgICAgICAgIEZfR0VUTEssCisgICAgICAgICAgICAgICBG X0RVUEZELAorLSAgICAgICAgICAgICAgRl9EVVBGRF9DTE9FWEVDKSwKKy0gICAgICAgICAgICAg QWxsb3coKSkKKysgICAgICAgICAgICAgIEZfRFVQRkRfQ0xPRVhFQworKyNpZiBkZWZpbmVkKF9f cG93ZXJwYzY0X18pCisrLy8gT24gUFBDNjQsIEZfU0VUTEssIEZfR0VUTEssIEZfU0VUTEtXIGFy ZSBkZWZpbmVkIGFzIHRoZSA2NC1iaXQgdmFyaWFudHMKKysvLyBidXQgZ2xpYmMgd2lsbCBzb21l dGltZXMgc3RpbGwgdXNlIHRoZSAzMi1iaXQgdmVyc2lvbnMuIEFsbG93IGJvdGguCisrICAgICAg ICAgICAgICAsCisrICAgICAgICAgICAgICA1LCAvKiBGX0dFVExLICgzMikgKi8KKysgICAgICAg ICAgICAgIDYsIC8qIEZfU0VUTEsgKDMyKSAqLworKyAgICAgICAgICAgICAgNyAgLyogRl9TRVRM S1cgKDMyKSAqLworKyNlbmRpZgorKyAgICAgICAgICAgICAgKSwKKysgICAgICAgICAgICBBbGxv dygpKQorICAgICAgIC5DYXNlKEZfU0VURkwsCisgICAgICAgICAgICAgSWYoKGxvbmdfYXJnICYg fmtBbGxvd2VkTWFzaykgPT0gMCwgQWxsb3coKSkuRWxzZShDcmFzaFNJR1NZUygpKSkKKyAgICAg ICAuRGVmYXVsdChDcmFzaFNJR1NZUygpKTsKKyB9CisgCistI2lmIGRlZmluZWQoX19pMzg2X18p IHx8IGRlZmluZWQoX19taXBzX18pCisrI2lmIGRlZmluZWQoX19pMzg2X18pIHx8IGRlZmluZWQo X19taXBzX18pIHx8IGRlZmluZWQoX19wb3dlcnBjNjRfXykKKyBSZXN1bHRFeHByIFJlc3RyaWN0 U29ja2V0Y2FsbENvbW1hbmQoKSB7CisgICAvLyBVbmZvcnR1bmF0ZWx5LCB3ZSBhcmUgdW5hYmxl IHRvIHJlc3RyaWN0IHRoZSBmaXJzdCBwYXJhbWV0ZXIgdG8KKyAgIC8vIHNvY2tldHBhaXIoMiku IFdoaWxzdCBpbml0aWFsbHkgc291bmRpbmcgYmFkLCBpdCdzIG5vdGV3b3J0aHkgdGhhdCB2ZXJ5 CitAQCAtNDUwLDcgKzQ1MCw3IEBACisgI2VuZGlmCisgICByZXR1cm4gU3dpdGNoKHJlcXVlc3Qp CisgICAgICAgLkNBU0VTKCgKKy0jaWYgIWRlZmluZWQoX19hYXJjaDY0X18pCisrI2lmICFkZWZp bmVkKF9fYWFyY2g2NF9fKSAmJiAhZGVmaW5lZChfX3Bvd2VycGM2NF9fKQorICAgICAgICAgICAg ICAgICAgUFRSQUNFX0dFVFJFR1MsIFBUUkFDRV9HRVRGUFJFR1MsCisgI2lmIGRlZmluZWQoVFJB Q0VfR0VUX1RIUkVBRF9BUkVBKQorICAgICAgICAgICAgICAgICAgUFRSQUNFX0dFVF9USFJFQURf QVJFQSwKKworZGlmZiAtLWdpdCBhL3NyYy8zcmRwYXJ0eS9jaHJvbWl1bS9zYW5kYm94L2xpbnV4 L3NlY2NvbXAtYnBmLWhlbHBlcnMvc3lzY2FsbF9wYXJhbWV0ZXJzX3Jlc3RyaWN0aW9ucy5oIGIv c3JjLzNyZHBhcnR5L2Nocm9taXVtL3NhbmRib3gvbGludXgvc2VjY29tcC1icGYtaGVscGVycy9z eXNjYWxsX3BhcmFtZXRlcnNfcmVzdHJpY3Rpb25zLmgKK2luZGV4IGJhNDI4OWYwNS4uOWE0ZDVh YjJkIDEwMDY0NAorLS0tIGEvc3JjLzNyZHBhcnR5L2Nocm9taXVtL3NhbmRib3gvbGludXgvc2Vj Y29tcC1icGYtaGVscGVycy9zeXNjYWxsX3BhcmFtZXRlcnNfcmVzdHJpY3Rpb25zLmgKKysrKyBi L3NyYy8zcmRwYXJ0eS9jaHJvbWl1bS9zYW5kYm94L2xpbnV4L3NlY2NvbXAtYnBmLWhlbHBlcnMv c3lzY2FsbF9wYXJhbWV0ZXJzX3Jlc3RyaWN0aW9ucy5oCitAQCAtNDgsNyArNDgsNyBAQCBTQU5E Qk9YX0VYUE9SVCBicGZfZHNsOjpSZXN1bHRFeHByIFJlc3RyaWN0TXByb3RlY3RGbGFncygpOwor IC8vIE9fTk9OQkxPQ0sgfCBPX1NZTkMgfCBPX0xBUkdFRklMRSB8IE9fQ0xPRVhFQyB8IE9fTk9B VElNRS4KKyBTQU5EQk9YX0VYUE9SVCBicGZfZHNsOjpSZXN1bHRFeHByIFJlc3RyaWN0RmNudGxD b21tYW5kcygpOworIAorLSNpZiBkZWZpbmVkKF9faTM4Nl9fKSB8fCBkZWZpbmVkKF9fbWlwc19f KQorKyNpZiBkZWZpbmVkKF9faTM4Nl9fKSB8fCBkZWZpbmVkKF9fbWlwc19fKSB8fCBkZWZpbmVk KF9fcG93ZXJwYzY0X18pCisgLy8gUmVzdHJpY3Qgc29ja2V0Y2FsbCgyKSB0byBvbmx5IGFsbG93 IHNvY2tldHBhaXIoMiksIHNlbmQoMiksIHJlY3YoMiksCisgLy8gc2VuZHRvKDIpLCByZWN2ZnJv bSgyKSwgc2h1dGRvd24oMiksIHNlbmRtc2coMikgYW5kIHJlY3Ztc2coMikuCisgU0FOREJPWF9F WFBPUlQgYnBmX2RzbDo6UmVzdWx0RXhwciBSZXN0cmljdFNvY2tldGNhbGxDb21tYW5kKCk7Citk aWZmIC0tZ2l0IGEvc3JjLzNyZHBhcnR5L2Nocm9taXVtL3NhbmRib3gvbGludXgvc2VjY29tcC1i cGYtaGVscGVycy9zeXNjYWxsX3NldHMuY2MgYi9zcmMvM3JkcGFydHkvY2hyb21pdW0vc2FuZGJv eC9saW51eC9zZWNjb21wLWJwZi1oZWxwZXJzL3N5c2NhbGxfc2V0cy5jYworaW5kZXggZTE2MjIz YTVlLi44ZjM3ZGQ3ZGMgMTAwNjQ0CistLS0gYS9zcmMvM3JkcGFydHkvY2hyb21pdW0vc2FuZGJv eC9saW51eC9zZWNjb21wLWJwZi1oZWxwZXJzL3N5c2NhbGxfc2V0cy5jYworKysrIGIvc3JjLzNy ZHBhcnR5L2Nocm9taXVtL3NhbmRib3gvbGludXgvc2VjY29tcC1icGYtaGVscGVycy9zeXNjYWxs X3NldHMuY2MKK0BAIC0yOSw3ICsyOSw4IEBAIGJvb2wgU3lzY2FsbFNldHM6OklzQWxsb3dlZEdl dHRpbWUoaW50IHN5c25vKSB7CisgICBzd2l0Y2ggKHN5c25vKSB7CisgICAgIGNhc2UgX19OUl9n ZXR0aW1lb2ZkYXk6CisgI2lmIGRlZmluZWQoX19pMzg2X18pIHx8IGRlZmluZWQoX194ODZfNjRf XykgfHwgXAorLSAgICAoZGVmaW5lZChBUkNIX0NQVV9NSVBTX0ZBTUlMWSkgJiYgZGVmaW5lZChB UkNIX0NQVV8zMl9CSVRTKSkKKysgICAgKGRlZmluZWQoQVJDSF9DUFVfTUlQU19GQU1JTFkpICYm IGRlZmluZWQoQVJDSF9DUFVfMzJfQklUUykpIHx8IFwKKysgICAgZGVmaW5lZChfX3Bvd2VycGM2 NF9fKQorICAgICBjYXNlIF9fTlJfdGltZToKKyAjZW5kaWYKKyAgICAgICByZXR1cm4gdHJ1ZTsK K0BAIC00MSwxMiArNDIsMTQgQEAgYm9vbCBTeXNjYWxsU2V0czo6SXNBbGxvd2VkR2V0dGltZShp bnQgc3lzbm8pIHsKKyAgICAgY2FzZSBfX05SX2Nsb2NrX25hbm9zbGVlcDogIC8vIFBhcmFtZXRl cnMgZmlsdGVyZWQgYnkgUmVzdHJpY3RDbG9ja0lEKCkuCisgICAgIGNhc2UgX19OUl9jbG9ja19z ZXR0aW1lOiAgICAvLyBQcml2aWxlZ2VkLgorICNpZiBkZWZpbmVkKF9faTM4Nl9fKSB8fCBcCist ICAgIChkZWZpbmVkKEFSQ0hfQ1BVX01JUFNfRkFNSUxZKSAmJiBkZWZpbmVkKEFSQ0hfQ1BVXzMy X0JJVFMpKQorKyAgICAoZGVmaW5lZChBUkNIX0NQVV9NSVBTX0ZBTUlMWSkgJiYgZGVmaW5lZChB UkNIX0NQVV8zMl9CSVRTKSkgfHwgXAorKyAgICBkZWZpbmVkKF9fcG93ZXJwYzY0X18pCisgICAg IGNhc2UgX19OUl9mdGltZTogIC8vIE9ic29sZXRlLgorICNlbmRpZgorICAgICBjYXNlIF9fTlJf c2V0dGltZW9mZGF5OiAgLy8gUHJpdmlsZWdlZC4KKyAjaWYgZGVmaW5lZChfX2kzODZfXykgfHwg XAorLSAgICAoZGVmaW5lZChBUkNIX0NQVV9NSVBTX0ZBTUlMWSkgJiYgZGVmaW5lZChBUkNIX0NQ VV8zMl9CSVRTKSkKKysgICAgKGRlZmluZWQoQVJDSF9DUFVfTUlQU19GQU1JTFkpICYmIGRlZmlu ZWQoQVJDSF9DUFVfMzJfQklUUykpIHx8IFwKKysgICAgZGVmaW5lZChfX3Bvd2VycGM2NF9fKQor ICAgICBjYXNlIF9fTlJfc3RpbWU6CisgI2VuZGlmCisgICAgIGRlZmF1bHQ6CitAQCAtMTEyLDcg KzExNSw3IEBAIGJvb2wgU3lzY2FsbFNldHM6OklzRmlsZVN5c3RlbShpbnQgc3lzbm8pIHsKKyAg ICAgY2FzZSBfX05SX2ZhY2Nlc3NhdDogIC8vIEVQRVJNIG5vdCBhIHZhbGlkIGVycm5vLgorICAg ICBjYXNlIF9fTlJfZmNobW9kYXQ6CisgICAgIGNhc2UgX19OUl9mY2hvd25hdDogIC8vIFNob3Vs ZCBiZSBjYWxsZWQgY2hvd25hdCA/CistI2lmIGRlZmluZWQoX194ODZfNjRfXykgfHwgZGVmaW5l ZChfX2FhcmNoNjRfXykKKysjaWYgZGVmaW5lZChfX3g4Nl82NF9fKSB8fCBkZWZpbmVkKF9fYWFy Y2g2NF9fKSB8fCBkZWZpbmVkKF9fcG93ZXJwYzY0X18pCisgICAgIGNhc2UgX19OUl9uZXdmc3Rh dGF0OiAgLy8gZnN0YXRhdCgpLiBFUEVSTSBub3QgYSB2YWxpZCBlcnJuby4KKyAjZWxpZiBkZWZp bmVkKF9faTM4Nl9fKSB8fCBkZWZpbmVkKF9fYXJtX18pIHx8IFwKKyAgICAgKGRlZmluZWQoQVJD SF9DUFVfTUlQU19GQU1JTFkpICYmIGRlZmluZWQoQVJDSF9DUFVfMzJfQklUUykpCitAQCAtMTMx LDcgKzEzNCw3IEBAIGJvb2wgU3lzY2FsbFNldHM6OklzRmlsZVN5c3RlbShpbnQgc3lzbm8pIHsK KyAgICAgY2FzZSBfX05SX21lbWZkX2NyZWF0ZToKKyAgICAgY2FzZSBfX05SX21rZGlyYXQ6Cisg ICAgIGNhc2UgX19OUl9ta25vZGF0OgorLSNpZiBkZWZpbmVkKF9faTM4Nl9fKQorKyNpZiBkZWZp bmVkKF9faTM4Nl9fKSB8fCBkZWZpbmVkKF9fcG93ZXJwYzY0X18pCisgICAgIGNhc2UgX19OUl9v bGRsc3RhdDoKKyAgICAgY2FzZSBfX05SX29sZHN0YXQ6CisgI2VuZGlmCitAQCAtMTQ1LDcgKzE0 OCw4IEBAIGJvb2wgU3lzY2FsbFNldHM6OklzRmlsZVN5c3RlbShpbnQgc3lzbm8pIHsKKyAjZW5k aWYKKyAgICAgY2FzZSBfX05SX3N0YXRmczogIC8vIEVQRVJNIG5vdCBhIHZhbGlkIGVycm5vLgor ICNpZiBkZWZpbmVkKF9faTM4Nl9fKSB8fCBkZWZpbmVkKF9fYXJtX18pIHx8IFwKKy0gICAgKGRl ZmluZWQoQVJDSF9DUFVfTUlQU19GQU1JTFkpICYmIGRlZmluZWQoQVJDSF9DUFVfMzJfQklUUykp CisrICAgIChkZWZpbmVkKEFSQ0hfQ1BVX01JUFNfRkFNSUxZKSAmJiBkZWZpbmVkKEFSQ0hfQ1BV XzMyX0JJVFMpKSB8fCBcCisrICAgIGRlZmluZWQoX19wb3dlcnBjNjRfXykKKyAgICAgY2FzZSBf X05SX3N0YXRmczY0OgorICNlbmRpZgorICAgICBjYXNlIF9fTlJfc3ltbGlua2F0OgorQEAgLTE1 NSw3ICsxNTksOCBAQCBib29sIFN5c2NhbGxTZXRzOjpJc0ZpbGVTeXN0ZW0oaW50IHN5c25vKSB7 CisgICAgIGNhc2UgX19OUl90cnVuY2F0ZTY0OgorICNlbmRpZgorICAgICBjYXNlIF9fTlJfdW5s aW5rYXQ6CistI2lmIGRlZmluZWQoX19pMzg2X18pIHx8IGRlZmluZWQoX194ODZfNjRfXykgfHwg ZGVmaW5lZChfX21pcHNfXykKKysjaWYgZGVmaW5lZChfX2kzODZfXykgfHwgZGVmaW5lZChfX3g4 Nl82NF9fKSB8fCBkZWZpbmVkKF9fbWlwc19fKSB8fCBcCisrICAgIGRlZmluZWQoX19wb3dlcnBj NjRfXykKKyAgICAgY2FzZSBfX05SX3V0aW1lOgorICNlbmRpZgorICAgICBjYXNlIF9fTlJfdXRp bWVuc2F0OiAgLy8gTmV3LgorQEAgLTE3NCw3ICsxNzksOCBAQCBib29sIFN5c2NhbGxTZXRzOjpJ c0FsbG93ZWRGaWxlU3lzdGVtQWNjZXNzVmlhRmQoaW50IHN5c25vKSB7CisgI2VuZGlmCisgICAg ICAgcmV0dXJuIHRydWU7CisgLy8gVE9ETyhqbG4pOiB0aGVzZSBzaG91bGQgYmUgZGVuaWVkIGdy YWNlZnVsbHkgYXMgd2VsbCAobW92ZWQgYmVsb3cpLgorLSNpZiBkZWZpbmVkKF9faTM4Nl9fKSB8 fCBkZWZpbmVkKF9feDg2XzY0X18pIHx8IGRlZmluZWQoX19taXBzX18pCisrI2lmIGRlZmluZWQo X19pMzg2X18pIHx8IGRlZmluZWQoX194ODZfNjRfXykgfHwgZGVmaW5lZChfX21pcHNfXykgfHwg XAorKyAgICBkZWZpbmVkKF9fcG93ZXJwYzY0X18pCisgICAgIGNhc2UgX19OUl9mYWR2aXNlNjQ6 ICAvLyBFUEVSTSBub3QgYSB2YWxpZCBlcnJuby4KKyAjZW5kaWYKKyAjaWYgZGVmaW5lZChfX2kz ODZfXykKK0BAIC0xODcsMTEgKzE5MywxMiBAQCBib29sIFN5c2NhbGxTZXRzOjpJc0FsbG93ZWRG aWxlU3lzdGVtQWNjZXNzVmlhRmQoaW50IHN5c25vKSB7CisgICAgIGNhc2UgX19OUl9mbG9jazog ICAgICAvLyBFUEVSTSBub3QgYSB2YWxpZCBlcnJuby4KKyAgICAgY2FzZSBfX05SX2ZzdGF0ZnM6 ICAgIC8vIEdpdmUgaW5mb3JtYXRpb24gYWJvdXQgdGhlIHdob2xlIGZpbGVzeXN0ZW0uCisgI2lm IGRlZmluZWQoX19pMzg2X18pIHx8IGRlZmluZWQoX19hcm1fXykgfHwgXAorLSAgICAoZGVmaW5l ZChBUkNIX0NQVV9NSVBTX0ZBTUlMWSkgJiYgZGVmaW5lZChBUkNIX0NQVV8zMl9CSVRTKSkKKysg ICAgKGRlZmluZWQoQVJDSF9DUFVfTUlQU19GQU1JTFkpICYmIGRlZmluZWQoQVJDSF9DUFVfMzJf QklUUykpIHx8IFwKKysgICAgZGVmaW5lZChfX3Bvd2VycGM2NF9fKQorICAgICBjYXNlIF9fTlJf ZnN0YXRmczY0OgorICNlbmRpZgorICAgICBjYXNlIF9fTlJfZnN5bmM6ICAvLyBFUEVSTSBub3Qg YSB2YWxpZCBlcnJuby4KKy0jaWYgZGVmaW5lZChfX2kzODZfXykKKysjaWYgZGVmaW5lZChfX2kz ODZfXykgfHwgZGVmaW5lZChfX3Bvd2VycGM2NF9fKQorICAgICBjYXNlIF9fTlJfb2xkZnN0YXQ6 CisgI2VuZGlmCisgI2lmIGRlZmluZWQoX19pMzg2X18pIHx8IGRlZmluZWQoX194ODZfNjRfXykg fHwgZGVmaW5lZChfX21pcHNfXykgfHwgXAorQEAgLTE5OSw2ICsyMDYsOCBAQCBib29sIFN5c2Nh bGxTZXRzOjpJc0FsbG93ZWRGaWxlU3lzdGVtQWNjZXNzVmlhRmQoaW50IHN5c25vKSB7CisgICAg IGNhc2UgX19OUl9zeW5jX2ZpbGVfcmFuZ2U6ICAvLyBFUEVSTSBub3QgYSB2YWxpZCBlcnJuby4K KyAjZWxpZiBkZWZpbmVkKF9fYXJtX18pCisgICAgIGNhc2UgX19OUl9hcm1fc3luY19maWxlX3Jh bmdlOiAgLy8gRVBFUk0gbm90IGEgdmFsaWQgZXJybm8uCisrI2VsaWYgZGVmaW5lZChfX3Bvd2Vy cGM2NF9fKQorKyAgICBjYXNlIF9fTlJfc3luY19maWxlX3JhbmdlMjogLy8gRVBFUk0gbm90IGEg dmFsaWQgZXJybm8uCisgI2VuZGlmCisgICAgIGRlZmF1bHQ6CisgICAgICAgcmV0dXJuIGZhbHNl OworQEAgLTIyNCw3ICsyMzMsOCBAQCBib29sIFN5c2NhbGxTZXRzOjpJc0RlbmllZEZpbGVTeXN0 ZW1BY2Nlc3NWaWFGZChpbnQgc3lzbm8pIHsKKyAjZW5kaWYKKyAgICAgY2FzZSBfX05SX2dldGRl bnRzNjQ6ICAvLyBFUEVSTSBub3QgYSB2YWxpZCBlcnJuby4KKyAjaWYgZGVmaW5lZChfX2kzODZf XykgfHwgXAorLSAgICAoZGVmaW5lZChBUkNIX0NQVV9NSVBTX0ZBTUlMWSkgJiYgZGVmaW5lZChB UkNIX0NQVV8zMl9CSVRTKSkKKysgICAgKGRlZmluZWQoQVJDSF9DUFVfTUlQU19GQU1JTFkpICYm IGRlZmluZWQoQVJDSF9DUFVfMzJfQklUUykpIHx8IFwKKysgICAgZGVmaW5lZChfX3Bvd2VycGM2 NF9fKQorICAgICBjYXNlIF9fTlJfcmVhZGRpcjoKKyAjZW5kaWYKKyAgICAgICByZXR1cm4gdHJ1 ZTsKK0BAIC0yNjUsNyArMjc1LDcgQEAgYm9vbCBTeXNjYWxsU2V0czo6SXNHZXRTaW1wbGVJZChp bnQgc3lzbm8pIHsKKyBib29sIFN5c2NhbGxTZXRzOjpJc1Byb2Nlc3NQcml2aWxlZ2VDaGFuZ2Uo aW50IHN5c25vKSB7CisgICBzd2l0Y2ggKHN5c25vKSB7CisgICAgIGNhc2UgX19OUl9jYXBzZXQ6 CistI2lmIGRlZmluZWQoX19pMzg2X18pIHx8IGRlZmluZWQoX194ODZfNjRfXykKKysjaWYgZGVm aW5lZChfX2kzODZfXykgfHwgZGVmaW5lZChfX3g4Nl82NF9fKSB8fCBkZWZpbmVkKF9fcG93ZXJw YzY0X18pCisgICAgIGNhc2UgX19OUl9pb3Blcm06ICAvLyBJbnRlbCBwcml2aWxlZ2UuCisgICAg IGNhc2UgX19OUl9pb3BsOiAgICAvLyBJbnRlbCBwcml2aWxlZ2UuCisgI2VuZGlmCitAQCAtMzE2 LDcgKzMyNiw4IEBAIGJvb2wgU3lzY2FsbFNldHM6OklzQWxsb3dlZFNpZ25hbEhhbmRsaW5nKGlu dCBzeXNubykgeworICAgICBjYXNlIF9fTlJfcnRfc2lncmV0dXJuOgorICAgICBjYXNlIF9fTlJf cnRfc2lndGltZWR3YWl0OgorICNpZiBkZWZpbmVkKF9faTM4Nl9fKSB8fCBkZWZpbmVkKF9fYXJt X18pIHx8IFwKKy0gICAgKGRlZmluZWQoQVJDSF9DUFVfTUlQU19GQU1JTFkpICYmIGRlZmluZWQo QVJDSF9DUFVfMzJfQklUUykpCisrICAgIChkZWZpbmVkKEFSQ0hfQ1BVX01JUFNfRkFNSUxZKSAm JiBkZWZpbmVkKEFSQ0hfQ1BVXzMyX0JJVFMpKSB8fCBcCisrICAgIGRlZmluZWQoX19wb3dlcnBj NjRfXykKKyAgICAgY2FzZSBfX05SX3NpZ2FjdGlvbjoKKyAgICAgY2FzZSBfX05SX3NpZ3Byb2Nt YXNrOgorICAgICBjYXNlIF9fTlJfc2lncmV0dXJuOgorQEAgLTMzMiw3ICszNDMsOCBAQCBib29s IFN5c2NhbGxTZXRzOjpJc0FsbG93ZWRTaWduYWxIYW5kbGluZyhpbnQgc3lzbm8pIHsKKyAjZW5k aWYKKyAgICAgY2FzZSBfX05SX3NpZ25hbGZkNDoKKyAjaWYgZGVmaW5lZChfX2kzODZfXykgfHwg ZGVmaW5lZChfX2FybV9fKSB8fCBcCistICAgIChkZWZpbmVkKEFSQ0hfQ1BVX01JUFNfRkFNSUxZ KSAmJiBkZWZpbmVkKEFSQ0hfQ1BVXzMyX0JJVFMpKQorKyAgICAoZGVmaW5lZChBUkNIX0NQVV9N SVBTX0ZBTUlMWSkgJiYgZGVmaW5lZChBUkNIX0NQVV8zMl9CSVRTKSkgfHwgXAorKyAgICBkZWZp bmVkKF9fcG93ZXJwYzY0X18pCisgICAgIGNhc2UgX19OUl9zaWdwZW5kaW5nOgorICAgICBjYXNl IF9fTlJfc2lnc3VzcGVuZDoKKyAjZW5kaWYKK0BAIC0zNTYsNyArMzY4LDcgQEAgYm9vbCBTeXNj YWxsU2V0czo6SXNBbGxvd2VkT3BlcmF0aW9uT25GZChpbnQgc3lzbm8pIHsKKyAjZW5kaWYKKyAg ICAgY2FzZSBfX05SX2R1cDM6CisgI2lmIGRlZmluZWQoX194ODZfNjRfXykgfHwgZGVmaW5lZChf X2FybV9fKSB8fCBkZWZpbmVkKF9fbWlwc19fKSB8fCBcCistICAgIGRlZmluZWQoX19hYXJjaDY0 X18pCisrICAgIGRlZmluZWQoX19hYXJjaDY0X18pIHx8IGRlZmluZWQoX19wb3dlcnBjNjRfXykK KyAgICAgY2FzZSBfX05SX3NodXRkb3duOgorICNlbmRpZgorICAgICAgIHJldHVybiB0cnVlOwor QEAgLTM5MCw3ICs0MDIsNyBAQCBib29sIFN5c2NhbGxTZXRzOjpJc0FsbG93ZWRQcm9jZXNzU3Rh cnRPckRlYXRoKGludCBzeXNubykgeworICAgICBjYXNlIF9fTlJfbWVtYmFycmllcjoKKyAgICAg Y2FzZSBfX05SX3dhaXQ0OgorICAgICBjYXNlIF9fTlJfd2FpdGlkOgorLSNpZiBkZWZpbmVkKF9f aTM4Nl9fKQorKyNpZiBkZWZpbmVkKF9faTM4Nl9fKSB8fCBkZWZpbmVkKF9fcG93ZXJwYzY0X18p CisgICAgIGNhc2UgX19OUl93YWl0cGlkOgorICNlbmRpZgorICNpZiAhZGVmaW5lZChfX0dMSUJD X18pCitAQCAtNDEyLDcgKzQyNCw3IEBAIGJvb2wgU3lzY2FsbFNldHM6OklzQWxsb3dlZFByb2Nl c3NTdGFydE9yRGVhdGgoaW50IHN5c25vKSB7CisgICAgIGNhc2UgX19OUl9zZXRfdGlkX2FkZHJl c3M6CisgI2VuZGlmCisgICAgIGNhc2UgX19OUl91bnNoYXJlOgorLSNpZiAhZGVmaW5lZChfX21p cHNfXykgJiYgIWRlZmluZWQoX19hYXJjaDY0X18pCisrI2lmICFkZWZpbmVkKF9fbWlwc19fKSAm JiAhZGVmaW5lZChfX2FhcmNoNjRfXykgfHwgZGVmaW5lZChfX3Bvd2VycGM2NF9fKQorICAgICBj YXNlIF9fTlJfdmZvcms6CisgI2VuZGlmCisgICAgIGRlZmF1bHQ6CitAQCAtNDYxLDcgKzQ3Myw3 IEBAIGJvb2wgU3lzY2FsbFNldHM6OklzQWxsb3dlZEdldE9yTW9kaWZ5U29ja2V0KGludCBzeXNu bykgeworICAgICAgIHJldHVybiB0cnVlOworICAgICBkZWZhdWx0OgorICNpZiBkZWZpbmVkKF9f eDg2XzY0X18pIHx8IGRlZmluZWQoX19hcm1fXykgfHwgZGVmaW5lZChfX21pcHNfXykgfHwgXAor LSAgICBkZWZpbmVkKF9fYWFyY2g2NF9fKQorKyAgICBkZWZpbmVkKF9fYWFyY2g2NF9fKSB8fCBk ZWZpbmVkKF9fcG93ZXJwYzY0X18pCisgICAgIGNhc2UgX19OUl9zb2NrZXRwYWlyOiAgLy8gV2Ug d2lsbCB3YW50IHRvIGluc3BlY3QgaXRzIGFyZ3VtZW50LgorICNlbmRpZgorICAgICAgIHJldHVy biBmYWxzZTsKK0BAIC00NzEsNyArNDgzLDcgQEAgYm9vbCBTeXNjYWxsU2V0czo6SXNBbGxvd2Vk R2V0T3JNb2RpZnlTb2NrZXQoaW50IHN5c25vKSB7CisgYm9vbCBTeXNjYWxsU2V0czo6SXNEZW5p ZWRHZXRPck1vZGlmeVNvY2tldChpbnQgc3lzbm8pIHsKKyAgIHN3aXRjaCAoc3lzbm8pIHsKKyAj aWYgZGVmaW5lZChfX3g4Nl82NF9fKSB8fCBkZWZpbmVkKF9fYXJtX18pIHx8IGRlZmluZWQoX19t aXBzX18pIHx8IFwKKy0gICAgZGVmaW5lZChfX2FhcmNoNjRfXykKKysgICAgZGVmaW5lZChfX2Fh cmNoNjRfXykgfHwgZGVmaW5lZChfX3Bvd2VycGM2NF9fKQorICAgICBjYXNlIF9fTlJfYWNjZXB0 OgorICAgICBjYXNlIF9fTlJfYWNjZXB0NDoKKyAgICAgY2FzZSBfX05SX2JpbmQ6CitAQCAtNDg2 LDcgKzQ5OCw4IEBAIGJvb2wgU3lzY2FsbFNldHM6OklzRGVuaWVkR2V0T3JNb2RpZnlTb2NrZXQo aW50IHN5c25vKSB7CisgfQorIAorICNpZiBkZWZpbmVkKF9faTM4Nl9fKSB8fCBcCistICAgIChk ZWZpbmVkKEFSQ0hfQ1BVX01JUFNfRkFNSUxZKSAmJiBkZWZpbmVkKEFSQ0hfQ1BVXzMyX0JJVFMp KQorKyAgICAoZGVmaW5lZChBUkNIX0NQVV9NSVBTX0ZBTUlMWSkgJiYgZGVmaW5lZChBUkNIX0NQ VV8zMl9CSVRTKSkgfHwgXAorKyAgICBkZWZpbmVkKF9fcG93ZXJwYzY0X18pCisgLy8gQmlnIG11 bHRpcGxleGluZyBzeXN0ZW0gY2FsbCBmb3Igc29ja2V0cy4KKyBib29sIFN5c2NhbGxTZXRzOjpJ c1NvY2tldENhbGwoaW50IHN5c25vKSB7CisgICBzd2l0Y2ggKHN5c25vKSB7CitAQCAtNTAwLDcg KzUxMyw4IEBAIGJvb2wgU3lzY2FsbFNldHM6OklzU29ja2V0Q2FsbChpbnQgc3lzbm8pIHsKKyB9 CisgI2VuZGlmCisgCistI2lmIGRlZmluZWQoX194ODZfNjRfXykgfHwgZGVmaW5lZChfX2FybV9f KSB8fCBkZWZpbmVkKF9fbWlwc19fKQorKyNpZiBkZWZpbmVkKF9feDg2XzY0X18pIHx8IGRlZmlu ZWQoX19hcm1fXykgfHwgZGVmaW5lZChfX21pcHNfXykgfHwgXAorKyAgICBkZWZpbmVkKF9fcG93 ZXJwYzY0X18pCisgYm9vbCBTeXNjYWxsU2V0czo6SXNOZXR3b3JrU29ja2V0SW5mb3JtYXRpb24o aW50IHN5c25vKSB7CisgICBzd2l0Y2ggKHN5c25vKSB7CisgICAgIGNhc2UgX19OUl9nZXRwZWVy bmFtZToKK0BAIC01MjgsNyArNTQyLDcgQEAgYm9vbCBTeXNjYWxsU2V0czo6SXNBbGxvd2VkQWRk cmVzc1NwYWNlQWNjZXNzKGludCBzeXNubykgeworICAgICBjYXNlIF9fTlJfbWluY29yZToKKyAg ICAgY2FzZSBfX05SX21sb2NrYWxsOgorICNpZiBkZWZpbmVkKF9faTM4Nl9fKSB8fCBkZWZpbmVk KF9feDg2XzY0X18pIHx8IGRlZmluZWQoX19taXBzX18pIHx8IFwKKy0gICAgZGVmaW5lZChfX2Fh cmNoNjRfXykKKysgICAgZGVmaW5lZChfX2FhcmNoNjRfXykgfHwgZGVmaW5lZChfX3Bvd2VycGM2 NF9fKQorICAgICBjYXNlIF9fTlJfbW1hcDoKKyAjZW5kaWYKKyAjaWYgZGVmaW5lZChfX2kzODZf XykgfHwgZGVmaW5lZChfX2FybV9fKSB8fCBcCitAQCAtNTYwLDcgKzU3NCw4IEBAIGJvb2wgU3lz Y2FsbFNldHM6OklzQWxsb3dlZEdlbmVyYWxJbyhpbnQgc3lzbm8pIHsKKyAgIHN3aXRjaCAoc3lz bm8pIHsKKyAgICAgY2FzZSBfX05SX2xzZWVrOgorICNpZiBkZWZpbmVkKF9faTM4Nl9fKSB8fCBk ZWZpbmVkKF9fYXJtX18pIHx8IFwKKy0gICAgKGRlZmluZWQoQVJDSF9DUFVfTUlQU19GQU1JTFkp ICYmIGRlZmluZWQoQVJDSF9DUFVfMzJfQklUUykpCisrICAgIChkZWZpbmVkKEFSQ0hfQ1BVX01J UFNfRkFNSUxZKSAmJiBkZWZpbmVkKEFSQ0hfQ1BVXzMyX0JJVFMpKSB8fCBcCisrICAgIGRlZmlu ZWQoX19wb3dlcnBjNjRfXykKKyAgICAgY2FzZSBfX05SX19sbHNlZWs6CisgI2VuZGlmCisgI2lm ICFkZWZpbmVkKF9fYWFyY2g2NF9fKQorQEAgLTU3MiwyNiArNTg3LDI4IEBAIGJvb2wgU3lzY2Fs bFNldHM6OklzQWxsb3dlZEdlbmVyYWxJbyhpbnQgc3lzbm8pIHsKKyAgICAgY2FzZSBfX05SX3Jl YWR2OgorICAgICBjYXNlIF9fTlJfcHJlYWQ2NDoKKyAjaWYgZGVmaW5lZChfX2FybV9fKSB8fCBc CistICAgIChkZWZpbmVkKEFSQ0hfQ1BVX01JUFNfRkFNSUxZKSAmJiBkZWZpbmVkKEFSQ0hfQ1BV XzMyX0JJVFMpKQorKyAgICAoZGVmaW5lZChBUkNIX0NQVV9NSVBTX0ZBTUlMWSkgJiYgZGVmaW5l ZChBUkNIX0NQVV8zMl9CSVRTKSkgfHwgXAorKyAgICBkZWZpbmVkKF9fcG93ZXJwYzY0X18pCisg ICAgIGNhc2UgX19OUl9yZWN2OgorICNlbmRpZgorICNpZiBkZWZpbmVkKF9feDg2XzY0X18pIHx8 IGRlZmluZWQoX19hcm1fXykgfHwgZGVmaW5lZChfX21pcHNfXykgfHwgXAorLSAgICBkZWZpbmVk KF9fYWFyY2g2NF9fKQorKyAgICBkZWZpbmVkKF9fYWFyY2g2NF9fKSB8fCBkZWZpbmVkKF9fcG93 ZXJwYzY0X18pCisgICAgIGNhc2UgX19OUl9yZWN2ZnJvbTogIC8vIENvdWxkIHNwZWNpZnkgc291 cmNlLgorICAgICBjYXNlIF9fTlJfcmVjdm1zZzogICAvLyBDb3VsZCBzcGVjaWZ5IHNvdXJjZS4K KyAjZW5kaWYKKy0jaWYgZGVmaW5lZChfX2kzODZfXykgfHwgZGVmaW5lZChfX3g4Nl82NF9fKQor KyNpZiBkZWZpbmVkKF9faTM4Nl9fKSB8fCBkZWZpbmVkKF9feDg2XzY0X18pIHx8IGRlZmluZWQo X19wb3dlcnBjNjRfXykKKyAgICAgY2FzZSBfX05SX3NlbGVjdDoKKyAjZW5kaWYKKy0jaWYgZGVm aW5lZChfX2kzODZfXykgfHwgZGVmaW5lZChfX2FybV9fKSB8fCBkZWZpbmVkKF9fbWlwc19fKQor KyNpZiBkZWZpbmVkKF9faTM4Nl9fKSB8fCBkZWZpbmVkKF9fYXJtX18pIHx8IGRlZmluZWQoX19t aXBzX18pIHx8IGRlZmluZWQoX19wb3dlcnBjNjRfXykKKyAgICAgY2FzZSBfX05SX19uZXdzZWxl Y3Q6CisgI2VuZGlmCisgI2lmIGRlZmluZWQoX19hcm1fXykgfHwgXAorLSAgICAoZGVmaW5lZChB UkNIX0NQVV9NSVBTX0ZBTUlMWSkgJiYgZGVmaW5lZChBUkNIX0NQVV8zMl9CSVRTKSkKKysgICAg KGRlZmluZWQoQVJDSF9DUFVfTUlQU19GQU1JTFkpICYmIGRlZmluZWQoQVJDSF9DUFVfMzJfQklU UykpIHx8IFwKKysgICAgZGVmaW5lZChfX3Bvd2VycGM2NF9fKQorICAgICBjYXNlIF9fTlJfc2Vu ZDoKKyAjZW5kaWYKKyAjaWYgZGVmaW5lZChfX3g4Nl82NF9fKSB8fCBkZWZpbmVkKF9fYXJtX18p IHx8IGRlZmluZWQoX19taXBzX18pIHx8IFwKKy0gICAgZGVmaW5lZChfX2FhcmNoNjRfXykKKysg ICAgZGVmaW5lZChfX2FhcmNoNjRfXykgfHwgZGVmaW5lZChfX3Bvd2VycGM2NF9fKQorICAgICBj YXNlIF9fTlJfc2VuZG1zZzogIC8vIENvdWxkIHNwZWNpZnkgZGVzdGluYXRpb24uCisgICAgIGNh c2UgX19OUl9zZW5kdG86ICAgLy8gQ291bGQgc3BlY2lmeSBkZXN0aW5hdGlvbi4KKyAjZW5kaWYK K0BAIC02NDgsNyArNjY1LDggQEAgYm9vbCBTeXNjYWxsU2V0czo6SXNBbGxvd2VkQmFzaWNTY2hl ZHVsZXIoaW50IHN5c25vKSB7CisgICAgICAgcmV0dXJuIHRydWU7CisgICAgIGNhc2UgX19OUl9n ZXRwcmlvcml0eToKKyAjaWYgZGVmaW5lZChfX2kzODZfXykgfHwgZGVmaW5lZChfX2FybV9fKSB8 fCBcCistICAgIChkZWZpbmVkKEFSQ0hfQ1BVX01JUFNfRkFNSUxZKSAmJiBkZWZpbmVkKEFSQ0hf Q1BVXzMyX0JJVFMpKQorKyAgICAoZGVmaW5lZChBUkNIX0NQVV9NSVBTX0ZBTUlMWSkgJiYgZGVm aW5lZChBUkNIX0NQVV8zMl9CSVRTKSkgfHwgXAorKyAgICBkZWZpbmVkKF9fcG93ZXJwYzY0X18p CisgICAgIGNhc2UgX19OUl9uaWNlOgorICNlbmRpZgorICAgICBjYXNlIF9fTlJfc2V0cHJpb3Jp dHk6CitAQCAtNjYwLDcgKzY3OCw4IEBAIGJvb2wgU3lzY2FsbFNldHM6OklzQWxsb3dlZEJhc2lj U2NoZWR1bGVyKGludCBzeXNubykgeworIGJvb2wgU3lzY2FsbFNldHM6OklzQWRtaW5PcGVyYXRp b24oaW50IHN5c25vKSB7CisgICBzd2l0Y2ggKHN5c25vKSB7CisgI2lmIGRlZmluZWQoX19pMzg2 X18pIHx8IGRlZmluZWQoX19hcm1fXykgfHwgXAorLSAgICAoZGVmaW5lZChBUkNIX0NQVV9NSVBT X0ZBTUlMWSkgJiYgZGVmaW5lZChBUkNIX0NQVV8zMl9CSVRTKSkKKysgICAgKGRlZmluZWQoQVJD SF9DUFVfTUlQU19GQU1JTFkpICYmIGRlZmluZWQoQVJDSF9DUFVfMzJfQklUUykpIHx8IFwKKysg ICAgZGVmaW5lZChfX3Bvd2VycGM2NF9fKQorICAgICBjYXNlIF9fTlJfYmRmbHVzaDoKKyAjZW5k aWYKKyAgICAgY2FzZSBfX05SX2tleGVjX2xvYWQ6CitAQCAtNjc2LDcgKzY5NSw4IEBAIGJvb2wg U3lzY2FsbFNldHM6OklzQWRtaW5PcGVyYXRpb24oaW50IHN5c25vKSB7CisgCisgYm9vbCBTeXNj YWxsU2V0czo6SXNLZXJuZWxNb2R1bGUoaW50IHN5c25vKSB7CisgICBzd2l0Y2ggKHN5c25vKSB7 CistI2lmIGRlZmluZWQoX19pMzg2X18pIHx8IGRlZmluZWQoX194ODZfNjRfXykgfHwgZGVmaW5l ZChfX21pcHNfXykKKysjaWYgZGVmaW5lZChfX2kzODZfXykgfHwgZGVmaW5lZChfX3g4Nl82NF9f KSB8fCBkZWZpbmVkKF9fbWlwc19fKSB8fCBcCisrICAgIGRlZmluZWQoX19wb3dlcnBjNjRfXykK KyAgICAgY2FzZSBfX05SX2NyZWF0ZV9tb2R1bGU6CisgICAgIGNhc2UgX19OUl9nZXRfa2VybmVs X3N5bXM6ICAvLyBTaG91bGQgRU5PU1lTLgorICAgICBjYXNlIF9fTlJfcXVlcnlfbW9kdWxlOgor QEAgLTcwOSw3ICs3MjksOCBAQCBib29sIFN5c2NhbGxTZXRzOjpJc0ZzQ29udHJvbChpbnQgc3lz bm8pIHsKKyAgICAgY2FzZSBfX05SX3N3YXBvZmY6CisgICAgIGNhc2UgX19OUl9zd2Fwb246Cisg I2lmIGRlZmluZWQoX19pMzg2X18pIHx8IFwKKy0gICAgKGRlZmluZWQoQVJDSF9DUFVfTUlQU19G QU1JTFkpICYmIGRlZmluZWQoQVJDSF9DUFVfMzJfQklUUykpCisrICAgIChkZWZpbmVkKEFSQ0hf Q1BVX01JUFNfRkFNSUxZKSAmJiBkZWZpbmVkKEFSQ0hfQ1BVXzMyX0JJVFMpKSB8fCBcCisrICAg IGRlZmluZWQoX19wb3dlcnBjNjRfXykKKyAgICAgY2FzZSBfX05SX3Vtb3VudDoKKyAjZW5kaWYK KyAgICAgY2FzZSBfX05SX3Vtb3VudDI6CitAQCAtNzI1LDcgKzc0Niw3IEBAIGJvb2wgU3lzY2Fs bFNldHM6OklzTnVtYShpbnQgc3lzbm8pIHsKKyAgICAgY2FzZSBfX05SX2dldGNwdToKKyAgICAg Y2FzZSBfX05SX21iaW5kOgorICNpZiBkZWZpbmVkKF9faTM4Nl9fKSB8fCBkZWZpbmVkKF9feDg2 XzY0X18pIHx8IGRlZmluZWQoX19taXBzX18pIHx8IFwKKy0gICAgZGVmaW5lZChfX2FhcmNoNjRf XykKKysgICAgZGVmaW5lZChfX2FhcmNoNjRfXykgfHwgZGVmaW5lZChfX3Bvd2VycGM2NF9fKQor ICAgICBjYXNlIF9fTlJfbWlncmF0ZV9wYWdlczoKKyAjZW5kaWYKKyAgICAgY2FzZSBfX05SX21v dmVfcGFnZXM6CitAQCAtNzU0LDE0ICs3NzUsMTUgQEAgYm9vbCBTeXNjYWxsU2V0czo6SXNHbG9i YWxQcm9jZXNzRW52aXJvbm1lbnQoaW50IHN5c25vKSB7CisgICBzd2l0Y2ggKHN5c25vKSB7Cisg ICAgIGNhc2UgX19OUl9hY2N0OiAgLy8gUHJpdmlsZWdlZC4KKyAjaWYgZGVmaW5lZChfX2kzODZf XykgfHwgZGVmaW5lZChfX3g4Nl82NF9fKSB8fCBkZWZpbmVkKF9fbWlwc19fKSB8fCBcCistICAg IGRlZmluZWQoX19hYXJjaDY0X18pCisrICAgIGRlZmluZWQoX19hYXJjaDY0X18pIHx8IGRlZmlu ZWQoX19wb3dlcnBjNjRfXykKKyAgICAgY2FzZSBfX05SX2dldHJsaW1pdDoKKyAjZW5kaWYKKy0j aWYgZGVmaW5lZChfX2kzODZfXykgfHwgZGVmaW5lZChfX2FybV9fKQorKyNpZiBkZWZpbmVkKF9f aTM4Nl9fKSB8fCBkZWZpbmVkKF9fYXJtX18pIHx8IGRlZmluZWQoX19wb3dlcnBjNjRfXykKKyAg ICAgY2FzZSBfX05SX3VnZXRybGltaXQ6CisgI2VuZGlmCisgI2lmIGRlZmluZWQoX19pMzg2X18p IHx8IFwKKy0gICAgKGRlZmluZWQoQVJDSF9DUFVfTUlQU19GQU1JTFkpICYmIGRlZmluZWQoQVJD SF9DUFVfMzJfQklUUykpCisrICAgIChkZWZpbmVkKEFSQ0hfQ1BVX01JUFNfRkFNSUxZKSAmJiBk ZWZpbmVkKEFSQ0hfQ1BVXzMyX0JJVFMpKSB8fCBcCisrICAgIGRlZmluZWQoX19wb3dlcnBjNjRf XykKKyAgICAgY2FzZSBfX05SX3VsaW1pdDoKKyAjZW5kaWYKKyAgICAgY2FzZSBfX05SX2dldHJ1 c2FnZToKK0BAIC03OTUsNyArODE3LDcgQEAgYm9vbCBTeXNjYWxsU2V0czo6SXNHbG9iYWxTeXN0 ZW1TdGF0dXMoaW50IHN5c25vKSB7CisgI2VuZGlmCisgICAgIGNhc2UgX19OUl9zeXNpbmZvOgor ICAgICBjYXNlIF9fTlJfdW5hbWU6CistI2lmIGRlZmluZWQoX19pMzg2X18pCisrI2lmIGRlZmlu ZWQoX19pMzg2X18pIHx8IGRlZmluZWQoX19wb3dlcnBjNjRfXykKKyAgICAgY2FzZSBfX05SX29s ZHVuYW1lOgorICAgICBjYXNlIF9fTlJfb2xkb2xkdW5hbWU6CisgI2VuZGlmCitAQCAtODkwLDcg KzkxMiw4IEBAIGJvb2wgU3lzY2FsbFNldHM6OklzU3lzdGVtVk1lc3NhZ2VRdWV1ZShpbnQgc3lz bm8pIHsKKyAjZW5kaWYKKyAKKyAjaWYgZGVmaW5lZChfX2kzODZfXykgfHwgXAorLSAgICAoZGVm aW5lZChBUkNIX0NQVV9NSVBTX0ZBTUlMWSkgJiYgZGVmaW5lZChBUkNIX0NQVV8zMl9CSVRTKSkK KysgICAgKGRlZmluZWQoQVJDSF9DUFVfTUlQU19GQU1JTFkpICYmIGRlZmluZWQoQVJDSF9DUFVf MzJfQklUUykpIHx8IFwKKysgICAgZGVmaW5lZChfX3Bvd2VycGM2NF9fKQorIC8vIEJpZyBzeXN0 ZW0gViBtdWx0aXBsZXhpbmcgc3lzdGVtIGNhbGwuCisgYm9vbCBTeXNjYWxsU2V0czo6SXNTeXN0 ZW1WSXBjKGludCBzeXNubykgeworICAgc3dpdGNoIChzeXNubykgeworQEAgLTkxMCw3ICs5MzMs OCBAQCBib29sIFN5c2NhbGxTZXRzOjpJc0FueVN5c3RlbVYoaW50IHN5c25vKSB7CisgICByZXR1 cm4gSXNTeXN0ZW1WTWVzc2FnZVF1ZXVlKHN5c25vKSB8fCBJc1N5c3RlbVZTZW1hcGhvcmVzKHN5 c25vKSB8fAorICAgICAgICAgIElzU3lzdGVtVlNoYXJlZE1lbW9yeShzeXNubyk7CisgI2VsaWYg ZGVmaW5lZChfX2kzODZfXykgfHwgXAorLSAgICAoZGVmaW5lZChBUkNIX0NQVV9NSVBTX0ZBTUlM WSkgJiYgZGVmaW5lZChBUkNIX0NQVV8zMl9CSVRTKSkKKysgICAgKGRlZmluZWQoQVJDSF9DUFVf TUlQU19GQU1JTFkpICYmIGRlZmluZWQoQVJDSF9DUFVfMzJfQklUUykpIHx8IFwKKysgICAgZGVm aW5lZChfX3Bvd2VycGM2NF9fKQorICAgcmV0dXJuIElzU3lzdGVtVklwYyhzeXNubyk7CisgI2Vu ZGlmCisgfQorQEAgLTk2Myw3ICs5ODcsOCBAQCBib29sIFN5c2NhbGxTZXRzOjpJc0ZhTm90aWZ5 KGludCBzeXNubykgeworIGJvb2wgU3lzY2FsbFNldHM6OklzVGltZXIoaW50IHN5c25vKSB7Cisg ICBzd2l0Y2ggKHN5c25vKSB7CisgICAgIGNhc2UgX19OUl9nZXRpdGltZXI6CistI2lmIGRlZmlu ZWQoX19pMzg2X18pIHx8IGRlZmluZWQoX194ODZfNjRfXykgfHwgZGVmaW5lZChfX21pcHNfXykK KysjaWYgZGVmaW5lZChfX2kzODZfXykgfHwgZGVmaW5lZChfX3g4Nl82NF9fKSB8fCBkZWZpbmVk KF9fbWlwc19fKSB8fCBcCisrICAgIGRlZmluZWQoX19wb3dlcnBjNjRfXykKKyAgICAgY2FzZSBf X05SX2FsYXJtOgorICNlbmRpZgorICAgICBjYXNlIF9fTlJfc2V0aXRpbWVyOgorQEAgLTEwMjIs MTggKzEwNDcsMjIgQEAgYm9vbCBTeXNjYWxsU2V0czo6SXNNaXNjKGludCBzeXNubykgeworICAg ICBjYXNlIF9fTlJfc3luY2ZzOgorICAgICBjYXNlIF9fTlJfdmhhbmd1cDoKKyAvLyBUaGUgc3lz dGVtIGNhbGxzIGJlbG93IGFyZSBub3QgaW1wbGVtZW50ZWQuCistI2lmIGRlZmluZWQoX19pMzg2 X18pIHx8IGRlZmluZWQoX194ODZfNjRfXykgfHwgZGVmaW5lZChfX21pcHNfXykKKysjaWYgZGVm aW5lZChfX2kzODZfXykgfHwgZGVmaW5lZChfX3g4Nl82NF9fKSB8fCBkZWZpbmVkKF9fbWlwc19f KSB8fCBcCisrICAgIGRlZmluZWQoX19wb3dlcnBjNjRfXykKKyAgICAgY2FzZSBfX05SX2Fmc19z eXNjYWxsOgorICNlbmRpZgorICNpZiBkZWZpbmVkKF9faTM4Nl9fKSB8fCBcCistICAgIChkZWZp bmVkKEFSQ0hfQ1BVX01JUFNfRkFNSUxZKSAmJiBkZWZpbmVkKEFSQ0hfQ1BVXzMyX0JJVFMpKQor KyAgICAoZGVmaW5lZChBUkNIX0NQVV9NSVBTX0ZBTUlMWSkgJiYgZGVmaW5lZChBUkNIX0NQVV8z Ml9CSVRTKSkgfHwgXAorKyAgICBkZWZpbmVkKF9fcG93ZXJwYzY0X18pCisgICAgIGNhc2UgX19O Ul9icmVhazoKKyAjZW5kaWYKKy0jaWYgZGVmaW5lZChfX2kzODZfXykgfHwgZGVmaW5lZChfX3g4 Nl82NF9fKSB8fCBkZWZpbmVkKF9fbWlwc19fKQorKyNpZiBkZWZpbmVkKF9faTM4Nl9fKSB8fCBk ZWZpbmVkKF9feDg2XzY0X18pIHx8IGRlZmluZWQoX19taXBzX18pIHx8IFwKKysgICAgZGVmaW5l ZChfX3Bvd2VycGM2NF9fKQorICAgICBjYXNlIF9fTlJfZ2V0cG1zZzoKKyAjZW5kaWYKKyAjaWYg ZGVmaW5lZChfX2kzODZfXykgfHwgXAorLSAgICAoZGVmaW5lZChBUkNIX0NQVV9NSVBTX0ZBTUlM WSkgJiYgZGVmaW5lZChBUkNIX0NQVV8zMl9CSVRTKSkKKysgICAgKGRlZmluZWQoQVJDSF9DUFVf TUlQU19GQU1JTFkpICYmIGRlZmluZWQoQVJDSF9DUFVfMzJfQklUUykpIHx8IFwKKysgICAgZGVm aW5lZChfX3Bvd2VycGM2NF9fKQorICAgICBjYXNlIF9fTlJfZ3R0eToKKyAgICAgY2FzZSBfX05S X2lkbGU6CisgICAgIGNhc2UgX19OUl9sb2NrOgorQEAgLTEwNDEsMjAgKzEwNzAsMjIgQEAgYm9v bCBTeXNjYWxsU2V0czo6SXNNaXNjKGludCBzeXNubykgeworICAgICBjYXNlIF9fTlJfcHJvZjoK KyAgICAgY2FzZSBfX05SX3Byb2ZpbDoKKyAjZW5kaWYKKy0jaWYgZGVmaW5lZChfX2kzODZfXykg fHwgZGVmaW5lZChfX3g4Nl82NF9fKSB8fCBkZWZpbmVkKF9fbWlwc19fKQorKyNpZiBkZWZpbmVk KF9faTM4Nl9fKSB8fCBkZWZpbmVkKF9feDg2XzY0X18pIHx8IGRlZmluZWQoX19taXBzX18pIHx8 IFwKKysgICAgZGVmaW5lZChfX3Bvd2VycGM2NF9fKQorICAgICBjYXNlIF9fTlJfcHV0cG1zZzoK KyAjZW5kaWYKKyAjaWYgZGVmaW5lZChfX3g4Nl82NF9fKQorICAgICBjYXNlIF9fTlJfc2VjdXJp dHk6CisgI2VuZGlmCisgI2lmIGRlZmluZWQoX19pMzg2X18pIHx8IFwKKy0gICAgKGRlZmluZWQo QVJDSF9DUFVfTUlQU19GQU1JTFkpICYmIGRlZmluZWQoQVJDSF9DUFVfMzJfQklUUykpCisrICAg IChkZWZpbmVkKEFSQ0hfQ1BVX01JUFNfRkFNSUxZKSAmJiBkZWZpbmVkKEFSQ0hfQ1BVXzMyX0JJ VFMpKSB8fCBcCisrICAgIGRlZmluZWQoX19wb3dlcnBjNjRfXykKKyAgICAgY2FzZSBfX05SX3N0 dHk6CisgI2VuZGlmCistI2lmIGRlZmluZWQoX194ODZfNjRfXykKKysjaWYgZGVmaW5lZChfX3g4 Nl82NF9fKSB8fCBkZWZpbmVkKF9fcG93ZXJwYzY0X18pCisgICAgIGNhc2UgX19OUl90dXhjYWxs OgorICNlbmRpZgorLSNpZiAhZGVmaW5lZChfX2FhcmNoNjRfXykKKysjaWYgIWRlZmluZWQoX19h YXJjaDY0X18pICYmICFkZWZpbmVkKF9fcG93ZXJwYzY0X18pCisgICAgIGNhc2UgX19OUl92c2Vy dmVyOgorICNlbmRpZgorICAgICAgIHJldHVybiB0cnVlOworZGlmZiAtLWdpdCBhL3NyYy8zcmRw YXJ0eS9jaHJvbWl1bS9zYW5kYm94L2xpbnV4L3NlY2NvbXAtYnBmLWhlbHBlcnMvc3lzY2FsbF9z ZXRzLmggYi9zcmMvM3JkcGFydHkvY2hyb21pdW0vc2FuZGJveC9saW51eC9zZWNjb21wLWJwZi1o ZWxwZXJzL3N5c2NhbGxfc2V0cy5oCitpbmRleCA5MjM1MzNlYzkuLmUyYmIxZGI5OCAxMDA2NDQK Ky0tLSBhL3NyYy8zcmRwYXJ0eS9jaHJvbWl1bS9zYW5kYm94L2xpbnV4L3NlY2NvbXAtYnBmLWhl bHBlcnMvc3lzY2FsbF9zZXRzLmgKKysrKyBiL3NyYy8zcmRwYXJ0eS9jaHJvbWl1bS9zYW5kYm94 L2xpbnV4L3NlY2NvbXAtYnBmLWhlbHBlcnMvc3lzY2FsbF9zZXRzLmgKK0BAIC00MywxMyArNDMs MTQgQEAgY2xhc3MgU0FOREJPWF9FWFBPUlQgU3lzY2FsbFNldHMgeworICAgc3RhdGljIGJvb2wg SXNEZW5pZWRHZXRPck1vZGlmeVNvY2tldChpbnQgc3lzbm8pOworIAorICNpZiBkZWZpbmVkKF9f aTM4Nl9fKSB8fCBcCistICAgIChkZWZpbmVkKEFSQ0hfQ1BVX01JUFNfRkFNSUxZKSAmJiBkZWZp bmVkKEFSQ0hfQ1BVXzMyX0JJVFMpKQorKyAgICAoZGVmaW5lZChBUkNIX0NQVV9NSVBTX0ZBTUlM WSkgJiYgZGVmaW5lZChBUkNIX0NQVV8zMl9CSVRTKSkgfHwgXAorKyAgICBkZWZpbmVkKF9fcG93 ZXJwYzY0X18pCisgICAvLyBCaWcgbXVsdGlwbGV4aW5nIHN5c3RlbSBjYWxsIGZvciBzb2NrZXRz LgorICAgc3RhdGljIGJvb2wgSXNTb2NrZXRDYWxsKGludCBzeXNubyk7CisgI2VuZGlmCisgCisg I2lmIGRlZmluZWQoX194ODZfNjRfXykgfHwgZGVmaW5lZChfX2FybV9fKSB8fCBkZWZpbmVkKF9f bWlwc19fKSB8fCBcCistICAgIGRlZmluZWQoX19hYXJjaDY0X18pCisrICAgIGRlZmluZWQoX19h YXJjaDY0X18pIHx8IGRlZmluZWQoX19wb3dlcnBjNjRfXykKKyAgIHN0YXRpYyBib29sIElzTmV0 d29ya1NvY2tldEluZm9ybWF0aW9uKGludCBzeXNubyk7CisgI2VuZGlmCisgCitAQCAtODgsNyAr ODksOCBAQCBjbGFzcyBTQU5EQk9YX0VYUE9SVCBTeXNjYWxsU2V0cyB7CisgI2VuZGlmCisgCisg I2lmIGRlZmluZWQoX19pMzg2X18pIHx8IFwKKy0gICAgKGRlZmluZWQoQVJDSF9DUFVfTUlQU19G QU1JTFkpICYmIGRlZmluZWQoQVJDSF9DUFVfMzJfQklUUykpCisrICAgIChkZWZpbmVkKEFSQ0hf Q1BVX01JUFNfRkFNSUxZKSAmJiBkZWZpbmVkKEFSQ0hfQ1BVXzMyX0JJVFMpKSB8fCBcCisrICAg IGRlZmluZWQoX19wb3dlcnBjNjRfXykKKyAgIC8vIEJpZyBzeXN0ZW0gViBtdWx0aXBsZXhpbmcg c3lzdGVtIGNhbGwuCisgICBzdGF0aWMgYm9vbCBJc1N5c3RlbVZJcGMoaW50IHN5c25vKTsKKyAj ZW5kaWYKK2RpZmYgLS1naXQgYS9zcmMvM3JkcGFydHkvY2hyb21pdW0vc2FuZGJveC9saW51eC9z ZWNjb21wLWJwZi9zeXNjYWxsLmNjIGIvc3JjLzNyZHBhcnR5L2Nocm9taXVtL3NhbmRib3gvbGlu dXgvc2VjY29tcC1icGYvc3lzY2FsbC5jYworaW5kZXggMzRlZGFiZDJiLi4xMGZhNWZkMDcgMTAw NjQ0CistLS0gYS9zcmMvM3JkcGFydHkvY2hyb21pdW0vc2FuZGJveC9saW51eC9zZWNjb21wLWJw Zi9zeXNjYWxsLmNjCisrKysgYi9zcmMvM3JkcGFydHkvY2hyb21pdW0vc2FuZGJveC9saW51eC9z ZWNjb21wLWJwZi9zeXNjYWxsLmNjCitAQCAtMTYsNyArMTYsNyBAQCBuYW1lc3BhY2Ugc2FuZGJv eCB7CisgbmFtZXNwYWNlIHsKKyAKKyAjaWYgZGVmaW5lZChBUkNIX0NQVV9YODZfRkFNSUxZKSB8 fCBkZWZpbmVkKEFSQ0hfQ1BVX0FSTV9GQU1JTFkpIHx8IFwKKy0gICAgZGVmaW5lZChBUkNIX0NQ VV9NSVBTX0ZBTUlMWSkKKysgICAgZGVmaW5lZChBUkNIX0NQVV9NSVBTX0ZBTUlMWSkgfHwgZGVm aW5lZCAoQVJDSF9DUFVfUFBDNjRfRkFNSUxZKQorIC8vIE51bWJlciB0aGF0J3Mgbm90IGN1cnJl bnRseSB1c2VkIGJ5IGFueSBMaW51eCBrZXJuZWwgQUJJcy4KKyBjb25zdCBpbnQga0ludmFsaWRT eXNjYWxsTnVtYmVyID0gMHgzNTFkMzsKKyAjZWxzZQorQEAgLTMwOCwxMiArMzA4LDU2IEBAIGFz bSgvLyBXZSBuZWVkIHRvIGJlIGFibGUgdG8gdGVsbCB0aGUga2VybmVsIGV4YWN0bHkgd2hlcmUg d2UgbWFkZSBhCisgICAgIC8vIEVudGVyIHRoZSBrZXJuZWwKKyAgICAgInN2YyAwXG4iCisgICAg ICIyOnJldFxuIgorKyAgICAiLmNmaV9lbmRwcm9jXG4iCisrICAgICIuc2l6ZSBTeXNjYWxsQXNt LCAuLVN5c2NhbGxBc21cbiIKKysjZWxpZiBkZWZpbmVkKF9fcG93ZXJwYzY0X18pCisrICAgICIu dGV4dFxuIgorKyAgICAiLmFsaWduIDRcbiIKKysgICAgIi50eXBlIFN5c2NhbGxBc20gQGZ1bmN0 aW9uXG4iCisrICAgICJTeXNjYWxsQXNtOlxuIgorKyAgICAiLmNmaV9zdGFydHByb2NcbiIKKysK KysgICAgLy8gQ2hlY2sgaWYgcjMgaXMgbmVnYXRpdmUKKysgICAgImNtcGRpIDMsIDBcbiIKKysg ICAgImJndCAyZlxuIgorKworKyAgICAvLyBMb2FkIGFkZHJlc3Mgb2YgM2YgaW50byByMyBhbmQg cmV0dXJuCisrICAgICJtZmxyIDEwXG4iCisrICAgICJibCAxZlxuIgorKyAgICAiMTogbWZsciAz XG4iCisrICAgICJtdGxyIDEwXG4iCisrICAgICJhZGRpIDMsIDMsIDQqMTNcbiIKKysgICAgImJs clxuIgorKworKyAgICAvLyBMb2FkIGFyZ3VtZW50cyBmcm9tIGFycmF5IGludG8gcjMtOAorKyAg ICAvLyBzYXZlIHBhcmFtIDMgaW4gcjEwCisrICAgICIyOlxuIgorKyAgICAibXIgMCwgM1xuIgor KyAgICAibGQgMywgMCg0KVxuIgorKyAgICAibGQgNSwgMTYoNClcbiIKKysgICAgImxkIDYsIDI0 KDQpXG4iCisrICAgICJsZCA3LCAzMig0KVxuIgorKyAgICAibGQgOCwgNDAoNClcbiIKKysgICAg ImxkIDQsIDgoNClcbiIKKysgICAgImxpIDksIDBcbiIKKysKKysgICAgLy8gRW50ZXIga2VybmVs CisrICAgICJzY1xuIgorKworKyAgICAvLyBNYWdpYyByZXR1cm4gYWRkcmVzcworKyAgICAiMzpc biIKKysgICAgLy8gTGlrZSBNSVBTLCBwcGM2NCByZXR1cm4gdmFsdWVzIGFyZSBhbHdheXMgcG9z aXRpdmUuCisrICAgIC8vIENoZWNrIGZvciBlcnJvciBpbiBjcjAuU08gYW5kIG5lZ2F0ZSB1cG9u IGVycm9yCisrICAgICJiYyA0LCAzLCA0ZlxuIgorKyAgICAibmVnIDMsIDNcbiIKKysgICAgIjQ6 IGJsclxuIgorKworICAgICAiLmNmaV9lbmRwcm9jXG4iCisgICAgICIuc2l6ZSBTeXNjYWxsQXNt LCAuLVN5c2NhbGxBc21cbiIKKyAjZW5kaWYKKyAgICAgKTsgIC8vIGFzbQorIAorLSNpZiBkZWZp bmVkKF9feDg2XzY0X18pCisrI2lmIGRlZmluZWQoX194ODZfNjRfXykgfHwgZGVmaW5lZChfX3Bv d2VycGM2NF9fKQorIGV4dGVybiAiQyIgeworIGludHB0cl90IFN5c2NhbGxBc20oaW50cHRyX3Qg bnIsIGNvbnN0IGludHB0cl90IGFyZ3NbNl0pOworIH0KK0BAIC00MjcsNiArNDcxLDggQEAgaW50 cHRyX3QgU3lzY2FsbDo6Q2FsbChpbnQgbnIsCisgICAgIHJldCA9IGlub3V0OworICAgfQorIAor KyNlbGlmIGRlZmluZWQoX19wb3dlcnBjNjRfXykKKysgIGludHB0cl90IHJldCA9IFN5c2NhbGxB c20obnIsIGFyZ3MpOworICNlbHNlCisgI2Vycm9yICJVbmltcGxlbWVudGVkIGFyY2hpdGVjdHVy ZSIKKyAjZW5kaWYKK0BAIC00NDMsOCArNDg5LDE4IEBAIHZvaWQgU3lzY2FsbDo6UHV0VmFsdWVJ blVjb250ZXh0KGludHB0cl90IHJldF92YWwsIHVjb250ZXh0X3QqIGN0eCkgeworICAgICAvLyBu ZWVkcyB0byBiZSBjaGFuZ2VkIGJhY2suCisgICAgIHJldF92YWwgPSAtcmV0X3ZhbDsKKyAgICAg U0VDQ09NUF9QQVJNNChjdHgpID0gMTsKKy0gIH0gZWxzZQorKyAgfSBlbHNlIHsKKyAgICAgU0VD Q09NUF9QQVJNNChjdHgpID0gMDsKKysgIH0KKysjZW5kaWYKKysjaWYgZGVmaW5lZChfX3Bvd2Vy cGM2NF9fKQorKyAgLy8gU2FtZSBhcyBNSVBTLCBuZWVkIHRvIGludmVydCByZXQgYW5kIHNldCBl cnJvciByZWdpc3RlciAoY3IwLlNPKQorKyAgaWYgKHJldF92YWwgPD0gLTEgJiYgcmV0X3ZhbCA+ PSAtNDA5NSkgeworKyAgICByZXRfdmFsID0gLXJldF92YWw7CisrICAgIGN0eC0+dWNfbWNvbnRl eHQucmVncy0+Y2NyIHw9ICgxIDw8IDI4KTsKKysgIH0gZWxzZSB7CisrICAgIGN0eC0+dWNfbWNv bnRleHQucmVncy0+Y2NyICY9IH4oMSA8PCAyOCk7CisrICB9CisgI2VuZGlmCisgICBTRUNDT01Q X1JFU1VMVChjdHgpID0gc3RhdGljX2Nhc3Q8Z3JlZ190PihyZXRfdmFsKTsKKyB9CitkaWZmIC0t Z2l0IGEvc3JjLzNyZHBhcnR5L2Nocm9taXVtL3NhbmRib3gvbGludXgvc2VjY29tcC1icGYvdHJh cC5jYyBiL3NyYy8zcmRwYXJ0eS9jaHJvbWl1bS9zYW5kYm94L2xpbnV4L3NlY2NvbXAtYnBmL3Ry YXAuY2MKK2luZGV4IDY2M2Q5ZTg5Ni4uZjU1ZTAzZWQ1IDEwMDY0NAorLS0tIGEvc3JjLzNyZHBh cnR5L2Nocm9taXVtL3NhbmRib3gvbGludXgvc2VjY29tcC1icGYvdHJhcC5jYworKysrIGIvc3Jj LzNyZHBhcnR5L2Nocm9taXVtL3NhbmRib3gvbGludXgvc2VjY29tcC1icGYvdHJhcC5jYworQEAg LTIzNyw2ICsyMzcsMjAgQEAgdm9pZCBUcmFwOjpTaWdTeXMoaW50IG5yLCBMaW51eFNpZ0luZm8q IGluZm8sIHVjb250ZXh0X3QqIGN0eCkgeworICAgICAgIFNldElzSW5TaWdIYW5kbGVyKCk7Cisg ICAgIH0KKyAKKysjaWYgZGVmaW5lZChfX3Bvd2VycGM2NF9fKQorKyAgICAvLyBPbiBwcGM2NCtn bGliYywgc29tZSBzeXNjYWxscyBzZWVtIHRvIGFjY2lkZW50YWxseSBuZWdhdGUgdGhlIGZpcnN0 CisrICAgIC8vIHBhcmFtZXRlciB3aGljaCBjYXVzZXMgY2hlY2tzIGFnYWluc3QgaXQgdG8gZmFp bC4gRm9yIG5vdywgbWFudWFsbHkKKysgICAgLy8gbmVnYXRlIHRoZW0gYmFjay4KKysgICAgLy8g VE9ETyhzaGF3bkBhbmFzdGFzLmlvKTogaW52ZXN0aWdhdGUgdGhpcyBpc3N1ZSBmdXJ0aGVyCisr ICAgIGF1dG8gbnIgPSBTRUNDT01QX1NZU0NBTEwoY3R4KTsKKysgICAgaWYgKG5yID09IF9fTlJf b3BlbmF0IHx8IG5yID09IF9fTlJfbWtkaXJhdCB8fCBuciA9PSBfX05SX2ZhY2Nlc3NhdCB8fCBu ciA9PSBfX05SX3JlYWRsaW5rYXQgfHwKKysgICAgICAgIG5yID09IF9fTlJfcmVuYW1lYXQgfHwg bnIgPT0gX19OUl9yZW5hbWVhdDIgfHwgbnIgPT0gX19OUl9uZXdmc3RhdGF0IHx8IG5yID09IF9f TlJfdW5saW5rYXQpIHsKKysgICAgICAgIGlmIChzdGF0aWNfY2FzdDxpbnQ+KFNFQ0NPTVBfUEFS TTEoY3R4KSkgPiAwKSB7CisrICAgICAgICAgICAgU0VDQ09NUF9QQVJNMShjdHgpID0gLVNFQ0NP TVBfUEFSTTEoY3R4KTsKKysgICAgICAgIH0KKysgICAgfQorKyNlbmRpZgorKworICAgICAvLyBD b3B5IHRoZSBzZWNjb21wLXNwZWNpZmljIGRhdGEgaW50byBhIGFyY2hfc2VjY29tcF9kYXRhIHN0 cnVjdHVyZS4gVGhpcworICAgICAvLyBpcyB3aGF0IHdlIGFyZSBzaG93aW5nIHRvIFRyYXBGbmMg Y2FsbGJhY2tzIHRoYXQgdGhlIHN5c3RlbSBjYWxsCisgICAgIC8vIGV2YWx1YXRvciByZWdpc3Rl cmVkIHdpdGggdGhlIHNhbmRib3guCitkaWZmIC0tZ2l0IGEvc3JjLzNyZHBhcnR5L2Nocm9taXVt L3NhbmRib3gvbGludXgvc2VydmljZXMvY3JlZGVudGlhbHMuY2MgYi9zcmMvM3JkcGFydHkvY2hy b21pdW0vc2FuZGJveC9saW51eC9zZXJ2aWNlcy9jcmVkZW50aWFscy5jYworaW5kZXggZDdiNWQ4 YzQ0Li40YWRjNmQwZDQgMTAwNjQ0CistLS0gYS9zcmMvM3JkcGFydHkvY2hyb21pdW0vc2FuZGJv eC9saW51eC9zZXJ2aWNlcy9jcmVkZW50aWFscy5jYworKysrIGIvc3JjLzNyZHBhcnR5L2Nocm9t aXVtL3NhbmRib3gvbGludXgvc2VydmljZXMvY3JlZGVudGlhbHMuY2MKK0BAIC04MSw3ICs4MSw3 IEBAIGJvb2wgQ2hyb290VG9TYWZlRW1wdHlEaXIoKSB7CisgICBwaWRfdCBwaWQgPSAtMTsKKyAg IGFsaWduYXMoMTYpIGNoYXIgc3RhY2tfYnVmW1BUSFJFQURfU1RBQ0tfTUlOXTsKKyAjaWYgZGVm aW5lZChBUkNIX0NQVV9YODZfRkFNSUxZKSB8fCBkZWZpbmVkKEFSQ0hfQ1BVX0FSTV9GQU1JTFkp IHx8IFwKKy0gICAgZGVmaW5lZChBUkNIX0NQVV9NSVBTX0ZBTUlMWSkKKysgICAgZGVmaW5lZChB UkNIX0NQVV9NSVBTX0ZBTUlMWSkgfHwgZGVmaW5lZChBUkNIX0NQVV9QUEM2NF9GQU1JTFkpCisg ICAvLyBUaGUgc3RhY2sgZ3Jvd3MgZG93bndhcmQuCisgICB2b2lkKiBzdGFjayA9IHN0YWNrX2J1 ZiArIHNpemVvZihzdGFja19idWYpOworICNlbHNlCitkaWZmIC0tZ2l0IGEvc3JjLzNyZHBhcnR5 L2Nocm9taXVtL3NhbmRib3gvbGludXgvc2VydmljZXMvc3lzY2FsbF93cmFwcGVycy5jYyBiL3Ny Yy8zcmRwYXJ0eS9jaHJvbWl1bS9zYW5kYm94L2xpbnV4L3NlcnZpY2VzL3N5c2NhbGxfd3JhcHBl cnMuY2MKK2luZGV4IGZjZmQyYWExMi4uZjZlYjMyZmI3IDEwMDY0NAorLS0tIGEvc3JjLzNyZHBh cnR5L2Nocm9taXVtL3NhbmRib3gvbGludXgvc2VydmljZXMvc3lzY2FsbF93cmFwcGVycy5jYwor KysrIGIvc3JjLzNyZHBhcnR5L2Nocm9taXVtL3NhbmRib3gvbGludXgvc2VydmljZXMvc3lzY2Fs bF93cmFwcGVycy5jYworQEAgLTU4LDcgKzU4LDcgQEAgbG9uZyBzeXNfY2xvbmUodW5zaWduZWQg bG9uZyBmbGFncywKKyAjaWYgZGVmaW5lZChBUkNIX0NQVV9YODZfNjQpCisgICByZXR1cm4gc3lz Y2FsbChfX05SX2Nsb25lLCBmbGFncywgY2hpbGRfc3RhY2ssIHB0aWQsIGN0aWQsIHRscyk7Cisg I2VsaWYgZGVmaW5lZChBUkNIX0NQVV9YODYpIHx8IGRlZmluZWQoQVJDSF9DUFVfQVJNX0ZBTUlM WSkgfHwgXAorLSAgICBkZWZpbmVkKEFSQ0hfQ1BVX01JUFNfRkFNSUxZKQorKyAgICBkZWZpbmVk KEFSQ0hfQ1BVX01JUFNfRkFNSUxZKSB8fCBkZWZpbmVkKEFSQ0hfQ1BVX1BQQzY0X0ZBTUlMWSkK KyAgIC8vIENPTkZJR19DTE9ORV9CQUNLV0FSRFMgZGVmaW5lZC4KKyAgIHJldHVybiBzeXNjYWxs KF9fTlJfY2xvbmUsIGZsYWdzLCBjaGlsZF9zdGFjaywgcHRpZCwgdGxzLCBjdGlkKTsKKyAjZW5k aWYKK2RpZmYgLS1naXQgYS9zcmMvM3JkcGFydHkvY2hyb21pdW0vc2FuZGJveC9saW51eC9zeXNj YWxsX2Jyb2tlci9icm9rZXJfcHJvY2Vzcy5jYyBiL3NyYy8zcmRwYXJ0eS9jaHJvbWl1bS9zYW5k Ym94L2xpbnV4L3N5c2NhbGxfYnJva2VyL2Jyb2tlcl9wcm9jZXNzLmNjCitpbmRleCA4MzIxZDIz NzkuLjdlNWFkMWRlMyAxMDA2NDQKKy0tLSBhL3NyYy8zcmRwYXJ0eS9jaHJvbWl1bS9zYW5kYm94 L2xpbnV4L3N5c2NhbGxfYnJva2VyL2Jyb2tlcl9wcm9jZXNzLmNjCisrKysgYi9zcmMvM3JkcGFy dHkvY2hyb21pdW0vc2FuZGJveC9saW51eC9zeXNjYWxsX2Jyb2tlci9icm9rZXJfcHJvY2Vzcy5j YworQEAgLTE1Nyw3ICsxNTcsNyBAQCBib29sIEJyb2tlclByb2Nlc3M6OklzU3lzY2FsbEFsbG93 ZWQoaW50IHN5c25vKSBjb25zdCB7CisgI2lmIGRlZmluZWQoX19OUl9mc3RhdGF0KQorICAgICBj YXNlIF9fTlJfZnN0YXRhdDoKKyAjZW5kaWYKKy0jaWYgZGVmaW5lZChfX3g4Nl82NF9fKSB8fCBk ZWZpbmVkKF9fYWFyY2g2NF9fKQorKyNpZiBkZWZpbmVkKF9feDg2XzY0X18pIHx8IGRlZmluZWQo X19hYXJjaDY0X18pIHx8IGRlZmluZWQoX19wb3dlcnBjNjRfXykKKyAgICAgY2FzZSBfX05SX25l d2ZzdGF0YXQ6CisgI2VuZGlmCisgICAgICAgcmV0dXJuICFmYXN0X2NoZWNrX2luX2NsaWVudF8g fHwgYWxsb3dlZF9jb21tYW5kX3NldF8udGVzdChDT01NQU5EX1NUQVQpOworZGlmZiAtLWdpdCBh L3NyYy8zcmRwYXJ0eS9jaHJvbWl1bS9zYW5kYm94L2xpbnV4L3N5c3RlbV9oZWFkZXJzL2xpbnV4 X3NlY2NvbXAuaCBiL3NyYy8zcmRwYXJ0eS9jaHJvbWl1bS9zYW5kYm94L2xpbnV4L3N5c3RlbV9o ZWFkZXJzL2xpbnV4X3NlY2NvbXAuaAoraW5kZXggYTYwZmUyYWQzLi45ZGNjZGI1MWQgMTAwNjQ0 CistLS0gYS9zcmMvM3JkcGFydHkvY2hyb21pdW0vc2FuZGJveC9saW51eC9zeXN0ZW1faGVhZGVy cy9saW51eF9zZWNjb21wLmgKKysrKyBiL3NyYy8zcmRwYXJ0eS9jaHJvbWl1bS9zYW5kYm94L2xp bnV4L3N5c3RlbV9oZWFkZXJzL2xpbnV4X3NlY2NvbXAuaAorQEAgLTI5LDYgKzI5LDkgQEAKKyAj aWZuZGVmIEVNX0FBUkNINjQKKyAjZGVmaW5lIEVNX0FBUkNINjQgMTgzCisgI2VuZGlmCisrI2lm bmRlZiBFTV9QUEM2NAorKyNkZWZpbmUgRU1fUFBDNjQgMjEKKysjZW5kaWYKKyAKKyAjaWZuZGVm IF9fQVVESVRfQVJDSF82NEJJVAorICNkZWZpbmUgX19BVURJVF9BUkNIXzY0QklUIDB4ODAwMDAw MDAKK0BAIC01NCw2ICs1NywxMiBAQAorICNpZm5kZWYgQVVESVRfQVJDSF9BQVJDSDY0CisgI2Rl ZmluZSBBVURJVF9BUkNIX0FBUkNINjQgKEVNX0FBUkNINjQgfCBfX0FVRElUX0FSQ0hfNjRCSVQg fCBfX0FVRElUX0FSQ0hfTEUpCisgI2VuZGlmCisrI2lmbmRlZiBBVURJVF9BUkNIX1BQQzY0Cisr I2RlZmluZSBBVURJVF9BUkNIX1BQQzY0IChFTV9QUEM2NCB8IF9fQVVESVRfQVJDSF82NEJJVCkK KysjZW5kaWYKKysjaWZuZGVmIEFVRElUX0FSQ0hfUFBDNjRMRQorKyNkZWZpbmUgQVVESVRfQVJD SF9QUEM2NExFIChFTV9QUEM2NCB8IF9fQVVESVRfQVJDSF82NEJJVCB8IF9fQVVESVRfQVJDSF9M RSkKKysjZW5kaWYKKyAKKyAvLyBGb3IgcHJjdGwuaAorICNpZm5kZWYgUFJfU0VUX1NFQ0NPTVAK K2RpZmYgLS1naXQgYS9zcmMvM3JkcGFydHkvY2hyb21pdW0vc2FuZGJveC9saW51eC9zeXN0ZW1f aGVhZGVycy9saW51eF9zaWduYWwuaCBiL3NyYy8zcmRwYXJ0eS9jaHJvbWl1bS9zYW5kYm94L2xp bnV4L3N5c3RlbV9oZWFkZXJzL2xpbnV4X3NpZ25hbC5oCitpbmRleCBmNWE3MzY3NjEuLjUxNWIy MWE1ZiAxMDA2NDQKKy0tLSBhL3NyYy8zcmRwYXJ0eS9jaHJvbWl1bS9zYW5kYm94L2xpbnV4L3N5 c3RlbV9oZWFkZXJzL2xpbnV4X3NpZ25hbC5oCisrKysgYi9zcmMvM3JkcGFydHkvY2hyb21pdW0v c2FuZGJveC9saW51eC9zeXN0ZW1faGVhZGVycy9saW51eF9zaWduYWwuaAorQEAgLTEzLDcgKzEz LDcgQEAKKyAvLyAobm90IHVuZGVmaW5lZCwgYnV0IGRlZmluZWQgZGlmZmVyZW50IHZhbHVlcyBh bmQgaW4gZGlmZmVyZW50IG1lbW9yeQorIC8vIGxheW91dHMpLiBTbywgZmlsbCB0aGUgZ2FwIGhl cmUuCisgI2lmIGRlZmluZWQoX19pMzg2X18pIHx8IGRlZmluZWQoX194ODZfNjRfXykgfHwgZGVm aW5lZChfX2FybV9fKSB8fCBcCistICAgIGRlZmluZWQoX19hYXJjaDY0X18pCisrICAgIGRlZmlu ZWQoX19hYXJjaDY0X18pIHx8IGRlZmluZWQoX19wb3dlcnBjNjRfXykKKyAKKyAjZGVmaW5lIExJ TlVYX1NJR0hVUCAxCisgI2RlZmluZSBMSU5VWF9TSUdJTlQgMgorZGlmZiAtLWdpdCBhL3NyYy8z cmRwYXJ0eS9jaHJvbWl1bS9zYW5kYm94L2xpbnV4L3N5c3RlbV9oZWFkZXJzL2xpbnV4X3N5c2Nh bGxzLmggYi9zcmMvM3JkcGFydHkvY2hyb21pdW0vc2FuZGJveC9saW51eC9zeXN0ZW1faGVhZGVy cy9saW51eF9zeXNjYWxscy5oCitpbmRleCAyYjc4YTBjYzMuLjBhNzBmNWVhNSAxMDA2NDQKKy0t LSBhL3NyYy8zcmRwYXJ0eS9jaHJvbWl1bS9zYW5kYm94L2xpbnV4L3N5c3RlbV9oZWFkZXJzL2xp bnV4X3N5c2NhbGxzLmgKKysrKyBiL3NyYy8zcmRwYXJ0eS9jaHJvbWl1bS9zYW5kYm94L2xpbnV4 L3N5c3RlbV9oZWFkZXJzL2xpbnV4X3N5c2NhbGxzLmgKK0BAIC0zNSw1ICszNSw5IEBACisgI2lu Y2x1ZGUgInNhbmRib3gvbGludXgvc3lzdGVtX2hlYWRlcnMvYXJtNjRfbGludXhfc3lzY2FsbHMu aCIKKyAjZW5kaWYKKyAKKysjaWYgZGVmaW5lZChfX3Bvd2VycGM2NF9fKQorKyNpbmNsdWRlICJz YW5kYm94L2xpbnV4L3N5c3RlbV9oZWFkZXJzL3BwYzY0X2xpbnV4X3N5c2NhbGxzLmgiCisrI2Vu ZGlmCisrCisgI2VuZGlmICAvLyBTQU5EQk9YX0xJTlVYX1NZU1RFTV9IRUFERVJTX0xJTlVYX1NZ U0NBTExTX0hfCisgCitkaWZmIC0tZ2l0IGEvc3JjLzNyZHBhcnR5L2Nocm9taXVtL3NhbmRib3gv bGludXgvc3lzdGVtX2hlYWRlcnMvbGludXhfdWNvbnRleHQuaCBiL3NyYy8zcmRwYXJ0eS9jaHJv bWl1bS9zYW5kYm94L2xpbnV4L3N5c3RlbV9oZWFkZXJzL2xpbnV4X3Vjb250ZXh0LmgKK2luZGV4 IDIyY2U3ODAyNy4uYTY5YjAyNGMyIDEwMDY0NAorLS0tIGEvc3JjLzNyZHBhcnR5L2Nocm9taXVt L3NhbmRib3gvbGludXgvc3lzdGVtX2hlYWRlcnMvbGludXhfdWNvbnRleHQuaAorKysrIGIvc3Jj LzNyZHBhcnR5L2Nocm9taXVtL3NhbmRib3gvbGludXgvc3lzdGVtX2hlYWRlcnMvbGludXhfdWNv bnRleHQuaAorQEAgLTExLDYgKzExLDggQEAKKyAjaW5jbHVkZSAic2FuZGJveC9saW51eC9zeXN0 ZW1faGVhZGVycy9hcm1fbGludXhfdWNvbnRleHQuaCIKKyAjZWxpZiBkZWZpbmVkKF9faTM4Nl9f KQorICNpbmNsdWRlICJzYW5kYm94L2xpbnV4L3N5c3RlbV9oZWFkZXJzL2kzODZfbGludXhfdWNv bnRleHQuaCIKKysjZWxpZiBkZWZpbmVkKF9fcG93ZXJwYzY0X18pCisrI2luY2x1ZGUgInNhbmRi b3gvbGludXgvc3lzdGVtX2hlYWRlcnMvcHBjNjRfbGludXhfdWNvbnRleHQuaCIKKyAjZWxzZQor ICNlcnJvciAiTm8gc3VwcG9ydCBmb3IgeW91ciBhcmNoaXRlY3R1cmUgaW4gUE5hQ2wgaGVhZGVy IgorICNlbmRpZgorZGlmZiAtLWdpdCBhL3NyYy8zcmRwYXJ0eS9jaHJvbWl1bS9zYW5kYm94L2xp bnV4L3N5c3RlbV9oZWFkZXJzL3BwYzY0X2xpbnV4X3N5c2NhbGxzLmggYi9zcmMvM3JkcGFydHkv Y2hyb21pdW0vc2FuZGJveC9saW51eC9zeXN0ZW1faGVhZGVycy9wcGM2NF9saW51eF9zeXNjYWxs cy5oCituZXcgZmlsZSBtb2RlIDEwMDY0NAoraW5kZXggMDAwMDAwMDAwLi5jY2FjZmZlMjIKKy0t LSAvZGV2L251bGwKKysrKyBiL3NyYy8zcmRwYXJ0eS9jaHJvbWl1bS9zYW5kYm94L2xpbnV4L3N5 c3RlbV9oZWFkZXJzL3BwYzY0X2xpbnV4X3N5c2NhbGxzLmgKK0BAIC0wLDAgKzEsMTIgQEAKKysv LyBDb3B5cmlnaHQgMjAxNCBUaGUgQ2hyb21pdW0gQXV0aG9ycy4gQWxsIHJpZ2h0cyByZXNlcnZl ZC4KKysvLyBVc2Ugb2YgdGhpcyBzb3VyY2UgY29kZSBpcyBnb3Zlcm5lZCBieSBhIEJTRC1zdHls ZSBsaWNlbnNlIHRoYXQgY2FuIGJlCisrLy8gZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZS4KKysK KysjaWZuZGVmIFNBTkRCT1hfTElOVVhfU1lTVEVNX0hFQURFUlNfUFBDNjRfTElOVVhfU1lTQ0FM TFNfSF8KKysjZGVmaW5lIFNBTkRCT1hfTElOVVhfU1lTVEVNX0hFQURFUlNfUFBDNjRfTElOVVhf U1lTQ0FMTFNfSF8KKysKKysjaW5jbHVkZSA8YXNtL3VuaXN0ZC5oPgorKworKy8vVE9ETzogaXMg aXQgbmVjZXNzYXJ5IHRvIHJlZGVmaW5lIHN5c2NhbGwgbnVtYmVycyBmb3IgUFBDNjQ/CisrCisr I2VuZGlmICAvLyBTQU5EQk9YX0xJTlVYX1NZU1RFTV9IRUFERVJTX1BQQzY0X0xJTlVYX1NZU0NB TExTX0hfCitkaWZmIC0tZ2l0IGEvc3JjLzNyZHBhcnR5L2Nocm9taXVtL3NhbmRib3gvbGludXgv c3lzdGVtX2hlYWRlcnMvcHBjNjRfbGludXhfdWNvbnRleHQuaCBiL3NyYy8zcmRwYXJ0eS9jaHJv bWl1bS9zYW5kYm94L2xpbnV4L3N5c3RlbV9oZWFkZXJzL3BwYzY0X2xpbnV4X3Vjb250ZXh0LmgK K25ldyBmaWxlIG1vZGUgMTAwNjQ0CitpbmRleCAwMDAwMDAwMDAuLjA3NzI4ZTA4NworLS0tIC9k ZXYvbnVsbAorKysrIGIvc3JjLzNyZHBhcnR5L2Nocm9taXVtL3NhbmRib3gvbGludXgvc3lzdGVt X2hlYWRlcnMvcHBjNjRfbGludXhfdWNvbnRleHQuaAorQEAgLTAsMCArMSwxMiBAQAorKy8vIENv cHlyaWdodCAyMDE0IFRoZSBDaHJvbWl1bSBBdXRob3JzLiBBbGwgcmlnaHRzIHJlc2VydmVkLgor Ky8vIFVzZSBvZiB0aGlzIHNvdXJjZSBjb2RlIGlzIGdvdmVybmVkIGJ5IGEgQlNELXN0eWxlIGxp Y2Vuc2UgdGhhdCBjYW4gYmUKKysvLyBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlLgorKworKyNp Zm5kZWYgU0FOREJPWF9MSU5VWF9TWVNURU1fSEVBREVSU19QUEM2NF9MSU5VWF9VQ09OVEVYVF9I XworKyNkZWZpbmUgU0FOREJPWF9MSU5VWF9TWVNURU1fSEVBREVSU19QUEM2NF9MSU5VWF9VQ09O VEVYVF9IXworKworKyNpbmNsdWRlIDxzeXMvdWNvbnRleHQuaD4KKysKKysvL1RPRE86IGlzIGl0 IG5lY2Vzc2FyeSB0byByZWRlZmluZSB1Y29udGV4dCBvbiBQUEM2ND8KKysKKysjZW5kaWYgIC8v IFNBTkRCT1hfTElOVVhfU1lTVEVNX0hFQURFUlNfUFBDNjRfTElOVVhfVUNPTlRFWFRfSF8KK2Rp ZmYgLS1naXQgYS9zcmMvM3JkcGFydHkvY2hyb21pdW0vc2FuZGJveC9wb2xpY3kvbGludXgvYnBm X3JlbmRlcmVyX3BvbGljeV9saW51eC5jYyBiL3NyYy8zcmRwYXJ0eS9jaHJvbWl1bS9zYW5kYm94 L3BvbGljeS9saW51eC9icGZfcmVuZGVyZXJfcG9saWN5X2xpbnV4LmNjCitpbmRleCA0NDNlOTEx NGIuLjZkZjU2NzhkNiAxMDA2NDQKKy0tLSBhL3NyYy8zcmRwYXJ0eS9jaHJvbWl1bS9zYW5kYm94 L3BvbGljeS9saW51eC9icGZfcmVuZGVyZXJfcG9saWN5X2xpbnV4LmNjCisrKysgYi9zcmMvM3Jk cGFydHkvY2hyb21pdW0vc2FuZGJveC9wb2xpY3kvbGludXgvYnBmX3JlbmRlcmVyX3BvbGljeV9s aW51eC5jYworQEAgLTE1LDYgKzE1LDExIEBACisgI2luY2x1ZGUgInNhbmRib3gvbGludXgvc3lz dGVtX2hlYWRlcnMvbGludXhfc3lzY2FsbHMuaCIKKyAjaW5jbHVkZSAic2VydmljZXMvc2Vydmlj ZV9tYW5hZ2VyL3NhbmRib3gvbGludXgvc2FuZGJveF9saW51eC5oIgorIAorKy8vIE9uIFBQQzY0 LCBUQ0dFVFMgaXMgZGVmaW5lZCBpbiB0ZXJtcyBvZiBzdHJ1Y3QgdGVybWlvcywgc28gd2UgbXVz dCBpbmNsdWRlIHRlcm1pb3MuaAorKyNpZmRlZiBfX3Bvd2VycGM2NF9fCisrI2luY2x1ZGUgPHRl cm1pb3MuaD4KKysjZW5kaWYKKysKKyAvLyBUT0RPKHZpZ25hdHRpKTogcmVwbGFjZSB0aGUgbG9j YWwgZGVmaW5pdGlvbnMgYmVsb3cgd2l0aCAjaW5jbHVkZQorIC8vIDxsaW51eC9kbWEtYnVmLmg+ IG9uY2Uga2VybmVsIHZlcnNpb24gNC42IGJlY29tZXMgd2lkZWx5IHVzZWQuCisgI2luY2x1ZGUg PGxpbnV4L3R5cGVzLmg+CitkaWZmIC0tZ2l0IGEvc3JjLzNyZHBhcnR5L2Nocm9taXVtL3RoaXJk X3BhcnR5L2FuZ2xlL3NyYy9jb21waWxlci90cmFuc2xhdG9yL0luZm9TaW5rLmggYi9zcmMvM3Jk cGFydHkvY2hyb21pdW0vdGhpcmRfcGFydHkvYW5nbGUvc3JjL2NvbXBpbGVyL3RyYW5zbGF0b3Iv SW5mb1NpbmsuaAoraW5kZXggM2E4MDdlMWUzLi41MjU4NjE3YTcgMTAwNjQ0CistLS0gYS9zcmMv M3JkcGFydHkvY2hyb21pdW0vdGhpcmRfcGFydHkvYW5nbGUvc3JjL2NvbXBpbGVyL3RyYW5zbGF0 b3IvSW5mb1NpbmsuaAorKysrIGIvc3JjLzNyZHBhcnR5L2Nocm9taXVtL3RoaXJkX3BhcnR5L2Fu Z2xlL3NyYy9jb21waWxlci90cmFuc2xhdG9yL0luZm9TaW5rLmgKK0BAIC05Miw3ICs5MiwxNiBA QCBjbGFzcyBUSW5mb1NpbmtCYXNlCisgICAgICAgICAgICAgc3RyZWFtLnByZWNpc2lvbig4KTsK KyAgICAgICAgICAgICBzdHJlYW0gPDwgZjsKKyAgICAgICAgIH0KKy0gICAgICAgIHNpbmsuYXBw ZW5kKHN0cmVhbS5zdHIoKSk7CisrCisrICAgICAgICAvLyBIYWNrIHRvIHdvcmsgYXJvdW5kIGEg YnVnIHdoZXJlIG5lZ2F0aXZlIGZsb2F0aW5nIHBvaW50IHZhbHVlcworKyAgICAgICAgLy8gYXJl IHJlbmRlcmVkIGxpa2UgJy4wLjUnIGluc3RlYWQgb2YgJy0wLjUnCisrICAgICAgICBzdGQ6OnN0 cmluZyByZXMoc3RyZWFtLnN0cigpKTsKKysKKysgICAgICAgIGlmIChzaWduYml0KGYpKSB7IC8v IHRlc3QgaWYgZiBpcyBuZWdhdGl2ZQorKyAgICAgICAgICAgIHJlc1swXSA9ICctJzsKKysgICAg ICAgIH0KKysKKysgICAgICAgIHNpbmsuYXBwZW5kKHJlcyk7CisgICAgICAgICByZXR1cm4gKnRo aXM7CisgICAgIH0KKyAgICAgLy8gV3JpdGUgYm9vbGVhbiB2YWx1ZXMgYXMgdGhlaXIgbmFtZXMg aW5zdGVhZCBvZiBpbnRlZ3JhbCB2YWx1ZS4KK2RpZmYgLS1naXQgYS9zcmMvM3JkcGFydHkvY2hy b21pdW0vdGhpcmRfcGFydHkvYW5nbGUvc3JjL2xpYkFOR0xFL0NvbnN0YW50cy5oIGIvc3JjLzNy ZHBhcnR5L2Nocm9taXVtL3RoaXJkX3BhcnR5L2FuZ2xlL3NyYy9saWJBTkdMRS9Db25zdGFudHMu aAoraW5kZXggNzQ2Nzg5OTEzLi45MTMyYjNmYzAgMTAwNjQ0CistLS0gYS9zcmMvM3JkcGFydHkv Y2hyb21pdW0vdGhpcmRfcGFydHkvYW5nbGUvc3JjL2xpYkFOR0xFL0NvbnN0YW50cy5oCisrKysg Yi9zcmMvM3JkcGFydHkvY2hyb21pdW0vdGhpcmRfcGFydHkvYW5nbGUvc3JjL2xpYkFOR0xFL0Nv bnN0YW50cy5oCitAQCAtOSw2ICs5LDcgQEAKKyAjaWZuZGVmIExJQkFOR0xFX0NPTlNUQU5UU19I XworICNkZWZpbmUgTElCQU5HTEVfQ09OU1RBTlRTX0hfCisgCisrI2luY2x1ZGUgPGNzdGRkZWY+ CisgI2luY2x1ZGUgImNvbW1vbi9wbGF0Zm9ybS5oIgorIAorICNpbmNsdWRlIDxzdGRpbnQuaD4K K2RpZmYgLS1naXQgYS9zcmMvM3JkcGFydHkvY2hyb21pdW0vdGhpcmRfcGFydHkvYm9yaW5nc3Ns L0JVSUxELmduIGIvc3JjLzNyZHBhcnR5L2Nocm9taXVtL3RoaXJkX3BhcnR5L2JvcmluZ3NzbC9C VUlMRC5nbgoraW5kZXggYjQzNTQ5OWY0Li5hYzhhODRiNmQgMTAwNjQ0CistLS0gYS9zcmMvM3Jk cGFydHkvY2hyb21pdW0vdGhpcmRfcGFydHkvYm9yaW5nc3NsL0JVSUxELmduCisrKysgYi9zcmMv M3JkcGFydHkvY2hyb21pdW0vdGhpcmRfcGFydHkvYm9yaW5nc3NsL0JVSUxELmduCitAQCAtMTAx LDYgKzEwMSwxMyBAQCBpZiAoaXNfd2luICYmICFpc19tc2FuICYmIGN1cnJlbnRfY3B1ICE9ICJh cm02NCIpIHsKKyAgICAgICB9IGVsc2UgeworICAgICAgICAgcHVibGljX2NvbmZpZ3MgPSBbICI6 bm9fYXNtX2NvbmZpZyIgXQorICAgICAgIH0KKysgICAgfSBlbHNlIGlmIChjdXJyZW50X2NwdSA9 PSAicHBjNjQiKSB7CisrICAgICAgaWYgKGlzX2xpbnV4KSB7CisrICAgICAgICAjIFRPRE86IHBw YzY0IChiZSkgY2hlY2sKKysgICAgICAgIHNvdXJjZXMgKz0gY3J5cHRvX3NvdXJjZXNfbGludXhf cHBjNjRsZQorKyAgICAgIH0gZWxzZSB7CisrICAgICAgICBwdWJsaWNfY29uZmlncyA9IFsgIjpu b19hc21fY29uZmlnIiBdCisrICAgICAgfQorICAgICB9IGVsc2UgeworICAgICAgIHB1YmxpY19j b25maWdzID0gWyAiOm5vX2FzbV9jb25maWciIF0KKyAgICAgfQorZGlmZiAtLWdpdCBhL3NyYy8z cmRwYXJ0eS9jaHJvbWl1bS90aGlyZF9wYXJ0eS9icmVha3BhZC9CVUlMRC5nbiBiL3NyYy8zcmRw YXJ0eS9jaHJvbWl1bS90aGlyZF9wYXJ0eS9icmVha3BhZC9CVUlMRC5nbgoraW5kZXggNTYxN2Rl ODguLmRjOGJjMTc2IDEwMDY0NAorLS0tIGEvc3JjLzNyZHBhcnR5L2Nocm9taXVtL3RoaXJkX3Bh cnR5L2JyZWFrcGFkL0JVSUxELmduCisrKysgYi9zcmMvM3JkcGFydHkvY2hyb21pdW0vdGhpcmRf cGFydHkvYnJlYWtwYWQvQlVJTEQuZ24KK0BAIC01OTgsNyArNTk4LDYgQEAgaWYgKGlzX2xpbnV4 IHx8IGlzX2FuZHJvaWQpIHsKKyAgICAgICAiYnJlYWtwYWQvc3JjL2NsaWVudC9taW5pZHVtcF9m aWxlX3dyaXRlci5oIiwKKyAgICAgICAiYnJlYWtwYWQvc3JjL2NvbW1vbi9jb252ZXJ0X1VURi5j YyIsCisgICAgICAgImJyZWFrcGFkL3NyYy9jb21tb24vY29udmVydF9VVEYuaCIsCistICAgICAg ImJyZWFrcGFkL3NyYy9jb21tb24vbGludXgvYnJlYWtwYWRfZ2V0Y29udGV4dC5TIiwKKyAgICAg ICAiYnJlYWtwYWQvc3JjL2NvbW1vbi9saW51eC9lbGZfY29yZV9kdW1wLmNjIiwKKyAgICAgICAi YnJlYWtwYWQvc3JjL2NvbW1vbi9saW51eC9lbGZfY29yZV9kdW1wLmgiLAorICAgICAgICJicmVh a3BhZC9zcmMvY29tbW9uL2xpbnV4L2VsZnV0aWxzLmNjIiwKK0BAIC02MzYsNiArNjM1LDE1IEBA IGlmIChpc19saW51eCB8fCBpc19hbmRyb2lkKSB7CisgCisgICAgIGxpYnMgPSBbICJkbCIgXQor IAorKyAgICBpZiAoY3VycmVudF9jcHUgPT0gInBwYzY0IikgeworKyAgICAgICAgZGVmaW5lcyA9 IFsgIkhBVkVfR0VUQ09OVEVYVCIgXQorKyAgICAgICAgI2xpYnMgKz0gWyAidWNvbnRleHQiIF0K KysgICAgfSBlbHNlIHsKKysgICAgICAgIHNvdXJjZXMgKz0gWworKyAgICAgICAgICAgICJicmVh a3BhZC9zcmMvY29tbW9uL2xpbnV4L2JyZWFrcGFkX2dldGNvbnRleHQuUyIKKysgICAgICAgIF0K KysgICAgfQorKworICAgICBpbmNsdWRlX2RpcnMgPSBbCisgICAgICAgIi4iLAorICAgICAgICJi cmVha3BhZC9zcmMiLAorQEAgLTY4Niw3ICs2OTMsNiBAQCBpZiAoaXNfbGludXggfHwgaXNfYW5k cm9pZCkgeworICAgICAgICJicmVha3BhZC9zcmMvY2xpZW50L2xpbnV4L21pbmlkdW1wX3dyaXRl ci9taW5pZHVtcF93cml0ZXJfdW5pdHRlc3QuY2MiLAorICAgICAgICJicmVha3BhZC9zcmMvY2xp ZW50L2xpbnV4L21pbmlkdW1wX3dyaXRlci9taW5pZHVtcF93cml0ZXJfdW5pdHRlc3RfdXRpbHMu Y2MiLAorICAgICAgICJicmVha3BhZC9zcmMvY2xpZW50L2xpbnV4L21pbmlkdW1wX3dyaXRlci9w cm9jX2NwdWluZm9fcmVhZGVyX3VuaXR0ZXN0LmNjIiwKKy0gICAgICAiYnJlYWtwYWQvc3JjL2Nv bW1vbi9saW51eC9icmVha3BhZF9nZXRjb250ZXh0X3VuaXR0ZXN0LmNjIiwKKyAgICAgICAiYnJl YWtwYWQvc3JjL2NvbW1vbi9saW51eC9lbGZfY29yZV9kdW1wX3VuaXR0ZXN0LmNjIiwKKyAgICAg ICAiYnJlYWtwYWQvc3JjL2NvbW1vbi9saW51eC9maWxlX2lkX3VuaXR0ZXN0LmNjIiwKKyAgICAg ICAiYnJlYWtwYWQvc3JjL2NvbW1vbi9saW51eC9saW51eF9saWJjX3N1cHBvcnRfdW5pdHRlc3Qu Y2MiLAorZGlmZiAtLWdpdCBhL3NyYy8zcmRwYXJ0eS9jaHJvbWl1bS90aGlyZF9wYXJ0eS9icmVh a3BhZC9icmVha3BhZC9zcmMvY2xpZW50L2xpbnV4L2R1bXBfd3JpdGVyX2NvbW1vbi9yYXdfY29u dGV4dF9jcHUuaCBiL3NyYy8zcmRwYXJ0eS9jaHJvbWl1bS90aGlyZF9wYXJ0eS9icmVha3BhZC9i cmVha3BhZC9zcmMvY2xpZW50L2xpbnV4L2R1bXBfd3JpdGVyX2NvbW1vbi9yYXdfY29udGV4dF9j cHUuaAoraW5kZXggMDdkOTE3MWEwLi45YWVkNGNiMzYgMTAwNjQ0CistLS0gYS9zcmMvM3JkcGFy dHkvY2hyb21pdW0vdGhpcmRfcGFydHkvYnJlYWtwYWQvYnJlYWtwYWQvc3JjL2NsaWVudC9saW51 eC9kdW1wX3dyaXRlcl9jb21tb24vcmF3X2NvbnRleHRfY3B1LmgKKysrKyBiL3NyYy8zcmRwYXJ0 eS9jaHJvbWl1bS90aGlyZF9wYXJ0eS9icmVha3BhZC9icmVha3BhZC9zcmMvY2xpZW50L2xpbnV4 L2R1bXBfd3JpdGVyX2NvbW1vbi9yYXdfY29udGV4dF9jcHUuaAorQEAgLTQ0LDYgKzQ0LDggQEAg dHlwZWRlZiBNRFJhd0NvbnRleHRBUk0gUmF3Q29udGV4dENQVTsKKyB0eXBlZGVmIE1EUmF3Q29u dGV4dEFSTTY0X09sZCBSYXdDb250ZXh0Q1BVOworICNlbGlmIGRlZmluZWQoX19taXBzX18pCisg dHlwZWRlZiBNRFJhd0NvbnRleHRNSVBTIFJhd0NvbnRleHRDUFU7CisrI2VsaWYgZGVmaW5lZChf X3Bvd2VycGM2NF9fKQorK3R5cGVkZWYgTURSYXdDb250ZXh0UFBDNjQgUmF3Q29udGV4dENQVTsK KyAjZWxzZQorICNlcnJvciAiVGhpcyBjb2RlIGhhcyBub3QgYmVlbiBwb3J0ZWQgdG8geW91ciBw bGF0Zm9ybSB5ZXQuIgorICNlbmRpZgorZGlmZiAtLWdpdCBhL3NyYy8zcmRwYXJ0eS9jaHJvbWl1 bS90aGlyZF9wYXJ0eS9icmVha3BhZC9icmVha3BhZC9zcmMvY2xpZW50L2xpbnV4L2R1bXBfd3Jp dGVyX2NvbW1vbi90aHJlYWRfaW5mby5jYyBiL3NyYy8zcmRwYXJ0eS9jaHJvbWl1bS90aGlyZF9w YXJ0eS9icmVha3BhZC9icmVha3BhZC9zcmMvY2xpZW50L2xpbnV4L2R1bXBfd3JpdGVyX2NvbW1v bi90aHJlYWRfaW5mby5jYworaW5kZXggYWFlMWRjMTNiLi4wM2FmZWM3YTUgMTAwNjQ0CistLS0g YS9zcmMvM3JkcGFydHkvY2hyb21pdW0vdGhpcmRfcGFydHkvYnJlYWtwYWQvYnJlYWtwYWQvc3Jj L2NsaWVudC9saW51eC9kdW1wX3dyaXRlcl9jb21tb24vdGhyZWFkX2luZm8uY2MKKysrKyBiL3Ny Yy8zcmRwYXJ0eS9jaHJvbWl1bS90aGlyZF9wYXJ0eS9icmVha3BhZC9icmVha3BhZC9zcmMvY2xp ZW50L2xpbnV4L2R1bXBfd3JpdGVyX2NvbW1vbi90aHJlYWRfaW5mby5jYworQEAgLTI3MCw3ICsy NzAsNDIgQEAgdm9pZCBUaHJlYWRJbmZvOjpGaWxsQ1BVQ29udGV4dChSYXdDb250ZXh0Q1BVKiBv dXQpIGNvbnN0IHsKKyAgIG91dC0+ZmxvYXRfc2F2ZS5maXIgPSBtY29udGV4dC5mcGNfZWlyOwor ICNlbmRpZgorIH0KKy0jZW5kaWYgIC8vIF9fbWlwc19fCisrCisrI2VsaWYgZGVmaW5lZChfX3Bv d2VycGM2NF9fKQorKworK3VpbnRwdHJfdCBUaHJlYWRJbmZvOjpHZXRJbnN0cnVjdGlvblBvaW50 ZXIoKSBjb25zdCB7CisrICAgIHJldHVybiBtY29udGV4dC5ncF9yZWdzW1BUX05JUF07CisrfQor KworK3ZvaWQgVGhyZWFkSW5mbzo6RmlsbENQVUNvbnRleHQoUmF3Q29udGV4dENQVSogb3V0KSBj b25zdCB7CisrICAgIG91dC0+Y29udGV4dF9mbGFncyA9IE1EX0NPTlRFWFRfUFBDNjRfRlVMTDsK KysgICAgZm9yIChpbnQgaSA9IDA7IGkgPCBNRF9DT05URVhUX1BQQzY0X0dQUl9DT1VOVDsgaSsr KQorKyAgICAgICAgb3V0LT5ncHJbaV0gPSBtY29udGV4dC5ncF9yZWdzW2ldOworKworKyAgICBv dXQtPmxyID0gbWNvbnRleHQuZ3BfcmVnc1tQVF9MTktdOworKyAgICBvdXQtPnNycjAgPSBtY29u dGV4dC5ncF9yZWdzW1BUX05JUF07CisrICAgIG91dC0+c3JyMSA9IG1jb250ZXh0LmdwX3JlZ3Nb UFRfTVNSXTsKKysgICAgb3V0LT5jciA9IG1jb250ZXh0LmdwX3JlZ3NbUFRfQ0NSXTsKKysgICAg b3V0LT54ZXIgPSBtY29udGV4dC5ncF9yZWdzW1BUX1hFUl07CisrICAgIG91dC0+Y3RyID0gbWNv bnRleHQuZ3BfcmVnc1tQVF9DVFJdOworKyAgICAKKysgICAgZm9yIChpbnQgaSA9IDA7IGkgPCBN RF9GTE9BVElOR1NBVkVBUkVBX1BQQ19GUFJfQ09VTlQ7IGkrKykKKysgICAgICAgIG91dC0+Zmxv YXRfc2F2ZS5mcHJlZ3NbaV0gPSBtY29udGV4dC5mcF9yZWdzW2ldOworKworKyAgICBvdXQtPmZs b2F0X3NhdmUuZnBzY3IgPSBtY29udGV4dC5mcF9yZWdzW05GUFJFRy0xXTsKKysKKysgICAgZm9y IChpbnQgaSA9IDA7IGkgPCBNRF9WRUNUT1JTQVZFQVJFQV9QUENfVlJfQ09VTlQ7IGkrKykKKysg ICAgICAgIG91dC0+dmVjdG9yX3NhdmUuc2F2ZV92cltpXSA9IFwKKysgICAgICAgICAgICB7KCgo dWludDY0X3QpdnJlZ3MudnJyZWdzW2ldWzBdKSA8PCAzMikgCisrICAgICAgICAgICAgICAgICAg ICAgICAgICB8IHZyZWdzLnZycmVnc1tpXVsxXSwgCisrICAgICAgICAgICAgKCgodWludDY0X3Qp dnJlZ3MudnJyZWdzW2ldWzJdKSA8PCAzMikKKysgICAgICAgICAgICAgICAgICAgICAgICAgfCB2 cmVncy52cnJlZ3NbaV1bM119OworKworKyAgICBvdXQtPnZyc2F2ZSA9IHZyZWdzLnZyc2F2ZTsK KysgICAgb3V0LT52ZWN0b3Jfc2F2ZS5zYXZlX3ZzY3IgPSB7MCwgdnJlZ3MudnNjci52c2NyX3dv cmR9OworKyAgICBvdXQtPnZlY3Rvcl9zYXZlLnNhdmVfdnJ2YWxpZCA9IDB4RkZGRkZGRkY7IAor K30KKysjZW5kaWYgIC8vIF9fcG93ZXJwYzY0X18KKyAKKyB2b2lkIFRocmVhZEluZm86OkdldEdl bmVyYWxQdXJwb3NlUmVnaXN0ZXJzKHZvaWQqKiBncF9yZWdzLCBzaXplX3QqIHNpemUpIHsKKyAg IGFzc2VydChncF9yZWdzIHx8IHNpemUpOworQEAgLTI3OSw2ICszMTQsMTEgQEAgdm9pZCBUaHJl YWRJbmZvOjpHZXRHZW5lcmFsUHVycG9zZVJlZ2lzdGVycyh2b2lkKiogZ3BfcmVncywgc2l6ZV90 KiBzaXplKSB7CisgICAgICpncF9yZWdzID0gbWNvbnRleHQuZ3JlZ3M7CisgICBpZiAoc2l6ZSkK KyAgICAgKnNpemUgPSBzaXplb2YobWNvbnRleHQuZ3JlZ3MpOworKyNlbGlmIGRlZmluZWQoX19w b3dlcnBjNjRfXykKKysgIGlmIChncF9yZWdzKQorKyAgICAqZ3BfcmVncyA9IG1jb250ZXh0Lmdw X3JlZ3M7CisrICBpZiAoc2l6ZSkKKysgICAgKnNpemUgPSBzaXplb2YobWNvbnRleHQuZ3BfcmVn cyk7CisgI2Vsc2UKKyAgIGlmIChncF9yZWdzKQorICAgICAqZ3BfcmVncyA9ICZyZWdzOworQEAg LTI5NCw2ICszMzQsMTEgQEAgdm9pZCBUaHJlYWRJbmZvOjpHZXRGbG9hdGluZ1BvaW50UmVnaXN0 ZXJzKHZvaWQqKiBmcF9yZWdzLCBzaXplX3QqIHNpemUpIHsKKyAgICAgKmZwX3JlZ3MgPSAmbWNv bnRleHQuZnByZWdzOworICAgaWYgKHNpemUpCisgICAgICpzaXplID0gc2l6ZW9mKG1jb250ZXh0 LmZwcmVncyk7CisrI2VsaWYgZGVmaW5lZChfX3Bvd2VycGM2NF9fKQorKyAgaWYgKGZwX3JlZ3Mp CisrICAgICpmcF9yZWdzID0gJm1jb250ZXh0LmZwX3JlZ3M7CisrICBpZiAoc2l6ZSkKKysgICAg KnNpemUgPSBzaXplb2YobWNvbnRleHQuZnBfcmVncyk7CisgI2Vsc2UKKyAgIGlmIChmcF9yZWdz KQorICAgICAqZnBfcmVncyA9ICZmcHJlZ3M7CitAQCAtMzAyLDQgKzM0NywxMyBAQCB2b2lkIFRo cmVhZEluZm86OkdldEZsb2F0aW5nUG9pbnRSZWdpc3RlcnModm9pZCoqIGZwX3JlZ3MsIHNpemVf dCogc2l6ZSkgeworICNlbmRpZgorIH0KKyAKKysjaWYgZGVmaW5lZChfX3Bvd2VycGM2NF9fKQor K3ZvaWQgVGhyZWFkSW5mbzo6R2V0VmVjdG9yUmVnaXN0ZXJzKHZvaWQqKiB2X3JlZ3MsIHNpemVf dCogc2l6ZSkgeworKyAgICBpZiAodl9yZWdzKQorKyAgICAgICAgKnZfcmVncyA9ICZ2cmVnczsK KysgICAgaWYgKHNpemUpCisrICAgICAgICAqc2l6ZSA9IHNpemVvZih2cmVncyk7CisrfQorKyNl bmRpZgorKworIH0gIC8vIG5hbWVzcGFjZSBnb29nbGVfYnJlYWtwYWQKK2RpZmYgLS1naXQgYS9z cmMvM3JkcGFydHkvY2hyb21pdW0vdGhpcmRfcGFydHkvYnJlYWtwYWQvYnJlYWtwYWQvc3JjL2Ns aWVudC9saW51eC9kdW1wX3dyaXRlcl9jb21tb24vdGhyZWFkX2luZm8uaCBiL3NyYy8zcmRwYXJ0 eS9jaHJvbWl1bS90aGlyZF9wYXJ0eS9icmVha3BhZC9icmVha3BhZC9zcmMvY2xpZW50L2xpbnV4 L2R1bXBfd3JpdGVyX2NvbW1vbi90aHJlYWRfaW5mby5oCitpbmRleCBmYjIxNmZhNmQuLjU5M2Fh YzgyMiAxMDA2NDQKKy0tLSBhL3NyYy8zcmRwYXJ0eS9jaHJvbWl1bS90aGlyZF9wYXJ0eS9icmVh a3BhZC9icmVha3BhZC9zcmMvY2xpZW50L2xpbnV4L2R1bXBfd3JpdGVyX2NvbW1vbi90aHJlYWRf aW5mby5oCisrKysgYi9zcmMvM3JkcGFydHkvY2hyb21pdW0vdGhpcmRfcGFydHkvYnJlYWtwYWQv YnJlYWtwYWQvc3JjL2NsaWVudC9saW51eC9kdW1wX3dyaXRlcl9jb21tb24vdGhyZWFkX2luZm8u aAorQEAgLTY4LDYgKzY4LDEwIEBAIHN0cnVjdCBUaHJlYWRJbmZvIHsKKyAgIC8vIFVzZSB0aGUg c3RydWN0dXJlcyBkZWZpbmVkIGluIDxzeXMvdXNlci5oPgorICAgc3RydWN0IHVzZXJfcmVnc19z dHJ1Y3QgcmVnczsKKyAgIHN0cnVjdCB1c2VyX2Zwc2ltZF9zdHJ1Y3QgZnByZWdzOworKyNlbGlm IGRlZmluZWQoX19wb3dlcnBjNjRfXykKKysgIC8vIFVzZSB0aGUgc3RydWN0dXJlcyBkZWZpbmVk IGluIDxzeXMvdWNvbnRleHQuaD4uCisrICBtY29udGV4dF90IG1jb250ZXh0OworKyAgdnJyZWdz ZXRfdCB2cmVnczsKKyAjZWxpZiBkZWZpbmVkKF9fbWlwc19fKQorICAgLy8gVXNlIHRoZSBzdHJ1 Y3R1cmUgZGVmaW5lZCBpbiA8c3lzL3Vjb250ZXh0Lmg+LgorICAgbWNvbnRleHRfdCBtY29udGV4 dDsKK0BAIC04NCw2ICs4OCwxMSBAQCBzdHJ1Y3QgVGhyZWFkSW5mbyB7CisgCisgICAvLyBSZXR1 cm5zIHRoZSBwb2ludGVyIGFuZCBzaXplIG9mIGZsb2F0IHBvaW50IHJlZ2lzdGVyIGFyZWEuCisg ICB2b2lkIEdldEZsb2F0aW5nUG9pbnRSZWdpc3RlcnModm9pZCoqIGZwX3JlZ3MsIHNpemVfdCog c2l6ZSk7CisrCisrI2lmIGRlZmluZWQoX19wb3dlcnBjNjRfXykKKysgIC8vIFJldHVybnMgdGhl IHBvaW50ZXIgYW5kIHNpemUgb2YgdGhlIHZlY3RvciByZWdpc3RlciBhcmVhLiAoUFBDNjQgb25s eSkKKysgIHZvaWQgR2V0VmVjdG9yUmVnaXN0ZXJzKHZvaWQqKiB2X3JlZ3MsIHNpemVfdCogc2l6 ZSk7CisrI2VuZGlmCisgfTsKKyAKKyB9ICAvLyBuYW1lc3BhY2UgZ29vZ2xlX2JyZWFrcGFkCitk aWZmIC0tZ2l0IGEvc3JjLzNyZHBhcnR5L2Nocm9taXVtL3RoaXJkX3BhcnR5L2JyZWFrcGFkL2Jy ZWFrcGFkL3NyYy9jbGllbnQvbGludXgvZHVtcF93cml0ZXJfY29tbW9uL3Vjb250ZXh0X3JlYWRl ci5jYyBiL3NyYy8zcmRwYXJ0eS9jaHJvbWl1bS90aGlyZF9wYXJ0eS9icmVha3BhZC9icmVha3Bh ZC9zcmMvY2xpZW50L2xpbnV4L2R1bXBfd3JpdGVyX2NvbW1vbi91Y29udGV4dF9yZWFkZXIuY2MK K2luZGV4IGE4ZjljY2M3Mi4uNzYyMGNmNmY3IDEwMDY0NAorLS0tIGEvc3JjLzNyZHBhcnR5L2No cm9taXVtL3RoaXJkX3BhcnR5L2JyZWFrcGFkL2JyZWFrcGFkL3NyYy9jbGllbnQvbGludXgvZHVt cF93cml0ZXJfY29tbW9uL3Vjb250ZXh0X3JlYWRlci5jYworKysrIGIvc3JjLzNyZHBhcnR5L2No cm9taXVtL3RoaXJkX3BhcnR5L2JyZWFrcGFkL2JyZWFrcGFkL3NyYy9jbGllbnQvbGludXgvZHVt cF93cml0ZXJfY29tbW9uL3Vjb250ZXh0X3JlYWRlci5jYworQEAgLTI1NCw2ICsyNTQsNDggQEAg dm9pZCBVQ29udGV4dFJlYWRlcjo6RmlsbENQVUNvbnRleHQoUmF3Q29udGV4dENQVSAqb3V0LCBj b25zdCB1Y29udGV4dF90ICp1YykgeworICAgb3V0LT5mbG9hdF9zYXZlLmZpciA9IHVjLT51Y19t Y29udGV4dC5mcGNfZWlyOyAgLy8gVW51c2VkLgorICNlbmRpZgorIH0KKysKKysjZWxpZiBkZWZp bmVkKF9fcG93ZXJwYzY0X18pCisrCisrdWludHB0cl90IFVDb250ZXh0UmVhZGVyOjpHZXRTdGFj a1BvaW50ZXIoY29uc3QgdWNvbnRleHRfdCogdWMpIHsKKysgICAgcmV0dXJuIHVjLT51Y19tY29u dGV4dC5ncF9yZWdzW01EX0NPTlRFWFRfUFBDNjRfUkVHX1NQXTsKKyt9CisrCisrdWludHB0cl90 IFVDb250ZXh0UmVhZGVyOjpHZXRJbnN0cnVjdGlvblBvaW50ZXIoY29uc3QgdWNvbnRleHRfdCog dWMpIHsKKysgICAgcmV0dXJuIHVjLT51Y19tY29udGV4dC5ncF9yZWdzW1BUX05JUF07CisrfQor KworK3ZvaWQgVUNvbnRleHRSZWFkZXI6OkZpbGxDUFVDb250ZXh0KFJhd0NvbnRleHRDUFUqIG91 dCwgY29uc3QgdWNvbnRleHRfdCogdWMsCisrICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgY29uc3QgdnJyZWdzZXRfdCogdnJlZ3MpIHsKKysgICAgb3V0LT5jb250ZXh0X2ZsYWdz ID0gTURfQ09OVEVYVF9QUEM2NF9GVUxMOworKworKyAgICBmb3IgKGludCBpID0gMDsgaSA8IE1E X0NPTlRFWFRfUFBDNjRfR1BSX0NPVU5UOyBpKyspCisrICAgICAgICBvdXQtPmdwcltpXSA9IHVj LT51Y19tY29udGV4dC5ncF9yZWdzW2ldOworKworKyAgICBvdXQtPmxyID0gdWMtPnVjX21jb250 ZXh0LmdwX3JlZ3NbUFRfTE5LXTsgICAgCisrICAgIG91dC0+c3JyMCA9IHVjLT51Y19tY29udGV4 dC5ncF9yZWdzW1BUX05JUF07CisrICAgIG91dC0+c3JyMSA9IHVjLT51Y19tY29udGV4dC5ncF9y ZWdzW1BUX01TUl07CisrICAgIG91dC0+Y3IgPSB1Yy0+dWNfbWNvbnRleHQuZ3BfcmVnc1tQVF9D Q1JdOworKyAgICBvdXQtPnhlciA9IHVjLT51Y19tY29udGV4dC5ncF9yZWdzW1BUX1hFUl07Cisr ICAgIG91dC0+Y3RyID0gdWMtPnVjX21jb250ZXh0LmdwX3JlZ3NbUFRfQ1RSXTsKKysgICAgCisr ICAgIGZvciAoaW50IGkgPSAwOyBpIDwgTURfRkxPQVRJTkdTQVZFQVJFQV9QUENfRlBSX0NPVU5U OyBpKyspCisrICAgICAgICBvdXQtPmZsb2F0X3NhdmUuZnByZWdzW2ldID0gdWMtPnVjX21jb250 ZXh0LmZwX3JlZ3NbaV07CisrCisrICAgIG91dC0+ZmxvYXRfc2F2ZS5mcHNjciA9IHVjLT51Y19t Y29udGV4dC5mcF9yZWdzW05GUFJFRy0xXTsKKysKKysgICAgZm9yIChpbnQgaSA9IDA7IGkgPCBN RF9WRUNUT1JTQVZFQVJFQV9QUENfVlJfQ09VTlQ7IGkrKykKKysgICAgICAgIG91dC0+dmVjdG9y X3NhdmUuc2F2ZV92cltpXSA9CisrICAgICAgICAgICAgeygoKHVpbnQ2NF90KXZyZWdzLT52cnJl Z3NbaV1bMF0pIDw8IDMyKSAKKysgICAgICAgICAgICAgICAgICAgICAgICAgfCB2cmVncy0+dnJy ZWdzW2ldWzFdLCAKKysgICAgICAgICAgICAgKCgodWludDY0X3QpdnJlZ3MtPnZycmVnc1tpXVsy XSkgPDwgMzIpCisrICAgICAgICAgICAgICAgICAgICAgICAgIHwgdnJlZ3MtPnZycmVnc1tpXVsz XX07CisrCisrICAgIG91dC0+dnJzYXZlID0gdnJlZ3MtPnZyc2F2ZTsKKysgICAgb3V0LT52ZWN0 b3Jfc2F2ZS5zYXZlX3ZzY3IgPSB7MCwgdnJlZ3MtPnZzY3IudnNjcl93b3JkfTsKKysgICAgb3V0 LT52ZWN0b3Jfc2F2ZS5zYXZlX3ZydmFsaWQgPSAweEZGRkZGRkZGOyAKKyt9CisrCisgI2VuZGlm CisgCisgfSAgLy8gbmFtZXNwYWNlIGdvb2dsZV9icmVha3BhZAorZGlmZiAtLWdpdCBhL3NyYy8z cmRwYXJ0eS9jaHJvbWl1bS90aGlyZF9wYXJ0eS9icmVha3BhZC9icmVha3BhZC9zcmMvY2xpZW50 L2xpbnV4L2R1bXBfd3JpdGVyX2NvbW1vbi91Y29udGV4dF9yZWFkZXIuaCBiL3NyYy8zcmRwYXJ0 eS9jaHJvbWl1bS90aGlyZF9wYXJ0eS9icmVha3BhZC9icmVha3BhZC9zcmMvY2xpZW50L2xpbnV4 L2R1bXBfd3JpdGVyX2NvbW1vbi91Y29udGV4dF9yZWFkZXIuaAoraW5kZXggZjNkZGUxZjRkLi45 NjA3OTE2OWQgMTAwNjQ0CistLS0gYS9zcmMvM3JkcGFydHkvY2hyb21pdW0vdGhpcmRfcGFydHkv YnJlYWtwYWQvYnJlYWtwYWQvc3JjL2NsaWVudC9saW51eC9kdW1wX3dyaXRlcl9jb21tb24vdWNv bnRleHRfcmVhZGVyLmgKKysrKyBiL3NyYy8zcmRwYXJ0eS9jaHJvbWl1bS90aGlyZF9wYXJ0eS9i cmVha3BhZC9icmVha3BhZC9zcmMvY2xpZW50L2xpbnV4L2R1bXBfd3JpdGVyX2NvbW1vbi91Y29u dGV4dF9yZWFkZXIuaAorQEAgLTU0LDYgKzU0LDkgQEAgc3RydWN0IFVDb250ZXh0UmVhZGVyIHsK KyAjZWxpZiBkZWZpbmVkKF9fYWFyY2g2NF9fKQorICAgc3RhdGljIHZvaWQgRmlsbENQVUNvbnRl eHQoUmF3Q29udGV4dENQVSAqb3V0LCBjb25zdCB1Y29udGV4dF90ICp1YywKKyAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIGNvbnN0IHN0cnVjdCBmcHNpbWRfY29udGV4dCogZnByZWdzKTsK KysjZWxpZiBkZWZpbmVkKF9fcG93ZXJwYzY0X18pCisrICBzdGF0aWMgdm9pZCBGaWxsQ1BVQ29u dGV4dChSYXdDb250ZXh0Q1BVICpvdXQsIGNvbnN0IHVjb250ZXh0X3QgKnVjLAorKyAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgY29uc3QgdnJyZWdzZXRfdCogdnJlZ3MpOworICNlbHNlCisg ICBzdGF0aWMgdm9pZCBGaWxsQ1BVQ29udGV4dChSYXdDb250ZXh0Q1BVICpvdXQsIGNvbnN0IHVj b250ZXh0X3QgKnVjKTsKKyAjZW5kaWYKK2RpZmYgLS1naXQgYS9zcmMvM3JkcGFydHkvY2hyb21p dW0vdGhpcmRfcGFydHkvYnJlYWtwYWQvYnJlYWtwYWQvc3JjL2NsaWVudC9saW51eC9oYW5kbGVy L2V4Y2VwdGlvbl9oYW5kbGVyLmNjIGIvc3JjLzNyZHBhcnR5L2Nocm9taXVtL3RoaXJkX3BhcnR5 L2JyZWFrcGFkL2JyZWFrcGFkL3NyYy9jbGllbnQvbGludXgvaGFuZGxlci9leGNlcHRpb25faGFu ZGxlci5jYworaW5kZXggYjg5NWY2ZDdhLi45MDFjZDY4ZmIgMTAwNjQ0CistLS0gYS9zcmMvM3Jk cGFydHkvY2hyb21pdW0vdGhpcmRfcGFydHkvYnJlYWtwYWQvYnJlYWtwYWQvc3JjL2NsaWVudC9s aW51eC9oYW5kbGVyL2V4Y2VwdGlvbl9oYW5kbGVyLmNjCisrKysgYi9zcmMvM3JkcGFydHkvY2hy b21pdW0vdGhpcmRfcGFydHkvYnJlYWtwYWQvYnJlYWtwYWQvc3JjL2NsaWVudC9saW51eC9oYW5k bGVyL2V4Y2VwdGlvbl9oYW5kbGVyLmNjCitAQCAtNDYxLDkgKzQ2MSwxNiBAQCBib29sIEV4Y2Vw dGlvbkhhbmRsZXI6OkhhbmRsZVNpZ25hbChpbnQgLypzaWcqLywgc2lnaW5mb190KiBpbmZvLCB2 b2lkKiB1YykgeworICAgICBtZW1jcHkoJmdfY3Jhc2hfY29udGV4dF8uZmxvYXRfc3RhdGUsIGZw X3B0ciwKKyAgICAgICAgICAgIHNpemVvZihnX2NyYXNoX2NvbnRleHRfLmZsb2F0X3N0YXRlKSk7 CisgICB9CisrI2VsaWYgZGVmaW5lZChfX3Bvd2VycGM2NF9fKQorKyAgLy8gT24gUFBDNjQsIHdl IG11c3QgY29weSBWUiBzdGF0ZQorKyAgdWNvbnRleHRfdCogdWNfcHRyID0gKHVjb250ZXh0X3Qq KXVjOworKyAgaWYgKHVjX3B0ci0+dWNfbWNvbnRleHQudl9yZWdzKSB7CisrICAgIG1lbWNweSgm Z19jcmFzaF9jb250ZXh0Xy52ZWN0b3Jfc3RhdGUsIHVjX3B0ci0+dWNfbWNvbnRleHQudl9yZWdz LAorKyAgICAgICAgICAgc2l6ZW9mKGdfY3Jhc2hfY29udGV4dF8udmVjdG9yX3N0YXRlKSk7Cisr ICB9CisgI2VsaWYgIWRlZmluZWQoX19BUk1fRUFCSV9fKSAmJiAhZGVmaW5lZChfX21pcHNfXykK KyAgIC8vIEZQIHN0YXRlIGlzIG5vdCBwYXJ0IG9mIHVzZXIgQUJJIG9uIEFSTSBMaW51eC4KKy0g IC8vIEluIGNhc2Ugb2YgTUlQUyBMaW51eCBGUCBzdGF0ZSBpcyBhbHJlYWR5IHBhcnQgb2YgdWNv bnRleHRfdAorKyAgLy8gSW4gY2FzZSBvZiBNSVBTLCBMaW51eCBGUCBzdGF0ZSBpcyBhbHJlYWR5 IHBhcnQgb2YgdWNvbnRleHRfdAorICAgLy8gYW5kICdmbG9hdF9zdGF0ZScgaXMgbm90IGEgbWVt YmVyIG9mIENyYXNoQ29udGV4dC4KKyAgIHVjb250ZXh0X3QqIHVjX3B0ciA9ICh1Y29udGV4dF90 Kil1YzsKKyAgIGlmICh1Y19wdHItPnVjX21jb250ZXh0LmZwcmVncykgeworQEAgLTcwMSwxMSAr NzA4LDE5IEBAIGJvb2wgRXhjZXB0aW9uSGFuZGxlcjo6V3JpdGVNaW5pZHVtcCgpIHsKKyAgIH0K KyAjZW5kaWYKKyAKKy0jaWYgIWRlZmluZWQoX19BUk1fRUFCSV9fKSAmJiAhZGVmaW5lZChfX2Fh cmNoNjRfXykgJiYgIWRlZmluZWQoX19taXBzX18pCisrI2lmICFkZWZpbmVkKF9fQVJNX0VBQklf XykgJiYgIWRlZmluZWQoX19hYXJjaDY0X18pICYmICFkZWZpbmVkKF9fbWlwc19fKSBcCisrICAg ICYmICFkZWZpbmVkKF9fcG93ZXJwYzY0X18pCisgICAvLyBGUFUgc3RhdGUgaXMgbm90IHBhcnQg b2YgQVJNIEVBQkkgdWNvbnRleHRfdC4KKyAgIG1lbWNweSgmY29udGV4dC5mbG9hdF9zdGF0ZSwg Y29udGV4dC5jb250ZXh0LnVjX21jb250ZXh0LmZwcmVncywKKyAgICAgICAgICBzaXplb2YoY29u dGV4dC5mbG9hdF9zdGF0ZSkpOworICNlbmRpZgorKworKyNpZiBkZWZpbmVkKF9fcG93ZXJwYzY0 X18pCisrICAvLyBWZWN0b3IgcmVnaXN0ZXJzIG11c3QgYmUgY29waWVkIG9uIFBQQzY0CisrICBt ZW1jcHkoJmNvbnRleHQudmVjdG9yX3N0YXRlLCBjb250ZXh0LmNvbnRleHQudWNfbWNvbnRleHQu dl9yZWdzLAorKyAgICAgICAgIHNpemVvZihjb250ZXh0LnZlY3Rvcl9zdGF0ZSkpOworKyNlbmRp ZgorKworICAgY29udGV4dC50aWQgPSBzeXNfZ2V0dGlkKCk7CisgCisgICAvLyBBZGQgYW4gZXhj ZXB0aW9uIHN0cmVhbSB0byB0aGUgbWluaWR1bXAgZm9yIGJldHRlciByZXBvcnRpbmcuCitAQCAt NzI2LDYgKzc0MSw5IEBAIGJvb2wgRXhjZXB0aW9uSGFuZGxlcjo6V3JpdGVNaW5pZHVtcCgpIHsK KyAjZWxpZiBkZWZpbmVkKF9fbWlwc19fKQorICAgY29udGV4dC5zaWdpbmZvLnNpX2FkZHIgPQor ICAgICAgIHJlaW50ZXJwcmV0X2Nhc3Q8dm9pZCo+KGNvbnRleHQuY29udGV4dC51Y19tY29udGV4 dC5wYyk7CisrI2VsaWYgZGVmaW5lZChfX3Bvd2VycGM2NF9fKQorKyAgY29udGV4dC5zaWdpbmZv LnNpX2FkZHIgPQorKyAgICAgIHJlaW50ZXJwcmV0X2Nhc3Q8dm9pZCo+KGNvbnRleHQuY29udGV4 dC51Y19tY29udGV4dC5ncF9yZWdzW1BUX05JUF0pOworICNlbHNlCisgI2Vycm9yICJUaGlzIGNv ZGUgaGFzIG5vdCBiZWVuIHBvcnRlZCB0byB5b3VyIHBsYXRmb3JtIHlldC4iCisgI2VuZGlmCitk aWZmIC0tZ2l0IGEvc3JjLzNyZHBhcnR5L2Nocm9taXVtL3RoaXJkX3BhcnR5L2JyZWFrcGFkL2Jy ZWFrcGFkL3NyYy9jbGllbnQvbGludXgvaGFuZGxlci9leGNlcHRpb25faGFuZGxlci5oIGIvc3Jj LzNyZHBhcnR5L2Nocm9taXVtL3RoaXJkX3BhcnR5L2JyZWFrcGFkL2JyZWFrcGFkL3NyYy9jbGll bnQvbGludXgvaGFuZGxlci9leGNlcHRpb25faGFuZGxlci5oCitpbmRleCBmNDQ0ODNmZjAuLjM2 Y2U2ZDZjZSAxMDA2NDQKKy0tLSBhL3NyYy8zcmRwYXJ0eS9jaHJvbWl1bS90aGlyZF9wYXJ0eS9i cmVha3BhZC9icmVha3BhZC9zcmMvY2xpZW50L2xpbnV4L2hhbmRsZXIvZXhjZXB0aW9uX2hhbmRs ZXIuaAorKysrIGIvc3JjLzNyZHBhcnR5L2Nocm9taXVtL3RoaXJkX3BhcnR5L2JyZWFrcGFkL2Jy ZWFrcGFkL3NyYy9jbGllbnQvbGludXgvaGFuZGxlci9leGNlcHRpb25faGFuZGxlci5oCitAQCAt MTkyLDcgKzE5MiwxMSBAQCBjbGFzcyBFeGNlcHRpb25IYW5kbGVyIHsKKyAgICAgc2lnaW5mb190 IHNpZ2luZm87CisgICAgIHBpZF90IHRpZDsgIC8vIHRoZSBjcmFzaGluZyB0aHJlYWQuCisgICAg IHVjb250ZXh0X3QgY29udGV4dDsKKy0jaWYgIWRlZmluZWQoX19BUk1fRUFCSV9fKSAmJiAhZGVm aW5lZChfX21pcHNfXykKKysjaWYgZGVmaW5lZChfX3Bvd2VycGM2NF9fKQorKyAgICAvLyBQUEM2 NCdzIEZQIHN0YXRlIGlzIGEgcGFydCBvZiB1Y29udGV4dF90IGxpa2UgTUlQUyBidXQgdGhlIHZl Y3RvcgorKyAgICAvLyBzdGF0ZSBpcyBub3QsIHNvIGEgc3RydWN0IGlzIG5lZWRlZC4KKysgICAg dnN0YXRlX3QgdmVjdG9yX3N0YXRlOworKyNlbGlmICFkZWZpbmVkKF9fQVJNX0VBQklfXykgJiYg IWRlZmluZWQoX19taXBzX18pCisgICAgIC8vICNpZmRlZiB0aGlzIG91dCBiZWNhdXNlIEZQIHN0 YXRlIGlzIG5vdCBwYXJ0IG9mIHVzZXIgQUJJIGZvciBMaW51eCBBUk0uCisgICAgIC8vIEluIGNh c2Ugb2YgTUlQUyBMaW51eCBGUCBzdGF0ZSBpcyBhbHJlYWR5IHBhcnQgb2YgdWNvbnRleHRfdCBz bworICAgICAvLyAnZmxvYXRfc3RhdGUnIGlzIG5vdCByZXF1aXJlZC4KK2RpZmYgLS1naXQgYS9z cmMvM3JkcGFydHkvY2hyb21pdW0vdGhpcmRfcGFydHkvYnJlYWtwYWQvYnJlYWtwYWQvc3JjL2Ns aWVudC9saW51eC9oYW5kbGVyL2V4Y2VwdGlvbl9oYW5kbGVyX3VuaXR0ZXN0LmNjIGIvc3JjLzNy ZHBhcnR5L2Nocm9taXVtL3RoaXJkX3BhcnR5L2JyZWFrcGFkL2JyZWFrcGFkL3NyYy9jbGllbnQv bGludXgvaGFuZGxlci9leGNlcHRpb25faGFuZGxlcl91bml0dGVzdC5jYworaW5kZXggYmNiZjlj MjZmLi4yYzM2ZWQ0MWYgMTAwNjQ0CistLS0gYS9zcmMvM3JkcGFydHkvY2hyb21pdW0vdGhpcmRf cGFydHkvYnJlYWtwYWQvYnJlYWtwYWQvc3JjL2NsaWVudC9saW51eC9oYW5kbGVyL2V4Y2VwdGlv bl9oYW5kbGVyX3VuaXR0ZXN0LmNjCisrKysgYi9zcmMvM3JkcGFydHkvY2hyb21pdW0vdGhpcmRf cGFydHkvYnJlYWtwYWQvYnJlYWtwYWQvc3JjL2NsaWVudC9saW51eC9oYW5kbGVyL2V4Y2VwdGlv bl9oYW5kbGVyX3VuaXR0ZXN0LmNjCitAQCAtMzA3LDcgKzMwNyw3IEBAIFRFU1QoRXhjZXB0aW9u SGFuZGxlclRlc3QsIFBhcmFsbGVsQ2hpbGRDcmFzaGVzRG9udEhhbmcpIHsKKyAgIH0KKyAKKyAg IC8vIFdhaXQgYSB3aGlsZSB1bnRpbCB0aGUgY2hpbGQgc2hvdWxkIGhhdmUgY3Jhc2hlZC4KKy0g IHVzbGVlcCgxMDAwMDAwKTsKKysgIHVzbGVlcCgyMDAwMDAwKTsKKyAgIC8vIEtpbGwgdGhlIGNo aWxkIGlmIGl0IGlzIHN0aWxsIHJ1bm5pbmcuCisgICBraWxsKGNoaWxkLCBTSUdLSUxMKTsKKyAK K0BAIC01NTksNiArNTU5LDggQEAgY29uc3QgdW5zaWduZWQgY2hhciBrSWxsZWdhbEluc3RydWN0 aW9uW10gPSB7CisgI2lmIGRlZmluZWQoX19taXBzX18pCisgICAvLyBtZmMyIHplcm8sSW1wbCAt IHVzdWFsbHkgaWxsZWdhbCBpbiB1c2Vyc3BhY2UuCisgICAweDQ4LCAweDAwLCAweDAwLCAweDQ4 CisrI2VsaWYgZGVmaW5lZChfX3Bvd2VycGM2NF9fKQorKyAgMHgwMSwgMHgwMSwgMHgwMSwgMHgw MSAvLyBDcmFzaGVzIG9uIGEgdGVzdGVkIFBPV0VSOSBjcHUKKyAjZWxzZQorICAgLy8gVGhpcyBj cmFzaGVzIHdpdGggU0lHSUxMIG9uIHg4Ni94ODYtNjQvYXJtLgorICAgMHhmZiwgMHhmZiwgMHhm ZiwgMHhmZgorQEAgLTc1NCwxMCArNzU2LDEwIEBAIFRFU1QoRXhjZXB0aW9uSGFuZGxlclRlc3Qs IEluc3RydWN0aW9uUG9pbnRlck1lbW9yeU1heEJvdW5kKSB7CisgCisgICAvLyBUaGVzZSBhcmUg ZGVmaW5lZCBoZXJlIHNvIHRoZSBwYXJlbnQgY2FuIHVzZSB0aGVtIHRvIGNoZWNrIHRoZQorICAg Ly8gZGF0YSBmcm9tIHRoZSBtaW5pZHVtcCBhZnRlcndhcmRzLgorLSAgLy8gVXNlIDRrIGhlcmUg YmVjYXVzZSB0aGUgT1Mgd2lsbCBoYW5kIG91dCBhIHNpbmdsZSBwYWdlIGV2ZW4KKysgIC8vIFVz ZSB0aGUgcGFnZSBzaXplIGhlcmUgYmVjYXVzZSB0aGUgT1Mgd2lsbCBoYW5kIG91dCBhIHNpbmds ZSBwYWdlIGV2ZW4KKyAgIC8vIGlmIGEgc21hbGxlciBzaXplIGlzIHJlcXVlc3RlZCwgYW5kIHRo aXMgdGVzdCB3YW50cyB0bworICAgLy8gdGVzdCB0aGUgdXBwZXIgYm91bmQgb2YgdGhlIG1lbW9y eSByYW5nZS4KKy0gIGNvbnN0IHVpbnQzMl90IGtNZW1vcnlTaXplID0gNDA5NjsgIC8vIGJ5dGVz CisrICBjb25zdCB1aW50MzJfdCBrTWVtb3J5U2l6ZSA9IGdldHBhZ2VzaXplKCk7ICAvLyBieXRl cworICAgY29uc3QgaW50IGtPZmZzZXQgPSBrTWVtb3J5U2l6ZSAtIHNpemVvZihrSWxsZWdhbElu c3RydWN0aW9uKTsKKyAKKyAgIGNvbnN0IHBpZF90IGNoaWxkID0gZm9yaygpOworZGlmZiAtLWdp dCBhL3NyYy8zcmRwYXJ0eS9jaHJvbWl1bS90aGlyZF9wYXJ0eS9icmVha3BhZC9icmVha3BhZC9z cmMvY2xpZW50L2xpbnV4L21pY3JvZHVtcF93cml0ZXIvbWljcm9kdW1wX3dyaXRlci5jYyBiL3Ny Yy8zcmRwYXJ0eS9jaHJvbWl1bS90aGlyZF9wYXJ0eS9icmVha3BhZC9icmVha3BhZC9zcmMvY2xp ZW50L2xpbnV4L21pY3JvZHVtcF93cml0ZXIvbWljcm9kdW1wX3dyaXRlci5jYworaW5kZXggZmEz YzE3MTNhLi42Y2U3MDllMmYgMTAwNjQ0CistLS0gYS9zcmMvM3JkcGFydHkvY2hyb21pdW0vdGhp cmRfcGFydHkvYnJlYWtwYWQvYnJlYWtwYWQvc3JjL2NsaWVudC9saW51eC9taWNyb2R1bXBfd3Jp dGVyL21pY3JvZHVtcF93cml0ZXIuY2MKKysrKyBiL3NyYy8zcmRwYXJ0eS9jaHJvbWl1bS90aGly ZF9wYXJ0eS9icmVha3BhZC9icmVha3BhZC9zcmMvY2xpZW50L2xpbnV4L21pY3JvZHVtcF93cml0 ZXIvbWljcm9kdW1wX3dyaXRlci5jYworQEAgLTEzOCw3ICsxMzgsOSBAQCBjbGFzcyBNaWNyb2R1 bXBXcml0ZXIgeworICAgICAgICAgICAgICAgICAgIGNvbnN0IE1pY3JvZHVtcEV4dHJhSW5mbyYg bWljcm9kdW1wX2V4dHJhX2luZm8sCisgICAgICAgICAgICAgICAgICAgTGludXhEdW1wZXIqIGR1 bXBlcikKKyAgICAgICA6IHVjb250ZXh0Xyhjb250ZXh0ID8gJmNvbnRleHQtPmNvbnRleHQgOiBO VUxMKSwKKy0jaWYgIWRlZmluZWQoX19BUk1fRUFCSV9fKSAmJiAhZGVmaW5lZChfX21pcHNfXykK KysjaWYgZGVmaW5lZChfX3Bvd2VycGM2NF9fKQorKyAgICAgICAgdmVjdG9yX3N0YXRlXyhjb250 ZXh0ID8gJmNvbnRleHQtPnZlY3Rvcl9zdGF0ZSA6IE5VTEwpLAorKyNlbGlmICFkZWZpbmVkKF9f QVJNX0VBQklfXykgJiYgIWRlZmluZWQoX19taXBzX18pCisgICAgICAgICBmbG9hdF9zdGF0ZV8o Y29udGV4dCA/ICZjb250ZXh0LT5mbG9hdF9zdGF0ZSA6IE5VTEwpLAorICNlbmRpZgorICAgICAg ICAgZHVtcGVyXyhkdW1wZXIpLAorQEAgLTMzNyw2ICszMzksOCBAQCBjbGFzcyBNaWNyb2R1bXBX cml0ZXIgeworICMgZWxzZQorICMgIGVycm9yICJUaGlzIG1pcHMgQUJJIGlzIGN1cnJlbnRseSBu b3Qgc3VwcG9ydGVkIChuMzIpIgorICNlbmRpZgorKyNlbGlmIGRlZmluZWQoX19wb3dlcnBjNjRf XykKKysgICAgY29uc3QgY2hhciBrQXJjaFtdID0gInBwYzY0IjsKKyAjZWxzZQorICNlcnJvciAi VGhpcyBjb2RlIGhhcyBub3QgYmVlbiBwb3J0ZWQgdG8geW91ciBwbGF0Zm9ybSB5ZXQiCisgI2Vu ZGlmCitAQCAtNDA5LDcgKzQxMyw5IEBAIGNsYXNzIE1pY3JvZHVtcFdyaXRlciB7CisgICB2b2lk IER1bXBDUFVTdGF0ZSgpIHsKKyAgICAgUmF3Q29udGV4dENQVSBjcHU7CisgICAgIG15X21lbXNl dCgmY3B1LCAwLCBzaXplb2YoUmF3Q29udGV4dENQVSkpOworLSNpZiAhZGVmaW5lZChfX0FSTV9F QUJJX18pICYmICFkZWZpbmVkKF9fbWlwc19fKQorKyNpZiBkZWZpbmVkKF9fcG93ZXJwYzY0X18p CisrICAgIFVDb250ZXh0UmVhZGVyOjpGaWxsQ1BVQ29udGV4dCgmY3B1LCB1Y29udGV4dF8sIHZl Y3Rvcl9zdGF0ZV8pOworKyNlbGlmICFkZWZpbmVkKF9fQVJNX0VBQklfXykgJiYgIWRlZmluZWQo X19taXBzX18pCisgICAgIFVDb250ZXh0UmVhZGVyOjpGaWxsQ1BVQ29udGV4dCgmY3B1LCB1Y29u dGV4dF8sIGZsb2F0X3N0YXRlXyk7CisgI2Vsc2UKKyAgICAgVUNvbnRleHRSZWFkZXI6OkZpbGxD UFVDb250ZXh0KCZjcHUsIHVjb250ZXh0Xyk7CitAQCAtNjA1LDcgKzYxMSw5IEBAIGNsYXNzIE1p Y3JvZHVtcFdyaXRlciB7CisgICB2b2lkKiBBbGxvYyh1bnNpZ25lZCBieXRlcykgeyByZXR1cm4g ZHVtcGVyXy0+YWxsb2NhdG9yKCktPkFsbG9jKGJ5dGVzKTsgfQorIAorICAgY29uc3QgdWNvbnRl eHRfdCogY29uc3QgdWNvbnRleHRfOworLSNpZiAhZGVmaW5lZChfX0FSTV9FQUJJX18pICYmICFk ZWZpbmVkKF9fbWlwc19fKQorKyNpZiBkZWZpbmVkKF9fcG93ZXJwYzY0X18pCisrICBjb25zdCBn b29nbGVfYnJlYWtwYWQ6OnZzdGF0ZV90KiBjb25zdCB2ZWN0b3Jfc3RhdGVfOworKyNlbGlmICFk ZWZpbmVkKF9fQVJNX0VBQklfXykgJiYgIWRlZmluZWQoX19taXBzX18pCisgICBjb25zdCBnb29n bGVfYnJlYWtwYWQ6OmZwc3RhdGVfdCogY29uc3QgZmxvYXRfc3RhdGVfOworICNlbmRpZgorICAg TGludXhEdW1wZXIqIGR1bXBlcl87CitkaWZmIC0tZ2l0IGEvc3JjLzNyZHBhcnR5L2Nocm9taXVt L3RoaXJkX3BhcnR5L2JyZWFrcGFkL2JyZWFrcGFkL3NyYy9jbGllbnQvbGludXgvbWljcm9kdW1w X3dyaXRlci9taWNyb2R1bXBfd3JpdGVyX3VuaXR0ZXN0LmNjIGIvc3JjLzNyZHBhcnR5L2Nocm9t aXVtL3RoaXJkX3BhcnR5L2JyZWFrcGFkL2JyZWFrcGFkL3NyYy9jbGllbnQvbGludXgvbWljcm9k dW1wX3dyaXRlci9taWNyb2R1bXBfd3JpdGVyX3VuaXR0ZXN0LmNjCitpbmRleCBjMmZlYTAyMjUu LjhjNjJjNTI0YSAxMDA2NDQKKy0tLSBhL3NyYy8zcmRwYXJ0eS9jaHJvbWl1bS90aGlyZF9wYXJ0 eS9icmVha3BhZC9icmVha3BhZC9zcmMvY2xpZW50L2xpbnV4L21pY3JvZHVtcF93cml0ZXIvbWlj cm9kdW1wX3dyaXRlcl91bml0dGVzdC5jYworKysrIGIvc3JjLzNyZHBhcnR5L2Nocm9taXVtL3Ro aXJkX3BhcnR5L2JyZWFrcGFkL2JyZWFrcGFkL3NyYy9jbGllbnQvbGludXgvbWljcm9kdW1wX3dy aXRlci9taWNyb2R1bXBfd3JpdGVyX3VuaXR0ZXN0LmNjCitAQCAtMjc4LDEwICsyNzgsMTkgQEAg VEVTVChNaWNyb2R1bXBXcml0ZXJUZXN0LCBCYXNpY1dpdGhNYXBwaW5ncykgeworICAgQ3Jhc2hB bmRHZXRNaWNyb2R1bXAobWFwcGluZ3MsIE1pY3JvZHVtcEV4dHJhSW5mbygpLCAmYnVmKTsKKyAg IEFTU0VSVF9UUlVFKENvbnRhaW5zTWljcm9kdW1wKGJ1ZikpOworIAorKyAgaW50IHBhZ2Vfc2l6 ZSA9IGdldHBhZ2VzaXplKCk7CisgI2lmZGVmIF9fTFA2NF9fCistICBBU1NFUlRfTkUoc3RkOjpz dHJpbmc6Om5wb3MsCistICAgICAgICAgICAgYnVmLmZpbmQoIk0gMDAwMDAwMDAwMDAwMTAwMCAw MDAwMDAwMDAwMDAwMDJBIDAwMDAwMDAwMDAwMDEwMDAgIgorLSAgICAgICAgICAgICAgICAgICAg ICIzMzIyMTEwMDU1NDQ3NzY2ODg5OUFBQkJDQ0RERUVGRjAgbGliZm9vLnNvIikpOworKyAgLy8g VGhpcyB0ZXN0IGlzIG9ubHkgYXZhaWxhYmxlIGZvciB0aGUgZm9sbG93aW5nIHBhZ2Ugc2l6ZXMK KysgIEFTU0VSVF9UUlVFKChwYWdlX3NpemUgPT0gNDA5NikgfHwgKHBhZ2Vfc2l6ZSA9PSA2NTUz NikpOworKyAgaWYgKHBhZ2Vfc2l6ZSA9PSA0MDk2KSB7IAorKyAgICBBU1NFUlRfTkUoc3RkOjpz dHJpbmc6Om5wb3MsCisrICAgICAgICAgICAgICBidWYuZmluZCgiTSAwMDAwMDAwMDAwMDAxMDAw IDAwMDAwMDAwMDAwMDAwMkEgMDAwMDAwMDAwMDAwMTAwMCAiCisrICAgICAgICAgICAgICAgICAg ICAgICAiMzMyMjExMDA1NTQ0Nzc2Njg4OTlBQUJCQ0NEREVFRkYwIGxpYmZvby5zbyIpKTsKKysg IH0gZWxzZSB7CisrICAgIEFTU0VSVF9ORShzdGQ6OnN0cmluZzo6bnBvcywKKysgICAgICAgICAg ICAgIGJ1Zi5maW5kKCJNIDAwMDAwMDAwMDAwMTAwMDAgMDAwMDAwMDAwMDAwMDAyQSAwMDAwMDAw MDAwMDEwMDAwICIKKysgICAgICAgICAgICAgICAgICAgICAgICIzMzIyMTEwMDU1NDQ3NzY2ODg5 OUFBQkJDQ0RERUVGRjAgbGliZm9vLnNvIikpOworKyAgfQorICNlbHNlCisgICBBU1NFUlRfTkUo c3RkOjpzdHJpbmc6Om5wb3MsCisgICAgICAgICAgICAgYnVmLmZpbmQoIk0gMDAwMDEwMDAgMDAw MDAwMkEgMDAwMDEwMDAgIgorZGlmZiAtLWdpdCBhL3NyYy8zcmRwYXJ0eS9jaHJvbWl1bS90aGly ZF9wYXJ0eS9icmVha3BhZC9icmVha3BhZC9zcmMvY2xpZW50L2xpbnV4L21pbmlkdW1wX3dyaXRl ci9saW51eF9jb3JlX2R1bXBlci5jYyBiL3NyYy8zcmRwYXJ0eS9jaHJvbWl1bS90aGlyZF9wYXJ0 eS9icmVha3BhZC9icmVha3BhZC9zcmMvY2xpZW50L2xpbnV4L21pbmlkdW1wX3dyaXRlci9saW51 eF9jb3JlX2R1bXBlci5jYworaW5kZXggNDc1NmE1NDE2Li40ODA1ZmI2OTQgMTAwNjQ0CistLS0g YS9zcmMvM3JkcGFydHkvY2hyb21pdW0vdGhpcmRfcGFydHkvYnJlYWtwYWQvYnJlYWtwYWQvc3Jj L2NsaWVudC9saW51eC9taW5pZHVtcF93cml0ZXIvbGludXhfY29yZV9kdW1wZXIuY2MKKysrKyBi L3NyYy8zcmRwYXJ0eS9jaHJvbWl1bS90aGlyZF9wYXJ0eS9icmVha3BhZC9icmVha3BhZC9zcmMv Y2xpZW50L2xpbnV4L21pbmlkdW1wX3dyaXRlci9saW51eF9jb3JlX2R1bXBlci5jYworQEAgLTEx Nyw2ICsxMTcsOSBAQCBib29sIExpbnV4Q29yZUR1bXBlcjo6R2V0VGhyZWFkSW5mb0J5SW5kZXgo c2l6ZV90IGluZGV4LCBUaHJlYWRJbmZvKiBpbmZvKSB7CisgI2VsaWYgZGVmaW5lZChfX21pcHNf XykKKyAgIHN0YWNrX3BvaW50ZXIgPQorICAgICAgIHJlaW50ZXJwcmV0X2Nhc3Q8dWludDhfdCo+ KGluZm8tPm1jb250ZXh0LmdyZWdzW01EX0NPTlRFWFRfTUlQU19SRUdfU1BdKTsKKysjZWxpZiBk ZWZpbmVkKF9fcG93ZXJwYzY0X18pCisrICBzdGFja19wb2ludGVyID0KKysgICAgICByZWludGVy cHJldF9jYXN0PHVpbnQ4X3QqPihpbmZvLT5tY29udGV4dC5ncF9yZWdzW01EX0NPTlRFWFRfUFBD NjRfUkVHX1NQXSk7CisgI2Vsc2UKKyAjZXJyb3IgIlRoaXMgY29kZSBoYXNuJ3QgYmVlbiBwb3J0 ZWQgdG8geW91ciBwbGF0Zm9ybSB5ZXQuIgorICNlbmRpZgorQEAgLTIwMiw3ICsyMDUsMTAgQEAg Ym9vbCBMaW51eENvcmVEdW1wZXI6OkVudW1lcmF0ZVRocmVhZHMoKSB7CisgICAgICAgICBtZW1z ZXQoJmluZm8sIDAsIHNpemVvZihUaHJlYWRJbmZvKSk7CisgICAgICAgICBpbmZvLnRnaWQgPSBz dGF0dXMtPnByX3BncnA7CisgICAgICAgICBpbmZvLnBwaWQgPSBzdGF0dXMtPnByX3BwaWQ7Cist I2lmIGRlZmluZWQoX19taXBzX18pCisrI2lmIGRlZmluZWQoX19wb3dlcnBjNjRfXykKKysgICAg ICAgIGZvciAoaW50IGkgPSAwOyBpIDwgMzE7IGkrKykKKysgICAgICAgICAgICBpbmZvLm1jb250 ZXh0LmdwX3JlZ3NbaV0gPSBzdGF0dXMtPnByX3JlZ1tpXTsKKysjZWxpZiBkZWZpbmVkKF9fbWlw c19fKQorICNpZiBkZWZpbmVkKF9fQU5EUk9JRF9fKQorICAgICAgICAgZm9yIChpbnQgaSA9IEVG X1IwOyBpIDw9IEVGX1IzMTsgaSsrKQorICAgICAgICAgICBpbmZvLm1jb250ZXh0LmdyZWdzW2kg LSBFRl9SMF0gPSBzdGF0dXMtPnByX3JlZ1tpXTsKK2RpZmYgLS1naXQgYS9zcmMvM3JkcGFydHkv Y2hyb21pdW0vdGhpcmRfcGFydHkvYnJlYWtwYWQvYnJlYWtwYWQvc3JjL2NsaWVudC9saW51eC9t aW5pZHVtcF93cml0ZXIvbGludXhfZHVtcGVyLmNjIGIvc3JjLzNyZHBhcnR5L2Nocm9taXVtL3Ro aXJkX3BhcnR5L2JyZWFrcGFkL2JyZWFrcGFkL3NyYy9jbGllbnQvbGludXgvbWluaWR1bXBfd3Jp dGVyL2xpbnV4X2R1bXBlci5jYworaW5kZXggMTExMjAzNWJjLi44NTIzZGFkNjMgMTAwNjQ0Cist LS0gYS9zcmMvM3JkcGFydHkvY2hyb21pdW0vdGhpcmRfcGFydHkvYnJlYWtwYWQvYnJlYWtwYWQv c3JjL2NsaWVudC9saW51eC9taW5pZHVtcF93cml0ZXIvbGludXhfZHVtcGVyLmNjCisrKysgYi9z cmMvM3JkcGFydHkvY2hyb21pdW0vdGhpcmRfcGFydHkvYnJlYWtwYWQvYnJlYWtwYWQvc3JjL2Ns aWVudC9saW51eC9taW5pZHVtcF93cml0ZXIvbGludXhfZHVtcGVyLmNjCitAQCAtNzY1LDcgKzc2 NSw5IEBAIGJvb2wgTGludXhEdW1wZXI6OkdldFN0YWNrSW5mbyhjb25zdCB2b2lkKiogc3RhY2ss IHNpemVfdCogc3RhY2tfbGVuLAorICAgICAgIHJlaW50ZXJwcmV0X2Nhc3Q8dWludDhfdCo+KGlu dF9zdGFja19wb2ludGVyICYgfihwYWdlX3NpemUgLSAxKSk7CisgCisgICAvLyBUaGUgbnVtYmVy IG9mIGJ5dGVzIG9mIHN0YWNrIHdoaWNoIHdlIHRyeSB0byBjYXB0dXJlLgorLSAgc3RhdGljIGNv bnN0IHB0cmRpZmZfdCBrU3RhY2tUb0NhcHR1cmUgPSAzMiAqIDEwMjQ7CisrICAvLyBUaGlzIG5v dyBkZXBlbmRzIG9uIHBhZ2Vfc2l6ZSB0byBhdm9pZCBtaXNzaW5nIGRhdGEKKysgIC8vIG9uIHN5 c3RlbXMgd2l0aCBsYXJnZXIgcGFnZSBzaXplcy4KKysgIHN0YXRpYyBjb25zdCBwdHJkaWZmX3Qg a1N0YWNrVG9DYXB0dXJlID0gOCAqIHBhZ2Vfc2l6ZTsKKyAKKyAgIGNvbnN0IE1hcHBpbmdJbmZv KiBtYXBwaW5nID0gRmluZE1hcHBpbmcoc3RhY2tfcG9pbnRlcik7CisgICBpZiAoIW1hcHBpbmcp CitkaWZmIC0tZ2l0IGEvc3JjLzNyZHBhcnR5L2Nocm9taXVtL3RoaXJkX3BhcnR5L2JyZWFrcGFk L2JyZWFrcGFkL3NyYy9jbGllbnQvbGludXgvbWluaWR1bXBfd3JpdGVyL2xpbnV4X2R1bXBlci5o IGIvc3JjLzNyZHBhcnR5L2Nocm9taXVtL3RoaXJkX3BhcnR5L2JyZWFrcGFkL2JyZWFrcGFkL3Ny Yy9jbGllbnQvbGludXgvbWluaWR1bXBfd3JpdGVyL2xpbnV4X2R1bXBlci5oCitpbmRleCBmNGE3 NWQ5MDYuLjAyMDk4MWY1NyAxMDA2NDQKKy0tLSBhL3NyYy8zcmRwYXJ0eS9jaHJvbWl1bS90aGly ZF9wYXJ0eS9icmVha3BhZC9icmVha3BhZC9zcmMvY2xpZW50L2xpbnV4L21pbmlkdW1wX3dyaXRl ci9saW51eF9kdW1wZXIuaAorKysrIGIvc3JjLzNyZHBhcnR5L2Nocm9taXVtL3RoaXJkX3BhcnR5 L2JyZWFrcGFkL2JyZWFrcGFkL3NyYy9jbGllbnQvbGludXgvbWluaWR1bXBfd3JpdGVyL2xpbnV4 X2R1bXBlci5oCitAQCAtNjMsNyArNjMsOCBAQCBuYW1lc3BhY2UgZ29vZ2xlX2JyZWFrcGFkIHsK KyAgKGRlZmluZWQoX19taXBzX18pICYmIF9NSVBTX1NJTSA9PSBfQUJJTzMyKQorIHR5cGVkZWYg RWxmMzJfYXV4dl90IGVsZl9hdXhfZW50cnk7CisgI2VsaWYgZGVmaW5lZChfX3g4Nl82NCkgfHwg ZGVmaW5lZChfX2FhcmNoNjRfXykgfHwgXAorLSAgICAgKGRlZmluZWQoX19taXBzX18pICYmIF9N SVBTX1NJTSAhPSBfQUJJTzMyKQorKyAgICAgKGRlZmluZWQoX19taXBzX18pICYmIF9NSVBTX1NJ TSAhPSBfQUJJTzMyKSB8fCBcCisrICAgICBkZWZpbmVkKF9fcG93ZXJwYzY0X18pCisgdHlwZWRl ZiBFbGY2NF9hdXh2X3QgZWxmX2F1eF9lbnRyeTsKKyAjZW5kaWYKKyAKK2RpZmYgLS1naXQgYS9z cmMvM3JkcGFydHkvY2hyb21pdW0vdGhpcmRfcGFydHkvYnJlYWtwYWQvYnJlYWtwYWQvc3JjL2Ns aWVudC9saW51eC9taW5pZHVtcF93cml0ZXIvbGludXhfZHVtcGVyX3VuaXR0ZXN0X2hlbHBlci5j YyBiL3NyYy8zcmRwYXJ0eS9jaHJvbWl1bS90aGlyZF9wYXJ0eS9icmVha3BhZC9icmVha3BhZC9z cmMvY2xpZW50L2xpbnV4L21pbmlkdW1wX3dyaXRlci9saW51eF9kdW1wZXJfdW5pdHRlc3RfaGVs cGVyLmNjCitpbmRleCAzYWQ0OGU1MDEuLjE2ODhjMzY1ZSAxMDA2NDQKKy0tLSBhL3NyYy8zcmRw YXJ0eS9jaHJvbWl1bS90aGlyZF9wYXJ0eS9icmVha3BhZC9icmVha3BhZC9zcmMvY2xpZW50L2xp bnV4L21pbmlkdW1wX3dyaXRlci9saW51eF9kdW1wZXJfdW5pdHRlc3RfaGVscGVyLmNjCisrKysg Yi9zcmMvM3JkcGFydHkvY2hyb21pdW0vdGhpcmRfcGFydHkvYnJlYWtwYWQvYnJlYWtwYWQvc3Jj L2NsaWVudC9saW51eC9taW5pZHVtcF93cml0ZXIvbGludXhfZHVtcGVyX3VuaXR0ZXN0X2hlbHBl ci5jYworQEAgLTUxLDYgKzUxLDggQEAKKyAjZGVmaW5lIFRJRF9QVFJfUkVHSVNURVIgInJjeCIK KyAjZWxpZiBkZWZpbmVkKF9fbWlwc19fKQorICNkZWZpbmUgVElEX1BUUl9SRUdJU1RFUiAiJDEi CisrI2VsaWYgZGVmaW5lZChfX3Bvd2VycGM2NF9fKQorKyNkZWZpbmUgVElEX1BUUl9SRUdJU1RF UiAicjgiCisgI2Vsc2UKKyAjZXJyb3IgVGhpcyB0ZXN0IGhhcyBub3QgYmVlbiBwb3J0ZWQgdG8g dGhpcyBwbGF0Zm9ybS4KKyAjZW5kaWYKK2RpZmYgLS1naXQgYS9zcmMvM3JkcGFydHkvY2hyb21p dW0vdGhpcmRfcGFydHkvYnJlYWtwYWQvYnJlYWtwYWQvc3JjL2NsaWVudC9saW51eC9taW5pZHVt cF93cml0ZXIvbGludXhfcHRyYWNlX2R1bXBlci5jYyBiL3NyYy8zcmRwYXJ0eS9jaHJvbWl1bS90 aGlyZF9wYXJ0eS9icmVha3BhZC9icmVha3BhZC9zcmMvY2xpZW50L2xpbnV4L21pbmlkdW1wX3dy aXRlci9saW51eF9wdHJhY2VfZHVtcGVyLmNjCitpbmRleCA4YTNmMDRlMjkuLmU2MDdiMjhkNSAx MDA2NDQKKy0tLSBhL3NyYy8zcmRwYXJ0eS9jaHJvbWl1bS90aGlyZF9wYXJ0eS9icmVha3BhZC9i cmVha3BhZC9zcmMvY2xpZW50L2xpbnV4L21pbmlkdW1wX3dyaXRlci9saW51eF9wdHJhY2VfZHVt cGVyLmNjCisrKysgYi9zcmMvM3JkcGFydHkvY2hyb21pdW0vdGhpcmRfcGFydHkvYnJlYWtwYWQv YnJlYWtwYWQvc3JjL2NsaWVudC9saW51eC9taW5pZHVtcF93cml0ZXIvbGludXhfcHRyYWNlX2R1 bXBlci5jYworQEAgLTE1NCwxOSArMTU0LDI3IEBAIGJvb2wgTGludXhQdHJhY2VEdW1wZXI6OkNv cHlGcm9tUHJvY2Vzcyh2b2lkKiBkZXN0LCBwaWRfdCBjaGlsZCwKKyAgIHJldHVybiB0cnVlOwor IH0KKyAKKy1ib29sIExpbnV4UHRyYWNlRHVtcGVyOjpSZWFkUmVnaXN0ZXJTZXQoVGhyZWFkSW5m byogaW5mbywgcGlkX3QgdGlkKQorLXsKKytib29sIExpbnV4UHRyYWNlRHVtcGVyOjpSZWFkUmVn aXN0ZXJTZXQoVGhyZWFkSW5mbyogaW5mbywgcGlkX3QgdGlkKSB7CisgI2lmZGVmIFBUUkFDRV9H RVRSRUdTRVQKKyAgIHN0cnVjdCBpb3ZlYyBpbzsKKyAgIGluZm8tPkdldEdlbmVyYWxQdXJwb3Nl UmVnaXN0ZXJzKCZpby5pb3ZfYmFzZSwgJmlvLmlvdl9sZW4pOworLSAgaWYgKHN5c19wdHJhY2Uo UFRSQUNFX0dFVFJFR1NFVCwgdGlkLCAodm9pZCopTlRfUFJTVEFUVVMsICh2b2lkKikmaW8pID09 IC0xKSB7CisrICBpZiAocHRyYWNlKFBUUkFDRV9HRVRSRUdTRVQsIHRpZCwgKHZvaWQqKU5UX1BS U1RBVFVTLCAodm9pZCopJmlvKSA9PSAtMSkgeworICAgICByZXR1cm4gZmFsc2U7CisgICB9Cisg CisgICBpbmZvLT5HZXRGbG9hdGluZ1BvaW50UmVnaXN0ZXJzKCZpby5pb3ZfYmFzZSwgJmlvLmlv dl9sZW4pOworLSAgaWYgKHN5c19wdHJhY2UoUFRSQUNFX0dFVFJFR1NFVCwgdGlkLCAodm9pZCop TlRfRlBSRUdTRVQsICh2b2lkKikmaW8pID09IC0xKSB7CisrICBpZiAocHRyYWNlKFBUUkFDRV9H RVRSRUdTRVQsIHRpZCwgKHZvaWQqKU5UX0ZQUkVHU0VULCAodm9pZCopJmlvKSA9PSAtMSkgewor ICAgICByZXR1cm4gZmFsc2U7CisgICB9CisrCisrI2lmIGRlZmluZWQoX19wb3dlcnBjNjRfXykK KysgIC8vIEdyYWIgdGhlIHZlY3RvciByZWdpc3RlcnMgb24gUFBDNjQgdG9vCisrICBpbmZvLT5H ZXRWZWN0b3JSZWdpc3RlcnMoJmlvLmlvdl9iYXNlLCAmaW8uaW92X2xlbik7CisrICBpZiAocHRy YWNlKFBUUkFDRV9HRVRSRUdTRVQsIHRpZCwgKHZvaWQqKU5UX1BQQ19WTVgsICh2b2lkKikmaW8p ID09IC0xKSB7CisrICAgIHJldHVybiBmYWxzZTsKKysgIH0KKysjZW5kaWYgLy8gZGVmaW5lZChf X3Bvd2VycGM2NF9fKQorKworICAgcmV0dXJuIHRydWU7CisgI2Vsc2UKKyAgIHJldHVybiBmYWxz ZTsKK0BAIC0zMDMsNiArMzExLDkgQEAgYm9vbCBMaW51eFB0cmFjZUR1bXBlcjo6R2V0VGhyZWFk SW5mb0J5SW5kZXgoc2l6ZV90IGluZGV4LCBUaHJlYWRJbmZvKiBpbmZvKSB7CisgI2VsaWYgZGVm aW5lZChfX21pcHNfXykKKyAgIHN0YWNrX3BvaW50ZXIgPQorICAgICAgIHJlaW50ZXJwcmV0X2Nh c3Q8dWludDhfdCo+KGluZm8tPm1jb250ZXh0LmdyZWdzW01EX0NPTlRFWFRfTUlQU19SRUdfU1Bd KTsKKysjZWxpZiBkZWZpbmVkKF9fcG93ZXJwYzY0X18pCisrICBzdGFja19wb2ludGVyID0KKysg ICAgICByZWludGVycHJldF9jYXN0PHVpbnQ4X3QqPihpbmZvLT5tY29udGV4dC5ncF9yZWdzW01E X0NPTlRFWFRfUFBDNjRfUkVHX1NQXSk7CisgI2Vsc2UKKyAjZXJyb3IgIlRoaXMgY29kZSBoYXNu J3QgYmVlbiBwb3J0ZWQgdG8geW91ciBwbGF0Zm9ybSB5ZXQuIgorICNlbmRpZgorZGlmZiAtLWdp dCBhL3NyYy8zcmRwYXJ0eS9jaHJvbWl1bS90aGlyZF9wYXJ0eS9icmVha3BhZC9icmVha3BhZC9z cmMvY2xpZW50L2xpbnV4L21pbmlkdW1wX3dyaXRlci9saW51eF9wdHJhY2VfZHVtcGVyX3VuaXR0 ZXN0LmNjIGIvc3JjLzNyZHBhcnR5L2Nocm9taXVtL3RoaXJkX3BhcnR5L2JyZWFrcGFkL2JyZWFr cGFkL3NyYy9jbGllbnQvbGludXgvbWluaWR1bXBfd3JpdGVyL2xpbnV4X3B0cmFjZV9kdW1wZXJf dW5pdHRlc3QuY2MKK2luZGV4IGE0MWRhZmNlMC4uMzE3NDM5NDBkIDEwMDY0NAorLS0tIGEvc3Jj LzNyZHBhcnR5L2Nocm9taXVtL3RoaXJkX3BhcnR5L2JyZWFrcGFkL2JyZWFrcGFkL3NyYy9jbGll bnQvbGludXgvbWluaWR1bXBfd3JpdGVyL2xpbnV4X3B0cmFjZV9kdW1wZXJfdW5pdHRlc3QuY2MK KysrKyBiL3NyYy8zcmRwYXJ0eS9jaHJvbWl1bS90aGlyZF9wYXJ0eS9icmVha3BhZC9icmVha3Bh ZC9zcmMvY2xpZW50L2xpbnV4L21pbmlkdW1wX3dyaXRlci9saW51eF9wdHJhY2VfZHVtcGVyX3Vu aXR0ZXN0LmNjCitAQCAtNDYyLDYgKzQ2Miw5IEBAIFRFU1QoTGludXhQdHJhY2VEdW1wZXJUZXN0 LCBWZXJpZnlTdGFja1JlYWRXaXRoTXVsdGlwbGVUaHJlYWRzKSB7CisgI2VsaWYgZGVmaW5lZChf X21pcHNfXykKKyAgICAgcGlkX3QqIHByb2Nlc3NfdGlkX2xvY2F0aW9uID0KKyAgICAgICAgIHJl aW50ZXJwcmV0X2Nhc3Q8cGlkX3QqPihvbmVfdGhyZWFkLm1jb250ZXh0LmdyZWdzWzFdKTsKKysj ZWxpZiBkZWZpbmVkKF9fcG93ZXJwYzY0X18pCisrICAgIHBpZF90KiBwcm9jZXNzX3RpZF9sb2Nh dGlvbiA9CisrICAgICAgICByZWludGVycHJldF9jYXN0PHBpZF90Kj4ob25lX3RocmVhZC5tY29u dGV4dC5ncF9yZWdzWzhdKTsKKyAjZWxzZQorICNlcnJvciBUaGlzIHRlc3QgaGFzIG5vdCBiZWVu IHBvcnRlZCB0byB0aGlzIHBsYXRmb3JtLgorICNlbmRpZgorQEAgLTU1OSw2ICs1NjIsOCBAQCBU RVNUX0YoTGludXhQdHJhY2VEdW1wZXJUZXN0LCBTYW5pdGl6ZVN0YWNrQ29weSkgeworICAgdWlu dHB0cl90IGhlYXBfYWRkciA9IHRocmVhZF9pbmZvLnJlZ3MucmN4OworICNlbGlmIGRlZmluZWQo X19taXBzX18pCisgICB1aW50cHRyX3QgaGVhcF9hZGRyID0gdGhyZWFkX2luZm8ubWNvbnRleHQu Z3JlZ3NbMV07CisrI2VsaWYgZGVmaW5lZChfX3Bvd2VycGM2NF9fKQorKyAgdWludHB0cl90IGhl YXBfYWRkciA9IHRocmVhZF9pbmZvLm1jb250ZXh0LmdwX3JlZ3NbOF07CisgI2Vsc2UKKyAjZXJy b3IgVGhpcyB0ZXN0IGhhcyBub3QgYmVlbiBwb3J0ZWQgdG8gdGhpcyBwbGF0Zm9ybS4KKyAjZW5k aWYKK2RpZmYgLS1naXQgYS9zcmMvM3JkcGFydHkvY2hyb21pdW0vdGhpcmRfcGFydHkvYnJlYWtw YWQvYnJlYWtwYWQvc3JjL2NsaWVudC9saW51eC9taW5pZHVtcF93cml0ZXIvbWluaWR1bXBfd3Jp dGVyLmNjIGIvc3JjLzNyZHBhcnR5L2Nocm9taXVtL3RoaXJkX3BhcnR5L2JyZWFrcGFkL2JyZWFr cGFkL3NyYy9jbGllbnQvbGludXgvbWluaWR1bXBfd3JpdGVyL21pbmlkdW1wX3dyaXRlci5jYwor aW5kZXggZjhjZGYyYTFjLi5jYjgwOGMxNTEgMTAwNjQ0CistLS0gYS9zcmMvM3JkcGFydHkvY2hy b21pdW0vdGhpcmRfcGFydHkvYnJlYWtwYWQvYnJlYWtwYWQvc3JjL2NsaWVudC9saW51eC9taW5p ZHVtcF93cml0ZXIvbWluaWR1bXBfd3JpdGVyLmNjCisrKysgYi9zcmMvM3JkcGFydHkvY2hyb21p dW0vdGhpcmRfcGFydHkvYnJlYWtwYWQvYnJlYWtwYWQvc3JjL2NsaWVudC9saW51eC9taW5pZHVt cF93cml0ZXIvbWluaWR1bXBfd3JpdGVyLmNjCitAQCAtMTM2LDcgKzEzNiw5IEBAIGNsYXNzIE1p bmlkdW1wV3JpdGVyIHsKKyAgICAgICA6IGZkXyhtaW5pZHVtcF9mZCksCisgICAgICAgICBwYXRo XyhtaW5pZHVtcF9wYXRoKSwKKyAgICAgICAgIHVjb250ZXh0Xyhjb250ZXh0ID8gJmNvbnRleHQt PmNvbnRleHQgOiBOVUxMKSwKKy0jaWYgIWRlZmluZWQoX19BUk1fRUFCSV9fKSAmJiAhZGVmaW5l ZChfX21pcHNfXykKKysjaWYgZGVmaW5lZChfX3Bvd2VycGM2NF9fKQorKyAgICAgICAgdmVjdG9y X3N0YXRlXyhjb250ZXh0ID8gJmNvbnRleHQtPnZlY3Rvcl9zdGF0ZSA6IE5VTEwpLAorKyNlbGlm ICFkZWZpbmVkKF9fQVJNX0VBQklfXykgJiYgIWRlZmluZWQoX19taXBzX18pCisgICAgICAgICBm bG9hdF9zdGF0ZV8oY29udGV4dCA/ICZjb250ZXh0LT5mbG9hdF9zdGF0ZSA6IE5VTEwpLAorICNl bmRpZgorICAgICAgICAgZHVtcGVyXyhkdW1wZXIpLAorQEAgLTQ2OCw3ICs0NzAsOSBAQCBjbGFz cyBNaW5pZHVtcFdyaXRlciB7CisgICAgICAgICBpZiAoIWNwdS5BbGxvY2F0ZSgpKQorICAgICAg ICAgICByZXR1cm4gZmFsc2U7CisgICAgICAgICBteV9tZW1zZXQoY3B1LmdldCgpLCAwLCBzaXpl b2YoUmF3Q29udGV4dENQVSkpOworLSNpZiAhZGVmaW5lZChfX0FSTV9FQUJJX18pICYmICFkZWZp bmVkKF9fbWlwc19fKQorKyNpZiBkZWZpbmVkKF9fcG93ZXJwYzY0X18pCisrICAgICAgICBVQ29u dGV4dFJlYWRlcjo6RmlsbENQVUNvbnRleHQoY3B1LmdldCgpLCB1Y29udGV4dF8sIHZlY3Rvcl9z dGF0ZV8pOworKyNlbGlmICFkZWZpbmVkKF9fQVJNX0VBQklfXykgJiYgIWRlZmluZWQoX19taXBz X18pCisgICAgICAgICBVQ29udGV4dFJlYWRlcjo6RmlsbENQVUNvbnRleHQoY3B1LmdldCgpLCB1 Y29udGV4dF8sIGZsb2F0X3N0YXRlXyk7CisgI2Vsc2UKKyAgICAgICAgIFVDb250ZXh0UmVhZGVy OjpGaWxsQ1BVQ29udGV4dChjcHUuZ2V0KCksIHVjb250ZXh0Xyk7CitAQCAtODk3LDcgKzkwMSw3 IEBAIGNsYXNzIE1pbmlkdW1wV3JpdGVyIHsKKyAgICAgZGlyZW50LT5sb2NhdGlvbi5ydmEgPSAw OworICAgfQorIAorLSNpZiBkZWZpbmVkKF9faTM4Nl9fKSB8fCBkZWZpbmVkKF9feDg2XzY0X18p IHx8IGRlZmluZWQoX19taXBzX18pCisrI2lmIGRlZmluZWQoX19pMzg2X18pIHx8IGRlZmluZWQo X194ODZfNjRfXykgfHwgZGVmaW5lZChfX21pcHNfXykgfHwgZGVmaW5lZChfX3Bvd2VycGM2NF9f KQorICAgYm9vbCBXcml0ZUNQVUluZm9ybWF0aW9uKE1EUmF3U3lzdGVtSW5mbyogc3lzX2luZm8p IHsKKyAgICAgY2hhciB2ZW5kb3JfaWRbc2l6ZW9mKHN5c19pbmZvLT5jcHUueDg2X2NwdV9pbmZv LnZlbmRvcl9pZCkgKyAxXSA9IHswfTsKKyAgICAgc3RhdGljIGNvbnN0IGNoYXIgdmVuZG9yX2lk X25hbWVbXSA9ICJ2ZW5kb3JfaWQiOworQEAgLTkxNyw3ICs5MjEsOSBAQCBjbGFzcyBNaW5pZHVt cFdyaXRlciB7CisgCisgICAgIC8vIHByb2Nlc3Nvcl9hcmNoaXRlY3R1cmUgc2hvdWxkIGFsd2F5 cyBiZSBzZXQsIGRvIHRoaXMgZmlyc3QKKyAgICAgc3lzX2luZm8tPnByb2Nlc3Nvcl9hcmNoaXRl Y3R1cmUgPQorLSNpZiBkZWZpbmVkKF9fbWlwc19fKQorKyNpZiBkZWZpbmVkKF9fcG93ZXJwYzY0 X18pCisrICAgICAgICBNRF9DUFVfQVJDSElURUNUVVJFX1BQQzY0OworKyNlbGlmIGRlZmluZWQo X19taXBzX18pCisgIyBpZiBfTUlQU19TSU0gPT0gX0FCSU8zMgorICAgICAgICAgTURfQ1BVX0FS Q0hJVEVDVFVSRV9NSVBTOworICMgZWxpZiBfTUlQU19TSU0gPT0gX0FCSTY0CitAQCAtMTMzMyw3 ICsxMzM5LDkgQEAgY2xhc3MgTWluaWR1bXBXcml0ZXIgeworICAgY29uc3QgY2hhciogcGF0aF87 ICAvLyBQYXRoIHRvIHRoZSBmaWxlIHdoZXJlIHRoZSBtaW5pZHVtIHNob3VsZCBiZSB3cml0dGVu LgorIAorICAgY29uc3QgdWNvbnRleHRfdCogY29uc3QgdWNvbnRleHRfOyAgLy8gYWxzbyBmcm9t IHRoZSBzaWduYWwgaGFuZGxlcgorLSNpZiAhZGVmaW5lZChfX0FSTV9FQUJJX18pICYmICFkZWZp bmVkKF9fbWlwc19fKQorKyNpZiBkZWZpbmVkKF9fcG93ZXJwYzY0X18pCisrICBjb25zdCBnb29n bGVfYnJlYWtwYWQ6OnZzdGF0ZV90KiBjb25zdCB2ZWN0b3Jfc3RhdGVfOworKyNlbGlmICFkZWZp bmVkKF9fQVJNX0VBQklfXykgJiYgIWRlZmluZWQoX19taXBzX18pCisgICBjb25zdCBnb29nbGVf YnJlYWtwYWQ6OmZwc3RhdGVfdCogY29uc3QgZmxvYXRfc3RhdGVfOyAgLy8gZGl0dG8KKyAjZW5k aWYKKyAgIExpbnV4RHVtcGVyKiBkdW1wZXJfOworZGlmZiAtLWdpdCBhL3NyYy8zcmRwYXJ0eS9j aHJvbWl1bS90aGlyZF9wYXJ0eS9icmVha3BhZC9icmVha3BhZC9zcmMvY2xpZW50L2xpbnV4L21p bmlkdW1wX3dyaXRlci9taW5pZHVtcF93cml0ZXIuaCBiL3NyYy8zcmRwYXJ0eS9jaHJvbWl1bS90 aGlyZF9wYXJ0eS9icmVha3BhZC9icmVha3BhZC9zcmMvY2xpZW50L2xpbnV4L21pbmlkdW1wX3dy aXRlci9taW5pZHVtcF93cml0ZXIuaAoraW5kZXggZDFjYzU2MjRjLi4zMjA4NDc2NDMgMTAwNjQ0 CistLS0gYS9zcmMvM3JkcGFydHkvY2hyb21pdW0vdGhpcmRfcGFydHkvYnJlYWtwYWQvYnJlYWtw YWQvc3JjL2NsaWVudC9saW51eC9taW5pZHVtcF93cml0ZXIvbWluaWR1bXBfd3JpdGVyLmgKKysr KyBiL3NyYy8zcmRwYXJ0eS9jaHJvbWl1bS90aGlyZF9wYXJ0eS9icmVha3BhZC9icmVha3BhZC9z cmMvY2xpZW50L2xpbnV4L21pbmlkdW1wX3dyaXRlci9taW5pZHVtcF93cml0ZXIuaAorQEAgLTQ3 LDYgKzQ3LDggQEAgY2xhc3MgRXhjZXB0aW9uSGFuZGxlcjsKKyAKKyAjaWYgZGVmaW5lZChfX2Fh cmNoNjRfXykKKyB0eXBlZGVmIHN0cnVjdCBmcHNpbWRfY29udGV4dCBmcHN0YXRlX3Q7CisrI2Vs aWYgZGVmaW5lZChfX3Bvd2VycGM2NF9fKQorK3R5cGVkZWYgdnJyZWdzZXRfdCB2c3RhdGVfdDsK KyAjZWxpZiAhZGVmaW5lZChfX0FSTV9FQUJJX18pICYmICFkZWZpbmVkKF9fbWlwc19fKQorIHR5 cGVkZWYgc3RydWN0IF9mcHN0YXRlIGZwc3RhdGVfdDsKKyAjZW5kaWYKK2RpZmYgLS1naXQgYS9z cmMvM3JkcGFydHkvY2hyb21pdW0vdGhpcmRfcGFydHkvYnJlYWtwYWQvYnJlYWtwYWQvc3JjL2Ns aWVudC9saW51eC9taW5pZHVtcF93cml0ZXIvbWluaWR1bXBfd3JpdGVyX3VuaXR0ZXN0LmNjIGIv c3JjLzNyZHBhcnR5L2Nocm9taXVtL3RoaXJkX3BhcnR5L2JyZWFrcGFkL2JyZWFrcGFkL3NyYy9j bGllbnQvbGludXgvbWluaWR1bXBfd3JpdGVyL21pbmlkdW1wX3dyaXRlcl91bml0dGVzdC5jYwor aW5kZXggYzk1MWU2OWQ4Li5lMWQ2ZTQwZDYgMTAwNjQ0CistLS0gYS9zcmMvM3JkcGFydHkvY2hy b21pdW0vdGhpcmRfcGFydHkvYnJlYWtwYWQvYnJlYWtwYWQvc3JjL2NsaWVudC9saW51eC9taW5p ZHVtcF93cml0ZXIvbWluaWR1bXBfd3JpdGVyX3VuaXR0ZXN0LmNjCisrKysgYi9zcmMvM3JkcGFy dHkvY2hyb21pdW0vdGhpcmRfcGFydHkvYnJlYWtwYWQvYnJlYWtwYWQvc3JjL2NsaWVudC9saW51 eC9taW5pZHVtcF93cml0ZXIvbWluaWR1bXBfd3JpdGVyX3VuaXR0ZXN0LmNjCitAQCAtNzE0LDYg KzcxNCw5IEBAIFRFU1QoTWluaWR1bXBXcml0ZXJUZXN0LCBJbnZhbGlkU3RhY2tQb2ludGVyKSB7 CisgI2VsaWYgZGVmaW5lZChfX21pcHNfXykKKyAgIGNvbnRleHQuY29udGV4dC51Y19tY29udGV4 dC5ncmVnc1tNRF9DT05URVhUX01JUFNfUkVHX1NQXSA9CisgICAgICAgaW52YWxpZF9zdGFja19w b2ludGVyOworKyNlbGlmIGRlZmluZWQoX19wb3dlcnBjNjRfXykKKysgIGNvbnRleHQuY29udGV4 dC51Y19tY29udGV4dC5ncF9yZWdzW01EX0NPTlRFWFRfUFBDNjRfUkVHX1NQXSA9CisrICAgICAg aW52YWxpZF9zdGFja19wb2ludGVyOworICNlbHNlCisgIyBlcnJvciAiVGhpcyBjb2RlIGhhcyBu b3QgYmVlbiBwb3J0ZWQgdG8geW91ciBwbGF0Zm9ybSB5ZXQuIgorICNlbmRpZgorZGlmZiAtLWdp dCBhL3NyYy8zcmRwYXJ0eS9jaHJvbWl1bS90aGlyZF9wYXJ0eS9icmVha3BhZC9icmVha3BhZC9z cmMvY29tbW9uL2xpbnV4L21lbW9yeV9tYXBwZWRfZmlsZS5jYyBiL3NyYy8zcmRwYXJ0eS9jaHJv bWl1bS90aGlyZF9wYXJ0eS9icmVha3BhZC9icmVha3BhZC9zcmMvY29tbW9uL2xpbnV4L21lbW9y eV9tYXBwZWRfZmlsZS5jYworaW5kZXggNGU5MzgyNjlmLi5mMGZmMTVkOTYgMTAwNjQ0CistLS0g YS9zcmMvM3JkcGFydHkvY2hyb21pdW0vdGhpcmRfcGFydHkvYnJlYWtwYWQvYnJlYWtwYWQvc3Jj L2NvbW1vbi9saW51eC9tZW1vcnlfbWFwcGVkX2ZpbGUuY2MKKysrKyBiL3NyYy8zcmRwYXJ0eS9j aHJvbWl1bS90aGlyZF9wYXJ0eS9icmVha3BhZC9icmVha3BhZC9zcmMvY29tbW9uL2xpbnV4L21l bW9yeV9tYXBwZWRfZmlsZS5jYworQEAgLTY1LDggKzY1LDcgQEAgYm9vbCBNZW1vcnlNYXBwZWRG aWxlOjpNYXAoY29uc3QgY2hhciogcGF0aCwgc2l6ZV90IG9mZnNldCkgeworICAgfQorIAorICNp ZiBkZWZpbmVkKF9feDg2XzY0X18pIHx8IGRlZmluZWQoX19hYXJjaDY0X18pIHx8IFwKKy0gICAo ZGVmaW5lZChfX21pcHNfXykgJiYgX01JUFNfU0lNID09IF9BQkk2NCkKKy0KKysgICAoZGVmaW5l ZChfX21pcHNfXykgJiYgX01JUFNfU0lNID09IF9BQkk2NCkgfHwgZGVmaW5lZChfX3Bvd2VycGM2 NF9fKQorICAgc3RydWN0IGtlcm5lbF9zdGF0IHN0OworICAgaWYgKHN5c19mc3RhdChmZCwgJnN0 KSA9PSAtMSB8fCBzdC5zdF9zaXplIDwgMCkgeworICNlbHNlCitkaWZmIC0tZ2l0IGEvc3JjLzNy ZHBhcnR5L2Nocm9taXVtL3RoaXJkX3BhcnR5L2JyZWFrcGFkL2JyZWFrcGFkL3NyYy9jb21tb24v bGludXgvbWVtb3J5X21hcHBlZF9maWxlX3VuaXR0ZXN0LmNjIGIvc3JjLzNyZHBhcnR5L2Nocm9t aXVtL3RoaXJkX3BhcnR5L2JyZWFrcGFkL2JyZWFrcGFkL3NyYy9jb21tb24vbGludXgvbWVtb3J5 X21hcHBlZF9maWxlX3VuaXR0ZXN0LmNjCitpbmRleCBmYWQ1OWY0MGMuLjYxNjQ5NmQ2NyAxMDA2 NDQKKy0tLSBhL3NyYy8zcmRwYXJ0eS9jaHJvbWl1bS90aGlyZF9wYXJ0eS9icmVha3BhZC9icmVh a3BhZC9zcmMvY29tbW9uL2xpbnV4L21lbW9yeV9tYXBwZWRfZmlsZV91bml0dGVzdC5jYworKysr IGIvc3JjLzNyZHBhcnR5L2Nocm9taXVtL3RoaXJkX3BhcnR5L2JyZWFrcGFkL2JyZWFrcGFkL3Ny Yy9jb21tb24vbGludXgvbWVtb3J5X21hcHBlZF9maWxlX3VuaXR0ZXN0LmNjCitAQCAtMTc2LDkg KzE3NiwxMCBAQCBURVNUX0YoTWVtb3J5TWFwcGVkRmlsZVRlc3QsIFJlbWFwQWZ0ZXJNYXApIHsK KyBURVNUX0YoTWVtb3J5TWFwcGVkRmlsZVRlc3QsIE1hcFdpdGhPZmZzZXQpIHsKKyAgIC8vIFB1 dCBtb3JlIGRhdGEgaW4gdGhlIHRlc3QgZmlsZSB0aGlzIHRpbWUuIE9mZnNldHMgY2FuIG9ubHkg YmUKKyAgIC8vIGRvbmUgb24gcGFnZSBib3VuZGFyaWVzLCBzbyB3ZSBuZWVkIGEgdHdvIHBhZ2Ug ZmlsZSB0byB0ZXN0IHRoaXMuCistICBjb25zdCBpbnQgcGFnZV9zaXplID0gNDA5NjsKKy0gIGNo YXIgZGF0YTFbMiAqIHBhZ2Vfc2l6ZV07CistICBzaXplX3QgZGF0YTFfc2l6ZSA9IHNpemVvZihk YXRhMSk7CisrICBjb25zdCBpbnQgcGFnZV9zaXplID0gZ2V0cGFnZXNpemUoKTsKKysgIGNoYXIg KmRhdGExID0gc3RhdGljX2Nhc3Q8Y2hhcio+KG1hbGxvYygyICogcGFnZV9zaXplKSk7CisrICBF WFBFQ1RfVFJVRShkYXRhMSAhPSBOVUxMKTsKKysgIHNpemVfdCBkYXRhMV9zaXplID0gKDIgKiBw YWdlX3NpemUpOworICAgZm9yIChzaXplX3QgaSA9IDA7IGkgPCBkYXRhMV9zaXplOyArK2kpIHsK KyAgICAgZGF0YTFbaV0gPSBpICYgMHg3ZjsKKyAgIH0KK2RpZmYgLS1naXQgYS9zcmMvM3JkcGFy dHkvY2hyb21pdW0vdGhpcmRfcGFydHkvYnJlYWtwYWQvYnJlYWtwYWQvc3JjL2NvbW1vbi9tZW1v cnlfYWxsb2NhdG9yX3VuaXR0ZXN0LmNjIGIvc3JjLzNyZHBhcnR5L2Nocm9taXVtL3RoaXJkX3Bh cnR5L2JyZWFrcGFkL2JyZWFrcGFkL3NyYy9jb21tb24vbWVtb3J5X2FsbG9jYXRvcl91bml0dGVz dC5jYworaW5kZXggNDNjODYzMTRjLi4yNzMyNWI4MTMgMTAwNjQ0CistLS0gYS9zcmMvM3JkcGFy dHkvY2hyb21pdW0vdGhpcmRfcGFydHkvYnJlYWtwYWQvYnJlYWtwYWQvc3JjL2NvbW1vbi9tZW1v cnlfYWxsb2NhdG9yX3VuaXR0ZXN0LmNjCisrKysgYi9zcmMvM3JkcGFydHkvY2hyb21pdW0vdGhp cmRfcGFydHkvYnJlYWtwYWQvYnJlYWtwYWQvc3JjL2NvbW1vbi9tZW1vcnlfYWxsb2NhdG9yX3Vu aXR0ZXN0LmNjCitAQCAtNTcsOCArNTcsOSBAQAorIAorICAgRVhQRUNUX0VRKDBVLCBhbGxvY2F0 b3IucGFnZXNfYWxsb2NhdGVkKCkpOworICAgdWludDhfdCogcCA9IHJlaW50ZXJwcmV0X2Nhc3Q8 dWludDhfdCo+KGFsbG9jYXRvci5BbGxvYygxMDAwMCkpOworKyAgdWludDY0X3QgZXhwZWN0ZWRf cGFnZXMgPSAxICsgKCgxMDAwMCAtIDEpIC8gZ2V0cGFnZXNpemUoKSk7CisgICBBU1NFUlRfRkFM U0UocCA9PSBOVUxMKTsKKy0gIEVYUEVDVF9FUSgzVSwgYWxsb2NhdG9yLnBhZ2VzX2FsbG9jYXRl ZCgpKTsKKysgIEVYUEVDVF9FUShleHBlY3RlZF9wYWdlcywgYWxsb2NhdG9yLnBhZ2VzX2FsbG9j YXRlZCgpKTsKKyAgIGZvciAodW5zaWduZWQgaSA9IDE7IGkgPCAxMDsgKytpKSB7CisgICAgIHVp bnQ4X3QqIHAgPSByZWludGVycHJldF9jYXN0PHVpbnQ4X3QqPihhbGxvY2F0b3IuQWxsb2MoaSkp OworICAgICBBU1NFUlRfRkFMU0UocCA9PSBOVUxMKTsKK2RpZmYgLS1naXQgYS9zcmMvM3JkcGFy dHkvY2hyb21pdW0vdGhpcmRfcGFydHkvYnJlYWtwYWQvYnJlYWtwYWQvc3JjL3Byb2Nlc3Nvci9l eHBsb2l0YWJpbGl0eV9saW51eC5jYyBiL3NyYy8zcmRwYXJ0eS9jaHJvbWl1bS90aGlyZF9wYXJ0 eS9icmVha3BhZC9icmVha3BhZC9zcmMvcHJvY2Vzc29yL2V4cGxvaXRhYmlsaXR5X2xpbnV4LmNj CitpbmRleCBjY2M5ZjE0NTkuLmRlYmFlZDRkNiAxMDA2NDQKKy0tLSBhL3NyYy8zcmRwYXJ0eS9j aHJvbWl1bS90aGlyZF9wYXJ0eS9icmVha3BhZC9icmVha3BhZC9zcmMvcHJvY2Vzc29yL2V4cGxv aXRhYmlsaXR5X2xpbnV4LmNjCisrKysgYi9zcmMvM3JkcGFydHkvY2hyb21pdW0vdGhpcmRfcGFy dHkvYnJlYWtwYWQvYnJlYWtwYWQvc3JjL3Byb2Nlc3Nvci9leHBsb2l0YWJpbGl0eV9saW51eC5j YworQEAgLTIwMiwxMiArMjAyLDE0IEBAIGJvb2wgRXhwbG9pdGFiaWxpdHlMaW51eDo6RW5kZWRP bklsbGVnYWxXcml0ZSh1aW50NjRfdCBpbnN0cnVjdGlvbl9wdHIpIHsKKyAgIC8vIENoZWNrIGFy Y2hpdGVjdHVyZSBhbmQgc2V0IGFyY2hpdGVjdHVyZSB2YXJpYWJsZSB0byBjb3JyZXNwb25kaW5n IGZsYWcKKyAgIC8vIGluIG9iamR1bXAuCisgICBzd2l0Y2ggKGNvbnRleHQtPkdldENvbnRleHRD UFUoKSkgeworKyNpZiBkZWZpbmVkKF9faTM4NikgfHwgZGVmaW5lZChfX3g4Nl82NCkKKyAgICAg Y2FzZSBNRF9DT05URVhUX1g4NjoKKyAgICAgICBhcmNoaXRlY3R1cmUgPSAiaTM4NiI7CisgICAg ICAgYnJlYWs7CisgICAgIGNhc2UgTURfQ09OVEVYVF9BTUQ2NDoKKyAgICAgICBhcmNoaXRlY3R1 cmUgPSAiaTM4Njp4ODYtNjQiOworICAgICAgIGJyZWFrOworKyNlbmRpZgorICAgICBkZWZhdWx0 OgorICAgICAgIC8vIFVuc3VwcG9ydGVkIGFyY2hpdGVjdHVyZS4gTm90ZSB0aGF0IEFSTSBhcmNo aXRlY3R1cmVzIGFyZSBub3QKKyAgICAgICAvLyBzdXBwb3J0ZWQgYmVjYXVzZSBvYmpkdW1wIGRv ZXMgbm90IHN1cHBvcnQgQVJNLgorZGlmZiAtLWdpdCBhL3NyYy8zcmRwYXJ0eS9jaHJvbWl1bS90 aGlyZF9wYXJ0eS9icmVha3BhZC9icmVha3BhZC9zcmMvcHJvY2Vzc29yL2V4cGxvaXRhYmlsaXR5 X3VuaXR0ZXN0LmNjIGIvc3JjLzNyZHBhcnR5L2Nocm9taXVtL3RoaXJkX3BhcnR5L2JyZWFrcGFk L2JyZWFrcGFkL3NyYy9wcm9jZXNzb3IvZXhwbG9pdGFiaWxpdHlfdW5pdHRlc3QuY2MKK2luZGV4 IDUyOGVlNWYyMS4uNzI3NjRkNmMxIDEwMDY0NAorLS0tIGEvc3JjLzNyZHBhcnR5L2Nocm9taXVt L3RoaXJkX3BhcnR5L2JyZWFrcGFkL2JyZWFrcGFkL3NyYy9wcm9jZXNzb3IvZXhwbG9pdGFiaWxp dHlfdW5pdHRlc3QuY2MKKysrKyBiL3NyYy8zcmRwYXJ0eS9jaHJvbWl1bS90aGlyZF9wYXJ0eS9i cmVha3BhZC9icmVha3BhZC9zcmMvcHJvY2Vzc29yL2V4cGxvaXRhYmlsaXR5X3VuaXR0ZXN0LmNj CitAQCAtMTA0LDYgKzEwNCw4IEBAIEV4cGxvaXRhYmlsaXR5Rm9yKGNvbnN0IHN0cmluZyYgZmls ZW5hbWUpIHsKKyB9CisgCisgVEVTVChFeHBsb2l0YWJpbGl0eVRlc3QsIFRlc3RXaW5kb3dzRW5n aW5lKSB7CisrLy8gVGhlIGZvbGxvd2luZyB0ZXN0cyBhcmUgb25seSBleGVjdXRhYmxlIG9uIGFu IHg4Ni1jbGFzcyBsaW51eCBtYWNoaW5lLgorKyNpZiAhZGVmaW5lZChfV0lOMzIpICYmIChkZWZp bmVkKF9faTM4NikgfHwgZGVmaW5lZChfX3g4Nl82NCkpCisgICBBU1NFUlRfRVEoZ29vZ2xlX2Jy ZWFrcGFkOjpFWFBMT0lUQUJJTElUWV9ISUdILAorICAgICAgICAgICAgIEV4cGxvaXRhYmlsaXR5 Rm9yKCJhc2NpaV9yZWFkX2F2LmRtcCIpKTsKKyAgIEFTU0VSVF9FUShnb29nbGVfYnJlYWtwYWQ6 OkVYUExPSVRBQklMSVRZX0hJR0gsCitAQCAtMTM2LDkgKzEzOCwxMiBAQCBURVNUKEV4cGxvaXRh YmlsaXR5VGVzdCwgVGVzdFdpbmRvd3NFbmdpbmUpIHsKKyAgICAgICAgICAgICBFeHBsb2l0YWJp bGl0eUZvcigicmVhZF9hdl9jbG9iYmVyX3dyaXRlLmRtcCIpKTsKKyAgIEFTU0VSVF9FUShnb29n bGVfYnJlYWtwYWQ6OkVYUExPSVRBQklMSVRZX0xPVywKKyAgICAgICAgICAgICBFeHBsb2l0YWJp bGl0eUZvcigicmVhZF9hdl9jb25kaXRpb25hbC5kbXAiKSk7CisrI2VuZGlmCisgfQorIAorIFRF U1QoRXhwbG9pdGFiaWxpdHlUZXN0LCBUZXN0TGludXhFbmdpbmUpIHsKKysvLyBUaGUgZm9sbG93 aW5nIHRlc3RzIGFyZSBvbmx5IGV4ZWN1dGFibGUgb24gYW4geDg2LWNsYXNzIGxpbnV4IG1hY2hp bmUuCisrI2lmIGRlZmluZWQoX19pMzg2KSB8fCBkZWZpbmVkKF9feDg2XzY0KQorICAgQVNTRVJU X0VRKGdvb2dsZV9icmVha3BhZDo6RVhQTE9JVEFCSUxJVFlfSU5URVJFU1RJTkcsCisgICAgICAg ICAgICAgRXhwbG9pdGFiaWxpdHlGb3IoImxpbnV4X251bGxfcmVhZF9hdi5kbXAiKSk7CisgICBB U1NFUlRfRVEoZ29vZ2xlX2JyZWFrcGFkOjpFWFBMT0lUQUJJTElUWV9ISUdILAorQEAgLTE3MSw3 ICsxNzYsOCBAQCBURVNUKEV4cGxvaXRhYmlsaXR5VGVzdCwgVGVzdExpbnV4RW5naW5lKSB7Cisg ICAgICAgICAgICAgRXhwbG9pdGFiaWxpdHlGb3IoImxpbnV4X2V4ZWN1dGFibGVfaGVhcC5kbXAi KSk7CisgICBBU1NFUlRfRVEoZ29vZ2xlX2JyZWFrcGFkOjpFWFBMT0lUQUJJTElUWV9ISUdILAor ICAgICAgICAgICAgIEV4cGxvaXRhYmlsaXR5Rm9yKCJsaW51eF9qbXBfdG9fbW9kdWxlX25vdF9l eGVfcmVnaW9uLmRtcCIpKTsKKy0jaWZuZGVmIF9XSU4zMgorKyNlbmRpZgorKyNpZiAhZGVmaW5l ZChfV0lOMzIpICYmIChkZWZpbmVkKF9faTM4NikgfHwgZGVmaW5lZChfX3g4Nl82NCkpCisgICBB U1NFUlRfRVEoZ29vZ2xlX2JyZWFrcGFkOjpFWFBMT0lUQUJJTElUWV9ISUdILAorICAgICAgICAg ICAgIEV4cGxvaXRhYmlsaXR5Rm9yKCJsaW51eF93cml0ZV90b19ub253cml0YWJsZV9tb2R1bGUu ZG1wIikpOworICAgQVNTRVJUX0VRKGdvb2dsZV9icmVha3BhZDo6RVhQTE9JVEFCSUxJVFlfSElH SCwKK0BAIC0xODIsMTAgKzE4OCwxMCBAQCBURVNUKEV4cGxvaXRhYmlsaXR5VGVzdCwgVGVzdExp bnV4RW5naW5lKSB7CisgICAgICAgICAgICAgRXhwbG9pdGFiaWxpdHlGb3IoImxpbnV4X3dyaXRl X3RvX291dHNpZGVfbW9kdWxlX3ZpYV9tYXRoLmRtcCIpKTsKKyAgIEFTU0VSVF9FUShnb29nbGVf YnJlYWtwYWQ6OkVYUExPSVRBQklMSVRZX0lOVEVSRVNUSU5HLAorICAgICAgICAgICAgIEV4cGxv aXRhYmlsaXR5Rm9yKCJsaW51eF93cml0ZV90b191bmRlcl80ay5kbXAiKSk7CistI2VuZGlmICAv LyBfV0lOMzIKKysjZW5kaWYgIC8vICFkZWZpbmVkKF9XSU4zMikgJiYgKCFkZWZpbmVkKF9faTM4 NikgJiYgIWRlZmluZWQoX194ODZfNjQpKQorIH0KKyAKKy0jaWZuZGVmIF9XSU4zMgorKyNpZiAh ZGVmaW5lZChfV0lOMzIpICYmIChkZWZpbmVkKF9faTM4NikgfHwgZGVmaW5lZChfX3g4Nl82NCkp CisgVEVTVChFeHBsb2l0YWJpbGl0eUxpbnV4VXRpbHNUZXN0LCBEaXNhc3NlbWJsZUJ5dGVzVGVz dCkgeworICAgQVNTRVJUX0ZBTFNFKEV4cGxvaXRhYmlsaXR5TGludXhUZXN0OjpEaXNhc3NlbWJs ZUJ5dGVzKCIiLCBOVUxMLCA1LCBOVUxMKSk7CisgICB1aW50OF90IGJ5dGVzWzZdID0gezB4Yzcs IDB4MCwgMHg1LCAweDAsIDB4MCwgMHgwfTsKK0BAIC0zMDEsNiArMzA3LDcgQEAgVEVTVChFeHBs b2l0YWJpbGl0eUxpbnV4VXRpbHNUZXN0LCBDYWxjdWxhdGVBZGRyZXNzVGVzdCkgeworICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnRl eHQsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgJndyaXRlX2FkZHJlc3MpKTsKKyB9CistI2VuZGlmICAvLyBfV0lOMzIKKysjZW5kaWYg IC8vICFkZWZpbmVkKF9XSU4zMikgJiYgKGRlZmluZWQoX19pMzg2KSB8fCBkZWZpbmVkKF9feDg2 XzY0KSkKKysKKyAKKyB9ICAvLyBuYW1lc3BhY2UKK2RpZmYgLS1naXQgYS9zcmMvM3JkcGFydHkv Y2hyb21pdW0vdGhpcmRfcGFydHkvYnJlYWtwYWQvYnJlYWtwYWQvc3JjL3Rvb2xzL2xpbnV4L21k MmNvcmUvbWluaWR1bXAtMi1jb3JlLmNjIGIvc3JjLzNyZHBhcnR5L2Nocm9taXVtL3RoaXJkX3Bh cnR5L2JyZWFrcGFkL2JyZWFrcGFkL3NyYy90b29scy9saW51eC9tZDJjb3JlL21pbmlkdW1wLTIt Y29yZS5jYworaW5kZXggOTQxNTg2ZTlmLi40OWNkYzNmYzIgMTAwNjQ0CistLS0gYS9zcmMvM3Jk cGFydHkvY2hyb21pdW0vdGhpcmRfcGFydHkvYnJlYWtwYWQvYnJlYWtwYWQvc3JjL3Rvb2xzL2xp bnV4L21kMmNvcmUvbWluaWR1bXAtMi1jb3JlLmNjCisrKysgYi9zcmMvM3JkcGFydHkvY2hyb21p dW0vdGhpcmRfcGFydHkvYnJlYWtwYWQvYnJlYWtwYWQvc3JjL3Rvb2xzL2xpbnV4L21kMmNvcmUv bWluaWR1bXAtMi1jb3JlLmNjCitAQCAtNzYsNiArNzYsOCBAQAorICAgI2RlZmluZSBFTEZfQVJD SCAgRU1fTUlQUworICNlbGlmIGRlZmluZWQoX19hYXJjaDY0X18pCisgICAjZGVmaW5lIEVMRl9B UkNIICBFTV9BQVJDSDY0CisrI2VsaWYgZGVmaW5lZChfX3Bvd2VycGM2NF9fKQorKyAgI2RlZmlu ZSBFTEZfQVJDSCAgRU1fUFBDNjQKKyAjZW5kaWYKKyAKKyAjaWYgZGVmaW5lZChfX2FybV9fKQor QEAgLTg2LDYgKzg4LDggQEAgdHlwZWRlZiB1c2VyX3JlZ3MgdXNlcl9yZWdzX3N0cnVjdDsKKyAj ZWxpZiBkZWZpbmVkIChfX21pcHNfXykKKyAvLyBUaGlzIGZpbGUtbG9jYWwgdHlwZWRlZiBzaW1w bGlmaWVzIHRoZSBzb3VyY2UgY29kZS4KKyB0eXBlZGVmIGdyZWdzZXRfdCB1c2VyX3JlZ3Nfc3Ry dWN0OworKyNlbGlmIGRlZmluZWQoX19wb3dlcnBjNjRfXykKKyt0eXBlZGVmIHN0cnVjdCBwdF9y ZWdzIHVzZXJfcmVnc19zdHJ1Y3Q7CisgI2VuZGlmCisgCisgdXNpbmcgZ29vZ2xlX2JyZWFrcGFk OjpNRFR5cGVIZWxwZXI7CitAQCAtMzIwLDYgKzMyNCw5IEBAIHN0cnVjdCBDcmFzaGVkUHJvY2Vz cyB7CisgI2VuZGlmCisgI2lmIGRlZmluZWQoX19hYXJjaDY0X18pCisgICAgIHVzZXJfZnBzaW1k X3N0cnVjdCBmcHJlZ3M7CisrI2VuZGlmCisrI2lmIGRlZmluZWQoX19wb3dlcnBjNjRfXykKKysg ICAgbWNvbnRleHRfdCBtY29udGV4dDsKKyAjZW5kaWYKKyAgICAgdWludHB0cl90IHN0YWNrX2Fk ZHI7CisgICAgIGNvbnN0IHVpbnQ4X3QqIHN0YWNrOworQEAgLTUzNCw2ICs1NDEsMzggQEAgUGFy c2VUaHJlYWRSZWdpc3RlcnMoQ3Jhc2hlZFByb2Nlc3M6OlRocmVhZCogdGhyZWFkLAorICAgdGhy ZWFkLT5tY29udGV4dC5mcGNfZWlyID0gcmF3cmVncy0+ZmxvYXRfc2F2ZS5maXI7CisgI2VuZGlm CisgfQorKyNlbGlmIGRlZmluZWQoX19wb3dlcnBjNjRfXykKKytzdGF0aWMgdm9pZAorK1BhcnNl VGhyZWFkUmVnaXN0ZXJzKENyYXNoZWRQcm9jZXNzOjpUaHJlYWQqIHRocmVhZCwKKysgICAgICAg ICAgICAgICAgICAgICBjb25zdCBNaW5pZHVtcE1lbW9yeVJhbmdlJiByYW5nZSkgeworKyAgY29u c3QgTURSYXdDb250ZXh0UFBDNjQqIHJhd3JlZ3MgPSByYW5nZS5HZXREYXRhPE1EUmF3Q29udGV4 dFBQQzY0PigwKTsKKysKKysgIGZvciAoaW50IGkgPSAwOyBpIDwgTURfQ09OVEVYVF9QUEM2NF9H UFJfQ09VTlQ7IGkrKykKKysgICAgdGhyZWFkLT5tY29udGV4dC5ncF9yZWdzW2ldID0gcmF3cmVn cy0+Z3ByW2ldOworKworKyAgdGhyZWFkLT5tY29udGV4dC5ncF9yZWdzW1BUX0xOS10gPSByYXdy ZWdzLT5scjsKKysgIHRocmVhZC0+bWNvbnRleHQuZ3BfcmVnc1tQVF9OSVBdID0gcmF3cmVncy0+ c3JyMDsKKysgIHRocmVhZC0+bWNvbnRleHQuZ3BfcmVnc1tQVF9NU1JdID0gcmF3cmVncy0+c3Jy MTsKKysgIHRocmVhZC0+bWNvbnRleHQuZ3BfcmVnc1tQVF9DQ1JdID0gcmF3cmVncy0+Y3I7Cisr ICB0aHJlYWQtPm1jb250ZXh0LmdwX3JlZ3NbUFRfWEVSXSA9IHJhd3JlZ3MtPnhlcjsKKysgIHRo cmVhZC0+bWNvbnRleHQuZ3BfcmVnc1tQVF9DVFJdID0gcmF3cmVncy0+Y3RyOworKyAgdGhyZWFk LT5tY29udGV4dC52X3JlZ3MtPnZyc2F2ZSA9IHJhd3JlZ3MtPnZyc2F2ZTsKKysKKysgIGZvciAo aW50IGkgPSAwOyBpIDwgTURfRkxPQVRJTkdTQVZFQVJFQV9QUENfRlBSX0NPVU5UOyBpKyspCisr ICAgICAgdGhyZWFkLT5tY29udGV4dC5mcF9yZWdzW2ldID0gcmF3cmVncy0+ZmxvYXRfc2F2ZS5m cHJlZ3NbaV07CisrCisrICB0aHJlYWQtPm1jb250ZXh0LmZwX3JlZ3NbTkZQUkVHLTFdID0gcmF3 cmVncy0+ZmxvYXRfc2F2ZS5mcHNjcjsKKysKKysgIGZvciAoaW50IGkgPSAwOyBpIDwgTURfVkVD VE9SU0FWRUFSRUFfUFBDX1ZSX0NPVU5UOyBpKyspIHsKKysgICAgICB0aHJlYWQtPm1jb250ZXh0 LnZfcmVncy0+dnJyZWdzW2ldWzBdID0gcmF3cmVncy0+dmVjdG9yX3NhdmUuc2F2ZV92cltpXS5o aWdoID4+IDMyOworKyAgICAgIHRocmVhZC0+bWNvbnRleHQudl9yZWdzLT52cnJlZ3NbaV1bMV0g PSByYXdyZWdzLT52ZWN0b3Jfc2F2ZS5zYXZlX3ZyW2ldLmhpZ2g7CisrICAgICAgdGhyZWFkLT5t Y29udGV4dC52X3JlZ3MtPnZycmVnc1tpXVsyXSA9IHJhd3JlZ3MtPnZlY3Rvcl9zYXZlLnNhdmVf dnJbaV0ubG93ID4+IDMyOworKyAgICAgIHRocmVhZC0+bWNvbnRleHQudl9yZWdzLT52cnJlZ3Nb aV1bM10gPSByYXdyZWdzLT52ZWN0b3Jfc2F2ZS5zYXZlX3ZyW2ldLmxvdzsKKysgIH0KKysKKysg IHRocmVhZC0+bWNvbnRleHQudl9yZWdzLT52c2NyLnZzY3Jfd29yZCA9IHJhd3JlZ3MtPnZlY3Rv cl9zYXZlLnNhdmVfdnNjci5sb3cgJiAweEZGRkZGRkZGOworK30KKysKKyAjZWxzZQorICNlcnJv ciAiVGhpcyBjb2RlIGhhcyBub3QgYmVlbiBwb3J0ZWQgdG8geW91ciBwbGF0Zm9ybSB5ZXQiCisg I2VuZGlmCitAQCAtNjIyLDYgKzY2MSwxMiBAQCBQYXJzZVN5c3RlbUluZm8oY29uc3QgT3B0aW9u cyYgb3B0aW9ucywgQ3Jhc2hlZFByb2Nlc3MqIGNyYXNoaW5mbywKKyAjIGVsc2UKKyAjICBlcnJv ciAiVGhpcyBtaXBzIEFCSSBpcyBjdXJyZW50bHkgbm90IHN1cHBvcnRlZCAobjMyKSIKKyAjIGVu ZGlmCisrI2VsaWYgZGVmaW5lZChfX3Bvd2VycGM2NF9fKQorKyAgaWYgKHN5c2luZm8tPnByb2Nl c3Nvcl9hcmNoaXRlY3R1cmUgIT0gTURfQ1BVX0FSQ0hJVEVDVFVSRV9QUEM2NCkgeworKyAgICBm cHJpbnRmKHN0ZGVyciwKKysgICAgICAgICAgICAiVGhpcyB2ZXJzaW9uIG9mIG1pbmlkdW1wLTIt Y29yZSBvbmx5IHN1cHBvcnRzIFBQQzY0LlxuIik7CisrICAgIGV4aXQoMSk7CisrICB9CisgI2Vs c2UKKyAjZXJyb3IgIlRoaXMgY29kZSBoYXMgbm90IGJlZW4gcG9ydGVkIHRvIHlvdXIgcGxhdGZv cm0geWV0IgorICNlbmRpZgorZGlmZiAtLWdpdCBhL3NyYy8zcmRwYXJ0eS9jaHJvbWl1bS90aGly ZF9wYXJ0eS9jcmFzaHBhZC9jcmFzaHBhZC9DT05UUklCVVRPUlMgYi9zcmMvM3JkcGFydHkvY2hy b21pdW0vdGhpcmRfcGFydHkvY3Jhc2hwYWQvY3Jhc2hwYWQvQ09OVFJJQlVUT1JTCitpbmRleCA4 NzI0YjdmMzIuLjhlMjk0MjRlZiAxMDA2NDQKKy0tLSBhL3NyYy8zcmRwYXJ0eS9jaHJvbWl1bS90 aGlyZF9wYXJ0eS9jcmFzaHBhZC9jcmFzaHBhZC9DT05UUklCVVRPUlMKKysrKyBiL3NyYy8zcmRw YXJ0eS9jaHJvbWl1bS90aGlyZF9wYXJ0eS9jcmFzaHBhZC9jcmFzaHBhZC9DT05UUklCVVRPUlMK K0BAIC0xMywzICsxMyw0IEBAIE1hcmsgTWVudG92YWkgPG1hcmtAY2hyb21pdW0ub3JnPgorIFJv YmVydCBTZXNlayA8cnNlc2VrQGNocm9taXVtLm9yZz4KKyBTY290dCBHcmFoYW0gPHNjb3R0bWdA Y2hyb21pdW0ub3JnPgorIEpvc2h1YSBQZXJhemEgPGpwZXJhemFAY2hyb21pdW0ub3JnPgorK1No YXduIEFuYXN0YXNpbyA8c2hhd25AYW5hc3Rhcy5pbz4KK2RpZmYgLS1naXQgYS9zcmMvM3JkcGFy dHkvY2hyb21pdW0vdGhpcmRfcGFydHkvY3Jhc2hwYWQvY3Jhc2hwYWQvY29tcGF0L2xpbnV4L3N5 cy91c2VyLmggYi9zcmMvM3JkcGFydHkvY2hyb21pdW0vdGhpcmRfcGFydHkvY3Jhc2hwYWQvY3Jh c2hwYWQvY29tcGF0L2xpbnV4L3N5cy91c2VyLmgKK2luZGV4IDZlZDc3YTk4ZS4uMWZkODM0Njlh IDEwMDY0NAorLS0tIGEvc3JjLzNyZHBhcnR5L2Nocm9taXVtL3RoaXJkX3BhcnR5L2NyYXNocGFk L2NyYXNocGFkL2NvbXBhdC9saW51eC9zeXMvdXNlci5oCisrKysgYi9zcmMvM3JkcGFydHkvY2hy b21pdW0vdGhpcmRfcGFydHkvY3Jhc2hwYWQvY3Jhc2hwYWQvY29tcGF0L2xpbnV4L3N5cy91c2Vy LmgKK0BAIC0xNSw2ICsxNSw3IEBACisgI2lmbmRlZiBDUkFTSFBBRF9DT01QQVRfTElOVVhfU1lT X1VTRVJfSF8KKyAjZGVmaW5lIENSQVNIUEFEX0NPTVBBVF9MSU5VWF9TWVNfVVNFUl9IXworIAor KyNpbmNsdWRlIDxjc3RkZGVmPgorICNpbmNsdWRlX25leHQgPHN5cy91c2VyLmg+CisgCisgI2lu Y2x1ZGUgPGZlYXR1cmVzLmg+CitkaWZmIC0tZ2l0IGEvc3JjLzNyZHBhcnR5L2Nocm9taXVtL3Ro aXJkX3BhcnR5L2NyYXNocGFkL2NyYXNocGFkL21pbmlkdW1wL21pbmlkdW1wX2NvbnRleHQuaCBi L3NyYy8zcmRwYXJ0eS9jaHJvbWl1bS90aGlyZF9wYXJ0eS9jcmFzaHBhZC9jcmFzaHBhZC9taW5p ZHVtcC9taW5pZHVtcF9jb250ZXh0LmgKK2luZGV4IDNhM2U2MDNjYi4uMzExOGQ5ZTlmIDEwMDY0 NAorLS0tIGEvc3JjLzNyZHBhcnR5L2Nocm9taXVtL3RoaXJkX3BhcnR5L2NyYXNocGFkL2NyYXNo cGFkL21pbmlkdW1wL21pbmlkdW1wX2NvbnRleHQuaAorKysrIGIvc3JjLzNyZHBhcnR5L2Nocm9t aXVtL3RoaXJkX3BhcnR5L2NyYXNocGFkL2NyYXNocGFkL21pbmlkdW1wL21pbmlkdW1wX2NvbnRl eHQuaAorQEAgLTU5Miw2ICs1OTIsNzAgQEAgc3RydWN0IE1pbmlkdW1wQ29udGV4dE1JUFM2NCB7 CisgICB1aW50NjRfdCBmaXI7CisgfTsKKyAKKysvLyEgXGJyaWVmIHBwYzY0LXNwZWNpZmljIGZs YWdzIGZvciBNaW5pZHVtcFBQQzY0Ojpjb250ZXh0X2ZsYWdzCisrLy8hIEJhc2VkIG9uIG1pbmlk dW1wX2NwdV9wcGM2NC5oIGZyb20gYnJlYWtwYWQKKytlbnVtIE1pbmlkdW1wQ29udGV4dFBQQzY0 RmxhZ3MgOiB1aW50MzJfdCB7CisrICAvLyEgXGJyaWVmIElkZW50aWZpZXMgdGhlIGNvbnRleHQg YXMgUFBDNjQuCisrICBrTWluaWR1bXBDb250ZXh0UFBDNjQgPSAweDAxMDAwMDAwLAorKworKyAg Ly8hIFxicmllZiBJbmRpY2F0ZXMgdGhlIHZhbGlkaXR5IG9mIGdlbmVyYWwgcHVycG9zZSByZWdp c3RlcnMuCisrICAvLyEKKysgIC8vISBSZWdpc3RlcnMgYHIwYC1gcjMxYCwgYG5pcGAsIGBtc3Jg LCBgbHJgLCBldGMuIGFyZSB2YWxpZC4KKysgIGtNaW5pZHVtcENvbnRleHRQUEM2NEJhc2UgPSBr TWluaWR1bXBDb250ZXh0UFBDNjQgfCAweDAwMDAwMDAxLAorKworKyAgLy8hIFxicmllZiBJbmRp Y2F0ZXMgdGhlIHZhbGlkaXR5IG9mIGZsb2F0aW5nIHBvaW50IHJlZ2lzdGVycy4KKysgIC8vIQor KyAgLy8hIFJlZ2lzdGVycyBgZnAwYC1gZnAzMWAsIGBmcHNjcmAgYXJlIHZhbGlkLgorKyAga01p bmlkdW1wQ29udGV4dFBQQzY0RmxvYXRpbmcgPSBrTWluaWR1bXBDb250ZXh0UFBDNjQgfCAweDAw MDAwMDA4LAorKworKyAgLy8hIFxicmllZiBJbmRpY2F0ZXMgdGhlIHZhbGlkaXR5IG9mIEFsdGl2 ZWMvVk1YIHJlZ2lzdGVycy4KKysgIC8vIQorKyAgLy8hIFJlZ2lzdGVycyBgdjBgLWB2MzFgLCBg dnNjcmAsIGB2cnNhdmVgLgorKyAga01pbmlkdW1wQ29udGV4dFBQQzY0VmVjdG9yID0ga01pbmlk dW1wQ29udGV4dFBQQzY0IHwgMHgwMDAwMDAyMCwKKysKKysgIC8vISBcYnJpZWYgSW5kaWNhdGVz IHRoZSB2YWxpZGl0eSBvZiBhbGwgcmVnaXN0ZXJzCisrICBrTWluaWR1bXBDb250ZXh0UFBDNjRB bGwgPSBrTWluaWR1bXBDb250ZXh0UFBDNjRCYXNlICAgICB8CisrICAgICAgICAgICAgICAgICAg ICAgICAgICAgICBrTWluaWR1bXBDb250ZXh0UFBDNjRGbG9hdGluZyB8CisrICAgICAgICAgICAg ICAgICAgICAgICAgICAgICBrTWluaWR1bXBDb250ZXh0UFBDNjRWZWN0b3IKKyt9OworKworKy8v ISBcYnJpZWYgQSBQUEM2NCBDUFUgY29udGV4dCBjYXJyaWVkIGluIGEgbWluaWR1bXAgZmlsZS4K KysvLyEgQmFzZWQgb24gbWluaWR1bXBfY3B1X3BwYzY0LmggZnJvbSBicmVha3BhZC4KKytzdHJ1 Y3QgTWluaWR1bXBDb250ZXh0UFBDNjQgeworKyAgdWludDY0X3QgY29udGV4dF9mbGFnczsKKysK KysgIC8vISBcYnJpZWYgR2VuZXJhbCBwdXJwb3NlIHJlZ2lzdGVycy4KKysgIHVpbnQ2NF90IG5p cDsKKysgIHVpbnQ2NF90IG1zcjsKKysgIHVpbnQ2NF90IHJlZ3NbMzJdOworKyAgdWludDY0X3Qg Y2NyOworKyAgdWludDY0X3QgeGVyOworKyAgdWludDY0X3QgbG5rOworKyAgdWludDY0X3QgY3Ry OworKworKyAgLy8hIFxicmllZiBGbG9hdGluZyBwb2ludCByZWdpc3RlcnMuCisrICBkb3VibGUg ZnByZWdzWzMyXTsKKysKKysgIC8vISBcYnJpZWYgRlBVIHN0YXR1cyByZWdpc3Rlci4KKysgIGRv dWJsZSBmcHNjcjsKKysKKysgIC8vISBcYnJpZWYgQWx0aXZlYy9WTVggdmVjdG9yIHJlZ2lzdGVy cy4KKysgIHN0cnVjdCB7CisrICAgICAgLy8hIFxicmllZiBWZWN0b3IgcmVnaXN0ZXJzIGFyZSAx MjhiaXRzLgorKyAgICAgIHVpbnQxMjhfc3RydWN0IHNhdmVfdnJbMzJdOworKyAgICAgIHVpbnQx Mjhfc3RydWN0IHNhdmVfdnNjcjsKKysKKysgICAgICAvLyEgXGJyaWVmIFBhZGRpbmcgaW5jbHVk ZWQgZm9yIGJyZWFrcGFkIGNvbXBhdGliaWx0aXkuCisrICAgICAgdWludDMyX3Qgc2F2ZV9wYWQ1 WzRdOworKworKyAgICAgIC8vISBcYnJpZWYgVlJTQVZFIHJlZ2lzdGVyLgorKyAgICAgIHVpbnQz Ml90IHNhdmVfdnJzYXZlOworKworKyAgICAgIC8vISBcYnJpZWYgUGFkZGluZyBpbmNsdWRlZCBm b3IgYnJlYWtwYWQgY29tcGF0aWJpbHRpeS4KKysgICAgICB1aW50MzJfdCBzYXZlX3BhZDZbN107 CisrICB9IHZyZWdzOworK307CisrCisgfSAgLy8gbmFtZXNwYWNlIGNyYXNocGFkCisgCisgI2Vu ZGlmICAvLyBDUkFTSFBBRF9NSU5JRFVNUF9NSU5JRFVNUF9DT05URVhUX0hfCitkaWZmIC0tZ2l0 IGEvc3JjLzNyZHBhcnR5L2Nocm9taXVtL3RoaXJkX3BhcnR5L2NyYXNocGFkL2NyYXNocGFkL21p bmlkdW1wL21pbmlkdW1wX2NvbnRleHRfd3JpdGVyLmNjIGIvc3JjLzNyZHBhcnR5L2Nocm9taXVt L3RoaXJkX3BhcnR5L2NyYXNocGFkL2NyYXNocGFkL21pbmlkdW1wL21pbmlkdW1wX2NvbnRleHRf d3JpdGVyLmNjCitpbmRleCBkN2U1M2E0OTMuLmQ4OWViOWUwMSAxMDA2NDQKKy0tLSBhL3NyYy8z cmRwYXJ0eS9jaHJvbWl1bS90aGlyZF9wYXJ0eS9jcmFzaHBhZC9jcmFzaHBhZC9taW5pZHVtcC9t aW5pZHVtcF9jb250ZXh0X3dyaXRlci5jYworKysrIGIvc3JjLzNyZHBhcnR5L2Nocm9taXVtL3Ro aXJkX3BhcnR5L2NyYXNocGFkL2NyYXNocGFkL21pbmlkdW1wL21pbmlkdW1wX2NvbnRleHRfd3Jp dGVyLmNjCitAQCAtMTAxLDYgKzEwMSwxMyBAQCBNaW5pZHVtcENvbnRleHRXcml0ZXI6OkNyZWF0 ZUZyb21TbmFwc2hvdChjb25zdCBDUFVDb250ZXh0KiBjb250ZXh0X3NuYXBzaG90KSB7CisgICAg ICAgYnJlYWs7CisgICAgIH0KKyAKKysgICAgY2FzZSBrQ1BVQXJjaGl0ZWN0dXJlUFBDNjQ6IHsK KysgICAgICBjb250ZXh0ID0gc3RkOjptYWtlX3VuaXF1ZTxNaW5pZHVtcENvbnRleHRQUEM2NFdy aXRlcj4oKTsKKysgICAgICByZWludGVycHJldF9jYXN0PE1pbmlkdW1wQ29udGV4dFBQQzY0V3Jp dGVyKj4oY29udGV4dC5nZXQoKSkKKysgICAgICAgICAgLT5Jbml0YWxpemVGcm9tU25hcHNob3Qo Y29udGV4dF9zbmFwc2hvdC0+cHBjNjQpOworKyAgICAgIGJyZWFrOworKyAgICB9CisrCisgICAg IGRlZmF1bHQ6IHsKKyAgICAgICBMT0coRVJST1IpIDw8ICJ1bmtub3duIGNvbnRleHQgYXJjaGl0 ZWN0dXJlICIKKyAgICAgICAgICAgICAgICAgIDw8IGNvbnRleHRfc25hcHNob3QtPmFyY2hpdGVj dHVyZTsKK0BAIC00NTMsNCArNDYwLDQ3IEBAIHNpemVfdCBNaW5pZHVtcENvbnRleHRNSVBTNjRX cml0ZXI6OkNvbnRleHRTaXplKCkgY29uc3QgeworICAgcmV0dXJuIHNpemVvZihjb250ZXh0Xyk7 CisgfQorIAorK01pbmlkdW1wQ29udGV4dFBQQzY0V3JpdGVyOjpNaW5pZHVtcENvbnRleHRQUEM2 NFdyaXRlcigpCisrICA6IE1pbmlkdW1wQ29udGV4dFdyaXRlcigpLCBjb250ZXh0XygpIHsKKysg ICAgY29udGV4dF8uY29udGV4dF9mbGFncyA9IGtNaW5pZHVtcENvbnRleHRQUEM2NDsKKyt9Cisr CisrTWluaWR1bXBDb250ZXh0UFBDNjRXcml0ZXI6On5NaW5pZHVtcENvbnRleHRQUEM2NFdyaXRl cigpID0gZGVmYXVsdDsKKysKKyt2b2lkIE1pbmlkdW1wQ29udGV4dFBQQzY0V3JpdGVyOjpJbml0 YWxpemVGcm9tU25hcHNob3QoCisrICAgIGNvbnN0IENQVUNvbnRleHRQUEM2NCogY29udGV4dF9z bmFwc2hvdCkgeworKyAgRENIRUNLX0VRKHN0YXRlKCksIGtTdGF0ZU11dGFibGUpOworKyAgRENI RUNLX0VRKGNvbnRleHRfLmNvbnRleHRfZmxhZ3MsIGtNaW5pZHVtcENvbnRleHRQUEM2NCk7Cisr CisrICBjb250ZXh0Xy5jb250ZXh0X2ZsYWdzID0ga01pbmlkdW1wQ29udGV4dFBQQzY0QWxsOwor KworKyAgbWVtY3B5KGNvbnRleHRfLnJlZ3MsIGNvbnRleHRfc25hcHNob3QtPnJlZ3MsIHNpemVv Zihjb250ZXh0Xy5yZWdzKSk7CisrICBjb250ZXh0Xy5uaXAgPSBjb250ZXh0X3NuYXBzaG90LT5u aXA7CisrICBjb250ZXh0Xy5tc3IgPSBjb250ZXh0X3NuYXBzaG90LT5tc3I7CisrICBjb250ZXh0 Xy5jY3IgPSBjb250ZXh0X3NuYXBzaG90LT5jY3I7CisrICBjb250ZXh0Xy54ZXIgPSBjb250ZXh0 X3NuYXBzaG90LT54ZXI7CisrICBjb250ZXh0Xy5sbmsgPSBjb250ZXh0X3NuYXBzaG90LT5sbms7 CisrICBjb250ZXh0Xy5jdHIgPSBjb250ZXh0X3NuYXBzaG90LT5jdHI7CisrCisrICBtZW1jcHko Y29udGV4dF8uZnByZWdzLCBjb250ZXh0X3NuYXBzaG90LT5mcHJlZ3MsIHNpemVvZihjb250ZXh0 Xy5mcHJlZ3MpKTsKKysgIGNvbnRleHRfLmZwc2NyID0gY29udGV4dF9zbmFwc2hvdC0+ZnBzY3I7 CisrCisrICBtZW1jcHkoY29udGV4dF8udnJlZ3Muc2F2ZV92ciwgY29udGV4dF9zbmFwc2hvdC0+ dnJlZ3Muc2F2ZV92ciwKKysgICAgICAgICBzaXplb2YoY29udGV4dF8udnJlZ3Muc2F2ZV92cikp OworKyAgbWVtY3B5KCZjb250ZXh0Xy52cmVncy5zYXZlX3ZzY3IsICZjb250ZXh0X3NuYXBzaG90 LT52cmVncy5zYXZlX3ZzY3IsCisrICAgICAgICAgc2l6ZW9mKGNvbnRleHRfLnZyZWdzLnNhdmVf dnNjcikpOworKyAgY29udGV4dF8udnJlZ3Muc2F2ZV92cnNhdmUgPSBjb250ZXh0X3NuYXBzaG90 LT52cmVncy5zYXZlX3Zyc2F2ZTsKKyt9CisrCisrYm9vbCBNaW5pZHVtcENvbnRleHRQUEM2NFdy aXRlcjo6V3JpdGVPYmplY3QoCisrICAgIEZpbGVXcml0ZXJJbnRlcmZhY2UqIGZpbGVfd3JpdGVy KSB7CisrICBEQ0hFQ0tfRVEoc3RhdGUoKSwga1N0YXRlV3JpdGFibGUpOworKyAgcmV0dXJuIGZp bGVfd3JpdGVyLT5Xcml0ZSgmY29udGV4dF8sIHNpemVvZihjb250ZXh0XykpOworK30KKysKKytz aXplX3QgTWluaWR1bXBDb250ZXh0UFBDNjRXcml0ZXI6OkNvbnRleHRTaXplKCkgY29uc3Qgewor KyAgRENIRUNLX0dFKHN0YXRlKCksIGtTdGF0ZUZyb3plbik7CisrICByZXR1cm4gc2l6ZW9mKGNv bnRleHRfKTsKKyt9CisrCisgfSAgLy8gbmFtZXNwYWNlIGNyYXNocGFkCitkaWZmIC0tZ2l0IGEv c3JjLzNyZHBhcnR5L2Nocm9taXVtL3RoaXJkX3BhcnR5L2NyYXNocGFkL2NyYXNocGFkL21pbmlk dW1wL21pbmlkdW1wX2NvbnRleHRfd3JpdGVyLmggYi9zcmMvM3JkcGFydHkvY2hyb21pdW0vdGhp cmRfcGFydHkvY3Jhc2hwYWQvY3Jhc2hwYWQvbWluaWR1bXAvbWluaWR1bXBfY29udGV4dF93cml0 ZXIuaAoraW5kZXggZDRhYjkzNmVlLi4xZDIyZmM1OWMgMTAwNjQ0CistLS0gYS9zcmMvM3JkcGFy dHkvY2hyb21pdW0vdGhpcmRfcGFydHkvY3Jhc2hwYWQvY3Jhc2hwYWQvbWluaWR1bXAvbWluaWR1 bXBfY29udGV4dF93cml0ZXIuaAorKysrIGIvc3JjLzNyZHBhcnR5L2Nocm9taXVtL3RoaXJkX3Bh cnR5L2NyYXNocGFkL2NyYXNocGFkL21pbmlkdW1wL21pbmlkdW1wX2NvbnRleHRfd3JpdGVyLmgK K0BAIC0zMTUsNiArMzE1LDQ1IEBAIGNsYXNzIE1pbmlkdW1wQ29udGV4dE1JUFM2NFdyaXRlciBm aW5hbCA6IHB1YmxpYyBNaW5pZHVtcENvbnRleHRXcml0ZXIgeworICAgRElTQUxMT1dfQ09QWV9B TkRfQVNTSUdOKE1pbmlkdW1wQ29udGV4dE1JUFM2NFdyaXRlcik7CisgfTsKKyAKKytjbGFzcyBN aW5pZHVtcENvbnRleHRQUEM2NFdyaXRlciBmaW5hbCA6IHB1YmxpYyBNaW5pZHVtcENvbnRleHRX cml0ZXIgeworKyBwdWJsaWM6CisrICBNaW5pZHVtcENvbnRleHRQUEM2NFdyaXRlcigpOworKyAg fk1pbmlkdW1wQ29udGV4dFBQQzY0V3JpdGVyKCkgb3ZlcnJpZGU7CisrCisrICAvLyEgXGJyaWVm IEluaXRhbGl6ZXMgdGhlIE1pbmlkdW1wQ29udGV4dFBQQzY0IGJhc2VkIG9uIFxhIGNvbnRleHRf c25hcHNob3QuCisrICAvLyEKKysgIC8vISBccGFyYW1baW5dIGNvbnRleHRfc25hcHNob3QgVGhl IGNvbnRleHQgc25hcHNob3QgdG8gdXNlIGFzIHNvdXJjZSBkYXRhLgorKyAgLy8hCisrICAvLyEg XG5vdGUgVmFsaWQgaW4gI2tTdGF0ZU11dGFibGUuIE5vIG11dGF0aW9uIG9mIGNvbnRleHQoKSBt YXkgYmUgZG9uZSBiZWZvcmUKKysgIC8vISAgICAgY2FsbGluZyB0aGlzIG1ldGhvZCwgYW5kIGl0 IGlzIG5vdCBub3JtYWxseSBuZWNlc3NhcnkgdG8gYWx0ZXIKKysgIC8vISAgICAgY29udGV4dCgp IGFmdGVyIGNhbGxpbmcgdGhpcyBtZXRob2QuCisrICB2b2lkIEluaXRhbGl6ZUZyb21TbmFwc2hv dChjb25zdCBDUFVDb250ZXh0UFBDNjQqIGNvbnRleHRfc25hcHNob3QpOworKworKyAgLy8hIFxi cmllZiBSZXR1cm5zIGEgcG9pbnRlciB0byB0aGUgY29udGV4dCBzdHJ1Y3R1cmUgdGhhdCB0aGlz IG9iamVjdCB3aWxsCisrICAvLyEgICAgIHdyaXRlLgorKyAgLy8hCisrICAvLyEgXGF0dGVudGlv biBUaGlzIHJldHVybnMgYSBub24tYGNvbnN0YCBwb2ludGVyIHRvIHRoaXMgb2JqZWN04oCZcyBw cml2YXRlCisrICAvLyEgICAgIGRhdGEgc28gdGhhdCBhIGNhbGxlciBjYW4gcG9wdWxhdGUgdGhl IGNvbnRleHQgc3RydWN0dXJlIGRpcmVjdGx5LgorKyAgLy8hICAgICBUaGlzIGlzIGRvbmUgYmVj YXVzZSBwcm92aWRpbmcgc2V0dGVyIGludGVyZmFjZXMgdG8gZWFjaCBmaWVsZCBpbiB0aGUKKysg IC8vISAgICAgY29udGV4dCBzdHJ1Y3R1cmUgd291bGQgYmUgdW53aWVsZHkgYW5kIGN1bWJlcnNv bWUuIENhcmUgbXVzdCBiZSB0YWtlbgorKyAgLy8hICAgICB0byBwb3B1bGF0ZSB0aGUgY29udGV4 dCBzdHJ1Y3R1cmUgY29ycmVjdGx5LiBUaGUgY29udGV4dCBzdHJ1Y3R1cmUKKysgIC8vISAgICAg bXVzdCBvbmx5IGJlIG1vZGlmaWVkIHdoaWxlIHRoaXMgb2JqZWN0IGlzIGluIHRoZSAja1N0YXRl TXV0YWJsZQorKyAgLy8hICAgICBzdGF0ZS4KKysgIE1pbmlkdW1wQ29udGV4dFBQQzY0KiBjb250 ZXh0KCkgeyByZXR1cm4gJmNvbnRleHRfOyB9CisrCisrIHByb3RlY3RlZDoKKysgIC8vIE1pbmlk dW1wV3JpdGFibGU6CisrICBib29sIFdyaXRlT2JqZWN0KEZpbGVXcml0ZXJJbnRlcmZhY2UqIGZp bGVfd3JpdGVyKSBvdmVycmlkZTsKKysKKysgIC8vIE1pbmlkdW1wQ29udGV4dFdyaXRlcjoKKysg IHNpemVfdCBDb250ZXh0U2l6ZSgpIGNvbnN0IG92ZXJyaWRlOworKworKyBwcml2YXRlOgorKyAg TWluaWR1bXBDb250ZXh0UFBDNjQgY29udGV4dF87CisrCisrICBESVNBTExPV19DT1BZX0FORF9B U1NJR04oTWluaWR1bXBDb250ZXh0UFBDNjRXcml0ZXIpOworK307CisrCisgfSAgLy8gbmFtZXNw YWNlIGNyYXNocGFkCisgCisgI2VuZGlmICAvLyBDUkFTSFBBRF9NSU5JRFVNUF9NSU5JRFVNUF9D T05URVhUX1dSSVRFUl9IXworZGlmZiAtLWdpdCBhL3NyYy8zcmRwYXJ0eS9jaHJvbWl1bS90aGly ZF9wYXJ0eS9jcmFzaHBhZC9jcmFzaHBhZC9taW5pZHVtcC9taW5pZHVtcF9jb250ZXh0X3dyaXRl cl90ZXN0LmNjIGIvc3JjLzNyZHBhcnR5L2Nocm9taXVtL3RoaXJkX3BhcnR5L2NyYXNocGFkL2Ny YXNocGFkL21pbmlkdW1wL21pbmlkdW1wX2NvbnRleHRfd3JpdGVyX3Rlc3QuY2MKK2luZGV4IDMy MTZhOTA2Yi4uYTlmY2JlOWQ4IDEwMDY0NAorLS0tIGEvc3JjLzNyZHBhcnR5L2Nocm9taXVtL3Ro aXJkX3BhcnR5L2NyYXNocGFkL2NyYXNocGFkL21pbmlkdW1wL21pbmlkdW1wX2NvbnRleHRfd3Jp dGVyX3Rlc3QuY2MKKysrKyBiL3NyYy8zcmRwYXJ0eS9jaHJvbWl1bS90aGlyZF9wYXJ0eS9jcmFz aHBhZC9jcmFzaHBhZC9taW5pZHVtcC9taW5pZHVtcF9jb250ZXh0X3dyaXRlcl90ZXN0LmNjCitA QCAtMjEzLDYgKzIxMywyMSBAQCBURVNUKE1pbmlkdW1wQ29udGV4dFdyaXRlciwgTUlQUzY0X0Zy b21TbmFwc2hvdCkgeworICAgICAgIGNvbnRleHQsIEV4cGVjdE1pbmlkdW1wQ29udGV4dE1JUFM2 NCwga1NlZWQpOworIH0KKyAKKytURVNUKE1pbmlkdW1wQ29udGV4dFdyaXRlciwgUFBDNjRfWmVy b3MpIHsKKysgIEVtcHR5Q29udGV4dFRlc3Q8TWluaWR1bXBDb250ZXh0UFBDNjRXcml0ZXIsIE1p bmlkdW1wQ29udGV4dFBQQzY0PigKKysgICAgRXhwZWN0TWluaWR1bXBDb250ZXh0UFBDNjQpOwor K30KKysKKytURVNUKE1pbmlkdW1wQ29udGV4dFdyaXRlciwgUFBDNjRfRnJvbVNuYXBzaG90KSB7 CisrICBjb25zdGV4cHIgdWludDMyX3Qga1NlZWQgPSA2NDsKKysgIENQVUNvbnRleHRQUEM2NCBj b250ZXh0X3BwYzY0OworKyAgQ1BVQ29udGV4dCBjb250ZXh0OworKyAgY29udGV4dC5wcGM2NCA9 ICZjb250ZXh0X3BwYzY0OworKyAgSW5pdGlhbGl6ZUNQVUNvbnRleHRQUEM2NCgmY29udGV4dCwg a1NlZWQpOworKyAgRnJvbVNuYXBzaG90VGVzdDxNaW5pZHVtcENvbnRleHRQUEM2NFdyaXRlciwg TWluaWR1bXBDb250ZXh0UFBDNjQ+KAorKyAgICAgIGNvbnRleHQsIEV4cGVjdE1pbmlkdW1wQ29u dGV4dFBQQzY0LCBrU2VlZCk7CisrfQorKworIH0gIC8vIG5hbWVzcGFjZQorIH0gIC8vIG5hbWVz cGFjZSB0ZXN0CisgfSAgLy8gbmFtZXNwYWNlIGNyYXNocGFkCitkaWZmIC0tZ2l0IGEvc3JjLzNy ZHBhcnR5L2Nocm9taXVtL3RoaXJkX3BhcnR5L2NyYXNocGFkL2NyYXNocGFkL21pbmlkdW1wL21p bmlkdW1wX21pc2NfaW5mb193cml0ZXIuY2MgYi9zcmMvM3JkcGFydHkvY2hyb21pdW0vdGhpcmRf cGFydHkvY3Jhc2hwYWQvY3Jhc2hwYWQvbWluaWR1bXAvbWluaWR1bXBfbWlzY19pbmZvX3dyaXRl ci5jYworaW5kZXggYTEzNDA3NjA1Li45NWRjOTI1MjQgMTAwNjQ0CistLS0gYS9zcmMvM3JkcGFy dHkvY2hyb21pdW0vdGhpcmRfcGFydHkvY3Jhc2hwYWQvY3Jhc2hwYWQvbWluaWR1bXAvbWluaWR1 bXBfbWlzY19pbmZvX3dyaXRlci5jYworKysrIGIvc3JjLzNyZHBhcnR5L2Nocm9taXVtL3RoaXJk X3BhcnR5L2NyYXNocGFkL2NyYXNocGFkL21pbmlkdW1wL21pbmlkdW1wX21pc2NfaW5mb193cml0 ZXIuY2MKK0BAIC0xMjYsNiArMTI2LDggQEAgc3RkOjpzdHJpbmcgTWluaWR1bXBNaXNjSW5mb0Rl YnVnQnVpbGRTdHJpbmcoKSB7CisgICBzdGF0aWMgY29uc3RleHByIGNoYXIga0NQVVtdID0gIm1p cHMiOworICNlbGlmIGRlZmluZWQoQVJDSF9DUFVfTUlQUzY0RUwpCisgICBzdGF0aWMgY29uc3Rl eHByIGNoYXIga0NQVVtdID0gIm1pcHM2NCI7CisrI2VsaWYgZGVmaW5lZChBUkNIX0NQVV9QUEM2 NCkKKysgIHN0YXRpYyBjb25zdGV4cHIgY2hhciBrQ1BVW10gPSAicHBjNjQiOworICNlbHNlCisg I2Vycm9yIGRlZmluZSBrQ1BVIGZvciB0aGlzIENQVQorICNlbmRpZgorZGlmZiAtLWdpdCBhL3Ny Yy8zcmRwYXJ0eS9jaHJvbWl1bS90aGlyZF9wYXJ0eS9jcmFzaHBhZC9jcmFzaHBhZC9zbmFwc2hv dC9jYXB0dXJlX21lbW9yeS5jYyBiL3NyYy8zcmRwYXJ0eS9jaHJvbWl1bS90aGlyZF9wYXJ0eS9j cmFzaHBhZC9jcmFzaHBhZC9zbmFwc2hvdC9jYXB0dXJlX21lbW9yeS5jYworaW5kZXggYTUxNjI2 Y2NkLi42MWUwYjIwYTEgMTAwNjQ0CistLS0gYS9zcmMvM3JkcGFydHkvY2hyb21pdW0vdGhpcmRf cGFydHkvY3Jhc2hwYWQvY3Jhc2hwYWQvc25hcHNob3QvY2FwdHVyZV9tZW1vcnkuY2MKKysrKyBi L3NyYy8zcmRwYXJ0eS9jaHJvbWl1bS90aGlyZF9wYXJ0eS9jcmFzaHBhZC9jcmFzaHBhZC9zbmFw c2hvdC9jYXB0dXJlX21lbW9yeS5jYworQEAgLTExMSw2ICsxMTEsMTEgQEAgdm9pZCBDYXB0dXJl TWVtb3J5OjpQb2ludGVkVG9CeUNvbnRleHQoY29uc3QgQ1BVQ29udGV4dCYgY29udGV4dCwKKyAg IGZvciAoc2l6ZV90IGkgPSAwOyBpIDwgYmFzZTo6c2l6ZShjb250ZXh0Lm1pcHNlbC0+cmVncyk7 ICsraSkgeworICAgICBNYXliZUNhcHR1cmVNZW1vcnlBcm91bmQoZGVsZWdhdGUsIGNvbnRleHQu bWlwc2VsLT5yZWdzW2ldKTsKKyAgIH0KKysjZWxpZiBkZWZpbmVkKEFSQ0hfQ1BVX1BQQzY0X0ZB TUlMWSkKKysgIE1heWJlQ2FwdHVyZU1lbW9yeUFyb3VuZChkZWxlZ2F0ZSwgY29udGV4dC5wcGM2 NC0+bmlwKTsKKysgIGZvciAoc2l6ZV90IGkgPSAwOyBpIDwgYmFzZTo6c2l6ZShjb250ZXh0LnBw YzY0LT5yZWdzKTsgKytpKSB7CisrICAgIE1heWJlQ2FwdHVyZU1lbW9yeUFyb3VuZChkZWxlZ2F0 ZSwgY29udGV4dC5wcGM2NC0+cmVnc1tpXSk7CisrICB9CisgI2Vsc2UKKyAjZXJyb3IgUG9ydC4K KyAjZW5kaWYKK2RpZmYgLS1naXQgYS9zcmMvM3JkcGFydHkvY2hyb21pdW0vdGhpcmRfcGFydHkv Y3Jhc2hwYWQvY3Jhc2hwYWQvc25hcHNob3QvY3B1X2FyY2hpdGVjdHVyZS5oIGIvc3JjLzNyZHBh cnR5L2Nocm9taXVtL3RoaXJkX3BhcnR5L2NyYXNocGFkL2NyYXNocGFkL3NuYXBzaG90L2NwdV9h cmNoaXRlY3R1cmUuaAoraW5kZXggODExYTcyMDk1Li5mNGY4Mzk4MWQgMTAwNjQ0CistLS0gYS9z cmMvM3JkcGFydHkvY2hyb21pdW0vdGhpcmRfcGFydHkvY3Jhc2hwYWQvY3Jhc2hwYWQvc25hcHNo b3QvY3B1X2FyY2hpdGVjdHVyZS5oCisrKysgYi9zcmMvM3JkcGFydHkvY2hyb21pdW0vdGhpcmRf cGFydHkvY3Jhc2hwYWQvY3Jhc2hwYWQvc25hcHNob3QvY3B1X2FyY2hpdGVjdHVyZS5oCitAQCAt NDMsNyArNDMsMTAgQEAgZW51bSBDUFVBcmNoaXRlY3R1cmUgeworICAga0NQVUFyY2hpdGVjdHVy ZU1JUFNFTCwKKyAKKyAgIC8vISBcYnJpZWYgNjQtYml0IE1JUFNFTC4KKy0gIGtDUFVBcmNoaXRl Y3R1cmVNSVBTNjRFTAorKyAga0NQVUFyY2hpdGVjdHVyZU1JUFM2NEVMLAorKworKyAgLy8hIFxi cmllZiA2NC1iaXQgUFBDNjQuCisrICBrQ1BVQXJjaGl0ZWN0dXJlUFBDNjQKKyB9OworIAorIH0g IC8vIG5hbWVzcGFjZSBjcmFzaHBhZAorZGlmZiAtLWdpdCBhL3NyYy8zcmRwYXJ0eS9jaHJvbWl1 bS90aGlyZF9wYXJ0eS9jcmFzaHBhZC9jcmFzaHBhZC9zbmFwc2hvdC9jcHVfY29udGV4dC5jYyBi L3NyYy8zcmRwYXJ0eS9jaHJvbWl1bS90aGlyZF9wYXJ0eS9jcmFzaHBhZC9jcmFzaHBhZC9zbmFw c2hvdC9jcHVfY29udGV4dC5jYworaW5kZXggNmZiOGQ3ZTcxLi5iMDFmN2NhZDEgMTAwNjQ0Cist LS0gYS9zcmMvM3JkcGFydHkvY2hyb21pdW0vdGhpcmRfcGFydHkvY3Jhc2hwYWQvY3Jhc2hwYWQv c25hcHNob3QvY3B1X2NvbnRleHQuY2MKKysrKyBiL3NyYy8zcmRwYXJ0eS9jaHJvbWl1bS90aGly ZF9wYXJ0eS9jcmFzaHBhZC9jcmFzaHBhZC9zbmFwc2hvdC9jcHVfY29udGV4dC5jYworQEAgLTE2 OSw2ICsxNjksOCBAQCB1aW50NjRfdCBDUFVDb250ZXh0OjpJbnN0cnVjdGlvblBvaW50ZXIoKSBj b25zdCB7CisgICAgICAgcmV0dXJuIGFybS0+cGM7CisgICAgIGNhc2Uga0NQVUFyY2hpdGVjdHVy ZUFSTTY0OgorICAgICAgIHJldHVybiBhcm02NC0+cGM7CisrICAgIGNhc2Uga0NQVUFyY2hpdGVj dHVyZVBQQzY0OgorKyAgICAgIHJldHVybiBwcGM2NC0+bmlwOworICAgICBkZWZhdWx0OgorICAg ICAgIE5PVFJFQUNIRUQoKTsKKyAgICAgICByZXR1cm4gfjB1bGw7CitAQCAtMTg1LDYgKzE4Nyw4 IEBAIHVpbnQ2NF90IENQVUNvbnRleHQ6OlN0YWNrUG9pbnRlcigpIGNvbnN0IHsKKyAgICAgICBy ZXR1cm4gYXJtLT5zcDsKKyAgICAgY2FzZSBrQ1BVQXJjaGl0ZWN0dXJlQVJNNjQ6CisgICAgICAg cmV0dXJuIGFybTY0LT5zcDsKKysgICAgY2FzZSBrQ1BVQXJjaGl0ZWN0dXJlUFBDNjQ6CisrICAg ICAgcmV0dXJuIHBwYzY0LT5yZWdzWzFdOworICAgICBkZWZhdWx0OgorICAgICAgIE5PVFJFQUNI RUQoKTsKKyAgICAgICByZXR1cm4gfjB1bGw7CitAQCAtMTk2LDYgKzIwMCw3IEBAIGJvb2wgQ1BV Q29udGV4dDo6SXM2NEJpdCgpIGNvbnN0IHsKKyAgICAgY2FzZSBrQ1BVQXJjaGl0ZWN0dXJlWDg2 XzY0OgorICAgICBjYXNlIGtDUFVBcmNoaXRlY3R1cmVBUk02NDoKKyAgICAgY2FzZSBrQ1BVQXJj aGl0ZWN0dXJlTUlQUzY0RUw6CisrICAgIGNhc2Uga0NQVUFyY2hpdGVjdHVyZVBQQzY0OgorICAg ICAgIHJldHVybiB0cnVlOworICAgICBjYXNlIGtDUFVBcmNoaXRlY3R1cmVYODY6CisgICAgIGNh c2Uga0NQVUFyY2hpdGVjdHVyZUFSTToKK2RpZmYgLS1naXQgYS9zcmMvM3JkcGFydHkvY2hyb21p dW0vdGhpcmRfcGFydHkvY3Jhc2hwYWQvY3Jhc2hwYWQvc25hcHNob3QvY3B1X2NvbnRleHQuaCBi L3NyYy8zcmRwYXJ0eS9jaHJvbWl1bS90aGlyZF9wYXJ0eS9jcmFzaHBhZC9jcmFzaHBhZC9zbmFw c2hvdC9jcHVfY29udGV4dC5oCitpbmRleCBmYjIzYzQ2NzkuLmVlYmVkZTYzYyAxMDA2NDQKKy0t LSBhL3NyYy8zcmRwYXJ0eS9jaHJvbWl1bS90aGlyZF9wYXJ0eS9jcmFzaHBhZC9jcmFzaHBhZC9z bmFwc2hvdC9jcHVfY29udGV4dC5oCisrKysgYi9zcmMvM3JkcGFydHkvY2hyb21pdW0vdGhpcmRf cGFydHkvY3Jhc2hwYWQvY3Jhc2hwYWQvc25hcHNob3QvY3B1X2NvbnRleHQuaAorQEAgLTM1Miw2 ICszNTIsMjQgQEAgc3RydWN0IENQVUNvbnRleHRNSVBTNjQgeworICAgdWludDY0X3QgZmlyOwor IH07CisgCisrLy8hIFxicmllZiBBIGNvbnRleHQgc3RydWN0dXJlIGNhcnJ5aW5nIFBQQzY0IENQ VSBzdGF0ZS4KKytzdHJ1Y3QgQ1BVQ29udGV4dFBQQzY0IHsKKysgIHVpbnQ2NF90IG5pcDsKKysg IHVpbnQ2NF90IG1zcjsKKysgIHVpbnQ2NF90IHJlZ3NbMzJdOworKyAgdWludDY0X3QgY2NyOwor KyAgdWludDY0X3QgeGVyOworKyAgdWludDY0X3QgbG5rOworKyAgdWludDY0X3QgY3RyOworKyAg ZG91YmxlIGZwcmVnc1szMl07CisrICBkb3VibGUgZnBzY3I7CisrICBzdHJ1Y3QgeworKyAgICB1 aW50MTI4X3N0cnVjdCBzYXZlX3ZyWzMyXTsKKysgICAgdWludDEyOF9zdHJ1Y3Qgc2F2ZV92c2Ny OworKyAgICB1aW50MzJfdCBzYXZlX3Zyc2F2ZTsKKysgIH0gdnJlZ3M7CisrfTsKKysKKyAvLyEg XGJyaWVmIEEgY29udGV4dCBzdHJ1Y3R1cmUgY2FwYWJsZSBvZiBjYXJyeWluZyB0aGUgY29udGV4 dCBvZiBhbnkgc3VwcG9ydGVkCisgLy8hICAgICBDUFUgYXJjaGl0ZWN0dXJlLgorIHN0cnVjdCBD UFVDb250ZXh0IHsKK0BAIC0zODIsNiArNDAwLDcgQEAgc3RydWN0IENQVUNvbnRleHQgeworICAg ICBDUFVDb250ZXh0QVJNNjQqIGFybTY0OworICAgICBDUFVDb250ZXh0TUlQUyogbWlwc2VsOwor ICAgICBDUFVDb250ZXh0TUlQUzY0KiBtaXBzNjQ7CisrICAgIENQVUNvbnRleHRQUEM2NCogcHBj NjQ7CisgICB9OworIH07CisgCitkaWZmIC0tZ2l0IGEvc3JjLzNyZHBhcnR5L2Nocm9taXVtL3Ro aXJkX3BhcnR5L2NyYXNocGFkL2NyYXNocGFkL3NuYXBzaG90L2xpbnV4L2NwdV9jb250ZXh0X2xp bnV4LmggYi9zcmMvM3JkcGFydHkvY2hyb21pdW0vdGhpcmRfcGFydHkvY3Jhc2hwYWQvY3Jhc2hw YWQvc25hcHNob3QvbGludXgvY3B1X2NvbnRleHRfbGludXguaAoraW5kZXggOWY0NmE0ODk3Li5h YTY3N2M0ZWIgMTAwNjQ0CistLS0gYS9zcmMvM3JkcGFydHkvY2hyb21pdW0vdGhpcmRfcGFydHkv Y3Jhc2hwYWQvY3Jhc2hwYWQvc25hcHNob3QvbGludXgvY3B1X2NvbnRleHRfbGludXguaAorKysr IGIvc3JjLzNyZHBhcnR5L2Nocm9taXVtL3RoaXJkX3BhcnR5L2NyYXNocGFkL2NyYXNocGFkL3Nu YXBzaG90L2xpbnV4L2NwdV9jb250ZXh0X2xpbnV4LmgKK0BAIC0xNSw2ICsxNSw3IEBACisgI2lm bmRlZiBDUkFTSFBBRF9TTkFQU0hPVF9MSU5VWF9DUFVfQ09OVEVYVF9MSU5VWF9IXworICNkZWZp bmUgQ1JBU0hQQURfU05BUFNIT1RfTElOVVhfQ1BVX0NPTlRFWFRfTElOVVhfSF8KKyAKKysjaW5j bHVkZSA8Y3N0cmluZz4KKyAjaW5jbHVkZSAiYnVpbGQvYnVpbGRfY29uZmlnLmgiCisgI2luY2x1 ZGUgInNuYXBzaG90L2NwdV9jb250ZXh0LmgiCisgI2luY2x1ZGUgInNuYXBzaG90L2xpbnV4L3Np Z25hbF9jb250ZXh0LmgiCitAQCAtMTc0LDYgKzE3NSw3OCBAQCB2b2lkIEluaXRpYWxpemVDUFVD b250ZXh0TUlQUygKKyAKKyAjZW5kaWYgIC8vIEFSQ0hfQ1BVX01JUFNfRkFNSUxZIHx8IERPWFlH RU4KKyAKKysjaWYgZGVmaW5lZChBUkNIX0NQVV9QUEM2NF9GQU1JTFkpIHx8IERPWFlHRU4KKysK KysvLyEgXGJyaWVmIEluaXRhbGl6ZXMgYSBDUFVDb250ZXh0UFBDNjQgc3RydWN0dXJlIGZyb20g bmF0aXZlIGNvbnRleHQKKysvLyEgICAgIHN0cnVjdHVyZXMgb24gTGludXguCisrLy8hCisrLy8h IFxwYXJhbVtpbl0gdGhyZWFkX2NvbnRleHQgVGhlIG5hdGl2ZSB0aHJlYWQgY29udGV4dC4KKysv LyEgXHBhcmFtW2luXSBmbG9hdF9jb250ZXh0IFRoZSBuYXRpdmUgZmxvYXQgY29udGV4dC4KKysv LyEgXHBhcmFtW2luXSB2ZWN0b3JfY29udGV4dCBUaGUgbmF0aXZlIHZlY3RvciBjb250ZXh0Lgor Ky8vISBccGFyYW1bb3V0XSBjb250ZXh0IFRoZSBDUFVDb250ZXh0UFBDNjQgc3RydWN0dXJlIHRv IGluaXRhbGl6ZS4KKyt0ZW1wbGF0ZSA8dHlwZW5hbWUgVHJhaXRzPgorK3ZvaWQgSW5pdGlhbGl6 ZUNQVUNvbnRleHRQUEM2NCgKKysgICAgY29uc3QgVGhyZWFkQ29udGV4dDo6dDY0X3QmIHRocmVh ZF9jb250ZXh0LAorKyAgICBjb25zdCBGbG9hdENvbnRleHQ6OmY2NF90JiBmbG9hdF9jb250ZXh0 LAorKyAgICBjb25zdCBWZWN0b3JDb250ZXh0Ojp2NjRfdCYgdmVjdG9yX2NvbnRleHQsCisrICAg IHR5cGVuYW1lIFRyYWl0czo6Q1BVQ29udGV4dCogY29udGV4dCkgeworKworKyAgbWVtY3B5KGNv bnRleHQtPnJlZ3MsIHRocmVhZF9jb250ZXh0Lmdwciwgc2l6ZW9mKGNvbnRleHQtPnJlZ3MpKTsK KysgIGNvbnRleHQtPm5pcCA9IHRocmVhZF9jb250ZXh0Lm5pcDsKKysgIGNvbnRleHQtPm1zciA9 IHRocmVhZF9jb250ZXh0Lm1zcjsKKysgIGNvbnRleHQtPmNjciA9IHRocmVhZF9jb250ZXh0LmNj cjsKKysgIGNvbnRleHQtPnhlciA9IHRocmVhZF9jb250ZXh0LnhlcjsKKysgIGNvbnRleHQtPmxu ayA9IHRocmVhZF9jb250ZXh0LmxuazsKKysgIGNvbnRleHQtPmN0ciA9IHRocmVhZF9jb250ZXh0 LmN0cjsKKysKKysgIG1lbWNweShjb250ZXh0LT5mcHJlZ3MsIGZsb2F0X2NvbnRleHQuZnByZWdz LCBzaXplb2YoY29udGV4dC0+ZnByZWdzKSk7CisrICBjb250ZXh0LT5mcHNjciA9IGZsb2F0X2Nv bnRleHQuZnBzY3I7CisrCisrICBmb3IgKHVpbnQ4X3QgaSA9IDA7IGkgPCAzMjsgaSsrKSB7Cisr ICAgIGNvbnRleHQtPnZyZWdzLnNhdmVfdnJbaV0gPSB7CisrICAgICAgKCgodWludDY0X3QpdmVj dG9yX2NvbnRleHQudnJyZWdzW2ldWzBdKSA8PCAzMikgfAorKyAgICAgICAgdmVjdG9yX2NvbnRl eHQudnJyZWdzW2ldWzFdLAorKyAgICAgICgoKHVpbnQ2NF90KXZlY3Rvcl9jb250ZXh0LnZycmVn c1tpXVsyXSkgPDwgMzIpIHwKKysgICAgICAgIHZlY3Rvcl9jb250ZXh0LnZycmVnc1tpXVszXQor KyAgICB9OworKyAgfQorKyAgY29udGV4dC0+dnJlZ3Muc2F2ZV92cnNhdmUgPSB2ZWN0b3JfY29u dGV4dC52cnNhdmU7CisrICBjb250ZXh0LT52cmVncy5zYXZlX3ZzY3IgPSB7MCwgKHVpbnQ2NF90 KXZlY3Rvcl9jb250ZXh0LnZzY3IudnNjcl93b3JkfTsKKyt9CisrCisrdGVtcGxhdGUgPHR5cGVu YW1lIFRyYWl0cz4KKyt2b2lkIEluaXRpYWxpemVDUFVDb250ZXh0UFBDNjQoCisrICAgIGNvbnN0 IFNpZ25hbFRocmVhZENvbnRleHQ2NCAmdGhyZWFkX2NvbnRleHQsCisrICAgIGNvbnN0IFNpZ25h bEZsb2F0Q29udGV4dDY0ICZmbG9hdF9jb250ZXh0LAorKyAgICBjb25zdCBTaWduYWxWZWN0b3JD b250ZXh0NjQgJnZlY3Rvcl9jb250ZXh0LAorKyAgICB0eXBlbmFtZSBUcmFpdHM6OkNQVUNvbnRl eHQqIGNvbnRleHQpIHsKKysKKysgIG1lbWNweShjb250ZXh0LT5yZWdzLCB0aHJlYWRfY29udGV4 dC5yZWdzLCBzaXplb2YoY29udGV4dC0+cmVncykpOworKyAgY29udGV4dC0+bmlwID0gdGhyZWFk X2NvbnRleHQubmlwOworKyAgY29udGV4dC0+bXNyID0gdGhyZWFkX2NvbnRleHQubXNyOworKyAg Y29udGV4dC0+Y2NyID0gdGhyZWFkX2NvbnRleHQuY2NyOworKyAgY29udGV4dC0+eGVyID0gdGhy ZWFkX2NvbnRleHQueGVyOworKyAgY29udGV4dC0+bG5rID0gdGhyZWFkX2NvbnRleHQubG5rOwor KyAgY29udGV4dC0+Y3RyID0gdGhyZWFkX2NvbnRleHQuY3RyOworKworKyAgbWVtY3B5KGNvbnRl eHQtPmZwcmVncywgZmxvYXRfY29udGV4dC5yZWdzLCBzaXplb2YoY29udGV4dC0+ZnByZWdzKSk7 CisrICBjb250ZXh0LT5mcHNjciA9IGZsb2F0X2NvbnRleHQuZnBzY3I7CisrCisrICBmb3IgKHVp bnQ4X3QgaSA9IDA7IGkgPCAzMjsgaSsrKSB7CisrICAgIGNvbnRleHQtPnZyZWdzLnNhdmVfdnJb aV0gPSB7CisrICAgICAgKCgodWludDY0X3QpdmVjdG9yX2NvbnRleHQudnJyZWdzW2ldWzBdKSA8 PCAzMikgfAorKyAgICAgICAgdmVjdG9yX2NvbnRleHQudnJyZWdzW2ldWzFdLAorKyAgICAgICgo KHVpbnQ2NF90KXZlY3Rvcl9jb250ZXh0LnZycmVnc1tpXVsyXSkgPDwgMzIpIHwKKysgICAgICAg IHZlY3Rvcl9jb250ZXh0LnZycmVnc1tpXVszXQorKyAgICB9OworKyAgfQorKyAgY29udGV4dC0+ dnJlZ3Muc2F2ZV92cnNhdmUgPSB2ZWN0b3JfY29udGV4dC52cnNhdmU7CisrICBjb250ZXh0LT52 cmVncy5zYXZlX3ZzY3IgPSB7MCwgKHVpbnQ2NF90KXZlY3Rvcl9jb250ZXh0LnZzY3IudnNjcl93 b3JkfTsKKyt9CisrCisrCisrI2VuZGlmCisrCisgfSAgLy8gbmFtZXNwYWNlIGludGVybmFsCisg fSAgLy8gbmFtZXNwYWNlIGNyYXNocGFkCisgCitkaWZmIC0tZ2l0IGEvc3JjLzNyZHBhcnR5L2No cm9taXVtL3RoaXJkX3BhcnR5L2NyYXNocGFkL2NyYXNocGFkL3NuYXBzaG90L2xpbnV4L2RlYnVn X3JlbmRlenZvdXNfdGVzdC5jYyBiL3NyYy8zcmRwYXJ0eS9jaHJvbWl1bS90aGlyZF9wYXJ0eS9j cmFzaHBhZC9jcmFzaHBhZC9zbmFwc2hvdC9saW51eC9kZWJ1Z19yZW5kZXp2b3VzX3Rlc3QuY2MK K2luZGV4IGJlMjJjOTAzMS4uYzVkZjIzZDFiIDEwMDY0NAorLS0tIGEvc3JjLzNyZHBhcnR5L2No cm9taXVtL3RoaXJkX3BhcnR5L2NyYXNocGFkL2NyYXNocGFkL3NuYXBzaG90L2xpbnV4L2RlYnVn X3JlbmRlenZvdXNfdGVzdC5jYworKysrIGIvc3JjLzNyZHBhcnR5L2Nocm9taXVtL3RoaXJkX3Bh cnR5L2NyYXNocGFkL2NyYXNocGFkL3NuYXBzaG90L2xpbnV4L2RlYnVnX3JlbmRlenZvdXNfdGVz dC5jYworQEAgLTE1OSw5ICsxNTksMTEgQEAgdm9pZCBUZXN0QWdhaW5zdFRhcmdldChQdHJhY2VD b25uZWN0aW9uKiBjb25uZWN0aW9uKSB7CisgICAgICAgICAgIGNvbnN0IGJvb2wgaXNfdmRzb19t YXBwaW5nID0KKyAgICAgICAgICAgICAgIGRldmljZSA9PSAwICYmIGlub2RlID09IDAgJiYgbWFw cGluZ19uYW1lID09ICJbdmRzb10iOworICAgICAgICAgICBzdGF0aWMgY29uc3RleHByIGNoYXIg a1ByZWZpeFtdID0gImxpbnV4LXZkc28uc28uIjsKKysgICAgICAgICAgc3RhdGljIGNvbnN0ZXhw ciBjaGFyIGtQcmVmaXg2NFtdID0gImxpbnV4LXZkc282NC5zby4iOworICAgICAgICAgICByZXR1 cm4gaXNfdmRzb19tYXBwaW5nID09CisgICAgICAgICAgICAgICAgICAobW9kdWxlX25hbWUuZW1w dHkoKSB8fAorLSAgICAgICAgICAgICAgICAgIG1vZHVsZV9uYW1lLmNvbXBhcmUoMCwgc3RybGVu KGtQcmVmaXgpLCBrUHJlZml4KSA9PSAwKTsKKysgICAgICAgICAgICAgICAgICBtb2R1bGVfbmFt ZS5jb21wYXJlKDAsIHN0cmxlbihrUHJlZml4KSwga1ByZWZpeCkgPT0gMCB8fAorKyAgICAgICAg ICAgICAgICAgIG1vZHVsZV9uYW1lLmNvbXBhcmUoMCwgc3RybGVuKGtQcmVmaXg2NCksIGtQcmVm aXg2NCkgPT0gMCk7CisgICAgICAgICB9LAorICAgICAgICAgbW9kdWxlX21hcHBpbmctPm5hbWUs CisgICAgICAgICBtb2R1bGVfbWFwcGluZy0+ZGV2aWNlLAorZGlmZiAtLWdpdCBhL3NyYy8zcmRw YXJ0eS9jaHJvbWl1bS90aGlyZF9wYXJ0eS9jcmFzaHBhZC9jcmFzaHBhZC9zbmFwc2hvdC9saW51 eC9leGNlcHRpb25fc25hcHNob3RfbGludXguY2MgYi9zcmMvM3JkcGFydHkvY2hyb21pdW0vdGhp cmRfcGFydHkvY3Jhc2hwYWQvY3Jhc2hwYWQvc25hcHNob3QvbGludXgvZXhjZXB0aW9uX3NuYXBz aG90X2xpbnV4LmNjCitpbmRleCBjZDQwYjNiMTIuLjZiY2YyM2I2ZiAxMDA2NDQKKy0tLSBhL3Ny Yy8zcmRwYXJ0eS9jaHJvbWl1bS90aGlyZF9wYXJ0eS9jcmFzaHBhZC9jcmFzaHBhZC9zbmFwc2hv dC9saW51eC9leGNlcHRpb25fc25hcHNob3RfbGludXguY2MKKysrKyBiL3NyYy8zcmRwYXJ0eS9j aHJvbWl1bS90aGlyZF9wYXJ0eS9jcmFzaHBhZC9jcmFzaHBhZC9zbmFwc2hvdC9saW51eC9leGNl cHRpb25fc25hcHNob3RfbGludXguY2MKK0BAIC0zMjMsNiArMzIzLDY5IEBAIGJvb2wgRXhjZXB0 aW9uU25hcHNob3RMaW51eDo6UmVhZENvbnRleHQ8Q29udGV4dFRyYWl0czY0PigKKyAgICAgICBy ZWFkZXIsIGNvbnRleHRfYWRkcmVzcywgY29udGV4dF8ubWlwczY0KTsKKyB9CisgCisrI2VsaWYg ZGVmaW5lZChBUkNIX0NQVV9QUEM2NF9GQU1JTFkpCisrCisrdGVtcGxhdGUgPHR5cGVuYW1lIFRy YWl0cz4KKytzdGF0aWMgYm9vbCBSZWFkQ29udGV4dChQcm9jZXNzUmVhZGVyTGludXgqIHJlYWRl ciwKKysgICAgICAgICAgICAgICAgICAgICAgICBMaW51eFZNQWRkcmVzcyBjb250ZXh0X2FkZHJl c3MsCisrICAgICAgICAgICAgICAgICAgICAgICAgdHlwZW5hbWUgVHJhaXRzOjpDUFVDb250ZXh0 KiBkZXN0X2NvbnRleHQpIHsKKysgIGNvbnN0IFByb2Nlc3NNZW1vcnkqIG1lbW9yeSA9IHJlYWRl ci0+TWVtb3J5KCk7CisrCisrICBMaW51eFZNQWRkcmVzcyBncF9yZWdzX2FkZHJlc3MgPSBjb250 ZXh0X2FkZHJlc3MgKworKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb2Zmc2V0 b2YoVUNvbnRleHQsIG1jb250ZXh0KSArCisrICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICBvZmZzZXRvZih0eXBlbmFtZSBUcmFpdHM6Ok1Db250ZXh0LCBncF9yZWdzKTsKKysKKysg IHR5cGVuYW1lIFRyYWl0czo6U2lnbmFsVGhyZWFkQ29udGV4dCB0aHJlYWRfY29udGV4dDsKKysg IGlmICghbWVtb3J5LT5SZWFkKGdwX3JlZ3NfYWRkcmVzcywgc2l6ZW9mKHRocmVhZF9jb250ZXh0 KSwgJnRocmVhZF9jb250ZXh0KSkgeworKyAgICBMT0coRVJST1IpIDw8ICJDb3VsZG4ndCByZWFk IGdwX3JlZ3MhIjsKKysgICAgcmV0dXJuIGZhbHNlOworKyAgfQorKworKyAgTGludXhWTUFkZHJl c3MgZnBfcmVnc19hZGRyZXNzID0gY29udGV4dF9hZGRyZXNzICsKKysgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIG9mZnNldG9mKFVDb250ZXh0LCBtY29udGV4dCkgKworKyAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb2Zmc2V0b2YodHlwZW5hbWUgVHJhaXRzOjpN Q29udGV4dCwgZnBfcmVncyk7CisrCisrICB0eXBlbmFtZSBUcmFpdHM6OlNpZ25hbEZsb2F0Q29u dGV4dCBmcF9jb250ZXh0OworKyAgaWYgKCFtZW1vcnktPlJlYWQoZnBfcmVnc19hZGRyZXNzLCBz aXplb2YoZnBfY29udGV4dCksICZmcF9jb250ZXh0KSkgeworKyAgICBMT0coRVJST1IpIDw8ICJD b3VsZG4ndCByZWFkIGZwX3JlZ3MhIjsKKysgICAgcmV0dXJuIGZhbHNlOworKyAgfQorKworKyAg TGludXhWTUFkZHJlc3Mgdl9yZWdzX3B0cl9hZGRyZXNzID0gY29udGV4dF9hZGRyZXNzICsKKysg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb2Zmc2V0b2YoVUNvbnRleHQsIG1jb250 ZXh0KSArCisrICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9mZnNldG9mKHR5cGVu YW1lIFRyYWl0czo6TUNvbnRleHQsIHZteF9yZXNlcnZlKSArIDg7CisrCisrICB0eXBlbmFtZSBU cmFpdHM6OlNpZ25hbFZlY3RvckNvbnRleHQgdl9jb250ZXh0OworKyAgaWYgKCFtZW1vcnktPlJl YWQodl9yZWdzX3B0cl9hZGRyZXNzLCBzaXplb2Yodl9jb250ZXh0KSwgJnZfY29udGV4dCkpIHsK KysgICAgTE9HKEVSUk9SKSA8PCAiQ291bGRuJ3QgcmVhZCB2X3JlZ3MhIjsKKysgICAgcmV0dXJu IGZhbHNlOworKyAgfQorKworKyAgSW5pdGlhbGl6ZUNQVUNvbnRleHRQUEM2NDxDb250ZXh0VHJh aXRzNjQ+KHRocmVhZF9jb250ZXh0LCBmcF9jb250ZXh0LAorKyAgICAgICAgICAgICAgICAgICAg ICAgICAgICB2X2NvbnRleHQsIGRlc3RfY29udGV4dCk7CisrCisrICByZXR1cm4gdHJ1ZTsKKyt9 CisrCisrdGVtcGxhdGU8PgorK2Jvb2wgRXhjZXB0aW9uU25hcHNob3RMaW51eDo6UmVhZENvbnRl eHQ8Q29udGV4dFRyYWl0czY0PigKKysgICAgUHJvY2Vzc1JlYWRlckxpbnV4KiByZWFkZXIsCisr ICAgIExpbnV4Vk1BZGRyZXNzIGNvbnRleHRfYWRkcmVzcykgeworKyAgY29udGV4dF8uYXJjaGl0 ZWN0dXJlID0ga0NQVUFyY2hpdGVjdHVyZVBQQzY0OworKyAgY29udGV4dF8ucHBjNjQgPSAmY29u dGV4dF91bmlvbl8ucHBjNjQ7CisrCisrICByZXR1cm4gaW50ZXJuYWw6OlJlYWRDb250ZXh0PENv bnRleHRUcmFpdHM2ND4oCisrICAgICAgcmVhZGVyLCBjb250ZXh0X2FkZHJlc3MsIGNvbnRleHRf LnBwYzY0KTsKKyt9CisrCisrdGVtcGxhdGU8PgorK2Jvb2wgRXhjZXB0aW9uU25hcHNob3RMaW51 eDo6UmVhZENvbnRleHQ8Q29udGV4dFRyYWl0czMyPigKKysgICAgUHJvY2Vzc1JlYWRlckxpbnV4 KiByZWFkZXIsCisrICAgIExpbnV4Vk1BZGRyZXNzIGNvbnRleHRfYWRkcmVzcykgeworKyAgLy8g UFBDNjQgaXMgNjQtYml0CisrICByZXR1cm4gZmFsc2U7CisrfQorKworICNlbmRpZiAgLy8gQVJD SF9DUFVfWDg2X0ZBTUlMWQorIAorIGJvb2wgRXhjZXB0aW9uU25hcHNob3RMaW51eDo6SW5pdGlh bGl6ZShQcm9jZXNzUmVhZGVyTGludXgqIHByb2Nlc3NfcmVhZGVyLAorZGlmZiAtLWdpdCBhL3Ny Yy8zcmRwYXJ0eS9jaHJvbWl1bS90aGlyZF9wYXJ0eS9jcmFzaHBhZC9jcmFzaHBhZC9zbmFwc2hv dC9saW51eC9leGNlcHRpb25fc25hcHNob3RfbGludXguaCBiL3NyYy8zcmRwYXJ0eS9jaHJvbWl1 bS90aGlyZF9wYXJ0eS9jcmFzaHBhZC9jcmFzaHBhZC9zbmFwc2hvdC9saW51eC9leGNlcHRpb25f c25hcHNob3RfbGludXguaAoraW5kZXggZWEwY2QyMTA2Li5lNDJkZjUyMGYgMTAwNjQ0CistLS0g YS9zcmMvM3JkcGFydHkvY2hyb21pdW0vdGhpcmRfcGFydHkvY3Jhc2hwYWQvY3Jhc2hwYWQvc25h cHNob3QvbGludXgvZXhjZXB0aW9uX3NuYXBzaG90X2xpbnV4LmgKKysrKyBiL3NyYy8zcmRwYXJ0 eS9jaHJvbWl1bS90aGlyZF9wYXJ0eS9jcmFzaHBhZC9jcmFzaHBhZC9zbmFwc2hvdC9saW51eC9l eGNlcHRpb25fc25hcHNob3RfbGludXguaAorQEAgLTg0LDYgKzg0LDggQEAgY2xhc3MgRXhjZXB0 aW9uU25hcHNob3RMaW51eCBmaW5hbCA6IHB1YmxpYyBFeGNlcHRpb25TbmFwc2hvdCB7CisgI2Vs aWYgZGVmaW5lZChBUkNIX0NQVV9NSVBTX0ZBTUlMWSkKKyAgICAgQ1BVQ29udGV4dE1JUFMgbWlw c2VsOworICAgICBDUFVDb250ZXh0TUlQUzY0IG1pcHM2NDsKKysjZWxpZiBkZWZpbmVkKEFSQ0hf Q1BVX1BQQzY0X0ZBTUlMWSkKKysgICAgQ1BVQ29udGV4dFBQQzY0IHBwYzY0OworICNlbmRpZgor ICAgfSBjb250ZXh0X3VuaW9uXzsKKyAgIENQVUNvbnRleHQgY29udGV4dF87CitkaWZmIC0tZ2l0 IGEvc3JjLzNyZHBhcnR5L2Nocm9taXVtL3RoaXJkX3BhcnR5L2NyYXNocGFkL2NyYXNocGFkL3Nu YXBzaG90L2xpbnV4L2V4Y2VwdGlvbl9zbmFwc2hvdF9saW51eF90ZXN0LmNjIGIvc3JjLzNyZHBh cnR5L2Nocm9taXVtL3RoaXJkX3BhcnR5L2NyYXNocGFkL2NyYXNocGFkL3NuYXBzaG90L2xpbnV4 L2V4Y2VwdGlvbl9zbmFwc2hvdF9saW51eF90ZXN0LmNjCitpbmRleCBlNGZmMWFiNzkuLjI1NTM0 ZGQwOCAxMDA2NDQKKy0tLSBhL3NyYy8zcmRwYXJ0eS9jaHJvbWl1bS90aGlyZF9wYXJ0eS9jcmFz aHBhZC9jcmFzaHBhZC9zbmFwc2hvdC9saW51eC9leGNlcHRpb25fc25hcHNob3RfbGludXhfdGVz dC5jYworKysrIGIvc3JjLzNyZHBhcnR5L2Nocm9taXVtL3RoaXJkX3BhcnR5L2NyYXNocGFkL2Ny YXNocGFkL3NuYXBzaG90L2xpbnV4L2V4Y2VwdGlvbl9zbmFwc2hvdF9saW51eF90ZXN0LmNjCitA QCAtMjk2LDcgKzI5NiwyOCBAQCB2b2lkIEV4cGVjdENvbnRleHQoY29uc3QgQ1BVQ29udGV4dCYg YWN0dWFsLCBjb25zdCBOYXRpdmVDUFVDb250ZXh0JiBleHBlY3RlZCkgeworICAgICAgICAgICAg IDApOworICN1bmRlZiBDUFVfQVJDSF9OQU1FCisgfQorKyNlbGlmIGRlZmluZWQoQVJDSF9DUFVf UFBDNjRfRkFNSUxZKQorK3VzaW5nIE5hdGl2ZUNQVUNvbnRleHQgPSB1Y29udGV4dF90OworKwor K3ZvaWQgSW5pdGlhbGl6ZUNvbnRleHQoTmF0aXZlQ1BVQ29udGV4dCogY29udGV4dCkgeworKyAg Zm9yIChzaXplX3QgcmVnID0gMDsgcmVnIDwgMzI7ICsrcmVnKSB7CisrICAgIGNvbnRleHQtPnVj X21jb250ZXh0LmdwX3JlZ3NbcmVnXSA9IHJlZzsKKysgIH0KKysKKysgIG1lbXNldCgmY29udGV4 dC0+dWNfbWNvbnRleHQuZnBfcmVncywgNDQsCisrICAgICAgc2l6ZW9mKGNvbnRleHQtPnVjX21j b250ZXh0LmZwX3JlZ3MpKTsKKyt9CisgCisrdm9pZCBFeHBlY3RDb250ZXh0KGNvbnN0IENQVUNv bnRleHQmIGFjdHVhbCwgY29uc3QgTmF0aXZlQ1BVQ29udGV4dCYgZXhwZWN0ZWQpIHsKKysgIEVY UEVDVF9FUShhY3R1YWwuYXJjaGl0ZWN0dXJlLCBrQ1BVQXJjaGl0ZWN0dXJlUFBDNjQpOworKwor KyAgZm9yIChzaXplX3QgcmVnID0gMDsgcmVnIDwgMzI7ICsrcmVnKSB7CisrICAgIEVYUEVDVF9F UShhY3R1YWwucHBjNjQtPnJlZ3NbcmVnXSwgZXhwZWN0ZWQudWNfbWNvbnRleHQuZ3BfcmVnc1ty ZWddKTsKKysgIH0KKysKKysgIEVYUEVDVF9FUShtZW1jbXAoYWN0dWFsLnBwYzY0LT5mcHJlZ3Ms IGV4cGVjdGVkLnVjX21jb250ZXh0LmZwX3JlZ3MsCisrICAgICAgICAgICAgc2l6ZW9mKGFjdHVh bC5wcGM2NC0+ZnByZWdzKSksIDApOworK30KKyAjZWxzZQorICNlcnJvciBQb3J0LgorICNlbmRp ZgorZGlmZiAtLWdpdCBhL3NyYy8zcmRwYXJ0eS9jaHJvbWl1bS90aGlyZF9wYXJ0eS9jcmFzaHBh ZC9jcmFzaHBhZC9zbmFwc2hvdC9saW51eC9wcm9jZXNzX3JlYWRlcl9saW51eC5jYyBiL3NyYy8z cmRwYXJ0eS9jaHJvbWl1bS90aGlyZF9wYXJ0eS9jcmFzaHBhZC9jcmFzaHBhZC9zbmFwc2hvdC9s aW51eC9wcm9jZXNzX3JlYWRlcl9saW51eC5jYworaW5kZXggYjk2YWJmZTc0Li5kZjEyY2E1NjYg MTAwNjQ0CistLS0gYS9zcmMvM3JkcGFydHkvY2hyb21pdW0vdGhpcmRfcGFydHkvY3Jhc2hwYWQv Y3Jhc2hwYWQvc25hcHNob3QvbGludXgvcHJvY2Vzc19yZWFkZXJfbGludXguY2MKKysrKyBiL3Ny Yy8zcmRwYXJ0eS9jaHJvbWl1bS90aGlyZF9wYXJ0eS9jcmFzaHBhZC9jcmFzaHBhZC9zbmFwc2hv dC9saW51eC9wcm9jZXNzX3JlYWRlcl9saW51eC5jYworQEAgLTEwOCw2ICsxMDgsOCBAQCB2b2lk IFByb2Nlc3NSZWFkZXJMaW51eDo6VGhyZWFkOjpJbml0aWFsaXplU3RhY2soUHJvY2Vzc1JlYWRl ckxpbnV4KiByZWFkZXIpIHsKKyAjZWxpZiBkZWZpbmVkKEFSQ0hfQ1BVX01JUFNfRkFNSUxZKQor ICAgc3RhY2tfcG9pbnRlciA9IHJlYWRlci0+SXM2NEJpdCgpID8gdGhyZWFkX2luZm8udGhyZWFk X2NvbnRleHQudDY0LnJlZ3NbMjldCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgOiB0aHJlYWRfaW5mby50aHJlYWRfY29udGV4dC50MzIucmVnc1syOV07CisrI2VsaWYgZGVm aW5lZChBUkNIX0NQVV9QUEM2NF9GQU1JTFkpCisrICBzdGFja19wb2ludGVyID0gdGhyZWFkX2lu Zm8udGhyZWFkX2NvbnRleHQudDY0LmdwclsxXTsKKyAjZWxzZQorICNlcnJvciBQb3J0LgorICNl bmRpZgorZGlmZiAtLWdpdCBhL3NyYy8zcmRwYXJ0eS9jaHJvbWl1bS90aGlyZF9wYXJ0eS9jcmFz aHBhZC9jcmFzaHBhZC9zbmFwc2hvdC9saW51eC9wcm9jZXNzX3JlYWRlcl9saW51eF90ZXN0LmNj IGIvc3JjLzNyZHBhcnR5L2Nocm9taXVtL3RoaXJkX3BhcnR5L2NyYXNocGFkL2NyYXNocGFkL3Nu YXBzaG90L2xpbnV4L3Byb2Nlc3NfcmVhZGVyX2xpbnV4X3Rlc3QuY2MKK2luZGV4IDViNTcyMzYx Ni4uMDQ5YzMyODU4IDEwMDY0NAorLS0tIGEvc3JjLzNyZHBhcnR5L2Nocm9taXVtL3RoaXJkX3Bh cnR5L2NyYXNocGFkL2NyYXNocGFkL3NuYXBzaG90L2xpbnV4L3Byb2Nlc3NfcmVhZGVyX2xpbnV4 X3Rlc3QuY2MKKysrKyBiL3NyYy8zcmRwYXJ0eS9jaHJvbWl1bS90aGlyZF9wYXJ0eS9jcmFzaHBh ZC9jcmFzaHBhZC9zbmFwc2hvdC9saW51eC9wcm9jZXNzX3JlYWRlcl9saW51eF90ZXN0LmNjCitA QCAtNjEyLDYgKzYxMiw4IEBAIGJvb2wgV3JpdGVUZXN0TW9kdWxlKGNvbnN0IGJhc2U6OkZpbGVQ YXRoJiBtb2R1bGVfcGF0aCkgeworICAgbW9kdWxlLmVoZHIuZV9tYWNoaW5lID0gRU1fQUFSQ0g2 NDsKKyAjZWxpZiBkZWZpbmVkKEFSQ0hfQ1BVX01JUFNFTCkgfHwgZGVmaW5lZChBUkNIX0NQVV9N SVBTNjRFTCkKKyAgIG1vZHVsZS5laGRyLmVfbWFjaGluZSA9IEVNX01JUFM7CisrI2VsaWYgZGVm aW5lZChBUkNIX0NQVV9QUEM2NCkKKysgIG1vZHVsZS5laGRyLmVfbWFjaGluZSA9IEVNX1BQQzY0 OworICNlbmRpZgorIAorICAgbW9kdWxlLmVoZHIuZV92ZXJzaW9uID0gRVZfQ1VSUkVOVDsKK2Rp ZmYgLS1naXQgYS9zcmMvM3JkcGFydHkvY2hyb21pdW0vdGhpcmRfcGFydHkvY3Jhc2hwYWQvY3Jh c2hwYWQvc25hcHNob3QvbGludXgvc2lnbmFsX2NvbnRleHQuaCBiL3NyYy8zcmRwYXJ0eS9jaHJv bWl1bS90aGlyZF9wYXJ0eS9jcmFzaHBhZC9jcmFzaHBhZC9zbmFwc2hvdC9saW51eC9zaWduYWxf Y29udGV4dC5oCitpbmRleCAxMTAwMjQ2ODAuLmExZjJkYTI1OSAxMDA2NDQKKy0tLSBhL3NyYy8z cmRwYXJ0eS9jaHJvbWl1bS90aGlyZF9wYXJ0eS9jcmFzaHBhZC9jcmFzaHBhZC9zbmFwc2hvdC9s aW51eC9zaWduYWxfY29udGV4dC5oCisrKysgYi9zcmMvM3JkcGFydHkvY2hyb21pdW0vdGhpcmRf cGFydHkvY3Jhc2hwYWQvY3Jhc2hwYWQvc25hcHNob3QvbGludXgvc2lnbmFsX2NvbnRleHQuaAor QEAgLTQyMiw2ICs0MjIsODkgQEAgc3RhdGljX2Fzc2VydChvZmZzZXRvZihVQ29udGV4dDxDb250 ZXh0VHJhaXRzNjQ+LCBtY29udGV4dC5mcHJlZ3MpID09CisgICAgICAgICAgICAgICAiY29udGV4 dCBvZmZzZXQgbWlzbWF0Y2giKTsKKyAjZW5kaWYKKyAKKysjZWxpZiBkZWZpbmVkKEFSQ0hfQ1BV X1BQQzY0X0ZBTUlMWSkKKysKKytzdHJ1Y3QgU2lnbmFsVGhyZWFkQ29udGV4dDY0IHsKKysgIHVp bnQ2NF90IHJlZ3NbMzJdOworKyAgdWludDY0X3QgbmlwOworKyAgdWludDY0X3QgbXNyOworKyAg dWludDY0X3Qgb3JpZ19yMzsKKysgIHVpbnQ2NF90IGN0cjsKKysgIHVpbnQ2NF90IGxuazsKKysg IHVpbnQ2NF90IHhlcjsKKysgIHVpbnQ2NF90IGNjcjsKKysgIHVpbnQ2NF90IHNvZnRlOworKyAg dWludDY0X3QgdHJhcDsKKysgIHVpbnQ2NF90IGRhcjsKKysgIHVpbnQ2NF90IGRzaXNyOworKyAg dWludDY0X3QgcmVzdWx0OworKyAgdWludDY0X3QgZHNjcjsKKysgIHVpbnQ2NF90IGZwcjBbM107 CisrfTsKKysKKytzdHJ1Y3QgU2lnbmFsRmxvYXRDb250ZXh0NjQgeworKyAgZG91YmxlIHJlZ3Nb MzJdOworKyAgZG91YmxlIGZwc2NyOworK307CisrCisrc3RydWN0IFNpZ25hbFZlY3RvckNvbnRl eHQ2NCB7CisrICBpbnQzMl90IHZycmVnc1szMl1bNF07CisrICBzdHJ1Y3QgeworKyAgICBpbnQz Ml90IF9fcGFkWzNdOworKyAgICBpbnQzMl90IHZzY3Jfd29yZDsKKysgIH0gdnNjcjsKKysgIGlu dDMyX3QgdnJzYXZlOworKyAgaW50MzJfdCBfX3BhZFszXTsKKyt9IF9fYXR0cmlidXRlX18oKF9f YWxpZ25lZF9fKDE2KSkpOworKworKworKyNwcmFnbWEgcGFjayhwb3ApCisrc3RydWN0IE1Db250 ZXh0NjQgeworKyAgdWludDY0X3QgcmVzZXJ2ZWRbNF07CisrICBpbnQzMl90IHNpZ25hbDsKKysg IGludDMyX3QgX19wYWQwOworKyAgdWludDY0X3QgaGFuZGxlcjsKKysgIHVpbnQ2NF90IG9sZG1h c2s7CisrICB1aW50NjRfdCBwdF9yZWdzX3B0cjsKKysgIFNpZ25hbFRocmVhZENvbnRleHQ2NCBn cF9yZWdzOworKyAgU2lnbmFsRmxvYXRDb250ZXh0NjQgIGZwX3JlZ3M7CisrICBTaWduYWxWZWN0 b3JDb250ZXh0NjQgKnZfcmVnczsKKysgIGludDY0X3Qgdm14X3Jlc2VydmVbNjldOworK307Cisr Cisrc3RydWN0IENvbnRleHRUcmFpdHM2NCA6IHB1YmxpYyBUcmFpdHM2NCB7CisrICB1c2luZyBN Q29udGV4dCA9IE1Db250ZXh0NjQ7CisrICB1c2luZyBTaWduYWxUaHJlYWRDb250ZXh0ID0gU2ln bmFsVGhyZWFkQ29udGV4dDY0OworKyAgdXNpbmcgU2lnbmFsRmxvYXRDb250ZXh0ID0gU2lnbmFs RmxvYXRDb250ZXh0NjQ7CisrICB1c2luZyBTaWduYWxWZWN0b3JDb250ZXh0ID0gU2lnbmFsVmVj dG9yQ29udGV4dDY0OworKyAgdXNpbmcgQ1BVQ29udGV4dCA9IENQVUNvbnRleHRQUEM2NDsKKyt9 OworKworK3N0cnVjdCBDb250ZXh0VHJhaXRzMzIgOiBwdWJsaWMgVHJhaXRzMzIge307CisrCisr c3RydWN0IFVDb250ZXh0IHsKKysgIHVpbnQ2NF90IGZsYWdzOworKyAgdWludDY0X3QgbGluazsK KysgIFNpZ25hbFN0YWNrPENvbnRleHRUcmFpdHM2ND4gc3RhY2s7CisrICBTaWdzZXQ8Q29udGV4 dFRyYWl0czY0PiBzaWdtYXNrOworKyAgTUNvbnRleHQ2NCBtY29udGV4dDsKKyt9OworKyNwcmFn bWEgcGFjayhwdXNoLCAxKQorKworK3N0YXRpY19hc3NlcnQoc2l6ZW9mKFVDb250ZXh0KSA9PSBz aXplb2YodWNvbnRleHRfdCksCisrICAgICAgICAgICAgICAidWNvbnRleHRfdCBzaXplIG1pc21h dGNoIik7Cisrc3RhdGljX2Fzc2VydChzaXplb2YoTUNvbnRleHQ2NCkgPT0gc2l6ZW9mKG1jb250 ZXh0X3QpLAorKyAgICAgICAgICAgICAgIm1jb250ZXh0X3Qgc2l6ZSBtaXNtYXRjaCIpOworK3N0 YXRpY19hc3NlcnQoc2l6ZW9mKFNpZ25hbFRocmVhZENvbnRleHQ2NCkgPT0gc2l6ZW9mKGdyZWdz ZXRfdCksCisrICAgICAgICAgICAgICAiZ3JlZ3NldF90IHNpemUgbWlzbWF0Y2giKTsKKytzdGF0 aWNfYXNzZXJ0KHNpemVvZihTaWduYWxGbG9hdENvbnRleHQ2NCkgPT0gc2l6ZW9mKGZwcmVnc2V0 X3QpLAorKyAgICAgICAgICAgICAgImZwcmVnc2V0X3Qgc2l6ZSBtaXNtYXRjaCIpOworK3N0YXRp Y19hc3NlcnQoc2l6ZW9mKFNpZ25hbFZlY3RvckNvbnRleHQ2NCkgPT0gc2l6ZW9mKHZycmVnc2V0 X3QpLAorKyAgICAgICAgICAgICAgInZycmVnc2V0X3Qgc2l6ZSBtaXNtYXRjaCIpOworK3N0YXRp Y19hc3NlcnQob2Zmc2V0b2YoVUNvbnRleHQsIG1jb250ZXh0KSA9PQorKyAgICAgICAgICAgICAg b2Zmc2V0b2YodWNvbnRleHRfdCwgdWNfbWNvbnRleHQpLCAibWNvbnRleHQgb2Zmc2V0IG1pc21h dGNoIik7Cisrc3RhdGljX2Fzc2VydChvZmZzZXRvZihNQ29udGV4dDY0LCBncF9yZWdzKSA9PQor KyAgICAgICAgICAgICAgb2Zmc2V0b2YobWNvbnRleHRfdCwgZ3BfcmVncyksICJncF9yZWdzIG9m ZnNldCBtaXNtYXRjaCIpOworICNlbHNlCisgI2Vycm9yIFBvcnQuCisgI2VuZGlmICAvLyBBUkNI X0NQVV9YODZfRkFNSUxZCitkaWZmIC0tZ2l0IGEvc3JjLzNyZHBhcnR5L2Nocm9taXVtL3RoaXJk X3BhcnR5L2NyYXNocGFkL2NyYXNocGFkL3NuYXBzaG90L2xpbnV4L3N5c3RlbV9zbmFwc2hvdF9s aW51eC5jYyBiL3NyYy8zcmRwYXJ0eS9jaHJvbWl1bS90aGlyZF9wYXJ0eS9jcmFzaHBhZC9jcmFz aHBhZC9zbmFwc2hvdC9saW51eC9zeXN0ZW1fc25hcHNob3RfbGludXguY2MKK2luZGV4IDg1NjRk M2Q0NS4uYjY5MGVjZDQ4IDEwMDY0NAorLS0tIGEvc3JjLzNyZHBhcnR5L2Nocm9taXVtL3RoaXJk X3BhcnR5L2NyYXNocGFkL2NyYXNocGFkL3NuYXBzaG90L2xpbnV4L3N5c3RlbV9zbmFwc2hvdF9s aW51eC5jYworKysrIGIvc3JjLzNyZHBhcnR5L2Nocm9taXVtL3RoaXJkX3BhcnR5L2NyYXNocGFk L2NyYXNocGFkL3NuYXBzaG90L2xpbnV4L3N5c3RlbV9zbmFwc2hvdF9saW51eC5jYworQEAgLTIw Myw2ICsyMDMsOCBAQCBDUFVBcmNoaXRlY3R1cmUgU3lzdGVtU25hcHNob3RMaW51eDo6R2V0Q1BV QXJjaGl0ZWN0dXJlKCkgY29uc3QgeworICNlbGlmIGRlZmluZWQoQVJDSF9DUFVfTUlQU19GQU1J TFkpCisgICByZXR1cm4gcHJvY2Vzc19yZWFkZXJfLT5JczY0Qml0KCkgPyBrQ1BVQXJjaGl0ZWN0 dXJlTUlQUzY0RUwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IGtDUFVB cmNoaXRlY3R1cmVNSVBTRUw7CisrI2VsaWYgZGVmaW5lZChBUkNIX0NQVV9QUEM2NF9GQU1JTFkp CisrICByZXR1cm4ga0NQVUFyY2hpdGVjdHVyZVBQQzY0OworICNlbHNlCisgI2Vycm9yIHBvcnQg dG8geW91ciBhcmNoaXRlY3R1cmUKKyAjZW5kaWYKK0BAIC0yMTgsNiArMjIwLDkgQEAgdWludDMy X3QgU3lzdGVtU25hcHNob3RMaW51eDo6Q1BVUmV2aXNpb24oKSBjb25zdCB7CisgI2VsaWYgZGVm aW5lZChBUkNIX0NQVV9NSVBTX0ZBTUlMWSkKKyAgIC8vIE5vdCBpbXBsZW1lbnRhYmxlIG9uIE1J UFMKKyAgIHJldHVybiAwOworKyNlbGlmIGRlZmluZWQoQVJDSF9DUFVfUFBDNjRfRkFNSUxZKQor KyAgLy8gTm90IHlldCBpbXBsZW1lbnRlZCBvbiBQUEM2NAorKyAgcmV0dXJuIDA7CisgI2Vsc2UK KyAjZXJyb3IgcG9ydCB0byB5b3VyIGFyY2hpdGVjdHVyZQorICNlbmRpZgorQEAgLTIzOCw2ICsy NDMsOSBAQCBzdGQ6OnN0cmluZyBTeXN0ZW1TbmFwc2hvdExpbnV4OjpDUFVWZW5kb3IoKSBjb25z dCB7CisgI2VsaWYgZGVmaW5lZChBUkNIX0NQVV9NSVBTX0ZBTUlMWSkKKyAgIC8vIE5vdCBpbXBs ZW1lbnRhYmxlIG9uIE1JUFMKKyAgIHJldHVybiBzdGQ6OnN0cmluZygpOworKyNlbGlmIGRlZmlu ZWQoQVJDSF9DUFVfUFBDNjRfRkFNSUxZKQorKyAgLy8gTm90IHlldCBpbXBsZW1lbnRlZCBvbiBQ UEM2NAorKyAgcmV0dXJuIHN0ZDo6c3RyaW5nKCk7CisgI2Vsc2UKKyAjZXJyb3IgcG9ydCB0byB5 b3VyIGFyY2hpdGVjdHVyZQorICNlbmRpZgorQEAgLTM3MSw2ICszNzksOSBAQCBib29sIFN5c3Rl bVNuYXBzaG90TGludXg6Ok5YRW5hYmxlZCgpIGNvbnN0IHsKKyAjZWxpZiBkZWZpbmVkKEFSQ0hf Q1BVX01JUFNfRkFNSUxZKQorICAgLy8gTm90IGltcGxlbWVudGFibGUgb24gTUlQUworICAgcmV0 dXJuIGZhbHNlOworKyNlbGlmIGRlZmluZWQoQVJDSF9DUFVfUFBDNjRfRkFNSUxZKQorKyAgLy8g Tm90IHlldCBpbXBsZW1lbnRlZCBvbiBQUEM2NAorKyAgcmV0dXJuIGZhbHNlOworICNlbHNlCisg I2Vycm9yIFBvcnQuCisgI2VuZGlmICAvLyBBUkNIX0NQVV9YODZfRkFNSUxZCitkaWZmIC0tZ2l0 IGEvc3JjLzNyZHBhcnR5L2Nocm9taXVtL3RoaXJkX3BhcnR5L2NyYXNocGFkL2NyYXNocGFkL3Nu YXBzaG90L2xpbnV4L3RocmVhZF9zbmFwc2hvdF9saW51eC5jYyBiL3NyYy8zcmRwYXJ0eS9jaHJv bWl1bS90aGlyZF9wYXJ0eS9jcmFzaHBhZC9jcmFzaHBhZC9zbmFwc2hvdC9saW51eC90aHJlYWRf c25hcHNob3RfbGludXguY2MKK2luZGV4IGUzZTJiZWJkZC4uOGVmNDM3NTJlIDEwMDY0NAorLS0t IGEvc3JjLzNyZHBhcnR5L2Nocm9taXVtL3RoaXJkX3BhcnR5L2NyYXNocGFkL2NyYXNocGFkL3Nu YXBzaG90L2xpbnV4L3RocmVhZF9zbmFwc2hvdF9saW51eC5jYworKysrIGIvc3JjLzNyZHBhcnR5 L2Nocm9taXVtL3RoaXJkX3BhcnR5L2NyYXNocGFkL2NyYXNocGFkL3NuYXBzaG90L2xpbnV4L3Ro cmVhZF9zbmFwc2hvdF9saW51eC5jYworQEAgLTE4Niw2ICsxODYsMTQgQEAgYm9vbCBUaHJlYWRT bmFwc2hvdExpbnV4OjpJbml0aWFsaXplKFByb2Nlc3NSZWFkZXJMaW51eCogcHJvY2Vzc19yZWFk ZXIsCisgICAgICAgICB0aHJlYWQudGhyZWFkX2luZm8uZmxvYXRfY29udGV4dC5mMzIsCisgICAg ICAgICBjb250ZXh0Xy5taXBzZWwpOworICAgfQorKyNlbGlmIGRlZmluZWQoQVJDSF9DUFVfUFBD NjRfRkFNSUxZKQorKyAgY29udGV4dF8uYXJjaGl0ZWN0dXJlID0ga0NQVUFyY2hpdGVjdHVyZVBQ QzY0OworKyAgY29udGV4dF8ucHBjNjQgPSAmY29udGV4dF91bmlvbl8ucHBjNjQ7CisrICBJbml0 aWFsaXplQ1BVQ29udGV4dFBQQzY0PENvbnRleHRUcmFpdHM2ND4oCisrICAgICAgdGhyZWFkLnRo cmVhZF9pbmZvLnRocmVhZF9jb250ZXh0LnQ2NCwKKysgICAgICB0aHJlYWQudGhyZWFkX2luZm8u ZmxvYXRfY29udGV4dC5mNjQsCisrICAgICAgdGhyZWFkLnRocmVhZF9pbmZvLnZlY3Rvcl9jb250 ZXh0LnY2NCwKKysgICAgICBjb250ZXh0Xy5wcGM2NCk7CisgI2Vsc2UKKyAjZXJyb3IgUG9ydC4K KyAjZW5kaWYKK2RpZmYgLS1naXQgYS9zcmMvM3JkcGFydHkvY2hyb21pdW0vdGhpcmRfcGFydHkv Y3Jhc2hwYWQvY3Jhc2hwYWQvc25hcHNob3QvbGludXgvdGhyZWFkX3NuYXBzaG90X2xpbnV4Lmgg Yi9zcmMvM3JkcGFydHkvY2hyb21pdW0vdGhpcmRfcGFydHkvY3Jhc2hwYWQvY3Jhc2hwYWQvc25h cHNob3QvbGludXgvdGhyZWFkX3NuYXBzaG90X2xpbnV4LmgKK2luZGV4IDQ0Y2M2ZjZkOS4uZDQx MzY0NjFlIDEwMDY0NAorLS0tIGEvc3JjLzNyZHBhcnR5L2Nocm9taXVtL3RoaXJkX3BhcnR5L2Ny YXNocGFkL2NyYXNocGFkL3NuYXBzaG90L2xpbnV4L3RocmVhZF9zbmFwc2hvdF9saW51eC5oCisr KysgYi9zcmMvM3JkcGFydHkvY2hyb21pdW0vdGhpcmRfcGFydHkvY3Jhc2hwYWQvY3Jhc2hwYWQv c25hcHNob3QvbGludXgvdGhyZWFkX3NuYXBzaG90X2xpbnV4LmgKK0BAIC02OCw2ICs2OCw4IEBA IGNsYXNzIFRocmVhZFNuYXBzaG90TGludXggZmluYWwgOiBwdWJsaWMgVGhyZWFkU25hcHNob3Qg eworICNlbGlmIGRlZmluZWQoQVJDSF9DUFVfTUlQU19GQU1JTFkpCisgICAgIENQVUNvbnRleHRN SVBTIG1pcHNlbDsKKyAgICAgQ1BVQ29udGV4dE1JUFM2NCBtaXBzNjQ7CisrI2VsaWYgZGVmaW5l ZChBUkNIX0NQVV9QUEM2NF9GQU1JTFkpCisrICAgIENQVUNvbnRleHRQUEM2NCBwcGM2NDsKKyAj ZWxzZQorICNlcnJvciBQb3J0LgorICNlbmRpZiAgLy8gQVJDSF9DUFVfWDg2X0ZBTUlMWQorZGlm ZiAtLWdpdCBhL3NyYy8zcmRwYXJ0eS9jaHJvbWl1bS90aGlyZF9wYXJ0eS9jcmFzaHBhZC9jcmFz aHBhZC91dGlsL2xpbnV4L2F1eGlsaWFyeV92ZWN0b3IuY2MgYi9zcmMvM3JkcGFydHkvY2hyb21p dW0vdGhpcmRfcGFydHkvY3Jhc2hwYWQvY3Jhc2hwYWQvdXRpbC9saW51eC9hdXhpbGlhcnlfdmVj dG9yLmNjCitpbmRleCBkM2Q1ZWJkZmIuLjNmZDczMGNiNSAxMDA2NDQKKy0tLSBhL3NyYy8zcmRw YXJ0eS9jaHJvbWl1bS90aGlyZF9wYXJ0eS9jcmFzaHBhZC9jcmFzaHBhZC91dGlsL2xpbnV4L2F1 eGlsaWFyeV92ZWN0b3IuY2MKKysrKyBiL3NyYy8zcmRwYXJ0eS9jaHJvbWl1bS90aGlyZF9wYXJ0 eS9jcmFzaHBhZC9jcmFzaHBhZC91dGlsL2xpbnV4L2F1eGlsaWFyeV92ZWN0b3IuY2MKK0BAIC01 Niw2ICs1NiwxMSBAQCBib29sIEF1eGlsaWFyeVZlY3Rvcjo6UmVhZChQdHJhY2VDb25uZWN0aW9u KiBjb25uZWN0aW9uKSB7CisgICAgIGlmICh0eXBlID09IEFUX0lHTk9SRSkgeworICAgICAgIGNv bnRpbnVlOworICAgICB9CisrI2lmIGRlZmluZWQoQVJDSF9DUFVfUFBDNjRfRkFNSUxZKQorKyAg ICBpZiAodHlwZSA9PSBBVF9JR05PUkVQUEMpIHsKKysgICAgICBjb250aW51ZTsKKysgICAgfQor KyNlbmRpZgorICAgICBpZiAoIU1hcEluc2VydE9yUmVwbGFjZSgmdmFsdWVzXywgdHlwZSwgdmFs dWUsIG51bGxwdHIpKSB7CisgICAgICAgTE9HKEVSUk9SKSA8PCAiZHVwbGljYXRlIGF1eHYgZW50 cnkiOworICAgICAgIHJldHVybiBmYWxzZTsKK2RpZmYgLS1naXQgYS9zcmMvM3JkcGFydHkvY2hy b21pdW0vdGhpcmRfcGFydHkvY3Jhc2hwYWQvY3Jhc2hwYWQvdXRpbC9saW51eC9wdHJhY2VfYnJv a2VyLmNjIGIvc3JjLzNyZHBhcnR5L2Nocm9taXVtL3RoaXJkX3BhcnR5L2NyYXNocGFkL2NyYXNo cGFkL3V0aWwvbGludXgvcHRyYWNlX2Jyb2tlci5jYworaW5kZXggMTU1YTFlMGM2Li41ZTUwY2Vi NWYgMTAwNjQ0CistLS0gYS9zcmMvM3JkcGFydHkvY2hyb21pdW0vdGhpcmRfcGFydHkvY3Jhc2hw YWQvY3Jhc2hwYWQvdXRpbC9saW51eC9wdHJhY2VfYnJva2VyLmNjCisrKysgYi9zcmMvM3JkcGFy dHkvY2hyb21pdW0vdGhpcmRfcGFydHkvY3Jhc2hwYWQvY3Jhc2hwYWQvdXRpbC9saW51eC9wdHJh Y2VfYnJva2VyLmNjCitAQCAtOTQsOCArOTQsOCBAQCBpbnQgUHRyYWNlQnJva2VyOjpSdW4oKSB7 CisgfQorIAorIGJvb2wgUHRyYWNlQnJva2VyOjpBbGxvY2F0ZUF0dGFjaG1lbnRzKCkgeworLSAg Y29uc3RleHByIHNpemVfdCBwYWdlX3NpemUgPSA0MDk2OworLSAgY29uc3RleHByIHNpemVfdCBh bGxvY19zaXplID0KKysgIHN0YXRpYyBzaXplX3QgcGFnZV9zaXplID0gZ2V0cGFnZXNpemUoKTsK KysgIHNpemVfdCBhbGxvY19zaXplID0KKyAgICAgICAoc2l6ZW9mKFNjb3BlZFB0cmFjZUF0dGFj aCkgKyBwYWdlX3NpemUgLSAxKSAmIH4ocGFnZV9zaXplIC0gMSk7CisgICB2b2lkKiBhbGxvYyA9 IHNicmsoYWxsb2Nfc2l6ZSk7CisgICBpZiAocmVpbnRlcnByZXRfY2FzdDxpbnRwdHJfdD4oYWxs b2MpID09IC0xKSB7CitkaWZmIC0tZ2l0IGEvc3JjLzNyZHBhcnR5L2Nocm9taXVtL3RoaXJkX3Bh cnR5L2NyYXNocGFkL2NyYXNocGFkL3V0aWwvbGludXgvcHRyYWNlci5jYyBiL3NyYy8zcmRwYXJ0 eS9jaHJvbWl1bS90aGlyZF9wYXJ0eS9jcmFzaHBhZC9jcmFzaHBhZC91dGlsL2xpbnV4L3B0cmFj ZXIuY2MKK2luZGV4IDU1N2UwZDM2My4uMDhhZTQzNGI4IDEwMDY0NAorLS0tIGEvc3JjLzNyZHBh cnR5L2Nocm9taXVtL3RoaXJkX3BhcnR5L2NyYXNocGFkL2NyYXNocGFkL3V0aWwvbGludXgvcHRy YWNlci5jYworKysrIGIvc3JjLzNyZHBhcnR5L2Nocm9taXVtL3RoaXJkX3BhcnR5L2NyYXNocGFk L2NyYXNocGFkL3V0aWwvbGludXgvcHRyYWNlci5jYworQEAgLTM5OCw2ICszOTgsNjQgQEAgYm9v bCBHZXRUaHJlYWRBcmVhNjQocGlkX3QgdGlkLAorICAgcmV0dXJuIHRydWU7CisgfQorIAorKyNl bGlmIGRlZmluZWQoQVJDSF9DUFVfUFBDNjRfRkFNSUxZKQorKy8vIFBQQzY0IGhhcyBoYWQgSEFW RV9BUkNIX1RSQUNFSE9PSyBzZXQgc2luY2UgMi42LjI3IChldmVuIGJlZm9yZSB4ODYgaGFkIGl0 KS4KKysvLyBUaGF0IG1lYW5zIHdlIGNhbiBzaW1wbHkgdXNlIFBUUkFDRV9HRVRSRUdFU0VULgor KworK3RlbXBsYXRlIDx0eXBlbmFtZSBEZXN0aW5hdGlvbj4KKytib29sIEdldFJlZ2lzdGVyU2V0 KHBpZF90IHRpZCwgaW50IHNldCwgRGVzdGluYXRpb24qIGRlc3QsIGJvb2wgY2FuX2xvZykgewor KyAgaW92ZWMgaW92OworKyAgaW92Lmlvdl9iYXNlID0gcmVpbnRlcnByZXRfY2FzdDx2b2lkKj4o ZGVzdCk7CisrICBpb3YuaW92X2xlbiA9IHNpemVvZigqZGVzdCk7CisrICBpZiAocHRyYWNlKFBU UkFDRV9HRVRSRUdTRVQsIHRpZCwgcmVpbnRlcnByZXRfY2FzdDx2b2lkKj4oc2V0KSwgJmlvdikg IT0gMCkgeworKyAgICBQTE9HX0lGKEVSUk9SLCBjYW5fbG9nKSA8PCAicHRyYWNlIjsKKysgICAg cmV0dXJuIGZhbHNlOworKyAgfQorKyAgaWYgKGlvdi5pb3ZfbGVuICE9IHNpemVvZigqZGVzdCkp IHsKKysgICAgTE9HX0lGKEVSUk9SLCBjYW5fbG9nKSA8PCAiVW5leHBlY3RlZCByZWdpc3RlcnMg c2l6ZSI7CisrICAgIHJldHVybiBmYWxzZTsKKysgIH0KKysgIHJldHVybiB0cnVlOworK30KKysK Kytib29sIEdldFZlY3RvclJlZ2lzdGVyczY0KHBpZF90IHRpZCwKKysgICAgICAgICAgICAgICAg ICAgICAgICAgIFZlY3RvckNvbnRleHQqIGNvbnRleHQsCisrICAgICAgICAgICAgICAgICAgICAg ICAgICBib29sIGNhbl9sb2cpIHsKKysgIHJldHVybiBHZXRSZWdpc3RlclNldCh0aWQsIE5UX1BQ Q19WTVgsICZjb250ZXh0LT52NjQsIGNhbl9sb2cpOworK30KKysKKytib29sIEdldEZsb2F0aW5n UG9pbnRSZWdpc3RlcnM2NChwaWRfdCB0aWQsCisrICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgRmxvYXRDb250ZXh0KiBjb250ZXh0LAorKyAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIGJvb2wgY2FuX2xvZykgeworKyAgcmV0dXJuIEdldFJlZ2lzdGVyU2V0KHRpZCwgTlRf UFJGUFJFRywgJmNvbnRleHQtPmY2NCwgY2FuX2xvZyk7CisrfQorKworK2Jvb2wgR2V0VGhyZWFk QXJlYTY0KHBpZF90IHRpZCwKKysgICAgICAgICAgICAgICAgICAgICBjb25zdCBUaHJlYWRDb250 ZXh0JiBjb250ZXh0LAorKyAgICAgICAgICAgICAgICAgICAgIExpbnV4Vk1BZGRyZXNzKiBhZGRy ZXNzLAorKyAgICAgICAgICAgICAgICAgICAgIGJvb2wgY2FuX2xvZykgeworKyAgLy8gUFBDNjQg ZG9lc24ndCBoYXZlIFBUUkFDRV9HRVRfVEhSRUFEX0FSRUEgc2luY2UgdGhlIHRocmVhZCBwb2lu dGVyCisrICAvLyBpcyBzdG9yZWQgaW4gR1BSIDEzLgorKyAgVGhyZWFkQ29udGV4dDo6dDY0X3Qg dGM7CisrICBpZiAoIUdldFJlZ2lzdGVyU2V0KHRpZCwgTlRfUFJTVEFUVVMsICZ0YywgY2FuX2xv ZykpIHsKKysgICAgTE9HX0lGKEVSUk9SLCBjYW5fbG9nKSA8PCAiVW5hYmxlIHRvIGdldCB0aHJl YWQgcG9pbnRlciEiOworKyAgICByZXR1cm4gZmFsc2U7CisrICB9CisrCisrICAqYWRkcmVzcyA9 IHRjLmdwclsxM107CisrCisrICByZXR1cm4gdHJ1ZTsKKyt9CisrCisrLy8gU3R1YnMgZm9yIDMy LWJpdCBmdW5jdGlvbnMgbm90IGFwcGxpY2FibGUgb24gUFBDNjQKKytib29sIEdldEZsb2F0aW5n UG9pbnRSZWdpc3RlcnMzMihwaWRfdCB0aWQsCisrICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgRmxvYXRDb250ZXh0KiBjb250ZXh0LAorKyAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIGJvb2wgY2FuX2xvZykgeyByZXR1cm4gZmFsc2U7IH0KKytib29sIEdldFRocmVhZEFy ZWEzMihwaWRfdCB0aWQsCisrICAgICAgICAgICAgICAgICAgICAgY29uc3QgVGhyZWFkQ29udGV4 dCAmY29udGV4dCwKKysgICAgICAgICAgICAgICAgICAgICBMaW51eFZNQWRkcmVzcyAqYWRkcmVz cywKKysgICAgICAgICAgICAgICAgICAgICBib29sIGNhbl9sb2cpIHsgcmV0dXJuIGZhbHNlOyB9 CisrCisgI2Vsc2UKKyAjZXJyb3IgUG9ydC4KKyAjZW5kaWYgIC8vIEFSQ0hfQ1BVX1g4Nl9GQU1J TFkKK0BAIC00OTQsNiArNTUyLDkgQEAgYm9vbCBQdHJhY2VyOjpHZXRUaHJlYWRJbmZvKHBpZF90 IHRpZCwgVGhyZWFkSW5mbyogaW5mbykgeworICAgaWYgKGlzXzY0X2JpdF8pIHsKKyAgICAgcmV0 dXJuIEdldEdlbmVyYWxQdXJwb3NlUmVnaXN0ZXJzNjQodGlkLCAmaW5mby0+dGhyZWFkX2NvbnRl eHQsIGNhbl9sb2dfKSAmJgorICAgICAgICAgICAgR2V0RmxvYXRpbmdQb2ludFJlZ2lzdGVyczY0 KHRpZCwgJmluZm8tPmZsb2F0X2NvbnRleHQsIGNhbl9sb2dfKSAmJgorKyNpZiBkZWZpbmVkKEFS Q0hfQ1BVX1BQQzY0X0ZBTUlMWSkKKysgICAgICAgICAgIEdldFZlY3RvclJlZ2lzdGVyczY0KHRp ZCwgJmluZm8tPnZlY3Rvcl9jb250ZXh0LCBjYW5fbG9nXykgJiYKKysjZW5kaWYKKyAgICAgICAg ICAgIEdldFRocmVhZEFyZWE2NCh0aWQsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW5m by0+dGhyZWFkX2NvbnRleHQsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgJmluZm8tPnRo cmVhZF9zcGVjaWZpY19kYXRhX2FkZHJlc3MsCitkaWZmIC0tZ2l0IGEvc3JjLzNyZHBhcnR5L2No cm9taXVtL3RoaXJkX3BhcnR5L2NyYXNocGFkL2NyYXNocGFkL3V0aWwvbGludXgvdGhyZWFkX2lu Zm8uaCBiL3NyYy8zcmRwYXJ0eS9jaHJvbWl1bS90aGlyZF9wYXJ0eS9jcmFzaHBhZC9jcmFzaHBh ZC91dGlsL2xpbnV4L3RocmVhZF9pbmZvLmgKK2luZGV4IDViNTVjMjRhNy4uZGVhMGQxZjM5IDEw MDY0NAorLS0tIGEvc3JjLzNyZHBhcnR5L2Nocm9taXVtL3RoaXJkX3BhcnR5L2NyYXNocGFkL2Ny YXNocGFkL3V0aWwvbGludXgvdGhyZWFkX2luZm8uaAorKysrIGIvc3JjLzNyZHBhcnR5L2Nocm9t aXVtL3RoaXJkX3BhcnR5L2NyYXNocGFkL2NyYXNocGFkL3V0aWwvbGludXgvdGhyZWFkX2luZm8u aAorQEAgLTI4LDYgKzI4LDEwIEBACisgI2luY2x1ZGUgPGFuZHJvaWQvYXBpLWxldmVsLmg+Cisg I2VuZGlmCisgCisrI2lmIGRlZmluZWQoQVJDSF9DUFVfUFBDNjRfRkFNSUxZKQorKyNpbmNsdWRl IDxzeXMvdWNvbnRleHQuaD4KKysjZW5kaWYKKysKKyBuYW1lc3BhY2UgY3Jhc2hwYWQgeworIAor IC8vISBcYnJpZWYgVGhlIHNldCBvZiBnZW5lcmFsIHB1cnBvc2UgcmVnaXN0ZXJzIGZvciBhbiBh cmNoaXRlY3R1cmUgZmFtaWx5LgorQEAgLTc5LDYgKzgzLDggQEAgdW5pb24gVGhyZWFkQ29udGV4 dCB7CisgICAgIHVpbnQzMl90IGNwMF9zdGF0dXM7CisgICAgIHVpbnQzMl90IGNwMF9jYXVzZTsK KyAgICAgdWludDMyX3QgcGFkZGluZzFfOworKyNlbGlmIGRlZmluZWQoQVJDSF9DUFVfUFBDNjRf RkFNSUxZKQorKyAgICAvLyBQUEM2NCBpcyA2NC1iaXQKKyAjZWxzZQorICNlcnJvciBQb3J0Lgor ICNlbmRpZiAgLy8gQVJDSF9DUFVfWDg2X0ZBTUlMWQorQEAgLTEzMiw2ICsxMzgsMjEgQEAgdW5p b24gVGhyZWFkQ29udGV4dCB7CisgICAgIHVpbnQ2NF90IGNwMF9iYWR2YWRkcjsKKyAgICAgdWlu dDY0X3QgY3AwX3N0YXR1czsKKyAgICAgdWludDY0X3QgY3AwX2NhdXNlOworKyNlbGlmIGRlZmlu ZWQoQVJDSF9DUFVfUFBDNjRfRkFNSUxZKQorKyAgICAvLyBSZWZsZWN0cyBzdHJ1Y3QgcHRfcmVn cyBpbiBhc20vcHRyYWNlLmguCisrICAgIHVpbnQ2NF90IGdwclszMl07CisrICAgIHVpbnQ2NF90 IG5pcDsKKysgICAgdWludDY0X3QgbXNyOworKyAgICB1aW50NjRfdCBvcmlnX2dwcjM7CisrICAg IHVpbnQ2NF90IGN0cjsKKysgICAgdWludDY0X3QgbG5rOworKyAgICB1aW50NjRfdCB4ZXI7Cisr ICAgIHVpbnQ2NF90IGNjcjsKKysgICAgdWludDY0X3Qgc29mdGU7CisrICAgIHVpbnQ2NF90IHRy YXA7CisrICAgIHVpbnQ2NF90IGRhcjsKKysgICAgdWludDY0X3QgZHNpc3I7CisrICAgIHVpbnQ2 NF90IHJlc3VsdDsKKyAjZWxzZQorICNlcnJvciBQb3J0LgorICNlbmRpZiAgLy8gQVJDSF9DUFVf WDg2X0ZBTUlMWQorQEAgLTE0Myw2ICsxNjQsOCBAQCB1bmlvbiBUaHJlYWRDb250ZXh0IHsKKyAg IHVzaW5nIE5hdGl2ZVRocmVhZENvbnRleHQgPSB1c2VyX3JlZ3M7CisgI2VsaWYgZGVmaW5lZChB UkNIX0NQVV9NSVBTX0ZBTUlMWSkKKyAvLyBObyBhcHByb3ByaWF0ZSBOYXRpdmVUaHJlYWRzQ29u dGV4dCB0eXBlIGF2YWlsYWJsZSBmb3IgTUlQUworKyNlbGlmIGRlZmluZWQoQVJDSF9DUFVfUFBD NjRfRkFNSUxZKQorKyAgdXNpbmcgTmF0aXZlVGhyZWFkQ29udGV4dCA9IHN0cnVjdCBwdF9yZWdz OworICNlbHNlCisgI2Vycm9yIFBvcnQuCisgI2VuZGlmICAvLyBBUkNIX0NQVV9YODZfRkFNSUxZ IHx8IEFSQ0hfQ1BVX0FSTTY0CitAQCAtMjE4LDYgKzI0MSw5IEBAIHVuaW9uIEZsb2F0Q29udGV4 dCB7CisgICAgIH0gZnByZWdzWzMyXTsKKyAgICAgdWludDMyX3QgZnBjc3I7CisgICAgIHVpbnQz Ml90IGZwdV9pZDsKKysjZWxpZiBkZWZpbmVkKEFSQ0hfQ1BVX1BQQzY0X0ZBTUlMWSkKKysgICAg Ly8gQ3Jhc2hwYWQncyBQUEMgc3VwcG9ydCBpcyA2NC1iaXQgb25seSwgc28gdGhpcworKyAgICAv LyAzMmJpdC1vbmx5IHN0cnVjdCBpcyBkZWNsYXJlZCBhcyBlbXB0eS4KKyAjZWxzZQorICNlcnJv ciBQb3J0LgorICNlbmRpZiAgLy8gQVJDSF9DUFVfWDg2X0ZBTUlMWQorQEAgLTI1Miw2ICsyNzgs MTAgQEAgdW5pb24gRmxvYXRDb250ZXh0IHsKKyAgICAgZG91YmxlIGZwcmVnc1szMl07CisgICAg IHVpbnQzMl90IGZwY3NyOworICAgICB1aW50MzJfdCBmcHVfaWQ7CisrI2VsaWYgZGVmaW5lZChB UkNIX0NQVV9QUEM2NF9GQU1JTFkpCisrICAgIC8vIFJlZmxlY3RzIGZwcmVnc2V0X3QgaW4gc3lz L3Vjb250ZXh0LmgKKysgICAgZG91YmxlIGZwcmVnc1szMl07CisrICAgIGRvdWJsZSBmcHNjcjsK KyAjZWxzZQorICNlcnJvciBQb3J0LgorICNlbmRpZiAgLy8gQVJDSF9DUFVfWDg2X0ZBTUlMWQor QEAgLTI4MCw2ICszMTAsOCBAQCB1bmlvbiBGbG9hdENvbnRleHQgeworICAgc3RhdGljX2Fzc2Vy dChzaXplb2YoZjY0KSA9PSBzaXplb2YodXNlcl9mcHNpbWRfc3RydWN0KSwgIlNpemUgbWlzbWF0 Y2giKTsKKyAjZWxpZiBkZWZpbmVkKEFSQ0hfQ1BVX01JUFNfRkFNSUxZKQorIC8vIE5vIGFwcHJv cHJpYXRlIGZsb2F0aW5nIHBvaW50IGNvbnRleHQgbmF0aXZlIHR5cGUgZm9yIGF2YWlsYWJsZSBN SVBTLgorKyNlbGlmIGRlZmluZWQoQVJDSF9DUFVfUFBDNjRfRkFNSUxZKQorKyAgc3RhdGljX2Fz c2VydChzaXplb2YoZjY0KSA9PSBzaXplb2YoZnByZWdzZXRfdCksICJTaXplIG1pc21hdGNoIik7 CisgI2Vsc2UKKyAjZXJyb3IgUG9ydC4KKyAjZW5kaWYgIC8vIEFSQ0hfQ1BVX1g4NgorQEAgLTI4 Nyw2ICszMTksMjYgQEAgdW5pb24gRmxvYXRDb250ZXh0IHsKKyBzdGF0aWNfYXNzZXJ0KHN0ZDo6 aXNfc3RhbmRhcmRfbGF5b3V0PEZsb2F0Q29udGV4dD46OnZhbHVlLAorICAgICAgICAgICAgICAg Ik5vdCBzdGFuZGFyZCBsYXlvdXQiKTsKKyAKKysvLyEgXGJyaWVmIFRoZSB2ZWN0b3IgcmVnaXN0 ZXJzIHVzZWQgZm9yIGFuIGFyY2hpdGVjdHVyZSBmYW1pbHkKKyt1bmlvbiBWZWN0b3JDb250ZXh0 IHsKKysgIHN0cnVjdCB2MzJfdCB7fSB2MzI7CisrI2lmIGRlZmluZWQoQVJDSF9DUFVfUFBDNjRf RkFNSUxZKQorKyAgX19hdHRyaWJ1dGVfXygoX19hbGlnbmVkX18oMTYpKSkgLy8gVmVjdG9yIGNv bnRleHQgbXVzdCBiZSBkb3VibGV3b3JkIGFsaWduZWQuCisrI2VuZGlmCisrICBzdHJ1Y3QgdjY0 X3QgeworKyNpZiBkZWZpbmVkKEFSQ0hfQ1BVX1BQQzY0X0ZBTUlMWSkKKysgICAgLy8gUmVmbGVj dHMgdnJyZWdzZXRfdCBpbiBzeXMvdWNvbnRleHQuaAorKyAgICB1aW50MzJfdCB2cnJlZ3NbMzJd WzRdOworKyAgICBzdHJ1Y3QgeworKyAgICAgIHVpbnQzMl90IF9fcGFkWzNdOworKyAgICAgIHVp bnQzMl90IHZzY3Jfd29yZDsKKysgICAgfSB2c2NyOworKyAgICB1aW50MzJfdCB2cnNhdmU7Cisr ICAgIHVpbnQzMl90IF9fcGFkWzNdOworKyNlbmRpZgorKyAgfSB2NjQ7CisrfTsKKysKKyAvLyEg XGJyaWVmIEEgY29sbGVjdGlvbiBvZiBgcHRyYWNlYC1hYmxlIGluZm9ybWF0aW9uIGFib3V0IGEg dGhyZWFkLgorIHN0cnVjdCBUaHJlYWRJbmZvIHsKKyAgIFRocmVhZEluZm8oKTsKK0BAIC0yOTgs NiArMzUwLDkgQEAgc3RydWN0IFRocmVhZEluZm8geworICAgLy8hIFxicmllZiBUaGUgZmxvYXRp bmcgcG9pbnQgcmVnaXN0ZXJzIGZvciB0aGUgdGhyZWFkLgorICAgRmxvYXRDb250ZXh0IGZsb2F0 X2NvbnRleHQ7CisgCisrICAvLyEgXGJyaWVmIChPcHRpb25hbCkgVGhlIHZlY3RvciByZWdpc3Rl cnMgdXNlZCBmb3IgdGhlIHRocmVhZC4KKysgIFZlY3RvckNvbnRleHQgdmVjdG9yX2NvbnRleHQ7 CisrCisgICAvLyEgXGJyaWVmIFRoZSB0aHJlYWQtbG9jYWwgc3RvcmFnZSBhZGRyZXNzIGZvciB0 aGUgdGhyZWFkLgorICAgTGludXhWTUFkZHJlc3MgdGhyZWFkX3NwZWNpZmljX2RhdGFfYWRkcmVz czsKKyB9OworZGlmZiAtLWdpdCBhL3NyYy8zcmRwYXJ0eS9jaHJvbWl1bS90aGlyZF9wYXJ0eS9j cmFzaHBhZC9jcmFzaHBhZC91dGlsL21pc2MvY2FwdHVyZV9jb250ZXh0LmggYi9zcmMvM3JkcGFy dHkvY2hyb21pdW0vdGhpcmRfcGFydHkvY3Jhc2hwYWQvY3Jhc2hwYWQvdXRpbC9taXNjL2NhcHR1 cmVfY29udGV4dC5oCitpbmRleCBhODhhMTAzMzYuLmIwZDY1NzhiZCAxMDA2NDQKKy0tLSBhL3Ny Yy8zcmRwYXJ0eS9jaHJvbWl1bS90aGlyZF9wYXJ0eS9jcmFzaHBhZC9jcmFzaHBhZC91dGlsL21p c2MvY2FwdHVyZV9jb250ZXh0LmgKKysrKyBiL3NyYy8zcmRwYXJ0eS9jaHJvbWl1bS90aGlyZF9w YXJ0eS9jcmFzaHBhZC9jcmFzaHBhZC91dGlsL21pc2MvY2FwdHVyZV9jb250ZXh0LmgKK0BAIC03 MCw2ICs3MCw3IEBAIHVzaW5nIE5hdGl2ZUNQVUNvbnRleHQgPSB1Y29udGV4dF90OworIC8vISAg ICAgbWFjT1MvTGludXgvRnVjaHNpYSB8IHg4Nl82NCAgICAgICB8IGAlJXJkaWAKKyAvLyEgICAg IExpbnV4ICAgICAgICAgICAgICAgfCBBUk0vQVJNNjQgICAgfCBgcjBgL2B4MGAKKyAvLyEgICAg IExpbnV4ICAgICAgICAgICAgICAgfCBNSVBTL01JUFM2NCAgfCBgJGEwYAorKy8vISAgICAgTGlu dXggICAgICAgICAgICAgICB8IFBQQzY0ICAgICAgICB8IGByM2AKKyAvLyEKKyAvLyEgICAgIEFk ZGl0aW9uYWxseSwgdGhlIHZhbHVlIGBMUmAgb24gQVJNL0FSTTY0IHdpbGwgYmUgdGhlIHJldHVy biBhZGRyZXNzIG9mCisgLy8hICAgICB0aGlzIGZ1bmN0aW9uLgorZGlmZiAtLWdpdCBhL3NyYy8z cmRwYXJ0eS9jaHJvbWl1bS90aGlyZF9wYXJ0eS9jcmFzaHBhZC9jcmFzaHBhZC91dGlsL21pc2Mv Y2FwdHVyZV9jb250ZXh0X2xpbnV4LlMgYi9zcmMvM3JkcGFydHkvY2hyb21pdW0vdGhpcmRfcGFy dHkvY3Jhc2hwYWQvY3Jhc2hwYWQvdXRpbC9taXNjL2NhcHR1cmVfY29udGV4dF9saW51eC5TCitp bmRleCA1MjIxNWVlNWQuLmIzZTRhM2VjNyAxMDA2NDQKKy0tLSBhL3NyYy8zcmRwYXJ0eS9jaHJv bWl1bS90aGlyZF9wYXJ0eS9jcmFzaHBhZC9jcmFzaHBhZC91dGlsL21pc2MvY2FwdHVyZV9jb250 ZXh0X2xpbnV4LlMKKysrKyBiL3NyYy8zcmRwYXJ0eS9jaHJvbWl1bS90aGlyZF9wYXJ0eS9jcmFz aHBhZC9jcmFzaHBhZC91dGlsL21pc2MvY2FwdHVyZV9jb250ZXh0X2xpbnV4LlMKK0BAIC0zMiw3 ICszMiw3IEBACisgICAuYmFsaWduIDQsIDB4MAorICAgLnR5cGUgQ0FQVFVSRUNPTlRFWFRfU1lN Qk9MLCAlZnVuY3Rpb24KKyAgIC50eXBlIENBUFRVUkVDT05URVhUX1NZTUJPTDIsICVmdW5jdGlv bgorLSNlbGlmIGRlZmluZWQoX19taXBzX18pCisrI2VsaWYgZGVmaW5lZChfX21pcHNfXykgfHwg ZGVmaW5lZChfX3Bvd2VycGM2NF9fKQorICAgLmJhbGlnbiA0LCAweDAKKyAjZW5kaWYKKyAKK0BA IC00MjMsNCArNDIzLDIxNCBAQCBDQVBUVVJFQ09OVEVYVF9TWU1CT0wyOgorICAganIgJHJhCisg CisgICAuc2V0IGF0CisrI2VsaWYgZGVmaW5lZChfX3Bvd2VycGM2NF9fKQorKyAgLy8gU3RvcmUg cjAtcjMxCisrICBzdGQgMCwgMHhlOCgzKSAgIC8vIGNvbnRleHQtPnVjX21jb250ZXh0LmdwX3Jl Z3NbMF0KKysgIHN0ZCAxLCAweGYwKDMpICAgLy8gY29udGV4dC0+dWNfbWNvbnRleHQuZ3BfcmVn c1sxXQorKyAgc3RkIDIsIDB4ZjgoMykgICAvLyBjb250ZXh0LT51Y19tY29udGV4dC5ncF9yZWdz WzJdCisrICAvLyBub3RlIHRoYXQgcjMncyBvcmlnaW5hbCB2YWx1ZSB3YXMgbG9zdAorKyAgc3Rk IDMsIDB4MTAwKDMpICAvLyBjb250ZXh0LT51Y19tY29udGV4dC5ncF9yZWdzWzNdCisrICBzdGQg NCwgMHgxMDgoMykgIC8vIGNvbnRleHQtPnVjX21jb250ZXh0LmdwX3JlZ3NbNF0KKysgIHN0ZCA1 LCAweDExMCgzKSAgLy8gY29udGV4dC0+dWNfbWNvbnRleHQuZ3BfcmVnc1s1XQorKyAgc3RkIDYs IDB4MTE4KDMpICAvLyBjb250ZXh0LT51Y19tY29udGV4dC5ncF9yZWdzWzZdCisrICBzdGQgNywg MHgxMjAoMykgIC8vIGNvbnRleHQtPnVjX21jb250ZXh0LmdwX3JlZ3NbN10KKysgIHN0ZCA4LCAw eDEyOCgzKSAgLy8gY29udGV4dC0+dWNfbWNvbnRleHQuZ3BfcmVnc1s4XQorKyAgc3RkIDksIDB4 MTMwKDMpICAvLyBjb250ZXh0LT51Y19tY29udGV4dC5ncF9yZWdzWzldCisrICBzdGQgMTAsIDB4 MTM4KDMpIC8vIGNvbnRleHQtPnVjX21jb250ZXh0LmdwX3JlZ3NbMTBdCisrICBzdGQgMTEsIDB4 MTQwKDMpIC8vIGNvbnRleHQtPnVjX21jb250ZXh0LmdwX3JlZ3NbMTFdCisrICBzdGQgMTIsIDB4 MTQ4KDMpIC8vIGNvbnRleHQtPnVjX21jb250ZXh0LmdwX3JlZ3NbMTJdCisrICBzdGQgMTMsIDB4 MTUwKDMpIC8vIGNvbnRleHQtPnVjX21jb250ZXh0LmdwX3JlZ3NbMTNdCisrICBzdGQgMTQsIDB4 MTU4KDMpIC8vIGNvbnRleHQtPnVjX21jb250ZXh0LmdwX3JlZ3NbMTRdCisrICBzdGQgMTUsIDB4 MTYwKDMpIC8vIGNvbnRleHQtPnVjX21jb250ZXh0LmdwX3JlZ3NbMTVdCisrICBzdGQgMTYsIDB4 MTY4KDMpIC8vIGNvbnRleHQtPnVjX21jb250ZXh0LmdwX3JlZ3NbMTZdCisrICBzdGQgMTcsIDB4 MTcwKDMpIC8vIGNvbnRleHQtPnVjX21jb250ZXh0LmdwX3JlZ3NbMTddCisrICBzdGQgMTgsIDB4 MTc4KDMpIC8vIGNvbnRleHQtPnVjX21jb250ZXh0LmdwX3JlZ3NbMThdCisrICBzdGQgMTksIDB4 MTgwKDMpIC8vIGNvbnRleHQtPnVjX21jb250ZXh0LmdwX3JlZ3NbMTldCisrICBzdGQgMjAsIDB4 MTg4KDMpIC8vIGNvbnRleHQtPnVjX21jb250ZXh0LmdwX3JlZ3NbMjBdCisrICBzdGQgMjEsIDB4 MTkwKDMpIC8vIGNvbnRleHQtPnVjX21jb250ZXh0LmdwX3JlZ3NbMjFdCisrICBzdGQgMjIsIDB4 MTk4KDMpIC8vIGNvbnRleHQtPnVjX21jb250ZXh0LmdwX3JlZ3NbMjJdCisrICBzdGQgMjMsIDB4 MWEwKDMpIC8vIGNvbnRleHQtPnVjX21jb250ZXh0LmdwX3JlZ3NbMjNdCisrICBzdGQgMjQsIDB4 MWE4KDMpIC8vIGNvbnRleHQtPnVjX21jb250ZXh0LmdwX3JlZ3NbMjRdCisrICBzdGQgMjUsIDB4 MWIwKDMpIC8vIGNvbnRleHQtPnVjX21jb250ZXh0LmdwX3JlZ3NbMjVdCisrICBzdGQgMjYsIDB4 MWI4KDMpIC8vIGNvbnRleHQtPnVjX21jb250ZXh0LmdwX3JlZ3NbMjZdCisrICBzdGQgMjcsIDB4 MWMwKDMpIC8vIGNvbnRleHQtPnVjX21jb250ZXh0LmdwX3JlZ3NbMjddCisrICBzdGQgMjgsIDB4 MWM4KDMpIC8vIGNvbnRleHQtPnVjX21jb250ZXh0LmdwX3JlZ3NbMjhdCisrICBzdGQgMjksIDB4 MWQwKDMpIC8vIGNvbnRleHQtPnVjX21jb250ZXh0LmdwX3JlZ3NbMjldCisrICBzdGQgMzAsIDB4 MWQ4KDMpIC8vIGNvbnRleHQtPnVjX21jb250ZXh0LmdwX3JlZ3NbMzBdCisrICBzdGQgMzEsIDB4 MWUwKDMpIC8vIGNvbnRleHQtPnVjX21jb250ZXh0LmdwX3JlZ3NbMzFdCisrCisrICAvLyBGb3Ig TklQLCB3ZSBjYW4gdXNlIHRoZSB2YWx1ZSBpbiB0aGUgbGluayByZWdpc3RlcgorKyAgbWZsciAw CisrICBzdGQgMCwgMHgxZTgoMykgLy8gY29udGV4dC0+dWNfbWNvbnRleHQuZ3BfcmVnc1tQVF9O SVBdCisrCisrICAvLyBDVFIKKysgIG1mY3RyIDAKKysgIHN0ZCAwLCAweDIwMCgzKSAvLyBjb250 ZXh0LT51Y19tY29udGV4dC5ncF9yZWdzW1BUX0NUUl0KKysKKysgIC8vIEZvciBMTkssIHdlJ2xs IHVzZSB0aGUgY2FsbGVyJ3MgTFIgc2F2ZSBhcmVhICgyIHN0YWNrIGZyYW1lcyB1cCkuCisrICAv LyByNCBjYW4gYmUgdXNlZCBhcyBhIHNjcmF0Y2ggcmVnaXN0ZXIgc2luY2UgaXQgaGFzIGFscmVh ZHkgYmVlbiBzYXZlZC4KKysgIGxkIDQsIDAoMSkKKysgIGxkIDQsIDE2KDQpCisrICBzdGQgNCwg MHgyMDgoMykgLy8gY29udGV4dC0+dWNfbWNvbnRleHQuZ3BfcmVnc1tQVF9MTktdCisrCisrICAv LyBYRVIKKysgIG1meGVyIDAKKysgIHN0ZCAwLCAweDIxMCgzKSAvLyBjb250ZXh0LT51Y19tY29u dGV4dC5ncF9yZWdzW1BUX1hFUl0KKysKKysgIC8vIENDUgorKyAgbWZjciAwCisrICBzdGQgMCwg MHgyMTgoMykgLy8gY29udGV4dC0+dWNfbWNvbnRleHQuZ3BfcmVnc1tQVF9DQ1JdCisrCisrICAv LyBNU1IsIG9yaWdfcjMsIE1RLCBUUkFQLCBEQVIsIERTSVNSLCBSRVNVTFQsIERTQ1IsCisrICAv LyBub3QgdXNlZCBvciBub3QgcmVsZXZhbnQsICB6ZXJvIHRoZW0gb3V0LgorKyAgbGkgNCwgMAor KyAgc3RkIDQsIDB4MWYwKDMpIC8vIGNvbnRleHQtPnVjX21jb250ZXh0LmdwX3JlZ3NbUFRfTVNS XQorKyAgc3RkIDQsIDB4MWY4KDMpIC8vIGNvbnRleHQtPnVjX21jb250ZXh0LmdwX3JlZ3NbUFRf T1JJR19SM10KKysgIHN0ZCA0LCAweDIyMCgzKSAvLyBjb250ZXh0LT51Y19tY29udGV4dC5ncF9y ZWdzW1BUX01RXQorKyAgc3RkIDQsIDB4MjI4KDMpIC8vIGNvbnRleHQtPnVjX21jb250ZXh0Lmdw X3JlZ3NbUFRfVFJBUF0KKysgIHN0ZCA0LCAweDIzMCgzKSAvLyBjb250ZXh0LT51Y19tY29udGV4 dC5ncF9yZWdzW1BUX0RBUl0KKysgIHN0ZCA0LCAweDIzOCgzKSAvLyBjb250ZXh0LT51Y19tY29u dGV4dC5ncF9yZWdzW1BUX0RTSVNSXQorKyAgc3RkIDQsIDB4MjQwKDMpIC8vIGNvbnRleHQtPnVj X21jb250ZXh0LmdwX3JlZ3NbUFRfUkVTVUxUXQorKyAgc3RkIDQsIDB4MjQ4KDMpIC8vIGNvbnRl eHQtPnVjX21jb250ZXh0LmdwX3JlZ3NbUFRfRFNDUl0KKysKKysgIC8vIFVwZGF0ZSBjb250ZXh0 LT51Y19tY29udGV4dC5yZWdzIHRvIHBvaW50IHRvIGdwX3JlZ3MKKysgIGFkZGkgMCwgMywgMHhl OAorKyAgc3RkIDAsIDB4ZTAoMykKKysKKysgIC8vIFNhdmUgZmxvYXRpbmcgcG9pbnQgcmVnaXN0 ZXJzIDAtMzEKKysgIHN0ZmQgMCwgMHgyNjgoMykgIC8vIGNvbnRleHQtPnVjX21jb250ZXh0LmZw X3JlZ3NbMF0KKysgIHN0ZmQgMSwgMHgyNzAoMykgIC8vIGNvbnRleHQtPnVjX21jb250ZXh0LmZw X3JlZ3NbMV0KKysgIHN0ZmQgMiwgMHgyNzgoMykgIC8vIGNvbnRleHQtPnVjX21jb250ZXh0LmZw X3JlZ3NbMl0KKysgIHN0ZmQgMywgMHgyODAoMykgIC8vIGNvbnRleHQtPnVjX21jb250ZXh0LmZw X3JlZ3NbM10KKysgIHN0ZmQgNCwgMHgyODgoMykgIC8vIGNvbnRleHQtPnVjX21jb250ZXh0LmZw X3JlZ3NbNF0KKysgIHN0ZmQgNSwgMHgyOTAoMykgIC8vIGNvbnRleHQtPnVjX21jb250ZXh0LmZw X3JlZ3NbNV0KKysgIHN0ZmQgNiwgMHgyOTgoMykgIC8vIGNvbnRleHQtPnVjX21jb250ZXh0LmZw X3JlZ3NbNl0KKysgIHN0ZmQgNywgMHgyYTAoMykgIC8vIGNvbnRleHQtPnVjX21jb250ZXh0LmZw X3JlZ3NbN10KKysgIHN0ZmQgOCwgMHgyYTgoMykgIC8vIGNvbnRleHQtPnVjX21jb250ZXh0LmZw X3JlZ3NbOF0KKysgIHN0ZmQgOSwgMHgyYjAoMykgIC8vIGNvbnRleHQtPnVjX21jb250ZXh0LmZw X3JlZ3NbOV0KKysgIHN0ZmQgMTAsIDB4MmI4KDMpIC8vIGNvbnRleHQtPnVjX21jb250ZXh0LmZw X3JlZ3NbMTBdCisrICBzdGZkIDExLCAweDJjMCgzKSAvLyBjb250ZXh0LT51Y19tY29udGV4dC5m cF9yZWdzWzExXQorKyAgc3RmZCAxMiwgMHgyYzgoMykgLy8gY29udGV4dC0+dWNfbWNvbnRleHQu ZnBfcmVnc1sxMl0KKysgIHN0ZmQgMTMsIDB4MmQwKDMpIC8vIGNvbnRleHQtPnVjX21jb250ZXh0 LmZwX3JlZ3NbMTNdCisrICBzdGZkIDE0LCAweDJkOCgzKSAvLyBjb250ZXh0LT51Y19tY29udGV4 dC5mcF9yZWdzWzE0XQorKyAgc3RmZCAxNSwgMHgyZTAoMykgLy8gY29udGV4dC0+dWNfbWNvbnRl eHQuZnBfcmVnc1sxNV0KKysgIHN0ZmQgMTYsIDB4MmU4KDMpIC8vIGNvbnRleHQtPnVjX21jb250 ZXh0LmZwX3JlZ3NbMTZdCisrICBzdGZkIDE3LCAweDJmMCgzKSAvLyBjb250ZXh0LT51Y19tY29u dGV4dC5mcF9yZWdzWzE3XQorKyAgc3RmZCAxOCwgMHgyZjgoMykgLy8gY29udGV4dC0+dWNfbWNv bnRleHQuZnBfcmVnc1sxOF0KKysgIHN0ZmQgMTksIDB4MzAwKDMpIC8vIGNvbnRleHQtPnVjX21j b250ZXh0LmZwX3JlZ3NbMTldCisrICBzdGZkIDIwLCAweDMwOCgzKSAvLyBjb250ZXh0LT51Y19t Y29udGV4dC5mcF9yZWdzWzIwXQorKyAgc3RmZCAyMSwgMHgzMTAoMykgLy8gY29udGV4dC0+dWNf bWNvbnRleHQuZnBfcmVnc1syMV0KKysgIHN0ZmQgMjIsIDB4MzE4KDMpIC8vIGNvbnRleHQtPnVj X21jb250ZXh0LmZwX3JlZ3NbMjJdCisrICBzdGZkIDIzLCAweDMyMCgzKSAvLyBjb250ZXh0LT51 Y19tY29udGV4dC5mcF9yZWdzWzIzXQorKyAgc3RmZCAyNCwgMHgzMjgoMykgLy8gY29udGV4dC0+ dWNfbWNvbnRleHQuZnBfcmVnc1syNF0KKysgIHN0ZmQgMjUsIDB4MzMwKDMpIC8vIGNvbnRleHQt PnVjX21jb250ZXh0LmZwX3JlZ3NbMjVdCisrICBzdGZkIDI2LCAweDMzOCgzKSAvLyBjb250ZXh0 LT51Y19tY29udGV4dC5mcF9yZWdzWzI2XQorKyAgc3RmZCAyNywgMHgzNDAoMykgLy8gY29udGV4 dC0+dWNfbWNvbnRleHQuZnBfcmVnc1syN10KKysgIHN0ZmQgMjgsIDB4MzQ4KDMpIC8vIGNvbnRl eHQtPnVjX21jb250ZXh0LmZwX3JlZ3NbMjhdCisrICBzdGZkIDI5LCAweDM1MCgzKSAvLyBjb250 ZXh0LT51Y19tY29udGV4dC5mcF9yZWdzWzI5XQorKyAgc3RmZCAzMCwgMHgzNTgoMykgLy8gY29u dGV4dC0+dWNfbWNvbnRleHQuZnBfcmVnc1szMF0KKysgIHN0ZmQgMzEsIDB4MzYwKDMpIC8vIGNv bnRleHQtPnVjX21jb250ZXh0LmZwX3JlZ3NbMzFdCisrCisrICAvLyBGUFNDUgorKyAgbWZmcyAw CisrICBzdGZkIDAsIDB4MzY4KDMpIC8vIGNvbnRleHQtPnVjX21jb250ZXh0LmZwX3JlZ3NbMzJd CisrCisrICAvLyBTYXZlIFZNWCBWZWN0b3IgcmVnaXN0ZXJzCisrICAvLyBVcGRhdGUgcjQgdG8g Y29udGFpbiB0aGUgYmFzZSBhZGRyZXNzIG9mIHZteF9yZXNlcnZlCisrICBhZGRpIDQsIDMsIDB4 Mzc4CisrICAvLyBFbnN1cmUgdGhhdCBpdCBpcyBxdWFkd29yZCBhbGlnbmVkCisrICBhbmRpLiA1 LCA0LCAweEYKKysgIGJlcSAxZiAvLyBObyBhbGlnbm1lbnQgaXMgbmVjZXNzYXJ5CisrICAvLyBB ZGRyZXNzIGlzIGRvdWJsZXdvcmQgYWxpZ25lZCBhbmQgbm90IHF1YWR3b3JkIGFsaWduZWQsIGFk ZCA4CisrICBhZGRpIDQsIDQsIDgKKysKKysxOgorKyAgLy8gU3RvcmUgVk1YIHJlZ2lzdGVycyAw LTMxCisrICAvLyByNCB3aWxsIGNvbnRhaW4gdGhlIGJhc2UgYWRkcmVzcworKyAgLy8gcjUgd2ls bCBjb250YWluIHRoZSBpbmRleAorKyAgbGkgNSwgMAorKyAgc3R2eCAwLCA0LCA1ICAgLy8gY29u dGV4dC0+dWNfbWNvbnRleHQudm14X3Jlc2VydmVbKGFsaWduKSArIDBdCisrICBhZGRpIDUsIDUs IDE2CisrICBzdHZ4IDEsIDQsIDUgICAvLyBjb250ZXh0LT51Y19tY29udGV4dC52bXhfcmVzZXJ2 ZVsoYWxpZ24pICsgMV0KKysgIGFkZGkgNSwgNSwgMTYKKysgIHN0dnggMiwgNCwgNSAgIC8vIGNv bnRleHQtPnVjX21jb250ZXh0LnZteF9yZXNlcnZlWyhhbGlnbikgKyAyXQorKyAgYWRkaSA1LCA1 LCAxNgorKyAgc3R2eCAzLCA0LCA1ICAgLy8gY29udGV4dC0+dWNfbWNvbnRleHQudm14X3Jlc2Vy dmVbKGFsaWduKSArIDNdCisrICBhZGRpIDUsIDUsIDE2CisrICBzdHZ4IDQsIDQsIDUgICAvLyBj b250ZXh0LT51Y19tY29udGV4dC52bXhfcmVzZXJ2ZVsoYWxpZ24pICsgNF0KKysgIGFkZGkgNSwg NSwgMTYKKysgIHN0dnggNSwgNCwgNSAgIC8vIGNvbnRleHQtPnVjX21jb250ZXh0LnZteF9yZXNl cnZlWyhhbGlnbikgKyA1XQorKyAgYWRkaSA1LCA1LCAxNgorKyAgc3R2eCA2LCA0LCA1ICAgLy8g Y29udGV4dC0+dWNfbWNvbnRleHQudm14X3Jlc2VydmVbKGFsaWduKSArIDZdCisrICBhZGRpIDUs IDUsIDE2CisrICBzdHZ4IDcsIDQsIDUgICAvLyBjb250ZXh0LT51Y19tY29udGV4dC52bXhfcmVz ZXJ2ZVsoYWxpZ24pICsgN10KKysgIGFkZGkgNSwgNSwgMTYKKysgIHN0dnggOCwgNCwgNSAgIC8v IGNvbnRleHQtPnVjX21jb250ZXh0LnZteF9yZXNlcnZlWyhhbGlnbikgKyA4XQorKyAgYWRkaSA1 LCA1LCAxNgorKyAgc3R2eCA5LCA0LCA1ICAgLy8gY29udGV4dC0+dWNfbWNvbnRleHQudm14X3Jl c2VydmVbKGFsaWduKSArIDldCisrICBhZGRpIDUsIDUsIDE2CisrICBzdHZ4IDEwLCA0LCA1ICAv LyBjb250ZXh0LT51Y19tY29udGV4dC52bXhfcmVzZXJ2ZVsoYWxpZ24pICsgMTBdCisrICBhZGRp IDUsIDUsIDE2CisrICBzdHZ4IDExLCA0LCA1ICAvLyBjb250ZXh0LT51Y19tY29udGV4dC52bXhf cmVzZXJ2ZVsoYWxpZ24pICsgMTFdCisrICBhZGRpIDUsIDUsIDE2CisrICBzdHZ4IDEyLCA0LCA1 ICAvLyBjb250ZXh0LT51Y19tY29udGV4dC52bXhfcmVzZXJ2ZVsoYWxpZ24pICsgMTJdCisrICBh ZGRpIDUsIDUsIDE2CisrICBzdHZ4IDEzLCA0LCA1ICAvLyBjb250ZXh0LT51Y19tY29udGV4dC52 bXhfcmVzZXJ2ZVsoYWxpZ24pICsgMTNdCisrICBhZGRpIDUsIDUsIDE2CisrICBzdHZ4IDE0LCA0 LCA1ICAvLyBjb250ZXh0LT51Y19tY29udGV4dC52bXhfcmVzZXJ2ZVsoYWxpZ24pICsgMTRdCisr ICBhZGRpIDUsIDUsIDE2CisrICBzdHZ4IDE1LCA0LCA1ICAvLyBjb250ZXh0LT51Y19tY29udGV4 dC52bXhfcmVzZXJ2ZVsoYWxpZ24pICsgMTVdCisrICBhZGRpIDUsIDUsIDE2CisrICBzdHZ4IDE2 LCA0LCA1ICAvLyBjb250ZXh0LT51Y19tY29udGV4dC52bXhfcmVzZXJ2ZVsoYWxpZ24pICsgMTZd CisrICBhZGRpIDUsIDUsIDE2CisrICBzdHZ4IDE3LCA0LCA1ICAvLyBjb250ZXh0LT51Y19tY29u dGV4dC52bXhfcmVzZXJ2ZVsoYWxpZ24pICsgMTddCisrICBhZGRpIDUsIDUsIDE2CisrICBzdHZ4 IDE4LCA0LCA1ICAvLyBjb250ZXh0LT51Y19tY29udGV4dC52bXhfcmVzZXJ2ZVsoYWxpZ24pICsg MThdCisrICBhZGRpIDUsIDUsIDE2CisrICBzdHZ4IDE5LCA0LCA1ICAvLyBjb250ZXh0LT51Y19t Y29udGV4dC52bXhfcmVzZXJ2ZVsoYWxpZ24pICsgMTldCisrICBhZGRpIDUsIDUsIDE2CisrICBz dHZ4IDIwLCA0LCA1ICAvLyBjb250ZXh0LT51Y19tY29udGV4dC52bXhfcmVzZXJ2ZVsoYWxpZ24p ICsgMjBdCisrICBhZGRpIDUsIDUsIDE2CisrICBzdHZ4IDIxLCA0LCA1ICAvLyBjb250ZXh0LT51 Y19tY29udGV4dC52bXhfcmVzZXJ2ZVsoYWxpZ24pICsgMjFdCisrICBhZGRpIDUsIDUsIDE2Cisr ICBzdHZ4IDIyLCA0LCA1ICAvLyBjb250ZXh0LT51Y19tY29udGV4dC52bXhfcmVzZXJ2ZVsoYWxp Z24pICsgMjJdCisrICBhZGRpIDUsIDUsIDE2CisrICBzdHZ4IDIzLCA0LCA1ICAvLyBjb250ZXh0 LT51Y19tY29udGV4dC52bXhfcmVzZXJ2ZVsoYWxpZ24pICsgMjNdCisrICBhZGRpIDUsIDUsIDE2 CisrICBzdHZ4IDI0LCA0LCA1ICAvLyBjb250ZXh0LT51Y19tY29udGV4dC52bXhfcmVzZXJ2ZVso YWxpZ24pICsgMjRdCisrICBhZGRpIDUsIDUsIDE2CisrICBzdHZ4IDI1LCA0LCA1ICAvLyBjb250 ZXh0LT51Y19tY29udGV4dC52bXhfcmVzZXJ2ZVsoYWxpZ24pICsgMjVdCisrICBhZGRpIDUsIDUs IDE2CisrICBzdHZ4IDI2LCA0LCA1ICAvLyBjb250ZXh0LT51Y19tY29udGV4dC52bXhfcmVzZXJ2 ZVsoYWxpZ24pICsgMjZdCisrICBhZGRpIDUsIDUsIDE2CisrICBzdHZ4IDI3LCA0LCA1ICAvLyBj b250ZXh0LT51Y19tY29udGV4dC52bXhfcmVzZXJ2ZVsoYWxpZ24pICsgMjddCisrICBhZGRpIDUs IDUsIDE2CisrICBzdHZ4IDI4LCA0LCA1ICAvLyBjb250ZXh0LT51Y19tY29udGV4dC52bXhfcmVz ZXJ2ZVsoYWxpZ24pICsgMjhdCisrICBhZGRpIDUsIDUsIDE2CisrICBzdHZ4IDI5LCA0LCA1ICAv LyBjb250ZXh0LT51Y19tY29udGV4dC52bXhfcmVzZXJ2ZVsoYWxpZ24pICsgMjldCisrICBhZGRp IDUsIDUsIDE2CisrICBzdHZ4IDMwLCA0LCA1ICAvLyBjb250ZXh0LT51Y19tY29udGV4dC52bXhf cmVzZXJ2ZVsoYWxpZ24pICsgMzBdCisrICBhZGRpIDUsIDUsIDE2CisrICBzdHZ4IDMxLCA0LCA1 ICAvLyBjb250ZXh0LT51Y19tY29udGV4dC52bXhfcmVzZXJ2ZVsoYWxpZ24pICsgMzFdCisrICBh ZGRpIDUsIDUsIDE2CisrCisrICAvLyBWU0NSCisrICBtZnZzY3IgMAorKyAgc3R2eCAwLCA0LCA1 CisrICBhZGRpIDUsIDUsIDE2CisrCisrICAvLyBWUlNBVkUKKysgIG1mdnJzYXZlIDAKKysgIHN0 d3ggMCwgNCwgNQorKworKyAgLy8gVXBkYXRlIGNvbnRleHQtPnVjX21jb250ZXh0LnZfcmVncyB0 byBwb2ludCB0byB2bXhfcmVzZXJ2ZSArIGFsaWdubWVudC4KKysgIHN0ZCA0LCAweDM3MCgzKQor KworKyAgLy8gWmVybyBvdXQgYWxsIHVudXNlZCBmaWVsZHMKKysgIGxpIDQsIDAKKysgIHN0ZCA0 LCAweGM4KDMpIC8vIGNvbnRleHQtPnVjX21jb250ZXh0LnNpZ25hbAorKyAgc3RkIDQsIDB4ZDAo MykgLy8gY29udGV4dC0+dWNfbWNvbnRleHQuaGFuZGxlcgorKyAgc3RkIDQsIDB4ZDgoMykgLy8g Y29udGV4dC0+dWNfbWNvbnRleHQub2xkbWFzaworKworKyAgYmxyCisgI2VuZGlmICAvLyBfX2kz ODZfXworZGlmZiAtLWdpdCBhL3NyYy8zcmRwYXJ0eS9jaHJvbWl1bS90aGlyZF9wYXJ0eS9jcmFz aHBhZC9jcmFzaHBhZC91dGlsL21pc2MvY2FwdHVyZV9jb250ZXh0X3Rlc3QuY2MgYi9zcmMvM3Jk cGFydHkvY2hyb21pdW0vdGhpcmRfcGFydHkvY3Jhc2hwYWQvY3Jhc2hwYWQvdXRpbC9taXNjL2Nh cHR1cmVfY29udGV4dF90ZXN0LmNjCitpbmRleCBjZjIzYzJkZWYuLjVmMjY0YmM5MiAxMDA2NDQK Ky0tLSBhL3NyYy8zcmRwYXJ0eS9jaHJvbWl1bS90aGlyZF9wYXJ0eS9jcmFzaHBhZC9jcmFzaHBh ZC91dGlsL21pc2MvY2FwdHVyZV9jb250ZXh0X3Rlc3QuY2MKKysrKyBiL3NyYy8zcmRwYXJ0eS9j aHJvbWl1bS90aGlyZF9wYXJ0eS9jcmFzaHBhZC9jcmFzaHBhZC91dGlsL21pc2MvY2FwdHVyZV9j b250ZXh0X3Rlc3QuY2MKK0BAIC01Nyw3ICs1Nyw3IEBAIHZvaWQgVGVzdENhcHR1cmVDb250ZXh0 KCkgeworICAgdWludHB0cl90IHBjID0gUHJvZ3JhbUNvdW50ZXJGcm9tQ29udGV4dChjb250ZXh0 XzEpOworIAorICNpZiAhZGVmaW5lZChBRERSRVNTX1NBTklUSVpFUikgJiYgIWRlZmluZWQoQVJD SF9DUFVfTUlQU19GQU1JTFkpICYmIFwKKy0gICAgIWRlZmluZWQoTUVNT1JZX1NBTklUSVpFUikK KysgICAgIWRlZmluZWQoTUVNT1JZX1NBTklUSVpFUikgJiYgIWRlZmluZWQoQVJDSF9DUFVfUFBD NjRfRkFNSUxZKQorICAgLy8gU2FuaXRpemVycyBjYW4gY2F1c2UgZW5vdWdoIGNvZGUgYmxvYXQg dGhhdCB0aGUg4oCcbmVhcmJ54oCdIGNoZWNrIHdvdWxkCisgICAvLyBsaWtlbHkgZmFpbC4KKyAg IGNvbnN0IHVpbnRwdHJfdCBrUmVmZXJlbmNlUEMgPQorZGlmZiAtLWdpdCBhL3NyYy8zcmRwYXJ0 eS9jaHJvbWl1bS90aGlyZF9wYXJ0eS9jcmFzaHBhZC9jcmFzaHBhZC91dGlsL21pc2MvY2FwdHVy ZV9jb250ZXh0X3Rlc3RfdXRpbF9saW51eC5jYyBiL3NyYy8zcmRwYXJ0eS9jaHJvbWl1bS90aGly ZF9wYXJ0eS9jcmFzaHBhZC9jcmFzaHBhZC91dGlsL21pc2MvY2FwdHVyZV9jb250ZXh0X3Rlc3Rf dXRpbF9saW51eC5jYworaW5kZXggOWZjNWRiMjhjLi41ZjY5ZjhkY2UgMTAwNjQ0CistLS0gYS9z cmMvM3JkcGFydHkvY2hyb21pdW0vdGhpcmRfcGFydHkvY3Jhc2hwYWQvY3Jhc2hwYWQvdXRpbC9t aXNjL2NhcHR1cmVfY29udGV4dF90ZXN0X3V0aWxfbGludXguY2MKKysrKyBiL3NyYy8zcmRwYXJ0 eS9jaHJvbWl1bS90aGlyZF9wYXJ0eS9jcmFzaHBhZC9jcmFzaHBhZC91dGlsL21pc2MvY2FwdHVy ZV9jb250ZXh0X3Rlc3RfdXRpbF9saW51eC5jYworQEAgLTM2LDYgKzM2LDggQEAgdm9pZCBTYW5p dHlDaGVja0NvbnRleHQoY29uc3QgTmF0aXZlQ1BVQ29udGV4dCYgY29udGV4dCkgeworICAgRVhQ RUNUX0VRKGNvbnRleHQudWNfbWNvbnRleHQucmVnc1swXSwgRnJvbVBvaW50ZXJDYXN0PHVpbnRw dHJfdD4oJmNvbnRleHQpKTsKKyAjZWxpZiBkZWZpbmVkKEFSQ0hfQ1BVX01JUFNfRkFNSUxZKQor ICAgRVhQRUNUX0VRKGNvbnRleHQudWNfbWNvbnRleHQuZ3JlZ3NbNF0sIEZyb21Qb2ludGVyQ2Fz dDx1aW50cHRyX3Q+KCZjb250ZXh0KSk7CisrI2VsaWYgZGVmaW5lZChBUkNIX0NQVV9QUEM2NF9G QU1JTFkpCisrICBFWFBFQ1RfRVEoY29udGV4dC51Y19tY29udGV4dC5ncF9yZWdzWzNdLCBGcm9t UG9pbnRlckNhc3Q8dWludHB0cl90PigmY29udGV4dCkpOworICNlbmRpZgorIH0KKyAKK0BAIC01 MCw2ICs1Miw4IEBAIHVpbnRwdHJfdCBQcm9ncmFtQ291bnRlckZyb21Db250ZXh0KGNvbnN0IE5h dGl2ZUNQVUNvbnRleHQmIGNvbnRleHQpIHsKKyAgIHJldHVybiBjb250ZXh0LnVjX21jb250ZXh0 LnBjOworICNlbGlmIGRlZmluZWQoQVJDSF9DUFVfTUlQU19GQU1JTFkpCisgICByZXR1cm4gY29u dGV4dC51Y19tY29udGV4dC5wYzsKKysjZWxpZiBkZWZpbmVkKEFSQ0hfQ1BVX1BQQzY0X0ZBTUlM WSkKKysgIHJldHVybiBjb250ZXh0LnVjX21jb250ZXh0LmdwX3JlZ3NbUFRfTklQXTsKKyAjZW5k aWYKKyB9CisgCitAQCAtNjQsNiArNjgsOCBAQCB1aW50cHRyX3QgU3RhY2tQb2ludGVyRnJvbUNv bnRleHQoY29uc3QgTmF0aXZlQ1BVQ29udGV4dCYgY29udGV4dCkgeworICAgcmV0dXJuIGNvbnRl eHQudWNfbWNvbnRleHQuc3A7CisgI2VsaWYgZGVmaW5lZChBUkNIX0NQVV9NSVBTX0ZBTUlMWSkK KyAgIHJldHVybiBjb250ZXh0LnVjX21jb250ZXh0LmdyZWdzWzI5XTsKKysjZWxpZiBkZWZpbmVk KEFSQ0hfQ1BVX1BQQzY0X0ZBTUlMWSkKKysgIHJldHVybiBjb250ZXh0LnVjX21jb250ZXh0Lmdw X3JlZ3NbMV07CisgI2VuZGlmCisgfQorIAorZGlmZiAtLWdpdCBhL3NyYy8zcmRwYXJ0eS9jaHJv bWl1bS90aGlyZF9wYXJ0eS9jcmFzaHBhZC9jcmFzaHBhZC91dGlsL3Bvc2l4L3NpZ25hbHNfdGVz dC5jYyBiL3NyYy8zcmRwYXJ0eS9jaHJvbWl1bS90aGlyZF9wYXJ0eS9jcmFzaHBhZC9jcmFzaHBh ZC91dGlsL3Bvc2l4L3NpZ25hbHNfdGVzdC5jYworaW5kZXggNThiZmE4ZjgzLi44ZmMzN2M0NjQg MTAwNjQ0CistLS0gYS9zcmMvM3JkcGFydHkvY2hyb21pdW0vdGhpcmRfcGFydHkvY3Jhc2hwYWQv Y3Jhc2hwYWQvdXRpbC9wb3NpeC9zaWduYWxzX3Rlc3QuY2MKKysrKyBiL3NyYy8zcmRwYXJ0eS9j aHJvbWl1bS90aGlyZF9wYXJ0eS9jcmFzaHBhZC9jcmFzaHBhZC91dGlsL3Bvc2l4L3NpZ25hbHNf dGVzdC5jYworQEAgLTQ2LDEyICs0NiwxMiBAQCBib29sIENhbkNhdXNlU2lnbmFsKGludCBzaWcp IHsKKyAgIHJldHVybiBzaWcgPT0gU0lHQUJSVCB8fAorICAgICAgICAgIHNpZyA9PSBTSUdBTFJN IHx8CisgICAgICAgICAgc2lnID09IFNJR0JVUyB8fAorLSNpZiAhZGVmaW5lZChBUkNIX0NQVV9B Uk02NCkKKysjaWYgIWRlZmluZWQoQVJDSF9DUFVfQVJNNjQpICYmICFkZWZpbmVkKEFSQ0hfQ1BV X1BQQzY0KQorICAgICAgICAgIHNpZyA9PSBTSUdGUEUgfHwKKy0jZW5kaWYgIC8vICFkZWZpbmVk KEFSQ0hfQ1BVX0FSTTY0KQorKyNlbmRpZiAgLy8gIWRlZmluZWQoQVJDSF9DUFVfQVJNNjQpICYm ICFkZWZpbmVkKEFSQ0hfQ1BVX1BQQzY0KQorICNpZiBkZWZpbmVkKEFSQ0hfQ1BVX1g4Nl9GQU1J TFkpIHx8IGRlZmluZWQoQVJDSF9DUFVfQVJNRUwpCisgICAgICAgICAgc2lnID09IFNJR0lMTCB8 fAorICNlbmRpZiAgLy8gZGVmaW5lZChBUkNIX0NQVV9YODZfRkFNSUxZKSB8fCBkZWZpbmVkKEFS Q0hfQ1BVX0FSTUVMKQorICAgICAgICAgIHNpZyA9PSBTSUdQSVBFIHx8CisgICAgICAgICAgc2ln ID09IFNJR1NFR1YgfHwKKyAjaWYgZGVmaW5lZChPU19NQUNPU1gpCitAQCAtMTE3LDkgKzExNywx MSBAQCB2b2lkIENhdXNlU2lnbmFsKGludCBzaWcpIHsKKyAgICAgICBicmVhazsKKyAgICAgfQor IAorLSNpZiAhZGVmaW5lZChBUkNIX0NQVV9BUk02NCkKKysjaWYgIWRlZmluZWQoQVJDSF9DUFVf QVJNNjQpICYmICFkZWZpbmVkKEFSQ0hfQ1BVX1BQQzY0KQorICAgICAvLyBBUk02NCBoYXMgaGFy ZHdhcmUgaW50ZWdlciBkaXZpc2lvbiBpbnN0cnVjdGlvbnMgdGhhdCBkb27igJl0IGdlbmVyYXRl IGEKKyAgICAgLy8gdHJhcCBmb3IgZGl2aWRlLWJ5LXplcm8sIHNvIHRoaXMgZG9lc27igJl0IHBy b2R1Y2UgU0lHRlBFLgorKyAgICAvLworKyAgICAvLyBQUEM2NCBmaXhlZC1wb2ludCBkaXZpc2lv biBieSB6ZXJvIGFsc28gZG9lc24ndCBwcm9kdWNlIGEgU0lHRlBFLgorICAgICBjYXNlIFNJR0ZQ RTogeworICAgICAgIC8vIE9wdGltaXphdGlvbiBtYWtlcyB0aGlzIHRyaWNreSwgc28gZ2V0IHpl cm8gZnJvbSBhIHN5c3RlbSBjYWxsIGxpa2VseQorICAgICAgIC8vIHRvIHN1Y2NlZWQsIGFuZCB0 cnkgdG8gZG8gc29tZXRoaW5nIHdpdGggdGhlIHJlc3VsdC4KK0BAIC0xMzcsNyArMTM5LDcgQEAg dm9pZCBDYXVzZVNpZ25hbChpbnQgc2lnKSB7CisgICAgICAgZnN0YXQocXVvdGllbnQsICZzdGF0 X2J1Zik7CisgICAgICAgYnJlYWs7CisgICAgIH0KKy0jZW5kaWYgIC8vIEFSQ0hfQ1BVX0FSTTY0 CisrI2VuZGlmICAvLyAhZGVmaW5lZChBUkNIX0NQVV9BUk02NCkgJiYgIWRlZmluZWQoQVJDSF9D UFVfUFBDNjQpCisgCisgI2lmIGRlZmluZWQoQVJDSF9DUFVfWDg2X0ZBTUlMWSkgfHwgZGVmaW5l ZChBUkNIX0NQVV9BUk1FTCkKKyAgICAgY2FzZSBTSUdJTEw6IHsKK2RpZmYgLS1naXQgYS9zcmMv M3JkcGFydHkvY2hyb21pdW0vdGhpcmRfcGFydHkvZGF2MWQvQlVJTEQuZ24gYi9zcmMvM3JkcGFy dHkvY2hyb21pdW0vdGhpcmRfcGFydHkvZGF2MWQvQlVJTEQuZ24KK2luZGV4IDc4OGRjNmNmZi4u NWZkN2U4ZmRhIDEwMDY0NAorLS0tIGEvc3JjLzNyZHBhcnR5L2Nocm9taXVtL3RoaXJkX3BhcnR5 L2RhdjFkL0JVSUxELmduCisrKysgYi9zcmMvM3JkcGFydHkvY2hyb21pdW0vdGhpcmRfcGFydHkv ZGF2MWQvQlVJTEQuZ24KK0BAIC0xODIsNiArMTgyLDggQEAgc3RhdGljX2xpYnJhcnkoImRhdjFk XzhiaXQiKSB7CisgICAgIHNvdXJjZXMgKz0gYXJtX3RlbXBsYXRlX3NvdXJjZXMKKyAgIH0gZWxz ZSBpZiAoY3VycmVudF9jcHUgPT0gImFybTY0IikgeworICAgICBzb3VyY2VzICs9IGFybV90ZW1w bGF0ZV9zb3VyY2VzCisrICB9IGVsc2UgaWYgKGN1cnJlbnRfY3B1ID09ICJwcGM2NCIpIHsKKysg ICAgc291cmNlcyArPSBwcGM2NF90ZW1wbGF0ZV9zb3VyY2VzCisgICB9CisgCisgICBjZmxhZ3Mg PSBkYXYxZF9jb3B0cworQEAgLTIxMCw2ICsyMTIsOCBAQCBzdGF0aWNfbGlicmFyeSgiZGF2MWRf MTBiaXQiKSB7CisgICAgIHNvdXJjZXMgKz0gYXJtX3RlbXBsYXRlX3NvdXJjZXMKKyAgIH0gZWxz ZSBpZiAoY3VycmVudF9jcHUgPT0gImFybTY0IikgeworICAgICBzb3VyY2VzICs9IGFybV90ZW1w bGF0ZV9zb3VyY2VzCisrICB9IGVsc2UgaWYgKGN1cnJlbnRfY3B1ID09ICJwcGM2NCIpIHsKKysg ICAgc291cmNlcyArPSBwcGM2NF90ZW1wbGF0ZV9zb3VyY2VzCisgICB9CisgCisgICBjZmxhZ3Mg PSBkYXYxZF9jb3B0cworQEAgLTI1Niw2ICsyNjAsMjEgQEAgaWYgKGN1cnJlbnRfY3B1ID09ICJ4 ODYiIHx8IGN1cnJlbnRfY3B1ID09ICJ4NjQiKSB7CisgICAgICAgIjpkYXYxZF9jb25maWciLAor ICAgICBdCisgCisrICAgIGNmbGFncyA9IGRhdjFkX2NvcHRzCisrICB9CisrfSBlbHNlIGlmIChj dXJyZW50X2NwdSA9PSAicHBjNjQiKSB7CisrICBzdGF0aWNfbGlicmFyeSgiZGF2MWRfcHBjIikg eworKyAgICBzb3VyY2VzID0gWworKyAgICAgICJsaWJkYXYxZC9zcmMvcHBjL2NwdS5jIiwKKysg ICAgICAibGliZGF2MWQvc3JjL3BwYy9jcHUuaCIsCisrICAgIF0KKysKKysgICAgY29uZmlncyAt PSBbICIvL2J1aWxkL2NvbmZpZy9jb21waWxlcjpjaHJvbWl1bV9jb2RlIiBdCisrICAgIGNvbmZp Z3MgKz0gWworKyAgICAgICIvL2J1aWxkL2NvbmZpZy9jb21waWxlcjpub19jaHJvbWl1bV9jb2Rl IiwKKysgICAgICAiOmRhdjFkX2NvbmZpZyIsCisrICAgIF0KKysKKyAgICAgY2ZsYWdzID0gZGF2 MWRfY29wdHMKKyAgIH0KKyB9CitAQCAtMjg1LDUgKzMwNCw3IEBAIHN0YXRpY19saWJyYXJ5KCJk YXYxZCIpIHsKKyAgICAgfQorICAgfSBlbHNlIGlmIChjdXJyZW50X2NwdSA9PSAiYXJtIiB8fCBj dXJyZW50X2NwdSA9PSAiYXJtNjQiKSB7CisgICAgIGRlcHMgKz0gWyAiOmRhdjFkX2FybSIgXQor KyAgfSBlbHNlIGlmIChjdXJyZW50X2NwdSA9PSAicHBjNjQiKSB7CisrICAgIGRlcHMgKz0gWyAi OmRhdjFkX3BwYyIgXQorICAgfQorIH0KK2RpZmYgLS1naXQgYS9zcmMvM3JkcGFydHkvY2hyb21p dW0vdGhpcmRfcGFydHkvZGF2MWQvY29uZmlnL2xpbnV4L3BwYzY0L2NvbmZpZy5oIGIvc3JjLzNy ZHBhcnR5L2Nocm9taXVtL3RoaXJkX3BhcnR5L2RhdjFkL2NvbmZpZy9saW51eC9wcGM2NC9jb25m aWcuaAorbmV3IGZpbGUgbW9kZSAxMDA2NDQKK2luZGV4IDAwMDAwMDAwMC4uOWZiYmY3NWNjCist LS0gL2Rldi9udWxsCisrKysgYi9zcmMvM3JkcGFydHkvY2hyb21pdW0vdGhpcmRfcGFydHkvZGF2 MWQvY29uZmlnL2xpbnV4L3BwYzY0L2NvbmZpZy5oCitAQCAtMCwwICsxLDM5IEBACisrLyoKKysg KiBBdXRvZ2VuZXJhdGVkIGJ5IHRoZSBNZXNvbiBidWlsZCBzeXN0ZW0uCisrICogRG8gbm90IGVk aXQsIHlvdXIgY2hhbmdlcyB3aWxsIGJlIGxvc3QuCisrICovCisrCisrI3ByYWdtYSBvbmNlCisr CisrI2RlZmluZSBBUkNIX0FBUkNINjQgMAorKworKyNkZWZpbmUgQVJDSF9BUk0gMAorKworKyNk ZWZpbmUgQVJDSF9QUEM2NExFIDEKKysKKysjZGVmaW5lIEFSQ0hfWDg2IDAKKysKKysjZGVmaW5l IEFSQ0hfWDg2XzMyIDAKKysKKysjZGVmaW5lIEFSQ0hfWDg2XzY0IDAKKysKKysjZGVmaW5lIENP TkZJR18xNkJQQyAxCisrCisrI2RlZmluZSBDT05GSUdfOEJQQyAxCisrCisrLy8gI2RlZmluZSBD T05GSUdfTE9HIDEgLS0gTG9nZ2luZyBpcyBjb250cm9sbGVkIGJ5IENocm9taXVtCisrCisrI2Rl ZmluZSBFTkRJQU5ORVNTX0JJRyAwCisrCisrI2RlZmluZSBIQVZFX0FTTSAxCisrCisrI2RlZmlu ZSBIQVZFX0NMT0NLX0dFVFRJTUUgMQorKworKyNkZWZpbmUgSEFWRV9ETFNZTSAxCisrCisrI2Rl ZmluZSBIQVZFX0dFVEFVWFZBTCAxCisrCisrI2RlZmluZSBIQVZFX1BPU0lYX01FTUFMSUdOIDEK KysKKysjZGVmaW5lIEhBVkVfVU5JU1REX0ggMQorKworZGlmZiAtLWdpdCBhL3NyYy8zcmRwYXJ0 eS9jaHJvbWl1bS90aGlyZF9wYXJ0eS9kYXYxZC9kYXYxZF9nZW5lcmF0ZWQuZ25pIGIvc3JjLzNy ZHBhcnR5L2Nocm9taXVtL3RoaXJkX3BhcnR5L2RhdjFkL2RhdjFkX2dlbmVyYXRlZC5nbmkKK2lu ZGV4IDQ1ODkzNWNkOC4uZjBjYmM0YWVkIDEwMDY0NAorLS0tIGEvc3JjLzNyZHBhcnR5L2Nocm9t aXVtL3RoaXJkX3BhcnR5L2RhdjFkL2RhdjFkX2dlbmVyYXRlZC5nbmkKKysrKyBiL3NyYy8zcmRw YXJ0eS9jaHJvbWl1bS90aGlyZF9wYXJ0eS9kYXYxZC9kYXYxZF9nZW5lcmF0ZWQuZ25pCitAQCAt NzAsNiArNzAsMTEgQEAgYXJtX3RlbXBsYXRlX3NvdXJjZXMgPSBbCisgICAibGliZGF2MWQvc3Jj L2FybS9tY19pbml0X3RtcGwuYyIsCisgXQorIAorK3BwYzY0X3RlbXBsYXRlX3NvdXJjZXMgPSBb CisrICAibGliZGF2MWQvc3JjL3BwYy9jZGVmX2luaXRfdG1wbC5jIiwKKysgICJsaWJkYXYxZC9z cmMvcHBjL2xvb3ByZXN0b3JhdGlvbl9pbml0X3RtcGwuYyIsCisrXQorKworIHRlbXBsYXRlX3Nv dXJjZXMgPSBbCisgICAibGliZGF2MWQvc3JjL2NkZWZfYXBwbHlfdG1wbC5jIiwKKyAgICJsaWJk YXYxZC9zcmMvY2RlZl90bXBsLmMiLAorZGlmZiAtLWdpdCBhL3NyYy8zcmRwYXJ0eS9jaHJvbWl1 bS90aGlyZF9wYXJ0eS9kYXYxZC9nZW5lcmF0ZV9zb3VyY2UucHkgYi9zcmMvM3JkcGFydHkvY2hy b21pdW0vdGhpcmRfcGFydHkvZGF2MWQvZ2VuZXJhdGVfc291cmNlLnB5CitpbmRleCA5YWI1ZTAw YjguLmFkM2ZlZmZlZSAxMDA3NTUKKy0tLSBhL3NyYy8zcmRwYXJ0eS9jaHJvbWl1bS90aGlyZF9w YXJ0eS9kYXYxZC9nZW5lcmF0ZV9zb3VyY2UucHkKKysrKyBiL3NyYy8zcmRwYXJ0eS9jaHJvbWl1 bS90aGlyZF9wYXJ0eS9kYXYxZC9nZW5lcmF0ZV9zb3VyY2UucHkKK0BAIC01MCw3ICs1MCw4IEBA IGRlZiBXcml0ZUduKGZkKToKKyAgIFdyaXRlQXJyYXkoZmQsICJhcm0zMl9hc21fc291cmNlcyIs IGdsb2IuZ2xvYigibGliZGF2MWQvc3JjL2FybS8zMi8qLlMiKSkKKyAgIFdyaXRlQXJyYXkoZmQs ICJhcm02NF9hc21fc291cmNlcyIsIGdsb2IuZ2xvYigibGliZGF2MWQvc3JjL2FybS82NC8qLlMi KSkKKyAgIFdyaXRlQXJyYXkoZmQsICJhcm1fdGVtcGxhdGVfc291cmNlcyIsIGdsb2IuZ2xvYigi bGliZGF2MWQvc3JjL2FybS8qX3RtcGwuYyIpKQorLQorKyAgV3JpdGVBcnJheShmZCwgInBwYzY0 X3RlbXBsYXRlX3NvdXJjZXMiLCBnbG9iLmdsb2IoImxpYmRhdjFkL3NyYy9wcGMvKl90bXBsLmMi KSkKKysgCisgICB0ZW1wbGF0ZV9zb3VyY2VzID0gZ2xvYi5nbG9iKCJsaWJkYXYxZC9zcmMvKl90 bXBsLmMiKQorICAgV3JpdGVBcnJheShmZCwgInRlbXBsYXRlX3NvdXJjZXMiLCB0ZW1wbGF0ZV9z b3VyY2VzKQorIAorZGlmZiAtLWdpdCBhL3NyYy8zcmRwYXJ0eS9jaHJvbWl1bS90aGlyZF9wYXJ0 eS9kYXYxZC9saWJkYXYxZC9zcmMvcHBjL3R5cGVzLmggYi9zcmMvM3JkcGFydHkvY2hyb21pdW0v dGhpcmRfcGFydHkvZGF2MWQvbGliZGF2MWQvc3JjL3BwYy90eXBlcy5oCitpbmRleCAwYjRiZDcy ZjAuLmEwY2FhNWU3MSAxMDA2NDQKKy0tLSBhL3NyYy8zcmRwYXJ0eS9jaHJvbWl1bS90aGlyZF9w YXJ0eS9kYXYxZC9saWJkYXYxZC9zcmMvcHBjL3R5cGVzLmgKKysrKyBiL3NyYy8zcmRwYXJ0eS9j aHJvbWl1bS90aGlyZF9wYXJ0eS9kYXYxZC9saWJkYXYxZC9zcmMvcHBjL3R5cGVzLmgKK0BAIC01 MSw0ICs1MSwxOSBAQAorICNkZWZpbmUgdTE2bF90b19pMzIodikgKChpMzJ4NCkgdmVjX21lcmdl bCgodTE2eDgpIHYsIHZlY19zcGxhdF91MTYoMCkpKQorICNkZWZpbmUgaTE2bF90b19pMzIodikg KChpMzJ4NCkgdmVjX3VucGFja2woKGkxNng4KXYpKQorIAorKyNpZiBkZWZpbmVkKF9fY2xhbmdf XykKKysjdW5kZWYgdmVjX3NwbGF0cworKyNkZWZpbmUgdmVjX3NwbGF0cyhOKSAgICAgICAgICAg ICAgICAgICAgIFwKKysgICAgX0dlbmVyaWMoKE4pLCAgICAgICAgICAgICAgICAgICAgICAgICBc CisrICAgICAgICB1bnNpZ25lZCBjaGFyOiAgICAgICgodTh4MTYpKE4pKSwgXAorKyAgICAgICAg c2lnbmVkIGNoYXI6ICAgICAgICAoKGk4eDE2KShOKSksIFwKKysgICAgICAgIHVuc2lnbmVkIHNo b3J0OiAgICAgKCh1MTZ4OCkoTikpLCBcCisrICAgICAgICBzaWduZWQgc2hvcnQ6ICAgICAgICgo aTE2eDgpKE4pKSwgXAorKyAgICAgICAgdW5zaWduZWQgaW50OiAgICAgICAoKHUzMng0KShOKSks IFwKKysgICAgICAgIHNpZ25lZCBpbnQ6ICAgICAgICAgKChpMzJ4NCkoTikpLCBcCisrICAgICAg ICB1bnNpZ25lZCBsb25nIGxvbmc6ICgodTY0eDIpKE4pKSwgXAorKyAgICAgICAgc2lnbmVkIGxv bmcgbG9uZzogICAoKGk2NHgyKShOKSkgIFwKKysgICAgKQorKyNlbmRpZgorKworICNlbmRpZiAv KiBEQVYxRF9TUkNfUFBDX1RZUEVTX0ggKi8KK2RpZmYgLS1naXQgYS9zcmMvM3JkcGFydHkvY2hy b21pdW0vdGhpcmRfcGFydHkvbGliZHJtL3NyYy94Zjg2ZHJtLmMgYi9zcmMvM3JkcGFydHkvY2hy b21pdW0vdGhpcmRfcGFydHkvbGliZHJtL3NyYy94Zjg2ZHJtLmMKK2luZGV4IGI3ZDU4NjU5MS4u Y2VhZDA1MDIxIDEwMDY0NAorLS0tIGEvc3JjLzNyZHBhcnR5L2Nocm9taXVtL3RoaXJkX3BhcnR5 L2xpYmRybS9zcmMveGY4NmRybS5jCisrKysgYi9zcmMvM3JkcGFydHkvY2hyb21pdW0vdGhpcmRf cGFydHkvbGliZHJtL3NyYy94Zjg2ZHJtLmMKK0BAIC01MSwxMCArNTEsMTAgQEAKKyAjaW5jbHVk ZSA8c3lzL2lvY3RsLmg+CisgI2luY2x1ZGUgPHN5cy90aW1lLmg+CisgI2luY2x1ZGUgPHN0ZGFy Zy5oPgorLSNpZmRlZiBNQUpPUl9JTl9NS0RFVgorKyNpZiBfX2hhc19pbmNsdWRlKDxzeXMvbWtk ZXYuaD4pCisgI2luY2x1ZGUgPHN5cy9ta2Rldi5oPgorICNlbmRpZgorLSNpZmRlZiBNQUpPUl9J Tl9TWVNNQUNST1MKKysjaWYgX19oYXNfaW5jbHVkZSg8c3lzL3N5c21hY3Jvcy5oPikKKyAjaW5j bHVkZSA8c3lzL3N5c21hY3Jvcy5oPgorICNlbmRpZgorICNpbmNsdWRlIDxtYXRoLmg+CitkaWZm IC0tZ2l0IGEvc3JjLzNyZHBhcnR5L2Nocm9taXVtL3RoaXJkX3BhcnR5L2xzcy9saW51eF9zeXNj YWxsX3N1cHBvcnQuaCBiL3NyYy8zcmRwYXJ0eS9jaHJvbWl1bS90aGlyZF9wYXJ0eS9sc3MvbGlu dXhfc3lzY2FsbF9zdXBwb3J0LmgKK2luZGV4IDU5N2Q4YjZlNS4uOTlkMWVjMGM3IDEwMDY0NAor LS0tIGEvc3JjLzNyZHBhcnR5L2Nocm9taXVtL3RoaXJkX3BhcnR5L2xzcy9saW51eF9zeXNjYWxs X3N1cHBvcnQuaAorKysrIGIvc3JjLzNyZHBhcnR5L2Nocm9taXVtL3RoaXJkX3BhcnR5L2xzcy9s aW51eF9zeXNjYWxsX3N1cHBvcnQuaAorQEAgLTM5MzEsNyArMzkzMSw3IEBAIHN0cnVjdCBrZXJu ZWxfc3RhdGZzIHsKKyAgICAgICBMU1NfUkVHKDIsIGJ1Zik7CisgICAgICAgTFNTX0JPRFkodm9p ZCosIG1tYXAyLCAiMCIoX19yMikpOworICAgICB9CistI2Vsc2UKKysjZWxpZiAhZGVmaW5lZChf X3Bvd2VycGM2NF9fKSAvKiBwcGM2NCBkb2Vzbid0IGhhdmUgbW1hcDIgKi8KKyAgICAgI2RlZmlu ZSBfX05SX19tbWFwMiBfX05SX21tYXAyCisgICAgIExTU19JTkxJTkUgX3N5c2NhbGw2KHZvaWQq LCBfbW1hcDIsICAgICAgICAgICAgdm9pZCosIHMsCisgICAgICAgICAgICAgICAgICAgICAgICAg IHNpemVfdCwgICAgICAgICAgICAgICAgICAgbCwgaW50LCAgICAgICAgICAgICAgIHAsCitAQCAt NDA0Miw3ICs0MDQyLDcgQEAgc3RydWN0IGtlcm5lbF9zdGF0ZnMgeworICAgI2lmIGRlZmluZWQo X19pMzg2X18pIHx8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIFwKKyAgICAgICBkZWZpbmVkKF9fQVJNX0FSQ0hfM19fKSB8fCBkZWZpbmVkKF9fQVJN X0VBQklfXykgfHwgICAgICAgICAgICAgICAgICAgICBcCisgICAgICAoZGVmaW5lZChfX21pcHNf XykgJiYgX01JUFNfU0lNID09IF9NSVBTX1NJTV9BQkkzMikgfHwgICAgICAgICAgICAgICAgICAg XAorLSAgICAgIGRlZmluZWQoX19QUENfXykgfHwgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIFwKKysgICAgIChkZWZpbmVkKF9fUFBDX18pICYmICFk ZWZpbmVkKF9fcG93ZXJwYzY0X18pKSB8fCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgXAorICAgICAgKGRlZmluZWQoX19zMzkwX18pICYmICFkZWZp bmVkKF9fczM5MHhfXykpCisgICAgIC8qIE9uIHRoZXNlIGFyY2hpdGVjdHVyZXMsIGltcGxlbWVu dCBtbWFwKCkgd2l0aCBtbWFwMigpLiAqLworICAgICBMU1NfSU5MSU5FIHZvaWQqIExTU19OQU1F KG1tYXApKHZvaWQgKnMsIHNpemVfdCBsLCBpbnQgcCwgaW50IGYsIGludCBkLAorZGlmZiAtLWdp dCBhL3NyYy8zcmRwYXJ0eS9jaHJvbWl1bS90aGlyZF9wYXJ0eS9wZmZmdC9zcmMvcGZmZnQuYyBi L3NyYy8zcmRwYXJ0eS9jaHJvbWl1bS90aGlyZF9wYXJ0eS9wZmZmdC9zcmMvcGZmZnQuYworaW5k ZXggYmRhYzRkNzg0Li41MWUwZjJjYWMgMTAwNjQ0CistLS0gYS9zcmMvM3JkcGFydHkvY2hyb21p dW0vdGhpcmRfcGFydHkvcGZmZnQvc3JjL3BmZmZ0LmMKKysrKyBiL3NyYy8zcmRwYXJ0eS9jaHJv bWl1bS90aGlyZF9wYXJ0eS9wZmZmdC9zcmMvcGZmZnQuYworQEAgLTEwMCw2ICsxMDAsNyBAQAor ICAgIEFsdGl2ZWMgc3VwcG9ydCBtYWNyb3MgCisgKi8KKyAjaWYgIWRlZmluZWQoUEZGRlRfU0lN RF9ESVNBQkxFKSAmJiAoZGVmaW5lZChfX3BwY19fKSB8fCBkZWZpbmVkKF9fcHBjNjRfXykpCisr I2luY2x1ZGUgPGFsdGl2ZWMuaD4KKyB0eXBlZGVmIHZlY3RvciBmbG9hdCB2NHNmOworICMgIGRl ZmluZSBTSU1EX1NaIDQKKyAjICBkZWZpbmUgVlpFUk8oKSAoKHZlY3RvciBmbG9hdCkgdmVjX3Nw bGF0X3U4KDApKQorZGlmZiAtLWdpdCBhL3NyYy8zcmRwYXJ0eS9jaHJvbWl1bS90aGlyZF9wYXJ0 eS9za2lhL3NyYy9za3NsL1NrU0xTdHJpbmcuY3BwIGIvc3JjLzNyZHBhcnR5L2Nocm9taXVtL3Ro aXJkX3BhcnR5L3NraWEvc3JjL3Nrc2wvU2tTTFN0cmluZy5jcHAKK2luZGV4IDg4ZWIxYzdkMy4u NGJlMzNmYTViIDEwMDY0NAorLS0tIGEvc3JjLzNyZHBhcnR5L2Nocm9taXVtL3RoaXJkX3BhcnR5 L3NraWEvc3JjL3Nrc2wvU2tTTFN0cmluZy5jcHAKKysrKyBiL3NyYy8zcmRwYXJ0eS9jaHJvbWl1 bS90aGlyZF9wYXJ0eS9za2lhL3NyYy9za3NsL1NrU0xTdHJpbmcuY3BwCitAQCAtMjQwLDcgKzI0 MCwxMiBAQCBTdHJpbmcgdG9fc3RyaW5nKGRvdWJsZSB2YWx1ZSkgeworICAgICBpZiAobmVlZHNE b3RaZXJvKSB7CisgICAgICAgICBidWZmZXIgPDwgIi4wIjsKKyAgICAgfQorLSAgICByZXR1cm4g U3RyaW5nKGJ1ZmZlci5zdHIoKS5jX3N0cigpKTsKKysKKysgICAgc3RkOjpzdHJpbmcgcmV0KGJ1 ZmZlci5zdHIoKSk7CisrICAgIGlmIChzaWduYml0KHZhbHVlKSAmJiByZXRbMF0gPT0gJy4nKSB7 CisrICAgICAgICByZXRbMF0gPSAnLSc7CisrICAgIH0KKysgICAgcmV0dXJuIFN0cmluZyhyZXQu Y19zdHIoKSk7CisgfQorIAorIFNLU0xfSU5UIHN0b2koY29uc3QgU3RyaW5nJiBzKSB7CitkaWZm IC0tZ2l0IGEvc3JjLzNyZHBhcnR5L2Nocm9taXVtL3RoaXJkX3BhcnR5L3NxbGl0ZS9zcmMvYW1h bGdhbWF0aW9uL3NxbGl0ZTMuYyBiL3NyYy8zcmRwYXJ0eS9jaHJvbWl1bS90aGlyZF9wYXJ0eS9z cWxpdGUvc3JjL2FtYWxnYW1hdGlvbi9zcWxpdGUzLmMKK2luZGV4IDFiMmMyZWM3YS4uYmFhMmIy YTVkIDEwMDY0NAorLS0tIGEvc3JjLzNyZHBhcnR5L2Nocm9taXVtL3RoaXJkX3BhcnR5L3NxbGl0 ZS9zcmMvYW1hbGdhbWF0aW9uL3NxbGl0ZTMuYworKysrIGIvc3JjLzNyZHBhcnR5L2Nocm9taXVt L3RoaXJkX3BhcnR5L3NxbGl0ZS9zcmMvYW1hbGdhbWF0aW9uL3NxbGl0ZTMuYworQEAgLTE0NDAw LDcgKzE0NDAwLDggQEAgdHlwZWRlZiBJTlQxNl9UWVBFIExvZ0VzdDsKKyAjIGlmIGRlZmluZWQo aTM4NikgICAgICB8fCBkZWZpbmVkKF9faTM4Nl9fKSAgICAgIHx8IGRlZmluZWQoX01fSVg4Nikg fHwgICAgXAorICAgICAgZGVmaW5lZChfX3g4Nl82NCkgIHx8IGRlZmluZWQoX194ODZfNjRfXykg ICAgfHwgZGVmaW5lZChfTV9YNjQpICB8fCAgICBcCisgICAgICBkZWZpbmVkKF9NX0FNRDY0KSAg fHwgZGVmaW5lZChfTV9BUk0pICAgICAgICB8fCBkZWZpbmVkKF9feDg2KSAgIHx8ICAgIFwKKy0g ICAgIGRlZmluZWQoX19BUk1FTF9fKSB8fCBkZWZpbmVkKF9fQUFSQ0g2NEVMX18pIHx8IGRlZmlu ZWQoX01fQVJNNjQpCisrICAgICBkZWZpbmVkKF9fQVJNRUxfXykgfHwgZGVmaW5lZChfX0FBUkNI NjRFTF9fKSB8fCBkZWZpbmVkKF9NX0FSTTY0KSB8fCAgIFwKKysgICAgIGRlZmluZWQoX19wb3dl cnBjNjRfXykgJiYgKF9fQllURV9PUkRFUl9fID09IF9fT1JERVJfTElUVExFX0VORElBTl9fKQor ICMgICBkZWZpbmUgU1FMSVRFX0JZVEVPUkRFUiAgICAxMjM0CisgIyBlbGlmIGRlZmluZWQoc3Bh cmMpICAgICB8fCBkZWZpbmVkKF9fcHBjX18pIHx8IFwKKyAgICAgICAgZGVmaW5lZChfX0FSTUVC X18pIHx8IGRlZmluZWQoX19BQVJDSDY0RUJfXykKK0BAIC0xODcxMTgsNyArMTg3MTE5LDcgQEAg c3RydWN0IFJ0cmVlTWF0Y2hBcmcgeworICNpZiBkZWZpbmVkKGkzODYpICAgICB8fCBkZWZpbmVk KF9faTM4Nl9fKSAgIHx8IGRlZmluZWQoX01fSVg4NikgfHwgICAgXAorICAgICBkZWZpbmVkKF9f eDg2XzY0KSB8fCBkZWZpbmVkKF9feDg2XzY0X18pIHx8IGRlZmluZWQoX01fWDY0KSAgfHwgICAg XAorICAgICBkZWZpbmVkKF9NX0FNRDY0KSB8fCBkZWZpbmVkKF9NX0FSTSkgICAgIHx8IGRlZmlu ZWQoX194ODYpICAgfHwgICAgXAorLSAgICBkZWZpbmVkKF9fYXJtX18pCisrICAgIGRlZmluZWQo X19hcm1fXykgfHwgZGVmaW5lZChfX3Bvd2VycGM2NF9fKSAmJiAoX19CWVRFX09SREVSX18gPT0g X19PUkRFUl9MSVRUTEVfRU5ESUFOX18pCisgIyBkZWZpbmUgU1FMSVRFX0JZVEVPUkRFUiAgICAx MjM0CisgI2VsaWYgZGVmaW5lZChzcGFyYykgICAgfHwgZGVmaW5lZChfX3BwY19fKQorICMgZGVm aW5lIFNRTElURV9CWVRFT1JERVIgICAgNDMyMQorZGlmZiAtLWdpdCBhL3NyYy8zcmRwYXJ0eS9j aHJvbWl1bS90aGlyZF9wYXJ0eS9zcWxpdGUvc3JjL2FtYWxnYW1hdGlvbl9kZXYvc3FsaXRlMy5j IGIvc3JjLzNyZHBhcnR5L2Nocm9taXVtL3RoaXJkX3BhcnR5L3NxbGl0ZS9zcmMvYW1hbGdhbWF0 aW9uX2Rldi9zcWxpdGUzLmMKK2luZGV4IDczNGFjMzU1ZC4uNDNmYWJlODA1IDEwMDY0NAorLS0t IGEvc3JjLzNyZHBhcnR5L2Nocm9taXVtL3RoaXJkX3BhcnR5L3NxbGl0ZS9zcmMvYW1hbGdhbWF0 aW9uX2Rldi9zcWxpdGUzLmMKKysrKyBiL3NyYy8zcmRwYXJ0eS9jaHJvbWl1bS90aGlyZF9wYXJ0 eS9zcWxpdGUvc3JjL2FtYWxnYW1hdGlvbl9kZXYvc3FsaXRlMy5jCitAQCAtMTQzMTQsNyArMTQz MTQsOCBAQCB0eXBlZGVmIElOVDE2X1RZUEUgTG9nRXN0OworICMgaWYgZGVmaW5lZChpMzg2KSAg ICAgIHx8IGRlZmluZWQoX19pMzg2X18pICAgICAgfHwgZGVmaW5lZChfTV9JWDg2KSB8fCAgICBc CisgICAgICBkZWZpbmVkKF9feDg2XzY0KSAgfHwgZGVmaW5lZChfX3g4Nl82NF9fKSAgICB8fCBk ZWZpbmVkKF9NX1g2NCkgIHx8ICAgIFwKKyAgICAgIGRlZmluZWQoX01fQU1ENjQpICB8fCBkZWZp bmVkKF9NX0FSTSkgICAgICAgIHx8IGRlZmluZWQoX194ODYpICAgfHwgICAgXAorLSAgICAgZGVm aW5lZChfX0FSTUVMX18pIHx8IGRlZmluZWQoX19BQVJDSDY0RUxfXykgfHwgZGVmaW5lZChfTV9B Uk02NCkKKysgICAgIGRlZmluZWQoX19BUk1FTF9fKSB8fCBkZWZpbmVkKF9fQUFSQ0g2NEVMX18p IHx8IGRlZmluZWQoX01fQVJNNjQpIHx8ICAgXAorKyAgICAgZGVmaW5lZChfX3Bvd2VycGM2NF9f KSAmJiAoX19CWVRFX09SREVSX18gPT0gX19PUkRFUl9MSVRUTEVfRU5ESUFOX18pCisgIyAgIGRl ZmluZSBTUUxJVEVfQllURU9SREVSICAgIDEyMzQKKyAjIGVsaWYgZGVmaW5lZChzcGFyYykgICAg IHx8IGRlZmluZWQoX19wcGNfXykgfHwgXAorICAgICAgICBkZWZpbmVkKF9fQVJNRUJfXykgfHwg ZGVmaW5lZChfX0FBUkNINjRFQl9fKQorQEAgLTE4NjUxNCw3ICsxODY1MTUsNyBAQCBzdHJ1Y3Qg UnRyZWVNYXRjaEFyZyB7CisgI2lmIGRlZmluZWQoaTM4NikgICAgIHx8IGRlZmluZWQoX19pMzg2 X18pICAgfHwgZGVmaW5lZChfTV9JWDg2KSB8fCAgICBcCisgICAgIGRlZmluZWQoX194ODZfNjQp IHx8IGRlZmluZWQoX194ODZfNjRfXykgfHwgZGVmaW5lZChfTV9YNjQpICB8fCAgICBcCisgICAg IGRlZmluZWQoX01fQU1ENjQpIHx8IGRlZmluZWQoX01fQVJNKSAgICAgfHwgZGVmaW5lZChfX3g4 NikgICB8fCAgICBcCistICAgIGRlZmluZWQoX19hcm1fXykKKysgICAgZGVmaW5lZChfX2FybV9f KSB8fCBkZWZpbmVkKF9fcG93ZXJwYzY0X18pICYmIChfX0JZVEVfT1JERVJfXyA9PSBfX09SREVS X0xJVFRMRV9FTkRJQU5fXykKKyAjIGRlZmluZSBTUUxJVEVfQllURU9SREVSICAgIDEyMzQKKyAj ZWxpZiBkZWZpbmVkKHNwYXJjKSAgICB8fCBkZWZpbmVkKF9fcHBjX18pCisgIyBkZWZpbmUgU1FM SVRFX0JZVEVPUkRFUiAgICA0MzIxCitkaWZmIC0tZ2l0IGEvc3JjLzNyZHBhcnR5L2Nocm9taXVt L3RoaXJkX3BhcnR5L3NxbGl0ZS9zcmMvZXh0L3J0cmVlL3J0cmVlLmMgYi9zcmMvM3JkcGFydHkv Y2hyb21pdW0vdGhpcmRfcGFydHkvc3FsaXRlL3NyYy9leHQvcnRyZWUvcnRyZWUuYworaW5kZXgg MWVlZjFhMWI1Li5iNTMwOTdiN2YgMTAwNjQ0CistLS0gYS9zcmMvM3JkcGFydHkvY2hyb21pdW0v dGhpcmRfcGFydHkvc3FsaXRlL3NyYy9leHQvcnRyZWUvcnRyZWUuYworKysrIGIvc3JjLzNyZHBh cnR5L2Nocm9taXVtL3RoaXJkX3BhcnR5L3NxbGl0ZS9zcmMvZXh0L3J0cmVlL3J0cmVlLmMKK0BA IC00MzIsNyArNDMyLDcgQEAgc3RydWN0IFJ0cmVlTWF0Y2hBcmcgeworICNpZiBkZWZpbmVkKGkz ODYpICAgICB8fCBkZWZpbmVkKF9faTM4Nl9fKSAgIHx8IGRlZmluZWQoX01fSVg4NikgfHwgICAg XAorICAgICBkZWZpbmVkKF9feDg2XzY0KSB8fCBkZWZpbmVkKF9feDg2XzY0X18pIHx8IGRlZmlu ZWQoX01fWDY0KSAgfHwgICAgXAorICAgICBkZWZpbmVkKF9NX0FNRDY0KSB8fCBkZWZpbmVkKF9N X0FSTSkgICAgIHx8IGRlZmluZWQoX194ODYpICAgfHwgICAgXAorLSAgICBkZWZpbmVkKF9fYXJt X18pCisrICAgIGRlZmluZWQoX19hcm1fXykgfHwgZGVmaW5lZChfX3Bvd2VycGM2NF9fKSAmJiAo X19CWVRFX09SREVSX18gPT0gX19PUkRFUl9MSVRUTEVfRU5ESUFOX18pCisgIyBkZWZpbmUgU1FM SVRFX0JZVEVPUkRFUiAgICAxMjM0CisgI2VsaWYgZGVmaW5lZChzcGFyYykgICAgfHwgZGVmaW5l ZChfX3BwY19fKQorICMgZGVmaW5lIFNRTElURV9CWVRFT1JERVIgICAgNDMyMQorZGlmZiAtLWdp dCBhL3NyYy8zcmRwYXJ0eS9jaHJvbWl1bS90aGlyZF9wYXJ0eS9zcWxpdGUvc3JjL3NyYy9zcWxp dGVJbnQuaCBiL3NyYy8zcmRwYXJ0eS9jaHJvbWl1bS90aGlyZF9wYXJ0eS9zcWxpdGUvc3JjL3Ny Yy9zcWxpdGVJbnQuaAoraW5kZXggOWVmMjQzN2IwLi42YzcwMTQ4YzcgMTAwNjQ0CistLS0gYS9z cmMvM3JkcGFydHkvY2hyb21pdW0vdGhpcmRfcGFydHkvc3FsaXRlL3NyYy9zcmMvc3FsaXRlSW50 LmgKKysrKyBiL3NyYy8zcmRwYXJ0eS9jaHJvbWl1bS90aGlyZF9wYXJ0eS9zcWxpdGUvc3JjL3Ny Yy9zcWxpdGVJbnQuaAorQEAgLTg1Myw3ICs4NTMsOCBAQCB0eXBlZGVmIElOVDE2X1RZUEUgTG9n RXN0OworICMgaWYgZGVmaW5lZChpMzg2KSAgICAgIHx8IGRlZmluZWQoX19pMzg2X18pICAgICAg fHwgZGVmaW5lZChfTV9JWDg2KSB8fCAgICBcCisgICAgICBkZWZpbmVkKF9feDg2XzY0KSAgfHwg ZGVmaW5lZChfX3g4Nl82NF9fKSAgICB8fCBkZWZpbmVkKF9NX1g2NCkgIHx8ICAgIFwKKyAgICAg IGRlZmluZWQoX01fQU1ENjQpICB8fCBkZWZpbmVkKF9NX0FSTSkgICAgICAgIHx8IGRlZmluZWQo X194ODYpICAgfHwgICAgXAorLSAgICAgZGVmaW5lZChfX0FSTUVMX18pIHx8IGRlZmluZWQoX19B QVJDSDY0RUxfXykgfHwgZGVmaW5lZChfTV9BUk02NCkKKysgICAgIGRlZmluZWQoX19BUk1FTF9f KSB8fCBkZWZpbmVkKF9fQUFSQ0g2NEVMX18pIHx8IGRlZmluZWQoX01fQVJNNjQpIHx8ICAgXAor KyAgICAgZGVmaW5lZChfX3Bvd2VycGM2NF9fKSAmJiAoX19CWVRFX09SREVSX18gPT0gX19PUkRF Ul9MSVRUTEVfRU5ESUFOX18pCisgIyAgIGRlZmluZSBTUUxJVEVfQllURU9SREVSICAgIDEyMzQK KyAjIGVsaWYgZGVmaW5lZChzcGFyYykgICAgIHx8IGRlZmluZWQoX19wcGNfXykgfHwgXAorICAg ICAgICBkZWZpbmVkKF9fQVJNRUJfXykgfHwgZGVmaW5lZChfX0FBUkNINjRFQl9fKQorZGlmZiAt LWdpdCBhL3NyYy8zcmRwYXJ0eS9jaHJvbWl1bS90aGlyZF9wYXJ0eS93ZWJydGMvbW9kdWxlcy9k ZXNrdG9wX2NhcHR1cmUvZGlmZmVyX2Jsb2NrLmNjIGIvc3JjLzNyZHBhcnR5L2Nocm9taXVtL3Ro aXJkX3BhcnR5L3dlYnJ0Yy9tb2R1bGVzL2Rlc2t0b3BfY2FwdHVyZS9kaWZmZXJfYmxvY2suY2MK K2luZGV4IGRkOWFiNDU3ZS4uYzAwNWQ5NTk5IDEwMDY0NAorLS0tIGEvc3JjLzNyZHBhcnR5L2No cm9taXVtL3RoaXJkX3BhcnR5L3dlYnJ0Yy9tb2R1bGVzL2Rlc2t0b3BfY2FwdHVyZS9kaWZmZXJf YmxvY2suY2MKKysrKyBiL3NyYy8zcmRwYXJ0eS9jaHJvbWl1bS90aGlyZF9wYXJ0eS93ZWJydGMv bW9kdWxlcy9kZXNrdG9wX2NhcHR1cmUvZGlmZmVyX2Jsb2NrLmNjCitAQCAtMzAsMTEgKzMwLDcg QEAKKyAgIHN0YXRpYyBib29sICgqZGlmZl9wcm9jKShjb25zdCB1aW50OF90KiwgY29uc3QgdWlu dDhfdCopID0gbnVsbHB0cjsKKyAKKyAgIGlmICghZGlmZl9wcm9jKSB7CistI2lmIGRlZmluZWQo V0VCUlRDX0FSQ0hfQVJNX0ZBTUlMWSkgfHwgZGVmaW5lZChXRUJSVENfQVJDSF9NSVBTX0ZBTUlM WSkKKy0gICAgLy8gRm9yIEFSTSBhbmQgTUlQUyBwcm9jZXNzb3JzLCBhbHdheXMgdXNlIEMgdmVy c2lvbi4KKy0gICAgLy8gVE9ETyhoY2xhbSk6IEltcGxlbWVudCBhIE5FT04gdmVyc2lvbi4KKy0g ICAgZGlmZl9wcm9jID0gJlZlY3RvckRpZmZlcmVuY2VfQzsKKy0jZWxzZQorKyNpZiBkZWZpbmVk KFdFQlJUQ19BUkNIX1g4Nl9GQU1JTFkpCisgICAgIGJvb2wgaGF2ZV9zc2UyID0gR2V0Q1BVSW5m byhrU1NFMikgIT0gMDsKKyAgICAgLy8gRm9yIHg4NiBwcm9jZXNzb3JzLCBjaGVjayBpZiBTU0Uy IGlzIHN1cHBvcnRlZC4KKyAgICAgaWYgKGhhdmVfc3NlMiAmJiBrQmxvY2tTaXplID09IDMyKSB7 CitAQCAtNDQsNiArNDAsMTAgQEAgYm9vbCBWZWN0b3JEaWZmZXJlbmNlKGNvbnN0IHVpbnQ4X3Qq IGltYWdlMSwgY29uc3QgdWludDhfdCogaW1hZ2UyKSB7CisgICAgIH0gZWxzZSB7CisgICAgICAg ZGlmZl9wcm9jID0gJlZlY3RvckRpZmZlcmVuY2VfQzsKKyAgICAgfQorKyNlbHNlCisrICAgIC8v IEZvciBvdGhlciBwcm9jZXNzb3JzLCBhbHdheXMgdXNlIEMgdmVyc2lvbi4KKysgICAgLy8gVE9E TyhoY2xhbSk6IEltcGxlbWVudCBhIE5FT04gdmVyc2lvbi4KKysgICAgZGlmZl9wcm9jID0gJlZl Y3RvckRpZmZlcmVuY2VfQzsKKyAjZW5kaWYKKyAgIH0KKyAKK2RpZmYgLS1naXQgYS9zcmMvM3Jk cGFydHkvY2hyb21pdW0vdGhpcmRfcGFydHkvd2VicnRjL3J0Y19iYXNlL3N5c3RlbS9hcmNoLmgg Yi9zcmMvM3JkcGFydHkvY2hyb21pdW0vdGhpcmRfcGFydHkvd2VicnRjL3J0Y19iYXNlL3N5c3Rl bS9hcmNoLmgKK2luZGV4IGVkMjE2ZTY2MC4uMjVkMzZjMDcxIDEwMDY0NAorLS0tIGEvc3JjLzNy ZHBhcnR5L2Nocm9taXVtL3RoaXJkX3BhcnR5L3dlYnJ0Yy9ydGNfYmFzZS9zeXN0ZW0vYXJjaC5o CisrKysgYi9zcmMvM3JkcGFydHkvY2hyb21pdW0vdGhpcmRfcGFydHkvd2VicnRjL3J0Y19iYXNl L3N5c3RlbS9hcmNoLmgKK0BAIC01MCw2ICs1MCwxOCBAQAorICNlbGlmIGRlZmluZWQoX19FTVND UklQVEVOX18pCisgI2RlZmluZSBXRUJSVENfQVJDSF8zMl9CSVRTCisgI2RlZmluZSBXRUJSVENf QVJDSF9MSVRUTEVfRU5ESUFOCisrI2VsaWYgZGVmaW5lZChfX1BQQ19fKQorKyNkZWZpbmUgV0VC UlRDX0FSQ0hfUFBDX0ZBTUlMWQorKyNpZiBfX0JZVEVfT1JERVJfXyA9PSBfX09SREVSX0xJVFRM RV9FTkRJQU5fXworKyNkZWZpbmUgV0VCUlRDX0FSQ0hfTElUVExFX0VORElBTgorKyNlbHNlCisr I2RlZmluZSBXRUJSVENfQVJDSF9CSUdfRU5ESUFOCisrI2VuZGlmCisrI2lmIGRlZmluZWQoX19M UDY0X18pCisrI2RlZmluZSBXRUJSVENfQVJDSF82NF9CSVRTCisrI2Vsc2UKKysjZGVmaW5lIFdF QlJUQ19BUkNIXzMyX0JJVFMKKysjZW5kaWYKKyAjZWxzZQorICNlcnJvciBQbGVhc2UgYWRkIHN1 cHBvcnQgZm9yIHlvdXIgYXJjaGl0ZWN0dXJlIGluIHJ0Y19iYXNlL3N5c3RlbS9hcmNoLmgKKyAj ZW5kaWYKK2RpZmYgLS1naXQgYS9zcmMvM3JkcGFydHkvY2hyb21pdW0vdjgvQlVJTEQuZ24gYi9z cmMvM3JkcGFydHkvY2hyb21pdW0vdjgvQlVJTEQuZ24KK2luZGV4IGFiMjAxNDJkZS4uMDAxOTIx YzU5IDEwMDY0NAorLS0tIGEvc3JjLzNyZHBhcnR5L2Nocm9taXVtL3Y4L0JVSUxELmduCisrKysg Yi9zcmMvM3JkcGFydHkvY2hyb21pdW0vdjgvQlVJTEQuZ24KK0BAIC02NzgsNiArNjc4LDEyIEBA IGNvbmZpZygidG9vbGNoYWluIikgeworICAgICB9CisgICAgIGlmIChob3N0X2J5dGVvcmRlciA9 PSAibGl0dGxlIikgeworICAgICAgIGRlZmluZXMgKz0gWyAiVjhfVEFSR0VUX0FSQ0hfUFBDX0xF IiBdCisrICAgICAgICBjZmxhZ3MgKz0gWworKyAgICAgICAgIyBFbmFibGUgdXNhZ2Ugb2YgQWx0 aVZlYywgVlNYLCBhbmQgb3RoZXIgUE9XRVI4IGFuZCBoaWdoZXIgZmVhdHVyZXMKKysgICAgICAg ICItbWNwdT1wb3dlcjgiLAorKyAgICAgICAgIi1tYWx0aXZlYyIsCisrICAgICAgICAiLW12c3gi LAorKyAgICAgIF0KKyAgICAgfSBlbHNlIGlmIChob3N0X2J5dGVvcmRlciA9PSAiYmlnIikgewor ICAgICAgIGRlZmluZXMgKz0gWyAiVjhfVEFSR0VUX0FSQ0hfUFBDX0JFIiBdCisgICAgICAgaWYg KGN1cnJlbnRfb3MgPT0gImFpeCIpIHsKZGlmZiAtLWdpdCBhL3NyY3BrZ3MvcXQ2LXdlYmVuZ2lu ZS9wYXRjaGVzLzAwOTEtY2hyb21pdW0tcHBjNjRsZS1tdXNsLnBhdGNoIGIvc3JjcGtncy9xdDYt d2ViZW5naW5lL3BhdGNoZXMvMDA5MS1jaHJvbWl1bS1wcGM2NGxlLW11c2wucGF0Y2gKbmV3IGZp bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwLi40Y2QxMmE3ZmI0MTkKLS0tIC9kZXYv bnVsbAorKysgYi9zcmNwa2dzL3F0Ni13ZWJlbmdpbmUvcGF0Y2hlcy8wMDkxLWNocm9taXVtLXBw YzY0bGUtbXVzbC5wYXRjaApAQCAtMCwwICsxLDE4NSBAQAorZGlmZiAtLWdpdCBhL3NyYy8zcmRw YXJ0eS9jaHJvbWl1bS9zYW5kYm94L2xpbnV4L2JwZl9kc2wvc2VjY29tcF9tYWNyb3MuaCBiL3Ny Yy8zcmRwYXJ0eS9jaHJvbWl1bS9zYW5kYm94L2xpbnV4L2JwZl9kc2wvc2VjY29tcF9tYWNyb3Mu aAoraW5kZXggYTZhZWM1NDRlLi4yYTRhN2YxYmMgMTAwNjQ0CistLS0gYS9zcmMvM3JkcGFydHkv Y2hyb21pdW0vc2FuZGJveC9saW51eC9icGZfZHNsL3NlY2NvbXBfbWFjcm9zLmgKKysrKyBiL3Ny Yy8zcmRwYXJ0eS9jaHJvbWl1bS9zYW5kYm94L2xpbnV4L2JwZl9kc2wvc2VjY29tcF9tYWNyb3Mu aAorQEAgLTE2LDcgKzE2LDcgQEAKKyAjaWYgZGVmaW5lZChfX21pcHNfXykKKyAvLyBzeXMvdXNl ci5oIGluIGVnbGliYyBtaXNzZXMgc2l6ZV90IGRlZmluaXRpb24KKyAjaW5jbHVkZSA8c3RkZGVm Lmg+CistI2VsaWYgZGVmaW5lZChfX3Bvd2VycGM2NF9fKQorKyNlbGlmIGRlZmluZWQoX19wb3dl cnBjNjRfXykgJiYgZGVmaW5lZChfX0dMSUJDX18pCisgLy8gTWFudWFsbHkgZGVmaW5lIGdyZWdf dCBvbiBwcGM2NAorIHR5cGVkZWYgdW5zaWduZWQgbG9uZyBsb25nIGdyZWdfdDsKKyAjZW5kaWYK K0BAIC0zNjEsMTEgKzM2MSwxMSBAQCB0eXBlZGVmIHN0cnVjdCBwdF9yZWdzIHJlZ3Nfc3RydWN0 OworICNkZWZpbmUgU0VDQ09NUF9BUkNIIEFVRElUX0FSQ0hfUFBDNjQKKyAjZW5kaWYKKyAKKy0j ZGVmaW5lIFNFQ0NPTVBfUkVHKF9jdHgsIF9yZWcpICgoX2N0eCktPnVjX21jb250ZXh0LnJlZ3Mt PmdwcltfcmVnXSkKKysjZGVmaW5lIFNFQ0NPTVBfUkVHKF9jdHgsIF9yZWcpICgoKHN0cnVjdCBw dF9yZWdzICopKF9jdHgpLT51Y19tY29udGV4dC5yZWdzKS0+Z3ByW19yZWddKQorIAorICNkZWZp bmUgU0VDQ09NUF9SRVNVTFQoX2N0eCkgU0VDQ09NUF9SRUcoX2N0eCwgMykKKyAjZGVmaW5lIFNF Q0NPTVBfU1lTQ0FMTChfY3R4KSBTRUNDT01QX1JFRyhfY3R4LCAwKQorLSNkZWZpbmUgU0VDQ09N UF9JUChfY3R4KSAoX2N0eCktPnVjX21jb250ZXh0LnJlZ3MtPm5pcAorKyNkZWZpbmUgU0VDQ09N UF9JUChfY3R4KSAoKHN0cnVjdCBwdF9yZWdzICopKF9jdHgpLT51Y19tY29udGV4dC5yZWdzKS0+ bmlwCisgI2RlZmluZSBTRUNDT01QX1BBUk0xKF9jdHgpIFNFQ0NPTVBfUkVHKF9jdHgsIDMpCisg I2RlZmluZSBTRUNDT01QX1BBUk0yKF9jdHgpIFNFQ0NPTVBfUkVHKF9jdHgsIDQpCisgI2RlZmlu ZSBTRUNDT01QX1BBUk0zKF9jdHgpIFNFQ0NPTVBfUkVHKF9jdHgsIDUpCitkaWZmIC0tZ2l0IGEv c3JjLzNyZHBhcnR5L2Nocm9taXVtL3NhbmRib3gvbGludXgvc2VjY29tcC1icGYvc3lzY2FsbC5j YyBiL3NyYy8zcmRwYXJ0eS9jaHJvbWl1bS9zYW5kYm94L2xpbnV4L3NlY2NvbXAtYnBmL3N5c2Nh bGwuY2MKK2luZGV4IDEwZmE1ZmQwNy4uMzBiN2IzODUxIDEwMDY0NAorLS0tIGEvc3JjLzNyZHBh cnR5L2Nocm9taXVtL3NhbmRib3gvbGludXgvc2VjY29tcC1icGYvc3lzY2FsbC5jYworKysrIGIv c3JjLzNyZHBhcnR5L2Nocm9taXVtL3NhbmRib3gvbGludXgvc2VjY29tcC1icGYvc3lzY2FsbC5j YworQEAgLTQ5Nyw5ICs0OTcsOSBAQCB2b2lkIFN5c2NhbGw6OlB1dFZhbHVlSW5VY29udGV4dChp bnRwdHJfdCByZXRfdmFsLCB1Y29udGV4dF90KiBjdHgpIHsKKyAgIC8vIFNhbWUgYXMgTUlQUywg bmVlZCB0byBpbnZlcnQgcmV0IGFuZCBzZXQgZXJyb3IgcmVnaXN0ZXIgKGNyMC5TTykKKyAgIGlm IChyZXRfdmFsIDw9IC0xICYmIHJldF92YWwgPj0gLTQwOTUpIHsKKyAgICAgcmV0X3ZhbCA9IC1y ZXRfdmFsOworLSAgICBjdHgtPnVjX21jb250ZXh0LnJlZ3MtPmNjciB8PSAoMSA8PCAyOCk7Cisr ICAgICgoc3RydWN0IHB0X3JlZ3MgKiljdHgtPnVjX21jb250ZXh0LnJlZ3MpLT5jY3IgfD0gKDEg PDwgMjgpOworICAgfSBlbHNlIHsKKy0gICAgY3R4LT51Y19tY29udGV4dC5yZWdzLT5jY3IgJj0g figxIDw8IDI4KTsKKysgICAgKChzdHJ1Y3QgcHRfcmVncyAqKWN0eC0+dWNfbWNvbnRleHQucmVn cyktPmNjciAmPSB+KDEgPDwgMjgpOworICAgfQorICNlbmRpZgorICAgU0VDQ09NUF9SRVNVTFQo Y3R4KSA9IHN0YXRpY19jYXN0PGdyZWdfdD4ocmV0X3ZhbCk7CitkaWZmIC0tZ2l0IGEvc3JjLzNy ZHBhcnR5L2Nocm9taXVtL3RoaXJkX3BhcnR5L2Fic2VpbC1jcHAvYWJzbC9iYXNlL2ludGVybmFs L3Vuc2NhbGVkY3ljbGVjbG9jay5oIGIvc3JjLzNyZHBhcnR5L2Nocm9taXVtL3RoaXJkX3BhcnR5 L2Fic2VpbC1jcHAvYWJzbC9iYXNlL2ludGVybmFsL3Vuc2NhbGVkY3ljbGVjbG9jay5oCitpbmRl eCBjZGNlOWJmOGEuLjczZDc3ZGRhNCAxMDA2NDQKKy0tLSBhL3NyYy8zcmRwYXJ0eS9jaHJvbWl1 bS90aGlyZF9wYXJ0eS9hYnNlaWwtY3BwL2Fic2wvYmFzZS9pbnRlcm5hbC91bnNjYWxlZGN5Y2xl Y2xvY2suaAorKysrIGIvc3JjLzNyZHBhcnR5L2Nocm9taXVtL3RoaXJkX3BhcnR5L2Fic2VpbC1j cHAvYWJzbC9iYXNlL2ludGVybmFsL3Vuc2NhbGVkY3ljbGVjbG9jay5oCitAQCAtNDYsNyArNDYs NyBAQAorIAorIC8vIFRoZSBmb2xsb3dpbmcgcGxhdGZvcm1zIGhhdmUgYW4gaW1wbGVtZW50YXRp b24gb2YgYSBoYXJkd2FyZSBjb3VudGVyLgorICNpZiBkZWZpbmVkKF9faTM4Nl9fKSB8fCBkZWZp bmVkKF9feDg2XzY0X18pIHx8IGRlZmluZWQoX19hYXJjaDY0X18pIHx8IFwKKy0gIGRlZmluZWQo X19wb3dlcnBjX18pIHx8IGRlZmluZWQoX19wcGNfXykgfHwgXAorKyAgKChkZWZpbmVkKF9fcG93 ZXJwY19fKSB8fCBkZWZpbmVkKF9fcHBjX18pKSAmJiBkZWZpbmVkKF9fR0xJQkNfXykpIHx8IFwK KyAgIGRlZmluZWQoX01fSVg4NikgfHwgZGVmaW5lZChfTV9YNjQpCisgI2RlZmluZSBBQlNMX0hB VkVfVU5TQ0FMRURfQ1lDTEVDTE9DS19JTVBMRU1FTlRBVElPTiAxCisgI2Vsc2UKKy0tLSBhL3Ny Yy8zcmRwYXJ0eS9jaHJvbWl1bS90aGlyZF9wYXJ0eS9hYnNlaWwtY3BwL2Fic2wvZGVidWdnaW5n L2ludGVybmFsL3N0YWNrdHJhY2VfY29uZmlnLmgKKysrKyBiL3NyYy8zcmRwYXJ0eS9jaHJvbWl1 bS90aGlyZF9wYXJ0eS9hYnNlaWwtY3BwL2Fic2wvZGVidWdnaW5nL2ludGVybmFsL3N0YWNrdHJh Y2VfY29uZmlnLmgKK0BAIC02NCw3ICs2NCw3IEBACisgI2VsaWYgZGVmaW5lZChfX2kzODZfXykg fHwgZGVmaW5lZChfX3g4Nl82NF9fKQorICNkZWZpbmUgQUJTTF9TVEFDS1RSQUNFX0lOTF9IRUFE RVIgXAorICAgImFic2wvZGVidWdnaW5nL2ludGVybmFsL3N0YWNrdHJhY2VfeDg2LWlubC5pbmMi CistI2VsaWYgZGVmaW5lZChfX3BwY19fKSB8fCBkZWZpbmVkKF9fUFBDX18pCisrI2VsaWYgKGRl ZmluZWQoX19wcGNfXykgfHwgZGVmaW5lZChfX1BQQ19fKSkgJiYgZGVmaW5lZChfX0dMSUJDX18p CisgI2RlZmluZSBBQlNMX1NUQUNLVFJBQ0VfSU5MX0hFQURFUiBcCisgICAiYWJzbC9kZWJ1Z2dp bmcvaW50ZXJuYWwvc3RhY2t0cmFjZV9wb3dlcnBjLWlubC5pbmMiCisgI2VsaWYgZGVmaW5lZChf X2FhcmNoNjRfXykKK2RpZmYgLS1naXQgYS9zcmMvM3JkcGFydHkvY2hyb21pdW0vdGhpcmRfcGFy dHkvYnJlYWtwYWQvYnJlYWtwYWQvc3JjL2NsaWVudC9saW51eC9kdW1wX3dyaXRlcl9jb21tb24v dGhyZWFkX2luZm8uY2MgYi9zcmMvM3JkcGFydHkvY2hyb21pdW0vdGhpcmRfcGFydHkvYnJlYWtw YWQvYnJlYWtwYWQvc3JjL2NsaWVudC9saW51eC9kdW1wX3dyaXRlcl9jb21tb24vdGhyZWFkX2lu Zm8uY2MKK2luZGV4IDAzYWZlYzdhNS4uMDI2NGVjZjEzIDEwMDY0NAorLS0tIGEvc3JjLzNyZHBh cnR5L2Nocm9taXVtL3RoaXJkX3BhcnR5L2JyZWFrcGFkL2JyZWFrcGFkL3NyYy9jbGllbnQvbGlu dXgvZHVtcF93cml0ZXJfY29tbW9uL3RocmVhZF9pbmZvLmNjCisrKysgYi9zcmMvM3JkcGFydHkv Y2hyb21pdW0vdGhpcmRfcGFydHkvYnJlYWtwYWQvYnJlYWtwYWQvc3JjL2NsaWVudC9saW51eC9k dW1wX3dyaXRlcl9jb21tb24vdGhyZWFkX2luZm8uY2MKK0BAIC0yNzMsNiArMjczLDkgQEAgdm9p ZCBUaHJlYWRJbmZvOjpGaWxsQ1BVQ29udGV4dChSYXdDb250ZXh0Q1BVKiBvdXQpIGNvbnN0IHsK KyAKKyAjZWxpZiBkZWZpbmVkKF9fcG93ZXJwYzY0X18pCisgCisrI2luY2x1ZGUgPGFzbS9lbGYu aD4KKysjaW5jbHVkZSA8YXNtL3B0cmFjZS5oPgorKworIHVpbnRwdHJfdCBUaHJlYWRJbmZvOjpH ZXRJbnN0cnVjdGlvblBvaW50ZXIoKSBjb25zdCB7CisgICAgIHJldHVybiBtY29udGV4dC5ncF9y ZWdzW1BUX05JUF07CisgfQorQEAgLTI5MCw5ICsyOTMsOSBAQCB2b2lkIFRocmVhZEluZm86OkZp bGxDUFVDb250ZXh0KFJhd0NvbnRleHRDUFUqIG91dCkgY29uc3QgeworICAgICBvdXQtPmN0ciA9 IG1jb250ZXh0LmdwX3JlZ3NbUFRfQ1RSXTsKKyAgICAgCisgICAgIGZvciAoaW50IGkgPSAwOyBp IDwgTURfRkxPQVRJTkdTQVZFQVJFQV9QUENfRlBSX0NPVU5UOyBpKyspCistICAgICAgICBvdXQt PmZsb2F0X3NhdmUuZnByZWdzW2ldID0gbWNvbnRleHQuZnBfcmVnc1tpXTsKKysgICAgICAgIG91 dC0+ZmxvYXRfc2F2ZS5mcHJlZ3NbaV0gPSAoKHVpbnQ2NF90ICopJm1jb250ZXh0LmZwX3JlZ3Mp W2ldOworIAorLSAgICBvdXQtPmZsb2F0X3NhdmUuZnBzY3IgPSBtY29udGV4dC5mcF9yZWdzW05G UFJFRy0xXTsKKysgICAgb3V0LT5mbG9hdF9zYXZlLmZwc2NyID0gKCh1aW50NjRfdCAqKSZtY29u dGV4dC5mcF9yZWdzKVtFTEZfTkZQUkVHLTFdOworIAorICAgICBmb3IgKGludCBpID0gMDsgaSA8 IE1EX1ZFQ1RPUlNBVkVBUkVBX1BQQ19WUl9DT1VOVDsgaSsrKQorICAgICAgICAgb3V0LT52ZWN0 b3Jfc2F2ZS5zYXZlX3ZyW2ldID0gXAorZGlmZiAtLWdpdCBhL3NyYy8zcmRwYXJ0eS9jaHJvbWl1 bS90aGlyZF9wYXJ0eS9icmVha3BhZC9icmVha3BhZC9zcmMvY2xpZW50L2xpbnV4L2R1bXBfd3Jp dGVyX2NvbW1vbi91Y29udGV4dF9yZWFkZXIuY2MgYi9zcmMvM3JkcGFydHkvY2hyb21pdW0vdGhp cmRfcGFydHkvYnJlYWtwYWQvYnJlYWtwYWQvc3JjL2NsaWVudC9saW51eC9kdW1wX3dyaXRlcl9j b21tb24vdWNvbnRleHRfcmVhZGVyLmNjCitpbmRleCA3NjIwY2Y2ZjcuLjU0ZTM3MzYxMSAxMDA2 NDQKKy0tLSBhL3NyYy8zcmRwYXJ0eS9jaHJvbWl1bS90aGlyZF9wYXJ0eS9icmVha3BhZC9icmVh a3BhZC9zcmMvY2xpZW50L2xpbnV4L2R1bXBfd3JpdGVyX2NvbW1vbi91Y29udGV4dF9yZWFkZXIu Y2MKKysrKyBiL3NyYy8zcmRwYXJ0eS9jaHJvbWl1bS90aGlyZF9wYXJ0eS9icmVha3BhZC9icmVh a3BhZC9zcmMvY2xpZW50L2xpbnV4L2R1bXBfd3JpdGVyX2NvbW1vbi91Y29udGV4dF9yZWFkZXIu Y2MKK0BAIC0yNTcsNiArMjU3LDkgQEAgdm9pZCBVQ29udGV4dFJlYWRlcjo6RmlsbENQVUNvbnRl eHQoUmF3Q29udGV4dENQVSAqb3V0LCBjb25zdCB1Y29udGV4dF90ICp1YykgeworIAorICNlbGlm IGRlZmluZWQoX19wb3dlcnBjNjRfXykKKyAKKysjaW5jbHVkZSA8YXNtL2VsZi5oPgorKyNpbmNs dWRlIDxhc20vcHRyYWNlLmg+CisrCisgdWludHB0cl90IFVDb250ZXh0UmVhZGVyOjpHZXRTdGFj a1BvaW50ZXIoY29uc3QgdWNvbnRleHRfdCogdWMpIHsKKyAgICAgcmV0dXJuIHVjLT51Y19tY29u dGV4dC5ncF9yZWdzW01EX0NPTlRFWFRfUFBDNjRfUkVHX1NQXTsKKyB9CitAQCAtMjgwLDkgKzI4 Myw5IEBAIHZvaWQgVUNvbnRleHRSZWFkZXI6OkZpbGxDUFVDb250ZXh0KFJhd0NvbnRleHRDUFUq IG91dCwgY29uc3QgdWNvbnRleHRfdCogdWMsCisgICAgIG91dC0+Y3RyID0gdWMtPnVjX21jb250 ZXh0LmdwX3JlZ3NbUFRfQ1RSXTsKKyAgICAgCisgICAgIGZvciAoaW50IGkgPSAwOyBpIDwgTURf RkxPQVRJTkdTQVZFQVJFQV9QUENfRlBSX0NPVU5UOyBpKyspCistICAgICAgICBvdXQtPmZsb2F0 X3NhdmUuZnByZWdzW2ldID0gdWMtPnVjX21jb250ZXh0LmZwX3JlZ3NbaV07CisrICAgICAgICBv dXQtPmZsb2F0X3NhdmUuZnByZWdzW2ldID0gKCh1aW50NjRfdCAqKSZ1Yy0+dWNfbWNvbnRleHQu ZnBfcmVncylbaV07CisgCistICAgIG91dC0+ZmxvYXRfc2F2ZS5mcHNjciA9IHVjLT51Y19tY29u dGV4dC5mcF9yZWdzW05GUFJFRy0xXTsKKysgICAgb3V0LT5mbG9hdF9zYXZlLmZwc2NyID0gKCh1 aW50NjRfdCAqKSZ1Yy0+dWNfbWNvbnRleHQuZnBfcmVncylbRUxGX05GUFJFRy0xXTsKKyAKKyAg ICAgZm9yIChpbnQgaSA9IDA7IGkgPCBNRF9WRUNUT1JTQVZFQVJFQV9QUENfVlJfQ09VTlQ7IGkr KykKKyAgICAgICAgIG91dC0+dmVjdG9yX3NhdmUuc2F2ZV92cltpXSA9CitkaWZmIC0tZ2l0IGEv c3JjLzNyZHBhcnR5L2Nocm9taXVtL3RoaXJkX3BhcnR5L2JyZWFrcGFkL2JyZWFrcGFkL3NyYy9j bGllbnQvbGludXgvaGFuZGxlci9leGNlcHRpb25faGFuZGxlci5jYyBiL3NyYy8zcmRwYXJ0eS9j aHJvbWl1bS90aGlyZF9wYXJ0eS9icmVha3BhZC9icmVha3BhZC9zcmMvY2xpZW50L2xpbnV4L2hh bmRsZXIvZXhjZXB0aW9uX2hhbmRsZXIuY2MKK2luZGV4IDkwMWNkNjhmYi4uNTYxOTU4YzQ0IDEw MDY0NAorLS0tIGEvc3JjLzNyZHBhcnR5L2Nocm9taXVtL3RoaXJkX3BhcnR5L2JyZWFrcGFkL2Jy ZWFrcGFkL3NyYy9jbGllbnQvbGludXgvaGFuZGxlci9leGNlcHRpb25faGFuZGxlci5jYworKysr IGIvc3JjLzNyZHBhcnR5L2Nocm9taXVtL3RoaXJkX3BhcnR5L2JyZWFrcGFkL2JyZWFrcGFkL3Ny Yy9jbGllbnQvbGludXgvaGFuZGxlci9leGNlcHRpb25faGFuZGxlci5jYworQEAgLTEwNSw2ICsx MDUsMTEgQEAKKyAjZGVmaW5lIFBSX1NFVF9QVFJBQ0VSIDB4NTk2MTZkNjEKKyAjZW5kaWYKKyAK KysvKiBtdXNsIGhhY2ssIGNhbid0IGluY2x1ZGUgYXNtL3B0cmFjZS5oIGFzIHRoYXQgY2F1c2Vz IGNvbmZsaWN0cyAqLworKyNpZiBkZWZpbmVkKF9fcG93ZXJwYzY0X18pICYmICFkZWZpbmVkKFBU X05JUCkKKysjZGVmaW5lIFBUX05JUCAzMgorKyNlbmRpZgorKworIG5hbWVzcGFjZSBnb29nbGVf YnJlYWtwYWQgeworIAorIG5hbWVzcGFjZSB7CitkaWZmIC0tZ2l0IGEvc3JjLzNyZHBhcnR5L2No cm9taXVtL3RoaXJkX3BhcnR5L2NyYXNocGFkL2NyYXNocGFkL3NuYXBzaG90L2xpbnV4L3NpZ25h bF9jb250ZXh0LmggYi9zcmMvM3JkcGFydHkvY2hyb21pdW0vdGhpcmRfcGFydHkvY3Jhc2hwYWQv Y3Jhc2hwYWQvc25hcHNob3QvbGludXgvc2lnbmFsX2NvbnRleHQuaAoraW5kZXggOGUzMzVhMDku LmIyYTBmMTU1IDEwMDY0NAorLS0tIGEvc3JjLzNyZHBhcnR5L2Nocm9taXVtL3RoaXJkX3BhcnR5 L2NyYXNocGFkL2NyYXNocGFkL3NuYXBzaG90L2xpbnV4L3NpZ25hbF9jb250ZXh0LmgKKysrKyBi L3NyYy8zcmRwYXJ0eS9jaHJvbWl1bS90aGlyZF9wYXJ0eS9jcmFzaHBhZC9jcmFzaHBhZC9zbmFw c2hvdC9saW51eC9zaWduYWxfY29udGV4dC5oCitAQCAtNDY5LDcgKzQ2OSwxMSBAQCBzdHJ1Y3Qg TUNvbnRleHQ2NCB7CisgICBTaWduYWxUaHJlYWRDb250ZXh0NjQgZ3BfcmVnczsKKyAgIFNpZ25h bEZsb2F0Q29udGV4dDY0ICBmcF9yZWdzOworICAgU2lnbmFsVmVjdG9yQ29udGV4dDY0ICp2X3Jl Z3M7CisrI2lmZGVmIF9fR0xJQkNfXworICBpbnQ2NF90IHZteF9yZXNlcnZlWzY5XTsKKysjZWxz ZQorKyAgaW50NjRfdCB2bXhfcmVzZXJ2ZVsxMDFdOworKyNlbmRpZgorIH07CisgCisgc3RydWN0 IENvbnRleHRUcmFpdHM2NCA6IHB1YmxpYyBUcmFpdHM2NCB7CitkaWZmIC0tZ2l0IGEvc3JjLzNy ZHBhcnR5L2Nocm9taXVtL3RoaXJkX3BhcnR5L2NyYXNocGFkL2NyYXNocGFkL3V0aWwvbGludXgv dGhyZWFkX2luZm8uaCBiL3NyYy8zcmRwYXJ0eS9jaHJvbWl1bS90aGlyZF9wYXJ0eS9jcmFzaHBh ZC9jcmFzaHBhZC91dGlsL2xpbnV4L3RocmVhZF9pbmZvLmgKK2luZGV4IGRlYTBkMWYzOS4uYjIw M2U1YjJmIDEwMDY0NAorLS0tIGEvc3JjLzNyZHBhcnR5L2Nocm9taXVtL3RoaXJkX3BhcnR5L2Ny YXNocGFkL2NyYXNocGFkL3V0aWwvbGludXgvdGhyZWFkX2luZm8uaAorKysrIGIvc3JjLzNyZHBh cnR5L2Nocm9taXVtL3RoaXJkX3BhcnR5L2NyYXNocGFkL2NyYXNocGFkL3V0aWwvbGludXgvdGhy ZWFkX2luZm8uaAorQEAgLTMwLDYgKzMwLDcgQEAKKyAKKyAjaWYgZGVmaW5lZChBUkNIX0NQVV9Q UEM2NF9GQU1JTFkpCisgI2luY2x1ZGUgPHN5cy91Y29udGV4dC5oPgorKyNpbmNsdWRlIDxhc20v cHRyYWNlLmg+CisgI2VuZGlmCisgCisgbmFtZXNwYWNlIGNyYXNocGFkIHsKK2RpZmYgLS1naXQg YS9zcmMvM3JkcGFydHkvY2hyb21pdW0vdGhpcmRfcGFydHkvbHNzL2xpbnV4X3N5c2NhbGxfc3Vw cG9ydC5oIGIvc3JjLzNyZHBhcnR5L2Nocm9taXVtL3RoaXJkX3BhcnR5L2xzcy9saW51eF9zeXNj YWxsX3N1cHBvcnQuaAoraW5kZXggOTk1NWNlNDQuLjRjMWNjNDg4IDEwMDY0NAorLS0tIGEvc3Jj LzNyZHBhcnR5L2Nocm9taXVtL3RoaXJkX3BhcnR5L2xzcy9saW51eF9zeXNjYWxsX3N1cHBvcnQu aAorKysrIGIvc3JjLzNyZHBhcnR5L2Nocm9taXVtL3RoaXJkX3BhcnR5L2xzcy9saW51eF9zeXNj YWxsX3N1cHBvcnQuaAorQEAgLTQyMTYsOSArNDIxNiwxNyBAQCBzdHJ1Y3Qga2VybmVsX3N0YXRm cyB7CisgICAgIH0KKyAgICNlbmRpZgorICAgI2lmIGRlZmluZWQoX19OUl9mc3RhdGF0NjQpCisr ICAgIC8vIG11c2wgZG9lcyAjZGVmaW5lIGZzdGF0YXQ2NCBmc3RhdGF0CisrICAgICNpZm5kZWYg X19HTElCQ19fCisrICAgICN1bmRlZiBmc3RhdGF0NjQKKysgICAgI2VuZGlmCisgICAgIExTU19J TkxJTkUgX3N5c2NhbGw0KGludCwgICBmc3RhdGF0NjQsICAgICAgICBpbnQsICAgZCwKKyAgICAg ICAgICAgICAgICAgICAgICAgICAgY29uc3QgY2hhciAqLCAgICAgIHAsCisgICAgICAgICAgICAg ICAgICAgICAgICAgIHN0cnVjdCBrZXJuZWxfc3RhdDY0ICosICAgYiwgICAgaW50LCAgIGYpCisr ICAgIC8vIHNldCBpdCBiYWNrIGxpa2UgaXQgd2FzCisrICAgICNpZm5kZWYgX19HTElCQ19fCisr ICAgICNkZWZpbmUgZnN0YXRhdDY0IGZzdGF0YXQKKysgICAgI2VuZGlmCisgICAjZW5kaWYKKyAg ICNpZiBkZWZpbmVkKF9fTlJfd2FpdHBpZCkKKyAgICAgLy8gd2FpdHBpZCBpcyBwb2x5ZmlsbGVk IGJlbG93IHdoZW4gbm90IGF2YWlsYWJsZS4KZGlmZiAtLWdpdCBhL3NyY3BrZ3MvcXQ2LXdlYmVu Z2luZS9wYXRjaGVzLzAxMTAtc2l6ZV90LnBhdGNoIGIvc3JjcGtncy9xdDYtd2ViZW5naW5lL3Bh dGNoZXMvMDExMC1zaXplX3QucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw MDAwMDAwLi40NjJlMzIwMjI3OWYKLS0tIC9kZXYvbnVsbAorKysgYi9zcmNwa2dzL3F0Ni13ZWJl bmdpbmUvcGF0Y2hlcy8wMTEwLXNpemVfdC5wYXRjaApAQCAtMCwwICsxLDE2IEBACistLS0gYS9z cmMvM3JkcGFydHkvY2hyb21pdW0vdGhpcmRfcGFydHkvYW5nbGUvaW5jbHVkZS9wbGF0Zm9ybS9Q bGF0Zm9ybU1ldGhvZHMuaAkyMDIxLTAyLTIzIDE2OjM2OjU5LjAwMDAwMDAwMCArMDEwMAorKysr IC0JMjAyMS0wMy0wNyAyMTo0NDoyNS40Nzc5ODk3MjYgKzAxMDAKK0BAIC0yMzksMTEgKzIzOSwx MSBAQAorIHVzaW5nIFByb2dyYW1LZXlUeXBlICAgPSBzdGQ6OmFycmF5PHVpbnQ4X3QsIDIwPjsK KyB1c2luZyBDYWNoZVByb2dyYW1GdW5jID0gdm9pZCAoKikoUGxhdGZvcm1NZXRob2RzICpwbGF0 Zm9ybSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgUHJvZ3JhbUtl eVR5cGUgJmtleSwKKy0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2l6ZV90IHBy b2dyYW1TaXplLAorKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdGQ6OnNpemVf dCBwcm9ncmFtU2l6ZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3Qg dWludDhfdCAqcHJvZ3JhbUJ5dGVzKTsKKyBpbmxpbmUgdm9pZCBEZWZhdWx0Q2FjaGVQcm9ncmFt KFBsYXRmb3JtTWV0aG9kcyAqcGxhdGZvcm0sCisgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICBjb25zdCBQcm9ncmFtS2V5VHlwZSAma2V5LAorLSAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgc2l6ZV90IHByb2dyYW1TaXplLAorKyAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgc3RkOjpzaXplX3QgcHJvZ3JhbVNpemUsCisgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICBjb25zdCB1aW50OF90ICpwcm9ncmFtQnl0ZXMpCisge30KKyAKZGlmZiAtLWdpdCBh L3NyY3BrZ3MvcXQ2LXdlYmVuZ2luZS9wYXRjaGVzLzAxMTEtYXJtdjdsLW5lb24ucGF0Y2ggYi9z cmNwa2dzL3F0Ni13ZWJlbmdpbmUvcGF0Y2hlcy8wMTExLWFybXY3bC1uZW9uLnBhdGNoCm5ldyBm aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMC4uMzY4MDk5Yjk4MWNjCi0tLSAvZGV2 L251bGwKKysrIGIvc3JjcGtncy9xdDYtd2ViZW5naW5lL3BhdGNoZXMvMDExMS1hcm12N2wtbmVv bi5wYXRjaApAQCAtMCwwICsxLDEwIEBACistLS0gYS9zcmMvM3JkcGFydHkvY2hyb21pdW0vc2tp YS9CVUlMRC5nbgkyMDIwLTA5LTAxIDEzOjAyOjM0LjAwMDAwMDAwMCArMDIwMAorKysrIGIvc3Jj LzNyZHBhcnR5L2Nocm9taXVtL3NraWEvQlVJTEQuZ24JMjAyMC0xMC0wNiAyMDo1MTo0OC44MzQ5 NzA0NTUgKzAyMDAKK0BAIC03NzIsNyArNzcyLDYgQEAKKyAgICAgICAgICMgUm9vdCBidWlsZCBj b25maWcgc2V0cyAtbWZwdT0kYXJtX2ZwdSwgd2hpY2ggd2UgZXhwZWN0IHRvIGJlIG5lb24KKyAg ICAgICAgICMgd2hlbiBydW5uaW5nIHRoaXMuCisgICAgICAgICBpZiAoIWFybV91c2VfbmVvbikg eworLSAgICAgICAgICBjb25maWdzIC09IFsgIi8vYnVpbGQvY29uZmlnL2NvbXBpbGVyOmNvbXBp bGVyX2FybV9mcHUiIF0KKyAgICAgICAgICAgY2ZsYWdzICs9IFsgIi1tZnB1PW5lb24iIF0KKyAg ICAgICAgIH0KKyAgICAgICB9CmRpZmYgLS1naXQgYS9zcmNwa2dzL3F0Ni13ZWJlbmdpbmUvcGF0 Y2hlcy8wMTEyLWFybS11c2VyX3ZmcC5wYXRjaCBiL3NyY3BrZ3MvcXQ2LXdlYmVuZ2luZS9wYXRj aGVzLzAxMTItYXJtLXVzZXJfdmZwLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw MDAwMDAwMDAwMC4uNmUyZDYyZjM1ZWU2Ci0tLSAvZGV2L251bGwKKysrIGIvc3JjcGtncy9xdDYt d2ViZW5naW5lL3BhdGNoZXMvMDExMi1hcm0tdXNlcl92ZnAucGF0Y2gKQEAgLTAsMCArMSwyMCBA QAorLS0tIGEvc3JjLzNyZHBhcnR5L2Nocm9taXVtL3RoaXJkX3BhcnR5L2NyYXNocGFkL2NyYXNo cGFkL3V0aWwvbGludXgvdGhyZWFkX2luZm8uaAorKysrIGIvc3JjLzNyZHBhcnR5L2Nocm9taXVt L3RoaXJkX3BhcnR5L2NyYXNocGFkL2NyYXNocGFkL3V0aWwvbGludXgvdGhyZWFkX2luZm8uaAor QEAgLTE3LDYgKzE3LDE3IEBACisgCisgI2luY2x1ZGUgPHN0ZGludC5oPgorICNpbmNsdWRlIDxz eXMvdXNlci5oPgorKyNpZiAhZGVmaW5lZChfX0dMSUJDX18pCisrc3RydWN0IHVzZXJfdmZwIHsK KysJdW5zaWduZWQgbG9uZyBsb25nIGZwcmVnc1szMl07CisrCXVuc2lnbmVkIGxvbmcgZnBzY3I7 CisrfTsKKytzdHJ1Y3QgdXNlcl92ZnBfZXhjIHsKKysJdW5zaWduZWQgbG9uZyBmcGV4YzsKKysJ dW5zaWduZWQgbG9uZyBmcGluc3Q7CisrCXVuc2lnbmVkIGxvbmcgZnBpbnN0MjsKKyt9OworKyNl bmRpZiAvKiAhZGVmaW5lZChfX0dMSUJDX18pICovCisgCisgI2luY2x1ZGUgPHR5cGVfdHJhaXRz PgorIApkaWZmIC0tZ2l0IGEvc3JjcGtncy9xdDYtd2ViZW5naW5lL3BhdGNoZXMvMDExMy1hcm0t ZWxmX2F1eHZfdC5wYXRjaCBiL3NyY3BrZ3MvcXQ2LXdlYmVuZ2luZS9wYXRjaGVzLzAxMTMtYXJt LWVsZl9hdXh2X3QucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw Li41YzdjYmZjNDZmNjUKLS0tIC9kZXYvbnVsbAorKysgYi9zcmNwa2dzL3F0Ni13ZWJlbmdpbmUv cGF0Y2hlcy8wMTEzLWFybS1lbGZfYXV4dl90LnBhdGNoCkBAIC0wLDAgKzEsMTggQEAKKy0tLSBh L3NyYy8zcmRwYXJ0eS9jaHJvbWl1bS92OC9zcmMvYmFzZS9jcHUuY2MJMjAyMC0wOS0wMSAxMzow MjozNC4wMDAwMDAwMDAgKzAyMDAKKysrKyBiL3NyYy8zcmRwYXJ0eS9jaHJvbWl1bS92OC9zcmMv YmFzZS9jcHUuY2MJMjAyMC0xMC0wNiAyMToyODo0NS4xMjQ4ODIwODUgKzAyMDAKK0BAIC0xMDks NiArMTA5LDE1IEBACisgI2RlZmluZSBIV0NBUF9JRElWICAoSFdDQVBfSURJVkEgfCBIV0NBUF9J RElWVCkKKyAjZGVmaW5lIEhXQ0FQX0xQQUUgICgxIDw8IDIwKQorIAorKyNpZm5kZWYgX19HTElC Q19fCisrI2luY2x1ZGUgPGVsZi5oPgorKyNpZmRlZiBfX0xQNjRfXworK3R5cGVkZWYgRWxmNjRf YXV4dl90IGVsZl9hdXh2X3Q7CisrI2Vsc2UKKyt0eXBlZGVmIEVsZjMyX2F1eHZfdCBlbGZfYXV4 dl90OworKyNlbmRpZgorKyNlbmRpZgorKworIHN0YXRpYyB1aW50MzJfdCBSZWFkRUxGSFdDYXBz KCkgeworICNpZiBWOF9HTElCQ19QUkVSRVEoMiwgMTYpCisgICByZXR1cm4gc3RhdGljX2Nhc3Q8 dWludDMyX3Q+KGdldGF1eHZhbChBVF9IV0NBUCkpOwpkaWZmIC0tZ2l0IGEvc3JjcGtncy9xdDYt d2ViZW5naW5lL3BhdGNoZXMvMDExNC10aW1lNjQucGF0Y2ggYi9zcmNwa2dzL3F0Ni13ZWJlbmdp bmUvcGF0Y2hlcy8wMTE0LXRpbWU2NC5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw MDAwMDAwMDAwMDAuLjZhOThkZDRlNDgwZQotLS0gL2Rldi9udWxsCisrKyBiL3NyY3BrZ3MvcXQ2 LXdlYmVuZ2luZS9wYXRjaGVzLzAxMTQtdGltZTY0LnBhdGNoCkBAIC0wLDAgKzEsODkgQEAKK0Rl c2NyaXB0aW9uOiBmaXggc2VjY29tcC1icGYgZmFpbHVyZXMgaW4gc3lzY2FsbHMgMDQwMywgMDQw NworIGdsaWJjIOKJpSAyLjMxIHVzZXMgdGhlc2Ugc3lzY2FsbHMgb24gMzItYml0IHBsYXRmb3Jt czoKKyAuCisgLSBodHRwczovL3NvdXJjZXdhcmUub3JnL2dpdC8/cD1nbGliYy5naXQ7YT1jb21t aXQ7aD0yZTQ0YjEwYjQyZDY4ZDk4CisgLSBodHRwczovL3NvdXJjZXdhcmUub3JnL2dpdC8/cD1n bGliYy5naXQ7YT1jb21taXQ7aD1lYzEzOGM2N2NiZGE4YjU4CitBdXRob3I6IEFuZHJlYXMgTcO8 bGxlciA8c2Nobml0emVsdG9ueUBnbWFpbC5jb20+CitGb3J3YXJkZWQ6IG5vCitMYXN0LVVwZGF0 ZTogMjAyMC0wOS0wMgorCistLS0gYS9zcmMvM3JkcGFydHkvY2hyb21pdW0vc2FuZGJveC9saW51 eC9zZWNjb21wLWJwZi1oZWxwZXJzL2Jhc2VsaW5lX3BvbGljeS5jYworKysrIGIvc3JjLzNyZHBh cnR5L2Nocm9taXVtL3NhbmRib3gvbGludXgvc2VjY29tcC1icGYtaGVscGVycy9iYXNlbGluZV9w b2xpY3kuY2MKK0BAIC0xNDgsNyArMTQ4LDE0IEBAIFJlc3VsdEV4cHIgRXZhbHVhdGVTeXNjYWxs SW1wbChpbnQgZnNfZGUKKyAgICAgcmV0dXJuIEFsbG93KCk7CisgI2VuZGlmCisgCistICBpZiAo c3lzbm8gPT0gX19OUl9jbG9ja19nZXR0aW1lIHx8IHN5c25vID09IF9fTlJfY2xvY2tfbmFub3Ns ZWVwKSB7CisrICBpZiAoc3lzbm8gPT0gX19OUl9jbG9ja19nZXR0aW1lIHx8IHN5c25vID09IF9f TlJfY2xvY2tfbmFub3NsZWVwCisrI2lmIGRlZmluZWQoX19OUl9jbG9ja19nZXR0aW1lNjQpCisr ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHx8IHN5c25vID09IF9fTlJfY2xvY2tf Z2V0dGltZTY0CisrI2VuZGlmCisrI2lmIGRlZmluZWQoX19OUl9jbG9ja19uYW5vc2xlZXBfdGlt ZTY0KQorKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8fCBzeXNubyA9PSBfX05S X2Nsb2NrX25hbm9zbGVlcF90aW1lNjQKKysjZW5kaWYKKysgICkgeworICAgICByZXR1cm4gUmVz dHJpY3RDbG9ja0lEKCk7CisgICB9CisgCistLS0gYS9zcmMvM3JkcGFydHkvY2hyb21pdW0vc2Fu ZGJveC9saW51eC9zZWNjb21wLWJwZi1oZWxwZXJzL3N5c2NhbGxfcGFyYW1ldGVyc19yZXN0cmlj dGlvbnNfdW5pdHRlc3RzLmNjCisrKysgYi9zcmMvM3JkcGFydHkvY2hyb21pdW0vc2FuZGJveC9s aW51eC9zZWNjb21wLWJwZi1oZWxwZXJzL3N5c2NhbGxfcGFyYW1ldGVyc19yZXN0cmljdGlvbnNf dW5pdHRlc3RzLmNjCitAQCAtNjAsNiArNjAsMTIgQEAgY2xhc3MgUmVzdHJpY3RDbG9ja0lkUG9s aWN5IDogcHVibGljIGJwZgorICAgICAgIGNhc2UgX19OUl9jbG9ja19nZXR0aW1lOgorICAgICAg IGNhc2UgX19OUl9jbG9ja19nZXRyZXM6CisgICAgICAgY2FzZSBfX05SX2Nsb2NrX25hbm9zbGVl cDoKKysjaWYgZGVmaW5lZChfX05SX2Nsb2NrX25hbm9zbGVlcF90aW1lNjQpCisrICAgICAgY2Fz ZSBfX05SX2Nsb2NrX25hbm9zbGVlcF90aW1lNjQ6CisrI2VuZGlmCisrI2lmIGRlZmluZWQoX19O Ul9jbG9ja19nZXR0aW1lNjQpCisrICAgICAgY2FzZSBfX05SX2Nsb2NrX2dldHRpbWU2NDoKKysj ZW5kaWYKKyAgICAgICAgIHJldHVybiBSZXN0cmljdENsb2NrSUQoKTsKKyAgICAgICBkZWZhdWx0 OgorICAgICAgICAgcmV0dXJuIEFsbG93KCk7CistLS0gYS9zcmMvM3JkcGFydHkvY2hyb21pdW0v c2FuZGJveC9saW51eC9zZWNjb21wLWJwZi1oZWxwZXJzL3N5c2NhbGxfc2V0cy5jYworKysrIGIv c3JjLzNyZHBhcnR5L2Nocm9taXVtL3NhbmRib3gvbGludXgvc2VjY29tcC1icGYtaGVscGVycy9z eXNjYWxsX3NldHMuY2MKK0BAIC0zOSw2ICszOSwxMiBAQCBib29sIFN5c2NhbGxTZXRzOjpJc0Fs bG93ZWRHZXR0aW1lKGludCBzCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyBm aWx0ZXJlZCBieSBSZXN0cmljdENsb2tJRCgpLgorICAgICBjYXNlIF9fTlJfY2xvY2tfZ2V0dGlt ZTogICAgLy8gUGFyYW1ldGVycyBmaWx0ZXJlZCBieSBSZXN0cmljdENsb2NrSUQoKS4KKyAgICAg Y2FzZSBfX05SX2Nsb2NrX25hbm9zbGVlcDogIC8vIFBhcmFtZXRlcnMgZmlsdGVyZWQgYnkgUmVz dHJpY3RDbG9ja0lEKCkuCisrI2lmIGRlZmluZWQoX19OUl9jbG9ja19nZXR0aW1lNjQpCisrICAg IGNhc2UgX19OUl9jbG9ja19nZXR0aW1lNjQ6ICAvLyBQYXJhbWV0ZXJzIGZpbHRlcmVkIGJ5IFJl c3RyaWN0Q2xvY2tJRCgpLgorKyNlbmRpZgorKyNpZiBkZWZpbmVkKF9fTlJfY2xvY2tfbmFub3Ns ZWVwX3RpbWU2NCkKKysgICAgY2FzZSBfX05SX2Nsb2NrX25hbm9zbGVlcF90aW1lNjQ6ICAvLyBQ YXJhbWV0ZXJzIGZpbHRlcmVkIGJ5IFJlc3RyaWN0Q2xvY2tJRCgpLgorKyNlbmRpZgorICAgICBj YXNlIF9fTlJfY2xvY2tfc2V0dGltZTogICAgLy8gUHJpdmlsZWdlZC4KKyAjaWYgZGVmaW5lZChf X2kzODZfXykgfHwgXAorICAgICAoZGVmaW5lZChBUkNIX0NQVV9NSVBTX0ZBTUlMWSkgJiYgZGVm aW5lZChBUkNIX0NQVV8zMl9CSVRTKSkKKy0tLSBhL3NyYy8zcmRwYXJ0eS9jaHJvbWl1bS9zYW5k Ym94L2xpbnV4L3N5c3RlbV9oZWFkZXJzL2FybV9saW51eF9zeXNjYWxscy5oCisrKysgYi9zcmMv M3JkcGFydHkvY2hyb21pdW0vc2FuZGJveC9saW51eC9zeXN0ZW1faGVhZGVycy9hcm1fbGludXhf c3lzY2FsbHMuaAorQEAgLTEzODUsNiArMTM4NSwxNCBAQAorICNkZWZpbmUgX19OUl9tZW1mZF9j cmVhdGUgKF9fTlJfU1lTQ0FMTF9CQVNFKzM4NSkKKyAjZW5kaWYKKyAKKysjaWYgIWRlZmluZWQo X19OUl9jbG9ja19nZXR0aW1lNjQpCisrI2RlZmluZSBfX05SX2Nsb2NrX2dldHRpbWU2NCAoX19O Ul9TWVNDQUxMX0JBU0UrNDAzKQorKyNlbmRpZgorKworKyNpZiAhZGVmaW5lZChfX05SX2Nsb2Nr X25hbm9zbGVlcF90aW1lNjQpCisrI2RlZmluZSBfX05SX2Nsb2NrX25hbm9zbGVlcF90aW1lNjQg KF9fTlJfU1lTQ0FMTF9CQVNFKzQwNykKKysjZW5kaWYKKysKKyAvLyBBUk0gcHJpdmF0ZSBzeXNj YWxscy4KKyAjaWYgIWRlZmluZWQoX19BUk1fTlJfQkFTRSkKKyAjZGVmaW5lIF9fQVJNX05SX0JB U0UgKF9fTlJfU1lTQ0FMTF9CQVNFICsgMHhGMDAwMCkKKy0tLSBhL3NyYy8zcmRwYXJ0eS9jaHJv bWl1bS9zYW5kYm94L2xpbnV4L3N5c3RlbV9oZWFkZXJzL21pcHNfbGludXhfc3lzY2FsbHMuaAor KysrIGIvc3JjLzNyZHBhcnR5L2Nocm9taXVtL3NhbmRib3gvbGludXgvc3lzdGVtX2hlYWRlcnMv bWlwc19saW51eF9zeXNjYWxscy5oCitAQCAtMTQzMyw0ICsxNDMzLDEyIEBACisgI2RlZmluZSBf X05SX21lbWZkX2NyZWF0ZSAoX19OUl9MaW51eCArIDM1NCkKKyAjZW5kaWYKKyAKKysjaWYgIWRl ZmluZWQoX19OUl9jbG9ja19nZXR0aW1lNjQpCisrI2RlZmluZSBfX05SX2Nsb2NrX2dldHRpbWU2 NCAoX19OUl9MaW51eCArIDQwMykKKysjZW5kaWYKKysKKysjaWYgIWRlZmluZWQoX19OUl9jbG9j a19uYW5vc2xlZXBfdGltZTY0KQorKyNkZWZpbmUgX19OUl9jbG9ja19uYW5vc2xlZXBfdGltZTY0 IChfX05SX0xpbnV4ICsgNDA3KQorKyNlbmRpZgorKworICNlbmRpZiAgLy8gU0FOREJPWF9MSU5V WF9TWVNURU1fSEVBREVSU19NSVBTX0xJTlVYX1NZU0NBTExTX0hfCmRpZmYgLS1naXQgYS9zcmNw a2dzL3F0Ni13ZWJlbmdpbmUvcGF0Y2hlcy8wMTIxLWdsaWJjLTIuMzMucGF0Y2ggYi9zcmNwa2dz L3F0Ni13ZWJlbmdpbmUvcGF0Y2hlcy8wMTIxLWdsaWJjLTIuMzMucGF0Y2gKbmV3IGZpbGUgbW9k ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwLi4zYTBiYTNiMmQ4NTQKLS0tIC9kZXYvbnVsbAor KysgYi9zcmNwa2dzL3F0Ni13ZWJlbmdpbmUvcGF0Y2hlcy8wMTIxLWdsaWJjLTIuMzMucGF0Y2gK QEAgLTAsMCArMSwxNDQgQEAKKyMgUGF0Y2ggbWFkZSBieSBLZXZpbiBLb2ZsZXIgPEtldmluQHRp Z2NjLnRpY2FsYy5vcmc+CisjIGh0dHBzOi8vYnVnemlsbGEucmVkaGF0LmNvbS9zaG93X2J1Zy5j Z2k/aWQ9MTkwNDY1MgorCitkaWZmIC11ciBxdHdlYmVuZ2luZS1ldmVyeXdoZXJlLXNyYy01LjE1 LjIvc3JjLzNyZHBhcnR5L2Nocm9taXVtL3NhbmRib3gvbGludXgvc2VjY29tcC1icGYtaGVscGVy cy9iYXNlbGluZV9wb2xpY3kuY2MgcXR3ZWJlbmdpbmUtZXZlcnl3aGVyZS1zcmMtNS4xNS4yLSMx OTA0NjUyL3NyYy8zcmRwYXJ0eS9jaHJvbWl1bS9zYW5kYm94L2xpbnV4L3NlY2NvbXAtYnBmLWhl bHBlcnMvYmFzZWxpbmVfcG9saWN5LmNjCistLS0gcXR3ZWJlbmdpbmUtZXZlcnl3aGVyZS1zcmMt NS4xNS4yL3NyYy8zcmRwYXJ0eS9jaHJvbWl1bS9zYW5kYm94L2xpbnV4L3NlY2NvbXAtYnBmLWhl bHBlcnMvYmFzZWxpbmVfcG9saWN5LmNjCTIwMjAtMTEtMDcgMDI6MjI6MzYuMDAwMDAwMDAwICsw MTAwCisrKysgcXR3ZWJlbmdpbmUtZXZlcnl3aGVyZS1zcmMtNS4xNS4yLSMxOTA0NjUyL3NyYy8z cmRwYXJ0eS9jaHJvbWl1bS9zYW5kYm94L2xpbnV4L3NlY2NvbXAtYnBmLWhlbHBlcnMvYmFzZWxp bmVfcG9saWN5LmNjCTIwMjEtMDEtMjAgMDI6MTQ6NTMuMDY2MjIzOTA2ICswMTAwCitAQCAtMjU3 LDYgKzI1NywxOCBAQAorICAgICByZXR1cm4gUmVzdHJpY3RLaWxsVGFyZ2V0KGN1cnJlbnRfcGlk LCBzeXNubyk7CisgICB9CisgCisrI2lmIGRlZmluZWQoX19OUl9uZXdmc3RhdGF0KQorKyAgaWYg KHN5c25vID09IF9fTlJfbmV3ZnN0YXRhdCkgeworKyAgICByZXR1cm4gUmV3cml0ZUZzdGF0YXRT SUdTWVMoKTsKKysgIH0KKysjZW5kaWYKKysKKysjaWYgZGVmaW5lZChfX05SX2ZzdGF0YXQ2NCkK KysgIGlmIChzeXNubyA9PSBfX05SX2ZzdGF0YXQ2NCkgeworKyAgICByZXR1cm4gUmV3cml0ZUZz dGF0YXRTSUdTWVMoKTsKKysgIH0KKysjZW5kaWYKKysKKyAgIGlmIChTeXNjYWxsU2V0czo6SXNG aWxlU3lzdGVtKHN5c25vKSB8fAorICAgICAgIFN5c2NhbGxTZXRzOjpJc0N1cnJlbnREaXJlY3Rv cnkoc3lzbm8pKSB7CisgICAgIHJldHVybiBFcnJvcihmc19kZW5pZWRfZXJybm8pOworZGlmZiAt dXIgcXR3ZWJlbmdpbmUtZXZlcnl3aGVyZS1zcmMtNS4xNS4yL3NyYy8zcmRwYXJ0eS9jaHJvbWl1 bS9zYW5kYm94L2xpbnV4L3NlY2NvbXAtYnBmLWhlbHBlcnMvc2lnc3lzX2hhbmRsZXJzLmNjIHF0 d2ViZW5naW5lLWV2ZXJ5d2hlcmUtc3JjLTUuMTUuMi0jMTkwNDY1Mi9zcmMvM3JkcGFydHkvY2hy b21pdW0vc2FuZGJveC9saW51eC9zZWNjb21wLWJwZi1oZWxwZXJzL3NpZ3N5c19oYW5kbGVycy5j YworLS0tIHF0d2ViZW5naW5lLWV2ZXJ5d2hlcmUtc3JjLTUuMTUuMi9zcmMvM3JkcGFydHkvY2hy b21pdW0vc2FuZGJveC9saW51eC9zZWNjb21wLWJwZi1oZWxwZXJzL3NpZ3N5c19oYW5kbGVycy5j YwkyMDIwLTExLTA3IDAyOjIyOjM2LjAwMDAwMDAwMCArMDEwMAorKysrIHF0d2ViZW5naW5lLWV2 ZXJ5d2hlcmUtc3JjLTUuMTUuMi0jMTkwNDY1Mi9zcmMvM3JkcGFydHkvY2hyb21pdW0vc2FuZGJv eC9saW51eC9zZWNjb21wLWJwZi1oZWxwZXJzL3NpZ3N5c19oYW5kbGVycy5jYwkyMDIxLTAxLTIy IDE5OjAyOjU1LjY1MTY2ODI1NyArMDEwMAorQEAgLTYsNiArNiw4IEBACisgCisgI2luY2x1ZGUg InNhbmRib3gvbGludXgvc2VjY29tcC1icGYtaGVscGVycy9zaWdzeXNfaGFuZGxlcnMuaCIKKyAK KysjaW5jbHVkZSA8ZXJybm8uaD4KKysjaW5jbHVkZSA8ZmNudGwuaD4KKyAjaW5jbHVkZSA8c3Rk ZGVmLmg+CisgI2luY2x1ZGUgPHN0ZGludC5oPgorICNpbmNsdWRlIDxzdHJpbmcuaD4KK0BAIC0z NTUsNiArMzU3LDM1IEBACisgICByZXR1cm4gLUVOT1NZUzsKKyB9CisgCisraW50cHRyX3QgU0lH U1lTRnN0YXRhdEhhbmRsZXIoY29uc3Qgc3RydWN0IGFyY2hfc2VjY29tcF9kYXRhJiBhcmdzLAor KyAgICAgICAgICAgICAgICAgICAgICAgICAgICB2b2lkKiBhdXgpIHsKKysgIHN3aXRjaCAoYXJn cy5ucikgeworKyNpZiBkZWZpbmVkKF9fTlJfbmV3ZnN0YXRhdCkKKysgICAgY2FzZSBfX05SX25l d2ZzdGF0YXQ6CisrI2VuZGlmCisrI2lmIGRlZmluZWQoX19OUl9mc3RhdGF0NjQpCisrICAgIGNh c2UgX19OUl9mc3RhdGF0NjQ6CisrI2VuZGlmCisrI2lmIGRlZmluZWQoX19OUl9uZXdmc3RhdGF0 KSB8fCBkZWZpbmVkKF9fTlJfZnN0YXRhdDY0KQorKyAgICAgIGlmICgqcmVpbnRlcnByZXRfY2Fz dDxjb25zdCBjaGFyICo+KGFyZ3MuYXJnc1sxXSkgPT0gJ1wwJworKyAgICAgICAgICAmJiBhcmdz LmFyZ3NbM10gPT0gc3RhdGljX2Nhc3Q8dWludDY0X3Q+KEFUX0VNUFRZX1BBVEgpKSB7CisrICAg ICAgICByZXR1cm4gc2FuZGJveDo6c3lzX2ZzdGF0NjQoc3RhdGljX2Nhc3Q8aW50PihhcmdzLmFy Z3NbMF0pLAorKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlaW50ZXJwcmV0 X2Nhc3Q8c3RydWN0IHN0YXQ2NCAqPihhcmdzLmFyZ3NbMl0pKTsKKysgICAgICB9IGVsc2Ugewor KyAgICAgICAgZXJybm8gPSBFQUNDRVM7CisrICAgICAgICByZXR1cm4gLTE7CisrICAgICAgfQor KyAgICAgIGJyZWFrOworKyNlbmRpZgorKyAgfQorKworKyAgQ3Jhc2hTSUdTWVNfSGFuZGxlcihh cmdzLCBhdXgpOworKworKyAgLy8gU2hvdWxkIG5ldmVyIGJlIHJlYWNoZWQuCisrICBSQVdfQ0hF Q0soZmFsc2UpOworKyAgcmV0dXJuIC1FTk9TWVM7CisrfQorKworIGJwZl9kc2w6OlJlc3VsdEV4 cHIgQ3Jhc2hTSUdTWVMoKSB7CisgICByZXR1cm4gYnBmX2RzbDo6VHJhcChDcmFzaFNJR1NZU19I YW5kbGVyLCBOVUxMKTsKKyB9CitAQCAtMzg3LDYgKzQxOCwxMCBAQAorICAgcmV0dXJuIGJwZl9k c2w6OlRyYXAoU0lHU1lTU2NoZWRIYW5kbGVyLCBOVUxMKTsKKyB9CisgCisrYnBmX2RzbDo6UmVz dWx0RXhwciBSZXdyaXRlRnN0YXRhdFNJR1NZUygpIHsKKysgIHJldHVybiBicGZfZHNsOjpUcmFw KFNJR1NZU0ZzdGF0YXRIYW5kbGVyLCBOVUxMKTsKKyt9CisrCisgdm9pZCBBbGxvY2F0ZUNyYXNo S2V5cygpIHsKKyAjaWYgIWRlZmluZWQoT1NfTkFDTF9OT05TRkkpCisgICBpZiAoc2VjY29tcF9j cmFzaF9rZXkpCitkaWZmIC11ciBxdHdlYmVuZ2luZS1ldmVyeXdoZXJlLXNyYy01LjE1LjIvc3Jj LzNyZHBhcnR5L2Nocm9taXVtL3NhbmRib3gvbGludXgvc2VjY29tcC1icGYtaGVscGVycy9zaWdz eXNfaGFuZGxlcnMuaCBxdHdlYmVuZ2luZS1ldmVyeXdoZXJlLXNyYy01LjE1LjItIzE5MDQ2NTIv c3JjLzNyZHBhcnR5L2Nocm9taXVtL3NhbmRib3gvbGludXgvc2VjY29tcC1icGYtaGVscGVycy9z aWdzeXNfaGFuZGxlcnMuaAorLS0tIHF0d2ViZW5naW5lLWV2ZXJ5d2hlcmUtc3JjLTUuMTUuMi9z cmMvM3JkcGFydHkvY2hyb21pdW0vc2FuZGJveC9saW51eC9zZWNjb21wLWJwZi1oZWxwZXJzL3Np Z3N5c19oYW5kbGVycy5oCTIwMjAtMTEtMDcgMDI6MjI6MzYuMDAwMDAwMDAwICswMTAwCisrKysg cXR3ZWJlbmdpbmUtZXZlcnl3aGVyZS1zcmMtNS4xNS4yLSMxOTA0NjUyL3NyYy8zcmRwYXJ0eS9j aHJvbWl1bS9zYW5kYm94L2xpbnV4L3NlY2NvbXAtYnBmLWhlbHBlcnMvc2lnc3lzX2hhbmRsZXJz LmgJMjAyMS0wMS0yMCAwMjoxMTowNC41ODM3MTQxOTkgKzAxMDAKK0BAIC02Miw2ICs2MiwxMCBA QAorIC8vIHNjaGVkX3NldHBhcmFtKCksIHNjaGVkX3NldHNjaGVkdWxlcigpCisgU0FOREJPWF9F WFBPUlQgaW50cHRyX3QgU0lHU1lTU2NoZWRIYW5kbGVyKGNvbnN0IGFyY2hfc2VjY29tcF9kYXRh JiBhcmdzLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2b2lk KiBhdXgpOworKy8vIElmIHRoZSBmc3RhdGF0IHN5c2NhbGwgaXMgYWN0dWFsbHkgYSBkaXNndWlz ZWQgZnN0YXQsIGNhbGxzIHRoZSByZWd1bGFyIGZzdGF0CisrLy8gc3lzY2FsbCwgb3RoZXJ3aXNl LCBjcmFzaGVzIGluIHRoZSBzYW1lIHdheSBhcyBDcmFzaFNJR1NZU19IYW5kbGVyLgorK1NBTkRC T1hfRVhQT1JUIGludHB0cl90IFNJR1NZU0ZzdGF0YXRIYW5kbGVyKGNvbnN0IHN0cnVjdCBhcmNo X3NlY2NvbXBfZGF0YSYgYXJncywgCisrICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgdm9pZCogYXV4KTsKKyAKKyAvLyBWYXJpYW50cyBvZiB0aGUgYWJvdmUgZnVu Y3Rpb25zIGZvciB1c2Ugd2l0aCBicGZfZHNsLgorIFNBTkRCT1hfRVhQT1JUIGJwZl9kc2w6OlJl c3VsdEV4cHIgQ3Jhc2hTSUdTWVMoKTsKK0BAIC03Miw2ICs3Niw3IEBACisgU0FOREJPWF9FWFBP UlQgYnBmX2RzbDo6UmVzdWx0RXhwciBDcmFzaFNJR1NZU0Z1dGV4KCk7CisgU0FOREJPWF9FWFBP UlQgYnBmX2RzbDo6UmVzdWx0RXhwciBDcmFzaFNJR1NZU1B0cmFjZSgpOworIFNBTkRCT1hfRVhQ T1JUIGJwZl9kc2w6OlJlc3VsdEV4cHIgUmV3cml0ZVNjaGVkU0lHU1lTKCk7CisrU0FOREJPWF9F WFBPUlQgYnBmX2RzbDo6UmVzdWx0RXhwciBSZXdyaXRlRnN0YXRhdFNJR1NZUygpOworIAorIC8v IEFsbG9jYXRlcyBhIGNyYXNoIGtleSBzbyB0aGF0IFNlY2NvbXAgaW5mb3JtYXRpb24gY2FuIGJl IHJlY29yZGVkLgorIHZvaWQgQWxsb2NhdGVDcmFzaEtleXMoKTsKK2RpZmYgLXVyIHF0d2ViZW5n aW5lLWV2ZXJ5d2hlcmUtc3JjLTUuMTUuMi9zcmMvM3JkcGFydHkvY2hyb21pdW0vc2FuZGJveC9s aW51eC9zZXJ2aWNlcy9zeXNjYWxsX3dyYXBwZXJzLmNjIHF0d2ViZW5naW5lLWV2ZXJ5d2hlcmUt c3JjLTUuMTUuMi0jMTkwNDY1Mi9zcmMvM3JkcGFydHkvY2hyb21pdW0vc2FuZGJveC9saW51eC9z ZXJ2aWNlcy9zeXNjYWxsX3dyYXBwZXJzLmNjCistLS0gcXR3ZWJlbmdpbmUtZXZlcnl3aGVyZS1z cmMtNS4xNS4yL3NyYy8zcmRwYXJ0eS9jaHJvbWl1bS9zYW5kYm94L2xpbnV4L3NlcnZpY2VzL3N5 c2NhbGxfd3JhcHBlcnMuY2MJMjAyMC0xMS0wNyAwMjoyMjozNi4wMDAwMDAwMDAgKzAxMDAKKysr KyBxdHdlYmVuZ2luZS1ldmVyeXdoZXJlLXNyYy01LjE1LjItIzE5MDQ2NTIvc3JjLzNyZHBhcnR5 L2Nocm9taXVtL3NhbmRib3gvbGludXgvc2VydmljZXMvc3lzY2FsbF93cmFwcGVycy5jYwkyMDIx LTAxLTIwIDAyOjQxOjEyLjAzMzEzMzI2OSArMDEwMAorQEAgLTI2MSw0ICsyNjEsMTMgQEAKKyAK KyAjZW5kaWYgIC8vIGRlZmluZWQoTUVNT1JZX1NBTklUSVpFUikKKyAKKytTQU5EQk9YX0VYUE9S VCBpbnQgc3lzX2ZzdGF0NjQoaW50IGZkLCBzdHJ1Y3Qgc3RhdDY0ICpidWYpCisreworKyNpZiBk ZWZpbmVkKF9fTlJfZnN0YXQ2NCkKKysgICAgcmV0dXJuIHN5c2NhbGwoX19OUl9mc3RhdDY0LCBm ZCwgYnVmKTsKKysjZWxzZQorKyAgICByZXR1cm4gc3lzY2FsbChfX05SX2ZzdGF0LCBmZCwgYnVm KTsKKysjZW5kaWYKKyt9CisrCisgfSAgLy8gbmFtZXNwYWNlIHNhbmRib3gKK2RpZmYgLXVyIHF0 d2ViZW5naW5lLWV2ZXJ5d2hlcmUtc3JjLTUuMTUuMi9zcmMvM3JkcGFydHkvY2hyb21pdW0vc2Fu ZGJveC9saW51eC9zZXJ2aWNlcy9zeXNjYWxsX3dyYXBwZXJzLmggcXR3ZWJlbmdpbmUtZXZlcnl3 aGVyZS1zcmMtNS4xNS4yLSMxOTA0NjUyL3NyYy8zcmRwYXJ0eS9jaHJvbWl1bS9zYW5kYm94L2xp bnV4L3NlcnZpY2VzL3N5c2NhbGxfd3JhcHBlcnMuaAorLS0tIHF0d2ViZW5naW5lLWV2ZXJ5d2hl cmUtc3JjLTUuMTUuMi9zcmMvM3JkcGFydHkvY2hyb21pdW0vc2FuZGJveC9saW51eC9zZXJ2aWNl cy9zeXNjYWxsX3dyYXBwZXJzLmgJMjAyMC0xMS0wNyAwMjoyMjozNi4wMDAwMDAwMDAgKzAxMDAK KysrKyBxdHdlYmVuZ2luZS1ldmVyeXdoZXJlLXNyYy01LjE1LjItIzE5MDQ2NTIvc3JjLzNyZHBh cnR5L2Nocm9taXVtL3NhbmRib3gvbGludXgvc2VydmljZXMvc3lzY2FsbF93cmFwcGVycy5oCTIw MjEtMDEtMjAgMDI6NDA6MjYuNDk5ODI3ODI5ICswMTAwCitAQCAtMTcsNiArMTcsNyBAQAorIHN0 cnVjdCBybGltaXQ2NDsKKyBzdHJ1Y3QgY2FwX2hkcjsKKyBzdHJ1Y3QgY2FwX2RhdGE7Cisrc3Ry dWN0IHN0YXQ2NDsKKyAKKyBuYW1lc3BhY2Ugc2FuZGJveCB7CisgCitAQCAtODQsNiArODUsOSBA QAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHN0cnVjdCBzaWdhY3Rp b24qIGFjdCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJ1Y3Qgc2lnYWN0 aW9uKiBvbGRhY3QpOworIAorKy8vIFJlY2VudCBnbGliYyByZXdyaXRlcyBmc3RhdCB0byBmc3Rh dGF0LgorK1NBTkRCT1hfRVhQT1JUIGludCBzeXNfZnN0YXQ2NChpbnQgZmQsIHN0cnVjdCBzdGF0 NjQgKmJ1Zik7CisrCisgfSAgLy8gbmFtZXNwYWNlIHNhbmRib3gKKyAKKyAjZW5kaWYgIC8vIFNB TkRCT1hfTElOVVhfU0VSVklDRVNfU1lTQ0FMTF9XUkFQUEVSU19IXwpkaWZmIC0tZ2l0IGEvc3Jj cGtncy9xdDYtd2ViZW5naW5lL3RlbXBsYXRlIGIvc3JjcGtncy9xdDYtd2ViZW5naW5lL3RlbXBs YXRlCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMC4uMzc0M2ZjNjY2NGNi Ci0tLSAvZGV2L251bGwKKysrIGIvc3JjcGtncy9xdDYtd2ViZW5naW5lL3RlbXBsYXRlCkBAIC0w LDAgKzEsOTQgQEAKKyMgVGVtcGxhdGUgZmlsZSBmb3IgJ3F0Ni13ZWJlbmdpbmUnCitwa2duYW1l PXF0Ni13ZWJlbmdpbmUKK3ZlcnNpb249Ni4yLjBhbHBoYQorcmV2aXNpb249MQord3Jrc3JjPSJx dHdlYmVuZ2luZS1ldmVyeXdoZXJlLXNyYy0ke3ZlcnNpb24vYWxwaGEvLWFscGhhfSIKK2J1aWxk X3N0eWxlPWNtYWtlCitjb25maWd1cmVfYXJncz0iLURRVF9IT1NUX1BBVEg9L3VzciAtRFFUX0JV SUxEX1RPT0xTX1dIRU5fQ1JPU1NDT01QSUxJTkc9dHJ1ZQorIC1EUVRfRkVBVFVSRV93ZWJlbmdp bmVfc3lzdGVtX2ZmbXBlZz1PTgorIC1EUVRfRkVBVFVSRV93ZWJlbmdpbmVfc3lzdGVtX2xpYmV2 ZW50PU9OCisgLURRVF9GRUFUVVJFX3dlYmVuZ2luZV9zeXN0ZW1fZ249T04KKyAtRFBLR19DT05G SUdfSE9TVF9FWEVDVVRBQkxFPSR7UEtHX0NPTkZJR19GT1JfQlVJTER9IgoraG9zdG1ha2VkZXBl bmRzPSJxdDYtYmFzZS1kZXZlbCBwZXJsIHBrZy1jb25maWcgbm9kZWpzIHB5dGhvbgorIHByb3Rv YnVmIGdwZXJmIGZsZXggbnNzLWRldmVsIGxpYndlYnAtZGV2ZWwiCittYWtlZGVwZW5kcz0icXQ2 LWJhc2UtZGV2ZWwgcXQ2LWRlY2xhcmF0aXZlLWRldmVsIHB1bHNlYXVkaW8tZGV2ZWwKKyBhbHNh LWxpYi1kZXZlbCBsaWJ2cHgtZGV2ZWwgcGNpdXRpbHMtZGV2ZWwgb3B1cy1kZXZlbCBsaWJ4c2x0 LWRldmVsCisgbGlieG1sMi1kZXZlbCBmcmVldHlwZS1kZXZlbCBsY21zMi1kZXZlbCBsaWJ3ZWJw LWRldmVsIGljdS1kZXZlbAorIHJlMi1kZXZlbCB6bGliLWRldmVsIGxpYnBuZy1kZXZlbCBtaW5p emlwLWRldmVsIGhhcmZidXp6LWRldmVsCisgbnNzLWRldmVsIGxpYlhjdXJzb3ItZGV2ZWwgbGli WGNvbXBvc2l0ZS1kZXZlbCBsaWJYU2NyblNhdmVyLWRldmVsCisgcHJvdG9idWYtZGV2ZWwgZmZt cGVnLWRldmVsIHNuYXBweS1kZXZlbCBsaWJldmVudC1kZXZlbCBwaXBld2lyZS1kZXZlbAorIHF0 Ni1xdWlja2NvbnRyb2xzMi1kZXZlbCBxdDYtbG9jYXRpb24tZGV2ZWwgcXQ2LXdlYmNoYW5uZWwt ZGV2ZWwiCitzaG9ydF9kZXNjPSJDcm9zcy1wbGF0Zm9ybSBhcHBsaWNhdGlvbiBhbmQgVUkgZnJh bWV3b3JrIC0gV2ViZW5naW5lIgorbWFpbnRhaW5lcj0iSm9obiA8bWVAam9obm55bmF0b3IuZGV2 PiIKK2xpY2Vuc2U9IkdQTC0zLjAtb25seSwgR1BMLTIuMC1vbmx5LCBMR1BMLTMuMC1vbmx5IEJT RC0zLUNsYXVzZSIKK2hvbWVwYWdlPSJodHRwczovL3d3dy5xdC5pbyIKK2Rpc3RmaWxlcz0iaHR0 cHM6Ly9kb3dubG9hZC5xdC5pby9kZXZlbG9wbWVudF9yZWxlYXNlcy9xdC8ke3ZlcnNpb24lLip9 LyR7dmVyc2lvbi9hbHBoYS8tYWxwaGF9L3N1Ym1vZHVsZXMvcXR3ZWJlbmdpbmUtZXZlcnl3aGVy ZS1zcmMtJHt2ZXJzaW9uL2FscGhhLy1hbHBoYX0udGFyLnh6IgorY2hlY2tzdW09ZTUwOTQzNmFh MjJiOTUyZTYxOTVjMTQ2Y2YwNmE4MzliODVhYWEwNzI0ZmViODVmMGI3ODUxNmRjNDIxMDVhNAor CitpZiBbIC16ICIkQ1JPU1NfQlVJTEQiIF07dGhlbgorCWNvbmZpZ3VyZV9hcmdzKz0iIC1EQ01B S0VfVE9PTENIQUlOX0ZJTEU9L3Vzci9saWIvY21ha2UvUXQ2L3F0LnRvb2xjaGFpbi5jbWFrZSIK K2ZpCisKK2lmIFsgIiRYQlBTX0xJQkMiID0gIm11c2wiIF07IHRoZW4KKwlob3N0bWFrZWRlcGVu ZHMrPSIgbXVzbC1sZWdhY3ktY29tcGF0IgorZmkKKworaWYgWyAiJFhCUFNfVEFSR0VUX0xJQkMi ID0gIm11c2wiIF07IHRoZW4KKwltYWtlZGVwZW5kcys9IiBtdXNsLWxlZ2FjeS1jb21wYXQiCitm aQorCitpZiBbICEgIiRYQlBTX1dPUkRTSVpFIiA9ICIkWEJQU19UQVJHRVRfV09SRFNJWkUiIF07 IHRoZW4KKwlicm9rZW49IndlYmVuZ2luZSBjYW4gYmUgYnVpbHQgb25seSBpZiB3b3JkIHNpemUg bWF0Y2hlcyIKK2ZpCisKK2lmIFsgIiRYQlBTX1dPUkRTSVpFIiAtZXEgMzIgXTsgdGhlbgorCW5v ZGVidWc9eWVzCisJTERGTEFHUz0iLVdsLC0tbm8ta2VlcC1tZW1vcnkiCitmaQorCitpZiBbICIk WEJQU19UQVJHRVRfRU5ESUFOIiAhPSAibGUiIF07IHRoZW4KKwlicm9rZW49IndlYmVuZ2luZSBv bmx5IHN1cHBvcnRzIGxpdHRsZSBlbmRpYW4iCitmaQorCitfYm9vdHN0cmFwX2duKCkgeworCSMg Qm9vdHN0cmFwIGduIChnZW5lcmF0ZSBuaW5qYSkKKwllY2hvICJCb290c3RyYXBwaW5nICdnbici CisJY2QgJHt3cmtzcmN9L3NyYy8zcmRwYXJ0eS9nbgorCUNGTEFHUz0iJENGTEFHU19ob3N0IiBD WFhGTEFHUz0iJENYWEZMQUdTX2hvc3QiIExERkxBR1M9IiRMREZMQUdTX2hvc3QiIFwKKwlQS0dD T05GSUc9L3Vzci9iaW4vcGtnY29uZmlnIFBLR19DT05GSUdfUEFUSD0iL3Vzci9saWIvcGtnY29u ZmlnOi91c3Ivc2hhcmUvcGtnY29uZmlnIiBcCisJCXB5dGhvbjIgYnVpbGQvZ2VuLnB5IC0tbm8t bGFzdC1jb21taXQtcG9zaXRpb24gLS1vdXQtcGF0aCBcCisJCQkke3dya3NyY30vc3JjLzNyZHBh cnR5L2duL291dC9SZWxlYXNlIC0tY2MgIiR7Q0NfaG9zdDotJENDfSIgXAorCQkJLS1jeHggIiR7 Q1hYX2hvc3Q6LSRDWFh9IiAtLWxkICIke0NYWF9ob3N0Oi0kQ1hYfSIgLS1hciAiJHtBUl9ob3N0 Oi0kQVJ9IiBcCisJCQktLXF0LXZlcnNpb24gIiR7dmVyc2lvbn0ucXR3ZWJlbmdpbmUucXQuaW8i CisJbmluamEgLUMgb3V0L1JlbGVhc2UgZ24KKwljZCAke3dya3NyY30KK30KKworcHJlX2NvbmZp Z3VyZSgpIHsKKwljcCAke0ZJTEVTRElSfS9yZXNvbHZfY29tcGF0LmggJHt3cmtzcmN9L3NyYy8z cmRwYXJ0eS9jaHJvbWl1bS9uZXQvZG5zCisJX2Jvb3RzdHJhcF9nbgorCWV4cG9ydCBQQVRIPSIk UEFUSDoke3dya3NyY30vc3JjLzNyZHBhcnR5L2duL291dC9SZWxlYXNlIgorfQorCitwcmVfYnVp bGQoKSB7CisJZXhwb3J0IFBBVEg9IiRQQVRIOiR7d3Jrc3JjfS9zcmMvM3JkcGFydHkvZ24vb3V0 L1JlbGVhc2UiCit9CisKK3Bvc3RfaW5zdGFsbCgpIHsKKwkjIFhYWDogdGhlIGluc3RhbGwgdGFy Z2V0IGlzIGN1cnJlbnRseSBob3JyaWJseSBicm9rZW4KKwlybSAtciAke0RFU1RESVJ9L2J1aWxk ZGlyCisJbXYgJHtERVNURElSfS91c3IvcmVzb3VyY2VzICR7REVTVERJUn0vdXNyL3NoYXJlL3F0 NgorCW12ICR7REVTVERJUn0vdXNyL3RyYW5zbGF0aW9ucyAke0RFU1RESVJ9L3Vzci9zaGFyZS9x dDYKK30KKworcXQ2LXdlYmVuZ2luZS1kZXZlbF9wYWNrYWdlKCkgeworCWRlcGVuZHM9IiR7c291 cmNlcGtnfT49JHt2ZXJzaW9ufV8ke3JldmlzaW9ufSBxdDYtd2ViY2hhbm5lbC1kZXZlbD49JHt2 ZXJzaW9ufV8xCisJIHF0Ni1kZWNsYXJhdGl2ZS1kZXZlbD49JHt2ZXJzaW9ufV8xIHF0Ni1sb2Nh dGlvbi1kZXZlbD49JHt2ZXJzaW9ufV8xIgorCXNob3J0X2Rlc2MrPSIgLSBkZXZlbG9wbWVudCBm aWxlcyIKKwlwa2dfaW5zdGFsbCgpIHsKKwkJdm1vdmUgdXNyL2luY2x1ZGUKKwkJdm1vdmUgdXNy L2xpYi9jbWFrZQorCQl2bW92ZSB1c3IvbGliL3F0Ni9ta3NwZWNzCisJCXZtb3ZlICJ1c3IvbGli Lyouc28iCisJfQorfQoKRnJvbSBhM2M0NzVkYTZkMTgwNTk4Y2IyZjIyMzhiY2E1YWZjNWI4MmVm ODkyIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBKb2huIDxtZUBqb2hubnluYXRvci5k ZXY+CkRhdGU6IFN1biwgMjcgSnVuIDIwMjEgMTY6MDA6MjggKzAyMDAKU3ViamVjdDogW1BBVENI IDI0LzI0XSBOZXcgcGFja2FnZTogcXQ2LWxvY2F0aW9uLTYuMi4wYWxwaGEKCi0tLQogY29tbW9u L3NobGlicyAgICAgICAgICAgICAgICAgfCAgMSArCiBzcmNwa2dzL3F0Ni1sb2NhdGlvbi1kZXZl bCAgICB8ICAxICsKIHNyY3BrZ3MvcXQ2LWxvY2F0aW9uL3RlbXBsYXRlIHwgMjcgKysrKysrKysr KysrKysrKysrKysrKysrKysrCiAzIGZpbGVzIGNoYW5nZWQsIDI5IGluc2VydGlvbnMoKykKIGNy ZWF0ZSBtb2RlIDEyMDAwMCBzcmNwa2dzL3F0Ni1sb2NhdGlvbi1kZXZlbAogY3JlYXRlIG1vZGUg MTAwNjQ0IHNyY3BrZ3MvcXQ2LWxvY2F0aW9uL3RlbXBsYXRlCgpkaWZmIC0tZ2l0IGEvY29tbW9u L3NobGlicyBiL2NvbW1vbi9zaGxpYnMKaW5kZXggZTZkMWVmNzE1N2I0Li5lM2I2NGRmYWQ5NmIg MTAwNjQ0Ci0tLSBhL2NvbW1vbi9zaGxpYnMKKysrIGIvY29tbW9uL3NobGlicwpAQCAtMjA2Myw2 ICsyMDYzLDcgQEAgbGliUXQ2VmlydHVhbEtleWJvYXJkLnNvLjYgcXQ2LXZpcnR1YWxrZXlib2Fy ZC02LjEuMF8xCiBsaWJRdDZTZXJpYWxQb3J0LnNvLjYgcXQ2LXNlcmlhbHBvcnQtNi4yLjBhbHBo YV8xCiBsaWJRdDZXZWJTb2NrZXRzLnNvLjYgcXQ2LXdlYnNvY2tldHMtNi4yLjBhbHBoYV8xCiBs aWJRdDZXZWJDaGFubmVsLnNvLjYgcXQ2LXdlYmNoYW5uZWwtNi4yLjBhbHBoYV8xCitsaWJRdDZQ b3NpdGlvbmluZy5zby42IHF0Ni1sb2NhdGlvbi02LjIuMGFscGhhXzEKIGxpYm5wdGguc28uMCBu cHRoLTEuMV8xCiBsaWJucHVwbnAuc28uNCBsaWJucHVwbnAtNC4wLjJfMQogbGliZ2xmdy5zby4z IGdsZnctMy4wLjRfMQpkaWZmIC0tZ2l0IGEvc3JjcGtncy9xdDYtbG9jYXRpb24tZGV2ZWwgYi9z cmNwa2dzL3F0Ni1sb2NhdGlvbi1kZXZlbApuZXcgZmlsZSBtb2RlIDEyMDAwMAppbmRleCAwMDAw MDAwMDAwMDAuLjc5MjRjODJkZDNmNAotLS0gL2Rldi9udWxsCisrKyBiL3NyY3BrZ3MvcXQ2LWxv Y2F0aW9uLWRldmVsCkBAIC0wLDAgKzEgQEAKK3F0Ni1sb2NhdGlvbgpcIE5vIG5ld2xpbmUgYXQg ZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL3NyY3BrZ3MvcXQ2LWxvY2F0aW9uL3RlbXBsYXRlIGIv c3JjcGtncy9xdDYtbG9jYXRpb24vdGVtcGxhdGUKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg MDAwMDAwMDAwMDAwLi4zYmFkM2FiOGFhZGUKLS0tIC9kZXYvbnVsbAorKysgYi9zcmNwa2dzL3F0 Ni1sb2NhdGlvbi90ZW1wbGF0ZQpAQCAtMCwwICsxLDI3IEBACisjIFRlbXBsYXRlIGZpbGUgZm9y ICdxdDYtbG9jYXRpb24nCitwa2duYW1lPXF0Ni1sb2NhdGlvbgordmVyc2lvbj02LjIuMGFscGhh CityZXZpc2lvbj0xCit3cmtzcmM9InF0bG9jYXRpb24tZXZlcnl3aGVyZS1zcmMtJHt2ZXJzaW9u L2FscGhhLy1hbHBoYX0iCitidWlsZF9zdHlsZT1jbWFrZQorY29uZmlndXJlX2FyZ3M9Ii1EUVRf SE9TVF9QQVRIPS91c3IiCitob3N0bWFrZWRlcGVuZHM9InBlcmwgcXQ2LWJhc2UtZGV2ZWwgcXQ2 LWRlY2xhcmF0aXZlLWRldmVsIgorbWFrZWRlcGVuZHM9InF0Ni1zZXJpYWxwb3J0LWRldmVsIHF0 Ni1kZWNsYXJhdGl2ZS1kZXZlbCBHQ29uZi1kZXZlbCIKK3Nob3J0X2Rlc2M9IkNyb3NzLXBsYXRm b3JtIGFwcGxpY2F0aW9uIGFuZCBVSSBmcmFtZXdvcmsgLSBsb2NhdGlvbiIKK21haW50YWluZXI9 IkpvaG4gPG1lQGpvaG5ueW5hdG9yLmRldj4iCitsaWNlbnNlPSIoTEdQTC0zLjAtb25seSBPUiBH UEwtMi4wLW9ubHkgT1IgR1BMLTMuMC1vbmx5KSBBTkQgR1BMLTMuMC1vbmx5IHdpdGggUXQtR1BM LWV4Y2VwdGlvbi0xLjAiCitob21lcGFnZT0iaHR0cHM6Ly9xdC5pby8iCitkaXN0ZmlsZXM9Imh0 dHA6Ly9kb3dubG9hZC5xdC5pby9kZXZlbG9wbWVudF9yZWxlYXNlcy9xdC8ke3ZlcnNpb24lLip9 LyR7dmVyc2lvbi9hbHBoYS8tYWxwaGF9L3N1Ym1vZHVsZXMvcXRsb2NhdGlvbi1ldmVyeXdoZXJl LXNyYy0ke3ZlcnNpb24vYWxwaGEvLWFscGhhfS50YXIueHoiCitjaGVja3N1bT01MTRhODRkNzNj Y2I3YWY1Zjc5MjFiOTlhNTc0MjMxNGM4ODc1YmQ0Y2IxYTk4MmEwOWIyOGE4MDgwYzExN2M4CisK K3F0Ni1sb2NhdGlvbi1kZXZlbF9wYWNrYWdlKCkgeworCWRlcGVuZHM9IiR7c291cmNlcGtnfT49 JHt2ZXJzaW9ufV8ke3JldmlzaW9ufSBxdDYtYmFzZS1kZXZlbD49JHt2ZXJzaW9ufV8xIgorCXNo b3J0X2Rlc2MrPSIgLSBkZXZlbG9wbWVudCBmaWxlcyIKKwlwa2dfaW5zdGFsbCgpIHsKKwkJdm1v dmUgdXNyL2luY2x1ZGUKKwkJdm1vdmUgdXNyL2xpYi9jbWFrZQorCQl2bW92ZSB1c3IvbGliL3F0 Ni9ta3NwZWNzCisJCXZtb3ZlICJ1c3IvbGliLyouc28iCisJCXZtb3ZlICJ1c3IvbGliLyoucHJs IgorCX0KK30K --===============8741602870081102121==--