From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 7656 invoked by alias); 16 Jan 2019 00:13:23 -0000 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 Received: (qmail 7636 invoked by uid 89); 16 Jan 2019 00:13:22 -0000 Authentication-Results: sourceware.org; auth=none X-Spam-SWARE-Status: No, score=-1.9 required=5.0 tests=BAYES_00,RCVD_IN_DNSWL_NONE,SPF_PASS autolearn=ham version=3.3.2 spammy= X-HELO: mail-lj1-f176.google.com Received: from mail-lj1-f176.google.com (HELO mail-lj1-f176.google.com) (209.85.208.176) by sourceware.org (qpsmtpd/0.93/v0.84-503-g423c35a) with ESMTP; Wed, 16 Jan 2019 00:13:21 +0000 Received: by mail-lj1-f176.google.com with SMTP id k19-v6so3896554lji.11 for ; Tue, 15 Jan 2019 16:13:20 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; h=mime-version:from:date:message-id:subject:to; bh=d4CGuVhDyVlCc6K+L0xHVkABGTUvsR/HapLe/YgmcOY=; b=RsqbgD1iQyc7DRGDonAoZAuW2YPPwWoZboeKFiRnDe/hWBlN7+MV3rSSqlLByE3S9K J5NvCW2K2g9k47ff9oSGxJ8EPEhdir1yF4OFRGE7De6mC2XhaOeBL5Gf+/P5JWIvHLo9 Q2typipfp35c/VzgKWbzzzWYOV64GR7xwxQpM= MIME-Version: 1.0 From: Kugan Vivekanandarajah Date: Wed, 16 Jan 2019 00:13:00 -0000 Message-ID: Subject: [SVE ACLE] Implements svabs, svnot, svneg and svsqrt To: GCC Patches , richard.sandiford@arm.com, Prathamesh Kulkarni Content-Type: multipart/mixed; boundary="00000000000012d2de057f8825b9" X-IsSubscribed: yes X-SW-Source: 2019-01/txt/msg00879.txt.bz2 --00000000000012d2de057f8825b9 Content-Type: text/plain; charset="UTF-8" Content-length: 132 I committed the following patch which implements svabs, svnot, svneg and svsqrt to aarch64/sve-acle-branch. branch Thanks, Kugan --00000000000012d2de057f8825b9 Content-Type: application/x-patch; name="0001-SVE-ACLE-svab-svnot-svneg-and-svsqrt-implementation.patch" Content-Disposition: attachment; filename="0001-SVE-ACLE-svab-svnot-svneg-and-svsqrt-implementation.patch" Content-Transfer-Encoding: base64 Content-ID: X-Attachment-Id: f_jqybxahe0 Content-length: 105343 RnJvbSAyYWY5NjA5YTU4Y2Y3ZWZiZWQ5M2YxNTQxMzIyNGEyNTUyYjk2OTZk IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBLdWdhbiBWaXZla2Fu YW5kYXJhamFoIDxrdWdhbi52aXZla2FuYW5kYXJhamFoQGxpbmFyby5vcmc+ CkRhdGU6IFdlZCwgMTYgSmFuIDIwMTkgMDc6NDU6NTIgKzExMDAKU3ViamVj dDogW1BBVENIXSBbU1ZFIEFDTEUgXSBzdmFiLCBzdm5vdCwgc3ZuZWcgYW5k IHN2c3FydCBpbXBsZW1lbnRhdGlvbgoKQ2hhbmdlLUlkOiBJZWMxZTk0OTFl NGE4NGEzNTE3MDI1NTBiYWJlZGQwZjE3OTY4NjE3ZQotLS0KIGdjYy9jb25m aWcvYWFyY2g2NC9hYXJjaDY0LXN2ZS1idWlsdGlucy5jICAgICAgICAgIHwg MTI2ICsrKysrKysrKysrKysrKysrKysrLQogZ2NjL2NvbmZpZy9hYXJjaDY0 L2FhcmNoNjQtc3ZlLWJ1aWx0aW5zLmRlZiAgICAgICAgfCAgIDQgKwogZ2Nj L2NvbmZpZy9hYXJjaDY0L2FhcmNoNjQtc3ZlLm1kICAgICAgICAgICAgICAg ICAgfCAgNTIgKysrKysrKy0tCiBnY2MvY29uZmlnL2FhcmNoNjQvaXRlcmF0 b3JzLm1kICAgICAgICAgICAgICAgICAgICB8ICAxNiArKy0KIC4uLi9nY2Mu dGFyZ2V0L2FhcmNoNjQvc3ZlLWFjbGUvYXNtL2Fic19mMTYuYyAgICAgIHwg MTIyICsrKysrKysrKysrKysrKysrKysrCiAuLi4vZ2NjLnRhcmdldC9hYXJj aDY0L3N2ZS1hY2xlL2FzbS9hYnNfZjMyLmMgICAgICB8IDEyMiArKysrKysr KysrKysrKysrKysrKwogLi4uL2djYy50YXJnZXQvYWFyY2g2NC9zdmUtYWNs ZS9hc20vYWJzX2Y2NC5jICAgICAgfCAxMjIgKysrKysrKysrKysrKysrKysr KysKIC4uLi9nY2MudGFyZ2V0L2FhcmNoNjQvc3ZlLWFjbGUvYXNtL2Fic19z MTYuYyAgICAgIHwgIDgzICsrKysrKysrKysrKysrCiAuLi4vZ2NjLnRhcmdl dC9hYXJjaDY0L3N2ZS1hY2xlL2FzbS9hYnNfczMyLmMgICAgICB8ICA4MyAr KysrKysrKysrKysrKwogLi4uL2djYy50YXJnZXQvYWFyY2g2NC9zdmUtYWNs ZS9hc20vYWJzX3M2NC5jICAgICAgfCAgODMgKysrKysrKysrKysrKysKIC4u Li9nY2MudGFyZ2V0L2FhcmNoNjQvc3ZlLWFjbGUvYXNtL2Fic19zOC5jICAg ICAgIHwgIDgzICsrKysrKysrKysrKysrCiAuLi4vZ2NjLnRhcmdldC9hYXJj aDY0L3N2ZS1hY2xlL2FzbS9uZWdfZjE2LmMgICAgICB8IDEyMiArKysrKysr KysrKysrKysrKysrKwogLi4uL2djYy50YXJnZXQvYWFyY2g2NC9zdmUtYWNs ZS9hc20vbmVnX2YzMi5jICAgICAgfCAxMjIgKysrKysrKysrKysrKysrKysr KysKIC4uLi9nY2MudGFyZ2V0L2FhcmNoNjQvc3ZlLWFjbGUvYXNtL25lZ19m NjQuYyAgICAgIHwgMTIyICsrKysrKysrKysrKysrKysrKysrCiAuLi4vZ2Nj LnRhcmdldC9hYXJjaDY0L3N2ZS1hY2xlL2FzbS9uZWdfczE2LmMgICAgICB8 ICA4MyArKysrKysrKysrKysrKwogLi4uL2djYy50YXJnZXQvYWFyY2g2NC9z dmUtYWNsZS9hc20vbmVnX3MzMi5jICAgICAgfCAgODMgKysrKysrKysrKysr KysKIC4uLi9nY2MudGFyZ2V0L2FhcmNoNjQvc3ZlLWFjbGUvYXNtL25lZ19z NjQuYyAgICAgIHwgIDgzICsrKysrKysrKysrKysrCiAuLi4vZ2NjLnRhcmdl dC9hYXJjaDY0L3N2ZS1hY2xlL2FzbS9uZWdfczguYyAgICAgICB8ICA4MyAr KysrKysrKysrKysrKwogLi4uL2djYy50YXJnZXQvYWFyY2g2NC9zdmUtYWNs ZS9hc20vbm90X3MxNi5jICAgICAgfCAgODMgKysrKysrKysrKysrKysKIC4u Li9nY2MudGFyZ2V0L2FhcmNoNjQvc3ZlLWFjbGUvYXNtL25vdF9zMzIuYyAg ICAgIHwgIDgzICsrKysrKysrKysrKysrCiAuLi4vZ2NjLnRhcmdldC9hYXJj aDY0L3N2ZS1hY2xlL2FzbS9ub3RfczY0LmMgICAgICB8ICA4MyArKysrKysr KysrKysrKwogLi4uL2djYy50YXJnZXQvYWFyY2g2NC9zdmUtYWNsZS9hc20v bm90X3M4LmMgICAgICAgfCAgODMgKysrKysrKysrKysrKysKIC4uLi9nY2Mu dGFyZ2V0L2FhcmNoNjQvc3ZlLWFjbGUvYXNtL25vdF91MTYuYyAgICAgIHwg IDgzICsrKysrKysrKysrKysrCiAuLi4vZ2NjLnRhcmdldC9hYXJjaDY0L3N2 ZS1hY2xlL2FzbS9ub3RfdTMyLmMgICAgICB8ICA4MyArKysrKysrKysrKysr KwogLi4uL2djYy50YXJnZXQvYWFyY2g2NC9zdmUtYWNsZS9hc20vbm90X3U2 NC5jICAgICAgfCAgODMgKysrKysrKysrKysrKysKIC4uLi9nY2MudGFyZ2V0 L2FhcmNoNjQvc3ZlLWFjbGUvYXNtL25vdF91OC5jICAgICAgIHwgIDgzICsr KysrKysrKysrKysrCiAuLi4vZ2NjLnRhcmdldC9hYXJjaDY0L3N2ZS1hY2xl L2FzbS9zcXJ0X2YxNi5jICAgICB8IDEyMiArKysrKysrKysrKysrKysrKysr KwogLi4uL2djYy50YXJnZXQvYWFyY2g2NC9zdmUtYWNsZS9hc20vc3FydF9m MzIuYyAgICAgfCAxMjIgKysrKysrKysrKysrKysrKysrKysKIC4uLi9nY2Mu dGFyZ2V0L2FhcmNoNjQvc3ZlLWFjbGUvYXNtL3NxcnRfZjY0LmMgICAgIHwg MTIyICsrKysrKysrKysrKysrKysrKysrCiAyOSBmaWxlcyBjaGFuZ2VkLCAy NjEwIGluc2VydGlvbnMoKyksIDE0IGRlbGV0aW9ucygtKQogY3JlYXRlIG1v ZGUgMTAwNjQ0IGdjYy90ZXN0c3VpdGUvZ2NjLnRhcmdldC9hYXJjaDY0L3N2 ZS1hY2xlL2FzbS9hYnNfZjE2LmMKIGNyZWF0ZSBtb2RlIDEwMDY0NCBnY2Mv dGVzdHN1aXRlL2djYy50YXJnZXQvYWFyY2g2NC9zdmUtYWNsZS9hc20vYWJz X2YzMi5jCiBjcmVhdGUgbW9kZSAxMDA2NDQgZ2NjL3Rlc3RzdWl0ZS9nY2Mu dGFyZ2V0L2FhcmNoNjQvc3ZlLWFjbGUvYXNtL2Fic19mNjQuYwogY3JlYXRl IG1vZGUgMTAwNjQ0IGdjYy90ZXN0c3VpdGUvZ2NjLnRhcmdldC9hYXJjaDY0 L3N2ZS1hY2xlL2FzbS9hYnNfczE2LmMKIGNyZWF0ZSBtb2RlIDEwMDY0NCBn Y2MvdGVzdHN1aXRlL2djYy50YXJnZXQvYWFyY2g2NC9zdmUtYWNsZS9hc20v YWJzX3MzMi5jCiBjcmVhdGUgbW9kZSAxMDA2NDQgZ2NjL3Rlc3RzdWl0ZS9n Y2MudGFyZ2V0L2FhcmNoNjQvc3ZlLWFjbGUvYXNtL2Fic19zNjQuYwogY3Jl YXRlIG1vZGUgMTAwNjQ0IGdjYy90ZXN0c3VpdGUvZ2NjLnRhcmdldC9hYXJj aDY0L3N2ZS1hY2xlL2FzbS9hYnNfczguYwogY3JlYXRlIG1vZGUgMTAwNjQ0 IGdjYy90ZXN0c3VpdGUvZ2NjLnRhcmdldC9hYXJjaDY0L3N2ZS1hY2xlL2Fz bS9uZWdfZjE2LmMKIGNyZWF0ZSBtb2RlIDEwMDY0NCBnY2MvdGVzdHN1aXRl L2djYy50YXJnZXQvYWFyY2g2NC9zdmUtYWNsZS9hc20vbmVnX2YzMi5jCiBj cmVhdGUgbW9kZSAxMDA2NDQgZ2NjL3Rlc3RzdWl0ZS9nY2MudGFyZ2V0L2Fh cmNoNjQvc3ZlLWFjbGUvYXNtL25lZ19mNjQuYwogY3JlYXRlIG1vZGUgMTAw NjQ0IGdjYy90ZXN0c3VpdGUvZ2NjLnRhcmdldC9hYXJjaDY0L3N2ZS1hY2xl L2FzbS9uZWdfczE2LmMKIGNyZWF0ZSBtb2RlIDEwMDY0NCBnY2MvdGVzdHN1 aXRlL2djYy50YXJnZXQvYWFyY2g2NC9zdmUtYWNsZS9hc20vbmVnX3MzMi5j CiBjcmVhdGUgbW9kZSAxMDA2NDQgZ2NjL3Rlc3RzdWl0ZS9nY2MudGFyZ2V0 L2FhcmNoNjQvc3ZlLWFjbGUvYXNtL25lZ19zNjQuYwogY3JlYXRlIG1vZGUg MTAwNjQ0IGdjYy90ZXN0c3VpdGUvZ2NjLnRhcmdldC9hYXJjaDY0L3N2ZS1h Y2xlL2FzbS9uZWdfczguYwogY3JlYXRlIG1vZGUgMTAwNjQ0IGdjYy90ZXN0 c3VpdGUvZ2NjLnRhcmdldC9hYXJjaDY0L3N2ZS1hY2xlL2FzbS9ub3RfczE2 LmMKIGNyZWF0ZSBtb2RlIDEwMDY0NCBnY2MvdGVzdHN1aXRlL2djYy50YXJn ZXQvYWFyY2g2NC9zdmUtYWNsZS9hc20vbm90X3MzMi5jCiBjcmVhdGUgbW9k ZSAxMDA2NDQgZ2NjL3Rlc3RzdWl0ZS9nY2MudGFyZ2V0L2FhcmNoNjQvc3Zl LWFjbGUvYXNtL25vdF9zNjQuYwogY3JlYXRlIG1vZGUgMTAwNjQ0IGdjYy90 ZXN0c3VpdGUvZ2NjLnRhcmdldC9hYXJjaDY0L3N2ZS1hY2xlL2FzbS9ub3Rf czguYwogY3JlYXRlIG1vZGUgMTAwNjQ0IGdjYy90ZXN0c3VpdGUvZ2NjLnRh cmdldC9hYXJjaDY0L3N2ZS1hY2xlL2FzbS9ub3RfdTE2LmMKIGNyZWF0ZSBt b2RlIDEwMDY0NCBnY2MvdGVzdHN1aXRlL2djYy50YXJnZXQvYWFyY2g2NC9z dmUtYWNsZS9hc20vbm90X3UzMi5jCiBjcmVhdGUgbW9kZSAxMDA2NDQgZ2Nj L3Rlc3RzdWl0ZS9nY2MudGFyZ2V0L2FhcmNoNjQvc3ZlLWFjbGUvYXNtL25v dF91NjQuYwogY3JlYXRlIG1vZGUgMTAwNjQ0IGdjYy90ZXN0c3VpdGUvZ2Nj LnRhcmdldC9hYXJjaDY0L3N2ZS1hY2xlL2FzbS9ub3RfdTguYwogY3JlYXRl IG1vZGUgMTAwNjQ0IGdjYy90ZXN0c3VpdGUvZ2NjLnRhcmdldC9hYXJjaDY0 L3N2ZS1hY2xlL2FzbS9zcXJ0X2YxNi5jCiBjcmVhdGUgbW9kZSAxMDA2NDQg Z2NjL3Rlc3RzdWl0ZS9nY2MudGFyZ2V0L2FhcmNoNjQvc3ZlLWFjbGUvYXNt L3NxcnRfZjMyLmMKIGNyZWF0ZSBtb2RlIDEwMDY0NCBnY2MvdGVzdHN1aXRl L2djYy50YXJnZXQvYWFyY2g2NC9zdmUtYWNsZS9hc20vc3FydF9mNjQuYwoK ZGlmZiAtLWdpdCBhL2djYy9jb25maWcvYWFyY2g2NC9hYXJjaDY0LXN2ZS1i dWlsdGlucy5jIGIvZ2NjL2NvbmZpZy9hYXJjaDY0L2FhcmNoNjQtc3ZlLWJ1 aWx0aW5zLmMKaW5kZXggYzMwMDk1Ny4uZDY2M2RlNCAxMDA2NDQKLS0tIGEv Z2NjL2NvbmZpZy9hYXJjaDY0L2FhcmNoNjQtc3ZlLWJ1aWx0aW5zLmMKKysr IGIvZ2NjL2NvbmZpZy9hYXJjaDY0L2FhcmNoNjQtc3ZlLWJ1aWx0aW5zLmMK QEAgLTEwMSw2ICsxMDEsOSBAQCBlbnVtIGZ1bmN0aW9uX3NoYXBlIHsKICAg Lyogc3Y8dDA+X3Qgc3Zmb29bX25dX3QwKDx0MD5fdCkuICAqLwogICBTSEFQ RV91bmFyeV9uLAogCisgIC8qIHN2PHQwPl90IHN2Zm9vW190MF0oc3Y8dDA+ X3QpLiAgKi8KKyAgU0hBUEVfdW5hcnksCisKICAgLyogc3Y8dDA+X3Qgc3Zm b29fdDAoPHQwPl90LCA8dDA+X3QpLiAgKi8KICAgU0hBUEVfYmluYXJ5X3Nj YWxhciwKIApAQCAtMTUxLDYgKzE1NCw3IEBAIHR5cGVkZWYgZW51bSB0eXBl X3N1ZmZpeCB0eXBlX3N1ZmZpeF9wYWlyWzJdOwogCiAvKiBFbnVtZXJhdGVz IHRoZSBmdW5jdGlvbiBiYXNlIG5hbWVzLCBzdWNoIGFzICJzdmFkZCIuICAq LwogZW51bSBmdW5jdGlvbiB7CisgIEZVTkNfc3ZhYnMsCiAgIEZVTkNfc3Zh YmQsCiAgIEZVTkNfc3ZhZGQsCiAgIEZVTkNfc3Zhc3JkLApAQCAtMTYzLDkg KzE2NywxMiBAQCBlbnVtIGZ1bmN0aW9uIHsKICAgRlVOQ19zdm1scywKICAg RlVOQ19zdm1zYiwKICAgRlVOQ19zdm11bCwKKyAgRlVOQ19zdm5lZywKKyAg RlVOQ19zdm5vdCwKICAgRlVOQ19zdnB0cnVlLAogICBGVU5DX3N2cWFkZCwK ICAgRlVOQ19zdnFzdWIsCisgIEZVTkNfc3ZzcXJ0LAogICBGVU5DX3N2c3Vi LAogICBGVU5DX3N2c3VicgogfTsKQEAgLTMwMiw2ICszMDksNyBAQCBwcml2 YXRlOgogICB2b2lkIGJ1aWxkX2FsbCAoZnVuY3Rpb25fc2lnbmF0dXJlLCBj b25zdCBmdW5jdGlvbl9ncm91cCAmLCBmdW5jdGlvbl9tb2RlLAogCQkgIGJv b2wgPSBmYWxzZSk7CiAgIHZvaWQgc2lnX2luaGVyZW50IChjb25zdCBmdW5j dGlvbl9pbnN0YW5jZSAmLCB2ZWM8dHJlZT4gJik7CisgIHZvaWQgc2lnXzAw IChjb25zdCBmdW5jdGlvbl9pbnN0YW5jZSAmLCB2ZWM8dHJlZT4gJik7CiAg IHZvaWQgc2lnX25fMDAgKGNvbnN0IGZ1bmN0aW9uX2luc3RhbmNlICYsIHZl Yzx0cmVlPiAmKTsKICAgdm9pZCBzY2FsYXJfc2lnXzAwMCAoY29uc3QgZnVu Y3Rpb25faW5zdGFuY2UgJiwgdmVjPHRyZWU+ICYpOwogICB2b2lkIHNpZ18w MDAgKGNvbnN0IGZ1bmN0aW9uX2luc3RhbmNlICYsIHZlYzx0cmVlPiAmKTsK QEAgLTQ0MCw2ICs0NDgsNyBAQCBwdWJsaWM6CiAKIHByaXZhdGU6CiAgIHJ0 eCBleHBhbmRfYWJkICgpOworICBydHggZXhwYW5kX2FicyAoKTsKICAgcnR4 IGV4cGFuZF9hZGQgKHVuc2lnbmVkIGludCk7CiAgIHJ0eCBleHBhbmRfYXNy ZCAoKTsKICAgcnR4IGV4cGFuZF9kdXAgKCk7CkBAIC00NTEsMTEgKzQ2MCwx NSBAQCBwcml2YXRlOgogICBydHggZXhwYW5kX21sYSAoKTsKICAgcnR4IGV4 cGFuZF9tbHMgKCk7CiAgIHJ0eCBleHBhbmRfbXVsICgpOworICBydHggZXhw YW5kX25lZyAoKTsKKyAgcnR4IGV4cGFuZF9ub3QgKCk7CiAgIHJ0eCBleHBh bmRfcHRydWUgKCk7CiAgIHJ0eCBleHBhbmRfcWFkZCAoKTsKICAgcnR4IGV4 cGFuZF9xc3ViICgpOworICBydHggZXhwYW5kX3NxcnQgKCk7CiAgIHJ0eCBl eHBhbmRfc3ViIChib29sKTsKIAorICBydHggZXhwYW5kX3ByZWRfb3AgKHJ0 eF9jb2RlLCBpbnQpOwogICBydHggZXhwYW5kX3NpZ25lZF9wcmVkX29wIChy dHhfY29kZSwgcnR4X2NvZGUsIGludCk7CiAgIHJ0eCBleHBhbmRfc2lnbmVk X3ByZWRfb3AgKGludCwgaW50LCBpbnQpOwogICBydHggZXhwYW5kX3ZpYV91 bnByZWRfZGlyZWN0X29wdGFiIChvcHRhYik7CkBAIC01NTYsNiArNTY5LDEx IEBAIHN0YXRpYyBjb25zdCB0eXBlX3N1ZmZpeF9pbmZvIHR5cGVfc3VmZml4 ZXNbTlVNX1RZUEVfU1VGRklYRVMgKyAxXSA9IHsKICNkZWZpbmUgVFlQRVNf YWxsX2RhdGEoUywgRCkgXAogICBUWVBFU19hbGxfZmxvYXQgKFMsIEQpLCBU WVBFU19hbGxfaW50ZWdlciAoUywgRCkKIAorLyogICAgIF9mMTYgX2YzMiBf ZjY0CisgICBfczggX3MxNiBfczMyIF9zNjQuICAqLworI2RlZmluZSBUWVBF U19hbGxfc2lnbmVkX2FuZF9mbG9hdChTLCBEKSBcCisgIFRZUEVTX2FsbF9m bG9hdCAoUywgRCksIFRZUEVTX2FsbF9zaWduZWQgKFMsIEQpCisKIC8qIERl c2NyaWJlIGEgcGFpciBvZiB0eXBlIHN1ZmZpeGVzIGluIHdoaWNoIG9ubHkg dGhlIGZpcnN0IGlzIHVzZWQuICAqLwogI2RlZmluZSBERUZfVkVDVE9SX1RZ UEUoWCkgeyBUWVBFX1NVRkZJWF8gIyMgWCwgTlVNX1RZUEVfU1VGRklYRVMg fQogCkBAIC01NzYsNiArNTk0LDcgQEAgREVGX1NWRV9UWVBFU19BUlJBWSAo YWxsX3NpZ25lZCk7CiBERUZfU1ZFX1RZUEVTX0FSUkFZIChhbGxfZmxvYXQp OwogREVGX1NWRV9UWVBFU19BUlJBWSAoYWxsX2ludGVnZXIpOwogREVGX1NW RV9UWVBFU19BUlJBWSAoYWxsX2RhdGEpOworREVGX1NWRV9UWVBFU19BUlJB WSAoYWxsX3NpZ25lZF9hbmRfZmxvYXQpOwogCiAvKiBVc2VkIGJ5IGZ1bmN0 aW9ucyBpbiBhYXJjaDY0LXN2ZS1idWlsdGlucy5kZWYgdGhhdCBoYXZlIG5v IGdvdmVybmluZwogICAgcHJlZGljYXRlLiAgKi8KQEAgLTc0NCw2ICs3NjMs MTEgQEAgYXJtX3N2ZV9oX2J1aWxkZXI6OmJ1aWxkIChjb25zdCBmdW5jdGlv bl9ncm91cCAmZ3JvdXApCiB7CiAgIHN3aXRjaCAoZ3JvdXAuc2hhcGUpCiAg ICAgeworICAgIGNhc2UgU0hBUEVfdW5hcnk6CisgICAgICBhZGRfb3Zlcmxv YWRlZF9mdW5jdGlvbnMgKGdyb3VwLCBNT0RFX25vbmUpOworICAgICAgYnVp bGRfYWxsICgmYXJtX3N2ZV9oX2J1aWxkZXI6OnNpZ18wMCwgZ3JvdXAsIE1P REVfbm9uZSk7CisgICAgICBicmVhazsKKwogICAgIGNhc2UgU0hBUEVfdW5h cnlfbjoKICAgICAgIGJ1aWxkX2FsbCAoJmFybV9zdmVfaF9idWlsZGVyOjpz aWdfbl8wMCwgZ3JvdXAsIE1PREVfbiwgdHJ1ZSk7CiAgICAgICBicmVhazsK QEAgLTgxMCwxMSArODM0LDIxIEBAIGFybV9zdmVfaF9idWlsZGVyOjpzaWdf aW5oZXJlbnQgKGNvbnN0IGZ1bmN0aW9uX2luc3RhbmNlICZpbnN0YW5jZSwK ICAgdHlwZXMucXVpY2tfcHVzaCAoaW5zdGFuY2UudmVjdG9yX3R5cGUgKDAp KTsKIH0KIAorLyogRGVzY3JpYmUgdGhlIHNpZ25hdHVyZSAic3Y8dDA+X3Qg c3Zmb29bX3QwXShzdjx0MD5fdCkiCisgICBmb3IgSU5TVEFOQ0UgaW4gVFlQ RVMuICAqLwordm9pZAorYXJtX3N2ZV9oX2J1aWxkZXI6OnNpZ18wMCAoY29u c3QgZnVuY3Rpb25faW5zdGFuY2UgJmluc3RhbmNlLAorCQkJICAgdmVjPHRy ZWU+ICZ0eXBlcykKK3sKKyAgdHlwZXMucXVpY2tfcHVzaCAoaW5zdGFuY2Uu dmVjdG9yX3R5cGUgKDApKTsKKyAgdHlwZXMucXVpY2tfcHVzaCAoaW5zdGFu Y2UudmVjdG9yX3R5cGUgKDApKTsKK30KKwogLyogRGVzY3JpYmUgdGhlIHNp Z25hdHVyZSAic3Y8dDA+X3Qgc3Zmb29bX25fdDBdKDx0MD5fdCkiCiAgICBm b3IgSU5TVEFOQ0UgaW4gVFlQRVMuICAqLwogdm9pZAogYXJtX3N2ZV9oX2J1 aWxkZXI6OnNpZ19uXzAwIChjb25zdCBmdW5jdGlvbl9pbnN0YW5jZSAmaW5z dGFuY2UsCi0JCQkgICAgICB2ZWM8dHJlZT4gJnR5cGVzKQorCQkJICAgICB2 ZWM8dHJlZT4gJnR5cGVzKQogewogICB0eXBlcy5xdWlja19wdXNoIChpbnN0 YW5jZS52ZWN0b3JfdHlwZSAoMCkpOwogICB0eXBlcy5xdWlja19wdXNoIChp bnN0YW5jZS5zY2FsYXJfdHlwZSAoMCkpOwpAQCAtMTAyNSw2ICsxMDU5LDcg QEAgYXJtX3N2ZV9oX2J1aWxkZXI6OmdldF9hdHRyaWJ1dGVzIChjb25zdCBm dW5jdGlvbl9pbnN0YW5jZSAmaW5zdGFuY2UpCiAgIHN3aXRjaCAoZnVuY3Rp b25fZ3JvdXBzW2luc3RhbmNlLmdyb3VwXS5mdW5jKQogICAgIHsKICAgICBj YXNlIEZVTkNfc3ZhYmQ6CisgICAgY2FzZSBGVU5DX3N2YWJzOgogICAgIGNh c2UgRlVOQ19zdmFkZDoKICAgICBjYXNlIEZVTkNfc3Zhc3JkOgogICAgIGNh c2UgRlVOQ19zdmR1cDoKQEAgLTEwMzYsOCArMTA3MSwxMSBAQCBhcm1fc3Zl X2hfYnVpbGRlcjo6Z2V0X2F0dHJpYnV0ZXMgKGNvbnN0IGZ1bmN0aW9uX2lu c3RhbmNlICZpbnN0YW5jZSkKICAgICBjYXNlIEZVTkNfc3ZtbHM6CiAgICAg Y2FzZSBGVU5DX3N2bXNiOgogICAgIGNhc2UgRlVOQ19zdm11bDoKKyAgICBj YXNlIEZVTkNfc3ZuZWc6CisgICAgY2FzZSBGVU5DX3N2bm90OgogICAgIGNh c2UgRlVOQ19zdnFhZGQ6CiAgICAgY2FzZSBGVU5DX3N2cXN1YjoKKyAgICBj YXNlIEZVTkNfc3ZzcXJ0OgogICAgIGNhc2UgRlVOQ19zdnN1YjoKICAgICBj YXNlIEZVTkNfc3ZzdWJyOgogICAgICAgaWYgKHR5cGVfc3VmZml4ZXNbaW5z dGFuY2UudHlwZXNbMF1dLmludGVnZXJfcCkKQEAgLTEwNzUsNiArMTExMyw3 IEBAIGFybV9zdmVfaF9idWlsZGVyOjpnZXRfZXhwbGljaXRfdHlwZXMgKGZ1 bmN0aW9uX3NoYXBlIHNoYXBlKQogICAgIGNhc2UgU0hBUEVfdW5hcnlfbjoK ICAgICBjYXNlIFNIQVBFX2JpbmFyeV9zY2FsYXI6CiAgICAgICByZXR1cm4g MTsKKyAgICBjYXNlIFNIQVBFX3VuYXJ5OgogICAgIGNhc2UgU0hBUEVfYmlu YXJ5X29wdF9uOgogICAgIGNhc2UgU0hBUEVfdGVybmFyeV9vcHRfbjoKICAg ICBjYXNlIFNIQVBFX3NoaWZ0X3JpZ2h0X2ltbToKQEAgLTExNDIsNiArMTE4 MSw4IEBAIGZ1bmN0aW9uX3Jlc29sdmVyOjpyZXNvbHZlICgpCiB7CiAgIHN3 aXRjaCAobV9ncm91cC5zaGFwZSkKICAgICB7CisgICAgY2FzZSBTSEFQRV91 bmFyeToKKyAgICAgIHJldHVybiByZXNvbHZlX3VuaWZvcm0gKDEpOwogICAg IGNhc2UgU0hBUEVfYmluYXJ5X29wdF9uOgogICAgICAgcmV0dXJuIHJlc29s dmVfdW5pZm9ybSAoMik7CiAgICAgY2FzZSBTSEFQRV90ZXJuYXJ5X29wdF9u OgpAQCAtMTIyOCwxMSArMTI2OSwyNSBAQCBmdW5jdGlvbl9yZXNvbHZlcjo6 Y2hlY2tfZmlyc3RfdmVjdG9yX2FyZ3VtZW50ICh1bnNpZ25lZCBpbnQgbm9w cywKICAgbmFyZ3MgPSBub3BzOwogICB0eXBlID0gTlVNX1ZFQ1RPUl9UWVBF UzsKIAorICAvKiBGb3IgdW5hcnkgbWVyZ2Ugb3BlcmF0aW9ucywgdGhlIGZp cnN0IGFyZ3VtZW50IGlzIGEgdmVjdG9yIHdpdGgKKyAgICAgdGhlIHNhbWUg dHlwZSBhcyB0aGUgcmVzdWx0LiAgKi8KKyAgaWYgKG5vcHMgPT0gMSAmJiBt X3Jmbi5pbnN0YW5jZS5wcmVkID09IFBSRURfbSkKKyAgICBuYXJncyArPSAx OwogICBpZiAobV9yZm4uaW5zdGFuY2UucHJlZCAhPSBQUkVEX25vbmUpCiAg ICAgbmFyZ3MgKz0gMTsKICAgaWYgKCFjaGVja19udW1fYXJndW1lbnRzIChu YXJncykpCiAgICAgcmV0dXJuIGZhbHNlOwogCisgIC8qIEZvciB1bmFyeSBt ZXJnZSBvcGVyYXRpb25zLCB0aGUgZmlyc3QgYXJndW1lbnQgaXMgYSB2ZWN0 b3Igd2l0aAorICAgICB0aGUgc2FtZSB0eXBlIGFzIHRoZSByZXN1bHQuICAq LworICBpZiAobm9wcyA9PSAxICYmIG1fcmZuLmluc3RhbmNlLnByZWQgPT0g UFJFRF9tKQorICAgIHsKKyAgICAgIHR5cGUgPSByZXF1aXJlX3ZlY3Rvcl90 eXBlIChpKTsKKyAgICAgIGlmICh0eXBlID09IE5VTV9WRUNUT1JfVFlQRVMp CisJcmV0dXJuIGZhbHNlOworICAgICAgaSArPSAxOworICAgIH0KKwogICAv KiBDaGVjayB0aGUgcHJlZGljYXRlIGFyZ3VtZW50LiAgKi8KICAgaWYgKG1f cmZuLmluc3RhbmNlLnByZWQgIT0gUFJFRF9ub25lKQogICAgIHsKQEAgLTEy NDEsMTEgKzEyOTYsMTMgQEAgZnVuY3Rpb25fcmVzb2x2ZXI6OmNoZWNrX2Zp cnN0X3ZlY3Rvcl9hcmd1bWVudCAodW5zaWduZWQgaW50IG5vcHMsCiAgICAg ICBpICs9IDE7CiAgICAgfQogCi0gIC8qIFRoZSBuZXh0IGFyZ3VtZW50IGlz IGFsd2F5cyBhIHZlY3Rvci4gICovCi0gIHR5cGUgPSByZXF1aXJlX3ZlY3Rv cl90eXBlIChpKTsKICAgaWYgKHR5cGUgPT0gTlVNX1ZFQ1RPUl9UWVBFUykK LSAgICByZXR1cm4gZmFsc2U7Ci0KKyAgICB7CisgICAgICAvKiBUaGUgbmV4 dCBhcmd1bWVudCBpcyBhbHdheXMgYSB2ZWN0b3IuICAqLworICAgICAgdHlw ZSA9IHJlcXVpcmVfdmVjdG9yX3R5cGUgKGkpOworICAgICAgaWYgKHR5cGUg PT0gTlVNX1ZFQ1RPUl9UWVBFUykKKwlyZXR1cm4gZmFsc2U7CisgICAgfQog ICByZXR1cm4gdHJ1ZTsKIH0KIApAQCAtMTQyNyw2ICsxNDg0LDcgQEAgZnVu Y3Rpb25fY2hlY2tlcjo6Y2hlY2sgKCkKICAgICBjYXNlIFNIQVBFX3NoaWZ0 X3JpZ2h0X2ltbToKICAgICAgIHJldHVybiBjaGVja19zaGlmdF9yaWdodF9p bW0gKCk7CiAKKyAgICBjYXNlIFNIQVBFX3VuYXJ5OgogICAgIGNhc2UgU0hB UEVfdW5hcnlfbjoKICAgICBjYXNlIFNIQVBFX2luaGVyZW50OgogICAgIGNh c2UgU0hBUEVfYmluYXJ5X29wdF9uOgpAQCAtMTYxMSw2ICsxNjY5LDcgQEAg Z2ltcGxlX2ZvbGRlcjo6Zm9sZCAoKQogICBzd2l0Y2ggKG1fZ3JvdXAuZnVu YykKICAgICB7CiAgICAgY2FzZSBGVU5DX3N2YWJkOgorICAgIGNhc2UgRlVO Q19zdmFiczoKICAgICBjYXNlIEZVTkNfc3ZhZGQ6CiAgICAgY2FzZSBGVU5D X3N2YXNyZDoKICAgICBjYXNlIEZVTkNfc3ZkdXA6CkBAIC0xNjIyLDggKzE2 ODEsMTEgQEAgZ2ltcGxlX2ZvbGRlcjo6Zm9sZCAoKQogICAgIGNhc2UgRlVO Q19zdm1sczoKICAgICBjYXNlIEZVTkNfc3Ztc2I6CiAgICAgY2FzZSBGVU5D X3N2bXVsOgorICAgIGNhc2UgRlVOQ19zdm5lZzoKKyAgICBjYXNlIEZVTkNf c3Zub3Q6CiAgICAgY2FzZSBGVU5DX3N2cWFkZDoKICAgICBjYXNlIEZVTkNf c3Zxc3ViOgorICAgIGNhc2UgRlVOQ19zdnNxcnQ6CiAgICAgY2FzZSBGVU5D X3N2c3ViOgogICAgIGNhc2UgRlVOQ19zdnN1YnI6CiAgICAgICByZXR1cm4g TlVMTDsKQEAgLTE2ODUsNiArMTc0Nyw5IEBAIGZ1bmN0aW9uX2V4cGFuZGVy OjpleHBhbmQgKCkKICAgICBjYXNlIEZVTkNfc3ZhYmQ6CiAgICAgICByZXR1 cm4gZXhwYW5kX2FiZCAoKTsKIAorICAgIGNhc2UgRlVOQ19zdmFiczoKKyAg ICAgIHJldHVybiBleHBhbmRfYWJzICgpOworCiAgICAgY2FzZSBGVU5DX3N2 YWRkOgogICAgICAgcmV0dXJuIGV4cGFuZF9hZGQgKDEpOwogCkBAIC0xNzE4 LDYgKzE3ODMsMTIgQEAgZnVuY3Rpb25fZXhwYW5kZXI6OmV4cGFuZCAoKQog ICAgIGNhc2UgRlVOQ19zdm11bDoKICAgICAgIHJldHVybiBleHBhbmRfbXVs ICgpOwogCisgICAgY2FzZSBGVU5DX3N2bmVnOgorICAgICAgcmV0dXJuIGV4 cGFuZF9uZWcgKCk7CisKKyAgICBjYXNlIEZVTkNfc3Zub3Q6CisgICAgICBy ZXR1cm4gZXhwYW5kX25vdCAoKTsKKwogICAgIGNhc2UgRlVOQ19zdnB0cnVl OgogICAgICAgcmV0dXJuIGV4cGFuZF9wdHJ1ZSAoKTsKIApAQCAtMTcyNyw2 ICsxNzk4LDkgQEAgZnVuY3Rpb25fZXhwYW5kZXI6OmV4cGFuZCAoKQogICAg IGNhc2UgRlVOQ19zdnFzdWI6CiAgICAgICByZXR1cm4gZXhwYW5kX3FzdWIg KCk7CiAKKyAgICBjYXNlIEZVTkNfc3ZzcXJ0OgorICAgICAgcmV0dXJuIGV4 cGFuZF9zcXJ0ICgpOworCiAgICAgY2FzZSBGVU5DX3N2c3ViOgogICAgICAg cmV0dXJuIGV4cGFuZF9zdWIgKGZhbHNlKTsKIApAQCAtMTc0NCw2ICsxODE4 LDEzIEBAIGZ1bmN0aW9uX2V4cGFuZGVyOjpleHBhbmRfYWJkICgpCiAJCQkJ VU5TUEVDX0NPTkRfRkFCRCk7CiB9CiAKKy8qIEV4cGFuZCBhIGNhbGwgdG8g c3ZhYnMuICAqLworcnR4CitmdW5jdGlvbl9leHBhbmRlcjo6ZXhwYW5kX2Fi cyAoKQoreworICByZXR1cm4gZXhwYW5kX3ByZWRfb3AgKEFCUywgVU5TUEVD X0NPTkRfRkFCUyk7Cit9CisKIC8qIEV4cGFuZCBhIGNhbGwgdG8gc3ZhZGQs IG9yIHN2c3ViKHIpIHdpdGggYSBuZWdhdGVkIG9wZXJhbmQuCiAgICBNRVJH RV9BUkdOTyBpcyB0aGUgYXJndW1lbnQgdGhhdCBzaG91bGQgYmUgdXNlZCBh cyB0aGUgZmFsbGJhY2sKICAgIHZhbHVlIGluIGEgbWVyZ2luZyBvcGVyYXRp b24uICAqLwpAQCAtMTkxMyw2ICsxOTk0LDIwIEBAIGZ1bmN0aW9uX2V4cGFu ZGVyOjpleHBhbmRfbXVsICgpCiAgICAgcmV0dXJuIGV4cGFuZF92aWFfcHJl ZF9kaXJlY3Rfb3B0YWIgKGNvbmRfc211bF9vcHRhYik7CiB9CiAKKy8qIEV4 cGFuZCBhIGNhbGwgdG8gc3ZuZWcuICAqLworcnR4CitmdW5jdGlvbl9leHBh bmRlcjo6ZXhwYW5kX25lZyAoKQoreworICByZXR1cm4gZXhwYW5kX3ByZWRf b3AgKE5FRywgVU5TUEVDX0NPTkRfRk5FRyk7Cit9CisKKy8qIEV4cGFuZCBh IGNhbGwgdG8gc3Zub3QuICAqLworcnR4CitmdW5jdGlvbl9leHBhbmRlcjo6 ZXhwYW5kX25vdCAoKQoreworICByZXR1cm4gZXhwYW5kX3ByZWRfb3AgKE5P VCwgLTEpOworfQorCiAvKiBFeHBhbmQgYSBjYWxsIHRvIHNxYWRkLiAgKi8K IHJ0eAogZnVuY3Rpb25fZXhwYW5kZXI6OmV4cGFuZF9xYWRkICgpCkBAIC0x OTQyLDYgKzIwMzcsMTQgQEAgZnVuY3Rpb25fZXhwYW5kZXI6OmV4cGFuZF9w dHJ1ZSAoKQogICByZXR1cm4gYnVpbGRlci5idWlsZCAoKTsKIH0KIAorLyog RXhwYW5kIGEgY2FsbCB0byBzdnNxcnQuICAqLworcnR4CitmdW5jdGlvbl9l eHBhbmRlcjo6ZXhwYW5kX3NxcnQgKCkKK3sKKyAgZ2NjX2NoZWNraW5nX2Fz c2VydCAoIXR5cGVfc3VmZml4ZXNbbV9maS50eXBlc1swXV0uaW50ZWdlcl9w KTsKKyAgcmV0dXJuIGV4cGFuZF9wcmVkX29wIChVTktOT1dOLCBVTlNQRUNf Q09ORF9GU1FSVCk7Cit9CisKIC8qIEV4cGFuZCBhIGNhbGwgdG8gc3ZzdWIg b3Igc3ZzdWJyOyBSRVZFUlNFRF9QIHNheXMgd2hpY2guICAqLwogcnR4CiBm dW5jdGlvbl9leHBhbmRlcjo6ZXhwYW5kX3N1YiAoYm9vbCByZXZlcnNlZF9w KQpAQCAtMjA5MSw2ICsyMTk0LDE5IEBAIGZ1bmN0aW9uX2V4cGFuZGVyOjpl eHBhbmRfdmlhX3ByZWRfeF9pbnNuIChpbnNuX2NvZGUgaWNvZGUpCiAgIHJl dHVybiBnZW5lcmF0ZV9pbnNuIChpY29kZSk7CiB9CiAKKy8qIEltcGxlbWVu dCB0aGUgY2FsbCB1c2luZyBhbiBAYWFyY2g2NF9wcmVkIGluc3RydWN0aW9u IGZvciBfeAorICAgcHJlZGljYXRpb24gYW5kIGEgQGNvbmQgaW5zdHJ1Y3Rp b24gZm9yIF96IGFuZCBfbSBwcmVkaWNhdGlvbi4KKyAgIFRoZSBpbnRlZ2Vy IGluc3RydWN0aW9ucyBhcmUgcGFyYW1ldGVyaXplZCBieSBhbiBydHhfY29k ZSB3aGlsZQorICAgdGhlIGZsb2F0aW5nLXBvaW50IGluc3RydWN0aW9ucyBh cmUgcGFyYW1ldGVyaXplZCBieSBhbiB1bnNwZWMgY29kZS4KKyAgIENPREUg aXMgdGhlIHJ0eCBjb2RlIHRvIHVzZSBmb3IgaW50ZWdlciBvcGVyYXRpb25z IGFuZCBVTlNQRUNfQ09ORAorICAgaXMgdGhlIHVuc3BlYyBjb2RlIHRvIHVz ZSBmb3IgZmxvYXRpbmctcG9pbnQgb3BlcmF0aW9ucy4gIFRoZXJlIGlzCisg ICBubyBkaXN0aW5jdGlvbiBiZXR3ZWVuIHNpZ25lZCBhbmQgdW5zaWduZWQg b3BlcmF0aW9ucy4gICovCitydHgKK2Z1bmN0aW9uX2V4cGFuZGVyOjpleHBh bmRfcHJlZF9vcCAocnR4X2NvZGUgY29kZSwgaW50IHVuc3BlY19jb25kKQor eworICByZXR1cm4gZXhwYW5kX3NpZ25lZF9wcmVkX29wIChjb2RlLCBjb2Rl LCB1bnNwZWNfY29uZCk7Cit9CisKIC8qIEltcGxlbWVudCB0aGUgY2FsbCB1 c2luZyBhbiBAYWFyY2g2NF9jb25kIGluc3RydWN0aW9uIGZvciBfeAogICAg cHJlZGljYXRpb24gYW5kIGEgQGNvbmQgaW5zdHJ1Y3Rpb24gZm9yIF96IGFu ZCBfbSBwcmVkaWNhdGlvbi4KICAgIFRoZSBpbnRlZ2VyIGluc3RydWN0aW9u cyBhcmUgcGFyYW1ldGVyaXplZCBieSBhbiBydHhfY29kZSB3aGlsZQpkaWZm IC0tZ2l0IGEvZ2NjL2NvbmZpZy9hYXJjaDY0L2FhcmNoNjQtc3ZlLWJ1aWx0 aW5zLmRlZiBiL2djYy9jb25maWcvYWFyY2g2NC9hYXJjaDY0LXN2ZS1idWls dGlucy5kZWYKaW5kZXggZDIyNWQxYzQuLjgzZGM4ZTUgMTAwNjQ0Ci0tLSBh L2djYy9jb25maWcvYWFyY2g2NC9hYXJjaDY0LXN2ZS1idWlsdGlucy5kZWYK KysrIGIvZ2NjL2NvbmZpZy9hYXJjaDY0L2FhcmNoNjQtc3ZlLWJ1aWx0aW5z LmRlZgpAQCAtNjEsNiArNjEsNyBAQCBERUZfU1ZFX1RZUEVfU1VGRklYICh1 NjQsIHN2dWludDY0X3QsIDY0KQogCiAvKiBMaXN0IG9mIGZ1bmN0aW9ucywg aW4gYWxwaGFiZXRpY2FsIG9yZGVyLiAgKi8KIERFRl9TVkVfRlVOQ1RJT04g KHN2YWJkLCBiaW5hcnlfb3B0X24sIGFsbF9kYXRhLCBteHopCitERUZfU1ZF X0ZVTkNUSU9OIChzdmFicywgdW5hcnksIGFsbF9zaWduZWRfYW5kX2Zsb2F0 LCBteHopCiBERUZfU1ZFX0ZVTkNUSU9OIChzdmFkZCwgYmluYXJ5X29wdF9u LCBhbGxfZGF0YSwgbXh6KQogREVGX1NWRV9GVU5DVElPTiAoc3Zhc3JkLCBz aGlmdF9yaWdodF9pbW0sIGFsbF9zaWduZWQsIG14eikKIERFRl9TVkVfRlVO Q1RJT04gKHN2ZHVwLCB1bmFyeV9uLCBhbGxfZGF0YSwgbXh6bm9uZSkKQEAg LTcyLDkgKzczLDEyIEBAIERFRl9TVkVfRlVOQ1RJT04gKHN2bXNiLCB0ZXJu YXJ5X29wdF9uLCBhbGxfZGF0YSwgbXh6KQogREVGX1NWRV9GVU5DVElPTiAo c3ZtbGEsIHRlcm5hcnlfb3B0X24sIGFsbF9kYXRhLCBteHopCiBERUZfU1ZF X0ZVTkNUSU9OIChzdm1scywgdGVybmFyeV9vcHRfbiwgYWxsX2RhdGEsIG14 eikKIERFRl9TVkVfRlVOQ1RJT04gKHN2bXVsLCBiaW5hcnlfb3B0X24sIGFs bF9kYXRhLCBteHopCitERUZfU1ZFX0ZVTkNUSU9OIChzdm5lZywgdW5hcnks IGFsbF9zaWduZWRfYW5kX2Zsb2F0LCBteHopCitERUZfU1ZFX0ZVTkNUSU9O IChzdm5vdCwgdW5hcnksIGFsbF9pbnRlZ2VyLCBteHopCiBERUZfU1ZFX0ZV TkNUSU9OIChzdnB0cnVlLCBpbmhlcmVudCwgYWxsX3ByZWQsIG5vbmUpCiBE RUZfU1ZFX0ZVTkNUSU9OIChzdnFhZGQsIGJpbmFyeV9vcHRfbiwgYWxsX2Rh dGEsIG5vbmUpCiBERUZfU1ZFX0ZVTkNUSU9OIChzdnFzdWIsIGJpbmFyeV9v cHRfbiwgYWxsX2RhdGEsIG5vbmUpCitERUZfU1ZFX0ZVTkNUSU9OIChzdnNx cnQsIHVuYXJ5LCBhbGxfZmxvYXQsIG14eikKIERFRl9TVkVfRlVOQ1RJT04g KHN2c3ViLCBiaW5hcnlfb3B0X24sIGFsbF9kYXRhLCBteHopCiBERUZfU1ZF X0ZVTkNUSU9OIChzdnN1YnIsIGJpbmFyeV9vcHRfbiwgYWxsX2RhdGEsIG14 eikKIApkaWZmIC0tZ2l0IGEvZ2NjL2NvbmZpZy9hYXJjaDY0L2FhcmNoNjQt c3ZlLm1kIGIvZ2NjL2NvbmZpZy9hYXJjaDY0L2FhcmNoNjQtc3ZlLm1kCmlu ZGV4IDJkNjY1NDkuLmQ4ZWM0YWQgMTAwNjQ0Ci0tLSBhL2djYy9jb25maWcv YWFyY2g2NC9hYXJjaDY0LXN2ZS5tZAorKysgYi9nY2MvY29uZmlnL2FhcmNo NjQvYWFyY2g2NC1zdmUubWQKQEAgLTEyNzAsOCArMTI3MCw4IEBACiAgIH0K ICkKIAotOzsgTkVHLCBOT1QgYW5kIFBPUENPVU5UIHByZWRpY2F0ZWQgd2l0 aCBhIFBUUlVFLgotKGRlZmluZV9pbnNuICIqPG9wdGFiPjxtb2RlPjIiCis7 OyBORUcsIE5PVCwgQUJTIGFuZCBQT1BDT1VOVCBwcmVkaWNhdGVkIHdpdGgg YSBQVFJVRS4KKyhkZWZpbmVfaW5zbiAiQGFhcmNoNjRfcHJlZF88b3B0YWI+ PG1vZGU+IgogICBbKHNldCAobWF0Y2hfb3BlcmFuZDpTVkVfSSAwICJyZWdp c3Rlcl9vcGVyYW5kIiAiPXciKQogCSh1bnNwZWM6U1ZFX0kKIAkgIFsobWF0 Y2hfb3BlcmFuZDo8VlBSRUQ+IDEgInJlZ2lzdGVyX29wZXJhbmQiICJVcGwi KQpAQCAtMTI4Miw2ICsxMjgyLDIyIEBACiAgICI8c3ZlX2ludF9vcD5cdCUw LjxWZXR5cGU+LCAlMS9tLCAlMi48VmV0eXBlPiIKICkKIAorOzsgUHJlZGlj YXRlZCBORUcsIE5PVCwgQUJTIGFuZCBQT1BDT1VOVCB3aXRoIHNlbGVjdC4K KyhkZWZpbmVfaW5zbiAiQGNvbmRfPG9wdGFiPjxtb2RlPiIKKyAgWyhzZXQg KG1hdGNoX29wZXJhbmQ6U1ZFX0kgMCAicmVnaXN0ZXJfb3BlcmFuZCIgIj13 LCAmdywgPyZ3IikKKwkodW5zcGVjOlNWRV9JCisJICBbKG1hdGNoX29wZXJh bmQ6PFZQUkVEPiAxICJyZWdpc3Rlcl9vcGVyYW5kIiAiVXBsLCBVcGwsIFVw bCIpCisJICAgKFNWRV9JTlRfVU5BUlk6U1ZFX0kgKG1hdGNoX29wZXJhbmQ6 U1ZFX0kgMiAicmVnaXN0ZXJfb3BlcmFuZCIgIncsIHcsIHciKSkKKwkgICAo bWF0Y2hfb3BlcmFuZDpTVkVfSSAzICJhYXJjaDY0X3NpbWRfcmVnX29yX3pl cm8iICIwLCBEeiwgdyIpXQorCSAgVU5TUEVDX1NFTCkpXQorICAiVEFSR0VU X1NWRSIKKyAgIkAKKyAgIDxzdmVfaW50X29wPlx0JTAuPFZldHlwZT4sICUx L20sICUyLjxWZXR5cGU+CisgICBtb3ZwcmZ4XHQlMC48VmV0eXBlPiwgJTEv eiwgJTAuPFZldHlwZT5cOzxzdmVfaW50X29wPlx0JTAuPFZldHlwZT4sICUx L20sICUyLjxWZXR5cGU+CisgICBtb3ZwcmZ4XHQlMCwgJTNcOzxzdmVfaW50 X29wPlx0JTAuPFZldHlwZT4sICUxL20sICUyLjxWZXR5cGU+IgorICBbKHNl dF9hdHRyICJtb3ZwcmZ4IiAiKix5ZXMseWVzIildCispCisKIDs7IFZlY3Rv ciBBTkQsIE9SUiBhbmQgWE9SLgogKGRlZmluZV9pbnNuICI8b3B0YWI+PG1v ZGU+MyIKICAgWyhzZXQgKG1hdGNoX29wZXJhbmQ6U1ZFX0kgMCAicmVnaXN0 ZXJfb3BlcmFuZCIgIj13LCB3IikKQEAgLTI4NjQsMjUgKzI4ODAsNDUgQEAK ICAgWyhzZXQgKG1hdGNoX29wZXJhbmQ6U1ZFX0YgMCAicmVnaXN0ZXJfb3Bl cmFuZCIpCiAJKHVuc3BlYzpTVkVfRgogCSAgWyhtYXRjaF9kdXAgMikKLQkg ICAoU1ZFX0ZQX1VOQVJZOlNWRV9GIChtYXRjaF9vcGVyYW5kOlNWRV9GIDEg InJlZ2lzdGVyX29wZXJhbmQiKSldCi0JICBVTlNQRUNfTUVSR0VfUFRSVUUp KV0KKwkgICAoY29uc3RfaW50IFNWRV9BTExPV19ORVdfRkFVTFRTKQorCSAg IChtYXRjaF9vcGVyYW5kOlNWRV9GIDEgInJlZ2lzdGVyX29wZXJhbmQiKV0K KwkgIFNWRV9DT05EX0ZQX1VOQVJZKSldCiAgICJUQVJHRVRfU1ZFIgogICB7 CiAgICAgb3BlcmFuZHNbMl0gPSBmb3JjZV9yZWcgKDxWUFJFRD5tb2RlLCBD T05TVE0xX1JUWCAoPFZQUkVEPm1vZGUpKTsKICAgfQogKQogCi07OyBGTkVH LCBGQUJTIGFuZCBGU1FSVCBwcmVkaWNhdGVkIHdpdGggYSBQVFJVRS4KLShk ZWZpbmVfaW5zbiAiKjxvcHRhYj48bW9kZT4yIgorOzsgUHJlZGljYXRlZCBG TkVHLCBGQUJTIGFuZCBGU1FSVC4KKyhkZWZpbmVfaW5zbiAiQGFhcmNoNjRf cHJlZF88b3B0YWI+PG1vZGU+IgogICBbKHNldCAobWF0Y2hfb3BlcmFuZDpT VkVfRiAwICJyZWdpc3Rlcl9vcGVyYW5kIiAiPXciKQogCSh1bnNwZWM6U1ZF X0YKIAkgIFsobWF0Y2hfb3BlcmFuZDo8VlBSRUQ+IDEgInJlZ2lzdGVyX29w ZXJhbmQiICJVcGwiKQotCSAgIChTVkVfRlBfVU5BUlk6U1ZFX0YgKG1hdGNo X29wZXJhbmQ6U1ZFX0YgMiAicmVnaXN0ZXJfb3BlcmFuZCIgInciKSldCi0J ICBVTlNQRUNfTUVSR0VfUFRSVUUpKV0KKwkgICAobWF0Y2hfb3BlcmFuZDpT SSAzICJjb25zdF9pbnRfb3BlcmFuZCIgImkiKQorCSAgIChtYXRjaF9vcGVy YW5kOlNWRV9GIDIgInJlZ2lzdGVyX29wZXJhbmQiICJ3IildCisJICBTVkVf Q09ORF9GUF9VTkFSWSkpXQogICAiVEFSR0VUX1NWRSIKICAgIjxzdmVfZnBf b3A+XHQlMC48VmV0eXBlPiwgJTEvbSwgJTIuPFZldHlwZT4iCiApCiAKKzs7 IFByZWRpY2F0ZWQgRk5FRywgRkFCUyBhbmQgRlNRUlQgd2l0aCBzZWxlY3Qu CisoZGVmaW5lX2luc24gIkBjb25kXzxvcHRhYj48bW9kZT4iCisgIFsoc2V0 IChtYXRjaF9vcGVyYW5kOlNWRV9GIDAgInJlZ2lzdGVyX29wZXJhbmQiICI9 dywgJncsID8mdyIpCisJKHVuc3BlYzpTVkVfRgorCSAgWyhtYXRjaF9vcGVy YW5kOjxWUFJFRD4gMSAicmVnaXN0ZXJfb3BlcmFuZCIgIlVwbCwgVXBsLCBV cGwiKQorCSAgICh1bnNwZWM6U1ZFX0YKKwkgICAgIFsobWF0Y2hfb3BlcmFu ZDpTVkVfRiAyICJyZWdpc3Rlcl9vcGVyYW5kIiAidywgdywgdyIpXQorCSAg ICAgU1ZFX0NPTkRfRlBfVU5BUlkpCisJICAgKG1hdGNoX29wZXJhbmQ6U1ZF X0YgMyAiYWFyY2g2NF9zaW1kX3JlZ19vcl96ZXJvIiAiMCwgRHosIHciKV0K KwkgIFVOU1BFQ19TRUwpKV0KKyAgIlRBUkdFVF9TVkUiCisgICJACisgICA8 c3ZlX2ZwX29wPlx0JTAuPFZldHlwZT4sICUxL20sICUyLjxWZXR5cGU+Cisg ICBtb3ZwcmZ4XHQlMC48VmV0eXBlPiwgJTEveiwgJTAuPFZldHlwZT5cOzxz dmVfZnBfb3A+XHQlMC48VmV0eXBlPiwgJTEvbSwgJTIuPFZldHlwZT4KKyAg IG1vdnByZnhcdCUwLCAlM1w7PHN2ZV9mcF9vcD5cdCUwLjxWZXR5cGU+LCAl MS9tLCAlMi48VmV0eXBlPiIKKyAgWyhzZXRfYXR0ciAibW92cHJmeCIgIios eWVzLHllcyIpXQorKQorCiA7OyBVbnByZWRpY2F0ZWQgRlJJTlR5LgogKGRl ZmluZV9leHBhbmQgIjxmcmludF9wYXR0ZXJuPjxtb2RlPjIiCiAgIFsoc2V0 IChtYXRjaF9vcGVyYW5kOlNWRV9GIDAgInJlZ2lzdGVyX29wZXJhbmQiKQpk aWZmIC0tZ2l0IGEvZ2NjL2NvbmZpZy9hYXJjaDY0L2l0ZXJhdG9ycy5tZCBi L2djYy9jb25maWcvYWFyY2g2NC9pdGVyYXRvcnMubWQKaW5kZXggM2EwNWZj Ny4uMWEzZjUzOSAxMDA2NDQKLS0tIGEvZ2NjL2NvbmZpZy9hYXJjaDY0L2l0 ZXJhdG9ycy5tZAorKysgYi9nY2MvY29uZmlnL2FhcmNoNjQvaXRlcmF0b3Jz Lm1kCkBAIC00NjUsNiArNDY1LDkgQEAKICAgICBVTlNQRUNfWE9SRgkJOyBV c2VkIGluIGFhcmNoNjQtc3ZlLm1kLgogICAgIFVOU1BFQ19TTVVMX0hJR0hQ QVJUIDsgVXNlZCBpbiBhYXJjaDY0LXN2ZS5tZC4KICAgICBVTlNQRUNfVU1V TF9ISUdIUEFSVCA7IFVzZWQgaW4gYWFyY2g2NC1zdmUubWQuCisgICAgVU5T UEVDX0NPTkRfRkFCUwk7IFVzZWQgaW4gYWFyY2g2NC1zdmUubWQuCisgICAg VU5TUEVDX0NPTkRfRk5FRwk7IFVzZWQgaW4gYWFyY2g2NC1zdmUubWQuCisg ICAgVU5TUEVDX0NPTkRfRlNRUlQJOyBVc2VkIGluIGFhcmNoNjQtc3ZlLm1k LgogICAgIFVOU1BFQ19DT05EX0FERAk7IFVzZWQgaW4gYWFyY2g2NC1zdmUu bWQuCiAgICAgVU5TUEVDX0NPTkRfU1VCCTsgVXNlZCBpbiBhYXJjaDY0LXN2 ZS5tZC4KICAgICBVTlNQRUNfQ09ORF9TQUJECTsgVXNlZCBpbiBhYXJjaDY0 LXN2ZS5tZC4KQEAgLTEyMTQsNyArMTIxNyw3IEBACiAoZGVmaW5lX2NvZGVf aXRlcmF0b3IgRkFDX0NPTVBBUklTT05TIFtsdCBsZSBnZSBndF0pCiAKIDs7 IFNWRSBpbnRlZ2VyIHVuYXJ5IG9wZXJhdGlvbnMuCi0oZGVmaW5lX2NvZGVf aXRlcmF0b3IgU1ZFX0lOVF9VTkFSWSBbbmVnIG5vdCBwb3Bjb3VudF0pCiso ZGVmaW5lX2NvZGVfaXRlcmF0b3IgU1ZFX0lOVF9VTkFSWSBbbmVnIG5vdCBw b3Bjb3VudCBhYnNdKQogCiA7OyBTVkUgZmxvYXRpbmctcG9pbnQgdW5hcnkg b3BlcmF0aW9ucy4KIChkZWZpbmVfY29kZV9pdGVyYXRvciBTVkVfRlBfVU5B UlkgW25lZyBhYnMgc3FydF0pCkBAIC0xNDEyLDYgKzE0MTUsNyBAQAogCQkJ ICAgICAgKGlvciAib3JyIikKIAkJCSAgICAgICh4b3IgImVvciIpCiAJCQkg ICAgICAobm90ICJub3QiKQorCQkJICAgICAgKGFicyAiYWJzIikKIAkJCSAg ICAgIChwb3Bjb3VudCAiY250IildKQogCiAoZGVmaW5lX2NvZGVfYXR0ciBz dmVfaW50X29wX3JldiBbKHBsdXMgImFkZCIpCkBAIC0xNTgyLDYgKzE1ODYs MTAgQEAKIChkZWZpbmVfaW50X2l0ZXJhdG9yIFNWRV9DT05EX01BWE1JTiBb VU5TUEVDX0NPTkRfRk1BWE5NIFVOU1BFQ19DT05EX0ZNSU5OTQogCQkJCSAg ICAgIFVOU1BFQ19DT05EX0ZNQVggVU5TUEVDX0NPTkRfRk1JTl0pCiAKKyhk ZWZpbmVfaW50X2l0ZXJhdG9yIFNWRV9DT05EX0ZQX1VOQVJZIFtVTlNQRUNf Q09ORF9GQUJTCisJCQkJCVVOU1BFQ19DT05EX0ZORUcKKwkJCQkgICAgICAg IFVOU1BFQ19DT05EX0ZTUVJUXSkKKwogKGRlZmluZV9pbnRfaXRlcmF0b3Ig U1ZFX0NPTkRfSUFCRCBbVU5TUEVDX0NPTkRfU0FCRCBVTlNQRUNfQ09ORF9V QUJEXSkKIChkZWZpbmVfaW50X2l0ZXJhdG9yIFNWRV9DT05EX0ZBQkQgW1VO U1BFQ19DT05EX0ZBQkRdKQogCkBAIC0xNjE3LDYgKzE2MjUsOSBAQAogCQkJ KFVOU1BFQ19BTkRWICJhbmQiKQogCQkJKFVOU1BFQ19JT1JWICJpb3IiKQog CQkJKFVOU1BFQ19YT1JWICJ4b3IiKQorCQkJKFVOU1BFQ19DT05EX0ZBQlMg ImFicyIpCisJCQkoVU5TUEVDX0NPTkRfRk5FRyAibmVnIikKKwkJCShVTlNQ RUNfQ09ORF9GU1FSVCAic3FydCIpCiAJCQkoVU5TUEVDX0NPTkRfTVVMICJt dWwiKQogCQkJKFVOU1BFQ19DT05EX0RJViAiZGl2IikKIAkJCShVTlNQRUNf Q09ORF9GTUFYICJzbWF4X25hbiIpCkBAIC0xODY1LDYgKzE4NzYsOSBAQAog CiAoZGVmaW5lX2ludF9hdHRyIHN2ZV9mcF9vcCBbKFVOU1BFQ19DT05EX01V TCAiZm11bCIpCiAJCQkgICAgKFVOU1BFQ19DT05EX0RJViAiZmRpdiIpCisJ CQkgICAgKFVOU1BFQ19DT05EX0ZBQlMgImZhYnMiKQorCQkJICAgIChVTlNQ RUNfQ09ORF9GTkVHICJmbmVnIikKKwkJCSAgICAoVU5TUEVDX0NPTkRfRlNR UlQgImZzcXJ0IikKIAkJCSAgICAoVU5TUEVDX0NPTkRfRk1BWCAiZm1heCIp CiAJCQkgICAgKFVOU1BFQ19DT05EX0ZNSU4gImZtaW4iKQogCQkJICAgIChV TlNQRUNfQ09ORF9GTUFYTk0gImZtYXhubSIpCmRpZmYgLS1naXQgYS9nY2Mv dGVzdHN1aXRlL2djYy50YXJnZXQvYWFyY2g2NC9zdmUtYWNsZS9hc20vYWJz X2YxNi5jIGIvZ2NjL3Rlc3RzdWl0ZS9nY2MudGFyZ2V0L2FhcmNoNjQvc3Zl LWFjbGUvYXNtL2Fic19mMTYuYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl eCAwMDAwMDAwLi5jNzRhYTU0Ci0tLSAvZGV2L251bGwKKysrIGIvZ2NjL3Rl c3RzdWl0ZS9nY2MudGFyZ2V0L2FhcmNoNjQvc3ZlLWFjbGUvYXNtL2Fic19m MTYuYwpAQCAtMCwwICsxLDEyMiBAQAorLyogeyBkZy1kbyBjb21waWxlIH0g Ki8KKy8qIHsgZGctZmluYWwgeyBjaGVjay1mdW5jdGlvbi1ib2RpZXMgIioq IiAiIiAiLURDSEVDS19BU00iIH0gfSAqLworCisjaW5jbHVkZSAidGVzdF9z dmVfYWNsZS5oIgorCisvKgorKiogYWJzX2YxNl9tX3RpZWQxMjoKKyoqCWZh YnMJejBcLmgsIHAwL20sIHowXC5oCisqKglyZXQKKyovCitURVNUX1VOSUZP Uk1fWiAoYWJzX2YxNl9tX3RpZWQxMiwgc3ZmbG9hdDE2X3QsCisJCXowID0g c3ZhYnNfZjE2X20gKHowLCBwMCwgejApLAorCQl6MCA9IHN2YWJzX20gKHow LCBwMCwgejApKQorCisvKgorKiogYWJzX2YxNl9tX3RpZWQxOgorKioJZmFi cwl6MFwuaCwgcDAvbSwgejFcLmgKKyoqCXJldAorKi8KK1RFU1RfVU5JRk9S TV9aIChhYnNfZjE2X21fdGllZDEsIHN2ZmxvYXQxNl90LAorCQl6MCA9IHN2 YWJzX2YxNl9tICh6MCwgcDAsIHoxKSwKKwkJejAgPSBzdmFic19tICh6MCwg cDAsIHoxKSkKKworLyoKKyoqIGFic19mMTZfbV90aWVkMjoKKyoqCW1vdgko elswLTldKylcLmQsIHowXC5kCisqKgltb3ZwcmZ4CXowLCB6MQorKioJZmFi cwl6MFwuaCwgcDAvbSwgXDFcLmgKKyoqCXJldAorKi8KK1RFU1RfVU5JRk9S TV9aIChhYnNfZjE2X21fdGllZDIsIHN2ZmxvYXQxNl90LAorCQl6MCA9IHN2 YWJzX2YxNl9tICh6MSwgcDAsIHowKSwKKwkJejAgPSBzdmFic19tICh6MSwg cDAsIHowKSkKKworLyoKKyoqIGFic19mMTZfbV91bnRpZWQ6CisqKgltb3Zw cmZ4CXowLCB6MgorKioJZmFicwl6MFwuaCwgcDAvbSwgejFcLmgKKyoqCXJl dAorKi8KK1RFU1RfVU5JRk9STV9aIChhYnNfZjE2X21fdW50aWVkLCBzdmZs b2F0MTZfdCwKKwkJejAgPSBzdmFic19mMTZfbSAoejIsIHAwLCB6MSksCisJ CXowID0gc3ZhYnNfbSAoejIsIHAwLCB6MSkpCisKKy8qCisqKiBhYnNfZjE2 X3pfdGllZDE6CisqKgltb3YJKHpbMC05XSspXC5kLCB6MFwuZAorKioJbW92 cHJmeAl6MFwuaCwgcDAveiwgejBcLmgKKyoqCWZhYnMJejBcLmgsIHAwL20s IFwxXC5oCisqKglyZXQKKyovCitURVNUX1VOSUZPUk1fWiAoYWJzX2YxNl96 X3RpZWQxLCBzdmZsb2F0MTZfdCwKKwkJejAgPSBzdmFic19mMTZfeiAocDAs IHowKSwKKwkJejAgPSBzdmFic196IChwMCwgejApKQorCisvKgorKiogYWJz X2YxNl96X3VudGllZDoKKyoqCW1vdnByZngJejBcLmgsIHAwL3osIHowXC5o CisqKglmYWJzCXowXC5oLCBwMC9tLCB6MVwuaAorKioJcmV0CisqLworVEVT VF9VTklGT1JNX1ogKGFic19mMTZfel91bnRpZWQsIHN2ZmxvYXQxNl90LAor CQl6MCA9IHN2YWJzX2YxNl96IChwMCwgejEpLAorCQl6MCA9IHN2YWJzX3og KHAwLCB6MSkpCisKKy8qCisqKiBhYnNfZjE2X3hfdGllZDE6CisqKglmYWJz CXowXC5oLCBwMC9tLCB6MFwuaAorKioJcmV0CisqLworVEVTVF9VTklGT1JN X1ogKGFic19mMTZfeF90aWVkMSwgc3ZmbG9hdDE2X3QsCisJCXowID0gc3Zh YnNfZjE2X3ggKHAwLCB6MCksCisJCXowID0gc3ZhYnNfeCAocDAsIHowKSkK KworLyoKKyoqIGFic19mMTZfeF91bnRpZWQ6CisqKglmYWJzCXoyXC5oLCBw MC9tLCB6MFwuaAorKioJcmV0CisqLworVEVTVF9VTklGT1JNX1ogKGFic19m MTZfeF91bnRpZWQsIHN2ZmxvYXQxNl90LAorCQl6MiA9IHN2YWJzX2YxNl94 IChwMCwgejApLAorCQl6MiA9IHN2YWJzX3ggKHAwLCB6MCkpCisKKy8qCisq KiBwdHJ1ZV9hYnNfZjE2X3hfdGllZDE6CisqKglwdHJ1ZQkocFswLTddKVwu aFteXG5dKgorKioJZmFicwl6MFwuaCwgXDEvbSwgejBcLmgKKyoqCXJldAor Ki8KK1RFU1RfVU5JRk9STV9aIChwdHJ1ZV9hYnNfZjE2X3hfdGllZDEsIHN2 ZmxvYXQxNl90LAorCQl6MCA9IHN2YWJzX2YxNl94IChzdnB0cnVlX2IxNiAo KSwgejApLAorCQl6MCA9IHN2YWJzX3ggKHN2cHRydWVfYjE2ICgpLCB6MCkp CisKKy8qCisqKiBwdHJ1ZV9hYnNfZjE2X3hfdW50aWVkOgorKioJcHRydWUJ KHBbMC03XSlcLmhbXlxuXSoKKyoqCWZhYnMJejJcLmgsIFwxL20sIHowXC5o CisqKglyZXQKKyovCitURVNUX1VOSUZPUk1fWiAocHRydWVfYWJzX2YxNl94 X3VudGllZCwgc3ZmbG9hdDE2X3QsCisJCXoyID0gc3ZhYnNfZjE2X3ggKHN2 cHRydWVfYjE2ICgpLCB6MCksCisJCXoyID0gc3ZhYnNfeCAoc3ZwdHJ1ZV9i MTYgKCksIHowKSkKKworLyoKKyoqIHB0cnVlX2I4X2Fic19mMTZfeF90aWVk MToKKyoqCXB0cnVlCShwWzAtN10pXC5oW15cbl0qCisqKglmYWJzCXowXC5o LCBcMS9tLCB6MFwuaAorKioJcmV0CisqLworVEVTVF9VTklGT1JNX1ogKHB0 cnVlX2I4X2Fic19mMTZfeF90aWVkMSwgc3ZmbG9hdDE2X3QsCisJCXowID0g c3ZhYnNfZjE2X3ggKHN2cHRydWVfYjggKCksIHowKSwKKwkJejAgPSBzdmFi c194IChzdnB0cnVlX2I4ICgpLCB6MCkpCisKKy8qCisqKiBwdHJ1ZV9iOF9h YnNfZjE2X3hfdW50aWVkOgorKioJcHRydWUJKHBbMC03XSlcLmhbXlxuXSoK KyoqCWZhYnMJejJcLmgsIFwxL20sIHowXC5oCisqKglyZXQKKyovCitURVNU X1VOSUZPUk1fWiAocHRydWVfYjhfYWJzX2YxNl94X3VudGllZCwgc3ZmbG9h dDE2X3QsCisJCXoyID0gc3ZhYnNfZjE2X3ggKHN2cHRydWVfYjggKCksIHow KSwKKwkJejIgPSBzdmFic194IChzdnB0cnVlX2I4ICgpLCB6MCkpCmRpZmYg LS1naXQgYS9nY2MvdGVzdHN1aXRlL2djYy50YXJnZXQvYWFyY2g2NC9zdmUt YWNsZS9hc20vYWJzX2YzMi5jIGIvZ2NjL3Rlc3RzdWl0ZS9nY2MudGFyZ2V0 L2FhcmNoNjQvc3ZlLWFjbGUvYXNtL2Fic19mMzIuYwpuZXcgZmlsZSBtb2Rl IDEwMDY0NAppbmRleCAwMDAwMDAwLi40NTdiNzhiCi0tLSAvZGV2L251bGwK KysrIGIvZ2NjL3Rlc3RzdWl0ZS9nY2MudGFyZ2V0L2FhcmNoNjQvc3ZlLWFj bGUvYXNtL2Fic19mMzIuYwpAQCAtMCwwICsxLDEyMiBAQAorLyogeyBkZy1k byBjb21waWxlIH0gKi8KKy8qIHsgZGctZmluYWwgeyBjaGVjay1mdW5jdGlv bi1ib2RpZXMgIioqIiAiIiAiLURDSEVDS19BU00iIH0gfSAqLworCisjaW5j bHVkZSAidGVzdF9zdmVfYWNsZS5oIgorCisvKgorKiogYWJzX2YzMl9tX3Rp ZWQxMjoKKyoqCWZhYnMJejBcLnMsIHAwL20sIHowXC5zCisqKglyZXQKKyov CitURVNUX1VOSUZPUk1fWiAoYWJzX2YzMl9tX3RpZWQxMiwgc3ZmbG9hdDMy X3QsCisJCXowID0gc3ZhYnNfZjMyX20gKHowLCBwMCwgejApLAorCQl6MCA9 IHN2YWJzX20gKHowLCBwMCwgejApKQorCisvKgorKiogYWJzX2YzMl9tX3Rp ZWQxOgorKioJZmFicwl6MFwucywgcDAvbSwgejFcLnMKKyoqCXJldAorKi8K K1RFU1RfVU5JRk9STV9aIChhYnNfZjMyX21fdGllZDEsIHN2ZmxvYXQzMl90 LAorCQl6MCA9IHN2YWJzX2YzMl9tICh6MCwgcDAsIHoxKSwKKwkJejAgPSBz dmFic19tICh6MCwgcDAsIHoxKSkKKworLyoKKyoqIGFic19mMzJfbV90aWVk MjoKKyoqCW1vdgkoelswLTldKylcLmQsIHowXC5kCisqKgltb3ZwcmZ4CXow LCB6MQorKioJZmFicwl6MFwucywgcDAvbSwgXDFcLnMKKyoqCXJldAorKi8K K1RFU1RfVU5JRk9STV9aIChhYnNfZjMyX21fdGllZDIsIHN2ZmxvYXQzMl90 LAorCQl6MCA9IHN2YWJzX2YzMl9tICh6MSwgcDAsIHowKSwKKwkJejAgPSBz dmFic19tICh6MSwgcDAsIHowKSkKKworLyoKKyoqIGFic19mMzJfbV91bnRp ZWQ6CisqKgltb3ZwcmZ4CXowLCB6MgorKioJZmFicwl6MFwucywgcDAvbSwg ejFcLnMKKyoqCXJldAorKi8KK1RFU1RfVU5JRk9STV9aIChhYnNfZjMyX21f dW50aWVkLCBzdmZsb2F0MzJfdCwKKwkJejAgPSBzdmFic19mMzJfbSAoejIs IHAwLCB6MSksCisJCXowID0gc3ZhYnNfbSAoejIsIHAwLCB6MSkpCisKKy8q CisqKiBhYnNfZjMyX3pfdGllZDE6CisqKgltb3YJKHpbMC05XSspXC5kLCB6 MFwuZAorKioJbW92cHJmeAl6MFwucywgcDAveiwgejBcLnMKKyoqCWZhYnMJ ejBcLnMsIHAwL20sIFwxXC5zCisqKglyZXQKKyovCitURVNUX1VOSUZPUk1f WiAoYWJzX2YzMl96X3RpZWQxLCBzdmZsb2F0MzJfdCwKKwkJejAgPSBzdmFi c19mMzJfeiAocDAsIHowKSwKKwkJejAgPSBzdmFic196IChwMCwgejApKQor CisvKgorKiogYWJzX2YzMl96X3VudGllZDoKKyoqCW1vdnByZngJejBcLnMs IHAwL3osIHowXC5zCisqKglmYWJzCXowXC5zLCBwMC9tLCB6MVwucworKioJ cmV0CisqLworVEVTVF9VTklGT1JNX1ogKGFic19mMzJfel91bnRpZWQsIHN2 ZmxvYXQzMl90LAorCQl6MCA9IHN2YWJzX2YzMl96IChwMCwgejEpLAorCQl6 MCA9IHN2YWJzX3ogKHAwLCB6MSkpCisKKy8qCisqKiBhYnNfZjMyX3hfdGll ZDE6CisqKglmYWJzCXowXC5zLCBwMC9tLCB6MFwucworKioJcmV0CisqLwor VEVTVF9VTklGT1JNX1ogKGFic19mMzJfeF90aWVkMSwgc3ZmbG9hdDMyX3Qs CisJCXowID0gc3ZhYnNfZjMyX3ggKHAwLCB6MCksCisJCXowID0gc3ZhYnNf eCAocDAsIHowKSkKKworLyoKKyoqIGFic19mMzJfeF91bnRpZWQ6CisqKglm YWJzCXoyXC5zLCBwMC9tLCB6MFwucworKioJcmV0CisqLworVEVTVF9VTklG T1JNX1ogKGFic19mMzJfeF91bnRpZWQsIHN2ZmxvYXQzMl90LAorCQl6MiA9 IHN2YWJzX2YzMl94IChwMCwgejApLAorCQl6MiA9IHN2YWJzX3ggKHAwLCB6 MCkpCisKKy8qCisqKiBwdHJ1ZV9hYnNfZjMyX3hfdGllZDE6CisqKglwdHJ1 ZQkocFswLTddKVwuc1teXG5dKgorKioJZmFicwl6MFwucywgXDEvbSwgejBc LnMKKyoqCXJldAorKi8KK1RFU1RfVU5JRk9STV9aIChwdHJ1ZV9hYnNfZjMy X3hfdGllZDEsIHN2ZmxvYXQzMl90LAorCQl6MCA9IHN2YWJzX2YzMl94IChz dnB0cnVlX2IzMiAoKSwgejApLAorCQl6MCA9IHN2YWJzX3ggKHN2cHRydWVf YjMyICgpLCB6MCkpCisKKy8qCisqKiBwdHJ1ZV9hYnNfZjMyX3hfdW50aWVk OgorKioJcHRydWUJKHBbMC03XSlcLnNbXlxuXSoKKyoqCWZhYnMJejJcLnMs IFwxL20sIHowXC5zCisqKglyZXQKKyovCitURVNUX1VOSUZPUk1fWiAocHRy dWVfYWJzX2YzMl94X3VudGllZCwgc3ZmbG9hdDMyX3QsCisJCXoyID0gc3Zh YnNfZjMyX3ggKHN2cHRydWVfYjMyICgpLCB6MCksCisJCXoyID0gc3ZhYnNf eCAoc3ZwdHJ1ZV9iMzIgKCksIHowKSkKKworLyoKKyoqIHB0cnVlX2I4X2Fi c19mMzJfeF90aWVkMToKKyoqCXB0cnVlCShwWzAtN10pXC5zW15cbl0qCisq KglmYWJzCXowXC5zLCBcMS9tLCB6MFwucworKioJcmV0CisqLworVEVTVF9V TklGT1JNX1ogKHB0cnVlX2I4X2Fic19mMzJfeF90aWVkMSwgc3ZmbG9hdDMy X3QsCisJCXowID0gc3ZhYnNfZjMyX3ggKHN2cHRydWVfYjggKCksIHowKSwK KwkJejAgPSBzdmFic194IChzdnB0cnVlX2I4ICgpLCB6MCkpCisKKy8qCisq KiBwdHJ1ZV9iOF9hYnNfZjMyX3hfdW50aWVkOgorKioJcHRydWUJKHBbMC03 XSlcLnNbXlxuXSoKKyoqCWZhYnMJejJcLnMsIFwxL20sIHowXC5zCisqKgly ZXQKKyovCitURVNUX1VOSUZPUk1fWiAocHRydWVfYjhfYWJzX2YzMl94X3Vu dGllZCwgc3ZmbG9hdDMyX3QsCisJCXoyID0gc3ZhYnNfZjMyX3ggKHN2cHRy dWVfYjggKCksIHowKSwKKwkJejIgPSBzdmFic194IChzdnB0cnVlX2I4ICgp LCB6MCkpCmRpZmYgLS1naXQgYS9nY2MvdGVzdHN1aXRlL2djYy50YXJnZXQv YWFyY2g2NC9zdmUtYWNsZS9hc20vYWJzX2Y2NC5jIGIvZ2NjL3Rlc3RzdWl0 ZS9nY2MudGFyZ2V0L2FhcmNoNjQvc3ZlLWFjbGUvYXNtL2Fic19mNjQuYwpu ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4xNTBiYmRhCi0t LSAvZGV2L251bGwKKysrIGIvZ2NjL3Rlc3RzdWl0ZS9nY2MudGFyZ2V0L2Fh cmNoNjQvc3ZlLWFjbGUvYXNtL2Fic19mNjQuYwpAQCAtMCwwICsxLDEyMiBA QAorLyogeyBkZy1kbyBjb21waWxlIH0gKi8KKy8qIHsgZGctZmluYWwgeyBj aGVjay1mdW5jdGlvbi1ib2RpZXMgIioqIiAiIiAiLURDSEVDS19BU00iIH0g fSAqLworCisjaW5jbHVkZSAidGVzdF9zdmVfYWNsZS5oIgorCisvKgorKiog YWJzX2Y2NF9tX3RpZWQxMjoKKyoqCWZhYnMJejBcLmQsIHAwL20sIHowXC5k CisqKglyZXQKKyovCitURVNUX1VOSUZPUk1fWiAoYWJzX2Y2NF9tX3RpZWQx Miwgc3ZmbG9hdDY0X3QsCisJCXowID0gc3ZhYnNfZjY0X20gKHowLCBwMCwg ejApLAorCQl6MCA9IHN2YWJzX20gKHowLCBwMCwgejApKQorCisvKgorKiog YWJzX2Y2NF9tX3RpZWQxOgorKioJZmFicwl6MFwuZCwgcDAvbSwgejFcLmQK KyoqCXJldAorKi8KK1RFU1RfVU5JRk9STV9aIChhYnNfZjY0X21fdGllZDEs IHN2ZmxvYXQ2NF90LAorCQl6MCA9IHN2YWJzX2Y2NF9tICh6MCwgcDAsIHox KSwKKwkJejAgPSBzdmFic19tICh6MCwgcDAsIHoxKSkKKworLyoKKyoqIGFi c19mNjRfbV90aWVkMjoKKyoqCW1vdgkoelswLTldKylcLmQsIHowXC5kCisq Kgltb3ZwcmZ4CXowLCB6MQorKioJZmFicwl6MFwuZCwgcDAvbSwgXDFcLmQK KyoqCXJldAorKi8KK1RFU1RfVU5JRk9STV9aIChhYnNfZjY0X21fdGllZDIs IHN2ZmxvYXQ2NF90LAorCQl6MCA9IHN2YWJzX2Y2NF9tICh6MSwgcDAsIHow KSwKKwkJejAgPSBzdmFic19tICh6MSwgcDAsIHowKSkKKworLyoKKyoqIGFi c19mNjRfbV91bnRpZWQ6CisqKgltb3ZwcmZ4CXowLCB6MgorKioJZmFicwl6 MFwuZCwgcDAvbSwgejFcLmQKKyoqCXJldAorKi8KK1RFU1RfVU5JRk9STV9a IChhYnNfZjY0X21fdW50aWVkLCBzdmZsb2F0NjRfdCwKKwkJejAgPSBzdmFi c19mNjRfbSAoejIsIHAwLCB6MSksCisJCXowID0gc3ZhYnNfbSAoejIsIHAw LCB6MSkpCisKKy8qCisqKiBhYnNfZjY0X3pfdGllZDE6CisqKgltb3YJKHpb MC05XStcLmQpLCB6MFwuZAorKioJbW92cHJmeAl6MFwuZCwgcDAveiwgejBc LmQKKyoqCWZhYnMJejBcLmQsIHAwL20sIFwxCisqKglyZXQKKyovCitURVNU X1VOSUZPUk1fWiAoYWJzX2Y2NF96X3RpZWQxLCBzdmZsb2F0NjRfdCwKKwkJ ejAgPSBzdmFic19mNjRfeiAocDAsIHowKSwKKwkJejAgPSBzdmFic196IChw MCwgejApKQorCisvKgorKiogYWJzX2Y2NF96X3VudGllZDoKKyoqCW1vdnBy ZngJejBcLmQsIHAwL3osIHowXC5kCisqKglmYWJzCXowXC5kLCBwMC9tLCB6 MVwuZAorKioJcmV0CisqLworVEVTVF9VTklGT1JNX1ogKGFic19mNjRfel91 bnRpZWQsIHN2ZmxvYXQ2NF90LAorCQl6MCA9IHN2YWJzX2Y2NF96IChwMCwg ejEpLAorCQl6MCA9IHN2YWJzX3ogKHAwLCB6MSkpCisKKy8qCisqKiBhYnNf ZjY0X3hfdGllZDE6CisqKglmYWJzCXowXC5kLCBwMC9tLCB6MFwuZAorKioJ cmV0CisqLworVEVTVF9VTklGT1JNX1ogKGFic19mNjRfeF90aWVkMSwgc3Zm bG9hdDY0X3QsCisJCXowID0gc3ZhYnNfZjY0X3ggKHAwLCB6MCksCisJCXow ID0gc3ZhYnNfeCAocDAsIHowKSkKKworLyoKKyoqIGFic19mNjRfeF91bnRp ZWQ6CisqKglmYWJzCXoyXC5kLCBwMC9tLCB6MFwuZAorKioJcmV0CisqLwor VEVTVF9VTklGT1JNX1ogKGFic19mNjRfeF91bnRpZWQsIHN2ZmxvYXQ2NF90 LAorCQl6MiA9IHN2YWJzX2Y2NF94IChwMCwgejApLAorCQl6MiA9IHN2YWJz X3ggKHAwLCB6MCkpCisKKy8qCisqKiBwdHJ1ZV9hYnNfZjY0X3hfdGllZDE6 CisqKglwdHJ1ZQkocFswLTddKVwuZFteXG5dKgorKioJZmFicwl6MFwuZCwg XDEvbSwgejBcLmQKKyoqCXJldAorKi8KK1RFU1RfVU5JRk9STV9aIChwdHJ1 ZV9hYnNfZjY0X3hfdGllZDEsIHN2ZmxvYXQ2NF90LAorCQl6MCA9IHN2YWJz X2Y2NF94IChzdnB0cnVlX2I2NCAoKSwgejApLAorCQl6MCA9IHN2YWJzX3gg KHN2cHRydWVfYjY0ICgpLCB6MCkpCisKKy8qCisqKiBwdHJ1ZV9hYnNfZjY0 X3hfdW50aWVkOgorKioJcHRydWUJKHBbMC03XSlcLmRbXlxuXSoKKyoqCWZh YnMJejJcLmQsIFwxL20sIHowXC5kCisqKglyZXQKKyovCitURVNUX1VOSUZP Uk1fWiAocHRydWVfYWJzX2Y2NF94X3VudGllZCwgc3ZmbG9hdDY0X3QsCisJ CXoyID0gc3ZhYnNfZjY0X3ggKHN2cHRydWVfYjY0ICgpLCB6MCksCisJCXoy ID0gc3ZhYnNfeCAoc3ZwdHJ1ZV9iNjQgKCksIHowKSkKKworLyoKKyoqIHB0 cnVlX2I4X2Fic19mNjRfeF90aWVkMToKKyoqCXB0cnVlCShwWzAtN10pXC5k W15cbl0qCisqKglmYWJzCXowXC5kLCBcMS9tLCB6MFwuZAorKioJcmV0Cisq LworVEVTVF9VTklGT1JNX1ogKHB0cnVlX2I4X2Fic19mNjRfeF90aWVkMSwg c3ZmbG9hdDY0X3QsCisJCXowID0gc3ZhYnNfZjY0X3ggKHN2cHRydWVfYjgg KCksIHowKSwKKwkJejAgPSBzdmFic194IChzdnB0cnVlX2I4ICgpLCB6MCkp CisKKy8qCisqKiBwdHJ1ZV9iOF9hYnNfZjY0X3hfdW50aWVkOgorKioJcHRy dWUJKHBbMC03XSlcLmRbXlxuXSoKKyoqCWZhYnMJejJcLmQsIFwxL20sIHow XC5kCisqKglyZXQKKyovCitURVNUX1VOSUZPUk1fWiAocHRydWVfYjhfYWJz X2Y2NF94X3VudGllZCwgc3ZmbG9hdDY0X3QsCisJCXoyID0gc3ZhYnNfZjY0 X3ggKHN2cHRydWVfYjggKCksIHowKSwKKwkJejIgPSBzdmFic194IChzdnB0 cnVlX2I4ICgpLCB6MCkpCmRpZmYgLS1naXQgYS9nY2MvdGVzdHN1aXRlL2dj Yy50YXJnZXQvYWFyY2g2NC9zdmUtYWNsZS9hc20vYWJzX3MxNi5jIGIvZ2Nj L3Rlc3RzdWl0ZS9nY2MudGFyZ2V0L2FhcmNoNjQvc3ZlLWFjbGUvYXNtL2Fi c19zMTYuYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4w ZjM1MTc1Ci0tLSAvZGV2L251bGwKKysrIGIvZ2NjL3Rlc3RzdWl0ZS9nY2Mu dGFyZ2V0L2FhcmNoNjQvc3ZlLWFjbGUvYXNtL2Fic19zMTYuYwpAQCAtMCww ICsxLDgzIEBACisvKiB7IGRnLWRvIGNvbXBpbGUgfSAqLworLyogeyBkZy1m aW5hbCB7IGNoZWNrLWZ1bmN0aW9uLWJvZGllcyAiKioiICIiICItRENIRUNL X0FTTSIgfSB9ICovCisKKyNpbmNsdWRlICJ0ZXN0X3N2ZV9hY2xlLmgiCisK Ky8qCisqKiBhYnNfczE2X21fdGllZDEyOgorKioJYWJzCXowXC5oLCBwMC9t LCB6MFwuaAorKioJcmV0CisqLworVEVTVF9VTklGT1JNX1ogKGFic19zMTZf bV90aWVkMTIsIHN2aW50MTZfdCwKKwkJejAgPSBzdmFic19zMTZfbSAoejAs IHAwLCB6MCksCisJCXowID0gc3ZhYnNfbSAoejAsIHAwLCB6MCkpCisKKy8q CisqKiBhYnNfczE2X21fdGllZDE6CisqKglhYnMJejBcLmgsIHAwL20sIHox XC5oCisqKglyZXQKKyovCitURVNUX1VOSUZPUk1fWiAoYWJzX3MxNl9tX3Rp ZWQxLCBzdmludDE2X3QsCisJCXowID0gc3ZhYnNfczE2X20gKHowLCBwMCwg ejEpLAorCQl6MCA9IHN2YWJzX20gKHowLCBwMCwgejEpKQorCisvKgorKiog YWJzX3MxNl9tX3RpZWQyOgorKioJbW92CSh6WzAtOV0rKVwuZCwgejBcLmQK KyoqCW1vdnByZngJejAsIHoxCisqKglhYnMJejBcLmgsIHAwL20sIFwxXC5o CisqKglyZXQKKyovCitURVNUX1VOSUZPUk1fWiAoYWJzX3MxNl9tX3RpZWQy LCBzdmludDE2X3QsCisJCXowID0gc3ZhYnNfczE2X20gKHoxLCBwMCwgejAp LAorCQl6MCA9IHN2YWJzX20gKHoxLCBwMCwgejApKQorCisvKgorKiogYWJz X3MxNl9tX3VudGllZDoKKyoqCW1vdnByZngJejAsIHoyCisqKglhYnMJejBc LmgsIHAwL20sIHoxXC5oCisqKglyZXQKKyovCitURVNUX1VOSUZPUk1fWiAo YWJzX3MxNl9tX3VudGllZCwgc3ZpbnQxNl90LAorCQl6MCA9IHN2YWJzX3Mx Nl9tICh6MiwgcDAsIHoxKSwKKwkJejAgPSBzdmFic19tICh6MiwgcDAsIHox KSkKKworLyoKKyoqIGFic19zMTZfel90aWVkMToKKyoqCW1vdgkoelswLTld KylcLmQsIHowXC5kCisqKgltb3ZwcmZ4CXowXC5oLCBwMC96LCB6MFwuaAor KioJYWJzCXowXC5oLCBwMC9tLCBcMVwuaAorKioJcmV0CisqLworVEVTVF9V TklGT1JNX1ogKGFic19zMTZfel90aWVkMSwgc3ZpbnQxNl90LAorCQl6MCA9 IHN2YWJzX3MxNl96IChwMCwgejApLAorCQl6MCA9IHN2YWJzX3ogKHAwLCB6 MCkpCisKKy8qCisqKiBhYnNfczE2X3pfdW50aWVkOgorKioJbW92cHJmeAl6 MFwuaCwgcDAveiwgejBcLmgKKyoqCWFicwl6MFwuaCwgcDAvbSwgejFcLmgK KyoqCXJldAorKi8KK1RFU1RfVU5JRk9STV9aIChhYnNfczE2X3pfdW50aWVk LCBzdmludDE2X3QsCisJCXowID0gc3ZhYnNfczE2X3ogKHAwLCB6MSksCisJ CXowID0gc3ZhYnNfeiAocDAsIHoxKSkKKworLyoKKyoqIGFic19zMTZfeF90 aWVkMToKKyoqCWFicwl6MFwuaCwgcDAvbSwgejBcLmgKKyoqCXJldAorKi8K K1RFU1RfVU5JRk9STV9aIChhYnNfczE2X3hfdGllZDEsIHN2aW50MTZfdCwK KwkJejAgPSBzdmFic19zMTZfeCAocDAsIHowKSwKKwkJejAgPSBzdmFic194 IChwMCwgejApKQorCisvKgorKiogYWJzX3MxNl94X3VudGllZDoKKyoqCWFi cwl6MlwuaCwgcDAvbSwgejBcLmgKKyoqCXJldAorKi8KK1RFU1RfVU5JRk9S TV9aIChhYnNfczE2X3hfdW50aWVkLCBzdmludDE2X3QsCisJCXoyID0gc3Zh YnNfczE2X3ggKHAwLCB6MCksCisJCXoyID0gc3ZhYnNfeCAocDAsIHowKSkK KwpkaWZmIC0tZ2l0IGEvZ2NjL3Rlc3RzdWl0ZS9nY2MudGFyZ2V0L2FhcmNo NjQvc3ZlLWFjbGUvYXNtL2Fic19zMzIuYyBiL2djYy90ZXN0c3VpdGUvZ2Nj LnRhcmdldC9hYXJjaDY0L3N2ZS1hY2xlL2FzbS9hYnNfczMyLmMKbmV3IGZp bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uY2RkOGU3MAotLS0gL2Rl di9udWxsCisrKyBiL2djYy90ZXN0c3VpdGUvZ2NjLnRhcmdldC9hYXJjaDY0 L3N2ZS1hY2xlL2FzbS9hYnNfczMyLmMKQEAgLTAsMCArMSw4MyBAQAorLyog eyBkZy1kbyBjb21waWxlIH0gKi8KKy8qIHsgZGctZmluYWwgeyBjaGVjay1m dW5jdGlvbi1ib2RpZXMgIioqIiAiIiAiLURDSEVDS19BU00iIH0gfSAqLwor CisjaW5jbHVkZSAidGVzdF9zdmVfYWNsZS5oIgorCisvKgorKiogYWJzX3Mz Ml9tX3RpZWQxMjoKKyoqCWFicwl6MFwucywgcDAvbSwgejBcLnMKKyoqCXJl dAorKi8KK1RFU1RfVU5JRk9STV9aIChhYnNfczMyX21fdGllZDEyLCBzdmlu dDMyX3QsCisJCXowID0gc3ZhYnNfczMyX20gKHowLCBwMCwgejApLAorCQl6 MCA9IHN2YWJzX20gKHowLCBwMCwgejApKQorCisvKgorKiogYWJzX3MzMl9t X3RpZWQxOgorKioJYWJzCXowXC5zLCBwMC9tLCB6MVwucworKioJcmV0Cisq LworVEVTVF9VTklGT1JNX1ogKGFic19zMzJfbV90aWVkMSwgc3ZpbnQzMl90 LAorCQl6MCA9IHN2YWJzX3MzMl9tICh6MCwgcDAsIHoxKSwKKwkJejAgPSBz dmFic19tICh6MCwgcDAsIHoxKSkKKworLyoKKyoqIGFic19zMzJfbV90aWVk MjoKKyoqCW1vdgkoelswLTldKylcLmQsIHowXC5kCisqKgltb3ZwcmZ4CXow LCB6MQorKioJYWJzCXowXC5zLCBwMC9tLCBcMVwucworKioJcmV0CisqLwor VEVTVF9VTklGT1JNX1ogKGFic19zMzJfbV90aWVkMiwgc3ZpbnQzMl90LAor CQl6MCA9IHN2YWJzX3MzMl9tICh6MSwgcDAsIHowKSwKKwkJejAgPSBzdmFi c19tICh6MSwgcDAsIHowKSkKKworLyoKKyoqIGFic19zMzJfbV91bnRpZWQ6 CisqKgltb3ZwcmZ4CXowLCB6MgorKioJYWJzCXowXC5zLCBwMC9tLCB6MVwu cworKioJcmV0CisqLworVEVTVF9VTklGT1JNX1ogKGFic19zMzJfbV91bnRp ZWQsIHN2aW50MzJfdCwKKwkJejAgPSBzdmFic19zMzJfbSAoejIsIHAwLCB6 MSksCisJCXowID0gc3ZhYnNfbSAoejIsIHAwLCB6MSkpCisKKy8qCisqKiBh YnNfczMyX3pfdGllZDE6CisqKgltb3YJKHpbMC05XSspXC5kLCB6MFwuZAor KioJbW92cHJmeAl6MFwucywgcDAveiwgejBcLnMKKyoqCWFicwl6MFwucywg cDAvbSwgXDFcLnMKKyoqCXJldAorKi8KK1RFU1RfVU5JRk9STV9aIChhYnNf czMyX3pfdGllZDEsIHN2aW50MzJfdCwKKwkJejAgPSBzdmFic19zMzJfeiAo cDAsIHowKSwKKwkJejAgPSBzdmFic196IChwMCwgejApKQorCisvKgorKiog YWJzX3MzMl96X3VudGllZDoKKyoqCW1vdnByZngJejBcLnMsIHAwL3osIHow XC5zCisqKglhYnMJejBcLnMsIHAwL20sIHoxXC5zCisqKglyZXQKKyovCitU RVNUX1VOSUZPUk1fWiAoYWJzX3MzMl96X3VudGllZCwgc3ZpbnQzMl90LAor CQl6MCA9IHN2YWJzX3MzMl96IChwMCwgejEpLAorCQl6MCA9IHN2YWJzX3og KHAwLCB6MSkpCisKKy8qCisqKiBhYnNfczMyX3hfdGllZDE6CisqKglhYnMJ ejBcLnMsIHAwL20sIHowXC5zCisqKglyZXQKKyovCitURVNUX1VOSUZPUk1f WiAoYWJzX3MzMl94X3RpZWQxLCBzdmludDMyX3QsCisJCXowID0gc3ZhYnNf czMyX3ggKHAwLCB6MCksCisJCXowID0gc3ZhYnNfeCAocDAsIHowKSkKKwor LyoKKyoqIGFic19zMzJfeF91bnRpZWQ6CisqKglhYnMJejJcLnMsIHAwL20s IHowXC5zCisqKglyZXQKKyovCitURVNUX1VOSUZPUk1fWiAoYWJzX3MzMl94 X3VudGllZCwgc3ZpbnQzMl90LAorCQl6MiA9IHN2YWJzX3MzMl94IChwMCwg ejApLAorCQl6MiA9IHN2YWJzX3ggKHAwLCB6MCkpCisKZGlmZiAtLWdpdCBh L2djYy90ZXN0c3VpdGUvZ2NjLnRhcmdldC9hYXJjaDY0L3N2ZS1hY2xlL2Fz bS9hYnNfczY0LmMgYi9nY2MvdGVzdHN1aXRlL2djYy50YXJnZXQvYWFyY2g2 NC9zdmUtYWNsZS9hc20vYWJzX3M2NC5jCm5ldyBmaWxlIG1vZGUgMTAwNjQ0 CmluZGV4IDAwMDAwMDAuLjc5ZGI3ZTQKLS0tIC9kZXYvbnVsbAorKysgYi9n Y2MvdGVzdHN1aXRlL2djYy50YXJnZXQvYWFyY2g2NC9zdmUtYWNsZS9hc20v YWJzX3M2NC5jCkBAIC0wLDAgKzEsODMgQEAKKy8qIHsgZGctZG8gY29tcGls ZSB9ICovCisvKiB7IGRnLWZpbmFsIHsgY2hlY2stZnVuY3Rpb24tYm9kaWVz ICIqKiIgIiIgIi1EQ0hFQ0tfQVNNIiB9IH0gKi8KKworI2luY2x1ZGUgInRl c3Rfc3ZlX2FjbGUuaCIKKworLyoKKyoqIGFic19zNjRfbV90aWVkMTI6Cisq KglhYnMJejBcLmQsIHAwL20sIHowXC5kCisqKglyZXQKKyovCitURVNUX1VO SUZPUk1fWiAoYWJzX3M2NF9tX3RpZWQxMiwgc3ZpbnQ2NF90LAorCQl6MCA9 IHN2YWJzX3M2NF9tICh6MCwgcDAsIHowKSwKKwkJejAgPSBzdmFic19tICh6 MCwgcDAsIHowKSkKKworLyoKKyoqIGFic19zNjRfbV90aWVkMToKKyoqCWFi cwl6MFwuZCwgcDAvbSwgejFcLmQKKyoqCXJldAorKi8KK1RFU1RfVU5JRk9S TV9aIChhYnNfczY0X21fdGllZDEsIHN2aW50NjRfdCwKKwkJejAgPSBzdmFi c19zNjRfbSAoejAsIHAwLCB6MSksCisJCXowID0gc3ZhYnNfbSAoejAsIHAw LCB6MSkpCisKKy8qCisqKiBhYnNfczY0X21fdGllZDI6CisqKgltb3YJKHpb MC05XSspXC5kLCB6MFwuZAorKioJbW92cHJmeAl6MCwgejEKKyoqCWFicwl6 MFwuZCwgcDAvbSwgXDFcLmQKKyoqCXJldAorKi8KK1RFU1RfVU5JRk9STV9a IChhYnNfczY0X21fdGllZDIsIHN2aW50NjRfdCwKKwkJejAgPSBzdmFic19z NjRfbSAoejEsIHAwLCB6MCksCisJCXowID0gc3ZhYnNfbSAoejEsIHAwLCB6 MCkpCisKKy8qCisqKiBhYnNfczY0X21fdW50aWVkOgorKioJbW92cHJmeAl6 MCwgejIKKyoqCWFicwl6MFwuZCwgcDAvbSwgejFcLmQKKyoqCXJldAorKi8K K1RFU1RfVU5JRk9STV9aIChhYnNfczY0X21fdW50aWVkLCBzdmludDY0X3Qs CisJCXowID0gc3ZhYnNfczY0X20gKHoyLCBwMCwgejEpLAorCQl6MCA9IHN2 YWJzX20gKHoyLCBwMCwgejEpKQorCisvKgorKiogYWJzX3M2NF96X3RpZWQx OgorKioJbW92CSh6WzAtOV0rKVwuZCwgejBcLmQKKyoqCW1vdnByZngJejBc LmQsIHAwL3osIHowXC5kCisqKglhYnMJejBcLmQsIHAwL20sIFwxXC5kCisq KglyZXQKKyovCitURVNUX1VOSUZPUk1fWiAoYWJzX3M2NF96X3RpZWQxLCBz dmludDY0X3QsCisJCXowID0gc3ZhYnNfczY0X3ogKHAwLCB6MCksCisJCXow ID0gc3ZhYnNfeiAocDAsIHowKSkKKworLyoKKyoqIGFic19zNjRfel91bnRp ZWQ6CisqKgltb3ZwcmZ4CXowXC5kLCBwMC96LCB6MFwuZAorKioJYWJzCXow XC5kLCBwMC9tLCB6MVwuZAorKioJcmV0CisqLworVEVTVF9VTklGT1JNX1og KGFic19zNjRfel91bnRpZWQsIHN2aW50NjRfdCwKKwkJejAgPSBzdmFic19z NjRfeiAocDAsIHoxKSwKKwkJejAgPSBzdmFic196IChwMCwgejEpKQorCisv KgorKiogYWJzX3M2NF94X3RpZWQxOgorKioJYWJzCXowXC5kLCBwMC9tLCB6 MFwuZAorKioJcmV0CisqLworVEVTVF9VTklGT1JNX1ogKGFic19zNjRfeF90 aWVkMSwgc3ZpbnQ2NF90LAorCQl6MCA9IHN2YWJzX3M2NF94IChwMCwgejAp LAorCQl6MCA9IHN2YWJzX3ggKHAwLCB6MCkpCisKKy8qCisqKiBhYnNfczY0 X3hfdW50aWVkOgorKioJYWJzCXoyXC5kLCBwMC9tLCB6MFwuZAorKioJcmV0 CisqLworVEVTVF9VTklGT1JNX1ogKGFic19zNjRfeF91bnRpZWQsIHN2aW50 NjRfdCwKKwkJejIgPSBzdmFic19zNjRfeCAocDAsIHowKSwKKwkJejIgPSBz dmFic194IChwMCwgejApKQorCmRpZmYgLS1naXQgYS9nY2MvdGVzdHN1aXRl L2djYy50YXJnZXQvYWFyY2g2NC9zdmUtYWNsZS9hc20vYWJzX3M4LmMgYi9n Y2MvdGVzdHN1aXRlL2djYy50YXJnZXQvYWFyY2g2NC9zdmUtYWNsZS9hc20v YWJzX3M4LmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4u ZmNkYjE4MzIKLS0tIC9kZXYvbnVsbAorKysgYi9nY2MvdGVzdHN1aXRlL2dj Yy50YXJnZXQvYWFyY2g2NC9zdmUtYWNsZS9hc20vYWJzX3M4LmMKQEAgLTAs MCArMSw4MyBAQAorLyogeyBkZy1kbyBjb21waWxlIH0gKi8KKy8qIHsgZGct ZmluYWwgeyBjaGVjay1mdW5jdGlvbi1ib2RpZXMgIioqIiAiIiAiLURDSEVD S19BU00iIH0gfSAqLworCisjaW5jbHVkZSAidGVzdF9zdmVfYWNsZS5oIgor CisvKgorKiogYWJzX3M4X21fdGllZDEyOgorKioJYWJzCXowXC5iLCBwMC9t LCB6MFwuYgorKioJcmV0CisqLworVEVTVF9VTklGT1JNX1ogKGFic19zOF9t X3RpZWQxMiwgc3ZpbnQ4X3QsCisJCXowID0gc3ZhYnNfczhfbSAoejAsIHAw LCB6MCksCisJCXowID0gc3ZhYnNfbSAoejAsIHAwLCB6MCkpCisKKy8qCisq KiBhYnNfczhfbV90aWVkMToKKyoqCWFicwl6MFwuYiwgcDAvbSwgejFcLmIK KyoqCXJldAorKi8KK1RFU1RfVU5JRk9STV9aIChhYnNfczhfbV90aWVkMSwg c3ZpbnQ4X3QsCisJCXowID0gc3ZhYnNfczhfbSAoejAsIHAwLCB6MSksCisJ CXowID0gc3ZhYnNfbSAoejAsIHAwLCB6MSkpCisKKy8qCisqKiBhYnNfczhf bV90aWVkMjoKKyoqCW1vdgkoelswLTldKylcLmQsIHowXC5kCisqKgltb3Zw cmZ4CXowLCB6MQorKioJYWJzCXowXC5iLCBwMC9tLCBcMVwuYgorKioJcmV0 CisqLworVEVTVF9VTklGT1JNX1ogKGFic19zOF9tX3RpZWQyLCBzdmludDhf dCwKKwkJejAgPSBzdmFic19zOF9tICh6MSwgcDAsIHowKSwKKwkJejAgPSBz dmFic19tICh6MSwgcDAsIHowKSkKKworLyoKKyoqIGFic19zOF9tX3VudGll ZDoKKyoqCW1vdnByZngJejAsIHoyCisqKglhYnMJejBcLmIsIHAwL20sIHox XC5iCisqKglyZXQKKyovCitURVNUX1VOSUZPUk1fWiAoYWJzX3M4X21fdW50 aWVkLCBzdmludDhfdCwKKwkJejAgPSBzdmFic19zOF9tICh6MiwgcDAsIHox KSwKKwkJejAgPSBzdmFic19tICh6MiwgcDAsIHoxKSkKKworLyoKKyoqIGFi c19zOF96X3RpZWQxOgorKioJbW92CSh6WzAtOV0rKVwuZCwgejBcLmQKKyoq CW1vdnByZngJejBcLmIsIHAwL3osIHowXC5iCisqKglhYnMJejBcLmIsIHAw L20sIFwxXC5iCisqKglyZXQKKyovCitURVNUX1VOSUZPUk1fWiAoYWJzX3M4 X3pfdGllZDEsIHN2aW50OF90LAorCQl6MCA9IHN2YWJzX3M4X3ogKHAwLCB6 MCksCisJCXowID0gc3ZhYnNfeiAocDAsIHowKSkKKworLyoKKyoqIGFic19z OF96X3VudGllZDoKKyoqCW1vdnByZngJejBcLmIsIHAwL3osIHowXC5iCisq KglhYnMJejBcLmIsIHAwL20sIHoxXC5iCisqKglyZXQKKyovCitURVNUX1VO SUZPUk1fWiAoYWJzX3M4X3pfdW50aWVkLCBzdmludDhfdCwKKwkJejAgPSBz dmFic19zOF96IChwMCwgejEpLAorCQl6MCA9IHN2YWJzX3ogKHAwLCB6MSkp CisKKy8qCisqKiBhYnNfczhfeF90aWVkMToKKyoqCWFicwl6MFwuYiwgcDAv bSwgejBcLmIKKyoqCXJldAorKi8KK1RFU1RfVU5JRk9STV9aIChhYnNfczhf eF90aWVkMSwgc3ZpbnQ4X3QsCisJCXowID0gc3ZhYnNfczhfeCAocDAsIHow KSwKKwkJejAgPSBzdmFic194IChwMCwgejApKQorCisvKgorKiogYWJzX3M4 X3hfdW50aWVkOgorKioJYWJzCXoyXC5iLCBwMC9tLCB6MFwuYgorKioJcmV0 CisqLworVEVTVF9VTklGT1JNX1ogKGFic19zOF94X3VudGllZCwgc3ZpbnQ4 X3QsCisJCXoyID0gc3ZhYnNfczhfeCAocDAsIHowKSwKKwkJejIgPSBzdmFi c194IChwMCwgejApKQorCmRpZmYgLS1naXQgYS9nY2MvdGVzdHN1aXRlL2dj Yy50YXJnZXQvYWFyY2g2NC9zdmUtYWNsZS9hc20vbmVnX2YxNi5jIGIvZ2Nj L3Rlc3RzdWl0ZS9nY2MudGFyZ2V0L2FhcmNoNjQvc3ZlLWFjbGUvYXNtL25l Z19mMTYuYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5h NmQxYWM5Ci0tLSAvZGV2L251bGwKKysrIGIvZ2NjL3Rlc3RzdWl0ZS9nY2Mu dGFyZ2V0L2FhcmNoNjQvc3ZlLWFjbGUvYXNtL25lZ19mMTYuYwpAQCAtMCww ICsxLDEyMiBAQAorLyogeyBkZy1kbyBjb21waWxlIH0gKi8KKy8qIHsgZGct ZmluYWwgeyBjaGVjay1mdW5jdGlvbi1ib2RpZXMgIioqIiAiIiAiLURDSEVD S19BU00iIH0gfSAqLworCisjaW5jbHVkZSAidGVzdF9zdmVfYWNsZS5oIgor CisvKgorKiogbmVnX2YxNl9tX3RpZWQxMjoKKyoqCWZuZWcJejBcLmgsIHAw L20sIHowXC5oCisqKglyZXQKKyovCitURVNUX1VOSUZPUk1fWiAobmVnX2Yx Nl9tX3RpZWQxMiwgc3ZmbG9hdDE2X3QsCisJCXowID0gc3ZuZWdfZjE2X20g KHowLCBwMCwgejApLAorCQl6MCA9IHN2bmVnX20gKHowLCBwMCwgejApKQor CisvKgorKiogbmVnX2YxNl9tX3RpZWQxOgorKioJZm5lZwl6MFwuaCwgcDAv bSwgejFcLmgKKyoqCXJldAorKi8KK1RFU1RfVU5JRk9STV9aIChuZWdfZjE2 X21fdGllZDEsIHN2ZmxvYXQxNl90LAorCQl6MCA9IHN2bmVnX2YxNl9tICh6 MCwgcDAsIHoxKSwKKwkJejAgPSBzdm5lZ19tICh6MCwgcDAsIHoxKSkKKwor LyoKKyoqIG5lZ19mMTZfbV90aWVkMjoKKyoqCW1vdgkoelswLTldKylcLmQs IHowXC5kCisqKgltb3ZwcmZ4CXowLCB6MQorKioJZm5lZwl6MFwuaCwgcDAv bSwgXDFcLmgKKyoqCXJldAorKi8KK1RFU1RfVU5JRk9STV9aIChuZWdfZjE2 X21fdGllZDIsIHN2ZmxvYXQxNl90LAorCQl6MCA9IHN2bmVnX2YxNl9tICh6 MSwgcDAsIHowKSwKKwkJejAgPSBzdm5lZ19tICh6MSwgcDAsIHowKSkKKwor LyoKKyoqIG5lZ19mMTZfbV91bnRpZWQ6CisqKgltb3ZwcmZ4CXowLCB6Mgor KioJZm5lZwl6MFwuaCwgcDAvbSwgejFcLmgKKyoqCXJldAorKi8KK1RFU1Rf VU5JRk9STV9aIChuZWdfZjE2X21fdW50aWVkLCBzdmZsb2F0MTZfdCwKKwkJ ejAgPSBzdm5lZ19mMTZfbSAoejIsIHAwLCB6MSksCisJCXowID0gc3ZuZWdf bSAoejIsIHAwLCB6MSkpCisKKy8qCisqKiBuZWdfZjE2X3pfdGllZDE6Cisq Kgltb3YJKHpbMC05XSspXC5kLCB6MFwuZAorKioJbW92cHJmeAl6MFwuaCwg cDAveiwgejBcLmgKKyoqCWZuZWcJejBcLmgsIHAwL20sIFwxXC5oCisqKgly ZXQKKyovCitURVNUX1VOSUZPUk1fWiAobmVnX2YxNl96X3RpZWQxLCBzdmZs b2F0MTZfdCwKKwkJejAgPSBzdm5lZ19mMTZfeiAocDAsIHowKSwKKwkJejAg PSBzdm5lZ196IChwMCwgejApKQorCisvKgorKiogbmVnX2YxNl96X3VudGll ZDoKKyoqCW1vdnByZngJejBcLmgsIHAwL3osIHowXC5oCisqKglmbmVnCXow XC5oLCBwMC9tLCB6MVwuaAorKioJcmV0CisqLworVEVTVF9VTklGT1JNX1og KG5lZ19mMTZfel91bnRpZWQsIHN2ZmxvYXQxNl90LAorCQl6MCA9IHN2bmVn X2YxNl96IChwMCwgejEpLAorCQl6MCA9IHN2bmVnX3ogKHAwLCB6MSkpCisK Ky8qCisqKiBuZWdfZjE2X3hfdGllZDE6CisqKglmbmVnCXowXC5oLCBwMC9t LCB6MFwuaAorKioJcmV0CisqLworVEVTVF9VTklGT1JNX1ogKG5lZ19mMTZf eF90aWVkMSwgc3ZmbG9hdDE2X3QsCisJCXowID0gc3ZuZWdfZjE2X3ggKHAw LCB6MCksCisJCXowID0gc3ZuZWdfeCAocDAsIHowKSkKKworLyoKKyoqIG5l Z19mMTZfeF91bnRpZWQ6CisqKglmbmVnCXoyXC5oLCBwMC9tLCB6MFwuaAor KioJcmV0CisqLworVEVTVF9VTklGT1JNX1ogKG5lZ19mMTZfeF91bnRpZWQs IHN2ZmxvYXQxNl90LAorCQl6MiA9IHN2bmVnX2YxNl94IChwMCwgejApLAor CQl6MiA9IHN2bmVnX3ggKHAwLCB6MCkpCisKKy8qCisqKiBwdHJ1ZV9uZWdf ZjE2X3hfdGllZDE6CisqKglwdHJ1ZQkocFswLTddKVwuaFteXG5dKgorKioJ Zm5lZwl6MFwuaCwgXDEvbSwgejBcLmgKKyoqCXJldAorKi8KK1RFU1RfVU5J Rk9STV9aIChwdHJ1ZV9uZWdfZjE2X3hfdGllZDEsIHN2ZmxvYXQxNl90LAor CQl6MCA9IHN2bmVnX2YxNl94IChzdnB0cnVlX2IxNiAoKSwgejApLAorCQl6 MCA9IHN2bmVnX3ggKHN2cHRydWVfYjE2ICgpLCB6MCkpCisKKy8qCisqKiBw dHJ1ZV9uZWdfZjE2X3hfdW50aWVkOgorKioJcHRydWUJKHBbMC03XSlcLmhb XlxuXSoKKyoqCWZuZWcJejJcLmgsIFwxL20sIHowXC5oCisqKglyZXQKKyov CitURVNUX1VOSUZPUk1fWiAocHRydWVfbmVnX2YxNl94X3VudGllZCwgc3Zm bG9hdDE2X3QsCisJCXoyID0gc3ZuZWdfZjE2X3ggKHN2cHRydWVfYjE2ICgp LCB6MCksCisJCXoyID0gc3ZuZWdfeCAoc3ZwdHJ1ZV9iMTYgKCksIHowKSkK KworLyoKKyoqIHB0cnVlX2I4X25lZ19mMTZfeF90aWVkMToKKyoqCXB0cnVl CShwWzAtN10pXC5oW15cbl0qCisqKglmbmVnCXowXC5oLCBcMS9tLCB6MFwu aAorKioJcmV0CisqLworVEVTVF9VTklGT1JNX1ogKHB0cnVlX2I4X25lZ19m MTZfeF90aWVkMSwgc3ZmbG9hdDE2X3QsCisJCXowID0gc3ZuZWdfZjE2X3gg KHN2cHRydWVfYjggKCksIHowKSwKKwkJejAgPSBzdm5lZ194IChzdnB0cnVl X2I4ICgpLCB6MCkpCisKKy8qCisqKiBwdHJ1ZV9iOF9uZWdfZjE2X3hfdW50 aWVkOgorKioJcHRydWUJKHBbMC03XSlcLmhbXlxuXSoKKyoqCWZuZWcJejJc LmgsIFwxL20sIHowXC5oCisqKglyZXQKKyovCitURVNUX1VOSUZPUk1fWiAo cHRydWVfYjhfbmVnX2YxNl94X3VudGllZCwgc3ZmbG9hdDE2X3QsCisJCXoy ID0gc3ZuZWdfZjE2X3ggKHN2cHRydWVfYjggKCksIHowKSwKKwkJejIgPSBz dm5lZ194IChzdnB0cnVlX2I4ICgpLCB6MCkpCmRpZmYgLS1naXQgYS9nY2Mv dGVzdHN1aXRlL2djYy50YXJnZXQvYWFyY2g2NC9zdmUtYWNsZS9hc20vbmVn X2YzMi5jIGIvZ2NjL3Rlc3RzdWl0ZS9nY2MudGFyZ2V0L2FhcmNoNjQvc3Zl LWFjbGUvYXNtL25lZ19mMzIuYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl eCAwMDAwMDAwLi42NTQ5ZmE1Ci0tLSAvZGV2L251bGwKKysrIGIvZ2NjL3Rl c3RzdWl0ZS9nY2MudGFyZ2V0L2FhcmNoNjQvc3ZlLWFjbGUvYXNtL25lZ19m MzIuYwpAQCAtMCwwICsxLDEyMiBAQAorLyogeyBkZy1kbyBjb21waWxlIH0g Ki8KKy8qIHsgZGctZmluYWwgeyBjaGVjay1mdW5jdGlvbi1ib2RpZXMgIioq IiAiIiAiLURDSEVDS19BU00iIH0gfSAqLworCisjaW5jbHVkZSAidGVzdF9z dmVfYWNsZS5oIgorCisvKgorKiogbmVnX2YzMl9tX3RpZWQxMjoKKyoqCWZu ZWcJejBcLnMsIHAwL20sIHowXC5zCisqKglyZXQKKyovCitURVNUX1VOSUZP Uk1fWiAobmVnX2YzMl9tX3RpZWQxMiwgc3ZmbG9hdDMyX3QsCisJCXowID0g c3ZuZWdfZjMyX20gKHowLCBwMCwgejApLAorCQl6MCA9IHN2bmVnX20gKHow LCBwMCwgejApKQorCisvKgorKiogbmVnX2YzMl9tX3RpZWQxOgorKioJZm5l Zwl6MFwucywgcDAvbSwgejFcLnMKKyoqCXJldAorKi8KK1RFU1RfVU5JRk9S TV9aIChuZWdfZjMyX21fdGllZDEsIHN2ZmxvYXQzMl90LAorCQl6MCA9IHN2 bmVnX2YzMl9tICh6MCwgcDAsIHoxKSwKKwkJejAgPSBzdm5lZ19tICh6MCwg cDAsIHoxKSkKKworLyoKKyoqIG5lZ19mMzJfbV90aWVkMjoKKyoqCW1vdgko elswLTldKylcLmQsIHowXC5kCisqKgltb3ZwcmZ4CXowLCB6MQorKioJZm5l Zwl6MFwucywgcDAvbSwgXDFcLnMKKyoqCXJldAorKi8KK1RFU1RfVU5JRk9S TV9aIChuZWdfZjMyX21fdGllZDIsIHN2ZmxvYXQzMl90LAorCQl6MCA9IHN2 bmVnX2YzMl9tICh6MSwgcDAsIHowKSwKKwkJejAgPSBzdm5lZ19tICh6MSwg cDAsIHowKSkKKworLyoKKyoqIG5lZ19mMzJfbV91bnRpZWQ6CisqKgltb3Zw cmZ4CXowLCB6MgorKioJZm5lZwl6MFwucywgcDAvbSwgejFcLnMKKyoqCXJl dAorKi8KK1RFU1RfVU5JRk9STV9aIChuZWdfZjMyX21fdW50aWVkLCBzdmZs b2F0MzJfdCwKKwkJejAgPSBzdm5lZ19mMzJfbSAoejIsIHAwLCB6MSksCisJ CXowID0gc3ZuZWdfbSAoejIsIHAwLCB6MSkpCisKKy8qCisqKiBuZWdfZjMy X3pfdGllZDE6CisqKgltb3YJKHpbMC05XSspXC5kLCB6MFwuZAorKioJbW92 cHJmeAl6MFwucywgcDAveiwgejBcLnMKKyoqCWZuZWcJejBcLnMsIHAwL20s IFwxXC5zCisqKglyZXQKKyovCitURVNUX1VOSUZPUk1fWiAobmVnX2YzMl96 X3RpZWQxLCBzdmZsb2F0MzJfdCwKKwkJejAgPSBzdm5lZ19mMzJfeiAocDAs IHowKSwKKwkJejAgPSBzdm5lZ196IChwMCwgejApKQorCisvKgorKiogbmVn X2YzMl96X3VudGllZDoKKyoqCW1vdnByZngJejBcLnMsIHAwL3osIHowXC5z CisqKglmbmVnCXowXC5zLCBwMC9tLCB6MVwucworKioJcmV0CisqLworVEVT VF9VTklGT1JNX1ogKG5lZ19mMzJfel91bnRpZWQsIHN2ZmxvYXQzMl90LAor CQl6MCA9IHN2bmVnX2YzMl96IChwMCwgejEpLAorCQl6MCA9IHN2bmVnX3og KHAwLCB6MSkpCisKKy8qCisqKiBuZWdfZjMyX3hfdGllZDE6CisqKglmbmVn CXowXC5zLCBwMC9tLCB6MFwucworKioJcmV0CisqLworVEVTVF9VTklGT1JN X1ogKG5lZ19mMzJfeF90aWVkMSwgc3ZmbG9hdDMyX3QsCisJCXowID0gc3Zu ZWdfZjMyX3ggKHAwLCB6MCksCisJCXowID0gc3ZuZWdfeCAocDAsIHowKSkK KworLyoKKyoqIG5lZ19mMzJfeF91bnRpZWQ6CisqKglmbmVnCXoyXC5zLCBw MC9tLCB6MFwucworKioJcmV0CisqLworVEVTVF9VTklGT1JNX1ogKG5lZ19m MzJfeF91bnRpZWQsIHN2ZmxvYXQzMl90LAorCQl6MiA9IHN2bmVnX2YzMl94 IChwMCwgejApLAorCQl6MiA9IHN2bmVnX3ggKHAwLCB6MCkpCisKKy8qCisq KiBwdHJ1ZV9uZWdfZjMyX3hfdGllZDE6CisqKglwdHJ1ZQkocFswLTddKVwu c1teXG5dKgorKioJZm5lZwl6MFwucywgXDEvbSwgejBcLnMKKyoqCXJldAor Ki8KK1RFU1RfVU5JRk9STV9aIChwdHJ1ZV9uZWdfZjMyX3hfdGllZDEsIHN2 ZmxvYXQzMl90LAorCQl6MCA9IHN2bmVnX2YzMl94IChzdnB0cnVlX2IzMiAo KSwgejApLAorCQl6MCA9IHN2bmVnX3ggKHN2cHRydWVfYjMyICgpLCB6MCkp CisKKy8qCisqKiBwdHJ1ZV9uZWdfZjMyX3hfdW50aWVkOgorKioJcHRydWUJ KHBbMC03XSlcLnNbXlxuXSoKKyoqCWZuZWcJejJcLnMsIFwxL20sIHowXC5z CisqKglyZXQKKyovCitURVNUX1VOSUZPUk1fWiAocHRydWVfbmVnX2YzMl94 X3VudGllZCwgc3ZmbG9hdDMyX3QsCisJCXoyID0gc3ZuZWdfZjMyX3ggKHN2 cHRydWVfYjMyICgpLCB6MCksCisJCXoyID0gc3ZuZWdfeCAoc3ZwdHJ1ZV9i MzIgKCksIHowKSkKKworLyoKKyoqIHB0cnVlX2I4X25lZ19mMzJfeF90aWVk MToKKyoqCXB0cnVlCShwWzAtN10pXC5zW15cbl0qCisqKglmbmVnCXowXC5z LCBcMS9tLCB6MFwucworKioJcmV0CisqLworVEVTVF9VTklGT1JNX1ogKHB0 cnVlX2I4X25lZ19mMzJfeF90aWVkMSwgc3ZmbG9hdDMyX3QsCisJCXowID0g c3ZuZWdfZjMyX3ggKHN2cHRydWVfYjggKCksIHowKSwKKwkJejAgPSBzdm5l Z194IChzdnB0cnVlX2I4ICgpLCB6MCkpCisKKy8qCisqKiBwdHJ1ZV9iOF9u ZWdfZjMyX3hfdW50aWVkOgorKioJcHRydWUJKHBbMC03XSlcLnNbXlxuXSoK KyoqCWZuZWcJejJcLnMsIFwxL20sIHowXC5zCisqKglyZXQKKyovCitURVNU X1VOSUZPUk1fWiAocHRydWVfYjhfbmVnX2YzMl94X3VudGllZCwgc3ZmbG9h dDMyX3QsCisJCXoyID0gc3ZuZWdfZjMyX3ggKHN2cHRydWVfYjggKCksIHow KSwKKwkJejIgPSBzdm5lZ194IChzdnB0cnVlX2I4ICgpLCB6MCkpCmRpZmYg LS1naXQgYS9nY2MvdGVzdHN1aXRlL2djYy50YXJnZXQvYWFyY2g2NC9zdmUt YWNsZS9hc20vbmVnX2Y2NC5jIGIvZ2NjL3Rlc3RzdWl0ZS9nY2MudGFyZ2V0 L2FhcmNoNjQvc3ZlLWFjbGUvYXNtL25lZ19mNjQuYwpuZXcgZmlsZSBtb2Rl IDEwMDY0NAppbmRleCAwMDAwMDAwLi42M2VjYTgwCi0tLSAvZGV2L251bGwK KysrIGIvZ2NjL3Rlc3RzdWl0ZS9nY2MudGFyZ2V0L2FhcmNoNjQvc3ZlLWFj bGUvYXNtL25lZ19mNjQuYwpAQCAtMCwwICsxLDEyMiBAQAorLyogeyBkZy1k byBjb21waWxlIH0gKi8KKy8qIHsgZGctZmluYWwgeyBjaGVjay1mdW5jdGlv bi1ib2RpZXMgIioqIiAiIiAiLURDSEVDS19BU00iIH0gfSAqLworCisjaW5j bHVkZSAidGVzdF9zdmVfYWNsZS5oIgorCisvKgorKiogbmVnX2Y2NF9tX3Rp ZWQxMjoKKyoqCWZuZWcJejBcLmQsIHAwL20sIHowXC5kCisqKglyZXQKKyov CitURVNUX1VOSUZPUk1fWiAobmVnX2Y2NF9tX3RpZWQxMiwgc3ZmbG9hdDY0 X3QsCisJCXowID0gc3ZuZWdfZjY0X20gKHowLCBwMCwgejApLAorCQl6MCA9 IHN2bmVnX20gKHowLCBwMCwgejApKQorCisvKgorKiogbmVnX2Y2NF9tX3Rp ZWQxOgorKioJZm5lZwl6MFwuZCwgcDAvbSwgejFcLmQKKyoqCXJldAorKi8K K1RFU1RfVU5JRk9STV9aIChuZWdfZjY0X21fdGllZDEsIHN2ZmxvYXQ2NF90 LAorCQl6MCA9IHN2bmVnX2Y2NF9tICh6MCwgcDAsIHoxKSwKKwkJejAgPSBz dm5lZ19tICh6MCwgcDAsIHoxKSkKKworLyoKKyoqIG5lZ19mNjRfbV90aWVk MjoKKyoqCW1vdgkoelswLTldKylcLmQsIHowXC5kCisqKgltb3ZwcmZ4CXow LCB6MQorKioJZm5lZwl6MFwuZCwgcDAvbSwgXDFcLmQKKyoqCXJldAorKi8K K1RFU1RfVU5JRk9STV9aIChuZWdfZjY0X21fdGllZDIsIHN2ZmxvYXQ2NF90 LAorCQl6MCA9IHN2bmVnX2Y2NF9tICh6MSwgcDAsIHowKSwKKwkJejAgPSBz dm5lZ19tICh6MSwgcDAsIHowKSkKKworLyoKKyoqIG5lZ19mNjRfbV91bnRp ZWQ6CisqKgltb3ZwcmZ4CXowLCB6MgorKioJZm5lZwl6MFwuZCwgcDAvbSwg ejFcLmQKKyoqCXJldAorKi8KK1RFU1RfVU5JRk9STV9aIChuZWdfZjY0X21f dW50aWVkLCBzdmZsb2F0NjRfdCwKKwkJejAgPSBzdm5lZ19mNjRfbSAoejIs IHAwLCB6MSksCisJCXowID0gc3ZuZWdfbSAoejIsIHAwLCB6MSkpCisKKy8q CisqKiBuZWdfZjY0X3pfdGllZDE6CisqKgltb3YJKHpbMC05XStcLmQpLCB6 MFwuZAorKioJbW92cHJmeAl6MFwuZCwgcDAveiwgejBcLmQKKyoqCWZuZWcJ ejBcLmQsIHAwL20sIFwxCisqKglyZXQKKyovCitURVNUX1VOSUZPUk1fWiAo bmVnX2Y2NF96X3RpZWQxLCBzdmZsb2F0NjRfdCwKKwkJejAgPSBzdm5lZ19m NjRfeiAocDAsIHowKSwKKwkJejAgPSBzdm5lZ196IChwMCwgejApKQorCisv KgorKiogbmVnX2Y2NF96X3VudGllZDoKKyoqCW1vdnByZngJejBcLmQsIHAw L3osIHowXC5kCisqKglmbmVnCXowXC5kLCBwMC9tLCB6MVwuZAorKioJcmV0 CisqLworVEVTVF9VTklGT1JNX1ogKG5lZ19mNjRfel91bnRpZWQsIHN2Zmxv YXQ2NF90LAorCQl6MCA9IHN2bmVnX2Y2NF96IChwMCwgejEpLAorCQl6MCA9 IHN2bmVnX3ogKHAwLCB6MSkpCisKKy8qCisqKiBuZWdfZjY0X3hfdGllZDE6 CisqKglmbmVnCXowXC5kLCBwMC9tLCB6MFwuZAorKioJcmV0CisqLworVEVT VF9VTklGT1JNX1ogKG5lZ19mNjRfeF90aWVkMSwgc3ZmbG9hdDY0X3QsCisJ CXowID0gc3ZuZWdfZjY0X3ggKHAwLCB6MCksCisJCXowID0gc3ZuZWdfeCAo cDAsIHowKSkKKworLyoKKyoqIG5lZ19mNjRfeF91bnRpZWQ6CisqKglmbmVn CXoyXC5kLCBwMC9tLCB6MFwuZAorKioJcmV0CisqLworVEVTVF9VTklGT1JN X1ogKG5lZ19mNjRfeF91bnRpZWQsIHN2ZmxvYXQ2NF90LAorCQl6MiA9IHN2 bmVnX2Y2NF94IChwMCwgejApLAorCQl6MiA9IHN2bmVnX3ggKHAwLCB6MCkp CisKKy8qCisqKiBwdHJ1ZV9uZWdfZjY0X3hfdGllZDE6CisqKglwdHJ1ZQko cFswLTddKVwuZFteXG5dKgorKioJZm5lZwl6MFwuZCwgXDEvbSwgejBcLmQK KyoqCXJldAorKi8KK1RFU1RfVU5JRk9STV9aIChwdHJ1ZV9uZWdfZjY0X3hf dGllZDEsIHN2ZmxvYXQ2NF90LAorCQl6MCA9IHN2bmVnX2Y2NF94IChzdnB0 cnVlX2I2NCAoKSwgejApLAorCQl6MCA9IHN2bmVnX3ggKHN2cHRydWVfYjY0 ICgpLCB6MCkpCisKKy8qCisqKiBwdHJ1ZV9uZWdfZjY0X3hfdW50aWVkOgor KioJcHRydWUJKHBbMC03XSlcLmRbXlxuXSoKKyoqCWZuZWcJejJcLmQsIFwx L20sIHowXC5kCisqKglyZXQKKyovCitURVNUX1VOSUZPUk1fWiAocHRydWVf bmVnX2Y2NF94X3VudGllZCwgc3ZmbG9hdDY0X3QsCisJCXoyID0gc3ZuZWdf ZjY0X3ggKHN2cHRydWVfYjY0ICgpLCB6MCksCisJCXoyID0gc3ZuZWdfeCAo c3ZwdHJ1ZV9iNjQgKCksIHowKSkKKworLyoKKyoqIHB0cnVlX2I4X25lZ19m NjRfeF90aWVkMToKKyoqCXB0cnVlCShwWzAtN10pXC5kW15cbl0qCisqKglm bmVnCXowXC5kLCBcMS9tLCB6MFwuZAorKioJcmV0CisqLworVEVTVF9VTklG T1JNX1ogKHB0cnVlX2I4X25lZ19mNjRfeF90aWVkMSwgc3ZmbG9hdDY0X3Qs CisJCXowID0gc3ZuZWdfZjY0X3ggKHN2cHRydWVfYjggKCksIHowKSwKKwkJ ejAgPSBzdm5lZ194IChzdnB0cnVlX2I4ICgpLCB6MCkpCisKKy8qCisqKiBw dHJ1ZV9iOF9uZWdfZjY0X3hfdW50aWVkOgorKioJcHRydWUJKHBbMC03XSlc LmRbXlxuXSoKKyoqCWZuZWcJejJcLmQsIFwxL20sIHowXC5kCisqKglyZXQK KyovCitURVNUX1VOSUZPUk1fWiAocHRydWVfYjhfbmVnX2Y2NF94X3VudGll ZCwgc3ZmbG9hdDY0X3QsCisJCXoyID0gc3ZuZWdfZjY0X3ggKHN2cHRydWVf YjggKCksIHowKSwKKwkJejIgPSBzdm5lZ194IChzdnB0cnVlX2I4ICgpLCB6 MCkpCmRpZmYgLS1naXQgYS9nY2MvdGVzdHN1aXRlL2djYy50YXJnZXQvYWFy Y2g2NC9zdmUtYWNsZS9hc20vbmVnX3MxNi5jIGIvZ2NjL3Rlc3RzdWl0ZS9n Y2MudGFyZ2V0L2FhcmNoNjQvc3ZlLWFjbGUvYXNtL25lZ19zMTYuYwpuZXcg ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi44MGVhYjFmCi0tLSAv ZGV2L251bGwKKysrIGIvZ2NjL3Rlc3RzdWl0ZS9nY2MudGFyZ2V0L2FhcmNo NjQvc3ZlLWFjbGUvYXNtL25lZ19zMTYuYwpAQCAtMCwwICsxLDgzIEBACisv KiB7IGRnLWRvIGNvbXBpbGUgfSAqLworLyogeyBkZy1maW5hbCB7IGNoZWNr LWZ1bmN0aW9uLWJvZGllcyAiKioiICIiICItRENIRUNLX0FTTSIgfSB9ICov CisKKyNpbmNsdWRlICJ0ZXN0X3N2ZV9hY2xlLmgiCisKKy8qCisqKiBuZWdf czE2X21fdGllZDEyOgorKioJbmVnCXowXC5oLCBwMC9tLCB6MFwuaAorKioJ cmV0CisqLworVEVTVF9VTklGT1JNX1ogKG5lZ19zMTZfbV90aWVkMTIsIHN2 aW50MTZfdCwKKwkJejAgPSBzdm5lZ19zMTZfbSAoejAsIHAwLCB6MCksCisJ CXowID0gc3ZuZWdfbSAoejAsIHAwLCB6MCkpCisKKy8qCisqKiBuZWdfczE2 X21fdGllZDE6CisqKgluZWcJejBcLmgsIHAwL20sIHoxXC5oCisqKglyZXQK KyovCitURVNUX1VOSUZPUk1fWiAobmVnX3MxNl9tX3RpZWQxLCBzdmludDE2 X3QsCisJCXowID0gc3ZuZWdfczE2X20gKHowLCBwMCwgejEpLAorCQl6MCA9 IHN2bmVnX20gKHowLCBwMCwgejEpKQorCisvKgorKiogbmVnX3MxNl9tX3Rp ZWQyOgorKioJbW92CSh6WzAtOV0rKVwuZCwgejBcLmQKKyoqCW1vdnByZngJ ejAsIHoxCisqKgluZWcJejBcLmgsIHAwL20sIFwxXC5oCisqKglyZXQKKyov CitURVNUX1VOSUZPUk1fWiAobmVnX3MxNl9tX3RpZWQyLCBzdmludDE2X3Qs CisJCXowID0gc3ZuZWdfczE2X20gKHoxLCBwMCwgejApLAorCQl6MCA9IHN2 bmVnX20gKHoxLCBwMCwgejApKQorCisvKgorKiogbmVnX3MxNl9tX3VudGll ZDoKKyoqCW1vdnByZngJejAsIHoyCisqKgluZWcJejBcLmgsIHAwL20sIHox XC5oCisqKglyZXQKKyovCitURVNUX1VOSUZPUk1fWiAobmVnX3MxNl9tX3Vu dGllZCwgc3ZpbnQxNl90LAorCQl6MCA9IHN2bmVnX3MxNl9tICh6MiwgcDAs IHoxKSwKKwkJejAgPSBzdm5lZ19tICh6MiwgcDAsIHoxKSkKKworLyoKKyoq IG5lZ19zMTZfel90aWVkMToKKyoqCW1vdgkoelswLTldKylcLmQsIHowXC5k CisqKgltb3ZwcmZ4CXowXC5oLCBwMC96LCB6MFwuaAorKioJbmVnCXowXC5o LCBwMC9tLCBcMVwuaAorKioJcmV0CisqLworVEVTVF9VTklGT1JNX1ogKG5l Z19zMTZfel90aWVkMSwgc3ZpbnQxNl90LAorCQl6MCA9IHN2bmVnX3MxNl96 IChwMCwgejApLAorCQl6MCA9IHN2bmVnX3ogKHAwLCB6MCkpCisKKy8qCisq KiBuZWdfczE2X3pfdW50aWVkOgorKioJbW92cHJmeAl6MFwuaCwgcDAveiwg ejBcLmgKKyoqCW5lZwl6MFwuaCwgcDAvbSwgejFcLmgKKyoqCXJldAorKi8K K1RFU1RfVU5JRk9STV9aIChuZWdfczE2X3pfdW50aWVkLCBzdmludDE2X3Qs CisJCXowID0gc3ZuZWdfczE2X3ogKHAwLCB6MSksCisJCXowID0gc3ZuZWdf eiAocDAsIHoxKSkKKworLyoKKyoqIG5lZ19zMTZfeF90aWVkMToKKyoqCW5l Zwl6MFwuaCwgcDAvbSwgejBcLmgKKyoqCXJldAorKi8KK1RFU1RfVU5JRk9S TV9aIChuZWdfczE2X3hfdGllZDEsIHN2aW50MTZfdCwKKwkJejAgPSBzdm5l Z19zMTZfeCAocDAsIHowKSwKKwkJejAgPSBzdm5lZ194IChwMCwgejApKQor CisvKgorKiogbmVnX3MxNl94X3VudGllZDoKKyoqCW5lZwl6MlwuaCwgcDAv bSwgejBcLmgKKyoqCXJldAorKi8KK1RFU1RfVU5JRk9STV9aIChuZWdfczE2 X3hfdW50aWVkLCBzdmludDE2X3QsCisJCXoyID0gc3ZuZWdfczE2X3ggKHAw LCB6MCksCisJCXoyID0gc3ZuZWdfeCAocDAsIHowKSkKKwpkaWZmIC0tZ2l0 IGEvZ2NjL3Rlc3RzdWl0ZS9nY2MudGFyZ2V0L2FhcmNoNjQvc3ZlLWFjbGUv YXNtL25lZ19zMzIuYyBiL2djYy90ZXN0c3VpdGUvZ2NjLnRhcmdldC9hYXJj aDY0L3N2ZS1hY2xlL2FzbS9uZWdfczMyLmMKbmV3IGZpbGUgbW9kZSAxMDA2 NDQKaW5kZXggMDAwMDAwMC4uN2NjN2MyZgotLS0gL2Rldi9udWxsCisrKyBi L2djYy90ZXN0c3VpdGUvZ2NjLnRhcmdldC9hYXJjaDY0L3N2ZS1hY2xlL2Fz bS9uZWdfczMyLmMKQEAgLTAsMCArMSw4MyBAQAorLyogeyBkZy1kbyBjb21w aWxlIH0gKi8KKy8qIHsgZGctZmluYWwgeyBjaGVjay1mdW5jdGlvbi1ib2Rp ZXMgIioqIiAiIiAiLURDSEVDS19BU00iIH0gfSAqLworCisjaW5jbHVkZSAi dGVzdF9zdmVfYWNsZS5oIgorCisvKgorKiogbmVnX3MzMl9tX3RpZWQxMjoK KyoqCW5lZwl6MFwucywgcDAvbSwgejBcLnMKKyoqCXJldAorKi8KK1RFU1Rf VU5JRk9STV9aIChuZWdfczMyX21fdGllZDEyLCBzdmludDMyX3QsCisJCXow ID0gc3ZuZWdfczMyX20gKHowLCBwMCwgejApLAorCQl6MCA9IHN2bmVnX20g KHowLCBwMCwgejApKQorCisvKgorKiogbmVnX3MzMl9tX3RpZWQxOgorKioJ bmVnCXowXC5zLCBwMC9tLCB6MVwucworKioJcmV0CisqLworVEVTVF9VTklG T1JNX1ogKG5lZ19zMzJfbV90aWVkMSwgc3ZpbnQzMl90LAorCQl6MCA9IHN2 bmVnX3MzMl9tICh6MCwgcDAsIHoxKSwKKwkJejAgPSBzdm5lZ19tICh6MCwg cDAsIHoxKSkKKworLyoKKyoqIG5lZ19zMzJfbV90aWVkMjoKKyoqCW1vdgko elswLTldKylcLmQsIHowXC5kCisqKgltb3ZwcmZ4CXowLCB6MQorKioJbmVn CXowXC5zLCBwMC9tLCBcMVwucworKioJcmV0CisqLworVEVTVF9VTklGT1JN X1ogKG5lZ19zMzJfbV90aWVkMiwgc3ZpbnQzMl90LAorCQl6MCA9IHN2bmVn X3MzMl9tICh6MSwgcDAsIHowKSwKKwkJejAgPSBzdm5lZ19tICh6MSwgcDAs IHowKSkKKworLyoKKyoqIG5lZ19zMzJfbV91bnRpZWQ6CisqKgltb3ZwcmZ4 CXowLCB6MgorKioJbmVnCXowXC5zLCBwMC9tLCB6MVwucworKioJcmV0Cisq LworVEVTVF9VTklGT1JNX1ogKG5lZ19zMzJfbV91bnRpZWQsIHN2aW50MzJf dCwKKwkJejAgPSBzdm5lZ19zMzJfbSAoejIsIHAwLCB6MSksCisJCXowID0g c3ZuZWdfbSAoejIsIHAwLCB6MSkpCisKKy8qCisqKiBuZWdfczMyX3pfdGll ZDE6CisqKgltb3YJKHpbMC05XSspXC5kLCB6MFwuZAorKioJbW92cHJmeAl6 MFwucywgcDAveiwgejBcLnMKKyoqCW5lZwl6MFwucywgcDAvbSwgXDFcLnMK KyoqCXJldAorKi8KK1RFU1RfVU5JRk9STV9aIChuZWdfczMyX3pfdGllZDEs IHN2aW50MzJfdCwKKwkJejAgPSBzdm5lZ19zMzJfeiAocDAsIHowKSwKKwkJ ejAgPSBzdm5lZ196IChwMCwgejApKQorCisvKgorKiogbmVnX3MzMl96X3Vu dGllZDoKKyoqCW1vdnByZngJejBcLnMsIHAwL3osIHowXC5zCisqKgluZWcJ ejBcLnMsIHAwL20sIHoxXC5zCisqKglyZXQKKyovCitURVNUX1VOSUZPUk1f WiAobmVnX3MzMl96X3VudGllZCwgc3ZpbnQzMl90LAorCQl6MCA9IHN2bmVn X3MzMl96IChwMCwgejEpLAorCQl6MCA9IHN2bmVnX3ogKHAwLCB6MSkpCisK Ky8qCisqKiBuZWdfczMyX3hfdGllZDE6CisqKgluZWcJejBcLnMsIHAwL20s IHowXC5zCisqKglyZXQKKyovCitURVNUX1VOSUZPUk1fWiAobmVnX3MzMl94 X3RpZWQxLCBzdmludDMyX3QsCisJCXowID0gc3ZuZWdfczMyX3ggKHAwLCB6 MCksCisJCXowID0gc3ZuZWdfeCAocDAsIHowKSkKKworLyoKKyoqIG5lZ19z MzJfeF91bnRpZWQ6CisqKgluZWcJejJcLnMsIHAwL20sIHowXC5zCisqKgly ZXQKKyovCitURVNUX1VOSUZPUk1fWiAobmVnX3MzMl94X3VudGllZCwgc3Zp bnQzMl90LAorCQl6MiA9IHN2bmVnX3MzMl94IChwMCwgejApLAorCQl6MiA9 IHN2bmVnX3ggKHAwLCB6MCkpCisKZGlmZiAtLWdpdCBhL2djYy90ZXN0c3Vp dGUvZ2NjLnRhcmdldC9hYXJjaDY0L3N2ZS1hY2xlL2FzbS9uZWdfczY0LmMg Yi9nY2MvdGVzdHN1aXRlL2djYy50YXJnZXQvYWFyY2g2NC9zdmUtYWNsZS9h c20vbmVnX3M2NC5jCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw MDAuLjE3Yjg2N2IKLS0tIC9kZXYvbnVsbAorKysgYi9nY2MvdGVzdHN1aXRl L2djYy50YXJnZXQvYWFyY2g2NC9zdmUtYWNsZS9hc20vbmVnX3M2NC5jCkBA IC0wLDAgKzEsODMgQEAKKy8qIHsgZGctZG8gY29tcGlsZSB9ICovCisvKiB7 IGRnLWZpbmFsIHsgY2hlY2stZnVuY3Rpb24tYm9kaWVzICIqKiIgIiIgIi1E Q0hFQ0tfQVNNIiB9IH0gKi8KKworI2luY2x1ZGUgInRlc3Rfc3ZlX2FjbGUu aCIKKworLyoKKyoqIG5lZ19zNjRfbV90aWVkMTI6CisqKgluZWcJejBcLmQs IHAwL20sIHowXC5kCisqKglyZXQKKyovCitURVNUX1VOSUZPUk1fWiAobmVn X3M2NF9tX3RpZWQxMiwgc3ZpbnQ2NF90LAorCQl6MCA9IHN2bmVnX3M2NF9t ICh6MCwgcDAsIHowKSwKKwkJejAgPSBzdm5lZ19tICh6MCwgcDAsIHowKSkK KworLyoKKyoqIG5lZ19zNjRfbV90aWVkMToKKyoqCW5lZwl6MFwuZCwgcDAv bSwgejFcLmQKKyoqCXJldAorKi8KK1RFU1RfVU5JRk9STV9aIChuZWdfczY0 X21fdGllZDEsIHN2aW50NjRfdCwKKwkJejAgPSBzdm5lZ19zNjRfbSAoejAs IHAwLCB6MSksCisJCXowID0gc3ZuZWdfbSAoejAsIHAwLCB6MSkpCisKKy8q CisqKiBuZWdfczY0X21fdGllZDI6CisqKgltb3YJKHpbMC05XSspXC5kLCB6 MFwuZAorKioJbW92cHJmeAl6MCwgejEKKyoqCW5lZwl6MFwuZCwgcDAvbSwg XDFcLmQKKyoqCXJldAorKi8KK1RFU1RfVU5JRk9STV9aIChuZWdfczY0X21f dGllZDIsIHN2aW50NjRfdCwKKwkJejAgPSBzdm5lZ19zNjRfbSAoejEsIHAw LCB6MCksCisJCXowID0gc3ZuZWdfbSAoejEsIHAwLCB6MCkpCisKKy8qCisq KiBuZWdfczY0X21fdW50aWVkOgorKioJbW92cHJmeAl6MCwgejIKKyoqCW5l Zwl6MFwuZCwgcDAvbSwgejFcLmQKKyoqCXJldAorKi8KK1RFU1RfVU5JRk9S TV9aIChuZWdfczY0X21fdW50aWVkLCBzdmludDY0X3QsCisJCXowID0gc3Zu ZWdfczY0X20gKHoyLCBwMCwgejEpLAorCQl6MCA9IHN2bmVnX20gKHoyLCBw MCwgejEpKQorCisvKgorKiogbmVnX3M2NF96X3RpZWQxOgorKioJbW92CSh6 WzAtOV0rKVwuZCwgejBcLmQKKyoqCW1vdnByZngJejBcLmQsIHAwL3osIHow XC5kCisqKgluZWcJejBcLmQsIHAwL20sIFwxXC5kCisqKglyZXQKKyovCitU RVNUX1VOSUZPUk1fWiAobmVnX3M2NF96X3RpZWQxLCBzdmludDY0X3QsCisJ CXowID0gc3ZuZWdfczY0X3ogKHAwLCB6MCksCisJCXowID0gc3ZuZWdfeiAo cDAsIHowKSkKKworLyoKKyoqIG5lZ19zNjRfel91bnRpZWQ6CisqKgltb3Zw cmZ4CXowXC5kLCBwMC96LCB6MFwuZAorKioJbmVnCXowXC5kLCBwMC9tLCB6 MVwuZAorKioJcmV0CisqLworVEVTVF9VTklGT1JNX1ogKG5lZ19zNjRfel91 bnRpZWQsIHN2aW50NjRfdCwKKwkJejAgPSBzdm5lZ19zNjRfeiAocDAsIHox KSwKKwkJejAgPSBzdm5lZ196IChwMCwgejEpKQorCisvKgorKiogbmVnX3M2 NF94X3RpZWQxOgorKioJbmVnCXowXC5kLCBwMC9tLCB6MFwuZAorKioJcmV0 CisqLworVEVTVF9VTklGT1JNX1ogKG5lZ19zNjRfeF90aWVkMSwgc3ZpbnQ2 NF90LAorCQl6MCA9IHN2bmVnX3M2NF94IChwMCwgejApLAorCQl6MCA9IHN2 bmVnX3ggKHAwLCB6MCkpCisKKy8qCisqKiBuZWdfczY0X3hfdW50aWVkOgor KioJbmVnCXoyXC5kLCBwMC9tLCB6MFwuZAorKioJcmV0CisqLworVEVTVF9V TklGT1JNX1ogKG5lZ19zNjRfeF91bnRpZWQsIHN2aW50NjRfdCwKKwkJejIg PSBzdm5lZ19zNjRfeCAocDAsIHowKSwKKwkJejIgPSBzdm5lZ194IChwMCwg ejApKQorCmRpZmYgLS1naXQgYS9nY2MvdGVzdHN1aXRlL2djYy50YXJnZXQv YWFyY2g2NC9zdmUtYWNsZS9hc20vbmVnX3M4LmMgYi9nY2MvdGVzdHN1aXRl L2djYy50YXJnZXQvYWFyY2g2NC9zdmUtYWNsZS9hc20vbmVnX3M4LmMKbmV3 IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMjgyNDhlZQotLS0g L2Rldi9udWxsCisrKyBiL2djYy90ZXN0c3VpdGUvZ2NjLnRhcmdldC9hYXJj aDY0L3N2ZS1hY2xlL2FzbS9uZWdfczguYwpAQCAtMCwwICsxLDgzIEBACisv KiB7IGRnLWRvIGNvbXBpbGUgfSAqLworLyogeyBkZy1maW5hbCB7IGNoZWNr LWZ1bmN0aW9uLWJvZGllcyAiKioiICIiICItRENIRUNLX0FTTSIgfSB9ICov CisKKyNpbmNsdWRlICJ0ZXN0X3N2ZV9hY2xlLmgiCisKKy8qCisqKiBuZWdf czhfbV90aWVkMTI6CisqKgluZWcJejBcLmIsIHAwL20sIHowXC5iCisqKgly ZXQKKyovCitURVNUX1VOSUZPUk1fWiAobmVnX3M4X21fdGllZDEyLCBzdmlu dDhfdCwKKwkJejAgPSBzdm5lZ19zOF9tICh6MCwgcDAsIHowKSwKKwkJejAg PSBzdm5lZ19tICh6MCwgcDAsIHowKSkKKworLyoKKyoqIG5lZ19zOF9tX3Rp ZWQxOgorKioJbmVnCXowXC5iLCBwMC9tLCB6MVwuYgorKioJcmV0CisqLwor VEVTVF9VTklGT1JNX1ogKG5lZ19zOF9tX3RpZWQxLCBzdmludDhfdCwKKwkJ ejAgPSBzdm5lZ19zOF9tICh6MCwgcDAsIHoxKSwKKwkJejAgPSBzdm5lZ19t ICh6MCwgcDAsIHoxKSkKKworLyoKKyoqIG5lZ19zOF9tX3RpZWQyOgorKioJ bW92CSh6WzAtOV0rKVwuZCwgejBcLmQKKyoqCW1vdnByZngJejAsIHoxCisq KgluZWcJejBcLmIsIHAwL20sIFwxXC5iCisqKglyZXQKKyovCitURVNUX1VO SUZPUk1fWiAobmVnX3M4X21fdGllZDIsIHN2aW50OF90LAorCQl6MCA9IHN2 bmVnX3M4X20gKHoxLCBwMCwgejApLAorCQl6MCA9IHN2bmVnX20gKHoxLCBw MCwgejApKQorCisvKgorKiogbmVnX3M4X21fdW50aWVkOgorKioJbW92cHJm eAl6MCwgejIKKyoqCW5lZwl6MFwuYiwgcDAvbSwgejFcLmIKKyoqCXJldAor Ki8KK1RFU1RfVU5JRk9STV9aIChuZWdfczhfbV91bnRpZWQsIHN2aW50OF90 LAorCQl6MCA9IHN2bmVnX3M4X20gKHoyLCBwMCwgejEpLAorCQl6MCA9IHN2 bmVnX20gKHoyLCBwMCwgejEpKQorCisvKgorKiogbmVnX3M4X3pfdGllZDE6 CisqKgltb3YJKHpbMC05XSspXC5kLCB6MFwuZAorKioJbW92cHJmeAl6MFwu YiwgcDAveiwgejBcLmIKKyoqCW5lZwl6MFwuYiwgcDAvbSwgXDFcLmIKKyoq CXJldAorKi8KK1RFU1RfVU5JRk9STV9aIChuZWdfczhfel90aWVkMSwgc3Zp bnQ4X3QsCisJCXowID0gc3ZuZWdfczhfeiAocDAsIHowKSwKKwkJejAgPSBz dm5lZ196IChwMCwgejApKQorCisvKgorKiogbmVnX3M4X3pfdW50aWVkOgor KioJbW92cHJmeAl6MFwuYiwgcDAveiwgejBcLmIKKyoqCW5lZwl6MFwuYiwg cDAvbSwgejFcLmIKKyoqCXJldAorKi8KK1RFU1RfVU5JRk9STV9aIChuZWdf czhfel91bnRpZWQsIHN2aW50OF90LAorCQl6MCA9IHN2bmVnX3M4X3ogKHAw LCB6MSksCisJCXowID0gc3ZuZWdfeiAocDAsIHoxKSkKKworLyoKKyoqIG5l Z19zOF94X3RpZWQxOgorKioJbmVnCXowXC5iLCBwMC9tLCB6MFwuYgorKioJ cmV0CisqLworVEVTVF9VTklGT1JNX1ogKG5lZ19zOF94X3RpZWQxLCBzdmlu dDhfdCwKKwkJejAgPSBzdm5lZ19zOF94IChwMCwgejApLAorCQl6MCA9IHN2 bmVnX3ggKHAwLCB6MCkpCisKKy8qCisqKiBuZWdfczhfeF91bnRpZWQ6Cisq KgluZWcJejJcLmIsIHAwL20sIHowXC5iCisqKglyZXQKKyovCitURVNUX1VO SUZPUk1fWiAobmVnX3M4X3hfdW50aWVkLCBzdmludDhfdCwKKwkJejIgPSBz dm5lZ19zOF94IChwMCwgejApLAorCQl6MiA9IHN2bmVnX3ggKHAwLCB6MCkp CisKZGlmZiAtLWdpdCBhL2djYy90ZXN0c3VpdGUvZ2NjLnRhcmdldC9hYXJj aDY0L3N2ZS1hY2xlL2FzbS9ub3RfczE2LmMgYi9nY2MvdGVzdHN1aXRlL2dj Yy50YXJnZXQvYWFyY2g2NC9zdmUtYWNsZS9hc20vbm90X3MxNi5jCm5ldyBm aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjBmMmY4NjMKLS0tIC9k ZXYvbnVsbAorKysgYi9nY2MvdGVzdHN1aXRlL2djYy50YXJnZXQvYWFyY2g2 NC9zdmUtYWNsZS9hc20vbm90X3MxNi5jCkBAIC0wLDAgKzEsODMgQEAKKy8q IHsgZGctZG8gY29tcGlsZSB9ICovCisvKiB7IGRnLWZpbmFsIHsgY2hlY2st ZnVuY3Rpb24tYm9kaWVzICIqKiIgIiIgIi1EQ0hFQ0tfQVNNIiB9IH0gKi8K KworI2luY2x1ZGUgInRlc3Rfc3ZlX2FjbGUuaCIKKworLyoKKyoqIG5vdF9z MTZfbV90aWVkMTI6CisqKglub3QJejBcLmgsIHAwL20sIHowXC5oCisqKgly ZXQKKyovCitURVNUX1VOSUZPUk1fWiAobm90X3MxNl9tX3RpZWQxMiwgc3Zp bnQxNl90LAorCQl6MCA9IHN2bm90X3MxNl9tICh6MCwgcDAsIHowKSwKKwkJ ejAgPSBzdm5vdF9tICh6MCwgcDAsIHowKSkKKworLyoKKyoqIG5vdF9zMTZf bV90aWVkMToKKyoqCW5vdAl6MFwuaCwgcDAvbSwgejFcLmgKKyoqCXJldAor Ki8KK1RFU1RfVU5JRk9STV9aIChub3RfczE2X21fdGllZDEsIHN2aW50MTZf dCwKKwkJejAgPSBzdm5vdF9zMTZfbSAoejAsIHAwLCB6MSksCisJCXowID0g c3Zub3RfbSAoejAsIHAwLCB6MSkpCisKKy8qCisqKiBub3RfczE2X21fdGll ZDI6CisqKgltb3YJKHpbMC05XSspXC5kLCB6MFwuZAorKioJbW92cHJmeAl6 MCwgejEKKyoqCW5vdAl6MFwuaCwgcDAvbSwgXDFcLmgKKyoqCXJldAorKi8K K1RFU1RfVU5JRk9STV9aIChub3RfczE2X21fdGllZDIsIHN2aW50MTZfdCwK KwkJejAgPSBzdm5vdF9zMTZfbSAoejEsIHAwLCB6MCksCisJCXowID0gc3Zu b3RfbSAoejEsIHAwLCB6MCkpCisKKy8qCisqKiBub3RfczE2X21fdW50aWVk OgorKioJbW92cHJmeAl6MCwgejIKKyoqCW5vdAl6MFwuaCwgcDAvbSwgejFc LmgKKyoqCXJldAorKi8KK1RFU1RfVU5JRk9STV9aIChub3RfczE2X21fdW50 aWVkLCBzdmludDE2X3QsCisJCXowID0gc3Zub3RfczE2X20gKHoyLCBwMCwg ejEpLAorCQl6MCA9IHN2bm90X20gKHoyLCBwMCwgejEpKQorCisvKgorKiog bm90X3MxNl96X3RpZWQxOgorKioJbW92CSh6WzAtOV0rKVwuZCwgejBcLmQK KyoqCW1vdnByZngJejBcLmgsIHAwL3osIHowXC5oCisqKglub3QJejBcLmgs IHAwL20sIFwxXC5oCisqKglyZXQKKyovCitURVNUX1VOSUZPUk1fWiAobm90 X3MxNl96X3RpZWQxLCBzdmludDE2X3QsCisJCXowID0gc3Zub3RfczE2X3og KHAwLCB6MCksCisJCXowID0gc3Zub3RfeiAocDAsIHowKSkKKworLyoKKyoq IG5vdF9zMTZfel91bnRpZWQ6CisqKgltb3ZwcmZ4CXowXC5oLCBwMC96LCB6 MFwuaAorKioJbm90CXowXC5oLCBwMC9tLCB6MVwuaAorKioJcmV0CisqLwor VEVTVF9VTklGT1JNX1ogKG5vdF9zMTZfel91bnRpZWQsIHN2aW50MTZfdCwK KwkJejAgPSBzdm5vdF9zMTZfeiAocDAsIHoxKSwKKwkJejAgPSBzdm5vdF96 IChwMCwgejEpKQorCisvKgorKiogbm90X3MxNl94X3RpZWQxOgorKioJbm90 CXowXC5oLCBwMC9tLCB6MFwuaAorKioJcmV0CisqLworVEVTVF9VTklGT1JN X1ogKG5vdF9zMTZfeF90aWVkMSwgc3ZpbnQxNl90LAorCQl6MCA9IHN2bm90 X3MxNl94IChwMCwgejApLAorCQl6MCA9IHN2bm90X3ggKHAwLCB6MCkpCisK Ky8qCisqKiBub3RfczE2X3hfdW50aWVkOgorKioJbm90CXoyXC5oLCBwMC9t LCB6MFwuaAorKioJcmV0CisqLworVEVTVF9VTklGT1JNX1ogKG5vdF9zMTZf eF91bnRpZWQsIHN2aW50MTZfdCwKKwkJejIgPSBzdm5vdF9zMTZfeCAocDAs IHowKSwKKwkJejIgPSBzdm5vdF94IChwMCwgejApKQorCmRpZmYgLS1naXQg YS9nY2MvdGVzdHN1aXRlL2djYy50YXJnZXQvYWFyY2g2NC9zdmUtYWNsZS9h c20vbm90X3MzMi5jIGIvZ2NjL3Rlc3RzdWl0ZS9nY2MudGFyZ2V0L2FhcmNo NjQvc3ZlLWFjbGUvYXNtL25vdF9zMzIuYwpuZXcgZmlsZSBtb2RlIDEwMDY0 NAppbmRleCAwMDAwMDAwLi5jZGRkNTc2Ci0tLSAvZGV2L251bGwKKysrIGIv Z2NjL3Rlc3RzdWl0ZS9nY2MudGFyZ2V0L2FhcmNoNjQvc3ZlLWFjbGUvYXNt L25vdF9zMzIuYwpAQCAtMCwwICsxLDgzIEBACisvKiB7IGRnLWRvIGNvbXBp bGUgfSAqLworLyogeyBkZy1maW5hbCB7IGNoZWNrLWZ1bmN0aW9uLWJvZGll cyAiKioiICIiICItRENIRUNLX0FTTSIgfSB9ICovCisKKyNpbmNsdWRlICJ0 ZXN0X3N2ZV9hY2xlLmgiCisKKy8qCisqKiBub3RfczMyX21fdGllZDEyOgor KioJbm90CXowXC5zLCBwMC9tLCB6MFwucworKioJcmV0CisqLworVEVTVF9V TklGT1JNX1ogKG5vdF9zMzJfbV90aWVkMTIsIHN2aW50MzJfdCwKKwkJejAg PSBzdm5vdF9zMzJfbSAoejAsIHAwLCB6MCksCisJCXowID0gc3Zub3RfbSAo ejAsIHAwLCB6MCkpCisKKy8qCisqKiBub3RfczMyX21fdGllZDE6CisqKglu b3QJejBcLnMsIHAwL20sIHoxXC5zCisqKglyZXQKKyovCitURVNUX1VOSUZP Uk1fWiAobm90X3MzMl9tX3RpZWQxLCBzdmludDMyX3QsCisJCXowID0gc3Zu b3RfczMyX20gKHowLCBwMCwgejEpLAorCQl6MCA9IHN2bm90X20gKHowLCBw MCwgejEpKQorCisvKgorKiogbm90X3MzMl9tX3RpZWQyOgorKioJbW92CSh6 WzAtOV0rKVwuZCwgejBcLmQKKyoqCW1vdnByZngJejAsIHoxCisqKglub3QJ ejBcLnMsIHAwL20sIFwxXC5zCisqKglyZXQKKyovCitURVNUX1VOSUZPUk1f WiAobm90X3MzMl9tX3RpZWQyLCBzdmludDMyX3QsCisJCXowID0gc3Zub3Rf czMyX20gKHoxLCBwMCwgejApLAorCQl6MCA9IHN2bm90X20gKHoxLCBwMCwg ejApKQorCisvKgorKiogbm90X3MzMl9tX3VudGllZDoKKyoqCW1vdnByZngJ ejAsIHoyCisqKglub3QJejBcLnMsIHAwL20sIHoxXC5zCisqKglyZXQKKyov CitURVNUX1VOSUZPUk1fWiAobm90X3MzMl9tX3VudGllZCwgc3ZpbnQzMl90 LAorCQl6MCA9IHN2bm90X3MzMl9tICh6MiwgcDAsIHoxKSwKKwkJejAgPSBz dm5vdF9tICh6MiwgcDAsIHoxKSkKKworLyoKKyoqIG5vdF9zMzJfel90aWVk MToKKyoqCW1vdgkoelswLTldKylcLmQsIHowXC5kCisqKgltb3ZwcmZ4CXow XC5zLCBwMC96LCB6MFwucworKioJbm90CXowXC5zLCBwMC9tLCBcMVwucwor KioJcmV0CisqLworVEVTVF9VTklGT1JNX1ogKG5vdF9zMzJfel90aWVkMSwg c3ZpbnQzMl90LAorCQl6MCA9IHN2bm90X3MzMl96IChwMCwgejApLAorCQl6 MCA9IHN2bm90X3ogKHAwLCB6MCkpCisKKy8qCisqKiBub3RfczMyX3pfdW50 aWVkOgorKioJbW92cHJmeAl6MFwucywgcDAveiwgejBcLnMKKyoqCW5vdAl6 MFwucywgcDAvbSwgejFcLnMKKyoqCXJldAorKi8KK1RFU1RfVU5JRk9STV9a IChub3RfczMyX3pfdW50aWVkLCBzdmludDMyX3QsCisJCXowID0gc3Zub3Rf czMyX3ogKHAwLCB6MSksCisJCXowID0gc3Zub3RfeiAocDAsIHoxKSkKKwor LyoKKyoqIG5vdF9zMzJfeF90aWVkMToKKyoqCW5vdAl6MFwucywgcDAvbSwg ejBcLnMKKyoqCXJldAorKi8KK1RFU1RfVU5JRk9STV9aIChub3RfczMyX3hf dGllZDEsIHN2aW50MzJfdCwKKwkJejAgPSBzdm5vdF9zMzJfeCAocDAsIHow KSwKKwkJejAgPSBzdm5vdF94IChwMCwgejApKQorCisvKgorKiogbm90X3Mz Ml94X3VudGllZDoKKyoqCW5vdAl6MlwucywgcDAvbSwgejBcLnMKKyoqCXJl dAorKi8KK1RFU1RfVU5JRk9STV9aIChub3RfczMyX3hfdW50aWVkLCBzdmlu dDMyX3QsCisJCXoyID0gc3Zub3RfczMyX3ggKHAwLCB6MCksCisJCXoyID0g c3Zub3RfeCAocDAsIHowKSkKKwpkaWZmIC0tZ2l0IGEvZ2NjL3Rlc3RzdWl0 ZS9nY2MudGFyZ2V0L2FhcmNoNjQvc3ZlLWFjbGUvYXNtL25vdF9zNjQuYyBi L2djYy90ZXN0c3VpdGUvZ2NjLnRhcmdldC9hYXJjaDY0L3N2ZS1hY2xlL2Fz bS9ub3RfczY0LmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw MC4uZTMyNDdkOQotLS0gL2Rldi9udWxsCisrKyBiL2djYy90ZXN0c3VpdGUv Z2NjLnRhcmdldC9hYXJjaDY0L3N2ZS1hY2xlL2FzbS9ub3RfczY0LmMKQEAg LTAsMCArMSw4MyBAQAorLyogeyBkZy1kbyBjb21waWxlIH0gKi8KKy8qIHsg ZGctZmluYWwgeyBjaGVjay1mdW5jdGlvbi1ib2RpZXMgIioqIiAiIiAiLURD SEVDS19BU00iIH0gfSAqLworCisjaW5jbHVkZSAidGVzdF9zdmVfYWNsZS5o IgorCisvKgorKiogbm90X3M2NF9tX3RpZWQxMjoKKyoqCW5vdAl6MFwuZCwg cDAvbSwgejBcLmQKKyoqCXJldAorKi8KK1RFU1RfVU5JRk9STV9aIChub3Rf czY0X21fdGllZDEyLCBzdmludDY0X3QsCisJCXowID0gc3Zub3RfczY0X20g KHowLCBwMCwgejApLAorCQl6MCA9IHN2bm90X20gKHowLCBwMCwgejApKQor CisvKgorKiogbm90X3M2NF9tX3RpZWQxOgorKioJbm90CXowXC5kLCBwMC9t LCB6MVwuZAorKioJcmV0CisqLworVEVTVF9VTklGT1JNX1ogKG5vdF9zNjRf bV90aWVkMSwgc3ZpbnQ2NF90LAorCQl6MCA9IHN2bm90X3M2NF9tICh6MCwg cDAsIHoxKSwKKwkJejAgPSBzdm5vdF9tICh6MCwgcDAsIHoxKSkKKworLyoK KyoqIG5vdF9zNjRfbV90aWVkMjoKKyoqCW1vdgkoelswLTldKylcLmQsIHow XC5kCisqKgltb3ZwcmZ4CXowLCB6MQorKioJbm90CXowXC5kLCBwMC9tLCBc MVwuZAorKioJcmV0CisqLworVEVTVF9VTklGT1JNX1ogKG5vdF9zNjRfbV90 aWVkMiwgc3ZpbnQ2NF90LAorCQl6MCA9IHN2bm90X3M2NF9tICh6MSwgcDAs IHowKSwKKwkJejAgPSBzdm5vdF9tICh6MSwgcDAsIHowKSkKKworLyoKKyoq IG5vdF9zNjRfbV91bnRpZWQ6CisqKgltb3ZwcmZ4CXowLCB6MgorKioJbm90 CXowXC5kLCBwMC9tLCB6MVwuZAorKioJcmV0CisqLworVEVTVF9VTklGT1JN X1ogKG5vdF9zNjRfbV91bnRpZWQsIHN2aW50NjRfdCwKKwkJejAgPSBzdm5v dF9zNjRfbSAoejIsIHAwLCB6MSksCisJCXowID0gc3Zub3RfbSAoejIsIHAw LCB6MSkpCisKKy8qCisqKiBub3RfczY0X3pfdGllZDE6CisqKgltb3YJKHpb MC05XSspXC5kLCB6MFwuZAorKioJbW92cHJmeAl6MFwuZCwgcDAveiwgejBc LmQKKyoqCW5vdAl6MFwuZCwgcDAvbSwgXDFcLmQKKyoqCXJldAorKi8KK1RF U1RfVU5JRk9STV9aIChub3RfczY0X3pfdGllZDEsIHN2aW50NjRfdCwKKwkJ ejAgPSBzdm5vdF9zNjRfeiAocDAsIHowKSwKKwkJejAgPSBzdm5vdF96IChw MCwgejApKQorCisvKgorKiogbm90X3M2NF96X3VudGllZDoKKyoqCW1vdnBy ZngJejBcLmQsIHAwL3osIHowXC5kCisqKglub3QJejBcLmQsIHAwL20sIHox XC5kCisqKglyZXQKKyovCitURVNUX1VOSUZPUk1fWiAobm90X3M2NF96X3Vu dGllZCwgc3ZpbnQ2NF90LAorCQl6MCA9IHN2bm90X3M2NF96IChwMCwgejEp LAorCQl6MCA9IHN2bm90X3ogKHAwLCB6MSkpCisKKy8qCisqKiBub3RfczY0 X3hfdGllZDE6CisqKglub3QJejBcLmQsIHAwL20sIHowXC5kCisqKglyZXQK KyovCitURVNUX1VOSUZPUk1fWiAobm90X3M2NF94X3RpZWQxLCBzdmludDY0 X3QsCisJCXowID0gc3Zub3RfczY0X3ggKHAwLCB6MCksCisJCXowID0gc3Zu b3RfeCAocDAsIHowKSkKKworLyoKKyoqIG5vdF9zNjRfeF91bnRpZWQ6Cisq Kglub3QJejJcLmQsIHAwL20sIHowXC5kCisqKglyZXQKKyovCitURVNUX1VO SUZPUk1fWiAobm90X3M2NF94X3VudGllZCwgc3ZpbnQ2NF90LAorCQl6MiA9 IHN2bm90X3M2NF94IChwMCwgejApLAorCQl6MiA9IHN2bm90X3ggKHAwLCB6 MCkpCisKZGlmZiAtLWdpdCBhL2djYy90ZXN0c3VpdGUvZ2NjLnRhcmdldC9h YXJjaDY0L3N2ZS1hY2xlL2FzbS9ub3RfczguYyBiL2djYy90ZXN0c3VpdGUv Z2NjLnRhcmdldC9hYXJjaDY0L3N2ZS1hY2xlL2FzbS9ub3RfczguYwpuZXcg ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4yZGUzYzMyCi0tLSAv ZGV2L251bGwKKysrIGIvZ2NjL3Rlc3RzdWl0ZS9nY2MudGFyZ2V0L2FhcmNo NjQvc3ZlLWFjbGUvYXNtL25vdF9zOC5jCkBAIC0wLDAgKzEsODMgQEAKKy8q IHsgZGctZG8gY29tcGlsZSB9ICovCisvKiB7IGRnLWZpbmFsIHsgY2hlY2st ZnVuY3Rpb24tYm9kaWVzICIqKiIgIiIgIi1EQ0hFQ0tfQVNNIiB9IH0gKi8K KworI2luY2x1ZGUgInRlc3Rfc3ZlX2FjbGUuaCIKKworLyoKKyoqIG5vdF9z OF9tX3RpZWQxMjoKKyoqCW5vdAl6MFwuYiwgcDAvbSwgejBcLmIKKyoqCXJl dAorKi8KK1RFU1RfVU5JRk9STV9aIChub3RfczhfbV90aWVkMTIsIHN2aW50 OF90LAorCQl6MCA9IHN2bm90X3M4X20gKHowLCBwMCwgejApLAorCQl6MCA9 IHN2bm90X20gKHowLCBwMCwgejApKQorCisvKgorKiogbm90X3M4X21fdGll ZDE6CisqKglub3QJejBcLmIsIHAwL20sIHoxXC5iCisqKglyZXQKKyovCitU RVNUX1VOSUZPUk1fWiAobm90X3M4X21fdGllZDEsIHN2aW50OF90LAorCQl6 MCA9IHN2bm90X3M4X20gKHowLCBwMCwgejEpLAorCQl6MCA9IHN2bm90X20g KHowLCBwMCwgejEpKQorCisvKgorKiogbm90X3M4X21fdGllZDI6CisqKglt b3YJKHpbMC05XSspXC5kLCB6MFwuZAorKioJbW92cHJmeAl6MCwgejEKKyoq CW5vdAl6MFwuYiwgcDAvbSwgXDFcLmIKKyoqCXJldAorKi8KK1RFU1RfVU5J Rk9STV9aIChub3RfczhfbV90aWVkMiwgc3ZpbnQ4X3QsCisJCXowID0gc3Zu b3RfczhfbSAoejEsIHAwLCB6MCksCisJCXowID0gc3Zub3RfbSAoejEsIHAw LCB6MCkpCisKKy8qCisqKiBub3RfczhfbV91bnRpZWQ6CisqKgltb3ZwcmZ4 CXowLCB6MgorKioJbm90CXowXC5iLCBwMC9tLCB6MVwuYgorKioJcmV0Cisq LworVEVTVF9VTklGT1JNX1ogKG5vdF9zOF9tX3VudGllZCwgc3ZpbnQ4X3Qs CisJCXowID0gc3Zub3RfczhfbSAoejIsIHAwLCB6MSksCisJCXowID0gc3Zu b3RfbSAoejIsIHAwLCB6MSkpCisKKy8qCisqKiBub3Rfczhfel90aWVkMToK KyoqCW1vdgkoelswLTldKylcLmQsIHowXC5kCisqKgltb3ZwcmZ4CXowXC5i LCBwMC96LCB6MFwuYgorKioJbm90CXowXC5iLCBwMC9tLCBcMVwuYgorKioJ cmV0CisqLworVEVTVF9VTklGT1JNX1ogKG5vdF9zOF96X3RpZWQxLCBzdmlu dDhfdCwKKwkJejAgPSBzdm5vdF9zOF96IChwMCwgejApLAorCQl6MCA9IHN2 bm90X3ogKHAwLCB6MCkpCisKKy8qCisqKiBub3Rfczhfel91bnRpZWQ6Cisq Kgltb3ZwcmZ4CXowXC5iLCBwMC96LCB6MFwuYgorKioJbm90CXowXC5iLCBw MC9tLCB6MVwuYgorKioJcmV0CisqLworVEVTVF9VTklGT1JNX1ogKG5vdF9z OF96X3VudGllZCwgc3ZpbnQ4X3QsCisJCXowID0gc3Zub3RfczhfeiAocDAs IHoxKSwKKwkJejAgPSBzdm5vdF96IChwMCwgejEpKQorCisvKgorKiogbm90 X3M4X3hfdGllZDE6CisqKglub3QJejBcLmIsIHAwL20sIHowXC5iCisqKgly ZXQKKyovCitURVNUX1VOSUZPUk1fWiAobm90X3M4X3hfdGllZDEsIHN2aW50 OF90LAorCQl6MCA9IHN2bm90X3M4X3ggKHAwLCB6MCksCisJCXowID0gc3Zu b3RfeCAocDAsIHowKSkKKworLyoKKyoqIG5vdF9zOF94X3VudGllZDoKKyoq CW5vdAl6MlwuYiwgcDAvbSwgejBcLmIKKyoqCXJldAorKi8KK1RFU1RfVU5J Rk9STV9aIChub3RfczhfeF91bnRpZWQsIHN2aW50OF90LAorCQl6MiA9IHN2 bm90X3M4X3ggKHAwLCB6MCksCisJCXoyID0gc3Zub3RfeCAocDAsIHowKSkK KwpkaWZmIC0tZ2l0IGEvZ2NjL3Rlc3RzdWl0ZS9nY2MudGFyZ2V0L2FhcmNo NjQvc3ZlLWFjbGUvYXNtL25vdF91MTYuYyBiL2djYy90ZXN0c3VpdGUvZ2Nj LnRhcmdldC9hYXJjaDY0L3N2ZS1hY2xlL2FzbS9ub3RfdTE2LmMKbmV3IGZp bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYjFmYzZlNQotLS0gL2Rl di9udWxsCisrKyBiL2djYy90ZXN0c3VpdGUvZ2NjLnRhcmdldC9hYXJjaDY0 L3N2ZS1hY2xlL2FzbS9ub3RfdTE2LmMKQEAgLTAsMCArMSw4MyBAQAorLyog eyBkZy1kbyBjb21waWxlIH0gKi8KKy8qIHsgZGctZmluYWwgeyBjaGVjay1m dW5jdGlvbi1ib2RpZXMgIioqIiAiIiAiLURDSEVDS19BU00iIH0gfSAqLwor CisjaW5jbHVkZSAidGVzdF9zdmVfYWNsZS5oIgorCisvKgorKiogbm90X3Ux Nl9tX3RpZWQxMjoKKyoqCW5vdAl6MFwuaCwgcDAvbSwgejBcLmgKKyoqCXJl dAorKi8KK1RFU1RfVU5JRk9STV9aIChub3RfdTE2X21fdGllZDEyLCBzdnVp bnQxNl90LAorCQl6MCA9IHN2bm90X3UxNl9tICh6MCwgcDAsIHowKSwKKwkJ ejAgPSBzdm5vdF9tICh6MCwgcDAsIHowKSkKKworLyoKKyoqIG5vdF91MTZf bV90aWVkMToKKyoqCW5vdAl6MFwuaCwgcDAvbSwgejFcLmgKKyoqCXJldAor Ki8KK1RFU1RfVU5JRk9STV9aIChub3RfdTE2X21fdGllZDEsIHN2dWludDE2 X3QsCisJCXowID0gc3Zub3RfdTE2X20gKHowLCBwMCwgejEpLAorCQl6MCA9 IHN2bm90X20gKHowLCBwMCwgejEpKQorCisvKgorKiogbm90X3UxNl9tX3Rp ZWQyOgorKioJbW92CSh6WzAtOV0rKVwuZCwgejBcLmQKKyoqCW1vdnByZngJ ejAsIHoxCisqKglub3QJejBcLmgsIHAwL20sIFwxXC5oCisqKglyZXQKKyov CitURVNUX1VOSUZPUk1fWiAobm90X3UxNl9tX3RpZWQyLCBzdnVpbnQxNl90 LAorCQl6MCA9IHN2bm90X3UxNl9tICh6MSwgcDAsIHowKSwKKwkJejAgPSBz dm5vdF9tICh6MSwgcDAsIHowKSkKKworLyoKKyoqIG5vdF91MTZfbV91bnRp ZWQ6CisqKgltb3ZwcmZ4CXowLCB6MgorKioJbm90CXowXC5oLCBwMC9tLCB6 MVwuaAorKioJcmV0CisqLworVEVTVF9VTklGT1JNX1ogKG5vdF91MTZfbV91 bnRpZWQsIHN2dWludDE2X3QsCisJCXowID0gc3Zub3RfdTE2X20gKHoyLCBw MCwgejEpLAorCQl6MCA9IHN2bm90X20gKHoyLCBwMCwgejEpKQorCisvKgor Kiogbm90X3UxNl96X3RpZWQxOgorKioJbW92CSh6WzAtOV0rKVwuZCwgejBc LmQKKyoqCW1vdnByZngJejBcLmgsIHAwL3osIHowXC5oCisqKglub3QJejBc LmgsIHAwL20sIFwxXC5oCisqKglyZXQKKyovCitURVNUX1VOSUZPUk1fWiAo bm90X3UxNl96X3RpZWQxLCBzdnVpbnQxNl90LAorCQl6MCA9IHN2bm90X3Ux Nl96IChwMCwgejApLAorCQl6MCA9IHN2bm90X3ogKHAwLCB6MCkpCisKKy8q CisqKiBub3RfdTE2X3pfdW50aWVkOgorKioJbW92cHJmeAl6MFwuaCwgcDAv eiwgejBcLmgKKyoqCW5vdAl6MFwuaCwgcDAvbSwgejFcLmgKKyoqCXJldAor Ki8KK1RFU1RfVU5JRk9STV9aIChub3RfdTE2X3pfdW50aWVkLCBzdnVpbnQx Nl90LAorCQl6MCA9IHN2bm90X3UxNl96IChwMCwgejEpLAorCQl6MCA9IHN2 bm90X3ogKHAwLCB6MSkpCisKKy8qCisqKiBub3RfdTE2X3hfdGllZDE6Cisq Kglub3QJejBcLmgsIHAwL20sIHowXC5oCisqKglyZXQKKyovCitURVNUX1VO SUZPUk1fWiAobm90X3UxNl94X3RpZWQxLCBzdnVpbnQxNl90LAorCQl6MCA9 IHN2bm90X3UxNl94IChwMCwgejApLAorCQl6MCA9IHN2bm90X3ggKHAwLCB6 MCkpCisKKy8qCisqKiBub3RfdTE2X3hfdW50aWVkOgorKioJbm90CXoyXC5o LCBwMC9tLCB6MFwuaAorKioJcmV0CisqLworVEVTVF9VTklGT1JNX1ogKG5v dF91MTZfeF91bnRpZWQsIHN2dWludDE2X3QsCisJCXoyID0gc3Zub3RfdTE2 X3ggKHAwLCB6MCksCisJCXoyID0gc3Zub3RfeCAocDAsIHowKSkKKwpkaWZm IC0tZ2l0IGEvZ2NjL3Rlc3RzdWl0ZS9nY2MudGFyZ2V0L2FhcmNoNjQvc3Zl LWFjbGUvYXNtL25vdF91MzIuYyBiL2djYy90ZXN0c3VpdGUvZ2NjLnRhcmdl dC9hYXJjaDY0L3N2ZS1hY2xlL2FzbS9ub3RfdTMyLmMKbmV3IGZpbGUgbW9k ZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uODBmOGYxMAotLS0gL2Rldi9udWxs CisrKyBiL2djYy90ZXN0c3VpdGUvZ2NjLnRhcmdldC9hYXJjaDY0L3N2ZS1h Y2xlL2FzbS9ub3RfdTMyLmMKQEAgLTAsMCArMSw4MyBAQAorLyogeyBkZy1k byBjb21waWxlIH0gKi8KKy8qIHsgZGctZmluYWwgeyBjaGVjay1mdW5jdGlv bi1ib2RpZXMgIioqIiAiIiAiLURDSEVDS19BU00iIH0gfSAqLworCisjaW5j bHVkZSAidGVzdF9zdmVfYWNsZS5oIgorCisvKgorKiogbm90X3UzMl9tX3Rp ZWQxMjoKKyoqCW5vdAl6MFwucywgcDAvbSwgejBcLnMKKyoqCXJldAorKi8K K1RFU1RfVU5JRk9STV9aIChub3RfdTMyX21fdGllZDEyLCBzdnVpbnQzMl90 LAorCQl6MCA9IHN2bm90X3UzMl9tICh6MCwgcDAsIHowKSwKKwkJejAgPSBz dm5vdF9tICh6MCwgcDAsIHowKSkKKworLyoKKyoqIG5vdF91MzJfbV90aWVk MToKKyoqCW5vdAl6MFwucywgcDAvbSwgejFcLnMKKyoqCXJldAorKi8KK1RF U1RfVU5JRk9STV9aIChub3RfdTMyX21fdGllZDEsIHN2dWludDMyX3QsCisJ CXowID0gc3Zub3RfdTMyX20gKHowLCBwMCwgejEpLAorCQl6MCA9IHN2bm90 X20gKHowLCBwMCwgejEpKQorCisvKgorKiogbm90X3UzMl9tX3RpZWQyOgor KioJbW92CSh6WzAtOV0rKVwuZCwgejBcLmQKKyoqCW1vdnByZngJejAsIHox CisqKglub3QJejBcLnMsIHAwL20sIFwxXC5zCisqKglyZXQKKyovCitURVNU X1VOSUZPUk1fWiAobm90X3UzMl9tX3RpZWQyLCBzdnVpbnQzMl90LAorCQl6 MCA9IHN2bm90X3UzMl9tICh6MSwgcDAsIHowKSwKKwkJejAgPSBzdm5vdF9t ICh6MSwgcDAsIHowKSkKKworLyoKKyoqIG5vdF91MzJfbV91bnRpZWQ6Cisq Kgltb3ZwcmZ4CXowLCB6MgorKioJbm90CXowXC5zLCBwMC9tLCB6MVwucwor KioJcmV0CisqLworVEVTVF9VTklGT1JNX1ogKG5vdF91MzJfbV91bnRpZWQs IHN2dWludDMyX3QsCisJCXowID0gc3Zub3RfdTMyX20gKHoyLCBwMCwgejEp LAorCQl6MCA9IHN2bm90X20gKHoyLCBwMCwgejEpKQorCisvKgorKiogbm90 X3UzMl96X3RpZWQxOgorKioJbW92CSh6WzAtOV0rKVwuZCwgejBcLmQKKyoq CW1vdnByZngJejBcLnMsIHAwL3osIHowXC5zCisqKglub3QJejBcLnMsIHAw L20sIFwxXC5zCisqKglyZXQKKyovCitURVNUX1VOSUZPUk1fWiAobm90X3Uz Ml96X3RpZWQxLCBzdnVpbnQzMl90LAorCQl6MCA9IHN2bm90X3UzMl96IChw MCwgejApLAorCQl6MCA9IHN2bm90X3ogKHAwLCB6MCkpCisKKy8qCisqKiBu b3RfdTMyX3pfdW50aWVkOgorKioJbW92cHJmeAl6MFwucywgcDAveiwgejBc LnMKKyoqCW5vdAl6MFwucywgcDAvbSwgejFcLnMKKyoqCXJldAorKi8KK1RF U1RfVU5JRk9STV9aIChub3RfdTMyX3pfdW50aWVkLCBzdnVpbnQzMl90LAor CQl6MCA9IHN2bm90X3UzMl96IChwMCwgejEpLAorCQl6MCA9IHN2bm90X3og KHAwLCB6MSkpCisKKy8qCisqKiBub3RfdTMyX3hfdGllZDE6CisqKglub3QJ ejBcLnMsIHAwL20sIHowXC5zCisqKglyZXQKKyovCitURVNUX1VOSUZPUk1f WiAobm90X3UzMl94X3RpZWQxLCBzdnVpbnQzMl90LAorCQl6MCA9IHN2bm90 X3UzMl94IChwMCwgejApLAorCQl6MCA9IHN2bm90X3ggKHAwLCB6MCkpCisK Ky8qCisqKiBub3RfdTMyX3hfdW50aWVkOgorKioJbm90CXoyXC5zLCBwMC9t LCB6MFwucworKioJcmV0CisqLworVEVTVF9VTklGT1JNX1ogKG5vdF91MzJf eF91bnRpZWQsIHN2dWludDMyX3QsCisJCXoyID0gc3Zub3RfdTMyX3ggKHAw LCB6MCksCisJCXoyID0gc3Zub3RfeCAocDAsIHowKSkKKwpkaWZmIC0tZ2l0 IGEvZ2NjL3Rlc3RzdWl0ZS9nY2MudGFyZ2V0L2FhcmNoNjQvc3ZlLWFjbGUv YXNtL25vdF91NjQuYyBiL2djYy90ZXN0c3VpdGUvZ2NjLnRhcmdldC9hYXJj aDY0L3N2ZS1hY2xlL2FzbS9ub3RfdTY0LmMKbmV3IGZpbGUgbW9kZSAxMDA2 NDQKaW5kZXggMDAwMDAwMC4uNDRjMmNmMgotLS0gL2Rldi9udWxsCisrKyBi L2djYy90ZXN0c3VpdGUvZ2NjLnRhcmdldC9hYXJjaDY0L3N2ZS1hY2xlL2Fz bS9ub3RfdTY0LmMKQEAgLTAsMCArMSw4MyBAQAorLyogeyBkZy1kbyBjb21w aWxlIH0gKi8KKy8qIHsgZGctZmluYWwgeyBjaGVjay1mdW5jdGlvbi1ib2Rp ZXMgIioqIiAiIiAiLURDSEVDS19BU00iIH0gfSAqLworCisjaW5jbHVkZSAi dGVzdF9zdmVfYWNsZS5oIgorCisvKgorKiogbm90X3U2NF9tX3RpZWQxMjoK KyoqCW5vdAl6MFwuZCwgcDAvbSwgejBcLmQKKyoqCXJldAorKi8KK1RFU1Rf VU5JRk9STV9aIChub3RfdTY0X21fdGllZDEyLCBzdnVpbnQ2NF90LAorCQl6 MCA9IHN2bm90X3U2NF9tICh6MCwgcDAsIHowKSwKKwkJejAgPSBzdm5vdF9t ICh6MCwgcDAsIHowKSkKKworLyoKKyoqIG5vdF91NjRfbV90aWVkMToKKyoq CW5vdAl6MFwuZCwgcDAvbSwgejFcLmQKKyoqCXJldAorKi8KK1RFU1RfVU5J Rk9STV9aIChub3RfdTY0X21fdGllZDEsIHN2dWludDY0X3QsCisJCXowID0g c3Zub3RfdTY0X20gKHowLCBwMCwgejEpLAorCQl6MCA9IHN2bm90X20gKHow LCBwMCwgejEpKQorCisvKgorKiogbm90X3U2NF9tX3RpZWQyOgorKioJbW92 CSh6WzAtOV0rKVwuZCwgejBcLmQKKyoqCW1vdnByZngJejAsIHoxCisqKglu b3QJejBcLmQsIHAwL20sIFwxXC5kCisqKglyZXQKKyovCitURVNUX1VOSUZP Uk1fWiAobm90X3U2NF9tX3RpZWQyLCBzdnVpbnQ2NF90LAorCQl6MCA9IHN2 bm90X3U2NF9tICh6MSwgcDAsIHowKSwKKwkJejAgPSBzdm5vdF9tICh6MSwg cDAsIHowKSkKKworLyoKKyoqIG5vdF91NjRfbV91bnRpZWQ6CisqKgltb3Zw cmZ4CXowLCB6MgorKioJbm90CXowXC5kLCBwMC9tLCB6MVwuZAorKioJcmV0 CisqLworVEVTVF9VTklGT1JNX1ogKG5vdF91NjRfbV91bnRpZWQsIHN2dWlu dDY0X3QsCisJCXowID0gc3Zub3RfdTY0X20gKHoyLCBwMCwgejEpLAorCQl6 MCA9IHN2bm90X20gKHoyLCBwMCwgejEpKQorCisvKgorKiogbm90X3U2NF96 X3RpZWQxOgorKioJbW92CSh6WzAtOV0rKVwuZCwgejBcLmQKKyoqCW1vdnBy ZngJejBcLmQsIHAwL3osIHowXC5kCisqKglub3QJejBcLmQsIHAwL20sIFwx XC5kCisqKglyZXQKKyovCitURVNUX1VOSUZPUk1fWiAobm90X3U2NF96X3Rp ZWQxLCBzdnVpbnQ2NF90LAorCQl6MCA9IHN2bm90X3U2NF96IChwMCwgejAp LAorCQl6MCA9IHN2bm90X3ogKHAwLCB6MCkpCisKKy8qCisqKiBub3RfdTY0 X3pfdW50aWVkOgorKioJbW92cHJmeAl6MFwuZCwgcDAveiwgejBcLmQKKyoq CW5vdAl6MFwuZCwgcDAvbSwgejFcLmQKKyoqCXJldAorKi8KK1RFU1RfVU5J Rk9STV9aIChub3RfdTY0X3pfdW50aWVkLCBzdnVpbnQ2NF90LAorCQl6MCA9 IHN2bm90X3U2NF96IChwMCwgejEpLAorCQl6MCA9IHN2bm90X3ogKHAwLCB6 MSkpCisKKy8qCisqKiBub3RfdTY0X3hfdGllZDE6CisqKglub3QJejBcLmQs IHAwL20sIHowXC5kCisqKglyZXQKKyovCitURVNUX1VOSUZPUk1fWiAobm90 X3U2NF94X3RpZWQxLCBzdnVpbnQ2NF90LAorCQl6MCA9IHN2bm90X3U2NF94 IChwMCwgejApLAorCQl6MCA9IHN2bm90X3ggKHAwLCB6MCkpCisKKy8qCisq KiBub3RfdTY0X3hfdW50aWVkOgorKioJbm90CXoyXC5kLCBwMC9tLCB6MFwu ZAorKioJcmV0CisqLworVEVTVF9VTklGT1JNX1ogKG5vdF91NjRfeF91bnRp ZWQsIHN2dWludDY0X3QsCisJCXoyID0gc3Zub3RfdTY0X3ggKHAwLCB6MCks CisJCXoyID0gc3Zub3RfeCAocDAsIHowKSkKKwpkaWZmIC0tZ2l0IGEvZ2Nj L3Rlc3RzdWl0ZS9nY2MudGFyZ2V0L2FhcmNoNjQvc3ZlLWFjbGUvYXNtL25v dF91OC5jIGIvZ2NjL3Rlc3RzdWl0ZS9nY2MudGFyZ2V0L2FhcmNoNjQvc3Zl LWFjbGUvYXNtL25vdF91OC5jCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4 IDAwMDAwMDAuLjYzYjVhZWMKLS0tIC9kZXYvbnVsbAorKysgYi9nY2MvdGVz dHN1aXRlL2djYy50YXJnZXQvYWFyY2g2NC9zdmUtYWNsZS9hc20vbm90X3U4 LmMKQEAgLTAsMCArMSw4MyBAQAorLyogeyBkZy1kbyBjb21waWxlIH0gKi8K Ky8qIHsgZGctZmluYWwgeyBjaGVjay1mdW5jdGlvbi1ib2RpZXMgIioqIiAi IiAiLURDSEVDS19BU00iIH0gfSAqLworCisjaW5jbHVkZSAidGVzdF9zdmVf YWNsZS5oIgorCisvKgorKiogbm90X3U4X21fdGllZDEyOgorKioJbm90CXow XC5iLCBwMC9tLCB6MFwuYgorKioJcmV0CisqLworVEVTVF9VTklGT1JNX1og KG5vdF91OF9tX3RpZWQxMiwgc3Z1aW50OF90LAorCQl6MCA9IHN2bm90X3U4 X20gKHowLCBwMCwgejApLAorCQl6MCA9IHN2bm90X20gKHowLCBwMCwgejAp KQorCisvKgorKiogbm90X3U4X21fdGllZDE6CisqKglub3QJejBcLmIsIHAw L20sIHoxXC5iCisqKglyZXQKKyovCitURVNUX1VOSUZPUk1fWiAobm90X3U4 X21fdGllZDEsIHN2dWludDhfdCwKKwkJejAgPSBzdm5vdF91OF9tICh6MCwg cDAsIHoxKSwKKwkJejAgPSBzdm5vdF9tICh6MCwgcDAsIHoxKSkKKworLyoK KyoqIG5vdF91OF9tX3RpZWQyOgorKioJbW92CSh6WzAtOV0rKVwuZCwgejBc LmQKKyoqCW1vdnByZngJejAsIHoxCisqKglub3QJejBcLmIsIHAwL20sIFwx XC5iCisqKglyZXQKKyovCitURVNUX1VOSUZPUk1fWiAobm90X3U4X21fdGll ZDIsIHN2dWludDhfdCwKKwkJejAgPSBzdm5vdF91OF9tICh6MSwgcDAsIHow KSwKKwkJejAgPSBzdm5vdF9tICh6MSwgcDAsIHowKSkKKworLyoKKyoqIG5v dF91OF9tX3VudGllZDoKKyoqCW1vdnByZngJejAsIHoyCisqKglub3QJejBc LmIsIHAwL20sIHoxXC5iCisqKglyZXQKKyovCitURVNUX1VOSUZPUk1fWiAo bm90X3U4X21fdW50aWVkLCBzdnVpbnQ4X3QsCisJCXowID0gc3Zub3RfdThf bSAoejIsIHAwLCB6MSksCisJCXowID0gc3Zub3RfbSAoejIsIHAwLCB6MSkp CisKKy8qCisqKiBub3RfdThfel90aWVkMToKKyoqCW1vdgkoelswLTldKylc LmQsIHowXC5kCisqKgltb3ZwcmZ4CXowXC5iLCBwMC96LCB6MFwuYgorKioJ bm90CXowXC5iLCBwMC9tLCBcMVwuYgorKioJcmV0CisqLworVEVTVF9VTklG T1JNX1ogKG5vdF91OF96X3RpZWQxLCBzdnVpbnQ4X3QsCisJCXowID0gc3Zu b3RfdThfeiAocDAsIHowKSwKKwkJejAgPSBzdm5vdF96IChwMCwgejApKQor CisvKgorKiogbm90X3U4X3pfdW50aWVkOgorKioJbW92cHJmeAl6MFwuYiwg cDAveiwgejBcLmIKKyoqCW5vdAl6MFwuYiwgcDAvbSwgejFcLmIKKyoqCXJl dAorKi8KK1RFU1RfVU5JRk9STV9aIChub3RfdThfel91bnRpZWQsIHN2dWlu dDhfdCwKKwkJejAgPSBzdm5vdF91OF96IChwMCwgejEpLAorCQl6MCA9IHN2 bm90X3ogKHAwLCB6MSkpCisKKy8qCisqKiBub3RfdThfeF90aWVkMToKKyoq CW5vdAl6MFwuYiwgcDAvbSwgejBcLmIKKyoqCXJldAorKi8KK1RFU1RfVU5J Rk9STV9aIChub3RfdThfeF90aWVkMSwgc3Z1aW50OF90LAorCQl6MCA9IHN2 bm90X3U4X3ggKHAwLCB6MCksCisJCXowID0gc3Zub3RfeCAocDAsIHowKSkK KworLyoKKyoqIG5vdF91OF94X3VudGllZDoKKyoqCW5vdAl6MlwuYiwgcDAv bSwgejBcLmIKKyoqCXJldAorKi8KK1RFU1RfVU5JRk9STV9aIChub3RfdThf eF91bnRpZWQsIHN2dWludDhfdCwKKwkJejIgPSBzdm5vdF91OF94IChwMCwg ejApLAorCQl6MiA9IHN2bm90X3ggKHAwLCB6MCkpCisKZGlmZiAtLWdpdCBh L2djYy90ZXN0c3VpdGUvZ2NjLnRhcmdldC9hYXJjaDY0L3N2ZS1hY2xlL2Fz bS9zcXJ0X2YxNi5jIGIvZ2NjL3Rlc3RzdWl0ZS9nY2MudGFyZ2V0L2FhcmNo NjQvc3ZlLWFjbGUvYXNtL3NxcnRfZjE2LmMKbmV3IGZpbGUgbW9kZSAxMDA2 NDQKaW5kZXggMDAwMDAwMC4uNTA0NjcyZQotLS0gL2Rldi9udWxsCisrKyBi L2djYy90ZXN0c3VpdGUvZ2NjLnRhcmdldC9hYXJjaDY0L3N2ZS1hY2xlL2Fz bS9zcXJ0X2YxNi5jCkBAIC0wLDAgKzEsMTIyIEBACisvKiB7IGRnLWRvIGNv bXBpbGUgfSAqLworLyogeyBkZy1maW5hbCB7IGNoZWNrLWZ1bmN0aW9uLWJv ZGllcyAiKioiICIiICItRENIRUNLX0FTTSIgfSB9ICovCisKKyNpbmNsdWRl ICJ0ZXN0X3N2ZV9hY2xlLmgiCisKKy8qCisqKiBzcXJ0X2YxNl9tX3RpZWQx MjoKKyoqCWZzcXJ0CXowXC5oLCBwMC9tLCB6MFwuaAorKioJcmV0CisqLwor VEVTVF9VTklGT1JNX1ogKHNxcnRfZjE2X21fdGllZDEyLCBzdmZsb2F0MTZf dCwKKwkJejAgPSBzdnNxcnRfZjE2X20gKHowLCBwMCwgejApLAorCQl6MCA9 IHN2c3FydF9tICh6MCwgcDAsIHowKSkKKworLyoKKyoqIHNxcnRfZjE2X21f dGllZDE6CisqKglmc3FydAl6MFwuaCwgcDAvbSwgejFcLmgKKyoqCXJldAor Ki8KK1RFU1RfVU5JRk9STV9aIChzcXJ0X2YxNl9tX3RpZWQxLCBzdmZsb2F0 MTZfdCwKKwkJejAgPSBzdnNxcnRfZjE2X20gKHowLCBwMCwgejEpLAorCQl6 MCA9IHN2c3FydF9tICh6MCwgcDAsIHoxKSkKKworLyoKKyoqIHNxcnRfZjE2 X21fdGllZDI6CisqKgltb3YJKHpbMC05XSspXC5kLCB6MFwuZAorKioJbW92 cHJmeAl6MCwgejEKKyoqCWZzcXJ0CXowXC5oLCBwMC9tLCBcMVwuaAorKioJ cmV0CisqLworVEVTVF9VTklGT1JNX1ogKHNxcnRfZjE2X21fdGllZDIsIHN2 ZmxvYXQxNl90LAorCQl6MCA9IHN2c3FydF9mMTZfbSAoejEsIHAwLCB6MCks CisJCXowID0gc3ZzcXJ0X20gKHoxLCBwMCwgejApKQorCisvKgorKiogc3Fy dF9mMTZfbV91bnRpZWQ6CisqKgltb3ZwcmZ4CXowLCB6MgorKioJZnNxcnQJ ejBcLmgsIHAwL20sIHoxXC5oCisqKglyZXQKKyovCitURVNUX1VOSUZPUk1f WiAoc3FydF9mMTZfbV91bnRpZWQsIHN2ZmxvYXQxNl90LAorCQl6MCA9IHN2 c3FydF9mMTZfbSAoejIsIHAwLCB6MSksCisJCXowID0gc3ZzcXJ0X20gKHoy LCBwMCwgejEpKQorCisvKgorKiogc3FydF9mMTZfel90aWVkMToKKyoqCW1v dgkoelswLTldKylcLmQsIHowXC5kCisqKgltb3ZwcmZ4CXowXC5oLCBwMC96 LCB6MFwuaAorKioJZnNxcnQJejBcLmgsIHAwL20sIFwxXC5oCisqKglyZXQK KyovCitURVNUX1VOSUZPUk1fWiAoc3FydF9mMTZfel90aWVkMSwgc3ZmbG9h dDE2X3QsCisJCXowID0gc3ZzcXJ0X2YxNl96IChwMCwgejApLAorCQl6MCA9 IHN2c3FydF96IChwMCwgejApKQorCisvKgorKiogc3FydF9mMTZfel91bnRp ZWQ6CisqKgltb3ZwcmZ4CXowXC5oLCBwMC96LCB6MFwuaAorKioJZnNxcnQJ ejBcLmgsIHAwL20sIHoxXC5oCisqKglyZXQKKyovCitURVNUX1VOSUZPUk1f WiAoc3FydF9mMTZfel91bnRpZWQsIHN2ZmxvYXQxNl90LAorCQl6MCA9IHN2 c3FydF9mMTZfeiAocDAsIHoxKSwKKwkJejAgPSBzdnNxcnRfeiAocDAsIHox KSkKKworLyoKKyoqIHNxcnRfZjE2X3hfdGllZDE6CisqKglmc3FydAl6MFwu aCwgcDAvbSwgejBcLmgKKyoqCXJldAorKi8KK1RFU1RfVU5JRk9STV9aIChz cXJ0X2YxNl94X3RpZWQxLCBzdmZsb2F0MTZfdCwKKwkJejAgPSBzdnNxcnRf ZjE2X3ggKHAwLCB6MCksCisJCXowID0gc3ZzcXJ0X3ggKHAwLCB6MCkpCisK Ky8qCisqKiBzcXJ0X2YxNl94X3VudGllZDoKKyoqCWZzcXJ0CXoyXC5oLCBw MC9tLCB6MFwuaAorKioJcmV0CisqLworVEVTVF9VTklGT1JNX1ogKHNxcnRf ZjE2X3hfdW50aWVkLCBzdmZsb2F0MTZfdCwKKwkJejIgPSBzdnNxcnRfZjE2 X3ggKHAwLCB6MCksCisJCXoyID0gc3ZzcXJ0X3ggKHAwLCB6MCkpCisKKy8q CisqKiBwdHJ1ZV9zcXJ0X2YxNl94X3RpZWQxOgorKioJcHRydWUJKHBbMC03 XSlcLmhbXlxuXSoKKyoqCWZzcXJ0CXowXC5oLCBcMS9tLCB6MFwuaAorKioJ cmV0CisqLworVEVTVF9VTklGT1JNX1ogKHB0cnVlX3NxcnRfZjE2X3hfdGll ZDEsIHN2ZmxvYXQxNl90LAorCQl6MCA9IHN2c3FydF9mMTZfeCAoc3ZwdHJ1 ZV9iMTYgKCksIHowKSwKKwkJejAgPSBzdnNxcnRfeCAoc3ZwdHJ1ZV9iMTYg KCksIHowKSkKKworLyoKKyoqIHB0cnVlX3NxcnRfZjE2X3hfdW50aWVkOgor KioJcHRydWUJKHBbMC03XSlcLmhbXlxuXSoKKyoqCWZzcXJ0CXoyXC5oLCBc MS9tLCB6MFwuaAorKioJcmV0CisqLworVEVTVF9VTklGT1JNX1ogKHB0cnVl X3NxcnRfZjE2X3hfdW50aWVkLCBzdmZsb2F0MTZfdCwKKwkJejIgPSBzdnNx cnRfZjE2X3ggKHN2cHRydWVfYjE2ICgpLCB6MCksCisJCXoyID0gc3ZzcXJ0 X3ggKHN2cHRydWVfYjE2ICgpLCB6MCkpCisKKy8qCisqKiBwdHJ1ZV9iOF9z cXJ0X2YxNl94X3RpZWQxOgorKioJcHRydWUJKHBbMC03XSlcLmhbXlxuXSoK KyoqCWZzcXJ0CXowXC5oLCBcMS9tLCB6MFwuaAorKioJcmV0CisqLworVEVT VF9VTklGT1JNX1ogKHB0cnVlX2I4X3NxcnRfZjE2X3hfdGllZDEsIHN2Zmxv YXQxNl90LAorCQl6MCA9IHN2c3FydF9mMTZfeCAoc3ZwdHJ1ZV9iOCAoKSwg ejApLAorCQl6MCA9IHN2c3FydF94IChzdnB0cnVlX2I4ICgpLCB6MCkpCisK Ky8qCisqKiBwdHJ1ZV9iOF9zcXJ0X2YxNl94X3VudGllZDoKKyoqCXB0cnVl CShwWzAtN10pXC5oW15cbl0qCisqKglmc3FydAl6MlwuaCwgXDEvbSwgejBc LmgKKyoqCXJldAorKi8KK1RFU1RfVU5JRk9STV9aIChwdHJ1ZV9iOF9zcXJ0 X2YxNl94X3VudGllZCwgc3ZmbG9hdDE2X3QsCisJCXoyID0gc3ZzcXJ0X2Yx Nl94IChzdnB0cnVlX2I4ICgpLCB6MCksCisJCXoyID0gc3ZzcXJ0X3ggKHN2 cHRydWVfYjggKCksIHowKSkKZGlmZiAtLWdpdCBhL2djYy90ZXN0c3VpdGUv Z2NjLnRhcmdldC9hYXJjaDY0L3N2ZS1hY2xlL2FzbS9zcXJ0X2YzMi5jIGIv Z2NjL3Rlc3RzdWl0ZS9nY2MudGFyZ2V0L2FhcmNoNjQvc3ZlLWFjbGUvYXNt L3NxcnRfZjMyLmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw MC4uYTczODA5NgotLS0gL2Rldi9udWxsCisrKyBiL2djYy90ZXN0c3VpdGUv Z2NjLnRhcmdldC9hYXJjaDY0L3N2ZS1hY2xlL2FzbS9zcXJ0X2YzMi5jCkBA IC0wLDAgKzEsMTIyIEBACisvKiB7IGRnLWRvIGNvbXBpbGUgfSAqLworLyog eyBkZy1maW5hbCB7IGNoZWNrLWZ1bmN0aW9uLWJvZGllcyAiKioiICIiICIt RENIRUNLX0FTTSIgfSB9ICovCisKKyNpbmNsdWRlICJ0ZXN0X3N2ZV9hY2xl LmgiCisKKy8qCisqKiBzcXJ0X2YzMl9tX3RpZWQxMjoKKyoqCWZzcXJ0CXow XC5zLCBwMC9tLCB6MFwucworKioJcmV0CisqLworVEVTVF9VTklGT1JNX1og KHNxcnRfZjMyX21fdGllZDEyLCBzdmZsb2F0MzJfdCwKKwkJejAgPSBzdnNx cnRfZjMyX20gKHowLCBwMCwgejApLAorCQl6MCA9IHN2c3FydF9tICh6MCwg cDAsIHowKSkKKworLyoKKyoqIHNxcnRfZjMyX21fdGllZDE6CisqKglmc3Fy dAl6MFwucywgcDAvbSwgejFcLnMKKyoqCXJldAorKi8KK1RFU1RfVU5JRk9S TV9aIChzcXJ0X2YzMl9tX3RpZWQxLCBzdmZsb2F0MzJfdCwKKwkJejAgPSBz dnNxcnRfZjMyX20gKHowLCBwMCwgejEpLAorCQl6MCA9IHN2c3FydF9tICh6 MCwgcDAsIHoxKSkKKworLyoKKyoqIHNxcnRfZjMyX21fdGllZDI6CisqKglt b3YJKHpbMC05XSspXC5kLCB6MFwuZAorKioJbW92cHJmeAl6MCwgejEKKyoq CWZzcXJ0CXowXC5zLCBwMC9tLCBcMVwucworKioJcmV0CisqLworVEVTVF9V TklGT1JNX1ogKHNxcnRfZjMyX21fdGllZDIsIHN2ZmxvYXQzMl90LAorCQl6 MCA9IHN2c3FydF9mMzJfbSAoejEsIHAwLCB6MCksCisJCXowID0gc3ZzcXJ0 X20gKHoxLCBwMCwgejApKQorCisvKgorKiogc3FydF9mMzJfbV91bnRpZWQ6 CisqKgltb3ZwcmZ4CXowLCB6MgorKioJZnNxcnQJejBcLnMsIHAwL20sIHox XC5zCisqKglyZXQKKyovCitURVNUX1VOSUZPUk1fWiAoc3FydF9mMzJfbV91 bnRpZWQsIHN2ZmxvYXQzMl90LAorCQl6MCA9IHN2c3FydF9mMzJfbSAoejIs IHAwLCB6MSksCisJCXowID0gc3ZzcXJ0X20gKHoyLCBwMCwgejEpKQorCisv KgorKiogc3FydF9mMzJfel90aWVkMToKKyoqCW1vdgkoelswLTldKylcLmQs IHowXC5kCisqKgltb3ZwcmZ4CXowXC5zLCBwMC96LCB6MFwucworKioJZnNx cnQJejBcLnMsIHAwL20sIFwxXC5zCisqKglyZXQKKyovCitURVNUX1VOSUZP Uk1fWiAoc3FydF9mMzJfel90aWVkMSwgc3ZmbG9hdDMyX3QsCisJCXowID0g c3ZzcXJ0X2YzMl96IChwMCwgejApLAorCQl6MCA9IHN2c3FydF96IChwMCwg ejApKQorCisvKgorKiogc3FydF9mMzJfel91bnRpZWQ6CisqKgltb3ZwcmZ4 CXowXC5zLCBwMC96LCB6MFwucworKioJZnNxcnQJejBcLnMsIHAwL20sIHox XC5zCisqKglyZXQKKyovCitURVNUX1VOSUZPUk1fWiAoc3FydF9mMzJfel91 bnRpZWQsIHN2ZmxvYXQzMl90LAorCQl6MCA9IHN2c3FydF9mMzJfeiAocDAs IHoxKSwKKwkJejAgPSBzdnNxcnRfeiAocDAsIHoxKSkKKworLyoKKyoqIHNx cnRfZjMyX3hfdGllZDE6CisqKglmc3FydAl6MFwucywgcDAvbSwgejBcLnMK KyoqCXJldAorKi8KK1RFU1RfVU5JRk9STV9aIChzcXJ0X2YzMl94X3RpZWQx LCBzdmZsb2F0MzJfdCwKKwkJejAgPSBzdnNxcnRfZjMyX3ggKHAwLCB6MCks CisJCXowID0gc3ZzcXJ0X3ggKHAwLCB6MCkpCisKKy8qCisqKiBzcXJ0X2Yz Ml94X3VudGllZDoKKyoqCWZzcXJ0CXoyXC5zLCBwMC9tLCB6MFwucworKioJ cmV0CisqLworVEVTVF9VTklGT1JNX1ogKHNxcnRfZjMyX3hfdW50aWVkLCBz dmZsb2F0MzJfdCwKKwkJejIgPSBzdnNxcnRfZjMyX3ggKHAwLCB6MCksCisJ CXoyID0gc3ZzcXJ0X3ggKHAwLCB6MCkpCisKKy8qCisqKiBwdHJ1ZV9zcXJ0 X2YzMl94X3RpZWQxOgorKioJcHRydWUJKHBbMC03XSlcLnNbXlxuXSoKKyoq CWZzcXJ0CXowXC5zLCBcMS9tLCB6MFwucworKioJcmV0CisqLworVEVTVF9V TklGT1JNX1ogKHB0cnVlX3NxcnRfZjMyX3hfdGllZDEsIHN2ZmxvYXQzMl90 LAorCQl6MCA9IHN2c3FydF9mMzJfeCAoc3ZwdHJ1ZV9iMzIgKCksIHowKSwK KwkJejAgPSBzdnNxcnRfeCAoc3ZwdHJ1ZV9iMzIgKCksIHowKSkKKworLyoK KyoqIHB0cnVlX3NxcnRfZjMyX3hfdW50aWVkOgorKioJcHRydWUJKHBbMC03 XSlcLnNbXlxuXSoKKyoqCWZzcXJ0CXoyXC5zLCBcMS9tLCB6MFwucworKioJ cmV0CisqLworVEVTVF9VTklGT1JNX1ogKHB0cnVlX3NxcnRfZjMyX3hfdW50 aWVkLCBzdmZsb2F0MzJfdCwKKwkJejIgPSBzdnNxcnRfZjMyX3ggKHN2cHRy dWVfYjMyICgpLCB6MCksCisJCXoyID0gc3ZzcXJ0X3ggKHN2cHRydWVfYjMy ICgpLCB6MCkpCisKKy8qCisqKiBwdHJ1ZV9iOF9zcXJ0X2YzMl94X3RpZWQx OgorKioJcHRydWUJKHBbMC03XSlcLnNbXlxuXSoKKyoqCWZzcXJ0CXowXC5z LCBcMS9tLCB6MFwucworKioJcmV0CisqLworVEVTVF9VTklGT1JNX1ogKHB0 cnVlX2I4X3NxcnRfZjMyX3hfdGllZDEsIHN2ZmxvYXQzMl90LAorCQl6MCA9 IHN2c3FydF9mMzJfeCAoc3ZwdHJ1ZV9iOCAoKSwgejApLAorCQl6MCA9IHN2 c3FydF94IChzdnB0cnVlX2I4ICgpLCB6MCkpCisKKy8qCisqKiBwdHJ1ZV9i OF9zcXJ0X2YzMl94X3VudGllZDoKKyoqCXB0cnVlCShwWzAtN10pXC5zW15c bl0qCisqKglmc3FydAl6MlwucywgXDEvbSwgejBcLnMKKyoqCXJldAorKi8K K1RFU1RfVU5JRk9STV9aIChwdHJ1ZV9iOF9zcXJ0X2YzMl94X3VudGllZCwg c3ZmbG9hdDMyX3QsCisJCXoyID0gc3ZzcXJ0X2YzMl94IChzdnB0cnVlX2I4 ICgpLCB6MCksCisJCXoyID0gc3ZzcXJ0X3ggKHN2cHRydWVfYjggKCksIHow KSkKZGlmZiAtLWdpdCBhL2djYy90ZXN0c3VpdGUvZ2NjLnRhcmdldC9hYXJj aDY0L3N2ZS1hY2xlL2FzbS9zcXJ0X2Y2NC5jIGIvZ2NjL3Rlc3RzdWl0ZS9n Y2MudGFyZ2V0L2FhcmNoNjQvc3ZlLWFjbGUvYXNtL3NxcnRfZjY0LmMKbmV3 IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNDc4Njc3OQotLS0g L2Rldi9udWxsCisrKyBiL2djYy90ZXN0c3VpdGUvZ2NjLnRhcmdldC9hYXJj aDY0L3N2ZS1hY2xlL2FzbS9zcXJ0X2Y2NC5jCkBAIC0wLDAgKzEsMTIyIEBA CisvKiB7IGRnLWRvIGNvbXBpbGUgfSAqLworLyogeyBkZy1maW5hbCB7IGNo ZWNrLWZ1bmN0aW9uLWJvZGllcyAiKioiICIiICItRENIRUNLX0FTTSIgfSB9 ICovCisKKyNpbmNsdWRlICJ0ZXN0X3N2ZV9hY2xlLmgiCisKKy8qCisqKiBz cXJ0X2Y2NF9tX3RpZWQxMjoKKyoqCWZzcXJ0CXowXC5kLCBwMC9tLCB6MFwu ZAorKioJcmV0CisqLworVEVTVF9VTklGT1JNX1ogKHNxcnRfZjY0X21fdGll ZDEyLCBzdmZsb2F0NjRfdCwKKwkJejAgPSBzdnNxcnRfZjY0X20gKHowLCBw MCwgejApLAorCQl6MCA9IHN2c3FydF9tICh6MCwgcDAsIHowKSkKKworLyoK KyoqIHNxcnRfZjY0X21fdGllZDE6CisqKglmc3FydAl6MFwuZCwgcDAvbSwg ejFcLmQKKyoqCXJldAorKi8KK1RFU1RfVU5JRk9STV9aIChzcXJ0X2Y2NF9t X3RpZWQxLCBzdmZsb2F0NjRfdCwKKwkJejAgPSBzdnNxcnRfZjY0X20gKHow LCBwMCwgejEpLAorCQl6MCA9IHN2c3FydF9tICh6MCwgcDAsIHoxKSkKKwor LyoKKyoqIHNxcnRfZjY0X21fdGllZDI6CisqKgltb3YJKHpbMC05XSspXC5k LCB6MFwuZAorKioJbW92cHJmeAl6MCwgejEKKyoqCWZzcXJ0CXowXC5kLCBw MC9tLCBcMVwuZAorKioJcmV0CisqLworVEVTVF9VTklGT1JNX1ogKHNxcnRf ZjY0X21fdGllZDIsIHN2ZmxvYXQ2NF90LAorCQl6MCA9IHN2c3FydF9mNjRf bSAoejEsIHAwLCB6MCksCisJCXowID0gc3ZzcXJ0X20gKHoxLCBwMCwgejAp KQorCisvKgorKiogc3FydF9mNjRfbV91bnRpZWQ6CisqKgltb3ZwcmZ4CXow LCB6MgorKioJZnNxcnQJejBcLmQsIHAwL20sIHoxXC5kCisqKglyZXQKKyov CitURVNUX1VOSUZPUk1fWiAoc3FydF9mNjRfbV91bnRpZWQsIHN2ZmxvYXQ2 NF90LAorCQl6MCA9IHN2c3FydF9mNjRfbSAoejIsIHAwLCB6MSksCisJCXow ID0gc3ZzcXJ0X20gKHoyLCBwMCwgejEpKQorCisvKgorKiogc3FydF9mNjRf el90aWVkMToKKyoqCW1vdgkoelswLTldK1wuZCksIHowXC5kCisqKgltb3Zw cmZ4CXowXC5kLCBwMC96LCB6MFwuZAorKioJZnNxcnQJejBcLmQsIHAwL20s IFwxCisqKglyZXQKKyovCitURVNUX1VOSUZPUk1fWiAoc3FydF9mNjRfel90 aWVkMSwgc3ZmbG9hdDY0X3QsCisJCXowID0gc3ZzcXJ0X2Y2NF96IChwMCwg ejApLAorCQl6MCA9IHN2c3FydF96IChwMCwgejApKQorCisvKgorKiogc3Fy dF9mNjRfel91bnRpZWQ6CisqKgltb3ZwcmZ4CXowXC5kLCBwMC96LCB6MFwu ZAorKioJZnNxcnQJejBcLmQsIHAwL20sIHoxXC5kCisqKglyZXQKKyovCitU RVNUX1VOSUZPUk1fWiAoc3FydF9mNjRfel91bnRpZWQsIHN2ZmxvYXQ2NF90 LAorCQl6MCA9IHN2c3FydF9mNjRfeiAocDAsIHoxKSwKKwkJejAgPSBzdnNx cnRfeiAocDAsIHoxKSkKKworLyoKKyoqIHNxcnRfZjY0X3hfdGllZDE6Cisq Kglmc3FydAl6MFwuZCwgcDAvbSwgejBcLmQKKyoqCXJldAorKi8KK1RFU1Rf VU5JRk9STV9aIChzcXJ0X2Y2NF94X3RpZWQxLCBzdmZsb2F0NjRfdCwKKwkJ ejAgPSBzdnNxcnRfZjY0X3ggKHAwLCB6MCksCisJCXowID0gc3ZzcXJ0X3gg KHAwLCB6MCkpCisKKy8qCisqKiBzcXJ0X2Y2NF94X3VudGllZDoKKyoqCWZz cXJ0CXoyXC5kLCBwMC9tLCB6MFwuZAorKioJcmV0CisqLworVEVTVF9VTklG T1JNX1ogKHNxcnRfZjY0X3hfdW50aWVkLCBzdmZsb2F0NjRfdCwKKwkJejIg PSBzdnNxcnRfZjY0X3ggKHAwLCB6MCksCisJCXoyID0gc3ZzcXJ0X3ggKHAw LCB6MCkpCisKKy8qCisqKiBwdHJ1ZV9zcXJ0X2Y2NF94X3RpZWQxOgorKioJ cHRydWUJKHBbMC03XSlcLmRbXlxuXSoKKyoqCWZzcXJ0CXowXC5kLCBcMS9t LCB6MFwuZAorKioJcmV0CisqLworVEVTVF9VTklGT1JNX1ogKHB0cnVlX3Nx cnRfZjY0X3hfdGllZDEsIHN2ZmxvYXQ2NF90LAorCQl6MCA9IHN2c3FydF9m NjRfeCAoc3ZwdHJ1ZV9iNjQgKCksIHowKSwKKwkJejAgPSBzdnNxcnRfeCAo c3ZwdHJ1ZV9iNjQgKCksIHowKSkKKworLyoKKyoqIHB0cnVlX3NxcnRfZjY0 X3hfdW50aWVkOgorKioJcHRydWUJKHBbMC03XSlcLmRbXlxuXSoKKyoqCWZz cXJ0CXoyXC5kLCBcMS9tLCB6MFwuZAorKioJcmV0CisqLworVEVTVF9VTklG T1JNX1ogKHB0cnVlX3NxcnRfZjY0X3hfdW50aWVkLCBzdmZsb2F0NjRfdCwK KwkJejIgPSBzdnNxcnRfZjY0X3ggKHN2cHRydWVfYjY0ICgpLCB6MCksCisJ CXoyID0gc3ZzcXJ0X3ggKHN2cHRydWVfYjY0ICgpLCB6MCkpCisKKy8qCisq KiBwdHJ1ZV9iOF9zcXJ0X2Y2NF94X3RpZWQxOgorKioJcHRydWUJKHBbMC03 XSlcLmRbXlxuXSoKKyoqCWZzcXJ0CXowXC5kLCBcMS9tLCB6MFwuZAorKioJ cmV0CisqLworVEVTVF9VTklGT1JNX1ogKHB0cnVlX2I4X3NxcnRfZjY0X3hf dGllZDEsIHN2ZmxvYXQ2NF90LAorCQl6MCA9IHN2c3FydF9mNjRfeCAoc3Zw dHJ1ZV9iOCAoKSwgejApLAorCQl6MCA9IHN2c3FydF94IChzdnB0cnVlX2I4 ICgpLCB6MCkpCisKKy8qCisqKiBwdHJ1ZV9iOF9zcXJ0X2Y2NF94X3VudGll ZDoKKyoqCXB0cnVlCShwWzAtN10pXC5kW15cbl0qCisqKglmc3FydAl6Mlwu ZCwgXDEvbSwgejBcLmQKKyoqCXJldAorKi8KK1RFU1RfVU5JRk9STV9aIChw dHJ1ZV9iOF9zcXJ0X2Y2NF94X3VudGllZCwgc3ZmbG9hdDY0X3QsCisJCXoy ID0gc3ZzcXJ0X2Y2NF94IChzdnB0cnVlX2I4ICgpLCB6MCksCisJCXoyID0g c3ZzcXJ0X3ggKHN2cHRydWVfYjggKCksIHowKSkKLS0gCjIuNy40Cgo= --00000000000012d2de057f8825b9--