From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 15180 invoked by alias); 6 Jan 2020 08:44:42 -0000 Mailing-List: contact binutils-help@sourceware.org; run by ezmlm Precedence: bulk List-Id: List-Subscribe: List-Archive: List-Post: List-Help: , Sender: binutils-owner@sourceware.org Received: (qmail 15161 invoked by uid 89); 6 Jan 2020 08:44:42 -0000 Authentication-Results: sourceware.org; auth=none X-Spam-SWARE-Status: No, score=-2.9 required=5.0 tests=AWL,BAYES_05,BODY_8BITS,FREEMAIL_FROM,GARBLED_BODY,RCVD_IN_DNSWL_NONE,SPF_PASS autolearn=no version=3.3.1 spammy=H*f:1JRFEGRp5r, H*f:LuhnYoA, H*f:sk:CAJr6u0, H*f:sk:CAJYME4 X-HELO: mail-ot1-f53.google.com Received: from mail-ot1-f53.google.com (HELO mail-ot1-f53.google.com) (209.85.210.53) by sourceware.org (qpsmtpd/0.93/v0.84-503-g423c35a) with ESMTP; Mon, 06 Jan 2020 08:44:40 +0000 Received: by mail-ot1-f53.google.com with SMTP id p8so34313658oth.10 for ; Mon, 06 Jan 2020 00:44:40 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc; bh=1up3S5a7AMzmfZO6s5V3p+fL5qFLJ1TEteJoGJ5w840=; b=YoPPXBaLMAJ62oiYHKfpvAXGXwM3VqHAfRV3njKtsAemW5UXWjwGb7c8v4fcbPotj1 wCnu71ruIMaeoJNNhWLXpH7+QHbVIT5oeloAcq8x8FRO4v6yB2ebgxFSZoJeuf/OxhhS XmqQmgFI2jLxWNGXEz5H7STR7afITYp8NgJJuak39BY6d0tt4/fBFm0/bECl37JF0f88 4L+zKVo775qGw4yZwTAE/goPBczCOS1fifsKbuwvJLnm9CKxDseG3dM3WOEAAr7eytcL LC8MRSViMMNIAkDxGdLMp8aWxsX8z4uL/kvbFBQ41aGcVWysh99VI1aLZWuoXUc49J/v bwEA== MIME-Version: 1.0 References: In-Reply-To: From: Kuan-Lin Chen Date: Mon, 06 Jan 2020 08:44:00 -0000 Message-ID: Subject: Re: [PATCH] [RISCV] Support subtraction of .uleb128. To: Nelson Chu , Jim Wilson Cc: Palmer Dabbelt , "binutils@sourceware.org Development" Content-Type: multipart/mixed; boundary="0000000000007e40ba059b74ab58" X-IsSubscribed: yes X-SW-Source: 2020-01/txt/msg00041.txt.bz2 --0000000000007e40ba059b74ab58 Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable Content-length: 2535 Hi, Sorry, I miss the test case in the previous email. So I resend this mail. Kuan-Lin Chen =E6=96=BC 2020=E5=B9=B41=E6=9C=886= =E6=97=A5 =E9=80=B1=E4=B8=80 =E4=B8=8B=E5=8D=884:18=E5=AF=AB=E9=81=93=EF=BC= =9A > > Hi, > > The patch is fixed some problems as your comments in previous mails. > > >The assumption that the uleb128 address size can only decrease with rela= xation is true only if both addresses are in the same section. > I found this kind of subtract is banned in cvt_frag_to_fill for > rs_leb128. Therefore, it doesn't have to restrict by ourselves. > > Thanks for your reviews. > > Nelson Chu =E6=96=BC 2019=E5=B9=B412=E6=9C=8818= =E6=97=A5 =E9=80=B1=E4=B8=89 =E4=B8=8A=E5=8D=889:50=E5=AF=AB=E9=81=93=EF=BC= =9A > > > > There is one minor thing. Maciej has pointed out before that it's > > better done with one the percent-codes to `_bfd_error_handler' rather > > than aborting the link right away, so that any further link errors are > > also reported and you don't have to shake them out one by one. So > > report the relocation error via linker's callback function seems to be > > better. I think maybe we can report a dangerous relocation for the > > mismatched R_RISCV_SET_ULEB128 and R_RISCV_SUB_ULEB128. What I meant > > is that, > > > > + case R_RISCV_SET_ULEB128: > > ... > > + else > > + { > > + if (uleb128_rel->r_offset !=3D rel->r_offset) > > + { > > - (*_bfd_error_handler) (_("%pB: relocation %s mismatched. "), > > - input_bfd, howto->name); > > - bfd_set_error (bfd_error_bad_value); > > + msg =3D ("R_RISCV_SET_ULEB128 and R_RISCV_SUB_ULEB128 are mismatched.= "); > > + r =3D bfd_reloc_dangerous; > > + break; > > + } > > + relocation =3D relocation - uleb128_vma; > > + uleb128_rel =3D NULL; > > + break; > > + } > > + > > + case R_RISCV_SUB_ULEB128: > > + if (uleb128_rel) > > + { > > + if (uleb128_rel->r_offset !=3D rel->r_offset) > > + { > > - (*_bfd_error_handler) (_("%pB: relocation %s mismatched. "), > > - input_bfd, howto->name); > > - bfd_set_error (bfd_error_bad_value); > > + msg =3D ("R_RISCV_SET_ULEB128 and R_RISCV_SUB_ULEB128 are mismatched.= "); > > + r =3D bfd_reloc_dangerous; > > + break; > > + } > > + relocation =3D uleb128_vma - relocation; > > + uleb128_rel =3D NULL; > > + break; > > + } > > > > Thanks and regards > > Nelson > > > > -- > Best regards, > Kuan-Lin Chen. > kuanlinchentw@gmail.com --=20 Best regards, Kuan-Lin Chen. kuanlinchentw@gmail.com --0000000000007e40ba059b74ab58 Content-Type: application/octet-stream; name="0001-RISC-V-Support-subtraction-of-.uleb128.patch" Content-Disposition: attachment; filename="0001-RISC-V-Support-subtraction-of-.uleb128.patch" Content-Transfer-Encoding: base64 Content-ID: X-Attachment-Id: f_k5276w250 Content-length: 21485 RnJvbSBhNmU1YTFiY2E4ODlkZTMzY2Y5OTQ1NDNjZWQwNzA2YjhiOTgyZjcy IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBLdWFuLUxpbiBDaGVu IDxydWZ1c0BhbmRlc3RlY2guY29tPgpEYXRlOiBUaHUsIDE0IE5vdiAyMDE5 IDE0OjI0OjIyICswODAwClN1YmplY3Q6IFtQQVRDSF0gUklTQy1WOiBTdXBw b3J0IHN1YnRyYWN0aW9uIG9mIC51bGViMTI4LgoKVGhlIGRhdGEgbGVuZ3Ro IG9mIHVsZWIxMjggaXMgdmFyaWFibGUuICBTbyBsaW5rZXIgbXVzdCByZWNh bGN1bGF0ZSB0aGUKdmFsdWUgb2YgdGhlIHN1YnRyYWN0aW9uLiAgVGhlIHBh dGNoIGxlYXZlIHJlbG9jYXRpb25zIGluIG9iamVjdCBmaWxlcwpzbyB0aGF0 IGxpbmtlciBjYW4gcmVsb2NhdGUgYWdhaW4gYWZ0ZXIgcmVsYXhhdGlvbi4K CmJmZC9DaGFuZ2VMb2c6CgkqIGJmZC1pbjIuaDogUmVnZW5lcmF0ZWQuCgkq IGVsZm5uLXJpc2N2LmMgKHdyaXRlX3VsZWIxMjgpOiBOZXcgZnVuY3Rpb24u CgkocGVyZm9ybV9yZWxvY2F0aW9uKTogUGVyZm9ybSBSX1JJU0NWX1NVQl9V TEVCMTI4IGFuZAoJIFJfUklTQ1ZfU0VUX1VMRUIxMjggcmVsb2NhdGlvbi4K CShyaXNjdl9lbGZfcmVsb2NhdGVfc2VjdGlvbik6IExpa2V3aXNlLgoJKiBl bGZ4eC1yaXNjdi5jIChob3d0b190YWJsZSk6IEFkZCBSX1JJU0NWX1NVQl9V TEVCMTI4IGFuZAoJUl9SSVNDVl9TRVRfVUxFQjEyOC4KCShyaXNjdl9lbGZf aWdub3JlX3JlbG9jKTogTmV3IGZ1bmN0aW9uLgoJKiBsaWJiZmQuaDogUmVn ZW5lcmF0ZWQuCgkqIHJlbG9jLmMgKEJGRF9SRUxPQ19SSVNDVl9TRVRfVUxF QjEyOCwgQkZEX1JFTE9DX1JJU0NWX1NVQl9VTEVCMTI4KToKCU5ldyByZWxv Y2F0aW9ucyB0byBzdXBwb3J0IC51bGViMTI4LgoKZ2FzL0NoYW5nZUxvZzoK CSogY29uZmlnL3RjLXJpc2N2LmMgKG1kX2FwcGx5X2ZpeCk6IEFkZCBCRkRf UkVMT0NfUklTQ1ZfU0VUX1VMRUIxMjggYW5kCglCRkRfUkVMT0NfUklTQ1Zf U1VCX1VMRUIxMjguCgkocmlzY3ZfaW5zZXJ0X3VsZWIxMjhfZml4ZXMpOiBO ZXcgZnVuY3Rpb24uCgkocmlzY3ZfbWRfZW5kKTogU2NhbiByc19sZWIxMjgg ZnJhZ21lbnRzLgoJKHJpc2N2X3BzZXVkb190YWJsZSk6IFJlbW92ZSB1bGVi MTI4LgoKaW5jbHVkZS9DaGFuZ2VMb2c6CgkqIGVsZi9yaXNjdi5oICgoUl9S SVNDVl9TRVRfVUxFQjEyOCwgKFJfUklTQ1ZfU1VCX1VMRUIxMjgpOiBEZWZp bmUuCgpsZC9DaGFuZ2VMb2c6CgkqIHRlc3RzdWl0ZS9sZC1yaXNjdi1lbGYv bGQtcmlzY3YtZWxmLmV4cDogQWRkIHVsZWIxMjguCgkqIHRlc3RzdWl0ZS9s ZC1yaXNjdi1lbGYvdWxlYjEyOC5kOiBOZXcgdGVzdC4KCSogdGVzdHN1aXRl L2xkLXJpc2N2LWVsZi91bGViMTI4LnM6IE5ldyBmaWxlLgotLS0KIGJmZC9D aGFuZ2VMb2cgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8IDE0ICsr KysKIGJmZC9iZmQtaW4yLmggICAgICAgICAgICAgICAgICAgICAgICAgICAg ICB8ICAyICsKIGJmZC9lbGZubi1yaXNjdi5jICAgICAgICAgICAgICAgICAg ICAgICAgICB8IDgyICsrKysrKysrKysrKysrKysrKysrKysKIGJmZC9lbGZ4 eC1yaXNjdi5jICAgICAgICAgICAgICAgICAgICAgICAgICB8IDUxICsrKysr KysrKysrKysrCiBiZmQvbGliYmZkLmggICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgfCAgMiArCiBiZmQvcmVsb2MuYyAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgfCAgNCArKwogZ2FzL0NoYW5nZUxvZyAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIHwgIDggKysrCiBnYXMvY29uZmlnL3Rj LXJpc2N2LmMgICAgICAgICAgICAgICAgICAgICAgfCA0OSArKysrKysrKysr KystCiBpbmNsdWRlL0NoYW5nZUxvZyAgICAgICAgICAgICAgICAgICAgICAg ICAgfCAgNCArKwogaW5jbHVkZS9lbGYvcmlzY3YuaCAgICAgICAgICAgICAg ICAgICAgICAgIHwgIDIgKwogbGQvQ2hhbmdlTG9nICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIHwgIDYgKysKIGxkL3Rlc3RzdWl0ZS9sZC1yaXNj di1lbGYvbGQtcmlzY3YtZWxmLmV4cCB8ICAxICsKIGxkL3Rlc3RzdWl0ZS9s ZC1yaXNjdi1lbGYvdWxlYjEyOC5kICAgICAgICB8IDE4ICsrKysrCiBsZC90 ZXN0c3VpdGUvbGQtcmlzY3YtZWxmL3VsZWIxMjgucyAgICAgICAgfCAxOCAr KysrKwogMTQgZmlsZXMgY2hhbmdlZCwgMjYwIGluc2VydGlvbnMoKyksIDEg ZGVsZXRpb24oLSkKIGNyZWF0ZSBtb2RlIDEwMDY0NCBsZC90ZXN0c3VpdGUv bGQtcmlzY3YtZWxmL3VsZWIxMjguZAogY3JlYXRlIG1vZGUgMTAwNjQ0IGxk L3Rlc3RzdWl0ZS9sZC1yaXNjdi1lbGYvdWxlYjEyOC5zCgpkaWZmIC0tZ2l0 IGEvYmZkL0NoYW5nZUxvZyBiL2JmZC9DaGFuZ2VMb2cKaW5kZXggMTQ4ZGU3 OTRiYy4uOWUzOWI3ODU1NCAxMDA2NDQKLS0tIGEvYmZkL0NoYW5nZUxvZwor KysgYi9iZmQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTcgQEAKKzIwMjAtMDEt MDYgIEt1YW4tTGluIENoZW4gIDxrdWFubGluY2hlbnR3QGdtYWlsLmNvbT4K KworCSogYmZkLWluMi5oOiBSZWdlbmVyYXRlZC4KKwkqIGVsZm5uLXJpc2N2 LmMgKHdyaXRlX3VsZWIxMjgpOiBOZXcgZnVuY3Rpb24uCisJKHBlcmZvcm1f cmVsb2NhdGlvbik6IFBlcmZvcm0gUl9SSVNDVl9TVUJfVUxFQjEyOCBhbmQK KwkgUl9SSVNDVl9TRVRfVUxFQjEyOCByZWxvY2F0aW9uLgorCShyaXNjdl9l bGZfcmVsb2NhdGVfc2VjdGlvbik6IExpa2V3aXNlLgorCSogZWxmeHgtcmlz Y3YuYyAoaG93dG9fdGFibGUpOiBBZGQgUl9SSVNDVl9TVUJfVUxFQjEyOCBh bmQKKwlSX1JJU0NWX1NFVF9VTEVCMTI4LgorCShyaXNjdl9lbGZfaWdub3Jl X3JlbG9jKTogTmV3IGZ1bmN0aW9uLgorCSogbGliYmZkLmg6IFJlZ2VuZXJh dGVkLgorCSogcmVsb2MuYyAoQkZEX1JFTE9DX1JJU0NWX1NFVF9VTEVCMTI4 LCBCRkRfUkVMT0NfUklTQ1ZfU1VCX1VMRUIxMjgpOgorCU5ldyByZWxvY2F0 aW9ucyB0byBzdXBwb3J0IC51bGViMTI4LgorCiAyMDIwLTAxLTA0ICBBbGFu IE1vZHJhICA8YW1vZHJhQGdtYWlsLmNvbT4KIAogCSogZm9ybWF0LmMgKGJm ZF9jaGVja19mb3JtYXRfbWF0Y2hlcyk6IEFkZCBwcmVzZXJ2ZV9tYXRjaC4K ZGlmZiAtLWdpdCBhL2JmZC9iZmQtaW4yLmggYi9iZmQvYmZkLWluMi5oCmlu ZGV4IDdjMTNiYzhjOTEuLmU0M2MzYTU1NTcgMTAwNjQ0Ci0tLSBhL2JmZC9i ZmQtaW4yLmgKKysrIGIvYmZkL2JmZC1pbjIuaApAQCAtNDM4Myw2ICs0Mzgz LDggQEAgbnVtYmVyIGZvciB0aGUgU0JJQywgU0JJUywgU0JJIGFuZCBDQkkg aW5zdHJ1Y3Rpb25zICAqLwogICBCRkRfUkVMT0NfUklTQ1ZfU0VUMTYsCiAg IEJGRF9SRUxPQ19SSVNDVl9TRVQzMiwKICAgQkZEX1JFTE9DX1JJU0NWXzMy X1BDUkVMLAorICBCRkRfUkVMT0NfUklTQ1ZfU0VUX1VMRUIxMjgsCisgIEJG RF9SRUxPQ19SSVNDVl9TVUJfVUxFQjEyOCwKIAogLyogUmVuZXNhcyBSTDc4 IFJlbG9jYXRpb25zLiAgKi8KICAgQkZEX1JFTE9DX1JMNzhfTkVHOCwKZGlm ZiAtLWdpdCBhL2JmZC9lbGZubi1yaXNjdi5jIGIvYmZkL2VsZm5uLXJpc2N2 LmMKaW5kZXggZDMwZmM4YjY2YS4uMWFlOGRkODNkMCAxMDA2NDQKLS0tIGEv YmZkL2VsZm5uLXJpc2N2LmMKKysrIGIvYmZkL2VsZm5uLXJpc2N2LmMKQEAg LTE0MTksNiArMTQxOSwyNiBAQCByaXNjdl9nbG9iYWxfcG9pbnRlcl92YWx1 ZSAoc3RydWN0IGJmZF9saW5rX2luZm8gKmluZm8pCiAgIHJldHVybiBoLT51 LmRlZi52YWx1ZSArIHNlY19hZGRyIChoLT51LmRlZi5zZWN0aW9uKTsKIH0K IAorLyogV3JpdGUgVkFMIGluIHVsZWIxMjggZm9ybWF0IHRvIFAsIHJldHVy bmluZyBhIHBvaW50ZXIgdG8gdGhlCisgICBmb2xsb3dpbmcgYnl0ZS4KKyAg IFRoaXMgY29kZSBpcyBjb3BpZWQgZnJvbSBlbGYtYXR0ci5jLiAgKi8KKwor c3RhdGljIGJmZF9ieXRlICoKK3dyaXRlX3VsZWIxMjggKGJmZF9ieXRlICpw LCB1bnNpZ25lZCBpbnQgdmFsKQoreworICBiZmRfYnl0ZSBjOworICBkbwor ICAgIHsKKyAgICAgIGMgPSB2YWwgJiAweDdmOworICAgICAgdmFsID4+PSA3 OworICAgICAgaWYgKHZhbCkKKwljIHw9IDB4ODA7CisgICAgICAqKHArKykg PSBjOworICAgIH0KKyAgd2hpbGUgKHZhbCk7CisgIHJldHVybiBwOworfQor CiAvKiBFbXBsYWNlIGEgc3RhdGljIHJlbG9jYXRpb24uICAqLwogCiBzdGF0 aWMgYmZkX3JlbG9jX3N0YXR1c190eXBlCkBAIC0xNTEyLDYgKzE1MzIsMjUg QEAgcGVyZm9ybV9yZWxvY2F0aW9uIChjb25zdCByZWxvY19ob3d0b190eXBl ICpob3d0bywKIAl2YWx1ZSA9IEVOQ09ERV9SVkNfTFVJX0lNTSAoUklTQ1Zf Q09OU1RfSElHSF9QQVJUICh2YWx1ZSkpOwogICAgICAgYnJlYWs7CiAKKyAg ICBjYXNlIFJfUklTQ1ZfU0VUX1VMRUIxMjg6CisgICAgY2FzZSBSX1JJU0NW X1NVQl9VTEVCMTI4OgorICAgICAgeworCXVuc2lnbmVkIGludCBsZW4gPSAw OworCWJmZF9ieXRlICplbmRwLCAqcDsKKworCV9iZmRfcmVhZF91bnNpZ25l ZF9sZWIxMjggKGlucHV0X2JmZCwgY29udGVudHMgKyByZWwtPnJfb2Zmc2V0 LCAmbGVuKTsKKworCS8qIENsZWFuIHRoZSBjb250ZW50cyB2YWx1ZSB0byB6 ZXJvLiAgRG8gbm90IHJlZHVjZSB0aGUgbGVuZ3RoLiAgKi8KKwlwID0gY29u dGVudHMgKyByZWwtPnJfb2Zmc2V0OworCWVuZHAgPSBwICsgbGVuIC0xOwor CW1lbXNldCAocCwgMHg4MCwgbGVuIC0gMSk7CisJKihlbmRwKSA9IDA7CisJ cCA9IHdyaXRlX3VsZWIxMjggKHAsIHZhbHVlKSAtIDE7CisJaWYgKHAgPCBl bmRwKQorCSAgKnAgfD0gMHg4MDsKKwlyZXR1cm4gYmZkX3JlbG9jX29rOwor ICAgICAgfQorCiAgICAgY2FzZSBSX1JJU0NWXzMyOgogICAgIGNhc2UgUl9S SVNDVl82NDoKICAgICBjYXNlIFJfUklTQ1ZfQUREODoKQEAgLTE3NjcsNiAr MTgwNiw4IEBAIHJpc2N2X2VsZl9yZWxvY2F0ZV9zZWN0aW9uIChiZmQgKm91 dHB1dF9iZmQsCiAgIHN0cnVjdCBlbGZfbGlua19oYXNoX2VudHJ5ICoqc3lt X2hhc2hlcyA9IGVsZl9zeW1faGFzaGVzIChpbnB1dF9iZmQpOwogICBiZmRf dm1hICpsb2NhbF9nb3Rfb2Zmc2V0cyA9IGVsZl9sb2NhbF9nb3Rfb2Zmc2V0 cyAoaW5wdXRfYmZkKTsKICAgYmZkX2Jvb2xlYW4gYWJzb2x1dGU7CisgIGJm ZF92bWEgdWxlYjEyOF92bWE7CisgIEVsZl9JbnRlcm5hbF9SZWxhICp1bGVi MTI4X3JlbCA9IE5VTEw7CiAKICAgaWYgKCFyaXNjdl9pbml0X3BjcmVsX3Jl bG9jcyAoJnBjcmVsX3JlbG9jcykpCiAgICAgcmV0dXJuIEZBTFNFOwpAQCAt MTg3MSw2ICsxOTEyLDQ3IEBAIHJpc2N2X2VsZl9yZWxvY2F0ZV9zZWN0aW9u IChiZmQgKm91dHB1dF9iZmQsCiAJY2FzZSBSX1JJU0NWX0RFTEVURToKIAkg IC8qIFRoZXNlIHJlcXVpcmUgbm8gc3BlY2lhbCBoYW5kbGluZyBiZXlvbmQg cGVyZm9ybV9yZWxvY2F0aW9uLiAgKi8KIAkgIGJyZWFrOworCWNhc2UgUl9S SVNDVl9TRVRfVUxFQjEyODoKKwkgIGlmICghdWxlYjEyOF9yZWwpCisJICAg IHsKKwkgICAgICAvKiBTYXZlIHRoZSBtaW51ZW5kIHRvIHVzZSBsYXRlci4g ICovCisJICAgICAgdWxlYjEyOF92bWEgPSByZWxvY2F0aW9uOworCSAgICAg IHVsZWIxMjhfcmVsID0gcmVsOworCSAgICAgIGNvbnRpbnVlOworCSAgICB9 CisJICBlbHNlCisJICAgIHsKKwkgICAgICBpZiAodWxlYjEyOF9yZWwtPnJf b2Zmc2V0ICE9IHJlbC0+cl9vZmZzZXQpCisJCXsKKwkJICBtc2cgPSAoIlJf UklTQ1ZfU0VUX1VMRUIxMjggYW5kIFJfUklTQ1ZfU1VCX1VMRUIxMjggYXJl IG1pc21hdGNoZWQuICIpOworCQkgIHIgPSBiZmRfcmVsb2NfZGFuZ2Vyb3Vz OworCQkgIGJyZWFrOworCQl9CisJICAgICAgcmVsb2NhdGlvbiA9IHJlbG9j YXRpb24gLSB1bGViMTI4X3ZtYTsKKwkgICAgICB1bGViMTI4X3JlbCA9IE5V TEw7CisJICAgICAgYnJlYWs7CisJICAgIH0KKworCWNhc2UgUl9SSVNDVl9T VUJfVUxFQjEyODoKKwkgIGlmICh1bGViMTI4X3JlbCkKKwkgICAgeworCSAg ICAgIGlmICh1bGViMTI4X3JlbC0+cl9vZmZzZXQgIT0gcmVsLT5yX29mZnNl dCkKKwkJeworCQkgIG1zZyA9ICgiUl9SSVNDVl9TRVRfVUxFQjEyOCBhbmQg Ul9SSVNDVl9TVUJfVUxFQjEyOCBhcmUgbWlzbWF0Y2hlZC4gIik7CisJCSAg ciA9IGJmZF9yZWxvY19kYW5nZXJvdXM7CisJCSAgYnJlYWs7CisJCX0KKwkg ICAgICByZWxvY2F0aW9uID0gdWxlYjEyOF92bWEgLSByZWxvY2F0aW9uOwor CSAgICAgIHVsZWIxMjhfcmVsID0gTlVMTDsKKwkgICAgICBicmVhazsKKwkg ICAgfQorCSAgZWxzZQorCSAgICB7CisJICAgICAgLyogU2F2ZSB0aGUgc3Vi dHJhaGVuZCB0byB1c2UgbGF0ZXIuICAqLworCSAgICAgIHVsZWIxMjhfdm1h ID0gcmVsb2NhdGlvbjsKKwkgICAgICB1bGViMTI4X3JlbCA9IHJlbDsKKwkg ICAgICBjb250aW51ZTsKKwkgICAgfQogCiAJY2FzZSBSX1JJU0NWX0dPVF9I STIwOgogCSAgaWYgKGggIT0gTlVMTCkKZGlmZiAtLWdpdCBhL2JmZC9lbGZ4 eC1yaXNjdi5jIGIvYmZkL2VsZnh4LXJpc2N2LmMKaW5kZXggNjU4NjI5YzBj OC4uYzA4Yjk1ZWMyNCAxMDA2NDQKLS0tIGEvYmZkL2VsZnh4LXJpc2N2LmMK KysrIGIvYmZkL2VsZnh4LXJpc2N2LmMKQEAgLTM4LDYgKzM4LDggQEAKICAg IHJlbG9jYXRpb25zIGZvciB0aGUgZGVidWcgaW5mby4gICovCiBzdGF0aWMg YmZkX3JlbG9jX3N0YXR1c190eXBlIHJpc2N2X2VsZl9hZGRfc3ViX3JlbG9j CiAgIChiZmQgKiwgYXJlbGVudCAqLCBhc3ltYm9sICosIHZvaWQgKiwgYXNl Y3Rpb24gKiwgYmZkICosIGNoYXIgKiopOworc3RhdGljIGJmZF9yZWxvY19z dGF0dXNfdHlwZSByaXNjdl9lbGZfaWdub3JlX3JlbG9jCisgIChiZmQgKiwg YXJlbGVudCAqLCBhc3ltYm9sICosIHZvaWQgKiwgYXNlY3Rpb24gKiwgYmZk ICosIGNoYXIgKiopOwogCiAvKiBUaGUgcmVsb2NhdGlvbiB0YWJsZSB1c2Vk IGZvciBTSFRfUkVMQSBzZWN0aW9ucy4gICovCiAKQEAgLTg1NSw4ICs4NTcs NDEgQEAgc3RhdGljIHJlbG9jX2hvd3RvX3R5cGUgaG93dG9fdGFibGVbXSA9 CiAJIDAsCQkJCS8qIHNyY19tYXNrICovCiAJIE1JTlVTX09ORSwJCQkvKiBk c3RfbWFzayAqLwogCSBGQUxTRSksCQkJLyogcGNyZWxfb2Zmc2V0ICovCisK KyAgLyogVGhlIGxlbmd0aCBvZiB1bnNpZ25lZC1sZWIxMjggaXMgdmFyaWFi bGUsIGp1c3QgYXNzdW1lIHRoZQorICAgICBzaXplIGlzIG9uZSBieXRlIGhl cmUuICAqLworICBIT1dUTyAoUl9SSVNDVl9TRVRfVUxFQjEyOCwJCS8qIHR5 cGUgKi8KKwkgMCwJCQkJLyogcmlnaHRzaGlmdCAqLworCSAwLAkJCQkvKiBz aXplICovCisJIDAsCQkJCS8qIGJpdHNpemUgKi8KKwkgRkFMU0UsCQkJCS8q IHBjX3JlbGF0aXZlICovCisJIDAsCQkJCS8qIGJpdHBvcyAqLworCSBjb21w bGFpbl9vdmVyZmxvd19kb250LAkvKiBjb21wbGFpbl9vbl9vdmVyZmxvdyAq LworCSByaXNjdl9lbGZfaWdub3JlX3JlbG9jLAkvKiBzcGVjaWFsX2Z1bmN0 aW9uICovCisJICJSX1JJU0NWX1NFVF9VTEVCMTI4IiwJCS8qIG5hbWUgKi8K KwkgRkFMU0UsCQkJCS8qIHBhcnRpYWxfaW5wbGFjZSAqLworCSAwLAkJCQkv KiBzcmNfbWFzayAqLworCSAwLAkJCQkvKiBkc3RfbWFzayAqLworCSBGQUxT RSksCQkJLyogcGNyZWxfb2Zmc2V0ICovCisKKyAgLyogVGhlIGxlbmd0aCBv ZiB1bnNpZ25lZC1sZWIxMjggaXMgdmFyaWFibGUsIGp1c3QgYXNzdW1lIHRo ZQorICAgICBzaXplIGlzIG9uZSBieXRlIGhlcmUuICAqLworICBIT1dUTyAo Ul9SSVNDVl9TVUJfVUxFQjEyOCwJCS8qIHR5cGUgKi8KKwkgMCwJCQkJLyog cmlnaHRzaGlmdCAqLworCSAwLAkJCQkvKiBzaXplICovCisJIDAsCQkJCS8q IGJpdHNpemUgKi8KKwkgRkFMU0UsCQkJCS8qIHBjX3JlbGF0aXZlICovCisJ IDAsCQkJCS8qIGJpdHBvcyAqLworCSBjb21wbGFpbl9vdmVyZmxvd19kb250 LAkvKiBjb21wbGFpbl9vbl9vdmVyZmxvdyAqLworCSByaXNjdl9lbGZfaWdu b3JlX3JlbG9jLAkvKiBzcGVjaWFsX2Z1bmN0aW9uICovCisJICJSX1JJU0NW X1NVQl9VTEVCMTI4IiwJCS8qIG5hbWUgKi8KKwkgRkFMU0UsCQkJCS8qIHBh cnRpYWxfaW5wbGFjZSAqLworCSAwLAkJCQkvKiBzcmNfbWFzayAqLworCSAw LAkJCQkvKiBkc3RfbWFzayAqLworCSBGQUxTRSksCQkJLyogcGNyZWxfb2Zm c2V0ICovCiB9OwogCisKIC8qIEEgbWFwcGluZyBmcm9tIEJGRCByZWxvYyB0 eXBlcyB0byBSSVNDLVYgRUxGIHJlbG9jIHR5cGVzLiAgKi8KIAogc3RydWN0 IGVsZl9yZWxvY19tYXAKQEAgLTkxNyw2ICs5NTIsOCBAQCBzdGF0aWMgY29u c3Qgc3RydWN0IGVsZl9yZWxvY19tYXAgcmlzY3ZfcmVsb2NfbWFwW10gPQog ICB7IEJGRF9SRUxPQ19SSVNDVl9TRVQxNiwgUl9SSVNDVl9TRVQxNiB9LAog ICB7IEJGRF9SRUxPQ19SSVNDVl9TRVQzMiwgUl9SSVNDVl9TRVQzMiB9LAog ICB7IEJGRF9SRUxPQ19SSVNDVl8zMl9QQ1JFTCwgUl9SSVNDVl8zMl9QQ1JF TCB9LAorICB7IEJGRF9SRUxPQ19SSVNDVl9TRVRfVUxFQjEyOCwgUl9SSVND Vl9TRVRfVUxFQjEyOCB9LAorICB7IEJGRF9SRUxPQ19SSVNDVl9TVUJfVUxF QjEyOCwgUl9SSVNDVl9TVUJfVUxFQjEyOCB9LAogfTsKIAogLyogR2l2ZW4g YSBCRkQgcmVsb2MgdHlwZSwgcmV0dXJuIGEgaG93dG8gc3RydWN0dXJlLiAg Ki8KQEAgLTEwMTEsNiArMTA0OCwyMCBAQCByaXNjdl9lbGZfYWRkX3N1Yl9y ZWxvYyAoYmZkICphYmZkLAogICByZXR1cm4gYmZkX3JlbG9jX29rOwogfQog CisvKiBTcGVjaWFsIGhhbmRsZXIgZm9yIHJlbG9jYXRpb25zIHdoaWNoIGRv bid0IGhhdmUgdG8gYmUgcmVsb2NhdGVkLgorICAgVGhpcyBmdW5jdGlvbiBq dXN0IHNpbXBseSByZXR1cm4gYmZkX3JlbG9jX29rLiAgKi8KK3N0YXRpYyBi ZmRfcmVsb2Nfc3RhdHVzX3R5cGUKK3Jpc2N2X2VsZl9pZ25vcmVfcmVsb2Mg KGJmZCAqYWJmZCBBVFRSSUJVVEVfVU5VU0VELCBhcmVsZW50ICpyZWxvY19l bnRyeSwKKwkJCWFzeW1ib2wgKnN5bWJvbCBBVFRSSUJVVEVfVU5VU0VELAor CQkJdm9pZCAqZGF0YSBBVFRSSUJVVEVfVU5VU0VELCBhc2VjdGlvbiAqaW5w dXRfc2VjdGlvbiwKKwkJCWJmZCAqb3V0cHV0X2JmZCwgY2hhciAqKmVycm9y X21lc3NhZ2UgQVRUUklCVVRFX1VOVVNFRCkKK3sKKyAgaWYgKG91dHB1dF9i ZmQgIT0gTlVMTCkKKyAgICByZWxvY19lbnRyeS0+YWRkcmVzcyArPSBpbnB1 dF9zZWN0aW9uLT5vdXRwdXRfb2Zmc2V0OworCisgIHJldHVybiBiZmRfcmVs b2Nfb2s7Cit9CisKIC8qIFBhcnNpbmcgc3Vic2V0IHZlcnNpb24uCiAKICAg IFJldHVybiBWYWx1ZToKZGlmZiAtLWdpdCBhL2JmZC9saWJiZmQuaCBiL2Jm ZC9saWJiZmQuaAppbmRleCBkOTdkNGU1N2E3Li43NGQxMmQ4Yjk5IDEwMDY0 NAotLS0gYS9iZmQvbGliYmZkLmgKKysrIGIvYmZkL2xpYmJmZC5oCkBAIC0y MzI3LDYgKzIzMjcsOCBAQCBzdGF0aWMgY29uc3QgY2hhciAqY29uc3QgYmZk X3JlbG9jX2NvZGVfcmVhbF9uYW1lc1tdID0geyAiQEB1bmluaXRpYWxpemVk QEAiLAogICAiQkZEX1JFTE9DX1JJU0NWX1NFVDE2IiwKICAgIkJGRF9SRUxP Q19SSVNDVl9TRVQzMiIsCiAgICJCRkRfUkVMT0NfUklTQ1ZfMzJfUENSRUwi LAorICAiQkZEX1JFTE9DX1JJU0NWX1NFVF9VTEVCMTI4IiwKKyAgIkJGRF9S RUxPQ19SSVNDVl9TVUJfVUxFQjEyOCIsCiAgICJCRkRfUkVMT0NfUkw3OF9O RUc4IiwKICAgIkJGRF9SRUxPQ19STDc4X05FRzE2IiwKICAgIkJGRF9SRUxP Q19STDc4X05FRzI0IiwKZGlmZiAtLWdpdCBhL2JmZC9yZWxvYy5jIGIvYmZk L3JlbG9jLmMKaW5kZXggMzNjZDY3MTUwYy4uOWI3OTdlNzkyMCAxMDA2NDQK LS0tIGEvYmZkL3JlbG9jLmMKKysrIGIvYmZkL3JlbG9jLmMKQEAgLTUyMTIs NiArNTIxMiwxMCBAQCBFTlVNWAogICBCRkRfUkVMT0NfUklTQ1ZfU0VUMzIK IEVOVU1YCiAgIEJGRF9SRUxPQ19SSVNDVl8zMl9QQ1JFTAorRU5VTVgKKyAg QkZEX1JFTE9DX1JJU0NWX1NFVF9VTEVCMTI4CitFTlVNWAorICBCRkRfUkVM T0NfUklTQ1ZfU1VCX1VMRUIxMjgKIEVOVU1ET0MKICAgUklTQy1WIHJlbG9j YXRpb25zLgogCmRpZmYgLS1naXQgYS9nYXMvQ2hhbmdlTG9nIGIvZ2FzL0No YW5nZUxvZwppbmRleCA1YTE2YjkxNDRhLi42OWVjNDIzMzViIDEwMDY0NAot LS0gYS9nYXMvQ2hhbmdlTG9nCisrKyBiL2dhcy9DaGFuZ2VMb2cKQEAgLTEs MyArMSwxMSBAQAorMjAyMC0wMS0wNiAgS3Vhbi1MaW4gQ2hlbiAgPGt1YW5s aW5jaGVudHdAZ21haWwuY29tPgorCisJKiBjb25maWcvdGMtcmlzY3YuYyAo bWRfYXBwbHlfZml4KTogQWRkIEJGRF9SRUxPQ19SSVNDVl9TRVRfVUxFQjEy OCBhbmQKKwlCRkRfUkVMT0NfUklTQ1ZfU1VCX1VMRUIxMjguCisJKHJpc2N2 X2luc2VydF91bGViMTI4X2ZpeGVzKTogTmV3IGZ1bmN0aW9uLgorCShyaXNj dl9tZF9lbmQpOiBTY2FuIHJzX2xlYjEyOCBmcmFnbWVudHMuCisJKHJpc2N2 X3BzZXVkb190YWJsZSk6IFJlbW92ZSB1bGViMTI4LgorCiAyMDIwLTAxLTAz ICBTZXJnZXkgQmVseWFzaG92ICA8c2VyZ2V5LmJlbHlhc2hvdkBnbWFpbC5j b20+CiAKIAlQUiAyNTMxMQpkaWZmIC0tZ2l0IGEvZ2FzL2NvbmZpZy90Yy1y aXNjdi5jIGIvZ2FzL2NvbmZpZy90Yy1yaXNjdi5jCmluZGV4IDIxZmZmOGZm YWIuLmUxZTM3YzI2N2EgMTAwNjQ0Ci0tLSBhL2dhcy9jb25maWcvdGMtcmlz Y3YuYworKysgYi9nYXMvY29uZmlnL3RjLXJpc2N2LmMKQEAgLTIzOTIsNiAr MjM5Miw5IEBAIG1kX2FwcGx5X2ZpeCAoZml4UyAqZml4UCwgdmFsdWVUICp2 YWxQLCBzZWdUIHNlZyBBVFRSSUJVVEVfVU5VU0VEKQogICAgIGNhc2UgQkZE X1JFTE9DX1JJU0NWX1NVQjMyOgogICAgIGNhc2UgQkZEX1JFTE9DX1JJU0NW X1NVQjY0OgogICAgIGNhc2UgQkZEX1JFTE9DX1JJU0NWX1JFTEFYOgorICAg IC8qIGN2dF9mcmFnX3RvX2ZpbGwgKCkgaGFzIGNhbGxlZCBvdXRwdXRfbGVi MTI4ICgpLiAgKi8KKyAgICBjYXNlIEJGRF9SRUxPQ19SSVNDVl9TRVRfVUxF QjEyODoKKyAgICBjYXNlIEJGRF9SRUxPQ19SSVNDVl9TVUJfVUxFQjEyODoK ICAgICAgIGJyZWFrOwogCiAgICAgY2FzZSBCRkRfUkVMT0NfUklTQ1ZfVFBS RUxfSEkyMDoKQEAgLTMxMzEsMTEgKzMxMzQsNTYgQEAgcmlzY3Zfc2V0X3B1 YmxpY19hdHRyaWJ1dGVzICh2b2lkKQogICAgIHJpc2N2X3dyaXRlX291dF9h cmNoX2F0dHIgKCk7CiB9CiAKKy8qIFNjYW4gdWxlYjEyOCBzdWJ0cmFjdGlv biBleHByZXNzaW9ucyBhbmQgaW5zZXJ0IGZpeHVwcyBmb3IgdGhlbS4KKyAg IGUuZy4sIC51bGViMTI4IC5MMSAtIC5MMAorICAgQmVjYXVzZSByZWxheGF0 aW9uIG1heSBjaGFuZ2UgdGhlIHZhbHVlIG9mIHRoZSBzdWJ0cmFjdGlvbiwg d2UKKyAgIG11c3QgcmVzb2x2ZSB0aGVtIGF0IGxpbmstdGltZS4gICovCisK K3N0YXRpYyB2b2lkCityaXNjdl9pbnNlcnRfdWxlYjEyOF9maXhlcyAoYmZk ICphYmZkIEFUVFJJQlVURV9VTlVTRUQsCisJCQkgICAgYXNlY3Rpb24gKnNl Yywgdm9pZCAqeHh4IEFUVFJJQlVURV9VTlVTRUQpCit7CisgIHNlZ21lbnRf aW5mb190eXBlICpzZWdpbmZvID0gc2VnX2luZm8gKHNlYyk7CisgIHN0cnVj dCBmcmFnICpmcmFnUDsKKworICBzdWJzZWdfc2V0IChzZWMsIDApOworCisg IGZvciAoZnJhZ1AgPSBzZWdpbmZvLT5mcmNoYWluUC0+ZnJjaF9yb290Owor ICAgICAgIGZyYWdQOyBmcmFnUCA9IGZyYWdQLT5mcl9uZXh0KQorICAgIHsK KyAgICAgIGV4cHJlc3Npb25TICpleHAsICpleHBfZHVwOworCisgICAgICBp ZiAoZnJhZ1AtPmZyX3R5cGUgIT0gcnNfbGViMTI4ICB8fCBmcmFnUC0+ZnJf c3ltYm9sID09IE5VTEwpCisJY29udGludWU7CisKKyAgICAgIGV4cCA9IHN5 bWJvbF9nZXRfdmFsdWVfZXhwcmVzc2lvbiAoZnJhZ1AtPmZyX3N5bWJvbCk7 CisKKyAgICAgIGlmIChleHAtPlhfb3AgIT0gT19zdWJ0cmFjdCkKKwljb250 aW51ZTsKKworICAgICAgLyogT25seSB1bnNpZ25lZCBsZWIxMjggY2FuIGJl IGhhbmRsZWQuICAqLworICAgICAgZ2FzX2Fzc2VydCAoZnJhZ1AtPmZyX3N1 YnR5cGUgPT0gMCk7CisgICAgICBleHBfZHVwID0geG1lbWR1cCAoZXhwLCBz aXplb2YgKCpleHApLCBzaXplb2YgKCpleHApKTsKKyAgICAgIGV4cF9kdXAt Plhfb3AgPSBPX3N5bWJvbDsKKyAgICAgIGV4cF9kdXAtPlhfb3Bfc3ltYm9s ID0gTlVMTDsKKworICAgICAgLyogSW5zZXJ0IHJlbG9jYXRpb25zIHRvIHJl c29sdmUgdGhlIHN1YnRyYWN0aW9uIGF0IGxpbmstdGltZS4gICovCisgICAg ICBmaXhfbmV3X2V4cCAoZnJhZ1AsIGZyYWdQLT5mcl9maXgsIDAsCisJCSAg IGV4cF9kdXAsIDAsIEJGRF9SRUxPQ19SSVNDVl9TRVRfVUxFQjEyOCk7Cisg ICAgICBleHBfZHVwLT5YX2FkZF9zeW1ib2wgPSBleHAtPlhfb3Bfc3ltYm9s OworICAgICAgZml4X25ld19leHAgKGZyYWdQLCBmcmFnUC0+ZnJfZml4LCAw LAorCQkgICBleHBfZHVwLCAwLCBCRkRfUkVMT0NfUklTQ1ZfU1VCX1VMRUIx MjgpOworICAgIH0KK30KKwogLyogQ2FsbGVkIGFmdGVyIGFsbCBhc3NlbWJs eSBoYXMgYmVlbiBkb25lLiAgKi8KIAogdm9pZAogcmlzY3ZfbWRfZW5kICh2 b2lkKQogeworCisgIGlmIChyaXNjdl9vcHRzLnJlbGF4KQorICAgIGJmZF9t YXBfb3Zlcl9zZWN0aW9ucyAoc3Rkb3V0cHV0LCByaXNjdl9pbnNlcnRfdWxl YjEyOF9maXhlcywgTlVMTCk7CiAgIHJpc2N2X3NldF9wdWJsaWNfYXR0cmli dXRlcyAoKTsKIH0KIApAQCAtMzIxOSw3ICszMjY3LDYgQEAgc3RhdGljIGNv bnN0IHBzZXVkb190eXBlUyByaXNjdl9wc2V1ZG9fdGFibGVbXSA9CiAgIHsi ZHRwcmVsd29yZCIsIHNfZHRwcmVsLCA0fSwKICAgeyJkdHByZWxkd29yZCIs IHNfZHRwcmVsLCA4fSwKICAgeyJic3MiLCBzX2JzcywgMH0sCi0gIHsidWxl YjEyOCIsIHNfcmlzY3ZfbGViMTI4LCAwfSwKICAgeyJzbGViMTI4Iiwgc19y aXNjdl9sZWIxMjgsIDF9LAogICB7Imluc24iLCBzX3Jpc2N2X2luc24sIDB9 LAogICB7ImF0dHJpYnV0ZSIsIHNfcmlzY3ZfYXR0cmlidXRlLCAwfSwKZGlm ZiAtLWdpdCBhL2luY2x1ZGUvQ2hhbmdlTG9nIGIvaW5jbHVkZS9DaGFuZ2VM b2cKaW5kZXggZTI4YzE2OGY1NS4uMzE2NmY3MDhjZiAxMDA2NDQKLS0tIGEv aW5jbHVkZS9DaGFuZ2VMb2cKKysrIGIvaW5jbHVkZS9DaGFuZ2VMb2cKQEAg LTEsMyArMSw3IEBACisyMDIwLTAxLTA2ICBLdWFuLUxpbiBDaGVuICA8a3Vh bmxpbmNoZW50d0BnbWFpbC5jb20+CisKKwkqIGVsZi9yaXNjdi5oICgoUl9S SVNDVl9TRVRfVUxFQjEyOCwgKFJfUklTQ1ZfU1VCX1VMRUIxMjgpOiBEZWZp bmUuCisKIDIwMjAtMDEtMDIgIFNlcmdleSBCZWx5YXNob3YgIDxzZXJnZXku YmVseWFzaG92QGdtYWlsLmNvbT4KIAogCSogY29mZi9pbnRlcm5hbC5oOiBB ZGQgZGVmaW50aW9ucyBvZiBaODAgcmVsb2MgbmFtZXMuCmRpZmYgLS1naXQg YS9pbmNsdWRlL2VsZi9yaXNjdi5oIGIvaW5jbHVkZS9lbGYvcmlzY3YuaApp bmRleCA1MDYyYTQ5OThjLi5hODM5YTBjODQzIDEwMDY0NAotLS0gYS9pbmNs dWRlL2VsZi9yaXNjdi5oCisrKyBiL2luY2x1ZGUvZWxmL3Jpc2N2LmgKQEAg LTg4LDYgKzg4LDggQEAgU1RBUlRfUkVMT0NfTlVNQkVSUyAoZWxmX3Jpc2N2 X3JlbG9jX3R5cGUpCiAgIFJFTE9DX05VTUJFUiAoUl9SSVNDVl9TRVQxNiwg NTUpCiAgIFJFTE9DX05VTUJFUiAoUl9SSVNDVl9TRVQzMiwgNTYpCiAgIFJF TE9DX05VTUJFUiAoUl9SSVNDVl8zMl9QQ1JFTCwgNTcpCisgIFJFTE9DX05V TUJFUiAoUl9SSVNDVl9TRVRfVUxFQjEyOCwgNTgpCisgIFJFTE9DX05VTUJF UiAoUl9SSVNDVl9TVUJfVUxFQjEyOCwgNTkpCiBFTkRfUkVMT0NfTlVNQkVS UyAoUl9SSVNDVl9tYXgpCiAKIC8qIFByb2Nlc3NvciBzcGVjaWZpYyBmbGFn cyBmb3IgdGhlIEVMRiBoZWFkZXIgZV9mbGFncyBmaWVsZC4gICovCmRpZmYg LS1naXQgYS9sZC9DaGFuZ2VMb2cgYi9sZC9DaGFuZ2VMb2cKaW5kZXggNDc2 ZTZjYjg5NC4uZDFhOTcwMzUyNiAxMDA2NDQKLS0tIGEvbGQvQ2hhbmdlTG9n CisrKyBiL2xkL0NoYW5nZUxvZwpAQCAtMSwzICsxLDkgQEAKKzIwMjAtMDEt MDYgIEt1YW4tTGluIENoZW4gIDxrdWFubGluY2hlbnR3QGdtYWlsLmNvbT4K KworCSogdGVzdHN1aXRlL2xkLXJpc2N2LWVsZi9sZC1yaXNjdi1lbGYuZXhw OiBBZGQgdWxlYjEyOC4KKwkqIHRlc3RzdWl0ZS9sZC1yaXNjdi1lbGYvdWxl YjEyOC5kOiBOZXcgdGVzdC4KKwkqIHRlc3RzdWl0ZS9sZC1yaXNjdi1lbGYv dWxlYjEyOC5zOiBOZXcgZmlsZS4KKwogMjAyMC0wMS0wMyAgSGFubmVzIERv bWFuaSAgPHNzYnNzYUB5YWhvby5kZT4KIAogCSogZW11bHRlbXBsL3BlLmVt OiBBZGQgbmV3IG9wdGlvbiAtLWVuYWJsZS1yZWxvYy1zZWN0aW9uLgpkaWZm IC0tZ2l0IGEvbGQvdGVzdHN1aXRlL2xkLXJpc2N2LWVsZi9sZC1yaXNjdi1l bGYuZXhwIGIvbGQvdGVzdHN1aXRlL2xkLXJpc2N2LWVsZi9sZC1yaXNjdi1l bGYuZXhwCmluZGV4IDBlOTc1MGU0OTYuLjQxMmMwMGQxZWMgMTAwNjQ0Ci0t LSBhL2xkL3Rlc3RzdWl0ZS9sZC1yaXNjdi1lbGYvbGQtcmlzY3YtZWxmLmV4 cAorKysgYi9sZC90ZXN0c3VpdGUvbGQtcmlzY3YtZWxmL2xkLXJpc2N2LWVs Zi5leHAKQEAgLTM4LDYgKzM4LDcgQEAgaWYgW2lzdGFyZ2V0ICJyaXNjdiot Ki0qIl0gewogICAgIHJ1bl9kdW1wX3Rlc3QgImF0dHItbWVyZ2UtcHJpdi1z cGVjIgogICAgIHJ1bl9kdW1wX3Rlc3QgImF0dHItbWVyZ2UtYXJjaC1mYWls ZWQtMDEiCiAgICAgcnVuX2R1bXBfdGVzdCAiYXR0ci1tZXJnZS1zdGFjay1h bGlnbi1mYWlsZWQiCisgICAgcnVuX2R1bXBfdGVzdCAidWxlYjEyOCIKICAg ICBydW5fbGRfbGlua190ZXN0cyB7CiAJeyAiV2VhayByZWZlcmVuY2UgMzIi ICItVCB3ZWFrcmVmLmxkIC1tZWxmMzJscmlzY3YiICIiCiAJICAgICItbWFy Y2g9cnYzMmkgLW1hYmk9aWxwMzIiIHt3ZWFrcmVmMzIuc30KZGlmZiAtLWdp dCBhL2xkL3Rlc3RzdWl0ZS9sZC1yaXNjdi1lbGYvdWxlYjEyOC5kIGIvbGQv dGVzdHN1aXRlL2xkLXJpc2N2LWVsZi91bGViMTI4LmQKbmV3IGZpbGUgbW9k ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMC4uYTkyMTQ3OGU5OAotLS0gL2Rl di9udWxsCisrKyBiL2xkL3Rlc3RzdWl0ZS9sZC1yaXNjdi1lbGYvdWxlYjEy OC5kCkBAIC0wLDAgKzEsMTggQEAKKyNzb3VyY2U6IHVsZWIxMjgucworI2Fz OiAtbWFyY2g9cnYzMmljCisjbGQ6IC1tZWxmMzJscmlzY3YKKyNvYmpkdW1w OiAtZAorCisuKjpbIAldK2ZpbGUgZm9ybWF0IC4qCisKK0Rpc2Fzc2VtYmx5 IG9mIHNlY3Rpb24gLnRleHQ6CisKKy4qIDxfc3RhcnQ+OgorLipqYWwuKjxi YXI+CisuKmphbC4qPGJhcj4KKy4qamFsLio8YmFyPgorLipqYWwuKjxiYXI+ CisuKmphbC4qPGJhcj4KKy4qamFsLio8YmFyPgorLio6WyAJXSswZTBjLioK KyNwYXNzCmRpZmYgLS1naXQgYS9sZC90ZXN0c3VpdGUvbGQtcmlzY3YtZWxm L3VsZWIxMjgucyBiL2xkL3Rlc3RzdWl0ZS9sZC1yaXNjdi1lbGYvdWxlYjEy OC5zCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAuLmY3 ZDIzYmUxNjMKLS0tIC9kZXYvbnVsbAorKysgYi9sZC90ZXN0c3VpdGUvbGQt cmlzY3YtZWxmL3VsZWIxMjgucwpAQCAtMCwwICsxLDE4IEBACisudGV4dAor Lmdsb2JsIGJhcgorLmdsb2JsIF9zdGFydAorLm9wdGlvbiBydmMKKy5hbGln biAyCitfc3RhcnQ6CisuTDA6CisgICAgICAgIC5yZXB0IDYKKyAgICAgICAg Y2FsbCBiYXIKKyAgICAgICAgLmVuZHIKKy5hbGlnbiAyCisuTDE6CisgICAg ICAgIC51bGViMTI4IC5MMSAtIC5MMAorICAgICAgICAudWxlYjEyOCAuTDIg LSAuTDAKKy5MMjoKKy5hbGlnbiAyCitiYXI6CisgICAgICAgIG5vcAotLSAK Mi4xNy4wCgo= --0000000000007e40ba059b74ab58--