From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail-pf1-x42c.google.com (mail-pf1-x42c.google.com [IPv6:2607:f8b0:4864:20::42c]) by sourceware.org (Postfix) with ESMTPS id 1F13D38582BE for ; Wed, 24 Aug 2022 01:24:42 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.1 sourceware.org 1F13D38582BE Authentication-Results: sourceware.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=gmail.com Received: by mail-pf1-x42c.google.com with SMTP id y127so12108352pfy.5 for ; Tue, 23 Aug 2022 18:24:42 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=in-reply-to:references:cc:to:from:subject:user-agent:mime-version :date:message-id:from:to:cc; bh=FOywbE7n0YrWIAYf4+BSVEqRNRLOA7BS3+hinNBkjEs=; b=bmpfcC8K+5OyRSFm+YN4oNHvhxLQ/brUXCRxp/aPl//YTaLiqWGcCLFsrmLkycEuMT CzTpIF0/dY0Kmi/ASJO5OIV5mbs6Z30H42X7WtyGnfm6kTh2JAGiONEOKkr84TjAMibN pFmBxfsGiPhuxw74ikC51gneSkjn9ssBFfP5MzoYNHMPnggAuJwDHEqwhd6u3vjlnHTI vB6terMPGoasHyN9wqZuUjjopFEir8fdDvSES7SfDZfw+4V+TeuboLucEFkS/J1gOVsp 0ADcZtkFGYtYl6QqCqk06CaYg21sPP9Vfym8QXBoR/KhKLnfNioXAzfjF0bIziYtzT1i g2nA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=in-reply-to:references:cc:to:from:subject:user-agent:mime-version :date:message-id:x-gm-message-state:from:to:cc; bh=FOywbE7n0YrWIAYf4+BSVEqRNRLOA7BS3+hinNBkjEs=; b=qt0CfHw3G4pT3NINS5vl0/O3zqmshOVfd1fYVXJdEqNfhSA4CjM9ZPl4nsW48gXLOr W5XoNb9KUub1pFo24Zi38+3Eqrh3beeTwvj98EPCCBgc5fFzWj5Dcf/iLJEFzf3Vm9gz lmENb9mzBB6fm7MwJEunpXHcy+zBD3WfYEm32/kwj+mPD/twszjKmlqZ1HOUxK9BiDbI /nCEzruCvsDn4T78ycy4xATGsok+JKoahJMGdMxBMQDlo8+PT90SqiSpieahAejosJez U23eBUZssaCQx/aisGloB8Lu0UQs2yKDL7K9OYNe5MJbGWhZbS5TEy7FKfDVwcsFJcq9 nBew== X-Gm-Message-State: ACgBeo0doHdFLznvlfBWL+NgLDIgbHAYHvULZXE8SVqjdYpzLEmb0m9P vs361qqcG66LsX7A6etyBgE= X-Google-Smtp-Source: AA6agR714UD1U/NAzFO4qw6UEo9HI/Dm8b0k6P+My/ypqWc8RsqhAVg0360VN9CSxENsAU04mtQnuQ== X-Received: by 2002:a63:8548:0:b0:42a:206b:b6fd with SMTP id u69-20020a638548000000b0042a206bb6fdmr21056184pgd.556.1661304281071; Tue, 23 Aug 2022 18:24:41 -0700 (PDT) Received: from [192.168.255.10] ([103.7.29.32]) by smtp.gmail.com with ESMTPSA id y18-20020aa78f32000000b00536097dd45bsm9455317pfr.134.2022.08.23.18.24.38 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Tue, 23 Aug 2022 18:24:40 -0700 (PDT) Content-Type: multipart/mixed; boundary="------------kcbBWrMffcVWraerKvxV4DUv" Message-ID: <5418ebd2-d544-f4cc-d930-bdde64ad2807@gmail.com> Date: Wed, 24 Aug 2022 09:24:31 +0800 MIME-Version: 1.0 User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:91.0) Gecko/20100101 Thunderbird/91.12.0 Subject: Ping: [PATCH v4] rs6000: Fix incorrect RTL for Power LE when removing the UNSPECS [PR106069] From: Xionghu Luo To: "Kewen.Lin" , Segher Boessenkool Cc: Xionghu Luo , gcc-patches@gcc.gnu.org, David Edelsohn , Segher Boessenkool References: <20220808034247.2618809-1-xionghuluo@tencent.com> <76035a5e-f0d8-8bc5-93e9-cfb08b2127f8@gmail.com> <20220810170700.GA25951@gate.crashing.org> <472c1531-aae6-123e-6b0c-8827f5585879@gmail.com> <5df1a7fc-dacf-72e2-041d-66624926091f@linux.ibm.com> <37b57a54-f98e-96a3-edff-866c8aae4c7d@gmail.com> In-Reply-To: <37b57a54-f98e-96a3-edff-866c8aae4c7d@gmail.com> X-Spam-Status: No, score=-9.4 required=5.0 tests=BAYES_00,DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,FREEMAIL_FROM,GIT_PATCH_0,RCVD_IN_DNSWL_NONE,SCC_10_SHORT_WORD_LINES,SCC_5_SHORT_WORD_LINES,SPF_HELO_NONE,SPF_PASS,TXREP,T_SCC_BODY_TEXT_LINE autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on server2.sourceware.org List-Id: This is a multi-part message in MIME format. --------------kcbBWrMffcVWraerKvxV4DUv Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit Hi Segher, I'd like to resend and ping for this patch. Thanks. --------------kcbBWrMffcVWraerKvxV4DUv Content-Type: text/plain; charset=UTF-8; name="v4-0001-rs6000-Fix-incorrect-RTL-for-Power-LE-when-removi.patch" Content-Disposition: attachment; filename*0="v4-0001-rs6000-Fix-incorrect-RTL-for-Power-LE-when-removi.pa"; filename*1="tch" Content-Transfer-Encoding: base64 RnJvbSAyM2JmZmRhY2RmMGViMTE0MGM3YTM1NzFlNjE1ODc5N2Y0ODE4ZDU3IE1vbiBTZXAg MTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBYaW9uZ2h1IEx1byA8eGlvbmdodWx1b0B0ZW5jZW50 LmNvbT4KRGF0ZTogVGh1LCA0IEF1ZyAyMDIyIDAzOjQ0OjU4ICswMDAwClN1YmplY3Q6IFtQ QVRDSCB2NF0gcnM2MDAwOiBGaXggaW5jb3JyZWN0IFJUTCBmb3IgUG93ZXIgTEUgd2hlbiBy ZW1vdmluZyB0aGUKIFVOU1BFQ1MgW1BSMTA2MDY5XQoKdjQ6IFVwZGF0ZSBwZXIgY29tbWVu dHMuCnYzOiByZW5hbWUgYWx0aXZlY192bXJnaGJfZGlyZWN0X2xlIHRvIGFsdGl2ZWNfdm1y Z2xiX2RpcmVjdF9sZSB0byBtYXRjaAp0aGUgYWN0dWFsIG91dHB1dCBBU00gdm1yZ2xiLiBM aWtld2lzZSBmb3IgYWxsIHNpbWlsYXIgeHh4X2RpcmVjdF9sZQpwYXR0ZXJucy4KdjI6IFNw bGl0IHRoZSBkaXJlY3QgcGF0dGVybiB0byBiZSBhbmQgbGUgd2l0aCBzYW1lIFJUTCBidXQg ZGlmZmVyZW50IGluc24uCgpUaGUgbmF0aXZlIFJUTCBleHByZXNzaW9uIGZvciB2ZWNfbXJn aHcgc2hvdWxkIGJlIHNhbWUgZm9yIEJFIGFuZCBMRSBhcwp0aGV5IGFyZSByZWdpc3RlciBh bmQgZW5kaWFuLWluZGVwZW5kZW50LiAgU28gYm90aCBCRSBhbmQgTEUgbmVlZApnZW5lcmF0 ZSBleGFjdGx5IHNhbWUgUlRMIHdpdGggaW5kZXggWzAgNCAxIDVdIHdoZW4gZXhwYW5kaW5n IHZlY19tcmdodwp3aXRoIHZlY19zZWxlY3QgYW5kIHZlY19jb25jYXQuCgooc2V0IChyZWc6 VjRTSSAxNDEpICh2ZWNfc2VsZWN0OlY0U0kgKHZlY19jb25jYXQ6VjhTSQoJCSAgIChzdWJy ZWc6VjRTSSAocmVnOlYxNlFJIDEzOSkgMCkKCQkgICAoc3VicmVnOlY0U0kgKHJlZzpWMTZR SSAxNDApIDApKQoJCSAgIFtjb25zdF9pbnQgMCA0IDEgNV0pKQoKVGhlbiBjb21iaW5lIHBh c3MgY291bGQgZG8gdGhlIG5lc3RlZCB2ZWNfc2VsZWN0IG9wdGltaXphdGlvbgppbiBzaW1w bGlmeS1ydHguYzpzaW1wbGlmeV9iaW5hcnlfb3BlcmF0aW9uXzEgYWxzbyBvbiBib3RoIEJF IGFuZCBMRToKCjIxOiByMTUwOlY0U0k9dmVjX3NlbGVjdCh2ZWNfY29uY2F0KHIxNDE6VjRT SSxyMTQ2OlY0U0kpLHBhcmFsbGVsIFswIDQgMSA1XSkKMjQ6IHtyMTUxOlNJPXZlY19zZWxl Y3QocjE1MDpWNFNJLHBhcmFsbGVsIFtjb25zdF9pbnQgM10pO30KCj0+CgoyMTogcjE1MDpW NFNJPXZlY19zZWxlY3QodmVjX2NvbmNhdChyMTQxOlY0U0kscjE0NjpWNFNJKSxwYXJhbGxl bCkKMjQ6IHtyMTUxOlNJPXZlY19zZWxlY3QocjE0NjpWNFNJLHBhcmFsbGVsIFtjb25zdF9p bnQgMV0pO30KClRoZSBlbmRpYW5uZXNzIGNoZWNrIG5lZWQgb25seSBvbmNlIGF0IEFTTSBn ZW5lcmF0aW9uIGZpbmFsbHkuCkFTTSB3b3VsZCBiZSBiZXR0ZXIgZHVlIHRvIG5lc3RlZCB2 ZWNfc2VsZWN0IHNpbXBsaWZpZWQgdG8gc2ltcGxlIHNjYWxhcgpsb2FkLgoKUmVncmVzc2lv biB0ZXN0ZWQgcGFzcyBmb3IgUG93ZXI4e0xFLEJFfXszMiw2NH0gYW5kIFBvd2VyezksMTB9 TEV7MzIsNjR9CkxpbnV4LgoKZ2NjL0NoYW5nZUxvZzoKCglQUiB0YXJnZXQvMTA2MDY5Cgkq IGNvbmZpZy9yczYwMDAvYWx0aXZlYy5tZCAoYWx0aXZlY192bXJnaGJfZGlyZWN0KTogUmVt b3ZlLgoJKGFsdGl2ZWNfdm1yZ2hiX2RpcmVjdF9iZSk6IE5ldyBwYXR0ZXJuIGZvciBCRS4K CShhbHRpdmVjX3ZtcmdoYl9kaXJlY3RfbGUpOiBOZXcgcGF0dGVybiBmb3IgTEUuCgkoYWx0 aXZlY192bXJnaGhfZGlyZWN0KTogUmVtb3ZlLgoJKGFsdGl2ZWNfdm1yZ2hoX2RpcmVjdF9i ZSk6IE5ldyBwYXR0ZXJuIGZvciBCRS4KCShhbHRpdmVjX3ZtcmdoaF9kaXJlY3RfbGUpOiBO ZXcgcGF0dGVybiBmb3IgTEUuCgkoYWx0aXZlY192bXJnaHdfZGlyZWN0Xzxtb2RlPik6IFJl bW92ZS4KCShhbHRpdmVjX3Ztcmdod19kaXJlY3RfPG1vZGU+X2JlKTogTmV3IHBhdHRlcm4g Zm9yIEJFLgoJKGFsdGl2ZWNfdm1yZ2h3X2RpcmVjdF88bW9kZT5fbGUpOiBOZXcgcGF0dGVy biBmb3IgTEUuCgkoYWx0aXZlY192bXJnbGJfZGlyZWN0KTogUmVtb3ZlLgoJKGFsdGl2ZWNf dm1yZ2xiX2RpcmVjdF9iZSk6IE5ldyBwYXR0ZXJuIGZvciBCRS4KCShhbHRpdmVjX3Ztcmds Yl9kaXJlY3RfbGUpOiBOZXcgcGF0dGVybiBmb3IgTEUuCgkoYWx0aXZlY192bXJnbGhfZGly ZWN0KTogUmVtb3ZlLgoJKGFsdGl2ZWNfdm1yZ2xoX2RpcmVjdF9iZSk6IE5ldyBwYXR0ZXJu IGZvciBCRS4KCShhbHRpdmVjX3ZtcmdsaF9kaXJlY3RfbGUpOiBOZXcgcGF0dGVybiBmb3Ig TEUuCgkoYWx0aXZlY192bXJnbHdfZGlyZWN0Xzxtb2RlPik6IFJlbW92ZS4KCShhbHRpdmVj X3Ztcmdsd19kaXJlY3RfPG1vZGU+X2JlKTogTmV3IHBhdHRlcm4gZm9yIEJFLgoJKGFsdGl2 ZWNfdm1yZ2x3X2RpcmVjdF88bW9kZT5fbGUpOiBOZXcgcGF0dGVybiBmb3IgTEUuCgkqIGNv bmZpZy9yczYwMDAvcnM2MDAwLmNjIChhbHRpdmVjX2V4cGFuZF92ZWNfcGVybV9jb25zdCk6 CglBZGp1c3QuCgkqIGNvbmZpZy9yczYwMDAvdnN4Lm1kOiBMaWtld2lzZS4KCmdjYy90ZXN0 c3VpdGUvQ2hhbmdlTG9nOgoKCVBSIHRhcmdldC8xMDYwNjkKCSogZysrLnRhcmdldC9wb3dl cnBjL3ByMTA2MDY5LkM6IE5ldyB0ZXN0LgoKU2lnbmVkLW9mZi1ieTogWGlvbmdodSBMdW8g PHhpb25naHVsdW9AdGVuY2VudC5jb20+Ci0tLQogZ2NjL2NvbmZpZy9yczYwMDAvYWx0aXZl Yy5tZCAgICAgICAgICAgICAgICB8IDIyMiArKysrKysrKysrKysrKy0tLS0tLQogZ2NjL2Nv bmZpZy9yczYwMDAvcnM2MDAwLmNjICAgICAgICAgICAgICAgICB8ICAyNCArLS0KIGdjYy9j b25maWcvcnM2MDAwL3ZzeC5tZCAgICAgICAgICAgICAgICAgICAgfCAgMjggKy0tCiBnY2Mv dGVzdHN1aXRlL2crKy50YXJnZXQvcG93ZXJwYy9wcjEwNjA2OS5DIHwgMTE4ICsrKysrKysr KysrCiA0IGZpbGVzIGNoYW5nZWQsIDMwNyBpbnNlcnRpb25zKCspLCA4NSBkZWxldGlvbnMo LSkKIGNyZWF0ZSBtb2RlIDEwMDY0NCBnY2MvdGVzdHN1aXRlL2crKy50YXJnZXQvcG93ZXJw Yy9wcjEwNjA2OS5DCgpkaWZmIC0tZ2l0IGEvZ2NjL2NvbmZpZy9yczYwMDAvYWx0aXZlYy5t ZCBiL2djYy9jb25maWcvcnM2MDAwL2FsdGl2ZWMubWQKaW5kZXggMmM0OTQwZjJlMjEuLmM2 YTM4MTkwOGNiIDEwMDY0NAotLS0gYS9nY2MvY29uZmlnL3JzNjAwMC9hbHRpdmVjLm1kCisr KyBiL2djYy9jb25maWcvcnM2MDAwL2FsdGl2ZWMubWQKQEAgLTExNDQsMTUgKzExNDQsMTYg QEAgKGRlZmluZV9leHBhbmQgImFsdGl2ZWNfdm1yZ2hiIgogICAgKHVzZSAobWF0Y2hfb3Bl cmFuZDpWMTZRSSAyICJyZWdpc3Rlcl9vcGVyYW5kIikpXQogICAiVEFSR0VUX0FMVElWRUMi CiB7Ci0gIHJ0eCAoKmZ1bikgKHJ0eCwgcnR4LCBydHgpID0gQllURVNfQklHX0VORElBTiA/ IGdlbl9hbHRpdmVjX3ZtcmdoYl9kaXJlY3QKLQkJCQkJCTogZ2VuX2FsdGl2ZWNfdm1yZ2xi X2RpcmVjdDsKLSAgaWYgKCFCWVRFU19CSUdfRU5ESUFOKQotICAgIHN0ZDo6c3dhcCAob3Bl cmFuZHNbMV0sIG9wZXJhbmRzWzJdKTsKLSAgZW1pdF9pbnNuIChmdW4gKG9wZXJhbmRzWzBd LCBvcGVyYW5kc1sxXSwgb3BlcmFuZHNbMl0pKTsKKyAgaWYgKEJZVEVTX0JJR19FTkRJQU4p CisgICAgZW1pdF9pbnNuICgKKyAgICAgIGdlbl9hbHRpdmVjX3ZtcmdoYl9kaXJlY3RfYmUg KG9wZXJhbmRzWzBdLCBvcGVyYW5kc1sxXSwgb3BlcmFuZHNbMl0pKTsKKyAgZWxzZQorICAg IGVtaXRfaW5zbiAoCisgICAgICBnZW5fYWx0aXZlY192bXJnbGJfZGlyZWN0X2xlIChvcGVy YW5kc1swXSwgb3BlcmFuZHNbMl0sIG9wZXJhbmRzWzFdKSk7CiAgIERPTkU7CiB9KQogCi0o ZGVmaW5lX2luc24gImFsdGl2ZWNfdm1yZ2hiX2RpcmVjdCIKKyhkZWZpbmVfaW5zbiAiYWx0 aXZlY192bXJnaGJfZGlyZWN0X2JlIgogICBbKHNldCAobWF0Y2hfb3BlcmFuZDpWMTZRSSAw ICJyZWdpc3Rlcl9vcGVyYW5kIiAiPXYiKQogCSh2ZWNfc2VsZWN0OlYxNlFJCiAJICAodmVj X2NvbmNhdDpWMzJRSQpAQCAtMTE2Niw3ICsxMTY3LDI1IEBAIChkZWZpbmVfaW5zbiAiYWx0 aXZlY192bXJnaGJfZGlyZWN0IgogCQkgICAgIChjb25zdF9pbnQgNSkgKGNvbnN0X2ludCAy MSkKIAkJICAgICAoY29uc3RfaW50IDYpIChjb25zdF9pbnQgMjIpCiAJCSAgICAgKGNvbnN0 X2ludCA3KSAoY29uc3RfaW50IDIzKV0pKSldCi0gICJUQVJHRVRfQUxUSVZFQyIKKyAgIlRB UkdFVF9BTFRJVkVDICYmIEJZVEVTX0JJR19FTkRJQU4iCisgICJ2bXJnaGIgJTAsJTEsJTIi CisgIFsoc2V0X2F0dHIgInR5cGUiICJ2ZWNwZXJtIildKQorCisoZGVmaW5lX2luc24gImFs dGl2ZWNfdm1yZ2hiX2RpcmVjdF9sZSIKKyAgWyhzZXQgKG1hdGNoX29wZXJhbmQ6VjE2UUkg MCAicmVnaXN0ZXJfb3BlcmFuZCIgIj12IikKKwkodmVjX3NlbGVjdDpWMTZRSQorCSAgKHZl Y19jb25jYXQ6VjMyUUkKKwkgICAgKG1hdGNoX29wZXJhbmQ6VjE2UUkgMiAicmVnaXN0ZXJf b3BlcmFuZCIgInYiKQorCSAgICAobWF0Y2hfb3BlcmFuZDpWMTZRSSAxICJyZWdpc3Rlcl9v cGVyYW5kIiAidiIpKQorCSAgKHBhcmFsbGVsIFsoY29uc3RfaW50ICA4KSAoY29uc3RfaW50 IDI0KQorCQkgICAgIChjb25zdF9pbnQgIDkpIChjb25zdF9pbnQgMjUpCisJCSAgICAgKGNv bnN0X2ludCAxMCkgKGNvbnN0X2ludCAyNikKKwkJICAgICAoY29uc3RfaW50IDExKSAoY29u c3RfaW50IDI3KQorCQkgICAgIChjb25zdF9pbnQgMTIpIChjb25zdF9pbnQgMjgpCisJCSAg ICAgKGNvbnN0X2ludCAxMykgKGNvbnN0X2ludCAyOSkKKwkJICAgICAoY29uc3RfaW50IDE0 KSAoY29uc3RfaW50IDMwKQorCQkgICAgIChjb25zdF9pbnQgMTUpIChjb25zdF9pbnQgMzEp XSkpKV0KKyAgIlRBUkdFVF9BTFRJVkVDICYmICFCWVRFU19CSUdfRU5ESUFOIgogICAidm1y Z2hiICUwLCUxLCUyIgogICBbKHNldF9hdHRyICJ0eXBlIiAidmVjcGVybSIpXSkKIApAQCAt MTE3NiwxNyArMTE5NSwxOCBAQCAoZGVmaW5lX2V4cGFuZCAiYWx0aXZlY192bXJnaGgiCiAg ICAodXNlIChtYXRjaF9vcGVyYW5kOlY4SEkgMiAicmVnaXN0ZXJfb3BlcmFuZCIpKV0KICAg IlRBUkdFVF9BTFRJVkVDIgogewotICBydHggKCpmdW4pIChydHgsIHJ0eCwgcnR4KSA9IEJZ VEVTX0JJR19FTkRJQU4gPyBnZW5fYWx0aXZlY192bXJnaGhfZGlyZWN0Ci0JCQkJCQk6IGdl bl9hbHRpdmVjX3ZtcmdsaF9kaXJlY3Q7Ci0gIGlmICghQllURVNfQklHX0VORElBTikKLSAg ICBzdGQ6OnN3YXAgKG9wZXJhbmRzWzFdLCBvcGVyYW5kc1syXSk7Ci0gIGVtaXRfaW5zbiAo ZnVuIChvcGVyYW5kc1swXSwgb3BlcmFuZHNbMV0sIG9wZXJhbmRzWzJdKSk7CisgIGlmIChC WVRFU19CSUdfRU5ESUFOKQorICAgIGVtaXRfaW5zbiAoCisgICAgICBnZW5fYWx0aXZlY192 bXJnaGhfZGlyZWN0X2JlIChvcGVyYW5kc1swXSwgb3BlcmFuZHNbMV0sIG9wZXJhbmRzWzJd KSk7CisgIGVsc2UKKyAgICBlbWl0X2luc24gKAorICAgICAgZ2VuX2FsdGl2ZWNfdm1yZ2xo X2RpcmVjdF9sZSAob3BlcmFuZHNbMF0sIG9wZXJhbmRzWzJdLCBvcGVyYW5kc1sxXSkpOwog ICBET05FOwogfSkKIAotKGRlZmluZV9pbnNuICJhbHRpdmVjX3ZtcmdoaF9kaXJlY3QiCiso ZGVmaW5lX2luc24gImFsdGl2ZWNfdm1yZ2hoX2RpcmVjdF9iZSIKICAgWyhzZXQgKG1hdGNo X29wZXJhbmQ6VjhISSAwICJyZWdpc3Rlcl9vcGVyYW5kIiAiPXYiKQotICAgICAgICAodmVj X3NlbGVjdDpWOEhJCisJKHZlY19zZWxlY3Q6VjhISQogCSAgKHZlY19jb25jYXQ6VjE2SEkK IAkgICAgKG1hdGNoX29wZXJhbmQ6VjhISSAxICJyZWdpc3Rlcl9vcGVyYW5kIiAidiIpCiAJ ICAgIChtYXRjaF9vcGVyYW5kOlY4SEkgMiAicmVnaXN0ZXJfb3BlcmFuZCIgInYiKSkKQEAg LTExOTQsNyArMTIxNCwyMSBAQCAoZGVmaW5lX2luc24gImFsdGl2ZWNfdm1yZ2hoX2RpcmVj dCIKIAkJICAgICAoY29uc3RfaW50IDEpIChjb25zdF9pbnQgOSkKIAkJICAgICAoY29uc3Rf aW50IDIpIChjb25zdF9pbnQgMTApCiAJCSAgICAgKGNvbnN0X2ludCAzKSAoY29uc3RfaW50 IDExKV0pKSldCi0gICJUQVJHRVRfQUxUSVZFQyIKKyAgIlRBUkdFVF9BTFRJVkVDICYmIEJZ VEVTX0JJR19FTkRJQU4iCisgICJ2bXJnaGggJTAsJTEsJTIiCisgIFsoc2V0X2F0dHIgInR5 cGUiICJ2ZWNwZXJtIildKQorCisoZGVmaW5lX2luc24gImFsdGl2ZWNfdm1yZ2hoX2RpcmVj dF9sZSIKKyAgWyhzZXQgKG1hdGNoX29wZXJhbmQ6VjhISSAwICJyZWdpc3Rlcl9vcGVyYW5k IiAiPXYiKQorICAgICAgICAodmVjX3NlbGVjdDpWOEhJCisJICAodmVjX2NvbmNhdDpWMTZI SQorCSAgICAobWF0Y2hfb3BlcmFuZDpWOEhJIDIgInJlZ2lzdGVyX29wZXJhbmQiICJ2IikK KwkgICAgKG1hdGNoX29wZXJhbmQ6VjhISSAxICJyZWdpc3Rlcl9vcGVyYW5kIiAidiIpKQor CSAgKHBhcmFsbGVsIFsoY29uc3RfaW50IDQpIChjb25zdF9pbnQgMTIpCisJCSAgICAgKGNv bnN0X2ludCA1KSAoY29uc3RfaW50IDEzKQorCQkgICAgIChjb25zdF9pbnQgNikgKGNvbnN0 X2ludCAxNCkKKwkJICAgICAoY29uc3RfaW50IDcpIChjb25zdF9pbnQgMTUpXSkpKV0KKyAg IlRBUkdFVF9BTFRJVkVDICYmICFCWVRFU19CSUdfRU5ESUFOIgogICAidm1yZ2hoICUwLCUx LCUyIgogICBbKHNldF9hdHRyICJ0eXBlIiAidmVjcGVybSIpXSkKIApAQCAtMTIwNCwxNiAr MTIzOCwxOCBAQCAoZGVmaW5lX2V4cGFuZCAiYWx0aXZlY192bXJnaHciCiAgICAodXNlICht YXRjaF9vcGVyYW5kOlY0U0kgMiAicmVnaXN0ZXJfb3BlcmFuZCIpKV0KICAgIlZFQ1RPUl9N RU1fQUxUSVZFQ19QIChWNFNJbW9kZSkiCiB7Ci0gIHJ0eCAoKmZ1bikgKHJ0eCwgcnR4LCBy dHgpOwotICBmdW4gPSBCWVRFU19CSUdfRU5ESUFOID8gZ2VuX2FsdGl2ZWNfdm1yZ2h3X2Rp cmVjdF92NHNpCi0JCQkgOiBnZW5fYWx0aXZlY192bXJnbHdfZGlyZWN0X3Y0c2k7Ci0gIGlm ICghQllURVNfQklHX0VORElBTikKLSAgICBzdGQ6OnN3YXAgKG9wZXJhbmRzWzFdLCBvcGVy YW5kc1syXSk7Ci0gIGVtaXRfaW5zbiAoZnVuIChvcGVyYW5kc1swXSwgb3BlcmFuZHNbMV0s IG9wZXJhbmRzWzJdKSk7CisgIGlmIChCWVRFU19CSUdfRU5ESUFOKQorICAgIGVtaXRfaW5z biAoZ2VuX2FsdGl2ZWNfdm1yZ2h3X2RpcmVjdF92NHNpX2JlIChvcGVyYW5kc1swXSwKKwkJ CQkJCSAgb3BlcmFuZHNbMV0sCisJCQkJCQkgIG9wZXJhbmRzWzJdKSk7CisgIGVsc2UKKyAg ICBlbWl0X2luc24gKGdlbl9hbHRpdmVjX3Ztcmdsd19kaXJlY3RfdjRzaV9sZSAob3BlcmFu ZHNbMF0sCisJCQkJCQkgIG9wZXJhbmRzWzJdLAorCQkJCQkJICBvcGVyYW5kc1sxXSkpOwog ICBET05FOwogfSkKIAotKGRlZmluZV9pbnNuICJhbHRpdmVjX3Ztcmdod19kaXJlY3RfPG1v ZGU+IgorKGRlZmluZV9pbnNuICJhbHRpdmVjX3Ztcmdod19kaXJlY3RfPG1vZGU+X2JlIgog ICBbKHNldCAobWF0Y2hfb3BlcmFuZDpWU1hfVyAwICJyZWdpc3Rlcl9vcGVyYW5kIiAiPXdh LHYiKQogCSh2ZWNfc2VsZWN0OlZTWF9XCiAJICAodmVjX2NvbmNhdDo8VlNfZG91YmxlPgpA QCAtMTIyMSw3ICsxMjU3LDIxIEBAIChkZWZpbmVfaW5zbiAiYWx0aXZlY192bXJnaHdfZGly ZWN0Xzxtb2RlPiIKIAkgICAgKG1hdGNoX29wZXJhbmQ6VlNYX1cgMiAicmVnaXN0ZXJfb3Bl cmFuZCIgIndhLHYiKSkKIAkgIChwYXJhbGxlbCBbKGNvbnN0X2ludCAwKSAoY29uc3RfaW50 IDQpCiAJCSAgICAgKGNvbnN0X2ludCAxKSAoY29uc3RfaW50IDUpXSkpKV0KLSAgIlRBUkdF VF9BTFRJVkVDIgorICAiVEFSR0VUX0FMVElWRUMgJiYgQllURVNfQklHX0VORElBTiIKKyAg IkAKKyAgIHh4bXJnaHcgJXgwLCV4MSwleDIKKyAgIHZtcmdodyAlMCwlMSwlMiIKKyAgWyhz ZXRfYXR0ciAidHlwZSIgInZlY3Blcm0iKV0pCisKKyhkZWZpbmVfaW5zbiAiYWx0aXZlY192 bXJnaHdfZGlyZWN0Xzxtb2RlPl9sZSIKKyAgWyhzZXQgKG1hdGNoX29wZXJhbmQ6VlNYX1cg MCAicmVnaXN0ZXJfb3BlcmFuZCIgIj13YSx2IikKKwkodmVjX3NlbGVjdDpWU1hfVworCSAg KHZlY19jb25jYXQ6PFZTX2RvdWJsZT4KKwkgICAgKG1hdGNoX29wZXJhbmQ6VlNYX1cgMiAi cmVnaXN0ZXJfb3BlcmFuZCIgIndhLHYiKQorCSAgICAobWF0Y2hfb3BlcmFuZDpWU1hfVyAx ICJyZWdpc3Rlcl9vcGVyYW5kIiAid2EsdiIpKQorCSAgKHBhcmFsbGVsIFsoY29uc3RfaW50 IDIpIChjb25zdF9pbnQgNikKKwkJICAgICAoY29uc3RfaW50IDMpIChjb25zdF9pbnQgNyld KSkpXQorICAiVEFSR0VUX0FMVElWRUMgJiYgIUJZVEVTX0JJR19FTkRJQU4iCiAgICJACiAg ICB4eG1yZ2h3ICV4MCwleDEsJXgyCiAgICB2bXJnaHcgJTAsJTEsJTIiCkBAIC0xMjUwLDE1 ICsxMzAwLDE2IEBAIChkZWZpbmVfZXhwYW5kICJhbHRpdmVjX3ZtcmdsYiIKICAgICh1c2Ug KG1hdGNoX29wZXJhbmQ6VjE2UUkgMiAicmVnaXN0ZXJfb3BlcmFuZCIpKV0KICAgIlRBUkdF VF9BTFRJVkVDIgogewotICBydHggKCpmdW4pIChydHgsIHJ0eCwgcnR4KSA9IEJZVEVTX0JJ R19FTkRJQU4gPyBnZW5fYWx0aXZlY192bXJnbGJfZGlyZWN0Ci0JCQkJCQk6IGdlbl9hbHRp dmVjX3ZtcmdoYl9kaXJlY3Q7Ci0gIGlmICghQllURVNfQklHX0VORElBTikKLSAgICBzdGQ6 OnN3YXAgKG9wZXJhbmRzWzFdLCBvcGVyYW5kc1syXSk7Ci0gIGVtaXRfaW5zbiAoZnVuIChv cGVyYW5kc1swXSwgb3BlcmFuZHNbMV0sIG9wZXJhbmRzWzJdKSk7CisgIGlmIChCWVRFU19C SUdfRU5ESUFOKQorICAgIGVtaXRfaW5zbiAoCisgICAgICBnZW5fYWx0aXZlY192bXJnbGJf ZGlyZWN0X2JlIChvcGVyYW5kc1swXSwgb3BlcmFuZHNbMV0sIG9wZXJhbmRzWzJdKSk7Cisg IGVsc2UKKyAgICBlbWl0X2luc24gKAorICAgICAgZ2VuX2FsdGl2ZWNfdm1yZ2hiX2RpcmVj dF9sZSAob3BlcmFuZHNbMF0sIG9wZXJhbmRzWzJdLCBvcGVyYW5kc1sxXSkpOwogICBET05F OwogfSkKIAotKGRlZmluZV9pbnNuICJhbHRpdmVjX3ZtcmdsYl9kaXJlY3QiCisoZGVmaW5l X2luc24gImFsdGl2ZWNfdm1yZ2xiX2RpcmVjdF9iZSIKICAgWyhzZXQgKG1hdGNoX29wZXJh bmQ6VjE2UUkgMCAicmVnaXN0ZXJfb3BlcmFuZCIgIj12IikKIAkodmVjX3NlbGVjdDpWMTZR SQogCSAgKHZlY19jb25jYXQ6VjMyUUkKQEAgLTEyNzIsNyArMTMyMywyNSBAQCAoZGVmaW5l X2luc24gImFsdGl2ZWNfdm1yZ2xiX2RpcmVjdCIKIAkJICAgICAoY29uc3RfaW50IDEzKSAo Y29uc3RfaW50IDI5KQogCQkgICAgIChjb25zdF9pbnQgMTQpIChjb25zdF9pbnQgMzApCiAJ CSAgICAgKGNvbnN0X2ludCAxNSkgKGNvbnN0X2ludCAzMSldKSkpXQotICAiVEFSR0VUX0FM VElWRUMiCisgICJUQVJHRVRfQUxUSVZFQyAmJiBCWVRFU19CSUdfRU5ESUFOIgorICAidm1y Z2xiICUwLCUxLCUyIgorICBbKHNldF9hdHRyICJ0eXBlIiAidmVjcGVybSIpXSkKKworKGRl ZmluZV9pbnNuICJhbHRpdmVjX3ZtcmdsYl9kaXJlY3RfbGUiCisgIFsoc2V0IChtYXRjaF9v cGVyYW5kOlYxNlFJIDAgInJlZ2lzdGVyX29wZXJhbmQiICI9diIpCisJKHZlY19zZWxlY3Q6 VjE2UUkKKwkgICh2ZWNfY29uY2F0OlYzMlFJCisJICAgIChtYXRjaF9vcGVyYW5kOlYxNlFJ IDIgInJlZ2lzdGVyX29wZXJhbmQiICJ2IikKKwkgICAgKG1hdGNoX29wZXJhbmQ6VjE2UUkg MSAicmVnaXN0ZXJfb3BlcmFuZCIgInYiKSkKKwkgIChwYXJhbGxlbCBbKGNvbnN0X2ludCAw KSAoY29uc3RfaW50IDE2KQorCQkgICAgIChjb25zdF9pbnQgMSkgKGNvbnN0X2ludCAxNykK KwkJICAgICAoY29uc3RfaW50IDIpIChjb25zdF9pbnQgMTgpCisJCSAgICAgKGNvbnN0X2lu dCAzKSAoY29uc3RfaW50IDE5KQorCQkgICAgIChjb25zdF9pbnQgNCkgKGNvbnN0X2ludCAy MCkKKwkJICAgICAoY29uc3RfaW50IDUpIChjb25zdF9pbnQgMjEpCisJCSAgICAgKGNvbnN0 X2ludCA2KSAoY29uc3RfaW50IDIyKQorCQkgICAgIChjb25zdF9pbnQgNykgKGNvbnN0X2lu dCAyMyldKSkpXQorICAiVEFSR0VUX0FMVElWRUMgJiYgIUJZVEVTX0JJR19FTkRJQU4iCiAg ICJ2bXJnbGIgJTAsJTEsJTIiCiAgIFsoc2V0X2F0dHIgInR5cGUiICJ2ZWNwZXJtIildKQog CkBAIC0xMjgyLDE1ICsxMzUxLDE2IEBAIChkZWZpbmVfZXhwYW5kICJhbHRpdmVjX3Ztcmds aCIKICAgICh1c2UgKG1hdGNoX29wZXJhbmQ6VjhISSAyICJyZWdpc3Rlcl9vcGVyYW5kIikp XQogICAiVEFSR0VUX0FMVElWRUMiCiB7Ci0gIHJ0eCAoKmZ1bikgKHJ0eCwgcnR4LCBydHgp ID0gQllURVNfQklHX0VORElBTiA/IGdlbl9hbHRpdmVjX3ZtcmdsaF9kaXJlY3QKLQkJCQkJ CTogZ2VuX2FsdGl2ZWNfdm1yZ2hoX2RpcmVjdDsKLSAgaWYgKCFCWVRFU19CSUdfRU5ESUFO KQotICAgIHN0ZDo6c3dhcCAob3BlcmFuZHNbMV0sIG9wZXJhbmRzWzJdKTsKLSAgZW1pdF9p bnNuIChmdW4gKG9wZXJhbmRzWzBdLCBvcGVyYW5kc1sxXSwgb3BlcmFuZHNbMl0pKTsKKyAg aWYgKEJZVEVTX0JJR19FTkRJQU4pCisgICAgZW1pdF9pbnNuICgKKyAgICAgIGdlbl9hbHRp dmVjX3ZtcmdsaF9kaXJlY3RfYmUgKG9wZXJhbmRzWzBdLCBvcGVyYW5kc1sxXSwgb3BlcmFu ZHNbMl0pKTsKKyAgZWxzZQorICAgIGVtaXRfaW5zbiAoCisgICAgICBnZW5fYWx0aXZlY192 bXJnaGhfZGlyZWN0X2xlIChvcGVyYW5kc1swXSwgb3BlcmFuZHNbMl0sIG9wZXJhbmRzWzFd KSk7CiAgIERPTkU7CiB9KQogCi0oZGVmaW5lX2luc24gImFsdGl2ZWNfdm1yZ2xoX2RpcmVj dCIKKyhkZWZpbmVfaW5zbiAiYWx0aXZlY192bXJnbGhfZGlyZWN0X2JlIgogICBbKHNldCAo bWF0Y2hfb3BlcmFuZDpWOEhJIDAgInJlZ2lzdGVyX29wZXJhbmQiICI9diIpCiAgICAgICAg ICh2ZWNfc2VsZWN0OlY4SEkKIAkgICh2ZWNfY29uY2F0OlYxNkhJCkBAIC0xMzAwLDcgKzEz NzAsMjEgQEAgKGRlZmluZV9pbnNuICJhbHRpdmVjX3ZtcmdsaF9kaXJlY3QiCiAJCSAgICAg KGNvbnN0X2ludCA1KSAoY29uc3RfaW50IDEzKQogCQkgICAgIChjb25zdF9pbnQgNikgKGNv bnN0X2ludCAxNCkKIAkJICAgICAoY29uc3RfaW50IDcpIChjb25zdF9pbnQgMTUpXSkpKV0K LSAgIlRBUkdFVF9BTFRJVkVDIgorICAiVEFSR0VUX0FMVElWRUMgJiYgQllURVNfQklHX0VO RElBTiIKKyAgInZtcmdsaCAlMCwlMSwlMiIKKyAgWyhzZXRfYXR0ciAidHlwZSIgInZlY3Bl cm0iKV0pCisKKyhkZWZpbmVfaW5zbiAiYWx0aXZlY192bXJnbGhfZGlyZWN0X2xlIgorICBb KHNldCAobWF0Y2hfb3BlcmFuZDpWOEhJIDAgInJlZ2lzdGVyX29wZXJhbmQiICI9diIpCisJ KHZlY19zZWxlY3Q6VjhISQorCSAgKHZlY19jb25jYXQ6VjE2SEkKKwkgICAgKG1hdGNoX29w ZXJhbmQ6VjhISSAyICJyZWdpc3Rlcl9vcGVyYW5kIiAidiIpCisJICAgIChtYXRjaF9vcGVy YW5kOlY4SEkgMSAicmVnaXN0ZXJfb3BlcmFuZCIgInYiKSkKKwkgIChwYXJhbGxlbCBbKGNv bnN0X2ludCAwKSAoY29uc3RfaW50IDgpCisJCSAgICAgKGNvbnN0X2ludCAxKSAoY29uc3Rf aW50IDkpCisJCSAgICAgKGNvbnN0X2ludCAyKSAoY29uc3RfaW50IDEwKQorCQkgICAgIChj b25zdF9pbnQgMykgKGNvbnN0X2ludCAxMSldKSkpXQorICAiVEFSR0VUX0FMVElWRUMgJiYg IUJZVEVTX0JJR19FTkRJQU4iCiAgICJ2bXJnbGggJTAsJTEsJTIiCiAgIFsoc2V0X2F0dHIg InR5cGUiICJ2ZWNwZXJtIildKQogCkBAIC0xMzEwLDE2ICsxMzk0LDE4IEBAIChkZWZpbmVf ZXhwYW5kICJhbHRpdmVjX3ZtcmdsdyIKICAgICh1c2UgKG1hdGNoX29wZXJhbmQ6VjRTSSAy ICJyZWdpc3Rlcl9vcGVyYW5kIikpXQogICAiVkVDVE9SX01FTV9BTFRJVkVDX1AgKFY0U0lt b2RlKSIKIHsKLSAgcnR4ICgqZnVuKSAocnR4LCBydHgsIHJ0eCk7Ci0gIGZ1biA9IEJZVEVT X0JJR19FTkRJQU4gPyBnZW5fYWx0aXZlY192bXJnbHdfZGlyZWN0X3Y0c2kKLQkJCSA6IGdl bl9hbHRpdmVjX3Ztcmdod19kaXJlY3RfdjRzaTsKLSAgaWYgKCFCWVRFU19CSUdfRU5ESUFO KQotICAgIHN0ZDo6c3dhcCAob3BlcmFuZHNbMV0sIG9wZXJhbmRzWzJdKTsKLSAgZW1pdF9p bnNuIChmdW4gKG9wZXJhbmRzWzBdLCBvcGVyYW5kc1sxXSwgb3BlcmFuZHNbMl0pKTsKKyAg aWYgKEJZVEVTX0JJR19FTkRJQU4pCisgICAgZW1pdF9pbnNuIChnZW5fYWx0aXZlY192bXJn bHdfZGlyZWN0X3Y0c2lfYmUgKG9wZXJhbmRzWzBdLAorCQkJCQkJICBvcGVyYW5kc1sxXSwK KwkJCQkJCSAgb3BlcmFuZHNbMl0pKTsKKyAgZWxzZQorICAgIGVtaXRfaW5zbiAoZ2VuX2Fs dGl2ZWNfdm1yZ2h3X2RpcmVjdF92NHNpX2xlIChvcGVyYW5kc1swXSwKKwkJCQkJCSAgb3Bl cmFuZHNbMl0sCisJCQkJCQkgIG9wZXJhbmRzWzFdKSk7CiAgIERPTkU7CiB9KQogCi0oZGVm aW5lX2luc24gImFsdGl2ZWNfdm1yZ2x3X2RpcmVjdF88bW9kZT4iCisoZGVmaW5lX2luc24g ImFsdGl2ZWNfdm1yZ2x3X2RpcmVjdF88bW9kZT5fYmUiCiAgIFsoc2V0IChtYXRjaF9vcGVy YW5kOlZTWF9XIDAgInJlZ2lzdGVyX29wZXJhbmQiICI9d2EsdiIpCiAJKHZlY19zZWxlY3Q6 VlNYX1cKIAkgICh2ZWNfY29uY2F0OjxWU19kb3VibGU+CkBAIC0xMzI3LDcgKzE0MTMsMjEg QEAgKGRlZmluZV9pbnNuICJhbHRpdmVjX3Ztcmdsd19kaXJlY3RfPG1vZGU+IgogCSAgICAo bWF0Y2hfb3BlcmFuZDpWU1hfVyAyICJyZWdpc3Rlcl9vcGVyYW5kIiAid2EsdiIpKQogCSAg KHBhcmFsbGVsIFsoY29uc3RfaW50IDIpIChjb25zdF9pbnQgNikKIAkJICAgICAoY29uc3Rf aW50IDMpIChjb25zdF9pbnQgNyldKSkpXQotICAiVEFSR0VUX0FMVElWRUMiCisgICJUQVJH RVRfQUxUSVZFQyAmJiBCWVRFU19CSUdfRU5ESUFOIgorICAiQAorICAgeHhtcmdsdyAleDAs JXgxLCV4MgorICAgdm1yZ2x3ICUwLCUxLCUyIgorICBbKHNldF9hdHRyICJ0eXBlIiAidmVj cGVybSIpXSkKKworKGRlZmluZV9pbnNuICJhbHRpdmVjX3Ztcmdsd19kaXJlY3RfPG1vZGU+ X2xlIgorICBbKHNldCAobWF0Y2hfb3BlcmFuZDpWU1hfVyAwICJyZWdpc3Rlcl9vcGVyYW5k IiAiPXdhLHYiKQorCSh2ZWNfc2VsZWN0OlZTWF9XCisJICAodmVjX2NvbmNhdDo8VlNfZG91 YmxlPgorCSAgICAobWF0Y2hfb3BlcmFuZDpWU1hfVyAyICJyZWdpc3Rlcl9vcGVyYW5kIiAi d2EsdiIpCisJICAgIChtYXRjaF9vcGVyYW5kOlZTWF9XIDEgInJlZ2lzdGVyX29wZXJhbmQi ICJ3YSx2IikpCisJICAocGFyYWxsZWwgWyhjb25zdF9pbnQgMCkgKGNvbnN0X2ludCA0KQor CQkgICAgIChjb25zdF9pbnQgMSkgKGNvbnN0X2ludCA1KV0pKSldCisgICJUQVJHRVRfQUxU SVZFQyAmJiAhQllURVNfQklHX0VORElBTiIKICAgIkAKICAgIHh4bXJnbHcgJXgwLCV4MSwl eDIKICAgIHZtcmdsdyAlMCwlMSwlMiIKQEAgLTM2OTksMTMgKzM3OTksMTMgQEAgKGRlZmlu ZV9leHBhbmQgInZlY193aWRlbl91bXVsdF9oaV92MTZxaSIKICAgICB7CiAgICAgICBlbWl0 X2luc24gKGdlbl9hbHRpdmVjX3ZtdWxldWIgKHZlLCBvcGVyYW5kc1sxXSwgb3BlcmFuZHNb Ml0pKTsKICAgICAgIGVtaXRfaW5zbiAoZ2VuX2FsdGl2ZWNfdm11bG91YiAodm8sIG9wZXJh bmRzWzFdLCBvcGVyYW5kc1syXSkpOwotICAgICAgZW1pdF9pbnNuIChnZW5fYWx0aXZlY192 bXJnaGhfZGlyZWN0IChvcGVyYW5kc1swXSwgdmUsIHZvKSk7CisgICAgICBlbWl0X2luc24g KGdlbl9hbHRpdmVjX3ZtcmdoaF9kaXJlY3RfYmUgKG9wZXJhbmRzWzBdLCB2ZSwgdm8pKTsK ICAgICB9CiAgIGVsc2UKICAgICB7CiAgICAgICBlbWl0X2luc24gKGdlbl9hbHRpdmVjX3Zt dWxvdWIgKHZlLCBvcGVyYW5kc1sxXSwgb3BlcmFuZHNbMl0pKTsKICAgICAgIGVtaXRfaW5z biAoZ2VuX2FsdGl2ZWNfdm11bGV1YiAodm8sIG9wZXJhbmRzWzFdLCBvcGVyYW5kc1syXSkp OwotICAgICAgZW1pdF9pbnNuIChnZW5fYWx0aXZlY192bXJnaGhfZGlyZWN0IChvcGVyYW5k c1swXSwgdm8sIHZlKSk7CisgICAgICBlbWl0X2luc24gKGdlbl9hbHRpdmVjX3ZtcmdoaF9k aXJlY3RfbGUgKG9wZXJhbmRzWzBdLCB2bywgdmUpKTsKICAgICB9CiAgIERPTkU7CiB9KQpA QCAtMzcyNCwxMyArMzgyNCwxMyBAQCAoZGVmaW5lX2V4cGFuZCAidmVjX3dpZGVuX3VtdWx0 X2xvX3YxNnFpIgogICAgIHsKICAgICAgIGVtaXRfaW5zbiAoZ2VuX2FsdGl2ZWNfdm11bGV1 YiAodmUsIG9wZXJhbmRzWzFdLCBvcGVyYW5kc1syXSkpOwogICAgICAgZW1pdF9pbnNuIChn ZW5fYWx0aXZlY192bXVsb3ViICh2bywgb3BlcmFuZHNbMV0sIG9wZXJhbmRzWzJdKSk7Ci0g ICAgICBlbWl0X2luc24gKGdlbl9hbHRpdmVjX3ZtcmdsaF9kaXJlY3QgKG9wZXJhbmRzWzBd LCB2ZSwgdm8pKTsKKyAgICAgIGVtaXRfaW5zbiAoZ2VuX2FsdGl2ZWNfdm1yZ2xoX2RpcmVj dF9iZSAob3BlcmFuZHNbMF0sIHZlLCB2bykpOwogICAgIH0KICAgZWxzZQogICAgIHsKICAg ICAgIGVtaXRfaW5zbiAoZ2VuX2FsdGl2ZWNfdm11bG91YiAodmUsIG9wZXJhbmRzWzFdLCBv cGVyYW5kc1syXSkpOwogICAgICAgZW1pdF9pbnNuIChnZW5fYWx0aXZlY192bXVsZXViICh2 bywgb3BlcmFuZHNbMV0sIG9wZXJhbmRzWzJdKSk7Ci0gICAgICBlbWl0X2luc24gKGdlbl9h bHRpdmVjX3ZtcmdsaF9kaXJlY3QgKG9wZXJhbmRzWzBdLCB2bywgdmUpKTsKKyAgICAgIGVt aXRfaW5zbiAoZ2VuX2FsdGl2ZWNfdm1yZ2xoX2RpcmVjdF9sZSAob3BlcmFuZHNbMF0sIHZv LCB2ZSkpOwogICAgIH0KICAgRE9ORTsKIH0pCkBAIC0zNzQ5LDEzICszODQ5LDEzIEBAIChk ZWZpbmVfZXhwYW5kICJ2ZWNfd2lkZW5fc211bHRfaGlfdjE2cWkiCiAgICAgewogICAgICAg ZW1pdF9pbnNuIChnZW5fYWx0aXZlY192bXVsZXNiICh2ZSwgb3BlcmFuZHNbMV0sIG9wZXJh bmRzWzJdKSk7CiAgICAgICBlbWl0X2luc24gKGdlbl9hbHRpdmVjX3ZtdWxvc2IgKHZvLCBv cGVyYW5kc1sxXSwgb3BlcmFuZHNbMl0pKTsKLSAgICAgIGVtaXRfaW5zbiAoZ2VuX2FsdGl2 ZWNfdm1yZ2hoX2RpcmVjdCAob3BlcmFuZHNbMF0sIHZlLCB2bykpOworICAgICAgZW1pdF9p bnNuIChnZW5fYWx0aXZlY192bXJnaGhfZGlyZWN0X2JlIChvcGVyYW5kc1swXSwgdmUsIHZv KSk7CiAgICAgfQogICBlbHNlCiAgICAgewogICAgICAgZW1pdF9pbnNuIChnZW5fYWx0aXZl Y192bXVsb3NiICh2ZSwgb3BlcmFuZHNbMV0sIG9wZXJhbmRzWzJdKSk7CiAgICAgICBlbWl0 X2luc24gKGdlbl9hbHRpdmVjX3ZtdWxlc2IgKHZvLCBvcGVyYW5kc1sxXSwgb3BlcmFuZHNb Ml0pKTsKLSAgICAgIGVtaXRfaW5zbiAoZ2VuX2FsdGl2ZWNfdm1yZ2hoX2RpcmVjdCAob3Bl cmFuZHNbMF0sIHZvLCB2ZSkpOworICAgICAgZW1pdF9pbnNuIChnZW5fYWx0aXZlY192bXJn aGhfZGlyZWN0X2xlIChvcGVyYW5kc1swXSwgdm8sIHZlKSk7CiAgICAgfQogICBET05FOwog fSkKQEAgLTM3NzQsMTMgKzM4NzQsMTMgQEAgKGRlZmluZV9leHBhbmQgInZlY193aWRlbl9z bXVsdF9sb192MTZxaSIKICAgICB7CiAgICAgICBlbWl0X2luc24gKGdlbl9hbHRpdmVjX3Zt dWxlc2IgKHZlLCBvcGVyYW5kc1sxXSwgb3BlcmFuZHNbMl0pKTsKICAgICAgIGVtaXRfaW5z biAoZ2VuX2FsdGl2ZWNfdm11bG9zYiAodm8sIG9wZXJhbmRzWzFdLCBvcGVyYW5kc1syXSkp OwotICAgICAgZW1pdF9pbnNuIChnZW5fYWx0aXZlY192bXJnbGhfZGlyZWN0IChvcGVyYW5k c1swXSwgdmUsIHZvKSk7CisgICAgICBlbWl0X2luc24gKGdlbl9hbHRpdmVjX3ZtcmdsaF9k aXJlY3RfYmUgKG9wZXJhbmRzWzBdLCB2ZSwgdm8pKTsKICAgICB9CiAgIGVsc2UKICAgICB7 CiAgICAgICBlbWl0X2luc24gKGdlbl9hbHRpdmVjX3ZtdWxvc2IgKHZlLCBvcGVyYW5kc1sx XSwgb3BlcmFuZHNbMl0pKTsKICAgICAgIGVtaXRfaW5zbiAoZ2VuX2FsdGl2ZWNfdm11bGVz YiAodm8sIG9wZXJhbmRzWzFdLCBvcGVyYW5kc1syXSkpOwotICAgICAgZW1pdF9pbnNuIChn ZW5fYWx0aXZlY192bXJnbGhfZGlyZWN0IChvcGVyYW5kc1swXSwgdm8sIHZlKSk7CisgICAg ICBlbWl0X2luc24gKGdlbl9hbHRpdmVjX3ZtcmdsaF9kaXJlY3RfbGUgKG9wZXJhbmRzWzBd LCB2bywgdmUpKTsKICAgICB9CiAgIERPTkU7CiB9KQpAQCAtMzc5OSwxMyArMzg5OSwxMyBA QCAoZGVmaW5lX2V4cGFuZCAidmVjX3dpZGVuX3VtdWx0X2hpX3Y4aGkiCiAgICAgewogICAg ICAgZW1pdF9pbnNuIChnZW5fYWx0aXZlY192bXVsZXVoICh2ZSwgb3BlcmFuZHNbMV0sIG9w ZXJhbmRzWzJdKSk7CiAgICAgICBlbWl0X2luc24gKGdlbl9hbHRpdmVjX3ZtdWxvdWggKHZv LCBvcGVyYW5kc1sxXSwgb3BlcmFuZHNbMl0pKTsKLSAgICAgIGVtaXRfaW5zbiAoZ2VuX2Fs dGl2ZWNfdm1yZ2h3X2RpcmVjdF92NHNpIChvcGVyYW5kc1swXSwgdmUsIHZvKSk7CisgICAg ICBlbWl0X2luc24gKGdlbl9hbHRpdmVjX3Ztcmdod19kaXJlY3RfdjRzaV9iZSAob3BlcmFu ZHNbMF0sIHZlLCB2bykpOwogICAgIH0KICAgZWxzZQogICAgIHsKICAgICAgIGVtaXRfaW5z biAoZ2VuX2FsdGl2ZWNfdm11bG91aCAodmUsIG9wZXJhbmRzWzFdLCBvcGVyYW5kc1syXSkp OwogICAgICAgZW1pdF9pbnNuIChnZW5fYWx0aXZlY192bXVsZXVoICh2bywgb3BlcmFuZHNb MV0sIG9wZXJhbmRzWzJdKSk7Ci0gICAgICBlbWl0X2luc24gKGdlbl9hbHRpdmVjX3Ztcmdo d19kaXJlY3RfdjRzaSAob3BlcmFuZHNbMF0sIHZvLCB2ZSkpOworICAgICAgZW1pdF9pbnNu IChnZW5fYWx0aXZlY192bXJnaHdfZGlyZWN0X3Y0c2lfbGUgKG9wZXJhbmRzWzBdLCB2bywg dmUpKTsKICAgICB9CiAgIERPTkU7CiB9KQpAQCAtMzgyNCwxMyArMzkyNCwxMyBAQCAoZGVm aW5lX2V4cGFuZCAidmVjX3dpZGVuX3VtdWx0X2xvX3Y4aGkiCiAgICAgewogICAgICAgZW1p dF9pbnNuIChnZW5fYWx0aXZlY192bXVsZXVoICh2ZSwgb3BlcmFuZHNbMV0sIG9wZXJhbmRz WzJdKSk7CiAgICAgICBlbWl0X2luc24gKGdlbl9hbHRpdmVjX3ZtdWxvdWggKHZvLCBvcGVy YW5kc1sxXSwgb3BlcmFuZHNbMl0pKTsKLSAgICAgIGVtaXRfaW5zbiAoZ2VuX2FsdGl2ZWNf dm1yZ2x3X2RpcmVjdF92NHNpIChvcGVyYW5kc1swXSwgdmUsIHZvKSk7CisgICAgICBlbWl0 X2luc24gKGdlbl9hbHRpdmVjX3Ztcmdsd19kaXJlY3RfdjRzaV9iZSAob3BlcmFuZHNbMF0s IHZlLCB2bykpOwogICAgIH0KICAgZWxzZQogICAgIHsKICAgICAgIGVtaXRfaW5zbiAoZ2Vu X2FsdGl2ZWNfdm11bG91aCAodmUsIG9wZXJhbmRzWzFdLCBvcGVyYW5kc1syXSkpOwogICAg ICAgZW1pdF9pbnNuIChnZW5fYWx0aXZlY192bXVsZXVoICh2bywgb3BlcmFuZHNbMV0sIG9w ZXJhbmRzWzJdKSk7Ci0gICAgICBlbWl0X2luc24gKGdlbl9hbHRpdmVjX3Ztcmdsd19kaXJl Y3RfdjRzaSAob3BlcmFuZHNbMF0sIHZvLCB2ZSkpOworICAgICAgZW1pdF9pbnNuIChnZW5f YWx0aXZlY192bXJnbHdfZGlyZWN0X3Y0c2lfbGUgKG9wZXJhbmRzWzBdLCB2bywgdmUpKTsK ICAgICB9CiAgIERPTkU7CiB9KQpAQCAtMzg0OSwxMyArMzk0OSwxMyBAQCAoZGVmaW5lX2V4 cGFuZCAidmVjX3dpZGVuX3NtdWx0X2hpX3Y4aGkiCiAgICAgewogICAgICAgZW1pdF9pbnNu IChnZW5fYWx0aXZlY192bXVsZXNoICh2ZSwgb3BlcmFuZHNbMV0sIG9wZXJhbmRzWzJdKSk7 CiAgICAgICBlbWl0X2luc24gKGdlbl9hbHRpdmVjX3ZtdWxvc2ggKHZvLCBvcGVyYW5kc1sx XSwgb3BlcmFuZHNbMl0pKTsKLSAgICAgIGVtaXRfaW5zbiAoZ2VuX2FsdGl2ZWNfdm1yZ2h3 X2RpcmVjdF92NHNpIChvcGVyYW5kc1swXSwgdmUsIHZvKSk7CisgICAgICBlbWl0X2luc24g KGdlbl9hbHRpdmVjX3Ztcmdod19kaXJlY3RfdjRzaV9iZSAob3BlcmFuZHNbMF0sIHZlLCB2 bykpOwogICAgIH0KICAgZWxzZQogICAgIHsKICAgICAgIGVtaXRfaW5zbiAoZ2VuX2FsdGl2 ZWNfdm11bG9zaCAodmUsIG9wZXJhbmRzWzFdLCBvcGVyYW5kc1syXSkpOwogICAgICAgZW1p dF9pbnNuIChnZW5fYWx0aXZlY192bXVsZXNoICh2bywgb3BlcmFuZHNbMV0sIG9wZXJhbmRz WzJdKSk7Ci0gICAgICBlbWl0X2luc24gKGdlbl9hbHRpdmVjX3Ztcmdod19kaXJlY3RfdjRz aSAob3BlcmFuZHNbMF0sIHZvLCB2ZSkpOworICAgICAgZW1pdF9pbnNuIChnZW5fYWx0aXZl Y192bXJnaHdfZGlyZWN0X3Y0c2lfbGUgKG9wZXJhbmRzWzBdLCB2bywgdmUpKTsKICAgICB9 CiAgIERPTkU7CiB9KQpAQCAtMzg3NCwxMyArMzk3NCwxMyBAQCAoZGVmaW5lX2V4cGFuZCAi dmVjX3dpZGVuX3NtdWx0X2xvX3Y4aGkiCiAgICAgewogICAgICAgZW1pdF9pbnNuIChnZW5f YWx0aXZlY192bXVsZXNoICh2ZSwgb3BlcmFuZHNbMV0sIG9wZXJhbmRzWzJdKSk7CiAgICAg ICBlbWl0X2luc24gKGdlbl9hbHRpdmVjX3ZtdWxvc2ggKHZvLCBvcGVyYW5kc1sxXSwgb3Bl cmFuZHNbMl0pKTsKLSAgICAgIGVtaXRfaW5zbiAoZ2VuX2FsdGl2ZWNfdm1yZ2x3X2RpcmVj dF92NHNpIChvcGVyYW5kc1swXSwgdmUsIHZvKSk7CisgICAgICBlbWl0X2luc24gKGdlbl9h bHRpdmVjX3Ztcmdsd19kaXJlY3RfdjRzaV9iZSAob3BlcmFuZHNbMF0sIHZlLCB2bykpOwog ICAgIH0KICAgZWxzZQogICAgIHsKICAgICAgIGVtaXRfaW5zbiAoZ2VuX2FsdGl2ZWNfdm11 bG9zaCAodmUsIG9wZXJhbmRzWzFdLCBvcGVyYW5kc1syXSkpOwogICAgICAgZW1pdF9pbnNu IChnZW5fYWx0aXZlY192bXVsZXNoICh2bywgb3BlcmFuZHNbMV0sIG9wZXJhbmRzWzJdKSk7 Ci0gICAgICBlbWl0X2luc24gKGdlbl9hbHRpdmVjX3Ztcmdsd19kaXJlY3RfdjRzaSAob3Bl cmFuZHNbMF0sIHZvLCB2ZSkpOworICAgICAgZW1pdF9pbnNuIChnZW5fYWx0aXZlY192bXJn bHdfZGlyZWN0X3Y0c2lfbGUgKG9wZXJhbmRzWzBdLCB2bywgdmUpKTsKICAgICB9CiAgIERP TkU7CiB9KQpkaWZmIC0tZ2l0IGEvZ2NjL2NvbmZpZy9yczYwMDAvcnM2MDAwLmNjIGIvZ2Nj L2NvbmZpZy9yczYwMDAvcnM2MDAwLmNjCmluZGV4IGRmNDkxYmVlMmVhLi5jNmNjZDQwZTA4 OSAxMDA2NDQKLS0tIGEvZ2NjL2NvbmZpZy9yczYwMDAvcnM2MDAwLmNjCisrKyBiL2djYy9j b25maWcvcnM2MDAwL3JzNjAwMC5jYwpAQCAtMjI5NDIsMjggKzIyOTQyLDI4IEBAIGFsdGl2 ZWNfZXhwYW5kX3ZlY19wZXJtX2NvbnN0IChydHggdGFyZ2V0LCBydHggb3AwLCBydHggb3Ax LAogICAgICBDT0RFX0ZPUl9hbHRpdmVjX3Zwa3V3dW1fZGlyZWN0LAogICAgICB7MiwgMywg NiwgNywgMTAsIDExLCAxNCwgMTUsIDE4LCAxOSwgMjIsIDIzLCAyNiwgMjcsIDMwLCAzMX19 LAogICAgIHtPUFRJT05fTUFTS19BTFRJVkVDLAotICAgICBCWVRFU19CSUdfRU5ESUFOID8g Q09ERV9GT1JfYWx0aXZlY192bXJnaGJfZGlyZWN0Ci0JCSAgICAgIDogQ09ERV9GT1JfYWx0 aXZlY192bXJnbGJfZGlyZWN0LAorICAgICBCWVRFU19CSUdfRU5ESUFOID8gQ09ERV9GT1Jf YWx0aXZlY192bXJnaGJfZGlyZWN0X2JlCisJCSAgICAgIDogQ09ERV9GT1JfYWx0aXZlY192 bXJnbGJfZGlyZWN0X2xlLAogICAgICB7MCwgMTYsIDEsIDE3LCAyLCAxOCwgMywgMTksIDQs IDIwLCA1LCAyMSwgNiwgMjIsIDcsIDIzfX0sCiAgICAge09QVElPTl9NQVNLX0FMVElWRUMs Ci0gICAgIEJZVEVTX0JJR19FTkRJQU4gPyBDT0RFX0ZPUl9hbHRpdmVjX3ZtcmdoaF9kaXJl Y3QKLQkJICAgICAgOiBDT0RFX0ZPUl9hbHRpdmVjX3ZtcmdsaF9kaXJlY3QsCisgICAgIEJZ VEVTX0JJR19FTkRJQU4gPyBDT0RFX0ZPUl9hbHRpdmVjX3ZtcmdoaF9kaXJlY3RfYmUKKwkJ ICAgICAgOiBDT0RFX0ZPUl9hbHRpdmVjX3ZtcmdsaF9kaXJlY3RfbGUsCiAgICAgIHswLCAx LCAxNiwgMTcsIDIsIDMsIDE4LCAxOSwgNCwgNSwgMjAsIDIxLCA2LCA3LCAyMiwgMjN9fSwK ICAgICB7T1BUSU9OX01BU0tfQUxUSVZFQywKLSAgICAgQllURVNfQklHX0VORElBTiA/IENP REVfRk9SX2FsdGl2ZWNfdm1yZ2h3X2RpcmVjdF92NHNpCi0JCSAgICAgIDogQ09ERV9GT1Jf YWx0aXZlY192bXJnbHdfZGlyZWN0X3Y0c2ksCisgICAgIEJZVEVTX0JJR19FTkRJQU4gPyBD T0RFX0ZPUl9hbHRpdmVjX3Ztcmdod19kaXJlY3RfdjRzaV9iZQorCQkgICAgICA6IENPREVf Rk9SX2FsdGl2ZWNfdm1yZ2x3X2RpcmVjdF92NHNpX2xlLAogICAgICB7MCwgMSwgMiwgMywg MTYsIDE3LCAxOCwgMTksIDQsIDUsIDYsIDcsIDIwLCAyMSwgMjIsIDIzfX0sCiAgICAge09Q VElPTl9NQVNLX0FMVElWRUMsCi0gICAgIEJZVEVTX0JJR19FTkRJQU4gPyBDT0RFX0ZPUl9h bHRpdmVjX3ZtcmdsYl9kaXJlY3QKLQkJICAgICAgOiBDT0RFX0ZPUl9hbHRpdmVjX3Ztcmdo Yl9kaXJlY3QsCisgICAgIEJZVEVTX0JJR19FTkRJQU4gPyBDT0RFX0ZPUl9hbHRpdmVjX3Zt cmdsYl9kaXJlY3RfYmUKKwkJICAgICAgOiBDT0RFX0ZPUl9hbHRpdmVjX3ZtcmdoYl9kaXJl Y3RfbGUsCiAgICAgIHs4LCAyNCwgOSwgMjUsIDEwLCAyNiwgMTEsIDI3LCAxMiwgMjgsIDEz LCAyOSwgMTQsIDMwLCAxNSwgMzF9fSwKICAgICB7T1BUSU9OX01BU0tfQUxUSVZFQywKLSAg ICAgQllURVNfQklHX0VORElBTiA/IENPREVfRk9SX2FsdGl2ZWNfdm1yZ2xoX2RpcmVjdAot CQkgICAgICA6IENPREVfRk9SX2FsdGl2ZWNfdm1yZ2hoX2RpcmVjdCwKKyAgICAgQllURVNf QklHX0VORElBTiA/IENPREVfRk9SX2FsdGl2ZWNfdm1yZ2xoX2RpcmVjdF9iZQorCQkgICAg ICA6IENPREVfRk9SX2FsdGl2ZWNfdm1yZ2hoX2RpcmVjdF9sZSwKICAgICAgezgsIDksIDI0 LCAyNSwgMTAsIDExLCAyNiwgMjcsIDEyLCAxMywgMjgsIDI5LCAxNCwgMTUsIDMwLCAzMX19 LAogICAgIHtPUFRJT05fTUFTS19BTFRJVkVDLAotICAgICBCWVRFU19CSUdfRU5ESUFOID8g Q09ERV9GT1JfYWx0aXZlY192bXJnbHdfZGlyZWN0X3Y0c2kKLQkJICAgICAgOiBDT0RFX0ZP Ul9hbHRpdmVjX3Ztcmdod19kaXJlY3RfdjRzaSwKKyAgICAgQllURVNfQklHX0VORElBTiA/ IENPREVfRk9SX2FsdGl2ZWNfdm1yZ2x3X2RpcmVjdF92NHNpX2JlCisJCSAgICAgIDogQ09E RV9GT1JfYWx0aXZlY192bXJnaHdfZGlyZWN0X3Y0c2lfbGUsCiAgICAgIHs4LCA5LCAxMCwg MTEsIDI0LCAyNSwgMjYsIDI3LCAxMiwgMTMsIDE0LCAxNSwgMjgsIDI5LCAzMCwgMzF9fSwK ICAgICB7T1BUSU9OX01BU0tfUDhfVkVDVE9SLAogICAgICBCWVRFU19CSUdfRU5ESUFOID8g Q09ERV9GT1JfcDhfdm1yZ2V3X3Y0c2ZfZGlyZWN0CmRpZmYgLS1naXQgYS9nY2MvY29uZmln L3JzNjAwMC92c3gubWQgYi9nY2MvY29uZmlnL3JzNjAwMC92c3gubWQKaW5kZXggZTIyNmE5 M2JiZTUuLjgwZjg0ZTliMTQxIDEwMDY0NAotLS0gYS9nY2MvY29uZmlnL3JzNjAwMC92c3gu bWQKKysrIGIvZ2NjL2NvbmZpZy9yczYwMDAvdnN4Lm1kCkBAIC00Njg4LDEyICs0Njg4LDE0 IEBAIChkZWZpbmVfZXhwYW5kICJ2c3hfeHhtcmdod188bW9kZT4iCiAJCSAgICAgKGNvbnN0 X2ludCAxKSAoY29uc3RfaW50IDUpXSkpKV0KICAgIlZFQ1RPUl9NRU1fVlNYX1AgKDxNT0RF Pm1vZGUpIgogewotICBydHggKCpmdW4pIChydHgsIHJ0eCwgcnR4KTsKLSAgZnVuID0gQllU RVNfQklHX0VORElBTiA/IGdlbl9hbHRpdmVjX3Ztcmdod19kaXJlY3RfPG1vZGU+Ci0JCQkg OiBnZW5fYWx0aXZlY192bXJnbHdfZGlyZWN0Xzxtb2RlPjsKLSAgaWYgKCFCWVRFU19CSUdf RU5ESUFOKQotICAgIHN0ZDo6c3dhcCAob3BlcmFuZHNbMV0sIG9wZXJhbmRzWzJdKTsKLSAg ZW1pdF9pbnNuIChmdW4gKG9wZXJhbmRzWzBdLCBvcGVyYW5kc1sxXSwgb3BlcmFuZHNbMl0p KTsKKyAgaWYgKEJZVEVTX0JJR19FTkRJQU4pCisgICAgZW1pdF9pbnNuIChnZW5fYWx0aXZl Y192bXJnaHdfZGlyZWN0X3Y0c2lfYmUgKG9wZXJhbmRzWzBdLAorCQkJCQkJICBvcGVyYW5k c1sxXSwKKwkJCQkJCSAgb3BlcmFuZHNbMl0pKTsKKyAgZWxzZQorICAgIGVtaXRfaW5zbiAo Z2VuX2FsdGl2ZWNfdm1yZ2x3X2RpcmVjdF92NHNpX2xlIChvcGVyYW5kc1swXSwKKwkJCQkJ CSAgb3BlcmFuZHNbMl0sCisJCQkJCQkgIG9wZXJhbmRzWzFdKSk7CiAgIERPTkU7CiB9CiAg IFsoc2V0X2F0dHIgInR5cGUiICJ2ZWNwZXJtIildKQpAQCAtNDcwOCwxMiArNDcxMCwxNCBA QCAoZGVmaW5lX2V4cGFuZCAidnN4X3h4bXJnbHdfPG1vZGU+IgogCQkgICAgIChjb25zdF9p bnQgMykgKGNvbnN0X2ludCA3KV0pKSldCiAgICJWRUNUT1JfTUVNX1ZTWF9QICg8TU9ERT5t b2RlKSIKIHsKLSAgcnR4ICgqZnVuKSAocnR4LCBydHgsIHJ0eCk7Ci0gIGZ1biA9IEJZVEVT X0JJR19FTkRJQU4gPyBnZW5fYWx0aXZlY192bXJnbHdfZGlyZWN0Xzxtb2RlPgotCQkJIDog Z2VuX2FsdGl2ZWNfdm1yZ2h3X2RpcmVjdF88bW9kZT47Ci0gIGlmICghQllURVNfQklHX0VO RElBTikKLSAgICBzdGQ6OnN3YXAgKG9wZXJhbmRzWzFdLCBvcGVyYW5kc1syXSk7Ci0gIGVt aXRfaW5zbiAoZnVuIChvcGVyYW5kc1swXSwgb3BlcmFuZHNbMV0sIG9wZXJhbmRzWzJdKSk7 CisgIGlmIChCWVRFU19CSUdfRU5ESUFOKQorICAgIGVtaXRfaW5zbiAoZ2VuX2FsdGl2ZWNf dm1yZ2x3X2RpcmVjdF92NHNpX2JlIChvcGVyYW5kc1swXSwKKwkJCQkJCSAgb3BlcmFuZHNb MV0sCisJCQkJCQkgIG9wZXJhbmRzWzJdKSk7CisgIGVsc2UKKyAgICBlbWl0X2luc24gKGdl bl9hbHRpdmVjX3Ztcmdod19kaXJlY3RfdjRzaV9sZSAob3BlcmFuZHNbMF0sCisJCQkJCQkg IG9wZXJhbmRzWzJdLAorCQkJCQkJICBvcGVyYW5kc1sxXSkpOwogICBET05FOwogfQogICBb KHNldF9hdHRyICJ0eXBlIiAidmVjcGVybSIpXSkKZGlmZiAtLWdpdCBhL2djYy90ZXN0c3Vp dGUvZysrLnRhcmdldC9wb3dlcnBjL3ByMTA2MDY5LkMgYi9nY2MvdGVzdHN1aXRlL2crKy50 YXJnZXQvcG93ZXJwYy9wcjEwNjA2OS5DCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw MDAwMDAwMDAwLi5jODk3MzllY2I1NQotLS0gL2Rldi9udWxsCisrKyBiL2djYy90ZXN0c3Vp dGUvZysrLnRhcmdldC9wb3dlcnBjL3ByMTA2MDY5LkMKQEAgLTAsMCArMSwxMTggQEAKKy8q IHsgZGctb3B0aW9ucyAiLU8gLWZuby10cmVlLWZvcndwcm9wIC1tYWx0aXZlYyIgfSAqLwor LyogeyBkZy1yZXF1aXJlLWVmZmVjdGl2ZS10YXJnZXQgdm14X2h3IH0gKi8KKy8qIHsgZGct ZG8gcnVuIH0gKi8KKwordHlwZWRlZiBfX2F0dHJpYnV0ZV9fICgoYWx0aXZlYyAodmVjdG9y X18pKSkgdW5zaWduZWQgbmF0aXZlX3NpbWRfdHlwZTsKKwordW5pb24KK3sKKyAgbmF0aXZl X3NpbWRfdHlwZSBWOworICBpbnQgUls0XTsKK30gc3RvcmVfbGVfdmVjOworCitzdHJ1Y3Qg UworeworICBTICgpID0gZGVmYXVsdDsKKyAgUyAodW5zaWduZWQgQjApCisgIHsKKyAgICBu YXRpdmVfc2ltZF90eXBlIHZhbHtCMH07CisgICAgbV9zaW1kID0gdmFsOworICB9CisgIHZv aWQgc3RvcmVfbGUgKHVuc2lnbmVkIGludCBvdXRbXSkKKyAgeworICAgIHN0b3JlX2xlX3Zl Yy5WID0gbV9zaW1kOworICAgIHVuc2lnbmVkIGludCB4MCA9IHN0b3JlX2xlX3ZlYy5SWzBd OworICAgIF9fYnVpbHRpbl9tZW1jcHkgKG91dCwgJngwLCA0KTsKKyAgfQorICBTIHJvdGwg KHVuc2lnbmVkIGludCByKQorICB7CisgICAgbmF0aXZlX3NpbWRfdHlwZSByb3R7cn07Cisg ICAgcmV0dXJuIF9fYnVpbHRpbl92ZWNfcmwgKG1fc2ltZCwgcm90KTsKKyAgfQorICB2b2lk IG9wZXJhdG9yKz0gKFMgb3RoZXIpCisgIHsKKyAgICBtX3NpbWQgPSBfX2J1aWx0aW5fdmVj X2FkZCAobV9zaW1kLCBvdGhlci5tX3NpbWQpOworICB9CisgIHZvaWQgb3BlcmF0b3JePSAo UyBvdGhlcikKKyAgeworICAgIG1fc2ltZCA9IF9fYnVpbHRpbl92ZWNfeG9yIChtX3NpbWQs IG90aGVyLm1fc2ltZCk7CisgIH0KKyAgc3RhdGljIHZvaWQgdHJhbnNwb3NlIChTICZCMCwg UyBCMSwgUyBCMiwgUyBCMykKKyAgeworICAgIG5hdGl2ZV9zaW1kX3R5cGUgVDAgPSBfX2J1 aWx0aW5fdmVjX21lcmdlaCAoQjAubV9zaW1kLCBCMi5tX3NpbWQpOworICAgIG5hdGl2ZV9z aW1kX3R5cGUgVDEgPSBfX2J1aWx0aW5fdmVjX21lcmdlaCAoQjEubV9zaW1kLCBCMy5tX3Np bWQpOworICAgIG5hdGl2ZV9zaW1kX3R5cGUgVDIgPSBfX2J1aWx0aW5fdmVjX21lcmdlbCAo QjAubV9zaW1kLCBCMi5tX3NpbWQpOworICAgIG5hdGl2ZV9zaW1kX3R5cGUgVDMgPSBfX2J1 aWx0aW5fdmVjX21lcmdlbCAoQjEubV9zaW1kLCBCMy5tX3NpbWQpOworICAgIEIwID0gX19i dWlsdGluX3ZlY19tZXJnZWggKFQwLCBUMSk7CisgICAgQjMgPSBfX2J1aWx0aW5fdmVjX21l cmdlbCAoVDIsIFQzKTsKKyAgfQorICBTIChuYXRpdmVfc2ltZF90eXBlIHgpIDogbV9zaW1k ICh4KSB7fQorICBuYXRpdmVfc2ltZF90eXBlIG1fc2ltZDsKK307CisKK3ZvaWQKK2ZvbyAo dW5zaWduZWQgaW50IG91dHB1dFtdLCB1bnNpZ25lZCBzdGF0ZVtdKQoreworICBTIFIwMCA9 IHN0YXRlWzBdOworICBTIFIwMSA9IHN0YXRlWzBdOworICBTIFIwMiA9IHN0YXRlWzJdOwor ICBTIFIwMyA9IHN0YXRlWzBdOworICBTIFIwNSA9IHN0YXRlWzVdOworICBTIFIwNiA9IHN0 YXRlWzZdOworICBTIFIwNyA9IHN0YXRlWzddOworICBTIFIwOCA9IHN0YXRlWzhdOworICBT IFIwOSA9IHN0YXRlWzldOworICBTIFIxMCA9IHN0YXRlWzEwXTsKKyAgUyBSMTEgPSBzdGF0 ZVsxMV07CisgIFMgUjEyID0gc3RhdGVbMTJdOworICBTIFIxMyA9IHN0YXRlWzEzXTsKKyAg UyBSMTQgPSBzdGF0ZVs0XTsKKyAgUyBSMTUgPSBzdGF0ZVsxNV07CisgIGZvciAoaW50IHIg PSAwOyByICE9IDEwOyArK3IpCisgICAgeworICAgICAgUjA5ICs9IFIxMzsKKyAgICAgIFIx MSArPSBSMTU7CisgICAgICBSMDUgXj0gUjA5OworICAgICAgUjA2IF49IFIxMDsKKyAgICAg IFIwNyBePSBSMTE7CisgICAgICBSMDcgPSBSMDcucm90bCAoNyk7CisgICAgICBSMDAgKz0g UjA1OworICAgICAgUjAxICs9IFIwNjsKKyAgICAgIFIwMiArPSBSMDc7CisgICAgICBSMTUg Xj0gUjAwOworICAgICAgUjEyIF49IFIwMTsKKyAgICAgIFIxMyBePSBSMDI7CisgICAgICBS MDAgKz0gUjA1OworICAgICAgUjAxICs9IFIwNjsKKyAgICAgIFIwMiArPSBSMDc7CisgICAg ICBSMTUgXj0gUjAwOworICAgICAgUjEyID0gUjEyLnJvdGwgKDgpOworICAgICAgUjEzID0g UjEzLnJvdGwgKDgpOworICAgICAgUjEwICs9IFIxNTsKKyAgICAgIFIxMSArPSBSMTI7Cisg ICAgICBSMDggKz0gUjEzOworICAgICAgUjA5ICs9IFIxNDsKKyAgICAgIFIwNSBePSBSMTA7 CisgICAgICBSMDYgXj0gUjExOworICAgICAgUjA3IF49IFIwODsKKyAgICAgIFIwNSA9IFIw NS5yb3RsICg3KTsKKyAgICAgIFIwNiA9IFIwNi5yb3RsICg3KTsKKyAgICAgIFIwNyA9IFIw Ny5yb3RsICg3KTsKKyAgICB9CisgIFIwMCArPSBzdGF0ZVswXTsKKyAgUzo6dHJhbnNwb3Nl IChSMDAsIFIwMSwgUjAyLCBSMDMpOworICBSMDAuc3RvcmVfbGUgKG91dHB1dCk7Cit9CisK K3Vuc2lnbmVkIGludCByZXNbMV07Cit1bnNpZ25lZCBtYWluX3N0YXRlW117MTYzNDc2MDgw NSwgNjA4NzgsICAgICAgMjAzNjQ3NzIzNCwgNiwKKwkJICAgICAgMCwJICA4MjU1NjI5NjQs ICAxNDcxMDkxOTU1LCAxMzQ2MDkyNzg3LAorCQkgICAgICA1MDY5NzY3NzQsICA0MTk3MDY2 NzAyLCA1MTg4NDgyODMsICAxMTg0OTE2NjQsCisJCSAgICAgIDAsCSAgMCwJICAgICAgMCwJ ICAwfTsKK2ludAorbWFpbiAoKQoreworICBmb28gKHJlcywgbWFpbl9zdGF0ZSk7CisgIGlm IChyZXNbMF0gIT0gMHg0MWZjZWY5OCkKKyAgICBfX2J1aWx0aW5fYWJvcnQgKCk7Cit9Ci0t IAoyLjI3LjAKCg== --------------kcbBWrMffcVWraerKvxV4DUv--