From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 15181 invoked by alias); 12 Oct 2007 16:15:37 -0000 Received: (qmail 15172 invoked by uid 22791); 12 Oct 2007 16:15:36 -0000 X-Spam-Check-By: sourceware.org Received: from py-out-1112.google.com (HELO py-out-1112.google.com) (64.233.166.181) by sourceware.org (qpsmtpd/0.31) with ESMTP; Fri, 12 Oct 2007 16:15:35 +0000 Received: by py-out-1112.google.com with SMTP id a29so2177508pyi for ; Fri, 12 Oct 2007 09:15:30 -0700 (PDT) Received: by 10.35.129.19 with SMTP id g19mr3789878pyn.1192205729929; Fri, 12 Oct 2007 09:15:29 -0700 (PDT) Received: by 10.35.105.13 with HTTP; Fri, 12 Oct 2007 09:15:29 -0700 (PDT) Message-ID: <9f71cef00710120915m1fd7b7e4s98ccaf3dba48a3f5@mail.gmail.com> Date: Fri, 12 Oct 2007 16:15:00 -0000 From: "Benjamin Kosnik" To: gcc-patches@gcc.gnu.org, libstdc++ Subject: [v3] misc patches MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="----=_Part_16836_22837513.1192205729768" X-Google-Sender-Auth: 9164c1f65a7e263e Mailing-List: contact gcc-patches-help@gcc.gnu.org; run by ezmlm Precedence: bulk List-Id: List-Archive: List-Post: List-Help: Sender: gcc-patches-owner@gcc.gnu.org X-SW-Source: 2007-10/txt/msg00740.txt.bz2 ------=_Part_16836_22837513.1192205729768 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit Content-Disposition: inline Content-length: 103 More debug-mode fixes, a doxygen fix, testsuite layout consistency check. tested x86/linux -benjamin ------=_Part_16836_22837513.1192205729768 Content-Type: application/octet-stream; name="p.20071012-1" Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="p.20071012-1"; filename="p.20071012-1" X-Attachment-Id: f_f7owguaz Content-length: 22676 MjAwNy0xMC0xMiAgQmVuamFtaW4gS29zbmlrICA8YmtvekByZWRoYXQuY29t PgoKCSogZG9jcy9kb3h5Z2VuL3VzZXIuY2ZnLmluOiBTY2FuIHRyMV9pbXBs L2hhc2h0YWJsZS4KCSogaW5jbHVkZS90cjFfaW1wbC9oYXNodGFibGU6IENv cnJlY3QgY29tbWVudC4KCgkqIGluY2x1ZGUvZXh0L2hhc2hfbWFwOiBSZW1v dmUgZXh0cmFuZW91cyBwdWJsaWMgbWFya2Vycy4KCSogaW5jbHVkZS9leHQv aGFzaF9zZXQ6IFNhbWUuCgoJKiB0ZXN0c3VpdGUvMjVfYWxnb3JpdGhtcy9o ZWFkZXJzL3BhcmFsbGVsX2FsZ29yaXRobS5jYzogTW92ZQoJaW5zaWRlIGFs Z29yaXRobSBkaXJlY3RvcnkuCQoJKiB0ZXN0c3VpdGUvMjVfYWxnb3JpdGht cy9oZWFkZXJzL2FsZ29yaXRobV9wYXJhbGxlbF9tb2RlLmNjOiBTYW1lLgoJ KiB0ZXN0c3VpdGUvMjVfYWxnb3JpdGhtcy9oZWFkZXJzL3BhcmFsbGVsX2Fs Z29yaXRobV9taXhlZDEuY2M6IFNhbWUuCgkqIHRlc3RzdWl0ZS8yNV9hbGdv cml0aG1zL2hlYWRlcnMvcGFyYWxsZWxfYWxnb3JpdGhtX21peGVkMi5jYzog U2FtZS4KCSogdGVzdHN1aXRlLzI1X2FsZ29yaXRobXMvaGVhZGVycy9hbGdv cml0aG0vcGFyYWxsZWxfYWxnb3JpdGhtLmNjOgoJVG8gdGhpcy4JCgkqIHRl c3RzdWl0ZS8yNV9hbGdvcml0aG1zL2hlYWRlcnMvYWxnb3JpdGhtLwoJYWxn b3JpdGhtX3BhcmFsbGVsX21vZGUuY2M6IFNhbWUuCgkqIHRlc3RzdWl0ZS8y NV9hbGdvcml0aG1zL2hlYWRlcnMvYWxnb3JpdGhtLwoJcGFyYWxsZWxfYWxn b3JpdGhtX21peGVkMS5jYzogU2FtZS4KCSogdGVzdHN1aXRlLzI1X2FsZ29y aXRobXMvaGVhZGVycy9hbGdvcml0aG0vCglwYXJhbGxlbF9hbGdvcml0aG1f bWl4ZWQyLmNjOiBTYW1lLgoKCSogdGVzdHN1aXRlLzIxX3N0cmluZ3MvYmFz aWNfc3RyaW5nL3JlcXVpcmVtZW50cy8KCWV4cGxpY2l0X2luc3RhbnRpYXRp b24vZGVidWcuY2M6IFJlbW92ZSBleGNlcHRpb24gdGV4dC4KCQoJKiB0ZXN0 c3VpdGUvMjNfY29udGFpbmVycy92ZWN0b3IvYm9vbC9tb2RpZmllcnMvaW5z ZXJ0LzMxMzcwLmNjOgoJRml4IGZvciBkZWJ1ZyBtb2RlIHRlc3RpbmcuCQoJ KiB0ZXN0c3VpdGUvMjNfY29udGFpbmVycy92ZWN0b3IvYm9vbC9jYXBhY2l0 eS8yOTEzNC5jYzogU2FtZS4KCQpJbmRleDogZG9jcy9kb3h5Z2VuL3VzZXIu Y2ZnLmluCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIGRvY3MvZG94eWdl bi91c2VyLmNmZy5pbgkocmV2aXNpb24gMTI5MjYzKQorKysgZG9jcy9kb3h5 Z2VuL3VzZXIuY2ZnLmluCSh3b3JraW5nIGNvcHkpCkBAIC02MDUsNiArNjA1 LDcgQEAKICAgICAgICAgICAgICAgICAgICAgICAgICBpbmNsdWRlL3RyMV9p bXBsL2N3Y2hhciBcCiAgICAgICAgICAgICAgICAgICAgICAgICAgaW5jbHVk ZS90cjFfaW1wbC9jd2N0eXBlIFwKICAgICAgICAgICAgICAgICAgICAgICAg ICBpbmNsdWRlL3RyMV9pbXBsL2Z1bmN0aW9uYWwgXAorICAgICAgICAgICAg ICAgICAgICAgICAgIGluY2x1ZGUvdHIxX2ltcGwvaGFzaHRhYmxlIFwKICAg ICAgICAgICAgICAgICAgICAgICAgICBpbmNsdWRlL3RyMV9pbXBsL3JhbmRv bSBcCiAgICAgICAgICAgICAgICAgICAgICAgICAgaW5jbHVkZS90cjFfaW1w bC9yZWdleCBcCiAgICAgICAgICAgICAgICAgICAgICAgICAgaW5jbHVkZS90 cjFfaW1wbC90dXBsZSBcCkluZGV4OiBpbmNsdWRlL3RyMV9pbXBsL2hhc2h0 YWJsZQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBpbmNsdWRlL3RyMV9p bXBsL2hhc2h0YWJsZQkocmV2aXNpb24gMTI5MjYzKQorKysgaW5jbHVkZS90 cjFfaW1wbC9oYXNodGFibGUJKHdvcmtpbmcgY29weSkKQEAgLTM3LDcgKzM3 LDcgQEAKIC8vIHN0ZDo6dHIxOjp1bm9yZGVyZWRfbXVsdGlzZXQsIGFuZCBz dGQ6OnRyMTo6dW5vcmRlcmVkX211bHRpbWFwLgogLy8gaGFzaHRhYmxlIGhh cyBtYW55IHRlbXBsYXRlIHBhcmFtZXRlcnMsIHBhcnRseSB0byBhY2NvbW1v ZGF0ZQogLy8gdGhlIGRpZmZlcmVuY2VzIGJldHdlZW4gdGhvc2UgZm91ciBj bGFzc2VzIGFuZCBwYXJ0bHkgdG8gCi0vLyBhY2NvbW1vZGF0ZSBwb2xpY3kg Y2hvaWNlcyB0aGF0IGdvIGJleW9uZCB3aGF0IFRSMSBjYWxscyBmb3IuCisv LyBhY2NvbW1vZGF0ZSBwb2xpY3kgY2hvaWNlcyB0aGF0IGdvIGJleW9uZCBU UjEgc3BlY2lmaWNhdGlvbnMuCiAKIC8vIENsYXNzIHRlbXBsYXRlIGhhc2h0 YWJsZSBhdHRlbXB0cyB0byBlbmNhcHN1bGF0ZSBhbGwgcmVhc29uYWJsZQog Ly8gdmFyaWF0aW9uIGFtb25nIGhhc2ggdGFibGVzIHRoYXQgdXNlIGNoYWlu aW5nLiAgSXQgZG9lcyBub3QgaGFuZGxlCkluZGV4OiBpbmNsdWRlL2V4dC9o YXNoX21hcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBpbmNsdWRlL2V4 dC9oYXNoX21hcAkocmV2aXNpb24gMTI5MjYzKQorKysgaW5jbHVkZS9leHQv aGFzaF9tYXAJKHdvcmtpbmcgY29weSkKQEAgLTEyMCw3ICsxMjAsNiBAQAog ICAgICAgZ2V0X2FsbG9jYXRvcigpIGNvbnN0CiAgICAgICB7IHJldHVybiBf TV9odC5nZXRfYWxsb2NhdG9yKCk7IH0KIAotICAgIHB1YmxpYzoKICAgICAg IGhhc2hfbWFwKCkKICAgICAgIDogX01faHQoMTAwLCBoYXNoZXIoKSwga2V5 X2VxdWFsKCksIGFsbG9jYXRvcl90eXBlKCkpIHt9CiAgIApAQCAtMTU4LDcg KzE1Nyw2IEBACiAJOiBfTV9odChfX24sIF9faGYsIF9fZXFsLCBfX2EpCiAg ICAgICAgIHsgX01faHQuaW5zZXJ0X3VuaXF1ZShfX2YsIF9fbCk7IH0KIAot ICAgIHB1YmxpYzoKICAgICAgIHNpemVfdHlwZQogICAgICAgc2l6ZSgpIGNv bnN0CiAgICAgICB7IHJldHVybiBfTV9odC5zaXplKCk7IH0KQEAgLTE5Niw3 ICsxOTQsNiBAQAogICAgICAgZW5kKCkgY29uc3QKICAgICAgIHsgcmV0dXJu IF9NX2h0LmVuZCgpOyB9CiAKLSAgICBwdWJsaWM6CiAgICAgICBwYWlyPGl0 ZXJhdG9yLCBib29sPgogICAgICAgaW5zZXJ0KGNvbnN0IHZhbHVlX3R5cGUm IF9fb2JqKQogICAgICAgeyByZXR1cm4gX01faHQuaW5zZXJ0X3VuaXF1ZShf X29iaik7IH0KQEAgLTM0Miw3ICszMzksNiBAQAogICAgICAgZ2V0X2FsbG9j YXRvcigpIGNvbnN0CiAgICAgICB7IHJldHVybiBfTV9odC5nZXRfYWxsb2Nh dG9yKCk7IH0KIAotICAgIHB1YmxpYzoKICAgICAgIGhhc2hfbXVsdGltYXAo KQogICAgICAgOiBfTV9odCgxMDAsIGhhc2hlcigpLCBrZXlfZXF1YWwoKSwg YWxsb2NhdG9yX3R5cGUoKSkge30KIApAQCAtMzgwLDcgKzM3Niw2IEBACiAJ OiBfTV9odChfX24sIF9faGYsIF9fZXFsLCBfX2EpCiAgICAgICAgIHsgX01f aHQuaW5zZXJ0X2VxdWFsKF9fZiwgX19sKTsgfQogCi0gICAgcHVibGljOgog ICAgICAgc2l6ZV90eXBlCiAgICAgICBzaXplKCkgY29uc3QKICAgICAgIHsg cmV0dXJuIF9NX2h0LnNpemUoKTsgfQpAQCAtNDE4LDcgKzQxMyw2IEBACiAg ICAgICBlbmQoKSBjb25zdAogICAgICAgeyByZXR1cm4gX01faHQuZW5kKCk7 IH0KIAotICAgIHB1YmxpYzoKICAgICAgIGl0ZXJhdG9yCiAgICAgICBpbnNl cnQoY29uc3QgdmFsdWVfdHlwZSYgX19vYmopCiAgICAgICB7IHJldHVybiBf TV9odC5pbnNlcnRfZXF1YWwoX19vYmopOyB9CkBAIC00NjgsNyArNDYyLDYg QEAKICAgICAgIGNsZWFyKCkKICAgICAgIHsgX01faHQuY2xlYXIoKTsgfQog Ci0gICAgcHVibGljOgogICAgICAgdm9pZAogICAgICAgcmVzaXplKHNpemVf dHlwZSBfX2hpbnQpCiAgICAgICB7IF9NX2h0LnJlc2l6ZShfX2hpbnQpOyB9 CkluZGV4OiBpbmNsdWRlL2V4dC9oYXNoX3NldAo9PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09Ci0tLSBpbmNsdWRlL2V4dC9oYXNoX3NldAkocmV2aXNpb24gMTI5 MjYzKQorKysgaW5jbHVkZS9leHQvaGFzaF9zZXQJKHdvcmtpbmcgY29weSkK QEAgLTEyMiw3ICsxMjIsNiBAQAogICAgICAgZ2V0X2FsbG9jYXRvcigpIGNv bnN0CiAgICAgICB7IHJldHVybiBfTV9odC5nZXRfYWxsb2NhdG9yKCk7IH0K IAotICAgIHB1YmxpYzoKICAgICAgIGhhc2hfc2V0KCkKICAgICAgIDogX01f aHQoMTAwLCBoYXNoZXIoKSwga2V5X2VxdWFsKCksIGFsbG9jYXRvcl90eXBl KCkpIHt9CiAKQEAgLTE2MCw3ICsxNTksNiBAQAogCTogX01faHQoX19uLCBf X2hmLCBfX2VxbCwgX19hKQogICAgICAgICB7IF9NX2h0Lmluc2VydF91bmlx dWUoX19mLCBfX2wpOyB9CiAKLSAgICBwdWJsaWM6CiAgICAgICBzaXplX3R5 cGUKICAgICAgIHNpemUoKSBjb25zdAogICAgICAgeyByZXR1cm4gX01faHQu c2l6ZSgpOyB9CkBAIC0xOTAsNyArMTg4LDYgQEAKICAgICAgIGVuZCgpIGNv bnN0CiAgICAgICB7IHJldHVybiBfTV9odC5lbmQoKTsgfQogCi0gICAgcHVi bGljOgogICAgICAgcGFpcjxpdGVyYXRvciwgYm9vbD4KICAgICAgIGluc2Vy dChjb25zdCB2YWx1ZV90eXBlJiBfX29iaikKICAgICAgIHsKQEAgLTIzOSw3 ICsyMzYsNiBAQAogICAgICAgY2xlYXIoKQogICAgICAgeyBfTV9odC5jbGVh cigpOyB9CiAKLSAgICBwdWJsaWM6CiAgICAgICB2b2lkCiAgICAgICByZXNp emUoc2l6ZV90eXBlIF9faGludCkKICAgICAgIHsgX01faHQucmVzaXplKF9f aGludCk7IH0KQEAgLTMyNyw3ICszMjMsNiBAQAogICAgICAgZ2V0X2FsbG9j YXRvcigpIGNvbnN0CiAgICAgICB7IHJldHVybiBfTV9odC5nZXRfYWxsb2Nh dG9yKCk7IH0KIAotICAgIHB1YmxpYzoKICAgICAgIGhhc2hfbXVsdGlzZXQo KQogICAgICAgOiBfTV9odCgxMDAsIGhhc2hlcigpLCBrZXlfZXF1YWwoKSwg YWxsb2NhdG9yX3R5cGUoKSkge30KIApAQCAtMzY1LDcgKzM2MCw2IEBACiAJ OiBfTV9odChfX24sIF9faGYsIF9fZXFsLCBfX2EpCiAgICAgICAgIHsgX01f aHQuaW5zZXJ0X2VxdWFsKF9fZiwgX19sKTsgfQogCi0gICAgcHVibGljOgog ICAgICAgc2l6ZV90eXBlCiAgICAgICBzaXplKCkgY29uc3QKICAgICAgIHsg cmV0dXJuIF9NX2h0LnNpemUoKTsgfQpAQCAtMzk1LDcgKzM4OSw2IEBACiAg ICAgICBlbmQoKSBjb25zdAogICAgICAgeyByZXR1cm4gX01faHQuZW5kKCk7 IH0KIAotICAgIHB1YmxpYzoKICAgICAgIGl0ZXJhdG9yCiAgICAgICBpbnNl cnQoY29uc3QgdmFsdWVfdHlwZSYgX19vYmopCiAgICAgICB7IHJldHVybiBf TV9odC5pbnNlcnRfZXF1YWwoX19vYmopOyB9CkBAIC00MzcsNyArNDMwLDYg QEAKICAgICAgIGNsZWFyKCkKICAgICAgIHsgX01faHQuY2xlYXIoKTsgfQog Ci0gICAgcHVibGljOgogICAgICAgdm9pZAogICAgICAgcmVzaXplKHNpemVf dHlwZSBfX2hpbnQpCiAgICAgICB7IF9NX2h0LnJlc2l6ZShfX2hpbnQpOyB9 CkluZGV4OiB0ZXN0c3VpdGUvMjVfYWxnb3JpdGhtcy9oZWFkZXJzL3BhcmFs bGVsX2FsZ29yaXRobS5jYwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSB0 ZXN0c3VpdGUvMjVfYWxnb3JpdGhtcy9oZWFkZXJzL3BhcmFsbGVsX2FsZ29y aXRobS5jYwkocmV2aXNpb24gMTI5MjYzKQorKysgdGVzdHN1aXRlLzI1X2Fs Z29yaXRobXMvaGVhZGVycy9wYXJhbGxlbF9hbGdvcml0aG0uY2MJKHdvcmtp bmcgY29weSkKQEAgLTEsMjMgKzAsMCBAQAotLy8geyBkZy1kbyBjb21waWxl IH0KLS8vIHsgZGctcmVxdWlyZS1wYXJhbGxlbC1tb2RlICIiIH0KLS8vIHsg ZGctb3B0aW9ucyAiLWZvcGVubXAiIHsgdGFyZ2V0ICotKi0qIH0gfQotCi0v LyBDb3B5cmlnaHQgKEMpIDIwMDcgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9u LCBJbmMuCi0vLwotLy8gVGhpcyBmaWxlIGlzIHBhcnQgb2YgdGhlIEdOVSBJ U08gQysrIExpYnJhcnkuICBUaGlzIGxpYnJhcnkgaXMgZnJlZQotLy8gc29m dHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkg aXQgdW5kZXIgdGhlCi0vLyB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVi bGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5IHRoZQotLy8gRnJlZSBTb2Z0 d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIgdmVyc2lvbiAyLCBvciAoYXQgeW91 ciBvcHRpb24pCi0vLyBhbnkgbGF0ZXIgdmVyc2lvbi4KLQotLy8gVGhpcyBs aWJyYXJ5IGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2ls bCBiZSB1c2VmdWwsCi0vLyBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdp dGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgotLy8gTUVSQ0hB TlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NF LiAgU2VlIHRoZQotLy8gR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9y IG1vcmUgZGV0YWlscy4KLQotLy8gWW91IHNob3VsZCBoYXZlIHJlY2VpdmVk IGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYWxv bmcKLS8vIHdpdGggdGhpcyBsaWJyYXJ5OyBzZWUgdGhlIGZpbGUgQ09QWUlO Ry4gIElmIG5vdCwgd3JpdGUgdG8gdGhlIEZyZWUKLS8vIFNvZnR3YXJlIEZv dW5kYXRpb24sIDUxIEZyYW5rbGluIFN0cmVldCwgRmlmdGggRmxvb3IsIEJv c3RvbiwgTUEgMDIxMTAtMTMwMSwKLS8vIFVTQS4KLQotI2luY2x1ZGUgPHBh cmFsbGVsL2FsZ29yaXRobT4KSW5kZXg6IHRlc3RzdWl0ZS8yNV9hbGdvcml0 aG1zL2hlYWRlcnMvYWxnb3JpdGhtX3BhcmFsbGVsX21vZGUuY2MKPT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PQotLS0gdGVzdHN1aXRlLzI1X2FsZ29yaXRobXMv aGVhZGVycy9hbGdvcml0aG1fcGFyYWxsZWxfbW9kZS5jYwkocmV2aXNpb24g MTI5MjYzKQorKysgdGVzdHN1aXRlLzI1X2FsZ29yaXRobXMvaGVhZGVycy9h bGdvcml0aG1fcGFyYWxsZWxfbW9kZS5jYwkod29ya2luZyBjb3B5KQpAQCAt MSwyMyArMCwwIEBACi0vLyB7IGRnLWRvIGNvbXBpbGUgfQotLy8geyBkZy1y ZXF1aXJlLXBhcmFsbGVsLW1vZGUgIiIgfQotLy8geyBkZy1vcHRpb25zICIt RF9HTElCQ1hYX1BBUkFMTEVMIC1mb3Blbm1wIiB7IHRhcmdldCAqLSotKiB9 IH0KLQotLy8gQ29weXJpZ2h0IChDKSAyMDA3IEZyZWUgU29mdHdhcmUgRm91 bmRhdGlvbiwgSW5jLgotLy8KLS8vIFRoaXMgZmlsZSBpcyBwYXJ0IG9mIHRo ZSBHTlUgSVNPIEMrKyBMaWJyYXJ5LiAgVGhpcyBsaWJyYXJ5IGlzIGZyZWUK LS8vIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3Ig bW9kaWZ5IGl0IHVuZGVyIHRoZQotLy8gdGVybXMgb2YgdGhlIEdOVSBHZW5l cmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieSB0aGUKLS8vIEZy ZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiwgb3Ig KGF0IHlvdXIgb3B0aW9uKQotLy8gYW55IGxhdGVyIHZlcnNpb24uCi0KLS8v IFRoaXMgbGlicmFyeSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0 IGl0IHdpbGwgYmUgdXNlZnVsLAotLy8gYnV0IFdJVEhPVVQgQU5ZIFdBUlJB TlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKLS8v IE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIg UFVSUE9TRS4gIFNlZSB0aGUKLS8vIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNl bnNlIGZvciBtb3JlIGRldGFpbHMuCi0KLS8vIFlvdSBzaG91bGQgaGF2ZSBy ZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNl bnNlIGFsb25nCi0vLyB3aXRoIHRoaXMgbGlicmFyeTsgc2VlIHRoZSBmaWxl IENPUFlJTkcuICBJZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlCi0vLyBTb2Z0 d2FyZSBGb3VuZGF0aW9uLCA1MSBGcmFua2xpbiBTdHJlZXQsIEZpZnRoIEZs b29yLCBCb3N0b24sIE1BIDAyMTEwLTEzMDEsCi0vLyBVU0EuCi0KLSNpbmNs dWRlIDxhbGdvcml0aG0+CkluZGV4OiB0ZXN0c3VpdGUvMjVfYWxnb3JpdGht cy9oZWFkZXJzL3BhcmFsbGVsX2FsZ29yaXRobV9taXhlZDEuY2MKPT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PQotLS0gdGVzdHN1aXRlLzI1X2FsZ29yaXRobXMv aGVhZGVycy9wYXJhbGxlbF9hbGdvcml0aG1fbWl4ZWQxLmNjCShyZXZpc2lv biAxMjkyNjMpCisrKyB0ZXN0c3VpdGUvMjVfYWxnb3JpdGhtcy9oZWFkZXJz L3BhcmFsbGVsX2FsZ29yaXRobV9taXhlZDEuY2MJKHdvcmtpbmcgY29weSkK QEAgLTEsMzcgKzAsMCBAQAotLy8geyBkZy1kbyBjb21waWxlIH0KLS8vIHsg ZGctcmVxdWlyZS1wYXJhbGxlbC1tb2RlICIiIH0KLS8vIHsgZGctb3B0aW9u cyAiLWZvcGVubXAiIHsgdGFyZ2V0ICotKi0qIH0gfQotCi0vLyBDb3B5cmln aHQgKEMpIDIwMDcgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuCi0v LwotLy8gVGhpcyBmaWxlIGlzIHBhcnQgb2YgdGhlIEdOVSBJU08gQysrIExp YnJhcnkuICBUaGlzIGxpYnJhcnkgaXMgZnJlZQotLy8gc29mdHdhcmU7IHlv dSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkgaXQgdW5kZXIg dGhlCi0vLyB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vu c2UgYXMgcHVibGlzaGVkIGJ5IHRoZQotLy8gRnJlZSBTb2Z0d2FyZSBGb3Vu ZGF0aW9uOyBlaXRoZXIgdmVyc2lvbiAyLCBvciAoYXQgeW91ciBvcHRpb24p Ci0vLyBhbnkgbGF0ZXIgdmVyc2lvbi4KLQotLy8gVGhpcyBsaWJyYXJ5IGlz IGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2Vm dWwsCi0vLyBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZl biB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgotLy8gTUVSQ0hBTlRBQklMSVRZ IG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRo ZQotLy8gR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0 YWlscy4KLQotLy8gWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBv ZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYWxvbmcKLS8vIHdp dGggdGhpcyBsaWJyYXJ5OyBzZWUgdGhlIGZpbGUgQ09QWUlORy4gIElmIG5v dCwgd3JpdGUgdG8gdGhlIEZyZWUKLS8vIFNvZnR3YXJlIEZvdW5kYXRpb24s IDUxIEZyYW5rbGluIFN0cmVldCwgRmlmdGggRmxvb3IsIEJvc3RvbiwgTUEg MDIxMTAtMTMwMSwKLS8vIFVTQS4KLQotI2luY2x1ZGUgPHBhcmFsbGVsL2Fs Z29yaXRobT4KLSNpbmNsdWRlIDx2ZWN0b3I+Ci0jaW5jbHVkZSA8YWxnb3Jp dGhtPgotCi12b2lkIHRlc3QoKQotewotICB0eXBlZGVmIHVuc2lnbmVkIHNo b3J0IAl2YWx1ZV90eXBlOwotICB0eXBlZGVmIHN0ZDo6dmVjdG9yPHZhbHVl X3R5cGU+IHZlY3Rvcl90eXBlOwotICAKLSAgY29uc3QgdmFsdWVfdHlwZSBj KDApOwotCi0gIHZlY3Rvcl90eXBlIHYoMTApOwotICBzdGQ6OmZpbmQodi5i ZWdpbigpLCB2LmVuZCgpLCBjKTsKLSAgX19nbnVfcGFyYWxsZWw6OmZpbmQo di5iZWdpbigpLCB2LmVuZCgpLCBjKTsKLX0KSW5kZXg6IHRlc3RzdWl0ZS8y NV9hbGdvcml0aG1zL2hlYWRlcnMvcGFyYWxsZWxfYWxnb3JpdGhtX21peGVk Mi5jYwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSB0ZXN0c3VpdGUvMjVf YWxnb3JpdGhtcy9oZWFkZXJzL3BhcmFsbGVsX2FsZ29yaXRobV9taXhlZDIu Y2MJKHJldmlzaW9uIDEyOTI2MykKKysrIHRlc3RzdWl0ZS8yNV9hbGdvcml0 aG1zL2hlYWRlcnMvcGFyYWxsZWxfYWxnb3JpdGhtX21peGVkMi5jYwkod29y a2luZyBjb3B5KQpAQCAtMSw0MiArMCwwIEBACi0vLyB7IGRnLWRvIGNvbXBp bGUgfQotLy8geyBkZy1yZXF1aXJlLXBhcmFsbGVsLW1vZGUgIiIgfQotLy8g eyBkZy1vcHRpb25zICItZm9wZW5tcCIgeyB0YXJnZXQgKi0qLSogfSB9Ci0K LS8vIENvcHlyaWdodCAoQykgMjAwNyBGcmVlIFNvZnR3YXJlIEZvdW5kYXRp b24sIEluYy4KLS8vCi0vLyBUaGlzIGZpbGUgaXMgcGFydCBvZiB0aGUgR05V IElTTyBDKysgTGlicmFyeS4gIFRoaXMgbGlicmFyeSBpcyBmcmVlCi0vLyBz b2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlm eSBpdCB1bmRlciB0aGUKLS8vIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQ dWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkgdGhlCi0vLyBGcmVlIFNv ZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIsIG9yIChhdCB5 b3VyIG9wdGlvbikKLS8vIGFueSBsYXRlciB2ZXJzaW9uLgotCi0vLyBUaGlz IGxpYnJhcnkgaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3 aWxsIGJlIHVzZWZ1bCwKLS8vIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsg d2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCi0vLyBNRVJD SEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBP U0UuICBTZWUgdGhlCi0vLyBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBm b3IgbW9yZSBkZXRhaWxzLgotCi0vLyBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2 ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBh bG9uZwotLy8gd2l0aCB0aGlzIGxpYnJhcnk7IHNlZSB0aGUgZmlsZSBDT1BZ SU5HLiAgSWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZQotLy8gU29mdHdhcmUg Rm91bmRhdGlvbiwgNTEgRnJhbmtsaW4gU3RyZWV0LCBGaWZ0aCBGbG9vciwg Qm9zdG9uLCBNQSAwMjExMC0xMzAxLAotLy8gVVNBLgotCi0vLyBNYWtlIHN1 cmUgdG8gdGVzdCB3aXRob3V0IF9HTElCQ1hYX1BBUkFMTEVMCi0jaWZkZWYg X0dMSUJDWFhfUEFSQUxMRUwgCi0jIHVuZGVmIF9HTElCQ1hYX1BBUkFMTEVM IAotI2VuZGlmCi0KLSNpbmNsdWRlIDxwYXJhbGxlbC9hbGdvcml0aG0+Ci0j aW5jbHVkZSA8dmVjdG9yPgotI2luY2x1ZGUgPGFsZ29yaXRobT4KLQotdm9p ZCB0ZXN0KCkKLXsKLSAgdHlwZWRlZiB1bnNpZ25lZCBzaG9ydCAJdmFsdWVf dHlwZTsKLSAgdHlwZWRlZiBzdGQ6OnZlY3Rvcjx2YWx1ZV90eXBlPiB2ZWN0 b3JfdHlwZTsKLSAgCi0gIGNvbnN0IHZhbHVlX3R5cGUgYygwKTsKLQotICB2 ZWN0b3JfdHlwZSB2KDEwKTsKLSAgc3RkOjpmaW5kKHYuYmVnaW4oKSwgdi5l bmQoKSwgYyk7Ci0gIF9fZ251X3BhcmFsbGVsOjpmaW5kKHYuYmVnaW4oKSwg di5lbmQoKSwgYyk7Ci19CkluZGV4OiB0ZXN0c3VpdGUvMjFfc3RyaW5ncy9i YXNpY19zdHJpbmcvcmVxdWlyZW1lbnRzL2V4cGxpY2l0X2luc3RhbnRpYXRp b24vZGVidWcuY2MKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gdGVzdHN1 aXRlLzIxX3N0cmluZ3MvYmFzaWNfc3RyaW5nL3JlcXVpcmVtZW50cy9leHBs aWNpdF9pbnN0YW50aWF0aW9uL2RlYnVnLmNjCShyZXZpc2lvbiAxMjkyNjMp CisrKyB0ZXN0c3VpdGUvMjFfc3RyaW5ncy9iYXNpY19zdHJpbmcvcmVxdWly ZW1lbnRzL2V4cGxpY2l0X2luc3RhbnRpYXRpb24vZGVidWcuY2MJKHdvcmtp bmcgY29weSkKQEAgLTE2LDE1ICsxNiw2IEBACiAvLyBTb2Z0d2FyZSBGb3Vu ZGF0aW9uLCA1MSBGcmFua2xpbiBTdHJlZXQsIEZpZnRoIEZsb29yLCBCb3N0 b24sIE1BIDAyMTEwLTEzMDEsCiAvLyBVU0EuCiAKLS8vIEFzIGEgc3BlY2lh bCBleGNlcHRpb24sIHlvdSBtYXkgdXNlIHRoaXMgZmlsZSBhcyBwYXJ0IG9m IGEgZnJlZSBzb2Z0d2FyZQotLy8gbGlicmFyeSB3aXRob3V0IHJlc3RyaWN0 aW9uLiAgU3BlY2lmaWNhbGx5LCBpZiBvdGhlciBmaWxlcyBpbnN0YW50aWF0 ZQotLy8gdGVtcGxhdGVzIG9yIHVzZSBtYWNyb3Mgb3IgaW5saW5lIGZ1bmN0 aW9ucyBmcm9tIHRoaXMgZmlsZSwgb3IgeW91IGNvbXBpbGUKLS8vIHRoaXMg ZmlsZSBhbmQgbGluayBpdCB3aXRoIG90aGVyIGZpbGVzIHRvIHByb2R1Y2Ug YW4gZXhlY3V0YWJsZSwgdGhpcwotLy8gZmlsZSBkb2VzIG5vdCBieSBpdHNl bGYgY2F1c2UgdGhlIHJlc3VsdGluZyBleGVjdXRhYmxlIHRvIGJlIGNvdmVy ZWQgYnkKLS8vIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZS4gIFRo aXMgZXhjZXB0aW9uIGRvZXMgbm90IGhvd2V2ZXIKLS8vIGludmFsaWRhdGUg YW55IG90aGVyIHJlYXNvbnMgd2h5IHRoZSBleGVjdXRhYmxlIGZpbGUgbWln aHQgYmUgY292ZXJlZCBieQotLy8gdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBM aWNlbnNlLgotCiAvLyBUaGlzIGZpbGUgdGVzdHMgZXhwbGljaXQgaW5zdGFu dGlhdGlvbiBvZiBiYXNpY19zdHJpbmcKIAogI2luY2x1ZGUgPGRlYnVnL3N0 cmluZz4KSW5kZXg6IHRlc3RzdWl0ZS8yM19jb250YWluZXJzL3ZlY3Rvci9i b29sL21vZGlmaWVycy9pbnNlcnQvMzEzNzAuY2MKPT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PQotLS0gdGVzdHN1aXRlLzIzX2NvbnRhaW5lcnMvdmVjdG9yL2Jv b2wvbW9kaWZpZXJzL2luc2VydC8zMTM3MC5jYwkocmV2aXNpb24gMTI5MjYz KQorKysgdGVzdHN1aXRlLzIzX2NvbnRhaW5lcnMvdmVjdG9yL2Jvb2wvbW9k aWZpZXJzL2luc2VydC8zMTM3MC5jYwkod29ya2luZyBjb3B5KQpAQCAtMjQs NiArMjQsMTIgQEAKICNpbmNsdWRlIDxzdGRleGNlcHQ+CiAjaW5jbHVkZSA8 dGVzdHN1aXRlX2hvb2tzLmg+CiAKKyNpZm5kZWYgX0dMSUJDWFhfREVCVUcK KyAgdXNpbmcgc3RkOjpfU193b3JkX2JpdDsKKyNlbHNlCisgIHVzaW5nIHN0 ZDo6X0dMSUJDWFhfU1REX0Q6Ol9TX3dvcmRfYml0OworI2VuZGlmCisKIGlu bGluZSB2b2lkCiBjaGVja19jYXBfZ2Vfc2l6ZShjb25zdCBzdGQ6OnZlY3Rv cjxib29sPiYgeCkKIHsKQEAgLTYyLDcgKzY4LDcgQEAKICAgICB7CiAgICAg ICBzdGQ6OnZlY3Rvcjxib29sPiB4OwogICAgICAgeC5yZXNpemUoeC5tYXhf c2l6ZSgpIC8gMiArIDEsIGZhbHNlKTsgCi0gICAgICBmb3IoaW50IGkgPSAw OyBpIDwgc3RkOjpfU193b3JkX2JpdDsgKytpKQorICAgICAgZm9yKGludCBp ID0gMDsgaSA8IF9TX3dvcmRfYml0OyArK2kpCiAJeC5wdXNoX2JhY2soZmFs c2UpOwogICAgICAgY2hlY2tfY2FwX2dlX3NpemUoeCk7CiAgICAgfQpAQCAt NzUsNyArODEsNyBAQAogICAgIHsKICAgICAgIHN0ZDo6dmVjdG9yPGJvb2w+ IHg7CiAgICAgICB4LnJlc2l6ZSh4Lm1heF9zaXplKCkgLyAyICsgMSwgZmFs c2UpOyAKLSAgICAgIHguaW5zZXJ0KHguZW5kKCksIHN0ZDo6X1Nfd29yZF9i aXQsIGZhbHNlKTsKKyAgICAgIHguaW5zZXJ0KHguZW5kKCksIF9TX3dvcmRf Yml0LCBmYWxzZSk7CiAgICAgICBjaGVja19jYXBfZ2Vfc2l6ZSh4KTsKICAg ICB9CiAgIGNhdGNoKHN0ZDo6YmFkX2FsbG9jJikKQEAgLTg3LDcgKzkzLDcg QEAKICAgICB7CiAgICAgICBzdGQ6OnZlY3Rvcjxib29sPiB4OwogICAgICAg eC5yZXNpemUoeC5tYXhfc2l6ZSgpIC8gMiArIDEsIGZhbHNlKTsgCi0gICAg ICBzdGQ6OnZlY3Rvcjxib29sPiB5KHN0ZDo6X1Nfd29yZF9iaXQsIGZhbHNl KTsKKyAgICAgIHN0ZDo6dmVjdG9yPGJvb2w+IHkoX1Nfd29yZF9iaXQsIGZh bHNlKTsKICAgICAgIHguaW5zZXJ0KHguZW5kKCksIHkuYmVnaW4oKSwgeS5l bmQoKSk7CiAgICAgICBjaGVja19jYXBfZ2Vfc2l6ZSh4KTsKICAgICB9CkBA IC0xMDEsOCArMTA3LDggQEAKICAgdHJ5CiAgICAgewogICAgICAgc3RkOjp2 ZWN0b3I8Ym9vbD4geDsKLSAgICAgIHgucmVzaXplKHgubWF4X3NpemUoKSAt IHN0ZDo6X1Nfd29yZF9iaXQsIGZhbHNlKTsgCi0gICAgICBmb3IoaW50IGkg PSAwOyBpIDwgc3RkOjpfU193b3JkX2JpdDsgKytpKQorICAgICAgeC5yZXNp emUoeC5tYXhfc2l6ZSgpIC0gX1Nfd29yZF9iaXQsIGZhbHNlKTsgCisgICAg ICBmb3IoaW50IGkgPSAwOyBpIDwgX1Nfd29yZF9iaXQ7ICsraSkKIAl4LnB1 c2hfYmFjayhmYWxzZSk7CiAgICAgICBjaGVja19jYXBfZ2Vfc2l6ZSh4KTsK ICAgICB9CkBAIC0xMTQsOCArMTIwLDggQEAKICAgdHJ5CiAgICAgewogICAg ICAgc3RkOjp2ZWN0b3I8Ym9vbD4geDsKLSAgICAgIHgucmVzaXplKHgubWF4 X3NpemUoKSAtIHN0ZDo6X1Nfd29yZF9iaXQsIGZhbHNlKTsgCi0gICAgICB4 Lmluc2VydCh4LmVuZCgpLCBzdGQ6Ol9TX3dvcmRfYml0LCBmYWxzZSk7Cisg ICAgICB4LnJlc2l6ZSh4Lm1heF9zaXplKCkgLSBfU193b3JkX2JpdCwgZmFs c2UpOyAKKyAgICAgIHguaW5zZXJ0KHguZW5kKCksIF9TX3dvcmRfYml0LCBm YWxzZSk7CiAgICAgICBjaGVja19jYXBfZ2Vfc2l6ZSh4KTsKICAgICB9CiAg IGNhdGNoKHN0ZDo6YmFkX2FsbG9jJikKQEAgLTEyNiw4ICsxMzIsOCBAQAog ICB0cnkKICAgICB7CiAgICAgICBzdGQ6OnZlY3Rvcjxib29sPiB4OwotICAg ICAgeC5yZXNpemUoeC5tYXhfc2l6ZSgpIC0gc3RkOjpfU193b3JkX2JpdCwg ZmFsc2UpOyAKLSAgICAgIHN0ZDo6dmVjdG9yPGJvb2w+IHkoc3RkOjpfU193 b3JkX2JpdCwgZmFsc2UpOworICAgICAgeC5yZXNpemUoeC5tYXhfc2l6ZSgp IC0gX1Nfd29yZF9iaXQsIGZhbHNlKTsgCisgICAgICBzdGQ6OnZlY3Rvcjxi b29sPiB5KF9TX3dvcmRfYml0LCBmYWxzZSk7CiAgICAgICB4Lmluc2VydCh4 LmVuZCgpLCB5LmJlZ2luKCksIHkuZW5kKCkpOwogICAgICAgY2hlY2tfY2Fw X2dlX3NpemUoeCk7CiAgICAgfQpAQCAtMTQxLDggKzE0Nyw4IEBACiAgIHRy eQogICAgIHsKICAgICAgIHN0ZDo6dmVjdG9yPGJvb2w+IHg7Ci0gICAgICB4 LnJlc2l6ZSh4Lm1heF9zaXplKCkgLSBzdGQ6Ol9TX3dvcmRfYml0LCBmYWxz ZSk7IAotICAgICAgZm9yKGludCBpID0gMDsgaSA8IHN0ZDo6X1Nfd29yZF9i aXQgKyAxOyArK2kpCisgICAgICB4LnJlc2l6ZSh4Lm1heF9zaXplKCkgLSBf U193b3JkX2JpdCwgZmFsc2UpOyAKKyAgICAgIGZvcihpbnQgaSA9IDA7IGkg PCBfU193b3JkX2JpdCArIDE7ICsraSkKIAl4LnB1c2hfYmFjayhmYWxzZSk7 CiAgICAgICArK215ZXhpdDsKICAgICB9CkBAIC0xNTYsOCArMTYyLDggQEAK ICAgdHJ5CiAgICAgewogICAgICAgc3RkOjp2ZWN0b3I8Ym9vbD4geDsKLSAg ICAgIHgucmVzaXplKHgubWF4X3NpemUoKSAtIHN0ZDo6X1Nfd29yZF9iaXQs IGZhbHNlKTsgCi0gICAgICB4Lmluc2VydCh4LmVuZCgpLCBzdGQ6Ol9TX3dv cmRfYml0ICsgMSwgZmFsc2UpOworICAgICAgeC5yZXNpemUoeC5tYXhfc2l6 ZSgpIC0gX1Nfd29yZF9iaXQsIGZhbHNlKTsgCisgICAgICB4Lmluc2VydCh4 LmVuZCgpLCBfU193b3JkX2JpdCArIDEsIGZhbHNlKTsKICAgICAgICsrbXll eGl0OwogICAgIH0KICAgY2F0Y2goc3RkOjpiYWRfYWxsb2MpCkBAIC0xNzAs OCArMTc2LDggQEAKICAgdHJ5CiAgICAgewogICAgICAgc3RkOjp2ZWN0b3I8 Ym9vbD4geDsKLSAgICAgIHgucmVzaXplKHgubWF4X3NpemUoKSAtIHN0ZDo6 X1Nfd29yZF9iaXQsIGZhbHNlKTsgCi0gICAgICBzdGQ6OnZlY3Rvcjxib29s PiB5KHN0ZDo6X1Nfd29yZF9iaXQgKyAxLCBmYWxzZSk7CisgICAgICB4LnJl c2l6ZSh4Lm1heF9zaXplKCkgLSBfU193b3JkX2JpdCwgZmFsc2UpOyAKKyAg ICAgIHN0ZDo6dmVjdG9yPGJvb2w+IHkoX1Nfd29yZF9iaXQgKyAxLCBmYWxz ZSk7CiAgICAgICB4Lmluc2VydCh4LmVuZCgpLCB5LmJlZ2luKCksIHkuZW5k KCkpOwogICAgICAgKytteWV4aXQ7CiAgICAgfQpJbmRleDogdGVzdHN1aXRl LzIzX2NvbnRhaW5lcnMvdmVjdG9yL2Jvb2wvY2FwYWNpdHkvMjkxMzQuY2MK PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PQotLS0gdGVzdHN1aXRlLzIzX2NvbnRh aW5lcnMvdmVjdG9yL2Jvb2wvY2FwYWNpdHkvMjkxMzQuY2MJKHJldmlzaW9u IDEyOTI2MykKKysrIHRlc3RzdWl0ZS8yM19jb250YWluZXJzL3ZlY3Rvci9i b29sL2NhcGFjaXR5LzI5MTM0LmNjCSh3b3JraW5nIGNvcHkpCkBAIC0yNywx MyArMjcsMjAgQEAKIHsKICAgYm9vbCB0ZXN0IF9fYXR0cmlidXRlX18oKHVu dXNlZCkpID0gdHJ1ZTsKIAotICBzdGQ6OnZlY3Rvcjxib29sPiB2YjsKKyAg dXNpbmcgc3RkOjp2ZWN0b3I7CisgIHVzaW5nIHN0ZDo6bnVtZXJpY19saW1p dHM7CiAKKyNpZm5kZWYgX0dMSUJDWFhfREVCVUcKKyAgdXNpbmcgc3RkOjpf U193b3JkX2JpdDsKKyNlbHNlCisgIHVzaW5nIHN0ZDo6X0dMSUJDWFhfU1RE X0Q6Ol9TX3dvcmRfYml0OworI2VuZGlmCisKICAgLy8gQWN0dWFsbHksIHZl Y3Rvcjxib29sPiBpcyBzcGVjaWFsLCBzZWUgbGlic3RkYysrLzMxMzcwLgot ICB0eXBlZGVmIHN0ZDo6dmVjdG9yPGJvb2w+OjpkaWZmZXJlbmNlX3R5cGUg ZGlmZmVyZW5jZV90eXBlOworICB2ZWN0b3I8Ym9vbD4gdmI7CisgIHR5cGVk ZWYgdmVjdG9yPGJvb2w+OjpkaWZmZXJlbmNlX3R5cGUgZGlmZmVyZW5jZV90 eXBlOwogICBWRVJJRlkoIHZiLm1heF9zaXplKCkKLQkgID09IChzdGQ6Om51 bWVyaWNfbGltaXRzPGRpZmZlcmVuY2VfdHlwZT46Om1heCgpCi0JICAgICAg LSBpbnQoc3RkOjpfU193b3JkX2JpdCkgKyAxKSApOworCSAgPT0gKG51bWVy aWNfbGltaXRzPGRpZmZlcmVuY2VfdHlwZT46Om1heCgpIC0gaW50KF9TX3dv cmRfYml0KSArIDEpICk7CiB9CiAKIGludCBtYWluKCkK ------=_Part_16836_22837513.1192205729768--