From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 96150 invoked by alias); 27 Nov 2019 08:12:03 -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 96137 invoked by uid 89); 27 Nov 2019 08:12:03 -0000 Authentication-Results: sourceware.org; auth=none X-Spam-SWARE-Status: No, score=-1.9 required=5.0 tests=BAYES_00,FREEMAIL_FROM,RCVD_IN_DNSWL_NONE,SPF_PASS autolearn=ham version=3.3.1 spammy=bfd-in2.h, relocc, UD:bfd-in2.h, reloc.c X-HELO: mail-oi1-f177.google.com Received: from mail-oi1-f177.google.com (HELO mail-oi1-f177.google.com) (209.85.167.177) by sourceware.org (qpsmtpd/0.93/v0.84-503-g423c35a) with ESMTP; Wed, 27 Nov 2019 08:12:02 +0000 Received: by mail-oi1-f177.google.com with SMTP id l20so19288123oie.10 for ; Wed, 27 Nov 2019 00:12:02 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=mime-version:from:date:message-id:subject:to; bh=pd6EjKIJw4ad6wRQQJSVoxvr5UqbzIs6sQopZ1fyxIo=; b=T5C+Se6zyH62peBibMXB72z4+2Ulo6HQcfXjD+WqrJI3AKR4BQRAVLob9fP6sS960x eDqKRNrbg8mSfAUngPdRsMZuR014wIaGdktGDDZLHc4xF2zZ36+BcMCHdyE/RjuHg0Hy gsnJYbiDU9bR3VwOQEDdFY5r/oULBh4xX/uB52FUVFvjohktypoCgYNRJidhIehJcK+4 Cq32kwLKssXzu4qP/nVcydIJmulZEIFxM7326CpUVk7aLDxQJJ6mT/n4KSoVuoiNaiET tG8tLwbDGJewDrr+igZvpQ5+Woet9Qp5H981lY3k4NYsvsHXSL2ElpIIyaE9lbuYEJa6 g9dg== MIME-Version: 1.0 From: Kuan-Lin Chen Date: Wed, 27 Nov 2019 08:12:00 -0000 Message-ID: Subject: [PATCH] [RISCV] Support subtraction of .uleb128. To: "binutils@sourceware.org Development" Content-Type: multipart/mixed; boundary="00000000000019956405984f8d4d" X-IsSubscribed: yes X-SW-Source: 2019-11/txt/msg00393.txt.bz2 --00000000000019956405984f8d4d Content-Type: text/plain; charset="UTF-8" Content-length: 1226 The data length of uleb128 is variable. So linker must recalculate the value of the subtraction. The patch leave relocations in object files so that linker can relocate again after relaxation. bfd/ChangeLog: * bfd-in2.h: Regenerated. * elfnn-riscv.c (write_uleb128): New function. (perform_relocation): Perform R_RISCV_SUB_ULEB128 and R_RISCV_SET_ULEB128 relocation. (riscv_elf_relocate_section): Likewise. * elfxx-riscv.c (howto_table): Add R_RISCV_SUB_ULEB128 and R_RISCV_SET_ULEB128. (riscv_elf_ignore_reloc): New function. * libbfd.h: Regenerated. * reloc.c (BFD_RELOC_RISCV_SET_ULEB128, BFD_RELOC_RISCV_SUB_ULEB128): New relocations to support .uleb128. gas/ChangeLog: * config/tc-riscv.c (md_apply_fix): Add BFD_RELOC_RISCV_SET_ULEB128 and BFD_RELOC_RISCV_SUB_ULEB128. (riscv_insert_uleb128_fixes): New function. (riscv_md_end): Scan rs_leb128 fragments. (riscv_pseudo_table): Remove uleb128. include/ChangeLog: * elf/riscv.h ((R_RISCV_SET_ULEB128, (R_RISCV_SUB_ULEB128): Define. ld/ChangeLog: * testsuite/ld-riscv-elf/ld-riscv-elf.exp: Add uleb128. * testsuite/ld-riscv-elf/uleb128.d: New test. * testsuite/ld-riscv-elf/uleb128.s: New file. OK to commit? -- Best regards, Kuan-Lin Chen. kuanlinchentw@gmail.com --00000000000019956405984f8d4d 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_k3h0bdgm0 Content-length: 21456 RnJvbSA5ZjdmMGFhYTQ4NGRlZTJiMzJjNTUwZjhjY2E0ZGUxODk1OWYwMWUx 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 LXJpc2N2LmMgICAgICAgICAgICAgICAgICAgICAgfCA0NyArKysrKysrKysr KystCiBpbmNsdWRlL0NoYW5nZUxvZyAgICAgICAgICAgICAgICAgICAgICAg ICAgfCAgNCArKwogaW5jbHVkZS9lbGYvcmlzY3YuaCAgICAgICAgICAgICAg ICAgICAgICAgIHwgIDIgKwogbGQvQ2hhbmdlTG9nICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIHwgIDYgKysKIGxkL3Rlc3RzdWl0ZS9sZC1yaXNj di1lbGYvbGQtcmlzY3YtZWxmLmV4cCB8ICAxICsKIGxkL3Rlc3RzdWl0ZS9s ZC1yaXNjdi1lbGYvdWxlYjEyOC5kICAgICAgICB8IDE4ICsrKysrCiBsZC90 ZXN0c3VpdGUvbGQtcmlzY3YtZWxmL3VsZWIxMjgucyAgICAgICAgfCAxOCAr KysrKwogMTQgZmlsZXMgY2hhbmdlZCwgMjU4IGluc2VydGlvbnMoKyksIDEg ZGVsZXRpb24oLSkKIGNyZWF0ZSBtb2RlIDEwMDY0NCBsZC90ZXN0c3VpdGUv bGQtcmlzY3YtZWxmL3VsZWIxMjguZAogY3JlYXRlIG1vZGUgMTAwNjQ0IGxk L3Rlc3RzdWl0ZS9sZC1yaXNjdi1lbGYvdWxlYjEyOC5zCgpkaWZmIC0tZ2l0 IGEvYmZkL0NoYW5nZUxvZyBiL2JmZC9DaGFuZ2VMb2cKaW5kZXggNGEwODUy ZTU3Ny4uZDExZmZkZTc0YyAxMDA2NDQKLS0tIGEvYmZkL0NoYW5nZUxvZwor KysgYi9iZmQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTcgQEAKKzIwMTktMTEt MjcgIEt1YW4tTGluIENoZW4gIDxrdWFubGluY2hlbnR3QGdtYWlsLmNvbT4K KworCSogYmZkLWluMi5oOiBSZWdlbmVyYXRlZC4KKwkqIGVsZm5uLXJpc2N2 LmMgKHdyaXRlX3VsZWIxMjgpOiBOZXcgZnVuY3Rpb24uCisJKHBlcmZvcm1f cmVsb2NhdGlvbik6IFBlcmZvcm0gUl9SSVNDVl9TVUJfVUxFQjEyOCBhbmQK KwkgUl9SSVNDVl9TRVRfVUxFQjEyOCByZWxvY2F0aW9uLgorCShyaXNjdl9l bGZfcmVsb2NhdGVfc2VjdGlvbik6IExpa2V3aXNlLgorCSogZWxmeHgtcmlz Y3YuYyAoaG93dG9fdGFibGUpOiBBZGQgUl9SSVNDVl9TVUJfVUxFQjEyOCBh bmQKKwlSX1JJU0NWX1NFVF9VTEVCMTI4LgorCShyaXNjdl9lbGZfaWdub3Jl X3JlbG9jKTogTmV3IGZ1bmN0aW9uLgorCSogbGliYmZkLmg6IFJlZ2VuZXJh dGVkLgorCSogcmVsb2MuYyAoQkZEX1JFTE9DX1JJU0NWX1NFVF9VTEVCMTI4 LCBCRkRfUkVMT0NfUklTQ1ZfU1VCX1VMRUIxMjgpOgorCU5ldyByZWxvY2F0 aW9ucyB0byBzdXBwb3J0IC51bGViMTI4LgorCiAyMDE5LTExLTI3ICBBbGFu IE1vZHJhICA8YW1vZHJhQGdtYWlsLmNvbT4KIAogCVBSIDIzNjUyCmRpZmYg LS1naXQgYS9iZmQvYmZkLWluMi5oIGIvYmZkL2JmZC1pbjIuaAppbmRleCA0 NDkwMmZjOGQwLi5hMzI3MDhlYmMyIDEwMDY0NAotLS0gYS9iZmQvYmZkLWlu Mi5oCisrKyBiL2JmZC9iZmQtaW4yLmgKQEAgLTQzODAsNiArNDM4MCw4IEBA IG51bWJlciBmb3IgdGhlIFNCSUMsIFNCSVMsIFNCSSBhbmQgQ0JJIGluc3Ry dWN0aW9ucyAgKi8KICAgQkZEX1JFTE9DX1JJU0NWX1NFVDE2LAogICBCRkRf UkVMT0NfUklTQ1ZfU0VUMzIsCiAgIEJGRF9SRUxPQ19SSVNDVl8zMl9QQ1JF TCwKKyAgQkZEX1JFTE9DX1JJU0NWX1NFVF9VTEVCMTI4LAorICBCRkRfUkVM T0NfUklTQ1ZfU1VCX1VMRUIxMjgsCiAKIC8qIFJlbmVzYXMgUkw3OCBSZWxv Y2F0aW9ucy4gICovCiAgIEJGRF9SRUxPQ19STDc4X05FRzgsCmRpZmYgLS1n aXQgYS9iZmQvZWxmbm4tcmlzY3YuYyBiL2JmZC9lbGZubi1yaXNjdi5jCmlu ZGV4IDk5N2Y3ODY2MDIuLjA3NWVmNmI4MmQgMTAwNjQ0Ci0tLSBhL2JmZC9l bGZubi1yaXNjdi5jCisrKyBiL2JmZC9lbGZubi1yaXNjdi5jCkBAIC0xNDE5 LDYgKzE0MTksMjYgQEAgcmlzY3ZfZ2xvYmFsX3BvaW50ZXJfdmFsdWUgKHN0 cnVjdCBiZmRfbGlua19pbmZvICppbmZvKQogICByZXR1cm4gaC0+dS5kZWYu dmFsdWUgKyBzZWNfYWRkciAoaC0+dS5kZWYuc2VjdGlvbik7CiB9CiAKKy8q IFdyaXRlIFZBTCBpbiB1bGViMTI4IGZvcm1hdCB0byBQLCByZXR1cm5pbmcg YSBwb2ludGVyIHRvIHRoZQorICAgZm9sbG93aW5nIGJ5dGUuCisgICBUaGlz IGNvZGUgaXMgY29waWVkIGZyb20gZWxmLWF0dHIuYy4gICovCisKK3N0YXRp YyBiZmRfYnl0ZSAqCit3cml0ZV91bGViMTI4IChiZmRfYnl0ZSAqcCwgdW5z aWduZWQgaW50IHZhbCkKK3sKKyAgYmZkX2J5dGUgYzsKKyAgZG8KKyAgICB7 CisgICAgICBjID0gdmFsICYgMHg3ZjsKKyAgICAgIHZhbCA+Pj0gNzsKKyAg ICAgIGlmICh2YWwpCisJYyB8PSAweDgwOworICAgICAgKihwKyspID0gYzsK KyAgICB9CisgIHdoaWxlICh2YWwpOworICByZXR1cm4gcDsKK30KKwogLyog RW1wbGFjZSBhIHN0YXRpYyByZWxvY2F0aW9uLiAgKi8KIAogc3RhdGljIGJm ZF9yZWxvY19zdGF0dXNfdHlwZQpAQCAtMTUxMiw2ICsxNTMyLDI1IEBAIHBl cmZvcm1fcmVsb2NhdGlvbiAoY29uc3QgcmVsb2NfaG93dG9fdHlwZSAqaG93 dG8sCiAJdmFsdWUgPSBFTkNPREVfUlZDX0xVSV9JTU0gKFJJU0NWX0NPTlNU X0hJR0hfUEFSVCAodmFsdWUpKTsKICAgICAgIGJyZWFrOwogCisgICAgY2Fz ZSBSX1JJU0NWX1NFVF9VTEVCMTI4OgorICAgIGNhc2UgUl9SSVNDVl9TVUJf VUxFQjEyODoKKyAgICAgIHsKKwl1bnNpZ25lZCBpbnQgbGVuID0gMDsKKwli ZmRfYnl0ZSAqZW5kcCwgKnA7CisKKwlfYmZkX3JlYWRfdW5zaWduZWRfbGVi MTI4IChpbnB1dF9iZmQsIGNvbnRlbnRzICsgcmVsLT5yX29mZnNldCwgJmxl bik7CisKKwkvKiBDbGVhbiB0aGUgY29udGVudHMgdmFsdWUgdG8gemVyby4g IERvIG5vdCByZWR1Y2UgdGhlIGxlbmd0aC4gICovCisJcCA9IGNvbnRlbnRz ICsgcmVsLT5yX29mZnNldDsKKwllbmRwID0gcCArIGxlbiAtMTsKKwltZW1z ZXQgKHAsIDB4ODAsIGxlbik7CisJKihlbmRwKSA9IDA7CisJcCA9IHdyaXRl X3VsZWIxMjggKHAsIHZhbHVlKSAtIDE7CisJaWYgKHAgPCBlbmRwKQorCSAg KnAgfD0gMHg4MDsKKwlyZXR1cm4gYmZkX3JlbG9jX29rOworICAgICAgfQor CiAgICAgY2FzZSBSX1JJU0NWXzMyOgogICAgIGNhc2UgUl9SSVNDVl82NDoK ICAgICBjYXNlIFJfUklTQ1ZfQUREODoKQEAgLTE3NjcsNiArMTgwNiw4IEBA IHJpc2N2X2VsZl9yZWxvY2F0ZV9zZWN0aW9uIChiZmQgKm91dHB1dF9iZmQs CiAgIHN0cnVjdCBlbGZfbGlua19oYXNoX2VudHJ5ICoqc3ltX2hhc2hlcyA9 IGVsZl9zeW1faGFzaGVzIChpbnB1dF9iZmQpOwogICBiZmRfdm1hICpsb2Nh bF9nb3Rfb2Zmc2V0cyA9IGVsZl9sb2NhbF9nb3Rfb2Zmc2V0cyAoaW5wdXRf YmZkKTsKICAgYmZkX2Jvb2xlYW4gYWJzb2x1dGU7CisgIGJmZF92bWEgdWxl YjEyOF92bWE7CisgIEVsZl9JbnRlcm5hbF9SZWxhICp1bGViMTI4X3JlbCA9 IE5VTEw7CiAKICAgaWYgKCFyaXNjdl9pbml0X3BjcmVsX3JlbG9jcyAoJnBj cmVsX3JlbG9jcykpCiAgICAgcmV0dXJuIEZBTFNFOwpAQCAtMTg3MSw2ICsx OTEyLDQ3IEBAIHJpc2N2X2VsZl9yZWxvY2F0ZV9zZWN0aW9uIChiZmQgKm91 dHB1dF9iZmQsCiAJY2FzZSBSX1JJU0NWX0RFTEVURToKIAkgIC8qIFRoZXNl IHJlcXVpcmUgbm8gc3BlY2lhbCBoYW5kbGluZyBiZXlvbmQgcGVyZm9ybV9y ZWxvY2F0aW9uLiAgKi8KIAkgIGJyZWFrOworCWNhc2UgUl9SSVNDVl9TRVRf VUxFQjEyODoKKwkgIGlmICghdWxlYjEyOF9yZWwpCisJICAgIHsKKwkgICAg ICAvKiBTYXZlIHRoZSBtaW51ZW5kIHRvIHVzZSBsYXRlci4gICovCisJICAg ICAgdWxlYjEyOF92bWEgPSByZWxvY2F0aW9uOworCSAgICAgIHVsZWIxMjhf cmVsID0gcmVsOworCSAgICAgIGNvbnRpbnVlOworCSAgICB9CisJICBlbHNl CisJICAgIHsKKwkgICAgICBpZiAodWxlYjEyOF9yZWwtPnJfb2Zmc2V0ICE9 IHJlbC0+cl9vZmZzZXQpCisJCXsKKwkJICAoKl9iZmRfZXJyb3JfaGFuZGxl cikgKF8oIiVwQjogcmVsb2NhdGlvbiAlcyBtaXNtYXRjaGVkLiAiKSwKKwkJ CQkJIGlucHV0X2JmZCwgaG93dG8tPm5hbWUpOworCQkgIGJmZF9zZXRfZXJy b3IgKGJmZF9lcnJvcl9iYWRfdmFsdWUpOworCQl9CisJICAgICAgcmVsb2Nh dGlvbiA9IHJlbG9jYXRpb24gLSB1bGViMTI4X3ZtYTsKKwkgICAgICB1bGVi MTI4X3JlbCA9IE5VTEw7CisJICAgICAgYnJlYWs7CisJICAgIH0KKworCWNh c2UgUl9SSVNDVl9TVUJfVUxFQjEyODoKKwkgIGlmICh1bGViMTI4X3JlbCkK KwkgICAgeworCSAgICAgIGlmICh1bGViMTI4X3JlbC0+cl9vZmZzZXQgIT0g cmVsLT5yX29mZnNldCkKKwkJeworCQkgICgqX2JmZF9lcnJvcl9oYW5kbGVy KSAoXygiJXBCOiByZWxvY2F0aW9uICVzIG1pc21hdGNoZWQuICIpLAorCQkJ CQkgaW5wdXRfYmZkLCBob3d0by0+bmFtZSk7CisJCSAgYmZkX3NldF9lcnJv ciAoYmZkX2Vycm9yX2JhZF92YWx1ZSk7CisJCX0KKwkgICAgICByZWxvY2F0 aW9uID0gdWxlYjEyOF92bWEgLSByZWxvY2F0aW9uOworCSAgICAgIHVsZWIx MjhfcmVsID0gTlVMTDsKKwkgICAgICBicmVhazsKKwkgICAgfQorCSAgZWxz ZQorCSAgICB7CisJICAgICAgLyogU2F2ZSB0aGUgc3VidHJhaGVuZCB0byB1 c2UgbGF0ZXIuICAqLworCSAgICAgIHVsZWIxMjhfdm1hID0gcmVsb2NhdGlv bjsKKwkgICAgICB1bGViMTI4X3JlbCA9IHJlbDsKKwkgICAgICBjb250aW51 ZTsKKwkgICAgfQogCiAJY2FzZSBSX1JJU0NWX0dPVF9ISTIwOgogCSAgaWYg KGggIT0gTlVMTCkKZGlmZiAtLWdpdCBhL2JmZC9lbGZ4eC1yaXNjdi5jIGIv YmZkL2VsZnh4LXJpc2N2LmMKaW5kZXggMjQ1NzE3ZjcwZi4uYzEzNmJhMjIw NyAxMDA2NDQKLS0tIGEvYmZkL2VsZnh4LXJpc2N2LmMKKysrIGIvYmZkL2Vs Znh4LXJpc2N2LmMKQEAgLTM4LDYgKzM4LDggQEAKICAgIHJlbG9jYXRpb25z IGZvciB0aGUgZGVidWcgaW5mby4gICovCiBzdGF0aWMgYmZkX3JlbG9jX3N0 YXR1c190eXBlIHJpc2N2X2VsZl9hZGRfc3ViX3JlbG9jCiAgIChiZmQgKiwg YXJlbGVudCAqLCBhc3ltYm9sICosIHZvaWQgKiwgYXNlY3Rpb24gKiwgYmZk ICosIGNoYXIgKiopOworc3RhdGljIGJmZF9yZWxvY19zdGF0dXNfdHlwZSBy aXNjdl9lbGZfaWdub3JlX3JlbG9jCisgIChiZmQgKiwgYXJlbGVudCAqLCBh c3ltYm9sICosIHZvaWQgKiwgYXNlY3Rpb24gKiwgYmZkICosIGNoYXIgKiop OwogCiAvKiBUaGUgcmVsb2NhdGlvbiB0YWJsZSB1c2VkIGZvciBTSFRfUkVM QSBzZWN0aW9ucy4gICovCiAKQEAgLTg1NSw4ICs4NTcsNDEgQEAgc3RhdGlj IHJlbG9jX2hvd3RvX3R5cGUgaG93dG9fdGFibGVbXSA9CiAJIDAsCQkJCS8q IHNyY19tYXNrICovCiAJIE1JTlVTX09ORSwJCQkvKiBkc3RfbWFzayAqLwog CSBGQUxTRSksCQkJLyogcGNyZWxfb2Zmc2V0ICovCisKKyAgLyogVGhlIGxl bmd0aCBvZiB1bnNpZ25lZC1sZWIxMjggaXMgdmFyaWFudCwganVzdCBhc3N1 bWUgdGhlCisgICAgIHNpemUgaXMgb25lIGJ5dGUgaGVyZS4gICovCisgIEhP V1RPIChSX1JJU0NWX1NFVF9VTEVCMTI4LAkJLyogdHlwZSAqLworCSAwLAkJ CQkvKiByaWdodHNoaWZ0ICovCisJIDAsCQkJCS8qIHNpemUgKi8KKwkgMCwJ CQkJLyogYml0c2l6ZSAqLworCSBGQUxTRSwJCQkJLyogcGNfcmVsYXRpdmUg Ki8KKwkgMCwJCQkJLyogYml0cG9zICovCisJIGNvbXBsYWluX292ZXJmbG93 X2RvbnQsCS8qIGNvbXBsYWluX29uX292ZXJmbG93ICovCisJIHJpc2N2X2Vs Zl9pZ25vcmVfcmVsb2MsCS8qIHNwZWNpYWxfZnVuY3Rpb24gKi8KKwkgIlJf UklTQ1ZfU0VUX1VMRUIxMjgiLAkJLyogbmFtZSAqLworCSBGQUxTRSwJCQkJ LyogcGFydGlhbF9pbnBsYWNlICovCisJIDAsCQkJCS8qIHNyY19tYXNrICov CisJIDAsCQkJCS8qIGRzdF9tYXNrICovCisJIEZBTFNFKSwJCQkvKiBwY3Jl bF9vZmZzZXQgKi8KKworICAvKiBUaGUgbGVuZ3RoIG9mIHVuc2lnbmVkLWxl YjEyOCBpcyB2YXJpYW50LCBqdXN0IGFzc3VtZSB0aGUKKyAgICAgc2l6ZSBp cyBvbmUgYnl0ZSBoZXJlLiAgKi8KKyAgSE9XVE8gKFJfUklTQ1ZfU1VCX1VM RUIxMjgsCQkvKiB0eXBlICovCisJIDAsCQkJCS8qIHJpZ2h0c2hpZnQgKi8K KwkgMCwJCQkJLyogc2l6ZSAqLworCSAwLAkJCQkvKiBiaXRzaXplICovCisJ IEZBTFNFLAkJCQkvKiBwY19yZWxhdGl2ZSAqLworCSAwLAkJCQkvKiBiaXRw b3MgKi8KKwkgY29tcGxhaW5fb3ZlcmZsb3dfZG9udCwJLyogY29tcGxhaW5f b25fb3ZlcmZsb3cgKi8KKwkgcmlzY3ZfZWxmX2lnbm9yZV9yZWxvYywJLyog c3BlY2lhbF9mdW5jdGlvbiAqLworCSAiUl9SSVNDVl9TVUJfVUxFQjEyOCIs CQkvKiBuYW1lICovCisJIEZBTFNFLAkJCQkvKiBwYXJ0aWFsX2lucGxhY2Ug Ki8KKwkgMCwJCQkJLyogc3JjX21hc2sgKi8KKwkgMCwJCQkJLyogZHN0X21h c2sgKi8KKwkgRkFMU0UpLAkJCS8qIHBjcmVsX29mZnNldCAqLwogfTsKIAor CiAvKiBBIG1hcHBpbmcgZnJvbSBCRkQgcmVsb2MgdHlwZXMgdG8gUklTQy1W IEVMRiByZWxvYyB0eXBlcy4gICovCiAKIHN0cnVjdCBlbGZfcmVsb2NfbWFw CkBAIC05MTcsNiArOTUyLDggQEAgc3RhdGljIGNvbnN0IHN0cnVjdCBlbGZf cmVsb2NfbWFwIHJpc2N2X3JlbG9jX21hcFtdID0KICAgeyBCRkRfUkVMT0Nf UklTQ1ZfU0VUMTYsIFJfUklTQ1ZfU0VUMTYgfSwKICAgeyBCRkRfUkVMT0Nf UklTQ1ZfU0VUMzIsIFJfUklTQ1ZfU0VUMzIgfSwKICAgeyBCRkRfUkVMT0Nf UklTQ1ZfMzJfUENSRUwsIFJfUklTQ1ZfMzJfUENSRUwgfSwKKyAgeyBCRkRf UkVMT0NfUklTQ1ZfU0VUX1VMRUIxMjgsIFJfUklTQ1ZfU0VUX1VMRUIxMjgg fSwKKyAgeyBCRkRfUkVMT0NfUklTQ1ZfU1VCX1VMRUIxMjgsIFJfUklTQ1Zf U1VCX1VMRUIxMjggfSwKIH07CiAKIC8qIEdpdmVuIGEgQkZEIHJlbG9jIHR5 cGUsIHJldHVybiBhIGhvd3RvIHN0cnVjdHVyZS4gICovCkBAIC0xMDExLDYg KzEwNDgsMjAgQEAgcmlzY3ZfZWxmX2FkZF9zdWJfcmVsb2MgKGJmZCAqYWJm ZCwKICAgcmV0dXJuIGJmZF9yZWxvY19vazsKIH0KIAorLyogU3BlY2lhbCBo YW5kbGVyIGZvciByZWxvY2F0aW9ucyB3aGljaCBkb24ndCBoYXZlIHRvIGJl IHJlbG9jYXRlZC4KKyAgIFRoaXMgZnVuY3Rpb24ganVzdCBzaW1wbHkgcmV0 dXJuIGJmZF9yZWxvY19vay4gICovCitzdGF0aWMgYmZkX3JlbG9jX3N0YXR1 c190eXBlCityaXNjdl9lbGZfaWdub3JlX3JlbG9jIChiZmQgKmFiZmQgQVRU UklCVVRFX1VOVVNFRCwgYXJlbGVudCAqcmVsb2NfZW50cnksCisJCQlhc3lt Ym9sICpzeW1ib2wgQVRUUklCVVRFX1VOVVNFRCwKKwkJCXZvaWQgKmRhdGEg QVRUUklCVVRFX1VOVVNFRCwgYXNlY3Rpb24gKmlucHV0X3NlY3Rpb24sCisJ CQliZmQgKm91dHB1dF9iZmQsIGNoYXIgKiplcnJvcl9tZXNzYWdlIEFUVFJJ QlVURV9VTlVTRUQpCit7CisgIGlmIChvdXRwdXRfYmZkICE9IE5VTEwpCisg ICAgcmVsb2NfZW50cnktPmFkZHJlc3MgKz0gaW5wdXRfc2VjdGlvbi0+b3V0 cHV0X29mZnNldDsKKworICByZXR1cm4gYmZkX3JlbG9jX29rOworfQorCiAv KiBQYXJzaW5nIHN1YnNldCB2ZXJzaW9uLgogCiAgICBSZXR1cm4gVmFsdWU6 CmRpZmYgLS1naXQgYS9iZmQvbGliYmZkLmggYi9iZmQvbGliYmZkLmgKaW5k ZXggNzdiNzMyZWU0Yi4uN2FhOGY5MTUwNCAxMDA2NDQKLS0tIGEvYmZkL2xp YmJmZC5oCisrKyBiL2JmZC9saWJiZmQuaApAQCAtMjMyNyw2ICsyMzI3LDgg QEAgc3RhdGljIGNvbnN0IGNoYXIgKmNvbnN0IGJmZF9yZWxvY19jb2RlX3Jl YWxfbmFtZXNbXSA9IHsgIkBAdW5pbml0aWFsaXplZEBAIiwKICAgIkJGRF9S RUxPQ19SSVNDVl9TRVQxNiIsCiAgICJCRkRfUkVMT0NfUklTQ1ZfU0VUMzIi LAogICAiQkZEX1JFTE9DX1JJU0NWXzMyX1BDUkVMIiwKKyAgIkJGRF9SRUxP Q19SSVNDVl9TRVRfVUxFQjEyOCIsCisgICJCRkRfUkVMT0NfUklTQ1ZfU1VC X1VMRUIxMjgiLAogICAiQkZEX1JFTE9DX1JMNzhfTkVHOCIsCiAgICJCRkRf UkVMT0NfUkw3OF9ORUcxNiIsCiAgICJCRkRfUkVMT0NfUkw3OF9ORUcyNCIs CmRpZmYgLS1naXQgYS9iZmQvcmVsb2MuYyBiL2JmZC9yZWxvYy5jCmluZGV4 IGIwMGI3OWYzMTkuLjliOGI3NWFkMjEgMTAwNjQ0Ci0tLSBhL2JmZC9yZWxv Yy5jCisrKyBiL2JmZC9yZWxvYy5jCkBAIC01MjEyLDYgKzUyMTIsMTAgQEAg RU5VTVgKICAgQkZEX1JFTE9DX1JJU0NWX1NFVDMyCiBFTlVNWAogICBCRkRf UkVMT0NfUklTQ1ZfMzJfUENSRUwKK0VOVU1YCisgIEJGRF9SRUxPQ19SSVND Vl9TRVRfVUxFQjEyOAorRU5VTVgKKyAgQkZEX1JFTE9DX1JJU0NWX1NVQl9V TEVCMTI4CiBFTlVNRE9DCiAgIFJJU0MtViByZWxvY2F0aW9ucy4KIApkaWZm IC0tZ2l0IGEvZ2FzL0NoYW5nZUxvZyBiL2dhcy9DaGFuZ2VMb2cKaW5kZXgg MDk5OTE1MjRkYS4uZTUzYWMwODk1YiAxMDA2NDQKLS0tIGEvZ2FzL0NoYW5n ZUxvZworKysgYi9nYXMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTEgQEAKKzIw MTktMTEtMjcgIEt1YW4tTGluIENoZW4gIDxrdWFubGluY2hlbnR3QGdtYWls LmNvbT4KKworCSogY29uZmlnL3RjLXJpc2N2LmMgKG1kX2FwcGx5X2ZpeCk6 IEFkZCBCRkRfUkVMT0NfUklTQ1ZfU0VUX1VMRUIxMjggYW5kCisJQkZEX1JF TE9DX1JJU0NWX1NVQl9VTEVCMTI4LgorCShyaXNjdl9pbnNlcnRfdWxlYjEy OF9maXhlcyk6IE5ldyBmdW5jdGlvbi4KKwkocmlzY3ZfbWRfZW5kKTogU2Nh biByc19sZWIxMjggZnJhZ21lbnRzLgorCShyaXNjdl9wc2V1ZG9fdGFibGUp OiBSZW1vdmUgdWxlYjEyOC4KKwogMjAxOS0xMS0yNSAgQW5kcmV3IFBpbnNr aSAgPGFwaW5za2lAbWFydmVsbC5jb20+CiAKIAkqIGNvbmZpZy90Yy1hYXJj aDY0LmMgKG1kX2JlZ2luKTogVXNlIGNvcnJlY3QKZGlmZiAtLWdpdCBhL2dh cy9jb25maWcvdGMtcmlzY3YuYyBiL2dhcy9jb25maWcvdGMtcmlzY3YuYwpp bmRleCBlNTA1MDUxMzhlLi5jMzVjNTkxYzBhIDEwMDY0NAotLS0gYS9nYXMv Y29uZmlnL3RjLXJpc2N2LmMKKysrIGIvZ2FzL2NvbmZpZy90Yy1yaXNjdi5j CkBAIC0yMzkyLDYgKzIzOTIsOSBAQCBtZF9hcHBseV9maXggKGZpeFMgKmZp eFAsIHZhbHVlVCAqdmFsUCwgc2VnVCBzZWcgQVRUUklCVVRFX1VOVVNFRCkK ICAgICBjYXNlIEJGRF9SRUxPQ19SSVNDVl9TVUIzMjoKICAgICBjYXNlIEJG RF9SRUxPQ19SSVNDVl9TVUI2NDoKICAgICBjYXNlIEJGRF9SRUxPQ19SSVND Vl9SRUxBWDoKKyAgICAvKiBjdnRfZnJhZ190b19maWxsICgpIGhhcyBjYWxs ZWQgb3V0cHV0X2xlYjEyOCAoKS4gICovCisgICAgY2FzZSBCRkRfUkVMT0Nf UklTQ1ZfU0VUX1VMRUIxMjg6CisgICAgY2FzZSBCRkRfUkVMT0NfUklTQ1Zf U1VCX1VMRUIxMjg6CiAgICAgICBicmVhazsKIAogICAgIGNhc2UgQkZEX1JF TE9DX1JJU0NWX1RQUkVMX0hJMjA6CkBAIC0zMTI3LDExICszMTMwLDU0IEBA IHJpc2N2X3NldF9wdWJsaWNfYXR0cmlidXRlcyAodm9pZCkKICAgICByaXNj dl93cml0ZV9vdXRfYXJjaF9hdHRyICgpOwogfQogCisvKiBTY2FuIHVsZWIx Mjggc3VidHJhY3Rpb24gZXhwcmVzc2lvbnMgYW5kIGluc2VydCBmaXh1cHMg Zm9yIHRoZW0uCisgICBlLmcuLCAudWxlYjEyOCAuTDEgLSAuTDAKKyAgIEJl Y3Vhc2UgcmVsYXhhdGlvbiBtYXkgY2hhbmdlIHRoZSB2YWx1ZSBvZiB0aGUg c3VidHJhY3Rpb24sIHdlCisgICBtdXN0IHJlc29sdmUgdGhlbSBpbiBsaW5r LXRpbWUuICAqLworCitzdGF0aWMgdm9pZAorcmlzY3ZfaW5zZXJ0X3VsZWIx MjhfZml4ZXMgKGJmZCAqYWJmZCBBVFRSSUJVVEVfVU5VU0VELAorCQkJICAg IGFzZWN0aW9uICpzZWMsIHZvaWQgKnh4eCBBVFRSSUJVVEVfVU5VU0VEKQor eworICBzZWdtZW50X2luZm9fdHlwZSAqc2VnaW5mbyA9IHNlZ19pbmZvIChz ZWMpOworICBzdHJ1Y3QgZnJhZyAqZnJhZ1A7CisKKyAgc3Vic2VnX3NldCAo c2VjLCAwKTsKKworICBmb3IgKGZyYWdQID0gc2VnaW5mby0+ZnJjaGFpblAt PmZyY2hfcm9vdDsKKyAgICAgICBmcmFnUDsgZnJhZ1AgPSBmcmFnUC0+ZnJf bmV4dCkKKyAgICB7CisgICAgICBleHByZXNzaW9uUyAqZXhwLCAqZXhwX2R1 cDsKKworICAgICAgaWYgKGZyYWdQLT5mcl90eXBlICE9IHJzX2xlYjEyOCAg fHwgZnJhZ1AtPmZyX3N5bWJvbCA9PSBOVUxMKQorCWNvbnRpbnVlOworCisg ICAgICBleHAgPSBzeW1ib2xfZ2V0X3ZhbHVlX2V4cHJlc3Npb24gKGZyYWdQ LT5mcl9zeW1ib2wpOworCisgICAgICBpZiAoZXhwLT5YX29wICE9IE9fc3Vi dHJhY3QpCisJY29udGludWU7CisKKyAgICAgIC8qIE9ubHkgdW5zaWduZWQg bGViMTI4IGNhbiBiZSBoYW5kbGUuICAqLworICAgICAgZ2FzX2Fzc2VydCAo ZnJhZ1AtPmZyX3N1YnR5cGUgPT0gMCk7CisgICAgICBleHBfZHVwID0geG1l bWR1cCAoZXhwLCBzaXplb2YgKCpleHApLCBzaXplb2YgKCpleHApKTsKKyAg ICAgIGV4cF9kdXAtPlhfb3AgPSBPX3N5bWJvbDsKKyAgICAgIGV4cF9kdXAt Plhfb3Bfc3ltYm9sID0gTlVMTDsKKworICAgICAgLyogSW5zZXJ0IHJlbG9j YXRpb25zIHRvIHJlc29sdmUgdGhlIHN1YnRyYWN0aW9uIGluIGxpbmstdGlt ZS4gICovCisgICAgICBmaXhfbmV3X2V4cCAoZnJhZ1AsIGZyYWdQLT5mcl9m aXgsIDAsCisJCSAgIGV4cF9kdXAsIDAsIEJGRF9SRUxPQ19SSVNDVl9TRVRf VUxFQjEyOCk7CisgICAgICBleHBfZHVwLT5YX2FkZF9zeW1ib2wgPSBleHAt Plhfb3Bfc3ltYm9sOworICAgICAgZml4X25ld19leHAgKGZyYWdQLCBmcmFn UC0+ZnJfZml4LCAwLAorCQkgICBleHBfZHVwLCAwLCBCRkRfUkVMT0NfUklT Q1ZfU1VCX1VMRUIxMjgpOworICAgIH0KK30KKwogLyogQ2FsbGVkIGFmdGVy IGFsbCBhc3NlbWJseSBoYXMgYmVlbiBkb25lLiAgKi8KIAogdm9pZAogcmlz Y3ZfbWRfZW5kICh2b2lkKQogeworICBiZmRfbWFwX292ZXJfc2VjdGlvbnMg KHN0ZG91dHB1dCwgcmlzY3ZfaW5zZXJ0X3VsZWIxMjhfZml4ZXMsIE5VTEwp OwogICByaXNjdl9zZXRfcHVibGljX2F0dHJpYnV0ZXMgKCk7CiB9CiAKQEAg LTMyMTUsNyArMzI2MSw2IEBAIHN0YXRpYyBjb25zdCBwc2V1ZG9fdHlwZVMg cmlzY3ZfcHNldWRvX3RhYmxlW10gPQogICB7ImR0cHJlbHdvcmQiLCBzX2R0 cHJlbCwgNH0sCiAgIHsiZHRwcmVsZHdvcmQiLCBzX2R0cHJlbCwgOH0sCiAg IHsiYnNzIiwgc19ic3MsIDB9LAotICB7InVsZWIxMjgiLCBzX3Jpc2N2X2xl YjEyOCwgMH0sCiAgIHsic2xlYjEyOCIsIHNfcmlzY3ZfbGViMTI4LCAxfSwK ICAgeyJpbnNuIiwgc19yaXNjdl9pbnNuLCAwfSwKICAgeyJhdHRyaWJ1dGUi LCBzX3Jpc2N2X2F0dHJpYnV0ZSwgMH0sCmRpZmYgLS1naXQgYS9pbmNsdWRl L0NoYW5nZUxvZyBiL2luY2x1ZGUvQ2hhbmdlTG9nCmluZGV4IDQ3YmI4NmNm NzEuLmMyOTBiMjQ1YzYgMTAwNjQ0Ci0tLSBhL2luY2x1ZGUvQ2hhbmdlTG9n CisrKyBiL2luY2x1ZGUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsNyBAQAorMjAx OS0xMS0yNyAgS3Vhbi1MaW4gQ2hlbiAgPGt1YW5saW5jaGVudHdAZ21haWwu Y29tPgorCisJKiBlbGYvcmlzY3YuaCAoKFJfUklTQ1ZfU0VUX1VMRUIxMjgs IChSX1JJU0NWX1NVQl9VTEVCMTI4KTogRGVmaW5lLgorCiAyMDE5LTExLTI1 ICBBbGFuIE1vZHJhICA8YW1vZHJhQGdtYWlsLmNvbT4KIAogCSogY29mZi90 aS5oIChHRVRfU0NOSERSX1NJWkUsIFBVVF9TQ05IRFJfU0laRSwgR0VUX1ND Tl9TQ05MRU4pLApkaWZmIC0tZ2l0IGEvaW5jbHVkZS9lbGYvcmlzY3YuaCBi L2luY2x1ZGUvZWxmL3Jpc2N2LmgKaW5kZXggMmY5OGFhNGEzZS4uMDMwNjc5 YjM1ZiAxMDA2NDQKLS0tIGEvaW5jbHVkZS9lbGYvcmlzY3YuaAorKysgYi9p bmNsdWRlL2VsZi9yaXNjdi5oCkBAIC04OCw2ICs4OCw4IEBAIFNUQVJUX1JF TE9DX05VTUJFUlMgKGVsZl9yaXNjdl9yZWxvY190eXBlKQogICBSRUxPQ19O VU1CRVIgKFJfUklTQ1ZfU0VUMTYsIDU1KQogICBSRUxPQ19OVU1CRVIgKFJf UklTQ1ZfU0VUMzIsIDU2KQogICBSRUxPQ19OVU1CRVIgKFJfUklTQ1ZfMzJf UENSRUwsIDU3KQorICBSRUxPQ19OVU1CRVIgKFJfUklTQ1ZfU0VUX1VMRUIx MjgsIDU4KQorICBSRUxPQ19OVU1CRVIgKFJfUklTQ1ZfU1VCX1VMRUIxMjgs IDU5KQogRU5EX1JFTE9DX05VTUJFUlMgKFJfUklTQ1ZfbWF4KQogCiAvKiBQ cm9jZXNzb3Igc3BlY2lmaWMgZmxhZ3MgZm9yIHRoZSBFTEYgaGVhZGVyIGVf ZmxhZ3MgZmllbGQuICAqLwpkaWZmIC0tZ2l0IGEvbGQvQ2hhbmdlTG9nIGIv bGQvQ2hhbmdlTG9nCmluZGV4IDk2OWFiNzgwMzUuLjVjMmU0MDYxMDEgMTAw NjQ0Ci0tLSBhL2xkL0NoYW5nZUxvZworKysgYi9sZC9DaGFuZ2VMb2cKQEAg LTEsMyArMSw5IEBACisyMDE5LTExLTI3ICBLdWFuLUxpbiBDaGVuICA8a3Vh bmxpbmNoZW50d0BnbWFpbC5jb20+CisKKwkqIHRlc3RzdWl0ZS9sZC1yaXNj di1lbGYvbGQtcmlzY3YtZWxmLmV4cDogQWRkIHVsZWIxMjguCisJKiB0ZXN0 c3VpdGUvbGQtcmlzY3YtZWxmL3VsZWIxMjguZDogTmV3IHRlc3QuCisJKiB0 ZXN0c3VpdGUvbGQtcmlzY3YtZWxmL3VsZWIxMjguczogTmV3IGZpbGUuCisK IDIwMTktMTEtMjYgIE1hcnRpbiBMaXNrYSAgPG1saXNrYUBzdXNlLmN6Pgog CiAJKiBzY3JpcHR0ZW1wbC9hcmNsaW51eC5zYzogQWRkIC50ZXh0LnNvcnRl ZC4qIHdoaWNoIGlzIHNvcnRlZApkaWZmIC0tZ2l0IGEvbGQvdGVzdHN1aXRl L2xkLXJpc2N2LWVsZi9sZC1yaXNjdi1lbGYuZXhwIGIvbGQvdGVzdHN1aXRl L2xkLXJpc2N2LWVsZi9sZC1yaXNjdi1lbGYuZXhwCmluZGV4IDdhYWJiZGQ2 NDEuLjgwOWU0MGYwOGQgMTAwNjQ0Ci0tLSBhL2xkL3Rlc3RzdWl0ZS9sZC1y aXNjdi1lbGYvbGQtcmlzY3YtZWxmLmV4cAorKysgYi9sZC90ZXN0c3VpdGUv bGQtcmlzY3YtZWxmL2xkLXJpc2N2LWVsZi5leHAKQEAgLTM4LDYgKzM4LDcg QEAgaWYgW2lzdGFyZ2V0ICJyaXNjdiotKi0qIl0gewogICAgIHJ1bl9kdW1w X3Rlc3QgImF0dHItbWVyZ2UtcHJpdi1zcGVjIgogICAgIHJ1bl9kdW1wX3Rl c3QgImF0dHItbWVyZ2UtYXJjaC1mYWlsZWQtMDEiCiAgICAgcnVuX2R1bXBf dGVzdCAiYXR0ci1tZXJnZS1zdGFjay1hbGlnbi1mYWlsZWQiCisgICAgcnVu X2R1bXBfdGVzdCAidWxlYjEyOCIKICAgICBydW5fbGRfbGlua190ZXN0cyB7 CiAJeyAiV2VhayByZWZlcmVuY2UgMzIiICItVCB3ZWFrcmVmLmxkIC1tZWxm MzJscmlzY3YiICIiCiAJICAgICItbWFyY2g9cnYzMmkgLW1hYmk9aWxwMzIi IHt3ZWFrcmVmMzIuc30KZGlmZiAtLWdpdCBhL2xkL3Rlc3RzdWl0ZS9sZC1y aXNjdi1lbGYvdWxlYjEyOC5kIGIvbGQvdGVzdHN1aXRlL2xkLXJpc2N2LWVs Zi91bGViMTI4LmQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw MDAwMC4uYTkyMTQ3OGU5OAotLS0gL2Rldi9udWxsCisrKyBiL2xkL3Rlc3Rz dWl0ZS9sZC1yaXNjdi1lbGYvdWxlYjEyOC5kCkBAIC0wLDAgKzEsMTggQEAK KyNzb3VyY2U6IHVsZWIxMjgucworI2FzOiAtbWFyY2g9cnYzMmljCisjbGQ6 IC1tZWxmMzJscmlzY3YKKyNvYmpkdW1wOiAtZAorCisuKjpbIAldK2ZpbGUg Zm9ybWF0IC4qCisKK0Rpc2Fzc2VtYmx5IG9mIHNlY3Rpb24gLnRleHQ6CisK Ky4qIDxfc3RhcnQ+OgorLipqYWwuKjxiYXI+CisuKmphbC4qPGJhcj4KKy4q amFsLio8YmFyPgorLipqYWwuKjxiYXI+CisuKmphbC4qPGJhcj4KKy4qamFs Lio8YmFyPgorLio6WyAJXSswZTBjLioKKyNwYXNzCmRpZmYgLS1naXQgYS9s ZC90ZXN0c3VpdGUvbGQtcmlzY3YtZWxmL3VsZWIxMjgucyBiL2xkL3Rlc3Rz dWl0ZS9sZC1yaXNjdi1lbGYvdWxlYjEyOC5zCm5ldyBmaWxlIG1vZGUgMTAw NjQ0CmluZGV4IDAwMDAwMDAwMDAuLmY3ZDIzYmUxNjMKLS0tIC9kZXYvbnVs bAorKysgYi9sZC90ZXN0c3VpdGUvbGQtcmlzY3YtZWxmL3VsZWIxMjgucwpA QCAtMCwwICsxLDE4IEBACisudGV4dAorLmdsb2JsIGJhcgorLmdsb2JsIF9z dGFydAorLm9wdGlvbiBydmMKKy5hbGlnbiAyCitfc3RhcnQ6CisuTDA6Cisg ICAgICAgIC5yZXB0IDYKKyAgICAgICAgY2FsbCBiYXIKKyAgICAgICAgLmVu ZHIKKy5hbGlnbiAyCisuTDE6CisgICAgICAgIC51bGViMTI4IC5MMSAtIC5M MAorICAgICAgICAudWxlYjEyOCAuTDIgLSAuTDAKKy5MMjoKKy5hbGlnbiAy CitiYXI6CisgICAgICAgIG5vcAotLSAKMi4xNy4wCgo= --00000000000019956405984f8d4d--