From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 15154 invoked by alias); 4 Nov 2013 16:40:57 -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 15108 invoked by uid 89); 4 Nov 2013 16:40:56 -0000 Authentication-Results: sourceware.org; auth=none X-Virus-Found: No X-Spam-SWARE-Status: No, score=-0.1 required=5.0 tests=AWL,BAYES_60,RDNS_NONE,SPF_PASS,UPPERCASE_50_75 autolearn=no version=3.3.2 X-HELO: mail-ob0-f180.google.com Received: from Unknown (HELO mail-ob0-f180.google.com) (209.85.214.180) by sourceware.org (qpsmtpd/0.93/v0.84-503-g423c35a) with (AES128-SHA encrypted) ESMTPS; Mon, 04 Nov 2013 16:40:53 +0000 Received: by mail-ob0-f180.google.com with SMTP id wo20so7200760obc.25 for ; Mon, 04 Nov 2013 08:40:45 -0800 (PST) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:mime-version:in-reply-to:references:date :message-id:subject:from:to:cc:content-type; bh=x4o1iNgaUYUebNkqQqP1CbmNcZf9aPnSEKoWgnhEj/c=; b=VCnWngikatpOPNS+7yzQ9+q3W2CoIUzxTqNCWouBZUf3dADDODTsFgpjBS6yzJIKwd q3e7ACX+ZBrorE1pJJBDVSFCbUyxj/g1HQZE2R1ZpHTImO0Ory3bWLN3UIhwsCojI2Fg G6WrCHBZMAbZVzM+/LxNGKidSF87J4mtV09tBca9kSU4J2/9V78aihSMrCgZUdxsalw7 RNUgXKKjELnN6OalVZwd5MOcciru9jmSWsL6W6D94dI58sUXBpkafGADh+2xHQ9xusTU k9nskkUh3KpfZfW6yU0EJs2T8KjYJYvAikxdJnkRSypI/mwtxMqHcLhr6qDDrbXV/D2y 1mdQ== X-Gm-Message-State: ALoCoQnKEj8SvWPIT59wiEgcLzbqM16eDJwPZHLm49EF54t3Svu26dhEIWpzVaXN+vCnfAjAxZ6s+K8sqzAzYtwoSYKB8gpUMkaNOnW79bp8Ut4tZS/XwYNavxai01fT0jEvd/22a8IQc1zGZnYKXol4ObGp6Sn3GWNiSAZ7emIOkb/Z4ULNLj9aDOoWrej3bxSiAORI2Z3lp7Xd0scW9I/afMEiELPzmw== MIME-Version: 1.0 X-Received: by 10.182.131.196 with SMTP id oo4mr2119899obb.50.1383583245668; Mon, 04 Nov 2013 08:40:45 -0800 (PST) Received: by 10.182.23.113 with HTTP; Mon, 4 Nov 2013 08:40:45 -0800 (PST) In-Reply-To: References: Date: Mon, 04 Nov 2013 16:45:00 -0000 Message-ID: Subject: Re: Patch RFA: With -fnon-call-exceptions sync builtins may throw From: Ian Lance Taylor To: Richard Biener Cc: GCC Patches Content-Type: multipart/mixed; boundary=001a11c1f6d6e09a7e04ea5c93c9 X-IsSubscribed: yes X-SW-Source: 2013-11/txt/msg00251.txt.bz2 --001a11c1f6d6e09a7e04ea5c93c9 Content-Type: text/plain; charset=ISO-8859-1 Content-length: 3117 On Mon, Nov 4, 2013 at 3:52 AM, Richard Biener wrote: > On Mon, Nov 4, 2013 at 7:01 AM, Ian Lance Taylor wrote: >> The middle-end currently marks all the sync builtins as nothrow. That >> is incorrect for most of them when using -fnon-call-exceptions. The >> -fnon-call-exceptions option means that instructions that trap may throw >> exceptions. Most of the sync builtins access memory via pointers passed >> by user code. Therefore, they may trap. (I noticed this because Go >> uses -fnon-call-exceptions.) >> >> This patch fixes the problem by introducing a new internal function >> attribute "nothrow call". The new attribute is exactly like "nothrow", >> except that it is ignored when using -fnon-call-exceptions. >> >> It is an internal attribute because there is no reason for a user to use >> this. The problem only arises when the middle-end sees a function call >> that the backend turns into an instruction sequence that directly >> references memory. That can only happen for functions that are built in >> to the compiler. >> >> This requires changes to the C family, LTO, and Ada frontends. I think >> I'm handling the option correctly for LTO, but it would be good if >> somebody could check the logic for me. >> >> Bootstrapped and ran tests on x86_64-unknown-linux-gnu. OK for >> mainline? > > Hmm. I think you can handle this in a simpler way by just > doing sth similar to > > #define ATTR_MATHFN_FPROUNDING_ERRNO (flag_errno_math ? \ > ATTR_NOTHROW_LEAF_LIST : ATTR_MATHFN_FPROUNDING) > > that is, conditionally drop the _NOTHROW part. Good point. > Btw, I also think > that if it can throw then it isn't LEAF (it may return exceptionally > into another function in the unit). According to the docs, a "leaf" function is permitted to return by throwing an exception. > Also this whole conditional-on-a-flag thing doesn't work well with > using -fnon-call-exceptions in the optimize attribute or with > different -fnon-call-exceptions settings in different TUs we LTO > together. Because we only have a single builtin decl (so for > "proper" operation you'd have to clone builtin decls based on > the matrix of flags that generate different attributes and use the > correct one depending on context). Yes, but as you know this problem already exists with -fexceptions. I'm not really making it worse. > That said, I'd prefer a simpler approach for now, mimicing flag_errno_math > handling. Done. Attached. Bootstrapped on x86_64-unknown-linux-gnu, running tests now. OK for mainline if the tests pass? Ian gcc/ChangeLog: 2013-11-04 Ian Lance Taylor * builtins.def (ATTR_NOTHROWCALL_LEAF_LIST): Define. * sync-builtins.def: Use ATTR_NOTHROWCALL_LEAF_LIST for all sync builtins that take pointers. * lto-opts.c (lto_write_options): Write -fnon-call-exceptions if set. * lto-wrapper.c (merge_and_complain): Collect OPT_fnon_call_exceptions. (run_gcc): Pass -fnon-call-exceptions. gcc/testsuite/ChangeLog: 2013-11-03 Ian Lance Taylor * g++.dg/ext/sync-4.C: New test. --001a11c1f6d6e09a7e04ea5c93c9 Content-Type: text/x-patch; charset=US-ASCII; name="foo.patch" Content-Disposition: attachment; filename="foo.patch" Content-Transfer-Encoding: base64 X-Attachment-Id: f_hnlxqjip0 Content-length: 58560 SW5kZXg6IGx0by13cmFwcGVyLmMKPT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot LS0gbHRvLXdyYXBwZXIuYwkocmV2aXNpb24gMjA0MzQzKQorKysgbHRvLXdy YXBwZXIuYwkod29ya2luZyBjb3B5KQpAQCAtNDA5LDYgKzQwOSw3IEBAIG1l cmdlX2FuZF9jb21wbGFpbiAoc3RydWN0IGNsX2RlY29kZWRfb3AKIAljYXNl IE9QVF9mcGllOgogCWNhc2UgT1BUX2Zjb21tb246CiAJY2FzZSBPUFRfZmV4 Y2VwdGlvbnM6CisJY2FzZSBPUFRfZm5vbl9jYWxsX2V4Y2VwdGlvbnM6CiAJ Y2FzZSBPUFRfZmdudV90bToKIAkgIC8qIERvIHdoYXQgdGhlIG9sZCBMVE8g Y29kZSBkaWQgLSBjb2xsZWN0IGV4YWN0bHkgb25lIG9wdGlvbgogCSAgICAg c2V0dGluZyBwZXIgT1BUIGNvZGUsIHdlIHBpY2sgdGhlIGZpcnN0IHdlIGVu Y291bnRlci4KQEAgLTU3Myw2ICs1NzQsNyBAQCBydW5fZ2NjICh1bnNpZ25l ZCBhcmdjLCBjaGFyICphcmd2W10pCiAJY2FzZSBPUFRfZnBpZToKIAljYXNl IE9QVF9mY29tbW9uOgogCWNhc2UgT1BUX2ZleGNlcHRpb25zOgorCWNhc2Ug T1BUX2Zub25fY2FsbF9leGNlcHRpb25zOgogCWNhc2UgT1BUX2ZnbnVfdG06 CiAJY2FzZSBPUFRfZnJlZ19zdHJ1Y3RfcmV0dXJuOgogCWNhc2UgT1BUX2Zw Y2Nfc3RydWN0X3JldHVybjoKSW5kZXg6IHRlc3RzdWl0ZS9nKysuZGcvZXh0 L3N5bmMtNC5DCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIHRlc3RzdWl0 ZS9nKysuZGcvZXh0L3N5bmMtNC5DCShyZXZpc2lvbiAwKQorKysgdGVzdHN1 aXRlL2crKy5kZy9leHQvc3luYy00LkMJKHJldmlzaW9uIDApCkBAIC0wLDAg KzEsMTIxIEBACisvKiB7IGRnLWRvIHJ1biB7IHRhcmdldCBocHBhKi0qLWhw dXgqICotKi1saW51eCogKi0qLWdudSogcG93ZXJwYyotKi1kYXJ3aW4qICot Ki1kYXJ3aW5bOTEyXSogfSB9ICovCisvKiB7IGRnLW9wdGlvbnMgIi1mZXhj ZXB0aW9ucyAtZm5vbi1jYWxsLWV4Y2VwdGlvbnMgLU8yIiB9ICovCisKKy8q IFZlcmlmeSB0aGF0IHRoZSBidWlsdGluIGZ1bmN0aW9ucyBhcmUgY29ycmVj dGx5IG1hcmtlZCBhcyB0cmFwcGluZworICAgd2hlbiB1c2luZyAtZm5vbi1j YWxsLWV4Y2VwdGlvbnMuICAqLworCisjaW5jbHVkZSA8c3RkbGliLmg+Cisj aW5jbHVkZSA8c2lnbmFsLmg+CisKK3R5cGVkZWYgaW50IGludDMyX3QgX19h dHRyaWJ1dGVfXyAoKG1vZGUgKFNJKSkpOwordHlwZWRlZiBpbnQgaW50NjRf dCBfX2F0dHJpYnV0ZV9fICgobW9kZSAoREkpKSk7CisKKyNkZWZpbmUgRk4o SURYLCBSRVQsIENBTEwpCQkJCQlcCitzdGF0aWMgUkVUIGYgIyMgSURYICh2 b2lkICpwKSBfX2F0dHJpYnV0ZV9fICgobm9pbmxpbmUpKTsJXAorc3RhdGlj IFJFVAkJCQkJCQlcCitmICMjIElEWCAodm9pZCAqcCkJCQkJCQlcCit7CQkJ CQkJCQlcCisgIHJldHVybiBDQUxMOwkJCQkJCQlcCit9CQkJCQkJCQlcCitz dGF0aWMgdm9pZAkJCQkJCQlcCit0ICMjIElEWCAoKQkJCQkJCQlcCit7CQkJ CQkJCQlcCisgIHRyeQkJCQkJCQkJXAorICAgIHsJCQkJCQkJCVwKKyAgICAg IGYgIyMgSURYKDApOwkJCQkJCVwKKyAgICB9CQkJCQkJCQlcCisgIGNhdGNo ICguLi4pCQkJCQkJCVwKKyAgICB7CQkJCQkJCQlcCisgICAgICByZXR1cm47 CQkJCQkJCVwKKyAgICB9CQkJCQkJCQlcCisgIGFib3J0KCk7CQkJCQkJCVwK K30KKworRk4oMSwgaW50NjRfdCwgKF9fc3luY19mZXRjaF9hbmRfYWRkKChp bnQ2NF90KilwLCAxKSkpCitGTigyLCBpbnQ2NF90LCAoX19zeW5jX2ZldGNo X2FuZF9zdWIoKGludDY0X3QqKXAsIDEpKSkKK0ZOKDMsIGludDY0X3QsIChf X3N5bmNfZmV0Y2hfYW5kX29yKChpbnQ2NF90KilwLCAxKSkpCitGTig0LCBp bnQ2NF90LCAoX19zeW5jX2ZldGNoX2FuZF9hbmQoKGludDY0X3QqKXAsIDEp KSkKK0ZOKDUsIGludDY0X3QsIChfX3N5bmNfZmV0Y2hfYW5kX3hvcigoaW50 NjRfdCopcCwgMSkpKQorRk4oNiwgaW50NjRfdCwgKF9fc3luY19mZXRjaF9h bmRfbmFuZCgoaW50NjRfdCopcCwgMSkpKQorCitGTiggNywgaW50NjRfdCwg KF9fc3luY19hZGRfYW5kX2ZldGNoKChpbnQ2NF90KilwLCAxKSkpCitGTigg OCwgaW50NjRfdCwgKF9fc3luY19zdWJfYW5kX2ZldGNoKChpbnQ2NF90Kilw LCAxKSkpCitGTiggOSwgaW50NjRfdCwgKF9fc3luY19vcl9hbmRfZmV0Y2go KGludDY0X3QqKXAsIDEpKSkKK0ZOKDEwLCBpbnQ2NF90LCAoX19zeW5jX2Fu ZF9hbmRfZmV0Y2goKGludDY0X3QqKXAsIDEpKSkKK0ZOKDExLCBpbnQ2NF90 LCAoX19zeW5jX3hvcl9hbmRfZmV0Y2goKGludDY0X3QqKXAsIDEpKSkKK0ZO KDEyLCBpbnQ2NF90LCAoX19zeW5jX25hbmRfYW5kX2ZldGNoKChpbnQ2NF90 KilwLCAxKSkpCisKK0ZOKDEzLCBib29sLCAoX19zeW5jX2Jvb2xfY29tcGFy ZV9hbmRfc3dhcCgoaW50NjRfdCopcCwgMSwgMikpKQorRk4oMTQsIGludDY0 X3QsIChfX3N5bmNfdmFsX2NvbXBhcmVfYW5kX3N3YXAoKGludDY0X3QqKXAs IDEsIDIpKSkKKworRk4oMTUsIGludDY0X3QsIChfX3N5bmNfbG9ja190ZXN0 X2FuZF9zZXQoKGludDY0X3QqKXAsIDEpKSkKK0ZOKDE2LCB2b2lkLCAoX19z eW5jX2xvY2tfcmVsZWFzZSgoaW50NjRfdCopcCkpKQorCitGTigxNywgYm9v bCwgKF9fYXRvbWljX3Rlc3RfYW5kX3NldCgoaW50NjRfdCopcCwgX19BVE9N SUNfU0VRX0NTVCkpKQorRk4oMTgsIHZvaWQsIChfX2F0b21pY19jbGVhcigo aW50NjRfdCopcCwgX19BVE9NSUNfU0VRX0NTVCkpKQorCitGTigxOSwgdm9p ZCwgKF9fYXRvbWljX2V4Y2hhbmdlKChpbnQ2NF90KilwLCAoaW50NjRfdCop MCwgKGludDY0X3QqKTAsIF9fQVRPTUlDX1NFUV9DU1QpKSkKK0ZOKDIwLCBp bnQ2NF90LCAoX19hdG9taWNfZXhjaGFuZ2VfbigoaW50NjRfdCopcCwgMSwg MikpKQorCitGTigyMSwgdm9pZCwgKF9fYXRvbWljX2xvYWQoKGludDY0X3Qq KXAsIChpbnQ2NF90KikwLCBfX0FUT01JQ19TRVFfQ1NUKSkpCitGTigyMiwg aW50NjRfdCwgKF9fYXRvbWljX2xvYWRfbigoaW50NjRfdCopcCwgX19BVE9N SUNfU0VRX0NTVCkpKQorCitGTigyMywgYm9vbCwgKF9fYXRvbWljX2NvbXBh cmVfZXhjaGFuZ2UoKGludDY0X3QqKXAsIChpbnQ2NF90KikwLCAoaW50NjRf dCopMCwgZmFsc2UsIF9fQVRPTUlDX1NFUV9DU1QsIF9fQVRPTUlDX1NFUV9D U1QpKSkKK0ZOKDI0LCBib29sLCAoX19hdG9taWNfY29tcGFyZV9leGNoYW5n ZV9uKChpbnQ2NF90KilwLCAoaW50NjRfdCopMCwgMSwgZmFsc2UsIF9fQVRP TUlDX1NFUV9DU1QsIF9fQVRPTUlDX1NFUV9DU1QpKSkKKworRk4oMjUsIHZv aWQsIChfX2F0b21pY19zdG9yZSgoaW50NjRfdCopcCwgKGludDY0X3QqKTAs IF9fQVRPTUlDX1NFUV9DU1QpKSkKK0ZOKDI2LCB2b2lkLCAoX19hdG9taWNf c3RvcmVfbigoaW50NjRfdCopcCwgMSwgX19BVE9NSUNfU0VRX0NTVCkpKQor CitGTigyNywgaW50NjRfdCwgKF9fYXRvbWljX2FkZF9mZXRjaCgoaW50NjRf dCopcCwgMSwgX19BVE9NSUNfU0VRX0NTVCkpKQorRk4oMjgsIGludDY0X3Qs IChfX2F0b21pY19zdWJfZmV0Y2goKGludDY0X3QqKXAsIDEsIF9fQVRPTUlD X1NFUV9DU1QpKSkKK0ZOKDI5LCBpbnQ2NF90LCAoX19hdG9taWNfYW5kX2Zl dGNoKChpbnQ2NF90KilwLCAxLCBfX0FUT01JQ19TRVFfQ1NUKSkpCitGTigz MCwgaW50NjRfdCwgKF9fYXRvbWljX25hbmRfZmV0Y2goKGludDY0X3QqKXAs IDEsIF9fQVRPTUlDX1NFUV9DU1QpKSkKK0ZOKDMxLCBpbnQ2NF90LCAoX19h dG9taWNfeG9yX2ZldGNoKChpbnQ2NF90KilwLCAxLCBfX0FUT01JQ19TRVFf Q1NUKSkpCitGTigzMiwgaW50NjRfdCwgKF9fYXRvbWljX29yX2ZldGNoKChp bnQ2NF90KilwLCAxLCBfX0FUT01JQ19TRVFfQ1NUKSkpCisKK0ZOKDMzLCBp bnQ2NF90LCAoX19hdG9taWNfZmV0Y2hfYWRkKChpbnQ2NF90KilwLCAxLCBf X0FUT01JQ19TRVFfQ1NUKSkpCitGTigzNCwgaW50NjRfdCwgKF9fYXRvbWlj X2ZldGNoX3N1YigoaW50NjRfdCopcCwgMSwgX19BVE9NSUNfU0VRX0NTVCkp KQorRk4oMzUsIGludDY0X3QsIChfX2F0b21pY19mZXRjaF9hbmQoKGludDY0 X3QqKXAsIDEsIF9fQVRPTUlDX1NFUV9DU1QpKSkKK0ZOKDM2LCBpbnQ2NF90 LCAoX19hdG9taWNfZmV0Y2hfbmFuZCgoaW50NjRfdCopcCwgMSwgX19BVE9N SUNfU0VRX0NTVCkpKQorRk4oMzcsIGludDY0X3QsIChfX2F0b21pY19mZXRj aF94b3IoKGludDY0X3QqKXAsIDEsIF9fQVRPTUlDX1NFUV9DU1QpKSkKK0ZO KDM4LCBpbnQ2NF90LCAoX19hdG9taWNfZmV0Y2hfb3IoKGludDY0X3QqKXAs IDEsIF9fQVRPTUlDX1NFUV9DU1QpKSkKKworc3RhdGljIHZvaWQKK2hhbmRs ZXIoaW50KQoreworICBzaWdzZXRfdCBjbGVhcjsKKworICBzaWdmaWxsc2V0 ICgmY2xlYXIpOworICBzaWdwcm9jbWFzayAoU0lHX1VOQkxPQ0ssICZjbGVh ciwgTlVMTCk7CisgIHRocm93IDA7Cit9CisKK2ludAorbWFpbiAoKQorewor ICBzaWduYWwgKFNJR1NFR1YsIGhhbmRsZXIpOworICBzaWduYWwgKFNJR0JV UywgaGFuZGxlcik7CisKKyAgdDEoKTsKKyAgdDIoKTsKKyAgdDMoKTsKKyAg dDQoKTsKKyAgdDUoKTsKKyAgdDYoKTsKKyAgdDcoKTsKKyAgdDgoKTsKKyAg dDkoKTsKKyAgdDEwKCk7CisgIHQxMSgpOworICB0MTIoKTsKKyAgdDEzKCk7 CisgIHQxNCgpOworICB0MTUoKTsKKyAgdDE2KCk7CisgIHQxNygpOworICB0 MTgoKTsKKyAgdDE5KCk7CisgIHQyMCgpOworCisgIGV4aXQoMCk7Cit9Cklu ZGV4OiBidWlsdGlucy5kZWYKPT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g YnVpbHRpbnMuZGVmCShyZXZpc2lvbiAyMDQzNDMpCisrKyBidWlsdGlucy5k ZWYJKHdvcmtpbmcgY29weSkKQEAgLTIxMyw2ICsyMTMsMTIgQEAgYWxvbmcg d2l0aCBHQ0M7IHNlZSB0aGUgZmlsZSBDT1BZSU5HMy4KICN1bmRlZiBBVFRS X01BVEhGTl9GUFJPVU5ESU5HX1NUT1JFCiAjZGVmaW5lIEFUVFJfTUFUSEZO X0ZQUk9VTkRJTkdfU1RPUkUgQVRUUl9OT1RIUk9XX0xFQUZfTElTVAogCisv KiBEZWZpbmUgYW4gYXR0cmlidXRlIGxpc3QgZm9yIGxlYWYgZnVuY3Rpb25z IHRoYXQgZG8gbm90IHRocm93CisgICBleGNlcHRpb25zIG5vcm1hbGx5LCBi dXQgbWF5IHRocm93IGV4Y2VwdGlvbnMgd2hlbiB1c2luZworICAgLWZub24t Y2FsbC1leGNlcHRpb25zLiAgKi8KKyNkZWZpbmUgQVRUUl9OT1RIUk9XQ0FM TF9MRUFGX0xJU1QgKGZsYWdfbm9uX2NhbGxfZXhjZXB0aW9ucyA/IFwKKwlB VFRSX0xFQUZfTElTVCA6IEFUVFJfTk9USFJPV19MRUFGX0xJU1QpCisKIC8q IE1ha2Ugc3VyZSAwIGlzIG5vdCBhIGxlZ2l0aW1hdGUgYnVpbHRpbi4gICov CiBERUZfQlVJTFRJTl9TVFVCKEJVSUxUX0lOX05PTkUsIChjb25zdCBjaGFy ICopMCkKIApJbmRleDogc3luYy1idWlsdGlucy5kZWYKPT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PQotLS0gc3luYy1idWlsdGlucy5kZWYJKHJldmlzaW9uIDIw NDM0MykKKysrIHN5bmMtYnVpbHRpbnMuZGVmCSh3b3JraW5nIGNvcHkpCkBA IC0yOSw1NTkgKzI5LDU2NSBAQCBhbG9uZyB3aXRoIEdDQzsgc2VlIHRoZSBm aWxlIENPUFlJTkczLgogICAgIl8xIiB0aHJvdWdoICJfMTYiIHZlcnNpb25z LCBwbHVzIHNvbWUgZXh0cmEgY2FzdHMuICAqLwogCiBERUZfU1lOQ19CVUlM VElOIChCVUlMVF9JTl9TWU5DX0ZFVENIX0FORF9BRERfTiwgIl9fc3luY19m ZXRjaF9hbmRfYWRkIiwKLQkJICBCVF9GTl9WT0lEX1ZBUiwgQVRUUl9OT1RI Uk9XX0xFQUZfTElTVCkKKwkJICBCVF9GTl9WT0lEX1ZBUiwgQVRUUl9OT1RI Uk9XQ0FMTF9MRUFGX0xJU1QpCiBERUZfU1lOQ19CVUlMVElOIChCVUlMVF9J Tl9TWU5DX0ZFVENIX0FORF9BRERfMSwgIl9fc3luY19mZXRjaF9hbmRfYWRk XzEiLAotCQkgIEJUX0ZOX0kxX1ZQVFJfSTEsIEFUVFJfTk9USFJPV19MRUFG X0xJU1QpCisJCSAgQlRfRk5fSTFfVlBUUl9JMSwgQVRUUl9OT1RIUk9XQ0FM TF9MRUFGX0xJU1QpCiBERUZfU1lOQ19CVUlMVElOIChCVUlMVF9JTl9TWU5D X0ZFVENIX0FORF9BRERfMiwgIl9fc3luY19mZXRjaF9hbmRfYWRkXzIiLAot CQkgIEJUX0ZOX0kyX1ZQVFJfSTIsIEFUVFJfTk9USFJPV19MRUFGX0xJU1Qp CisJCSAgQlRfRk5fSTJfVlBUUl9JMiwgQVRUUl9OT1RIUk9XQ0FMTF9MRUFG X0xJU1QpCiBERUZfU1lOQ19CVUlMVElOIChCVUlMVF9JTl9TWU5DX0ZFVENI X0FORF9BRERfNCwgIl9fc3luY19mZXRjaF9hbmRfYWRkXzQiLAotCQkgIEJU X0ZOX0k0X1ZQVFJfSTQsIEFUVFJfTk9USFJPV19MRUFGX0xJU1QpCisJCSAg QlRfRk5fSTRfVlBUUl9JNCwgQVRUUl9OT1RIUk9XQ0FMTF9MRUFGX0xJU1Qp CiBERUZfU1lOQ19CVUlMVElOIChCVUlMVF9JTl9TWU5DX0ZFVENIX0FORF9B RERfOCwgIl9fc3luY19mZXRjaF9hbmRfYWRkXzgiLAotCQkgIEJUX0ZOX0k4 X1ZQVFJfSTgsIEFUVFJfTk9USFJPV19MRUFGX0xJU1QpCisJCSAgQlRfRk5f SThfVlBUUl9JOCwgQVRUUl9OT1RIUk9XQ0FMTF9MRUFGX0xJU1QpCiBERUZf U1lOQ19CVUlMVElOIChCVUlMVF9JTl9TWU5DX0ZFVENIX0FORF9BRERfMTYs ICJfX3N5bmNfZmV0Y2hfYW5kX2FkZF8xNiIsCi0JCSAgQlRfRk5fSTE2X1ZQ VFJfSTE2LCBBVFRSX05PVEhST1dfTEVBRl9MSVNUKQorCQkgIEJUX0ZOX0kx Nl9WUFRSX0kxNiwgQVRUUl9OT1RIUk9XQ0FMTF9MRUFGX0xJU1QpCiAKIERF Rl9TWU5DX0JVSUxUSU4gKEJVSUxUX0lOX1NZTkNfRkVUQ0hfQU5EX1NVQl9O LCAiX19zeW5jX2ZldGNoX2FuZF9zdWIiLAotCQkgIEJUX0ZOX1ZPSURfVkFS LCBBVFRSX05PVEhST1dfTEVBRl9MSVNUKQorCQkgIEJUX0ZOX1ZPSURfVkFS LCBBVFRSX05PVEhST1dDQUxMX0xFQUZfTElTVCkKIERFRl9TWU5DX0JVSUxU SU4gKEJVSUxUX0lOX1NZTkNfRkVUQ0hfQU5EX1NVQl8xLCAiX19zeW5jX2Zl dGNoX2FuZF9zdWJfMSIsCi0JCSAgQlRfRk5fSTFfVlBUUl9JMSwgQVRUUl9O T1RIUk9XX0xFQUZfTElTVCkKKwkJICBCVF9GTl9JMV9WUFRSX0kxLCBBVFRS X05PVEhST1dDQUxMX0xFQUZfTElTVCkKIERFRl9TWU5DX0JVSUxUSU4gKEJV SUxUX0lOX1NZTkNfRkVUQ0hfQU5EX1NVQl8yLCAiX19zeW5jX2ZldGNoX2Fu ZF9zdWJfMiIsCi0JCSAgQlRfRk5fSTJfVlBUUl9JMiwgQVRUUl9OT1RIUk9X X0xFQUZfTElTVCkKKwkJICBCVF9GTl9JMl9WUFRSX0kyLCBBVFRSX05PVEhS T1dDQUxMX0xFQUZfTElTVCkKIERFRl9TWU5DX0JVSUxUSU4gKEJVSUxUX0lO X1NZTkNfRkVUQ0hfQU5EX1NVQl80LCAiX19zeW5jX2ZldGNoX2FuZF9zdWJf NCIsCi0JCSAgQlRfRk5fSTRfVlBUUl9JNCwgQVRUUl9OT1RIUk9XX0xFQUZf TElTVCkKKwkJICBCVF9GTl9JNF9WUFRSX0k0LCBBVFRSX05PVEhST1dDQUxM X0xFQUZfTElTVCkKIERFRl9TWU5DX0JVSUxUSU4gKEJVSUxUX0lOX1NZTkNf RkVUQ0hfQU5EX1NVQl84LCAiX19zeW5jX2ZldGNoX2FuZF9zdWJfOCIsCi0J CSAgQlRfRk5fSThfVlBUUl9JOCwgQVRUUl9OT1RIUk9XX0xFQUZfTElTVCkK KwkJICBCVF9GTl9JOF9WUFRSX0k4LCBBVFRSX05PVEhST1dDQUxMX0xFQUZf TElTVCkKIERFRl9TWU5DX0JVSUxUSU4gKEJVSUxUX0lOX1NZTkNfRkVUQ0hf QU5EX1NVQl8xNiwgIl9fc3luY19mZXRjaF9hbmRfc3ViXzE2IiwKLQkJICBC VF9GTl9JMTZfVlBUUl9JMTYsIEFUVFJfTk9USFJPV19MRUFGX0xJU1QpCisJ CSAgQlRfRk5fSTE2X1ZQVFJfSTE2LCBBVFRSX05PVEhST1dDQUxMX0xFQUZf TElTVCkKIAogREVGX1NZTkNfQlVJTFRJTiAoQlVJTFRfSU5fU1lOQ19GRVRD SF9BTkRfT1JfTiwgIl9fc3luY19mZXRjaF9hbmRfb3IiLAotCQkgIEJUX0ZO X1ZPSURfVkFSLCBBVFRSX05PVEhST1dfTEVBRl9MSVNUKQorCQkgIEJUX0ZO X1ZPSURfVkFSLCBBVFRSX05PVEhST1dDQUxMX0xFQUZfTElTVCkKIERFRl9T WU5DX0JVSUxUSU4gKEJVSUxUX0lOX1NZTkNfRkVUQ0hfQU5EX09SXzEsICJf X3N5bmNfZmV0Y2hfYW5kX29yXzEiLAotCQkgIEJUX0ZOX0kxX1ZQVFJfSTEs IEFUVFJfTk9USFJPV19MRUFGX0xJU1QpCisJCSAgQlRfRk5fSTFfVlBUUl9J MSwgQVRUUl9OT1RIUk9XQ0FMTF9MRUFGX0xJU1QpCiBERUZfU1lOQ19CVUlM VElOIChCVUlMVF9JTl9TWU5DX0ZFVENIX0FORF9PUl8yLCAiX19zeW5jX2Zl dGNoX2FuZF9vcl8yIiwKLQkJICBCVF9GTl9JMl9WUFRSX0kyLCBBVFRSX05P VEhST1dfTEVBRl9MSVNUKQorCQkgIEJUX0ZOX0kyX1ZQVFJfSTIsIEFUVFJf Tk9USFJPV0NBTExfTEVBRl9MSVNUKQogREVGX1NZTkNfQlVJTFRJTiAoQlVJ TFRfSU5fU1lOQ19GRVRDSF9BTkRfT1JfNCwgIl9fc3luY19mZXRjaF9hbmRf b3JfNCIsCi0JCSAgQlRfRk5fSTRfVlBUUl9JNCwgQVRUUl9OT1RIUk9XX0xF QUZfTElTVCkKKwkJICBCVF9GTl9JNF9WUFRSX0k0LCBBVFRSX05PVEhST1dD QUxMX0xFQUZfTElTVCkKIERFRl9TWU5DX0JVSUxUSU4gKEJVSUxUX0lOX1NZ TkNfRkVUQ0hfQU5EX09SXzgsICJfX3N5bmNfZmV0Y2hfYW5kX29yXzgiLAot CQkgIEJUX0ZOX0k4X1ZQVFJfSTgsIEFUVFJfTk9USFJPV19MRUFGX0xJU1Qp CisJCSAgQlRfRk5fSThfVlBUUl9JOCwgQVRUUl9OT1RIUk9XQ0FMTF9MRUFG X0xJU1QpCiBERUZfU1lOQ19CVUlMVElOIChCVUlMVF9JTl9TWU5DX0ZFVENI X0FORF9PUl8xNiwgIl9fc3luY19mZXRjaF9hbmRfb3JfMTYiLAotCQkgIEJU X0ZOX0kxNl9WUFRSX0kxNiwgQVRUUl9OT1RIUk9XX0xFQUZfTElTVCkKKwkJ ICBCVF9GTl9JMTZfVlBUUl9JMTYsIEFUVFJfTk9USFJPV0NBTExfTEVBRl9M SVNUKQogCiBERUZfU1lOQ19CVUlMVElOIChCVUlMVF9JTl9TWU5DX0ZFVENI X0FORF9BTkRfTiwgIl9fc3luY19mZXRjaF9hbmRfYW5kIiwKLQkJICBCVF9G Tl9WT0lEX1ZBUiwgQVRUUl9OT1RIUk9XX0xFQUZfTElTVCkKKwkJICBCVF9G Tl9WT0lEX1ZBUiwgQVRUUl9OT1RIUk9XQ0FMTF9MRUFGX0xJU1QpCiBERUZf U1lOQ19CVUlMVElOIChCVUlMVF9JTl9TWU5DX0ZFVENIX0FORF9BTkRfMSwg Il9fc3luY19mZXRjaF9hbmRfYW5kXzEiLAotCQkgIEJUX0ZOX0kxX1ZQVFJf STEsIEFUVFJfTk9USFJPV19MRUFGX0xJU1QpCisJCSAgQlRfRk5fSTFfVlBU Ul9JMSwgQVRUUl9OT1RIUk9XQ0FMTF9MRUFGX0xJU1QpCiBERUZfU1lOQ19C VUlMVElOIChCVUlMVF9JTl9TWU5DX0ZFVENIX0FORF9BTkRfMiwgIl9fc3lu Y19mZXRjaF9hbmRfYW5kXzIiLAotCQkgIEJUX0ZOX0kyX1ZQVFJfSTIsIEFU VFJfTk9USFJPV19MRUFGX0xJU1QpCisJCSAgQlRfRk5fSTJfVlBUUl9JMiwg QVRUUl9OT1RIUk9XQ0FMTF9MRUFGX0xJU1QpCiBERUZfU1lOQ19CVUlMVElO IChCVUlMVF9JTl9TWU5DX0ZFVENIX0FORF9BTkRfNCwgIl9fc3luY19mZXRj aF9hbmRfYW5kXzQiLAotCQkgIEJUX0ZOX0k0X1ZQVFJfSTQsIEFUVFJfTk9U SFJPV19MRUFGX0xJU1QpCisJCSAgQlRfRk5fSTRfVlBUUl9JNCwgQVRUUl9O T1RIUk9XQ0FMTF9MRUFGX0xJU1QpCiBERUZfU1lOQ19CVUlMVElOIChCVUlM VF9JTl9TWU5DX0ZFVENIX0FORF9BTkRfOCwgIl9fc3luY19mZXRjaF9hbmRf YW5kXzgiLAotCQkgIEJUX0ZOX0k4X1ZQVFJfSTgsIEFUVFJfTk9USFJPV19M RUFGX0xJU1QpCisJCSAgQlRfRk5fSThfVlBUUl9JOCwgQVRUUl9OT1RIUk9X Q0FMTF9MRUFGX0xJU1QpCiBERUZfU1lOQ19CVUlMVElOIChCVUlMVF9JTl9T WU5DX0ZFVENIX0FORF9BTkRfMTYsICJfX3N5bmNfZmV0Y2hfYW5kX2FuZF8x NiIsCi0JCSAgQlRfRk5fSTE2X1ZQVFJfSTE2LCBBVFRSX05PVEhST1dfTEVB Rl9MSVNUKQorCQkgIEJUX0ZOX0kxNl9WUFRSX0kxNiwgQVRUUl9OT1RIUk9X Q0FMTF9MRUFGX0xJU1QpCiAKIERFRl9TWU5DX0JVSUxUSU4gKEJVSUxUX0lO X1NZTkNfRkVUQ0hfQU5EX1hPUl9OLCAiX19zeW5jX2ZldGNoX2FuZF94b3Ii LAotCQkgIEJUX0ZOX1ZPSURfVkFSLCBBVFRSX05PVEhST1dfTEVBRl9MSVNU KQorCQkgIEJUX0ZOX1ZPSURfVkFSLCBBVFRSX05PVEhST1dDQUxMX0xFQUZf TElTVCkKIERFRl9TWU5DX0JVSUxUSU4gKEJVSUxUX0lOX1NZTkNfRkVUQ0hf QU5EX1hPUl8xLCAiX19zeW5jX2ZldGNoX2FuZF94b3JfMSIsCi0JCSAgQlRf Rk5fSTFfVlBUUl9JMSwgQVRUUl9OT1RIUk9XX0xFQUZfTElTVCkKKwkJICBC VF9GTl9JMV9WUFRSX0kxLCBBVFRSX05PVEhST1dDQUxMX0xFQUZfTElTVCkK IERFRl9TWU5DX0JVSUxUSU4gKEJVSUxUX0lOX1NZTkNfRkVUQ0hfQU5EX1hP Ul8yLCAiX19zeW5jX2ZldGNoX2FuZF94b3JfMiIsCi0JCSAgQlRfRk5fSTJf VlBUUl9JMiwgQVRUUl9OT1RIUk9XX0xFQUZfTElTVCkKKwkJICBCVF9GTl9J Ml9WUFRSX0kyLCBBVFRSX05PVEhST1dDQUxMX0xFQUZfTElTVCkKIERFRl9T WU5DX0JVSUxUSU4gKEJVSUxUX0lOX1NZTkNfRkVUQ0hfQU5EX1hPUl80LCAi X19zeW5jX2ZldGNoX2FuZF94b3JfNCIsCi0JCSAgQlRfRk5fSTRfVlBUUl9J NCwgQVRUUl9OT1RIUk9XX0xFQUZfTElTVCkKKwkJICBCVF9GTl9JNF9WUFRS X0k0LCBBVFRSX05PVEhST1dDQUxMX0xFQUZfTElTVCkKIERFRl9TWU5DX0JV SUxUSU4gKEJVSUxUX0lOX1NZTkNfRkVUQ0hfQU5EX1hPUl84LCAiX19zeW5j X2ZldGNoX2FuZF94b3JfOCIsCi0JCSAgQlRfRk5fSThfVlBUUl9JOCwgQVRU Ul9OT1RIUk9XX0xFQUZfTElTVCkKKwkJICBCVF9GTl9JOF9WUFRSX0k4LCBB VFRSX05PVEhST1dDQUxMX0xFQUZfTElTVCkKIERFRl9TWU5DX0JVSUxUSU4g KEJVSUxUX0lOX1NZTkNfRkVUQ0hfQU5EX1hPUl8xNiwgIl9fc3luY19mZXRj aF9hbmRfeG9yXzE2IiwKLQkJICBCVF9GTl9JMTZfVlBUUl9JMTYsIEFUVFJf Tk9USFJPV19MRUFGX0xJU1QpCisJCSAgQlRfRk5fSTE2X1ZQVFJfSTE2LCBB VFRSX05PVEhST1dDQUxMX0xFQUZfTElTVCkKIAogREVGX1NZTkNfQlVJTFRJ TiAoQlVJTFRfSU5fU1lOQ19GRVRDSF9BTkRfTkFORF9OLCAiX19zeW5jX2Zl dGNoX2FuZF9uYW5kIiwKLQkJICBCVF9GTl9WT0lEX1ZBUiwgQVRUUl9OT1RI Uk9XX0xFQUZfTElTVCkKKwkJICBCVF9GTl9WT0lEX1ZBUiwgQVRUUl9OT1RI Uk9XQ0FMTF9MRUFGX0xJU1QpCiBERUZfU1lOQ19CVUlMVElOIChCVUlMVF9J Tl9TWU5DX0ZFVENIX0FORF9OQU5EXzEsICJfX3N5bmNfZmV0Y2hfYW5kX25h bmRfMSIsCi0JCSAgQlRfRk5fSTFfVlBUUl9JMSwgQVRUUl9OT1RIUk9XX0xF QUZfTElTVCkKKwkJICBCVF9GTl9JMV9WUFRSX0kxLCBBVFRSX05PVEhST1dD QUxMX0xFQUZfTElTVCkKIERFRl9TWU5DX0JVSUxUSU4gKEJVSUxUX0lOX1NZ TkNfRkVUQ0hfQU5EX05BTkRfMiwgIl9fc3luY19mZXRjaF9hbmRfbmFuZF8y IiwKLQkJICBCVF9GTl9JMl9WUFRSX0kyLCBBVFRSX05PVEhST1dfTEVBRl9M SVNUKQorCQkgIEJUX0ZOX0kyX1ZQVFJfSTIsIEFUVFJfTk9USFJPV0NBTExf TEVBRl9MSVNUKQogREVGX1NZTkNfQlVJTFRJTiAoQlVJTFRfSU5fU1lOQ19G RVRDSF9BTkRfTkFORF80LCAiX19zeW5jX2ZldGNoX2FuZF9uYW5kXzQiLAot CQkgIEJUX0ZOX0k0X1ZQVFJfSTQsIEFUVFJfTk9USFJPV19MRUFGX0xJU1Qp CisJCSAgQlRfRk5fSTRfVlBUUl9JNCwgQVRUUl9OT1RIUk9XQ0FMTF9MRUFG X0xJU1QpCiBERUZfU1lOQ19CVUlMVElOIChCVUlMVF9JTl9TWU5DX0ZFVENI X0FORF9OQU5EXzgsICJfX3N5bmNfZmV0Y2hfYW5kX25hbmRfOCIsCi0JCSAg QlRfRk5fSThfVlBUUl9JOCwgQVRUUl9OT1RIUk9XX0xFQUZfTElTVCkKKwkJ ICBCVF9GTl9JOF9WUFRSX0k4LCBBVFRSX05PVEhST1dDQUxMX0xFQUZfTElT VCkKIERFRl9TWU5DX0JVSUxUSU4gKEJVSUxUX0lOX1NZTkNfRkVUQ0hfQU5E X05BTkRfMTYsICJfX3N5bmNfZmV0Y2hfYW5kX25hbmRfMTYiLAotCQkgIEJU X0ZOX0kxNl9WUFRSX0kxNiwgQVRUUl9OT1RIUk9XX0xFQUZfTElTVCkKKwkJ ICBCVF9GTl9JMTZfVlBUUl9JMTYsIEFUVFJfTk9USFJPV0NBTExfTEVBRl9M SVNUKQogCiBERUZfU1lOQ19CVUlMVElOIChCVUlMVF9JTl9TWU5DX0FERF9B TkRfRkVUQ0hfTiwgIl9fc3luY19hZGRfYW5kX2ZldGNoIiwKLQkJICBCVF9G Tl9WT0lEX1ZBUiwgQVRUUl9OT1RIUk9XX0xFQUZfTElTVCkKKwkJICBCVF9G Tl9WT0lEX1ZBUiwgQVRUUl9OT1RIUk9XQ0FMTF9MRUFGX0xJU1QpCiBERUZf U1lOQ19CVUlMVElOIChCVUlMVF9JTl9TWU5DX0FERF9BTkRfRkVUQ0hfMSwg Il9fc3luY19hZGRfYW5kX2ZldGNoXzEiLAotCQkgIEJUX0ZOX0kxX1ZQVFJf STEsIEFUVFJfTk9USFJPV19MRUFGX0xJU1QpCisJCSAgQlRfRk5fSTFfVlBU Ul9JMSwgQVRUUl9OT1RIUk9XQ0FMTF9MRUFGX0xJU1QpCiBERUZfU1lOQ19C VUlMVElOIChCVUlMVF9JTl9TWU5DX0FERF9BTkRfRkVUQ0hfMiwgIl9fc3lu Y19hZGRfYW5kX2ZldGNoXzIiLAotCQkgIEJUX0ZOX0kyX1ZQVFJfSTIsIEFU VFJfTk9USFJPV19MRUFGX0xJU1QpCisJCSAgQlRfRk5fSTJfVlBUUl9JMiwg QVRUUl9OT1RIUk9XQ0FMTF9MRUFGX0xJU1QpCiBERUZfU1lOQ19CVUlMVElO IChCVUlMVF9JTl9TWU5DX0FERF9BTkRfRkVUQ0hfNCwgIl9fc3luY19hZGRf YW5kX2ZldGNoXzQiLAotCQkgIEJUX0ZOX0k0X1ZQVFJfSTQsIEFUVFJfTk9U SFJPV19MRUFGX0xJU1QpCisJCSAgQlRfRk5fSTRfVlBUUl9JNCwgQVRUUl9O T1RIUk9XQ0FMTF9MRUFGX0xJU1QpCiBERUZfU1lOQ19CVUlMVElOIChCVUlM VF9JTl9TWU5DX0FERF9BTkRfRkVUQ0hfOCwgIl9fc3luY19hZGRfYW5kX2Zl dGNoXzgiLAotCQkgIEJUX0ZOX0k4X1ZQVFJfSTgsIEFUVFJfTk9USFJPV19M RUFGX0xJU1QpCisJCSAgQlRfRk5fSThfVlBUUl9JOCwgQVRUUl9OT1RIUk9X Q0FMTF9MRUFGX0xJU1QpCiBERUZfU1lOQ19CVUlMVElOIChCVUlMVF9JTl9T WU5DX0FERF9BTkRfRkVUQ0hfMTYsICJfX3N5bmNfYWRkX2FuZF9mZXRjaF8x NiIsCi0JCSAgQlRfRk5fSTE2X1ZQVFJfSTE2LCBBVFRSX05PVEhST1dfTEVB Rl9MSVNUKQorCQkgIEJUX0ZOX0kxNl9WUFRSX0kxNiwgQVRUUl9OT1RIUk9X Q0FMTF9MRUFGX0xJU1QpCiAKIERFRl9TWU5DX0JVSUxUSU4gKEJVSUxUX0lO X1NZTkNfU1VCX0FORF9GRVRDSF9OLCAiX19zeW5jX3N1Yl9hbmRfZmV0Y2gi LAotCQkgIEJUX0ZOX1ZPSURfVkFSLCBBVFRSX05PVEhST1dfTEVBRl9MSVNU KQorCQkgIEJUX0ZOX1ZPSURfVkFSLCBBVFRSX05PVEhST1dDQUxMX0xFQUZf TElTVCkKIERFRl9TWU5DX0JVSUxUSU4gKEJVSUxUX0lOX1NZTkNfU1VCX0FO RF9GRVRDSF8xLCAiX19zeW5jX3N1Yl9hbmRfZmV0Y2hfMSIsCi0JCSAgQlRf Rk5fSTFfVlBUUl9JMSwgQVRUUl9OT1RIUk9XX0xFQUZfTElTVCkKKwkJICBC VF9GTl9JMV9WUFRSX0kxLCBBVFRSX05PVEhST1dDQUxMX0xFQUZfTElTVCkK IERFRl9TWU5DX0JVSUxUSU4gKEJVSUxUX0lOX1NZTkNfU1VCX0FORF9GRVRD SF8yLCAiX19zeW5jX3N1Yl9hbmRfZmV0Y2hfMiIsCi0JCSAgQlRfRk5fSTJf VlBUUl9JMiwgQVRUUl9OT1RIUk9XX0xFQUZfTElTVCkKKwkJICBCVF9GTl9J Ml9WUFRSX0kyLCBBVFRSX05PVEhST1dDQUxMX0xFQUZfTElTVCkKIERFRl9T WU5DX0JVSUxUSU4gKEJVSUxUX0lOX1NZTkNfU1VCX0FORF9GRVRDSF80LCAi X19zeW5jX3N1Yl9hbmRfZmV0Y2hfNCIsCi0JCSAgQlRfRk5fSTRfVlBUUl9J NCwgQVRUUl9OT1RIUk9XX0xFQUZfTElTVCkKKwkJICBCVF9GTl9JNF9WUFRS X0k0LCBBVFRSX05PVEhST1dDQUxMX0xFQUZfTElTVCkKIERFRl9TWU5DX0JV SUxUSU4gKEJVSUxUX0lOX1NZTkNfU1VCX0FORF9GRVRDSF84LCAiX19zeW5j X3N1Yl9hbmRfZmV0Y2hfOCIsCi0JCSAgQlRfRk5fSThfVlBUUl9JOCwgQVRU Ul9OT1RIUk9XX0xFQUZfTElTVCkKKwkJICBCVF9GTl9JOF9WUFRSX0k4LCBB VFRSX05PVEhST1dDQUxMX0xFQUZfTElTVCkKIERFRl9TWU5DX0JVSUxUSU4g KEJVSUxUX0lOX1NZTkNfU1VCX0FORF9GRVRDSF8xNiwgIl9fc3luY19zdWJf YW5kX2ZldGNoXzE2IiwKLQkJICBCVF9GTl9JMTZfVlBUUl9JMTYsIEFUVFJf Tk9USFJPV19MRUFGX0xJU1QpCisJCSAgQlRfRk5fSTE2X1ZQVFJfSTE2LCBB VFRSX05PVEhST1dDQUxMX0xFQUZfTElTVCkKIAogREVGX1NZTkNfQlVJTFRJ TiAoQlVJTFRfSU5fU1lOQ19PUl9BTkRfRkVUQ0hfTiwgIl9fc3luY19vcl9h bmRfZmV0Y2giLAotCQkgIEJUX0ZOX1ZPSURfVkFSLCBBVFRSX05PVEhST1df TEVBRl9MSVNUKQorCQkgIEJUX0ZOX1ZPSURfVkFSLCBBVFRSX05PVEhST1dD QUxMX0xFQUZfTElTVCkKIERFRl9TWU5DX0JVSUxUSU4gKEJVSUxUX0lOX1NZ TkNfT1JfQU5EX0ZFVENIXzEsICJfX3N5bmNfb3JfYW5kX2ZldGNoXzEiLAot CQkgIEJUX0ZOX0kxX1ZQVFJfSTEsIEFUVFJfTk9USFJPV19MRUFGX0xJU1Qp CisJCSAgQlRfRk5fSTFfVlBUUl9JMSwgQVRUUl9OT1RIUk9XQ0FMTF9MRUFG X0xJU1QpCiBERUZfU1lOQ19CVUlMVElOIChCVUlMVF9JTl9TWU5DX09SX0FO RF9GRVRDSF8yLCAiX19zeW5jX29yX2FuZF9mZXRjaF8yIiwKLQkJICBCVF9G Tl9JMl9WUFRSX0kyLCBBVFRSX05PVEhST1dfTEVBRl9MSVNUKQorCQkgIEJU X0ZOX0kyX1ZQVFJfSTIsIEFUVFJfTk9USFJPV0NBTExfTEVBRl9MSVNUKQog REVGX1NZTkNfQlVJTFRJTiAoQlVJTFRfSU5fU1lOQ19PUl9BTkRfRkVUQ0hf NCwgIl9fc3luY19vcl9hbmRfZmV0Y2hfNCIsCi0JCSAgQlRfRk5fSTRfVlBU Ul9JNCwgQVRUUl9OT1RIUk9XX0xFQUZfTElTVCkKKwkJICBCVF9GTl9JNF9W UFRSX0k0LCBBVFRSX05PVEhST1dDQUxMX0xFQUZfTElTVCkKIERFRl9TWU5D X0JVSUxUSU4gKEJVSUxUX0lOX1NZTkNfT1JfQU5EX0ZFVENIXzgsICJfX3N5 bmNfb3JfYW5kX2ZldGNoXzgiLAotCQkgIEJUX0ZOX0k4X1ZQVFJfSTgsIEFU VFJfTk9USFJPV19MRUFGX0xJU1QpCisJCSAgQlRfRk5fSThfVlBUUl9JOCwg QVRUUl9OT1RIUk9XQ0FMTF9MRUFGX0xJU1QpCiBERUZfU1lOQ19CVUlMVElO IChCVUlMVF9JTl9TWU5DX09SX0FORF9GRVRDSF8xNiwgIl9fc3luY19vcl9h bmRfZmV0Y2hfMTYiLAotCQkgIEJUX0ZOX0kxNl9WUFRSX0kxNiwgQVRUUl9O T1RIUk9XX0xFQUZfTElTVCkKKwkJICBCVF9GTl9JMTZfVlBUUl9JMTYsIEFU VFJfTk9USFJPV0NBTExfTEVBRl9MSVNUKQogCiBERUZfU1lOQ19CVUlMVElO IChCVUlMVF9JTl9TWU5DX0FORF9BTkRfRkVUQ0hfTiwgIl9fc3luY19hbmRf YW5kX2ZldGNoIiwKLQkJICBCVF9GTl9WT0lEX1ZBUiwgQVRUUl9OT1RIUk9X X0xFQUZfTElTVCkKKwkJICBCVF9GTl9WT0lEX1ZBUiwgQVRUUl9OT1RIUk9X Q0FMTF9MRUFGX0xJU1QpCiBERUZfU1lOQ19CVUlMVElOIChCVUlMVF9JTl9T WU5DX0FORF9BTkRfRkVUQ0hfMSwgIl9fc3luY19hbmRfYW5kX2ZldGNoXzEi LAotCQkgIEJUX0ZOX0kxX1ZQVFJfSTEsIEFUVFJfTk9USFJPV19MRUFGX0xJ U1QpCisJCSAgQlRfRk5fSTFfVlBUUl9JMSwgQVRUUl9OT1RIUk9XQ0FMTF9M RUFGX0xJU1QpCiBERUZfU1lOQ19CVUlMVElOIChCVUlMVF9JTl9TWU5DX0FO RF9BTkRfRkVUQ0hfMiwgIl9fc3luY19hbmRfYW5kX2ZldGNoXzIiLAotCQkg IEJUX0ZOX0kyX1ZQVFJfSTIsIEFUVFJfTk9USFJPV19MRUFGX0xJU1QpCisJ CSAgQlRfRk5fSTJfVlBUUl9JMiwgQVRUUl9OT1RIUk9XQ0FMTF9MRUFGX0xJ U1QpCiBERUZfU1lOQ19CVUlMVElOIChCVUlMVF9JTl9TWU5DX0FORF9BTkRf RkVUQ0hfNCwgIl9fc3luY19hbmRfYW5kX2ZldGNoXzQiLAotCQkgIEJUX0ZO X0k0X1ZQVFJfSTQsIEFUVFJfTk9USFJPV19MRUFGX0xJU1QpCisJCSAgQlRf Rk5fSTRfVlBUUl9JNCwgQVRUUl9OT1RIUk9XQ0FMTF9MRUFGX0xJU1QpCiBE RUZfU1lOQ19CVUlMVElOIChCVUlMVF9JTl9TWU5DX0FORF9BTkRfRkVUQ0hf OCwgIl9fc3luY19hbmRfYW5kX2ZldGNoXzgiLAotCQkgIEJUX0ZOX0k4X1ZQ VFJfSTgsIEFUVFJfTk9USFJPV19MRUFGX0xJU1QpCisJCSAgQlRfRk5fSThf VlBUUl9JOCwgQVRUUl9OT1RIUk9XQ0FMTF9MRUFGX0xJU1QpCiBERUZfU1lO Q19CVUlMVElOIChCVUlMVF9JTl9TWU5DX0FORF9BTkRfRkVUQ0hfMTYsICJf X3N5bmNfYW5kX2FuZF9mZXRjaF8xNiIsCi0JCSAgQlRfRk5fSTE2X1ZQVFJf STE2LCBBVFRSX05PVEhST1dfTEVBRl9MSVNUKQorCQkgIEJUX0ZOX0kxNl9W UFRSX0kxNiwgQVRUUl9OT1RIUk9XQ0FMTF9MRUFGX0xJU1QpCiAKIERFRl9T WU5DX0JVSUxUSU4gKEJVSUxUX0lOX1NZTkNfWE9SX0FORF9GRVRDSF9OLCAi X19zeW5jX3hvcl9hbmRfZmV0Y2giLAotCQkgIEJUX0ZOX1ZPSURfVkFSLCBB VFRSX05PVEhST1dfTEVBRl9MSVNUKQorCQkgIEJUX0ZOX1ZPSURfVkFSLCBB VFRSX05PVEhST1dDQUxMX0xFQUZfTElTVCkKIERFRl9TWU5DX0JVSUxUSU4g KEJVSUxUX0lOX1NZTkNfWE9SX0FORF9GRVRDSF8xLCAiX19zeW5jX3hvcl9h bmRfZmV0Y2hfMSIsCi0JCSAgQlRfRk5fSTFfVlBUUl9JMSwgQVRUUl9OT1RI Uk9XX0xFQUZfTElTVCkKKwkJICBCVF9GTl9JMV9WUFRSX0kxLCBBVFRSX05P VEhST1dDQUxMX0xFQUZfTElTVCkKIERFRl9TWU5DX0JVSUxUSU4gKEJVSUxU X0lOX1NZTkNfWE9SX0FORF9GRVRDSF8yLCAiX19zeW5jX3hvcl9hbmRfZmV0 Y2hfMiIsCi0JCSAgQlRfRk5fSTJfVlBUUl9JMiwgQVRUUl9OT1RIUk9XX0xF QUZfTElTVCkKKwkJICBCVF9GTl9JMl9WUFRSX0kyLCBBVFRSX05PVEhST1dD QUxMX0xFQUZfTElTVCkKIERFRl9TWU5DX0JVSUxUSU4gKEJVSUxUX0lOX1NZ TkNfWE9SX0FORF9GRVRDSF80LCAiX19zeW5jX3hvcl9hbmRfZmV0Y2hfNCIs Ci0JCSAgQlRfRk5fSTRfVlBUUl9JNCwgQVRUUl9OT1RIUk9XX0xFQUZfTElT VCkKKwkJICBCVF9GTl9JNF9WUFRSX0k0LCBBVFRSX05PVEhST1dDQUxMX0xF QUZfTElTVCkKIERFRl9TWU5DX0JVSUxUSU4gKEJVSUxUX0lOX1NZTkNfWE9S X0FORF9GRVRDSF84LCAiX19zeW5jX3hvcl9hbmRfZmV0Y2hfOCIsCi0JCSAg QlRfRk5fSThfVlBUUl9JOCwgQVRUUl9OT1RIUk9XX0xFQUZfTElTVCkKKwkJ ICBCVF9GTl9JOF9WUFRSX0k4LCBBVFRSX05PVEhST1dDQUxMX0xFQUZfTElT VCkKIERFRl9TWU5DX0JVSUxUSU4gKEJVSUxUX0lOX1NZTkNfWE9SX0FORF9G RVRDSF8xNiwgIl9fc3luY194b3JfYW5kX2ZldGNoXzE2IiwKLQkJICBCVF9G Tl9JMTZfVlBUUl9JMTYsIEFUVFJfTk9USFJPV19MRUFGX0xJU1QpCisJCSAg QlRfRk5fSTE2X1ZQVFJfSTE2LCBBVFRSX05PVEhST1dDQUxMX0xFQUZfTElT VCkKIAogREVGX1NZTkNfQlVJTFRJTiAoQlVJTFRfSU5fU1lOQ19OQU5EX0FO RF9GRVRDSF9OLCAiX19zeW5jX25hbmRfYW5kX2ZldGNoIiwKLQkJICBCVF9G Tl9WT0lEX1ZBUiwgQVRUUl9OT1RIUk9XX0xFQUZfTElTVCkKKwkJICBCVF9G Tl9WT0lEX1ZBUiwgQVRUUl9OT1RIUk9XQ0FMTF9MRUFGX0xJU1QpCiBERUZf U1lOQ19CVUlMVElOIChCVUlMVF9JTl9TWU5DX05BTkRfQU5EX0ZFVENIXzEs ICJfX3N5bmNfbmFuZF9hbmRfZmV0Y2hfMSIsCi0JCSAgQlRfRk5fSTFfVlBU Ul9JMSwgQVRUUl9OT1RIUk9XX0xFQUZfTElTVCkKKwkJICBCVF9GTl9JMV9W UFRSX0kxLCBBVFRSX05PVEhST1dDQUxMX0xFQUZfTElTVCkKIERFRl9TWU5D X0JVSUxUSU4gKEJVSUxUX0lOX1NZTkNfTkFORF9BTkRfRkVUQ0hfMiwgIl9f c3luY19uYW5kX2FuZF9mZXRjaF8yIiwKLQkJICBCVF9GTl9JMl9WUFRSX0ky LCBBVFRSX05PVEhST1dfTEVBRl9MSVNUKQorCQkgIEJUX0ZOX0kyX1ZQVFJf STIsIEFUVFJfTk9USFJPV0NBTExfTEVBRl9MSVNUKQogREVGX1NZTkNfQlVJ TFRJTiAoQlVJTFRfSU5fU1lOQ19OQU5EX0FORF9GRVRDSF80LCAiX19zeW5j X25hbmRfYW5kX2ZldGNoXzQiLAotCQkgIEJUX0ZOX0k0X1ZQVFJfSTQsIEFU VFJfTk9USFJPV19MRUFGX0xJU1QpCisJCSAgQlRfRk5fSTRfVlBUUl9JNCwg QVRUUl9OT1RIUk9XQ0FMTF9MRUFGX0xJU1QpCiBERUZfU1lOQ19CVUlMVElO IChCVUlMVF9JTl9TWU5DX05BTkRfQU5EX0ZFVENIXzgsICJfX3N5bmNfbmFu ZF9hbmRfZmV0Y2hfOCIsCi0JCSAgQlRfRk5fSThfVlBUUl9JOCwgQVRUUl9O T1RIUk9XX0xFQUZfTElTVCkKKwkJICBCVF9GTl9JOF9WUFRSX0k4LCBBVFRS X05PVEhST1dDQUxMX0xFQUZfTElTVCkKIERFRl9TWU5DX0JVSUxUSU4gKEJV SUxUX0lOX1NZTkNfTkFORF9BTkRfRkVUQ0hfMTYsICJfX3N5bmNfbmFuZF9h bmRfZmV0Y2hfMTYiLAotCQkgIEJUX0ZOX0kxNl9WUFRSX0kxNiwgQVRUUl9O T1RIUk9XX0xFQUZfTElTVCkKKwkJICBCVF9GTl9JMTZfVlBUUl9JMTYsIEFU VFJfTk9USFJPV0NBTExfTEVBRl9MSVNUKQogCiBERUZfU1lOQ19CVUlMVElO IChCVUlMVF9JTl9TWU5DX0JPT0xfQ09NUEFSRV9BTkRfU1dBUF9OLAogCQkg ICJfX3N5bmNfYm9vbF9jb21wYXJlX2FuZF9zd2FwIiwKLQkJICBCVF9GTl9W T0lEX1ZBUiwgQVRUUl9OT1RIUk9XX0xFQUZfTElTVCkKKwkJICBCVF9GTl9W T0lEX1ZBUiwgQVRUUl9OT1RIUk9XQ0FMTF9MRUFGX0xJU1QpCiBERUZfU1lO Q19CVUlMVElOIChCVUlMVF9JTl9TWU5DX0JPT0xfQ09NUEFSRV9BTkRfU1dB UF8xLAogCQkgICJfX3N5bmNfYm9vbF9jb21wYXJlX2FuZF9zd2FwXzEiLAot CQkgIEJUX0ZOX0JPT0xfVlBUUl9JMV9JMSwgQVRUUl9OT1RIUk9XX0xFQUZf TElTVCkKKwkJICBCVF9GTl9CT09MX1ZQVFJfSTFfSTEsIEFUVFJfTk9USFJP V0NBTExfTEVBRl9MSVNUKQogREVGX1NZTkNfQlVJTFRJTiAoQlVJTFRfSU5f U1lOQ19CT09MX0NPTVBBUkVfQU5EX1NXQVBfMiwKIAkJICAiX19zeW5jX2Jv b2xfY29tcGFyZV9hbmRfc3dhcF8yIiwKLQkJICBCVF9GTl9CT09MX1ZQVFJf STJfSTIsIEFUVFJfTk9USFJPV19MRUFGX0xJU1QpCisJCSAgQlRfRk5fQk9P TF9WUFRSX0kyX0kyLCBBVFRSX05PVEhST1dDQUxMX0xFQUZfTElTVCkKIERF Rl9TWU5DX0JVSUxUSU4gKEJVSUxUX0lOX1NZTkNfQk9PTF9DT01QQVJFX0FO RF9TV0FQXzQsCiAJCSAgIl9fc3luY19ib29sX2NvbXBhcmVfYW5kX3N3YXBf NCIsCi0JCSAgQlRfRk5fQk9PTF9WUFRSX0k0X0k0LCBBVFRSX05PVEhST1df TEVBRl9MSVNUKQorCQkgIEJUX0ZOX0JPT0xfVlBUUl9JNF9JNCwgQVRUUl9O T1RIUk9XQ0FMTF9MRUFGX0xJU1QpCiBERUZfU1lOQ19CVUlMVElOIChCVUlM VF9JTl9TWU5DX0JPT0xfQ09NUEFSRV9BTkRfU1dBUF84LAogCQkgICJfX3N5 bmNfYm9vbF9jb21wYXJlX2FuZF9zd2FwXzgiLAotCQkgIEJUX0ZOX0JPT0xf VlBUUl9JOF9JOCwgQVRUUl9OT1RIUk9XX0xFQUZfTElTVCkKKwkJICBCVF9G Tl9CT09MX1ZQVFJfSThfSTgsIEFUVFJfTk9USFJPV0NBTExfTEVBRl9MSVNU KQogREVGX1NZTkNfQlVJTFRJTiAoQlVJTFRfSU5fU1lOQ19CT09MX0NPTVBB UkVfQU5EX1NXQVBfMTYsCiAJCSAgIl9fc3luY19ib29sX2NvbXBhcmVfYW5k X3N3YXBfMTYiLAotCQkgIEJUX0ZOX0JPT0xfVlBUUl9JMTZfSTE2LCBBVFRS X05PVEhST1dfTEVBRl9MSVNUKQorCQkgIEJUX0ZOX0JPT0xfVlBUUl9JMTZf STE2LCBBVFRSX05PVEhST1dDQUxMX0xFQUZfTElTVCkKIAogREVGX1NZTkNf QlVJTFRJTiAoQlVJTFRfSU5fU1lOQ19WQUxfQ09NUEFSRV9BTkRfU1dBUF9O LAogCQkgICJfX3N5bmNfdmFsX2NvbXBhcmVfYW5kX3N3YXAiLAotCQkgIEJU X0ZOX1ZPSURfVkFSLCBBVFRSX05PVEhST1dfTEVBRl9MSVNUKQorCQkgIEJU X0ZOX1ZPSURfVkFSLCBBVFRSX05PVEhST1dDQUxMX0xFQUZfTElTVCkKIERF Rl9TWU5DX0JVSUxUSU4gKEJVSUxUX0lOX1NZTkNfVkFMX0NPTVBBUkVfQU5E X1NXQVBfMSwKIAkJICAiX19zeW5jX3ZhbF9jb21wYXJlX2FuZF9zd2FwXzEi LAotCQkgIEJUX0ZOX0kxX1ZQVFJfSTFfSTEsIEFUVFJfTk9USFJPV19MRUFG X0xJU1QpCisJCSAgQlRfRk5fSTFfVlBUUl9JMV9JMSwgQVRUUl9OT1RIUk9X Q0FMTF9MRUFGX0xJU1QpCiBERUZfU1lOQ19CVUlMVElOIChCVUlMVF9JTl9T WU5DX1ZBTF9DT01QQVJFX0FORF9TV0FQXzIsCiAJCSAgIl9fc3luY192YWxf Y29tcGFyZV9hbmRfc3dhcF8yIiwKLQkJICBCVF9GTl9JMl9WUFRSX0kyX0ky LCBBVFRSX05PVEhST1dfTEVBRl9MSVNUKQorCQkgIEJUX0ZOX0kyX1ZQVFJf STJfSTIsIEFUVFJfTk9USFJPV0NBTExfTEVBRl9MSVNUKQogREVGX1NZTkNf QlVJTFRJTiAoQlVJTFRfSU5fU1lOQ19WQUxfQ09NUEFSRV9BTkRfU1dBUF80 LAogCQkgICJfX3N5bmNfdmFsX2NvbXBhcmVfYW5kX3N3YXBfNCIsCi0JCSAg QlRfRk5fSTRfVlBUUl9JNF9JNCwgQVRUUl9OT1RIUk9XX0xFQUZfTElTVCkK KwkJICBCVF9GTl9JNF9WUFRSX0k0X0k0LCBBVFRSX05PVEhST1dDQUxMX0xF QUZfTElTVCkKIERFRl9TWU5DX0JVSUxUSU4gKEJVSUxUX0lOX1NZTkNfVkFM X0NPTVBBUkVfQU5EX1NXQVBfOCwKIAkJICAiX19zeW5jX3ZhbF9jb21wYXJl X2FuZF9zd2FwXzgiLAotCQkgIEJUX0ZOX0k4X1ZQVFJfSThfSTgsIEFUVFJf Tk9USFJPV19MRUFGX0xJU1QpCisJCSAgQlRfRk5fSThfVlBUUl9JOF9JOCwg QVRUUl9OT1RIUk9XQ0FMTF9MRUFGX0xJU1QpCiBERUZfU1lOQ19CVUlMVElO IChCVUlMVF9JTl9TWU5DX1ZBTF9DT01QQVJFX0FORF9TV0FQXzE2LAogCQkg ICJfX3N5bmNfdmFsX2NvbXBhcmVfYW5kX3N3YXBfMTYiLAotCQkgIEJUX0ZO X0kxNl9WUFRSX0kxNl9JMTYsIEFUVFJfTk9USFJPV19MRUFGX0xJU1QpCisJ CSAgQlRfRk5fSTE2X1ZQVFJfSTE2X0kxNiwgQVRUUl9OT1RIUk9XQ0FMTF9M RUFGX0xJU1QpCiAKIERFRl9TWU5DX0JVSUxUSU4gKEJVSUxUX0lOX1NZTkNf TE9DS19URVNUX0FORF9TRVRfTiwKIAkJICAiX19zeW5jX2xvY2tfdGVzdF9h bmRfc2V0IiwKLQkJICBCVF9GTl9WT0lEX1ZBUiwgQVRUUl9OT1RIUk9XX0xF QUZfTElTVCkKKwkJICBCVF9GTl9WT0lEX1ZBUiwgQVRUUl9OT1RIUk9XQ0FM TF9MRUFGX0xJU1QpCiBERUZfU1lOQ19CVUlMVElOIChCVUlMVF9JTl9TWU5D X0xPQ0tfVEVTVF9BTkRfU0VUXzEsCiAJCSAgIl9fc3luY19sb2NrX3Rlc3Rf YW5kX3NldF8xIiwKLQkJICBCVF9GTl9JMV9WUFRSX0kxLCBBVFRSX05PVEhS T1dfTEVBRl9MSVNUKQorCQkgIEJUX0ZOX0kxX1ZQVFJfSTEsIEFUVFJfTk9U SFJPV0NBTExfTEVBRl9MSVNUKQogREVGX1NZTkNfQlVJTFRJTiAoQlVJTFRf SU5fU1lOQ19MT0NLX1RFU1RfQU5EX1NFVF8yLAogCQkgICJfX3N5bmNfbG9j a190ZXN0X2FuZF9zZXRfMiIsCi0JCSAgQlRfRk5fSTJfVlBUUl9JMiwgQVRU Ul9OT1RIUk9XX0xFQUZfTElTVCkKKwkJICBCVF9GTl9JMl9WUFRSX0kyLCBB VFRSX05PVEhST1dDQUxMX0xFQUZfTElTVCkKIERFRl9TWU5DX0JVSUxUSU4g KEJVSUxUX0lOX1NZTkNfTE9DS19URVNUX0FORF9TRVRfNCwKIAkJICAiX19z eW5jX2xvY2tfdGVzdF9hbmRfc2V0XzQiLAotCQkgIEJUX0ZOX0k0X1ZQVFJf STQsIEFUVFJfTk9USFJPV19MRUFGX0xJU1QpCisJCSAgQlRfRk5fSTRfVlBU Ul9JNCwgQVRUUl9OT1RIUk9XQ0FMTF9MRUFGX0xJU1QpCiBERUZfU1lOQ19C VUlMVElOIChCVUlMVF9JTl9TWU5DX0xPQ0tfVEVTVF9BTkRfU0VUXzgsCiAJ CSAgIl9fc3luY19sb2NrX3Rlc3RfYW5kX3NldF84IiwKLQkJICBCVF9GTl9J OF9WUFRSX0k4LCBBVFRSX05PVEhST1dfTEVBRl9MSVNUKQorCQkgIEJUX0ZO X0k4X1ZQVFJfSTgsIEFUVFJfTk9USFJPV0NBTExfTEVBRl9MSVNUKQogREVG X1NZTkNfQlVJTFRJTiAoQlVJTFRfSU5fU1lOQ19MT0NLX1RFU1RfQU5EX1NF VF8xNiwKIAkJICAiX19zeW5jX2xvY2tfdGVzdF9hbmRfc2V0XzE2IiwKLQkJ ICBCVF9GTl9JMTZfVlBUUl9JMTYsIEFUVFJfTk9USFJPV19MRUFGX0xJU1Qp CisJCSAgQlRfRk5fSTE2X1ZQVFJfSTE2LCBBVFRSX05PVEhST1dDQUxMX0xF QUZfTElTVCkKIAogREVGX1NZTkNfQlVJTFRJTiAoQlVJTFRfSU5fU1lOQ19M T0NLX1JFTEVBU0VfTiwgIl9fc3luY19sb2NrX3JlbGVhc2UiLAotCQkgIEJU X0ZOX1ZPSURfVkFSLCBBVFRSX05PVEhST1dfTEVBRl9MSVNUKQorCQkgIEJU X0ZOX1ZPSURfVkFSLCBBVFRSX05PVEhST1dDQUxMX0xFQUZfTElTVCkKIERF Rl9TWU5DX0JVSUxUSU4gKEJVSUxUX0lOX1NZTkNfTE9DS19SRUxFQVNFXzEs ICJfX3N5bmNfbG9ja19yZWxlYXNlXzEiLAotCQkgIEJUX0ZOX1ZPSURfVlBU UiwgQVRUUl9OT1RIUk9XX0xFQUZfTElTVCkKKwkJICBCVF9GTl9WT0lEX1ZQ VFIsIEFUVFJfTk9USFJPV0NBTExfTEVBRl9MSVNUKQogREVGX1NZTkNfQlVJ TFRJTiAoQlVJTFRfSU5fU1lOQ19MT0NLX1JFTEVBU0VfMiwgIl9fc3luY19s b2NrX3JlbGVhc2VfMiIsCi0JCSAgQlRfRk5fVk9JRF9WUFRSLCBBVFRSX05P VEhST1dfTEVBRl9MSVNUKQorCQkgIEJUX0ZOX1ZPSURfVlBUUiwgQVRUUl9O T1RIUk9XQ0FMTF9MRUFGX0xJU1QpCiBERUZfU1lOQ19CVUlMVElOIChCVUlM VF9JTl9TWU5DX0xPQ0tfUkVMRUFTRV80LCAiX19zeW5jX2xvY2tfcmVsZWFz ZV80IiwKLQkJICBCVF9GTl9WT0lEX1ZQVFIsIEFUVFJfTk9USFJPV19MRUFG X0xJU1QpCisJCSAgQlRfRk5fVk9JRF9WUFRSLCBBVFRSX05PVEhST1dDQUxM X0xFQUZfTElTVCkKIERFRl9TWU5DX0JVSUxUSU4gKEJVSUxUX0lOX1NZTkNf TE9DS19SRUxFQVNFXzgsICJfX3N5bmNfbG9ja19yZWxlYXNlXzgiLAotCQkg IEJUX0ZOX1ZPSURfVlBUUiwgQVRUUl9OT1RIUk9XX0xFQUZfTElTVCkKKwkJ ICBCVF9GTl9WT0lEX1ZQVFIsIEFUVFJfTk9USFJPV0NBTExfTEVBRl9MSVNU KQogREVGX1NZTkNfQlVJTFRJTiAoQlVJTFRfSU5fU1lOQ19MT0NLX1JFTEVB U0VfMTYsICJfX3N5bmNfbG9ja19yZWxlYXNlXzE2IiwKLQkJICBCVF9GTl9W T0lEX1ZQVFIsIEFUVFJfTk9USFJPV19MRUFGX0xJU1QpCisJCSAgQlRfRk5f Vk9JRF9WUFRSLCBBVFRSX05PVEhST1dDQUxMX0xFQUZfTElTVCkKIAogREVG X1NZTkNfQlVJTFRJTiAoQlVJTFRfSU5fU1lOQ19TWU5DSFJPTklaRSwgIl9f c3luY19zeW5jaHJvbml6ZSIsCi0JCSAgQlRfRk5fVk9JRCwgQVRUUl9OT1RI Uk9XX0xFQUZfTElTVCkKKwkJICBCVF9GTl9WT0lELCBBVFRSX05PVEhST1dD QUxMX0xFQUZfTElTVCkKIAogLyogX19zeW5jKiBidWlsdGlucyBmb3IgdGhl IEMrKyBtZW1vcnkgbW9kZWwuICAqLwogCiBERUZfU1lOQ19CVUlMVElOIChC VUlMVF9JTl9BVE9NSUNfVEVTVF9BTkRfU0VULCAiX19hdG9taWNfdGVzdF9h bmRfc2V0IiwKLQkJICBCVF9GTl9CT09MX1ZQVFJfSU5ULCBBVFRSX05PVEhS T1dfTEVBRl9MSVNUKQorCQkgIEJUX0ZOX0JPT0xfVlBUUl9JTlQsIEFUVFJf Tk9USFJPV0NBTExfTEVBRl9MSVNUKQogCiBERUZfU1lOQ19CVUlMVElOIChC VUlMVF9JTl9BVE9NSUNfQ0xFQVIsICJfX2F0b21pY19jbGVhciIsIEJUX0ZO X1ZPSURfVlBUUl9JTlQsCi0JCSAgQVRUUl9OT1RIUk9XX0xFQUZfTElTVCkK KwkJICBBVFRSX05PVEhST1dDQUxMX0xFQUZfTElTVCkKIAogREVGX1NZTkNf QlVJTFRJTiAoQlVJTFRfSU5fQVRPTUlDX0VYQ0hBTkdFLAogCQkgICJfX2F0 b21pY19leGNoYW5nZSIsCi0JCSAgQlRfRk5fVk9JRF9TSVpFX1ZQVFJfUFRS X1BUUl9JTlQsIEFUVFJfTk9USFJPV19MRUFGX0xJU1QpCisJCSAgQlRfRk5f Vk9JRF9TSVpFX1ZQVFJfUFRSX1BUUl9JTlQsIEFUVFJfTk9USFJPV0NBTExf TEVBRl9MSVNUKQogREVGX1NZTkNfQlVJTFRJTiAoQlVJTFRfSU5fQVRPTUlD X0VYQ0hBTkdFX04sCiAJCSAgIl9fYXRvbWljX2V4Y2hhbmdlX24iLAotCQkg IEJUX0ZOX1ZPSURfVkFSLCBBVFRSX05PVEhST1dfTEVBRl9MSVNUKQorCQkg IEJUX0ZOX1ZPSURfVkFSLCBBVFRSX05PVEhST1dDQUxMX0xFQUZfTElTVCkK IERFRl9TWU5DX0JVSUxUSU4gKEJVSUxUX0lOX0FUT01JQ19FWENIQU5HRV8x LAogCQkgICJfX2F0b21pY19leGNoYW5nZV8xIiwKLQkJICBCVF9GTl9JMV9W UFRSX0kxX0lOVCwgQVRUUl9OT1RIUk9XX0xFQUZfTElTVCkKKwkJICBCVF9G Tl9JMV9WUFRSX0kxX0lOVCwgQVRUUl9OT1RIUk9XQ0FMTF9MRUFGX0xJU1Qp CiBERUZfU1lOQ19CVUlMVElOIChCVUlMVF9JTl9BVE9NSUNfRVhDSEFOR0Vf MiwKIAkJICAiX19hdG9taWNfZXhjaGFuZ2VfMiIsCi0JCSAgQlRfRk5fSTJf VlBUUl9JMl9JTlQsIEFUVFJfTk9USFJPV19MRUFGX0xJU1QpCisJCSAgQlRf Rk5fSTJfVlBUUl9JMl9JTlQsIEFUVFJfTk9USFJPV0NBTExfTEVBRl9MSVNU KQogREVGX1NZTkNfQlVJTFRJTiAoQlVJTFRfSU5fQVRPTUlDX0VYQ0hBTkdF XzQsCiAJCSAgIl9fYXRvbWljX2V4Y2hhbmdlXzQiLAotCQkgIEJUX0ZOX0k0 X1ZQVFJfSTRfSU5ULCBBVFRSX05PVEhST1dfTEVBRl9MSVNUKQorCQkgIEJU X0ZOX0k0X1ZQVFJfSTRfSU5ULCBBVFRSX05PVEhST1dDQUxMX0xFQUZfTElT VCkKIERFRl9TWU5DX0JVSUxUSU4gKEJVSUxUX0lOX0FUT01JQ19FWENIQU5H RV84LAogCQkgICJfX2F0b21pY19leGNoYW5nZV84IiwKLQkJICBCVF9GTl9J OF9WUFRSX0k4X0lOVCwgQVRUUl9OT1RIUk9XX0xFQUZfTElTVCkKKwkJICBC VF9GTl9JOF9WUFRSX0k4X0lOVCwgQVRUUl9OT1RIUk9XQ0FMTF9MRUFGX0xJ U1QpCiBERUZfU1lOQ19CVUlMVElOIChCVUlMVF9JTl9BVE9NSUNfRVhDSEFO R0VfMTYsCiAJCSAgIl9fYXRvbWljX2V4Y2hhbmdlXzE2IiwKLQkJICBCVF9G Tl9JMTZfVlBUUl9JMTZfSU5ULCBBVFRSX05PVEhST1dfTEVBRl9MSVNUKQor CQkgIEJUX0ZOX0kxNl9WUFRSX0kxNl9JTlQsIEFUVFJfTk9USFJPV0NBTExf TEVBRl9MSVNUKQogCiBERUZfU1lOQ19CVUlMVElOIChCVUlMVF9JTl9BVE9N SUNfTE9BRCwKIAkJICAiX19hdG9taWNfbG9hZCIsCi0JCSAgQlRfRk5fVk9J RF9TSVpFX0NPTlNUX1ZQVFJfUFRSX0lOVCwgQVRUUl9OT1RIUk9XX0xFQUZf TElTVCkKKwkJICBCVF9GTl9WT0lEX1NJWkVfQ09OU1RfVlBUUl9QVFJfSU5U LAorCQkgIEFUVFJfTk9USFJPV0NBTExfTEVBRl9MSVNUKQogREVGX1NZTkNf QlVJTFRJTiAoQlVJTFRfSU5fQVRPTUlDX0xPQURfTiwKIAkJICAiX19hdG9t aWNfbG9hZF9uIiwKLQkJICBCVF9GTl9WT0lEX1ZBUiwgQVRUUl9OT1RIUk9X X0xFQUZfTElTVCkKKwkJICBCVF9GTl9WT0lEX1ZBUiwgQVRUUl9OT1RIUk9X Q0FMTF9MRUFGX0xJU1QpCiBERUZfU1lOQ19CVUlMVElOIChCVUlMVF9JTl9B VE9NSUNfTE9BRF8xLAogCQkgICJfX2F0b21pY19sb2FkXzEiLAotCQkgIEJU X0ZOX0kxX0NPTlNUX1ZQVFJfSU5ULCBBVFRSX05PVEhST1dfTEVBRl9MSVNU KQorCQkgIEJUX0ZOX0kxX0NPTlNUX1ZQVFJfSU5ULCBBVFRSX05PVEhST1dD QUxMX0xFQUZfTElTVCkKIERFRl9TWU5DX0JVSUxUSU4gKEJVSUxUX0lOX0FU T01JQ19MT0FEXzIsCiAJCSAgIl9fYXRvbWljX2xvYWRfMiIsCi0JCSAgQlRf Rk5fSTJfQ09OU1RfVlBUUl9JTlQsIEFUVFJfTk9USFJPV19MRUFGX0xJU1Qp CisJCSAgQlRfRk5fSTJfQ09OU1RfVlBUUl9JTlQsIEFUVFJfTk9USFJPV0NB TExfTEVBRl9MSVNUKQogREVGX1NZTkNfQlVJTFRJTiAoQlVJTFRfSU5fQVRP TUlDX0xPQURfNCwKIAkJICAiX19hdG9taWNfbG9hZF80IiwKLQkJICBCVF9G Tl9JNF9DT05TVF9WUFRSX0lOVCwgQVRUUl9OT1RIUk9XX0xFQUZfTElTVCkK KwkJICBCVF9GTl9JNF9DT05TVF9WUFRSX0lOVCwgQVRUUl9OT1RIUk9XQ0FM TF9MRUFGX0xJU1QpCiBERUZfU1lOQ19CVUlMVElOIChCVUlMVF9JTl9BVE9N SUNfTE9BRF84LAogCQkgICJfX2F0b21pY19sb2FkXzgiLAotCQkgIEJUX0ZO X0k4X0NPTlNUX1ZQVFJfSU5ULCBBVFRSX05PVEhST1dfTEVBRl9MSVNUKQor CQkgIEJUX0ZOX0k4X0NPTlNUX1ZQVFJfSU5ULCBBVFRSX05PVEhST1dDQUxM X0xFQUZfTElTVCkKIERFRl9TWU5DX0JVSUxUSU4gKEJVSUxUX0lOX0FUT01J Q19MT0FEXzE2LAogCQkgICJfX2F0b21pY19sb2FkXzE2IiwKLQkJICBCVF9G Tl9JMTZfQ09OU1RfVlBUUl9JTlQsIEFUVFJfTk9USFJPV19MRUFGX0xJU1Qp CisJCSAgQlRfRk5fSTE2X0NPTlNUX1ZQVFJfSU5ULCBBVFRSX05PVEhST1dD QUxMX0xFQUZfTElTVCkKIAogREVGX1NZTkNfQlVJTFRJTiAoQlVJTFRfSU5f QVRPTUlDX0NPTVBBUkVfRVhDSEFOR0UsCiAJCSAgIl9fYXRvbWljX2NvbXBh cmVfZXhjaGFuZ2UiLAogCQkgIEJUX0ZOX0JPT0xfU0laRV9WUFRSX1BUUl9Q VFJfSU5UX0lOVCwKLQkJICBBVFRSX05PVEhST1dfTEVBRl9MSVNUKQorCQkg IEFUVFJfTk9USFJPV0NBTExfTEVBRl9MSVNUKQogREVGX1NZTkNfQlVJTFRJ TiAoQlVJTFRfSU5fQVRPTUlDX0NPTVBBUkVfRVhDSEFOR0VfTiwKIAkJICAi X19hdG9taWNfY29tcGFyZV9leGNoYW5nZV9uIiwKLQkJICBCVF9GTl9WT0lE X1ZBUiwgQVRUUl9OT1RIUk9XX0xFQUZfTElTVCkKKwkJICBCVF9GTl9WT0lE X1ZBUiwgQVRUUl9OT1RIUk9XQ0FMTF9MRUFGX0xJU1QpCiBERUZfU1lOQ19C VUlMVElOIChCVUlMVF9JTl9BVE9NSUNfQ09NUEFSRV9FWENIQU5HRV8xLAog CQkgICJfX2F0b21pY19jb21wYXJlX2V4Y2hhbmdlXzEiLAotCQkgIEJUX0ZO X0JPT0xfVlBUUl9QVFJfSTFfQk9PTF9JTlRfSU5ULCBBVFRSX05PVEhST1df TEVBRl9MSVNUKQorCQkgIEJUX0ZOX0JPT0xfVlBUUl9QVFJfSTFfQk9PTF9J TlRfSU5ULAorCQkgIEFUVFJfTk9USFJPV0NBTExfTEVBRl9MSVNUKQogREVG X1NZTkNfQlVJTFRJTiAoQlVJTFRfSU5fQVRPTUlDX0NPTVBBUkVfRVhDSEFO R0VfMiwKIAkJICAiX19hdG9taWNfY29tcGFyZV9leGNoYW5nZV8yIiwKLQkJ ICBCVF9GTl9CT09MX1ZQVFJfUFRSX0kyX0JPT0xfSU5UX0lOVCwgQVRUUl9O T1RIUk9XX0xFQUZfTElTVCkKKwkJICBCVF9GTl9CT09MX1ZQVFJfUFRSX0ky X0JPT0xfSU5UX0lOVCwKKwkJICBBVFRSX05PVEhST1dDQUxMX0xFQUZfTElT VCkKIERFRl9TWU5DX0JVSUxUSU4gKEJVSUxUX0lOX0FUT01JQ19DT01QQVJF X0VYQ0hBTkdFXzQsCiAJCSAgIl9fYXRvbWljX2NvbXBhcmVfZXhjaGFuZ2Vf NCIsCi0JCSAgQlRfRk5fQk9PTF9WUFRSX1BUUl9JNF9CT09MX0lOVF9JTlQs IEFUVFJfTk9USFJPV19MRUFGX0xJU1QpCisJCSAgQlRfRk5fQk9PTF9WUFRS X1BUUl9JNF9CT09MX0lOVF9JTlQsCisJCSAgQVRUUl9OT1RIUk9XQ0FMTF9M RUFGX0xJU1QpCiBERUZfU1lOQ19CVUlMVElOIChCVUlMVF9JTl9BVE9NSUNf Q09NUEFSRV9FWENIQU5HRV84LAogCQkgICJfX2F0b21pY19jb21wYXJlX2V4 Y2hhbmdlXzgiLAotCQkgIEJUX0ZOX0JPT0xfVlBUUl9QVFJfSThfQk9PTF9J TlRfSU5ULCBBVFRSX05PVEhST1dfTEVBRl9MSVNUKQorCQkgIEJUX0ZOX0JP T0xfVlBUUl9QVFJfSThfQk9PTF9JTlRfSU5ULAorCQkgIEFUVFJfTk9USFJP V0NBTExfTEVBRl9MSVNUKQogREVGX1NZTkNfQlVJTFRJTiAoQlVJTFRfSU5f QVRPTUlDX0NPTVBBUkVfRVhDSEFOR0VfMTYsCiAJCSAgIl9fYXRvbWljX2Nv bXBhcmVfZXhjaGFuZ2VfMTYiLAotCQkgIEJUX0ZOX0JPT0xfVlBUUl9QVFJf STE2X0JPT0xfSU5UX0lOVCwgQVRUUl9OT1RIUk9XX0xFQUZfTElTVCkKKwkJ ICBCVF9GTl9CT09MX1ZQVFJfUFRSX0kxNl9CT09MX0lOVF9JTlQsCisJCSAg QVRUUl9OT1RIUk9XQ0FMTF9MRUFGX0xJU1QpCiAKIERFRl9TWU5DX0JVSUxU SU4gKEJVSUxUX0lOX0FUT01JQ19TVE9SRSwKIAkJICAiX19hdG9taWNfc3Rv cmUiLAotCQkgIEJUX0ZOX1ZPSURfU0laRV9WUFRSX1BUUl9JTlQsIEFUVFJf Tk9USFJPV19MRUFGX0xJU1QpCisJCSAgQlRfRk5fVk9JRF9TSVpFX1ZQVFJf UFRSX0lOVCwgQVRUUl9OT1RIUk9XQ0FMTF9MRUFGX0xJU1QpCiBERUZfU1lO Q19CVUlMVElOIChCVUlMVF9JTl9BVE9NSUNfU1RPUkVfTiwKIAkJICAiX19h dG9taWNfc3RvcmVfbiIsCi0JCSAgQlRfRk5fVk9JRF9WQVIsIEFUVFJfTk9U SFJPV19MRUFGX0xJU1QpCisJCSAgQlRfRk5fVk9JRF9WQVIsIEFUVFJfTk9U SFJPV0NBTExfTEVBRl9MSVNUKQogREVGX1NZTkNfQlVJTFRJTiAoQlVJTFRf SU5fQVRPTUlDX1NUT1JFXzEsCiAJCSAgIl9fYXRvbWljX3N0b3JlXzEiLAot CQkgIEJUX0ZOX1ZPSURfVlBUUl9JMV9JTlQsIEFUVFJfTk9USFJPV19MRUFG X0xJU1QpCisJCSAgQlRfRk5fVk9JRF9WUFRSX0kxX0lOVCwgQVRUUl9OT1RI Uk9XQ0FMTF9MRUFGX0xJU1QpCiBERUZfU1lOQ19CVUlMVElOIChCVUlMVF9J Tl9BVE9NSUNfU1RPUkVfMiwKIAkJICAiX19hdG9taWNfc3RvcmVfMiIsCi0J CSAgQlRfRk5fVk9JRF9WUFRSX0kyX0lOVCwgQVRUUl9OT1RIUk9XX0xFQUZf TElTVCkKKwkJICBCVF9GTl9WT0lEX1ZQVFJfSTJfSU5ULCBBVFRSX05PVEhS T1dDQUxMX0xFQUZfTElTVCkKIERFRl9TWU5DX0JVSUxUSU4gKEJVSUxUX0lO X0FUT01JQ19TVE9SRV80LAogCQkgICJfX2F0b21pY19zdG9yZV80IiwKLQkJ ICBCVF9GTl9WT0lEX1ZQVFJfSTRfSU5ULCBBVFRSX05PVEhST1dfTEVBRl9M SVNUKQorCQkgIEJUX0ZOX1ZPSURfVlBUUl9JNF9JTlQsIEFUVFJfTk9USFJP V0NBTExfTEVBRl9MSVNUKQogREVGX1NZTkNfQlVJTFRJTiAoQlVJTFRfSU5f QVRPTUlDX1NUT1JFXzgsCiAJCSAgIl9fYXRvbWljX3N0b3JlXzgiLAotCQkg IEJUX0ZOX1ZPSURfVlBUUl9JOF9JTlQsIEFUVFJfTk9USFJPV19MRUFGX0xJ U1QpCisJCSAgQlRfRk5fVk9JRF9WUFRSX0k4X0lOVCwgQVRUUl9OT1RIUk9X Q0FMTF9MRUFGX0xJU1QpCiBERUZfU1lOQ19CVUlMVElOIChCVUlMVF9JTl9B VE9NSUNfU1RPUkVfMTYsCiAJCSAgIl9fYXRvbWljX3N0b3JlXzE2IiwKLQkJ ICBCVF9GTl9WT0lEX1ZQVFJfSTE2X0lOVCwgQVRUUl9OT1RIUk9XX0xFQUZf TElTVCkKKwkJICBCVF9GTl9WT0lEX1ZQVFJfSTE2X0lOVCwgQVRUUl9OT1RI Uk9XQ0FMTF9MRUFGX0xJU1QpCiAKIERFRl9TWU5DX0JVSUxUSU4gKEJVSUxU X0lOX0FUT01JQ19BRERfRkVUQ0hfTiwKIAkJICAiX19hdG9taWNfYWRkX2Zl dGNoIiwKLQkJICBCVF9GTl9WT0lEX1ZBUiwgQVRUUl9OT1RIUk9XX0xFQUZf TElTVCkKKwkJICBCVF9GTl9WT0lEX1ZBUiwgQVRUUl9OT1RIUk9XQ0FMTF9M RUFGX0xJU1QpCiBERUZfU1lOQ19CVUlMVElOIChCVUlMVF9JTl9BVE9NSUNf QUREX0ZFVENIXzEsCiAJCSAgIl9fYXRvbWljX2FkZF9mZXRjaF8xIiwKLQkJ ICBCVF9GTl9JMV9WUFRSX0kxX0lOVCwgQVRUUl9OT1RIUk9XX0xFQUZfTElT VCkKKwkJICBCVF9GTl9JMV9WUFRSX0kxX0lOVCwgQVRUUl9OT1RIUk9XQ0FM TF9MRUFGX0xJU1QpCiBERUZfU1lOQ19CVUlMVElOIChCVUlMVF9JTl9BVE9N SUNfQUREX0ZFVENIXzIsCiAJCSAgIl9fYXRvbWljX2FkZF9mZXRjaF8yIiwK LQkJICBCVF9GTl9JMl9WUFRSX0kyX0lOVCwgQVRUUl9OT1RIUk9XX0xFQUZf TElTVCkKKwkJICBCVF9GTl9JMl9WUFRSX0kyX0lOVCwgQVRUUl9OT1RIUk9X Q0FMTF9MRUFGX0xJU1QpCiBERUZfU1lOQ19CVUlMVElOIChCVUlMVF9JTl9B VE9NSUNfQUREX0ZFVENIXzQsCiAJCSAgIl9fYXRvbWljX2FkZF9mZXRjaF80 IiwKLQkJICBCVF9GTl9JNF9WUFRSX0k0X0lOVCwgQVRUUl9OT1RIUk9XX0xF QUZfTElTVCkKKwkJICBCVF9GTl9JNF9WUFRSX0k0X0lOVCwgQVRUUl9OT1RI Uk9XQ0FMTF9MRUFGX0xJU1QpCiBERUZfU1lOQ19CVUlMVElOIChCVUlMVF9J Tl9BVE9NSUNfQUREX0ZFVENIXzgsCiAJCSAgIl9fYXRvbWljX2FkZF9mZXRj aF84IiwKLQkJICBCVF9GTl9JOF9WUFRSX0k4X0lOVCwgQVRUUl9OT1RIUk9X X0xFQUZfTElTVCkKKwkJICBCVF9GTl9JOF9WUFRSX0k4X0lOVCwgQVRUUl9O T1RIUk9XQ0FMTF9MRUFGX0xJU1QpCiBERUZfU1lOQ19CVUlMVElOIChCVUlM VF9JTl9BVE9NSUNfQUREX0ZFVENIXzE2LAogCQkgICJfX2F0b21pY19hZGRf ZmV0Y2hfMTYiLAotCQkgIEJUX0ZOX0kxNl9WUFRSX0kxNl9JTlQsIEFUVFJf Tk9USFJPV19MRUFGX0xJU1QpCisJCSAgQlRfRk5fSTE2X1ZQVFJfSTE2X0lO VCwgQVRUUl9OT1RIUk9XQ0FMTF9MRUFGX0xJU1QpCiAKIERFRl9TWU5DX0JV SUxUSU4gKEJVSUxUX0lOX0FUT01JQ19TVUJfRkVUQ0hfTiwKIAkJICAiX19h dG9taWNfc3ViX2ZldGNoIiwKLQkJICBCVF9GTl9WT0lEX1ZBUiwgQVRUUl9O T1RIUk9XX0xFQUZfTElTVCkKKwkJICBCVF9GTl9WT0lEX1ZBUiwgQVRUUl9O T1RIUk9XQ0FMTF9MRUFGX0xJU1QpCiBERUZfU1lOQ19CVUlMVElOIChCVUlM VF9JTl9BVE9NSUNfU1VCX0ZFVENIXzEsCiAJCSAgIl9fYXRvbWljX3N1Yl9m ZXRjaF8xIiwKLQkJICBCVF9GTl9JMV9WUFRSX0kxX0lOVCwgQVRUUl9OT1RI Uk9XX0xFQUZfTElTVCkKKwkJICBCVF9GTl9JMV9WUFRSX0kxX0lOVCwgQVRU Ul9OT1RIUk9XQ0FMTF9MRUFGX0xJU1QpCiBERUZfU1lOQ19CVUlMVElOIChC VUlMVF9JTl9BVE9NSUNfU1VCX0ZFVENIXzIsCiAJCSAgIl9fYXRvbWljX3N1 Yl9mZXRjaF8yIiwKLQkJICBCVF9GTl9JMl9WUFRSX0kyX0lOVCwgQVRUUl9O T1RIUk9XX0xFQUZfTElTVCkKKwkJICBCVF9GTl9JMl9WUFRSX0kyX0lOVCwg QVRUUl9OT1RIUk9XQ0FMTF9MRUFGX0xJU1QpCiBERUZfU1lOQ19CVUlMVElO IChCVUlMVF9JTl9BVE9NSUNfU1VCX0ZFVENIXzQsCiAJCSAgIl9fYXRvbWlj X3N1Yl9mZXRjaF80IiwKLQkJICBCVF9GTl9JNF9WUFRSX0k0X0lOVCwgQVRU Ul9OT1RIUk9XX0xFQUZfTElTVCkKKwkJICBCVF9GTl9JNF9WUFRSX0k0X0lO VCwgQVRUUl9OT1RIUk9XQ0FMTF9MRUFGX0xJU1QpCiBERUZfU1lOQ19CVUlM VElOIChCVUlMVF9JTl9BVE9NSUNfU1VCX0ZFVENIXzgsCiAJCSAgIl9fYXRv bWljX3N1Yl9mZXRjaF84IiwKLQkJICBCVF9GTl9JOF9WUFRSX0k4X0lOVCwg QVRUUl9OT1RIUk9XX0xFQUZfTElTVCkKKwkJICBCVF9GTl9JOF9WUFRSX0k4 X0lOVCwgQVRUUl9OT1RIUk9XQ0FMTF9MRUFGX0xJU1QpCiBERUZfU1lOQ19C VUlMVElOIChCVUlMVF9JTl9BVE9NSUNfU1VCX0ZFVENIXzE2LAogCQkgICJf X2F0b21pY19zdWJfZmV0Y2hfMTYiLAotCQkgIEJUX0ZOX0kxNl9WUFRSX0kx Nl9JTlQsIEFUVFJfTk9USFJPV19MRUFGX0xJU1QpCisJCSAgQlRfRk5fSTE2 X1ZQVFJfSTE2X0lOVCwgQVRUUl9OT1RIUk9XQ0FMTF9MRUFGX0xJU1QpCiAK IERFRl9TWU5DX0JVSUxUSU4gKEJVSUxUX0lOX0FUT01JQ19BTkRfRkVUQ0hf TiwKIAkJICAiX19hdG9taWNfYW5kX2ZldGNoIiwKLQkJICBCVF9GTl9WT0lE X1ZBUiwgQVRUUl9OT1RIUk9XX0xFQUZfTElTVCkKKwkJICBCVF9GTl9WT0lE X1ZBUiwgQVRUUl9OT1RIUk9XQ0FMTF9MRUFGX0xJU1QpCiBERUZfU1lOQ19C VUlMVElOIChCVUlMVF9JTl9BVE9NSUNfQU5EX0ZFVENIXzEsCiAJCSAgIl9f YXRvbWljX2FuZF9mZXRjaF8xIiwKLQkJICBCVF9GTl9JMV9WUFRSX0kxX0lO VCwgQVRUUl9OT1RIUk9XX0xFQUZfTElTVCkKKwkJICBCVF9GTl9JMV9WUFRS X0kxX0lOVCwgQVRUUl9OT1RIUk9XQ0FMTF9MRUFGX0xJU1QpCiBERUZfU1lO Q19CVUlMVElOIChCVUlMVF9JTl9BVE9NSUNfQU5EX0ZFVENIXzIsCiAJCSAg Il9fYXRvbWljX2FuZF9mZXRjaF8yIiwKLQkJICBCVF9GTl9JMl9WUFRSX0ky X0lOVCwgQVRUUl9OT1RIUk9XX0xFQUZfTElTVCkKKwkJICBCVF9GTl9JMl9W UFRSX0kyX0lOVCwgQVRUUl9OT1RIUk9XQ0FMTF9MRUFGX0xJU1QpCiBERUZf U1lOQ19CVUlMVElOIChCVUlMVF9JTl9BVE9NSUNfQU5EX0ZFVENIXzQsCiAJ CSAgIl9fYXRvbWljX2FuZF9mZXRjaF80IiwKLQkJICBCVF9GTl9JNF9WUFRS X0k0X0lOVCwgQVRUUl9OT1RIUk9XX0xFQUZfTElTVCkKKwkJICBCVF9GTl9J NF9WUFRSX0k0X0lOVCwgQVRUUl9OT1RIUk9XQ0FMTF9MRUFGX0xJU1QpCiBE RUZfU1lOQ19CVUlMVElOIChCVUlMVF9JTl9BVE9NSUNfQU5EX0ZFVENIXzgs CiAJCSAgIl9fYXRvbWljX2FuZF9mZXRjaF84IiwKLQkJICBCVF9GTl9JOF9W UFRSX0k4X0lOVCwgQVRUUl9OT1RIUk9XX0xFQUZfTElTVCkKKwkJICBCVF9G Tl9JOF9WUFRSX0k4X0lOVCwgQVRUUl9OT1RIUk9XQ0FMTF9MRUFGX0xJU1Qp CiBERUZfU1lOQ19CVUlMVElOIChCVUlMVF9JTl9BVE9NSUNfQU5EX0ZFVENI XzE2LAogCQkgICJfX2F0b21pY19hbmRfZmV0Y2hfMTYiLAotCQkgIEJUX0ZO X0kxNl9WUFRSX0kxNl9JTlQsIEFUVFJfTk9USFJPV19MRUFGX0xJU1QpCisJ CSAgQlRfRk5fSTE2X1ZQVFJfSTE2X0lOVCwgQVRUUl9OT1RIUk9XQ0FMTF9M RUFGX0xJU1QpCiAKIERFRl9TWU5DX0JVSUxUSU4gKEJVSUxUX0lOX0FUT01J Q19OQU5EX0ZFVENIX04sCiAJCSAgIl9fYXRvbWljX25hbmRfZmV0Y2giLAot CQkgIEJUX0ZOX1ZPSURfVkFSLCBBVFRSX05PVEhST1dfTEVBRl9MSVNUKQor CQkgIEJUX0ZOX1ZPSURfVkFSLCBBVFRSX05PVEhST1dDQUxMX0xFQUZfTElT VCkKIERFRl9TWU5DX0JVSUxUSU4gKEJVSUxUX0lOX0FUT01JQ19OQU5EX0ZF VENIXzEsCiAJCSAgIl9fYXRvbWljX25hbmRfZmV0Y2hfMSIsCi0JCSAgQlRf Rk5fSTFfVlBUUl9JMV9JTlQsIEFUVFJfTk9USFJPV19MRUFGX0xJU1QpCisJ CSAgQlRfRk5fSTFfVlBUUl9JMV9JTlQsIEFUVFJfTk9USFJPV0NBTExfTEVB Rl9MSVNUKQogREVGX1NZTkNfQlVJTFRJTiAoQlVJTFRfSU5fQVRPTUlDX05B TkRfRkVUQ0hfMiwKIAkJICAiX19hdG9taWNfbmFuZF9mZXRjaF8yIiwKLQkJ ICBCVF9GTl9JMl9WUFRSX0kyX0lOVCwgQVRUUl9OT1RIUk9XX0xFQUZfTElT VCkKKwkJICBCVF9GTl9JMl9WUFRSX0kyX0lOVCwgQVRUUl9OT1RIUk9XQ0FM TF9MRUFGX0xJU1QpCiBERUZfU1lOQ19CVUlMVElOIChCVUlMVF9JTl9BVE9N SUNfTkFORF9GRVRDSF80LAogCQkgICJfX2F0b21pY19uYW5kX2ZldGNoXzQi LAotCQkgIEJUX0ZOX0k0X1ZQVFJfSTRfSU5ULCBBVFRSX05PVEhST1dfTEVB Rl9MSVNUKQorCQkgIEJUX0ZOX0k0X1ZQVFJfSTRfSU5ULCBBVFRSX05PVEhS T1dDQUxMX0xFQUZfTElTVCkKIERFRl9TWU5DX0JVSUxUSU4gKEJVSUxUX0lO X0FUT01JQ19OQU5EX0ZFVENIXzgsCiAJCSAgIl9fYXRvbWljX25hbmRfZmV0 Y2hfOCIsCi0JCSAgQlRfRk5fSThfVlBUUl9JOF9JTlQsIEFUVFJfTk9USFJP V19MRUFGX0xJU1QpCisJCSAgQlRfRk5fSThfVlBUUl9JOF9JTlQsIEFUVFJf Tk9USFJPV0NBTExfTEVBRl9MSVNUKQogREVGX1NZTkNfQlVJTFRJTiAoQlVJ TFRfSU5fQVRPTUlDX05BTkRfRkVUQ0hfMTYsCiAJCSAgIl9fYXRvbWljX25h bmRfZmV0Y2hfMTYiLAotCQkgIEJUX0ZOX0kxNl9WUFRSX0kxNl9JTlQsIEFU VFJfTk9USFJPV19MRUFGX0xJU1QpCisJCSAgQlRfRk5fSTE2X1ZQVFJfSTE2 X0lOVCwgQVRUUl9OT1RIUk9XQ0FMTF9MRUFGX0xJU1QpCiAKIERFRl9TWU5D X0JVSUxUSU4gKEJVSUxUX0lOX0FUT01JQ19YT1JfRkVUQ0hfTiwKIAkJICAi X19hdG9taWNfeG9yX2ZldGNoIiwKLQkJICBCVF9GTl9WT0lEX1ZBUiwgQVRU Ul9OT1RIUk9XX0xFQUZfTElTVCkKKwkJICBCVF9GTl9WT0lEX1ZBUiwgQVRU Ul9OT1RIUk9XQ0FMTF9MRUFGX0xJU1QpCiBERUZfU1lOQ19CVUlMVElOIChC VUlMVF9JTl9BVE9NSUNfWE9SX0ZFVENIXzEsCiAJCSAgIl9fYXRvbWljX3hv cl9mZXRjaF8xIiwKLQkJICBCVF9GTl9JMV9WUFRSX0kxX0lOVCwgQVRUUl9O T1RIUk9XX0xFQUZfTElTVCkKKwkJICBCVF9GTl9JMV9WUFRSX0kxX0lOVCwg QVRUUl9OT1RIUk9XQ0FMTF9MRUFGX0xJU1QpCiBERUZfU1lOQ19CVUlMVElO IChCVUlMVF9JTl9BVE9NSUNfWE9SX0ZFVENIXzIsCiAJCSAgIl9fYXRvbWlj X3hvcl9mZXRjaF8yIiwKLQkJICBCVF9GTl9JMl9WUFRSX0kyX0lOVCwgQVRU Ul9OT1RIUk9XX0xFQUZfTElTVCkKKwkJICBCVF9GTl9JMl9WUFRSX0kyX0lO VCwgQVRUUl9OT1RIUk9XQ0FMTF9MRUFGX0xJU1QpCiBERUZfU1lOQ19CVUlM VElOIChCVUlMVF9JTl9BVE9NSUNfWE9SX0ZFVENIXzQsCiAJCSAgIl9fYXRv bWljX3hvcl9mZXRjaF80IiwKLQkJICBCVF9GTl9JNF9WUFRSX0k0X0lOVCwg QVRUUl9OT1RIUk9XX0xFQUZfTElTVCkKKwkJICBCVF9GTl9JNF9WUFRSX0k0 X0lOVCwgQVRUUl9OT1RIUk9XQ0FMTF9MRUFGX0xJU1QpCiBERUZfU1lOQ19C VUlMVElOIChCVUlMVF9JTl9BVE9NSUNfWE9SX0ZFVENIXzgsCiAJCSAgIl9f YXRvbWljX3hvcl9mZXRjaF84IiwKLQkJICBCVF9GTl9JOF9WUFRSX0k4X0lO VCwgQVRUUl9OT1RIUk9XX0xFQUZfTElTVCkKKwkJICBCVF9GTl9JOF9WUFRS X0k4X0lOVCwgQVRUUl9OT1RIUk9XQ0FMTF9MRUFGX0xJU1QpCiBERUZfU1lO Q19CVUlMVElOIChCVUlMVF9JTl9BVE9NSUNfWE9SX0ZFVENIXzE2LAogCQkg ICJfX2F0b21pY194b3JfZmV0Y2hfMTYiLAotCQkgIEJUX0ZOX0kxNl9WUFRS X0kxNl9JTlQsIEFUVFJfTk9USFJPV19MRUFGX0xJU1QpCisJCSAgQlRfRk5f STE2X1ZQVFJfSTE2X0lOVCwgQVRUUl9OT1RIUk9XQ0FMTF9MRUFGX0xJU1Qp CiAKIERFRl9TWU5DX0JVSUxUSU4gKEJVSUxUX0lOX0FUT01JQ19PUl9GRVRD SF9OLAogCQkgICJfX2F0b21pY19vcl9mZXRjaCIsCi0JCSAgQlRfRk5fVk9J RF9WQVIsIEFUVFJfTk9USFJPV19MRUFGX0xJU1QpCisJCSAgQlRfRk5fVk9J RF9WQVIsIEFUVFJfTk9USFJPV0NBTExfTEVBRl9MSVNUKQogREVGX1NZTkNf QlVJTFRJTiAoQlVJTFRfSU5fQVRPTUlDX09SX0ZFVENIXzEsCiAJCSAgIl9f YXRvbWljX29yX2ZldGNoXzEiLAotCQkgIEJUX0ZOX0kxX1ZQVFJfSTFfSU5U LCBBVFRSX05PVEhST1dfTEVBRl9MSVNUKQorCQkgIEJUX0ZOX0kxX1ZQVFJf STFfSU5ULCBBVFRSX05PVEhST1dDQUxMX0xFQUZfTElTVCkKIERFRl9TWU5D X0JVSUxUSU4gKEJVSUxUX0lOX0FUT01JQ19PUl9GRVRDSF8yLAogCQkgICJf X2F0b21pY19vcl9mZXRjaF8yIiwKLQkJICBCVF9GTl9JMl9WUFRSX0kyX0lO VCwgQVRUUl9OT1RIUk9XX0xFQUZfTElTVCkKKwkJICBCVF9GTl9JMl9WUFRS X0kyX0lOVCwgQVRUUl9OT1RIUk9XQ0FMTF9MRUFGX0xJU1QpCiBERUZfU1lO Q19CVUlMVElOIChCVUlMVF9JTl9BVE9NSUNfT1JfRkVUQ0hfNCwKIAkJICAi X19hdG9taWNfb3JfZmV0Y2hfNCIsCi0JCSAgQlRfRk5fSTRfVlBUUl9JNF9J TlQsIEFUVFJfTk9USFJPV19MRUFGX0xJU1QpCisJCSAgQlRfRk5fSTRfVlBU Ul9JNF9JTlQsIEFUVFJfTk9USFJPV0NBTExfTEVBRl9MSVNUKQogREVGX1NZ TkNfQlVJTFRJTiAoQlVJTFRfSU5fQVRPTUlDX09SX0ZFVENIXzgsCiAJCSAg Il9fYXRvbWljX29yX2ZldGNoXzgiLAotCQkgIEJUX0ZOX0k4X1ZQVFJfSThf SU5ULCBBVFRSX05PVEhST1dfTEVBRl9MSVNUKQorCQkgIEJUX0ZOX0k4X1ZQ VFJfSThfSU5ULCBBVFRSX05PVEhST1dDQUxMX0xFQUZfTElTVCkKIERFRl9T WU5DX0JVSUxUSU4gKEJVSUxUX0lOX0FUT01JQ19PUl9GRVRDSF8xNiwKIAkJ ICAiX19hdG9taWNfb3JfZmV0Y2hfMTYiLAotCQkgIEJUX0ZOX0kxNl9WUFRS X0kxNl9JTlQsIEFUVFJfTk9USFJPV19MRUFGX0xJU1QpCisJCSAgQlRfRk5f STE2X1ZQVFJfSTE2X0lOVCwgQVRUUl9OT1RIUk9XQ0FMTF9MRUFGX0xJU1Qp CiAKIERFRl9TWU5DX0JVSUxUSU4gKEJVSUxUX0lOX0FUT01JQ19GRVRDSF9B RERfTiwKIAkJICAiX19hdG9taWNfZmV0Y2hfYWRkIiwKLQkJICBCVF9GTl9W T0lEX1ZBUiwgQVRUUl9OT1RIUk9XX0xFQUZfTElTVCkKKwkJICBCVF9GTl9W T0lEX1ZBUiwgQVRUUl9OT1RIUk9XQ0FMTF9MRUFGX0xJU1QpCiBERUZfU1lO Q19CVUlMVElOIChCVUlMVF9JTl9BVE9NSUNfRkVUQ0hfQUREXzEsCiAJCSAg Il9fYXRvbWljX2ZldGNoX2FkZF8xIiwKLQkJICBCVF9GTl9JMV9WUFRSX0kx X0lOVCwgQVRUUl9OT1RIUk9XX0xFQUZfTElTVCkKKwkJICBCVF9GTl9JMV9W UFRSX0kxX0lOVCwgQVRUUl9OT1RIUk9XQ0FMTF9MRUFGX0xJU1QpCiBERUZf U1lOQ19CVUlMVElOIChCVUlMVF9JTl9BVE9NSUNfRkVUQ0hfQUREXzIsCiAJ CSAgIl9fYXRvbWljX2ZldGNoX2FkZF8yIiwKLQkJICBCVF9GTl9JMl9WUFRS X0kyX0lOVCwgQVRUUl9OT1RIUk9XX0xFQUZfTElTVCkKKwkJICBCVF9GTl9J Ml9WUFRSX0kyX0lOVCwgQVRUUl9OT1RIUk9XQ0FMTF9MRUFGX0xJU1QpCiBE RUZfU1lOQ19CVUlMVElOIChCVUlMVF9JTl9BVE9NSUNfRkVUQ0hfQUREXzQs CiAJCSAgIl9fYXRvbWljX2ZldGNoX2FkZF80IiwKLQkJICBCVF9GTl9JNF9W UFRSX0k0X0lOVCwgQVRUUl9OT1RIUk9XX0xFQUZfTElTVCkKKwkJICBCVF9G Tl9JNF9WUFRSX0k0X0lOVCwgQVRUUl9OT1RIUk9XQ0FMTF9MRUFGX0xJU1Qp CiBERUZfU1lOQ19CVUlMVElOIChCVUlMVF9JTl9BVE9NSUNfRkVUQ0hfQURE XzgsCiAJCSAgIl9fYXRvbWljX2ZldGNoX2FkZF84IiwKLQkJICBCVF9GTl9J OF9WUFRSX0k4X0lOVCwgQVRUUl9OT1RIUk9XX0xFQUZfTElTVCkKKwkJICBC VF9GTl9JOF9WUFRSX0k4X0lOVCwgQVRUUl9OT1RIUk9XQ0FMTF9MRUFGX0xJ U1QpCiBERUZfU1lOQ19CVUlMVElOIChCVUlMVF9JTl9BVE9NSUNfRkVUQ0hf QUREXzE2LAogCQkgICJfX2F0b21pY19mZXRjaF9hZGRfMTYiLAotCQkgIEJU X0ZOX0kxNl9WUFRSX0kxNl9JTlQsIEFUVFJfTk9USFJPV19MRUFGX0xJU1Qp CisJCSAgQlRfRk5fSTE2X1ZQVFJfSTE2X0lOVCwgQVRUUl9OT1RIUk9XQ0FM TF9MRUFGX0xJU1QpCiAKIERFRl9TWU5DX0JVSUxUSU4gKEJVSUxUX0lOX0FU T01JQ19GRVRDSF9TVUJfTiwKIAkJICAiX19hdG9taWNfZmV0Y2hfc3ViIiwK LQkJICBCVF9GTl9WT0lEX1ZBUiwgQVRUUl9OT1RIUk9XX0xFQUZfTElTVCkK KwkJICBCVF9GTl9WT0lEX1ZBUiwgQVRUUl9OT1RIUk9XQ0FMTF9MRUFGX0xJ U1QpCiBERUZfU1lOQ19CVUlMVElOIChCVUlMVF9JTl9BVE9NSUNfRkVUQ0hf U1VCXzEsCiAJCSAgIl9fYXRvbWljX2ZldGNoX3N1Yl8xIiwKLQkJICBCVF9G Tl9JMV9WUFRSX0kxX0lOVCwgQVRUUl9OT1RIUk9XX0xFQUZfTElTVCkKKwkJ ICBCVF9GTl9JMV9WUFRSX0kxX0lOVCwgQVRUUl9OT1RIUk9XQ0FMTF9MRUFG X0xJU1QpCiBERUZfU1lOQ19CVUlMVElOIChCVUlMVF9JTl9BVE9NSUNfRkVU Q0hfU1VCXzIsCiAJCSAgIl9fYXRvbWljX2ZldGNoX3N1Yl8yIiwKLQkJICBC VF9GTl9JMl9WUFRSX0kyX0lOVCwgQVRUUl9OT1RIUk9XX0xFQUZfTElTVCkK KwkJICBCVF9GTl9JMl9WUFRSX0kyX0lOVCwgQVRUUl9OT1RIUk9XQ0FMTF9M RUFGX0xJU1QpCiBERUZfU1lOQ19CVUlMVElOIChCVUlMVF9JTl9BVE9NSUNf RkVUQ0hfU1VCXzQsCiAJCSAgIl9fYXRvbWljX2ZldGNoX3N1Yl80IiwKLQkJ ICBCVF9GTl9JNF9WUFRSX0k0X0lOVCwgQVRUUl9OT1RIUk9XX0xFQUZfTElT VCkKKwkJICBCVF9GTl9JNF9WUFRSX0k0X0lOVCwgQVRUUl9OT1RIUk9XQ0FM TF9MRUFGX0xJU1QpCiBERUZfU1lOQ19CVUlMVElOIChCVUlMVF9JTl9BVE9N SUNfRkVUQ0hfU1VCXzgsCiAJCSAgIl9fYXRvbWljX2ZldGNoX3N1Yl84IiwK LQkJICBCVF9GTl9JOF9WUFRSX0k4X0lOVCwgQVRUUl9OT1RIUk9XX0xFQUZf TElTVCkKKwkJICBCVF9GTl9JOF9WUFRSX0k4X0lOVCwgQVRUUl9OT1RIUk9X Q0FMTF9MRUFGX0xJU1QpCiBERUZfU1lOQ19CVUlMVElOIChCVUlMVF9JTl9B VE9NSUNfRkVUQ0hfU1VCXzE2LAogCQkgICJfX2F0b21pY19mZXRjaF9zdWJf MTYiLAotCQkgIEJUX0ZOX0kxNl9WUFRSX0kxNl9JTlQsIEFUVFJfTk9USFJP V19MRUFGX0xJU1QpCisJCSAgQlRfRk5fSTE2X1ZQVFJfSTE2X0lOVCwgQVRU Ul9OT1RIUk9XQ0FMTF9MRUFGX0xJU1QpCiAKIERFRl9TWU5DX0JVSUxUSU4g KEJVSUxUX0lOX0FUT01JQ19GRVRDSF9BTkRfTiwKIAkJICAiX19hdG9taWNf ZmV0Y2hfYW5kIiwKLQkJICBCVF9GTl9WT0lEX1ZBUiwgQVRUUl9OT1RIUk9X X0xFQUZfTElTVCkKKwkJICBCVF9GTl9WT0lEX1ZBUiwgQVRUUl9OT1RIUk9X Q0FMTF9MRUFGX0xJU1QpCiBERUZfU1lOQ19CVUlMVElOIChCVUlMVF9JTl9B VE9NSUNfRkVUQ0hfQU5EXzEsCiAJCSAgIl9fYXRvbWljX2ZldGNoX2FuZF8x IiwKLQkJICBCVF9GTl9JMV9WUFRSX0kxX0lOVCwgQVRUUl9OT1RIUk9XX0xF QUZfTElTVCkKKwkJICBCVF9GTl9JMV9WUFRSX0kxX0lOVCwgQVRUUl9OT1RI Uk9XQ0FMTF9MRUFGX0xJU1QpCiBERUZfU1lOQ19CVUlMVElOIChCVUlMVF9J Tl9BVE9NSUNfRkVUQ0hfQU5EXzIsCiAJCSAgIl9fYXRvbWljX2ZldGNoX2Fu ZF8yIiwKLQkJICBCVF9GTl9JMl9WUFRSX0kyX0lOVCwgQVRUUl9OT1RIUk9X X0xFQUZfTElTVCkKKwkJICBCVF9GTl9JMl9WUFRSX0kyX0lOVCwgQVRUUl9O T1RIUk9XQ0FMTF9MRUFGX0xJU1QpCiBERUZfU1lOQ19CVUlMVElOIChCVUlM VF9JTl9BVE9NSUNfRkVUQ0hfQU5EXzQsCiAJCSAgIl9fYXRvbWljX2ZldGNo X2FuZF80IiwKLQkJICBCVF9GTl9JNF9WUFRSX0k0X0lOVCwgQVRUUl9OT1RI Uk9XX0xFQUZfTElTVCkKKwkJICBCVF9GTl9JNF9WUFRSX0k0X0lOVCwgQVRU Ul9OT1RIUk9XQ0FMTF9MRUFGX0xJU1QpCiBERUZfU1lOQ19CVUlMVElOIChC VUlMVF9JTl9BVE9NSUNfRkVUQ0hfQU5EXzgsCiAJCSAgIl9fYXRvbWljX2Zl dGNoX2FuZF84IiwKLQkJICBCVF9GTl9JOF9WUFRSX0k4X0lOVCwgQVRUUl9O T1RIUk9XX0xFQUZfTElTVCkKKwkJICBCVF9GTl9JOF9WUFRSX0k4X0lOVCwg QVRUUl9OT1RIUk9XQ0FMTF9MRUFGX0xJU1QpCiBERUZfU1lOQ19CVUlMVElO IChCVUlMVF9JTl9BVE9NSUNfRkVUQ0hfQU5EXzE2LAogCQkgICJfX2F0b21p Y19mZXRjaF9hbmRfMTYiLAotCQkgIEJUX0ZOX0kxNl9WUFRSX0kxNl9JTlQs IEFUVFJfTk9USFJPV19MRUFGX0xJU1QpCisJCSAgQlRfRk5fSTE2X1ZQVFJf STE2X0lOVCwgQVRUUl9OT1RIUk9XQ0FMTF9MRUFGX0xJU1QpCiAKIERFRl9T WU5DX0JVSUxUSU4gKEJVSUxUX0lOX0FUT01JQ19GRVRDSF9OQU5EX04sCiAJ CSAgIl9fYXRvbWljX2ZldGNoX25hbmQiLAotCQkgIEJUX0ZOX1ZPSURfVkFS LCBBVFRSX05PVEhST1dfTEVBRl9MSVNUKQorCQkgIEJUX0ZOX1ZPSURfVkFS LCBBVFRSX05PVEhST1dDQUxMX0xFQUZfTElTVCkKIERFRl9TWU5DX0JVSUxU SU4gKEJVSUxUX0lOX0FUT01JQ19GRVRDSF9OQU5EXzEsCiAJCSAgIl9fYXRv bWljX2ZldGNoX25hbmRfMSIsCi0JCSAgQlRfRk5fSTFfVlBUUl9JMV9JTlQs IEFUVFJfTk9USFJPV19MRUFGX0xJU1QpCisJCSAgQlRfRk5fSTFfVlBUUl9J MV9JTlQsIEFUVFJfTk9USFJPV0NBTExfTEVBRl9MSVNUKQogREVGX1NZTkNf QlVJTFRJTiAoQlVJTFRfSU5fQVRPTUlDX0ZFVENIX05BTkRfMiwKIAkJICAi X19hdG9taWNfZmV0Y2hfbmFuZF8yIiwKLQkJICBCVF9GTl9JMl9WUFRSX0ky X0lOVCwgQVRUUl9OT1RIUk9XX0xFQUZfTElTVCkKKwkJICBCVF9GTl9JMl9W UFRSX0kyX0lOVCwgQVRUUl9OT1RIUk9XQ0FMTF9MRUFGX0xJU1QpCiBERUZf U1lOQ19CVUlMVElOIChCVUlMVF9JTl9BVE9NSUNfRkVUQ0hfTkFORF80LAog CQkgICJfX2F0b21pY19mZXRjaF9uYW5kXzQiLAotCQkgIEJUX0ZOX0k0X1ZQ VFJfSTRfSU5ULCBBVFRSX05PVEhST1dfTEVBRl9MSVNUKQorCQkgIEJUX0ZO X0k0X1ZQVFJfSTRfSU5ULCBBVFRSX05PVEhST1dDQUxMX0xFQUZfTElTVCkK IERFRl9TWU5DX0JVSUxUSU4gKEJVSUxUX0lOX0FUT01JQ19GRVRDSF9OQU5E XzgsCiAJCSAgIl9fYXRvbWljX2ZldGNoX25hbmRfOCIsCi0JCSAgQlRfRk5f SThfVlBUUl9JOF9JTlQsIEFUVFJfTk9USFJPV19MRUFGX0xJU1QpCisJCSAg QlRfRk5fSThfVlBUUl9JOF9JTlQsIEFUVFJfTk9USFJPV0NBTExfTEVBRl9M SVNUKQogREVGX1NZTkNfQlVJTFRJTiAoQlVJTFRfSU5fQVRPTUlDX0ZFVENI X05BTkRfMTYsCiAJCSAgIl9fYXRvbWljX2ZldGNoX25hbmRfMTYiLAotCQkg IEJUX0ZOX0kxNl9WUFRSX0kxNl9JTlQsIEFUVFJfTk9USFJPV19MRUFGX0xJ U1QpCisJCSAgQlRfRk5fSTE2X1ZQVFJfSTE2X0lOVCwgQVRUUl9OT1RIUk9X Q0FMTF9MRUFGX0xJU1QpCiAKIERFRl9TWU5DX0JVSUxUSU4gKEJVSUxUX0lO X0FUT01JQ19GRVRDSF9YT1JfTiwKIAkJICAiX19hdG9taWNfZmV0Y2hfeG9y IiwKLQkJICBCVF9GTl9WT0lEX1ZBUiwgQVRUUl9OT1RIUk9XX0xFQUZfTElT VCkKKwkJICBCVF9GTl9WT0lEX1ZBUiwgQVRUUl9OT1RIUk9XQ0FMTF9MRUFG X0xJU1QpCiBERUZfU1lOQ19CVUlMVElOIChCVUlMVF9JTl9BVE9NSUNfRkVU Q0hfWE9SXzEsCiAJCSAgIl9fYXRvbWljX2ZldGNoX3hvcl8xIiwKLQkJICBC VF9GTl9JMV9WUFRSX0kxX0lOVCwgQVRUUl9OT1RIUk9XX0xFQUZfTElTVCkK KwkJICBCVF9GTl9JMV9WUFRSX0kxX0lOVCwgQVRUUl9OT1RIUk9XQ0FMTF9M RUFGX0xJU1QpCiBERUZfU1lOQ19CVUlMVElOIChCVUlMVF9JTl9BVE9NSUNf RkVUQ0hfWE9SXzIsCiAJCSAgIl9fYXRvbWljX2ZldGNoX3hvcl8yIiwKLQkJ ICBCVF9GTl9JMl9WUFRSX0kyX0lOVCwgQVRUUl9OT1RIUk9XX0xFQUZfTElT VCkKKwkJICBCVF9GTl9JMl9WUFRSX0kyX0lOVCwgQVRUUl9OT1RIUk9XQ0FM TF9MRUFGX0xJU1QpCiBERUZfU1lOQ19CVUlMVElOIChCVUlMVF9JTl9BVE9N SUNfRkVUQ0hfWE9SXzQsCiAJCSAgIl9fYXRvbWljX2ZldGNoX3hvcl80IiwK LQkJICBCVF9GTl9JNF9WUFRSX0k0X0lOVCwgQVRUUl9OT1RIUk9XX0xFQUZf TElTVCkKKwkJICBCVF9GTl9JNF9WUFRSX0k0X0lOVCwgQVRUUl9OT1RIUk9X Q0FMTF9MRUFGX0xJU1QpCiBERUZfU1lOQ19CVUlMVElOIChCVUlMVF9JTl9B VE9NSUNfRkVUQ0hfWE9SXzgsCiAJCSAgIl9fYXRvbWljX2ZldGNoX3hvcl84 IiwKLQkJICBCVF9GTl9JOF9WUFRSX0k4X0lOVCwgQVRUUl9OT1RIUk9XX0xF QUZfTElTVCkKKwkJICBCVF9GTl9JOF9WUFRSX0k4X0lOVCwgQVRUUl9OT1RI Uk9XQ0FMTF9MRUFGX0xJU1QpCiBERUZfU1lOQ19CVUlMVElOIChCVUlMVF9J Tl9BVE9NSUNfRkVUQ0hfWE9SXzE2LAogCQkgICJfX2F0b21pY19mZXRjaF94 b3JfMTYiLAotCQkgIEJUX0ZOX0kxNl9WUFRSX0kxNl9JTlQsIEFUVFJfTk9U SFJPV19MRUFGX0xJU1QpCisJCSAgQlRfRk5fSTE2X1ZQVFJfSTE2X0lOVCwg QVRUUl9OT1RIUk9XQ0FMTF9MRUFGX0xJU1QpCiAKIAogREVGX1NZTkNfQlVJ TFRJTiAoQlVJTFRfSU5fQVRPTUlDX0ZFVENIX09SX04sCiAJCSAgIl9fYXRv bWljX2ZldGNoX29yIiwKLQkJICBCVF9GTl9WT0lEX1ZBUiwgQVRUUl9OT1RI Uk9XX0xFQUZfTElTVCkKKwkJICBCVF9GTl9WT0lEX1ZBUiwgQVRUUl9OT1RI Uk9XQ0FMTF9MRUFGX0xJU1QpCiBERUZfU1lOQ19CVUlMVElOIChCVUlMVF9J Tl9BVE9NSUNfRkVUQ0hfT1JfMSwKIAkJICAiX19hdG9taWNfZmV0Y2hfb3Jf MSIsCi0JCSAgQlRfRk5fSTFfVlBUUl9JMV9JTlQsIEFUVFJfTk9USFJPV19M RUFGX0xJU1QpCisJCSAgQlRfRk5fSTFfVlBUUl9JMV9JTlQsIEFUVFJfTk9U SFJPV0NBTExfTEVBRl9MSVNUKQogREVGX1NZTkNfQlVJTFRJTiAoQlVJTFRf SU5fQVRPTUlDX0ZFVENIX09SXzIsCiAJCSAgIl9fYXRvbWljX2ZldGNoX29y XzIiLAotCQkgIEJUX0ZOX0kyX1ZQVFJfSTJfSU5ULCBBVFRSX05PVEhST1df TEVBRl9MSVNUKQorCQkgIEJUX0ZOX0kyX1ZQVFJfSTJfSU5ULCBBVFRSX05P VEhST1dDQUxMX0xFQUZfTElTVCkKIERFRl9TWU5DX0JVSUxUSU4gKEJVSUxU X0lOX0FUT01JQ19GRVRDSF9PUl80LAogCQkgICJfX2F0b21pY19mZXRjaF9v cl80IiwKLQkJICBCVF9GTl9JNF9WUFRSX0k0X0lOVCwgQVRUUl9OT1RIUk9X X0xFQUZfTElTVCkKKwkJICBCVF9GTl9JNF9WUFRSX0k0X0lOVCwgQVRUUl9O T1RIUk9XQ0FMTF9MRUFGX0xJU1QpCiBERUZfU1lOQ19CVUlMVElOIChCVUlM VF9JTl9BVE9NSUNfRkVUQ0hfT1JfOCwKIAkJICAiX19hdG9taWNfZmV0Y2hf b3JfOCIsCi0JCSAgQlRfRk5fSThfVlBUUl9JOF9JTlQsIEFUVFJfTk9USFJP V19MRUFGX0xJU1QpCisJCSAgQlRfRk5fSThfVlBUUl9JOF9JTlQsIEFUVFJf Tk9USFJPV0NBTExfTEVBRl9MSVNUKQogREVGX1NZTkNfQlVJTFRJTiAoQlVJ TFRfSU5fQVRPTUlDX0ZFVENIX09SXzE2LAogCQkgICJfX2F0b21pY19mZXRj aF9vcl8xNiIsCi0JCSAgQlRfRk5fSTE2X1ZQVFJfSTE2X0lOVCwgQVRUUl9O T1RIUk9XX0xFQUZfTElTVCkKKwkJICBCVF9GTl9JMTZfVlBUUl9JMTZfSU5U LCBBVFRSX05PVEhST1dDQUxMX0xFQUZfTElTVCkKIAogREVGX1NZTkNfQlVJ TFRJTiAoQlVJTFRfSU5fQVRPTUlDX0FMV0FZU19MT0NLX0ZSRUUsCiAJCSAg Il9fYXRvbWljX2Fsd2F5c19sb2NrX2ZyZWUiLApJbmRleDogbHRvLW9wdHMu Ywo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBsdG8tb3B0cy5jCShyZXZp c2lvbiAyMDQzNDMpCisrKyBsdG8tb3B0cy5jCSh3b3JraW5nIGNvcHkpCkBA IC03Nyw3ICs3Nyw3IEBAIGx0b193cml0ZV9vcHRpb25zICh2b2lkKQogCiAg IG9ic3RhY2tfaW5pdCAoJnRlbXBvcmFyeV9vYnN0YWNrKTsKIAotICAvKiBP dXRwdXQgb3B0aW9ucyB0aGF0IGFmZmVjdCBHSU1QTEUgSUwgc2VtYW50aWNz IGFuZCBhcmUgaW1wbGljaXRlbHkKKyAgLyogT3V0cHV0IG9wdGlvbnMgdGhh dCBhZmZlY3QgR0lNUExFIElMIHNlbWFudGljcyBhbmQgYXJlIGltcGxpY2l0 bHkKICAgICAgZW5hYmxlZCBieSB0aGUgZnJvbnRlbmQuCiAgICAgIFRoaXMg Zm9yIG5vdyBpbmNsdWRlcyBhbiBleHBsaWNpdCBzZXQgb2Ygb3B0aW9ucyB0 aGF0IHdlIGFsc28gaGFuZGxlCiAgICAgIGV4cGxpY2l0bHkgaW4gbHRvLXdy YXBwZXIuYy4gIEluIHRoZSBlbmQgdGhlIGVmZmVjdHMgb24gR0lNUExFIElM CkBAIC04OCw4ICs4OCwxMyBAQCBsdG9fd3JpdGVfb3B0aW9ucyAodm9pZCkK ICAgaWYgKGdsb2JhbF9vcHRpb25zLnhfZmxhZ19leGNlcHRpb25zKQogICAg IGFwcGVuZF90b19jb2xsZWN0X2djY19vcHRpb25zICgmdGVtcG9yYXJ5X29i c3RhY2ssICZmaXJzdF9wLAogCQkJCSAgICItZmV4Y2VwdGlvbnMiKTsKKyAg LyogLWZub24tY2FsbC1leGNlcHRpb25zIGNoYW5nZXMgdGhlIGdlbmVyYXRp b24gb2YgZXhjZXB0aW9uCisgICAgICByZWdpb25zLiAgSXQgaXMgZW5hYmxl ZCBpbXBsaWNpdGx5IGJ5IHRoZSBHbyBmcm9udGVuZC4gICovCisgIGlmIChn bG9iYWxfb3B0aW9ucy54X2ZsYWdfbm9uX2NhbGxfZXhjZXB0aW9ucykKKyAg ICBhcHBlbmRfdG9fY29sbGVjdF9nY2Nfb3B0aW9ucyAoJnRlbXBvcmFyeV9v YnN0YWNrLCAmZmlyc3RfcCwKKwkJCQkgICAiLWZub24tY2FsbC1leGNlcHRp b25zIik7CiAKLSAgLyogT3V0cHV0IGV4cGxpY2l0ZWx5IHBhc3NlZCBvcHRp b25zLiAgKi8KKyAgLyogT3V0cHV0IGV4cGxpY2l0bHkgcGFzc2VkIG9wdGlv bnMuICAqLwogICBmb3IgKGkgPSAxOyBpIDwgc2F2ZV9kZWNvZGVkX29wdGlv bnNfY291bnQ7ICsraSkKICAgICB7CiAgICAgICBzdHJ1Y3QgY2xfZGVjb2Rl ZF9vcHRpb24gKm9wdGlvbiA9ICZzYXZlX2RlY29kZWRfb3B0aW9uc1tpXTsK --001a11c1f6d6e09a7e04ea5c93c9--