NetBSD Problem Report #46003

From www@NetBSD.org  Sun Feb 12 11:52:16 2012
Return-Path: <www@NetBSD.org>
Received: from mail.netbsd.org (mail.netbsd.org [149.20.53.66])
	by www.NetBSD.org (Postfix) with ESMTP id EB1C663E02D
	for <gnats-bugs@gnats.NetBSD.org>; Sun, 12 Feb 2012 11:52:15 +0000 (UTC)
Message-Id: <20120212115215.0915163E028@www.NetBSD.org>
Date: Sun, 12 Feb 2012 11:52:15 +0000 (UTC)
From: slitvinov@gmail.com
Reply-To: slitvinov@gmail.com
To: gnats-bugs@NetBSD.org
Subject: bootstrap failed on Linux with gcc 4.6.1  because of libutil.h location
X-Send-Pr-Version: www-1.0

>Number:         46003
>Category:       pkg
>Synopsis:       bootstrap failed on Linux with gcc 4.6.1  because of libutil.h location
>Confidential:   no
>Severity:       non-critical
>Priority:       medium
>Responsible:    pkg-manager
>State:          closed
>Class:          sw-bug
>Submitter-Id:   net
>Arrival-Date:   Sun Feb 12 11:55:00 +0000 2012
>Closed-Date:    Thu Sep 05 09:56:00 +0000 2019
>Last-Modified:  Thu Sep 05 09:56:00 +0000 2019
>Originator:     Litvinov Sergey
>Release:        Linux Ubuntu
>Organization:
>Environment:
Linux desktop 3.0.0-15-generic #26-Ubuntu SMP Fri Jan 20 15:59:53 UTC 2012 i686 athlon i386 GNU/Linux
>Description:
Bootstrap fails with the following error

gcc -O2 -Wno-error -I/usr/include -Wno-error  -Wall -Wstrict-prototypes -Wmissing-prototypes -Wpointer-arith -Wno-uninitialized -Wreturn-type -Wcast-qual -Wpointer-arith -Wwrite-strings -Wswitch -Wshadow -Werror  -D_LARGEFILE_SOURCE -D_LARGE_FILES -D_FILE_OFFSET_BITS=64 -DDEF_UMASK=022 -I/media/sdb2/src/pkgsrc/bootstrap/work/wrk/pkgtools/pkg_install/work/libfetch -DHAVE_NBCOMPAT_H=1 -I/media/sdb2/src/pkgsrc/bootstrap/work/wrk/pkgtools/pkg_install/work/libnbcompat -I/usr/include -I. -D_LARGEFILE_SOURCE -D_LARGE_FILES -DFTP_COMBINE_CWDS -c common.c
In file included from /media/sdb2/src/pkgsrc/bootstrap/work/wrk/pkgtools/pkg_install/work/libnbcompat/nbcompat/util.h:39:0,
                 from /media/sdb2/src/pkgsrc/bootstrap/work/wrk/pkgtools/pkg_install/work/libnbcompat/nbcompat.h:67,
                 from common.c:37:
/usr/include/libutil.h:33:2: error: #warning "Deprecated header, use <bsd/libutil.h> or libbsd-overlay.pc instead." [-Werror=cpp]
cc1: all warnings being treated as errors

*** Error code 1

Stop.
bmake: stopped in /media/sdb2/src/pkgsrc/bootstrap/work/wrk/pkgtools/pkg_install/work/libfetch
*** Error code 1

Stop.
bmake: stopped in /media/sdb2/src/pkgsrc/pkgtools/pkg_install
*** Error code 1

Stop.
bmake: stopped in /media/sdb2/src/pkgsrc/pkgtools/pkg_install
===> exited with status 1
aborted.

>How-To-Repeat:
On Ubuntu Linux with gcc 4.6.1
SH=/bin/bash ./bootstrap --ignore-user-check --prefix=$HOME/netbsd
>Fix:
I changed here to bypass on my system.

RCS file: /cvsroot/pkgsrc/pkgtools/libnbcompat/files/nbcompat/util.h,v
retrieving revision 1.2
diff -u -r1.2 util.h
--- util.h      29 Apr 2008 05:46:08 -0000      1.2
+++ util.h      12 Feb 2012 11:49:28 -0000
@@ -36,7 +36,7 @@
 # include <util.h>
 #endif
 #if HAVE_LIBUTIL_H
-# include <libutil.h>
+# include <bsd/libutil.h>
 #endif

 /*

>Release-Note:

>Audit-Trail:
From: Joerg Sonnenberger <joerg@britannica.bec.de>
To: gnats-bugs@NetBSD.org
Cc: 
Subject: Re: pkg/46003: bootstrap failed on Linux with gcc 4.6.1  because of
 libutil.h location
Date: Sun, 12 Feb 2012 13:34:13 +0100

 On Sun, Feb 12, 2012 at 11:55:00AM +0000, slitvinov@gmail.com wrote:
 > /usr/include/libutil.h:33:2: error: #warning "Deprecated header, use <bsd/libutil.h> or libbsd-overlay.pc instead." [-Werror=cpp]

 *sigh* Can you please start by filling a PR for glibc.

 What is the content of libbsd-overlay.pc? Can I also have the config.log
 please.

 > >Fix:
 > I changed here to bypass on my system.

 That's compltely unacceptable as patch.

 Joerg

From: Sergey Litvinov <slitvinov@gmail.com>
To: gnats-bugs@netbsd.org
Cc: pkg-manager@netbsd.org, gnats-admin@netbsd.org, pkgsrc-bugs@netbsd.org
Subject: Re: pkg/46003: bootstrap failed on Linux with gcc 4.6.1 because of
 libutil.h location
Date: Sun, 12 Feb 2012 14:02:54 +0100

 --f46d042f9210ee39ce04b8c3fa99
 Content-Type: text/plain; charset=ISO-8859-1
 Content-Transfer-Encoding: quoted-printable

 > =A0What is the content of libbsd-overlay.pc?

 It is in
 /usr/lib/pkgconfig/libbsd-overlay.pc
 Attached.

 > Can I also have the config.log

 I have several
 bootstrap/work/libnbcompat/config.log
 bootstrap/work/bmake/Linux/config.log
 bootstrap/work/wrk/devel/bmake/work/libnbcompat/config.log
 bootstrap/work/wrk/devel/bmake/work/Linux/config.log
 bootstrap/work/wrk/pkgtools/pkg_install/work/libnbcompat/config.log
 bootstrap/work/pkg_install/config.log

 I am attaching the first one.

 --f46d042f9210ee39ce04b8c3fa99
 Content-Type: application/octet-stream; name="libbsd-overlay.pc"
 Content-Disposition: attachment; filename="libbsd-overlay.pc"
 Content-Transfer-Encoding: base64
 X-Attachment-Id: f_gyk30e730

 cHJlZml4PS91c3IKZXhlY19wcmVmaXg9CmxpYmRpcj0ke3ByZWZpeH0vbGliCmluY2x1ZGVkaXI9
 JHtwcmVmaXh9L2luY2x1ZGUKCk5hbWU6IGxpYmJzZApEZXNjcmlwdGlvbjogVXRpbGl0eSBmdW5j
 dGlvbnMgZnJvbSBCU0Qgc3lzdGVtcyAob3ZlcmxheSkKVmVyc2lvbjogMC4zLjAKVVJMOiBodHRw
 Oi8vbGliYnNkLmZyZWVkZXNrdG9wLm9yZy8KTGliczogLUwke2xpYmRpcn0gLWxic2QKQ2ZsYWdz
 OiAtaXN5c3RlbSAke2luY2x1ZGVkaXJ9L2JzZCAtRExJQkJTRF9PVkVSTEFZCg==
 --f46d042f9210ee39ce04b8c3fa99
 Content-Type: text/x-log; charset=US-ASCII; name="config.log"
 Content-Disposition: attachment; filename="config.log"
 Content-Transfer-Encoding: base64
 X-Attachment-Id: f_gyk316yr1

 VGhpcyBmaWxlIGNvbnRhaW5zIGFueSBtZXNzYWdlcyBwcm9kdWNlZCBieSBjb21waWxlcnMgd2hp
 bGUKcnVubmluZyBjb25maWd1cmUsIHRvIGFpZCBkZWJ1Z2dpbmcgaWYgY29uZmlndXJlIG1ha2Vz
 IGEgbWlzdGFrZS4KCkl0IHdhcyBjcmVhdGVkIGJ5IGxpYm5iY29tcGF0IGNvbmZpZ3VyZSAyMDA4
 MDYwNSwgd2hpY2ggd2FzCmdlbmVyYXRlZCBieSBHTlUgQXV0b2NvbmYgMi42OC4gIEludm9jYXRp
 b24gY29tbWFuZCBsaW5lIHdhcwoKICAkIC4vY29uZmlndXJlIC1DIC0tcHJlZml4PS9ob21lL3Zp
 dGFsMzAzL25ldGJzZCAtLW1hbmRpcj0vaG9tZS92aXRhbDMwMy9uZXRic2QvbWFuIC0tc3lzY29u
 ZmRpcj0vaG9tZS92aXRhbDMwMy9uZXRic2QvZXRjIC0tZW5hYmxlLWJzZC1nZXRvcHQgLS1lbmFi
 bGUtZGIKCiMjIC0tLS0tLS0tLSAjIwojIyBQbGF0Zm9ybS4gIyMKIyMgLS0tLS0tLS0tICMjCgpo
 b3N0bmFtZSA9IHZpdGFsMzAzLWRlc2t0b3AKdW5hbWUgLW0gPSBpNjg2CnVuYW1lIC1yID0gMy4w
 LjAtMTUtZ2VuZXJpYwp1bmFtZSAtcyA9IExpbnV4CnVuYW1lIC12ID0gIzI2LVVidW50dSBTTVAg
 RnJpIEphbiAyMCAxNTo1OTo1MyBVVEMgMjAxMgoKL3Vzci9iaW4vdW5hbWUgLXAgPSB1bmtub3du
 Ci9iaW4vdW5hbWUgLVggICAgID0gdW5rbm93bgoKL2Jpbi9hcmNoICAgICAgICAgICAgICA9IHVu
 a25vd24KL3Vzci9iaW4vYXJjaCAtayAgICAgICA9IHVua25vd24KL3Vzci9jb252ZXgvZ2V0c3lz
 aW5mbyA9IHVua25vd24KL3Vzci9iaW4vaG9zdGluZm8gICAgICA9IHVua25vd24KL2Jpbi9tYWNo
 aW5lICAgICAgICAgICA9IHVua25vd24KL3Vzci9iaW4vb3NsZXZlbCAgICAgICA9IHVua25vd24K
 L2Jpbi91bml2ZXJzZSAgICAgICAgICA9IHVua25vd24KClBBVEg6IC9ob21lL3ZpdGFsMzAzL25l
 dGJzZC9iaW4KUEFUSDogL2hvbWUvdml0YWwzMDMvbmV0YnNkL3NiaW4KUEFUSDogLgpQQVRIOiAv
 aG9tZS92aXRhbDMwMy9uZXRic2QvYmluLwpQQVRIOiAvaG9tZS92aXRhbDMwMy9uZXRic2Qvc2Jp
 bi8KUEFUSDogL2hvbWUvdml0YWwzMDMvc3JjL2FuZHJvaWQtc2RrLWxpbnV4L3Rvb2xzLwpQQVRI
 OiAvaG9tZS92aXRhbDMwMy9uZXRic2QvYmluLwpQQVRIOiAvaG9tZS92aXRhbDMwMy9zcmMvYW5k
 cm9pZC1zZGstbGludXgvdG9vbHMvClBBVEg6IC9ob21lL3ZpdGFsMzAzL2JpbgpQQVRIOiAvdXNy
 L2xpYi9saWdodGRtL2xpZ2h0ZG0KUEFUSDogL3Vzci9sb2NhbC9zYmluClBBVEg6IC91c3IvbG9j
 YWwvYmluClBBVEg6IC91c3Ivc2JpbgpQQVRIOiAvdXNyL2JpbgpQQVRIOiAvc2JpbgpQQVRIOiAv
 YmluClBBVEg6IC91c3IvZ2FtZXMKUEFUSDogL2hvbWUvdml0YWwzMDMvLmNhYmFsL2JpbgpQQVRI
 OiAvaG9tZS92aXRhbDMwMy8uY2FiYWwvYmluClBBVEg6IC9zYmluClBBVEg6IC91c3Ivc2JpbgoK
 CiMjIC0tLS0tLS0tLS0tICMjCiMjIENvcmUgdGVzdHMuICMjCiMjIC0tLS0tLS0tLS0tICMjCgpj
 b25maWd1cmU6MjQ5NTogY3JlYXRpbmcgY2FjaGUgY29uZmlnLmNhY2hlCmNvbmZpZ3VyZToyNjE0
 OiBjaGVja2luZyBidWlsZCBzeXN0ZW0gdHlwZQpjb25maWd1cmU6MjYyODogcmVzdWx0OiBpNjg2
 LXBjLWxpbnV4LWdudQpjb25maWd1cmU6MjY0ODogY2hlY2tpbmcgaG9zdCBzeXN0ZW0gdHlwZQpj
 b25maWd1cmU6MjY2MTogcmVzdWx0OiBpNjg2LXBjLWxpbnV4LWdudQpjb25maWd1cmU6MjY4Njog
 Y2hlY2tpbmcgd2hldGhlciBtYWtlIHNldHMgJChNQUtFKQpjb25maWd1cmU6MjcwODogcmVzdWx0
 OiB5ZXMKY29uZmlndXJlOjI3NjU6IGNoZWNraW5nIGZvciBnY2MKY29uZmlndXJlOjI3ODE6IGZv
 dW5kIC91c3IvYmluL2djYwpjb25maWd1cmU6Mjc5MjogcmVzdWx0OiBnY2MKY29uZmlndXJlOjMw
 MjE6IGNoZWNraW5nIGZvciBDIGNvbXBpbGVyIHZlcnNpb24KY29uZmlndXJlOjMwMzA6IGdjYyAt
 LXZlcnNpb24gPiY1CmdjYyAoVWJ1bnR1L0xpbmFybyA0LjYuMS05dWJ1bnR1MykgNC42LjEKQ29w
 eXJpZ2h0IChDKSAyMDExIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLgpUaGlzIGlzIGZy
 ZWUgc29mdHdhcmU7IHNlZSB0aGUgc291cmNlIGZvciBjb3B5aW5nIGNvbmRpdGlvbnMuICBUaGVy
 ZSBpcyBOTwp3YXJyYW50eTsgbm90IGV2ZW4gZm9yIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNT
 IEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4KCmNvbmZpZ3VyZTozMDQxOiAkPyA9IDAKY29uZmln
 dXJlOjMwMzA6IGdjYyAtdiA+JjUKVXNpbmcgYnVpbHQtaW4gc3BlY3MuCkNPTExFQ1RfR0NDPWdj
 YwpDT0xMRUNUX0xUT19XUkFQUEVSPS91c3IvbGliL2djYy9pNjg2LWxpbnV4LWdudS80LjYuMS9s
 dG8td3JhcHBlcgpUYXJnZXQ6IGk2ODYtbGludXgtZ251CkNvbmZpZ3VyZWQgd2l0aDogLi4vc3Jj
 L2NvbmZpZ3VyZSAtdiAtLXdpdGgtcGtndmVyc2lvbj0nVWJ1bnR1L0xpbmFybyA0LjYuMS05dWJ1
 bnR1MycgLS13aXRoLWJ1Z3VybD1maWxlOi8vL3Vzci9zaGFyZS9kb2MvZ2NjLTQuNi9SRUFETUUu
 QnVncyAtLWVuYWJsZS1sYW5ndWFnZXM9YyxjKyssZm9ydHJhbixvYmpjLG9iai1jKyssZ28gLS1w
 cmVmaXg9L3VzciAtLXByb2dyYW0tc3VmZml4PS00LjYgLS1lbmFibGUtc2hhcmVkIC0tZW5hYmxl
 LWxpbmtlci1idWlsZC1pZCAtLXdpdGgtc3lzdGVtLXpsaWIgLS1saWJleGVjZGlyPS91c3IvbGli
 IC0td2l0aG91dC1pbmNsdWRlZC1nZXR0ZXh0IC0tZW5hYmxlLXRocmVhZHM9cG9zaXggLS13aXRo
 LWd4eC1pbmNsdWRlLWRpcj0vdXNyL2luY2x1ZGUvYysrLzQuNiAtLWxpYmRpcj0vdXNyL2xpYiAt
 LWVuYWJsZS1ubHMgLS13aXRoLXN5c3Jvb3Q9LyAtLWVuYWJsZS1jbG9jYWxlPWdudSAtLWVuYWJs
 ZS1saWJzdGRjeHgtZGVidWcgLS1lbmFibGUtbGlic3RkY3h4LXRpbWU9eWVzIC0tZW5hYmxlLXBs
 dWdpbiAtLWVuYWJsZS1vYmpjLWdjIC0tZW5hYmxlLXRhcmdldHM9YWxsIC0tZGlzYWJsZS13ZXJy
 b3IgLS13aXRoLWFyY2gtMzI9aTY4NiAtLXdpdGgtdHVuZT1nZW5lcmljIC0tZW5hYmxlLWNoZWNr
 aW5nPXJlbGVhc2UgLS1idWlsZD1pNjg2LWxpbnV4LWdudSAtLWhvc3Q9aTY4Ni1saW51eC1nbnUg
 LS10YXJnZXQ9aTY4Ni1saW51eC1nbnUKVGhyZWFkIG1vZGVsOiBwb3NpeApnY2MgdmVyc2lvbiA0
 LjYuMSAoVWJ1bnR1L0xpbmFybyA0LjYuMS05dWJ1bnR1MykgCmNvbmZpZ3VyZTozMDQxOiAkPyA9
 IDAKY29uZmlndXJlOjMwMzA6IGdjYyAtViA+JjUKZ2NjOiBlcnJvcjogdW5yZWNvZ25pemVkIG9w
 dGlvbiAnLVYnCmdjYzogZmF0YWwgZXJyb3I6IG5vIGlucHV0IGZpbGVzCmNvbXBpbGF0aW9uIHRl
 cm1pbmF0ZWQuCmNvbmZpZ3VyZTozMDQxOiAkPyA9IDQKY29uZmlndXJlOjMwMzA6IGdjYyAtcXZl
 cnNpb24gPiY1CmdjYzogZXJyb3I6IHVucmVjb2duaXplZCBvcHRpb24gJy1xdmVyc2lvbicKZ2Nj
 OiBmYXRhbCBlcnJvcjogbm8gaW5wdXQgZmlsZXMKY29tcGlsYXRpb24gdGVybWluYXRlZC4KY29u
 ZmlndXJlOjMwNDE6ICQ/ID0gNApjb25maWd1cmU6MzA2MTogY2hlY2tpbmcgd2hldGhlciB0aGUg
 QyBjb21waWxlciB3b3Jrcwpjb25maWd1cmU6MzA4MzogZ2NjICAgIGNvbmZ0ZXN0LmMgID4mNQpj
 b25maWd1cmU6MzA4NzogJD8gPSAwCmNvbmZpZ3VyZTozMTM1OiByZXN1bHQ6IHllcwpjb25maWd1
 cmU6MzEzODogY2hlY2tpbmcgZm9yIEMgY29tcGlsZXIgZGVmYXVsdCBvdXRwdXQgZmlsZSBuYW1l
 CmNvbmZpZ3VyZTozMTQwOiByZXN1bHQ6IGEub3V0CmNvbmZpZ3VyZTozMTQ2OiBjaGVja2luZyBm
 b3Igc3VmZml4IG9mIGV4ZWN1dGFibGVzCmNvbmZpZ3VyZTozMTUzOiBnY2MgLW8gY29uZnRlc3Qg
 ICAgY29uZnRlc3QuYyAgPiY1CmNvbmZpZ3VyZTozMTU3OiAkPyA9IDAKY29uZmlndXJlOjMxNzk6
 IHJlc3VsdDogCmNvbmZpZ3VyZTozMjAxOiBjaGVja2luZyB3aGV0aGVyIHdlIGFyZSBjcm9zcyBj
 b21waWxpbmcKY29uZmlndXJlOjMyMDk6IGdjYyAtbyBjb25mdGVzdCAgICBjb25mdGVzdC5jICA+
 JjUKY29uZmlndXJlOjMyMTM6ICQ/ID0gMApjb25maWd1cmU6MzIyMDogLi9jb25mdGVzdApjb25m
 aWd1cmU6MzIyNDogJD8gPSAwCmNvbmZpZ3VyZTozMjM5OiByZXN1bHQ6IG5vCmNvbmZpZ3VyZToz
 MjQ0OiBjaGVja2luZyBmb3Igc3VmZml4IG9mIG9iamVjdCBmaWxlcwpjb25maWd1cmU6MzI2Njog
 Z2NjIC1jICAgY29uZnRlc3QuYyA+JjUKY29uZmlndXJlOjMyNzA6ICQ/ID0gMApjb25maWd1cmU6
 MzI5MTogcmVzdWx0OiBvCmNvbmZpZ3VyZTozMjk1OiBjaGVja2luZyB3aGV0aGVyIHdlIGFyZSB1
 c2luZyB0aGUgR05VIEMgY29tcGlsZXIKY29uZmlndXJlOjMzMTQ6IGdjYyAtYyAgIGNvbmZ0ZXN0
 LmMgPiY1CmNvbmZpZ3VyZTozMzE0OiAkPyA9IDAKY29uZmlndXJlOjMzMjM6IHJlc3VsdDogeWVz
 CmNvbmZpZ3VyZTozMzMyOiBjaGVja2luZyB3aGV0aGVyIGdjYyBhY2NlcHRzIC1nCmNvbmZpZ3Vy
 ZTozMzUyOiBnY2MgLWMgLWcgIGNvbmZ0ZXN0LmMgPiY1CmNvbmZpZ3VyZTozMzUyOiAkPyA9IDAK
 Y29uZmlndXJlOjMzOTM6IHJlc3VsdDogeWVzCmNvbmZpZ3VyZTozNDEwOiBjaGVja2luZyBmb3Ig
 Z2NjIG9wdGlvbiB0byBhY2NlcHQgSVNPIEM4OQpjb25maWd1cmU6MzQ3NDogZ2NjICAtYyAtZyAt
 TzIgIGNvbmZ0ZXN0LmMgPiY1CmNvbmZpZ3VyZTozNDc0OiAkPyA9IDAKY29uZmlndXJlOjM0ODc6
 IHJlc3VsdDogbm9uZSBuZWVkZWQKY29uZmlndXJlOjM1MjE6IGNoZWNraW5nIGZvciBhIEJTRC1j
 b21wYXRpYmxlIGluc3RhbGwKY29uZmlndXJlOjM1ODk6IHJlc3VsdDogL3Vzci9iaW4vaW5zdGFs
 bCAtYwpjb25maWd1cmU6MzYwMDogY2hlY2tpbmcgd2hldGhlciBsbiAtcyB3b3Jrcwpjb25maWd1
 cmU6MzYwNDogcmVzdWx0OiB5ZXMKY29uZmlndXJlOjM2NTQ6IGNoZWNraW5nIGZvciByYW5saWIK
 Y29uZmlndXJlOjM2NzA6IGZvdW5kIC91c3IvYmluL3JhbmxpYgpjb25maWd1cmU6MzY4MTogcmVz
 dWx0OiByYW5saWIKY29uZmlndXJlOjM3MDc6IGNoZWNraW5nIGZvciBnYXdrCmNvbmZpZ3VyZToz
 NzIzOiBmb3VuZCAvdXNyL2Jpbi9nYXdrCmNvbmZpZ3VyZTozNzM0OiByZXN1bHQ6IGdhd2sKY29u
 ZmlndXJlOjM3NDc6IGNoZWNraW5nIGZvciBhcgpjb25maWd1cmU6Mzc2MzogZm91bmQgL3Vzci9i
 aW4vYXIKY29uZmlndXJlOjM3NzQ6IHJlc3VsdDogYXIKY29uZmlndXJlOjM3ODk6IGNoZWNraW5n
 IGZvciBmcGFyc2VsbiBpbiAtbHV0aWwKY29uZmlndXJlOjM4MTQ6IGdjYyAtbyBjb25mdGVzdCAt
 ZyAtTzIgICBjb25mdGVzdC5jIC1sdXRpbCAgID4mNQovdG1wL2NjQWZBRTFwLm86IEluIGZ1bmN0
 aW9uIGBtYWluJzoKL21lZGlhL3NkYjIvc3JjL3BrZ3NyYy9ib290c3RyYXAvd29yay9saWJuYmNv
 bXBhdC9jb25mdGVzdC5jOjIwOiB1bmRlZmluZWQgcmVmZXJlbmNlIHRvIGBmcGFyc2VsbicKY29s
 bGVjdDI6IGxkIHJldHVybmVkIDEgZXhpdCBzdGF0dXMKY29uZmlndXJlOjM4MTQ6ICQ/ID0gMQpj
 b25maWd1cmU6IGZhaWxlZCBwcm9ncmFtIHdhczoKfCAvKiBjb25mZGVmcy5oICovCnwgI2RlZmlu
 ZSBQQUNLQUdFX05BTUUgImxpYm5iY29tcGF0Igp8ICNkZWZpbmUgUEFDS0FHRV9UQVJOQU1FICJs
 aWJuYmNvbXBhdCIKfCAjZGVmaW5lIFBBQ0tBR0VfVkVSU0lPTiAiMjAwODA2MDUiCnwgI2RlZmlu
 ZSBQQUNLQUdFX1NUUklORyAibGlibmJjb21wYXQgMjAwODA2MDUiCnwgI2RlZmluZSBQQUNLQUdF
 X0JVR1JFUE9SVCAiZ3JhbnRATmV0QlNELm9yZyIKfCAjZGVmaW5lIFBBQ0tBR0VfVVJMICIiCnwg
 LyogZW5kIGNvbmZkZWZzLmguICAqLwp8IAp8IC8qIE92ZXJyaWRlIGFueSBHQ0MgaW50ZXJuYWwg
 cHJvdG90eXBlIHRvIGF2b2lkIGFuIGVycm9yLgp8ICAgIFVzZSBjaGFyIGJlY2F1c2UgaW50IG1p
 Z2h0IG1hdGNoIHRoZSByZXR1cm4gdHlwZSBvZiBhIEdDQwp8ICAgIGJ1aWx0aW4gYW5kIHRoZW4g
 aXRzIGFyZ3VtZW50IHByb3RvdHlwZSB3b3VsZCBzdGlsbCBhcHBseS4gICovCnwgI2lmZGVmIF9f
 Y3BsdXNwbHVzCnwgZXh0ZXJuICJDIgp8ICNlbmRpZgp8IGNoYXIgZnBhcnNlbG4gKCk7CnwgaW50
 CnwgbWFpbiAoKQp8IHsKfCByZXR1cm4gZnBhcnNlbG4gKCk7CnwgICA7CnwgICByZXR1cm4gMDsK
 fCB9CmNvbmZpZ3VyZTozODIzOiByZXN1bHQ6IG5vCmNvbmZpZ3VyZTozODQwOiBjaGVja2luZyBo
 b3cgdG8gcnVuIHRoZSBDIHByZXByb2Nlc3Nvcgpjb25maWd1cmU6Mzg3MTogZ2NjIC1FICBjb25m
 dGVzdC5jCmNvbmZpZ3VyZTozODcxOiAkPyA9IDAKY29uZmlndXJlOjM4ODU6IGdjYyAtRSAgY29u
 ZnRlc3QuYwpjb25mdGVzdC5jOjk6Mjg6IGZhdGFsIGVycm9yOiBhY19ub25leGlzdGVudC5oOiBO
 byBzdWNoIGZpbGUgb3IgZGlyZWN0b3J5CmNvbXBpbGF0aW9uIHRlcm1pbmF0ZWQuCmNvbmZpZ3Vy
 ZTozODg1OiAkPyA9IDEKY29uZmlndXJlOiBmYWlsZWQgcHJvZ3JhbSB3YXM6CnwgLyogY29uZmRl
 ZnMuaCAqLwp8ICNkZWZpbmUgUEFDS0FHRV9OQU1FICJsaWJuYmNvbXBhdCIKfCAjZGVmaW5lIFBB
 Q0tBR0VfVEFSTkFNRSAibGlibmJjb21wYXQiCnwgI2RlZmluZSBQQUNLQUdFX1ZFUlNJT04gIjIw
 MDgwNjA1Igp8ICNkZWZpbmUgUEFDS0FHRV9TVFJJTkcgImxpYm5iY29tcGF0IDIwMDgwNjA1Igp8
 ICNkZWZpbmUgUEFDS0FHRV9CVUdSRVBPUlQgImdyYW50QE5ldEJTRC5vcmciCnwgI2RlZmluZSBQ
 QUNLQUdFX1VSTCAiIgp8IC8qIGVuZCBjb25mZGVmcy5oLiAgKi8KfCAjaW5jbHVkZSA8YWNfbm9u
 ZXhpc3RlbnQuaD4KY29uZmlndXJlOjM5MTA6IHJlc3VsdDogZ2NjIC1FCmNvbmZpZ3VyZTozOTMw
 OiBnY2MgLUUgIGNvbmZ0ZXN0LmMKY29uZmlndXJlOjM5MzA6ICQ/ID0gMApjb25maWd1cmU6Mzk0
 NDogZ2NjIC1FICBjb25mdGVzdC5jCmNvbmZ0ZXN0LmM6OToyODogZmF0YWwgZXJyb3I6IGFjX25v
 bmV4aXN0ZW50Lmg6IE5vIHN1Y2ggZmlsZSBvciBkaXJlY3RvcnkKY29tcGlsYXRpb24gdGVybWlu
 YXRlZC4KY29uZmlndXJlOjM5NDQ6ICQ/ID0gMQpjb25maWd1cmU6IGZhaWxlZCBwcm9ncmFtIHdh
 czoKfCAvKiBjb25mZGVmcy5oICovCnwgI2RlZmluZSBQQUNLQUdFX05BTUUgImxpYm5iY29tcGF0
 Igp8ICNkZWZpbmUgUEFDS0FHRV9UQVJOQU1FICJsaWJuYmNvbXBhdCIKfCAjZGVmaW5lIFBBQ0tB
 R0VfVkVSU0lPTiAiMjAwODA2MDUiCnwgI2RlZmluZSBQQUNLQUdFX1NUUklORyAibGlibmJjb21w
 YXQgMjAwODA2MDUiCnwgI2RlZmluZSBQQUNLQUdFX0JVR1JFUE9SVCAiZ3JhbnRATmV0QlNELm9y
 ZyIKfCAjZGVmaW5lIFBBQ0tBR0VfVVJMICIiCnwgLyogZW5kIGNvbmZkZWZzLmguICAqLwp8ICNp
 bmNsdWRlIDxhY19ub25leGlzdGVudC5oPgpjb25maWd1cmU6Mzk3MzogY2hlY2tpbmcgZm9yIGdy
 ZXAgdGhhdCBoYW5kbGVzIGxvbmcgbGluZXMgYW5kIC1lCmNvbmZpZ3VyZTo0MDMxOiByZXN1bHQ6
 IC9iaW4vZ3JlcApjb25maWd1cmU6NDAzNjogY2hlY2tpbmcgZm9yIGVncmVwCmNvbmZpZ3VyZTo0
 MDk4OiByZXN1bHQ6IC9iaW4vZ3JlcCAtRQpjb25maWd1cmU6NDEwMzogY2hlY2tpbmcgZm9yIEFO
 U0kgQyBoZWFkZXIgZmlsZXMKY29uZmlndXJlOjQxMjM6IGdjYyAtYyAtZyAtTzIgIGNvbmZ0ZXN0
 LmMgPiY1CmNvbmZpZ3VyZTo0MTIzOiAkPyA9IDAKY29uZmlndXJlOjQxOTY6IGdjYyAtbyBjb25m
 dGVzdCAtZyAtTzIgICBjb25mdGVzdC5jICA+JjUKY29uZmlndXJlOjQxOTY6ICQ/ID0gMApjb25m
 aWd1cmU6NDE5NjogLi9jb25mdGVzdApjb25maWd1cmU6NDE5NjogJD8gPSAwCmNvbmZpZ3VyZTo0
 MjA3OiByZXN1bHQ6IHllcwpjb25maWd1cmU6NDIxNTogY2hlY2tpbmcgd2hldGhlciB0aW1lLmgg
 YW5kIHN5cy90aW1lLmggbWF5IGJvdGggYmUgaW5jbHVkZWQKY29uZmlndXJlOjQyMzU6IGdjYyAt
 YyAtZyAtTzIgIGNvbmZ0ZXN0LmMgPiY1CmNvbmZpZ3VyZTo0MjM1OiAkPyA9IDAKY29uZmlndXJl
 OjQyNDI6IHJlc3VsdDogeWVzCmNvbmZpZ3VyZTo0MjU1OiBjaGVja2luZyBmb3Igc3lzL3R5cGVz
 LmgKY29uZmlndXJlOjQyNTU6IGdjYyAtYyAtZyAtTzIgIGNvbmZ0ZXN0LmMgPiY1CmNvbmZpZ3Vy
 ZTo0MjU1OiAkPyA9IDAKY29uZmlndXJlOjQyNTU6IHJlc3VsdDogeWVzCmNvbmZpZ3VyZTo0MjU1
 OiBjaGVja2luZyBmb3Igc3lzL3N0YXQuaApjb25maWd1cmU6NDI1NTogZ2NjIC1jIC1nIC1PMiAg
 Y29uZnRlc3QuYyA+JjUKY29uZmlndXJlOjQyNTU6ICQ/ID0gMApjb25maWd1cmU6NDI1NTogcmVz
 dWx0OiB5ZXMKY29uZmlndXJlOjQyNTU6IGNoZWNraW5nIGZvciBzdGRsaWIuaApjb25maWd1cmU6
 NDI1NTogZ2NjIC1jIC1nIC1PMiAgY29uZnRlc3QuYyA+JjUKY29uZmlndXJlOjQyNTU6ICQ/ID0g
 MApjb25maWd1cmU6NDI1NTogcmVzdWx0OiB5ZXMKY29uZmlndXJlOjQyNTU6IGNoZWNraW5nIGZv
 ciBzdHJpbmcuaApjb25maWd1cmU6NDI1NTogZ2NjIC1jIC1nIC1PMiAgY29uZnRlc3QuYyA+JjUK
 Y29uZmlndXJlOjQyNTU6ICQ/ID0gMApjb25maWd1cmU6NDI1NTogcmVzdWx0OiB5ZXMKY29uZmln
 dXJlOjQyNTU6IGNoZWNraW5nIGZvciBtZW1vcnkuaApjb25maWd1cmU6NDI1NTogZ2NjIC1jIC1n
 IC1PMiAgY29uZnRlc3QuYyA+JjUKY29uZmlndXJlOjQyNTU6ICQ/ID0gMApjb25maWd1cmU6NDI1
 NTogcmVzdWx0OiB5ZXMKY29uZmlndXJlOjQyNTU6IGNoZWNraW5nIGZvciBzdHJpbmdzLmgKY29u
 ZmlndXJlOjQyNTU6IGdjYyAtYyAtZyAtTzIgIGNvbmZ0ZXN0LmMgPiY1CmNvbmZpZ3VyZTo0MjU1
 OiAkPyA9IDAKY29uZmlndXJlOjQyNTU6IHJlc3VsdDogeWVzCmNvbmZpZ3VyZTo0MjU1OiBjaGVj
 a2luZyBmb3IgaW50dHlwZXMuaApjb25maWd1cmU6NDI1NTogZ2NjIC1jIC1nIC1PMiAgY29uZnRl
 c3QuYyA+JjUKY29uZmlndXJlOjQyNTU6ICQ/ID0gMApjb25maWd1cmU6NDI1NTogcmVzdWx0OiB5
 ZXMKY29uZmlndXJlOjQyNTU6IGNoZWNraW5nIGZvciBzdGRpbnQuaApjb25maWd1cmU6NDI1NTog
 Z2NjIC1jIC1nIC1PMiAgY29uZnRlc3QuYyA+JjUKY29uZmlndXJlOjQyNTU6ICQ/ID0gMApjb25m
 aWd1cmU6NDI1NTogcmVzdWx0OiB5ZXMKY29uZmlndXJlOjQyNTU6IGNoZWNraW5nIGZvciB1bmlz
 dGQuaApjb25maWd1cmU6NDI1NTogZ2NjIC1jIC1nIC1PMiAgY29uZnRlc3QuYyA+JjUKY29uZmln
 dXJlOjQyNTU6ICQ/ID0gMApjb25maWd1cmU6NDI1NTogcmVzdWx0OiB5ZXMKY29uZmlndXJlOjQy
 Njc6IGNoZWNraW5nIGZvciBzdGRib29sLmggdGhhdCBjb25mb3JtcyB0byBDOTkKY29uZmlndXJl
 OjQzMzQ6IGdjYyAtYyAtZyAtTzIgIGNvbmZ0ZXN0LmMgPiY1CmNvbmZpZ3VyZTo0MzM0OiAkPyA9
 IDAKY29uZmlndXJlOjQzNDE6IHJlc3VsdDogeWVzCmNvbmZpZ3VyZTo0MzQzOiBjaGVja2luZyBm
 b3IgX0Jvb2wKY29uZmlndXJlOjQzNDM6IGdjYyAtYyAtZyAtTzIgIGNvbmZ0ZXN0LmMgPiY1CmNv
 bmZpZ3VyZTo0MzQzOiAkPyA9IDAKY29uZmlndXJlOjQzNDM6IGdjYyAtYyAtZyAtTzIgIGNvbmZ0
 ZXN0LmMgPiY1CmNvbmZ0ZXN0LmM6IEluIGZ1bmN0aW9uICdtYWluJzoKY29uZnRlc3QuYzo1Njoy
 MDogZXJyb3I6IGV4cGVjdGVkIGV4cHJlc3Npb24gYmVmb3JlICcpJyB0b2tlbgpjb25maWd1cmU6
 NDM0MzogJD8gPSAxCmNvbmZpZ3VyZTogZmFpbGVkIHByb2dyYW0gd2FzOgp8IC8qIGNvbmZkZWZz
 LmggKi8KfCAjZGVmaW5lIFBBQ0tBR0VfTkFNRSAibGlibmJjb21wYXQiCnwgI2RlZmluZSBQQUNL
 QUdFX1RBUk5BTUUgImxpYm5iY29tcGF0Igp8ICNkZWZpbmUgUEFDS0FHRV9WRVJTSU9OICIyMDA4
 MDYwNSIKfCAjZGVmaW5lIFBBQ0tBR0VfU1RSSU5HICJsaWJuYmNvbXBhdCAyMDA4MDYwNSIKfCAj
 ZGVmaW5lIFBBQ0tBR0VfQlVHUkVQT1JUICJncmFudEBOZXRCU0Qub3JnIgp8ICNkZWZpbmUgUEFD
 S0FHRV9VUkwgIiIKfCAjZGVmaW5lIFNURENfSEVBREVSUyAxCnwgI2RlZmluZSBUSU1FX1dJVEhf
 U1lTX1RJTUUgMQp8ICNkZWZpbmUgSEFWRV9TWVNfVFlQRVNfSCAxCnwgI2RlZmluZSBIQVZFX1NZ
 U19TVEFUX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERMSUJfSCAxCnwgI2RlZmluZSBIQVZFX1NUUklO
 R19IIDEKfCAjZGVmaW5lIEhBVkVfTUVNT1JZX0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJJTkdTX0gg
 MQp8ICNkZWZpbmUgSEFWRV9JTlRUWVBFU19IIDEKfCAjZGVmaW5lIEhBVkVfU1RESU5UX0ggMQp8
 ICNkZWZpbmUgSEFWRV9VTklTVERfSCAxCnwgLyogZW5kIGNvbmZkZWZzLmguICAqLwp8ICNpbmNs
 dWRlIDxzdGRpby5oPgp8ICNpZmRlZiBIQVZFX1NZU19UWVBFU19ICnwgIyBpbmNsdWRlIDxzeXMv
 dHlwZXMuaD4KfCAjZW5kaWYKfCAjaWZkZWYgSEFWRV9TWVNfU1RBVF9ICnwgIyBpbmNsdWRlIDxz
 eXMvc3RhdC5oPgp8ICNlbmRpZgp8ICNpZmRlZiBTVERDX0hFQURFUlMKfCAjIGluY2x1ZGUgPHN0
 ZGxpYi5oPgp8ICMgaW5jbHVkZSA8c3RkZGVmLmg+CnwgI2Vsc2UKfCAjIGlmZGVmIEhBVkVfU1RE
 TElCX0gKfCAjICBpbmNsdWRlIDxzdGRsaWIuaD4KfCAjIGVuZGlmCnwgI2VuZGlmCnwgI2lmZGVm
 IEhBVkVfU1RSSU5HX0gKfCAjIGlmICFkZWZpbmVkIFNURENfSEVBREVSUyAmJiBkZWZpbmVkIEhB
 VkVfTUVNT1JZX0gKfCAjICBpbmNsdWRlIDxtZW1vcnkuaD4KfCAjIGVuZGlmCnwgIyBpbmNsdWRl
 IDxzdHJpbmcuaD4KfCAjZW5kaWYKfCAjaWZkZWYgSEFWRV9TVFJJTkdTX0gKfCAjIGluY2x1ZGUg
 PHN0cmluZ3MuaD4KfCAjZW5kaWYKfCAjaWZkZWYgSEFWRV9JTlRUWVBFU19ICnwgIyBpbmNsdWRl
 IDxpbnR0eXBlcy5oPgp8ICNlbmRpZgp8ICNpZmRlZiBIQVZFX1NURElOVF9ICnwgIyBpbmNsdWRl
 IDxzdGRpbnQuaD4KfCAjZW5kaWYKfCAjaWZkZWYgSEFWRV9VTklTVERfSAp8ICMgaW5jbHVkZSA8
 dW5pc3RkLmg+CnwgI2VuZGlmCnwgaW50CnwgbWFpbiAoKQp8IHsKfCBpZiAoc2l6ZW9mICgoX0Jv
 b2wpKSkKfCAJICAgIHJldHVybiAwOwp8ICAgOwp8ICAgcmV0dXJuIDA7CnwgfQpjb25maWd1cmU6
 NDM0MzogcmVzdWx0OiB5ZXMKY29uZmlndXJlOjQzNzI6IGNoZWNraW5nIGFsbG9jYS5oIHVzYWJp
 bGl0eQpjb25maWd1cmU6NDM3MjogZ2NjIC1jIC1nIC1PMiAgY29uZnRlc3QuYyA+JjUKY29uZmln
 dXJlOjQzNzI6ICQ/ID0gMApjb25maWd1cmU6NDM3MjogcmVzdWx0OiB5ZXMKY29uZmlndXJlOjQz
 NzI6IGNoZWNraW5nIGFsbG9jYS5oIHByZXNlbmNlCmNvbmZpZ3VyZTo0MzcyOiBnY2MgLUUgIGNv
 bmZ0ZXN0LmMKY29uZmlndXJlOjQzNzI6ICQ/ID0gMApjb25maWd1cmU6NDM3MjogcmVzdWx0OiB5
 ZXMKY29uZmlndXJlOjQzNzI6IGNoZWNraW5nIGZvciBhbGxvY2EuaApjb25maWd1cmU6NDM3Mjog
 cmVzdWx0OiB5ZXMKY29uZmlndXJlOjQzNzI6IGNoZWNraW5nIGFzc2VydC5oIHVzYWJpbGl0eQpj
 b25maWd1cmU6NDM3MjogZ2NjIC1jIC1nIC1PMiAgY29uZnRlc3QuYyA+JjUKY29uZmlndXJlOjQz
 NzI6ICQ/ID0gMApjb25maWd1cmU6NDM3MjogcmVzdWx0OiB5ZXMKY29uZmlndXJlOjQzNzI6IGNo
 ZWNraW5nIGFzc2VydC5oIHByZXNlbmNlCmNvbmZpZ3VyZTo0MzcyOiBnY2MgLUUgIGNvbmZ0ZXN0
 LmMKY29uZmlndXJlOjQzNzI6ICQ/ID0gMApjb25maWd1cmU6NDM3MjogcmVzdWx0OiB5ZXMKY29u
 ZmlndXJlOjQzNzI6IGNoZWNraW5nIGZvciBhc3NlcnQuaApjb25maWd1cmU6NDM3MjogcmVzdWx0
 OiB5ZXMKY29uZmlndXJlOjQzNzI6IGNoZWNraW5nIGN0eXBlLmggdXNhYmlsaXR5CmNvbmZpZ3Vy
 ZTo0MzcyOiBnY2MgLWMgLWcgLU8yICBjb25mdGVzdC5jID4mNQpjb25maWd1cmU6NDM3MjogJD8g
 PSAwCmNvbmZpZ3VyZTo0MzcyOiByZXN1bHQ6IHllcwpjb25maWd1cmU6NDM3MjogY2hlY2tpbmcg
 Y3R5cGUuaCBwcmVzZW5jZQpjb25maWd1cmU6NDM3MjogZ2NjIC1FICBjb25mdGVzdC5jCmNvbmZp
 Z3VyZTo0MzcyOiAkPyA9IDAKY29uZmlndXJlOjQzNzI6IHJlc3VsdDogeWVzCmNvbmZpZ3VyZTo0
 MzcyOiBjaGVja2luZyBmb3IgY3R5cGUuaApjb25maWd1cmU6NDM3MjogcmVzdWx0OiB5ZXMKY29u
 ZmlndXJlOjQzNzI6IGNoZWNraW5nIGRpcmVudC5oIHVzYWJpbGl0eQpjb25maWd1cmU6NDM3Mjog
 Z2NjIC1jIC1nIC1PMiAgY29uZnRlc3QuYyA+JjUKY29uZmlndXJlOjQzNzI6ICQ/ID0gMApjb25m
 aWd1cmU6NDM3MjogcmVzdWx0OiB5ZXMKY29uZmlndXJlOjQzNzI6IGNoZWNraW5nIGRpcmVudC5o
 IHByZXNlbmNlCmNvbmZpZ3VyZTo0MzcyOiBnY2MgLUUgIGNvbmZ0ZXN0LmMKY29uZmlndXJlOjQz
 NzI6ICQ/ID0gMApjb25maWd1cmU6NDM3MjogcmVzdWx0OiB5ZXMKY29uZmlndXJlOjQzNzI6IGNo
 ZWNraW5nIGZvciBkaXJlbnQuaApjb25maWd1cmU6NDM3MjogcmVzdWx0OiB5ZXMKY29uZmlndXJl
 OjQzNzI6IGNoZWNraW5nIGVuZGlhbi5oIHVzYWJpbGl0eQpjb25maWd1cmU6NDM3MjogZ2NjIC1j
 IC1nIC1PMiAgY29uZnRlc3QuYyA+JjUKY29uZmlndXJlOjQzNzI6ICQ/ID0gMApjb25maWd1cmU6
 NDM3MjogcmVzdWx0OiB5ZXMKY29uZmlndXJlOjQzNzI6IGNoZWNraW5nIGVuZGlhbi5oIHByZXNl
 bmNlCmNvbmZpZ3VyZTo0MzcyOiBnY2MgLUUgIGNvbmZ0ZXN0LmMKY29uZmlndXJlOjQzNzI6ICQ/
 ID0gMApjb25maWd1cmU6NDM3MjogcmVzdWx0OiB5ZXMKY29uZmlndXJlOjQzNzI6IGNoZWNraW5n
 IGZvciBlbmRpYW4uaApjb25maWd1cmU6NDM3MjogcmVzdWx0OiB5ZXMKY29uZmlndXJlOjQzNzI6
 IGNoZWNraW5nIGVyci5oIHVzYWJpbGl0eQpjb25maWd1cmU6NDM3MjogZ2NjIC1jIC1nIC1PMiAg
 Y29uZnRlc3QuYyA+JjUKY29uZmlndXJlOjQzNzI6ICQ/ID0gMApjb25maWd1cmU6NDM3MjogcmVz
 dWx0OiB5ZXMKY29uZmlndXJlOjQzNzI6IGNoZWNraW5nIGVyci5oIHByZXNlbmNlCmNvbmZpZ3Vy
 ZTo0MzcyOiBnY2MgLUUgIGNvbmZ0ZXN0LmMKY29uZmlndXJlOjQzNzI6ICQ/ID0gMApjb25maWd1
 cmU6NDM3MjogcmVzdWx0OiB5ZXMKY29uZmlndXJlOjQzNzI6IGNoZWNraW5nIGZvciBlcnIuaApj
 b25maWd1cmU6NDM3MjogcmVzdWx0OiB5ZXMKY29uZmlndXJlOjQzNzI6IGNoZWNraW5nIGVycm5v
 LmggdXNhYmlsaXR5CmNvbmZpZ3VyZTo0MzcyOiBnY2MgLWMgLWcgLU8yICBjb25mdGVzdC5jID4m
 NQpjb25maWd1cmU6NDM3MjogJD8gPSAwCmNvbmZpZ3VyZTo0MzcyOiByZXN1bHQ6IHllcwpjb25m
 aWd1cmU6NDM3MjogY2hlY2tpbmcgZXJybm8uaCBwcmVzZW5jZQpjb25maWd1cmU6NDM3MjogZ2Nj
 IC1FICBjb25mdGVzdC5jCmNvbmZpZ3VyZTo0MzcyOiAkPyA9IDAKY29uZmlndXJlOjQzNzI6IHJl
 c3VsdDogeWVzCmNvbmZpZ3VyZTo0MzcyOiBjaGVja2luZyBmb3IgZXJybm8uaApjb25maWd1cmU6
 NDM3MjogcmVzdWx0OiB5ZXMKY29uZmlndXJlOjQzNzI6IGNoZWNraW5nIGZjbnRsLmggdXNhYmls
 aXR5CmNvbmZpZ3VyZTo0MzcyOiBnY2MgLWMgLWcgLU8yICBjb25mdGVzdC5jID4mNQpjb25maWd1
 cmU6NDM3MjogJD8gPSAwCmNvbmZpZ3VyZTo0MzcyOiByZXN1bHQ6IHllcwpjb25maWd1cmU6NDM3
 MjogY2hlY2tpbmcgZmNudGwuaCBwcmVzZW5jZQpjb25maWd1cmU6NDM3MjogZ2NjIC1FICBjb25m
 dGVzdC5jCmNvbmZpZ3VyZTo0MzcyOiAkPyA9IDAKY29uZmlndXJlOjQzNzI6IHJlc3VsdDogeWVz
 CmNvbmZpZ3VyZTo0MzcyOiBjaGVja2luZyBmb3IgZmNudGwuaApjb25maWd1cmU6NDM3MjogcmVz
 dWx0OiB5ZXMKY29uZmlndXJlOjQzNzI6IGNoZWNraW5nIGZubWF0Y2guaCB1c2FiaWxpdHkKY29u
 ZmlndXJlOjQzNzI6IGdjYyAtYyAtZyAtTzIgIGNvbmZ0ZXN0LmMgPiY1CmNvbmZpZ3VyZTo0Mzcy
 OiAkPyA9IDAKY29uZmlndXJlOjQzNzI6IHJlc3VsdDogeWVzCmNvbmZpZ3VyZTo0MzcyOiBjaGVj
 a2luZyBmbm1hdGNoLmggcHJlc2VuY2UKY29uZmlndXJlOjQzNzI6IGdjYyAtRSAgY29uZnRlc3Qu
 Ywpjb25maWd1cmU6NDM3MjogJD8gPSAwCmNvbmZpZ3VyZTo0MzcyOiByZXN1bHQ6IHllcwpjb25m
 aWd1cmU6NDM3MjogY2hlY2tpbmcgZm9yIGZubWF0Y2guaApjb25maWd1cmU6NDM3MjogcmVzdWx0
 OiB5ZXMKY29uZmlndXJlOjQzNzI6IGNoZWNraW5nIGZ0cy5oIHVzYWJpbGl0eQpjb25maWd1cmU6
 NDM3MjogZ2NjIC1jIC1nIC1PMiAgY29uZnRlc3QuYyA+JjUKY29uZmlndXJlOjQzNzI6ICQ/ID0g
 MApjb25maWd1cmU6NDM3MjogcmVzdWx0OiB5ZXMKY29uZmlndXJlOjQzNzI6IGNoZWNraW5nIGZ0
 cy5oIHByZXNlbmNlCmNvbmZpZ3VyZTo0MzcyOiBnY2MgLUUgIGNvbmZ0ZXN0LmMKY29uZmlndXJl
 OjQzNzI6ICQ/ID0gMApjb25maWd1cmU6NDM3MjogcmVzdWx0OiB5ZXMKY29uZmlndXJlOjQzNzI6
 IGNoZWNraW5nIGZvciBmdHMuaApjb25maWd1cmU6NDM3MjogcmVzdWx0OiB5ZXMKY29uZmlndXJl
 OjQzNzI6IGNoZWNraW5nIGdycC5oIHVzYWJpbGl0eQpjb25maWd1cmU6NDM3MjogZ2NjIC1jIC1n
 IC1PMiAgY29uZnRlc3QuYyA+JjUKY29uZmlndXJlOjQzNzI6ICQ/ID0gMApjb25maWd1cmU6NDM3
 MjogcmVzdWx0OiB5ZXMKY29uZmlndXJlOjQzNzI6IGNoZWNraW5nIGdycC5oIHByZXNlbmNlCmNv
 bmZpZ3VyZTo0MzcyOiBnY2MgLUUgIGNvbmZ0ZXN0LmMKY29uZmlndXJlOjQzNzI6ICQ/ID0gMApj
 b25maWd1cmU6NDM3MjogcmVzdWx0OiB5ZXMKY29uZmlndXJlOjQzNzI6IGNoZWNraW5nIGZvciBn
 cnAuaApjb25maWd1cmU6NDM3MjogcmVzdWx0OiB5ZXMKY29uZmlndXJlOjQzNzI6IGNoZWNraW5n
 IGZvciBpbnR0eXBlcy5oCmNvbmZpZ3VyZTo0MzcyOiByZXN1bHQ6IHllcwpjb25maWd1cmU6NDM3
 MjogY2hlY2tpbmcgbGlidXRpbC5oIHVzYWJpbGl0eQpjb25maWd1cmU6NDM3MjogZ2NjIC1jIC1n
 IC1PMiAgY29uZnRlc3QuYyA+JjUKSW4gZmlsZSBpbmNsdWRlZCBmcm9tIGNvbmZ0ZXN0LmM6Njc6
 MDoKL3Vzci9pbmNsdWRlL2xpYnV0aWwuaDozMzoyOiB3YXJuaW5nOiAjd2FybmluZyAiRGVwcmVj
 YXRlZCBoZWFkZXIsIHVzZSA8YnNkL2xpYnV0aWwuaD4gb3IgbGliYnNkLW92ZXJsYXkucGMgaW5z
 dGVhZC4iIFstV2NwcF0KY29uZmlndXJlOjQzNzI6ICQ/ID0gMApjb25maWd1cmU6NDM3MjogcmVz
 dWx0OiB5ZXMKY29uZmlndXJlOjQzNzI6IGNoZWNraW5nIGxpYnV0aWwuaCBwcmVzZW5jZQpjb25m
 aWd1cmU6NDM3MjogZ2NjIC1FICBjb25mdGVzdC5jCkluIGZpbGUgaW5jbHVkZWQgZnJvbSBjb25m
 dGVzdC5jOjM0OjA6Ci91c3IvaW5jbHVkZS9saWJ1dGlsLmg6MzM6Mjogd2FybmluZzogI3dhcm5p
 bmcgIkRlcHJlY2F0ZWQgaGVhZGVyLCB1c2UgPGJzZC9saWJ1dGlsLmg+IG9yIGxpYmJzZC1vdmVy
 bGF5LnBjIGluc3RlYWQuIiBbLVdjcHBdCmNvbmZpZ3VyZTo0MzcyOiAkPyA9IDAKY29uZmlndXJl
 OjQzNzI6IHJlc3VsdDogeWVzCmNvbmZpZ3VyZTo0MzcyOiBjaGVja2luZyBmb3IgbGlidXRpbC5o
 CmNvbmZpZ3VyZTo0MzcyOiByZXN1bHQ6IHllcwpjb25maWd1cmU6NDM3MjogY2hlY2tpbmcgbGlt
 aXRzLmggdXNhYmlsaXR5CmNvbmZpZ3VyZTo0MzcyOiBnY2MgLWMgLWcgLU8yICBjb25mdGVzdC5j
 ID4mNQpjb25maWd1cmU6NDM3MjogJD8gPSAwCmNvbmZpZ3VyZTo0MzcyOiByZXN1bHQ6IHllcwpj
 b25maWd1cmU6NDM3MjogY2hlY2tpbmcgbGltaXRzLmggcHJlc2VuY2UKY29uZmlndXJlOjQzNzI6
 IGdjYyAtRSAgY29uZnRlc3QuYwpjb25maWd1cmU6NDM3MjogJD8gPSAwCmNvbmZpZ3VyZTo0Mzcy
 OiByZXN1bHQ6IHllcwpjb25maWd1cmU6NDM3MjogY2hlY2tpbmcgZm9yIGxpbWl0cy5oCmNvbmZp
 Z3VyZTo0MzcyOiByZXN1bHQ6IHllcwpjb25maWd1cmU6NDM3MjogY2hlY2tpbmcgbWFjaGluZS9l
 bmRpYW4uaCB1c2FiaWxpdHkKY29uZmlndXJlOjQzNzI6IGdjYyAtYyAtZyAtTzIgIGNvbmZ0ZXN0
 LmMgPiY1CmNvbmZ0ZXN0LmM6Njk6Mjg6IGZhdGFsIGVycm9yOiBtYWNoaW5lL2VuZGlhbi5oOiBO
 byBzdWNoIGZpbGUgb3IgZGlyZWN0b3J5CmNvbXBpbGF0aW9uIHRlcm1pbmF0ZWQuCmNvbmZpZ3Vy
 ZTo0MzcyOiAkPyA9IDEKY29uZmlndXJlOiBmYWlsZWQgcHJvZ3JhbSB3YXM6CnwgLyogY29uZmRl
 ZnMuaCAqLwp8ICNkZWZpbmUgUEFDS0FHRV9OQU1FICJsaWJuYmNvbXBhdCIKfCAjZGVmaW5lIFBB
 Q0tBR0VfVEFSTkFNRSAibGlibmJjb21wYXQiCnwgI2RlZmluZSBQQUNLQUdFX1ZFUlNJT04gIjIw
 MDgwNjA1Igp8ICNkZWZpbmUgUEFDS0FHRV9TVFJJTkcgImxpYm5iY29tcGF0IDIwMDgwNjA1Igp8
 ICNkZWZpbmUgUEFDS0FHRV9CVUdSRVBPUlQgImdyYW50QE5ldEJTRC5vcmciCnwgI2RlZmluZSBQ
 QUNLQUdFX1VSTCAiIgp8ICNkZWZpbmUgU1REQ19IRUFERVJTIDEKfCAjZGVmaW5lIFRJTUVfV0lU
 SF9TWVNfVElNRSAxCnwgI2RlZmluZSBIQVZFX1NZU19UWVBFU19IIDEKfCAjZGVmaW5lIEhBVkVf
 U1lTX1NUQVRfSCAxCnwgI2RlZmluZSBIQVZFX1NURExJQl9IIDEKfCAjZGVmaW5lIEhBVkVfU1RS
 SU5HX0ggMQp8ICNkZWZpbmUgSEFWRV9NRU1PUllfSCAxCnwgI2RlZmluZSBIQVZFX1NUUklOR1Nf
 SCAxCnwgI2RlZmluZSBIQVZFX0lOVFRZUEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERJTlRfSCAx
 CnwgI2RlZmluZSBIQVZFX1VOSVNURF9IIDEKfCAjZGVmaW5lIEhBVkVfX0JPT0wgMQp8ICNkZWZp
 bmUgSEFWRV9TVERCT09MX0ggMQp8ICNkZWZpbmUgSEFWRV9BTExPQ0FfSCAxCnwgI2RlZmluZSBI
 QVZFX0FTU0VSVF9IIDEKfCAjZGVmaW5lIEhBVkVfQ1RZUEVfSCAxCnwgI2RlZmluZSBIQVZFX0RJ
 UkVOVF9IIDEKfCAjZGVmaW5lIEhBVkVfRU5ESUFOX0ggMQp8ICNkZWZpbmUgSEFWRV9FUlJfSCAx
 CnwgI2RlZmluZSBIQVZFX0VSUk5PX0ggMQp8ICNkZWZpbmUgSEFWRV9GQ05UTF9IIDEKfCAjZGVm
 aW5lIEhBVkVfRk5NQVRDSF9IIDEKfCAjZGVmaW5lIEhBVkVfRlRTX0ggMQp8ICNkZWZpbmUgSEFW
 RV9HUlBfSCAxCnwgI2RlZmluZSBIQVZFX0lOVFRZUEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9MSUJV
 VElMX0ggMQp8ICNkZWZpbmUgSEFWRV9MSU1JVFNfSCAxCnwgLyogZW5kIGNvbmZkZWZzLmguICAq
 Lwp8ICNpbmNsdWRlIDxzdGRpby5oPgp8ICNpZmRlZiBIQVZFX1NZU19UWVBFU19ICnwgIyBpbmNs
 dWRlIDxzeXMvdHlwZXMuaD4KfCAjZW5kaWYKfCAjaWZkZWYgSEFWRV9TWVNfU1RBVF9ICnwgIyBp
 bmNsdWRlIDxzeXMvc3RhdC5oPgp8ICNlbmRpZgp8ICNpZmRlZiBTVERDX0hFQURFUlMKfCAjIGlu
 Y2x1ZGUgPHN0ZGxpYi5oPgp8ICMgaW5jbHVkZSA8c3RkZGVmLmg+CnwgI2Vsc2UKfCAjIGlmZGVm
 IEhBVkVfU1RETElCX0gKfCAjICBpbmNsdWRlIDxzdGRsaWIuaD4KfCAjIGVuZGlmCnwgI2VuZGlm
 CnwgI2lmZGVmIEhBVkVfU1RSSU5HX0gKfCAjIGlmICFkZWZpbmVkIFNURENfSEVBREVSUyAmJiBk
 ZWZpbmVkIEhBVkVfTUVNT1JZX0gKfCAjICBpbmNsdWRlIDxtZW1vcnkuaD4KfCAjIGVuZGlmCnwg
 IyBpbmNsdWRlIDxzdHJpbmcuaD4KfCAjZW5kaWYKfCAjaWZkZWYgSEFWRV9TVFJJTkdTX0gKfCAj
 IGluY2x1ZGUgPHN0cmluZ3MuaD4KfCAjZW5kaWYKfCAjaWZkZWYgSEFWRV9JTlRUWVBFU19ICnwg
 IyBpbmNsdWRlIDxpbnR0eXBlcy5oPgp8ICNlbmRpZgp8ICNpZmRlZiBIQVZFX1NURElOVF9ICnwg
 IyBpbmNsdWRlIDxzdGRpbnQuaD4KfCAjZW5kaWYKfCAjaWZkZWYgSEFWRV9VTklTVERfSAp8ICMg
 aW5jbHVkZSA8dW5pc3RkLmg+CnwgI2VuZGlmCnwgI2luY2x1ZGUgPG1hY2hpbmUvZW5kaWFuLmg+
 CmNvbmZpZ3VyZTo0MzcyOiByZXN1bHQ6IG5vCmNvbmZpZ3VyZTo0MzcyOiBjaGVja2luZyBtYWNo
 aW5lL2VuZGlhbi5oIHByZXNlbmNlCmNvbmZpZ3VyZTo0MzcyOiBnY2MgLUUgIGNvbmZ0ZXN0LmMK
 Y29uZnRlc3QuYzozNjoyODogZmF0YWwgZXJyb3I6IG1hY2hpbmUvZW5kaWFuLmg6IE5vIHN1Y2gg
 ZmlsZSBvciBkaXJlY3RvcnkKY29tcGlsYXRpb24gdGVybWluYXRlZC4KY29uZmlndXJlOjQzNzI6
 ICQ/ID0gMQpjb25maWd1cmU6IGZhaWxlZCBwcm9ncmFtIHdhczoKfCAvKiBjb25mZGVmcy5oICov
 CnwgI2RlZmluZSBQQUNLQUdFX05BTUUgImxpYm5iY29tcGF0Igp8ICNkZWZpbmUgUEFDS0FHRV9U
 QVJOQU1FICJsaWJuYmNvbXBhdCIKfCAjZGVmaW5lIFBBQ0tBR0VfVkVSU0lPTiAiMjAwODA2MDUi
 CnwgI2RlZmluZSBQQUNLQUdFX1NUUklORyAibGlibmJjb21wYXQgMjAwODA2MDUiCnwgI2RlZmlu
 ZSBQQUNLQUdFX0JVR1JFUE9SVCAiZ3JhbnRATmV0QlNELm9yZyIKfCAjZGVmaW5lIFBBQ0tBR0Vf
 VVJMICIiCnwgI2RlZmluZSBTVERDX0hFQURFUlMgMQp8ICNkZWZpbmUgVElNRV9XSVRIX1NZU19U
 SU1FIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1RZUEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfU1RB
 VF9IIDEKfCAjZGVmaW5lIEhBVkVfU1RETElCX0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJJTkdfSCAx
 CnwgI2RlZmluZSBIQVZFX01FTU9SWV9IIDEKfCAjZGVmaW5lIEhBVkVfU1RSSU5HU19IIDEKfCAj
 ZGVmaW5lIEhBVkVfSU5UVFlQRVNfSCAxCnwgI2RlZmluZSBIQVZFX1NURElOVF9IIDEKfCAjZGVm
 aW5lIEhBVkVfVU5JU1REX0ggMQp8ICNkZWZpbmUgSEFWRV9fQk9PTCAxCnwgI2RlZmluZSBIQVZF
 X1NUREJPT0xfSCAxCnwgI2RlZmluZSBIQVZFX0FMTE9DQV9IIDEKfCAjZGVmaW5lIEhBVkVfQVNT
 RVJUX0ggMQp8ICNkZWZpbmUgSEFWRV9DVFlQRV9IIDEKfCAjZGVmaW5lIEhBVkVfRElSRU5UX0gg
 MQp8ICNkZWZpbmUgSEFWRV9FTkRJQU5fSCAxCnwgI2RlZmluZSBIQVZFX0VSUl9IIDEKfCAjZGVm
 aW5lIEhBVkVfRVJSTk9fSCAxCnwgI2RlZmluZSBIQVZFX0ZDTlRMX0ggMQp8ICNkZWZpbmUgSEFW
 RV9GTk1BVENIX0ggMQp8ICNkZWZpbmUgSEFWRV9GVFNfSCAxCnwgI2RlZmluZSBIQVZFX0dSUF9I
 IDEKfCAjZGVmaW5lIEhBVkVfSU5UVFlQRVNfSCAxCnwgI2RlZmluZSBIQVZFX0xJQlVUSUxfSCAx
 CnwgI2RlZmluZSBIQVZFX0xJTUlUU19IIDEKfCAvKiBlbmQgY29uZmRlZnMuaC4gICovCnwgI2lu
 Y2x1ZGUgPG1hY2hpbmUvZW5kaWFuLmg+CmNvbmZpZ3VyZTo0MzcyOiByZXN1bHQ6IG5vCmNvbmZp
 Z3VyZTo0MzcyOiBjaGVja2luZyBmb3IgbWFjaGluZS9lbmRpYW4uaApjb25maWd1cmU6NDM3Mjog
 cmVzdWx0OiBubwpjb25maWd1cmU6NDM3MjogY2hlY2tpbmcgbmRpci5oIHVzYWJpbGl0eQpjb25m
 aWd1cmU6NDM3MjogZ2NjIC1jIC1nIC1PMiAgY29uZnRlc3QuYyA+JjUKY29uZnRlc3QuYzo2OTox
 ODogZmF0YWwgZXJyb3I6IG5kaXIuaDogTm8gc3VjaCBmaWxlIG9yIGRpcmVjdG9yeQpjb21waWxh
 dGlvbiB0ZXJtaW5hdGVkLgpjb25maWd1cmU6NDM3MjogJD8gPSAxCmNvbmZpZ3VyZTogZmFpbGVk
 IHByb2dyYW0gd2FzOgp8IC8qIGNvbmZkZWZzLmggKi8KfCAjZGVmaW5lIFBBQ0tBR0VfTkFNRSAi
 bGlibmJjb21wYXQiCnwgI2RlZmluZSBQQUNLQUdFX1RBUk5BTUUgImxpYm5iY29tcGF0Igp8ICNk
 ZWZpbmUgUEFDS0FHRV9WRVJTSU9OICIyMDA4MDYwNSIKfCAjZGVmaW5lIFBBQ0tBR0VfU1RSSU5H
 ICJsaWJuYmNvbXBhdCAyMDA4MDYwNSIKfCAjZGVmaW5lIFBBQ0tBR0VfQlVHUkVQT1JUICJncmFu
 dEBOZXRCU0Qub3JnIgp8ICNkZWZpbmUgUEFDS0FHRV9VUkwgIiIKfCAjZGVmaW5lIFNURENfSEVB
 REVSUyAxCnwgI2RlZmluZSBUSU1FX1dJVEhfU1lTX1RJTUUgMQp8ICNkZWZpbmUgSEFWRV9TWVNf
 VFlQRVNfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19TVEFUX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERM
 SUJfSCAxCnwgI2RlZmluZSBIQVZFX1NUUklOR19IIDEKfCAjZGVmaW5lIEhBVkVfTUVNT1JZX0gg
 MQp8ICNkZWZpbmUgSEFWRV9TVFJJTkdTX0ggMQp8ICNkZWZpbmUgSEFWRV9JTlRUWVBFU19IIDEK
 fCAjZGVmaW5lIEhBVkVfU1RESU5UX0ggMQp8ICNkZWZpbmUgSEFWRV9VTklTVERfSCAxCnwgI2Rl
 ZmluZSBIQVZFX19CT09MIDEKfCAjZGVmaW5lIEhBVkVfU1REQk9PTF9IIDEKfCAjZGVmaW5lIEhB
 VkVfQUxMT0NBX0ggMQp8ICNkZWZpbmUgSEFWRV9BU1NFUlRfSCAxCnwgI2RlZmluZSBIQVZFX0NU
 WVBFX0ggMQp8ICNkZWZpbmUgSEFWRV9ESVJFTlRfSCAxCnwgI2RlZmluZSBIQVZFX0VORElBTl9I
 IDEKfCAjZGVmaW5lIEhBVkVfRVJSX0ggMQp8ICNkZWZpbmUgSEFWRV9FUlJOT19IIDEKfCAjZGVm
 aW5lIEhBVkVfRkNOVExfSCAxCnwgI2RlZmluZSBIQVZFX0ZOTUFUQ0hfSCAxCnwgI2RlZmluZSBI
 QVZFX0ZUU19IIDEKfCAjZGVmaW5lIEhBVkVfR1JQX0ggMQp8ICNkZWZpbmUgSEFWRV9JTlRUWVBF
 U19IIDEKfCAjZGVmaW5lIEhBVkVfTElCVVRJTF9IIDEKfCAjZGVmaW5lIEhBVkVfTElNSVRTX0gg
 MQp8IC8qIGVuZCBjb25mZGVmcy5oLiAgKi8KfCAjaW5jbHVkZSA8c3RkaW8uaD4KfCAjaWZkZWYg
 SEFWRV9TWVNfVFlQRVNfSAp8ICMgaW5jbHVkZSA8c3lzL3R5cGVzLmg+CnwgI2VuZGlmCnwgI2lm
 ZGVmIEhBVkVfU1lTX1NUQVRfSAp8ICMgaW5jbHVkZSA8c3lzL3N0YXQuaD4KfCAjZW5kaWYKfCAj
 aWZkZWYgU1REQ19IRUFERVJTCnwgIyBpbmNsdWRlIDxzdGRsaWIuaD4KfCAjIGluY2x1ZGUgPHN0
 ZGRlZi5oPgp8ICNlbHNlCnwgIyBpZmRlZiBIQVZFX1NURExJQl9ICnwgIyAgaW5jbHVkZSA8c3Rk
 bGliLmg+CnwgIyBlbmRpZgp8ICNlbmRpZgp8ICNpZmRlZiBIQVZFX1NUUklOR19ICnwgIyBpZiAh
 ZGVmaW5lZCBTVERDX0hFQURFUlMgJiYgZGVmaW5lZCBIQVZFX01FTU9SWV9ICnwgIyAgaW5jbHVk
 ZSA8bWVtb3J5Lmg+CnwgIyBlbmRpZgp8ICMgaW5jbHVkZSA8c3RyaW5nLmg+CnwgI2VuZGlmCnwg
 I2lmZGVmIEhBVkVfU1RSSU5HU19ICnwgIyBpbmNsdWRlIDxzdHJpbmdzLmg+CnwgI2VuZGlmCnwg
 I2lmZGVmIEhBVkVfSU5UVFlQRVNfSAp8ICMgaW5jbHVkZSA8aW50dHlwZXMuaD4KfCAjZW5kaWYK
 fCAjaWZkZWYgSEFWRV9TVERJTlRfSAp8ICMgaW5jbHVkZSA8c3RkaW50Lmg+CnwgI2VuZGlmCnwg
 I2lmZGVmIEhBVkVfVU5JU1REX0gKfCAjIGluY2x1ZGUgPHVuaXN0ZC5oPgp8ICNlbmRpZgp8ICNp
 bmNsdWRlIDxuZGlyLmg+CmNvbmZpZ3VyZTo0MzcyOiByZXN1bHQ6IG5vCmNvbmZpZ3VyZTo0Mzcy
 OiBjaGVja2luZyBuZGlyLmggcHJlc2VuY2UKY29uZmlndXJlOjQzNzI6IGdjYyAtRSAgY29uZnRl
 c3QuYwpjb25mdGVzdC5jOjM2OjE4OiBmYXRhbCBlcnJvcjogbmRpci5oOiBObyBzdWNoIGZpbGUg
 b3IgZGlyZWN0b3J5CmNvbXBpbGF0aW9uIHRlcm1pbmF0ZWQuCmNvbmZpZ3VyZTo0MzcyOiAkPyA9
 IDEKY29uZmlndXJlOiBmYWlsZWQgcHJvZ3JhbSB3YXM6CnwgLyogY29uZmRlZnMuaCAqLwp8ICNk
 ZWZpbmUgUEFDS0FHRV9OQU1FICJsaWJuYmNvbXBhdCIKfCAjZGVmaW5lIFBBQ0tBR0VfVEFSTkFN
 RSAibGlibmJjb21wYXQiCnwgI2RlZmluZSBQQUNLQUdFX1ZFUlNJT04gIjIwMDgwNjA1Igp8ICNk
 ZWZpbmUgUEFDS0FHRV9TVFJJTkcgImxpYm5iY29tcGF0IDIwMDgwNjA1Igp8ICNkZWZpbmUgUEFD
 S0FHRV9CVUdSRVBPUlQgImdyYW50QE5ldEJTRC5vcmciCnwgI2RlZmluZSBQQUNLQUdFX1VSTCAi
 Igp8ICNkZWZpbmUgU1REQ19IRUFERVJTIDEKfCAjZGVmaW5lIFRJTUVfV0lUSF9TWVNfVElNRSAx
 CnwgI2RlZmluZSBIQVZFX1NZU19UWVBFU19IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NUQVRfSCAx
 CnwgI2RlZmluZSBIQVZFX1NURExJQl9IIDEKfCAjZGVmaW5lIEhBVkVfU1RSSU5HX0ggMQp8ICNk
 ZWZpbmUgSEFWRV9NRU1PUllfSCAxCnwgI2RlZmluZSBIQVZFX1NUUklOR1NfSCAxCnwgI2RlZmlu
 ZSBIQVZFX0lOVFRZUEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERJTlRfSCAxCnwgI2RlZmluZSBI
 QVZFX1VOSVNURF9IIDEKfCAjZGVmaW5lIEhBVkVfX0JPT0wgMQp8ICNkZWZpbmUgSEFWRV9TVERC
 T09MX0ggMQp8ICNkZWZpbmUgSEFWRV9BTExPQ0FfSCAxCnwgI2RlZmluZSBIQVZFX0FTU0VSVF9I
 IDEKfCAjZGVmaW5lIEhBVkVfQ1RZUEVfSCAxCnwgI2RlZmluZSBIQVZFX0RJUkVOVF9IIDEKfCAj
 ZGVmaW5lIEhBVkVfRU5ESUFOX0ggMQp8ICNkZWZpbmUgSEFWRV9FUlJfSCAxCnwgI2RlZmluZSBI
 QVZFX0VSUk5PX0ggMQp8ICNkZWZpbmUgSEFWRV9GQ05UTF9IIDEKfCAjZGVmaW5lIEhBVkVfRk5N
 QVRDSF9IIDEKfCAjZGVmaW5lIEhBVkVfRlRTX0ggMQp8ICNkZWZpbmUgSEFWRV9HUlBfSCAxCnwg
 I2RlZmluZSBIQVZFX0lOVFRZUEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9MSUJVVElMX0ggMQp8ICNk
 ZWZpbmUgSEFWRV9MSU1JVFNfSCAxCnwgLyogZW5kIGNvbmZkZWZzLmguICAqLwp8ICNpbmNsdWRl
 IDxuZGlyLmg+CmNvbmZpZ3VyZTo0MzcyOiByZXN1bHQ6IG5vCmNvbmZpZ3VyZTo0MzcyOiBjaGVj
 a2luZyBmb3IgbmRpci5oCmNvbmZpZ3VyZTo0MzcyOiByZXN1bHQ6IG5vCmNvbmZpZ3VyZTo0Mzcy
 OiBjaGVja2luZyBuZXRkYi5oIHVzYWJpbGl0eQpjb25maWd1cmU6NDM3MjogZ2NjIC1jIC1nIC1P
 MiAgY29uZnRlc3QuYyA+JjUKY29uZmlndXJlOjQzNzI6ICQ/ID0gMApjb25maWd1cmU6NDM3Mjog
 cmVzdWx0OiB5ZXMKY29uZmlndXJlOjQzNzI6IGNoZWNraW5nIG5ldGRiLmggcHJlc2VuY2UKY29u
 ZmlndXJlOjQzNzI6IGdjYyAtRSAgY29uZnRlc3QuYwpjb25maWd1cmU6NDM3MjogJD8gPSAwCmNv
 bmZpZ3VyZTo0MzcyOiByZXN1bHQ6IHllcwpjb25maWd1cmU6NDM3MjogY2hlY2tpbmcgZm9yIG5l
 dGRiLmgKY29uZmlndXJlOjQzNzI6IHJlc3VsdDogeWVzCmNvbmZpZ3VyZTo0MzcyOiBjaGVja2lu
 ZyBwYXRocy5oIHVzYWJpbGl0eQpjb25maWd1cmU6NDM3MjogZ2NjIC1jIC1nIC1PMiAgY29uZnRl
 c3QuYyA+JjUKY29uZmlndXJlOjQzNzI6ICQ/ID0gMApjb25maWd1cmU6NDM3MjogcmVzdWx0OiB5
 ZXMKY29uZmlndXJlOjQzNzI6IGNoZWNraW5nIHBhdGhzLmggcHJlc2VuY2UKY29uZmlndXJlOjQz
 NzI6IGdjYyAtRSAgY29uZnRlc3QuYwpjb25maWd1cmU6NDM3MjogJD8gPSAwCmNvbmZpZ3VyZTo0
 MzcyOiByZXN1bHQ6IHllcwpjb25maWd1cmU6NDM3MjogY2hlY2tpbmcgZm9yIHBhdGhzLmgKY29u
 ZmlndXJlOjQzNzI6IHJlc3VsdDogeWVzCmNvbmZpZ3VyZTo0MzcyOiBjaGVja2luZyBwd2QuaCB1
 c2FiaWxpdHkKY29uZmlndXJlOjQzNzI6IGdjYyAtYyAtZyAtTzIgIGNvbmZ0ZXN0LmMgPiY1CmNv
 bmZpZ3VyZTo0MzcyOiAkPyA9IDAKY29uZmlndXJlOjQzNzI6IHJlc3VsdDogeWVzCmNvbmZpZ3Vy
 ZTo0MzcyOiBjaGVja2luZyBwd2QuaCBwcmVzZW5jZQpjb25maWd1cmU6NDM3MjogZ2NjIC1FICBj
 b25mdGVzdC5jCmNvbmZpZ3VyZTo0MzcyOiAkPyA9IDAKY29uZmlndXJlOjQzNzI6IHJlc3VsdDog
 eWVzCmNvbmZpZ3VyZTo0MzcyOiBjaGVja2luZyBmb3IgcHdkLmgKY29uZmlndXJlOjQzNzI6IHJl
 c3VsdDogeWVzCmNvbmZpZ3VyZTo0MzcyOiBjaGVja2luZyBzaWduYWwuaCB1c2FiaWxpdHkKY29u
 ZmlndXJlOjQzNzI6IGdjYyAtYyAtZyAtTzIgIGNvbmZ0ZXN0LmMgPiY1CmNvbmZpZ3VyZTo0Mzcy
 OiAkPyA9IDAKY29uZmlndXJlOjQzNzI6IHJlc3VsdDogeWVzCmNvbmZpZ3VyZTo0MzcyOiBjaGVj
 a2luZyBzaWduYWwuaCBwcmVzZW5jZQpjb25maWd1cmU6NDM3MjogZ2NjIC1FICBjb25mdGVzdC5j
 CmNvbmZpZ3VyZTo0MzcyOiAkPyA9IDAKY29uZmlndXJlOjQzNzI6IHJlc3VsdDogeWVzCmNvbmZp
 Z3VyZTo0MzcyOiBjaGVja2luZyBmb3Igc2lnbmFsLmgKY29uZmlndXJlOjQzNzI6IHJlc3VsdDog
 eWVzCmNvbmZpZ3VyZTo0MzcyOiBjaGVja2luZyBzdGRhcmcuaCB1c2FiaWxpdHkKY29uZmlndXJl
 OjQzNzI6IGdjYyAtYyAtZyAtTzIgIGNvbmZ0ZXN0LmMgPiY1CmNvbmZpZ3VyZTo0MzcyOiAkPyA9
 IDAKY29uZmlndXJlOjQzNzI6IHJlc3VsdDogeWVzCmNvbmZpZ3VyZTo0MzcyOiBjaGVja2luZyBz
 dGRhcmcuaCBwcmVzZW5jZQpjb25maWd1cmU6NDM3MjogZ2NjIC1FICBjb25mdGVzdC5jCmNvbmZp
 Z3VyZTo0MzcyOiAkPyA9IDAKY29uZmlndXJlOjQzNzI6IHJlc3VsdDogeWVzCmNvbmZpZ3VyZTo0
 MzcyOiBjaGVja2luZyBmb3Igc3RkYXJnLmgKY29uZmlndXJlOjQzNzI6IHJlc3VsdDogeWVzCmNv
 bmZpZ3VyZTo0MzcyOiBjaGVja2luZyBzdGRkZWYuaCB1c2FiaWxpdHkKY29uZmlndXJlOjQzNzI6
 IGdjYyAtYyAtZyAtTzIgIGNvbmZ0ZXN0LmMgPiY1CmNvbmZpZ3VyZTo0MzcyOiAkPyA9IDAKY29u
 ZmlndXJlOjQzNzI6IHJlc3VsdDogeWVzCmNvbmZpZ3VyZTo0MzcyOiBjaGVja2luZyBzdGRkZWYu
 aCBwcmVzZW5jZQpjb25maWd1cmU6NDM3MjogZ2NjIC1FICBjb25mdGVzdC5jCmNvbmZpZ3VyZTo0
 MzcyOiAkPyA9IDAKY29uZmlndXJlOjQzNzI6IHJlc3VsdDogeWVzCmNvbmZpZ3VyZTo0MzcyOiBj
 aGVja2luZyBmb3Igc3RkZGVmLmgKY29uZmlndXJlOjQzNzI6IHJlc3VsdDogeWVzCmNvbmZpZ3Vy
 ZTo0MzcyOiBjaGVja2luZyBmb3Igc3RkaW50LmgKY29uZmlndXJlOjQzNzI6IHJlc3VsdDogeWVz
 CmNvbmZpZ3VyZTo0MzcyOiBjaGVja2luZyBzdGRpby5oIHVzYWJpbGl0eQpjb25maWd1cmU6NDM3
 MjogZ2NjIC1jIC1nIC1PMiAgY29uZnRlc3QuYyA+JjUKY29uZmlndXJlOjQzNzI6ICQ/ID0gMApj
 b25maWd1cmU6NDM3MjogcmVzdWx0OiB5ZXMKY29uZmlndXJlOjQzNzI6IGNoZWNraW5nIHN0ZGlv
 LmggcHJlc2VuY2UKY29uZmlndXJlOjQzNzI6IGdjYyAtRSAgY29uZnRlc3QuYwpjb25maWd1cmU6
 NDM3MjogJD8gPSAwCmNvbmZpZ3VyZTo0MzcyOiByZXN1bHQ6IHllcwpjb25maWd1cmU6NDM3Mjog
 Y2hlY2tpbmcgZm9yIHN0ZGlvLmgKY29uZmlndXJlOjQzNzI6IHJlc3VsdDogeWVzCmNvbmZpZ3Vy
 ZTo0MzcyOiBjaGVja2luZyBmb3Igc3RkbGliLmgKY29uZmlndXJlOjQzNzI6IHJlc3VsdDogeWVz
 CmNvbmZpZ3VyZTo0MzcyOiBjaGVja2luZyBmb3Igc3RyaW5nLmgKY29uZmlndXJlOjQzNzI6IHJl
 c3VsdDogeWVzCmNvbmZpZ3VyZTo0MzcyOiBjaGVja2luZyBzeXMvYnl0ZW9yZGVyLmggdXNhYmls
 aXR5CmNvbmZpZ3VyZTo0MzcyOiBnY2MgLWMgLWcgLU8yICBjb25mdGVzdC5jID4mNQpjb25mdGVz
 dC5jOjc5OjI3OiBmYXRhbCBlcnJvcjogc3lzL2J5dGVvcmRlci5oOiBObyBzdWNoIGZpbGUgb3Ig
 ZGlyZWN0b3J5CmNvbXBpbGF0aW9uIHRlcm1pbmF0ZWQuCmNvbmZpZ3VyZTo0MzcyOiAkPyA9IDEK
 Y29uZmlndXJlOiBmYWlsZWQgcHJvZ3JhbSB3YXM6CnwgLyogY29uZmRlZnMuaCAqLwp8ICNkZWZp
 bmUgUEFDS0FHRV9OQU1FICJsaWJuYmNvbXBhdCIKfCAjZGVmaW5lIFBBQ0tBR0VfVEFSTkFNRSAi
 bGlibmJjb21wYXQiCnwgI2RlZmluZSBQQUNLQUdFX1ZFUlNJT04gIjIwMDgwNjA1Igp8ICNkZWZp
 bmUgUEFDS0FHRV9TVFJJTkcgImxpYm5iY29tcGF0IDIwMDgwNjA1Igp8ICNkZWZpbmUgUEFDS0FH
 RV9CVUdSRVBPUlQgImdyYW50QE5ldEJTRC5vcmciCnwgI2RlZmluZSBQQUNLQUdFX1VSTCAiIgp8
 ICNkZWZpbmUgU1REQ19IRUFERVJTIDEKfCAjZGVmaW5lIFRJTUVfV0lUSF9TWVNfVElNRSAxCnwg
 I2RlZmluZSBIQVZFX1NZU19UWVBFU19IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NUQVRfSCAxCnwg
 I2RlZmluZSBIQVZFX1NURExJQl9IIDEKfCAjZGVmaW5lIEhBVkVfU1RSSU5HX0ggMQp8ICNkZWZp
 bmUgSEFWRV9NRU1PUllfSCAxCnwgI2RlZmluZSBIQVZFX1NUUklOR1NfSCAxCnwgI2RlZmluZSBI
 QVZFX0lOVFRZUEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERJTlRfSCAxCnwgI2RlZmluZSBIQVZF
 X1VOSVNURF9IIDEKfCAjZGVmaW5lIEhBVkVfX0JPT0wgMQp8ICNkZWZpbmUgSEFWRV9TVERCT09M
 X0ggMQp8ICNkZWZpbmUgSEFWRV9BTExPQ0FfSCAxCnwgI2RlZmluZSBIQVZFX0FTU0VSVF9IIDEK
 fCAjZGVmaW5lIEhBVkVfQ1RZUEVfSCAxCnwgI2RlZmluZSBIQVZFX0RJUkVOVF9IIDEKfCAjZGVm
 aW5lIEhBVkVfRU5ESUFOX0ggMQp8ICNkZWZpbmUgSEFWRV9FUlJfSCAxCnwgI2RlZmluZSBIQVZF
 X0VSUk5PX0ggMQp8ICNkZWZpbmUgSEFWRV9GQ05UTF9IIDEKfCAjZGVmaW5lIEhBVkVfRk5NQVRD
 SF9IIDEKfCAjZGVmaW5lIEhBVkVfRlRTX0ggMQp8ICNkZWZpbmUgSEFWRV9HUlBfSCAxCnwgI2Rl
 ZmluZSBIQVZFX0lOVFRZUEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9MSUJVVElMX0ggMQp8ICNkZWZp
 bmUgSEFWRV9MSU1JVFNfSCAxCnwgI2RlZmluZSBIQVZFX05FVERCX0ggMQp8ICNkZWZpbmUgSEFW
 RV9QQVRIU19IIDEKfCAjZGVmaW5lIEhBVkVfUFdEX0ggMQp8ICNkZWZpbmUgSEFWRV9TSUdOQUxf
 SCAxCnwgI2RlZmluZSBIQVZFX1NUREFSR19IIDEKfCAjZGVmaW5lIEhBVkVfU1REREVGX0ggMQp8
 ICNkZWZpbmUgSEFWRV9TVERJTlRfSCAxCnwgI2RlZmluZSBIQVZFX1NURElPX0ggMQp8ICNkZWZp
 bmUgSEFWRV9TVERMSUJfSCAxCnwgI2RlZmluZSBIQVZFX1NUUklOR19IIDEKfCAvKiBlbmQgY29u
 ZmRlZnMuaC4gICovCnwgI2luY2x1ZGUgPHN0ZGlvLmg+CnwgI2lmZGVmIEhBVkVfU1lTX1RZUEVT
 X0gKfCAjIGluY2x1ZGUgPHN5cy90eXBlcy5oPgp8ICNlbmRpZgp8ICNpZmRlZiBIQVZFX1NZU19T
 VEFUX0gKfCAjIGluY2x1ZGUgPHN5cy9zdGF0Lmg+CnwgI2VuZGlmCnwgI2lmZGVmIFNURENfSEVB
 REVSUwp8ICMgaW5jbHVkZSA8c3RkbGliLmg+CnwgIyBpbmNsdWRlIDxzdGRkZWYuaD4KfCAjZWxz
 ZQp8ICMgaWZkZWYgSEFWRV9TVERMSUJfSAp8ICMgIGluY2x1ZGUgPHN0ZGxpYi5oPgp8ICMgZW5k
 aWYKfCAjZW5kaWYKfCAjaWZkZWYgSEFWRV9TVFJJTkdfSAp8ICMgaWYgIWRlZmluZWQgU1REQ19I
 RUFERVJTICYmIGRlZmluZWQgSEFWRV9NRU1PUllfSAp8ICMgIGluY2x1ZGUgPG1lbW9yeS5oPgp8
 ICMgZW5kaWYKfCAjIGluY2x1ZGUgPHN0cmluZy5oPgp8ICNlbmRpZgp8ICNpZmRlZiBIQVZFX1NU
 UklOR1NfSAp8ICMgaW5jbHVkZSA8c3RyaW5ncy5oPgp8ICNlbmRpZgp8ICNpZmRlZiBIQVZFX0lO
 VFRZUEVTX0gKfCAjIGluY2x1ZGUgPGludHR5cGVzLmg+CnwgI2VuZGlmCnwgI2lmZGVmIEhBVkVf
 U1RESU5UX0gKfCAjIGluY2x1ZGUgPHN0ZGludC5oPgp8ICNlbmRpZgp8ICNpZmRlZiBIQVZFX1VO
 SVNURF9ICnwgIyBpbmNsdWRlIDx1bmlzdGQuaD4KfCAjZW5kaWYKfCAjaW5jbHVkZSA8c3lzL2J5
 dGVvcmRlci5oPgpjb25maWd1cmU6NDM3MjogcmVzdWx0OiBubwpjb25maWd1cmU6NDM3MjogY2hl
 Y2tpbmcgc3lzL2J5dGVvcmRlci5oIHByZXNlbmNlCmNvbmZpZ3VyZTo0MzcyOiBnY2MgLUUgIGNv
 bmZ0ZXN0LmMKY29uZnRlc3QuYzo0NjoyNzogZmF0YWwgZXJyb3I6IHN5cy9ieXRlb3JkZXIuaDog
 Tm8gc3VjaCBmaWxlIG9yIGRpcmVjdG9yeQpjb21waWxhdGlvbiB0ZXJtaW5hdGVkLgpjb25maWd1
 cmU6NDM3MjogJD8gPSAxCmNvbmZpZ3VyZTogZmFpbGVkIHByb2dyYW0gd2FzOgp8IC8qIGNvbmZk
 ZWZzLmggKi8KfCAjZGVmaW5lIFBBQ0tBR0VfTkFNRSAibGlibmJjb21wYXQiCnwgI2RlZmluZSBQ
 QUNLQUdFX1RBUk5BTUUgImxpYm5iY29tcGF0Igp8ICNkZWZpbmUgUEFDS0FHRV9WRVJTSU9OICIy
 MDA4MDYwNSIKfCAjZGVmaW5lIFBBQ0tBR0VfU1RSSU5HICJsaWJuYmNvbXBhdCAyMDA4MDYwNSIK
 fCAjZGVmaW5lIFBBQ0tBR0VfQlVHUkVQT1JUICJncmFudEBOZXRCU0Qub3JnIgp8ICNkZWZpbmUg
 UEFDS0FHRV9VUkwgIiIKfCAjZGVmaW5lIFNURENfSEVBREVSUyAxCnwgI2RlZmluZSBUSU1FX1dJ
 VEhfU1lTX1RJTUUgMQp8ICNkZWZpbmUgSEFWRV9TWVNfVFlQRVNfSCAxCnwgI2RlZmluZSBIQVZF
 X1NZU19TVEFUX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERMSUJfSCAxCnwgI2RlZmluZSBIQVZFX1NU
 UklOR19IIDEKfCAjZGVmaW5lIEhBVkVfTUVNT1JZX0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJJTkdT
 X0ggMQp8ICNkZWZpbmUgSEFWRV9JTlRUWVBFU19IIDEKfCAjZGVmaW5lIEhBVkVfU1RESU5UX0gg
 MQp8ICNkZWZpbmUgSEFWRV9VTklTVERfSCAxCnwgI2RlZmluZSBIQVZFX19CT09MIDEKfCAjZGVm
 aW5lIEhBVkVfU1REQk9PTF9IIDEKfCAjZGVmaW5lIEhBVkVfQUxMT0NBX0ggMQp8ICNkZWZpbmUg
 SEFWRV9BU1NFUlRfSCAxCnwgI2RlZmluZSBIQVZFX0NUWVBFX0ggMQp8ICNkZWZpbmUgSEFWRV9E
 SVJFTlRfSCAxCnwgI2RlZmluZSBIQVZFX0VORElBTl9IIDEKfCAjZGVmaW5lIEhBVkVfRVJSX0gg
 MQp8ICNkZWZpbmUgSEFWRV9FUlJOT19IIDEKfCAjZGVmaW5lIEhBVkVfRkNOVExfSCAxCnwgI2Rl
 ZmluZSBIQVZFX0ZOTUFUQ0hfSCAxCnwgI2RlZmluZSBIQVZFX0ZUU19IIDEKfCAjZGVmaW5lIEhB
 VkVfR1JQX0ggMQp8ICNkZWZpbmUgSEFWRV9JTlRUWVBFU19IIDEKfCAjZGVmaW5lIEhBVkVfTElC
 VVRJTF9IIDEKfCAjZGVmaW5lIEhBVkVfTElNSVRTX0ggMQp8ICNkZWZpbmUgSEFWRV9ORVREQl9I
 IDEKfCAjZGVmaW5lIEhBVkVfUEFUSFNfSCAxCnwgI2RlZmluZSBIQVZFX1BXRF9IIDEKfCAjZGVm
 aW5lIEhBVkVfU0lHTkFMX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERBUkdfSCAxCnwgI2RlZmluZSBI
 QVZFX1NURERFRl9IIDEKfCAjZGVmaW5lIEhBVkVfU1RESU5UX0ggMQp8ICNkZWZpbmUgSEFWRV9T
 VERJT19IIDEKfCAjZGVmaW5lIEhBVkVfU1RETElCX0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJJTkdf
 SCAxCnwgLyogZW5kIGNvbmZkZWZzLmguICAqLwp8ICNpbmNsdWRlIDxzeXMvYnl0ZW9yZGVyLmg+
 CmNvbmZpZ3VyZTo0MzcyOiByZXN1bHQ6IG5vCmNvbmZpZ3VyZTo0MzcyOiBjaGVja2luZyBmb3Ig
 c3lzL2J5dGVvcmRlci5oCmNvbmZpZ3VyZTo0MzcyOiByZXN1bHQ6IG5vCmNvbmZpZ3VyZTo0Mzcy
 OiBjaGVja2luZyBzeXMvY2RlZnMuaCB1c2FiaWxpdHkKY29uZmlndXJlOjQzNzI6IGdjYyAtYyAt
 ZyAtTzIgIGNvbmZ0ZXN0LmMgPiY1CmNvbmZpZ3VyZTo0MzcyOiAkPyA9IDAKY29uZmlndXJlOjQz
 NzI6IHJlc3VsdDogeWVzCmNvbmZpZ3VyZTo0MzcyOiBjaGVja2luZyBzeXMvY2RlZnMuaCBwcmVz
 ZW5jZQpjb25maWd1cmU6NDM3MjogZ2NjIC1FICBjb25mdGVzdC5jCmNvbmZpZ3VyZTo0MzcyOiAk
 PyA9IDAKY29uZmlndXJlOjQzNzI6IHJlc3VsdDogeWVzCmNvbmZpZ3VyZTo0MzcyOiBjaGVja2lu
 ZyBmb3Igc3lzL2NkZWZzLmgKY29uZmlndXJlOjQzNzI6IHJlc3VsdDogeWVzCmNvbmZpZ3VyZTo0
 MzcyOiBjaGVja2luZyBzeXMvZGlyLmggdXNhYmlsaXR5CmNvbmZpZ3VyZTo0MzcyOiBnY2MgLWMg
 LWcgLU8yICBjb25mdGVzdC5jID4mNQpjb25maWd1cmU6NDM3MjogJD8gPSAwCmNvbmZpZ3VyZTo0
 MzcyOiByZXN1bHQ6IHllcwpjb25maWd1cmU6NDM3MjogY2hlY2tpbmcgc3lzL2Rpci5oIHByZXNl
 bmNlCmNvbmZpZ3VyZTo0MzcyOiBnY2MgLUUgIGNvbmZ0ZXN0LmMKY29uZmlndXJlOjQzNzI6ICQ/
 ID0gMApjb25maWd1cmU6NDM3MjogcmVzdWx0OiB5ZXMKY29uZmlndXJlOjQzNzI6IGNoZWNraW5n
 IGZvciBzeXMvZGlyLmgKY29uZmlndXJlOjQzNzI6IHJlc3VsdDogeWVzCmNvbmZpZ3VyZTo0Mzcy
 OiBjaGVja2luZyBzeXMvZW5kaWFuLmggdXNhYmlsaXR5CmNvbmZpZ3VyZTo0MzcyOiBnY2MgLWMg
 LWcgLU8yICBjb25mdGVzdC5jID4mNQpjb25mdGVzdC5jOjgxOjI0OiBmYXRhbCBlcnJvcjogc3lz
 L2VuZGlhbi5oOiBObyBzdWNoIGZpbGUgb3IgZGlyZWN0b3J5CmNvbXBpbGF0aW9uIHRlcm1pbmF0
 ZWQuCmNvbmZpZ3VyZTo0MzcyOiAkPyA9IDEKY29uZmlndXJlOiBmYWlsZWQgcHJvZ3JhbSB3YXM6
 CnwgLyogY29uZmRlZnMuaCAqLwp8ICNkZWZpbmUgUEFDS0FHRV9OQU1FICJsaWJuYmNvbXBhdCIK
 fCAjZGVmaW5lIFBBQ0tBR0VfVEFSTkFNRSAibGlibmJjb21wYXQiCnwgI2RlZmluZSBQQUNLQUdF
 X1ZFUlNJT04gIjIwMDgwNjA1Igp8ICNkZWZpbmUgUEFDS0FHRV9TVFJJTkcgImxpYm5iY29tcGF0
 IDIwMDgwNjA1Igp8ICNkZWZpbmUgUEFDS0FHRV9CVUdSRVBPUlQgImdyYW50QE5ldEJTRC5vcmci
 CnwgI2RlZmluZSBQQUNLQUdFX1VSTCAiIgp8ICNkZWZpbmUgU1REQ19IRUFERVJTIDEKfCAjZGVm
 aW5lIFRJTUVfV0lUSF9TWVNfVElNRSAxCnwgI2RlZmluZSBIQVZFX1NZU19UWVBFU19IIDEKfCAj
 ZGVmaW5lIEhBVkVfU1lTX1NUQVRfSCAxCnwgI2RlZmluZSBIQVZFX1NURExJQl9IIDEKfCAjZGVm
 aW5lIEhBVkVfU1RSSU5HX0ggMQp8ICNkZWZpbmUgSEFWRV9NRU1PUllfSCAxCnwgI2RlZmluZSBI
 QVZFX1NUUklOR1NfSCAxCnwgI2RlZmluZSBIQVZFX0lOVFRZUEVTX0ggMQp8ICNkZWZpbmUgSEFW
 RV9TVERJTlRfSCAxCnwgI2RlZmluZSBIQVZFX1VOSVNURF9IIDEKfCAjZGVmaW5lIEhBVkVfX0JP
 T0wgMQp8ICNkZWZpbmUgSEFWRV9TVERCT09MX0ggMQp8ICNkZWZpbmUgSEFWRV9BTExPQ0FfSCAx
 CnwgI2RlZmluZSBIQVZFX0FTU0VSVF9IIDEKfCAjZGVmaW5lIEhBVkVfQ1RZUEVfSCAxCnwgI2Rl
 ZmluZSBIQVZFX0RJUkVOVF9IIDEKfCAjZGVmaW5lIEhBVkVfRU5ESUFOX0ggMQp8ICNkZWZpbmUg
 SEFWRV9FUlJfSCAxCnwgI2RlZmluZSBIQVZFX0VSUk5PX0ggMQp8ICNkZWZpbmUgSEFWRV9GQ05U
 TF9IIDEKfCAjZGVmaW5lIEhBVkVfRk5NQVRDSF9IIDEKfCAjZGVmaW5lIEhBVkVfRlRTX0ggMQp8
 ICNkZWZpbmUgSEFWRV9HUlBfSCAxCnwgI2RlZmluZSBIQVZFX0lOVFRZUEVTX0ggMQp8ICNkZWZp
 bmUgSEFWRV9MSUJVVElMX0ggMQp8ICNkZWZpbmUgSEFWRV9MSU1JVFNfSCAxCnwgI2RlZmluZSBI
 QVZFX05FVERCX0ggMQp8ICNkZWZpbmUgSEFWRV9QQVRIU19IIDEKfCAjZGVmaW5lIEhBVkVfUFdE
 X0ggMQp8ICNkZWZpbmUgSEFWRV9TSUdOQUxfSCAxCnwgI2RlZmluZSBIQVZFX1NUREFSR19IIDEK
 fCAjZGVmaW5lIEhBVkVfU1REREVGX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERJTlRfSCAxCnwgI2Rl
 ZmluZSBIQVZFX1NURElPX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERMSUJfSCAxCnwgI2RlZmluZSBI
 QVZFX1NUUklOR19IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX0NERUZTX0ggMQp8ICNkZWZpbmUgSEFW
 RV9TWVNfRElSX0ggMQp8IC8qIGVuZCBjb25mZGVmcy5oLiAgKi8KfCAjaW5jbHVkZSA8c3RkaW8u
 aD4KfCAjaWZkZWYgSEFWRV9TWVNfVFlQRVNfSAp8ICMgaW5jbHVkZSA8c3lzL3R5cGVzLmg+Cnwg
 I2VuZGlmCnwgI2lmZGVmIEhBVkVfU1lTX1NUQVRfSAp8ICMgaW5jbHVkZSA8c3lzL3N0YXQuaD4K
 fCAjZW5kaWYKfCAjaWZkZWYgU1REQ19IRUFERVJTCnwgIyBpbmNsdWRlIDxzdGRsaWIuaD4KfCAj
 IGluY2x1ZGUgPHN0ZGRlZi5oPgp8ICNlbHNlCnwgIyBpZmRlZiBIQVZFX1NURExJQl9ICnwgIyAg
 aW5jbHVkZSA8c3RkbGliLmg+CnwgIyBlbmRpZgp8ICNlbmRpZgp8ICNpZmRlZiBIQVZFX1NUUklO
 R19ICnwgIyBpZiAhZGVmaW5lZCBTVERDX0hFQURFUlMgJiYgZGVmaW5lZCBIQVZFX01FTU9SWV9I
 CnwgIyAgaW5jbHVkZSA8bWVtb3J5Lmg+CnwgIyBlbmRpZgp8ICMgaW5jbHVkZSA8c3RyaW5nLmg+
 CnwgI2VuZGlmCnwgI2lmZGVmIEhBVkVfU1RSSU5HU19ICnwgIyBpbmNsdWRlIDxzdHJpbmdzLmg+
 CnwgI2VuZGlmCnwgI2lmZGVmIEhBVkVfSU5UVFlQRVNfSAp8ICMgaW5jbHVkZSA8aW50dHlwZXMu
 aD4KfCAjZW5kaWYKfCAjaWZkZWYgSEFWRV9TVERJTlRfSAp8ICMgaW5jbHVkZSA8c3RkaW50Lmg+
 CnwgI2VuZGlmCnwgI2lmZGVmIEhBVkVfVU5JU1REX0gKfCAjIGluY2x1ZGUgPHVuaXN0ZC5oPgp8
 ICNlbmRpZgp8ICNpbmNsdWRlIDxzeXMvZW5kaWFuLmg+CmNvbmZpZ3VyZTo0MzcyOiByZXN1bHQ6
 IG5vCmNvbmZpZ3VyZTo0MzcyOiBjaGVja2luZyBzeXMvZW5kaWFuLmggcHJlc2VuY2UKY29uZmln
 dXJlOjQzNzI6IGdjYyAtRSAgY29uZnRlc3QuYwpjb25mdGVzdC5jOjQ4OjI0OiBmYXRhbCBlcnJv
 cjogc3lzL2VuZGlhbi5oOiBObyBzdWNoIGZpbGUgb3IgZGlyZWN0b3J5CmNvbXBpbGF0aW9uIHRl
 cm1pbmF0ZWQuCmNvbmZpZ3VyZTo0MzcyOiAkPyA9IDEKY29uZmlndXJlOiBmYWlsZWQgcHJvZ3Jh
 bSB3YXM6CnwgLyogY29uZmRlZnMuaCAqLwp8ICNkZWZpbmUgUEFDS0FHRV9OQU1FICJsaWJuYmNv
 bXBhdCIKfCAjZGVmaW5lIFBBQ0tBR0VfVEFSTkFNRSAibGlibmJjb21wYXQiCnwgI2RlZmluZSBQ
 QUNLQUdFX1ZFUlNJT04gIjIwMDgwNjA1Igp8ICNkZWZpbmUgUEFDS0FHRV9TVFJJTkcgImxpYm5i
 Y29tcGF0IDIwMDgwNjA1Igp8ICNkZWZpbmUgUEFDS0FHRV9CVUdSRVBPUlQgImdyYW50QE5ldEJT
 RC5vcmciCnwgI2RlZmluZSBQQUNLQUdFX1VSTCAiIgp8ICNkZWZpbmUgU1REQ19IRUFERVJTIDEK
 fCAjZGVmaW5lIFRJTUVfV0lUSF9TWVNfVElNRSAxCnwgI2RlZmluZSBIQVZFX1NZU19UWVBFU19I
 IDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NUQVRfSCAxCnwgI2RlZmluZSBIQVZFX1NURExJQl9IIDEK
 fCAjZGVmaW5lIEhBVkVfU1RSSU5HX0ggMQp8ICNkZWZpbmUgSEFWRV9NRU1PUllfSCAxCnwgI2Rl
 ZmluZSBIQVZFX1NUUklOR1NfSCAxCnwgI2RlZmluZSBIQVZFX0lOVFRZUEVTX0ggMQp8ICNkZWZp
 bmUgSEFWRV9TVERJTlRfSCAxCnwgI2RlZmluZSBIQVZFX1VOSVNURF9IIDEKfCAjZGVmaW5lIEhB
 VkVfX0JPT0wgMQp8ICNkZWZpbmUgSEFWRV9TVERCT09MX0ggMQp8ICNkZWZpbmUgSEFWRV9BTExP
 Q0FfSCAxCnwgI2RlZmluZSBIQVZFX0FTU0VSVF9IIDEKfCAjZGVmaW5lIEhBVkVfQ1RZUEVfSCAx
 CnwgI2RlZmluZSBIQVZFX0RJUkVOVF9IIDEKfCAjZGVmaW5lIEhBVkVfRU5ESUFOX0ggMQp8ICNk
 ZWZpbmUgSEFWRV9FUlJfSCAxCnwgI2RlZmluZSBIQVZFX0VSUk5PX0ggMQp8ICNkZWZpbmUgSEFW
 RV9GQ05UTF9IIDEKfCAjZGVmaW5lIEhBVkVfRk5NQVRDSF9IIDEKfCAjZGVmaW5lIEhBVkVfRlRT
 X0ggMQp8ICNkZWZpbmUgSEFWRV9HUlBfSCAxCnwgI2RlZmluZSBIQVZFX0lOVFRZUEVTX0ggMQp8
 ICNkZWZpbmUgSEFWRV9MSUJVVElMX0ggMQp8ICNkZWZpbmUgSEFWRV9MSU1JVFNfSCAxCnwgI2Rl
 ZmluZSBIQVZFX05FVERCX0ggMQp8ICNkZWZpbmUgSEFWRV9QQVRIU19IIDEKfCAjZGVmaW5lIEhB
 VkVfUFdEX0ggMQp8ICNkZWZpbmUgSEFWRV9TSUdOQUxfSCAxCnwgI2RlZmluZSBIQVZFX1NUREFS
 R19IIDEKfCAjZGVmaW5lIEhBVkVfU1REREVGX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERJTlRfSCAx
 CnwgI2RlZmluZSBIQVZFX1NURElPX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERMSUJfSCAxCnwgI2Rl
 ZmluZSBIQVZFX1NUUklOR19IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX0NERUZTX0ggMQp8ICNkZWZp
 bmUgSEFWRV9TWVNfRElSX0ggMQp8IC8qIGVuZCBjb25mZGVmcy5oLiAgKi8KfCAjaW5jbHVkZSA8
 c3lzL2VuZGlhbi5oPgpjb25maWd1cmU6NDM3MjogcmVzdWx0OiBubwpjb25maWd1cmU6NDM3Mjog
 Y2hlY2tpbmcgZm9yIHN5cy9lbmRpYW4uaApjb25maWd1cmU6NDM3MjogcmVzdWx0OiBubwpjb25m
 aWd1cmU6NDM3MjogY2hlY2tpbmcgc3lzL2ZpbGUuaCB1c2FiaWxpdHkKY29uZmlndXJlOjQzNzI6
 IGdjYyAtYyAtZyAtTzIgIGNvbmZ0ZXN0LmMgPiY1CmNvbmZpZ3VyZTo0MzcyOiAkPyA9IDAKY29u
 ZmlndXJlOjQzNzI6IHJlc3VsdDogeWVzCmNvbmZpZ3VyZTo0MzcyOiBjaGVja2luZyBzeXMvZmls
 ZS5oIHByZXNlbmNlCmNvbmZpZ3VyZTo0MzcyOiBnY2MgLUUgIGNvbmZ0ZXN0LmMKY29uZmlndXJl
 OjQzNzI6ICQ/ID0gMApjb25maWd1cmU6NDM3MjogcmVzdWx0OiB5ZXMKY29uZmlndXJlOjQzNzI6
 IGNoZWNraW5nIGZvciBzeXMvZmlsZS5oCmNvbmZpZ3VyZTo0MzcyOiByZXN1bHQ6IHllcwpjb25m
 aWd1cmU6NDM3MjogY2hlY2tpbmcgc3lzL21rZGV2LmggdXNhYmlsaXR5CmNvbmZpZ3VyZTo0Mzcy
 OiBnY2MgLWMgLWcgLU8yICBjb25mdGVzdC5jID4mNQpjb25mdGVzdC5jOjgyOjIzOiBmYXRhbCBl
 cnJvcjogc3lzL21rZGV2Lmg6IE5vIHN1Y2ggZmlsZSBvciBkaXJlY3RvcnkKY29tcGlsYXRpb24g
 dGVybWluYXRlZC4KY29uZmlndXJlOjQzNzI6ICQ/ID0gMQpjb25maWd1cmU6IGZhaWxlZCBwcm9n
 cmFtIHdhczoKfCAvKiBjb25mZGVmcy5oICovCnwgI2RlZmluZSBQQUNLQUdFX05BTUUgImxpYm5i
 Y29tcGF0Igp8ICNkZWZpbmUgUEFDS0FHRV9UQVJOQU1FICJsaWJuYmNvbXBhdCIKfCAjZGVmaW5l
 IFBBQ0tBR0VfVkVSU0lPTiAiMjAwODA2MDUiCnwgI2RlZmluZSBQQUNLQUdFX1NUUklORyAibGli
 bmJjb21wYXQgMjAwODA2MDUiCnwgI2RlZmluZSBQQUNLQUdFX0JVR1JFUE9SVCAiZ3JhbnRATmV0
 QlNELm9yZyIKfCAjZGVmaW5lIFBBQ0tBR0VfVVJMICIiCnwgI2RlZmluZSBTVERDX0hFQURFUlMg
 MQp8ICNkZWZpbmUgVElNRV9XSVRIX1NZU19USU1FIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1RZUEVT
 X0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfU1RBVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1RETElCX0gg
 MQp8ICNkZWZpbmUgSEFWRV9TVFJJTkdfSCAxCnwgI2RlZmluZSBIQVZFX01FTU9SWV9IIDEKfCAj
 ZGVmaW5lIEhBVkVfU1RSSU5HU19IIDEKfCAjZGVmaW5lIEhBVkVfSU5UVFlQRVNfSCAxCnwgI2Rl
 ZmluZSBIQVZFX1NURElOVF9IIDEKfCAjZGVmaW5lIEhBVkVfVU5JU1REX0ggMQp8ICNkZWZpbmUg
 SEFWRV9fQk9PTCAxCnwgI2RlZmluZSBIQVZFX1NUREJPT0xfSCAxCnwgI2RlZmluZSBIQVZFX0FM
 TE9DQV9IIDEKfCAjZGVmaW5lIEhBVkVfQVNTRVJUX0ggMQp8ICNkZWZpbmUgSEFWRV9DVFlQRV9I
 IDEKfCAjZGVmaW5lIEhBVkVfRElSRU5UX0ggMQp8ICNkZWZpbmUgSEFWRV9FTkRJQU5fSCAxCnwg
 I2RlZmluZSBIQVZFX0VSUl9IIDEKfCAjZGVmaW5lIEhBVkVfRVJSTk9fSCAxCnwgI2RlZmluZSBI
 QVZFX0ZDTlRMX0ggMQp8ICNkZWZpbmUgSEFWRV9GTk1BVENIX0ggMQp8ICNkZWZpbmUgSEFWRV9G
 VFNfSCAxCnwgI2RlZmluZSBIQVZFX0dSUF9IIDEKfCAjZGVmaW5lIEhBVkVfSU5UVFlQRVNfSCAx
 CnwgI2RlZmluZSBIQVZFX0xJQlVUSUxfSCAxCnwgI2RlZmluZSBIQVZFX0xJTUlUU19IIDEKfCAj
 ZGVmaW5lIEhBVkVfTkVUREJfSCAxCnwgI2RlZmluZSBIQVZFX1BBVEhTX0ggMQp8ICNkZWZpbmUg
 SEFWRV9QV0RfSCAxCnwgI2RlZmluZSBIQVZFX1NJR05BTF9IIDEKfCAjZGVmaW5lIEhBVkVfU1RE
 QVJHX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERERUZfSCAxCnwgI2RlZmluZSBIQVZFX1NURElOVF9I
 IDEKfCAjZGVmaW5lIEhBVkVfU1RESU9fSCAxCnwgI2RlZmluZSBIQVZFX1NURExJQl9IIDEKfCAj
 ZGVmaW5lIEhBVkVfU1RSSU5HX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfQ0RFRlNfSCAxCnwgI2Rl
 ZmluZSBIQVZFX1NZU19ESVJfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19GSUxFX0ggMQp8IC8qIGVu
 ZCBjb25mZGVmcy5oLiAgKi8KfCAjaW5jbHVkZSA8c3RkaW8uaD4KfCAjaWZkZWYgSEFWRV9TWVNf
 VFlQRVNfSAp8ICMgaW5jbHVkZSA8c3lzL3R5cGVzLmg+CnwgI2VuZGlmCnwgI2lmZGVmIEhBVkVf
 U1lTX1NUQVRfSAp8ICMgaW5jbHVkZSA8c3lzL3N0YXQuaD4KfCAjZW5kaWYKfCAjaWZkZWYgU1RE
 Q19IRUFERVJTCnwgIyBpbmNsdWRlIDxzdGRsaWIuaD4KfCAjIGluY2x1ZGUgPHN0ZGRlZi5oPgp8
 ICNlbHNlCnwgIyBpZmRlZiBIQVZFX1NURExJQl9ICnwgIyAgaW5jbHVkZSA8c3RkbGliLmg+Cnwg
 IyBlbmRpZgp8ICNlbmRpZgp8ICNpZmRlZiBIQVZFX1NUUklOR19ICnwgIyBpZiAhZGVmaW5lZCBT
 VERDX0hFQURFUlMgJiYgZGVmaW5lZCBIQVZFX01FTU9SWV9ICnwgIyAgaW5jbHVkZSA8bWVtb3J5
 Lmg+CnwgIyBlbmRpZgp8ICMgaW5jbHVkZSA8c3RyaW5nLmg+CnwgI2VuZGlmCnwgI2lmZGVmIEhB
 VkVfU1RSSU5HU19ICnwgIyBpbmNsdWRlIDxzdHJpbmdzLmg+CnwgI2VuZGlmCnwgI2lmZGVmIEhB
 VkVfSU5UVFlQRVNfSAp8ICMgaW5jbHVkZSA8aW50dHlwZXMuaD4KfCAjZW5kaWYKfCAjaWZkZWYg
 SEFWRV9TVERJTlRfSAp8ICMgaW5jbHVkZSA8c3RkaW50Lmg+CnwgI2VuZGlmCnwgI2lmZGVmIEhB
 VkVfVU5JU1REX0gKfCAjIGluY2x1ZGUgPHVuaXN0ZC5oPgp8ICNlbmRpZgp8ICNpbmNsdWRlIDxz
 eXMvbWtkZXYuaD4KY29uZmlndXJlOjQzNzI6IHJlc3VsdDogbm8KY29uZmlndXJlOjQzNzI6IGNo
 ZWNraW5nIHN5cy9ta2Rldi5oIHByZXNlbmNlCmNvbmZpZ3VyZTo0MzcyOiBnY2MgLUUgIGNvbmZ0
 ZXN0LmMKY29uZnRlc3QuYzo0OToyMzogZmF0YWwgZXJyb3I6IHN5cy9ta2Rldi5oOiBObyBzdWNo
 IGZpbGUgb3IgZGlyZWN0b3J5CmNvbXBpbGF0aW9uIHRlcm1pbmF0ZWQuCmNvbmZpZ3VyZTo0Mzcy
 OiAkPyA9IDEKY29uZmlndXJlOiBmYWlsZWQgcHJvZ3JhbSB3YXM6CnwgLyogY29uZmRlZnMuaCAq
 Lwp8ICNkZWZpbmUgUEFDS0FHRV9OQU1FICJsaWJuYmNvbXBhdCIKfCAjZGVmaW5lIFBBQ0tBR0Vf
 VEFSTkFNRSAibGlibmJjb21wYXQiCnwgI2RlZmluZSBQQUNLQUdFX1ZFUlNJT04gIjIwMDgwNjA1
 Igp8ICNkZWZpbmUgUEFDS0FHRV9TVFJJTkcgImxpYm5iY29tcGF0IDIwMDgwNjA1Igp8ICNkZWZp
 bmUgUEFDS0FHRV9CVUdSRVBPUlQgImdyYW50QE5ldEJTRC5vcmciCnwgI2RlZmluZSBQQUNLQUdF
 X1VSTCAiIgp8ICNkZWZpbmUgU1REQ19IRUFERVJTIDEKfCAjZGVmaW5lIFRJTUVfV0lUSF9TWVNf
 VElNRSAxCnwgI2RlZmluZSBIQVZFX1NZU19UWVBFU19IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NU
 QVRfSCAxCnwgI2RlZmluZSBIQVZFX1NURExJQl9IIDEKfCAjZGVmaW5lIEhBVkVfU1RSSU5HX0gg
 MQp8ICNkZWZpbmUgSEFWRV9NRU1PUllfSCAxCnwgI2RlZmluZSBIQVZFX1NUUklOR1NfSCAxCnwg
 I2RlZmluZSBIQVZFX0lOVFRZUEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERJTlRfSCAxCnwgI2Rl
 ZmluZSBIQVZFX1VOSVNURF9IIDEKfCAjZGVmaW5lIEhBVkVfX0JPT0wgMQp8ICNkZWZpbmUgSEFW
 RV9TVERCT09MX0ggMQp8ICNkZWZpbmUgSEFWRV9BTExPQ0FfSCAxCnwgI2RlZmluZSBIQVZFX0FT
 U0VSVF9IIDEKfCAjZGVmaW5lIEhBVkVfQ1RZUEVfSCAxCnwgI2RlZmluZSBIQVZFX0RJUkVOVF9I
 IDEKfCAjZGVmaW5lIEhBVkVfRU5ESUFOX0ggMQp8ICNkZWZpbmUgSEFWRV9FUlJfSCAxCnwgI2Rl
 ZmluZSBIQVZFX0VSUk5PX0ggMQp8ICNkZWZpbmUgSEFWRV9GQ05UTF9IIDEKfCAjZGVmaW5lIEhB
 VkVfRk5NQVRDSF9IIDEKfCAjZGVmaW5lIEhBVkVfRlRTX0ggMQp8ICNkZWZpbmUgSEFWRV9HUlBf
 SCAxCnwgI2RlZmluZSBIQVZFX0lOVFRZUEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9MSUJVVElMX0gg
 MQp8ICNkZWZpbmUgSEFWRV9MSU1JVFNfSCAxCnwgI2RlZmluZSBIQVZFX05FVERCX0ggMQp8ICNk
 ZWZpbmUgSEFWRV9QQVRIU19IIDEKfCAjZGVmaW5lIEhBVkVfUFdEX0ggMQp8ICNkZWZpbmUgSEFW
 RV9TSUdOQUxfSCAxCnwgI2RlZmluZSBIQVZFX1NUREFSR19IIDEKfCAjZGVmaW5lIEhBVkVfU1RE
 REVGX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERJTlRfSCAxCnwgI2RlZmluZSBIQVZFX1NURElPX0gg
 MQp8ICNkZWZpbmUgSEFWRV9TVERMSUJfSCAxCnwgI2RlZmluZSBIQVZFX1NUUklOR19IIDEKfCAj
 ZGVmaW5lIEhBVkVfU1lTX0NERUZTX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfRElSX0ggMQp8ICNk
 ZWZpbmUgSEFWRV9TWVNfRklMRV9IIDEKfCAvKiBlbmQgY29uZmRlZnMuaC4gICovCnwgI2luY2x1
 ZGUgPHN5cy9ta2Rldi5oPgpjb25maWd1cmU6NDM3MjogcmVzdWx0OiBubwpjb25maWd1cmU6NDM3
 MjogY2hlY2tpbmcgZm9yIHN5cy9ta2Rldi5oCmNvbmZpZ3VyZTo0MzcyOiByZXN1bHQ6IG5vCmNv
 bmZpZ3VyZTo0MzcyOiBjaGVja2luZyBzeXMvbmRpci5oIHVzYWJpbGl0eQpjb25maWd1cmU6NDM3
 MjogZ2NjIC1jIC1nIC1PMiAgY29uZnRlc3QuYyA+JjUKY29uZnRlc3QuYzo4MjoyMjogZmF0YWwg
 ZXJyb3I6IHN5cy9uZGlyLmg6IE5vIHN1Y2ggZmlsZSBvciBkaXJlY3RvcnkKY29tcGlsYXRpb24g
 dGVybWluYXRlZC4KY29uZmlndXJlOjQzNzI6ICQ/ID0gMQpjb25maWd1cmU6IGZhaWxlZCBwcm9n
 cmFtIHdhczoKfCAvKiBjb25mZGVmcy5oICovCnwgI2RlZmluZSBQQUNLQUdFX05BTUUgImxpYm5i
 Y29tcGF0Igp8ICNkZWZpbmUgUEFDS0FHRV9UQVJOQU1FICJsaWJuYmNvbXBhdCIKfCAjZGVmaW5l
 IFBBQ0tBR0VfVkVSU0lPTiAiMjAwODA2MDUiCnwgI2RlZmluZSBQQUNLQUdFX1NUUklORyAibGli
 bmJjb21wYXQgMjAwODA2MDUiCnwgI2RlZmluZSBQQUNLQUdFX0JVR1JFUE9SVCAiZ3JhbnRATmV0
 QlNELm9yZyIKfCAjZGVmaW5lIFBBQ0tBR0VfVVJMICIiCnwgI2RlZmluZSBTVERDX0hFQURFUlMg
 MQp8ICNkZWZpbmUgVElNRV9XSVRIX1NZU19USU1FIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1RZUEVT
 X0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfU1RBVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1RETElCX0gg
 MQp8ICNkZWZpbmUgSEFWRV9TVFJJTkdfSCAxCnwgI2RlZmluZSBIQVZFX01FTU9SWV9IIDEKfCAj
 ZGVmaW5lIEhBVkVfU1RSSU5HU19IIDEKfCAjZGVmaW5lIEhBVkVfSU5UVFlQRVNfSCAxCnwgI2Rl
 ZmluZSBIQVZFX1NURElOVF9IIDEKfCAjZGVmaW5lIEhBVkVfVU5JU1REX0ggMQp8ICNkZWZpbmUg
 SEFWRV9fQk9PTCAxCnwgI2RlZmluZSBIQVZFX1NUREJPT0xfSCAxCnwgI2RlZmluZSBIQVZFX0FM
 TE9DQV9IIDEKfCAjZGVmaW5lIEhBVkVfQVNTRVJUX0ggMQp8ICNkZWZpbmUgSEFWRV9DVFlQRV9I
 IDEKfCAjZGVmaW5lIEhBVkVfRElSRU5UX0ggMQp8ICNkZWZpbmUgSEFWRV9FTkRJQU5fSCAxCnwg
 I2RlZmluZSBIQVZFX0VSUl9IIDEKfCAjZGVmaW5lIEhBVkVfRVJSTk9fSCAxCnwgI2RlZmluZSBI
 QVZFX0ZDTlRMX0ggMQp8ICNkZWZpbmUgSEFWRV9GTk1BVENIX0ggMQp8ICNkZWZpbmUgSEFWRV9G
 VFNfSCAxCnwgI2RlZmluZSBIQVZFX0dSUF9IIDEKfCAjZGVmaW5lIEhBVkVfSU5UVFlQRVNfSCAx
 CnwgI2RlZmluZSBIQVZFX0xJQlVUSUxfSCAxCnwgI2RlZmluZSBIQVZFX0xJTUlUU19IIDEKfCAj
 ZGVmaW5lIEhBVkVfTkVUREJfSCAxCnwgI2RlZmluZSBIQVZFX1BBVEhTX0ggMQp8ICNkZWZpbmUg
 SEFWRV9QV0RfSCAxCnwgI2RlZmluZSBIQVZFX1NJR05BTF9IIDEKfCAjZGVmaW5lIEhBVkVfU1RE
 QVJHX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERERUZfSCAxCnwgI2RlZmluZSBIQVZFX1NURElOVF9I
 IDEKfCAjZGVmaW5lIEhBVkVfU1RESU9fSCAxCnwgI2RlZmluZSBIQVZFX1NURExJQl9IIDEKfCAj
 ZGVmaW5lIEhBVkVfU1RSSU5HX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfQ0RFRlNfSCAxCnwgI2Rl
 ZmluZSBIQVZFX1NZU19ESVJfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19GSUxFX0ggMQp8IC8qIGVu
 ZCBjb25mZGVmcy5oLiAgKi8KfCAjaW5jbHVkZSA8c3RkaW8uaD4KfCAjaWZkZWYgSEFWRV9TWVNf
 VFlQRVNfSAp8ICMgaW5jbHVkZSA8c3lzL3R5cGVzLmg+CnwgI2VuZGlmCnwgI2lmZGVmIEhBVkVf
 U1lTX1NUQVRfSAp8ICMgaW5jbHVkZSA8c3lzL3N0YXQuaD4KfCAjZW5kaWYKfCAjaWZkZWYgU1RE
 Q19IRUFERVJTCnwgIyBpbmNsdWRlIDxzdGRsaWIuaD4KfCAjIGluY2x1ZGUgPHN0ZGRlZi5oPgp8
 ICNlbHNlCnwgIyBpZmRlZiBIQVZFX1NURExJQl9ICnwgIyAgaW5jbHVkZSA8c3RkbGliLmg+Cnwg
 IyBlbmRpZgp8ICNlbmRpZgp8ICNpZmRlZiBIQVZFX1NUUklOR19ICnwgIyBpZiAhZGVmaW5lZCBT
 VERDX0hFQURFUlMgJiYgZGVmaW5lZCBIQVZFX01FTU9SWV9ICnwgIyAgaW5jbHVkZSA8bWVtb3J5
 Lmg+CnwgIyBlbmRpZgp8ICMgaW5jbHVkZSA8c3RyaW5nLmg+CnwgI2VuZGlmCnwgI2lmZGVmIEhB
 VkVfU1RSSU5HU19ICnwgIyBpbmNsdWRlIDxzdHJpbmdzLmg+CnwgI2VuZGlmCnwgI2lmZGVmIEhB
 VkVfSU5UVFlQRVNfSAp8ICMgaW5jbHVkZSA8aW50dHlwZXMuaD4KfCAjZW5kaWYKfCAjaWZkZWYg
 SEFWRV9TVERJTlRfSAp8ICMgaW5jbHVkZSA8c3RkaW50Lmg+CnwgI2VuZGlmCnwgI2lmZGVmIEhB
 VkVfVU5JU1REX0gKfCAjIGluY2x1ZGUgPHVuaXN0ZC5oPgp8ICNlbmRpZgp8ICNpbmNsdWRlIDxz
 eXMvbmRpci5oPgpjb25maWd1cmU6NDM3MjogcmVzdWx0OiBubwpjb25maWd1cmU6NDM3MjogY2hl
 Y2tpbmcgc3lzL25kaXIuaCBwcmVzZW5jZQpjb25maWd1cmU6NDM3MjogZ2NjIC1FICBjb25mdGVz
 dC5jCmNvbmZ0ZXN0LmM6NDk6MjI6IGZhdGFsIGVycm9yOiBzeXMvbmRpci5oOiBObyBzdWNoIGZp
 bGUgb3IgZGlyZWN0b3J5CmNvbXBpbGF0aW9uIHRlcm1pbmF0ZWQuCmNvbmZpZ3VyZTo0MzcyOiAk
 PyA9IDEKY29uZmlndXJlOiBmYWlsZWQgcHJvZ3JhbSB3YXM6CnwgLyogY29uZmRlZnMuaCAqLwp8
 ICNkZWZpbmUgUEFDS0FHRV9OQU1FICJsaWJuYmNvbXBhdCIKfCAjZGVmaW5lIFBBQ0tBR0VfVEFS
 TkFNRSAibGlibmJjb21wYXQiCnwgI2RlZmluZSBQQUNLQUdFX1ZFUlNJT04gIjIwMDgwNjA1Igp8
 ICNkZWZpbmUgUEFDS0FHRV9TVFJJTkcgImxpYm5iY29tcGF0IDIwMDgwNjA1Igp8ICNkZWZpbmUg
 UEFDS0FHRV9CVUdSRVBPUlQgImdyYW50QE5ldEJTRC5vcmciCnwgI2RlZmluZSBQQUNLQUdFX1VS
 TCAiIgp8ICNkZWZpbmUgU1REQ19IRUFERVJTIDEKfCAjZGVmaW5lIFRJTUVfV0lUSF9TWVNfVElN
 RSAxCnwgI2RlZmluZSBIQVZFX1NZU19UWVBFU19IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NUQVRf
 SCAxCnwgI2RlZmluZSBIQVZFX1NURExJQl9IIDEKfCAjZGVmaW5lIEhBVkVfU1RSSU5HX0ggMQp8
 ICNkZWZpbmUgSEFWRV9NRU1PUllfSCAxCnwgI2RlZmluZSBIQVZFX1NUUklOR1NfSCAxCnwgI2Rl
 ZmluZSBIQVZFX0lOVFRZUEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERJTlRfSCAxCnwgI2RlZmlu
 ZSBIQVZFX1VOSVNURF9IIDEKfCAjZGVmaW5lIEhBVkVfX0JPT0wgMQp8ICNkZWZpbmUgSEFWRV9T
 VERCT09MX0ggMQp8ICNkZWZpbmUgSEFWRV9BTExPQ0FfSCAxCnwgI2RlZmluZSBIQVZFX0FTU0VS
 VF9IIDEKfCAjZGVmaW5lIEhBVkVfQ1RZUEVfSCAxCnwgI2RlZmluZSBIQVZFX0RJUkVOVF9IIDEK
 fCAjZGVmaW5lIEhBVkVfRU5ESUFOX0ggMQp8ICNkZWZpbmUgSEFWRV9FUlJfSCAxCnwgI2RlZmlu
 ZSBIQVZFX0VSUk5PX0ggMQp8ICNkZWZpbmUgSEFWRV9GQ05UTF9IIDEKfCAjZGVmaW5lIEhBVkVf
 Rk5NQVRDSF9IIDEKfCAjZGVmaW5lIEhBVkVfRlRTX0ggMQp8ICNkZWZpbmUgSEFWRV9HUlBfSCAx
 CnwgI2RlZmluZSBIQVZFX0lOVFRZUEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9MSUJVVElMX0ggMQp8
 ICNkZWZpbmUgSEFWRV9MSU1JVFNfSCAxCnwgI2RlZmluZSBIQVZFX05FVERCX0ggMQp8ICNkZWZp
 bmUgSEFWRV9QQVRIU19IIDEKfCAjZGVmaW5lIEhBVkVfUFdEX0ggMQp8ICNkZWZpbmUgSEFWRV9T
 SUdOQUxfSCAxCnwgI2RlZmluZSBIQVZFX1NUREFSR19IIDEKfCAjZGVmaW5lIEhBVkVfU1REREVG
 X0ggMQp8ICNkZWZpbmUgSEFWRV9TVERJTlRfSCAxCnwgI2RlZmluZSBIQVZFX1NURElPX0ggMQp8
 ICNkZWZpbmUgSEFWRV9TVERMSUJfSCAxCnwgI2RlZmluZSBIQVZFX1NUUklOR19IIDEKfCAjZGVm
 aW5lIEhBVkVfU1lTX0NERUZTX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfRElSX0ggMQp8ICNkZWZp
 bmUgSEFWRV9TWVNfRklMRV9IIDEKfCAvKiBlbmQgY29uZmRlZnMuaC4gICovCnwgI2luY2x1ZGUg
 PHN5cy9uZGlyLmg+CmNvbmZpZ3VyZTo0MzcyOiByZXN1bHQ6IG5vCmNvbmZpZ3VyZTo0MzcyOiBj
 aGVja2luZyBmb3Igc3lzL25kaXIuaApjb25maWd1cmU6NDM3MjogcmVzdWx0OiBubwpjb25maWd1
 cmU6NDM3MjogY2hlY2tpbmcgc3lzL3BhcmFtLmggdXNhYmlsaXR5CmNvbmZpZ3VyZTo0MzcyOiBn
 Y2MgLWMgLWcgLU8yICBjb25mdGVzdC5jID4mNQpjb25maWd1cmU6NDM3MjogJD8gPSAwCmNvbmZp
 Z3VyZTo0MzcyOiByZXN1bHQ6IHllcwpjb25maWd1cmU6NDM3MjogY2hlY2tpbmcgc3lzL3BhcmFt
 LmggcHJlc2VuY2UKY29uZmlndXJlOjQzNzI6IGdjYyAtRSAgY29uZnRlc3QuYwpjb25maWd1cmU6
 NDM3MjogJD8gPSAwCmNvbmZpZ3VyZTo0MzcyOiByZXN1bHQ6IHllcwpjb25maWd1cmU6NDM3Mjog
 Y2hlY2tpbmcgZm9yIHN5cy9wYXJhbS5oCmNvbmZpZ3VyZTo0MzcyOiByZXN1bHQ6IHllcwpjb25m
 aWd1cmU6NDM3MjogY2hlY2tpbmcgc3lzL3NvY2tldC5oIHVzYWJpbGl0eQpjb25maWd1cmU6NDM3
 MjogZ2NjIC1jIC1nIC1PMiAgY29uZnRlc3QuYyA+JjUKY29uZmlndXJlOjQzNzI6ICQ/ID0gMApj
 b25maWd1cmU6NDM3MjogcmVzdWx0OiB5ZXMKY29uZmlndXJlOjQzNzI6IGNoZWNraW5nIHN5cy9z
 b2NrZXQuaCBwcmVzZW5jZQpjb25maWd1cmU6NDM3MjogZ2NjIC1FICBjb25mdGVzdC5jCmNvbmZp
 Z3VyZTo0MzcyOiAkPyA9IDAKY29uZmlndXJlOjQzNzI6IHJlc3VsdDogeWVzCmNvbmZpZ3VyZTo0
 MzcyOiBjaGVja2luZyBmb3Igc3lzL3NvY2tldC5oCmNvbmZpZ3VyZTo0MzcyOiByZXN1bHQ6IHll
 cwpjb25maWd1cmU6NDM3MjogY2hlY2tpbmcgZm9yIHN5cy9zdGF0LmgKY29uZmlndXJlOjQzNzI6
 IHJlc3VsdDogeWVzCmNvbmZpZ3VyZTo0MzcyOiBjaGVja2luZyBzeXMvc3RhdGZzLmggdXNhYmls
 aXR5CmNvbmZpZ3VyZTo0MzcyOiBnY2MgLWMgLWcgLU8yICBjb25mdGVzdC5jID4mNQpjb25maWd1
 cmU6NDM3MjogJD8gPSAwCmNvbmZpZ3VyZTo0MzcyOiByZXN1bHQ6IHllcwpjb25maWd1cmU6NDM3
 MjogY2hlY2tpbmcgc3lzL3N0YXRmcy5oIHByZXNlbmNlCmNvbmZpZ3VyZTo0MzcyOiBnY2MgLUUg
 IGNvbmZ0ZXN0LmMKY29uZmlndXJlOjQzNzI6ICQ/ID0gMApjb25maWd1cmU6NDM3MjogcmVzdWx0
 OiB5ZXMKY29uZmlndXJlOjQzNzI6IGNoZWNraW5nIGZvciBzeXMvc3RhdGZzLmgKY29uZmlndXJl
 OjQzNzI6IHJlc3VsdDogeWVzCmNvbmZpZ3VyZTo0MzcyOiBjaGVja2luZyBzeXMvc3RhdHZmcy5o
 IHVzYWJpbGl0eQpjb25maWd1cmU6NDM3MjogZ2NjIC1jIC1nIC1PMiAgY29uZnRlc3QuYyA+JjUK
 Y29uZmlndXJlOjQzNzI6ICQ/ID0gMApjb25maWd1cmU6NDM3MjogcmVzdWx0OiB5ZXMKY29uZmln
 dXJlOjQzNzI6IGNoZWNraW5nIHN5cy9zdGF0dmZzLmggcHJlc2VuY2UKY29uZmlndXJlOjQzNzI6
 IGdjYyAtRSAgY29uZnRlc3QuYwpjb25maWd1cmU6NDM3MjogJD8gPSAwCmNvbmZpZ3VyZTo0Mzcy
 OiByZXN1bHQ6IHllcwpjb25maWd1cmU6NDM3MjogY2hlY2tpbmcgZm9yIHN5cy9zdGF0dmZzLmgK
 Y29uZmlndXJlOjQzNzI6IHJlc3VsdDogeWVzCmNvbmZpZ3VyZTo0MzcyOiBjaGVja2luZyBzeXMv
 dGltZS5oIHVzYWJpbGl0eQpjb25maWd1cmU6NDM3MjogZ2NjIC1jIC1nIC1PMiAgY29uZnRlc3Qu
 YyA+JjUKY29uZmlndXJlOjQzNzI6ICQ/ID0gMApjb25maWd1cmU6NDM3MjogcmVzdWx0OiB5ZXMK
 Y29uZmlndXJlOjQzNzI6IGNoZWNraW5nIHN5cy90aW1lLmggcHJlc2VuY2UKY29uZmlndXJlOjQz
 NzI6IGdjYyAtRSAgY29uZnRlc3QuYwpjb25maWd1cmU6NDM3MjogJD8gPSAwCmNvbmZpZ3VyZTo0
 MzcyOiByZXN1bHQ6IHllcwpjb25maWd1cmU6NDM3MjogY2hlY2tpbmcgZm9yIHN5cy90aW1lLmgK
 Y29uZmlndXJlOjQzNzI6IHJlc3VsdDogeWVzCmNvbmZpZ3VyZTo0MzcyOiBjaGVja2luZyBzeXMv
 dHR5Y29tLmggdXNhYmlsaXR5CmNvbmZpZ3VyZTo0MzcyOiBnY2MgLWMgLWcgLU8yICBjb25mdGVz
 dC5jID4mNQpjb25mdGVzdC5jOjg4OjI0OiBmYXRhbCBlcnJvcjogc3lzL3R0eWNvbS5oOiBObyBz
 dWNoIGZpbGUgb3IgZGlyZWN0b3J5CmNvbXBpbGF0aW9uIHRlcm1pbmF0ZWQuCmNvbmZpZ3VyZTo0
 MzcyOiAkPyA9IDEKY29uZmlndXJlOiBmYWlsZWQgcHJvZ3JhbSB3YXM6CnwgLyogY29uZmRlZnMu
 aCAqLwp8ICNkZWZpbmUgUEFDS0FHRV9OQU1FICJsaWJuYmNvbXBhdCIKfCAjZGVmaW5lIFBBQ0tB
 R0VfVEFSTkFNRSAibGlibmJjb21wYXQiCnwgI2RlZmluZSBQQUNLQUdFX1ZFUlNJT04gIjIwMDgw
 NjA1Igp8ICNkZWZpbmUgUEFDS0FHRV9TVFJJTkcgImxpYm5iY29tcGF0IDIwMDgwNjA1Igp8ICNk
 ZWZpbmUgUEFDS0FHRV9CVUdSRVBPUlQgImdyYW50QE5ldEJTRC5vcmciCnwgI2RlZmluZSBQQUNL
 QUdFX1VSTCAiIgp8ICNkZWZpbmUgU1REQ19IRUFERVJTIDEKfCAjZGVmaW5lIFRJTUVfV0lUSF9T
 WVNfVElNRSAxCnwgI2RlZmluZSBIQVZFX1NZU19UWVBFU19IIDEKfCAjZGVmaW5lIEhBVkVfU1lT
 X1NUQVRfSCAxCnwgI2RlZmluZSBIQVZFX1NURExJQl9IIDEKfCAjZGVmaW5lIEhBVkVfU1RSSU5H
 X0ggMQp8ICNkZWZpbmUgSEFWRV9NRU1PUllfSCAxCnwgI2RlZmluZSBIQVZFX1NUUklOR1NfSCAx
 CnwgI2RlZmluZSBIQVZFX0lOVFRZUEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERJTlRfSCAxCnwg
 I2RlZmluZSBIQVZFX1VOSVNURF9IIDEKfCAjZGVmaW5lIEhBVkVfX0JPT0wgMQp8ICNkZWZpbmUg
 SEFWRV9TVERCT09MX0ggMQp8ICNkZWZpbmUgSEFWRV9BTExPQ0FfSCAxCnwgI2RlZmluZSBIQVZF
 X0FTU0VSVF9IIDEKfCAjZGVmaW5lIEhBVkVfQ1RZUEVfSCAxCnwgI2RlZmluZSBIQVZFX0RJUkVO
 VF9IIDEKfCAjZGVmaW5lIEhBVkVfRU5ESUFOX0ggMQp8ICNkZWZpbmUgSEFWRV9FUlJfSCAxCnwg
 I2RlZmluZSBIQVZFX0VSUk5PX0ggMQp8ICNkZWZpbmUgSEFWRV9GQ05UTF9IIDEKfCAjZGVmaW5l
 IEhBVkVfRk5NQVRDSF9IIDEKfCAjZGVmaW5lIEhBVkVfRlRTX0ggMQp8ICNkZWZpbmUgSEFWRV9H
 UlBfSCAxCnwgI2RlZmluZSBIQVZFX0lOVFRZUEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9MSUJVVElM
 X0ggMQp8ICNkZWZpbmUgSEFWRV9MSU1JVFNfSCAxCnwgI2RlZmluZSBIQVZFX05FVERCX0ggMQp8
 ICNkZWZpbmUgSEFWRV9QQVRIU19IIDEKfCAjZGVmaW5lIEhBVkVfUFdEX0ggMQp8ICNkZWZpbmUg
 SEFWRV9TSUdOQUxfSCAxCnwgI2RlZmluZSBIQVZFX1NUREFSR19IIDEKfCAjZGVmaW5lIEhBVkVf
 U1REREVGX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERJTlRfSCAxCnwgI2RlZmluZSBIQVZFX1NURElP
 X0ggMQp8ICNkZWZpbmUgSEFWRV9TVERMSUJfSCAxCnwgI2RlZmluZSBIQVZFX1NUUklOR19IIDEK
 fCAjZGVmaW5lIEhBVkVfU1lTX0NERUZTX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfRElSX0ggMQp8
 ICNkZWZpbmUgSEFWRV9TWVNfRklMRV9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1BBUkFNX0ggMQp8
 ICNkZWZpbmUgSEFWRV9TWVNfU09DS0VUX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfU1RBVF9IIDEK
 fCAjZGVmaW5lIEhBVkVfU1lTX1NUQVRGU19IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NUQVRWRlNf
 SCAxCnwgI2RlZmluZSBIQVZFX1NZU19USU1FX0ggMQp8IC8qIGVuZCBjb25mZGVmcy5oLiAgKi8K
 fCAjaW5jbHVkZSA8c3RkaW8uaD4KfCAjaWZkZWYgSEFWRV9TWVNfVFlQRVNfSAp8ICMgaW5jbHVk
 ZSA8c3lzL3R5cGVzLmg+CnwgI2VuZGlmCnwgI2lmZGVmIEhBVkVfU1lTX1NUQVRfSAp8ICMgaW5j
 bHVkZSA8c3lzL3N0YXQuaD4KfCAjZW5kaWYKfCAjaWZkZWYgU1REQ19IRUFERVJTCnwgIyBpbmNs
 dWRlIDxzdGRsaWIuaD4KfCAjIGluY2x1ZGUgPHN0ZGRlZi5oPgp8ICNlbHNlCnwgIyBpZmRlZiBI
 QVZFX1NURExJQl9ICnwgIyAgaW5jbHVkZSA8c3RkbGliLmg+CnwgIyBlbmRpZgp8ICNlbmRpZgp8
 ICNpZmRlZiBIQVZFX1NUUklOR19ICnwgIyBpZiAhZGVmaW5lZCBTVERDX0hFQURFUlMgJiYgZGVm
 aW5lZCBIQVZFX01FTU9SWV9ICnwgIyAgaW5jbHVkZSA8bWVtb3J5Lmg+CnwgIyBlbmRpZgp8ICMg
 aW5jbHVkZSA8c3RyaW5nLmg+CnwgI2VuZGlmCnwgI2lmZGVmIEhBVkVfU1RSSU5HU19ICnwgIyBp
 bmNsdWRlIDxzdHJpbmdzLmg+CnwgI2VuZGlmCnwgI2lmZGVmIEhBVkVfSU5UVFlQRVNfSAp8ICMg
 aW5jbHVkZSA8aW50dHlwZXMuaD4KfCAjZW5kaWYKfCAjaWZkZWYgSEFWRV9TVERJTlRfSAp8ICMg
 aW5jbHVkZSA8c3RkaW50Lmg+CnwgI2VuZGlmCnwgI2lmZGVmIEhBVkVfVU5JU1REX0gKfCAjIGlu
 Y2x1ZGUgPHVuaXN0ZC5oPgp8ICNlbmRpZgp8ICNpbmNsdWRlIDxzeXMvdHR5Y29tLmg+CmNvbmZp
 Z3VyZTo0MzcyOiByZXN1bHQ6IG5vCmNvbmZpZ3VyZTo0MzcyOiBjaGVja2luZyBzeXMvdHR5Y29t
 LmggcHJlc2VuY2UKY29uZmlndXJlOjQzNzI6IGdjYyAtRSAgY29uZnRlc3QuYwpjb25mdGVzdC5j
 OjU1OjI0OiBmYXRhbCBlcnJvcjogc3lzL3R0eWNvbS5oOiBObyBzdWNoIGZpbGUgb3IgZGlyZWN0
 b3J5CmNvbXBpbGF0aW9uIHRlcm1pbmF0ZWQuCmNvbmZpZ3VyZTo0MzcyOiAkPyA9IDEKY29uZmln
 dXJlOiBmYWlsZWQgcHJvZ3JhbSB3YXM6CnwgLyogY29uZmRlZnMuaCAqLwp8ICNkZWZpbmUgUEFD
 S0FHRV9OQU1FICJsaWJuYmNvbXBhdCIKfCAjZGVmaW5lIFBBQ0tBR0VfVEFSTkFNRSAibGlibmJj
 b21wYXQiCnwgI2RlZmluZSBQQUNLQUdFX1ZFUlNJT04gIjIwMDgwNjA1Igp8ICNkZWZpbmUgUEFD
 S0FHRV9TVFJJTkcgImxpYm5iY29tcGF0IDIwMDgwNjA1Igp8ICNkZWZpbmUgUEFDS0FHRV9CVUdS
 RVBPUlQgImdyYW50QE5ldEJTRC5vcmciCnwgI2RlZmluZSBQQUNLQUdFX1VSTCAiIgp8ICNkZWZp
 bmUgU1REQ19IRUFERVJTIDEKfCAjZGVmaW5lIFRJTUVfV0lUSF9TWVNfVElNRSAxCnwgI2RlZmlu
 ZSBIQVZFX1NZU19UWVBFU19IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NUQVRfSCAxCnwgI2RlZmlu
 ZSBIQVZFX1NURExJQl9IIDEKfCAjZGVmaW5lIEhBVkVfU1RSSU5HX0ggMQp8ICNkZWZpbmUgSEFW
 RV9NRU1PUllfSCAxCnwgI2RlZmluZSBIQVZFX1NUUklOR1NfSCAxCnwgI2RlZmluZSBIQVZFX0lO
 VFRZUEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERJTlRfSCAxCnwgI2RlZmluZSBIQVZFX1VOSVNU
 RF9IIDEKfCAjZGVmaW5lIEhBVkVfX0JPT0wgMQp8ICNkZWZpbmUgSEFWRV9TVERCT09MX0ggMQp8
 ICNkZWZpbmUgSEFWRV9BTExPQ0FfSCAxCnwgI2RlZmluZSBIQVZFX0FTU0VSVF9IIDEKfCAjZGVm
 aW5lIEhBVkVfQ1RZUEVfSCAxCnwgI2RlZmluZSBIQVZFX0RJUkVOVF9IIDEKfCAjZGVmaW5lIEhB
 VkVfRU5ESUFOX0ggMQp8ICNkZWZpbmUgSEFWRV9FUlJfSCAxCnwgI2RlZmluZSBIQVZFX0VSUk5P
 X0ggMQp8ICNkZWZpbmUgSEFWRV9GQ05UTF9IIDEKfCAjZGVmaW5lIEhBVkVfRk5NQVRDSF9IIDEK
 fCAjZGVmaW5lIEhBVkVfRlRTX0ggMQp8ICNkZWZpbmUgSEFWRV9HUlBfSCAxCnwgI2RlZmluZSBI
 QVZFX0lOVFRZUEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9MSUJVVElMX0ggMQp8ICNkZWZpbmUgSEFW
 RV9MSU1JVFNfSCAxCnwgI2RlZmluZSBIQVZFX05FVERCX0ggMQp8ICNkZWZpbmUgSEFWRV9QQVRI
 U19IIDEKfCAjZGVmaW5lIEhBVkVfUFdEX0ggMQp8ICNkZWZpbmUgSEFWRV9TSUdOQUxfSCAxCnwg
 I2RlZmluZSBIQVZFX1NUREFSR19IIDEKfCAjZGVmaW5lIEhBVkVfU1REREVGX0ggMQp8ICNkZWZp
 bmUgSEFWRV9TVERJTlRfSCAxCnwgI2RlZmluZSBIQVZFX1NURElPX0ggMQp8ICNkZWZpbmUgSEFW
 RV9TVERMSUJfSCAxCnwgI2RlZmluZSBIQVZFX1NUUklOR19IIDEKfCAjZGVmaW5lIEhBVkVfU1lT
 X0NERUZTX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfRElSX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNf
 RklMRV9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1BBUkFNX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNf
 U09DS0VUX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfU1RBVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1lT
 X1NUQVRGU19IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NUQVRWRlNfSCAxCnwgI2RlZmluZSBIQVZF
 X1NZU19USU1FX0ggMQp8IC8qIGVuZCBjb25mZGVmcy5oLiAgKi8KfCAjaW5jbHVkZSA8c3lzL3R0
 eWNvbS5oPgpjb25maWd1cmU6NDM3MjogcmVzdWx0OiBubwpjb25maWd1cmU6NDM3MjogY2hlY2tp
 bmcgZm9yIHN5cy90dHljb20uaApjb25maWd1cmU6NDM3MjogcmVzdWx0OiBubwpjb25maWd1cmU6
 NDM3MjogY2hlY2tpbmcgZm9yIHN5cy90eXBlcy5oCmNvbmZpZ3VyZTo0MzcyOiByZXN1bHQ6IHll
 cwpjb25maWd1cmU6NDM3MjogY2hlY2tpbmcgc3lzL3Vpby5oIHVzYWJpbGl0eQpjb25maWd1cmU6
 NDM3MjogZ2NjIC1jIC1nIC1PMiAgY29uZnRlc3QuYyA+JjUKY29uZmlndXJlOjQzNzI6ICQ/ID0g
 MApjb25maWd1cmU6NDM3MjogcmVzdWx0OiB5ZXMKY29uZmlndXJlOjQzNzI6IGNoZWNraW5nIHN5
 cy91aW8uaCBwcmVzZW5jZQpjb25maWd1cmU6NDM3MjogZ2NjIC1FICBjb25mdGVzdC5jCmNvbmZp
 Z3VyZTo0MzcyOiAkPyA9IDAKY29uZmlndXJlOjQzNzI6IHJlc3VsdDogeWVzCmNvbmZpZ3VyZTo0
 MzcyOiBjaGVja2luZyBmb3Igc3lzL3Vpby5oCmNvbmZpZ3VyZTo0MzcyOiByZXN1bHQ6IHllcwpj
 b25maWd1cmU6NDM3MjogY2hlY2tpbmcgc3lzL3Zmcy5oIHVzYWJpbGl0eQpjb25maWd1cmU6NDM3
 MjogZ2NjIC1jIC1nIC1PMiAgY29uZnRlc3QuYyA+JjUKY29uZmlndXJlOjQzNzI6ICQ/ID0gMApj
 b25maWd1cmU6NDM3MjogcmVzdWx0OiB5ZXMKY29uZmlndXJlOjQzNzI6IGNoZWNraW5nIHN5cy92
 ZnMuaCBwcmVzZW5jZQpjb25maWd1cmU6NDM3MjogZ2NjIC1FICBjb25mdGVzdC5jCmNvbmZpZ3Vy
 ZTo0MzcyOiAkPyA9IDAKY29uZmlndXJlOjQzNzI6IHJlc3VsdDogeWVzCmNvbmZpZ3VyZTo0Mzcy
 OiBjaGVja2luZyBmb3Igc3lzL3Zmcy5oCmNvbmZpZ3VyZTo0MzcyOiByZXN1bHQ6IHllcwpjb25m
 aWd1cmU6NDM3MjogY2hlY2tpbmcgc3lzZXhpdHMuaCB1c2FiaWxpdHkKY29uZmlndXJlOjQzNzI6
 IGdjYyAtYyAtZyAtTzIgIGNvbmZ0ZXN0LmMgPiY1CmNvbmZpZ3VyZTo0MzcyOiAkPyA9IDAKY29u
 ZmlndXJlOjQzNzI6IHJlc3VsdDogeWVzCmNvbmZpZ3VyZTo0MzcyOiBjaGVja2luZyBzeXNleGl0
 cy5oIHByZXNlbmNlCmNvbmZpZ3VyZTo0MzcyOiBnY2MgLUUgIGNvbmZ0ZXN0LmMKY29uZmlndXJl
 OjQzNzI6ICQ/ID0gMApjb25maWd1cmU6NDM3MjogcmVzdWx0OiB5ZXMKY29uZmlndXJlOjQzNzI6
 IGNoZWNraW5nIGZvciBzeXNleGl0cy5oCmNvbmZpZ3VyZTo0MzcyOiByZXN1bHQ6IHllcwpjb25m
 aWd1cmU6NDM3MjogY2hlY2tpbmcgdGVybWNhcC5oIHVzYWJpbGl0eQpjb25maWd1cmU6NDM3Mjog
 Z2NjIC1jIC1nIC1PMiAgY29uZnRlc3QuYyA+JjUKY29uZmlndXJlOjQzNzI6ICQ/ID0gMApjb25m
 aWd1cmU6NDM3MjogcmVzdWx0OiB5ZXMKY29uZmlndXJlOjQzNzI6IGNoZWNraW5nIHRlcm1jYXAu
 aCBwcmVzZW5jZQpjb25maWd1cmU6NDM3MjogZ2NjIC1FICBjb25mdGVzdC5jCmNvbmZpZ3VyZTo0
 MzcyOiAkPyA9IDAKY29uZmlndXJlOjQzNzI6IHJlc3VsdDogeWVzCmNvbmZpZ3VyZTo0MzcyOiBj
 aGVja2luZyBmb3IgdGVybWNhcC5oCmNvbmZpZ3VyZTo0MzcyOiByZXN1bHQ6IHllcwpjb25maWd1
 cmU6NDM3MjogY2hlY2tpbmcgdGltZS5oIHVzYWJpbGl0eQpjb25maWd1cmU6NDM3MjogZ2NjIC1j
 IC1nIC1PMiAgY29uZnRlc3QuYyA+JjUKY29uZmlndXJlOjQzNzI6ICQ/ID0gMApjb25maWd1cmU6
 NDM3MjogcmVzdWx0OiB5ZXMKY29uZmlndXJlOjQzNzI6IGNoZWNraW5nIHRpbWUuaCBwcmVzZW5j
 ZQpjb25maWd1cmU6NDM3MjogZ2NjIC1FICBjb25mdGVzdC5jCmNvbmZpZ3VyZTo0MzcyOiAkPyA9
 IDAKY29uZmlndXJlOjQzNzI6IHJlc3VsdDogeWVzCmNvbmZpZ3VyZTo0MzcyOiBjaGVja2luZyBm
 b3IgdGltZS5oCmNvbmZpZ3VyZTo0MzcyOiByZXN1bHQ6IHllcwpjb25maWd1cmU6NDM3MjogY2hl
 Y2tpbmcgdHpmaWxlLmggdXNhYmlsaXR5CmNvbmZpZ3VyZTo0MzcyOiBnY2MgLWMgLWcgLU8yICBj
 b25mdGVzdC5jID4mNQpjb25mdGVzdC5jOjk0OjIwOiBmYXRhbCBlcnJvcjogdHpmaWxlLmg6IE5v
 IHN1Y2ggZmlsZSBvciBkaXJlY3RvcnkKY29tcGlsYXRpb24gdGVybWluYXRlZC4KY29uZmlndXJl
 OjQzNzI6ICQ/ID0gMQpjb25maWd1cmU6IGZhaWxlZCBwcm9ncmFtIHdhczoKfCAvKiBjb25mZGVm
 cy5oICovCnwgI2RlZmluZSBQQUNLQUdFX05BTUUgImxpYm5iY29tcGF0Igp8ICNkZWZpbmUgUEFD
 S0FHRV9UQVJOQU1FICJsaWJuYmNvbXBhdCIKfCAjZGVmaW5lIFBBQ0tBR0VfVkVSU0lPTiAiMjAw
 ODA2MDUiCnwgI2RlZmluZSBQQUNLQUdFX1NUUklORyAibGlibmJjb21wYXQgMjAwODA2MDUiCnwg
 I2RlZmluZSBQQUNLQUdFX0JVR1JFUE9SVCAiZ3JhbnRATmV0QlNELm9yZyIKfCAjZGVmaW5lIFBB
 Q0tBR0VfVVJMICIiCnwgI2RlZmluZSBTVERDX0hFQURFUlMgMQp8ICNkZWZpbmUgVElNRV9XSVRI
 X1NZU19USU1FIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1RZUEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9T
 WVNfU1RBVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1RETElCX0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJJ
 TkdfSCAxCnwgI2RlZmluZSBIQVZFX01FTU9SWV9IIDEKfCAjZGVmaW5lIEhBVkVfU1RSSU5HU19I
 IDEKfCAjZGVmaW5lIEhBVkVfSU5UVFlQRVNfSCAxCnwgI2RlZmluZSBIQVZFX1NURElOVF9IIDEK
 fCAjZGVmaW5lIEhBVkVfVU5JU1REX0ggMQp8ICNkZWZpbmUgSEFWRV9fQk9PTCAxCnwgI2RlZmlu
 ZSBIQVZFX1NUREJPT0xfSCAxCnwgI2RlZmluZSBIQVZFX0FMTE9DQV9IIDEKfCAjZGVmaW5lIEhB
 VkVfQVNTRVJUX0ggMQp8ICNkZWZpbmUgSEFWRV9DVFlQRV9IIDEKfCAjZGVmaW5lIEhBVkVfRElS
 RU5UX0ggMQp8ICNkZWZpbmUgSEFWRV9FTkRJQU5fSCAxCnwgI2RlZmluZSBIQVZFX0VSUl9IIDEK
 fCAjZGVmaW5lIEhBVkVfRVJSTk9fSCAxCnwgI2RlZmluZSBIQVZFX0ZDTlRMX0ggMQp8ICNkZWZp
 bmUgSEFWRV9GTk1BVENIX0ggMQp8ICNkZWZpbmUgSEFWRV9GVFNfSCAxCnwgI2RlZmluZSBIQVZF
 X0dSUF9IIDEKfCAjZGVmaW5lIEhBVkVfSU5UVFlQRVNfSCAxCnwgI2RlZmluZSBIQVZFX0xJQlVU
 SUxfSCAxCnwgI2RlZmluZSBIQVZFX0xJTUlUU19IIDEKfCAjZGVmaW5lIEhBVkVfTkVUREJfSCAx
 CnwgI2RlZmluZSBIQVZFX1BBVEhTX0ggMQp8ICNkZWZpbmUgSEFWRV9QV0RfSCAxCnwgI2RlZmlu
 ZSBIQVZFX1NJR05BTF9IIDEKfCAjZGVmaW5lIEhBVkVfU1REQVJHX0ggMQp8ICNkZWZpbmUgSEFW
 RV9TVERERUZfSCAxCnwgI2RlZmluZSBIQVZFX1NURElOVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1RE
 SU9fSCAxCnwgI2RlZmluZSBIQVZFX1NURExJQl9IIDEKfCAjZGVmaW5lIEhBVkVfU1RSSU5HX0gg
 MQp8ICNkZWZpbmUgSEFWRV9TWVNfQ0RFRlNfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19ESVJfSCAx
 CnwgI2RlZmluZSBIQVZFX1NZU19GSUxFX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfUEFSQU1fSCAx
 CnwgI2RlZmluZSBIQVZFX1NZU19TT0NLRVRfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19TVEFUX0gg
 MQp8ICNkZWZpbmUgSEFWRV9TWVNfU1RBVEZTX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfU1RBVFZG
 U19IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1RJTUVfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19UWVBF
 U19IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1VJT19IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1ZGU19I
 IDEKfCAjZGVmaW5lIEhBVkVfU1lTRVhJVFNfSCAxCnwgI2RlZmluZSBIQVZFX1RFUk1DQVBfSCAx
 CnwgI2RlZmluZSBIQVZFX1RJTUVfSCAxCnwgLyogZW5kIGNvbmZkZWZzLmguICAqLwp8ICNpbmNs
 dWRlIDxzdGRpby5oPgp8ICNpZmRlZiBIQVZFX1NZU19UWVBFU19ICnwgIyBpbmNsdWRlIDxzeXMv
 dHlwZXMuaD4KfCAjZW5kaWYKfCAjaWZkZWYgSEFWRV9TWVNfU1RBVF9ICnwgIyBpbmNsdWRlIDxz
 eXMvc3RhdC5oPgp8ICNlbmRpZgp8ICNpZmRlZiBTVERDX0hFQURFUlMKfCAjIGluY2x1ZGUgPHN0
 ZGxpYi5oPgp8ICMgaW5jbHVkZSA8c3RkZGVmLmg+CnwgI2Vsc2UKfCAjIGlmZGVmIEhBVkVfU1RE
 TElCX0gKfCAjICBpbmNsdWRlIDxzdGRsaWIuaD4KfCAjIGVuZGlmCnwgI2VuZGlmCnwgI2lmZGVm
 IEhBVkVfU1RSSU5HX0gKfCAjIGlmICFkZWZpbmVkIFNURENfSEVBREVSUyAmJiBkZWZpbmVkIEhB
 VkVfTUVNT1JZX0gKfCAjICBpbmNsdWRlIDxtZW1vcnkuaD4KfCAjIGVuZGlmCnwgIyBpbmNsdWRl
 IDxzdHJpbmcuaD4KfCAjZW5kaWYKfCAjaWZkZWYgSEFWRV9TVFJJTkdTX0gKfCAjIGluY2x1ZGUg
 PHN0cmluZ3MuaD4KfCAjZW5kaWYKfCAjaWZkZWYgSEFWRV9JTlRUWVBFU19ICnwgIyBpbmNsdWRl
 IDxpbnR0eXBlcy5oPgp8ICNlbmRpZgp8ICNpZmRlZiBIQVZFX1NURElOVF9ICnwgIyBpbmNsdWRl
 IDxzdGRpbnQuaD4KfCAjZW5kaWYKfCAjaWZkZWYgSEFWRV9VTklTVERfSAp8ICMgaW5jbHVkZSA8
 dW5pc3RkLmg+CnwgI2VuZGlmCnwgI2luY2x1ZGUgPHR6ZmlsZS5oPgpjb25maWd1cmU6NDM3Mjog
 cmVzdWx0OiBubwpjb25maWd1cmU6NDM3MjogY2hlY2tpbmcgdHpmaWxlLmggcHJlc2VuY2UKY29u
 ZmlndXJlOjQzNzI6IGdjYyAtRSAgY29uZnRlc3QuYwpjb25mdGVzdC5jOjYxOjIwOiBmYXRhbCBl
 cnJvcjogdHpmaWxlLmg6IE5vIHN1Y2ggZmlsZSBvciBkaXJlY3RvcnkKY29tcGlsYXRpb24gdGVy
 bWluYXRlZC4KY29uZmlndXJlOjQzNzI6ICQ/ID0gMQpjb25maWd1cmU6IGZhaWxlZCBwcm9ncmFt
 IHdhczoKfCAvKiBjb25mZGVmcy5oICovCnwgI2RlZmluZSBQQUNLQUdFX05BTUUgImxpYm5iY29t
 cGF0Igp8ICNkZWZpbmUgUEFDS0FHRV9UQVJOQU1FICJsaWJuYmNvbXBhdCIKfCAjZGVmaW5lIFBB
 Q0tBR0VfVkVSU0lPTiAiMjAwODA2MDUiCnwgI2RlZmluZSBQQUNLQUdFX1NUUklORyAibGlibmJj
 b21wYXQgMjAwODA2MDUiCnwgI2RlZmluZSBQQUNLQUdFX0JVR1JFUE9SVCAiZ3JhbnRATmV0QlNE
 Lm9yZyIKfCAjZGVmaW5lIFBBQ0tBR0VfVVJMICIiCnwgI2RlZmluZSBTVERDX0hFQURFUlMgMQp8
 ICNkZWZpbmUgVElNRV9XSVRIX1NZU19USU1FIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1RZUEVTX0gg
 MQp8ICNkZWZpbmUgSEFWRV9TWVNfU1RBVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1RETElCX0ggMQp8
 ICNkZWZpbmUgSEFWRV9TVFJJTkdfSCAxCnwgI2RlZmluZSBIQVZFX01FTU9SWV9IIDEKfCAjZGVm
 aW5lIEhBVkVfU1RSSU5HU19IIDEKfCAjZGVmaW5lIEhBVkVfSU5UVFlQRVNfSCAxCnwgI2RlZmlu
 ZSBIQVZFX1NURElOVF9IIDEKfCAjZGVmaW5lIEhBVkVfVU5JU1REX0ggMQp8ICNkZWZpbmUgSEFW
 RV9fQk9PTCAxCnwgI2RlZmluZSBIQVZFX1NUREJPT0xfSCAxCnwgI2RlZmluZSBIQVZFX0FMTE9D
 QV9IIDEKfCAjZGVmaW5lIEhBVkVfQVNTRVJUX0ggMQp8ICNkZWZpbmUgSEFWRV9DVFlQRV9IIDEK
 fCAjZGVmaW5lIEhBVkVfRElSRU5UX0ggMQp8ICNkZWZpbmUgSEFWRV9FTkRJQU5fSCAxCnwgI2Rl
 ZmluZSBIQVZFX0VSUl9IIDEKfCAjZGVmaW5lIEhBVkVfRVJSTk9fSCAxCnwgI2RlZmluZSBIQVZF
 X0ZDTlRMX0ggMQp8ICNkZWZpbmUgSEFWRV9GTk1BVENIX0ggMQp8ICNkZWZpbmUgSEFWRV9GVFNf
 SCAxCnwgI2RlZmluZSBIQVZFX0dSUF9IIDEKfCAjZGVmaW5lIEhBVkVfSU5UVFlQRVNfSCAxCnwg
 I2RlZmluZSBIQVZFX0xJQlVUSUxfSCAxCnwgI2RlZmluZSBIQVZFX0xJTUlUU19IIDEKfCAjZGVm
 aW5lIEhBVkVfTkVUREJfSCAxCnwgI2RlZmluZSBIQVZFX1BBVEhTX0ggMQp8ICNkZWZpbmUgSEFW
 RV9QV0RfSCAxCnwgI2RlZmluZSBIQVZFX1NJR05BTF9IIDEKfCAjZGVmaW5lIEhBVkVfU1REQVJH
 X0ggMQp8ICNkZWZpbmUgSEFWRV9TVERERUZfSCAxCnwgI2RlZmluZSBIQVZFX1NURElOVF9IIDEK
 fCAjZGVmaW5lIEhBVkVfU1RESU9fSCAxCnwgI2RlZmluZSBIQVZFX1NURExJQl9IIDEKfCAjZGVm
 aW5lIEhBVkVfU1RSSU5HX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfQ0RFRlNfSCAxCnwgI2RlZmlu
 ZSBIQVZFX1NZU19ESVJfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19GSUxFX0ggMQp8ICNkZWZpbmUg
 SEFWRV9TWVNfUEFSQU1fSCAxCnwgI2RlZmluZSBIQVZFX1NZU19TT0NLRVRfSCAxCnwgI2RlZmlu
 ZSBIQVZFX1NZU19TVEFUX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfU1RBVEZTX0ggMQp8ICNkZWZp
 bmUgSEFWRV9TWVNfU1RBVFZGU19IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1RJTUVfSCAxCnwgI2Rl
 ZmluZSBIQVZFX1NZU19UWVBFU19IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1VJT19IIDEKfCAjZGVm
 aW5lIEhBVkVfU1lTX1ZGU19IIDEKfCAjZGVmaW5lIEhBVkVfU1lTRVhJVFNfSCAxCnwgI2RlZmlu
 ZSBIQVZFX1RFUk1DQVBfSCAxCnwgI2RlZmluZSBIQVZFX1RJTUVfSCAxCnwgLyogZW5kIGNvbmZk
 ZWZzLmguICAqLwp8ICNpbmNsdWRlIDx0emZpbGUuaD4KY29uZmlndXJlOjQzNzI6IHJlc3VsdDog
 bm8KY29uZmlndXJlOjQzNzI6IGNoZWNraW5nIGZvciB0emZpbGUuaApjb25maWd1cmU6NDM3Mjog
 cmVzdWx0OiBubwpjb25maWd1cmU6NDM3MjogY2hlY2tpbmcgZm9yIHVuaXN0ZC5oCmNvbmZpZ3Vy
 ZTo0MzcyOiByZXN1bHQ6IHllcwpjb25maWd1cmU6NDM3MjogY2hlY2tpbmcgdXRpbC5oIHVzYWJp
 bGl0eQpjb25maWd1cmU6NDM3MjogZ2NjIC1jIC1nIC1PMiAgY29uZnRlc3QuYyA+JjUKY29uZnRl
 c3QuYzo5NToxODogZmF0YWwgZXJyb3I6IHV0aWwuaDogTm8gc3VjaCBmaWxlIG9yIGRpcmVjdG9y
 eQpjb21waWxhdGlvbiB0ZXJtaW5hdGVkLgpjb25maWd1cmU6NDM3MjogJD8gPSAxCmNvbmZpZ3Vy
 ZTogZmFpbGVkIHByb2dyYW0gd2FzOgp8IC8qIGNvbmZkZWZzLmggKi8KfCAjZGVmaW5lIFBBQ0tB
 R0VfTkFNRSAibGlibmJjb21wYXQiCnwgI2RlZmluZSBQQUNLQUdFX1RBUk5BTUUgImxpYm5iY29t
 cGF0Igp8ICNkZWZpbmUgUEFDS0FHRV9WRVJTSU9OICIyMDA4MDYwNSIKfCAjZGVmaW5lIFBBQ0tB
 R0VfU1RSSU5HICJsaWJuYmNvbXBhdCAyMDA4MDYwNSIKfCAjZGVmaW5lIFBBQ0tBR0VfQlVHUkVQ
 T1JUICJncmFudEBOZXRCU0Qub3JnIgp8ICNkZWZpbmUgUEFDS0FHRV9VUkwgIiIKfCAjZGVmaW5l
 IFNURENfSEVBREVSUyAxCnwgI2RlZmluZSBUSU1FX1dJVEhfU1lTX1RJTUUgMQp8ICNkZWZpbmUg
 SEFWRV9TWVNfVFlQRVNfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19TVEFUX0ggMQp8ICNkZWZpbmUg
 SEFWRV9TVERMSUJfSCAxCnwgI2RlZmluZSBIQVZFX1NUUklOR19IIDEKfCAjZGVmaW5lIEhBVkVf
 TUVNT1JZX0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJJTkdTX0ggMQp8ICNkZWZpbmUgSEFWRV9JTlRU
 WVBFU19IIDEKfCAjZGVmaW5lIEhBVkVfU1RESU5UX0ggMQp8ICNkZWZpbmUgSEFWRV9VTklTVERf
 SCAxCnwgI2RlZmluZSBIQVZFX19CT09MIDEKfCAjZGVmaW5lIEhBVkVfU1REQk9PTF9IIDEKfCAj
 ZGVmaW5lIEhBVkVfQUxMT0NBX0ggMQp8ICNkZWZpbmUgSEFWRV9BU1NFUlRfSCAxCnwgI2RlZmlu
 ZSBIQVZFX0NUWVBFX0ggMQp8ICNkZWZpbmUgSEFWRV9ESVJFTlRfSCAxCnwgI2RlZmluZSBIQVZF
 X0VORElBTl9IIDEKfCAjZGVmaW5lIEhBVkVfRVJSX0ggMQp8ICNkZWZpbmUgSEFWRV9FUlJOT19I
 IDEKfCAjZGVmaW5lIEhBVkVfRkNOVExfSCAxCnwgI2RlZmluZSBIQVZFX0ZOTUFUQ0hfSCAxCnwg
 I2RlZmluZSBIQVZFX0ZUU19IIDEKfCAjZGVmaW5lIEhBVkVfR1JQX0ggMQp8ICNkZWZpbmUgSEFW
 RV9JTlRUWVBFU19IIDEKfCAjZGVmaW5lIEhBVkVfTElCVVRJTF9IIDEKfCAjZGVmaW5lIEhBVkVf
 TElNSVRTX0ggMQp8ICNkZWZpbmUgSEFWRV9ORVREQl9IIDEKfCAjZGVmaW5lIEhBVkVfUEFUSFNf
 SCAxCnwgI2RlZmluZSBIQVZFX1BXRF9IIDEKfCAjZGVmaW5lIEhBVkVfU0lHTkFMX0ggMQp8ICNk
 ZWZpbmUgSEFWRV9TVERBUkdfSCAxCnwgI2RlZmluZSBIQVZFX1NURERFRl9IIDEKfCAjZGVmaW5l
 IEhBVkVfU1RESU5UX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERJT19IIDEKfCAjZGVmaW5lIEhBVkVf
 U1RETElCX0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJJTkdfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19D
 REVGU19IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX0RJUl9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX0ZJ
 TEVfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19QQVJBTV9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NP
 Q0tFVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NUQVRfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19T
 VEFURlNfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19TVEFUVkZTX0ggMQp8ICNkZWZpbmUgSEFWRV9T
 WVNfVElNRV9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1RZUEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9T
 WVNfVUlPX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfVkZTX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNF
 WElUU19IIDEKfCAjZGVmaW5lIEhBVkVfVEVSTUNBUF9IIDEKfCAjZGVmaW5lIEhBVkVfVElNRV9I
 IDEKfCAjZGVmaW5lIEhBVkVfVU5JU1REX0ggMQp8IC8qIGVuZCBjb25mZGVmcy5oLiAgKi8KfCAj
 aW5jbHVkZSA8c3RkaW8uaD4KfCAjaWZkZWYgSEFWRV9TWVNfVFlQRVNfSAp8ICMgaW5jbHVkZSA8
 c3lzL3R5cGVzLmg+CnwgI2VuZGlmCnwgI2lmZGVmIEhBVkVfU1lTX1NUQVRfSAp8ICMgaW5jbHVk
 ZSA8c3lzL3N0YXQuaD4KfCAjZW5kaWYKfCAjaWZkZWYgU1REQ19IRUFERVJTCnwgIyBpbmNsdWRl
 IDxzdGRsaWIuaD4KfCAjIGluY2x1ZGUgPHN0ZGRlZi5oPgp8ICNlbHNlCnwgIyBpZmRlZiBIQVZF
 X1NURExJQl9ICnwgIyAgaW5jbHVkZSA8c3RkbGliLmg+CnwgIyBlbmRpZgp8ICNlbmRpZgp8ICNp
 ZmRlZiBIQVZFX1NUUklOR19ICnwgIyBpZiAhZGVmaW5lZCBTVERDX0hFQURFUlMgJiYgZGVmaW5l
 ZCBIQVZFX01FTU9SWV9ICnwgIyAgaW5jbHVkZSA8bWVtb3J5Lmg+CnwgIyBlbmRpZgp8ICMgaW5j
 bHVkZSA8c3RyaW5nLmg+CnwgI2VuZGlmCnwgI2lmZGVmIEhBVkVfU1RSSU5HU19ICnwgIyBpbmNs
 dWRlIDxzdHJpbmdzLmg+CnwgI2VuZGlmCnwgI2lmZGVmIEhBVkVfSU5UVFlQRVNfSAp8ICMgaW5j
 bHVkZSA8aW50dHlwZXMuaD4KfCAjZW5kaWYKfCAjaWZkZWYgSEFWRV9TVERJTlRfSAp8ICMgaW5j
 bHVkZSA8c3RkaW50Lmg+CnwgI2VuZGlmCnwgI2lmZGVmIEhBVkVfVU5JU1REX0gKfCAjIGluY2x1
 ZGUgPHVuaXN0ZC5oPgp8ICNlbmRpZgp8ICNpbmNsdWRlIDx1dGlsLmg+CmNvbmZpZ3VyZTo0Mzcy
 OiByZXN1bHQ6IG5vCmNvbmZpZ3VyZTo0MzcyOiBjaGVja2luZyB1dGlsLmggcHJlc2VuY2UKY29u
 ZmlndXJlOjQzNzI6IGdjYyAtRSAgY29uZnRlc3QuYwpjb25mdGVzdC5jOjYyOjE4OiBmYXRhbCBl
 cnJvcjogdXRpbC5oOiBObyBzdWNoIGZpbGUgb3IgZGlyZWN0b3J5CmNvbXBpbGF0aW9uIHRlcm1p
 bmF0ZWQuCmNvbmZpZ3VyZTo0MzcyOiAkPyA9IDEKY29uZmlndXJlOiBmYWlsZWQgcHJvZ3JhbSB3
 YXM6CnwgLyogY29uZmRlZnMuaCAqLwp8ICNkZWZpbmUgUEFDS0FHRV9OQU1FICJsaWJuYmNvbXBh
 dCIKfCAjZGVmaW5lIFBBQ0tBR0VfVEFSTkFNRSAibGlibmJjb21wYXQiCnwgI2RlZmluZSBQQUNL
 QUdFX1ZFUlNJT04gIjIwMDgwNjA1Igp8ICNkZWZpbmUgUEFDS0FHRV9TVFJJTkcgImxpYm5iY29t
 cGF0IDIwMDgwNjA1Igp8ICNkZWZpbmUgUEFDS0FHRV9CVUdSRVBPUlQgImdyYW50QE5ldEJTRC5v
 cmciCnwgI2RlZmluZSBQQUNLQUdFX1VSTCAiIgp8ICNkZWZpbmUgU1REQ19IRUFERVJTIDEKfCAj
 ZGVmaW5lIFRJTUVfV0lUSF9TWVNfVElNRSAxCnwgI2RlZmluZSBIQVZFX1NZU19UWVBFU19IIDEK
 fCAjZGVmaW5lIEhBVkVfU1lTX1NUQVRfSCAxCnwgI2RlZmluZSBIQVZFX1NURExJQl9IIDEKfCAj
 ZGVmaW5lIEhBVkVfU1RSSU5HX0ggMQp8ICNkZWZpbmUgSEFWRV9NRU1PUllfSCAxCnwgI2RlZmlu
 ZSBIQVZFX1NUUklOR1NfSCAxCnwgI2RlZmluZSBIQVZFX0lOVFRZUEVTX0ggMQp8ICNkZWZpbmUg
 SEFWRV9TVERJTlRfSCAxCnwgI2RlZmluZSBIQVZFX1VOSVNURF9IIDEKfCAjZGVmaW5lIEhBVkVf
 X0JPT0wgMQp8ICNkZWZpbmUgSEFWRV9TVERCT09MX0ggMQp8ICNkZWZpbmUgSEFWRV9BTExPQ0Ff
 SCAxCnwgI2RlZmluZSBIQVZFX0FTU0VSVF9IIDEKfCAjZGVmaW5lIEhBVkVfQ1RZUEVfSCAxCnwg
 I2RlZmluZSBIQVZFX0RJUkVOVF9IIDEKfCAjZGVmaW5lIEhBVkVfRU5ESUFOX0ggMQp8ICNkZWZp
 bmUgSEFWRV9FUlJfSCAxCnwgI2RlZmluZSBIQVZFX0VSUk5PX0ggMQp8ICNkZWZpbmUgSEFWRV9G
 Q05UTF9IIDEKfCAjZGVmaW5lIEhBVkVfRk5NQVRDSF9IIDEKfCAjZGVmaW5lIEhBVkVfRlRTX0gg
 MQp8ICNkZWZpbmUgSEFWRV9HUlBfSCAxCnwgI2RlZmluZSBIQVZFX0lOVFRZUEVTX0ggMQp8ICNk
 ZWZpbmUgSEFWRV9MSUJVVElMX0ggMQp8ICNkZWZpbmUgSEFWRV9MSU1JVFNfSCAxCnwgI2RlZmlu
 ZSBIQVZFX05FVERCX0ggMQp8ICNkZWZpbmUgSEFWRV9QQVRIU19IIDEKfCAjZGVmaW5lIEhBVkVf
 UFdEX0ggMQp8ICNkZWZpbmUgSEFWRV9TSUdOQUxfSCAxCnwgI2RlZmluZSBIQVZFX1NUREFSR19I
 IDEKfCAjZGVmaW5lIEhBVkVfU1REREVGX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERJTlRfSCAxCnwg
 I2RlZmluZSBIQVZFX1NURElPX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERMSUJfSCAxCnwgI2RlZmlu
 ZSBIQVZFX1NUUklOR19IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX0NERUZTX0ggMQp8ICNkZWZpbmUg
 SEFWRV9TWVNfRElSX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfRklMRV9IIDEKfCAjZGVmaW5lIEhB
 VkVfU1lTX1BBUkFNX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfU09DS0VUX0ggMQp8ICNkZWZpbmUg
 SEFWRV9TWVNfU1RBVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NUQVRGU19IIDEKfCAjZGVmaW5l
 IEhBVkVfU1lTX1NUQVRWRlNfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19USU1FX0ggMQp8ICNkZWZp
 bmUgSEFWRV9TWVNfVFlQRVNfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19VSU9fSCAxCnwgI2RlZmlu
 ZSBIQVZFX1NZU19WRlNfSCAxCnwgI2RlZmluZSBIQVZFX1NZU0VYSVRTX0ggMQp8ICNkZWZpbmUg
 SEFWRV9URVJNQ0FQX0ggMQp8ICNkZWZpbmUgSEFWRV9USU1FX0ggMQp8ICNkZWZpbmUgSEFWRV9V
 TklTVERfSCAxCnwgLyogZW5kIGNvbmZkZWZzLmguICAqLwp8ICNpbmNsdWRlIDx1dGlsLmg+CmNv
 bmZpZ3VyZTo0MzcyOiByZXN1bHQ6IG5vCmNvbmZpZ3VyZTo0MzcyOiBjaGVja2luZyBmb3IgdXRp
 bC5oCmNvbmZpZ3VyZTo0MzcyOiByZXN1bHQ6IG5vCmNvbmZpZ3VyZTo0MzcyOiBjaGVja2luZyB1
 dGltZS5oIHVzYWJpbGl0eQpjb25maWd1cmU6NDM3MjogZ2NjIC1jIC1nIC1PMiAgY29uZnRlc3Qu
 YyA+JjUKY29uZmlndXJlOjQzNzI6ICQ/ID0gMApjb25maWd1cmU6NDM3MjogcmVzdWx0OiB5ZXMK
 Y29uZmlndXJlOjQzNzI6IGNoZWNraW5nIHV0aW1lLmggcHJlc2VuY2UKY29uZmlndXJlOjQzNzI6
 IGdjYyAtRSAgY29uZnRlc3QuYwpjb25maWd1cmU6NDM3MjogJD8gPSAwCmNvbmZpZ3VyZTo0Mzcy
 OiByZXN1bHQ6IHllcwpjb25maWd1cmU6NDM3MjogY2hlY2tpbmcgZm9yIHV0aW1lLmgKY29uZmln
 dXJlOjQzNzI6IHJlc3VsdDogeWVzCmNvbmZpZ3VyZTo0Mzg0OiBjaGVja2luZyBmb3Igc3lzL21v
 dW50LmgKY29uZmlndXJlOjQzODQ6IGdjYyAtYyAtZyAtTzIgIGNvbmZ0ZXN0LmMgPiY1CmNvbmZp
 Z3VyZTo0Mzg0OiAkPyA9IDAKY29uZmlndXJlOjQzODQ6IHJlc3VsdDogeWVzCmNvbmZpZ3VyZTo0
 NDA1OiBjaGVja2luZyBnbG9iLmggdXNhYmlsaXR5CmNvbmZpZ3VyZTo0NDA1OiBnY2MgLWMgLWcg
 LU8yICBjb25mdGVzdC5jID4mNQpjb25maWd1cmU6NDQwNTogJD8gPSAwCmNvbmZpZ3VyZTo0NDA1
 OiByZXN1bHQ6IHllcwpjb25maWd1cmU6NDQwNTogY2hlY2tpbmcgZ2xvYi5oIHByZXNlbmNlCmNv
 bmZpZ3VyZTo0NDA1OiBnY2MgLUUgIGNvbmZ0ZXN0LmMKY29uZmlndXJlOjQ0MDU6ICQ/ID0gMApj
 b25maWd1cmU6NDQwNTogcmVzdWx0OiB5ZXMKY29uZmlndXJlOjQ0MDU6IGNoZWNraW5nIGZvciBn
 bG9iLmgKY29uZmlndXJlOjQ0MDU6IHJlc3VsdDogeWVzCmNvbmZpZ3VyZTo0NDI3OiBjaGVja2lu
 ZyBzeXMvcXVldWUuaCB1c2FiaWxpdHkKY29uZmlndXJlOjQ0Mjc6IGdjYyAtYyAtZyAtTzIgIGNv
 bmZ0ZXN0LmMgPiY1CmNvbmZpZ3VyZTo0NDI3OiAkPyA9IDAKY29uZmlndXJlOjQ0Mjc6IHJlc3Vs
 dDogeWVzCmNvbmZpZ3VyZTo0NDI3OiBjaGVja2luZyBzeXMvcXVldWUuaCBwcmVzZW5jZQpjb25m
 aWd1cmU6NDQyNzogZ2NjIC1FICBjb25mdGVzdC5jCmNvbmZpZ3VyZTo0NDI3OiAkPyA9IDAKY29u
 ZmlndXJlOjQ0Mjc6IHJlc3VsdDogeWVzCmNvbmZpZ3VyZTo0NDI3OiBjaGVja2luZyBmb3Igc3lz
 L3F1ZXVlLmgKY29uZmlndXJlOjQ0Mjc6IHJlc3VsdDogeWVzCmNvbmZpZ3VyZTo0NDQzOiBjaGVj
 a2luZyByZWdleC5oIHVzYWJpbGl0eQpjb25maWd1cmU6NDQ0MzogZ2NjIC1jIC1nIC1PMiAgY29u
 ZnRlc3QuYyA+JjUKY29uZmlndXJlOjQ0NDM6ICQ/ID0gMApjb25maWd1cmU6NDQ0MzogcmVzdWx0
 OiB5ZXMKY29uZmlndXJlOjQ0NDM6IGNoZWNraW5nIHJlZ2V4LmggcHJlc2VuY2UKY29uZmlndXJl
 OjQ0NDM6IGdjYyAtRSAgY29uZnRlc3QuYwpjb25maWd1cmU6NDQ0MzogJD8gPSAwCmNvbmZpZ3Vy
 ZTo0NDQzOiByZXN1bHQ6IHllcwpjb25maWd1cmU6NDQ0MzogY2hlY2tpbmcgZm9yIHJlZ2V4LmgK
 Y29uZmlndXJlOjQ0NDM6IHJlc3VsdDogeWVzCmNvbmZpZ3VyZTo0NDUzOiBjaGVja2luZyBmb3Ig
 cmVnZXhlYwpjb25maWd1cmU6NDQ1MzogZ2NjIC1vIGNvbmZ0ZXN0IC1nIC1PMiAgIGNvbmZ0ZXN0
 LmMgID4mNQpjb25maWd1cmU6NDQ1MzogJD8gPSAwCmNvbmZpZ3VyZTo0NDUzOiByZXN1bHQ6IHll
 cwpjb25maWd1cmU6NDQ5MTogY2hlY2tpbmcgbWQ1LmggdXNhYmlsaXR5CmNvbmZpZ3VyZTo0NDkx
 OiBnY2MgLWMgLWcgLU8yICBjb25mdGVzdC5jID4mNQpjb25mdGVzdC5jOjEwMjoxNzogZmF0YWwg
 ZXJyb3I6IG1kNS5oOiBObyBzdWNoIGZpbGUgb3IgZGlyZWN0b3J5CmNvbXBpbGF0aW9uIHRlcm1p
 bmF0ZWQuCmNvbmZpZ3VyZTo0NDkxOiAkPyA9IDEKY29uZmlndXJlOiBmYWlsZWQgcHJvZ3JhbSB3
 YXM6CnwgLyogY29uZmRlZnMuaCAqLwp8ICNkZWZpbmUgUEFDS0FHRV9OQU1FICJsaWJuYmNvbXBh
 dCIKfCAjZGVmaW5lIFBBQ0tBR0VfVEFSTkFNRSAibGlibmJjb21wYXQiCnwgI2RlZmluZSBQQUNL
 QUdFX1ZFUlNJT04gIjIwMDgwNjA1Igp8ICNkZWZpbmUgUEFDS0FHRV9TVFJJTkcgImxpYm5iY29t
 cGF0IDIwMDgwNjA1Igp8ICNkZWZpbmUgUEFDS0FHRV9CVUdSRVBPUlQgImdyYW50QE5ldEJTRC5v
 cmciCnwgI2RlZmluZSBQQUNLQUdFX1VSTCAiIgp8ICNkZWZpbmUgU1REQ19IRUFERVJTIDEKfCAj
 ZGVmaW5lIFRJTUVfV0lUSF9TWVNfVElNRSAxCnwgI2RlZmluZSBIQVZFX1NZU19UWVBFU19IIDEK
 fCAjZGVmaW5lIEhBVkVfU1lTX1NUQVRfSCAxCnwgI2RlZmluZSBIQVZFX1NURExJQl9IIDEKfCAj
 ZGVmaW5lIEhBVkVfU1RSSU5HX0ggMQp8ICNkZWZpbmUgSEFWRV9NRU1PUllfSCAxCnwgI2RlZmlu
 ZSBIQVZFX1NUUklOR1NfSCAxCnwgI2RlZmluZSBIQVZFX0lOVFRZUEVTX0ggMQp8ICNkZWZpbmUg
 SEFWRV9TVERJTlRfSCAxCnwgI2RlZmluZSBIQVZFX1VOSVNURF9IIDEKfCAjZGVmaW5lIEhBVkVf
 X0JPT0wgMQp8ICNkZWZpbmUgSEFWRV9TVERCT09MX0ggMQp8ICNkZWZpbmUgSEFWRV9BTExPQ0Ff
 SCAxCnwgI2RlZmluZSBIQVZFX0FTU0VSVF9IIDEKfCAjZGVmaW5lIEhBVkVfQ1RZUEVfSCAxCnwg
 I2RlZmluZSBIQVZFX0RJUkVOVF9IIDEKfCAjZGVmaW5lIEhBVkVfRU5ESUFOX0ggMQp8ICNkZWZp
 bmUgSEFWRV9FUlJfSCAxCnwgI2RlZmluZSBIQVZFX0VSUk5PX0ggMQp8ICNkZWZpbmUgSEFWRV9G
 Q05UTF9IIDEKfCAjZGVmaW5lIEhBVkVfRk5NQVRDSF9IIDEKfCAjZGVmaW5lIEhBVkVfRlRTX0gg
 MQp8ICNkZWZpbmUgSEFWRV9HUlBfSCAxCnwgI2RlZmluZSBIQVZFX0lOVFRZUEVTX0ggMQp8ICNk
 ZWZpbmUgSEFWRV9MSUJVVElMX0ggMQp8ICNkZWZpbmUgSEFWRV9MSU1JVFNfSCAxCnwgI2RlZmlu
 ZSBIQVZFX05FVERCX0ggMQp8ICNkZWZpbmUgSEFWRV9QQVRIU19IIDEKfCAjZGVmaW5lIEhBVkVf
 UFdEX0ggMQp8ICNkZWZpbmUgSEFWRV9TSUdOQUxfSCAxCnwgI2RlZmluZSBIQVZFX1NUREFSR19I
 IDEKfCAjZGVmaW5lIEhBVkVfU1REREVGX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERJTlRfSCAxCnwg
 I2RlZmluZSBIQVZFX1NURElPX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERMSUJfSCAxCnwgI2RlZmlu
 ZSBIQVZFX1NUUklOR19IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX0NERUZTX0ggMQp8ICNkZWZpbmUg
 SEFWRV9TWVNfRElSX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfRklMRV9IIDEKfCAjZGVmaW5lIEhB
 VkVfU1lTX1BBUkFNX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfU09DS0VUX0ggMQp8ICNkZWZpbmUg
 SEFWRV9TWVNfU1RBVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NUQVRGU19IIDEKfCAjZGVmaW5l
 IEhBVkVfU1lTX1NUQVRWRlNfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19USU1FX0ggMQp8ICNkZWZp
 bmUgSEFWRV9TWVNfVFlQRVNfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19VSU9fSCAxCnwgI2RlZmlu
 ZSBIQVZFX1NZU19WRlNfSCAxCnwgI2RlZmluZSBIQVZFX1NZU0VYSVRTX0ggMQp8ICNkZWZpbmUg
 SEFWRV9URVJNQ0FQX0ggMQp8ICNkZWZpbmUgSEFWRV9USU1FX0ggMQp8ICNkZWZpbmUgSEFWRV9V
 TklTVERfSCAxCnwgI2RlZmluZSBIQVZFX1VUSU1FX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfTU9V
 TlRfSCAxCnwgI2RlZmluZSBIQVZFX0dMT0JfSCAxCnwgI2RlZmluZSBIQVZFX05CQ09NUEFUX0dM
 T0IgMQp8ICNkZWZpbmUgSEFWRV9TWVNfUVVFVUVfSCAxCnwgI2RlZmluZSBIQVZFX05CQ09NUEFU
 X1FVRVVFIDEKfCAjZGVmaW5lIEhBVkVfUkVHRVhfSCAxCnwgLyogZW5kIGNvbmZkZWZzLmguICAq
 Lwp8ICNpbmNsdWRlIDxzdGRpby5oPgp8ICNpZmRlZiBIQVZFX1NZU19UWVBFU19ICnwgIyBpbmNs
 dWRlIDxzeXMvdHlwZXMuaD4KfCAjZW5kaWYKfCAjaWZkZWYgSEFWRV9TWVNfU1RBVF9ICnwgIyBp
 bmNsdWRlIDxzeXMvc3RhdC5oPgp8ICNlbmRpZgp8ICNpZmRlZiBTVERDX0hFQURFUlMKfCAjIGlu
 Y2x1ZGUgPHN0ZGxpYi5oPgp8ICMgaW5jbHVkZSA8c3RkZGVmLmg+CnwgI2Vsc2UKfCAjIGlmZGVm
 IEhBVkVfU1RETElCX0gKfCAjICBpbmNsdWRlIDxzdGRsaWIuaD4KfCAjIGVuZGlmCnwgI2VuZGlm
 CnwgI2lmZGVmIEhBVkVfU1RSSU5HX0gKfCAjIGlmICFkZWZpbmVkIFNURENfSEVBREVSUyAmJiBk
 ZWZpbmVkIEhBVkVfTUVNT1JZX0gKfCAjICBpbmNsdWRlIDxtZW1vcnkuaD4KfCAjIGVuZGlmCnwg
 IyBpbmNsdWRlIDxzdHJpbmcuaD4KfCAjZW5kaWYKfCAjaWZkZWYgSEFWRV9TVFJJTkdTX0gKfCAj
 IGluY2x1ZGUgPHN0cmluZ3MuaD4KfCAjZW5kaWYKfCAjaWZkZWYgSEFWRV9JTlRUWVBFU19ICnwg
 IyBpbmNsdWRlIDxpbnR0eXBlcy5oPgp8ICNlbmRpZgp8ICNpZmRlZiBIQVZFX1NURElOVF9ICnwg
 IyBpbmNsdWRlIDxzdGRpbnQuaD4KfCAjZW5kaWYKfCAjaWZkZWYgSEFWRV9VTklTVERfSAp8ICMg
 aW5jbHVkZSA8dW5pc3RkLmg+CnwgI2VuZGlmCnwgI2luY2x1ZGUgPG1kNS5oPgpjb25maWd1cmU6
 NDQ5MTogcmVzdWx0OiBubwpjb25maWd1cmU6NDQ5MTogY2hlY2tpbmcgbWQ1LmggcHJlc2VuY2UK
 Y29uZmlndXJlOjQ0OTE6IGdjYyAtRSAgY29uZnRlc3QuYwpjb25mdGVzdC5jOjY5OjE3OiBmYXRh
 bCBlcnJvcjogbWQ1Lmg6IE5vIHN1Y2ggZmlsZSBvciBkaXJlY3RvcnkKY29tcGlsYXRpb24gdGVy
 bWluYXRlZC4KY29uZmlndXJlOjQ0OTE6ICQ/ID0gMQpjb25maWd1cmU6IGZhaWxlZCBwcm9ncmFt
 IHdhczoKfCAvKiBjb25mZGVmcy5oICovCnwgI2RlZmluZSBQQUNLQUdFX05BTUUgImxpYm5iY29t
 cGF0Igp8ICNkZWZpbmUgUEFDS0FHRV9UQVJOQU1FICJsaWJuYmNvbXBhdCIKfCAjZGVmaW5lIFBB
 Q0tBR0VfVkVSU0lPTiAiMjAwODA2MDUiCnwgI2RlZmluZSBQQUNLQUdFX1NUUklORyAibGlibmJj
 b21wYXQgMjAwODA2MDUiCnwgI2RlZmluZSBQQUNLQUdFX0JVR1JFUE9SVCAiZ3JhbnRATmV0QlNE
 Lm9yZyIKfCAjZGVmaW5lIFBBQ0tBR0VfVVJMICIiCnwgI2RlZmluZSBTVERDX0hFQURFUlMgMQp8
 ICNkZWZpbmUgVElNRV9XSVRIX1NZU19USU1FIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1RZUEVTX0gg
 MQp8ICNkZWZpbmUgSEFWRV9TWVNfU1RBVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1RETElCX0ggMQp8
 ICNkZWZpbmUgSEFWRV9TVFJJTkdfSCAxCnwgI2RlZmluZSBIQVZFX01FTU9SWV9IIDEKfCAjZGVm
 aW5lIEhBVkVfU1RSSU5HU19IIDEKfCAjZGVmaW5lIEhBVkVfSU5UVFlQRVNfSCAxCnwgI2RlZmlu
 ZSBIQVZFX1NURElOVF9IIDEKfCAjZGVmaW5lIEhBVkVfVU5JU1REX0ggMQp8ICNkZWZpbmUgSEFW
 RV9fQk9PTCAxCnwgI2RlZmluZSBIQVZFX1NUREJPT0xfSCAxCnwgI2RlZmluZSBIQVZFX0FMTE9D
 QV9IIDEKfCAjZGVmaW5lIEhBVkVfQVNTRVJUX0ggMQp8ICNkZWZpbmUgSEFWRV9DVFlQRV9IIDEK
 fCAjZGVmaW5lIEhBVkVfRElSRU5UX0ggMQp8ICNkZWZpbmUgSEFWRV9FTkRJQU5fSCAxCnwgI2Rl
 ZmluZSBIQVZFX0VSUl9IIDEKfCAjZGVmaW5lIEhBVkVfRVJSTk9fSCAxCnwgI2RlZmluZSBIQVZF
 X0ZDTlRMX0ggMQp8ICNkZWZpbmUgSEFWRV9GTk1BVENIX0ggMQp8ICNkZWZpbmUgSEFWRV9GVFNf
 SCAxCnwgI2RlZmluZSBIQVZFX0dSUF9IIDEKfCAjZGVmaW5lIEhBVkVfSU5UVFlQRVNfSCAxCnwg
 I2RlZmluZSBIQVZFX0xJQlVUSUxfSCAxCnwgI2RlZmluZSBIQVZFX0xJTUlUU19IIDEKfCAjZGVm
 aW5lIEhBVkVfTkVUREJfSCAxCnwgI2RlZmluZSBIQVZFX1BBVEhTX0ggMQp8ICNkZWZpbmUgSEFW
 RV9QV0RfSCAxCnwgI2RlZmluZSBIQVZFX1NJR05BTF9IIDEKfCAjZGVmaW5lIEhBVkVfU1REQVJH
 X0ggMQp8ICNkZWZpbmUgSEFWRV9TVERERUZfSCAxCnwgI2RlZmluZSBIQVZFX1NURElOVF9IIDEK
 fCAjZGVmaW5lIEhBVkVfU1RESU9fSCAxCnwgI2RlZmluZSBIQVZFX1NURExJQl9IIDEKfCAjZGVm
 aW5lIEhBVkVfU1RSSU5HX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfQ0RFRlNfSCAxCnwgI2RlZmlu
 ZSBIQVZFX1NZU19ESVJfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19GSUxFX0ggMQp8ICNkZWZpbmUg
 SEFWRV9TWVNfUEFSQU1fSCAxCnwgI2RlZmluZSBIQVZFX1NZU19TT0NLRVRfSCAxCnwgI2RlZmlu
 ZSBIQVZFX1NZU19TVEFUX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfU1RBVEZTX0ggMQp8ICNkZWZp
 bmUgSEFWRV9TWVNfU1RBVFZGU19IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1RJTUVfSCAxCnwgI2Rl
 ZmluZSBIQVZFX1NZU19UWVBFU19IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1VJT19IIDEKfCAjZGVm
 aW5lIEhBVkVfU1lTX1ZGU19IIDEKfCAjZGVmaW5lIEhBVkVfU1lTRVhJVFNfSCAxCnwgI2RlZmlu
 ZSBIQVZFX1RFUk1DQVBfSCAxCnwgI2RlZmluZSBIQVZFX1RJTUVfSCAxCnwgI2RlZmluZSBIQVZF
 X1VOSVNURF9IIDEKfCAjZGVmaW5lIEhBVkVfVVRJTUVfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19N
 T1VOVF9IIDEKfCAjZGVmaW5lIEhBVkVfR0xPQl9IIDEKfCAjZGVmaW5lIEhBVkVfTkJDT01QQVRf
 R0xPQiAxCnwgI2RlZmluZSBIQVZFX1NZU19RVUVVRV9IIDEKfCAjZGVmaW5lIEhBVkVfTkJDT01Q
 QVRfUVVFVUUgMQp8ICNkZWZpbmUgSEFWRV9SRUdFWF9IIDEKfCAvKiBlbmQgY29uZmRlZnMuaC4g
 ICovCnwgI2luY2x1ZGUgPG1kNS5oPgpjb25maWd1cmU6NDQ5MTogcmVzdWx0OiBubwpjb25maWd1
 cmU6NDQ5MTogY2hlY2tpbmcgZm9yIG1kNS5oCmNvbmZpZ3VyZTo0NDkxOiByZXN1bHQ6IG5vCmNv
 bmZpZ3VyZTo0NTUxOiBjaGVja2luZyBmb3IgbWQ1LmgKY29uZmlndXJlOjQ1NTE6IHJlc3VsdDog
 bm8KY29uZmlndXJlOjQ1NTE6IGNoZWNraW5nIHJtZDE2MC5oIHVzYWJpbGl0eQpjb25maWd1cmU6
 NDU1MTogZ2NjIC1jIC1nIC1PMiAgY29uZnRlc3QuYyA+JjUKY29uZnRlc3QuYzoxMDI6MjA6IGZh
 dGFsIGVycm9yOiBybWQxNjAuaDogTm8gc3VjaCBmaWxlIG9yIGRpcmVjdG9yeQpjb21waWxhdGlv
 biB0ZXJtaW5hdGVkLgpjb25maWd1cmU6NDU1MTogJD8gPSAxCmNvbmZpZ3VyZTogZmFpbGVkIHBy
 b2dyYW0gd2FzOgp8IC8qIGNvbmZkZWZzLmggKi8KfCAjZGVmaW5lIFBBQ0tBR0VfTkFNRSAibGli
 bmJjb21wYXQiCnwgI2RlZmluZSBQQUNLQUdFX1RBUk5BTUUgImxpYm5iY29tcGF0Igp8ICNkZWZp
 bmUgUEFDS0FHRV9WRVJTSU9OICIyMDA4MDYwNSIKfCAjZGVmaW5lIFBBQ0tBR0VfU1RSSU5HICJs
 aWJuYmNvbXBhdCAyMDA4MDYwNSIKfCAjZGVmaW5lIFBBQ0tBR0VfQlVHUkVQT1JUICJncmFudEBO
 ZXRCU0Qub3JnIgp8ICNkZWZpbmUgUEFDS0FHRV9VUkwgIiIKfCAjZGVmaW5lIFNURENfSEVBREVS
 UyAxCnwgI2RlZmluZSBUSU1FX1dJVEhfU1lTX1RJTUUgMQp8ICNkZWZpbmUgSEFWRV9TWVNfVFlQ
 RVNfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19TVEFUX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERMSUJf
 SCAxCnwgI2RlZmluZSBIQVZFX1NUUklOR19IIDEKfCAjZGVmaW5lIEhBVkVfTUVNT1JZX0ggMQp8
 ICNkZWZpbmUgSEFWRV9TVFJJTkdTX0ggMQp8ICNkZWZpbmUgSEFWRV9JTlRUWVBFU19IIDEKfCAj
 ZGVmaW5lIEhBVkVfU1RESU5UX0ggMQp8ICNkZWZpbmUgSEFWRV9VTklTVERfSCAxCnwgI2RlZmlu
 ZSBIQVZFX19CT09MIDEKfCAjZGVmaW5lIEhBVkVfU1REQk9PTF9IIDEKfCAjZGVmaW5lIEhBVkVf
 QUxMT0NBX0ggMQp8ICNkZWZpbmUgSEFWRV9BU1NFUlRfSCAxCnwgI2RlZmluZSBIQVZFX0NUWVBF
 X0ggMQp8ICNkZWZpbmUgSEFWRV9ESVJFTlRfSCAxCnwgI2RlZmluZSBIQVZFX0VORElBTl9IIDEK
 fCAjZGVmaW5lIEhBVkVfRVJSX0ggMQp8ICNkZWZpbmUgSEFWRV9FUlJOT19IIDEKfCAjZGVmaW5l
 IEhBVkVfRkNOVExfSCAxCnwgI2RlZmluZSBIQVZFX0ZOTUFUQ0hfSCAxCnwgI2RlZmluZSBIQVZF
 X0ZUU19IIDEKfCAjZGVmaW5lIEhBVkVfR1JQX0ggMQp8ICNkZWZpbmUgSEFWRV9JTlRUWVBFU19I
 IDEKfCAjZGVmaW5lIEhBVkVfTElCVVRJTF9IIDEKfCAjZGVmaW5lIEhBVkVfTElNSVRTX0ggMQp8
 ICNkZWZpbmUgSEFWRV9ORVREQl9IIDEKfCAjZGVmaW5lIEhBVkVfUEFUSFNfSCAxCnwgI2RlZmlu
 ZSBIQVZFX1BXRF9IIDEKfCAjZGVmaW5lIEhBVkVfU0lHTkFMX0ggMQp8ICNkZWZpbmUgSEFWRV9T
 VERBUkdfSCAxCnwgI2RlZmluZSBIQVZFX1NURERFRl9IIDEKfCAjZGVmaW5lIEhBVkVfU1RESU5U
 X0ggMQp8ICNkZWZpbmUgSEFWRV9TVERJT19IIDEKfCAjZGVmaW5lIEhBVkVfU1RETElCX0ggMQp8
 ICNkZWZpbmUgSEFWRV9TVFJJTkdfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19DREVGU19IIDEKfCAj
 ZGVmaW5lIEhBVkVfU1lTX0RJUl9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX0ZJTEVfSCAxCnwgI2Rl
 ZmluZSBIQVZFX1NZU19QQVJBTV9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NPQ0tFVF9IIDEKfCAj
 ZGVmaW5lIEhBVkVfU1lTX1NUQVRfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19TVEFURlNfSCAxCnwg
 I2RlZmluZSBIQVZFX1NZU19TVEFUVkZTX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfVElNRV9IIDEK
 fCAjZGVmaW5lIEhBVkVfU1lTX1RZUEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfVUlPX0ggMQp8
 ICNkZWZpbmUgSEFWRV9TWVNfVkZTX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNFWElUU19IIDEKfCAj
 ZGVmaW5lIEhBVkVfVEVSTUNBUF9IIDEKfCAjZGVmaW5lIEhBVkVfVElNRV9IIDEKfCAjZGVmaW5l
 IEhBVkVfVU5JU1REX0ggMQp8ICNkZWZpbmUgSEFWRV9VVElNRV9IIDEKfCAjZGVmaW5lIEhBVkVf
 U1lTX01PVU5UX0ggMQp8ICNkZWZpbmUgSEFWRV9HTE9CX0ggMQp8ICNkZWZpbmUgSEFWRV9OQkNP
 TVBBVF9HTE9CIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1FVRVVFX0ggMQp8ICNkZWZpbmUgSEFWRV9O
 QkNPTVBBVF9RVUVVRSAxCnwgI2RlZmluZSBIQVZFX1JFR0VYX0ggMQp8IC8qIGVuZCBjb25mZGVm
 cy5oLiAgKi8KfCAjaW5jbHVkZSA8c3RkaW8uaD4KfCAjaWZkZWYgSEFWRV9TWVNfVFlQRVNfSAp8
 ICMgaW5jbHVkZSA8c3lzL3R5cGVzLmg+CnwgI2VuZGlmCnwgI2lmZGVmIEhBVkVfU1lTX1NUQVRf
 SAp8ICMgaW5jbHVkZSA8c3lzL3N0YXQuaD4KfCAjZW5kaWYKfCAjaWZkZWYgU1REQ19IRUFERVJT
 CnwgIyBpbmNsdWRlIDxzdGRsaWIuaD4KfCAjIGluY2x1ZGUgPHN0ZGRlZi5oPgp8ICNlbHNlCnwg
 IyBpZmRlZiBIQVZFX1NURExJQl9ICnwgIyAgaW5jbHVkZSA8c3RkbGliLmg+CnwgIyBlbmRpZgp8
 ICNlbmRpZgp8ICNpZmRlZiBIQVZFX1NUUklOR19ICnwgIyBpZiAhZGVmaW5lZCBTVERDX0hFQURF
 UlMgJiYgZGVmaW5lZCBIQVZFX01FTU9SWV9ICnwgIyAgaW5jbHVkZSA8bWVtb3J5Lmg+CnwgIyBl
 bmRpZgp8ICMgaW5jbHVkZSA8c3RyaW5nLmg+CnwgI2VuZGlmCnwgI2lmZGVmIEhBVkVfU1RSSU5H
 U19ICnwgIyBpbmNsdWRlIDxzdHJpbmdzLmg+CnwgI2VuZGlmCnwgI2lmZGVmIEhBVkVfSU5UVFlQ
 RVNfSAp8ICMgaW5jbHVkZSA8aW50dHlwZXMuaD4KfCAjZW5kaWYKfCAjaWZkZWYgSEFWRV9TVERJ
 TlRfSAp8ICMgaW5jbHVkZSA8c3RkaW50Lmg+CnwgI2VuZGlmCnwgI2lmZGVmIEhBVkVfVU5JU1RE
 X0gKfCAjIGluY2x1ZGUgPHVuaXN0ZC5oPgp8ICNlbmRpZgp8ICNpbmNsdWRlIDxybWQxNjAuaD4K
 Y29uZmlndXJlOjQ1NTE6IHJlc3VsdDogbm8KY29uZmlndXJlOjQ1NTE6IGNoZWNraW5nIHJtZDE2
 MC5oIHByZXNlbmNlCmNvbmZpZ3VyZTo0NTUxOiBnY2MgLUUgIGNvbmZ0ZXN0LmMKY29uZnRlc3Qu
 Yzo2OToyMDogZmF0YWwgZXJyb3I6IHJtZDE2MC5oOiBObyBzdWNoIGZpbGUgb3IgZGlyZWN0b3J5
 CmNvbXBpbGF0aW9uIHRlcm1pbmF0ZWQuCmNvbmZpZ3VyZTo0NTUxOiAkPyA9IDEKY29uZmlndXJl
 OiBmYWlsZWQgcHJvZ3JhbSB3YXM6CnwgLyogY29uZmRlZnMuaCAqLwp8ICNkZWZpbmUgUEFDS0FH
 RV9OQU1FICJsaWJuYmNvbXBhdCIKfCAjZGVmaW5lIFBBQ0tBR0VfVEFSTkFNRSAibGlibmJjb21w
 YXQiCnwgI2RlZmluZSBQQUNLQUdFX1ZFUlNJT04gIjIwMDgwNjA1Igp8ICNkZWZpbmUgUEFDS0FH
 RV9TVFJJTkcgImxpYm5iY29tcGF0IDIwMDgwNjA1Igp8ICNkZWZpbmUgUEFDS0FHRV9CVUdSRVBP
 UlQgImdyYW50QE5ldEJTRC5vcmciCnwgI2RlZmluZSBQQUNLQUdFX1VSTCAiIgp8ICNkZWZpbmUg
 U1REQ19IRUFERVJTIDEKfCAjZGVmaW5lIFRJTUVfV0lUSF9TWVNfVElNRSAxCnwgI2RlZmluZSBI
 QVZFX1NZU19UWVBFU19IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NUQVRfSCAxCnwgI2RlZmluZSBI
 QVZFX1NURExJQl9IIDEKfCAjZGVmaW5lIEhBVkVfU1RSSU5HX0ggMQp8ICNkZWZpbmUgSEFWRV9N
 RU1PUllfSCAxCnwgI2RlZmluZSBIQVZFX1NUUklOR1NfSCAxCnwgI2RlZmluZSBIQVZFX0lOVFRZ
 UEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERJTlRfSCAxCnwgI2RlZmluZSBIQVZFX1VOSVNURF9I
 IDEKfCAjZGVmaW5lIEhBVkVfX0JPT0wgMQp8ICNkZWZpbmUgSEFWRV9TVERCT09MX0ggMQp8ICNk
 ZWZpbmUgSEFWRV9BTExPQ0FfSCAxCnwgI2RlZmluZSBIQVZFX0FTU0VSVF9IIDEKfCAjZGVmaW5l
 IEhBVkVfQ1RZUEVfSCAxCnwgI2RlZmluZSBIQVZFX0RJUkVOVF9IIDEKfCAjZGVmaW5lIEhBVkVf
 RU5ESUFOX0ggMQp8ICNkZWZpbmUgSEFWRV9FUlJfSCAxCnwgI2RlZmluZSBIQVZFX0VSUk5PX0gg
 MQp8ICNkZWZpbmUgSEFWRV9GQ05UTF9IIDEKfCAjZGVmaW5lIEhBVkVfRk5NQVRDSF9IIDEKfCAj
 ZGVmaW5lIEhBVkVfRlRTX0ggMQp8ICNkZWZpbmUgSEFWRV9HUlBfSCAxCnwgI2RlZmluZSBIQVZF
 X0lOVFRZUEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9MSUJVVElMX0ggMQp8ICNkZWZpbmUgSEFWRV9M
 SU1JVFNfSCAxCnwgI2RlZmluZSBIQVZFX05FVERCX0ggMQp8ICNkZWZpbmUgSEFWRV9QQVRIU19I
 IDEKfCAjZGVmaW5lIEhBVkVfUFdEX0ggMQp8ICNkZWZpbmUgSEFWRV9TSUdOQUxfSCAxCnwgI2Rl
 ZmluZSBIQVZFX1NUREFSR19IIDEKfCAjZGVmaW5lIEhBVkVfU1REREVGX0ggMQp8ICNkZWZpbmUg
 SEFWRV9TVERJTlRfSCAxCnwgI2RlZmluZSBIQVZFX1NURElPX0ggMQp8ICNkZWZpbmUgSEFWRV9T
 VERMSUJfSCAxCnwgI2RlZmluZSBIQVZFX1NUUklOR19IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX0NE
 RUZTX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfRElSX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfRklM
 RV9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1BBUkFNX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfU09D
 S0VUX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfU1RBVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NU
 QVRGU19IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NUQVRWRlNfSCAxCnwgI2RlZmluZSBIQVZFX1NZ
 U19USU1FX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfVFlQRVNfSCAxCnwgI2RlZmluZSBIQVZFX1NZ
 U19VSU9fSCAxCnwgI2RlZmluZSBIQVZFX1NZU19WRlNfSCAxCnwgI2RlZmluZSBIQVZFX1NZU0VY
 SVRTX0ggMQp8ICNkZWZpbmUgSEFWRV9URVJNQ0FQX0ggMQp8ICNkZWZpbmUgSEFWRV9USU1FX0gg
 MQp8ICNkZWZpbmUgSEFWRV9VTklTVERfSCAxCnwgI2RlZmluZSBIQVZFX1VUSU1FX0ggMQp8ICNk
 ZWZpbmUgSEFWRV9TWVNfTU9VTlRfSCAxCnwgI2RlZmluZSBIQVZFX0dMT0JfSCAxCnwgI2RlZmlu
 ZSBIQVZFX05CQ09NUEFUX0dMT0IgMQp8ICNkZWZpbmUgSEFWRV9TWVNfUVVFVUVfSCAxCnwgI2Rl
 ZmluZSBIQVZFX05CQ09NUEFUX1FVRVVFIDEKfCAjZGVmaW5lIEhBVkVfUkVHRVhfSCAxCnwgLyog
 ZW5kIGNvbmZkZWZzLmguICAqLwp8ICNpbmNsdWRlIDxybWQxNjAuaD4KY29uZmlndXJlOjQ1NTE6
 IHJlc3VsdDogbm8KY29uZmlndXJlOjQ1NTE6IGNoZWNraW5nIGZvciBybWQxNjAuaApjb25maWd1
 cmU6NDU1MTogcmVzdWx0OiBubwpjb25maWd1cmU6NDU1MTogY2hlY2tpbmcgc2hhMS5oIHVzYWJp
 bGl0eQpjb25maWd1cmU6NDU1MTogZ2NjIC1jIC1nIC1PMiAgY29uZnRlc3QuYyA+JjUKY29uZnRl
 c3QuYzoxMDI6MTg6IGZhdGFsIGVycm9yOiBzaGExLmg6IE5vIHN1Y2ggZmlsZSBvciBkaXJlY3Rv
 cnkKY29tcGlsYXRpb24gdGVybWluYXRlZC4KY29uZmlndXJlOjQ1NTE6ICQ/ID0gMQpjb25maWd1
 cmU6IGZhaWxlZCBwcm9ncmFtIHdhczoKfCAvKiBjb25mZGVmcy5oICovCnwgI2RlZmluZSBQQUNL
 QUdFX05BTUUgImxpYm5iY29tcGF0Igp8ICNkZWZpbmUgUEFDS0FHRV9UQVJOQU1FICJsaWJuYmNv
 bXBhdCIKfCAjZGVmaW5lIFBBQ0tBR0VfVkVSU0lPTiAiMjAwODA2MDUiCnwgI2RlZmluZSBQQUNL
 QUdFX1NUUklORyAibGlibmJjb21wYXQgMjAwODA2MDUiCnwgI2RlZmluZSBQQUNLQUdFX0JVR1JF
 UE9SVCAiZ3JhbnRATmV0QlNELm9yZyIKfCAjZGVmaW5lIFBBQ0tBR0VfVVJMICIiCnwgI2RlZmlu
 ZSBTVERDX0hFQURFUlMgMQp8ICNkZWZpbmUgVElNRV9XSVRIX1NZU19USU1FIDEKfCAjZGVmaW5l
 IEhBVkVfU1lTX1RZUEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfU1RBVF9IIDEKfCAjZGVmaW5l
 IEhBVkVfU1RETElCX0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJJTkdfSCAxCnwgI2RlZmluZSBIQVZF
 X01FTU9SWV9IIDEKfCAjZGVmaW5lIEhBVkVfU1RSSU5HU19IIDEKfCAjZGVmaW5lIEhBVkVfSU5U
 VFlQRVNfSCAxCnwgI2RlZmluZSBIQVZFX1NURElOVF9IIDEKfCAjZGVmaW5lIEhBVkVfVU5JU1RE
 X0ggMQp8ICNkZWZpbmUgSEFWRV9fQk9PTCAxCnwgI2RlZmluZSBIQVZFX1NUREJPT0xfSCAxCnwg
 I2RlZmluZSBIQVZFX0FMTE9DQV9IIDEKfCAjZGVmaW5lIEhBVkVfQVNTRVJUX0ggMQp8ICNkZWZp
 bmUgSEFWRV9DVFlQRV9IIDEKfCAjZGVmaW5lIEhBVkVfRElSRU5UX0ggMQp8ICNkZWZpbmUgSEFW
 RV9FTkRJQU5fSCAxCnwgI2RlZmluZSBIQVZFX0VSUl9IIDEKfCAjZGVmaW5lIEhBVkVfRVJSTk9f
 SCAxCnwgI2RlZmluZSBIQVZFX0ZDTlRMX0ggMQp8ICNkZWZpbmUgSEFWRV9GTk1BVENIX0ggMQp8
 ICNkZWZpbmUgSEFWRV9GVFNfSCAxCnwgI2RlZmluZSBIQVZFX0dSUF9IIDEKfCAjZGVmaW5lIEhB
 VkVfSU5UVFlQRVNfSCAxCnwgI2RlZmluZSBIQVZFX0xJQlVUSUxfSCAxCnwgI2RlZmluZSBIQVZF
 X0xJTUlUU19IIDEKfCAjZGVmaW5lIEhBVkVfTkVUREJfSCAxCnwgI2RlZmluZSBIQVZFX1BBVEhT
 X0ggMQp8ICNkZWZpbmUgSEFWRV9QV0RfSCAxCnwgI2RlZmluZSBIQVZFX1NJR05BTF9IIDEKfCAj
 ZGVmaW5lIEhBVkVfU1REQVJHX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERERUZfSCAxCnwgI2RlZmlu
 ZSBIQVZFX1NURElOVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1RESU9fSCAxCnwgI2RlZmluZSBIQVZF
 X1NURExJQl9IIDEKfCAjZGVmaW5lIEhBVkVfU1RSSU5HX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNf
 Q0RFRlNfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19ESVJfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19G
 SUxFX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfUEFSQU1fSCAxCnwgI2RlZmluZSBIQVZFX1NZU19T
 T0NLRVRfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19TVEFUX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNf
 U1RBVEZTX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfU1RBVFZGU19IIDEKfCAjZGVmaW5lIEhBVkVf
 U1lTX1RJTUVfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19UWVBFU19IIDEKfCAjZGVmaW5lIEhBVkVf
 U1lTX1VJT19IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1ZGU19IIDEKfCAjZGVmaW5lIEhBVkVfU1lT
 RVhJVFNfSCAxCnwgI2RlZmluZSBIQVZFX1RFUk1DQVBfSCAxCnwgI2RlZmluZSBIQVZFX1RJTUVf
 SCAxCnwgI2RlZmluZSBIQVZFX1VOSVNURF9IIDEKfCAjZGVmaW5lIEhBVkVfVVRJTUVfSCAxCnwg
 I2RlZmluZSBIQVZFX1NZU19NT1VOVF9IIDEKfCAjZGVmaW5lIEhBVkVfR0xPQl9IIDEKfCAjZGVm
 aW5lIEhBVkVfTkJDT01QQVRfR0xPQiAxCnwgI2RlZmluZSBIQVZFX1NZU19RVUVVRV9IIDEKfCAj
 ZGVmaW5lIEhBVkVfTkJDT01QQVRfUVVFVUUgMQp8ICNkZWZpbmUgSEFWRV9SRUdFWF9IIDEKfCAv
 KiBlbmQgY29uZmRlZnMuaC4gICovCnwgI2luY2x1ZGUgPHN0ZGlvLmg+CnwgI2lmZGVmIEhBVkVf
 U1lTX1RZUEVTX0gKfCAjIGluY2x1ZGUgPHN5cy90eXBlcy5oPgp8ICNlbmRpZgp8ICNpZmRlZiBI
 QVZFX1NZU19TVEFUX0gKfCAjIGluY2x1ZGUgPHN5cy9zdGF0Lmg+CnwgI2VuZGlmCnwgI2lmZGVm
 IFNURENfSEVBREVSUwp8ICMgaW5jbHVkZSA8c3RkbGliLmg+CnwgIyBpbmNsdWRlIDxzdGRkZWYu
 aD4KfCAjZWxzZQp8ICMgaWZkZWYgSEFWRV9TVERMSUJfSAp8ICMgIGluY2x1ZGUgPHN0ZGxpYi5o
 Pgp8ICMgZW5kaWYKfCAjZW5kaWYKfCAjaWZkZWYgSEFWRV9TVFJJTkdfSAp8ICMgaWYgIWRlZmlu
 ZWQgU1REQ19IRUFERVJTICYmIGRlZmluZWQgSEFWRV9NRU1PUllfSAp8ICMgIGluY2x1ZGUgPG1l
 bW9yeS5oPgp8ICMgZW5kaWYKfCAjIGluY2x1ZGUgPHN0cmluZy5oPgp8ICNlbmRpZgp8ICNpZmRl
 ZiBIQVZFX1NUUklOR1NfSAp8ICMgaW5jbHVkZSA8c3RyaW5ncy5oPgp8ICNlbmRpZgp8ICNpZmRl
 ZiBIQVZFX0lOVFRZUEVTX0gKfCAjIGluY2x1ZGUgPGludHR5cGVzLmg+CnwgI2VuZGlmCnwgI2lm
 ZGVmIEhBVkVfU1RESU5UX0gKfCAjIGluY2x1ZGUgPHN0ZGludC5oPgp8ICNlbmRpZgp8ICNpZmRl
 ZiBIQVZFX1VOSVNURF9ICnwgIyBpbmNsdWRlIDx1bmlzdGQuaD4KfCAjZW5kaWYKfCAjaW5jbHVk
 ZSA8c2hhMS5oPgpjb25maWd1cmU6NDU1MTogcmVzdWx0OiBubwpjb25maWd1cmU6NDU1MTogY2hl
 Y2tpbmcgc2hhMS5oIHByZXNlbmNlCmNvbmZpZ3VyZTo0NTUxOiBnY2MgLUUgIGNvbmZ0ZXN0LmMK
 Y29uZnRlc3QuYzo2OToxODogZmF0YWwgZXJyb3I6IHNoYTEuaDogTm8gc3VjaCBmaWxlIG9yIGRp
 cmVjdG9yeQpjb21waWxhdGlvbiB0ZXJtaW5hdGVkLgpjb25maWd1cmU6NDU1MTogJD8gPSAxCmNv
 bmZpZ3VyZTogZmFpbGVkIHByb2dyYW0gd2FzOgp8IC8qIGNvbmZkZWZzLmggKi8KfCAjZGVmaW5l
 IFBBQ0tBR0VfTkFNRSAibGlibmJjb21wYXQiCnwgI2RlZmluZSBQQUNLQUdFX1RBUk5BTUUgImxp
 Ym5iY29tcGF0Igp8ICNkZWZpbmUgUEFDS0FHRV9WRVJTSU9OICIyMDA4MDYwNSIKfCAjZGVmaW5l
 IFBBQ0tBR0VfU1RSSU5HICJsaWJuYmNvbXBhdCAyMDA4MDYwNSIKfCAjZGVmaW5lIFBBQ0tBR0Vf
 QlVHUkVQT1JUICJncmFudEBOZXRCU0Qub3JnIgp8ICNkZWZpbmUgUEFDS0FHRV9VUkwgIiIKfCAj
 ZGVmaW5lIFNURENfSEVBREVSUyAxCnwgI2RlZmluZSBUSU1FX1dJVEhfU1lTX1RJTUUgMQp8ICNk
 ZWZpbmUgSEFWRV9TWVNfVFlQRVNfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19TVEFUX0ggMQp8ICNk
 ZWZpbmUgSEFWRV9TVERMSUJfSCAxCnwgI2RlZmluZSBIQVZFX1NUUklOR19IIDEKfCAjZGVmaW5l
 IEhBVkVfTUVNT1JZX0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJJTkdTX0ggMQp8ICNkZWZpbmUgSEFW
 RV9JTlRUWVBFU19IIDEKfCAjZGVmaW5lIEhBVkVfU1RESU5UX0ggMQp8ICNkZWZpbmUgSEFWRV9V
 TklTVERfSCAxCnwgI2RlZmluZSBIQVZFX19CT09MIDEKfCAjZGVmaW5lIEhBVkVfU1REQk9PTF9I
 IDEKfCAjZGVmaW5lIEhBVkVfQUxMT0NBX0ggMQp8ICNkZWZpbmUgSEFWRV9BU1NFUlRfSCAxCnwg
 I2RlZmluZSBIQVZFX0NUWVBFX0ggMQp8ICNkZWZpbmUgSEFWRV9ESVJFTlRfSCAxCnwgI2RlZmlu
 ZSBIQVZFX0VORElBTl9IIDEKfCAjZGVmaW5lIEhBVkVfRVJSX0ggMQp8ICNkZWZpbmUgSEFWRV9F
 UlJOT19IIDEKfCAjZGVmaW5lIEhBVkVfRkNOVExfSCAxCnwgI2RlZmluZSBIQVZFX0ZOTUFUQ0hf
 SCAxCnwgI2RlZmluZSBIQVZFX0ZUU19IIDEKfCAjZGVmaW5lIEhBVkVfR1JQX0ggMQp8ICNkZWZp
 bmUgSEFWRV9JTlRUWVBFU19IIDEKfCAjZGVmaW5lIEhBVkVfTElCVVRJTF9IIDEKfCAjZGVmaW5l
 IEhBVkVfTElNSVRTX0ggMQp8ICNkZWZpbmUgSEFWRV9ORVREQl9IIDEKfCAjZGVmaW5lIEhBVkVf
 UEFUSFNfSCAxCnwgI2RlZmluZSBIQVZFX1BXRF9IIDEKfCAjZGVmaW5lIEhBVkVfU0lHTkFMX0gg
 MQp8ICNkZWZpbmUgSEFWRV9TVERBUkdfSCAxCnwgI2RlZmluZSBIQVZFX1NURERFRl9IIDEKfCAj
 ZGVmaW5lIEhBVkVfU1RESU5UX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERJT19IIDEKfCAjZGVmaW5l
 IEhBVkVfU1RETElCX0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJJTkdfSCAxCnwgI2RlZmluZSBIQVZF
 X1NZU19DREVGU19IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX0RJUl9IIDEKfCAjZGVmaW5lIEhBVkVf
 U1lTX0ZJTEVfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19QQVJBTV9IIDEKfCAjZGVmaW5lIEhBVkVf
 U1lTX1NPQ0tFVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NUQVRfSCAxCnwgI2RlZmluZSBIQVZF
 X1NZU19TVEFURlNfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19TVEFUVkZTX0ggMQp8ICNkZWZpbmUg
 SEFWRV9TWVNfVElNRV9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1RZUEVTX0ggMQp8ICNkZWZpbmUg
 SEFWRV9TWVNfVUlPX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfVkZTX0ggMQp8ICNkZWZpbmUgSEFW
 RV9TWVNFWElUU19IIDEKfCAjZGVmaW5lIEhBVkVfVEVSTUNBUF9IIDEKfCAjZGVmaW5lIEhBVkVf
 VElNRV9IIDEKfCAjZGVmaW5lIEhBVkVfVU5JU1REX0ggMQp8ICNkZWZpbmUgSEFWRV9VVElNRV9I
 IDEKfCAjZGVmaW5lIEhBVkVfU1lTX01PVU5UX0ggMQp8ICNkZWZpbmUgSEFWRV9HTE9CX0ggMQp8
 ICNkZWZpbmUgSEFWRV9OQkNPTVBBVF9HTE9CIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1FVRVVFX0gg
 MQp8ICNkZWZpbmUgSEFWRV9OQkNPTVBBVF9RVUVVRSAxCnwgI2RlZmluZSBIQVZFX1JFR0VYX0gg
 MQp8IC8qIGVuZCBjb25mZGVmcy5oLiAgKi8KfCAjaW5jbHVkZSA8c2hhMS5oPgpjb25maWd1cmU6
 NDU1MTogcmVzdWx0OiBubwpjb25maWd1cmU6NDU1MTogY2hlY2tpbmcgZm9yIHNoYTEuaApjb25m
 aWd1cmU6NDU1MTogcmVzdWx0OiBubwpjb25maWd1cmU6NDU1MTogY2hlY2tpbmcgc2hhMi5oIHVz
 YWJpbGl0eQpjb25maWd1cmU6NDU1MTogZ2NjIC1jIC1nIC1PMiAgY29uZnRlc3QuYyA+JjUKY29u
 ZnRlc3QuYzoxMDI6MTg6IGZhdGFsIGVycm9yOiBzaGEyLmg6IE5vIHN1Y2ggZmlsZSBvciBkaXJl
 Y3RvcnkKY29tcGlsYXRpb24gdGVybWluYXRlZC4KY29uZmlndXJlOjQ1NTE6ICQ/ID0gMQpjb25m
 aWd1cmU6IGZhaWxlZCBwcm9ncmFtIHdhczoKfCAvKiBjb25mZGVmcy5oICovCnwgI2RlZmluZSBQ
 QUNLQUdFX05BTUUgImxpYm5iY29tcGF0Igp8ICNkZWZpbmUgUEFDS0FHRV9UQVJOQU1FICJsaWJu
 YmNvbXBhdCIKfCAjZGVmaW5lIFBBQ0tBR0VfVkVSU0lPTiAiMjAwODA2MDUiCnwgI2RlZmluZSBQ
 QUNLQUdFX1NUUklORyAibGlibmJjb21wYXQgMjAwODA2MDUiCnwgI2RlZmluZSBQQUNLQUdFX0JV
 R1JFUE9SVCAiZ3JhbnRATmV0QlNELm9yZyIKfCAjZGVmaW5lIFBBQ0tBR0VfVVJMICIiCnwgI2Rl
 ZmluZSBTVERDX0hFQURFUlMgMQp8ICNkZWZpbmUgVElNRV9XSVRIX1NZU19USU1FIDEKfCAjZGVm
 aW5lIEhBVkVfU1lTX1RZUEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfU1RBVF9IIDEKfCAjZGVm
 aW5lIEhBVkVfU1RETElCX0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJJTkdfSCAxCnwgI2RlZmluZSBI
 QVZFX01FTU9SWV9IIDEKfCAjZGVmaW5lIEhBVkVfU1RSSU5HU19IIDEKfCAjZGVmaW5lIEhBVkVf
 SU5UVFlQRVNfSCAxCnwgI2RlZmluZSBIQVZFX1NURElOVF9IIDEKfCAjZGVmaW5lIEhBVkVfVU5J
 U1REX0ggMQp8ICNkZWZpbmUgSEFWRV9fQk9PTCAxCnwgI2RlZmluZSBIQVZFX1NUREJPT0xfSCAx
 CnwgI2RlZmluZSBIQVZFX0FMTE9DQV9IIDEKfCAjZGVmaW5lIEhBVkVfQVNTRVJUX0ggMQp8ICNk
 ZWZpbmUgSEFWRV9DVFlQRV9IIDEKfCAjZGVmaW5lIEhBVkVfRElSRU5UX0ggMQp8ICNkZWZpbmUg
 SEFWRV9FTkRJQU5fSCAxCnwgI2RlZmluZSBIQVZFX0VSUl9IIDEKfCAjZGVmaW5lIEhBVkVfRVJS
 Tk9fSCAxCnwgI2RlZmluZSBIQVZFX0ZDTlRMX0ggMQp8ICNkZWZpbmUgSEFWRV9GTk1BVENIX0gg
 MQp8ICNkZWZpbmUgSEFWRV9GVFNfSCAxCnwgI2RlZmluZSBIQVZFX0dSUF9IIDEKfCAjZGVmaW5l
 IEhBVkVfSU5UVFlQRVNfSCAxCnwgI2RlZmluZSBIQVZFX0xJQlVUSUxfSCAxCnwgI2RlZmluZSBI
 QVZFX0xJTUlUU19IIDEKfCAjZGVmaW5lIEhBVkVfTkVUREJfSCAxCnwgI2RlZmluZSBIQVZFX1BB
 VEhTX0ggMQp8ICNkZWZpbmUgSEFWRV9QV0RfSCAxCnwgI2RlZmluZSBIQVZFX1NJR05BTF9IIDEK
 fCAjZGVmaW5lIEhBVkVfU1REQVJHX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERERUZfSCAxCnwgI2Rl
 ZmluZSBIQVZFX1NURElOVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1RESU9fSCAxCnwgI2RlZmluZSBI
 QVZFX1NURExJQl9IIDEKfCAjZGVmaW5lIEhBVkVfU1RSSU5HX0ggMQp8ICNkZWZpbmUgSEFWRV9T
 WVNfQ0RFRlNfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19ESVJfSCAxCnwgI2RlZmluZSBIQVZFX1NZ
 U19GSUxFX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfUEFSQU1fSCAxCnwgI2RlZmluZSBIQVZFX1NZ
 U19TT0NLRVRfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19TVEFUX0ggMQp8ICNkZWZpbmUgSEFWRV9T
 WVNfU1RBVEZTX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfU1RBVFZGU19IIDEKfCAjZGVmaW5lIEhB
 VkVfU1lTX1RJTUVfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19UWVBFU19IIDEKfCAjZGVmaW5lIEhB
 VkVfU1lTX1VJT19IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1ZGU19IIDEKfCAjZGVmaW5lIEhBVkVf
 U1lTRVhJVFNfSCAxCnwgI2RlZmluZSBIQVZFX1RFUk1DQVBfSCAxCnwgI2RlZmluZSBIQVZFX1RJ
 TUVfSCAxCnwgI2RlZmluZSBIQVZFX1VOSVNURF9IIDEKfCAjZGVmaW5lIEhBVkVfVVRJTUVfSCAx
 CnwgI2RlZmluZSBIQVZFX1NZU19NT1VOVF9IIDEKfCAjZGVmaW5lIEhBVkVfR0xPQl9IIDEKfCAj
 ZGVmaW5lIEhBVkVfTkJDT01QQVRfR0xPQiAxCnwgI2RlZmluZSBIQVZFX1NZU19RVUVVRV9IIDEK
 fCAjZGVmaW5lIEhBVkVfTkJDT01QQVRfUVVFVUUgMQp8ICNkZWZpbmUgSEFWRV9SRUdFWF9IIDEK
 fCAvKiBlbmQgY29uZmRlZnMuaC4gICovCnwgI2luY2x1ZGUgPHN0ZGlvLmg+CnwgI2lmZGVmIEhB
 VkVfU1lTX1RZUEVTX0gKfCAjIGluY2x1ZGUgPHN5cy90eXBlcy5oPgp8ICNlbmRpZgp8ICNpZmRl
 ZiBIQVZFX1NZU19TVEFUX0gKfCAjIGluY2x1ZGUgPHN5cy9zdGF0Lmg+CnwgI2VuZGlmCnwgI2lm
 ZGVmIFNURENfSEVBREVSUwp8ICMgaW5jbHVkZSA8c3RkbGliLmg+CnwgIyBpbmNsdWRlIDxzdGRk
 ZWYuaD4KfCAjZWxzZQp8ICMgaWZkZWYgSEFWRV9TVERMSUJfSAp8ICMgIGluY2x1ZGUgPHN0ZGxp
 Yi5oPgp8ICMgZW5kaWYKfCAjZW5kaWYKfCAjaWZkZWYgSEFWRV9TVFJJTkdfSAp8ICMgaWYgIWRl
 ZmluZWQgU1REQ19IRUFERVJTICYmIGRlZmluZWQgSEFWRV9NRU1PUllfSAp8ICMgIGluY2x1ZGUg
 PG1lbW9yeS5oPgp8ICMgZW5kaWYKfCAjIGluY2x1ZGUgPHN0cmluZy5oPgp8ICNlbmRpZgp8ICNp
 ZmRlZiBIQVZFX1NUUklOR1NfSAp8ICMgaW5jbHVkZSA8c3RyaW5ncy5oPgp8ICNlbmRpZgp8ICNp
 ZmRlZiBIQVZFX0lOVFRZUEVTX0gKfCAjIGluY2x1ZGUgPGludHR5cGVzLmg+CnwgI2VuZGlmCnwg
 I2lmZGVmIEhBVkVfU1RESU5UX0gKfCAjIGluY2x1ZGUgPHN0ZGludC5oPgp8ICNlbmRpZgp8ICNp
 ZmRlZiBIQVZFX1VOSVNURF9ICnwgIyBpbmNsdWRlIDx1bmlzdGQuaD4KfCAjZW5kaWYKfCAjaW5j
 bHVkZSA8c2hhMi5oPgpjb25maWd1cmU6NDU1MTogcmVzdWx0OiBubwpjb25maWd1cmU6NDU1MTog
 Y2hlY2tpbmcgc2hhMi5oIHByZXNlbmNlCmNvbmZpZ3VyZTo0NTUxOiBnY2MgLUUgIGNvbmZ0ZXN0
 LmMKY29uZnRlc3QuYzo2OToxODogZmF0YWwgZXJyb3I6IHNoYTIuaDogTm8gc3VjaCBmaWxlIG9y
 IGRpcmVjdG9yeQpjb21waWxhdGlvbiB0ZXJtaW5hdGVkLgpjb25maWd1cmU6NDU1MTogJD8gPSAx
 CmNvbmZpZ3VyZTogZmFpbGVkIHByb2dyYW0gd2FzOgp8IC8qIGNvbmZkZWZzLmggKi8KfCAjZGVm
 aW5lIFBBQ0tBR0VfTkFNRSAibGlibmJjb21wYXQiCnwgI2RlZmluZSBQQUNLQUdFX1RBUk5BTUUg
 ImxpYm5iY29tcGF0Igp8ICNkZWZpbmUgUEFDS0FHRV9WRVJTSU9OICIyMDA4MDYwNSIKfCAjZGVm
 aW5lIFBBQ0tBR0VfU1RSSU5HICJsaWJuYmNvbXBhdCAyMDA4MDYwNSIKfCAjZGVmaW5lIFBBQ0tB
 R0VfQlVHUkVQT1JUICJncmFudEBOZXRCU0Qub3JnIgp8ICNkZWZpbmUgUEFDS0FHRV9VUkwgIiIK
 fCAjZGVmaW5lIFNURENfSEVBREVSUyAxCnwgI2RlZmluZSBUSU1FX1dJVEhfU1lTX1RJTUUgMQp8
 ICNkZWZpbmUgSEFWRV9TWVNfVFlQRVNfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19TVEFUX0ggMQp8
 ICNkZWZpbmUgSEFWRV9TVERMSUJfSCAxCnwgI2RlZmluZSBIQVZFX1NUUklOR19IIDEKfCAjZGVm
 aW5lIEhBVkVfTUVNT1JZX0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJJTkdTX0ggMQp8ICNkZWZpbmUg
 SEFWRV9JTlRUWVBFU19IIDEKfCAjZGVmaW5lIEhBVkVfU1RESU5UX0ggMQp8ICNkZWZpbmUgSEFW
 RV9VTklTVERfSCAxCnwgI2RlZmluZSBIQVZFX19CT09MIDEKfCAjZGVmaW5lIEhBVkVfU1REQk9P
 TF9IIDEKfCAjZGVmaW5lIEhBVkVfQUxMT0NBX0ggMQp8ICNkZWZpbmUgSEFWRV9BU1NFUlRfSCAx
 CnwgI2RlZmluZSBIQVZFX0NUWVBFX0ggMQp8ICNkZWZpbmUgSEFWRV9ESVJFTlRfSCAxCnwgI2Rl
 ZmluZSBIQVZFX0VORElBTl9IIDEKfCAjZGVmaW5lIEhBVkVfRVJSX0ggMQp8ICNkZWZpbmUgSEFW
 RV9FUlJOT19IIDEKfCAjZGVmaW5lIEhBVkVfRkNOVExfSCAxCnwgI2RlZmluZSBIQVZFX0ZOTUFU
 Q0hfSCAxCnwgI2RlZmluZSBIQVZFX0ZUU19IIDEKfCAjZGVmaW5lIEhBVkVfR1JQX0ggMQp8ICNk
 ZWZpbmUgSEFWRV9JTlRUWVBFU19IIDEKfCAjZGVmaW5lIEhBVkVfTElCVVRJTF9IIDEKfCAjZGVm
 aW5lIEhBVkVfTElNSVRTX0ggMQp8ICNkZWZpbmUgSEFWRV9ORVREQl9IIDEKfCAjZGVmaW5lIEhB
 VkVfUEFUSFNfSCAxCnwgI2RlZmluZSBIQVZFX1BXRF9IIDEKfCAjZGVmaW5lIEhBVkVfU0lHTkFM
 X0ggMQp8ICNkZWZpbmUgSEFWRV9TVERBUkdfSCAxCnwgI2RlZmluZSBIQVZFX1NURERFRl9IIDEK
 fCAjZGVmaW5lIEhBVkVfU1RESU5UX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERJT19IIDEKfCAjZGVm
 aW5lIEhBVkVfU1RETElCX0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJJTkdfSCAxCnwgI2RlZmluZSBI
 QVZFX1NZU19DREVGU19IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX0RJUl9IIDEKfCAjZGVmaW5lIEhB
 VkVfU1lTX0ZJTEVfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19QQVJBTV9IIDEKfCAjZGVmaW5lIEhB
 VkVfU1lTX1NPQ0tFVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NUQVRfSCAxCnwgI2RlZmluZSBI
 QVZFX1NZU19TVEFURlNfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19TVEFUVkZTX0ggMQp8ICNkZWZp
 bmUgSEFWRV9TWVNfVElNRV9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1RZUEVTX0ggMQp8ICNkZWZp
 bmUgSEFWRV9TWVNfVUlPX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfVkZTX0ggMQp8ICNkZWZpbmUg
 SEFWRV9TWVNFWElUU19IIDEKfCAjZGVmaW5lIEhBVkVfVEVSTUNBUF9IIDEKfCAjZGVmaW5lIEhB
 VkVfVElNRV9IIDEKfCAjZGVmaW5lIEhBVkVfVU5JU1REX0ggMQp8ICNkZWZpbmUgSEFWRV9VVElN
 RV9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX01PVU5UX0ggMQp8ICNkZWZpbmUgSEFWRV9HTE9CX0gg
 MQp8ICNkZWZpbmUgSEFWRV9OQkNPTVBBVF9HTE9CIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1FVRVVF
 X0ggMQp8ICNkZWZpbmUgSEFWRV9OQkNPTVBBVF9RVUVVRSAxCnwgI2RlZmluZSBIQVZFX1JFR0VY
 X0ggMQp8IC8qIGVuZCBjb25mZGVmcy5oLiAgKi8KfCAjaW5jbHVkZSA8c2hhMi5oPgpjb25maWd1
 cmU6NDU1MTogcmVzdWx0OiBubwpjb25maWd1cmU6NDU1MTogY2hlY2tpbmcgZm9yIHNoYTIuaApj
 b25maWd1cmU6NDU1MTogcmVzdWx0OiBubwpjb25maWd1cmU6NDU2MTogY2hlY2tpbmcgZm9yIE1E
 NUZpbGUKY29uZmlndXJlOjQ1NjE6IGdjYyAtbyBjb25mdGVzdCAtZyAtTzIgICBjb25mdGVzdC5j
 ICA+JjUKL3RtcC9jY0NQUUphRy5vOiBJbiBmdW5jdGlvbiBgbWFpbic6Ci9tZWRpYS9zZGIyL3Ny
 Yy9wa2dzcmMvYm9vdHN0cmFwL3dvcmsvbGlibmJjb21wYXQvY29uZnRlc3QuYzoxMDM6IHVuZGVm
 aW5lZCByZWZlcmVuY2UgdG8gYE1ENUZpbGUnCmNvbGxlY3QyOiBsZCByZXR1cm5lZCAxIGV4aXQg
 c3RhdHVzCmNvbmZpZ3VyZTo0NTYxOiAkPyA9IDEKY29uZmlndXJlOiBmYWlsZWQgcHJvZ3JhbSB3
 YXM6CnwgLyogY29uZmRlZnMuaCAqLwp8ICNkZWZpbmUgUEFDS0FHRV9OQU1FICJsaWJuYmNvbXBh
 dCIKfCAjZGVmaW5lIFBBQ0tBR0VfVEFSTkFNRSAibGlibmJjb21wYXQiCnwgI2RlZmluZSBQQUNL
 QUdFX1ZFUlNJT04gIjIwMDgwNjA1Igp8ICNkZWZpbmUgUEFDS0FHRV9TVFJJTkcgImxpYm5iY29t
 cGF0IDIwMDgwNjA1Igp8ICNkZWZpbmUgUEFDS0FHRV9CVUdSRVBPUlQgImdyYW50QE5ldEJTRC5v
 cmciCnwgI2RlZmluZSBQQUNLQUdFX1VSTCAiIgp8ICNkZWZpbmUgU1REQ19IRUFERVJTIDEKfCAj
 ZGVmaW5lIFRJTUVfV0lUSF9TWVNfVElNRSAxCnwgI2RlZmluZSBIQVZFX1NZU19UWVBFU19IIDEK
 fCAjZGVmaW5lIEhBVkVfU1lTX1NUQVRfSCAxCnwgI2RlZmluZSBIQVZFX1NURExJQl9IIDEKfCAj
 ZGVmaW5lIEhBVkVfU1RSSU5HX0ggMQp8ICNkZWZpbmUgSEFWRV9NRU1PUllfSCAxCnwgI2RlZmlu
 ZSBIQVZFX1NUUklOR1NfSCAxCnwgI2RlZmluZSBIQVZFX0lOVFRZUEVTX0ggMQp8ICNkZWZpbmUg
 SEFWRV9TVERJTlRfSCAxCnwgI2RlZmluZSBIQVZFX1VOSVNURF9IIDEKfCAjZGVmaW5lIEhBVkVf
 X0JPT0wgMQp8ICNkZWZpbmUgSEFWRV9TVERCT09MX0ggMQp8ICNkZWZpbmUgSEFWRV9BTExPQ0Ff
 SCAxCnwgI2RlZmluZSBIQVZFX0FTU0VSVF9IIDEKfCAjZGVmaW5lIEhBVkVfQ1RZUEVfSCAxCnwg
 I2RlZmluZSBIQVZFX0RJUkVOVF9IIDEKfCAjZGVmaW5lIEhBVkVfRU5ESUFOX0ggMQp8ICNkZWZp
 bmUgSEFWRV9FUlJfSCAxCnwgI2RlZmluZSBIQVZFX0VSUk5PX0ggMQp8ICNkZWZpbmUgSEFWRV9G
 Q05UTF9IIDEKfCAjZGVmaW5lIEhBVkVfRk5NQVRDSF9IIDEKfCAjZGVmaW5lIEhBVkVfRlRTX0gg
 MQp8ICNkZWZpbmUgSEFWRV9HUlBfSCAxCnwgI2RlZmluZSBIQVZFX0lOVFRZUEVTX0ggMQp8ICNk
 ZWZpbmUgSEFWRV9MSUJVVElMX0ggMQp8ICNkZWZpbmUgSEFWRV9MSU1JVFNfSCAxCnwgI2RlZmlu
 ZSBIQVZFX05FVERCX0ggMQp8ICNkZWZpbmUgSEFWRV9QQVRIU19IIDEKfCAjZGVmaW5lIEhBVkVf
 UFdEX0ggMQp8ICNkZWZpbmUgSEFWRV9TSUdOQUxfSCAxCnwgI2RlZmluZSBIQVZFX1NUREFSR19I
 IDEKfCAjZGVmaW5lIEhBVkVfU1REREVGX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERJTlRfSCAxCnwg
 I2RlZmluZSBIQVZFX1NURElPX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERMSUJfSCAxCnwgI2RlZmlu
 ZSBIQVZFX1NUUklOR19IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX0NERUZTX0ggMQp8ICNkZWZpbmUg
 SEFWRV9TWVNfRElSX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfRklMRV9IIDEKfCAjZGVmaW5lIEhB
 VkVfU1lTX1BBUkFNX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfU09DS0VUX0ggMQp8ICNkZWZpbmUg
 SEFWRV9TWVNfU1RBVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NUQVRGU19IIDEKfCAjZGVmaW5l
 IEhBVkVfU1lTX1NUQVRWRlNfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19USU1FX0ggMQp8ICNkZWZp
 bmUgSEFWRV9TWVNfVFlQRVNfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19VSU9fSCAxCnwgI2RlZmlu
 ZSBIQVZFX1NZU19WRlNfSCAxCnwgI2RlZmluZSBIQVZFX1NZU0VYSVRTX0ggMQp8ICNkZWZpbmUg
 SEFWRV9URVJNQ0FQX0ggMQp8ICNkZWZpbmUgSEFWRV9USU1FX0ggMQp8ICNkZWZpbmUgSEFWRV9V
 TklTVERfSCAxCnwgI2RlZmluZSBIQVZFX1VUSU1FX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfTU9V
 TlRfSCAxCnwgI2RlZmluZSBIQVZFX0dMT0JfSCAxCnwgI2RlZmluZSBIQVZFX05CQ09NUEFUX0dM
 T0IgMQp8ICNkZWZpbmUgSEFWRV9TWVNfUVVFVUVfSCAxCnwgI2RlZmluZSBIQVZFX05CQ09NUEFU
 X1FVRVVFIDEKfCAjZGVmaW5lIEhBVkVfUkVHRVhfSCAxCnwgLyogZW5kIGNvbmZkZWZzLmguICAq
 Lwp8IC8qIERlZmluZSBNRDVGaWxlIHRvIGFuIGlubm9jdW91cyB2YXJpYW50LCBpbiBjYXNlIDxs
 aW1pdHMuaD4gZGVjbGFyZXMgTUQ1RmlsZS4KfCAgICBGb3IgZXhhbXBsZSwgSFAtVVggMTFpIDxs
 aW1pdHMuaD4gZGVjbGFyZXMgZ2V0dGltZW9mZGF5LiAgKi8KfCAjZGVmaW5lIE1ENUZpbGUgaW5u
 b2N1b3VzX01ENUZpbGUKfCAKfCAvKiBTeXN0ZW0gaGVhZGVyIHRvIGRlZmluZSBfX3N0dWIgbWFj
 cm9zIGFuZCBob3BlZnVsbHkgZmV3IHByb3RvdHlwZXMsCnwgICAgIHdoaWNoIGNhbiBjb25mbGlj
 dCB3aXRoIGNoYXIgTUQ1RmlsZSAoKTsgYmVsb3cuCnwgICAgIFByZWZlciA8bGltaXRzLmg+IHRv
 IDxhc3NlcnQuaD4gaWYgX19TVERDX18gaXMgZGVmaW5lZCwgc2luY2UKfCAgICAgPGxpbWl0cy5o
 PiBleGlzdHMgZXZlbiBvbiBmcmVlc3RhbmRpbmcgY29tcGlsZXJzLiAgKi8KfCAKfCAjaWZkZWYg
 X19TVERDX18KfCAjIGluY2x1ZGUgPGxpbWl0cy5oPgp8ICNlbHNlCnwgIyBpbmNsdWRlIDxhc3Nl
 cnQuaD4KfCAjZW5kaWYKfCAKfCAjdW5kZWYgTUQ1RmlsZQp8IAp8IC8qIE92ZXJyaWRlIGFueSBH
 Q0MgaW50ZXJuYWwgcHJvdG90eXBlIHRvIGF2b2lkIGFuIGVycm9yLgp8ICAgIFVzZSBjaGFyIGJl
 Y2F1c2UgaW50IG1pZ2h0IG1hdGNoIHRoZSByZXR1cm4gdHlwZSBvZiBhIEdDQwp8ICAgIGJ1aWx0
 aW4gYW5kIHRoZW4gaXRzIGFyZ3VtZW50IHByb3RvdHlwZSB3b3VsZCBzdGlsbCBhcHBseS4gICov
 CnwgI2lmZGVmIF9fY3BsdXNwbHVzCnwgZXh0ZXJuICJDIgp8ICNlbmRpZgp8IGNoYXIgTUQ1Rmls
 ZSAoKTsKfCAvKiBUaGUgR05VIEMgbGlicmFyeSBkZWZpbmVzIHRoaXMgZm9yIGZ1bmN0aW9ucyB3
 aGljaCBpdCBpbXBsZW1lbnRzCnwgICAgIHRvIGFsd2F5cyBmYWlsIHdpdGggRU5PU1lTLiAgU29t
 ZSBmdW5jdGlvbnMgYXJlIGFjdHVhbGx5IG5hbWVkCnwgICAgIHNvbWV0aGluZyBzdGFydGluZyB3
 aXRoIF9fIGFuZCB0aGUgbm9ybWFsIG5hbWUgaXMgYW4gYWxpYXMuICAqLwp8ICNpZiBkZWZpbmVk
 IF9fc3R1Yl9NRDVGaWxlIHx8IGRlZmluZWQgX19zdHViX19fTUQ1RmlsZQp8IGNob2tlIG1lCnwg
 I2VuZGlmCnwgCnwgaW50CnwgbWFpbiAoKQp8IHsKfCByZXR1cm4gTUQ1RmlsZSAoKTsKfCAgIDsK
 fCAgIHJldHVybiAwOwp8IH0KY29uZmlndXJlOjQ1NjE6IHJlc3VsdDogbm8KY29uZmlndXJlOjQ1
 ODQ6IGNoZWNraW5nIGZvciBSTUQxNjBGaWxlCmNvbmZpZ3VyZTo0NTg0OiBnY2MgLW8gY29uZnRl
 c3QgLWcgLU8yICAgY29uZnRlc3QuYyAgPiY1Ci90bXAvY2NrVk9vQlEubzogSW4gZnVuY3Rpb24g
 YG1haW4nOgovbWVkaWEvc2RiMi9zcmMvcGtnc3JjL2Jvb3RzdHJhcC93b3JrL2xpYm5iY29tcGF0
 L2NvbmZ0ZXN0LmM6MTA0OiB1bmRlZmluZWQgcmVmZXJlbmNlIHRvIGBSTUQxNjBGaWxlJwpjb2xs
 ZWN0MjogbGQgcmV0dXJuZWQgMSBleGl0IHN0YXR1cwpjb25maWd1cmU6NDU4NDogJD8gPSAxCmNv
 bmZpZ3VyZTogZmFpbGVkIHByb2dyYW0gd2FzOgp8IC8qIGNvbmZkZWZzLmggKi8KfCAjZGVmaW5l
 IFBBQ0tBR0VfTkFNRSAibGlibmJjb21wYXQiCnwgI2RlZmluZSBQQUNLQUdFX1RBUk5BTUUgImxp
 Ym5iY29tcGF0Igp8ICNkZWZpbmUgUEFDS0FHRV9WRVJTSU9OICIyMDA4MDYwNSIKfCAjZGVmaW5l
 IFBBQ0tBR0VfU1RSSU5HICJsaWJuYmNvbXBhdCAyMDA4MDYwNSIKfCAjZGVmaW5lIFBBQ0tBR0Vf
 QlVHUkVQT1JUICJncmFudEBOZXRCU0Qub3JnIgp8ICNkZWZpbmUgUEFDS0FHRV9VUkwgIiIKfCAj
 ZGVmaW5lIFNURENfSEVBREVSUyAxCnwgI2RlZmluZSBUSU1FX1dJVEhfU1lTX1RJTUUgMQp8ICNk
 ZWZpbmUgSEFWRV9TWVNfVFlQRVNfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19TVEFUX0ggMQp8ICNk
 ZWZpbmUgSEFWRV9TVERMSUJfSCAxCnwgI2RlZmluZSBIQVZFX1NUUklOR19IIDEKfCAjZGVmaW5l
 IEhBVkVfTUVNT1JZX0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJJTkdTX0ggMQp8ICNkZWZpbmUgSEFW
 RV9JTlRUWVBFU19IIDEKfCAjZGVmaW5lIEhBVkVfU1RESU5UX0ggMQp8ICNkZWZpbmUgSEFWRV9V
 TklTVERfSCAxCnwgI2RlZmluZSBIQVZFX19CT09MIDEKfCAjZGVmaW5lIEhBVkVfU1REQk9PTF9I
 IDEKfCAjZGVmaW5lIEhBVkVfQUxMT0NBX0ggMQp8ICNkZWZpbmUgSEFWRV9BU1NFUlRfSCAxCnwg
 I2RlZmluZSBIQVZFX0NUWVBFX0ggMQp8ICNkZWZpbmUgSEFWRV9ESVJFTlRfSCAxCnwgI2RlZmlu
 ZSBIQVZFX0VORElBTl9IIDEKfCAjZGVmaW5lIEhBVkVfRVJSX0ggMQp8ICNkZWZpbmUgSEFWRV9F
 UlJOT19IIDEKfCAjZGVmaW5lIEhBVkVfRkNOVExfSCAxCnwgI2RlZmluZSBIQVZFX0ZOTUFUQ0hf
 SCAxCnwgI2RlZmluZSBIQVZFX0ZUU19IIDEKfCAjZGVmaW5lIEhBVkVfR1JQX0ggMQp8ICNkZWZp
 bmUgSEFWRV9JTlRUWVBFU19IIDEKfCAjZGVmaW5lIEhBVkVfTElCVVRJTF9IIDEKfCAjZGVmaW5l
 IEhBVkVfTElNSVRTX0ggMQp8ICNkZWZpbmUgSEFWRV9ORVREQl9IIDEKfCAjZGVmaW5lIEhBVkVf
 UEFUSFNfSCAxCnwgI2RlZmluZSBIQVZFX1BXRF9IIDEKfCAjZGVmaW5lIEhBVkVfU0lHTkFMX0gg
 MQp8ICNkZWZpbmUgSEFWRV9TVERBUkdfSCAxCnwgI2RlZmluZSBIQVZFX1NURERFRl9IIDEKfCAj
 ZGVmaW5lIEhBVkVfU1RESU5UX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERJT19IIDEKfCAjZGVmaW5l
 IEhBVkVfU1RETElCX0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJJTkdfSCAxCnwgI2RlZmluZSBIQVZF
 X1NZU19DREVGU19IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX0RJUl9IIDEKfCAjZGVmaW5lIEhBVkVf
 U1lTX0ZJTEVfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19QQVJBTV9IIDEKfCAjZGVmaW5lIEhBVkVf
 U1lTX1NPQ0tFVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NUQVRfSCAxCnwgI2RlZmluZSBIQVZF
 X1NZU19TVEFURlNfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19TVEFUVkZTX0ggMQp8ICNkZWZpbmUg
 SEFWRV9TWVNfVElNRV9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1RZUEVTX0ggMQp8ICNkZWZpbmUg
 SEFWRV9TWVNfVUlPX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfVkZTX0ggMQp8ICNkZWZpbmUgSEFW
 RV9TWVNFWElUU19IIDEKfCAjZGVmaW5lIEhBVkVfVEVSTUNBUF9IIDEKfCAjZGVmaW5lIEhBVkVf
 VElNRV9IIDEKfCAjZGVmaW5lIEhBVkVfVU5JU1REX0ggMQp8ICNkZWZpbmUgSEFWRV9VVElNRV9I
 IDEKfCAjZGVmaW5lIEhBVkVfU1lTX01PVU5UX0ggMQp8ICNkZWZpbmUgSEFWRV9HTE9CX0ggMQp8
 ICNkZWZpbmUgSEFWRV9OQkNPTVBBVF9HTE9CIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1FVRVVFX0gg
 MQp8ICNkZWZpbmUgSEFWRV9OQkNPTVBBVF9RVUVVRSAxCnwgI2RlZmluZSBIQVZFX1JFR0VYX0gg
 MQp8ICNkZWZpbmUgSEFWRV9OQkNPTVBBVF9NRDUgMQp8IC8qIGVuZCBjb25mZGVmcy5oLiAgKi8K
 fCAvKiBEZWZpbmUgUk1EMTYwRmlsZSB0byBhbiBpbm5vY3VvdXMgdmFyaWFudCwgaW4gY2FzZSA8
 bGltaXRzLmg+IGRlY2xhcmVzIFJNRDE2MEZpbGUuCnwgICAgRm9yIGV4YW1wbGUsIEhQLVVYIDEx
 aSA8bGltaXRzLmg+IGRlY2xhcmVzIGdldHRpbWVvZmRheS4gICovCnwgI2RlZmluZSBSTUQxNjBG
 aWxlIGlubm9jdW91c19STUQxNjBGaWxlCnwgCnwgLyogU3lzdGVtIGhlYWRlciB0byBkZWZpbmUg
 X19zdHViIG1hY3JvcyBhbmQgaG9wZWZ1bGx5IGZldyBwcm90b3R5cGVzLAp8ICAgICB3aGljaCBj
 YW4gY29uZmxpY3Qgd2l0aCBjaGFyIFJNRDE2MEZpbGUgKCk7IGJlbG93Lgp8ICAgICBQcmVmZXIg
 PGxpbWl0cy5oPiB0byA8YXNzZXJ0Lmg+IGlmIF9fU1REQ19fIGlzIGRlZmluZWQsIHNpbmNlCnwg
 ICAgIDxsaW1pdHMuaD4gZXhpc3RzIGV2ZW4gb24gZnJlZXN0YW5kaW5nIGNvbXBpbGVycy4gICov
 CnwgCnwgI2lmZGVmIF9fU1REQ19fCnwgIyBpbmNsdWRlIDxsaW1pdHMuaD4KfCAjZWxzZQp8ICMg
 aW5jbHVkZSA8YXNzZXJ0Lmg+CnwgI2VuZGlmCnwgCnwgI3VuZGVmIFJNRDE2MEZpbGUKfCAKfCAv
 KiBPdmVycmlkZSBhbnkgR0NDIGludGVybmFsIHByb3RvdHlwZSB0byBhdm9pZCBhbiBlcnJvci4K
 fCAgICBVc2UgY2hhciBiZWNhdXNlIGludCBtaWdodCBtYXRjaCB0aGUgcmV0dXJuIHR5cGUgb2Yg
 YSBHQ0MKfCAgICBidWlsdGluIGFuZCB0aGVuIGl0cyBhcmd1bWVudCBwcm90b3R5cGUgd291bGQg
 c3RpbGwgYXBwbHkuICAqLwp8ICNpZmRlZiBfX2NwbHVzcGx1cwp8IGV4dGVybiAiQyIKfCAjZW5k
 aWYKfCBjaGFyIFJNRDE2MEZpbGUgKCk7CnwgLyogVGhlIEdOVSBDIGxpYnJhcnkgZGVmaW5lcyB0
 aGlzIGZvciBmdW5jdGlvbnMgd2hpY2ggaXQgaW1wbGVtZW50cwp8ICAgICB0byBhbHdheXMgZmFp
 bCB3aXRoIEVOT1NZUy4gIFNvbWUgZnVuY3Rpb25zIGFyZSBhY3R1YWxseSBuYW1lZAp8ICAgICBz
 b21ldGhpbmcgc3RhcnRpbmcgd2l0aCBfXyBhbmQgdGhlIG5vcm1hbCBuYW1lIGlzIGFuIGFsaWFz
 LiAgKi8KfCAjaWYgZGVmaW5lZCBfX3N0dWJfUk1EMTYwRmlsZSB8fCBkZWZpbmVkIF9fc3R1Yl9f
 X1JNRDE2MEZpbGUKfCBjaG9rZSBtZQp8ICNlbmRpZgp8IAp8IGludAp8IG1haW4gKCkKfCB7Cnwg
 cmV0dXJuIFJNRDE2MEZpbGUgKCk7CnwgICA7CnwgICByZXR1cm4gMDsKfCB9CmNvbmZpZ3VyZTo0
 NTg0OiByZXN1bHQ6IG5vCmNvbmZpZ3VyZTo0NjA3OiBjaGVja2luZyBmb3IgU0hBMUZpbGUKY29u
 ZmlndXJlOjQ2MDc6IGdjYyAtbyBjb25mdGVzdCAtZyAtTzIgICBjb25mdGVzdC5jICA+JjUKL3Rt
 cC9jY09sUlMzMy5vOiBJbiBmdW5jdGlvbiBgbWFpbic6Ci9tZWRpYS9zZGIyL3NyYy9wa2dzcmMv
 Ym9vdHN0cmFwL3dvcmsvbGlibmJjb21wYXQvY29uZnRlc3QuYzoxMDU6IHVuZGVmaW5lZCByZWZl
 cmVuY2UgdG8gYFNIQTFGaWxlJwpjb2xsZWN0MjogbGQgcmV0dXJuZWQgMSBleGl0IHN0YXR1cwpj
 b25maWd1cmU6NDYwNzogJD8gPSAxCmNvbmZpZ3VyZTogZmFpbGVkIHByb2dyYW0gd2FzOgp8IC8q
 IGNvbmZkZWZzLmggKi8KfCAjZGVmaW5lIFBBQ0tBR0VfTkFNRSAibGlibmJjb21wYXQiCnwgI2Rl
 ZmluZSBQQUNLQUdFX1RBUk5BTUUgImxpYm5iY29tcGF0Igp8ICNkZWZpbmUgUEFDS0FHRV9WRVJT
 SU9OICIyMDA4MDYwNSIKfCAjZGVmaW5lIFBBQ0tBR0VfU1RSSU5HICJsaWJuYmNvbXBhdCAyMDA4
 MDYwNSIKfCAjZGVmaW5lIFBBQ0tBR0VfQlVHUkVQT1JUICJncmFudEBOZXRCU0Qub3JnIgp8ICNk
 ZWZpbmUgUEFDS0FHRV9VUkwgIiIKfCAjZGVmaW5lIFNURENfSEVBREVSUyAxCnwgI2RlZmluZSBU
 SU1FX1dJVEhfU1lTX1RJTUUgMQp8ICNkZWZpbmUgSEFWRV9TWVNfVFlQRVNfSCAxCnwgI2RlZmlu
 ZSBIQVZFX1NZU19TVEFUX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERMSUJfSCAxCnwgI2RlZmluZSBI
 QVZFX1NUUklOR19IIDEKfCAjZGVmaW5lIEhBVkVfTUVNT1JZX0ggMQp8ICNkZWZpbmUgSEFWRV9T
 VFJJTkdTX0ggMQp8ICNkZWZpbmUgSEFWRV9JTlRUWVBFU19IIDEKfCAjZGVmaW5lIEhBVkVfU1RE
 SU5UX0ggMQp8ICNkZWZpbmUgSEFWRV9VTklTVERfSCAxCnwgI2RlZmluZSBIQVZFX19CT09MIDEK
 fCAjZGVmaW5lIEhBVkVfU1REQk9PTF9IIDEKfCAjZGVmaW5lIEhBVkVfQUxMT0NBX0ggMQp8ICNk
 ZWZpbmUgSEFWRV9BU1NFUlRfSCAxCnwgI2RlZmluZSBIQVZFX0NUWVBFX0ggMQp8ICNkZWZpbmUg
 SEFWRV9ESVJFTlRfSCAxCnwgI2RlZmluZSBIQVZFX0VORElBTl9IIDEKfCAjZGVmaW5lIEhBVkVf
 RVJSX0ggMQp8ICNkZWZpbmUgSEFWRV9FUlJOT19IIDEKfCAjZGVmaW5lIEhBVkVfRkNOVExfSCAx
 CnwgI2RlZmluZSBIQVZFX0ZOTUFUQ0hfSCAxCnwgI2RlZmluZSBIQVZFX0ZUU19IIDEKfCAjZGVm
 aW5lIEhBVkVfR1JQX0ggMQp8ICNkZWZpbmUgSEFWRV9JTlRUWVBFU19IIDEKfCAjZGVmaW5lIEhB
 VkVfTElCVVRJTF9IIDEKfCAjZGVmaW5lIEhBVkVfTElNSVRTX0ggMQp8ICNkZWZpbmUgSEFWRV9O
 RVREQl9IIDEKfCAjZGVmaW5lIEhBVkVfUEFUSFNfSCAxCnwgI2RlZmluZSBIQVZFX1BXRF9IIDEK
 fCAjZGVmaW5lIEhBVkVfU0lHTkFMX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERBUkdfSCAxCnwgI2Rl
 ZmluZSBIQVZFX1NURERFRl9IIDEKfCAjZGVmaW5lIEhBVkVfU1RESU5UX0ggMQp8ICNkZWZpbmUg
 SEFWRV9TVERJT19IIDEKfCAjZGVmaW5lIEhBVkVfU1RETElCX0ggMQp8ICNkZWZpbmUgSEFWRV9T
 VFJJTkdfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19DREVGU19IIDEKfCAjZGVmaW5lIEhBVkVfU1lT
 X0RJUl9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX0ZJTEVfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19Q
 QVJBTV9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NPQ0tFVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1lT
 X1NUQVRfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19TVEFURlNfSCAxCnwgI2RlZmluZSBIQVZFX1NZ
 U19TVEFUVkZTX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfVElNRV9IIDEKfCAjZGVmaW5lIEhBVkVf
 U1lTX1RZUEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfVUlPX0ggMQp8ICNkZWZpbmUgSEFWRV9T
 WVNfVkZTX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNFWElUU19IIDEKfCAjZGVmaW5lIEhBVkVfVEVS
 TUNBUF9IIDEKfCAjZGVmaW5lIEhBVkVfVElNRV9IIDEKfCAjZGVmaW5lIEhBVkVfVU5JU1REX0gg
 MQp8ICNkZWZpbmUgSEFWRV9VVElNRV9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX01PVU5UX0ggMQp8
 ICNkZWZpbmUgSEFWRV9HTE9CX0ggMQp8ICNkZWZpbmUgSEFWRV9OQkNPTVBBVF9HTE9CIDEKfCAj
 ZGVmaW5lIEhBVkVfU1lTX1FVRVVFX0ggMQp8ICNkZWZpbmUgSEFWRV9OQkNPTVBBVF9RVUVVRSAx
 CnwgI2RlZmluZSBIQVZFX1JFR0VYX0ggMQp8ICNkZWZpbmUgSEFWRV9OQkNPTVBBVF9NRDUgMQp8
 ICNkZWZpbmUgSEFWRV9OQkNPTVBBVF9STUQxNjAgMQp8IC8qIGVuZCBjb25mZGVmcy5oLiAgKi8K
 fCAvKiBEZWZpbmUgU0hBMUZpbGUgdG8gYW4gaW5ub2N1b3VzIHZhcmlhbnQsIGluIGNhc2UgPGxp
 bWl0cy5oPiBkZWNsYXJlcyBTSEExRmlsZS4KfCAgICBGb3IgZXhhbXBsZSwgSFAtVVggMTFpIDxs
 aW1pdHMuaD4gZGVjbGFyZXMgZ2V0dGltZW9mZGF5LiAgKi8KfCAjZGVmaW5lIFNIQTFGaWxlIGlu
 bm9jdW91c19TSEExRmlsZQp8IAp8IC8qIFN5c3RlbSBoZWFkZXIgdG8gZGVmaW5lIF9fc3R1YiBt
 YWNyb3MgYW5kIGhvcGVmdWxseSBmZXcgcHJvdG90eXBlcywKfCAgICAgd2hpY2ggY2FuIGNvbmZs
 aWN0IHdpdGggY2hhciBTSEExRmlsZSAoKTsgYmVsb3cuCnwgICAgIFByZWZlciA8bGltaXRzLmg+
 IHRvIDxhc3NlcnQuaD4gaWYgX19TVERDX18gaXMgZGVmaW5lZCwgc2luY2UKfCAgICAgPGxpbWl0
 cy5oPiBleGlzdHMgZXZlbiBvbiBmcmVlc3RhbmRpbmcgY29tcGlsZXJzLiAgKi8KfCAKfCAjaWZk
 ZWYgX19TVERDX18KfCAjIGluY2x1ZGUgPGxpbWl0cy5oPgp8ICNlbHNlCnwgIyBpbmNsdWRlIDxh
 c3NlcnQuaD4KfCAjZW5kaWYKfCAKfCAjdW5kZWYgU0hBMUZpbGUKfCAKfCAvKiBPdmVycmlkZSBh
 bnkgR0NDIGludGVybmFsIHByb3RvdHlwZSB0byBhdm9pZCBhbiBlcnJvci4KfCAgICBVc2UgY2hh
 ciBiZWNhdXNlIGludCBtaWdodCBtYXRjaCB0aGUgcmV0dXJuIHR5cGUgb2YgYSBHQ0MKfCAgICBi
 dWlsdGluIGFuZCB0aGVuIGl0cyBhcmd1bWVudCBwcm90b3R5cGUgd291bGQgc3RpbGwgYXBwbHku
 ICAqLwp8ICNpZmRlZiBfX2NwbHVzcGx1cwp8IGV4dGVybiAiQyIKfCAjZW5kaWYKfCBjaGFyIFNI
 QTFGaWxlICgpOwp8IC8qIFRoZSBHTlUgQyBsaWJyYXJ5IGRlZmluZXMgdGhpcyBmb3IgZnVuY3Rp
 b25zIHdoaWNoIGl0IGltcGxlbWVudHMKfCAgICAgdG8gYWx3YXlzIGZhaWwgd2l0aCBFTk9TWVMu
 ICBTb21lIGZ1bmN0aW9ucyBhcmUgYWN0dWFsbHkgbmFtZWQKfCAgICAgc29tZXRoaW5nIHN0YXJ0
 aW5nIHdpdGggX18gYW5kIHRoZSBub3JtYWwgbmFtZSBpcyBhbiBhbGlhcy4gICovCnwgI2lmIGRl
 ZmluZWQgX19zdHViX1NIQTFGaWxlIHx8IGRlZmluZWQgX19zdHViX19fU0hBMUZpbGUKfCBjaG9r
 ZSBtZQp8ICNlbmRpZgp8IAp8IGludAp8IG1haW4gKCkKfCB7CnwgcmV0dXJuIFNIQTFGaWxlICgp
 Owp8ICAgOwp8ICAgcmV0dXJuIDA7CnwgfQpjb25maWd1cmU6NDYwNzogcmVzdWx0OiBubwpjb25m
 aWd1cmU6NDYzMTogY2hlY2tpbmcgZm9yIFNIQTUxMl9GaWxlCmNvbmZpZ3VyZTo0NjMxOiBnY2Mg
 LW8gY29uZnRlc3QgLWcgLU8yICAgY29uZnRlc3QuYyAgPiY1Ci90bXAvY2NhbGZrZmQubzogSW4g
 ZnVuY3Rpb24gYG1haW4nOgovbWVkaWEvc2RiMi9zcmMvcGtnc3JjL2Jvb3RzdHJhcC93b3JrL2xp
 Ym5iY29tcGF0L2NvbmZ0ZXN0LmM6MTA2OiB1bmRlZmluZWQgcmVmZXJlbmNlIHRvIGBTSEE1MTJf
 RmlsZScKY29sbGVjdDI6IGxkIHJldHVybmVkIDEgZXhpdCBzdGF0dXMKY29uZmlndXJlOjQ2MzE6
 ICQ/ID0gMQpjb25maWd1cmU6IGZhaWxlZCBwcm9ncmFtIHdhczoKfCAvKiBjb25mZGVmcy5oICov
 CnwgI2RlZmluZSBQQUNLQUdFX05BTUUgImxpYm5iY29tcGF0Igp8ICNkZWZpbmUgUEFDS0FHRV9U
 QVJOQU1FICJsaWJuYmNvbXBhdCIKfCAjZGVmaW5lIFBBQ0tBR0VfVkVSU0lPTiAiMjAwODA2MDUi
 CnwgI2RlZmluZSBQQUNLQUdFX1NUUklORyAibGlibmJjb21wYXQgMjAwODA2MDUiCnwgI2RlZmlu
 ZSBQQUNLQUdFX0JVR1JFUE9SVCAiZ3JhbnRATmV0QlNELm9yZyIKfCAjZGVmaW5lIFBBQ0tBR0Vf
 VVJMICIiCnwgI2RlZmluZSBTVERDX0hFQURFUlMgMQp8ICNkZWZpbmUgVElNRV9XSVRIX1NZU19U
 SU1FIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1RZUEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfU1RB
 VF9IIDEKfCAjZGVmaW5lIEhBVkVfU1RETElCX0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJJTkdfSCAx
 CnwgI2RlZmluZSBIQVZFX01FTU9SWV9IIDEKfCAjZGVmaW5lIEhBVkVfU1RSSU5HU19IIDEKfCAj
 ZGVmaW5lIEhBVkVfSU5UVFlQRVNfSCAxCnwgI2RlZmluZSBIQVZFX1NURElOVF9IIDEKfCAjZGVm
 aW5lIEhBVkVfVU5JU1REX0ggMQp8ICNkZWZpbmUgSEFWRV9fQk9PTCAxCnwgI2RlZmluZSBIQVZF
 X1NUREJPT0xfSCAxCnwgI2RlZmluZSBIQVZFX0FMTE9DQV9IIDEKfCAjZGVmaW5lIEhBVkVfQVNT
 RVJUX0ggMQp8ICNkZWZpbmUgSEFWRV9DVFlQRV9IIDEKfCAjZGVmaW5lIEhBVkVfRElSRU5UX0gg
 MQp8ICNkZWZpbmUgSEFWRV9FTkRJQU5fSCAxCnwgI2RlZmluZSBIQVZFX0VSUl9IIDEKfCAjZGVm
 aW5lIEhBVkVfRVJSTk9fSCAxCnwgI2RlZmluZSBIQVZFX0ZDTlRMX0ggMQp8ICNkZWZpbmUgSEFW
 RV9GTk1BVENIX0ggMQp8ICNkZWZpbmUgSEFWRV9GVFNfSCAxCnwgI2RlZmluZSBIQVZFX0dSUF9I
 IDEKfCAjZGVmaW5lIEhBVkVfSU5UVFlQRVNfSCAxCnwgI2RlZmluZSBIQVZFX0xJQlVUSUxfSCAx
 CnwgI2RlZmluZSBIQVZFX0xJTUlUU19IIDEKfCAjZGVmaW5lIEhBVkVfTkVUREJfSCAxCnwgI2Rl
 ZmluZSBIQVZFX1BBVEhTX0ggMQp8ICNkZWZpbmUgSEFWRV9QV0RfSCAxCnwgI2RlZmluZSBIQVZF
 X1NJR05BTF9IIDEKfCAjZGVmaW5lIEhBVkVfU1REQVJHX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERE
 RUZfSCAxCnwgI2RlZmluZSBIQVZFX1NURElOVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1RESU9fSCAx
 CnwgI2RlZmluZSBIQVZFX1NURExJQl9IIDEKfCAjZGVmaW5lIEhBVkVfU1RSSU5HX0ggMQp8ICNk
 ZWZpbmUgSEFWRV9TWVNfQ0RFRlNfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19ESVJfSCAxCnwgI2Rl
 ZmluZSBIQVZFX1NZU19GSUxFX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfUEFSQU1fSCAxCnwgI2Rl
 ZmluZSBIQVZFX1NZU19TT0NLRVRfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19TVEFUX0ggMQp8ICNk
 ZWZpbmUgSEFWRV9TWVNfU1RBVEZTX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfU1RBVFZGU19IIDEK
 fCAjZGVmaW5lIEhBVkVfU1lTX1RJTUVfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19UWVBFU19IIDEK
 fCAjZGVmaW5lIEhBVkVfU1lTX1VJT19IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1ZGU19IIDEKfCAj
 ZGVmaW5lIEhBVkVfU1lTRVhJVFNfSCAxCnwgI2RlZmluZSBIQVZFX1RFUk1DQVBfSCAxCnwgI2Rl
 ZmluZSBIQVZFX1RJTUVfSCAxCnwgI2RlZmluZSBIQVZFX1VOSVNURF9IIDEKfCAjZGVmaW5lIEhB
 VkVfVVRJTUVfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19NT1VOVF9IIDEKfCAjZGVmaW5lIEhBVkVf
 R0xPQl9IIDEKfCAjZGVmaW5lIEhBVkVfTkJDT01QQVRfR0xPQiAxCnwgI2RlZmluZSBIQVZFX1NZ
 U19RVUVVRV9IIDEKfCAjZGVmaW5lIEhBVkVfTkJDT01QQVRfUVVFVUUgMQp8ICNkZWZpbmUgSEFW
 RV9SRUdFWF9IIDEKfCAjZGVmaW5lIEhBVkVfTkJDT01QQVRfTUQ1IDEKfCAjZGVmaW5lIEhBVkVf
 TkJDT01QQVRfUk1EMTYwIDEKfCAjZGVmaW5lIEhBVkVfTkJDT01QQVRfU0hBMSAxCnwgLyogZW5k
 IGNvbmZkZWZzLmguICAqLwp8IC8qIERlZmluZSBTSEE1MTJfRmlsZSB0byBhbiBpbm5vY3VvdXMg
 dmFyaWFudCwgaW4gY2FzZSA8bGltaXRzLmg+IGRlY2xhcmVzIFNIQTUxMl9GaWxlLgp8ICAgIEZv
 ciBleGFtcGxlLCBIUC1VWCAxMWkgPGxpbWl0cy5oPiBkZWNsYXJlcyBnZXR0aW1lb2ZkYXkuICAq
 Lwp8ICNkZWZpbmUgU0hBNTEyX0ZpbGUgaW5ub2N1b3VzX1NIQTUxMl9GaWxlCnwgCnwgLyogU3lz
 dGVtIGhlYWRlciB0byBkZWZpbmUgX19zdHViIG1hY3JvcyBhbmQgaG9wZWZ1bGx5IGZldyBwcm90
 b3R5cGVzLAp8ICAgICB3aGljaCBjYW4gY29uZmxpY3Qgd2l0aCBjaGFyIFNIQTUxMl9GaWxlICgp
 OyBiZWxvdy4KfCAgICAgUHJlZmVyIDxsaW1pdHMuaD4gdG8gPGFzc2VydC5oPiBpZiBfX1NURENf
 XyBpcyBkZWZpbmVkLCBzaW5jZQp8ICAgICA8bGltaXRzLmg+IGV4aXN0cyBldmVuIG9uIGZyZWVz
 dGFuZGluZyBjb21waWxlcnMuICAqLwp8IAp8ICNpZmRlZiBfX1NURENfXwp8ICMgaW5jbHVkZSA8
 bGltaXRzLmg+CnwgI2Vsc2UKfCAjIGluY2x1ZGUgPGFzc2VydC5oPgp8ICNlbmRpZgp8IAp8ICN1
 bmRlZiBTSEE1MTJfRmlsZQp8IAp8IC8qIE92ZXJyaWRlIGFueSBHQ0MgaW50ZXJuYWwgcHJvdG90
 eXBlIHRvIGF2b2lkIGFuIGVycm9yLgp8ICAgIFVzZSBjaGFyIGJlY2F1c2UgaW50IG1pZ2h0IG1h
 dGNoIHRoZSByZXR1cm4gdHlwZSBvZiBhIEdDQwp8ICAgIGJ1aWx0aW4gYW5kIHRoZW4gaXRzIGFy
 Z3VtZW50IHByb3RvdHlwZSB3b3VsZCBzdGlsbCBhcHBseS4gICovCnwgI2lmZGVmIF9fY3BsdXNw
 bHVzCnwgZXh0ZXJuICJDIgp8ICNlbmRpZgp8IGNoYXIgU0hBNTEyX0ZpbGUgKCk7CnwgLyogVGhl
 IEdOVSBDIGxpYnJhcnkgZGVmaW5lcyB0aGlzIGZvciBmdW5jdGlvbnMgd2hpY2ggaXQgaW1wbGVt
 ZW50cwp8ICAgICB0byBhbHdheXMgZmFpbCB3aXRoIEVOT1NZUy4gIFNvbWUgZnVuY3Rpb25zIGFy
 ZSBhY3R1YWxseSBuYW1lZAp8ICAgICBzb21ldGhpbmcgc3RhcnRpbmcgd2l0aCBfXyBhbmQgdGhl
 IG5vcm1hbCBuYW1lIGlzIGFuIGFsaWFzLiAgKi8KfCAjaWYgZGVmaW5lZCBfX3N0dWJfU0hBNTEy
 X0ZpbGUgfHwgZGVmaW5lZCBfX3N0dWJfX19TSEE1MTJfRmlsZQp8IGNob2tlIG1lCnwgI2VuZGlm
 CnwgCnwgaW50CnwgbWFpbiAoKQp8IHsKfCByZXR1cm4gU0hBNTEyX0ZpbGUgKCk7CnwgICA7Cnwg
 ICByZXR1cm4gMDsKfCB9CmNvbmZpZ3VyZTo0NjMxOiByZXN1bHQ6IG5vCmNvbmZpZ3VyZTo0Njc1
 OiBjaGVja2luZyBmb3IgaXNzZXR1Z2lkCmNvbmZpZ3VyZTo0Njc1OiBnY2MgLW8gY29uZnRlc3Qg
 LWcgLU8yICAgY29uZnRlc3QuYyAgPiY1Ci90bXAvY2NMU3BkaXEubzogSW4gZnVuY3Rpb24gYG1h
 aW4nOgovbWVkaWEvc2RiMi9zcmMvcGtnc3JjL2Jvb3RzdHJhcC93b3JrL2xpYm5iY29tcGF0L2Nv
 bmZ0ZXN0LmM6MTA3OiB1bmRlZmluZWQgcmVmZXJlbmNlIHRvIGBpc3NldHVnaWQnCmNvbGxlY3Qy
 OiBsZCByZXR1cm5lZCAxIGV4aXQgc3RhdHVzCmNvbmZpZ3VyZTo0Njc1OiAkPyA9IDEKY29uZmln
 dXJlOiBmYWlsZWQgcHJvZ3JhbSB3YXM6CnwgLyogY29uZmRlZnMuaCAqLwp8ICNkZWZpbmUgUEFD
 S0FHRV9OQU1FICJsaWJuYmNvbXBhdCIKfCAjZGVmaW5lIFBBQ0tBR0VfVEFSTkFNRSAibGlibmJj
 b21wYXQiCnwgI2RlZmluZSBQQUNLQUdFX1ZFUlNJT04gIjIwMDgwNjA1Igp8ICNkZWZpbmUgUEFD
 S0FHRV9TVFJJTkcgImxpYm5iY29tcGF0IDIwMDgwNjA1Igp8ICNkZWZpbmUgUEFDS0FHRV9CVUdS
 RVBPUlQgImdyYW50QE5ldEJTRC5vcmciCnwgI2RlZmluZSBQQUNLQUdFX1VSTCAiIgp8ICNkZWZp
 bmUgU1REQ19IRUFERVJTIDEKfCAjZGVmaW5lIFRJTUVfV0lUSF9TWVNfVElNRSAxCnwgI2RlZmlu
 ZSBIQVZFX1NZU19UWVBFU19IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NUQVRfSCAxCnwgI2RlZmlu
 ZSBIQVZFX1NURExJQl9IIDEKfCAjZGVmaW5lIEhBVkVfU1RSSU5HX0ggMQp8ICNkZWZpbmUgSEFW
 RV9NRU1PUllfSCAxCnwgI2RlZmluZSBIQVZFX1NUUklOR1NfSCAxCnwgI2RlZmluZSBIQVZFX0lO
 VFRZUEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERJTlRfSCAxCnwgI2RlZmluZSBIQVZFX1VOSVNU
 RF9IIDEKfCAjZGVmaW5lIEhBVkVfX0JPT0wgMQp8ICNkZWZpbmUgSEFWRV9TVERCT09MX0ggMQp8
 ICNkZWZpbmUgSEFWRV9BTExPQ0FfSCAxCnwgI2RlZmluZSBIQVZFX0FTU0VSVF9IIDEKfCAjZGVm
 aW5lIEhBVkVfQ1RZUEVfSCAxCnwgI2RlZmluZSBIQVZFX0RJUkVOVF9IIDEKfCAjZGVmaW5lIEhB
 VkVfRU5ESUFOX0ggMQp8ICNkZWZpbmUgSEFWRV9FUlJfSCAxCnwgI2RlZmluZSBIQVZFX0VSUk5P
 X0ggMQp8ICNkZWZpbmUgSEFWRV9GQ05UTF9IIDEKfCAjZGVmaW5lIEhBVkVfRk5NQVRDSF9IIDEK
 fCAjZGVmaW5lIEhBVkVfRlRTX0ggMQp8ICNkZWZpbmUgSEFWRV9HUlBfSCAxCnwgI2RlZmluZSBI
 QVZFX0lOVFRZUEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9MSUJVVElMX0ggMQp8ICNkZWZpbmUgSEFW
 RV9MSU1JVFNfSCAxCnwgI2RlZmluZSBIQVZFX05FVERCX0ggMQp8ICNkZWZpbmUgSEFWRV9QQVRI
 U19IIDEKfCAjZGVmaW5lIEhBVkVfUFdEX0ggMQp8ICNkZWZpbmUgSEFWRV9TSUdOQUxfSCAxCnwg
 I2RlZmluZSBIQVZFX1NUREFSR19IIDEKfCAjZGVmaW5lIEhBVkVfU1REREVGX0ggMQp8ICNkZWZp
 bmUgSEFWRV9TVERJTlRfSCAxCnwgI2RlZmluZSBIQVZFX1NURElPX0ggMQp8ICNkZWZpbmUgSEFW
 RV9TVERMSUJfSCAxCnwgI2RlZmluZSBIQVZFX1NUUklOR19IIDEKfCAjZGVmaW5lIEhBVkVfU1lT
 X0NERUZTX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfRElSX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNf
 RklMRV9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1BBUkFNX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNf
 U09DS0VUX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfU1RBVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1lT
 X1NUQVRGU19IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NUQVRWRlNfSCAxCnwgI2RlZmluZSBIQVZF
 X1NZU19USU1FX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfVFlQRVNfSCAxCnwgI2RlZmluZSBIQVZF
 X1NZU19VSU9fSCAxCnwgI2RlZmluZSBIQVZFX1NZU19WRlNfSCAxCnwgI2RlZmluZSBIQVZFX1NZ
 U0VYSVRTX0ggMQp8ICNkZWZpbmUgSEFWRV9URVJNQ0FQX0ggMQp8ICNkZWZpbmUgSEFWRV9USU1F
 X0ggMQp8ICNkZWZpbmUgSEFWRV9VTklTVERfSCAxCnwgI2RlZmluZSBIQVZFX1VUSU1FX0ggMQp8
 ICNkZWZpbmUgSEFWRV9TWVNfTU9VTlRfSCAxCnwgI2RlZmluZSBIQVZFX0dMT0JfSCAxCnwgI2Rl
 ZmluZSBIQVZFX05CQ09NUEFUX0dMT0IgMQp8ICNkZWZpbmUgSEFWRV9TWVNfUVVFVUVfSCAxCnwg
 I2RlZmluZSBIQVZFX05CQ09NUEFUX1FVRVVFIDEKfCAjZGVmaW5lIEhBVkVfUkVHRVhfSCAxCnwg
 I2RlZmluZSBIQVZFX05CQ09NUEFUX01ENSAxCnwgI2RlZmluZSBIQVZFX05CQ09NUEFUX1JNRDE2
 MCAxCnwgI2RlZmluZSBIQVZFX05CQ09NUEFUX1NIQTEgMQp8ICNkZWZpbmUgSEFWRV9OQkNPTVBB
 VF9TSEEyIDEKfCAvKiBlbmQgY29uZmRlZnMuaC4gICovCnwgLyogRGVmaW5lIGlzc2V0dWdpZCB0
 byBhbiBpbm5vY3VvdXMgdmFyaWFudCwgaW4gY2FzZSA8bGltaXRzLmg+IGRlY2xhcmVzIGlzc2V0
 dWdpZC4KfCAgICBGb3IgZXhhbXBsZSwgSFAtVVggMTFpIDxsaW1pdHMuaD4gZGVjbGFyZXMgZ2V0
 dGltZW9mZGF5LiAgKi8KfCAjZGVmaW5lIGlzc2V0dWdpZCBpbm5vY3VvdXNfaXNzZXR1Z2lkCnwg
 CnwgLyogU3lzdGVtIGhlYWRlciB0byBkZWZpbmUgX19zdHViIG1hY3JvcyBhbmQgaG9wZWZ1bGx5
 IGZldyBwcm90b3R5cGVzLAp8ICAgICB3aGljaCBjYW4gY29uZmxpY3Qgd2l0aCBjaGFyIGlzc2V0
 dWdpZCAoKTsgYmVsb3cuCnwgICAgIFByZWZlciA8bGltaXRzLmg+IHRvIDxhc3NlcnQuaD4gaWYg
 X19TVERDX18gaXMgZGVmaW5lZCwgc2luY2UKfCAgICAgPGxpbWl0cy5oPiBleGlzdHMgZXZlbiBv
 biBmcmVlc3RhbmRpbmcgY29tcGlsZXJzLiAgKi8KfCAKfCAjaWZkZWYgX19TVERDX18KfCAjIGlu
 Y2x1ZGUgPGxpbWl0cy5oPgp8ICNlbHNlCnwgIyBpbmNsdWRlIDxhc3NlcnQuaD4KfCAjZW5kaWYK
 fCAKfCAjdW5kZWYgaXNzZXR1Z2lkCnwgCnwgLyogT3ZlcnJpZGUgYW55IEdDQyBpbnRlcm5hbCBw
 cm90b3R5cGUgdG8gYXZvaWQgYW4gZXJyb3IuCnwgICAgVXNlIGNoYXIgYmVjYXVzZSBpbnQgbWln
 aHQgbWF0Y2ggdGhlIHJldHVybiB0eXBlIG9mIGEgR0NDCnwgICAgYnVpbHRpbiBhbmQgdGhlbiBp
 dHMgYXJndW1lbnQgcHJvdG90eXBlIHdvdWxkIHN0aWxsIGFwcGx5LiAgKi8KfCAjaWZkZWYgX19j
 cGx1c3BsdXMKfCBleHRlcm4gIkMiCnwgI2VuZGlmCnwgY2hhciBpc3NldHVnaWQgKCk7CnwgLyog
 VGhlIEdOVSBDIGxpYnJhcnkgZGVmaW5lcyB0aGlzIGZvciBmdW5jdGlvbnMgd2hpY2ggaXQgaW1w
 bGVtZW50cwp8ICAgICB0byBhbHdheXMgZmFpbCB3aXRoIEVOT1NZUy4gIFNvbWUgZnVuY3Rpb25z
 IGFyZSBhY3R1YWxseSBuYW1lZAp8ICAgICBzb21ldGhpbmcgc3RhcnRpbmcgd2l0aCBfXyBhbmQg
 dGhlIG5vcm1hbCBuYW1lIGlzIGFuIGFsaWFzLiAgKi8KfCAjaWYgZGVmaW5lZCBfX3N0dWJfaXNz
 ZXR1Z2lkIHx8IGRlZmluZWQgX19zdHViX19faXNzZXR1Z2lkCnwgY2hva2UgbWUKfCAjZW5kaWYK
 fCAKfCBpbnQKfCBtYWluICgpCnwgewp8IHJldHVybiBpc3NldHVnaWQgKCk7CnwgICA7CnwgICBy
 ZXR1cm4gMDsKfCB9CmNvbmZpZ3VyZTo0Njc1OiByZXN1bHQ6IG5vCmNvbmZpZ3VyZTo0NjkxOiBj
 aGVja2luZyB3aGV0aGVyIG9wdGFyZyBpcyBkZWNsYXJlZApjb25maWd1cmU6NDY5MTogZ2NjIC1j
 IC1nIC1PMiAgY29uZnRlc3QuYyA+JjUKY29uZmlndXJlOjQ2OTE6ICQ/ID0gMApjb25maWd1cmU6
 NDY5MTogcmVzdWx0OiB5ZXMKY29uZmlndXJlOjQ3MTE6IGNoZWNraW5nIHdoZXRoZXIgb3B0aW5k
 IGlzIGRlY2xhcmVkCmNvbmZpZ3VyZTo0NzExOiBnY2MgLWMgLWcgLU8yICBjb25mdGVzdC5jID4m
 NQpjb25maWd1cmU6NDcxMTogJD8gPSAwCmNvbmZpZ3VyZTo0NzExOiByZXN1bHQ6IHllcwpjb25m
 aWd1cmU6NDczMTogY2hlY2tpbmcgd2hldGhlciBvcHRyZXNldCBpcyBkZWNsYXJlZApjb25maWd1
 cmU6NDczMTogZ2NjIC1jIC1nIC1PMiAgY29uZnRlc3QuYyA+JjUKY29uZnRlc3QuYzogSW4gZnVu
 Y3Rpb24gJ21haW4nOgpjb25mdGVzdC5jOjg4OjEwOiBlcnJvcjogJ29wdHJlc2V0JyB1bmRlY2xh
 cmVkIChmaXJzdCB1c2UgaW4gdGhpcyBmdW5jdGlvbikKY29uZnRlc3QuYzo4ODoxMDogbm90ZTog
 ZWFjaCB1bmRlY2xhcmVkIGlkZW50aWZpZXIgaXMgcmVwb3J0ZWQgb25seSBvbmNlIGZvciBlYWNo
 IGZ1bmN0aW9uIGl0IGFwcGVhcnMgaW4KY29uZmlndXJlOjQ3MzE6ICQ/ID0gMQpjb25maWd1cmU6
 IGZhaWxlZCBwcm9ncmFtIHdhczoKfCAvKiBjb25mZGVmcy5oICovCnwgI2RlZmluZSBQQUNLQUdF
 X05BTUUgImxpYm5iY29tcGF0Igp8ICNkZWZpbmUgUEFDS0FHRV9UQVJOQU1FICJsaWJuYmNvbXBh
 dCIKfCAjZGVmaW5lIFBBQ0tBR0VfVkVSU0lPTiAiMjAwODA2MDUiCnwgI2RlZmluZSBQQUNLQUdF
 X1NUUklORyAibGlibmJjb21wYXQgMjAwODA2MDUiCnwgI2RlZmluZSBQQUNLQUdFX0JVR1JFUE9S
 VCAiZ3JhbnRATmV0QlNELm9yZyIKfCAjZGVmaW5lIFBBQ0tBR0VfVVJMICIiCnwgI2RlZmluZSBT
 VERDX0hFQURFUlMgMQp8ICNkZWZpbmUgVElNRV9XSVRIX1NZU19USU1FIDEKfCAjZGVmaW5lIEhB
 VkVfU1lTX1RZUEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfU1RBVF9IIDEKfCAjZGVmaW5lIEhB
 VkVfU1RETElCX0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJJTkdfSCAxCnwgI2RlZmluZSBIQVZFX01F
 TU9SWV9IIDEKfCAjZGVmaW5lIEhBVkVfU1RSSU5HU19IIDEKfCAjZGVmaW5lIEhBVkVfSU5UVFlQ
 RVNfSCAxCnwgI2RlZmluZSBIQVZFX1NURElOVF9IIDEKfCAjZGVmaW5lIEhBVkVfVU5JU1REX0gg
 MQp8ICNkZWZpbmUgSEFWRV9fQk9PTCAxCnwgI2RlZmluZSBIQVZFX1NUREJPT0xfSCAxCnwgI2Rl
 ZmluZSBIQVZFX0FMTE9DQV9IIDEKfCAjZGVmaW5lIEhBVkVfQVNTRVJUX0ggMQp8ICNkZWZpbmUg
 SEFWRV9DVFlQRV9IIDEKfCAjZGVmaW5lIEhBVkVfRElSRU5UX0ggMQp8ICNkZWZpbmUgSEFWRV9F
 TkRJQU5fSCAxCnwgI2RlZmluZSBIQVZFX0VSUl9IIDEKfCAjZGVmaW5lIEhBVkVfRVJSTk9fSCAx
 CnwgI2RlZmluZSBIQVZFX0ZDTlRMX0ggMQp8ICNkZWZpbmUgSEFWRV9GTk1BVENIX0ggMQp8ICNk
 ZWZpbmUgSEFWRV9GVFNfSCAxCnwgI2RlZmluZSBIQVZFX0dSUF9IIDEKfCAjZGVmaW5lIEhBVkVf
 SU5UVFlQRVNfSCAxCnwgI2RlZmluZSBIQVZFX0xJQlVUSUxfSCAxCnwgI2RlZmluZSBIQVZFX0xJ
 TUlUU19IIDEKfCAjZGVmaW5lIEhBVkVfTkVUREJfSCAxCnwgI2RlZmluZSBIQVZFX1BBVEhTX0gg
 MQp8ICNkZWZpbmUgSEFWRV9QV0RfSCAxCnwgI2RlZmluZSBIQVZFX1NJR05BTF9IIDEKfCAjZGVm
 aW5lIEhBVkVfU1REQVJHX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERERUZfSCAxCnwgI2RlZmluZSBI
 QVZFX1NURElOVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1RESU9fSCAxCnwgI2RlZmluZSBIQVZFX1NU
 RExJQl9IIDEKfCAjZGVmaW5lIEhBVkVfU1RSSU5HX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfQ0RF
 RlNfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19ESVJfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19GSUxF
 X0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfUEFSQU1fSCAxCnwgI2RlZmluZSBIQVZFX1NZU19TT0NL
 RVRfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19TVEFUX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfU1RB
 VEZTX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfU1RBVFZGU19IIDEKfCAjZGVmaW5lIEhBVkVfU1lT
 X1RJTUVfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19UWVBFU19IIDEKfCAjZGVmaW5lIEhBVkVfU1lT
 X1VJT19IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1ZGU19IIDEKfCAjZGVmaW5lIEhBVkVfU1lTRVhJ
 VFNfSCAxCnwgI2RlZmluZSBIQVZFX1RFUk1DQVBfSCAxCnwgI2RlZmluZSBIQVZFX1RJTUVfSCAx
 CnwgI2RlZmluZSBIQVZFX1VOSVNURF9IIDEKfCAjZGVmaW5lIEhBVkVfVVRJTUVfSCAxCnwgI2Rl
 ZmluZSBIQVZFX1NZU19NT1VOVF9IIDEKfCAjZGVmaW5lIEhBVkVfR0xPQl9IIDEKfCAjZGVmaW5l
 IEhBVkVfTkJDT01QQVRfR0xPQiAxCnwgI2RlZmluZSBIQVZFX1NZU19RVUVVRV9IIDEKfCAjZGVm
 aW5lIEhBVkVfTkJDT01QQVRfUVVFVUUgMQp8ICNkZWZpbmUgSEFWRV9SRUdFWF9IIDEKfCAjZGVm
 aW5lIEhBVkVfTkJDT01QQVRfTUQ1IDEKfCAjZGVmaW5lIEhBVkVfTkJDT01QQVRfUk1EMTYwIDEK
 fCAjZGVmaW5lIEhBVkVfTkJDT01QQVRfU0hBMSAxCnwgI2RlZmluZSBIQVZFX05CQ09NUEFUX1NI
 QTIgMQp8ICNkZWZpbmUgSEFWRV9ERUNMX09QVEFSRyAxCnwgI2RlZmluZSBIQVZFX0RFQ0xfT1BU
 SU5EIDEKfCAvKiBlbmQgY29uZmRlZnMuaC4gICovCnwgCnwgCSNpbmNsdWRlIDxzdGRpby5oPgp8
 IAkjaW5jbHVkZSA8c3RkbGliLmg+CnwgCSNpbmNsdWRlIDx1bmlzdGQuaD4KfCAKfCAKfCBpbnQK
 fCBtYWluICgpCnwgewp8ICNpZm5kZWYgb3B0cmVzZXQKfCAjaWZkZWYgX19jcGx1c3BsdXMKfCAg
 ICh2b2lkKSBvcHRyZXNldDsKfCAjZWxzZQp8ICAgKHZvaWQpIG9wdHJlc2V0Owp8ICNlbmRpZgp8
 ICNlbmRpZgp8IAp8ICAgOwp8ICAgcmV0dXJuIDA7CnwgfQpjb25maWd1cmU6NDczMTogcmVzdWx0
 OiBubwpjb25maWd1cmU6NDc1NjogY2hlY2tpbmcgZ2V0b3B0LmggdXNhYmlsaXR5CmNvbmZpZ3Vy
 ZTo0NzU2OiBnY2MgLWMgLWcgLU8yICBjb25mdGVzdC5jID4mNQpjb25maWd1cmU6NDc1NjogJD8g
 PSAwCmNvbmZpZ3VyZTo0NzU2OiByZXN1bHQ6IHllcwpjb25maWd1cmU6NDc1NjogY2hlY2tpbmcg
 Z2V0b3B0LmggcHJlc2VuY2UKY29uZmlndXJlOjQ3NTY6IGdjYyAtRSAgY29uZnRlc3QuYwpjb25m
 aWd1cmU6NDc1NjogJD8gPSAwCmNvbmZpZ3VyZTo0NzU2OiByZXN1bHQ6IHllcwpjb25maWd1cmU6
 NDc1NjogY2hlY2tpbmcgZm9yIGdldG9wdC5oCmNvbmZpZ3VyZTo0NzU2OiByZXN1bHQ6IHllcwpj
 b25maWd1cmU6NDc2MTogY2hlY2tpbmcgZm9yIHN0cnVjdCBvcHRpb24KY29uZmlndXJlOjQ3NjE6
 IGdjYyAtYyAtZyAtTzIgIGNvbmZ0ZXN0LmMgPiY1CmNvbmZpZ3VyZTo0NzYxOiAkPyA9IDAKY29u
 ZmlndXJlOjQ3NjE6IGdjYyAtYyAtZyAtTzIgIGNvbmZ0ZXN0LmMgPiY1CmNvbmZ0ZXN0LmM6IElu
 IGZ1bmN0aW9uICdtYWluJzoKY29uZnRlc3QuYzo4MjoyODogZXJyb3I6IGV4cGVjdGVkIGV4cHJl
 c3Npb24gYmVmb3JlICcpJyB0b2tlbgpjb25maWd1cmU6NDc2MTogJD8gPSAxCmNvbmZpZ3VyZTog
 ZmFpbGVkIHByb2dyYW0gd2FzOgp8IC8qIGNvbmZkZWZzLmggKi8KfCAjZGVmaW5lIFBBQ0tBR0Vf
 TkFNRSAibGlibmJjb21wYXQiCnwgI2RlZmluZSBQQUNLQUdFX1RBUk5BTUUgImxpYm5iY29tcGF0
 Igp8ICNkZWZpbmUgUEFDS0FHRV9WRVJTSU9OICIyMDA4MDYwNSIKfCAjZGVmaW5lIFBBQ0tBR0Vf
 U1RSSU5HICJsaWJuYmNvbXBhdCAyMDA4MDYwNSIKfCAjZGVmaW5lIFBBQ0tBR0VfQlVHUkVQT1JU
 ICJncmFudEBOZXRCU0Qub3JnIgp8ICNkZWZpbmUgUEFDS0FHRV9VUkwgIiIKfCAjZGVmaW5lIFNU
 RENfSEVBREVSUyAxCnwgI2RlZmluZSBUSU1FX1dJVEhfU1lTX1RJTUUgMQp8ICNkZWZpbmUgSEFW
 RV9TWVNfVFlQRVNfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19TVEFUX0ggMQp8ICNkZWZpbmUgSEFW
 RV9TVERMSUJfSCAxCnwgI2RlZmluZSBIQVZFX1NUUklOR19IIDEKfCAjZGVmaW5lIEhBVkVfTUVN
 T1JZX0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJJTkdTX0ggMQp8ICNkZWZpbmUgSEFWRV9JTlRUWVBF
 U19IIDEKfCAjZGVmaW5lIEhBVkVfU1RESU5UX0ggMQp8ICNkZWZpbmUgSEFWRV9VTklTVERfSCAx
 CnwgI2RlZmluZSBIQVZFX19CT09MIDEKfCAjZGVmaW5lIEhBVkVfU1REQk9PTF9IIDEKfCAjZGVm
 aW5lIEhBVkVfQUxMT0NBX0ggMQp8ICNkZWZpbmUgSEFWRV9BU1NFUlRfSCAxCnwgI2RlZmluZSBI
 QVZFX0NUWVBFX0ggMQp8ICNkZWZpbmUgSEFWRV9ESVJFTlRfSCAxCnwgI2RlZmluZSBIQVZFX0VO
 RElBTl9IIDEKfCAjZGVmaW5lIEhBVkVfRVJSX0ggMQp8ICNkZWZpbmUgSEFWRV9FUlJOT19IIDEK
 fCAjZGVmaW5lIEhBVkVfRkNOVExfSCAxCnwgI2RlZmluZSBIQVZFX0ZOTUFUQ0hfSCAxCnwgI2Rl
 ZmluZSBIQVZFX0ZUU19IIDEKfCAjZGVmaW5lIEhBVkVfR1JQX0ggMQp8ICNkZWZpbmUgSEFWRV9J
 TlRUWVBFU19IIDEKfCAjZGVmaW5lIEhBVkVfTElCVVRJTF9IIDEKfCAjZGVmaW5lIEhBVkVfTElN
 SVRTX0ggMQp8ICNkZWZpbmUgSEFWRV9ORVREQl9IIDEKfCAjZGVmaW5lIEhBVkVfUEFUSFNfSCAx
 CnwgI2RlZmluZSBIQVZFX1BXRF9IIDEKfCAjZGVmaW5lIEhBVkVfU0lHTkFMX0ggMQp8ICNkZWZp
 bmUgSEFWRV9TVERBUkdfSCAxCnwgI2RlZmluZSBIQVZFX1NURERFRl9IIDEKfCAjZGVmaW5lIEhB
 VkVfU1RESU5UX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERJT19IIDEKfCAjZGVmaW5lIEhBVkVfU1RE
 TElCX0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJJTkdfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19DREVG
 U19IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX0RJUl9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX0ZJTEVf
 SCAxCnwgI2RlZmluZSBIQVZFX1NZU19QQVJBTV9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NPQ0tF
 VF9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NUQVRfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19TVEFU
 RlNfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19TVEFUVkZTX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNf
 VElNRV9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1RZUEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNf
 VUlPX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfVkZTX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNFWElU
 U19IIDEKfCAjZGVmaW5lIEhBVkVfVEVSTUNBUF9IIDEKfCAjZGVmaW5lIEhBVkVfVElNRV9IIDEK
 fCAjZGVmaW5lIEhBVkVfVU5JU1REX0ggMQp8ICNkZWZpbmUgSEFWRV9VVElNRV9IIDEKfCAjZGVm
 aW5lIEhBVkVfU1lTX01PVU5UX0ggMQp8ICNkZWZpbmUgSEFWRV9HTE9CX0ggMQp8ICNkZWZpbmUg
 SEFWRV9OQkNPTVBBVF9HTE9CIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1FVRVVFX0ggMQp8ICNkZWZp
 bmUgSEFWRV9OQkNPTVBBVF9RVUVVRSAxCnwgI2RlZmluZSBIQVZFX1JFR0VYX0ggMQp8ICNkZWZp
 bmUgSEFWRV9OQkNPTVBBVF9NRDUgMQp8ICNkZWZpbmUgSEFWRV9OQkNPTVBBVF9STUQxNjAgMQp8
 ICNkZWZpbmUgSEFWRV9OQkNPTVBBVF9TSEExIDEKfCAjZGVmaW5lIEhBVkVfTkJDT01QQVRfU0hB
 MiAxCnwgI2RlZmluZSBIQVZFX0RFQ0xfT1BUQVJHIDEKfCAjZGVmaW5lIEhBVkVfREVDTF9PUFRJ
 TkQgMQp8ICNkZWZpbmUgSEFWRV9ERUNMX09QVFJFU0VUIDAKfCAjZGVmaW5lIEhBVkVfR0VUT1BU
 X0ggMQp8IC8qIGVuZCBjb25mZGVmcy5oLiAgKi8KfCAjaW5jbHVkZSA8Z2V0b3B0Lmg+CnwgCnwg
 aW50CnwgbWFpbiAoKQp8IHsKfCBpZiAoc2l6ZW9mICgoc3RydWN0IG9wdGlvbikpKQp8IAkgICAg
 cmV0dXJuIDA7CnwgICA7CnwgICByZXR1cm4gMDsKfCB9CmNvbmZpZ3VyZTo0NzYxOiByZXN1bHQ6
 IHllcwpjb25maWd1cmU6NDc4NDogVXNpbmcgaW5jbHVkZWQgZ2V0b3B0IGFuZCBnZXRvcHRfbG9u
 Zwpjb25maWd1cmU6NDgwODogY2hlY2tpbmcgdmlzLmggdXNhYmlsaXR5CmNvbmZpZ3VyZTo0ODA4
 OiBnY2MgLWMgLWcgLU8yICBjb25mdGVzdC5jID4mNQpJbiBmaWxlIGluY2x1ZGVkIGZyb20gY29u
 ZnRlc3QuYzoxMTE6MDoKL3Vzci9pbmNsdWRlL3Zpcy5oOjMzOjI6IHdhcm5pbmc6ICN3YXJuaW5n
 ICJEZXByZWNhdGVkIGhlYWRlciwgdXNlIDxic2QvdmlzLmg+IG9yIGxpYmJzZC1vdmVybGF5LnBj
 IGluc3RlYWQuIiBbLVdjcHBdCmNvbmZpZ3VyZTo0ODA4OiAkPyA9IDAKY29uZmlndXJlOjQ4MDg6
 IHJlc3VsdDogeWVzCmNvbmZpZ3VyZTo0ODA4OiBjaGVja2luZyB2aXMuaCBwcmVzZW5jZQpjb25m
 aWd1cmU6NDgwODogZ2NjIC1FICBjb25mdGVzdC5jCkluIGZpbGUgaW5jbHVkZWQgZnJvbSBjb25m
 dGVzdC5jOjc4OjA6Ci91c3IvaW5jbHVkZS92aXMuaDozMzoyOiB3YXJuaW5nOiAjd2FybmluZyAi
 RGVwcmVjYXRlZCBoZWFkZXIsIHVzZSA8YnNkL3Zpcy5oPiBvciBsaWJic2Qtb3ZlcmxheS5wYyBp
 bnN0ZWFkLiIgWy1XY3BwXQpjb25maWd1cmU6NDgwODogJD8gPSAwCmNvbmZpZ3VyZTo0ODA4OiBy
 ZXN1bHQ6IHllcwpjb25maWd1cmU6NDgwODogY2hlY2tpbmcgZm9yIHZpcy5oCmNvbmZpZ3VyZTo0
 ODA4OiByZXN1bHQ6IHllcwpjb25maWd1cmU6NDgxNTogY2hlY2tpbmcgZm9yIFZJU19XSElURSBp
 biB2aXMuaApjb25maWd1cmU6NDgzNTogZ2NjIC1jIC1nIC1PMiAgY29uZnRlc3QuYyA+JjUKSW4g
 ZmlsZSBpbmNsdWRlZCBmcm9tIGNvbmZ0ZXN0LmM6ODE6MDoKL3Vzci9pbmNsdWRlL3Zpcy5oOjMz
 OjI6IHdhcm5pbmc6ICN3YXJuaW5nICJEZXByZWNhdGVkIGhlYWRlciwgdXNlIDxic2QvdmlzLmg+
 IG9yIGxpYmJzZC1vdmVybGF5LnBjIGluc3RlYWQuIiBbLVdjcHBdCmNvbmZpZ3VyZTo0ODM1OiAk
 PyA9IDAKY29uZmlndXJlOjQ4NDM6IHJlc3VsdDogeWVzCmNvbmZpZ3VyZTo0ODUwOiBjaGVja2lu
 ZyBmb3Igc3RydW52aXMKY29uZmlndXJlOjQ4NTA6IGdjYyAtbyBjb25mdGVzdCAtZyAtTzIgICBj
 b25mdGVzdC5jICA+JjUKL3RtcC9jY0JlVmlVRS5vOiBJbiBmdW5jdGlvbiBgbWFpbic6Ci9tZWRp
 YS9zZGIyL3NyYy9wa2dzcmMvYm9vdHN0cmFwL3dvcmsvbGlibmJjb21wYXQvY29uZnRlc3QuYzox
 MTM6IHVuZGVmaW5lZCByZWZlcmVuY2UgdG8gYHN0cnVudmlzJwpjb2xsZWN0MjogbGQgcmV0dXJu
 ZWQgMSBleGl0IHN0YXR1cwpjb25maWd1cmU6NDg1MDogJD8gPSAxCmNvbmZpZ3VyZTogZmFpbGVk
 IHByb2dyYW0gd2FzOgp8IC8qIGNvbmZkZWZzLmggKi8KfCAjZGVmaW5lIFBBQ0tBR0VfTkFNRSAi
 bGlibmJjb21wYXQiCnwgI2RlZmluZSBQQUNLQUdFX1RBUk5BTUUgImxpYm5iY29tcGF0Igp8ICNk
 ZWZpbmUgUEFDS0FHRV9WRVJTSU9OICIyMDA4MDYwNSIKfCAjZGVmaW5lIFBBQ0tBR0VfU1RSSU5H
 ICJsaWJuYmNvbXBhdCAyMDA4MDYwNSIKfCAjZGVmaW5lIFBBQ0tBR0VfQlVHUkVQT1JUICJncmFu
 dEBOZXRCU0Qub3JnIgp8ICNkZWZpbmUgUEFDS0FHRV9VUkwgIiIKfCAjZGVmaW5lIFNURENfSEVB
 REVSUyAxCnwgI2RlZmluZSBUSU1FX1dJVEhfU1lTX1RJTUUgMQp8ICNkZWZpbmUgSEFWRV9TWVNf
 VFlQRVNfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19TVEFUX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERM
 SUJfSCAxCnwgI2RlZmluZSBIQVZFX1NUUklOR19IIDEKfCAjZGVmaW5lIEhBVkVfTUVNT1JZX0gg
 MQp8ICNkZWZpbmUgSEFWRV9TVFJJTkdTX0ggMQp8ICNkZWZpbmUgSEFWRV9JTlRUWVBFU19IIDEK
 fCAjZGVmaW5lIEhBVkVfU1RESU5UX0ggMQp8ICNkZWZpbmUgSEFWRV9VTklTVERfSCAxCnwgI2Rl
 ZmluZSBIQVZFX19CT09MIDEKfCAjZGVmaW5lIEhBVkVfU1REQk9PTF9IIDEKfCAjZGVmaW5lIEhB
 VkVfQUxMT0NBX0ggMQp8ICNkZWZpbmUgSEFWRV9BU1NFUlRfSCAxCnwgI2RlZmluZSBIQVZFX0NU
 WVBFX0ggMQp8ICNkZWZpbmUgSEFWRV9ESVJFTlRfSCAxCnwgI2RlZmluZSBIQVZFX0VORElBTl9I
 IDEKfCAjZGVmaW5lIEhBVkVfRVJSX0ggMQp8ICNkZWZpbmUgSEFWRV9FUlJOT19IIDEKfCAjZGVm
 aW5lIEhBVkVfRkNOVExfSCAxCnwgI2RlZmluZSBIQVZFX0ZOTUFUQ0hfSCAxCnwgI2RlZmluZSBI
 QVZFX0ZUU19IIDEKfCAjZGVmaW5lIEhBVkVfR1JQX0ggMQp8ICNkZWZpbmUgSEFWRV9JTlRUWVBF
 U19IIDEKfCAjZGVmaW5lIEhBVkVfTElCVVRJTF9IIDEKfCAjZGVmaW5lIEhBVkVfTElNSVRTX0gg
 MQp8ICNkZWZpbmUgSEFWRV9ORVREQl9IIDEKfCAjZGVmaW5lIEhBVkVfUEFUSFNfSCAxCnwgI2Rl
 ZmluZSBIQVZFX1BXRF9IIDEKfCAjZGVmaW5lIEhBVkVfU0lHTkFMX0ggMQp8ICNkZWZpbmUgSEFW
 RV9TVERBUkdfSCAxCnwgI2RlZmluZSBIQVZFX1NURERFRl9IIDEKfCAjZGVmaW5lIEhBVkVfU1RE
 SU5UX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERJT19IIDEKfCAjZGVmaW5lIEhBVkVfU1RETElCX0gg
 MQp8ICNkZWZpbmUgSEFWRV9TVFJJTkdfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19DREVGU19IIDEK
 fCAjZGVmaW5lIEhBVkVfU1lTX0RJUl9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX0ZJTEVfSCAxCnwg
 I2RlZmluZSBIQVZFX1NZU19QQVJBTV9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NPQ0tFVF9IIDEK
 fCAjZGVmaW5lIEhBVkVfU1lTX1NUQVRfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19TVEFURlNfSCAx
 CnwgI2RlZmluZSBIQVZFX1NZU19TVEFUVkZTX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfVElNRV9I
 IDEKfCAjZGVmaW5lIEhBVkVfU1lTX1RZUEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfVUlPX0gg
 MQp8ICNkZWZpbmUgSEFWRV9TWVNfVkZTX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNFWElUU19IIDEK
 fCAjZGVmaW5lIEhBVkVfVEVSTUNBUF9IIDEKfCAjZGVmaW5lIEhBVkVfVElNRV9IIDEKfCAjZGVm
 aW5lIEhBVkVfVU5JU1REX0ggMQp8ICNkZWZpbmUgSEFWRV9VVElNRV9IIDEKfCAjZGVmaW5lIEhB
 VkVfU1lTX01PVU5UX0ggMQp8ICNkZWZpbmUgSEFWRV9HTE9CX0ggMQp8ICNkZWZpbmUgSEFWRV9O
 QkNPTVBBVF9HTE9CIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1FVRVVFX0ggMQp8ICNkZWZpbmUgSEFW
 RV9OQkNPTVBBVF9RVUVVRSAxCnwgI2RlZmluZSBIQVZFX1JFR0VYX0ggMQp8ICNkZWZpbmUgSEFW
 RV9OQkNPTVBBVF9NRDUgMQp8ICNkZWZpbmUgSEFWRV9OQkNPTVBBVF9STUQxNjAgMQp8ICNkZWZp
 bmUgSEFWRV9OQkNPTVBBVF9TSEExIDEKfCAjZGVmaW5lIEhBVkVfTkJDT01QQVRfU0hBMiAxCnwg
 I2RlZmluZSBIQVZFX0RFQ0xfT1BUQVJHIDEKfCAjZGVmaW5lIEhBVkVfREVDTF9PUFRJTkQgMQp8
 ICNkZWZpbmUgSEFWRV9ERUNMX09QVFJFU0VUIDAKfCAjZGVmaW5lIEhBVkVfR0VUT1BUX0ggMQp8
 ICNkZWZpbmUgSEFWRV9TVFJVQ1RfT1BUSU9OIDEKfCAjZGVmaW5lIEhBVkVfVklTX0ggMQp8IC8q
 IGVuZCBjb25mZGVmcy5oLiAgKi8KfCAvKiBEZWZpbmUgc3RydW52aXMgdG8gYW4gaW5ub2N1b3Vz
 IHZhcmlhbnQsIGluIGNhc2UgPGxpbWl0cy5oPiBkZWNsYXJlcyBzdHJ1bnZpcy4KfCAgICBGb3Ig
 ZXhhbXBsZSwgSFAtVVggMTFpIDxsaW1pdHMuaD4gZGVjbGFyZXMgZ2V0dGltZW9mZGF5LiAgKi8K
 fCAjZGVmaW5lIHN0cnVudmlzIGlubm9jdW91c19zdHJ1bnZpcwp8IAp8IC8qIFN5c3RlbSBoZWFk
 ZXIgdG8gZGVmaW5lIF9fc3R1YiBtYWNyb3MgYW5kIGhvcGVmdWxseSBmZXcgcHJvdG90eXBlcywK
 fCAgICAgd2hpY2ggY2FuIGNvbmZsaWN0IHdpdGggY2hhciBzdHJ1bnZpcyAoKTsgYmVsb3cuCnwg
 ICAgIFByZWZlciA8bGltaXRzLmg+IHRvIDxhc3NlcnQuaD4gaWYgX19TVERDX18gaXMgZGVmaW5l
 ZCwgc2luY2UKfCAgICAgPGxpbWl0cy5oPiBleGlzdHMgZXZlbiBvbiBmcmVlc3RhbmRpbmcgY29t
 cGlsZXJzLiAgKi8KfCAKfCAjaWZkZWYgX19TVERDX18KfCAjIGluY2x1ZGUgPGxpbWl0cy5oPgp8
 ICNlbHNlCnwgIyBpbmNsdWRlIDxhc3NlcnQuaD4KfCAjZW5kaWYKfCAKfCAjdW5kZWYgc3RydW52
 aXMKfCAKfCAvKiBPdmVycmlkZSBhbnkgR0NDIGludGVybmFsIHByb3RvdHlwZSB0byBhdm9pZCBh
 biBlcnJvci4KfCAgICBVc2UgY2hhciBiZWNhdXNlIGludCBtaWdodCBtYXRjaCB0aGUgcmV0dXJu
 IHR5cGUgb2YgYSBHQ0MKfCAgICBidWlsdGluIGFuZCB0aGVuIGl0cyBhcmd1bWVudCBwcm90b3R5
 cGUgd291bGQgc3RpbGwgYXBwbHkuICAqLwp8ICNpZmRlZiBfX2NwbHVzcGx1cwp8IGV4dGVybiAi
 QyIKfCAjZW5kaWYKfCBjaGFyIHN0cnVudmlzICgpOwp8IC8qIFRoZSBHTlUgQyBsaWJyYXJ5IGRl
 ZmluZXMgdGhpcyBmb3IgZnVuY3Rpb25zIHdoaWNoIGl0IGltcGxlbWVudHMKfCAgICAgdG8gYWx3
 YXlzIGZhaWwgd2l0aCBFTk9TWVMuICBTb21lIGZ1bmN0aW9ucyBhcmUgYWN0dWFsbHkgbmFtZWQK
 fCAgICAgc29tZXRoaW5nIHN0YXJ0aW5nIHdpdGggX18gYW5kIHRoZSBub3JtYWwgbmFtZSBpcyBh
 biBhbGlhcy4gICovCnwgI2lmIGRlZmluZWQgX19zdHViX3N0cnVudmlzIHx8IGRlZmluZWQgX19z
 dHViX19fc3RydW52aXMKfCBjaG9rZSBtZQp8ICNlbmRpZgp8IAp8IGludAp8IG1haW4gKCkKfCB7
 CnwgcmV0dXJuIHN0cnVudmlzICgpOwp8ICAgOwp8ICAgcmV0dXJuIDA7CnwgfQpjb25maWd1cmU6
 NDg1MDogcmVzdWx0OiBubwpjb25maWd1cmU6NDg1MDogY2hlY2tpbmcgZm9yIHN0cnZpcwpjb25m
 aWd1cmU6NDg1MDogZ2NjIC1vIGNvbmZ0ZXN0IC1nIC1PMiAgIGNvbmZ0ZXN0LmMgID4mNQovdG1w
 L2NjVDg4MldTLm86IEluIGZ1bmN0aW9uIGBtYWluJzoKL21lZGlhL3NkYjIvc3JjL3BrZ3NyYy9i
 b290c3RyYXAvd29yay9saWJuYmNvbXBhdC9jb25mdGVzdC5jOjExMzogdW5kZWZpbmVkIHJlZmVy
 ZW5jZSB0byBgc3RydmlzJwpjb2xsZWN0MjogbGQgcmV0dXJuZWQgMSBleGl0IHN0YXR1cwpjb25m
 aWd1cmU6NDg1MDogJD8gPSAxCmNvbmZpZ3VyZTogZmFpbGVkIHByb2dyYW0gd2FzOgp8IC8qIGNv
 bmZkZWZzLmggKi8KfCAjZGVmaW5lIFBBQ0tBR0VfTkFNRSAibGlibmJjb21wYXQiCnwgI2RlZmlu
 ZSBQQUNLQUdFX1RBUk5BTUUgImxpYm5iY29tcGF0Igp8ICNkZWZpbmUgUEFDS0FHRV9WRVJTSU9O
 ICIyMDA4MDYwNSIKfCAjZGVmaW5lIFBBQ0tBR0VfU1RSSU5HICJsaWJuYmNvbXBhdCAyMDA4MDYw
 NSIKfCAjZGVmaW5lIFBBQ0tBR0VfQlVHUkVQT1JUICJncmFudEBOZXRCU0Qub3JnIgp8ICNkZWZp
 bmUgUEFDS0FHRV9VUkwgIiIKfCAjZGVmaW5lIFNURENfSEVBREVSUyAxCnwgI2RlZmluZSBUSU1F
 X1dJVEhfU1lTX1RJTUUgMQp8ICNkZWZpbmUgSEFWRV9TWVNfVFlQRVNfSCAxCnwgI2RlZmluZSBI
 QVZFX1NZU19TVEFUX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERMSUJfSCAxCnwgI2RlZmluZSBIQVZF
 X1NUUklOR19IIDEKfCAjZGVmaW5lIEhBVkVfTUVNT1JZX0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJJ
 TkdTX0ggMQp8ICNkZWZpbmUgSEFWRV9JTlRUWVBFU19IIDEKfCAjZGVmaW5lIEhBVkVfU1RESU5U
 X0ggMQp8ICNkZWZpbmUgSEFWRV9VTklTVERfSCAxCnwgI2RlZmluZSBIQVZFX19CT09MIDEKfCAj
 ZGVmaW5lIEhBVkVfU1REQk9PTF9IIDEKfCAjZGVmaW5lIEhBVkVfQUxMT0NBX0ggMQp8ICNkZWZp
 bmUgSEFWRV9BU1NFUlRfSCAxCnwgI2RlZmluZSBIQVZFX0NUWVBFX0ggMQp8ICNkZWZpbmUgSEFW
 RV9ESVJFTlRfSCAxCnwgI2RlZmluZSBIQVZFX0VORElBTl9IIDEKfCAjZGVmaW5lIEhBVkVfRVJS
 X0ggMQp8ICNkZWZpbmUgSEFWRV9FUlJOT19IIDEKfCAjZGVmaW5lIEhBVkVfRkNOVExfSCAxCnwg
 I2RlZmluZSBIQVZFX0ZOTUFUQ0hfSCAxCnwgI2RlZmluZSBIQVZFX0ZUU19IIDEKfCAjZGVmaW5l
 IEhBVkVfR1JQX0ggMQp8ICNkZWZpbmUgSEFWRV9JTlRUWVBFU19IIDEKfCAjZGVmaW5lIEhBVkVf
 TElCVVRJTF9IIDEKfCAjZGVmaW5lIEhBVkVfTElNSVRTX0ggMQp8ICNkZWZpbmUgSEFWRV9ORVRE
 Ql9IIDEKfCAjZGVmaW5lIEhBVkVfUEFUSFNfSCAxCnwgI2RlZmluZSBIQVZFX1BXRF9IIDEKfCAj
 ZGVmaW5lIEhBVkVfU0lHTkFMX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERBUkdfSCAxCnwgI2RlZmlu
 ZSBIQVZFX1NURERFRl9IIDEKfCAjZGVmaW5lIEhBVkVfU1RESU5UX0ggMQp8ICNkZWZpbmUgSEFW
 RV9TVERJT19IIDEKfCAjZGVmaW5lIEhBVkVfU1RETElCX0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJJ
 TkdfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19DREVGU19IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX0RJ
 Ul9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX0ZJTEVfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19QQVJB
 TV9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NPQ0tFVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NU
 QVRfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19TVEFURlNfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19T
 VEFUVkZTX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfVElNRV9IIDEKfCAjZGVmaW5lIEhBVkVfU1lT
 X1RZUEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfVUlPX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNf
 VkZTX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNFWElUU19IIDEKfCAjZGVmaW5lIEhBVkVfVEVSTUNB
 UF9IIDEKfCAjZGVmaW5lIEhBVkVfVElNRV9IIDEKfCAjZGVmaW5lIEhBVkVfVU5JU1REX0ggMQp8
 ICNkZWZpbmUgSEFWRV9VVElNRV9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX01PVU5UX0ggMQp8ICNk
 ZWZpbmUgSEFWRV9HTE9CX0ggMQp8ICNkZWZpbmUgSEFWRV9OQkNPTVBBVF9HTE9CIDEKfCAjZGVm
 aW5lIEhBVkVfU1lTX1FVRVVFX0ggMQp8ICNkZWZpbmUgSEFWRV9OQkNPTVBBVF9RVUVVRSAxCnwg
 I2RlZmluZSBIQVZFX1JFR0VYX0ggMQp8ICNkZWZpbmUgSEFWRV9OQkNPTVBBVF9NRDUgMQp8ICNk
 ZWZpbmUgSEFWRV9OQkNPTVBBVF9STUQxNjAgMQp8ICNkZWZpbmUgSEFWRV9OQkNPTVBBVF9TSEEx
 IDEKfCAjZGVmaW5lIEhBVkVfTkJDT01QQVRfU0hBMiAxCnwgI2RlZmluZSBIQVZFX0RFQ0xfT1BU
 QVJHIDEKfCAjZGVmaW5lIEhBVkVfREVDTF9PUFRJTkQgMQp8ICNkZWZpbmUgSEFWRV9ERUNMX09Q
 VFJFU0VUIDAKfCAjZGVmaW5lIEhBVkVfR0VUT1BUX0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJVQ1Rf
 T1BUSU9OIDEKfCAjZGVmaW5lIEhBVkVfVklTX0ggMQp8IC8qIGVuZCBjb25mZGVmcy5oLiAgKi8K
 fCAvKiBEZWZpbmUgc3RydmlzIHRvIGFuIGlubm9jdW91cyB2YXJpYW50LCBpbiBjYXNlIDxsaW1p
 dHMuaD4gZGVjbGFyZXMgc3RydmlzLgp8ICAgIEZvciBleGFtcGxlLCBIUC1VWCAxMWkgPGxpbWl0
 cy5oPiBkZWNsYXJlcyBnZXR0aW1lb2ZkYXkuICAqLwp8ICNkZWZpbmUgc3RydmlzIGlubm9jdW91
 c19zdHJ2aXMKfCAKfCAvKiBTeXN0ZW0gaGVhZGVyIHRvIGRlZmluZSBfX3N0dWIgbWFjcm9zIGFu
 ZCBob3BlZnVsbHkgZmV3IHByb3RvdHlwZXMsCnwgICAgIHdoaWNoIGNhbiBjb25mbGljdCB3aXRo
 IGNoYXIgc3RydmlzICgpOyBiZWxvdy4KfCAgICAgUHJlZmVyIDxsaW1pdHMuaD4gdG8gPGFzc2Vy
 dC5oPiBpZiBfX1NURENfXyBpcyBkZWZpbmVkLCBzaW5jZQp8ICAgICA8bGltaXRzLmg+IGV4aXN0
 cyBldmVuIG9uIGZyZWVzdGFuZGluZyBjb21waWxlcnMuICAqLwp8IAp8ICNpZmRlZiBfX1NURENf
 Xwp8ICMgaW5jbHVkZSA8bGltaXRzLmg+CnwgI2Vsc2UKfCAjIGluY2x1ZGUgPGFzc2VydC5oPgp8
 ICNlbmRpZgp8IAp8ICN1bmRlZiBzdHJ2aXMKfCAKfCAvKiBPdmVycmlkZSBhbnkgR0NDIGludGVy
 bmFsIHByb3RvdHlwZSB0byBhdm9pZCBhbiBlcnJvci4KfCAgICBVc2UgY2hhciBiZWNhdXNlIGlu
 dCBtaWdodCBtYXRjaCB0aGUgcmV0dXJuIHR5cGUgb2YgYSBHQ0MKfCAgICBidWlsdGluIGFuZCB0
 aGVuIGl0cyBhcmd1bWVudCBwcm90b3R5cGUgd291bGQgc3RpbGwgYXBwbHkuICAqLwp8ICNpZmRl
 ZiBfX2NwbHVzcGx1cwp8IGV4dGVybiAiQyIKfCAjZW5kaWYKfCBjaGFyIHN0cnZpcyAoKTsKfCAv
 KiBUaGUgR05VIEMgbGlicmFyeSBkZWZpbmVzIHRoaXMgZm9yIGZ1bmN0aW9ucyB3aGljaCBpdCBp
 bXBsZW1lbnRzCnwgICAgIHRvIGFsd2F5cyBmYWlsIHdpdGggRU5PU1lTLiAgU29tZSBmdW5jdGlv
 bnMgYXJlIGFjdHVhbGx5IG5hbWVkCnwgICAgIHNvbWV0aGluZyBzdGFydGluZyB3aXRoIF9fIGFu
 ZCB0aGUgbm9ybWFsIG5hbWUgaXMgYW4gYWxpYXMuICAqLwp8ICNpZiBkZWZpbmVkIF9fc3R1Yl9z
 dHJ2aXMgfHwgZGVmaW5lZCBfX3N0dWJfX19zdHJ2aXMKfCBjaG9rZSBtZQp8ICNlbmRpZgp8IAp8
 IGludAp8IG1haW4gKCkKfCB7CnwgcmV0dXJuIHN0cnZpcyAoKTsKfCAgIDsKfCAgIHJldHVybiAw
 Owp8IH0KY29uZmlndXJlOjQ4NTA6IHJlc3VsdDogbm8KY29uZmlndXJlOjQ4NTA6IGNoZWNraW5n
 IGZvciBzdHJzdmlzCmNvbmZpZ3VyZTo0ODUwOiBnY2MgLW8gY29uZnRlc3QgLWcgLU8yICAgY29u
 ZnRlc3QuYyAgPiY1Ci90bXAvY2M0czZMN1MubzogSW4gZnVuY3Rpb24gYG1haW4nOgovbWVkaWEv
 c2RiMi9zcmMvcGtnc3JjL2Jvb3RzdHJhcC93b3JrL2xpYm5iY29tcGF0L2NvbmZ0ZXN0LmM6MTEz
 OiB1bmRlZmluZWQgcmVmZXJlbmNlIHRvIGBzdHJzdmlzJwpjb2xsZWN0MjogbGQgcmV0dXJuZWQg
 MSBleGl0IHN0YXR1cwpjb25maWd1cmU6NDg1MDogJD8gPSAxCmNvbmZpZ3VyZTogZmFpbGVkIHBy
 b2dyYW0gd2FzOgp8IC8qIGNvbmZkZWZzLmggKi8KfCAjZGVmaW5lIFBBQ0tBR0VfTkFNRSAibGli
 bmJjb21wYXQiCnwgI2RlZmluZSBQQUNLQUdFX1RBUk5BTUUgImxpYm5iY29tcGF0Igp8ICNkZWZp
 bmUgUEFDS0FHRV9WRVJTSU9OICIyMDA4MDYwNSIKfCAjZGVmaW5lIFBBQ0tBR0VfU1RSSU5HICJs
 aWJuYmNvbXBhdCAyMDA4MDYwNSIKfCAjZGVmaW5lIFBBQ0tBR0VfQlVHUkVQT1JUICJncmFudEBO
 ZXRCU0Qub3JnIgp8ICNkZWZpbmUgUEFDS0FHRV9VUkwgIiIKfCAjZGVmaW5lIFNURENfSEVBREVS
 UyAxCnwgI2RlZmluZSBUSU1FX1dJVEhfU1lTX1RJTUUgMQp8ICNkZWZpbmUgSEFWRV9TWVNfVFlQ
 RVNfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19TVEFUX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERMSUJf
 SCAxCnwgI2RlZmluZSBIQVZFX1NUUklOR19IIDEKfCAjZGVmaW5lIEhBVkVfTUVNT1JZX0ggMQp8
 ICNkZWZpbmUgSEFWRV9TVFJJTkdTX0ggMQp8ICNkZWZpbmUgSEFWRV9JTlRUWVBFU19IIDEKfCAj
 ZGVmaW5lIEhBVkVfU1RESU5UX0ggMQp8ICNkZWZpbmUgSEFWRV9VTklTVERfSCAxCnwgI2RlZmlu
 ZSBIQVZFX19CT09MIDEKfCAjZGVmaW5lIEhBVkVfU1REQk9PTF9IIDEKfCAjZGVmaW5lIEhBVkVf
 QUxMT0NBX0ggMQp8ICNkZWZpbmUgSEFWRV9BU1NFUlRfSCAxCnwgI2RlZmluZSBIQVZFX0NUWVBF
 X0ggMQp8ICNkZWZpbmUgSEFWRV9ESVJFTlRfSCAxCnwgI2RlZmluZSBIQVZFX0VORElBTl9IIDEK
 fCAjZGVmaW5lIEhBVkVfRVJSX0ggMQp8ICNkZWZpbmUgSEFWRV9FUlJOT19IIDEKfCAjZGVmaW5l
 IEhBVkVfRkNOVExfSCAxCnwgI2RlZmluZSBIQVZFX0ZOTUFUQ0hfSCAxCnwgI2RlZmluZSBIQVZF
 X0ZUU19IIDEKfCAjZGVmaW5lIEhBVkVfR1JQX0ggMQp8ICNkZWZpbmUgSEFWRV9JTlRUWVBFU19I
 IDEKfCAjZGVmaW5lIEhBVkVfTElCVVRJTF9IIDEKfCAjZGVmaW5lIEhBVkVfTElNSVRTX0ggMQp8
 ICNkZWZpbmUgSEFWRV9ORVREQl9IIDEKfCAjZGVmaW5lIEhBVkVfUEFUSFNfSCAxCnwgI2RlZmlu
 ZSBIQVZFX1BXRF9IIDEKfCAjZGVmaW5lIEhBVkVfU0lHTkFMX0ggMQp8ICNkZWZpbmUgSEFWRV9T
 VERBUkdfSCAxCnwgI2RlZmluZSBIQVZFX1NURERFRl9IIDEKfCAjZGVmaW5lIEhBVkVfU1RESU5U
 X0ggMQp8ICNkZWZpbmUgSEFWRV9TVERJT19IIDEKfCAjZGVmaW5lIEhBVkVfU1RETElCX0ggMQp8
 ICNkZWZpbmUgSEFWRV9TVFJJTkdfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19DREVGU19IIDEKfCAj
 ZGVmaW5lIEhBVkVfU1lTX0RJUl9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX0ZJTEVfSCAxCnwgI2Rl
 ZmluZSBIQVZFX1NZU19QQVJBTV9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NPQ0tFVF9IIDEKfCAj
 ZGVmaW5lIEhBVkVfU1lTX1NUQVRfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19TVEFURlNfSCAxCnwg
 I2RlZmluZSBIQVZFX1NZU19TVEFUVkZTX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfVElNRV9IIDEK
 fCAjZGVmaW5lIEhBVkVfU1lTX1RZUEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfVUlPX0ggMQp8
 ICNkZWZpbmUgSEFWRV9TWVNfVkZTX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNFWElUU19IIDEKfCAj
 ZGVmaW5lIEhBVkVfVEVSTUNBUF9IIDEKfCAjZGVmaW5lIEhBVkVfVElNRV9IIDEKfCAjZGVmaW5l
 IEhBVkVfVU5JU1REX0ggMQp8ICNkZWZpbmUgSEFWRV9VVElNRV9IIDEKfCAjZGVmaW5lIEhBVkVf
 U1lTX01PVU5UX0ggMQp8ICNkZWZpbmUgSEFWRV9HTE9CX0ggMQp8ICNkZWZpbmUgSEFWRV9OQkNP
 TVBBVF9HTE9CIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1FVRVVFX0ggMQp8ICNkZWZpbmUgSEFWRV9O
 QkNPTVBBVF9RVUVVRSAxCnwgI2RlZmluZSBIQVZFX1JFR0VYX0ggMQp8ICNkZWZpbmUgSEFWRV9O
 QkNPTVBBVF9NRDUgMQp8ICNkZWZpbmUgSEFWRV9OQkNPTVBBVF9STUQxNjAgMQp8ICNkZWZpbmUg
 SEFWRV9OQkNPTVBBVF9TSEExIDEKfCAjZGVmaW5lIEhBVkVfTkJDT01QQVRfU0hBMiAxCnwgI2Rl
 ZmluZSBIQVZFX0RFQ0xfT1BUQVJHIDEKfCAjZGVmaW5lIEhBVkVfREVDTF9PUFRJTkQgMQp8ICNk
 ZWZpbmUgSEFWRV9ERUNMX09QVFJFU0VUIDAKfCAjZGVmaW5lIEhBVkVfR0VUT1BUX0ggMQp8ICNk
 ZWZpbmUgSEFWRV9TVFJVQ1RfT1BUSU9OIDEKfCAjZGVmaW5lIEhBVkVfVklTX0ggMQp8IC8qIGVu
 ZCBjb25mZGVmcy5oLiAgKi8KfCAvKiBEZWZpbmUgc3Ryc3ZpcyB0byBhbiBpbm5vY3VvdXMgdmFy
 aWFudCwgaW4gY2FzZSA8bGltaXRzLmg+IGRlY2xhcmVzIHN0cnN2aXMuCnwgICAgRm9yIGV4YW1w
 bGUsIEhQLVVYIDExaSA8bGltaXRzLmg+IGRlY2xhcmVzIGdldHRpbWVvZmRheS4gICovCnwgI2Rl
 ZmluZSBzdHJzdmlzIGlubm9jdW91c19zdHJzdmlzCnwgCnwgLyogU3lzdGVtIGhlYWRlciB0byBk
 ZWZpbmUgX19zdHViIG1hY3JvcyBhbmQgaG9wZWZ1bGx5IGZldyBwcm90b3R5cGVzLAp8ICAgICB3
 aGljaCBjYW4gY29uZmxpY3Qgd2l0aCBjaGFyIHN0cnN2aXMgKCk7IGJlbG93Lgp8ICAgICBQcmVm
 ZXIgPGxpbWl0cy5oPiB0byA8YXNzZXJ0Lmg+IGlmIF9fU1REQ19fIGlzIGRlZmluZWQsIHNpbmNl
 CnwgICAgIDxsaW1pdHMuaD4gZXhpc3RzIGV2ZW4gb24gZnJlZXN0YW5kaW5nIGNvbXBpbGVycy4g
 ICovCnwgCnwgI2lmZGVmIF9fU1REQ19fCnwgIyBpbmNsdWRlIDxsaW1pdHMuaD4KfCAjZWxzZQp8
 ICMgaW5jbHVkZSA8YXNzZXJ0Lmg+CnwgI2VuZGlmCnwgCnwgI3VuZGVmIHN0cnN2aXMKfCAKfCAv
 KiBPdmVycmlkZSBhbnkgR0NDIGludGVybmFsIHByb3RvdHlwZSB0byBhdm9pZCBhbiBlcnJvci4K
 fCAgICBVc2UgY2hhciBiZWNhdXNlIGludCBtaWdodCBtYXRjaCB0aGUgcmV0dXJuIHR5cGUgb2Yg
 YSBHQ0MKfCAgICBidWlsdGluIGFuZCB0aGVuIGl0cyBhcmd1bWVudCBwcm90b3R5cGUgd291bGQg
 c3RpbGwgYXBwbHkuICAqLwp8ICNpZmRlZiBfX2NwbHVzcGx1cwp8IGV4dGVybiAiQyIKfCAjZW5k
 aWYKfCBjaGFyIHN0cnN2aXMgKCk7CnwgLyogVGhlIEdOVSBDIGxpYnJhcnkgZGVmaW5lcyB0aGlz
 IGZvciBmdW5jdGlvbnMgd2hpY2ggaXQgaW1wbGVtZW50cwp8ICAgICB0byBhbHdheXMgZmFpbCB3
 aXRoIEVOT1NZUy4gIFNvbWUgZnVuY3Rpb25zIGFyZSBhY3R1YWxseSBuYW1lZAp8ICAgICBzb21l
 dGhpbmcgc3RhcnRpbmcgd2l0aCBfXyBhbmQgdGhlIG5vcm1hbCBuYW1lIGlzIGFuIGFsaWFzLiAg
 Ki8KfCAjaWYgZGVmaW5lZCBfX3N0dWJfc3Ryc3ZpcyB8fCBkZWZpbmVkIF9fc3R1Yl9fX3N0cnN2
 aXMKfCBjaG9rZSBtZQp8ICNlbmRpZgp8IAp8IGludAp8IG1haW4gKCkKfCB7CnwgcmV0dXJuIHN0
 cnN2aXMgKCk7CnwgICA7CnwgICByZXR1cm4gMDsKfCB9CmNvbmZpZ3VyZTo0ODUwOiByZXN1bHQ6
 IG5vCmNvbmZpZ3VyZTo0ODUwOiBjaGVja2luZyBmb3Igc3Zpcwpjb25maWd1cmU6NDg1MDogZ2Nj
 IC1vIGNvbmZ0ZXN0IC1nIC1PMiAgIGNvbmZ0ZXN0LmMgID4mNQovdG1wL2NjcVh1WUQ2Lm86IElu
 IGZ1bmN0aW9uIGBtYWluJzoKL21lZGlhL3NkYjIvc3JjL3BrZ3NyYy9ib290c3RyYXAvd29yay9s
 aWJuYmNvbXBhdC9jb25mdGVzdC5jOjExMzogdW5kZWZpbmVkIHJlZmVyZW5jZSB0byBgc3ZpcycK
 Y29sbGVjdDI6IGxkIHJldHVybmVkIDEgZXhpdCBzdGF0dXMKY29uZmlndXJlOjQ4NTA6ICQ/ID0g
 MQpjb25maWd1cmU6IGZhaWxlZCBwcm9ncmFtIHdhczoKfCAvKiBjb25mZGVmcy5oICovCnwgI2Rl
 ZmluZSBQQUNLQUdFX05BTUUgImxpYm5iY29tcGF0Igp8ICNkZWZpbmUgUEFDS0FHRV9UQVJOQU1F
 ICJsaWJuYmNvbXBhdCIKfCAjZGVmaW5lIFBBQ0tBR0VfVkVSU0lPTiAiMjAwODA2MDUiCnwgI2Rl
 ZmluZSBQQUNLQUdFX1NUUklORyAibGlibmJjb21wYXQgMjAwODA2MDUiCnwgI2RlZmluZSBQQUNL
 QUdFX0JVR1JFUE9SVCAiZ3JhbnRATmV0QlNELm9yZyIKfCAjZGVmaW5lIFBBQ0tBR0VfVVJMICIi
 CnwgI2RlZmluZSBTVERDX0hFQURFUlMgMQp8ICNkZWZpbmUgVElNRV9XSVRIX1NZU19USU1FIDEK
 fCAjZGVmaW5lIEhBVkVfU1lTX1RZUEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfU1RBVF9IIDEK
 fCAjZGVmaW5lIEhBVkVfU1RETElCX0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJJTkdfSCAxCnwgI2Rl
 ZmluZSBIQVZFX01FTU9SWV9IIDEKfCAjZGVmaW5lIEhBVkVfU1RSSU5HU19IIDEKfCAjZGVmaW5l
 IEhBVkVfSU5UVFlQRVNfSCAxCnwgI2RlZmluZSBIQVZFX1NURElOVF9IIDEKfCAjZGVmaW5lIEhB
 VkVfVU5JU1REX0ggMQp8ICNkZWZpbmUgSEFWRV9fQk9PTCAxCnwgI2RlZmluZSBIQVZFX1NUREJP
 T0xfSCAxCnwgI2RlZmluZSBIQVZFX0FMTE9DQV9IIDEKfCAjZGVmaW5lIEhBVkVfQVNTRVJUX0gg
 MQp8ICNkZWZpbmUgSEFWRV9DVFlQRV9IIDEKfCAjZGVmaW5lIEhBVkVfRElSRU5UX0ggMQp8ICNk
 ZWZpbmUgSEFWRV9FTkRJQU5fSCAxCnwgI2RlZmluZSBIQVZFX0VSUl9IIDEKfCAjZGVmaW5lIEhB
 VkVfRVJSTk9fSCAxCnwgI2RlZmluZSBIQVZFX0ZDTlRMX0ggMQp8ICNkZWZpbmUgSEFWRV9GTk1B
 VENIX0ggMQp8ICNkZWZpbmUgSEFWRV9GVFNfSCAxCnwgI2RlZmluZSBIQVZFX0dSUF9IIDEKfCAj
 ZGVmaW5lIEhBVkVfSU5UVFlQRVNfSCAxCnwgI2RlZmluZSBIQVZFX0xJQlVUSUxfSCAxCnwgI2Rl
 ZmluZSBIQVZFX0xJTUlUU19IIDEKfCAjZGVmaW5lIEhBVkVfTkVUREJfSCAxCnwgI2RlZmluZSBI
 QVZFX1BBVEhTX0ggMQp8ICNkZWZpbmUgSEFWRV9QV0RfSCAxCnwgI2RlZmluZSBIQVZFX1NJR05B
 TF9IIDEKfCAjZGVmaW5lIEhBVkVfU1REQVJHX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERERUZfSCAx
 CnwgI2RlZmluZSBIQVZFX1NURElOVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1RESU9fSCAxCnwgI2Rl
 ZmluZSBIQVZFX1NURExJQl9IIDEKfCAjZGVmaW5lIEhBVkVfU1RSSU5HX0ggMQp8ICNkZWZpbmUg
 SEFWRV9TWVNfQ0RFRlNfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19ESVJfSCAxCnwgI2RlZmluZSBI
 QVZFX1NZU19GSUxFX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfUEFSQU1fSCAxCnwgI2RlZmluZSBI
 QVZFX1NZU19TT0NLRVRfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19TVEFUX0ggMQp8ICNkZWZpbmUg
 SEFWRV9TWVNfU1RBVEZTX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfU1RBVFZGU19IIDEKfCAjZGVm
 aW5lIEhBVkVfU1lTX1RJTUVfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19UWVBFU19IIDEKfCAjZGVm
 aW5lIEhBVkVfU1lTX1VJT19IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1ZGU19IIDEKfCAjZGVmaW5l
 IEhBVkVfU1lTRVhJVFNfSCAxCnwgI2RlZmluZSBIQVZFX1RFUk1DQVBfSCAxCnwgI2RlZmluZSBI
 QVZFX1RJTUVfSCAxCnwgI2RlZmluZSBIQVZFX1VOSVNURF9IIDEKfCAjZGVmaW5lIEhBVkVfVVRJ
 TUVfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19NT1VOVF9IIDEKfCAjZGVmaW5lIEhBVkVfR0xPQl9I
 IDEKfCAjZGVmaW5lIEhBVkVfTkJDT01QQVRfR0xPQiAxCnwgI2RlZmluZSBIQVZFX1NZU19RVUVV
 RV9IIDEKfCAjZGVmaW5lIEhBVkVfTkJDT01QQVRfUVVFVUUgMQp8ICNkZWZpbmUgSEFWRV9SRUdF
 WF9IIDEKfCAjZGVmaW5lIEhBVkVfTkJDT01QQVRfTUQ1IDEKfCAjZGVmaW5lIEhBVkVfTkJDT01Q
 QVRfUk1EMTYwIDEKfCAjZGVmaW5lIEhBVkVfTkJDT01QQVRfU0hBMSAxCnwgI2RlZmluZSBIQVZF
 X05CQ09NUEFUX1NIQTIgMQp8ICNkZWZpbmUgSEFWRV9ERUNMX09QVEFSRyAxCnwgI2RlZmluZSBI
 QVZFX0RFQ0xfT1BUSU5EIDEKfCAjZGVmaW5lIEhBVkVfREVDTF9PUFRSRVNFVCAwCnwgI2RlZmlu
 ZSBIQVZFX0dFVE9QVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1RSVUNUX09QVElPTiAxCnwgI2RlZmlu
 ZSBIQVZFX1ZJU19IIDEKfCAvKiBlbmQgY29uZmRlZnMuaC4gICovCnwgLyogRGVmaW5lIHN2aXMg
 dG8gYW4gaW5ub2N1b3VzIHZhcmlhbnQsIGluIGNhc2UgPGxpbWl0cy5oPiBkZWNsYXJlcyBzdmlz
 Lgp8ICAgIEZvciBleGFtcGxlLCBIUC1VWCAxMWkgPGxpbWl0cy5oPiBkZWNsYXJlcyBnZXR0aW1l
 b2ZkYXkuICAqLwp8ICNkZWZpbmUgc3ZpcyBpbm5vY3VvdXNfc3Zpcwp8IAp8IC8qIFN5c3RlbSBo
 ZWFkZXIgdG8gZGVmaW5lIF9fc3R1YiBtYWNyb3MgYW5kIGhvcGVmdWxseSBmZXcgcHJvdG90eXBl
 cywKfCAgICAgd2hpY2ggY2FuIGNvbmZsaWN0IHdpdGggY2hhciBzdmlzICgpOyBiZWxvdy4KfCAg
 ICAgUHJlZmVyIDxsaW1pdHMuaD4gdG8gPGFzc2VydC5oPiBpZiBfX1NURENfXyBpcyBkZWZpbmVk
 LCBzaW5jZQp8ICAgICA8bGltaXRzLmg+IGV4aXN0cyBldmVuIG9uIGZyZWVzdGFuZGluZyBjb21w
 aWxlcnMuICAqLwp8IAp8ICNpZmRlZiBfX1NURENfXwp8ICMgaW5jbHVkZSA8bGltaXRzLmg+Cnwg
 I2Vsc2UKfCAjIGluY2x1ZGUgPGFzc2VydC5oPgp8ICNlbmRpZgp8IAp8ICN1bmRlZiBzdmlzCnwg
 CnwgLyogT3ZlcnJpZGUgYW55IEdDQyBpbnRlcm5hbCBwcm90b3R5cGUgdG8gYXZvaWQgYW4gZXJy
 b3IuCnwgICAgVXNlIGNoYXIgYmVjYXVzZSBpbnQgbWlnaHQgbWF0Y2ggdGhlIHJldHVybiB0eXBl
 IG9mIGEgR0NDCnwgICAgYnVpbHRpbiBhbmQgdGhlbiBpdHMgYXJndW1lbnQgcHJvdG90eXBlIHdv
 dWxkIHN0aWxsIGFwcGx5LiAgKi8KfCAjaWZkZWYgX19jcGx1c3BsdXMKfCBleHRlcm4gIkMiCnwg
 I2VuZGlmCnwgY2hhciBzdmlzICgpOwp8IC8qIFRoZSBHTlUgQyBsaWJyYXJ5IGRlZmluZXMgdGhp
 cyBmb3IgZnVuY3Rpb25zIHdoaWNoIGl0IGltcGxlbWVudHMKfCAgICAgdG8gYWx3YXlzIGZhaWwg
 d2l0aCBFTk9TWVMuICBTb21lIGZ1bmN0aW9ucyBhcmUgYWN0dWFsbHkgbmFtZWQKfCAgICAgc29t
 ZXRoaW5nIHN0YXJ0aW5nIHdpdGggX18gYW5kIHRoZSBub3JtYWwgbmFtZSBpcyBhbiBhbGlhcy4g
 ICovCnwgI2lmIGRlZmluZWQgX19zdHViX3N2aXMgfHwgZGVmaW5lZCBfX3N0dWJfX19zdmlzCnwg
 Y2hva2UgbWUKfCAjZW5kaWYKfCAKfCBpbnQKfCBtYWluICgpCnwgewp8IHJldHVybiBzdmlzICgp
 Owp8ICAgOwp8ICAgcmV0dXJuIDA7CnwgfQpjb25maWd1cmU6NDg1MDogcmVzdWx0OiBubwpjb25m
 aWd1cmU6NDg1MDogY2hlY2tpbmcgZm9yIHVudmlzCmNvbmZpZ3VyZTo0ODUwOiBnY2MgLW8gY29u
 ZnRlc3QgLWcgLU8yICAgY29uZnRlc3QuYyAgPiY1Ci90bXAvY2NhOFByVGkubzogSW4gZnVuY3Rp
 b24gYG1haW4nOgovbWVkaWEvc2RiMi9zcmMvcGtnc3JjL2Jvb3RzdHJhcC93b3JrL2xpYm5iY29t
 cGF0L2NvbmZ0ZXN0LmM6MTEzOiB1bmRlZmluZWQgcmVmZXJlbmNlIHRvIGB1bnZpcycKY29sbGVj
 dDI6IGxkIHJldHVybmVkIDEgZXhpdCBzdGF0dXMKY29uZmlndXJlOjQ4NTA6ICQ/ID0gMQpjb25m
 aWd1cmU6IGZhaWxlZCBwcm9ncmFtIHdhczoKfCAvKiBjb25mZGVmcy5oICovCnwgI2RlZmluZSBQ
 QUNLQUdFX05BTUUgImxpYm5iY29tcGF0Igp8ICNkZWZpbmUgUEFDS0FHRV9UQVJOQU1FICJsaWJu
 YmNvbXBhdCIKfCAjZGVmaW5lIFBBQ0tBR0VfVkVSU0lPTiAiMjAwODA2MDUiCnwgI2RlZmluZSBQ
 QUNLQUdFX1NUUklORyAibGlibmJjb21wYXQgMjAwODA2MDUiCnwgI2RlZmluZSBQQUNLQUdFX0JV
 R1JFUE9SVCAiZ3JhbnRATmV0QlNELm9yZyIKfCAjZGVmaW5lIFBBQ0tBR0VfVVJMICIiCnwgI2Rl
 ZmluZSBTVERDX0hFQURFUlMgMQp8ICNkZWZpbmUgVElNRV9XSVRIX1NZU19USU1FIDEKfCAjZGVm
 aW5lIEhBVkVfU1lTX1RZUEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfU1RBVF9IIDEKfCAjZGVm
 aW5lIEhBVkVfU1RETElCX0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJJTkdfSCAxCnwgI2RlZmluZSBI
 QVZFX01FTU9SWV9IIDEKfCAjZGVmaW5lIEhBVkVfU1RSSU5HU19IIDEKfCAjZGVmaW5lIEhBVkVf
 SU5UVFlQRVNfSCAxCnwgI2RlZmluZSBIQVZFX1NURElOVF9IIDEKfCAjZGVmaW5lIEhBVkVfVU5J
 U1REX0ggMQp8ICNkZWZpbmUgSEFWRV9fQk9PTCAxCnwgI2RlZmluZSBIQVZFX1NUREJPT0xfSCAx
 CnwgI2RlZmluZSBIQVZFX0FMTE9DQV9IIDEKfCAjZGVmaW5lIEhBVkVfQVNTRVJUX0ggMQp8ICNk
 ZWZpbmUgSEFWRV9DVFlQRV9IIDEKfCAjZGVmaW5lIEhBVkVfRElSRU5UX0ggMQp8ICNkZWZpbmUg
 SEFWRV9FTkRJQU5fSCAxCnwgI2RlZmluZSBIQVZFX0VSUl9IIDEKfCAjZGVmaW5lIEhBVkVfRVJS
 Tk9fSCAxCnwgI2RlZmluZSBIQVZFX0ZDTlRMX0ggMQp8ICNkZWZpbmUgSEFWRV9GTk1BVENIX0gg
 MQp8ICNkZWZpbmUgSEFWRV9GVFNfSCAxCnwgI2RlZmluZSBIQVZFX0dSUF9IIDEKfCAjZGVmaW5l
 IEhBVkVfSU5UVFlQRVNfSCAxCnwgI2RlZmluZSBIQVZFX0xJQlVUSUxfSCAxCnwgI2RlZmluZSBI
 QVZFX0xJTUlUU19IIDEKfCAjZGVmaW5lIEhBVkVfTkVUREJfSCAxCnwgI2RlZmluZSBIQVZFX1BB
 VEhTX0ggMQp8ICNkZWZpbmUgSEFWRV9QV0RfSCAxCnwgI2RlZmluZSBIQVZFX1NJR05BTF9IIDEK
 fCAjZGVmaW5lIEhBVkVfU1REQVJHX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERERUZfSCAxCnwgI2Rl
 ZmluZSBIQVZFX1NURElOVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1RESU9fSCAxCnwgI2RlZmluZSBI
 QVZFX1NURExJQl9IIDEKfCAjZGVmaW5lIEhBVkVfU1RSSU5HX0ggMQp8ICNkZWZpbmUgSEFWRV9T
 WVNfQ0RFRlNfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19ESVJfSCAxCnwgI2RlZmluZSBIQVZFX1NZ
 U19GSUxFX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfUEFSQU1fSCAxCnwgI2RlZmluZSBIQVZFX1NZ
 U19TT0NLRVRfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19TVEFUX0ggMQp8ICNkZWZpbmUgSEFWRV9T
 WVNfU1RBVEZTX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfU1RBVFZGU19IIDEKfCAjZGVmaW5lIEhB
 VkVfU1lTX1RJTUVfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19UWVBFU19IIDEKfCAjZGVmaW5lIEhB
 VkVfU1lTX1VJT19IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1ZGU19IIDEKfCAjZGVmaW5lIEhBVkVf
 U1lTRVhJVFNfSCAxCnwgI2RlZmluZSBIQVZFX1RFUk1DQVBfSCAxCnwgI2RlZmluZSBIQVZFX1RJ
 TUVfSCAxCnwgI2RlZmluZSBIQVZFX1VOSVNURF9IIDEKfCAjZGVmaW5lIEhBVkVfVVRJTUVfSCAx
 CnwgI2RlZmluZSBIQVZFX1NZU19NT1VOVF9IIDEKfCAjZGVmaW5lIEhBVkVfR0xPQl9IIDEKfCAj
 ZGVmaW5lIEhBVkVfTkJDT01QQVRfR0xPQiAxCnwgI2RlZmluZSBIQVZFX1NZU19RVUVVRV9IIDEK
 fCAjZGVmaW5lIEhBVkVfTkJDT01QQVRfUVVFVUUgMQp8ICNkZWZpbmUgSEFWRV9SRUdFWF9IIDEK
 fCAjZGVmaW5lIEhBVkVfTkJDT01QQVRfTUQ1IDEKfCAjZGVmaW5lIEhBVkVfTkJDT01QQVRfUk1E
 MTYwIDEKfCAjZGVmaW5lIEhBVkVfTkJDT01QQVRfU0hBMSAxCnwgI2RlZmluZSBIQVZFX05CQ09N
 UEFUX1NIQTIgMQp8ICNkZWZpbmUgSEFWRV9ERUNMX09QVEFSRyAxCnwgI2RlZmluZSBIQVZFX0RF
 Q0xfT1BUSU5EIDEKfCAjZGVmaW5lIEhBVkVfREVDTF9PUFRSRVNFVCAwCnwgI2RlZmluZSBIQVZF
 X0dFVE9QVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1RSVUNUX09QVElPTiAxCnwgI2RlZmluZSBIQVZF
 X1ZJU19IIDEKfCAvKiBlbmQgY29uZmRlZnMuaC4gICovCnwgLyogRGVmaW5lIHVudmlzIHRvIGFu
 IGlubm9jdW91cyB2YXJpYW50LCBpbiBjYXNlIDxsaW1pdHMuaD4gZGVjbGFyZXMgdW52aXMuCnwg
 ICAgRm9yIGV4YW1wbGUsIEhQLVVYIDExaSA8bGltaXRzLmg+IGRlY2xhcmVzIGdldHRpbWVvZmRh
 eS4gICovCnwgI2RlZmluZSB1bnZpcyBpbm5vY3VvdXNfdW52aXMKfCAKfCAvKiBTeXN0ZW0gaGVh
 ZGVyIHRvIGRlZmluZSBfX3N0dWIgbWFjcm9zIGFuZCBob3BlZnVsbHkgZmV3IHByb3RvdHlwZXMs
 CnwgICAgIHdoaWNoIGNhbiBjb25mbGljdCB3aXRoIGNoYXIgdW52aXMgKCk7IGJlbG93Lgp8ICAg
 ICBQcmVmZXIgPGxpbWl0cy5oPiB0byA8YXNzZXJ0Lmg+IGlmIF9fU1REQ19fIGlzIGRlZmluZWQs
 IHNpbmNlCnwgICAgIDxsaW1pdHMuaD4gZXhpc3RzIGV2ZW4gb24gZnJlZXN0YW5kaW5nIGNvbXBp
 bGVycy4gICovCnwgCnwgI2lmZGVmIF9fU1REQ19fCnwgIyBpbmNsdWRlIDxsaW1pdHMuaD4KfCAj
 ZWxzZQp8ICMgaW5jbHVkZSA8YXNzZXJ0Lmg+CnwgI2VuZGlmCnwgCnwgI3VuZGVmIHVudmlzCnwg
 CnwgLyogT3ZlcnJpZGUgYW55IEdDQyBpbnRlcm5hbCBwcm90b3R5cGUgdG8gYXZvaWQgYW4gZXJy
 b3IuCnwgICAgVXNlIGNoYXIgYmVjYXVzZSBpbnQgbWlnaHQgbWF0Y2ggdGhlIHJldHVybiB0eXBl
 IG9mIGEgR0NDCnwgICAgYnVpbHRpbiBhbmQgdGhlbiBpdHMgYXJndW1lbnQgcHJvdG90eXBlIHdv
 dWxkIHN0aWxsIGFwcGx5LiAgKi8KfCAjaWZkZWYgX19jcGx1c3BsdXMKfCBleHRlcm4gIkMiCnwg
 I2VuZGlmCnwgY2hhciB1bnZpcyAoKTsKfCAvKiBUaGUgR05VIEMgbGlicmFyeSBkZWZpbmVzIHRo
 aXMgZm9yIGZ1bmN0aW9ucyB3aGljaCBpdCBpbXBsZW1lbnRzCnwgICAgIHRvIGFsd2F5cyBmYWls
 IHdpdGggRU5PU1lTLiAgU29tZSBmdW5jdGlvbnMgYXJlIGFjdHVhbGx5IG5hbWVkCnwgICAgIHNv
 bWV0aGluZyBzdGFydGluZyB3aXRoIF9fIGFuZCB0aGUgbm9ybWFsIG5hbWUgaXMgYW4gYWxpYXMu
 ICAqLwp8ICNpZiBkZWZpbmVkIF9fc3R1Yl91bnZpcyB8fCBkZWZpbmVkIF9fc3R1Yl9fX3Vudmlz
 CnwgY2hva2UgbWUKfCAjZW5kaWYKfCAKfCBpbnQKfCBtYWluICgpCnwgewp8IHJldHVybiB1bnZp
 cyAoKTsKfCAgIDsKfCAgIHJldHVybiAwOwp8IH0KY29uZmlndXJlOjQ4NTA6IHJlc3VsdDogbm8K
 Y29uZmlndXJlOjQ4NTA6IGNoZWNraW5nIGZvciB2aXMKY29uZmlndXJlOjQ4NTA6IGdjYyAtbyBj
 b25mdGVzdCAtZyAtTzIgICBjb25mdGVzdC5jICA+JjUKL3RtcC9jY1hHVWZvdS5vOiBJbiBmdW5j
 dGlvbiBgbWFpbic6Ci9tZWRpYS9zZGIyL3NyYy9wa2dzcmMvYm9vdHN0cmFwL3dvcmsvbGlibmJj
 b21wYXQvY29uZnRlc3QuYzoxMTM6IHVuZGVmaW5lZCByZWZlcmVuY2UgdG8gYHZpcycKY29sbGVj
 dDI6IGxkIHJldHVybmVkIDEgZXhpdCBzdGF0dXMKY29uZmlndXJlOjQ4NTA6ICQ/ID0gMQpjb25m
 aWd1cmU6IGZhaWxlZCBwcm9ncmFtIHdhczoKfCAvKiBjb25mZGVmcy5oICovCnwgI2RlZmluZSBQ
 QUNLQUdFX05BTUUgImxpYm5iY29tcGF0Igp8ICNkZWZpbmUgUEFDS0FHRV9UQVJOQU1FICJsaWJu
 YmNvbXBhdCIKfCAjZGVmaW5lIFBBQ0tBR0VfVkVSU0lPTiAiMjAwODA2MDUiCnwgI2RlZmluZSBQ
 QUNLQUdFX1NUUklORyAibGlibmJjb21wYXQgMjAwODA2MDUiCnwgI2RlZmluZSBQQUNLQUdFX0JV
 R1JFUE9SVCAiZ3JhbnRATmV0QlNELm9yZyIKfCAjZGVmaW5lIFBBQ0tBR0VfVVJMICIiCnwgI2Rl
 ZmluZSBTVERDX0hFQURFUlMgMQp8ICNkZWZpbmUgVElNRV9XSVRIX1NZU19USU1FIDEKfCAjZGVm
 aW5lIEhBVkVfU1lTX1RZUEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfU1RBVF9IIDEKfCAjZGVm
 aW5lIEhBVkVfU1RETElCX0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJJTkdfSCAxCnwgI2RlZmluZSBI
 QVZFX01FTU9SWV9IIDEKfCAjZGVmaW5lIEhBVkVfU1RSSU5HU19IIDEKfCAjZGVmaW5lIEhBVkVf
 SU5UVFlQRVNfSCAxCnwgI2RlZmluZSBIQVZFX1NURElOVF9IIDEKfCAjZGVmaW5lIEhBVkVfVU5J
 U1REX0ggMQp8ICNkZWZpbmUgSEFWRV9fQk9PTCAxCnwgI2RlZmluZSBIQVZFX1NUREJPT0xfSCAx
 CnwgI2RlZmluZSBIQVZFX0FMTE9DQV9IIDEKfCAjZGVmaW5lIEhBVkVfQVNTRVJUX0ggMQp8ICNk
 ZWZpbmUgSEFWRV9DVFlQRV9IIDEKfCAjZGVmaW5lIEhBVkVfRElSRU5UX0ggMQp8ICNkZWZpbmUg
 SEFWRV9FTkRJQU5fSCAxCnwgI2RlZmluZSBIQVZFX0VSUl9IIDEKfCAjZGVmaW5lIEhBVkVfRVJS
 Tk9fSCAxCnwgI2RlZmluZSBIQVZFX0ZDTlRMX0ggMQp8ICNkZWZpbmUgSEFWRV9GTk1BVENIX0gg
 MQp8ICNkZWZpbmUgSEFWRV9GVFNfSCAxCnwgI2RlZmluZSBIQVZFX0dSUF9IIDEKfCAjZGVmaW5l
 IEhBVkVfSU5UVFlQRVNfSCAxCnwgI2RlZmluZSBIQVZFX0xJQlVUSUxfSCAxCnwgI2RlZmluZSBI
 QVZFX0xJTUlUU19IIDEKfCAjZGVmaW5lIEhBVkVfTkVUREJfSCAxCnwgI2RlZmluZSBIQVZFX1BB
 VEhTX0ggMQp8ICNkZWZpbmUgSEFWRV9QV0RfSCAxCnwgI2RlZmluZSBIQVZFX1NJR05BTF9IIDEK
 fCAjZGVmaW5lIEhBVkVfU1REQVJHX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERERUZfSCAxCnwgI2Rl
 ZmluZSBIQVZFX1NURElOVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1RESU9fSCAxCnwgI2RlZmluZSBI
 QVZFX1NURExJQl9IIDEKfCAjZGVmaW5lIEhBVkVfU1RSSU5HX0ggMQp8ICNkZWZpbmUgSEFWRV9T
 WVNfQ0RFRlNfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19ESVJfSCAxCnwgI2RlZmluZSBIQVZFX1NZ
 U19GSUxFX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfUEFSQU1fSCAxCnwgI2RlZmluZSBIQVZFX1NZ
 U19TT0NLRVRfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19TVEFUX0ggMQp8ICNkZWZpbmUgSEFWRV9T
 WVNfU1RBVEZTX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfU1RBVFZGU19IIDEKfCAjZGVmaW5lIEhB
 VkVfU1lTX1RJTUVfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19UWVBFU19IIDEKfCAjZGVmaW5lIEhB
 VkVfU1lTX1VJT19IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1ZGU19IIDEKfCAjZGVmaW5lIEhBVkVf
 U1lTRVhJVFNfSCAxCnwgI2RlZmluZSBIQVZFX1RFUk1DQVBfSCAxCnwgI2RlZmluZSBIQVZFX1RJ
 TUVfSCAxCnwgI2RlZmluZSBIQVZFX1VOSVNURF9IIDEKfCAjZGVmaW5lIEhBVkVfVVRJTUVfSCAx
 CnwgI2RlZmluZSBIQVZFX1NZU19NT1VOVF9IIDEKfCAjZGVmaW5lIEhBVkVfR0xPQl9IIDEKfCAj
 ZGVmaW5lIEhBVkVfTkJDT01QQVRfR0xPQiAxCnwgI2RlZmluZSBIQVZFX1NZU19RVUVVRV9IIDEK
 fCAjZGVmaW5lIEhBVkVfTkJDT01QQVRfUVVFVUUgMQp8ICNkZWZpbmUgSEFWRV9SRUdFWF9IIDEK
 fCAjZGVmaW5lIEhBVkVfTkJDT01QQVRfTUQ1IDEKfCAjZGVmaW5lIEhBVkVfTkJDT01QQVRfUk1E
 MTYwIDEKfCAjZGVmaW5lIEhBVkVfTkJDT01QQVRfU0hBMSAxCnwgI2RlZmluZSBIQVZFX05CQ09N
 UEFUX1NIQTIgMQp8ICNkZWZpbmUgSEFWRV9ERUNMX09QVEFSRyAxCnwgI2RlZmluZSBIQVZFX0RF
 Q0xfT1BUSU5EIDEKfCAjZGVmaW5lIEhBVkVfREVDTF9PUFRSRVNFVCAwCnwgI2RlZmluZSBIQVZF
 X0dFVE9QVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1RSVUNUX09QVElPTiAxCnwgI2RlZmluZSBIQVZF
 X1ZJU19IIDEKfCAvKiBlbmQgY29uZmRlZnMuaC4gICovCnwgLyogRGVmaW5lIHZpcyB0byBhbiBp
 bm5vY3VvdXMgdmFyaWFudCwgaW4gY2FzZSA8bGltaXRzLmg+IGRlY2xhcmVzIHZpcy4KfCAgICBG
 b3IgZXhhbXBsZSwgSFAtVVggMTFpIDxsaW1pdHMuaD4gZGVjbGFyZXMgZ2V0dGltZW9mZGF5LiAg
 Ki8KfCAjZGVmaW5lIHZpcyBpbm5vY3VvdXNfdmlzCnwgCnwgLyogU3lzdGVtIGhlYWRlciB0byBk
 ZWZpbmUgX19zdHViIG1hY3JvcyBhbmQgaG9wZWZ1bGx5IGZldyBwcm90b3R5cGVzLAp8ICAgICB3
 aGljaCBjYW4gY29uZmxpY3Qgd2l0aCBjaGFyIHZpcyAoKTsgYmVsb3cuCnwgICAgIFByZWZlciA8
 bGltaXRzLmg+IHRvIDxhc3NlcnQuaD4gaWYgX19TVERDX18gaXMgZGVmaW5lZCwgc2luY2UKfCAg
 ICAgPGxpbWl0cy5oPiBleGlzdHMgZXZlbiBvbiBmcmVlc3RhbmRpbmcgY29tcGlsZXJzLiAgKi8K
 fCAKfCAjaWZkZWYgX19TVERDX18KfCAjIGluY2x1ZGUgPGxpbWl0cy5oPgp8ICNlbHNlCnwgIyBp
 bmNsdWRlIDxhc3NlcnQuaD4KfCAjZW5kaWYKfCAKfCAjdW5kZWYgdmlzCnwgCnwgLyogT3ZlcnJp
 ZGUgYW55IEdDQyBpbnRlcm5hbCBwcm90b3R5cGUgdG8gYXZvaWQgYW4gZXJyb3IuCnwgICAgVXNl
 IGNoYXIgYmVjYXVzZSBpbnQgbWlnaHQgbWF0Y2ggdGhlIHJldHVybiB0eXBlIG9mIGEgR0NDCnwg
 ICAgYnVpbHRpbiBhbmQgdGhlbiBpdHMgYXJndW1lbnQgcHJvdG90eXBlIHdvdWxkIHN0aWxsIGFw
 cGx5LiAgKi8KfCAjaWZkZWYgX19jcGx1c3BsdXMKfCBleHRlcm4gIkMiCnwgI2VuZGlmCnwgY2hh
 ciB2aXMgKCk7CnwgLyogVGhlIEdOVSBDIGxpYnJhcnkgZGVmaW5lcyB0aGlzIGZvciBmdW5jdGlv
 bnMgd2hpY2ggaXQgaW1wbGVtZW50cwp8ICAgICB0byBhbHdheXMgZmFpbCB3aXRoIEVOT1NZUy4g
 IFNvbWUgZnVuY3Rpb25zIGFyZSBhY3R1YWxseSBuYW1lZAp8ICAgICBzb21ldGhpbmcgc3RhcnRp
 bmcgd2l0aCBfXyBhbmQgdGhlIG5vcm1hbCBuYW1lIGlzIGFuIGFsaWFzLiAgKi8KfCAjaWYgZGVm
 aW5lZCBfX3N0dWJfdmlzIHx8IGRlZmluZWQgX19zdHViX19fdmlzCnwgY2hva2UgbWUKfCAjZW5k
 aWYKfCAKfCBpbnQKfCBtYWluICgpCnwgewp8IHJldHVybiB2aXMgKCk7CnwgICA7CnwgICByZXR1
 cm4gMDsKfCB9CmNvbmZpZ3VyZTo0ODUwOiByZXN1bHQ6IG5vCmNvbmZpZ3VyZTo0ODYyOiBjaGVj
 a2luZyBmb3Igc3RydW52aXMKY29uZmlndXJlOjQ4NjI6IHJlc3VsdDogbm8KY29uZmlndXJlOjQ5
 MDQ6IGNoZWNraW5nIGZvciBfX2F0dHJpYnV0ZV9fCmNvbmZpZ3VyZTo0OTIyOiBnY2MgLWMgLWcg
 LU8yICBjb25mdGVzdC5jID4mNQpjb25maWd1cmU6NDkyMjogJD8gPSAwCmNvbmZpZ3VyZTo0OTM1
 OiByZXN1bHQ6IHllcwpjb25maWd1cmU6NDkzODogY2hlY2tpbmcgZm9yIHNpemVfdApjb25maWd1
 cmU6NDkzODogZ2NjIC1jIC1nIC1PMiAgY29uZnRlc3QuYyA+JjUKY29uZmlndXJlOjQ5Mzg6ICQ/
 ID0gMApjb25maWd1cmU6NDkzODogZ2NjIC1jIC1nIC1PMiAgY29uZnRlc3QuYyA+JjUKY29uZnRl
 c3QuYzogSW4gZnVuY3Rpb24gJ21haW4nOgpjb25mdGVzdC5jOjExNzoyMTogZXJyb3I6IGV4cGVj
 dGVkIGV4cHJlc3Npb24gYmVmb3JlICcpJyB0b2tlbgpjb25maWd1cmU6NDkzODogJD8gPSAxCmNv
 bmZpZ3VyZTogZmFpbGVkIHByb2dyYW0gd2FzOgp8IC8qIGNvbmZkZWZzLmggKi8KfCAjZGVmaW5l
 IFBBQ0tBR0VfTkFNRSAibGlibmJjb21wYXQiCnwgI2RlZmluZSBQQUNLQUdFX1RBUk5BTUUgImxp
 Ym5iY29tcGF0Igp8ICNkZWZpbmUgUEFDS0FHRV9WRVJTSU9OICIyMDA4MDYwNSIKfCAjZGVmaW5l
 IFBBQ0tBR0VfU1RSSU5HICJsaWJuYmNvbXBhdCAyMDA4MDYwNSIKfCAjZGVmaW5lIFBBQ0tBR0Vf
 QlVHUkVQT1JUICJncmFudEBOZXRCU0Qub3JnIgp8ICNkZWZpbmUgUEFDS0FHRV9VUkwgIiIKfCAj
 ZGVmaW5lIFNURENfSEVBREVSUyAxCnwgI2RlZmluZSBUSU1FX1dJVEhfU1lTX1RJTUUgMQp8ICNk
 ZWZpbmUgSEFWRV9TWVNfVFlQRVNfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19TVEFUX0ggMQp8ICNk
 ZWZpbmUgSEFWRV9TVERMSUJfSCAxCnwgI2RlZmluZSBIQVZFX1NUUklOR19IIDEKfCAjZGVmaW5l
 IEhBVkVfTUVNT1JZX0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJJTkdTX0ggMQp8ICNkZWZpbmUgSEFW
 RV9JTlRUWVBFU19IIDEKfCAjZGVmaW5lIEhBVkVfU1RESU5UX0ggMQp8ICNkZWZpbmUgSEFWRV9V
 TklTVERfSCAxCnwgI2RlZmluZSBIQVZFX19CT09MIDEKfCAjZGVmaW5lIEhBVkVfU1REQk9PTF9I
 IDEKfCAjZGVmaW5lIEhBVkVfQUxMT0NBX0ggMQp8ICNkZWZpbmUgSEFWRV9BU1NFUlRfSCAxCnwg
 I2RlZmluZSBIQVZFX0NUWVBFX0ggMQp8ICNkZWZpbmUgSEFWRV9ESVJFTlRfSCAxCnwgI2RlZmlu
 ZSBIQVZFX0VORElBTl9IIDEKfCAjZGVmaW5lIEhBVkVfRVJSX0ggMQp8ICNkZWZpbmUgSEFWRV9F
 UlJOT19IIDEKfCAjZGVmaW5lIEhBVkVfRkNOVExfSCAxCnwgI2RlZmluZSBIQVZFX0ZOTUFUQ0hf
 SCAxCnwgI2RlZmluZSBIQVZFX0ZUU19IIDEKfCAjZGVmaW5lIEhBVkVfR1JQX0ggMQp8ICNkZWZp
 bmUgSEFWRV9JTlRUWVBFU19IIDEKfCAjZGVmaW5lIEhBVkVfTElCVVRJTF9IIDEKfCAjZGVmaW5l
 IEhBVkVfTElNSVRTX0ggMQp8ICNkZWZpbmUgSEFWRV9ORVREQl9IIDEKfCAjZGVmaW5lIEhBVkVf
 UEFUSFNfSCAxCnwgI2RlZmluZSBIQVZFX1BXRF9IIDEKfCAjZGVmaW5lIEhBVkVfU0lHTkFMX0gg
 MQp8ICNkZWZpbmUgSEFWRV9TVERBUkdfSCAxCnwgI2RlZmluZSBIQVZFX1NURERFRl9IIDEKfCAj
 ZGVmaW5lIEhBVkVfU1RESU5UX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERJT19IIDEKfCAjZGVmaW5l
 IEhBVkVfU1RETElCX0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJJTkdfSCAxCnwgI2RlZmluZSBIQVZF
 X1NZU19DREVGU19IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX0RJUl9IIDEKfCAjZGVmaW5lIEhBVkVf
 U1lTX0ZJTEVfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19QQVJBTV9IIDEKfCAjZGVmaW5lIEhBVkVf
 U1lTX1NPQ0tFVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NUQVRfSCAxCnwgI2RlZmluZSBIQVZF
 X1NZU19TVEFURlNfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19TVEFUVkZTX0ggMQp8ICNkZWZpbmUg
 SEFWRV9TWVNfVElNRV9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1RZUEVTX0ggMQp8ICNkZWZpbmUg
 SEFWRV9TWVNfVUlPX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfVkZTX0ggMQp8ICNkZWZpbmUgSEFW
 RV9TWVNFWElUU19IIDEKfCAjZGVmaW5lIEhBVkVfVEVSTUNBUF9IIDEKfCAjZGVmaW5lIEhBVkVf
 VElNRV9IIDEKfCAjZGVmaW5lIEhBVkVfVU5JU1REX0ggMQp8ICNkZWZpbmUgSEFWRV9VVElNRV9I
 IDEKfCAjZGVmaW5lIEhBVkVfU1lTX01PVU5UX0ggMQp8ICNkZWZpbmUgSEFWRV9HTE9CX0ggMQp8
 ICNkZWZpbmUgSEFWRV9OQkNPTVBBVF9HTE9CIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1FVRVVFX0gg
 MQp8ICNkZWZpbmUgSEFWRV9OQkNPTVBBVF9RVUVVRSAxCnwgI2RlZmluZSBIQVZFX1JFR0VYX0gg
 MQp8ICNkZWZpbmUgSEFWRV9OQkNPTVBBVF9NRDUgMQp8ICNkZWZpbmUgSEFWRV9OQkNPTVBBVF9S
 TUQxNjAgMQp8ICNkZWZpbmUgSEFWRV9OQkNPTVBBVF9TSEExIDEKfCAjZGVmaW5lIEhBVkVfTkJD
 T01QQVRfU0hBMiAxCnwgI2RlZmluZSBIQVZFX0RFQ0xfT1BUQVJHIDEKfCAjZGVmaW5lIEhBVkVf
 REVDTF9PUFRJTkQgMQp8ICNkZWZpbmUgSEFWRV9ERUNMX09QVFJFU0VUIDAKfCAjZGVmaW5lIEhB
 VkVfR0VUT1BUX0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJVQ1RfT1BUSU9OIDEKfCAjZGVmaW5lIEhB
 VkVfVklTX0ggMQp8ICNkZWZpbmUgSEFWRV9OQkNPTVBBVF9WSVMgMQp8ICNkZWZpbmUgSEFWRV9f
 X0FUVFJJQlVURV9fIDEKfCAvKiBlbmQgY29uZmRlZnMuaC4gICovCnwgI2luY2x1ZGUgPHN0ZGlv
 Lmg+CnwgI2lmZGVmIEhBVkVfU1lTX1RZUEVTX0gKfCAjIGluY2x1ZGUgPHN5cy90eXBlcy5oPgp8
 ICNlbmRpZgp8ICNpZmRlZiBIQVZFX1NZU19TVEFUX0gKfCAjIGluY2x1ZGUgPHN5cy9zdGF0Lmg+
 CnwgI2VuZGlmCnwgI2lmZGVmIFNURENfSEVBREVSUwp8ICMgaW5jbHVkZSA8c3RkbGliLmg+Cnwg
 IyBpbmNsdWRlIDxzdGRkZWYuaD4KfCAjZWxzZQp8ICMgaWZkZWYgSEFWRV9TVERMSUJfSAp8ICMg
 IGluY2x1ZGUgPHN0ZGxpYi5oPgp8ICMgZW5kaWYKfCAjZW5kaWYKfCAjaWZkZWYgSEFWRV9TVFJJ
 TkdfSAp8ICMgaWYgIWRlZmluZWQgU1REQ19IRUFERVJTICYmIGRlZmluZWQgSEFWRV9NRU1PUllf
 SAp8ICMgIGluY2x1ZGUgPG1lbW9yeS5oPgp8ICMgZW5kaWYKfCAjIGluY2x1ZGUgPHN0cmluZy5o
 Pgp8ICNlbmRpZgp8ICNpZmRlZiBIQVZFX1NUUklOR1NfSAp8ICMgaW5jbHVkZSA8c3RyaW5ncy5o
 Pgp8ICNlbmRpZgp8ICNpZmRlZiBIQVZFX0lOVFRZUEVTX0gKfCAjIGluY2x1ZGUgPGludHR5cGVz
 Lmg+CnwgI2VuZGlmCnwgI2lmZGVmIEhBVkVfU1RESU5UX0gKfCAjIGluY2x1ZGUgPHN0ZGludC5o
 Pgp8ICNlbmRpZgp8ICNpZmRlZiBIQVZFX1VOSVNURF9ICnwgIyBpbmNsdWRlIDx1bmlzdGQuaD4K
 fCAjZW5kaWYKfCBpbnQKfCBtYWluICgpCnwgewp8IGlmIChzaXplb2YgKChzaXplX3QpKSkKfCAJ
 ICAgIHJldHVybiAwOwp8ICAgOwp8ICAgcmV0dXJuIDA7CnwgfQpjb25maWd1cmU6NDkzODogcmVz
 dWx0OiB5ZXMKY29uZmlndXJlOjQ5NTA6IGNoZWNraW5nIGZvciB1aW50cHRyX3QKY29uZmlndXJl
 OjQ5NTA6IGdjYyAtYyAtZyAtTzIgIGNvbmZ0ZXN0LmMgPiY1CmNvbmZpZ3VyZTo0OTUwOiAkPyA9
 IDAKY29uZmlndXJlOjQ5NTA6IGdjYyAtYyAtZyAtTzIgIGNvbmZ0ZXN0LmMgPiY1CmNvbmZ0ZXN0
 LmM6IEluIGZ1bmN0aW9uICdtYWluJzoKY29uZnRlc3QuYzoxMTc6MjQ6IGVycm9yOiBleHBlY3Rl
 ZCBleHByZXNzaW9uIGJlZm9yZSAnKScgdG9rZW4KY29uZmlndXJlOjQ5NTA6ICQ/ID0gMQpjb25m
 aWd1cmU6IGZhaWxlZCBwcm9ncmFtIHdhczoKfCAvKiBjb25mZGVmcy5oICovCnwgI2RlZmluZSBQ
 QUNLQUdFX05BTUUgImxpYm5iY29tcGF0Igp8ICNkZWZpbmUgUEFDS0FHRV9UQVJOQU1FICJsaWJu
 YmNvbXBhdCIKfCAjZGVmaW5lIFBBQ0tBR0VfVkVSU0lPTiAiMjAwODA2MDUiCnwgI2RlZmluZSBQ
 QUNLQUdFX1NUUklORyAibGlibmJjb21wYXQgMjAwODA2MDUiCnwgI2RlZmluZSBQQUNLQUdFX0JV
 R1JFUE9SVCAiZ3JhbnRATmV0QlNELm9yZyIKfCAjZGVmaW5lIFBBQ0tBR0VfVVJMICIiCnwgI2Rl
 ZmluZSBTVERDX0hFQURFUlMgMQp8ICNkZWZpbmUgVElNRV9XSVRIX1NZU19USU1FIDEKfCAjZGVm
 aW5lIEhBVkVfU1lTX1RZUEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfU1RBVF9IIDEKfCAjZGVm
 aW5lIEhBVkVfU1RETElCX0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJJTkdfSCAxCnwgI2RlZmluZSBI
 QVZFX01FTU9SWV9IIDEKfCAjZGVmaW5lIEhBVkVfU1RSSU5HU19IIDEKfCAjZGVmaW5lIEhBVkVf
 SU5UVFlQRVNfSCAxCnwgI2RlZmluZSBIQVZFX1NURElOVF9IIDEKfCAjZGVmaW5lIEhBVkVfVU5J
 U1REX0ggMQp8ICNkZWZpbmUgSEFWRV9fQk9PTCAxCnwgI2RlZmluZSBIQVZFX1NUREJPT0xfSCAx
 CnwgI2RlZmluZSBIQVZFX0FMTE9DQV9IIDEKfCAjZGVmaW5lIEhBVkVfQVNTRVJUX0ggMQp8ICNk
 ZWZpbmUgSEFWRV9DVFlQRV9IIDEKfCAjZGVmaW5lIEhBVkVfRElSRU5UX0ggMQp8ICNkZWZpbmUg
 SEFWRV9FTkRJQU5fSCAxCnwgI2RlZmluZSBIQVZFX0VSUl9IIDEKfCAjZGVmaW5lIEhBVkVfRVJS
 Tk9fSCAxCnwgI2RlZmluZSBIQVZFX0ZDTlRMX0ggMQp8ICNkZWZpbmUgSEFWRV9GTk1BVENIX0gg
 MQp8ICNkZWZpbmUgSEFWRV9GVFNfSCAxCnwgI2RlZmluZSBIQVZFX0dSUF9IIDEKfCAjZGVmaW5l
 IEhBVkVfSU5UVFlQRVNfSCAxCnwgI2RlZmluZSBIQVZFX0xJQlVUSUxfSCAxCnwgI2RlZmluZSBI
 QVZFX0xJTUlUU19IIDEKfCAjZGVmaW5lIEhBVkVfTkVUREJfSCAxCnwgI2RlZmluZSBIQVZFX1BB
 VEhTX0ggMQp8ICNkZWZpbmUgSEFWRV9QV0RfSCAxCnwgI2RlZmluZSBIQVZFX1NJR05BTF9IIDEK
 fCAjZGVmaW5lIEhBVkVfU1REQVJHX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERERUZfSCAxCnwgI2Rl
 ZmluZSBIQVZFX1NURElOVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1RESU9fSCAxCnwgI2RlZmluZSBI
 QVZFX1NURExJQl9IIDEKfCAjZGVmaW5lIEhBVkVfU1RSSU5HX0ggMQp8ICNkZWZpbmUgSEFWRV9T
 WVNfQ0RFRlNfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19ESVJfSCAxCnwgI2RlZmluZSBIQVZFX1NZ
 U19GSUxFX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfUEFSQU1fSCAxCnwgI2RlZmluZSBIQVZFX1NZ
 U19TT0NLRVRfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19TVEFUX0ggMQp8ICNkZWZpbmUgSEFWRV9T
 WVNfU1RBVEZTX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfU1RBVFZGU19IIDEKfCAjZGVmaW5lIEhB
 VkVfU1lTX1RJTUVfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19UWVBFU19IIDEKfCAjZGVmaW5lIEhB
 VkVfU1lTX1VJT19IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1ZGU19IIDEKfCAjZGVmaW5lIEhBVkVf
 U1lTRVhJVFNfSCAxCnwgI2RlZmluZSBIQVZFX1RFUk1DQVBfSCAxCnwgI2RlZmluZSBIQVZFX1RJ
 TUVfSCAxCnwgI2RlZmluZSBIQVZFX1VOSVNURF9IIDEKfCAjZGVmaW5lIEhBVkVfVVRJTUVfSCAx
 CnwgI2RlZmluZSBIQVZFX1NZU19NT1VOVF9IIDEKfCAjZGVmaW5lIEhBVkVfR0xPQl9IIDEKfCAj
 ZGVmaW5lIEhBVkVfTkJDT01QQVRfR0xPQiAxCnwgI2RlZmluZSBIQVZFX1NZU19RVUVVRV9IIDEK
 fCAjZGVmaW5lIEhBVkVfTkJDT01QQVRfUVVFVUUgMQp8ICNkZWZpbmUgSEFWRV9SRUdFWF9IIDEK
 fCAjZGVmaW5lIEhBVkVfTkJDT01QQVRfTUQ1IDEKfCAjZGVmaW5lIEhBVkVfTkJDT01QQVRfUk1E
 MTYwIDEKfCAjZGVmaW5lIEhBVkVfTkJDT01QQVRfU0hBMSAxCnwgI2RlZmluZSBIQVZFX05CQ09N
 UEFUX1NIQTIgMQp8ICNkZWZpbmUgSEFWRV9ERUNMX09QVEFSRyAxCnwgI2RlZmluZSBIQVZFX0RF
 Q0xfT1BUSU5EIDEKfCAjZGVmaW5lIEhBVkVfREVDTF9PUFRSRVNFVCAwCnwgI2RlZmluZSBIQVZF
 X0dFVE9QVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1RSVUNUX09QVElPTiAxCnwgI2RlZmluZSBIQVZF
 X1ZJU19IIDEKfCAjZGVmaW5lIEhBVkVfTkJDT01QQVRfVklTIDEKfCAjZGVmaW5lIEhBVkVfX19B
 VFRSSUJVVEVfXyAxCnwgLyogZW5kIGNvbmZkZWZzLmguICAqLwp8ICNpbmNsdWRlIDxzdGRpby5o
 Pgp8ICNpZmRlZiBIQVZFX1NZU19UWVBFU19ICnwgIyBpbmNsdWRlIDxzeXMvdHlwZXMuaD4KfCAj
 ZW5kaWYKfCAjaWZkZWYgSEFWRV9TWVNfU1RBVF9ICnwgIyBpbmNsdWRlIDxzeXMvc3RhdC5oPgp8
 ICNlbmRpZgp8ICNpZmRlZiBTVERDX0hFQURFUlMKfCAjIGluY2x1ZGUgPHN0ZGxpYi5oPgp8ICMg
 aW5jbHVkZSA8c3RkZGVmLmg+CnwgI2Vsc2UKfCAjIGlmZGVmIEhBVkVfU1RETElCX0gKfCAjICBp
 bmNsdWRlIDxzdGRsaWIuaD4KfCAjIGVuZGlmCnwgI2VuZGlmCnwgI2lmZGVmIEhBVkVfU1RSSU5H
 X0gKfCAjIGlmICFkZWZpbmVkIFNURENfSEVBREVSUyAmJiBkZWZpbmVkIEhBVkVfTUVNT1JZX0gK
 fCAjICBpbmNsdWRlIDxtZW1vcnkuaD4KfCAjIGVuZGlmCnwgIyBpbmNsdWRlIDxzdHJpbmcuaD4K
 fCAjZW5kaWYKfCAjaWZkZWYgSEFWRV9TVFJJTkdTX0gKfCAjIGluY2x1ZGUgPHN0cmluZ3MuaD4K
 fCAjZW5kaWYKfCAjaWZkZWYgSEFWRV9JTlRUWVBFU19ICnwgIyBpbmNsdWRlIDxpbnR0eXBlcy5o
 Pgp8ICNlbmRpZgp8ICNpZmRlZiBIQVZFX1NURElOVF9ICnwgIyBpbmNsdWRlIDxzdGRpbnQuaD4K
 fCAjZW5kaWYKfCAjaWZkZWYgSEFWRV9VTklTVERfSAp8ICMgaW5jbHVkZSA8dW5pc3RkLmg+Cnwg
 I2VuZGlmCnwgaW50CnwgbWFpbiAoKQp8IHsKfCBpZiAoc2l6ZW9mICgodWludHB0cl90KSkpCnwg
 CSAgICByZXR1cm4gMDsKfCAgIDsKfCAgIHJldHVybiAwOwp8IH0KY29uZmlndXJlOjQ5NTA6IHJl
 c3VsdDogeWVzCmNvbmZpZ3VyZTo0OTg1OiBjaGVja2luZyBmb3IgaW50OF90CmNvbmZpZ3VyZTo0
 OTg1OiBnY2MgLWMgLWcgLU8yICBjb25mdGVzdC5jID4mNQpjb25maWd1cmU6NDk4NTogJD8gPSAw
 CmNvbmZpZ3VyZTo0OTg1OiBnY2MgLWMgLWcgLU8yICBjb25mdGVzdC5jID4mNQpjb25mdGVzdC5j
 OiBJbiBmdW5jdGlvbiAnbWFpbic6CmNvbmZ0ZXN0LmM6MTE5OjEyOiBlcnJvcjogc2l6ZSBvZiBh
 cnJheSAndGVzdF9hcnJheScgaXMgbmVnYXRpdmUKY29uZmlndXJlOjQ5ODU6ICQ/ID0gMQpjb25m
 aWd1cmU6IGZhaWxlZCBwcm9ncmFtIHdhczoKfCAvKiBjb25mZGVmcy5oICovCnwgI2RlZmluZSBQ
 QUNLQUdFX05BTUUgImxpYm5iY29tcGF0Igp8ICNkZWZpbmUgUEFDS0FHRV9UQVJOQU1FICJsaWJu
 YmNvbXBhdCIKfCAjZGVmaW5lIFBBQ0tBR0VfVkVSU0lPTiAiMjAwODA2MDUiCnwgI2RlZmluZSBQ
 QUNLQUdFX1NUUklORyAibGlibmJjb21wYXQgMjAwODA2MDUiCnwgI2RlZmluZSBQQUNLQUdFX0JV
 R1JFUE9SVCAiZ3JhbnRATmV0QlNELm9yZyIKfCAjZGVmaW5lIFBBQ0tBR0VfVVJMICIiCnwgI2Rl
 ZmluZSBTVERDX0hFQURFUlMgMQp8ICNkZWZpbmUgVElNRV9XSVRIX1NZU19USU1FIDEKfCAjZGVm
 aW5lIEhBVkVfU1lTX1RZUEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfU1RBVF9IIDEKfCAjZGVm
 aW5lIEhBVkVfU1RETElCX0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJJTkdfSCAxCnwgI2RlZmluZSBI
 QVZFX01FTU9SWV9IIDEKfCAjZGVmaW5lIEhBVkVfU1RSSU5HU19IIDEKfCAjZGVmaW5lIEhBVkVf
 SU5UVFlQRVNfSCAxCnwgI2RlZmluZSBIQVZFX1NURElOVF9IIDEKfCAjZGVmaW5lIEhBVkVfVU5J
 U1REX0ggMQp8ICNkZWZpbmUgSEFWRV9fQk9PTCAxCnwgI2RlZmluZSBIQVZFX1NUREJPT0xfSCAx
 CnwgI2RlZmluZSBIQVZFX0FMTE9DQV9IIDEKfCAjZGVmaW5lIEhBVkVfQVNTRVJUX0ggMQp8ICNk
 ZWZpbmUgSEFWRV9DVFlQRV9IIDEKfCAjZGVmaW5lIEhBVkVfRElSRU5UX0ggMQp8ICNkZWZpbmUg
 SEFWRV9FTkRJQU5fSCAxCnwgI2RlZmluZSBIQVZFX0VSUl9IIDEKfCAjZGVmaW5lIEhBVkVfRVJS
 Tk9fSCAxCnwgI2RlZmluZSBIQVZFX0ZDTlRMX0ggMQp8ICNkZWZpbmUgSEFWRV9GTk1BVENIX0gg
 MQp8ICNkZWZpbmUgSEFWRV9GVFNfSCAxCnwgI2RlZmluZSBIQVZFX0dSUF9IIDEKfCAjZGVmaW5l
 IEhBVkVfSU5UVFlQRVNfSCAxCnwgI2RlZmluZSBIQVZFX0xJQlVUSUxfSCAxCnwgI2RlZmluZSBI
 QVZFX0xJTUlUU19IIDEKfCAjZGVmaW5lIEhBVkVfTkVUREJfSCAxCnwgI2RlZmluZSBIQVZFX1BB
 VEhTX0ggMQp8ICNkZWZpbmUgSEFWRV9QV0RfSCAxCnwgI2RlZmluZSBIQVZFX1NJR05BTF9IIDEK
 fCAjZGVmaW5lIEhBVkVfU1REQVJHX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERERUZfSCAxCnwgI2Rl
 ZmluZSBIQVZFX1NURElOVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1RESU9fSCAxCnwgI2RlZmluZSBI
 QVZFX1NURExJQl9IIDEKfCAjZGVmaW5lIEhBVkVfU1RSSU5HX0ggMQp8ICNkZWZpbmUgSEFWRV9T
 WVNfQ0RFRlNfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19ESVJfSCAxCnwgI2RlZmluZSBIQVZFX1NZ
 U19GSUxFX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfUEFSQU1fSCAxCnwgI2RlZmluZSBIQVZFX1NZ
 U19TT0NLRVRfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19TVEFUX0ggMQp8ICNkZWZpbmUgSEFWRV9T
 WVNfU1RBVEZTX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfU1RBVFZGU19IIDEKfCAjZGVmaW5lIEhB
 VkVfU1lTX1RJTUVfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19UWVBFU19IIDEKfCAjZGVmaW5lIEhB
 VkVfU1lTX1VJT19IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1ZGU19IIDEKfCAjZGVmaW5lIEhBVkVf
 U1lTRVhJVFNfSCAxCnwgI2RlZmluZSBIQVZFX1RFUk1DQVBfSCAxCnwgI2RlZmluZSBIQVZFX1RJ
 TUVfSCAxCnwgI2RlZmluZSBIQVZFX1VOSVNURF9IIDEKfCAjZGVmaW5lIEhBVkVfVVRJTUVfSCAx
 CnwgI2RlZmluZSBIQVZFX1NZU19NT1VOVF9IIDEKfCAjZGVmaW5lIEhBVkVfR0xPQl9IIDEKfCAj
 ZGVmaW5lIEhBVkVfTkJDT01QQVRfR0xPQiAxCnwgI2RlZmluZSBIQVZFX1NZU19RVUVVRV9IIDEK
 fCAjZGVmaW5lIEhBVkVfTkJDT01QQVRfUVVFVUUgMQp8ICNkZWZpbmUgSEFWRV9SRUdFWF9IIDEK
 fCAjZGVmaW5lIEhBVkVfTkJDT01QQVRfTUQ1IDEKfCAjZGVmaW5lIEhBVkVfTkJDT01QQVRfUk1E
 MTYwIDEKfCAjZGVmaW5lIEhBVkVfTkJDT01QQVRfU0hBMSAxCnwgI2RlZmluZSBIQVZFX05CQ09N
 UEFUX1NIQTIgMQp8ICNkZWZpbmUgSEFWRV9ERUNMX09QVEFSRyAxCnwgI2RlZmluZSBIQVZFX0RF
 Q0xfT1BUSU5EIDEKfCAjZGVmaW5lIEhBVkVfREVDTF9PUFRSRVNFVCAwCnwgI2RlZmluZSBIQVZF
 X0dFVE9QVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1RSVUNUX09QVElPTiAxCnwgI2RlZmluZSBIQVZF
 X1ZJU19IIDEKfCAjZGVmaW5lIEhBVkVfTkJDT01QQVRfVklTIDEKfCAjZGVmaW5lIEhBVkVfX19B
 VFRSSUJVVEVfXyAxCnwgI2RlZmluZSBIQVZFX1VJTlRQVFJfVCAxCnwgLyogZW5kIGNvbmZkZWZz
 LmguICAqLwp8ICNpbmNsdWRlIDxzdGRpby5oPgp8ICNpZmRlZiBIQVZFX1NZU19UWVBFU19ICnwg
 IyBpbmNsdWRlIDxzeXMvdHlwZXMuaD4KfCAjZW5kaWYKfCAjaWZkZWYgSEFWRV9TWVNfU1RBVF9I
 CnwgIyBpbmNsdWRlIDxzeXMvc3RhdC5oPgp8ICNlbmRpZgp8ICNpZmRlZiBTVERDX0hFQURFUlMK
 fCAjIGluY2x1ZGUgPHN0ZGxpYi5oPgp8ICMgaW5jbHVkZSA8c3RkZGVmLmg+CnwgI2Vsc2UKfCAj
 IGlmZGVmIEhBVkVfU1RETElCX0gKfCAjICBpbmNsdWRlIDxzdGRsaWIuaD4KfCAjIGVuZGlmCnwg
 I2VuZGlmCnwgI2lmZGVmIEhBVkVfU1RSSU5HX0gKfCAjIGlmICFkZWZpbmVkIFNURENfSEVBREVS
 UyAmJiBkZWZpbmVkIEhBVkVfTUVNT1JZX0gKfCAjICBpbmNsdWRlIDxtZW1vcnkuaD4KfCAjIGVu
 ZGlmCnwgIyBpbmNsdWRlIDxzdHJpbmcuaD4KfCAjZW5kaWYKfCAjaWZkZWYgSEFWRV9TVFJJTkdT
 X0gKfCAjIGluY2x1ZGUgPHN0cmluZ3MuaD4KfCAjZW5kaWYKfCAjaWZkZWYgSEFWRV9JTlRUWVBF
 U19ICnwgIyBpbmNsdWRlIDxpbnR0eXBlcy5oPgp8ICNlbmRpZgp8ICNpZmRlZiBIQVZFX1NURElO
 VF9ICnwgIyBpbmNsdWRlIDxzdGRpbnQuaD4KfCAjZW5kaWYKfCAjaWZkZWYgSEFWRV9VTklTVERf
 SAp8ICMgaW5jbHVkZSA8dW5pc3RkLmg+CnwgI2VuZGlmCnwgCSAgICAgICAgZW51bSB7IE4gPSA4
 IC8gMiAtIDEgfTsKfCBpbnQKfCBtYWluICgpCnwgewp8IHN0YXRpYyBpbnQgdGVzdF9hcnJheSBb
 MSAtIDIgKiAhKChpbnQ4X3QpICgoKCgoaW50OF90KSAxIDw8IE4pIDw8IE4pIC0gMSkgKiAyICsg
 MSkKfCAJCSA8IChpbnQ4X3QpICgoKCgoaW50OF90KSAxIDw8IE4pIDw8IE4pIC0gMSkgKiAyICsg
 MikpXTsKfCB0ZXN0X2FycmF5IFswXSA9IDAKfCAKfCAgIDsKfCAgIHJldHVybiAwOwp8IH0KY29u
 ZmlndXJlOjQ5ODU6IHJlc3VsdDogeWVzCmNvbmZpZ3VyZTo0OTk2OiBjaGVja2luZyBmb3IgaW50
 MTZfdApjb25maWd1cmU6NDk5NjogZ2NjIC1jIC1nIC1PMiAgY29uZnRlc3QuYyA+JjUKY29uZmln
 dXJlOjQ5OTY6ICQ/ID0gMApjb25maWd1cmU6NDk5NjogZ2NjIC1jIC1nIC1PMiAgY29uZnRlc3Qu
 YyA+JjUKY29uZnRlc3QuYzogSW4gZnVuY3Rpb24gJ21haW4nOgpjb25mdGVzdC5jOjExOToxMjog
 ZXJyb3I6IHNpemUgb2YgYXJyYXkgJ3Rlc3RfYXJyYXknIGlzIG5lZ2F0aXZlCmNvbmZpZ3VyZTo0
 OTk2OiAkPyA9IDEKY29uZmlndXJlOiBmYWlsZWQgcHJvZ3JhbSB3YXM6CnwgLyogY29uZmRlZnMu
 aCAqLwp8ICNkZWZpbmUgUEFDS0FHRV9OQU1FICJsaWJuYmNvbXBhdCIKfCAjZGVmaW5lIFBBQ0tB
 R0VfVEFSTkFNRSAibGlibmJjb21wYXQiCnwgI2RlZmluZSBQQUNLQUdFX1ZFUlNJT04gIjIwMDgw
 NjA1Igp8ICNkZWZpbmUgUEFDS0FHRV9TVFJJTkcgImxpYm5iY29tcGF0IDIwMDgwNjA1Igp8ICNk
 ZWZpbmUgUEFDS0FHRV9CVUdSRVBPUlQgImdyYW50QE5ldEJTRC5vcmciCnwgI2RlZmluZSBQQUNL
 QUdFX1VSTCAiIgp8ICNkZWZpbmUgU1REQ19IRUFERVJTIDEKfCAjZGVmaW5lIFRJTUVfV0lUSF9T
 WVNfVElNRSAxCnwgI2RlZmluZSBIQVZFX1NZU19UWVBFU19IIDEKfCAjZGVmaW5lIEhBVkVfU1lT
 X1NUQVRfSCAxCnwgI2RlZmluZSBIQVZFX1NURExJQl9IIDEKfCAjZGVmaW5lIEhBVkVfU1RSSU5H
 X0ggMQp8ICNkZWZpbmUgSEFWRV9NRU1PUllfSCAxCnwgI2RlZmluZSBIQVZFX1NUUklOR1NfSCAx
 CnwgI2RlZmluZSBIQVZFX0lOVFRZUEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERJTlRfSCAxCnwg
 I2RlZmluZSBIQVZFX1VOSVNURF9IIDEKfCAjZGVmaW5lIEhBVkVfX0JPT0wgMQp8ICNkZWZpbmUg
 SEFWRV9TVERCT09MX0ggMQp8ICNkZWZpbmUgSEFWRV9BTExPQ0FfSCAxCnwgI2RlZmluZSBIQVZF
 X0FTU0VSVF9IIDEKfCAjZGVmaW5lIEhBVkVfQ1RZUEVfSCAxCnwgI2RlZmluZSBIQVZFX0RJUkVO
 VF9IIDEKfCAjZGVmaW5lIEhBVkVfRU5ESUFOX0ggMQp8ICNkZWZpbmUgSEFWRV9FUlJfSCAxCnwg
 I2RlZmluZSBIQVZFX0VSUk5PX0ggMQp8ICNkZWZpbmUgSEFWRV9GQ05UTF9IIDEKfCAjZGVmaW5l
 IEhBVkVfRk5NQVRDSF9IIDEKfCAjZGVmaW5lIEhBVkVfRlRTX0ggMQp8ICNkZWZpbmUgSEFWRV9H
 UlBfSCAxCnwgI2RlZmluZSBIQVZFX0lOVFRZUEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9MSUJVVElM
 X0ggMQp8ICNkZWZpbmUgSEFWRV9MSU1JVFNfSCAxCnwgI2RlZmluZSBIQVZFX05FVERCX0ggMQp8
 ICNkZWZpbmUgSEFWRV9QQVRIU19IIDEKfCAjZGVmaW5lIEhBVkVfUFdEX0ggMQp8ICNkZWZpbmUg
 SEFWRV9TSUdOQUxfSCAxCnwgI2RlZmluZSBIQVZFX1NUREFSR19IIDEKfCAjZGVmaW5lIEhBVkVf
 U1REREVGX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERJTlRfSCAxCnwgI2RlZmluZSBIQVZFX1NURElP
 X0ggMQp8ICNkZWZpbmUgSEFWRV9TVERMSUJfSCAxCnwgI2RlZmluZSBIQVZFX1NUUklOR19IIDEK
 fCAjZGVmaW5lIEhBVkVfU1lTX0NERUZTX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfRElSX0ggMQp8
 ICNkZWZpbmUgSEFWRV9TWVNfRklMRV9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1BBUkFNX0ggMQp8
 ICNkZWZpbmUgSEFWRV9TWVNfU09DS0VUX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfU1RBVF9IIDEK
 fCAjZGVmaW5lIEhBVkVfU1lTX1NUQVRGU19IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NUQVRWRlNf
 SCAxCnwgI2RlZmluZSBIQVZFX1NZU19USU1FX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfVFlQRVNf
 SCAxCnwgI2RlZmluZSBIQVZFX1NZU19VSU9fSCAxCnwgI2RlZmluZSBIQVZFX1NZU19WRlNfSCAx
 CnwgI2RlZmluZSBIQVZFX1NZU0VYSVRTX0ggMQp8ICNkZWZpbmUgSEFWRV9URVJNQ0FQX0ggMQp8
 ICNkZWZpbmUgSEFWRV9USU1FX0ggMQp8ICNkZWZpbmUgSEFWRV9VTklTVERfSCAxCnwgI2RlZmlu
 ZSBIQVZFX1VUSU1FX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfTU9VTlRfSCAxCnwgI2RlZmluZSBI
 QVZFX0dMT0JfSCAxCnwgI2RlZmluZSBIQVZFX05CQ09NUEFUX0dMT0IgMQp8ICNkZWZpbmUgSEFW
 RV9TWVNfUVVFVUVfSCAxCnwgI2RlZmluZSBIQVZFX05CQ09NUEFUX1FVRVVFIDEKfCAjZGVmaW5l
 IEhBVkVfUkVHRVhfSCAxCnwgI2RlZmluZSBIQVZFX05CQ09NUEFUX01ENSAxCnwgI2RlZmluZSBI
 QVZFX05CQ09NUEFUX1JNRDE2MCAxCnwgI2RlZmluZSBIQVZFX05CQ09NUEFUX1NIQTEgMQp8ICNk
 ZWZpbmUgSEFWRV9OQkNPTVBBVF9TSEEyIDEKfCAjZGVmaW5lIEhBVkVfREVDTF9PUFRBUkcgMQp8
 ICNkZWZpbmUgSEFWRV9ERUNMX09QVElORCAxCnwgI2RlZmluZSBIQVZFX0RFQ0xfT1BUUkVTRVQg
 MAp8ICNkZWZpbmUgSEFWRV9HRVRPUFRfSCAxCnwgI2RlZmluZSBIQVZFX1NUUlVDVF9PUFRJT04g
 MQp8ICNkZWZpbmUgSEFWRV9WSVNfSCAxCnwgI2RlZmluZSBIQVZFX05CQ09NUEFUX1ZJUyAxCnwg
 I2RlZmluZSBIQVZFX19fQVRUUklCVVRFX18gMQp8ICNkZWZpbmUgSEFWRV9VSU5UUFRSX1QgMQp8
 IC8qIGVuZCBjb25mZGVmcy5oLiAgKi8KfCAjaW5jbHVkZSA8c3RkaW8uaD4KfCAjaWZkZWYgSEFW
 RV9TWVNfVFlQRVNfSAp8ICMgaW5jbHVkZSA8c3lzL3R5cGVzLmg+CnwgI2VuZGlmCnwgI2lmZGVm
 IEhBVkVfU1lTX1NUQVRfSAp8ICMgaW5jbHVkZSA8c3lzL3N0YXQuaD4KfCAjZW5kaWYKfCAjaWZk
 ZWYgU1REQ19IRUFERVJTCnwgIyBpbmNsdWRlIDxzdGRsaWIuaD4KfCAjIGluY2x1ZGUgPHN0ZGRl
 Zi5oPgp8ICNlbHNlCnwgIyBpZmRlZiBIQVZFX1NURExJQl9ICnwgIyAgaW5jbHVkZSA8c3RkbGli
 Lmg+CnwgIyBlbmRpZgp8ICNlbmRpZgp8ICNpZmRlZiBIQVZFX1NUUklOR19ICnwgIyBpZiAhZGVm
 aW5lZCBTVERDX0hFQURFUlMgJiYgZGVmaW5lZCBIQVZFX01FTU9SWV9ICnwgIyAgaW5jbHVkZSA8
 bWVtb3J5Lmg+CnwgIyBlbmRpZgp8ICMgaW5jbHVkZSA8c3RyaW5nLmg+CnwgI2VuZGlmCnwgI2lm
 ZGVmIEhBVkVfU1RSSU5HU19ICnwgIyBpbmNsdWRlIDxzdHJpbmdzLmg+CnwgI2VuZGlmCnwgI2lm
 ZGVmIEhBVkVfSU5UVFlQRVNfSAp8ICMgaW5jbHVkZSA8aW50dHlwZXMuaD4KfCAjZW5kaWYKfCAj
 aWZkZWYgSEFWRV9TVERJTlRfSAp8ICMgaW5jbHVkZSA8c3RkaW50Lmg+CnwgI2VuZGlmCnwgI2lm
 ZGVmIEhBVkVfVU5JU1REX0gKfCAjIGluY2x1ZGUgPHVuaXN0ZC5oPgp8ICNlbmRpZgp8IAkgICAg
 ICAgIGVudW0geyBOID0gMTYgLyAyIC0gMSB9Owp8IGludAp8IG1haW4gKCkKfCB7Cnwgc3RhdGlj
 IGludCB0ZXN0X2FycmF5IFsxIC0gMiAqICEoKGludDE2X3QpICgoKCgoaW50MTZfdCkgMSA8PCBO
 KSA8PCBOKSAtIDEpICogMiArIDEpCnwgCQkgPCAoaW50MTZfdCkgKCgoKChpbnQxNl90KSAxIDw8
 IE4pIDw8IE4pIC0gMSkgKiAyICsgMikpXTsKfCB0ZXN0X2FycmF5IFswXSA9IDAKfCAKfCAgIDsK
 fCAgIHJldHVybiAwOwp8IH0KY29uZmlndXJlOjQ5OTY6IHJlc3VsdDogeWVzCmNvbmZpZ3VyZTo1
 MDA3OiBjaGVja2luZyBmb3IgaW50MzJfdApjb25maWd1cmU6NTAwNzogZ2NjIC1jIC1nIC1PMiAg
 Y29uZnRlc3QuYyA+JjUKY29uZmlndXJlOjUwMDc6ICQ/ID0gMApjb25maWd1cmU6NTAwNzogZ2Nj
 IC1jIC1nIC1PMiAgY29uZnRlc3QuYyA+JjUKY29uZnRlc3QuYzogSW4gZnVuY3Rpb24gJ21haW4n
 Ogpjb25mdGVzdC5jOjEyMDo1Mzogd2FybmluZzogaW50ZWdlciBvdmVyZmxvdyBpbiBleHByZXNz
 aW9uIFstV292ZXJmbG93XQpjb25mdGVzdC5jOjExOToxMjogZXJyb3I6IHNpemUgb2YgYXJyYXkg
 J3Rlc3RfYXJyYXknIGlzIG5lZ2F0aXZlCmNvbmZ0ZXN0LmM6MTE5OjEyOiBlcnJvcjogc3RvcmFn
 ZSBzaXplIG9mICd0ZXN0X2FycmF5JyBpc24ndCBjb25zdGFudApjb25maWd1cmU6NTAwNzogJD8g
 PSAxCmNvbmZpZ3VyZTogZmFpbGVkIHByb2dyYW0gd2FzOgp8IC8qIGNvbmZkZWZzLmggKi8KfCAj
 ZGVmaW5lIFBBQ0tBR0VfTkFNRSAibGlibmJjb21wYXQiCnwgI2RlZmluZSBQQUNLQUdFX1RBUk5B
 TUUgImxpYm5iY29tcGF0Igp8ICNkZWZpbmUgUEFDS0FHRV9WRVJTSU9OICIyMDA4MDYwNSIKfCAj
 ZGVmaW5lIFBBQ0tBR0VfU1RSSU5HICJsaWJuYmNvbXBhdCAyMDA4MDYwNSIKfCAjZGVmaW5lIFBB
 Q0tBR0VfQlVHUkVQT1JUICJncmFudEBOZXRCU0Qub3JnIgp8ICNkZWZpbmUgUEFDS0FHRV9VUkwg
 IiIKfCAjZGVmaW5lIFNURENfSEVBREVSUyAxCnwgI2RlZmluZSBUSU1FX1dJVEhfU1lTX1RJTUUg
 MQp8ICNkZWZpbmUgSEFWRV9TWVNfVFlQRVNfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19TVEFUX0gg
 MQp8ICNkZWZpbmUgSEFWRV9TVERMSUJfSCAxCnwgI2RlZmluZSBIQVZFX1NUUklOR19IIDEKfCAj
 ZGVmaW5lIEhBVkVfTUVNT1JZX0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJJTkdTX0ggMQp8ICNkZWZp
 bmUgSEFWRV9JTlRUWVBFU19IIDEKfCAjZGVmaW5lIEhBVkVfU1RESU5UX0ggMQp8ICNkZWZpbmUg
 SEFWRV9VTklTVERfSCAxCnwgI2RlZmluZSBIQVZFX19CT09MIDEKfCAjZGVmaW5lIEhBVkVfU1RE
 Qk9PTF9IIDEKfCAjZGVmaW5lIEhBVkVfQUxMT0NBX0ggMQp8ICNkZWZpbmUgSEFWRV9BU1NFUlRf
 SCAxCnwgI2RlZmluZSBIQVZFX0NUWVBFX0ggMQp8ICNkZWZpbmUgSEFWRV9ESVJFTlRfSCAxCnwg
 I2RlZmluZSBIQVZFX0VORElBTl9IIDEKfCAjZGVmaW5lIEhBVkVfRVJSX0ggMQp8ICNkZWZpbmUg
 SEFWRV9FUlJOT19IIDEKfCAjZGVmaW5lIEhBVkVfRkNOVExfSCAxCnwgI2RlZmluZSBIQVZFX0ZO
 TUFUQ0hfSCAxCnwgI2RlZmluZSBIQVZFX0ZUU19IIDEKfCAjZGVmaW5lIEhBVkVfR1JQX0ggMQp8
 ICNkZWZpbmUgSEFWRV9JTlRUWVBFU19IIDEKfCAjZGVmaW5lIEhBVkVfTElCVVRJTF9IIDEKfCAj
 ZGVmaW5lIEhBVkVfTElNSVRTX0ggMQp8ICNkZWZpbmUgSEFWRV9ORVREQl9IIDEKfCAjZGVmaW5l
 IEhBVkVfUEFUSFNfSCAxCnwgI2RlZmluZSBIQVZFX1BXRF9IIDEKfCAjZGVmaW5lIEhBVkVfU0lH
 TkFMX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERBUkdfSCAxCnwgI2RlZmluZSBIQVZFX1NURERFRl9I
 IDEKfCAjZGVmaW5lIEhBVkVfU1RESU5UX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERJT19IIDEKfCAj
 ZGVmaW5lIEhBVkVfU1RETElCX0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJJTkdfSCAxCnwgI2RlZmlu
 ZSBIQVZFX1NZU19DREVGU19IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX0RJUl9IIDEKfCAjZGVmaW5l
 IEhBVkVfU1lTX0ZJTEVfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19QQVJBTV9IIDEKfCAjZGVmaW5l
 IEhBVkVfU1lTX1NPQ0tFVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NUQVRfSCAxCnwgI2RlZmlu
 ZSBIQVZFX1NZU19TVEFURlNfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19TVEFUVkZTX0ggMQp8ICNk
 ZWZpbmUgSEFWRV9TWVNfVElNRV9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1RZUEVTX0ggMQp8ICNk
 ZWZpbmUgSEFWRV9TWVNfVUlPX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfVkZTX0ggMQp8ICNkZWZp
 bmUgSEFWRV9TWVNFWElUU19IIDEKfCAjZGVmaW5lIEhBVkVfVEVSTUNBUF9IIDEKfCAjZGVmaW5l
 IEhBVkVfVElNRV9IIDEKfCAjZGVmaW5lIEhBVkVfVU5JU1REX0ggMQp8ICNkZWZpbmUgSEFWRV9V
 VElNRV9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX01PVU5UX0ggMQp8ICNkZWZpbmUgSEFWRV9HTE9C
 X0ggMQp8ICNkZWZpbmUgSEFWRV9OQkNPTVBBVF9HTE9CIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1FV
 RVVFX0ggMQp8ICNkZWZpbmUgSEFWRV9OQkNPTVBBVF9RVUVVRSAxCnwgI2RlZmluZSBIQVZFX1JF
 R0VYX0ggMQp8ICNkZWZpbmUgSEFWRV9OQkNPTVBBVF9NRDUgMQp8ICNkZWZpbmUgSEFWRV9OQkNP
 TVBBVF9STUQxNjAgMQp8ICNkZWZpbmUgSEFWRV9OQkNPTVBBVF9TSEExIDEKfCAjZGVmaW5lIEhB
 VkVfTkJDT01QQVRfU0hBMiAxCnwgI2RlZmluZSBIQVZFX0RFQ0xfT1BUQVJHIDEKfCAjZGVmaW5l
 IEhBVkVfREVDTF9PUFRJTkQgMQp8ICNkZWZpbmUgSEFWRV9ERUNMX09QVFJFU0VUIDAKfCAjZGVm
 aW5lIEhBVkVfR0VUT1BUX0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJVQ1RfT1BUSU9OIDEKfCAjZGVm
 aW5lIEhBVkVfVklTX0ggMQp8ICNkZWZpbmUgSEFWRV9OQkNPTVBBVF9WSVMgMQp8ICNkZWZpbmUg
 SEFWRV9fX0FUVFJJQlVURV9fIDEKfCAjZGVmaW5lIEhBVkVfVUlOVFBUUl9UIDEKfCAvKiBlbmQg
 Y29uZmRlZnMuaC4gICovCnwgI2luY2x1ZGUgPHN0ZGlvLmg+CnwgI2lmZGVmIEhBVkVfU1lTX1RZ
 UEVTX0gKfCAjIGluY2x1ZGUgPHN5cy90eXBlcy5oPgp8ICNlbmRpZgp8ICNpZmRlZiBIQVZFX1NZ
 U19TVEFUX0gKfCAjIGluY2x1ZGUgPHN5cy9zdGF0Lmg+CnwgI2VuZGlmCnwgI2lmZGVmIFNURENf
 SEVBREVSUwp8ICMgaW5jbHVkZSA8c3RkbGliLmg+CnwgIyBpbmNsdWRlIDxzdGRkZWYuaD4KfCAj
 ZWxzZQp8ICMgaWZkZWYgSEFWRV9TVERMSUJfSAp8ICMgIGluY2x1ZGUgPHN0ZGxpYi5oPgp8ICMg
 ZW5kaWYKfCAjZW5kaWYKfCAjaWZkZWYgSEFWRV9TVFJJTkdfSAp8ICMgaWYgIWRlZmluZWQgU1RE
 Q19IRUFERVJTICYmIGRlZmluZWQgSEFWRV9NRU1PUllfSAp8ICMgIGluY2x1ZGUgPG1lbW9yeS5o
 Pgp8ICMgZW5kaWYKfCAjIGluY2x1ZGUgPHN0cmluZy5oPgp8ICNlbmRpZgp8ICNpZmRlZiBIQVZF
 X1NUUklOR1NfSAp8ICMgaW5jbHVkZSA8c3RyaW5ncy5oPgp8ICNlbmRpZgp8ICNpZmRlZiBIQVZF
 X0lOVFRZUEVTX0gKfCAjIGluY2x1ZGUgPGludHR5cGVzLmg+CnwgI2VuZGlmCnwgI2lmZGVmIEhB
 VkVfU1RESU5UX0gKfCAjIGluY2x1ZGUgPHN0ZGludC5oPgp8ICNlbmRpZgp8ICNpZmRlZiBIQVZF
 X1VOSVNURF9ICnwgIyBpbmNsdWRlIDx1bmlzdGQuaD4KfCAjZW5kaWYKfCAJICAgICAgICBlbnVt
 IHsgTiA9IDMyIC8gMiAtIDEgfTsKfCBpbnQKfCBtYWluICgpCnwgewp8IHN0YXRpYyBpbnQgdGVz
 dF9hcnJheSBbMSAtIDIgKiAhKChpbnQzMl90KSAoKCgoKGludDMyX3QpIDEgPDwgTikgPDwgTikg
 LSAxKSAqIDIgKyAxKQp8IAkJIDwgKGludDMyX3QpICgoKCgoaW50MzJfdCkgMSA8PCBOKSA8PCBO
 KSAtIDEpICogMiArIDIpKV07CnwgdGVzdF9hcnJheSBbMF0gPSAwCnwgCnwgICA7CnwgICByZXR1
 cm4gMDsKfCB9CmNvbmZpZ3VyZTo1MDA3OiByZXN1bHQ6IHllcwpjb25maWd1cmU6NTAxODogY2hl
 Y2tpbmcgZm9yIGludDY0X3QKY29uZmlndXJlOjUwMTg6IGdjYyAtYyAtZyAtTzIgIGNvbmZ0ZXN0
 LmMgPiY1CmNvbmZpZ3VyZTo1MDE4OiAkPyA9IDAKY29uZmlndXJlOjUwMTg6IGdjYyAtYyAtZyAt
 TzIgIGNvbmZ0ZXN0LmMgPiY1CmNvbmZ0ZXN0LmM6IEluIGZ1bmN0aW9uICdtYWluJzoKY29uZnRl
 c3QuYzoxMjA6NTM6IHdhcm5pbmc6IGludGVnZXIgb3ZlcmZsb3cgaW4gZXhwcmVzc2lvbiBbLVdv
 dmVyZmxvd10KY29uZnRlc3QuYzoxMTk6MTI6IGVycm9yOiBzaXplIG9mIGFycmF5ICd0ZXN0X2Fy
 cmF5JyBpcyBuZWdhdGl2ZQpjb25mdGVzdC5jOjExOToxMjogZXJyb3I6IHN0b3JhZ2Ugc2l6ZSBv
 ZiAndGVzdF9hcnJheScgaXNuJ3QgY29uc3RhbnQKY29uZmlndXJlOjUwMTg6ICQ/ID0gMQpjb25m
 aWd1cmU6IGZhaWxlZCBwcm9ncmFtIHdhczoKfCAvKiBjb25mZGVmcy5oICovCnwgI2RlZmluZSBQ
 QUNLQUdFX05BTUUgImxpYm5iY29tcGF0Igp8ICNkZWZpbmUgUEFDS0FHRV9UQVJOQU1FICJsaWJu
 YmNvbXBhdCIKfCAjZGVmaW5lIFBBQ0tBR0VfVkVSU0lPTiAiMjAwODA2MDUiCnwgI2RlZmluZSBQ
 QUNLQUdFX1NUUklORyAibGlibmJjb21wYXQgMjAwODA2MDUiCnwgI2RlZmluZSBQQUNLQUdFX0JV
 R1JFUE9SVCAiZ3JhbnRATmV0QlNELm9yZyIKfCAjZGVmaW5lIFBBQ0tBR0VfVVJMICIiCnwgI2Rl
 ZmluZSBTVERDX0hFQURFUlMgMQp8ICNkZWZpbmUgVElNRV9XSVRIX1NZU19USU1FIDEKfCAjZGVm
 aW5lIEhBVkVfU1lTX1RZUEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfU1RBVF9IIDEKfCAjZGVm
 aW5lIEhBVkVfU1RETElCX0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJJTkdfSCAxCnwgI2RlZmluZSBI
 QVZFX01FTU9SWV9IIDEKfCAjZGVmaW5lIEhBVkVfU1RSSU5HU19IIDEKfCAjZGVmaW5lIEhBVkVf
 SU5UVFlQRVNfSCAxCnwgI2RlZmluZSBIQVZFX1NURElOVF9IIDEKfCAjZGVmaW5lIEhBVkVfVU5J
 U1REX0ggMQp8ICNkZWZpbmUgSEFWRV9fQk9PTCAxCnwgI2RlZmluZSBIQVZFX1NUREJPT0xfSCAx
 CnwgI2RlZmluZSBIQVZFX0FMTE9DQV9IIDEKfCAjZGVmaW5lIEhBVkVfQVNTRVJUX0ggMQp8ICNk
 ZWZpbmUgSEFWRV9DVFlQRV9IIDEKfCAjZGVmaW5lIEhBVkVfRElSRU5UX0ggMQp8ICNkZWZpbmUg
 SEFWRV9FTkRJQU5fSCAxCnwgI2RlZmluZSBIQVZFX0VSUl9IIDEKfCAjZGVmaW5lIEhBVkVfRVJS
 Tk9fSCAxCnwgI2RlZmluZSBIQVZFX0ZDTlRMX0ggMQp8ICNkZWZpbmUgSEFWRV9GTk1BVENIX0gg
 MQp8ICNkZWZpbmUgSEFWRV9GVFNfSCAxCnwgI2RlZmluZSBIQVZFX0dSUF9IIDEKfCAjZGVmaW5l
 IEhBVkVfSU5UVFlQRVNfSCAxCnwgI2RlZmluZSBIQVZFX0xJQlVUSUxfSCAxCnwgI2RlZmluZSBI
 QVZFX0xJTUlUU19IIDEKfCAjZGVmaW5lIEhBVkVfTkVUREJfSCAxCnwgI2RlZmluZSBIQVZFX1BB
 VEhTX0ggMQp8ICNkZWZpbmUgSEFWRV9QV0RfSCAxCnwgI2RlZmluZSBIQVZFX1NJR05BTF9IIDEK
 fCAjZGVmaW5lIEhBVkVfU1REQVJHX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERERUZfSCAxCnwgI2Rl
 ZmluZSBIQVZFX1NURElOVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1RESU9fSCAxCnwgI2RlZmluZSBI
 QVZFX1NURExJQl9IIDEKfCAjZGVmaW5lIEhBVkVfU1RSSU5HX0ggMQp8ICNkZWZpbmUgSEFWRV9T
 WVNfQ0RFRlNfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19ESVJfSCAxCnwgI2RlZmluZSBIQVZFX1NZ
 U19GSUxFX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfUEFSQU1fSCAxCnwgI2RlZmluZSBIQVZFX1NZ
 U19TT0NLRVRfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19TVEFUX0ggMQp8ICNkZWZpbmUgSEFWRV9T
 WVNfU1RBVEZTX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfU1RBVFZGU19IIDEKfCAjZGVmaW5lIEhB
 VkVfU1lTX1RJTUVfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19UWVBFU19IIDEKfCAjZGVmaW5lIEhB
 VkVfU1lTX1VJT19IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1ZGU19IIDEKfCAjZGVmaW5lIEhBVkVf
 U1lTRVhJVFNfSCAxCnwgI2RlZmluZSBIQVZFX1RFUk1DQVBfSCAxCnwgI2RlZmluZSBIQVZFX1RJ
 TUVfSCAxCnwgI2RlZmluZSBIQVZFX1VOSVNURF9IIDEKfCAjZGVmaW5lIEhBVkVfVVRJTUVfSCAx
 CnwgI2RlZmluZSBIQVZFX1NZU19NT1VOVF9IIDEKfCAjZGVmaW5lIEhBVkVfR0xPQl9IIDEKfCAj
 ZGVmaW5lIEhBVkVfTkJDT01QQVRfR0xPQiAxCnwgI2RlZmluZSBIQVZFX1NZU19RVUVVRV9IIDEK
 fCAjZGVmaW5lIEhBVkVfTkJDT01QQVRfUVVFVUUgMQp8ICNkZWZpbmUgSEFWRV9SRUdFWF9IIDEK
 fCAjZGVmaW5lIEhBVkVfTkJDT01QQVRfTUQ1IDEKfCAjZGVmaW5lIEhBVkVfTkJDT01QQVRfUk1E
 MTYwIDEKfCAjZGVmaW5lIEhBVkVfTkJDT01QQVRfU0hBMSAxCnwgI2RlZmluZSBIQVZFX05CQ09N
 UEFUX1NIQTIgMQp8ICNkZWZpbmUgSEFWRV9ERUNMX09QVEFSRyAxCnwgI2RlZmluZSBIQVZFX0RF
 Q0xfT1BUSU5EIDEKfCAjZGVmaW5lIEhBVkVfREVDTF9PUFRSRVNFVCAwCnwgI2RlZmluZSBIQVZF
 X0dFVE9QVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1RSVUNUX09QVElPTiAxCnwgI2RlZmluZSBIQVZF
 X1ZJU19IIDEKfCAjZGVmaW5lIEhBVkVfTkJDT01QQVRfVklTIDEKfCAjZGVmaW5lIEhBVkVfX19B
 VFRSSUJVVEVfXyAxCnwgI2RlZmluZSBIQVZFX1VJTlRQVFJfVCAxCnwgLyogZW5kIGNvbmZkZWZz
 LmguICAqLwp8ICNpbmNsdWRlIDxzdGRpby5oPgp8ICNpZmRlZiBIQVZFX1NZU19UWVBFU19ICnwg
 IyBpbmNsdWRlIDxzeXMvdHlwZXMuaD4KfCAjZW5kaWYKfCAjaWZkZWYgSEFWRV9TWVNfU1RBVF9I
 CnwgIyBpbmNsdWRlIDxzeXMvc3RhdC5oPgp8ICNlbmRpZgp8ICNpZmRlZiBTVERDX0hFQURFUlMK
 fCAjIGluY2x1ZGUgPHN0ZGxpYi5oPgp8ICMgaW5jbHVkZSA8c3RkZGVmLmg+CnwgI2Vsc2UKfCAj
 IGlmZGVmIEhBVkVfU1RETElCX0gKfCAjICBpbmNsdWRlIDxzdGRsaWIuaD4KfCAjIGVuZGlmCnwg
 I2VuZGlmCnwgI2lmZGVmIEhBVkVfU1RSSU5HX0gKfCAjIGlmICFkZWZpbmVkIFNURENfSEVBREVS
 UyAmJiBkZWZpbmVkIEhBVkVfTUVNT1JZX0gKfCAjICBpbmNsdWRlIDxtZW1vcnkuaD4KfCAjIGVu
 ZGlmCnwgIyBpbmNsdWRlIDxzdHJpbmcuaD4KfCAjZW5kaWYKfCAjaWZkZWYgSEFWRV9TVFJJTkdT
 X0gKfCAjIGluY2x1ZGUgPHN0cmluZ3MuaD4KfCAjZW5kaWYKfCAjaWZkZWYgSEFWRV9JTlRUWVBF
 U19ICnwgIyBpbmNsdWRlIDxpbnR0eXBlcy5oPgp8ICNlbmRpZgp8ICNpZmRlZiBIQVZFX1NURElO
 VF9ICnwgIyBpbmNsdWRlIDxzdGRpbnQuaD4KfCAjZW5kaWYKfCAjaWZkZWYgSEFWRV9VTklTVERf
 SAp8ICMgaW5jbHVkZSA8dW5pc3RkLmg+CnwgI2VuZGlmCnwgCSAgICAgICAgZW51bSB7IE4gPSA2
 NCAvIDIgLSAxIH07CnwgaW50CnwgbWFpbiAoKQp8IHsKfCBzdGF0aWMgaW50IHRlc3RfYXJyYXkg
 WzEgLSAyICogISgoaW50NjRfdCkgKCgoKChpbnQ2NF90KSAxIDw8IE4pIDw8IE4pIC0gMSkgKiAy
 ICsgMSkKfCAJCSA8IChpbnQ2NF90KSAoKCgoKGludDY0X3QpIDEgPDwgTikgPDwgTikgLSAxKSAq
 IDIgKyAyKSldOwp8IHRlc3RfYXJyYXkgWzBdID0gMAp8IAp8ICAgOwp8ICAgcmV0dXJuIDA7Cnwg
 fQpjb25maWd1cmU6NTAxODogcmVzdWx0OiB5ZXMKY29uZmlndXJlOjUwMjk6IGNoZWNraW5nIGZv
 ciB1aW50OF90CmNvbmZpZ3VyZTo1MDI5OiBnY2MgLWMgLWcgLU8yICBjb25mdGVzdC5jID4mNQpj
 b25maWd1cmU6NTAyOTogJD8gPSAwCmNvbmZpZ3VyZTo1MDI5OiByZXN1bHQ6IHllcwpjb25maWd1
 cmU6NTA0MzogY2hlY2tpbmcgZm9yIHVpbnQxNl90CmNvbmZpZ3VyZTo1MDQzOiBnY2MgLWMgLWcg
 LU8yICBjb25mdGVzdC5jID4mNQpjb25maWd1cmU6NTA0MzogJD8gPSAwCmNvbmZpZ3VyZTo1MDQz
 OiByZXN1bHQ6IHllcwpjb25maWd1cmU6NTA1NTogY2hlY2tpbmcgZm9yIHVpbnQzMl90CmNvbmZp
 Z3VyZTo1MDU1OiBnY2MgLWMgLWcgLU8yICBjb25mdGVzdC5jID4mNQpjb25maWd1cmU6NTA1NTog
 JD8gPSAwCmNvbmZpZ3VyZTo1MDU1OiByZXN1bHQ6IHllcwpjb25maWd1cmU6NTA2OTogY2hlY2tp
 bmcgZm9yIHVpbnQ2NF90CmNvbmZpZ3VyZTo1MDY5OiBnY2MgLWMgLWcgLU8yICBjb25mdGVzdC5j
 ID4mNQpjb25maWd1cmU6NTA2OTogJD8gPSAwCmNvbmZpZ3VyZTo1MDY5OiByZXN1bHQ6IHllcwpj
 b25maWd1cmU6NTA4MzogY2hlY2tpbmcgZm9yIGxvbmcgbG9uZwpjb25maWd1cmU6NTA4MzogZ2Nj
 IC1jIC1nIC1PMiAgY29uZnRlc3QuYyA+JjUKY29uZmlndXJlOjUwODM6ICQ/ID0gMApjb25maWd1
 cmU6NTA4MzogZ2NjIC1jIC1nIC1PMiAgY29uZnRlc3QuYyA+JjUKY29uZnRlc3QuYzogSW4gZnVu
 Y3Rpb24gJ21haW4nOgpjb25mdGVzdC5jOjk5OjI0OiBlcnJvcjogZXhwZWN0ZWQgZXhwcmVzc2lv
 biBiZWZvcmUgJyknIHRva2VuCmNvbmZpZ3VyZTo1MDgzOiAkPyA9IDEKY29uZmlndXJlOiBmYWls
 ZWQgcHJvZ3JhbSB3YXM6CnwgLyogY29uZmRlZnMuaCAqLwp8ICNkZWZpbmUgUEFDS0FHRV9OQU1F
 ICJsaWJuYmNvbXBhdCIKfCAjZGVmaW5lIFBBQ0tBR0VfVEFSTkFNRSAibGlibmJjb21wYXQiCnwg
 I2RlZmluZSBQQUNLQUdFX1ZFUlNJT04gIjIwMDgwNjA1Igp8ICNkZWZpbmUgUEFDS0FHRV9TVFJJ
 TkcgImxpYm5iY29tcGF0IDIwMDgwNjA1Igp8ICNkZWZpbmUgUEFDS0FHRV9CVUdSRVBPUlQgImdy
 YW50QE5ldEJTRC5vcmciCnwgI2RlZmluZSBQQUNLQUdFX1VSTCAiIgp8ICNkZWZpbmUgU1REQ19I
 RUFERVJTIDEKfCAjZGVmaW5lIFRJTUVfV0lUSF9TWVNfVElNRSAxCnwgI2RlZmluZSBIQVZFX1NZ
 U19UWVBFU19IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NUQVRfSCAxCnwgI2RlZmluZSBIQVZFX1NU
 RExJQl9IIDEKfCAjZGVmaW5lIEhBVkVfU1RSSU5HX0ggMQp8ICNkZWZpbmUgSEFWRV9NRU1PUllf
 SCAxCnwgI2RlZmluZSBIQVZFX1NUUklOR1NfSCAxCnwgI2RlZmluZSBIQVZFX0lOVFRZUEVTX0gg
 MQp8ICNkZWZpbmUgSEFWRV9TVERJTlRfSCAxCnwgI2RlZmluZSBIQVZFX1VOSVNURF9IIDEKfCAj
 ZGVmaW5lIEhBVkVfX0JPT0wgMQp8ICNkZWZpbmUgSEFWRV9TVERCT09MX0ggMQp8ICNkZWZpbmUg
 SEFWRV9BTExPQ0FfSCAxCnwgI2RlZmluZSBIQVZFX0FTU0VSVF9IIDEKfCAjZGVmaW5lIEhBVkVf
 Q1RZUEVfSCAxCnwgI2RlZmluZSBIQVZFX0RJUkVOVF9IIDEKfCAjZGVmaW5lIEhBVkVfRU5ESUFO
 X0ggMQp8ICNkZWZpbmUgSEFWRV9FUlJfSCAxCnwgI2RlZmluZSBIQVZFX0VSUk5PX0ggMQp8ICNk
 ZWZpbmUgSEFWRV9GQ05UTF9IIDEKfCAjZGVmaW5lIEhBVkVfRk5NQVRDSF9IIDEKfCAjZGVmaW5l
 IEhBVkVfRlRTX0ggMQp8ICNkZWZpbmUgSEFWRV9HUlBfSCAxCnwgI2RlZmluZSBIQVZFX0lOVFRZ
 UEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9MSUJVVElMX0ggMQp8ICNkZWZpbmUgSEFWRV9MSU1JVFNf
 SCAxCnwgI2RlZmluZSBIQVZFX05FVERCX0ggMQp8ICNkZWZpbmUgSEFWRV9QQVRIU19IIDEKfCAj
 ZGVmaW5lIEhBVkVfUFdEX0ggMQp8ICNkZWZpbmUgSEFWRV9TSUdOQUxfSCAxCnwgI2RlZmluZSBI
 QVZFX1NUREFSR19IIDEKfCAjZGVmaW5lIEhBVkVfU1REREVGX0ggMQp8ICNkZWZpbmUgSEFWRV9T
 VERJTlRfSCAxCnwgI2RlZmluZSBIQVZFX1NURElPX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERMSUJf
 SCAxCnwgI2RlZmluZSBIQVZFX1NUUklOR19IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX0NERUZTX0gg
 MQp8ICNkZWZpbmUgSEFWRV9TWVNfRElSX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfRklMRV9IIDEK
 fCAjZGVmaW5lIEhBVkVfU1lTX1BBUkFNX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfU09DS0VUX0gg
 MQp8ICNkZWZpbmUgSEFWRV9TWVNfU1RBVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NUQVRGU19I
 IDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NUQVRWRlNfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19USU1F
 X0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfVFlQRVNfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19VSU9f
 SCAxCnwgI2RlZmluZSBIQVZFX1NZU19WRlNfSCAxCnwgI2RlZmluZSBIQVZFX1NZU0VYSVRTX0gg
 MQp8ICNkZWZpbmUgSEFWRV9URVJNQ0FQX0ggMQp8ICNkZWZpbmUgSEFWRV9USU1FX0ggMQp8ICNk
 ZWZpbmUgSEFWRV9VTklTVERfSCAxCnwgI2RlZmluZSBIQVZFX1VUSU1FX0ggMQp8ICNkZWZpbmUg
 SEFWRV9TWVNfTU9VTlRfSCAxCnwgI2RlZmluZSBIQVZFX0dMT0JfSCAxCnwgI2RlZmluZSBIQVZF
 X05CQ09NUEFUX0dMT0IgMQp8ICNkZWZpbmUgSEFWRV9TWVNfUVVFVUVfSCAxCnwgI2RlZmluZSBI
 QVZFX05CQ09NUEFUX1FVRVVFIDEKfCAjZGVmaW5lIEhBVkVfUkVHRVhfSCAxCnwgI2RlZmluZSBI
 QVZFX05CQ09NUEFUX01ENSAxCnwgI2RlZmluZSBIQVZFX05CQ09NUEFUX1JNRDE2MCAxCnwgI2Rl
 ZmluZSBIQVZFX05CQ09NUEFUX1NIQTEgMQp8ICNkZWZpbmUgSEFWRV9OQkNPTVBBVF9TSEEyIDEK
 fCAjZGVmaW5lIEhBVkVfREVDTF9PUFRBUkcgMQp8ICNkZWZpbmUgSEFWRV9ERUNMX09QVElORCAx
 CnwgI2RlZmluZSBIQVZFX0RFQ0xfT1BUUkVTRVQgMAp8ICNkZWZpbmUgSEFWRV9HRVRPUFRfSCAx
 CnwgI2RlZmluZSBIQVZFX1NUUlVDVF9PUFRJT04gMQp8ICNkZWZpbmUgSEFWRV9WSVNfSCAxCnwg
 I2RlZmluZSBIQVZFX05CQ09NUEFUX1ZJUyAxCnwgI2RlZmluZSBIQVZFX19fQVRUUklCVVRFX18g
 MQp8ICNkZWZpbmUgSEFWRV9VSU5UUFRSX1QgMQp8IC8qIGVuZCBjb25mZGVmcy5oLiAgKi8KfCAj
 aWYgU1REQ19IRUFERVJTCnwgI2luY2x1ZGUgPHN0ZGxpYi5oPgp8ICNpbmNsdWRlIDxzdGRkZWYu
 aD4KfCAjZW5kaWYKfCAjaWYgSEFWRV9JTlRUWVBFU19ICnwgI2luY2x1ZGUgPGludHR5cGVzLmg+
 CnwgI2VuZGlmCnwgI2lmIEhBVkVfU1lTX1RZUEVTX0gKfCAjaW5jbHVkZSA8c3lzL3R5cGVzLmg+
 CnwgI2VuZGlmCnwgI2lmIEhBVkVfU1lTX0JJVFlQRVNfSAp8ICNpbmNsdWRlIDxzeXMvYml0eXBl
 cy5oPgp8ICNlbmRpZgp8IAp8IGludAp8IG1haW4gKCkKfCB7CnwgaWYgKHNpemVvZiAoKGxvbmcg
 bG9uZykpKQp8IAkgICAgcmV0dXJuIDA7CnwgICA7CnwgICByZXR1cm4gMDsKfCB9CmNvbmZpZ3Vy
 ZTo1MDgzOiByZXN1bHQ6IHllcwpjb25maWd1cmU6NTEwNTogY2hlY2tpbmcgZm9yIGxvbmcgZG91
 YmxlCmNvbmZpZ3VyZTo1MTA1OiBnY2MgLWMgLWcgLU8yICBjb25mdGVzdC5jID4mNQpjb25maWd1
 cmU6NTEwNTogJD8gPSAwCmNvbmZpZ3VyZTo1MTA1OiBnY2MgLWMgLWcgLU8yICBjb25mdGVzdC5j
 ID4mNQpjb25mdGVzdC5jOiBJbiBmdW5jdGlvbiAnbWFpbic6CmNvbmZ0ZXN0LmM6MTAwOjI2OiBl
 cnJvcjogZXhwZWN0ZWQgZXhwcmVzc2lvbiBiZWZvcmUgJyknIHRva2VuCmNvbmZpZ3VyZTo1MTA1
 OiAkPyA9IDEKY29uZmlndXJlOiBmYWlsZWQgcHJvZ3JhbSB3YXM6CnwgLyogY29uZmRlZnMuaCAq
 Lwp8ICNkZWZpbmUgUEFDS0FHRV9OQU1FICJsaWJuYmNvbXBhdCIKfCAjZGVmaW5lIFBBQ0tBR0Vf
 VEFSTkFNRSAibGlibmJjb21wYXQiCnwgI2RlZmluZSBQQUNLQUdFX1ZFUlNJT04gIjIwMDgwNjA1
 Igp8ICNkZWZpbmUgUEFDS0FHRV9TVFJJTkcgImxpYm5iY29tcGF0IDIwMDgwNjA1Igp8ICNkZWZp
 bmUgUEFDS0FHRV9CVUdSRVBPUlQgImdyYW50QE5ldEJTRC5vcmciCnwgI2RlZmluZSBQQUNLQUdF
 X1VSTCAiIgp8ICNkZWZpbmUgU1REQ19IRUFERVJTIDEKfCAjZGVmaW5lIFRJTUVfV0lUSF9TWVNf
 VElNRSAxCnwgI2RlZmluZSBIQVZFX1NZU19UWVBFU19IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NU
 QVRfSCAxCnwgI2RlZmluZSBIQVZFX1NURExJQl9IIDEKfCAjZGVmaW5lIEhBVkVfU1RSSU5HX0gg
 MQp8ICNkZWZpbmUgSEFWRV9NRU1PUllfSCAxCnwgI2RlZmluZSBIQVZFX1NUUklOR1NfSCAxCnwg
 I2RlZmluZSBIQVZFX0lOVFRZUEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERJTlRfSCAxCnwgI2Rl
 ZmluZSBIQVZFX1VOSVNURF9IIDEKfCAjZGVmaW5lIEhBVkVfX0JPT0wgMQp8ICNkZWZpbmUgSEFW
 RV9TVERCT09MX0ggMQp8ICNkZWZpbmUgSEFWRV9BTExPQ0FfSCAxCnwgI2RlZmluZSBIQVZFX0FT
 U0VSVF9IIDEKfCAjZGVmaW5lIEhBVkVfQ1RZUEVfSCAxCnwgI2RlZmluZSBIQVZFX0RJUkVOVF9I
 IDEKfCAjZGVmaW5lIEhBVkVfRU5ESUFOX0ggMQp8ICNkZWZpbmUgSEFWRV9FUlJfSCAxCnwgI2Rl
 ZmluZSBIQVZFX0VSUk5PX0ggMQp8ICNkZWZpbmUgSEFWRV9GQ05UTF9IIDEKfCAjZGVmaW5lIEhB
 VkVfRk5NQVRDSF9IIDEKfCAjZGVmaW5lIEhBVkVfRlRTX0ggMQp8ICNkZWZpbmUgSEFWRV9HUlBf
 SCAxCnwgI2RlZmluZSBIQVZFX0lOVFRZUEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9MSUJVVElMX0gg
 MQp8ICNkZWZpbmUgSEFWRV9MSU1JVFNfSCAxCnwgI2RlZmluZSBIQVZFX05FVERCX0ggMQp8ICNk
 ZWZpbmUgSEFWRV9QQVRIU19IIDEKfCAjZGVmaW5lIEhBVkVfUFdEX0ggMQp8ICNkZWZpbmUgSEFW
 RV9TSUdOQUxfSCAxCnwgI2RlZmluZSBIQVZFX1NUREFSR19IIDEKfCAjZGVmaW5lIEhBVkVfU1RE
 REVGX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERJTlRfSCAxCnwgI2RlZmluZSBIQVZFX1NURElPX0gg
 MQp8ICNkZWZpbmUgSEFWRV9TVERMSUJfSCAxCnwgI2RlZmluZSBIQVZFX1NUUklOR19IIDEKfCAj
 ZGVmaW5lIEhBVkVfU1lTX0NERUZTX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfRElSX0ggMQp8ICNk
 ZWZpbmUgSEFWRV9TWVNfRklMRV9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1BBUkFNX0ggMQp8ICNk
 ZWZpbmUgSEFWRV9TWVNfU09DS0VUX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfU1RBVF9IIDEKfCAj
 ZGVmaW5lIEhBVkVfU1lTX1NUQVRGU19IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NUQVRWRlNfSCAx
 CnwgI2RlZmluZSBIQVZFX1NZU19USU1FX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfVFlQRVNfSCAx
 CnwgI2RlZmluZSBIQVZFX1NZU19VSU9fSCAxCnwgI2RlZmluZSBIQVZFX1NZU19WRlNfSCAxCnwg
 I2RlZmluZSBIQVZFX1NZU0VYSVRTX0ggMQp8ICNkZWZpbmUgSEFWRV9URVJNQ0FQX0ggMQp8ICNk
 ZWZpbmUgSEFWRV9USU1FX0ggMQp8ICNkZWZpbmUgSEFWRV9VTklTVERfSCAxCnwgI2RlZmluZSBI
 QVZFX1VUSU1FX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfTU9VTlRfSCAxCnwgI2RlZmluZSBIQVZF
 X0dMT0JfSCAxCnwgI2RlZmluZSBIQVZFX05CQ09NUEFUX0dMT0IgMQp8ICNkZWZpbmUgSEFWRV9T
 WVNfUVVFVUVfSCAxCnwgI2RlZmluZSBIQVZFX05CQ09NUEFUX1FVRVVFIDEKfCAjZGVmaW5lIEhB
 VkVfUkVHRVhfSCAxCnwgI2RlZmluZSBIQVZFX05CQ09NUEFUX01ENSAxCnwgI2RlZmluZSBIQVZF
 X05CQ09NUEFUX1JNRDE2MCAxCnwgI2RlZmluZSBIQVZFX05CQ09NUEFUX1NIQTEgMQp8ICNkZWZp
 bmUgSEFWRV9OQkNPTVBBVF9TSEEyIDEKfCAjZGVmaW5lIEhBVkVfREVDTF9PUFRBUkcgMQp8ICNk
 ZWZpbmUgSEFWRV9ERUNMX09QVElORCAxCnwgI2RlZmluZSBIQVZFX0RFQ0xfT1BUUkVTRVQgMAp8
 ICNkZWZpbmUgSEFWRV9HRVRPUFRfSCAxCnwgI2RlZmluZSBIQVZFX1NUUlVDVF9PUFRJT04gMQp8
 ICNkZWZpbmUgSEFWRV9WSVNfSCAxCnwgI2RlZmluZSBIQVZFX05CQ09NUEFUX1ZJUyAxCnwgI2Rl
 ZmluZSBIQVZFX19fQVRUUklCVVRFX18gMQp8ICNkZWZpbmUgSEFWRV9VSU5UUFRSX1QgMQp8ICNk
 ZWZpbmUgSEFWRV9MT05HX0xPTkcgMQp8IC8qIGVuZCBjb25mZGVmcy5oLiAgKi8KfCAjaWYgU1RE
 Q19IRUFERVJTCnwgI2luY2x1ZGUgPHN0ZGxpYi5oPgp8ICNpbmNsdWRlIDxzdGRkZWYuaD4KfCAj
 ZW5kaWYKfCAjaWYgSEFWRV9JTlRUWVBFU19ICnwgI2luY2x1ZGUgPGludHR5cGVzLmg+CnwgI2Vu
 ZGlmCnwgI2lmIEhBVkVfU1lTX1RZUEVTX0gKfCAjaW5jbHVkZSA8c3lzL3R5cGVzLmg+CnwgI2Vu
 ZGlmCnwgI2lmIEhBVkVfU1lTX0JJVFlQRVNfSAp8ICNpbmNsdWRlIDxzeXMvYml0eXBlcy5oPgp8
 ICNlbmRpZgp8IAp8IGludAp8IG1haW4gKCkKfCB7CnwgaWYgKHNpemVvZiAoKGxvbmcgZG91Ymxl
 KSkpCnwgCSAgICByZXR1cm4gMDsKfCAgIDsKfCAgIHJldHVybiAwOwp8IH0KY29uZmlndXJlOjUx
 MDU6IHJlc3VsdDogeWVzCmNvbmZpZ3VyZTo1MTI4OiBjaGVja2luZyBmb3IgZnNpZF90CmNvbmZp
 Z3VyZTo1MTI4OiBnY2MgLWMgLWcgLU8yICBjb25mdGVzdC5jID4mNQpjb25maWd1cmU6NTEyODog
 JD8gPSAwCmNvbmZpZ3VyZTo1MTI4OiBnY2MgLWMgLWcgLU8yICBjb25mdGVzdC5jID4mNQpjb25m
 dGVzdC5jOiBJbiBmdW5jdGlvbiAnbWFpbic6CmNvbmZ0ZXN0LmM6MTAwOjIxOiBlcnJvcjogZXhw
 ZWN0ZWQgZXhwcmVzc2lvbiBiZWZvcmUgJyknIHRva2VuCmNvbmZpZ3VyZTo1MTI4OiAkPyA9IDEK
 Y29uZmlndXJlOiBmYWlsZWQgcHJvZ3JhbSB3YXM6CnwgLyogY29uZmRlZnMuaCAqLwp8ICNkZWZp
 bmUgUEFDS0FHRV9OQU1FICJsaWJuYmNvbXBhdCIKfCAjZGVmaW5lIFBBQ0tBR0VfVEFSTkFNRSAi
 bGlibmJjb21wYXQiCnwgI2RlZmluZSBQQUNLQUdFX1ZFUlNJT04gIjIwMDgwNjA1Igp8ICNkZWZp
 bmUgUEFDS0FHRV9TVFJJTkcgImxpYm5iY29tcGF0IDIwMDgwNjA1Igp8ICNkZWZpbmUgUEFDS0FH
 RV9CVUdSRVBPUlQgImdyYW50QE5ldEJTRC5vcmciCnwgI2RlZmluZSBQQUNLQUdFX1VSTCAiIgp8
 ICNkZWZpbmUgU1REQ19IRUFERVJTIDEKfCAjZGVmaW5lIFRJTUVfV0lUSF9TWVNfVElNRSAxCnwg
 I2RlZmluZSBIQVZFX1NZU19UWVBFU19IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NUQVRfSCAxCnwg
 I2RlZmluZSBIQVZFX1NURExJQl9IIDEKfCAjZGVmaW5lIEhBVkVfU1RSSU5HX0ggMQp8ICNkZWZp
 bmUgSEFWRV9NRU1PUllfSCAxCnwgI2RlZmluZSBIQVZFX1NUUklOR1NfSCAxCnwgI2RlZmluZSBI
 QVZFX0lOVFRZUEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERJTlRfSCAxCnwgI2RlZmluZSBIQVZF
 X1VOSVNURF9IIDEKfCAjZGVmaW5lIEhBVkVfX0JPT0wgMQp8ICNkZWZpbmUgSEFWRV9TVERCT09M
 X0ggMQp8ICNkZWZpbmUgSEFWRV9BTExPQ0FfSCAxCnwgI2RlZmluZSBIQVZFX0FTU0VSVF9IIDEK
 fCAjZGVmaW5lIEhBVkVfQ1RZUEVfSCAxCnwgI2RlZmluZSBIQVZFX0RJUkVOVF9IIDEKfCAjZGVm
 aW5lIEhBVkVfRU5ESUFOX0ggMQp8ICNkZWZpbmUgSEFWRV9FUlJfSCAxCnwgI2RlZmluZSBIQVZF
 X0VSUk5PX0ggMQp8ICNkZWZpbmUgSEFWRV9GQ05UTF9IIDEKfCAjZGVmaW5lIEhBVkVfRk5NQVRD
 SF9IIDEKfCAjZGVmaW5lIEhBVkVfRlRTX0ggMQp8ICNkZWZpbmUgSEFWRV9HUlBfSCAxCnwgI2Rl
 ZmluZSBIQVZFX0lOVFRZUEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9MSUJVVElMX0ggMQp8ICNkZWZp
 bmUgSEFWRV9MSU1JVFNfSCAxCnwgI2RlZmluZSBIQVZFX05FVERCX0ggMQp8ICNkZWZpbmUgSEFW
 RV9QQVRIU19IIDEKfCAjZGVmaW5lIEhBVkVfUFdEX0ggMQp8ICNkZWZpbmUgSEFWRV9TSUdOQUxf
 SCAxCnwgI2RlZmluZSBIQVZFX1NUREFSR19IIDEKfCAjZGVmaW5lIEhBVkVfU1REREVGX0ggMQp8
 ICNkZWZpbmUgSEFWRV9TVERJTlRfSCAxCnwgI2RlZmluZSBIQVZFX1NURElPX0ggMQp8ICNkZWZp
 bmUgSEFWRV9TVERMSUJfSCAxCnwgI2RlZmluZSBIQVZFX1NUUklOR19IIDEKfCAjZGVmaW5lIEhB
 VkVfU1lTX0NERUZTX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfRElSX0ggMQp8ICNkZWZpbmUgSEFW
 RV9TWVNfRklMRV9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1BBUkFNX0ggMQp8ICNkZWZpbmUgSEFW
 RV9TWVNfU09DS0VUX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfU1RBVF9IIDEKfCAjZGVmaW5lIEhB
 VkVfU1lTX1NUQVRGU19IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NUQVRWRlNfSCAxCnwgI2RlZmlu
 ZSBIQVZFX1NZU19USU1FX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfVFlQRVNfSCAxCnwgI2RlZmlu
 ZSBIQVZFX1NZU19VSU9fSCAxCnwgI2RlZmluZSBIQVZFX1NZU19WRlNfSCAxCnwgI2RlZmluZSBI
 QVZFX1NZU0VYSVRTX0ggMQp8ICNkZWZpbmUgSEFWRV9URVJNQ0FQX0ggMQp8ICNkZWZpbmUgSEFW
 RV9USU1FX0ggMQp8ICNkZWZpbmUgSEFWRV9VTklTVERfSCAxCnwgI2RlZmluZSBIQVZFX1VUSU1F
 X0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfTU9VTlRfSCAxCnwgI2RlZmluZSBIQVZFX0dMT0JfSCAx
 CnwgI2RlZmluZSBIQVZFX05CQ09NUEFUX0dMT0IgMQp8ICNkZWZpbmUgSEFWRV9TWVNfUVVFVUVf
 SCAxCnwgI2RlZmluZSBIQVZFX05CQ09NUEFUX1FVRVVFIDEKfCAjZGVmaW5lIEhBVkVfUkVHRVhf
 SCAxCnwgI2RlZmluZSBIQVZFX05CQ09NUEFUX01ENSAxCnwgI2RlZmluZSBIQVZFX05CQ09NUEFU
 X1JNRDE2MCAxCnwgI2RlZmluZSBIQVZFX05CQ09NUEFUX1NIQTEgMQp8ICNkZWZpbmUgSEFWRV9O
 QkNPTVBBVF9TSEEyIDEKfCAjZGVmaW5lIEhBVkVfREVDTF9PUFRBUkcgMQp8ICNkZWZpbmUgSEFW
 RV9ERUNMX09QVElORCAxCnwgI2RlZmluZSBIQVZFX0RFQ0xfT1BUUkVTRVQgMAp8ICNkZWZpbmUg
 SEFWRV9HRVRPUFRfSCAxCnwgI2RlZmluZSBIQVZFX1NUUlVDVF9PUFRJT04gMQp8ICNkZWZpbmUg
 SEFWRV9WSVNfSCAxCnwgI2RlZmluZSBIQVZFX05CQ09NUEFUX1ZJUyAxCnwgI2RlZmluZSBIQVZF
 X19fQVRUUklCVVRFX18gMQp8ICNkZWZpbmUgSEFWRV9VSU5UUFRSX1QgMQp8ICNkZWZpbmUgSEFW
 RV9MT05HX0xPTkcgMQp8ICNkZWZpbmUgSEFWRV9MT05HX0RPVUJMRSAxCnwgLyogZW5kIGNvbmZk
 ZWZzLmguICAqLwp8ICNpZiBIQVZFX1NZU19UWVBFU19ICnwgI2luY2x1ZGUgPHN5cy90eXBlcy5o
 Pgp8ICNlbmRpZgp8ICNpZiBIQVZFX1NZU19QQVJBTV9ICnwgI2luY2x1ZGUgPHN5cy9wYXJhbS5o
 Pgp8ICNlbmRpZgp8ICNpZiBIQVZFX1NZU19NT1VOVF9ICnwgI2luY2x1ZGUgPHN5cy9tb3VudC5o
 Pgp8ICNlbmRpZgp8ICNpZiBIQVZFX1NZU19WRlNfSAp8ICNpbmNsdWRlIDxzeXMvdmZzLmg+Cnwg
 I2VuZGlmCnwgCnwgaW50CnwgbWFpbiAoKQp8IHsKfCBpZiAoc2l6ZW9mICgoZnNpZF90KSkpCnwg
 CSAgICByZXR1cm4gMDsKfCAgIDsKfCAgIHJldHVybiAwOwp8IH0KY29uZmlndXJlOjUxMjg6IHJl
 c3VsdDogeWVzCmNvbmZpZ3VyZTo1MTUwOiBjaGVja2luZyB3aGV0aGVyIGJ5dGUgb3JkZXJpbmcg
 aXMgYmlnZW5kaWFuCmNvbmZpZ3VyZTo1MTY1OiBnY2MgLWMgLWcgLU8yICBjb25mdGVzdC5jID4m
 NQpjb25mdGVzdC5jOjg2Ojk6IGVycm9yOiB1bmtub3duIHR5cGUgbmFtZSAnbm90Jwpjb25mdGVz
 dC5jOjg2OjE1OiBlcnJvcjogZXhwZWN0ZWQgJz0nLCAnLCcsICc7JywgJ2FzbScgb3IgJ19fYXR0
 cmlidXRlX18nIGJlZm9yZSAndW5pdmVyc2FsJwpjb25mdGVzdC5jOjg2OjE1OiBlcnJvcjogdW5r
 bm93biB0eXBlIG5hbWUgJ3VuaXZlcnNhbCcKY29uZmlndXJlOjUxNjU6ICQ/ID0gMQpjb25maWd1
 cmU6IGZhaWxlZCBwcm9ncmFtIHdhczoKfCAvKiBjb25mZGVmcy5oICovCnwgI2RlZmluZSBQQUNL
 QUdFX05BTUUgImxpYm5iY29tcGF0Igp8ICNkZWZpbmUgUEFDS0FHRV9UQVJOQU1FICJsaWJuYmNv
 bXBhdCIKfCAjZGVmaW5lIFBBQ0tBR0VfVkVSU0lPTiAiMjAwODA2MDUiCnwgI2RlZmluZSBQQUNL
 QUdFX1NUUklORyAibGlibmJjb21wYXQgMjAwODA2MDUiCnwgI2RlZmluZSBQQUNLQUdFX0JVR1JF
 UE9SVCAiZ3JhbnRATmV0QlNELm9yZyIKfCAjZGVmaW5lIFBBQ0tBR0VfVVJMICIiCnwgI2RlZmlu
 ZSBTVERDX0hFQURFUlMgMQp8ICNkZWZpbmUgVElNRV9XSVRIX1NZU19USU1FIDEKfCAjZGVmaW5l
 IEhBVkVfU1lTX1RZUEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfU1RBVF9IIDEKfCAjZGVmaW5l
 IEhBVkVfU1RETElCX0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJJTkdfSCAxCnwgI2RlZmluZSBIQVZF
 X01FTU9SWV9IIDEKfCAjZGVmaW5lIEhBVkVfU1RSSU5HU19IIDEKfCAjZGVmaW5lIEhBVkVfSU5U
 VFlQRVNfSCAxCnwgI2RlZmluZSBIQVZFX1NURElOVF9IIDEKfCAjZGVmaW5lIEhBVkVfVU5JU1RE
 X0ggMQp8ICNkZWZpbmUgSEFWRV9fQk9PTCAxCnwgI2RlZmluZSBIQVZFX1NUREJPT0xfSCAxCnwg
 I2RlZmluZSBIQVZFX0FMTE9DQV9IIDEKfCAjZGVmaW5lIEhBVkVfQVNTRVJUX0ggMQp8ICNkZWZp
 bmUgSEFWRV9DVFlQRV9IIDEKfCAjZGVmaW5lIEhBVkVfRElSRU5UX0ggMQp8ICNkZWZpbmUgSEFW
 RV9FTkRJQU5fSCAxCnwgI2RlZmluZSBIQVZFX0VSUl9IIDEKfCAjZGVmaW5lIEhBVkVfRVJSTk9f
 SCAxCnwgI2RlZmluZSBIQVZFX0ZDTlRMX0ggMQp8ICNkZWZpbmUgSEFWRV9GTk1BVENIX0ggMQp8
 ICNkZWZpbmUgSEFWRV9GVFNfSCAxCnwgI2RlZmluZSBIQVZFX0dSUF9IIDEKfCAjZGVmaW5lIEhB
 VkVfSU5UVFlQRVNfSCAxCnwgI2RlZmluZSBIQVZFX0xJQlVUSUxfSCAxCnwgI2RlZmluZSBIQVZF
 X0xJTUlUU19IIDEKfCAjZGVmaW5lIEhBVkVfTkVUREJfSCAxCnwgI2RlZmluZSBIQVZFX1BBVEhT
 X0ggMQp8ICNkZWZpbmUgSEFWRV9QV0RfSCAxCnwgI2RlZmluZSBIQVZFX1NJR05BTF9IIDEKfCAj
 ZGVmaW5lIEhBVkVfU1REQVJHX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERERUZfSCAxCnwgI2RlZmlu
 ZSBIQVZFX1NURElOVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1RESU9fSCAxCnwgI2RlZmluZSBIQVZF
 X1NURExJQl9IIDEKfCAjZGVmaW5lIEhBVkVfU1RSSU5HX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNf
 Q0RFRlNfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19ESVJfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19G
 SUxFX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfUEFSQU1fSCAxCnwgI2RlZmluZSBIQVZFX1NZU19T
 T0NLRVRfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19TVEFUX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNf
 U1RBVEZTX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfU1RBVFZGU19IIDEKfCAjZGVmaW5lIEhBVkVf
 U1lTX1RJTUVfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19UWVBFU19IIDEKfCAjZGVmaW5lIEhBVkVf
 U1lTX1VJT19IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1ZGU19IIDEKfCAjZGVmaW5lIEhBVkVfU1lT
 RVhJVFNfSCAxCnwgI2RlZmluZSBIQVZFX1RFUk1DQVBfSCAxCnwgI2RlZmluZSBIQVZFX1RJTUVf
 SCAxCnwgI2RlZmluZSBIQVZFX1VOSVNURF9IIDEKfCAjZGVmaW5lIEhBVkVfVVRJTUVfSCAxCnwg
 I2RlZmluZSBIQVZFX1NZU19NT1VOVF9IIDEKfCAjZGVmaW5lIEhBVkVfR0xPQl9IIDEKfCAjZGVm
 aW5lIEhBVkVfTkJDT01QQVRfR0xPQiAxCnwgI2RlZmluZSBIQVZFX1NZU19RVUVVRV9IIDEKfCAj
 ZGVmaW5lIEhBVkVfTkJDT01QQVRfUVVFVUUgMQp8ICNkZWZpbmUgSEFWRV9SRUdFWF9IIDEKfCAj
 ZGVmaW5lIEhBVkVfTkJDT01QQVRfTUQ1IDEKfCAjZGVmaW5lIEhBVkVfTkJDT01QQVRfUk1EMTYw
 IDEKfCAjZGVmaW5lIEhBVkVfTkJDT01QQVRfU0hBMSAxCnwgI2RlZmluZSBIQVZFX05CQ09NUEFU
 X1NIQTIgMQp8ICNkZWZpbmUgSEFWRV9ERUNMX09QVEFSRyAxCnwgI2RlZmluZSBIQVZFX0RFQ0xf
 T1BUSU5EIDEKfCAjZGVmaW5lIEhBVkVfREVDTF9PUFRSRVNFVCAwCnwgI2RlZmluZSBIQVZFX0dF
 VE9QVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1RSVUNUX09QVElPTiAxCnwgI2RlZmluZSBIQVZFX1ZJ
 U19IIDEKfCAjZGVmaW5lIEhBVkVfTkJDT01QQVRfVklTIDEKfCAjZGVmaW5lIEhBVkVfX19BVFRS
 SUJVVEVfXyAxCnwgI2RlZmluZSBIQVZFX1VJTlRQVFJfVCAxCnwgI2RlZmluZSBIQVZFX0xPTkdf
 TE9ORyAxCnwgI2RlZmluZSBIQVZFX0xPTkdfRE9VQkxFIDEKfCAjZGVmaW5lIEhBVkVfRlNJRF9U
 IDEKfCAvKiBlbmQgY29uZmRlZnMuaC4gICovCnwgI2lmbmRlZiBfX0FQUExFX0NDX18KfCAJICAg
 ICAgIG5vdCBhIHVuaXZlcnNhbCBjYXBhYmxlIGNvbXBpbGVyCnwgCSAgICAgI2VuZGlmCnwgCSAg
 ICAgdHlwZWRlZiBpbnQgZHVtbXk7CnwgCmNvbmZpZ3VyZTo1MjEwOiBnY2MgLWMgLWcgLU8yICBj
 b25mdGVzdC5jID4mNQpjb25maWd1cmU6NTIxMDogJD8gPSAwCmNvbmZpZ3VyZTo1MjI4OiBnY2Mg
 LWMgLWcgLU8yICBjb25mdGVzdC5jID4mNQpjb25mdGVzdC5jOiBJbiBmdW5jdGlvbiAnbWFpbic6
 CmNvbmZ0ZXN0LmM6OTI6NDogZXJyb3I6IHVua25vd24gdHlwZSBuYW1lICdub3QnCmNvbmZ0ZXN0
 LmM6OTI6MTI6IGVycm9yOiBleHBlY3RlZCAnPScsICcsJywgJzsnLCAnYXNtJyBvciAnX19hdHRy
 aWJ1dGVfXycgYmVmb3JlICdlbmRpYW4nCmNvbmZpZ3VyZTo1MjI4OiAkPyA9IDEKY29uZmlndXJl
 OiBmYWlsZWQgcHJvZ3JhbSB3YXM6CnwgLyogY29uZmRlZnMuaCAqLwp8ICNkZWZpbmUgUEFDS0FH
 RV9OQU1FICJsaWJuYmNvbXBhdCIKfCAjZGVmaW5lIFBBQ0tBR0VfVEFSTkFNRSAibGlibmJjb21w
 YXQiCnwgI2RlZmluZSBQQUNLQUdFX1ZFUlNJT04gIjIwMDgwNjA1Igp8ICNkZWZpbmUgUEFDS0FH
 RV9TVFJJTkcgImxpYm5iY29tcGF0IDIwMDgwNjA1Igp8ICNkZWZpbmUgUEFDS0FHRV9CVUdSRVBP
 UlQgImdyYW50QE5ldEJTRC5vcmciCnwgI2RlZmluZSBQQUNLQUdFX1VSTCAiIgp8ICNkZWZpbmUg
 U1REQ19IRUFERVJTIDEKfCAjZGVmaW5lIFRJTUVfV0lUSF9TWVNfVElNRSAxCnwgI2RlZmluZSBI
 QVZFX1NZU19UWVBFU19IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NUQVRfSCAxCnwgI2RlZmluZSBI
 QVZFX1NURExJQl9IIDEKfCAjZGVmaW5lIEhBVkVfU1RSSU5HX0ggMQp8ICNkZWZpbmUgSEFWRV9N
 RU1PUllfSCAxCnwgI2RlZmluZSBIQVZFX1NUUklOR1NfSCAxCnwgI2RlZmluZSBIQVZFX0lOVFRZ
 UEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERJTlRfSCAxCnwgI2RlZmluZSBIQVZFX1VOSVNURF9I
 IDEKfCAjZGVmaW5lIEhBVkVfX0JPT0wgMQp8ICNkZWZpbmUgSEFWRV9TVERCT09MX0ggMQp8ICNk
 ZWZpbmUgSEFWRV9BTExPQ0FfSCAxCnwgI2RlZmluZSBIQVZFX0FTU0VSVF9IIDEKfCAjZGVmaW5l
 IEhBVkVfQ1RZUEVfSCAxCnwgI2RlZmluZSBIQVZFX0RJUkVOVF9IIDEKfCAjZGVmaW5lIEhBVkVf
 RU5ESUFOX0ggMQp8ICNkZWZpbmUgSEFWRV9FUlJfSCAxCnwgI2RlZmluZSBIQVZFX0VSUk5PX0gg
 MQp8ICNkZWZpbmUgSEFWRV9GQ05UTF9IIDEKfCAjZGVmaW5lIEhBVkVfRk5NQVRDSF9IIDEKfCAj
 ZGVmaW5lIEhBVkVfRlRTX0ggMQp8ICNkZWZpbmUgSEFWRV9HUlBfSCAxCnwgI2RlZmluZSBIQVZF
 X0lOVFRZUEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9MSUJVVElMX0ggMQp8ICNkZWZpbmUgSEFWRV9M
 SU1JVFNfSCAxCnwgI2RlZmluZSBIQVZFX05FVERCX0ggMQp8ICNkZWZpbmUgSEFWRV9QQVRIU19I
 IDEKfCAjZGVmaW5lIEhBVkVfUFdEX0ggMQp8ICNkZWZpbmUgSEFWRV9TSUdOQUxfSCAxCnwgI2Rl
 ZmluZSBIQVZFX1NUREFSR19IIDEKfCAjZGVmaW5lIEhBVkVfU1REREVGX0ggMQp8ICNkZWZpbmUg
 SEFWRV9TVERJTlRfSCAxCnwgI2RlZmluZSBIQVZFX1NURElPX0ggMQp8ICNkZWZpbmUgSEFWRV9T
 VERMSUJfSCAxCnwgI2RlZmluZSBIQVZFX1NUUklOR19IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX0NE
 RUZTX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfRElSX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfRklM
 RV9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1BBUkFNX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfU09D
 S0VUX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfU1RBVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NU
 QVRGU19IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NUQVRWRlNfSCAxCnwgI2RlZmluZSBIQVZFX1NZ
 U19USU1FX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfVFlQRVNfSCAxCnwgI2RlZmluZSBIQVZFX1NZ
 U19VSU9fSCAxCnwgI2RlZmluZSBIQVZFX1NZU19WRlNfSCAxCnwgI2RlZmluZSBIQVZFX1NZU0VY
 SVRTX0ggMQp8ICNkZWZpbmUgSEFWRV9URVJNQ0FQX0ggMQp8ICNkZWZpbmUgSEFWRV9USU1FX0gg
 MQp8ICNkZWZpbmUgSEFWRV9VTklTVERfSCAxCnwgI2RlZmluZSBIQVZFX1VUSU1FX0ggMQp8ICNk
 ZWZpbmUgSEFWRV9TWVNfTU9VTlRfSCAxCnwgI2RlZmluZSBIQVZFX0dMT0JfSCAxCnwgI2RlZmlu
 ZSBIQVZFX05CQ09NUEFUX0dMT0IgMQp8ICNkZWZpbmUgSEFWRV9TWVNfUVVFVUVfSCAxCnwgI2Rl
 ZmluZSBIQVZFX05CQ09NUEFUX1FVRVVFIDEKfCAjZGVmaW5lIEhBVkVfUkVHRVhfSCAxCnwgI2Rl
 ZmluZSBIQVZFX05CQ09NUEFUX01ENSAxCnwgI2RlZmluZSBIQVZFX05CQ09NUEFUX1JNRDE2MCAx
 CnwgI2RlZmluZSBIQVZFX05CQ09NUEFUX1NIQTEgMQp8ICNkZWZpbmUgSEFWRV9OQkNPTVBBVF9T
 SEEyIDEKfCAjZGVmaW5lIEhBVkVfREVDTF9PUFRBUkcgMQp8ICNkZWZpbmUgSEFWRV9ERUNMX09Q
 VElORCAxCnwgI2RlZmluZSBIQVZFX0RFQ0xfT1BUUkVTRVQgMAp8ICNkZWZpbmUgSEFWRV9HRVRP
 UFRfSCAxCnwgI2RlZmluZSBIQVZFX1NUUlVDVF9PUFRJT04gMQp8ICNkZWZpbmUgSEFWRV9WSVNf
 SCAxCnwgI2RlZmluZSBIQVZFX05CQ09NUEFUX1ZJUyAxCnwgI2RlZmluZSBIQVZFX19fQVRUUklC
 VVRFX18gMQp8ICNkZWZpbmUgSEFWRV9VSU5UUFRSX1QgMQp8ICNkZWZpbmUgSEFWRV9MT05HX0xP
 TkcgMQp8ICNkZWZpbmUgSEFWRV9MT05HX0RPVUJMRSAxCnwgI2RlZmluZSBIQVZFX0ZTSURfVCAx
 CnwgLyogZW5kIGNvbmZkZWZzLmguICAqLwp8ICNpbmNsdWRlIDxzeXMvdHlwZXMuaD4KfCAJCSNp
 bmNsdWRlIDxzeXMvcGFyYW0uaD4KfCAKfCBpbnQKfCBtYWluICgpCnwgewp8ICNpZiBCWVRFX09S
 REVSICE9IEJJR19FTkRJQU4KfCAJCSBub3QgYmlnIGVuZGlhbgp8IAkJI2VuZGlmCnwgCnwgICA7
 CnwgICByZXR1cm4gMDsKfCB9CmNvbmZpZ3VyZTo1MzU2OiByZXN1bHQ6IG5vCmNvbmZpZ3VyZTo1
 Mzc4OiBjaGVja2luZyBzaXplIG9mIG9mZl90CmNvbmZpZ3VyZTo1MzgzOiBnY2MgLW8gY29uZnRl
 c3QgLWcgLU8yICAgY29uZnRlc3QuYyAgPiY1CmNvbmZpZ3VyZTo1MzgzOiAkPyA9IDAKY29uZmln
 dXJlOjUzODM6IC4vY29uZnRlc3QKY29uZmlndXJlOjUzODM6ICQ/ID0gMApjb25maWd1cmU6NTM5
 NzogcmVzdWx0OiA0CmNvbmZpZ3VyZTo1NDExOiBjaGVja2luZyBmb3Igc3RkbGliLmgKY29uZmln
 dXJlOjU0MTE6IHJlc3VsdDogeWVzCmNvbmZpZ3VyZTo1NDIxOiBjaGVja2luZyBmb3IgR05VIGxp
 YmMgY29tcGF0aWJsZSBtYWxsb2MKY29uZmlndXJlOjU0NDU6IGdjYyAtbyBjb25mdGVzdCAtZyAt
 TzIgICBjb25mdGVzdC5jICA+JjUKY29uZmlndXJlOjU0NDU6ICQ/ID0gMApjb25maWd1cmU6NTQ0
 NTogLi9jb25mdGVzdApjb25maWd1cmU6NTQ0NTogJD8gPSAwCmNvbmZpZ3VyZTo1NDU1OiByZXN1
 bHQ6IHllcwpjb25maWd1cmU6NTQ3NjogY2hlY2tpbmcgd2hldGhlciBzdHJlcnJvcl9yIGlzIGRl
 Y2xhcmVkCmNvbmZpZ3VyZTo1NDc2OiBnY2MgLWMgLWcgLU8yICBjb25mdGVzdC5jID4mNQpjb25m
 aWd1cmU6NTQ3NjogJD8gPSAwCmNvbmZpZ3VyZTo1NDc2OiByZXN1bHQ6IHllcwpjb25maWd1cmU6
 NTQ4OTogY2hlY2tpbmcgZm9yIHN0cmVycm9yX3IKY29uZmlndXJlOjU0ODk6IGdjYyAtbyBjb25m
 dGVzdCAtZyAtTzIgICBjb25mdGVzdC5jICA+JjUKY29uZmlndXJlOjU0ODk6ICQ/ID0gMApjb25m
 aWd1cmU6NTQ4OTogcmVzdWx0OiB5ZXMKY29uZmlndXJlOjU0OTg6IGNoZWNraW5nIHdoZXRoZXIg
 c3RyZXJyb3JfciByZXR1cm5zIGNoYXIgKgpjb25maWd1cmU6NTUyMjogZ2NjIC1jIC1nIC1PMiAg
 Y29uZnRlc3QuYyA+JjUKY29uZnRlc3QuYzogSW4gZnVuY3Rpb24gJ21haW4nOgpjb25mdGVzdC5j
 OjEyODoxMzogZXJyb3I6IGludmFsaWQgdHlwZSBhcmd1bWVudCBvZiB1bmFyeSAnKicgKGhhdmUg
 J2ludCcpCmNvbmZ0ZXN0LmM6MTI5OjE0OiB3YXJuaW5nOiBpbml0aWFsaXphdGlvbiBtYWtlcyBw
 b2ludGVyIGZyb20gaW50ZWdlciB3aXRob3V0IGEgY2FzdCBbZW5hYmxlZCBieSBkZWZhdWx0XQpj
 b25maWd1cmU6NTUyMjogJD8gPSAxCmNvbmZpZ3VyZTogZmFpbGVkIHByb2dyYW0gd2FzOgp8IC8q
 IGNvbmZkZWZzLmggKi8KfCAjZGVmaW5lIFBBQ0tBR0VfTkFNRSAibGlibmJjb21wYXQiCnwgI2Rl
 ZmluZSBQQUNLQUdFX1RBUk5BTUUgImxpYm5iY29tcGF0Igp8ICNkZWZpbmUgUEFDS0FHRV9WRVJT
 SU9OICIyMDA4MDYwNSIKfCAjZGVmaW5lIFBBQ0tBR0VfU1RSSU5HICJsaWJuYmNvbXBhdCAyMDA4
 MDYwNSIKfCAjZGVmaW5lIFBBQ0tBR0VfQlVHUkVQT1JUICJncmFudEBOZXRCU0Qub3JnIgp8ICNk
 ZWZpbmUgUEFDS0FHRV9VUkwgIiIKfCAjZGVmaW5lIFNURENfSEVBREVSUyAxCnwgI2RlZmluZSBU
 SU1FX1dJVEhfU1lTX1RJTUUgMQp8ICNkZWZpbmUgSEFWRV9TWVNfVFlQRVNfSCAxCnwgI2RlZmlu
 ZSBIQVZFX1NZU19TVEFUX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERMSUJfSCAxCnwgI2RlZmluZSBI
 QVZFX1NUUklOR19IIDEKfCAjZGVmaW5lIEhBVkVfTUVNT1JZX0ggMQp8ICNkZWZpbmUgSEFWRV9T
 VFJJTkdTX0ggMQp8ICNkZWZpbmUgSEFWRV9JTlRUWVBFU19IIDEKfCAjZGVmaW5lIEhBVkVfU1RE
 SU5UX0ggMQp8ICNkZWZpbmUgSEFWRV9VTklTVERfSCAxCnwgI2RlZmluZSBIQVZFX19CT09MIDEK
 fCAjZGVmaW5lIEhBVkVfU1REQk9PTF9IIDEKfCAjZGVmaW5lIEhBVkVfQUxMT0NBX0ggMQp8ICNk
 ZWZpbmUgSEFWRV9BU1NFUlRfSCAxCnwgI2RlZmluZSBIQVZFX0NUWVBFX0ggMQp8ICNkZWZpbmUg
 SEFWRV9ESVJFTlRfSCAxCnwgI2RlZmluZSBIQVZFX0VORElBTl9IIDEKfCAjZGVmaW5lIEhBVkVf
 RVJSX0ggMQp8ICNkZWZpbmUgSEFWRV9FUlJOT19IIDEKfCAjZGVmaW5lIEhBVkVfRkNOVExfSCAx
 CnwgI2RlZmluZSBIQVZFX0ZOTUFUQ0hfSCAxCnwgI2RlZmluZSBIQVZFX0ZUU19IIDEKfCAjZGVm
 aW5lIEhBVkVfR1JQX0ggMQp8ICNkZWZpbmUgSEFWRV9JTlRUWVBFU19IIDEKfCAjZGVmaW5lIEhB
 VkVfTElCVVRJTF9IIDEKfCAjZGVmaW5lIEhBVkVfTElNSVRTX0ggMQp8ICNkZWZpbmUgSEFWRV9O
 RVREQl9IIDEKfCAjZGVmaW5lIEhBVkVfUEFUSFNfSCAxCnwgI2RlZmluZSBIQVZFX1BXRF9IIDEK
 fCAjZGVmaW5lIEhBVkVfU0lHTkFMX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERBUkdfSCAxCnwgI2Rl
 ZmluZSBIQVZFX1NURERFRl9IIDEKfCAjZGVmaW5lIEhBVkVfU1RESU5UX0ggMQp8ICNkZWZpbmUg
 SEFWRV9TVERJT19IIDEKfCAjZGVmaW5lIEhBVkVfU1RETElCX0ggMQp8ICNkZWZpbmUgSEFWRV9T
 VFJJTkdfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19DREVGU19IIDEKfCAjZGVmaW5lIEhBVkVfU1lT
 X0RJUl9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX0ZJTEVfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19Q
 QVJBTV9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NPQ0tFVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1lT
 X1NUQVRfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19TVEFURlNfSCAxCnwgI2RlZmluZSBIQVZFX1NZ
 U19TVEFUVkZTX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfVElNRV9IIDEKfCAjZGVmaW5lIEhBVkVf
 U1lTX1RZUEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfVUlPX0ggMQp8ICNkZWZpbmUgSEFWRV9T
 WVNfVkZTX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNFWElUU19IIDEKfCAjZGVmaW5lIEhBVkVfVEVS
 TUNBUF9IIDEKfCAjZGVmaW5lIEhBVkVfVElNRV9IIDEKfCAjZGVmaW5lIEhBVkVfVU5JU1REX0gg
 MQp8ICNkZWZpbmUgSEFWRV9VVElNRV9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX01PVU5UX0ggMQp8
 ICNkZWZpbmUgSEFWRV9HTE9CX0ggMQp8ICNkZWZpbmUgSEFWRV9OQkNPTVBBVF9HTE9CIDEKfCAj
 ZGVmaW5lIEhBVkVfU1lTX1FVRVVFX0ggMQp8ICNkZWZpbmUgSEFWRV9OQkNPTVBBVF9RVUVVRSAx
 CnwgI2RlZmluZSBIQVZFX1JFR0VYX0ggMQp8ICNkZWZpbmUgSEFWRV9OQkNPTVBBVF9NRDUgMQp8
 ICNkZWZpbmUgSEFWRV9OQkNPTVBBVF9STUQxNjAgMQp8ICNkZWZpbmUgSEFWRV9OQkNPTVBBVF9T
 SEExIDEKfCAjZGVmaW5lIEhBVkVfTkJDT01QQVRfU0hBMiAxCnwgI2RlZmluZSBIQVZFX0RFQ0xf
 T1BUQVJHIDEKfCAjZGVmaW5lIEhBVkVfREVDTF9PUFRJTkQgMQp8ICNkZWZpbmUgSEFWRV9ERUNM
 X09QVFJFU0VUIDAKfCAjZGVmaW5lIEhBVkVfR0VUT1BUX0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJV
 Q1RfT1BUSU9OIDEKfCAjZGVmaW5lIEhBVkVfVklTX0ggMQp8ICNkZWZpbmUgSEFWRV9OQkNPTVBB
 VF9WSVMgMQp8ICNkZWZpbmUgSEFWRV9fX0FUVFJJQlVURV9fIDEKfCAjZGVmaW5lIEhBVkVfVUlO
 VFBUUl9UIDEKfCAjZGVmaW5lIEhBVkVfTE9OR19MT05HIDEKfCAjZGVmaW5lIEhBVkVfTE9OR19E
 T1VCTEUgMQp8ICNkZWZpbmUgSEFWRV9GU0lEX1QgMQp8ICNkZWZpbmUgU0laRU9GX09GRl9UIDQK
 fCAjZGVmaW5lIEhBVkVfU1RETElCX0ggMQp8ICNkZWZpbmUgSEFWRV9NQUxMT0MgMQp8ICNkZWZp
 bmUgSEFWRV9ERUNMX1NUUkVSUk9SX1IgMQp8ICNkZWZpbmUgSEFWRV9TVFJFUlJPUl9SIDEKfCAv
 KiBlbmQgY29uZmRlZnMuaC4gICovCnwgI2luY2x1ZGUgPHN0ZGlvLmg+CnwgI2lmZGVmIEhBVkVf
 U1lTX1RZUEVTX0gKfCAjIGluY2x1ZGUgPHN5cy90eXBlcy5oPgp8ICNlbmRpZgp8ICNpZmRlZiBI
 QVZFX1NZU19TVEFUX0gKfCAjIGluY2x1ZGUgPHN5cy9zdGF0Lmg+CnwgI2VuZGlmCnwgI2lmZGVm
 IFNURENfSEVBREVSUwp8ICMgaW5jbHVkZSA8c3RkbGliLmg+CnwgIyBpbmNsdWRlIDxzdGRkZWYu
 aD4KfCAjZWxzZQp8ICMgaWZkZWYgSEFWRV9TVERMSUJfSAp8ICMgIGluY2x1ZGUgPHN0ZGxpYi5o
 Pgp8ICMgZW5kaWYKfCAjZW5kaWYKfCAjaWZkZWYgSEFWRV9TVFJJTkdfSAp8ICMgaWYgIWRlZmlu
 ZWQgU1REQ19IRUFERVJTICYmIGRlZmluZWQgSEFWRV9NRU1PUllfSAp8ICMgIGluY2x1ZGUgPG1l
 bW9yeS5oPgp8ICMgZW5kaWYKfCAjIGluY2x1ZGUgPHN0cmluZy5oPgp8ICNlbmRpZgp8ICNpZmRl
 ZiBIQVZFX1NUUklOR1NfSAp8ICMgaW5jbHVkZSA8c3RyaW5ncy5oPgp8ICNlbmRpZgp8ICNpZmRl
 ZiBIQVZFX0lOVFRZUEVTX0gKfCAjIGluY2x1ZGUgPGludHR5cGVzLmg+CnwgI2VuZGlmCnwgI2lm
 ZGVmIEhBVkVfU1RESU5UX0gKfCAjIGluY2x1ZGUgPHN0ZGludC5oPgp8ICNlbmRpZgp8ICNpZmRl
 ZiBIQVZFX1VOSVNURF9ICnwgIyBpbmNsdWRlIDx1bmlzdGQuaD4KfCAjZW5kaWYKfCBpbnQKfCBt
 YWluICgpCnwgewp8IAp8IAkgIGNoYXIgYnVmWzEwMF07CnwgCSAgY2hhciB4ID0gKnN0cmVycm9y
 X3IgKDAsIGJ1Ziwgc2l6ZW9mIGJ1Zik7CnwgCSAgY2hhciAqcCA9IHN0cmVycm9yX3IgKDAsIGJ1
 Ziwgc2l6ZW9mIGJ1Zik7CnwgCSAgcmV0dXJuICFwIHx8IHg7CnwgCnwgICA7CnwgICByZXR1cm4g
 MDsKfCB9CmNvbmZpZ3VyZTo1NTYwOiByZXN1bHQ6IG5vCmNvbmZpZ3VyZTo1NTY4OiBjaGVja2lu
 ZyBmb3IgcGlkX3QKY29uZmlndXJlOjU1Njg6IGdjYyAtYyAtZyAtTzIgIGNvbmZ0ZXN0LmMgPiY1
 CmNvbmZpZ3VyZTo1NTY4OiAkPyA9IDAKY29uZmlndXJlOjU1Njg6IGdjYyAtYyAtZyAtTzIgIGNv
 bmZ0ZXN0LmMgPiY1CmNvbmZ0ZXN0LmM6IEluIGZ1bmN0aW9uICdtYWluJzoKY29uZnRlc3QuYzox
 MjY6MjA6IGVycm9yOiBleHBlY3RlZCBleHByZXNzaW9uIGJlZm9yZSAnKScgdG9rZW4KY29uZmln
 dXJlOjU1Njg6ICQ/ID0gMQpjb25maWd1cmU6IGZhaWxlZCBwcm9ncmFtIHdhczoKfCAvKiBjb25m
 ZGVmcy5oICovCnwgI2RlZmluZSBQQUNLQUdFX05BTUUgImxpYm5iY29tcGF0Igp8ICNkZWZpbmUg
 UEFDS0FHRV9UQVJOQU1FICJsaWJuYmNvbXBhdCIKfCAjZGVmaW5lIFBBQ0tBR0VfVkVSU0lPTiAi
 MjAwODA2MDUiCnwgI2RlZmluZSBQQUNLQUdFX1NUUklORyAibGlibmJjb21wYXQgMjAwODA2MDUi
 CnwgI2RlZmluZSBQQUNLQUdFX0JVR1JFUE9SVCAiZ3JhbnRATmV0QlNELm9yZyIKfCAjZGVmaW5l
 IFBBQ0tBR0VfVVJMICIiCnwgI2RlZmluZSBTVERDX0hFQURFUlMgMQp8ICNkZWZpbmUgVElNRV9X
 SVRIX1NZU19USU1FIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1RZUEVTX0ggMQp8ICNkZWZpbmUgSEFW
 RV9TWVNfU1RBVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1RETElCX0ggMQp8ICNkZWZpbmUgSEFWRV9T
 VFJJTkdfSCAxCnwgI2RlZmluZSBIQVZFX01FTU9SWV9IIDEKfCAjZGVmaW5lIEhBVkVfU1RSSU5H
 U19IIDEKfCAjZGVmaW5lIEhBVkVfSU5UVFlQRVNfSCAxCnwgI2RlZmluZSBIQVZFX1NURElOVF9I
 IDEKfCAjZGVmaW5lIEhBVkVfVU5JU1REX0ggMQp8ICNkZWZpbmUgSEFWRV9fQk9PTCAxCnwgI2Rl
 ZmluZSBIQVZFX1NUREJPT0xfSCAxCnwgI2RlZmluZSBIQVZFX0FMTE9DQV9IIDEKfCAjZGVmaW5l
 IEhBVkVfQVNTRVJUX0ggMQp8ICNkZWZpbmUgSEFWRV9DVFlQRV9IIDEKfCAjZGVmaW5lIEhBVkVf
 RElSRU5UX0ggMQp8ICNkZWZpbmUgSEFWRV9FTkRJQU5fSCAxCnwgI2RlZmluZSBIQVZFX0VSUl9I
 IDEKfCAjZGVmaW5lIEhBVkVfRVJSTk9fSCAxCnwgI2RlZmluZSBIQVZFX0ZDTlRMX0ggMQp8ICNk
 ZWZpbmUgSEFWRV9GTk1BVENIX0ggMQp8ICNkZWZpbmUgSEFWRV9GVFNfSCAxCnwgI2RlZmluZSBI
 QVZFX0dSUF9IIDEKfCAjZGVmaW5lIEhBVkVfSU5UVFlQRVNfSCAxCnwgI2RlZmluZSBIQVZFX0xJ
 QlVUSUxfSCAxCnwgI2RlZmluZSBIQVZFX0xJTUlUU19IIDEKfCAjZGVmaW5lIEhBVkVfTkVUREJf
 SCAxCnwgI2RlZmluZSBIQVZFX1BBVEhTX0ggMQp8ICNkZWZpbmUgSEFWRV9QV0RfSCAxCnwgI2Rl
 ZmluZSBIQVZFX1NJR05BTF9IIDEKfCAjZGVmaW5lIEhBVkVfU1REQVJHX0ggMQp8ICNkZWZpbmUg
 SEFWRV9TVERERUZfSCAxCnwgI2RlZmluZSBIQVZFX1NURElOVF9IIDEKfCAjZGVmaW5lIEhBVkVf
 U1RESU9fSCAxCnwgI2RlZmluZSBIQVZFX1NURExJQl9IIDEKfCAjZGVmaW5lIEhBVkVfU1RSSU5H
 X0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfQ0RFRlNfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19ESVJf
 SCAxCnwgI2RlZmluZSBIQVZFX1NZU19GSUxFX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfUEFSQU1f
 SCAxCnwgI2RlZmluZSBIQVZFX1NZU19TT0NLRVRfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19TVEFU
 X0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfU1RBVEZTX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfU1RB
 VFZGU19IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1RJTUVfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19U
 WVBFU19IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1VJT19IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1ZG
 U19IIDEKfCAjZGVmaW5lIEhBVkVfU1lTRVhJVFNfSCAxCnwgI2RlZmluZSBIQVZFX1RFUk1DQVBf
 SCAxCnwgI2RlZmluZSBIQVZFX1RJTUVfSCAxCnwgI2RlZmluZSBIQVZFX1VOSVNURF9IIDEKfCAj
 ZGVmaW5lIEhBVkVfVVRJTUVfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19NT1VOVF9IIDEKfCAjZGVm
 aW5lIEhBVkVfR0xPQl9IIDEKfCAjZGVmaW5lIEhBVkVfTkJDT01QQVRfR0xPQiAxCnwgI2RlZmlu
 ZSBIQVZFX1NZU19RVUVVRV9IIDEKfCAjZGVmaW5lIEhBVkVfTkJDT01QQVRfUVVFVUUgMQp8ICNk
 ZWZpbmUgSEFWRV9SRUdFWF9IIDEKfCAjZGVmaW5lIEhBVkVfTkJDT01QQVRfTUQ1IDEKfCAjZGVm
 aW5lIEhBVkVfTkJDT01QQVRfUk1EMTYwIDEKfCAjZGVmaW5lIEhBVkVfTkJDT01QQVRfU0hBMSAx
 CnwgI2RlZmluZSBIQVZFX05CQ09NUEFUX1NIQTIgMQp8ICNkZWZpbmUgSEFWRV9ERUNMX09QVEFS
 RyAxCnwgI2RlZmluZSBIQVZFX0RFQ0xfT1BUSU5EIDEKfCAjZGVmaW5lIEhBVkVfREVDTF9PUFRS
 RVNFVCAwCnwgI2RlZmluZSBIQVZFX0dFVE9QVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1RSVUNUX09Q
 VElPTiAxCnwgI2RlZmluZSBIQVZFX1ZJU19IIDEKfCAjZGVmaW5lIEhBVkVfTkJDT01QQVRfVklT
 IDEKfCAjZGVmaW5lIEhBVkVfX19BVFRSSUJVVEVfXyAxCnwgI2RlZmluZSBIQVZFX1VJTlRQVFJf
 VCAxCnwgI2RlZmluZSBIQVZFX0xPTkdfTE9ORyAxCnwgI2RlZmluZSBIQVZFX0xPTkdfRE9VQkxF
 IDEKfCAjZGVmaW5lIEhBVkVfRlNJRF9UIDEKfCAjZGVmaW5lIFNJWkVPRl9PRkZfVCA0CnwgI2Rl
 ZmluZSBIQVZFX1NURExJQl9IIDEKfCAjZGVmaW5lIEhBVkVfTUFMTE9DIDEKfCAjZGVmaW5lIEhB
 VkVfREVDTF9TVFJFUlJPUl9SIDEKfCAjZGVmaW5lIEhBVkVfU1RSRVJST1JfUiAxCnwgLyogZW5k
 IGNvbmZkZWZzLmguICAqLwp8ICNpbmNsdWRlIDxzdGRpby5oPgp8ICNpZmRlZiBIQVZFX1NZU19U
 WVBFU19ICnwgIyBpbmNsdWRlIDxzeXMvdHlwZXMuaD4KfCAjZW5kaWYKfCAjaWZkZWYgSEFWRV9T
 WVNfU1RBVF9ICnwgIyBpbmNsdWRlIDxzeXMvc3RhdC5oPgp8ICNlbmRpZgp8ICNpZmRlZiBTVERD
 X0hFQURFUlMKfCAjIGluY2x1ZGUgPHN0ZGxpYi5oPgp8ICMgaW5jbHVkZSA8c3RkZGVmLmg+Cnwg
 I2Vsc2UKfCAjIGlmZGVmIEhBVkVfU1RETElCX0gKfCAjICBpbmNsdWRlIDxzdGRsaWIuaD4KfCAj
 IGVuZGlmCnwgI2VuZGlmCnwgI2lmZGVmIEhBVkVfU1RSSU5HX0gKfCAjIGlmICFkZWZpbmVkIFNU
 RENfSEVBREVSUyAmJiBkZWZpbmVkIEhBVkVfTUVNT1JZX0gKfCAjICBpbmNsdWRlIDxtZW1vcnku
 aD4KfCAjIGVuZGlmCnwgIyBpbmNsdWRlIDxzdHJpbmcuaD4KfCAjZW5kaWYKfCAjaWZkZWYgSEFW
 RV9TVFJJTkdTX0gKfCAjIGluY2x1ZGUgPHN0cmluZ3MuaD4KfCAjZW5kaWYKfCAjaWZkZWYgSEFW
 RV9JTlRUWVBFU19ICnwgIyBpbmNsdWRlIDxpbnR0eXBlcy5oPgp8ICNlbmRpZgp8ICNpZmRlZiBI
 QVZFX1NURElOVF9ICnwgIyBpbmNsdWRlIDxzdGRpbnQuaD4KfCAjZW5kaWYKfCAjaWZkZWYgSEFW
 RV9VTklTVERfSAp8ICMgaW5jbHVkZSA8dW5pc3RkLmg+CnwgI2VuZGlmCnwgaW50CnwgbWFpbiAo
 KQp8IHsKfCBpZiAoc2l6ZW9mICgocGlkX3QpKSkKfCAJICAgIHJldHVybiAwOwp8ICAgOwp8ICAg
 cmV0dXJuIDA7CnwgfQpjb25maWd1cmU6NTU2ODogcmVzdWx0OiB5ZXMKY29uZmlndXJlOjU1ODE6
 IGNoZWNraW5nIHZmb3JrLmggdXNhYmlsaXR5CmNvbmZpZ3VyZTo1NTgxOiBnY2MgLWMgLWcgLU8y
 ICBjb25mdGVzdC5jID4mNQpjb25mdGVzdC5jOjEyMzoxOTogZmF0YWwgZXJyb3I6IHZmb3JrLmg6
 IE5vIHN1Y2ggZmlsZSBvciBkaXJlY3RvcnkKY29tcGlsYXRpb24gdGVybWluYXRlZC4KY29uZmln
 dXJlOjU1ODE6ICQ/ID0gMQpjb25maWd1cmU6IGZhaWxlZCBwcm9ncmFtIHdhczoKfCAvKiBjb25m
 ZGVmcy5oICovCnwgI2RlZmluZSBQQUNLQUdFX05BTUUgImxpYm5iY29tcGF0Igp8ICNkZWZpbmUg
 UEFDS0FHRV9UQVJOQU1FICJsaWJuYmNvbXBhdCIKfCAjZGVmaW5lIFBBQ0tBR0VfVkVSU0lPTiAi
 MjAwODA2MDUiCnwgI2RlZmluZSBQQUNLQUdFX1NUUklORyAibGlibmJjb21wYXQgMjAwODA2MDUi
 CnwgI2RlZmluZSBQQUNLQUdFX0JVR1JFUE9SVCAiZ3JhbnRATmV0QlNELm9yZyIKfCAjZGVmaW5l
 IFBBQ0tBR0VfVVJMICIiCnwgI2RlZmluZSBTVERDX0hFQURFUlMgMQp8ICNkZWZpbmUgVElNRV9X
 SVRIX1NZU19USU1FIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1RZUEVTX0ggMQp8ICNkZWZpbmUgSEFW
 RV9TWVNfU1RBVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1RETElCX0ggMQp8ICNkZWZpbmUgSEFWRV9T
 VFJJTkdfSCAxCnwgI2RlZmluZSBIQVZFX01FTU9SWV9IIDEKfCAjZGVmaW5lIEhBVkVfU1RSSU5H
 U19IIDEKfCAjZGVmaW5lIEhBVkVfSU5UVFlQRVNfSCAxCnwgI2RlZmluZSBIQVZFX1NURElOVF9I
 IDEKfCAjZGVmaW5lIEhBVkVfVU5JU1REX0ggMQp8ICNkZWZpbmUgSEFWRV9fQk9PTCAxCnwgI2Rl
 ZmluZSBIQVZFX1NUREJPT0xfSCAxCnwgI2RlZmluZSBIQVZFX0FMTE9DQV9IIDEKfCAjZGVmaW5l
 IEhBVkVfQVNTRVJUX0ggMQp8ICNkZWZpbmUgSEFWRV9DVFlQRV9IIDEKfCAjZGVmaW5lIEhBVkVf
 RElSRU5UX0ggMQp8ICNkZWZpbmUgSEFWRV9FTkRJQU5fSCAxCnwgI2RlZmluZSBIQVZFX0VSUl9I
 IDEKfCAjZGVmaW5lIEhBVkVfRVJSTk9fSCAxCnwgI2RlZmluZSBIQVZFX0ZDTlRMX0ggMQp8ICNk
 ZWZpbmUgSEFWRV9GTk1BVENIX0ggMQp8ICNkZWZpbmUgSEFWRV9GVFNfSCAxCnwgI2RlZmluZSBI
 QVZFX0dSUF9IIDEKfCAjZGVmaW5lIEhBVkVfSU5UVFlQRVNfSCAxCnwgI2RlZmluZSBIQVZFX0xJ
 QlVUSUxfSCAxCnwgI2RlZmluZSBIQVZFX0xJTUlUU19IIDEKfCAjZGVmaW5lIEhBVkVfTkVUREJf
 SCAxCnwgI2RlZmluZSBIQVZFX1BBVEhTX0ggMQp8ICNkZWZpbmUgSEFWRV9QV0RfSCAxCnwgI2Rl
 ZmluZSBIQVZFX1NJR05BTF9IIDEKfCAjZGVmaW5lIEhBVkVfU1REQVJHX0ggMQp8ICNkZWZpbmUg
 SEFWRV9TVERERUZfSCAxCnwgI2RlZmluZSBIQVZFX1NURElOVF9IIDEKfCAjZGVmaW5lIEhBVkVf
 U1RESU9fSCAxCnwgI2RlZmluZSBIQVZFX1NURExJQl9IIDEKfCAjZGVmaW5lIEhBVkVfU1RSSU5H
 X0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfQ0RFRlNfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19ESVJf
 SCAxCnwgI2RlZmluZSBIQVZFX1NZU19GSUxFX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfUEFSQU1f
 SCAxCnwgI2RlZmluZSBIQVZFX1NZU19TT0NLRVRfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19TVEFU
 X0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfU1RBVEZTX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfU1RB
 VFZGU19IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1RJTUVfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19U
 WVBFU19IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1VJT19IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1ZG
 U19IIDEKfCAjZGVmaW5lIEhBVkVfU1lTRVhJVFNfSCAxCnwgI2RlZmluZSBIQVZFX1RFUk1DQVBf
 SCAxCnwgI2RlZmluZSBIQVZFX1RJTUVfSCAxCnwgI2RlZmluZSBIQVZFX1VOSVNURF9IIDEKfCAj
 ZGVmaW5lIEhBVkVfVVRJTUVfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19NT1VOVF9IIDEKfCAjZGVm
 aW5lIEhBVkVfR0xPQl9IIDEKfCAjZGVmaW5lIEhBVkVfTkJDT01QQVRfR0xPQiAxCnwgI2RlZmlu
 ZSBIQVZFX1NZU19RVUVVRV9IIDEKfCAjZGVmaW5lIEhBVkVfTkJDT01QQVRfUVVFVUUgMQp8ICNk
 ZWZpbmUgSEFWRV9SRUdFWF9IIDEKfCAjZGVmaW5lIEhBVkVfTkJDT01QQVRfTUQ1IDEKfCAjZGVm
 aW5lIEhBVkVfTkJDT01QQVRfUk1EMTYwIDEKfCAjZGVmaW5lIEhBVkVfTkJDT01QQVRfU0hBMSAx
 CnwgI2RlZmluZSBIQVZFX05CQ09NUEFUX1NIQTIgMQp8ICNkZWZpbmUgSEFWRV9ERUNMX09QVEFS
 RyAxCnwgI2RlZmluZSBIQVZFX0RFQ0xfT1BUSU5EIDEKfCAjZGVmaW5lIEhBVkVfREVDTF9PUFRS
 RVNFVCAwCnwgI2RlZmluZSBIQVZFX0dFVE9QVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1RSVUNUX09Q
 VElPTiAxCnwgI2RlZmluZSBIQVZFX1ZJU19IIDEKfCAjZGVmaW5lIEhBVkVfTkJDT01QQVRfVklT
 IDEKfCAjZGVmaW5lIEhBVkVfX19BVFRSSUJVVEVfXyAxCnwgI2RlZmluZSBIQVZFX1VJTlRQVFJf
 VCAxCnwgI2RlZmluZSBIQVZFX0xPTkdfTE9ORyAxCnwgI2RlZmluZSBIQVZFX0xPTkdfRE9VQkxF
 IDEKfCAjZGVmaW5lIEhBVkVfRlNJRF9UIDEKfCAjZGVmaW5lIFNJWkVPRl9PRkZfVCA0CnwgI2Rl
 ZmluZSBIQVZFX1NURExJQl9IIDEKfCAjZGVmaW5lIEhBVkVfTUFMTE9DIDEKfCAjZGVmaW5lIEhB
 VkVfREVDTF9TVFJFUlJPUl9SIDEKfCAjZGVmaW5lIEhBVkVfU1RSRVJST1JfUiAxCnwgLyogZW5k
 IGNvbmZkZWZzLmguICAqLwp8ICNpbmNsdWRlIDxzdGRpby5oPgp8ICNpZmRlZiBIQVZFX1NZU19U
 WVBFU19ICnwgIyBpbmNsdWRlIDxzeXMvdHlwZXMuaD4KfCAjZW5kaWYKfCAjaWZkZWYgSEFWRV9T
 WVNfU1RBVF9ICnwgIyBpbmNsdWRlIDxzeXMvc3RhdC5oPgp8ICNlbmRpZgp8ICNpZmRlZiBTVERD
 X0hFQURFUlMKfCAjIGluY2x1ZGUgPHN0ZGxpYi5oPgp8ICMgaW5jbHVkZSA8c3RkZGVmLmg+Cnwg
 I2Vsc2UKfCAjIGlmZGVmIEhBVkVfU1RETElCX0gKfCAjICBpbmNsdWRlIDxzdGRsaWIuaD4KfCAj
 IGVuZGlmCnwgI2VuZGlmCnwgI2lmZGVmIEhBVkVfU1RSSU5HX0gKfCAjIGlmICFkZWZpbmVkIFNU
 RENfSEVBREVSUyAmJiBkZWZpbmVkIEhBVkVfTUVNT1JZX0gKfCAjICBpbmNsdWRlIDxtZW1vcnku
 aD4KfCAjIGVuZGlmCnwgIyBpbmNsdWRlIDxzdHJpbmcuaD4KfCAjZW5kaWYKfCAjaWZkZWYgSEFW
 RV9TVFJJTkdTX0gKfCAjIGluY2x1ZGUgPHN0cmluZ3MuaD4KfCAjZW5kaWYKfCAjaWZkZWYgSEFW
 RV9JTlRUWVBFU19ICnwgIyBpbmNsdWRlIDxpbnR0eXBlcy5oPgp8ICNlbmRpZgp8ICNpZmRlZiBI
 QVZFX1NURElOVF9ICnwgIyBpbmNsdWRlIDxzdGRpbnQuaD4KfCAjZW5kaWYKfCAjaWZkZWYgSEFW
 RV9VTklTVERfSAp8ICMgaW5jbHVkZSA8dW5pc3RkLmg+CnwgI2VuZGlmCnwgI2luY2x1ZGUgPHZm
 b3JrLmg+CmNvbmZpZ3VyZTo1NTgxOiByZXN1bHQ6IG5vCmNvbmZpZ3VyZTo1NTgxOiBjaGVja2lu
 ZyB2Zm9yay5oIHByZXNlbmNlCmNvbmZpZ3VyZTo1NTgxOiBnY2MgLUUgIGNvbmZ0ZXN0LmMKY29u
 ZnRlc3QuYzo5MDoxOTogZmF0YWwgZXJyb3I6IHZmb3JrLmg6IE5vIHN1Y2ggZmlsZSBvciBkaXJl
 Y3RvcnkKY29tcGlsYXRpb24gdGVybWluYXRlZC4KY29uZmlndXJlOjU1ODE6ICQ/ID0gMQpjb25m
 aWd1cmU6IGZhaWxlZCBwcm9ncmFtIHdhczoKfCAvKiBjb25mZGVmcy5oICovCnwgI2RlZmluZSBQ
 QUNLQUdFX05BTUUgImxpYm5iY29tcGF0Igp8ICNkZWZpbmUgUEFDS0FHRV9UQVJOQU1FICJsaWJu
 YmNvbXBhdCIKfCAjZGVmaW5lIFBBQ0tBR0VfVkVSU0lPTiAiMjAwODA2MDUiCnwgI2RlZmluZSBQ
 QUNLQUdFX1NUUklORyAibGlibmJjb21wYXQgMjAwODA2MDUiCnwgI2RlZmluZSBQQUNLQUdFX0JV
 R1JFUE9SVCAiZ3JhbnRATmV0QlNELm9yZyIKfCAjZGVmaW5lIFBBQ0tBR0VfVVJMICIiCnwgI2Rl
 ZmluZSBTVERDX0hFQURFUlMgMQp8ICNkZWZpbmUgVElNRV9XSVRIX1NZU19USU1FIDEKfCAjZGVm
 aW5lIEhBVkVfU1lTX1RZUEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfU1RBVF9IIDEKfCAjZGVm
 aW5lIEhBVkVfU1RETElCX0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJJTkdfSCAxCnwgI2RlZmluZSBI
 QVZFX01FTU9SWV9IIDEKfCAjZGVmaW5lIEhBVkVfU1RSSU5HU19IIDEKfCAjZGVmaW5lIEhBVkVf
 SU5UVFlQRVNfSCAxCnwgI2RlZmluZSBIQVZFX1NURElOVF9IIDEKfCAjZGVmaW5lIEhBVkVfVU5J
 U1REX0ggMQp8ICNkZWZpbmUgSEFWRV9fQk9PTCAxCnwgI2RlZmluZSBIQVZFX1NUREJPT0xfSCAx
 CnwgI2RlZmluZSBIQVZFX0FMTE9DQV9IIDEKfCAjZGVmaW5lIEhBVkVfQVNTRVJUX0ggMQp8ICNk
 ZWZpbmUgSEFWRV9DVFlQRV9IIDEKfCAjZGVmaW5lIEhBVkVfRElSRU5UX0ggMQp8ICNkZWZpbmUg
 SEFWRV9FTkRJQU5fSCAxCnwgI2RlZmluZSBIQVZFX0VSUl9IIDEKfCAjZGVmaW5lIEhBVkVfRVJS
 Tk9fSCAxCnwgI2RlZmluZSBIQVZFX0ZDTlRMX0ggMQp8ICNkZWZpbmUgSEFWRV9GTk1BVENIX0gg
 MQp8ICNkZWZpbmUgSEFWRV9GVFNfSCAxCnwgI2RlZmluZSBIQVZFX0dSUF9IIDEKfCAjZGVmaW5l
 IEhBVkVfSU5UVFlQRVNfSCAxCnwgI2RlZmluZSBIQVZFX0xJQlVUSUxfSCAxCnwgI2RlZmluZSBI
 QVZFX0xJTUlUU19IIDEKfCAjZGVmaW5lIEhBVkVfTkVUREJfSCAxCnwgI2RlZmluZSBIQVZFX1BB
 VEhTX0ggMQp8ICNkZWZpbmUgSEFWRV9QV0RfSCAxCnwgI2RlZmluZSBIQVZFX1NJR05BTF9IIDEK
 fCAjZGVmaW5lIEhBVkVfU1REQVJHX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERERUZfSCAxCnwgI2Rl
 ZmluZSBIQVZFX1NURElOVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1RESU9fSCAxCnwgI2RlZmluZSBI
 QVZFX1NURExJQl9IIDEKfCAjZGVmaW5lIEhBVkVfU1RSSU5HX0ggMQp8ICNkZWZpbmUgSEFWRV9T
 WVNfQ0RFRlNfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19ESVJfSCAxCnwgI2RlZmluZSBIQVZFX1NZ
 U19GSUxFX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfUEFSQU1fSCAxCnwgI2RlZmluZSBIQVZFX1NZ
 U19TT0NLRVRfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19TVEFUX0ggMQp8ICNkZWZpbmUgSEFWRV9T
 WVNfU1RBVEZTX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfU1RBVFZGU19IIDEKfCAjZGVmaW5lIEhB
 VkVfU1lTX1RJTUVfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19UWVBFU19IIDEKfCAjZGVmaW5lIEhB
 VkVfU1lTX1VJT19IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1ZGU19IIDEKfCAjZGVmaW5lIEhBVkVf
 U1lTRVhJVFNfSCAxCnwgI2RlZmluZSBIQVZFX1RFUk1DQVBfSCAxCnwgI2RlZmluZSBIQVZFX1RJ
 TUVfSCAxCnwgI2RlZmluZSBIQVZFX1VOSVNURF9IIDEKfCAjZGVmaW5lIEhBVkVfVVRJTUVfSCAx
 CnwgI2RlZmluZSBIQVZFX1NZU19NT1VOVF9IIDEKfCAjZGVmaW5lIEhBVkVfR0xPQl9IIDEKfCAj
 ZGVmaW5lIEhBVkVfTkJDT01QQVRfR0xPQiAxCnwgI2RlZmluZSBIQVZFX1NZU19RVUVVRV9IIDEK
 fCAjZGVmaW5lIEhBVkVfTkJDT01QQVRfUVVFVUUgMQp8ICNkZWZpbmUgSEFWRV9SRUdFWF9IIDEK
 fCAjZGVmaW5lIEhBVkVfTkJDT01QQVRfTUQ1IDEKfCAjZGVmaW5lIEhBVkVfTkJDT01QQVRfUk1E
 MTYwIDEKfCAjZGVmaW5lIEhBVkVfTkJDT01QQVRfU0hBMSAxCnwgI2RlZmluZSBIQVZFX05CQ09N
 UEFUX1NIQTIgMQp8ICNkZWZpbmUgSEFWRV9ERUNMX09QVEFSRyAxCnwgI2RlZmluZSBIQVZFX0RF
 Q0xfT1BUSU5EIDEKfCAjZGVmaW5lIEhBVkVfREVDTF9PUFRSRVNFVCAwCnwgI2RlZmluZSBIQVZF
 X0dFVE9QVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1RSVUNUX09QVElPTiAxCnwgI2RlZmluZSBIQVZF
 X1ZJU19IIDEKfCAjZGVmaW5lIEhBVkVfTkJDT01QQVRfVklTIDEKfCAjZGVmaW5lIEhBVkVfX19B
 VFRSSUJVVEVfXyAxCnwgI2RlZmluZSBIQVZFX1VJTlRQVFJfVCAxCnwgI2RlZmluZSBIQVZFX0xP
 TkdfTE9ORyAxCnwgI2RlZmluZSBIQVZFX0xPTkdfRE9VQkxFIDEKfCAjZGVmaW5lIEhBVkVfRlNJ
 RF9UIDEKfCAjZGVmaW5lIFNJWkVPRl9PRkZfVCA0CnwgI2RlZmluZSBIQVZFX1NURExJQl9IIDEK
 fCAjZGVmaW5lIEhBVkVfTUFMTE9DIDEKfCAjZGVmaW5lIEhBVkVfREVDTF9TVFJFUlJPUl9SIDEK
 fCAjZGVmaW5lIEhBVkVfU1RSRVJST1JfUiAxCnwgLyogZW5kIGNvbmZkZWZzLmguICAqLwp8ICNp
 bmNsdWRlIDx2Zm9yay5oPgpjb25maWd1cmU6NTU4MTogcmVzdWx0OiBubwpjb25maWd1cmU6NTU4
 MTogY2hlY2tpbmcgZm9yIHZmb3JrLmgKY29uZmlndXJlOjU1ODE6IHJlc3VsdDogbm8KY29uZmln
 dXJlOjU1OTQ6IGNoZWNraW5nIGZvciBmb3JrCmNvbmZpZ3VyZTo1NTk0OiBnY2MgLW8gY29uZnRl
 c3QgLWcgLU8yICAgY29uZnRlc3QuYyAgPiY1CmNvbmZ0ZXN0LmM6MTEzOjY6IHdhcm5pbmc6IGNv
 bmZsaWN0aW5nIHR5cGVzIGZvciBidWlsdC1pbiBmdW5jdGlvbiAnZm9yaycgW2VuYWJsZWQgYnkg
 ZGVmYXVsdF0KY29uZmlndXJlOjU1OTQ6ICQ/ID0gMApjb25maWd1cmU6NTU5NDogcmVzdWx0OiB5
 ZXMKY29uZmlndXJlOjU1OTQ6IGNoZWNraW5nIGZvciB2Zm9yawpjb25maWd1cmU6NTU5NDogZ2Nj
 IC1vIGNvbmZ0ZXN0IC1nIC1PMiAgIGNvbmZ0ZXN0LmMgID4mNQpjb25maWd1cmU6NTU5NDogJD8g
 PSAwCmNvbmZpZ3VyZTo1NTk0OiByZXN1bHQ6IHllcwpjb25maWd1cmU6NTYwNDogY2hlY2tpbmcg
 Zm9yIHdvcmtpbmcgZm9yawpjb25maWd1cmU6NTYyNjogZ2NjIC1vIGNvbmZ0ZXN0IC1nIC1PMiAg
 IGNvbmZ0ZXN0LmMgID4mNQpjb25maWd1cmU6NTYyNjogJD8gPSAwCmNvbmZpZ3VyZTo1NjI2OiAu
 L2NvbmZ0ZXN0CmNvbmZpZ3VyZTo1NjI2OiAkPyA9IDAKY29uZmlndXJlOjU2MzY6IHJlc3VsdDog
 eWVzCmNvbmZpZ3VyZTo1NjU3OiBjaGVja2luZyBmb3Igd29ya2luZyB2Zm9yawpjb25maWd1cmU6
 NTc2NzogcmVzdWx0OiB5ZXMKY29uZmlndXJlOjU3OTQ6IGNoZWNraW5nIGZvciB2cHJpbnRmCmNv
 bmZpZ3VyZTo1Nzk0OiBnY2MgLW8gY29uZnRlc3QgLWcgLU8yICAgY29uZnRlc3QuYyAgPiY1CmNv
 bmZ0ZXN0LmM6MTE3OjY6IHdhcm5pbmc6IGNvbmZsaWN0aW5nIHR5cGVzIGZvciBidWlsdC1pbiBm
 dW5jdGlvbiAndnByaW50ZicgW2VuYWJsZWQgYnkgZGVmYXVsdF0KY29uZmlndXJlOjU3OTQ6ICQ/
 ID0gMApjb25maWd1cmU6NTc5NDogcmVzdWx0OiB5ZXMKY29uZmlndXJlOjU4MDA6IGNoZWNraW5n
 IGZvciBfZG9wcm50CmNvbmZpZ3VyZTo1ODAwOiBnY2MgLW8gY29uZnRlc3QgLWcgLU8yICAgY29u
 ZnRlc3QuYyAgPiY1Ci90bXAvY2NVRjlySXEubzogSW4gZnVuY3Rpb24gYG1haW4nOgovbWVkaWEv
 c2RiMi9zcmMvcGtnc3JjL2Jvb3RzdHJhcC93b3JrL2xpYm5iY29tcGF0L2NvbmZ0ZXN0LmM6MTI5
 OiB1bmRlZmluZWQgcmVmZXJlbmNlIHRvIGBfZG9wcm50Jwpjb2xsZWN0MjogbGQgcmV0dXJuZWQg
 MSBleGl0IHN0YXR1cwpjb25maWd1cmU6NTgwMDogJD8gPSAxCmNvbmZpZ3VyZTogZmFpbGVkIHBy
 b2dyYW0gd2FzOgp8IC8qIGNvbmZkZWZzLmggKi8KfCAjZGVmaW5lIFBBQ0tBR0VfTkFNRSAibGli
 bmJjb21wYXQiCnwgI2RlZmluZSBQQUNLQUdFX1RBUk5BTUUgImxpYm5iY29tcGF0Igp8ICNkZWZp
 bmUgUEFDS0FHRV9WRVJTSU9OICIyMDA4MDYwNSIKfCAjZGVmaW5lIFBBQ0tBR0VfU1RSSU5HICJs
 aWJuYmNvbXBhdCAyMDA4MDYwNSIKfCAjZGVmaW5lIFBBQ0tBR0VfQlVHUkVQT1JUICJncmFudEBO
 ZXRCU0Qub3JnIgp8ICNkZWZpbmUgUEFDS0FHRV9VUkwgIiIKfCAjZGVmaW5lIFNURENfSEVBREVS
 UyAxCnwgI2RlZmluZSBUSU1FX1dJVEhfU1lTX1RJTUUgMQp8ICNkZWZpbmUgSEFWRV9TWVNfVFlQ
 RVNfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19TVEFUX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERMSUJf
 SCAxCnwgI2RlZmluZSBIQVZFX1NUUklOR19IIDEKfCAjZGVmaW5lIEhBVkVfTUVNT1JZX0ggMQp8
 ICNkZWZpbmUgSEFWRV9TVFJJTkdTX0ggMQp8ICNkZWZpbmUgSEFWRV9JTlRUWVBFU19IIDEKfCAj
 ZGVmaW5lIEhBVkVfU1RESU5UX0ggMQp8ICNkZWZpbmUgSEFWRV9VTklTVERfSCAxCnwgI2RlZmlu
 ZSBIQVZFX19CT09MIDEKfCAjZGVmaW5lIEhBVkVfU1REQk9PTF9IIDEKfCAjZGVmaW5lIEhBVkVf
 QUxMT0NBX0ggMQp8ICNkZWZpbmUgSEFWRV9BU1NFUlRfSCAxCnwgI2RlZmluZSBIQVZFX0NUWVBF
 X0ggMQp8ICNkZWZpbmUgSEFWRV9ESVJFTlRfSCAxCnwgI2RlZmluZSBIQVZFX0VORElBTl9IIDEK
 fCAjZGVmaW5lIEhBVkVfRVJSX0ggMQp8ICNkZWZpbmUgSEFWRV9FUlJOT19IIDEKfCAjZGVmaW5l
 IEhBVkVfRkNOVExfSCAxCnwgI2RlZmluZSBIQVZFX0ZOTUFUQ0hfSCAxCnwgI2RlZmluZSBIQVZF
 X0ZUU19IIDEKfCAjZGVmaW5lIEhBVkVfR1JQX0ggMQp8ICNkZWZpbmUgSEFWRV9JTlRUWVBFU19I
 IDEKfCAjZGVmaW5lIEhBVkVfTElCVVRJTF9IIDEKfCAjZGVmaW5lIEhBVkVfTElNSVRTX0ggMQp8
 ICNkZWZpbmUgSEFWRV9ORVREQl9IIDEKfCAjZGVmaW5lIEhBVkVfUEFUSFNfSCAxCnwgI2RlZmlu
 ZSBIQVZFX1BXRF9IIDEKfCAjZGVmaW5lIEhBVkVfU0lHTkFMX0ggMQp8ICNkZWZpbmUgSEFWRV9T
 VERBUkdfSCAxCnwgI2RlZmluZSBIQVZFX1NURERFRl9IIDEKfCAjZGVmaW5lIEhBVkVfU1RESU5U
 X0ggMQp8ICNkZWZpbmUgSEFWRV9TVERJT19IIDEKfCAjZGVmaW5lIEhBVkVfU1RETElCX0ggMQp8
 ICNkZWZpbmUgSEFWRV9TVFJJTkdfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19DREVGU19IIDEKfCAj
 ZGVmaW5lIEhBVkVfU1lTX0RJUl9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX0ZJTEVfSCAxCnwgI2Rl
 ZmluZSBIQVZFX1NZU19QQVJBTV9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NPQ0tFVF9IIDEKfCAj
 ZGVmaW5lIEhBVkVfU1lTX1NUQVRfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19TVEFURlNfSCAxCnwg
 I2RlZmluZSBIQVZFX1NZU19TVEFUVkZTX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfVElNRV9IIDEK
 fCAjZGVmaW5lIEhBVkVfU1lTX1RZUEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfVUlPX0ggMQp8
 ICNkZWZpbmUgSEFWRV9TWVNfVkZTX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNFWElUU19IIDEKfCAj
 ZGVmaW5lIEhBVkVfVEVSTUNBUF9IIDEKfCAjZGVmaW5lIEhBVkVfVElNRV9IIDEKfCAjZGVmaW5l
 IEhBVkVfVU5JU1REX0ggMQp8ICNkZWZpbmUgSEFWRV9VVElNRV9IIDEKfCAjZGVmaW5lIEhBVkVf
 U1lTX01PVU5UX0ggMQp8ICNkZWZpbmUgSEFWRV9HTE9CX0ggMQp8ICNkZWZpbmUgSEFWRV9OQkNP
 TVBBVF9HTE9CIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1FVRVVFX0ggMQp8ICNkZWZpbmUgSEFWRV9O
 QkNPTVBBVF9RVUVVRSAxCnwgI2RlZmluZSBIQVZFX1JFR0VYX0ggMQp8ICNkZWZpbmUgSEFWRV9O
 QkNPTVBBVF9NRDUgMQp8ICNkZWZpbmUgSEFWRV9OQkNPTVBBVF9STUQxNjAgMQp8ICNkZWZpbmUg
 SEFWRV9OQkNPTVBBVF9TSEExIDEKfCAjZGVmaW5lIEhBVkVfTkJDT01QQVRfU0hBMiAxCnwgI2Rl
 ZmluZSBIQVZFX0RFQ0xfT1BUQVJHIDEKfCAjZGVmaW5lIEhBVkVfREVDTF9PUFRJTkQgMQp8ICNk
 ZWZpbmUgSEFWRV9ERUNMX09QVFJFU0VUIDAKfCAjZGVmaW5lIEhBVkVfR0VUT1BUX0ggMQp8ICNk
 ZWZpbmUgSEFWRV9TVFJVQ1RfT1BUSU9OIDEKfCAjZGVmaW5lIEhBVkVfVklTX0ggMQp8ICNkZWZp
 bmUgSEFWRV9OQkNPTVBBVF9WSVMgMQp8ICNkZWZpbmUgSEFWRV9fX0FUVFJJQlVURV9fIDEKfCAj
 ZGVmaW5lIEhBVkVfVUlOVFBUUl9UIDEKfCAjZGVmaW5lIEhBVkVfTE9OR19MT05HIDEKfCAjZGVm
 aW5lIEhBVkVfTE9OR19ET1VCTEUgMQp8ICNkZWZpbmUgSEFWRV9GU0lEX1QgMQp8ICNkZWZpbmUg
 U0laRU9GX09GRl9UIDQKfCAjZGVmaW5lIEhBVkVfU1RETElCX0ggMQp8ICNkZWZpbmUgSEFWRV9N
 QUxMT0MgMQp8ICNkZWZpbmUgSEFWRV9ERUNMX1NUUkVSUk9SX1IgMQp8ICNkZWZpbmUgSEFWRV9T
 VFJFUlJPUl9SIDEKfCAjZGVmaW5lIEhBVkVfRk9SSyAxCnwgI2RlZmluZSBIQVZFX1ZGT1JLIDEK
 fCAjZGVmaW5lIEhBVkVfV09SS0lOR19WRk9SSyAxCnwgI2RlZmluZSBIQVZFX1dPUktJTkdfRk9S
 SyAxCnwgI2RlZmluZSBIQVZFX1ZQUklOVEYgMQp8IC8qIGVuZCBjb25mZGVmcy5oLiAgKi8KfCAv
 KiBEZWZpbmUgX2RvcHJudCB0byBhbiBpbm5vY3VvdXMgdmFyaWFudCwgaW4gY2FzZSA8bGltaXRz
 Lmg+IGRlY2xhcmVzIF9kb3BybnQuCnwgICAgRm9yIGV4YW1wbGUsIEhQLVVYIDExaSA8bGltaXRz
 Lmg+IGRlY2xhcmVzIGdldHRpbWVvZmRheS4gICovCnwgI2RlZmluZSBfZG9wcm50IGlubm9jdW91
 c19fZG9wcm50CnwgCnwgLyogU3lzdGVtIGhlYWRlciB0byBkZWZpbmUgX19zdHViIG1hY3JvcyBh
 bmQgaG9wZWZ1bGx5IGZldyBwcm90b3R5cGVzLAp8ICAgICB3aGljaCBjYW4gY29uZmxpY3Qgd2l0
 aCBjaGFyIF9kb3BybnQgKCk7IGJlbG93Lgp8ICAgICBQcmVmZXIgPGxpbWl0cy5oPiB0byA8YXNz
 ZXJ0Lmg+IGlmIF9fU1REQ19fIGlzIGRlZmluZWQsIHNpbmNlCnwgICAgIDxsaW1pdHMuaD4gZXhp
 c3RzIGV2ZW4gb24gZnJlZXN0YW5kaW5nIGNvbXBpbGVycy4gICovCnwgCnwgI2lmZGVmIF9fU1RE
 Q19fCnwgIyBpbmNsdWRlIDxsaW1pdHMuaD4KfCAjZWxzZQp8ICMgaW5jbHVkZSA8YXNzZXJ0Lmg+
 CnwgI2VuZGlmCnwgCnwgI3VuZGVmIF9kb3BybnQKfCAKfCAvKiBPdmVycmlkZSBhbnkgR0NDIGlu
 dGVybmFsIHByb3RvdHlwZSB0byBhdm9pZCBhbiBlcnJvci4KfCAgICBVc2UgY2hhciBiZWNhdXNl
 IGludCBtaWdodCBtYXRjaCB0aGUgcmV0dXJuIHR5cGUgb2YgYSBHQ0MKfCAgICBidWlsdGluIGFu
 ZCB0aGVuIGl0cyBhcmd1bWVudCBwcm90b3R5cGUgd291bGQgc3RpbGwgYXBwbHkuICAqLwp8ICNp
 ZmRlZiBfX2NwbHVzcGx1cwp8IGV4dGVybiAiQyIKfCAjZW5kaWYKfCBjaGFyIF9kb3BybnQgKCk7
 CnwgLyogVGhlIEdOVSBDIGxpYnJhcnkgZGVmaW5lcyB0aGlzIGZvciBmdW5jdGlvbnMgd2hpY2gg
 aXQgaW1wbGVtZW50cwp8ICAgICB0byBhbHdheXMgZmFpbCB3aXRoIEVOT1NZUy4gIFNvbWUgZnVu
 Y3Rpb25zIGFyZSBhY3R1YWxseSBuYW1lZAp8ICAgICBzb21ldGhpbmcgc3RhcnRpbmcgd2l0aCBf
 XyBhbmQgdGhlIG5vcm1hbCBuYW1lIGlzIGFuIGFsaWFzLiAgKi8KfCAjaWYgZGVmaW5lZCBfX3N0
 dWJfX2RvcHJudCB8fCBkZWZpbmVkIF9fc3R1Yl9fX19kb3BybnQKfCBjaG9rZSBtZQp8ICNlbmRp
 Zgp8IAp8IGludAp8IG1haW4gKCkKfCB7CnwgcmV0dXJuIF9kb3BybnQgKCk7CnwgICA7CnwgICBy
 ZXR1cm4gMDsKfCB9CmNvbmZpZ3VyZTo1ODAwOiByZXN1bHQ6IG5vCmNvbmZpZ3VyZTo1ODEyOiBj
 aGVja2luZyB3aGV0aGVyIHNucHJpbnRmIGlzIGRlY2xhcmVkCmNvbmZpZ3VyZTo1ODEyOiBnY2Mg
 LWMgLWcgLU8yICBjb25mdGVzdC5jID4mNQpjb25maWd1cmU6NTgxMjogJD8gPSAwCmNvbmZpZ3Vy
 ZTo1ODEyOiByZXN1bHQ6IHllcwpjb25maWd1cmU6NTgyMzogY2hlY2tpbmcgd2hldGhlciB2YXNw
 cmludGYgaXMgZGVjbGFyZWQKY29uZmlndXJlOjU4MjM6IGdjYyAtYyAtZyAtTzIgIGNvbmZ0ZXN0
 LmMgPiY1CmNvbmZ0ZXN0LmM6IEluIGZ1bmN0aW9uICdtYWluJzoKY29uZnRlc3QuYzoxMDU6MTA6
 IGVycm9yOiAndmFzcHJpbnRmJyB1bmRlY2xhcmVkIChmaXJzdCB1c2UgaW4gdGhpcyBmdW5jdGlv
 bikKY29uZnRlc3QuYzoxMDU6MTA6IG5vdGU6IGVhY2ggdW5kZWNsYXJlZCBpZGVudGlmaWVyIGlz
 IHJlcG9ydGVkIG9ubHkgb25jZSBmb3IgZWFjaCBmdW5jdGlvbiBpdCBhcHBlYXJzIGluCmNvbmZp
 Z3VyZTo1ODIzOiAkPyA9IDEKY29uZmlndXJlOiBmYWlsZWQgcHJvZ3JhbSB3YXM6CnwgLyogY29u
 ZmRlZnMuaCAqLwp8ICNkZWZpbmUgUEFDS0FHRV9OQU1FICJsaWJuYmNvbXBhdCIKfCAjZGVmaW5l
 IFBBQ0tBR0VfVEFSTkFNRSAibGlibmJjb21wYXQiCnwgI2RlZmluZSBQQUNLQUdFX1ZFUlNJT04g
 IjIwMDgwNjA1Igp8ICNkZWZpbmUgUEFDS0FHRV9TVFJJTkcgImxpYm5iY29tcGF0IDIwMDgwNjA1
 Igp8ICNkZWZpbmUgUEFDS0FHRV9CVUdSRVBPUlQgImdyYW50QE5ldEJTRC5vcmciCnwgI2RlZmlu
 ZSBQQUNLQUdFX1VSTCAiIgp8ICNkZWZpbmUgU1REQ19IRUFERVJTIDEKfCAjZGVmaW5lIFRJTUVf
 V0lUSF9TWVNfVElNRSAxCnwgI2RlZmluZSBIQVZFX1NZU19UWVBFU19IIDEKfCAjZGVmaW5lIEhB
 VkVfU1lTX1NUQVRfSCAxCnwgI2RlZmluZSBIQVZFX1NURExJQl9IIDEKfCAjZGVmaW5lIEhBVkVf
 U1RSSU5HX0ggMQp8ICNkZWZpbmUgSEFWRV9NRU1PUllfSCAxCnwgI2RlZmluZSBIQVZFX1NUUklO
 R1NfSCAxCnwgI2RlZmluZSBIQVZFX0lOVFRZUEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERJTlRf
 SCAxCnwgI2RlZmluZSBIQVZFX1VOSVNURF9IIDEKfCAjZGVmaW5lIEhBVkVfX0JPT0wgMQp8ICNk
 ZWZpbmUgSEFWRV9TVERCT09MX0ggMQp8ICNkZWZpbmUgSEFWRV9BTExPQ0FfSCAxCnwgI2RlZmlu
 ZSBIQVZFX0FTU0VSVF9IIDEKfCAjZGVmaW5lIEhBVkVfQ1RZUEVfSCAxCnwgI2RlZmluZSBIQVZF
 X0RJUkVOVF9IIDEKfCAjZGVmaW5lIEhBVkVfRU5ESUFOX0ggMQp8ICNkZWZpbmUgSEFWRV9FUlJf
 SCAxCnwgI2RlZmluZSBIQVZFX0VSUk5PX0ggMQp8ICNkZWZpbmUgSEFWRV9GQ05UTF9IIDEKfCAj
 ZGVmaW5lIEhBVkVfRk5NQVRDSF9IIDEKfCAjZGVmaW5lIEhBVkVfRlRTX0ggMQp8ICNkZWZpbmUg
 SEFWRV9HUlBfSCAxCnwgI2RlZmluZSBIQVZFX0lOVFRZUEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9M
 SUJVVElMX0ggMQp8ICNkZWZpbmUgSEFWRV9MSU1JVFNfSCAxCnwgI2RlZmluZSBIQVZFX05FVERC
 X0ggMQp8ICNkZWZpbmUgSEFWRV9QQVRIU19IIDEKfCAjZGVmaW5lIEhBVkVfUFdEX0ggMQp8ICNk
 ZWZpbmUgSEFWRV9TSUdOQUxfSCAxCnwgI2RlZmluZSBIQVZFX1NUREFSR19IIDEKfCAjZGVmaW5l
 IEhBVkVfU1REREVGX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERJTlRfSCAxCnwgI2RlZmluZSBIQVZF
 X1NURElPX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERMSUJfSCAxCnwgI2RlZmluZSBIQVZFX1NUUklO
 R19IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX0NERUZTX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfRElS
 X0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfRklMRV9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1BBUkFN
 X0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfU09DS0VUX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfU1RB
 VF9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NUQVRGU19IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NU
 QVRWRlNfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19USU1FX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNf
 VFlQRVNfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19VSU9fSCAxCnwgI2RlZmluZSBIQVZFX1NZU19W
 RlNfSCAxCnwgI2RlZmluZSBIQVZFX1NZU0VYSVRTX0ggMQp8ICNkZWZpbmUgSEFWRV9URVJNQ0FQ
 X0ggMQp8ICNkZWZpbmUgSEFWRV9USU1FX0ggMQp8ICNkZWZpbmUgSEFWRV9VTklTVERfSCAxCnwg
 I2RlZmluZSBIQVZFX1VUSU1FX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfTU9VTlRfSCAxCnwgI2Rl
 ZmluZSBIQVZFX0dMT0JfSCAxCnwgI2RlZmluZSBIQVZFX05CQ09NUEFUX0dMT0IgMQp8ICNkZWZp
 bmUgSEFWRV9TWVNfUVVFVUVfSCAxCnwgI2RlZmluZSBIQVZFX05CQ09NUEFUX1FVRVVFIDEKfCAj
 ZGVmaW5lIEhBVkVfUkVHRVhfSCAxCnwgI2RlZmluZSBIQVZFX05CQ09NUEFUX01ENSAxCnwgI2Rl
 ZmluZSBIQVZFX05CQ09NUEFUX1JNRDE2MCAxCnwgI2RlZmluZSBIQVZFX05CQ09NUEFUX1NIQTEg
 MQp8ICNkZWZpbmUgSEFWRV9OQkNPTVBBVF9TSEEyIDEKfCAjZGVmaW5lIEhBVkVfREVDTF9PUFRB
 UkcgMQp8ICNkZWZpbmUgSEFWRV9ERUNMX09QVElORCAxCnwgI2RlZmluZSBIQVZFX0RFQ0xfT1BU
 UkVTRVQgMAp8ICNkZWZpbmUgSEFWRV9HRVRPUFRfSCAxCnwgI2RlZmluZSBIQVZFX1NUUlVDVF9P
 UFRJT04gMQp8ICNkZWZpbmUgSEFWRV9WSVNfSCAxCnwgI2RlZmluZSBIQVZFX05CQ09NUEFUX1ZJ
 UyAxCnwgI2RlZmluZSBIQVZFX19fQVRUUklCVVRFX18gMQp8ICNkZWZpbmUgSEFWRV9VSU5UUFRS
 X1QgMQp8ICNkZWZpbmUgSEFWRV9MT05HX0xPTkcgMQp8ICNkZWZpbmUgSEFWRV9MT05HX0RPVUJM
 RSAxCnwgI2RlZmluZSBIQVZFX0ZTSURfVCAxCnwgI2RlZmluZSBTSVpFT0ZfT0ZGX1QgNAp8ICNk
 ZWZpbmUgSEFWRV9TVERMSUJfSCAxCnwgI2RlZmluZSBIQVZFX01BTExPQyAxCnwgI2RlZmluZSBI
 QVZFX0RFQ0xfU1RSRVJST1JfUiAxCnwgI2RlZmluZSBIQVZFX1NUUkVSUk9SX1IgMQp8ICNkZWZp
 bmUgSEFWRV9GT1JLIDEKfCAjZGVmaW5lIEhBVkVfVkZPUksgMQp8ICNkZWZpbmUgSEFWRV9XT1JL
 SU5HX1ZGT1JLIDEKfCAjZGVmaW5lIEhBVkVfV09SS0lOR19GT1JLIDEKfCAjZGVmaW5lIEhBVkVf
 VlBSSU5URiAxCnwgI2RlZmluZSBIQVZFX0RFQ0xfU05QUklOVEYgMQp8IC8qIGVuZCBjb25mZGVm
 cy5oLiAgKi8KfCAjaW5jbHVkZSA8c3RkaW8uaD4KfCAKfCBpbnQKfCBtYWluICgpCnwgewp8ICNp
 Zm5kZWYgdmFzcHJpbnRmCnwgI2lmZGVmIF9fY3BsdXNwbHVzCnwgICAodm9pZCkgdmFzcHJpbnRm
 Owp8ICNlbHNlCnwgICAodm9pZCkgdmFzcHJpbnRmOwp8ICNlbmRpZgp8ICNlbmRpZgp8IAp8ICAg
 Owp8ICAgcmV0dXJuIDA7CnwgfQpjb25maWd1cmU6NTgyMzogcmVzdWx0OiBubwpjb25maWd1cmU6
 NTg0MzogY2hlY2tpbmcgZm9yIGFzcHJpbnRmCmNvbmZpZ3VyZTo1ODQzOiBnY2MgLW8gY29uZnRl
 c3QgLWcgLU8yICAgY29uZnRlc3QuYyAgPiY1CmNvbmZpZ3VyZTo1ODQzOiAkPyA9IDAKY29uZmln
 dXJlOjU4NDM6IHJlc3VsdDogeWVzCmNvbmZpZ3VyZTo1ODU2OiBjaGVja2luZyBmb3IgZXJyCmNv
 bmZpZ3VyZTo1ODU2OiBnY2MgLW8gY29uZnRlc3QgLWcgLU8yICAgY29uZnRlc3QuYyAgPiY1CmNv
 bmZpZ3VyZTo1ODU2OiAkPyA9IDAKY29uZmlndXJlOjU4NTY6IHJlc3VsdDogeWVzCmNvbmZpZ3Vy
 ZTo1ODY5OiBjaGVja2luZyBmb3IgZmdldGxuCmNvbmZpZ3VyZTo1ODY5OiBnY2MgLW8gY29uZnRl
 c3QgLWcgLU8yICAgY29uZnRlc3QuYyAgPiY1Ci90bXAvY2N2RWtxTWEubzogSW4gZnVuY3Rpb24g
 YG1haW4nOgovbWVkaWEvc2RiMi9zcmMvcGtnc3JjL2Jvb3RzdHJhcC93b3JrL2xpYm5iY29tcGF0
 L2NvbmZ0ZXN0LmM6MTMzOiB1bmRlZmluZWQgcmVmZXJlbmNlIHRvIGBmZ2V0bG4nCmNvbGxlY3Qy
 OiBsZCByZXR1cm5lZCAxIGV4aXQgc3RhdHVzCmNvbmZpZ3VyZTo1ODY5OiAkPyA9IDEKY29uZmln
 dXJlOiBmYWlsZWQgcHJvZ3JhbSB3YXM6CnwgLyogY29uZmRlZnMuaCAqLwp8ICNkZWZpbmUgUEFD
 S0FHRV9OQU1FICJsaWJuYmNvbXBhdCIKfCAjZGVmaW5lIFBBQ0tBR0VfVEFSTkFNRSAibGlibmJj
 b21wYXQiCnwgI2RlZmluZSBQQUNLQUdFX1ZFUlNJT04gIjIwMDgwNjA1Igp8ICNkZWZpbmUgUEFD
 S0FHRV9TVFJJTkcgImxpYm5iY29tcGF0IDIwMDgwNjA1Igp8ICNkZWZpbmUgUEFDS0FHRV9CVUdS
 RVBPUlQgImdyYW50QE5ldEJTRC5vcmciCnwgI2RlZmluZSBQQUNLQUdFX1VSTCAiIgp8ICNkZWZp
 bmUgU1REQ19IRUFERVJTIDEKfCAjZGVmaW5lIFRJTUVfV0lUSF9TWVNfVElNRSAxCnwgI2RlZmlu
 ZSBIQVZFX1NZU19UWVBFU19IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NUQVRfSCAxCnwgI2RlZmlu
 ZSBIQVZFX1NURExJQl9IIDEKfCAjZGVmaW5lIEhBVkVfU1RSSU5HX0ggMQp8ICNkZWZpbmUgSEFW
 RV9NRU1PUllfSCAxCnwgI2RlZmluZSBIQVZFX1NUUklOR1NfSCAxCnwgI2RlZmluZSBIQVZFX0lO
 VFRZUEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERJTlRfSCAxCnwgI2RlZmluZSBIQVZFX1VOSVNU
 RF9IIDEKfCAjZGVmaW5lIEhBVkVfX0JPT0wgMQp8ICNkZWZpbmUgSEFWRV9TVERCT09MX0ggMQp8
 ICNkZWZpbmUgSEFWRV9BTExPQ0FfSCAxCnwgI2RlZmluZSBIQVZFX0FTU0VSVF9IIDEKfCAjZGVm
 aW5lIEhBVkVfQ1RZUEVfSCAxCnwgI2RlZmluZSBIQVZFX0RJUkVOVF9IIDEKfCAjZGVmaW5lIEhB
 VkVfRU5ESUFOX0ggMQp8ICNkZWZpbmUgSEFWRV9FUlJfSCAxCnwgI2RlZmluZSBIQVZFX0VSUk5P
 X0ggMQp8ICNkZWZpbmUgSEFWRV9GQ05UTF9IIDEKfCAjZGVmaW5lIEhBVkVfRk5NQVRDSF9IIDEK
 fCAjZGVmaW5lIEhBVkVfRlRTX0ggMQp8ICNkZWZpbmUgSEFWRV9HUlBfSCAxCnwgI2RlZmluZSBI
 QVZFX0lOVFRZUEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9MSUJVVElMX0ggMQp8ICNkZWZpbmUgSEFW
 RV9MSU1JVFNfSCAxCnwgI2RlZmluZSBIQVZFX05FVERCX0ggMQp8ICNkZWZpbmUgSEFWRV9QQVRI
 U19IIDEKfCAjZGVmaW5lIEhBVkVfUFdEX0ggMQp8ICNkZWZpbmUgSEFWRV9TSUdOQUxfSCAxCnwg
 I2RlZmluZSBIQVZFX1NUREFSR19IIDEKfCAjZGVmaW5lIEhBVkVfU1REREVGX0ggMQp8ICNkZWZp
 bmUgSEFWRV9TVERJTlRfSCAxCnwgI2RlZmluZSBIQVZFX1NURElPX0ggMQp8ICNkZWZpbmUgSEFW
 RV9TVERMSUJfSCAxCnwgI2RlZmluZSBIQVZFX1NUUklOR19IIDEKfCAjZGVmaW5lIEhBVkVfU1lT
 X0NERUZTX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfRElSX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNf
 RklMRV9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1BBUkFNX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNf
 U09DS0VUX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfU1RBVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1lT
 X1NUQVRGU19IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NUQVRWRlNfSCAxCnwgI2RlZmluZSBIQVZF
 X1NZU19USU1FX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfVFlQRVNfSCAxCnwgI2RlZmluZSBIQVZF
 X1NZU19VSU9fSCAxCnwgI2RlZmluZSBIQVZFX1NZU19WRlNfSCAxCnwgI2RlZmluZSBIQVZFX1NZ
 U0VYSVRTX0ggMQp8ICNkZWZpbmUgSEFWRV9URVJNQ0FQX0ggMQp8ICNkZWZpbmUgSEFWRV9USU1F
 X0ggMQp8ICNkZWZpbmUgSEFWRV9VTklTVERfSCAxCnwgI2RlZmluZSBIQVZFX1VUSU1FX0ggMQp8
 ICNkZWZpbmUgSEFWRV9TWVNfTU9VTlRfSCAxCnwgI2RlZmluZSBIQVZFX0dMT0JfSCAxCnwgI2Rl
 ZmluZSBIQVZFX05CQ09NUEFUX0dMT0IgMQp8ICNkZWZpbmUgSEFWRV9TWVNfUVVFVUVfSCAxCnwg
 I2RlZmluZSBIQVZFX05CQ09NUEFUX1FVRVVFIDEKfCAjZGVmaW5lIEhBVkVfUkVHRVhfSCAxCnwg
 I2RlZmluZSBIQVZFX05CQ09NUEFUX01ENSAxCnwgI2RlZmluZSBIQVZFX05CQ09NUEFUX1JNRDE2
 MCAxCnwgI2RlZmluZSBIQVZFX05CQ09NUEFUX1NIQTEgMQp8ICNkZWZpbmUgSEFWRV9OQkNPTVBB
 VF9TSEEyIDEKfCAjZGVmaW5lIEhBVkVfREVDTF9PUFRBUkcgMQp8ICNkZWZpbmUgSEFWRV9ERUNM
 X09QVElORCAxCnwgI2RlZmluZSBIQVZFX0RFQ0xfT1BUUkVTRVQgMAp8ICNkZWZpbmUgSEFWRV9H
 RVRPUFRfSCAxCnwgI2RlZmluZSBIQVZFX1NUUlVDVF9PUFRJT04gMQp8ICNkZWZpbmUgSEFWRV9W
 SVNfSCAxCnwgI2RlZmluZSBIQVZFX05CQ09NUEFUX1ZJUyAxCnwgI2RlZmluZSBIQVZFX19fQVRU
 UklCVVRFX18gMQp8ICNkZWZpbmUgSEFWRV9VSU5UUFRSX1QgMQp8ICNkZWZpbmUgSEFWRV9MT05H
 X0xPTkcgMQp8ICNkZWZpbmUgSEFWRV9MT05HX0RPVUJMRSAxCnwgI2RlZmluZSBIQVZFX0ZTSURf
 VCAxCnwgI2RlZmluZSBTSVpFT0ZfT0ZGX1QgNAp8ICNkZWZpbmUgSEFWRV9TVERMSUJfSCAxCnwg
 I2RlZmluZSBIQVZFX01BTExPQyAxCnwgI2RlZmluZSBIQVZFX0RFQ0xfU1RSRVJST1JfUiAxCnwg
 I2RlZmluZSBIQVZFX1NUUkVSUk9SX1IgMQp8ICNkZWZpbmUgSEFWRV9GT1JLIDEKfCAjZGVmaW5l
 IEhBVkVfVkZPUksgMQp8ICNkZWZpbmUgSEFWRV9XT1JLSU5HX1ZGT1JLIDEKfCAjZGVmaW5lIEhB
 VkVfV09SS0lOR19GT1JLIDEKfCAjZGVmaW5lIEhBVkVfVlBSSU5URiAxCnwgI2RlZmluZSBIQVZF
 X0RFQ0xfU05QUklOVEYgMQp8ICNkZWZpbmUgSEFWRV9ERUNMX1ZBU1BSSU5URiAwCnwgI2RlZmlu
 ZSBIQVZFX0FTUFJJTlRGIDEKfCAjZGVmaW5lIEhBVkVfRVJSIDEKfCAvKiBlbmQgY29uZmRlZnMu
 aC4gICovCnwgLyogRGVmaW5lIGZnZXRsbiB0byBhbiBpbm5vY3VvdXMgdmFyaWFudCwgaW4gY2Fz
 ZSA8bGltaXRzLmg+IGRlY2xhcmVzIGZnZXRsbi4KfCAgICBGb3IgZXhhbXBsZSwgSFAtVVggMTFp
 IDxsaW1pdHMuaD4gZGVjbGFyZXMgZ2V0dGltZW9mZGF5LiAgKi8KfCAjZGVmaW5lIGZnZXRsbiBp
 bm5vY3VvdXNfZmdldGxuCnwgCnwgLyogU3lzdGVtIGhlYWRlciB0byBkZWZpbmUgX19zdHViIG1h
 Y3JvcyBhbmQgaG9wZWZ1bGx5IGZldyBwcm90b3R5cGVzLAp8ICAgICB3aGljaCBjYW4gY29uZmxp
 Y3Qgd2l0aCBjaGFyIGZnZXRsbiAoKTsgYmVsb3cuCnwgICAgIFByZWZlciA8bGltaXRzLmg+IHRv
 IDxhc3NlcnQuaD4gaWYgX19TVERDX18gaXMgZGVmaW5lZCwgc2luY2UKfCAgICAgPGxpbWl0cy5o
 PiBleGlzdHMgZXZlbiBvbiBmcmVlc3RhbmRpbmcgY29tcGlsZXJzLiAgKi8KfCAKfCAjaWZkZWYg
 X19TVERDX18KfCAjIGluY2x1ZGUgPGxpbWl0cy5oPgp8ICNlbHNlCnwgIyBpbmNsdWRlIDxhc3Nl
 cnQuaD4KfCAjZW5kaWYKfCAKfCAjdW5kZWYgZmdldGxuCnwgCnwgLyogT3ZlcnJpZGUgYW55IEdD
 QyBpbnRlcm5hbCBwcm90b3R5cGUgdG8gYXZvaWQgYW4gZXJyb3IuCnwgICAgVXNlIGNoYXIgYmVj
 YXVzZSBpbnQgbWlnaHQgbWF0Y2ggdGhlIHJldHVybiB0eXBlIG9mIGEgR0NDCnwgICAgYnVpbHRp
 biBhbmQgdGhlbiBpdHMgYXJndW1lbnQgcHJvdG90eXBlIHdvdWxkIHN0aWxsIGFwcGx5LiAgKi8K
 fCAjaWZkZWYgX19jcGx1c3BsdXMKfCBleHRlcm4gIkMiCnwgI2VuZGlmCnwgY2hhciBmZ2V0bG4g
 KCk7CnwgLyogVGhlIEdOVSBDIGxpYnJhcnkgZGVmaW5lcyB0aGlzIGZvciBmdW5jdGlvbnMgd2hp
 Y2ggaXQgaW1wbGVtZW50cwp8ICAgICB0byBhbHdheXMgZmFpbCB3aXRoIEVOT1NZUy4gIFNvbWUg
 ZnVuY3Rpb25zIGFyZSBhY3R1YWxseSBuYW1lZAp8ICAgICBzb21ldGhpbmcgc3RhcnRpbmcgd2l0
 aCBfXyBhbmQgdGhlIG5vcm1hbCBuYW1lIGlzIGFuIGFsaWFzLiAgKi8KfCAjaWYgZGVmaW5lZCBf
 X3N0dWJfZmdldGxuIHx8IGRlZmluZWQgX19zdHViX19fZmdldGxuCnwgY2hva2UgbWUKfCAjZW5k
 aWYKfCAKfCBpbnQKfCBtYWluICgpCnwgewp8IHJldHVybiBmZ2V0bG4gKCk7CnwgICA7CnwgICBy
 ZXR1cm4gMDsKfCB9CmNvbmZpZ3VyZTo1ODY5OiByZXN1bHQ6IG5vCmNvbmZpZ3VyZTo1ODgyOiBj
 aGVja2luZyBmb3IgZm5tYXRjaApjb25maWd1cmU6NTg4MjogZ2NjIC1vIGNvbmZ0ZXN0IC1nIC1P
 MiAgIGNvbmZ0ZXN0LmMgID4mNQpjb25maWd1cmU6NTg4MjogJD8gPSAwCmNvbmZpZ3VyZTo1ODgy
 OiByZXN1bHQ6IHllcwpjb25maWd1cmU6NTg5NTogY2hlY2tpbmcgZm9yIGZwYXJzZWxuCmNvbmZp
 Z3VyZTo1ODk1OiBnY2MgLW8gY29uZnRlc3QgLWcgLU8yICAgY29uZnRlc3QuYyAgPiY1Ci90bXAv
 Y2NBaURvc20ubzogSW4gZnVuY3Rpb24gYG1haW4nOgovbWVkaWEvc2RiMi9zcmMvcGtnc3JjL2Jv
 b3RzdHJhcC93b3JrL2xpYm5iY29tcGF0L2NvbmZ0ZXN0LmM6MTM0OiB1bmRlZmluZWQgcmVmZXJl
 bmNlIHRvIGBmcGFyc2VsbicKY29sbGVjdDI6IGxkIHJldHVybmVkIDEgZXhpdCBzdGF0dXMKY29u
 ZmlndXJlOjU4OTU6ICQ/ID0gMQpjb25maWd1cmU6IGZhaWxlZCBwcm9ncmFtIHdhczoKfCAvKiBj
 b25mZGVmcy5oICovCnwgI2RlZmluZSBQQUNLQUdFX05BTUUgImxpYm5iY29tcGF0Igp8ICNkZWZp
 bmUgUEFDS0FHRV9UQVJOQU1FICJsaWJuYmNvbXBhdCIKfCAjZGVmaW5lIFBBQ0tBR0VfVkVSU0lP
 TiAiMjAwODA2MDUiCnwgI2RlZmluZSBQQUNLQUdFX1NUUklORyAibGlibmJjb21wYXQgMjAwODA2
 MDUiCnwgI2RlZmluZSBQQUNLQUdFX0JVR1JFUE9SVCAiZ3JhbnRATmV0QlNELm9yZyIKfCAjZGVm
 aW5lIFBBQ0tBR0VfVVJMICIiCnwgI2RlZmluZSBTVERDX0hFQURFUlMgMQp8ICNkZWZpbmUgVElN
 RV9XSVRIX1NZU19USU1FIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1RZUEVTX0ggMQp8ICNkZWZpbmUg
 SEFWRV9TWVNfU1RBVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1RETElCX0ggMQp8ICNkZWZpbmUgSEFW
 RV9TVFJJTkdfSCAxCnwgI2RlZmluZSBIQVZFX01FTU9SWV9IIDEKfCAjZGVmaW5lIEhBVkVfU1RS
 SU5HU19IIDEKfCAjZGVmaW5lIEhBVkVfSU5UVFlQRVNfSCAxCnwgI2RlZmluZSBIQVZFX1NURElO
 VF9IIDEKfCAjZGVmaW5lIEhBVkVfVU5JU1REX0ggMQp8ICNkZWZpbmUgSEFWRV9fQk9PTCAxCnwg
 I2RlZmluZSBIQVZFX1NUREJPT0xfSCAxCnwgI2RlZmluZSBIQVZFX0FMTE9DQV9IIDEKfCAjZGVm
 aW5lIEhBVkVfQVNTRVJUX0ggMQp8ICNkZWZpbmUgSEFWRV9DVFlQRV9IIDEKfCAjZGVmaW5lIEhB
 VkVfRElSRU5UX0ggMQp8ICNkZWZpbmUgSEFWRV9FTkRJQU5fSCAxCnwgI2RlZmluZSBIQVZFX0VS
 Ul9IIDEKfCAjZGVmaW5lIEhBVkVfRVJSTk9fSCAxCnwgI2RlZmluZSBIQVZFX0ZDTlRMX0ggMQp8
 ICNkZWZpbmUgSEFWRV9GTk1BVENIX0ggMQp8ICNkZWZpbmUgSEFWRV9GVFNfSCAxCnwgI2RlZmlu
 ZSBIQVZFX0dSUF9IIDEKfCAjZGVmaW5lIEhBVkVfSU5UVFlQRVNfSCAxCnwgI2RlZmluZSBIQVZF
 X0xJQlVUSUxfSCAxCnwgI2RlZmluZSBIQVZFX0xJTUlUU19IIDEKfCAjZGVmaW5lIEhBVkVfTkVU
 REJfSCAxCnwgI2RlZmluZSBIQVZFX1BBVEhTX0ggMQp8ICNkZWZpbmUgSEFWRV9QV0RfSCAxCnwg
 I2RlZmluZSBIQVZFX1NJR05BTF9IIDEKfCAjZGVmaW5lIEhBVkVfU1REQVJHX0ggMQp8ICNkZWZp
 bmUgSEFWRV9TVERERUZfSCAxCnwgI2RlZmluZSBIQVZFX1NURElOVF9IIDEKfCAjZGVmaW5lIEhB
 VkVfU1RESU9fSCAxCnwgI2RlZmluZSBIQVZFX1NURExJQl9IIDEKfCAjZGVmaW5lIEhBVkVfU1RS
 SU5HX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfQ0RFRlNfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19E
 SVJfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19GSUxFX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfUEFS
 QU1fSCAxCnwgI2RlZmluZSBIQVZFX1NZU19TT0NLRVRfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19T
 VEFUX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfU1RBVEZTX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNf
 U1RBVFZGU19IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1RJTUVfSCAxCnwgI2RlZmluZSBIQVZFX1NZ
 U19UWVBFU19IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1VJT19IIDEKfCAjZGVmaW5lIEhBVkVfU1lT
 X1ZGU19IIDEKfCAjZGVmaW5lIEhBVkVfU1lTRVhJVFNfSCAxCnwgI2RlZmluZSBIQVZFX1RFUk1D
 QVBfSCAxCnwgI2RlZmluZSBIQVZFX1RJTUVfSCAxCnwgI2RlZmluZSBIQVZFX1VOSVNURF9IIDEK
 fCAjZGVmaW5lIEhBVkVfVVRJTUVfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19NT1VOVF9IIDEKfCAj
 ZGVmaW5lIEhBVkVfR0xPQl9IIDEKfCAjZGVmaW5lIEhBVkVfTkJDT01QQVRfR0xPQiAxCnwgI2Rl
 ZmluZSBIQVZFX1NZU19RVUVVRV9IIDEKfCAjZGVmaW5lIEhBVkVfTkJDT01QQVRfUVVFVUUgMQp8
 ICNkZWZpbmUgSEFWRV9SRUdFWF9IIDEKfCAjZGVmaW5lIEhBVkVfTkJDT01QQVRfTUQ1IDEKfCAj
 ZGVmaW5lIEhBVkVfTkJDT01QQVRfUk1EMTYwIDEKfCAjZGVmaW5lIEhBVkVfTkJDT01QQVRfU0hB
 MSAxCnwgI2RlZmluZSBIQVZFX05CQ09NUEFUX1NIQTIgMQp8ICNkZWZpbmUgSEFWRV9ERUNMX09Q
 VEFSRyAxCnwgI2RlZmluZSBIQVZFX0RFQ0xfT1BUSU5EIDEKfCAjZGVmaW5lIEhBVkVfREVDTF9P
 UFRSRVNFVCAwCnwgI2RlZmluZSBIQVZFX0dFVE9QVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1RSVUNU
 X09QVElPTiAxCnwgI2RlZmluZSBIQVZFX1ZJU19IIDEKfCAjZGVmaW5lIEhBVkVfTkJDT01QQVRf
 VklTIDEKfCAjZGVmaW5lIEhBVkVfX19BVFRSSUJVVEVfXyAxCnwgI2RlZmluZSBIQVZFX1VJTlRQ
 VFJfVCAxCnwgI2RlZmluZSBIQVZFX0xPTkdfTE9ORyAxCnwgI2RlZmluZSBIQVZFX0xPTkdfRE9V
 QkxFIDEKfCAjZGVmaW5lIEhBVkVfRlNJRF9UIDEKfCAjZGVmaW5lIFNJWkVPRl9PRkZfVCA0Cnwg
 I2RlZmluZSBIQVZFX1NURExJQl9IIDEKfCAjZGVmaW5lIEhBVkVfTUFMTE9DIDEKfCAjZGVmaW5l
 IEhBVkVfREVDTF9TVFJFUlJPUl9SIDEKfCAjZGVmaW5lIEhBVkVfU1RSRVJST1JfUiAxCnwgI2Rl
 ZmluZSBIQVZFX0ZPUksgMQp8ICNkZWZpbmUgSEFWRV9WRk9SSyAxCnwgI2RlZmluZSBIQVZFX1dP
 UktJTkdfVkZPUksgMQp8ICNkZWZpbmUgSEFWRV9XT1JLSU5HX0ZPUksgMQp8ICNkZWZpbmUgSEFW
 RV9WUFJJTlRGIDEKfCAjZGVmaW5lIEhBVkVfREVDTF9TTlBSSU5URiAxCnwgI2RlZmluZSBIQVZF
 X0RFQ0xfVkFTUFJJTlRGIDAKfCAjZGVmaW5lIEhBVkVfQVNQUklOVEYgMQp8ICNkZWZpbmUgSEFW
 RV9FUlIgMQp8ICNkZWZpbmUgSEFWRV9GTk1BVENIIDEKfCAvKiBlbmQgY29uZmRlZnMuaC4gICov
 CnwgLyogRGVmaW5lIGZwYXJzZWxuIHRvIGFuIGlubm9jdW91cyB2YXJpYW50LCBpbiBjYXNlIDxs
 aW1pdHMuaD4gZGVjbGFyZXMgZnBhcnNlbG4uCnwgICAgRm9yIGV4YW1wbGUsIEhQLVVYIDExaSA8
 bGltaXRzLmg+IGRlY2xhcmVzIGdldHRpbWVvZmRheS4gICovCnwgI2RlZmluZSBmcGFyc2VsbiBp
 bm5vY3VvdXNfZnBhcnNlbG4KfCAKfCAvKiBTeXN0ZW0gaGVhZGVyIHRvIGRlZmluZSBfX3N0dWIg
 bWFjcm9zIGFuZCBob3BlZnVsbHkgZmV3IHByb3RvdHlwZXMsCnwgICAgIHdoaWNoIGNhbiBjb25m
 bGljdCB3aXRoIGNoYXIgZnBhcnNlbG4gKCk7IGJlbG93Lgp8ICAgICBQcmVmZXIgPGxpbWl0cy5o
 PiB0byA8YXNzZXJ0Lmg+IGlmIF9fU1REQ19fIGlzIGRlZmluZWQsIHNpbmNlCnwgICAgIDxsaW1p
 dHMuaD4gZXhpc3RzIGV2ZW4gb24gZnJlZXN0YW5kaW5nIGNvbXBpbGVycy4gICovCnwgCnwgI2lm
 ZGVmIF9fU1REQ19fCnwgIyBpbmNsdWRlIDxsaW1pdHMuaD4KfCAjZWxzZQp8ICMgaW5jbHVkZSA8
 YXNzZXJ0Lmg+CnwgI2VuZGlmCnwgCnwgI3VuZGVmIGZwYXJzZWxuCnwgCnwgLyogT3ZlcnJpZGUg
 YW55IEdDQyBpbnRlcm5hbCBwcm90b3R5cGUgdG8gYXZvaWQgYW4gZXJyb3IuCnwgICAgVXNlIGNo
 YXIgYmVjYXVzZSBpbnQgbWlnaHQgbWF0Y2ggdGhlIHJldHVybiB0eXBlIG9mIGEgR0NDCnwgICAg
 YnVpbHRpbiBhbmQgdGhlbiBpdHMgYXJndW1lbnQgcHJvdG90eXBlIHdvdWxkIHN0aWxsIGFwcGx5
 LiAgKi8KfCAjaWZkZWYgX19jcGx1c3BsdXMKfCBleHRlcm4gIkMiCnwgI2VuZGlmCnwgY2hhciBm
 cGFyc2VsbiAoKTsKfCAvKiBUaGUgR05VIEMgbGlicmFyeSBkZWZpbmVzIHRoaXMgZm9yIGZ1bmN0
 aW9ucyB3aGljaCBpdCBpbXBsZW1lbnRzCnwgICAgIHRvIGFsd2F5cyBmYWlsIHdpdGggRU5PU1lT
 LiAgU29tZSBmdW5jdGlvbnMgYXJlIGFjdHVhbGx5IG5hbWVkCnwgICAgIHNvbWV0aGluZyBzdGFy
 dGluZyB3aXRoIF9fIGFuZCB0aGUgbm9ybWFsIG5hbWUgaXMgYW4gYWxpYXMuICAqLwp8ICNpZiBk
 ZWZpbmVkIF9fc3R1Yl9mcGFyc2VsbiB8fCBkZWZpbmVkIF9fc3R1Yl9fX2ZwYXJzZWxuCnwgY2hv
 a2UgbWUKfCAjZW5kaWYKfCAKfCBpbnQKfCBtYWluICgpCnwgewp8IHJldHVybiBmcGFyc2VsbiAo
 KTsKfCAgIDsKfCAgIHJldHVybiAwOwp8IH0KY29uZmlndXJlOjU4OTU6IHJlc3VsdDogbm8KY29u
 ZmlndXJlOjU5MDg6IGNoZWNraW5nIGZvciBnZXRlbnYKY29uZmlndXJlOjU5MDg6IGdjYyAtbyBj
 b25mdGVzdCAtZyAtTzIgICBjb25mdGVzdC5jICA+JjUKY29uZmlndXJlOjU5MDg6ICQ/ID0gMApj
 b25maWd1cmU6NTkwODogcmVzdWx0OiB5ZXMKY29uZmlndXJlOjU5MjE6IGNoZWNraW5nIGZvciBp
 c2JsYW5rCmNvbmZpZ3VyZTo1OTIxOiBnY2MgLW8gY29uZnRlc3QgLWcgLU8yICAgY29uZnRlc3Qu
 YyAgPiY1CmNvbmZ0ZXN0LmM6MTI0OjY6IHdhcm5pbmc6IGNvbmZsaWN0aW5nIHR5cGVzIGZvciBi
 dWlsdC1pbiBmdW5jdGlvbiAnaXNibGFuaycgW2VuYWJsZWQgYnkgZGVmYXVsdF0KY29uZmlndXJl
 OjU5MjE6ICQ/ID0gMApjb25maWd1cmU6NTkyMTogcmVzdWx0OiB5ZXMKY29uZmlndXJlOjU5MzQ6
 IGNoZWNraW5nIGZvciBsY2hmbGFncwpjb25maWd1cmU6NTkzNDogZ2NjIC1vIGNvbmZ0ZXN0IC1n
 IC1PMiAgIGNvbmZ0ZXN0LmMgID4mNQovdG1wL2NjbHpaS09RLm86IEluIGZ1bmN0aW9uIGBtYWlu
 JzoKL21lZGlhL3NkYjIvc3JjL3BrZ3NyYy9ib290c3RyYXAvd29yay9saWJuYmNvbXBhdC9jb25m
 dGVzdC5jOjEzNjogdW5kZWZpbmVkIHJlZmVyZW5jZSB0byBgbGNoZmxhZ3MnCmNvbGxlY3QyOiBs
 ZCByZXR1cm5lZCAxIGV4aXQgc3RhdHVzCmNvbmZpZ3VyZTo1OTM0OiAkPyA9IDEKY29uZmlndXJl
 OiBmYWlsZWQgcHJvZ3JhbSB3YXM6CnwgLyogY29uZmRlZnMuaCAqLwp8ICNkZWZpbmUgUEFDS0FH
 RV9OQU1FICJsaWJuYmNvbXBhdCIKfCAjZGVmaW5lIFBBQ0tBR0VfVEFSTkFNRSAibGlibmJjb21w
 YXQiCnwgI2RlZmluZSBQQUNLQUdFX1ZFUlNJT04gIjIwMDgwNjA1Igp8ICNkZWZpbmUgUEFDS0FH
 RV9TVFJJTkcgImxpYm5iY29tcGF0IDIwMDgwNjA1Igp8ICNkZWZpbmUgUEFDS0FHRV9CVUdSRVBP
 UlQgImdyYW50QE5ldEJTRC5vcmciCnwgI2RlZmluZSBQQUNLQUdFX1VSTCAiIgp8ICNkZWZpbmUg
 U1REQ19IRUFERVJTIDEKfCAjZGVmaW5lIFRJTUVfV0lUSF9TWVNfVElNRSAxCnwgI2RlZmluZSBI
 QVZFX1NZU19UWVBFU19IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NUQVRfSCAxCnwgI2RlZmluZSBI
 QVZFX1NURExJQl9IIDEKfCAjZGVmaW5lIEhBVkVfU1RSSU5HX0ggMQp8ICNkZWZpbmUgSEFWRV9N
 RU1PUllfSCAxCnwgI2RlZmluZSBIQVZFX1NUUklOR1NfSCAxCnwgI2RlZmluZSBIQVZFX0lOVFRZ
 UEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERJTlRfSCAxCnwgI2RlZmluZSBIQVZFX1VOSVNURF9I
 IDEKfCAjZGVmaW5lIEhBVkVfX0JPT0wgMQp8ICNkZWZpbmUgSEFWRV9TVERCT09MX0ggMQp8ICNk
 ZWZpbmUgSEFWRV9BTExPQ0FfSCAxCnwgI2RlZmluZSBIQVZFX0FTU0VSVF9IIDEKfCAjZGVmaW5l
 IEhBVkVfQ1RZUEVfSCAxCnwgI2RlZmluZSBIQVZFX0RJUkVOVF9IIDEKfCAjZGVmaW5lIEhBVkVf
 RU5ESUFOX0ggMQp8ICNkZWZpbmUgSEFWRV9FUlJfSCAxCnwgI2RlZmluZSBIQVZFX0VSUk5PX0gg
 MQp8ICNkZWZpbmUgSEFWRV9GQ05UTF9IIDEKfCAjZGVmaW5lIEhBVkVfRk5NQVRDSF9IIDEKfCAj
 ZGVmaW5lIEhBVkVfRlRTX0ggMQp8ICNkZWZpbmUgSEFWRV9HUlBfSCAxCnwgI2RlZmluZSBIQVZF
 X0lOVFRZUEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9MSUJVVElMX0ggMQp8ICNkZWZpbmUgSEFWRV9M
 SU1JVFNfSCAxCnwgI2RlZmluZSBIQVZFX05FVERCX0ggMQp8ICNkZWZpbmUgSEFWRV9QQVRIU19I
 IDEKfCAjZGVmaW5lIEhBVkVfUFdEX0ggMQp8ICNkZWZpbmUgSEFWRV9TSUdOQUxfSCAxCnwgI2Rl
 ZmluZSBIQVZFX1NUREFSR19IIDEKfCAjZGVmaW5lIEhBVkVfU1REREVGX0ggMQp8ICNkZWZpbmUg
 SEFWRV9TVERJTlRfSCAxCnwgI2RlZmluZSBIQVZFX1NURElPX0ggMQp8ICNkZWZpbmUgSEFWRV9T
 VERMSUJfSCAxCnwgI2RlZmluZSBIQVZFX1NUUklOR19IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX0NE
 RUZTX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfRElSX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfRklM
 RV9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1BBUkFNX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfU09D
 S0VUX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfU1RBVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NU
 QVRGU19IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NUQVRWRlNfSCAxCnwgI2RlZmluZSBIQVZFX1NZ
 U19USU1FX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfVFlQRVNfSCAxCnwgI2RlZmluZSBIQVZFX1NZ
 U19VSU9fSCAxCnwgI2RlZmluZSBIQVZFX1NZU19WRlNfSCAxCnwgI2RlZmluZSBIQVZFX1NZU0VY
 SVRTX0ggMQp8ICNkZWZpbmUgSEFWRV9URVJNQ0FQX0ggMQp8ICNkZWZpbmUgSEFWRV9USU1FX0gg
 MQp8ICNkZWZpbmUgSEFWRV9VTklTVERfSCAxCnwgI2RlZmluZSBIQVZFX1VUSU1FX0ggMQp8ICNk
 ZWZpbmUgSEFWRV9TWVNfTU9VTlRfSCAxCnwgI2RlZmluZSBIQVZFX0dMT0JfSCAxCnwgI2RlZmlu
 ZSBIQVZFX05CQ09NUEFUX0dMT0IgMQp8ICNkZWZpbmUgSEFWRV9TWVNfUVVFVUVfSCAxCnwgI2Rl
 ZmluZSBIQVZFX05CQ09NUEFUX1FVRVVFIDEKfCAjZGVmaW5lIEhBVkVfUkVHRVhfSCAxCnwgI2Rl
 ZmluZSBIQVZFX05CQ09NUEFUX01ENSAxCnwgI2RlZmluZSBIQVZFX05CQ09NUEFUX1JNRDE2MCAx
 CnwgI2RlZmluZSBIQVZFX05CQ09NUEFUX1NIQTEgMQp8ICNkZWZpbmUgSEFWRV9OQkNPTVBBVF9T
 SEEyIDEKfCAjZGVmaW5lIEhBVkVfREVDTF9PUFRBUkcgMQp8ICNkZWZpbmUgSEFWRV9ERUNMX09Q
 VElORCAxCnwgI2RlZmluZSBIQVZFX0RFQ0xfT1BUUkVTRVQgMAp8ICNkZWZpbmUgSEFWRV9HRVRP
 UFRfSCAxCnwgI2RlZmluZSBIQVZFX1NUUlVDVF9PUFRJT04gMQp8ICNkZWZpbmUgSEFWRV9WSVNf
 SCAxCnwgI2RlZmluZSBIQVZFX05CQ09NUEFUX1ZJUyAxCnwgI2RlZmluZSBIQVZFX19fQVRUUklC
 VVRFX18gMQp8ICNkZWZpbmUgSEFWRV9VSU5UUFRSX1QgMQp8ICNkZWZpbmUgSEFWRV9MT05HX0xP
 TkcgMQp8ICNkZWZpbmUgSEFWRV9MT05HX0RPVUJMRSAxCnwgI2RlZmluZSBIQVZFX0ZTSURfVCAx
 CnwgI2RlZmluZSBTSVpFT0ZfT0ZGX1QgNAp8ICNkZWZpbmUgSEFWRV9TVERMSUJfSCAxCnwgI2Rl
 ZmluZSBIQVZFX01BTExPQyAxCnwgI2RlZmluZSBIQVZFX0RFQ0xfU1RSRVJST1JfUiAxCnwgI2Rl
 ZmluZSBIQVZFX1NUUkVSUk9SX1IgMQp8ICNkZWZpbmUgSEFWRV9GT1JLIDEKfCAjZGVmaW5lIEhB
 VkVfVkZPUksgMQp8ICNkZWZpbmUgSEFWRV9XT1JLSU5HX1ZGT1JLIDEKfCAjZGVmaW5lIEhBVkVf
 V09SS0lOR19GT1JLIDEKfCAjZGVmaW5lIEhBVkVfVlBSSU5URiAxCnwgI2RlZmluZSBIQVZFX0RF
 Q0xfU05QUklOVEYgMQp8ICNkZWZpbmUgSEFWRV9ERUNMX1ZBU1BSSU5URiAwCnwgI2RlZmluZSBI
 QVZFX0FTUFJJTlRGIDEKfCAjZGVmaW5lIEhBVkVfRVJSIDEKfCAjZGVmaW5lIEhBVkVfRk5NQVRD
 SCAxCnwgI2RlZmluZSBIQVZFX0dFVEVOViAxCnwgI2RlZmluZSBIQVZFX0lTQkxBTksgMQp8IC8q
 IGVuZCBjb25mZGVmcy5oLiAgKi8KfCAvKiBEZWZpbmUgbGNoZmxhZ3MgdG8gYW4gaW5ub2N1b3Vz
 IHZhcmlhbnQsIGluIGNhc2UgPGxpbWl0cy5oPiBkZWNsYXJlcyBsY2hmbGFncy4KfCAgICBGb3Ig
 ZXhhbXBsZSwgSFAtVVggMTFpIDxsaW1pdHMuaD4gZGVjbGFyZXMgZ2V0dGltZW9mZGF5LiAgKi8K
 fCAjZGVmaW5lIGxjaGZsYWdzIGlubm9jdW91c19sY2hmbGFncwp8IAp8IC8qIFN5c3RlbSBoZWFk
 ZXIgdG8gZGVmaW5lIF9fc3R1YiBtYWNyb3MgYW5kIGhvcGVmdWxseSBmZXcgcHJvdG90eXBlcywK
 fCAgICAgd2hpY2ggY2FuIGNvbmZsaWN0IHdpdGggY2hhciBsY2hmbGFncyAoKTsgYmVsb3cuCnwg
 ICAgIFByZWZlciA8bGltaXRzLmg+IHRvIDxhc3NlcnQuaD4gaWYgX19TVERDX18gaXMgZGVmaW5l
 ZCwgc2luY2UKfCAgICAgPGxpbWl0cy5oPiBleGlzdHMgZXZlbiBvbiBmcmVlc3RhbmRpbmcgY29t
 cGlsZXJzLiAgKi8KfCAKfCAjaWZkZWYgX19TVERDX18KfCAjIGluY2x1ZGUgPGxpbWl0cy5oPgp8
 ICNlbHNlCnwgIyBpbmNsdWRlIDxhc3NlcnQuaD4KfCAjZW5kaWYKfCAKfCAjdW5kZWYgbGNoZmxh
 Z3MKfCAKfCAvKiBPdmVycmlkZSBhbnkgR0NDIGludGVybmFsIHByb3RvdHlwZSB0byBhdm9pZCBh
 biBlcnJvci4KfCAgICBVc2UgY2hhciBiZWNhdXNlIGludCBtaWdodCBtYXRjaCB0aGUgcmV0dXJu
 IHR5cGUgb2YgYSBHQ0MKfCAgICBidWlsdGluIGFuZCB0aGVuIGl0cyBhcmd1bWVudCBwcm90b3R5
 cGUgd291bGQgc3RpbGwgYXBwbHkuICAqLwp8ICNpZmRlZiBfX2NwbHVzcGx1cwp8IGV4dGVybiAi
 QyIKfCAjZW5kaWYKfCBjaGFyIGxjaGZsYWdzICgpOwp8IC8qIFRoZSBHTlUgQyBsaWJyYXJ5IGRl
 ZmluZXMgdGhpcyBmb3IgZnVuY3Rpb25zIHdoaWNoIGl0IGltcGxlbWVudHMKfCAgICAgdG8gYWx3
 YXlzIGZhaWwgd2l0aCBFTk9TWVMuICBTb21lIGZ1bmN0aW9ucyBhcmUgYWN0dWFsbHkgbmFtZWQK
 fCAgICAgc29tZXRoaW5nIHN0YXJ0aW5nIHdpdGggX18gYW5kIHRoZSBub3JtYWwgbmFtZSBpcyBh
 biBhbGlhcy4gICovCnwgI2lmIGRlZmluZWQgX19zdHViX2xjaGZsYWdzIHx8IGRlZmluZWQgX19z
 dHViX19fbGNoZmxhZ3MKfCBjaG9rZSBtZQp8ICNlbmRpZgp8IAp8IGludAp8IG1haW4gKCkKfCB7
 CnwgcmV0dXJuIGxjaGZsYWdzICgpOwp8ICAgOwp8ICAgcmV0dXJuIDA7CnwgfQpjb25maWd1cmU6
 NTkzNDogcmVzdWx0OiBubwpjb25maWd1cmU6NTk0NzogY2hlY2tpbmcgZm9yIGxjaG1vZApjb25m
 aWd1cmU6NTk0NzogZ2NjIC1vIGNvbmZ0ZXN0IC1nIC1PMiAgIGNvbmZ0ZXN0LmMgID4mNQpjb25m
 dGVzdC5jOjEzMDoxOiBlcnJvcjogdW5rbm93biB0eXBlIG5hbWUgJ2Nob2tlJwpjb25mdGVzdC5j
 OjEzMzoxOiBlcnJvcjogZXhwZWN0ZWQgJz0nLCAnLCcsICc7JywgJ2FzbScgb3IgJ19fYXR0cmli
 dXRlX18nIGJlZm9yZSAnaW50Jwpjb25maWd1cmU6NTk0NzogJD8gPSAxCmNvbmZpZ3VyZTogZmFp
 bGVkIHByb2dyYW0gd2FzOgp8IC8qIGNvbmZkZWZzLmggKi8KfCAjZGVmaW5lIFBBQ0tBR0VfTkFN
 RSAibGlibmJjb21wYXQiCnwgI2RlZmluZSBQQUNLQUdFX1RBUk5BTUUgImxpYm5iY29tcGF0Igp8
 ICNkZWZpbmUgUEFDS0FHRV9WRVJTSU9OICIyMDA4MDYwNSIKfCAjZGVmaW5lIFBBQ0tBR0VfU1RS
 SU5HICJsaWJuYmNvbXBhdCAyMDA4MDYwNSIKfCAjZGVmaW5lIFBBQ0tBR0VfQlVHUkVQT1JUICJn
 cmFudEBOZXRCU0Qub3JnIgp8ICNkZWZpbmUgUEFDS0FHRV9VUkwgIiIKfCAjZGVmaW5lIFNURENf
 SEVBREVSUyAxCnwgI2RlZmluZSBUSU1FX1dJVEhfU1lTX1RJTUUgMQp8ICNkZWZpbmUgSEFWRV9T
 WVNfVFlQRVNfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19TVEFUX0ggMQp8ICNkZWZpbmUgSEFWRV9T
 VERMSUJfSCAxCnwgI2RlZmluZSBIQVZFX1NUUklOR19IIDEKfCAjZGVmaW5lIEhBVkVfTUVNT1JZ
 X0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJJTkdTX0ggMQp8ICNkZWZpbmUgSEFWRV9JTlRUWVBFU19I
 IDEKfCAjZGVmaW5lIEhBVkVfU1RESU5UX0ggMQp8ICNkZWZpbmUgSEFWRV9VTklTVERfSCAxCnwg
 I2RlZmluZSBIQVZFX19CT09MIDEKfCAjZGVmaW5lIEhBVkVfU1REQk9PTF9IIDEKfCAjZGVmaW5l
 IEhBVkVfQUxMT0NBX0ggMQp8ICNkZWZpbmUgSEFWRV9BU1NFUlRfSCAxCnwgI2RlZmluZSBIQVZF
 X0NUWVBFX0ggMQp8ICNkZWZpbmUgSEFWRV9ESVJFTlRfSCAxCnwgI2RlZmluZSBIQVZFX0VORElB
 Tl9IIDEKfCAjZGVmaW5lIEhBVkVfRVJSX0ggMQp8ICNkZWZpbmUgSEFWRV9FUlJOT19IIDEKfCAj
 ZGVmaW5lIEhBVkVfRkNOVExfSCAxCnwgI2RlZmluZSBIQVZFX0ZOTUFUQ0hfSCAxCnwgI2RlZmlu
 ZSBIQVZFX0ZUU19IIDEKfCAjZGVmaW5lIEhBVkVfR1JQX0ggMQp8ICNkZWZpbmUgSEFWRV9JTlRU
 WVBFU19IIDEKfCAjZGVmaW5lIEhBVkVfTElCVVRJTF9IIDEKfCAjZGVmaW5lIEhBVkVfTElNSVRT
 X0ggMQp8ICNkZWZpbmUgSEFWRV9ORVREQl9IIDEKfCAjZGVmaW5lIEhBVkVfUEFUSFNfSCAxCnwg
 I2RlZmluZSBIQVZFX1BXRF9IIDEKfCAjZGVmaW5lIEhBVkVfU0lHTkFMX0ggMQp8ICNkZWZpbmUg
 SEFWRV9TVERBUkdfSCAxCnwgI2RlZmluZSBIQVZFX1NURERFRl9IIDEKfCAjZGVmaW5lIEhBVkVf
 U1RESU5UX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERJT19IIDEKfCAjZGVmaW5lIEhBVkVfU1RETElC
 X0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJJTkdfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19DREVGU19I
 IDEKfCAjZGVmaW5lIEhBVkVfU1lTX0RJUl9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX0ZJTEVfSCAx
 CnwgI2RlZmluZSBIQVZFX1NZU19QQVJBTV9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NPQ0tFVF9I
 IDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NUQVRfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19TVEFURlNf
 SCAxCnwgI2RlZmluZSBIQVZFX1NZU19TVEFUVkZTX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfVElN
 RV9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1RZUEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfVUlP
 X0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfVkZTX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNFWElUU19I
 IDEKfCAjZGVmaW5lIEhBVkVfVEVSTUNBUF9IIDEKfCAjZGVmaW5lIEhBVkVfVElNRV9IIDEKfCAj
 ZGVmaW5lIEhBVkVfVU5JU1REX0ggMQp8ICNkZWZpbmUgSEFWRV9VVElNRV9IIDEKfCAjZGVmaW5l
 IEhBVkVfU1lTX01PVU5UX0ggMQp8ICNkZWZpbmUgSEFWRV9HTE9CX0ggMQp8ICNkZWZpbmUgSEFW
 RV9OQkNPTVBBVF9HTE9CIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1FVRVVFX0ggMQp8ICNkZWZpbmUg
 SEFWRV9OQkNPTVBBVF9RVUVVRSAxCnwgI2RlZmluZSBIQVZFX1JFR0VYX0ggMQp8ICNkZWZpbmUg
 SEFWRV9OQkNPTVBBVF9NRDUgMQp8ICNkZWZpbmUgSEFWRV9OQkNPTVBBVF9STUQxNjAgMQp8ICNk
 ZWZpbmUgSEFWRV9OQkNPTVBBVF9TSEExIDEKfCAjZGVmaW5lIEhBVkVfTkJDT01QQVRfU0hBMiAx
 CnwgI2RlZmluZSBIQVZFX0RFQ0xfT1BUQVJHIDEKfCAjZGVmaW5lIEhBVkVfREVDTF9PUFRJTkQg
 MQp8ICNkZWZpbmUgSEFWRV9ERUNMX09QVFJFU0VUIDAKfCAjZGVmaW5lIEhBVkVfR0VUT1BUX0gg
 MQp8ICNkZWZpbmUgSEFWRV9TVFJVQ1RfT1BUSU9OIDEKfCAjZGVmaW5lIEhBVkVfVklTX0ggMQp8
 ICNkZWZpbmUgSEFWRV9OQkNPTVBBVF9WSVMgMQp8ICNkZWZpbmUgSEFWRV9fX0FUVFJJQlVURV9f
 IDEKfCAjZGVmaW5lIEhBVkVfVUlOVFBUUl9UIDEKfCAjZGVmaW5lIEhBVkVfTE9OR19MT05HIDEK
 fCAjZGVmaW5lIEhBVkVfTE9OR19ET1VCTEUgMQp8ICNkZWZpbmUgSEFWRV9GU0lEX1QgMQp8ICNk
 ZWZpbmUgU0laRU9GX09GRl9UIDQKfCAjZGVmaW5lIEhBVkVfU1RETElCX0ggMQp8ICNkZWZpbmUg
 SEFWRV9NQUxMT0MgMQp8ICNkZWZpbmUgSEFWRV9ERUNMX1NUUkVSUk9SX1IgMQp8ICNkZWZpbmUg
 SEFWRV9TVFJFUlJPUl9SIDEKfCAjZGVmaW5lIEhBVkVfRk9SSyAxCnwgI2RlZmluZSBIQVZFX1ZG
 T1JLIDEKfCAjZGVmaW5lIEhBVkVfV09SS0lOR19WRk9SSyAxCnwgI2RlZmluZSBIQVZFX1dPUktJ
 TkdfRk9SSyAxCnwgI2RlZmluZSBIQVZFX1ZQUklOVEYgMQp8ICNkZWZpbmUgSEFWRV9ERUNMX1NO
 UFJJTlRGIDEKfCAjZGVmaW5lIEhBVkVfREVDTF9WQVNQUklOVEYgMAp8ICNkZWZpbmUgSEFWRV9B
 U1BSSU5URiAxCnwgI2RlZmluZSBIQVZFX0VSUiAxCnwgI2RlZmluZSBIQVZFX0ZOTUFUQ0ggMQp8
 ICNkZWZpbmUgSEFWRV9HRVRFTlYgMQp8ICNkZWZpbmUgSEFWRV9JU0JMQU5LIDEKfCAvKiBlbmQg
 Y29uZmRlZnMuaC4gICovCnwgLyogRGVmaW5lIGxjaG1vZCB0byBhbiBpbm5vY3VvdXMgdmFyaWFu
 dCwgaW4gY2FzZSA8bGltaXRzLmg+IGRlY2xhcmVzIGxjaG1vZC4KfCAgICBGb3IgZXhhbXBsZSwg
 SFAtVVggMTFpIDxsaW1pdHMuaD4gZGVjbGFyZXMgZ2V0dGltZW9mZGF5LiAgKi8KfCAjZGVmaW5l
 IGxjaG1vZCBpbm5vY3VvdXNfbGNobW9kCnwgCnwgLyogU3lzdGVtIGhlYWRlciB0byBkZWZpbmUg
 X19zdHViIG1hY3JvcyBhbmQgaG9wZWZ1bGx5IGZldyBwcm90b3R5cGVzLAp8ICAgICB3aGljaCBj
 YW4gY29uZmxpY3Qgd2l0aCBjaGFyIGxjaG1vZCAoKTsgYmVsb3cuCnwgICAgIFByZWZlciA8bGlt
 aXRzLmg+IHRvIDxhc3NlcnQuaD4gaWYgX19TVERDX18gaXMgZGVmaW5lZCwgc2luY2UKfCAgICAg
 PGxpbWl0cy5oPiBleGlzdHMgZXZlbiBvbiBmcmVlc3RhbmRpbmcgY29tcGlsZXJzLiAgKi8KfCAK
 fCAjaWZkZWYgX19TVERDX18KfCAjIGluY2x1ZGUgPGxpbWl0cy5oPgp8ICNlbHNlCnwgIyBpbmNs
 dWRlIDxhc3NlcnQuaD4KfCAjZW5kaWYKfCAKfCAjdW5kZWYgbGNobW9kCnwgCnwgLyogT3ZlcnJp
 ZGUgYW55IEdDQyBpbnRlcm5hbCBwcm90b3R5cGUgdG8gYXZvaWQgYW4gZXJyb3IuCnwgICAgVXNl
 IGNoYXIgYmVjYXVzZSBpbnQgbWlnaHQgbWF0Y2ggdGhlIHJldHVybiB0eXBlIG9mIGEgR0NDCnwg
 ICAgYnVpbHRpbiBhbmQgdGhlbiBpdHMgYXJndW1lbnQgcHJvdG90eXBlIHdvdWxkIHN0aWxsIGFw
 cGx5LiAgKi8KfCAjaWZkZWYgX19jcGx1c3BsdXMKfCBleHRlcm4gIkMiCnwgI2VuZGlmCnwgY2hh
 ciBsY2htb2QgKCk7CnwgLyogVGhlIEdOVSBDIGxpYnJhcnkgZGVmaW5lcyB0aGlzIGZvciBmdW5j
 dGlvbnMgd2hpY2ggaXQgaW1wbGVtZW50cwp8ICAgICB0byBhbHdheXMgZmFpbCB3aXRoIEVOT1NZ
 Uy4gIFNvbWUgZnVuY3Rpb25zIGFyZSBhY3R1YWxseSBuYW1lZAp8ICAgICBzb21ldGhpbmcgc3Rh
 cnRpbmcgd2l0aCBfXyBhbmQgdGhlIG5vcm1hbCBuYW1lIGlzIGFuIGFsaWFzLiAgKi8KfCAjaWYg
 ZGVmaW5lZCBfX3N0dWJfbGNobW9kIHx8IGRlZmluZWQgX19zdHViX19fbGNobW9kCnwgY2hva2Ug
 bWUKfCAjZW5kaWYKfCAKfCBpbnQKfCBtYWluICgpCnwgewp8IHJldHVybiBsY2htb2QgKCk7Cnwg
 ICA7CnwgICByZXR1cm4gMDsKfCB9CmNvbmZpZ3VyZTo1OTQ3OiByZXN1bHQ6IG5vCmNvbmZpZ3Vy
 ZTo1OTYwOiBjaGVja2luZyBmb3IgbGNob3duCmNvbmZpZ3VyZTo1OTYwOiBnY2MgLW8gY29uZnRl
 c3QgLWcgLU8yICAgY29uZnRlc3QuYyAgPiY1CmNvbmZpZ3VyZTo1OTYwOiAkPyA9IDAKY29uZmln
 dXJlOjU5NjA6IHJlc3VsdDogeWVzCmNvbmZpZ3VyZTo1OTczOiBjaGVja2luZyBmb3IgbHV0aW1l
 cwpjb25maWd1cmU6NTk3MzogZ2NjIC1vIGNvbmZ0ZXN0IC1nIC1PMiAgIGNvbmZ0ZXN0LmMgID4m
 NQpjb25maWd1cmU6NTk3MzogJD8gPSAwCmNvbmZpZ3VyZTo1OTczOiByZXN1bHQ6IHllcwpjb25m
 aWd1cmU6NTk4NjogY2hlY2tpbmcgZm9yIG1rZHRlbXAKY29uZmlndXJlOjU5ODY6IGdjYyAtbyBj
 b25mdGVzdCAtZyAtTzIgICBjb25mdGVzdC5jICA+JjUKY29uZmlndXJlOjU5ODY6ICQ/ID0gMApj
 b25maWd1cmU6NTk4NjogcmVzdWx0OiB5ZXMKY29uZmlndXJlOjU5OTk6IGNoZWNraW5nIGZvciBt
 a3N0ZW1wCmNvbmZpZ3VyZTo1OTk5OiBnY2MgLW8gY29uZnRlc3QgLWcgLU8yICAgY29uZnRlc3Qu
 YyAgPiY1CmNvbmZpZ3VyZTo1OTk5OiAkPyA9IDAKY29uZmlndXJlOjU5OTk6IHJlc3VsdDogeWVz
 CmNvbmZpZ3VyZTo2MDEyOiBjaGVja2luZyBmb3Igc2V0ZW52CmNvbmZpZ3VyZTo2MDEyOiBnY2Mg
 LW8gY29uZnRlc3QgLWcgLU8yICAgY29uZnRlc3QuYyAgPiY1CmNvbmZpZ3VyZTo2MDEyOiAkPyA9
 IDAKY29uZmlndXJlOjYwMTI6IHJlc3VsdDogeWVzCmNvbmZpZ3VyZTo2MDI1OiBjaGVja2luZyBm
 b3Igc2V0Z3JvdXBlbnQKY29uZmlndXJlOjYwMjU6IGdjYyAtbyBjb25mdGVzdCAtZyAtTzIgICBj
 b25mdGVzdC5jICA+JjUKL3RtcC9jY0ZQOERVTS5vOiBJbiBmdW5jdGlvbiBgbWFpbic6Ci9tZWRp
 YS9zZGIyL3NyYy9wa2dzcmMvYm9vdHN0cmFwL3dvcmsvbGlibmJjb21wYXQvY29uZnRlc3QuYzox
 NDE6IHVuZGVmaW5lZCByZWZlcmVuY2UgdG8gYHNldGdyb3VwZW50Jwpjb2xsZWN0MjogbGQgcmV0
 dXJuZWQgMSBleGl0IHN0YXR1cwpjb25maWd1cmU6NjAyNTogJD8gPSAxCmNvbmZpZ3VyZTogZmFp
 bGVkIHByb2dyYW0gd2FzOgp8IC8qIGNvbmZkZWZzLmggKi8KfCAjZGVmaW5lIFBBQ0tBR0VfTkFN
 RSAibGlibmJjb21wYXQiCnwgI2RlZmluZSBQQUNLQUdFX1RBUk5BTUUgImxpYm5iY29tcGF0Igp8
 ICNkZWZpbmUgUEFDS0FHRV9WRVJTSU9OICIyMDA4MDYwNSIKfCAjZGVmaW5lIFBBQ0tBR0VfU1RS
 SU5HICJsaWJuYmNvbXBhdCAyMDA4MDYwNSIKfCAjZGVmaW5lIFBBQ0tBR0VfQlVHUkVQT1JUICJn
 cmFudEBOZXRCU0Qub3JnIgp8ICNkZWZpbmUgUEFDS0FHRV9VUkwgIiIKfCAjZGVmaW5lIFNURENf
 SEVBREVSUyAxCnwgI2RlZmluZSBUSU1FX1dJVEhfU1lTX1RJTUUgMQp8ICNkZWZpbmUgSEFWRV9T
 WVNfVFlQRVNfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19TVEFUX0ggMQp8ICNkZWZpbmUgSEFWRV9T
 VERMSUJfSCAxCnwgI2RlZmluZSBIQVZFX1NUUklOR19IIDEKfCAjZGVmaW5lIEhBVkVfTUVNT1JZ
 X0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJJTkdTX0ggMQp8ICNkZWZpbmUgSEFWRV9JTlRUWVBFU19I
 IDEKfCAjZGVmaW5lIEhBVkVfU1RESU5UX0ggMQp8ICNkZWZpbmUgSEFWRV9VTklTVERfSCAxCnwg
 I2RlZmluZSBIQVZFX19CT09MIDEKfCAjZGVmaW5lIEhBVkVfU1REQk9PTF9IIDEKfCAjZGVmaW5l
 IEhBVkVfQUxMT0NBX0ggMQp8ICNkZWZpbmUgSEFWRV9BU1NFUlRfSCAxCnwgI2RlZmluZSBIQVZF
 X0NUWVBFX0ggMQp8ICNkZWZpbmUgSEFWRV9ESVJFTlRfSCAxCnwgI2RlZmluZSBIQVZFX0VORElB
 Tl9IIDEKfCAjZGVmaW5lIEhBVkVfRVJSX0ggMQp8ICNkZWZpbmUgSEFWRV9FUlJOT19IIDEKfCAj
 ZGVmaW5lIEhBVkVfRkNOVExfSCAxCnwgI2RlZmluZSBIQVZFX0ZOTUFUQ0hfSCAxCnwgI2RlZmlu
 ZSBIQVZFX0ZUU19IIDEKfCAjZGVmaW5lIEhBVkVfR1JQX0ggMQp8ICNkZWZpbmUgSEFWRV9JTlRU
 WVBFU19IIDEKfCAjZGVmaW5lIEhBVkVfTElCVVRJTF9IIDEKfCAjZGVmaW5lIEhBVkVfTElNSVRT
 X0ggMQp8ICNkZWZpbmUgSEFWRV9ORVREQl9IIDEKfCAjZGVmaW5lIEhBVkVfUEFUSFNfSCAxCnwg
 I2RlZmluZSBIQVZFX1BXRF9IIDEKfCAjZGVmaW5lIEhBVkVfU0lHTkFMX0ggMQp8ICNkZWZpbmUg
 SEFWRV9TVERBUkdfSCAxCnwgI2RlZmluZSBIQVZFX1NURERFRl9IIDEKfCAjZGVmaW5lIEhBVkVf
 U1RESU5UX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERJT19IIDEKfCAjZGVmaW5lIEhBVkVfU1RETElC
 X0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJJTkdfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19DREVGU19I
 IDEKfCAjZGVmaW5lIEhBVkVfU1lTX0RJUl9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX0ZJTEVfSCAx
 CnwgI2RlZmluZSBIQVZFX1NZU19QQVJBTV9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NPQ0tFVF9I
 IDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NUQVRfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19TVEFURlNf
 SCAxCnwgI2RlZmluZSBIQVZFX1NZU19TVEFUVkZTX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfVElN
 RV9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1RZUEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfVUlP
 X0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfVkZTX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNFWElUU19I
 IDEKfCAjZGVmaW5lIEhBVkVfVEVSTUNBUF9IIDEKfCAjZGVmaW5lIEhBVkVfVElNRV9IIDEKfCAj
 ZGVmaW5lIEhBVkVfVU5JU1REX0ggMQp8ICNkZWZpbmUgSEFWRV9VVElNRV9IIDEKfCAjZGVmaW5l
 IEhBVkVfU1lTX01PVU5UX0ggMQp8ICNkZWZpbmUgSEFWRV9HTE9CX0ggMQp8ICNkZWZpbmUgSEFW
 RV9OQkNPTVBBVF9HTE9CIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1FVRVVFX0ggMQp8ICNkZWZpbmUg
 SEFWRV9OQkNPTVBBVF9RVUVVRSAxCnwgI2RlZmluZSBIQVZFX1JFR0VYX0ggMQp8ICNkZWZpbmUg
 SEFWRV9OQkNPTVBBVF9NRDUgMQp8ICNkZWZpbmUgSEFWRV9OQkNPTVBBVF9STUQxNjAgMQp8ICNk
 ZWZpbmUgSEFWRV9OQkNPTVBBVF9TSEExIDEKfCAjZGVmaW5lIEhBVkVfTkJDT01QQVRfU0hBMiAx
 CnwgI2RlZmluZSBIQVZFX0RFQ0xfT1BUQVJHIDEKfCAjZGVmaW5lIEhBVkVfREVDTF9PUFRJTkQg
 MQp8ICNkZWZpbmUgSEFWRV9ERUNMX09QVFJFU0VUIDAKfCAjZGVmaW5lIEhBVkVfR0VUT1BUX0gg
 MQp8ICNkZWZpbmUgSEFWRV9TVFJVQ1RfT1BUSU9OIDEKfCAjZGVmaW5lIEhBVkVfVklTX0ggMQp8
 ICNkZWZpbmUgSEFWRV9OQkNPTVBBVF9WSVMgMQp8ICNkZWZpbmUgSEFWRV9fX0FUVFJJQlVURV9f
 IDEKfCAjZGVmaW5lIEhBVkVfVUlOVFBUUl9UIDEKfCAjZGVmaW5lIEhBVkVfTE9OR19MT05HIDEK
 fCAjZGVmaW5lIEhBVkVfTE9OR19ET1VCTEUgMQp8ICNkZWZpbmUgSEFWRV9GU0lEX1QgMQp8ICNk
 ZWZpbmUgU0laRU9GX09GRl9UIDQKfCAjZGVmaW5lIEhBVkVfU1RETElCX0ggMQp8ICNkZWZpbmUg
 SEFWRV9NQUxMT0MgMQp8ICNkZWZpbmUgSEFWRV9ERUNMX1NUUkVSUk9SX1IgMQp8ICNkZWZpbmUg
 SEFWRV9TVFJFUlJPUl9SIDEKfCAjZGVmaW5lIEhBVkVfRk9SSyAxCnwgI2RlZmluZSBIQVZFX1ZG
 T1JLIDEKfCAjZGVmaW5lIEhBVkVfV09SS0lOR19WRk9SSyAxCnwgI2RlZmluZSBIQVZFX1dPUktJ
 TkdfRk9SSyAxCnwgI2RlZmluZSBIQVZFX1ZQUklOVEYgMQp8ICNkZWZpbmUgSEFWRV9ERUNMX1NO
 UFJJTlRGIDEKfCAjZGVmaW5lIEhBVkVfREVDTF9WQVNQUklOVEYgMAp8ICNkZWZpbmUgSEFWRV9B
 U1BSSU5URiAxCnwgI2RlZmluZSBIQVZFX0VSUiAxCnwgI2RlZmluZSBIQVZFX0ZOTUFUQ0ggMQp8
 ICNkZWZpbmUgSEFWRV9HRVRFTlYgMQp8ICNkZWZpbmUgSEFWRV9JU0JMQU5LIDEKfCAjZGVmaW5l
 IEhBVkVfTENIT1dOIDEKfCAjZGVmaW5lIEhBVkVfTFVUSU1FUyAxCnwgI2RlZmluZSBIQVZFX01L
 RFRFTVAgMQp8ICNkZWZpbmUgSEFWRV9NS1NURU1QIDEKfCAjZGVmaW5lIEhBVkVfU0VURU5WIDEK
 fCAvKiBlbmQgY29uZmRlZnMuaC4gICovCnwgLyogRGVmaW5lIHNldGdyb3VwZW50IHRvIGFuIGlu
 bm9jdW91cyB2YXJpYW50LCBpbiBjYXNlIDxsaW1pdHMuaD4gZGVjbGFyZXMgc2V0Z3JvdXBlbnQu
 CnwgICAgRm9yIGV4YW1wbGUsIEhQLVVYIDExaSA8bGltaXRzLmg+IGRlY2xhcmVzIGdldHRpbWVv
 ZmRheS4gICovCnwgI2RlZmluZSBzZXRncm91cGVudCBpbm5vY3VvdXNfc2V0Z3JvdXBlbnQKfCAK
 fCAvKiBTeXN0ZW0gaGVhZGVyIHRvIGRlZmluZSBfX3N0dWIgbWFjcm9zIGFuZCBob3BlZnVsbHkg
 ZmV3IHByb3RvdHlwZXMsCnwgICAgIHdoaWNoIGNhbiBjb25mbGljdCB3aXRoIGNoYXIgc2V0Z3Jv
 dXBlbnQgKCk7IGJlbG93Lgp8ICAgICBQcmVmZXIgPGxpbWl0cy5oPiB0byA8YXNzZXJ0Lmg+IGlm
 IF9fU1REQ19fIGlzIGRlZmluZWQsIHNpbmNlCnwgICAgIDxsaW1pdHMuaD4gZXhpc3RzIGV2ZW4g
 b24gZnJlZXN0YW5kaW5nIGNvbXBpbGVycy4gICovCnwgCnwgI2lmZGVmIF9fU1REQ19fCnwgIyBp
 bmNsdWRlIDxsaW1pdHMuaD4KfCAjZWxzZQp8ICMgaW5jbHVkZSA8YXNzZXJ0Lmg+CnwgI2VuZGlm
 CnwgCnwgI3VuZGVmIHNldGdyb3VwZW50CnwgCnwgLyogT3ZlcnJpZGUgYW55IEdDQyBpbnRlcm5h
 bCBwcm90b3R5cGUgdG8gYXZvaWQgYW4gZXJyb3IuCnwgICAgVXNlIGNoYXIgYmVjYXVzZSBpbnQg
 bWlnaHQgbWF0Y2ggdGhlIHJldHVybiB0eXBlIG9mIGEgR0NDCnwgICAgYnVpbHRpbiBhbmQgdGhl
 biBpdHMgYXJndW1lbnQgcHJvdG90eXBlIHdvdWxkIHN0aWxsIGFwcGx5LiAgKi8KfCAjaWZkZWYg
 X19jcGx1c3BsdXMKfCBleHRlcm4gIkMiCnwgI2VuZGlmCnwgY2hhciBzZXRncm91cGVudCAoKTsK
 fCAvKiBUaGUgR05VIEMgbGlicmFyeSBkZWZpbmVzIHRoaXMgZm9yIGZ1bmN0aW9ucyB3aGljaCBp
 dCBpbXBsZW1lbnRzCnwgICAgIHRvIGFsd2F5cyBmYWlsIHdpdGggRU5PU1lTLiAgU29tZSBmdW5j
 dGlvbnMgYXJlIGFjdHVhbGx5IG5hbWVkCnwgICAgIHNvbWV0aGluZyBzdGFydGluZyB3aXRoIF9f
 IGFuZCB0aGUgbm9ybWFsIG5hbWUgaXMgYW4gYWxpYXMuICAqLwp8ICNpZiBkZWZpbmVkIF9fc3R1
 Yl9zZXRncm91cGVudCB8fCBkZWZpbmVkIF9fc3R1Yl9fX3NldGdyb3VwZW50CnwgY2hva2UgbWUK
 fCAjZW5kaWYKfCAKfCBpbnQKfCBtYWluICgpCnwgewp8IHJldHVybiBzZXRncm91cGVudCAoKTsK
 fCAgIDsKfCAgIHJldHVybiAwOwp8IH0KY29uZmlndXJlOjYwMjU6IHJlc3VsdDogbm8KY29uZmln
 dXJlOjYwMzg6IGNoZWNraW5nIGZvciBzZXRwYXNzZW50CmNvbmZpZ3VyZTo2MDM4OiBnY2MgLW8g
 Y29uZnRlc3QgLWcgLU8yICAgY29uZnRlc3QuYyAgPiY1Ci90bXAvY2NYS3lGdlgubzogSW4gZnVu
 Y3Rpb24gYG1haW4nOgovbWVkaWEvc2RiMi9zcmMvcGtnc3JjL2Jvb3RzdHJhcC93b3JrL2xpYm5i
 Y29tcGF0L2NvbmZ0ZXN0LmM6MTQxOiB1bmRlZmluZWQgcmVmZXJlbmNlIHRvIGBzZXRwYXNzZW50
 Jwpjb2xsZWN0MjogbGQgcmV0dXJuZWQgMSBleGl0IHN0YXR1cwpjb25maWd1cmU6NjAzODogJD8g
 PSAxCmNvbmZpZ3VyZTogZmFpbGVkIHByb2dyYW0gd2FzOgp8IC8qIGNvbmZkZWZzLmggKi8KfCAj
 ZGVmaW5lIFBBQ0tBR0VfTkFNRSAibGlibmJjb21wYXQiCnwgI2RlZmluZSBQQUNLQUdFX1RBUk5B
 TUUgImxpYm5iY29tcGF0Igp8ICNkZWZpbmUgUEFDS0FHRV9WRVJTSU9OICIyMDA4MDYwNSIKfCAj
 ZGVmaW5lIFBBQ0tBR0VfU1RSSU5HICJsaWJuYmNvbXBhdCAyMDA4MDYwNSIKfCAjZGVmaW5lIFBB
 Q0tBR0VfQlVHUkVQT1JUICJncmFudEBOZXRCU0Qub3JnIgp8ICNkZWZpbmUgUEFDS0FHRV9VUkwg
 IiIKfCAjZGVmaW5lIFNURENfSEVBREVSUyAxCnwgI2RlZmluZSBUSU1FX1dJVEhfU1lTX1RJTUUg
 MQp8ICNkZWZpbmUgSEFWRV9TWVNfVFlQRVNfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19TVEFUX0gg
 MQp8ICNkZWZpbmUgSEFWRV9TVERMSUJfSCAxCnwgI2RlZmluZSBIQVZFX1NUUklOR19IIDEKfCAj
 ZGVmaW5lIEhBVkVfTUVNT1JZX0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJJTkdTX0ggMQp8ICNkZWZp
 bmUgSEFWRV9JTlRUWVBFU19IIDEKfCAjZGVmaW5lIEhBVkVfU1RESU5UX0ggMQp8ICNkZWZpbmUg
 SEFWRV9VTklTVERfSCAxCnwgI2RlZmluZSBIQVZFX19CT09MIDEKfCAjZGVmaW5lIEhBVkVfU1RE
 Qk9PTF9IIDEKfCAjZGVmaW5lIEhBVkVfQUxMT0NBX0ggMQp8ICNkZWZpbmUgSEFWRV9BU1NFUlRf
 SCAxCnwgI2RlZmluZSBIQVZFX0NUWVBFX0ggMQp8ICNkZWZpbmUgSEFWRV9ESVJFTlRfSCAxCnwg
 I2RlZmluZSBIQVZFX0VORElBTl9IIDEKfCAjZGVmaW5lIEhBVkVfRVJSX0ggMQp8ICNkZWZpbmUg
 SEFWRV9FUlJOT19IIDEKfCAjZGVmaW5lIEhBVkVfRkNOVExfSCAxCnwgI2RlZmluZSBIQVZFX0ZO
 TUFUQ0hfSCAxCnwgI2RlZmluZSBIQVZFX0ZUU19IIDEKfCAjZGVmaW5lIEhBVkVfR1JQX0ggMQp8
 ICNkZWZpbmUgSEFWRV9JTlRUWVBFU19IIDEKfCAjZGVmaW5lIEhBVkVfTElCVVRJTF9IIDEKfCAj
 ZGVmaW5lIEhBVkVfTElNSVRTX0ggMQp8ICNkZWZpbmUgSEFWRV9ORVREQl9IIDEKfCAjZGVmaW5l
 IEhBVkVfUEFUSFNfSCAxCnwgI2RlZmluZSBIQVZFX1BXRF9IIDEKfCAjZGVmaW5lIEhBVkVfU0lH
 TkFMX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERBUkdfSCAxCnwgI2RlZmluZSBIQVZFX1NURERFRl9I
 IDEKfCAjZGVmaW5lIEhBVkVfU1RESU5UX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERJT19IIDEKfCAj
 ZGVmaW5lIEhBVkVfU1RETElCX0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJJTkdfSCAxCnwgI2RlZmlu
 ZSBIQVZFX1NZU19DREVGU19IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX0RJUl9IIDEKfCAjZGVmaW5l
 IEhBVkVfU1lTX0ZJTEVfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19QQVJBTV9IIDEKfCAjZGVmaW5l
 IEhBVkVfU1lTX1NPQ0tFVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NUQVRfSCAxCnwgI2RlZmlu
 ZSBIQVZFX1NZU19TVEFURlNfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19TVEFUVkZTX0ggMQp8ICNk
 ZWZpbmUgSEFWRV9TWVNfVElNRV9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1RZUEVTX0ggMQp8ICNk
 ZWZpbmUgSEFWRV9TWVNfVUlPX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfVkZTX0ggMQp8ICNkZWZp
 bmUgSEFWRV9TWVNFWElUU19IIDEKfCAjZGVmaW5lIEhBVkVfVEVSTUNBUF9IIDEKfCAjZGVmaW5l
 IEhBVkVfVElNRV9IIDEKfCAjZGVmaW5lIEhBVkVfVU5JU1REX0ggMQp8ICNkZWZpbmUgSEFWRV9V
 VElNRV9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX01PVU5UX0ggMQp8ICNkZWZpbmUgSEFWRV9HTE9C
 X0ggMQp8ICNkZWZpbmUgSEFWRV9OQkNPTVBBVF9HTE9CIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1FV
 RVVFX0ggMQp8ICNkZWZpbmUgSEFWRV9OQkNPTVBBVF9RVUVVRSAxCnwgI2RlZmluZSBIQVZFX1JF
 R0VYX0ggMQp8ICNkZWZpbmUgSEFWRV9OQkNPTVBBVF9NRDUgMQp8ICNkZWZpbmUgSEFWRV9OQkNP
 TVBBVF9STUQxNjAgMQp8ICNkZWZpbmUgSEFWRV9OQkNPTVBBVF9TSEExIDEKfCAjZGVmaW5lIEhB
 VkVfTkJDT01QQVRfU0hBMiAxCnwgI2RlZmluZSBIQVZFX0RFQ0xfT1BUQVJHIDEKfCAjZGVmaW5l
 IEhBVkVfREVDTF9PUFRJTkQgMQp8ICNkZWZpbmUgSEFWRV9ERUNMX09QVFJFU0VUIDAKfCAjZGVm
 aW5lIEhBVkVfR0VUT1BUX0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJVQ1RfT1BUSU9OIDEKfCAjZGVm
 aW5lIEhBVkVfVklTX0ggMQp8ICNkZWZpbmUgSEFWRV9OQkNPTVBBVF9WSVMgMQp8ICNkZWZpbmUg
 SEFWRV9fX0FUVFJJQlVURV9fIDEKfCAjZGVmaW5lIEhBVkVfVUlOVFBUUl9UIDEKfCAjZGVmaW5l
 IEhBVkVfTE9OR19MT05HIDEKfCAjZGVmaW5lIEhBVkVfTE9OR19ET1VCTEUgMQp8ICNkZWZpbmUg
 SEFWRV9GU0lEX1QgMQp8ICNkZWZpbmUgU0laRU9GX09GRl9UIDQKfCAjZGVmaW5lIEhBVkVfU1RE
 TElCX0ggMQp8ICNkZWZpbmUgSEFWRV9NQUxMT0MgMQp8ICNkZWZpbmUgSEFWRV9ERUNMX1NUUkVS
 Uk9SX1IgMQp8ICNkZWZpbmUgSEFWRV9TVFJFUlJPUl9SIDEKfCAjZGVmaW5lIEhBVkVfRk9SSyAx
 CnwgI2RlZmluZSBIQVZFX1ZGT1JLIDEKfCAjZGVmaW5lIEhBVkVfV09SS0lOR19WRk9SSyAxCnwg
 I2RlZmluZSBIQVZFX1dPUktJTkdfRk9SSyAxCnwgI2RlZmluZSBIQVZFX1ZQUklOVEYgMQp8ICNk
 ZWZpbmUgSEFWRV9ERUNMX1NOUFJJTlRGIDEKfCAjZGVmaW5lIEhBVkVfREVDTF9WQVNQUklOVEYg
 MAp8ICNkZWZpbmUgSEFWRV9BU1BSSU5URiAxCnwgI2RlZmluZSBIQVZFX0VSUiAxCnwgI2RlZmlu
 ZSBIQVZFX0ZOTUFUQ0ggMQp8ICNkZWZpbmUgSEFWRV9HRVRFTlYgMQp8ICNkZWZpbmUgSEFWRV9J
 U0JMQU5LIDEKfCAjZGVmaW5lIEhBVkVfTENIT1dOIDEKfCAjZGVmaW5lIEhBVkVfTFVUSU1FUyAx
 CnwgI2RlZmluZSBIQVZFX01LRFRFTVAgMQp8ICNkZWZpbmUgSEFWRV9NS1NURU1QIDEKfCAjZGVm
 aW5lIEhBVkVfU0VURU5WIDEKfCAvKiBlbmQgY29uZmRlZnMuaC4gICovCnwgLyogRGVmaW5lIHNl
 dHBhc3NlbnQgdG8gYW4gaW5ub2N1b3VzIHZhcmlhbnQsIGluIGNhc2UgPGxpbWl0cy5oPiBkZWNs
 YXJlcyBzZXRwYXNzZW50Lgp8ICAgIEZvciBleGFtcGxlLCBIUC1VWCAxMWkgPGxpbWl0cy5oPiBk
 ZWNsYXJlcyBnZXR0aW1lb2ZkYXkuICAqLwp8ICNkZWZpbmUgc2V0cGFzc2VudCBpbm5vY3VvdXNf
 c2V0cGFzc2VudAp8IAp8IC8qIFN5c3RlbSBoZWFkZXIgdG8gZGVmaW5lIF9fc3R1YiBtYWNyb3Mg
 YW5kIGhvcGVmdWxseSBmZXcgcHJvdG90eXBlcywKfCAgICAgd2hpY2ggY2FuIGNvbmZsaWN0IHdp
 dGggY2hhciBzZXRwYXNzZW50ICgpOyBiZWxvdy4KfCAgICAgUHJlZmVyIDxsaW1pdHMuaD4gdG8g
 PGFzc2VydC5oPiBpZiBfX1NURENfXyBpcyBkZWZpbmVkLCBzaW5jZQp8ICAgICA8bGltaXRzLmg+
 IGV4aXN0cyBldmVuIG9uIGZyZWVzdGFuZGluZyBjb21waWxlcnMuICAqLwp8IAp8ICNpZmRlZiBf
 X1NURENfXwp8ICMgaW5jbHVkZSA8bGltaXRzLmg+CnwgI2Vsc2UKfCAjIGluY2x1ZGUgPGFzc2Vy
 dC5oPgp8ICNlbmRpZgp8IAp8ICN1bmRlZiBzZXRwYXNzZW50CnwgCnwgLyogT3ZlcnJpZGUgYW55
 IEdDQyBpbnRlcm5hbCBwcm90b3R5cGUgdG8gYXZvaWQgYW4gZXJyb3IuCnwgICAgVXNlIGNoYXIg
 YmVjYXVzZSBpbnQgbWlnaHQgbWF0Y2ggdGhlIHJldHVybiB0eXBlIG9mIGEgR0NDCnwgICAgYnVp
 bHRpbiBhbmQgdGhlbiBpdHMgYXJndW1lbnQgcHJvdG90eXBlIHdvdWxkIHN0aWxsIGFwcGx5LiAg
 Ki8KfCAjaWZkZWYgX19jcGx1c3BsdXMKfCBleHRlcm4gIkMiCnwgI2VuZGlmCnwgY2hhciBzZXRw
 YXNzZW50ICgpOwp8IC8qIFRoZSBHTlUgQyBsaWJyYXJ5IGRlZmluZXMgdGhpcyBmb3IgZnVuY3Rp
 b25zIHdoaWNoIGl0IGltcGxlbWVudHMKfCAgICAgdG8gYWx3YXlzIGZhaWwgd2l0aCBFTk9TWVMu
 ICBTb21lIGZ1bmN0aW9ucyBhcmUgYWN0dWFsbHkgbmFtZWQKfCAgICAgc29tZXRoaW5nIHN0YXJ0
 aW5nIHdpdGggX18gYW5kIHRoZSBub3JtYWwgbmFtZSBpcyBhbiBhbGlhcy4gICovCnwgI2lmIGRl
 ZmluZWQgX19zdHViX3NldHBhc3NlbnQgfHwgZGVmaW5lZCBfX3N0dWJfX19zZXRwYXNzZW50Cnwg
 Y2hva2UgbWUKfCAjZW5kaWYKfCAKfCBpbnQKfCBtYWluICgpCnwgewp8IHJldHVybiBzZXRwYXNz
 ZW50ICgpOwp8ICAgOwp8ICAgcmV0dXJuIDA7CnwgfQpjb25maWd1cmU6NjAzODogcmVzdWx0OiBu
 bwpjb25maWd1cmU6NjA1MTogY2hlY2tpbmcgZm9yIHNldHByb2duYW1lCmNvbmZpZ3VyZTo2MDUx
 OiBnY2MgLW8gY29uZnRlc3QgLWcgLU8yICAgY29uZnRlc3QuYyAgPiY1Ci90bXAvY2NGVEZZMzgu
 bzogSW4gZnVuY3Rpb24gYG1haW4nOgovbWVkaWEvc2RiMi9zcmMvcGtnc3JjL2Jvb3RzdHJhcC93
 b3JrL2xpYm5iY29tcGF0L2NvbmZ0ZXN0LmM6MTQxOiB1bmRlZmluZWQgcmVmZXJlbmNlIHRvIGBz
 ZXRwcm9nbmFtZScKY29sbGVjdDI6IGxkIHJldHVybmVkIDEgZXhpdCBzdGF0dXMKY29uZmlndXJl
 OjYwNTE6ICQ/ID0gMQpjb25maWd1cmU6IGZhaWxlZCBwcm9ncmFtIHdhczoKfCAvKiBjb25mZGVm
 cy5oICovCnwgI2RlZmluZSBQQUNLQUdFX05BTUUgImxpYm5iY29tcGF0Igp8ICNkZWZpbmUgUEFD
 S0FHRV9UQVJOQU1FICJsaWJuYmNvbXBhdCIKfCAjZGVmaW5lIFBBQ0tBR0VfVkVSU0lPTiAiMjAw
 ODA2MDUiCnwgI2RlZmluZSBQQUNLQUdFX1NUUklORyAibGlibmJjb21wYXQgMjAwODA2MDUiCnwg
 I2RlZmluZSBQQUNLQUdFX0JVR1JFUE9SVCAiZ3JhbnRATmV0QlNELm9yZyIKfCAjZGVmaW5lIFBB
 Q0tBR0VfVVJMICIiCnwgI2RlZmluZSBTVERDX0hFQURFUlMgMQp8ICNkZWZpbmUgVElNRV9XSVRI
 X1NZU19USU1FIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1RZUEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9T
 WVNfU1RBVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1RETElCX0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJJ
 TkdfSCAxCnwgI2RlZmluZSBIQVZFX01FTU9SWV9IIDEKfCAjZGVmaW5lIEhBVkVfU1RSSU5HU19I
 IDEKfCAjZGVmaW5lIEhBVkVfSU5UVFlQRVNfSCAxCnwgI2RlZmluZSBIQVZFX1NURElOVF9IIDEK
 fCAjZGVmaW5lIEhBVkVfVU5JU1REX0ggMQp8ICNkZWZpbmUgSEFWRV9fQk9PTCAxCnwgI2RlZmlu
 ZSBIQVZFX1NUREJPT0xfSCAxCnwgI2RlZmluZSBIQVZFX0FMTE9DQV9IIDEKfCAjZGVmaW5lIEhB
 VkVfQVNTRVJUX0ggMQp8ICNkZWZpbmUgSEFWRV9DVFlQRV9IIDEKfCAjZGVmaW5lIEhBVkVfRElS
 RU5UX0ggMQp8ICNkZWZpbmUgSEFWRV9FTkRJQU5fSCAxCnwgI2RlZmluZSBIQVZFX0VSUl9IIDEK
 fCAjZGVmaW5lIEhBVkVfRVJSTk9fSCAxCnwgI2RlZmluZSBIQVZFX0ZDTlRMX0ggMQp8ICNkZWZp
 bmUgSEFWRV9GTk1BVENIX0ggMQp8ICNkZWZpbmUgSEFWRV9GVFNfSCAxCnwgI2RlZmluZSBIQVZF
 X0dSUF9IIDEKfCAjZGVmaW5lIEhBVkVfSU5UVFlQRVNfSCAxCnwgI2RlZmluZSBIQVZFX0xJQlVU
 SUxfSCAxCnwgI2RlZmluZSBIQVZFX0xJTUlUU19IIDEKfCAjZGVmaW5lIEhBVkVfTkVUREJfSCAx
 CnwgI2RlZmluZSBIQVZFX1BBVEhTX0ggMQp8ICNkZWZpbmUgSEFWRV9QV0RfSCAxCnwgI2RlZmlu
 ZSBIQVZFX1NJR05BTF9IIDEKfCAjZGVmaW5lIEhBVkVfU1REQVJHX0ggMQp8ICNkZWZpbmUgSEFW
 RV9TVERERUZfSCAxCnwgI2RlZmluZSBIQVZFX1NURElOVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1RE
 SU9fSCAxCnwgI2RlZmluZSBIQVZFX1NURExJQl9IIDEKfCAjZGVmaW5lIEhBVkVfU1RSSU5HX0gg
 MQp8ICNkZWZpbmUgSEFWRV9TWVNfQ0RFRlNfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19ESVJfSCAx
 CnwgI2RlZmluZSBIQVZFX1NZU19GSUxFX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfUEFSQU1fSCAx
 CnwgI2RlZmluZSBIQVZFX1NZU19TT0NLRVRfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19TVEFUX0gg
 MQp8ICNkZWZpbmUgSEFWRV9TWVNfU1RBVEZTX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfU1RBVFZG
 U19IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1RJTUVfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19UWVBF
 U19IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1VJT19IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1ZGU19I
 IDEKfCAjZGVmaW5lIEhBVkVfU1lTRVhJVFNfSCAxCnwgI2RlZmluZSBIQVZFX1RFUk1DQVBfSCAx
 CnwgI2RlZmluZSBIQVZFX1RJTUVfSCAxCnwgI2RlZmluZSBIQVZFX1VOSVNURF9IIDEKfCAjZGVm
 aW5lIEhBVkVfVVRJTUVfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19NT1VOVF9IIDEKfCAjZGVmaW5l
 IEhBVkVfR0xPQl9IIDEKfCAjZGVmaW5lIEhBVkVfTkJDT01QQVRfR0xPQiAxCnwgI2RlZmluZSBI
 QVZFX1NZU19RVUVVRV9IIDEKfCAjZGVmaW5lIEhBVkVfTkJDT01QQVRfUVVFVUUgMQp8ICNkZWZp
 bmUgSEFWRV9SRUdFWF9IIDEKfCAjZGVmaW5lIEhBVkVfTkJDT01QQVRfTUQ1IDEKfCAjZGVmaW5l
 IEhBVkVfTkJDT01QQVRfUk1EMTYwIDEKfCAjZGVmaW5lIEhBVkVfTkJDT01QQVRfU0hBMSAxCnwg
 I2RlZmluZSBIQVZFX05CQ09NUEFUX1NIQTIgMQp8ICNkZWZpbmUgSEFWRV9ERUNMX09QVEFSRyAx
 CnwgI2RlZmluZSBIQVZFX0RFQ0xfT1BUSU5EIDEKfCAjZGVmaW5lIEhBVkVfREVDTF9PUFRSRVNF
 VCAwCnwgI2RlZmluZSBIQVZFX0dFVE9QVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1RSVUNUX09QVElP
 TiAxCnwgI2RlZmluZSBIQVZFX1ZJU19IIDEKfCAjZGVmaW5lIEhBVkVfTkJDT01QQVRfVklTIDEK
 fCAjZGVmaW5lIEhBVkVfX19BVFRSSUJVVEVfXyAxCnwgI2RlZmluZSBIQVZFX1VJTlRQVFJfVCAx
 CnwgI2RlZmluZSBIQVZFX0xPTkdfTE9ORyAxCnwgI2RlZmluZSBIQVZFX0xPTkdfRE9VQkxFIDEK
 fCAjZGVmaW5lIEhBVkVfRlNJRF9UIDEKfCAjZGVmaW5lIFNJWkVPRl9PRkZfVCA0CnwgI2RlZmlu
 ZSBIQVZFX1NURExJQl9IIDEKfCAjZGVmaW5lIEhBVkVfTUFMTE9DIDEKfCAjZGVmaW5lIEhBVkVf
 REVDTF9TVFJFUlJPUl9SIDEKfCAjZGVmaW5lIEhBVkVfU1RSRVJST1JfUiAxCnwgI2RlZmluZSBI
 QVZFX0ZPUksgMQp8ICNkZWZpbmUgSEFWRV9WRk9SSyAxCnwgI2RlZmluZSBIQVZFX1dPUktJTkdf
 VkZPUksgMQp8ICNkZWZpbmUgSEFWRV9XT1JLSU5HX0ZPUksgMQp8ICNkZWZpbmUgSEFWRV9WUFJJ
 TlRGIDEKfCAjZGVmaW5lIEhBVkVfREVDTF9TTlBSSU5URiAxCnwgI2RlZmluZSBIQVZFX0RFQ0xf
 VkFTUFJJTlRGIDAKfCAjZGVmaW5lIEhBVkVfQVNQUklOVEYgMQp8ICNkZWZpbmUgSEFWRV9FUlIg
 MQp8ICNkZWZpbmUgSEFWRV9GTk1BVENIIDEKfCAjZGVmaW5lIEhBVkVfR0VURU5WIDEKfCAjZGVm
 aW5lIEhBVkVfSVNCTEFOSyAxCnwgI2RlZmluZSBIQVZFX0xDSE9XTiAxCnwgI2RlZmluZSBIQVZF
 X0xVVElNRVMgMQp8ICNkZWZpbmUgSEFWRV9NS0RURU1QIDEKfCAjZGVmaW5lIEhBVkVfTUtTVEVN
 UCAxCnwgI2RlZmluZSBIQVZFX1NFVEVOViAxCnwgLyogZW5kIGNvbmZkZWZzLmguICAqLwp8IC8q
 IERlZmluZSBzZXRwcm9nbmFtZSB0byBhbiBpbm5vY3VvdXMgdmFyaWFudCwgaW4gY2FzZSA8bGlt
 aXRzLmg+IGRlY2xhcmVzIHNldHByb2duYW1lLgp8ICAgIEZvciBleGFtcGxlLCBIUC1VWCAxMWkg
 PGxpbWl0cy5oPiBkZWNsYXJlcyBnZXR0aW1lb2ZkYXkuICAqLwp8ICNkZWZpbmUgc2V0cHJvZ25h
 bWUgaW5ub2N1b3VzX3NldHByb2duYW1lCnwgCnwgLyogU3lzdGVtIGhlYWRlciB0byBkZWZpbmUg
 X19zdHViIG1hY3JvcyBhbmQgaG9wZWZ1bGx5IGZldyBwcm90b3R5cGVzLAp8ICAgICB3aGljaCBj
 YW4gY29uZmxpY3Qgd2l0aCBjaGFyIHNldHByb2duYW1lICgpOyBiZWxvdy4KfCAgICAgUHJlZmVy
 IDxsaW1pdHMuaD4gdG8gPGFzc2VydC5oPiBpZiBfX1NURENfXyBpcyBkZWZpbmVkLCBzaW5jZQp8
 ICAgICA8bGltaXRzLmg+IGV4aXN0cyBldmVuIG9uIGZyZWVzdGFuZGluZyBjb21waWxlcnMuICAq
 Lwp8IAp8ICNpZmRlZiBfX1NURENfXwp8ICMgaW5jbHVkZSA8bGltaXRzLmg+CnwgI2Vsc2UKfCAj
 IGluY2x1ZGUgPGFzc2VydC5oPgp8ICNlbmRpZgp8IAp8ICN1bmRlZiBzZXRwcm9nbmFtZQp8IAp8
 IC8qIE92ZXJyaWRlIGFueSBHQ0MgaW50ZXJuYWwgcHJvdG90eXBlIHRvIGF2b2lkIGFuIGVycm9y
 Lgp8ICAgIFVzZSBjaGFyIGJlY2F1c2UgaW50IG1pZ2h0IG1hdGNoIHRoZSByZXR1cm4gdHlwZSBv
 ZiBhIEdDQwp8ICAgIGJ1aWx0aW4gYW5kIHRoZW4gaXRzIGFyZ3VtZW50IHByb3RvdHlwZSB3b3Vs
 ZCBzdGlsbCBhcHBseS4gICovCnwgI2lmZGVmIF9fY3BsdXNwbHVzCnwgZXh0ZXJuICJDIgp8ICNl
 bmRpZgp8IGNoYXIgc2V0cHJvZ25hbWUgKCk7CnwgLyogVGhlIEdOVSBDIGxpYnJhcnkgZGVmaW5l
 cyB0aGlzIGZvciBmdW5jdGlvbnMgd2hpY2ggaXQgaW1wbGVtZW50cwp8ICAgICB0byBhbHdheXMg
 ZmFpbCB3aXRoIEVOT1NZUy4gIFNvbWUgZnVuY3Rpb25zIGFyZSBhY3R1YWxseSBuYW1lZAp8ICAg
 ICBzb21ldGhpbmcgc3RhcnRpbmcgd2l0aCBfXyBhbmQgdGhlIG5vcm1hbCBuYW1lIGlzIGFuIGFs
 aWFzLiAgKi8KfCAjaWYgZGVmaW5lZCBfX3N0dWJfc2V0cHJvZ25hbWUgfHwgZGVmaW5lZCBfX3N0
 dWJfX19zZXRwcm9nbmFtZQp8IGNob2tlIG1lCnwgI2VuZGlmCnwgCnwgaW50CnwgbWFpbiAoKQp8
 IHsKfCByZXR1cm4gc2V0cHJvZ25hbWUgKCk7CnwgICA7CnwgICByZXR1cm4gMDsKfCB9CmNvbmZp
 Z3VyZTo2MDUxOiByZXN1bHQ6IG5vCmNvbmZpZ3VyZTo2MDY0OiBjaGVja2luZyBmb3Igc2hxdW90
 ZQpjb25maWd1cmU6NjA2NDogZ2NjIC1vIGNvbmZ0ZXN0IC1nIC1PMiAgIGNvbmZ0ZXN0LmMgID4m
 NQovdG1wL2NjTE81Z0ZhLm86IEluIGZ1bmN0aW9uIGBtYWluJzoKL21lZGlhL3NkYjIvc3JjL3Br
 Z3NyYy9ib290c3RyYXAvd29yay9saWJuYmNvbXBhdC9jb25mdGVzdC5jOjE0MTogdW5kZWZpbmVk
 IHJlZmVyZW5jZSB0byBgc2hxdW90ZScKY29sbGVjdDI6IGxkIHJldHVybmVkIDEgZXhpdCBzdGF0
 dXMKY29uZmlndXJlOjYwNjQ6ICQ/ID0gMQpjb25maWd1cmU6IGZhaWxlZCBwcm9ncmFtIHdhczoK
 fCAvKiBjb25mZGVmcy5oICovCnwgI2RlZmluZSBQQUNLQUdFX05BTUUgImxpYm5iY29tcGF0Igp8
 ICNkZWZpbmUgUEFDS0FHRV9UQVJOQU1FICJsaWJuYmNvbXBhdCIKfCAjZGVmaW5lIFBBQ0tBR0Vf
 VkVSU0lPTiAiMjAwODA2MDUiCnwgI2RlZmluZSBQQUNLQUdFX1NUUklORyAibGlibmJjb21wYXQg
 MjAwODA2MDUiCnwgI2RlZmluZSBQQUNLQUdFX0JVR1JFUE9SVCAiZ3JhbnRATmV0QlNELm9yZyIK
 fCAjZGVmaW5lIFBBQ0tBR0VfVVJMICIiCnwgI2RlZmluZSBTVERDX0hFQURFUlMgMQp8ICNkZWZp
 bmUgVElNRV9XSVRIX1NZU19USU1FIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1RZUEVTX0ggMQp8ICNk
 ZWZpbmUgSEFWRV9TWVNfU1RBVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1RETElCX0ggMQp8ICNkZWZp
 bmUgSEFWRV9TVFJJTkdfSCAxCnwgI2RlZmluZSBIQVZFX01FTU9SWV9IIDEKfCAjZGVmaW5lIEhB
 VkVfU1RSSU5HU19IIDEKfCAjZGVmaW5lIEhBVkVfSU5UVFlQRVNfSCAxCnwgI2RlZmluZSBIQVZF
 X1NURElOVF9IIDEKfCAjZGVmaW5lIEhBVkVfVU5JU1REX0ggMQp8ICNkZWZpbmUgSEFWRV9fQk9P
 TCAxCnwgI2RlZmluZSBIQVZFX1NUREJPT0xfSCAxCnwgI2RlZmluZSBIQVZFX0FMTE9DQV9IIDEK
 fCAjZGVmaW5lIEhBVkVfQVNTRVJUX0ggMQp8ICNkZWZpbmUgSEFWRV9DVFlQRV9IIDEKfCAjZGVm
 aW5lIEhBVkVfRElSRU5UX0ggMQp8ICNkZWZpbmUgSEFWRV9FTkRJQU5fSCAxCnwgI2RlZmluZSBI
 QVZFX0VSUl9IIDEKfCAjZGVmaW5lIEhBVkVfRVJSTk9fSCAxCnwgI2RlZmluZSBIQVZFX0ZDTlRM
 X0ggMQp8ICNkZWZpbmUgSEFWRV9GTk1BVENIX0ggMQp8ICNkZWZpbmUgSEFWRV9GVFNfSCAxCnwg
 I2RlZmluZSBIQVZFX0dSUF9IIDEKfCAjZGVmaW5lIEhBVkVfSU5UVFlQRVNfSCAxCnwgI2RlZmlu
 ZSBIQVZFX0xJQlVUSUxfSCAxCnwgI2RlZmluZSBIQVZFX0xJTUlUU19IIDEKfCAjZGVmaW5lIEhB
 VkVfTkVUREJfSCAxCnwgI2RlZmluZSBIQVZFX1BBVEhTX0ggMQp8ICNkZWZpbmUgSEFWRV9QV0Rf
 SCAxCnwgI2RlZmluZSBIQVZFX1NJR05BTF9IIDEKfCAjZGVmaW5lIEhBVkVfU1REQVJHX0ggMQp8
 ICNkZWZpbmUgSEFWRV9TVERERUZfSCAxCnwgI2RlZmluZSBIQVZFX1NURElOVF9IIDEKfCAjZGVm
 aW5lIEhBVkVfU1RESU9fSCAxCnwgI2RlZmluZSBIQVZFX1NURExJQl9IIDEKfCAjZGVmaW5lIEhB
 VkVfU1RSSU5HX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfQ0RFRlNfSCAxCnwgI2RlZmluZSBIQVZF
 X1NZU19ESVJfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19GSUxFX0ggMQp8ICNkZWZpbmUgSEFWRV9T
 WVNfUEFSQU1fSCAxCnwgI2RlZmluZSBIQVZFX1NZU19TT0NLRVRfSCAxCnwgI2RlZmluZSBIQVZF
 X1NZU19TVEFUX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfU1RBVEZTX0ggMQp8ICNkZWZpbmUgSEFW
 RV9TWVNfU1RBVFZGU19IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1RJTUVfSCAxCnwgI2RlZmluZSBI
 QVZFX1NZU19UWVBFU19IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1VJT19IIDEKfCAjZGVmaW5lIEhB
 VkVfU1lTX1ZGU19IIDEKfCAjZGVmaW5lIEhBVkVfU1lTRVhJVFNfSCAxCnwgI2RlZmluZSBIQVZF
 X1RFUk1DQVBfSCAxCnwgI2RlZmluZSBIQVZFX1RJTUVfSCAxCnwgI2RlZmluZSBIQVZFX1VOSVNU
 RF9IIDEKfCAjZGVmaW5lIEhBVkVfVVRJTUVfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19NT1VOVF9I
 IDEKfCAjZGVmaW5lIEhBVkVfR0xPQl9IIDEKfCAjZGVmaW5lIEhBVkVfTkJDT01QQVRfR0xPQiAx
 CnwgI2RlZmluZSBIQVZFX1NZU19RVUVVRV9IIDEKfCAjZGVmaW5lIEhBVkVfTkJDT01QQVRfUVVF
 VUUgMQp8ICNkZWZpbmUgSEFWRV9SRUdFWF9IIDEKfCAjZGVmaW5lIEhBVkVfTkJDT01QQVRfTUQ1
 IDEKfCAjZGVmaW5lIEhBVkVfTkJDT01QQVRfUk1EMTYwIDEKfCAjZGVmaW5lIEhBVkVfTkJDT01Q
 QVRfU0hBMSAxCnwgI2RlZmluZSBIQVZFX05CQ09NUEFUX1NIQTIgMQp8ICNkZWZpbmUgSEFWRV9E
 RUNMX09QVEFSRyAxCnwgI2RlZmluZSBIQVZFX0RFQ0xfT1BUSU5EIDEKfCAjZGVmaW5lIEhBVkVf
 REVDTF9PUFRSRVNFVCAwCnwgI2RlZmluZSBIQVZFX0dFVE9QVF9IIDEKfCAjZGVmaW5lIEhBVkVf
 U1RSVUNUX09QVElPTiAxCnwgI2RlZmluZSBIQVZFX1ZJU19IIDEKfCAjZGVmaW5lIEhBVkVfTkJD
 T01QQVRfVklTIDEKfCAjZGVmaW5lIEhBVkVfX19BVFRSSUJVVEVfXyAxCnwgI2RlZmluZSBIQVZF
 X1VJTlRQVFJfVCAxCnwgI2RlZmluZSBIQVZFX0xPTkdfTE9ORyAxCnwgI2RlZmluZSBIQVZFX0xP
 TkdfRE9VQkxFIDEKfCAjZGVmaW5lIEhBVkVfRlNJRF9UIDEKfCAjZGVmaW5lIFNJWkVPRl9PRkZf
 VCA0CnwgI2RlZmluZSBIQVZFX1NURExJQl9IIDEKfCAjZGVmaW5lIEhBVkVfTUFMTE9DIDEKfCAj
 ZGVmaW5lIEhBVkVfREVDTF9TVFJFUlJPUl9SIDEKfCAjZGVmaW5lIEhBVkVfU1RSRVJST1JfUiAx
 CnwgI2RlZmluZSBIQVZFX0ZPUksgMQp8ICNkZWZpbmUgSEFWRV9WRk9SSyAxCnwgI2RlZmluZSBI
 QVZFX1dPUktJTkdfVkZPUksgMQp8ICNkZWZpbmUgSEFWRV9XT1JLSU5HX0ZPUksgMQp8ICNkZWZp
 bmUgSEFWRV9WUFJJTlRGIDEKfCAjZGVmaW5lIEhBVkVfREVDTF9TTlBSSU5URiAxCnwgI2RlZmlu
 ZSBIQVZFX0RFQ0xfVkFTUFJJTlRGIDAKfCAjZGVmaW5lIEhBVkVfQVNQUklOVEYgMQp8ICNkZWZp
 bmUgSEFWRV9FUlIgMQp8ICNkZWZpbmUgSEFWRV9GTk1BVENIIDEKfCAjZGVmaW5lIEhBVkVfR0VU
 RU5WIDEKfCAjZGVmaW5lIEhBVkVfSVNCTEFOSyAxCnwgI2RlZmluZSBIQVZFX0xDSE9XTiAxCnwg
 I2RlZmluZSBIQVZFX0xVVElNRVMgMQp8ICNkZWZpbmUgSEFWRV9NS0RURU1QIDEKfCAjZGVmaW5l
 IEhBVkVfTUtTVEVNUCAxCnwgI2RlZmluZSBIQVZFX1NFVEVOViAxCnwgLyogZW5kIGNvbmZkZWZz
 LmguICAqLwp8IC8qIERlZmluZSBzaHF1b3RlIHRvIGFuIGlubm9jdW91cyB2YXJpYW50LCBpbiBj
 YXNlIDxsaW1pdHMuaD4gZGVjbGFyZXMgc2hxdW90ZS4KfCAgICBGb3IgZXhhbXBsZSwgSFAtVVgg
 MTFpIDxsaW1pdHMuaD4gZGVjbGFyZXMgZ2V0dGltZW9mZGF5LiAgKi8KfCAjZGVmaW5lIHNocXVv
 dGUgaW5ub2N1b3VzX3NocXVvdGUKfCAKfCAvKiBTeXN0ZW0gaGVhZGVyIHRvIGRlZmluZSBfX3N0
 dWIgbWFjcm9zIGFuZCBob3BlZnVsbHkgZmV3IHByb3RvdHlwZXMsCnwgICAgIHdoaWNoIGNhbiBj
 b25mbGljdCB3aXRoIGNoYXIgc2hxdW90ZSAoKTsgYmVsb3cuCnwgICAgIFByZWZlciA8bGltaXRz
 Lmg+IHRvIDxhc3NlcnQuaD4gaWYgX19TVERDX18gaXMgZGVmaW5lZCwgc2luY2UKfCAgICAgPGxp
 bWl0cy5oPiBleGlzdHMgZXZlbiBvbiBmcmVlc3RhbmRpbmcgY29tcGlsZXJzLiAgKi8KfCAKfCAj
 aWZkZWYgX19TVERDX18KfCAjIGluY2x1ZGUgPGxpbWl0cy5oPgp8ICNlbHNlCnwgIyBpbmNsdWRl
 IDxhc3NlcnQuaD4KfCAjZW5kaWYKfCAKfCAjdW5kZWYgc2hxdW90ZQp8IAp8IC8qIE92ZXJyaWRl
 IGFueSBHQ0MgaW50ZXJuYWwgcHJvdG90eXBlIHRvIGF2b2lkIGFuIGVycm9yLgp8ICAgIFVzZSBj
 aGFyIGJlY2F1c2UgaW50IG1pZ2h0IG1hdGNoIHRoZSByZXR1cm4gdHlwZSBvZiBhIEdDQwp8ICAg
 IGJ1aWx0aW4gYW5kIHRoZW4gaXRzIGFyZ3VtZW50IHByb3RvdHlwZSB3b3VsZCBzdGlsbCBhcHBs
 eS4gICovCnwgI2lmZGVmIF9fY3BsdXNwbHVzCnwgZXh0ZXJuICJDIgp8ICNlbmRpZgp8IGNoYXIg
 c2hxdW90ZSAoKTsKfCAvKiBUaGUgR05VIEMgbGlicmFyeSBkZWZpbmVzIHRoaXMgZm9yIGZ1bmN0
 aW9ucyB3aGljaCBpdCBpbXBsZW1lbnRzCnwgICAgIHRvIGFsd2F5cyBmYWlsIHdpdGggRU5PU1lT
 LiAgU29tZSBmdW5jdGlvbnMgYXJlIGFjdHVhbGx5IG5hbWVkCnwgICAgIHNvbWV0aGluZyBzdGFy
 dGluZyB3aXRoIF9fIGFuZCB0aGUgbm9ybWFsIG5hbWUgaXMgYW4gYWxpYXMuICAqLwp8ICNpZiBk
 ZWZpbmVkIF9fc3R1Yl9zaHF1b3RlIHx8IGRlZmluZWQgX19zdHViX19fc2hxdW90ZQp8IGNob2tl
 IG1lCnwgI2VuZGlmCnwgCnwgaW50CnwgbWFpbiAoKQp8IHsKfCByZXR1cm4gc2hxdW90ZSAoKTsK
 fCAgIDsKfCAgIHJldHVybiAwOwp8IH0KY29uZmlndXJlOjYwNjQ6IHJlc3VsdDogbm8KY29uZmln
 dXJlOjYwNzc6IGNoZWNraW5nIGZvciBzbnByaW50Zgpjb25maWd1cmU6NjA3NzogZ2NjIC1vIGNv
 bmZ0ZXN0IC1nIC1PMiAgIGNvbmZ0ZXN0LmMgID4mNQpjb25mdGVzdC5jOjEzMDo2OiB3YXJuaW5n
 OiBjb25mbGljdGluZyB0eXBlcyBmb3IgYnVpbHQtaW4gZnVuY3Rpb24gJ3NucHJpbnRmJyBbZW5h
 YmxlZCBieSBkZWZhdWx0XQpjb25maWd1cmU6NjA3NzogJD8gPSAwCmNvbmZpZ3VyZTo2MDc3OiBy
 ZXN1bHQ6IHllcwpjb25maWd1cmU6NjA5MDogY2hlY2tpbmcgZm9yIHN0YXR2ZnMKY29uZmlndXJl
 OjYwOTA6IGdjYyAtbyBjb25mdGVzdCAtZyAtTzIgICBjb25mdGVzdC5jICA+JjUKY29uZmlndXJl
 OjYwOTA6ICQ/ID0gMApjb25maWd1cmU6NjA5MDogcmVzdWx0OiB5ZXMKY29uZmlndXJlOjYxMDM6
 IGNoZWNraW5nIGZvciBzdHJkdXAKY29uZmlndXJlOjYxMDM6IGdjYyAtbyBjb25mdGVzdCAtZyAt
 TzIgICBjb25mdGVzdC5jICA+JjUKY29uZnRlc3QuYzoxMzI6Njogd2FybmluZzogY29uZmxpY3Rp
 bmcgdHlwZXMgZm9yIGJ1aWx0LWluIGZ1bmN0aW9uICdzdHJkdXAnIFtlbmFibGVkIGJ5IGRlZmF1
 bHRdCmNvbmZpZ3VyZTo2MTAzOiAkPyA9IDAKY29uZmlndXJlOjYxMDM6IHJlc3VsdDogeWVzCmNv
 bmZpZ3VyZTo2MTE2OiBjaGVja2luZyBmb3Igc3RyZXJyb3IKY29uZmlndXJlOjYxMTY6IGdjYyAt
 byBjb25mdGVzdCAtZyAtTzIgICBjb25mdGVzdC5jICA+JjUKY29uZmlndXJlOjYxMTY6ICQ/ID0g
 MApjb25maWd1cmU6NjExNjogcmVzdWx0OiB5ZXMKY29uZmlndXJlOjYxMjk6IGNoZWNraW5nIGZv
 ciBzdHJsY2F0CmNvbmZpZ3VyZTo2MTI5OiBnY2MgLW8gY29uZnRlc3QgLWcgLU8yICAgY29uZnRl
 c3QuYyAgPiY1Ci90bXAvY2NUNnhCNDMubzogSW4gZnVuY3Rpb24gYG1haW4nOgovbWVkaWEvc2Ri
 Mi9zcmMvcGtnc3JjL2Jvb3RzdHJhcC93b3JrL2xpYm5iY29tcGF0L2NvbmZ0ZXN0LmM6MTQ1OiB1
 bmRlZmluZWQgcmVmZXJlbmNlIHRvIGBzdHJsY2F0Jwpjb2xsZWN0MjogbGQgcmV0dXJuZWQgMSBl
 eGl0IHN0YXR1cwpjb25maWd1cmU6NjEyOTogJD8gPSAxCmNvbmZpZ3VyZTogZmFpbGVkIHByb2dy
 YW0gd2FzOgp8IC8qIGNvbmZkZWZzLmggKi8KfCAjZGVmaW5lIFBBQ0tBR0VfTkFNRSAibGlibmJj
 b21wYXQiCnwgI2RlZmluZSBQQUNLQUdFX1RBUk5BTUUgImxpYm5iY29tcGF0Igp8ICNkZWZpbmUg
 UEFDS0FHRV9WRVJTSU9OICIyMDA4MDYwNSIKfCAjZGVmaW5lIFBBQ0tBR0VfU1RSSU5HICJsaWJu
 YmNvbXBhdCAyMDA4MDYwNSIKfCAjZGVmaW5lIFBBQ0tBR0VfQlVHUkVQT1JUICJncmFudEBOZXRC
 U0Qub3JnIgp8ICNkZWZpbmUgUEFDS0FHRV9VUkwgIiIKfCAjZGVmaW5lIFNURENfSEVBREVSUyAx
 CnwgI2RlZmluZSBUSU1FX1dJVEhfU1lTX1RJTUUgMQp8ICNkZWZpbmUgSEFWRV9TWVNfVFlQRVNf
 SCAxCnwgI2RlZmluZSBIQVZFX1NZU19TVEFUX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERMSUJfSCAx
 CnwgI2RlZmluZSBIQVZFX1NUUklOR19IIDEKfCAjZGVmaW5lIEhBVkVfTUVNT1JZX0ggMQp8ICNk
 ZWZpbmUgSEFWRV9TVFJJTkdTX0ggMQp8ICNkZWZpbmUgSEFWRV9JTlRUWVBFU19IIDEKfCAjZGVm
 aW5lIEhBVkVfU1RESU5UX0ggMQp8ICNkZWZpbmUgSEFWRV9VTklTVERfSCAxCnwgI2RlZmluZSBI
 QVZFX19CT09MIDEKfCAjZGVmaW5lIEhBVkVfU1REQk9PTF9IIDEKfCAjZGVmaW5lIEhBVkVfQUxM
 T0NBX0ggMQp8ICNkZWZpbmUgSEFWRV9BU1NFUlRfSCAxCnwgI2RlZmluZSBIQVZFX0NUWVBFX0gg
 MQp8ICNkZWZpbmUgSEFWRV9ESVJFTlRfSCAxCnwgI2RlZmluZSBIQVZFX0VORElBTl9IIDEKfCAj
 ZGVmaW5lIEhBVkVfRVJSX0ggMQp8ICNkZWZpbmUgSEFWRV9FUlJOT19IIDEKfCAjZGVmaW5lIEhB
 VkVfRkNOVExfSCAxCnwgI2RlZmluZSBIQVZFX0ZOTUFUQ0hfSCAxCnwgI2RlZmluZSBIQVZFX0ZU
 U19IIDEKfCAjZGVmaW5lIEhBVkVfR1JQX0ggMQp8ICNkZWZpbmUgSEFWRV9JTlRUWVBFU19IIDEK
 fCAjZGVmaW5lIEhBVkVfTElCVVRJTF9IIDEKfCAjZGVmaW5lIEhBVkVfTElNSVRTX0ggMQp8ICNk
 ZWZpbmUgSEFWRV9ORVREQl9IIDEKfCAjZGVmaW5lIEhBVkVfUEFUSFNfSCAxCnwgI2RlZmluZSBI
 QVZFX1BXRF9IIDEKfCAjZGVmaW5lIEhBVkVfU0lHTkFMX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERB
 UkdfSCAxCnwgI2RlZmluZSBIQVZFX1NURERFRl9IIDEKfCAjZGVmaW5lIEhBVkVfU1RESU5UX0gg
 MQp8ICNkZWZpbmUgSEFWRV9TVERJT19IIDEKfCAjZGVmaW5lIEhBVkVfU1RETElCX0ggMQp8ICNk
 ZWZpbmUgSEFWRV9TVFJJTkdfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19DREVGU19IIDEKfCAjZGVm
 aW5lIEhBVkVfU1lTX0RJUl9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX0ZJTEVfSCAxCnwgI2RlZmlu
 ZSBIQVZFX1NZU19QQVJBTV9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NPQ0tFVF9IIDEKfCAjZGVm
 aW5lIEhBVkVfU1lTX1NUQVRfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19TVEFURlNfSCAxCnwgI2Rl
 ZmluZSBIQVZFX1NZU19TVEFUVkZTX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfVElNRV9IIDEKfCAj
 ZGVmaW5lIEhBVkVfU1lTX1RZUEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfVUlPX0ggMQp8ICNk
 ZWZpbmUgSEFWRV9TWVNfVkZTX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNFWElUU19IIDEKfCAjZGVm
 aW5lIEhBVkVfVEVSTUNBUF9IIDEKfCAjZGVmaW5lIEhBVkVfVElNRV9IIDEKfCAjZGVmaW5lIEhB
 VkVfVU5JU1REX0ggMQp8ICNkZWZpbmUgSEFWRV9VVElNRV9IIDEKfCAjZGVmaW5lIEhBVkVfU1lT
 X01PVU5UX0ggMQp8ICNkZWZpbmUgSEFWRV9HTE9CX0ggMQp8ICNkZWZpbmUgSEFWRV9OQkNPTVBB
 VF9HTE9CIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1FVRVVFX0ggMQp8ICNkZWZpbmUgSEFWRV9OQkNP
 TVBBVF9RVUVVRSAxCnwgI2RlZmluZSBIQVZFX1JFR0VYX0ggMQp8ICNkZWZpbmUgSEFWRV9OQkNP
 TVBBVF9NRDUgMQp8ICNkZWZpbmUgSEFWRV9OQkNPTVBBVF9STUQxNjAgMQp8ICNkZWZpbmUgSEFW
 RV9OQkNPTVBBVF9TSEExIDEKfCAjZGVmaW5lIEhBVkVfTkJDT01QQVRfU0hBMiAxCnwgI2RlZmlu
 ZSBIQVZFX0RFQ0xfT1BUQVJHIDEKfCAjZGVmaW5lIEhBVkVfREVDTF9PUFRJTkQgMQp8ICNkZWZp
 bmUgSEFWRV9ERUNMX09QVFJFU0VUIDAKfCAjZGVmaW5lIEhBVkVfR0VUT1BUX0ggMQp8ICNkZWZp
 bmUgSEFWRV9TVFJVQ1RfT1BUSU9OIDEKfCAjZGVmaW5lIEhBVkVfVklTX0ggMQp8ICNkZWZpbmUg
 SEFWRV9OQkNPTVBBVF9WSVMgMQp8ICNkZWZpbmUgSEFWRV9fX0FUVFJJQlVURV9fIDEKfCAjZGVm
 aW5lIEhBVkVfVUlOVFBUUl9UIDEKfCAjZGVmaW5lIEhBVkVfTE9OR19MT05HIDEKfCAjZGVmaW5l
 IEhBVkVfTE9OR19ET1VCTEUgMQp8ICNkZWZpbmUgSEFWRV9GU0lEX1QgMQp8ICNkZWZpbmUgU0la
 RU9GX09GRl9UIDQKfCAjZGVmaW5lIEhBVkVfU1RETElCX0ggMQp8ICNkZWZpbmUgSEFWRV9NQUxM
 T0MgMQp8ICNkZWZpbmUgSEFWRV9ERUNMX1NUUkVSUk9SX1IgMQp8ICNkZWZpbmUgSEFWRV9TVFJF
 UlJPUl9SIDEKfCAjZGVmaW5lIEhBVkVfRk9SSyAxCnwgI2RlZmluZSBIQVZFX1ZGT1JLIDEKfCAj
 ZGVmaW5lIEhBVkVfV09SS0lOR19WRk9SSyAxCnwgI2RlZmluZSBIQVZFX1dPUktJTkdfRk9SSyAx
 CnwgI2RlZmluZSBIQVZFX1ZQUklOVEYgMQp8ICNkZWZpbmUgSEFWRV9ERUNMX1NOUFJJTlRGIDEK
 fCAjZGVmaW5lIEhBVkVfREVDTF9WQVNQUklOVEYgMAp8ICNkZWZpbmUgSEFWRV9BU1BSSU5URiAx
 CnwgI2RlZmluZSBIQVZFX0VSUiAxCnwgI2RlZmluZSBIQVZFX0ZOTUFUQ0ggMQp8ICNkZWZpbmUg
 SEFWRV9HRVRFTlYgMQp8ICNkZWZpbmUgSEFWRV9JU0JMQU5LIDEKfCAjZGVmaW5lIEhBVkVfTENI
 T1dOIDEKfCAjZGVmaW5lIEhBVkVfTFVUSU1FUyAxCnwgI2RlZmluZSBIQVZFX01LRFRFTVAgMQp8
 ICNkZWZpbmUgSEFWRV9NS1NURU1QIDEKfCAjZGVmaW5lIEhBVkVfU0VURU5WIDEKfCAjZGVmaW5l
 IEhBVkVfU05QUklOVEYgMQp8ICNkZWZpbmUgSEFWRV9TVEFUVkZTIDEKfCAjZGVmaW5lIEhBVkVf
 U1RSRFVQIDEKfCAjZGVmaW5lIEhBVkVfU1RSRVJST1IgMQp8IC8qIGVuZCBjb25mZGVmcy5oLiAg
 Ki8KfCAvKiBEZWZpbmUgc3RybGNhdCB0byBhbiBpbm5vY3VvdXMgdmFyaWFudCwgaW4gY2FzZSA8
 bGltaXRzLmg+IGRlY2xhcmVzIHN0cmxjYXQuCnwgICAgRm9yIGV4YW1wbGUsIEhQLVVYIDExaSA8
 bGltaXRzLmg+IGRlY2xhcmVzIGdldHRpbWVvZmRheS4gICovCnwgI2RlZmluZSBzdHJsY2F0IGlu
 bm9jdW91c19zdHJsY2F0CnwgCnwgLyogU3lzdGVtIGhlYWRlciB0byBkZWZpbmUgX19zdHViIG1h
 Y3JvcyBhbmQgaG9wZWZ1bGx5IGZldyBwcm90b3R5cGVzLAp8ICAgICB3aGljaCBjYW4gY29uZmxp
 Y3Qgd2l0aCBjaGFyIHN0cmxjYXQgKCk7IGJlbG93Lgp8ICAgICBQcmVmZXIgPGxpbWl0cy5oPiB0
 byA8YXNzZXJ0Lmg+IGlmIF9fU1REQ19fIGlzIGRlZmluZWQsIHNpbmNlCnwgICAgIDxsaW1pdHMu
 aD4gZXhpc3RzIGV2ZW4gb24gZnJlZXN0YW5kaW5nIGNvbXBpbGVycy4gICovCnwgCnwgI2lmZGVm
 IF9fU1REQ19fCnwgIyBpbmNsdWRlIDxsaW1pdHMuaD4KfCAjZWxzZQp8ICMgaW5jbHVkZSA8YXNz
 ZXJ0Lmg+CnwgI2VuZGlmCnwgCnwgI3VuZGVmIHN0cmxjYXQKfCAKfCAvKiBPdmVycmlkZSBhbnkg
 R0NDIGludGVybmFsIHByb3RvdHlwZSB0byBhdm9pZCBhbiBlcnJvci4KfCAgICBVc2UgY2hhciBi
 ZWNhdXNlIGludCBtaWdodCBtYXRjaCB0aGUgcmV0dXJuIHR5cGUgb2YgYSBHQ0MKfCAgICBidWls
 dGluIGFuZCB0aGVuIGl0cyBhcmd1bWVudCBwcm90b3R5cGUgd291bGQgc3RpbGwgYXBwbHkuICAq
 Lwp8ICNpZmRlZiBfX2NwbHVzcGx1cwp8IGV4dGVybiAiQyIKfCAjZW5kaWYKfCBjaGFyIHN0cmxj
 YXQgKCk7CnwgLyogVGhlIEdOVSBDIGxpYnJhcnkgZGVmaW5lcyB0aGlzIGZvciBmdW5jdGlvbnMg
 d2hpY2ggaXQgaW1wbGVtZW50cwp8ICAgICB0byBhbHdheXMgZmFpbCB3aXRoIEVOT1NZUy4gIFNv
 bWUgZnVuY3Rpb25zIGFyZSBhY3R1YWxseSBuYW1lZAp8ICAgICBzb21ldGhpbmcgc3RhcnRpbmcg
 d2l0aCBfXyBhbmQgdGhlIG5vcm1hbCBuYW1lIGlzIGFuIGFsaWFzLiAgKi8KfCAjaWYgZGVmaW5l
 ZCBfX3N0dWJfc3RybGNhdCB8fCBkZWZpbmVkIF9fc3R1Yl9fX3N0cmxjYXQKfCBjaG9rZSBtZQp8
 ICNlbmRpZgp8IAp8IGludAp8IG1haW4gKCkKfCB7CnwgcmV0dXJuIHN0cmxjYXQgKCk7CnwgICA7
 CnwgICByZXR1cm4gMDsKfCB9CmNvbmZpZ3VyZTo2MTI5OiByZXN1bHQ6IG5vCmNvbmZpZ3VyZTo2
 MTQyOiBjaGVja2luZyBmb3Igc3RybGNweQpjb25maWd1cmU6NjE0MjogZ2NjIC1vIGNvbmZ0ZXN0
 IC1nIC1PMiAgIGNvbmZ0ZXN0LmMgID4mNQovdG1wL2NjNUJBaEVjLm86IEluIGZ1bmN0aW9uIGBt
 YWluJzoKL21lZGlhL3NkYjIvc3JjL3BrZ3NyYy9ib290c3RyYXAvd29yay9saWJuYmNvbXBhdC9j
 b25mdGVzdC5jOjE0NTogdW5kZWZpbmVkIHJlZmVyZW5jZSB0byBgc3RybGNweScKY29sbGVjdDI6
 IGxkIHJldHVybmVkIDEgZXhpdCBzdGF0dXMKY29uZmlndXJlOjYxNDI6ICQ/ID0gMQpjb25maWd1
 cmU6IGZhaWxlZCBwcm9ncmFtIHdhczoKfCAvKiBjb25mZGVmcy5oICovCnwgI2RlZmluZSBQQUNL
 QUdFX05BTUUgImxpYm5iY29tcGF0Igp8ICNkZWZpbmUgUEFDS0FHRV9UQVJOQU1FICJsaWJuYmNv
 bXBhdCIKfCAjZGVmaW5lIFBBQ0tBR0VfVkVSU0lPTiAiMjAwODA2MDUiCnwgI2RlZmluZSBQQUNL
 QUdFX1NUUklORyAibGlibmJjb21wYXQgMjAwODA2MDUiCnwgI2RlZmluZSBQQUNLQUdFX0JVR1JF
 UE9SVCAiZ3JhbnRATmV0QlNELm9yZyIKfCAjZGVmaW5lIFBBQ0tBR0VfVVJMICIiCnwgI2RlZmlu
 ZSBTVERDX0hFQURFUlMgMQp8ICNkZWZpbmUgVElNRV9XSVRIX1NZU19USU1FIDEKfCAjZGVmaW5l
 IEhBVkVfU1lTX1RZUEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfU1RBVF9IIDEKfCAjZGVmaW5l
 IEhBVkVfU1RETElCX0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJJTkdfSCAxCnwgI2RlZmluZSBIQVZF
 X01FTU9SWV9IIDEKfCAjZGVmaW5lIEhBVkVfU1RSSU5HU19IIDEKfCAjZGVmaW5lIEhBVkVfSU5U
 VFlQRVNfSCAxCnwgI2RlZmluZSBIQVZFX1NURElOVF9IIDEKfCAjZGVmaW5lIEhBVkVfVU5JU1RE
 X0ggMQp8ICNkZWZpbmUgSEFWRV9fQk9PTCAxCnwgI2RlZmluZSBIQVZFX1NUREJPT0xfSCAxCnwg
 I2RlZmluZSBIQVZFX0FMTE9DQV9IIDEKfCAjZGVmaW5lIEhBVkVfQVNTRVJUX0ggMQp8ICNkZWZp
 bmUgSEFWRV9DVFlQRV9IIDEKfCAjZGVmaW5lIEhBVkVfRElSRU5UX0ggMQp8ICNkZWZpbmUgSEFW
 RV9FTkRJQU5fSCAxCnwgI2RlZmluZSBIQVZFX0VSUl9IIDEKfCAjZGVmaW5lIEhBVkVfRVJSTk9f
 SCAxCnwgI2RlZmluZSBIQVZFX0ZDTlRMX0ggMQp8ICNkZWZpbmUgSEFWRV9GTk1BVENIX0ggMQp8
 ICNkZWZpbmUgSEFWRV9GVFNfSCAxCnwgI2RlZmluZSBIQVZFX0dSUF9IIDEKfCAjZGVmaW5lIEhB
 VkVfSU5UVFlQRVNfSCAxCnwgI2RlZmluZSBIQVZFX0xJQlVUSUxfSCAxCnwgI2RlZmluZSBIQVZF
 X0xJTUlUU19IIDEKfCAjZGVmaW5lIEhBVkVfTkVUREJfSCAxCnwgI2RlZmluZSBIQVZFX1BBVEhT
 X0ggMQp8ICNkZWZpbmUgSEFWRV9QV0RfSCAxCnwgI2RlZmluZSBIQVZFX1NJR05BTF9IIDEKfCAj
 ZGVmaW5lIEhBVkVfU1REQVJHX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERERUZfSCAxCnwgI2RlZmlu
 ZSBIQVZFX1NURElOVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1RESU9fSCAxCnwgI2RlZmluZSBIQVZF
 X1NURExJQl9IIDEKfCAjZGVmaW5lIEhBVkVfU1RSSU5HX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNf
 Q0RFRlNfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19ESVJfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19G
 SUxFX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfUEFSQU1fSCAxCnwgI2RlZmluZSBIQVZFX1NZU19T
 T0NLRVRfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19TVEFUX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNf
 U1RBVEZTX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfU1RBVFZGU19IIDEKfCAjZGVmaW5lIEhBVkVf
 U1lTX1RJTUVfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19UWVBFU19IIDEKfCAjZGVmaW5lIEhBVkVf
 U1lTX1VJT19IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1ZGU19IIDEKfCAjZGVmaW5lIEhBVkVfU1lT
 RVhJVFNfSCAxCnwgI2RlZmluZSBIQVZFX1RFUk1DQVBfSCAxCnwgI2RlZmluZSBIQVZFX1RJTUVf
 SCAxCnwgI2RlZmluZSBIQVZFX1VOSVNURF9IIDEKfCAjZGVmaW5lIEhBVkVfVVRJTUVfSCAxCnwg
 I2RlZmluZSBIQVZFX1NZU19NT1VOVF9IIDEKfCAjZGVmaW5lIEhBVkVfR0xPQl9IIDEKfCAjZGVm
 aW5lIEhBVkVfTkJDT01QQVRfR0xPQiAxCnwgI2RlZmluZSBIQVZFX1NZU19RVUVVRV9IIDEKfCAj
 ZGVmaW5lIEhBVkVfTkJDT01QQVRfUVVFVUUgMQp8ICNkZWZpbmUgSEFWRV9SRUdFWF9IIDEKfCAj
 ZGVmaW5lIEhBVkVfTkJDT01QQVRfTUQ1IDEKfCAjZGVmaW5lIEhBVkVfTkJDT01QQVRfUk1EMTYw
 IDEKfCAjZGVmaW5lIEhBVkVfTkJDT01QQVRfU0hBMSAxCnwgI2RlZmluZSBIQVZFX05CQ09NUEFU
 X1NIQTIgMQp8ICNkZWZpbmUgSEFWRV9ERUNMX09QVEFSRyAxCnwgI2RlZmluZSBIQVZFX0RFQ0xf
 T1BUSU5EIDEKfCAjZGVmaW5lIEhBVkVfREVDTF9PUFRSRVNFVCAwCnwgI2RlZmluZSBIQVZFX0dF
 VE9QVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1RSVUNUX09QVElPTiAxCnwgI2RlZmluZSBIQVZFX1ZJ
 U19IIDEKfCAjZGVmaW5lIEhBVkVfTkJDT01QQVRfVklTIDEKfCAjZGVmaW5lIEhBVkVfX19BVFRS
 SUJVVEVfXyAxCnwgI2RlZmluZSBIQVZFX1VJTlRQVFJfVCAxCnwgI2RlZmluZSBIQVZFX0xPTkdf
 TE9ORyAxCnwgI2RlZmluZSBIQVZFX0xPTkdfRE9VQkxFIDEKfCAjZGVmaW5lIEhBVkVfRlNJRF9U
 IDEKfCAjZGVmaW5lIFNJWkVPRl9PRkZfVCA0CnwgI2RlZmluZSBIQVZFX1NURExJQl9IIDEKfCAj
 ZGVmaW5lIEhBVkVfTUFMTE9DIDEKfCAjZGVmaW5lIEhBVkVfREVDTF9TVFJFUlJPUl9SIDEKfCAj
 ZGVmaW5lIEhBVkVfU1RSRVJST1JfUiAxCnwgI2RlZmluZSBIQVZFX0ZPUksgMQp8ICNkZWZpbmUg
 SEFWRV9WRk9SSyAxCnwgI2RlZmluZSBIQVZFX1dPUktJTkdfVkZPUksgMQp8ICNkZWZpbmUgSEFW
 RV9XT1JLSU5HX0ZPUksgMQp8ICNkZWZpbmUgSEFWRV9WUFJJTlRGIDEKfCAjZGVmaW5lIEhBVkVf
 REVDTF9TTlBSSU5URiAxCnwgI2RlZmluZSBIQVZFX0RFQ0xfVkFTUFJJTlRGIDAKfCAjZGVmaW5l
 IEhBVkVfQVNQUklOVEYgMQp8ICNkZWZpbmUgSEFWRV9FUlIgMQp8ICNkZWZpbmUgSEFWRV9GTk1B
 VENIIDEKfCAjZGVmaW5lIEhBVkVfR0VURU5WIDEKfCAjZGVmaW5lIEhBVkVfSVNCTEFOSyAxCnwg
 I2RlZmluZSBIQVZFX0xDSE9XTiAxCnwgI2RlZmluZSBIQVZFX0xVVElNRVMgMQp8ICNkZWZpbmUg
 SEFWRV9NS0RURU1QIDEKfCAjZGVmaW5lIEhBVkVfTUtTVEVNUCAxCnwgI2RlZmluZSBIQVZFX1NF
 VEVOViAxCnwgI2RlZmluZSBIQVZFX1NOUFJJTlRGIDEKfCAjZGVmaW5lIEhBVkVfU1RBVFZGUyAx
 CnwgI2RlZmluZSBIQVZFX1NUUkRVUCAxCnwgI2RlZmluZSBIQVZFX1NUUkVSUk9SIDEKfCAvKiBl
 bmQgY29uZmRlZnMuaC4gICovCnwgLyogRGVmaW5lIHN0cmxjcHkgdG8gYW4gaW5ub2N1b3VzIHZh
 cmlhbnQsIGluIGNhc2UgPGxpbWl0cy5oPiBkZWNsYXJlcyBzdHJsY3B5Lgp8ICAgIEZvciBleGFt
 cGxlLCBIUC1VWCAxMWkgPGxpbWl0cy5oPiBkZWNsYXJlcyBnZXR0aW1lb2ZkYXkuICAqLwp8ICNk
 ZWZpbmUgc3RybGNweSBpbm5vY3VvdXNfc3RybGNweQp8IAp8IC8qIFN5c3RlbSBoZWFkZXIgdG8g
 ZGVmaW5lIF9fc3R1YiBtYWNyb3MgYW5kIGhvcGVmdWxseSBmZXcgcHJvdG90eXBlcywKfCAgICAg
 d2hpY2ggY2FuIGNvbmZsaWN0IHdpdGggY2hhciBzdHJsY3B5ICgpOyBiZWxvdy4KfCAgICAgUHJl
 ZmVyIDxsaW1pdHMuaD4gdG8gPGFzc2VydC5oPiBpZiBfX1NURENfXyBpcyBkZWZpbmVkLCBzaW5j
 ZQp8ICAgICA8bGltaXRzLmg+IGV4aXN0cyBldmVuIG9uIGZyZWVzdGFuZGluZyBjb21waWxlcnMu
 ICAqLwp8IAp8ICNpZmRlZiBfX1NURENfXwp8ICMgaW5jbHVkZSA8bGltaXRzLmg+CnwgI2Vsc2UK
 fCAjIGluY2x1ZGUgPGFzc2VydC5oPgp8ICNlbmRpZgp8IAp8ICN1bmRlZiBzdHJsY3B5CnwgCnwg
 LyogT3ZlcnJpZGUgYW55IEdDQyBpbnRlcm5hbCBwcm90b3R5cGUgdG8gYXZvaWQgYW4gZXJyb3Iu
 CnwgICAgVXNlIGNoYXIgYmVjYXVzZSBpbnQgbWlnaHQgbWF0Y2ggdGhlIHJldHVybiB0eXBlIG9m
 IGEgR0NDCnwgICAgYnVpbHRpbiBhbmQgdGhlbiBpdHMgYXJndW1lbnQgcHJvdG90eXBlIHdvdWxk
 IHN0aWxsIGFwcGx5LiAgKi8KfCAjaWZkZWYgX19jcGx1c3BsdXMKfCBleHRlcm4gIkMiCnwgI2Vu
 ZGlmCnwgY2hhciBzdHJsY3B5ICgpOwp8IC8qIFRoZSBHTlUgQyBsaWJyYXJ5IGRlZmluZXMgdGhp
 cyBmb3IgZnVuY3Rpb25zIHdoaWNoIGl0IGltcGxlbWVudHMKfCAgICAgdG8gYWx3YXlzIGZhaWwg
 d2l0aCBFTk9TWVMuICBTb21lIGZ1bmN0aW9ucyBhcmUgYWN0dWFsbHkgbmFtZWQKfCAgICAgc29t
 ZXRoaW5nIHN0YXJ0aW5nIHdpdGggX18gYW5kIHRoZSBub3JtYWwgbmFtZSBpcyBhbiBhbGlhcy4g
 ICovCnwgI2lmIGRlZmluZWQgX19zdHViX3N0cmxjcHkgfHwgZGVmaW5lZCBfX3N0dWJfX19zdHJs
 Y3B5CnwgY2hva2UgbWUKfCAjZW5kaWYKfCAKfCBpbnQKfCBtYWluICgpCnwgewp8IHJldHVybiBz
 dHJsY3B5ICgpOwp8ICAgOwp8ICAgcmV0dXJuIDA7CnwgfQpjb25maWd1cmU6NjE0MjogcmVzdWx0
 OiBubwpjb25maWd1cmU6NjE1NTogY2hlY2tpbmcgZm9yIHN0cm1vZGUKY29uZmlndXJlOjYxNTU6
 IGdjYyAtbyBjb25mdGVzdCAtZyAtTzIgICBjb25mdGVzdC5jICA+JjUKL3RtcC9jY3l3YUlYZC5v
 OiBJbiBmdW5jdGlvbiBgbWFpbic6Ci9tZWRpYS9zZGIyL3NyYy9wa2dzcmMvYm9vdHN0cmFwL3dv
 cmsvbGlibmJjb21wYXQvY29uZnRlc3QuYzoxNDU6IHVuZGVmaW5lZCByZWZlcmVuY2UgdG8gYHN0
 cm1vZGUnCmNvbGxlY3QyOiBsZCByZXR1cm5lZCAxIGV4aXQgc3RhdHVzCmNvbmZpZ3VyZTo2MTU1
 OiAkPyA9IDEKY29uZmlndXJlOiBmYWlsZWQgcHJvZ3JhbSB3YXM6CnwgLyogY29uZmRlZnMuaCAq
 Lwp8ICNkZWZpbmUgUEFDS0FHRV9OQU1FICJsaWJuYmNvbXBhdCIKfCAjZGVmaW5lIFBBQ0tBR0Vf
 VEFSTkFNRSAibGlibmJjb21wYXQiCnwgI2RlZmluZSBQQUNLQUdFX1ZFUlNJT04gIjIwMDgwNjA1
 Igp8ICNkZWZpbmUgUEFDS0FHRV9TVFJJTkcgImxpYm5iY29tcGF0IDIwMDgwNjA1Igp8ICNkZWZp
 bmUgUEFDS0FHRV9CVUdSRVBPUlQgImdyYW50QE5ldEJTRC5vcmciCnwgI2RlZmluZSBQQUNLQUdF
 X1VSTCAiIgp8ICNkZWZpbmUgU1REQ19IRUFERVJTIDEKfCAjZGVmaW5lIFRJTUVfV0lUSF9TWVNf
 VElNRSAxCnwgI2RlZmluZSBIQVZFX1NZU19UWVBFU19IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NU
 QVRfSCAxCnwgI2RlZmluZSBIQVZFX1NURExJQl9IIDEKfCAjZGVmaW5lIEhBVkVfU1RSSU5HX0gg
 MQp8ICNkZWZpbmUgSEFWRV9NRU1PUllfSCAxCnwgI2RlZmluZSBIQVZFX1NUUklOR1NfSCAxCnwg
 I2RlZmluZSBIQVZFX0lOVFRZUEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERJTlRfSCAxCnwgI2Rl
 ZmluZSBIQVZFX1VOSVNURF9IIDEKfCAjZGVmaW5lIEhBVkVfX0JPT0wgMQp8ICNkZWZpbmUgSEFW
 RV9TVERCT09MX0ggMQp8ICNkZWZpbmUgSEFWRV9BTExPQ0FfSCAxCnwgI2RlZmluZSBIQVZFX0FT
 U0VSVF9IIDEKfCAjZGVmaW5lIEhBVkVfQ1RZUEVfSCAxCnwgI2RlZmluZSBIQVZFX0RJUkVOVF9I
 IDEKfCAjZGVmaW5lIEhBVkVfRU5ESUFOX0ggMQp8ICNkZWZpbmUgSEFWRV9FUlJfSCAxCnwgI2Rl
 ZmluZSBIQVZFX0VSUk5PX0ggMQp8ICNkZWZpbmUgSEFWRV9GQ05UTF9IIDEKfCAjZGVmaW5lIEhB
 VkVfRk5NQVRDSF9IIDEKfCAjZGVmaW5lIEhBVkVfRlRTX0ggMQp8ICNkZWZpbmUgSEFWRV9HUlBf
 SCAxCnwgI2RlZmluZSBIQVZFX0lOVFRZUEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9MSUJVVElMX0gg
 MQp8ICNkZWZpbmUgSEFWRV9MSU1JVFNfSCAxCnwgI2RlZmluZSBIQVZFX05FVERCX0ggMQp8ICNk
 ZWZpbmUgSEFWRV9QQVRIU19IIDEKfCAjZGVmaW5lIEhBVkVfUFdEX0ggMQp8ICNkZWZpbmUgSEFW
 RV9TSUdOQUxfSCAxCnwgI2RlZmluZSBIQVZFX1NUREFSR19IIDEKfCAjZGVmaW5lIEhBVkVfU1RE
 REVGX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERJTlRfSCAxCnwgI2RlZmluZSBIQVZFX1NURElPX0gg
 MQp8ICNkZWZpbmUgSEFWRV9TVERMSUJfSCAxCnwgI2RlZmluZSBIQVZFX1NUUklOR19IIDEKfCAj
 ZGVmaW5lIEhBVkVfU1lTX0NERUZTX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfRElSX0ggMQp8ICNk
 ZWZpbmUgSEFWRV9TWVNfRklMRV9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1BBUkFNX0ggMQp8ICNk
 ZWZpbmUgSEFWRV9TWVNfU09DS0VUX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfU1RBVF9IIDEKfCAj
 ZGVmaW5lIEhBVkVfU1lTX1NUQVRGU19IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NUQVRWRlNfSCAx
 CnwgI2RlZmluZSBIQVZFX1NZU19USU1FX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfVFlQRVNfSCAx
 CnwgI2RlZmluZSBIQVZFX1NZU19VSU9fSCAxCnwgI2RlZmluZSBIQVZFX1NZU19WRlNfSCAxCnwg
 I2RlZmluZSBIQVZFX1NZU0VYSVRTX0ggMQp8ICNkZWZpbmUgSEFWRV9URVJNQ0FQX0ggMQp8ICNk
 ZWZpbmUgSEFWRV9USU1FX0ggMQp8ICNkZWZpbmUgSEFWRV9VTklTVERfSCAxCnwgI2RlZmluZSBI
 QVZFX1VUSU1FX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfTU9VTlRfSCAxCnwgI2RlZmluZSBIQVZF
 X0dMT0JfSCAxCnwgI2RlZmluZSBIQVZFX05CQ09NUEFUX0dMT0IgMQp8ICNkZWZpbmUgSEFWRV9T
 WVNfUVVFVUVfSCAxCnwgI2RlZmluZSBIQVZFX05CQ09NUEFUX1FVRVVFIDEKfCAjZGVmaW5lIEhB
 VkVfUkVHRVhfSCAxCnwgI2RlZmluZSBIQVZFX05CQ09NUEFUX01ENSAxCnwgI2RlZmluZSBIQVZF
 X05CQ09NUEFUX1JNRDE2MCAxCnwgI2RlZmluZSBIQVZFX05CQ09NUEFUX1NIQTEgMQp8ICNkZWZp
 bmUgSEFWRV9OQkNPTVBBVF9TSEEyIDEKfCAjZGVmaW5lIEhBVkVfREVDTF9PUFRBUkcgMQp8ICNk
 ZWZpbmUgSEFWRV9ERUNMX09QVElORCAxCnwgI2RlZmluZSBIQVZFX0RFQ0xfT1BUUkVTRVQgMAp8
 ICNkZWZpbmUgSEFWRV9HRVRPUFRfSCAxCnwgI2RlZmluZSBIQVZFX1NUUlVDVF9PUFRJT04gMQp8
 ICNkZWZpbmUgSEFWRV9WSVNfSCAxCnwgI2RlZmluZSBIQVZFX05CQ09NUEFUX1ZJUyAxCnwgI2Rl
 ZmluZSBIQVZFX19fQVRUUklCVVRFX18gMQp8ICNkZWZpbmUgSEFWRV9VSU5UUFRSX1QgMQp8ICNk
 ZWZpbmUgSEFWRV9MT05HX0xPTkcgMQp8ICNkZWZpbmUgSEFWRV9MT05HX0RPVUJMRSAxCnwgI2Rl
 ZmluZSBIQVZFX0ZTSURfVCAxCnwgI2RlZmluZSBTSVpFT0ZfT0ZGX1QgNAp8ICNkZWZpbmUgSEFW
 RV9TVERMSUJfSCAxCnwgI2RlZmluZSBIQVZFX01BTExPQyAxCnwgI2RlZmluZSBIQVZFX0RFQ0xf
 U1RSRVJST1JfUiAxCnwgI2RlZmluZSBIQVZFX1NUUkVSUk9SX1IgMQp8ICNkZWZpbmUgSEFWRV9G
 T1JLIDEKfCAjZGVmaW5lIEhBVkVfVkZPUksgMQp8ICNkZWZpbmUgSEFWRV9XT1JLSU5HX1ZGT1JL
 IDEKfCAjZGVmaW5lIEhBVkVfV09SS0lOR19GT1JLIDEKfCAjZGVmaW5lIEhBVkVfVlBSSU5URiAx
 CnwgI2RlZmluZSBIQVZFX0RFQ0xfU05QUklOVEYgMQp8ICNkZWZpbmUgSEFWRV9ERUNMX1ZBU1BS
 SU5URiAwCnwgI2RlZmluZSBIQVZFX0FTUFJJTlRGIDEKfCAjZGVmaW5lIEhBVkVfRVJSIDEKfCAj
 ZGVmaW5lIEhBVkVfRk5NQVRDSCAxCnwgI2RlZmluZSBIQVZFX0dFVEVOViAxCnwgI2RlZmluZSBI
 QVZFX0lTQkxBTksgMQp8ICNkZWZpbmUgSEFWRV9MQ0hPV04gMQp8ICNkZWZpbmUgSEFWRV9MVVRJ
 TUVTIDEKfCAjZGVmaW5lIEhBVkVfTUtEVEVNUCAxCnwgI2RlZmluZSBIQVZFX01LU1RFTVAgMQp8
 ICNkZWZpbmUgSEFWRV9TRVRFTlYgMQp8ICNkZWZpbmUgSEFWRV9TTlBSSU5URiAxCnwgI2RlZmlu
 ZSBIQVZFX1NUQVRWRlMgMQp8ICNkZWZpbmUgSEFWRV9TVFJEVVAgMQp8ICNkZWZpbmUgSEFWRV9T
 VFJFUlJPUiAxCnwgLyogZW5kIGNvbmZkZWZzLmguICAqLwp8IC8qIERlZmluZSBzdHJtb2RlIHRv
 IGFuIGlubm9jdW91cyB2YXJpYW50LCBpbiBjYXNlIDxsaW1pdHMuaD4gZGVjbGFyZXMgc3RybW9k
 ZS4KfCAgICBGb3IgZXhhbXBsZSwgSFAtVVggMTFpIDxsaW1pdHMuaD4gZGVjbGFyZXMgZ2V0dGlt
 ZW9mZGF5LiAgKi8KfCAjZGVmaW5lIHN0cm1vZGUgaW5ub2N1b3VzX3N0cm1vZGUKfCAKfCAvKiBT
 eXN0ZW0gaGVhZGVyIHRvIGRlZmluZSBfX3N0dWIgbWFjcm9zIGFuZCBob3BlZnVsbHkgZmV3IHBy
 b3RvdHlwZXMsCnwgICAgIHdoaWNoIGNhbiBjb25mbGljdCB3aXRoIGNoYXIgc3RybW9kZSAoKTsg
 YmVsb3cuCnwgICAgIFByZWZlciA8bGltaXRzLmg+IHRvIDxhc3NlcnQuaD4gaWYgX19TVERDX18g
 aXMgZGVmaW5lZCwgc2luY2UKfCAgICAgPGxpbWl0cy5oPiBleGlzdHMgZXZlbiBvbiBmcmVlc3Rh
 bmRpbmcgY29tcGlsZXJzLiAgKi8KfCAKfCAjaWZkZWYgX19TVERDX18KfCAjIGluY2x1ZGUgPGxp
 bWl0cy5oPgp8ICNlbHNlCnwgIyBpbmNsdWRlIDxhc3NlcnQuaD4KfCAjZW5kaWYKfCAKfCAjdW5k
 ZWYgc3RybW9kZQp8IAp8IC8qIE92ZXJyaWRlIGFueSBHQ0MgaW50ZXJuYWwgcHJvdG90eXBlIHRv
 IGF2b2lkIGFuIGVycm9yLgp8ICAgIFVzZSBjaGFyIGJlY2F1c2UgaW50IG1pZ2h0IG1hdGNoIHRo
 ZSByZXR1cm4gdHlwZSBvZiBhIEdDQwp8ICAgIGJ1aWx0aW4gYW5kIHRoZW4gaXRzIGFyZ3VtZW50
 IHByb3RvdHlwZSB3b3VsZCBzdGlsbCBhcHBseS4gICovCnwgI2lmZGVmIF9fY3BsdXNwbHVzCnwg
 ZXh0ZXJuICJDIgp8ICNlbmRpZgp8IGNoYXIgc3RybW9kZSAoKTsKfCAvKiBUaGUgR05VIEMgbGli
 cmFyeSBkZWZpbmVzIHRoaXMgZm9yIGZ1bmN0aW9ucyB3aGljaCBpdCBpbXBsZW1lbnRzCnwgICAg
 IHRvIGFsd2F5cyBmYWlsIHdpdGggRU5PU1lTLiAgU29tZSBmdW5jdGlvbnMgYXJlIGFjdHVhbGx5
 IG5hbWVkCnwgICAgIHNvbWV0aGluZyBzdGFydGluZyB3aXRoIF9fIGFuZCB0aGUgbm9ybWFsIG5h
 bWUgaXMgYW4gYWxpYXMuICAqLwp8ICNpZiBkZWZpbmVkIF9fc3R1Yl9zdHJtb2RlIHx8IGRlZmlu
 ZWQgX19zdHViX19fc3RybW9kZQp8IGNob2tlIG1lCnwgI2VuZGlmCnwgCnwgaW50CnwgbWFpbiAo
 KQp8IHsKfCByZXR1cm4gc3RybW9kZSAoKTsKfCAgIDsKfCAgIHJldHVybiAwOwp8IH0KY29uZmln
 dXJlOjYxNTU6IHJlc3VsdDogbm8KY29uZmlndXJlOjYxNjg6IGNoZWNraW5nIGZvciBzdHJzZXAK
 Y29uZmlndXJlOjYxNjg6IGdjYyAtbyBjb25mdGVzdCAtZyAtTzIgICBjb25mdGVzdC5jICA+JjUK
 Y29uZmlndXJlOjYxNjg6ICQ/ID0gMApjb25maWd1cmU6NjE2ODogcmVzdWx0OiB5ZXMKY29uZmln
 dXJlOjYxODE6IGNoZWNraW5nIGZvciBzdHJ0b2xsCmNvbmZpZ3VyZTo2MTgxOiBnY2MgLW8gY29u
 ZnRlc3QgLWcgLU8yICAgY29uZnRlc3QuYyAgPiY1CmNvbmZpZ3VyZTo2MTgxOiAkPyA9IDAKY29u
 ZmlndXJlOjYxODE6IHJlc3VsdDogeWVzCmNvbmZpZ3VyZTo2MTk0OiBjaGVja2luZyBmb3IgdW5z
 ZXRlbnYKY29uZmlndXJlOjYxOTQ6IGdjYyAtbyBjb25mdGVzdCAtZyAtTzIgICBjb25mdGVzdC5j
 ICA+JjUKY29uZmlndXJlOjYxOTQ6ICQ/ID0gMApjb25maWd1cmU6NjE5NDogcmVzdWx0OiB5ZXMK
 Y29uZmlndXJlOjYyMDc6IGNoZWNraW5nIGZvciB1c2xlZXAKY29uZmlndXJlOjYyMDc6IGdjYyAt
 byBjb25mdGVzdCAtZyAtTzIgICBjb25mdGVzdC5jICA+JjUKY29uZmlndXJlOjYyMDc6ICQ/ID0g
 MApjb25maWd1cmU6NjIwNzogcmVzdWx0OiB5ZXMKY29uZmlndXJlOjYyMjA6IGNoZWNraW5nIGZv
 ciB1dGltZXMKY29uZmlndXJlOjYyMjA6IGdjYyAtbyBjb25mdGVzdCAtZyAtTzIgICBjb25mdGVz
 dC5jICA+JjUKY29uZmlndXJlOjYyMjA6ICQ/ID0gMApjb25maWd1cmU6NjIyMDogcmVzdWx0OiB5
 ZXMKY29uZmlndXJlOjYyMzM6IGNoZWNraW5nIGZvciB3YXJuCmNvbmZpZ3VyZTo2MjMzOiBnY2Mg
 LW8gY29uZnRlc3QgLWcgLU8yICAgY29uZnRlc3QuYyAgPiY1CmNvbmZpZ3VyZTo2MjMzOiAkPyA9
 IDAKY29uZmlndXJlOjYyMzM6IHJlc3VsdDogeWVzCmNvbmZpZ3VyZTo2MjQ4OiBjaGVja2luZyBm
 b3IgbGlicmFyeSBjb250YWluaW5nIHNvY2tldApjb25maWd1cmU6NjI3OTogZ2NjIC1vIGNvbmZ0
 ZXN0IC1nIC1PMiAgIGNvbmZ0ZXN0LmMgID4mNQpjb25maWd1cmU6NjI3OTogJD8gPSAwCmNvbmZp
 Z3VyZTo2Mjk2OiByZXN1bHQ6IG5vbmUgcmVxdWlyZWQKY29uZmlndXJlOjYzMDQ6IGNoZWNraW5n
 IGZvciBnZXRob3N0YnluYW1lIGluIC1sbnNsCmNvbmZpZ3VyZTo2MzI5OiBnY2MgLW8gY29uZnRl
 c3QgLWcgLU8yICAgY29uZnRlc3QuYyAtbG5zbCAgID4mNQpjb25maWd1cmU6NjMyOTogJD8gPSAw
 CmNvbmZpZ3VyZTo2MzM4OiByZXN1bHQ6IHllcwpjb25maWd1cmU6NjM1MTogY2hlY2tpbmcgZm9y
 IHNvY2tsZW5fdApjb25maWd1cmU6NjM1MTogZ2NjIC1jIC1nIC1PMiAgY29uZnRlc3QuYyA+JjUK
 Y29uZmlndXJlOjYzNTE6ICQ/ID0gMApjb25maWd1cmU6NjM1MTogZ2NjIC1jIC1nIC1PMiAgY29u
 ZnRlc3QuYyA+JjUKY29uZnRlc3QuYzogSW4gZnVuY3Rpb24gJ21haW4nOgpjb25mdGVzdC5jOjEy
 ODoyNDogZXJyb3I6IGV4cGVjdGVkIGV4cHJlc3Npb24gYmVmb3JlICcpJyB0b2tlbgpjb25maWd1
 cmU6NjM1MTogJD8gPSAxCmNvbmZpZ3VyZTogZmFpbGVkIHByb2dyYW0gd2FzOgp8IC8qIGNvbmZk
 ZWZzLmggKi8KfCAjZGVmaW5lIFBBQ0tBR0VfTkFNRSAibGlibmJjb21wYXQiCnwgI2RlZmluZSBQ
 QUNLQUdFX1RBUk5BTUUgImxpYm5iY29tcGF0Igp8ICNkZWZpbmUgUEFDS0FHRV9WRVJTSU9OICIy
 MDA4MDYwNSIKfCAjZGVmaW5lIFBBQ0tBR0VfU1RSSU5HICJsaWJuYmNvbXBhdCAyMDA4MDYwNSIK
 fCAjZGVmaW5lIFBBQ0tBR0VfQlVHUkVQT1JUICJncmFudEBOZXRCU0Qub3JnIgp8ICNkZWZpbmUg
 UEFDS0FHRV9VUkwgIiIKfCAjZGVmaW5lIFNURENfSEVBREVSUyAxCnwgI2RlZmluZSBUSU1FX1dJ
 VEhfU1lTX1RJTUUgMQp8ICNkZWZpbmUgSEFWRV9TWVNfVFlQRVNfSCAxCnwgI2RlZmluZSBIQVZF
 X1NZU19TVEFUX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERMSUJfSCAxCnwgI2RlZmluZSBIQVZFX1NU
 UklOR19IIDEKfCAjZGVmaW5lIEhBVkVfTUVNT1JZX0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJJTkdT
 X0ggMQp8ICNkZWZpbmUgSEFWRV9JTlRUWVBFU19IIDEKfCAjZGVmaW5lIEhBVkVfU1RESU5UX0gg
 MQp8ICNkZWZpbmUgSEFWRV9VTklTVERfSCAxCnwgI2RlZmluZSBIQVZFX19CT09MIDEKfCAjZGVm
 aW5lIEhBVkVfU1REQk9PTF9IIDEKfCAjZGVmaW5lIEhBVkVfQUxMT0NBX0ggMQp8ICNkZWZpbmUg
 SEFWRV9BU1NFUlRfSCAxCnwgI2RlZmluZSBIQVZFX0NUWVBFX0ggMQp8ICNkZWZpbmUgSEFWRV9E
 SVJFTlRfSCAxCnwgI2RlZmluZSBIQVZFX0VORElBTl9IIDEKfCAjZGVmaW5lIEhBVkVfRVJSX0gg
 MQp8ICNkZWZpbmUgSEFWRV9FUlJOT19IIDEKfCAjZGVmaW5lIEhBVkVfRkNOVExfSCAxCnwgI2Rl
 ZmluZSBIQVZFX0ZOTUFUQ0hfSCAxCnwgI2RlZmluZSBIQVZFX0ZUU19IIDEKfCAjZGVmaW5lIEhB
 VkVfR1JQX0ggMQp8ICNkZWZpbmUgSEFWRV9JTlRUWVBFU19IIDEKfCAjZGVmaW5lIEhBVkVfTElC
 VVRJTF9IIDEKfCAjZGVmaW5lIEhBVkVfTElNSVRTX0ggMQp8ICNkZWZpbmUgSEFWRV9ORVREQl9I
 IDEKfCAjZGVmaW5lIEhBVkVfUEFUSFNfSCAxCnwgI2RlZmluZSBIQVZFX1BXRF9IIDEKfCAjZGVm
 aW5lIEhBVkVfU0lHTkFMX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERBUkdfSCAxCnwgI2RlZmluZSBI
 QVZFX1NURERFRl9IIDEKfCAjZGVmaW5lIEhBVkVfU1RESU5UX0ggMQp8ICNkZWZpbmUgSEFWRV9T
 VERJT19IIDEKfCAjZGVmaW5lIEhBVkVfU1RETElCX0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJJTkdf
 SCAxCnwgI2RlZmluZSBIQVZFX1NZU19DREVGU19IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX0RJUl9I
 IDEKfCAjZGVmaW5lIEhBVkVfU1lTX0ZJTEVfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19QQVJBTV9I
 IDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NPQ0tFVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NUQVRf
 SCAxCnwgI2RlZmluZSBIQVZFX1NZU19TVEFURlNfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19TVEFU
 VkZTX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfVElNRV9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1RZ
 UEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfVUlPX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfVkZT
 X0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNFWElUU19IIDEKfCAjZGVmaW5lIEhBVkVfVEVSTUNBUF9I
 IDEKfCAjZGVmaW5lIEhBVkVfVElNRV9IIDEKfCAjZGVmaW5lIEhBVkVfVU5JU1REX0ggMQp8ICNk
 ZWZpbmUgSEFWRV9VVElNRV9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX01PVU5UX0ggMQp8ICNkZWZp
 bmUgSEFWRV9HTE9CX0ggMQp8ICNkZWZpbmUgSEFWRV9OQkNPTVBBVF9HTE9CIDEKfCAjZGVmaW5l
 IEhBVkVfU1lTX1FVRVVFX0ggMQp8ICNkZWZpbmUgSEFWRV9OQkNPTVBBVF9RVUVVRSAxCnwgI2Rl
 ZmluZSBIQVZFX1JFR0VYX0ggMQp8ICNkZWZpbmUgSEFWRV9OQkNPTVBBVF9NRDUgMQp8ICNkZWZp
 bmUgSEFWRV9OQkNPTVBBVF9STUQxNjAgMQp8ICNkZWZpbmUgSEFWRV9OQkNPTVBBVF9TSEExIDEK
 fCAjZGVmaW5lIEhBVkVfTkJDT01QQVRfU0hBMiAxCnwgI2RlZmluZSBIQVZFX0RFQ0xfT1BUQVJH
 IDEKfCAjZGVmaW5lIEhBVkVfREVDTF9PUFRJTkQgMQp8ICNkZWZpbmUgSEFWRV9ERUNMX09QVFJF
 U0VUIDAKfCAjZGVmaW5lIEhBVkVfR0VUT1BUX0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJVQ1RfT1BU
 SU9OIDEKfCAjZGVmaW5lIEhBVkVfVklTX0ggMQp8ICNkZWZpbmUgSEFWRV9OQkNPTVBBVF9WSVMg
 MQp8ICNkZWZpbmUgSEFWRV9fX0FUVFJJQlVURV9fIDEKfCAjZGVmaW5lIEhBVkVfVUlOVFBUUl9U
 IDEKfCAjZGVmaW5lIEhBVkVfTE9OR19MT05HIDEKfCAjZGVmaW5lIEhBVkVfTE9OR19ET1VCTEUg
 MQp8ICNkZWZpbmUgSEFWRV9GU0lEX1QgMQp8ICNkZWZpbmUgU0laRU9GX09GRl9UIDQKfCAjZGVm
 aW5lIEhBVkVfU1RETElCX0ggMQp8ICNkZWZpbmUgSEFWRV9NQUxMT0MgMQp8ICNkZWZpbmUgSEFW
 RV9ERUNMX1NUUkVSUk9SX1IgMQp8ICNkZWZpbmUgSEFWRV9TVFJFUlJPUl9SIDEKfCAjZGVmaW5l
 IEhBVkVfRk9SSyAxCnwgI2RlZmluZSBIQVZFX1ZGT1JLIDEKfCAjZGVmaW5lIEhBVkVfV09SS0lO
 R19WRk9SSyAxCnwgI2RlZmluZSBIQVZFX1dPUktJTkdfRk9SSyAxCnwgI2RlZmluZSBIQVZFX1ZQ
 UklOVEYgMQp8ICNkZWZpbmUgSEFWRV9ERUNMX1NOUFJJTlRGIDEKfCAjZGVmaW5lIEhBVkVfREVD
 TF9WQVNQUklOVEYgMAp8ICNkZWZpbmUgSEFWRV9BU1BSSU5URiAxCnwgI2RlZmluZSBIQVZFX0VS
 UiAxCnwgI2RlZmluZSBIQVZFX0ZOTUFUQ0ggMQp8ICNkZWZpbmUgSEFWRV9HRVRFTlYgMQp8ICNk
 ZWZpbmUgSEFWRV9JU0JMQU5LIDEKfCAjZGVmaW5lIEhBVkVfTENIT1dOIDEKfCAjZGVmaW5lIEhB
 VkVfTFVUSU1FUyAxCnwgI2RlZmluZSBIQVZFX01LRFRFTVAgMQp8ICNkZWZpbmUgSEFWRV9NS1NU
 RU1QIDEKfCAjZGVmaW5lIEhBVkVfU0VURU5WIDEKfCAjZGVmaW5lIEhBVkVfU05QUklOVEYgMQp8
 ICNkZWZpbmUgSEFWRV9TVEFUVkZTIDEKfCAjZGVmaW5lIEhBVkVfU1RSRFVQIDEKfCAjZGVmaW5l
 IEhBVkVfU1RSRVJST1IgMQp8ICNkZWZpbmUgSEFWRV9TVFJTRVAgMQp8ICNkZWZpbmUgSEFWRV9T
 VFJUT0xMIDEKfCAjZGVmaW5lIEhBVkVfVU5TRVRFTlYgMQp8ICNkZWZpbmUgSEFWRV9VU0xFRVAg
 MQp8ICNkZWZpbmUgSEFWRV9VVElNRVMgMQp8ICNkZWZpbmUgSEFWRV9XQVJOIDEKfCAjZGVmaW5l
 IEhBVkVfTElCTlNMIDEKfCAvKiBlbmQgY29uZmRlZnMuaC4gICovCnwgI2lmZGVmIEhBVkVfU1lT
 X1RZUEVTX0gKfCAjIGluY2x1ZGUgPHN5cy90eXBlcy5oPgp8ICNlbmRpZgp8IAp8ICNpbmNsdWRl
 IDxzeXMvc29ja2V0Lmg+CnwgCnwgCnwgaW50CnwgbWFpbiAoKQp8IHsKfCBpZiAoc2l6ZW9mICgo
 c29ja2xlbl90KSkpCnwgCSAgICByZXR1cm4gMDsKfCAgIDsKfCAgIHJldHVybiAwOwp8IH0KY29u
 ZmlndXJlOjYzNTE6IHJlc3VsdDogeWVzCmNvbmZpZ3VyZTo2MzY3OiBjaGVja2luZyBmb3Igc3Ry
 dWN0IGFkZHJpbmZvCmNvbmZpZ3VyZTo2MzY3OiBnY2MgLWMgLWcgLU8yICBjb25mdGVzdC5jID4m
 NQpjb25maWd1cmU6NjM2NzogJD8gPSAwCmNvbmZpZ3VyZTo2MzY3OiBnY2MgLWMgLWcgLU8yICBj
 b25mdGVzdC5jID4mNQpjb25mdGVzdC5jOiBJbiBmdW5jdGlvbiAnbWFpbic6CmNvbmZ0ZXN0LmM6
 MTI0OjMwOiBlcnJvcjogZXhwZWN0ZWQgZXhwcmVzc2lvbiBiZWZvcmUgJyknIHRva2VuCmNvbmZp
 Z3VyZTo2MzY3OiAkPyA9IDEKY29uZmlndXJlOiBmYWlsZWQgcHJvZ3JhbSB3YXM6CnwgLyogY29u
 ZmRlZnMuaCAqLwp8ICNkZWZpbmUgUEFDS0FHRV9OQU1FICJsaWJuYmNvbXBhdCIKfCAjZGVmaW5l
 IFBBQ0tBR0VfVEFSTkFNRSAibGlibmJjb21wYXQiCnwgI2RlZmluZSBQQUNLQUdFX1ZFUlNJT04g
 IjIwMDgwNjA1Igp8ICNkZWZpbmUgUEFDS0FHRV9TVFJJTkcgImxpYm5iY29tcGF0IDIwMDgwNjA1
 Igp8ICNkZWZpbmUgUEFDS0FHRV9CVUdSRVBPUlQgImdyYW50QE5ldEJTRC5vcmciCnwgI2RlZmlu
 ZSBQQUNLQUdFX1VSTCAiIgp8ICNkZWZpbmUgU1REQ19IRUFERVJTIDEKfCAjZGVmaW5lIFRJTUVf
 V0lUSF9TWVNfVElNRSAxCnwgI2RlZmluZSBIQVZFX1NZU19UWVBFU19IIDEKfCAjZGVmaW5lIEhB
 VkVfU1lTX1NUQVRfSCAxCnwgI2RlZmluZSBIQVZFX1NURExJQl9IIDEKfCAjZGVmaW5lIEhBVkVf
 U1RSSU5HX0ggMQp8ICNkZWZpbmUgSEFWRV9NRU1PUllfSCAxCnwgI2RlZmluZSBIQVZFX1NUUklO
 R1NfSCAxCnwgI2RlZmluZSBIQVZFX0lOVFRZUEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERJTlRf
 SCAxCnwgI2RlZmluZSBIQVZFX1VOSVNURF9IIDEKfCAjZGVmaW5lIEhBVkVfX0JPT0wgMQp8ICNk
 ZWZpbmUgSEFWRV9TVERCT09MX0ggMQp8ICNkZWZpbmUgSEFWRV9BTExPQ0FfSCAxCnwgI2RlZmlu
 ZSBIQVZFX0FTU0VSVF9IIDEKfCAjZGVmaW5lIEhBVkVfQ1RZUEVfSCAxCnwgI2RlZmluZSBIQVZF
 X0RJUkVOVF9IIDEKfCAjZGVmaW5lIEhBVkVfRU5ESUFOX0ggMQp8ICNkZWZpbmUgSEFWRV9FUlJf
 SCAxCnwgI2RlZmluZSBIQVZFX0VSUk5PX0ggMQp8ICNkZWZpbmUgSEFWRV9GQ05UTF9IIDEKfCAj
 ZGVmaW5lIEhBVkVfRk5NQVRDSF9IIDEKfCAjZGVmaW5lIEhBVkVfRlRTX0ggMQp8ICNkZWZpbmUg
 SEFWRV9HUlBfSCAxCnwgI2RlZmluZSBIQVZFX0lOVFRZUEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9M
 SUJVVElMX0ggMQp8ICNkZWZpbmUgSEFWRV9MSU1JVFNfSCAxCnwgI2RlZmluZSBIQVZFX05FVERC
 X0ggMQp8ICNkZWZpbmUgSEFWRV9QQVRIU19IIDEKfCAjZGVmaW5lIEhBVkVfUFdEX0ggMQp8ICNk
 ZWZpbmUgSEFWRV9TSUdOQUxfSCAxCnwgI2RlZmluZSBIQVZFX1NUREFSR19IIDEKfCAjZGVmaW5l
 IEhBVkVfU1REREVGX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERJTlRfSCAxCnwgI2RlZmluZSBIQVZF
 X1NURElPX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERMSUJfSCAxCnwgI2RlZmluZSBIQVZFX1NUUklO
 R19IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX0NERUZTX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfRElS
 X0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfRklMRV9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1BBUkFN
 X0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfU09DS0VUX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfU1RB
 VF9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NUQVRGU19IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NU
 QVRWRlNfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19USU1FX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNf
 VFlQRVNfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19VSU9fSCAxCnwgI2RlZmluZSBIQVZFX1NZU19W
 RlNfSCAxCnwgI2RlZmluZSBIQVZFX1NZU0VYSVRTX0ggMQp8ICNkZWZpbmUgSEFWRV9URVJNQ0FQ
 X0ggMQp8ICNkZWZpbmUgSEFWRV9USU1FX0ggMQp8ICNkZWZpbmUgSEFWRV9VTklTVERfSCAxCnwg
 I2RlZmluZSBIQVZFX1VUSU1FX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfTU9VTlRfSCAxCnwgI2Rl
 ZmluZSBIQVZFX0dMT0JfSCAxCnwgI2RlZmluZSBIQVZFX05CQ09NUEFUX0dMT0IgMQp8ICNkZWZp
 bmUgSEFWRV9TWVNfUVVFVUVfSCAxCnwgI2RlZmluZSBIQVZFX05CQ09NUEFUX1FVRVVFIDEKfCAj
 ZGVmaW5lIEhBVkVfUkVHRVhfSCAxCnwgI2RlZmluZSBIQVZFX05CQ09NUEFUX01ENSAxCnwgI2Rl
 ZmluZSBIQVZFX05CQ09NUEFUX1JNRDE2MCAxCnwgI2RlZmluZSBIQVZFX05CQ09NUEFUX1NIQTEg
 MQp8ICNkZWZpbmUgSEFWRV9OQkNPTVBBVF9TSEEyIDEKfCAjZGVmaW5lIEhBVkVfREVDTF9PUFRB
 UkcgMQp8ICNkZWZpbmUgSEFWRV9ERUNMX09QVElORCAxCnwgI2RlZmluZSBIQVZFX0RFQ0xfT1BU
 UkVTRVQgMAp8ICNkZWZpbmUgSEFWRV9HRVRPUFRfSCAxCnwgI2RlZmluZSBIQVZFX1NUUlVDVF9P
 UFRJT04gMQp8ICNkZWZpbmUgSEFWRV9WSVNfSCAxCnwgI2RlZmluZSBIQVZFX05CQ09NUEFUX1ZJ
 UyAxCnwgI2RlZmluZSBIQVZFX19fQVRUUklCVVRFX18gMQp8ICNkZWZpbmUgSEFWRV9VSU5UUFRS
 X1QgMQp8ICNkZWZpbmUgSEFWRV9MT05HX0xPTkcgMQp8ICNkZWZpbmUgSEFWRV9MT05HX0RPVUJM
 RSAxCnwgI2RlZmluZSBIQVZFX0ZTSURfVCAxCnwgI2RlZmluZSBTSVpFT0ZfT0ZGX1QgNAp8ICNk
 ZWZpbmUgSEFWRV9TVERMSUJfSCAxCnwgI2RlZmluZSBIQVZFX01BTExPQyAxCnwgI2RlZmluZSBI
 QVZFX0RFQ0xfU1RSRVJST1JfUiAxCnwgI2RlZmluZSBIQVZFX1NUUkVSUk9SX1IgMQp8ICNkZWZp
 bmUgSEFWRV9GT1JLIDEKfCAjZGVmaW5lIEhBVkVfVkZPUksgMQp8ICNkZWZpbmUgSEFWRV9XT1JL
 SU5HX1ZGT1JLIDEKfCAjZGVmaW5lIEhBVkVfV09SS0lOR19GT1JLIDEKfCAjZGVmaW5lIEhBVkVf
 VlBSSU5URiAxCnwgI2RlZmluZSBIQVZFX0RFQ0xfU05QUklOVEYgMQp8ICNkZWZpbmUgSEFWRV9E
 RUNMX1ZBU1BSSU5URiAwCnwgI2RlZmluZSBIQVZFX0FTUFJJTlRGIDEKfCAjZGVmaW5lIEhBVkVf
 RVJSIDEKfCAjZGVmaW5lIEhBVkVfRk5NQVRDSCAxCnwgI2RlZmluZSBIQVZFX0dFVEVOViAxCnwg
 I2RlZmluZSBIQVZFX0lTQkxBTksgMQp8ICNkZWZpbmUgSEFWRV9MQ0hPV04gMQp8ICNkZWZpbmUg
 SEFWRV9MVVRJTUVTIDEKfCAjZGVmaW5lIEhBVkVfTUtEVEVNUCAxCnwgI2RlZmluZSBIQVZFX01L
 U1RFTVAgMQp8ICNkZWZpbmUgSEFWRV9TRVRFTlYgMQp8ICNkZWZpbmUgSEFWRV9TTlBSSU5URiAx
 CnwgI2RlZmluZSBIQVZFX1NUQVRWRlMgMQp8ICNkZWZpbmUgSEFWRV9TVFJEVVAgMQp8ICNkZWZp
 bmUgSEFWRV9TVFJFUlJPUiAxCnwgI2RlZmluZSBIQVZFX1NUUlNFUCAxCnwgI2RlZmluZSBIQVZF
 X1NUUlRPTEwgMQp8ICNkZWZpbmUgSEFWRV9VTlNFVEVOViAxCnwgI2RlZmluZSBIQVZFX1VTTEVF
 UCAxCnwgI2RlZmluZSBIQVZFX1VUSU1FUyAxCnwgI2RlZmluZSBIQVZFX1dBUk4gMQp8ICNkZWZp
 bmUgSEFWRV9MSUJOU0wgMQp8ICNkZWZpbmUgSEFWRV9TT0NLTEVOX1QgMQp8IC8qIGVuZCBjb25m
 ZGVmcy5oLiAgKi8KfCAjaW5jbHVkZSA8bmV0ZGIuaD4KfCAKfCBpbnQKfCBtYWluICgpCnwgewp8
 IGlmIChzaXplb2YgKChzdHJ1Y3QgYWRkcmluZm8pKSkKfCAJICAgIHJldHVybiAwOwp8ICAgOwp8
 ICAgcmV0dXJuIDA7CnwgfQpjb25maWd1cmU6NjM2NzogcmVzdWx0OiB5ZXMKY29uZmlndXJlOjYz
 Nzg6IGNoZWNraW5nIGZvciBzdHJ1Y3QgaW42X2FkZHIKY29uZmlndXJlOjYzNzg6IGdjYyAtYyAt
 ZyAtTzIgIGNvbmZ0ZXN0LmMgPiY1CmNvbmZpZ3VyZTo2Mzc4OiAkPyA9IDAKY29uZmlndXJlOjYz
 Nzg6IGdjYyAtYyAtZyAtTzIgIGNvbmZ0ZXN0LmMgPiY1CmNvbmZ0ZXN0LmM6IEluIGZ1bmN0aW9u
 ICdtYWluJzoKY29uZnRlc3QuYzoxMjk6MzA6IGVycm9yOiBleHBlY3RlZCBleHByZXNzaW9uIGJl
 Zm9yZSAnKScgdG9rZW4KY29uZmlndXJlOjYzNzg6ICQ/ID0gMQpjb25maWd1cmU6IGZhaWxlZCBw
 cm9ncmFtIHdhczoKfCAvKiBjb25mZGVmcy5oICovCnwgI2RlZmluZSBQQUNLQUdFX05BTUUgImxp
 Ym5iY29tcGF0Igp8ICNkZWZpbmUgUEFDS0FHRV9UQVJOQU1FICJsaWJuYmNvbXBhdCIKfCAjZGVm
 aW5lIFBBQ0tBR0VfVkVSU0lPTiAiMjAwODA2MDUiCnwgI2RlZmluZSBQQUNLQUdFX1NUUklORyAi
 bGlibmJjb21wYXQgMjAwODA2MDUiCnwgI2RlZmluZSBQQUNLQUdFX0JVR1JFUE9SVCAiZ3JhbnRA
 TmV0QlNELm9yZyIKfCAjZGVmaW5lIFBBQ0tBR0VfVVJMICIiCnwgI2RlZmluZSBTVERDX0hFQURF
 UlMgMQp8ICNkZWZpbmUgVElNRV9XSVRIX1NZU19USU1FIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1RZ
 UEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfU1RBVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1RETElC
 X0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJJTkdfSCAxCnwgI2RlZmluZSBIQVZFX01FTU9SWV9IIDEK
 fCAjZGVmaW5lIEhBVkVfU1RSSU5HU19IIDEKfCAjZGVmaW5lIEhBVkVfSU5UVFlQRVNfSCAxCnwg
 I2RlZmluZSBIQVZFX1NURElOVF9IIDEKfCAjZGVmaW5lIEhBVkVfVU5JU1REX0ggMQp8ICNkZWZp
 bmUgSEFWRV9fQk9PTCAxCnwgI2RlZmluZSBIQVZFX1NUREJPT0xfSCAxCnwgI2RlZmluZSBIQVZF
 X0FMTE9DQV9IIDEKfCAjZGVmaW5lIEhBVkVfQVNTRVJUX0ggMQp8ICNkZWZpbmUgSEFWRV9DVFlQ
 RV9IIDEKfCAjZGVmaW5lIEhBVkVfRElSRU5UX0ggMQp8ICNkZWZpbmUgSEFWRV9FTkRJQU5fSCAx
 CnwgI2RlZmluZSBIQVZFX0VSUl9IIDEKfCAjZGVmaW5lIEhBVkVfRVJSTk9fSCAxCnwgI2RlZmlu
 ZSBIQVZFX0ZDTlRMX0ggMQp8ICNkZWZpbmUgSEFWRV9GTk1BVENIX0ggMQp8ICNkZWZpbmUgSEFW
 RV9GVFNfSCAxCnwgI2RlZmluZSBIQVZFX0dSUF9IIDEKfCAjZGVmaW5lIEhBVkVfSU5UVFlQRVNf
 SCAxCnwgI2RlZmluZSBIQVZFX0xJQlVUSUxfSCAxCnwgI2RlZmluZSBIQVZFX0xJTUlUU19IIDEK
 fCAjZGVmaW5lIEhBVkVfTkVUREJfSCAxCnwgI2RlZmluZSBIQVZFX1BBVEhTX0ggMQp8ICNkZWZp
 bmUgSEFWRV9QV0RfSCAxCnwgI2RlZmluZSBIQVZFX1NJR05BTF9IIDEKfCAjZGVmaW5lIEhBVkVf
 U1REQVJHX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERERUZfSCAxCnwgI2RlZmluZSBIQVZFX1NURElO
 VF9IIDEKfCAjZGVmaW5lIEhBVkVfU1RESU9fSCAxCnwgI2RlZmluZSBIQVZFX1NURExJQl9IIDEK
 fCAjZGVmaW5lIEhBVkVfU1RSSU5HX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfQ0RFRlNfSCAxCnwg
 I2RlZmluZSBIQVZFX1NZU19ESVJfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19GSUxFX0ggMQp8ICNk
 ZWZpbmUgSEFWRV9TWVNfUEFSQU1fSCAxCnwgI2RlZmluZSBIQVZFX1NZU19TT0NLRVRfSCAxCnwg
 I2RlZmluZSBIQVZFX1NZU19TVEFUX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfU1RBVEZTX0ggMQp8
 ICNkZWZpbmUgSEFWRV9TWVNfU1RBVFZGU19IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1RJTUVfSCAx
 CnwgI2RlZmluZSBIQVZFX1NZU19UWVBFU19IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1VJT19IIDEK
 fCAjZGVmaW5lIEhBVkVfU1lTX1ZGU19IIDEKfCAjZGVmaW5lIEhBVkVfU1lTRVhJVFNfSCAxCnwg
 I2RlZmluZSBIQVZFX1RFUk1DQVBfSCAxCnwgI2RlZmluZSBIQVZFX1RJTUVfSCAxCnwgI2RlZmlu
 ZSBIQVZFX1VOSVNURF9IIDEKfCAjZGVmaW5lIEhBVkVfVVRJTUVfSCAxCnwgI2RlZmluZSBIQVZF
 X1NZU19NT1VOVF9IIDEKfCAjZGVmaW5lIEhBVkVfR0xPQl9IIDEKfCAjZGVmaW5lIEhBVkVfTkJD
 T01QQVRfR0xPQiAxCnwgI2RlZmluZSBIQVZFX1NZU19RVUVVRV9IIDEKfCAjZGVmaW5lIEhBVkVf
 TkJDT01QQVRfUVVFVUUgMQp8ICNkZWZpbmUgSEFWRV9SRUdFWF9IIDEKfCAjZGVmaW5lIEhBVkVf
 TkJDT01QQVRfTUQ1IDEKfCAjZGVmaW5lIEhBVkVfTkJDT01QQVRfUk1EMTYwIDEKfCAjZGVmaW5l
 IEhBVkVfTkJDT01QQVRfU0hBMSAxCnwgI2RlZmluZSBIQVZFX05CQ09NUEFUX1NIQTIgMQp8ICNk
 ZWZpbmUgSEFWRV9ERUNMX09QVEFSRyAxCnwgI2RlZmluZSBIQVZFX0RFQ0xfT1BUSU5EIDEKfCAj
 ZGVmaW5lIEhBVkVfREVDTF9PUFRSRVNFVCAwCnwgI2RlZmluZSBIQVZFX0dFVE9QVF9IIDEKfCAj
 ZGVmaW5lIEhBVkVfU1RSVUNUX09QVElPTiAxCnwgI2RlZmluZSBIQVZFX1ZJU19IIDEKfCAjZGVm
 aW5lIEhBVkVfTkJDT01QQVRfVklTIDEKfCAjZGVmaW5lIEhBVkVfX19BVFRSSUJVVEVfXyAxCnwg
 I2RlZmluZSBIQVZFX1VJTlRQVFJfVCAxCnwgI2RlZmluZSBIQVZFX0xPTkdfTE9ORyAxCnwgI2Rl
 ZmluZSBIQVZFX0xPTkdfRE9VQkxFIDEKfCAjZGVmaW5lIEhBVkVfRlNJRF9UIDEKfCAjZGVmaW5l
 IFNJWkVPRl9PRkZfVCA0CnwgI2RlZmluZSBIQVZFX1NURExJQl9IIDEKfCAjZGVmaW5lIEhBVkVf
 TUFMTE9DIDEKfCAjZGVmaW5lIEhBVkVfREVDTF9TVFJFUlJPUl9SIDEKfCAjZGVmaW5lIEhBVkVf
 U1RSRVJST1JfUiAxCnwgI2RlZmluZSBIQVZFX0ZPUksgMQp8ICNkZWZpbmUgSEFWRV9WRk9SSyAx
 CnwgI2RlZmluZSBIQVZFX1dPUktJTkdfVkZPUksgMQp8ICNkZWZpbmUgSEFWRV9XT1JLSU5HX0ZP
 UksgMQp8ICNkZWZpbmUgSEFWRV9WUFJJTlRGIDEKfCAjZGVmaW5lIEhBVkVfREVDTF9TTlBSSU5U
 RiAxCnwgI2RlZmluZSBIQVZFX0RFQ0xfVkFTUFJJTlRGIDAKfCAjZGVmaW5lIEhBVkVfQVNQUklO
 VEYgMQp8ICNkZWZpbmUgSEFWRV9FUlIgMQp8ICNkZWZpbmUgSEFWRV9GTk1BVENIIDEKfCAjZGVm
 aW5lIEhBVkVfR0VURU5WIDEKfCAjZGVmaW5lIEhBVkVfSVNCTEFOSyAxCnwgI2RlZmluZSBIQVZF
 X0xDSE9XTiAxCnwgI2RlZmluZSBIQVZFX0xVVElNRVMgMQp8ICNkZWZpbmUgSEFWRV9NS0RURU1Q
 IDEKfCAjZGVmaW5lIEhBVkVfTUtTVEVNUCAxCnwgI2RlZmluZSBIQVZFX1NFVEVOViAxCnwgI2Rl
 ZmluZSBIQVZFX1NOUFJJTlRGIDEKfCAjZGVmaW5lIEhBVkVfU1RBVFZGUyAxCnwgI2RlZmluZSBI
 QVZFX1NUUkRVUCAxCnwgI2RlZmluZSBIQVZFX1NUUkVSUk9SIDEKfCAjZGVmaW5lIEhBVkVfU1RS
 U0VQIDEKfCAjZGVmaW5lIEhBVkVfU1RSVE9MTCAxCnwgI2RlZmluZSBIQVZFX1VOU0VURU5WIDEK
 fCAjZGVmaW5lIEhBVkVfVVNMRUVQIDEKfCAjZGVmaW5lIEhBVkVfVVRJTUVTIDEKfCAjZGVmaW5l
 IEhBVkVfV0FSTiAxCnwgI2RlZmluZSBIQVZFX0xJQk5TTCAxCnwgI2RlZmluZSBIQVZFX1NPQ0tM
 RU5fVCAxCnwgI2RlZmluZSBIQVZFX1NUUlVDVF9BRERSSU5GTyAxCnwgLyogZW5kIGNvbmZkZWZz
 LmguICAqLwp8ICNpZmRlZiBIQVZFX1NZU19UWVBFU19ICnwgIyBpbmNsdWRlIDxzeXMvdHlwZXMu
 aD4KfCAjZW5kaWYKfCAjaW5jbHVkZSA8bmV0aW5ldC9pbi5oPgp8IAp8IAp8IGludAp8IG1haW4g
 KCkKfCB7CnwgaWYgKHNpemVvZiAoKHN0cnVjdCBpbjZfYWRkcikpKQp8IAkgICAgcmV0dXJuIDA7
 CnwgICA7CnwgICByZXR1cm4gMDsKfCB9CmNvbmZpZ3VyZTo2Mzc4OiByZXN1bHQ6IHllcwpjb25m
 aWd1cmU6NjM5MzogY2hlY2tpbmcgZm9yIHN0cnVjdCBzb2NrYWRkcl9pbjYKY29uZmlndXJlOjYz
 OTM6IGdjYyAtYyAtZyAtTzIgIGNvbmZ0ZXN0LmMgPiY1CmNvbmZpZ3VyZTo2MzkzOiAkPyA9IDAK
 Y29uZmlndXJlOjYzOTM6IGdjYyAtYyAtZyAtTzIgIGNvbmZ0ZXN0LmMgPiY1CmNvbmZ0ZXN0LmM6
 IEluIGZ1bmN0aW9uICdtYWluJzoKY29uZnRlc3QuYzoxMzA6MzQ6IGVycm9yOiBleHBlY3RlZCBl
 eHByZXNzaW9uIGJlZm9yZSAnKScgdG9rZW4KY29uZmlndXJlOjYzOTM6ICQ/ID0gMQpjb25maWd1
 cmU6IGZhaWxlZCBwcm9ncmFtIHdhczoKfCAvKiBjb25mZGVmcy5oICovCnwgI2RlZmluZSBQQUNL
 QUdFX05BTUUgImxpYm5iY29tcGF0Igp8ICNkZWZpbmUgUEFDS0FHRV9UQVJOQU1FICJsaWJuYmNv
 bXBhdCIKfCAjZGVmaW5lIFBBQ0tBR0VfVkVSU0lPTiAiMjAwODA2MDUiCnwgI2RlZmluZSBQQUNL
 QUdFX1NUUklORyAibGlibmJjb21wYXQgMjAwODA2MDUiCnwgI2RlZmluZSBQQUNLQUdFX0JVR1JF
 UE9SVCAiZ3JhbnRATmV0QlNELm9yZyIKfCAjZGVmaW5lIFBBQ0tBR0VfVVJMICIiCnwgI2RlZmlu
 ZSBTVERDX0hFQURFUlMgMQp8ICNkZWZpbmUgVElNRV9XSVRIX1NZU19USU1FIDEKfCAjZGVmaW5l
 IEhBVkVfU1lTX1RZUEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfU1RBVF9IIDEKfCAjZGVmaW5l
 IEhBVkVfU1RETElCX0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJJTkdfSCAxCnwgI2RlZmluZSBIQVZF
 X01FTU9SWV9IIDEKfCAjZGVmaW5lIEhBVkVfU1RSSU5HU19IIDEKfCAjZGVmaW5lIEhBVkVfSU5U
 VFlQRVNfSCAxCnwgI2RlZmluZSBIQVZFX1NURElOVF9IIDEKfCAjZGVmaW5lIEhBVkVfVU5JU1RE
 X0ggMQp8ICNkZWZpbmUgSEFWRV9fQk9PTCAxCnwgI2RlZmluZSBIQVZFX1NUREJPT0xfSCAxCnwg
 I2RlZmluZSBIQVZFX0FMTE9DQV9IIDEKfCAjZGVmaW5lIEhBVkVfQVNTRVJUX0ggMQp8ICNkZWZp
 bmUgSEFWRV9DVFlQRV9IIDEKfCAjZGVmaW5lIEhBVkVfRElSRU5UX0ggMQp8ICNkZWZpbmUgSEFW
 RV9FTkRJQU5fSCAxCnwgI2RlZmluZSBIQVZFX0VSUl9IIDEKfCAjZGVmaW5lIEhBVkVfRVJSTk9f
 SCAxCnwgI2RlZmluZSBIQVZFX0ZDTlRMX0ggMQp8ICNkZWZpbmUgSEFWRV9GTk1BVENIX0ggMQp8
 ICNkZWZpbmUgSEFWRV9GVFNfSCAxCnwgI2RlZmluZSBIQVZFX0dSUF9IIDEKfCAjZGVmaW5lIEhB
 VkVfSU5UVFlQRVNfSCAxCnwgI2RlZmluZSBIQVZFX0xJQlVUSUxfSCAxCnwgI2RlZmluZSBIQVZF
 X0xJTUlUU19IIDEKfCAjZGVmaW5lIEhBVkVfTkVUREJfSCAxCnwgI2RlZmluZSBIQVZFX1BBVEhT
 X0ggMQp8ICNkZWZpbmUgSEFWRV9QV0RfSCAxCnwgI2RlZmluZSBIQVZFX1NJR05BTF9IIDEKfCAj
 ZGVmaW5lIEhBVkVfU1REQVJHX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERERUZfSCAxCnwgI2RlZmlu
 ZSBIQVZFX1NURElOVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1RESU9fSCAxCnwgI2RlZmluZSBIQVZF
 X1NURExJQl9IIDEKfCAjZGVmaW5lIEhBVkVfU1RSSU5HX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNf
 Q0RFRlNfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19ESVJfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19G
 SUxFX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfUEFSQU1fSCAxCnwgI2RlZmluZSBIQVZFX1NZU19T
 T0NLRVRfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19TVEFUX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNf
 U1RBVEZTX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfU1RBVFZGU19IIDEKfCAjZGVmaW5lIEhBVkVf
 U1lTX1RJTUVfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19UWVBFU19IIDEKfCAjZGVmaW5lIEhBVkVf
 U1lTX1VJT19IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1ZGU19IIDEKfCAjZGVmaW5lIEhBVkVfU1lT
 RVhJVFNfSCAxCnwgI2RlZmluZSBIQVZFX1RFUk1DQVBfSCAxCnwgI2RlZmluZSBIQVZFX1RJTUVf
 SCAxCnwgI2RlZmluZSBIQVZFX1VOSVNURF9IIDEKfCAjZGVmaW5lIEhBVkVfVVRJTUVfSCAxCnwg
 I2RlZmluZSBIQVZFX1NZU19NT1VOVF9IIDEKfCAjZGVmaW5lIEhBVkVfR0xPQl9IIDEKfCAjZGVm
 aW5lIEhBVkVfTkJDT01QQVRfR0xPQiAxCnwgI2RlZmluZSBIQVZFX1NZU19RVUVVRV9IIDEKfCAj
 ZGVmaW5lIEhBVkVfTkJDT01QQVRfUVVFVUUgMQp8ICNkZWZpbmUgSEFWRV9SRUdFWF9IIDEKfCAj
 ZGVmaW5lIEhBVkVfTkJDT01QQVRfTUQ1IDEKfCAjZGVmaW5lIEhBVkVfTkJDT01QQVRfUk1EMTYw
 IDEKfCAjZGVmaW5lIEhBVkVfTkJDT01QQVRfU0hBMSAxCnwgI2RlZmluZSBIQVZFX05CQ09NUEFU
 X1NIQTIgMQp8ICNkZWZpbmUgSEFWRV9ERUNMX09QVEFSRyAxCnwgI2RlZmluZSBIQVZFX0RFQ0xf
 T1BUSU5EIDEKfCAjZGVmaW5lIEhBVkVfREVDTF9PUFRSRVNFVCAwCnwgI2RlZmluZSBIQVZFX0dF
 VE9QVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1RSVUNUX09QVElPTiAxCnwgI2RlZmluZSBIQVZFX1ZJ
 U19IIDEKfCAjZGVmaW5lIEhBVkVfTkJDT01QQVRfVklTIDEKfCAjZGVmaW5lIEhBVkVfX19BVFRS
 SUJVVEVfXyAxCnwgI2RlZmluZSBIQVZFX1VJTlRQVFJfVCAxCnwgI2RlZmluZSBIQVZFX0xPTkdf
 TE9ORyAxCnwgI2RlZmluZSBIQVZFX0xPTkdfRE9VQkxFIDEKfCAjZGVmaW5lIEhBVkVfRlNJRF9U
 IDEKfCAjZGVmaW5lIFNJWkVPRl9PRkZfVCA0CnwgI2RlZmluZSBIQVZFX1NURExJQl9IIDEKfCAj
 ZGVmaW5lIEhBVkVfTUFMTE9DIDEKfCAjZGVmaW5lIEhBVkVfREVDTF9TVFJFUlJPUl9SIDEKfCAj
 ZGVmaW5lIEhBVkVfU1RSRVJST1JfUiAxCnwgI2RlZmluZSBIQVZFX0ZPUksgMQp8ICNkZWZpbmUg
 SEFWRV9WRk9SSyAxCnwgI2RlZmluZSBIQVZFX1dPUktJTkdfVkZPUksgMQp8ICNkZWZpbmUgSEFW
 RV9XT1JLSU5HX0ZPUksgMQp8ICNkZWZpbmUgSEFWRV9WUFJJTlRGIDEKfCAjZGVmaW5lIEhBVkVf
 REVDTF9TTlBSSU5URiAxCnwgI2RlZmluZSBIQVZFX0RFQ0xfVkFTUFJJTlRGIDAKfCAjZGVmaW5l
 IEhBVkVfQVNQUklOVEYgMQp8ICNkZWZpbmUgSEFWRV9FUlIgMQp8ICNkZWZpbmUgSEFWRV9GTk1B
 VENIIDEKfCAjZGVmaW5lIEhBVkVfR0VURU5WIDEKfCAjZGVmaW5lIEhBVkVfSVNCTEFOSyAxCnwg
 I2RlZmluZSBIQVZFX0xDSE9XTiAxCnwgI2RlZmluZSBIQVZFX0xVVElNRVMgMQp8ICNkZWZpbmUg
 SEFWRV9NS0RURU1QIDEKfCAjZGVmaW5lIEhBVkVfTUtTVEVNUCAxCnwgI2RlZmluZSBIQVZFX1NF
 VEVOViAxCnwgI2RlZmluZSBIQVZFX1NOUFJJTlRGIDEKfCAjZGVmaW5lIEhBVkVfU1RBVFZGUyAx
 CnwgI2RlZmluZSBIQVZFX1NUUkRVUCAxCnwgI2RlZmluZSBIQVZFX1NUUkVSUk9SIDEKfCAjZGVm
 aW5lIEhBVkVfU1RSU0VQIDEKfCAjZGVmaW5lIEhBVkVfU1RSVE9MTCAxCnwgI2RlZmluZSBIQVZF
 X1VOU0VURU5WIDEKfCAjZGVmaW5lIEhBVkVfVVNMRUVQIDEKfCAjZGVmaW5lIEhBVkVfVVRJTUVT
 IDEKfCAjZGVmaW5lIEhBVkVfV0FSTiAxCnwgI2RlZmluZSBIQVZFX0xJQk5TTCAxCnwgI2RlZmlu
 ZSBIQVZFX1NPQ0tMRU5fVCAxCnwgI2RlZmluZSBIQVZFX1NUUlVDVF9BRERSSU5GTyAxCnwgI2Rl
 ZmluZSBIQVZFX1NUUlVDVF9JTjZfQUREUiAxCnwgLyogZW5kIGNvbmZkZWZzLmguICAqLwp8ICNp
 ZmRlZiBIQVZFX1NZU19UWVBFU19ICnwgIyBpbmNsdWRlIDxzeXMvdHlwZXMuaD4KfCAjZW5kaWYK
 fCAjaW5jbHVkZSA8bmV0aW5ldC9pbi5oPgp8IAp8IAp8IGludAp8IG1haW4gKCkKfCB7CnwgaWYg
 KHNpemVvZiAoKHN0cnVjdCBzb2NrYWRkcl9pbjYpKSkKfCAJICAgIHJldHVybiAwOwp8ICAgOwp8
 ICAgcmV0dXJuIDA7CnwgfQpjb25maWd1cmU6NjM5MzogcmVzdWx0OiB5ZXMKY29uZmlndXJlOjY0
 MDg6IGNoZWNraW5nIGZvciBzdHJ1Y3Qgc29ja2FkZHJfc3RvcmFnZQpjb25maWd1cmU6NjQwODog
 Z2NjIC1jIC1nIC1PMiAgY29uZnRlc3QuYyA+JjUKY29uZmlndXJlOjY0MDg6ICQ/ID0gMApjb25m
 aWd1cmU6NjQwODogZ2NjIC1jIC1nIC1PMiAgY29uZnRlc3QuYyA+JjUKY29uZnRlc3QuYzogSW4g
 ZnVuY3Rpb24gJ21haW4nOgpjb25mdGVzdC5jOjEzMTozODogZXJyb3I6IGV4cGVjdGVkIGV4cHJl
 c3Npb24gYmVmb3JlICcpJyB0b2tlbgpjb25maWd1cmU6NjQwODogJD8gPSAxCmNvbmZpZ3VyZTog
 ZmFpbGVkIHByb2dyYW0gd2FzOgp8IC8qIGNvbmZkZWZzLmggKi8KfCAjZGVmaW5lIFBBQ0tBR0Vf
 TkFNRSAibGlibmJjb21wYXQiCnwgI2RlZmluZSBQQUNLQUdFX1RBUk5BTUUgImxpYm5iY29tcGF0
 Igp8ICNkZWZpbmUgUEFDS0FHRV9WRVJTSU9OICIyMDA4MDYwNSIKfCAjZGVmaW5lIFBBQ0tBR0Vf
 U1RSSU5HICJsaWJuYmNvbXBhdCAyMDA4MDYwNSIKfCAjZGVmaW5lIFBBQ0tBR0VfQlVHUkVQT1JU
 ICJncmFudEBOZXRCU0Qub3JnIgp8ICNkZWZpbmUgUEFDS0FHRV9VUkwgIiIKfCAjZGVmaW5lIFNU
 RENfSEVBREVSUyAxCnwgI2RlZmluZSBUSU1FX1dJVEhfU1lTX1RJTUUgMQp8ICNkZWZpbmUgSEFW
 RV9TWVNfVFlQRVNfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19TVEFUX0ggMQp8ICNkZWZpbmUgSEFW
 RV9TVERMSUJfSCAxCnwgI2RlZmluZSBIQVZFX1NUUklOR19IIDEKfCAjZGVmaW5lIEhBVkVfTUVN
 T1JZX0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJJTkdTX0ggMQp8ICNkZWZpbmUgSEFWRV9JTlRUWVBF
 U19IIDEKfCAjZGVmaW5lIEhBVkVfU1RESU5UX0ggMQp8ICNkZWZpbmUgSEFWRV9VTklTVERfSCAx
 CnwgI2RlZmluZSBIQVZFX19CT09MIDEKfCAjZGVmaW5lIEhBVkVfU1REQk9PTF9IIDEKfCAjZGVm
 aW5lIEhBVkVfQUxMT0NBX0ggMQp8ICNkZWZpbmUgSEFWRV9BU1NFUlRfSCAxCnwgI2RlZmluZSBI
 QVZFX0NUWVBFX0ggMQp8ICNkZWZpbmUgSEFWRV9ESVJFTlRfSCAxCnwgI2RlZmluZSBIQVZFX0VO
 RElBTl9IIDEKfCAjZGVmaW5lIEhBVkVfRVJSX0ggMQp8ICNkZWZpbmUgSEFWRV9FUlJOT19IIDEK
 fCAjZGVmaW5lIEhBVkVfRkNOVExfSCAxCnwgI2RlZmluZSBIQVZFX0ZOTUFUQ0hfSCAxCnwgI2Rl
 ZmluZSBIQVZFX0ZUU19IIDEKfCAjZGVmaW5lIEhBVkVfR1JQX0ggMQp8ICNkZWZpbmUgSEFWRV9J
 TlRUWVBFU19IIDEKfCAjZGVmaW5lIEhBVkVfTElCVVRJTF9IIDEKfCAjZGVmaW5lIEhBVkVfTElN
 SVRTX0ggMQp8ICNkZWZpbmUgSEFWRV9ORVREQl9IIDEKfCAjZGVmaW5lIEhBVkVfUEFUSFNfSCAx
 CnwgI2RlZmluZSBIQVZFX1BXRF9IIDEKfCAjZGVmaW5lIEhBVkVfU0lHTkFMX0ggMQp8ICNkZWZp
 bmUgSEFWRV9TVERBUkdfSCAxCnwgI2RlZmluZSBIQVZFX1NURERFRl9IIDEKfCAjZGVmaW5lIEhB
 VkVfU1RESU5UX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERJT19IIDEKfCAjZGVmaW5lIEhBVkVfU1RE
 TElCX0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJJTkdfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19DREVG
 U19IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX0RJUl9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX0ZJTEVf
 SCAxCnwgI2RlZmluZSBIQVZFX1NZU19QQVJBTV9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NPQ0tF
 VF9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NUQVRfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19TVEFU
 RlNfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19TVEFUVkZTX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNf
 VElNRV9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1RZUEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNf
 VUlPX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfVkZTX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNFWElU
 U19IIDEKfCAjZGVmaW5lIEhBVkVfVEVSTUNBUF9IIDEKfCAjZGVmaW5lIEhBVkVfVElNRV9IIDEK
 fCAjZGVmaW5lIEhBVkVfVU5JU1REX0ggMQp8ICNkZWZpbmUgSEFWRV9VVElNRV9IIDEKfCAjZGVm
 aW5lIEhBVkVfU1lTX01PVU5UX0ggMQp8ICNkZWZpbmUgSEFWRV9HTE9CX0ggMQp8ICNkZWZpbmUg
 SEFWRV9OQkNPTVBBVF9HTE9CIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1FVRVVFX0ggMQp8ICNkZWZp
 bmUgSEFWRV9OQkNPTVBBVF9RVUVVRSAxCnwgI2RlZmluZSBIQVZFX1JFR0VYX0ggMQp8ICNkZWZp
 bmUgSEFWRV9OQkNPTVBBVF9NRDUgMQp8ICNkZWZpbmUgSEFWRV9OQkNPTVBBVF9STUQxNjAgMQp8
 ICNkZWZpbmUgSEFWRV9OQkNPTVBBVF9TSEExIDEKfCAjZGVmaW5lIEhBVkVfTkJDT01QQVRfU0hB
 MiAxCnwgI2RlZmluZSBIQVZFX0RFQ0xfT1BUQVJHIDEKfCAjZGVmaW5lIEhBVkVfREVDTF9PUFRJ
 TkQgMQp8ICNkZWZpbmUgSEFWRV9ERUNMX09QVFJFU0VUIDAKfCAjZGVmaW5lIEhBVkVfR0VUT1BU
 X0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJVQ1RfT1BUSU9OIDEKfCAjZGVmaW5lIEhBVkVfVklTX0gg
 MQp8ICNkZWZpbmUgSEFWRV9OQkNPTVBBVF9WSVMgMQp8ICNkZWZpbmUgSEFWRV9fX0FUVFJJQlVU
 RV9fIDEKfCAjZGVmaW5lIEhBVkVfVUlOVFBUUl9UIDEKfCAjZGVmaW5lIEhBVkVfTE9OR19MT05H
 IDEKfCAjZGVmaW5lIEhBVkVfTE9OR19ET1VCTEUgMQp8ICNkZWZpbmUgSEFWRV9GU0lEX1QgMQp8
 ICNkZWZpbmUgU0laRU9GX09GRl9UIDQKfCAjZGVmaW5lIEhBVkVfU1RETElCX0ggMQp8ICNkZWZp
 bmUgSEFWRV9NQUxMT0MgMQp8ICNkZWZpbmUgSEFWRV9ERUNMX1NUUkVSUk9SX1IgMQp8ICNkZWZp
 bmUgSEFWRV9TVFJFUlJPUl9SIDEKfCAjZGVmaW5lIEhBVkVfRk9SSyAxCnwgI2RlZmluZSBIQVZF
 X1ZGT1JLIDEKfCAjZGVmaW5lIEhBVkVfV09SS0lOR19WRk9SSyAxCnwgI2RlZmluZSBIQVZFX1dP
 UktJTkdfRk9SSyAxCnwgI2RlZmluZSBIQVZFX1ZQUklOVEYgMQp8ICNkZWZpbmUgSEFWRV9ERUNM
 X1NOUFJJTlRGIDEKfCAjZGVmaW5lIEhBVkVfREVDTF9WQVNQUklOVEYgMAp8ICNkZWZpbmUgSEFW
 RV9BU1BSSU5URiAxCnwgI2RlZmluZSBIQVZFX0VSUiAxCnwgI2RlZmluZSBIQVZFX0ZOTUFUQ0gg
 MQp8ICNkZWZpbmUgSEFWRV9HRVRFTlYgMQp8ICNkZWZpbmUgSEFWRV9JU0JMQU5LIDEKfCAjZGVm
 aW5lIEhBVkVfTENIT1dOIDEKfCAjZGVmaW5lIEhBVkVfTFVUSU1FUyAxCnwgI2RlZmluZSBIQVZF
 X01LRFRFTVAgMQp8ICNkZWZpbmUgSEFWRV9NS1NURU1QIDEKfCAjZGVmaW5lIEhBVkVfU0VURU5W
 IDEKfCAjZGVmaW5lIEhBVkVfU05QUklOVEYgMQp8ICNkZWZpbmUgSEFWRV9TVEFUVkZTIDEKfCAj
 ZGVmaW5lIEhBVkVfU1RSRFVQIDEKfCAjZGVmaW5lIEhBVkVfU1RSRVJST1IgMQp8ICNkZWZpbmUg
 SEFWRV9TVFJTRVAgMQp8ICNkZWZpbmUgSEFWRV9TVFJUT0xMIDEKfCAjZGVmaW5lIEhBVkVfVU5T
 RVRFTlYgMQp8ICNkZWZpbmUgSEFWRV9VU0xFRVAgMQp8ICNkZWZpbmUgSEFWRV9VVElNRVMgMQp8
 ICNkZWZpbmUgSEFWRV9XQVJOIDEKfCAjZGVmaW5lIEhBVkVfTElCTlNMIDEKfCAjZGVmaW5lIEhB
 VkVfU09DS0xFTl9UIDEKfCAjZGVmaW5lIEhBVkVfU1RSVUNUX0FERFJJTkZPIDEKfCAjZGVmaW5l
 IEhBVkVfU1RSVUNUX0lONl9BRERSIDEKfCAjZGVmaW5lIEhBVkVfU1RSVUNUX1NPQ0tBRERSX0lO
 NiAxCnwgLyogZW5kIGNvbmZkZWZzLmguICAqLwp8ICNpZmRlZiBIQVZFX1NZU19UWVBFU19ICnwg
 IyBpbmNsdWRlIDxzeXMvdHlwZXMuaD4KfCAjZW5kaWYKfCAjaW5jbHVkZSA8c3lzL3NvY2tldC5o
 Pgp8IAp8IAp8IGludAp8IG1haW4gKCkKfCB7CnwgaWYgKHNpemVvZiAoKHN0cnVjdCBzb2NrYWRk
 cl9zdG9yYWdlKSkpCnwgCSAgICByZXR1cm4gMDsKfCAgIDsKfCAgIHJldHVybiAwOwp8IH0KY29u
 ZmlndXJlOjY0MDg6IHJlc3VsdDogeWVzCmNvbmZpZ3VyZTo2NDI2OiBjaGVja2luZyBmb3IgZ2V0
 bmFtZWluZm8KY29uZmlndXJlOjY0MjY6IGdjYyAtbyBjb25mdGVzdCAtZyAtTzIgICBjb25mdGVz
 dC5jIC1sbnNsICA+JjUKY29uZmlndXJlOjY0MjY6ICQ/ID0gMApjb25maWd1cmU6NjQyNjogcmVz
 dWx0OiB5ZXMKY29uZmlndXJlOjY0MjY6IGNoZWNraW5nIGZvciBnYWlfc3RyZXJyb3IKY29uZmln
 dXJlOjY0MjY6IGdjYyAtbyBjb25mdGVzdCAtZyAtTzIgICBjb25mdGVzdC5jIC1sbnNsICA+JjUK
 Y29uZmlndXJlOjY0MjY6ICQ/ID0gMApjb25maWd1cmU6NjQyNjogcmVzdWx0OiB5ZXMKY29uZmln
 dXJlOjY0MjY6IGNoZWNraW5nIGZvciBnZXRhZGRyaW5mbwpjb25maWd1cmU6NjQyNjogZ2NjIC1v
 IGNvbmZ0ZXN0IC1nIC1PMiAgIGNvbmZ0ZXN0LmMgLWxuc2wgID4mNQpjb25maWd1cmU6NjQyNjog
 JD8gPSAwCmNvbmZpZ3VyZTo2NDI2OiByZXN1bHQ6IHllcwpjb25maWd1cmU6NjQ1MDogY2hlY2tp
 bmcgZm9yIGdldGVudgpjb25maWd1cmU6NjQ1MDogcmVzdWx0OiB5ZXMKY29uZmlndXJlOjY0NTA6
 IGNoZWNraW5nIGZvciBzZXRlbnYKY29uZmlndXJlOjY0NTA6IHJlc3VsdDogeWVzCmNvbmZpZ3Vy
 ZTo2NDUwOiBjaGVja2luZyBmb3IgdW5zZXRlbnYKY29uZmlndXJlOjY0NTA6IHJlc3VsdDogeWVz
 CmNvbmZpZ3VyZTo2NDc0OiBjaGVja2luZyBmb3IgbWtkdGVtcApjb25maWd1cmU6NjQ3NDogcmVz
 dWx0OiB5ZXMKY29uZmlndXJlOjY0NzQ6IGNoZWNraW5nIGZvciBta3N0ZW1wCmNvbmZpZ3VyZTo2
 NDc0OiByZXN1bHQ6IHllcwpjb25maWd1cmU6NjQ5NzogY2hlY2tpbmcgZm9yIGJjb3B5CmNvbmZp
 Z3VyZTo2NDk3OiBnY2MgLW8gY29uZnRlc3QgLWcgLU8yICAgY29uZnRlc3QuYyAtbG5zbCAgPiY1
 CmNvbmZ0ZXN0LmM6MTU0OjY6IHdhcm5pbmc6IGNvbmZsaWN0aW5nIHR5cGVzIGZvciBidWlsdC1p
 biBmdW5jdGlvbiAnYmNvcHknIFtlbmFibGVkIGJ5IGRlZmF1bHRdCmNvbmZpZ3VyZTo2NDk3OiAk
 PyA9IDAKY29uZmlndXJlOjY0OTc6IHJlc3VsdDogeWVzCmNvbmZpZ3VyZTo2NDk3OiBjaGVja2lu
 ZyBmb3IgYnplcm8KY29uZmlndXJlOjY0OTc6IGdjYyAtbyBjb25mdGVzdCAtZyAtTzIgICBjb25m
 dGVzdC5jIC1sbnNsICA+JjUKY29uZnRlc3QuYzoxNTU6Njogd2FybmluZzogY29uZmxpY3Rpbmcg
 dHlwZXMgZm9yIGJ1aWx0LWluIGZ1bmN0aW9uICdiemVybycgW2VuYWJsZWQgYnkgZGVmYXVsdF0K
 Y29uZmlndXJlOjY0OTc6ICQ/ID0gMApjb25maWd1cmU6NjQ5NzogcmVzdWx0OiB5ZXMKY29uZmln
 dXJlOjY0OTc6IGNoZWNraW5nIGZvciBtZW1zZXQKY29uZmlndXJlOjY0OTc6IGdjYyAtbyBjb25m
 dGVzdCAtZyAtTzIgICBjb25mdGVzdC5jIC1sbnNsICA+JjUKY29uZnRlc3QuYzoxNTY6Njogd2Fy
 bmluZzogY29uZmxpY3RpbmcgdHlwZXMgZm9yIGJ1aWx0LWluIGZ1bmN0aW9uICdtZW1zZXQnIFtl
 bmFibGVkIGJ5IGRlZmF1bHRdCmNvbmZpZ3VyZTo2NDk3OiAkPyA9IDAKY29uZmlndXJlOjY0OTc6
 IHJlc3VsdDogeWVzCmNvbmZpZ3VyZTo2NDk3OiBjaGVja2luZyBmb3IgbWVtY3B5CmNvbmZpZ3Vy
 ZTo2NDk3OiBnY2MgLW8gY29uZnRlc3QgLWcgLU8yICAgY29uZnRlc3QuYyAtbG5zbCAgPiY1CmNv
 bmZ0ZXN0LmM6MTU3OjY6IHdhcm5pbmc6IGNvbmZsaWN0aW5nIHR5cGVzIGZvciBidWlsdC1pbiBm
 dW5jdGlvbiAnbWVtY3B5JyBbZW5hYmxlZCBieSBkZWZhdWx0XQpjb25maWd1cmU6NjQ5NzogJD8g
 PSAwCmNvbmZpZ3VyZTo2NDk3OiByZXN1bHQ6IHllcwpjb25maWd1cmU6NjQ5NzogY2hlY2tpbmcg
 Zm9yIHNldGxvY2FsZQpjb25maWd1cmU6NjQ5NzogZ2NjIC1vIGNvbmZ0ZXN0IC1nIC1PMiAgIGNv
 bmZ0ZXN0LmMgLWxuc2wgID4mNQpjb25maWd1cmU6NjQ5NzogJD8gPSAwCmNvbmZpZ3VyZTo2NDk3
 OiByZXN1bHQ6IHllcwpjb25maWd1cmU6NjUxMTogY2hlY2tpbmcgZm9yIGdldG1vZGUKY29uZmln
 dXJlOjY1MTE6IGdjYyAtbyBjb25mdGVzdCAtZyAtTzIgICBjb25mdGVzdC5jIC1sbnNsICA+JjUK
 L3RtcC9jY3VlaDM1Wi5vOiBJbiBmdW5jdGlvbiBgbWFpbic6Ci9tZWRpYS9zZGIyL3NyYy9wa2dz
 cmMvYm9vdHN0cmFwL3dvcmsvbGlibmJjb21wYXQvY29uZnRlc3QuYzoxNzA6IHVuZGVmaW5lZCBy
 ZWZlcmVuY2UgdG8gYGdldG1vZGUnCmNvbGxlY3QyOiBsZCByZXR1cm5lZCAxIGV4aXQgc3RhdHVz
 CmNvbmZpZ3VyZTo2NTExOiAkPyA9IDEKY29uZmlndXJlOiBmYWlsZWQgcHJvZ3JhbSB3YXM6Cnwg
 LyogY29uZmRlZnMuaCAqLwp8ICNkZWZpbmUgUEFDS0FHRV9OQU1FICJsaWJuYmNvbXBhdCIKfCAj
 ZGVmaW5lIFBBQ0tBR0VfVEFSTkFNRSAibGlibmJjb21wYXQiCnwgI2RlZmluZSBQQUNLQUdFX1ZF
 UlNJT04gIjIwMDgwNjA1Igp8ICNkZWZpbmUgUEFDS0FHRV9TVFJJTkcgImxpYm5iY29tcGF0IDIw
 MDgwNjA1Igp8ICNkZWZpbmUgUEFDS0FHRV9CVUdSRVBPUlQgImdyYW50QE5ldEJTRC5vcmciCnwg
 I2RlZmluZSBQQUNLQUdFX1VSTCAiIgp8ICNkZWZpbmUgU1REQ19IRUFERVJTIDEKfCAjZGVmaW5l
 IFRJTUVfV0lUSF9TWVNfVElNRSAxCnwgI2RlZmluZSBIQVZFX1NZU19UWVBFU19IIDEKfCAjZGVm
 aW5lIEhBVkVfU1lTX1NUQVRfSCAxCnwgI2RlZmluZSBIQVZFX1NURExJQl9IIDEKfCAjZGVmaW5l
 IEhBVkVfU1RSSU5HX0ggMQp8ICNkZWZpbmUgSEFWRV9NRU1PUllfSCAxCnwgI2RlZmluZSBIQVZF
 X1NUUklOR1NfSCAxCnwgI2RlZmluZSBIQVZFX0lOVFRZUEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9T
 VERJTlRfSCAxCnwgI2RlZmluZSBIQVZFX1VOSVNURF9IIDEKfCAjZGVmaW5lIEhBVkVfX0JPT0wg
 MQp8ICNkZWZpbmUgSEFWRV9TVERCT09MX0ggMQp8ICNkZWZpbmUgSEFWRV9BTExPQ0FfSCAxCnwg
 I2RlZmluZSBIQVZFX0FTU0VSVF9IIDEKfCAjZGVmaW5lIEhBVkVfQ1RZUEVfSCAxCnwgI2RlZmlu
 ZSBIQVZFX0RJUkVOVF9IIDEKfCAjZGVmaW5lIEhBVkVfRU5ESUFOX0ggMQp8ICNkZWZpbmUgSEFW
 RV9FUlJfSCAxCnwgI2RlZmluZSBIQVZFX0VSUk5PX0ggMQp8ICNkZWZpbmUgSEFWRV9GQ05UTF9I
 IDEKfCAjZGVmaW5lIEhBVkVfRk5NQVRDSF9IIDEKfCAjZGVmaW5lIEhBVkVfRlRTX0ggMQp8ICNk
 ZWZpbmUgSEFWRV9HUlBfSCAxCnwgI2RlZmluZSBIQVZFX0lOVFRZUEVTX0ggMQp8ICNkZWZpbmUg
 SEFWRV9MSUJVVElMX0ggMQp8ICNkZWZpbmUgSEFWRV9MSU1JVFNfSCAxCnwgI2RlZmluZSBIQVZF
 X05FVERCX0ggMQp8ICNkZWZpbmUgSEFWRV9QQVRIU19IIDEKfCAjZGVmaW5lIEhBVkVfUFdEX0gg
 MQp8ICNkZWZpbmUgSEFWRV9TSUdOQUxfSCAxCnwgI2RlZmluZSBIQVZFX1NUREFSR19IIDEKfCAj
 ZGVmaW5lIEhBVkVfU1REREVGX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERJTlRfSCAxCnwgI2RlZmlu
 ZSBIQVZFX1NURElPX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERMSUJfSCAxCnwgI2RlZmluZSBIQVZF
 X1NUUklOR19IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX0NERUZTX0ggMQp8ICNkZWZpbmUgSEFWRV9T
 WVNfRElSX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfRklMRV9IIDEKfCAjZGVmaW5lIEhBVkVfU1lT
 X1BBUkFNX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfU09DS0VUX0ggMQp8ICNkZWZpbmUgSEFWRV9T
 WVNfU1RBVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NUQVRGU19IIDEKfCAjZGVmaW5lIEhBVkVf
 U1lTX1NUQVRWRlNfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19USU1FX0ggMQp8ICNkZWZpbmUgSEFW
 RV9TWVNfVFlQRVNfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19VSU9fSCAxCnwgI2RlZmluZSBIQVZF
 X1NZU19WRlNfSCAxCnwgI2RlZmluZSBIQVZFX1NZU0VYSVRTX0ggMQp8ICNkZWZpbmUgSEFWRV9U
 RVJNQ0FQX0ggMQp8ICNkZWZpbmUgSEFWRV9USU1FX0ggMQp8ICNkZWZpbmUgSEFWRV9VTklTVERf
 SCAxCnwgI2RlZmluZSBIQVZFX1VUSU1FX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfTU9VTlRfSCAx
 CnwgI2RlZmluZSBIQVZFX0dMT0JfSCAxCnwgI2RlZmluZSBIQVZFX05CQ09NUEFUX0dMT0IgMQp8
 ICNkZWZpbmUgSEFWRV9TWVNfUVVFVUVfSCAxCnwgI2RlZmluZSBIQVZFX05CQ09NUEFUX1FVRVVF
 IDEKfCAjZGVmaW5lIEhBVkVfUkVHRVhfSCAxCnwgI2RlZmluZSBIQVZFX05CQ09NUEFUX01ENSAx
 CnwgI2RlZmluZSBIQVZFX05CQ09NUEFUX1JNRDE2MCAxCnwgI2RlZmluZSBIQVZFX05CQ09NUEFU
 X1NIQTEgMQp8ICNkZWZpbmUgSEFWRV9OQkNPTVBBVF9TSEEyIDEKfCAjZGVmaW5lIEhBVkVfREVD
 TF9PUFRBUkcgMQp8ICNkZWZpbmUgSEFWRV9ERUNMX09QVElORCAxCnwgI2RlZmluZSBIQVZFX0RF
 Q0xfT1BUUkVTRVQgMAp8ICNkZWZpbmUgSEFWRV9HRVRPUFRfSCAxCnwgI2RlZmluZSBIQVZFX1NU
 UlVDVF9PUFRJT04gMQp8ICNkZWZpbmUgSEFWRV9WSVNfSCAxCnwgI2RlZmluZSBIQVZFX05CQ09N
 UEFUX1ZJUyAxCnwgI2RlZmluZSBIQVZFX19fQVRUUklCVVRFX18gMQp8ICNkZWZpbmUgSEFWRV9V
 SU5UUFRSX1QgMQp8ICNkZWZpbmUgSEFWRV9MT05HX0xPTkcgMQp8ICNkZWZpbmUgSEFWRV9MT05H
 X0RPVUJMRSAxCnwgI2RlZmluZSBIQVZFX0ZTSURfVCAxCnwgI2RlZmluZSBTSVpFT0ZfT0ZGX1Qg
 NAp8ICNkZWZpbmUgSEFWRV9TVERMSUJfSCAxCnwgI2RlZmluZSBIQVZFX01BTExPQyAxCnwgI2Rl
 ZmluZSBIQVZFX0RFQ0xfU1RSRVJST1JfUiAxCnwgI2RlZmluZSBIQVZFX1NUUkVSUk9SX1IgMQp8
 ICNkZWZpbmUgSEFWRV9GT1JLIDEKfCAjZGVmaW5lIEhBVkVfVkZPUksgMQp8ICNkZWZpbmUgSEFW
 RV9XT1JLSU5HX1ZGT1JLIDEKfCAjZGVmaW5lIEhBVkVfV09SS0lOR19GT1JLIDEKfCAjZGVmaW5l
 IEhBVkVfVlBSSU5URiAxCnwgI2RlZmluZSBIQVZFX0RFQ0xfU05QUklOVEYgMQp8ICNkZWZpbmUg
 SEFWRV9ERUNMX1ZBU1BSSU5URiAwCnwgI2RlZmluZSBIQVZFX0FTUFJJTlRGIDEKfCAjZGVmaW5l
 IEhBVkVfRVJSIDEKfCAjZGVmaW5lIEhBVkVfRk5NQVRDSCAxCnwgI2RlZmluZSBIQVZFX0dFVEVO
 ViAxCnwgI2RlZmluZSBIQVZFX0lTQkxBTksgMQp8ICNkZWZpbmUgSEFWRV9MQ0hPV04gMQp8ICNk
 ZWZpbmUgSEFWRV9MVVRJTUVTIDEKfCAjZGVmaW5lIEhBVkVfTUtEVEVNUCAxCnwgI2RlZmluZSBI
 QVZFX01LU1RFTVAgMQp8ICNkZWZpbmUgSEFWRV9TRVRFTlYgMQp8ICNkZWZpbmUgSEFWRV9TTlBS
 SU5URiAxCnwgI2RlZmluZSBIQVZFX1NUQVRWRlMgMQp8ICNkZWZpbmUgSEFWRV9TVFJEVVAgMQp8
 ICNkZWZpbmUgSEFWRV9TVFJFUlJPUiAxCnwgI2RlZmluZSBIQVZFX1NUUlNFUCAxCnwgI2RlZmlu
 ZSBIQVZFX1NUUlRPTEwgMQp8ICNkZWZpbmUgSEFWRV9VTlNFVEVOViAxCnwgI2RlZmluZSBIQVZF
 X1VTTEVFUCAxCnwgI2RlZmluZSBIQVZFX1VUSU1FUyAxCnwgI2RlZmluZSBIQVZFX1dBUk4gMQp8
 ICNkZWZpbmUgSEFWRV9MSUJOU0wgMQp8ICNkZWZpbmUgSEFWRV9TT0NLTEVOX1QgMQp8ICNkZWZp
 bmUgSEFWRV9TVFJVQ1RfQUREUklORk8gMQp8ICNkZWZpbmUgSEFWRV9TVFJVQ1RfSU42X0FERFIg
 MQp8ICNkZWZpbmUgSEFWRV9TVFJVQ1RfU09DS0FERFJfSU42IDEKfCAjZGVmaW5lIEhBVkVfU1RS
 VUNUX1NPQ0tBRERSX1NUT1JBR0UgMQp8ICNkZWZpbmUgSEFWRV9HRVROQU1FSU5GTyAxCnwgI2Rl
 ZmluZSBIQVZFX0dBSV9TVFJFUlJPUiAxCnwgI2RlZmluZSBIQVZFX0dFVEFERFJJTkZPIDEKfCAj
 ZGVmaW5lIEhBVkVfR0VURU5WIDEKfCAjZGVmaW5lIEhBVkVfU0VURU5WIDEKfCAjZGVmaW5lIEhB
 VkVfVU5TRVRFTlYgMQp8ICNkZWZpbmUgSEFWRV9NS0RURU1QIDEKfCAjZGVmaW5lIEhBVkVfTUtT
 VEVNUCAxCnwgI2RlZmluZSBIQVZFX0JDT1BZIDEKfCAjZGVmaW5lIEhBVkVfQlpFUk8gMQp8ICNk
 ZWZpbmUgSEFWRV9NRU1TRVQgMQp8ICNkZWZpbmUgSEFWRV9NRU1DUFkgMQp8ICNkZWZpbmUgSEFW
 RV9TRVRMT0NBTEUgMQp8IC8qIGVuZCBjb25mZGVmcy5oLiAgKi8KfCAvKiBEZWZpbmUgZ2V0bW9k
 ZSB0byBhbiBpbm5vY3VvdXMgdmFyaWFudCwgaW4gY2FzZSA8bGltaXRzLmg+IGRlY2xhcmVzIGdl
 dG1vZGUuCnwgICAgRm9yIGV4YW1wbGUsIEhQLVVYIDExaSA8bGltaXRzLmg+IGRlY2xhcmVzIGdl
 dHRpbWVvZmRheS4gICovCnwgI2RlZmluZSBnZXRtb2RlIGlubm9jdW91c19nZXRtb2RlCnwgCnwg
 LyogU3lzdGVtIGhlYWRlciB0byBkZWZpbmUgX19zdHViIG1hY3JvcyBhbmQgaG9wZWZ1bGx5IGZl
 dyBwcm90b3R5cGVzLAp8ICAgICB3aGljaCBjYW4gY29uZmxpY3Qgd2l0aCBjaGFyIGdldG1vZGUg
 KCk7IGJlbG93Lgp8ICAgICBQcmVmZXIgPGxpbWl0cy5oPiB0byA8YXNzZXJ0Lmg+IGlmIF9fU1RE
 Q19fIGlzIGRlZmluZWQsIHNpbmNlCnwgICAgIDxsaW1pdHMuaD4gZXhpc3RzIGV2ZW4gb24gZnJl
 ZXN0YW5kaW5nIGNvbXBpbGVycy4gICovCnwgCnwgI2lmZGVmIF9fU1REQ19fCnwgIyBpbmNsdWRl
 IDxsaW1pdHMuaD4KfCAjZWxzZQp8ICMgaW5jbHVkZSA8YXNzZXJ0Lmg+CnwgI2VuZGlmCnwgCnwg
 I3VuZGVmIGdldG1vZGUKfCAKfCAvKiBPdmVycmlkZSBhbnkgR0NDIGludGVybmFsIHByb3RvdHlw
 ZSB0byBhdm9pZCBhbiBlcnJvci4KfCAgICBVc2UgY2hhciBiZWNhdXNlIGludCBtaWdodCBtYXRj
 aCB0aGUgcmV0dXJuIHR5cGUgb2YgYSBHQ0MKfCAgICBidWlsdGluIGFuZCB0aGVuIGl0cyBhcmd1
 bWVudCBwcm90b3R5cGUgd291bGQgc3RpbGwgYXBwbHkuICAqLwp8ICNpZmRlZiBfX2NwbHVzcGx1
 cwp8IGV4dGVybiAiQyIKfCAjZW5kaWYKfCBjaGFyIGdldG1vZGUgKCk7CnwgLyogVGhlIEdOVSBD
 IGxpYnJhcnkgZGVmaW5lcyB0aGlzIGZvciBmdW5jdGlvbnMgd2hpY2ggaXQgaW1wbGVtZW50cwp8
 ICAgICB0byBhbHdheXMgZmFpbCB3aXRoIEVOT1NZUy4gIFNvbWUgZnVuY3Rpb25zIGFyZSBhY3R1
 YWxseSBuYW1lZAp8ICAgICBzb21ldGhpbmcgc3RhcnRpbmcgd2l0aCBfXyBhbmQgdGhlIG5vcm1h
 bCBuYW1lIGlzIGFuIGFsaWFzLiAgKi8KfCAjaWYgZGVmaW5lZCBfX3N0dWJfZ2V0bW9kZSB8fCBk
 ZWZpbmVkIF9fc3R1Yl9fX2dldG1vZGUKfCBjaG9rZSBtZQp8ICNlbmRpZgp8IAp8IGludAp8IG1h
 aW4gKCkKfCB7CnwgcmV0dXJuIGdldG1vZGUgKCk7CnwgICA7CnwgICByZXR1cm4gMDsKfCB9CmNv
 bmZpZ3VyZTo2NTExOiByZXN1bHQ6IG5vCmNvbmZpZ3VyZTo2NTExOiBjaGVja2luZyBmb3Igc2V0
 bW9kZQpjb25maWd1cmU6NjUxMTogZ2NjIC1vIGNvbmZ0ZXN0IC1nIC1PMiAgIGNvbmZ0ZXN0LmMg
 LWxuc2wgID4mNQovdG1wL2NjOW1PQk9iLm86IEluIGZ1bmN0aW9uIGBtYWluJzoKL21lZGlhL3Nk
 YjIvc3JjL3BrZ3NyYy9ib290c3RyYXAvd29yay9saWJuYmNvbXBhdC9jb25mdGVzdC5jOjE3MDog
 dW5kZWZpbmVkIHJlZmVyZW5jZSB0byBgc2V0bW9kZScKY29sbGVjdDI6IGxkIHJldHVybmVkIDEg
 ZXhpdCBzdGF0dXMKY29uZmlndXJlOjY1MTE6ICQ/ID0gMQpjb25maWd1cmU6IGZhaWxlZCBwcm9n
 cmFtIHdhczoKfCAvKiBjb25mZGVmcy5oICovCnwgI2RlZmluZSBQQUNLQUdFX05BTUUgImxpYm5i
 Y29tcGF0Igp8ICNkZWZpbmUgUEFDS0FHRV9UQVJOQU1FICJsaWJuYmNvbXBhdCIKfCAjZGVmaW5l
 IFBBQ0tBR0VfVkVSU0lPTiAiMjAwODA2MDUiCnwgI2RlZmluZSBQQUNLQUdFX1NUUklORyAibGli
 bmJjb21wYXQgMjAwODA2MDUiCnwgI2RlZmluZSBQQUNLQUdFX0JVR1JFUE9SVCAiZ3JhbnRATmV0
 QlNELm9yZyIKfCAjZGVmaW5lIFBBQ0tBR0VfVVJMICIiCnwgI2RlZmluZSBTVERDX0hFQURFUlMg
 MQp8ICNkZWZpbmUgVElNRV9XSVRIX1NZU19USU1FIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1RZUEVT
 X0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfU1RBVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1RETElCX0gg
 MQp8ICNkZWZpbmUgSEFWRV9TVFJJTkdfSCAxCnwgI2RlZmluZSBIQVZFX01FTU9SWV9IIDEKfCAj
 ZGVmaW5lIEhBVkVfU1RSSU5HU19IIDEKfCAjZGVmaW5lIEhBVkVfSU5UVFlQRVNfSCAxCnwgI2Rl
 ZmluZSBIQVZFX1NURElOVF9IIDEKfCAjZGVmaW5lIEhBVkVfVU5JU1REX0ggMQp8ICNkZWZpbmUg
 SEFWRV9fQk9PTCAxCnwgI2RlZmluZSBIQVZFX1NUREJPT0xfSCAxCnwgI2RlZmluZSBIQVZFX0FM
 TE9DQV9IIDEKfCAjZGVmaW5lIEhBVkVfQVNTRVJUX0ggMQp8ICNkZWZpbmUgSEFWRV9DVFlQRV9I
 IDEKfCAjZGVmaW5lIEhBVkVfRElSRU5UX0ggMQp8ICNkZWZpbmUgSEFWRV9FTkRJQU5fSCAxCnwg
 I2RlZmluZSBIQVZFX0VSUl9IIDEKfCAjZGVmaW5lIEhBVkVfRVJSTk9fSCAxCnwgI2RlZmluZSBI
 QVZFX0ZDTlRMX0ggMQp8ICNkZWZpbmUgSEFWRV9GTk1BVENIX0ggMQp8ICNkZWZpbmUgSEFWRV9G
 VFNfSCAxCnwgI2RlZmluZSBIQVZFX0dSUF9IIDEKfCAjZGVmaW5lIEhBVkVfSU5UVFlQRVNfSCAx
 CnwgI2RlZmluZSBIQVZFX0xJQlVUSUxfSCAxCnwgI2RlZmluZSBIQVZFX0xJTUlUU19IIDEKfCAj
 ZGVmaW5lIEhBVkVfTkVUREJfSCAxCnwgI2RlZmluZSBIQVZFX1BBVEhTX0ggMQp8ICNkZWZpbmUg
 SEFWRV9QV0RfSCAxCnwgI2RlZmluZSBIQVZFX1NJR05BTF9IIDEKfCAjZGVmaW5lIEhBVkVfU1RE
 QVJHX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERERUZfSCAxCnwgI2RlZmluZSBIQVZFX1NURElOVF9I
 IDEKfCAjZGVmaW5lIEhBVkVfU1RESU9fSCAxCnwgI2RlZmluZSBIQVZFX1NURExJQl9IIDEKfCAj
 ZGVmaW5lIEhBVkVfU1RSSU5HX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfQ0RFRlNfSCAxCnwgI2Rl
 ZmluZSBIQVZFX1NZU19ESVJfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19GSUxFX0ggMQp8ICNkZWZp
 bmUgSEFWRV9TWVNfUEFSQU1fSCAxCnwgI2RlZmluZSBIQVZFX1NZU19TT0NLRVRfSCAxCnwgI2Rl
 ZmluZSBIQVZFX1NZU19TVEFUX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfU1RBVEZTX0ggMQp8ICNk
 ZWZpbmUgSEFWRV9TWVNfU1RBVFZGU19IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1RJTUVfSCAxCnwg
 I2RlZmluZSBIQVZFX1NZU19UWVBFU19IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1VJT19IIDEKfCAj
 ZGVmaW5lIEhBVkVfU1lTX1ZGU19IIDEKfCAjZGVmaW5lIEhBVkVfU1lTRVhJVFNfSCAxCnwgI2Rl
 ZmluZSBIQVZFX1RFUk1DQVBfSCAxCnwgI2RlZmluZSBIQVZFX1RJTUVfSCAxCnwgI2RlZmluZSBI
 QVZFX1VOSVNURF9IIDEKfCAjZGVmaW5lIEhBVkVfVVRJTUVfSCAxCnwgI2RlZmluZSBIQVZFX1NZ
 U19NT1VOVF9IIDEKfCAjZGVmaW5lIEhBVkVfR0xPQl9IIDEKfCAjZGVmaW5lIEhBVkVfTkJDT01Q
 QVRfR0xPQiAxCnwgI2RlZmluZSBIQVZFX1NZU19RVUVVRV9IIDEKfCAjZGVmaW5lIEhBVkVfTkJD
 T01QQVRfUVVFVUUgMQp8ICNkZWZpbmUgSEFWRV9SRUdFWF9IIDEKfCAjZGVmaW5lIEhBVkVfTkJD
 T01QQVRfTUQ1IDEKfCAjZGVmaW5lIEhBVkVfTkJDT01QQVRfUk1EMTYwIDEKfCAjZGVmaW5lIEhB
 VkVfTkJDT01QQVRfU0hBMSAxCnwgI2RlZmluZSBIQVZFX05CQ09NUEFUX1NIQTIgMQp8ICNkZWZp
 bmUgSEFWRV9ERUNMX09QVEFSRyAxCnwgI2RlZmluZSBIQVZFX0RFQ0xfT1BUSU5EIDEKfCAjZGVm
 aW5lIEhBVkVfREVDTF9PUFRSRVNFVCAwCnwgI2RlZmluZSBIQVZFX0dFVE9QVF9IIDEKfCAjZGVm
 aW5lIEhBVkVfU1RSVUNUX09QVElPTiAxCnwgI2RlZmluZSBIQVZFX1ZJU19IIDEKfCAjZGVmaW5l
 IEhBVkVfTkJDT01QQVRfVklTIDEKfCAjZGVmaW5lIEhBVkVfX19BVFRSSUJVVEVfXyAxCnwgI2Rl
 ZmluZSBIQVZFX1VJTlRQVFJfVCAxCnwgI2RlZmluZSBIQVZFX0xPTkdfTE9ORyAxCnwgI2RlZmlu
 ZSBIQVZFX0xPTkdfRE9VQkxFIDEKfCAjZGVmaW5lIEhBVkVfRlNJRF9UIDEKfCAjZGVmaW5lIFNJ
 WkVPRl9PRkZfVCA0CnwgI2RlZmluZSBIQVZFX1NURExJQl9IIDEKfCAjZGVmaW5lIEhBVkVfTUFM
 TE9DIDEKfCAjZGVmaW5lIEhBVkVfREVDTF9TVFJFUlJPUl9SIDEKfCAjZGVmaW5lIEhBVkVfU1RS
 RVJST1JfUiAxCnwgI2RlZmluZSBIQVZFX0ZPUksgMQp8ICNkZWZpbmUgSEFWRV9WRk9SSyAxCnwg
 I2RlZmluZSBIQVZFX1dPUktJTkdfVkZPUksgMQp8ICNkZWZpbmUgSEFWRV9XT1JLSU5HX0ZPUksg
 MQp8ICNkZWZpbmUgSEFWRV9WUFJJTlRGIDEKfCAjZGVmaW5lIEhBVkVfREVDTF9TTlBSSU5URiAx
 CnwgI2RlZmluZSBIQVZFX0RFQ0xfVkFTUFJJTlRGIDAKfCAjZGVmaW5lIEhBVkVfQVNQUklOVEYg
 MQp8ICNkZWZpbmUgSEFWRV9FUlIgMQp8ICNkZWZpbmUgSEFWRV9GTk1BVENIIDEKfCAjZGVmaW5l
 IEhBVkVfR0VURU5WIDEKfCAjZGVmaW5lIEhBVkVfSVNCTEFOSyAxCnwgI2RlZmluZSBIQVZFX0xD
 SE9XTiAxCnwgI2RlZmluZSBIQVZFX0xVVElNRVMgMQp8ICNkZWZpbmUgSEFWRV9NS0RURU1QIDEK
 fCAjZGVmaW5lIEhBVkVfTUtTVEVNUCAxCnwgI2RlZmluZSBIQVZFX1NFVEVOViAxCnwgI2RlZmlu
 ZSBIQVZFX1NOUFJJTlRGIDEKfCAjZGVmaW5lIEhBVkVfU1RBVFZGUyAxCnwgI2RlZmluZSBIQVZF
 X1NUUkRVUCAxCnwgI2RlZmluZSBIQVZFX1NUUkVSUk9SIDEKfCAjZGVmaW5lIEhBVkVfU1RSU0VQ
 IDEKfCAjZGVmaW5lIEhBVkVfU1RSVE9MTCAxCnwgI2RlZmluZSBIQVZFX1VOU0VURU5WIDEKfCAj
 ZGVmaW5lIEhBVkVfVVNMRUVQIDEKfCAjZGVmaW5lIEhBVkVfVVRJTUVTIDEKfCAjZGVmaW5lIEhB
 VkVfV0FSTiAxCnwgI2RlZmluZSBIQVZFX0xJQk5TTCAxCnwgI2RlZmluZSBIQVZFX1NPQ0tMRU5f
 VCAxCnwgI2RlZmluZSBIQVZFX1NUUlVDVF9BRERSSU5GTyAxCnwgI2RlZmluZSBIQVZFX1NUUlVD
 VF9JTjZfQUREUiAxCnwgI2RlZmluZSBIQVZFX1NUUlVDVF9TT0NLQUREUl9JTjYgMQp8ICNkZWZp
 bmUgSEFWRV9TVFJVQ1RfU09DS0FERFJfU1RPUkFHRSAxCnwgI2RlZmluZSBIQVZFX0dFVE5BTUVJ
 TkZPIDEKfCAjZGVmaW5lIEhBVkVfR0FJX1NUUkVSUk9SIDEKfCAjZGVmaW5lIEhBVkVfR0VUQURE
 UklORk8gMQp8ICNkZWZpbmUgSEFWRV9HRVRFTlYgMQp8ICNkZWZpbmUgSEFWRV9TRVRFTlYgMQp8
 ICNkZWZpbmUgSEFWRV9VTlNFVEVOViAxCnwgI2RlZmluZSBIQVZFX01LRFRFTVAgMQp8ICNkZWZp
 bmUgSEFWRV9NS1NURU1QIDEKfCAjZGVmaW5lIEhBVkVfQkNPUFkgMQp8ICNkZWZpbmUgSEFWRV9C
 WkVSTyAxCnwgI2RlZmluZSBIQVZFX01FTVNFVCAxCnwgI2RlZmluZSBIQVZFX01FTUNQWSAxCnwg
 I2RlZmluZSBIQVZFX1NFVExPQ0FMRSAxCnwgLyogZW5kIGNvbmZkZWZzLmguICAqLwp8IC8qIERl
 ZmluZSBzZXRtb2RlIHRvIGFuIGlubm9jdW91cyB2YXJpYW50LCBpbiBjYXNlIDxsaW1pdHMuaD4g
 ZGVjbGFyZXMgc2V0bW9kZS4KfCAgICBGb3IgZXhhbXBsZSwgSFAtVVggMTFpIDxsaW1pdHMuaD4g
 ZGVjbGFyZXMgZ2V0dGltZW9mZGF5LiAgKi8KfCAjZGVmaW5lIHNldG1vZGUgaW5ub2N1b3VzX3Nl
 dG1vZGUKfCAKfCAvKiBTeXN0ZW0gaGVhZGVyIHRvIGRlZmluZSBfX3N0dWIgbWFjcm9zIGFuZCBo
 b3BlZnVsbHkgZmV3IHByb3RvdHlwZXMsCnwgICAgIHdoaWNoIGNhbiBjb25mbGljdCB3aXRoIGNo
 YXIgc2V0bW9kZSAoKTsgYmVsb3cuCnwgICAgIFByZWZlciA8bGltaXRzLmg+IHRvIDxhc3NlcnQu
 aD4gaWYgX19TVERDX18gaXMgZGVmaW5lZCwgc2luY2UKfCAgICAgPGxpbWl0cy5oPiBleGlzdHMg
 ZXZlbiBvbiBmcmVlc3RhbmRpbmcgY29tcGlsZXJzLiAgKi8KfCAKfCAjaWZkZWYgX19TVERDX18K
 fCAjIGluY2x1ZGUgPGxpbWl0cy5oPgp8ICNlbHNlCnwgIyBpbmNsdWRlIDxhc3NlcnQuaD4KfCAj
 ZW5kaWYKfCAKfCAjdW5kZWYgc2V0bW9kZQp8IAp8IC8qIE92ZXJyaWRlIGFueSBHQ0MgaW50ZXJu
 YWwgcHJvdG90eXBlIHRvIGF2b2lkIGFuIGVycm9yLgp8ICAgIFVzZSBjaGFyIGJlY2F1c2UgaW50
 IG1pZ2h0IG1hdGNoIHRoZSByZXR1cm4gdHlwZSBvZiBhIEdDQwp8ICAgIGJ1aWx0aW4gYW5kIHRo
 ZW4gaXRzIGFyZ3VtZW50IHByb3RvdHlwZSB3b3VsZCBzdGlsbCBhcHBseS4gICovCnwgI2lmZGVm
 IF9fY3BsdXNwbHVzCnwgZXh0ZXJuICJDIgp8ICNlbmRpZgp8IGNoYXIgc2V0bW9kZSAoKTsKfCAv
 KiBUaGUgR05VIEMgbGlicmFyeSBkZWZpbmVzIHRoaXMgZm9yIGZ1bmN0aW9ucyB3aGljaCBpdCBp
 bXBsZW1lbnRzCnwgICAgIHRvIGFsd2F5cyBmYWlsIHdpdGggRU5PU1lTLiAgU29tZSBmdW5jdGlv
 bnMgYXJlIGFjdHVhbGx5IG5hbWVkCnwgICAgIHNvbWV0aGluZyBzdGFydGluZyB3aXRoIF9fIGFu
 ZCB0aGUgbm9ybWFsIG5hbWUgaXMgYW4gYWxpYXMuICAqLwp8ICNpZiBkZWZpbmVkIF9fc3R1Yl9z
 ZXRtb2RlIHx8IGRlZmluZWQgX19zdHViX19fc2V0bW9kZQp8IGNob2tlIG1lCnwgI2VuZGlmCnwg
 CnwgaW50CnwgbWFpbiAoKQp8IHsKfCByZXR1cm4gc2V0bW9kZSAoKTsKfCAgIDsKfCAgIHJldHVy
 biAwOwp8IH0KY29uZmlndXJlOjY1MTE6IHJlc3VsdDogbm8KY29uZmlndXJlOjY1MzI6IGNoZWNr
 aW5nIHdoZXRoZXIgZW5kZ3JlbnQgaXMgZGVjbGFyZWQKY29uZmlndXJlOjY1MzI6IGdjYyAtYyAt
 ZyAtTzIgIGNvbmZ0ZXN0LmMgPiY1CmNvbmZ0ZXN0LmM6IEluIGZ1bmN0aW9uICdtYWluJzoKY29u
 ZnRlc3QuYzoxNzY6MTA6IGVycm9yOiAnZW5kZ3JlbnQnIHVuZGVjbGFyZWQgKGZpcnN0IHVzZSBp
 biB0aGlzIGZ1bmN0aW9uKQpjb25mdGVzdC5jOjE3NjoxMDogbm90ZTogZWFjaCB1bmRlY2xhcmVk
 IGlkZW50aWZpZXIgaXMgcmVwb3J0ZWQgb25seSBvbmNlIGZvciBlYWNoIGZ1bmN0aW9uIGl0IGFw
 cGVhcnMgaW4KY29uZmlndXJlOjY1MzI6ICQ/ID0gMQpjb25maWd1cmU6IGZhaWxlZCBwcm9ncmFt
 IHdhczoKfCAvKiBjb25mZGVmcy5oICovCnwgI2RlZmluZSBQQUNLQUdFX05BTUUgImxpYm5iY29t
 cGF0Igp8ICNkZWZpbmUgUEFDS0FHRV9UQVJOQU1FICJsaWJuYmNvbXBhdCIKfCAjZGVmaW5lIFBB
 Q0tBR0VfVkVSU0lPTiAiMjAwODA2MDUiCnwgI2RlZmluZSBQQUNLQUdFX1NUUklORyAibGlibmJj
 b21wYXQgMjAwODA2MDUiCnwgI2RlZmluZSBQQUNLQUdFX0JVR1JFUE9SVCAiZ3JhbnRATmV0QlNE
 Lm9yZyIKfCAjZGVmaW5lIFBBQ0tBR0VfVVJMICIiCnwgI2RlZmluZSBTVERDX0hFQURFUlMgMQp8
 ICNkZWZpbmUgVElNRV9XSVRIX1NZU19USU1FIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1RZUEVTX0gg
 MQp8ICNkZWZpbmUgSEFWRV9TWVNfU1RBVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1RETElCX0ggMQp8
 ICNkZWZpbmUgSEFWRV9TVFJJTkdfSCAxCnwgI2RlZmluZSBIQVZFX01FTU9SWV9IIDEKfCAjZGVm
 aW5lIEhBVkVfU1RSSU5HU19IIDEKfCAjZGVmaW5lIEhBVkVfSU5UVFlQRVNfSCAxCnwgI2RlZmlu
 ZSBIQVZFX1NURElOVF9IIDEKfCAjZGVmaW5lIEhBVkVfVU5JU1REX0ggMQp8ICNkZWZpbmUgSEFW
 RV9fQk9PTCAxCnwgI2RlZmluZSBIQVZFX1NUREJPT0xfSCAxCnwgI2RlZmluZSBIQVZFX0FMTE9D
 QV9IIDEKfCAjZGVmaW5lIEhBVkVfQVNTRVJUX0ggMQp8ICNkZWZpbmUgSEFWRV9DVFlQRV9IIDEK
 fCAjZGVmaW5lIEhBVkVfRElSRU5UX0ggMQp8ICNkZWZpbmUgSEFWRV9FTkRJQU5fSCAxCnwgI2Rl
 ZmluZSBIQVZFX0VSUl9IIDEKfCAjZGVmaW5lIEhBVkVfRVJSTk9fSCAxCnwgI2RlZmluZSBIQVZF
 X0ZDTlRMX0ggMQp8ICNkZWZpbmUgSEFWRV9GTk1BVENIX0ggMQp8ICNkZWZpbmUgSEFWRV9GVFNf
 SCAxCnwgI2RlZmluZSBIQVZFX0dSUF9IIDEKfCAjZGVmaW5lIEhBVkVfSU5UVFlQRVNfSCAxCnwg
 I2RlZmluZSBIQVZFX0xJQlVUSUxfSCAxCnwgI2RlZmluZSBIQVZFX0xJTUlUU19IIDEKfCAjZGVm
 aW5lIEhBVkVfTkVUREJfSCAxCnwgI2RlZmluZSBIQVZFX1BBVEhTX0ggMQp8ICNkZWZpbmUgSEFW
 RV9QV0RfSCAxCnwgI2RlZmluZSBIQVZFX1NJR05BTF9IIDEKfCAjZGVmaW5lIEhBVkVfU1REQVJH
 X0ggMQp8ICNkZWZpbmUgSEFWRV9TVERERUZfSCAxCnwgI2RlZmluZSBIQVZFX1NURElOVF9IIDEK
 fCAjZGVmaW5lIEhBVkVfU1RESU9fSCAxCnwgI2RlZmluZSBIQVZFX1NURExJQl9IIDEKfCAjZGVm
 aW5lIEhBVkVfU1RSSU5HX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfQ0RFRlNfSCAxCnwgI2RlZmlu
 ZSBIQVZFX1NZU19ESVJfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19GSUxFX0ggMQp8ICNkZWZpbmUg
 SEFWRV9TWVNfUEFSQU1fSCAxCnwgI2RlZmluZSBIQVZFX1NZU19TT0NLRVRfSCAxCnwgI2RlZmlu
 ZSBIQVZFX1NZU19TVEFUX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfU1RBVEZTX0ggMQp8ICNkZWZp
 bmUgSEFWRV9TWVNfU1RBVFZGU19IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1RJTUVfSCAxCnwgI2Rl
 ZmluZSBIQVZFX1NZU19UWVBFU19IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1VJT19IIDEKfCAjZGVm
 aW5lIEhBVkVfU1lTX1ZGU19IIDEKfCAjZGVmaW5lIEhBVkVfU1lTRVhJVFNfSCAxCnwgI2RlZmlu
 ZSBIQVZFX1RFUk1DQVBfSCAxCnwgI2RlZmluZSBIQVZFX1RJTUVfSCAxCnwgI2RlZmluZSBIQVZF
 X1VOSVNURF9IIDEKfCAjZGVmaW5lIEhBVkVfVVRJTUVfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19N
 T1VOVF9IIDEKfCAjZGVmaW5lIEhBVkVfR0xPQl9IIDEKfCAjZGVmaW5lIEhBVkVfTkJDT01QQVRf
 R0xPQiAxCnwgI2RlZmluZSBIQVZFX1NZU19RVUVVRV9IIDEKfCAjZGVmaW5lIEhBVkVfTkJDT01Q
 QVRfUVVFVUUgMQp8ICNkZWZpbmUgSEFWRV9SRUdFWF9IIDEKfCAjZGVmaW5lIEhBVkVfTkJDT01Q
 QVRfTUQ1IDEKfCAjZGVmaW5lIEhBVkVfTkJDT01QQVRfUk1EMTYwIDEKfCAjZGVmaW5lIEhBVkVf
 TkJDT01QQVRfU0hBMSAxCnwgI2RlZmluZSBIQVZFX05CQ09NUEFUX1NIQTIgMQp8ICNkZWZpbmUg
 SEFWRV9ERUNMX09QVEFSRyAxCnwgI2RlZmluZSBIQVZFX0RFQ0xfT1BUSU5EIDEKfCAjZGVmaW5l
 IEhBVkVfREVDTF9PUFRSRVNFVCAwCnwgI2RlZmluZSBIQVZFX0dFVE9QVF9IIDEKfCAjZGVmaW5l
 IEhBVkVfU1RSVUNUX09QVElPTiAxCnwgI2RlZmluZSBIQVZFX1ZJU19IIDEKfCAjZGVmaW5lIEhB
 VkVfTkJDT01QQVRfVklTIDEKfCAjZGVmaW5lIEhBVkVfX19BVFRSSUJVVEVfXyAxCnwgI2RlZmlu
 ZSBIQVZFX1VJTlRQVFJfVCAxCnwgI2RlZmluZSBIQVZFX0xPTkdfTE9ORyAxCnwgI2RlZmluZSBI
 QVZFX0xPTkdfRE9VQkxFIDEKfCAjZGVmaW5lIEhBVkVfRlNJRF9UIDEKfCAjZGVmaW5lIFNJWkVP
 Rl9PRkZfVCA0CnwgI2RlZmluZSBIQVZFX1NURExJQl9IIDEKfCAjZGVmaW5lIEhBVkVfTUFMTE9D
 IDEKfCAjZGVmaW5lIEhBVkVfREVDTF9TVFJFUlJPUl9SIDEKfCAjZGVmaW5lIEhBVkVfU1RSRVJS
 T1JfUiAxCnwgI2RlZmluZSBIQVZFX0ZPUksgMQp8ICNkZWZpbmUgSEFWRV9WRk9SSyAxCnwgI2Rl
 ZmluZSBIQVZFX1dPUktJTkdfVkZPUksgMQp8ICNkZWZpbmUgSEFWRV9XT1JLSU5HX0ZPUksgMQp8
 ICNkZWZpbmUgSEFWRV9WUFJJTlRGIDEKfCAjZGVmaW5lIEhBVkVfREVDTF9TTlBSSU5URiAxCnwg
 I2RlZmluZSBIQVZFX0RFQ0xfVkFTUFJJTlRGIDAKfCAjZGVmaW5lIEhBVkVfQVNQUklOVEYgMQp8
 ICNkZWZpbmUgSEFWRV9FUlIgMQp8ICNkZWZpbmUgSEFWRV9GTk1BVENIIDEKfCAjZGVmaW5lIEhB
 VkVfR0VURU5WIDEKfCAjZGVmaW5lIEhBVkVfSVNCTEFOSyAxCnwgI2RlZmluZSBIQVZFX0xDSE9X
 TiAxCnwgI2RlZmluZSBIQVZFX0xVVElNRVMgMQp8ICNkZWZpbmUgSEFWRV9NS0RURU1QIDEKfCAj
 ZGVmaW5lIEhBVkVfTUtTVEVNUCAxCnwgI2RlZmluZSBIQVZFX1NFVEVOViAxCnwgI2RlZmluZSBI
 QVZFX1NOUFJJTlRGIDEKfCAjZGVmaW5lIEhBVkVfU1RBVFZGUyAxCnwgI2RlZmluZSBIQVZFX1NU
 UkRVUCAxCnwgI2RlZmluZSBIQVZFX1NUUkVSUk9SIDEKfCAjZGVmaW5lIEhBVkVfU1RSU0VQIDEK
 fCAjZGVmaW5lIEhBVkVfU1RSVE9MTCAxCnwgI2RlZmluZSBIQVZFX1VOU0VURU5WIDEKfCAjZGVm
 aW5lIEhBVkVfVVNMRUVQIDEKfCAjZGVmaW5lIEhBVkVfVVRJTUVTIDEKfCAjZGVmaW5lIEhBVkVf
 V0FSTiAxCnwgI2RlZmluZSBIQVZFX0xJQk5TTCAxCnwgI2RlZmluZSBIQVZFX1NPQ0tMRU5fVCAx
 CnwgI2RlZmluZSBIQVZFX1NUUlVDVF9BRERSSU5GTyAxCnwgI2RlZmluZSBIQVZFX1NUUlVDVF9J
 TjZfQUREUiAxCnwgI2RlZmluZSBIQVZFX1NUUlVDVF9TT0NLQUREUl9JTjYgMQp8ICNkZWZpbmUg
 SEFWRV9TVFJVQ1RfU09DS0FERFJfU1RPUkFHRSAxCnwgI2RlZmluZSBIQVZFX0dFVE5BTUVJTkZP
 IDEKfCAjZGVmaW5lIEhBVkVfR0FJX1NUUkVSUk9SIDEKfCAjZGVmaW5lIEhBVkVfR0VUQUREUklO
 Rk8gMQp8ICNkZWZpbmUgSEFWRV9HRVRFTlYgMQp8ICNkZWZpbmUgSEFWRV9TRVRFTlYgMQp8ICNk
 ZWZpbmUgSEFWRV9VTlNFVEVOViAxCnwgI2RlZmluZSBIQVZFX01LRFRFTVAgMQp8ICNkZWZpbmUg
 SEFWRV9NS1NURU1QIDEKfCAjZGVmaW5lIEhBVkVfQkNPUFkgMQp8ICNkZWZpbmUgSEFWRV9CWkVS
 TyAxCnwgI2RlZmluZSBIQVZFX01FTVNFVCAxCnwgI2RlZmluZSBIQVZFX01FTUNQWSAxCnwgI2Rl
 ZmluZSBIQVZFX1NFVExPQ0FMRSAxCnwgLyogZW5kIGNvbmZkZWZzLmguICAqLwp8ICNpbmNsdWRl
 IDxzdGRpby5oPgp8ICNpZmRlZiBIQVZFX1NZU19UWVBFU19ICnwgIyBpbmNsdWRlIDxzeXMvdHlw
 ZXMuaD4KfCAjZW5kaWYKfCAjaWZkZWYgSEFWRV9TWVNfU1RBVF9ICnwgIyBpbmNsdWRlIDxzeXMv
 c3RhdC5oPgp8ICNlbmRpZgp8ICNpZmRlZiBTVERDX0hFQURFUlMKfCAjIGluY2x1ZGUgPHN0ZGxp
 Yi5oPgp8ICMgaW5jbHVkZSA8c3RkZGVmLmg+CnwgI2Vsc2UKfCAjIGlmZGVmIEhBVkVfU1RETElC
 X0gKfCAjICBpbmNsdWRlIDxzdGRsaWIuaD4KfCAjIGVuZGlmCnwgI2VuZGlmCnwgI2lmZGVmIEhB
 VkVfU1RSSU5HX0gKfCAjIGlmICFkZWZpbmVkIFNURENfSEVBREVSUyAmJiBkZWZpbmVkIEhBVkVf
 TUVNT1JZX0gKfCAjICBpbmNsdWRlIDxtZW1vcnkuaD4KfCAjIGVuZGlmCnwgIyBpbmNsdWRlIDxz
 dHJpbmcuaD4KfCAjZW5kaWYKfCAjaWZkZWYgSEFWRV9TVFJJTkdTX0gKfCAjIGluY2x1ZGUgPHN0
 cmluZ3MuaD4KfCAjZW5kaWYKfCAjaWZkZWYgSEFWRV9JTlRUWVBFU19ICnwgIyBpbmNsdWRlIDxp
 bnR0eXBlcy5oPgp8ICNlbmRpZgp8ICNpZmRlZiBIQVZFX1NURElOVF9ICnwgIyBpbmNsdWRlIDxz
 dGRpbnQuaD4KfCAjZW5kaWYKfCAjaWZkZWYgSEFWRV9VTklTVERfSAp8ICMgaW5jbHVkZSA8dW5p
 c3RkLmg+CnwgI2VuZGlmCnwgaW50CnwgbWFpbiAoKQp8IHsKfCAjaWZuZGVmIGVuZGdyZW50Cnwg
 I2lmZGVmIF9fY3BsdXNwbHVzCnwgICAodm9pZCkgZW5kZ3JlbnQ7CnwgI2Vsc2UKfCAgICh2b2lk
 KSBlbmRncmVudDsKfCAjZW5kaWYKfCAjZW5kaWYKfCAKfCAgIDsKfCAgIHJldHVybiAwOwp8IH0K
 Y29uZmlndXJlOjY1MzI6IHJlc3VsdDogbm8KY29uZmlndXJlOjY1NDI6IGNoZWNraW5nIHdoZXRo
 ZXIgZW5kcHdlbnQgaXMgZGVjbGFyZWQKY29uZmlndXJlOjY1NDI6IGdjYyAtYyAtZyAtTzIgIGNv
 bmZ0ZXN0LmMgPiY1CmNvbmZ0ZXN0LmM6IEluIGZ1bmN0aW9uICdtYWluJzoKY29uZnRlc3QuYzox
 Nzc6MTA6IGVycm9yOiAnZW5kcHdlbnQnIHVuZGVjbGFyZWQgKGZpcnN0IHVzZSBpbiB0aGlzIGZ1
 bmN0aW9uKQpjb25mdGVzdC5jOjE3NzoxMDogbm90ZTogZWFjaCB1bmRlY2xhcmVkIGlkZW50aWZp
 ZXIgaXMgcmVwb3J0ZWQgb25seSBvbmNlIGZvciBlYWNoIGZ1bmN0aW9uIGl0IGFwcGVhcnMgaW4K
 Y29uZmlndXJlOjY1NDI6ICQ/ID0gMQpjb25maWd1cmU6IGZhaWxlZCBwcm9ncmFtIHdhczoKfCAv
 KiBjb25mZGVmcy5oICovCnwgI2RlZmluZSBQQUNLQUdFX05BTUUgImxpYm5iY29tcGF0Igp8ICNk
 ZWZpbmUgUEFDS0FHRV9UQVJOQU1FICJsaWJuYmNvbXBhdCIKfCAjZGVmaW5lIFBBQ0tBR0VfVkVS
 U0lPTiAiMjAwODA2MDUiCnwgI2RlZmluZSBQQUNLQUdFX1NUUklORyAibGlibmJjb21wYXQgMjAw
 ODA2MDUiCnwgI2RlZmluZSBQQUNLQUdFX0JVR1JFUE9SVCAiZ3JhbnRATmV0QlNELm9yZyIKfCAj
 ZGVmaW5lIFBBQ0tBR0VfVVJMICIiCnwgI2RlZmluZSBTVERDX0hFQURFUlMgMQp8ICNkZWZpbmUg
 VElNRV9XSVRIX1NZU19USU1FIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1RZUEVTX0ggMQp8ICNkZWZp
 bmUgSEFWRV9TWVNfU1RBVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1RETElCX0ggMQp8ICNkZWZpbmUg
 SEFWRV9TVFJJTkdfSCAxCnwgI2RlZmluZSBIQVZFX01FTU9SWV9IIDEKfCAjZGVmaW5lIEhBVkVf
 U1RSSU5HU19IIDEKfCAjZGVmaW5lIEhBVkVfSU5UVFlQRVNfSCAxCnwgI2RlZmluZSBIQVZFX1NU
 RElOVF9IIDEKfCAjZGVmaW5lIEhBVkVfVU5JU1REX0ggMQp8ICNkZWZpbmUgSEFWRV9fQk9PTCAx
 CnwgI2RlZmluZSBIQVZFX1NUREJPT0xfSCAxCnwgI2RlZmluZSBIQVZFX0FMTE9DQV9IIDEKfCAj
 ZGVmaW5lIEhBVkVfQVNTRVJUX0ggMQp8ICNkZWZpbmUgSEFWRV9DVFlQRV9IIDEKfCAjZGVmaW5l
 IEhBVkVfRElSRU5UX0ggMQp8ICNkZWZpbmUgSEFWRV9FTkRJQU5fSCAxCnwgI2RlZmluZSBIQVZF
 X0VSUl9IIDEKfCAjZGVmaW5lIEhBVkVfRVJSTk9fSCAxCnwgI2RlZmluZSBIQVZFX0ZDTlRMX0gg
 MQp8ICNkZWZpbmUgSEFWRV9GTk1BVENIX0ggMQp8ICNkZWZpbmUgSEFWRV9GVFNfSCAxCnwgI2Rl
 ZmluZSBIQVZFX0dSUF9IIDEKfCAjZGVmaW5lIEhBVkVfSU5UVFlQRVNfSCAxCnwgI2RlZmluZSBI
 QVZFX0xJQlVUSUxfSCAxCnwgI2RlZmluZSBIQVZFX0xJTUlUU19IIDEKfCAjZGVmaW5lIEhBVkVf
 TkVUREJfSCAxCnwgI2RlZmluZSBIQVZFX1BBVEhTX0ggMQp8ICNkZWZpbmUgSEFWRV9QV0RfSCAx
 CnwgI2RlZmluZSBIQVZFX1NJR05BTF9IIDEKfCAjZGVmaW5lIEhBVkVfU1REQVJHX0ggMQp8ICNk
 ZWZpbmUgSEFWRV9TVERERUZfSCAxCnwgI2RlZmluZSBIQVZFX1NURElOVF9IIDEKfCAjZGVmaW5l
 IEhBVkVfU1RESU9fSCAxCnwgI2RlZmluZSBIQVZFX1NURExJQl9IIDEKfCAjZGVmaW5lIEhBVkVf
 U1RSSU5HX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfQ0RFRlNfSCAxCnwgI2RlZmluZSBIQVZFX1NZ
 U19ESVJfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19GSUxFX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNf
 UEFSQU1fSCAxCnwgI2RlZmluZSBIQVZFX1NZU19TT0NLRVRfSCAxCnwgI2RlZmluZSBIQVZFX1NZ
 U19TVEFUX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfU1RBVEZTX0ggMQp8ICNkZWZpbmUgSEFWRV9T
 WVNfU1RBVFZGU19IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1RJTUVfSCAxCnwgI2RlZmluZSBIQVZF
 X1NZU19UWVBFU19IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1VJT19IIDEKfCAjZGVmaW5lIEhBVkVf
 U1lTX1ZGU19IIDEKfCAjZGVmaW5lIEhBVkVfU1lTRVhJVFNfSCAxCnwgI2RlZmluZSBIQVZFX1RF
 Uk1DQVBfSCAxCnwgI2RlZmluZSBIQVZFX1RJTUVfSCAxCnwgI2RlZmluZSBIQVZFX1VOSVNURF9I
 IDEKfCAjZGVmaW5lIEhBVkVfVVRJTUVfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19NT1VOVF9IIDEK
 fCAjZGVmaW5lIEhBVkVfR0xPQl9IIDEKfCAjZGVmaW5lIEhBVkVfTkJDT01QQVRfR0xPQiAxCnwg
 I2RlZmluZSBIQVZFX1NZU19RVUVVRV9IIDEKfCAjZGVmaW5lIEhBVkVfTkJDT01QQVRfUVVFVUUg
 MQp8ICNkZWZpbmUgSEFWRV9SRUdFWF9IIDEKfCAjZGVmaW5lIEhBVkVfTkJDT01QQVRfTUQ1IDEK
 fCAjZGVmaW5lIEhBVkVfTkJDT01QQVRfUk1EMTYwIDEKfCAjZGVmaW5lIEhBVkVfTkJDT01QQVRf
 U0hBMSAxCnwgI2RlZmluZSBIQVZFX05CQ09NUEFUX1NIQTIgMQp8ICNkZWZpbmUgSEFWRV9ERUNM
 X09QVEFSRyAxCnwgI2RlZmluZSBIQVZFX0RFQ0xfT1BUSU5EIDEKfCAjZGVmaW5lIEhBVkVfREVD
 TF9PUFRSRVNFVCAwCnwgI2RlZmluZSBIQVZFX0dFVE9QVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1RS
 VUNUX09QVElPTiAxCnwgI2RlZmluZSBIQVZFX1ZJU19IIDEKfCAjZGVmaW5lIEhBVkVfTkJDT01Q
 QVRfVklTIDEKfCAjZGVmaW5lIEhBVkVfX19BVFRSSUJVVEVfXyAxCnwgI2RlZmluZSBIQVZFX1VJ
 TlRQVFJfVCAxCnwgI2RlZmluZSBIQVZFX0xPTkdfTE9ORyAxCnwgI2RlZmluZSBIQVZFX0xPTkdf
 RE9VQkxFIDEKfCAjZGVmaW5lIEhBVkVfRlNJRF9UIDEKfCAjZGVmaW5lIFNJWkVPRl9PRkZfVCA0
 CnwgI2RlZmluZSBIQVZFX1NURExJQl9IIDEKfCAjZGVmaW5lIEhBVkVfTUFMTE9DIDEKfCAjZGVm
 aW5lIEhBVkVfREVDTF9TVFJFUlJPUl9SIDEKfCAjZGVmaW5lIEhBVkVfU1RSRVJST1JfUiAxCnwg
 I2RlZmluZSBIQVZFX0ZPUksgMQp8ICNkZWZpbmUgSEFWRV9WRk9SSyAxCnwgI2RlZmluZSBIQVZF
 X1dPUktJTkdfVkZPUksgMQp8ICNkZWZpbmUgSEFWRV9XT1JLSU5HX0ZPUksgMQp8ICNkZWZpbmUg
 SEFWRV9WUFJJTlRGIDEKfCAjZGVmaW5lIEhBVkVfREVDTF9TTlBSSU5URiAxCnwgI2RlZmluZSBI
 QVZFX0RFQ0xfVkFTUFJJTlRGIDAKfCAjZGVmaW5lIEhBVkVfQVNQUklOVEYgMQp8ICNkZWZpbmUg
 SEFWRV9FUlIgMQp8ICNkZWZpbmUgSEFWRV9GTk1BVENIIDEKfCAjZGVmaW5lIEhBVkVfR0VURU5W
 IDEKfCAjZGVmaW5lIEhBVkVfSVNCTEFOSyAxCnwgI2RlZmluZSBIQVZFX0xDSE9XTiAxCnwgI2Rl
 ZmluZSBIQVZFX0xVVElNRVMgMQp8ICNkZWZpbmUgSEFWRV9NS0RURU1QIDEKfCAjZGVmaW5lIEhB
 VkVfTUtTVEVNUCAxCnwgI2RlZmluZSBIQVZFX1NFVEVOViAxCnwgI2RlZmluZSBIQVZFX1NOUFJJ
 TlRGIDEKfCAjZGVmaW5lIEhBVkVfU1RBVFZGUyAxCnwgI2RlZmluZSBIQVZFX1NUUkRVUCAxCnwg
 I2RlZmluZSBIQVZFX1NUUkVSUk9SIDEKfCAjZGVmaW5lIEhBVkVfU1RSU0VQIDEKfCAjZGVmaW5l
 IEhBVkVfU1RSVE9MTCAxCnwgI2RlZmluZSBIQVZFX1VOU0VURU5WIDEKfCAjZGVmaW5lIEhBVkVf
 VVNMRUVQIDEKfCAjZGVmaW5lIEhBVkVfVVRJTUVTIDEKfCAjZGVmaW5lIEhBVkVfV0FSTiAxCnwg
 I2RlZmluZSBIQVZFX0xJQk5TTCAxCnwgI2RlZmluZSBIQVZFX1NPQ0tMRU5fVCAxCnwgI2RlZmlu
 ZSBIQVZFX1NUUlVDVF9BRERSSU5GTyAxCnwgI2RlZmluZSBIQVZFX1NUUlVDVF9JTjZfQUREUiAx
 CnwgI2RlZmluZSBIQVZFX1NUUlVDVF9TT0NLQUREUl9JTjYgMQp8ICNkZWZpbmUgSEFWRV9TVFJV
 Q1RfU09DS0FERFJfU1RPUkFHRSAxCnwgI2RlZmluZSBIQVZFX0dFVE5BTUVJTkZPIDEKfCAjZGVm
 aW5lIEhBVkVfR0FJX1NUUkVSUk9SIDEKfCAjZGVmaW5lIEhBVkVfR0VUQUREUklORk8gMQp8ICNk
 ZWZpbmUgSEFWRV9HRVRFTlYgMQp8ICNkZWZpbmUgSEFWRV9TRVRFTlYgMQp8ICNkZWZpbmUgSEFW
 RV9VTlNFVEVOViAxCnwgI2RlZmluZSBIQVZFX01LRFRFTVAgMQp8ICNkZWZpbmUgSEFWRV9NS1NU
 RU1QIDEKfCAjZGVmaW5lIEhBVkVfQkNPUFkgMQp8ICNkZWZpbmUgSEFWRV9CWkVSTyAxCnwgI2Rl
 ZmluZSBIQVZFX01FTVNFVCAxCnwgI2RlZmluZSBIQVZFX01FTUNQWSAxCnwgI2RlZmluZSBIQVZF
 X1NFVExPQ0FMRSAxCnwgI2RlZmluZSBIQVZFX0RFQ0xfRU5ER1JFTlQgMAp8IC8qIGVuZCBjb25m
 ZGVmcy5oLiAgKi8KfCAjaW5jbHVkZSA8c3RkaW8uaD4KfCAjaWZkZWYgSEFWRV9TWVNfVFlQRVNf
 SAp8ICMgaW5jbHVkZSA8c3lzL3R5cGVzLmg+CnwgI2VuZGlmCnwgI2lmZGVmIEhBVkVfU1lTX1NU
 QVRfSAp8ICMgaW5jbHVkZSA8c3lzL3N0YXQuaD4KfCAjZW5kaWYKfCAjaWZkZWYgU1REQ19IRUFE
 RVJTCnwgIyBpbmNsdWRlIDxzdGRsaWIuaD4KfCAjIGluY2x1ZGUgPHN0ZGRlZi5oPgp8ICNlbHNl
 CnwgIyBpZmRlZiBIQVZFX1NURExJQl9ICnwgIyAgaW5jbHVkZSA8c3RkbGliLmg+CnwgIyBlbmRp
 Zgp8ICNlbmRpZgp8ICNpZmRlZiBIQVZFX1NUUklOR19ICnwgIyBpZiAhZGVmaW5lZCBTVERDX0hF
 QURFUlMgJiYgZGVmaW5lZCBIQVZFX01FTU9SWV9ICnwgIyAgaW5jbHVkZSA8bWVtb3J5Lmg+Cnwg
 IyBlbmRpZgp8ICMgaW5jbHVkZSA8c3RyaW5nLmg+CnwgI2VuZGlmCnwgI2lmZGVmIEhBVkVfU1RS
 SU5HU19ICnwgIyBpbmNsdWRlIDxzdHJpbmdzLmg+CnwgI2VuZGlmCnwgI2lmZGVmIEhBVkVfSU5U
 VFlQRVNfSAp8ICMgaW5jbHVkZSA8aW50dHlwZXMuaD4KfCAjZW5kaWYKfCAjaWZkZWYgSEFWRV9T
 VERJTlRfSAp8ICMgaW5jbHVkZSA8c3RkaW50Lmg+CnwgI2VuZGlmCnwgI2lmZGVmIEhBVkVfVU5J
 U1REX0gKfCAjIGluY2x1ZGUgPHVuaXN0ZC5oPgp8ICNlbmRpZgp8IGludAp8IG1haW4gKCkKfCB7
 CnwgI2lmbmRlZiBlbmRwd2VudAp8ICNpZmRlZiBfX2NwbHVzcGx1cwp8ICAgKHZvaWQpIGVuZHB3
 ZW50Owp8ICNlbHNlCnwgICAodm9pZCkgZW5kcHdlbnQ7CnwgI2VuZGlmCnwgI2VuZGlmCnwgCnwg
 ICA7CnwgICByZXR1cm4gMDsKfCB9CmNvbmZpZ3VyZTo2NTQyOiByZXN1bHQ6IG5vCmNvbmZpZ3Vy
 ZTo2NTYwOiBjaGVja2luZyBmb3IgZ2lkX2Zyb21fZ3JvdXAKY29uZmlndXJlOjY1NjA6IGdjYyAt
 byBjb25mdGVzdCAtZyAtTzIgICBjb25mdGVzdC5jIC1sbnNsICA+JjUKL3RtcC9jY2xlTUV4QS5v
 OiBJbiBmdW5jdGlvbiBgbWFpbic6Ci9tZWRpYS9zZGIyL3NyYy9wa2dzcmMvYm9vdHN0cmFwL3dv
 cmsvbGlibmJjb21wYXQvY29uZnRlc3QuYzoxNzI6IHVuZGVmaW5lZCByZWZlcmVuY2UgdG8gYGdp
 ZF9mcm9tX2dyb3VwJwpjb2xsZWN0MjogbGQgcmV0dXJuZWQgMSBleGl0IHN0YXR1cwpjb25maWd1
 cmU6NjU2MDogJD8gPSAxCmNvbmZpZ3VyZTogZmFpbGVkIHByb2dyYW0gd2FzOgp8IC8qIGNvbmZk
 ZWZzLmggKi8KfCAjZGVmaW5lIFBBQ0tBR0VfTkFNRSAibGlibmJjb21wYXQiCnwgI2RlZmluZSBQ
 QUNLQUdFX1RBUk5BTUUgImxpYm5iY29tcGF0Igp8ICNkZWZpbmUgUEFDS0FHRV9WRVJTSU9OICIy
 MDA4MDYwNSIKfCAjZGVmaW5lIFBBQ0tBR0VfU1RSSU5HICJsaWJuYmNvbXBhdCAyMDA4MDYwNSIK
 fCAjZGVmaW5lIFBBQ0tBR0VfQlVHUkVQT1JUICJncmFudEBOZXRCU0Qub3JnIgp8ICNkZWZpbmUg
 UEFDS0FHRV9VUkwgIiIKfCAjZGVmaW5lIFNURENfSEVBREVSUyAxCnwgI2RlZmluZSBUSU1FX1dJ
 VEhfU1lTX1RJTUUgMQp8ICNkZWZpbmUgSEFWRV9TWVNfVFlQRVNfSCAxCnwgI2RlZmluZSBIQVZF
 X1NZU19TVEFUX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERMSUJfSCAxCnwgI2RlZmluZSBIQVZFX1NU
 UklOR19IIDEKfCAjZGVmaW5lIEhBVkVfTUVNT1JZX0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJJTkdT
 X0ggMQp8ICNkZWZpbmUgSEFWRV9JTlRUWVBFU19IIDEKfCAjZGVmaW5lIEhBVkVfU1RESU5UX0gg
 MQp8ICNkZWZpbmUgSEFWRV9VTklTVERfSCAxCnwgI2RlZmluZSBIQVZFX19CT09MIDEKfCAjZGVm
 aW5lIEhBVkVfU1REQk9PTF9IIDEKfCAjZGVmaW5lIEhBVkVfQUxMT0NBX0ggMQp8ICNkZWZpbmUg
 SEFWRV9BU1NFUlRfSCAxCnwgI2RlZmluZSBIQVZFX0NUWVBFX0ggMQp8ICNkZWZpbmUgSEFWRV9E
 SVJFTlRfSCAxCnwgI2RlZmluZSBIQVZFX0VORElBTl9IIDEKfCAjZGVmaW5lIEhBVkVfRVJSX0gg
 MQp8ICNkZWZpbmUgSEFWRV9FUlJOT19IIDEKfCAjZGVmaW5lIEhBVkVfRkNOVExfSCAxCnwgI2Rl
 ZmluZSBIQVZFX0ZOTUFUQ0hfSCAxCnwgI2RlZmluZSBIQVZFX0ZUU19IIDEKfCAjZGVmaW5lIEhB
 VkVfR1JQX0ggMQp8ICNkZWZpbmUgSEFWRV9JTlRUWVBFU19IIDEKfCAjZGVmaW5lIEhBVkVfTElC
 VVRJTF9IIDEKfCAjZGVmaW5lIEhBVkVfTElNSVRTX0ggMQp8ICNkZWZpbmUgSEFWRV9ORVREQl9I
 IDEKfCAjZGVmaW5lIEhBVkVfUEFUSFNfSCAxCnwgI2RlZmluZSBIQVZFX1BXRF9IIDEKfCAjZGVm
 aW5lIEhBVkVfU0lHTkFMX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERBUkdfSCAxCnwgI2RlZmluZSBI
 QVZFX1NURERFRl9IIDEKfCAjZGVmaW5lIEhBVkVfU1RESU5UX0ggMQp8ICNkZWZpbmUgSEFWRV9T
 VERJT19IIDEKfCAjZGVmaW5lIEhBVkVfU1RETElCX0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJJTkdf
 SCAxCnwgI2RlZmluZSBIQVZFX1NZU19DREVGU19IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX0RJUl9I
 IDEKfCAjZGVmaW5lIEhBVkVfU1lTX0ZJTEVfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19QQVJBTV9I
 IDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NPQ0tFVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NUQVRf
 SCAxCnwgI2RlZmluZSBIQVZFX1NZU19TVEFURlNfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19TVEFU
 VkZTX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfVElNRV9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1RZ
 UEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfVUlPX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfVkZT
 X0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNFWElUU19IIDEKfCAjZGVmaW5lIEhBVkVfVEVSTUNBUF9I
 IDEKfCAjZGVmaW5lIEhBVkVfVElNRV9IIDEKfCAjZGVmaW5lIEhBVkVfVU5JU1REX0ggMQp8ICNk
 ZWZpbmUgSEFWRV9VVElNRV9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX01PVU5UX0ggMQp8ICNkZWZp
 bmUgSEFWRV9HTE9CX0ggMQp8ICNkZWZpbmUgSEFWRV9OQkNPTVBBVF9HTE9CIDEKfCAjZGVmaW5l
 IEhBVkVfU1lTX1FVRVVFX0ggMQp8ICNkZWZpbmUgSEFWRV9OQkNPTVBBVF9RVUVVRSAxCnwgI2Rl
 ZmluZSBIQVZFX1JFR0VYX0ggMQp8ICNkZWZpbmUgSEFWRV9OQkNPTVBBVF9NRDUgMQp8ICNkZWZp
 bmUgSEFWRV9OQkNPTVBBVF9STUQxNjAgMQp8ICNkZWZpbmUgSEFWRV9OQkNPTVBBVF9TSEExIDEK
 fCAjZGVmaW5lIEhBVkVfTkJDT01QQVRfU0hBMiAxCnwgI2RlZmluZSBIQVZFX0RFQ0xfT1BUQVJH
 IDEKfCAjZGVmaW5lIEhBVkVfREVDTF9PUFRJTkQgMQp8ICNkZWZpbmUgSEFWRV9ERUNMX09QVFJF
 U0VUIDAKfCAjZGVmaW5lIEhBVkVfR0VUT1BUX0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJVQ1RfT1BU
 SU9OIDEKfCAjZGVmaW5lIEhBVkVfVklTX0ggMQp8ICNkZWZpbmUgSEFWRV9OQkNPTVBBVF9WSVMg
 MQp8ICNkZWZpbmUgSEFWRV9fX0FUVFJJQlVURV9fIDEKfCAjZGVmaW5lIEhBVkVfVUlOVFBUUl9U
 IDEKfCAjZGVmaW5lIEhBVkVfTE9OR19MT05HIDEKfCAjZGVmaW5lIEhBVkVfTE9OR19ET1VCTEUg
 MQp8ICNkZWZpbmUgSEFWRV9GU0lEX1QgMQp8ICNkZWZpbmUgU0laRU9GX09GRl9UIDQKfCAjZGVm
 aW5lIEhBVkVfU1RETElCX0ggMQp8ICNkZWZpbmUgSEFWRV9NQUxMT0MgMQp8ICNkZWZpbmUgSEFW
 RV9ERUNMX1NUUkVSUk9SX1IgMQp8ICNkZWZpbmUgSEFWRV9TVFJFUlJPUl9SIDEKfCAjZGVmaW5l
 IEhBVkVfRk9SSyAxCnwgI2RlZmluZSBIQVZFX1ZGT1JLIDEKfCAjZGVmaW5lIEhBVkVfV09SS0lO
 R19WRk9SSyAxCnwgI2RlZmluZSBIQVZFX1dPUktJTkdfRk9SSyAxCnwgI2RlZmluZSBIQVZFX1ZQ
 UklOVEYgMQp8ICNkZWZpbmUgSEFWRV9ERUNMX1NOUFJJTlRGIDEKfCAjZGVmaW5lIEhBVkVfREVD
 TF9WQVNQUklOVEYgMAp8ICNkZWZpbmUgSEFWRV9BU1BSSU5URiAxCnwgI2RlZmluZSBIQVZFX0VS
 UiAxCnwgI2RlZmluZSBIQVZFX0ZOTUFUQ0ggMQp8ICNkZWZpbmUgSEFWRV9HRVRFTlYgMQp8ICNk
 ZWZpbmUgSEFWRV9JU0JMQU5LIDEKfCAjZGVmaW5lIEhBVkVfTENIT1dOIDEKfCAjZGVmaW5lIEhB
 VkVfTFVUSU1FUyAxCnwgI2RlZmluZSBIQVZFX01LRFRFTVAgMQp8ICNkZWZpbmUgSEFWRV9NS1NU
 RU1QIDEKfCAjZGVmaW5lIEhBVkVfU0VURU5WIDEKfCAjZGVmaW5lIEhBVkVfU05QUklOVEYgMQp8
 ICNkZWZpbmUgSEFWRV9TVEFUVkZTIDEKfCAjZGVmaW5lIEhBVkVfU1RSRFVQIDEKfCAjZGVmaW5l
 IEhBVkVfU1RSRVJST1IgMQp8ICNkZWZpbmUgSEFWRV9TVFJTRVAgMQp8ICNkZWZpbmUgSEFWRV9T
 VFJUT0xMIDEKfCAjZGVmaW5lIEhBVkVfVU5TRVRFTlYgMQp8ICNkZWZpbmUgSEFWRV9VU0xFRVAg
 MQp8ICNkZWZpbmUgSEFWRV9VVElNRVMgMQp8ICNkZWZpbmUgSEFWRV9XQVJOIDEKfCAjZGVmaW5l
 IEhBVkVfTElCTlNMIDEKfCAjZGVmaW5lIEhBVkVfU09DS0xFTl9UIDEKfCAjZGVmaW5lIEhBVkVf
 U1RSVUNUX0FERFJJTkZPIDEKfCAjZGVmaW5lIEhBVkVfU1RSVUNUX0lONl9BRERSIDEKfCAjZGVm
 aW5lIEhBVkVfU1RSVUNUX1NPQ0tBRERSX0lONiAxCnwgI2RlZmluZSBIQVZFX1NUUlVDVF9TT0NL
 QUREUl9TVE9SQUdFIDEKfCAjZGVmaW5lIEhBVkVfR0VUTkFNRUlORk8gMQp8ICNkZWZpbmUgSEFW
 RV9HQUlfU1RSRVJST1IgMQp8ICNkZWZpbmUgSEFWRV9HRVRBRERSSU5GTyAxCnwgI2RlZmluZSBI
 QVZFX0dFVEVOViAxCnwgI2RlZmluZSBIQVZFX1NFVEVOViAxCnwgI2RlZmluZSBIQVZFX1VOU0VU
 RU5WIDEKfCAjZGVmaW5lIEhBVkVfTUtEVEVNUCAxCnwgI2RlZmluZSBIQVZFX01LU1RFTVAgMQp8
 ICNkZWZpbmUgSEFWRV9CQ09QWSAxCnwgI2RlZmluZSBIQVZFX0JaRVJPIDEKfCAjZGVmaW5lIEhB
 VkVfTUVNU0VUIDEKfCAjZGVmaW5lIEhBVkVfTUVNQ1BZIDEKfCAjZGVmaW5lIEhBVkVfU0VUTE9D
 QUxFIDEKfCAjZGVmaW5lIEhBVkVfREVDTF9FTkRHUkVOVCAwCnwgI2RlZmluZSBIQVZFX0RFQ0xf
 RU5EUFdFTlQgMAp8IC8qIGVuZCBjb25mZGVmcy5oLiAgKi8KfCAvKiBEZWZpbmUgZ2lkX2Zyb21f
 Z3JvdXAgdG8gYW4gaW5ub2N1b3VzIHZhcmlhbnQsIGluIGNhc2UgPGxpbWl0cy5oPiBkZWNsYXJl
 cyBnaWRfZnJvbV9ncm91cC4KfCAgICBGb3IgZXhhbXBsZSwgSFAtVVggMTFpIDxsaW1pdHMuaD4g
 ZGVjbGFyZXMgZ2V0dGltZW9mZGF5LiAgKi8KfCAjZGVmaW5lIGdpZF9mcm9tX2dyb3VwIGlubm9j
 dW91c19naWRfZnJvbV9ncm91cAp8IAp8IC8qIFN5c3RlbSBoZWFkZXIgdG8gZGVmaW5lIF9fc3R1
 YiBtYWNyb3MgYW5kIGhvcGVmdWxseSBmZXcgcHJvdG90eXBlcywKfCAgICAgd2hpY2ggY2FuIGNv
 bmZsaWN0IHdpdGggY2hhciBnaWRfZnJvbV9ncm91cCAoKTsgYmVsb3cuCnwgICAgIFByZWZlciA8
 bGltaXRzLmg+IHRvIDxhc3NlcnQuaD4gaWYgX19TVERDX18gaXMgZGVmaW5lZCwgc2luY2UKfCAg
 ICAgPGxpbWl0cy5oPiBleGlzdHMgZXZlbiBvbiBmcmVlc3RhbmRpbmcgY29tcGlsZXJzLiAgKi8K
 fCAKfCAjaWZkZWYgX19TVERDX18KfCAjIGluY2x1ZGUgPGxpbWl0cy5oPgp8ICNlbHNlCnwgIyBp
 bmNsdWRlIDxhc3NlcnQuaD4KfCAjZW5kaWYKfCAKfCAjdW5kZWYgZ2lkX2Zyb21fZ3JvdXAKfCAK
 fCAvKiBPdmVycmlkZSBhbnkgR0NDIGludGVybmFsIHByb3RvdHlwZSB0byBhdm9pZCBhbiBlcnJv
 ci4KfCAgICBVc2UgY2hhciBiZWNhdXNlIGludCBtaWdodCBtYXRjaCB0aGUgcmV0dXJuIHR5cGUg
 b2YgYSBHQ0MKfCAgICBidWlsdGluIGFuZCB0aGVuIGl0cyBhcmd1bWVudCBwcm90b3R5cGUgd291
 bGQgc3RpbGwgYXBwbHkuICAqLwp8ICNpZmRlZiBfX2NwbHVzcGx1cwp8IGV4dGVybiAiQyIKfCAj
 ZW5kaWYKfCBjaGFyIGdpZF9mcm9tX2dyb3VwICgpOwp8IC8qIFRoZSBHTlUgQyBsaWJyYXJ5IGRl
 ZmluZXMgdGhpcyBmb3IgZnVuY3Rpb25zIHdoaWNoIGl0IGltcGxlbWVudHMKfCAgICAgdG8gYWx3
 YXlzIGZhaWwgd2l0aCBFTk9TWVMuICBTb21lIGZ1bmN0aW9ucyBhcmUgYWN0dWFsbHkgbmFtZWQK
 fCAgICAgc29tZXRoaW5nIHN0YXJ0aW5nIHdpdGggX18gYW5kIHRoZSBub3JtYWwgbmFtZSBpcyBh
 biBhbGlhcy4gICovCnwgI2lmIGRlZmluZWQgX19zdHViX2dpZF9mcm9tX2dyb3VwIHx8IGRlZmlu
 ZWQgX19zdHViX19fZ2lkX2Zyb21fZ3JvdXAKfCBjaG9rZSBtZQp8ICNlbmRpZgp8IAp8IGludAp8
 IG1haW4gKCkKfCB7CnwgcmV0dXJuIGdpZF9mcm9tX2dyb3VwICgpOwp8ICAgOwp8ICAgcmV0dXJu
 IDA7CnwgfQpjb25maWd1cmU6NjU2MDogcmVzdWx0OiBubwpjb25maWd1cmU6NjU2MDogY2hlY2tp
 bmcgZm9yIGdyb3VwX2Zyb21fZ2lkCmNvbmZpZ3VyZTo2NTYwOiBnY2MgLW8gY29uZnRlc3QgLWcg
 LU8yICAgY29uZnRlc3QuYyAtbG5zbCAgPiY1Ci90bXAvY2NQNHFzekoubzogSW4gZnVuY3Rpb24g
 YG1haW4nOgovbWVkaWEvc2RiMi9zcmMvcGtnc3JjL2Jvb3RzdHJhcC93b3JrL2xpYm5iY29tcGF0
 L2NvbmZ0ZXN0LmM6MTcyOiB1bmRlZmluZWQgcmVmZXJlbmNlIHRvIGBncm91cF9mcm9tX2dpZCcK
 Y29sbGVjdDI6IGxkIHJldHVybmVkIDEgZXhpdCBzdGF0dXMKY29uZmlndXJlOjY1NjA6ICQ/ID0g
 MQpjb25maWd1cmU6IGZhaWxlZCBwcm9ncmFtIHdhczoKfCAvKiBjb25mZGVmcy5oICovCnwgI2Rl
 ZmluZSBQQUNLQUdFX05BTUUgImxpYm5iY29tcGF0Igp8ICNkZWZpbmUgUEFDS0FHRV9UQVJOQU1F
 ICJsaWJuYmNvbXBhdCIKfCAjZGVmaW5lIFBBQ0tBR0VfVkVSU0lPTiAiMjAwODA2MDUiCnwgI2Rl
 ZmluZSBQQUNLQUdFX1NUUklORyAibGlibmJjb21wYXQgMjAwODA2MDUiCnwgI2RlZmluZSBQQUNL
 QUdFX0JVR1JFUE9SVCAiZ3JhbnRATmV0QlNELm9yZyIKfCAjZGVmaW5lIFBBQ0tBR0VfVVJMICIi
 CnwgI2RlZmluZSBTVERDX0hFQURFUlMgMQp8ICNkZWZpbmUgVElNRV9XSVRIX1NZU19USU1FIDEK
 fCAjZGVmaW5lIEhBVkVfU1lTX1RZUEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfU1RBVF9IIDEK
 fCAjZGVmaW5lIEhBVkVfU1RETElCX0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJJTkdfSCAxCnwgI2Rl
 ZmluZSBIQVZFX01FTU9SWV9IIDEKfCAjZGVmaW5lIEhBVkVfU1RSSU5HU19IIDEKfCAjZGVmaW5l
 IEhBVkVfSU5UVFlQRVNfSCAxCnwgI2RlZmluZSBIQVZFX1NURElOVF9IIDEKfCAjZGVmaW5lIEhB
 VkVfVU5JU1REX0ggMQp8ICNkZWZpbmUgSEFWRV9fQk9PTCAxCnwgI2RlZmluZSBIQVZFX1NUREJP
 T0xfSCAxCnwgI2RlZmluZSBIQVZFX0FMTE9DQV9IIDEKfCAjZGVmaW5lIEhBVkVfQVNTRVJUX0gg
 MQp8ICNkZWZpbmUgSEFWRV9DVFlQRV9IIDEKfCAjZGVmaW5lIEhBVkVfRElSRU5UX0ggMQp8ICNk
 ZWZpbmUgSEFWRV9FTkRJQU5fSCAxCnwgI2RlZmluZSBIQVZFX0VSUl9IIDEKfCAjZGVmaW5lIEhB
 VkVfRVJSTk9fSCAxCnwgI2RlZmluZSBIQVZFX0ZDTlRMX0ggMQp8ICNkZWZpbmUgSEFWRV9GTk1B
 VENIX0ggMQp8ICNkZWZpbmUgSEFWRV9GVFNfSCAxCnwgI2RlZmluZSBIQVZFX0dSUF9IIDEKfCAj
 ZGVmaW5lIEhBVkVfSU5UVFlQRVNfSCAxCnwgI2RlZmluZSBIQVZFX0xJQlVUSUxfSCAxCnwgI2Rl
 ZmluZSBIQVZFX0xJTUlUU19IIDEKfCAjZGVmaW5lIEhBVkVfTkVUREJfSCAxCnwgI2RlZmluZSBI
 QVZFX1BBVEhTX0ggMQp8ICNkZWZpbmUgSEFWRV9QV0RfSCAxCnwgI2RlZmluZSBIQVZFX1NJR05B
 TF9IIDEKfCAjZGVmaW5lIEhBVkVfU1REQVJHX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERERUZfSCAx
 CnwgI2RlZmluZSBIQVZFX1NURElOVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1RESU9fSCAxCnwgI2Rl
 ZmluZSBIQVZFX1NURExJQl9IIDEKfCAjZGVmaW5lIEhBVkVfU1RSSU5HX0ggMQp8ICNkZWZpbmUg
 SEFWRV9TWVNfQ0RFRlNfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19ESVJfSCAxCnwgI2RlZmluZSBI
 QVZFX1NZU19GSUxFX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfUEFSQU1fSCAxCnwgI2RlZmluZSBI
 QVZFX1NZU19TT0NLRVRfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19TVEFUX0ggMQp8ICNkZWZpbmUg
 SEFWRV9TWVNfU1RBVEZTX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfU1RBVFZGU19IIDEKfCAjZGVm
 aW5lIEhBVkVfU1lTX1RJTUVfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19UWVBFU19IIDEKfCAjZGVm
 aW5lIEhBVkVfU1lTX1VJT19IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1ZGU19IIDEKfCAjZGVmaW5l
 IEhBVkVfU1lTRVhJVFNfSCAxCnwgI2RlZmluZSBIQVZFX1RFUk1DQVBfSCAxCnwgI2RlZmluZSBI
 QVZFX1RJTUVfSCAxCnwgI2RlZmluZSBIQVZFX1VOSVNURF9IIDEKfCAjZGVmaW5lIEhBVkVfVVRJ
 TUVfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19NT1VOVF9IIDEKfCAjZGVmaW5lIEhBVkVfR0xPQl9I
 IDEKfCAjZGVmaW5lIEhBVkVfTkJDT01QQVRfR0xPQiAxCnwgI2RlZmluZSBIQVZFX1NZU19RVUVV
 RV9IIDEKfCAjZGVmaW5lIEhBVkVfTkJDT01QQVRfUVVFVUUgMQp8ICNkZWZpbmUgSEFWRV9SRUdF
 WF9IIDEKfCAjZGVmaW5lIEhBVkVfTkJDT01QQVRfTUQ1IDEKfCAjZGVmaW5lIEhBVkVfTkJDT01Q
 QVRfUk1EMTYwIDEKfCAjZGVmaW5lIEhBVkVfTkJDT01QQVRfU0hBMSAxCnwgI2RlZmluZSBIQVZF
 X05CQ09NUEFUX1NIQTIgMQp8ICNkZWZpbmUgSEFWRV9ERUNMX09QVEFSRyAxCnwgI2RlZmluZSBI
 QVZFX0RFQ0xfT1BUSU5EIDEKfCAjZGVmaW5lIEhBVkVfREVDTF9PUFRSRVNFVCAwCnwgI2RlZmlu
 ZSBIQVZFX0dFVE9QVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1RSVUNUX09QVElPTiAxCnwgI2RlZmlu
 ZSBIQVZFX1ZJU19IIDEKfCAjZGVmaW5lIEhBVkVfTkJDT01QQVRfVklTIDEKfCAjZGVmaW5lIEhB
 VkVfX19BVFRSSUJVVEVfXyAxCnwgI2RlZmluZSBIQVZFX1VJTlRQVFJfVCAxCnwgI2RlZmluZSBI
 QVZFX0xPTkdfTE9ORyAxCnwgI2RlZmluZSBIQVZFX0xPTkdfRE9VQkxFIDEKfCAjZGVmaW5lIEhB
 VkVfRlNJRF9UIDEKfCAjZGVmaW5lIFNJWkVPRl9PRkZfVCA0CnwgI2RlZmluZSBIQVZFX1NURExJ
 Ql9IIDEKfCAjZGVmaW5lIEhBVkVfTUFMTE9DIDEKfCAjZGVmaW5lIEhBVkVfREVDTF9TVFJFUlJP
 Ul9SIDEKfCAjZGVmaW5lIEhBVkVfU1RSRVJST1JfUiAxCnwgI2RlZmluZSBIQVZFX0ZPUksgMQp8
 ICNkZWZpbmUgSEFWRV9WRk9SSyAxCnwgI2RlZmluZSBIQVZFX1dPUktJTkdfVkZPUksgMQp8ICNk
 ZWZpbmUgSEFWRV9XT1JLSU5HX0ZPUksgMQp8ICNkZWZpbmUgSEFWRV9WUFJJTlRGIDEKfCAjZGVm
 aW5lIEhBVkVfREVDTF9TTlBSSU5URiAxCnwgI2RlZmluZSBIQVZFX0RFQ0xfVkFTUFJJTlRGIDAK
 fCAjZGVmaW5lIEhBVkVfQVNQUklOVEYgMQp8ICNkZWZpbmUgSEFWRV9FUlIgMQp8ICNkZWZpbmUg
 SEFWRV9GTk1BVENIIDEKfCAjZGVmaW5lIEhBVkVfR0VURU5WIDEKfCAjZGVmaW5lIEhBVkVfSVNC
 TEFOSyAxCnwgI2RlZmluZSBIQVZFX0xDSE9XTiAxCnwgI2RlZmluZSBIQVZFX0xVVElNRVMgMQp8
 ICNkZWZpbmUgSEFWRV9NS0RURU1QIDEKfCAjZGVmaW5lIEhBVkVfTUtTVEVNUCAxCnwgI2RlZmlu
 ZSBIQVZFX1NFVEVOViAxCnwgI2RlZmluZSBIQVZFX1NOUFJJTlRGIDEKfCAjZGVmaW5lIEhBVkVf
 U1RBVFZGUyAxCnwgI2RlZmluZSBIQVZFX1NUUkRVUCAxCnwgI2RlZmluZSBIQVZFX1NUUkVSUk9S
 IDEKfCAjZGVmaW5lIEhBVkVfU1RSU0VQIDEKfCAjZGVmaW5lIEhBVkVfU1RSVE9MTCAxCnwgI2Rl
 ZmluZSBIQVZFX1VOU0VURU5WIDEKfCAjZGVmaW5lIEhBVkVfVVNMRUVQIDEKfCAjZGVmaW5lIEhB
 VkVfVVRJTUVTIDEKfCAjZGVmaW5lIEhBVkVfV0FSTiAxCnwgI2RlZmluZSBIQVZFX0xJQk5TTCAx
 CnwgI2RlZmluZSBIQVZFX1NPQ0tMRU5fVCAxCnwgI2RlZmluZSBIQVZFX1NUUlVDVF9BRERSSU5G
 TyAxCnwgI2RlZmluZSBIQVZFX1NUUlVDVF9JTjZfQUREUiAxCnwgI2RlZmluZSBIQVZFX1NUUlVD
 VF9TT0NLQUREUl9JTjYgMQp8ICNkZWZpbmUgSEFWRV9TVFJVQ1RfU09DS0FERFJfU1RPUkFHRSAx
 CnwgI2RlZmluZSBIQVZFX0dFVE5BTUVJTkZPIDEKfCAjZGVmaW5lIEhBVkVfR0FJX1NUUkVSUk9S
 IDEKfCAjZGVmaW5lIEhBVkVfR0VUQUREUklORk8gMQp8ICNkZWZpbmUgSEFWRV9HRVRFTlYgMQp8
 ICNkZWZpbmUgSEFWRV9TRVRFTlYgMQp8ICNkZWZpbmUgSEFWRV9VTlNFVEVOViAxCnwgI2RlZmlu
 ZSBIQVZFX01LRFRFTVAgMQp8ICNkZWZpbmUgSEFWRV9NS1NURU1QIDEKfCAjZGVmaW5lIEhBVkVf
 QkNPUFkgMQp8ICNkZWZpbmUgSEFWRV9CWkVSTyAxCnwgI2RlZmluZSBIQVZFX01FTVNFVCAxCnwg
 I2RlZmluZSBIQVZFX01FTUNQWSAxCnwgI2RlZmluZSBIQVZFX1NFVExPQ0FMRSAxCnwgI2RlZmlu
 ZSBIQVZFX0RFQ0xfRU5ER1JFTlQgMAp8ICNkZWZpbmUgSEFWRV9ERUNMX0VORFBXRU5UIDAKfCAv
 KiBlbmQgY29uZmRlZnMuaC4gICovCnwgLyogRGVmaW5lIGdyb3VwX2Zyb21fZ2lkIHRvIGFuIGlu
 bm9jdW91cyB2YXJpYW50LCBpbiBjYXNlIDxsaW1pdHMuaD4gZGVjbGFyZXMgZ3JvdXBfZnJvbV9n
 aWQuCnwgICAgRm9yIGV4YW1wbGUsIEhQLVVYIDExaSA8bGltaXRzLmg+IGRlY2xhcmVzIGdldHRp
 bWVvZmRheS4gICovCnwgI2RlZmluZSBncm91cF9mcm9tX2dpZCBpbm5vY3VvdXNfZ3JvdXBfZnJv
 bV9naWQKfCAKfCAvKiBTeXN0ZW0gaGVhZGVyIHRvIGRlZmluZSBfX3N0dWIgbWFjcm9zIGFuZCBo
 b3BlZnVsbHkgZmV3IHByb3RvdHlwZXMsCnwgICAgIHdoaWNoIGNhbiBjb25mbGljdCB3aXRoIGNo
 YXIgZ3JvdXBfZnJvbV9naWQgKCk7IGJlbG93Lgp8ICAgICBQcmVmZXIgPGxpbWl0cy5oPiB0byA8
 YXNzZXJ0Lmg+IGlmIF9fU1REQ19fIGlzIGRlZmluZWQsIHNpbmNlCnwgICAgIDxsaW1pdHMuaD4g
 ZXhpc3RzIGV2ZW4gb24gZnJlZXN0YW5kaW5nIGNvbXBpbGVycy4gICovCnwgCnwgI2lmZGVmIF9f
 U1REQ19fCnwgIyBpbmNsdWRlIDxsaW1pdHMuaD4KfCAjZWxzZQp8ICMgaW5jbHVkZSA8YXNzZXJ0
 Lmg+CnwgI2VuZGlmCnwgCnwgI3VuZGVmIGdyb3VwX2Zyb21fZ2lkCnwgCnwgLyogT3ZlcnJpZGUg
 YW55IEdDQyBpbnRlcm5hbCBwcm90b3R5cGUgdG8gYXZvaWQgYW4gZXJyb3IuCnwgICAgVXNlIGNo
 YXIgYmVjYXVzZSBpbnQgbWlnaHQgbWF0Y2ggdGhlIHJldHVybiB0eXBlIG9mIGEgR0NDCnwgICAg
 YnVpbHRpbiBhbmQgdGhlbiBpdHMgYXJndW1lbnQgcHJvdG90eXBlIHdvdWxkIHN0aWxsIGFwcGx5
 LiAgKi8KfCAjaWZkZWYgX19jcGx1c3BsdXMKfCBleHRlcm4gIkMiCnwgI2VuZGlmCnwgY2hhciBn
 cm91cF9mcm9tX2dpZCAoKTsKfCAvKiBUaGUgR05VIEMgbGlicmFyeSBkZWZpbmVzIHRoaXMgZm9y
 IGZ1bmN0aW9ucyB3aGljaCBpdCBpbXBsZW1lbnRzCnwgICAgIHRvIGFsd2F5cyBmYWlsIHdpdGgg
 RU5PU1lTLiAgU29tZSBmdW5jdGlvbnMgYXJlIGFjdHVhbGx5IG5hbWVkCnwgICAgIHNvbWV0aGlu
 ZyBzdGFydGluZyB3aXRoIF9fIGFuZCB0aGUgbm9ybWFsIG5hbWUgaXMgYW4gYWxpYXMuICAqLwp8
 ICNpZiBkZWZpbmVkIF9fc3R1Yl9ncm91cF9mcm9tX2dpZCB8fCBkZWZpbmVkIF9fc3R1Yl9fX2dy
 b3VwX2Zyb21fZ2lkCnwgY2hva2UgbWUKfCAjZW5kaWYKfCAKfCBpbnQKfCBtYWluICgpCnwgewp8
 IHJldHVybiBncm91cF9mcm9tX2dpZCAoKTsKfCAgIDsKfCAgIHJldHVybiAwOwp8IH0KY29uZmln
 dXJlOjY1NjA6IHJlc3VsdDogbm8KY29uZmlndXJlOjY1NjA6IGNoZWNraW5nIGZvciBwd2NhY2hl
 X2dyb3VwZGIKY29uZmlndXJlOjY1NjA6IGdjYyAtbyBjb25mdGVzdCAtZyAtTzIgICBjb25mdGVz
 dC5jIC1sbnNsICA+JjUKL3RtcC9jYzh6aTd6WC5vOiBJbiBmdW5jdGlvbiBgbWFpbic6Ci9tZWRp
 YS9zZGIyL3NyYy9wa2dzcmMvYm9vdHN0cmFwL3dvcmsvbGlibmJjb21wYXQvY29uZnRlc3QuYzox
 NzI6IHVuZGVmaW5lZCByZWZlcmVuY2UgdG8gYHB3Y2FjaGVfZ3JvdXBkYicKY29sbGVjdDI6IGxk
 IHJldHVybmVkIDEgZXhpdCBzdGF0dXMKY29uZmlndXJlOjY1NjA6ICQ/ID0gMQpjb25maWd1cmU6
 IGZhaWxlZCBwcm9ncmFtIHdhczoKfCAvKiBjb25mZGVmcy5oICovCnwgI2RlZmluZSBQQUNLQUdF
 X05BTUUgImxpYm5iY29tcGF0Igp8ICNkZWZpbmUgUEFDS0FHRV9UQVJOQU1FICJsaWJuYmNvbXBh
 dCIKfCAjZGVmaW5lIFBBQ0tBR0VfVkVSU0lPTiAiMjAwODA2MDUiCnwgI2RlZmluZSBQQUNLQUdF
 X1NUUklORyAibGlibmJjb21wYXQgMjAwODA2MDUiCnwgI2RlZmluZSBQQUNLQUdFX0JVR1JFUE9S
 VCAiZ3JhbnRATmV0QlNELm9yZyIKfCAjZGVmaW5lIFBBQ0tBR0VfVVJMICIiCnwgI2RlZmluZSBT
 VERDX0hFQURFUlMgMQp8ICNkZWZpbmUgVElNRV9XSVRIX1NZU19USU1FIDEKfCAjZGVmaW5lIEhB
 VkVfU1lTX1RZUEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfU1RBVF9IIDEKfCAjZGVmaW5lIEhB
 VkVfU1RETElCX0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJJTkdfSCAxCnwgI2RlZmluZSBIQVZFX01F
 TU9SWV9IIDEKfCAjZGVmaW5lIEhBVkVfU1RSSU5HU19IIDEKfCAjZGVmaW5lIEhBVkVfSU5UVFlQ
 RVNfSCAxCnwgI2RlZmluZSBIQVZFX1NURElOVF9IIDEKfCAjZGVmaW5lIEhBVkVfVU5JU1REX0gg
 MQp8ICNkZWZpbmUgSEFWRV9fQk9PTCAxCnwgI2RlZmluZSBIQVZFX1NUREJPT0xfSCAxCnwgI2Rl
 ZmluZSBIQVZFX0FMTE9DQV9IIDEKfCAjZGVmaW5lIEhBVkVfQVNTRVJUX0ggMQp8ICNkZWZpbmUg
 SEFWRV9DVFlQRV9IIDEKfCAjZGVmaW5lIEhBVkVfRElSRU5UX0ggMQp8ICNkZWZpbmUgSEFWRV9F
 TkRJQU5fSCAxCnwgI2RlZmluZSBIQVZFX0VSUl9IIDEKfCAjZGVmaW5lIEhBVkVfRVJSTk9fSCAx
 CnwgI2RlZmluZSBIQVZFX0ZDTlRMX0ggMQp8ICNkZWZpbmUgSEFWRV9GTk1BVENIX0ggMQp8ICNk
 ZWZpbmUgSEFWRV9GVFNfSCAxCnwgI2RlZmluZSBIQVZFX0dSUF9IIDEKfCAjZGVmaW5lIEhBVkVf
 SU5UVFlQRVNfSCAxCnwgI2RlZmluZSBIQVZFX0xJQlVUSUxfSCAxCnwgI2RlZmluZSBIQVZFX0xJ
 TUlUU19IIDEKfCAjZGVmaW5lIEhBVkVfTkVUREJfSCAxCnwgI2RlZmluZSBIQVZFX1BBVEhTX0gg
 MQp8ICNkZWZpbmUgSEFWRV9QV0RfSCAxCnwgI2RlZmluZSBIQVZFX1NJR05BTF9IIDEKfCAjZGVm
 aW5lIEhBVkVfU1REQVJHX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERERUZfSCAxCnwgI2RlZmluZSBI
 QVZFX1NURElOVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1RESU9fSCAxCnwgI2RlZmluZSBIQVZFX1NU
 RExJQl9IIDEKfCAjZGVmaW5lIEhBVkVfU1RSSU5HX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfQ0RF
 RlNfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19ESVJfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19GSUxF
 X0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfUEFSQU1fSCAxCnwgI2RlZmluZSBIQVZFX1NZU19TT0NL
 RVRfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19TVEFUX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfU1RB
 VEZTX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfU1RBVFZGU19IIDEKfCAjZGVmaW5lIEhBVkVfU1lT
 X1RJTUVfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19UWVBFU19IIDEKfCAjZGVmaW5lIEhBVkVfU1lT
 X1VJT19IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1ZGU19IIDEKfCAjZGVmaW5lIEhBVkVfU1lTRVhJ
 VFNfSCAxCnwgI2RlZmluZSBIQVZFX1RFUk1DQVBfSCAxCnwgI2RlZmluZSBIQVZFX1RJTUVfSCAx
 CnwgI2RlZmluZSBIQVZFX1VOSVNURF9IIDEKfCAjZGVmaW5lIEhBVkVfVVRJTUVfSCAxCnwgI2Rl
 ZmluZSBIQVZFX1NZU19NT1VOVF9IIDEKfCAjZGVmaW5lIEhBVkVfR0xPQl9IIDEKfCAjZGVmaW5l
 IEhBVkVfTkJDT01QQVRfR0xPQiAxCnwgI2RlZmluZSBIQVZFX1NZU19RVUVVRV9IIDEKfCAjZGVm
 aW5lIEhBVkVfTkJDT01QQVRfUVVFVUUgMQp8ICNkZWZpbmUgSEFWRV9SRUdFWF9IIDEKfCAjZGVm
 aW5lIEhBVkVfTkJDT01QQVRfTUQ1IDEKfCAjZGVmaW5lIEhBVkVfTkJDT01QQVRfUk1EMTYwIDEK
 fCAjZGVmaW5lIEhBVkVfTkJDT01QQVRfU0hBMSAxCnwgI2RlZmluZSBIQVZFX05CQ09NUEFUX1NI
 QTIgMQp8ICNkZWZpbmUgSEFWRV9ERUNMX09QVEFSRyAxCnwgI2RlZmluZSBIQVZFX0RFQ0xfT1BU
 SU5EIDEKfCAjZGVmaW5lIEhBVkVfREVDTF9PUFRSRVNFVCAwCnwgI2RlZmluZSBIQVZFX0dFVE9Q
 VF9IIDEKfCAjZGVmaW5lIEhBVkVfU1RSVUNUX09QVElPTiAxCnwgI2RlZmluZSBIQVZFX1ZJU19I
 IDEKfCAjZGVmaW5lIEhBVkVfTkJDT01QQVRfVklTIDEKfCAjZGVmaW5lIEhBVkVfX19BVFRSSUJV
 VEVfXyAxCnwgI2RlZmluZSBIQVZFX1VJTlRQVFJfVCAxCnwgI2RlZmluZSBIQVZFX0xPTkdfTE9O
 RyAxCnwgI2RlZmluZSBIQVZFX0xPTkdfRE9VQkxFIDEKfCAjZGVmaW5lIEhBVkVfRlNJRF9UIDEK
 fCAjZGVmaW5lIFNJWkVPRl9PRkZfVCA0CnwgI2RlZmluZSBIQVZFX1NURExJQl9IIDEKfCAjZGVm
 aW5lIEhBVkVfTUFMTE9DIDEKfCAjZGVmaW5lIEhBVkVfREVDTF9TVFJFUlJPUl9SIDEKfCAjZGVm
 aW5lIEhBVkVfU1RSRVJST1JfUiAxCnwgI2RlZmluZSBIQVZFX0ZPUksgMQp8ICNkZWZpbmUgSEFW
 RV9WRk9SSyAxCnwgI2RlZmluZSBIQVZFX1dPUktJTkdfVkZPUksgMQp8ICNkZWZpbmUgSEFWRV9X
 T1JLSU5HX0ZPUksgMQp8ICNkZWZpbmUgSEFWRV9WUFJJTlRGIDEKfCAjZGVmaW5lIEhBVkVfREVD
 TF9TTlBSSU5URiAxCnwgI2RlZmluZSBIQVZFX0RFQ0xfVkFTUFJJTlRGIDAKfCAjZGVmaW5lIEhB
 VkVfQVNQUklOVEYgMQp8ICNkZWZpbmUgSEFWRV9FUlIgMQp8ICNkZWZpbmUgSEFWRV9GTk1BVENI
 IDEKfCAjZGVmaW5lIEhBVkVfR0VURU5WIDEKfCAjZGVmaW5lIEhBVkVfSVNCTEFOSyAxCnwgI2Rl
 ZmluZSBIQVZFX0xDSE9XTiAxCnwgI2RlZmluZSBIQVZFX0xVVElNRVMgMQp8ICNkZWZpbmUgSEFW
 RV9NS0RURU1QIDEKfCAjZGVmaW5lIEhBVkVfTUtTVEVNUCAxCnwgI2RlZmluZSBIQVZFX1NFVEVO
 ViAxCnwgI2RlZmluZSBIQVZFX1NOUFJJTlRGIDEKfCAjZGVmaW5lIEhBVkVfU1RBVFZGUyAxCnwg
 I2RlZmluZSBIQVZFX1NUUkRVUCAxCnwgI2RlZmluZSBIQVZFX1NUUkVSUk9SIDEKfCAjZGVmaW5l
 IEhBVkVfU1RSU0VQIDEKfCAjZGVmaW5lIEhBVkVfU1RSVE9MTCAxCnwgI2RlZmluZSBIQVZFX1VO
 U0VURU5WIDEKfCAjZGVmaW5lIEhBVkVfVVNMRUVQIDEKfCAjZGVmaW5lIEhBVkVfVVRJTUVTIDEK
 fCAjZGVmaW5lIEhBVkVfV0FSTiAxCnwgI2RlZmluZSBIQVZFX0xJQk5TTCAxCnwgI2RlZmluZSBI
 QVZFX1NPQ0tMRU5fVCAxCnwgI2RlZmluZSBIQVZFX1NUUlVDVF9BRERSSU5GTyAxCnwgI2RlZmlu
 ZSBIQVZFX1NUUlVDVF9JTjZfQUREUiAxCnwgI2RlZmluZSBIQVZFX1NUUlVDVF9TT0NLQUREUl9J
 TjYgMQp8ICNkZWZpbmUgSEFWRV9TVFJVQ1RfU09DS0FERFJfU1RPUkFHRSAxCnwgI2RlZmluZSBI
 QVZFX0dFVE5BTUVJTkZPIDEKfCAjZGVmaW5lIEhBVkVfR0FJX1NUUkVSUk9SIDEKfCAjZGVmaW5l
 IEhBVkVfR0VUQUREUklORk8gMQp8ICNkZWZpbmUgSEFWRV9HRVRFTlYgMQp8ICNkZWZpbmUgSEFW
 RV9TRVRFTlYgMQp8ICNkZWZpbmUgSEFWRV9VTlNFVEVOViAxCnwgI2RlZmluZSBIQVZFX01LRFRF
 TVAgMQp8ICNkZWZpbmUgSEFWRV9NS1NURU1QIDEKfCAjZGVmaW5lIEhBVkVfQkNPUFkgMQp8ICNk
 ZWZpbmUgSEFWRV9CWkVSTyAxCnwgI2RlZmluZSBIQVZFX01FTVNFVCAxCnwgI2RlZmluZSBIQVZF
 X01FTUNQWSAxCnwgI2RlZmluZSBIQVZFX1NFVExPQ0FMRSAxCnwgI2RlZmluZSBIQVZFX0RFQ0xf
 RU5ER1JFTlQgMAp8ICNkZWZpbmUgSEFWRV9ERUNMX0VORFBXRU5UIDAKfCAvKiBlbmQgY29uZmRl
 ZnMuaC4gICovCnwgLyogRGVmaW5lIHB3Y2FjaGVfZ3JvdXBkYiB0byBhbiBpbm5vY3VvdXMgdmFy
 aWFudCwgaW4gY2FzZSA8bGltaXRzLmg+IGRlY2xhcmVzIHB3Y2FjaGVfZ3JvdXBkYi4KfCAgICBG
 b3IgZXhhbXBsZSwgSFAtVVggMTFpIDxsaW1pdHMuaD4gZGVjbGFyZXMgZ2V0dGltZW9mZGF5LiAg
 Ki8KfCAjZGVmaW5lIHB3Y2FjaGVfZ3JvdXBkYiBpbm5vY3VvdXNfcHdjYWNoZV9ncm91cGRiCnwg
 CnwgLyogU3lzdGVtIGhlYWRlciB0byBkZWZpbmUgX19zdHViIG1hY3JvcyBhbmQgaG9wZWZ1bGx5
 IGZldyBwcm90b3R5cGVzLAp8ICAgICB3aGljaCBjYW4gY29uZmxpY3Qgd2l0aCBjaGFyIHB3Y2Fj
 aGVfZ3JvdXBkYiAoKTsgYmVsb3cuCnwgICAgIFByZWZlciA8bGltaXRzLmg+IHRvIDxhc3NlcnQu
 aD4gaWYgX19TVERDX18gaXMgZGVmaW5lZCwgc2luY2UKfCAgICAgPGxpbWl0cy5oPiBleGlzdHMg
 ZXZlbiBvbiBmcmVlc3RhbmRpbmcgY29tcGlsZXJzLiAgKi8KfCAKfCAjaWZkZWYgX19TVERDX18K
 fCAjIGluY2x1ZGUgPGxpbWl0cy5oPgp8ICNlbHNlCnwgIyBpbmNsdWRlIDxhc3NlcnQuaD4KfCAj
 ZW5kaWYKfCAKfCAjdW5kZWYgcHdjYWNoZV9ncm91cGRiCnwgCnwgLyogT3ZlcnJpZGUgYW55IEdD
 QyBpbnRlcm5hbCBwcm90b3R5cGUgdG8gYXZvaWQgYW4gZXJyb3IuCnwgICAgVXNlIGNoYXIgYmVj
 YXVzZSBpbnQgbWlnaHQgbWF0Y2ggdGhlIHJldHVybiB0eXBlIG9mIGEgR0NDCnwgICAgYnVpbHRp
 biBhbmQgdGhlbiBpdHMgYXJndW1lbnQgcHJvdG90eXBlIHdvdWxkIHN0aWxsIGFwcGx5LiAgKi8K
 fCAjaWZkZWYgX19jcGx1c3BsdXMKfCBleHRlcm4gIkMiCnwgI2VuZGlmCnwgY2hhciBwd2NhY2hl
 X2dyb3VwZGIgKCk7CnwgLyogVGhlIEdOVSBDIGxpYnJhcnkgZGVmaW5lcyB0aGlzIGZvciBmdW5j
 dGlvbnMgd2hpY2ggaXQgaW1wbGVtZW50cwp8ICAgICB0byBhbHdheXMgZmFpbCB3aXRoIEVOT1NZ
 Uy4gIFNvbWUgZnVuY3Rpb25zIGFyZSBhY3R1YWxseSBuYW1lZAp8ICAgICBzb21ldGhpbmcgc3Rh
 cnRpbmcgd2l0aCBfXyBhbmQgdGhlIG5vcm1hbCBuYW1lIGlzIGFuIGFsaWFzLiAgKi8KfCAjaWYg
 ZGVmaW5lZCBfX3N0dWJfcHdjYWNoZV9ncm91cGRiIHx8IGRlZmluZWQgX19zdHViX19fcHdjYWNo
 ZV9ncm91cGRiCnwgY2hva2UgbWUKfCAjZW5kaWYKfCAKfCBpbnQKfCBtYWluICgpCnwgewp8IHJl
 dHVybiBwd2NhY2hlX2dyb3VwZGIgKCk7CnwgICA7CnwgICByZXR1cm4gMDsKfCB9CmNvbmZpZ3Vy
 ZTo2NTYwOiByZXN1bHQ6IG5vCmNvbmZpZ3VyZTo2NTYwOiBjaGVja2luZyBmb3IgcHdjYWNoZV91
 c2VyZGIKY29uZmlndXJlOjY1NjA6IGdjYyAtbyBjb25mdGVzdCAtZyAtTzIgICBjb25mdGVzdC5j
 IC1sbnNsICA+JjUKL3RtcC9jY3BjZ0lkOS5vOiBJbiBmdW5jdGlvbiBgbWFpbic6Ci9tZWRpYS9z
 ZGIyL3NyYy9wa2dzcmMvYm9vdHN0cmFwL3dvcmsvbGlibmJjb21wYXQvY29uZnRlc3QuYzoxNzI6
 IHVuZGVmaW5lZCByZWZlcmVuY2UgdG8gYHB3Y2FjaGVfdXNlcmRiJwpjb2xsZWN0MjogbGQgcmV0
 dXJuZWQgMSBleGl0IHN0YXR1cwpjb25maWd1cmU6NjU2MDogJD8gPSAxCmNvbmZpZ3VyZTogZmFp
 bGVkIHByb2dyYW0gd2FzOgp8IC8qIGNvbmZkZWZzLmggKi8KfCAjZGVmaW5lIFBBQ0tBR0VfTkFN
 RSAibGlibmJjb21wYXQiCnwgI2RlZmluZSBQQUNLQUdFX1RBUk5BTUUgImxpYm5iY29tcGF0Igp8
 ICNkZWZpbmUgUEFDS0FHRV9WRVJTSU9OICIyMDA4MDYwNSIKfCAjZGVmaW5lIFBBQ0tBR0VfU1RS
 SU5HICJsaWJuYmNvbXBhdCAyMDA4MDYwNSIKfCAjZGVmaW5lIFBBQ0tBR0VfQlVHUkVQT1JUICJn
 cmFudEBOZXRCU0Qub3JnIgp8ICNkZWZpbmUgUEFDS0FHRV9VUkwgIiIKfCAjZGVmaW5lIFNURENf
 SEVBREVSUyAxCnwgI2RlZmluZSBUSU1FX1dJVEhfU1lTX1RJTUUgMQp8ICNkZWZpbmUgSEFWRV9T
 WVNfVFlQRVNfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19TVEFUX0ggMQp8ICNkZWZpbmUgSEFWRV9T
 VERMSUJfSCAxCnwgI2RlZmluZSBIQVZFX1NUUklOR19IIDEKfCAjZGVmaW5lIEhBVkVfTUVNT1JZ
 X0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJJTkdTX0ggMQp8ICNkZWZpbmUgSEFWRV9JTlRUWVBFU19I
 IDEKfCAjZGVmaW5lIEhBVkVfU1RESU5UX0ggMQp8ICNkZWZpbmUgSEFWRV9VTklTVERfSCAxCnwg
 I2RlZmluZSBIQVZFX19CT09MIDEKfCAjZGVmaW5lIEhBVkVfU1REQk9PTF9IIDEKfCAjZGVmaW5l
 IEhBVkVfQUxMT0NBX0ggMQp8ICNkZWZpbmUgSEFWRV9BU1NFUlRfSCAxCnwgI2RlZmluZSBIQVZF
 X0NUWVBFX0ggMQp8ICNkZWZpbmUgSEFWRV9ESVJFTlRfSCAxCnwgI2RlZmluZSBIQVZFX0VORElB
 Tl9IIDEKfCAjZGVmaW5lIEhBVkVfRVJSX0ggMQp8ICNkZWZpbmUgSEFWRV9FUlJOT19IIDEKfCAj
 ZGVmaW5lIEhBVkVfRkNOVExfSCAxCnwgI2RlZmluZSBIQVZFX0ZOTUFUQ0hfSCAxCnwgI2RlZmlu
 ZSBIQVZFX0ZUU19IIDEKfCAjZGVmaW5lIEhBVkVfR1JQX0ggMQp8ICNkZWZpbmUgSEFWRV9JTlRU
 WVBFU19IIDEKfCAjZGVmaW5lIEhBVkVfTElCVVRJTF9IIDEKfCAjZGVmaW5lIEhBVkVfTElNSVRT
 X0ggMQp8ICNkZWZpbmUgSEFWRV9ORVREQl9IIDEKfCAjZGVmaW5lIEhBVkVfUEFUSFNfSCAxCnwg
 I2RlZmluZSBIQVZFX1BXRF9IIDEKfCAjZGVmaW5lIEhBVkVfU0lHTkFMX0ggMQp8ICNkZWZpbmUg
 SEFWRV9TVERBUkdfSCAxCnwgI2RlZmluZSBIQVZFX1NURERFRl9IIDEKfCAjZGVmaW5lIEhBVkVf
 U1RESU5UX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERJT19IIDEKfCAjZGVmaW5lIEhBVkVfU1RETElC
 X0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJJTkdfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19DREVGU19I
 IDEKfCAjZGVmaW5lIEhBVkVfU1lTX0RJUl9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX0ZJTEVfSCAx
 CnwgI2RlZmluZSBIQVZFX1NZU19QQVJBTV9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NPQ0tFVF9I
 IDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NUQVRfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19TVEFURlNf
 SCAxCnwgI2RlZmluZSBIQVZFX1NZU19TVEFUVkZTX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfVElN
 RV9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1RZUEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfVUlP
 X0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfVkZTX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNFWElUU19I
 IDEKfCAjZGVmaW5lIEhBVkVfVEVSTUNBUF9IIDEKfCAjZGVmaW5lIEhBVkVfVElNRV9IIDEKfCAj
 ZGVmaW5lIEhBVkVfVU5JU1REX0ggMQp8ICNkZWZpbmUgSEFWRV9VVElNRV9IIDEKfCAjZGVmaW5l
 IEhBVkVfU1lTX01PVU5UX0ggMQp8ICNkZWZpbmUgSEFWRV9HTE9CX0ggMQp8ICNkZWZpbmUgSEFW
 RV9OQkNPTVBBVF9HTE9CIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1FVRVVFX0ggMQp8ICNkZWZpbmUg
 SEFWRV9OQkNPTVBBVF9RVUVVRSAxCnwgI2RlZmluZSBIQVZFX1JFR0VYX0ggMQp8ICNkZWZpbmUg
 SEFWRV9OQkNPTVBBVF9NRDUgMQp8ICNkZWZpbmUgSEFWRV9OQkNPTVBBVF9STUQxNjAgMQp8ICNk
 ZWZpbmUgSEFWRV9OQkNPTVBBVF9TSEExIDEKfCAjZGVmaW5lIEhBVkVfTkJDT01QQVRfU0hBMiAx
 CnwgI2RlZmluZSBIQVZFX0RFQ0xfT1BUQVJHIDEKfCAjZGVmaW5lIEhBVkVfREVDTF9PUFRJTkQg
 MQp8ICNkZWZpbmUgSEFWRV9ERUNMX09QVFJFU0VUIDAKfCAjZGVmaW5lIEhBVkVfR0VUT1BUX0gg
 MQp8ICNkZWZpbmUgSEFWRV9TVFJVQ1RfT1BUSU9OIDEKfCAjZGVmaW5lIEhBVkVfVklTX0ggMQp8
 ICNkZWZpbmUgSEFWRV9OQkNPTVBBVF9WSVMgMQp8ICNkZWZpbmUgSEFWRV9fX0FUVFJJQlVURV9f
 IDEKfCAjZGVmaW5lIEhBVkVfVUlOVFBUUl9UIDEKfCAjZGVmaW5lIEhBVkVfTE9OR19MT05HIDEK
 fCAjZGVmaW5lIEhBVkVfTE9OR19ET1VCTEUgMQp8ICNkZWZpbmUgSEFWRV9GU0lEX1QgMQp8ICNk
 ZWZpbmUgU0laRU9GX09GRl9UIDQKfCAjZGVmaW5lIEhBVkVfU1RETElCX0ggMQp8ICNkZWZpbmUg
 SEFWRV9NQUxMT0MgMQp8ICNkZWZpbmUgSEFWRV9ERUNMX1NUUkVSUk9SX1IgMQp8ICNkZWZpbmUg
 SEFWRV9TVFJFUlJPUl9SIDEKfCAjZGVmaW5lIEhBVkVfRk9SSyAxCnwgI2RlZmluZSBIQVZFX1ZG
 T1JLIDEKfCAjZGVmaW5lIEhBVkVfV09SS0lOR19WRk9SSyAxCnwgI2RlZmluZSBIQVZFX1dPUktJ
 TkdfRk9SSyAxCnwgI2RlZmluZSBIQVZFX1ZQUklOVEYgMQp8ICNkZWZpbmUgSEFWRV9ERUNMX1NO
 UFJJTlRGIDEKfCAjZGVmaW5lIEhBVkVfREVDTF9WQVNQUklOVEYgMAp8ICNkZWZpbmUgSEFWRV9B
 U1BSSU5URiAxCnwgI2RlZmluZSBIQVZFX0VSUiAxCnwgI2RlZmluZSBIQVZFX0ZOTUFUQ0ggMQp8
 ICNkZWZpbmUgSEFWRV9HRVRFTlYgMQp8ICNkZWZpbmUgSEFWRV9JU0JMQU5LIDEKfCAjZGVmaW5l
 IEhBVkVfTENIT1dOIDEKfCAjZGVmaW5lIEhBVkVfTFVUSU1FUyAxCnwgI2RlZmluZSBIQVZFX01L
 RFRFTVAgMQp8ICNkZWZpbmUgSEFWRV9NS1NURU1QIDEKfCAjZGVmaW5lIEhBVkVfU0VURU5WIDEK
 fCAjZGVmaW5lIEhBVkVfU05QUklOVEYgMQp8ICNkZWZpbmUgSEFWRV9TVEFUVkZTIDEKfCAjZGVm
 aW5lIEhBVkVfU1RSRFVQIDEKfCAjZGVmaW5lIEhBVkVfU1RSRVJST1IgMQp8ICNkZWZpbmUgSEFW
 RV9TVFJTRVAgMQp8ICNkZWZpbmUgSEFWRV9TVFJUT0xMIDEKfCAjZGVmaW5lIEhBVkVfVU5TRVRF
 TlYgMQp8ICNkZWZpbmUgSEFWRV9VU0xFRVAgMQp8ICNkZWZpbmUgSEFWRV9VVElNRVMgMQp8ICNk
 ZWZpbmUgSEFWRV9XQVJOIDEKfCAjZGVmaW5lIEhBVkVfTElCTlNMIDEKfCAjZGVmaW5lIEhBVkVf
 U09DS0xFTl9UIDEKfCAjZGVmaW5lIEhBVkVfU1RSVUNUX0FERFJJTkZPIDEKfCAjZGVmaW5lIEhB
 VkVfU1RSVUNUX0lONl9BRERSIDEKfCAjZGVmaW5lIEhBVkVfU1RSVUNUX1NPQ0tBRERSX0lONiAx
 CnwgI2RlZmluZSBIQVZFX1NUUlVDVF9TT0NLQUREUl9TVE9SQUdFIDEKfCAjZGVmaW5lIEhBVkVf
 R0VUTkFNRUlORk8gMQp8ICNkZWZpbmUgSEFWRV9HQUlfU1RSRVJST1IgMQp8ICNkZWZpbmUgSEFW
 RV9HRVRBRERSSU5GTyAxCnwgI2RlZmluZSBIQVZFX0dFVEVOViAxCnwgI2RlZmluZSBIQVZFX1NF
 VEVOViAxCnwgI2RlZmluZSBIQVZFX1VOU0VURU5WIDEKfCAjZGVmaW5lIEhBVkVfTUtEVEVNUCAx
 CnwgI2RlZmluZSBIQVZFX01LU1RFTVAgMQp8ICNkZWZpbmUgSEFWRV9CQ09QWSAxCnwgI2RlZmlu
 ZSBIQVZFX0JaRVJPIDEKfCAjZGVmaW5lIEhBVkVfTUVNU0VUIDEKfCAjZGVmaW5lIEhBVkVfTUVN
 Q1BZIDEKfCAjZGVmaW5lIEhBVkVfU0VUTE9DQUxFIDEKfCAjZGVmaW5lIEhBVkVfREVDTF9FTkRH
 UkVOVCAwCnwgI2RlZmluZSBIQVZFX0RFQ0xfRU5EUFdFTlQgMAp8IC8qIGVuZCBjb25mZGVmcy5o
 LiAgKi8KfCAvKiBEZWZpbmUgcHdjYWNoZV91c2VyZGIgdG8gYW4gaW5ub2N1b3VzIHZhcmlhbnQs
 IGluIGNhc2UgPGxpbWl0cy5oPiBkZWNsYXJlcyBwd2NhY2hlX3VzZXJkYi4KfCAgICBGb3IgZXhh
 bXBsZSwgSFAtVVggMTFpIDxsaW1pdHMuaD4gZGVjbGFyZXMgZ2V0dGltZW9mZGF5LiAgKi8KfCAj
 ZGVmaW5lIHB3Y2FjaGVfdXNlcmRiIGlubm9jdW91c19wd2NhY2hlX3VzZXJkYgp8IAp8IC8qIFN5
 c3RlbSBoZWFkZXIgdG8gZGVmaW5lIF9fc3R1YiBtYWNyb3MgYW5kIGhvcGVmdWxseSBmZXcgcHJv
 dG90eXBlcywKfCAgICAgd2hpY2ggY2FuIGNvbmZsaWN0IHdpdGggY2hhciBwd2NhY2hlX3VzZXJk
 YiAoKTsgYmVsb3cuCnwgICAgIFByZWZlciA8bGltaXRzLmg+IHRvIDxhc3NlcnQuaD4gaWYgX19T
 VERDX18gaXMgZGVmaW5lZCwgc2luY2UKfCAgICAgPGxpbWl0cy5oPiBleGlzdHMgZXZlbiBvbiBm
 cmVlc3RhbmRpbmcgY29tcGlsZXJzLiAgKi8KfCAKfCAjaWZkZWYgX19TVERDX18KfCAjIGluY2x1
 ZGUgPGxpbWl0cy5oPgp8ICNlbHNlCnwgIyBpbmNsdWRlIDxhc3NlcnQuaD4KfCAjZW5kaWYKfCAK
 fCAjdW5kZWYgcHdjYWNoZV91c2VyZGIKfCAKfCAvKiBPdmVycmlkZSBhbnkgR0NDIGludGVybmFs
 IHByb3RvdHlwZSB0byBhdm9pZCBhbiBlcnJvci4KfCAgICBVc2UgY2hhciBiZWNhdXNlIGludCBt
 aWdodCBtYXRjaCB0aGUgcmV0dXJuIHR5cGUgb2YgYSBHQ0MKfCAgICBidWlsdGluIGFuZCB0aGVu
 IGl0cyBhcmd1bWVudCBwcm90b3R5cGUgd291bGQgc3RpbGwgYXBwbHkuICAqLwp8ICNpZmRlZiBf
 X2NwbHVzcGx1cwp8IGV4dGVybiAiQyIKfCAjZW5kaWYKfCBjaGFyIHB3Y2FjaGVfdXNlcmRiICgp
 Owp8IC8qIFRoZSBHTlUgQyBsaWJyYXJ5IGRlZmluZXMgdGhpcyBmb3IgZnVuY3Rpb25zIHdoaWNo
 IGl0IGltcGxlbWVudHMKfCAgICAgdG8gYWx3YXlzIGZhaWwgd2l0aCBFTk9TWVMuICBTb21lIGZ1
 bmN0aW9ucyBhcmUgYWN0dWFsbHkgbmFtZWQKfCAgICAgc29tZXRoaW5nIHN0YXJ0aW5nIHdpdGgg
 X18gYW5kIHRoZSBub3JtYWwgbmFtZSBpcyBhbiBhbGlhcy4gICovCnwgI2lmIGRlZmluZWQgX19z
 dHViX3B3Y2FjaGVfdXNlcmRiIHx8IGRlZmluZWQgX19zdHViX19fcHdjYWNoZV91c2VyZGIKfCBj
 aG9rZSBtZQp8ICNlbmRpZgp8IAp8IGludAp8IG1haW4gKCkKfCB7CnwgcmV0dXJuIHB3Y2FjaGVf
 dXNlcmRiICgpOwp8ICAgOwp8ICAgcmV0dXJuIDA7CnwgfQpjb25maWd1cmU6NjU2MDogcmVzdWx0
 OiBubwpjb25maWd1cmU6NjU2MDogY2hlY2tpbmcgZm9yIHVpZF9mcm9tX3VzZXIKY29uZmlndXJl
 OjY1NjA6IGdjYyAtbyBjb25mdGVzdCAtZyAtTzIgICBjb25mdGVzdC5jIC1sbnNsICA+JjUKL3Rt
 cC9jY2U2Wm1ibC5vOiBJbiBmdW5jdGlvbiBgbWFpbic6Ci9tZWRpYS9zZGIyL3NyYy9wa2dzcmMv
 Ym9vdHN0cmFwL3dvcmsvbGlibmJjb21wYXQvY29uZnRlc3QuYzoxNzI6IHVuZGVmaW5lZCByZWZl
 cmVuY2UgdG8gYHVpZF9mcm9tX3VzZXInCmNvbGxlY3QyOiBsZCByZXR1cm5lZCAxIGV4aXQgc3Rh
 dHVzCmNvbmZpZ3VyZTo2NTYwOiAkPyA9IDEKY29uZmlndXJlOiBmYWlsZWQgcHJvZ3JhbSB3YXM6
 CnwgLyogY29uZmRlZnMuaCAqLwp8ICNkZWZpbmUgUEFDS0FHRV9OQU1FICJsaWJuYmNvbXBhdCIK
 fCAjZGVmaW5lIFBBQ0tBR0VfVEFSTkFNRSAibGlibmJjb21wYXQiCnwgI2RlZmluZSBQQUNLQUdF
 X1ZFUlNJT04gIjIwMDgwNjA1Igp8ICNkZWZpbmUgUEFDS0FHRV9TVFJJTkcgImxpYm5iY29tcGF0
 IDIwMDgwNjA1Igp8ICNkZWZpbmUgUEFDS0FHRV9CVUdSRVBPUlQgImdyYW50QE5ldEJTRC5vcmci
 CnwgI2RlZmluZSBQQUNLQUdFX1VSTCAiIgp8ICNkZWZpbmUgU1REQ19IRUFERVJTIDEKfCAjZGVm
 aW5lIFRJTUVfV0lUSF9TWVNfVElNRSAxCnwgI2RlZmluZSBIQVZFX1NZU19UWVBFU19IIDEKfCAj
 ZGVmaW5lIEhBVkVfU1lTX1NUQVRfSCAxCnwgI2RlZmluZSBIQVZFX1NURExJQl9IIDEKfCAjZGVm
 aW5lIEhBVkVfU1RSSU5HX0ggMQp8ICNkZWZpbmUgSEFWRV9NRU1PUllfSCAxCnwgI2RlZmluZSBI
 QVZFX1NUUklOR1NfSCAxCnwgI2RlZmluZSBIQVZFX0lOVFRZUEVTX0ggMQp8ICNkZWZpbmUgSEFW
 RV9TVERJTlRfSCAxCnwgI2RlZmluZSBIQVZFX1VOSVNURF9IIDEKfCAjZGVmaW5lIEhBVkVfX0JP
 T0wgMQp8ICNkZWZpbmUgSEFWRV9TVERCT09MX0ggMQp8ICNkZWZpbmUgSEFWRV9BTExPQ0FfSCAx
 CnwgI2RlZmluZSBIQVZFX0FTU0VSVF9IIDEKfCAjZGVmaW5lIEhBVkVfQ1RZUEVfSCAxCnwgI2Rl
 ZmluZSBIQVZFX0RJUkVOVF9IIDEKfCAjZGVmaW5lIEhBVkVfRU5ESUFOX0ggMQp8ICNkZWZpbmUg
 SEFWRV9FUlJfSCAxCnwgI2RlZmluZSBIQVZFX0VSUk5PX0ggMQp8ICNkZWZpbmUgSEFWRV9GQ05U
 TF9IIDEKfCAjZGVmaW5lIEhBVkVfRk5NQVRDSF9IIDEKfCAjZGVmaW5lIEhBVkVfRlRTX0ggMQp8
 ICNkZWZpbmUgSEFWRV9HUlBfSCAxCnwgI2RlZmluZSBIQVZFX0lOVFRZUEVTX0ggMQp8ICNkZWZp
 bmUgSEFWRV9MSUJVVElMX0ggMQp8ICNkZWZpbmUgSEFWRV9MSU1JVFNfSCAxCnwgI2RlZmluZSBI
 QVZFX05FVERCX0ggMQp8ICNkZWZpbmUgSEFWRV9QQVRIU19IIDEKfCAjZGVmaW5lIEhBVkVfUFdE
 X0ggMQp8ICNkZWZpbmUgSEFWRV9TSUdOQUxfSCAxCnwgI2RlZmluZSBIQVZFX1NUREFSR19IIDEK
 fCAjZGVmaW5lIEhBVkVfU1REREVGX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERJTlRfSCAxCnwgI2Rl
 ZmluZSBIQVZFX1NURElPX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERMSUJfSCAxCnwgI2RlZmluZSBI
 QVZFX1NUUklOR19IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX0NERUZTX0ggMQp8ICNkZWZpbmUgSEFW
 RV9TWVNfRElSX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfRklMRV9IIDEKfCAjZGVmaW5lIEhBVkVf
 U1lTX1BBUkFNX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfU09DS0VUX0ggMQp8ICNkZWZpbmUgSEFW
 RV9TWVNfU1RBVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NUQVRGU19IIDEKfCAjZGVmaW5lIEhB
 VkVfU1lTX1NUQVRWRlNfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19USU1FX0ggMQp8ICNkZWZpbmUg
 SEFWRV9TWVNfVFlQRVNfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19VSU9fSCAxCnwgI2RlZmluZSBI
 QVZFX1NZU19WRlNfSCAxCnwgI2RlZmluZSBIQVZFX1NZU0VYSVRTX0ggMQp8ICNkZWZpbmUgSEFW
 RV9URVJNQ0FQX0ggMQp8ICNkZWZpbmUgSEFWRV9USU1FX0ggMQp8ICNkZWZpbmUgSEFWRV9VTklT
 VERfSCAxCnwgI2RlZmluZSBIQVZFX1VUSU1FX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfTU9VTlRf
 SCAxCnwgI2RlZmluZSBIQVZFX0dMT0JfSCAxCnwgI2RlZmluZSBIQVZFX05CQ09NUEFUX0dMT0Ig
 MQp8ICNkZWZpbmUgSEFWRV9TWVNfUVVFVUVfSCAxCnwgI2RlZmluZSBIQVZFX05CQ09NUEFUX1FV
 RVVFIDEKfCAjZGVmaW5lIEhBVkVfUkVHRVhfSCAxCnwgI2RlZmluZSBIQVZFX05CQ09NUEFUX01E
 NSAxCnwgI2RlZmluZSBIQVZFX05CQ09NUEFUX1JNRDE2MCAxCnwgI2RlZmluZSBIQVZFX05CQ09N
 UEFUX1NIQTEgMQp8ICNkZWZpbmUgSEFWRV9OQkNPTVBBVF9TSEEyIDEKfCAjZGVmaW5lIEhBVkVf
 REVDTF9PUFRBUkcgMQp8ICNkZWZpbmUgSEFWRV9ERUNMX09QVElORCAxCnwgI2RlZmluZSBIQVZF
 X0RFQ0xfT1BUUkVTRVQgMAp8ICNkZWZpbmUgSEFWRV9HRVRPUFRfSCAxCnwgI2RlZmluZSBIQVZF
 X1NUUlVDVF9PUFRJT04gMQp8ICNkZWZpbmUgSEFWRV9WSVNfSCAxCnwgI2RlZmluZSBIQVZFX05C
 Q09NUEFUX1ZJUyAxCnwgI2RlZmluZSBIQVZFX19fQVRUUklCVVRFX18gMQp8ICNkZWZpbmUgSEFW
 RV9VSU5UUFRSX1QgMQp8ICNkZWZpbmUgSEFWRV9MT05HX0xPTkcgMQp8ICNkZWZpbmUgSEFWRV9M
 T05HX0RPVUJMRSAxCnwgI2RlZmluZSBIQVZFX0ZTSURfVCAxCnwgI2RlZmluZSBTSVpFT0ZfT0ZG
 X1QgNAp8ICNkZWZpbmUgSEFWRV9TVERMSUJfSCAxCnwgI2RlZmluZSBIQVZFX01BTExPQyAxCnwg
 I2RlZmluZSBIQVZFX0RFQ0xfU1RSRVJST1JfUiAxCnwgI2RlZmluZSBIQVZFX1NUUkVSUk9SX1Ig
 MQp8ICNkZWZpbmUgSEFWRV9GT1JLIDEKfCAjZGVmaW5lIEhBVkVfVkZPUksgMQp8ICNkZWZpbmUg
 SEFWRV9XT1JLSU5HX1ZGT1JLIDEKfCAjZGVmaW5lIEhBVkVfV09SS0lOR19GT1JLIDEKfCAjZGVm
 aW5lIEhBVkVfVlBSSU5URiAxCnwgI2RlZmluZSBIQVZFX0RFQ0xfU05QUklOVEYgMQp8ICNkZWZp
 bmUgSEFWRV9ERUNMX1ZBU1BSSU5URiAwCnwgI2RlZmluZSBIQVZFX0FTUFJJTlRGIDEKfCAjZGVm
 aW5lIEhBVkVfRVJSIDEKfCAjZGVmaW5lIEhBVkVfRk5NQVRDSCAxCnwgI2RlZmluZSBIQVZFX0dF
 VEVOViAxCnwgI2RlZmluZSBIQVZFX0lTQkxBTksgMQp8ICNkZWZpbmUgSEFWRV9MQ0hPV04gMQp8
 ICNkZWZpbmUgSEFWRV9MVVRJTUVTIDEKfCAjZGVmaW5lIEhBVkVfTUtEVEVNUCAxCnwgI2RlZmlu
 ZSBIQVZFX01LU1RFTVAgMQp8ICNkZWZpbmUgSEFWRV9TRVRFTlYgMQp8ICNkZWZpbmUgSEFWRV9T
 TlBSSU5URiAxCnwgI2RlZmluZSBIQVZFX1NUQVRWRlMgMQp8ICNkZWZpbmUgSEFWRV9TVFJEVVAg
 MQp8ICNkZWZpbmUgSEFWRV9TVFJFUlJPUiAxCnwgI2RlZmluZSBIQVZFX1NUUlNFUCAxCnwgI2Rl
 ZmluZSBIQVZFX1NUUlRPTEwgMQp8ICNkZWZpbmUgSEFWRV9VTlNFVEVOViAxCnwgI2RlZmluZSBI
 QVZFX1VTTEVFUCAxCnwgI2RlZmluZSBIQVZFX1VUSU1FUyAxCnwgI2RlZmluZSBIQVZFX1dBUk4g
 MQp8ICNkZWZpbmUgSEFWRV9MSUJOU0wgMQp8ICNkZWZpbmUgSEFWRV9TT0NLTEVOX1QgMQp8ICNk
 ZWZpbmUgSEFWRV9TVFJVQ1RfQUREUklORk8gMQp8ICNkZWZpbmUgSEFWRV9TVFJVQ1RfSU42X0FE
 RFIgMQp8ICNkZWZpbmUgSEFWRV9TVFJVQ1RfU09DS0FERFJfSU42IDEKfCAjZGVmaW5lIEhBVkVf
 U1RSVUNUX1NPQ0tBRERSX1NUT1JBR0UgMQp8ICNkZWZpbmUgSEFWRV9HRVROQU1FSU5GTyAxCnwg
 I2RlZmluZSBIQVZFX0dBSV9TVFJFUlJPUiAxCnwgI2RlZmluZSBIQVZFX0dFVEFERFJJTkZPIDEK
 fCAjZGVmaW5lIEhBVkVfR0VURU5WIDEKfCAjZGVmaW5lIEhBVkVfU0VURU5WIDEKfCAjZGVmaW5l
 IEhBVkVfVU5TRVRFTlYgMQp8ICNkZWZpbmUgSEFWRV9NS0RURU1QIDEKfCAjZGVmaW5lIEhBVkVf
 TUtTVEVNUCAxCnwgI2RlZmluZSBIQVZFX0JDT1BZIDEKfCAjZGVmaW5lIEhBVkVfQlpFUk8gMQp8
 ICNkZWZpbmUgSEFWRV9NRU1TRVQgMQp8ICNkZWZpbmUgSEFWRV9NRU1DUFkgMQp8ICNkZWZpbmUg
 SEFWRV9TRVRMT0NBTEUgMQp8ICNkZWZpbmUgSEFWRV9ERUNMX0VOREdSRU5UIDAKfCAjZGVmaW5l
 IEhBVkVfREVDTF9FTkRQV0VOVCAwCnwgLyogZW5kIGNvbmZkZWZzLmguICAqLwp8IC8qIERlZmlu
 ZSB1aWRfZnJvbV91c2VyIHRvIGFuIGlubm9jdW91cyB2YXJpYW50LCBpbiBjYXNlIDxsaW1pdHMu
 aD4gZGVjbGFyZXMgdWlkX2Zyb21fdXNlci4KfCAgICBGb3IgZXhhbXBsZSwgSFAtVVggMTFpIDxs
 aW1pdHMuaD4gZGVjbGFyZXMgZ2V0dGltZW9mZGF5LiAgKi8KfCAjZGVmaW5lIHVpZF9mcm9tX3Vz
 ZXIgaW5ub2N1b3VzX3VpZF9mcm9tX3VzZXIKfCAKfCAvKiBTeXN0ZW0gaGVhZGVyIHRvIGRlZmlu
 ZSBfX3N0dWIgbWFjcm9zIGFuZCBob3BlZnVsbHkgZmV3IHByb3RvdHlwZXMsCnwgICAgIHdoaWNo
 IGNhbiBjb25mbGljdCB3aXRoIGNoYXIgdWlkX2Zyb21fdXNlciAoKTsgYmVsb3cuCnwgICAgIFBy
 ZWZlciA8bGltaXRzLmg+IHRvIDxhc3NlcnQuaD4gaWYgX19TVERDX18gaXMgZGVmaW5lZCwgc2lu
 Y2UKfCAgICAgPGxpbWl0cy5oPiBleGlzdHMgZXZlbiBvbiBmcmVlc3RhbmRpbmcgY29tcGlsZXJz
 LiAgKi8KfCAKfCAjaWZkZWYgX19TVERDX18KfCAjIGluY2x1ZGUgPGxpbWl0cy5oPgp8ICNlbHNl
 CnwgIyBpbmNsdWRlIDxhc3NlcnQuaD4KfCAjZW5kaWYKfCAKfCAjdW5kZWYgdWlkX2Zyb21fdXNl
 cgp8IAp8IC8qIE92ZXJyaWRlIGFueSBHQ0MgaW50ZXJuYWwgcHJvdG90eXBlIHRvIGF2b2lkIGFu
 IGVycm9yLgp8ICAgIFVzZSBjaGFyIGJlY2F1c2UgaW50IG1pZ2h0IG1hdGNoIHRoZSByZXR1cm4g
 dHlwZSBvZiBhIEdDQwp8ICAgIGJ1aWx0aW4gYW5kIHRoZW4gaXRzIGFyZ3VtZW50IHByb3RvdHlw
 ZSB3b3VsZCBzdGlsbCBhcHBseS4gICovCnwgI2lmZGVmIF9fY3BsdXNwbHVzCnwgZXh0ZXJuICJD
 Igp8ICNlbmRpZgp8IGNoYXIgdWlkX2Zyb21fdXNlciAoKTsKfCAvKiBUaGUgR05VIEMgbGlicmFy
 eSBkZWZpbmVzIHRoaXMgZm9yIGZ1bmN0aW9ucyB3aGljaCBpdCBpbXBsZW1lbnRzCnwgICAgIHRv
 IGFsd2F5cyBmYWlsIHdpdGggRU5PU1lTLiAgU29tZSBmdW5jdGlvbnMgYXJlIGFjdHVhbGx5IG5h
 bWVkCnwgICAgIHNvbWV0aGluZyBzdGFydGluZyB3aXRoIF9fIGFuZCB0aGUgbm9ybWFsIG5hbWUg
 aXMgYW4gYWxpYXMuICAqLwp8ICNpZiBkZWZpbmVkIF9fc3R1Yl91aWRfZnJvbV91c2VyIHx8IGRl
 ZmluZWQgX19zdHViX19fdWlkX2Zyb21fdXNlcgp8IGNob2tlIG1lCnwgI2VuZGlmCnwgCnwgaW50
 CnwgbWFpbiAoKQp8IHsKfCByZXR1cm4gdWlkX2Zyb21fdXNlciAoKTsKfCAgIDsKfCAgIHJldHVy
 biAwOwp8IH0KY29uZmlndXJlOjY1NjA6IHJlc3VsdDogbm8KY29uZmlndXJlOjY1NjA6IGNoZWNr
 aW5nIGZvciB1c2VyX2Zyb21fdWlkCmNvbmZpZ3VyZTo2NTYwOiBnY2MgLW8gY29uZnRlc3QgLWcg
 LU8yICAgY29uZnRlc3QuYyAtbG5zbCAgPiY1Ci90bXAvY2NRTENnd3UubzogSW4gZnVuY3Rpb24g
 YG1haW4nOgovbWVkaWEvc2RiMi9zcmMvcGtnc3JjL2Jvb3RzdHJhcC93b3JrL2xpYm5iY29tcGF0
 L2NvbmZ0ZXN0LmM6MTcyOiB1bmRlZmluZWQgcmVmZXJlbmNlIHRvIGB1c2VyX2Zyb21fdWlkJwpj
 b2xsZWN0MjogbGQgcmV0dXJuZWQgMSBleGl0IHN0YXR1cwpjb25maWd1cmU6NjU2MDogJD8gPSAx
 CmNvbmZpZ3VyZTogZmFpbGVkIHByb2dyYW0gd2FzOgp8IC8qIGNvbmZkZWZzLmggKi8KfCAjZGVm
 aW5lIFBBQ0tBR0VfTkFNRSAibGlibmJjb21wYXQiCnwgI2RlZmluZSBQQUNLQUdFX1RBUk5BTUUg
 ImxpYm5iY29tcGF0Igp8ICNkZWZpbmUgUEFDS0FHRV9WRVJTSU9OICIyMDA4MDYwNSIKfCAjZGVm
 aW5lIFBBQ0tBR0VfU1RSSU5HICJsaWJuYmNvbXBhdCAyMDA4MDYwNSIKfCAjZGVmaW5lIFBBQ0tB
 R0VfQlVHUkVQT1JUICJncmFudEBOZXRCU0Qub3JnIgp8ICNkZWZpbmUgUEFDS0FHRV9VUkwgIiIK
 fCAjZGVmaW5lIFNURENfSEVBREVSUyAxCnwgI2RlZmluZSBUSU1FX1dJVEhfU1lTX1RJTUUgMQp8
 ICNkZWZpbmUgSEFWRV9TWVNfVFlQRVNfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19TVEFUX0ggMQp8
 ICNkZWZpbmUgSEFWRV9TVERMSUJfSCAxCnwgI2RlZmluZSBIQVZFX1NUUklOR19IIDEKfCAjZGVm
 aW5lIEhBVkVfTUVNT1JZX0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJJTkdTX0ggMQp8ICNkZWZpbmUg
 SEFWRV9JTlRUWVBFU19IIDEKfCAjZGVmaW5lIEhBVkVfU1RESU5UX0ggMQp8ICNkZWZpbmUgSEFW
 RV9VTklTVERfSCAxCnwgI2RlZmluZSBIQVZFX19CT09MIDEKfCAjZGVmaW5lIEhBVkVfU1REQk9P
 TF9IIDEKfCAjZGVmaW5lIEhBVkVfQUxMT0NBX0ggMQp8ICNkZWZpbmUgSEFWRV9BU1NFUlRfSCAx
 CnwgI2RlZmluZSBIQVZFX0NUWVBFX0ggMQp8ICNkZWZpbmUgSEFWRV9ESVJFTlRfSCAxCnwgI2Rl
 ZmluZSBIQVZFX0VORElBTl9IIDEKfCAjZGVmaW5lIEhBVkVfRVJSX0ggMQp8ICNkZWZpbmUgSEFW
 RV9FUlJOT19IIDEKfCAjZGVmaW5lIEhBVkVfRkNOVExfSCAxCnwgI2RlZmluZSBIQVZFX0ZOTUFU
 Q0hfSCAxCnwgI2RlZmluZSBIQVZFX0ZUU19IIDEKfCAjZGVmaW5lIEhBVkVfR1JQX0ggMQp8ICNk
 ZWZpbmUgSEFWRV9JTlRUWVBFU19IIDEKfCAjZGVmaW5lIEhBVkVfTElCVVRJTF9IIDEKfCAjZGVm
 aW5lIEhBVkVfTElNSVRTX0ggMQp8ICNkZWZpbmUgSEFWRV9ORVREQl9IIDEKfCAjZGVmaW5lIEhB
 VkVfUEFUSFNfSCAxCnwgI2RlZmluZSBIQVZFX1BXRF9IIDEKfCAjZGVmaW5lIEhBVkVfU0lHTkFM
 X0ggMQp8ICNkZWZpbmUgSEFWRV9TVERBUkdfSCAxCnwgI2RlZmluZSBIQVZFX1NURERFRl9IIDEK
 fCAjZGVmaW5lIEhBVkVfU1RESU5UX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERJT19IIDEKfCAjZGVm
 aW5lIEhBVkVfU1RETElCX0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJJTkdfSCAxCnwgI2RlZmluZSBI
 QVZFX1NZU19DREVGU19IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX0RJUl9IIDEKfCAjZGVmaW5lIEhB
 VkVfU1lTX0ZJTEVfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19QQVJBTV9IIDEKfCAjZGVmaW5lIEhB
 VkVfU1lTX1NPQ0tFVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NUQVRfSCAxCnwgI2RlZmluZSBI
 QVZFX1NZU19TVEFURlNfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19TVEFUVkZTX0ggMQp8ICNkZWZp
 bmUgSEFWRV9TWVNfVElNRV9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1RZUEVTX0ggMQp8ICNkZWZp
 bmUgSEFWRV9TWVNfVUlPX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfVkZTX0ggMQp8ICNkZWZpbmUg
 SEFWRV9TWVNFWElUU19IIDEKfCAjZGVmaW5lIEhBVkVfVEVSTUNBUF9IIDEKfCAjZGVmaW5lIEhB
 VkVfVElNRV9IIDEKfCAjZGVmaW5lIEhBVkVfVU5JU1REX0ggMQp8ICNkZWZpbmUgSEFWRV9VVElN
 RV9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX01PVU5UX0ggMQp8ICNkZWZpbmUgSEFWRV9HTE9CX0gg
 MQp8ICNkZWZpbmUgSEFWRV9OQkNPTVBBVF9HTE9CIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1FVRVVF
 X0ggMQp8ICNkZWZpbmUgSEFWRV9OQkNPTVBBVF9RVUVVRSAxCnwgI2RlZmluZSBIQVZFX1JFR0VY
 X0ggMQp8ICNkZWZpbmUgSEFWRV9OQkNPTVBBVF9NRDUgMQp8ICNkZWZpbmUgSEFWRV9OQkNPTVBB
 VF9STUQxNjAgMQp8ICNkZWZpbmUgSEFWRV9OQkNPTVBBVF9TSEExIDEKfCAjZGVmaW5lIEhBVkVf
 TkJDT01QQVRfU0hBMiAxCnwgI2RlZmluZSBIQVZFX0RFQ0xfT1BUQVJHIDEKfCAjZGVmaW5lIEhB
 VkVfREVDTF9PUFRJTkQgMQp8ICNkZWZpbmUgSEFWRV9ERUNMX09QVFJFU0VUIDAKfCAjZGVmaW5l
 IEhBVkVfR0VUT1BUX0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJVQ1RfT1BUSU9OIDEKfCAjZGVmaW5l
 IEhBVkVfVklTX0ggMQp8ICNkZWZpbmUgSEFWRV9OQkNPTVBBVF9WSVMgMQp8ICNkZWZpbmUgSEFW
 RV9fX0FUVFJJQlVURV9fIDEKfCAjZGVmaW5lIEhBVkVfVUlOVFBUUl9UIDEKfCAjZGVmaW5lIEhB
 VkVfTE9OR19MT05HIDEKfCAjZGVmaW5lIEhBVkVfTE9OR19ET1VCTEUgMQp8ICNkZWZpbmUgSEFW
 RV9GU0lEX1QgMQp8ICNkZWZpbmUgU0laRU9GX09GRl9UIDQKfCAjZGVmaW5lIEhBVkVfU1RETElC
 X0ggMQp8ICNkZWZpbmUgSEFWRV9NQUxMT0MgMQp8ICNkZWZpbmUgSEFWRV9ERUNMX1NUUkVSUk9S
 X1IgMQp8ICNkZWZpbmUgSEFWRV9TVFJFUlJPUl9SIDEKfCAjZGVmaW5lIEhBVkVfRk9SSyAxCnwg
 I2RlZmluZSBIQVZFX1ZGT1JLIDEKfCAjZGVmaW5lIEhBVkVfV09SS0lOR19WRk9SSyAxCnwgI2Rl
 ZmluZSBIQVZFX1dPUktJTkdfRk9SSyAxCnwgI2RlZmluZSBIQVZFX1ZQUklOVEYgMQp8ICNkZWZp
 bmUgSEFWRV9ERUNMX1NOUFJJTlRGIDEKfCAjZGVmaW5lIEhBVkVfREVDTF9WQVNQUklOVEYgMAp8
 ICNkZWZpbmUgSEFWRV9BU1BSSU5URiAxCnwgI2RlZmluZSBIQVZFX0VSUiAxCnwgI2RlZmluZSBI
 QVZFX0ZOTUFUQ0ggMQp8ICNkZWZpbmUgSEFWRV9HRVRFTlYgMQp8ICNkZWZpbmUgSEFWRV9JU0JM
 QU5LIDEKfCAjZGVmaW5lIEhBVkVfTENIT1dOIDEKfCAjZGVmaW5lIEhBVkVfTFVUSU1FUyAxCnwg
 I2RlZmluZSBIQVZFX01LRFRFTVAgMQp8ICNkZWZpbmUgSEFWRV9NS1NURU1QIDEKfCAjZGVmaW5l
 IEhBVkVfU0VURU5WIDEKfCAjZGVmaW5lIEhBVkVfU05QUklOVEYgMQp8ICNkZWZpbmUgSEFWRV9T
 VEFUVkZTIDEKfCAjZGVmaW5lIEhBVkVfU1RSRFVQIDEKfCAjZGVmaW5lIEhBVkVfU1RSRVJST1Ig
 MQp8ICNkZWZpbmUgSEFWRV9TVFJTRVAgMQp8ICNkZWZpbmUgSEFWRV9TVFJUT0xMIDEKfCAjZGVm
 aW5lIEhBVkVfVU5TRVRFTlYgMQp8ICNkZWZpbmUgSEFWRV9VU0xFRVAgMQp8ICNkZWZpbmUgSEFW
 RV9VVElNRVMgMQp8ICNkZWZpbmUgSEFWRV9XQVJOIDEKfCAjZGVmaW5lIEhBVkVfTElCTlNMIDEK
 fCAjZGVmaW5lIEhBVkVfU09DS0xFTl9UIDEKfCAjZGVmaW5lIEhBVkVfU1RSVUNUX0FERFJJTkZP
 IDEKfCAjZGVmaW5lIEhBVkVfU1RSVUNUX0lONl9BRERSIDEKfCAjZGVmaW5lIEhBVkVfU1RSVUNU
 X1NPQ0tBRERSX0lONiAxCnwgI2RlZmluZSBIQVZFX1NUUlVDVF9TT0NLQUREUl9TVE9SQUdFIDEK
 fCAjZGVmaW5lIEhBVkVfR0VUTkFNRUlORk8gMQp8ICNkZWZpbmUgSEFWRV9HQUlfU1RSRVJST1Ig
 MQp8ICNkZWZpbmUgSEFWRV9HRVRBRERSSU5GTyAxCnwgI2RlZmluZSBIQVZFX0dFVEVOViAxCnwg
 I2RlZmluZSBIQVZFX1NFVEVOViAxCnwgI2RlZmluZSBIQVZFX1VOU0VURU5WIDEKfCAjZGVmaW5l
 IEhBVkVfTUtEVEVNUCAxCnwgI2RlZmluZSBIQVZFX01LU1RFTVAgMQp8ICNkZWZpbmUgSEFWRV9C
 Q09QWSAxCnwgI2RlZmluZSBIQVZFX0JaRVJPIDEKfCAjZGVmaW5lIEhBVkVfTUVNU0VUIDEKfCAj
 ZGVmaW5lIEhBVkVfTUVNQ1BZIDEKfCAjZGVmaW5lIEhBVkVfU0VUTE9DQUxFIDEKfCAjZGVmaW5l
 IEhBVkVfREVDTF9FTkRHUkVOVCAwCnwgI2RlZmluZSBIQVZFX0RFQ0xfRU5EUFdFTlQgMAp8IC8q
 IGVuZCBjb25mZGVmcy5oLiAgKi8KfCAvKiBEZWZpbmUgdXNlcl9mcm9tX3VpZCB0byBhbiBpbm5v
 Y3VvdXMgdmFyaWFudCwgaW4gY2FzZSA8bGltaXRzLmg+IGRlY2xhcmVzIHVzZXJfZnJvbV91aWQu
 CnwgICAgRm9yIGV4YW1wbGUsIEhQLVVYIDExaSA8bGltaXRzLmg+IGRlY2xhcmVzIGdldHRpbWVv
 ZmRheS4gICovCnwgI2RlZmluZSB1c2VyX2Zyb21fdWlkIGlubm9jdW91c191c2VyX2Zyb21fdWlk
 CnwgCnwgLyogU3lzdGVtIGhlYWRlciB0byBkZWZpbmUgX19zdHViIG1hY3JvcyBhbmQgaG9wZWZ1
 bGx5IGZldyBwcm90b3R5cGVzLAp8ICAgICB3aGljaCBjYW4gY29uZmxpY3Qgd2l0aCBjaGFyIHVz
 ZXJfZnJvbV91aWQgKCk7IGJlbG93Lgp8ICAgICBQcmVmZXIgPGxpbWl0cy5oPiB0byA8YXNzZXJ0
 Lmg+IGlmIF9fU1REQ19fIGlzIGRlZmluZWQsIHNpbmNlCnwgICAgIDxsaW1pdHMuaD4gZXhpc3Rz
 IGV2ZW4gb24gZnJlZXN0YW5kaW5nIGNvbXBpbGVycy4gICovCnwgCnwgI2lmZGVmIF9fU1REQ19f
 CnwgIyBpbmNsdWRlIDxsaW1pdHMuaD4KfCAjZWxzZQp8ICMgaW5jbHVkZSA8YXNzZXJ0Lmg+Cnwg
 I2VuZGlmCnwgCnwgI3VuZGVmIHVzZXJfZnJvbV91aWQKfCAKfCAvKiBPdmVycmlkZSBhbnkgR0ND
 IGludGVybmFsIHByb3RvdHlwZSB0byBhdm9pZCBhbiBlcnJvci4KfCAgICBVc2UgY2hhciBiZWNh
 dXNlIGludCBtaWdodCBtYXRjaCB0aGUgcmV0dXJuIHR5cGUgb2YgYSBHQ0MKfCAgICBidWlsdGlu
 IGFuZCB0aGVuIGl0cyBhcmd1bWVudCBwcm90b3R5cGUgd291bGQgc3RpbGwgYXBwbHkuICAqLwp8
 ICNpZmRlZiBfX2NwbHVzcGx1cwp8IGV4dGVybiAiQyIKfCAjZW5kaWYKfCBjaGFyIHVzZXJfZnJv
 bV91aWQgKCk7CnwgLyogVGhlIEdOVSBDIGxpYnJhcnkgZGVmaW5lcyB0aGlzIGZvciBmdW5jdGlv
 bnMgd2hpY2ggaXQgaW1wbGVtZW50cwp8ICAgICB0byBhbHdheXMgZmFpbCB3aXRoIEVOT1NZUy4g
 IFNvbWUgZnVuY3Rpb25zIGFyZSBhY3R1YWxseSBuYW1lZAp8ICAgICBzb21ldGhpbmcgc3RhcnRp
 bmcgd2l0aCBfXyBhbmQgdGhlIG5vcm1hbCBuYW1lIGlzIGFuIGFsaWFzLiAgKi8KfCAjaWYgZGVm
 aW5lZCBfX3N0dWJfdXNlcl9mcm9tX3VpZCB8fCBkZWZpbmVkIF9fc3R1Yl9fX3VzZXJfZnJvbV91
 aWQKfCBjaG9rZSBtZQp8ICNlbmRpZgp8IAp8IGludAp8IG1haW4gKCkKfCB7CnwgcmV0dXJuIHVz
 ZXJfZnJvbV91aWQgKCk7CnwgICA7CnwgICByZXR1cm4gMDsKfCB9CmNvbmZpZ3VyZTo2NTYwOiBy
 ZXN1bHQ6IG5vCmNvbmZpZ3VyZTo2NTgxOiBjaGVja2luZyBmb3IgZnRzX29wZW4KY29uZmlndXJl
 OjY1ODE6IGdjYyAtbyBjb25mdGVzdCAtZyAtTzIgICBjb25mdGVzdC5jIC1sbnNsICA+JjUKY29u
 ZmlndXJlOjY1ODE6ICQ/ID0gMApjb25maWd1cmU6NjU4MTogcmVzdWx0OiB5ZXMKY29uZmlndXJl
 OjY1OTk6IGNoZWNraW5nIGZvciB0aW1lZ20KY29uZmlndXJlOjY1OTk6IGdjYyAtbyBjb25mdGVz
 dCAtZyAtTzIgICBjb25mdGVzdC5jIC1sbnNsICA+JjUKY29uZmlndXJlOjY1OTk6ICQ/ID0gMApj
 b25maWd1cmU6NjU5OTogcmVzdWx0OiB5ZXMKY29uZmlndXJlOjY2MjA6IGNoZWNraW5nIHBvbGwu
 aCB1c2FiaWxpdHkKY29uZmlndXJlOjY2MjA6IGdjYyAtYyAtZyAtTzIgIGNvbmZ0ZXN0LmMgPiY1
 CmNvbmZpZ3VyZTo2NjIwOiAkPyA9IDAKY29uZmlndXJlOjY2MjA6IHJlc3VsdDogeWVzCmNvbmZp
 Z3VyZTo2NjIwOiBjaGVja2luZyBwb2xsLmggcHJlc2VuY2UKY29uZmlndXJlOjY2MjA6IGdjYyAt
 RSAgY29uZnRlc3QuYwpjb25maWd1cmU6NjYyMDogJD8gPSAwCmNvbmZpZ3VyZTo2NjIwOiByZXN1
 bHQ6IHllcwpjb25maWd1cmU6NjYyMDogY2hlY2tpbmcgZm9yIHBvbGwuaApjb25maWd1cmU6NjYy
 MDogcmVzdWx0OiB5ZXMKY29uZmlndXJlOjY2MjA6IGNoZWNraW5nIHN5cy9wb2xsLmggdXNhYmls
 aXR5CmNvbmZpZ3VyZTo2NjIwOiBnY2MgLWMgLWcgLU8yICBjb25mdGVzdC5jID4mNQpjb25maWd1
 cmU6NjYyMDogJD8gPSAwCmNvbmZpZ3VyZTo2NjIwOiByZXN1bHQ6IHllcwpjb25maWd1cmU6NjYy
 MDogY2hlY2tpbmcgc3lzL3BvbGwuaCBwcmVzZW5jZQpjb25maWd1cmU6NjYyMDogZ2NjIC1FICBj
 b25mdGVzdC5jCmNvbmZpZ3VyZTo2NjIwOiAkPyA9IDAKY29uZmlndXJlOjY2MjA6IHJlc3VsdDog
 eWVzCmNvbmZpZ3VyZTo2NjIwOiBjaGVja2luZyBmb3Igc3lzL3BvbGwuaApjb25maWd1cmU6NjYy
 MDogcmVzdWx0OiB5ZXMKY29uZmlndXJlOjY2MzM6IGNoZWNraW5nIGZvciBwb2xsLmgKY29uZmln
 dXJlOjY2MzM6IHJlc3VsdDogeWVzCmNvbmZpZ3VyZTo2NjMzOiBjaGVja2luZyBmb3Igc3lzL3Bv
 bGwuaApjb25maWd1cmU6NjYzMzogcmVzdWx0OiB5ZXMKY29uZmlndXJlOjY2NTA6IGNoZWNraW5n
 IGZvciBwb2xsCmNvbmZpZ3VyZTo2NjUwOiBnY2MgLW8gY29uZnRlc3QgLWcgLU8yICAgY29uZnRl
 c3QuYyAtbG5zbCAgPiY1CmNvbmZpZ3VyZTo2NjUwOiAkPyA9IDAKY29uZmlndXJlOjY2NTA6IHJl
 c3VsdDogeWVzCmNvbmZpZ3VyZTo2NjU0OiBjaGVja2luZyBpZiBwb2xsKCkgaXMgaW1wbGVtZW50
 ZWQgbmF0aXZlbHkKY29uZmlndXJlOjY2ODA6IGdjYyAtYyAtZyAtTzIgIGNvbmZ0ZXN0LmMgPiY1
 CmNvbmZpZ3VyZTo2NjgwOiAkPyA9IDAKY29uZmlndXJlOjY2ODg6IHJlc3VsdDogeWVzCmNvbmZp
 Z3VyZTo2NzE3OiBjaGVja2luZyBmb3IgZ2V0cGFzc3BocmFzZQpjb25maWd1cmU6NjcxNzogZ2Nj
 IC1vIGNvbmZ0ZXN0IC1nIC1PMiAgIGNvbmZ0ZXN0LmMgLWxuc2wgID4mNQovdG1wL2NjcGdTd1NJ
 Lm86IEluIGZ1bmN0aW9uIGBtYWluJzoKL21lZGlhL3NkYjIvc3JjL3BrZ3NyYy9ib290c3RyYXAv
 d29yay9saWJuYmNvbXBhdC9jb25mdGVzdC5jOjE3NjogdW5kZWZpbmVkIHJlZmVyZW5jZSB0byBg
 Z2V0cGFzc3BocmFzZScKY29sbGVjdDI6IGxkIHJldHVybmVkIDEgZXhpdCBzdGF0dXMKY29uZmln
 dXJlOjY3MTc6ICQ/ID0gMQpjb25maWd1cmU6IGZhaWxlZCBwcm9ncmFtIHdhczoKfCAvKiBjb25m
 ZGVmcy5oICovCnwgI2RlZmluZSBQQUNLQUdFX05BTUUgImxpYm5iY29tcGF0Igp8ICNkZWZpbmUg
 UEFDS0FHRV9UQVJOQU1FICJsaWJuYmNvbXBhdCIKfCAjZGVmaW5lIFBBQ0tBR0VfVkVSU0lPTiAi
 MjAwODA2MDUiCnwgI2RlZmluZSBQQUNLQUdFX1NUUklORyAibGlibmJjb21wYXQgMjAwODA2MDUi
 CnwgI2RlZmluZSBQQUNLQUdFX0JVR1JFUE9SVCAiZ3JhbnRATmV0QlNELm9yZyIKfCAjZGVmaW5l
 IFBBQ0tBR0VfVVJMICIiCnwgI2RlZmluZSBTVERDX0hFQURFUlMgMQp8ICNkZWZpbmUgVElNRV9X
 SVRIX1NZU19USU1FIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1RZUEVTX0ggMQp8ICNkZWZpbmUgSEFW
 RV9TWVNfU1RBVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1RETElCX0ggMQp8ICNkZWZpbmUgSEFWRV9T
 VFJJTkdfSCAxCnwgI2RlZmluZSBIQVZFX01FTU9SWV9IIDEKfCAjZGVmaW5lIEhBVkVfU1RSSU5H
 U19IIDEKfCAjZGVmaW5lIEhBVkVfSU5UVFlQRVNfSCAxCnwgI2RlZmluZSBIQVZFX1NURElOVF9I
 IDEKfCAjZGVmaW5lIEhBVkVfVU5JU1REX0ggMQp8ICNkZWZpbmUgSEFWRV9fQk9PTCAxCnwgI2Rl
 ZmluZSBIQVZFX1NUREJPT0xfSCAxCnwgI2RlZmluZSBIQVZFX0FMTE9DQV9IIDEKfCAjZGVmaW5l
 IEhBVkVfQVNTRVJUX0ggMQp8ICNkZWZpbmUgSEFWRV9DVFlQRV9IIDEKfCAjZGVmaW5lIEhBVkVf
 RElSRU5UX0ggMQp8ICNkZWZpbmUgSEFWRV9FTkRJQU5fSCAxCnwgI2RlZmluZSBIQVZFX0VSUl9I
 IDEKfCAjZGVmaW5lIEhBVkVfRVJSTk9fSCAxCnwgI2RlZmluZSBIQVZFX0ZDTlRMX0ggMQp8ICNk
 ZWZpbmUgSEFWRV9GTk1BVENIX0ggMQp8ICNkZWZpbmUgSEFWRV9GVFNfSCAxCnwgI2RlZmluZSBI
 QVZFX0dSUF9IIDEKfCAjZGVmaW5lIEhBVkVfSU5UVFlQRVNfSCAxCnwgI2RlZmluZSBIQVZFX0xJ
 QlVUSUxfSCAxCnwgI2RlZmluZSBIQVZFX0xJTUlUU19IIDEKfCAjZGVmaW5lIEhBVkVfTkVUREJf
 SCAxCnwgI2RlZmluZSBIQVZFX1BBVEhTX0ggMQp8ICNkZWZpbmUgSEFWRV9QV0RfSCAxCnwgI2Rl
 ZmluZSBIQVZFX1NJR05BTF9IIDEKfCAjZGVmaW5lIEhBVkVfU1REQVJHX0ggMQp8ICNkZWZpbmUg
 SEFWRV9TVERERUZfSCAxCnwgI2RlZmluZSBIQVZFX1NURElOVF9IIDEKfCAjZGVmaW5lIEhBVkVf
 U1RESU9fSCAxCnwgI2RlZmluZSBIQVZFX1NURExJQl9IIDEKfCAjZGVmaW5lIEhBVkVfU1RSSU5H
 X0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfQ0RFRlNfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19ESVJf
 SCAxCnwgI2RlZmluZSBIQVZFX1NZU19GSUxFX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfUEFSQU1f
 SCAxCnwgI2RlZmluZSBIQVZFX1NZU19TT0NLRVRfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19TVEFU
 X0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfU1RBVEZTX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfU1RB
 VFZGU19IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1RJTUVfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19U
 WVBFU19IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1VJT19IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1ZG
 U19IIDEKfCAjZGVmaW5lIEhBVkVfU1lTRVhJVFNfSCAxCnwgI2RlZmluZSBIQVZFX1RFUk1DQVBf
 SCAxCnwgI2RlZmluZSBIQVZFX1RJTUVfSCAxCnwgI2RlZmluZSBIQVZFX1VOSVNURF9IIDEKfCAj
 ZGVmaW5lIEhBVkVfVVRJTUVfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19NT1VOVF9IIDEKfCAjZGVm
 aW5lIEhBVkVfR0xPQl9IIDEKfCAjZGVmaW5lIEhBVkVfTkJDT01QQVRfR0xPQiAxCnwgI2RlZmlu
 ZSBIQVZFX1NZU19RVUVVRV9IIDEKfCAjZGVmaW5lIEhBVkVfTkJDT01QQVRfUVVFVUUgMQp8ICNk
 ZWZpbmUgSEFWRV9SRUdFWF9IIDEKfCAjZGVmaW5lIEhBVkVfTkJDT01QQVRfTUQ1IDEKfCAjZGVm
 aW5lIEhBVkVfTkJDT01QQVRfUk1EMTYwIDEKfCAjZGVmaW5lIEhBVkVfTkJDT01QQVRfU0hBMSAx
 CnwgI2RlZmluZSBIQVZFX05CQ09NUEFUX1NIQTIgMQp8ICNkZWZpbmUgSEFWRV9ERUNMX09QVEFS
 RyAxCnwgI2RlZmluZSBIQVZFX0RFQ0xfT1BUSU5EIDEKfCAjZGVmaW5lIEhBVkVfREVDTF9PUFRS
 RVNFVCAwCnwgI2RlZmluZSBIQVZFX0dFVE9QVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1RSVUNUX09Q
 VElPTiAxCnwgI2RlZmluZSBIQVZFX1ZJU19IIDEKfCAjZGVmaW5lIEhBVkVfTkJDT01QQVRfVklT
 IDEKfCAjZGVmaW5lIEhBVkVfX19BVFRSSUJVVEVfXyAxCnwgI2RlZmluZSBIQVZFX1VJTlRQVFJf
 VCAxCnwgI2RlZmluZSBIQVZFX0xPTkdfTE9ORyAxCnwgI2RlZmluZSBIQVZFX0xPTkdfRE9VQkxF
 IDEKfCAjZGVmaW5lIEhBVkVfRlNJRF9UIDEKfCAjZGVmaW5lIFNJWkVPRl9PRkZfVCA0CnwgI2Rl
 ZmluZSBIQVZFX1NURExJQl9IIDEKfCAjZGVmaW5lIEhBVkVfTUFMTE9DIDEKfCAjZGVmaW5lIEhB
 VkVfREVDTF9TVFJFUlJPUl9SIDEKfCAjZGVmaW5lIEhBVkVfU1RSRVJST1JfUiAxCnwgI2RlZmlu
 ZSBIQVZFX0ZPUksgMQp8ICNkZWZpbmUgSEFWRV9WRk9SSyAxCnwgI2RlZmluZSBIQVZFX1dPUktJ
 TkdfVkZPUksgMQp8ICNkZWZpbmUgSEFWRV9XT1JLSU5HX0ZPUksgMQp8ICNkZWZpbmUgSEFWRV9W
 UFJJTlRGIDEKfCAjZGVmaW5lIEhBVkVfREVDTF9TTlBSSU5URiAxCnwgI2RlZmluZSBIQVZFX0RF
 Q0xfVkFTUFJJTlRGIDAKfCAjZGVmaW5lIEhBVkVfQVNQUklOVEYgMQp8ICNkZWZpbmUgSEFWRV9F
 UlIgMQp8ICNkZWZpbmUgSEFWRV9GTk1BVENIIDEKfCAjZGVmaW5lIEhBVkVfR0VURU5WIDEKfCAj
 ZGVmaW5lIEhBVkVfSVNCTEFOSyAxCnwgI2RlZmluZSBIQVZFX0xDSE9XTiAxCnwgI2RlZmluZSBI
 QVZFX0xVVElNRVMgMQp8ICNkZWZpbmUgSEFWRV9NS0RURU1QIDEKfCAjZGVmaW5lIEhBVkVfTUtT
 VEVNUCAxCnwgI2RlZmluZSBIQVZFX1NFVEVOViAxCnwgI2RlZmluZSBIQVZFX1NOUFJJTlRGIDEK
 fCAjZGVmaW5lIEhBVkVfU1RBVFZGUyAxCnwgI2RlZmluZSBIQVZFX1NUUkRVUCAxCnwgI2RlZmlu
 ZSBIQVZFX1NUUkVSUk9SIDEKfCAjZGVmaW5lIEhBVkVfU1RSU0VQIDEKfCAjZGVmaW5lIEhBVkVf
 U1RSVE9MTCAxCnwgI2RlZmluZSBIQVZFX1VOU0VURU5WIDEKfCAjZGVmaW5lIEhBVkVfVVNMRUVQ
 IDEKfCAjZGVmaW5lIEhBVkVfVVRJTUVTIDEKfCAjZGVmaW5lIEhBVkVfV0FSTiAxCnwgI2RlZmlu
 ZSBIQVZFX0xJQk5TTCAxCnwgI2RlZmluZSBIQVZFX1NPQ0tMRU5fVCAxCnwgI2RlZmluZSBIQVZF
 X1NUUlVDVF9BRERSSU5GTyAxCnwgI2RlZmluZSBIQVZFX1NUUlVDVF9JTjZfQUREUiAxCnwgI2Rl
 ZmluZSBIQVZFX1NUUlVDVF9TT0NLQUREUl9JTjYgMQp8ICNkZWZpbmUgSEFWRV9TVFJVQ1RfU09D
 S0FERFJfU1RPUkFHRSAxCnwgI2RlZmluZSBIQVZFX0dFVE5BTUVJTkZPIDEKfCAjZGVmaW5lIEhB
 VkVfR0FJX1NUUkVSUk9SIDEKfCAjZGVmaW5lIEhBVkVfR0VUQUREUklORk8gMQp8ICNkZWZpbmUg
 SEFWRV9HRVRFTlYgMQp8ICNkZWZpbmUgSEFWRV9TRVRFTlYgMQp8ICNkZWZpbmUgSEFWRV9VTlNF
 VEVOViAxCnwgI2RlZmluZSBIQVZFX01LRFRFTVAgMQp8ICNkZWZpbmUgSEFWRV9NS1NURU1QIDEK
 fCAjZGVmaW5lIEhBVkVfQkNPUFkgMQp8ICNkZWZpbmUgSEFWRV9CWkVSTyAxCnwgI2RlZmluZSBI
 QVZFX01FTVNFVCAxCnwgI2RlZmluZSBIQVZFX01FTUNQWSAxCnwgI2RlZmluZSBIQVZFX1NFVExP
 Q0FMRSAxCnwgI2RlZmluZSBIQVZFX0RFQ0xfRU5ER1JFTlQgMAp8ICNkZWZpbmUgSEFWRV9ERUNM
 X0VORFBXRU5UIDAKfCAjZGVmaW5lIEhBVkVfUE9MTF9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1BP
 TExfSCAxCnwgI2RlZmluZSBIQVZFX1BPTExfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19QT0xMX0gg
 MQp8IC8qIGVuZCBjb25mZGVmcy5oLiAgKi8KfCAvKiBEZWZpbmUgZ2V0cGFzc3BocmFzZSB0byBh
 biBpbm5vY3VvdXMgdmFyaWFudCwgaW4gY2FzZSA8bGltaXRzLmg+IGRlY2xhcmVzIGdldHBhc3Nw
 aHJhc2UuCnwgICAgRm9yIGV4YW1wbGUsIEhQLVVYIDExaSA8bGltaXRzLmg+IGRlY2xhcmVzIGdl
 dHRpbWVvZmRheS4gICovCnwgI2RlZmluZSBnZXRwYXNzcGhyYXNlIGlubm9jdW91c19nZXRwYXNz
 cGhyYXNlCnwgCnwgLyogU3lzdGVtIGhlYWRlciB0byBkZWZpbmUgX19zdHViIG1hY3JvcyBhbmQg
 aG9wZWZ1bGx5IGZldyBwcm90b3R5cGVzLAp8ICAgICB3aGljaCBjYW4gY29uZmxpY3Qgd2l0aCBj
 aGFyIGdldHBhc3NwaHJhc2UgKCk7IGJlbG93Lgp8ICAgICBQcmVmZXIgPGxpbWl0cy5oPiB0byA8
 YXNzZXJ0Lmg+IGlmIF9fU1REQ19fIGlzIGRlZmluZWQsIHNpbmNlCnwgICAgIDxsaW1pdHMuaD4g
 ZXhpc3RzIGV2ZW4gb24gZnJlZXN0YW5kaW5nIGNvbXBpbGVycy4gICovCnwgCnwgI2lmZGVmIF9f
 U1REQ19fCnwgIyBpbmNsdWRlIDxsaW1pdHMuaD4KfCAjZWxzZQp8ICMgaW5jbHVkZSA8YXNzZXJ0
 Lmg+CnwgI2VuZGlmCnwgCnwgI3VuZGVmIGdldHBhc3NwaHJhc2UKfCAKfCAvKiBPdmVycmlkZSBh
 bnkgR0NDIGludGVybmFsIHByb3RvdHlwZSB0byBhdm9pZCBhbiBlcnJvci4KfCAgICBVc2UgY2hh
 ciBiZWNhdXNlIGludCBtaWdodCBtYXRjaCB0aGUgcmV0dXJuIHR5cGUgb2YgYSBHQ0MKfCAgICBi
 dWlsdGluIGFuZCB0aGVuIGl0cyBhcmd1bWVudCBwcm90b3R5cGUgd291bGQgc3RpbGwgYXBwbHku
 ICAqLwp8ICNpZmRlZiBfX2NwbHVzcGx1cwp8IGV4dGVybiAiQyIKfCAjZW5kaWYKfCBjaGFyIGdl
 dHBhc3NwaHJhc2UgKCk7CnwgLyogVGhlIEdOVSBDIGxpYnJhcnkgZGVmaW5lcyB0aGlzIGZvciBm
 dW5jdGlvbnMgd2hpY2ggaXQgaW1wbGVtZW50cwp8ICAgICB0byBhbHdheXMgZmFpbCB3aXRoIEVO
 T1NZUy4gIFNvbWUgZnVuY3Rpb25zIGFyZSBhY3R1YWxseSBuYW1lZAp8ICAgICBzb21ldGhpbmcg
 c3RhcnRpbmcgd2l0aCBfXyBhbmQgdGhlIG5vcm1hbCBuYW1lIGlzIGFuIGFsaWFzLiAgKi8KfCAj
 aWYgZGVmaW5lZCBfX3N0dWJfZ2V0cGFzc3BocmFzZSB8fCBkZWZpbmVkIF9fc3R1Yl9fX2dldHBh
 c3NwaHJhc2UKfCBjaG9rZSBtZQp8ICNlbmRpZgp8IAp8IGludAp8IG1haW4gKCkKfCB7CnwgcmV0
 dXJuIGdldHBhc3NwaHJhc2UgKCk7CnwgICA7CnwgICByZXR1cm4gMDsKfCB9CmNvbmZpZ3VyZTo2
 NzE3OiByZXN1bHQ6IG5vCmNvbmZpZ3VyZTo2NzE3OiBjaGVja2luZyBmb3IgZ2V0cGdycApjb25m
 aWd1cmU6NjcxNzogZ2NjIC1vIGNvbmZ0ZXN0IC1nIC1PMiAgIGNvbmZ0ZXN0LmMgLWxuc2wgID4m
 NQpjb25maWd1cmU6NjcxNzogJD8gPSAwCmNvbmZpZ3VyZTo2NzE3OiByZXN1bHQ6IHllcwpjb25m
 aWd1cmU6NjcxNzogY2hlY2tpbmcgZm9yIG1lbW1vdmUKY29uZmlndXJlOjY3MTc6IGdjYyAtbyBj
 b25mdGVzdCAtZyAtTzIgICBjb25mdGVzdC5jIC1sbnNsICA+JjUKY29uZnRlc3QuYzoxNjY6Njog
 d2FybmluZzogY29uZmxpY3RpbmcgdHlwZXMgZm9yIGJ1aWx0LWluIGZ1bmN0aW9uICdtZW1tb3Zl
 JyBbZW5hYmxlZCBieSBkZWZhdWx0XQpjb25maWd1cmU6NjcxNzogJD8gPSAwCmNvbmZpZ3VyZTo2
 NzE3OiByZXN1bHQ6IHllcwpjb25maWd1cmU6NjcxNzogY2hlY2tpbmcgZm9yIHNlbGVjdApjb25m
 aWd1cmU6NjcxNzogZ2NjIC1vIGNvbmZ0ZXN0IC1nIC1PMiAgIGNvbmZ0ZXN0LmMgLWxuc2wgID4m
 NQpjb25maWd1cmU6NjcxNzogJD8gPSAwCmNvbmZpZ3VyZTo2NzE3OiByZXN1bHQ6IHllcwpjb25m
 aWd1cmU6NjcyNzogY2hlY2tpbmcgZm9yIGdldHBncnAKY29uZmlndXJlOjY3Mjc6IHJlc3VsdDog
 eWVzCmNvbmZpZ3VyZTo2NzI5OiBjaGVja2luZyB3aGV0aGVyIGdldHBncnAgcmVxdWlyZXMgemVy
 byBhcmd1bWVudHMKY29uZmlndXJlOjY3NDY6IGdjYyAtYyAtZyAtTzIgIGNvbmZ0ZXN0LmMgPiY1
 CmNvbmZ0ZXN0LmM6IEluIGZ1bmN0aW9uICdtYWluJzoKY29uZnRlc3QuYzoxODE6MTogZXJyb3I6
 IHRvbyBtYW55IGFyZ3VtZW50cyB0byBmdW5jdGlvbiAnZ2V0cGdycCcKL3Vzci9pbmNsdWRlL3Vu
 aXN0ZC5oOjYzMzoxNjogbm90ZTogZGVjbGFyZWQgaGVyZQpjb25maWd1cmU6Njc0NjogJD8gPSAx
 CmNvbmZpZ3VyZTogZmFpbGVkIHByb2dyYW0gd2FzOgp8IC8qIGNvbmZkZWZzLmggKi8KfCAjZGVm
 aW5lIFBBQ0tBR0VfTkFNRSAibGlibmJjb21wYXQiCnwgI2RlZmluZSBQQUNLQUdFX1RBUk5BTUUg
 ImxpYm5iY29tcGF0Igp8ICNkZWZpbmUgUEFDS0FHRV9WRVJTSU9OICIyMDA4MDYwNSIKfCAjZGVm
 aW5lIFBBQ0tBR0VfU1RSSU5HICJsaWJuYmNvbXBhdCAyMDA4MDYwNSIKfCAjZGVmaW5lIFBBQ0tB
 R0VfQlVHUkVQT1JUICJncmFudEBOZXRCU0Qub3JnIgp8ICNkZWZpbmUgUEFDS0FHRV9VUkwgIiIK
 fCAjZGVmaW5lIFNURENfSEVBREVSUyAxCnwgI2RlZmluZSBUSU1FX1dJVEhfU1lTX1RJTUUgMQp8
 ICNkZWZpbmUgSEFWRV9TWVNfVFlQRVNfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19TVEFUX0ggMQp8
 ICNkZWZpbmUgSEFWRV9TVERMSUJfSCAxCnwgI2RlZmluZSBIQVZFX1NUUklOR19IIDEKfCAjZGVm
 aW5lIEhBVkVfTUVNT1JZX0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJJTkdTX0ggMQp8ICNkZWZpbmUg
 SEFWRV9JTlRUWVBFU19IIDEKfCAjZGVmaW5lIEhBVkVfU1RESU5UX0ggMQp8ICNkZWZpbmUgSEFW
 RV9VTklTVERfSCAxCnwgI2RlZmluZSBIQVZFX19CT09MIDEKfCAjZGVmaW5lIEhBVkVfU1REQk9P
 TF9IIDEKfCAjZGVmaW5lIEhBVkVfQUxMT0NBX0ggMQp8ICNkZWZpbmUgSEFWRV9BU1NFUlRfSCAx
 CnwgI2RlZmluZSBIQVZFX0NUWVBFX0ggMQp8ICNkZWZpbmUgSEFWRV9ESVJFTlRfSCAxCnwgI2Rl
 ZmluZSBIQVZFX0VORElBTl9IIDEKfCAjZGVmaW5lIEhBVkVfRVJSX0ggMQp8ICNkZWZpbmUgSEFW
 RV9FUlJOT19IIDEKfCAjZGVmaW5lIEhBVkVfRkNOVExfSCAxCnwgI2RlZmluZSBIQVZFX0ZOTUFU
 Q0hfSCAxCnwgI2RlZmluZSBIQVZFX0ZUU19IIDEKfCAjZGVmaW5lIEhBVkVfR1JQX0ggMQp8ICNk
 ZWZpbmUgSEFWRV9JTlRUWVBFU19IIDEKfCAjZGVmaW5lIEhBVkVfTElCVVRJTF9IIDEKfCAjZGVm
 aW5lIEhBVkVfTElNSVRTX0ggMQp8ICNkZWZpbmUgSEFWRV9ORVREQl9IIDEKfCAjZGVmaW5lIEhB
 VkVfUEFUSFNfSCAxCnwgI2RlZmluZSBIQVZFX1BXRF9IIDEKfCAjZGVmaW5lIEhBVkVfU0lHTkFM
 X0ggMQp8ICNkZWZpbmUgSEFWRV9TVERBUkdfSCAxCnwgI2RlZmluZSBIQVZFX1NURERFRl9IIDEK
 fCAjZGVmaW5lIEhBVkVfU1RESU5UX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERJT19IIDEKfCAjZGVm
 aW5lIEhBVkVfU1RETElCX0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJJTkdfSCAxCnwgI2RlZmluZSBI
 QVZFX1NZU19DREVGU19IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX0RJUl9IIDEKfCAjZGVmaW5lIEhB
 VkVfU1lTX0ZJTEVfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19QQVJBTV9IIDEKfCAjZGVmaW5lIEhB
 VkVfU1lTX1NPQ0tFVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NUQVRfSCAxCnwgI2RlZmluZSBI
 QVZFX1NZU19TVEFURlNfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19TVEFUVkZTX0ggMQp8ICNkZWZp
 bmUgSEFWRV9TWVNfVElNRV9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1RZUEVTX0ggMQp8ICNkZWZp
 bmUgSEFWRV9TWVNfVUlPX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfVkZTX0ggMQp8ICNkZWZpbmUg
 SEFWRV9TWVNFWElUU19IIDEKfCAjZGVmaW5lIEhBVkVfVEVSTUNBUF9IIDEKfCAjZGVmaW5lIEhB
 VkVfVElNRV9IIDEKfCAjZGVmaW5lIEhBVkVfVU5JU1REX0ggMQp8ICNkZWZpbmUgSEFWRV9VVElN
 RV9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX01PVU5UX0ggMQp8ICNkZWZpbmUgSEFWRV9HTE9CX0gg
 MQp8ICNkZWZpbmUgSEFWRV9OQkNPTVBBVF9HTE9CIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1FVRVVF
 X0ggMQp8ICNkZWZpbmUgSEFWRV9OQkNPTVBBVF9RVUVVRSAxCnwgI2RlZmluZSBIQVZFX1JFR0VY
 X0ggMQp8ICNkZWZpbmUgSEFWRV9OQkNPTVBBVF9NRDUgMQp8ICNkZWZpbmUgSEFWRV9OQkNPTVBB
 VF9STUQxNjAgMQp8ICNkZWZpbmUgSEFWRV9OQkNPTVBBVF9TSEExIDEKfCAjZGVmaW5lIEhBVkVf
 TkJDT01QQVRfU0hBMiAxCnwgI2RlZmluZSBIQVZFX0RFQ0xfT1BUQVJHIDEKfCAjZGVmaW5lIEhB
 VkVfREVDTF9PUFRJTkQgMQp8ICNkZWZpbmUgSEFWRV9ERUNMX09QVFJFU0VUIDAKfCAjZGVmaW5l
 IEhBVkVfR0VUT1BUX0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJVQ1RfT1BUSU9OIDEKfCAjZGVmaW5l
 IEhBVkVfVklTX0ggMQp8ICNkZWZpbmUgSEFWRV9OQkNPTVBBVF9WSVMgMQp8ICNkZWZpbmUgSEFW
 RV9fX0FUVFJJQlVURV9fIDEKfCAjZGVmaW5lIEhBVkVfVUlOVFBUUl9UIDEKfCAjZGVmaW5lIEhB
 VkVfTE9OR19MT05HIDEKfCAjZGVmaW5lIEhBVkVfTE9OR19ET1VCTEUgMQp8ICNkZWZpbmUgSEFW
 RV9GU0lEX1QgMQp8ICNkZWZpbmUgU0laRU9GX09GRl9UIDQKfCAjZGVmaW5lIEhBVkVfU1RETElC
 X0ggMQp8ICNkZWZpbmUgSEFWRV9NQUxMT0MgMQp8ICNkZWZpbmUgSEFWRV9ERUNMX1NUUkVSUk9S
 X1IgMQp8ICNkZWZpbmUgSEFWRV9TVFJFUlJPUl9SIDEKfCAjZGVmaW5lIEhBVkVfRk9SSyAxCnwg
 I2RlZmluZSBIQVZFX1ZGT1JLIDEKfCAjZGVmaW5lIEhBVkVfV09SS0lOR19WRk9SSyAxCnwgI2Rl
 ZmluZSBIQVZFX1dPUktJTkdfRk9SSyAxCnwgI2RlZmluZSBIQVZFX1ZQUklOVEYgMQp8ICNkZWZp
 bmUgSEFWRV9ERUNMX1NOUFJJTlRGIDEKfCAjZGVmaW5lIEhBVkVfREVDTF9WQVNQUklOVEYgMAp8
 ICNkZWZpbmUgSEFWRV9BU1BSSU5URiAxCnwgI2RlZmluZSBIQVZFX0VSUiAxCnwgI2RlZmluZSBI
 QVZFX0ZOTUFUQ0ggMQp8ICNkZWZpbmUgSEFWRV9HRVRFTlYgMQp8ICNkZWZpbmUgSEFWRV9JU0JM
 QU5LIDEKfCAjZGVmaW5lIEhBVkVfTENIT1dOIDEKfCAjZGVmaW5lIEhBVkVfTFVUSU1FUyAxCnwg
 I2RlZmluZSBIQVZFX01LRFRFTVAgMQp8ICNkZWZpbmUgSEFWRV9NS1NURU1QIDEKfCAjZGVmaW5l
 IEhBVkVfU0VURU5WIDEKfCAjZGVmaW5lIEhBVkVfU05QUklOVEYgMQp8ICNkZWZpbmUgSEFWRV9T
 VEFUVkZTIDEKfCAjZGVmaW5lIEhBVkVfU1RSRFVQIDEKfCAjZGVmaW5lIEhBVkVfU1RSRVJST1Ig
 MQp8ICNkZWZpbmUgSEFWRV9TVFJTRVAgMQp8ICNkZWZpbmUgSEFWRV9TVFJUT0xMIDEKfCAjZGVm
 aW5lIEhBVkVfVU5TRVRFTlYgMQp8ICNkZWZpbmUgSEFWRV9VU0xFRVAgMQp8ICNkZWZpbmUgSEFW
 RV9VVElNRVMgMQp8ICNkZWZpbmUgSEFWRV9XQVJOIDEKfCAjZGVmaW5lIEhBVkVfTElCTlNMIDEK
 fCAjZGVmaW5lIEhBVkVfU09DS0xFTl9UIDEKfCAjZGVmaW5lIEhBVkVfU1RSVUNUX0FERFJJTkZP
 IDEKfCAjZGVmaW5lIEhBVkVfU1RSVUNUX0lONl9BRERSIDEKfCAjZGVmaW5lIEhBVkVfU1RSVUNU
 X1NPQ0tBRERSX0lONiAxCnwgI2RlZmluZSBIQVZFX1NUUlVDVF9TT0NLQUREUl9TVE9SQUdFIDEK
 fCAjZGVmaW5lIEhBVkVfR0VUTkFNRUlORk8gMQp8ICNkZWZpbmUgSEFWRV9HQUlfU1RSRVJST1Ig
 MQp8ICNkZWZpbmUgSEFWRV9HRVRBRERSSU5GTyAxCnwgI2RlZmluZSBIQVZFX0dFVEVOViAxCnwg
 I2RlZmluZSBIQVZFX1NFVEVOViAxCnwgI2RlZmluZSBIQVZFX1VOU0VURU5WIDEKfCAjZGVmaW5l
 IEhBVkVfTUtEVEVNUCAxCnwgI2RlZmluZSBIQVZFX01LU1RFTVAgMQp8ICNkZWZpbmUgSEFWRV9C
 Q09QWSAxCnwgI2RlZmluZSBIQVZFX0JaRVJPIDEKfCAjZGVmaW5lIEhBVkVfTUVNU0VUIDEKfCAj
 ZGVmaW5lIEhBVkVfTUVNQ1BZIDEKfCAjZGVmaW5lIEhBVkVfU0VUTE9DQUxFIDEKfCAjZGVmaW5l
 IEhBVkVfREVDTF9FTkRHUkVOVCAwCnwgI2RlZmluZSBIQVZFX0RFQ0xfRU5EUFdFTlQgMAp8ICNk
 ZWZpbmUgSEFWRV9QT0xMX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfUE9MTF9IIDEKfCAjZGVmaW5l
 IEhBVkVfUE9MTF9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1BPTExfSCAxCnwgI2RlZmluZSBIQVZF
 X0dFVFBHUlAgMQp8ICNkZWZpbmUgSEFWRV9NRU1NT1ZFIDEKfCAjZGVmaW5lIEhBVkVfU0VMRUNU
 IDEKfCAvKiBlbmQgY29uZmRlZnMuaC4gICovCnwgI2luY2x1ZGUgPHN0ZGlvLmg+CnwgI2lmZGVm
 IEhBVkVfU1lTX1RZUEVTX0gKfCAjIGluY2x1ZGUgPHN5cy90eXBlcy5oPgp8ICNlbmRpZgp8ICNp
 ZmRlZiBIQVZFX1NZU19TVEFUX0gKfCAjIGluY2x1ZGUgPHN5cy9zdGF0Lmg+CnwgI2VuZGlmCnwg
 I2lmZGVmIFNURENfSEVBREVSUwp8ICMgaW5jbHVkZSA8c3RkbGliLmg+CnwgIyBpbmNsdWRlIDxz
 dGRkZWYuaD4KfCAjZWxzZQp8ICMgaWZkZWYgSEFWRV9TVERMSUJfSAp8ICMgIGluY2x1ZGUgPHN0
 ZGxpYi5oPgp8ICMgZW5kaWYKfCAjZW5kaWYKfCAjaWZkZWYgSEFWRV9TVFJJTkdfSAp8ICMgaWYg
 IWRlZmluZWQgU1REQ19IRUFERVJTICYmIGRlZmluZWQgSEFWRV9NRU1PUllfSAp8ICMgIGluY2x1
 ZGUgPG1lbW9yeS5oPgp8ICMgZW5kaWYKfCAjIGluY2x1ZGUgPHN0cmluZy5oPgp8ICNlbmRpZgp8
 ICNpZmRlZiBIQVZFX1NUUklOR1NfSAp8ICMgaW5jbHVkZSA8c3RyaW5ncy5oPgp8ICNlbmRpZgp8
 ICNpZmRlZiBIQVZFX0lOVFRZUEVTX0gKfCAjIGluY2x1ZGUgPGludHR5cGVzLmg+CnwgI2VuZGlm
 CnwgI2lmZGVmIEhBVkVfU1RESU5UX0gKfCAjIGluY2x1ZGUgPHN0ZGludC5oPgp8ICNlbmRpZgp8
 ICNpZmRlZiBIQVZFX1VOSVNURF9ICnwgIyBpbmNsdWRlIDx1bmlzdGQuaD4KfCAjZW5kaWYKfCBp
 bnQKfCBtYWluICgpCnwgewp8IGdldHBncnAgKDApOwp8ICAgOwp8ICAgcmV0dXJuIDA7CnwgfQpj
 b25maWd1cmU6Njc1NDogcmVzdWx0OiB5ZXMKY29uZmlndXJlOjY3NjU6IGNoZWNraW5nIGZvciBz
 dHJ1Y3Qgc3RhdGZzLmZfZmxhZ3MKY29uZmlndXJlOjY3NjU6IGdjYyAtYyAtZyAtTzIgIGNvbmZ0
 ZXN0LmMgPiY1CmNvbmZpZ3VyZTo2NzY1OiAkPyA9IDAKY29uZmlndXJlOjY3NjU6IHJlc3VsdDog
 eWVzCmNvbmZpZ3VyZTo2Nzc4OiBjaGVja2luZyBmb3Igc3RydWN0IHN0YXRmcy5mX2ZzaXplCmNv
 bmZpZ3VyZTo2Nzc4OiBnY2MgLWMgLWcgLU8yICBjb25mdGVzdC5jID4mNQpjb25mdGVzdC5jOiBJ
 biBmdW5jdGlvbiAnbWFpbic6CmNvbmZ0ZXN0LmM6MTUzOjEyOiBlcnJvcjogJ3N0cnVjdCBzdGF0
 ZnMnIGhhcyBubyBtZW1iZXIgbmFtZWQgJ2ZfZnNpemUnCmNvbmZpZ3VyZTo2Nzc4OiAkPyA9IDEK
 Y29uZmlndXJlOiBmYWlsZWQgcHJvZ3JhbSB3YXM6CnwgLyogY29uZmRlZnMuaCAqLwp8ICNkZWZp
 bmUgUEFDS0FHRV9OQU1FICJsaWJuYmNvbXBhdCIKfCAjZGVmaW5lIFBBQ0tBR0VfVEFSTkFNRSAi
 bGlibmJjb21wYXQiCnwgI2RlZmluZSBQQUNLQUdFX1ZFUlNJT04gIjIwMDgwNjA1Igp8ICNkZWZp
 bmUgUEFDS0FHRV9TVFJJTkcgImxpYm5iY29tcGF0IDIwMDgwNjA1Igp8ICNkZWZpbmUgUEFDS0FH
 RV9CVUdSRVBPUlQgImdyYW50QE5ldEJTRC5vcmciCnwgI2RlZmluZSBQQUNLQUdFX1VSTCAiIgp8
 ICNkZWZpbmUgU1REQ19IRUFERVJTIDEKfCAjZGVmaW5lIFRJTUVfV0lUSF9TWVNfVElNRSAxCnwg
 I2RlZmluZSBIQVZFX1NZU19UWVBFU19IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NUQVRfSCAxCnwg
 I2RlZmluZSBIQVZFX1NURExJQl9IIDEKfCAjZGVmaW5lIEhBVkVfU1RSSU5HX0ggMQp8ICNkZWZp
 bmUgSEFWRV9NRU1PUllfSCAxCnwgI2RlZmluZSBIQVZFX1NUUklOR1NfSCAxCnwgI2RlZmluZSBI
 QVZFX0lOVFRZUEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERJTlRfSCAxCnwgI2RlZmluZSBIQVZF
 X1VOSVNURF9IIDEKfCAjZGVmaW5lIEhBVkVfX0JPT0wgMQp8ICNkZWZpbmUgSEFWRV9TVERCT09M
 X0ggMQp8ICNkZWZpbmUgSEFWRV9BTExPQ0FfSCAxCnwgI2RlZmluZSBIQVZFX0FTU0VSVF9IIDEK
 fCAjZGVmaW5lIEhBVkVfQ1RZUEVfSCAxCnwgI2RlZmluZSBIQVZFX0RJUkVOVF9IIDEKfCAjZGVm
 aW5lIEhBVkVfRU5ESUFOX0ggMQp8ICNkZWZpbmUgSEFWRV9FUlJfSCAxCnwgI2RlZmluZSBIQVZF
 X0VSUk5PX0ggMQp8ICNkZWZpbmUgSEFWRV9GQ05UTF9IIDEKfCAjZGVmaW5lIEhBVkVfRk5NQVRD
 SF9IIDEKfCAjZGVmaW5lIEhBVkVfRlRTX0ggMQp8ICNkZWZpbmUgSEFWRV9HUlBfSCAxCnwgI2Rl
 ZmluZSBIQVZFX0lOVFRZUEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9MSUJVVElMX0ggMQp8ICNkZWZp
 bmUgSEFWRV9MSU1JVFNfSCAxCnwgI2RlZmluZSBIQVZFX05FVERCX0ggMQp8ICNkZWZpbmUgSEFW
 RV9QQVRIU19IIDEKfCAjZGVmaW5lIEhBVkVfUFdEX0ggMQp8ICNkZWZpbmUgSEFWRV9TSUdOQUxf
 SCAxCnwgI2RlZmluZSBIQVZFX1NUREFSR19IIDEKfCAjZGVmaW5lIEhBVkVfU1REREVGX0ggMQp8
 ICNkZWZpbmUgSEFWRV9TVERJTlRfSCAxCnwgI2RlZmluZSBIQVZFX1NURElPX0ggMQp8ICNkZWZp
 bmUgSEFWRV9TVERMSUJfSCAxCnwgI2RlZmluZSBIQVZFX1NUUklOR19IIDEKfCAjZGVmaW5lIEhB
 VkVfU1lTX0NERUZTX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfRElSX0ggMQp8ICNkZWZpbmUgSEFW
 RV9TWVNfRklMRV9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1BBUkFNX0ggMQp8ICNkZWZpbmUgSEFW
 RV9TWVNfU09DS0VUX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfU1RBVF9IIDEKfCAjZGVmaW5lIEhB
 VkVfU1lTX1NUQVRGU19IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NUQVRWRlNfSCAxCnwgI2RlZmlu
 ZSBIQVZFX1NZU19USU1FX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfVFlQRVNfSCAxCnwgI2RlZmlu
 ZSBIQVZFX1NZU19VSU9fSCAxCnwgI2RlZmluZSBIQVZFX1NZU19WRlNfSCAxCnwgI2RlZmluZSBI
 QVZFX1NZU0VYSVRTX0ggMQp8ICNkZWZpbmUgSEFWRV9URVJNQ0FQX0ggMQp8ICNkZWZpbmUgSEFW
 RV9USU1FX0ggMQp8ICNkZWZpbmUgSEFWRV9VTklTVERfSCAxCnwgI2RlZmluZSBIQVZFX1VUSU1F
 X0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfTU9VTlRfSCAxCnwgI2RlZmluZSBIQVZFX0dMT0JfSCAx
 CnwgI2RlZmluZSBIQVZFX05CQ09NUEFUX0dMT0IgMQp8ICNkZWZpbmUgSEFWRV9TWVNfUVVFVUVf
 SCAxCnwgI2RlZmluZSBIQVZFX05CQ09NUEFUX1FVRVVFIDEKfCAjZGVmaW5lIEhBVkVfUkVHRVhf
 SCAxCnwgI2RlZmluZSBIQVZFX05CQ09NUEFUX01ENSAxCnwgI2RlZmluZSBIQVZFX05CQ09NUEFU
 X1JNRDE2MCAxCnwgI2RlZmluZSBIQVZFX05CQ09NUEFUX1NIQTEgMQp8ICNkZWZpbmUgSEFWRV9O
 QkNPTVBBVF9TSEEyIDEKfCAjZGVmaW5lIEhBVkVfREVDTF9PUFRBUkcgMQp8ICNkZWZpbmUgSEFW
 RV9ERUNMX09QVElORCAxCnwgI2RlZmluZSBIQVZFX0RFQ0xfT1BUUkVTRVQgMAp8ICNkZWZpbmUg
 SEFWRV9HRVRPUFRfSCAxCnwgI2RlZmluZSBIQVZFX1NUUlVDVF9PUFRJT04gMQp8ICNkZWZpbmUg
 SEFWRV9WSVNfSCAxCnwgI2RlZmluZSBIQVZFX05CQ09NUEFUX1ZJUyAxCnwgI2RlZmluZSBIQVZF
 X19fQVRUUklCVVRFX18gMQp8ICNkZWZpbmUgSEFWRV9VSU5UUFRSX1QgMQp8ICNkZWZpbmUgSEFW
 RV9MT05HX0xPTkcgMQp8ICNkZWZpbmUgSEFWRV9MT05HX0RPVUJMRSAxCnwgI2RlZmluZSBIQVZF
 X0ZTSURfVCAxCnwgI2RlZmluZSBTSVpFT0ZfT0ZGX1QgNAp8ICNkZWZpbmUgSEFWRV9TVERMSUJf
 SCAxCnwgI2RlZmluZSBIQVZFX01BTExPQyAxCnwgI2RlZmluZSBIQVZFX0RFQ0xfU1RSRVJST1Jf
 UiAxCnwgI2RlZmluZSBIQVZFX1NUUkVSUk9SX1IgMQp8ICNkZWZpbmUgSEFWRV9GT1JLIDEKfCAj
 ZGVmaW5lIEhBVkVfVkZPUksgMQp8ICNkZWZpbmUgSEFWRV9XT1JLSU5HX1ZGT1JLIDEKfCAjZGVm
 aW5lIEhBVkVfV09SS0lOR19GT1JLIDEKfCAjZGVmaW5lIEhBVkVfVlBSSU5URiAxCnwgI2RlZmlu
 ZSBIQVZFX0RFQ0xfU05QUklOVEYgMQp8ICNkZWZpbmUgSEFWRV9ERUNMX1ZBU1BSSU5URiAwCnwg
 I2RlZmluZSBIQVZFX0FTUFJJTlRGIDEKfCAjZGVmaW5lIEhBVkVfRVJSIDEKfCAjZGVmaW5lIEhB
 VkVfRk5NQVRDSCAxCnwgI2RlZmluZSBIQVZFX0dFVEVOViAxCnwgI2RlZmluZSBIQVZFX0lTQkxB
 TksgMQp8ICNkZWZpbmUgSEFWRV9MQ0hPV04gMQp8ICNkZWZpbmUgSEFWRV9MVVRJTUVTIDEKfCAj
 ZGVmaW5lIEhBVkVfTUtEVEVNUCAxCnwgI2RlZmluZSBIQVZFX01LU1RFTVAgMQp8ICNkZWZpbmUg
 SEFWRV9TRVRFTlYgMQp8ICNkZWZpbmUgSEFWRV9TTlBSSU5URiAxCnwgI2RlZmluZSBIQVZFX1NU
 QVRWRlMgMQp8ICNkZWZpbmUgSEFWRV9TVFJEVVAgMQp8ICNkZWZpbmUgSEFWRV9TVFJFUlJPUiAx
 CnwgI2RlZmluZSBIQVZFX1NUUlNFUCAxCnwgI2RlZmluZSBIQVZFX1NUUlRPTEwgMQp8ICNkZWZp
 bmUgSEFWRV9VTlNFVEVOViAxCnwgI2RlZmluZSBIQVZFX1VTTEVFUCAxCnwgI2RlZmluZSBIQVZF
 X1VUSU1FUyAxCnwgI2RlZmluZSBIQVZFX1dBUk4gMQp8ICNkZWZpbmUgSEFWRV9MSUJOU0wgMQp8
 ICNkZWZpbmUgSEFWRV9TT0NLTEVOX1QgMQp8ICNkZWZpbmUgSEFWRV9TVFJVQ1RfQUREUklORk8g
 MQp8ICNkZWZpbmUgSEFWRV9TVFJVQ1RfSU42X0FERFIgMQp8ICNkZWZpbmUgSEFWRV9TVFJVQ1Rf
 U09DS0FERFJfSU42IDEKfCAjZGVmaW5lIEhBVkVfU1RSVUNUX1NPQ0tBRERSX1NUT1JBR0UgMQp8
 ICNkZWZpbmUgSEFWRV9HRVROQU1FSU5GTyAxCnwgI2RlZmluZSBIQVZFX0dBSV9TVFJFUlJPUiAx
 CnwgI2RlZmluZSBIQVZFX0dFVEFERFJJTkZPIDEKfCAjZGVmaW5lIEhBVkVfR0VURU5WIDEKfCAj
 ZGVmaW5lIEhBVkVfU0VURU5WIDEKfCAjZGVmaW5lIEhBVkVfVU5TRVRFTlYgMQp8ICNkZWZpbmUg
 SEFWRV9NS0RURU1QIDEKfCAjZGVmaW5lIEhBVkVfTUtTVEVNUCAxCnwgI2RlZmluZSBIQVZFX0JD
 T1BZIDEKfCAjZGVmaW5lIEhBVkVfQlpFUk8gMQp8ICNkZWZpbmUgSEFWRV9NRU1TRVQgMQp8ICNk
 ZWZpbmUgSEFWRV9NRU1DUFkgMQp8ICNkZWZpbmUgSEFWRV9TRVRMT0NBTEUgMQp8ICNkZWZpbmUg
 SEFWRV9ERUNMX0VOREdSRU5UIDAKfCAjZGVmaW5lIEhBVkVfREVDTF9FTkRQV0VOVCAwCnwgI2Rl
 ZmluZSBIQVZFX1BPTExfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19QT0xMX0ggMQp8ICNkZWZpbmUg
 SEFWRV9QT0xMX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfUE9MTF9IIDEKfCAjZGVmaW5lIEhBVkVf
 R0VUUEdSUCAxCnwgI2RlZmluZSBIQVZFX01FTU1PVkUgMQp8ICNkZWZpbmUgSEFWRV9TRUxFQ1Qg
 MQp8ICNkZWZpbmUgR0VUUEdSUF9WT0lEIDEKfCAjZGVmaW5lIEhBVkVfU1RSVUNUX1NUQVRGU19G
 X0ZMQUdTIDEKfCAvKiBlbmQgY29uZmRlZnMuaC4gICovCnwgICNpbmNsdWRlIDxzeXMvc3RhdGZz
 Lmg+CnwgCnwgaW50CnwgbWFpbiAoKQp8IHsKfCBzdGF0aWMgc3RydWN0IHN0YXRmcyBhY19hZ2dy
 Owp8IGlmIChhY19hZ2dyLmZfZnNpemUpCnwgcmV0dXJuIDA7CnwgICA7CnwgICByZXR1cm4gMDsK
 fCB9CmNvbmZpZ3VyZTo2Nzc4OiBnY2MgLWMgLWcgLU8yICBjb25mdGVzdC5jID4mNQpjb25mdGVz
 dC5jOiBJbiBmdW5jdGlvbiAnbWFpbic6CmNvbmZ0ZXN0LmM6MTUzOjE5OiBlcnJvcjogJ3N0cnVj
 dCBzdGF0ZnMnIGhhcyBubyBtZW1iZXIgbmFtZWQgJ2ZfZnNpemUnCmNvbmZpZ3VyZTo2Nzc4OiAk
 PyA9IDEKY29uZmlndXJlOiBmYWlsZWQgcHJvZ3JhbSB3YXM6CnwgLyogY29uZmRlZnMuaCAqLwp8
 ICNkZWZpbmUgUEFDS0FHRV9OQU1FICJsaWJuYmNvbXBhdCIKfCAjZGVmaW5lIFBBQ0tBR0VfVEFS
 TkFNRSAibGlibmJjb21wYXQiCnwgI2RlZmluZSBQQUNLQUdFX1ZFUlNJT04gIjIwMDgwNjA1Igp8
 ICNkZWZpbmUgUEFDS0FHRV9TVFJJTkcgImxpYm5iY29tcGF0IDIwMDgwNjA1Igp8ICNkZWZpbmUg
 UEFDS0FHRV9CVUdSRVBPUlQgImdyYW50QE5ldEJTRC5vcmciCnwgI2RlZmluZSBQQUNLQUdFX1VS
 TCAiIgp8ICNkZWZpbmUgU1REQ19IRUFERVJTIDEKfCAjZGVmaW5lIFRJTUVfV0lUSF9TWVNfVElN
 RSAxCnwgI2RlZmluZSBIQVZFX1NZU19UWVBFU19IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NUQVRf
 SCAxCnwgI2RlZmluZSBIQVZFX1NURExJQl9IIDEKfCAjZGVmaW5lIEhBVkVfU1RSSU5HX0ggMQp8
 ICNkZWZpbmUgSEFWRV9NRU1PUllfSCAxCnwgI2RlZmluZSBIQVZFX1NUUklOR1NfSCAxCnwgI2Rl
 ZmluZSBIQVZFX0lOVFRZUEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERJTlRfSCAxCnwgI2RlZmlu
 ZSBIQVZFX1VOSVNURF9IIDEKfCAjZGVmaW5lIEhBVkVfX0JPT0wgMQp8ICNkZWZpbmUgSEFWRV9T
 VERCT09MX0ggMQp8ICNkZWZpbmUgSEFWRV9BTExPQ0FfSCAxCnwgI2RlZmluZSBIQVZFX0FTU0VS
 VF9IIDEKfCAjZGVmaW5lIEhBVkVfQ1RZUEVfSCAxCnwgI2RlZmluZSBIQVZFX0RJUkVOVF9IIDEK
 fCAjZGVmaW5lIEhBVkVfRU5ESUFOX0ggMQp8ICNkZWZpbmUgSEFWRV9FUlJfSCAxCnwgI2RlZmlu
 ZSBIQVZFX0VSUk5PX0ggMQp8ICNkZWZpbmUgSEFWRV9GQ05UTF9IIDEKfCAjZGVmaW5lIEhBVkVf
 Rk5NQVRDSF9IIDEKfCAjZGVmaW5lIEhBVkVfRlRTX0ggMQp8ICNkZWZpbmUgSEFWRV9HUlBfSCAx
 CnwgI2RlZmluZSBIQVZFX0lOVFRZUEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9MSUJVVElMX0ggMQp8
 ICNkZWZpbmUgSEFWRV9MSU1JVFNfSCAxCnwgI2RlZmluZSBIQVZFX05FVERCX0ggMQp8ICNkZWZp
 bmUgSEFWRV9QQVRIU19IIDEKfCAjZGVmaW5lIEhBVkVfUFdEX0ggMQp8ICNkZWZpbmUgSEFWRV9T
 SUdOQUxfSCAxCnwgI2RlZmluZSBIQVZFX1NUREFSR19IIDEKfCAjZGVmaW5lIEhBVkVfU1REREVG
 X0ggMQp8ICNkZWZpbmUgSEFWRV9TVERJTlRfSCAxCnwgI2RlZmluZSBIQVZFX1NURElPX0ggMQp8
 ICNkZWZpbmUgSEFWRV9TVERMSUJfSCAxCnwgI2RlZmluZSBIQVZFX1NUUklOR19IIDEKfCAjZGVm
 aW5lIEhBVkVfU1lTX0NERUZTX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfRElSX0ggMQp8ICNkZWZp
 bmUgSEFWRV9TWVNfRklMRV9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1BBUkFNX0ggMQp8ICNkZWZp
 bmUgSEFWRV9TWVNfU09DS0VUX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfU1RBVF9IIDEKfCAjZGVm
 aW5lIEhBVkVfU1lTX1NUQVRGU19IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NUQVRWRlNfSCAxCnwg
 I2RlZmluZSBIQVZFX1NZU19USU1FX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfVFlQRVNfSCAxCnwg
 I2RlZmluZSBIQVZFX1NZU19VSU9fSCAxCnwgI2RlZmluZSBIQVZFX1NZU19WRlNfSCAxCnwgI2Rl
 ZmluZSBIQVZFX1NZU0VYSVRTX0ggMQp8ICNkZWZpbmUgSEFWRV9URVJNQ0FQX0ggMQp8ICNkZWZp
 bmUgSEFWRV9USU1FX0ggMQp8ICNkZWZpbmUgSEFWRV9VTklTVERfSCAxCnwgI2RlZmluZSBIQVZF
 X1VUSU1FX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfTU9VTlRfSCAxCnwgI2RlZmluZSBIQVZFX0dM
 T0JfSCAxCnwgI2RlZmluZSBIQVZFX05CQ09NUEFUX0dMT0IgMQp8ICNkZWZpbmUgSEFWRV9TWVNf
 UVVFVUVfSCAxCnwgI2RlZmluZSBIQVZFX05CQ09NUEFUX1FVRVVFIDEKfCAjZGVmaW5lIEhBVkVf
 UkVHRVhfSCAxCnwgI2RlZmluZSBIQVZFX05CQ09NUEFUX01ENSAxCnwgI2RlZmluZSBIQVZFX05C
 Q09NUEFUX1JNRDE2MCAxCnwgI2RlZmluZSBIQVZFX05CQ09NUEFUX1NIQTEgMQp8ICNkZWZpbmUg
 SEFWRV9OQkNPTVBBVF9TSEEyIDEKfCAjZGVmaW5lIEhBVkVfREVDTF9PUFRBUkcgMQp8ICNkZWZp
 bmUgSEFWRV9ERUNMX09QVElORCAxCnwgI2RlZmluZSBIQVZFX0RFQ0xfT1BUUkVTRVQgMAp8ICNk
 ZWZpbmUgSEFWRV9HRVRPUFRfSCAxCnwgI2RlZmluZSBIQVZFX1NUUlVDVF9PUFRJT04gMQp8ICNk
 ZWZpbmUgSEFWRV9WSVNfSCAxCnwgI2RlZmluZSBIQVZFX05CQ09NUEFUX1ZJUyAxCnwgI2RlZmlu
 ZSBIQVZFX19fQVRUUklCVVRFX18gMQp8ICNkZWZpbmUgSEFWRV9VSU5UUFRSX1QgMQp8ICNkZWZp
 bmUgSEFWRV9MT05HX0xPTkcgMQp8ICNkZWZpbmUgSEFWRV9MT05HX0RPVUJMRSAxCnwgI2RlZmlu
 ZSBIQVZFX0ZTSURfVCAxCnwgI2RlZmluZSBTSVpFT0ZfT0ZGX1QgNAp8ICNkZWZpbmUgSEFWRV9T
 VERMSUJfSCAxCnwgI2RlZmluZSBIQVZFX01BTExPQyAxCnwgI2RlZmluZSBIQVZFX0RFQ0xfU1RS
 RVJST1JfUiAxCnwgI2RlZmluZSBIQVZFX1NUUkVSUk9SX1IgMQp8ICNkZWZpbmUgSEFWRV9GT1JL
 IDEKfCAjZGVmaW5lIEhBVkVfVkZPUksgMQp8ICNkZWZpbmUgSEFWRV9XT1JLSU5HX1ZGT1JLIDEK
 fCAjZGVmaW5lIEhBVkVfV09SS0lOR19GT1JLIDEKfCAjZGVmaW5lIEhBVkVfVlBSSU5URiAxCnwg
 I2RlZmluZSBIQVZFX0RFQ0xfU05QUklOVEYgMQp8ICNkZWZpbmUgSEFWRV9ERUNMX1ZBU1BSSU5U
 RiAwCnwgI2RlZmluZSBIQVZFX0FTUFJJTlRGIDEKfCAjZGVmaW5lIEhBVkVfRVJSIDEKfCAjZGVm
 aW5lIEhBVkVfRk5NQVRDSCAxCnwgI2RlZmluZSBIQVZFX0dFVEVOViAxCnwgI2RlZmluZSBIQVZF
 X0lTQkxBTksgMQp8ICNkZWZpbmUgSEFWRV9MQ0hPV04gMQp8ICNkZWZpbmUgSEFWRV9MVVRJTUVT
 IDEKfCAjZGVmaW5lIEhBVkVfTUtEVEVNUCAxCnwgI2RlZmluZSBIQVZFX01LU1RFTVAgMQp8ICNk
 ZWZpbmUgSEFWRV9TRVRFTlYgMQp8ICNkZWZpbmUgSEFWRV9TTlBSSU5URiAxCnwgI2RlZmluZSBI
 QVZFX1NUQVRWRlMgMQp8ICNkZWZpbmUgSEFWRV9TVFJEVVAgMQp8ICNkZWZpbmUgSEFWRV9TVFJF
 UlJPUiAxCnwgI2RlZmluZSBIQVZFX1NUUlNFUCAxCnwgI2RlZmluZSBIQVZFX1NUUlRPTEwgMQp8
 ICNkZWZpbmUgSEFWRV9VTlNFVEVOViAxCnwgI2RlZmluZSBIQVZFX1VTTEVFUCAxCnwgI2RlZmlu
 ZSBIQVZFX1VUSU1FUyAxCnwgI2RlZmluZSBIQVZFX1dBUk4gMQp8ICNkZWZpbmUgSEFWRV9MSUJO
 U0wgMQp8ICNkZWZpbmUgSEFWRV9TT0NLTEVOX1QgMQp8ICNkZWZpbmUgSEFWRV9TVFJVQ1RfQURE
 UklORk8gMQp8ICNkZWZpbmUgSEFWRV9TVFJVQ1RfSU42X0FERFIgMQp8ICNkZWZpbmUgSEFWRV9T
 VFJVQ1RfU09DS0FERFJfSU42IDEKfCAjZGVmaW5lIEhBVkVfU1RSVUNUX1NPQ0tBRERSX1NUT1JB
 R0UgMQp8ICNkZWZpbmUgSEFWRV9HRVROQU1FSU5GTyAxCnwgI2RlZmluZSBIQVZFX0dBSV9TVFJF
 UlJPUiAxCnwgI2RlZmluZSBIQVZFX0dFVEFERFJJTkZPIDEKfCAjZGVmaW5lIEhBVkVfR0VURU5W
 IDEKfCAjZGVmaW5lIEhBVkVfU0VURU5WIDEKfCAjZGVmaW5lIEhBVkVfVU5TRVRFTlYgMQp8ICNk
 ZWZpbmUgSEFWRV9NS0RURU1QIDEKfCAjZGVmaW5lIEhBVkVfTUtTVEVNUCAxCnwgI2RlZmluZSBI
 QVZFX0JDT1BZIDEKfCAjZGVmaW5lIEhBVkVfQlpFUk8gMQp8ICNkZWZpbmUgSEFWRV9NRU1TRVQg
 MQp8ICNkZWZpbmUgSEFWRV9NRU1DUFkgMQp8ICNkZWZpbmUgSEFWRV9TRVRMT0NBTEUgMQp8ICNk
 ZWZpbmUgSEFWRV9ERUNMX0VOREdSRU5UIDAKfCAjZGVmaW5lIEhBVkVfREVDTF9FTkRQV0VOVCAw
 CnwgI2RlZmluZSBIQVZFX1BPTExfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19QT0xMX0ggMQp8ICNk
 ZWZpbmUgSEFWRV9QT0xMX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfUE9MTF9IIDEKfCAjZGVmaW5l
 IEhBVkVfR0VUUEdSUCAxCnwgI2RlZmluZSBIQVZFX01FTU1PVkUgMQp8ICNkZWZpbmUgSEFWRV9T
 RUxFQ1QgMQp8ICNkZWZpbmUgR0VUUEdSUF9WT0lEIDEKfCAjZGVmaW5lIEhBVkVfU1RSVUNUX1NU
 QVRGU19GX0ZMQUdTIDEKfCAvKiBlbmQgY29uZmRlZnMuaC4gICovCnwgICNpbmNsdWRlIDxzeXMv
 c3RhdGZzLmg+CnwgCnwgaW50CnwgbWFpbiAoKQp8IHsKfCBzdGF0aWMgc3RydWN0IHN0YXRmcyBh
 Y19hZ2dyOwp8IGlmIChzaXplb2YgYWNfYWdnci5mX2ZzaXplKQp8IHJldHVybiAwOwp8ICAgOwp8
 ICAgcmV0dXJuIDA7CnwgfQpjb25maWd1cmU6Njc3ODogcmVzdWx0OiBubwpjb25maWd1cmU6Njc5
 MTogY2hlY2tpbmcgZm9yIHN0cnVjdCBzdGF0ZnMuZl9pb3NpemUKY29uZmlndXJlOjY3OTE6IGdj
 YyAtYyAtZyAtTzIgIGNvbmZ0ZXN0LmMgPiY1CmNvbmZ0ZXN0LmM6IEluIGZ1bmN0aW9uICdtYWlu
 JzoKY29uZnRlc3QuYzoxNTM6MTI6IGVycm9yOiAnc3RydWN0IHN0YXRmcycgaGFzIG5vIG1lbWJl
 ciBuYW1lZCAnZl9pb3NpemUnCmNvbmZpZ3VyZTo2NzkxOiAkPyA9IDEKY29uZmlndXJlOiBmYWls
 ZWQgcHJvZ3JhbSB3YXM6CnwgLyogY29uZmRlZnMuaCAqLwp8ICNkZWZpbmUgUEFDS0FHRV9OQU1F
 ICJsaWJuYmNvbXBhdCIKfCAjZGVmaW5lIFBBQ0tBR0VfVEFSTkFNRSAibGlibmJjb21wYXQiCnwg
 I2RlZmluZSBQQUNLQUdFX1ZFUlNJT04gIjIwMDgwNjA1Igp8ICNkZWZpbmUgUEFDS0FHRV9TVFJJ
 TkcgImxpYm5iY29tcGF0IDIwMDgwNjA1Igp8ICNkZWZpbmUgUEFDS0FHRV9CVUdSRVBPUlQgImdy
 YW50QE5ldEJTRC5vcmciCnwgI2RlZmluZSBQQUNLQUdFX1VSTCAiIgp8ICNkZWZpbmUgU1REQ19I
 RUFERVJTIDEKfCAjZGVmaW5lIFRJTUVfV0lUSF9TWVNfVElNRSAxCnwgI2RlZmluZSBIQVZFX1NZ
 U19UWVBFU19IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NUQVRfSCAxCnwgI2RlZmluZSBIQVZFX1NU
 RExJQl9IIDEKfCAjZGVmaW5lIEhBVkVfU1RSSU5HX0ggMQp8ICNkZWZpbmUgSEFWRV9NRU1PUllf
 SCAxCnwgI2RlZmluZSBIQVZFX1NUUklOR1NfSCAxCnwgI2RlZmluZSBIQVZFX0lOVFRZUEVTX0gg
 MQp8ICNkZWZpbmUgSEFWRV9TVERJTlRfSCAxCnwgI2RlZmluZSBIQVZFX1VOSVNURF9IIDEKfCAj
 ZGVmaW5lIEhBVkVfX0JPT0wgMQp8ICNkZWZpbmUgSEFWRV9TVERCT09MX0ggMQp8ICNkZWZpbmUg
 SEFWRV9BTExPQ0FfSCAxCnwgI2RlZmluZSBIQVZFX0FTU0VSVF9IIDEKfCAjZGVmaW5lIEhBVkVf
 Q1RZUEVfSCAxCnwgI2RlZmluZSBIQVZFX0RJUkVOVF9IIDEKfCAjZGVmaW5lIEhBVkVfRU5ESUFO
 X0ggMQp8ICNkZWZpbmUgSEFWRV9FUlJfSCAxCnwgI2RlZmluZSBIQVZFX0VSUk5PX0ggMQp8ICNk
 ZWZpbmUgSEFWRV9GQ05UTF9IIDEKfCAjZGVmaW5lIEhBVkVfRk5NQVRDSF9IIDEKfCAjZGVmaW5l
 IEhBVkVfRlRTX0ggMQp8ICNkZWZpbmUgSEFWRV9HUlBfSCAxCnwgI2RlZmluZSBIQVZFX0lOVFRZ
 UEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9MSUJVVElMX0ggMQp8ICNkZWZpbmUgSEFWRV9MSU1JVFNf
 SCAxCnwgI2RlZmluZSBIQVZFX05FVERCX0ggMQp8ICNkZWZpbmUgSEFWRV9QQVRIU19IIDEKfCAj
 ZGVmaW5lIEhBVkVfUFdEX0ggMQp8ICNkZWZpbmUgSEFWRV9TSUdOQUxfSCAxCnwgI2RlZmluZSBI
 QVZFX1NUREFSR19IIDEKfCAjZGVmaW5lIEhBVkVfU1REREVGX0ggMQp8ICNkZWZpbmUgSEFWRV9T
 VERJTlRfSCAxCnwgI2RlZmluZSBIQVZFX1NURElPX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERMSUJf
 SCAxCnwgI2RlZmluZSBIQVZFX1NUUklOR19IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX0NERUZTX0gg
 MQp8ICNkZWZpbmUgSEFWRV9TWVNfRElSX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfRklMRV9IIDEK
 fCAjZGVmaW5lIEhBVkVfU1lTX1BBUkFNX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfU09DS0VUX0gg
 MQp8ICNkZWZpbmUgSEFWRV9TWVNfU1RBVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NUQVRGU19I
 IDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NUQVRWRlNfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19USU1F
 X0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfVFlQRVNfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19VSU9f
 SCAxCnwgI2RlZmluZSBIQVZFX1NZU19WRlNfSCAxCnwgI2RlZmluZSBIQVZFX1NZU0VYSVRTX0gg
 MQp8ICNkZWZpbmUgSEFWRV9URVJNQ0FQX0ggMQp8ICNkZWZpbmUgSEFWRV9USU1FX0ggMQp8ICNk
 ZWZpbmUgSEFWRV9VTklTVERfSCAxCnwgI2RlZmluZSBIQVZFX1VUSU1FX0ggMQp8ICNkZWZpbmUg
 SEFWRV9TWVNfTU9VTlRfSCAxCnwgI2RlZmluZSBIQVZFX0dMT0JfSCAxCnwgI2RlZmluZSBIQVZF
 X05CQ09NUEFUX0dMT0IgMQp8ICNkZWZpbmUgSEFWRV9TWVNfUVVFVUVfSCAxCnwgI2RlZmluZSBI
 QVZFX05CQ09NUEFUX1FVRVVFIDEKfCAjZGVmaW5lIEhBVkVfUkVHRVhfSCAxCnwgI2RlZmluZSBI
 QVZFX05CQ09NUEFUX01ENSAxCnwgI2RlZmluZSBIQVZFX05CQ09NUEFUX1JNRDE2MCAxCnwgI2Rl
 ZmluZSBIQVZFX05CQ09NUEFUX1NIQTEgMQp8ICNkZWZpbmUgSEFWRV9OQkNPTVBBVF9TSEEyIDEK
 fCAjZGVmaW5lIEhBVkVfREVDTF9PUFRBUkcgMQp8ICNkZWZpbmUgSEFWRV9ERUNMX09QVElORCAx
 CnwgI2RlZmluZSBIQVZFX0RFQ0xfT1BUUkVTRVQgMAp8ICNkZWZpbmUgSEFWRV9HRVRPUFRfSCAx
 CnwgI2RlZmluZSBIQVZFX1NUUlVDVF9PUFRJT04gMQp8ICNkZWZpbmUgSEFWRV9WSVNfSCAxCnwg
 I2RlZmluZSBIQVZFX05CQ09NUEFUX1ZJUyAxCnwgI2RlZmluZSBIQVZFX19fQVRUUklCVVRFX18g
 MQp8ICNkZWZpbmUgSEFWRV9VSU5UUFRSX1QgMQp8ICNkZWZpbmUgSEFWRV9MT05HX0xPTkcgMQp8
 ICNkZWZpbmUgSEFWRV9MT05HX0RPVUJMRSAxCnwgI2RlZmluZSBIQVZFX0ZTSURfVCAxCnwgI2Rl
 ZmluZSBTSVpFT0ZfT0ZGX1QgNAp8ICNkZWZpbmUgSEFWRV9TVERMSUJfSCAxCnwgI2RlZmluZSBI
 QVZFX01BTExPQyAxCnwgI2RlZmluZSBIQVZFX0RFQ0xfU1RSRVJST1JfUiAxCnwgI2RlZmluZSBI
 QVZFX1NUUkVSUk9SX1IgMQp8ICNkZWZpbmUgSEFWRV9GT1JLIDEKfCAjZGVmaW5lIEhBVkVfVkZP
 UksgMQp8ICNkZWZpbmUgSEFWRV9XT1JLSU5HX1ZGT1JLIDEKfCAjZGVmaW5lIEhBVkVfV09SS0lO
 R19GT1JLIDEKfCAjZGVmaW5lIEhBVkVfVlBSSU5URiAxCnwgI2RlZmluZSBIQVZFX0RFQ0xfU05Q
 UklOVEYgMQp8ICNkZWZpbmUgSEFWRV9ERUNMX1ZBU1BSSU5URiAwCnwgI2RlZmluZSBIQVZFX0FT
 UFJJTlRGIDEKfCAjZGVmaW5lIEhBVkVfRVJSIDEKfCAjZGVmaW5lIEhBVkVfRk5NQVRDSCAxCnwg
 I2RlZmluZSBIQVZFX0dFVEVOViAxCnwgI2RlZmluZSBIQVZFX0lTQkxBTksgMQp8ICNkZWZpbmUg
 SEFWRV9MQ0hPV04gMQp8ICNkZWZpbmUgSEFWRV9MVVRJTUVTIDEKfCAjZGVmaW5lIEhBVkVfTUtE
 VEVNUCAxCnwgI2RlZmluZSBIQVZFX01LU1RFTVAgMQp8ICNkZWZpbmUgSEFWRV9TRVRFTlYgMQp8
 ICNkZWZpbmUgSEFWRV9TTlBSSU5URiAxCnwgI2RlZmluZSBIQVZFX1NUQVRWRlMgMQp8ICNkZWZp
 bmUgSEFWRV9TVFJEVVAgMQp8ICNkZWZpbmUgSEFWRV9TVFJFUlJPUiAxCnwgI2RlZmluZSBIQVZF
 X1NUUlNFUCAxCnwgI2RlZmluZSBIQVZFX1NUUlRPTEwgMQp8ICNkZWZpbmUgSEFWRV9VTlNFVEVO
 ViAxCnwgI2RlZmluZSBIQVZFX1VTTEVFUCAxCnwgI2RlZmluZSBIQVZFX1VUSU1FUyAxCnwgI2Rl
 ZmluZSBIQVZFX1dBUk4gMQp8ICNkZWZpbmUgSEFWRV9MSUJOU0wgMQp8ICNkZWZpbmUgSEFWRV9T
 T0NLTEVOX1QgMQp8ICNkZWZpbmUgSEFWRV9TVFJVQ1RfQUREUklORk8gMQp8ICNkZWZpbmUgSEFW
 RV9TVFJVQ1RfSU42X0FERFIgMQp8ICNkZWZpbmUgSEFWRV9TVFJVQ1RfU09DS0FERFJfSU42IDEK
 fCAjZGVmaW5lIEhBVkVfU1RSVUNUX1NPQ0tBRERSX1NUT1JBR0UgMQp8ICNkZWZpbmUgSEFWRV9H
 RVROQU1FSU5GTyAxCnwgI2RlZmluZSBIQVZFX0dBSV9TVFJFUlJPUiAxCnwgI2RlZmluZSBIQVZF
 X0dFVEFERFJJTkZPIDEKfCAjZGVmaW5lIEhBVkVfR0VURU5WIDEKfCAjZGVmaW5lIEhBVkVfU0VU
 RU5WIDEKfCAjZGVmaW5lIEhBVkVfVU5TRVRFTlYgMQp8ICNkZWZpbmUgSEFWRV9NS0RURU1QIDEK
 fCAjZGVmaW5lIEhBVkVfTUtTVEVNUCAxCnwgI2RlZmluZSBIQVZFX0JDT1BZIDEKfCAjZGVmaW5l
 IEhBVkVfQlpFUk8gMQp8ICNkZWZpbmUgSEFWRV9NRU1TRVQgMQp8ICNkZWZpbmUgSEFWRV9NRU1D
 UFkgMQp8ICNkZWZpbmUgSEFWRV9TRVRMT0NBTEUgMQp8ICNkZWZpbmUgSEFWRV9ERUNMX0VOREdS
 RU5UIDAKfCAjZGVmaW5lIEhBVkVfREVDTF9FTkRQV0VOVCAwCnwgI2RlZmluZSBIQVZFX1BPTExf
 SCAxCnwgI2RlZmluZSBIQVZFX1NZU19QT0xMX0ggMQp8ICNkZWZpbmUgSEFWRV9QT0xMX0ggMQp8
 ICNkZWZpbmUgSEFWRV9TWVNfUE9MTF9IIDEKfCAjZGVmaW5lIEhBVkVfR0VUUEdSUCAxCnwgI2Rl
 ZmluZSBIQVZFX01FTU1PVkUgMQp8ICNkZWZpbmUgSEFWRV9TRUxFQ1QgMQp8ICNkZWZpbmUgR0VU
 UEdSUF9WT0lEIDEKfCAjZGVmaW5lIEhBVkVfU1RSVUNUX1NUQVRGU19GX0ZMQUdTIDEKfCAvKiBl
 bmQgY29uZmRlZnMuaC4gICovCnwgICNpbmNsdWRlIDxzeXMvc3RhdGZzLmg+CnwgCnwgaW50Cnwg
 bWFpbiAoKQp8IHsKfCBzdGF0aWMgc3RydWN0IHN0YXRmcyBhY19hZ2dyOwp8IGlmIChhY19hZ2dy
 LmZfaW9zaXplKQp8IHJldHVybiAwOwp8ICAgOwp8ICAgcmV0dXJuIDA7CnwgfQpjb25maWd1cmU6
 Njc5MTogZ2NjIC1jIC1nIC1PMiAgY29uZnRlc3QuYyA+JjUKY29uZnRlc3QuYzogSW4gZnVuY3Rp
 b24gJ21haW4nOgpjb25mdGVzdC5jOjE1MzoxOTogZXJyb3I6ICdzdHJ1Y3Qgc3RhdGZzJyBoYXMg
 bm8gbWVtYmVyIG5hbWVkICdmX2lvc2l6ZScKY29uZmlndXJlOjY3OTE6ICQ/ID0gMQpjb25maWd1
 cmU6IGZhaWxlZCBwcm9ncmFtIHdhczoKfCAvKiBjb25mZGVmcy5oICovCnwgI2RlZmluZSBQQUNL
 QUdFX05BTUUgImxpYm5iY29tcGF0Igp8ICNkZWZpbmUgUEFDS0FHRV9UQVJOQU1FICJsaWJuYmNv
 bXBhdCIKfCAjZGVmaW5lIFBBQ0tBR0VfVkVSU0lPTiAiMjAwODA2MDUiCnwgI2RlZmluZSBQQUNL
 QUdFX1NUUklORyAibGlibmJjb21wYXQgMjAwODA2MDUiCnwgI2RlZmluZSBQQUNLQUdFX0JVR1JF
 UE9SVCAiZ3JhbnRATmV0QlNELm9yZyIKfCAjZGVmaW5lIFBBQ0tBR0VfVVJMICIiCnwgI2RlZmlu
 ZSBTVERDX0hFQURFUlMgMQp8ICNkZWZpbmUgVElNRV9XSVRIX1NZU19USU1FIDEKfCAjZGVmaW5l
 IEhBVkVfU1lTX1RZUEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfU1RBVF9IIDEKfCAjZGVmaW5l
 IEhBVkVfU1RETElCX0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJJTkdfSCAxCnwgI2RlZmluZSBIQVZF
 X01FTU9SWV9IIDEKfCAjZGVmaW5lIEhBVkVfU1RSSU5HU19IIDEKfCAjZGVmaW5lIEhBVkVfSU5U
 VFlQRVNfSCAxCnwgI2RlZmluZSBIQVZFX1NURElOVF9IIDEKfCAjZGVmaW5lIEhBVkVfVU5JU1RE
 X0ggMQp8ICNkZWZpbmUgSEFWRV9fQk9PTCAxCnwgI2RlZmluZSBIQVZFX1NUREJPT0xfSCAxCnwg
 I2RlZmluZSBIQVZFX0FMTE9DQV9IIDEKfCAjZGVmaW5lIEhBVkVfQVNTRVJUX0ggMQp8ICNkZWZp
 bmUgSEFWRV9DVFlQRV9IIDEKfCAjZGVmaW5lIEhBVkVfRElSRU5UX0ggMQp8ICNkZWZpbmUgSEFW
 RV9FTkRJQU5fSCAxCnwgI2RlZmluZSBIQVZFX0VSUl9IIDEKfCAjZGVmaW5lIEhBVkVfRVJSTk9f
 SCAxCnwgI2RlZmluZSBIQVZFX0ZDTlRMX0ggMQp8ICNkZWZpbmUgSEFWRV9GTk1BVENIX0ggMQp8
 ICNkZWZpbmUgSEFWRV9GVFNfSCAxCnwgI2RlZmluZSBIQVZFX0dSUF9IIDEKfCAjZGVmaW5lIEhB
 VkVfSU5UVFlQRVNfSCAxCnwgI2RlZmluZSBIQVZFX0xJQlVUSUxfSCAxCnwgI2RlZmluZSBIQVZF
 X0xJTUlUU19IIDEKfCAjZGVmaW5lIEhBVkVfTkVUREJfSCAxCnwgI2RlZmluZSBIQVZFX1BBVEhT
 X0ggMQp8ICNkZWZpbmUgSEFWRV9QV0RfSCAxCnwgI2RlZmluZSBIQVZFX1NJR05BTF9IIDEKfCAj
 ZGVmaW5lIEhBVkVfU1REQVJHX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERERUZfSCAxCnwgI2RlZmlu
 ZSBIQVZFX1NURElOVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1RESU9fSCAxCnwgI2RlZmluZSBIQVZF
 X1NURExJQl9IIDEKfCAjZGVmaW5lIEhBVkVfU1RSSU5HX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNf
 Q0RFRlNfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19ESVJfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19G
 SUxFX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfUEFSQU1fSCAxCnwgI2RlZmluZSBIQVZFX1NZU19T
 T0NLRVRfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19TVEFUX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNf
 U1RBVEZTX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfU1RBVFZGU19IIDEKfCAjZGVmaW5lIEhBVkVf
 U1lTX1RJTUVfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19UWVBFU19IIDEKfCAjZGVmaW5lIEhBVkVf
 U1lTX1VJT19IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1ZGU19IIDEKfCAjZGVmaW5lIEhBVkVfU1lT
 RVhJVFNfSCAxCnwgI2RlZmluZSBIQVZFX1RFUk1DQVBfSCAxCnwgI2RlZmluZSBIQVZFX1RJTUVf
 SCAxCnwgI2RlZmluZSBIQVZFX1VOSVNURF9IIDEKfCAjZGVmaW5lIEhBVkVfVVRJTUVfSCAxCnwg
 I2RlZmluZSBIQVZFX1NZU19NT1VOVF9IIDEKfCAjZGVmaW5lIEhBVkVfR0xPQl9IIDEKfCAjZGVm
 aW5lIEhBVkVfTkJDT01QQVRfR0xPQiAxCnwgI2RlZmluZSBIQVZFX1NZU19RVUVVRV9IIDEKfCAj
 ZGVmaW5lIEhBVkVfTkJDT01QQVRfUVVFVUUgMQp8ICNkZWZpbmUgSEFWRV9SRUdFWF9IIDEKfCAj
 ZGVmaW5lIEhBVkVfTkJDT01QQVRfTUQ1IDEKfCAjZGVmaW5lIEhBVkVfTkJDT01QQVRfUk1EMTYw
 IDEKfCAjZGVmaW5lIEhBVkVfTkJDT01QQVRfU0hBMSAxCnwgI2RlZmluZSBIQVZFX05CQ09NUEFU
 X1NIQTIgMQp8ICNkZWZpbmUgSEFWRV9ERUNMX09QVEFSRyAxCnwgI2RlZmluZSBIQVZFX0RFQ0xf
 T1BUSU5EIDEKfCAjZGVmaW5lIEhBVkVfREVDTF9PUFRSRVNFVCAwCnwgI2RlZmluZSBIQVZFX0dF
 VE9QVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1RSVUNUX09QVElPTiAxCnwgI2RlZmluZSBIQVZFX1ZJ
 U19IIDEKfCAjZGVmaW5lIEhBVkVfTkJDT01QQVRfVklTIDEKfCAjZGVmaW5lIEhBVkVfX19BVFRS
 SUJVVEVfXyAxCnwgI2RlZmluZSBIQVZFX1VJTlRQVFJfVCAxCnwgI2RlZmluZSBIQVZFX0xPTkdf
 TE9ORyAxCnwgI2RlZmluZSBIQVZFX0xPTkdfRE9VQkxFIDEKfCAjZGVmaW5lIEhBVkVfRlNJRF9U
 IDEKfCAjZGVmaW5lIFNJWkVPRl9PRkZfVCA0CnwgI2RlZmluZSBIQVZFX1NURExJQl9IIDEKfCAj
 ZGVmaW5lIEhBVkVfTUFMTE9DIDEKfCAjZGVmaW5lIEhBVkVfREVDTF9TVFJFUlJPUl9SIDEKfCAj
 ZGVmaW5lIEhBVkVfU1RSRVJST1JfUiAxCnwgI2RlZmluZSBIQVZFX0ZPUksgMQp8ICNkZWZpbmUg
 SEFWRV9WRk9SSyAxCnwgI2RlZmluZSBIQVZFX1dPUktJTkdfVkZPUksgMQp8ICNkZWZpbmUgSEFW
 RV9XT1JLSU5HX0ZPUksgMQp8ICNkZWZpbmUgSEFWRV9WUFJJTlRGIDEKfCAjZGVmaW5lIEhBVkVf
 REVDTF9TTlBSSU5URiAxCnwgI2RlZmluZSBIQVZFX0RFQ0xfVkFTUFJJTlRGIDAKfCAjZGVmaW5l
 IEhBVkVfQVNQUklOVEYgMQp8ICNkZWZpbmUgSEFWRV9FUlIgMQp8ICNkZWZpbmUgSEFWRV9GTk1B
 VENIIDEKfCAjZGVmaW5lIEhBVkVfR0VURU5WIDEKfCAjZGVmaW5lIEhBVkVfSVNCTEFOSyAxCnwg
 I2RlZmluZSBIQVZFX0xDSE9XTiAxCnwgI2RlZmluZSBIQVZFX0xVVElNRVMgMQp8ICNkZWZpbmUg
 SEFWRV9NS0RURU1QIDEKfCAjZGVmaW5lIEhBVkVfTUtTVEVNUCAxCnwgI2RlZmluZSBIQVZFX1NF
 VEVOViAxCnwgI2RlZmluZSBIQVZFX1NOUFJJTlRGIDEKfCAjZGVmaW5lIEhBVkVfU1RBVFZGUyAx
 CnwgI2RlZmluZSBIQVZFX1NUUkRVUCAxCnwgI2RlZmluZSBIQVZFX1NUUkVSUk9SIDEKfCAjZGVm
 aW5lIEhBVkVfU1RSU0VQIDEKfCAjZGVmaW5lIEhBVkVfU1RSVE9MTCAxCnwgI2RlZmluZSBIQVZF
 X1VOU0VURU5WIDEKfCAjZGVmaW5lIEhBVkVfVVNMRUVQIDEKfCAjZGVmaW5lIEhBVkVfVVRJTUVT
 IDEKfCAjZGVmaW5lIEhBVkVfV0FSTiAxCnwgI2RlZmluZSBIQVZFX0xJQk5TTCAxCnwgI2RlZmlu
 ZSBIQVZFX1NPQ0tMRU5fVCAxCnwgI2RlZmluZSBIQVZFX1NUUlVDVF9BRERSSU5GTyAxCnwgI2Rl
 ZmluZSBIQVZFX1NUUlVDVF9JTjZfQUREUiAxCnwgI2RlZmluZSBIQVZFX1NUUlVDVF9TT0NLQURE
 Ul9JTjYgMQp8ICNkZWZpbmUgSEFWRV9TVFJVQ1RfU09DS0FERFJfU1RPUkFHRSAxCnwgI2RlZmlu
 ZSBIQVZFX0dFVE5BTUVJTkZPIDEKfCAjZGVmaW5lIEhBVkVfR0FJX1NUUkVSUk9SIDEKfCAjZGVm
 aW5lIEhBVkVfR0VUQUREUklORk8gMQp8ICNkZWZpbmUgSEFWRV9HRVRFTlYgMQp8ICNkZWZpbmUg
 SEFWRV9TRVRFTlYgMQp8ICNkZWZpbmUgSEFWRV9VTlNFVEVOViAxCnwgI2RlZmluZSBIQVZFX01L
 RFRFTVAgMQp8ICNkZWZpbmUgSEFWRV9NS1NURU1QIDEKfCAjZGVmaW5lIEhBVkVfQkNPUFkgMQp8
 ICNkZWZpbmUgSEFWRV9CWkVSTyAxCnwgI2RlZmluZSBIQVZFX01FTVNFVCAxCnwgI2RlZmluZSBI
 QVZFX01FTUNQWSAxCnwgI2RlZmluZSBIQVZFX1NFVExPQ0FMRSAxCnwgI2RlZmluZSBIQVZFX0RF
 Q0xfRU5ER1JFTlQgMAp8ICNkZWZpbmUgSEFWRV9ERUNMX0VORFBXRU5UIDAKfCAjZGVmaW5lIEhB
 VkVfUE9MTF9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1BPTExfSCAxCnwgI2RlZmluZSBIQVZFX1BP
 TExfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19QT0xMX0ggMQp8ICNkZWZpbmUgSEFWRV9HRVRQR1JQ
 IDEKfCAjZGVmaW5lIEhBVkVfTUVNTU9WRSAxCnwgI2RlZmluZSBIQVZFX1NFTEVDVCAxCnwgI2Rl
 ZmluZSBHRVRQR1JQX1ZPSUQgMQp8ICNkZWZpbmUgSEFWRV9TVFJVQ1RfU1RBVEZTX0ZfRkxBR1Mg
 MQp8IC8qIGVuZCBjb25mZGVmcy5oLiAgKi8KfCAgI2luY2x1ZGUgPHN5cy9zdGF0ZnMuaD4KfCAK
 fCBpbnQKfCBtYWluICgpCnwgewp8IHN0YXRpYyBzdHJ1Y3Qgc3RhdGZzIGFjX2FnZ3I7CnwgaWYg
 KHNpemVvZiBhY19hZ2dyLmZfaW9zaXplKQp8IHJldHVybiAwOwp8ICAgOwp8ICAgcmV0dXJuIDA7
 CnwgfQpjb25maWd1cmU6Njc5MTogcmVzdWx0OiBubwpjb25maWd1cmU6NjgwNDogY2hlY2tpbmcg
 Zm9yIHN0cnVjdCBkaXJlbnQuZF9uYW1sZW4KY29uZmlndXJlOjY4MDQ6IGdjYyAtYyAtZyAtTzIg
 IGNvbmZ0ZXN0LmMgPiY1CmNvbmZ0ZXN0LmM6IEluIGZ1bmN0aW9uICdtYWluJzoKY29uZnRlc3Qu
 YzoxNjc6MTI6IGVycm9yOiAnc3RydWN0IGRpcmVudCcgaGFzIG5vIG1lbWJlciBuYW1lZCAnZF9u
 YW1sZW4nCmNvbmZpZ3VyZTo2ODA0OiAkPyA9IDEKY29uZmlndXJlOiBmYWlsZWQgcHJvZ3JhbSB3
 YXM6CnwgLyogY29uZmRlZnMuaCAqLwp8ICNkZWZpbmUgUEFDS0FHRV9OQU1FICJsaWJuYmNvbXBh
 dCIKfCAjZGVmaW5lIFBBQ0tBR0VfVEFSTkFNRSAibGlibmJjb21wYXQiCnwgI2RlZmluZSBQQUNL
 QUdFX1ZFUlNJT04gIjIwMDgwNjA1Igp8ICNkZWZpbmUgUEFDS0FHRV9TVFJJTkcgImxpYm5iY29t
 cGF0IDIwMDgwNjA1Igp8ICNkZWZpbmUgUEFDS0FHRV9CVUdSRVBPUlQgImdyYW50QE5ldEJTRC5v
 cmciCnwgI2RlZmluZSBQQUNLQUdFX1VSTCAiIgp8ICNkZWZpbmUgU1REQ19IRUFERVJTIDEKfCAj
 ZGVmaW5lIFRJTUVfV0lUSF9TWVNfVElNRSAxCnwgI2RlZmluZSBIQVZFX1NZU19UWVBFU19IIDEK
 fCAjZGVmaW5lIEhBVkVfU1lTX1NUQVRfSCAxCnwgI2RlZmluZSBIQVZFX1NURExJQl9IIDEKfCAj
 ZGVmaW5lIEhBVkVfU1RSSU5HX0ggMQp8ICNkZWZpbmUgSEFWRV9NRU1PUllfSCAxCnwgI2RlZmlu
 ZSBIQVZFX1NUUklOR1NfSCAxCnwgI2RlZmluZSBIQVZFX0lOVFRZUEVTX0ggMQp8ICNkZWZpbmUg
 SEFWRV9TVERJTlRfSCAxCnwgI2RlZmluZSBIQVZFX1VOSVNURF9IIDEKfCAjZGVmaW5lIEhBVkVf
 X0JPT0wgMQp8ICNkZWZpbmUgSEFWRV9TVERCT09MX0ggMQp8ICNkZWZpbmUgSEFWRV9BTExPQ0Ff
 SCAxCnwgI2RlZmluZSBIQVZFX0FTU0VSVF9IIDEKfCAjZGVmaW5lIEhBVkVfQ1RZUEVfSCAxCnwg
 I2RlZmluZSBIQVZFX0RJUkVOVF9IIDEKfCAjZGVmaW5lIEhBVkVfRU5ESUFOX0ggMQp8ICNkZWZp
 bmUgSEFWRV9FUlJfSCAxCnwgI2RlZmluZSBIQVZFX0VSUk5PX0ggMQp8ICNkZWZpbmUgSEFWRV9G
 Q05UTF9IIDEKfCAjZGVmaW5lIEhBVkVfRk5NQVRDSF9IIDEKfCAjZGVmaW5lIEhBVkVfRlRTX0gg
 MQp8ICNkZWZpbmUgSEFWRV9HUlBfSCAxCnwgI2RlZmluZSBIQVZFX0lOVFRZUEVTX0ggMQp8ICNk
 ZWZpbmUgSEFWRV9MSUJVVElMX0ggMQp8ICNkZWZpbmUgSEFWRV9MSU1JVFNfSCAxCnwgI2RlZmlu
 ZSBIQVZFX05FVERCX0ggMQp8ICNkZWZpbmUgSEFWRV9QQVRIU19IIDEKfCAjZGVmaW5lIEhBVkVf
 UFdEX0ggMQp8ICNkZWZpbmUgSEFWRV9TSUdOQUxfSCAxCnwgI2RlZmluZSBIQVZFX1NUREFSR19I
 IDEKfCAjZGVmaW5lIEhBVkVfU1REREVGX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERJTlRfSCAxCnwg
 I2RlZmluZSBIQVZFX1NURElPX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERMSUJfSCAxCnwgI2RlZmlu
 ZSBIQVZFX1NUUklOR19IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX0NERUZTX0ggMQp8ICNkZWZpbmUg
 SEFWRV9TWVNfRElSX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfRklMRV9IIDEKfCAjZGVmaW5lIEhB
 VkVfU1lTX1BBUkFNX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfU09DS0VUX0ggMQp8ICNkZWZpbmUg
 SEFWRV9TWVNfU1RBVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NUQVRGU19IIDEKfCAjZGVmaW5l
 IEhBVkVfU1lTX1NUQVRWRlNfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19USU1FX0ggMQp8ICNkZWZp
 bmUgSEFWRV9TWVNfVFlQRVNfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19VSU9fSCAxCnwgI2RlZmlu
 ZSBIQVZFX1NZU19WRlNfSCAxCnwgI2RlZmluZSBIQVZFX1NZU0VYSVRTX0ggMQp8ICNkZWZpbmUg
 SEFWRV9URVJNQ0FQX0ggMQp8ICNkZWZpbmUgSEFWRV9USU1FX0ggMQp8ICNkZWZpbmUgSEFWRV9V
 TklTVERfSCAxCnwgI2RlZmluZSBIQVZFX1VUSU1FX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfTU9V
 TlRfSCAxCnwgI2RlZmluZSBIQVZFX0dMT0JfSCAxCnwgI2RlZmluZSBIQVZFX05CQ09NUEFUX0dM
 T0IgMQp8ICNkZWZpbmUgSEFWRV9TWVNfUVVFVUVfSCAxCnwgI2RlZmluZSBIQVZFX05CQ09NUEFU
 X1FVRVVFIDEKfCAjZGVmaW5lIEhBVkVfUkVHRVhfSCAxCnwgI2RlZmluZSBIQVZFX05CQ09NUEFU
 X01ENSAxCnwgI2RlZmluZSBIQVZFX05CQ09NUEFUX1JNRDE2MCAxCnwgI2RlZmluZSBIQVZFX05C
 Q09NUEFUX1NIQTEgMQp8ICNkZWZpbmUgSEFWRV9OQkNPTVBBVF9TSEEyIDEKfCAjZGVmaW5lIEhB
 VkVfREVDTF9PUFRBUkcgMQp8ICNkZWZpbmUgSEFWRV9ERUNMX09QVElORCAxCnwgI2RlZmluZSBI
 QVZFX0RFQ0xfT1BUUkVTRVQgMAp8ICNkZWZpbmUgSEFWRV9HRVRPUFRfSCAxCnwgI2RlZmluZSBI
 QVZFX1NUUlVDVF9PUFRJT04gMQp8ICNkZWZpbmUgSEFWRV9WSVNfSCAxCnwgI2RlZmluZSBIQVZF
 X05CQ09NUEFUX1ZJUyAxCnwgI2RlZmluZSBIQVZFX19fQVRUUklCVVRFX18gMQp8ICNkZWZpbmUg
 SEFWRV9VSU5UUFRSX1QgMQp8ICNkZWZpbmUgSEFWRV9MT05HX0xPTkcgMQp8ICNkZWZpbmUgSEFW
 RV9MT05HX0RPVUJMRSAxCnwgI2RlZmluZSBIQVZFX0ZTSURfVCAxCnwgI2RlZmluZSBTSVpFT0Zf
 T0ZGX1QgNAp8ICNkZWZpbmUgSEFWRV9TVERMSUJfSCAxCnwgI2RlZmluZSBIQVZFX01BTExPQyAx
 CnwgI2RlZmluZSBIQVZFX0RFQ0xfU1RSRVJST1JfUiAxCnwgI2RlZmluZSBIQVZFX1NUUkVSUk9S
 X1IgMQp8ICNkZWZpbmUgSEFWRV9GT1JLIDEKfCAjZGVmaW5lIEhBVkVfVkZPUksgMQp8ICNkZWZp
 bmUgSEFWRV9XT1JLSU5HX1ZGT1JLIDEKfCAjZGVmaW5lIEhBVkVfV09SS0lOR19GT1JLIDEKfCAj
 ZGVmaW5lIEhBVkVfVlBSSU5URiAxCnwgI2RlZmluZSBIQVZFX0RFQ0xfU05QUklOVEYgMQp8ICNk
 ZWZpbmUgSEFWRV9ERUNMX1ZBU1BSSU5URiAwCnwgI2RlZmluZSBIQVZFX0FTUFJJTlRGIDEKfCAj
 ZGVmaW5lIEhBVkVfRVJSIDEKfCAjZGVmaW5lIEhBVkVfRk5NQVRDSCAxCnwgI2RlZmluZSBIQVZF
 X0dFVEVOViAxCnwgI2RlZmluZSBIQVZFX0lTQkxBTksgMQp8ICNkZWZpbmUgSEFWRV9MQ0hPV04g
 MQp8ICNkZWZpbmUgSEFWRV9MVVRJTUVTIDEKfCAjZGVmaW5lIEhBVkVfTUtEVEVNUCAxCnwgI2Rl
 ZmluZSBIQVZFX01LU1RFTVAgMQp8ICNkZWZpbmUgSEFWRV9TRVRFTlYgMQp8ICNkZWZpbmUgSEFW
 RV9TTlBSSU5URiAxCnwgI2RlZmluZSBIQVZFX1NUQVRWRlMgMQp8ICNkZWZpbmUgSEFWRV9TVFJE
 VVAgMQp8ICNkZWZpbmUgSEFWRV9TVFJFUlJPUiAxCnwgI2RlZmluZSBIQVZFX1NUUlNFUCAxCnwg
 I2RlZmluZSBIQVZFX1NUUlRPTEwgMQp8ICNkZWZpbmUgSEFWRV9VTlNFVEVOViAxCnwgI2RlZmlu
 ZSBIQVZFX1VTTEVFUCAxCnwgI2RlZmluZSBIQVZFX1VUSU1FUyAxCnwgI2RlZmluZSBIQVZFX1dB
 Uk4gMQp8ICNkZWZpbmUgSEFWRV9MSUJOU0wgMQp8ICNkZWZpbmUgSEFWRV9TT0NLTEVOX1QgMQp8
 ICNkZWZpbmUgSEFWRV9TVFJVQ1RfQUREUklORk8gMQp8ICNkZWZpbmUgSEFWRV9TVFJVQ1RfSU42
 X0FERFIgMQp8ICNkZWZpbmUgSEFWRV9TVFJVQ1RfU09DS0FERFJfSU42IDEKfCAjZGVmaW5lIEhB
 VkVfU1RSVUNUX1NPQ0tBRERSX1NUT1JBR0UgMQp8ICNkZWZpbmUgSEFWRV9HRVROQU1FSU5GTyAx
 CnwgI2RlZmluZSBIQVZFX0dBSV9TVFJFUlJPUiAxCnwgI2RlZmluZSBIQVZFX0dFVEFERFJJTkZP
 IDEKfCAjZGVmaW5lIEhBVkVfR0VURU5WIDEKfCAjZGVmaW5lIEhBVkVfU0VURU5WIDEKfCAjZGVm
 aW5lIEhBVkVfVU5TRVRFTlYgMQp8ICNkZWZpbmUgSEFWRV9NS0RURU1QIDEKfCAjZGVmaW5lIEhB
 VkVfTUtTVEVNUCAxCnwgI2RlZmluZSBIQVZFX0JDT1BZIDEKfCAjZGVmaW5lIEhBVkVfQlpFUk8g
 MQp8ICNkZWZpbmUgSEFWRV9NRU1TRVQgMQp8ICNkZWZpbmUgSEFWRV9NRU1DUFkgMQp8ICNkZWZp
 bmUgSEFWRV9TRVRMT0NBTEUgMQp8ICNkZWZpbmUgSEFWRV9ERUNMX0VOREdSRU5UIDAKfCAjZGVm
 aW5lIEhBVkVfREVDTF9FTkRQV0VOVCAwCnwgI2RlZmluZSBIQVZFX1BPTExfSCAxCnwgI2RlZmlu
 ZSBIQVZFX1NZU19QT0xMX0ggMQp8ICNkZWZpbmUgSEFWRV9QT0xMX0ggMQp8ICNkZWZpbmUgSEFW
 RV9TWVNfUE9MTF9IIDEKfCAjZGVmaW5lIEhBVkVfR0VUUEdSUCAxCnwgI2RlZmluZSBIQVZFX01F
 TU1PVkUgMQp8ICNkZWZpbmUgSEFWRV9TRUxFQ1QgMQp8ICNkZWZpbmUgR0VUUEdSUF9WT0lEIDEK
 fCAjZGVmaW5lIEhBVkVfU1RSVUNUX1NUQVRGU19GX0ZMQUdTIDEKfCAvKiBlbmQgY29uZmRlZnMu
 aC4gICovCnwgICNpbmNsdWRlIDxzeXMvdHlwZXMuaD4KfCAJICAjaWYgSEFWRV9ESVJFTlRfSAp8
 IAkgICMgaW5jbHVkZSA8ZGlyZW50Lmg+CnwgCSAgI2Vsc2UKfCAJICAjIGRlZmluZSBkaXJlbnQg
 ZGlyZWN0CnwgCSAgIyBpZiBIQVZFX1NZU19ORElSX0gKfCAJICAjICBpbmNsdWRlIDxzeXMvbmRp
 ci5oPgp8IAkgICMgZW5kaWYKfCAJICAjIGlmIEhBVkVfU1lTX0RJUl9ICnwgCSAgIyAgaW5jbHVk
 ZSA8c3lzL2Rpci5oPgp8IAkgICMgZW5kaWYKfCAJICAjIGlmIEhBVkVfTkRJUl9ICnwgCSAgIyAg
 aW5jbHVkZSA8bmRpci5oPgp8IAkgICMgZW5kaWYKfCAJICAjZW5kaWYKfCAKfCBpbnQKfCBtYWlu
 ICgpCnwgewp8IHN0YXRpYyBzdHJ1Y3QgZGlyZW50IGFjX2FnZ3I7CnwgaWYgKGFjX2FnZ3IuZF9u
 YW1sZW4pCnwgcmV0dXJuIDA7CnwgICA7CnwgICByZXR1cm4gMDsKfCB9CmNvbmZpZ3VyZTo2ODA0
 OiBnY2MgLWMgLWcgLU8yICBjb25mdGVzdC5jID4mNQpjb25mdGVzdC5jOiBJbiBmdW5jdGlvbiAn
 bWFpbic6CmNvbmZ0ZXN0LmM6MTY3OjE5OiBlcnJvcjogJ3N0cnVjdCBkaXJlbnQnIGhhcyBubyBt
 ZW1iZXIgbmFtZWQgJ2RfbmFtbGVuJwpjb25maWd1cmU6NjgwNDogJD8gPSAxCmNvbmZpZ3VyZTog
 ZmFpbGVkIHByb2dyYW0gd2FzOgp8IC8qIGNvbmZkZWZzLmggKi8KfCAjZGVmaW5lIFBBQ0tBR0Vf
 TkFNRSAibGlibmJjb21wYXQiCnwgI2RlZmluZSBQQUNLQUdFX1RBUk5BTUUgImxpYm5iY29tcGF0
 Igp8ICNkZWZpbmUgUEFDS0FHRV9WRVJTSU9OICIyMDA4MDYwNSIKfCAjZGVmaW5lIFBBQ0tBR0Vf
 U1RSSU5HICJsaWJuYmNvbXBhdCAyMDA4MDYwNSIKfCAjZGVmaW5lIFBBQ0tBR0VfQlVHUkVQT1JU
 ICJncmFudEBOZXRCU0Qub3JnIgp8ICNkZWZpbmUgUEFDS0FHRV9VUkwgIiIKfCAjZGVmaW5lIFNU
 RENfSEVBREVSUyAxCnwgI2RlZmluZSBUSU1FX1dJVEhfU1lTX1RJTUUgMQp8ICNkZWZpbmUgSEFW
 RV9TWVNfVFlQRVNfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19TVEFUX0ggMQp8ICNkZWZpbmUgSEFW
 RV9TVERMSUJfSCAxCnwgI2RlZmluZSBIQVZFX1NUUklOR19IIDEKfCAjZGVmaW5lIEhBVkVfTUVN
 T1JZX0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJJTkdTX0ggMQp8ICNkZWZpbmUgSEFWRV9JTlRUWVBF
 U19IIDEKfCAjZGVmaW5lIEhBVkVfU1RESU5UX0ggMQp8ICNkZWZpbmUgSEFWRV9VTklTVERfSCAx
 CnwgI2RlZmluZSBIQVZFX19CT09MIDEKfCAjZGVmaW5lIEhBVkVfU1REQk9PTF9IIDEKfCAjZGVm
 aW5lIEhBVkVfQUxMT0NBX0ggMQp8ICNkZWZpbmUgSEFWRV9BU1NFUlRfSCAxCnwgI2RlZmluZSBI
 QVZFX0NUWVBFX0ggMQp8ICNkZWZpbmUgSEFWRV9ESVJFTlRfSCAxCnwgI2RlZmluZSBIQVZFX0VO
 RElBTl9IIDEKfCAjZGVmaW5lIEhBVkVfRVJSX0ggMQp8ICNkZWZpbmUgSEFWRV9FUlJOT19IIDEK
 fCAjZGVmaW5lIEhBVkVfRkNOVExfSCAxCnwgI2RlZmluZSBIQVZFX0ZOTUFUQ0hfSCAxCnwgI2Rl
 ZmluZSBIQVZFX0ZUU19IIDEKfCAjZGVmaW5lIEhBVkVfR1JQX0ggMQp8ICNkZWZpbmUgSEFWRV9J
 TlRUWVBFU19IIDEKfCAjZGVmaW5lIEhBVkVfTElCVVRJTF9IIDEKfCAjZGVmaW5lIEhBVkVfTElN
 SVRTX0ggMQp8ICNkZWZpbmUgSEFWRV9ORVREQl9IIDEKfCAjZGVmaW5lIEhBVkVfUEFUSFNfSCAx
 CnwgI2RlZmluZSBIQVZFX1BXRF9IIDEKfCAjZGVmaW5lIEhBVkVfU0lHTkFMX0ggMQp8ICNkZWZp
 bmUgSEFWRV9TVERBUkdfSCAxCnwgI2RlZmluZSBIQVZFX1NURERFRl9IIDEKfCAjZGVmaW5lIEhB
 VkVfU1RESU5UX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERJT19IIDEKfCAjZGVmaW5lIEhBVkVfU1RE
 TElCX0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJJTkdfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19DREVG
 U19IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX0RJUl9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX0ZJTEVf
 SCAxCnwgI2RlZmluZSBIQVZFX1NZU19QQVJBTV9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NPQ0tF
 VF9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NUQVRfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19TVEFU
 RlNfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19TVEFUVkZTX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNf
 VElNRV9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1RZUEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNf
 VUlPX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfVkZTX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNFWElU
 U19IIDEKfCAjZGVmaW5lIEhBVkVfVEVSTUNBUF9IIDEKfCAjZGVmaW5lIEhBVkVfVElNRV9IIDEK
 fCAjZGVmaW5lIEhBVkVfVU5JU1REX0ggMQp8ICNkZWZpbmUgSEFWRV9VVElNRV9IIDEKfCAjZGVm
 aW5lIEhBVkVfU1lTX01PVU5UX0ggMQp8ICNkZWZpbmUgSEFWRV9HTE9CX0ggMQp8ICNkZWZpbmUg
 SEFWRV9OQkNPTVBBVF9HTE9CIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1FVRVVFX0ggMQp8ICNkZWZp
 bmUgSEFWRV9OQkNPTVBBVF9RVUVVRSAxCnwgI2RlZmluZSBIQVZFX1JFR0VYX0ggMQp8ICNkZWZp
 bmUgSEFWRV9OQkNPTVBBVF9NRDUgMQp8ICNkZWZpbmUgSEFWRV9OQkNPTVBBVF9STUQxNjAgMQp8
 ICNkZWZpbmUgSEFWRV9OQkNPTVBBVF9TSEExIDEKfCAjZGVmaW5lIEhBVkVfTkJDT01QQVRfU0hB
 MiAxCnwgI2RlZmluZSBIQVZFX0RFQ0xfT1BUQVJHIDEKfCAjZGVmaW5lIEhBVkVfREVDTF9PUFRJ
 TkQgMQp8ICNkZWZpbmUgSEFWRV9ERUNMX09QVFJFU0VUIDAKfCAjZGVmaW5lIEhBVkVfR0VUT1BU
 X0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJVQ1RfT1BUSU9OIDEKfCAjZGVmaW5lIEhBVkVfVklTX0gg
 MQp8ICNkZWZpbmUgSEFWRV9OQkNPTVBBVF9WSVMgMQp8ICNkZWZpbmUgSEFWRV9fX0FUVFJJQlVU
 RV9fIDEKfCAjZGVmaW5lIEhBVkVfVUlOVFBUUl9UIDEKfCAjZGVmaW5lIEhBVkVfTE9OR19MT05H
 IDEKfCAjZGVmaW5lIEhBVkVfTE9OR19ET1VCTEUgMQp8ICNkZWZpbmUgSEFWRV9GU0lEX1QgMQp8
 ICNkZWZpbmUgU0laRU9GX09GRl9UIDQKfCAjZGVmaW5lIEhBVkVfU1RETElCX0ggMQp8ICNkZWZp
 bmUgSEFWRV9NQUxMT0MgMQp8ICNkZWZpbmUgSEFWRV9ERUNMX1NUUkVSUk9SX1IgMQp8ICNkZWZp
 bmUgSEFWRV9TVFJFUlJPUl9SIDEKfCAjZGVmaW5lIEhBVkVfRk9SSyAxCnwgI2RlZmluZSBIQVZF
 X1ZGT1JLIDEKfCAjZGVmaW5lIEhBVkVfV09SS0lOR19WRk9SSyAxCnwgI2RlZmluZSBIQVZFX1dP
 UktJTkdfRk9SSyAxCnwgI2RlZmluZSBIQVZFX1ZQUklOVEYgMQp8ICNkZWZpbmUgSEFWRV9ERUNM
 X1NOUFJJTlRGIDEKfCAjZGVmaW5lIEhBVkVfREVDTF9WQVNQUklOVEYgMAp8ICNkZWZpbmUgSEFW
 RV9BU1BSSU5URiAxCnwgI2RlZmluZSBIQVZFX0VSUiAxCnwgI2RlZmluZSBIQVZFX0ZOTUFUQ0gg
 MQp8ICNkZWZpbmUgSEFWRV9HRVRFTlYgMQp8ICNkZWZpbmUgSEFWRV9JU0JMQU5LIDEKfCAjZGVm
 aW5lIEhBVkVfTENIT1dOIDEKfCAjZGVmaW5lIEhBVkVfTFVUSU1FUyAxCnwgI2RlZmluZSBIQVZF
 X01LRFRFTVAgMQp8ICNkZWZpbmUgSEFWRV9NS1NURU1QIDEKfCAjZGVmaW5lIEhBVkVfU0VURU5W
 IDEKfCAjZGVmaW5lIEhBVkVfU05QUklOVEYgMQp8ICNkZWZpbmUgSEFWRV9TVEFUVkZTIDEKfCAj
 ZGVmaW5lIEhBVkVfU1RSRFVQIDEKfCAjZGVmaW5lIEhBVkVfU1RSRVJST1IgMQp8ICNkZWZpbmUg
 SEFWRV9TVFJTRVAgMQp8ICNkZWZpbmUgSEFWRV9TVFJUT0xMIDEKfCAjZGVmaW5lIEhBVkVfVU5T
 RVRFTlYgMQp8ICNkZWZpbmUgSEFWRV9VU0xFRVAgMQp8ICNkZWZpbmUgSEFWRV9VVElNRVMgMQp8
 ICNkZWZpbmUgSEFWRV9XQVJOIDEKfCAjZGVmaW5lIEhBVkVfTElCTlNMIDEKfCAjZGVmaW5lIEhB
 VkVfU09DS0xFTl9UIDEKfCAjZGVmaW5lIEhBVkVfU1RSVUNUX0FERFJJTkZPIDEKfCAjZGVmaW5l
 IEhBVkVfU1RSVUNUX0lONl9BRERSIDEKfCAjZGVmaW5lIEhBVkVfU1RSVUNUX1NPQ0tBRERSX0lO
 NiAxCnwgI2RlZmluZSBIQVZFX1NUUlVDVF9TT0NLQUREUl9TVE9SQUdFIDEKfCAjZGVmaW5lIEhB
 VkVfR0VUTkFNRUlORk8gMQp8ICNkZWZpbmUgSEFWRV9HQUlfU1RSRVJST1IgMQp8ICNkZWZpbmUg
 SEFWRV9HRVRBRERSSU5GTyAxCnwgI2RlZmluZSBIQVZFX0dFVEVOViAxCnwgI2RlZmluZSBIQVZF
 X1NFVEVOViAxCnwgI2RlZmluZSBIQVZFX1VOU0VURU5WIDEKfCAjZGVmaW5lIEhBVkVfTUtEVEVN
 UCAxCnwgI2RlZmluZSBIQVZFX01LU1RFTVAgMQp8ICNkZWZpbmUgSEFWRV9CQ09QWSAxCnwgI2Rl
 ZmluZSBIQVZFX0JaRVJPIDEKfCAjZGVmaW5lIEhBVkVfTUVNU0VUIDEKfCAjZGVmaW5lIEhBVkVf
 TUVNQ1BZIDEKfCAjZGVmaW5lIEhBVkVfU0VUTE9DQUxFIDEKfCAjZGVmaW5lIEhBVkVfREVDTF9F
 TkRHUkVOVCAwCnwgI2RlZmluZSBIQVZFX0RFQ0xfRU5EUFdFTlQgMAp8ICNkZWZpbmUgSEFWRV9Q
 T0xMX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfUE9MTF9IIDEKfCAjZGVmaW5lIEhBVkVfUE9MTF9I
 IDEKfCAjZGVmaW5lIEhBVkVfU1lTX1BPTExfSCAxCnwgI2RlZmluZSBIQVZFX0dFVFBHUlAgMQp8
 ICNkZWZpbmUgSEFWRV9NRU1NT1ZFIDEKfCAjZGVmaW5lIEhBVkVfU0VMRUNUIDEKfCAjZGVmaW5l
 IEdFVFBHUlBfVk9JRCAxCnwgI2RlZmluZSBIQVZFX1NUUlVDVF9TVEFURlNfRl9GTEFHUyAxCnwg
 LyogZW5kIGNvbmZkZWZzLmguICAqLwp8ICAjaW5jbHVkZSA8c3lzL3R5cGVzLmg+CnwgCSAgI2lm
 IEhBVkVfRElSRU5UX0gKfCAJICAjIGluY2x1ZGUgPGRpcmVudC5oPgp8IAkgICNlbHNlCnwgCSAg
 IyBkZWZpbmUgZGlyZW50IGRpcmVjdAp8IAkgICMgaWYgSEFWRV9TWVNfTkRJUl9ICnwgCSAgIyAg
 aW5jbHVkZSA8c3lzL25kaXIuaD4KfCAJICAjIGVuZGlmCnwgCSAgIyBpZiBIQVZFX1NZU19ESVJf
 SAp8IAkgICMgIGluY2x1ZGUgPHN5cy9kaXIuaD4KfCAJICAjIGVuZGlmCnwgCSAgIyBpZiBIQVZF
 X05ESVJfSAp8IAkgICMgIGluY2x1ZGUgPG5kaXIuaD4KfCAJICAjIGVuZGlmCnwgCSAgI2VuZGlm
 CnwgCnwgaW50CnwgbWFpbiAoKQp8IHsKfCBzdGF0aWMgc3RydWN0IGRpcmVudCBhY19hZ2dyOwp8
 IGlmIChzaXplb2YgYWNfYWdnci5kX25hbWxlbikKfCByZXR1cm4gMDsKfCAgIDsKfCAgIHJldHVy
 biAwOwp8IH0KY29uZmlndXJlOjY4MDQ6IHJlc3VsdDogbm8KY29uZmlndXJlOjY4MzA6IGNoZWNr
 aW5nIGZvciBESVIuZGRfZmQKY29uZmlndXJlOjY4MzA6IGdjYyAtYyAtZyAtTzIgIGNvbmZ0ZXN0
 LmMgPiY1CmNvbmZ0ZXN0LmM6IEluIGZ1bmN0aW9uICdtYWluJzoKY29uZnRlc3QuYzoxNjY6MTI6
 IGVycm9yOiBzdG9yYWdlIHNpemUgb2YgJ2FjX2FnZ3InIGlzbid0IGtub3duCmNvbmZpZ3VyZTo2
 ODMwOiAkPyA9IDEKY29uZmlndXJlOiBmYWlsZWQgcHJvZ3JhbSB3YXM6CnwgLyogY29uZmRlZnMu
 aCAqLwp8ICNkZWZpbmUgUEFDS0FHRV9OQU1FICJsaWJuYmNvbXBhdCIKfCAjZGVmaW5lIFBBQ0tB
 R0VfVEFSTkFNRSAibGlibmJjb21wYXQiCnwgI2RlZmluZSBQQUNLQUdFX1ZFUlNJT04gIjIwMDgw
 NjA1Igp8ICNkZWZpbmUgUEFDS0FHRV9TVFJJTkcgImxpYm5iY29tcGF0IDIwMDgwNjA1Igp8ICNk
 ZWZpbmUgUEFDS0FHRV9CVUdSRVBPUlQgImdyYW50QE5ldEJTRC5vcmciCnwgI2RlZmluZSBQQUNL
 QUdFX1VSTCAiIgp8ICNkZWZpbmUgU1REQ19IRUFERVJTIDEKfCAjZGVmaW5lIFRJTUVfV0lUSF9T
 WVNfVElNRSAxCnwgI2RlZmluZSBIQVZFX1NZU19UWVBFU19IIDEKfCAjZGVmaW5lIEhBVkVfU1lT
 X1NUQVRfSCAxCnwgI2RlZmluZSBIQVZFX1NURExJQl9IIDEKfCAjZGVmaW5lIEhBVkVfU1RSSU5H
 X0ggMQp8ICNkZWZpbmUgSEFWRV9NRU1PUllfSCAxCnwgI2RlZmluZSBIQVZFX1NUUklOR1NfSCAx
 CnwgI2RlZmluZSBIQVZFX0lOVFRZUEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERJTlRfSCAxCnwg
 I2RlZmluZSBIQVZFX1VOSVNURF9IIDEKfCAjZGVmaW5lIEhBVkVfX0JPT0wgMQp8ICNkZWZpbmUg
 SEFWRV9TVERCT09MX0ggMQp8ICNkZWZpbmUgSEFWRV9BTExPQ0FfSCAxCnwgI2RlZmluZSBIQVZF
 X0FTU0VSVF9IIDEKfCAjZGVmaW5lIEhBVkVfQ1RZUEVfSCAxCnwgI2RlZmluZSBIQVZFX0RJUkVO
 VF9IIDEKfCAjZGVmaW5lIEhBVkVfRU5ESUFOX0ggMQp8ICNkZWZpbmUgSEFWRV9FUlJfSCAxCnwg
 I2RlZmluZSBIQVZFX0VSUk5PX0ggMQp8ICNkZWZpbmUgSEFWRV9GQ05UTF9IIDEKfCAjZGVmaW5l
 IEhBVkVfRk5NQVRDSF9IIDEKfCAjZGVmaW5lIEhBVkVfRlRTX0ggMQp8ICNkZWZpbmUgSEFWRV9H
 UlBfSCAxCnwgI2RlZmluZSBIQVZFX0lOVFRZUEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9MSUJVVElM
 X0ggMQp8ICNkZWZpbmUgSEFWRV9MSU1JVFNfSCAxCnwgI2RlZmluZSBIQVZFX05FVERCX0ggMQp8
 ICNkZWZpbmUgSEFWRV9QQVRIU19IIDEKfCAjZGVmaW5lIEhBVkVfUFdEX0ggMQp8ICNkZWZpbmUg
 SEFWRV9TSUdOQUxfSCAxCnwgI2RlZmluZSBIQVZFX1NUREFSR19IIDEKfCAjZGVmaW5lIEhBVkVf
 U1REREVGX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERJTlRfSCAxCnwgI2RlZmluZSBIQVZFX1NURElP
 X0ggMQp8ICNkZWZpbmUgSEFWRV9TVERMSUJfSCAxCnwgI2RlZmluZSBIQVZFX1NUUklOR19IIDEK
 fCAjZGVmaW5lIEhBVkVfU1lTX0NERUZTX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfRElSX0ggMQp8
 ICNkZWZpbmUgSEFWRV9TWVNfRklMRV9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1BBUkFNX0ggMQp8
 ICNkZWZpbmUgSEFWRV9TWVNfU09DS0VUX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfU1RBVF9IIDEK
 fCAjZGVmaW5lIEhBVkVfU1lTX1NUQVRGU19IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NUQVRWRlNf
 SCAxCnwgI2RlZmluZSBIQVZFX1NZU19USU1FX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfVFlQRVNf
 SCAxCnwgI2RlZmluZSBIQVZFX1NZU19VSU9fSCAxCnwgI2RlZmluZSBIQVZFX1NZU19WRlNfSCAx
 CnwgI2RlZmluZSBIQVZFX1NZU0VYSVRTX0ggMQp8ICNkZWZpbmUgSEFWRV9URVJNQ0FQX0ggMQp8
 ICNkZWZpbmUgSEFWRV9USU1FX0ggMQp8ICNkZWZpbmUgSEFWRV9VTklTVERfSCAxCnwgI2RlZmlu
 ZSBIQVZFX1VUSU1FX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfTU9VTlRfSCAxCnwgI2RlZmluZSBI
 QVZFX0dMT0JfSCAxCnwgI2RlZmluZSBIQVZFX05CQ09NUEFUX0dMT0IgMQp8ICNkZWZpbmUgSEFW
 RV9TWVNfUVVFVUVfSCAxCnwgI2RlZmluZSBIQVZFX05CQ09NUEFUX1FVRVVFIDEKfCAjZGVmaW5l
 IEhBVkVfUkVHRVhfSCAxCnwgI2RlZmluZSBIQVZFX05CQ09NUEFUX01ENSAxCnwgI2RlZmluZSBI
 QVZFX05CQ09NUEFUX1JNRDE2MCAxCnwgI2RlZmluZSBIQVZFX05CQ09NUEFUX1NIQTEgMQp8ICNk
 ZWZpbmUgSEFWRV9OQkNPTVBBVF9TSEEyIDEKfCAjZGVmaW5lIEhBVkVfREVDTF9PUFRBUkcgMQp8
 ICNkZWZpbmUgSEFWRV9ERUNMX09QVElORCAxCnwgI2RlZmluZSBIQVZFX0RFQ0xfT1BUUkVTRVQg
 MAp8ICNkZWZpbmUgSEFWRV9HRVRPUFRfSCAxCnwgI2RlZmluZSBIQVZFX1NUUlVDVF9PUFRJT04g
 MQp8ICNkZWZpbmUgSEFWRV9WSVNfSCAxCnwgI2RlZmluZSBIQVZFX05CQ09NUEFUX1ZJUyAxCnwg
 I2RlZmluZSBIQVZFX19fQVRUUklCVVRFX18gMQp8ICNkZWZpbmUgSEFWRV9VSU5UUFRSX1QgMQp8
 ICNkZWZpbmUgSEFWRV9MT05HX0xPTkcgMQp8ICNkZWZpbmUgSEFWRV9MT05HX0RPVUJMRSAxCnwg
 I2RlZmluZSBIQVZFX0ZTSURfVCAxCnwgI2RlZmluZSBTSVpFT0ZfT0ZGX1QgNAp8ICNkZWZpbmUg
 SEFWRV9TVERMSUJfSCAxCnwgI2RlZmluZSBIQVZFX01BTExPQyAxCnwgI2RlZmluZSBIQVZFX0RF
 Q0xfU1RSRVJST1JfUiAxCnwgI2RlZmluZSBIQVZFX1NUUkVSUk9SX1IgMQp8ICNkZWZpbmUgSEFW
 RV9GT1JLIDEKfCAjZGVmaW5lIEhBVkVfVkZPUksgMQp8ICNkZWZpbmUgSEFWRV9XT1JLSU5HX1ZG
 T1JLIDEKfCAjZGVmaW5lIEhBVkVfV09SS0lOR19GT1JLIDEKfCAjZGVmaW5lIEhBVkVfVlBSSU5U
 RiAxCnwgI2RlZmluZSBIQVZFX0RFQ0xfU05QUklOVEYgMQp8ICNkZWZpbmUgSEFWRV9ERUNMX1ZB
 U1BSSU5URiAwCnwgI2RlZmluZSBIQVZFX0FTUFJJTlRGIDEKfCAjZGVmaW5lIEhBVkVfRVJSIDEK
 fCAjZGVmaW5lIEhBVkVfRk5NQVRDSCAxCnwgI2RlZmluZSBIQVZFX0dFVEVOViAxCnwgI2RlZmlu
 ZSBIQVZFX0lTQkxBTksgMQp8ICNkZWZpbmUgSEFWRV9MQ0hPV04gMQp8ICNkZWZpbmUgSEFWRV9M
 VVRJTUVTIDEKfCAjZGVmaW5lIEhBVkVfTUtEVEVNUCAxCnwgI2RlZmluZSBIQVZFX01LU1RFTVAg
 MQp8ICNkZWZpbmUgSEFWRV9TRVRFTlYgMQp8ICNkZWZpbmUgSEFWRV9TTlBSSU5URiAxCnwgI2Rl
 ZmluZSBIQVZFX1NUQVRWRlMgMQp8ICNkZWZpbmUgSEFWRV9TVFJEVVAgMQp8ICNkZWZpbmUgSEFW
 RV9TVFJFUlJPUiAxCnwgI2RlZmluZSBIQVZFX1NUUlNFUCAxCnwgI2RlZmluZSBIQVZFX1NUUlRP
 TEwgMQp8ICNkZWZpbmUgSEFWRV9VTlNFVEVOViAxCnwgI2RlZmluZSBIQVZFX1VTTEVFUCAxCnwg
 I2RlZmluZSBIQVZFX1VUSU1FUyAxCnwgI2RlZmluZSBIQVZFX1dBUk4gMQp8ICNkZWZpbmUgSEFW
 RV9MSUJOU0wgMQp8ICNkZWZpbmUgSEFWRV9TT0NLTEVOX1QgMQp8ICNkZWZpbmUgSEFWRV9TVFJV
 Q1RfQUREUklORk8gMQp8ICNkZWZpbmUgSEFWRV9TVFJVQ1RfSU42X0FERFIgMQp8ICNkZWZpbmUg
 SEFWRV9TVFJVQ1RfU09DS0FERFJfSU42IDEKfCAjZGVmaW5lIEhBVkVfU1RSVUNUX1NPQ0tBRERS
 X1NUT1JBR0UgMQp8ICNkZWZpbmUgSEFWRV9HRVROQU1FSU5GTyAxCnwgI2RlZmluZSBIQVZFX0dB
 SV9TVFJFUlJPUiAxCnwgI2RlZmluZSBIQVZFX0dFVEFERFJJTkZPIDEKfCAjZGVmaW5lIEhBVkVf
 R0VURU5WIDEKfCAjZGVmaW5lIEhBVkVfU0VURU5WIDEKfCAjZGVmaW5lIEhBVkVfVU5TRVRFTlYg
 MQp8ICNkZWZpbmUgSEFWRV9NS0RURU1QIDEKfCAjZGVmaW5lIEhBVkVfTUtTVEVNUCAxCnwgI2Rl
 ZmluZSBIQVZFX0JDT1BZIDEKfCAjZGVmaW5lIEhBVkVfQlpFUk8gMQp8ICNkZWZpbmUgSEFWRV9N
 RU1TRVQgMQp8ICNkZWZpbmUgSEFWRV9NRU1DUFkgMQp8ICNkZWZpbmUgSEFWRV9TRVRMT0NBTEUg
 MQp8ICNkZWZpbmUgSEFWRV9ERUNMX0VOREdSRU5UIDAKfCAjZGVmaW5lIEhBVkVfREVDTF9FTkRQ
 V0VOVCAwCnwgI2RlZmluZSBIQVZFX1BPTExfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19QT0xMX0gg
 MQp8ICNkZWZpbmUgSEFWRV9QT0xMX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfUE9MTF9IIDEKfCAj
 ZGVmaW5lIEhBVkVfR0VUUEdSUCAxCnwgI2RlZmluZSBIQVZFX01FTU1PVkUgMQp8ICNkZWZpbmUg
 SEFWRV9TRUxFQ1QgMQp8ICNkZWZpbmUgR0VUUEdSUF9WT0lEIDEKfCAjZGVmaW5lIEhBVkVfU1RS
 VUNUX1NUQVRGU19GX0ZMQUdTIDEKfCAvKiBlbmQgY29uZmRlZnMuaC4gICovCnwgICNpbmNsdWRl
 IDxzeXMvdHlwZXMuaD4KfCAJICAjaWYgSEFWRV9ESVJFTlRfSAp8IAkgICMgaW5jbHVkZSA8ZGly
 ZW50Lmg+CnwgCSAgI2Vsc2UKfCAJICAjIGRlZmluZSBkaXJlbnQgZGlyZWN0CnwgCSAgIyBpZiBI
 QVZFX1NZU19ORElSX0gKfCAJICAjICBpbmNsdWRlIDxzeXMvbmRpci5oPgp8IAkgICMgZW5kaWYK
 fCAJICAjIGlmIEhBVkVfU1lTX0RJUl9ICnwgCSAgIyAgaW5jbHVkZSA8c3lzL2Rpci5oPgp8IAkg
 ICMgZW5kaWYKfCAJICAjIGlmIEhBVkVfTkRJUl9ICnwgCSAgIyAgaW5jbHVkZSA8bmRpci5oPgp8
 IAkgICMgZW5kaWYKfCAJICAjZW5kaWYKfCAKfCBpbnQKfCBtYWluICgpCnwgewp8IHN0YXRpYyBE
 SVIgYWNfYWdncjsKfCBpZiAoYWNfYWdnci5kZF9mZCkKfCByZXR1cm4gMDsKfCAgIDsKfCAgIHJl
 dHVybiAwOwp8IH0KY29uZmlndXJlOjY4MzA6IGdjYyAtYyAtZyAtTzIgIGNvbmZ0ZXN0LmMgPiY1
 CmNvbmZ0ZXN0LmM6IEluIGZ1bmN0aW9uICdtYWluJzoKY29uZnRlc3QuYzoxNjY6MTI6IGVycm9y
 OiBzdG9yYWdlIHNpemUgb2YgJ2FjX2FnZ3InIGlzbid0IGtub3duCmNvbmZpZ3VyZTo2ODMwOiAk
 PyA9IDEKY29uZmlndXJlOiBmYWlsZWQgcHJvZ3JhbSB3YXM6CnwgLyogY29uZmRlZnMuaCAqLwp8
 ICNkZWZpbmUgUEFDS0FHRV9OQU1FICJsaWJuYmNvbXBhdCIKfCAjZGVmaW5lIFBBQ0tBR0VfVEFS
 TkFNRSAibGlibmJjb21wYXQiCnwgI2RlZmluZSBQQUNLQUdFX1ZFUlNJT04gIjIwMDgwNjA1Igp8
 ICNkZWZpbmUgUEFDS0FHRV9TVFJJTkcgImxpYm5iY29tcGF0IDIwMDgwNjA1Igp8ICNkZWZpbmUg
 UEFDS0FHRV9CVUdSRVBPUlQgImdyYW50QE5ldEJTRC5vcmciCnwgI2RlZmluZSBQQUNLQUdFX1VS
 TCAiIgp8ICNkZWZpbmUgU1REQ19IRUFERVJTIDEKfCAjZGVmaW5lIFRJTUVfV0lUSF9TWVNfVElN
 RSAxCnwgI2RlZmluZSBIQVZFX1NZU19UWVBFU19IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NUQVRf
 SCAxCnwgI2RlZmluZSBIQVZFX1NURExJQl9IIDEKfCAjZGVmaW5lIEhBVkVfU1RSSU5HX0ggMQp8
 ICNkZWZpbmUgSEFWRV9NRU1PUllfSCAxCnwgI2RlZmluZSBIQVZFX1NUUklOR1NfSCAxCnwgI2Rl
 ZmluZSBIQVZFX0lOVFRZUEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERJTlRfSCAxCnwgI2RlZmlu
 ZSBIQVZFX1VOSVNURF9IIDEKfCAjZGVmaW5lIEhBVkVfX0JPT0wgMQp8ICNkZWZpbmUgSEFWRV9T
 VERCT09MX0ggMQp8ICNkZWZpbmUgSEFWRV9BTExPQ0FfSCAxCnwgI2RlZmluZSBIQVZFX0FTU0VS
 VF9IIDEKfCAjZGVmaW5lIEhBVkVfQ1RZUEVfSCAxCnwgI2RlZmluZSBIQVZFX0RJUkVOVF9IIDEK
 fCAjZGVmaW5lIEhBVkVfRU5ESUFOX0ggMQp8ICNkZWZpbmUgSEFWRV9FUlJfSCAxCnwgI2RlZmlu
 ZSBIQVZFX0VSUk5PX0ggMQp8ICNkZWZpbmUgSEFWRV9GQ05UTF9IIDEKfCAjZGVmaW5lIEhBVkVf
 Rk5NQVRDSF9IIDEKfCAjZGVmaW5lIEhBVkVfRlRTX0ggMQp8ICNkZWZpbmUgSEFWRV9HUlBfSCAx
 CnwgI2RlZmluZSBIQVZFX0lOVFRZUEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9MSUJVVElMX0ggMQp8
 ICNkZWZpbmUgSEFWRV9MSU1JVFNfSCAxCnwgI2RlZmluZSBIQVZFX05FVERCX0ggMQp8ICNkZWZp
 bmUgSEFWRV9QQVRIU19IIDEKfCAjZGVmaW5lIEhBVkVfUFdEX0ggMQp8ICNkZWZpbmUgSEFWRV9T
 SUdOQUxfSCAxCnwgI2RlZmluZSBIQVZFX1NUREFSR19IIDEKfCAjZGVmaW5lIEhBVkVfU1REREVG
 X0ggMQp8ICNkZWZpbmUgSEFWRV9TVERJTlRfSCAxCnwgI2RlZmluZSBIQVZFX1NURElPX0ggMQp8
 ICNkZWZpbmUgSEFWRV9TVERMSUJfSCAxCnwgI2RlZmluZSBIQVZFX1NUUklOR19IIDEKfCAjZGVm
 aW5lIEhBVkVfU1lTX0NERUZTX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfRElSX0ggMQp8ICNkZWZp
 bmUgSEFWRV9TWVNfRklMRV9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1BBUkFNX0ggMQp8ICNkZWZp
 bmUgSEFWRV9TWVNfU09DS0VUX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfU1RBVF9IIDEKfCAjZGVm
 aW5lIEhBVkVfU1lTX1NUQVRGU19IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NUQVRWRlNfSCAxCnwg
 I2RlZmluZSBIQVZFX1NZU19USU1FX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfVFlQRVNfSCAxCnwg
 I2RlZmluZSBIQVZFX1NZU19VSU9fSCAxCnwgI2RlZmluZSBIQVZFX1NZU19WRlNfSCAxCnwgI2Rl
 ZmluZSBIQVZFX1NZU0VYSVRTX0ggMQp8ICNkZWZpbmUgSEFWRV9URVJNQ0FQX0ggMQp8ICNkZWZp
 bmUgSEFWRV9USU1FX0ggMQp8ICNkZWZpbmUgSEFWRV9VTklTVERfSCAxCnwgI2RlZmluZSBIQVZF
 X1VUSU1FX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfTU9VTlRfSCAxCnwgI2RlZmluZSBIQVZFX0dM
 T0JfSCAxCnwgI2RlZmluZSBIQVZFX05CQ09NUEFUX0dMT0IgMQp8ICNkZWZpbmUgSEFWRV9TWVNf
 UVVFVUVfSCAxCnwgI2RlZmluZSBIQVZFX05CQ09NUEFUX1FVRVVFIDEKfCAjZGVmaW5lIEhBVkVf
 UkVHRVhfSCAxCnwgI2RlZmluZSBIQVZFX05CQ09NUEFUX01ENSAxCnwgI2RlZmluZSBIQVZFX05C
 Q09NUEFUX1JNRDE2MCAxCnwgI2RlZmluZSBIQVZFX05CQ09NUEFUX1NIQTEgMQp8ICNkZWZpbmUg
 SEFWRV9OQkNPTVBBVF9TSEEyIDEKfCAjZGVmaW5lIEhBVkVfREVDTF9PUFRBUkcgMQp8ICNkZWZp
 bmUgSEFWRV9ERUNMX09QVElORCAxCnwgI2RlZmluZSBIQVZFX0RFQ0xfT1BUUkVTRVQgMAp8ICNk
 ZWZpbmUgSEFWRV9HRVRPUFRfSCAxCnwgI2RlZmluZSBIQVZFX1NUUlVDVF9PUFRJT04gMQp8ICNk
 ZWZpbmUgSEFWRV9WSVNfSCAxCnwgI2RlZmluZSBIQVZFX05CQ09NUEFUX1ZJUyAxCnwgI2RlZmlu
 ZSBIQVZFX19fQVRUUklCVVRFX18gMQp8ICNkZWZpbmUgSEFWRV9VSU5UUFRSX1QgMQp8ICNkZWZp
 bmUgSEFWRV9MT05HX0xPTkcgMQp8ICNkZWZpbmUgSEFWRV9MT05HX0RPVUJMRSAxCnwgI2RlZmlu
 ZSBIQVZFX0ZTSURfVCAxCnwgI2RlZmluZSBTSVpFT0ZfT0ZGX1QgNAp8ICNkZWZpbmUgSEFWRV9T
 VERMSUJfSCAxCnwgI2RlZmluZSBIQVZFX01BTExPQyAxCnwgI2RlZmluZSBIQVZFX0RFQ0xfU1RS
 RVJST1JfUiAxCnwgI2RlZmluZSBIQVZFX1NUUkVSUk9SX1IgMQp8ICNkZWZpbmUgSEFWRV9GT1JL
 IDEKfCAjZGVmaW5lIEhBVkVfVkZPUksgMQp8ICNkZWZpbmUgSEFWRV9XT1JLSU5HX1ZGT1JLIDEK
 fCAjZGVmaW5lIEhBVkVfV09SS0lOR19GT1JLIDEKfCAjZGVmaW5lIEhBVkVfVlBSSU5URiAxCnwg
 I2RlZmluZSBIQVZFX0RFQ0xfU05QUklOVEYgMQp8ICNkZWZpbmUgSEFWRV9ERUNMX1ZBU1BSSU5U
 RiAwCnwgI2RlZmluZSBIQVZFX0FTUFJJTlRGIDEKfCAjZGVmaW5lIEhBVkVfRVJSIDEKfCAjZGVm
 aW5lIEhBVkVfRk5NQVRDSCAxCnwgI2RlZmluZSBIQVZFX0dFVEVOViAxCnwgI2RlZmluZSBIQVZF
 X0lTQkxBTksgMQp8ICNkZWZpbmUgSEFWRV9MQ0hPV04gMQp8ICNkZWZpbmUgSEFWRV9MVVRJTUVT
 IDEKfCAjZGVmaW5lIEhBVkVfTUtEVEVNUCAxCnwgI2RlZmluZSBIQVZFX01LU1RFTVAgMQp8ICNk
 ZWZpbmUgSEFWRV9TRVRFTlYgMQp8ICNkZWZpbmUgSEFWRV9TTlBSSU5URiAxCnwgI2RlZmluZSBI
 QVZFX1NUQVRWRlMgMQp8ICNkZWZpbmUgSEFWRV9TVFJEVVAgMQp8ICNkZWZpbmUgSEFWRV9TVFJF
 UlJPUiAxCnwgI2RlZmluZSBIQVZFX1NUUlNFUCAxCnwgI2RlZmluZSBIQVZFX1NUUlRPTEwgMQp8
 ICNkZWZpbmUgSEFWRV9VTlNFVEVOViAxCnwgI2RlZmluZSBIQVZFX1VTTEVFUCAxCnwgI2RlZmlu
 ZSBIQVZFX1VUSU1FUyAxCnwgI2RlZmluZSBIQVZFX1dBUk4gMQp8ICNkZWZpbmUgSEFWRV9MSUJO
 U0wgMQp8ICNkZWZpbmUgSEFWRV9TT0NLTEVOX1QgMQp8ICNkZWZpbmUgSEFWRV9TVFJVQ1RfQURE
 UklORk8gMQp8ICNkZWZpbmUgSEFWRV9TVFJVQ1RfSU42X0FERFIgMQp8ICNkZWZpbmUgSEFWRV9T
 VFJVQ1RfU09DS0FERFJfSU42IDEKfCAjZGVmaW5lIEhBVkVfU1RSVUNUX1NPQ0tBRERSX1NUT1JB
 R0UgMQp8ICNkZWZpbmUgSEFWRV9HRVROQU1FSU5GTyAxCnwgI2RlZmluZSBIQVZFX0dBSV9TVFJF
 UlJPUiAxCnwgI2RlZmluZSBIQVZFX0dFVEFERFJJTkZPIDEKfCAjZGVmaW5lIEhBVkVfR0VURU5W
 IDEKfCAjZGVmaW5lIEhBVkVfU0VURU5WIDEKfCAjZGVmaW5lIEhBVkVfVU5TRVRFTlYgMQp8ICNk
 ZWZpbmUgSEFWRV9NS0RURU1QIDEKfCAjZGVmaW5lIEhBVkVfTUtTVEVNUCAxCnwgI2RlZmluZSBI
 QVZFX0JDT1BZIDEKfCAjZGVmaW5lIEhBVkVfQlpFUk8gMQp8ICNkZWZpbmUgSEFWRV9NRU1TRVQg
 MQp8ICNkZWZpbmUgSEFWRV9NRU1DUFkgMQp8ICNkZWZpbmUgSEFWRV9TRVRMT0NBTEUgMQp8ICNk
 ZWZpbmUgSEFWRV9ERUNMX0VOREdSRU5UIDAKfCAjZGVmaW5lIEhBVkVfREVDTF9FTkRQV0VOVCAw
 CnwgI2RlZmluZSBIQVZFX1BPTExfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19QT0xMX0ggMQp8ICNk
 ZWZpbmUgSEFWRV9QT0xMX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfUE9MTF9IIDEKfCAjZGVmaW5l
 IEhBVkVfR0VUUEdSUCAxCnwgI2RlZmluZSBIQVZFX01FTU1PVkUgMQp8ICNkZWZpbmUgSEFWRV9T
 RUxFQ1QgMQp8ICNkZWZpbmUgR0VUUEdSUF9WT0lEIDEKfCAjZGVmaW5lIEhBVkVfU1RSVUNUX1NU
 QVRGU19GX0ZMQUdTIDEKfCAvKiBlbmQgY29uZmRlZnMuaC4gICovCnwgICNpbmNsdWRlIDxzeXMv
 dHlwZXMuaD4KfCAJICAjaWYgSEFWRV9ESVJFTlRfSAp8IAkgICMgaW5jbHVkZSA8ZGlyZW50Lmg+
 CnwgCSAgI2Vsc2UKfCAJICAjIGRlZmluZSBkaXJlbnQgZGlyZWN0CnwgCSAgIyBpZiBIQVZFX1NZ
 U19ORElSX0gKfCAJICAjICBpbmNsdWRlIDxzeXMvbmRpci5oPgp8IAkgICMgZW5kaWYKfCAJICAj
 IGlmIEhBVkVfU1lTX0RJUl9ICnwgCSAgIyAgaW5jbHVkZSA8c3lzL2Rpci5oPgp8IAkgICMgZW5k
 aWYKfCAJICAjIGlmIEhBVkVfTkRJUl9ICnwgCSAgIyAgaW5jbHVkZSA8bmRpci5oPgp8IAkgICMg
 ZW5kaWYKfCAJICAjZW5kaWYKfCAKfCBpbnQKfCBtYWluICgpCnwgewp8IHN0YXRpYyBESVIgYWNf
 YWdncjsKfCBpZiAoc2l6ZW9mIGFjX2FnZ3IuZGRfZmQpCnwgcmV0dXJuIDA7CnwgICA7CnwgICBy
 ZXR1cm4gMDsKfCB9CmNvbmZpZ3VyZTo2ODMwOiByZXN1bHQ6IG5vCmNvbmZpZ3VyZTo2ODU4OiBj
 aGVja2luZyBmb3IgZGlyZmQKY29uZmlndXJlOjY4ODc6IGdjYyAtbyBjb25mdGVzdCAtZyAtTzIg
 ICBjb25mdGVzdC5jIC1sbnNsICA+JjUKY29uZmlndXJlOjY4ODc6ICQ/ID0gMApjb25maWd1cmU6
 Njg4OTogcmVzdWx0OiB5ZXMKY29uZmlndXJlOjY5MDc6IGNoZWNraW5nICpwcmludGYoKSBzdXBw
 b3J0IGZvciAlbGxkCmNvbmZpZ3VyZTo2OTI0OiBnY2MgLW8gY29uZnRlc3QgLWcgLU8yICAgY29u
 ZnRlc3QuYyAtbG5zbCAgPiY1CmNvbmZpZ3VyZTo2OTI0OiAkPyA9IDAKY29uZmlndXJlOjY5MjQ6
 IC4vY29uZnRlc3QKY29uZmlndXJlOjY5MjQ6ICQ/ID0gMApjb25maWd1cmU6NjkyNjogcmVzdWx0
 OiB5ZXMKY29uZmlndXJlOjY5ODM6IGNoZWNraW5nIGZvciBzdHJ0b2xsCmNvbmZpZ3VyZTo2OTgz
 OiByZXN1bHQ6IHllcwpjb25maWd1cmU6NzAwMzogY2hlY2tpbmcgaWYgdnNucHJpbnRmIGlzIHN0
 YW5kYXJkcyBjb21wbGlhbnQKY29uZmlndXJlOjcwMjY6IGdjYyAtbyBjb25mdGVzdCAtZyAtTzIg
 ICBjb25mdGVzdC5jIC1sbnNsICA+JjUKY29uZmlndXJlOjcwMjY6ICQ/ID0gMApjb25maWd1cmU6
 NzAyNjogLi9jb25mdGVzdApjb25maWd1cmU6NzAyNjogJD8gPSAwCmNvbmZpZ3VyZTo3MDI4OiBy
 ZXN1bHQ6IHllcwpjb25maWd1cmU6NzEyMTogdXBkYXRpbmcgY2FjaGUgY29uZmlnLmNhY2hlCmNv
 bmZpZ3VyZTo3MTcxOiBjcmVhdGluZyAuL2NvbmZpZy5zdGF0dXMKCiMjIC0tLS0tLS0tLS0tLS0t
 LS0tLS0tLS0gIyMKIyMgUnVubmluZyBjb25maWcuc3RhdHVzLiAjIwojIyAtLS0tLS0tLS0tLS0t
 LS0tLS0tLS0tICMjCgpUaGlzIGZpbGUgd2FzIGV4dGVuZGVkIGJ5IGxpYm5iY29tcGF0IGNvbmZp
 Zy5zdGF0dXMgMjAwODA2MDUsIHdoaWNoIHdhcwpnZW5lcmF0ZWQgYnkgR05VIEF1dG9jb25mIDIu
 NjguICBJbnZvY2F0aW9uIGNvbW1hbmQgbGluZSB3YXMKCiAgQ09ORklHX0ZJTEVTICAgID0gCiAg
 Q09ORklHX0hFQURFUlMgID0gCiAgQ09ORklHX0xJTktTICAgID0gCiAgQ09ORklHX0NPTU1BTkRT
 ID0gCiAgJCAuL2NvbmZpZy5zdGF0dXMgCgpvbiB2aXRhbDMwMy1kZXNrdG9wCgpjb25maWcuc3Rh
 dHVzOjk3MTogY3JlYXRpbmcgTWFrZWZpbGUKY29uZmlnLnN0YXR1czo5NzE6IGNyZWF0aW5nIG5i
 Y29tcGF0L2NvbmZpZy5oCgojIyAtLS0tLS0tLS0tLS0tLS0tICMjCiMjIENhY2hlIHZhcmlhYmxl
 cy4gIyMKIyMgLS0tLS0tLS0tLS0tLS0tLSAjIwoKYWNfY3ZfX19hdHRyaWJ1dGVfXz15ZXMKYWNf
 Y3ZfYnVpbGQ9aTY4Ni1wYy1saW51eC1nbnUKYWNfY3ZfY19iaWdlbmRpYW49bm8KYWNfY3ZfY19j
 b21waWxlcl9nbnU9eWVzCmFjX2N2X2NfaW50MTZfdD15ZXMKYWNfY3ZfY19pbnQzMl90PXllcwph
 Y19jdl9jX2ludDY0X3Q9eWVzCmFjX2N2X2NfaW50OF90PXllcwphY19jdl9jX3VpbnQxNl90PXll
 cwphY19jdl9jX3VpbnQzMl90PXllcwphY19jdl9jX3VpbnQ2NF90PXllcwphY19jdl9jX3VpbnQ4
 X3Q9eWVzCmFjX2N2X2Vudl9DQ19zZXQ9CmFjX2N2X2Vudl9DQ192YWx1ZT0KYWNfY3ZfZW52X0NG
 TEFHU19zZXQ9CmFjX2N2X2Vudl9DRkxBR1NfdmFsdWU9CmFjX2N2X2Vudl9DUFBGTEFHU19zZXQ9
 CmFjX2N2X2Vudl9DUFBGTEFHU192YWx1ZT0KYWNfY3ZfZW52X0NQUF9zZXQ9CmFjX2N2X2Vudl9D
 UFBfdmFsdWU9CmFjX2N2X2Vudl9MREZMQUdTX3NldD0KYWNfY3ZfZW52X0xERkxBR1NfdmFsdWU9
 CmFjX2N2X2Vudl9MSUJTX3NldD0KYWNfY3ZfZW52X0xJQlNfdmFsdWU9CmFjX2N2X2Vudl9idWls
 ZF9hbGlhc19zZXQ9CmFjX2N2X2Vudl9idWlsZF9hbGlhc192YWx1ZT0KYWNfY3ZfZW52X2hvc3Rf
 YWxpYXNfc2V0PQphY19jdl9lbnZfaG9zdF9hbGlhc192YWx1ZT0KYWNfY3ZfZW52X3RhcmdldF9h
 bGlhc19zZXQ9CmFjX2N2X2Vudl90YXJnZXRfYWxpYXNfdmFsdWU9CmFjX2N2X2Z1bmNfTUQ1Rmls
 ZT1ubwphY19jdl9mdW5jX1JNRDE2MEZpbGU9bm8KYWNfY3ZfZnVuY19TSEExRmlsZT1ubwphY19j
 dl9mdW5jX1NIQTUxMl9GaWxlPW5vCmFjX2N2X2Z1bmNfX2RvcHJudD1ubwphY19jdl9mdW5jX2Fz
 cHJpbnRmPXllcwphY19jdl9mdW5jX2Jjb3B5PXllcwphY19jdl9mdW5jX2J6ZXJvPXllcwphY19j
 dl9mdW5jX2Vycj15ZXMKYWNfY3ZfZnVuY19mZ2V0bG49bm8KYWNfY3ZfZnVuY19mbm1hdGNoPXll
 cwphY19jdl9mdW5jX2Zvcms9eWVzCmFjX2N2X2Z1bmNfZm9ya193b3Jrcz15ZXMKYWNfY3ZfZnVu
 Y19mcGFyc2Vsbj1ubwphY19jdl9mdW5jX2Z0c19vcGVuPXllcwphY19jdl9mdW5jX2dhaV9zdHJl
 cnJvcj15ZXMKYWNfY3ZfZnVuY19nZXRhZGRyaW5mbz15ZXMKYWNfY3ZfZnVuY19nZXRlbnY9eWVz
 CmFjX2N2X2Z1bmNfZ2V0bW9kZT1ubwphY19jdl9mdW5jX2dldG5hbWVpbmZvPXllcwphY19jdl9m
 dW5jX2dldHBhc3NwaHJhc2U9bm8KYWNfY3ZfZnVuY19nZXRwZ3JwPXllcwphY19jdl9mdW5jX2dl
 dHBncnBfdm9pZD15ZXMKYWNfY3ZfZnVuY19naWRfZnJvbV9ncm91cD1ubwphY19jdl9mdW5jX2dy
 b3VwX2Zyb21fZ2lkPW5vCmFjX2N2X2Z1bmNfaXNibGFuaz15ZXMKYWNfY3ZfZnVuY19pc3NldHVn
 aWQ9bm8KYWNfY3ZfZnVuY19sY2hmbGFncz1ubwphY19jdl9mdW5jX2xjaG1vZD1ubwphY19jdl9m
 dW5jX2xjaG93bj15ZXMKYWNfY3ZfZnVuY19sdXRpbWVzPXllcwphY19jdl9mdW5jX21hbGxvY18w
 X25vbm51bGw9eWVzCmFjX2N2X2Z1bmNfbWVtY3B5PXllcwphY19jdl9mdW5jX21lbW1vdmU9eWVz
 CmFjX2N2X2Z1bmNfbWVtc2V0PXllcwphY19jdl9mdW5jX21rZHRlbXA9eWVzCmFjX2N2X2Z1bmNf
 bWtzdGVtcD15ZXMKYWNfY3ZfZnVuY19wb2xsPXllcwphY19jdl9mdW5jX3B3Y2FjaGVfZ3JvdXBk
 Yj1ubwphY19jdl9mdW5jX3B3Y2FjaGVfdXNlcmRiPW5vCmFjX2N2X2Z1bmNfcmVnZXhlYz15ZXMK
 YWNfY3ZfZnVuY19zZWxlY3Q9eWVzCmFjX2N2X2Z1bmNfc2V0ZW52PXllcwphY19jdl9mdW5jX3Nl
 dGdyb3VwZW50PW5vCmFjX2N2X2Z1bmNfc2V0bG9jYWxlPXllcwphY19jdl9mdW5jX3NldG1vZGU9
 bm8KYWNfY3ZfZnVuY19zZXRwYXNzZW50PW5vCmFjX2N2X2Z1bmNfc2V0cHJvZ25hbWU9bm8KYWNf
 Y3ZfZnVuY19zaHF1b3RlPW5vCmFjX2N2X2Z1bmNfc25wcmludGY9eWVzCmFjX2N2X2Z1bmNfc3Rh
 dHZmcz15ZXMKYWNfY3ZfZnVuY19zdHJkdXA9eWVzCmFjX2N2X2Z1bmNfc3RyZXJyb3I9eWVzCmFj
 X2N2X2Z1bmNfc3RyZXJyb3Jfcj15ZXMKYWNfY3ZfZnVuY19zdHJlcnJvcl9yX2NoYXJfcD1ubwph
 Y19jdl9mdW5jX3N0cmxjYXQ9bm8KYWNfY3ZfZnVuY19zdHJsY3B5PW5vCmFjX2N2X2Z1bmNfc3Ry
 bW9kZT1ubwphY19jdl9mdW5jX3N0cnNlcD15ZXMKYWNfY3ZfZnVuY19zdHJzdmlzPW5vCmFjX2N2
 X2Z1bmNfc3RydG9sbD15ZXMKYWNfY3ZfZnVuY19zdHJ1bnZpcz1ubwphY19jdl9mdW5jX3N0cnZp
 cz1ubwphY19jdl9mdW5jX3N2aXM9bm8KYWNfY3ZfZnVuY190aW1lZ209eWVzCmFjX2N2X2Z1bmNf
 dWlkX2Zyb21fdXNlcj1ubwphY19jdl9mdW5jX3Vuc2V0ZW52PXllcwphY19jdl9mdW5jX3Vudmlz
 PW5vCmFjX2N2X2Z1bmNfdXNlcl9mcm9tX3VpZD1ubwphY19jdl9mdW5jX3VzbGVlcD15ZXMKYWNf
 Y3ZfZnVuY191dGltZXM9eWVzCmFjX2N2X2Z1bmNfdmZvcms9eWVzCmFjX2N2X2Z1bmNfdmZvcmtf
 d29ya3M9eWVzCmFjX2N2X2Z1bmNfdmlzPW5vCmFjX2N2X2Z1bmNfdnByaW50Zj15ZXMKYWNfY3Zf
 ZnVuY193YXJuPXllcwphY19jdl9oYXZlX2RlY2xfZW5kZ3JlbnQ9bm8KYWNfY3ZfaGF2ZV9kZWNs
 X2VuZHB3ZW50PW5vCmFjX2N2X2hhdmVfZGVjbF9vcHRhcmc9eWVzCmFjX2N2X2hhdmVfZGVjbF9v
 cHRpbmQ9eWVzCmFjX2N2X2hhdmVfZGVjbF9vcHRyZXNldD1ubwphY19jdl9oYXZlX2RlY2xfc25w
 cmludGY9eWVzCmFjX2N2X2hhdmVfZGVjbF9zdHJlcnJvcl9yPXllcwphY19jdl9oYXZlX2RlY2xf
 dmFzcHJpbnRmPW5vCmFjX2N2X2hlYWRlcl9hbGxvY2FfaD15ZXMKYWNfY3ZfaGVhZGVyX2Fzc2Vy
 dF9oPXllcwphY19jdl9oZWFkZXJfY3R5cGVfaD15ZXMKYWNfY3ZfaGVhZGVyX2RpcmVudF9oPXll
 cwphY19jdl9oZWFkZXJfZW5kaWFuX2g9eWVzCmFjX2N2X2hlYWRlcl9lcnJfaD15ZXMKYWNfY3Zf
 aGVhZGVyX2Vycm5vX2g9eWVzCmFjX2N2X2hlYWRlcl9mY250bF9oPXllcwphY19jdl9oZWFkZXJf
 Zm5tYXRjaF9oPXllcwphY19jdl9oZWFkZXJfZnRzX2g9eWVzCmFjX2N2X2hlYWRlcl9nZXRvcHRf
 aD15ZXMKYWNfY3ZfaGVhZGVyX2dsb2JfaD15ZXMKYWNfY3ZfaGVhZGVyX2dycF9oPXllcwphY19j
 dl9oZWFkZXJfaW50dHlwZXNfaD15ZXMKYWNfY3ZfaGVhZGVyX2xpYnV0aWxfaD15ZXMKYWNfY3Zf
 aGVhZGVyX2xpbWl0c19oPXllcwphY19jdl9oZWFkZXJfbWFjaGluZV9lbmRpYW5faD1ubwphY19j
 dl9oZWFkZXJfbWQ1X2g9bm8KYWNfY3ZfaGVhZGVyX21lbW9yeV9oPXllcwphY19jdl9oZWFkZXJf
 bmRpcl9oPW5vCmFjX2N2X2hlYWRlcl9uZXRkYl9oPXllcwphY19jdl9oZWFkZXJfcGF0aHNfaD15
 ZXMKYWNfY3ZfaGVhZGVyX3BvbGxfaD15ZXMKYWNfY3ZfaGVhZGVyX3B3ZF9oPXllcwphY19jdl9o
 ZWFkZXJfcmVnZXhfaD15ZXMKYWNfY3ZfaGVhZGVyX3JtZDE2MF9oPW5vCmFjX2N2X2hlYWRlcl9z
 aGExX2g9bm8KYWNfY3ZfaGVhZGVyX3NoYTJfaD1ubwphY19jdl9oZWFkZXJfc2lnbmFsX2g9eWVz
 CmFjX2N2X2hlYWRlcl9zdGRhcmdfaD15ZXMKYWNfY3ZfaGVhZGVyX3N0ZGJvb2xfaD15ZXMKYWNf
 Y3ZfaGVhZGVyX3N0ZGM9eWVzCmFjX2N2X2hlYWRlcl9zdGRkZWZfaD15ZXMKYWNfY3ZfaGVhZGVy
 X3N0ZGludF9oPXllcwphY19jdl9oZWFkZXJfc3RkaW9faD15ZXMKYWNfY3ZfaGVhZGVyX3N0ZGxp
 Yl9oPXllcwphY19jdl9oZWFkZXJfc3RyaW5nX2g9eWVzCmFjX2N2X2hlYWRlcl9zdHJpbmdzX2g9
 eWVzCmFjX2N2X2hlYWRlcl9zeXNfYnl0ZW9yZGVyX2g9bm8KYWNfY3ZfaGVhZGVyX3N5c19jZGVm
 c19oPXllcwphY19jdl9oZWFkZXJfc3lzX2Rpcl9oPXllcwphY19jdl9oZWFkZXJfc3lzX2VuZGlh
 bl9oPW5vCmFjX2N2X2hlYWRlcl9zeXNfZmlsZV9oPXllcwphY19jdl9oZWFkZXJfc3lzX21rZGV2
 X2g9bm8KYWNfY3ZfaGVhZGVyX3N5c19tb3VudF9oPXllcwphY19jdl9oZWFkZXJfc3lzX25kaXJf
 aD1ubwphY19jdl9oZWFkZXJfc3lzX3BhcmFtX2g9eWVzCmFjX2N2X2hlYWRlcl9zeXNfcG9sbF9o
 PXllcwphY19jdl9oZWFkZXJfc3lzX3F1ZXVlX2g9eWVzCmFjX2N2X2hlYWRlcl9zeXNfc29ja2V0
 X2g9eWVzCmFjX2N2X2hlYWRlcl9zeXNfc3RhdF9oPXllcwphY19jdl9oZWFkZXJfc3lzX3N0YXRm
 c19oPXllcwphY19jdl9oZWFkZXJfc3lzX3N0YXR2ZnNfaD15ZXMKYWNfY3ZfaGVhZGVyX3N5c190
 aW1lX2g9eWVzCmFjX2N2X2hlYWRlcl9zeXNfdHR5Y29tX2g9bm8KYWNfY3ZfaGVhZGVyX3N5c190
 eXBlc19oPXllcwphY19jdl9oZWFkZXJfc3lzX3Vpb19oPXllcwphY19jdl9oZWFkZXJfc3lzX3Zm
 c19oPXllcwphY19jdl9oZWFkZXJfc3lzZXhpdHNfaD15ZXMKYWNfY3ZfaGVhZGVyX3Rlcm1jYXBf
 aD15ZXMKYWNfY3ZfaGVhZGVyX3RpbWU9eWVzCmFjX2N2X2hlYWRlcl90aW1lX2g9eWVzCmFjX2N2
 X2hlYWRlcl90emZpbGVfaD1ubwphY19jdl9oZWFkZXJfdW5pc3RkX2g9eWVzCmFjX2N2X2hlYWRl
 cl91dGlsX2g9bm8KYWNfY3ZfaGVhZGVyX3V0aW1lX2g9eWVzCmFjX2N2X2hlYWRlcl92Zm9ya19o
 PW5vCmFjX2N2X2hlYWRlcl92aXNfaD15ZXMKYWNfY3ZfaG9zdD1pNjg2LXBjLWxpbnV4LWdudQph
 Y19jdl9saWJfbnNsX2dldGhvc3RieW5hbWU9eWVzCmFjX2N2X2xpYl91dGlsX2ZwYXJzZWxuPW5v
 CmFjX2N2X21lbWJlcl9ESVJfZGRfZmQ9bm8KYWNfY3ZfbWVtYmVyX3N0cnVjdF9kaXJlbnRfZF9u
 YW1sZW49bm8KYWNfY3ZfbWVtYmVyX3N0cnVjdF9zdGF0ZnNfZl9mbGFncz15ZXMKYWNfY3ZfbWVt
 YmVyX3N0cnVjdF9zdGF0ZnNfZl9mc2l6ZT1ubwphY19jdl9tZW1iZXJfc3RydWN0X3N0YXRmc19m
 X2lvc2l6ZT1ubwphY19jdl9vYmpleHQ9bwphY19jdl9wYXRoX0VHUkVQPScvYmluL2dyZXAgLUUn
 CmFjX2N2X3BhdGhfR1JFUD0vYmluL2dyZXAKYWNfY3ZfcGF0aF9pbnN0YWxsPScvdXNyL2Jpbi9p
 bnN0YWxsIC1jJwphY19jdl9wcm9nX0FSPWFyCmFjX2N2X3Byb2dfQVdLPWdhd2sKYWNfY3ZfcHJv
 Z19DUFA9J2djYyAtRScKYWNfY3ZfcHJvZ19hY19jdF9DQz1nY2MKYWNfY3ZfcHJvZ19hY19jdF9S
 QU5MSUI9cmFubGliCmFjX2N2X3Byb2dfY2NfYzg5PQphY19jdl9wcm9nX2NjX2c9eWVzCmFjX2N2
 X3Byb2dfbWFrZV9tYWtlX3NldD15ZXMKYWNfY3Zfc2VhcmNoX3NvY2tldD0nbm9uZSByZXF1aXJl
 ZCcKYWNfY3Zfc2l6ZW9mX29mZl90PTQKYWNfY3ZfdHlwZV9fQm9vbD15ZXMKYWNfY3ZfdHlwZV9m
 c2lkX3Q9eWVzCmFjX2N2X3R5cGVfbG9uZ19kb3VibGU9eWVzCmFjX2N2X3R5cGVfbG9uZ19sb25n
 PXllcwphY19jdl90eXBlX3BpZF90PXllcwphY19jdl90eXBlX3NpemVfdD15ZXMKYWNfY3ZfdHlw
 ZV9zb2NrbGVuX3Q9eWVzCmFjX2N2X3R5cGVfc3RydWN0X2FkZHJpbmZvPXllcwphY19jdl90eXBl
 X3N0cnVjdF9pbjZfYWRkcj15ZXMKYWNfY3ZfdHlwZV9zdHJ1Y3Rfb3B0aW9uPXllcwphY19jdl90
 eXBlX3N0cnVjdF9zb2NrYWRkcl9pbjY9eWVzCmFjX2N2X3R5cGVfc3RydWN0X3NvY2thZGRyX3N0
 b3JhZ2U9eWVzCmFjX2N2X3R5cGVfdWludHB0cl90PXllcwpwa2dfY3ZfaGF2ZV9wb2xsX2g9eWVz
 CnBrZ19jdl9oYXZlX3Zpc193aGl0ZT15ZXMKcGtnX2N2X25hdGl2ZV9wb2xsPXllcwoKIyMgLS0t
 LS0tLS0tLS0tLS0tLS0gIyMKIyMgT3V0cHV0IHZhcmlhYmxlcy4gIyMKIyMgLS0tLS0tLS0tLS0t
 LS0tLS0gIyMKCkFSPSdhcicKQVVUT0NPTkY9Jy4vbWlzc2luZyAtLXJ1biBhdXRvY29uZicKQVVU
 T0hFQURFUj0nLi9taXNzaW5nIC0tcnVuIGF1dG9oZWFkZXInCkFXSz0nZ2F3aycKQ0FOT05JQ0FM
 X0hPU1Q9J2k2ODYtcGMtbGludXgtZ251JwpDQz0nZ2NjJwpDRkxBR1M9Jy1nIC1PMicKQ1BQPSdn
 Y2MgLUUnCkNQUEZMQUdTPScnCkRFRlM9Jy1ESEFWRV9DT05GSUdfSCcKRUNIT19DPScnCkVDSE9f
 Tj0nLW4nCkVDSE9fVD0nJwpFR1JFUD0nL2Jpbi9ncmVwIC1FJwpFWEVFWFQ9JycKR1JFUD0nL2Jp
 bi9ncmVwJwpJTkNMVURFUz0nJwpJTlNUQUxMX0RBVEE9JyR7SU5TVEFMTH0gLW0gNjQ0JwpJTlNU
 QUxMX1BST0dSQU09JyR7SU5TVEFMTH0nCklOU1RBTExfU0NSSVBUPScke0lOU1RBTEx9JwpMREZM
 QUdTPScnCkxJQk9CSlM9JyAke0xJQk9CSkRJUn1nbG9iJFUubyAke0xJQk9CSkRJUn1tZDVjJFUu
 byAke0xJQk9CSkRJUn1tZDVobCRVLm8gJHtMSUJPQkpESVJ9cm1kMTYwJFUubyAke0xJQk9CSkRJ
 Un1ybWQxNjBobCRVLm8gJHtMSUJPQkpESVJ9c2hhMSRVLm8gJHtMSUJPQkpESVJ9c2hhMWhsJFUu
 byAke0xJQk9CSkRJUn1zaGEyJFUubyAke0xJQk9CSkRJUn1zaGEyaGwkVS5vICR7TElCT0JKRElS
 fWdldG9wdCRVLm8gJHtMSUJPQkpESVJ9Z2V0b3B0X2xvbmckVS5vICR7TElCT0JKRElSfXZpcyRV
 Lm8gJHtMSUJPQkpESVJ9dW52aXMkVS5vICR7TElCT0JKRElSfWZnZXRsbiRVLm8gJHtMSUJPQkpE
 SVJ9ZnBhcnNlbG4kVS5vICR7TElCT0JKRElSfWxjaGZsYWdzJFUubyAke0xJQk9CSkRJUn1sY2ht
 b2QkVS5vICR7TElCT0JKRElSfXNldGdyb3VwZW50JFUubyAke0xJQk9CSkRJUn1zZXRwYXNzZW50
 JFUubyAke0xJQk9CSkRJUn1zZXRwcm9nbmFtZSRVLm8gJHtMSUJPQkpESVJ9c2hxdW90ZSRVLm8g
 JHtMSUJPQkpESVJ9c3RybGNhdCRVLm8gJHtMSUJPQkpESVJ9c3RybGNweSRVLm8gJHtMSUJPQkpE
 SVJ9c3RybW9kZSRVLm8gJHtMSUJPQkpESVJ9c2V0bW9kZSRVLm8gJHtMSUJPQkpESVJ9cHdjYWNo
 ZSRVLm8nCkxJQlM9Jy1sbnNsICcKTE5fUz0nbG4gLXMnCkxUTElCT0JKUz0nICR7TElCT0JKRElS
 fWdsb2IkVS5sbyAke0xJQk9CSkRJUn1tZDVjJFUubG8gJHtMSUJPQkpESVJ9bWQ1aGwkVS5sbyAk
 e0xJQk9CSkRJUn1ybWQxNjAkVS5sbyAke0xJQk9CSkRJUn1ybWQxNjBobCRVLmxvICR7TElCT0JK
 RElSfXNoYTEkVS5sbyAke0xJQk9CSkRJUn1zaGExaGwkVS5sbyAke0xJQk9CSkRJUn1zaGEyJFUu
 bG8gJHtMSUJPQkpESVJ9c2hhMmhsJFUubG8gJHtMSUJPQkpESVJ9Z2V0b3B0JFUubG8gJHtMSUJP
 QkpESVJ9Z2V0b3B0X2xvbmckVS5sbyAke0xJQk9CSkRJUn12aXMkVS5sbyAke0xJQk9CSkRJUn11
 bnZpcyRVLmxvICR7TElCT0JKRElSfWZnZXRsbiRVLmxvICR7TElCT0JKRElSfWZwYXJzZWxuJFUu
 bG8gJHtMSUJPQkpESVJ9bGNoZmxhZ3MkVS5sbyAke0xJQk9CSkRJUn1sY2htb2QkVS5sbyAke0xJ
 Qk9CSkRJUn1zZXRncm91cGVudCRVLmxvICR7TElCT0JKRElSfXNldHBhc3NlbnQkVS5sbyAke0xJ
 Qk9CSkRJUn1zZXRwcm9nbmFtZSRVLmxvICR7TElCT0JKRElSfXNocXVvdGUkVS5sbyAke0xJQk9C
 SkRJUn1zdHJsY2F0JFUubG8gJHtMSUJPQkpESVJ9c3RybGNweSRVLmxvICR7TElCT0JKRElSfXN0
 cm1vZGUkVS5sbyAke0xJQk9CSkRJUn1zZXRtb2RlJFUubG8gJHtMSUJPQkpESVJ9cHdjYWNoZSRV
 LmxvJwpPQkpFWFQ9J28nClBBQ0tBR0VfQlVHUkVQT1JUPSdncmFudEBOZXRCU0Qub3JnJwpQQUNL
 QUdFX05BTUU9J2xpYm5iY29tcGF0JwpQQUNLQUdFX1NUUklORz0nbGlibmJjb21wYXQgMjAwODA2
 MDUnClBBQ0tBR0VfVEFSTkFNRT0nbGlibmJjb21wYXQnClBBQ0tBR0VfVVJMPScnClBBQ0tBR0Vf
 VkVSU0lPTj0nMjAwODA2MDUnClBBVEhfU0VQQVJBVE9SPSc6JwpSQU5MSUI9J3JhbmxpYicKU0VU
 X01BS0U9JycKU0hFTEw9Jy9iaW4vYmFzaCcKV0lUSF9EQj0neWVzJwphY19jdF9DQz0nZ2NjJwpi
 aW5kaXI9JyR7ZXhlY19wcmVmaXh9L2JpbicKYnVpbGQ9J2k2ODYtcGMtbGludXgtZ251JwpidWls
 ZF9hbGlhcz0nJwpidWlsZF9jcHU9J2k2ODYnCmJ1aWxkX29zPSdsaW51eC1nbnUnCmJ1aWxkX3Zl
 bmRvcj0ncGMnCmRhdGFkaXI9JyR7ZGF0YXJvb3RkaXJ9JwpkYXRhcm9vdGRpcj0nJHtwcmVmaXh9
 L3NoYXJlJwpkb2NkaXI9JyR7ZGF0YXJvb3RkaXJ9L2RvYy8ke1BBQ0tBR0VfVEFSTkFNRX0nCmR2
 aWRpcj0nJHtkb2NkaXJ9JwpleGVjX3ByZWZpeD0nJHtwcmVmaXh9Jwpob3N0PSdpNjg2LXBjLWxp
 bnV4LWdudScKaG9zdF9hbGlhcz0nJwpob3N0X2NwdT0naTY4NicKaG9zdF9vcz0nbGludXgtZ251
 Jwpob3N0X3ZlbmRvcj0ncGMnCmh0bWxkaXI9JyR7ZG9jZGlyfScKaW5jbHVkZWRpcj0nJHtwcmVm
 aXh9L2luY2x1ZGUnCmluZm9kaXI9JyR7ZGF0YXJvb3RkaXJ9L2luZm8nCmxpYmRpcj0nJHtleGVj
 X3ByZWZpeH0vbGliJwpsaWJleGVjZGlyPScke2V4ZWNfcHJlZml4fS9saWJleGVjJwpsb2NhbGVk
 aXI9JyR7ZGF0YXJvb3RkaXJ9L2xvY2FsZScKbG9jYWxzdGF0ZWRpcj0nJHtwcmVmaXh9L3ZhcicK
 bWFuZGlyPScvaG9tZS92aXRhbDMwMy9uZXRic2QvbWFuJwpvbGRpbmNsdWRlZGlyPScvdXNyL2lu
 Y2x1ZGUnCnBkZmRpcj0nJHtkb2NkaXJ9JwpwcmVmaXg9Jy9ob21lL3ZpdGFsMzAzL25ldGJzZCcK
 cHJvZ3JhbV90cmFuc2Zvcm1fbmFtZT0ncyx4LHgsJwpwc2Rpcj0nJHtkb2NkaXJ9JwpzYmluZGly
 PScke2V4ZWNfcHJlZml4fS9zYmluJwpzaGFyZWRzdGF0ZWRpcj0nJHtwcmVmaXh9L2NvbScKc3lz
 Y29uZmRpcj0nL2hvbWUvdml0YWwzMDMvbmV0YnNkL2V0YycKdGFyZ2V0X2FsaWFzPScnCgojIyAt
 LS0tLS0tLS0tLSAjIwojIyBjb25mZGVmcy5oLiAjIwojIyAtLS0tLS0tLS0tLSAjIwoKLyogY29u
 ZmRlZnMuaCAqLwojZGVmaW5lIFBBQ0tBR0VfTkFNRSAibGlibmJjb21wYXQiCiNkZWZpbmUgUEFD
 S0FHRV9UQVJOQU1FICJsaWJuYmNvbXBhdCIKI2RlZmluZSBQQUNLQUdFX1ZFUlNJT04gIjIwMDgw
 NjA1IgojZGVmaW5lIFBBQ0tBR0VfU1RSSU5HICJsaWJuYmNvbXBhdCAyMDA4MDYwNSIKI2RlZmlu
 ZSBQQUNLQUdFX0JVR1JFUE9SVCAiZ3JhbnRATmV0QlNELm9yZyIKI2RlZmluZSBQQUNLQUdFX1VS
 TCAiIgojZGVmaW5lIFNURENfSEVBREVSUyAxCiNkZWZpbmUgVElNRV9XSVRIX1NZU19USU1FIDEK
 I2RlZmluZSBIQVZFX1NZU19UWVBFU19IIDEKI2RlZmluZSBIQVZFX1NZU19TVEFUX0ggMQojZGVm
 aW5lIEhBVkVfU1RETElCX0ggMQojZGVmaW5lIEhBVkVfU1RSSU5HX0ggMQojZGVmaW5lIEhBVkVf
 TUVNT1JZX0ggMQojZGVmaW5lIEhBVkVfU1RSSU5HU19IIDEKI2RlZmluZSBIQVZFX0lOVFRZUEVT
 X0ggMQojZGVmaW5lIEhBVkVfU1RESU5UX0ggMQojZGVmaW5lIEhBVkVfVU5JU1REX0ggMQojZGVm
 aW5lIEhBVkVfX0JPT0wgMQojZGVmaW5lIEhBVkVfU1REQk9PTF9IIDEKI2RlZmluZSBIQVZFX0FM
 TE9DQV9IIDEKI2RlZmluZSBIQVZFX0FTU0VSVF9IIDEKI2RlZmluZSBIQVZFX0NUWVBFX0ggMQoj
 ZGVmaW5lIEhBVkVfRElSRU5UX0ggMQojZGVmaW5lIEhBVkVfRU5ESUFOX0ggMQojZGVmaW5lIEhB
 VkVfRVJSX0ggMQojZGVmaW5lIEhBVkVfRVJSTk9fSCAxCiNkZWZpbmUgSEFWRV9GQ05UTF9IIDEK
 I2RlZmluZSBIQVZFX0ZOTUFUQ0hfSCAxCiNkZWZpbmUgSEFWRV9GVFNfSCAxCiNkZWZpbmUgSEFW
 RV9HUlBfSCAxCiNkZWZpbmUgSEFWRV9JTlRUWVBFU19IIDEKI2RlZmluZSBIQVZFX0xJQlVUSUxf
 SCAxCiNkZWZpbmUgSEFWRV9MSU1JVFNfSCAxCiNkZWZpbmUgSEFWRV9ORVREQl9IIDEKI2RlZmlu
 ZSBIQVZFX1BBVEhTX0ggMQojZGVmaW5lIEhBVkVfUFdEX0ggMQojZGVmaW5lIEhBVkVfU0lHTkFM
 X0ggMQojZGVmaW5lIEhBVkVfU1REQVJHX0ggMQojZGVmaW5lIEhBVkVfU1REREVGX0ggMQojZGVm
 aW5lIEhBVkVfU1RESU5UX0ggMQojZGVmaW5lIEhBVkVfU1RESU9fSCAxCiNkZWZpbmUgSEFWRV9T
 VERMSUJfSCAxCiNkZWZpbmUgSEFWRV9TVFJJTkdfSCAxCiNkZWZpbmUgSEFWRV9TWVNfQ0RFRlNf
 SCAxCiNkZWZpbmUgSEFWRV9TWVNfRElSX0ggMQojZGVmaW5lIEhBVkVfU1lTX0ZJTEVfSCAxCiNk
 ZWZpbmUgSEFWRV9TWVNfUEFSQU1fSCAxCiNkZWZpbmUgSEFWRV9TWVNfU09DS0VUX0ggMQojZGVm
 aW5lIEhBVkVfU1lTX1NUQVRfSCAxCiNkZWZpbmUgSEFWRV9TWVNfU1RBVEZTX0ggMQojZGVmaW5l
 IEhBVkVfU1lTX1NUQVRWRlNfSCAxCiNkZWZpbmUgSEFWRV9TWVNfVElNRV9IIDEKI2RlZmluZSBI
 QVZFX1NZU19UWVBFU19IIDEKI2RlZmluZSBIQVZFX1NZU19VSU9fSCAxCiNkZWZpbmUgSEFWRV9T
 WVNfVkZTX0ggMQojZGVmaW5lIEhBVkVfU1lTRVhJVFNfSCAxCiNkZWZpbmUgSEFWRV9URVJNQ0FQ
 X0ggMQojZGVmaW5lIEhBVkVfVElNRV9IIDEKI2RlZmluZSBIQVZFX1VOSVNURF9IIDEKI2RlZmlu
 ZSBIQVZFX1VUSU1FX0ggMQojZGVmaW5lIEhBVkVfU1lTX01PVU5UX0ggMQojZGVmaW5lIEhBVkVf
 R0xPQl9IIDEKI2RlZmluZSBIQVZFX05CQ09NUEFUX0dMT0IgMQojZGVmaW5lIEhBVkVfU1lTX1FV
 RVVFX0ggMQojZGVmaW5lIEhBVkVfTkJDT01QQVRfUVVFVUUgMQojZGVmaW5lIEhBVkVfUkVHRVhf
 SCAxCiNkZWZpbmUgSEFWRV9OQkNPTVBBVF9NRDUgMQojZGVmaW5lIEhBVkVfTkJDT01QQVRfUk1E
 MTYwIDEKI2RlZmluZSBIQVZFX05CQ09NUEFUX1NIQTEgMQojZGVmaW5lIEhBVkVfTkJDT01QQVRf
 U0hBMiAxCiNkZWZpbmUgSEFWRV9ERUNMX09QVEFSRyAxCiNkZWZpbmUgSEFWRV9ERUNMX09QVElO
 RCAxCiNkZWZpbmUgSEFWRV9ERUNMX09QVFJFU0VUIDAKI2RlZmluZSBIQVZFX0dFVE9QVF9IIDEK
 I2RlZmluZSBIQVZFX1NUUlVDVF9PUFRJT04gMQojZGVmaW5lIEhBVkVfVklTX0ggMQojZGVmaW5l
 IEhBVkVfTkJDT01QQVRfVklTIDEKI2RlZmluZSBIQVZFX19fQVRUUklCVVRFX18gMQojZGVmaW5l
 IEhBVkVfVUlOVFBUUl9UIDEKI2RlZmluZSBIQVZFX0xPTkdfTE9ORyAxCiNkZWZpbmUgSEFWRV9M
 T05HX0RPVUJMRSAxCiNkZWZpbmUgSEFWRV9GU0lEX1QgMQojZGVmaW5lIFNJWkVPRl9PRkZfVCA0
 CiNkZWZpbmUgSEFWRV9TVERMSUJfSCAxCiNkZWZpbmUgSEFWRV9NQUxMT0MgMQojZGVmaW5lIEhB
 VkVfREVDTF9TVFJFUlJPUl9SIDEKI2RlZmluZSBIQVZFX1NUUkVSUk9SX1IgMQojZGVmaW5lIEhB
 VkVfRk9SSyAxCiNkZWZpbmUgSEFWRV9WRk9SSyAxCiNkZWZpbmUgSEFWRV9XT1JLSU5HX1ZGT1JL
 IDEKI2RlZmluZSBIQVZFX1dPUktJTkdfRk9SSyAxCiNkZWZpbmUgSEFWRV9WUFJJTlRGIDEKI2Rl
 ZmluZSBIQVZFX0RFQ0xfU05QUklOVEYgMQojZGVmaW5lIEhBVkVfREVDTF9WQVNQUklOVEYgMAoj
 ZGVmaW5lIEhBVkVfQVNQUklOVEYgMQojZGVmaW5lIEhBVkVfRVJSIDEKI2RlZmluZSBIQVZFX0ZO
 TUFUQ0ggMQojZGVmaW5lIEhBVkVfR0VURU5WIDEKI2RlZmluZSBIQVZFX0lTQkxBTksgMQojZGVm
 aW5lIEhBVkVfTENIT1dOIDEKI2RlZmluZSBIQVZFX0xVVElNRVMgMQojZGVmaW5lIEhBVkVfTUtE
 VEVNUCAxCiNkZWZpbmUgSEFWRV9NS1NURU1QIDEKI2RlZmluZSBIQVZFX1NFVEVOViAxCiNkZWZp
 bmUgSEFWRV9TTlBSSU5URiAxCiNkZWZpbmUgSEFWRV9TVEFUVkZTIDEKI2RlZmluZSBIQVZFX1NU
 UkRVUCAxCiNkZWZpbmUgSEFWRV9TVFJFUlJPUiAxCiNkZWZpbmUgSEFWRV9TVFJTRVAgMQojZGVm
 aW5lIEhBVkVfU1RSVE9MTCAxCiNkZWZpbmUgSEFWRV9VTlNFVEVOViAxCiNkZWZpbmUgSEFWRV9V
 U0xFRVAgMQojZGVmaW5lIEhBVkVfVVRJTUVTIDEKI2RlZmluZSBIQVZFX1dBUk4gMQojZGVmaW5l
 IEhBVkVfTElCTlNMIDEKI2RlZmluZSBIQVZFX1NPQ0tMRU5fVCAxCiNkZWZpbmUgSEFWRV9TVFJV
 Q1RfQUREUklORk8gMQojZGVmaW5lIEhBVkVfU1RSVUNUX0lONl9BRERSIDEKI2RlZmluZSBIQVZF
 X1NUUlVDVF9TT0NLQUREUl9JTjYgMQojZGVmaW5lIEhBVkVfU1RSVUNUX1NPQ0tBRERSX1NUT1JB
 R0UgMQojZGVmaW5lIEhBVkVfR0VUTkFNRUlORk8gMQojZGVmaW5lIEhBVkVfR0FJX1NUUkVSUk9S
 IDEKI2RlZmluZSBIQVZFX0dFVEFERFJJTkZPIDEKI2RlZmluZSBIQVZFX0dFVEVOViAxCiNkZWZp
 bmUgSEFWRV9TRVRFTlYgMQojZGVmaW5lIEhBVkVfVU5TRVRFTlYgMQojZGVmaW5lIEhBVkVfTUtE
 VEVNUCAxCiNkZWZpbmUgSEFWRV9NS1NURU1QIDEKI2RlZmluZSBIQVZFX0JDT1BZIDEKI2RlZmlu
 ZSBIQVZFX0JaRVJPIDEKI2RlZmluZSBIQVZFX01FTVNFVCAxCiNkZWZpbmUgSEFWRV9NRU1DUFkg
 MQojZGVmaW5lIEhBVkVfU0VUTE9DQUxFIDEKI2RlZmluZSBIQVZFX0RFQ0xfRU5ER1JFTlQgMAoj
 ZGVmaW5lIEhBVkVfREVDTF9FTkRQV0VOVCAwCiNkZWZpbmUgSEFWRV9QT0xMX0ggMQojZGVmaW5l
 IEhBVkVfU1lTX1BPTExfSCAxCiNkZWZpbmUgSEFWRV9QT0xMX0ggMQojZGVmaW5lIEhBVkVfU1lT
 X1BPTExfSCAxCiNkZWZpbmUgSEFWRV9HRVRQR1JQIDEKI2RlZmluZSBIQVZFX01FTU1PVkUgMQoj
 ZGVmaW5lIEhBVkVfU0VMRUNUIDEKI2RlZmluZSBHRVRQR1JQX1ZPSUQgMQojZGVmaW5lIEhBVkVf
 U1RSVUNUX1NUQVRGU19GX0ZMQUdTIDEKI2RlZmluZSBIQVZFX0RJUkZEIDEKI2RlZmluZSBIQVZF
 X1dPUktJTkdfTE9OR19MT05HIDEKI2RlZmluZSBIQVZFX1NUUlRPTEwgMQoKY29uZmlndXJlOiBl
 eGl0IDAK
 --f46d042f9210ee39ce04b8c3fa99--

From: Steven Drake <sbd@NetBSD.org>
To: gnats-bugs@NetBSD.org
Cc: 
Subject: Re: pkg/46003: bootstrap failed on Linux with gcc 4.6.1  because of
 libutil.h location
Date: Tue, 14 Feb 2012 21:54:42 +1300 (NZDT)

 On Sun, 12 Feb 2012, slitvinov@gmail.com wrote:

 > >Synopsis:       bootstrap failed on Linux with gcc 4.6.1  because of libutil.h location

 Remove the libbsd-devel package.  libbsd is not needed for pkgsrc.

 -- 
 Steven

From: Steven Drake <sbd@NetBSD.org>
To: Joerg Sonnenberger <joerg@britannica.bec.de>
Cc: gnats-bugs@NetBSD.org
Subject: Re: pkg/46003: bootstrap failed on Linux with gcc 4.6.1  because of
 libutil.h location
Date: Tue, 14 Feb 2012 21:55:36 +1300 (NZDT)

 On Sun, 12 Feb 2012, Joerg Sonnenberger wrote:

 >  On Sun, Feb 12, 2012 at 11:55:00AM +0000, slitvinov@gmail.com wrote:
 >  > /usr/include/libutil.h:33:2: error: #warning "Deprecated header, use <bsd/libutil.h> or libbsd-overlay.pc instead." [-Werror=cpp]
 >  
 >  *sigh* Can you please start by filling a PR for glibc.

 libutil.h isn't a part of glibc, its a part of the libbsd package[1] which
 looks like debians version of libnbcompat and from this[2] commit, this
 behavior is intentional so a bug report would get filed as "RESOLVED WONTFIX"
 or "RESOLVED INVALID".

 As for fixing the PR I think the best thing to do is to not use libutil.h
 or vis.h on Linux if they exist.

 1. http://libbsd.freedesktop.org/
 2. http://cgit.freedesktop.org/libbsd/commit/?id=8654206a04995cf97273e1338a22c05d9a542cad

 -- 
 Steven

State-Changed-From-To: open->closed
State-Changed-By: maya@NetBSD.org
State-Changed-When: Thu, 05 Sep 2019 09:56:00 +0000
State-Changed-Why:
This has been fixed for a while, the current code is:
#if HAVE_BSD_LIBUTIL_H
# include <bsd/libutil.h>
#elif HAVE_LIBUTIL_H
# include <libutil.h>
#endif

Thanks for the report!


>Unformatted:

NetBSD Home
NetBSD PR Database Search

(Contact us) $NetBSD: query-full-pr,v 1.43 2018/01/16 07:36:43 maya Exp $
$NetBSD: gnats_config.sh,v 1.9 2014/08/02 14:16:04 spz Exp $
Copyright © 1994-2017 The NetBSD Foundation, Inc. ALL RIGHTS RESERVED.