From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 14970 invoked by alias); 18 Jan 2019 04:03:52 -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 14956 invoked by uid 89); 18 Jan 2019 04:03:51 -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-f178.google.com Received: from mail-lj1-f178.google.com (HELO mail-lj1-f178.google.com) (209.85.208.178) by sourceware.org (qpsmtpd/0.93/v0.84-503-g423c35a) with ESMTP; Fri, 18 Jan 2019 04:03:50 +0000 Received: by mail-lj1-f178.google.com with SMTP id c19-v6so10482952lja.5 for ; Thu, 17 Jan 2019 20:03:48 -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:cc; bh=jmihC1sHNFjxQnPi9WO+BlkvB1eV01iiqC+UJIf/Ohw=; b=fzGGGtc2efghSjLGliV8bEaDzFDbVuLIRvzx/cUKAZNsPjgaSUgLz0EAKwRq7oerKm VIGc0YUR5ULKzaVGREMX7zP4DWf8zab31xdoF9zixhMYfwVbR3XNGw/Y7ncxy3HPbw9M PDcShVd5K3OfKM9mnCL64+Kx1t8T0uQEmimZI= MIME-Version: 1.0 From: Kugan Vivekanandarajah Date: Fri, 18 Jan 2019 04:03:00 -0000 Message-ID: Subject: [SVE ACLE] Implements svand, sveor and svorr To: GCC Patches Cc: richard.sandiford@arm.com, Prathamesh Kulkarni Content-Type: multipart/mixed; boundary="00000000000003ab40057fb399c6" X-IsSubscribed: yes X-SW-Source: 2019-01/txt/msg01046.txt.bz2 --00000000000003ab40057fb399c6 Content-Type: text/plain; charset="UTF-8" Content-length: 124 I committed the following patch which implements svand, sveor and svorr to aarch64/sve-acle-branch. branch Thanks, Kugan --00000000000003ab40057fb399c6 Content-Type: application/x-patch; name="0001-SVE-ACLE-Implements-svand-sveor-and-svorr.patch" Content-Disposition: attachment; filename="0001-SVE-ACLE-Implements-svand-sveor-and-svorr.patch" Content-Transfer-Encoding: base64 Content-ID: X-Attachment-Id: f_jr1ieayv0 Content-length: 284175 RnJvbSBjM2IzMGNkYmNmZDI4NjJhMTY3NzM4MzE1ZGM3MWIxM2FhYmNjODMx IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBLdWdhbiBWaXZla2Fu YW5kYXJhamFoIDxrdWdhbi52aXZla2FuYW5kYXJhamFoQGxpbmFyby5vcmc+ CkRhdGU6IEZyaSwgMTggSmFuIDIwMTkgMDg6Mzg6MzEgKzExMDAKU3ViamVj dDogW1BBVENIXSBbU1ZFIEFDTEVdIEltcGxlbWVudHMgc3ZhbmQsIHN2ZW9y IGFuZCBzdm9ycgoKQ2hhbmdlLUlkOiBJMjVlZGFjMTY4NDBmMzgzOWUyMDQ0 MWNjMzk5N2ZjNGZmYWVmNjRlZAotLS0KIGdjYy9jb25maWcvYWFyY2g2NC9h YXJjaDY0LXN2ZS1idWlsdGlucy5jICAgICAgICAgIHwgIDUxICsrKwogZ2Nj L2NvbmZpZy9hYXJjaDY0L2FhcmNoNjQtc3ZlLWJ1aWx0aW5zLmRlZiAgICAg ICAgfCAgIDMgKwogZ2NjL2NvbmZpZy9hYXJjaDY0L2FhcmNoNjQtc3ZlLm1k ICAgICAgICAgICAgICAgICAgfCAgIDggKy0KIC4uLi9nY2MudGFyZ2V0L2Fh cmNoNjQvc3ZlLWFjbGUvYXNtL2FuZF9zMTYuYyAgICAgIHwgMzk3ICsrKysr KysrKysrKysrKysrKysrKwogLi4uL2djYy50YXJnZXQvYWFyY2g2NC9zdmUt YWNsZS9hc20vYW5kX3MzMi5jICAgICAgfCAzOTMgKysrKysrKysrKysrKysr KysrKysKIC4uLi9nY2MudGFyZ2V0L2FhcmNoNjQvc3ZlLWFjbGUvYXNtL2Fu ZF9zNjQuYyAgICAgIHwgMzkzICsrKysrKysrKysrKysrKysrKysrCiAuLi4v Z2NjLnRhcmdldC9hYXJjaDY0L3N2ZS1hY2xlL2FzbS9hbmRfczguYyAgICAg ICB8IDMxNSArKysrKysrKysrKysrKysrCiAuLi4vZ2NjLnRhcmdldC9hYXJj aDY0L3N2ZS1hY2xlL2FzbS9hbmRfdTE2LmMgICAgICB8IDM5NyArKysrKysr KysrKysrKysrKysrKysKIC4uLi9nY2MudGFyZ2V0L2FhcmNoNjQvc3ZlLWFj bGUvYXNtL2FuZF91MzIuYyAgICAgIHwgMzkzICsrKysrKysrKysrKysrKysr KysrCiAuLi4vZ2NjLnRhcmdldC9hYXJjaDY0L3N2ZS1hY2xlL2FzbS9hbmRf dTY0LmMgICAgICB8IDM5MyArKysrKysrKysrKysrKysrKysrKwogLi4uL2dj Yy50YXJnZXQvYWFyY2g2NC9zdmUtYWNsZS9hc20vYW5kX3U4LmMgICAgICAg fCAzMTUgKysrKysrKysrKysrKysrKwogLi4uL2djYy50YXJnZXQvYWFyY2g2 NC9zdmUtYWNsZS9hc20vZW9yX3MxNi5jICAgICAgfCAzOTcgKysrKysrKysr KysrKysrKysrKysrCiAuLi4vZ2NjLnRhcmdldC9hYXJjaDY0L3N2ZS1hY2xl L2FzbS9lb3JfczMyLmMgICAgICB8IDM5MyArKysrKysrKysrKysrKysrKysr KwogLi4uL2djYy50YXJnZXQvYWFyY2g2NC9zdmUtYWNsZS9hc20vZW9yX3M2 NC5jICAgICAgfCAzOTMgKysrKysrKysrKysrKysrKysrKysKIC4uLi9nY2Mu dGFyZ2V0L2FhcmNoNjQvc3ZlLWFjbGUvYXNtL2Vvcl9zOC5jICAgICAgIHwg MzE3ICsrKysrKysrKysrKysrKysKIC4uLi9nY2MudGFyZ2V0L2FhcmNoNjQv c3ZlLWFjbGUvYXNtL2Vvcl91MTYuYyAgICAgIHwgMzk3ICsrKysrKysrKysr KysrKysrKysrKwogLi4uL2djYy50YXJnZXQvYWFyY2g2NC9zdmUtYWNsZS9h c20vZW9yX3UzMi5jICAgICAgfCAzOTMgKysrKysrKysrKysrKysrKysrKysK IC4uLi9nY2MudGFyZ2V0L2FhcmNoNjQvc3ZlLWFjbGUvYXNtL2Vvcl91NjQu YyAgICAgIHwgMzkzICsrKysrKysrKysrKysrKysrKysrCiAuLi4vZ2NjLnRh cmdldC9hYXJjaDY0L3N2ZS1hY2xlL2FzbS9lb3JfdTguYyAgICAgICB8IDMx NyArKysrKysrKysrKysrKysrCiAuLi4vZ2NjLnRhcmdldC9hYXJjaDY0L3N2 ZS1hY2xlL2FzbS9vcnJfczE2LmMgICAgICB8IDM5NyArKysrKysrKysrKysr KysrKysrKysKIC4uLi9nY2MudGFyZ2V0L2FhcmNoNjQvc3ZlLWFjbGUvYXNt L29ycl9zMzIuYyAgICAgIHwgMzkzICsrKysrKysrKysrKysrKysrKysrCiAu Li4vZ2NjLnRhcmdldC9hYXJjaDY0L3N2ZS1hY2xlL2FzbS9vcnJfczY0LmMg ICAgICB8IDM5MyArKysrKysrKysrKysrKysrKysrKwogLi4uL2djYy50YXJn ZXQvYWFyY2g2NC9zdmUtYWNsZS9hc20vb3JyX3M4LmMgICAgICAgfCAzMTYg KysrKysrKysrKysrKysrKwogLi4uL2djYy50YXJnZXQvYWFyY2g2NC9zdmUt YWNsZS9hc20vb3JyX3UxNi5jICAgICAgfCAzOTcgKysrKysrKysrKysrKysr KysrKysrCiAuLi4vZ2NjLnRhcmdldC9hYXJjaDY0L3N2ZS1hY2xlL2FzbS9v cnJfdTMyLmMgICAgICB8IDM5MyArKysrKysrKysrKysrKysrKysrKwogLi4u L2djYy50YXJnZXQvYWFyY2g2NC9zdmUtYWNsZS9hc20vb3JyX3U2NC5jICAg ICAgfCAzOTMgKysrKysrKysrKysrKysrKysrKysKIC4uLi9nY2MudGFyZ2V0 L2FhcmNoNjQvc3ZlLWFjbGUvYXNtL29ycl91OC5jICAgICAgIHwgMzE2ICsr KysrKysrKysrKysrKysKIDI3IGZpbGVzIGNoYW5nZWQsIDkwNTMgaW5zZXJ0 aW9ucygrKSwgMyBkZWxldGlvbnMoLSkKIGNyZWF0ZSBtb2RlIDEwMDY0NCBn Y2MvdGVzdHN1aXRlL2djYy50YXJnZXQvYWFyY2g2NC9zdmUtYWNsZS9hc20v YW5kX3MxNi5jCiBjcmVhdGUgbW9kZSAxMDA2NDQgZ2NjL3Rlc3RzdWl0ZS9n Y2MudGFyZ2V0L2FhcmNoNjQvc3ZlLWFjbGUvYXNtL2FuZF9zMzIuYwogY3Jl YXRlIG1vZGUgMTAwNjQ0IGdjYy90ZXN0c3VpdGUvZ2NjLnRhcmdldC9hYXJj aDY0L3N2ZS1hY2xlL2FzbS9hbmRfczY0LmMKIGNyZWF0ZSBtb2RlIDEwMDY0 NCBnY2MvdGVzdHN1aXRlL2djYy50YXJnZXQvYWFyY2g2NC9zdmUtYWNsZS9h c20vYW5kX3M4LmMKIGNyZWF0ZSBtb2RlIDEwMDY0NCBnY2MvdGVzdHN1aXRl L2djYy50YXJnZXQvYWFyY2g2NC9zdmUtYWNsZS9hc20vYW5kX3UxNi5jCiBj cmVhdGUgbW9kZSAxMDA2NDQgZ2NjL3Rlc3RzdWl0ZS9nY2MudGFyZ2V0L2Fh cmNoNjQvc3ZlLWFjbGUvYXNtL2FuZF91MzIuYwogY3JlYXRlIG1vZGUgMTAw NjQ0IGdjYy90ZXN0c3VpdGUvZ2NjLnRhcmdldC9hYXJjaDY0L3N2ZS1hY2xl L2FzbS9hbmRfdTY0LmMKIGNyZWF0ZSBtb2RlIDEwMDY0NCBnY2MvdGVzdHN1 aXRlL2djYy50YXJnZXQvYWFyY2g2NC9zdmUtYWNsZS9hc20vYW5kX3U4LmMK IGNyZWF0ZSBtb2RlIDEwMDY0NCBnY2MvdGVzdHN1aXRlL2djYy50YXJnZXQv YWFyY2g2NC9zdmUtYWNsZS9hc20vZW9yX3MxNi5jCiBjcmVhdGUgbW9kZSAx MDA2NDQgZ2NjL3Rlc3RzdWl0ZS9nY2MudGFyZ2V0L2FhcmNoNjQvc3ZlLWFj bGUvYXNtL2Vvcl9zMzIuYwogY3JlYXRlIG1vZGUgMTAwNjQ0IGdjYy90ZXN0 c3VpdGUvZ2NjLnRhcmdldC9hYXJjaDY0L3N2ZS1hY2xlL2FzbS9lb3JfczY0 LmMKIGNyZWF0ZSBtb2RlIDEwMDY0NCBnY2MvdGVzdHN1aXRlL2djYy50YXJn ZXQvYWFyY2g2NC9zdmUtYWNsZS9hc20vZW9yX3M4LmMKIGNyZWF0ZSBtb2Rl IDEwMDY0NCBnY2MvdGVzdHN1aXRlL2djYy50YXJnZXQvYWFyY2g2NC9zdmUt YWNsZS9hc20vZW9yX3UxNi5jCiBjcmVhdGUgbW9kZSAxMDA2NDQgZ2NjL3Rl c3RzdWl0ZS9nY2MudGFyZ2V0L2FhcmNoNjQvc3ZlLWFjbGUvYXNtL2Vvcl91 MzIuYwogY3JlYXRlIG1vZGUgMTAwNjQ0IGdjYy90ZXN0c3VpdGUvZ2NjLnRh cmdldC9hYXJjaDY0L3N2ZS1hY2xlL2FzbS9lb3JfdTY0LmMKIGNyZWF0ZSBt b2RlIDEwMDY0NCBnY2MvdGVzdHN1aXRlL2djYy50YXJnZXQvYWFyY2g2NC9z dmUtYWNsZS9hc20vZW9yX3U4LmMKIGNyZWF0ZSBtb2RlIDEwMDY0NCBnY2Mv dGVzdHN1aXRlL2djYy50YXJnZXQvYWFyY2g2NC9zdmUtYWNsZS9hc20vb3Jy X3MxNi5jCiBjcmVhdGUgbW9kZSAxMDA2NDQgZ2NjL3Rlc3RzdWl0ZS9nY2Mu dGFyZ2V0L2FhcmNoNjQvc3ZlLWFjbGUvYXNtL29ycl9zMzIuYwogY3JlYXRl IG1vZGUgMTAwNjQ0IGdjYy90ZXN0c3VpdGUvZ2NjLnRhcmdldC9hYXJjaDY0 L3N2ZS1hY2xlL2FzbS9vcnJfczY0LmMKIGNyZWF0ZSBtb2RlIDEwMDY0NCBn Y2MvdGVzdHN1aXRlL2djYy50YXJnZXQvYWFyY2g2NC9zdmUtYWNsZS9hc20v b3JyX3M4LmMKIGNyZWF0ZSBtb2RlIDEwMDY0NCBnY2MvdGVzdHN1aXRlL2dj Yy50YXJnZXQvYWFyY2g2NC9zdmUtYWNsZS9hc20vb3JyX3UxNi5jCiBjcmVh dGUgbW9kZSAxMDA2NDQgZ2NjL3Rlc3RzdWl0ZS9nY2MudGFyZ2V0L2FhcmNo NjQvc3ZlLWFjbGUvYXNtL29ycl91MzIuYwogY3JlYXRlIG1vZGUgMTAwNjQ0 IGdjYy90ZXN0c3VpdGUvZ2NjLnRhcmdldC9hYXJjaDY0L3N2ZS1hY2xlL2Fz bS9vcnJfdTY0LmMKIGNyZWF0ZSBtb2RlIDEwMDY0NCBnY2MvdGVzdHN1aXRl L2djYy50YXJnZXQvYWFyY2g2NC9zdmUtYWNsZS9hc20vb3JyX3U4LmMKCmRp ZmYgLS1naXQgYS9nY2MvY29uZmlnL2FhcmNoNjQvYWFyY2g2NC1zdmUtYnVp bHRpbnMuYyBiL2djYy9jb25maWcvYWFyY2g2NC9hYXJjaDY0LXN2ZS1idWls dGlucy5jCmluZGV4IGIxZGVlZTkuLjM1ZWQ1MzEgMTAwNjQ0Ci0tLSBhL2dj Yy9jb25maWcvYWFyY2g2NC9hYXJjaDY0LXN2ZS1idWlsdGlucy5jCisrKyBi L2djYy9jb25maWcvYWFyY2g2NC9hYXJjaDY0LXN2ZS1idWlsdGlucy5jCkBA IC0xNTcsMTAgKzE1NywxMiBAQCBlbnVtIGZ1bmN0aW9uIHsKICAgRlVOQ19z dmFicywKICAgRlVOQ19zdmFiZCwKICAgRlVOQ19zdmFkZCwKKyAgRlVOQ19z dmFuZCwKICAgRlVOQ19zdmFzcmQsCiAgIEZVTkNfc3ZkaXYsCiAgIEZVTkNf c3ZkaXZyLAogICBGVU5DX3N2ZHVwLAorICBGVU5DX3N2ZW9yLAogICBGVU5D X3N2aW5kZXgsCiAgIEZVTkNfc3ZtYXgsCiAgIEZVTkNfc3ZtYWQsCkBAIC0x NzIsNiArMTc0LDcgQEAgZW51bSBmdW5jdGlvbiB7CiAgIEZVTkNfc3ZtdWxo LAogICBGVU5DX3N2bmVnLAogICBGVU5DX3N2bm90LAorICBGVU5DX3N2b3Jy LAogICBGVU5DX3N2cHRydWUsCiAgIEZVTkNfc3ZxYWRkLAogICBGVU5DX3N2 cXN1YiwKQEAgLTQ1Myw5ICs0NTYsMTEgQEAgcHJpdmF0ZToKICAgcnR4IGV4 cGFuZF9hYmQgKCk7CiAgIHJ0eCBleHBhbmRfYWJzICgpOwogICBydHggZXhw YW5kX2FkZCAodW5zaWduZWQgaW50KTsKKyAgcnR4IGV4cGFuZF9hbmQgKCk7 CiAgIHJ0eCBleHBhbmRfYXNyZCAoKTsKICAgcnR4IGV4cGFuZF9kaXYgKGJv b2wpOwogICBydHggZXhwYW5kX2R1cCAoKTsKKyAgcnR4IGV4cGFuZF9lb3Ig KCk7CiAgIHJ0eCBleHBhbmRfaW5kZXggKCk7CiAgIHJ0eCBleHBhbmRfbWF4 ICgpOwogICBydHggZXhwYW5kX21pbiAoKTsKQEAgLTQ2Nyw2ICs0NzIsNyBA QCBwcml2YXRlOgogICBydHggZXhwYW5kX211bGggKCk7CiAgIHJ0eCBleHBh bmRfbmVnICgpOwogICBydHggZXhwYW5kX25vdCAoKTsKKyAgcnR4IGV4cGFu ZF9vcnIgKCk7CiAgIHJ0eCBleHBhbmRfcHRydWUgKCk7CiAgIHJ0eCBleHBh bmRfcWFkZCAoKTsKICAgcnR4IGV4cGFuZF9xc3ViICgpOwpAQCAtMTA3OCwx MCArMTA4NCwxMiBAQCBhcm1fc3ZlX2hfYnVpbGRlcjo6Z2V0X2F0dHJpYnV0 ZXMgKGNvbnN0IGZ1bmN0aW9uX2luc3RhbmNlICZpbnN0YW5jZSkKICAgICBj YXNlIEZVTkNfc3ZhYmQ6CiAgICAgY2FzZSBGVU5DX3N2YWJzOgogICAgIGNh c2UgRlVOQ19zdmFkZDoKKyAgICBjYXNlIEZVTkNfc3ZhbmQ6CiAgICAgY2Fz ZSBGVU5DX3N2YXNyZDoKICAgICBjYXNlIEZVTkNfc3ZkaXY6CiAgICAgY2Fz ZSBGVU5DX3N2ZGl2cjoKICAgICBjYXNlIEZVTkNfc3ZkdXA6CisgICAgY2Fz ZSBGVU5DX3N2ZW9yOgogICAgIGNhc2UgRlVOQ19zdmluZGV4OgogICAgIGNh c2UgRlVOQ19zdm1heDoKICAgICBjYXNlIEZVTkNfc3ZtYWQ6CkBAIC0xMDkz LDYgKzExMDEsNyBAQCBhcm1fc3ZlX2hfYnVpbGRlcjo6Z2V0X2F0dHJpYnV0 ZXMgKGNvbnN0IGZ1bmN0aW9uX2luc3RhbmNlICZpbnN0YW5jZSkKICAgICBj YXNlIEZVTkNfc3ZtdWxoOgogICAgIGNhc2UgRlVOQ19zdm5lZzoKICAgICBj YXNlIEZVTkNfc3Zub3Q6CisgICAgY2FzZSBGVU5DX3N2b3JyOgogICAgIGNh c2UgRlVOQ19zdnFhZGQ6CiAgICAgY2FzZSBGVU5DX3N2cXN1YjoKICAgICBj YXNlIEZVTkNfc3ZzcXJ0OgpAQCAtMTY5MSwxMCArMTcwMCwxMiBAQCBnaW1w bGVfZm9sZGVyOjpmb2xkICgpCiAgICAgY2FzZSBGVU5DX3N2YWJkOgogICAg IGNhc2UgRlVOQ19zdmFiczoKICAgICBjYXNlIEZVTkNfc3ZhZGQ6CisgICAg Y2FzZSBGVU5DX3N2YW5kOgogICAgIGNhc2UgRlVOQ19zdmFzcmQ6CiAgICAg Y2FzZSBGVU5DX3N2ZGl2OgogICAgIGNhc2UgRlVOQ19zdmRpdnI6CiAgICAg Y2FzZSBGVU5DX3N2ZHVwOgorICAgIGNhc2UgRlVOQ19zdmVvcjoKICAgICBj YXNlIEZVTkNfc3ZpbmRleDoKICAgICBjYXNlIEZVTkNfc3ZtYXg6CiAgICAg Y2FzZSBGVU5DX3N2bWFkOgpAQCAtMTcwNiw2ICsxNzE3LDcgQEAgZ2ltcGxl X2ZvbGRlcjo6Zm9sZCAoKQogICAgIGNhc2UgRlVOQ19zdm11bGg6CiAgICAg Y2FzZSBGVU5DX3N2bmVnOgogICAgIGNhc2UgRlVOQ19zdm5vdDoKKyAgICBj YXNlIEZVTkNfc3ZvcnI6CiAgICAgY2FzZSBGVU5DX3N2cWFkZDoKICAgICBj YXNlIEZVTkNfc3Zxc3ViOgogICAgIGNhc2UgRlVOQ19zdnNxcnQ6CkBAIC0x Nzc2LDYgKzE3ODgsOSBAQCBmdW5jdGlvbl9leHBhbmRlcjo6ZXhwYW5kICgp CiAgICAgY2FzZSBGVU5DX3N2YWRkOgogICAgICAgcmV0dXJuIGV4cGFuZF9h ZGQgKDEpOwogCisgICAgY2FzZSBGVU5DX3N2YW5kOgorICAgICAgcmV0dXJu IGV4cGFuZF9hbmQgKCk7CisKICAgICBjYXNlIEZVTkNfc3Zhc3JkOgogICAg ICAgcmV0dXJuIGV4cGFuZF9hc3JkICgpOwogCkBAIC0xNzg4LDYgKzE4MDMs OSBAQCBmdW5jdGlvbl9leHBhbmRlcjo6ZXhwYW5kICgpCiAgICAgY2FzZSBG VU5DX3N2ZHVwOgogICAgICAgcmV0dXJuIGV4cGFuZF9kdXAgKCk7CiAKKyAg ICBjYXNlIEZVTkNfc3Zlb3I6CisgICAgICByZXR1cm4gZXhwYW5kX2VvciAo KTsKKwogICAgIGNhc2UgRlVOQ19zdmluZGV4OgogICAgICAgcmV0dXJuIGV4 cGFuZF9pbmRleCAoKTsKIApAQCAtMTgyMSw2ICsxODM5LDkgQEAgZnVuY3Rp b25fZXhwYW5kZXI6OmV4cGFuZCAoKQogICAgIGNhc2UgRlVOQ19zdm5vdDoK ICAgICAgIHJldHVybiBleHBhbmRfbm90ICgpOwogCisgICAgY2FzZSBGVU5D X3N2b3JyOgorICAgICAgcmV0dXJuIGV4cGFuZF9vcnIgKCk7CisKICAgICBj YXNlIEZVTkNfc3ZwdHJ1ZToKICAgICAgIHJldHVybiBleHBhbmRfcHRydWUg KCk7CiAKQEAgLTE4NzgsNiArMTg5OSwxNiBAQCBmdW5jdGlvbl9leHBhbmRl cjo6ZXhwYW5kX2FkZCAodW5zaWduZWQgaW50IG1lcmdlX2FyZ25vKQogICBy ZXR1cm4gZXhwYW5kX3ZpYV9wcmVkX2RpcmVjdF9vcHRhYiAoY29uZF9hZGRf b3B0YWIsIG1lcmdlX2FyZ25vKTsKIH0KIAorLyogRXhwYW5kIGEgY2FsbCB0 byBzdmFuZC4gICovCitydHgKK2Z1bmN0aW9uX2V4cGFuZGVyOjpleHBhbmRf YW5kICgpCit7CisgIGlmIChtX2ZpLnByZWQgPT0gUFJFRF94KQorICAgIHJl dHVybiBleHBhbmRfdmlhX3VucHJlZF9kaXJlY3Rfb3B0YWIgKGFuZF9vcHRh Yik7CisgIGVsc2UKKyAgICByZXR1cm4gZXhwYW5kX3ZpYV9wcmVkX2RpcmVj dF9vcHRhYiAoY29uZF9hbmRfb3B0YWIpOworfQorCiAvKiBFeHBhbmQgYSBj YWxsIHRvIHN2YXNyZC4gICovCiBydHgKIGZ1bmN0aW9uX2V4cGFuZGVyOjpl eHBhbmRfYXNyZCAoKQpAQCAtMTkxOCw2ICsxOTQ5LDE2IEBAIGZ1bmN0aW9u X2V4cGFuZGVyOjpleHBhbmRfZHVwICgpCiAgICAgfQogfQogCisvKiBFeHBh bmQgYSBjYWxsIHRvIHN2ZW9yLiAgKi8KK3J0eAorZnVuY3Rpb25fZXhwYW5k ZXI6OmV4cGFuZF9lb3IgKCkKK3sKKyAgaWYgKG1fZmkucHJlZCA9PSBQUkVE X3gpCisgICAgcmV0dXJuIGV4cGFuZF92aWFfdW5wcmVkX2RpcmVjdF9vcHRh YiAoeG9yX29wdGFiKTsKKyAgZWxzZQorICAgIHJldHVybiBleHBhbmRfdmlh X3ByZWRfZGlyZWN0X29wdGFiIChjb25kX3hvcl9vcHRhYik7Cit9CisKIC8q IEV4cGFuZCBhIGNhbGwgdG8gc3ZpbmRleC4gICovCiBydHgKIGZ1bmN0aW9u X2V4cGFuZGVyOjpleHBhbmRfaW5kZXggKCkKQEAgLTIwNzUsNiArMjExNiwx NiBAQCBmdW5jdGlvbl9leHBhbmRlcjo6ZXhwYW5kX3FzdWIgKCkKICAgcmV0 dXJuIGV4cGFuZF92aWFfc2lnbmVkX3VucHJlZF9pbnNuIChTU19NSU5VUywg VVNfTUlOVVMpOwogfQogCisvKiBFeHBhbmQgYSBjYWxsIHRvIHN2b3JyLiAg Ki8KK3J0eAorZnVuY3Rpb25fZXhwYW5kZXI6OmV4cGFuZF9vcnIgKCkKK3sK KyAgaWYgKG1fZmkucHJlZCA9PSBQUkVEX3gpCisgICAgcmV0dXJuIGV4cGFu ZF92aWFfdW5wcmVkX2RpcmVjdF9vcHRhYiAoaW9yX29wdGFiKTsKKyAgZWxz ZQorICAgIHJldHVybiBleHBhbmRfdmlhX3ByZWRfZGlyZWN0X29wdGFiIChj b25kX2lvcl9vcHRhYik7Cit9CisKIC8qIEV4cGFuZCBhIGNhbGwgdG8gc3Zw dHJ1ZS4gICovCiBydHgKIGZ1bmN0aW9uX2V4cGFuZGVyOjpleHBhbmRfcHRy dWUgKCkKZGlmZiAtLWdpdCBhL2djYy9jb25maWcvYWFyY2g2NC9hYXJjaDY0 LXN2ZS1idWlsdGlucy5kZWYgYi9nY2MvY29uZmlnL2FhcmNoNjQvYWFyY2g2 NC1zdmUtYnVpbHRpbnMuZGVmCmluZGV4IDJkODQwZGEuLmI4NTVlOTUgMTAw NjQ0Ci0tLSBhL2djYy9jb25maWcvYWFyY2g2NC9hYXJjaDY0LXN2ZS1idWls dGlucy5kZWYKKysrIGIvZ2NjL2NvbmZpZy9hYXJjaDY0L2FhcmNoNjQtc3Zl LWJ1aWx0aW5zLmRlZgpAQCAtNjMsMTAgKzYzLDEyIEBAIERFRl9TVkVfVFlQ RV9TVUZGSVggKHU2NCwgc3Z1aW50NjRfdCwgNjQpCiBERUZfU1ZFX0ZVTkNU SU9OIChzdmFiZCwgYmluYXJ5X29wdF9uLCBhbGxfZGF0YSwgbXh6KQogREVG X1NWRV9GVU5DVElPTiAoc3ZhYnMsIHVuYXJ5LCBhbGxfc2lnbmVkX2FuZF9m bG9hdCwgbXh6KQogREVGX1NWRV9GVU5DVElPTiAoc3ZhZGQsIGJpbmFyeV9v cHRfbiwgYWxsX2RhdGEsIG14eikKK0RFRl9TVkVfRlVOQ1RJT04gKHN2YW5k LCBiaW5hcnlfb3B0X24sIGFsbF9pbnRlZ2VyLCBteHopCiBERUZfU1ZFX0ZV TkNUSU9OIChzdmFzcmQsIHNoaWZ0X3JpZ2h0X2ltbSwgYWxsX3NpZ25lZCwg bXh6KQogREVGX1NWRV9GVU5DVElPTiAoc3ZkaXYsIGJpbmFyeV9vcHRfbiwg YWxsX3NkaV9hbmRfZmxvYXQsIG14eikKIERFRl9TVkVfRlVOQ1RJT04gKHN2 ZGl2ciwgYmluYXJ5X29wdF9uLCBhbGxfc2RpX2FuZF9mbG9hdCwgbXh6KQog REVGX1NWRV9GVU5DVElPTiAoc3ZkdXAsIHVuYXJ5X24sIGFsbF9kYXRhLCBt eHpub25lKQorREVGX1NWRV9GVU5DVElPTiAoc3Zlb3IsIGJpbmFyeV9vcHRf biwgYWxsX2ludGVnZXIsIG14eikKIERFRl9TVkVfRlVOQ1RJT04gKHN2aW5k ZXgsIGJpbmFyeV9zY2FsYXIsIGFsbF9kYXRhLCBub25lKQogREVGX1NWRV9G VU5DVElPTiAoc3ZtYXgsIGJpbmFyeV9vcHRfbiwgYWxsX2RhdGEsIG14eikK IERFRl9TVkVfRlVOQ1RJT04gKHN2bWluLCBiaW5hcnlfb3B0X24sIGFsbF9k YXRhLCBteHopCkBAIC03Nyw2ICs3OSw3IEBAIERFRl9TVkVfRlVOQ1RJT04g KHN2bWxzLCB0ZXJuYXJ5X29wdF9uLCBhbGxfZGF0YSwgbXh6KQogREVGX1NW RV9GVU5DVElPTiAoc3ZtdWwsIGJpbmFyeV9vcHRfbiwgYWxsX2RhdGEsIG14 eikKIERFRl9TVkVfRlVOQ1RJT04gKHN2bmVnLCB1bmFyeSwgYWxsX3NpZ25l ZF9hbmRfZmxvYXQsIG14eikKIERFRl9TVkVfRlVOQ1RJT04gKHN2bm90LCB1 bmFyeSwgYWxsX2ludGVnZXIsIG14eikKK0RFRl9TVkVfRlVOQ1RJT04gKHN2 b3JyLCBiaW5hcnlfb3B0X24sIGFsbF9pbnRlZ2VyLCBteHopCiBERUZfU1ZF X0ZVTkNUSU9OIChzdnB0cnVlLCBpbmhlcmVudCwgYWxsX3ByZWQsIG5vbmUp CiBERUZfU1ZFX0ZVTkNUSU9OIChzdnFhZGQsIGJpbmFyeV9vcHRfbiwgYWxs X2RhdGEsIG5vbmUpCiBERUZfU1ZFX0ZVTkNUSU9OIChzdnFzdWIsIGJpbmFy eV9vcHRfbiwgYWxsX2RhdGEsIG5vbmUpCmRpZmYgLS1naXQgYS9nY2MvY29u ZmlnL2FhcmNoNjQvYWFyY2g2NC1zdmUubWQgYi9nY2MvY29uZmlnL2FhcmNo NjQvYWFyY2g2NC1zdmUubWQKaW5kZXggNjk0NGQyYi4uNDJhNzdkZCAxMDA2 NDQKLS0tIGEvZ2NjL2NvbmZpZy9hYXJjaDY0L2FhcmNoNjQtc3ZlLm1kCisr KyBiL2djYy9jb25maWcvYWFyY2g2NC9hYXJjaDY0LXN2ZS5tZApAQCAtMTM0 OCwxNCArMTM0OCwxNiBAQAogCiA7OyBWZWN0b3IgQU5ELCBPUlIgYW5kIFhP Ui4KIChkZWZpbmVfaW5zbiAiPG9wdGFiPjxtb2RlPjMiCi0gIFsoc2V0ICht YXRjaF9vcGVyYW5kOlNWRV9JIDAgInJlZ2lzdGVyX29wZXJhbmQiICI9dywg dyIpCisgIFsoc2V0IChtYXRjaF9vcGVyYW5kOlNWRV9JIDAgInJlZ2lzdGVy X29wZXJhbmQiICI9dywgP3csIHciKQogCShMT0dJQ0FMOlNWRV9JCi0JICAo bWF0Y2hfb3BlcmFuZDpTVkVfSSAxICJyZWdpc3Rlcl9vcGVyYW5kIiAiJTAs IHciKQotCSAgKG1hdGNoX29wZXJhbmQ6U1ZFX0kgMiAiYWFyY2g2NF9zdmVf bG9naWNhbF9vcGVyYW5kIiAidnNsLCB3IikpKV0KKwkgIChtYXRjaF9vcGVy YW5kOlNWRV9JIDEgInJlZ2lzdGVyX29wZXJhbmQiICIlMCwgdywgdyIpCisJ ICAobWF0Y2hfb3BlcmFuZDpTVkVfSSAyICJhYXJjaDY0X3N2ZV9sb2dpY2Fs X29wZXJhbmQiICJ2c2wsIHZzbCwgdyIpKSldCiAgICJUQVJHRVRfU1ZFIgog ICAiQAogICAgPGxvZ2ljYWw+XHQlMC48VmV0eXBlPiwgJTAuPFZldHlwZT4s ICMlQzIKKyAgIG1vdnByZnhcdCUwLCAlMVw7PGxvZ2ljYWw+XHQlMC48VmV0 eXBlPiwgJTAuPFZldHlwZT4sICMlQzIKICAgIDxsb2dpY2FsPlx0JTAuZCwg JTEuZCwgJTIuZCIKKyAgWyhzZXRfYXR0ciAibW92cHJmeCIgIioseWVzLCoi KV0KICkKIAogOzsgVmVjdG9yIEFORCwgT1JSIGFuZCBYT1Igb24gZmxvYXRp bmctcG9pbnQgbW9kZXMuICBXZSBhdm9pZCBzdWJyZWdzCmRpZmYgLS1naXQg YS9nY2MvdGVzdHN1aXRlL2djYy50YXJnZXQvYWFyY2g2NC9zdmUtYWNsZS9h c20vYW5kX3MxNi5jIGIvZ2NjL3Rlc3RzdWl0ZS9nY2MudGFyZ2V0L2FhcmNo NjQvc3ZlLWFjbGUvYXNtL2FuZF9zMTYuYwpuZXcgZmlsZSBtb2RlIDEwMDY0 NAppbmRleCAwMDAwMDAwLi5jM2NmNjFhCi0tLSAvZGV2L251bGwKKysrIGIv Z2NjL3Rlc3RzdWl0ZS9nY2MudGFyZ2V0L2FhcmNoNjQvc3ZlLWFjbGUvYXNt L2FuZF9zMTYuYwpAQCAtMCwwICsxLDM5NyBAQAorLyogeyBkZy1kbyBjb21w aWxlIH0gKi8KKy8qIHsgZGctZmluYWwgeyBjaGVjay1mdW5jdGlvbi1ib2Rp ZXMgIioqIiAiIiAiLURDSEVDS19BU00iIH0gfSAqLworCisjaW5jbHVkZSAi dGVzdF9zdmVfYWNsZS5oIgorCisvKgorKiogYW5kX3MxNl9tX3RpZWQxOgor KioJYW5kCXowXC5oLCBwMC9tLCB6MFwuaCwgejFcLmgKKyoqCXJldAorKi8K K1RFU1RfVU5JRk9STV9aIChhbmRfczE2X21fdGllZDEsIHN2aW50MTZfdCwK KwkJejAgPSBzdmFuZF9zMTZfbSAocDAsIHowLCB6MSksCisJCXowID0gc3Zh bmRfbSAocDAsIHowLCB6MSkpCisKKy8qIEJhZCBSQSBjaG9pY2U6IG5vIHBy ZWZlcnJlZCBvdXRwdXQgc2VxdWVuY2UuICAqLworVEVTVF9VTklGT1JNX1og KGFuZF9zMTZfbV90aWVkMiwgc3ZpbnQxNl90LAorCQl6MSA9IHN2YW5kX3Mx Nl9tIChwMCwgejAsIHoxKSwKKwkJejEgPSBzdmFuZF9tIChwMCwgejAsIHox KSkKKworLyoKKyoqIGFuZF9zMTZfbV91bnRpZWQ6CisqKgltb3ZwcmZ4CXow LCB6MQorKioJYW5kCXowXC5oLCBwMC9tLCB6MFwuaCwgejJcLmgKKyoqCXJl dAorKi8KK1RFU1RfVU5JRk9STV9aIChhbmRfczE2X21fdW50aWVkLCBzdmlu dDE2X3QsCisJCXowID0gc3ZhbmRfczE2X20gKHAwLCB6MSwgejIpLAorCQl6 MCA9IHN2YW5kX20gKHAwLCB6MSwgejIpKQorCisvKgorKiogYW5kX3cwX3Mx Nl9tX3RpZWQxOgorKioJbW92CSh6WzAtOV0rXC5oKSwgdzAKKyoqCWFuZAl6 MFwuaCwgcDAvbSwgejBcLmgsIFwxCisqKglyZXQKKyovCitURVNUX1VOSUZP Uk1fWlMgKGFuZF93MF9zMTZfbV90aWVkMSwgc3ZpbnQxNl90LCBpbnQxNl90 LAorCQkgejAgPSBzdmFuZF9uX3MxNl9tIChwMCwgejAsIHgwKSwKKwkJIHow ID0gc3ZhbmRfbSAocDAsIHowLCB4MCkpCisKKy8qCisqKiBhbmRfdzBfczE2 X21fdW50aWVkOgorKioJbW92CSh6WzAtOV0rXC5oKSwgdzAKKyoqCW1vdnBy ZngJejAsIHoxCisqKglhbmQJejBcLmgsIHAwL20sIHowXC5oLCBcMQorKioJ cmV0CisqLworVEVTVF9VTklGT1JNX1pTIChhbmRfdzBfczE2X21fdW50aWVk LCBzdmludDE2X3QsIGludDE2X3QsCisJCSB6MCA9IHN2YW5kX25fczE2X20g KHAwLCB6MSwgeDApLAorCQkgejAgPSBzdmFuZF9tIChwMCwgejEsIHgwKSkK KworLyoKKyoqIGFuZF9oMF9zMTZfbV90aWVkMToKKyoqCW1vdgkoelswLTld K1wuaCksIGgwCisqKglhbmQJejFcLmgsIHAwL20sIHoxXC5oLCBcMQorKioJ cmV0CisqLworVEVTVF9VTklGT1JNX1pTIChhbmRfaDBfczE2X21fdGllZDEs IHN2aW50MTZfdCwgaW50MTZfdCwKKwkJIHoxID0gc3ZhbmRfbl9zMTZfbSAo cDAsIHoxLCBkMCksCisJCSB6MSA9IHN2YW5kX20gKHAwLCB6MSwgZDApKQor CisvKgorKiogYW5kX2gwX3MxNl9tX3VudGllZDoKKyoqCW1vdgkoelswLTld K1wuaCksIGgwCisqKgltb3ZwcmZ4CXoxLCB6MgorKioJYW5kCXoxXC5oLCBw MC9tLCB6MVwuaCwgXDEKKyoqCXJldAorKi8KK1RFU1RfVU5JRk9STV9aUyAo YW5kX2gwX3MxNl9tX3VudGllZCwgc3ZpbnQxNl90LCBpbnQxNl90LAorCQkg ejEgPSBzdmFuZF9uX3MxNl9tIChwMCwgejIsIGQwKSwKKwkJIHoxID0gc3Zh bmRfbSAocDAsIHoyLCBkMCkpCisKKy8qCisqKiBhbmRfMV9zMTZfbV90aWVk MToKKyoqCW1vdgkoelswLTldK1wuaCksICMxCisqKglhbmQJejBcLmgsIHAw L20sIHowXC5oLCBcMQorKioJcmV0CisqLworVEVTVF9VTklGT1JNX1ogKGFu ZF8xX3MxNl9tX3RpZWQxLCBzdmludDE2X3QsCisJCXowID0gc3ZhbmRfbl9z MTZfbSAocDAsIHowLCAxKSwKKwkJejAgPSBzdmFuZF9tIChwMCwgejAsIDEp KQorCisvKgorKiogYW5kXzFfczE2X21fdW50aWVkOgorKioJbW92CSh6WzAt OV0rXC5oKSwgIzEKKyoqCW1vdnByZngJejAsIHoxCisqKglhbmQJejBcLmgs IHAwL20sIHowXC5oLCBcMQorKioJcmV0CisqLworVEVTVF9VTklGT1JNX1og KGFuZF8xX3MxNl9tX3VudGllZCwgc3ZpbnQxNl90LAorCQl6MCA9IHN2YW5k X25fczE2X20gKHAwLCB6MSwgMSksCisJCXowID0gc3ZhbmRfbSAocDAsIHox LCAxKSkKKworLyoKKyoqIGFuZF9tMl9zMTZfbToKKyoqCW1vdgkoelswLTld K1wuaCksICMtMgorKioJYW5kCXowXC5oLCBwMC9tLCB6MFwuaCwgXDEKKyoq CXJldAorKi8KK1RFU1RfVU5JRk9STV9aIChhbmRfbTJfczE2X20sIHN2aW50 MTZfdCwKKwkJejAgPSBzdmFuZF9uX3MxNl9tIChwMCwgejAsIC0yKSwKKwkJ ejAgPSBzdmFuZF9tIChwMCwgejAsIC0yKSkKKworLyoKKyoqIGFuZF9zMTZf el90aWVkMToKKyoqCW1vdnByZngJejBcLmgsIHAwL3osIHowXC5oCisqKglh bmQJejBcLmgsIHAwL20sIHowXC5oLCB6MVwuaAorKioJcmV0CisqLworVEVT VF9VTklGT1JNX1ogKGFuZF9zMTZfel90aWVkMSwgc3ZpbnQxNl90LAorCQl6 MCA9IHN2YW5kX3MxNl96IChwMCwgejAsIHoxKSwKKwkJejAgPSBzdmFuZF96 IChwMCwgejAsIHoxKSkKKworLyoKKyoqIGFuZF9zMTZfel90aWVkMjoKKyoq CW1vdnByZngJejFcLmgsIHAwL3osIHoxXC5oCisqKglhbmQJejFcLmgsIHAw L20sIHoxXC5oLCB6MFwuaAorKioJcmV0CisqLworVEVTVF9VTklGT1JNX1og KGFuZF9zMTZfel90aWVkMiwgc3ZpbnQxNl90LAorCQl6MSA9IHN2YW5kX3Mx Nl96IChwMCwgejAsIHoxKSwKKwkJejEgPSBzdmFuZF96IChwMCwgejAsIHox KSkKKworLyoKKyoqIGFuZF9zMTZfel91bnRpZWQ6CisqKgltb3ZwcmZ4CXow XC5oLCBwMC96LCB6MVwuaAorKioJYW5kCXowXC5oLCBwMC9tLCB6MFwuaCwg ejJcLmgKKyoqCXJldAorKi8KK1RFU1RfVU5JRk9STV9aIChhbmRfczE2X3pf dW50aWVkLCBzdmludDE2X3QsCisJCXowID0gc3ZhbmRfczE2X3ogKHAwLCB6 MSwgejIpLAorCQl6MCA9IHN2YW5kX3ogKHAwLCB6MSwgejIpKQorCisvKgor KiogYW5kX3cwX3MxNl96X3RpZWQxOgorKioJbW92CSh6WzAtOV0rXC5oKSwg dzAKKyoqCW1vdnByZngJejBcLmgsIHAwL3osIHowXC5oCisqKglhbmQJejBc LmgsIHAwL20sIHowXC5oLCBcMQorKioJcmV0CisqLworVEVTVF9VTklGT1JN X1pTIChhbmRfdzBfczE2X3pfdGllZDEsIHN2aW50MTZfdCwgaW50MTZfdCwK KwkJIHowID0gc3ZhbmRfbl9zMTZfeiAocDAsIHowLCB4MCksCisJCSB6MCA9 IHN2YW5kX3ogKHAwLCB6MCwgeDApKQorCisvKgorKiogYW5kX3cwX3MxNl96 X3VudGllZDoKKyoqCW1vdgkoelswLTldK1wuaCksIHcwCisqKgltb3ZwcmZ4 CXowXC5oLCBwMC96LCB6MVwuaAorKioJYW5kCXowXC5oLCBwMC9tLCB6MFwu aCwgXDEKKyoqCXJldAorKi8KK1RFU1RfVU5JRk9STV9aUyAoYW5kX3cwX3Mx Nl96X3VudGllZCwgc3ZpbnQxNl90LCBpbnQxNl90LAorCQkgejAgPSBzdmFu ZF9uX3MxNl96IChwMCwgejEsIHgwKSwKKwkJIHowID0gc3ZhbmRfeiAocDAs IHoxLCB4MCkpCisKKy8qCisqKiBhbmRfaDBfczE2X3pfdGllZDE6CisqKglt b3YJKHpbMC05XStcLmgpLCBoMAorKioJbW92cHJmeAl6MVwuaCwgcDAveiwg ejFcLmgKKyoqCWFuZAl6MVwuaCwgcDAvbSwgejFcLmgsIFwxCisqKglyZXQK KyovCitURVNUX1VOSUZPUk1fWlMgKGFuZF9oMF9zMTZfel90aWVkMSwgc3Zp bnQxNl90LCBpbnQxNl90LAorCQkgejEgPSBzdmFuZF9uX3MxNl96IChwMCwg ejEsIGQwKSwKKwkJIHoxID0gc3ZhbmRfeiAocDAsIHoxLCBkMCkpCisKKy8q CisqKiBhbmRfaDBfczE2X3pfdW50aWVkOgorKioJbW92CSh6WzAtOV0rXC5o KSwgaDAKKyoqCW1vdnByZngJejFcLmgsIHAwL3osIHoyXC5oCisqKglhbmQJ ejFcLmgsIHAwL20sIHoxXC5oLCBcMQorKioJcmV0CisqLworVEVTVF9VTklG T1JNX1pTIChhbmRfaDBfczE2X3pfdW50aWVkLCBzdmludDE2X3QsIGludDE2 X3QsCisJCSB6MSA9IHN2YW5kX25fczE2X3ogKHAwLCB6MiwgZDApLAorCQkg ejEgPSBzdmFuZF96IChwMCwgejIsIGQwKSkKKworLyoKKyoqIGFuZF9zMTZf eF90aWVkMToKKyoqCWFuZAl6MFwuZCwgejBcLmQsIHoxXC5kCisqKglyZXQK KyovCitURVNUX1VOSUZPUk1fWiAoYW5kX3MxNl94X3RpZWQxLCBzdmludDE2 X3QsCisJCXowID0gc3ZhbmRfczE2X3ggKHAwLCB6MCwgejEpLAorCQl6MCA9 IHN2YW5kX3ggKHAwLCB6MCwgejEpKQorCisvKgorKiogYW5kX3MxNl94X3Rp ZWQyOgorKioJYW5kCXoxXC5kLCB6MFwuZCwgejFcLmQKKyoqCXJldAorKi8K K1RFU1RfVU5JRk9STV9aIChhbmRfczE2X3hfdGllZDIsIHN2aW50MTZfdCwK KwkJejEgPSBzdmFuZF9zMTZfeCAocDAsIHowLCB6MSksCisJCXoxID0gc3Zh bmRfeCAocDAsIHowLCB6MSkpCisKKy8qCisqKiBhbmRfczE2X3hfdW50aWVk OgorKioJYW5kCXoyXC5kLCB6MFwuZCwgejFcLmQKKyoqCXJldAorKi8KK1RF U1RfVU5JRk9STV9aIChhbmRfczE2X3hfdW50aWVkLCBzdmludDE2X3QsCisJ CXoyID0gc3ZhbmRfczE2X3ggKHAwLCB6MCwgejEpLAorCQl6MiA9IHN2YW5k X3ggKHAwLCB6MCwgejEpKQorCisvKgorKiogYW5kX3cwX3MxNl94X3RpZWQx OgorKioJbW92CSh6WzAtOV0rKVwuaCwgdzAKKyoqCWFuZAl6MFwuZCwgejBc LmQsIFwxXC5kCisqKglyZXQKKyovCitURVNUX1VOSUZPUk1fWlMgKGFuZF93 MF9zMTZfeF90aWVkMSwgc3ZpbnQxNl90LCBpbnQxNl90LAorCQkgejAgPSBz dmFuZF9uX3MxNl94IChwMCwgejAsIHgwKSwKKwkJIHowID0gc3ZhbmRfeCAo cDAsIHowLCB4MCkpCisKKy8qCisqKiBhbmRfdzBfczE2X3hfdW50aWVkOgor KioJbW92CXoxXC5oLCB3MAorKioJYW5kCXoxXC5kLCB6MFwuZCwgejFcLmQK KyoqCXJldAorKi8KK1RFU1RfVU5JRk9STV9aUyAoYW5kX3cwX3MxNl94X3Vu dGllZCwgc3ZpbnQxNl90LCBpbnQxNl90LAorCQkgejEgPSBzdmFuZF9uX3Mx Nl94IChwMCwgejAsIHgwKSwKKwkJIHoxID0gc3ZhbmRfeCAocDAsIHowLCB4 MCkpCisKKy8qCisqKiBhbmRfaDBfczE2X3hfdGllZDE6CisqKgltb3YJKHpb MC05XSspXC5oLCBoMAorKioJYW5kCXoxXC5kLCB6MVwuZCwgXDFcLmQKKyoq CXJldAorKi8KK1RFU1RfVU5JRk9STV9aUyAoYW5kX2gwX3MxNl94X3RpZWQx LCBzdmludDE2X3QsIGludDE2X3QsCisJCSB6MSA9IHN2YW5kX25fczE2X3gg KHAwLCB6MSwgZDApLAorCQkgejEgPSBzdmFuZF94IChwMCwgejEsIGQwKSkK KworLyoKKyoqIGFuZF9oMF9zMTZfeF91bnRpZWQ6CisqKgltb3YJKHpbMC05 XSspXC5oLCBoMAorKioJYW5kCXoyXC5kLCB6MVwuZCwgXDFcLmQKKyoqCXJl dAorKi8KK1RFU1RfVU5JRk9STV9aUyAoYW5kX2gwX3MxNl94X3VudGllZCwg c3ZpbnQxNl90LCBpbnQxNl90LAorCQkgejIgPSBzdmFuZF9uX3MxNl94IChw MCwgejEsIGQwKSwKKwkJIHoyID0gc3ZhbmRfeCAocDAsIHoxLCBkMCkpCisK Ky8qCisqKiBhbmRfMV9zMTZfeF90aWVkMToKKyoqCWFuZAl6MFwuaCwgejBc LmgsICMweDEKKyoqCXJldAorKi8KK1RFU1RfVU5JRk9STV9aIChhbmRfMV9z MTZfeF90aWVkMSwgc3ZpbnQxNl90LAorCQl6MCA9IHN2YW5kX25fczE2X3gg KHAwLCB6MCwgMSksCisJCXowID0gc3ZhbmRfeCAocDAsIHowLCAxKSkKKwor LyoKKyoqIGFuZF8xX3MxNl94X3VudGllZDoKKyoqCW1vdnByZngJejAsIHox CisqKglhbmQJejBcLmgsIHowXC5oLCAjMHgxCisqKglyZXQKKyovCitURVNU X1VOSUZPUk1fWiAoYW5kXzFfczE2X3hfdW50aWVkLCBzdmludDE2X3QsCisJ CXowID0gc3ZhbmRfbl9zMTZfeCAocDAsIHoxLCAxKSwKKwkJejAgPSBzdmFu ZF94IChwMCwgejEsIDEpKQorCisvKgorKiogYW5kXzEyN19zMTZfeDoKKyoq CWFuZAl6MFwuaCwgejBcLmgsICMweDdmCisqKglyZXQKKyovCitURVNUX1VO SUZPUk1fWiAoYW5kXzEyN19zMTZfeCwgc3ZpbnQxNl90LAorCQl6MCA9IHN2 YW5kX25fczE2X3ggKHAwLCB6MCwgMTI3KSwKKwkJejAgPSBzdmFuZF94IChw MCwgejAsIDEyNykpCisKKy8qCisqKiBhbmRfMTI4X3MxNl94OgorKioJYW5k CXowXC5oLCB6MFwuaCwgIzB4ODAKKyoqCXJldAorKi8KK1RFU1RfVU5JRk9S TV9aIChhbmRfMTI4X3MxNl94LCBzdmludDE2X3QsCisJCXowID0gc3ZhbmRf bl9zMTZfeCAocDAsIHowLCAxMjgpLAorCQl6MCA9IHN2YW5kX3ggKHAwLCB6 MCwgMTI4KSkKKworLyoKKyoqIGFuZF8yNTVfczE2X3g6CisqKglhbmQJejBc LmgsIHowXC5oLCAjMHhmZgorKioJcmV0CisqLworVEVTVF9VTklGT1JNX1og KGFuZF8yNTVfczE2X3gsIHN2aW50MTZfdCwKKwkJejAgPSBzdmFuZF9uX3Mx Nl94IChwMCwgejAsIDI1NSksCisJCXowID0gc3ZhbmRfeCAocDAsIHowLCAy NTUpKQorCisvKgorKiogYW5kXzI1Nl9zMTZfeDoKKyoqCWFuZAl6MFwuaCwg ejBcLmgsICMweDEwMAorKioJcmV0CisqLworVEVTVF9VTklGT1JNX1ogKGFu ZF8yNTZfczE2X3gsIHN2aW50MTZfdCwKKwkJejAgPSBzdmFuZF9uX3MxNl94 IChwMCwgejAsIDI1NiksCisJCXowID0gc3ZhbmRfeCAocDAsIHowLCAyNTYp KQorCisvKgorKiogYW5kXzI1N19zMTZfeDoKKyoqCWFuZAl6MFwuaCwgejBc LmgsICMweDEwMQorKioJcmV0CisqLworVEVTVF9VTklGT1JNX1ogKGFuZF8y NTdfczE2X3gsIHN2aW50MTZfdCwKKwkJejAgPSBzdmFuZF9uX3MxNl94IChw MCwgejAsIDI1NyksCisJCXowID0gc3ZhbmRfeCAocDAsIHowLCAyNTcpKQor CisvKgorKiogYW5kXzUxMl9zMTZfeDoKKyoqCWFuZAl6MFwuaCwgejBcLmgs ICMweDIwMAorKioJcmV0CisqLworVEVTVF9VTklGT1JNX1ogKGFuZF81MTJf czE2X3gsIHN2aW50MTZfdCwKKwkJejAgPSBzdmFuZF9uX3MxNl94IChwMCwg ejAsIDUxMiksCisJCXowID0gc3ZhbmRfeCAocDAsIHowLCA1MTIpKQorCisv KgorKiogYW5kXzY1MjgwX3MxNl94OgorKioJYW5kCXowXC5oLCB6MFwuaCwg IzB4ZmYwMAorKioJcmV0CisqLworVEVTVF9VTklGT1JNX1ogKGFuZF82NTI4 MF9zMTZfeCwgc3ZpbnQxNl90LAorCQl6MCA9IHN2YW5kX25fczE2X3ggKHAw LCB6MCwgMHhmZjAwKSwKKwkJejAgPSBzdmFuZF94IChwMCwgejAsIDB4ZmYw MCkpCisKKy8qCisqKiBhbmRfbTEyN19zMTZfeDoKKyoqCWFuZAl6MFwuaCwg ejBcLmgsICMweGZmODEKKyoqCXJldAorKi8KK1RFU1RfVU5JRk9STV9aIChh bmRfbTEyN19zMTZfeCwgc3ZpbnQxNl90LAorCQl6MCA9IHN2YW5kX25fczE2 X3ggKHAwLCB6MCwgLTEyNyksCisJCXowID0gc3ZhbmRfeCAocDAsIHowLCAt MTI3KSkKKworLyoKKyoqIGFuZF9tMTI4X3MxNl94OgorKioJYW5kCXowXC5o LCB6MFwuaCwgIzB4ZmY4MAorKioJcmV0CisqLworVEVTVF9VTklGT1JNX1og KGFuZF9tMTI4X3MxNl94LCBzdmludDE2X3QsCisJCXowID0gc3ZhbmRfbl9z MTZfeCAocDAsIHowLCAtMTI4KSwKKwkJejAgPSBzdmFuZF94IChwMCwgejAs IC0xMjgpKQorCisvKgorKiogYW5kX20yNTVfczE2X3g6CisqKglhbmQJejBc LmgsIHowXC5oLCAjMHhmZjAxCisqKglyZXQKKyovCitURVNUX1VOSUZPUk1f WiAoYW5kX20yNTVfczE2X3gsIHN2aW50MTZfdCwKKwkJejAgPSBzdmFuZF9u X3MxNl94IChwMCwgejAsIC0yNTUpLAorCQl6MCA9IHN2YW5kX3ggKHAwLCB6 MCwgLTI1NSkpCisKKy8qCisqKiBhbmRfbTI1Nl9zMTZfeDoKKyoqCWFuZAl6 MFwuaCwgejBcLmgsICMweGZmMDAKKyoqCXJldAorKi8KK1RFU1RfVU5JRk9S TV9aIChhbmRfbTI1Nl9zMTZfeCwgc3ZpbnQxNl90LAorCQl6MCA9IHN2YW5k X25fczE2X3ggKHAwLCB6MCwgLTI1NiksCisJCXowID0gc3ZhbmRfeCAocDAs IHowLCAtMjU2KSkKKworLyoKKyoqIGFuZF9tMjU3X3MxNl94OgorKioJYW5k CXowXC5oLCB6MFwuaCwgIzB4ZmVmZgorKioJcmV0CisqLworVEVTVF9VTklG T1JNX1ogKGFuZF9tMjU3X3MxNl94LCBzdmludDE2X3QsCisJCXowID0gc3Zh bmRfbl9zMTZfeCAocDAsIHowLCAtMjU3KSwKKwkJejAgPSBzdmFuZF94IChw MCwgejAsIC0yNTcpKQorCisvKgorKiogYW5kX201MTJfczE2X3g6CisqKglh bmQJejBcLmgsIHowXC5oLCAjMHhmZTAwCisqKglyZXQKKyovCitURVNUX1VO SUZPUk1fWiAoYW5kX201MTJfczE2X3gsIHN2aW50MTZfdCwKKwkJejAgPSBz dmFuZF9uX3MxNl94IChwMCwgejAsIC01MTIpLAorCQl6MCA9IHN2YW5kX3gg KHAwLCB6MCwgLTUxMikpCisKKy8qCisqKiBhbmRfbTMyNzY4X3MxNl94Ogor KioJYW5kCXowXC5oLCB6MFwuaCwgIzB4ODAwMAorKioJcmV0CisqLworVEVT VF9VTklGT1JNX1ogKGFuZF9tMzI3NjhfczE2X3gsIHN2aW50MTZfdCwKKwkJ ejAgPSBzdmFuZF9uX3MxNl94IChwMCwgejAsIC0weDgwMDApLAorCQl6MCA9 IHN2YW5kX3ggKHAwLCB6MCwgLTB4ODAwMCkpCisKKy8qCisqKiBhbmRfNV9z MTZfeDoKKyoqCW1vdgkoelswLTldKylcLmgsICM1CisqKglhbmQJejBcLmQs IHowXC5kLCBcMVwuZAorKioJcmV0CisqLworVEVTVF9VTklGT1JNX1ogKGFu ZF81X3MxNl94LCBzdmludDE2X3QsCisJCXowID0gc3ZhbmRfbl9zMTZfeCAo cDAsIHowLCA1KSwKKwkJejAgPSBzdmFuZF94IChwMCwgejAsIDUpKQpkaWZm IC0tZ2l0IGEvZ2NjL3Rlc3RzdWl0ZS9nY2MudGFyZ2V0L2FhcmNoNjQvc3Zl LWFjbGUvYXNtL2FuZF9zMzIuYyBiL2djYy90ZXN0c3VpdGUvZ2NjLnRhcmdl dC9hYXJjaDY0L3N2ZS1hY2xlL2FzbS9hbmRfczMyLmMKbmV3IGZpbGUgbW9k ZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYmI1NWMyMAotLS0gL2Rldi9udWxs CisrKyBiL2djYy90ZXN0c3VpdGUvZ2NjLnRhcmdldC9hYXJjaDY0L3N2ZS1h Y2xlL2FzbS9hbmRfczMyLmMKQEAgLTAsMCArMSwzOTMgQEAKKy8qIHsgZGct ZG8gY29tcGlsZSB9ICovCisvKiB7IGRnLWZpbmFsIHsgY2hlY2stZnVuY3Rp b24tYm9kaWVzICIqKiIgIiIgIi1EQ0hFQ0tfQVNNIiB9IH0gKi8KKworI2lu Y2x1ZGUgInRlc3Rfc3ZlX2FjbGUuaCIKKworLyoKKyoqIGFuZF9zMzJfbV90 aWVkMToKKyoqCWFuZAl6MFwucywgcDAvbSwgejBcLnMsIHoxXC5zCisqKgly ZXQKKyovCitURVNUX1VOSUZPUk1fWiAoYW5kX3MzMl9tX3RpZWQxLCBzdmlu dDMyX3QsCisJCXowID0gc3ZhbmRfczMyX20gKHAwLCB6MCwgejEpLAorCQl6 MCA9IHN2YW5kX20gKHAwLCB6MCwgejEpKQorCisvKiBCYWQgUkEgY2hvaWNl OiBubyBwcmVmZXJyZWQgb3V0cHV0IHNlcXVlbmNlLiAgKi8KK1RFU1RfVU5J Rk9STV9aIChhbmRfczMyX21fdGllZDIsIHN2aW50MzJfdCwKKwkJejEgPSBz dmFuZF9zMzJfbSAocDAsIHowLCB6MSksCisJCXoxID0gc3ZhbmRfbSAocDAs IHowLCB6MSkpCisKKy8qCisqKiBhbmRfczMyX21fdW50aWVkOgorKioJbW92 cHJmeAl6MCwgejEKKyoqCWFuZAl6MFwucywgcDAvbSwgejBcLnMsIHoyXC5z CisqKglyZXQKKyovCitURVNUX1VOSUZPUk1fWiAoYW5kX3MzMl9tX3VudGll ZCwgc3ZpbnQzMl90LAorCQl6MCA9IHN2YW5kX3MzMl9tIChwMCwgejEsIHoy KSwKKwkJejAgPSBzdmFuZF9tIChwMCwgejEsIHoyKSkKKworLyoKKyoqIGFu ZF93MF9zMzJfbV90aWVkMToKKyoqCW1vdgkoelswLTldK1wucyksIHcwCisq KglhbmQJejBcLnMsIHAwL20sIHowXC5zLCBcMQorKioJcmV0CisqLworVEVT VF9VTklGT1JNX1pTIChhbmRfdzBfczMyX21fdGllZDEsIHN2aW50MzJfdCwg aW50MzJfdCwKKwkJIHowID0gc3ZhbmRfbl9zMzJfbSAocDAsIHowLCB4MCks CisJCSB6MCA9IHN2YW5kX20gKHAwLCB6MCwgeDApKQorCisvKgorKiogYW5k X3cwX3MzMl9tX3VudGllZDoKKyoqCW1vdgkoelswLTldK1wucyksIHcwCisq Kgltb3ZwcmZ4CXowLCB6MQorKioJYW5kCXowXC5zLCBwMC9tLCB6MFwucywg XDEKKyoqCXJldAorKi8KK1RFU1RfVU5JRk9STV9aUyAoYW5kX3cwX3MzMl9t X3VudGllZCwgc3ZpbnQzMl90LCBpbnQzMl90LAorCQkgejAgPSBzdmFuZF9u X3MzMl9tIChwMCwgejEsIHgwKSwKKwkJIHowID0gc3ZhbmRfbSAocDAsIHox LCB4MCkpCisKKy8qCisqKiBhbmRfczBfczMyX21fdGllZDE6CisqKgltb3YJ KHpbMC05XStcLnMpLCBzMAorKioJYW5kCXoxXC5zLCBwMC9tLCB6MVwucywg XDEKKyoqCXJldAorKi8KK1RFU1RfVU5JRk9STV9aUyAoYW5kX3MwX3MzMl9t X3RpZWQxLCBzdmludDMyX3QsIGludDMyX3QsCisJCSB6MSA9IHN2YW5kX25f czMyX20gKHAwLCB6MSwgZDApLAorCQkgejEgPSBzdmFuZF9tIChwMCwgejEs IGQwKSkKKworLyoKKyoqIGFuZF9zMF9zMzJfbV91bnRpZWQ6CisqKgltb3YJ KHpbMC05XStcLnMpLCBzMAorKioJbW92cHJmeAl6MSwgejIKKyoqCWFuZAl6 MVwucywgcDAvbSwgejFcLnMsIFwxCisqKglyZXQKKyovCitURVNUX1VOSUZP Uk1fWlMgKGFuZF9zMF9zMzJfbV91bnRpZWQsIHN2aW50MzJfdCwgaW50MzJf dCwKKwkJIHoxID0gc3ZhbmRfbl9zMzJfbSAocDAsIHoyLCBkMCksCisJCSB6 MSA9IHN2YW5kX20gKHAwLCB6MiwgZDApKQorCisvKgorKiogYW5kXzFfczMy X21fdGllZDE6CisqKgltb3YJKHpbMC05XStcLnMpLCAjMQorKioJYW5kCXow XC5zLCBwMC9tLCB6MFwucywgXDEKKyoqCXJldAorKi8KK1RFU1RfVU5JRk9S TV9aIChhbmRfMV9zMzJfbV90aWVkMSwgc3ZpbnQzMl90LAorCQl6MCA9IHN2 YW5kX25fczMyX20gKHAwLCB6MCwgMSksCisJCXowID0gc3ZhbmRfbSAocDAs IHowLCAxKSkKKworLyoKKyoqIGFuZF8xX3MzMl9tX3VudGllZDoKKyoqCW1v dgkoelswLTldK1wucyksICMxCisqKgltb3ZwcmZ4CXowLCB6MQorKioJYW5k CXowXC5zLCBwMC9tLCB6MFwucywgXDEKKyoqCXJldAorKi8KK1RFU1RfVU5J Rk9STV9aIChhbmRfMV9zMzJfbV91bnRpZWQsIHN2aW50MzJfdCwKKwkJejAg PSBzdmFuZF9uX3MzMl9tIChwMCwgejEsIDEpLAorCQl6MCA9IHN2YW5kX20g KHAwLCB6MSwgMSkpCisKKy8qCisqKiBhbmRfbTJfczMyX206CisqKgltb3YJ KHpbMC05XStcLnMpLCAjLTIKKyoqCWFuZAl6MFwucywgcDAvbSwgejBcLnMs IFwxCisqKglyZXQKKyovCitURVNUX1VOSUZPUk1fWiAoYW5kX20yX3MzMl9t LCBzdmludDMyX3QsCisJCXowID0gc3ZhbmRfbl9zMzJfbSAocDAsIHowLCAt MiksCisJCXowID0gc3ZhbmRfbSAocDAsIHowLCAtMikpCisKKy8qCisqKiBh bmRfczMyX3pfdGllZDE6CisqKgltb3ZwcmZ4CXowXC5zLCBwMC96LCB6MFwu cworKioJYW5kCXowXC5zLCBwMC9tLCB6MFwucywgejFcLnMKKyoqCXJldAor Ki8KK1RFU1RfVU5JRk9STV9aIChhbmRfczMyX3pfdGllZDEsIHN2aW50MzJf dCwKKwkJejAgPSBzdmFuZF9zMzJfeiAocDAsIHowLCB6MSksCisJCXowID0g c3ZhbmRfeiAocDAsIHowLCB6MSkpCisKKy8qCisqKiBhbmRfczMyX3pfdGll ZDI6CisqKgltb3ZwcmZ4CXoxXC5zLCBwMC96LCB6MVwucworKioJYW5kCXox XC5zLCBwMC9tLCB6MVwucywgejBcLnMKKyoqCXJldAorKi8KK1RFU1RfVU5J Rk9STV9aIChhbmRfczMyX3pfdGllZDIsIHN2aW50MzJfdCwKKwkJejEgPSBz dmFuZF9zMzJfeiAocDAsIHowLCB6MSksCisJCXoxID0gc3ZhbmRfeiAocDAs IHowLCB6MSkpCisKKy8qCisqKiBhbmRfczMyX3pfdW50aWVkOgorKioJbW92 cHJmeAl6MFwucywgcDAveiwgejFcLnMKKyoqCWFuZAl6MFwucywgcDAvbSwg ejBcLnMsIHoyXC5zCisqKglyZXQKKyovCitURVNUX1VOSUZPUk1fWiAoYW5k X3MzMl96X3VudGllZCwgc3ZpbnQzMl90LAorCQl6MCA9IHN2YW5kX3MzMl96 IChwMCwgejEsIHoyKSwKKwkJejAgPSBzdmFuZF96IChwMCwgejEsIHoyKSkK KworLyoKKyoqIGFuZF93MF9zMzJfel90aWVkMToKKyoqCW1vdgkoelswLTld K1wucyksIHcwCisqKgltb3ZwcmZ4CXowXC5zLCBwMC96LCB6MFwucworKioJ YW5kCXowXC5zLCBwMC9tLCB6MFwucywgXDEKKyoqCXJldAorKi8KK1RFU1Rf VU5JRk9STV9aUyAoYW5kX3cwX3MzMl96X3RpZWQxLCBzdmludDMyX3QsIGlu dDMyX3QsCisJCSB6MCA9IHN2YW5kX25fczMyX3ogKHAwLCB6MCwgeDApLAor CQkgejAgPSBzdmFuZF96IChwMCwgejAsIHgwKSkKKworLyoKKyoqIGFuZF93 MF9zMzJfel91bnRpZWQ6CisqKgltb3YJKHpbMC05XStcLnMpLCB3MAorKioJ bW92cHJmeAl6MFwucywgcDAveiwgejFcLnMKKyoqCWFuZAl6MFwucywgcDAv bSwgejBcLnMsIFwxCisqKglyZXQKKyovCitURVNUX1VOSUZPUk1fWlMgKGFu ZF93MF9zMzJfel91bnRpZWQsIHN2aW50MzJfdCwgaW50MzJfdCwKKwkJIHow ID0gc3ZhbmRfbl9zMzJfeiAocDAsIHoxLCB4MCksCisJCSB6MCA9IHN2YW5k X3ogKHAwLCB6MSwgeDApKQorCisvKgorKiogYW5kX3MwX3MzMl96X3RpZWQx OgorKioJbW92CSh6WzAtOV0rXC5zKSwgczAKKyoqCW1vdnByZngJejFcLnMs IHAwL3osIHoxXC5zCisqKglhbmQJejFcLnMsIHAwL20sIHoxXC5zLCBcMQor KioJcmV0CisqLworVEVTVF9VTklGT1JNX1pTIChhbmRfczBfczMyX3pfdGll ZDEsIHN2aW50MzJfdCwgaW50MzJfdCwKKwkJIHoxID0gc3ZhbmRfbl9zMzJf eiAocDAsIHoxLCBkMCksCisJCSB6MSA9IHN2YW5kX3ogKHAwLCB6MSwgZDAp KQorCisvKgorKiogYW5kX3MwX3MzMl96X3VudGllZDoKKyoqCW1vdgkoelsw LTldK1wucyksIHMwCisqKgltb3ZwcmZ4CXoxXC5zLCBwMC96LCB6Mlwucwor KioJYW5kCXoxXC5zLCBwMC9tLCB6MVwucywgXDEKKyoqCXJldAorKi8KK1RF U1RfVU5JRk9STV9aUyAoYW5kX3MwX3MzMl96X3VudGllZCwgc3ZpbnQzMl90 LCBpbnQzMl90LAorCQkgejEgPSBzdmFuZF9uX3MzMl96IChwMCwgejIsIGQw KSwKKwkJIHoxID0gc3ZhbmRfeiAocDAsIHoyLCBkMCkpCisKKy8qCisqKiBh bmRfczMyX3hfdGllZDE6CisqKglhbmQJejBcLmQsIHowXC5kLCB6MVwuZAor KioJcmV0CisqLworVEVTVF9VTklGT1JNX1ogKGFuZF9zMzJfeF90aWVkMSwg c3ZpbnQzMl90LAorCQl6MCA9IHN2YW5kX3MzMl94IChwMCwgejAsIHoxKSwK KwkJejAgPSBzdmFuZF94IChwMCwgejAsIHoxKSkKKworLyoKKyoqIGFuZF9z MzJfeF90aWVkMjoKKyoqCWFuZAl6MVwuZCwgejBcLmQsIHoxXC5kCisqKgly ZXQKKyovCitURVNUX1VOSUZPUk1fWiAoYW5kX3MzMl94X3RpZWQyLCBzdmlu dDMyX3QsCisJCXoxID0gc3ZhbmRfczMyX3ggKHAwLCB6MCwgejEpLAorCQl6 MSA9IHN2YW5kX3ggKHAwLCB6MCwgejEpKQorCisvKgorKiogYW5kX3MzMl94 X3VudGllZDoKKyoqCWFuZAl6MlwuZCwgejBcLmQsIHoxXC5kCisqKglyZXQK KyovCitURVNUX1VOSUZPUk1fWiAoYW5kX3MzMl94X3VudGllZCwgc3ZpbnQz Ml90LAorCQl6MiA9IHN2YW5kX3MzMl94IChwMCwgejAsIHoxKSwKKwkJejIg PSBzdmFuZF94IChwMCwgejAsIHoxKSkKKworLyoKKyoqIGFuZF93MF9zMzJf eF90aWVkMToKKyoqCW1vdgkoelswLTldKylcLnMsIHcwCisqKglhbmQJejBc LmQsIHowXC5kLCBcMVwuZAorKioJcmV0CisqLworVEVTVF9VTklGT1JNX1pT IChhbmRfdzBfczMyX3hfdGllZDEsIHN2aW50MzJfdCwgaW50MzJfdCwKKwkJ IHowID0gc3ZhbmRfbl9zMzJfeCAocDAsIHowLCB4MCksCisJCSB6MCA9IHN2 YW5kX3ggKHAwLCB6MCwgeDApKQorCisvKgorKiogYW5kX3cwX3MzMl94X3Vu dGllZDoKKyoqCW1vdgl6MVwucywgdzAKKyoqCWFuZAl6MVwuZCwgejBcLmQs IHoxXC5kCisqKglyZXQKKyovCitURVNUX1VOSUZPUk1fWlMgKGFuZF93MF9z MzJfeF91bnRpZWQsIHN2aW50MzJfdCwgaW50MzJfdCwKKwkJIHoxID0gc3Zh bmRfbl9zMzJfeCAocDAsIHowLCB4MCksCisJCSB6MSA9IHN2YW5kX3ggKHAw LCB6MCwgeDApKQorCisvKgorKiogYW5kX3MwX3MzMl94X3RpZWQxOgorKioJ bW92CSh6WzAtOV0rKVwucywgczAKKyoqCWFuZAl6MVwuZCwgejFcLmQsIFwx XC5kCisqKglyZXQKKyovCitURVNUX1VOSUZPUk1fWlMgKGFuZF9zMF9zMzJf eF90aWVkMSwgc3ZpbnQzMl90LCBpbnQzMl90LAorCQkgejEgPSBzdmFuZF9u X3MzMl94IChwMCwgejEsIGQwKSwKKwkJIHoxID0gc3ZhbmRfeCAocDAsIHox LCBkMCkpCisKKy8qCisqKiBhbmRfczBfczMyX3hfdW50aWVkOgorKioJbW92 CSh6WzAtOV0rKVwucywgczAKKyoqCWFuZAl6MlwuZCwgejFcLmQsIFwxXC5k CisqKglyZXQKKyovCitURVNUX1VOSUZPUk1fWlMgKGFuZF9zMF9zMzJfeF91 bnRpZWQsIHN2aW50MzJfdCwgaW50MzJfdCwKKwkJIHoyID0gc3ZhbmRfbl9z MzJfeCAocDAsIHoxLCBkMCksCisJCSB6MiA9IHN2YW5kX3ggKHAwLCB6MSwg ZDApKQorCisvKgorKiogYW5kXzFfczMyX3hfdGllZDE6CisqKglhbmQJejBc LnMsIHowXC5zLCAjMHgxCisqKglyZXQKKyovCitURVNUX1VOSUZPUk1fWiAo YW5kXzFfczMyX3hfdGllZDEsIHN2aW50MzJfdCwKKwkJejAgPSBzdmFuZF9u X3MzMl94IChwMCwgejAsIDEpLAorCQl6MCA9IHN2YW5kX3ggKHAwLCB6MCwg MSkpCisKKy8qCisqKiBhbmRfMV9zMzJfeF91bnRpZWQ6CisqKgltb3ZwcmZ4 CXowLCB6MQorKioJYW5kCXowXC5zLCB6MFwucywgIzB4MQorKioJcmV0Cisq LworVEVTVF9VTklGT1JNX1ogKGFuZF8xX3MzMl94X3VudGllZCwgc3ZpbnQz Ml90LAorCQl6MCA9IHN2YW5kX25fczMyX3ggKHAwLCB6MSwgMSksCisJCXow ID0gc3ZhbmRfeCAocDAsIHoxLCAxKSkKKworLyoKKyoqIGFuZF8xMjdfczMy X3g6CisqKglhbmQJejBcLnMsIHowXC5zLCAjMHg3ZgorKioJcmV0CisqLwor VEVTVF9VTklGT1JNX1ogKGFuZF8xMjdfczMyX3gsIHN2aW50MzJfdCwKKwkJ ejAgPSBzdmFuZF9uX3MzMl94IChwMCwgejAsIDEyNyksCisJCXowID0gc3Zh bmRfeCAocDAsIHowLCAxMjcpKQorCisvKgorKiogYW5kXzEyOF9zMzJfeDoK KyoqCWFuZAl6MFwucywgejBcLnMsICMweDgwCisqKglyZXQKKyovCitURVNU X1VOSUZPUk1fWiAoYW5kXzEyOF9zMzJfeCwgc3ZpbnQzMl90LAorCQl6MCA9 IHN2YW5kX25fczMyX3ggKHAwLCB6MCwgMTI4KSwKKwkJejAgPSBzdmFuZF94 IChwMCwgejAsIDEyOCkpCisKKy8qCisqKiBhbmRfMjU1X3MzMl94OgorKioJ YW5kCXowXC5zLCB6MFwucywgIzB4ZmYKKyoqCXJldAorKi8KK1RFU1RfVU5J Rk9STV9aIChhbmRfMjU1X3MzMl94LCBzdmludDMyX3QsCisJCXowID0gc3Zh bmRfbl9zMzJfeCAocDAsIHowLCAyNTUpLAorCQl6MCA9IHN2YW5kX3ggKHAw LCB6MCwgMjU1KSkKKworLyoKKyoqIGFuZF8yNTZfczMyX3g6CisqKglhbmQJ ejBcLnMsIHowXC5zLCAjMHgxMDAKKyoqCXJldAorKi8KK1RFU1RfVU5JRk9S TV9aIChhbmRfMjU2X3MzMl94LCBzdmludDMyX3QsCisJCXowID0gc3ZhbmRf bl9zMzJfeCAocDAsIHowLCAyNTYpLAorCQl6MCA9IHN2YW5kX3ggKHAwLCB6 MCwgMjU2KSkKKworLyogVE9ETzogQmFkIGNvZGUgYW5kIG5lZWRzIGZpeGlu Zy4gICovCitURVNUX1VOSUZPUk1fWiAoYW5kXzI1N19zMzJfeCwgc3ZpbnQz Ml90LAorCQl6MCA9IHN2YW5kX25fczMyX3ggKHAwLCB6MCwgMjU3KSwKKwkJ ejAgPSBzdmFuZF94IChwMCwgejAsIDI1NykpCisKKy8qCisqKiBhbmRfNTEy X3MzMl94OgorKioJYW5kCXowXC5zLCB6MFwucywgIzB4MjAwCisqKglyZXQK KyovCitURVNUX1VOSUZPUk1fWiAoYW5kXzUxMl9zMzJfeCwgc3ZpbnQzMl90 LAorCQl6MCA9IHN2YW5kX25fczMyX3ggKHAwLCB6MCwgNTEyKSwKKwkJejAg PSBzdmFuZF94IChwMCwgejAsIDUxMikpCisKKy8qCisqKiBhbmRfNjUyODBf czMyX3g6CisqKglhbmQJejBcLnMsIHowXC5zLCAjMHhmZjAwCisqKglyZXQK KyovCitURVNUX1VOSUZPUk1fWiAoYW5kXzY1MjgwX3MzMl94LCBzdmludDMy X3QsCisJCXowID0gc3ZhbmRfbl9zMzJfeCAocDAsIHowLCAweGZmMDApLAor CQl6MCA9IHN2YW5kX3ggKHAwLCB6MCwgMHhmZjAwKSkKKworLyoKKyoqIGFu ZF9tMTI3X3MzMl94OgorKioJYW5kCXowXC5zLCB6MFwucywgIzB4ZmZmZmZm ODEKKyoqCXJldAorKi8KK1RFU1RfVU5JRk9STV9aIChhbmRfbTEyN19zMzJf eCwgc3ZpbnQzMl90LAorCQl6MCA9IHN2YW5kX25fczMyX3ggKHAwLCB6MCwg LTEyNyksCisJCXowID0gc3ZhbmRfeCAocDAsIHowLCAtMTI3KSkKKworLyoK KyoqIGFuZF9tMTI4X3MzMl94OgorKioJYW5kCXowXC5zLCB6MFwucywgIzB4 ZmZmZmZmODAKKyoqCXJldAorKi8KK1RFU1RfVU5JRk9STV9aIChhbmRfbTEy OF9zMzJfeCwgc3ZpbnQzMl90LAorCQl6MCA9IHN2YW5kX25fczMyX3ggKHAw LCB6MCwgLTEyOCksCisJCXowID0gc3ZhbmRfeCAocDAsIHowLCAtMTI4KSkK KworLyoKKyoqIGFuZF9tMjU1X3MzMl94OgorKioJYW5kCXowXC5zLCB6MFwu cywgIzB4ZmZmZmZmMDEKKyoqCXJldAorKi8KK1RFU1RfVU5JRk9STV9aIChh bmRfbTI1NV9zMzJfeCwgc3ZpbnQzMl90LAorCQl6MCA9IHN2YW5kX25fczMy X3ggKHAwLCB6MCwgLTI1NSksCisJCXowID0gc3ZhbmRfeCAocDAsIHowLCAt MjU1KSkKKworLyoKKyoqIGFuZF9tMjU2X3MzMl94OgorKioJYW5kCXowXC5z LCB6MFwucywgIzB4ZmZmZmZmMDAKKyoqCXJldAorKi8KK1RFU1RfVU5JRk9S TV9aIChhbmRfbTI1Nl9zMzJfeCwgc3ZpbnQzMl90LAorCQl6MCA9IHN2YW5k X25fczMyX3ggKHAwLCB6MCwgLTI1NiksCisJCXowID0gc3ZhbmRfeCAocDAs IHowLCAtMjU2KSkKKworLyoKKyoqIGFuZF9tMjU3X3MzMl94OgorKioJYW5k CXowXC5zLCB6MFwucywgIzB4ZmZmZmZlZmYKKyoqCXJldAorKi8KK1RFU1Rf VU5JRk9STV9aIChhbmRfbTI1N19zMzJfeCwgc3ZpbnQzMl90LAorCQl6MCA9 IHN2YW5kX25fczMyX3ggKHAwLCB6MCwgLTI1NyksCisJCXowID0gc3ZhbmRf eCAocDAsIHowLCAtMjU3KSkKKworLyoKKyoqIGFuZF9tNTEyX3MzMl94Ogor KioJYW5kCXowXC5zLCB6MFwucywgIzB4ZmZmZmZlMDAKKyoqCXJldAorKi8K K1RFU1RfVU5JRk9STV9aIChhbmRfbTUxMl9zMzJfeCwgc3ZpbnQzMl90LAor CQl6MCA9IHN2YW5kX25fczMyX3ggKHAwLCB6MCwgLTUxMiksCisJCXowID0g c3ZhbmRfeCAocDAsIHowLCAtNTEyKSkKKworLyoKKyoqIGFuZF9tMzI3Njhf czMyX3g6CisqKglhbmQJejBcLnMsIHowXC5zLCAjMHhmZmZmODAwMAorKioJ cmV0CisqLworVEVTVF9VTklGT1JNX1ogKGFuZF9tMzI3NjhfczMyX3gsIHN2 aW50MzJfdCwKKwkJejAgPSBzdmFuZF9uX3MzMl94IChwMCwgejAsIC0weDgw MDApLAorCQl6MCA9IHN2YW5kX3ggKHAwLCB6MCwgLTB4ODAwMCkpCisKKy8q CisqKiBhbmRfNV9zMzJfeDoKKyoqCW1vdgkoelswLTldKylcLnMsICM1Cisq KglhbmQJejBcLmQsIHowXC5kLCBcMVwuZAorKioJcmV0CisqLworVEVTVF9V TklGT1JNX1ogKGFuZF81X3MzMl94LCBzdmludDMyX3QsCisJCXowID0gc3Zh bmRfbl9zMzJfeCAocDAsIHowLCA1KSwKKwkJejAgPSBzdmFuZF94IChwMCwg ejAsIDUpKQpkaWZmIC0tZ2l0IGEvZ2NjL3Rlc3RzdWl0ZS9nY2MudGFyZ2V0 L2FhcmNoNjQvc3ZlLWFjbGUvYXNtL2FuZF9zNjQuYyBiL2djYy90ZXN0c3Vp dGUvZ2NjLnRhcmdldC9hYXJjaDY0L3N2ZS1hY2xlL2FzbS9hbmRfczY0LmMK bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNmVjODFkYwot LS0gL2Rldi9udWxsCisrKyBiL2djYy90ZXN0c3VpdGUvZ2NjLnRhcmdldC9h YXJjaDY0L3N2ZS1hY2xlL2FzbS9hbmRfczY0LmMKQEAgLTAsMCArMSwzOTMg QEAKKy8qIHsgZGctZG8gY29tcGlsZSB9ICovCisvKiB7IGRnLWZpbmFsIHsg Y2hlY2stZnVuY3Rpb24tYm9kaWVzICIqKiIgIiIgIi1EQ0hFQ0tfQVNNIiB9 IH0gKi8KKworI2luY2x1ZGUgInRlc3Rfc3ZlX2FjbGUuaCIKKworLyoKKyoq IGFuZF9zNjRfbV90aWVkMToKKyoqCWFuZAl6MFwuZCwgcDAvbSwgejBcLmQs IHoxXC5kCisqKglyZXQKKyovCitURVNUX1VOSUZPUk1fWiAoYW5kX3M2NF9t X3RpZWQxLCBzdmludDY0X3QsCisJCXowID0gc3ZhbmRfczY0X20gKHAwLCB6 MCwgejEpLAorCQl6MCA9IHN2YW5kX20gKHAwLCB6MCwgejEpKQorCisvKiBC YWQgUkEgY2hvaWNlOiBubyBwcmVmZXJyZWQgb3V0cHV0IHNlcXVlbmNlLiAg Ki8KK1RFU1RfVU5JRk9STV9aIChhbmRfczY0X21fdGllZDIsIHN2aW50NjRf dCwKKwkJejEgPSBzdmFuZF9zNjRfbSAocDAsIHowLCB6MSksCisJCXoxID0g c3ZhbmRfbSAocDAsIHowLCB6MSkpCisKKy8qCisqKiBhbmRfczY0X21fdW50 aWVkOgorKioJbW92cHJmeAl6MCwgejEKKyoqCWFuZAl6MFwuZCwgcDAvbSwg ejBcLmQsIHoyXC5kCisqKglyZXQKKyovCitURVNUX1VOSUZPUk1fWiAoYW5k X3M2NF9tX3VudGllZCwgc3ZpbnQ2NF90LAorCQl6MCA9IHN2YW5kX3M2NF9t IChwMCwgejEsIHoyKSwKKwkJejAgPSBzdmFuZF9tIChwMCwgejEsIHoyKSkK KworLyoKKyoqIGFuZF94MF9zNjRfbV90aWVkMToKKyoqCW1vdgkoelswLTld K1wuZCksIHgwCisqKglhbmQJejBcLmQsIHAwL20sIHowXC5kLCBcMQorKioJ cmV0CisqLworVEVTVF9VTklGT1JNX1pTIChhbmRfeDBfczY0X21fdGllZDEs IHN2aW50NjRfdCwgaW50NjRfdCwKKwkJIHowID0gc3ZhbmRfbl9zNjRfbSAo cDAsIHowLCB4MCksCisJCSB6MCA9IHN2YW5kX20gKHAwLCB6MCwgeDApKQor CisvKgorKiogYW5kX3gwX3M2NF9tX3VudGllZDoKKyoqCW1vdgkoelswLTld K1wuZCksIHgwCisqKgltb3ZwcmZ4CXowLCB6MQorKioJYW5kCXowXC5kLCBw MC9tLCB6MFwuZCwgXDEKKyoqCXJldAorKi8KK1RFU1RfVU5JRk9STV9aUyAo YW5kX3gwX3M2NF9tX3VudGllZCwgc3ZpbnQ2NF90LCBpbnQ2NF90LAorCQkg ejAgPSBzdmFuZF9uX3M2NF9tIChwMCwgejEsIHgwKSwKKwkJIHowID0gc3Zh bmRfbSAocDAsIHoxLCB4MCkpCisKKy8qCisqKiBhbmRfZDBfczY0X21fdGll ZDE6CisqKgltb3YJKHpbMC05XStcLmQpLCBkMAorKioJYW5kCXoxXC5kLCBw MC9tLCB6MVwuZCwgXDEKKyoqCXJldAorKi8KK1RFU1RfVU5JRk9STV9aUyAo YW5kX2QwX3M2NF9tX3RpZWQxLCBzdmludDY0X3QsIGludDY0X3QsCisJCSB6 MSA9IHN2YW5kX25fczY0X20gKHAwLCB6MSwgZDApLAorCQkgejEgPSBzdmFu ZF9tIChwMCwgejEsIGQwKSkKKworLyoKKyoqIGFuZF9kMF9zNjRfbV91bnRp ZWQ6CisqKgltb3YJKHpbMC05XStcLmQpLCBkMAorKioJbW92cHJmeAl6MSwg ejIKKyoqCWFuZAl6MVwuZCwgcDAvbSwgejFcLmQsIFwxCisqKglyZXQKKyov CitURVNUX1VOSUZPUk1fWlMgKGFuZF9kMF9zNjRfbV91bnRpZWQsIHN2aW50 NjRfdCwgaW50NjRfdCwKKwkJIHoxID0gc3ZhbmRfbl9zNjRfbSAocDAsIHoy LCBkMCksCisJCSB6MSA9IHN2YW5kX20gKHAwLCB6MiwgZDApKQorCisvKgor KiogYW5kXzFfczY0X21fdGllZDE6CisqKgltb3YJKHpbMC05XStcLmQpLCAj MQorKioJYW5kCXowXC5kLCBwMC9tLCB6MFwuZCwgXDEKKyoqCXJldAorKi8K K1RFU1RfVU5JRk9STV9aIChhbmRfMV9zNjRfbV90aWVkMSwgc3ZpbnQ2NF90 LAorCQl6MCA9IHN2YW5kX25fczY0X20gKHAwLCB6MCwgMSksCisJCXowID0g c3ZhbmRfbSAocDAsIHowLCAxKSkKKworLyoKKyoqIGFuZF8xX3M2NF9tX3Vu dGllZDoKKyoqCW1vdgkoelswLTldK1wuZCksICMxCisqKgltb3ZwcmZ4CXow LCB6MQorKioJYW5kCXowXC5kLCBwMC9tLCB6MFwuZCwgXDEKKyoqCXJldAor Ki8KK1RFU1RfVU5JRk9STV9aIChhbmRfMV9zNjRfbV91bnRpZWQsIHN2aW50 NjRfdCwKKwkJejAgPSBzdmFuZF9uX3M2NF9tIChwMCwgejEsIDEpLAorCQl6 MCA9IHN2YW5kX20gKHAwLCB6MSwgMSkpCisKKy8qCisqKiBhbmRfbTJfczY0 X206CisqKgltb3YJKHpbMC05XStcLmQpLCAjLTIKKyoqCWFuZAl6MFwuZCwg cDAvbSwgejBcLmQsIFwxCisqKglyZXQKKyovCitURVNUX1VOSUZPUk1fWiAo YW5kX20yX3M2NF9tLCBzdmludDY0X3QsCisJCXowID0gc3ZhbmRfbl9zNjRf bSAocDAsIHowLCAtMiksCisJCXowID0gc3ZhbmRfbSAocDAsIHowLCAtMikp CisKKy8qCisqKiBhbmRfczY0X3pfdGllZDE6CisqKgltb3ZwcmZ4CXowXC5k LCBwMC96LCB6MFwuZAorKioJYW5kCXowXC5kLCBwMC9tLCB6MFwuZCwgejFc LmQKKyoqCXJldAorKi8KK1RFU1RfVU5JRk9STV9aIChhbmRfczY0X3pfdGll ZDEsIHN2aW50NjRfdCwKKwkJejAgPSBzdmFuZF9zNjRfeiAocDAsIHowLCB6 MSksCisJCXowID0gc3ZhbmRfeiAocDAsIHowLCB6MSkpCisKKy8qCisqKiBh bmRfczY0X3pfdGllZDI6CisqKgltb3ZwcmZ4CXoxXC5kLCBwMC96LCB6MVwu ZAorKioJYW5kCXoxXC5kLCBwMC9tLCB6MVwuZCwgejBcLmQKKyoqCXJldAor Ki8KK1RFU1RfVU5JRk9STV9aIChhbmRfczY0X3pfdGllZDIsIHN2aW50NjRf dCwKKwkJejEgPSBzdmFuZF9zNjRfeiAocDAsIHowLCB6MSksCisJCXoxID0g c3ZhbmRfeiAocDAsIHowLCB6MSkpCisKKy8qCisqKiBhbmRfczY0X3pfdW50 aWVkOgorKioJbW92cHJmeAl6MFwuZCwgcDAveiwgejFcLmQKKyoqCWFuZAl6 MFwuZCwgcDAvbSwgejBcLmQsIHoyXC5kCisqKglyZXQKKyovCitURVNUX1VO SUZPUk1fWiAoYW5kX3M2NF96X3VudGllZCwgc3ZpbnQ2NF90LAorCQl6MCA9 IHN2YW5kX3M2NF96IChwMCwgejEsIHoyKSwKKwkJejAgPSBzdmFuZF96IChw MCwgejEsIHoyKSkKKworLyoKKyoqIGFuZF94MF9zNjRfel90aWVkMToKKyoq CW1vdgkoelswLTldK1wuZCksIHgwCisqKgltb3ZwcmZ4CXowXC5kLCBwMC96 LCB6MFwuZAorKioJYW5kCXowXC5kLCBwMC9tLCB6MFwuZCwgXDEKKyoqCXJl dAorKi8KK1RFU1RfVU5JRk9STV9aUyAoYW5kX3gwX3M2NF96X3RpZWQxLCBz dmludDY0X3QsIGludDY0X3QsCisJCSB6MCA9IHN2YW5kX25fczY0X3ogKHAw LCB6MCwgeDApLAorCQkgejAgPSBzdmFuZF96IChwMCwgejAsIHgwKSkKKwor LyoKKyoqIGFuZF94MF9zNjRfel91bnRpZWQ6CisqKgltb3YJKHpbMC05XStc LmQpLCB4MAorKioJbW92cHJmeAl6MFwuZCwgcDAveiwgejFcLmQKKyoqCWFu ZAl6MFwuZCwgcDAvbSwgejBcLmQsIFwxCisqKglyZXQKKyovCitURVNUX1VO SUZPUk1fWlMgKGFuZF94MF9zNjRfel91bnRpZWQsIHN2aW50NjRfdCwgaW50 NjRfdCwKKwkJIHowID0gc3ZhbmRfbl9zNjRfeiAocDAsIHoxLCB4MCksCisJ CSB6MCA9IHN2YW5kX3ogKHAwLCB6MSwgeDApKQorCisvKgorKiogYW5kX2Qw X3M2NF96X3RpZWQxOgorKioJbW92CSh6WzAtOV0rXC5kKSwgZDAKKyoqCW1v dnByZngJejFcLmQsIHAwL3osIHoxXC5kCisqKglhbmQJejFcLmQsIHAwL20s IHoxXC5kLCBcMQorKioJcmV0CisqLworVEVTVF9VTklGT1JNX1pTIChhbmRf ZDBfczY0X3pfdGllZDEsIHN2aW50NjRfdCwgaW50NjRfdCwKKwkJIHoxID0g c3ZhbmRfbl9zNjRfeiAocDAsIHoxLCBkMCksCisJCSB6MSA9IHN2YW5kX3og KHAwLCB6MSwgZDApKQorCisvKgorKiogYW5kX2QwX3M2NF96X3VudGllZDoK KyoqCW1vdgkoelswLTldK1wuZCksIGQwCisqKgltb3ZwcmZ4CXoxXC5kLCBw MC96LCB6MlwuZAorKioJYW5kCXoxXC5kLCBwMC9tLCB6MVwuZCwgXDEKKyoq CXJldAorKi8KK1RFU1RfVU5JRk9STV9aUyAoYW5kX2QwX3M2NF96X3VudGll ZCwgc3ZpbnQ2NF90LCBpbnQ2NF90LAorCQkgejEgPSBzdmFuZF9uX3M2NF96 IChwMCwgejIsIGQwKSwKKwkJIHoxID0gc3ZhbmRfeiAocDAsIHoyLCBkMCkp CisKKy8qCisqKiBhbmRfczY0X3hfdGllZDE6CisqKglhbmQJejBcLmQsIHow XC5kLCB6MVwuZAorKioJcmV0CisqLworVEVTVF9VTklGT1JNX1ogKGFuZF9z NjRfeF90aWVkMSwgc3ZpbnQ2NF90LAorCQl6MCA9IHN2YW5kX3M2NF94IChw MCwgejAsIHoxKSwKKwkJejAgPSBzdmFuZF94IChwMCwgejAsIHoxKSkKKwor LyoKKyoqIGFuZF9zNjRfeF90aWVkMjoKKyoqCWFuZAl6MVwuZCwgejBcLmQs IHoxXC5kCisqKglyZXQKKyovCitURVNUX1VOSUZPUk1fWiAoYW5kX3M2NF94 X3RpZWQyLCBzdmludDY0X3QsCisJCXoxID0gc3ZhbmRfczY0X3ggKHAwLCB6 MCwgejEpLAorCQl6MSA9IHN2YW5kX3ggKHAwLCB6MCwgejEpKQorCisvKgor KiogYW5kX3M2NF94X3VudGllZDoKKyoqCWFuZAl6MlwuZCwgejBcLmQsIHox XC5kCisqKglyZXQKKyovCitURVNUX1VOSUZPUk1fWiAoYW5kX3M2NF94X3Vu dGllZCwgc3ZpbnQ2NF90LAorCQl6MiA9IHN2YW5kX3M2NF94IChwMCwgejAs IHoxKSwKKwkJejIgPSBzdmFuZF94IChwMCwgejAsIHoxKSkKKworLyoKKyoq IGFuZF94MF9zNjRfeF90aWVkMToKKyoqCW1vdgkoelswLTldKylcLmQsIHgw CisqKglhbmQJejBcLmQsIHowXC5kLCBcMVwuZAorKioJcmV0CisqLworVEVT VF9VTklGT1JNX1pTIChhbmRfeDBfczY0X3hfdGllZDEsIHN2aW50NjRfdCwg aW50NjRfdCwKKwkJIHowID0gc3ZhbmRfbl9zNjRfeCAocDAsIHowLCB4MCks CisJCSB6MCA9IHN2YW5kX3ggKHAwLCB6MCwgeDApKQorCisvKgorKiogYW5k X3gwX3M2NF94X3VudGllZDoKKyoqCW1vdgl6MVwuZCwgeDAKKyoqCWFuZAl6 MVwuZCwgejBcLmQsIHoxXC5kCisqKglyZXQKKyovCitURVNUX1VOSUZPUk1f WlMgKGFuZF94MF9zNjRfeF91bnRpZWQsIHN2aW50NjRfdCwgaW50NjRfdCwK KwkJIHoxID0gc3ZhbmRfbl9zNjRfeCAocDAsIHowLCB4MCksCisJCSB6MSA9 IHN2YW5kX3ggKHAwLCB6MCwgeDApKQorCisvKgorKiogYW5kX2QwX3M2NF94 X3RpZWQxOgorKioJbW92CSh6WzAtOV0rKVwuZCwgZDAKKyoqCWFuZAl6MVwu ZCwgejFcLmQsIFwxXC5kCisqKglyZXQKKyovCitURVNUX1VOSUZPUk1fWlMg KGFuZF9kMF9zNjRfeF90aWVkMSwgc3ZpbnQ2NF90LCBpbnQ2NF90LAorCQkg ejEgPSBzdmFuZF9uX3M2NF94IChwMCwgejEsIGQwKSwKKwkJIHoxID0gc3Zh bmRfeCAocDAsIHoxLCBkMCkpCisKKy8qCisqKiBhbmRfZDBfczY0X3hfdW50 aWVkOgorKioJbW92CSh6WzAtOV0rKVwuZCwgZDAKKyoqCWFuZAl6MlwuZCwg ejFcLmQsIFwxXC5kCisqKglyZXQKKyovCitURVNUX1VOSUZPUk1fWlMgKGFu ZF9kMF9zNjRfeF91bnRpZWQsIHN2aW50NjRfdCwgaW50NjRfdCwKKwkJIHoy ID0gc3ZhbmRfbl9zNjRfeCAocDAsIHoxLCBkMCksCisJCSB6MiA9IHN2YW5k X3ggKHAwLCB6MSwgZDApKQorCisvKgorKiogYW5kXzFfczY0X3hfdGllZDE6 CisqKglhbmQJejBcLmQsIHowXC5kLCAjMHgxCisqKglyZXQKKyovCitURVNU X1VOSUZPUk1fWiAoYW5kXzFfczY0X3hfdGllZDEsIHN2aW50NjRfdCwKKwkJ ejAgPSBzdmFuZF9uX3M2NF94IChwMCwgejAsIDEpLAorCQl6MCA9IHN2YW5k X3ggKHAwLCB6MCwgMSkpCisKKy8qCisqKiBhbmRfMV9zNjRfeF91bnRpZWQ6 CisqKgltb3ZwcmZ4CXowLCB6MQorKioJYW5kCXowXC5kLCB6MFwuZCwgIzB4 MQorKioJcmV0CisqLworVEVTVF9VTklGT1JNX1ogKGFuZF8xX3M2NF94X3Vu dGllZCwgc3ZpbnQ2NF90LAorCQl6MCA9IHN2YW5kX25fczY0X3ggKHAwLCB6 MSwgMSksCisJCXowID0gc3ZhbmRfeCAocDAsIHoxLCAxKSkKKworLyoKKyoq IGFuZF8xMjdfczY0X3g6CisqKglhbmQJejBcLmQsIHowXC5kLCAjMHg3Zgor KioJcmV0CisqLworVEVTVF9VTklGT1JNX1ogKGFuZF8xMjdfczY0X3gsIHN2 aW50NjRfdCwKKwkJejAgPSBzdmFuZF9uX3M2NF94IChwMCwgejAsIDEyNyks CisJCXowID0gc3ZhbmRfeCAocDAsIHowLCAxMjcpKQorCisvKgorKiogYW5k XzEyOF9zNjRfeDoKKyoqCWFuZAl6MFwuZCwgejBcLmQsICMweDgwCisqKgly ZXQKKyovCitURVNUX1VOSUZPUk1fWiAoYW5kXzEyOF9zNjRfeCwgc3ZpbnQ2 NF90LAorCQl6MCA9IHN2YW5kX25fczY0X3ggKHAwLCB6MCwgMTI4KSwKKwkJ ejAgPSBzdmFuZF94IChwMCwgejAsIDEyOCkpCisKKy8qCisqKiBhbmRfMjU1 X3M2NF94OgorKioJYW5kCXowXC5kLCB6MFwuZCwgIzB4ZmYKKyoqCXJldAor Ki8KK1RFU1RfVU5JRk9STV9aIChhbmRfMjU1X3M2NF94LCBzdmludDY0X3Qs CisJCXowID0gc3ZhbmRfbl9zNjRfeCAocDAsIHowLCAyNTUpLAorCQl6MCA9 IHN2YW5kX3ggKHAwLCB6MCwgMjU1KSkKKworLyoKKyoqIGFuZF8yNTZfczY0 X3g6CisqKglhbmQJejBcLmQsIHowXC5kLCAjMHgxMDAKKyoqCXJldAorKi8K K1RFU1RfVU5JRk9STV9aIChhbmRfMjU2X3M2NF94LCBzdmludDY0X3QsCisJ CXowID0gc3ZhbmRfbl9zNjRfeCAocDAsIHowLCAyNTYpLAorCQl6MCA9IHN2 YW5kX3ggKHAwLCB6MCwgMjU2KSkKKworLyogVE9ETzogQmFkIGNvZGUgYW5k IG5lZWRzIGZpeGluZy4gICovCitURVNUX1VOSUZPUk1fWiAoYW5kXzI1N19z NjRfeCwgc3ZpbnQ2NF90LAorCQl6MCA9IHN2YW5kX25fczY0X3ggKHAwLCB6 MCwgMjU3KSwKKwkJejAgPSBzdmFuZF94IChwMCwgejAsIDI1NykpCisKKy8q CisqKiBhbmRfNTEyX3M2NF94OgorKioJYW5kCXowXC5kLCB6MFwuZCwgIzB4 MjAwCisqKglyZXQKKyovCitURVNUX1VOSUZPUk1fWiAoYW5kXzUxMl9zNjRf eCwgc3ZpbnQ2NF90LAorCQl6MCA9IHN2YW5kX25fczY0X3ggKHAwLCB6MCwg NTEyKSwKKwkJejAgPSBzdmFuZF94IChwMCwgejAsIDUxMikpCisKKy8qCisq KiBhbmRfNjUyODBfczY0X3g6CisqKglhbmQJejBcLmQsIHowXC5kLCAjMHhm ZjAwCisqKglyZXQKKyovCitURVNUX1VOSUZPUk1fWiAoYW5kXzY1MjgwX3M2 NF94LCBzdmludDY0X3QsCisJCXowID0gc3ZhbmRfbl9zNjRfeCAocDAsIHow LCAweGZmMDApLAorCQl6MCA9IHN2YW5kX3ggKHAwLCB6MCwgMHhmZjAwKSkK KworLyoKKyoqIGFuZF9tMTI3X3M2NF94OgorKioJYW5kCXowXC5kLCB6MFwu ZCwgIzB4ZmZmZmZmZmZmZmZmZmY4MQorKioJcmV0CisqLworVEVTVF9VTklG T1JNX1ogKGFuZF9tMTI3X3M2NF94LCBzdmludDY0X3QsCisJCXowID0gc3Zh bmRfbl9zNjRfeCAocDAsIHowLCAtMTI3KSwKKwkJejAgPSBzdmFuZF94IChw MCwgejAsIC0xMjcpKQorCisvKgorKiogYW5kX20xMjhfczY0X3g6CisqKglh bmQJejBcLmQsIHowXC5kLCAjMHhmZmZmZmZmZmZmZmZmZjgwCisqKglyZXQK KyovCitURVNUX1VOSUZPUk1fWiAoYW5kX20xMjhfczY0X3gsIHN2aW50NjRf dCwKKwkJejAgPSBzdmFuZF9uX3M2NF94IChwMCwgejAsIC0xMjgpLAorCQl6 MCA9IHN2YW5kX3ggKHAwLCB6MCwgLTEyOCkpCisKKy8qCisqKiBhbmRfbTI1 NV9zNjRfeDoKKyoqCWFuZAl6MFwuZCwgejBcLmQsICMweGZmZmZmZmZmZmZm ZmZmMDEKKyoqCXJldAorKi8KK1RFU1RfVU5JRk9STV9aIChhbmRfbTI1NV9z NjRfeCwgc3ZpbnQ2NF90LAorCQl6MCA9IHN2YW5kX25fczY0X3ggKHAwLCB6 MCwgLTI1NSksCisJCXowID0gc3ZhbmRfeCAocDAsIHowLCAtMjU1KSkKKwor LyoKKyoqIGFuZF9tMjU2X3M2NF94OgorKioJYW5kCXowXC5kLCB6MFwuZCwg IzB4ZmZmZmZmZmZmZmZmZmYwMAorKioJcmV0CisqLworVEVTVF9VTklGT1JN X1ogKGFuZF9tMjU2X3M2NF94LCBzdmludDY0X3QsCisJCXowID0gc3ZhbmRf bl9zNjRfeCAocDAsIHowLCAtMjU2KSwKKwkJejAgPSBzdmFuZF94IChwMCwg ejAsIC0yNTYpKQorCisvKgorKiogYW5kX20yNTdfczY0X3g6CisqKglhbmQJ ejBcLmQsIHowXC5kLCAjMHhmZmZmZmZmZmZmZmZmZWZmCisqKglyZXQKKyov CitURVNUX1VOSUZPUk1fWiAoYW5kX20yNTdfczY0X3gsIHN2aW50NjRfdCwK KwkJejAgPSBzdmFuZF9uX3M2NF94IChwMCwgejAsIC0yNTcpLAorCQl6MCA9 IHN2YW5kX3ggKHAwLCB6MCwgLTI1NykpCisKKy8qCisqKiBhbmRfbTUxMl9z NjRfeDoKKyoqCWFuZAl6MFwuZCwgejBcLmQsICMweGZmZmZmZmZmZmZmZmZl MDAKKyoqCXJldAorKi8KK1RFU1RfVU5JRk9STV9aIChhbmRfbTUxMl9zNjRf eCwgc3ZpbnQ2NF90LAorCQl6MCA9IHN2YW5kX25fczY0X3ggKHAwLCB6MCwg LTUxMiksCisJCXowID0gc3ZhbmRfeCAocDAsIHowLCAtNTEyKSkKKworLyoK KyoqIGFuZF9tMzI3NjhfczY0X3g6CisqKglhbmQJejBcLmQsIHowXC5kLCAj MHhmZmZmZmZmZmZmZmY4MDAwCisqKglyZXQKKyovCitURVNUX1VOSUZPUk1f WiAoYW5kX20zMjc2OF9zNjRfeCwgc3ZpbnQ2NF90LAorCQl6MCA9IHN2YW5k X25fczY0X3ggKHAwLCB6MCwgLTB4ODAwMCksCisJCXowID0gc3ZhbmRfeCAo cDAsIHowLCAtMHg4MDAwKSkKKworLyoKKyoqIGFuZF81X3M2NF94OgorKioJ bW92CSh6WzAtOV0rKVwuZCwgIzUKKyoqCWFuZAl6MFwuZCwgejBcLmQsIFwx XC5kCisqKglyZXQKKyovCitURVNUX1VOSUZPUk1fWiAoYW5kXzVfczY0X3gs IHN2aW50NjRfdCwKKwkJejAgPSBzdmFuZF9uX3M2NF94IChwMCwgejAsIDUp LAorCQl6MCA9IHN2YW5kX3ggKHAwLCB6MCwgNSkpCmRpZmYgLS1naXQgYS9n Y2MvdGVzdHN1aXRlL2djYy50YXJnZXQvYWFyY2g2NC9zdmUtYWNsZS9hc20v YW5kX3M4LmMgYi9nY2MvdGVzdHN1aXRlL2djYy50YXJnZXQvYWFyY2g2NC9z dmUtYWNsZS9hc20vYW5kX3M4LmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k ZXggMDAwMDAwMC4uZDhiNThmOQotLS0gL2Rldi9udWxsCisrKyBiL2djYy90 ZXN0c3VpdGUvZ2NjLnRhcmdldC9hYXJjaDY0L3N2ZS1hY2xlL2FzbS9hbmRf czguYwpAQCAtMCwwICsxLDMxNSBAQAorLyogeyBkZy1kbyBjb21waWxlIH0g Ki8KKy8qIHsgZGctZmluYWwgeyBjaGVjay1mdW5jdGlvbi1ib2RpZXMgIioq IiAiIiAiLURDSEVDS19BU00iIH0gfSAqLworCisjaW5jbHVkZSAidGVzdF9z dmVfYWNsZS5oIgorCisvKgorKiogYW5kX3M4X21fdGllZDE6CisqKglhbmQJ ejBcLmIsIHAwL20sIHowXC5iLCB6MVwuYgorKioJcmV0CisqLworVEVTVF9V TklGT1JNX1ogKGFuZF9zOF9tX3RpZWQxLCBzdmludDhfdCwKKwkJejAgPSBz dmFuZF9zOF9tIChwMCwgejAsIHoxKSwKKwkJejAgPSBzdmFuZF9tIChwMCwg ejAsIHoxKSkKKworLyogQmFkIFJBIGNob2ljZTogbm8gcHJlZmVycmVkIG91 dHB1dCBzZXF1ZW5jZS4gICovCitURVNUX1VOSUZPUk1fWiAoYW5kX3M4X21f dGllZDIsIHN2aW50OF90LAorCQl6MSA9IHN2YW5kX3M4X20gKHAwLCB6MCwg ejEpLAorCQl6MSA9IHN2YW5kX20gKHAwLCB6MCwgejEpKQorCisvKgorKiog YW5kX3M4X21fdW50aWVkOgorKioJbW92cHJmeAl6MCwgejEKKyoqCWFuZAl6 MFwuYiwgcDAvbSwgejBcLmIsIHoyXC5iCisqKglyZXQKKyovCitURVNUX1VO SUZPUk1fWiAoYW5kX3M4X21fdW50aWVkLCBzdmludDhfdCwKKwkJejAgPSBz dmFuZF9zOF9tIChwMCwgejEsIHoyKSwKKwkJejAgPSBzdmFuZF9tIChwMCwg ejEsIHoyKSkKKworLyoKKyoqIGFuZF93MF9zOF9tX3RpZWQxOgorKioJbW92 CSh6WzAtOV0rXC5iKSwgdzAKKyoqCWFuZAl6MFwuYiwgcDAvbSwgejBcLmIs IFwxCisqKglyZXQKKyovCitURVNUX1VOSUZPUk1fWlMgKGFuZF93MF9zOF9t X3RpZWQxLCBzdmludDhfdCwgaW50OF90LAorCQkgejAgPSBzdmFuZF9uX3M4 X20gKHAwLCB6MCwgeDApLAorCQkgejAgPSBzdmFuZF9tIChwMCwgejAsIHgw KSkKKworLyoKKyoqIGFuZF93MF9zOF9tX3VudGllZDoKKyoqCW1vdgkoelsw LTldK1wuYiksIHcwCisqKgltb3ZwcmZ4CXowLCB6MQorKioJYW5kCXowXC5i LCBwMC9tLCB6MFwuYiwgXDEKKyoqCXJldAorKi8KK1RFU1RfVU5JRk9STV9a UyAoYW5kX3cwX3M4X21fdW50aWVkLCBzdmludDhfdCwgaW50OF90LAorCQkg ejAgPSBzdmFuZF9uX3M4X20gKHAwLCB6MSwgeDApLAorCQkgejAgPSBzdmFu ZF9tIChwMCwgejEsIHgwKSkKKworLyoKKyoqIGFuZF9iMF9zOF9tX3RpZWQx OgorKioJbW92CSh6WzAtOV0rXC5iKSwgYjAKKyoqCWFuZAl6MVwuYiwgcDAv bSwgejFcLmIsIFwxCisqKglyZXQKKyovCitURVNUX1VOSUZPUk1fWlMgKGFu ZF9iMF9zOF9tX3RpZWQxLCBzdmludDhfdCwgaW50OF90LAorCQkgejEgPSBz dmFuZF9uX3M4X20gKHAwLCB6MSwgZDApLAorCQkgejEgPSBzdmFuZF9tIChw MCwgejEsIGQwKSkKKworLyoKKyoqIGFuZF9iMF9zOF9tX3VudGllZDoKKyoq CW1vdgkoelswLTldK1wuYiksIGIwCisqKgltb3ZwcmZ4CXoxLCB6MgorKioJ YW5kCXoxXC5iLCBwMC9tLCB6MVwuYiwgXDEKKyoqCXJldAorKi8KK1RFU1Rf VU5JRk9STV9aUyAoYW5kX2IwX3M4X21fdW50aWVkLCBzdmludDhfdCwgaW50 OF90LAorCQkgejEgPSBzdmFuZF9uX3M4X20gKHAwLCB6MiwgZDApLAorCQkg ejEgPSBzdmFuZF9tIChwMCwgejIsIGQwKSkKKworLyoKKyoqIGFuZF8xX3M4 X21fdGllZDE6CisqKgltb3YJKHpbMC05XStcLmIpLCAjMQorKioJYW5kCXow XC5iLCBwMC9tLCB6MFwuYiwgXDEKKyoqCXJldAorKi8KK1RFU1RfVU5JRk9S TV9aIChhbmRfMV9zOF9tX3RpZWQxLCBzdmludDhfdCwKKwkJejAgPSBzdmFu ZF9uX3M4X20gKHAwLCB6MCwgMSksCisJCXowID0gc3ZhbmRfbSAocDAsIHow LCAxKSkKKworLyoKKyoqIGFuZF8xX3M4X21fdW50aWVkOgorKioJbW92CSh6 WzAtOV0rXC5iKSwgIzEKKyoqCW1vdnByZngJejAsIHoxCisqKglhbmQJejBc LmIsIHAwL20sIHowXC5iLCBcMQorKioJcmV0CisqLworVEVTVF9VTklGT1JN X1ogKGFuZF8xX3M4X21fdW50aWVkLCBzdmludDhfdCwKKwkJejAgPSBzdmFu ZF9uX3M4X20gKHAwLCB6MSwgMSksCisJCXowID0gc3ZhbmRfbSAocDAsIHox LCAxKSkKKworLyoKKyoqIGFuZF9tMl9zOF9tOgorKioJbW92CSh6WzAtOV0r XC5iKSwgIy0yCisqKglhbmQJejBcLmIsIHAwL20sIHowXC5iLCBcMQorKioJ cmV0CisqLworVEVTVF9VTklGT1JNX1ogKGFuZF9tMl9zOF9tLCBzdmludDhf dCwKKwkJejAgPSBzdmFuZF9uX3M4X20gKHAwLCB6MCwgLTIpLAorCQl6MCA9 IHN2YW5kX20gKHAwLCB6MCwgLTIpKQorCisvKgorKiogYW5kX3M4X3pfdGll ZDE6CisqKgltb3ZwcmZ4CXowXC5iLCBwMC96LCB6MFwuYgorKioJYW5kCXow XC5iLCBwMC9tLCB6MFwuYiwgejFcLmIKKyoqCXJldAorKi8KK1RFU1RfVU5J Rk9STV9aIChhbmRfczhfel90aWVkMSwgc3ZpbnQ4X3QsCisJCXowID0gc3Zh bmRfczhfeiAocDAsIHowLCB6MSksCisJCXowID0gc3ZhbmRfeiAocDAsIHow LCB6MSkpCisKKy8qCisqKiBhbmRfczhfel90aWVkMjoKKyoqCW1vdnByZngJ ejFcLmIsIHAwL3osIHoxXC5iCisqKglhbmQJejFcLmIsIHAwL20sIHoxXC5i LCB6MFwuYgorKioJcmV0CisqLworVEVTVF9VTklGT1JNX1ogKGFuZF9zOF96 X3RpZWQyLCBzdmludDhfdCwKKwkJejEgPSBzdmFuZF9zOF96IChwMCwgejAs IHoxKSwKKwkJejEgPSBzdmFuZF96IChwMCwgejAsIHoxKSkKKworLyoKKyoq IGFuZF9zOF96X3VudGllZDoKKyoqCW1vdnByZngJejBcLmIsIHAwL3osIHox XC5iCisqKglhbmQJejBcLmIsIHAwL20sIHowXC5iLCB6MlwuYgorKioJcmV0 CisqLworVEVTVF9VTklGT1JNX1ogKGFuZF9zOF96X3VudGllZCwgc3ZpbnQ4 X3QsCisJCXowID0gc3ZhbmRfczhfeiAocDAsIHoxLCB6MiksCisJCXowID0g c3ZhbmRfeiAocDAsIHoxLCB6MikpCisKKy8qCisqKiBhbmRfdzBfczhfel90 aWVkMToKKyoqCW1vdgkoelswLTldK1wuYiksIHcwCisqKgltb3ZwcmZ4CXow XC5iLCBwMC96LCB6MFwuYgorKioJYW5kCXowXC5iLCBwMC9tLCB6MFwuYiwg XDEKKyoqCXJldAorKi8KK1RFU1RfVU5JRk9STV9aUyAoYW5kX3cwX3M4X3pf dGllZDEsIHN2aW50OF90LCBpbnQ4X3QsCisJCSB6MCA9IHN2YW5kX25fczhf eiAocDAsIHowLCB4MCksCisJCSB6MCA9IHN2YW5kX3ogKHAwLCB6MCwgeDAp KQorCisvKgorKiogYW5kX3cwX3M4X3pfdW50aWVkOgorKioJbW92CSh6WzAt OV0rXC5iKSwgdzAKKyoqCW1vdnByZngJejBcLmIsIHAwL3osIHoxXC5iCisq KglhbmQJejBcLmIsIHAwL20sIHowXC5iLCBcMQorKioJcmV0CisqLworVEVT VF9VTklGT1JNX1pTIChhbmRfdzBfczhfel91bnRpZWQsIHN2aW50OF90LCBp bnQ4X3QsCisJCSB6MCA9IHN2YW5kX25fczhfeiAocDAsIHoxLCB4MCksCisJ CSB6MCA9IHN2YW5kX3ogKHAwLCB6MSwgeDApKQorCisvKgorKiogYW5kX2Iw X3M4X3pfdGllZDE6CisqKgltb3YJKHpbMC05XStcLmIpLCBiMAorKioJbW92 cHJmeAl6MVwuYiwgcDAveiwgejFcLmIKKyoqCWFuZAl6MVwuYiwgcDAvbSwg ejFcLmIsIFwxCisqKglyZXQKKyovCitURVNUX1VOSUZPUk1fWlMgKGFuZF9i MF9zOF96X3RpZWQxLCBzdmludDhfdCwgaW50OF90LAorCQkgejEgPSBzdmFu ZF9uX3M4X3ogKHAwLCB6MSwgZDApLAorCQkgejEgPSBzdmFuZF96IChwMCwg ejEsIGQwKSkKKworLyoKKyoqIGFuZF9iMF9zOF96X3VudGllZDoKKyoqCW1v dgkoelswLTldK1wuYiksIGIwCisqKgltb3ZwcmZ4CXoxXC5iLCBwMC96LCB6 MlwuYgorKioJYW5kCXoxXC5iLCBwMC9tLCB6MVwuYiwgXDEKKyoqCXJldAor Ki8KK1RFU1RfVU5JRk9STV9aUyAoYW5kX2IwX3M4X3pfdW50aWVkLCBzdmlu dDhfdCwgaW50OF90LAorCQkgejEgPSBzdmFuZF9uX3M4X3ogKHAwLCB6Miwg ZDApLAorCQkgejEgPSBzdmFuZF96IChwMCwgejIsIGQwKSkKKworLyoKKyoq IGFuZF9zOF94X3RpZWQxOgorKioJYW5kCXowXC5kLCB6MFwuZCwgejFcLmQK KyoqCXJldAorKi8KK1RFU1RfVU5JRk9STV9aIChhbmRfczhfeF90aWVkMSwg c3ZpbnQ4X3QsCisJCXowID0gc3ZhbmRfczhfeCAocDAsIHowLCB6MSksCisJ CXowID0gc3ZhbmRfeCAocDAsIHowLCB6MSkpCisKKy8qCisqKiBhbmRfczhf eF90aWVkMjoKKyoqCWFuZAl6MVwuZCwgejBcLmQsIHoxXC5kCisqKglyZXQK KyovCitURVNUX1VOSUZPUk1fWiAoYW5kX3M4X3hfdGllZDIsIHN2aW50OF90 LAorCQl6MSA9IHN2YW5kX3M4X3ggKHAwLCB6MCwgejEpLAorCQl6MSA9IHN2 YW5kX3ggKHAwLCB6MCwgejEpKQorCisvKgorKiogYW5kX3M4X3hfdW50aWVk OgorKioJYW5kCXoyXC5kLCB6MFwuZCwgejFcLmQKKyoqCXJldAorKi8KK1RF U1RfVU5JRk9STV9aIChhbmRfczhfeF91bnRpZWQsIHN2aW50OF90LAorCQl6 MiA9IHN2YW5kX3M4X3ggKHAwLCB6MCwgejEpLAorCQl6MiA9IHN2YW5kX3gg KHAwLCB6MCwgejEpKQorCisvKgorKiogYW5kX3cwX3M4X3hfdGllZDE6Cisq Kgltb3YJKHpbMC05XSspXC5iLCB3MAorKioJYW5kCXowXC5kLCB6MFwuZCwg XDFcLmQKKyoqCXJldAorKi8KK1RFU1RfVU5JRk9STV9aUyAoYW5kX3cwX3M4 X3hfdGllZDEsIHN2aW50OF90LCBpbnQ4X3QsCisJCSB6MCA9IHN2YW5kX25f czhfeCAocDAsIHowLCB4MCksCisJCSB6MCA9IHN2YW5kX3ggKHAwLCB6MCwg eDApKQorCisvKgorKiogYW5kX3cwX3M4X3hfdW50aWVkOgorKioJbW92CXox XC5iLCB3MAorKioJYW5kCXoxXC5kLCB6MFwuZCwgejFcLmQKKyoqCXJldAor Ki8KK1RFU1RfVU5JRk9STV9aUyAoYW5kX3cwX3M4X3hfdW50aWVkLCBzdmlu dDhfdCwgaW50OF90LAorCQkgejEgPSBzdmFuZF9uX3M4X3ggKHAwLCB6MCwg eDApLAorCQkgejEgPSBzdmFuZF94IChwMCwgejAsIHgwKSkKKworLyoKKyoq IGFuZF9iMF9zOF94X3RpZWQxOgorKioJbW92CSh6WzAtOV0rKVwuYiwgYjAK KyoqCWFuZAl6MVwuZCwgejFcLmQsIFwxXC5kCisqKglyZXQKKyovCitURVNU X1VOSUZPUk1fWlMgKGFuZF9iMF9zOF94X3RpZWQxLCBzdmludDhfdCwgaW50 OF90LAorCQkgejEgPSBzdmFuZF9uX3M4X3ggKHAwLCB6MSwgZDApLAorCQkg ejEgPSBzdmFuZF94IChwMCwgejEsIGQwKSkKKworLyoKKyoqIGFuZF9iMF9z OF94X3VudGllZDoKKyoqCW1vdgkoelswLTldKylcLmIsIGIwCisqKglhbmQJ ejJcLmQsIHoxXC5kLCBcMVwuZAorKioJcmV0CisqLworVEVTVF9VTklGT1JN X1pTIChhbmRfYjBfczhfeF91bnRpZWQsIHN2aW50OF90LCBpbnQ4X3QsCisJ CSB6MiA9IHN2YW5kX25fczhfeCAocDAsIHoxLCBkMCksCisJCSB6MiA9IHN2 YW5kX3ggKHAwLCB6MSwgZDApKQorCisvKgorKiogYW5kXzFfczhfeF90aWVk MToKKyoqCWFuZAl6MFwuYiwgejBcLmIsICMweDEKKyoqCXJldAorKi8KK1RF U1RfVU5JRk9STV9aIChhbmRfMV9zOF94X3RpZWQxLCBzdmludDhfdCwKKwkJ ejAgPSBzdmFuZF9uX3M4X3ggKHAwLCB6MCwgMSksCisJCXowID0gc3ZhbmRf eCAocDAsIHowLCAxKSkKKworLyoKKyoqIGFuZF8xX3M4X3hfdW50aWVkOgor KioJbW92cHJmeAl6MCwgejEKKyoqCWFuZAl6MFwuYiwgejBcLmIsICMweDEK KyoqCXJldAorKi8KK1RFU1RfVU5JRk9STV9aIChhbmRfMV9zOF94X3VudGll ZCwgc3ZpbnQ4X3QsCisJCXowID0gc3ZhbmRfbl9zOF94IChwMCwgejEsIDEp LAorCQl6MCA9IHN2YW5kX3ggKHAwLCB6MSwgMSkpCisKKy8qCisqKiBhbmRf MTI3X3M4X3g6CisqKglhbmQJejBcLmIsIHowXC5iLCAjMHg3ZgorKioJcmV0 CisqLworVEVTVF9VTklGT1JNX1ogKGFuZF8xMjdfczhfeCwgc3ZpbnQ4X3Qs CisJCXowID0gc3ZhbmRfbl9zOF94IChwMCwgejAsIDEyNyksCisJCXowID0g c3ZhbmRfeCAocDAsIHowLCAxMjcpKQorCisvKgorKiogYW5kXzEyOF9zOF94 OgorKioJYW5kCXowXC5iLCB6MFwuYiwgIzB4ODAKKyoqCXJldAorKi8KK1RF U1RfVU5JRk9STV9aIChhbmRfMTI4X3M4X3gsIHN2aW50OF90LAorCQl6MCA9 IHN2YW5kX25fczhfeCAocDAsIHowLCAxMjgpLAorCQl6MCA9IHN2YW5kX3gg KHAwLCB6MCwgMTI4KSkKKworLyoKKyoqIGFuZF8yNTVfczhfeDoKKyoqCXJl dAorKi8KK1RFU1RfVU5JRk9STV9aIChhbmRfMjU1X3M4X3gsIHN2aW50OF90 LAorCQl6MCA9IHN2YW5kX25fczhfeCAocDAsIHowLCAyNTUpLAorCQl6MCA9 IHN2YW5kX3ggKHAwLCB6MCwgMjU1KSkKKworLyoKKyoqIGFuZF9tMTI3X3M4 X3g6CisqKglhbmQJejBcLmIsIHowXC5iLCAjMHg4MQorKioJcmV0CisqLwor VEVTVF9VTklGT1JNX1ogKGFuZF9tMTI3X3M4X3gsIHN2aW50OF90LAorCQl6 MCA9IHN2YW5kX25fczhfeCAocDAsIHowLCAtMTI3KSwKKwkJejAgPSBzdmFu ZF94IChwMCwgejAsIC0xMjcpKQorCisvKgorKiogYW5kX20xMjhfczhfeDoK KyoqCWFuZAl6MFwuYiwgejBcLmIsICMweDgwCisqKglyZXQKKyovCitURVNU X1VOSUZPUk1fWiAoYW5kX20xMjhfczhfeCwgc3ZpbnQ4X3QsCisJCXowID0g c3ZhbmRfbl9zOF94IChwMCwgejAsIC0xMjgpLAorCQl6MCA9IHN2YW5kX3gg KHAwLCB6MCwgLTEyOCkpCisKKy8qCisqKiBhbmRfNV9zOF94OgorKioJbW92 CSh6WzAtOV0rKVwuYiwgIzUKKyoqCWFuZAl6MFwuZCwgejBcLmQsIFwxXC5k CisqKglyZXQKKyovCitURVNUX1VOSUZPUk1fWiAoYW5kXzVfczhfeCwgc3Zp bnQ4X3QsCisJCXowID0gc3ZhbmRfbl9zOF94IChwMCwgejAsIDUpLAorCQl6 MCA9IHN2YW5kX3ggKHAwLCB6MCwgNSkpCmRpZmYgLS1naXQgYS9nY2MvdGVz dHN1aXRlL2djYy50YXJnZXQvYWFyY2g2NC9zdmUtYWNsZS9hc20vYW5kX3Ux Ni5jIGIvZ2NjL3Rlc3RzdWl0ZS9nY2MudGFyZ2V0L2FhcmNoNjQvc3ZlLWFj bGUvYXNtL2FuZF91MTYuYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw MDAwMDAwLi5hZWZmNjc5Ci0tLSAvZGV2L251bGwKKysrIGIvZ2NjL3Rlc3Rz dWl0ZS9nY2MudGFyZ2V0L2FhcmNoNjQvc3ZlLWFjbGUvYXNtL2FuZF91MTYu YwpAQCAtMCwwICsxLDM5NyBAQAorLyogeyBkZy1kbyBjb21waWxlIH0gKi8K Ky8qIHsgZGctZmluYWwgeyBjaGVjay1mdW5jdGlvbi1ib2RpZXMgIioqIiAi IiAiLURDSEVDS19BU00iIH0gfSAqLworCisjaW5jbHVkZSAidGVzdF9zdmVf YWNsZS5oIgorCisvKgorKiogYW5kX3UxNl9tX3RpZWQxOgorKioJYW5kCXow XC5oLCBwMC9tLCB6MFwuaCwgejFcLmgKKyoqCXJldAorKi8KK1RFU1RfVU5J Rk9STV9aIChhbmRfdTE2X21fdGllZDEsIHN2dWludDE2X3QsCisJCXowID0g c3ZhbmRfdTE2X20gKHAwLCB6MCwgejEpLAorCQl6MCA9IHN2YW5kX20gKHAw LCB6MCwgejEpKQorCisvKiBCYWQgUkEgY2hvaWNlOiBubyBwcmVmZXJyZWQg b3V0cHV0IHNlcXVlbmNlLiAgKi8KK1RFU1RfVU5JRk9STV9aIChhbmRfdTE2 X21fdGllZDIsIHN2dWludDE2X3QsCisJCXoxID0gc3ZhbmRfdTE2X20gKHAw LCB6MCwgejEpLAorCQl6MSA9IHN2YW5kX20gKHAwLCB6MCwgejEpKQorCisv KgorKiogYW5kX3UxNl9tX3VudGllZDoKKyoqCW1vdnByZngJejAsIHoxCisq KglhbmQJejBcLmgsIHAwL20sIHowXC5oLCB6MlwuaAorKioJcmV0CisqLwor VEVTVF9VTklGT1JNX1ogKGFuZF91MTZfbV91bnRpZWQsIHN2dWludDE2X3Qs CisJCXowID0gc3ZhbmRfdTE2X20gKHAwLCB6MSwgejIpLAorCQl6MCA9IHN2 YW5kX20gKHAwLCB6MSwgejIpKQorCisvKgorKiogYW5kX3cwX3UxNl9tX3Rp ZWQxOgorKioJbW92CSh6WzAtOV0rXC5oKSwgdzAKKyoqCWFuZAl6MFwuaCwg cDAvbSwgejBcLmgsIFwxCisqKglyZXQKKyovCitURVNUX1VOSUZPUk1fWlMg KGFuZF93MF91MTZfbV90aWVkMSwgc3Z1aW50MTZfdCwgdWludDE2X3QsCisJ CSB6MCA9IHN2YW5kX25fdTE2X20gKHAwLCB6MCwgeDApLAorCQkgejAgPSBz dmFuZF9tIChwMCwgejAsIHgwKSkKKworLyoKKyoqIGFuZF93MF91MTZfbV91 bnRpZWQ6CisqKgltb3YJKHpbMC05XStcLmgpLCB3MAorKioJbW92cHJmeAl6 MCwgejEKKyoqCWFuZAl6MFwuaCwgcDAvbSwgejBcLmgsIFwxCisqKglyZXQK KyovCitURVNUX1VOSUZPUk1fWlMgKGFuZF93MF91MTZfbV91bnRpZWQsIHN2 dWludDE2X3QsIHVpbnQxNl90LAorCQkgejAgPSBzdmFuZF9uX3UxNl9tIChw MCwgejEsIHgwKSwKKwkJIHowID0gc3ZhbmRfbSAocDAsIHoxLCB4MCkpCisK Ky8qCisqKiBhbmRfaDBfdTE2X21fdGllZDE6CisqKgltb3YJKHpbMC05XStc LmgpLCBoMAorKioJYW5kCXoxXC5oLCBwMC9tLCB6MVwuaCwgXDEKKyoqCXJl dAorKi8KK1RFU1RfVU5JRk9STV9aUyAoYW5kX2gwX3UxNl9tX3RpZWQxLCBz dnVpbnQxNl90LCB1aW50MTZfdCwKKwkJIHoxID0gc3ZhbmRfbl91MTZfbSAo cDAsIHoxLCBkMCksCisJCSB6MSA9IHN2YW5kX20gKHAwLCB6MSwgZDApKQor CisvKgorKiogYW5kX2gwX3UxNl9tX3VudGllZDoKKyoqCW1vdgkoelswLTld K1wuaCksIGgwCisqKgltb3ZwcmZ4CXoxLCB6MgorKioJYW5kCXoxXC5oLCBw MC9tLCB6MVwuaCwgXDEKKyoqCXJldAorKi8KK1RFU1RfVU5JRk9STV9aUyAo YW5kX2gwX3UxNl9tX3VudGllZCwgc3Z1aW50MTZfdCwgdWludDE2X3QsCisJ CSB6MSA9IHN2YW5kX25fdTE2X20gKHAwLCB6MiwgZDApLAorCQkgejEgPSBz dmFuZF9tIChwMCwgejIsIGQwKSkKKworLyoKKyoqIGFuZF8xX3UxNl9tX3Rp ZWQxOgorKioJbW92CSh6WzAtOV0rXC5oKSwgIzEKKyoqCWFuZAl6MFwuaCwg cDAvbSwgejBcLmgsIFwxCisqKglyZXQKKyovCitURVNUX1VOSUZPUk1fWiAo YW5kXzFfdTE2X21fdGllZDEsIHN2dWludDE2X3QsCisJCXowID0gc3ZhbmRf bl91MTZfbSAocDAsIHowLCAxKSwKKwkJejAgPSBzdmFuZF9tIChwMCwgejAs IDEpKQorCisvKgorKiogYW5kXzFfdTE2X21fdW50aWVkOgorKioJbW92CSh6 WzAtOV0rXC5oKSwgIzEKKyoqCW1vdnByZngJejAsIHoxCisqKglhbmQJejBc LmgsIHAwL20sIHowXC5oLCBcMQorKioJcmV0CisqLworVEVTVF9VTklGT1JN X1ogKGFuZF8xX3UxNl9tX3VudGllZCwgc3Z1aW50MTZfdCwKKwkJejAgPSBz dmFuZF9uX3UxNl9tIChwMCwgejEsIDEpLAorCQl6MCA9IHN2YW5kX20gKHAw LCB6MSwgMSkpCisKKy8qCisqKiBhbmRfbTJfdTE2X206CisqKgltb3YJKHpb MC05XStcLmgpLCAjLTIKKyoqCWFuZAl6MFwuaCwgcDAvbSwgejBcLmgsIFwx CisqKglyZXQKKyovCitURVNUX1VOSUZPUk1fWiAoYW5kX20yX3UxNl9tLCBz dnVpbnQxNl90LAorCQl6MCA9IHN2YW5kX25fdTE2X20gKHAwLCB6MCwgLTIp LAorCQl6MCA9IHN2YW5kX20gKHAwLCB6MCwgLTIpKQorCisvKgorKiogYW5k X3UxNl96X3RpZWQxOgorKioJbW92cHJmeAl6MFwuaCwgcDAveiwgejBcLmgK KyoqCWFuZAl6MFwuaCwgcDAvbSwgejBcLmgsIHoxXC5oCisqKglyZXQKKyov CitURVNUX1VOSUZPUk1fWiAoYW5kX3UxNl96X3RpZWQxLCBzdnVpbnQxNl90 LAorCQl6MCA9IHN2YW5kX3UxNl96IChwMCwgejAsIHoxKSwKKwkJejAgPSBz dmFuZF96IChwMCwgejAsIHoxKSkKKworLyoKKyoqIGFuZF91MTZfel90aWVk MjoKKyoqCW1vdnByZngJejFcLmgsIHAwL3osIHoxXC5oCisqKglhbmQJejFc LmgsIHAwL20sIHoxXC5oLCB6MFwuaAorKioJcmV0CisqLworVEVTVF9VTklG T1JNX1ogKGFuZF91MTZfel90aWVkMiwgc3Z1aW50MTZfdCwKKwkJejEgPSBz dmFuZF91MTZfeiAocDAsIHowLCB6MSksCisJCXoxID0gc3ZhbmRfeiAocDAs IHowLCB6MSkpCisKKy8qCisqKiBhbmRfdTE2X3pfdW50aWVkOgorKioJbW92 cHJmeAl6MFwuaCwgcDAveiwgejFcLmgKKyoqCWFuZAl6MFwuaCwgcDAvbSwg ejBcLmgsIHoyXC5oCisqKglyZXQKKyovCitURVNUX1VOSUZPUk1fWiAoYW5k X3UxNl96X3VudGllZCwgc3Z1aW50MTZfdCwKKwkJejAgPSBzdmFuZF91MTZf eiAocDAsIHoxLCB6MiksCisJCXowID0gc3ZhbmRfeiAocDAsIHoxLCB6Mikp CisKKy8qCisqKiBhbmRfdzBfdTE2X3pfdGllZDE6CisqKgltb3YJKHpbMC05 XStcLmgpLCB3MAorKioJbW92cHJmeAl6MFwuaCwgcDAveiwgejBcLmgKKyoq CWFuZAl6MFwuaCwgcDAvbSwgejBcLmgsIFwxCisqKglyZXQKKyovCitURVNU X1VOSUZPUk1fWlMgKGFuZF93MF91MTZfel90aWVkMSwgc3Z1aW50MTZfdCwg dWludDE2X3QsCisJCSB6MCA9IHN2YW5kX25fdTE2X3ogKHAwLCB6MCwgeDAp LAorCQkgejAgPSBzdmFuZF96IChwMCwgejAsIHgwKSkKKworLyoKKyoqIGFu ZF93MF91MTZfel91bnRpZWQ6CisqKgltb3YJKHpbMC05XStcLmgpLCB3MAor KioJbW92cHJmeAl6MFwuaCwgcDAveiwgejFcLmgKKyoqCWFuZAl6MFwuaCwg cDAvbSwgejBcLmgsIFwxCisqKglyZXQKKyovCitURVNUX1VOSUZPUk1fWlMg KGFuZF93MF91MTZfel91bnRpZWQsIHN2dWludDE2X3QsIHVpbnQxNl90LAor CQkgejAgPSBzdmFuZF9uX3UxNl96IChwMCwgejEsIHgwKSwKKwkJIHowID0g c3ZhbmRfeiAocDAsIHoxLCB4MCkpCisKKy8qCisqKiBhbmRfaDBfdTE2X3pf dGllZDE6CisqKgltb3YJKHpbMC05XStcLmgpLCBoMAorKioJbW92cHJmeAl6 MVwuaCwgcDAveiwgejFcLmgKKyoqCWFuZAl6MVwuaCwgcDAvbSwgejFcLmgs IFwxCisqKglyZXQKKyovCitURVNUX1VOSUZPUk1fWlMgKGFuZF9oMF91MTZf el90aWVkMSwgc3Z1aW50MTZfdCwgdWludDE2X3QsCisJCSB6MSA9IHN2YW5k X25fdTE2X3ogKHAwLCB6MSwgZDApLAorCQkgejEgPSBzdmFuZF96IChwMCwg ejEsIGQwKSkKKworLyoKKyoqIGFuZF9oMF91MTZfel91bnRpZWQ6CisqKglt b3YJKHpbMC05XStcLmgpLCBoMAorKioJbW92cHJmeAl6MVwuaCwgcDAveiwg ejJcLmgKKyoqCWFuZAl6MVwuaCwgcDAvbSwgejFcLmgsIFwxCisqKglyZXQK KyovCitURVNUX1VOSUZPUk1fWlMgKGFuZF9oMF91MTZfel91bnRpZWQsIHN2 dWludDE2X3QsIHVpbnQxNl90LAorCQkgejEgPSBzdmFuZF9uX3UxNl96IChw MCwgejIsIGQwKSwKKwkJIHoxID0gc3ZhbmRfeiAocDAsIHoyLCBkMCkpCisK Ky8qCisqKiBhbmRfdTE2X3hfdGllZDE6CisqKglhbmQJejBcLmQsIHowXC5k LCB6MVwuZAorKioJcmV0CisqLworVEVTVF9VTklGT1JNX1ogKGFuZF91MTZf eF90aWVkMSwgc3Z1aW50MTZfdCwKKwkJejAgPSBzdmFuZF91MTZfeCAocDAs IHowLCB6MSksCisJCXowID0gc3ZhbmRfeCAocDAsIHowLCB6MSkpCisKKy8q CisqKiBhbmRfdTE2X3hfdGllZDI6CisqKglhbmQJejFcLmQsIHowXC5kLCB6 MVwuZAorKioJcmV0CisqLworVEVTVF9VTklGT1JNX1ogKGFuZF91MTZfeF90 aWVkMiwgc3Z1aW50MTZfdCwKKwkJejEgPSBzdmFuZF91MTZfeCAocDAsIHow LCB6MSksCisJCXoxID0gc3ZhbmRfeCAocDAsIHowLCB6MSkpCisKKy8qCisq KiBhbmRfdTE2X3hfdW50aWVkOgorKioJYW5kCXoyXC5kLCB6MFwuZCwgejFc LmQKKyoqCXJldAorKi8KK1RFU1RfVU5JRk9STV9aIChhbmRfdTE2X3hfdW50 aWVkLCBzdnVpbnQxNl90LAorCQl6MiA9IHN2YW5kX3UxNl94IChwMCwgejAs IHoxKSwKKwkJejIgPSBzdmFuZF94IChwMCwgejAsIHoxKSkKKworLyoKKyoq IGFuZF93MF91MTZfeF90aWVkMToKKyoqCW1vdgkoelswLTldKylcLmgsIHcw CisqKglhbmQJejBcLmQsIHowXC5kLCBcMVwuZAorKioJcmV0CisqLworVEVT VF9VTklGT1JNX1pTIChhbmRfdzBfdTE2X3hfdGllZDEsIHN2dWludDE2X3Qs IHVpbnQxNl90LAorCQkgejAgPSBzdmFuZF9uX3UxNl94IChwMCwgejAsIHgw KSwKKwkJIHowID0gc3ZhbmRfeCAocDAsIHowLCB4MCkpCisKKy8qCisqKiBh bmRfdzBfdTE2X3hfdW50aWVkOgorKioJbW92CXoxXC5oLCB3MAorKioJYW5k CXoxXC5kLCB6MFwuZCwgejFcLmQKKyoqCXJldAorKi8KK1RFU1RfVU5JRk9S TV9aUyAoYW5kX3cwX3UxNl94X3VudGllZCwgc3Z1aW50MTZfdCwgdWludDE2 X3QsCisJCSB6MSA9IHN2YW5kX25fdTE2X3ggKHAwLCB6MCwgeDApLAorCQkg ejEgPSBzdmFuZF94IChwMCwgejAsIHgwKSkKKworLyoKKyoqIGFuZF9oMF91 MTZfeF90aWVkMToKKyoqCW1vdgkoelswLTldKylcLmgsIGgwCisqKglhbmQJ ejFcLmQsIHoxXC5kLCBcMVwuZAorKioJcmV0CisqLworVEVTVF9VTklGT1JN X1pTIChhbmRfaDBfdTE2X3hfdGllZDEsIHN2dWludDE2X3QsIHVpbnQxNl90 LAorCQkgejEgPSBzdmFuZF9uX3UxNl94IChwMCwgejEsIGQwKSwKKwkJIHox ID0gc3ZhbmRfeCAocDAsIHoxLCBkMCkpCisKKy8qCisqKiBhbmRfaDBfdTE2 X3hfdW50aWVkOgorKioJbW92CSh6WzAtOV0rKVwuaCwgaDAKKyoqCWFuZAl6 MlwuZCwgejFcLmQsIFwxXC5kCisqKglyZXQKKyovCitURVNUX1VOSUZPUk1f WlMgKGFuZF9oMF91MTZfeF91bnRpZWQsIHN2dWludDE2X3QsIHVpbnQxNl90 LAorCQkgejIgPSBzdmFuZF9uX3UxNl94IChwMCwgejEsIGQwKSwKKwkJIHoy ID0gc3ZhbmRfeCAocDAsIHoxLCBkMCkpCisKKy8qCisqKiBhbmRfMV91MTZf eF90aWVkMToKKyoqCWFuZAl6MFwuaCwgejBcLmgsICMweDEKKyoqCXJldAor Ki8KK1RFU1RfVU5JRk9STV9aIChhbmRfMV91MTZfeF90aWVkMSwgc3Z1aW50 MTZfdCwKKwkJejAgPSBzdmFuZF9uX3UxNl94IChwMCwgejAsIDEpLAorCQl6 MCA9IHN2YW5kX3ggKHAwLCB6MCwgMSkpCisKKy8qCisqKiBhbmRfMV91MTZf eF91bnRpZWQ6CisqKgltb3ZwcmZ4CXowLCB6MQorKioJYW5kCXowXC5oLCB6 MFwuaCwgIzB4MQorKioJcmV0CisqLworVEVTVF9VTklGT1JNX1ogKGFuZF8x X3UxNl94X3VudGllZCwgc3Z1aW50MTZfdCwKKwkJejAgPSBzdmFuZF9uX3Ux Nl94IChwMCwgejEsIDEpLAorCQl6MCA9IHN2YW5kX3ggKHAwLCB6MSwgMSkp CisKKy8qCisqKiBhbmRfMTI3X3UxNl94OgorKioJYW5kCXowXC5oLCB6MFwu aCwgIzB4N2YKKyoqCXJldAorKi8KK1RFU1RfVU5JRk9STV9aIChhbmRfMTI3 X3UxNl94LCBzdnVpbnQxNl90LAorCQl6MCA9IHN2YW5kX25fdTE2X3ggKHAw LCB6MCwgMTI3KSwKKwkJejAgPSBzdmFuZF94IChwMCwgejAsIDEyNykpCisK Ky8qCisqKiBhbmRfMTI4X3UxNl94OgorKioJYW5kCXowXC5oLCB6MFwuaCwg IzB4ODAKKyoqCXJldAorKi8KK1RFU1RfVU5JRk9STV9aIChhbmRfMTI4X3Ux Nl94LCBzdnVpbnQxNl90LAorCQl6MCA9IHN2YW5kX25fdTE2X3ggKHAwLCB6 MCwgMTI4KSwKKwkJejAgPSBzdmFuZF94IChwMCwgejAsIDEyOCkpCisKKy8q CisqKiBhbmRfMjU1X3UxNl94OgorKioJYW5kCXowXC5oLCB6MFwuaCwgIzB4 ZmYKKyoqCXJldAorKi8KK1RFU1RfVU5JRk9STV9aIChhbmRfMjU1X3UxNl94 LCBzdnVpbnQxNl90LAorCQl6MCA9IHN2YW5kX25fdTE2X3ggKHAwLCB6MCwg MjU1KSwKKwkJejAgPSBzdmFuZF94IChwMCwgejAsIDI1NSkpCisKKy8qCisq KiBhbmRfMjU2X3UxNl94OgorKioJYW5kCXowXC5oLCB6MFwuaCwgIzB4MTAw CisqKglyZXQKKyovCitURVNUX1VOSUZPUk1fWiAoYW5kXzI1Nl91MTZfeCwg c3Z1aW50MTZfdCwKKwkJejAgPSBzdmFuZF9uX3UxNl94IChwMCwgejAsIDI1 NiksCisJCXowID0gc3ZhbmRfeCAocDAsIHowLCAyNTYpKQorCisvKgorKiog YW5kXzI1N191MTZfeDoKKyoqCWFuZAl6MFwuaCwgejBcLmgsICMweDEwMQor KioJcmV0CisqLworVEVTVF9VTklGT1JNX1ogKGFuZF8yNTdfdTE2X3gsIHN2 dWludDE2X3QsCisJCXowID0gc3ZhbmRfbl91MTZfeCAocDAsIHowLCAyNTcp LAorCQl6MCA9IHN2YW5kX3ggKHAwLCB6MCwgMjU3KSkKKworLyoKKyoqIGFu ZF81MTJfdTE2X3g6CisqKglhbmQJejBcLmgsIHowXC5oLCAjMHgyMDAKKyoq CXJldAorKi8KK1RFU1RfVU5JRk9STV9aIChhbmRfNTEyX3UxNl94LCBzdnVp bnQxNl90LAorCQl6MCA9IHN2YW5kX25fdTE2X3ggKHAwLCB6MCwgNTEyKSwK KwkJejAgPSBzdmFuZF94IChwMCwgejAsIDUxMikpCisKKy8qCisqKiBhbmRf NjUyODBfdTE2X3g6CisqKglhbmQJejBcLmgsIHowXC5oLCAjMHhmZjAwCisq KglyZXQKKyovCitURVNUX1VOSUZPUk1fWiAoYW5kXzY1MjgwX3UxNl94LCBz dnVpbnQxNl90LAorCQl6MCA9IHN2YW5kX25fdTE2X3ggKHAwLCB6MCwgMHhm ZjAwKSwKKwkJejAgPSBzdmFuZF94IChwMCwgejAsIDB4ZmYwMCkpCisKKy8q CisqKiBhbmRfbTEyN191MTZfeDoKKyoqCWFuZAl6MFwuaCwgejBcLmgsICMw eGZmODEKKyoqCXJldAorKi8KK1RFU1RfVU5JRk9STV9aIChhbmRfbTEyN191 MTZfeCwgc3Z1aW50MTZfdCwKKwkJejAgPSBzdmFuZF9uX3UxNl94IChwMCwg ejAsIC0xMjcpLAorCQl6MCA9IHN2YW5kX3ggKHAwLCB6MCwgLTEyNykpCisK Ky8qCisqKiBhbmRfbTEyOF91MTZfeDoKKyoqCWFuZAl6MFwuaCwgejBcLmgs ICMweGZmODAKKyoqCXJldAorKi8KK1RFU1RfVU5JRk9STV9aIChhbmRfbTEy OF91MTZfeCwgc3Z1aW50MTZfdCwKKwkJejAgPSBzdmFuZF9uX3UxNl94IChw MCwgejAsIC0xMjgpLAorCQl6MCA9IHN2YW5kX3ggKHAwLCB6MCwgLTEyOCkp CisKKy8qCisqKiBhbmRfbTI1NV91MTZfeDoKKyoqCWFuZAl6MFwuaCwgejBc LmgsICMweGZmMDEKKyoqCXJldAorKi8KK1RFU1RfVU5JRk9STV9aIChhbmRf bTI1NV91MTZfeCwgc3Z1aW50MTZfdCwKKwkJejAgPSBzdmFuZF9uX3UxNl94 IChwMCwgejAsIC0yNTUpLAorCQl6MCA9IHN2YW5kX3ggKHAwLCB6MCwgLTI1 NSkpCisKKy8qCisqKiBhbmRfbTI1Nl91MTZfeDoKKyoqCWFuZAl6MFwuaCwg ejBcLmgsICMweGZmMDAKKyoqCXJldAorKi8KK1RFU1RfVU5JRk9STV9aIChh bmRfbTI1Nl91MTZfeCwgc3Z1aW50MTZfdCwKKwkJejAgPSBzdmFuZF9uX3Ux Nl94IChwMCwgejAsIC0yNTYpLAorCQl6MCA9IHN2YW5kX3ggKHAwLCB6MCwg LTI1NikpCisKKy8qCisqKiBhbmRfbTI1N191MTZfeDoKKyoqCWFuZAl6MFwu aCwgejBcLmgsICMweGZlZmYKKyoqCXJldAorKi8KK1RFU1RfVU5JRk9STV9a IChhbmRfbTI1N191MTZfeCwgc3Z1aW50MTZfdCwKKwkJejAgPSBzdmFuZF9u X3UxNl94IChwMCwgejAsIC0yNTcpLAorCQl6MCA9IHN2YW5kX3ggKHAwLCB6 MCwgLTI1NykpCisKKy8qCisqKiBhbmRfbTUxMl91MTZfeDoKKyoqCWFuZAl6 MFwuaCwgejBcLmgsICMweGZlMDAKKyoqCXJldAorKi8KK1RFU1RfVU5JRk9S TV9aIChhbmRfbTUxMl91MTZfeCwgc3Z1aW50MTZfdCwKKwkJejAgPSBzdmFu ZF9uX3UxNl94IChwMCwgejAsIC01MTIpLAorCQl6MCA9IHN2YW5kX3ggKHAw LCB6MCwgLTUxMikpCisKKy8qCisqKiBhbmRfbTMyNzY4X3UxNl94OgorKioJ YW5kCXowXC5oLCB6MFwuaCwgIzB4ODAwMAorKioJcmV0CisqLworVEVTVF9V TklGT1JNX1ogKGFuZF9tMzI3NjhfdTE2X3gsIHN2dWludDE2X3QsCisJCXow ID0gc3ZhbmRfbl91MTZfeCAocDAsIHowLCAtMHg4MDAwKSwKKwkJejAgPSBz dmFuZF94IChwMCwgejAsIC0weDgwMDApKQorCisvKgorKiogYW5kXzVfdTE2 X3g6CisqKgltb3YJKHpbMC05XSspXC5oLCAjNQorKioJYW5kCXowXC5kLCB6 MFwuZCwgXDFcLmQKKyoqCXJldAorKi8KK1RFU1RfVU5JRk9STV9aIChhbmRf NV91MTZfeCwgc3Z1aW50MTZfdCwKKwkJejAgPSBzdmFuZF9uX3UxNl94IChw MCwgejAsIDUpLAorCQl6MCA9IHN2YW5kX3ggKHAwLCB6MCwgNSkpCmRpZmYg LS1naXQgYS9nY2MvdGVzdHN1aXRlL2djYy50YXJnZXQvYWFyY2g2NC9zdmUt YWNsZS9hc20vYW5kX3UzMi5jIGIvZ2NjL3Rlc3RzdWl0ZS9nY2MudGFyZ2V0 L2FhcmNoNjQvc3ZlLWFjbGUvYXNtL2FuZF91MzIuYwpuZXcgZmlsZSBtb2Rl IDEwMDY0NAppbmRleCAwMDAwMDAwLi5mZWFjZDVhCi0tLSAvZGV2L251bGwK KysrIGIvZ2NjL3Rlc3RzdWl0ZS9nY2MudGFyZ2V0L2FhcmNoNjQvc3ZlLWFj bGUvYXNtL2FuZF91MzIuYwpAQCAtMCwwICsxLDM5MyBAQAorLyogeyBkZy1k byBjb21waWxlIH0gKi8KKy8qIHsgZGctZmluYWwgeyBjaGVjay1mdW5jdGlv bi1ib2RpZXMgIioqIiAiIiAiLURDSEVDS19BU00iIH0gfSAqLworCisjaW5j bHVkZSAidGVzdF9zdmVfYWNsZS5oIgorCisvKgorKiogYW5kX3UzMl9tX3Rp ZWQxOgorKioJYW5kCXowXC5zLCBwMC9tLCB6MFwucywgejFcLnMKKyoqCXJl dAorKi8KK1RFU1RfVU5JRk9STV9aIChhbmRfdTMyX21fdGllZDEsIHN2dWlu dDMyX3QsCisJCXowID0gc3ZhbmRfdTMyX20gKHAwLCB6MCwgejEpLAorCQl6 MCA9IHN2YW5kX20gKHAwLCB6MCwgejEpKQorCisvKiBCYWQgUkEgY2hvaWNl OiBubyBwcmVmZXJyZWQgb3V0cHV0IHNlcXVlbmNlLiAgKi8KK1RFU1RfVU5J Rk9STV9aIChhbmRfdTMyX21fdGllZDIsIHN2dWludDMyX3QsCisJCXoxID0g c3ZhbmRfdTMyX20gKHAwLCB6MCwgejEpLAorCQl6MSA9IHN2YW5kX20gKHAw LCB6MCwgejEpKQorCisvKgorKiogYW5kX3UzMl9tX3VudGllZDoKKyoqCW1v dnByZngJejAsIHoxCisqKglhbmQJejBcLnMsIHAwL20sIHowXC5zLCB6Mlwu cworKioJcmV0CisqLworVEVTVF9VTklGT1JNX1ogKGFuZF91MzJfbV91bnRp ZWQsIHN2dWludDMyX3QsCisJCXowID0gc3ZhbmRfdTMyX20gKHAwLCB6MSwg ejIpLAorCQl6MCA9IHN2YW5kX20gKHAwLCB6MSwgejIpKQorCisvKgorKiog YW5kX3cwX3UzMl9tX3RpZWQxOgorKioJbW92CSh6WzAtOV0rXC5zKSwgdzAK KyoqCWFuZAl6MFwucywgcDAvbSwgejBcLnMsIFwxCisqKglyZXQKKyovCitU RVNUX1VOSUZPUk1fWlMgKGFuZF93MF91MzJfbV90aWVkMSwgc3Z1aW50MzJf dCwgdWludDMyX3QsCisJCSB6MCA9IHN2YW5kX25fdTMyX20gKHAwLCB6MCwg eDApLAorCQkgejAgPSBzdmFuZF9tIChwMCwgejAsIHgwKSkKKworLyoKKyoq IGFuZF93MF91MzJfbV91bnRpZWQ6CisqKgltb3YJKHpbMC05XStcLnMpLCB3 MAorKioJbW92cHJmeAl6MCwgejEKKyoqCWFuZAl6MFwucywgcDAvbSwgejBc LnMsIFwxCisqKglyZXQKKyovCitURVNUX1VOSUZPUk1fWlMgKGFuZF93MF91 MzJfbV91bnRpZWQsIHN2dWludDMyX3QsIHVpbnQzMl90LAorCQkgejAgPSBz dmFuZF9uX3UzMl9tIChwMCwgejEsIHgwKSwKKwkJIHowID0gc3ZhbmRfbSAo cDAsIHoxLCB4MCkpCisKKy8qCisqKiBhbmRfczBfdTMyX21fdGllZDE6Cisq Kgltb3YJKHpbMC05XStcLnMpLCBzMAorKioJYW5kCXoxXC5zLCBwMC9tLCB6 MVwucywgXDEKKyoqCXJldAorKi8KK1RFU1RfVU5JRk9STV9aUyAoYW5kX3Mw X3UzMl9tX3RpZWQxLCBzdnVpbnQzMl90LCB1aW50MzJfdCwKKwkJIHoxID0g c3ZhbmRfbl91MzJfbSAocDAsIHoxLCBkMCksCisJCSB6MSA9IHN2YW5kX20g KHAwLCB6MSwgZDApKQorCisvKgorKiogYW5kX3MwX3UzMl9tX3VudGllZDoK KyoqCW1vdgkoelswLTldK1wucyksIHMwCisqKgltb3ZwcmZ4CXoxLCB6Mgor KioJYW5kCXoxXC5zLCBwMC9tLCB6MVwucywgXDEKKyoqCXJldAorKi8KK1RF U1RfVU5JRk9STV9aUyAoYW5kX3MwX3UzMl9tX3VudGllZCwgc3Z1aW50MzJf dCwgdWludDMyX3QsCisJCSB6MSA9IHN2YW5kX25fdTMyX20gKHAwLCB6Miwg ZDApLAorCQkgejEgPSBzdmFuZF9tIChwMCwgejIsIGQwKSkKKworLyoKKyoq IGFuZF8xX3UzMl9tX3RpZWQxOgorKioJbW92CSh6WzAtOV0rXC5zKSwgIzEK KyoqCWFuZAl6MFwucywgcDAvbSwgejBcLnMsIFwxCisqKglyZXQKKyovCitU RVNUX1VOSUZPUk1fWiAoYW5kXzFfdTMyX21fdGllZDEsIHN2dWludDMyX3Qs CisJCXowID0gc3ZhbmRfbl91MzJfbSAocDAsIHowLCAxKSwKKwkJejAgPSBz dmFuZF9tIChwMCwgejAsIDEpKQorCisvKgorKiogYW5kXzFfdTMyX21fdW50 aWVkOgorKioJbW92CSh6WzAtOV0rXC5zKSwgIzEKKyoqCW1vdnByZngJejAs IHoxCisqKglhbmQJejBcLnMsIHAwL20sIHowXC5zLCBcMQorKioJcmV0Cisq LworVEVTVF9VTklGT1JNX1ogKGFuZF8xX3UzMl9tX3VudGllZCwgc3Z1aW50 MzJfdCwKKwkJejAgPSBzdmFuZF9uX3UzMl9tIChwMCwgejEsIDEpLAorCQl6 MCA9IHN2YW5kX20gKHAwLCB6MSwgMSkpCisKKy8qCisqKiBhbmRfbTJfdTMy X206CisqKgltb3YJKHpbMC05XStcLnMpLCAjLTIKKyoqCWFuZAl6MFwucywg cDAvbSwgejBcLnMsIFwxCisqKglyZXQKKyovCitURVNUX1VOSUZPUk1fWiAo YW5kX20yX3UzMl9tLCBzdnVpbnQzMl90LAorCQl6MCA9IHN2YW5kX25fdTMy X20gKHAwLCB6MCwgLTIpLAorCQl6MCA9IHN2YW5kX20gKHAwLCB6MCwgLTIp KQorCisvKgorKiogYW5kX3UzMl96X3RpZWQxOgorKioJbW92cHJmeAl6MFwu cywgcDAveiwgejBcLnMKKyoqCWFuZAl6MFwucywgcDAvbSwgejBcLnMsIHox XC5zCisqKglyZXQKKyovCitURVNUX1VOSUZPUk1fWiAoYW5kX3UzMl96X3Rp ZWQxLCBzdnVpbnQzMl90LAorCQl6MCA9IHN2YW5kX3UzMl96IChwMCwgejAs IHoxKSwKKwkJejAgPSBzdmFuZF96IChwMCwgejAsIHoxKSkKKworLyoKKyoq IGFuZF91MzJfel90aWVkMjoKKyoqCW1vdnByZngJejFcLnMsIHAwL3osIHox XC5zCisqKglhbmQJejFcLnMsIHAwL20sIHoxXC5zLCB6MFwucworKioJcmV0 CisqLworVEVTVF9VTklGT1JNX1ogKGFuZF91MzJfel90aWVkMiwgc3Z1aW50 MzJfdCwKKwkJejEgPSBzdmFuZF91MzJfeiAocDAsIHowLCB6MSksCisJCXox ID0gc3ZhbmRfeiAocDAsIHowLCB6MSkpCisKKy8qCisqKiBhbmRfdTMyX3pf dW50aWVkOgorKioJbW92cHJmeAl6MFwucywgcDAveiwgejFcLnMKKyoqCWFu ZAl6MFwucywgcDAvbSwgejBcLnMsIHoyXC5zCisqKglyZXQKKyovCitURVNU X1VOSUZPUk1fWiAoYW5kX3UzMl96X3VudGllZCwgc3Z1aW50MzJfdCwKKwkJ ejAgPSBzdmFuZF91MzJfeiAocDAsIHoxLCB6MiksCisJCXowID0gc3ZhbmRf eiAocDAsIHoxLCB6MikpCisKKy8qCisqKiBhbmRfdzBfdTMyX3pfdGllZDE6 CisqKgltb3YJKHpbMC05XStcLnMpLCB3MAorKioJbW92cHJmeAl6MFwucywg cDAveiwgejBcLnMKKyoqCWFuZAl6MFwucywgcDAvbSwgejBcLnMsIFwxCisq KglyZXQKKyovCitURVNUX1VOSUZPUk1fWlMgKGFuZF93MF91MzJfel90aWVk MSwgc3Z1aW50MzJfdCwgdWludDMyX3QsCisJCSB6MCA9IHN2YW5kX25fdTMy X3ogKHAwLCB6MCwgeDApLAorCQkgejAgPSBzdmFuZF96IChwMCwgejAsIHgw KSkKKworLyoKKyoqIGFuZF93MF91MzJfel91bnRpZWQ6CisqKgltb3YJKHpb MC05XStcLnMpLCB3MAorKioJbW92cHJmeAl6MFwucywgcDAveiwgejFcLnMK KyoqCWFuZAl6MFwucywgcDAvbSwgejBcLnMsIFwxCisqKglyZXQKKyovCitU RVNUX1VOSUZPUk1fWlMgKGFuZF93MF91MzJfel91bnRpZWQsIHN2dWludDMy X3QsIHVpbnQzMl90LAorCQkgejAgPSBzdmFuZF9uX3UzMl96IChwMCwgejEs IHgwKSwKKwkJIHowID0gc3ZhbmRfeiAocDAsIHoxLCB4MCkpCisKKy8qCisq KiBhbmRfczBfdTMyX3pfdGllZDE6CisqKgltb3YJKHpbMC05XStcLnMpLCBz MAorKioJbW92cHJmeAl6MVwucywgcDAveiwgejFcLnMKKyoqCWFuZAl6MVwu cywgcDAvbSwgejFcLnMsIFwxCisqKglyZXQKKyovCitURVNUX1VOSUZPUk1f WlMgKGFuZF9zMF91MzJfel90aWVkMSwgc3Z1aW50MzJfdCwgdWludDMyX3Qs CisJCSB6MSA9IHN2YW5kX25fdTMyX3ogKHAwLCB6MSwgZDApLAorCQkgejEg PSBzdmFuZF96IChwMCwgejEsIGQwKSkKKworLyoKKyoqIGFuZF9zMF91MzJf el91bnRpZWQ6CisqKgltb3YJKHpbMC05XStcLnMpLCBzMAorKioJbW92cHJm eAl6MVwucywgcDAveiwgejJcLnMKKyoqCWFuZAl6MVwucywgcDAvbSwgejFc LnMsIFwxCisqKglyZXQKKyovCitURVNUX1VOSUZPUk1fWlMgKGFuZF9zMF91 MzJfel91bnRpZWQsIHN2dWludDMyX3QsIHVpbnQzMl90LAorCQkgejEgPSBz dmFuZF9uX3UzMl96IChwMCwgejIsIGQwKSwKKwkJIHoxID0gc3ZhbmRfeiAo cDAsIHoyLCBkMCkpCisKKy8qCisqKiBhbmRfdTMyX3hfdGllZDE6CisqKglh bmQJejBcLmQsIHowXC5kLCB6MVwuZAorKioJcmV0CisqLworVEVTVF9VTklG T1JNX1ogKGFuZF91MzJfeF90aWVkMSwgc3Z1aW50MzJfdCwKKwkJejAgPSBz dmFuZF91MzJfeCAocDAsIHowLCB6MSksCisJCXowID0gc3ZhbmRfeCAocDAs IHowLCB6MSkpCisKKy8qCisqKiBhbmRfdTMyX3hfdGllZDI6CisqKglhbmQJ ejFcLmQsIHowXC5kLCB6MVwuZAorKioJcmV0CisqLworVEVTVF9VTklGT1JN X1ogKGFuZF91MzJfeF90aWVkMiwgc3Z1aW50MzJfdCwKKwkJejEgPSBzdmFu ZF91MzJfeCAocDAsIHowLCB6MSksCisJCXoxID0gc3ZhbmRfeCAocDAsIHow LCB6MSkpCisKKy8qCisqKiBhbmRfdTMyX3hfdW50aWVkOgorKioJYW5kCXoy XC5kLCB6MFwuZCwgejFcLmQKKyoqCXJldAorKi8KK1RFU1RfVU5JRk9STV9a IChhbmRfdTMyX3hfdW50aWVkLCBzdnVpbnQzMl90LAorCQl6MiA9IHN2YW5k X3UzMl94IChwMCwgejAsIHoxKSwKKwkJejIgPSBzdmFuZF94IChwMCwgejAs IHoxKSkKKworLyoKKyoqIGFuZF93MF91MzJfeF90aWVkMToKKyoqCW1vdgko elswLTldKylcLnMsIHcwCisqKglhbmQJejBcLmQsIHowXC5kLCBcMVwuZAor KioJcmV0CisqLworVEVTVF9VTklGT1JNX1pTIChhbmRfdzBfdTMyX3hfdGll ZDEsIHN2dWludDMyX3QsIHVpbnQzMl90LAorCQkgejAgPSBzdmFuZF9uX3Uz Ml94IChwMCwgejAsIHgwKSwKKwkJIHowID0gc3ZhbmRfeCAocDAsIHowLCB4 MCkpCisKKy8qCisqKiBhbmRfdzBfdTMyX3hfdW50aWVkOgorKioJbW92CXox XC5zLCB3MAorKioJYW5kCXoxXC5kLCB6MFwuZCwgejFcLmQKKyoqCXJldAor Ki8KK1RFU1RfVU5JRk9STV9aUyAoYW5kX3cwX3UzMl94X3VudGllZCwgc3Z1 aW50MzJfdCwgdWludDMyX3QsCisJCSB6MSA9IHN2YW5kX25fdTMyX3ggKHAw LCB6MCwgeDApLAorCQkgejEgPSBzdmFuZF94IChwMCwgejAsIHgwKSkKKwor LyoKKyoqIGFuZF9zMF91MzJfeF90aWVkMToKKyoqCW1vdgkoelswLTldKylc LnMsIHMwCisqKglhbmQJejFcLmQsIHoxXC5kLCBcMVwuZAorKioJcmV0Cisq LworVEVTVF9VTklGT1JNX1pTIChhbmRfczBfdTMyX3hfdGllZDEsIHN2dWlu dDMyX3QsIHVpbnQzMl90LAorCQkgejEgPSBzdmFuZF9uX3UzMl94IChwMCwg ejEsIGQwKSwKKwkJIHoxID0gc3ZhbmRfeCAocDAsIHoxLCBkMCkpCisKKy8q CisqKiBhbmRfczBfdTMyX3hfdW50aWVkOgorKioJbW92CSh6WzAtOV0rKVwu cywgczAKKyoqCWFuZAl6MlwuZCwgejFcLmQsIFwxXC5kCisqKglyZXQKKyov CitURVNUX1VOSUZPUk1fWlMgKGFuZF9zMF91MzJfeF91bnRpZWQsIHN2dWlu dDMyX3QsIHVpbnQzMl90LAorCQkgejIgPSBzdmFuZF9uX3UzMl94IChwMCwg ejEsIGQwKSwKKwkJIHoyID0gc3ZhbmRfeCAocDAsIHoxLCBkMCkpCisKKy8q CisqKiBhbmRfMV91MzJfeF90aWVkMToKKyoqCWFuZAl6MFwucywgejBcLnMs ICMweDEKKyoqCXJldAorKi8KK1RFU1RfVU5JRk9STV9aIChhbmRfMV91MzJf eF90aWVkMSwgc3Z1aW50MzJfdCwKKwkJejAgPSBzdmFuZF9uX3UzMl94IChw MCwgejAsIDEpLAorCQl6MCA9IHN2YW5kX3ggKHAwLCB6MCwgMSkpCisKKy8q CisqKiBhbmRfMV91MzJfeF91bnRpZWQ6CisqKgltb3ZwcmZ4CXowLCB6MQor KioJYW5kCXowXC5zLCB6MFwucywgIzB4MQorKioJcmV0CisqLworVEVTVF9V TklGT1JNX1ogKGFuZF8xX3UzMl94X3VudGllZCwgc3Z1aW50MzJfdCwKKwkJ ejAgPSBzdmFuZF9uX3UzMl94IChwMCwgejEsIDEpLAorCQl6MCA9IHN2YW5k X3ggKHAwLCB6MSwgMSkpCisKKy8qCisqKiBhbmRfMTI3X3UzMl94OgorKioJ YW5kCXowXC5zLCB6MFwucywgIzB4N2YKKyoqCXJldAorKi8KK1RFU1RfVU5J Rk9STV9aIChhbmRfMTI3X3UzMl94LCBzdnVpbnQzMl90LAorCQl6MCA9IHN2 YW5kX25fdTMyX3ggKHAwLCB6MCwgMTI3KSwKKwkJejAgPSBzdmFuZF94IChw MCwgejAsIDEyNykpCisKKy8qCisqKiBhbmRfMTI4X3UzMl94OgorKioJYW5k CXowXC5zLCB6MFwucywgIzB4ODAKKyoqCXJldAorKi8KK1RFU1RfVU5JRk9S TV9aIChhbmRfMTI4X3UzMl94LCBzdnVpbnQzMl90LAorCQl6MCA9IHN2YW5k X25fdTMyX3ggKHAwLCB6MCwgMTI4KSwKKwkJejAgPSBzdmFuZF94IChwMCwg ejAsIDEyOCkpCisKKy8qCisqKiBhbmRfMjU1X3UzMl94OgorKioJYW5kCXow XC5zLCB6MFwucywgIzB4ZmYKKyoqCXJldAorKi8KK1RFU1RfVU5JRk9STV9a IChhbmRfMjU1X3UzMl94LCBzdnVpbnQzMl90LAorCQl6MCA9IHN2YW5kX25f dTMyX3ggKHAwLCB6MCwgMjU1KSwKKwkJejAgPSBzdmFuZF94IChwMCwgejAs IDI1NSkpCisKKy8qCisqKiBhbmRfMjU2X3UzMl94OgorKioJYW5kCXowXC5z LCB6MFwucywgIzB4MTAwCisqKglyZXQKKyovCitURVNUX1VOSUZPUk1fWiAo YW5kXzI1Nl91MzJfeCwgc3Z1aW50MzJfdCwKKwkJejAgPSBzdmFuZF9uX3Uz Ml94IChwMCwgejAsIDI1NiksCisJCXowID0gc3ZhbmRfeCAocDAsIHowLCAy NTYpKQorCisvKiBUT0RPOiBCYWQgY29kZSBhbmQgbmVlZHMgZml4aW5nLiAg Ki8KK1RFU1RfVU5JRk9STV9aIChhbmRfMjU3X3UzMl94LCBzdnVpbnQzMl90 LAorCQl6MCA9IHN2YW5kX25fdTMyX3ggKHAwLCB6MCwgMjU3KSwKKwkJejAg PSBzdmFuZF94IChwMCwgejAsIDI1NykpCisKKy8qCisqKiBhbmRfNTEyX3Uz Ml94OgorKioJYW5kCXowXC5zLCB6MFwucywgIzB4MjAwCisqKglyZXQKKyov CitURVNUX1VOSUZPUk1fWiAoYW5kXzUxMl91MzJfeCwgc3Z1aW50MzJfdCwK KwkJejAgPSBzdmFuZF9uX3UzMl94IChwMCwgejAsIDUxMiksCisJCXowID0g c3ZhbmRfeCAocDAsIHowLCA1MTIpKQorCisvKgorKiogYW5kXzY1MjgwX3Uz Ml94OgorKioJYW5kCXowXC5zLCB6MFwucywgIzB4ZmYwMAorKioJcmV0Cisq LworVEVTVF9VTklGT1JNX1ogKGFuZF82NTI4MF91MzJfeCwgc3Z1aW50MzJf dCwKKwkJejAgPSBzdmFuZF9uX3UzMl94IChwMCwgejAsIDB4ZmYwMCksCisJ CXowID0gc3ZhbmRfeCAocDAsIHowLCAweGZmMDApKQorCisvKgorKiogYW5k X20xMjdfdTMyX3g6CisqKglhbmQJejBcLnMsIHowXC5zLCAjMHhmZmZmZmY4 MQorKioJcmV0CisqLworVEVTVF9VTklGT1JNX1ogKGFuZF9tMTI3X3UzMl94 LCBzdnVpbnQzMl90LAorCQl6MCA9IHN2YW5kX25fdTMyX3ggKHAwLCB6MCwg LTEyNyksCisJCXowID0gc3ZhbmRfeCAocDAsIHowLCAtMTI3KSkKKworLyoK KyoqIGFuZF9tMTI4X3UzMl94OgorKioJYW5kCXowXC5zLCB6MFwucywgIzB4 ZmZmZmZmODAKKyoqCXJldAorKi8KK1RFU1RfVU5JRk9STV9aIChhbmRfbTEy OF91MzJfeCwgc3Z1aW50MzJfdCwKKwkJejAgPSBzdmFuZF9uX3UzMl94IChw MCwgejAsIC0xMjgpLAorCQl6MCA9IHN2YW5kX3ggKHAwLCB6MCwgLTEyOCkp CisKKy8qCisqKiBhbmRfbTI1NV91MzJfeDoKKyoqCWFuZAl6MFwucywgejBc LnMsICMweGZmZmZmZjAxCisqKglyZXQKKyovCitURVNUX1VOSUZPUk1fWiAo YW5kX20yNTVfdTMyX3gsIHN2dWludDMyX3QsCisJCXowID0gc3ZhbmRfbl91 MzJfeCAocDAsIHowLCAtMjU1KSwKKwkJejAgPSBzdmFuZF94IChwMCwgejAs IC0yNTUpKQorCisvKgorKiogYW5kX20yNTZfdTMyX3g6CisqKglhbmQJejBc LnMsIHowXC5zLCAjMHhmZmZmZmYwMAorKioJcmV0CisqLworVEVTVF9VTklG T1JNX1ogKGFuZF9tMjU2X3UzMl94LCBzdnVpbnQzMl90LAorCQl6MCA9IHN2 YW5kX25fdTMyX3ggKHAwLCB6MCwgLTI1NiksCisJCXowID0gc3ZhbmRfeCAo cDAsIHowLCAtMjU2KSkKKworLyoKKyoqIGFuZF9tMjU3X3UzMl94OgorKioJ YW5kCXowXC5zLCB6MFwucywgIzB4ZmZmZmZlZmYKKyoqCXJldAorKi8KK1RF U1RfVU5JRk9STV9aIChhbmRfbTI1N191MzJfeCwgc3Z1aW50MzJfdCwKKwkJ ejAgPSBzdmFuZF9uX3UzMl94IChwMCwgejAsIC0yNTcpLAorCQl6MCA9IHN2 YW5kX3ggKHAwLCB6MCwgLTI1NykpCisKKy8qCisqKiBhbmRfbTUxMl91MzJf eDoKKyoqCWFuZAl6MFwucywgejBcLnMsICMweGZmZmZmZTAwCisqKglyZXQK KyovCitURVNUX1VOSUZPUk1fWiAoYW5kX201MTJfdTMyX3gsIHN2dWludDMy X3QsCisJCXowID0gc3ZhbmRfbl91MzJfeCAocDAsIHowLCAtNTEyKSwKKwkJ ejAgPSBzdmFuZF94IChwMCwgejAsIC01MTIpKQorCisvKgorKiogYW5kX20z Mjc2OF91MzJfeDoKKyoqCWFuZAl6MFwucywgejBcLnMsICMweGZmZmY4MDAw CisqKglyZXQKKyovCitURVNUX1VOSUZPUk1fWiAoYW5kX20zMjc2OF91MzJf eCwgc3Z1aW50MzJfdCwKKwkJejAgPSBzdmFuZF9uX3UzMl94IChwMCwgejAs IC0weDgwMDApLAorCQl6MCA9IHN2YW5kX3ggKHAwLCB6MCwgLTB4ODAwMCkp CisKKy8qCisqKiBhbmRfNV91MzJfeDoKKyoqCW1vdgkoelswLTldKylcLnMs ICM1CisqKglhbmQJejBcLmQsIHowXC5kLCBcMVwuZAorKioJcmV0CisqLwor VEVTVF9VTklGT1JNX1ogKGFuZF81X3UzMl94LCBzdnVpbnQzMl90LAorCQl6 MCA9IHN2YW5kX25fdTMyX3ggKHAwLCB6MCwgNSksCisJCXowID0gc3ZhbmRf eCAocDAsIHowLCA1KSkKZGlmZiAtLWdpdCBhL2djYy90ZXN0c3VpdGUvZ2Nj LnRhcmdldC9hYXJjaDY0L3N2ZS1hY2xlL2FzbS9hbmRfdTY0LmMgYi9nY2Mv dGVzdHN1aXRlL2djYy50YXJnZXQvYWFyY2g2NC9zdmUtYWNsZS9hc20vYW5k X3U2NC5jCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjdj NjBiZDQKLS0tIC9kZXYvbnVsbAorKysgYi9nY2MvdGVzdHN1aXRlL2djYy50 YXJnZXQvYWFyY2g2NC9zdmUtYWNsZS9hc20vYW5kX3U2NC5jCkBAIC0wLDAg KzEsMzkzIEBACisvKiB7IGRnLWRvIGNvbXBpbGUgfSAqLworLyogeyBkZy1m aW5hbCB7IGNoZWNrLWZ1bmN0aW9uLWJvZGllcyAiKioiICIiICItRENIRUNL X0FTTSIgfSB9ICovCisKKyNpbmNsdWRlICJ0ZXN0X3N2ZV9hY2xlLmgiCisK Ky8qCisqKiBhbmRfdTY0X21fdGllZDE6CisqKglhbmQJejBcLmQsIHAwL20s IHowXC5kLCB6MVwuZAorKioJcmV0CisqLworVEVTVF9VTklGT1JNX1ogKGFu ZF91NjRfbV90aWVkMSwgc3Z1aW50NjRfdCwKKwkJejAgPSBzdmFuZF91NjRf bSAocDAsIHowLCB6MSksCisJCXowID0gc3ZhbmRfbSAocDAsIHowLCB6MSkp CisKKy8qIEJhZCBSQSBjaG9pY2U6IG5vIHByZWZlcnJlZCBvdXRwdXQgc2Vx dWVuY2UuICAqLworVEVTVF9VTklGT1JNX1ogKGFuZF91NjRfbV90aWVkMiwg c3Z1aW50NjRfdCwKKwkJejEgPSBzdmFuZF91NjRfbSAocDAsIHowLCB6MSks CisJCXoxID0gc3ZhbmRfbSAocDAsIHowLCB6MSkpCisKKy8qCisqKiBhbmRf dTY0X21fdW50aWVkOgorKioJbW92cHJmeAl6MCwgejEKKyoqCWFuZAl6MFwu ZCwgcDAvbSwgejBcLmQsIHoyXC5kCisqKglyZXQKKyovCitURVNUX1VOSUZP Uk1fWiAoYW5kX3U2NF9tX3VudGllZCwgc3Z1aW50NjRfdCwKKwkJejAgPSBz dmFuZF91NjRfbSAocDAsIHoxLCB6MiksCisJCXowID0gc3ZhbmRfbSAocDAs IHoxLCB6MikpCisKKy8qCisqKiBhbmRfeDBfdTY0X21fdGllZDE6CisqKglt b3YJKHpbMC05XStcLmQpLCB4MAorKioJYW5kCXowXC5kLCBwMC9tLCB6MFwu ZCwgXDEKKyoqCXJldAorKi8KK1RFU1RfVU5JRk9STV9aUyAoYW5kX3gwX3U2 NF9tX3RpZWQxLCBzdnVpbnQ2NF90LCB1aW50NjRfdCwKKwkJIHowID0gc3Zh bmRfbl91NjRfbSAocDAsIHowLCB4MCksCisJCSB6MCA9IHN2YW5kX20gKHAw LCB6MCwgeDApKQorCisvKgorKiogYW5kX3gwX3U2NF9tX3VudGllZDoKKyoq CW1vdgkoelswLTldK1wuZCksIHgwCisqKgltb3ZwcmZ4CXowLCB6MQorKioJ YW5kCXowXC5kLCBwMC9tLCB6MFwuZCwgXDEKKyoqCXJldAorKi8KK1RFU1Rf VU5JRk9STV9aUyAoYW5kX3gwX3U2NF9tX3VudGllZCwgc3Z1aW50NjRfdCwg dWludDY0X3QsCisJCSB6MCA9IHN2YW5kX25fdTY0X20gKHAwLCB6MSwgeDAp LAorCQkgejAgPSBzdmFuZF9tIChwMCwgejEsIHgwKSkKKworLyoKKyoqIGFu ZF9kMF91NjRfbV90aWVkMToKKyoqCW1vdgkoelswLTldK1wuZCksIGQwCisq KglhbmQJejFcLmQsIHAwL20sIHoxXC5kLCBcMQorKioJcmV0CisqLworVEVT VF9VTklGT1JNX1pTIChhbmRfZDBfdTY0X21fdGllZDEsIHN2dWludDY0X3Qs IHVpbnQ2NF90LAorCQkgejEgPSBzdmFuZF9uX3U2NF9tIChwMCwgejEsIGQw KSwKKwkJIHoxID0gc3ZhbmRfbSAocDAsIHoxLCBkMCkpCisKKy8qCisqKiBh bmRfZDBfdTY0X21fdW50aWVkOgorKioJbW92CSh6WzAtOV0rXC5kKSwgZDAK KyoqCW1vdnByZngJejEsIHoyCisqKglhbmQJejFcLmQsIHAwL20sIHoxXC5k LCBcMQorKioJcmV0CisqLworVEVTVF9VTklGT1JNX1pTIChhbmRfZDBfdTY0 X21fdW50aWVkLCBzdnVpbnQ2NF90LCB1aW50NjRfdCwKKwkJIHoxID0gc3Zh bmRfbl91NjRfbSAocDAsIHoyLCBkMCksCisJCSB6MSA9IHN2YW5kX20gKHAw LCB6MiwgZDApKQorCisvKgorKiogYW5kXzFfdTY0X21fdGllZDE6CisqKglt b3YJKHpbMC05XStcLmQpLCAjMQorKioJYW5kCXowXC5kLCBwMC9tLCB6MFwu ZCwgXDEKKyoqCXJldAorKi8KK1RFU1RfVU5JRk9STV9aIChhbmRfMV91NjRf bV90aWVkMSwgc3Z1aW50NjRfdCwKKwkJejAgPSBzdmFuZF9uX3U2NF9tIChw MCwgejAsIDEpLAorCQl6MCA9IHN2YW5kX20gKHAwLCB6MCwgMSkpCisKKy8q CisqKiBhbmRfMV91NjRfbV91bnRpZWQ6CisqKgltb3YJKHpbMC05XStcLmQp LCAjMQorKioJbW92cHJmeAl6MCwgejEKKyoqCWFuZAl6MFwuZCwgcDAvbSwg ejBcLmQsIFwxCisqKglyZXQKKyovCitURVNUX1VOSUZPUk1fWiAoYW5kXzFf dTY0X21fdW50aWVkLCBzdnVpbnQ2NF90LAorCQl6MCA9IHN2YW5kX25fdTY0 X20gKHAwLCB6MSwgMSksCisJCXowID0gc3ZhbmRfbSAocDAsIHoxLCAxKSkK KworLyoKKyoqIGFuZF9tMl91NjRfbToKKyoqCW1vdgkoelswLTldK1wuZCks ICMtMgorKioJYW5kCXowXC5kLCBwMC9tLCB6MFwuZCwgXDEKKyoqCXJldAor Ki8KK1RFU1RfVU5JRk9STV9aIChhbmRfbTJfdTY0X20sIHN2dWludDY0X3Qs CisJCXowID0gc3ZhbmRfbl91NjRfbSAocDAsIHowLCAtMiksCisJCXowID0g c3ZhbmRfbSAocDAsIHowLCAtMikpCisKKy8qCisqKiBhbmRfdTY0X3pfdGll ZDE6CisqKgltb3ZwcmZ4CXowXC5kLCBwMC96LCB6MFwuZAorKioJYW5kCXow XC5kLCBwMC9tLCB6MFwuZCwgejFcLmQKKyoqCXJldAorKi8KK1RFU1RfVU5J Rk9STV9aIChhbmRfdTY0X3pfdGllZDEsIHN2dWludDY0X3QsCisJCXowID0g c3ZhbmRfdTY0X3ogKHAwLCB6MCwgejEpLAorCQl6MCA9IHN2YW5kX3ogKHAw LCB6MCwgejEpKQorCisvKgorKiogYW5kX3U2NF96X3RpZWQyOgorKioJbW92 cHJmeAl6MVwuZCwgcDAveiwgejFcLmQKKyoqCWFuZAl6MVwuZCwgcDAvbSwg ejFcLmQsIHowXC5kCisqKglyZXQKKyovCitURVNUX1VOSUZPUk1fWiAoYW5k X3U2NF96X3RpZWQyLCBzdnVpbnQ2NF90LAorCQl6MSA9IHN2YW5kX3U2NF96 IChwMCwgejAsIHoxKSwKKwkJejEgPSBzdmFuZF96IChwMCwgejAsIHoxKSkK KworLyoKKyoqIGFuZF91NjRfel91bnRpZWQ6CisqKgltb3ZwcmZ4CXowXC5k LCBwMC96LCB6MVwuZAorKioJYW5kCXowXC5kLCBwMC9tLCB6MFwuZCwgejJc LmQKKyoqCXJldAorKi8KK1RFU1RfVU5JRk9STV9aIChhbmRfdTY0X3pfdW50 aWVkLCBzdnVpbnQ2NF90LAorCQl6MCA9IHN2YW5kX3U2NF96IChwMCwgejEs IHoyKSwKKwkJejAgPSBzdmFuZF96IChwMCwgejEsIHoyKSkKKworLyoKKyoq IGFuZF94MF91NjRfel90aWVkMToKKyoqCW1vdgkoelswLTldK1wuZCksIHgw CisqKgltb3ZwcmZ4CXowXC5kLCBwMC96LCB6MFwuZAorKioJYW5kCXowXC5k LCBwMC9tLCB6MFwuZCwgXDEKKyoqCXJldAorKi8KK1RFU1RfVU5JRk9STV9a UyAoYW5kX3gwX3U2NF96X3RpZWQxLCBzdnVpbnQ2NF90LCB1aW50NjRfdCwK KwkJIHowID0gc3ZhbmRfbl91NjRfeiAocDAsIHowLCB4MCksCisJCSB6MCA9 IHN2YW5kX3ogKHAwLCB6MCwgeDApKQorCisvKgorKiogYW5kX3gwX3U2NF96 X3VudGllZDoKKyoqCW1vdgkoelswLTldK1wuZCksIHgwCisqKgltb3ZwcmZ4 CXowXC5kLCBwMC96LCB6MVwuZAorKioJYW5kCXowXC5kLCBwMC9tLCB6MFwu ZCwgXDEKKyoqCXJldAorKi8KK1RFU1RfVU5JRk9STV9aUyAoYW5kX3gwX3U2 NF96X3VudGllZCwgc3Z1aW50NjRfdCwgdWludDY0X3QsCisJCSB6MCA9IHN2 YW5kX25fdTY0X3ogKHAwLCB6MSwgeDApLAorCQkgejAgPSBzdmFuZF96IChw MCwgejEsIHgwKSkKKworLyoKKyoqIGFuZF9kMF91NjRfel90aWVkMToKKyoq CW1vdgkoelswLTldK1wuZCksIGQwCisqKgltb3ZwcmZ4CXoxXC5kLCBwMC96 LCB6MVwuZAorKioJYW5kCXoxXC5kLCBwMC9tLCB6MVwuZCwgXDEKKyoqCXJl dAorKi8KK1RFU1RfVU5JRk9STV9aUyAoYW5kX2QwX3U2NF96X3RpZWQxLCBz dnVpbnQ2NF90LCB1aW50NjRfdCwKKwkJIHoxID0gc3ZhbmRfbl91NjRfeiAo cDAsIHoxLCBkMCksCisJCSB6MSA9IHN2YW5kX3ogKHAwLCB6MSwgZDApKQor CisvKgorKiogYW5kX2QwX3U2NF96X3VudGllZDoKKyoqCW1vdgkoelswLTld K1wuZCksIGQwCisqKgltb3ZwcmZ4CXoxXC5kLCBwMC96LCB6MlwuZAorKioJ YW5kCXoxXC5kLCBwMC9tLCB6MVwuZCwgXDEKKyoqCXJldAorKi8KK1RFU1Rf VU5JRk9STV9aUyAoYW5kX2QwX3U2NF96X3VudGllZCwgc3Z1aW50NjRfdCwg dWludDY0X3QsCisJCSB6MSA9IHN2YW5kX25fdTY0X3ogKHAwLCB6MiwgZDAp LAorCQkgejEgPSBzdmFuZF96IChwMCwgejIsIGQwKSkKKworLyoKKyoqIGFu ZF91NjRfeF90aWVkMToKKyoqCWFuZAl6MFwuZCwgejBcLmQsIHoxXC5kCisq KglyZXQKKyovCitURVNUX1VOSUZPUk1fWiAoYW5kX3U2NF94X3RpZWQxLCBz dnVpbnQ2NF90LAorCQl6MCA9IHN2YW5kX3U2NF94IChwMCwgejAsIHoxKSwK KwkJejAgPSBzdmFuZF94IChwMCwgejAsIHoxKSkKKworLyoKKyoqIGFuZF91 NjRfeF90aWVkMjoKKyoqCWFuZAl6MVwuZCwgejBcLmQsIHoxXC5kCisqKgly ZXQKKyovCitURVNUX1VOSUZPUk1fWiAoYW5kX3U2NF94X3RpZWQyLCBzdnVp bnQ2NF90LAorCQl6MSA9IHN2YW5kX3U2NF94IChwMCwgejAsIHoxKSwKKwkJ ejEgPSBzdmFuZF94IChwMCwgejAsIHoxKSkKKworLyoKKyoqIGFuZF91NjRf eF91bnRpZWQ6CisqKglhbmQJejJcLmQsIHowXC5kLCB6MVwuZAorKioJcmV0 CisqLworVEVTVF9VTklGT1JNX1ogKGFuZF91NjRfeF91bnRpZWQsIHN2dWlu dDY0X3QsCisJCXoyID0gc3ZhbmRfdTY0X3ggKHAwLCB6MCwgejEpLAorCQl6 MiA9IHN2YW5kX3ggKHAwLCB6MCwgejEpKQorCisvKgorKiogYW5kX3gwX3U2 NF94X3RpZWQxOgorKioJbW92CSh6WzAtOV0rKVwuZCwgeDAKKyoqCWFuZAl6 MFwuZCwgejBcLmQsIFwxXC5kCisqKglyZXQKKyovCitURVNUX1VOSUZPUk1f WlMgKGFuZF94MF91NjRfeF90aWVkMSwgc3Z1aW50NjRfdCwgdWludDY0X3Qs CisJCSB6MCA9IHN2YW5kX25fdTY0X3ggKHAwLCB6MCwgeDApLAorCQkgejAg PSBzdmFuZF94IChwMCwgejAsIHgwKSkKKworLyoKKyoqIGFuZF94MF91NjRf eF91bnRpZWQ6CisqKgltb3YJejFcLmQsIHgwCisqKglhbmQJejFcLmQsIHow XC5kLCB6MVwuZAorKioJcmV0CisqLworVEVTVF9VTklGT1JNX1pTIChhbmRf eDBfdTY0X3hfdW50aWVkLCBzdnVpbnQ2NF90LCB1aW50NjRfdCwKKwkJIHox ID0gc3ZhbmRfbl91NjRfeCAocDAsIHowLCB4MCksCisJCSB6MSA9IHN2YW5k X3ggKHAwLCB6MCwgeDApKQorCisvKgorKiogYW5kX2QwX3U2NF94X3RpZWQx OgorKioJbW92CSh6WzAtOV0rKVwuZCwgZDAKKyoqCWFuZAl6MVwuZCwgejFc LmQsIFwxXC5kCisqKglyZXQKKyovCitURVNUX1VOSUZPUk1fWlMgKGFuZF9k MF91NjRfeF90aWVkMSwgc3Z1aW50NjRfdCwgdWludDY0X3QsCisJCSB6MSA9 IHN2YW5kX25fdTY0X3ggKHAwLCB6MSwgZDApLAorCQkgejEgPSBzdmFuZF94 IChwMCwgejEsIGQwKSkKKworLyoKKyoqIGFuZF9kMF91NjRfeF91bnRpZWQ6 CisqKgltb3YJKHpbMC05XSspXC5kLCBkMAorKioJYW5kCXoyXC5kLCB6MVwu ZCwgXDFcLmQKKyoqCXJldAorKi8KK1RFU1RfVU5JRk9STV9aUyAoYW5kX2Qw X3U2NF94X3VudGllZCwgc3Z1aW50NjRfdCwgdWludDY0X3QsCisJCSB6MiA9 IHN2YW5kX25fdTY0X3ggKHAwLCB6MSwgZDApLAorCQkgejIgPSBzdmFuZF94 IChwMCwgejEsIGQwKSkKKworLyoKKyoqIGFuZF8xX3U2NF94X3RpZWQxOgor KioJYW5kCXowXC5kLCB6MFwuZCwgIzB4MQorKioJcmV0CisqLworVEVTVF9V TklGT1JNX1ogKGFuZF8xX3U2NF94X3RpZWQxLCBzdnVpbnQ2NF90LAorCQl6 MCA9IHN2YW5kX25fdTY0X3ggKHAwLCB6MCwgMSksCisJCXowID0gc3ZhbmRf eCAocDAsIHowLCAxKSkKKworLyoKKyoqIGFuZF8xX3U2NF94X3VudGllZDoK KyoqCW1vdnByZngJejAsIHoxCisqKglhbmQJejBcLmQsIHowXC5kLCAjMHgx CisqKglyZXQKKyovCitURVNUX1VOSUZPUk1fWiAoYW5kXzFfdTY0X3hfdW50 aWVkLCBzdnVpbnQ2NF90LAorCQl6MCA9IHN2YW5kX25fdTY0X3ggKHAwLCB6 MSwgMSksCisJCXowID0gc3ZhbmRfeCAocDAsIHoxLCAxKSkKKworLyoKKyoq IGFuZF8xMjdfdTY0X3g6CisqKglhbmQJejBcLmQsIHowXC5kLCAjMHg3Zgor KioJcmV0CisqLworVEVTVF9VTklGT1JNX1ogKGFuZF8xMjdfdTY0X3gsIHN2 dWludDY0X3QsCisJCXowID0gc3ZhbmRfbl91NjRfeCAocDAsIHowLCAxMjcp LAorCQl6MCA9IHN2YW5kX3ggKHAwLCB6MCwgMTI3KSkKKworLyoKKyoqIGFu ZF8xMjhfdTY0X3g6CisqKglhbmQJejBcLmQsIHowXC5kLCAjMHg4MAorKioJ cmV0CisqLworVEVTVF9VTklGT1JNX1ogKGFuZF8xMjhfdTY0X3gsIHN2dWlu dDY0X3QsCisJCXowID0gc3ZhbmRfbl91NjRfeCAocDAsIHowLCAxMjgpLAor CQl6MCA9IHN2YW5kX3ggKHAwLCB6MCwgMTI4KSkKKworLyoKKyoqIGFuZF8y NTVfdTY0X3g6CisqKglhbmQJejBcLmQsIHowXC5kLCAjMHhmZgorKioJcmV0 CisqLworVEVTVF9VTklGT1JNX1ogKGFuZF8yNTVfdTY0X3gsIHN2dWludDY0 X3QsCisJCXowID0gc3ZhbmRfbl91NjRfeCAocDAsIHowLCAyNTUpLAorCQl6 MCA9IHN2YW5kX3ggKHAwLCB6MCwgMjU1KSkKKworLyoKKyoqIGFuZF8yNTZf dTY0X3g6CisqKglhbmQJejBcLmQsIHowXC5kLCAjMHgxMDAKKyoqCXJldAor Ki8KK1RFU1RfVU5JRk9STV9aIChhbmRfMjU2X3U2NF94LCBzdnVpbnQ2NF90 LAorCQl6MCA9IHN2YW5kX25fdTY0X3ggKHAwLCB6MCwgMjU2KSwKKwkJejAg PSBzdmFuZF94IChwMCwgejAsIDI1NikpCisKKy8qIFRPRE86IEJhZCBjb2Rl IGFuZCBuZWVkcyBmaXhpbmcuICAqLworVEVTVF9VTklGT1JNX1ogKGFuZF8y NTdfdTY0X3gsIHN2dWludDY0X3QsCisJCXowID0gc3ZhbmRfbl91NjRfeCAo cDAsIHowLCAyNTcpLAorCQl6MCA9IHN2YW5kX3ggKHAwLCB6MCwgMjU3KSkK KworLyoKKyoqIGFuZF81MTJfdTY0X3g6CisqKglhbmQJejBcLmQsIHowXC5k LCAjMHgyMDAKKyoqCXJldAorKi8KK1RFU1RfVU5JRk9STV9aIChhbmRfNTEy X3U2NF94LCBzdnVpbnQ2NF90LAorCQl6MCA9IHN2YW5kX25fdTY0X3ggKHAw LCB6MCwgNTEyKSwKKwkJejAgPSBzdmFuZF94IChwMCwgejAsIDUxMikpCisK Ky8qCisqKiBhbmRfNjUyODBfdTY0X3g6CisqKglhbmQJejBcLmQsIHowXC5k LCAjMHhmZjAwCisqKglyZXQKKyovCitURVNUX1VOSUZPUk1fWiAoYW5kXzY1 MjgwX3U2NF94LCBzdnVpbnQ2NF90LAorCQl6MCA9IHN2YW5kX25fdTY0X3gg KHAwLCB6MCwgMHhmZjAwKSwKKwkJejAgPSBzdmFuZF94IChwMCwgejAsIDB4 ZmYwMCkpCisKKy8qCisqKiBhbmRfbTEyN191NjRfeDoKKyoqCWFuZAl6MFwu ZCwgejBcLmQsICMweGZmZmZmZmZmZmZmZmZmODEKKyoqCXJldAorKi8KK1RF U1RfVU5JRk9STV9aIChhbmRfbTEyN191NjRfeCwgc3Z1aW50NjRfdCwKKwkJ ejAgPSBzdmFuZF9uX3U2NF94IChwMCwgejAsIC0xMjcpLAorCQl6MCA9IHN2 YW5kX3ggKHAwLCB6MCwgLTEyNykpCisKKy8qCisqKiBhbmRfbTEyOF91NjRf eDoKKyoqCWFuZAl6MFwuZCwgejBcLmQsICMweGZmZmZmZmZmZmZmZmZmODAK KyoqCXJldAorKi8KK1RFU1RfVU5JRk9STV9aIChhbmRfbTEyOF91NjRfeCwg c3Z1aW50NjRfdCwKKwkJejAgPSBzdmFuZF9uX3U2NF94IChwMCwgejAsIC0x MjgpLAorCQl6MCA9IHN2YW5kX3ggKHAwLCB6MCwgLTEyOCkpCisKKy8qCisq KiBhbmRfbTI1NV91NjRfeDoKKyoqCWFuZAl6MFwuZCwgejBcLmQsICMweGZm ZmZmZmZmZmZmZmZmMDEKKyoqCXJldAorKi8KK1RFU1RfVU5JRk9STV9aIChh bmRfbTI1NV91NjRfeCwgc3Z1aW50NjRfdCwKKwkJejAgPSBzdmFuZF9uX3U2 NF94IChwMCwgejAsIC0yNTUpLAorCQl6MCA9IHN2YW5kX3ggKHAwLCB6MCwg LTI1NSkpCisKKy8qCisqKiBhbmRfbTI1Nl91NjRfeDoKKyoqCWFuZAl6MFwu ZCwgejBcLmQsICMweGZmZmZmZmZmZmZmZmZmMDAKKyoqCXJldAorKi8KK1RF U1RfVU5JRk9STV9aIChhbmRfbTI1Nl91NjRfeCwgc3Z1aW50NjRfdCwKKwkJ ejAgPSBzdmFuZF9uX3U2NF94IChwMCwgejAsIC0yNTYpLAorCQl6MCA9IHN2 YW5kX3ggKHAwLCB6MCwgLTI1NikpCisKKy8qCisqKiBhbmRfbTI1N191NjRf eDoKKyoqCWFuZAl6MFwuZCwgejBcLmQsICMweGZmZmZmZmZmZmZmZmZlZmYK KyoqCXJldAorKi8KK1RFU1RfVU5JRk9STV9aIChhbmRfbTI1N191NjRfeCwg c3Z1aW50NjRfdCwKKwkJejAgPSBzdmFuZF9uX3U2NF94IChwMCwgejAsIC0y NTcpLAorCQl6MCA9IHN2YW5kX3ggKHAwLCB6MCwgLTI1NykpCisKKy8qCisq KiBhbmRfbTUxMl91NjRfeDoKKyoqCWFuZAl6MFwuZCwgejBcLmQsICMweGZm ZmZmZmZmZmZmZmZlMDAKKyoqCXJldAorKi8KK1RFU1RfVU5JRk9STV9aIChh bmRfbTUxMl91NjRfeCwgc3Z1aW50NjRfdCwKKwkJejAgPSBzdmFuZF9uX3U2 NF94IChwMCwgejAsIC01MTIpLAorCQl6MCA9IHN2YW5kX3ggKHAwLCB6MCwg LTUxMikpCisKKy8qCisqKiBhbmRfbTMyNzY4X3U2NF94OgorKioJYW5kCXow XC5kLCB6MFwuZCwgIzB4ZmZmZmZmZmZmZmZmODAwMAorKioJcmV0CisqLwor VEVTVF9VTklGT1JNX1ogKGFuZF9tMzI3NjhfdTY0X3gsIHN2dWludDY0X3Qs CisJCXowID0gc3ZhbmRfbl91NjRfeCAocDAsIHowLCAtMHg4MDAwKSwKKwkJ ejAgPSBzdmFuZF94IChwMCwgejAsIC0weDgwMDApKQorCisvKgorKiogYW5k XzVfdTY0X3g6CisqKgltb3YJKHpbMC05XSspXC5kLCAjNQorKioJYW5kCXow XC5kLCB6MFwuZCwgXDFcLmQKKyoqCXJldAorKi8KK1RFU1RfVU5JRk9STV9a IChhbmRfNV91NjRfeCwgc3Z1aW50NjRfdCwKKwkJejAgPSBzdmFuZF9uX3U2 NF94IChwMCwgejAsIDUpLAorCQl6MCA9IHN2YW5kX3ggKHAwLCB6MCwgNSkp CmRpZmYgLS1naXQgYS9nY2MvdGVzdHN1aXRlL2djYy50YXJnZXQvYWFyY2g2 NC9zdmUtYWNsZS9hc20vYW5kX3U4LmMgYi9nY2MvdGVzdHN1aXRlL2djYy50 YXJnZXQvYWFyY2g2NC9zdmUtYWNsZS9hc20vYW5kX3U4LmMKbmV3IGZpbGUg bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMDUyNzczOQotLS0gL2Rldi9u dWxsCisrKyBiL2djYy90ZXN0c3VpdGUvZ2NjLnRhcmdldC9hYXJjaDY0L3N2 ZS1hY2xlL2FzbS9hbmRfdTguYwpAQCAtMCwwICsxLDMxNSBAQAorLyogeyBk Zy1kbyBjb21waWxlIH0gKi8KKy8qIHsgZGctZmluYWwgeyBjaGVjay1mdW5j dGlvbi1ib2RpZXMgIioqIiAiIiAiLURDSEVDS19BU00iIH0gfSAqLworCisj aW5jbHVkZSAidGVzdF9zdmVfYWNsZS5oIgorCisvKgorKiogYW5kX3U4X21f dGllZDE6CisqKglhbmQJejBcLmIsIHAwL20sIHowXC5iLCB6MVwuYgorKioJ cmV0CisqLworVEVTVF9VTklGT1JNX1ogKGFuZF91OF9tX3RpZWQxLCBzdnVp bnQ4X3QsCisJCXowID0gc3ZhbmRfdThfbSAocDAsIHowLCB6MSksCisJCXow ID0gc3ZhbmRfbSAocDAsIHowLCB6MSkpCisKKy8qIEJhZCBSQSBjaG9pY2U6 IG5vIHByZWZlcnJlZCBvdXRwdXQgc2VxdWVuY2UuICAqLworVEVTVF9VTklG T1JNX1ogKGFuZF91OF9tX3RpZWQyLCBzdnVpbnQ4X3QsCisJCXoxID0gc3Zh bmRfdThfbSAocDAsIHowLCB6MSksCisJCXoxID0gc3ZhbmRfbSAocDAsIHow LCB6MSkpCisKKy8qCisqKiBhbmRfdThfbV91bnRpZWQ6CisqKgltb3ZwcmZ4 CXowLCB6MQorKioJYW5kCXowXC5iLCBwMC9tLCB6MFwuYiwgejJcLmIKKyoq CXJldAorKi8KK1RFU1RfVU5JRk9STV9aIChhbmRfdThfbV91bnRpZWQsIHN2 dWludDhfdCwKKwkJejAgPSBzdmFuZF91OF9tIChwMCwgejEsIHoyKSwKKwkJ ejAgPSBzdmFuZF9tIChwMCwgejEsIHoyKSkKKworLyoKKyoqIGFuZF93MF91 OF9tX3RpZWQxOgorKioJbW92CSh6WzAtOV0rXC5iKSwgdzAKKyoqCWFuZAl6 MFwuYiwgcDAvbSwgejBcLmIsIFwxCisqKglyZXQKKyovCitURVNUX1VOSUZP Uk1fWlMgKGFuZF93MF91OF9tX3RpZWQxLCBzdnVpbnQ4X3QsIHVpbnQ4X3Qs CisJCSB6MCA9IHN2YW5kX25fdThfbSAocDAsIHowLCB4MCksCisJCSB6MCA9 IHN2YW5kX20gKHAwLCB6MCwgeDApKQorCisvKgorKiogYW5kX3cwX3U4X21f dW50aWVkOgorKioJbW92CSh6WzAtOV0rXC5iKSwgdzAKKyoqCW1vdnByZngJ ejAsIHoxCisqKglhbmQJejBcLmIsIHAwL20sIHowXC5iLCBcMQorKioJcmV0 CisqLworVEVTVF9VTklGT1JNX1pTIChhbmRfdzBfdThfbV91bnRpZWQsIHN2 dWludDhfdCwgdWludDhfdCwKKwkJIHowID0gc3ZhbmRfbl91OF9tIChwMCwg ejEsIHgwKSwKKwkJIHowID0gc3ZhbmRfbSAocDAsIHoxLCB4MCkpCisKKy8q CisqKiBhbmRfYjBfdThfbV90aWVkMToKKyoqCW1vdgkoelswLTldK1wuYiks IGIwCisqKglhbmQJejFcLmIsIHAwL20sIHoxXC5iLCBcMQorKioJcmV0Cisq LworVEVTVF9VTklGT1JNX1pTIChhbmRfYjBfdThfbV90aWVkMSwgc3Z1aW50 OF90LCB1aW50OF90LAorCQkgejEgPSBzdmFuZF9uX3U4X20gKHAwLCB6MSwg ZDApLAorCQkgejEgPSBzdmFuZF9tIChwMCwgejEsIGQwKSkKKworLyoKKyoq IGFuZF9iMF91OF9tX3VudGllZDoKKyoqCW1vdgkoelswLTldK1wuYiksIGIw CisqKgltb3ZwcmZ4CXoxLCB6MgorKioJYW5kCXoxXC5iLCBwMC9tLCB6MVwu YiwgXDEKKyoqCXJldAorKi8KK1RFU1RfVU5JRk9STV9aUyAoYW5kX2IwX3U4 X21fdW50aWVkLCBzdnVpbnQ4X3QsIHVpbnQ4X3QsCisJCSB6MSA9IHN2YW5k X25fdThfbSAocDAsIHoyLCBkMCksCisJCSB6MSA9IHN2YW5kX20gKHAwLCB6 MiwgZDApKQorCisvKgorKiogYW5kXzFfdThfbV90aWVkMToKKyoqCW1vdgko elswLTldK1wuYiksICMxCisqKglhbmQJejBcLmIsIHAwL20sIHowXC5iLCBc MQorKioJcmV0CisqLworVEVTVF9VTklGT1JNX1ogKGFuZF8xX3U4X21fdGll ZDEsIHN2dWludDhfdCwKKwkJejAgPSBzdmFuZF9uX3U4X20gKHAwLCB6MCwg MSksCisJCXowID0gc3ZhbmRfbSAocDAsIHowLCAxKSkKKworLyoKKyoqIGFu ZF8xX3U4X21fdW50aWVkOgorKioJbW92CSh6WzAtOV0rXC5iKSwgIzEKKyoq CW1vdnByZngJejAsIHoxCisqKglhbmQJejBcLmIsIHAwL20sIHowXC5iLCBc MQorKioJcmV0CisqLworVEVTVF9VTklGT1JNX1ogKGFuZF8xX3U4X21fdW50 aWVkLCBzdnVpbnQ4X3QsCisJCXowID0gc3ZhbmRfbl91OF9tIChwMCwgejEs IDEpLAorCQl6MCA9IHN2YW5kX20gKHAwLCB6MSwgMSkpCisKKy8qCisqKiBh bmRfbTJfdThfbToKKyoqCW1vdgkoelswLTldK1wuYiksICMtMgorKioJYW5k CXowXC5iLCBwMC9tLCB6MFwuYiwgXDEKKyoqCXJldAorKi8KK1RFU1RfVU5J Rk9STV9aIChhbmRfbTJfdThfbSwgc3Z1aW50OF90LAorCQl6MCA9IHN2YW5k X25fdThfbSAocDAsIHowLCAtMiksCisJCXowID0gc3ZhbmRfbSAocDAsIHow LCAtMikpCisKKy8qCisqKiBhbmRfdThfel90aWVkMToKKyoqCW1vdnByZngJ ejBcLmIsIHAwL3osIHowXC5iCisqKglhbmQJejBcLmIsIHAwL20sIHowXC5i LCB6MVwuYgorKioJcmV0CisqLworVEVTVF9VTklGT1JNX1ogKGFuZF91OF96 X3RpZWQxLCBzdnVpbnQ4X3QsCisJCXowID0gc3ZhbmRfdThfeiAocDAsIHow LCB6MSksCisJCXowID0gc3ZhbmRfeiAocDAsIHowLCB6MSkpCisKKy8qCisq KiBhbmRfdThfel90aWVkMjoKKyoqCW1vdnByZngJejFcLmIsIHAwL3osIHox XC5iCisqKglhbmQJejFcLmIsIHAwL20sIHoxXC5iLCB6MFwuYgorKioJcmV0 CisqLworVEVTVF9VTklGT1JNX1ogKGFuZF91OF96X3RpZWQyLCBzdnVpbnQ4 X3QsCisJCXoxID0gc3ZhbmRfdThfeiAocDAsIHowLCB6MSksCisJCXoxID0g c3ZhbmRfeiAocDAsIHowLCB6MSkpCisKKy8qCisqKiBhbmRfdThfel91bnRp ZWQ6CisqKgltb3ZwcmZ4CXowXC5iLCBwMC96LCB6MVwuYgorKioJYW5kCXow XC5iLCBwMC9tLCB6MFwuYiwgejJcLmIKKyoqCXJldAorKi8KK1RFU1RfVU5J Rk9STV9aIChhbmRfdThfel91bnRpZWQsIHN2dWludDhfdCwKKwkJejAgPSBz dmFuZF91OF96IChwMCwgejEsIHoyKSwKKwkJejAgPSBzdmFuZF96IChwMCwg ejEsIHoyKSkKKworLyoKKyoqIGFuZF93MF91OF96X3RpZWQxOgorKioJbW92 CSh6WzAtOV0rXC5iKSwgdzAKKyoqCW1vdnByZngJejBcLmIsIHAwL3osIHow XC5iCisqKglhbmQJejBcLmIsIHAwL20sIHowXC5iLCBcMQorKioJcmV0Cisq LworVEVTVF9VTklGT1JNX1pTIChhbmRfdzBfdThfel90aWVkMSwgc3Z1aW50 OF90LCB1aW50OF90LAorCQkgejAgPSBzdmFuZF9uX3U4X3ogKHAwLCB6MCwg eDApLAorCQkgejAgPSBzdmFuZF96IChwMCwgejAsIHgwKSkKKworLyoKKyoq IGFuZF93MF91OF96X3VudGllZDoKKyoqCW1vdgkoelswLTldK1wuYiksIHcw CisqKgltb3ZwcmZ4CXowXC5iLCBwMC96LCB6MVwuYgorKioJYW5kCXowXC5i LCBwMC9tLCB6MFwuYiwgXDEKKyoqCXJldAorKi8KK1RFU1RfVU5JRk9STV9a UyAoYW5kX3cwX3U4X3pfdW50aWVkLCBzdnVpbnQ4X3QsIHVpbnQ4X3QsCisJ CSB6MCA9IHN2YW5kX25fdThfeiAocDAsIHoxLCB4MCksCisJCSB6MCA9IHN2 YW5kX3ogKHAwLCB6MSwgeDApKQorCisvKgorKiogYW5kX2IwX3U4X3pfdGll ZDE6CisqKgltb3YJKHpbMC05XStcLmIpLCBiMAorKioJbW92cHJmeAl6MVwu YiwgcDAveiwgejFcLmIKKyoqCWFuZAl6MVwuYiwgcDAvbSwgejFcLmIsIFwx CisqKglyZXQKKyovCitURVNUX1VOSUZPUk1fWlMgKGFuZF9iMF91OF96X3Rp ZWQxLCBzdnVpbnQ4X3QsIHVpbnQ4X3QsCisJCSB6MSA9IHN2YW5kX25fdThf eiAocDAsIHoxLCBkMCksCisJCSB6MSA9IHN2YW5kX3ogKHAwLCB6MSwgZDAp KQorCisvKgorKiogYW5kX2IwX3U4X3pfdW50aWVkOgorKioJbW92CSh6WzAt OV0rXC5iKSwgYjAKKyoqCW1vdnByZngJejFcLmIsIHAwL3osIHoyXC5iCisq KglhbmQJejFcLmIsIHAwL20sIHoxXC5iLCBcMQorKioJcmV0CisqLworVEVT VF9VTklGT1JNX1pTIChhbmRfYjBfdThfel91bnRpZWQsIHN2dWludDhfdCwg dWludDhfdCwKKwkJIHoxID0gc3ZhbmRfbl91OF96IChwMCwgejIsIGQwKSwK KwkJIHoxID0gc3ZhbmRfeiAocDAsIHoyLCBkMCkpCisKKy8qCisqKiBhbmRf dThfeF90aWVkMToKKyoqCWFuZAl6MFwuZCwgejBcLmQsIHoxXC5kCisqKgly ZXQKKyovCitURVNUX1VOSUZPUk1fWiAoYW5kX3U4X3hfdGllZDEsIHN2dWlu dDhfdCwKKwkJejAgPSBzdmFuZF91OF94IChwMCwgejAsIHoxKSwKKwkJejAg PSBzdmFuZF94IChwMCwgejAsIHoxKSkKKworLyoKKyoqIGFuZF91OF94X3Rp ZWQyOgorKioJYW5kCXoxXC5kLCB6MFwuZCwgejFcLmQKKyoqCXJldAorKi8K K1RFU1RfVU5JRk9STV9aIChhbmRfdThfeF90aWVkMiwgc3Z1aW50OF90LAor CQl6MSA9IHN2YW5kX3U4X3ggKHAwLCB6MCwgejEpLAorCQl6MSA9IHN2YW5k X3ggKHAwLCB6MCwgejEpKQorCisvKgorKiogYW5kX3U4X3hfdW50aWVkOgor KioJYW5kCXoyXC5kLCB6MFwuZCwgejFcLmQKKyoqCXJldAorKi8KK1RFU1Rf VU5JRk9STV9aIChhbmRfdThfeF91bnRpZWQsIHN2dWludDhfdCwKKwkJejIg PSBzdmFuZF91OF94IChwMCwgejAsIHoxKSwKKwkJejIgPSBzdmFuZF94IChw MCwgejAsIHoxKSkKKworLyoKKyoqIGFuZF93MF91OF94X3RpZWQxOgorKioJ bW92CSh6WzAtOV0rKVwuYiwgdzAKKyoqCWFuZAl6MFwuZCwgejBcLmQsIFwx XC5kCisqKglyZXQKKyovCitURVNUX1VOSUZPUk1fWlMgKGFuZF93MF91OF94 X3RpZWQxLCBzdnVpbnQ4X3QsIHVpbnQ4X3QsCisJCSB6MCA9IHN2YW5kX25f dThfeCAocDAsIHowLCB4MCksCisJCSB6MCA9IHN2YW5kX3ggKHAwLCB6MCwg eDApKQorCisvKgorKiogYW5kX3cwX3U4X3hfdW50aWVkOgorKioJbW92CXox XC5iLCB3MAorKioJYW5kCXoxXC5kLCB6MFwuZCwgejFcLmQKKyoqCXJldAor Ki8KK1RFU1RfVU5JRk9STV9aUyAoYW5kX3cwX3U4X3hfdW50aWVkLCBzdnVp bnQ4X3QsIHVpbnQ4X3QsCisJCSB6MSA9IHN2YW5kX25fdThfeCAocDAsIHow LCB4MCksCisJCSB6MSA9IHN2YW5kX3ggKHAwLCB6MCwgeDApKQorCisvKgor KiogYW5kX2IwX3U4X3hfdGllZDE6CisqKgltb3YJKHpbMC05XSspXC5iLCBi MAorKioJYW5kCXoxXC5kLCB6MVwuZCwgXDFcLmQKKyoqCXJldAorKi8KK1RF U1RfVU5JRk9STV9aUyAoYW5kX2IwX3U4X3hfdGllZDEsIHN2dWludDhfdCwg dWludDhfdCwKKwkJIHoxID0gc3ZhbmRfbl91OF94IChwMCwgejEsIGQwKSwK KwkJIHoxID0gc3ZhbmRfeCAocDAsIHoxLCBkMCkpCisKKy8qCisqKiBhbmRf YjBfdThfeF91bnRpZWQ6CisqKgltb3YJKHpbMC05XSspXC5iLCBiMAorKioJ YW5kCXoyXC5kLCB6MVwuZCwgXDFcLmQKKyoqCXJldAorKi8KK1RFU1RfVU5J Rk9STV9aUyAoYW5kX2IwX3U4X3hfdW50aWVkLCBzdnVpbnQ4X3QsIHVpbnQ4 X3QsCisJCSB6MiA9IHN2YW5kX25fdThfeCAocDAsIHoxLCBkMCksCisJCSB6 MiA9IHN2YW5kX3ggKHAwLCB6MSwgZDApKQorCisvKgorKiogYW5kXzFfdThf eF90aWVkMToKKyoqCWFuZAl6MFwuYiwgejBcLmIsICMweDEKKyoqCXJldAor Ki8KK1RFU1RfVU5JRk9STV9aIChhbmRfMV91OF94X3RpZWQxLCBzdnVpbnQ4 X3QsCisJCXowID0gc3ZhbmRfbl91OF94IChwMCwgejAsIDEpLAorCQl6MCA9 IHN2YW5kX3ggKHAwLCB6MCwgMSkpCisKKy8qCisqKiBhbmRfMV91OF94X3Vu dGllZDoKKyoqCW1vdnByZngJejAsIHoxCisqKglhbmQJejBcLmIsIHowXC5i LCAjMHgxCisqKglyZXQKKyovCitURVNUX1VOSUZPUk1fWiAoYW5kXzFfdThf eF91bnRpZWQsIHN2dWludDhfdCwKKwkJejAgPSBzdmFuZF9uX3U4X3ggKHAw LCB6MSwgMSksCisJCXowID0gc3ZhbmRfeCAocDAsIHoxLCAxKSkKKworLyoK KyoqIGFuZF8xMjdfdThfeDoKKyoqCWFuZAl6MFwuYiwgejBcLmIsICMweDdm CisqKglyZXQKKyovCitURVNUX1VOSUZPUk1fWiAoYW5kXzEyN191OF94LCBz dnVpbnQ4X3QsCisJCXowID0gc3ZhbmRfbl91OF94IChwMCwgejAsIDEyNyks CisJCXowID0gc3ZhbmRfeCAocDAsIHowLCAxMjcpKQorCisvKgorKiogYW5k XzEyOF91OF94OgorKioJYW5kCXowXC5iLCB6MFwuYiwgIzB4ODAKKyoqCXJl dAorKi8KK1RFU1RfVU5JRk9STV9aIChhbmRfMTI4X3U4X3gsIHN2dWludDhf dCwKKwkJejAgPSBzdmFuZF9uX3U4X3ggKHAwLCB6MCwgMTI4KSwKKwkJejAg PSBzdmFuZF94IChwMCwgejAsIDEyOCkpCisKKy8qCisqKiBhbmRfMjU1X3U4 X3g6CisqKglyZXQKKyovCitURVNUX1VOSUZPUk1fWiAoYW5kXzI1NV91OF94 LCBzdnVpbnQ4X3QsCisJCXowID0gc3ZhbmRfbl91OF94IChwMCwgejAsIDI1 NSksCisJCXowID0gc3ZhbmRfeCAocDAsIHowLCAyNTUpKQorCisvKgorKiog YW5kX20xMjdfdThfeDoKKyoqCWFuZAl6MFwuYiwgejBcLmIsICMweDgxCisq KglyZXQKKyovCitURVNUX1VOSUZPUk1fWiAoYW5kX20xMjdfdThfeCwgc3Z1 aW50OF90LAorCQl6MCA9IHN2YW5kX25fdThfeCAocDAsIHowLCAtMTI3KSwK KwkJejAgPSBzdmFuZF94IChwMCwgejAsIC0xMjcpKQorCisvKgorKiogYW5k X20xMjhfdThfeDoKKyoqCWFuZAl6MFwuYiwgejBcLmIsICMweDgwCisqKgly ZXQKKyovCitURVNUX1VOSUZPUk1fWiAoYW5kX20xMjhfdThfeCwgc3Z1aW50 OF90LAorCQl6MCA9IHN2YW5kX25fdThfeCAocDAsIHowLCAtMTI4KSwKKwkJ ejAgPSBzdmFuZF94IChwMCwgejAsIC0xMjgpKQorCisvKgorKiogYW5kXzVf dThfeDoKKyoqCW1vdgkoelswLTldKylcLmIsICM1CisqKglhbmQJejBcLmQs IHowXC5kLCBcMVwuZAorKioJcmV0CisqLworVEVTVF9VTklGT1JNX1ogKGFu ZF81X3U4X3gsIHN2dWludDhfdCwKKwkJejAgPSBzdmFuZF9uX3U4X3ggKHAw LCB6MCwgNSksCisJCXowID0gc3ZhbmRfeCAocDAsIHowLCA1KSkKZGlmZiAt LWdpdCBhL2djYy90ZXN0c3VpdGUvZ2NjLnRhcmdldC9hYXJjaDY0L3N2ZS1h Y2xlL2FzbS9lb3JfczE2LmMgYi9nY2MvdGVzdHN1aXRlL2djYy50YXJnZXQv YWFyY2g2NC9zdmUtYWNsZS9hc20vZW9yX3MxNi5jCm5ldyBmaWxlIG1vZGUg MTAwNjQ0CmluZGV4IDAwMDAwMDAuLmY1NWVlYjkKLS0tIC9kZXYvbnVsbAor KysgYi9nY2MvdGVzdHN1aXRlL2djYy50YXJnZXQvYWFyY2g2NC9zdmUtYWNs ZS9hc20vZW9yX3MxNi5jCkBAIC0wLDAgKzEsMzk3IEBACisvKiB7IGRnLWRv IGNvbXBpbGUgfSAqLworLyogeyBkZy1maW5hbCB7IGNoZWNrLWZ1bmN0aW9u LWJvZGllcyAiKioiICIiICItRENIRUNLX0FTTSIgfSB9ICovCisKKyNpbmNs dWRlICJ0ZXN0X3N2ZV9hY2xlLmgiCisKKy8qCisqKiBlb3JfczE2X21fdGll ZDE6CisqKgllb3IJejBcLmgsIHAwL20sIHowXC5oLCB6MVwuaAorKioJcmV0 CisqLworVEVTVF9VTklGT1JNX1ogKGVvcl9zMTZfbV90aWVkMSwgc3ZpbnQx Nl90LAorCQl6MCA9IHN2ZW9yX3MxNl9tIChwMCwgejAsIHoxKSwKKwkJejAg PSBzdmVvcl9tIChwMCwgejAsIHoxKSkKKworLyogQmFkIFJBIGNob2ljZTog bm8gcHJlZmVycmVkIG91dHB1dCBzZXF1ZW5jZS4gICovCitURVNUX1VOSUZP Uk1fWiAoZW9yX3MxNl9tX3RpZWQyLCBzdmludDE2X3QsCisJCXoxID0gc3Zl b3JfczE2X20gKHAwLCB6MCwgejEpLAorCQl6MSA9IHN2ZW9yX20gKHAwLCB6 MCwgejEpKQorCisvKgorKiogZW9yX3MxNl9tX3VudGllZDoKKyoqCW1vdnBy ZngJejAsIHoxCisqKgllb3IJejBcLmgsIHAwL20sIHowXC5oLCB6MlwuaAor KioJcmV0CisqLworVEVTVF9VTklGT1JNX1ogKGVvcl9zMTZfbV91bnRpZWQs IHN2aW50MTZfdCwKKwkJejAgPSBzdmVvcl9zMTZfbSAocDAsIHoxLCB6Miks CisJCXowID0gc3Zlb3JfbSAocDAsIHoxLCB6MikpCisKKy8qCisqKiBlb3Jf dzBfczE2X21fdGllZDE6CisqKgltb3YJKHpbMC05XStcLmgpLCB3MAorKioJ ZW9yCXowXC5oLCBwMC9tLCB6MFwuaCwgXDEKKyoqCXJldAorKi8KK1RFU1Rf VU5JRk9STV9aUyAoZW9yX3cwX3MxNl9tX3RpZWQxLCBzdmludDE2X3QsIGlu dDE2X3QsCisJCSB6MCA9IHN2ZW9yX25fczE2X20gKHAwLCB6MCwgeDApLAor CQkgejAgPSBzdmVvcl9tIChwMCwgejAsIHgwKSkKKworLyoKKyoqIGVvcl93 MF9zMTZfbV91bnRpZWQ6CisqKgltb3YJKHpbMC05XStcLmgpLCB3MAorKioJ bW92cHJmeAl6MCwgejEKKyoqCWVvcgl6MFwuaCwgcDAvbSwgejBcLmgsIFwx CisqKglyZXQKKyovCitURVNUX1VOSUZPUk1fWlMgKGVvcl93MF9zMTZfbV91 bnRpZWQsIHN2aW50MTZfdCwgaW50MTZfdCwKKwkJIHowID0gc3Zlb3Jfbl9z MTZfbSAocDAsIHoxLCB4MCksCisJCSB6MCA9IHN2ZW9yX20gKHAwLCB6MSwg eDApKQorCisvKgorKiogZW9yX2gwX3MxNl9tX3RpZWQxOgorKioJbW92CSh6 WzAtOV0rXC5oKSwgaDAKKyoqCWVvcgl6MVwuaCwgcDAvbSwgejFcLmgsIFwx CisqKglyZXQKKyovCitURVNUX1VOSUZPUk1fWlMgKGVvcl9oMF9zMTZfbV90 aWVkMSwgc3ZpbnQxNl90LCBpbnQxNl90LAorCQkgejEgPSBzdmVvcl9uX3Mx Nl9tIChwMCwgejEsIGQwKSwKKwkJIHoxID0gc3Zlb3JfbSAocDAsIHoxLCBk MCkpCisKKy8qCisqKiBlb3JfaDBfczE2X21fdW50aWVkOgorKioJbW92CSh6 WzAtOV0rXC5oKSwgaDAKKyoqCW1vdnByZngJejEsIHoyCisqKgllb3IJejFc LmgsIHAwL20sIHoxXC5oLCBcMQorKioJcmV0CisqLworVEVTVF9VTklGT1JN X1pTIChlb3JfaDBfczE2X21fdW50aWVkLCBzdmludDE2X3QsIGludDE2X3Qs CisJCSB6MSA9IHN2ZW9yX25fczE2X20gKHAwLCB6MiwgZDApLAorCQkgejEg PSBzdmVvcl9tIChwMCwgejIsIGQwKSkKKworLyoKKyoqIGVvcl8xX3MxNl9t X3RpZWQxOgorKioJbW92CSh6WzAtOV0rXC5oKSwgIzEKKyoqCWVvcgl6MFwu aCwgcDAvbSwgejBcLmgsIFwxCisqKglyZXQKKyovCitURVNUX1VOSUZPUk1f WiAoZW9yXzFfczE2X21fdGllZDEsIHN2aW50MTZfdCwKKwkJejAgPSBzdmVv cl9uX3MxNl9tIChwMCwgejAsIDEpLAorCQl6MCA9IHN2ZW9yX20gKHAwLCB6 MCwgMSkpCisKKy8qCisqKiBlb3JfMV9zMTZfbV91bnRpZWQ6CisqKgltb3YJ KHpbMC05XStcLmgpLCAjMQorKioJbW92cHJmeAl6MCwgejEKKyoqCWVvcgl6 MFwuaCwgcDAvbSwgejBcLmgsIFwxCisqKglyZXQKKyovCitURVNUX1VOSUZP Uk1fWiAoZW9yXzFfczE2X21fdW50aWVkLCBzdmludDE2X3QsCisJCXowID0g c3Zlb3Jfbl9zMTZfbSAocDAsIHoxLCAxKSwKKwkJejAgPSBzdmVvcl9tIChw MCwgejEsIDEpKQorCisvKgorKiogZW9yX20yX3MxNl9tOgorKioJbW92CSh6 WzAtOV0rXC5oKSwgIy0yCisqKgllb3IJejBcLmgsIHAwL20sIHowXC5oLCBc MQorKioJcmV0CisqLworVEVTVF9VTklGT1JNX1ogKGVvcl9tMl9zMTZfbSwg c3ZpbnQxNl90LAorCQl6MCA9IHN2ZW9yX25fczE2X20gKHAwLCB6MCwgLTIp LAorCQl6MCA9IHN2ZW9yX20gKHAwLCB6MCwgLTIpKQorCisvKgorKiogZW9y X3MxNl96X3RpZWQxOgorKioJbW92cHJmeAl6MFwuaCwgcDAveiwgejBcLmgK KyoqCWVvcgl6MFwuaCwgcDAvbSwgejBcLmgsIHoxXC5oCisqKglyZXQKKyov CitURVNUX1VOSUZPUk1fWiAoZW9yX3MxNl96X3RpZWQxLCBzdmludDE2X3Qs CisJCXowID0gc3Zlb3JfczE2X3ogKHAwLCB6MCwgejEpLAorCQl6MCA9IHN2 ZW9yX3ogKHAwLCB6MCwgejEpKQorCisvKgorKiogZW9yX3MxNl96X3RpZWQy OgorKioJbW92cHJmeAl6MVwuaCwgcDAveiwgejFcLmgKKyoqCWVvcgl6MVwu aCwgcDAvbSwgejFcLmgsIHowXC5oCisqKglyZXQKKyovCitURVNUX1VOSUZP Uk1fWiAoZW9yX3MxNl96X3RpZWQyLCBzdmludDE2X3QsCisJCXoxID0gc3Zl b3JfczE2X3ogKHAwLCB6MCwgejEpLAorCQl6MSA9IHN2ZW9yX3ogKHAwLCB6 MCwgejEpKQorCisvKgorKiogZW9yX3MxNl96X3VudGllZDoKKyoqCW1vdnBy ZngJejBcLmgsIHAwL3osIHoxXC5oCisqKgllb3IJejBcLmgsIHAwL20sIHow XC5oLCB6MlwuaAorKioJcmV0CisqLworVEVTVF9VTklGT1JNX1ogKGVvcl9z MTZfel91bnRpZWQsIHN2aW50MTZfdCwKKwkJejAgPSBzdmVvcl9zMTZfeiAo cDAsIHoxLCB6MiksCisJCXowID0gc3Zlb3JfeiAocDAsIHoxLCB6MikpCisK Ky8qCisqKiBlb3JfdzBfczE2X3pfdGllZDE6CisqKgltb3YJKHpbMC05XStc LmgpLCB3MAorKioJbW92cHJmeAl6MFwuaCwgcDAveiwgejBcLmgKKyoqCWVv cgl6MFwuaCwgcDAvbSwgejBcLmgsIFwxCisqKglyZXQKKyovCitURVNUX1VO SUZPUk1fWlMgKGVvcl93MF9zMTZfel90aWVkMSwgc3ZpbnQxNl90LCBpbnQx Nl90LAorCQkgejAgPSBzdmVvcl9uX3MxNl96IChwMCwgejAsIHgwKSwKKwkJ IHowID0gc3Zlb3JfeiAocDAsIHowLCB4MCkpCisKKy8qCisqKiBlb3JfdzBf czE2X3pfdW50aWVkOgorKioJbW92CSh6WzAtOV0rXC5oKSwgdzAKKyoqCW1v dnByZngJejBcLmgsIHAwL3osIHoxXC5oCisqKgllb3IJejBcLmgsIHAwL20s IHowXC5oLCBcMQorKioJcmV0CisqLworVEVTVF9VTklGT1JNX1pTIChlb3Jf dzBfczE2X3pfdW50aWVkLCBzdmludDE2X3QsIGludDE2X3QsCisJCSB6MCA9 IHN2ZW9yX25fczE2X3ogKHAwLCB6MSwgeDApLAorCQkgejAgPSBzdmVvcl96 IChwMCwgejEsIHgwKSkKKworLyoKKyoqIGVvcl9oMF9zMTZfel90aWVkMToK KyoqCW1vdgkoelswLTldK1wuaCksIGgwCisqKgltb3ZwcmZ4CXoxXC5oLCBw MC96LCB6MVwuaAorKioJZW9yCXoxXC5oLCBwMC9tLCB6MVwuaCwgXDEKKyoq CXJldAorKi8KK1RFU1RfVU5JRk9STV9aUyAoZW9yX2gwX3MxNl96X3RpZWQx LCBzdmludDE2X3QsIGludDE2X3QsCisJCSB6MSA9IHN2ZW9yX25fczE2X3og KHAwLCB6MSwgZDApLAorCQkgejEgPSBzdmVvcl96IChwMCwgejEsIGQwKSkK KworLyoKKyoqIGVvcl9oMF9zMTZfel91bnRpZWQ6CisqKgltb3YJKHpbMC05 XStcLmgpLCBoMAorKioJbW92cHJmeAl6MVwuaCwgcDAveiwgejJcLmgKKyoq CWVvcgl6MVwuaCwgcDAvbSwgejFcLmgsIFwxCisqKglyZXQKKyovCitURVNU X1VOSUZPUk1fWlMgKGVvcl9oMF9zMTZfel91bnRpZWQsIHN2aW50MTZfdCwg aW50MTZfdCwKKwkJIHoxID0gc3Zlb3Jfbl9zMTZfeiAocDAsIHoyLCBkMCks CisJCSB6MSA9IHN2ZW9yX3ogKHAwLCB6MiwgZDApKQorCisvKgorKiogZW9y X3MxNl94X3RpZWQxOgorKioJZW9yCXowXC5kLCB6MFwuZCwgejFcLmQKKyoq CXJldAorKi8KK1RFU1RfVU5JRk9STV9aIChlb3JfczE2X3hfdGllZDEsIHN2 aW50MTZfdCwKKwkJejAgPSBzdmVvcl9zMTZfeCAocDAsIHowLCB6MSksCisJ CXowID0gc3Zlb3JfeCAocDAsIHowLCB6MSkpCisKKy8qCisqKiBlb3JfczE2 X3hfdGllZDI6CisqKgllb3IJejFcLmQsIHowXC5kLCB6MVwuZAorKioJcmV0 CisqLworVEVTVF9VTklGT1JNX1ogKGVvcl9zMTZfeF90aWVkMiwgc3ZpbnQx Nl90LAorCQl6MSA9IHN2ZW9yX3MxNl94IChwMCwgejAsIHoxKSwKKwkJejEg PSBzdmVvcl94IChwMCwgejAsIHoxKSkKKworLyoKKyoqIGVvcl9zMTZfeF91 bnRpZWQ6CisqKgllb3IJejJcLmQsIHowXC5kLCB6MVwuZAorKioJcmV0Cisq LworVEVTVF9VTklGT1JNX1ogKGVvcl9zMTZfeF91bnRpZWQsIHN2aW50MTZf dCwKKwkJejIgPSBzdmVvcl9zMTZfeCAocDAsIHowLCB6MSksCisJCXoyID0g c3Zlb3JfeCAocDAsIHowLCB6MSkpCisKKy8qCisqKiBlb3JfdzBfczE2X3hf dGllZDE6CisqKgltb3YJKHpbMC05XSspXC5oLCB3MAorKioJZW9yCXowXC5k LCB6MFwuZCwgXDFcLmQKKyoqCXJldAorKi8KK1RFU1RfVU5JRk9STV9aUyAo ZW9yX3cwX3MxNl94X3RpZWQxLCBzdmludDE2X3QsIGludDE2X3QsCisJCSB6 MCA9IHN2ZW9yX25fczE2X3ggKHAwLCB6MCwgeDApLAorCQkgejAgPSBzdmVv cl94IChwMCwgejAsIHgwKSkKKworLyoKKyoqIGVvcl93MF9zMTZfeF91bnRp ZWQ6CisqKgltb3YJejFcLmgsIHcwCisqKgllb3IJejFcLmQsIHowXC5kLCB6 MVwuZAorKioJcmV0CisqLworVEVTVF9VTklGT1JNX1pTIChlb3JfdzBfczE2 X3hfdW50aWVkLCBzdmludDE2X3QsIGludDE2X3QsCisJCSB6MSA9IHN2ZW9y X25fczE2X3ggKHAwLCB6MCwgeDApLAorCQkgejEgPSBzdmVvcl94IChwMCwg ejAsIHgwKSkKKworLyoKKyoqIGVvcl9oMF9zMTZfeF90aWVkMToKKyoqCW1v dgkoelswLTldKylcLmgsIGgwCisqKgllb3IJejFcLmQsIHoxXC5kLCBcMVwu ZAorKioJcmV0CisqLworVEVTVF9VTklGT1JNX1pTIChlb3JfaDBfczE2X3hf dGllZDEsIHN2aW50MTZfdCwgaW50MTZfdCwKKwkJIHoxID0gc3Zlb3Jfbl9z MTZfeCAocDAsIHoxLCBkMCksCisJCSB6MSA9IHN2ZW9yX3ggKHAwLCB6MSwg ZDApKQorCisvKgorKiogZW9yX2gwX3MxNl94X3VudGllZDoKKyoqCW1vdgko elswLTldKylcLmgsIGgwCisqKgllb3IJejJcLmQsIHoxXC5kLCBcMVwuZAor KioJcmV0CisqLworVEVTVF9VTklGT1JNX1pTIChlb3JfaDBfczE2X3hfdW50 aWVkLCBzdmludDE2X3QsIGludDE2X3QsCisJCSB6MiA9IHN2ZW9yX25fczE2 X3ggKHAwLCB6MSwgZDApLAorCQkgejIgPSBzdmVvcl94IChwMCwgejEsIGQw KSkKKworLyoKKyoqIGVvcl8xX3MxNl94X3RpZWQxOgorKioJZW9yCXowXC5o LCB6MFwuaCwgIzB4MQorKioJcmV0CisqLworVEVTVF9VTklGT1JNX1ogKGVv cl8xX3MxNl94X3RpZWQxLCBzdmludDE2X3QsCisJCXowID0gc3Zlb3Jfbl9z MTZfeCAocDAsIHowLCAxKSwKKwkJejAgPSBzdmVvcl94IChwMCwgejAsIDEp KQorCisvKgorKiogZW9yXzFfczE2X3hfdW50aWVkOgorKioJbW92cHJmeAl6 MCwgejEKKyoqCWVvcgl6MFwuaCwgejBcLmgsICMweDEKKyoqCXJldAorKi8K K1RFU1RfVU5JRk9STV9aIChlb3JfMV9zMTZfeF91bnRpZWQsIHN2aW50MTZf dCwKKwkJejAgPSBzdmVvcl9uX3MxNl94IChwMCwgejEsIDEpLAorCQl6MCA9 IHN2ZW9yX3ggKHAwLCB6MSwgMSkpCisKKy8qCisqKiBlb3JfMTI3X3MxNl94 OgorKioJZW9yCXowXC5oLCB6MFwuaCwgIzB4N2YKKyoqCXJldAorKi8KK1RF U1RfVU5JRk9STV9aIChlb3JfMTI3X3MxNl94LCBzdmludDE2X3QsCisJCXow ID0gc3Zlb3Jfbl9zMTZfeCAocDAsIHowLCAxMjcpLAorCQl6MCA9IHN2ZW9y X3ggKHAwLCB6MCwgMTI3KSkKKworLyoKKyoqIGVvcl8xMjhfczE2X3g6Cisq Kgllb3IJejBcLmgsIHowXC5oLCAjMHg4MAorKioJcmV0CisqLworVEVTVF9V TklGT1JNX1ogKGVvcl8xMjhfczE2X3gsIHN2aW50MTZfdCwKKwkJejAgPSBz dmVvcl9uX3MxNl94IChwMCwgejAsIDEyOCksCisJCXowID0gc3Zlb3JfeCAo cDAsIHowLCAxMjgpKQorCisvKgorKiogZW9yXzI1NV9zMTZfeDoKKyoqCWVv cgl6MFwuaCwgejBcLmgsICMweGZmCisqKglyZXQKKyovCitURVNUX1VOSUZP Uk1fWiAoZW9yXzI1NV9zMTZfeCwgc3ZpbnQxNl90LAorCQl6MCA9IHN2ZW9y X25fczE2X3ggKHAwLCB6MCwgMjU1KSwKKwkJejAgPSBzdmVvcl94IChwMCwg ejAsIDI1NSkpCisKKy8qCisqKiBlb3JfMjU2X3MxNl94OgorKioJZW9yCXow XC5oLCB6MFwuaCwgIzB4MTAwCisqKglyZXQKKyovCitURVNUX1VOSUZPUk1f WiAoZW9yXzI1Nl9zMTZfeCwgc3ZpbnQxNl90LAorCQl6MCA9IHN2ZW9yX25f czE2X3ggKHAwLCB6MCwgMjU2KSwKKwkJejAgPSBzdmVvcl94IChwMCwgejAs IDI1NikpCisKKy8qCisqKiBlb3JfMjU3X3MxNl94OgorKioJZW9yCXowXC5o LCB6MFwuaCwgIzB4MTAxCisqKglyZXQKKyovCitURVNUX1VOSUZPUk1fWiAo ZW9yXzI1N19zMTZfeCwgc3ZpbnQxNl90LAorCQl6MCA9IHN2ZW9yX25fczE2 X3ggKHAwLCB6MCwgMjU3KSwKKwkJejAgPSBzdmVvcl94IChwMCwgejAsIDI1 NykpCisKKy8qCisqKiBlb3JfNTEyX3MxNl94OgorKioJZW9yCXowXC5oLCB6 MFwuaCwgIzB4MjAwCisqKglyZXQKKyovCitURVNUX1VOSUZPUk1fWiAoZW9y XzUxMl9zMTZfeCwgc3ZpbnQxNl90LAorCQl6MCA9IHN2ZW9yX25fczE2X3gg KHAwLCB6MCwgNTEyKSwKKwkJejAgPSBzdmVvcl94IChwMCwgejAsIDUxMikp CisKKy8qCisqKiBlb3JfNjUyODBfczE2X3g6CisqKgllb3IJejBcLmgsIHow XC5oLCAjMHhmZjAwCisqKglyZXQKKyovCitURVNUX1VOSUZPUk1fWiAoZW9y XzY1MjgwX3MxNl94LCBzdmludDE2X3QsCisJCXowID0gc3Zlb3Jfbl9zMTZf eCAocDAsIHowLCAweGZmMDApLAorCQl6MCA9IHN2ZW9yX3ggKHAwLCB6MCwg MHhmZjAwKSkKKworLyoKKyoqIGVvcl9tMTI3X3MxNl94OgorKioJZW9yCXow XC5oLCB6MFwuaCwgIzB4ZmY4MQorKioJcmV0CisqLworVEVTVF9VTklGT1JN X1ogKGVvcl9tMTI3X3MxNl94LCBzdmludDE2X3QsCisJCXowID0gc3Zlb3Jf bl9zMTZfeCAocDAsIHowLCAtMTI3KSwKKwkJejAgPSBzdmVvcl94IChwMCwg ejAsIC0xMjcpKQorCisvKgorKiogZW9yX20xMjhfczE2X3g6CisqKgllb3IJ ejBcLmgsIHowXC5oLCAjMHhmZjgwCisqKglyZXQKKyovCitURVNUX1VOSUZP Uk1fWiAoZW9yX20xMjhfczE2X3gsIHN2aW50MTZfdCwKKwkJejAgPSBzdmVv cl9uX3MxNl94IChwMCwgejAsIC0xMjgpLAorCQl6MCA9IHN2ZW9yX3ggKHAw LCB6MCwgLTEyOCkpCisKKy8qCisqKiBlb3JfbTI1NV9zMTZfeDoKKyoqCWVv cgl6MFwuaCwgejBcLmgsICMweGZmMDEKKyoqCXJldAorKi8KK1RFU1RfVU5J Rk9STV9aIChlb3JfbTI1NV9zMTZfeCwgc3ZpbnQxNl90LAorCQl6MCA9IHN2 ZW9yX25fczE2X3ggKHAwLCB6MCwgLTI1NSksCisJCXowID0gc3Zlb3JfeCAo cDAsIHowLCAtMjU1KSkKKworLyoKKyoqIGVvcl9tMjU2X3MxNl94OgorKioJ ZW9yCXowXC5oLCB6MFwuaCwgIzB4ZmYwMAorKioJcmV0CisqLworVEVTVF9V TklGT1JNX1ogKGVvcl9tMjU2X3MxNl94LCBzdmludDE2X3QsCisJCXowID0g c3Zlb3Jfbl9zMTZfeCAocDAsIHowLCAtMjU2KSwKKwkJejAgPSBzdmVvcl94 IChwMCwgejAsIC0yNTYpKQorCisvKgorKiogZW9yX20yNTdfczE2X3g6Cisq Kgllb3IJejBcLmgsIHowXC5oLCAjMHhmZWZmCisqKglyZXQKKyovCitURVNU X1VOSUZPUk1fWiAoZW9yX20yNTdfczE2X3gsIHN2aW50MTZfdCwKKwkJejAg PSBzdmVvcl9uX3MxNl94IChwMCwgejAsIC0yNTcpLAorCQl6MCA9IHN2ZW9y X3ggKHAwLCB6MCwgLTI1NykpCisKKy8qCisqKiBlb3JfbTUxMl9zMTZfeDoK KyoqCWVvcgl6MFwuaCwgejBcLmgsICMweGZlMDAKKyoqCXJldAorKi8KK1RF U1RfVU5JRk9STV9aIChlb3JfbTUxMl9zMTZfeCwgc3ZpbnQxNl90LAorCQl6 MCA9IHN2ZW9yX25fczE2X3ggKHAwLCB6MCwgLTUxMiksCisJCXowID0gc3Zl b3JfeCAocDAsIHowLCAtNTEyKSkKKworLyoKKyoqIGVvcl9tMzI3NjhfczE2 X3g6CisqKgllb3IJejBcLmgsIHowXC5oLCAjMHg4MDAwCisqKglyZXQKKyov CitURVNUX1VOSUZPUk1fWiAoZW9yX20zMjc2OF9zMTZfeCwgc3ZpbnQxNl90 LAorCQl6MCA9IHN2ZW9yX25fczE2X3ggKHAwLCB6MCwgLTB4ODAwMCksCisJ CXowID0gc3Zlb3JfeCAocDAsIHowLCAtMHg4MDAwKSkKKworLyoKKyoqIGVv cl81X3MxNl94OgorKioJbW92CSh6WzAtOV0rKVwuaCwgIzUKKyoqCWVvcgl6 MFwuZCwgejBcLmQsIFwxXC5kCisqKglyZXQKKyovCitURVNUX1VOSUZPUk1f WiAoZW9yXzVfczE2X3gsIHN2aW50MTZfdCwKKwkJejAgPSBzdmVvcl9uX3Mx Nl94IChwMCwgejAsIDUpLAorCQl6MCA9IHN2ZW9yX3ggKHAwLCB6MCwgNSkp CmRpZmYgLS1naXQgYS9nY2MvdGVzdHN1aXRlL2djYy50YXJnZXQvYWFyY2g2 NC9zdmUtYWNsZS9hc20vZW9yX3MzMi5jIGIvZ2NjL3Rlc3RzdWl0ZS9nY2Mu dGFyZ2V0L2FhcmNoNjQvc3ZlLWFjbGUvYXNtL2Vvcl9zMzIuYwpuZXcgZmls ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi44YjRlNmEzCi0tLSAvZGV2 L251bGwKKysrIGIvZ2NjL3Rlc3RzdWl0ZS9nY2MudGFyZ2V0L2FhcmNoNjQv c3ZlLWFjbGUvYXNtL2Vvcl9zMzIuYwpAQCAtMCwwICsxLDM5MyBAQAorLyog eyBkZy1kbyBjb21waWxlIH0gKi8KKy8qIHsgZGctZmluYWwgeyBjaGVjay1m dW5jdGlvbi1ib2RpZXMgIioqIiAiIiAiLURDSEVDS19BU00iIH0gfSAqLwor CisjaW5jbHVkZSAidGVzdF9zdmVfYWNsZS5oIgorCisvKgorKiogZW9yX3Mz Ml9tX3RpZWQxOgorKioJZW9yCXowXC5zLCBwMC9tLCB6MFwucywgejFcLnMK KyoqCXJldAorKi8KK1RFU1RfVU5JRk9STV9aIChlb3JfczMyX21fdGllZDEs IHN2aW50MzJfdCwKKwkJejAgPSBzdmVvcl9zMzJfbSAocDAsIHowLCB6MSks CisJCXowID0gc3Zlb3JfbSAocDAsIHowLCB6MSkpCisKKy8qIEJhZCBSQSBj aG9pY2U6IG5vIHByZWZlcnJlZCBvdXRwdXQgc2VxdWVuY2UuICAqLworVEVT VF9VTklGT1JNX1ogKGVvcl9zMzJfbV90aWVkMiwgc3ZpbnQzMl90LAorCQl6 MSA9IHN2ZW9yX3MzMl9tIChwMCwgejAsIHoxKSwKKwkJejEgPSBzdmVvcl9t IChwMCwgejAsIHoxKSkKKworLyoKKyoqIGVvcl9zMzJfbV91bnRpZWQ6Cisq Kgltb3ZwcmZ4CXowLCB6MQorKioJZW9yCXowXC5zLCBwMC9tLCB6MFwucywg ejJcLnMKKyoqCXJldAorKi8KK1RFU1RfVU5JRk9STV9aIChlb3JfczMyX21f dW50aWVkLCBzdmludDMyX3QsCisJCXowID0gc3Zlb3JfczMyX20gKHAwLCB6 MSwgejIpLAorCQl6MCA9IHN2ZW9yX20gKHAwLCB6MSwgejIpKQorCisvKgor KiogZW9yX3cwX3MzMl9tX3RpZWQxOgorKioJbW92CSh6WzAtOV0rXC5zKSwg dzAKKyoqCWVvcgl6MFwucywgcDAvbSwgejBcLnMsIFwxCisqKglyZXQKKyov CitURVNUX1VOSUZPUk1fWlMgKGVvcl93MF9zMzJfbV90aWVkMSwgc3ZpbnQz Ml90LCBpbnQzMl90LAorCQkgejAgPSBzdmVvcl9uX3MzMl9tIChwMCwgejAs IHgwKSwKKwkJIHowID0gc3Zlb3JfbSAocDAsIHowLCB4MCkpCisKKy8qCisq KiBlb3JfdzBfczMyX21fdW50aWVkOgorKioJbW92CSh6WzAtOV0rXC5zKSwg dzAKKyoqCW1vdnByZngJejAsIHoxCisqKgllb3IJejBcLnMsIHAwL20sIHow XC5zLCBcMQorKioJcmV0CisqLworVEVTVF9VTklGT1JNX1pTIChlb3JfdzBf czMyX21fdW50aWVkLCBzdmludDMyX3QsIGludDMyX3QsCisJCSB6MCA9IHN2 ZW9yX25fczMyX20gKHAwLCB6MSwgeDApLAorCQkgejAgPSBzdmVvcl9tIChw MCwgejEsIHgwKSkKKworLyoKKyoqIGVvcl9zMF9zMzJfbV90aWVkMToKKyoq CW1vdgkoelswLTldK1wucyksIHMwCisqKgllb3IJejFcLnMsIHAwL20sIHox XC5zLCBcMQorKioJcmV0CisqLworVEVTVF9VTklGT1JNX1pTIChlb3JfczBf czMyX21fdGllZDEsIHN2aW50MzJfdCwgaW50MzJfdCwKKwkJIHoxID0gc3Zl b3Jfbl9zMzJfbSAocDAsIHoxLCBkMCksCisJCSB6MSA9IHN2ZW9yX20gKHAw LCB6MSwgZDApKQorCisvKgorKiogZW9yX3MwX3MzMl9tX3VudGllZDoKKyoq CW1vdgkoelswLTldK1wucyksIHMwCisqKgltb3ZwcmZ4CXoxLCB6MgorKioJ ZW9yCXoxXC5zLCBwMC9tLCB6MVwucywgXDEKKyoqCXJldAorKi8KK1RFU1Rf VU5JRk9STV9aUyAoZW9yX3MwX3MzMl9tX3VudGllZCwgc3ZpbnQzMl90LCBp bnQzMl90LAorCQkgejEgPSBzdmVvcl9uX3MzMl9tIChwMCwgejIsIGQwKSwK KwkJIHoxID0gc3Zlb3JfbSAocDAsIHoyLCBkMCkpCisKKy8qCisqKiBlb3Jf MV9zMzJfbV90aWVkMToKKyoqCW1vdgkoelswLTldK1wucyksICMxCisqKgll b3IJejBcLnMsIHAwL20sIHowXC5zLCBcMQorKioJcmV0CisqLworVEVTVF9V TklGT1JNX1ogKGVvcl8xX3MzMl9tX3RpZWQxLCBzdmludDMyX3QsCisJCXow ID0gc3Zlb3Jfbl9zMzJfbSAocDAsIHowLCAxKSwKKwkJejAgPSBzdmVvcl9t IChwMCwgejAsIDEpKQorCisvKgorKiogZW9yXzFfczMyX21fdW50aWVkOgor KioJbW92CSh6WzAtOV0rXC5zKSwgIzEKKyoqCW1vdnByZngJejAsIHoxCisq Kgllb3IJejBcLnMsIHAwL20sIHowXC5zLCBcMQorKioJcmV0CisqLworVEVT VF9VTklGT1JNX1ogKGVvcl8xX3MzMl9tX3VudGllZCwgc3ZpbnQzMl90LAor CQl6MCA9IHN2ZW9yX25fczMyX20gKHAwLCB6MSwgMSksCisJCXowID0gc3Zl b3JfbSAocDAsIHoxLCAxKSkKKworLyoKKyoqIGVvcl9tMl9zMzJfbToKKyoq CW1vdgkoelswLTldK1wucyksICMtMgorKioJZW9yCXowXC5zLCBwMC9tLCB6 MFwucywgXDEKKyoqCXJldAorKi8KK1RFU1RfVU5JRk9STV9aIChlb3JfbTJf czMyX20sIHN2aW50MzJfdCwKKwkJejAgPSBzdmVvcl9uX3MzMl9tIChwMCwg ejAsIC0yKSwKKwkJejAgPSBzdmVvcl9tIChwMCwgejAsIC0yKSkKKworLyoK KyoqIGVvcl9zMzJfel90aWVkMToKKyoqCW1vdnByZngJejBcLnMsIHAwL3os IHowXC5zCisqKgllb3IJejBcLnMsIHAwL20sIHowXC5zLCB6MVwucworKioJ cmV0CisqLworVEVTVF9VTklGT1JNX1ogKGVvcl9zMzJfel90aWVkMSwgc3Zp bnQzMl90LAorCQl6MCA9IHN2ZW9yX3MzMl96IChwMCwgejAsIHoxKSwKKwkJ ejAgPSBzdmVvcl96IChwMCwgejAsIHoxKSkKKworLyoKKyoqIGVvcl9zMzJf el90aWVkMjoKKyoqCW1vdnByZngJejFcLnMsIHAwL3osIHoxXC5zCisqKgll b3IJejFcLnMsIHAwL20sIHoxXC5zLCB6MFwucworKioJcmV0CisqLworVEVT VF9VTklGT1JNX1ogKGVvcl9zMzJfel90aWVkMiwgc3ZpbnQzMl90LAorCQl6 MSA9IHN2ZW9yX3MzMl96IChwMCwgejAsIHoxKSwKKwkJejEgPSBzdmVvcl96 IChwMCwgejAsIHoxKSkKKworLyoKKyoqIGVvcl9zMzJfel91bnRpZWQ6Cisq Kgltb3ZwcmZ4CXowXC5zLCBwMC96LCB6MVwucworKioJZW9yCXowXC5zLCBw MC9tLCB6MFwucywgejJcLnMKKyoqCXJldAorKi8KK1RFU1RfVU5JRk9STV9a IChlb3JfczMyX3pfdW50aWVkLCBzdmludDMyX3QsCisJCXowID0gc3Zlb3Jf czMyX3ogKHAwLCB6MSwgejIpLAorCQl6MCA9IHN2ZW9yX3ogKHAwLCB6MSwg ejIpKQorCisvKgorKiogZW9yX3cwX3MzMl96X3RpZWQxOgorKioJbW92CSh6 WzAtOV0rXC5zKSwgdzAKKyoqCW1vdnByZngJejBcLnMsIHAwL3osIHowXC5z CisqKgllb3IJejBcLnMsIHAwL20sIHowXC5zLCBcMQorKioJcmV0CisqLwor VEVTVF9VTklGT1JNX1pTIChlb3JfdzBfczMyX3pfdGllZDEsIHN2aW50MzJf dCwgaW50MzJfdCwKKwkJIHowID0gc3Zlb3Jfbl9zMzJfeiAocDAsIHowLCB4 MCksCisJCSB6MCA9IHN2ZW9yX3ogKHAwLCB6MCwgeDApKQorCisvKgorKiog ZW9yX3cwX3MzMl96X3VudGllZDoKKyoqCW1vdgkoelswLTldK1wucyksIHcw CisqKgltb3ZwcmZ4CXowXC5zLCBwMC96LCB6MVwucworKioJZW9yCXowXC5z LCBwMC9tLCB6MFwucywgXDEKKyoqCXJldAorKi8KK1RFU1RfVU5JRk9STV9a UyAoZW9yX3cwX3MzMl96X3VudGllZCwgc3ZpbnQzMl90LCBpbnQzMl90LAor CQkgejAgPSBzdmVvcl9uX3MzMl96IChwMCwgejEsIHgwKSwKKwkJIHowID0g c3Zlb3JfeiAocDAsIHoxLCB4MCkpCisKKy8qCisqKiBlb3JfczBfczMyX3pf dGllZDE6CisqKgltb3YJKHpbMC05XStcLnMpLCBzMAorKioJbW92cHJmeAl6 MVwucywgcDAveiwgejFcLnMKKyoqCWVvcgl6MVwucywgcDAvbSwgejFcLnMs IFwxCisqKglyZXQKKyovCitURVNUX1VOSUZPUk1fWlMgKGVvcl9zMF9zMzJf el90aWVkMSwgc3ZpbnQzMl90LCBpbnQzMl90LAorCQkgejEgPSBzdmVvcl9u X3MzMl96IChwMCwgejEsIGQwKSwKKwkJIHoxID0gc3Zlb3JfeiAocDAsIHox LCBkMCkpCisKKy8qCisqKiBlb3JfczBfczMyX3pfdW50aWVkOgorKioJbW92 CSh6WzAtOV0rXC5zKSwgczAKKyoqCW1vdnByZngJejFcLnMsIHAwL3osIHoy XC5zCisqKgllb3IJejFcLnMsIHAwL20sIHoxXC5zLCBcMQorKioJcmV0Cisq LworVEVTVF9VTklGT1JNX1pTIChlb3JfczBfczMyX3pfdW50aWVkLCBzdmlu dDMyX3QsIGludDMyX3QsCisJCSB6MSA9IHN2ZW9yX25fczMyX3ogKHAwLCB6 MiwgZDApLAorCQkgejEgPSBzdmVvcl96IChwMCwgejIsIGQwKSkKKworLyoK KyoqIGVvcl9zMzJfeF90aWVkMToKKyoqCWVvcgl6MFwuZCwgejBcLmQsIHox XC5kCisqKglyZXQKKyovCitURVNUX1VOSUZPUk1fWiAoZW9yX3MzMl94X3Rp ZWQxLCBzdmludDMyX3QsCisJCXowID0gc3Zlb3JfczMyX3ggKHAwLCB6MCwg ejEpLAorCQl6MCA9IHN2ZW9yX3ggKHAwLCB6MCwgejEpKQorCisvKgorKiog ZW9yX3MzMl94X3RpZWQyOgorKioJZW9yCXoxXC5kLCB6MFwuZCwgejFcLmQK KyoqCXJldAorKi8KK1RFU1RfVU5JRk9STV9aIChlb3JfczMyX3hfdGllZDIs IHN2aW50MzJfdCwKKwkJejEgPSBzdmVvcl9zMzJfeCAocDAsIHowLCB6MSks CisJCXoxID0gc3Zlb3JfeCAocDAsIHowLCB6MSkpCisKKy8qCisqKiBlb3Jf czMyX3hfdW50aWVkOgorKioJZW9yCXoyXC5kLCB6MFwuZCwgejFcLmQKKyoq CXJldAorKi8KK1RFU1RfVU5JRk9STV9aIChlb3JfczMyX3hfdW50aWVkLCBz dmludDMyX3QsCisJCXoyID0gc3Zlb3JfczMyX3ggKHAwLCB6MCwgejEpLAor CQl6MiA9IHN2ZW9yX3ggKHAwLCB6MCwgejEpKQorCisvKgorKiogZW9yX3cw X3MzMl94X3RpZWQxOgorKioJbW92CSh6WzAtOV0rKVwucywgdzAKKyoqCWVv cgl6MFwuZCwgejBcLmQsIFwxXC5kCisqKglyZXQKKyovCitURVNUX1VOSUZP Uk1fWlMgKGVvcl93MF9zMzJfeF90aWVkMSwgc3ZpbnQzMl90LCBpbnQzMl90 LAorCQkgejAgPSBzdmVvcl9uX3MzMl94IChwMCwgejAsIHgwKSwKKwkJIHow ID0gc3Zlb3JfeCAocDAsIHowLCB4MCkpCisKKy8qCisqKiBlb3JfdzBfczMy X3hfdW50aWVkOgorKioJbW92CXoxXC5zLCB3MAorKioJZW9yCXoxXC5kLCB6 MFwuZCwgejFcLmQKKyoqCXJldAorKi8KK1RFU1RfVU5JRk9STV9aUyAoZW9y X3cwX3MzMl94X3VudGllZCwgc3ZpbnQzMl90LCBpbnQzMl90LAorCQkgejEg PSBzdmVvcl9uX3MzMl94IChwMCwgejAsIHgwKSwKKwkJIHoxID0gc3Zlb3Jf eCAocDAsIHowLCB4MCkpCisKKy8qCisqKiBlb3JfczBfczMyX3hfdGllZDE6 CisqKgltb3YJKHpbMC05XSspXC5zLCBzMAorKioJZW9yCXoxXC5kLCB6MVwu ZCwgXDFcLmQKKyoqCXJldAorKi8KK1RFU1RfVU5JRk9STV9aUyAoZW9yX3Mw X3MzMl94X3RpZWQxLCBzdmludDMyX3QsIGludDMyX3QsCisJCSB6MSA9IHN2 ZW9yX25fczMyX3ggKHAwLCB6MSwgZDApLAorCQkgejEgPSBzdmVvcl94IChw MCwgejEsIGQwKSkKKworLyoKKyoqIGVvcl9zMF9zMzJfeF91bnRpZWQ6Cisq Kgltb3YJKHpbMC05XSspXC5zLCBzMAorKioJZW9yCXoyXC5kLCB6MVwuZCwg XDFcLmQKKyoqCXJldAorKi8KK1RFU1RfVU5JRk9STV9aUyAoZW9yX3MwX3Mz Ml94X3VudGllZCwgc3ZpbnQzMl90LCBpbnQzMl90LAorCQkgejIgPSBzdmVv cl9uX3MzMl94IChwMCwgejEsIGQwKSwKKwkJIHoyID0gc3Zlb3JfeCAocDAs IHoxLCBkMCkpCisKKy8qCisqKiBlb3JfMV9zMzJfeF90aWVkMToKKyoqCWVv cgl6MFwucywgejBcLnMsICMweDEKKyoqCXJldAorKi8KK1RFU1RfVU5JRk9S TV9aIChlb3JfMV9zMzJfeF90aWVkMSwgc3ZpbnQzMl90LAorCQl6MCA9IHN2 ZW9yX25fczMyX3ggKHAwLCB6MCwgMSksCisJCXowID0gc3Zlb3JfeCAocDAs IHowLCAxKSkKKworLyoKKyoqIGVvcl8xX3MzMl94X3VudGllZDoKKyoqCW1v dnByZngJejAsIHoxCisqKgllb3IJejBcLnMsIHowXC5zLCAjMHgxCisqKgly ZXQKKyovCitURVNUX1VOSUZPUk1fWiAoZW9yXzFfczMyX3hfdW50aWVkLCBz dmludDMyX3QsCisJCXowID0gc3Zlb3Jfbl9zMzJfeCAocDAsIHoxLCAxKSwK KwkJejAgPSBzdmVvcl94IChwMCwgejEsIDEpKQorCisvKgorKiogZW9yXzEy N19zMzJfeDoKKyoqCWVvcgl6MFwucywgejBcLnMsICMweDdmCisqKglyZXQK KyovCitURVNUX1VOSUZPUk1fWiAoZW9yXzEyN19zMzJfeCwgc3ZpbnQzMl90 LAorCQl6MCA9IHN2ZW9yX25fczMyX3ggKHAwLCB6MCwgMTI3KSwKKwkJejAg PSBzdmVvcl94IChwMCwgejAsIDEyNykpCisKKy8qCisqKiBlb3JfMTI4X3Mz Ml94OgorKioJZW9yCXowXC5zLCB6MFwucywgIzB4ODAKKyoqCXJldAorKi8K K1RFU1RfVU5JRk9STV9aIChlb3JfMTI4X3MzMl94LCBzdmludDMyX3QsCisJ CXowID0gc3Zlb3Jfbl9zMzJfeCAocDAsIHowLCAxMjgpLAorCQl6MCA9IHN2 ZW9yX3ggKHAwLCB6MCwgMTI4KSkKKworLyoKKyoqIGVvcl8yNTVfczMyX3g6 CisqKgllb3IJejBcLnMsIHowXC5zLCAjMHhmZgorKioJcmV0CisqLworVEVT VF9VTklGT1JNX1ogKGVvcl8yNTVfczMyX3gsIHN2aW50MzJfdCwKKwkJejAg PSBzdmVvcl9uX3MzMl94IChwMCwgejAsIDI1NSksCisJCXowID0gc3Zlb3Jf eCAocDAsIHowLCAyNTUpKQorCisvKgorKiogZW9yXzI1Nl9zMzJfeDoKKyoq CWVvcgl6MFwucywgejBcLnMsICMweDEwMAorKioJcmV0CisqLworVEVTVF9V TklGT1JNX1ogKGVvcl8yNTZfczMyX3gsIHN2aW50MzJfdCwKKwkJejAgPSBz dmVvcl9uX3MzMl94IChwMCwgejAsIDI1NiksCisJCXowID0gc3Zlb3JfeCAo cDAsIHowLCAyNTYpKQorCisvKiBUT0RPOiBCYWQgY29kZSBhbmQgbmVlZHMg Zml4aW5nLiAgKi8KK1RFU1RfVU5JRk9STV9aIChlb3JfMjU3X3MzMl94LCBz dmludDMyX3QsCisJCXowID0gc3Zlb3Jfbl9zMzJfeCAocDAsIHowLCAyNTcp LAorCQl6MCA9IHN2ZW9yX3ggKHAwLCB6MCwgMjU3KSkKKworLyoKKyoqIGVv cl81MTJfczMyX3g6CisqKgllb3IJejBcLnMsIHowXC5zLCAjMHgyMDAKKyoq CXJldAorKi8KK1RFU1RfVU5JRk9STV9aIChlb3JfNTEyX3MzMl94LCBzdmlu dDMyX3QsCisJCXowID0gc3Zlb3Jfbl9zMzJfeCAocDAsIHowLCA1MTIpLAor CQl6MCA9IHN2ZW9yX3ggKHAwLCB6MCwgNTEyKSkKKworLyoKKyoqIGVvcl82 NTI4MF9zMzJfeDoKKyoqCWVvcgl6MFwucywgejBcLnMsICMweGZmMDAKKyoq CXJldAorKi8KK1RFU1RfVU5JRk9STV9aIChlb3JfNjUyODBfczMyX3gsIHN2 aW50MzJfdCwKKwkJejAgPSBzdmVvcl9uX3MzMl94IChwMCwgejAsIDB4ZmYw MCksCisJCXowID0gc3Zlb3JfeCAocDAsIHowLCAweGZmMDApKQorCisvKgor KiogZW9yX20xMjdfczMyX3g6CisqKgllb3IJejBcLnMsIHowXC5zLCAjMHhm ZmZmZmY4MQorKioJcmV0CisqLworVEVTVF9VTklGT1JNX1ogKGVvcl9tMTI3 X3MzMl94LCBzdmludDMyX3QsCisJCXowID0gc3Zlb3Jfbl9zMzJfeCAocDAs IHowLCAtMTI3KSwKKwkJejAgPSBzdmVvcl94IChwMCwgejAsIC0xMjcpKQor CisvKgorKiogZW9yX20xMjhfczMyX3g6CisqKgllb3IJejBcLnMsIHowXC5z LCAjMHhmZmZmZmY4MAorKioJcmV0CisqLworVEVTVF9VTklGT1JNX1ogKGVv cl9tMTI4X3MzMl94LCBzdmludDMyX3QsCisJCXowID0gc3Zlb3Jfbl9zMzJf eCAocDAsIHowLCAtMTI4KSwKKwkJejAgPSBzdmVvcl94IChwMCwgejAsIC0x MjgpKQorCisvKgorKiogZW9yX20yNTVfczMyX3g6CisqKgllb3IJejBcLnMs IHowXC5zLCAjMHhmZmZmZmYwMQorKioJcmV0CisqLworVEVTVF9VTklGT1JN X1ogKGVvcl9tMjU1X3MzMl94LCBzdmludDMyX3QsCisJCXowID0gc3Zlb3Jf bl9zMzJfeCAocDAsIHowLCAtMjU1KSwKKwkJejAgPSBzdmVvcl94IChwMCwg ejAsIC0yNTUpKQorCisvKgorKiogZW9yX20yNTZfczMyX3g6CisqKgllb3IJ ejBcLnMsIHowXC5zLCAjMHhmZmZmZmYwMAorKioJcmV0CisqLworVEVTVF9V TklGT1JNX1ogKGVvcl9tMjU2X3MzMl94LCBzdmludDMyX3QsCisJCXowID0g c3Zlb3Jfbl9zMzJfeCAocDAsIHowLCAtMjU2KSwKKwkJejAgPSBzdmVvcl94 IChwMCwgejAsIC0yNTYpKQorCisvKgorKiogZW9yX20yNTdfczMyX3g6Cisq Kgllb3IJejBcLnMsIHowXC5zLCAjMHhmZmZmZmVmZgorKioJcmV0CisqLwor VEVTVF9VTklGT1JNX1ogKGVvcl9tMjU3X3MzMl94LCBzdmludDMyX3QsCisJ CXowID0gc3Zlb3Jfbl9zMzJfeCAocDAsIHowLCAtMjU3KSwKKwkJejAgPSBz dmVvcl94IChwMCwgejAsIC0yNTcpKQorCisvKgorKiogZW9yX201MTJfczMy X3g6CisqKgllb3IJejBcLnMsIHowXC5zLCAjMHhmZmZmZmUwMAorKioJcmV0 CisqLworVEVTVF9VTklGT1JNX1ogKGVvcl9tNTEyX3MzMl94LCBzdmludDMy X3QsCisJCXowID0gc3Zlb3Jfbl9zMzJfeCAocDAsIHowLCAtNTEyKSwKKwkJ ejAgPSBzdmVvcl94IChwMCwgejAsIC01MTIpKQorCisvKgorKiogZW9yX20z Mjc2OF9zMzJfeDoKKyoqCWVvcgl6MFwucywgejBcLnMsICMweGZmZmY4MDAw CisqKglyZXQKKyovCitURVNUX1VOSUZPUk1fWiAoZW9yX20zMjc2OF9zMzJf eCwgc3ZpbnQzMl90LAorCQl6MCA9IHN2ZW9yX25fczMyX3ggKHAwLCB6MCwg LTB4ODAwMCksCisJCXowID0gc3Zlb3JfeCAocDAsIHowLCAtMHg4MDAwKSkK KworLyoKKyoqIGVvcl81X3MzMl94OgorKioJbW92CSh6WzAtOV0rKVwucywg IzUKKyoqCWVvcgl6MFwuZCwgejBcLmQsIFwxXC5kCisqKglyZXQKKyovCitU RVNUX1VOSUZPUk1fWiAoZW9yXzVfczMyX3gsIHN2aW50MzJfdCwKKwkJejAg PSBzdmVvcl9uX3MzMl94IChwMCwgejAsIDUpLAorCQl6MCA9IHN2ZW9yX3gg KHAwLCB6MCwgNSkpCmRpZmYgLS1naXQgYS9nY2MvdGVzdHN1aXRlL2djYy50 YXJnZXQvYWFyY2g2NC9zdmUtYWNsZS9hc20vZW9yX3M2NC5jIGIvZ2NjL3Rl c3RzdWl0ZS9nY2MudGFyZ2V0L2FhcmNoNjQvc3ZlLWFjbGUvYXNtL2Vvcl9z NjQuYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5hMjhl OGUzCi0tLSAvZGV2L251bGwKKysrIGIvZ2NjL3Rlc3RzdWl0ZS9nY2MudGFy Z2V0L2FhcmNoNjQvc3ZlLWFjbGUvYXNtL2Vvcl9zNjQuYwpAQCAtMCwwICsx LDM5MyBAQAorLyogeyBkZy1kbyBjb21waWxlIH0gKi8KKy8qIHsgZGctZmlu YWwgeyBjaGVjay1mdW5jdGlvbi1ib2RpZXMgIioqIiAiIiAiLURDSEVDS19B U00iIH0gfSAqLworCisjaW5jbHVkZSAidGVzdF9zdmVfYWNsZS5oIgorCisv KgorKiogZW9yX3M2NF9tX3RpZWQxOgorKioJZW9yCXowXC5kLCBwMC9tLCB6 MFwuZCwgejFcLmQKKyoqCXJldAorKi8KK1RFU1RfVU5JRk9STV9aIChlb3Jf czY0X21fdGllZDEsIHN2aW50NjRfdCwKKwkJejAgPSBzdmVvcl9zNjRfbSAo cDAsIHowLCB6MSksCisJCXowID0gc3Zlb3JfbSAocDAsIHowLCB6MSkpCisK Ky8qIEJhZCBSQSBjaG9pY2U6IG5vIHByZWZlcnJlZCBvdXRwdXQgc2VxdWVu Y2UuICAqLworVEVTVF9VTklGT1JNX1ogKGVvcl9zNjRfbV90aWVkMiwgc3Zp bnQ2NF90LAorCQl6MSA9IHN2ZW9yX3M2NF9tIChwMCwgejAsIHoxKSwKKwkJ ejEgPSBzdmVvcl9tIChwMCwgejAsIHoxKSkKKworLyoKKyoqIGVvcl9zNjRf bV91bnRpZWQ6CisqKgltb3ZwcmZ4CXowLCB6MQorKioJZW9yCXowXC5kLCBw MC9tLCB6MFwuZCwgejJcLmQKKyoqCXJldAorKi8KK1RFU1RfVU5JRk9STV9a IChlb3JfczY0X21fdW50aWVkLCBzdmludDY0X3QsCisJCXowID0gc3Zlb3Jf czY0X20gKHAwLCB6MSwgejIpLAorCQl6MCA9IHN2ZW9yX20gKHAwLCB6MSwg ejIpKQorCisvKgorKiogZW9yX3gwX3M2NF9tX3RpZWQxOgorKioJbW92CSh6 WzAtOV0rXC5kKSwgeDAKKyoqCWVvcgl6MFwuZCwgcDAvbSwgejBcLmQsIFwx CisqKglyZXQKKyovCitURVNUX1VOSUZPUk1fWlMgKGVvcl94MF9zNjRfbV90 aWVkMSwgc3ZpbnQ2NF90LCBpbnQ2NF90LAorCQkgejAgPSBzdmVvcl9uX3M2 NF9tIChwMCwgejAsIHgwKSwKKwkJIHowID0gc3Zlb3JfbSAocDAsIHowLCB4 MCkpCisKKy8qCisqKiBlb3JfeDBfczY0X21fdW50aWVkOgorKioJbW92CSh6 WzAtOV0rXC5kKSwgeDAKKyoqCW1vdnByZngJejAsIHoxCisqKgllb3IJejBc LmQsIHAwL20sIHowXC5kLCBcMQorKioJcmV0CisqLworVEVTVF9VTklGT1JN X1pTIChlb3JfeDBfczY0X21fdW50aWVkLCBzdmludDY0X3QsIGludDY0X3Qs CisJCSB6MCA9IHN2ZW9yX25fczY0X20gKHAwLCB6MSwgeDApLAorCQkgejAg PSBzdmVvcl9tIChwMCwgejEsIHgwKSkKKworLyoKKyoqIGVvcl9kMF9zNjRf bV90aWVkMToKKyoqCW1vdgkoelswLTldK1wuZCksIGQwCisqKgllb3IJejFc LmQsIHAwL20sIHoxXC5kLCBcMQorKioJcmV0CisqLworVEVTVF9VTklGT1JN X1pTIChlb3JfZDBfczY0X21fdGllZDEsIHN2aW50NjRfdCwgaW50NjRfdCwK KwkJIHoxID0gc3Zlb3Jfbl9zNjRfbSAocDAsIHoxLCBkMCksCisJCSB6MSA9 IHN2ZW9yX20gKHAwLCB6MSwgZDApKQorCisvKgorKiogZW9yX2QwX3M2NF9t X3VudGllZDoKKyoqCW1vdgkoelswLTldK1wuZCksIGQwCisqKgltb3ZwcmZ4 CXoxLCB6MgorKioJZW9yCXoxXC5kLCBwMC9tLCB6MVwuZCwgXDEKKyoqCXJl dAorKi8KK1RFU1RfVU5JRk9STV9aUyAoZW9yX2QwX3M2NF9tX3VudGllZCwg c3ZpbnQ2NF90LCBpbnQ2NF90LAorCQkgejEgPSBzdmVvcl9uX3M2NF9tIChw MCwgejIsIGQwKSwKKwkJIHoxID0gc3Zlb3JfbSAocDAsIHoyLCBkMCkpCisK Ky8qCisqKiBlb3JfMV9zNjRfbV90aWVkMToKKyoqCW1vdgkoelswLTldK1wu ZCksICMxCisqKgllb3IJejBcLmQsIHAwL20sIHowXC5kLCBcMQorKioJcmV0 CisqLworVEVTVF9VTklGT1JNX1ogKGVvcl8xX3M2NF9tX3RpZWQxLCBzdmlu dDY0X3QsCisJCXowID0gc3Zlb3Jfbl9zNjRfbSAocDAsIHowLCAxKSwKKwkJ ejAgPSBzdmVvcl9tIChwMCwgejAsIDEpKQorCisvKgorKiogZW9yXzFfczY0 X21fdW50aWVkOgorKioJbW92CSh6WzAtOV0rXC5kKSwgIzEKKyoqCW1vdnBy ZngJejAsIHoxCisqKgllb3IJejBcLmQsIHAwL20sIHowXC5kLCBcMQorKioJ cmV0CisqLworVEVTVF9VTklGT1JNX1ogKGVvcl8xX3M2NF9tX3VudGllZCwg c3ZpbnQ2NF90LAorCQl6MCA9IHN2ZW9yX25fczY0X20gKHAwLCB6MSwgMSks CisJCXowID0gc3Zlb3JfbSAocDAsIHoxLCAxKSkKKworLyoKKyoqIGVvcl9t Ml9zNjRfbToKKyoqCW1vdgkoelswLTldK1wuZCksICMtMgorKioJZW9yCXow XC5kLCBwMC9tLCB6MFwuZCwgXDEKKyoqCXJldAorKi8KK1RFU1RfVU5JRk9S TV9aIChlb3JfbTJfczY0X20sIHN2aW50NjRfdCwKKwkJejAgPSBzdmVvcl9u X3M2NF9tIChwMCwgejAsIC0yKSwKKwkJejAgPSBzdmVvcl9tIChwMCwgejAs IC0yKSkKKworLyoKKyoqIGVvcl9zNjRfel90aWVkMToKKyoqCW1vdnByZngJ ejBcLmQsIHAwL3osIHowXC5kCisqKgllb3IJejBcLmQsIHAwL20sIHowXC5k LCB6MVwuZAorKioJcmV0CisqLworVEVTVF9VTklGT1JNX1ogKGVvcl9zNjRf el90aWVkMSwgc3ZpbnQ2NF90LAorCQl6MCA9IHN2ZW9yX3M2NF96IChwMCwg ejAsIHoxKSwKKwkJejAgPSBzdmVvcl96IChwMCwgejAsIHoxKSkKKworLyoK KyoqIGVvcl9zNjRfel90aWVkMjoKKyoqCW1vdnByZngJejFcLmQsIHAwL3os IHoxXC5kCisqKgllb3IJejFcLmQsIHAwL20sIHoxXC5kLCB6MFwuZAorKioJ cmV0CisqLworVEVTVF9VTklGT1JNX1ogKGVvcl9zNjRfel90aWVkMiwgc3Zp bnQ2NF90LAorCQl6MSA9IHN2ZW9yX3M2NF96IChwMCwgejAsIHoxKSwKKwkJ ejEgPSBzdmVvcl96IChwMCwgejAsIHoxKSkKKworLyoKKyoqIGVvcl9zNjRf el91bnRpZWQ6CisqKgltb3ZwcmZ4CXowXC5kLCBwMC96LCB6MVwuZAorKioJ ZW9yCXowXC5kLCBwMC9tLCB6MFwuZCwgejJcLmQKKyoqCXJldAorKi8KK1RF U1RfVU5JRk9STV9aIChlb3JfczY0X3pfdW50aWVkLCBzdmludDY0X3QsCisJ CXowID0gc3Zlb3JfczY0X3ogKHAwLCB6MSwgejIpLAorCQl6MCA9IHN2ZW9y X3ogKHAwLCB6MSwgejIpKQorCisvKgorKiogZW9yX3gwX3M2NF96X3RpZWQx OgorKioJbW92CSh6WzAtOV0rXC5kKSwgeDAKKyoqCW1vdnByZngJejBcLmQs IHAwL3osIHowXC5kCisqKgllb3IJejBcLmQsIHAwL20sIHowXC5kLCBcMQor KioJcmV0CisqLworVEVTVF9VTklGT1JNX1pTIChlb3JfeDBfczY0X3pfdGll ZDEsIHN2aW50NjRfdCwgaW50NjRfdCwKKwkJIHowID0gc3Zlb3Jfbl9zNjRf eiAocDAsIHowLCB4MCksCisJCSB6MCA9IHN2ZW9yX3ogKHAwLCB6MCwgeDAp KQorCisvKgorKiogZW9yX3gwX3M2NF96X3VudGllZDoKKyoqCW1vdgkoelsw LTldK1wuZCksIHgwCisqKgltb3ZwcmZ4CXowXC5kLCBwMC96LCB6MVwuZAor KioJZW9yCXowXC5kLCBwMC9tLCB6MFwuZCwgXDEKKyoqCXJldAorKi8KK1RF U1RfVU5JRk9STV9aUyAoZW9yX3gwX3M2NF96X3VudGllZCwgc3ZpbnQ2NF90 LCBpbnQ2NF90LAorCQkgejAgPSBzdmVvcl9uX3M2NF96IChwMCwgejEsIHgw KSwKKwkJIHowID0gc3Zlb3JfeiAocDAsIHoxLCB4MCkpCisKKy8qCisqKiBl b3JfZDBfczY0X3pfdGllZDE6CisqKgltb3YJKHpbMC05XStcLmQpLCBkMAor KioJbW92cHJmeAl6MVwuZCwgcDAveiwgejFcLmQKKyoqCWVvcgl6MVwuZCwg cDAvbSwgejFcLmQsIFwxCisqKglyZXQKKyovCitURVNUX1VOSUZPUk1fWlMg KGVvcl9kMF9zNjRfel90aWVkMSwgc3ZpbnQ2NF90LCBpbnQ2NF90LAorCQkg ejEgPSBzdmVvcl9uX3M2NF96IChwMCwgejEsIGQwKSwKKwkJIHoxID0gc3Zl b3JfeiAocDAsIHoxLCBkMCkpCisKKy8qCisqKiBlb3JfZDBfczY0X3pfdW50 aWVkOgorKioJbW92CSh6WzAtOV0rXC5kKSwgZDAKKyoqCW1vdnByZngJejFc LmQsIHAwL3osIHoyXC5kCisqKgllb3IJejFcLmQsIHAwL20sIHoxXC5kLCBc MQorKioJcmV0CisqLworVEVTVF9VTklGT1JNX1pTIChlb3JfZDBfczY0X3pf dW50aWVkLCBzdmludDY0X3QsIGludDY0X3QsCisJCSB6MSA9IHN2ZW9yX25f czY0X3ogKHAwLCB6MiwgZDApLAorCQkgejEgPSBzdmVvcl96IChwMCwgejIs IGQwKSkKKworLyoKKyoqIGVvcl9zNjRfeF90aWVkMToKKyoqCWVvcgl6MFwu ZCwgejBcLmQsIHoxXC5kCisqKglyZXQKKyovCitURVNUX1VOSUZPUk1fWiAo ZW9yX3M2NF94X3RpZWQxLCBzdmludDY0X3QsCisJCXowID0gc3Zlb3JfczY0 X3ggKHAwLCB6MCwgejEpLAorCQl6MCA9IHN2ZW9yX3ggKHAwLCB6MCwgejEp KQorCisvKgorKiogZW9yX3M2NF94X3RpZWQyOgorKioJZW9yCXoxXC5kLCB6 MFwuZCwgejFcLmQKKyoqCXJldAorKi8KK1RFU1RfVU5JRk9STV9aIChlb3Jf czY0X3hfdGllZDIsIHN2aW50NjRfdCwKKwkJejEgPSBzdmVvcl9zNjRfeCAo cDAsIHowLCB6MSksCisJCXoxID0gc3Zlb3JfeCAocDAsIHowLCB6MSkpCisK Ky8qCisqKiBlb3JfczY0X3hfdW50aWVkOgorKioJZW9yCXoyXC5kLCB6MFwu ZCwgejFcLmQKKyoqCXJldAorKi8KK1RFU1RfVU5JRk9STV9aIChlb3JfczY0 X3hfdW50aWVkLCBzdmludDY0X3QsCisJCXoyID0gc3Zlb3JfczY0X3ggKHAw LCB6MCwgejEpLAorCQl6MiA9IHN2ZW9yX3ggKHAwLCB6MCwgejEpKQorCisv KgorKiogZW9yX3gwX3M2NF94X3RpZWQxOgorKioJbW92CSh6WzAtOV0rKVwu ZCwgeDAKKyoqCWVvcgl6MFwuZCwgejBcLmQsIFwxXC5kCisqKglyZXQKKyov CitURVNUX1VOSUZPUk1fWlMgKGVvcl94MF9zNjRfeF90aWVkMSwgc3ZpbnQ2 NF90LCBpbnQ2NF90LAorCQkgejAgPSBzdmVvcl9uX3M2NF94IChwMCwgejAs IHgwKSwKKwkJIHowID0gc3Zlb3JfeCAocDAsIHowLCB4MCkpCisKKy8qCisq KiBlb3JfeDBfczY0X3hfdW50aWVkOgorKioJbW92CXoxXC5kLCB4MAorKioJ ZW9yCXoxXC5kLCB6MFwuZCwgejFcLmQKKyoqCXJldAorKi8KK1RFU1RfVU5J Rk9STV9aUyAoZW9yX3gwX3M2NF94X3VudGllZCwgc3ZpbnQ2NF90LCBpbnQ2 NF90LAorCQkgejEgPSBzdmVvcl9uX3M2NF94IChwMCwgejAsIHgwKSwKKwkJ IHoxID0gc3Zlb3JfeCAocDAsIHowLCB4MCkpCisKKy8qCisqKiBlb3JfZDBf czY0X3hfdGllZDE6CisqKgltb3YJKHpbMC05XSspXC5kLCBkMAorKioJZW9y CXoxXC5kLCB6MVwuZCwgXDFcLmQKKyoqCXJldAorKi8KK1RFU1RfVU5JRk9S TV9aUyAoZW9yX2QwX3M2NF94X3RpZWQxLCBzdmludDY0X3QsIGludDY0X3Qs CisJCSB6MSA9IHN2ZW9yX25fczY0X3ggKHAwLCB6MSwgZDApLAorCQkgejEg PSBzdmVvcl94IChwMCwgejEsIGQwKSkKKworLyoKKyoqIGVvcl9kMF9zNjRf eF91bnRpZWQ6CisqKgltb3YJKHpbMC05XSspXC5kLCBkMAorKioJZW9yCXoy XC5kLCB6MVwuZCwgXDFcLmQKKyoqCXJldAorKi8KK1RFU1RfVU5JRk9STV9a UyAoZW9yX2QwX3M2NF94X3VudGllZCwgc3ZpbnQ2NF90LCBpbnQ2NF90LAor CQkgejIgPSBzdmVvcl9uX3M2NF94IChwMCwgejEsIGQwKSwKKwkJIHoyID0g c3Zlb3JfeCAocDAsIHoxLCBkMCkpCisKKy8qCisqKiBlb3JfMV9zNjRfeF90 aWVkMToKKyoqCWVvcgl6MFwuZCwgejBcLmQsICMweDEKKyoqCXJldAorKi8K K1RFU1RfVU5JRk9STV9aIChlb3JfMV9zNjRfeF90aWVkMSwgc3ZpbnQ2NF90 LAorCQl6MCA9IHN2ZW9yX25fczY0X3ggKHAwLCB6MCwgMSksCisJCXowID0g c3Zlb3JfeCAocDAsIHowLCAxKSkKKworLyoKKyoqIGVvcl8xX3M2NF94X3Vu dGllZDoKKyoqCW1vdnByZngJejAsIHoxCisqKgllb3IJejBcLmQsIHowXC5k LCAjMHgxCisqKglyZXQKKyovCitURVNUX1VOSUZPUk1fWiAoZW9yXzFfczY0 X3hfdW50aWVkLCBzdmludDY0X3QsCisJCXowID0gc3Zlb3Jfbl9zNjRfeCAo cDAsIHoxLCAxKSwKKwkJejAgPSBzdmVvcl94IChwMCwgejEsIDEpKQorCisv KgorKiogZW9yXzEyN19zNjRfeDoKKyoqCWVvcgl6MFwuZCwgejBcLmQsICMw eDdmCisqKglyZXQKKyovCitURVNUX1VOSUZPUk1fWiAoZW9yXzEyN19zNjRf eCwgc3ZpbnQ2NF90LAorCQl6MCA9IHN2ZW9yX25fczY0X3ggKHAwLCB6MCwg MTI3KSwKKwkJejAgPSBzdmVvcl94IChwMCwgejAsIDEyNykpCisKKy8qCisq KiBlb3JfMTI4X3M2NF94OgorKioJZW9yCXowXC5kLCB6MFwuZCwgIzB4ODAK KyoqCXJldAorKi8KK1RFU1RfVU5JRk9STV9aIChlb3JfMTI4X3M2NF94LCBz dmludDY0X3QsCisJCXowID0gc3Zlb3Jfbl9zNjRfeCAocDAsIHowLCAxMjgp LAorCQl6MCA9IHN2ZW9yX3ggKHAwLCB6MCwgMTI4KSkKKworLyoKKyoqIGVv cl8yNTVfczY0X3g6CisqKgllb3IJejBcLmQsIHowXC5kLCAjMHhmZgorKioJ cmV0CisqLworVEVTVF9VTklGT1JNX1ogKGVvcl8yNTVfczY0X3gsIHN2aW50 NjRfdCwKKwkJejAgPSBzdmVvcl9uX3M2NF94IChwMCwgejAsIDI1NSksCisJ CXowID0gc3Zlb3JfeCAocDAsIHowLCAyNTUpKQorCisvKgorKiogZW9yXzI1 Nl9zNjRfeDoKKyoqCWVvcgl6MFwuZCwgejBcLmQsICMweDEwMAorKioJcmV0 CisqLworVEVTVF9VTklGT1JNX1ogKGVvcl8yNTZfczY0X3gsIHN2aW50NjRf dCwKKwkJejAgPSBzdmVvcl9uX3M2NF94IChwMCwgejAsIDI1NiksCisJCXow ID0gc3Zlb3JfeCAocDAsIHowLCAyNTYpKQorCisvKiBUT0RPOiBCYWQgY29k ZSBhbmQgbmVlZHMgZml4aW5nLiAgKi8KK1RFU1RfVU5JRk9STV9aIChlb3Jf MjU3X3M2NF94LCBzdmludDY0X3QsCisJCXowID0gc3Zlb3Jfbl9zNjRfeCAo cDAsIHowLCAyNTcpLAorCQl6MCA9IHN2ZW9yX3ggKHAwLCB6MCwgMjU3KSkK KworLyoKKyoqIGVvcl81MTJfczY0X3g6CisqKgllb3IJejBcLmQsIHowXC5k LCAjMHgyMDAKKyoqCXJldAorKi8KK1RFU1RfVU5JRk9STV9aIChlb3JfNTEy X3M2NF94LCBzdmludDY0X3QsCisJCXowID0gc3Zlb3Jfbl9zNjRfeCAocDAs IHowLCA1MTIpLAorCQl6MCA9IHN2ZW9yX3ggKHAwLCB6MCwgNTEyKSkKKwor LyoKKyoqIGVvcl82NTI4MF9zNjRfeDoKKyoqCWVvcgl6MFwuZCwgejBcLmQs ICMweGZmMDAKKyoqCXJldAorKi8KK1RFU1RfVU5JRk9STV9aIChlb3JfNjUy ODBfczY0X3gsIHN2aW50NjRfdCwKKwkJejAgPSBzdmVvcl9uX3M2NF94IChw MCwgejAsIDB4ZmYwMCksCisJCXowID0gc3Zlb3JfeCAocDAsIHowLCAweGZm MDApKQorCisvKgorKiogZW9yX20xMjdfczY0X3g6CisqKgllb3IJejBcLmQs IHowXC5kLCAjMHhmZmZmZmZmZmZmZmZmZjgxCisqKglyZXQKKyovCitURVNU X1VOSUZPUk1fWiAoZW9yX20xMjdfczY0X3gsIHN2aW50NjRfdCwKKwkJejAg PSBzdmVvcl9uX3M2NF94IChwMCwgejAsIC0xMjcpLAorCQl6MCA9IHN2ZW9y X3ggKHAwLCB6MCwgLTEyNykpCisKKy8qCisqKiBlb3JfbTEyOF9zNjRfeDoK KyoqCWVvcgl6MFwuZCwgejBcLmQsICMweGZmZmZmZmZmZmZmZmZmODAKKyoq CXJldAorKi8KK1RFU1RfVU5JRk9STV9aIChlb3JfbTEyOF9zNjRfeCwgc3Zp bnQ2NF90LAorCQl6MCA9IHN2ZW9yX25fczY0X3ggKHAwLCB6MCwgLTEyOCks CisJCXowID0gc3Zlb3JfeCAocDAsIHowLCAtMTI4KSkKKworLyoKKyoqIGVv cl9tMjU1X3M2NF94OgorKioJZW9yCXowXC5kLCB6MFwuZCwgIzB4ZmZmZmZm ZmZmZmZmZmYwMQorKioJcmV0CisqLworVEVTVF9VTklGT1JNX1ogKGVvcl9t MjU1X3M2NF94LCBzdmludDY0X3QsCisJCXowID0gc3Zlb3Jfbl9zNjRfeCAo cDAsIHowLCAtMjU1KSwKKwkJejAgPSBzdmVvcl94IChwMCwgejAsIC0yNTUp KQorCisvKgorKiogZW9yX20yNTZfczY0X3g6CisqKgllb3IJejBcLmQsIHow XC5kLCAjMHhmZmZmZmZmZmZmZmZmZjAwCisqKglyZXQKKyovCitURVNUX1VO SUZPUk1fWiAoZW9yX20yNTZfczY0X3gsIHN2aW50NjRfdCwKKwkJejAgPSBz dmVvcl9uX3M2NF94IChwMCwgejAsIC0yNTYpLAorCQl6MCA9IHN2ZW9yX3gg KHAwLCB6MCwgLTI1NikpCisKKy8qCisqKiBlb3JfbTI1N19zNjRfeDoKKyoq CWVvcgl6MFwuZCwgejBcLmQsICMweGZmZmZmZmZmZmZmZmZlZmYKKyoqCXJl dAorKi8KK1RFU1RfVU5JRk9STV9aIChlb3JfbTI1N19zNjRfeCwgc3ZpbnQ2 NF90LAorCQl6MCA9IHN2ZW9yX25fczY0X3ggKHAwLCB6MCwgLTI1NyksCisJ CXowID0gc3Zlb3JfeCAocDAsIHowLCAtMjU3KSkKKworLyoKKyoqIGVvcl9t NTEyX3M2NF94OgorKioJZW9yCXowXC5kLCB6MFwuZCwgIzB4ZmZmZmZmZmZm ZmZmZmUwMAorKioJcmV0CisqLworVEVTVF9VTklGT1JNX1ogKGVvcl9tNTEy X3M2NF94LCBzdmludDY0X3QsCisJCXowID0gc3Zlb3Jfbl9zNjRfeCAocDAs IHowLCAtNTEyKSwKKwkJejAgPSBzdmVvcl94IChwMCwgejAsIC01MTIpKQor CisvKgorKiogZW9yX20zMjc2OF9zNjRfeDoKKyoqCWVvcgl6MFwuZCwgejBc LmQsICMweGZmZmZmZmZmZmZmZjgwMDAKKyoqCXJldAorKi8KK1RFU1RfVU5J Rk9STV9aIChlb3JfbTMyNzY4X3M2NF94LCBzdmludDY0X3QsCisJCXowID0g c3Zlb3Jfbl9zNjRfeCAocDAsIHowLCAtMHg4MDAwKSwKKwkJejAgPSBzdmVv cl94IChwMCwgejAsIC0weDgwMDApKQorCisvKgorKiogZW9yXzVfczY0X3g6 CisqKgltb3YJKHpbMC05XSspXC5kLCAjNQorKioJZW9yCXowXC5kLCB6MFwu ZCwgXDFcLmQKKyoqCXJldAorKi8KK1RFU1RfVU5JRk9STV9aIChlb3JfNV9z NjRfeCwgc3ZpbnQ2NF90LAorCQl6MCA9IHN2ZW9yX25fczY0X3ggKHAwLCB6 MCwgNSksCisJCXowID0gc3Zlb3JfeCAocDAsIHowLCA1KSkKZGlmZiAtLWdp dCBhL2djYy90ZXN0c3VpdGUvZ2NjLnRhcmdldC9hYXJjaDY0L3N2ZS1hY2xl L2FzbS9lb3JfczguYyBiL2djYy90ZXN0c3VpdGUvZ2NjLnRhcmdldC9hYXJj aDY0L3N2ZS1hY2xlL2FzbS9lb3JfczguYwpuZXcgZmlsZSBtb2RlIDEwMDY0 NAppbmRleCAwMDAwMDAwLi4yYjZkODZhCi0tLSAvZGV2L251bGwKKysrIGIv Z2NjL3Rlc3RzdWl0ZS9nY2MudGFyZ2V0L2FhcmNoNjQvc3ZlLWFjbGUvYXNt L2Vvcl9zOC5jCkBAIC0wLDAgKzEsMzE3IEBACisvKiB7IGRnLWRvIGNvbXBp bGUgfSAqLworLyogeyBkZy1maW5hbCB7IGNoZWNrLWZ1bmN0aW9uLWJvZGll cyAiKioiICIiICItRENIRUNLX0FTTSIgfSB9ICovCisKKyNpbmNsdWRlICJ0 ZXN0X3N2ZV9hY2xlLmgiCisKKy8qCisqKiBlb3JfczhfbV90aWVkMToKKyoq CWVvcgl6MFwuYiwgcDAvbSwgejBcLmIsIHoxXC5iCisqKglyZXQKKyovCitU RVNUX1VOSUZPUk1fWiAoZW9yX3M4X21fdGllZDEsIHN2aW50OF90LAorCQl6 MCA9IHN2ZW9yX3M4X20gKHAwLCB6MCwgejEpLAorCQl6MCA9IHN2ZW9yX20g KHAwLCB6MCwgejEpKQorCisvKiBCYWQgUkEgY2hvaWNlOiBubyBwcmVmZXJy ZWQgb3V0cHV0IHNlcXVlbmNlLiAgKi8KK1RFU1RfVU5JRk9STV9aIChlb3Jf czhfbV90aWVkMiwgc3ZpbnQ4X3QsCisJCXoxID0gc3Zlb3JfczhfbSAocDAs IHowLCB6MSksCisJCXoxID0gc3Zlb3JfbSAocDAsIHowLCB6MSkpCisKKy8q CisqKiBlb3JfczhfbV91bnRpZWQ6CisqKgltb3ZwcmZ4CXowLCB6MQorKioJ ZW9yCXowXC5iLCBwMC9tLCB6MFwuYiwgejJcLmIKKyoqCXJldAorKi8KK1RF U1RfVU5JRk9STV9aIChlb3JfczhfbV91bnRpZWQsIHN2aW50OF90LAorCQl6 MCA9IHN2ZW9yX3M4X20gKHAwLCB6MSwgejIpLAorCQl6MCA9IHN2ZW9yX20g KHAwLCB6MSwgejIpKQorCisvKgorKiogZW9yX3cwX3M4X21fdGllZDE6Cisq Kgltb3YJKHpbMC05XStcLmIpLCB3MAorKioJZW9yCXowXC5iLCBwMC9tLCB6 MFwuYiwgXDEKKyoqCXJldAorKi8KK1RFU1RfVU5JRk9STV9aUyAoZW9yX3cw X3M4X21fdGllZDEsIHN2aW50OF90LCBpbnQ4X3QsCisJCSB6MCA9IHN2ZW9y X25fczhfbSAocDAsIHowLCB4MCksCisJCSB6MCA9IHN2ZW9yX20gKHAwLCB6 MCwgeDApKQorCisvKgorKiogZW9yX3cwX3M4X21fdW50aWVkOgorKioJbW92 CSh6WzAtOV0rXC5iKSwgdzAKKyoqCW1vdnByZngJejAsIHoxCisqKgllb3IJ ejBcLmIsIHAwL20sIHowXC5iLCBcMQorKioJcmV0CisqLworVEVTVF9VTklG T1JNX1pTIChlb3JfdzBfczhfbV91bnRpZWQsIHN2aW50OF90LCBpbnQ4X3Qs CisJCSB6MCA9IHN2ZW9yX25fczhfbSAocDAsIHoxLCB4MCksCisJCSB6MCA9 IHN2ZW9yX20gKHAwLCB6MSwgeDApKQorCisvKgorKiogZW9yX2IwX3M4X21f dGllZDE6CisqKgltb3YJKHpbMC05XStcLmIpLCBiMAorKioJZW9yCXoxXC5i LCBwMC9tLCB6MVwuYiwgXDEKKyoqCXJldAorKi8KK1RFU1RfVU5JRk9STV9a UyAoZW9yX2IwX3M4X21fdGllZDEsIHN2aW50OF90LCBpbnQ4X3QsCisJCSB6 MSA9IHN2ZW9yX25fczhfbSAocDAsIHoxLCBkMCksCisJCSB6MSA9IHN2ZW9y X20gKHAwLCB6MSwgZDApKQorCisvKgorKiogZW9yX2IwX3M4X21fdW50aWVk OgorKioJbW92CSh6WzAtOV0rXC5iKSwgYjAKKyoqCW1vdnByZngJejEsIHoy CisqKgllb3IJejFcLmIsIHAwL20sIHoxXC5iLCBcMQorKioJcmV0CisqLwor VEVTVF9VTklGT1JNX1pTIChlb3JfYjBfczhfbV91bnRpZWQsIHN2aW50OF90 LCBpbnQ4X3QsCisJCSB6MSA9IHN2ZW9yX25fczhfbSAocDAsIHoyLCBkMCks CisJCSB6MSA9IHN2ZW9yX20gKHAwLCB6MiwgZDApKQorCisvKgorKiogZW9y XzFfczhfbV90aWVkMToKKyoqCW1vdgkoelswLTldK1wuYiksICMxCisqKgll b3IJejBcLmIsIHAwL20sIHowXC5iLCBcMQorKioJcmV0CisqLworVEVTVF9V TklGT1JNX1ogKGVvcl8xX3M4X21fdGllZDEsIHN2aW50OF90LAorCQl6MCA9 IHN2ZW9yX25fczhfbSAocDAsIHowLCAxKSwKKwkJejAgPSBzdmVvcl9tIChw MCwgejAsIDEpKQorCisvKgorKiogZW9yXzFfczhfbV91bnRpZWQ6CisqKglt b3YJKHpbMC05XStcLmIpLCAjMQorKioJbW92cHJmeAl6MCwgejEKKyoqCWVv cgl6MFwuYiwgcDAvbSwgejBcLmIsIFwxCisqKglyZXQKKyovCitURVNUX1VO SUZPUk1fWiAoZW9yXzFfczhfbV91bnRpZWQsIHN2aW50OF90LAorCQl6MCA9 IHN2ZW9yX25fczhfbSAocDAsIHoxLCAxKSwKKwkJejAgPSBzdmVvcl9tIChw MCwgejEsIDEpKQorCisvKgorKiogZW9yX20yX3M4X206CisqKgltb3YJKHpb MC05XStcLmIpLCAjLTIKKyoqCWVvcgl6MFwuYiwgcDAvbSwgejBcLmIsIFwx CisqKglyZXQKKyovCitURVNUX1VOSUZPUk1fWiAoZW9yX20yX3M4X20sIHN2 aW50OF90LAorCQl6MCA9IHN2ZW9yX25fczhfbSAocDAsIHowLCAtMiksCisJ CXowID0gc3Zlb3JfbSAocDAsIHowLCAtMikpCisKKy8qCisqKiBlb3Jfczhf el90aWVkMToKKyoqCW1vdnByZngJejBcLmIsIHAwL3osIHowXC5iCisqKgll b3IJejBcLmIsIHAwL20sIHowXC5iLCB6MVwuYgorKioJcmV0CisqLworVEVT VF9VTklGT1JNX1ogKGVvcl9zOF96X3RpZWQxLCBzdmludDhfdCwKKwkJejAg PSBzdmVvcl9zOF96IChwMCwgejAsIHoxKSwKKwkJejAgPSBzdmVvcl96IChw MCwgejAsIHoxKSkKKworLyoKKyoqIGVvcl9zOF96X3RpZWQyOgorKioJbW92 cHJmeAl6MVwuYiwgcDAveiwgejFcLmIKKyoqCWVvcgl6MVwuYiwgcDAvbSwg ejFcLmIsIHowXC5iCisqKglyZXQKKyovCitURVNUX1VOSUZPUk1fWiAoZW9y X3M4X3pfdGllZDIsIHN2aW50OF90LAorCQl6MSA9IHN2ZW9yX3M4X3ogKHAw LCB6MCwgejEpLAorCQl6MSA9IHN2ZW9yX3ogKHAwLCB6MCwgejEpKQorCisv KgorKiogZW9yX3M4X3pfdW50aWVkOgorKioJbW92cHJmeAl6MFwuYiwgcDAv eiwgejFcLmIKKyoqCWVvcgl6MFwuYiwgcDAvbSwgejBcLmIsIHoyXC5iCisq KglyZXQKKyovCitURVNUX1VOSUZPUk1fWiAoZW9yX3M4X3pfdW50aWVkLCBz dmludDhfdCwKKwkJejAgPSBzdmVvcl9zOF96IChwMCwgejEsIHoyKSwKKwkJ ejAgPSBzdmVvcl96IChwMCwgejEsIHoyKSkKKworLyoKKyoqIGVvcl93MF9z OF96X3RpZWQxOgorKioJbW92CSh6WzAtOV0rXC5iKSwgdzAKKyoqCW1vdnBy ZngJejBcLmIsIHAwL3osIHowXC5iCisqKgllb3IJejBcLmIsIHAwL20sIHow XC5iLCBcMQorKioJcmV0CisqLworVEVTVF9VTklGT1JNX1pTIChlb3JfdzBf czhfel90aWVkMSwgc3ZpbnQ4X3QsIGludDhfdCwKKwkJIHowID0gc3Zlb3Jf bl9zOF96IChwMCwgejAsIHgwKSwKKwkJIHowID0gc3Zlb3JfeiAocDAsIHow LCB4MCkpCisKKy8qCisqKiBlb3JfdzBfczhfel91bnRpZWQ6CisqKgltb3YJ KHpbMC05XStcLmIpLCB3MAorKioJbW92cHJmeAl6MFwuYiwgcDAveiwgejFc LmIKKyoqCWVvcgl6MFwuYiwgcDAvbSwgejBcLmIsIFwxCisqKglyZXQKKyov CitURVNUX1VOSUZPUk1fWlMgKGVvcl93MF9zOF96X3VudGllZCwgc3ZpbnQ4 X3QsIGludDhfdCwKKwkJIHowID0gc3Zlb3Jfbl9zOF96IChwMCwgejEsIHgw KSwKKwkJIHowID0gc3Zlb3JfeiAocDAsIHoxLCB4MCkpCisKKy8qCisqKiBl b3JfYjBfczhfel90aWVkMToKKyoqCW1vdgkoelswLTldK1wuYiksIGIwCisq Kgltb3ZwcmZ4CXoxXC5iLCBwMC96LCB6MVwuYgorKioJZW9yCXoxXC5iLCBw MC9tLCB6MVwuYiwgXDEKKyoqCXJldAorKi8KK1RFU1RfVU5JRk9STV9aUyAo ZW9yX2IwX3M4X3pfdGllZDEsIHN2aW50OF90LCBpbnQ4X3QsCisJCSB6MSA9 IHN2ZW9yX25fczhfeiAocDAsIHoxLCBkMCksCisJCSB6MSA9IHN2ZW9yX3og KHAwLCB6MSwgZDApKQorCisvKgorKiogZW9yX2IwX3M4X3pfdW50aWVkOgor KioJbW92CSh6WzAtOV0rXC5iKSwgYjAKKyoqCW1vdnByZngJejFcLmIsIHAw L3osIHoyXC5iCisqKgllb3IJejFcLmIsIHAwL20sIHoxXC5iLCBcMQorKioJ cmV0CisqLworVEVTVF9VTklGT1JNX1pTIChlb3JfYjBfczhfel91bnRpZWQs IHN2aW50OF90LCBpbnQ4X3QsCisJCSB6MSA9IHN2ZW9yX25fczhfeiAocDAs IHoyLCBkMCksCisJCSB6MSA9IHN2ZW9yX3ogKHAwLCB6MiwgZDApKQorCisv KgorKiogZW9yX3M4X3hfdGllZDE6CisqKgllb3IJejBcLmQsIHowXC5kLCB6 MVwuZAorKioJcmV0CisqLworVEVTVF9VTklGT1JNX1ogKGVvcl9zOF94X3Rp ZWQxLCBzdmludDhfdCwKKwkJejAgPSBzdmVvcl9zOF94IChwMCwgejAsIHox KSwKKwkJejAgPSBzdmVvcl94IChwMCwgejAsIHoxKSkKKworLyoKKyoqIGVv cl9zOF94X3RpZWQyOgorKioJZW9yCXoxXC5kLCB6MFwuZCwgejFcLmQKKyoq CXJldAorKi8KK1RFU1RfVU5JRk9STV9aIChlb3JfczhfeF90aWVkMiwgc3Zp bnQ4X3QsCisJCXoxID0gc3Zlb3JfczhfeCAocDAsIHowLCB6MSksCisJCXox ID0gc3Zlb3JfeCAocDAsIHowLCB6MSkpCisKKy8qCisqKiBlb3JfczhfeF91 bnRpZWQ6CisqKgllb3IJejJcLmQsIHowXC5kLCB6MVwuZAorKioJcmV0Cisq LworVEVTVF9VTklGT1JNX1ogKGVvcl9zOF94X3VudGllZCwgc3ZpbnQ4X3Qs CisJCXoyID0gc3Zlb3JfczhfeCAocDAsIHowLCB6MSksCisJCXoyID0gc3Zl b3JfeCAocDAsIHowLCB6MSkpCisKKy8qCisqKiBlb3JfdzBfczhfeF90aWVk MToKKyoqCW1vdgkoelswLTldKylcLmIsIHcwCisqKgllb3IJejBcLmQsIHow XC5kLCBcMVwuZAorKioJcmV0CisqLworVEVTVF9VTklGT1JNX1pTIChlb3Jf dzBfczhfeF90aWVkMSwgc3ZpbnQ4X3QsIGludDhfdCwKKwkJIHowID0gc3Zl b3Jfbl9zOF94IChwMCwgejAsIHgwKSwKKwkJIHowID0gc3Zlb3JfeCAocDAs IHowLCB4MCkpCisKKy8qCisqKiBlb3JfdzBfczhfeF91bnRpZWQ6CisqKglt b3YJejFcLmIsIHcwCisqKgllb3IJejFcLmQsIHowXC5kLCB6MVwuZAorKioJ cmV0CisqLworVEVTVF9VTklGT1JNX1pTIChlb3JfdzBfczhfeF91bnRpZWQs IHN2aW50OF90LCBpbnQ4X3QsCisJCSB6MSA9IHN2ZW9yX25fczhfeCAocDAs IHowLCB4MCksCisJCSB6MSA9IHN2ZW9yX3ggKHAwLCB6MCwgeDApKQorCisv KgorKiogZW9yX2IwX3M4X3hfdGllZDE6CisqKgltb3YJKHpbMC05XSspXC5i LCBiMAorKioJZW9yCXoxXC5kLCB6MVwuZCwgXDFcLmQKKyoqCXJldAorKi8K K1RFU1RfVU5JRk9STV9aUyAoZW9yX2IwX3M4X3hfdGllZDEsIHN2aW50OF90 LCBpbnQ4X3QsCisJCSB6MSA9IHN2ZW9yX25fczhfeCAocDAsIHoxLCBkMCks CisJCSB6MSA9IHN2ZW9yX3ggKHAwLCB6MSwgZDApKQorCisvKgorKiogZW9y X2IwX3M4X3hfdW50aWVkOgorKioJbW92CSh6WzAtOV0rKVwuYiwgYjAKKyoq CWVvcgl6MlwuZCwgejFcLmQsIFwxXC5kCisqKglyZXQKKyovCitURVNUX1VO SUZPUk1fWlMgKGVvcl9iMF9zOF94X3VudGllZCwgc3ZpbnQ4X3QsIGludDhf dCwKKwkJIHoyID0gc3Zlb3Jfbl9zOF94IChwMCwgejEsIGQwKSwKKwkJIHoy ID0gc3Zlb3JfeCAocDAsIHoxLCBkMCkpCisKKy8qCisqKiBlb3JfMV9zOF94 X3RpZWQxOgorKioJZW9yCXowXC5iLCB6MFwuYiwgIzB4MQorKioJcmV0Cisq LworVEVTVF9VTklGT1JNX1ogKGVvcl8xX3M4X3hfdGllZDEsIHN2aW50OF90 LAorCQl6MCA9IHN2ZW9yX25fczhfeCAocDAsIHowLCAxKSwKKwkJejAgPSBz dmVvcl94IChwMCwgejAsIDEpKQorCisvKgorKiogZW9yXzFfczhfeF91bnRp ZWQ6CisqKgltb3ZwcmZ4CXowLCB6MQorKioJZW9yCXowXC5iLCB6MFwuYiwg IzB4MQorKioJcmV0CisqLworVEVTVF9VTklGT1JNX1ogKGVvcl8xX3M4X3hf dW50aWVkLCBzdmludDhfdCwKKwkJejAgPSBzdmVvcl9uX3M4X3ggKHAwLCB6 MSwgMSksCisJCXowID0gc3Zlb3JfeCAocDAsIHoxLCAxKSkKKworLyoKKyoq IGVvcl8xMjdfczhfeDoKKyoqCWVvcgl6MFwuYiwgejBcLmIsICMweDdmCisq KglyZXQKKyovCitURVNUX1VOSUZPUk1fWiAoZW9yXzEyN19zOF94LCBzdmlu dDhfdCwKKwkJejAgPSBzdmVvcl9uX3M4X3ggKHAwLCB6MCwgMTI3KSwKKwkJ ejAgPSBzdmVvcl94IChwMCwgejAsIDEyNykpCisKKy8qCisqKiBlb3JfMTI4 X3M4X3g6CisqKgllb3IJejBcLmIsIHowXC5iLCAjMHg4MAorKioJcmV0Cisq LworVEVTVF9VTklGT1JNX1ogKGVvcl8xMjhfczhfeCwgc3ZpbnQ4X3QsCisJ CXowID0gc3Zlb3Jfbl9zOF94IChwMCwgejAsIDEyOCksCisJCXowID0gc3Zl b3JfeCAocDAsIHowLCAxMjgpKQorCisvKgorKiogZW9yXzI1NV9zOF94Ogor KioJbW92CSh6WzAtOV0rKVwuYiwgIy0xCisqKgllb3IJejBcLmQsIHowXC5k LCBcMVwuZAorKioJcmV0CisqLworVEVTVF9VTklGT1JNX1ogKGVvcl8yNTVf czhfeCwgc3ZpbnQ4X3QsCisJCXowID0gc3Zlb3Jfbl9zOF94IChwMCwgejAs IDI1NSksCisJCXowID0gc3Zlb3JfeCAocDAsIHowLCAyNTUpKQorCisvKgor KiogZW9yX20xMjdfczhfeDoKKyoqCWVvcgl6MFwuYiwgejBcLmIsICMweDgx CisqKglyZXQKKyovCitURVNUX1VOSUZPUk1fWiAoZW9yX20xMjdfczhfeCwg c3ZpbnQ4X3QsCisJCXowID0gc3Zlb3Jfbl9zOF94IChwMCwgejAsIC0xMjcp LAorCQl6MCA9IHN2ZW9yX3ggKHAwLCB6MCwgLTEyNykpCisKKy8qCisqKiBl b3JfbTEyOF9zOF94OgorKioJZW9yCXowXC5iLCB6MFwuYiwgIzB4ODAKKyoq CXJldAorKi8KK1RFU1RfVU5JRk9STV9aIChlb3JfbTEyOF9zOF94LCBzdmlu dDhfdCwKKwkJejAgPSBzdmVvcl9uX3M4X3ggKHAwLCB6MCwgLTEyOCksCisJ CXowID0gc3Zlb3JfeCAocDAsIHowLCAtMTI4KSkKKworLyoKKyoqIGVvcl81 X3M4X3g6CisqKgltb3YJKHpbMC05XSspXC5iLCAjNQorKioJZW9yCXowXC5k LCB6MFwuZCwgXDFcLmQKKyoqCXJldAorKi8KK1RFU1RfVU5JRk9STV9aIChl b3JfNV9zOF94LCBzdmludDhfdCwKKwkJejAgPSBzdmVvcl9uX3M4X3ggKHAw LCB6MCwgNSksCisJCXowID0gc3Zlb3JfeCAocDAsIHowLCA1KSkKZGlmZiAt LWdpdCBhL2djYy90ZXN0c3VpdGUvZ2NjLnRhcmdldC9hYXJjaDY0L3N2ZS1h Y2xlL2FzbS9lb3JfdTE2LmMgYi9nY2MvdGVzdHN1aXRlL2djYy50YXJnZXQv YWFyY2g2NC9zdmUtYWNsZS9hc20vZW9yX3UxNi5jCm5ldyBmaWxlIG1vZGUg MTAwNjQ0CmluZGV4IDAwMDAwMDAuLjQ2NmY0ZTkKLS0tIC9kZXYvbnVsbAor KysgYi9nY2MvdGVzdHN1aXRlL2djYy50YXJnZXQvYWFyY2g2NC9zdmUtYWNs ZS9hc20vZW9yX3UxNi5jCkBAIC0wLDAgKzEsMzk3IEBACisvKiB7IGRnLWRv IGNvbXBpbGUgfSAqLworLyogeyBkZy1maW5hbCB7IGNoZWNrLWZ1bmN0aW9u LWJvZGllcyAiKioiICIiICItRENIRUNLX0FTTSIgfSB9ICovCisKKyNpbmNs dWRlICJ0ZXN0X3N2ZV9hY2xlLmgiCisKKy8qCisqKiBlb3JfdTE2X21fdGll ZDE6CisqKgllb3IJejBcLmgsIHAwL20sIHowXC5oLCB6MVwuaAorKioJcmV0 CisqLworVEVTVF9VTklGT1JNX1ogKGVvcl91MTZfbV90aWVkMSwgc3Z1aW50 MTZfdCwKKwkJejAgPSBzdmVvcl91MTZfbSAocDAsIHowLCB6MSksCisJCXow ID0gc3Zlb3JfbSAocDAsIHowLCB6MSkpCisKKy8qIEJhZCBSQSBjaG9pY2U6 IG5vIHByZWZlcnJlZCBvdXRwdXQgc2VxdWVuY2UuICAqLworVEVTVF9VTklG T1JNX1ogKGVvcl91MTZfbV90aWVkMiwgc3Z1aW50MTZfdCwKKwkJejEgPSBz dmVvcl91MTZfbSAocDAsIHowLCB6MSksCisJCXoxID0gc3Zlb3JfbSAocDAs IHowLCB6MSkpCisKKy8qCisqKiBlb3JfdTE2X21fdW50aWVkOgorKioJbW92 cHJmeAl6MCwgejEKKyoqCWVvcgl6MFwuaCwgcDAvbSwgejBcLmgsIHoyXC5o CisqKglyZXQKKyovCitURVNUX1VOSUZPUk1fWiAoZW9yX3UxNl9tX3VudGll ZCwgc3Z1aW50MTZfdCwKKwkJejAgPSBzdmVvcl91MTZfbSAocDAsIHoxLCB6 MiksCisJCXowID0gc3Zlb3JfbSAocDAsIHoxLCB6MikpCisKKy8qCisqKiBl b3JfdzBfdTE2X21fdGllZDE6CisqKgltb3YJKHpbMC05XStcLmgpLCB3MAor KioJZW9yCXowXC5oLCBwMC9tLCB6MFwuaCwgXDEKKyoqCXJldAorKi8KK1RF U1RfVU5JRk9STV9aUyAoZW9yX3cwX3UxNl9tX3RpZWQxLCBzdnVpbnQxNl90 LCB1aW50MTZfdCwKKwkJIHowID0gc3Zlb3Jfbl91MTZfbSAocDAsIHowLCB4 MCksCisJCSB6MCA9IHN2ZW9yX20gKHAwLCB6MCwgeDApKQorCisvKgorKiog ZW9yX3cwX3UxNl9tX3VudGllZDoKKyoqCW1vdgkoelswLTldK1wuaCksIHcw CisqKgltb3ZwcmZ4CXowLCB6MQorKioJZW9yCXowXC5oLCBwMC9tLCB6MFwu aCwgXDEKKyoqCXJldAorKi8KK1RFU1RfVU5JRk9STV9aUyAoZW9yX3cwX3Ux Nl9tX3VudGllZCwgc3Z1aW50MTZfdCwgdWludDE2X3QsCisJCSB6MCA9IHN2 ZW9yX25fdTE2X20gKHAwLCB6MSwgeDApLAorCQkgejAgPSBzdmVvcl9tIChw MCwgejEsIHgwKSkKKworLyoKKyoqIGVvcl9oMF91MTZfbV90aWVkMToKKyoq CW1vdgkoelswLTldK1wuaCksIGgwCisqKgllb3IJejFcLmgsIHAwL20sIHox XC5oLCBcMQorKioJcmV0CisqLworVEVTVF9VTklGT1JNX1pTIChlb3JfaDBf dTE2X21fdGllZDEsIHN2dWludDE2X3QsIHVpbnQxNl90LAorCQkgejEgPSBz dmVvcl9uX3UxNl9tIChwMCwgejEsIGQwKSwKKwkJIHoxID0gc3Zlb3JfbSAo cDAsIHoxLCBkMCkpCisKKy8qCisqKiBlb3JfaDBfdTE2X21fdW50aWVkOgor KioJbW92CSh6WzAtOV0rXC5oKSwgaDAKKyoqCW1vdnByZngJejEsIHoyCisq Kgllb3IJejFcLmgsIHAwL20sIHoxXC5oLCBcMQorKioJcmV0CisqLworVEVT VF9VTklGT1JNX1pTIChlb3JfaDBfdTE2X21fdW50aWVkLCBzdnVpbnQxNl90 LCB1aW50MTZfdCwKKwkJIHoxID0gc3Zlb3Jfbl91MTZfbSAocDAsIHoyLCBk MCksCisJCSB6MSA9IHN2ZW9yX20gKHAwLCB6MiwgZDApKQorCisvKgorKiog ZW9yXzFfdTE2X21fdGllZDE6CisqKgltb3YJKHpbMC05XStcLmgpLCAjMQor KioJZW9yCXowXC5oLCBwMC9tLCB6MFwuaCwgXDEKKyoqCXJldAorKi8KK1RF U1RfVU5JRk9STV9aIChlb3JfMV91MTZfbV90aWVkMSwgc3Z1aW50MTZfdCwK KwkJejAgPSBzdmVvcl9uX3UxNl9tIChwMCwgejAsIDEpLAorCQl6MCA9IHN2 ZW9yX20gKHAwLCB6MCwgMSkpCisKKy8qCisqKiBlb3JfMV91MTZfbV91bnRp ZWQ6CisqKgltb3YJKHpbMC05XStcLmgpLCAjMQorKioJbW92cHJmeAl6MCwg ejEKKyoqCWVvcgl6MFwuaCwgcDAvbSwgejBcLmgsIFwxCisqKglyZXQKKyov CitURVNUX1VOSUZPUk1fWiAoZW9yXzFfdTE2X21fdW50aWVkLCBzdnVpbnQx Nl90LAorCQl6MCA9IHN2ZW9yX25fdTE2X20gKHAwLCB6MSwgMSksCisJCXow ID0gc3Zlb3JfbSAocDAsIHoxLCAxKSkKKworLyoKKyoqIGVvcl9tMl91MTZf bToKKyoqCW1vdgkoelswLTldK1wuaCksICMtMgorKioJZW9yCXowXC5oLCBw MC9tLCB6MFwuaCwgXDEKKyoqCXJldAorKi8KK1RFU1RfVU5JRk9STV9aIChl b3JfbTJfdTE2X20sIHN2dWludDE2X3QsCisJCXowID0gc3Zlb3Jfbl91MTZf bSAocDAsIHowLCAtMiksCisJCXowID0gc3Zlb3JfbSAocDAsIHowLCAtMikp CisKKy8qCisqKiBlb3JfdTE2X3pfdGllZDE6CisqKgltb3ZwcmZ4CXowXC5o LCBwMC96LCB6MFwuaAorKioJZW9yCXowXC5oLCBwMC9tLCB6MFwuaCwgejFc LmgKKyoqCXJldAorKi8KK1RFU1RfVU5JRk9STV9aIChlb3JfdTE2X3pfdGll ZDEsIHN2dWludDE2X3QsCisJCXowID0gc3Zlb3JfdTE2X3ogKHAwLCB6MCwg ejEpLAorCQl6MCA9IHN2ZW9yX3ogKHAwLCB6MCwgejEpKQorCisvKgorKiog ZW9yX3UxNl96X3RpZWQyOgorKioJbW92cHJmeAl6MVwuaCwgcDAveiwgejFc LmgKKyoqCWVvcgl6MVwuaCwgcDAvbSwgejFcLmgsIHowXC5oCisqKglyZXQK KyovCitURVNUX1VOSUZPUk1fWiAoZW9yX3UxNl96X3RpZWQyLCBzdnVpbnQx Nl90LAorCQl6MSA9IHN2ZW9yX3UxNl96IChwMCwgejAsIHoxKSwKKwkJejEg PSBzdmVvcl96IChwMCwgejAsIHoxKSkKKworLyoKKyoqIGVvcl91MTZfel91 bnRpZWQ6CisqKgltb3ZwcmZ4CXowXC5oLCBwMC96LCB6MVwuaAorKioJZW9y CXowXC5oLCBwMC9tLCB6MFwuaCwgejJcLmgKKyoqCXJldAorKi8KK1RFU1Rf VU5JRk9STV9aIChlb3JfdTE2X3pfdW50aWVkLCBzdnVpbnQxNl90LAorCQl6 MCA9IHN2ZW9yX3UxNl96IChwMCwgejEsIHoyKSwKKwkJejAgPSBzdmVvcl96 IChwMCwgejEsIHoyKSkKKworLyoKKyoqIGVvcl93MF91MTZfel90aWVkMToK KyoqCW1vdgkoelswLTldK1wuaCksIHcwCisqKgltb3ZwcmZ4CXowXC5oLCBw MC96LCB6MFwuaAorKioJZW9yCXowXC5oLCBwMC9tLCB6MFwuaCwgXDEKKyoq CXJldAorKi8KK1RFU1RfVU5JRk9STV9aUyAoZW9yX3cwX3UxNl96X3RpZWQx LCBzdnVpbnQxNl90LCB1aW50MTZfdCwKKwkJIHowID0gc3Zlb3Jfbl91MTZf eiAocDAsIHowLCB4MCksCisJCSB6MCA9IHN2ZW9yX3ogKHAwLCB6MCwgeDAp KQorCisvKgorKiogZW9yX3cwX3UxNl96X3VudGllZDoKKyoqCW1vdgkoelsw LTldK1wuaCksIHcwCisqKgltb3ZwcmZ4CXowXC5oLCBwMC96LCB6MVwuaAor KioJZW9yCXowXC5oLCBwMC9tLCB6MFwuaCwgXDEKKyoqCXJldAorKi8KK1RF U1RfVU5JRk9STV9aUyAoZW9yX3cwX3UxNl96X3VudGllZCwgc3Z1aW50MTZf dCwgdWludDE2X3QsCisJCSB6MCA9IHN2ZW9yX25fdTE2X3ogKHAwLCB6MSwg eDApLAorCQkgejAgPSBzdmVvcl96IChwMCwgejEsIHgwKSkKKworLyoKKyoq IGVvcl9oMF91MTZfel90aWVkMToKKyoqCW1vdgkoelswLTldK1wuaCksIGgw CisqKgltb3ZwcmZ4CXoxXC5oLCBwMC96LCB6MVwuaAorKioJZW9yCXoxXC5o LCBwMC9tLCB6MVwuaCwgXDEKKyoqCXJldAorKi8KK1RFU1RfVU5JRk9STV9a UyAoZW9yX2gwX3UxNl96X3RpZWQxLCBzdnVpbnQxNl90LCB1aW50MTZfdCwK KwkJIHoxID0gc3Zlb3Jfbl91MTZfeiAocDAsIHoxLCBkMCksCisJCSB6MSA9 IHN2ZW9yX3ogKHAwLCB6MSwgZDApKQorCisvKgorKiogZW9yX2gwX3UxNl96 X3VudGllZDoKKyoqCW1vdgkoelswLTldK1wuaCksIGgwCisqKgltb3ZwcmZ4 CXoxXC5oLCBwMC96LCB6MlwuaAorKioJZW9yCXoxXC5oLCBwMC9tLCB6MVwu aCwgXDEKKyoqCXJldAorKi8KK1RFU1RfVU5JRk9STV9aUyAoZW9yX2gwX3Ux Nl96X3VudGllZCwgc3Z1aW50MTZfdCwgdWludDE2X3QsCisJCSB6MSA9IHN2 ZW9yX25fdTE2X3ogKHAwLCB6MiwgZDApLAorCQkgejEgPSBzdmVvcl96IChw MCwgejIsIGQwKSkKKworLyoKKyoqIGVvcl91MTZfeF90aWVkMToKKyoqCWVv cgl6MFwuZCwgejBcLmQsIHoxXC5kCisqKglyZXQKKyovCitURVNUX1VOSUZP Uk1fWiAoZW9yX3UxNl94X3RpZWQxLCBzdnVpbnQxNl90LAorCQl6MCA9IHN2 ZW9yX3UxNl94IChwMCwgejAsIHoxKSwKKwkJejAgPSBzdmVvcl94IChwMCwg ejAsIHoxKSkKKworLyoKKyoqIGVvcl91MTZfeF90aWVkMjoKKyoqCWVvcgl6 MVwuZCwgejBcLmQsIHoxXC5kCisqKglyZXQKKyovCitURVNUX1VOSUZPUk1f WiAoZW9yX3UxNl94X3RpZWQyLCBzdnVpbnQxNl90LAorCQl6MSA9IHN2ZW9y X3UxNl94IChwMCwgejAsIHoxKSwKKwkJejEgPSBzdmVvcl94IChwMCwgejAs IHoxKSkKKworLyoKKyoqIGVvcl91MTZfeF91bnRpZWQ6CisqKgllb3IJejJc LmQsIHowXC5kLCB6MVwuZAorKioJcmV0CisqLworVEVTVF9VTklGT1JNX1og KGVvcl91MTZfeF91bnRpZWQsIHN2dWludDE2X3QsCisJCXoyID0gc3Zlb3Jf dTE2X3ggKHAwLCB6MCwgejEpLAorCQl6MiA9IHN2ZW9yX3ggKHAwLCB6MCwg ejEpKQorCisvKgorKiogZW9yX3cwX3UxNl94X3RpZWQxOgorKioJbW92CSh6 WzAtOV0rKVwuaCwgdzAKKyoqCWVvcgl6MFwuZCwgejBcLmQsIFwxXC5kCisq KglyZXQKKyovCitURVNUX1VOSUZPUk1fWlMgKGVvcl93MF91MTZfeF90aWVk MSwgc3Z1aW50MTZfdCwgdWludDE2X3QsCisJCSB6MCA9IHN2ZW9yX25fdTE2 X3ggKHAwLCB6MCwgeDApLAorCQkgejAgPSBzdmVvcl94IChwMCwgejAsIHgw KSkKKworLyoKKyoqIGVvcl93MF91MTZfeF91bnRpZWQ6CisqKgltb3YJejFc LmgsIHcwCisqKgllb3IJejFcLmQsIHowXC5kLCB6MVwuZAorKioJcmV0Cisq LworVEVTVF9VTklGT1JNX1pTIChlb3JfdzBfdTE2X3hfdW50aWVkLCBzdnVp bnQxNl90LCB1aW50MTZfdCwKKwkJIHoxID0gc3Zlb3Jfbl91MTZfeCAocDAs IHowLCB4MCksCisJCSB6MSA9IHN2ZW9yX3ggKHAwLCB6MCwgeDApKQorCisv KgorKiogZW9yX2gwX3UxNl94X3RpZWQxOgorKioJbW92CSh6WzAtOV0rKVwu aCwgaDAKKyoqCWVvcgl6MVwuZCwgejFcLmQsIFwxXC5kCisqKglyZXQKKyov CitURVNUX1VOSUZPUk1fWlMgKGVvcl9oMF91MTZfeF90aWVkMSwgc3Z1aW50 MTZfdCwgdWludDE2X3QsCisJCSB6MSA9IHN2ZW9yX25fdTE2X3ggKHAwLCB6 MSwgZDApLAorCQkgejEgPSBzdmVvcl94IChwMCwgejEsIGQwKSkKKworLyoK KyoqIGVvcl9oMF91MTZfeF91bnRpZWQ6CisqKgltb3YJKHpbMC05XSspXC5o LCBoMAorKioJZW9yCXoyXC5kLCB6MVwuZCwgXDFcLmQKKyoqCXJldAorKi8K K1RFU1RfVU5JRk9STV9aUyAoZW9yX2gwX3UxNl94X3VudGllZCwgc3Z1aW50 MTZfdCwgdWludDE2X3QsCisJCSB6MiA9IHN2ZW9yX25fdTE2X3ggKHAwLCB6 MSwgZDApLAorCQkgejIgPSBzdmVvcl94IChwMCwgejEsIGQwKSkKKworLyoK KyoqIGVvcl8xX3UxNl94X3RpZWQxOgorKioJZW9yCXowXC5oLCB6MFwuaCwg IzB4MQorKioJcmV0CisqLworVEVTVF9VTklGT1JNX1ogKGVvcl8xX3UxNl94 X3RpZWQxLCBzdnVpbnQxNl90LAorCQl6MCA9IHN2ZW9yX25fdTE2X3ggKHAw LCB6MCwgMSksCisJCXowID0gc3Zlb3JfeCAocDAsIHowLCAxKSkKKworLyoK KyoqIGVvcl8xX3UxNl94X3VudGllZDoKKyoqCW1vdnByZngJejAsIHoxCisq Kgllb3IJejBcLmgsIHowXC5oLCAjMHgxCisqKglyZXQKKyovCitURVNUX1VO SUZPUk1fWiAoZW9yXzFfdTE2X3hfdW50aWVkLCBzdnVpbnQxNl90LAorCQl6 MCA9IHN2ZW9yX25fdTE2X3ggKHAwLCB6MSwgMSksCisJCXowID0gc3Zlb3Jf eCAocDAsIHoxLCAxKSkKKworLyoKKyoqIGVvcl8xMjdfdTE2X3g6CisqKgll b3IJejBcLmgsIHowXC5oLCAjMHg3ZgorKioJcmV0CisqLworVEVTVF9VTklG T1JNX1ogKGVvcl8xMjdfdTE2X3gsIHN2dWludDE2X3QsCisJCXowID0gc3Zl b3Jfbl91MTZfeCAocDAsIHowLCAxMjcpLAorCQl6MCA9IHN2ZW9yX3ggKHAw LCB6MCwgMTI3KSkKKworLyoKKyoqIGVvcl8xMjhfdTE2X3g6CisqKgllb3IJ ejBcLmgsIHowXC5oLCAjMHg4MAorKioJcmV0CisqLworVEVTVF9VTklGT1JN X1ogKGVvcl8xMjhfdTE2X3gsIHN2dWludDE2X3QsCisJCXowID0gc3Zlb3Jf bl91MTZfeCAocDAsIHowLCAxMjgpLAorCQl6MCA9IHN2ZW9yX3ggKHAwLCB6 MCwgMTI4KSkKKworLyoKKyoqIGVvcl8yNTVfdTE2X3g6CisqKgllb3IJejBc LmgsIHowXC5oLCAjMHhmZgorKioJcmV0CisqLworVEVTVF9VTklGT1JNX1og KGVvcl8yNTVfdTE2X3gsIHN2dWludDE2X3QsCisJCXowID0gc3Zlb3Jfbl91 MTZfeCAocDAsIHowLCAyNTUpLAorCQl6MCA9IHN2ZW9yX3ggKHAwLCB6MCwg MjU1KSkKKworLyoKKyoqIGVvcl8yNTZfdTE2X3g6CisqKgllb3IJejBcLmgs IHowXC5oLCAjMHgxMDAKKyoqCXJldAorKi8KK1RFU1RfVU5JRk9STV9aIChl b3JfMjU2X3UxNl94LCBzdnVpbnQxNl90LAorCQl6MCA9IHN2ZW9yX25fdTE2 X3ggKHAwLCB6MCwgMjU2KSwKKwkJejAgPSBzdmVvcl94IChwMCwgejAsIDI1 NikpCisKKy8qCisqKiBlb3JfMjU3X3UxNl94OgorKioJZW9yCXowXC5oLCB6 MFwuaCwgIzB4MTAxCisqKglyZXQKKyovCitURVNUX1VOSUZPUk1fWiAoZW9y XzI1N191MTZfeCwgc3Z1aW50MTZfdCwKKwkJejAgPSBzdmVvcl9uX3UxNl94 IChwMCwgejAsIDI1NyksCisJCXowID0gc3Zlb3JfeCAocDAsIHowLCAyNTcp KQorCisvKgorKiogZW9yXzUxMl91MTZfeDoKKyoqCWVvcgl6MFwuaCwgejBc LmgsICMweDIwMAorKioJcmV0CisqLworVEVTVF9VTklGT1JNX1ogKGVvcl81 MTJfdTE2X3gsIHN2dWludDE2X3QsCisJCXowID0gc3Zlb3Jfbl91MTZfeCAo cDAsIHowLCA1MTIpLAorCQl6MCA9IHN2ZW9yX3ggKHAwLCB6MCwgNTEyKSkK KworLyoKKyoqIGVvcl82NTI4MF91MTZfeDoKKyoqCWVvcgl6MFwuaCwgejBc LmgsICMweGZmMDAKKyoqCXJldAorKi8KK1RFU1RfVU5JRk9STV9aIChlb3Jf NjUyODBfdTE2X3gsIHN2dWludDE2X3QsCisJCXowID0gc3Zlb3Jfbl91MTZf eCAocDAsIHowLCAweGZmMDApLAorCQl6MCA9IHN2ZW9yX3ggKHAwLCB6MCwg MHhmZjAwKSkKKworLyoKKyoqIGVvcl9tMTI3X3UxNl94OgorKioJZW9yCXow XC5oLCB6MFwuaCwgIzB4ZmY4MQorKioJcmV0CisqLworVEVTVF9VTklGT1JN X1ogKGVvcl9tMTI3X3UxNl94LCBzdnVpbnQxNl90LAorCQl6MCA9IHN2ZW9y X25fdTE2X3ggKHAwLCB6MCwgLTEyNyksCisJCXowID0gc3Zlb3JfeCAocDAs IHowLCAtMTI3KSkKKworLyoKKyoqIGVvcl9tMTI4X3UxNl94OgorKioJZW9y CXowXC5oLCB6MFwuaCwgIzB4ZmY4MAorKioJcmV0CisqLworVEVTVF9VTklG T1JNX1ogKGVvcl9tMTI4X3UxNl94LCBzdnVpbnQxNl90LAorCQl6MCA9IHN2 ZW9yX25fdTE2X3ggKHAwLCB6MCwgLTEyOCksCisJCXowID0gc3Zlb3JfeCAo cDAsIHowLCAtMTI4KSkKKworLyoKKyoqIGVvcl9tMjU1X3UxNl94OgorKioJ ZW9yCXowXC5oLCB6MFwuaCwgIzB4ZmYwMQorKioJcmV0CisqLworVEVTVF9V TklGT1JNX1ogKGVvcl9tMjU1X3UxNl94LCBzdnVpbnQxNl90LAorCQl6MCA9 IHN2ZW9yX25fdTE2X3ggKHAwLCB6MCwgLTI1NSksCisJCXowID0gc3Zlb3Jf eCAocDAsIHowLCAtMjU1KSkKKworLyoKKyoqIGVvcl9tMjU2X3UxNl94Ogor KioJZW9yCXowXC5oLCB6MFwuaCwgIzB4ZmYwMAorKioJcmV0CisqLworVEVT VF9VTklGT1JNX1ogKGVvcl9tMjU2X3UxNl94LCBzdnVpbnQxNl90LAorCQl6 MCA9IHN2ZW9yX25fdTE2X3ggKHAwLCB6MCwgLTI1NiksCisJCXowID0gc3Zl b3JfeCAocDAsIHowLCAtMjU2KSkKKworLyoKKyoqIGVvcl9tMjU3X3UxNl94 OgorKioJZW9yCXowXC5oLCB6MFwuaCwgIzB4ZmVmZgorKioJcmV0CisqLwor VEVTVF9VTklGT1JNX1ogKGVvcl9tMjU3X3UxNl94LCBzdnVpbnQxNl90LAor CQl6MCA9IHN2ZW9yX25fdTE2X3ggKHAwLCB6MCwgLTI1NyksCisJCXowID0g c3Zlb3JfeCAocDAsIHowLCAtMjU3KSkKKworLyoKKyoqIGVvcl9tNTEyX3Ux Nl94OgorKioJZW9yCXowXC5oLCB6MFwuaCwgIzB4ZmUwMAorKioJcmV0Cisq LworVEVTVF9VTklGT1JNX1ogKGVvcl9tNTEyX3UxNl94LCBzdnVpbnQxNl90 LAorCQl6MCA9IHN2ZW9yX25fdTE2X3ggKHAwLCB6MCwgLTUxMiksCisJCXow ID0gc3Zlb3JfeCAocDAsIHowLCAtNTEyKSkKKworLyoKKyoqIGVvcl9tMzI3 NjhfdTE2X3g6CisqKgllb3IJejBcLmgsIHowXC5oLCAjMHg4MDAwCisqKgly ZXQKKyovCitURVNUX1VOSUZPUk1fWiAoZW9yX20zMjc2OF91MTZfeCwgc3Z1 aW50MTZfdCwKKwkJejAgPSBzdmVvcl9uX3UxNl94IChwMCwgejAsIC0weDgw MDApLAorCQl6MCA9IHN2ZW9yX3ggKHAwLCB6MCwgLTB4ODAwMCkpCisKKy8q CisqKiBlb3JfNV91MTZfeDoKKyoqCW1vdgkoelswLTldKylcLmgsICM1Cisq Kgllb3IJejBcLmQsIHowXC5kLCBcMVwuZAorKioJcmV0CisqLworVEVTVF9V TklGT1JNX1ogKGVvcl81X3UxNl94LCBzdnVpbnQxNl90LAorCQl6MCA9IHN2 ZW9yX25fdTE2X3ggKHAwLCB6MCwgNSksCisJCXowID0gc3Zlb3JfeCAocDAs IHowLCA1KSkKZGlmZiAtLWdpdCBhL2djYy90ZXN0c3VpdGUvZ2NjLnRhcmdl dC9hYXJjaDY0L3N2ZS1hY2xlL2FzbS9lb3JfdTMyLmMgYi9nY2MvdGVzdHN1 aXRlL2djYy50YXJnZXQvYWFyY2g2NC9zdmUtYWNsZS9hc20vZW9yX3UzMi5j Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjg4YTNkM2UK LS0tIC9kZXYvbnVsbAorKysgYi9nY2MvdGVzdHN1aXRlL2djYy50YXJnZXQv YWFyY2g2NC9zdmUtYWNsZS9hc20vZW9yX3UzMi5jCkBAIC0wLDAgKzEsMzkz IEBACisvKiB7IGRnLWRvIGNvbXBpbGUgfSAqLworLyogeyBkZy1maW5hbCB7 IGNoZWNrLWZ1bmN0aW9uLWJvZGllcyAiKioiICIiICItRENIRUNLX0FTTSIg fSB9ICovCisKKyNpbmNsdWRlICJ0ZXN0X3N2ZV9hY2xlLmgiCisKKy8qCisq KiBlb3JfdTMyX21fdGllZDE6CisqKgllb3IJejBcLnMsIHAwL20sIHowXC5z LCB6MVwucworKioJcmV0CisqLworVEVTVF9VTklGT1JNX1ogKGVvcl91MzJf bV90aWVkMSwgc3Z1aW50MzJfdCwKKwkJejAgPSBzdmVvcl91MzJfbSAocDAs IHowLCB6MSksCisJCXowID0gc3Zlb3JfbSAocDAsIHowLCB6MSkpCisKKy8q IEJhZCBSQSBjaG9pY2U6IG5vIHByZWZlcnJlZCBvdXRwdXQgc2VxdWVuY2Uu ICAqLworVEVTVF9VTklGT1JNX1ogKGVvcl91MzJfbV90aWVkMiwgc3Z1aW50 MzJfdCwKKwkJejEgPSBzdmVvcl91MzJfbSAocDAsIHowLCB6MSksCisJCXox ID0gc3Zlb3JfbSAocDAsIHowLCB6MSkpCisKKy8qCisqKiBlb3JfdTMyX21f dW50aWVkOgorKioJbW92cHJmeAl6MCwgejEKKyoqCWVvcgl6MFwucywgcDAv bSwgejBcLnMsIHoyXC5zCisqKglyZXQKKyovCitURVNUX1VOSUZPUk1fWiAo ZW9yX3UzMl9tX3VudGllZCwgc3Z1aW50MzJfdCwKKwkJejAgPSBzdmVvcl91 MzJfbSAocDAsIHoxLCB6MiksCisJCXowID0gc3Zlb3JfbSAocDAsIHoxLCB6 MikpCisKKy8qCisqKiBlb3JfdzBfdTMyX21fdGllZDE6CisqKgltb3YJKHpb MC05XStcLnMpLCB3MAorKioJZW9yCXowXC5zLCBwMC9tLCB6MFwucywgXDEK KyoqCXJldAorKi8KK1RFU1RfVU5JRk9STV9aUyAoZW9yX3cwX3UzMl9tX3Rp ZWQxLCBzdnVpbnQzMl90LCB1aW50MzJfdCwKKwkJIHowID0gc3Zlb3Jfbl91 MzJfbSAocDAsIHowLCB4MCksCisJCSB6MCA9IHN2ZW9yX20gKHAwLCB6MCwg eDApKQorCisvKgorKiogZW9yX3cwX3UzMl9tX3VudGllZDoKKyoqCW1vdgko elswLTldK1wucyksIHcwCisqKgltb3ZwcmZ4CXowLCB6MQorKioJZW9yCXow XC5zLCBwMC9tLCB6MFwucywgXDEKKyoqCXJldAorKi8KK1RFU1RfVU5JRk9S TV9aUyAoZW9yX3cwX3UzMl9tX3VudGllZCwgc3Z1aW50MzJfdCwgdWludDMy X3QsCisJCSB6MCA9IHN2ZW9yX25fdTMyX20gKHAwLCB6MSwgeDApLAorCQkg ejAgPSBzdmVvcl9tIChwMCwgejEsIHgwKSkKKworLyoKKyoqIGVvcl9zMF91 MzJfbV90aWVkMToKKyoqCW1vdgkoelswLTldK1wucyksIHMwCisqKgllb3IJ ejFcLnMsIHAwL20sIHoxXC5zLCBcMQorKioJcmV0CisqLworVEVTVF9VTklG T1JNX1pTIChlb3JfczBfdTMyX21fdGllZDEsIHN2dWludDMyX3QsIHVpbnQz Ml90LAorCQkgejEgPSBzdmVvcl9uX3UzMl9tIChwMCwgejEsIGQwKSwKKwkJ IHoxID0gc3Zlb3JfbSAocDAsIHoxLCBkMCkpCisKKy8qCisqKiBlb3JfczBf dTMyX21fdW50aWVkOgorKioJbW92CSh6WzAtOV0rXC5zKSwgczAKKyoqCW1v dnByZngJejEsIHoyCisqKgllb3IJejFcLnMsIHAwL20sIHoxXC5zLCBcMQor KioJcmV0CisqLworVEVTVF9VTklGT1JNX1pTIChlb3JfczBfdTMyX21fdW50 aWVkLCBzdnVpbnQzMl90LCB1aW50MzJfdCwKKwkJIHoxID0gc3Zlb3Jfbl91 MzJfbSAocDAsIHoyLCBkMCksCisJCSB6MSA9IHN2ZW9yX20gKHAwLCB6Miwg ZDApKQorCisvKgorKiogZW9yXzFfdTMyX21fdGllZDE6CisqKgltb3YJKHpb MC05XStcLnMpLCAjMQorKioJZW9yCXowXC5zLCBwMC9tLCB6MFwucywgXDEK KyoqCXJldAorKi8KK1RFU1RfVU5JRk9STV9aIChlb3JfMV91MzJfbV90aWVk MSwgc3Z1aW50MzJfdCwKKwkJejAgPSBzdmVvcl9uX3UzMl9tIChwMCwgejAs IDEpLAorCQl6MCA9IHN2ZW9yX20gKHAwLCB6MCwgMSkpCisKKy8qCisqKiBl b3JfMV91MzJfbV91bnRpZWQ6CisqKgltb3YJKHpbMC05XStcLnMpLCAjMQor KioJbW92cHJmeAl6MCwgejEKKyoqCWVvcgl6MFwucywgcDAvbSwgejBcLnMs IFwxCisqKglyZXQKKyovCitURVNUX1VOSUZPUk1fWiAoZW9yXzFfdTMyX21f dW50aWVkLCBzdnVpbnQzMl90LAorCQl6MCA9IHN2ZW9yX25fdTMyX20gKHAw LCB6MSwgMSksCisJCXowID0gc3Zlb3JfbSAocDAsIHoxLCAxKSkKKworLyoK KyoqIGVvcl9tMl91MzJfbToKKyoqCW1vdgkoelswLTldK1wucyksICMtMgor KioJZW9yCXowXC5zLCBwMC9tLCB6MFwucywgXDEKKyoqCXJldAorKi8KK1RF U1RfVU5JRk9STV9aIChlb3JfbTJfdTMyX20sIHN2dWludDMyX3QsCisJCXow ID0gc3Zlb3Jfbl91MzJfbSAocDAsIHowLCAtMiksCisJCXowID0gc3Zlb3Jf bSAocDAsIHowLCAtMikpCisKKy8qCisqKiBlb3JfdTMyX3pfdGllZDE6Cisq Kgltb3ZwcmZ4CXowXC5zLCBwMC96LCB6MFwucworKioJZW9yCXowXC5zLCBw MC9tLCB6MFwucywgejFcLnMKKyoqCXJldAorKi8KK1RFU1RfVU5JRk9STV9a IChlb3JfdTMyX3pfdGllZDEsIHN2dWludDMyX3QsCisJCXowID0gc3Zlb3Jf dTMyX3ogKHAwLCB6MCwgejEpLAorCQl6MCA9IHN2ZW9yX3ogKHAwLCB6MCwg ejEpKQorCisvKgorKiogZW9yX3UzMl96X3RpZWQyOgorKioJbW92cHJmeAl6 MVwucywgcDAveiwgejFcLnMKKyoqCWVvcgl6MVwucywgcDAvbSwgejFcLnMs IHowXC5zCisqKglyZXQKKyovCitURVNUX1VOSUZPUk1fWiAoZW9yX3UzMl96 X3RpZWQyLCBzdnVpbnQzMl90LAorCQl6MSA9IHN2ZW9yX3UzMl96IChwMCwg ejAsIHoxKSwKKwkJejEgPSBzdmVvcl96IChwMCwgejAsIHoxKSkKKworLyoK KyoqIGVvcl91MzJfel91bnRpZWQ6CisqKgltb3ZwcmZ4CXowXC5zLCBwMC96 LCB6MVwucworKioJZW9yCXowXC5zLCBwMC9tLCB6MFwucywgejJcLnMKKyoq CXJldAorKi8KK1RFU1RfVU5JRk9STV9aIChlb3JfdTMyX3pfdW50aWVkLCBz dnVpbnQzMl90LAorCQl6MCA9IHN2ZW9yX3UzMl96IChwMCwgejEsIHoyKSwK KwkJejAgPSBzdmVvcl96IChwMCwgejEsIHoyKSkKKworLyoKKyoqIGVvcl93 MF91MzJfel90aWVkMToKKyoqCW1vdgkoelswLTldK1wucyksIHcwCisqKglt b3ZwcmZ4CXowXC5zLCBwMC96LCB6MFwucworKioJZW9yCXowXC5zLCBwMC9t LCB6MFwucywgXDEKKyoqCXJldAorKi8KK1RFU1RfVU5JRk9STV9aUyAoZW9y X3cwX3UzMl96X3RpZWQxLCBzdnVpbnQzMl90LCB1aW50MzJfdCwKKwkJIHow ID0gc3Zlb3Jfbl91MzJfeiAocDAsIHowLCB4MCksCisJCSB6MCA9IHN2ZW9y X3ogKHAwLCB6MCwgeDApKQorCisvKgorKiogZW9yX3cwX3UzMl96X3VudGll ZDoKKyoqCW1vdgkoelswLTldK1wucyksIHcwCisqKgltb3ZwcmZ4CXowXC5z LCBwMC96LCB6MVwucworKioJZW9yCXowXC5zLCBwMC9tLCB6MFwucywgXDEK KyoqCXJldAorKi8KK1RFU1RfVU5JRk9STV9aUyAoZW9yX3cwX3UzMl96X3Vu dGllZCwgc3Z1aW50MzJfdCwgdWludDMyX3QsCisJCSB6MCA9IHN2ZW9yX25f dTMyX3ogKHAwLCB6MSwgeDApLAorCQkgejAgPSBzdmVvcl96IChwMCwgejEs IHgwKSkKKworLyoKKyoqIGVvcl9zMF91MzJfel90aWVkMToKKyoqCW1vdgko elswLTldK1wucyksIHMwCisqKgltb3ZwcmZ4CXoxXC5zLCBwMC96LCB6MVwu cworKioJZW9yCXoxXC5zLCBwMC9tLCB6MVwucywgXDEKKyoqCXJldAorKi8K K1RFU1RfVU5JRk9STV9aUyAoZW9yX3MwX3UzMl96X3RpZWQxLCBzdnVpbnQz Ml90LCB1aW50MzJfdCwKKwkJIHoxID0gc3Zlb3Jfbl91MzJfeiAocDAsIHox LCBkMCksCisJCSB6MSA9IHN2ZW9yX3ogKHAwLCB6MSwgZDApKQorCisvKgor KiogZW9yX3MwX3UzMl96X3VudGllZDoKKyoqCW1vdgkoelswLTldK1wucyks IHMwCisqKgltb3ZwcmZ4CXoxXC5zLCBwMC96LCB6MlwucworKioJZW9yCXox XC5zLCBwMC9tLCB6MVwucywgXDEKKyoqCXJldAorKi8KK1RFU1RfVU5JRk9S TV9aUyAoZW9yX3MwX3UzMl96X3VudGllZCwgc3Z1aW50MzJfdCwgdWludDMy X3QsCisJCSB6MSA9IHN2ZW9yX25fdTMyX3ogKHAwLCB6MiwgZDApLAorCQkg ejEgPSBzdmVvcl96IChwMCwgejIsIGQwKSkKKworLyoKKyoqIGVvcl91MzJf eF90aWVkMToKKyoqCWVvcgl6MFwuZCwgejBcLmQsIHoxXC5kCisqKglyZXQK KyovCitURVNUX1VOSUZPUk1fWiAoZW9yX3UzMl94X3RpZWQxLCBzdnVpbnQz Ml90LAorCQl6MCA9IHN2ZW9yX3UzMl94IChwMCwgejAsIHoxKSwKKwkJejAg PSBzdmVvcl94IChwMCwgejAsIHoxKSkKKworLyoKKyoqIGVvcl91MzJfeF90 aWVkMjoKKyoqCWVvcgl6MVwuZCwgejBcLmQsIHoxXC5kCisqKglyZXQKKyov CitURVNUX1VOSUZPUk1fWiAoZW9yX3UzMl94X3RpZWQyLCBzdnVpbnQzMl90 LAorCQl6MSA9IHN2ZW9yX3UzMl94IChwMCwgejAsIHoxKSwKKwkJejEgPSBz dmVvcl94IChwMCwgejAsIHoxKSkKKworLyoKKyoqIGVvcl91MzJfeF91bnRp ZWQ6CisqKgllb3IJejJcLmQsIHowXC5kLCB6MVwuZAorKioJcmV0CisqLwor VEVTVF9VTklGT1JNX1ogKGVvcl91MzJfeF91bnRpZWQsIHN2dWludDMyX3Qs CisJCXoyID0gc3Zlb3JfdTMyX3ggKHAwLCB6MCwgejEpLAorCQl6MiA9IHN2 ZW9yX3ggKHAwLCB6MCwgejEpKQorCisvKgorKiogZW9yX3cwX3UzMl94X3Rp ZWQxOgorKioJbW92CSh6WzAtOV0rKVwucywgdzAKKyoqCWVvcgl6MFwuZCwg ejBcLmQsIFwxXC5kCisqKglyZXQKKyovCitURVNUX1VOSUZPUk1fWlMgKGVv cl93MF91MzJfeF90aWVkMSwgc3Z1aW50MzJfdCwgdWludDMyX3QsCisJCSB6 MCA9IHN2ZW9yX25fdTMyX3ggKHAwLCB6MCwgeDApLAorCQkgejAgPSBzdmVv cl94IChwMCwgejAsIHgwKSkKKworLyoKKyoqIGVvcl93MF91MzJfeF91bnRp ZWQ6CisqKgltb3YJejFcLnMsIHcwCisqKgllb3IJejFcLmQsIHowXC5kLCB6 MVwuZAorKioJcmV0CisqLworVEVTVF9VTklGT1JNX1pTIChlb3JfdzBfdTMy X3hfdW50aWVkLCBzdnVpbnQzMl90LCB1aW50MzJfdCwKKwkJIHoxID0gc3Zl b3Jfbl91MzJfeCAocDAsIHowLCB4MCksCisJCSB6MSA9IHN2ZW9yX3ggKHAw LCB6MCwgeDApKQorCisvKgorKiogZW9yX3MwX3UzMl94X3RpZWQxOgorKioJ bW92CSh6WzAtOV0rKVwucywgczAKKyoqCWVvcgl6MVwuZCwgejFcLmQsIFwx XC5kCisqKglyZXQKKyovCitURVNUX1VOSUZPUk1fWlMgKGVvcl9zMF91MzJf eF90aWVkMSwgc3Z1aW50MzJfdCwgdWludDMyX3QsCisJCSB6MSA9IHN2ZW9y X25fdTMyX3ggKHAwLCB6MSwgZDApLAorCQkgejEgPSBzdmVvcl94IChwMCwg ejEsIGQwKSkKKworLyoKKyoqIGVvcl9zMF91MzJfeF91bnRpZWQ6CisqKglt b3YJKHpbMC05XSspXC5zLCBzMAorKioJZW9yCXoyXC5kLCB6MVwuZCwgXDFc LmQKKyoqCXJldAorKi8KK1RFU1RfVU5JRk9STV9aUyAoZW9yX3MwX3UzMl94 X3VudGllZCwgc3Z1aW50MzJfdCwgdWludDMyX3QsCisJCSB6MiA9IHN2ZW9y X25fdTMyX3ggKHAwLCB6MSwgZDApLAorCQkgejIgPSBzdmVvcl94IChwMCwg ejEsIGQwKSkKKworLyoKKyoqIGVvcl8xX3UzMl94X3RpZWQxOgorKioJZW9y CXowXC5zLCB6MFwucywgIzB4MQorKioJcmV0CisqLworVEVTVF9VTklGT1JN X1ogKGVvcl8xX3UzMl94X3RpZWQxLCBzdnVpbnQzMl90LAorCQl6MCA9IHN2 ZW9yX25fdTMyX3ggKHAwLCB6MCwgMSksCisJCXowID0gc3Zlb3JfeCAocDAs IHowLCAxKSkKKworLyoKKyoqIGVvcl8xX3UzMl94X3VudGllZDoKKyoqCW1v dnByZngJejAsIHoxCisqKgllb3IJejBcLnMsIHowXC5zLCAjMHgxCisqKgly ZXQKKyovCitURVNUX1VOSUZPUk1fWiAoZW9yXzFfdTMyX3hfdW50aWVkLCBz dnVpbnQzMl90LAorCQl6MCA9IHN2ZW9yX25fdTMyX3ggKHAwLCB6MSwgMSks CisJCXowID0gc3Zlb3JfeCAocDAsIHoxLCAxKSkKKworLyoKKyoqIGVvcl8x MjdfdTMyX3g6CisqKgllb3IJejBcLnMsIHowXC5zLCAjMHg3ZgorKioJcmV0 CisqLworVEVTVF9VTklGT1JNX1ogKGVvcl8xMjdfdTMyX3gsIHN2dWludDMy X3QsCisJCXowID0gc3Zlb3Jfbl91MzJfeCAocDAsIHowLCAxMjcpLAorCQl6 MCA9IHN2ZW9yX3ggKHAwLCB6MCwgMTI3KSkKKworLyoKKyoqIGVvcl8xMjhf dTMyX3g6CisqKgllb3IJejBcLnMsIHowXC5zLCAjMHg4MAorKioJcmV0Cisq LworVEVTVF9VTklGT1JNX1ogKGVvcl8xMjhfdTMyX3gsIHN2dWludDMyX3Qs CisJCXowID0gc3Zlb3Jfbl91MzJfeCAocDAsIHowLCAxMjgpLAorCQl6MCA9 IHN2ZW9yX3ggKHAwLCB6MCwgMTI4KSkKKworLyoKKyoqIGVvcl8yNTVfdTMy X3g6CisqKgllb3IJejBcLnMsIHowXC5zLCAjMHhmZgorKioJcmV0CisqLwor VEVTVF9VTklGT1JNX1ogKGVvcl8yNTVfdTMyX3gsIHN2dWludDMyX3QsCisJ CXowID0gc3Zlb3Jfbl91MzJfeCAocDAsIHowLCAyNTUpLAorCQl6MCA9IHN2 ZW9yX3ggKHAwLCB6MCwgMjU1KSkKKworLyoKKyoqIGVvcl8yNTZfdTMyX3g6 CisqKgllb3IJejBcLnMsIHowXC5zLCAjMHgxMDAKKyoqCXJldAorKi8KK1RF U1RfVU5JRk9STV9aIChlb3JfMjU2X3UzMl94LCBzdnVpbnQzMl90LAorCQl6 MCA9IHN2ZW9yX25fdTMyX3ggKHAwLCB6MCwgMjU2KSwKKwkJejAgPSBzdmVv cl94IChwMCwgejAsIDI1NikpCisKKy8qIFRPRE86IEJhZCBjb2RlIGFuZCBu ZWVkcyBmaXhpbmcuICAqLworVEVTVF9VTklGT1JNX1ogKGVvcl8yNTdfdTMy X3gsIHN2dWludDMyX3QsCisJCXowID0gc3Zlb3Jfbl91MzJfeCAocDAsIHow LCAyNTcpLAorCQl6MCA9IHN2ZW9yX3ggKHAwLCB6MCwgMjU3KSkKKworLyoK KyoqIGVvcl81MTJfdTMyX3g6CisqKgllb3IJejBcLnMsIHowXC5zLCAjMHgy MDAKKyoqCXJldAorKi8KK1RFU1RfVU5JRk9STV9aIChlb3JfNTEyX3UzMl94 LCBzdnVpbnQzMl90LAorCQl6MCA9IHN2ZW9yX25fdTMyX3ggKHAwLCB6MCwg NTEyKSwKKwkJejAgPSBzdmVvcl94IChwMCwgejAsIDUxMikpCisKKy8qCisq KiBlb3JfNjUyODBfdTMyX3g6CisqKgllb3IJejBcLnMsIHowXC5zLCAjMHhm ZjAwCisqKglyZXQKKyovCitURVNUX1VOSUZPUk1fWiAoZW9yXzY1MjgwX3Uz Ml94LCBzdnVpbnQzMl90LAorCQl6MCA9IHN2ZW9yX25fdTMyX3ggKHAwLCB6 MCwgMHhmZjAwKSwKKwkJejAgPSBzdmVvcl94IChwMCwgejAsIDB4ZmYwMCkp CisKKy8qCisqKiBlb3JfbTEyN191MzJfeDoKKyoqCWVvcgl6MFwucywgejBc LnMsICMweGZmZmZmZjgxCisqKglyZXQKKyovCitURVNUX1VOSUZPUk1fWiAo ZW9yX20xMjdfdTMyX3gsIHN2dWludDMyX3QsCisJCXowID0gc3Zlb3Jfbl91 MzJfeCAocDAsIHowLCAtMTI3KSwKKwkJejAgPSBzdmVvcl94IChwMCwgejAs IC0xMjcpKQorCisvKgorKiogZW9yX20xMjhfdTMyX3g6CisqKgllb3IJejBc LnMsIHowXC5zLCAjMHhmZmZmZmY4MAorKioJcmV0CisqLworVEVTVF9VTklG T1JNX1ogKGVvcl9tMTI4X3UzMl94LCBzdnVpbnQzMl90LAorCQl6MCA9IHN2 ZW9yX25fdTMyX3ggKHAwLCB6MCwgLTEyOCksCisJCXowID0gc3Zlb3JfeCAo cDAsIHowLCAtMTI4KSkKKworLyoKKyoqIGVvcl9tMjU1X3UzMl94OgorKioJ ZW9yCXowXC5zLCB6MFwucywgIzB4ZmZmZmZmMDEKKyoqCXJldAorKi8KK1RF U1RfVU5JRk9STV9aIChlb3JfbTI1NV91MzJfeCwgc3Z1aW50MzJfdCwKKwkJ ejAgPSBzdmVvcl9uX3UzMl94IChwMCwgejAsIC0yNTUpLAorCQl6MCA9IHN2 ZW9yX3ggKHAwLCB6MCwgLTI1NSkpCisKKy8qCisqKiBlb3JfbTI1Nl91MzJf eDoKKyoqCWVvcgl6MFwucywgejBcLnMsICMweGZmZmZmZjAwCisqKglyZXQK KyovCitURVNUX1VOSUZPUk1fWiAoZW9yX20yNTZfdTMyX3gsIHN2dWludDMy X3QsCisJCXowID0gc3Zlb3Jfbl91MzJfeCAocDAsIHowLCAtMjU2KSwKKwkJ ejAgPSBzdmVvcl94IChwMCwgejAsIC0yNTYpKQorCisvKgorKiogZW9yX20y NTdfdTMyX3g6CisqKgllb3IJejBcLnMsIHowXC5zLCAjMHhmZmZmZmVmZgor KioJcmV0CisqLworVEVTVF9VTklGT1JNX1ogKGVvcl9tMjU3X3UzMl94LCBz dnVpbnQzMl90LAorCQl6MCA9IHN2ZW9yX25fdTMyX3ggKHAwLCB6MCwgLTI1 NyksCisJCXowID0gc3Zlb3JfeCAocDAsIHowLCAtMjU3KSkKKworLyoKKyoq IGVvcl9tNTEyX3UzMl94OgorKioJZW9yCXowXC5zLCB6MFwucywgIzB4ZmZm ZmZlMDAKKyoqCXJldAorKi8KK1RFU1RfVU5JRk9STV9aIChlb3JfbTUxMl91 MzJfeCwgc3Z1aW50MzJfdCwKKwkJejAgPSBzdmVvcl9uX3UzMl94IChwMCwg ejAsIC01MTIpLAorCQl6MCA9IHN2ZW9yX3ggKHAwLCB6MCwgLTUxMikpCisK Ky8qCisqKiBlb3JfbTMyNzY4X3UzMl94OgorKioJZW9yCXowXC5zLCB6MFwu cywgIzB4ZmZmZjgwMDAKKyoqCXJldAorKi8KK1RFU1RfVU5JRk9STV9aIChl b3JfbTMyNzY4X3UzMl94LCBzdnVpbnQzMl90LAorCQl6MCA9IHN2ZW9yX25f dTMyX3ggKHAwLCB6MCwgLTB4ODAwMCksCisJCXowID0gc3Zlb3JfeCAocDAs IHowLCAtMHg4MDAwKSkKKworLyoKKyoqIGVvcl81X3UzMl94OgorKioJbW92 CSh6WzAtOV0rKVwucywgIzUKKyoqCWVvcgl6MFwuZCwgejBcLmQsIFwxXC5k CisqKglyZXQKKyovCitURVNUX1VOSUZPUk1fWiAoZW9yXzVfdTMyX3gsIHN2 dWludDMyX3QsCisJCXowID0gc3Zlb3Jfbl91MzJfeCAocDAsIHowLCA1KSwK KwkJejAgPSBzdmVvcl94IChwMCwgejAsIDUpKQpkaWZmIC0tZ2l0IGEvZ2Nj L3Rlc3RzdWl0ZS9nY2MudGFyZ2V0L2FhcmNoNjQvc3ZlLWFjbGUvYXNtL2Vv cl91NjQuYyBiL2djYy90ZXN0c3VpdGUvZ2NjLnRhcmdldC9hYXJjaDY0L3N2 ZS1hY2xlL2FzbS9lb3JfdTY0LmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k ZXggMDAwMDAwMC4uMjFkN2I2YQotLS0gL2Rldi9udWxsCisrKyBiL2djYy90 ZXN0c3VpdGUvZ2NjLnRhcmdldC9hYXJjaDY0L3N2ZS1hY2xlL2FzbS9lb3Jf dTY0LmMKQEAgLTAsMCArMSwzOTMgQEAKKy8qIHsgZGctZG8gY29tcGlsZSB9 ICovCisvKiB7IGRnLWZpbmFsIHsgY2hlY2stZnVuY3Rpb24tYm9kaWVzICIq KiIgIiIgIi1EQ0hFQ0tfQVNNIiB9IH0gKi8KKworI2luY2x1ZGUgInRlc3Rf c3ZlX2FjbGUuaCIKKworLyoKKyoqIGVvcl91NjRfbV90aWVkMToKKyoqCWVv cgl6MFwuZCwgcDAvbSwgejBcLmQsIHoxXC5kCisqKglyZXQKKyovCitURVNU X1VOSUZPUk1fWiAoZW9yX3U2NF9tX3RpZWQxLCBzdnVpbnQ2NF90LAorCQl6 MCA9IHN2ZW9yX3U2NF9tIChwMCwgejAsIHoxKSwKKwkJejAgPSBzdmVvcl9t IChwMCwgejAsIHoxKSkKKworLyogQmFkIFJBIGNob2ljZTogbm8gcHJlZmVy cmVkIG91dHB1dCBzZXF1ZW5jZS4gICovCitURVNUX1VOSUZPUk1fWiAoZW9y X3U2NF9tX3RpZWQyLCBzdnVpbnQ2NF90LAorCQl6MSA9IHN2ZW9yX3U2NF9t IChwMCwgejAsIHoxKSwKKwkJejEgPSBzdmVvcl9tIChwMCwgejAsIHoxKSkK KworLyoKKyoqIGVvcl91NjRfbV91bnRpZWQ6CisqKgltb3ZwcmZ4CXowLCB6 MQorKioJZW9yCXowXC5kLCBwMC9tLCB6MFwuZCwgejJcLmQKKyoqCXJldAor Ki8KK1RFU1RfVU5JRk9STV9aIChlb3JfdTY0X21fdW50aWVkLCBzdnVpbnQ2 NF90LAorCQl6MCA9IHN2ZW9yX3U2NF9tIChwMCwgejEsIHoyKSwKKwkJejAg PSBzdmVvcl9tIChwMCwgejEsIHoyKSkKKworLyoKKyoqIGVvcl94MF91NjRf bV90aWVkMToKKyoqCW1vdgkoelswLTldK1wuZCksIHgwCisqKgllb3IJejBc LmQsIHAwL20sIHowXC5kLCBcMQorKioJcmV0CisqLworVEVTVF9VTklGT1JN X1pTIChlb3JfeDBfdTY0X21fdGllZDEsIHN2dWludDY0X3QsIHVpbnQ2NF90 LAorCQkgejAgPSBzdmVvcl9uX3U2NF9tIChwMCwgejAsIHgwKSwKKwkJIHow ID0gc3Zlb3JfbSAocDAsIHowLCB4MCkpCisKKy8qCisqKiBlb3JfeDBfdTY0 X21fdW50aWVkOgorKioJbW92CSh6WzAtOV0rXC5kKSwgeDAKKyoqCW1vdnBy ZngJejAsIHoxCisqKgllb3IJejBcLmQsIHAwL20sIHowXC5kLCBcMQorKioJ cmV0CisqLworVEVTVF9VTklGT1JNX1pTIChlb3JfeDBfdTY0X21fdW50aWVk LCBzdnVpbnQ2NF90LCB1aW50NjRfdCwKKwkJIHowID0gc3Zlb3Jfbl91NjRf bSAocDAsIHoxLCB4MCksCisJCSB6MCA9IHN2ZW9yX20gKHAwLCB6MSwgeDAp KQorCisvKgorKiogZW9yX2QwX3U2NF9tX3RpZWQxOgorKioJbW92CSh6WzAt OV0rXC5kKSwgZDAKKyoqCWVvcgl6MVwuZCwgcDAvbSwgejFcLmQsIFwxCisq KglyZXQKKyovCitURVNUX1VOSUZPUk1fWlMgKGVvcl9kMF91NjRfbV90aWVk MSwgc3Z1aW50NjRfdCwgdWludDY0X3QsCisJCSB6MSA9IHN2ZW9yX25fdTY0 X20gKHAwLCB6MSwgZDApLAorCQkgejEgPSBzdmVvcl9tIChwMCwgejEsIGQw KSkKKworLyoKKyoqIGVvcl9kMF91NjRfbV91bnRpZWQ6CisqKgltb3YJKHpb MC05XStcLmQpLCBkMAorKioJbW92cHJmeAl6MSwgejIKKyoqCWVvcgl6MVwu ZCwgcDAvbSwgejFcLmQsIFwxCisqKglyZXQKKyovCitURVNUX1VOSUZPUk1f WlMgKGVvcl9kMF91NjRfbV91bnRpZWQsIHN2dWludDY0X3QsIHVpbnQ2NF90 LAorCQkgejEgPSBzdmVvcl9uX3U2NF9tIChwMCwgejIsIGQwKSwKKwkJIHox ID0gc3Zlb3JfbSAocDAsIHoyLCBkMCkpCisKKy8qCisqKiBlb3JfMV91NjRf bV90aWVkMToKKyoqCW1vdgkoelswLTldK1wuZCksICMxCisqKgllb3IJejBc LmQsIHAwL20sIHowXC5kLCBcMQorKioJcmV0CisqLworVEVTVF9VTklGT1JN X1ogKGVvcl8xX3U2NF9tX3RpZWQxLCBzdnVpbnQ2NF90LAorCQl6MCA9IHN2 ZW9yX25fdTY0X20gKHAwLCB6MCwgMSksCisJCXowID0gc3Zlb3JfbSAocDAs IHowLCAxKSkKKworLyoKKyoqIGVvcl8xX3U2NF9tX3VudGllZDoKKyoqCW1v dgkoelswLTldK1wuZCksICMxCisqKgltb3ZwcmZ4CXowLCB6MQorKioJZW9y CXowXC5kLCBwMC9tLCB6MFwuZCwgXDEKKyoqCXJldAorKi8KK1RFU1RfVU5J Rk9STV9aIChlb3JfMV91NjRfbV91bnRpZWQsIHN2dWludDY0X3QsCisJCXow ID0gc3Zlb3Jfbl91NjRfbSAocDAsIHoxLCAxKSwKKwkJejAgPSBzdmVvcl9t IChwMCwgejEsIDEpKQorCisvKgorKiogZW9yX20yX3U2NF9tOgorKioJbW92 CSh6WzAtOV0rXC5kKSwgIy0yCisqKgllb3IJejBcLmQsIHAwL20sIHowXC5k LCBcMQorKioJcmV0CisqLworVEVTVF9VTklGT1JNX1ogKGVvcl9tMl91NjRf bSwgc3Z1aW50NjRfdCwKKwkJejAgPSBzdmVvcl9uX3U2NF9tIChwMCwgejAs IC0yKSwKKwkJejAgPSBzdmVvcl9tIChwMCwgejAsIC0yKSkKKworLyoKKyoq IGVvcl91NjRfel90aWVkMToKKyoqCW1vdnByZngJejBcLmQsIHAwL3osIHow XC5kCisqKgllb3IJejBcLmQsIHAwL20sIHowXC5kLCB6MVwuZAorKioJcmV0 CisqLworVEVTVF9VTklGT1JNX1ogKGVvcl91NjRfel90aWVkMSwgc3Z1aW50 NjRfdCwKKwkJejAgPSBzdmVvcl91NjRfeiAocDAsIHowLCB6MSksCisJCXow ID0gc3Zlb3JfeiAocDAsIHowLCB6MSkpCisKKy8qCisqKiBlb3JfdTY0X3pf dGllZDI6CisqKgltb3ZwcmZ4CXoxXC5kLCBwMC96LCB6MVwuZAorKioJZW9y CXoxXC5kLCBwMC9tLCB6MVwuZCwgejBcLmQKKyoqCXJldAorKi8KK1RFU1Rf VU5JRk9STV9aIChlb3JfdTY0X3pfdGllZDIsIHN2dWludDY0X3QsCisJCXox ID0gc3Zlb3JfdTY0X3ogKHAwLCB6MCwgejEpLAorCQl6MSA9IHN2ZW9yX3og KHAwLCB6MCwgejEpKQorCisvKgorKiogZW9yX3U2NF96X3VudGllZDoKKyoq CW1vdnByZngJejBcLmQsIHAwL3osIHoxXC5kCisqKgllb3IJejBcLmQsIHAw L20sIHowXC5kLCB6MlwuZAorKioJcmV0CisqLworVEVTVF9VTklGT1JNX1og KGVvcl91NjRfel91bnRpZWQsIHN2dWludDY0X3QsCisJCXowID0gc3Zlb3Jf dTY0X3ogKHAwLCB6MSwgejIpLAorCQl6MCA9IHN2ZW9yX3ogKHAwLCB6MSwg ejIpKQorCisvKgorKiogZW9yX3gwX3U2NF96X3RpZWQxOgorKioJbW92CSh6 WzAtOV0rXC5kKSwgeDAKKyoqCW1vdnByZngJejBcLmQsIHAwL3osIHowXC5k CisqKgllb3IJejBcLmQsIHAwL20sIHowXC5kLCBcMQorKioJcmV0CisqLwor VEVTVF9VTklGT1JNX1pTIChlb3JfeDBfdTY0X3pfdGllZDEsIHN2dWludDY0 X3QsIHVpbnQ2NF90LAorCQkgejAgPSBzdmVvcl9uX3U2NF96IChwMCwgejAs IHgwKSwKKwkJIHowID0gc3Zlb3JfeiAocDAsIHowLCB4MCkpCisKKy8qCisq KiBlb3JfeDBfdTY0X3pfdW50aWVkOgorKioJbW92CSh6WzAtOV0rXC5kKSwg eDAKKyoqCW1vdnByZngJejBcLmQsIHAwL3osIHoxXC5kCisqKgllb3IJejBc LmQsIHAwL20sIHowXC5kLCBcMQorKioJcmV0CisqLworVEVTVF9VTklGT1JN X1pTIChlb3JfeDBfdTY0X3pfdW50aWVkLCBzdnVpbnQ2NF90LCB1aW50NjRf dCwKKwkJIHowID0gc3Zlb3Jfbl91NjRfeiAocDAsIHoxLCB4MCksCisJCSB6 MCA9IHN2ZW9yX3ogKHAwLCB6MSwgeDApKQorCisvKgorKiogZW9yX2QwX3U2 NF96X3RpZWQxOgorKioJbW92CSh6WzAtOV0rXC5kKSwgZDAKKyoqCW1vdnBy ZngJejFcLmQsIHAwL3osIHoxXC5kCisqKgllb3IJejFcLmQsIHAwL20sIHox XC5kLCBcMQorKioJcmV0CisqLworVEVTVF9VTklGT1JNX1pTIChlb3JfZDBf dTY0X3pfdGllZDEsIHN2dWludDY0X3QsIHVpbnQ2NF90LAorCQkgejEgPSBz dmVvcl9uX3U2NF96IChwMCwgejEsIGQwKSwKKwkJIHoxID0gc3Zlb3JfeiAo cDAsIHoxLCBkMCkpCisKKy8qCisqKiBlb3JfZDBfdTY0X3pfdW50aWVkOgor KioJbW92CSh6WzAtOV0rXC5kKSwgZDAKKyoqCW1vdnByZngJejFcLmQsIHAw L3osIHoyXC5kCisqKgllb3IJejFcLmQsIHAwL20sIHoxXC5kLCBcMQorKioJ cmV0CisqLworVEVTVF9VTklGT1JNX1pTIChlb3JfZDBfdTY0X3pfdW50aWVk LCBzdnVpbnQ2NF90LCB1aW50NjRfdCwKKwkJIHoxID0gc3Zlb3Jfbl91NjRf eiAocDAsIHoyLCBkMCksCisJCSB6MSA9IHN2ZW9yX3ogKHAwLCB6MiwgZDAp KQorCisvKgorKiogZW9yX3U2NF94X3RpZWQxOgorKioJZW9yCXowXC5kLCB6 MFwuZCwgejFcLmQKKyoqCXJldAorKi8KK1RFU1RfVU5JRk9STV9aIChlb3Jf dTY0X3hfdGllZDEsIHN2dWludDY0X3QsCisJCXowID0gc3Zlb3JfdTY0X3gg KHAwLCB6MCwgejEpLAorCQl6MCA9IHN2ZW9yX3ggKHAwLCB6MCwgejEpKQor CisvKgorKiogZW9yX3U2NF94X3RpZWQyOgorKioJZW9yCXoxXC5kLCB6MFwu ZCwgejFcLmQKKyoqCXJldAorKi8KK1RFU1RfVU5JRk9STV9aIChlb3JfdTY0 X3hfdGllZDIsIHN2dWludDY0X3QsCisJCXoxID0gc3Zlb3JfdTY0X3ggKHAw LCB6MCwgejEpLAorCQl6MSA9IHN2ZW9yX3ggKHAwLCB6MCwgejEpKQorCisv KgorKiogZW9yX3U2NF94X3VudGllZDoKKyoqCWVvcgl6MlwuZCwgejBcLmQs IHoxXC5kCisqKglyZXQKKyovCitURVNUX1VOSUZPUk1fWiAoZW9yX3U2NF94 X3VudGllZCwgc3Z1aW50NjRfdCwKKwkJejIgPSBzdmVvcl91NjRfeCAocDAs IHowLCB6MSksCisJCXoyID0gc3Zlb3JfeCAocDAsIHowLCB6MSkpCisKKy8q CisqKiBlb3JfeDBfdTY0X3hfdGllZDE6CisqKgltb3YJKHpbMC05XSspXC5k LCB4MAorKioJZW9yCXowXC5kLCB6MFwuZCwgXDFcLmQKKyoqCXJldAorKi8K K1RFU1RfVU5JRk9STV9aUyAoZW9yX3gwX3U2NF94X3RpZWQxLCBzdnVpbnQ2 NF90LCB1aW50NjRfdCwKKwkJIHowID0gc3Zlb3Jfbl91NjRfeCAocDAsIHow LCB4MCksCisJCSB6MCA9IHN2ZW9yX3ggKHAwLCB6MCwgeDApKQorCisvKgor KiogZW9yX3gwX3U2NF94X3VudGllZDoKKyoqCW1vdgl6MVwuZCwgeDAKKyoq CWVvcgl6MVwuZCwgejBcLmQsIHoxXC5kCisqKglyZXQKKyovCitURVNUX1VO SUZPUk1fWlMgKGVvcl94MF91NjRfeF91bnRpZWQsIHN2dWludDY0X3QsIHVp bnQ2NF90LAorCQkgejEgPSBzdmVvcl9uX3U2NF94IChwMCwgejAsIHgwKSwK KwkJIHoxID0gc3Zlb3JfeCAocDAsIHowLCB4MCkpCisKKy8qCisqKiBlb3Jf ZDBfdTY0X3hfdGllZDE6CisqKgltb3YJKHpbMC05XSspXC5kLCBkMAorKioJ ZW9yCXoxXC5kLCB6MVwuZCwgXDFcLmQKKyoqCXJldAorKi8KK1RFU1RfVU5J Rk9STV9aUyAoZW9yX2QwX3U2NF94X3RpZWQxLCBzdnVpbnQ2NF90LCB1aW50 NjRfdCwKKwkJIHoxID0gc3Zlb3Jfbl91NjRfeCAocDAsIHoxLCBkMCksCisJ CSB6MSA9IHN2ZW9yX3ggKHAwLCB6MSwgZDApKQorCisvKgorKiogZW9yX2Qw X3U2NF94X3VudGllZDoKKyoqCW1vdgkoelswLTldKylcLmQsIGQwCisqKgll b3IJejJcLmQsIHoxXC5kLCBcMVwuZAorKioJcmV0CisqLworVEVTVF9VTklG T1JNX1pTIChlb3JfZDBfdTY0X3hfdW50aWVkLCBzdnVpbnQ2NF90LCB1aW50 NjRfdCwKKwkJIHoyID0gc3Zlb3Jfbl91NjRfeCAocDAsIHoxLCBkMCksCisJ CSB6MiA9IHN2ZW9yX3ggKHAwLCB6MSwgZDApKQorCisvKgorKiogZW9yXzFf dTY0X3hfdGllZDE6CisqKgllb3IJejBcLmQsIHowXC5kLCAjMHgxCisqKgly ZXQKKyovCitURVNUX1VOSUZPUk1fWiAoZW9yXzFfdTY0X3hfdGllZDEsIHN2 dWludDY0X3QsCisJCXowID0gc3Zlb3Jfbl91NjRfeCAocDAsIHowLCAxKSwK KwkJejAgPSBzdmVvcl94IChwMCwgejAsIDEpKQorCisvKgorKiogZW9yXzFf dTY0X3hfdW50aWVkOgorKioJbW92cHJmeAl6MCwgejEKKyoqCWVvcgl6MFwu ZCwgejBcLmQsICMweDEKKyoqCXJldAorKi8KK1RFU1RfVU5JRk9STV9aIChl b3JfMV91NjRfeF91bnRpZWQsIHN2dWludDY0X3QsCisJCXowID0gc3Zlb3Jf bl91NjRfeCAocDAsIHoxLCAxKSwKKwkJejAgPSBzdmVvcl94IChwMCwgejEs IDEpKQorCisvKgorKiogZW9yXzEyN191NjRfeDoKKyoqCWVvcgl6MFwuZCwg ejBcLmQsICMweDdmCisqKglyZXQKKyovCitURVNUX1VOSUZPUk1fWiAoZW9y XzEyN191NjRfeCwgc3Z1aW50NjRfdCwKKwkJejAgPSBzdmVvcl9uX3U2NF94 IChwMCwgejAsIDEyNyksCisJCXowID0gc3Zlb3JfeCAocDAsIHowLCAxMjcp KQorCisvKgorKiogZW9yXzEyOF91NjRfeDoKKyoqCWVvcgl6MFwuZCwgejBc LmQsICMweDgwCisqKglyZXQKKyovCitURVNUX1VOSUZPUk1fWiAoZW9yXzEy OF91NjRfeCwgc3Z1aW50NjRfdCwKKwkJejAgPSBzdmVvcl9uX3U2NF94IChw MCwgejAsIDEyOCksCisJCXowID0gc3Zlb3JfeCAocDAsIHowLCAxMjgpKQor CisvKgorKiogZW9yXzI1NV91NjRfeDoKKyoqCWVvcgl6MFwuZCwgejBcLmQs ICMweGZmCisqKglyZXQKKyovCitURVNUX1VOSUZPUk1fWiAoZW9yXzI1NV91 NjRfeCwgc3Z1aW50NjRfdCwKKwkJejAgPSBzdmVvcl9uX3U2NF94IChwMCwg ejAsIDI1NSksCisJCXowID0gc3Zlb3JfeCAocDAsIHowLCAyNTUpKQorCisv KgorKiogZW9yXzI1Nl91NjRfeDoKKyoqCWVvcgl6MFwuZCwgejBcLmQsICMw eDEwMAorKioJcmV0CisqLworVEVTVF9VTklGT1JNX1ogKGVvcl8yNTZfdTY0 X3gsIHN2dWludDY0X3QsCisJCXowID0gc3Zlb3Jfbl91NjRfeCAocDAsIHow LCAyNTYpLAorCQl6MCA9IHN2ZW9yX3ggKHAwLCB6MCwgMjU2KSkKKworLyog VE9ETzogQmFkIGNvZGUgYW5kIG5lZWRzIGZpeGluZy4gICovCitURVNUX1VO SUZPUk1fWiAoZW9yXzI1N191NjRfeCwgc3Z1aW50NjRfdCwKKwkJejAgPSBz dmVvcl9uX3U2NF94IChwMCwgejAsIDI1NyksCisJCXowID0gc3Zlb3JfeCAo cDAsIHowLCAyNTcpKQorCisvKgorKiogZW9yXzUxMl91NjRfeDoKKyoqCWVv cgl6MFwuZCwgejBcLmQsICMweDIwMAorKioJcmV0CisqLworVEVTVF9VTklG T1JNX1ogKGVvcl81MTJfdTY0X3gsIHN2dWludDY0X3QsCisJCXowID0gc3Zl b3Jfbl91NjRfeCAocDAsIHowLCA1MTIpLAorCQl6MCA9IHN2ZW9yX3ggKHAw LCB6MCwgNTEyKSkKKworLyoKKyoqIGVvcl82NTI4MF91NjRfeDoKKyoqCWVv cgl6MFwuZCwgejBcLmQsICMweGZmMDAKKyoqCXJldAorKi8KK1RFU1RfVU5J Rk9STV9aIChlb3JfNjUyODBfdTY0X3gsIHN2dWludDY0X3QsCisJCXowID0g c3Zlb3Jfbl91NjRfeCAocDAsIHowLCAweGZmMDApLAorCQl6MCA9IHN2ZW9y X3ggKHAwLCB6MCwgMHhmZjAwKSkKKworLyoKKyoqIGVvcl9tMTI3X3U2NF94 OgorKioJZW9yCXowXC5kLCB6MFwuZCwgIzB4ZmZmZmZmZmZmZmZmZmY4MQor KioJcmV0CisqLworVEVTVF9VTklGT1JNX1ogKGVvcl9tMTI3X3U2NF94LCBz dnVpbnQ2NF90LAorCQl6MCA9IHN2ZW9yX25fdTY0X3ggKHAwLCB6MCwgLTEy NyksCisJCXowID0gc3Zlb3JfeCAocDAsIHowLCAtMTI3KSkKKworLyoKKyoq IGVvcl9tMTI4X3U2NF94OgorKioJZW9yCXowXC5kLCB6MFwuZCwgIzB4ZmZm ZmZmZmZmZmZmZmY4MAorKioJcmV0CisqLworVEVTVF9VTklGT1JNX1ogKGVv cl9tMTI4X3U2NF94LCBzdnVpbnQ2NF90LAorCQl6MCA9IHN2ZW9yX25fdTY0 X3ggKHAwLCB6MCwgLTEyOCksCisJCXowID0gc3Zlb3JfeCAocDAsIHowLCAt MTI4KSkKKworLyoKKyoqIGVvcl9tMjU1X3U2NF94OgorKioJZW9yCXowXC5k LCB6MFwuZCwgIzB4ZmZmZmZmZmZmZmZmZmYwMQorKioJcmV0CisqLworVEVT VF9VTklGT1JNX1ogKGVvcl9tMjU1X3U2NF94LCBzdnVpbnQ2NF90LAorCQl6 MCA9IHN2ZW9yX25fdTY0X3ggKHAwLCB6MCwgLTI1NSksCisJCXowID0gc3Zl b3JfeCAocDAsIHowLCAtMjU1KSkKKworLyoKKyoqIGVvcl9tMjU2X3U2NF94 OgorKioJZW9yCXowXC5kLCB6MFwuZCwgIzB4ZmZmZmZmZmZmZmZmZmYwMAor KioJcmV0CisqLworVEVTVF9VTklGT1JNX1ogKGVvcl9tMjU2X3U2NF94LCBz dnVpbnQ2NF90LAorCQl6MCA9IHN2ZW9yX25fdTY0X3ggKHAwLCB6MCwgLTI1 NiksCisJCXowID0gc3Zlb3JfeCAocDAsIHowLCAtMjU2KSkKKworLyoKKyoq IGVvcl9tMjU3X3U2NF94OgorKioJZW9yCXowXC5kLCB6MFwuZCwgIzB4ZmZm ZmZmZmZmZmZmZmVmZgorKioJcmV0CisqLworVEVTVF9VTklGT1JNX1ogKGVv cl9tMjU3X3U2NF94LCBzdnVpbnQ2NF90LAorCQl6MCA9IHN2ZW9yX25fdTY0 X3ggKHAwLCB6MCwgLTI1NyksCisJCXowID0gc3Zlb3JfeCAocDAsIHowLCAt MjU3KSkKKworLyoKKyoqIGVvcl9tNTEyX3U2NF94OgorKioJZW9yCXowXC5k LCB6MFwuZCwgIzB4ZmZmZmZmZmZmZmZmZmUwMAorKioJcmV0CisqLworVEVT VF9VTklGT1JNX1ogKGVvcl9tNTEyX3U2NF94LCBzdnVpbnQ2NF90LAorCQl6 MCA9IHN2ZW9yX25fdTY0X3ggKHAwLCB6MCwgLTUxMiksCisJCXowID0gc3Zl b3JfeCAocDAsIHowLCAtNTEyKSkKKworLyoKKyoqIGVvcl9tMzI3NjhfdTY0 X3g6CisqKgllb3IJejBcLmQsIHowXC5kLCAjMHhmZmZmZmZmZmZmZmY4MDAw CisqKglyZXQKKyovCitURVNUX1VOSUZPUk1fWiAoZW9yX20zMjc2OF91NjRf eCwgc3Z1aW50NjRfdCwKKwkJejAgPSBzdmVvcl9uX3U2NF94IChwMCwgejAs IC0weDgwMDApLAorCQl6MCA9IHN2ZW9yX3ggKHAwLCB6MCwgLTB4ODAwMCkp CisKKy8qCisqKiBlb3JfNV91NjRfeDoKKyoqCW1vdgkoelswLTldKylcLmQs ICM1CisqKgllb3IJejBcLmQsIHowXC5kLCBcMVwuZAorKioJcmV0CisqLwor VEVTVF9VTklGT1JNX1ogKGVvcl81X3U2NF94LCBzdnVpbnQ2NF90LAorCQl6 MCA9IHN2ZW9yX25fdTY0X3ggKHAwLCB6MCwgNSksCisJCXowID0gc3Zlb3Jf eCAocDAsIHowLCA1KSkKZGlmZiAtLWdpdCBhL2djYy90ZXN0c3VpdGUvZ2Nj LnRhcmdldC9hYXJjaDY0L3N2ZS1hY2xlL2FzbS9lb3JfdTguYyBiL2djYy90 ZXN0c3VpdGUvZ2NjLnRhcmdldC9hYXJjaDY0L3N2ZS1hY2xlL2FzbS9lb3Jf dTguYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi41YzYz N2YyCi0tLSAvZGV2L251bGwKKysrIGIvZ2NjL3Rlc3RzdWl0ZS9nY2MudGFy Z2V0L2FhcmNoNjQvc3ZlLWFjbGUvYXNtL2Vvcl91OC5jCkBAIC0wLDAgKzEs MzE3IEBACisvKiB7IGRnLWRvIGNvbXBpbGUgfSAqLworLyogeyBkZy1maW5h bCB7IGNoZWNrLWZ1bmN0aW9uLWJvZGllcyAiKioiICIiICItRENIRUNLX0FT TSIgfSB9ICovCisKKyNpbmNsdWRlICJ0ZXN0X3N2ZV9hY2xlLmgiCisKKy8q CisqKiBlb3JfdThfbV90aWVkMToKKyoqCWVvcgl6MFwuYiwgcDAvbSwgejBc LmIsIHoxXC5iCisqKglyZXQKKyovCitURVNUX1VOSUZPUk1fWiAoZW9yX3U4 X21fdGllZDEsIHN2dWludDhfdCwKKwkJejAgPSBzdmVvcl91OF9tIChwMCwg ejAsIHoxKSwKKwkJejAgPSBzdmVvcl9tIChwMCwgejAsIHoxKSkKKworLyog QmFkIFJBIGNob2ljZTogbm8gcHJlZmVycmVkIG91dHB1dCBzZXF1ZW5jZS4g ICovCitURVNUX1VOSUZPUk1fWiAoZW9yX3U4X21fdGllZDIsIHN2dWludDhf dCwKKwkJejEgPSBzdmVvcl91OF9tIChwMCwgejAsIHoxKSwKKwkJejEgPSBz dmVvcl9tIChwMCwgejAsIHoxKSkKKworLyoKKyoqIGVvcl91OF9tX3VudGll ZDoKKyoqCW1vdnByZngJejAsIHoxCisqKgllb3IJejBcLmIsIHAwL20sIHow XC5iLCB6MlwuYgorKioJcmV0CisqLworVEVTVF9VTklGT1JNX1ogKGVvcl91 OF9tX3VudGllZCwgc3Z1aW50OF90LAorCQl6MCA9IHN2ZW9yX3U4X20gKHAw LCB6MSwgejIpLAorCQl6MCA9IHN2ZW9yX20gKHAwLCB6MSwgejIpKQorCisv KgorKiogZW9yX3cwX3U4X21fdGllZDE6CisqKgltb3YJKHpbMC05XStcLmIp LCB3MAorKioJZW9yCXowXC5iLCBwMC9tLCB6MFwuYiwgXDEKKyoqCXJldAor Ki8KK1RFU1RfVU5JRk9STV9aUyAoZW9yX3cwX3U4X21fdGllZDEsIHN2dWlu dDhfdCwgdWludDhfdCwKKwkJIHowID0gc3Zlb3Jfbl91OF9tIChwMCwgejAs IHgwKSwKKwkJIHowID0gc3Zlb3JfbSAocDAsIHowLCB4MCkpCisKKy8qCisq KiBlb3JfdzBfdThfbV91bnRpZWQ6CisqKgltb3YJKHpbMC05XStcLmIpLCB3 MAorKioJbW92cHJmeAl6MCwgejEKKyoqCWVvcgl6MFwuYiwgcDAvbSwgejBc LmIsIFwxCisqKglyZXQKKyovCitURVNUX1VOSUZPUk1fWlMgKGVvcl93MF91 OF9tX3VudGllZCwgc3Z1aW50OF90LCB1aW50OF90LAorCQkgejAgPSBzdmVv cl9uX3U4X20gKHAwLCB6MSwgeDApLAorCQkgejAgPSBzdmVvcl9tIChwMCwg ejEsIHgwKSkKKworLyoKKyoqIGVvcl9iMF91OF9tX3RpZWQxOgorKioJbW92 CSh6WzAtOV0rXC5iKSwgYjAKKyoqCWVvcgl6MVwuYiwgcDAvbSwgejFcLmIs IFwxCisqKglyZXQKKyovCitURVNUX1VOSUZPUk1fWlMgKGVvcl9iMF91OF9t X3RpZWQxLCBzdnVpbnQ4X3QsIHVpbnQ4X3QsCisJCSB6MSA9IHN2ZW9yX25f dThfbSAocDAsIHoxLCBkMCksCisJCSB6MSA9IHN2ZW9yX20gKHAwLCB6MSwg ZDApKQorCisvKgorKiogZW9yX2IwX3U4X21fdW50aWVkOgorKioJbW92CSh6 WzAtOV0rXC5iKSwgYjAKKyoqCW1vdnByZngJejEsIHoyCisqKgllb3IJejFc LmIsIHAwL20sIHoxXC5iLCBcMQorKioJcmV0CisqLworVEVTVF9VTklGT1JN X1pTIChlb3JfYjBfdThfbV91bnRpZWQsIHN2dWludDhfdCwgdWludDhfdCwK KwkJIHoxID0gc3Zlb3Jfbl91OF9tIChwMCwgejIsIGQwKSwKKwkJIHoxID0g c3Zlb3JfbSAocDAsIHoyLCBkMCkpCisKKy8qCisqKiBlb3JfMV91OF9tX3Rp ZWQxOgorKioJbW92CSh6WzAtOV0rXC5iKSwgIzEKKyoqCWVvcgl6MFwuYiwg cDAvbSwgejBcLmIsIFwxCisqKglyZXQKKyovCitURVNUX1VOSUZPUk1fWiAo ZW9yXzFfdThfbV90aWVkMSwgc3Z1aW50OF90LAorCQl6MCA9IHN2ZW9yX25f dThfbSAocDAsIHowLCAxKSwKKwkJejAgPSBzdmVvcl9tIChwMCwgejAsIDEp KQorCisvKgorKiogZW9yXzFfdThfbV91bnRpZWQ6CisqKgltb3YJKHpbMC05 XStcLmIpLCAjMQorKioJbW92cHJmeAl6MCwgejEKKyoqCWVvcgl6MFwuYiwg cDAvbSwgejBcLmIsIFwxCisqKglyZXQKKyovCitURVNUX1VOSUZPUk1fWiAo ZW9yXzFfdThfbV91bnRpZWQsIHN2dWludDhfdCwKKwkJejAgPSBzdmVvcl9u X3U4X20gKHAwLCB6MSwgMSksCisJCXowID0gc3Zlb3JfbSAocDAsIHoxLCAx KSkKKworLyoKKyoqIGVvcl9tMl91OF9tOgorKioJbW92CSh6WzAtOV0rXC5i KSwgIy0yCisqKgllb3IJejBcLmIsIHAwL20sIHowXC5iLCBcMQorKioJcmV0 CisqLworVEVTVF9VTklGT1JNX1ogKGVvcl9tMl91OF9tLCBzdnVpbnQ4X3Qs CisJCXowID0gc3Zlb3Jfbl91OF9tIChwMCwgejAsIC0yKSwKKwkJejAgPSBz dmVvcl9tIChwMCwgejAsIC0yKSkKKworLyoKKyoqIGVvcl91OF96X3RpZWQx OgorKioJbW92cHJmeAl6MFwuYiwgcDAveiwgejBcLmIKKyoqCWVvcgl6MFwu YiwgcDAvbSwgejBcLmIsIHoxXC5iCisqKglyZXQKKyovCitURVNUX1VOSUZP Uk1fWiAoZW9yX3U4X3pfdGllZDEsIHN2dWludDhfdCwKKwkJejAgPSBzdmVv cl91OF96IChwMCwgejAsIHoxKSwKKwkJejAgPSBzdmVvcl96IChwMCwgejAs IHoxKSkKKworLyoKKyoqIGVvcl91OF96X3RpZWQyOgorKioJbW92cHJmeAl6 MVwuYiwgcDAveiwgejFcLmIKKyoqCWVvcgl6MVwuYiwgcDAvbSwgejFcLmIs IHowXC5iCisqKglyZXQKKyovCitURVNUX1VOSUZPUk1fWiAoZW9yX3U4X3pf dGllZDIsIHN2dWludDhfdCwKKwkJejEgPSBzdmVvcl91OF96IChwMCwgejAs IHoxKSwKKwkJejEgPSBzdmVvcl96IChwMCwgejAsIHoxKSkKKworLyoKKyoq IGVvcl91OF96X3VudGllZDoKKyoqCW1vdnByZngJejBcLmIsIHAwL3osIHox XC5iCisqKgllb3IJejBcLmIsIHAwL20sIHowXC5iLCB6MlwuYgorKioJcmV0 CisqLworVEVTVF9VTklGT1JNX1ogKGVvcl91OF96X3VudGllZCwgc3Z1aW50 OF90LAorCQl6MCA9IHN2ZW9yX3U4X3ogKHAwLCB6MSwgejIpLAorCQl6MCA9 IHN2ZW9yX3ogKHAwLCB6MSwgejIpKQorCisvKgorKiogZW9yX3cwX3U4X3pf dGllZDE6CisqKgltb3YJKHpbMC05XStcLmIpLCB3MAorKioJbW92cHJmeAl6 MFwuYiwgcDAveiwgejBcLmIKKyoqCWVvcgl6MFwuYiwgcDAvbSwgejBcLmIs IFwxCisqKglyZXQKKyovCitURVNUX1VOSUZPUk1fWlMgKGVvcl93MF91OF96 X3RpZWQxLCBzdnVpbnQ4X3QsIHVpbnQ4X3QsCisJCSB6MCA9IHN2ZW9yX25f dThfeiAocDAsIHowLCB4MCksCisJCSB6MCA9IHN2ZW9yX3ogKHAwLCB6MCwg eDApKQorCisvKgorKiogZW9yX3cwX3U4X3pfdW50aWVkOgorKioJbW92CSh6 WzAtOV0rXC5iKSwgdzAKKyoqCW1vdnByZngJejBcLmIsIHAwL3osIHoxXC5i CisqKgllb3IJejBcLmIsIHAwL20sIHowXC5iLCBcMQorKioJcmV0CisqLwor VEVTVF9VTklGT1JNX1pTIChlb3JfdzBfdThfel91bnRpZWQsIHN2dWludDhf dCwgdWludDhfdCwKKwkJIHowID0gc3Zlb3Jfbl91OF96IChwMCwgejEsIHgw KSwKKwkJIHowID0gc3Zlb3JfeiAocDAsIHoxLCB4MCkpCisKKy8qCisqKiBl b3JfYjBfdThfel90aWVkMToKKyoqCW1vdgkoelswLTldK1wuYiksIGIwCisq Kgltb3ZwcmZ4CXoxXC5iLCBwMC96LCB6MVwuYgorKioJZW9yCXoxXC5iLCBw MC9tLCB6MVwuYiwgXDEKKyoqCXJldAorKi8KK1RFU1RfVU5JRk9STV9aUyAo ZW9yX2IwX3U4X3pfdGllZDEsIHN2dWludDhfdCwgdWludDhfdCwKKwkJIHox ID0gc3Zlb3Jfbl91OF96IChwMCwgejEsIGQwKSwKKwkJIHoxID0gc3Zlb3Jf eiAocDAsIHoxLCBkMCkpCisKKy8qCisqKiBlb3JfYjBfdThfel91bnRpZWQ6 CisqKgltb3YJKHpbMC05XStcLmIpLCBiMAorKioJbW92cHJmeAl6MVwuYiwg cDAveiwgejJcLmIKKyoqCWVvcgl6MVwuYiwgcDAvbSwgejFcLmIsIFwxCisq KglyZXQKKyovCitURVNUX1VOSUZPUk1fWlMgKGVvcl9iMF91OF96X3VudGll ZCwgc3Z1aW50OF90LCB1aW50OF90LAorCQkgejEgPSBzdmVvcl9uX3U4X3og KHAwLCB6MiwgZDApLAorCQkgejEgPSBzdmVvcl96IChwMCwgejIsIGQwKSkK KworLyoKKyoqIGVvcl91OF94X3RpZWQxOgorKioJZW9yCXowXC5kLCB6MFwu ZCwgejFcLmQKKyoqCXJldAorKi8KK1RFU1RfVU5JRk9STV9aIChlb3JfdThf eF90aWVkMSwgc3Z1aW50OF90LAorCQl6MCA9IHN2ZW9yX3U4X3ggKHAwLCB6 MCwgejEpLAorCQl6MCA9IHN2ZW9yX3ggKHAwLCB6MCwgejEpKQorCisvKgor KiogZW9yX3U4X3hfdGllZDI6CisqKgllb3IJejFcLmQsIHowXC5kLCB6MVwu ZAorKioJcmV0CisqLworVEVTVF9VTklGT1JNX1ogKGVvcl91OF94X3RpZWQy LCBzdnVpbnQ4X3QsCisJCXoxID0gc3Zlb3JfdThfeCAocDAsIHowLCB6MSks CisJCXoxID0gc3Zlb3JfeCAocDAsIHowLCB6MSkpCisKKy8qCisqKiBlb3Jf dThfeF91bnRpZWQ6CisqKgllb3IJejJcLmQsIHowXC5kLCB6MVwuZAorKioJ cmV0CisqLworVEVTVF9VTklGT1JNX1ogKGVvcl91OF94X3VudGllZCwgc3Z1 aW50OF90LAorCQl6MiA9IHN2ZW9yX3U4X3ggKHAwLCB6MCwgejEpLAorCQl6 MiA9IHN2ZW9yX3ggKHAwLCB6MCwgejEpKQorCisvKgorKiogZW9yX3cwX3U4 X3hfdGllZDE6CisqKgltb3YJKHpbMC05XSspXC5iLCB3MAorKioJZW9yCXow XC5kLCB6MFwuZCwgXDFcLmQKKyoqCXJldAorKi8KK1RFU1RfVU5JRk9STV9a UyAoZW9yX3cwX3U4X3hfdGllZDEsIHN2dWludDhfdCwgdWludDhfdCwKKwkJ IHowID0gc3Zlb3Jfbl91OF94IChwMCwgejAsIHgwKSwKKwkJIHowID0gc3Zl b3JfeCAocDAsIHowLCB4MCkpCisKKy8qCisqKiBlb3JfdzBfdThfeF91bnRp ZWQ6CisqKgltb3YJejFcLmIsIHcwCisqKgllb3IJejFcLmQsIHowXC5kLCB6 MVwuZAorKioJcmV0CisqLworVEVTVF9VTklGT1JNX1pTIChlb3JfdzBfdThf eF91bnRpZWQsIHN2dWludDhfdCwgdWludDhfdCwKKwkJIHoxID0gc3Zlb3Jf bl91OF94IChwMCwgejAsIHgwKSwKKwkJIHoxID0gc3Zlb3JfeCAocDAsIHow LCB4MCkpCisKKy8qCisqKiBlb3JfYjBfdThfeF90aWVkMToKKyoqCW1vdgko elswLTldKylcLmIsIGIwCisqKgllb3IJejFcLmQsIHoxXC5kLCBcMVwuZAor KioJcmV0CisqLworVEVTVF9VTklGT1JNX1pTIChlb3JfYjBfdThfeF90aWVk MSwgc3Z1aW50OF90LCB1aW50OF90LAorCQkgejEgPSBzdmVvcl9uX3U4X3gg KHAwLCB6MSwgZDApLAorCQkgejEgPSBzdmVvcl94IChwMCwgejEsIGQwKSkK KworLyoKKyoqIGVvcl9iMF91OF94X3VudGllZDoKKyoqCW1vdgkoelswLTld KylcLmIsIGIwCisqKgllb3IJejJcLmQsIHoxXC5kLCBcMVwuZAorKioJcmV0 CisqLworVEVTVF9VTklGT1JNX1pTIChlb3JfYjBfdThfeF91bnRpZWQsIHN2 dWludDhfdCwgdWludDhfdCwKKwkJIHoyID0gc3Zlb3Jfbl91OF94IChwMCwg ejEsIGQwKSwKKwkJIHoyID0gc3Zlb3JfeCAocDAsIHoxLCBkMCkpCisKKy8q CisqKiBlb3JfMV91OF94X3RpZWQxOgorKioJZW9yCXowXC5iLCB6MFwuYiwg IzB4MQorKioJcmV0CisqLworVEVTVF9VTklGT1JNX1ogKGVvcl8xX3U4X3hf dGllZDEsIHN2dWludDhfdCwKKwkJejAgPSBzdmVvcl9uX3U4X3ggKHAwLCB6 MCwgMSksCisJCXowID0gc3Zlb3JfeCAocDAsIHowLCAxKSkKKworLyoKKyoq IGVvcl8xX3U4X3hfdW50aWVkOgorKioJbW92cHJmeAl6MCwgejEKKyoqCWVv cgl6MFwuYiwgejBcLmIsICMweDEKKyoqCXJldAorKi8KK1RFU1RfVU5JRk9S TV9aIChlb3JfMV91OF94X3VudGllZCwgc3Z1aW50OF90LAorCQl6MCA9IHN2 ZW9yX25fdThfeCAocDAsIHoxLCAxKSwKKwkJejAgPSBzdmVvcl94IChwMCwg ejEsIDEpKQorCisvKgorKiogZW9yXzEyN191OF94OgorKioJZW9yCXowXC5i LCB6MFwuYiwgIzB4N2YKKyoqCXJldAorKi8KK1RFU1RfVU5JRk9STV9aIChl b3JfMTI3X3U4X3gsIHN2dWludDhfdCwKKwkJejAgPSBzdmVvcl9uX3U4X3gg KHAwLCB6MCwgMTI3KSwKKwkJejAgPSBzdmVvcl94IChwMCwgejAsIDEyNykp CisKKy8qCisqKiBlb3JfMTI4X3U4X3g6CisqKgllb3IJejBcLmIsIHowXC5i LCAjMHg4MAorKioJcmV0CisqLworVEVTVF9VTklGT1JNX1ogKGVvcl8xMjhf dThfeCwgc3Z1aW50OF90LAorCQl6MCA9IHN2ZW9yX25fdThfeCAocDAsIHow LCAxMjgpLAorCQl6MCA9IHN2ZW9yX3ggKHAwLCB6MCwgMTI4KSkKKworLyoK KyoqIGVvcl8yNTVfdThfeDoKKyoqCW1vdgkoelswLTldKylcLmIsICMtMQor KioJZW9yCXowXC5kLCB6MFwuZCwgXDFcLmQKKyoqCXJldAorKi8KK1RFU1Rf VU5JRk9STV9aIChlb3JfMjU1X3U4X3gsIHN2dWludDhfdCwKKwkJejAgPSBz dmVvcl9uX3U4X3ggKHAwLCB6MCwgMjU1KSwKKwkJejAgPSBzdmVvcl94IChw MCwgejAsIDI1NSkpCisKKy8qCisqKiBlb3JfbTEyN191OF94OgorKioJZW9y CXowXC5iLCB6MFwuYiwgIzB4ODEKKyoqCXJldAorKi8KK1RFU1RfVU5JRk9S TV9aIChlb3JfbTEyN191OF94LCBzdnVpbnQ4X3QsCisJCXowID0gc3Zlb3Jf bl91OF94IChwMCwgejAsIC0xMjcpLAorCQl6MCA9IHN2ZW9yX3ggKHAwLCB6 MCwgLTEyNykpCisKKy8qCisqKiBlb3JfbTEyOF91OF94OgorKioJZW9yCXow XC5iLCB6MFwuYiwgIzB4ODAKKyoqCXJldAorKi8KK1RFU1RfVU5JRk9STV9a IChlb3JfbTEyOF91OF94LCBzdnVpbnQ4X3QsCisJCXowID0gc3Zlb3Jfbl91 OF94IChwMCwgejAsIC0xMjgpLAorCQl6MCA9IHN2ZW9yX3ggKHAwLCB6MCwg LTEyOCkpCisKKy8qCisqKiBlb3JfNV91OF94OgorKioJbW92CSh6WzAtOV0r KVwuYiwgIzUKKyoqCWVvcgl6MFwuZCwgejBcLmQsIFwxXC5kCisqKglyZXQK KyovCitURVNUX1VOSUZPUk1fWiAoZW9yXzVfdThfeCwgc3Z1aW50OF90LAor CQl6MCA9IHN2ZW9yX25fdThfeCAocDAsIHowLCA1KSwKKwkJejAgPSBzdmVv cl94IChwMCwgejAsIDUpKQpkaWZmIC0tZ2l0IGEvZ2NjL3Rlc3RzdWl0ZS9n Y2MudGFyZ2V0L2FhcmNoNjQvc3ZlLWFjbGUvYXNtL29ycl9zMTYuYyBiL2dj Yy90ZXN0c3VpdGUvZ2NjLnRhcmdldC9hYXJjaDY0L3N2ZS1hY2xlL2FzbS9v cnJfczE2LmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4u YzY1OTRkMgotLS0gL2Rldi9udWxsCisrKyBiL2djYy90ZXN0c3VpdGUvZ2Nj LnRhcmdldC9hYXJjaDY0L3N2ZS1hY2xlL2FzbS9vcnJfczE2LmMKQEAgLTAs MCArMSwzOTcgQEAKKy8qIHsgZGctZG8gY29tcGlsZSB9ICovCisvKiB7IGRn LWZpbmFsIHsgY2hlY2stZnVuY3Rpb24tYm9kaWVzICIqKiIgIiIgIi1EQ0hF Q0tfQVNNIiB9IH0gKi8KKworI2luY2x1ZGUgInRlc3Rfc3ZlX2FjbGUuaCIK KworLyoKKyoqIG9ycl9zMTZfbV90aWVkMToKKyoqCW9ycgl6MFwuaCwgcDAv bSwgejBcLmgsIHoxXC5oCisqKglyZXQKKyovCitURVNUX1VOSUZPUk1fWiAo b3JyX3MxNl9tX3RpZWQxLCBzdmludDE2X3QsCisJCXowID0gc3ZvcnJfczE2 X20gKHAwLCB6MCwgejEpLAorCQl6MCA9IHN2b3JyX20gKHAwLCB6MCwgejEp KQorCisvKiBCYWQgUkEgY2hvaWNlOiBubyBwcmVmZXJyZWQgb3V0cHV0IHNl cXVlbmNlLiAgKi8KK1RFU1RfVU5JRk9STV9aIChvcnJfczE2X21fdGllZDIs IHN2aW50MTZfdCwKKwkJejEgPSBzdm9ycl9zMTZfbSAocDAsIHowLCB6MSks CisJCXoxID0gc3ZvcnJfbSAocDAsIHowLCB6MSkpCisKKy8qCisqKiBvcnJf czE2X21fdW50aWVkOgorKioJbW92cHJmeAl6MCwgejEKKyoqCW9ycgl6MFwu aCwgcDAvbSwgejBcLmgsIHoyXC5oCisqKglyZXQKKyovCitURVNUX1VOSUZP Uk1fWiAob3JyX3MxNl9tX3VudGllZCwgc3ZpbnQxNl90LAorCQl6MCA9IHN2 b3JyX3MxNl9tIChwMCwgejEsIHoyKSwKKwkJejAgPSBzdm9ycl9tIChwMCwg ejEsIHoyKSkKKworLyoKKyoqIG9ycl93MF9zMTZfbV90aWVkMToKKyoqCW1v dgkoelswLTldK1wuaCksIHcwCisqKglvcnIJejBcLmgsIHAwL20sIHowXC5o LCBcMQorKioJcmV0CisqLworVEVTVF9VTklGT1JNX1pTIChvcnJfdzBfczE2 X21fdGllZDEsIHN2aW50MTZfdCwgaW50MTZfdCwKKwkJIHowID0gc3ZvcnJf bl9zMTZfbSAocDAsIHowLCB4MCksCisJCSB6MCA9IHN2b3JyX20gKHAwLCB6 MCwgeDApKQorCisvKgorKiogb3JyX3cwX3MxNl9tX3VudGllZDoKKyoqCW1v dgkoelswLTldK1wuaCksIHcwCisqKgltb3ZwcmZ4CXowLCB6MQorKioJb3Jy CXowXC5oLCBwMC9tLCB6MFwuaCwgXDEKKyoqCXJldAorKi8KK1RFU1RfVU5J Rk9STV9aUyAob3JyX3cwX3MxNl9tX3VudGllZCwgc3ZpbnQxNl90LCBpbnQx Nl90LAorCQkgejAgPSBzdm9ycl9uX3MxNl9tIChwMCwgejEsIHgwKSwKKwkJ IHowID0gc3ZvcnJfbSAocDAsIHoxLCB4MCkpCisKKy8qCisqKiBvcnJfaDBf czE2X21fdGllZDE6CisqKgltb3YJKHpbMC05XStcLmgpLCBoMAorKioJb3Jy CXoxXC5oLCBwMC9tLCB6MVwuaCwgXDEKKyoqCXJldAorKi8KK1RFU1RfVU5J Rk9STV9aUyAob3JyX2gwX3MxNl9tX3RpZWQxLCBzdmludDE2X3QsIGludDE2 X3QsCisJCSB6MSA9IHN2b3JyX25fczE2X20gKHAwLCB6MSwgZDApLAorCQkg ejEgPSBzdm9ycl9tIChwMCwgejEsIGQwKSkKKworLyoKKyoqIG9ycl9oMF9z MTZfbV91bnRpZWQ6CisqKgltb3YJKHpbMC05XStcLmgpLCBoMAorKioJbW92 cHJmeAl6MSwgejIKKyoqCW9ycgl6MVwuaCwgcDAvbSwgejFcLmgsIFwxCisq KglyZXQKKyovCitURVNUX1VOSUZPUk1fWlMgKG9ycl9oMF9zMTZfbV91bnRp ZWQsIHN2aW50MTZfdCwgaW50MTZfdCwKKwkJIHoxID0gc3ZvcnJfbl9zMTZf bSAocDAsIHoyLCBkMCksCisJCSB6MSA9IHN2b3JyX20gKHAwLCB6MiwgZDAp KQorCisvKgorKiogb3JyXzFfczE2X21fdGllZDE6CisqKgltb3YJKHpbMC05 XStcLmgpLCAjMQorKioJb3JyCXowXC5oLCBwMC9tLCB6MFwuaCwgXDEKKyoq CXJldAorKi8KK1RFU1RfVU5JRk9STV9aIChvcnJfMV9zMTZfbV90aWVkMSwg c3ZpbnQxNl90LAorCQl6MCA9IHN2b3JyX25fczE2X20gKHAwLCB6MCwgMSks CisJCXowID0gc3ZvcnJfbSAocDAsIHowLCAxKSkKKworLyoKKyoqIG9ycl8x X3MxNl9tX3VudGllZDoKKyoqCW1vdgkoelswLTldK1wuaCksICMxCisqKglt b3ZwcmZ4CXowLCB6MQorKioJb3JyCXowXC5oLCBwMC9tLCB6MFwuaCwgXDEK KyoqCXJldAorKi8KK1RFU1RfVU5JRk9STV9aIChvcnJfMV9zMTZfbV91bnRp ZWQsIHN2aW50MTZfdCwKKwkJejAgPSBzdm9ycl9uX3MxNl9tIChwMCwgejEs IDEpLAorCQl6MCA9IHN2b3JyX20gKHAwLCB6MSwgMSkpCisKKy8qCisqKiBv cnJfbTJfczE2X206CisqKgltb3YJKHpbMC05XStcLmgpLCAjLTIKKyoqCW9y cgl6MFwuaCwgcDAvbSwgejBcLmgsIFwxCisqKglyZXQKKyovCitURVNUX1VO SUZPUk1fWiAob3JyX20yX3MxNl9tLCBzdmludDE2X3QsCisJCXowID0gc3Zv cnJfbl9zMTZfbSAocDAsIHowLCAtMiksCisJCXowID0gc3ZvcnJfbSAocDAs IHowLCAtMikpCisKKy8qCisqKiBvcnJfczE2X3pfdGllZDE6CisqKgltb3Zw cmZ4CXowXC5oLCBwMC96LCB6MFwuaAorKioJb3JyCXowXC5oLCBwMC9tLCB6 MFwuaCwgejFcLmgKKyoqCXJldAorKi8KK1RFU1RfVU5JRk9STV9aIChvcnJf czE2X3pfdGllZDEsIHN2aW50MTZfdCwKKwkJejAgPSBzdm9ycl9zMTZfeiAo cDAsIHowLCB6MSksCisJCXowID0gc3ZvcnJfeiAocDAsIHowLCB6MSkpCisK Ky8qCisqKiBvcnJfczE2X3pfdGllZDI6CisqKgltb3ZwcmZ4CXoxXC5oLCBw MC96LCB6MVwuaAorKioJb3JyCXoxXC5oLCBwMC9tLCB6MVwuaCwgejBcLmgK KyoqCXJldAorKi8KK1RFU1RfVU5JRk9STV9aIChvcnJfczE2X3pfdGllZDIs IHN2aW50MTZfdCwKKwkJejEgPSBzdm9ycl9zMTZfeiAocDAsIHowLCB6MSks CisJCXoxID0gc3ZvcnJfeiAocDAsIHowLCB6MSkpCisKKy8qCisqKiBvcnJf czE2X3pfdW50aWVkOgorKioJbW92cHJmeAl6MFwuaCwgcDAveiwgejFcLmgK KyoqCW9ycgl6MFwuaCwgcDAvbSwgejBcLmgsIHoyXC5oCisqKglyZXQKKyov CitURVNUX1VOSUZPUk1fWiAob3JyX3MxNl96X3VudGllZCwgc3ZpbnQxNl90 LAorCQl6MCA9IHN2b3JyX3MxNl96IChwMCwgejEsIHoyKSwKKwkJejAgPSBz dm9ycl96IChwMCwgejEsIHoyKSkKKworLyoKKyoqIG9ycl93MF9zMTZfel90 aWVkMToKKyoqCW1vdgkoelswLTldK1wuaCksIHcwCisqKgltb3ZwcmZ4CXow XC5oLCBwMC96LCB6MFwuaAorKioJb3JyCXowXC5oLCBwMC9tLCB6MFwuaCwg XDEKKyoqCXJldAorKi8KK1RFU1RfVU5JRk9STV9aUyAob3JyX3cwX3MxNl96 X3RpZWQxLCBzdmludDE2X3QsIGludDE2X3QsCisJCSB6MCA9IHN2b3JyX25f czE2X3ogKHAwLCB6MCwgeDApLAorCQkgejAgPSBzdm9ycl96IChwMCwgejAs IHgwKSkKKworLyoKKyoqIG9ycl93MF9zMTZfel91bnRpZWQ6CisqKgltb3YJ KHpbMC05XStcLmgpLCB3MAorKioJbW92cHJmeAl6MFwuaCwgcDAveiwgejFc LmgKKyoqCW9ycgl6MFwuaCwgcDAvbSwgejBcLmgsIFwxCisqKglyZXQKKyov CitURVNUX1VOSUZPUk1fWlMgKG9ycl93MF9zMTZfel91bnRpZWQsIHN2aW50 MTZfdCwgaW50MTZfdCwKKwkJIHowID0gc3ZvcnJfbl9zMTZfeiAocDAsIHox LCB4MCksCisJCSB6MCA9IHN2b3JyX3ogKHAwLCB6MSwgeDApKQorCisvKgor Kiogb3JyX2gwX3MxNl96X3RpZWQxOgorKioJbW92CSh6WzAtOV0rXC5oKSwg aDAKKyoqCW1vdnByZngJejFcLmgsIHAwL3osIHoxXC5oCisqKglvcnIJejFc LmgsIHAwL20sIHoxXC5oLCBcMQorKioJcmV0CisqLworVEVTVF9VTklGT1JN X1pTIChvcnJfaDBfczE2X3pfdGllZDEsIHN2aW50MTZfdCwgaW50MTZfdCwK KwkJIHoxID0gc3ZvcnJfbl9zMTZfeiAocDAsIHoxLCBkMCksCisJCSB6MSA9 IHN2b3JyX3ogKHAwLCB6MSwgZDApKQorCisvKgorKiogb3JyX2gwX3MxNl96 X3VudGllZDoKKyoqCW1vdgkoelswLTldK1wuaCksIGgwCisqKgltb3ZwcmZ4 CXoxXC5oLCBwMC96LCB6MlwuaAorKioJb3JyCXoxXC5oLCBwMC9tLCB6MVwu aCwgXDEKKyoqCXJldAorKi8KK1RFU1RfVU5JRk9STV9aUyAob3JyX2gwX3Mx Nl96X3VudGllZCwgc3ZpbnQxNl90LCBpbnQxNl90LAorCQkgejEgPSBzdm9y cl9uX3MxNl96IChwMCwgejIsIGQwKSwKKwkJIHoxID0gc3ZvcnJfeiAocDAs IHoyLCBkMCkpCisKKy8qCisqKiBvcnJfczE2X3hfdGllZDE6CisqKglvcnIJ ejBcLmQsIHowXC5kLCB6MVwuZAorKioJcmV0CisqLworVEVTVF9VTklGT1JN X1ogKG9ycl9zMTZfeF90aWVkMSwgc3ZpbnQxNl90LAorCQl6MCA9IHN2b3Jy X3MxNl94IChwMCwgejAsIHoxKSwKKwkJejAgPSBzdm9ycl94IChwMCwgejAs IHoxKSkKKworLyoKKyoqIG9ycl9zMTZfeF90aWVkMjoKKyoqCW9ycgl6MVwu ZCwgejBcLmQsIHoxXC5kCisqKglyZXQKKyovCitURVNUX1VOSUZPUk1fWiAo b3JyX3MxNl94X3RpZWQyLCBzdmludDE2X3QsCisJCXoxID0gc3ZvcnJfczE2 X3ggKHAwLCB6MCwgejEpLAorCQl6MSA9IHN2b3JyX3ggKHAwLCB6MCwgejEp KQorCisvKgorKiogb3JyX3MxNl94X3VudGllZDoKKyoqCW9ycgl6MlwuZCwg ejBcLmQsIHoxXC5kCisqKglyZXQKKyovCitURVNUX1VOSUZPUk1fWiAob3Jy X3MxNl94X3VudGllZCwgc3ZpbnQxNl90LAorCQl6MiA9IHN2b3JyX3MxNl94 IChwMCwgejAsIHoxKSwKKwkJejIgPSBzdm9ycl94IChwMCwgejAsIHoxKSkK KworLyoKKyoqIG9ycl93MF9zMTZfeF90aWVkMToKKyoqCW1vdgkoelswLTld KylcLmgsIHcwCisqKglvcnIJejBcLmQsIHowXC5kLCBcMVwuZAorKioJcmV0 CisqLworVEVTVF9VTklGT1JNX1pTIChvcnJfdzBfczE2X3hfdGllZDEsIHN2 aW50MTZfdCwgaW50MTZfdCwKKwkJIHowID0gc3ZvcnJfbl9zMTZfeCAocDAs IHowLCB4MCksCisJCSB6MCA9IHN2b3JyX3ggKHAwLCB6MCwgeDApKQorCisv KgorKiogb3JyX3cwX3MxNl94X3VudGllZDoKKyoqCW1vdgl6MVwuaCwgdzAK KyoqCW9ycgl6MVwuZCwgejBcLmQsIHoxXC5kCisqKglyZXQKKyovCitURVNU X1VOSUZPUk1fWlMgKG9ycl93MF9zMTZfeF91bnRpZWQsIHN2aW50MTZfdCwg aW50MTZfdCwKKwkJIHoxID0gc3ZvcnJfbl9zMTZfeCAocDAsIHowLCB4MCks CisJCSB6MSA9IHN2b3JyX3ggKHAwLCB6MCwgeDApKQorCisvKgorKiogb3Jy X2gwX3MxNl94X3RpZWQxOgorKioJbW92CSh6WzAtOV0rKVwuaCwgaDAKKyoq CW9ycgl6MVwuZCwgejFcLmQsIFwxXC5kCisqKglyZXQKKyovCitURVNUX1VO SUZPUk1fWlMgKG9ycl9oMF9zMTZfeF90aWVkMSwgc3ZpbnQxNl90LCBpbnQx Nl90LAorCQkgejEgPSBzdm9ycl9uX3MxNl94IChwMCwgejEsIGQwKSwKKwkJ IHoxID0gc3ZvcnJfeCAocDAsIHoxLCBkMCkpCisKKy8qCisqKiBvcnJfaDBf czE2X3hfdW50aWVkOgorKioJbW92CSh6WzAtOV0rKVwuaCwgaDAKKyoqCW9y cgl6MlwuZCwgejFcLmQsIFwxXC5kCisqKglyZXQKKyovCitURVNUX1VOSUZP Uk1fWlMgKG9ycl9oMF9zMTZfeF91bnRpZWQsIHN2aW50MTZfdCwgaW50MTZf dCwKKwkJIHoyID0gc3ZvcnJfbl9zMTZfeCAocDAsIHoxLCBkMCksCisJCSB6 MiA9IHN2b3JyX3ggKHAwLCB6MSwgZDApKQorCisvKgorKiogb3JyXzFfczE2 X3hfdGllZDE6CisqKglvcnIJejBcLmgsIHowXC5oLCAjMHgxCisqKglyZXQK KyovCitURVNUX1VOSUZPUk1fWiAob3JyXzFfczE2X3hfdGllZDEsIHN2aW50 MTZfdCwKKwkJejAgPSBzdm9ycl9uX3MxNl94IChwMCwgejAsIDEpLAorCQl6 MCA9IHN2b3JyX3ggKHAwLCB6MCwgMSkpCisKKy8qCisqKiBvcnJfMV9zMTZf eF91bnRpZWQ6CisqKgltb3ZwcmZ4CXowLCB6MQorKioJb3JyCXowXC5oLCB6 MFwuaCwgIzB4MQorKioJcmV0CisqLworVEVTVF9VTklGT1JNX1ogKG9ycl8x X3MxNl94X3VudGllZCwgc3ZpbnQxNl90LAorCQl6MCA9IHN2b3JyX25fczE2 X3ggKHAwLCB6MSwgMSksCisJCXowID0gc3ZvcnJfeCAocDAsIHoxLCAxKSkK KworLyoKKyoqIG9ycl8xMjdfczE2X3g6CisqKglvcnIJejBcLmgsIHowXC5o LCAjMHg3ZgorKioJcmV0CisqLworVEVTVF9VTklGT1JNX1ogKG9ycl8xMjdf czE2X3gsIHN2aW50MTZfdCwKKwkJejAgPSBzdm9ycl9uX3MxNl94IChwMCwg ejAsIDEyNyksCisJCXowID0gc3ZvcnJfeCAocDAsIHowLCAxMjcpKQorCisv KgorKiogb3JyXzEyOF9zMTZfeDoKKyoqCW9ycgl6MFwuaCwgejBcLmgsICMw eDgwCisqKglyZXQKKyovCitURVNUX1VOSUZPUk1fWiAob3JyXzEyOF9zMTZf eCwgc3ZpbnQxNl90LAorCQl6MCA9IHN2b3JyX25fczE2X3ggKHAwLCB6MCwg MTI4KSwKKwkJejAgPSBzdm9ycl94IChwMCwgejAsIDEyOCkpCisKKy8qCisq KiBvcnJfMjU1X3MxNl94OgorKioJb3JyCXowXC5oLCB6MFwuaCwgIzB4ZmYK KyoqCXJldAorKi8KK1RFU1RfVU5JRk9STV9aIChvcnJfMjU1X3MxNl94LCBz dmludDE2X3QsCisJCXowID0gc3ZvcnJfbl9zMTZfeCAocDAsIHowLCAyNTUp LAorCQl6MCA9IHN2b3JyX3ggKHAwLCB6MCwgMjU1KSkKKworLyoKKyoqIG9y cl8yNTZfczE2X3g6CisqKglvcnIJejBcLmgsIHowXC5oLCAjMHgxMDAKKyoq CXJldAorKi8KK1RFU1RfVU5JRk9STV9aIChvcnJfMjU2X3MxNl94LCBzdmlu dDE2X3QsCisJCXowID0gc3ZvcnJfbl9zMTZfeCAocDAsIHowLCAyNTYpLAor CQl6MCA9IHN2b3JyX3ggKHAwLCB6MCwgMjU2KSkKKworLyoKKyoqIG9ycl8y NTdfczE2X3g6CisqKglvcnIJejBcLmgsIHowXC5oLCAjMHgxMDEKKyoqCXJl dAorKi8KK1RFU1RfVU5JRk9STV9aIChvcnJfMjU3X3MxNl94LCBzdmludDE2 X3QsCisJCXowID0gc3ZvcnJfbl9zMTZfeCAocDAsIHowLCAyNTcpLAorCQl6 MCA9IHN2b3JyX3ggKHAwLCB6MCwgMjU3KSkKKworLyoKKyoqIG9ycl81MTJf czE2X3g6CisqKglvcnIJejBcLmgsIHowXC5oLCAjMHgyMDAKKyoqCXJldAor Ki8KK1RFU1RfVU5JRk9STV9aIChvcnJfNTEyX3MxNl94LCBzdmludDE2X3Qs CisJCXowID0gc3ZvcnJfbl9zMTZfeCAocDAsIHowLCA1MTIpLAorCQl6MCA9 IHN2b3JyX3ggKHAwLCB6MCwgNTEyKSkKKworLyoKKyoqIG9ycl82NTI4MF9z MTZfeDoKKyoqCW9ycgl6MFwuaCwgejBcLmgsICMweGZmMDAKKyoqCXJldAor Ki8KK1RFU1RfVU5JRk9STV9aIChvcnJfNjUyODBfczE2X3gsIHN2aW50MTZf dCwKKwkJejAgPSBzdm9ycl9uX3MxNl94IChwMCwgejAsIDB4ZmYwMCksCisJ CXowID0gc3ZvcnJfeCAocDAsIHowLCAweGZmMDApKQorCisvKgorKiogb3Jy X20xMjdfczE2X3g6CisqKglvcnIJejBcLmgsIHowXC5oLCAjMHhmZjgxCisq KglyZXQKKyovCitURVNUX1VOSUZPUk1fWiAob3JyX20xMjdfczE2X3gsIHN2 aW50MTZfdCwKKwkJejAgPSBzdm9ycl9uX3MxNl94IChwMCwgejAsIC0xMjcp LAorCQl6MCA9IHN2b3JyX3ggKHAwLCB6MCwgLTEyNykpCisKKy8qCisqKiBv cnJfbTEyOF9zMTZfeDoKKyoqCW9ycgl6MFwuaCwgejBcLmgsICMweGZmODAK KyoqCXJldAorKi8KK1RFU1RfVU5JRk9STV9aIChvcnJfbTEyOF9zMTZfeCwg c3ZpbnQxNl90LAorCQl6MCA9IHN2b3JyX25fczE2X3ggKHAwLCB6MCwgLTEy OCksCisJCXowID0gc3ZvcnJfeCAocDAsIHowLCAtMTI4KSkKKworLyoKKyoq IG9ycl9tMjU1X3MxNl94OgorKioJb3JyCXowXC5oLCB6MFwuaCwgIzB4ZmYw MQorKioJcmV0CisqLworVEVTVF9VTklGT1JNX1ogKG9ycl9tMjU1X3MxNl94 LCBzdmludDE2X3QsCisJCXowID0gc3ZvcnJfbl9zMTZfeCAocDAsIHowLCAt MjU1KSwKKwkJejAgPSBzdm9ycl94IChwMCwgejAsIC0yNTUpKQorCisvKgor Kiogb3JyX20yNTZfczE2X3g6CisqKglvcnIJejBcLmgsIHowXC5oLCAjMHhm ZjAwCisqKglyZXQKKyovCitURVNUX1VOSUZPUk1fWiAob3JyX20yNTZfczE2 X3gsIHN2aW50MTZfdCwKKwkJejAgPSBzdm9ycl9uX3MxNl94IChwMCwgejAs IC0yNTYpLAorCQl6MCA9IHN2b3JyX3ggKHAwLCB6MCwgLTI1NikpCisKKy8q CisqKiBvcnJfbTI1N19zMTZfeDoKKyoqCW9ycgl6MFwuaCwgejBcLmgsICMw eGZlZmYKKyoqCXJldAorKi8KK1RFU1RfVU5JRk9STV9aIChvcnJfbTI1N19z MTZfeCwgc3ZpbnQxNl90LAorCQl6MCA9IHN2b3JyX25fczE2X3ggKHAwLCB6 MCwgLTI1NyksCisJCXowID0gc3ZvcnJfeCAocDAsIHowLCAtMjU3KSkKKwor LyoKKyoqIG9ycl9tNTEyX3MxNl94OgorKioJb3JyCXowXC5oLCB6MFwuaCwg IzB4ZmUwMAorKioJcmV0CisqLworVEVTVF9VTklGT1JNX1ogKG9ycl9tNTEy X3MxNl94LCBzdmludDE2X3QsCisJCXowID0gc3ZvcnJfbl9zMTZfeCAocDAs IHowLCAtNTEyKSwKKwkJejAgPSBzdm9ycl94IChwMCwgejAsIC01MTIpKQor CisvKgorKiogb3JyX20zMjc2OF9zMTZfeDoKKyoqCW9ycgl6MFwuaCwgejBc LmgsICMweDgwMDAKKyoqCXJldAorKi8KK1RFU1RfVU5JRk9STV9aIChvcnJf bTMyNzY4X3MxNl94LCBzdmludDE2X3QsCisJCXowID0gc3ZvcnJfbl9zMTZf eCAocDAsIHowLCAtMHg4MDAwKSwKKwkJejAgPSBzdm9ycl94IChwMCwgejAs IC0weDgwMDApKQorCisvKgorKiogb3JyXzVfczE2X3g6CisqKgltb3YJKHpb MC05XSspXC5oLCAjNQorKioJb3JyCXowXC5kLCB6MFwuZCwgXDFcLmQKKyoq CXJldAorKi8KK1RFU1RfVU5JRk9STV9aIChvcnJfNV9zMTZfeCwgc3ZpbnQx Nl90LAorCQl6MCA9IHN2b3JyX25fczE2X3ggKHAwLCB6MCwgNSksCisJCXow ID0gc3ZvcnJfeCAocDAsIHowLCA1KSkKZGlmZiAtLWdpdCBhL2djYy90ZXN0 c3VpdGUvZ2NjLnRhcmdldC9hYXJjaDY0L3N2ZS1hY2xlL2FzbS9vcnJfczMy LmMgYi9nY2MvdGVzdHN1aXRlL2djYy50YXJnZXQvYWFyY2g2NC9zdmUtYWNs ZS9hc20vb3JyX3MzMi5jCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw MDAwMDAuLjMwNDg2M2YKLS0tIC9kZXYvbnVsbAorKysgYi9nY2MvdGVzdHN1 aXRlL2djYy50YXJnZXQvYWFyY2g2NC9zdmUtYWNsZS9hc20vb3JyX3MzMi5j CkBAIC0wLDAgKzEsMzkzIEBACisvKiB7IGRnLWRvIGNvbXBpbGUgfSAqLwor LyogeyBkZy1maW5hbCB7IGNoZWNrLWZ1bmN0aW9uLWJvZGllcyAiKioiICIi ICItRENIRUNLX0FTTSIgfSB9ICovCisKKyNpbmNsdWRlICJ0ZXN0X3N2ZV9h Y2xlLmgiCisKKy8qCisqKiBvcnJfczMyX21fdGllZDE6CisqKglvcnIJejBc LnMsIHAwL20sIHowXC5zLCB6MVwucworKioJcmV0CisqLworVEVTVF9VTklG T1JNX1ogKG9ycl9zMzJfbV90aWVkMSwgc3ZpbnQzMl90LAorCQl6MCA9IHN2 b3JyX3MzMl9tIChwMCwgejAsIHoxKSwKKwkJejAgPSBzdm9ycl9tIChwMCwg ejAsIHoxKSkKKworLyogQmFkIFJBIGNob2ljZTogbm8gcHJlZmVycmVkIG91 dHB1dCBzZXF1ZW5jZS4gICovCitURVNUX1VOSUZPUk1fWiAob3JyX3MzMl9t X3RpZWQyLCBzdmludDMyX3QsCisJCXoxID0gc3ZvcnJfczMyX20gKHAwLCB6 MCwgejEpLAorCQl6MSA9IHN2b3JyX20gKHAwLCB6MCwgejEpKQorCisvKgor Kiogb3JyX3MzMl9tX3VudGllZDoKKyoqCW1vdnByZngJejAsIHoxCisqKglv cnIJejBcLnMsIHAwL20sIHowXC5zLCB6MlwucworKioJcmV0CisqLworVEVT VF9VTklGT1JNX1ogKG9ycl9zMzJfbV91bnRpZWQsIHN2aW50MzJfdCwKKwkJ ejAgPSBzdm9ycl9zMzJfbSAocDAsIHoxLCB6MiksCisJCXowID0gc3ZvcnJf bSAocDAsIHoxLCB6MikpCisKKy8qCisqKiBvcnJfdzBfczMyX21fdGllZDE6 CisqKgltb3YJKHpbMC05XStcLnMpLCB3MAorKioJb3JyCXowXC5zLCBwMC9t LCB6MFwucywgXDEKKyoqCXJldAorKi8KK1RFU1RfVU5JRk9STV9aUyAob3Jy X3cwX3MzMl9tX3RpZWQxLCBzdmludDMyX3QsIGludDMyX3QsCisJCSB6MCA9 IHN2b3JyX25fczMyX20gKHAwLCB6MCwgeDApLAorCQkgejAgPSBzdm9ycl9t IChwMCwgejAsIHgwKSkKKworLyoKKyoqIG9ycl93MF9zMzJfbV91bnRpZWQ6 CisqKgltb3YJKHpbMC05XStcLnMpLCB3MAorKioJbW92cHJmeAl6MCwgejEK KyoqCW9ycgl6MFwucywgcDAvbSwgejBcLnMsIFwxCisqKglyZXQKKyovCitU RVNUX1VOSUZPUk1fWlMgKG9ycl93MF9zMzJfbV91bnRpZWQsIHN2aW50MzJf dCwgaW50MzJfdCwKKwkJIHowID0gc3ZvcnJfbl9zMzJfbSAocDAsIHoxLCB4 MCksCisJCSB6MCA9IHN2b3JyX20gKHAwLCB6MSwgeDApKQorCisvKgorKiog b3JyX3MwX3MzMl9tX3RpZWQxOgorKioJbW92CSh6WzAtOV0rXC5zKSwgczAK KyoqCW9ycgl6MVwucywgcDAvbSwgejFcLnMsIFwxCisqKglyZXQKKyovCitU RVNUX1VOSUZPUk1fWlMgKG9ycl9zMF9zMzJfbV90aWVkMSwgc3ZpbnQzMl90 LCBpbnQzMl90LAorCQkgejEgPSBzdm9ycl9uX3MzMl9tIChwMCwgejEsIGQw KSwKKwkJIHoxID0gc3ZvcnJfbSAocDAsIHoxLCBkMCkpCisKKy8qCisqKiBv cnJfczBfczMyX21fdW50aWVkOgorKioJbW92CSh6WzAtOV0rXC5zKSwgczAK KyoqCW1vdnByZngJejEsIHoyCisqKglvcnIJejFcLnMsIHAwL20sIHoxXC5z LCBcMQorKioJcmV0CisqLworVEVTVF9VTklGT1JNX1pTIChvcnJfczBfczMy X21fdW50aWVkLCBzdmludDMyX3QsIGludDMyX3QsCisJCSB6MSA9IHN2b3Jy X25fczMyX20gKHAwLCB6MiwgZDApLAorCQkgejEgPSBzdm9ycl9tIChwMCwg ejIsIGQwKSkKKworLyoKKyoqIG9ycl8xX3MzMl9tX3RpZWQxOgorKioJbW92 CSh6WzAtOV0rXC5zKSwgIzEKKyoqCW9ycgl6MFwucywgcDAvbSwgejBcLnMs IFwxCisqKglyZXQKKyovCitURVNUX1VOSUZPUk1fWiAob3JyXzFfczMyX21f dGllZDEsIHN2aW50MzJfdCwKKwkJejAgPSBzdm9ycl9uX3MzMl9tIChwMCwg ejAsIDEpLAorCQl6MCA9IHN2b3JyX20gKHAwLCB6MCwgMSkpCisKKy8qCisq KiBvcnJfMV9zMzJfbV91bnRpZWQ6CisqKgltb3YJKHpbMC05XStcLnMpLCAj MQorKioJbW92cHJmeAl6MCwgejEKKyoqCW9ycgl6MFwucywgcDAvbSwgejBc LnMsIFwxCisqKglyZXQKKyovCitURVNUX1VOSUZPUk1fWiAob3JyXzFfczMy X21fdW50aWVkLCBzdmludDMyX3QsCisJCXowID0gc3ZvcnJfbl9zMzJfbSAo cDAsIHoxLCAxKSwKKwkJejAgPSBzdm9ycl9tIChwMCwgejEsIDEpKQorCisv KgorKiogb3JyX20yX3MzMl9tOgorKioJbW92CSh6WzAtOV0rXC5zKSwgIy0y CisqKglvcnIJejBcLnMsIHAwL20sIHowXC5zLCBcMQorKioJcmV0CisqLwor VEVTVF9VTklGT1JNX1ogKG9ycl9tMl9zMzJfbSwgc3ZpbnQzMl90LAorCQl6 MCA9IHN2b3JyX25fczMyX20gKHAwLCB6MCwgLTIpLAorCQl6MCA9IHN2b3Jy X20gKHAwLCB6MCwgLTIpKQorCisvKgorKiogb3JyX3MzMl96X3RpZWQxOgor KioJbW92cHJmeAl6MFwucywgcDAveiwgejBcLnMKKyoqCW9ycgl6MFwucywg cDAvbSwgejBcLnMsIHoxXC5zCisqKglyZXQKKyovCitURVNUX1VOSUZPUk1f WiAob3JyX3MzMl96X3RpZWQxLCBzdmludDMyX3QsCisJCXowID0gc3ZvcnJf czMyX3ogKHAwLCB6MCwgejEpLAorCQl6MCA9IHN2b3JyX3ogKHAwLCB6MCwg ejEpKQorCisvKgorKiogb3JyX3MzMl96X3RpZWQyOgorKioJbW92cHJmeAl6 MVwucywgcDAveiwgejFcLnMKKyoqCW9ycgl6MVwucywgcDAvbSwgejFcLnMs IHowXC5zCisqKglyZXQKKyovCitURVNUX1VOSUZPUk1fWiAob3JyX3MzMl96 X3RpZWQyLCBzdmludDMyX3QsCisJCXoxID0gc3ZvcnJfczMyX3ogKHAwLCB6 MCwgejEpLAorCQl6MSA9IHN2b3JyX3ogKHAwLCB6MCwgejEpKQorCisvKgor Kiogb3JyX3MzMl96X3VudGllZDoKKyoqCW1vdnByZngJejBcLnMsIHAwL3os IHoxXC5zCisqKglvcnIJejBcLnMsIHAwL20sIHowXC5zLCB6MlwucworKioJ cmV0CisqLworVEVTVF9VTklGT1JNX1ogKG9ycl9zMzJfel91bnRpZWQsIHN2 aW50MzJfdCwKKwkJejAgPSBzdm9ycl9zMzJfeiAocDAsIHoxLCB6MiksCisJ CXowID0gc3ZvcnJfeiAocDAsIHoxLCB6MikpCisKKy8qCisqKiBvcnJfdzBf czMyX3pfdGllZDE6CisqKgltb3YJKHpbMC05XStcLnMpLCB3MAorKioJbW92 cHJmeAl6MFwucywgcDAveiwgejBcLnMKKyoqCW9ycgl6MFwucywgcDAvbSwg ejBcLnMsIFwxCisqKglyZXQKKyovCitURVNUX1VOSUZPUk1fWlMgKG9ycl93 MF9zMzJfel90aWVkMSwgc3ZpbnQzMl90LCBpbnQzMl90LAorCQkgejAgPSBz dm9ycl9uX3MzMl96IChwMCwgejAsIHgwKSwKKwkJIHowID0gc3ZvcnJfeiAo cDAsIHowLCB4MCkpCisKKy8qCisqKiBvcnJfdzBfczMyX3pfdW50aWVkOgor KioJbW92CSh6WzAtOV0rXC5zKSwgdzAKKyoqCW1vdnByZngJejBcLnMsIHAw L3osIHoxXC5zCisqKglvcnIJejBcLnMsIHAwL20sIHowXC5zLCBcMQorKioJ cmV0CisqLworVEVTVF9VTklGT1JNX1pTIChvcnJfdzBfczMyX3pfdW50aWVk LCBzdmludDMyX3QsIGludDMyX3QsCisJCSB6MCA9IHN2b3JyX25fczMyX3og KHAwLCB6MSwgeDApLAorCQkgejAgPSBzdm9ycl96IChwMCwgejEsIHgwKSkK KworLyoKKyoqIG9ycl9zMF9zMzJfel90aWVkMToKKyoqCW1vdgkoelswLTld K1wucyksIHMwCisqKgltb3ZwcmZ4CXoxXC5zLCBwMC96LCB6MVwucworKioJ b3JyCXoxXC5zLCBwMC9tLCB6MVwucywgXDEKKyoqCXJldAorKi8KK1RFU1Rf VU5JRk9STV9aUyAob3JyX3MwX3MzMl96X3RpZWQxLCBzdmludDMyX3QsIGlu dDMyX3QsCisJCSB6MSA9IHN2b3JyX25fczMyX3ogKHAwLCB6MSwgZDApLAor CQkgejEgPSBzdm9ycl96IChwMCwgejEsIGQwKSkKKworLyoKKyoqIG9ycl9z MF9zMzJfel91bnRpZWQ6CisqKgltb3YJKHpbMC05XStcLnMpLCBzMAorKioJ bW92cHJmeAl6MVwucywgcDAveiwgejJcLnMKKyoqCW9ycgl6MVwucywgcDAv bSwgejFcLnMsIFwxCisqKglyZXQKKyovCitURVNUX1VOSUZPUk1fWlMgKG9y cl9zMF9zMzJfel91bnRpZWQsIHN2aW50MzJfdCwgaW50MzJfdCwKKwkJIHox ID0gc3ZvcnJfbl9zMzJfeiAocDAsIHoyLCBkMCksCisJCSB6MSA9IHN2b3Jy X3ogKHAwLCB6MiwgZDApKQorCisvKgorKiogb3JyX3MzMl94X3RpZWQxOgor KioJb3JyCXowXC5kLCB6MFwuZCwgejFcLmQKKyoqCXJldAorKi8KK1RFU1Rf VU5JRk9STV9aIChvcnJfczMyX3hfdGllZDEsIHN2aW50MzJfdCwKKwkJejAg PSBzdm9ycl9zMzJfeCAocDAsIHowLCB6MSksCisJCXowID0gc3ZvcnJfeCAo cDAsIHowLCB6MSkpCisKKy8qCisqKiBvcnJfczMyX3hfdGllZDI6CisqKglv cnIJejFcLmQsIHowXC5kLCB6MVwuZAorKioJcmV0CisqLworVEVTVF9VTklG T1JNX1ogKG9ycl9zMzJfeF90aWVkMiwgc3ZpbnQzMl90LAorCQl6MSA9IHN2 b3JyX3MzMl94IChwMCwgejAsIHoxKSwKKwkJejEgPSBzdm9ycl94IChwMCwg ejAsIHoxKSkKKworLyoKKyoqIG9ycl9zMzJfeF91bnRpZWQ6CisqKglvcnIJ ejJcLmQsIHowXC5kLCB6MVwuZAorKioJcmV0CisqLworVEVTVF9VTklGT1JN X1ogKG9ycl9zMzJfeF91bnRpZWQsIHN2aW50MzJfdCwKKwkJejIgPSBzdm9y cl9zMzJfeCAocDAsIHowLCB6MSksCisJCXoyID0gc3ZvcnJfeCAocDAsIHow LCB6MSkpCisKKy8qCisqKiBvcnJfdzBfczMyX3hfdGllZDE6CisqKgltb3YJ KHpbMC05XSspXC5zLCB3MAorKioJb3JyCXowXC5kLCB6MFwuZCwgXDFcLmQK KyoqCXJldAorKi8KK1RFU1RfVU5JRk9STV9aUyAob3JyX3cwX3MzMl94X3Rp ZWQxLCBzdmludDMyX3QsIGludDMyX3QsCisJCSB6MCA9IHN2b3JyX25fczMy X3ggKHAwLCB6MCwgeDApLAorCQkgejAgPSBzdm9ycl94IChwMCwgejAsIHgw KSkKKworLyoKKyoqIG9ycl93MF9zMzJfeF91bnRpZWQ6CisqKgltb3YJejFc LnMsIHcwCisqKglvcnIJejFcLmQsIHowXC5kLCB6MVwuZAorKioJcmV0Cisq LworVEVTVF9VTklGT1JNX1pTIChvcnJfdzBfczMyX3hfdW50aWVkLCBzdmlu dDMyX3QsIGludDMyX3QsCisJCSB6MSA9IHN2b3JyX25fczMyX3ggKHAwLCB6 MCwgeDApLAorCQkgejEgPSBzdm9ycl94IChwMCwgejAsIHgwKSkKKworLyoK KyoqIG9ycl9zMF9zMzJfeF90aWVkMToKKyoqCW1vdgkoelswLTldKylcLnMs IHMwCisqKglvcnIJejFcLmQsIHoxXC5kLCBcMVwuZAorKioJcmV0CisqLwor VEVTVF9VTklGT1JNX1pTIChvcnJfczBfczMyX3hfdGllZDEsIHN2aW50MzJf dCwgaW50MzJfdCwKKwkJIHoxID0gc3ZvcnJfbl9zMzJfeCAocDAsIHoxLCBk MCksCisJCSB6MSA9IHN2b3JyX3ggKHAwLCB6MSwgZDApKQorCisvKgorKiog b3JyX3MwX3MzMl94X3VudGllZDoKKyoqCW1vdgkoelswLTldKylcLnMsIHMw CisqKglvcnIJejJcLmQsIHoxXC5kLCBcMVwuZAorKioJcmV0CisqLworVEVT VF9VTklGT1JNX1pTIChvcnJfczBfczMyX3hfdW50aWVkLCBzdmludDMyX3Qs IGludDMyX3QsCisJCSB6MiA9IHN2b3JyX25fczMyX3ggKHAwLCB6MSwgZDAp LAorCQkgejIgPSBzdm9ycl94IChwMCwgejEsIGQwKSkKKworLyoKKyoqIG9y cl8xX3MzMl94X3RpZWQxOgorKioJb3JyCXowXC5zLCB6MFwucywgIzB4MQor KioJcmV0CisqLworVEVTVF9VTklGT1JNX1ogKG9ycl8xX3MzMl94X3RpZWQx LCBzdmludDMyX3QsCisJCXowID0gc3ZvcnJfbl9zMzJfeCAocDAsIHowLCAx KSwKKwkJejAgPSBzdm9ycl94IChwMCwgejAsIDEpKQorCisvKgorKiogb3Jy XzFfczMyX3hfdW50aWVkOgorKioJbW92cHJmeAl6MCwgejEKKyoqCW9ycgl6 MFwucywgejBcLnMsICMweDEKKyoqCXJldAorKi8KK1RFU1RfVU5JRk9STV9a IChvcnJfMV9zMzJfeF91bnRpZWQsIHN2aW50MzJfdCwKKwkJejAgPSBzdm9y cl9uX3MzMl94IChwMCwgejEsIDEpLAorCQl6MCA9IHN2b3JyX3ggKHAwLCB6 MSwgMSkpCisKKy8qCisqKiBvcnJfMTI3X3MzMl94OgorKioJb3JyCXowXC5z LCB6MFwucywgIzB4N2YKKyoqCXJldAorKi8KK1RFU1RfVU5JRk9STV9aIChv cnJfMTI3X3MzMl94LCBzdmludDMyX3QsCisJCXowID0gc3ZvcnJfbl9zMzJf eCAocDAsIHowLCAxMjcpLAorCQl6MCA9IHN2b3JyX3ggKHAwLCB6MCwgMTI3 KSkKKworLyoKKyoqIG9ycl8xMjhfczMyX3g6CisqKglvcnIJejBcLnMsIHow XC5zLCAjMHg4MAorKioJcmV0CisqLworVEVTVF9VTklGT1JNX1ogKG9ycl8x MjhfczMyX3gsIHN2aW50MzJfdCwKKwkJejAgPSBzdm9ycl9uX3MzMl94IChw MCwgejAsIDEyOCksCisJCXowID0gc3ZvcnJfeCAocDAsIHowLCAxMjgpKQor CisvKgorKiogb3JyXzI1NV9zMzJfeDoKKyoqCW9ycgl6MFwucywgejBcLnMs ICMweGZmCisqKglyZXQKKyovCitURVNUX1VOSUZPUk1fWiAob3JyXzI1NV9z MzJfeCwgc3ZpbnQzMl90LAorCQl6MCA9IHN2b3JyX25fczMyX3ggKHAwLCB6 MCwgMjU1KSwKKwkJejAgPSBzdm9ycl94IChwMCwgejAsIDI1NSkpCisKKy8q CisqKiBvcnJfMjU2X3MzMl94OgorKioJb3JyCXowXC5zLCB6MFwucywgIzB4 MTAwCisqKglyZXQKKyovCitURVNUX1VOSUZPUk1fWiAob3JyXzI1Nl9zMzJf eCwgc3ZpbnQzMl90LAorCQl6MCA9IHN2b3JyX25fczMyX3ggKHAwLCB6MCwg MjU2KSwKKwkJejAgPSBzdm9ycl94IChwMCwgejAsIDI1NikpCisKKy8qIFRP RE86IEJhZCBjb2RlIGFuZCBuZWVkcyBmaXhpbmcuICAqLworVEVTVF9VTklG T1JNX1ogKG9ycl8yNTdfczMyX3gsIHN2aW50MzJfdCwKKwkJejAgPSBzdm9y cl9uX3MzMl94IChwMCwgejAsIDI1NyksCisJCXowID0gc3ZvcnJfeCAocDAs IHowLCAyNTcpKQorCisvKgorKiogb3JyXzUxMl9zMzJfeDoKKyoqCW9ycgl6 MFwucywgejBcLnMsICMweDIwMAorKioJcmV0CisqLworVEVTVF9VTklGT1JN X1ogKG9ycl81MTJfczMyX3gsIHN2aW50MzJfdCwKKwkJejAgPSBzdm9ycl9u X3MzMl94IChwMCwgejAsIDUxMiksCisJCXowID0gc3ZvcnJfeCAocDAsIHow LCA1MTIpKQorCisvKgorKiogb3JyXzY1MjgwX3MzMl94OgorKioJb3JyCXow XC5zLCB6MFwucywgIzB4ZmYwMAorKioJcmV0CisqLworVEVTVF9VTklGT1JN X1ogKG9ycl82NTI4MF9zMzJfeCwgc3ZpbnQzMl90LAorCQl6MCA9IHN2b3Jy X25fczMyX3ggKHAwLCB6MCwgMHhmZjAwKSwKKwkJejAgPSBzdm9ycl94IChw MCwgejAsIDB4ZmYwMCkpCisKKy8qCisqKiBvcnJfbTEyN19zMzJfeDoKKyoq CW9ycgl6MFwucywgejBcLnMsICMweGZmZmZmZjgxCisqKglyZXQKKyovCitU RVNUX1VOSUZPUk1fWiAob3JyX20xMjdfczMyX3gsIHN2aW50MzJfdCwKKwkJ ejAgPSBzdm9ycl9uX3MzMl94IChwMCwgejAsIC0xMjcpLAorCQl6MCA9IHN2 b3JyX3ggKHAwLCB6MCwgLTEyNykpCisKKy8qCisqKiBvcnJfbTEyOF9zMzJf eDoKKyoqCW9ycgl6MFwucywgejBcLnMsICMweGZmZmZmZjgwCisqKglyZXQK KyovCitURVNUX1VOSUZPUk1fWiAob3JyX20xMjhfczMyX3gsIHN2aW50MzJf dCwKKwkJejAgPSBzdm9ycl9uX3MzMl94IChwMCwgejAsIC0xMjgpLAorCQl6 MCA9IHN2b3JyX3ggKHAwLCB6MCwgLTEyOCkpCisKKy8qCisqKiBvcnJfbTI1 NV9zMzJfeDoKKyoqCW9ycgl6MFwucywgejBcLnMsICMweGZmZmZmZjAxCisq KglyZXQKKyovCitURVNUX1VOSUZPUk1fWiAob3JyX20yNTVfczMyX3gsIHN2 aW50MzJfdCwKKwkJejAgPSBzdm9ycl9uX3MzMl94IChwMCwgejAsIC0yNTUp LAorCQl6MCA9IHN2b3JyX3ggKHAwLCB6MCwgLTI1NSkpCisKKy8qCisqKiBv cnJfbTI1Nl9zMzJfeDoKKyoqCW9ycgl6MFwucywgejBcLnMsICMweGZmZmZm ZjAwCisqKglyZXQKKyovCitURVNUX1VOSUZPUk1fWiAob3JyX20yNTZfczMy X3gsIHN2aW50MzJfdCwKKwkJejAgPSBzdm9ycl9uX3MzMl94IChwMCwgejAs IC0yNTYpLAorCQl6MCA9IHN2b3JyX3ggKHAwLCB6MCwgLTI1NikpCisKKy8q CisqKiBvcnJfbTI1N19zMzJfeDoKKyoqCW9ycgl6MFwucywgejBcLnMsICMw eGZmZmZmZWZmCisqKglyZXQKKyovCitURVNUX1VOSUZPUk1fWiAob3JyX20y NTdfczMyX3gsIHN2aW50MzJfdCwKKwkJejAgPSBzdm9ycl9uX3MzMl94IChw MCwgejAsIC0yNTcpLAorCQl6MCA9IHN2b3JyX3ggKHAwLCB6MCwgLTI1Nykp CisKKy8qCisqKiBvcnJfbTUxMl9zMzJfeDoKKyoqCW9ycgl6MFwucywgejBc LnMsICMweGZmZmZmZTAwCisqKglyZXQKKyovCitURVNUX1VOSUZPUk1fWiAo b3JyX201MTJfczMyX3gsIHN2aW50MzJfdCwKKwkJejAgPSBzdm9ycl9uX3Mz Ml94IChwMCwgejAsIC01MTIpLAorCQl6MCA9IHN2b3JyX3ggKHAwLCB6MCwg LTUxMikpCisKKy8qCisqKiBvcnJfbTMyNzY4X3MzMl94OgorKioJb3JyCXow XC5zLCB6MFwucywgIzB4ZmZmZjgwMDAKKyoqCXJldAorKi8KK1RFU1RfVU5J Rk9STV9aIChvcnJfbTMyNzY4X3MzMl94LCBzdmludDMyX3QsCisJCXowID0g c3ZvcnJfbl9zMzJfeCAocDAsIHowLCAtMHg4MDAwKSwKKwkJejAgPSBzdm9y cl94IChwMCwgejAsIC0weDgwMDApKQorCisvKgorKiogb3JyXzVfczMyX3g6 CisqKgltb3YJKHpbMC05XSspXC5zLCAjNQorKioJb3JyCXowXC5kLCB6MFwu ZCwgXDFcLmQKKyoqCXJldAorKi8KK1RFU1RfVU5JRk9STV9aIChvcnJfNV9z MzJfeCwgc3ZpbnQzMl90LAorCQl6MCA9IHN2b3JyX25fczMyX3ggKHAwLCB6 MCwgNSksCisJCXowID0gc3ZvcnJfeCAocDAsIHowLCA1KSkKZGlmZiAtLWdp dCBhL2djYy90ZXN0c3VpdGUvZ2NjLnRhcmdldC9hYXJjaDY0L3N2ZS1hY2xl L2FzbS9vcnJfczY0LmMgYi9nY2MvdGVzdHN1aXRlL2djYy50YXJnZXQvYWFy Y2g2NC9zdmUtYWNsZS9hc20vb3JyX3M2NC5jCm5ldyBmaWxlIG1vZGUgMTAw NjQ0CmluZGV4IDAwMDAwMDAuLjc5YjkzZGIKLS0tIC9kZXYvbnVsbAorKysg Yi9nY2MvdGVzdHN1aXRlL2djYy50YXJnZXQvYWFyY2g2NC9zdmUtYWNsZS9h c20vb3JyX3M2NC5jCkBAIC0wLDAgKzEsMzkzIEBACisvKiB7IGRnLWRvIGNv bXBpbGUgfSAqLworLyogeyBkZy1maW5hbCB7IGNoZWNrLWZ1bmN0aW9uLWJv ZGllcyAiKioiICIiICItRENIRUNLX0FTTSIgfSB9ICovCisKKyNpbmNsdWRl ICJ0ZXN0X3N2ZV9hY2xlLmgiCisKKy8qCisqKiBvcnJfczY0X21fdGllZDE6 CisqKglvcnIJejBcLmQsIHAwL20sIHowXC5kLCB6MVwuZAorKioJcmV0Cisq LworVEVTVF9VTklGT1JNX1ogKG9ycl9zNjRfbV90aWVkMSwgc3ZpbnQ2NF90 LAorCQl6MCA9IHN2b3JyX3M2NF9tIChwMCwgejAsIHoxKSwKKwkJejAgPSBz dm9ycl9tIChwMCwgejAsIHoxKSkKKworLyogQmFkIFJBIGNob2ljZTogbm8g cHJlZmVycmVkIG91dHB1dCBzZXF1ZW5jZS4gICovCitURVNUX1VOSUZPUk1f WiAob3JyX3M2NF9tX3RpZWQyLCBzdmludDY0X3QsCisJCXoxID0gc3ZvcnJf czY0X20gKHAwLCB6MCwgejEpLAorCQl6MSA9IHN2b3JyX20gKHAwLCB6MCwg ejEpKQorCisvKgorKiogb3JyX3M2NF9tX3VudGllZDoKKyoqCW1vdnByZngJ ejAsIHoxCisqKglvcnIJejBcLmQsIHAwL20sIHowXC5kLCB6MlwuZAorKioJ cmV0CisqLworVEVTVF9VTklGT1JNX1ogKG9ycl9zNjRfbV91bnRpZWQsIHN2 aW50NjRfdCwKKwkJejAgPSBzdm9ycl9zNjRfbSAocDAsIHoxLCB6MiksCisJ CXowID0gc3ZvcnJfbSAocDAsIHoxLCB6MikpCisKKy8qCisqKiBvcnJfeDBf czY0X21fdGllZDE6CisqKgltb3YJKHpbMC05XStcLmQpLCB4MAorKioJb3Jy CXowXC5kLCBwMC9tLCB6MFwuZCwgXDEKKyoqCXJldAorKi8KK1RFU1RfVU5J Rk9STV9aUyAob3JyX3gwX3M2NF9tX3RpZWQxLCBzdmludDY0X3QsIGludDY0 X3QsCisJCSB6MCA9IHN2b3JyX25fczY0X20gKHAwLCB6MCwgeDApLAorCQkg ejAgPSBzdm9ycl9tIChwMCwgejAsIHgwKSkKKworLyoKKyoqIG9ycl94MF9z NjRfbV91bnRpZWQ6CisqKgltb3YJKHpbMC05XStcLmQpLCB4MAorKioJbW92 cHJmeAl6MCwgejEKKyoqCW9ycgl6MFwuZCwgcDAvbSwgejBcLmQsIFwxCisq KglyZXQKKyovCitURVNUX1VOSUZPUk1fWlMgKG9ycl94MF9zNjRfbV91bnRp ZWQsIHN2aW50NjRfdCwgaW50NjRfdCwKKwkJIHowID0gc3ZvcnJfbl9zNjRf bSAocDAsIHoxLCB4MCksCisJCSB6MCA9IHN2b3JyX20gKHAwLCB6MSwgeDAp KQorCisvKgorKiogb3JyX2QwX3M2NF9tX3RpZWQxOgorKioJbW92CSh6WzAt OV0rXC5kKSwgZDAKKyoqCW9ycgl6MVwuZCwgcDAvbSwgejFcLmQsIFwxCisq KglyZXQKKyovCitURVNUX1VOSUZPUk1fWlMgKG9ycl9kMF9zNjRfbV90aWVk MSwgc3ZpbnQ2NF90LCBpbnQ2NF90LAorCQkgejEgPSBzdm9ycl9uX3M2NF9t IChwMCwgejEsIGQwKSwKKwkJIHoxID0gc3ZvcnJfbSAocDAsIHoxLCBkMCkp CisKKy8qCisqKiBvcnJfZDBfczY0X21fdW50aWVkOgorKioJbW92CSh6WzAt OV0rXC5kKSwgZDAKKyoqCW1vdnByZngJejEsIHoyCisqKglvcnIJejFcLmQs IHAwL20sIHoxXC5kLCBcMQorKioJcmV0CisqLworVEVTVF9VTklGT1JNX1pT IChvcnJfZDBfczY0X21fdW50aWVkLCBzdmludDY0X3QsIGludDY0X3QsCisJ CSB6MSA9IHN2b3JyX25fczY0X20gKHAwLCB6MiwgZDApLAorCQkgejEgPSBz dm9ycl9tIChwMCwgejIsIGQwKSkKKworLyoKKyoqIG9ycl8xX3M2NF9tX3Rp ZWQxOgorKioJbW92CSh6WzAtOV0rXC5kKSwgIzEKKyoqCW9ycgl6MFwuZCwg cDAvbSwgejBcLmQsIFwxCisqKglyZXQKKyovCitURVNUX1VOSUZPUk1fWiAo b3JyXzFfczY0X21fdGllZDEsIHN2aW50NjRfdCwKKwkJejAgPSBzdm9ycl9u X3M2NF9tIChwMCwgejAsIDEpLAorCQl6MCA9IHN2b3JyX20gKHAwLCB6MCwg MSkpCisKKy8qCisqKiBvcnJfMV9zNjRfbV91bnRpZWQ6CisqKgltb3YJKHpb MC05XStcLmQpLCAjMQorKioJbW92cHJmeAl6MCwgejEKKyoqCW9ycgl6MFwu ZCwgcDAvbSwgejBcLmQsIFwxCisqKglyZXQKKyovCitURVNUX1VOSUZPUk1f WiAob3JyXzFfczY0X21fdW50aWVkLCBzdmludDY0X3QsCisJCXowID0gc3Zv cnJfbl9zNjRfbSAocDAsIHoxLCAxKSwKKwkJejAgPSBzdm9ycl9tIChwMCwg ejEsIDEpKQorCisvKgorKiogb3JyX20yX3M2NF9tOgorKioJbW92CSh6WzAt OV0rXC5kKSwgIy0yCisqKglvcnIJejBcLmQsIHAwL20sIHowXC5kLCBcMQor KioJcmV0CisqLworVEVTVF9VTklGT1JNX1ogKG9ycl9tMl9zNjRfbSwgc3Zp bnQ2NF90LAorCQl6MCA9IHN2b3JyX25fczY0X20gKHAwLCB6MCwgLTIpLAor CQl6MCA9IHN2b3JyX20gKHAwLCB6MCwgLTIpKQorCisvKgorKiogb3JyX3M2 NF96X3RpZWQxOgorKioJbW92cHJmeAl6MFwuZCwgcDAveiwgejBcLmQKKyoq CW9ycgl6MFwuZCwgcDAvbSwgejBcLmQsIHoxXC5kCisqKglyZXQKKyovCitU RVNUX1VOSUZPUk1fWiAob3JyX3M2NF96X3RpZWQxLCBzdmludDY0X3QsCisJ CXowID0gc3ZvcnJfczY0X3ogKHAwLCB6MCwgejEpLAorCQl6MCA9IHN2b3Jy X3ogKHAwLCB6MCwgejEpKQorCisvKgorKiogb3JyX3M2NF96X3RpZWQyOgor KioJbW92cHJmeAl6MVwuZCwgcDAveiwgejFcLmQKKyoqCW9ycgl6MVwuZCwg cDAvbSwgejFcLmQsIHowXC5kCisqKglyZXQKKyovCitURVNUX1VOSUZPUk1f WiAob3JyX3M2NF96X3RpZWQyLCBzdmludDY0X3QsCisJCXoxID0gc3ZvcnJf czY0X3ogKHAwLCB6MCwgejEpLAorCQl6MSA9IHN2b3JyX3ogKHAwLCB6MCwg ejEpKQorCisvKgorKiogb3JyX3M2NF96X3VudGllZDoKKyoqCW1vdnByZngJ ejBcLmQsIHAwL3osIHoxXC5kCisqKglvcnIJejBcLmQsIHAwL20sIHowXC5k LCB6MlwuZAorKioJcmV0CisqLworVEVTVF9VTklGT1JNX1ogKG9ycl9zNjRf el91bnRpZWQsIHN2aW50NjRfdCwKKwkJejAgPSBzdm9ycl9zNjRfeiAocDAs IHoxLCB6MiksCisJCXowID0gc3ZvcnJfeiAocDAsIHoxLCB6MikpCisKKy8q CisqKiBvcnJfeDBfczY0X3pfdGllZDE6CisqKgltb3YJKHpbMC05XStcLmQp LCB4MAorKioJbW92cHJmeAl6MFwuZCwgcDAveiwgejBcLmQKKyoqCW9ycgl6 MFwuZCwgcDAvbSwgejBcLmQsIFwxCisqKglyZXQKKyovCitURVNUX1VOSUZP Uk1fWlMgKG9ycl94MF9zNjRfel90aWVkMSwgc3ZpbnQ2NF90LCBpbnQ2NF90 LAorCQkgejAgPSBzdm9ycl9uX3M2NF96IChwMCwgejAsIHgwKSwKKwkJIHow ID0gc3ZvcnJfeiAocDAsIHowLCB4MCkpCisKKy8qCisqKiBvcnJfeDBfczY0 X3pfdW50aWVkOgorKioJbW92CSh6WzAtOV0rXC5kKSwgeDAKKyoqCW1vdnBy ZngJejBcLmQsIHAwL3osIHoxXC5kCisqKglvcnIJejBcLmQsIHAwL20sIHow XC5kLCBcMQorKioJcmV0CisqLworVEVTVF9VTklGT1JNX1pTIChvcnJfeDBf czY0X3pfdW50aWVkLCBzdmludDY0X3QsIGludDY0X3QsCisJCSB6MCA9IHN2 b3JyX25fczY0X3ogKHAwLCB6MSwgeDApLAorCQkgejAgPSBzdm9ycl96IChw MCwgejEsIHgwKSkKKworLyoKKyoqIG9ycl9kMF9zNjRfel90aWVkMToKKyoq CW1vdgkoelswLTldK1wuZCksIGQwCisqKgltb3ZwcmZ4CXoxXC5kLCBwMC96 LCB6MVwuZAorKioJb3JyCXoxXC5kLCBwMC9tLCB6MVwuZCwgXDEKKyoqCXJl dAorKi8KK1RFU1RfVU5JRk9STV9aUyAob3JyX2QwX3M2NF96X3RpZWQxLCBz dmludDY0X3QsIGludDY0X3QsCisJCSB6MSA9IHN2b3JyX25fczY0X3ogKHAw LCB6MSwgZDApLAorCQkgejEgPSBzdm9ycl96IChwMCwgejEsIGQwKSkKKwor LyoKKyoqIG9ycl9kMF9zNjRfel91bnRpZWQ6CisqKgltb3YJKHpbMC05XStc LmQpLCBkMAorKioJbW92cHJmeAl6MVwuZCwgcDAveiwgejJcLmQKKyoqCW9y cgl6MVwuZCwgcDAvbSwgejFcLmQsIFwxCisqKglyZXQKKyovCitURVNUX1VO SUZPUk1fWlMgKG9ycl9kMF9zNjRfel91bnRpZWQsIHN2aW50NjRfdCwgaW50 NjRfdCwKKwkJIHoxID0gc3ZvcnJfbl9zNjRfeiAocDAsIHoyLCBkMCksCisJ CSB6MSA9IHN2b3JyX3ogKHAwLCB6MiwgZDApKQorCisvKgorKiogb3JyX3M2 NF94X3RpZWQxOgorKioJb3JyCXowXC5kLCB6MFwuZCwgejFcLmQKKyoqCXJl dAorKi8KK1RFU1RfVU5JRk9STV9aIChvcnJfczY0X3hfdGllZDEsIHN2aW50 NjRfdCwKKwkJejAgPSBzdm9ycl9zNjRfeCAocDAsIHowLCB6MSksCisJCXow ID0gc3ZvcnJfeCAocDAsIHowLCB6MSkpCisKKy8qCisqKiBvcnJfczY0X3hf dGllZDI6CisqKglvcnIJejFcLmQsIHowXC5kLCB6MVwuZAorKioJcmV0Cisq LworVEVTVF9VTklGT1JNX1ogKG9ycl9zNjRfeF90aWVkMiwgc3ZpbnQ2NF90 LAorCQl6MSA9IHN2b3JyX3M2NF94IChwMCwgejAsIHoxKSwKKwkJejEgPSBz dm9ycl94IChwMCwgejAsIHoxKSkKKworLyoKKyoqIG9ycl9zNjRfeF91bnRp ZWQ6CisqKglvcnIJejJcLmQsIHowXC5kLCB6MVwuZAorKioJcmV0CisqLwor VEVTVF9VTklGT1JNX1ogKG9ycl9zNjRfeF91bnRpZWQsIHN2aW50NjRfdCwK KwkJejIgPSBzdm9ycl9zNjRfeCAocDAsIHowLCB6MSksCisJCXoyID0gc3Zv cnJfeCAocDAsIHowLCB6MSkpCisKKy8qCisqKiBvcnJfeDBfczY0X3hfdGll ZDE6CisqKgltb3YJKHpbMC05XSspXC5kLCB4MAorKioJb3JyCXowXC5kLCB6 MFwuZCwgXDFcLmQKKyoqCXJldAorKi8KK1RFU1RfVU5JRk9STV9aUyAob3Jy X3gwX3M2NF94X3RpZWQxLCBzdmludDY0X3QsIGludDY0X3QsCisJCSB6MCA9 IHN2b3JyX25fczY0X3ggKHAwLCB6MCwgeDApLAorCQkgejAgPSBzdm9ycl94 IChwMCwgejAsIHgwKSkKKworLyoKKyoqIG9ycl94MF9zNjRfeF91bnRpZWQ6 CisqKgltb3YJejFcLmQsIHgwCisqKglvcnIJejFcLmQsIHowXC5kLCB6MVwu ZAorKioJcmV0CisqLworVEVTVF9VTklGT1JNX1pTIChvcnJfeDBfczY0X3hf dW50aWVkLCBzdmludDY0X3QsIGludDY0X3QsCisJCSB6MSA9IHN2b3JyX25f czY0X3ggKHAwLCB6MCwgeDApLAorCQkgejEgPSBzdm9ycl94IChwMCwgejAs IHgwKSkKKworLyoKKyoqIG9ycl9kMF9zNjRfeF90aWVkMToKKyoqCW1vdgko elswLTldKylcLmQsIGQwCisqKglvcnIJejFcLmQsIHoxXC5kLCBcMVwuZAor KioJcmV0CisqLworVEVTVF9VTklGT1JNX1pTIChvcnJfZDBfczY0X3hfdGll ZDEsIHN2aW50NjRfdCwgaW50NjRfdCwKKwkJIHoxID0gc3ZvcnJfbl9zNjRf eCAocDAsIHoxLCBkMCksCisJCSB6MSA9IHN2b3JyX3ggKHAwLCB6MSwgZDAp KQorCisvKgorKiogb3JyX2QwX3M2NF94X3VudGllZDoKKyoqCW1vdgkoelsw LTldKylcLmQsIGQwCisqKglvcnIJejJcLmQsIHoxXC5kLCBcMVwuZAorKioJ cmV0CisqLworVEVTVF9VTklGT1JNX1pTIChvcnJfZDBfczY0X3hfdW50aWVk LCBzdmludDY0X3QsIGludDY0X3QsCisJCSB6MiA9IHN2b3JyX25fczY0X3gg KHAwLCB6MSwgZDApLAorCQkgejIgPSBzdm9ycl94IChwMCwgejEsIGQwKSkK KworLyoKKyoqIG9ycl8xX3M2NF94X3RpZWQxOgorKioJb3JyCXowXC5kLCB6 MFwuZCwgIzB4MQorKioJcmV0CisqLworVEVTVF9VTklGT1JNX1ogKG9ycl8x X3M2NF94X3RpZWQxLCBzdmludDY0X3QsCisJCXowID0gc3ZvcnJfbl9zNjRf eCAocDAsIHowLCAxKSwKKwkJejAgPSBzdm9ycl94IChwMCwgejAsIDEpKQor CisvKgorKiogb3JyXzFfczY0X3hfdW50aWVkOgorKioJbW92cHJmeAl6MCwg ejEKKyoqCW9ycgl6MFwuZCwgejBcLmQsICMweDEKKyoqCXJldAorKi8KK1RF U1RfVU5JRk9STV9aIChvcnJfMV9zNjRfeF91bnRpZWQsIHN2aW50NjRfdCwK KwkJejAgPSBzdm9ycl9uX3M2NF94IChwMCwgejEsIDEpLAorCQl6MCA9IHN2 b3JyX3ggKHAwLCB6MSwgMSkpCisKKy8qCisqKiBvcnJfMTI3X3M2NF94Ogor KioJb3JyCXowXC5kLCB6MFwuZCwgIzB4N2YKKyoqCXJldAorKi8KK1RFU1Rf VU5JRk9STV9aIChvcnJfMTI3X3M2NF94LCBzdmludDY0X3QsCisJCXowID0g c3ZvcnJfbl9zNjRfeCAocDAsIHowLCAxMjcpLAorCQl6MCA9IHN2b3JyX3gg KHAwLCB6MCwgMTI3KSkKKworLyoKKyoqIG9ycl8xMjhfczY0X3g6CisqKglv cnIJejBcLmQsIHowXC5kLCAjMHg4MAorKioJcmV0CisqLworVEVTVF9VTklG T1JNX1ogKG9ycl8xMjhfczY0X3gsIHN2aW50NjRfdCwKKwkJejAgPSBzdm9y cl9uX3M2NF94IChwMCwgejAsIDEyOCksCisJCXowID0gc3ZvcnJfeCAocDAs IHowLCAxMjgpKQorCisvKgorKiogb3JyXzI1NV9zNjRfeDoKKyoqCW9ycgl6 MFwuZCwgejBcLmQsICMweGZmCisqKglyZXQKKyovCitURVNUX1VOSUZPUk1f WiAob3JyXzI1NV9zNjRfeCwgc3ZpbnQ2NF90LAorCQl6MCA9IHN2b3JyX25f czY0X3ggKHAwLCB6MCwgMjU1KSwKKwkJejAgPSBzdm9ycl94IChwMCwgejAs IDI1NSkpCisKKy8qCisqKiBvcnJfMjU2X3M2NF94OgorKioJb3JyCXowXC5k LCB6MFwuZCwgIzB4MTAwCisqKglyZXQKKyovCitURVNUX1VOSUZPUk1fWiAo b3JyXzI1Nl9zNjRfeCwgc3ZpbnQ2NF90LAorCQl6MCA9IHN2b3JyX25fczY0 X3ggKHAwLCB6MCwgMjU2KSwKKwkJejAgPSBzdm9ycl94IChwMCwgejAsIDI1 NikpCisKKy8qIFRPRE86IEJhZCBjb2RlIGFuZCBuZWVkcyBmaXhpbmcuICAq LworVEVTVF9VTklGT1JNX1ogKG9ycl8yNTdfczY0X3gsIHN2aW50NjRfdCwK KwkJejAgPSBzdm9ycl9uX3M2NF94IChwMCwgejAsIDI1NyksCisJCXowID0g c3ZvcnJfeCAocDAsIHowLCAyNTcpKQorCisvKgorKiogb3JyXzUxMl9zNjRf eDoKKyoqCW9ycgl6MFwuZCwgejBcLmQsICMweDIwMAorKioJcmV0CisqLwor VEVTVF9VTklGT1JNX1ogKG9ycl81MTJfczY0X3gsIHN2aW50NjRfdCwKKwkJ ejAgPSBzdm9ycl9uX3M2NF94IChwMCwgejAsIDUxMiksCisJCXowID0gc3Zv cnJfeCAocDAsIHowLCA1MTIpKQorCisvKgorKiogb3JyXzY1MjgwX3M2NF94 OgorKioJb3JyCXowXC5kLCB6MFwuZCwgIzB4ZmYwMAorKioJcmV0CisqLwor VEVTVF9VTklGT1JNX1ogKG9ycl82NTI4MF9zNjRfeCwgc3ZpbnQ2NF90LAor CQl6MCA9IHN2b3JyX25fczY0X3ggKHAwLCB6MCwgMHhmZjAwKSwKKwkJejAg PSBzdm9ycl94IChwMCwgejAsIDB4ZmYwMCkpCisKKy8qCisqKiBvcnJfbTEy N19zNjRfeDoKKyoqCW9ycgl6MFwuZCwgejBcLmQsICMweGZmZmZmZmZmZmZm ZmZmODEKKyoqCXJldAorKi8KK1RFU1RfVU5JRk9STV9aIChvcnJfbTEyN19z NjRfeCwgc3ZpbnQ2NF90LAorCQl6MCA9IHN2b3JyX25fczY0X3ggKHAwLCB6 MCwgLTEyNyksCisJCXowID0gc3ZvcnJfeCAocDAsIHowLCAtMTI3KSkKKwor LyoKKyoqIG9ycl9tMTI4X3M2NF94OgorKioJb3JyCXowXC5kLCB6MFwuZCwg IzB4ZmZmZmZmZmZmZmZmZmY4MAorKioJcmV0CisqLworVEVTVF9VTklGT1JN X1ogKG9ycl9tMTI4X3M2NF94LCBzdmludDY0X3QsCisJCXowID0gc3ZvcnJf bl9zNjRfeCAocDAsIHowLCAtMTI4KSwKKwkJejAgPSBzdm9ycl94IChwMCwg ejAsIC0xMjgpKQorCisvKgorKiogb3JyX20yNTVfczY0X3g6CisqKglvcnIJ ejBcLmQsIHowXC5kLCAjMHhmZmZmZmZmZmZmZmZmZjAxCisqKglyZXQKKyov CitURVNUX1VOSUZPUk1fWiAob3JyX20yNTVfczY0X3gsIHN2aW50NjRfdCwK KwkJejAgPSBzdm9ycl9uX3M2NF94IChwMCwgejAsIC0yNTUpLAorCQl6MCA9 IHN2b3JyX3ggKHAwLCB6MCwgLTI1NSkpCisKKy8qCisqKiBvcnJfbTI1Nl9z NjRfeDoKKyoqCW9ycgl6MFwuZCwgejBcLmQsICMweGZmZmZmZmZmZmZmZmZm MDAKKyoqCXJldAorKi8KK1RFU1RfVU5JRk9STV9aIChvcnJfbTI1Nl9zNjRf eCwgc3ZpbnQ2NF90LAorCQl6MCA9IHN2b3JyX25fczY0X3ggKHAwLCB6MCwg LTI1NiksCisJCXowID0gc3ZvcnJfeCAocDAsIHowLCAtMjU2KSkKKworLyoK KyoqIG9ycl9tMjU3X3M2NF94OgorKioJb3JyCXowXC5kLCB6MFwuZCwgIzB4 ZmZmZmZmZmZmZmZmZmVmZgorKioJcmV0CisqLworVEVTVF9VTklGT1JNX1og KG9ycl9tMjU3X3M2NF94LCBzdmludDY0X3QsCisJCXowID0gc3ZvcnJfbl9z NjRfeCAocDAsIHowLCAtMjU3KSwKKwkJejAgPSBzdm9ycl94IChwMCwgejAs IC0yNTcpKQorCisvKgorKiogb3JyX201MTJfczY0X3g6CisqKglvcnIJejBc LmQsIHowXC5kLCAjMHhmZmZmZmZmZmZmZmZmZTAwCisqKglyZXQKKyovCitU RVNUX1VOSUZPUk1fWiAob3JyX201MTJfczY0X3gsIHN2aW50NjRfdCwKKwkJ ejAgPSBzdm9ycl9uX3M2NF94IChwMCwgejAsIC01MTIpLAorCQl6MCA9IHN2 b3JyX3ggKHAwLCB6MCwgLTUxMikpCisKKy8qCisqKiBvcnJfbTMyNzY4X3M2 NF94OgorKioJb3JyCXowXC5kLCB6MFwuZCwgIzB4ZmZmZmZmZmZmZmZmODAw MAorKioJcmV0CisqLworVEVTVF9VTklGT1JNX1ogKG9ycl9tMzI3NjhfczY0 X3gsIHN2aW50NjRfdCwKKwkJejAgPSBzdm9ycl9uX3M2NF94IChwMCwgejAs IC0weDgwMDApLAorCQl6MCA9IHN2b3JyX3ggKHAwLCB6MCwgLTB4ODAwMCkp CisKKy8qCisqKiBvcnJfNV9zNjRfeDoKKyoqCW1vdgkoelswLTldKylcLmQs ICM1CisqKglvcnIJejBcLmQsIHowXC5kLCBcMVwuZAorKioJcmV0CisqLwor VEVTVF9VTklGT1JNX1ogKG9ycl81X3M2NF94LCBzdmludDY0X3QsCisJCXow ID0gc3ZvcnJfbl9zNjRfeCAocDAsIHowLCA1KSwKKwkJejAgPSBzdm9ycl94 IChwMCwgejAsIDUpKQpkaWZmIC0tZ2l0IGEvZ2NjL3Rlc3RzdWl0ZS9nY2Mu dGFyZ2V0L2FhcmNoNjQvc3ZlLWFjbGUvYXNtL29ycl9zOC5jIGIvZ2NjL3Rl c3RzdWl0ZS9nY2MudGFyZ2V0L2FhcmNoNjQvc3ZlLWFjbGUvYXNtL29ycl9z OC5jCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjE2Y2Zh ZGUKLS0tIC9kZXYvbnVsbAorKysgYi9nY2MvdGVzdHN1aXRlL2djYy50YXJn ZXQvYWFyY2g2NC9zdmUtYWNsZS9hc20vb3JyX3M4LmMKQEAgLTAsMCArMSwz MTYgQEAKKy8qIHsgZGctZG8gY29tcGlsZSB9ICovCisvKiB7IGRnLWZpbmFs IHsgY2hlY2stZnVuY3Rpb24tYm9kaWVzICIqKiIgIiIgIi1EQ0hFQ0tfQVNN IiB9IH0gKi8KKworI2luY2x1ZGUgInRlc3Rfc3ZlX2FjbGUuaCIKKworLyoK KyoqIG9ycl9zOF9tX3RpZWQxOgorKioJb3JyCXowXC5iLCBwMC9tLCB6MFwu YiwgejFcLmIKKyoqCXJldAorKi8KK1RFU1RfVU5JRk9STV9aIChvcnJfczhf bV90aWVkMSwgc3ZpbnQ4X3QsCisJCXowID0gc3ZvcnJfczhfbSAocDAsIHow LCB6MSksCisJCXowID0gc3ZvcnJfbSAocDAsIHowLCB6MSkpCisKKy8qIEJh ZCBSQSBjaG9pY2U6IG5vIHByZWZlcnJlZCBvdXRwdXQgc2VxdWVuY2UuICAq LworVEVTVF9VTklGT1JNX1ogKG9ycl9zOF9tX3RpZWQyLCBzdmludDhfdCwK KwkJejEgPSBzdm9ycl9zOF9tIChwMCwgejAsIHoxKSwKKwkJejEgPSBzdm9y cl9tIChwMCwgejAsIHoxKSkKKworLyoKKyoqIG9ycl9zOF9tX3VudGllZDoK KyoqCW1vdnByZngJejAsIHoxCisqKglvcnIJejBcLmIsIHAwL20sIHowXC5i LCB6MlwuYgorKioJcmV0CisqLworVEVTVF9VTklGT1JNX1ogKG9ycl9zOF9t X3VudGllZCwgc3ZpbnQ4X3QsCisJCXowID0gc3ZvcnJfczhfbSAocDAsIHox LCB6MiksCisJCXowID0gc3ZvcnJfbSAocDAsIHoxLCB6MikpCisKKy8qCisq KiBvcnJfdzBfczhfbV90aWVkMToKKyoqCW1vdgkoelswLTldK1wuYiksIHcw CisqKglvcnIJejBcLmIsIHAwL20sIHowXC5iLCBcMQorKioJcmV0CisqLwor VEVTVF9VTklGT1JNX1pTIChvcnJfdzBfczhfbV90aWVkMSwgc3ZpbnQ4X3Qs IGludDhfdCwKKwkJIHowID0gc3ZvcnJfbl9zOF9tIChwMCwgejAsIHgwKSwK KwkJIHowID0gc3ZvcnJfbSAocDAsIHowLCB4MCkpCisKKy8qCisqKiBvcnJf dzBfczhfbV91bnRpZWQ6CisqKgltb3YJKHpbMC05XStcLmIpLCB3MAorKioJ bW92cHJmeAl6MCwgejEKKyoqCW9ycgl6MFwuYiwgcDAvbSwgejBcLmIsIFwx CisqKglyZXQKKyovCitURVNUX1VOSUZPUk1fWlMgKG9ycl93MF9zOF9tX3Vu dGllZCwgc3ZpbnQ4X3QsIGludDhfdCwKKwkJIHowID0gc3ZvcnJfbl9zOF9t IChwMCwgejEsIHgwKSwKKwkJIHowID0gc3ZvcnJfbSAocDAsIHoxLCB4MCkp CisKKy8qCisqKiBvcnJfYjBfczhfbV90aWVkMToKKyoqCW1vdgkoelswLTld K1wuYiksIGIwCisqKglvcnIJejFcLmIsIHAwL20sIHoxXC5iLCBcMQorKioJ cmV0CisqLworVEVTVF9VTklGT1JNX1pTIChvcnJfYjBfczhfbV90aWVkMSwg c3ZpbnQ4X3QsIGludDhfdCwKKwkJIHoxID0gc3ZvcnJfbl9zOF9tIChwMCwg ejEsIGQwKSwKKwkJIHoxID0gc3ZvcnJfbSAocDAsIHoxLCBkMCkpCisKKy8q CisqKiBvcnJfYjBfczhfbV91bnRpZWQ6CisqKgltb3YJKHpbMC05XStcLmIp LCBiMAorKioJbW92cHJmeAl6MSwgejIKKyoqCW9ycgl6MVwuYiwgcDAvbSwg ejFcLmIsIFwxCisqKglyZXQKKyovCitURVNUX1VOSUZPUk1fWlMgKG9ycl9i MF9zOF9tX3VudGllZCwgc3ZpbnQ4X3QsIGludDhfdCwKKwkJIHoxID0gc3Zv cnJfbl9zOF9tIChwMCwgejIsIGQwKSwKKwkJIHoxID0gc3ZvcnJfbSAocDAs IHoyLCBkMCkpCisKKy8qCisqKiBvcnJfMV9zOF9tX3RpZWQxOgorKioJbW92 CSh6WzAtOV0rXC5iKSwgIzEKKyoqCW9ycgl6MFwuYiwgcDAvbSwgejBcLmIs IFwxCisqKglyZXQKKyovCitURVNUX1VOSUZPUk1fWiAob3JyXzFfczhfbV90 aWVkMSwgc3ZpbnQ4X3QsCisJCXowID0gc3ZvcnJfbl9zOF9tIChwMCwgejAs IDEpLAorCQl6MCA9IHN2b3JyX20gKHAwLCB6MCwgMSkpCisKKy8qCisqKiBv cnJfMV9zOF9tX3VudGllZDoKKyoqCW1vdgkoelswLTldK1wuYiksICMxCisq Kgltb3ZwcmZ4CXowLCB6MQorKioJb3JyCXowXC5iLCBwMC9tLCB6MFwuYiwg XDEKKyoqCXJldAorKi8KK1RFU1RfVU5JRk9STV9aIChvcnJfMV9zOF9tX3Vu dGllZCwgc3ZpbnQ4X3QsCisJCXowID0gc3ZvcnJfbl9zOF9tIChwMCwgejEs IDEpLAorCQl6MCA9IHN2b3JyX20gKHAwLCB6MSwgMSkpCisKKy8qCisqKiBv cnJfbTJfczhfbToKKyoqCW1vdgkoelswLTldK1wuYiksICMtMgorKioJb3Jy CXowXC5iLCBwMC9tLCB6MFwuYiwgXDEKKyoqCXJldAorKi8KK1RFU1RfVU5J Rk9STV9aIChvcnJfbTJfczhfbSwgc3ZpbnQ4X3QsCisJCXowID0gc3ZvcnJf bl9zOF9tIChwMCwgejAsIC0yKSwKKwkJejAgPSBzdm9ycl9tIChwMCwgejAs IC0yKSkKKworLyoKKyoqIG9ycl9zOF96X3RpZWQxOgorKioJbW92cHJmeAl6 MFwuYiwgcDAveiwgejBcLmIKKyoqCW9ycgl6MFwuYiwgcDAvbSwgejBcLmIs IHoxXC5iCisqKglyZXQKKyovCitURVNUX1VOSUZPUk1fWiAob3JyX3M4X3pf dGllZDEsIHN2aW50OF90LAorCQl6MCA9IHN2b3JyX3M4X3ogKHAwLCB6MCwg ejEpLAorCQl6MCA9IHN2b3JyX3ogKHAwLCB6MCwgejEpKQorCisvKgorKiog b3JyX3M4X3pfdGllZDI6CisqKgltb3ZwcmZ4CXoxXC5iLCBwMC96LCB6MVwu YgorKioJb3JyCXoxXC5iLCBwMC9tLCB6MVwuYiwgejBcLmIKKyoqCXJldAor Ki8KK1RFU1RfVU5JRk9STV9aIChvcnJfczhfel90aWVkMiwgc3ZpbnQ4X3Qs CisJCXoxID0gc3ZvcnJfczhfeiAocDAsIHowLCB6MSksCisJCXoxID0gc3Zv cnJfeiAocDAsIHowLCB6MSkpCisKKy8qCisqKiBvcnJfczhfel91bnRpZWQ6 CisqKgltb3ZwcmZ4CXowXC5iLCBwMC96LCB6MVwuYgorKioJb3JyCXowXC5i LCBwMC9tLCB6MFwuYiwgejJcLmIKKyoqCXJldAorKi8KK1RFU1RfVU5JRk9S TV9aIChvcnJfczhfel91bnRpZWQsIHN2aW50OF90LAorCQl6MCA9IHN2b3Jy X3M4X3ogKHAwLCB6MSwgejIpLAorCQl6MCA9IHN2b3JyX3ogKHAwLCB6MSwg ejIpKQorCisvKgorKiogb3JyX3cwX3M4X3pfdGllZDE6CisqKgltb3YJKHpb MC05XStcLmIpLCB3MAorKioJbW92cHJmeAl6MFwuYiwgcDAveiwgejBcLmIK KyoqCW9ycgl6MFwuYiwgcDAvbSwgejBcLmIsIFwxCisqKglyZXQKKyovCitU RVNUX1VOSUZPUk1fWlMgKG9ycl93MF9zOF96X3RpZWQxLCBzdmludDhfdCwg aW50OF90LAorCQkgejAgPSBzdm9ycl9uX3M4X3ogKHAwLCB6MCwgeDApLAor CQkgejAgPSBzdm9ycl96IChwMCwgejAsIHgwKSkKKworLyoKKyoqIG9ycl93 MF9zOF96X3VudGllZDoKKyoqCW1vdgkoelswLTldK1wuYiksIHcwCisqKglt b3ZwcmZ4CXowXC5iLCBwMC96LCB6MVwuYgorKioJb3JyCXowXC5iLCBwMC9t LCB6MFwuYiwgXDEKKyoqCXJldAorKi8KK1RFU1RfVU5JRk9STV9aUyAob3Jy X3cwX3M4X3pfdW50aWVkLCBzdmludDhfdCwgaW50OF90LAorCQkgejAgPSBz dm9ycl9uX3M4X3ogKHAwLCB6MSwgeDApLAorCQkgejAgPSBzdm9ycl96IChw MCwgejEsIHgwKSkKKworLyoKKyoqIG9ycl9iMF9zOF96X3RpZWQxOgorKioJ bW92CSh6WzAtOV0rXC5iKSwgYjAKKyoqCW1vdnByZngJejFcLmIsIHAwL3os IHoxXC5iCisqKglvcnIJejFcLmIsIHAwL20sIHoxXC5iLCBcMQorKioJcmV0 CisqLworVEVTVF9VTklGT1JNX1pTIChvcnJfYjBfczhfel90aWVkMSwgc3Zp bnQ4X3QsIGludDhfdCwKKwkJIHoxID0gc3ZvcnJfbl9zOF96IChwMCwgejEs IGQwKSwKKwkJIHoxID0gc3ZvcnJfeiAocDAsIHoxLCBkMCkpCisKKy8qCisq KiBvcnJfYjBfczhfel91bnRpZWQ6CisqKgltb3YJKHpbMC05XStcLmIpLCBi MAorKioJbW92cHJmeAl6MVwuYiwgcDAveiwgejJcLmIKKyoqCW9ycgl6MVwu YiwgcDAvbSwgejFcLmIsIFwxCisqKglyZXQKKyovCitURVNUX1VOSUZPUk1f WlMgKG9ycl9iMF9zOF96X3VudGllZCwgc3ZpbnQ4X3QsIGludDhfdCwKKwkJ IHoxID0gc3ZvcnJfbl9zOF96IChwMCwgejIsIGQwKSwKKwkJIHoxID0gc3Zv cnJfeiAocDAsIHoyLCBkMCkpCisKKy8qCisqKiBvcnJfczhfeF90aWVkMToK KyoqCW9ycgl6MFwuZCwgejBcLmQsIHoxXC5kCisqKglyZXQKKyovCitURVNU X1VOSUZPUk1fWiAob3JyX3M4X3hfdGllZDEsIHN2aW50OF90LAorCQl6MCA9 IHN2b3JyX3M4X3ggKHAwLCB6MCwgejEpLAorCQl6MCA9IHN2b3JyX3ggKHAw LCB6MCwgejEpKQorCisvKgorKiogb3JyX3M4X3hfdGllZDI6CisqKglvcnIJ ejFcLmQsIHowXC5kLCB6MVwuZAorKioJcmV0CisqLworVEVTVF9VTklGT1JN X1ogKG9ycl9zOF94X3RpZWQyLCBzdmludDhfdCwKKwkJejEgPSBzdm9ycl9z OF94IChwMCwgejAsIHoxKSwKKwkJejEgPSBzdm9ycl94IChwMCwgejAsIHox KSkKKworLyoKKyoqIG9ycl9zOF94X3VudGllZDoKKyoqCW9ycgl6MlwuZCwg ejBcLmQsIHoxXC5kCisqKglyZXQKKyovCitURVNUX1VOSUZPUk1fWiAob3Jy X3M4X3hfdW50aWVkLCBzdmludDhfdCwKKwkJejIgPSBzdm9ycl9zOF94IChw MCwgejAsIHoxKSwKKwkJejIgPSBzdm9ycl94IChwMCwgejAsIHoxKSkKKwor LyoKKyoqIG9ycl93MF9zOF94X3RpZWQxOgorKioJbW92CSh6WzAtOV0rKVwu YiwgdzAKKyoqCW9ycgl6MFwuZCwgejBcLmQsIFwxXC5kCisqKglyZXQKKyov CitURVNUX1VOSUZPUk1fWlMgKG9ycl93MF9zOF94X3RpZWQxLCBzdmludDhf dCwgaW50OF90LAorCQkgejAgPSBzdm9ycl9uX3M4X3ggKHAwLCB6MCwgeDAp LAorCQkgejAgPSBzdm9ycl94IChwMCwgejAsIHgwKSkKKworLyoKKyoqIG9y cl93MF9zOF94X3VudGllZDoKKyoqCW1vdgl6MVwuYiwgdzAKKyoqCW9ycgl6 MVwuZCwgejBcLmQsIHoxXC5kCisqKglyZXQKKyovCitURVNUX1VOSUZPUk1f WlMgKG9ycl93MF9zOF94X3VudGllZCwgc3ZpbnQ4X3QsIGludDhfdCwKKwkJ IHoxID0gc3ZvcnJfbl9zOF94IChwMCwgejAsIHgwKSwKKwkJIHoxID0gc3Zv cnJfeCAocDAsIHowLCB4MCkpCisKKy8qCisqKiBvcnJfYjBfczhfeF90aWVk MToKKyoqCW1vdgkoelswLTldKylcLmIsIGIwCisqKglvcnIJejFcLmQsIHox XC5kLCBcMVwuZAorKioJcmV0CisqLworVEVTVF9VTklGT1JNX1pTIChvcnJf YjBfczhfeF90aWVkMSwgc3ZpbnQ4X3QsIGludDhfdCwKKwkJIHoxID0gc3Zv cnJfbl9zOF94IChwMCwgejEsIGQwKSwKKwkJIHoxID0gc3ZvcnJfeCAocDAs IHoxLCBkMCkpCisKKy8qCisqKiBvcnJfYjBfczhfeF91bnRpZWQ6CisqKglt b3YJKHpbMC05XSspXC5iLCBiMAorKioJb3JyCXoyXC5kLCB6MVwuZCwgXDFc LmQKKyoqCXJldAorKi8KK1RFU1RfVU5JRk9STV9aUyAob3JyX2IwX3M4X3hf dW50aWVkLCBzdmludDhfdCwgaW50OF90LAorCQkgejIgPSBzdm9ycl9uX3M4 X3ggKHAwLCB6MSwgZDApLAorCQkgejIgPSBzdm9ycl94IChwMCwgejEsIGQw KSkKKworLyoKKyoqIG9ycl8xX3M4X3hfdGllZDE6CisqKglvcnIJejBcLmIs IHowXC5iLCAjMHgxCisqKglyZXQKKyovCitURVNUX1VOSUZPUk1fWiAob3Jy XzFfczhfeF90aWVkMSwgc3ZpbnQ4X3QsCisJCXowID0gc3ZvcnJfbl9zOF94 IChwMCwgejAsIDEpLAorCQl6MCA9IHN2b3JyX3ggKHAwLCB6MCwgMSkpCisK Ky8qCisqKiBvcnJfMV9zOF94X3VudGllZDoKKyoqCW1vdnByZngJejAsIHox CisqKglvcnIJejBcLmIsIHowXC5iLCAjMHgxCisqKglyZXQKKyovCitURVNU X1VOSUZPUk1fWiAob3JyXzFfczhfeF91bnRpZWQsIHN2aW50OF90LAorCQl6 MCA9IHN2b3JyX25fczhfeCAocDAsIHoxLCAxKSwKKwkJejAgPSBzdm9ycl94 IChwMCwgejEsIDEpKQorCisvKgorKiogb3JyXzEyN19zOF94OgorKioJb3Jy CXowXC5iLCB6MFwuYiwgIzB4N2YKKyoqCXJldAorKi8KK1RFU1RfVU5JRk9S TV9aIChvcnJfMTI3X3M4X3gsIHN2aW50OF90LAorCQl6MCA9IHN2b3JyX25f czhfeCAocDAsIHowLCAxMjcpLAorCQl6MCA9IHN2b3JyX3ggKHAwLCB6MCwg MTI3KSkKKworLyoKKyoqIG9ycl8xMjhfczhfeDoKKyoqCW9ycgl6MFwuYiwg ejBcLmIsICMweDgwCisqKglyZXQKKyovCitURVNUX1VOSUZPUk1fWiAob3Jy XzEyOF9zOF94LCBzdmludDhfdCwKKwkJejAgPSBzdm9ycl9uX3M4X3ggKHAw LCB6MCwgMTI4KSwKKwkJejAgPSBzdm9ycl94IChwMCwgejAsIDEyOCkpCisK Ky8qCisqKiBvcnJfMjU1X3M4X3g6CisqKgltb3YJejBcLmIsICMtMQorKioJ cmV0CisqLworVEVTVF9VTklGT1JNX1ogKG9ycl8yNTVfczhfeCwgc3ZpbnQ4 X3QsCisJCXowID0gc3ZvcnJfbl9zOF94IChwMCwgejAsIDI1NSksCisJCXow ID0gc3ZvcnJfeCAocDAsIHowLCAyNTUpKQorCisvKgorKiogb3JyX20xMjdf czhfeDoKKyoqCW9ycgl6MFwuYiwgejBcLmIsICMweDgxCisqKglyZXQKKyov CitURVNUX1VOSUZPUk1fWiAob3JyX20xMjdfczhfeCwgc3ZpbnQ4X3QsCisJ CXowID0gc3ZvcnJfbl9zOF94IChwMCwgejAsIC0xMjcpLAorCQl6MCA9IHN2 b3JyX3ggKHAwLCB6MCwgLTEyNykpCisKKy8qCisqKiBvcnJfbTEyOF9zOF94 OgorKioJb3JyCXowXC5iLCB6MFwuYiwgIzB4ODAKKyoqCXJldAorKi8KK1RF U1RfVU5JRk9STV9aIChvcnJfbTEyOF9zOF94LCBzdmludDhfdCwKKwkJejAg PSBzdm9ycl9uX3M4X3ggKHAwLCB6MCwgLTEyOCksCisJCXowID0gc3ZvcnJf eCAocDAsIHowLCAtMTI4KSkKKworLyoKKyoqIG9ycl81X3M4X3g6CisqKglt b3YJKHpbMC05XSspXC5iLCAjNQorKioJb3JyCXowXC5kLCB6MFwuZCwgXDFc LmQKKyoqCXJldAorKi8KK1RFU1RfVU5JRk9STV9aIChvcnJfNV9zOF94LCBz dmludDhfdCwKKwkJejAgPSBzdm9ycl9uX3M4X3ggKHAwLCB6MCwgNSksCisJ CXowID0gc3ZvcnJfeCAocDAsIHowLCA1KSkKZGlmZiAtLWdpdCBhL2djYy90 ZXN0c3VpdGUvZ2NjLnRhcmdldC9hYXJjaDY0L3N2ZS1hY2xlL2FzbS9vcnJf dTE2LmMgYi9nY2MvdGVzdHN1aXRlL2djYy50YXJnZXQvYWFyY2g2NC9zdmUt YWNsZS9hc20vb3JyX3UxNi5jCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4 IDAwMDAwMDAuLmYyNzc5MmIKLS0tIC9kZXYvbnVsbAorKysgYi9nY2MvdGVz dHN1aXRlL2djYy50YXJnZXQvYWFyY2g2NC9zdmUtYWNsZS9hc20vb3JyX3Ux Ni5jCkBAIC0wLDAgKzEsMzk3IEBACisvKiB7IGRnLWRvIGNvbXBpbGUgfSAq LworLyogeyBkZy1maW5hbCB7IGNoZWNrLWZ1bmN0aW9uLWJvZGllcyAiKioi ICIiICItRENIRUNLX0FTTSIgfSB9ICovCisKKyNpbmNsdWRlICJ0ZXN0X3N2 ZV9hY2xlLmgiCisKKy8qCisqKiBvcnJfdTE2X21fdGllZDE6CisqKglvcnIJ ejBcLmgsIHAwL20sIHowXC5oLCB6MVwuaAorKioJcmV0CisqLworVEVTVF9V TklGT1JNX1ogKG9ycl91MTZfbV90aWVkMSwgc3Z1aW50MTZfdCwKKwkJejAg PSBzdm9ycl91MTZfbSAocDAsIHowLCB6MSksCisJCXowID0gc3ZvcnJfbSAo cDAsIHowLCB6MSkpCisKKy8qIEJhZCBSQSBjaG9pY2U6IG5vIHByZWZlcnJl ZCBvdXRwdXQgc2VxdWVuY2UuICAqLworVEVTVF9VTklGT1JNX1ogKG9ycl91 MTZfbV90aWVkMiwgc3Z1aW50MTZfdCwKKwkJejEgPSBzdm9ycl91MTZfbSAo cDAsIHowLCB6MSksCisJCXoxID0gc3ZvcnJfbSAocDAsIHowLCB6MSkpCisK Ky8qCisqKiBvcnJfdTE2X21fdW50aWVkOgorKioJbW92cHJmeAl6MCwgejEK KyoqCW9ycgl6MFwuaCwgcDAvbSwgejBcLmgsIHoyXC5oCisqKglyZXQKKyov CitURVNUX1VOSUZPUk1fWiAob3JyX3UxNl9tX3VudGllZCwgc3Z1aW50MTZf dCwKKwkJejAgPSBzdm9ycl91MTZfbSAocDAsIHoxLCB6MiksCisJCXowID0g c3ZvcnJfbSAocDAsIHoxLCB6MikpCisKKy8qCisqKiBvcnJfdzBfdTE2X21f dGllZDE6CisqKgltb3YJKHpbMC05XStcLmgpLCB3MAorKioJb3JyCXowXC5o LCBwMC9tLCB6MFwuaCwgXDEKKyoqCXJldAorKi8KK1RFU1RfVU5JRk9STV9a UyAob3JyX3cwX3UxNl9tX3RpZWQxLCBzdnVpbnQxNl90LCB1aW50MTZfdCwK KwkJIHowID0gc3ZvcnJfbl91MTZfbSAocDAsIHowLCB4MCksCisJCSB6MCA9 IHN2b3JyX20gKHAwLCB6MCwgeDApKQorCisvKgorKiogb3JyX3cwX3UxNl9t X3VudGllZDoKKyoqCW1vdgkoelswLTldK1wuaCksIHcwCisqKgltb3ZwcmZ4 CXowLCB6MQorKioJb3JyCXowXC5oLCBwMC9tLCB6MFwuaCwgXDEKKyoqCXJl dAorKi8KK1RFU1RfVU5JRk9STV9aUyAob3JyX3cwX3UxNl9tX3VudGllZCwg c3Z1aW50MTZfdCwgdWludDE2X3QsCisJCSB6MCA9IHN2b3JyX25fdTE2X20g KHAwLCB6MSwgeDApLAorCQkgejAgPSBzdm9ycl9tIChwMCwgejEsIHgwKSkK KworLyoKKyoqIG9ycl9oMF91MTZfbV90aWVkMToKKyoqCW1vdgkoelswLTld K1wuaCksIGgwCisqKglvcnIJejFcLmgsIHAwL20sIHoxXC5oLCBcMQorKioJ cmV0CisqLworVEVTVF9VTklGT1JNX1pTIChvcnJfaDBfdTE2X21fdGllZDEs IHN2dWludDE2X3QsIHVpbnQxNl90LAorCQkgejEgPSBzdm9ycl9uX3UxNl9t IChwMCwgejEsIGQwKSwKKwkJIHoxID0gc3ZvcnJfbSAocDAsIHoxLCBkMCkp CisKKy8qCisqKiBvcnJfaDBfdTE2X21fdW50aWVkOgorKioJbW92CSh6WzAt OV0rXC5oKSwgaDAKKyoqCW1vdnByZngJejEsIHoyCisqKglvcnIJejFcLmgs IHAwL20sIHoxXC5oLCBcMQorKioJcmV0CisqLworVEVTVF9VTklGT1JNX1pT IChvcnJfaDBfdTE2X21fdW50aWVkLCBzdnVpbnQxNl90LCB1aW50MTZfdCwK KwkJIHoxID0gc3ZvcnJfbl91MTZfbSAocDAsIHoyLCBkMCksCisJCSB6MSA9 IHN2b3JyX20gKHAwLCB6MiwgZDApKQorCisvKgorKiogb3JyXzFfdTE2X21f dGllZDE6CisqKgltb3YJKHpbMC05XStcLmgpLCAjMQorKioJb3JyCXowXC5o LCBwMC9tLCB6MFwuaCwgXDEKKyoqCXJldAorKi8KK1RFU1RfVU5JRk9STV9a IChvcnJfMV91MTZfbV90aWVkMSwgc3Z1aW50MTZfdCwKKwkJejAgPSBzdm9y cl9uX3UxNl9tIChwMCwgejAsIDEpLAorCQl6MCA9IHN2b3JyX20gKHAwLCB6 MCwgMSkpCisKKy8qCisqKiBvcnJfMV91MTZfbV91bnRpZWQ6CisqKgltb3YJ KHpbMC05XStcLmgpLCAjMQorKioJbW92cHJmeAl6MCwgejEKKyoqCW9ycgl6 MFwuaCwgcDAvbSwgejBcLmgsIFwxCisqKglyZXQKKyovCitURVNUX1VOSUZP Uk1fWiAob3JyXzFfdTE2X21fdW50aWVkLCBzdnVpbnQxNl90LAorCQl6MCA9 IHN2b3JyX25fdTE2X20gKHAwLCB6MSwgMSksCisJCXowID0gc3ZvcnJfbSAo cDAsIHoxLCAxKSkKKworLyoKKyoqIG9ycl9tMl91MTZfbToKKyoqCW1vdgko elswLTldK1wuaCksICMtMgorKioJb3JyCXowXC5oLCBwMC9tLCB6MFwuaCwg XDEKKyoqCXJldAorKi8KK1RFU1RfVU5JRk9STV9aIChvcnJfbTJfdTE2X20s IHN2dWludDE2X3QsCisJCXowID0gc3ZvcnJfbl91MTZfbSAocDAsIHowLCAt MiksCisJCXowID0gc3ZvcnJfbSAocDAsIHowLCAtMikpCisKKy8qCisqKiBv cnJfdTE2X3pfdGllZDE6CisqKgltb3ZwcmZ4CXowXC5oLCBwMC96LCB6MFwu aAorKioJb3JyCXowXC5oLCBwMC9tLCB6MFwuaCwgejFcLmgKKyoqCXJldAor Ki8KK1RFU1RfVU5JRk9STV9aIChvcnJfdTE2X3pfdGllZDEsIHN2dWludDE2 X3QsCisJCXowID0gc3ZvcnJfdTE2X3ogKHAwLCB6MCwgejEpLAorCQl6MCA9 IHN2b3JyX3ogKHAwLCB6MCwgejEpKQorCisvKgorKiogb3JyX3UxNl96X3Rp ZWQyOgorKioJbW92cHJmeAl6MVwuaCwgcDAveiwgejFcLmgKKyoqCW9ycgl6 MVwuaCwgcDAvbSwgejFcLmgsIHowXC5oCisqKglyZXQKKyovCitURVNUX1VO SUZPUk1fWiAob3JyX3UxNl96X3RpZWQyLCBzdnVpbnQxNl90LAorCQl6MSA9 IHN2b3JyX3UxNl96IChwMCwgejAsIHoxKSwKKwkJejEgPSBzdm9ycl96IChw MCwgejAsIHoxKSkKKworLyoKKyoqIG9ycl91MTZfel91bnRpZWQ6CisqKglt b3ZwcmZ4CXowXC5oLCBwMC96LCB6MVwuaAorKioJb3JyCXowXC5oLCBwMC9t LCB6MFwuaCwgejJcLmgKKyoqCXJldAorKi8KK1RFU1RfVU5JRk9STV9aIChv cnJfdTE2X3pfdW50aWVkLCBzdnVpbnQxNl90LAorCQl6MCA9IHN2b3JyX3Ux Nl96IChwMCwgejEsIHoyKSwKKwkJejAgPSBzdm9ycl96IChwMCwgejEsIHoy KSkKKworLyoKKyoqIG9ycl93MF91MTZfel90aWVkMToKKyoqCW1vdgkoelsw LTldK1wuaCksIHcwCisqKgltb3ZwcmZ4CXowXC5oLCBwMC96LCB6MFwuaAor KioJb3JyCXowXC5oLCBwMC9tLCB6MFwuaCwgXDEKKyoqCXJldAorKi8KK1RF U1RfVU5JRk9STV9aUyAob3JyX3cwX3UxNl96X3RpZWQxLCBzdnVpbnQxNl90 LCB1aW50MTZfdCwKKwkJIHowID0gc3ZvcnJfbl91MTZfeiAocDAsIHowLCB4 MCksCisJCSB6MCA9IHN2b3JyX3ogKHAwLCB6MCwgeDApKQorCisvKgorKiog b3JyX3cwX3UxNl96X3VudGllZDoKKyoqCW1vdgkoelswLTldK1wuaCksIHcw CisqKgltb3ZwcmZ4CXowXC5oLCBwMC96LCB6MVwuaAorKioJb3JyCXowXC5o LCBwMC9tLCB6MFwuaCwgXDEKKyoqCXJldAorKi8KK1RFU1RfVU5JRk9STV9a UyAob3JyX3cwX3UxNl96X3VudGllZCwgc3Z1aW50MTZfdCwgdWludDE2X3Qs CisJCSB6MCA9IHN2b3JyX25fdTE2X3ogKHAwLCB6MSwgeDApLAorCQkgejAg PSBzdm9ycl96IChwMCwgejEsIHgwKSkKKworLyoKKyoqIG9ycl9oMF91MTZf el90aWVkMToKKyoqCW1vdgkoelswLTldK1wuaCksIGgwCisqKgltb3ZwcmZ4 CXoxXC5oLCBwMC96LCB6MVwuaAorKioJb3JyCXoxXC5oLCBwMC9tLCB6MVwu aCwgXDEKKyoqCXJldAorKi8KK1RFU1RfVU5JRk9STV9aUyAob3JyX2gwX3Ux Nl96X3RpZWQxLCBzdnVpbnQxNl90LCB1aW50MTZfdCwKKwkJIHoxID0gc3Zv cnJfbl91MTZfeiAocDAsIHoxLCBkMCksCisJCSB6MSA9IHN2b3JyX3ogKHAw LCB6MSwgZDApKQorCisvKgorKiogb3JyX2gwX3UxNl96X3VudGllZDoKKyoq CW1vdgkoelswLTldK1wuaCksIGgwCisqKgltb3ZwcmZ4CXoxXC5oLCBwMC96 LCB6MlwuaAorKioJb3JyCXoxXC5oLCBwMC9tLCB6MVwuaCwgXDEKKyoqCXJl dAorKi8KK1RFU1RfVU5JRk9STV9aUyAob3JyX2gwX3UxNl96X3VudGllZCwg c3Z1aW50MTZfdCwgdWludDE2X3QsCisJCSB6MSA9IHN2b3JyX25fdTE2X3og KHAwLCB6MiwgZDApLAorCQkgejEgPSBzdm9ycl96IChwMCwgejIsIGQwKSkK KworLyoKKyoqIG9ycl91MTZfeF90aWVkMToKKyoqCW9ycgl6MFwuZCwgejBc LmQsIHoxXC5kCisqKglyZXQKKyovCitURVNUX1VOSUZPUk1fWiAob3JyX3Ux Nl94X3RpZWQxLCBzdnVpbnQxNl90LAorCQl6MCA9IHN2b3JyX3UxNl94IChw MCwgejAsIHoxKSwKKwkJejAgPSBzdm9ycl94IChwMCwgejAsIHoxKSkKKwor LyoKKyoqIG9ycl91MTZfeF90aWVkMjoKKyoqCW9ycgl6MVwuZCwgejBcLmQs IHoxXC5kCisqKglyZXQKKyovCitURVNUX1VOSUZPUk1fWiAob3JyX3UxNl94 X3RpZWQyLCBzdnVpbnQxNl90LAorCQl6MSA9IHN2b3JyX3UxNl94IChwMCwg ejAsIHoxKSwKKwkJejEgPSBzdm9ycl94IChwMCwgejAsIHoxKSkKKworLyoK KyoqIG9ycl91MTZfeF91bnRpZWQ6CisqKglvcnIJejJcLmQsIHowXC5kLCB6 MVwuZAorKioJcmV0CisqLworVEVTVF9VTklGT1JNX1ogKG9ycl91MTZfeF91 bnRpZWQsIHN2dWludDE2X3QsCisJCXoyID0gc3ZvcnJfdTE2X3ggKHAwLCB6 MCwgejEpLAorCQl6MiA9IHN2b3JyX3ggKHAwLCB6MCwgejEpKQorCisvKgor Kiogb3JyX3cwX3UxNl94X3RpZWQxOgorKioJbW92CSh6WzAtOV0rKVwuaCwg dzAKKyoqCW9ycgl6MFwuZCwgejBcLmQsIFwxXC5kCisqKglyZXQKKyovCitU RVNUX1VOSUZPUk1fWlMgKG9ycl93MF91MTZfeF90aWVkMSwgc3Z1aW50MTZf dCwgdWludDE2X3QsCisJCSB6MCA9IHN2b3JyX25fdTE2X3ggKHAwLCB6MCwg eDApLAorCQkgejAgPSBzdm9ycl94IChwMCwgejAsIHgwKSkKKworLyoKKyoq IG9ycl93MF91MTZfeF91bnRpZWQ6CisqKgltb3YJejFcLmgsIHcwCisqKglv cnIJejFcLmQsIHowXC5kLCB6MVwuZAorKioJcmV0CisqLworVEVTVF9VTklG T1JNX1pTIChvcnJfdzBfdTE2X3hfdW50aWVkLCBzdnVpbnQxNl90LCB1aW50 MTZfdCwKKwkJIHoxID0gc3ZvcnJfbl91MTZfeCAocDAsIHowLCB4MCksCisJ CSB6MSA9IHN2b3JyX3ggKHAwLCB6MCwgeDApKQorCisvKgorKiogb3JyX2gw X3UxNl94X3RpZWQxOgorKioJbW92CSh6WzAtOV0rKVwuaCwgaDAKKyoqCW9y cgl6MVwuZCwgejFcLmQsIFwxXC5kCisqKglyZXQKKyovCitURVNUX1VOSUZP Uk1fWlMgKG9ycl9oMF91MTZfeF90aWVkMSwgc3Z1aW50MTZfdCwgdWludDE2 X3QsCisJCSB6MSA9IHN2b3JyX25fdTE2X3ggKHAwLCB6MSwgZDApLAorCQkg ejEgPSBzdm9ycl94IChwMCwgejEsIGQwKSkKKworLyoKKyoqIG9ycl9oMF91 MTZfeF91bnRpZWQ6CisqKgltb3YJKHpbMC05XSspXC5oLCBoMAorKioJb3Jy CXoyXC5kLCB6MVwuZCwgXDFcLmQKKyoqCXJldAorKi8KK1RFU1RfVU5JRk9S TV9aUyAob3JyX2gwX3UxNl94X3VudGllZCwgc3Z1aW50MTZfdCwgdWludDE2 X3QsCisJCSB6MiA9IHN2b3JyX25fdTE2X3ggKHAwLCB6MSwgZDApLAorCQkg ejIgPSBzdm9ycl94IChwMCwgejEsIGQwKSkKKworLyoKKyoqIG9ycl8xX3Ux Nl94X3RpZWQxOgorKioJb3JyCXowXC5oLCB6MFwuaCwgIzB4MQorKioJcmV0 CisqLworVEVTVF9VTklGT1JNX1ogKG9ycl8xX3UxNl94X3RpZWQxLCBzdnVp bnQxNl90LAorCQl6MCA9IHN2b3JyX25fdTE2X3ggKHAwLCB6MCwgMSksCisJ CXowID0gc3ZvcnJfeCAocDAsIHowLCAxKSkKKworLyoKKyoqIG9ycl8xX3Ux Nl94X3VudGllZDoKKyoqCW1vdnByZngJejAsIHoxCisqKglvcnIJejBcLmgs IHowXC5oLCAjMHgxCisqKglyZXQKKyovCitURVNUX1VOSUZPUk1fWiAob3Jy XzFfdTE2X3hfdW50aWVkLCBzdnVpbnQxNl90LAorCQl6MCA9IHN2b3JyX25f dTE2X3ggKHAwLCB6MSwgMSksCisJCXowID0gc3ZvcnJfeCAocDAsIHoxLCAx KSkKKworLyoKKyoqIG9ycl8xMjdfdTE2X3g6CisqKglvcnIJejBcLmgsIHow XC5oLCAjMHg3ZgorKioJcmV0CisqLworVEVTVF9VTklGT1JNX1ogKG9ycl8x MjdfdTE2X3gsIHN2dWludDE2X3QsCisJCXowID0gc3ZvcnJfbl91MTZfeCAo cDAsIHowLCAxMjcpLAorCQl6MCA9IHN2b3JyX3ggKHAwLCB6MCwgMTI3KSkK KworLyoKKyoqIG9ycl8xMjhfdTE2X3g6CisqKglvcnIJejBcLmgsIHowXC5o LCAjMHg4MAorKioJcmV0CisqLworVEVTVF9VTklGT1JNX1ogKG9ycl8xMjhf dTE2X3gsIHN2dWludDE2X3QsCisJCXowID0gc3ZvcnJfbl91MTZfeCAocDAs IHowLCAxMjgpLAorCQl6MCA9IHN2b3JyX3ggKHAwLCB6MCwgMTI4KSkKKwor LyoKKyoqIG9ycl8yNTVfdTE2X3g6CisqKglvcnIJejBcLmgsIHowXC5oLCAj MHhmZgorKioJcmV0CisqLworVEVTVF9VTklGT1JNX1ogKG9ycl8yNTVfdTE2 X3gsIHN2dWludDE2X3QsCisJCXowID0gc3ZvcnJfbl91MTZfeCAocDAsIHow LCAyNTUpLAorCQl6MCA9IHN2b3JyX3ggKHAwLCB6MCwgMjU1KSkKKworLyoK KyoqIG9ycl8yNTZfdTE2X3g6CisqKglvcnIJejBcLmgsIHowXC5oLCAjMHgx MDAKKyoqCXJldAorKi8KK1RFU1RfVU5JRk9STV9aIChvcnJfMjU2X3UxNl94 LCBzdnVpbnQxNl90LAorCQl6MCA9IHN2b3JyX25fdTE2X3ggKHAwLCB6MCwg MjU2KSwKKwkJejAgPSBzdm9ycl94IChwMCwgejAsIDI1NikpCisKKy8qCisq KiBvcnJfMjU3X3UxNl94OgorKioJb3JyCXowXC5oLCB6MFwuaCwgIzB4MTAx CisqKglyZXQKKyovCitURVNUX1VOSUZPUk1fWiAob3JyXzI1N191MTZfeCwg c3Z1aW50MTZfdCwKKwkJejAgPSBzdm9ycl9uX3UxNl94IChwMCwgejAsIDI1 NyksCisJCXowID0gc3ZvcnJfeCAocDAsIHowLCAyNTcpKQorCisvKgorKiog b3JyXzUxMl91MTZfeDoKKyoqCW9ycgl6MFwuaCwgejBcLmgsICMweDIwMAor KioJcmV0CisqLworVEVTVF9VTklGT1JNX1ogKG9ycl81MTJfdTE2X3gsIHN2 dWludDE2X3QsCisJCXowID0gc3ZvcnJfbl91MTZfeCAocDAsIHowLCA1MTIp LAorCQl6MCA9IHN2b3JyX3ggKHAwLCB6MCwgNTEyKSkKKworLyoKKyoqIG9y cl82NTI4MF91MTZfeDoKKyoqCW9ycgl6MFwuaCwgejBcLmgsICMweGZmMDAK KyoqCXJldAorKi8KK1RFU1RfVU5JRk9STV9aIChvcnJfNjUyODBfdTE2X3gs IHN2dWludDE2X3QsCisJCXowID0gc3ZvcnJfbl91MTZfeCAocDAsIHowLCAw eGZmMDApLAorCQl6MCA9IHN2b3JyX3ggKHAwLCB6MCwgMHhmZjAwKSkKKwor LyoKKyoqIG9ycl9tMTI3X3UxNl94OgorKioJb3JyCXowXC5oLCB6MFwuaCwg IzB4ZmY4MQorKioJcmV0CisqLworVEVTVF9VTklGT1JNX1ogKG9ycl9tMTI3 X3UxNl94LCBzdnVpbnQxNl90LAorCQl6MCA9IHN2b3JyX25fdTE2X3ggKHAw LCB6MCwgLTEyNyksCisJCXowID0gc3ZvcnJfeCAocDAsIHowLCAtMTI3KSkK KworLyoKKyoqIG9ycl9tMTI4X3UxNl94OgorKioJb3JyCXowXC5oLCB6MFwu aCwgIzB4ZmY4MAorKioJcmV0CisqLworVEVTVF9VTklGT1JNX1ogKG9ycl9t MTI4X3UxNl94LCBzdnVpbnQxNl90LAorCQl6MCA9IHN2b3JyX25fdTE2X3gg KHAwLCB6MCwgLTEyOCksCisJCXowID0gc3ZvcnJfeCAocDAsIHowLCAtMTI4 KSkKKworLyoKKyoqIG9ycl9tMjU1X3UxNl94OgorKioJb3JyCXowXC5oLCB6 MFwuaCwgIzB4ZmYwMQorKioJcmV0CisqLworVEVTVF9VTklGT1JNX1ogKG9y cl9tMjU1X3UxNl94LCBzdnVpbnQxNl90LAorCQl6MCA9IHN2b3JyX25fdTE2 X3ggKHAwLCB6MCwgLTI1NSksCisJCXowID0gc3ZvcnJfeCAocDAsIHowLCAt MjU1KSkKKworLyoKKyoqIG9ycl9tMjU2X3UxNl94OgorKioJb3JyCXowXC5o LCB6MFwuaCwgIzB4ZmYwMAorKioJcmV0CisqLworVEVTVF9VTklGT1JNX1og KG9ycl9tMjU2X3UxNl94LCBzdnVpbnQxNl90LAorCQl6MCA9IHN2b3JyX25f dTE2X3ggKHAwLCB6MCwgLTI1NiksCisJCXowID0gc3ZvcnJfeCAocDAsIHow LCAtMjU2KSkKKworLyoKKyoqIG9ycl9tMjU3X3UxNl94OgorKioJb3JyCXow XC5oLCB6MFwuaCwgIzB4ZmVmZgorKioJcmV0CisqLworVEVTVF9VTklGT1JN X1ogKG9ycl9tMjU3X3UxNl94LCBzdnVpbnQxNl90LAorCQl6MCA9IHN2b3Jy X25fdTE2X3ggKHAwLCB6MCwgLTI1NyksCisJCXowID0gc3ZvcnJfeCAocDAs IHowLCAtMjU3KSkKKworLyoKKyoqIG9ycl9tNTEyX3UxNl94OgorKioJb3Jy CXowXC5oLCB6MFwuaCwgIzB4ZmUwMAorKioJcmV0CisqLworVEVTVF9VTklG T1JNX1ogKG9ycl9tNTEyX3UxNl94LCBzdnVpbnQxNl90LAorCQl6MCA9IHN2 b3JyX25fdTE2X3ggKHAwLCB6MCwgLTUxMiksCisJCXowID0gc3ZvcnJfeCAo cDAsIHowLCAtNTEyKSkKKworLyoKKyoqIG9ycl9tMzI3NjhfdTE2X3g6Cisq KglvcnIJejBcLmgsIHowXC5oLCAjMHg4MDAwCisqKglyZXQKKyovCitURVNU X1VOSUZPUk1fWiAob3JyX20zMjc2OF91MTZfeCwgc3Z1aW50MTZfdCwKKwkJ ejAgPSBzdm9ycl9uX3UxNl94IChwMCwgejAsIC0weDgwMDApLAorCQl6MCA9 IHN2b3JyX3ggKHAwLCB6MCwgLTB4ODAwMCkpCisKKy8qCisqKiBvcnJfNV91 MTZfeDoKKyoqCW1vdgkoelswLTldKylcLmgsICM1CisqKglvcnIJejBcLmQs IHowXC5kLCBcMVwuZAorKioJcmV0CisqLworVEVTVF9VTklGT1JNX1ogKG9y cl81X3UxNl94LCBzdnVpbnQxNl90LAorCQl6MCA9IHN2b3JyX25fdTE2X3gg KHAwLCB6MCwgNSksCisJCXowID0gc3ZvcnJfeCAocDAsIHowLCA1KSkKZGlm ZiAtLWdpdCBhL2djYy90ZXN0c3VpdGUvZ2NjLnRhcmdldC9hYXJjaDY0L3N2 ZS1hY2xlL2FzbS9vcnJfdTMyLmMgYi9nY2MvdGVzdHN1aXRlL2djYy50YXJn ZXQvYWFyY2g2NC9zdmUtYWNsZS9hc20vb3JyX3UzMi5jCm5ldyBmaWxlIG1v ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmZkNDg2NjUKLS0tIC9kZXYvbnVs bAorKysgYi9nY2MvdGVzdHN1aXRlL2djYy50YXJnZXQvYWFyY2g2NC9zdmUt YWNsZS9hc20vb3JyX3UzMi5jCkBAIC0wLDAgKzEsMzkzIEBACisvKiB7IGRn LWRvIGNvbXBpbGUgfSAqLworLyogeyBkZy1maW5hbCB7IGNoZWNrLWZ1bmN0 aW9uLWJvZGllcyAiKioiICIiICItRENIRUNLX0FTTSIgfSB9ICovCisKKyNp bmNsdWRlICJ0ZXN0X3N2ZV9hY2xlLmgiCisKKy8qCisqKiBvcnJfdTMyX21f dGllZDE6CisqKglvcnIJejBcLnMsIHAwL20sIHowXC5zLCB6MVwucworKioJ cmV0CisqLworVEVTVF9VTklGT1JNX1ogKG9ycl91MzJfbV90aWVkMSwgc3Z1 aW50MzJfdCwKKwkJejAgPSBzdm9ycl91MzJfbSAocDAsIHowLCB6MSksCisJ CXowID0gc3ZvcnJfbSAocDAsIHowLCB6MSkpCisKKy8qIEJhZCBSQSBjaG9p Y2U6IG5vIHByZWZlcnJlZCBvdXRwdXQgc2VxdWVuY2UuICAqLworVEVTVF9V TklGT1JNX1ogKG9ycl91MzJfbV90aWVkMiwgc3Z1aW50MzJfdCwKKwkJejEg PSBzdm9ycl91MzJfbSAocDAsIHowLCB6MSksCisJCXoxID0gc3ZvcnJfbSAo cDAsIHowLCB6MSkpCisKKy8qCisqKiBvcnJfdTMyX21fdW50aWVkOgorKioJ bW92cHJmeAl6MCwgejEKKyoqCW9ycgl6MFwucywgcDAvbSwgejBcLnMsIHoy XC5zCisqKglyZXQKKyovCitURVNUX1VOSUZPUk1fWiAob3JyX3UzMl9tX3Vu dGllZCwgc3Z1aW50MzJfdCwKKwkJejAgPSBzdm9ycl91MzJfbSAocDAsIHox LCB6MiksCisJCXowID0gc3ZvcnJfbSAocDAsIHoxLCB6MikpCisKKy8qCisq KiBvcnJfdzBfdTMyX21fdGllZDE6CisqKgltb3YJKHpbMC05XStcLnMpLCB3 MAorKioJb3JyCXowXC5zLCBwMC9tLCB6MFwucywgXDEKKyoqCXJldAorKi8K K1RFU1RfVU5JRk9STV9aUyAob3JyX3cwX3UzMl9tX3RpZWQxLCBzdnVpbnQz Ml90LCB1aW50MzJfdCwKKwkJIHowID0gc3ZvcnJfbl91MzJfbSAocDAsIHow LCB4MCksCisJCSB6MCA9IHN2b3JyX20gKHAwLCB6MCwgeDApKQorCisvKgor Kiogb3JyX3cwX3UzMl9tX3VudGllZDoKKyoqCW1vdgkoelswLTldK1wucyks IHcwCisqKgltb3ZwcmZ4CXowLCB6MQorKioJb3JyCXowXC5zLCBwMC9tLCB6 MFwucywgXDEKKyoqCXJldAorKi8KK1RFU1RfVU5JRk9STV9aUyAob3JyX3cw X3UzMl9tX3VudGllZCwgc3Z1aW50MzJfdCwgdWludDMyX3QsCisJCSB6MCA9 IHN2b3JyX25fdTMyX20gKHAwLCB6MSwgeDApLAorCQkgejAgPSBzdm9ycl9t IChwMCwgejEsIHgwKSkKKworLyoKKyoqIG9ycl9zMF91MzJfbV90aWVkMToK KyoqCW1vdgkoelswLTldK1wucyksIHMwCisqKglvcnIJejFcLnMsIHAwL20s IHoxXC5zLCBcMQorKioJcmV0CisqLworVEVTVF9VTklGT1JNX1pTIChvcnJf czBfdTMyX21fdGllZDEsIHN2dWludDMyX3QsIHVpbnQzMl90LAorCQkgejEg PSBzdm9ycl9uX3UzMl9tIChwMCwgejEsIGQwKSwKKwkJIHoxID0gc3ZvcnJf bSAocDAsIHoxLCBkMCkpCisKKy8qCisqKiBvcnJfczBfdTMyX21fdW50aWVk OgorKioJbW92CSh6WzAtOV0rXC5zKSwgczAKKyoqCW1vdnByZngJejEsIHoy CisqKglvcnIJejFcLnMsIHAwL20sIHoxXC5zLCBcMQorKioJcmV0CisqLwor VEVTVF9VTklGT1JNX1pTIChvcnJfczBfdTMyX21fdW50aWVkLCBzdnVpbnQz Ml90LCB1aW50MzJfdCwKKwkJIHoxID0gc3ZvcnJfbl91MzJfbSAocDAsIHoy LCBkMCksCisJCSB6MSA9IHN2b3JyX20gKHAwLCB6MiwgZDApKQorCisvKgor Kiogb3JyXzFfdTMyX21fdGllZDE6CisqKgltb3YJKHpbMC05XStcLnMpLCAj MQorKioJb3JyCXowXC5zLCBwMC9tLCB6MFwucywgXDEKKyoqCXJldAorKi8K K1RFU1RfVU5JRk9STV9aIChvcnJfMV91MzJfbV90aWVkMSwgc3Z1aW50MzJf dCwKKwkJejAgPSBzdm9ycl9uX3UzMl9tIChwMCwgejAsIDEpLAorCQl6MCA9 IHN2b3JyX20gKHAwLCB6MCwgMSkpCisKKy8qCisqKiBvcnJfMV91MzJfbV91 bnRpZWQ6CisqKgltb3YJKHpbMC05XStcLnMpLCAjMQorKioJbW92cHJmeAl6 MCwgejEKKyoqCW9ycgl6MFwucywgcDAvbSwgejBcLnMsIFwxCisqKglyZXQK KyovCitURVNUX1VOSUZPUk1fWiAob3JyXzFfdTMyX21fdW50aWVkLCBzdnVp bnQzMl90LAorCQl6MCA9IHN2b3JyX25fdTMyX20gKHAwLCB6MSwgMSksCisJ CXowID0gc3ZvcnJfbSAocDAsIHoxLCAxKSkKKworLyoKKyoqIG9ycl9tMl91 MzJfbToKKyoqCW1vdgkoelswLTldK1wucyksICMtMgorKioJb3JyCXowXC5z LCBwMC9tLCB6MFwucywgXDEKKyoqCXJldAorKi8KK1RFU1RfVU5JRk9STV9a IChvcnJfbTJfdTMyX20sIHN2dWludDMyX3QsCisJCXowID0gc3ZvcnJfbl91 MzJfbSAocDAsIHowLCAtMiksCisJCXowID0gc3ZvcnJfbSAocDAsIHowLCAt MikpCisKKy8qCisqKiBvcnJfdTMyX3pfdGllZDE6CisqKgltb3ZwcmZ4CXow XC5zLCBwMC96LCB6MFwucworKioJb3JyCXowXC5zLCBwMC9tLCB6MFwucywg ejFcLnMKKyoqCXJldAorKi8KK1RFU1RfVU5JRk9STV9aIChvcnJfdTMyX3pf dGllZDEsIHN2dWludDMyX3QsCisJCXowID0gc3ZvcnJfdTMyX3ogKHAwLCB6 MCwgejEpLAorCQl6MCA9IHN2b3JyX3ogKHAwLCB6MCwgejEpKQorCisvKgor Kiogb3JyX3UzMl96X3RpZWQyOgorKioJbW92cHJmeAl6MVwucywgcDAveiwg ejFcLnMKKyoqCW9ycgl6MVwucywgcDAvbSwgejFcLnMsIHowXC5zCisqKgly ZXQKKyovCitURVNUX1VOSUZPUk1fWiAob3JyX3UzMl96X3RpZWQyLCBzdnVp bnQzMl90LAorCQl6MSA9IHN2b3JyX3UzMl96IChwMCwgejAsIHoxKSwKKwkJ ejEgPSBzdm9ycl96IChwMCwgejAsIHoxKSkKKworLyoKKyoqIG9ycl91MzJf el91bnRpZWQ6CisqKgltb3ZwcmZ4CXowXC5zLCBwMC96LCB6MVwucworKioJ b3JyCXowXC5zLCBwMC9tLCB6MFwucywgejJcLnMKKyoqCXJldAorKi8KK1RF U1RfVU5JRk9STV9aIChvcnJfdTMyX3pfdW50aWVkLCBzdnVpbnQzMl90LAor CQl6MCA9IHN2b3JyX3UzMl96IChwMCwgejEsIHoyKSwKKwkJejAgPSBzdm9y cl96IChwMCwgejEsIHoyKSkKKworLyoKKyoqIG9ycl93MF91MzJfel90aWVk MToKKyoqCW1vdgkoelswLTldK1wucyksIHcwCisqKgltb3ZwcmZ4CXowXC5z LCBwMC96LCB6MFwucworKioJb3JyCXowXC5zLCBwMC9tLCB6MFwucywgXDEK KyoqCXJldAorKi8KK1RFU1RfVU5JRk9STV9aUyAob3JyX3cwX3UzMl96X3Rp ZWQxLCBzdnVpbnQzMl90LCB1aW50MzJfdCwKKwkJIHowID0gc3ZvcnJfbl91 MzJfeiAocDAsIHowLCB4MCksCisJCSB6MCA9IHN2b3JyX3ogKHAwLCB6MCwg eDApKQorCisvKgorKiogb3JyX3cwX3UzMl96X3VudGllZDoKKyoqCW1vdgko elswLTldK1wucyksIHcwCisqKgltb3ZwcmZ4CXowXC5zLCBwMC96LCB6MVwu cworKioJb3JyCXowXC5zLCBwMC9tLCB6MFwucywgXDEKKyoqCXJldAorKi8K K1RFU1RfVU5JRk9STV9aUyAob3JyX3cwX3UzMl96X3VudGllZCwgc3Z1aW50 MzJfdCwgdWludDMyX3QsCisJCSB6MCA9IHN2b3JyX25fdTMyX3ogKHAwLCB6 MSwgeDApLAorCQkgejAgPSBzdm9ycl96IChwMCwgejEsIHgwKSkKKworLyoK KyoqIG9ycl9zMF91MzJfel90aWVkMToKKyoqCW1vdgkoelswLTldK1wucyks IHMwCisqKgltb3ZwcmZ4CXoxXC5zLCBwMC96LCB6MVwucworKioJb3JyCXox XC5zLCBwMC9tLCB6MVwucywgXDEKKyoqCXJldAorKi8KK1RFU1RfVU5JRk9S TV9aUyAob3JyX3MwX3UzMl96X3RpZWQxLCBzdnVpbnQzMl90LCB1aW50MzJf dCwKKwkJIHoxID0gc3ZvcnJfbl91MzJfeiAocDAsIHoxLCBkMCksCisJCSB6 MSA9IHN2b3JyX3ogKHAwLCB6MSwgZDApKQorCisvKgorKiogb3JyX3MwX3Uz Ml96X3VudGllZDoKKyoqCW1vdgkoelswLTldK1wucyksIHMwCisqKgltb3Zw cmZ4CXoxXC5zLCBwMC96LCB6MlwucworKioJb3JyCXoxXC5zLCBwMC9tLCB6 MVwucywgXDEKKyoqCXJldAorKi8KK1RFU1RfVU5JRk9STV9aUyAob3JyX3Mw X3UzMl96X3VudGllZCwgc3Z1aW50MzJfdCwgdWludDMyX3QsCisJCSB6MSA9 IHN2b3JyX25fdTMyX3ogKHAwLCB6MiwgZDApLAorCQkgejEgPSBzdm9ycl96 IChwMCwgejIsIGQwKSkKKworLyoKKyoqIG9ycl91MzJfeF90aWVkMToKKyoq CW9ycgl6MFwuZCwgejBcLmQsIHoxXC5kCisqKglyZXQKKyovCitURVNUX1VO SUZPUk1fWiAob3JyX3UzMl94X3RpZWQxLCBzdnVpbnQzMl90LAorCQl6MCA9 IHN2b3JyX3UzMl94IChwMCwgejAsIHoxKSwKKwkJejAgPSBzdm9ycl94IChw MCwgejAsIHoxKSkKKworLyoKKyoqIG9ycl91MzJfeF90aWVkMjoKKyoqCW9y cgl6MVwuZCwgejBcLmQsIHoxXC5kCisqKglyZXQKKyovCitURVNUX1VOSUZP Uk1fWiAob3JyX3UzMl94X3RpZWQyLCBzdnVpbnQzMl90LAorCQl6MSA9IHN2 b3JyX3UzMl94IChwMCwgejAsIHoxKSwKKwkJejEgPSBzdm9ycl94IChwMCwg ejAsIHoxKSkKKworLyoKKyoqIG9ycl91MzJfeF91bnRpZWQ6CisqKglvcnIJ ejJcLmQsIHowXC5kLCB6MVwuZAorKioJcmV0CisqLworVEVTVF9VTklGT1JN X1ogKG9ycl91MzJfeF91bnRpZWQsIHN2dWludDMyX3QsCisJCXoyID0gc3Zv cnJfdTMyX3ggKHAwLCB6MCwgejEpLAorCQl6MiA9IHN2b3JyX3ggKHAwLCB6 MCwgejEpKQorCisvKgorKiogb3JyX3cwX3UzMl94X3RpZWQxOgorKioJbW92 CSh6WzAtOV0rKVwucywgdzAKKyoqCW9ycgl6MFwuZCwgejBcLmQsIFwxXC5k CisqKglyZXQKKyovCitURVNUX1VOSUZPUk1fWlMgKG9ycl93MF91MzJfeF90 aWVkMSwgc3Z1aW50MzJfdCwgdWludDMyX3QsCisJCSB6MCA9IHN2b3JyX25f dTMyX3ggKHAwLCB6MCwgeDApLAorCQkgejAgPSBzdm9ycl94IChwMCwgejAs IHgwKSkKKworLyoKKyoqIG9ycl93MF91MzJfeF91bnRpZWQ6CisqKgltb3YJ ejFcLnMsIHcwCisqKglvcnIJejFcLmQsIHowXC5kLCB6MVwuZAorKioJcmV0 CisqLworVEVTVF9VTklGT1JNX1pTIChvcnJfdzBfdTMyX3hfdW50aWVkLCBz dnVpbnQzMl90LCB1aW50MzJfdCwKKwkJIHoxID0gc3ZvcnJfbl91MzJfeCAo cDAsIHowLCB4MCksCisJCSB6MSA9IHN2b3JyX3ggKHAwLCB6MCwgeDApKQor CisvKgorKiogb3JyX3MwX3UzMl94X3RpZWQxOgorKioJbW92CSh6WzAtOV0r KVwucywgczAKKyoqCW9ycgl6MVwuZCwgejFcLmQsIFwxXC5kCisqKglyZXQK KyovCitURVNUX1VOSUZPUk1fWlMgKG9ycl9zMF91MzJfeF90aWVkMSwgc3Z1 aW50MzJfdCwgdWludDMyX3QsCisJCSB6MSA9IHN2b3JyX25fdTMyX3ggKHAw LCB6MSwgZDApLAorCQkgejEgPSBzdm9ycl94IChwMCwgejEsIGQwKSkKKwor LyoKKyoqIG9ycl9zMF91MzJfeF91bnRpZWQ6CisqKgltb3YJKHpbMC05XSsp XC5zLCBzMAorKioJb3JyCXoyXC5kLCB6MVwuZCwgXDFcLmQKKyoqCXJldAor Ki8KK1RFU1RfVU5JRk9STV9aUyAob3JyX3MwX3UzMl94X3VudGllZCwgc3Z1 aW50MzJfdCwgdWludDMyX3QsCisJCSB6MiA9IHN2b3JyX25fdTMyX3ggKHAw LCB6MSwgZDApLAorCQkgejIgPSBzdm9ycl94IChwMCwgejEsIGQwKSkKKwor LyoKKyoqIG9ycl8xX3UzMl94X3RpZWQxOgorKioJb3JyCXowXC5zLCB6MFwu cywgIzB4MQorKioJcmV0CisqLworVEVTVF9VTklGT1JNX1ogKG9ycl8xX3Uz Ml94X3RpZWQxLCBzdnVpbnQzMl90LAorCQl6MCA9IHN2b3JyX25fdTMyX3gg KHAwLCB6MCwgMSksCisJCXowID0gc3ZvcnJfeCAocDAsIHowLCAxKSkKKwor LyoKKyoqIG9ycl8xX3UzMl94X3VudGllZDoKKyoqCW1vdnByZngJejAsIHox CisqKglvcnIJejBcLnMsIHowXC5zLCAjMHgxCisqKglyZXQKKyovCitURVNU X1VOSUZPUk1fWiAob3JyXzFfdTMyX3hfdW50aWVkLCBzdnVpbnQzMl90LAor CQl6MCA9IHN2b3JyX25fdTMyX3ggKHAwLCB6MSwgMSksCisJCXowID0gc3Zv cnJfeCAocDAsIHoxLCAxKSkKKworLyoKKyoqIG9ycl8xMjdfdTMyX3g6Cisq KglvcnIJejBcLnMsIHowXC5zLCAjMHg3ZgorKioJcmV0CisqLworVEVTVF9V TklGT1JNX1ogKG9ycl8xMjdfdTMyX3gsIHN2dWludDMyX3QsCisJCXowID0g c3ZvcnJfbl91MzJfeCAocDAsIHowLCAxMjcpLAorCQl6MCA9IHN2b3JyX3gg KHAwLCB6MCwgMTI3KSkKKworLyoKKyoqIG9ycl8xMjhfdTMyX3g6CisqKglv cnIJejBcLnMsIHowXC5zLCAjMHg4MAorKioJcmV0CisqLworVEVTVF9VTklG T1JNX1ogKG9ycl8xMjhfdTMyX3gsIHN2dWludDMyX3QsCisJCXowID0gc3Zv cnJfbl91MzJfeCAocDAsIHowLCAxMjgpLAorCQl6MCA9IHN2b3JyX3ggKHAw LCB6MCwgMTI4KSkKKworLyoKKyoqIG9ycl8yNTVfdTMyX3g6CisqKglvcnIJ ejBcLnMsIHowXC5zLCAjMHhmZgorKioJcmV0CisqLworVEVTVF9VTklGT1JN X1ogKG9ycl8yNTVfdTMyX3gsIHN2dWludDMyX3QsCisJCXowID0gc3ZvcnJf bl91MzJfeCAocDAsIHowLCAyNTUpLAorCQl6MCA9IHN2b3JyX3ggKHAwLCB6 MCwgMjU1KSkKKworLyoKKyoqIG9ycl8yNTZfdTMyX3g6CisqKglvcnIJejBc LnMsIHowXC5zLCAjMHgxMDAKKyoqCXJldAorKi8KK1RFU1RfVU5JRk9STV9a IChvcnJfMjU2X3UzMl94LCBzdnVpbnQzMl90LAorCQl6MCA9IHN2b3JyX25f dTMyX3ggKHAwLCB6MCwgMjU2KSwKKwkJejAgPSBzdm9ycl94IChwMCwgejAs IDI1NikpCisKKy8qIFRPRE86IEJhZCBjb2RlIGFuZCBuZWVkcyBmaXhpbmcu ICAqLworVEVTVF9VTklGT1JNX1ogKG9ycl8yNTdfdTMyX3gsIHN2dWludDMy X3QsCisJCXowID0gc3ZvcnJfbl91MzJfeCAocDAsIHowLCAyNTcpLAorCQl6 MCA9IHN2b3JyX3ggKHAwLCB6MCwgMjU3KSkKKworLyoKKyoqIG9ycl81MTJf dTMyX3g6CisqKglvcnIJejBcLnMsIHowXC5zLCAjMHgyMDAKKyoqCXJldAor Ki8KK1RFU1RfVU5JRk9STV9aIChvcnJfNTEyX3UzMl94LCBzdnVpbnQzMl90 LAorCQl6MCA9IHN2b3JyX25fdTMyX3ggKHAwLCB6MCwgNTEyKSwKKwkJejAg PSBzdm9ycl94IChwMCwgejAsIDUxMikpCisKKy8qCisqKiBvcnJfNjUyODBf dTMyX3g6CisqKglvcnIJejBcLnMsIHowXC5zLCAjMHhmZjAwCisqKglyZXQK KyovCitURVNUX1VOSUZPUk1fWiAob3JyXzY1MjgwX3UzMl94LCBzdnVpbnQz Ml90LAorCQl6MCA9IHN2b3JyX25fdTMyX3ggKHAwLCB6MCwgMHhmZjAwKSwK KwkJejAgPSBzdm9ycl94IChwMCwgejAsIDB4ZmYwMCkpCisKKy8qCisqKiBv cnJfbTEyN191MzJfeDoKKyoqCW9ycgl6MFwucywgejBcLnMsICMweGZmZmZm ZjgxCisqKglyZXQKKyovCitURVNUX1VOSUZPUk1fWiAob3JyX20xMjdfdTMy X3gsIHN2dWludDMyX3QsCisJCXowID0gc3ZvcnJfbl91MzJfeCAocDAsIHow LCAtMTI3KSwKKwkJejAgPSBzdm9ycl94IChwMCwgejAsIC0xMjcpKQorCisv KgorKiogb3JyX20xMjhfdTMyX3g6CisqKglvcnIJejBcLnMsIHowXC5zLCAj MHhmZmZmZmY4MAorKioJcmV0CisqLworVEVTVF9VTklGT1JNX1ogKG9ycl9t MTI4X3UzMl94LCBzdnVpbnQzMl90LAorCQl6MCA9IHN2b3JyX25fdTMyX3gg KHAwLCB6MCwgLTEyOCksCisJCXowID0gc3ZvcnJfeCAocDAsIHowLCAtMTI4 KSkKKworLyoKKyoqIG9ycl9tMjU1X3UzMl94OgorKioJb3JyCXowXC5zLCB6 MFwucywgIzB4ZmZmZmZmMDEKKyoqCXJldAorKi8KK1RFU1RfVU5JRk9STV9a IChvcnJfbTI1NV91MzJfeCwgc3Z1aW50MzJfdCwKKwkJejAgPSBzdm9ycl9u X3UzMl94IChwMCwgejAsIC0yNTUpLAorCQl6MCA9IHN2b3JyX3ggKHAwLCB6 MCwgLTI1NSkpCisKKy8qCisqKiBvcnJfbTI1Nl91MzJfeDoKKyoqCW9ycgl6 MFwucywgejBcLnMsICMweGZmZmZmZjAwCisqKglyZXQKKyovCitURVNUX1VO SUZPUk1fWiAob3JyX20yNTZfdTMyX3gsIHN2dWludDMyX3QsCisJCXowID0g c3ZvcnJfbl91MzJfeCAocDAsIHowLCAtMjU2KSwKKwkJejAgPSBzdm9ycl94 IChwMCwgejAsIC0yNTYpKQorCisvKgorKiogb3JyX20yNTdfdTMyX3g6Cisq KglvcnIJejBcLnMsIHowXC5zLCAjMHhmZmZmZmVmZgorKioJcmV0CisqLwor VEVTVF9VTklGT1JNX1ogKG9ycl9tMjU3X3UzMl94LCBzdnVpbnQzMl90LAor CQl6MCA9IHN2b3JyX25fdTMyX3ggKHAwLCB6MCwgLTI1NyksCisJCXowID0g c3ZvcnJfeCAocDAsIHowLCAtMjU3KSkKKworLyoKKyoqIG9ycl9tNTEyX3Uz Ml94OgorKioJb3JyCXowXC5zLCB6MFwucywgIzB4ZmZmZmZlMDAKKyoqCXJl dAorKi8KK1RFU1RfVU5JRk9STV9aIChvcnJfbTUxMl91MzJfeCwgc3Z1aW50 MzJfdCwKKwkJejAgPSBzdm9ycl9uX3UzMl94IChwMCwgejAsIC01MTIpLAor CQl6MCA9IHN2b3JyX3ggKHAwLCB6MCwgLTUxMikpCisKKy8qCisqKiBvcnJf bTMyNzY4X3UzMl94OgorKioJb3JyCXowXC5zLCB6MFwucywgIzB4ZmZmZjgw MDAKKyoqCXJldAorKi8KK1RFU1RfVU5JRk9STV9aIChvcnJfbTMyNzY4X3Uz Ml94LCBzdnVpbnQzMl90LAorCQl6MCA9IHN2b3JyX25fdTMyX3ggKHAwLCB6 MCwgLTB4ODAwMCksCisJCXowID0gc3ZvcnJfeCAocDAsIHowLCAtMHg4MDAw KSkKKworLyoKKyoqIG9ycl81X3UzMl94OgorKioJbW92CSh6WzAtOV0rKVwu cywgIzUKKyoqCW9ycgl6MFwuZCwgejBcLmQsIFwxXC5kCisqKglyZXQKKyov CitURVNUX1VOSUZPUk1fWiAob3JyXzVfdTMyX3gsIHN2dWludDMyX3QsCisJ CXowID0gc3ZvcnJfbl91MzJfeCAocDAsIHowLCA1KSwKKwkJejAgPSBzdm9y cl94IChwMCwgejAsIDUpKQpkaWZmIC0tZ2l0IGEvZ2NjL3Rlc3RzdWl0ZS9n Y2MudGFyZ2V0L2FhcmNoNjQvc3ZlLWFjbGUvYXNtL29ycl91NjQuYyBiL2dj Yy90ZXN0c3VpdGUvZ2NjLnRhcmdldC9hYXJjaDY0L3N2ZS1hY2xlL2FzbS9v cnJfdTY0LmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4u NWM0YmRiMgotLS0gL2Rldi9udWxsCisrKyBiL2djYy90ZXN0c3VpdGUvZ2Nj LnRhcmdldC9hYXJjaDY0L3N2ZS1hY2xlL2FzbS9vcnJfdTY0LmMKQEAgLTAs MCArMSwzOTMgQEAKKy8qIHsgZGctZG8gY29tcGlsZSB9ICovCisvKiB7IGRn LWZpbmFsIHsgY2hlY2stZnVuY3Rpb24tYm9kaWVzICIqKiIgIiIgIi1EQ0hF Q0tfQVNNIiB9IH0gKi8KKworI2luY2x1ZGUgInRlc3Rfc3ZlX2FjbGUuaCIK KworLyoKKyoqIG9ycl91NjRfbV90aWVkMToKKyoqCW9ycgl6MFwuZCwgcDAv bSwgejBcLmQsIHoxXC5kCisqKglyZXQKKyovCitURVNUX1VOSUZPUk1fWiAo b3JyX3U2NF9tX3RpZWQxLCBzdnVpbnQ2NF90LAorCQl6MCA9IHN2b3JyX3U2 NF9tIChwMCwgejAsIHoxKSwKKwkJejAgPSBzdm9ycl9tIChwMCwgejAsIHox KSkKKworLyogQmFkIFJBIGNob2ljZTogbm8gcHJlZmVycmVkIG91dHB1dCBz ZXF1ZW5jZS4gICovCitURVNUX1VOSUZPUk1fWiAob3JyX3U2NF9tX3RpZWQy LCBzdnVpbnQ2NF90LAorCQl6MSA9IHN2b3JyX3U2NF9tIChwMCwgejAsIHox KSwKKwkJejEgPSBzdm9ycl9tIChwMCwgejAsIHoxKSkKKworLyoKKyoqIG9y cl91NjRfbV91bnRpZWQ6CisqKgltb3ZwcmZ4CXowLCB6MQorKioJb3JyCXow XC5kLCBwMC9tLCB6MFwuZCwgejJcLmQKKyoqCXJldAorKi8KK1RFU1RfVU5J Rk9STV9aIChvcnJfdTY0X21fdW50aWVkLCBzdnVpbnQ2NF90LAorCQl6MCA9 IHN2b3JyX3U2NF9tIChwMCwgejEsIHoyKSwKKwkJejAgPSBzdm9ycl9tIChw MCwgejEsIHoyKSkKKworLyoKKyoqIG9ycl94MF91NjRfbV90aWVkMToKKyoq CW1vdgkoelswLTldK1wuZCksIHgwCisqKglvcnIJejBcLmQsIHAwL20sIHow XC5kLCBcMQorKioJcmV0CisqLworVEVTVF9VTklGT1JNX1pTIChvcnJfeDBf dTY0X21fdGllZDEsIHN2dWludDY0X3QsIHVpbnQ2NF90LAorCQkgejAgPSBz dm9ycl9uX3U2NF9tIChwMCwgejAsIHgwKSwKKwkJIHowID0gc3ZvcnJfbSAo cDAsIHowLCB4MCkpCisKKy8qCisqKiBvcnJfeDBfdTY0X21fdW50aWVkOgor KioJbW92CSh6WzAtOV0rXC5kKSwgeDAKKyoqCW1vdnByZngJejAsIHoxCisq KglvcnIJejBcLmQsIHAwL20sIHowXC5kLCBcMQorKioJcmV0CisqLworVEVT VF9VTklGT1JNX1pTIChvcnJfeDBfdTY0X21fdW50aWVkLCBzdnVpbnQ2NF90 LCB1aW50NjRfdCwKKwkJIHowID0gc3ZvcnJfbl91NjRfbSAocDAsIHoxLCB4 MCksCisJCSB6MCA9IHN2b3JyX20gKHAwLCB6MSwgeDApKQorCisvKgorKiog b3JyX2QwX3U2NF9tX3RpZWQxOgorKioJbW92CSh6WzAtOV0rXC5kKSwgZDAK KyoqCW9ycgl6MVwuZCwgcDAvbSwgejFcLmQsIFwxCisqKglyZXQKKyovCitU RVNUX1VOSUZPUk1fWlMgKG9ycl9kMF91NjRfbV90aWVkMSwgc3Z1aW50NjRf dCwgdWludDY0X3QsCisJCSB6MSA9IHN2b3JyX25fdTY0X20gKHAwLCB6MSwg ZDApLAorCQkgejEgPSBzdm9ycl9tIChwMCwgejEsIGQwKSkKKworLyoKKyoq IG9ycl9kMF91NjRfbV91bnRpZWQ6CisqKgltb3YJKHpbMC05XStcLmQpLCBk MAorKioJbW92cHJmeAl6MSwgejIKKyoqCW9ycgl6MVwuZCwgcDAvbSwgejFc LmQsIFwxCisqKglyZXQKKyovCitURVNUX1VOSUZPUk1fWlMgKG9ycl9kMF91 NjRfbV91bnRpZWQsIHN2dWludDY0X3QsIHVpbnQ2NF90LAorCQkgejEgPSBz dm9ycl9uX3U2NF9tIChwMCwgejIsIGQwKSwKKwkJIHoxID0gc3ZvcnJfbSAo cDAsIHoyLCBkMCkpCisKKy8qCisqKiBvcnJfMV91NjRfbV90aWVkMToKKyoq CW1vdgkoelswLTldK1wuZCksICMxCisqKglvcnIJejBcLmQsIHAwL20sIHow XC5kLCBcMQorKioJcmV0CisqLworVEVTVF9VTklGT1JNX1ogKG9ycl8xX3U2 NF9tX3RpZWQxLCBzdnVpbnQ2NF90LAorCQl6MCA9IHN2b3JyX25fdTY0X20g KHAwLCB6MCwgMSksCisJCXowID0gc3ZvcnJfbSAocDAsIHowLCAxKSkKKwor LyoKKyoqIG9ycl8xX3U2NF9tX3VudGllZDoKKyoqCW1vdgkoelswLTldK1wu ZCksICMxCisqKgltb3ZwcmZ4CXowLCB6MQorKioJb3JyCXowXC5kLCBwMC9t LCB6MFwuZCwgXDEKKyoqCXJldAorKi8KK1RFU1RfVU5JRk9STV9aIChvcnJf MV91NjRfbV91bnRpZWQsIHN2dWludDY0X3QsCisJCXowID0gc3ZvcnJfbl91 NjRfbSAocDAsIHoxLCAxKSwKKwkJejAgPSBzdm9ycl9tIChwMCwgejEsIDEp KQorCisvKgorKiogb3JyX20yX3U2NF9tOgorKioJbW92CSh6WzAtOV0rXC5k KSwgIy0yCisqKglvcnIJejBcLmQsIHAwL20sIHowXC5kLCBcMQorKioJcmV0 CisqLworVEVTVF9VTklGT1JNX1ogKG9ycl9tMl91NjRfbSwgc3Z1aW50NjRf dCwKKwkJejAgPSBzdm9ycl9uX3U2NF9tIChwMCwgejAsIC0yKSwKKwkJejAg PSBzdm9ycl9tIChwMCwgejAsIC0yKSkKKworLyoKKyoqIG9ycl91NjRfel90 aWVkMToKKyoqCW1vdnByZngJejBcLmQsIHAwL3osIHowXC5kCisqKglvcnIJ ejBcLmQsIHAwL20sIHowXC5kLCB6MVwuZAorKioJcmV0CisqLworVEVTVF9V TklGT1JNX1ogKG9ycl91NjRfel90aWVkMSwgc3Z1aW50NjRfdCwKKwkJejAg PSBzdm9ycl91NjRfeiAocDAsIHowLCB6MSksCisJCXowID0gc3ZvcnJfeiAo cDAsIHowLCB6MSkpCisKKy8qCisqKiBvcnJfdTY0X3pfdGllZDI6CisqKglt b3ZwcmZ4CXoxXC5kLCBwMC96LCB6MVwuZAorKioJb3JyCXoxXC5kLCBwMC9t LCB6MVwuZCwgejBcLmQKKyoqCXJldAorKi8KK1RFU1RfVU5JRk9STV9aIChv cnJfdTY0X3pfdGllZDIsIHN2dWludDY0X3QsCisJCXoxID0gc3ZvcnJfdTY0 X3ogKHAwLCB6MCwgejEpLAorCQl6MSA9IHN2b3JyX3ogKHAwLCB6MCwgejEp KQorCisvKgorKiogb3JyX3U2NF96X3VudGllZDoKKyoqCW1vdnByZngJejBc LmQsIHAwL3osIHoxXC5kCisqKglvcnIJejBcLmQsIHAwL20sIHowXC5kLCB6 MlwuZAorKioJcmV0CisqLworVEVTVF9VTklGT1JNX1ogKG9ycl91NjRfel91 bnRpZWQsIHN2dWludDY0X3QsCisJCXowID0gc3ZvcnJfdTY0X3ogKHAwLCB6 MSwgejIpLAorCQl6MCA9IHN2b3JyX3ogKHAwLCB6MSwgejIpKQorCisvKgor Kiogb3JyX3gwX3U2NF96X3RpZWQxOgorKioJbW92CSh6WzAtOV0rXC5kKSwg eDAKKyoqCW1vdnByZngJejBcLmQsIHAwL3osIHowXC5kCisqKglvcnIJejBc LmQsIHAwL20sIHowXC5kLCBcMQorKioJcmV0CisqLworVEVTVF9VTklGT1JN X1pTIChvcnJfeDBfdTY0X3pfdGllZDEsIHN2dWludDY0X3QsIHVpbnQ2NF90 LAorCQkgejAgPSBzdm9ycl9uX3U2NF96IChwMCwgejAsIHgwKSwKKwkJIHow ID0gc3ZvcnJfeiAocDAsIHowLCB4MCkpCisKKy8qCisqKiBvcnJfeDBfdTY0 X3pfdW50aWVkOgorKioJbW92CSh6WzAtOV0rXC5kKSwgeDAKKyoqCW1vdnBy ZngJejBcLmQsIHAwL3osIHoxXC5kCisqKglvcnIJejBcLmQsIHAwL20sIHow XC5kLCBcMQorKioJcmV0CisqLworVEVTVF9VTklGT1JNX1pTIChvcnJfeDBf dTY0X3pfdW50aWVkLCBzdnVpbnQ2NF90LCB1aW50NjRfdCwKKwkJIHowID0g c3ZvcnJfbl91NjRfeiAocDAsIHoxLCB4MCksCisJCSB6MCA9IHN2b3JyX3og KHAwLCB6MSwgeDApKQorCisvKgorKiogb3JyX2QwX3U2NF96X3RpZWQxOgor KioJbW92CSh6WzAtOV0rXC5kKSwgZDAKKyoqCW1vdnByZngJejFcLmQsIHAw L3osIHoxXC5kCisqKglvcnIJejFcLmQsIHAwL20sIHoxXC5kLCBcMQorKioJ cmV0CisqLworVEVTVF9VTklGT1JNX1pTIChvcnJfZDBfdTY0X3pfdGllZDEs IHN2dWludDY0X3QsIHVpbnQ2NF90LAorCQkgejEgPSBzdm9ycl9uX3U2NF96 IChwMCwgejEsIGQwKSwKKwkJIHoxID0gc3ZvcnJfeiAocDAsIHoxLCBkMCkp CisKKy8qCisqKiBvcnJfZDBfdTY0X3pfdW50aWVkOgorKioJbW92CSh6WzAt OV0rXC5kKSwgZDAKKyoqCW1vdnByZngJejFcLmQsIHAwL3osIHoyXC5kCisq KglvcnIJejFcLmQsIHAwL20sIHoxXC5kLCBcMQorKioJcmV0CisqLworVEVT VF9VTklGT1JNX1pTIChvcnJfZDBfdTY0X3pfdW50aWVkLCBzdnVpbnQ2NF90 LCB1aW50NjRfdCwKKwkJIHoxID0gc3ZvcnJfbl91NjRfeiAocDAsIHoyLCBk MCksCisJCSB6MSA9IHN2b3JyX3ogKHAwLCB6MiwgZDApKQorCisvKgorKiog b3JyX3U2NF94X3RpZWQxOgorKioJb3JyCXowXC5kLCB6MFwuZCwgejFcLmQK KyoqCXJldAorKi8KK1RFU1RfVU5JRk9STV9aIChvcnJfdTY0X3hfdGllZDEs IHN2dWludDY0X3QsCisJCXowID0gc3ZvcnJfdTY0X3ggKHAwLCB6MCwgejEp LAorCQl6MCA9IHN2b3JyX3ggKHAwLCB6MCwgejEpKQorCisvKgorKiogb3Jy X3U2NF94X3RpZWQyOgorKioJb3JyCXoxXC5kLCB6MFwuZCwgejFcLmQKKyoq CXJldAorKi8KK1RFU1RfVU5JRk9STV9aIChvcnJfdTY0X3hfdGllZDIsIHN2 dWludDY0X3QsCisJCXoxID0gc3ZvcnJfdTY0X3ggKHAwLCB6MCwgejEpLAor CQl6MSA9IHN2b3JyX3ggKHAwLCB6MCwgejEpKQorCisvKgorKiogb3JyX3U2 NF94X3VudGllZDoKKyoqCW9ycgl6MlwuZCwgejBcLmQsIHoxXC5kCisqKgly ZXQKKyovCitURVNUX1VOSUZPUk1fWiAob3JyX3U2NF94X3VudGllZCwgc3Z1 aW50NjRfdCwKKwkJejIgPSBzdm9ycl91NjRfeCAocDAsIHowLCB6MSksCisJ CXoyID0gc3ZvcnJfeCAocDAsIHowLCB6MSkpCisKKy8qCisqKiBvcnJfeDBf dTY0X3hfdGllZDE6CisqKgltb3YJKHpbMC05XSspXC5kLCB4MAorKioJb3Jy CXowXC5kLCB6MFwuZCwgXDFcLmQKKyoqCXJldAorKi8KK1RFU1RfVU5JRk9S TV9aUyAob3JyX3gwX3U2NF94X3RpZWQxLCBzdnVpbnQ2NF90LCB1aW50NjRf dCwKKwkJIHowID0gc3ZvcnJfbl91NjRfeCAocDAsIHowLCB4MCksCisJCSB6 MCA9IHN2b3JyX3ggKHAwLCB6MCwgeDApKQorCisvKgorKiogb3JyX3gwX3U2 NF94X3VudGllZDoKKyoqCW1vdgl6MVwuZCwgeDAKKyoqCW9ycgl6MVwuZCwg ejBcLmQsIHoxXC5kCisqKglyZXQKKyovCitURVNUX1VOSUZPUk1fWlMgKG9y cl94MF91NjRfeF91bnRpZWQsIHN2dWludDY0X3QsIHVpbnQ2NF90LAorCQkg ejEgPSBzdm9ycl9uX3U2NF94IChwMCwgejAsIHgwKSwKKwkJIHoxID0gc3Zv cnJfeCAocDAsIHowLCB4MCkpCisKKy8qCisqKiBvcnJfZDBfdTY0X3hfdGll ZDE6CisqKgltb3YJKHpbMC05XSspXC5kLCBkMAorKioJb3JyCXoxXC5kLCB6 MVwuZCwgXDFcLmQKKyoqCXJldAorKi8KK1RFU1RfVU5JRk9STV9aUyAob3Jy X2QwX3U2NF94X3RpZWQxLCBzdnVpbnQ2NF90LCB1aW50NjRfdCwKKwkJIHox ID0gc3ZvcnJfbl91NjRfeCAocDAsIHoxLCBkMCksCisJCSB6MSA9IHN2b3Jy X3ggKHAwLCB6MSwgZDApKQorCisvKgorKiogb3JyX2QwX3U2NF94X3VudGll ZDoKKyoqCW1vdgkoelswLTldKylcLmQsIGQwCisqKglvcnIJejJcLmQsIHox XC5kLCBcMVwuZAorKioJcmV0CisqLworVEVTVF9VTklGT1JNX1pTIChvcnJf ZDBfdTY0X3hfdW50aWVkLCBzdnVpbnQ2NF90LCB1aW50NjRfdCwKKwkJIHoy ID0gc3ZvcnJfbl91NjRfeCAocDAsIHoxLCBkMCksCisJCSB6MiA9IHN2b3Jy X3ggKHAwLCB6MSwgZDApKQorCisvKgorKiogb3JyXzFfdTY0X3hfdGllZDE6 CisqKglvcnIJejBcLmQsIHowXC5kLCAjMHgxCisqKglyZXQKKyovCitURVNU X1VOSUZPUk1fWiAob3JyXzFfdTY0X3hfdGllZDEsIHN2dWludDY0X3QsCisJ CXowID0gc3ZvcnJfbl91NjRfeCAocDAsIHowLCAxKSwKKwkJejAgPSBzdm9y cl94IChwMCwgejAsIDEpKQorCisvKgorKiogb3JyXzFfdTY0X3hfdW50aWVk OgorKioJbW92cHJmeAl6MCwgejEKKyoqCW9ycgl6MFwuZCwgejBcLmQsICMw eDEKKyoqCXJldAorKi8KK1RFU1RfVU5JRk9STV9aIChvcnJfMV91NjRfeF91 bnRpZWQsIHN2dWludDY0X3QsCisJCXowID0gc3ZvcnJfbl91NjRfeCAocDAs IHoxLCAxKSwKKwkJejAgPSBzdm9ycl94IChwMCwgejEsIDEpKQorCisvKgor Kiogb3JyXzEyN191NjRfeDoKKyoqCW9ycgl6MFwuZCwgejBcLmQsICMweDdm CisqKglyZXQKKyovCitURVNUX1VOSUZPUk1fWiAob3JyXzEyN191NjRfeCwg c3Z1aW50NjRfdCwKKwkJejAgPSBzdm9ycl9uX3U2NF94IChwMCwgejAsIDEy NyksCisJCXowID0gc3ZvcnJfeCAocDAsIHowLCAxMjcpKQorCisvKgorKiog b3JyXzEyOF91NjRfeDoKKyoqCW9ycgl6MFwuZCwgejBcLmQsICMweDgwCisq KglyZXQKKyovCitURVNUX1VOSUZPUk1fWiAob3JyXzEyOF91NjRfeCwgc3Z1 aW50NjRfdCwKKwkJejAgPSBzdm9ycl9uX3U2NF94IChwMCwgejAsIDEyOCks CisJCXowID0gc3ZvcnJfeCAocDAsIHowLCAxMjgpKQorCisvKgorKiogb3Jy XzI1NV91NjRfeDoKKyoqCW9ycgl6MFwuZCwgejBcLmQsICMweGZmCisqKgly ZXQKKyovCitURVNUX1VOSUZPUk1fWiAob3JyXzI1NV91NjRfeCwgc3Z1aW50 NjRfdCwKKwkJejAgPSBzdm9ycl9uX3U2NF94IChwMCwgejAsIDI1NSksCisJ CXowID0gc3ZvcnJfeCAocDAsIHowLCAyNTUpKQorCisvKgorKiogb3JyXzI1 Nl91NjRfeDoKKyoqCW9ycgl6MFwuZCwgejBcLmQsICMweDEwMAorKioJcmV0 CisqLworVEVTVF9VTklGT1JNX1ogKG9ycl8yNTZfdTY0X3gsIHN2dWludDY0 X3QsCisJCXowID0gc3ZvcnJfbl91NjRfeCAocDAsIHowLCAyNTYpLAorCQl6 MCA9IHN2b3JyX3ggKHAwLCB6MCwgMjU2KSkKKworLyogVE9ETzogQmFkIGNv ZGUgYW5kIG5lZWRzIGZpeGluZy4gICovCitURVNUX1VOSUZPUk1fWiAob3Jy XzI1N191NjRfeCwgc3Z1aW50NjRfdCwKKwkJejAgPSBzdm9ycl9uX3U2NF94 IChwMCwgejAsIDI1NyksCisJCXowID0gc3ZvcnJfeCAocDAsIHowLCAyNTcp KQorCisvKgorKiogb3JyXzUxMl91NjRfeDoKKyoqCW9ycgl6MFwuZCwgejBc LmQsICMweDIwMAorKioJcmV0CisqLworVEVTVF9VTklGT1JNX1ogKG9ycl81 MTJfdTY0X3gsIHN2dWludDY0X3QsCisJCXowID0gc3ZvcnJfbl91NjRfeCAo cDAsIHowLCA1MTIpLAorCQl6MCA9IHN2b3JyX3ggKHAwLCB6MCwgNTEyKSkK KworLyoKKyoqIG9ycl82NTI4MF91NjRfeDoKKyoqCW9ycgl6MFwuZCwgejBc LmQsICMweGZmMDAKKyoqCXJldAorKi8KK1RFU1RfVU5JRk9STV9aIChvcnJf NjUyODBfdTY0X3gsIHN2dWludDY0X3QsCisJCXowID0gc3ZvcnJfbl91NjRf eCAocDAsIHowLCAweGZmMDApLAorCQl6MCA9IHN2b3JyX3ggKHAwLCB6MCwg MHhmZjAwKSkKKworLyoKKyoqIG9ycl9tMTI3X3U2NF94OgorKioJb3JyCXow XC5kLCB6MFwuZCwgIzB4ZmZmZmZmZmZmZmZmZmY4MQorKioJcmV0CisqLwor VEVTVF9VTklGT1JNX1ogKG9ycl9tMTI3X3U2NF94LCBzdnVpbnQ2NF90LAor CQl6MCA9IHN2b3JyX25fdTY0X3ggKHAwLCB6MCwgLTEyNyksCisJCXowID0g c3ZvcnJfeCAocDAsIHowLCAtMTI3KSkKKworLyoKKyoqIG9ycl9tMTI4X3U2 NF94OgorKioJb3JyCXowXC5kLCB6MFwuZCwgIzB4ZmZmZmZmZmZmZmZmZmY4 MAorKioJcmV0CisqLworVEVTVF9VTklGT1JNX1ogKG9ycl9tMTI4X3U2NF94 LCBzdnVpbnQ2NF90LAorCQl6MCA9IHN2b3JyX25fdTY0X3ggKHAwLCB6MCwg LTEyOCksCisJCXowID0gc3ZvcnJfeCAocDAsIHowLCAtMTI4KSkKKworLyoK KyoqIG9ycl9tMjU1X3U2NF94OgorKioJb3JyCXowXC5kLCB6MFwuZCwgIzB4 ZmZmZmZmZmZmZmZmZmYwMQorKioJcmV0CisqLworVEVTVF9VTklGT1JNX1og KG9ycl9tMjU1X3U2NF94LCBzdnVpbnQ2NF90LAorCQl6MCA9IHN2b3JyX25f dTY0X3ggKHAwLCB6MCwgLTI1NSksCisJCXowID0gc3ZvcnJfeCAocDAsIHow LCAtMjU1KSkKKworLyoKKyoqIG9ycl9tMjU2X3U2NF94OgorKioJb3JyCXow XC5kLCB6MFwuZCwgIzB4ZmZmZmZmZmZmZmZmZmYwMAorKioJcmV0CisqLwor VEVTVF9VTklGT1JNX1ogKG9ycl9tMjU2X3U2NF94LCBzdnVpbnQ2NF90LAor CQl6MCA9IHN2b3JyX25fdTY0X3ggKHAwLCB6MCwgLTI1NiksCisJCXowID0g c3ZvcnJfeCAocDAsIHowLCAtMjU2KSkKKworLyoKKyoqIG9ycl9tMjU3X3U2 NF94OgorKioJb3JyCXowXC5kLCB6MFwuZCwgIzB4ZmZmZmZmZmZmZmZmZmVm ZgorKioJcmV0CisqLworVEVTVF9VTklGT1JNX1ogKG9ycl9tMjU3X3U2NF94 LCBzdnVpbnQ2NF90LAorCQl6MCA9IHN2b3JyX25fdTY0X3ggKHAwLCB6MCwg LTI1NyksCisJCXowID0gc3ZvcnJfeCAocDAsIHowLCAtMjU3KSkKKworLyoK KyoqIG9ycl9tNTEyX3U2NF94OgorKioJb3JyCXowXC5kLCB6MFwuZCwgIzB4 ZmZmZmZmZmZmZmZmZmUwMAorKioJcmV0CisqLworVEVTVF9VTklGT1JNX1og KG9ycl9tNTEyX3U2NF94LCBzdnVpbnQ2NF90LAorCQl6MCA9IHN2b3JyX25f dTY0X3ggKHAwLCB6MCwgLTUxMiksCisJCXowID0gc3ZvcnJfeCAocDAsIHow LCAtNTEyKSkKKworLyoKKyoqIG9ycl9tMzI3NjhfdTY0X3g6CisqKglvcnIJ ejBcLmQsIHowXC5kLCAjMHhmZmZmZmZmZmZmZmY4MDAwCisqKglyZXQKKyov CitURVNUX1VOSUZPUk1fWiAob3JyX20zMjc2OF91NjRfeCwgc3Z1aW50NjRf dCwKKwkJejAgPSBzdm9ycl9uX3U2NF94IChwMCwgejAsIC0weDgwMDApLAor CQl6MCA9IHN2b3JyX3ggKHAwLCB6MCwgLTB4ODAwMCkpCisKKy8qCisqKiBv cnJfNV91NjRfeDoKKyoqCW1vdgkoelswLTldKylcLmQsICM1CisqKglvcnIJ ejBcLmQsIHowXC5kLCBcMVwuZAorKioJcmV0CisqLworVEVTVF9VTklGT1JN X1ogKG9ycl81X3U2NF94LCBzdnVpbnQ2NF90LAorCQl6MCA9IHN2b3JyX25f dTY0X3ggKHAwLCB6MCwgNSksCisJCXowID0gc3ZvcnJfeCAocDAsIHowLCA1 KSkKZGlmZiAtLWdpdCBhL2djYy90ZXN0c3VpdGUvZ2NjLnRhcmdldC9hYXJj aDY0L3N2ZS1hY2xlL2FzbS9vcnJfdTguYyBiL2djYy90ZXN0c3VpdGUvZ2Nj LnRhcmdldC9hYXJjaDY0L3N2ZS1hY2xlL2FzbS9vcnJfdTguYwpuZXcgZmls ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi40NTUyYzE3Ci0tLSAvZGV2 L251bGwKKysrIGIvZ2NjL3Rlc3RzdWl0ZS9nY2MudGFyZ2V0L2FhcmNoNjQv c3ZlLWFjbGUvYXNtL29ycl91OC5jCkBAIC0wLDAgKzEsMzE2IEBACisvKiB7 IGRnLWRvIGNvbXBpbGUgfSAqLworLyogeyBkZy1maW5hbCB7IGNoZWNrLWZ1 bmN0aW9uLWJvZGllcyAiKioiICIiICItRENIRUNLX0FTTSIgfSB9ICovCisK KyNpbmNsdWRlICJ0ZXN0X3N2ZV9hY2xlLmgiCisKKy8qCisqKiBvcnJfdThf bV90aWVkMToKKyoqCW9ycgl6MFwuYiwgcDAvbSwgejBcLmIsIHoxXC5iCisq KglyZXQKKyovCitURVNUX1VOSUZPUk1fWiAob3JyX3U4X21fdGllZDEsIHN2 dWludDhfdCwKKwkJejAgPSBzdm9ycl91OF9tIChwMCwgejAsIHoxKSwKKwkJ ejAgPSBzdm9ycl9tIChwMCwgejAsIHoxKSkKKworLyogQmFkIFJBIGNob2lj ZTogbm8gcHJlZmVycmVkIG91dHB1dCBzZXF1ZW5jZS4gICovCitURVNUX1VO SUZPUk1fWiAob3JyX3U4X21fdGllZDIsIHN2dWludDhfdCwKKwkJejEgPSBz dm9ycl91OF9tIChwMCwgejAsIHoxKSwKKwkJejEgPSBzdm9ycl9tIChwMCwg ejAsIHoxKSkKKworLyoKKyoqIG9ycl91OF9tX3VudGllZDoKKyoqCW1vdnBy ZngJejAsIHoxCisqKglvcnIJejBcLmIsIHAwL20sIHowXC5iLCB6MlwuYgor KioJcmV0CisqLworVEVTVF9VTklGT1JNX1ogKG9ycl91OF9tX3VudGllZCwg c3Z1aW50OF90LAorCQl6MCA9IHN2b3JyX3U4X20gKHAwLCB6MSwgejIpLAor CQl6MCA9IHN2b3JyX20gKHAwLCB6MSwgejIpKQorCisvKgorKiogb3JyX3cw X3U4X21fdGllZDE6CisqKgltb3YJKHpbMC05XStcLmIpLCB3MAorKioJb3Jy CXowXC5iLCBwMC9tLCB6MFwuYiwgXDEKKyoqCXJldAorKi8KK1RFU1RfVU5J Rk9STV9aUyAob3JyX3cwX3U4X21fdGllZDEsIHN2dWludDhfdCwgdWludDhf dCwKKwkJIHowID0gc3ZvcnJfbl91OF9tIChwMCwgejAsIHgwKSwKKwkJIHow ID0gc3ZvcnJfbSAocDAsIHowLCB4MCkpCisKKy8qCisqKiBvcnJfdzBfdThf bV91bnRpZWQ6CisqKgltb3YJKHpbMC05XStcLmIpLCB3MAorKioJbW92cHJm eAl6MCwgejEKKyoqCW9ycgl6MFwuYiwgcDAvbSwgejBcLmIsIFwxCisqKgly ZXQKKyovCitURVNUX1VOSUZPUk1fWlMgKG9ycl93MF91OF9tX3VudGllZCwg c3Z1aW50OF90LCB1aW50OF90LAorCQkgejAgPSBzdm9ycl9uX3U4X20gKHAw LCB6MSwgeDApLAorCQkgejAgPSBzdm9ycl9tIChwMCwgejEsIHgwKSkKKwor LyoKKyoqIG9ycl9iMF91OF9tX3RpZWQxOgorKioJbW92CSh6WzAtOV0rXC5i KSwgYjAKKyoqCW9ycgl6MVwuYiwgcDAvbSwgejFcLmIsIFwxCisqKglyZXQK KyovCitURVNUX1VOSUZPUk1fWlMgKG9ycl9iMF91OF9tX3RpZWQxLCBzdnVp bnQ4X3QsIHVpbnQ4X3QsCisJCSB6MSA9IHN2b3JyX25fdThfbSAocDAsIHox LCBkMCksCisJCSB6MSA9IHN2b3JyX20gKHAwLCB6MSwgZDApKQorCisvKgor Kiogb3JyX2IwX3U4X21fdW50aWVkOgorKioJbW92CSh6WzAtOV0rXC5iKSwg YjAKKyoqCW1vdnByZngJejEsIHoyCisqKglvcnIJejFcLmIsIHAwL20sIHox XC5iLCBcMQorKioJcmV0CisqLworVEVTVF9VTklGT1JNX1pTIChvcnJfYjBf dThfbV91bnRpZWQsIHN2dWludDhfdCwgdWludDhfdCwKKwkJIHoxID0gc3Zv cnJfbl91OF9tIChwMCwgejIsIGQwKSwKKwkJIHoxID0gc3ZvcnJfbSAocDAs IHoyLCBkMCkpCisKKy8qCisqKiBvcnJfMV91OF9tX3RpZWQxOgorKioJbW92 CSh6WzAtOV0rXC5iKSwgIzEKKyoqCW9ycgl6MFwuYiwgcDAvbSwgejBcLmIs IFwxCisqKglyZXQKKyovCitURVNUX1VOSUZPUk1fWiAob3JyXzFfdThfbV90 aWVkMSwgc3Z1aW50OF90LAorCQl6MCA9IHN2b3JyX25fdThfbSAocDAsIHow LCAxKSwKKwkJejAgPSBzdm9ycl9tIChwMCwgejAsIDEpKQorCisvKgorKiog b3JyXzFfdThfbV91bnRpZWQ6CisqKgltb3YJKHpbMC05XStcLmIpLCAjMQor KioJbW92cHJmeAl6MCwgejEKKyoqCW9ycgl6MFwuYiwgcDAvbSwgejBcLmIs IFwxCisqKglyZXQKKyovCitURVNUX1VOSUZPUk1fWiAob3JyXzFfdThfbV91 bnRpZWQsIHN2dWludDhfdCwKKwkJejAgPSBzdm9ycl9uX3U4X20gKHAwLCB6 MSwgMSksCisJCXowID0gc3ZvcnJfbSAocDAsIHoxLCAxKSkKKworLyoKKyoq IG9ycl9tMl91OF9tOgorKioJbW92CSh6WzAtOV0rXC5iKSwgIy0yCisqKglv cnIJejBcLmIsIHAwL20sIHowXC5iLCBcMQorKioJcmV0CisqLworVEVTVF9V TklGT1JNX1ogKG9ycl9tMl91OF9tLCBzdnVpbnQ4X3QsCisJCXowID0gc3Zv cnJfbl91OF9tIChwMCwgejAsIC0yKSwKKwkJejAgPSBzdm9ycl9tIChwMCwg ejAsIC0yKSkKKworLyoKKyoqIG9ycl91OF96X3RpZWQxOgorKioJbW92cHJm eAl6MFwuYiwgcDAveiwgejBcLmIKKyoqCW9ycgl6MFwuYiwgcDAvbSwgejBc LmIsIHoxXC5iCisqKglyZXQKKyovCitURVNUX1VOSUZPUk1fWiAob3JyX3U4 X3pfdGllZDEsIHN2dWludDhfdCwKKwkJejAgPSBzdm9ycl91OF96IChwMCwg ejAsIHoxKSwKKwkJejAgPSBzdm9ycl96IChwMCwgejAsIHoxKSkKKworLyoK KyoqIG9ycl91OF96X3RpZWQyOgorKioJbW92cHJmeAl6MVwuYiwgcDAveiwg ejFcLmIKKyoqCW9ycgl6MVwuYiwgcDAvbSwgejFcLmIsIHowXC5iCisqKgly ZXQKKyovCitURVNUX1VOSUZPUk1fWiAob3JyX3U4X3pfdGllZDIsIHN2dWlu dDhfdCwKKwkJejEgPSBzdm9ycl91OF96IChwMCwgejAsIHoxKSwKKwkJejEg PSBzdm9ycl96IChwMCwgejAsIHoxKSkKKworLyoKKyoqIG9ycl91OF96X3Vu dGllZDoKKyoqCW1vdnByZngJejBcLmIsIHAwL3osIHoxXC5iCisqKglvcnIJ ejBcLmIsIHAwL20sIHowXC5iLCB6MlwuYgorKioJcmV0CisqLworVEVTVF9V TklGT1JNX1ogKG9ycl91OF96X3VudGllZCwgc3Z1aW50OF90LAorCQl6MCA9 IHN2b3JyX3U4X3ogKHAwLCB6MSwgejIpLAorCQl6MCA9IHN2b3JyX3ogKHAw LCB6MSwgejIpKQorCisvKgorKiogb3JyX3cwX3U4X3pfdGllZDE6CisqKglt b3YJKHpbMC05XStcLmIpLCB3MAorKioJbW92cHJmeAl6MFwuYiwgcDAveiwg ejBcLmIKKyoqCW9ycgl6MFwuYiwgcDAvbSwgejBcLmIsIFwxCisqKglyZXQK KyovCitURVNUX1VOSUZPUk1fWlMgKG9ycl93MF91OF96X3RpZWQxLCBzdnVp bnQ4X3QsIHVpbnQ4X3QsCisJCSB6MCA9IHN2b3JyX25fdThfeiAocDAsIHow LCB4MCksCisJCSB6MCA9IHN2b3JyX3ogKHAwLCB6MCwgeDApKQorCisvKgor Kiogb3JyX3cwX3U4X3pfdW50aWVkOgorKioJbW92CSh6WzAtOV0rXC5iKSwg dzAKKyoqCW1vdnByZngJejBcLmIsIHAwL3osIHoxXC5iCisqKglvcnIJejBc LmIsIHAwL20sIHowXC5iLCBcMQorKioJcmV0CisqLworVEVTVF9VTklGT1JN X1pTIChvcnJfdzBfdThfel91bnRpZWQsIHN2dWludDhfdCwgdWludDhfdCwK KwkJIHowID0gc3ZvcnJfbl91OF96IChwMCwgejEsIHgwKSwKKwkJIHowID0g c3ZvcnJfeiAocDAsIHoxLCB4MCkpCisKKy8qCisqKiBvcnJfYjBfdThfel90 aWVkMToKKyoqCW1vdgkoelswLTldK1wuYiksIGIwCisqKgltb3ZwcmZ4CXox XC5iLCBwMC96LCB6MVwuYgorKioJb3JyCXoxXC5iLCBwMC9tLCB6MVwuYiwg XDEKKyoqCXJldAorKi8KK1RFU1RfVU5JRk9STV9aUyAob3JyX2IwX3U4X3pf dGllZDEsIHN2dWludDhfdCwgdWludDhfdCwKKwkJIHoxID0gc3ZvcnJfbl91 OF96IChwMCwgejEsIGQwKSwKKwkJIHoxID0gc3ZvcnJfeiAocDAsIHoxLCBk MCkpCisKKy8qCisqKiBvcnJfYjBfdThfel91bnRpZWQ6CisqKgltb3YJKHpb MC05XStcLmIpLCBiMAorKioJbW92cHJmeAl6MVwuYiwgcDAveiwgejJcLmIK KyoqCW9ycgl6MVwuYiwgcDAvbSwgejFcLmIsIFwxCisqKglyZXQKKyovCitU RVNUX1VOSUZPUk1fWlMgKG9ycl9iMF91OF96X3VudGllZCwgc3Z1aW50OF90 LCB1aW50OF90LAorCQkgejEgPSBzdm9ycl9uX3U4X3ogKHAwLCB6MiwgZDAp LAorCQkgejEgPSBzdm9ycl96IChwMCwgejIsIGQwKSkKKworLyoKKyoqIG9y cl91OF94X3RpZWQxOgorKioJb3JyCXowXC5kLCB6MFwuZCwgejFcLmQKKyoq CXJldAorKi8KK1RFU1RfVU5JRk9STV9aIChvcnJfdThfeF90aWVkMSwgc3Z1 aW50OF90LAorCQl6MCA9IHN2b3JyX3U4X3ggKHAwLCB6MCwgejEpLAorCQl6 MCA9IHN2b3JyX3ggKHAwLCB6MCwgejEpKQorCisvKgorKiogb3JyX3U4X3hf dGllZDI6CisqKglvcnIJejFcLmQsIHowXC5kLCB6MVwuZAorKioJcmV0Cisq LworVEVTVF9VTklGT1JNX1ogKG9ycl91OF94X3RpZWQyLCBzdnVpbnQ4X3Qs CisJCXoxID0gc3ZvcnJfdThfeCAocDAsIHowLCB6MSksCisJCXoxID0gc3Zv cnJfeCAocDAsIHowLCB6MSkpCisKKy8qCisqKiBvcnJfdThfeF91bnRpZWQ6 CisqKglvcnIJejJcLmQsIHowXC5kLCB6MVwuZAorKioJcmV0CisqLworVEVT VF9VTklGT1JNX1ogKG9ycl91OF94X3VudGllZCwgc3Z1aW50OF90LAorCQl6 MiA9IHN2b3JyX3U4X3ggKHAwLCB6MCwgejEpLAorCQl6MiA9IHN2b3JyX3gg KHAwLCB6MCwgejEpKQorCisvKgorKiogb3JyX3cwX3U4X3hfdGllZDE6Cisq Kgltb3YJKHpbMC05XSspXC5iLCB3MAorKioJb3JyCXowXC5kLCB6MFwuZCwg XDFcLmQKKyoqCXJldAorKi8KK1RFU1RfVU5JRk9STV9aUyAob3JyX3cwX3U4 X3hfdGllZDEsIHN2dWludDhfdCwgdWludDhfdCwKKwkJIHowID0gc3ZvcnJf bl91OF94IChwMCwgejAsIHgwKSwKKwkJIHowID0gc3ZvcnJfeCAocDAsIHow LCB4MCkpCisKKy8qCisqKiBvcnJfdzBfdThfeF91bnRpZWQ6CisqKgltb3YJ ejFcLmIsIHcwCisqKglvcnIJejFcLmQsIHowXC5kLCB6MVwuZAorKioJcmV0 CisqLworVEVTVF9VTklGT1JNX1pTIChvcnJfdzBfdThfeF91bnRpZWQsIHN2 dWludDhfdCwgdWludDhfdCwKKwkJIHoxID0gc3ZvcnJfbl91OF94IChwMCwg ejAsIHgwKSwKKwkJIHoxID0gc3ZvcnJfeCAocDAsIHowLCB4MCkpCisKKy8q CisqKiBvcnJfYjBfdThfeF90aWVkMToKKyoqCW1vdgkoelswLTldKylcLmIs IGIwCisqKglvcnIJejFcLmQsIHoxXC5kLCBcMVwuZAorKioJcmV0CisqLwor VEVTVF9VTklGT1JNX1pTIChvcnJfYjBfdThfeF90aWVkMSwgc3Z1aW50OF90 LCB1aW50OF90LAorCQkgejEgPSBzdm9ycl9uX3U4X3ggKHAwLCB6MSwgZDAp LAorCQkgejEgPSBzdm9ycl94IChwMCwgejEsIGQwKSkKKworLyoKKyoqIG9y cl9iMF91OF94X3VudGllZDoKKyoqCW1vdgkoelswLTldKylcLmIsIGIwCisq KglvcnIJejJcLmQsIHoxXC5kLCBcMVwuZAorKioJcmV0CisqLworVEVTVF9V TklGT1JNX1pTIChvcnJfYjBfdThfeF91bnRpZWQsIHN2dWludDhfdCwgdWlu dDhfdCwKKwkJIHoyID0gc3ZvcnJfbl91OF94IChwMCwgejEsIGQwKSwKKwkJ IHoyID0gc3ZvcnJfeCAocDAsIHoxLCBkMCkpCisKKy8qCisqKiBvcnJfMV91 OF94X3RpZWQxOgorKioJb3JyCXowXC5iLCB6MFwuYiwgIzB4MQorKioJcmV0 CisqLworVEVTVF9VTklGT1JNX1ogKG9ycl8xX3U4X3hfdGllZDEsIHN2dWlu dDhfdCwKKwkJejAgPSBzdm9ycl9uX3U4X3ggKHAwLCB6MCwgMSksCisJCXow ID0gc3ZvcnJfeCAocDAsIHowLCAxKSkKKworLyoKKyoqIG9ycl8xX3U4X3hf dW50aWVkOgorKioJbW92cHJmeAl6MCwgejEKKyoqCW9ycgl6MFwuYiwgejBc LmIsICMweDEKKyoqCXJldAorKi8KK1RFU1RfVU5JRk9STV9aIChvcnJfMV91 OF94X3VudGllZCwgc3Z1aW50OF90LAorCQl6MCA9IHN2b3JyX25fdThfeCAo cDAsIHoxLCAxKSwKKwkJejAgPSBzdm9ycl94IChwMCwgejEsIDEpKQorCisv KgorKiogb3JyXzEyN191OF94OgorKioJb3JyCXowXC5iLCB6MFwuYiwgIzB4 N2YKKyoqCXJldAorKi8KK1RFU1RfVU5JRk9STV9aIChvcnJfMTI3X3U4X3gs IHN2dWludDhfdCwKKwkJejAgPSBzdm9ycl9uX3U4X3ggKHAwLCB6MCwgMTI3 KSwKKwkJejAgPSBzdm9ycl94IChwMCwgejAsIDEyNykpCisKKy8qCisqKiBv cnJfMTI4X3U4X3g6CisqKglvcnIJejBcLmIsIHowXC5iLCAjMHg4MAorKioJ cmV0CisqLworVEVTVF9VTklGT1JNX1ogKG9ycl8xMjhfdThfeCwgc3Z1aW50 OF90LAorCQl6MCA9IHN2b3JyX25fdThfeCAocDAsIHowLCAxMjgpLAorCQl6 MCA9IHN2b3JyX3ggKHAwLCB6MCwgMTI4KSkKKworLyoKKyoqIG9ycl8yNTVf dThfeDoKKyoqCW1vdgl6MFwuYiwgIy0xCisqKglyZXQKKyovCitURVNUX1VO SUZPUk1fWiAob3JyXzI1NV91OF94LCBzdnVpbnQ4X3QsCisJCXowID0gc3Zv cnJfbl91OF94IChwMCwgejAsIDI1NSksCisJCXowID0gc3ZvcnJfeCAocDAs IHowLCAyNTUpKQorCisvKgorKiogb3JyX20xMjdfdThfeDoKKyoqCW9ycgl6 MFwuYiwgejBcLmIsICMweDgxCisqKglyZXQKKyovCitURVNUX1VOSUZPUk1f WiAob3JyX20xMjdfdThfeCwgc3Z1aW50OF90LAorCQl6MCA9IHN2b3JyX25f dThfeCAocDAsIHowLCAtMTI3KSwKKwkJejAgPSBzdm9ycl94IChwMCwgejAs IC0xMjcpKQorCisvKgorKiogb3JyX20xMjhfdThfeDoKKyoqCW9ycgl6MFwu YiwgejBcLmIsICMweDgwCisqKglyZXQKKyovCitURVNUX1VOSUZPUk1fWiAo b3JyX20xMjhfdThfeCwgc3Z1aW50OF90LAorCQl6MCA9IHN2b3JyX25fdThf eCAocDAsIHowLCAtMTI4KSwKKwkJejAgPSBzdm9ycl94IChwMCwgejAsIC0x MjgpKQorCisvKgorKiogb3JyXzVfdThfeDoKKyoqCW1vdgkoelswLTldKylc LmIsICM1CisqKglvcnIJejBcLmQsIHowXC5kLCBcMVwuZAorKioJcmV0Cisq LworVEVTVF9VTklGT1JNX1ogKG9ycl81X3U4X3gsIHN2dWludDhfdCwKKwkJ ejAgPSBzdm9ycl9uX3U4X3ggKHAwLCB6MCwgNSksCisJCXowID0gc3ZvcnJf eCAocDAsIHowLCA1KSkKLS0gCjIuNy40Cgo= --00000000000003ab40057fb399c6--