From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: "William Xue" Newsgroups: gmane.emacs.devel Subject: Re: Emacs-devel Digest, Vol 32, Issue 94 Date: Wed, 25 Oct 2006 10:08:46 +0800 Organization: WV Message-ID: References: <20061025104017.1176@henman-np.b-eng.it.to-be.co.jp> NNTP-Posting-Host: main.gmane.org Mime-Version: 1.0 Content-Type: multipart/mixed; boundary=----------8Ea03VP0FLww0wgywfg5c7 X-Trace: sea.gmane.org 1161742715 14733 80.91.229.2 (25 Oct 2006 02:18:35 GMT) X-Complaints-To: usenet@sea.gmane.org NNTP-Posting-Date: Wed, 25 Oct 2006 02:18:35 +0000 (UTC) Cc: djh Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Wed Oct 25 04:15:33 2006 Return-path: Envelope-to: ged-emacs-devel@m.gmane.org Original-Received: from lists.gnu.org ([199.232.76.165]) by ciao.gmane.org with esmtp (Exim 4.43) id 1GcYE1-0004mG-6L for ged-emacs-devel@m.gmane.org; Wed, 25 Oct 2006 04:15:27 +0200 Original-Received: from localhost ([127.0.0.1] helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1GcYDy-000873-5z for ged-emacs-devel@m.gmane.org; Tue, 24 Oct 2006 22:10:34 -0400 Original-Received: from mailman by lists.gnu.org with tmda-scanned (Exim 4.43) id 1GcYDI-000851-Mo for emacs-devel@gnu.org; Tue, 24 Oct 2006 22:09:52 -0400 Original-Received: from exim by lists.gnu.org with spam-scanned (Exim 4.43) id 1GcYDH-00084F-Ac for emacs-devel@gnu.org; Tue, 24 Oct 2006 22:09:51 -0400 Original-Received: from [199.232.76.173] (helo=monty-python.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1GcYDG-00083w-TW for emacs-devel@gnu.org; Tue, 24 Oct 2006 22:09:51 -0400 Original-Received: from [64.233.166.181] (helo=py-out-1112.google.com) by monty-python.gnu.org with esmtp (Exim 4.52) id 1GcYDC-0005l1-PM for emacs-devel@gnu.org; Tue, 24 Oct 2006 22:09:50 -0400 Original-Received: by py-out-1112.google.com with SMTP id b29so6482pya for ; Tue, 24 Oct 2006 19:09:13 -0700 (PDT) DomainKey-Signature: a=rsa-sha1; q=dns; c=nofws; s=beta; d=gmail.com; h=received:date:to:subject:from:organization:cc:content-type:mime-version:references:message-id:in-reply-to:user-agent; b=dQoYteataw6WUg0avIodvT6LM9WCscRQHLKYpp6D1wAj4ubczh48zYU2xysdUVVVQ74pf2dEb463zJHWv9sFnmLNouvMn+pJbs+QqQW9PrrohCv2fTfKxn+im0qsftZQuRCNHuGfg+ZPyNkKql2PFf3SdKl8JF3ckcZ1ugjRyX8= Original-Received: by 10.35.121.9 with SMTP id y9mr51881pym; Tue, 24 Oct 2006 19:09:12 -0700 (PDT) Original-Received: from williamxue ( [58.33.98.182]) by mx.google.com with ESMTP id 10sm1185393nzo.2006.10.24.19.08.48; Tue, 24 Oct 2006 19:09:12 -0700 (PDT) Original-To: emacs-devel@gnu.org In-Reply-To: <20061025104017.1176@henman-np.b-eng.it.to-be.co.jp> User-Agent: Opera Mail/9.02 (Win32) X-BeenThere: emacs-devel@gnu.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "Emacs development discussions." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Original-Sender: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Errors-To: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Xref: news.gmane.org gmane.emacs.devel:61142 Archived-At: ------------8Ea03VP0FLww0wgywfg5c7 Content-Type: text/plain; format=flowed; delsp=yes; charset=utf-8 Content-Transfer-Encoding: 7bit Hi Djh, I used the same cygwin verion as yours. Here is my configure logs. As I only downloaded base cygwin packages, there wasn't any X libs in the cygwin. The log in attachment was created by system. Following log was created by './configure --without-x > configure.log //////////////////////////////////////////////////// checking build system type... i686-pc-cygwin checking host system type... i686-pc-cygwin checking for gcc... gcc checking for C compiler default output file name... a.exe checking whether the C compiler works... yes checking whether we are cross compiling... no checking for suffix of executables... .exe checking for suffix of object files... o checking whether we are using the GNU C compiler... yes checking whether gcc accepts -g... yes checking for gcc option to accept ANSI C... none needed checking how to run the C preprocessor... gcc -E checking for egrep... grep -E checking for AIX... no checking whether gcc understands -Wno-pointer-sign... no checking whether ln -s works... yes checking how to run the C preprocessor... gcc -E checking for a BSD-compatible install... /usr/bin/install -c checking for ranlib... ranlib checking for install-info... /usr/bin/install-info checking for install-info... (cached) /usr/bin/install-info checking for install-info... (cached) /usr/bin/install-info checking for gzip... /usr/bin/gzip checking for -znocombreloc... no configure: checking the machine- and system-dependent files to find out - which libraries the lib-src programs will want, and - whether the GNU malloc routines are usable... checking for special C compiler options needed for large files... no checking for _FILE_OFFSET_BITS value needed for large files... no checking for _LARGE_FILES value needed for large files... no checking for ANSI C header files... yes checking for sys/types.h... yes checking for sys/stat.h... yes checking for stdlib.h... yes checking for string.h... yes checking for memory.h... yes checking for strings.h... yes checking for inttypes.h... yes checking for stdint.h... yes checking for unistd.h... yes checking machine/soundcard.h usability... no checking machine/soundcard.h presence... no checking for machine/soundcard.h... no checking sys/soundcard.h usability... yes checking sys/soundcard.h presence... yes checking for sys/soundcard.h... yes checking soundcard.h usability... no checking soundcard.h presence... no checking for soundcard.h... no checking for _oss_ioctl in -lossaudio... no checking for pkg-config... no checking sys/select.h usability... yes checking sys/select.h presence... yes checking for sys/select.h... yes checking sys/timeb.h usability... yes checking sys/timeb.h presence... yes checking for sys/timeb.h... yes checking sys/time.h usability... yes checking sys/time.h presence... yes checking for sys/time.h... yes checking for unistd.h... (cached) yes checking utime.h usability... yes checking utime.h presence... yes checking for utime.h... yes checking linux/version.h usability... no checking linux/version.h presence... no checking for linux/version.h... no checking sys/systeminfo.h usability... no checking sys/systeminfo.h presence... no checking for sys/systeminfo.h... no checking termios.h usability... yes checking termios.h presence... yes checking for termios.h... yes checking limits.h usability... yes checking limits.h presence... yes checking for limits.h... yes checking for string.h... (cached) yes checking for stdlib.h... (cached) yes checking termcap.h usability... yes checking termcap.h presence... yes checking for termcap.h... yes checking stdio_ext.h usability... no checking stdio_ext.h presence... no checking for stdio_ext.h... no checking fcntl.h usability... yes checking fcntl.h presence... yes checking for fcntl.h... yes checking for strings.h... (cached) yes checking coff.h usability... no checking coff.h presence... no checking for coff.h... no checking pty.h usability... yes checking pty.h presence... yes checking for pty.h... yes checking sys/mman.h usability... yes checking sys/mman.h presence... yes checking for sys/mman.h... yes checking sys/param.h usability... yes checking sys/param.h presence... yes checking for sys/param.h... yes checking sys/vlimit.h usability... no checking sys/vlimit.h presence... no checking for sys/vlimit.h... no checking sys/resource.h usability... yes checking sys/resource.h presence... yes checking for sys/resource.h... yes checking locale.h usability... yes checking locale.h presence... yes checking for locale.h... yes checking sys/_mbstate_t.h usability... no checking sys/_mbstate_t.h presence... no checking for sys/_mbstate_t.h... no checking sys/utsname.h usability... yes checking sys/utsname.h presence... yes checking for sys/utsname.h... yes checking pwd.h usability... yes checking pwd.h presence... yes checking for pwd.h... yes checking if personality LINUX32 can be set... no checking for term.h... no checking for ANSI C header files... (cached) yes checking whether time.h and sys/time.h may both be included... yes checking whether sys_siglist is declared... no checking whether __sys_siglist is declared... no checking for sys/wait.h that is POSIX.1 compatible... yes checking for struct utimbuf... yes checking return type of signal handlers... void checking for speed_t... yes checking for struct timeval... yes checking for struct exception... yes checking sys/socket.h usability... yes checking sys/socket.h presence... yes checking for sys/socket.h... yes checking for net/if.h... yes checking whether struct tm is in sys/time.h or time.h... time.h checking for struct tm.tm_zone... no checking for tzname... yes checking for struct tm.tm_gmtoff... no checking for struct ifreq.ifr_flags... yes checking for struct ifreq.ifr_hwaddr... yes checking for struct ifreq.ifr_netmask... yes checking for struct ifreq.ifr_broadaddr... yes checking for struct ifreq.ifr_addr... yes checking for function prototypes... yes checking for working volatile... yes checking for an ANSI C-conforming const... yes checking for void * support... yes checking whether make sets $(MAKE)... yes checking for long file names... yes checking for X... disabled checking Carbon/Carbon.h usability... no checking Carbon/Carbon.h presence... no checking for Carbon/Carbon.h... no checking for malloc_get_state... no checking for malloc_set_state... no checking whether __after_morecore_hook exists... no checking for stdlib.h... (cached) yes checking for unistd.h... (cached) yes checking for getpagesize... yes checking for working mmap... no checking for dnet_ntoa in -ldnet... no checking for main in -lXbsd... no checking for cma_open in -lpthreads... no checking for XFree86 in /usr/X386... no checking malloc/malloc.h usability... no checking malloc/malloc.h presence... no checking for malloc/malloc.h... no checking whether netdb declares h_errno... yes checking for working alloca.h... yes checking for alloca... yes checking for sqrt in -lm... yes checking for maillock in -lmail... no checking for maillock in -llockfile... no checking for liblockfile.so... no checking for touchlock... no checking maillock.h usability... no checking maillock.h presence... no checking for maillock.h... no checking for gethostname... yes checking for getdomainname... yes checking for dup2... yes checking for rename... yes checking for closedir... yes checking for mkdir... yes checking for rmdir... yes checking for sysinfo... no checking for getrusage... yes checking for get_current_dir_name... no checking for random... yes checking for lrand48... yes checking for bcopy... yes checking for bcmp... yes checking for logb... yes checking for frexp... yes checking for fmod... yes checking for rint... yes checking for cbrt... yes checking for ftime... yes checking for res_init... no checking for setsid... yes checking for strerror... yes checking for fpathconf... yes checking for select... yes checking for mktime... yes checking for euidaccess... no checking for getpagesize... (cached) yes checking for tzset... yes checking for setlocale... yes checking for utimes... yes checking for setrlimit... yes checking for setpgid... yes checking for getcwd... yes checking for getwd... yes checking for shutdown... yes checking for getaddrinfo... no checking for __fpending... no checking for mblen... yes checking for mbrlen... yes checking for mbsinit... yes checking for strsignal... yes checking for setitimer... yes checking for ualarm... yes checking for index... yes checking for rindex... yes checking for sendto... yes checking for recvfrom... yes checking for getsockopt... yes checking for setsockopt... yes checking for getsockname... yes checking for getpeername... yes checking for gai_strerror... no checking for mkstemp... yes checking for getline... yes checking for getdelim... yes checking for mremap... no checking for memmove... yes checking for fsync... yes checking for bzero... yes checking for memset... yes checking for memcmp... yes checking for difftime... yes checking for memcpy... yes checking for mempcpy... yes checking for mblen... (cached) yes checking for mbrlen... (cached) yes checking for posix_memalign... no checking sys/un.h usability... yes checking sys/un.h presence... yes checking for sys/un.h... yes checking for stdlib.h... (cached) yes checking for sys/time.h... (cached) yes checking for unistd.h... (cached) yes checking for alarm... yes checking for working mktime... no checking for getloadavg... no checking for pstat_getdynamic... no checking for kstat_open in -lkstat... no checking for elf_begin in -lelf... no checking for kvm_open in -lkvm... no checking for getloadavg in -lutil... no checking for getloadavg in -lgetloadavg... no checking for getloadavg... no checking sys/dg_sys_info.h usability... no checking sys/dg_sys_info.h presence... no checking for sys/dg_sys_info.h... no checking for locale.h... (cached) yes checking for setlocale... (cached) yes checking inq_stats/cpustats.h usability... no checking inq_stats/cpustats.h presence... no checking for inq_stats/cpustats.h... no checking sys/cpustats.h usability... no checking sys/cpustats.h presence... no checking for sys/cpustats.h... no checking mach/mach.h usability... no checking mach/mach.h presence... no checking for mach/mach.h... no checking nlist.h usability... no checking nlist.h presence... no checking for nlist.h... no checking whether getloadavg requires setgid... no checking for _LARGEFILE_SOURCE value needed for large files... no checking for fseeko... yes checking getopt.h usability... yes checking getopt.h presence... yes checking for getopt.h... yes checking for getopt_long_only... yes checking whether optreset is declared... yes checking whether getpgrp requires zero arguments... yes checking for strftime... yes checking for grantpt... yes checking for getpt... no checking for tparm in -lncurses... yes checking for dgettext in -lintl... no checking whether localtime caches TZ... no checking for gettimeofday... yes checking whether gettimeofday can accept two arguments... yes checking for struct tm.tm_zone... (cached) no checking for tzname... (cached) yes checking for struct timezone... yes checking for socket... yes checking netinet/in.h usability... yes checking netinet/in.h presence... yes checking for netinet/in.h... yes checking arpa/inet.h usability... yes checking arpa/inet.h presence... yes checking for arpa/inet.h... yes checking sys/ioctl.h usability... yes checking sys/ioctl.h presence... yes checking for sys/ioctl.h... yes checking whether system supports dynamic ptys... no checking for pid_t... yes checking for unistd.h... (cached) yes checking vfork.h usability... no checking vfork.h presence... no checking for vfork.h... no checking for fork... yes checking for vfork... yes checking for working fork... yes checking for working vfork... (cached) yes checking for nl_langinfo and CODESET... yes checking for size_t... yes checking for mbstate_t... yes checking for C restrict keyword... __restrict checking for C restricted array declarations... yes Configured for `i686-pc-cygwin'. Where should the build process find the source code? /cygdrive/d/emacs22 What operating system and machine description files should Emacs use? `s/cygwin.h' and `m/intel386.h' What compiler should emacs be built with? gcc -g -O2 Should Emacs use the GNU version of malloc? yes Should Emacs use a relocating allocator for buffers? yes Should Emacs use mmap(2) for buffer allocation? no What window system should Emacs use? none What toolkit should Emacs use? none Where do we find X Windows header files? NONE Where do we find X Windows libraries? NONE Does Emacs use -lXaw3d? no Does Emacs use -lXpm? no Does Emacs use -ljpeg? no Does Emacs use -ltiff? no Does Emacs use -lungif? no Does Emacs use -lpng? no Does Emacs use X toolkit scroll bars? no configure: creating ./config.status config.status: creating Makefile config.status: creating lib-src/Makefile.c config.status: creating oldXMenu/Makefile config.status: creating man/Makefile config.status: creating lwlib/Makefile config.status: creating src/Makefile.c config.status: creating lisp/Makefile config.status: creating lispref/Makefile config.status: creating lispintro/Makefile config.status: creating leim/Makefile config.status: creating src/config.h config.status: executing default commands creating src/epaths.h creating lib-src/Makefile creating src/Makefile On Wed, 25 Oct 2006 09:40:17 +0800, djh wrote: > > Xue "William", > >> I downloaded the source code from cvs today and built it in cygwin. > >> What I encountered it the bootstrap-emacs.exe could not finish once >> it started. > > Can you give me your configuration arguments? (to ./configure > ..............) > > And your cygwin version number? (Output from running: uname -srv ) > > I had no problem building emacs from cvs last week (Oct. 17) on > CYGWIN_NT-5.1 1.5.21(0.156/4/2) 2006-07-30. > > I did find some configuration options caused build problems, I don't use > those. > > Regards, > Darel Henman > > > _______________________________________________ > Emacs-devel mailing list > Emacs-devel@gnu.org > http://lists.gnu.org/mailman/listinfo/emacs-devel -- Sincerely yours, William ------------8Ea03VP0FLww0wgywfg5c7 Content-Disposition: attachment; filename=config.log Content-Type: application/octet-stream; name=config.log Content-Transfer-Encoding: Base64 VGhpcyBmaWxlIGNvbnRhaW5zIGFueSBtZXNzYWdlcyBwcm9kdWNlZCBieSBjb21w aWxlcnMgd2hpbGUKcnVubmluZyBjb25maWd1cmUsIHRvIGFpZCBkZWJ1Z2dpbmcg aWYgY29uZmlndXJlIG1ha2VzIGEgbWlzdGFrZS4KCkl0IHdhcyBjcmVhdGVkIGJ5 IGNvbmZpZ3VyZSwgd2hpY2ggd2FzCmdlbmVyYXRlZCBieSBHTlUgQXV0b2NvbmYg Mi41OS4gIEludm9jYXRpb24gY29tbWFuZCBsaW5lIHdhcwoKICAkIC4vY29uZmln dXJlIC0td2l0aG91dC14CgojIyAtLS0tLS0tLS0gIyMKIyMgUGxhdGZvcm0uICMj CiMjIC0tLS0tLS0tLSAjIwoKaG9zdG5hbWUgPSBhc3VzCnVuYW1lIC1tID0gaTY4 Ngp1bmFtZSAtciA9IDEuNS4yMSgwLjE1Ni80LzIpCnVuYW1lIC1zID0gQ1lHV0lO X05ULTUuMQp1bmFtZSAtdiA9IDIwMDYtMDctMzAgMTQ6MjEKCi91c3IvYmluL3Vu YW1lIC1wID0gdW5rbm93bgovYmluL3VuYW1lIC1YICAgICA9IHVua25vd24KCi9i aW4vYXJjaCAgICAgICAgICAgICAgPSB1bmtub3duCi91c3IvYmluL2FyY2ggLWsg ICAgICAgPSB1bmtub3duCi91c3IvY29udmV4L2dldHN5c2luZm8gPSB1bmtub3du Cmhvc3RpbmZvICAgICAgICAgICAgICAgPSB1bmtub3duCi9iaW4vbWFjaGluZSAg ICAgICAgICAgPSB1bmtub3duCi91c3IvYmluL29zbGV2ZWwgICAgICAgPSB1bmtu b3duCi9iaW4vdW5pdmVyc2UgICAgICAgICAgPSB1bmtub3duCgpQQVRIOiAvdXNy L2xvY2FsL2JpbgpQQVRIOiAvdXNyL2JpbgpQQVRIOiAvYmluClBBVEg6IC91c3Iv WDExUjYvYmluClBBVEg6IC9jeWdkcml2ZS9jL1dJTkRPV1Mvc3lzdGVtMzIKUEFU SDogL2N5Z2RyaXZlL2MvV0lORE9XUwpQQVRIOiAvY3lnZHJpdmUvYy9XSU5ET1dT L1N5c3RlbTMyL1diZW0KUEFUSDogL2N5Z2RyaXZlL2MvUHJvZ3JhbSBGaWxlcy9R dWlja1RpbWUvUVRTeXN0ZW0vClBBVEg6IC9jeWdkcml2ZS9jL1Byb2dyYW0gRmls ZXMvQ29tbW9uIEZpbGVzL1VsZWFkIFN5c3RlbXMvTVBFRwpQQVRIOiAvY3lnZHJp dmUvYy9taW5ndy9iaW4KUEFUSDogL2N5Z2RyaXZlL2MvbWluZ3cvaW5jbHVkZQpQ QVRIOiAvY3lnZHJpdmUvYy9taW5ndy9saWIKUEFUSDogL2N5Z2RyaXZlL2MvbXN5 cy9iaW4KCgojIyAtLS0tLS0tLS0tLSAjIwojIyBDb3JlIHRlc3RzLiAjIwojIyAt LS0tLS0tLS0tLSAjIwoKY29uZmlndXJlOjE2MzY6IGNoZWNraW5nIGJ1aWxkIHN5 c3RlbSB0eXBlCmNvbmZpZ3VyZToxNjU0OiByZXN1bHQ6IGk2ODYtcGMtY3lnd2lu CmNvbmZpZ3VyZToxNjYyOiBjaGVja2luZyBob3N0IHN5c3RlbSB0eXBlCmNvbmZp Z3VyZToxNjc2OiByZXN1bHQ6IGk2ODYtcGMtY3lnd2luCmNvbmZpZ3VyZToyNzY0 OiBjaGVja2luZyBmb3IgZ2NjCmNvbmZpZ3VyZToyNzgwOiBmb3VuZCAvdXNyL2Jp bi9nY2MKY29uZmlndXJlOjI3OTA6IHJlc3VsdDogZ2NjCmNvbmZpZ3VyZTozMDM0 OiBjaGVja2luZyBmb3IgQyBjb21waWxlciB2ZXJzaW9uCmNvbmZpZ3VyZTozMDM3 OiBnY2MgLS12ZXJzaW9uIDwvZGV2L251bGwgPiY1CmdjYyAoR0NDKSAzLjMuMyAo Y3lnd2luIHNwZWNpYWwpCkNvcHlyaWdodCAoQykgMjAwMyBGcmVlIFNvZnR3YXJl IEZvdW5kYXRpb24sIEluYy4KVGhpcyBpcyBmcmVlIHNvZnR3YXJlOyBzZWUgdGhl IHNvdXJjZSBmb3IgY29weWluZyBjb25kaXRpb25zLiAgVGhlcmUgaXMgTk8Kd2Fy cmFudHk7IG5vdCBldmVuIGZvciBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBG T1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuCgpjb25maWd1cmU6MzA0MDogJD8gPSAw CmNvbmZpZ3VyZTozMDQyOiBnY2MgLXYgPC9kZXYvbnVsbCA+JjUKUmVhZGluZyBz cGVjcyBmcm9tIC91c3IvbGliL2djYy1saWIvaTY4Ni1wYy1jeWd3aW4vMy4zLjMv c3BlY3MKQ29uZmlndXJlZCB3aXRoOiAvZ2NjL2djYy0zLjMuMy0zL2NvbmZpZ3Vy ZSAtLXZlcmJvc2UgLS1wcmVmaXg9L3VzciAtLWV4ZWMtcHJlZml4PS91c3IgLS1z eXNjb25mZGlyPS9ldGMgLS1saWJkaXI9L3Vzci9saWIgLS1saWJleGVjZGlyPS91 c3IvbGliIC0tbWFuZGlyPS91c3Ivc2hhcmUvbWFuIC0taW5mb2Rpcj0vdXNyL3No YXJlL2luZm8gLS1lbmFibGUtbGFuZ3VhZ2VzPWMsYWRhLGMrKyxkLGY3NyxqYXZh LG9iamMscGFzY2FsIC0tZW5hYmxlLW5scyAtLXdpdGhvdXQtaW5jbHVkZWQtZ2V0 dGV4dCAtLWVuYWJsZS1saWJnY2ogLS13aXRoLXN5c3RlbS16bGliIC0tZW5hYmxl LWludGVycHJldGVyIC0tZW5hYmxlLXRocmVhZHM9cG9zaXggLS1lbmFibGUtamF2 YS1nYz1ib2VobSAtLWVuYWJsZS1zamxqLWV4Y2VwdGlvbnMgLS1kaXNhYmxlLXZl cnNpb24tc3BlY2lmaWMtcnVudGltZS1saWJzIC0tZGlzYWJsZS13aW4zMi1yZWdp c3RyeQpUaHJlYWQgbW9kZWw6IHBvc2l4CmdjYyB2ZXJzaW9uIDMuMy4zIChjeWd3 aW4gc3BlY2lhbCkKY29uZmlndXJlOjMwNDU6ICQ/ID0gMApjb25maWd1cmU6MzA0 NzogZ2NjIC1WIDwvZGV2L251bGwgPiY1CmdjYzogYC1WJyBvcHRpb24gbXVzdCBo YXZlIGFyZ3VtZW50CmNvbmZpZ3VyZTozMDUwOiAkPyA9IDEKY29uZmlndXJlOjMw NzM6IGNoZWNraW5nIGZvciBDIGNvbXBpbGVyIGRlZmF1bHQgb3V0cHV0IGZpbGUg bmFtZQpjb25maWd1cmU6MzA3NjogZ2NjICAgIGNvbmZ0ZXN0LmMgID4mNQpjb25m aWd1cmU6MzA3OTogJD8gPSAwCmNvbmZpZ3VyZTozMTI1OiByZXN1bHQ6IGEuZXhl CmNvbmZpZ3VyZTozMTMwOiBjaGVja2luZyB3aGV0aGVyIHRoZSBDIGNvbXBpbGVy IHdvcmtzCmNvbmZpZ3VyZTozMTM2OiAuL2EuZXhlCmNvbmZpZ3VyZTozMTM5OiAk PyA9IDAKY29uZmlndXJlOjMxNTY6IHJlc3VsdDogeWVzCmNvbmZpZ3VyZTozMTYz OiBjaGVja2luZyB3aGV0aGVyIHdlIGFyZSBjcm9zcyBjb21waWxpbmcKY29uZmln dXJlOjMxNjU6IHJlc3VsdDogbm8KY29uZmlndXJlOjMxNjg6IGNoZWNraW5nIGZv ciBzdWZmaXggb2YgZXhlY3V0YWJsZXMKY29uZmlndXJlOjMxNzA6IGdjYyAtbyBj b25mdGVzdC5leGUgICAgY29uZnRlc3QuYyAgPiY1CmNvbmZpZ3VyZTozMTczOiAk PyA9IDAKY29uZmlndXJlOjMxOTg6IHJlc3VsdDogLmV4ZQpjb25maWd1cmU6MzIw NDogY2hlY2tpbmcgZm9yIHN1ZmZpeCBvZiBvYmplY3QgZmlsZXMKY29uZmlndXJl OjMyMjU6IGdjYyAtYyAgIGNvbmZ0ZXN0LmMgPiY1CmNvbmZpZ3VyZTozMjI4OiAk PyA9IDAKY29uZmlndXJlOjMyNTA6IHJlc3VsdDogbwpjb25maWd1cmU6MzI1NDog Y2hlY2tpbmcgd2hldGhlciB3ZSBhcmUgdXNpbmcgdGhlIEdOVSBDIGNvbXBpbGVy CmNvbmZpZ3VyZTozMjc4OiBnY2MgLWMgICBjb25mdGVzdC5jID4mNQpjb25maWd1 cmU6MzI4NDogJD8gPSAwCmNvbmZpZ3VyZTozMjg4OiB0ZXN0IC16IAoJCQkgfHwg dGVzdCAhIC1zIGNvbmZ0ZXN0LmVycgpjb25maWd1cmU6MzI5MTogJD8gPSAwCmNv bmZpZ3VyZTozMjk0OiB0ZXN0IC1zIGNvbmZ0ZXN0Lm8KY29uZmlndXJlOjMyOTc6 ICQ/ID0gMApjb25maWd1cmU6MzMxMDogcmVzdWx0OiB5ZXMKY29uZmlndXJlOjMz MTY6IGNoZWNraW5nIHdoZXRoZXIgZ2NjIGFjY2VwdHMgLWcKY29uZmlndXJlOjMz Mzc6IGdjYyAtYyAtZyAgY29uZnRlc3QuYyA+JjUKY29uZmlndXJlOjMzNDM6ICQ/ ID0gMApjb25maWd1cmU6MzM0NzogdGVzdCAteiAKCQkJIHx8IHRlc3QgISAtcyBj b25mdGVzdC5lcnIKY29uZmlndXJlOjMzNTA6ICQ/ID0gMApjb25maWd1cmU6MzM1 MzogdGVzdCAtcyBjb25mdGVzdC5vCmNvbmZpZ3VyZTozMzU2OiAkPyA9IDAKY29u ZmlndXJlOjMzNjc6IHJlc3VsdDogeWVzCmNvbmZpZ3VyZTozMzg0OiBjaGVja2lu ZyBmb3IgZ2NjIG9wdGlvbiB0byBhY2NlcHQgQU5TSSBDCmNvbmZpZ3VyZTozNDU0 OiBnY2MgIC1jIC1nIC1PMiAgY29uZnRlc3QuYyA+JjUKY29uZmlndXJlOjM0NjA6 ICQ/ID0gMApjb25maWd1cmU6MzQ2NDogdGVzdCAteiAKCQkJIHx8IHRlc3QgISAt cyBjb25mdGVzdC5lcnIKY29uZmlndXJlOjM0Njc6ICQ/ID0gMApjb25maWd1cmU6 MzQ3MDogdGVzdCAtcyBjb25mdGVzdC5vCmNvbmZpZ3VyZTozNDczOiAkPyA9IDAK Y29uZmlndXJlOjM0OTE6IHJlc3VsdDogbm9uZSBuZWVkZWQKY29uZmlndXJlOjM1 MDk6IGdjYyAtYyAtZyAtTzIgIGNvbmZ0ZXN0LmMgPiY1CmNvbmZ0ZXN0LmM6Mjog ZXJyb3I6IHBhcnNlIGVycm9yIGJlZm9yZSAibWUiCmNvbmZpZ3VyZTozNTE1OiAk PyA9IDEKY29uZmlndXJlOiBmYWlsZWQgcHJvZ3JhbSB3YXM6CnwgI2lmbmRlZiBf X2NwbHVzcGx1cwp8ICAgY2hva2UgbWUKfCAjZW5kaWYKY29uZmlndXJlOjM2ODc6 IGNoZWNraW5nIGhvdyB0byBydW4gdGhlIEMgcHJlcHJvY2Vzc29yCmNvbmZpZ3Vy ZTozNzIyOiBnY2MgLUUgIGNvbmZ0ZXN0LmMKY29uZmlndXJlOjM3Mjg6ICQ/ID0g MApjb25maWd1cmU6Mzc2MDogZ2NjIC1FICBjb25mdGVzdC5jCmNvbmZ0ZXN0LmM6 MTA6Mjg6IGFjX25vbmV4aXN0ZW50Lmg6IE5vIHN1Y2ggZmlsZSBvciBkaXJlY3Rv cnkKY29uZmlndXJlOjM3NjY6ICQ/ID0gMQpjb25maWd1cmU6IGZhaWxlZCBwcm9n cmFtIHdhczoKfCAvKiBjb25mZGVmcy5oLiAgKi8KfCAKfCAjZGVmaW5lIFBBQ0tB R0VfTkFNRSAiIgp8ICNkZWZpbmUgUEFDS0FHRV9UQVJOQU1FICIiCnwgI2RlZmlu ZSBQQUNLQUdFX1ZFUlNJT04gIiIKfCAjZGVmaW5lIFBBQ0tBR0VfU1RSSU5HICIi CnwgI2RlZmluZSBQQUNLQUdFX0JVR1JFUE9SVCAiIgp8ICNkZWZpbmUgTUFJTF9V U0VfUE9QIDEKfCAvKiBlbmQgY29uZmRlZnMuaC4gICovCnwgI2luY2x1ZGUgPGFj X25vbmV4aXN0ZW50Lmg+CmNvbmZpZ3VyZTozODA1OiByZXN1bHQ6IGdjYyAtRQpj b25maWd1cmU6MzgyOTogZ2NjIC1FICBjb25mdGVzdC5jCmNvbmZpZ3VyZTozODM1 OiAkPyA9IDAKY29uZmlndXJlOjM4Njc6IGdjYyAtRSAgY29uZnRlc3QuYwpjb25m dGVzdC5jOjEwOjI4OiBhY19ub25leGlzdGVudC5oOiBObyBzdWNoIGZpbGUgb3Ig ZGlyZWN0b3J5CmNvbmZpZ3VyZTozODczOiAkPyA9IDEKY29uZmlndXJlOiBmYWls ZWQgcHJvZ3JhbSB3YXM6CnwgLyogY29uZmRlZnMuaC4gICovCnwgCnwgI2RlZmlu ZSBQQUNLQUdFX05BTUUgIiIKfCAjZGVmaW5lIFBBQ0tBR0VfVEFSTkFNRSAiIgp8 ICNkZWZpbmUgUEFDS0FHRV9WRVJTSU9OICIiCnwgI2RlZmluZSBQQUNLQUdFX1NU UklORyAiIgp8ICNkZWZpbmUgUEFDS0FHRV9CVUdSRVBPUlQgIiIKfCAjZGVmaW5l IE1BSUxfVVNFX1BPUCAxCnwgLyogZW5kIGNvbmZkZWZzLmguICAqLwp8ICNpbmNs dWRlIDxhY19ub25leGlzdGVudC5oPgpjb25maWd1cmU6MzkxNzogY2hlY2tpbmcg Zm9yIGVncmVwCmNvbmZpZ3VyZTozOTI3OiByZXN1bHQ6IGdyZXAgLUUKY29uZmln dXJlOjM5MzM6IGNoZWNraW5nIGZvciBBSVgKY29uZmlndXJlOjM5NTU6IHJlc3Vs dDogbm8KY29uZmlndXJlOjM5Njk6IGNoZWNraW5nIHdoZXRoZXIgZ2NjIHVuZGVy c3RhbmRzIC1Xbm8tcG9pbnRlci1zaWduCmNvbmZpZ3VyZTozOTg5OiBnY2MgLWMg LWcgLU8yIC1Xbm8tcG9pbnRlci1zaWduICBjb25mdGVzdC5jID4mNQpjYzE6IGVy cm9yOiB1bnJlY29nbml6ZWQgb3B0aW9uIGAtV25vLXBvaW50ZXItc2lnbicKY29u ZmlndXJlOjM5OTU6ICQ/ID0gMQpjb25maWd1cmU6IGZhaWxlZCBwcm9ncmFtIHdh czoKfCAvKiBjb25mZGVmcy5oLiAgKi8KfCAKfCAjZGVmaW5lIFBBQ0tBR0VfTkFN RSAiIgp8ICNkZWZpbmUgUEFDS0FHRV9UQVJOQU1FICIiCnwgI2RlZmluZSBQQUNL QUdFX1ZFUlNJT04gIiIKfCAjZGVmaW5lIFBBQ0tBR0VfU1RSSU5HICIiCnwgI2Rl ZmluZSBQQUNLQUdFX0JVR1JFUE9SVCAiIgp8ICNkZWZpbmUgTUFJTF9VU0VfUE9Q IDEKfCAjZGVmaW5lIF9HTlVfU09VUkNFIDEKfCAvKiBlbmQgY29uZmRlZnMuaC4g ICovCnwgCnwgaW50CnwgbWFpbiAoKQp8IHsKfCAKfCAgIDsKfCAgIHJldHVybiAw Owp8IH0KY29uZmlndXJlOjQwMjE6IHJlc3VsdDogbm8KY29uZmlndXJlOjQwMjk6 IGNoZWNraW5nIHdoZXRoZXIgbG4gLXMgd29ya3MKY29uZmlndXJlOjQwMzM6IHJl c3VsdDogeWVzCmNvbmZpZ3VyZTo0MDQ1OiBjaGVja2luZyBob3cgdG8gcnVuIHRo ZSBDIHByZXByb2Nlc3Nvcgpjb25maWd1cmU6NDE2MzogcmVzdWx0OiBnY2MgLUUK Y29uZmlndXJlOjQxODc6IGdjYyAtRSAgY29uZnRlc3QuYwpjb25maWd1cmU6NDE5 MzogJD8gPSAwCmNvbmZpZ3VyZTo0MjI1OiBnY2MgLUUgIGNvbmZ0ZXN0LmMKY29u ZnRlc3QuYzoxMToyODogYWNfbm9uZXhpc3RlbnQuaDogTm8gc3VjaCBmaWxlIG9y IGRpcmVjdG9yeQpjb25maWd1cmU6NDIzMTogJD8gPSAxCmNvbmZpZ3VyZTogZmFp bGVkIHByb2dyYW0gd2FzOgp8IC8qIGNvbmZkZWZzLmguICAqLwp8IAp8ICNkZWZp bmUgUEFDS0FHRV9OQU1FICIiCnwgI2RlZmluZSBQQUNLQUdFX1RBUk5BTUUgIiIK fCAjZGVmaW5lIFBBQ0tBR0VfVkVSU0lPTiAiIgp8ICNkZWZpbmUgUEFDS0FHRV9T VFJJTkcgIiIKfCAjZGVmaW5lIFBBQ0tBR0VfQlVHUkVQT1JUICIiCnwgI2RlZmlu ZSBNQUlMX1VTRV9QT1AgMQp8ICNkZWZpbmUgX0dOVV9TT1VSQ0UgMQp8IC8qIGVu ZCBjb25mZGVmcy5oLiAgKi8KfCAjaW5jbHVkZSA8YWNfbm9uZXhpc3RlbnQuaD4K Y29uZmlndXJlOjQyODc6IGNoZWNraW5nIGZvciBhIEJTRC1jb21wYXRpYmxlIGlu c3RhbGwKY29uZmlndXJlOjQzNDI6IHJlc3VsdDogL3Vzci9iaW4vaW5zdGFsbCAt Ywpjb25maWd1cmU6NDM5NTogY2hlY2tpbmcgZm9yIHJhbmxpYgpjb25maWd1cmU6 NDQxMTogZm91bmQgL3Vzci9iaW4vcmFubGliCmNvbmZpZ3VyZTo0NDIyOiByZXN1 bHQ6IHJhbmxpYgpjb25maWd1cmU6NDQzNzogY2hlY2tpbmcgZm9yIGluc3RhbGwt aW5mbwpjb25maWd1cmU6NDQ1NTogZm91bmQgL3Vzci9iaW4vaW5zdGFsbC1pbmZv CmNvbmZpZ3VyZTo0NDY3OiByZXN1bHQ6IC91c3IvYmluL2luc3RhbGwtaW5mbwpj b25maWd1cmU6NDQ3NjogY2hlY2tpbmcgZm9yIGluc3RhbGwtaW5mbwpjb25maWd1 cmU6NDUwNjogcmVzdWx0OiAvdXNyL2Jpbi9pbnN0YWxsLWluZm8KY29uZmlndXJl OjQ1MTU6IGNoZWNraW5nIGZvciBpbnN0YWxsLWluZm8KY29uZmlndXJlOjQ1NDY6 IHJlc3VsdDogL3Vzci9iaW4vaW5zdGFsbC1pbmZvCmNvbmZpZ3VyZTo0NTU1OiBj aGVja2luZyBmb3IgZ3ppcApjb25maWd1cmU6NDU3MzogZm91bmQgL3Vzci9iaW4v Z3ppcApjb25maWd1cmU6NDU4NTogcmVzdWx0OiAvdXNyL2Jpbi9nemlwCmNvbmZp Z3VyZTo0NjEyOiBjaGVja2luZyBmb3IgLXpub2NvbWJyZWxvYwpjb25maWd1cmU6 NDYxODogZ2NjIC1vIGNvbmZ0ZXN0LmV4ZSAtZyAtTzIgICAtV2wsLXpub2NvbWJy ZWxvYyBjb25mdGVzdC5jICA+JjUKL3Vzci9saWIvZ2NjLWxpYi9pNjg2LXBjLWN5 Z3dpbi8zLjMuMy8uLi8uLi8uLi8uLi9pNjg2LXBjLWN5Z3dpbi9iaW4vbGQ6IHVu cmVjb2duaXplZCBvcHRpb24gJy16bm9jb21icmVsb2MnCi91c3IvbGliL2djYy1s aWIvaTY4Ni1wYy1jeWd3aW4vMy4zLjMvLi4vLi4vLi4vLi4vaTY4Ni1wYy1jeWd3 aW4vYmluL2xkOiB1c2UgdGhlIC0taGVscCBvcHRpb24gZm9yIHVzYWdlIGluZm9y bWF0aW9uCmNvbGxlY3QyOiBsZCByZXR1cm5lZCAxIGV4aXQgc3RhdHVzCmNvbmZp Z3VyZTo0NjI0OiAkPyA9IDEKY29uZmlndXJlOiBmYWlsZWQgcHJvZ3JhbSB3YXM6 CnwgbWFpbigpe3JldHVybiAwO30KY29uZmlndXJlOjQ2NDY6IHJlc3VsdDogbm8K Y29uZmlndXJlOjQ2NTY6IGNoZWNraW5nIHRoZSBtYWNoaW5lLSBhbmQgc3lzdGVt LWRlcGVuZGVudCBmaWxlcyB0byBmaW5kIG91dAogLSB3aGljaCBsaWJyYXJpZXMg dGhlIGxpYi1zcmMgcHJvZ3JhbXMgd2lsbCB3YW50LCBhbmQKIC0gd2hldGhlciB0 aGUgR05VIG1hbGxvYyByb3V0aW5lcyBhcmUgdXNhYmxlLi4uCmNvbmZpZ3VyZTo0 ODEwOiBjaGVja2luZyBmb3Igc3BlY2lhbCBDIGNvbXBpbGVyIG9wdGlvbnMgbmVl ZGVkIGZvciBsYXJnZSBmaWxlcwpjb25maWd1cmU6NDkwOTogcmVzdWx0OiBubwpj b25maWd1cmU6NDkxNTogY2hlY2tpbmcgZm9yIF9GSUxFX09GRlNFVF9CSVRTIHZh bHVlIG5lZWRlZCBmb3IgbGFyZ2UgZmlsZXMKY29uZmlndXJlOjQ5NDY6IGdjYyAt YyAtZyAtTzIgICAgY29uZnRlc3QuYyA+JjUKY29uZmlndXJlOjQ5NTI6ICQ/ID0g MApjb25maWd1cmU6NDk1NjogdGVzdCAteiAKCQkJIHx8IHRlc3QgISAtcyBjb25m dGVzdC5lcnIKY29uZmlndXJlOjQ5NTk6ICQ/ID0gMApjb25maWd1cmU6NDk2Mjog dGVzdCAtcyBjb25mdGVzdC5vCmNvbmZpZ3VyZTo0OTY1OiAkPyA9IDAKY29uZmln dXJlOjUwMzA6IHJlc3VsdDogbm8KY29uZmlndXJlOjUwNDA6IGNoZWNraW5nIGZv ciBfTEFSR0VfRklMRVMgdmFsdWUgbmVlZGVkIGZvciBsYXJnZSBmaWxlcwpjb25m aWd1cmU6NTA3MTogZ2NjIC1jIC1nIC1PMiAgICBjb25mdGVzdC5jID4mNQpjb25m aWd1cmU6NTA3NzogJD8gPSAwCmNvbmZpZ3VyZTo1MDgxOiB0ZXN0IC16IAoJCQkg fHwgdGVzdCAhIC1zIGNvbmZ0ZXN0LmVycgpjb25maWd1cmU6NTA4NDogJD8gPSAw CmNvbmZpZ3VyZTo1MDg3OiB0ZXN0IC1zIGNvbmZ0ZXN0Lm8KY29uZmlndXJlOjUw OTA6ICQ/ID0gMApjb25maWd1cmU6NTE1NTogcmVzdWx0OiBubwpjb25maWd1cmU6 NTE3NDogY2hlY2tpbmcgZm9yIEFOU0kgQyBoZWFkZXIgZmlsZXMKY29uZmlndXJl OjUxOTk6IGdjYyAtYyAtZyAtTzIgICAgY29uZnRlc3QuYyA+JjUKY29uZmlndXJl OjUyMDU6ICQ/ID0gMApjb25maWd1cmU6NTIwOTogdGVzdCAteiAKCQkJIHx8IHRl c3QgISAtcyBjb25mdGVzdC5lcnIKY29uZmlndXJlOjUyMTI6ICQ/ID0gMApjb25m aWd1cmU6NTIxNTogdGVzdCAtcyBjb25mdGVzdC5vCmNvbmZpZ3VyZTo1MjE4OiAk PyA9IDAKY29uZmlndXJlOjUzMDc6IGdjYyAtbyBjb25mdGVzdC5leGUgLWcgLU8y ICAgICBjb25mdGVzdC5jICA+JjUgIApjb25maWd1cmU6NTMxMDogJD8gPSAwCmNv bmZpZ3VyZTo1MzEyOiAuL2NvbmZ0ZXN0LmV4ZQpjb25maWd1cmU6NTMxNTogJD8g PSAwCmNvbmZpZ3VyZTo1MzMwOiByZXN1bHQ6IHllcwpjb25maWd1cmU6NTM1NDog Y2hlY2tpbmcgZm9yIHN5cy90eXBlcy5oCmNvbmZpZ3VyZTo1MzcwOiBnY2MgLWMg LWcgLU8yICAgIGNvbmZ0ZXN0LmMgPiY1CmNvbmZpZ3VyZTo1Mzc2OiAkPyA9IDAK Y29uZmlndXJlOjUzODA6IHRlc3QgLXogCgkJCSB8fCB0ZXN0ICEgLXMgY29uZnRl c3QuZXJyCmNvbmZpZ3VyZTo1MzgzOiAkPyA9IDAKY29uZmlndXJlOjUzODY6IHRl c3QgLXMgY29uZnRlc3Qubwpjb25maWd1cmU6NTM4OTogJD8gPSAwCmNvbmZpZ3Vy ZTo1NDAwOiByZXN1bHQ6IHllcwpjb25maWd1cmU6NTM1NDogY2hlY2tpbmcgZm9y IHN5cy9zdGF0LmgKY29uZmlndXJlOjUzNzA6IGdjYyAtYyAtZyAtTzIgICAgY29u ZnRlc3QuYyA+JjUKY29uZmlndXJlOjUzNzY6ICQ/ID0gMApjb25maWd1cmU6NTM4 MDogdGVzdCAteiAKCQkJIHx8IHRlc3QgISAtcyBjb25mdGVzdC5lcnIKY29uZmln dXJlOjUzODM6ICQ/ID0gMApjb25maWd1cmU6NTM4NjogdGVzdCAtcyBjb25mdGVz dC5vCmNvbmZpZ3VyZTo1Mzg5OiAkPyA9IDAKY29uZmlndXJlOjU0MDA6IHJlc3Vs dDogeWVzCmNvbmZpZ3VyZTo1MzU0OiBjaGVja2luZyBmb3Igc3RkbGliLmgKY29u ZmlndXJlOjUzNzA6IGdjYyAtYyAtZyAtTzIgICAgY29uZnRlc3QuYyA+JjUKY29u ZmlndXJlOjUzNzY6ICQ/ID0gMApjb25maWd1cmU6NTM4MDogdGVzdCAteiAKCQkJ IHx8IHRlc3QgISAtcyBjb25mdGVzdC5lcnIKY29uZmlndXJlOjUzODM6ICQ/ID0g MApjb25maWd1cmU6NTM4NjogdGVzdCAtcyBjb25mdGVzdC5vCmNvbmZpZ3VyZTo1 Mzg5OiAkPyA9IDAKY29uZmlndXJlOjU0MDA6IHJlc3VsdDogeWVzCmNvbmZpZ3Vy ZTo1MzU0OiBjaGVja2luZyBmb3Igc3RyaW5nLmgKY29uZmlndXJlOjUzNzA6IGdj YyAtYyAtZyAtTzIgICAgY29uZnRlc3QuYyA+JjUKY29uZmlndXJlOjUzNzY6ICQ/ ID0gMApjb25maWd1cmU6NTM4MDogdGVzdCAteiAKCQkJIHx8IHRlc3QgISAtcyBj b25mdGVzdC5lcnIKY29uZmlndXJlOjUzODM6ICQ/ID0gMApjb25maWd1cmU6NTM4 NjogdGVzdCAtcyBjb25mdGVzdC5vCmNvbmZpZ3VyZTo1Mzg5OiAkPyA9IDAKY29u ZmlndXJlOjU0MDA6IHJlc3VsdDogeWVzCmNvbmZpZ3VyZTo1MzU0OiBjaGVja2lu ZyBmb3IgbWVtb3J5LmgKY29uZmlndXJlOjUzNzA6IGdjYyAtYyAtZyAtTzIgICAg Y29uZnRlc3QuYyA+JjUKY29uZmlndXJlOjUzNzY6ICQ/ID0gMApjb25maWd1cmU6 NTM4MDogdGVzdCAteiAKCQkJIHx8IHRlc3QgISAtcyBjb25mdGVzdC5lcnIKY29u ZmlndXJlOjUzODM6ICQ/ID0gMApjb25maWd1cmU6NTM4NjogdGVzdCAtcyBjb25m dGVzdC5vCmNvbmZpZ3VyZTo1Mzg5OiAkPyA9IDAKY29uZmlndXJlOjU0MDA6IHJl c3VsdDogeWVzCmNvbmZpZ3VyZTo1MzU0OiBjaGVja2luZyBmb3Igc3RyaW5ncy5o CmNvbmZpZ3VyZTo1MzcwOiBnY2MgLWMgLWcgLU8yICAgIGNvbmZ0ZXN0LmMgPiY1 CmNvbmZpZ3VyZTo1Mzc2OiAkPyA9IDAKY29uZmlndXJlOjUzODA6IHRlc3QgLXog CgkJCSB8fCB0ZXN0ICEgLXMgY29uZnRlc3QuZXJyCmNvbmZpZ3VyZTo1MzgzOiAk PyA9IDAKY29uZmlndXJlOjUzODY6IHRlc3QgLXMgY29uZnRlc3Qubwpjb25maWd1 cmU6NTM4OTogJD8gPSAwCmNvbmZpZ3VyZTo1NDAwOiByZXN1bHQ6IHllcwpjb25m aWd1cmU6NTM1NDogY2hlY2tpbmcgZm9yIGludHR5cGVzLmgKY29uZmlndXJlOjUz NzA6IGdjYyAtYyAtZyAtTzIgICAgY29uZnRlc3QuYyA+JjUKY29uZmlndXJlOjUz NzY6ICQ/ID0gMApjb25maWd1cmU6NTM4MDogdGVzdCAteiAKCQkJIHx8IHRlc3Qg ISAtcyBjb25mdGVzdC5lcnIKY29uZmlndXJlOjUzODM6ICQ/ID0gMApjb25maWd1 cmU6NTM4NjogdGVzdCAtcyBjb25mdGVzdC5vCmNvbmZpZ3VyZTo1Mzg5OiAkPyA9 IDAKY29uZmlndXJlOjU0MDA6IHJlc3VsdDogeWVzCmNvbmZpZ3VyZTo1MzU0OiBj aGVja2luZyBmb3Igc3RkaW50LmgKY29uZmlndXJlOjUzNzA6IGdjYyAtYyAtZyAt TzIgICAgY29uZnRlc3QuYyA+JjUKY29uZmlndXJlOjUzNzY6ICQ/ID0gMApjb25m aWd1cmU6NTM4MDogdGVzdCAteiAKCQkJIHx8IHRlc3QgISAtcyBjb25mdGVzdC5l cnIKY29uZmlndXJlOjUzODM6ICQ/ID0gMApjb25maWd1cmU6NTM4NjogdGVzdCAt cyBjb25mdGVzdC5vCmNvbmZpZ3VyZTo1Mzg5OiAkPyA9IDAKY29uZmlndXJlOjU0 MDA6IHJlc3VsdDogeWVzCmNvbmZpZ3VyZTo1MzU0OiBjaGVja2luZyBmb3IgdW5p c3RkLmgKY29uZmlndXJlOjUzNzA6IGdjYyAtYyAtZyAtTzIgICAgY29uZnRlc3Qu YyA+JjUKY29uZmlndXJlOjUzNzY6ICQ/ID0gMApjb25maWd1cmU6NTM4MDogdGVz dCAteiAKCQkJIHx8IHRlc3QgISAtcyBjb25mdGVzdC5lcnIKY29uZmlndXJlOjUz ODM6ICQ/ID0gMApjb25maWd1cmU6NTM4NjogdGVzdCAtcyBjb25mdGVzdC5vCmNv bmZpZ3VyZTo1Mzg5OiAkPyA9IDAKY29uZmlndXJlOjU0MDA6IHJlc3VsdDogeWVz CmNvbmZpZ3VyZTo1NDI4OiBjaGVja2luZyBtYWNoaW5lL3NvdW5kY2FyZC5oIHVz YWJpbGl0eQpjb25maWd1cmU6NTQ0MDogZ2NjIC1jIC1nIC1PMiAgICBjb25mdGVz dC5jID4mNQpjb25mdGVzdC5jOjU1OjMxOiBtYWNoaW5lL3NvdW5kY2FyZC5oOiBO byBzdWNoIGZpbGUgb3IgZGlyZWN0b3J5CmNvbmZpZ3VyZTo1NDQ2OiAkPyA9IDEK Y29uZmlndXJlOiBmYWlsZWQgcHJvZ3JhbSB3YXM6CnwgLyogY29uZmRlZnMuaC4g ICovCnwgCnwgI2RlZmluZSBQQUNLQUdFX05BTUUgIiIKfCAjZGVmaW5lIFBBQ0tB R0VfVEFSTkFNRSAiIgp8ICNkZWZpbmUgUEFDS0FHRV9WRVJTSU9OICIiCnwgI2Rl ZmluZSBQQUNLQUdFX1NUUklORyAiIgp8ICNkZWZpbmUgUEFDS0FHRV9CVUdSRVBP UlQgIiIKfCAjZGVmaW5lIE1BSUxfVVNFX1BPUCAxCnwgI2RlZmluZSBfR05VX1NP VVJDRSAxCnwgI2RlZmluZSBTVERDX0hFQURFUlMgMQp8ICNkZWZpbmUgSEFWRV9T WVNfVFlQRVNfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19TVEFUX0ggMQp8ICNkZWZp bmUgSEFWRV9TVERMSUJfSCAxCnwgI2RlZmluZSBIQVZFX1NUUklOR19IIDEKfCAj ZGVmaW5lIEhBVkVfTUVNT1JZX0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJJTkdTX0gg MQp8ICNkZWZpbmUgSEFWRV9JTlRUWVBFU19IIDEKfCAjZGVmaW5lIEhBVkVfU1RE SU5UX0ggMQp8ICNkZWZpbmUgSEFWRV9VTklTVERfSCAxCnwgLyogZW5kIGNvbmZk ZWZzLmguICAqLwp8ICNpbmNsdWRlIDxzdGRpby5oPgp8ICNpZiBIQVZFX1NZU19U WVBFU19ICnwgIyBpbmNsdWRlIDxzeXMvdHlwZXMuaD4KfCAjZW5kaWYKfCAjaWYg SEFWRV9TWVNfU1RBVF9ICnwgIyBpbmNsdWRlIDxzeXMvc3RhdC5oPgp8ICNlbmRp Zgp8ICNpZiBTVERDX0hFQURFUlMKfCAjIGluY2x1ZGUgPHN0ZGxpYi5oPgp8ICMg aW5jbHVkZSA8c3RkZGVmLmg+CnwgI2Vsc2UKfCAjIGlmIEhBVkVfU1RETElCX0gK fCAjICBpbmNsdWRlIDxzdGRsaWIuaD4KfCAjIGVuZGlmCnwgI2VuZGlmCnwgI2lm IEhBVkVfU1RSSU5HX0gKfCAjIGlmICFTVERDX0hFQURFUlMgJiYgSEFWRV9NRU1P UllfSAp8ICMgIGluY2x1ZGUgPG1lbW9yeS5oPgp8ICMgZW5kaWYKfCAjIGluY2x1 ZGUgPHN0cmluZy5oPgp8ICNlbmRpZgp8ICNpZiBIQVZFX1NUUklOR1NfSAp8ICMg aW5jbHVkZSA8c3RyaW5ncy5oPgp8ICNlbmRpZgp8ICNpZiBIQVZFX0lOVFRZUEVT X0gKfCAjIGluY2x1ZGUgPGludHR5cGVzLmg+CnwgI2Vsc2UKfCAjIGlmIEhBVkVf U1RESU5UX0gKfCAjICBpbmNsdWRlIDxzdGRpbnQuaD4KfCAjIGVuZGlmCnwgI2Vu ZGlmCnwgI2lmIEhBVkVfVU5JU1REX0gKfCAjIGluY2x1ZGUgPHVuaXN0ZC5oPgp8 ICNlbmRpZgp8ICNpbmNsdWRlIDxtYWNoaW5lL3NvdW5kY2FyZC5oPgpjb25maWd1 cmU6NTQ2OTogcmVzdWx0OiBubwpjb25maWd1cmU6NTQ3MzogY2hlY2tpbmcgbWFj aGluZS9zb3VuZGNhcmQuaCBwcmVzZW5jZQpjb25maWd1cmU6NTQ4MzogZ2NjIC1F ICAgIGNvbmZ0ZXN0LmMKY29uZnRlc3QuYzoyMTozMTogbWFjaGluZS9zb3VuZGNh cmQuaDogTm8gc3VjaCBmaWxlIG9yIGRpcmVjdG9yeQpjb25maWd1cmU6NTQ4OTog JD8gPSAxCmNvbmZpZ3VyZTogZmFpbGVkIHByb2dyYW0gd2FzOgp8IC8qIGNvbmZk ZWZzLmguICAqLwp8IAp8ICNkZWZpbmUgUEFDS0FHRV9OQU1FICIiCnwgI2RlZmlu ZSBQQUNLQUdFX1RBUk5BTUUgIiIKfCAjZGVmaW5lIFBBQ0tBR0VfVkVSU0lPTiAi Igp8ICNkZWZpbmUgUEFDS0FHRV9TVFJJTkcgIiIKfCAjZGVmaW5lIFBBQ0tBR0Vf QlVHUkVQT1JUICIiCnwgI2RlZmluZSBNQUlMX1VTRV9QT1AgMQp8ICNkZWZpbmUg X0dOVV9TT1VSQ0UgMQp8ICNkZWZpbmUgU1REQ19IRUFERVJTIDEKfCAjZGVmaW5l IEhBVkVfU1lTX1RZUEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfU1RBVF9IIDEK fCAjZGVmaW5lIEhBVkVfU1RETElCX0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJJTkdf SCAxCnwgI2RlZmluZSBIQVZFX01FTU9SWV9IIDEKfCAjZGVmaW5lIEhBVkVfU1RS SU5HU19IIDEKfCAjZGVmaW5lIEhBVkVfSU5UVFlQRVNfSCAxCnwgI2RlZmluZSBI QVZFX1NURElOVF9IIDEKfCAjZGVmaW5lIEhBVkVfVU5JU1REX0ggMQp8IC8qIGVu ZCBjb25mZGVmcy5oLiAgKi8KfCAjaW5jbHVkZSA8bWFjaGluZS9zb3VuZGNhcmQu aD4KY29uZmlndXJlOjU1MDk6IHJlc3VsdDogbm8KY29uZmlndXJlOjU1NDQ6IGNo ZWNraW5nIGZvciBtYWNoaW5lL3NvdW5kY2FyZC5oCmNvbmZpZ3VyZTo1NTUxOiBy ZXN1bHQ6IG5vCmNvbmZpZ3VyZTo1NDI4OiBjaGVja2luZyBzeXMvc291bmRjYXJk LmggdXNhYmlsaXR5CmNvbmZpZ3VyZTo1NDQwOiBnY2MgLWMgLWcgLU8yICAgIGNv bmZ0ZXN0LmMgPiY1CmNvbmZpZ3VyZTo1NDQ2OiAkPyA9IDAKY29uZmlndXJlOjU0 NTA6IHRlc3QgLXogCgkJCSB8fCB0ZXN0ICEgLXMgY29uZnRlc3QuZXJyCmNvbmZp Z3VyZTo1NDUzOiAkPyA9IDAKY29uZmlndXJlOjU0NTY6IHRlc3QgLXMgY29uZnRl c3Qubwpjb25maWd1cmU6NTQ1OTogJD8gPSAwCmNvbmZpZ3VyZTo1NDY5OiByZXN1 bHQ6IHllcwpjb25maWd1cmU6NTQ3MzogY2hlY2tpbmcgc3lzL3NvdW5kY2FyZC5o IHByZXNlbmNlCmNvbmZpZ3VyZTo1NDgzOiBnY2MgLUUgICAgY29uZnRlc3QuYwpj b25maWd1cmU6NTQ4OTogJD8gPSAwCmNvbmZpZ3VyZTo1NTA5OiByZXN1bHQ6IHll cwpjb25maWd1cmU6NTU0NDogY2hlY2tpbmcgZm9yIHN5cy9zb3VuZGNhcmQuaApj b25maWd1cmU6NTU1MTogcmVzdWx0OiB5ZXMKY29uZmlndXJlOjU0Mjg6IGNoZWNr aW5nIHNvdW5kY2FyZC5oIHVzYWJpbGl0eQpjb25maWd1cmU6NTQ0MDogZ2NjIC1j IC1nIC1PMiAgICBjb25mdGVzdC5jID4mNQpjb25mdGVzdC5jOjU2OjIzOiBzb3Vu ZGNhcmQuaDogTm8gc3VjaCBmaWxlIG9yIGRpcmVjdG9yeQpjb25maWd1cmU6NTQ0 NjogJD8gPSAxCmNvbmZpZ3VyZTogZmFpbGVkIHByb2dyYW0gd2FzOgp8IC8qIGNv bmZkZWZzLmguICAqLwp8IAp8ICNkZWZpbmUgUEFDS0FHRV9OQU1FICIiCnwgI2Rl ZmluZSBQQUNLQUdFX1RBUk5BTUUgIiIKfCAjZGVmaW5lIFBBQ0tBR0VfVkVSU0lP TiAiIgp8ICNkZWZpbmUgUEFDS0FHRV9TVFJJTkcgIiIKfCAjZGVmaW5lIFBBQ0tB R0VfQlVHUkVQT1JUICIiCnwgI2RlZmluZSBNQUlMX1VTRV9QT1AgMQp8ICNkZWZp bmUgX0dOVV9TT1VSQ0UgMQp8ICNkZWZpbmUgU1REQ19IRUFERVJTIDEKfCAjZGVm aW5lIEhBVkVfU1lTX1RZUEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfU1RBVF9I IDEKfCAjZGVmaW5lIEhBVkVfU1RETElCX0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJJ TkdfSCAxCnwgI2RlZmluZSBIQVZFX01FTU9SWV9IIDEKfCAjZGVmaW5lIEhBVkVf U1RSSU5HU19IIDEKfCAjZGVmaW5lIEhBVkVfSU5UVFlQRVNfSCAxCnwgI2RlZmlu ZSBIQVZFX1NURElOVF9IIDEKfCAjZGVmaW5lIEhBVkVfVU5JU1REX0ggMQp8ICNk ZWZpbmUgSEFWRV9TWVNfU09VTkRDQVJEX0ggMQp8IC8qIGVuZCBjb25mZGVmcy5o LiAgKi8KfCAjaW5jbHVkZSA8c3RkaW8uaD4KfCAjaWYgSEFWRV9TWVNfVFlQRVNf SAp8ICMgaW5jbHVkZSA8c3lzL3R5cGVzLmg+CnwgI2VuZGlmCnwgI2lmIEhBVkVf U1lTX1NUQVRfSAp8ICMgaW5jbHVkZSA8c3lzL3N0YXQuaD4KfCAjZW5kaWYKfCAj aWYgU1REQ19IRUFERVJTCnwgIyBpbmNsdWRlIDxzdGRsaWIuaD4KfCAjIGluY2x1 ZGUgPHN0ZGRlZi5oPgp8ICNlbHNlCnwgIyBpZiBIQVZFX1NURExJQl9ICnwgIyAg aW5jbHVkZSA8c3RkbGliLmg+CnwgIyBlbmRpZgp8ICNlbmRpZgp8ICNpZiBIQVZF X1NUUklOR19ICnwgIyBpZiAhU1REQ19IRUFERVJTICYmIEhBVkVfTUVNT1JZX0gK fCAjICBpbmNsdWRlIDxtZW1vcnkuaD4KfCAjIGVuZGlmCnwgIyBpbmNsdWRlIDxz dHJpbmcuaD4KfCAjZW5kaWYKfCAjaWYgSEFWRV9TVFJJTkdTX0gKfCAjIGluY2x1 ZGUgPHN0cmluZ3MuaD4KfCAjZW5kaWYKfCAjaWYgSEFWRV9JTlRUWVBFU19ICnwg IyBpbmNsdWRlIDxpbnR0eXBlcy5oPgp8ICNlbHNlCnwgIyBpZiBIQVZFX1NURElO VF9ICnwgIyAgaW5jbHVkZSA8c3RkaW50Lmg+CnwgIyBlbmRpZgp8ICNlbmRpZgp8 ICNpZiBIQVZFX1VOSVNURF9ICnwgIyBpbmNsdWRlIDx1bmlzdGQuaD4KfCAjZW5k aWYKfCAjaW5jbHVkZSA8c291bmRjYXJkLmg+CmNvbmZpZ3VyZTo1NDY5OiByZXN1 bHQ6IG5vCmNvbmZpZ3VyZTo1NDczOiBjaGVja2luZyBzb3VuZGNhcmQuaCBwcmVz ZW5jZQpjb25maWd1cmU6NTQ4MzogZ2NjIC1FICAgIGNvbmZ0ZXN0LmMKY29uZnRl c3QuYzoyMjoyMzogc291bmRjYXJkLmg6IE5vIHN1Y2ggZmlsZSBvciBkaXJlY3Rv cnkKY29uZmlndXJlOjU0ODk6ICQ/ID0gMQpjb25maWd1cmU6IGZhaWxlZCBwcm9n cmFtIHdhczoKfCAvKiBjb25mZGVmcy5oLiAgKi8KfCAKfCAjZGVmaW5lIFBBQ0tB R0VfTkFNRSAiIgp8ICNkZWZpbmUgUEFDS0FHRV9UQVJOQU1FICIiCnwgI2RlZmlu ZSBQQUNLQUdFX1ZFUlNJT04gIiIKfCAjZGVmaW5lIFBBQ0tBR0VfU1RSSU5HICIi CnwgI2RlZmluZSBQQUNLQUdFX0JVR1JFUE9SVCAiIgp8ICNkZWZpbmUgTUFJTF9V U0VfUE9QIDEKfCAjZGVmaW5lIF9HTlVfU09VUkNFIDEKfCAjZGVmaW5lIFNURENf SEVBREVSUyAxCnwgI2RlZmluZSBIQVZFX1NZU19UWVBFU19IIDEKfCAjZGVmaW5l IEhBVkVfU1lTX1NUQVRfSCAxCnwgI2RlZmluZSBIQVZFX1NURExJQl9IIDEKfCAj ZGVmaW5lIEhBVkVfU1RSSU5HX0ggMQp8ICNkZWZpbmUgSEFWRV9NRU1PUllfSCAx CnwgI2RlZmluZSBIQVZFX1NUUklOR1NfSCAxCnwgI2RlZmluZSBIQVZFX0lOVFRZ UEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERJTlRfSCAxCnwgI2RlZmluZSBIQVZF X1VOSVNURF9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NPVU5EQ0FSRF9IIDEKfCAv KiBlbmQgY29uZmRlZnMuaC4gICovCnwgI2luY2x1ZGUgPHNvdW5kY2FyZC5oPgpj b25maWd1cmU6NTUwOTogcmVzdWx0OiBubwpjb25maWd1cmU6NTU0NDogY2hlY2tp bmcgZm9yIHNvdW5kY2FyZC5oCmNvbmZpZ3VyZTo1NTUxOiByZXN1bHQ6IG5vCmNv bmZpZ3VyZTo1NTY1OiBjaGVja2luZyBmb3IgX29zc19pb2N0bCBpbiAtbG9zc2F1 ZGlvCmNvbmZpZ3VyZTo1NTk1OiBnY2MgLW8gY29uZnRlc3QuZXhlIC1nIC1PMiAg ICAgY29uZnRlc3QuYyAtbG9zc2F1ZGlvICAgPiY1ICAKL3Vzci9saWIvZ2NjLWxp Yi9pNjg2LXBjLWN5Z3dpbi8zLjMuMy8uLi8uLi8uLi8uLi9pNjg2LXBjLWN5Z3dp bi9iaW4vbGQ6IGNhbm5vdCBmaW5kIC1sb3NzYXVkaW8KY29sbGVjdDI6IGxkIHJl dHVybmVkIDEgZXhpdCBzdGF0dXMKY29uZmlndXJlOjU2MDE6ICQ/ID0gMQpjb25m aWd1cmU6IGZhaWxlZCBwcm9ncmFtIHdhczoKfCAvKiBjb25mZGVmcy5oLiAgKi8K fCAKfCAjZGVmaW5lIFBBQ0tBR0VfTkFNRSAiIgp8ICNkZWZpbmUgUEFDS0FHRV9U QVJOQU1FICIiCnwgI2RlZmluZSBQQUNLQUdFX1ZFUlNJT04gIiIKfCAjZGVmaW5l IFBBQ0tBR0VfU1RSSU5HICIiCnwgI2RlZmluZSBQQUNLQUdFX0JVR1JFUE9SVCAi Igp8ICNkZWZpbmUgTUFJTF9VU0VfUE9QIDEKfCAjZGVmaW5lIF9HTlVfU09VUkNF IDEKfCAjZGVmaW5lIFNURENfSEVBREVSUyAxCnwgI2RlZmluZSBIQVZFX1NZU19U WVBFU19IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NUQVRfSCAxCnwgI2RlZmluZSBI QVZFX1NURExJQl9IIDEKfCAjZGVmaW5lIEhBVkVfU1RSSU5HX0ggMQp8ICNkZWZp bmUgSEFWRV9NRU1PUllfSCAxCnwgI2RlZmluZSBIQVZFX1NUUklOR1NfSCAxCnwg I2RlZmluZSBIQVZFX0lOVFRZUEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERJTlRf SCAxCnwgI2RlZmluZSBIQVZFX1VOSVNURF9IIDEKfCAjZGVmaW5lIEhBVkVfU1lT X1NPVU5EQ0FSRF9IIDEKfCAvKiBlbmQgY29uZmRlZnMuaC4gICovCnwgCnwgLyog T3ZlcnJpZGUgYW55IGdjYzIgaW50ZXJuYWwgcHJvdG90eXBlIHRvIGF2b2lkIGFu IGVycm9yLiAgKi8KfCAjaWZkZWYgX19jcGx1c3BsdXMKfCBleHRlcm4gIkMiCnwg I2VuZGlmCnwgLyogV2UgdXNlIGNoYXIgYmVjYXVzZSBpbnQgbWlnaHQgbWF0Y2gg dGhlIHJldHVybiB0eXBlIG9mIGEgZ2NjMgp8ICAgIGJ1aWx0aW4gYW5kIHRoZW4g aXRzIGFyZ3VtZW50IHByb3RvdHlwZSB3b3VsZCBzdGlsbCBhcHBseS4gICovCnwg Y2hhciBfb3NzX2lvY3RsICgpOwp8IGludAp8IG1haW4gKCkKfCB7CnwgX29zc19p b2N0bCAoKTsKfCAgIDsKfCAgIHJldHVybiAwOwp8IH0KY29uZmlndXJlOjU2Mjc6 IHJlc3VsdDogbm8KY29uZmlndXJlOjU2NDg6IGNoZWNraW5nIGZvciBwa2ctY29u ZmlnCmNvbmZpZ3VyZTo1Njc5OiByZXN1bHQ6IG5vCmNvbmZpZ3VyZTo1NzkxOiBj aGVja2luZyBzeXMvc2VsZWN0LmggdXNhYmlsaXR5CmNvbmZpZ3VyZTo1ODAzOiBn Y2MgLWMgLWcgLU8yICAgIGNvbmZ0ZXN0LmMgPiY1CmNvbmZpZ3VyZTo1ODA5OiAk PyA9IDAKY29uZmlndXJlOjU4MTM6IHRlc3QgLXogCgkJCSB8fCB0ZXN0ICEgLXMg Y29uZnRlc3QuZXJyCmNvbmZpZ3VyZTo1ODE2OiAkPyA9IDAKY29uZmlndXJlOjU4 MTk6IHRlc3QgLXMgY29uZnRlc3Qubwpjb25maWd1cmU6NTgyMjogJD8gPSAwCmNv bmZpZ3VyZTo1ODMyOiByZXN1bHQ6IHllcwpjb25maWd1cmU6NTgzNjogY2hlY2tp bmcgc3lzL3NlbGVjdC5oIHByZXNlbmNlCmNvbmZpZ3VyZTo1ODQ2OiBnY2MgLUUg ICAgY29uZnRlc3QuYwpjb25maWd1cmU6NTg1MjogJD8gPSAwCmNvbmZpZ3VyZTo1 ODcyOiByZXN1bHQ6IHllcwpjb25maWd1cmU6NTkwNzogY2hlY2tpbmcgZm9yIHN5 cy9zZWxlY3QuaApjb25maWd1cmU6NTkxNDogcmVzdWx0OiB5ZXMKY29uZmlndXJl OjU3OTE6IGNoZWNraW5nIHN5cy90aW1lYi5oIHVzYWJpbGl0eQpjb25maWd1cmU6 NTgwMzogZ2NjIC1jIC1nIC1PMiAgICBjb25mdGVzdC5jID4mNQpjb25maWd1cmU6 NTgwOTogJD8gPSAwCmNvbmZpZ3VyZTo1ODEzOiB0ZXN0IC16IAoJCQkgfHwgdGVz dCAhIC1zIGNvbmZ0ZXN0LmVycgpjb25maWd1cmU6NTgxNjogJD8gPSAwCmNvbmZp Z3VyZTo1ODE5OiB0ZXN0IC1zIGNvbmZ0ZXN0Lm8KY29uZmlndXJlOjU4MjI6ICQ/ ID0gMApjb25maWd1cmU6NTgzMjogcmVzdWx0OiB5ZXMKY29uZmlndXJlOjU4MzY6 IGNoZWNraW5nIHN5cy90aW1lYi5oIHByZXNlbmNlCmNvbmZpZ3VyZTo1ODQ2OiBn Y2MgLUUgICAgY29uZnRlc3QuYwpjb25maWd1cmU6NTg1MjogJD8gPSAwCmNvbmZp Z3VyZTo1ODcyOiByZXN1bHQ6IHllcwpjb25maWd1cmU6NTkwNzogY2hlY2tpbmcg Zm9yIHN5cy90aW1lYi5oCmNvbmZpZ3VyZTo1OTE0OiByZXN1bHQ6IHllcwpjb25m aWd1cmU6NTc5MTogY2hlY2tpbmcgc3lzL3RpbWUuaCB1c2FiaWxpdHkKY29uZmln dXJlOjU4MDM6IGdjYyAtYyAtZyAtTzIgICAgY29uZnRlc3QuYyA+JjUKY29uZmln dXJlOjU4MDk6ICQ/ID0gMApjb25maWd1cmU6NTgxMzogdGVzdCAteiAKCQkJIHx8 IHRlc3QgISAtcyBjb25mdGVzdC5lcnIKY29uZmlndXJlOjU4MTY6ICQ/ID0gMApj b25maWd1cmU6NTgxOTogdGVzdCAtcyBjb25mdGVzdC5vCmNvbmZpZ3VyZTo1ODIy OiAkPyA9IDAKY29uZmlndXJlOjU4MzI6IHJlc3VsdDogeWVzCmNvbmZpZ3VyZTo1 ODM2OiBjaGVja2luZyBzeXMvdGltZS5oIHByZXNlbmNlCmNvbmZpZ3VyZTo1ODQ2 OiBnY2MgLUUgICAgY29uZnRlc3QuYwpjb25maWd1cmU6NTg1MjogJD8gPSAwCmNv bmZpZ3VyZTo1ODcyOiByZXN1bHQ6IHllcwpjb25maWd1cmU6NTkwNzogY2hlY2tp bmcgZm9yIHN5cy90aW1lLmgKY29uZmlndXJlOjU5MTQ6IHJlc3VsdDogeWVzCmNv bmZpZ3VyZTo1NzgyOiBjaGVja2luZyBmb3IgdW5pc3RkLmgKY29uZmlndXJlOjU3 ODc6IHJlc3VsdDogeWVzCmNvbmZpZ3VyZTo1NzkxOiBjaGVja2luZyB1dGltZS5o IHVzYWJpbGl0eQpjb25maWd1cmU6NTgwMzogZ2NjIC1jIC1nIC1PMiAgICBjb25m dGVzdC5jID4mNQpjb25maWd1cmU6NTgwOTogJD8gPSAwCmNvbmZpZ3VyZTo1ODEz OiB0ZXN0IC16IAoJCQkgfHwgdGVzdCAhIC1zIGNvbmZ0ZXN0LmVycgpjb25maWd1 cmU6NTgxNjogJD8gPSAwCmNvbmZpZ3VyZTo1ODE5OiB0ZXN0IC1zIGNvbmZ0ZXN0 Lm8KY29uZmlndXJlOjU4MjI6ICQ/ID0gMApjb25maWd1cmU6NTgzMjogcmVzdWx0 OiB5ZXMKY29uZmlndXJlOjU4MzY6IGNoZWNraW5nIHV0aW1lLmggcHJlc2VuY2UK Y29uZmlndXJlOjU4NDY6IGdjYyAtRSAgICBjb25mdGVzdC5jCmNvbmZpZ3VyZTo1 ODUyOiAkPyA9IDAKY29uZmlndXJlOjU4NzI6IHJlc3VsdDogeWVzCmNvbmZpZ3Vy ZTo1OTA3OiBjaGVja2luZyBmb3IgdXRpbWUuaApjb25maWd1cmU6NTkxNDogcmVz dWx0OiB5ZXMKY29uZmlndXJlOjU3OTE6IGNoZWNraW5nIGxpbnV4L3ZlcnNpb24u aCB1c2FiaWxpdHkKY29uZmlndXJlOjU4MDM6IGdjYyAtYyAtZyAtTzIgICAgY29u ZnRlc3QuYyA+JjUKY29uZnRlc3QuYzo2MToyNzogbGludXgvdmVyc2lvbi5oOiBO byBzdWNoIGZpbGUgb3IgZGlyZWN0b3J5CmNvbmZpZ3VyZTo1ODA5OiAkPyA9IDEK Y29uZmlndXJlOiBmYWlsZWQgcHJvZ3JhbSB3YXM6CnwgLyogY29uZmRlZnMuaC4g ICovCnwgCnwgI2RlZmluZSBQQUNLQUdFX05BTUUgIiIKfCAjZGVmaW5lIFBBQ0tB R0VfVEFSTkFNRSAiIgp8ICNkZWZpbmUgUEFDS0FHRV9WRVJTSU9OICIiCnwgI2Rl ZmluZSBQQUNLQUdFX1NUUklORyAiIgp8ICNkZWZpbmUgUEFDS0FHRV9CVUdSRVBP UlQgIiIKfCAjZGVmaW5lIE1BSUxfVVNFX1BPUCAxCnwgI2RlZmluZSBfR05VX1NP VVJDRSAxCnwgI2RlZmluZSBTVERDX0hFQURFUlMgMQp8ICNkZWZpbmUgSEFWRV9T WVNfVFlQRVNfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19TVEFUX0ggMQp8ICNkZWZp bmUgSEFWRV9TVERMSUJfSCAxCnwgI2RlZmluZSBIQVZFX1NUUklOR19IIDEKfCAj ZGVmaW5lIEhBVkVfTUVNT1JZX0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJJTkdTX0gg MQp8ICNkZWZpbmUgSEFWRV9JTlRUWVBFU19IIDEKfCAjZGVmaW5lIEhBVkVfU1RE SU5UX0ggMQp8ICNkZWZpbmUgSEFWRV9VTklTVERfSCAxCnwgI2RlZmluZSBIQVZF X1NZU19TT1VORENBUkRfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19TRUxFQ1RfSCAx CnwgI2RlZmluZSBIQVZFX1NZU19USU1FQl9IIDEKfCAjZGVmaW5lIEhBVkVfU1lT X1RJTUVfSCAxCnwgI2RlZmluZSBIQVZFX1VOSVNURF9IIDEKfCAjZGVmaW5lIEhB VkVfVVRJTUVfSCAxCnwgLyogZW5kIGNvbmZkZWZzLmguICAqLwp8ICNpbmNsdWRl IDxzdGRpby5oPgp8ICNpZiBIQVZFX1NZU19UWVBFU19ICnwgIyBpbmNsdWRlIDxz eXMvdHlwZXMuaD4KfCAjZW5kaWYKfCAjaWYgSEFWRV9TWVNfU1RBVF9ICnwgIyBp bmNsdWRlIDxzeXMvc3RhdC5oPgp8ICNlbmRpZgp8ICNpZiBTVERDX0hFQURFUlMK fCAjIGluY2x1ZGUgPHN0ZGxpYi5oPgp8ICMgaW5jbHVkZSA8c3RkZGVmLmg+Cnwg I2Vsc2UKfCAjIGlmIEhBVkVfU1RETElCX0gKfCAjICBpbmNsdWRlIDxzdGRsaWIu aD4KfCAjIGVuZGlmCnwgI2VuZGlmCnwgI2lmIEhBVkVfU1RSSU5HX0gKfCAjIGlm ICFTVERDX0hFQURFUlMgJiYgSEFWRV9NRU1PUllfSAp8ICMgIGluY2x1ZGUgPG1l bW9yeS5oPgp8ICMgZW5kaWYKfCAjIGluY2x1ZGUgPHN0cmluZy5oPgp8ICNlbmRp Zgp8ICNpZiBIQVZFX1NUUklOR1NfSAp8ICMgaW5jbHVkZSA8c3RyaW5ncy5oPgp8 ICNlbmRpZgp8ICNpZiBIQVZFX0lOVFRZUEVTX0gKfCAjIGluY2x1ZGUgPGludHR5 cGVzLmg+CnwgI2Vsc2UKfCAjIGlmIEhBVkVfU1RESU5UX0gKfCAjICBpbmNsdWRl IDxzdGRpbnQuaD4KfCAjIGVuZGlmCnwgI2VuZGlmCnwgI2lmIEhBVkVfVU5JU1RE X0gKfCAjIGluY2x1ZGUgPHVuaXN0ZC5oPgp8ICNlbmRpZgp8ICNpbmNsdWRlIDxs aW51eC92ZXJzaW9uLmg+CmNvbmZpZ3VyZTo1ODMyOiByZXN1bHQ6IG5vCmNvbmZp Z3VyZTo1ODM2OiBjaGVja2luZyBsaW51eC92ZXJzaW9uLmggcHJlc2VuY2UKY29u ZmlndXJlOjU4NDY6IGdjYyAtRSAgICBjb25mdGVzdC5jCmNvbmZ0ZXN0LmM6Mjc6 Mjc6IGxpbnV4L3ZlcnNpb24uaDogTm8gc3VjaCBmaWxlIG9yIGRpcmVjdG9yeQpj b25maWd1cmU6NTg1MjogJD8gPSAxCmNvbmZpZ3VyZTogZmFpbGVkIHByb2dyYW0g d2FzOgp8IC8qIGNvbmZkZWZzLmguICAqLwp8IAp8ICNkZWZpbmUgUEFDS0FHRV9O QU1FICIiCnwgI2RlZmluZSBQQUNLQUdFX1RBUk5BTUUgIiIKfCAjZGVmaW5lIFBB Q0tBR0VfVkVSU0lPTiAiIgp8ICNkZWZpbmUgUEFDS0FHRV9TVFJJTkcgIiIKfCAj ZGVmaW5lIFBBQ0tBR0VfQlVHUkVQT1JUICIiCnwgI2RlZmluZSBNQUlMX1VTRV9Q T1AgMQp8ICNkZWZpbmUgX0dOVV9TT1VSQ0UgMQp8ICNkZWZpbmUgU1REQ19IRUFE RVJTIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1RZUEVTX0ggMQp8ICNkZWZpbmUgSEFW RV9TWVNfU1RBVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1RETElCX0ggMQp8ICNkZWZp bmUgSEFWRV9TVFJJTkdfSCAxCnwgI2RlZmluZSBIQVZFX01FTU9SWV9IIDEKfCAj ZGVmaW5lIEhBVkVfU1RSSU5HU19IIDEKfCAjZGVmaW5lIEhBVkVfSU5UVFlQRVNf SCAxCnwgI2RlZmluZSBIQVZFX1NURElOVF9IIDEKfCAjZGVmaW5lIEhBVkVfVU5J U1REX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfU09VTkRDQVJEX0ggMQp8ICNkZWZp bmUgSEFWRV9TWVNfU0VMRUNUX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfVElNRUJf SCAxCnwgI2RlZmluZSBIQVZFX1NZU19USU1FX0ggMQp8ICNkZWZpbmUgSEFWRV9V TklTVERfSCAxCnwgI2RlZmluZSBIQVZFX1VUSU1FX0ggMQp8IC8qIGVuZCBjb25m ZGVmcy5oLiAgKi8KfCAjaW5jbHVkZSA8bGludXgvdmVyc2lvbi5oPgpjb25maWd1 cmU6NTg3MjogcmVzdWx0OiBubwpjb25maWd1cmU6NTkwNzogY2hlY2tpbmcgZm9y IGxpbnV4L3ZlcnNpb24uaApjb25maWd1cmU6NTkxNDogcmVzdWx0OiBubwpjb25m aWd1cmU6NTc5MTogY2hlY2tpbmcgc3lzL3N5c3RlbWluZm8uaCB1c2FiaWxpdHkK Y29uZmlndXJlOjU4MDM6IGdjYyAtYyAtZyAtTzIgICAgY29uZnRlc3QuYyA+JjUK Y29uZnRlc3QuYzo2MToyODogc3lzL3N5c3RlbWluZm8uaDogTm8gc3VjaCBmaWxl IG9yIGRpcmVjdG9yeQpjb25maWd1cmU6NTgwOTogJD8gPSAxCmNvbmZpZ3VyZTog ZmFpbGVkIHByb2dyYW0gd2FzOgp8IC8qIGNvbmZkZWZzLmguICAqLwp8IAp8ICNk ZWZpbmUgUEFDS0FHRV9OQU1FICIiCnwgI2RlZmluZSBQQUNLQUdFX1RBUk5BTUUg IiIKfCAjZGVmaW5lIFBBQ0tBR0VfVkVSU0lPTiAiIgp8ICNkZWZpbmUgUEFDS0FH RV9TVFJJTkcgIiIKfCAjZGVmaW5lIFBBQ0tBR0VfQlVHUkVQT1JUICIiCnwgI2Rl ZmluZSBNQUlMX1VTRV9QT1AgMQp8ICNkZWZpbmUgX0dOVV9TT1VSQ0UgMQp8ICNk ZWZpbmUgU1REQ19IRUFERVJTIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1RZUEVTX0gg MQp8ICNkZWZpbmUgSEFWRV9TWVNfU1RBVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1RE TElCX0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJJTkdfSCAxCnwgI2RlZmluZSBIQVZF X01FTU9SWV9IIDEKfCAjZGVmaW5lIEhBVkVfU1RSSU5HU19IIDEKfCAjZGVmaW5l IEhBVkVfSU5UVFlQRVNfSCAxCnwgI2RlZmluZSBIQVZFX1NURElOVF9IIDEKfCAj ZGVmaW5lIEhBVkVfVU5JU1REX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfU09VTkRD QVJEX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfU0VMRUNUX0ggMQp8ICNkZWZpbmUg SEFWRV9TWVNfVElNRUJfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19USU1FX0ggMQp8 ICNkZWZpbmUgSEFWRV9VTklTVERfSCAxCnwgI2RlZmluZSBIQVZFX1VUSU1FX0gg MQp8IC8qIGVuZCBjb25mZGVmcy5oLiAgKi8KfCAjaW5jbHVkZSA8c3RkaW8uaD4K fCAjaWYgSEFWRV9TWVNfVFlQRVNfSAp8ICMgaW5jbHVkZSA8c3lzL3R5cGVzLmg+ CnwgI2VuZGlmCnwgI2lmIEhBVkVfU1lTX1NUQVRfSAp8ICMgaW5jbHVkZSA8c3lz L3N0YXQuaD4KfCAjZW5kaWYKfCAjaWYgU1REQ19IRUFERVJTCnwgIyBpbmNsdWRl IDxzdGRsaWIuaD4KfCAjIGluY2x1ZGUgPHN0ZGRlZi5oPgp8ICNlbHNlCnwgIyBp ZiBIQVZFX1NURExJQl9ICnwgIyAgaW5jbHVkZSA8c3RkbGliLmg+CnwgIyBlbmRp Zgp8ICNlbmRpZgp8ICNpZiBIQVZFX1NUUklOR19ICnwgIyBpZiAhU1REQ19IRUFE RVJTICYmIEhBVkVfTUVNT1JZX0gKfCAjICBpbmNsdWRlIDxtZW1vcnkuaD4KfCAj IGVuZGlmCnwgIyBpbmNsdWRlIDxzdHJpbmcuaD4KfCAjZW5kaWYKfCAjaWYgSEFW RV9TVFJJTkdTX0gKfCAjIGluY2x1ZGUgPHN0cmluZ3MuaD4KfCAjZW5kaWYKfCAj aWYgSEFWRV9JTlRUWVBFU19ICnwgIyBpbmNsdWRlIDxpbnR0eXBlcy5oPgp8ICNl bHNlCnwgIyBpZiBIQVZFX1NURElOVF9ICnwgIyAgaW5jbHVkZSA8c3RkaW50Lmg+ CnwgIyBlbmRpZgp8ICNlbmRpZgp8ICNpZiBIQVZFX1VOSVNURF9ICnwgIyBpbmNs dWRlIDx1bmlzdGQuaD4KfCAjZW5kaWYKfCAjaW5jbHVkZSA8c3lzL3N5c3RlbWlu Zm8uaD4KY29uZmlndXJlOjU4MzI6IHJlc3VsdDogbm8KY29uZmlndXJlOjU4MzY6 IGNoZWNraW5nIHN5cy9zeXN0ZW1pbmZvLmggcHJlc2VuY2UKY29uZmlndXJlOjU4 NDY6IGdjYyAtRSAgICBjb25mdGVzdC5jCmNvbmZ0ZXN0LmM6Mjc6Mjg6IHN5cy9z eXN0ZW1pbmZvLmg6IE5vIHN1Y2ggZmlsZSBvciBkaXJlY3RvcnkKY29uZmlndXJl OjU4NTI6ICQ/ID0gMQpjb25maWd1cmU6IGZhaWxlZCBwcm9ncmFtIHdhczoKfCAv KiBjb25mZGVmcy5oLiAgKi8KfCAKfCAjZGVmaW5lIFBBQ0tBR0VfTkFNRSAiIgp8 ICNkZWZpbmUgUEFDS0FHRV9UQVJOQU1FICIiCnwgI2RlZmluZSBQQUNLQUdFX1ZF UlNJT04gIiIKfCAjZGVmaW5lIFBBQ0tBR0VfU1RSSU5HICIiCnwgI2RlZmluZSBQ QUNLQUdFX0JVR1JFUE9SVCAiIgp8ICNkZWZpbmUgTUFJTF9VU0VfUE9QIDEKfCAj ZGVmaW5lIF9HTlVfU09VUkNFIDEKfCAjZGVmaW5lIFNURENfSEVBREVSUyAxCnwg I2RlZmluZSBIQVZFX1NZU19UWVBFU19IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NU QVRfSCAxCnwgI2RlZmluZSBIQVZFX1NURExJQl9IIDEKfCAjZGVmaW5lIEhBVkVf U1RSSU5HX0ggMQp8ICNkZWZpbmUgSEFWRV9NRU1PUllfSCAxCnwgI2RlZmluZSBI QVZFX1NUUklOR1NfSCAxCnwgI2RlZmluZSBIQVZFX0lOVFRZUEVTX0ggMQp8ICNk ZWZpbmUgSEFWRV9TVERJTlRfSCAxCnwgI2RlZmluZSBIQVZFX1VOSVNURF9IIDEK fCAjZGVmaW5lIEhBVkVfU1lTX1NPVU5EQ0FSRF9IIDEKfCAjZGVmaW5lIEhBVkVf U1lTX1NFTEVDVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1RJTUVCX0ggMQp8ICNk ZWZpbmUgSEFWRV9TWVNfVElNRV9IIDEKfCAjZGVmaW5lIEhBVkVfVU5JU1REX0gg MQp8ICNkZWZpbmUgSEFWRV9VVElNRV9IIDEKfCAvKiBlbmQgY29uZmRlZnMuaC4g ICovCnwgI2luY2x1ZGUgPHN5cy9zeXN0ZW1pbmZvLmg+CmNvbmZpZ3VyZTo1ODcy OiByZXN1bHQ6IG5vCmNvbmZpZ3VyZTo1OTA3OiBjaGVja2luZyBmb3Igc3lzL3N5 c3RlbWluZm8uaApjb25maWd1cmU6NTkxNDogcmVzdWx0OiBubwpjb25maWd1cmU6 NTc5MTogY2hlY2tpbmcgdGVybWlvcy5oIHVzYWJpbGl0eQpjb25maWd1cmU6NTgw MzogZ2NjIC1jIC1nIC1PMiAgICBjb25mdGVzdC5jID4mNQpjb25maWd1cmU6NTgw OTogJD8gPSAwCmNvbmZpZ3VyZTo1ODEzOiB0ZXN0IC16IAoJCQkgfHwgdGVzdCAh IC1zIGNvbmZ0ZXN0LmVycgpjb25maWd1cmU6NTgxNjogJD8gPSAwCmNvbmZpZ3Vy ZTo1ODE5OiB0ZXN0IC1zIGNvbmZ0ZXN0Lm8KY29uZmlndXJlOjU4MjI6ICQ/ID0g MApjb25maWd1cmU6NTgzMjogcmVzdWx0OiB5ZXMKY29uZmlndXJlOjU4MzY6IGNo ZWNraW5nIHRlcm1pb3MuaCBwcmVzZW5jZQpjb25maWd1cmU6NTg0NjogZ2NjIC1F ICAgIGNvbmZ0ZXN0LmMKY29uZmlndXJlOjU4NTI6ICQ/ID0gMApjb25maWd1cmU6 NTg3MjogcmVzdWx0OiB5ZXMKY29uZmlndXJlOjU5MDc6IGNoZWNraW5nIGZvciB0 ZXJtaW9zLmgKY29uZmlndXJlOjU5MTQ6IHJlc3VsdDogeWVzCmNvbmZpZ3VyZTo1 NzkxOiBjaGVja2luZyBsaW1pdHMuaCB1c2FiaWxpdHkKY29uZmlndXJlOjU4MDM6 IGdjYyAtYyAtZyAtTzIgICAgY29uZnRlc3QuYyA+JjUKY29uZmlndXJlOjU4MDk6 ICQ/ID0gMApjb25maWd1cmU6NTgxMzogdGVzdCAteiAKCQkJIHx8IHRlc3QgISAt cyBjb25mdGVzdC5lcnIKY29uZmlndXJlOjU4MTY6ICQ/ID0gMApjb25maWd1cmU6 NTgxOTogdGVzdCAtcyBjb25mdGVzdC5vCmNvbmZpZ3VyZTo1ODIyOiAkPyA9IDAK Y29uZmlndXJlOjU4MzI6IHJlc3VsdDogeWVzCmNvbmZpZ3VyZTo1ODM2OiBjaGVj a2luZyBsaW1pdHMuaCBwcmVzZW5jZQpjb25maWd1cmU6NTg0NjogZ2NjIC1FICAg IGNvbmZ0ZXN0LmMKY29uZmlndXJlOjU4NTI6ICQ/ID0gMApjb25maWd1cmU6NTg3 MjogcmVzdWx0OiB5ZXMKY29uZmlndXJlOjU5MDc6IGNoZWNraW5nIGZvciBsaW1p dHMuaApjb25maWd1cmU6NTkxNDogcmVzdWx0OiB5ZXMKY29uZmlndXJlOjU3ODI6 IGNoZWNraW5nIGZvciBzdHJpbmcuaApjb25maWd1cmU6NTc4NzogcmVzdWx0OiB5 ZXMKY29uZmlndXJlOjU3ODI6IGNoZWNraW5nIGZvciBzdGRsaWIuaApjb25maWd1 cmU6NTc4NzogcmVzdWx0OiB5ZXMKY29uZmlndXJlOjU3OTE6IGNoZWNraW5nIHRl cm1jYXAuaCB1c2FiaWxpdHkKY29uZmlndXJlOjU4MDM6IGdjYyAtYyAtZyAtTzIg ICAgY29uZnRlc3QuYyA+JjUKY29uZmlndXJlOjU4MDk6ICQ/ID0gMApjb25maWd1 cmU6NTgxMzogdGVzdCAteiAKCQkJIHx8IHRlc3QgISAtcyBjb25mdGVzdC5lcnIK Y29uZmlndXJlOjU4MTY6ICQ/ID0gMApjb25maWd1cmU6NTgxOTogdGVzdCAtcyBj b25mdGVzdC5vCmNvbmZpZ3VyZTo1ODIyOiAkPyA9IDAKY29uZmlndXJlOjU4MzI6 IHJlc3VsdDogeWVzCmNvbmZpZ3VyZTo1ODM2OiBjaGVja2luZyB0ZXJtY2FwLmgg cHJlc2VuY2UKY29uZmlndXJlOjU4NDY6IGdjYyAtRSAgICBjb25mdGVzdC5jCmNv bmZpZ3VyZTo1ODUyOiAkPyA9IDAKY29uZmlndXJlOjU4NzI6IHJlc3VsdDogeWVz CmNvbmZpZ3VyZTo1OTA3OiBjaGVja2luZyBmb3IgdGVybWNhcC5oCmNvbmZpZ3Vy ZTo1OTE0OiByZXN1bHQ6IHllcwpjb25maWd1cmU6NTc5MTogY2hlY2tpbmcgc3Rk aW9fZXh0LmggdXNhYmlsaXR5CmNvbmZpZ3VyZTo1ODAzOiBnY2MgLWMgLWcgLU8y ICAgIGNvbmZ0ZXN0LmMgPiY1CmNvbmZ0ZXN0LmM6NjY6MjM6IHN0ZGlvX2V4dC5o OiBObyBzdWNoIGZpbGUgb3IgZGlyZWN0b3J5CmNvbmZpZ3VyZTo1ODA5OiAkPyA9 IDEKY29uZmlndXJlOiBmYWlsZWQgcHJvZ3JhbSB3YXM6CnwgLyogY29uZmRlZnMu aC4gICovCnwgCnwgI2RlZmluZSBQQUNLQUdFX05BTUUgIiIKfCAjZGVmaW5lIFBB Q0tBR0VfVEFSTkFNRSAiIgp8ICNkZWZpbmUgUEFDS0FHRV9WRVJTSU9OICIiCnwg I2RlZmluZSBQQUNLQUdFX1NUUklORyAiIgp8ICNkZWZpbmUgUEFDS0FHRV9CVUdS RVBPUlQgIiIKfCAjZGVmaW5lIE1BSUxfVVNFX1BPUCAxCnwgI2RlZmluZSBfR05V X1NPVVJDRSAxCnwgI2RlZmluZSBTVERDX0hFQURFUlMgMQp8ICNkZWZpbmUgSEFW RV9TWVNfVFlQRVNfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19TVEFUX0ggMQp8ICNk ZWZpbmUgSEFWRV9TVERMSUJfSCAxCnwgI2RlZmluZSBIQVZFX1NUUklOR19IIDEK fCAjZGVmaW5lIEhBVkVfTUVNT1JZX0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJJTkdT X0ggMQp8ICNkZWZpbmUgSEFWRV9JTlRUWVBFU19IIDEKfCAjZGVmaW5lIEhBVkVf U1RESU5UX0ggMQp8ICNkZWZpbmUgSEFWRV9VTklTVERfSCAxCnwgI2RlZmluZSBI QVZFX1NZU19TT1VORENBUkRfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19TRUxFQ1Rf SCAxCnwgI2RlZmluZSBIQVZFX1NZU19USU1FQl9IIDEKfCAjZGVmaW5lIEhBVkVf U1lTX1RJTUVfSCAxCnwgI2RlZmluZSBIQVZFX1VOSVNURF9IIDEKfCAjZGVmaW5l IEhBVkVfVVRJTUVfSCAxCnwgI2RlZmluZSBIQVZFX1RFUk1JT1NfSCAxCnwgI2Rl ZmluZSBIQVZFX0xJTUlUU19IIDEKfCAjZGVmaW5lIEhBVkVfU1RSSU5HX0ggMQp8 ICNkZWZpbmUgSEFWRV9TVERMSUJfSCAxCnwgI2RlZmluZSBIQVZFX1RFUk1DQVBf SCAxCnwgLyogZW5kIGNvbmZkZWZzLmguICAqLwp8ICNpbmNsdWRlIDxzdGRpby5o Pgp8ICNpZiBIQVZFX1NZU19UWVBFU19ICnwgIyBpbmNsdWRlIDxzeXMvdHlwZXMu aD4KfCAjZW5kaWYKfCAjaWYgSEFWRV9TWVNfU1RBVF9ICnwgIyBpbmNsdWRlIDxz eXMvc3RhdC5oPgp8ICNlbmRpZgp8ICNpZiBTVERDX0hFQURFUlMKfCAjIGluY2x1 ZGUgPHN0ZGxpYi5oPgp8ICMgaW5jbHVkZSA8c3RkZGVmLmg+CnwgI2Vsc2UKfCAj IGlmIEhBVkVfU1RETElCX0gKfCAjICBpbmNsdWRlIDxzdGRsaWIuaD4KfCAjIGVu ZGlmCnwgI2VuZGlmCnwgI2lmIEhBVkVfU1RSSU5HX0gKfCAjIGlmICFTVERDX0hF QURFUlMgJiYgSEFWRV9NRU1PUllfSAp8ICMgIGluY2x1ZGUgPG1lbW9yeS5oPgp8 ICMgZW5kaWYKfCAjIGluY2x1ZGUgPHN0cmluZy5oPgp8ICNlbmRpZgp8ICNpZiBI QVZFX1NUUklOR1NfSAp8ICMgaW5jbHVkZSA8c3RyaW5ncy5oPgp8ICNlbmRpZgp8 ICNpZiBIQVZFX0lOVFRZUEVTX0gKfCAjIGluY2x1ZGUgPGludHR5cGVzLmg+Cnwg I2Vsc2UKfCAjIGlmIEhBVkVfU1RESU5UX0gKfCAjICBpbmNsdWRlIDxzdGRpbnQu aD4KfCAjIGVuZGlmCnwgI2VuZGlmCnwgI2lmIEhBVkVfVU5JU1REX0gKfCAjIGlu Y2x1ZGUgPHVuaXN0ZC5oPgp8ICNlbmRpZgp8ICNpbmNsdWRlIDxzdGRpb19leHQu aD4KY29uZmlndXJlOjU4MzI6IHJlc3VsdDogbm8KY29uZmlndXJlOjU4MzY6IGNo ZWNraW5nIHN0ZGlvX2V4dC5oIHByZXNlbmNlCmNvbmZpZ3VyZTo1ODQ2OiBnY2Mg LUUgICAgY29uZnRlc3QuYwpjb25mdGVzdC5jOjMyOjIzOiBzdGRpb19leHQuaDog Tm8gc3VjaCBmaWxlIG9yIGRpcmVjdG9yeQpjb25maWd1cmU6NTg1MjogJD8gPSAx CmNvbmZpZ3VyZTogZmFpbGVkIHByb2dyYW0gd2FzOgp8IC8qIGNvbmZkZWZzLmgu ICAqLwp8IAp8ICNkZWZpbmUgUEFDS0FHRV9OQU1FICIiCnwgI2RlZmluZSBQQUNL QUdFX1RBUk5BTUUgIiIKfCAjZGVmaW5lIFBBQ0tBR0VfVkVSU0lPTiAiIgp8ICNk ZWZpbmUgUEFDS0FHRV9TVFJJTkcgIiIKfCAjZGVmaW5lIFBBQ0tBR0VfQlVHUkVQ T1JUICIiCnwgI2RlZmluZSBNQUlMX1VTRV9QT1AgMQp8ICNkZWZpbmUgX0dOVV9T T1VSQ0UgMQp8ICNkZWZpbmUgU1REQ19IRUFERVJTIDEKfCAjZGVmaW5lIEhBVkVf U1lTX1RZUEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfU1RBVF9IIDEKfCAjZGVm aW5lIEhBVkVfU1RETElCX0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJJTkdfSCAxCnwg I2RlZmluZSBIQVZFX01FTU9SWV9IIDEKfCAjZGVmaW5lIEhBVkVfU1RSSU5HU19I IDEKfCAjZGVmaW5lIEhBVkVfSU5UVFlQRVNfSCAxCnwgI2RlZmluZSBIQVZFX1NU RElOVF9IIDEKfCAjZGVmaW5lIEhBVkVfVU5JU1REX0ggMQp8ICNkZWZpbmUgSEFW RV9TWVNfU09VTkRDQVJEX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfU0VMRUNUX0gg MQp8ICNkZWZpbmUgSEFWRV9TWVNfVElNRUJfSCAxCnwgI2RlZmluZSBIQVZFX1NZ U19USU1FX0ggMQp8ICNkZWZpbmUgSEFWRV9VTklTVERfSCAxCnwgI2RlZmluZSBI QVZFX1VUSU1FX0ggMQp8ICNkZWZpbmUgSEFWRV9URVJNSU9TX0ggMQp8ICNkZWZp bmUgSEFWRV9MSU1JVFNfSCAxCnwgI2RlZmluZSBIQVZFX1NUUklOR19IIDEKfCAj ZGVmaW5lIEhBVkVfU1RETElCX0ggMQp8ICNkZWZpbmUgSEFWRV9URVJNQ0FQX0gg MQp8IC8qIGVuZCBjb25mZGVmcy5oLiAgKi8KfCAjaW5jbHVkZSA8c3RkaW9fZXh0 Lmg+CmNvbmZpZ3VyZTo1ODcyOiByZXN1bHQ6IG5vCmNvbmZpZ3VyZTo1OTA3OiBj aGVja2luZyBmb3Igc3RkaW9fZXh0LmgKY29uZmlndXJlOjU5MTQ6IHJlc3VsdDog bm8KY29uZmlndXJlOjU3OTE6IGNoZWNraW5nIGZjbnRsLmggdXNhYmlsaXR5CmNv bmZpZ3VyZTo1ODAzOiBnY2MgLWMgLWcgLU8yICAgIGNvbmZ0ZXN0LmMgPiY1CmNv bmZpZ3VyZTo1ODA5OiAkPyA9IDAKY29uZmlndXJlOjU4MTM6IHRlc3QgLXogCgkJ CSB8fCB0ZXN0ICEgLXMgY29uZnRlc3QuZXJyCmNvbmZpZ3VyZTo1ODE2OiAkPyA9 IDAKY29uZmlndXJlOjU4MTk6IHRlc3QgLXMgY29uZnRlc3Qubwpjb25maWd1cmU6 NTgyMjogJD8gPSAwCmNvbmZpZ3VyZTo1ODMyOiByZXN1bHQ6IHllcwpjb25maWd1 cmU6NTgzNjogY2hlY2tpbmcgZmNudGwuaCBwcmVzZW5jZQpjb25maWd1cmU6NTg0 NjogZ2NjIC1FICAgIGNvbmZ0ZXN0LmMKY29uZmlndXJlOjU4NTI6ICQ/ID0gMApj b25maWd1cmU6NTg3MjogcmVzdWx0OiB5ZXMKY29uZmlndXJlOjU5MDc6IGNoZWNr aW5nIGZvciBmY250bC5oCmNvbmZpZ3VyZTo1OTE0OiByZXN1bHQ6IHllcwpjb25m aWd1cmU6NTc4MjogY2hlY2tpbmcgZm9yIHN0cmluZ3MuaApjb25maWd1cmU6NTc4 NzogcmVzdWx0OiB5ZXMKY29uZmlndXJlOjU3OTE6IGNoZWNraW5nIGNvZmYuaCB1 c2FiaWxpdHkKY29uZmlndXJlOjU4MDM6IGdjYyAtYyAtZyAtTzIgICAgY29uZnRl c3QuYyA+JjUKY29uZnRlc3QuYzo2ODoxODogY29mZi5oOiBObyBzdWNoIGZpbGUg b3IgZGlyZWN0b3J5CmNvbmZpZ3VyZTo1ODA5OiAkPyA9IDEKY29uZmlndXJlOiBm YWlsZWQgcHJvZ3JhbSB3YXM6CnwgLyogY29uZmRlZnMuaC4gICovCnwgCnwgI2Rl ZmluZSBQQUNLQUdFX05BTUUgIiIKfCAjZGVmaW5lIFBBQ0tBR0VfVEFSTkFNRSAi Igp8ICNkZWZpbmUgUEFDS0FHRV9WRVJTSU9OICIiCnwgI2RlZmluZSBQQUNLQUdF X1NUUklORyAiIgp8ICNkZWZpbmUgUEFDS0FHRV9CVUdSRVBPUlQgIiIKfCAjZGVm aW5lIE1BSUxfVVNFX1BPUCAxCnwgI2RlZmluZSBfR05VX1NPVVJDRSAxCnwgI2Rl ZmluZSBTVERDX0hFQURFUlMgMQp8ICNkZWZpbmUgSEFWRV9TWVNfVFlQRVNfSCAx CnwgI2RlZmluZSBIQVZFX1NZU19TVEFUX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERM SUJfSCAxCnwgI2RlZmluZSBIQVZFX1NUUklOR19IIDEKfCAjZGVmaW5lIEhBVkVf TUVNT1JZX0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJJTkdTX0ggMQp8ICNkZWZpbmUg SEFWRV9JTlRUWVBFU19IIDEKfCAjZGVmaW5lIEhBVkVfU1RESU5UX0ggMQp8ICNk ZWZpbmUgSEFWRV9VTklTVERfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19TT1VORENB UkRfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19TRUxFQ1RfSCAxCnwgI2RlZmluZSBI QVZFX1NZU19USU1FQl9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1RJTUVfSCAxCnwg I2RlZmluZSBIQVZFX1VOSVNURF9IIDEKfCAjZGVmaW5lIEhBVkVfVVRJTUVfSCAx CnwgI2RlZmluZSBIQVZFX1RFUk1JT1NfSCAxCnwgI2RlZmluZSBIQVZFX0xJTUlU U19IIDEKfCAjZGVmaW5lIEhBVkVfU1RSSU5HX0ggMQp8ICNkZWZpbmUgSEFWRV9T VERMSUJfSCAxCnwgI2RlZmluZSBIQVZFX1RFUk1DQVBfSCAxCnwgI2RlZmluZSBI QVZFX0ZDTlRMX0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJJTkdTX0ggMQp8IC8qIGVu ZCBjb25mZGVmcy5oLiAgKi8KfCAjaW5jbHVkZSA8c3RkaW8uaD4KfCAjaWYgSEFW RV9TWVNfVFlQRVNfSAp8ICMgaW5jbHVkZSA8c3lzL3R5cGVzLmg+CnwgI2VuZGlm CnwgI2lmIEhBVkVfU1lTX1NUQVRfSAp8ICMgaW5jbHVkZSA8c3lzL3N0YXQuaD4K fCAjZW5kaWYKfCAjaWYgU1REQ19IRUFERVJTCnwgIyBpbmNsdWRlIDxzdGRsaWIu aD4KfCAjIGluY2x1ZGUgPHN0ZGRlZi5oPgp8ICNlbHNlCnwgIyBpZiBIQVZFX1NU RExJQl9ICnwgIyAgaW5jbHVkZSA8c3RkbGliLmg+CnwgIyBlbmRpZgp8ICNlbmRp Zgp8ICNpZiBIQVZFX1NUUklOR19ICnwgIyBpZiAhU1REQ19IRUFERVJTICYmIEhB VkVfTUVNT1JZX0gKfCAjICBpbmNsdWRlIDxtZW1vcnkuaD4KfCAjIGVuZGlmCnwg IyBpbmNsdWRlIDxzdHJpbmcuaD4KfCAjZW5kaWYKfCAjaWYgSEFWRV9TVFJJTkdT X0gKfCAjIGluY2x1ZGUgPHN0cmluZ3MuaD4KfCAjZW5kaWYKfCAjaWYgSEFWRV9J TlRUWVBFU19ICnwgIyBpbmNsdWRlIDxpbnR0eXBlcy5oPgp8ICNlbHNlCnwgIyBp ZiBIQVZFX1NURElOVF9ICnwgIyAgaW5jbHVkZSA8c3RkaW50Lmg+CnwgIyBlbmRp Zgp8ICNlbmRpZgp8ICNpZiBIQVZFX1VOSVNURF9ICnwgIyBpbmNsdWRlIDx1bmlz dGQuaD4KfCAjZW5kaWYKfCAjaW5jbHVkZSA8Y29mZi5oPgpjb25maWd1cmU6NTgz MjogcmVzdWx0OiBubwpjb25maWd1cmU6NTgzNjogY2hlY2tpbmcgY29mZi5oIHBy ZXNlbmNlCmNvbmZpZ3VyZTo1ODQ2OiBnY2MgLUUgICAgY29uZnRlc3QuYwpjb25m dGVzdC5jOjM0OjE4OiBjb2ZmLmg6IE5vIHN1Y2ggZmlsZSBvciBkaXJlY3RvcnkK Y29uZmlndXJlOjU4NTI6ICQ/ID0gMQpjb25maWd1cmU6IGZhaWxlZCBwcm9ncmFt IHdhczoKfCAvKiBjb25mZGVmcy5oLiAgKi8KfCAKfCAjZGVmaW5lIFBBQ0tBR0Vf TkFNRSAiIgp8ICNkZWZpbmUgUEFDS0FHRV9UQVJOQU1FICIiCnwgI2RlZmluZSBQ QUNLQUdFX1ZFUlNJT04gIiIKfCAjZGVmaW5lIFBBQ0tBR0VfU1RSSU5HICIiCnwg I2RlZmluZSBQQUNLQUdFX0JVR1JFUE9SVCAiIgp8ICNkZWZpbmUgTUFJTF9VU0Vf UE9QIDEKfCAjZGVmaW5lIF9HTlVfU09VUkNFIDEKfCAjZGVmaW5lIFNURENfSEVB REVSUyAxCnwgI2RlZmluZSBIQVZFX1NZU19UWVBFU19IIDEKfCAjZGVmaW5lIEhB VkVfU1lTX1NUQVRfSCAxCnwgI2RlZmluZSBIQVZFX1NURExJQl9IIDEKfCAjZGVm aW5lIEhBVkVfU1RSSU5HX0ggMQp8ICNkZWZpbmUgSEFWRV9NRU1PUllfSCAxCnwg I2RlZmluZSBIQVZFX1NUUklOR1NfSCAxCnwgI2RlZmluZSBIQVZFX0lOVFRZUEVT X0ggMQp8ICNkZWZpbmUgSEFWRV9TVERJTlRfSCAxCnwgI2RlZmluZSBIQVZFX1VO SVNURF9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NPVU5EQ0FSRF9IIDEKfCAjZGVm aW5lIEhBVkVfU1lTX1NFTEVDVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1RJTUVC X0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfVElNRV9IIDEKfCAjZGVmaW5lIEhBVkVf VU5JU1REX0ggMQp8ICNkZWZpbmUgSEFWRV9VVElNRV9IIDEKfCAjZGVmaW5lIEhB VkVfVEVSTUlPU19IIDEKfCAjZGVmaW5lIEhBVkVfTElNSVRTX0ggMQp8ICNkZWZp bmUgSEFWRV9TVFJJTkdfSCAxCnwgI2RlZmluZSBIQVZFX1NURExJQl9IIDEKfCAj ZGVmaW5lIEhBVkVfVEVSTUNBUF9IIDEKfCAjZGVmaW5lIEhBVkVfRkNOVExfSCAx CnwgI2RlZmluZSBIQVZFX1NUUklOR1NfSCAxCnwgLyogZW5kIGNvbmZkZWZzLmgu ICAqLwp8ICNpbmNsdWRlIDxjb2ZmLmg+CmNvbmZpZ3VyZTo1ODcyOiByZXN1bHQ6 IG5vCmNvbmZpZ3VyZTo1OTA3OiBjaGVja2luZyBmb3IgY29mZi5oCmNvbmZpZ3Vy ZTo1OTE0OiByZXN1bHQ6IG5vCmNvbmZpZ3VyZTo1NzkxOiBjaGVja2luZyBwdHku aCB1c2FiaWxpdHkKY29uZmlndXJlOjU4MDM6IGdjYyAtYyAtZyAtTzIgICAgY29u ZnRlc3QuYyA+JjUKY29uZmlndXJlOjU4MDk6ICQ/ID0gMApjb25maWd1cmU6NTgx MzogdGVzdCAteiAKCQkJIHx8IHRlc3QgISAtcyBjb25mdGVzdC5lcnIKY29uZmln dXJlOjU4MTY6ICQ/ID0gMApjb25maWd1cmU6NTgxOTogdGVzdCAtcyBjb25mdGVz dC5vCmNvbmZpZ3VyZTo1ODIyOiAkPyA9IDAKY29uZmlndXJlOjU4MzI6IHJlc3Vs dDogeWVzCmNvbmZpZ3VyZTo1ODM2OiBjaGVja2luZyBwdHkuaCBwcmVzZW5jZQpj b25maWd1cmU6NTg0NjogZ2NjIC1FICAgIGNvbmZ0ZXN0LmMKY29uZmlndXJlOjU4 NTI6ICQ/ID0gMApjb25maWd1cmU6NTg3MjogcmVzdWx0OiB5ZXMKY29uZmlndXJl OjU5MDc6IGNoZWNraW5nIGZvciBwdHkuaApjb25maWd1cmU6NTkxNDogcmVzdWx0 OiB5ZXMKY29uZmlndXJlOjU3OTE6IGNoZWNraW5nIHN5cy9tbWFuLmggdXNhYmls aXR5CmNvbmZpZ3VyZTo1ODAzOiBnY2MgLWMgLWcgLU8yICAgIGNvbmZ0ZXN0LmMg PiY1CmNvbmZpZ3VyZTo1ODA5OiAkPyA9IDAKY29uZmlndXJlOjU4MTM6IHRlc3Qg LXogCgkJCSB8fCB0ZXN0ICEgLXMgY29uZnRlc3QuZXJyCmNvbmZpZ3VyZTo1ODE2 OiAkPyA9IDAKY29uZmlndXJlOjU4MTk6IHRlc3QgLXMgY29uZnRlc3Qubwpjb25m aWd1cmU6NTgyMjogJD8gPSAwCmNvbmZpZ3VyZTo1ODMyOiByZXN1bHQ6IHllcwpj b25maWd1cmU6NTgzNjogY2hlY2tpbmcgc3lzL21tYW4uaCBwcmVzZW5jZQpjb25m aWd1cmU6NTg0NjogZ2NjIC1FICAgIGNvbmZ0ZXN0LmMKY29uZmlndXJlOjU4NTI6 ICQ/ID0gMApjb25maWd1cmU6NTg3MjogcmVzdWx0OiB5ZXMKY29uZmlndXJlOjU5 MDc6IGNoZWNraW5nIGZvciBzeXMvbW1hbi5oCmNvbmZpZ3VyZTo1OTE0OiByZXN1 bHQ6IHllcwpjb25maWd1cmU6NTc5MTogY2hlY2tpbmcgc3lzL3BhcmFtLmggdXNh YmlsaXR5CmNvbmZpZ3VyZTo1ODAzOiBnY2MgLWMgLWcgLU8yICAgIGNvbmZ0ZXN0 LmMgPiY1CmNvbmZpZ3VyZTo1ODA5OiAkPyA9IDAKY29uZmlndXJlOjU4MTM6IHRl c3QgLXogCgkJCSB8fCB0ZXN0ICEgLXMgY29uZnRlc3QuZXJyCmNvbmZpZ3VyZTo1 ODE2OiAkPyA9IDAKY29uZmlndXJlOjU4MTk6IHRlc3QgLXMgY29uZnRlc3Qubwpj b25maWd1cmU6NTgyMjogJD8gPSAwCmNvbmZpZ3VyZTo1ODMyOiByZXN1bHQ6IHll cwpjb25maWd1cmU6NTgzNjogY2hlY2tpbmcgc3lzL3BhcmFtLmggcHJlc2VuY2UK Y29uZmlndXJlOjU4NDY6IGdjYyAtRSAgICBjb25mdGVzdC5jCmNvbmZpZ3VyZTo1 ODUyOiAkPyA9IDAKY29uZmlndXJlOjU4NzI6IHJlc3VsdDogeWVzCmNvbmZpZ3Vy ZTo1OTA3OiBjaGVja2luZyBmb3Igc3lzL3BhcmFtLmgKY29uZmlndXJlOjU5MTQ6 IHJlc3VsdDogeWVzCmNvbmZpZ3VyZTo1NzkxOiBjaGVja2luZyBzeXMvdmxpbWl0 LmggdXNhYmlsaXR5CmNvbmZpZ3VyZTo1ODAzOiBnY2MgLWMgLWcgLU8yICAgIGNv bmZ0ZXN0LmMgPiY1CmNvbmZ0ZXN0LmM6NzE6MjQ6IHN5cy92bGltaXQuaDogTm8g c3VjaCBmaWxlIG9yIGRpcmVjdG9yeQpjb25maWd1cmU6NTgwOTogJD8gPSAxCmNv bmZpZ3VyZTogZmFpbGVkIHByb2dyYW0gd2FzOgp8IC8qIGNvbmZkZWZzLmguICAq Lwp8IAp8ICNkZWZpbmUgUEFDS0FHRV9OQU1FICIiCnwgI2RlZmluZSBQQUNLQUdF X1RBUk5BTUUgIiIKfCAjZGVmaW5lIFBBQ0tBR0VfVkVSU0lPTiAiIgp8ICNkZWZp bmUgUEFDS0FHRV9TVFJJTkcgIiIKfCAjZGVmaW5lIFBBQ0tBR0VfQlVHUkVQT1JU ICIiCnwgI2RlZmluZSBNQUlMX1VTRV9QT1AgMQp8ICNkZWZpbmUgX0dOVV9TT1VS Q0UgMQp8ICNkZWZpbmUgU1REQ19IRUFERVJTIDEKfCAjZGVmaW5lIEhBVkVfU1lT X1RZUEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfU1RBVF9IIDEKfCAjZGVmaW5l IEhBVkVfU1RETElCX0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJJTkdfSCAxCnwgI2Rl ZmluZSBIQVZFX01FTU9SWV9IIDEKfCAjZGVmaW5lIEhBVkVfU1RSSU5HU19IIDEK fCAjZGVmaW5lIEhBVkVfSU5UVFlQRVNfSCAxCnwgI2RlZmluZSBIQVZFX1NURElO VF9IIDEKfCAjZGVmaW5lIEhBVkVfVU5JU1REX0ggMQp8ICNkZWZpbmUgSEFWRV9T WVNfU09VTkRDQVJEX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfU0VMRUNUX0ggMQp8 ICNkZWZpbmUgSEFWRV9TWVNfVElNRUJfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19U SU1FX0ggMQp8ICNkZWZpbmUgSEFWRV9VTklTVERfSCAxCnwgI2RlZmluZSBIQVZF X1VUSU1FX0ggMQp8ICNkZWZpbmUgSEFWRV9URVJNSU9TX0ggMQp8ICNkZWZpbmUg SEFWRV9MSU1JVFNfSCAxCnwgI2RlZmluZSBIQVZFX1NUUklOR19IIDEKfCAjZGVm aW5lIEhBVkVfU1RETElCX0ggMQp8ICNkZWZpbmUgSEFWRV9URVJNQ0FQX0ggMQp8 ICNkZWZpbmUgSEFWRV9GQ05UTF9IIDEKfCAjZGVmaW5lIEhBVkVfU1RSSU5HU19I IDEKfCAjZGVmaW5lIEhBVkVfUFRZX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfTU1B Tl9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1BBUkFNX0ggMQp8IC8qIGVuZCBjb25m ZGVmcy5oLiAgKi8KfCAjaW5jbHVkZSA8c3RkaW8uaD4KfCAjaWYgSEFWRV9TWVNf VFlQRVNfSAp8ICMgaW5jbHVkZSA8c3lzL3R5cGVzLmg+CnwgI2VuZGlmCnwgI2lm IEhBVkVfU1lTX1NUQVRfSAp8ICMgaW5jbHVkZSA8c3lzL3N0YXQuaD4KfCAjZW5k aWYKfCAjaWYgU1REQ19IRUFERVJTCnwgIyBpbmNsdWRlIDxzdGRsaWIuaD4KfCAj IGluY2x1ZGUgPHN0ZGRlZi5oPgp8ICNlbHNlCnwgIyBpZiBIQVZFX1NURExJQl9I CnwgIyAgaW5jbHVkZSA8c3RkbGliLmg+CnwgIyBlbmRpZgp8ICNlbmRpZgp8ICNp ZiBIQVZFX1NUUklOR19ICnwgIyBpZiAhU1REQ19IRUFERVJTICYmIEhBVkVfTUVN T1JZX0gKfCAjICBpbmNsdWRlIDxtZW1vcnkuaD4KfCAjIGVuZGlmCnwgIyBpbmNs dWRlIDxzdHJpbmcuaD4KfCAjZW5kaWYKfCAjaWYgSEFWRV9TVFJJTkdTX0gKfCAj IGluY2x1ZGUgPHN0cmluZ3MuaD4KfCAjZW5kaWYKfCAjaWYgSEFWRV9JTlRUWVBF U19ICnwgIyBpbmNsdWRlIDxpbnR0eXBlcy5oPgp8ICNlbHNlCnwgIyBpZiBIQVZF X1NURElOVF9ICnwgIyAgaW5jbHVkZSA8c3RkaW50Lmg+CnwgIyBlbmRpZgp8ICNl bmRpZgp8ICNpZiBIQVZFX1VOSVNURF9ICnwgIyBpbmNsdWRlIDx1bmlzdGQuaD4K fCAjZW5kaWYKfCAjaW5jbHVkZSA8c3lzL3ZsaW1pdC5oPgpjb25maWd1cmU6NTgz MjogcmVzdWx0OiBubwpjb25maWd1cmU6NTgzNjogY2hlY2tpbmcgc3lzL3ZsaW1p dC5oIHByZXNlbmNlCmNvbmZpZ3VyZTo1ODQ2OiBnY2MgLUUgICAgY29uZnRlc3Qu Ywpjb25mdGVzdC5jOjM3OjI0OiBzeXMvdmxpbWl0Lmg6IE5vIHN1Y2ggZmlsZSBv ciBkaXJlY3RvcnkKY29uZmlndXJlOjU4NTI6ICQ/ID0gMQpjb25maWd1cmU6IGZh aWxlZCBwcm9ncmFtIHdhczoKfCAvKiBjb25mZGVmcy5oLiAgKi8KfCAKfCAjZGVm aW5lIFBBQ0tBR0VfTkFNRSAiIgp8ICNkZWZpbmUgUEFDS0FHRV9UQVJOQU1FICIi CnwgI2RlZmluZSBQQUNLQUdFX1ZFUlNJT04gIiIKfCAjZGVmaW5lIFBBQ0tBR0Vf U1RSSU5HICIiCnwgI2RlZmluZSBQQUNLQUdFX0JVR1JFUE9SVCAiIgp8ICNkZWZp bmUgTUFJTF9VU0VfUE9QIDEKfCAjZGVmaW5lIF9HTlVfU09VUkNFIDEKfCAjZGVm aW5lIFNURENfSEVBREVSUyAxCnwgI2RlZmluZSBIQVZFX1NZU19UWVBFU19IIDEK fCAjZGVmaW5lIEhBVkVfU1lTX1NUQVRfSCAxCnwgI2RlZmluZSBIQVZFX1NURExJ Ql9IIDEKfCAjZGVmaW5lIEhBVkVfU1RSSU5HX0ggMQp8ICNkZWZpbmUgSEFWRV9N RU1PUllfSCAxCnwgI2RlZmluZSBIQVZFX1NUUklOR1NfSCAxCnwgI2RlZmluZSBI QVZFX0lOVFRZUEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERJTlRfSCAxCnwgI2Rl ZmluZSBIQVZFX1VOSVNURF9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NPVU5EQ0FS RF9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NFTEVDVF9IIDEKfCAjZGVmaW5lIEhB VkVfU1lTX1RJTUVCX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfVElNRV9IIDEKfCAj ZGVmaW5lIEhBVkVfVU5JU1REX0ggMQp8ICNkZWZpbmUgSEFWRV9VVElNRV9IIDEK fCAjZGVmaW5lIEhBVkVfVEVSTUlPU19IIDEKfCAjZGVmaW5lIEhBVkVfTElNSVRT X0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJJTkdfSCAxCnwgI2RlZmluZSBIQVZFX1NU RExJQl9IIDEKfCAjZGVmaW5lIEhBVkVfVEVSTUNBUF9IIDEKfCAjZGVmaW5lIEhB VkVfRkNOVExfSCAxCnwgI2RlZmluZSBIQVZFX1NUUklOR1NfSCAxCnwgI2RlZmlu ZSBIQVZFX1BUWV9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX01NQU5fSCAxCnwgI2Rl ZmluZSBIQVZFX1NZU19QQVJBTV9IIDEKfCAvKiBlbmQgY29uZmRlZnMuaC4gICov CnwgI2luY2x1ZGUgPHN5cy92bGltaXQuaD4KY29uZmlndXJlOjU4NzI6IHJlc3Vs dDogbm8KY29uZmlndXJlOjU5MDc6IGNoZWNraW5nIGZvciBzeXMvdmxpbWl0LmgK Y29uZmlndXJlOjU5MTQ6IHJlc3VsdDogbm8KY29uZmlndXJlOjU3OTE6IGNoZWNr aW5nIHN5cy9yZXNvdXJjZS5oIHVzYWJpbGl0eQpjb25maWd1cmU6NTgwMzogZ2Nj IC1jIC1nIC1PMiAgICBjb25mdGVzdC5jID4mNQpjb25maWd1cmU6NTgwOTogJD8g PSAwCmNvbmZpZ3VyZTo1ODEzOiB0ZXN0IC16IAoJCQkgfHwgdGVzdCAhIC1zIGNv bmZ0ZXN0LmVycgpjb25maWd1cmU6NTgxNjogJD8gPSAwCmNvbmZpZ3VyZTo1ODE5 OiB0ZXN0IC1zIGNvbmZ0ZXN0Lm8KY29uZmlndXJlOjU4MjI6ICQ/ID0gMApjb25m aWd1cmU6NTgzMjogcmVzdWx0OiB5ZXMKY29uZmlndXJlOjU4MzY6IGNoZWNraW5n IHN5cy9yZXNvdXJjZS5oIHByZXNlbmNlCmNvbmZpZ3VyZTo1ODQ2OiBnY2MgLUUg ICAgY29uZnRlc3QuYwpjb25maWd1cmU6NTg1MjogJD8gPSAwCmNvbmZpZ3VyZTo1 ODcyOiByZXN1bHQ6IHllcwpjb25maWd1cmU6NTkwNzogY2hlY2tpbmcgZm9yIHN5 cy9yZXNvdXJjZS5oCmNvbmZpZ3VyZTo1OTE0OiByZXN1bHQ6IHllcwpjb25maWd1 cmU6NTc5MTogY2hlY2tpbmcgbG9jYWxlLmggdXNhYmlsaXR5CmNvbmZpZ3VyZTo1 ODAzOiBnY2MgLWMgLWcgLU8yICAgIGNvbmZ0ZXN0LmMgPiY1CmNvbmZpZ3VyZTo1 ODA5OiAkPyA9IDAKY29uZmlndXJlOjU4MTM6IHRlc3QgLXogCgkJCSB8fCB0ZXN0 ICEgLXMgY29uZnRlc3QuZXJyCmNvbmZpZ3VyZTo1ODE2OiAkPyA9IDAKY29uZmln dXJlOjU4MTk6IHRlc3QgLXMgY29uZnRlc3Qubwpjb25maWd1cmU6NTgyMjogJD8g PSAwCmNvbmZpZ3VyZTo1ODMyOiByZXN1bHQ6IHllcwpjb25maWd1cmU6NTgzNjog Y2hlY2tpbmcgbG9jYWxlLmggcHJlc2VuY2UKY29uZmlndXJlOjU4NDY6IGdjYyAt RSAgICBjb25mdGVzdC5jCmNvbmZpZ3VyZTo1ODUyOiAkPyA9IDAKY29uZmlndXJl OjU4NzI6IHJlc3VsdDogeWVzCmNvbmZpZ3VyZTo1OTA3OiBjaGVja2luZyBmb3Ig bG9jYWxlLmgKY29uZmlndXJlOjU5MTQ6IHJlc3VsdDogeWVzCmNvbmZpZ3VyZTo1 NzkxOiBjaGVja2luZyBzeXMvX21ic3RhdGVfdC5oIHVzYWJpbGl0eQpjb25maWd1 cmU6NTgwMzogZ2NjIC1jIC1nIC1PMiAgICBjb25mdGVzdC5jID4mNQpjb25mdGVz dC5jOjczOjI4OiBzeXMvX21ic3RhdGVfdC5oOiBObyBzdWNoIGZpbGUgb3IgZGly ZWN0b3J5CmNvbmZpZ3VyZTo1ODA5OiAkPyA9IDEKY29uZmlndXJlOiBmYWlsZWQg cHJvZ3JhbSB3YXM6CnwgLyogY29uZmRlZnMuaC4gICovCnwgCnwgI2RlZmluZSBQ QUNLQUdFX05BTUUgIiIKfCAjZGVmaW5lIFBBQ0tBR0VfVEFSTkFNRSAiIgp8ICNk ZWZpbmUgUEFDS0FHRV9WRVJTSU9OICIiCnwgI2RlZmluZSBQQUNLQUdFX1NUUklO RyAiIgp8ICNkZWZpbmUgUEFDS0FHRV9CVUdSRVBPUlQgIiIKfCAjZGVmaW5lIE1B SUxfVVNFX1BPUCAxCnwgI2RlZmluZSBfR05VX1NPVVJDRSAxCnwgI2RlZmluZSBT VERDX0hFQURFUlMgMQp8ICNkZWZpbmUgSEFWRV9TWVNfVFlQRVNfSCAxCnwgI2Rl ZmluZSBIQVZFX1NZU19TVEFUX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERMSUJfSCAx CnwgI2RlZmluZSBIQVZFX1NUUklOR19IIDEKfCAjZGVmaW5lIEhBVkVfTUVNT1JZ X0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJJTkdTX0ggMQp8ICNkZWZpbmUgSEFWRV9J TlRUWVBFU19IIDEKfCAjZGVmaW5lIEhBVkVfU1RESU5UX0ggMQp8ICNkZWZpbmUg SEFWRV9VTklTVERfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19TT1VORENBUkRfSCAx CnwgI2RlZmluZSBIQVZFX1NZU19TRUxFQ1RfSCAxCnwgI2RlZmluZSBIQVZFX1NZ U19USU1FQl9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1RJTUVfSCAxCnwgI2RlZmlu ZSBIQVZFX1VOSVNURF9IIDEKfCAjZGVmaW5lIEhBVkVfVVRJTUVfSCAxCnwgI2Rl ZmluZSBIQVZFX1RFUk1JT1NfSCAxCnwgI2RlZmluZSBIQVZFX0xJTUlUU19IIDEK fCAjZGVmaW5lIEhBVkVfU1RSSU5HX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERMSUJf SCAxCnwgI2RlZmluZSBIQVZFX1RFUk1DQVBfSCAxCnwgI2RlZmluZSBIQVZFX0ZD TlRMX0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJJTkdTX0ggMQp8ICNkZWZpbmUgSEFW RV9QVFlfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19NTUFOX0ggMQp8ICNkZWZpbmUg SEFWRV9TWVNfUEFSQU1fSCAxCnwgI2RlZmluZSBIQVZFX1NZU19SRVNPVVJDRV9I IDEKfCAjZGVmaW5lIEhBVkVfTE9DQUxFX0ggMQp8IC8qIGVuZCBjb25mZGVmcy5o LiAgKi8KfCAjaW5jbHVkZSA8c3RkaW8uaD4KfCAjaWYgSEFWRV9TWVNfVFlQRVNf SAp8ICMgaW5jbHVkZSA8c3lzL3R5cGVzLmg+CnwgI2VuZGlmCnwgI2lmIEhBVkVf U1lTX1NUQVRfSAp8ICMgaW5jbHVkZSA8c3lzL3N0YXQuaD4KfCAjZW5kaWYKfCAj aWYgU1REQ19IRUFERVJTCnwgIyBpbmNsdWRlIDxzdGRsaWIuaD4KfCAjIGluY2x1 ZGUgPHN0ZGRlZi5oPgp8ICNlbHNlCnwgIyBpZiBIQVZFX1NURExJQl9ICnwgIyAg aW5jbHVkZSA8c3RkbGliLmg+CnwgIyBlbmRpZgp8ICNlbmRpZgp8ICNpZiBIQVZF X1NUUklOR19ICnwgIyBpZiAhU1REQ19IRUFERVJTICYmIEhBVkVfTUVNT1JZX0gK fCAjICBpbmNsdWRlIDxtZW1vcnkuaD4KfCAjIGVuZGlmCnwgIyBpbmNsdWRlIDxz dHJpbmcuaD4KfCAjZW5kaWYKfCAjaWYgSEFWRV9TVFJJTkdTX0gKfCAjIGluY2x1 ZGUgPHN0cmluZ3MuaD4KfCAjZW5kaWYKfCAjaWYgSEFWRV9JTlRUWVBFU19ICnwg IyBpbmNsdWRlIDxpbnR0eXBlcy5oPgp8ICNlbHNlCnwgIyBpZiBIQVZFX1NURElO VF9ICnwgIyAgaW5jbHVkZSA8c3RkaW50Lmg+CnwgIyBlbmRpZgp8ICNlbmRpZgp8 ICNpZiBIQVZFX1VOSVNURF9ICnwgIyBpbmNsdWRlIDx1bmlzdGQuaD4KfCAjZW5k aWYKfCAjaW5jbHVkZSA8c3lzL19tYnN0YXRlX3QuaD4KY29uZmlndXJlOjU4MzI6 IHJlc3VsdDogbm8KY29uZmlndXJlOjU4MzY6IGNoZWNraW5nIHN5cy9fbWJzdGF0 ZV90LmggcHJlc2VuY2UKY29uZmlndXJlOjU4NDY6IGdjYyAtRSAgICBjb25mdGVz dC5jCmNvbmZ0ZXN0LmM6Mzk6Mjg6IHN5cy9fbWJzdGF0ZV90Lmg6IE5vIHN1Y2gg ZmlsZSBvciBkaXJlY3RvcnkKY29uZmlndXJlOjU4NTI6ICQ/ID0gMQpjb25maWd1 cmU6IGZhaWxlZCBwcm9ncmFtIHdhczoKfCAvKiBjb25mZGVmcy5oLiAgKi8KfCAK fCAjZGVmaW5lIFBBQ0tBR0VfTkFNRSAiIgp8ICNkZWZpbmUgUEFDS0FHRV9UQVJO QU1FICIiCnwgI2RlZmluZSBQQUNLQUdFX1ZFUlNJT04gIiIKfCAjZGVmaW5lIFBB Q0tBR0VfU1RSSU5HICIiCnwgI2RlZmluZSBQQUNLQUdFX0JVR1JFUE9SVCAiIgp8 ICNkZWZpbmUgTUFJTF9VU0VfUE9QIDEKfCAjZGVmaW5lIF9HTlVfU09VUkNFIDEK fCAjZGVmaW5lIFNURENfSEVBREVSUyAxCnwgI2RlZmluZSBIQVZFX1NZU19UWVBF U19IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NUQVRfSCAxCnwgI2RlZmluZSBIQVZF X1NURExJQl9IIDEKfCAjZGVmaW5lIEhBVkVfU1RSSU5HX0ggMQp8ICNkZWZpbmUg SEFWRV9NRU1PUllfSCAxCnwgI2RlZmluZSBIQVZFX1NUUklOR1NfSCAxCnwgI2Rl ZmluZSBIQVZFX0lOVFRZUEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERJTlRfSCAx CnwgI2RlZmluZSBIQVZFX1VOSVNURF9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NP VU5EQ0FSRF9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NFTEVDVF9IIDEKfCAjZGVm aW5lIEhBVkVfU1lTX1RJTUVCX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfVElNRV9I IDEKfCAjZGVmaW5lIEhBVkVfVU5JU1REX0ggMQp8ICNkZWZpbmUgSEFWRV9VVElN RV9IIDEKfCAjZGVmaW5lIEhBVkVfVEVSTUlPU19IIDEKfCAjZGVmaW5lIEhBVkVf TElNSVRTX0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJJTkdfSCAxCnwgI2RlZmluZSBI QVZFX1NURExJQl9IIDEKfCAjZGVmaW5lIEhBVkVfVEVSTUNBUF9IIDEKfCAjZGVm aW5lIEhBVkVfRkNOVExfSCAxCnwgI2RlZmluZSBIQVZFX1NUUklOR1NfSCAxCnwg I2RlZmluZSBIQVZFX1BUWV9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX01NQU5fSCAx CnwgI2RlZmluZSBIQVZFX1NZU19QQVJBTV9IIDEKfCAjZGVmaW5lIEhBVkVfU1lT X1JFU09VUkNFX0ggMQp8ICNkZWZpbmUgSEFWRV9MT0NBTEVfSCAxCnwgLyogZW5k IGNvbmZkZWZzLmguICAqLwp8ICNpbmNsdWRlIDxzeXMvX21ic3RhdGVfdC5oPgpj b25maWd1cmU6NTg3MjogcmVzdWx0OiBubwpjb25maWd1cmU6NTkwNzogY2hlY2tp bmcgZm9yIHN5cy9fbWJzdGF0ZV90LmgKY29uZmlndXJlOjU5MTQ6IHJlc3VsdDog bm8KY29uZmlndXJlOjU3OTE6IGNoZWNraW5nIHN5cy91dHNuYW1lLmggdXNhYmls aXR5CmNvbmZpZ3VyZTo1ODAzOiBnY2MgLWMgLWcgLU8yICAgIGNvbmZ0ZXN0LmMg PiY1CmNvbmZpZ3VyZTo1ODA5OiAkPyA9IDAKY29uZmlndXJlOjU4MTM6IHRlc3Qg LXogCgkJCSB8fCB0ZXN0ICEgLXMgY29uZnRlc3QuZXJyCmNvbmZpZ3VyZTo1ODE2 OiAkPyA9IDAKY29uZmlndXJlOjU4MTk6IHRlc3QgLXMgY29uZnRlc3Qubwpjb25m aWd1cmU6NTgyMjogJD8gPSAwCmNvbmZpZ3VyZTo1ODMyOiByZXN1bHQ6IHllcwpj b25maWd1cmU6NTgzNjogY2hlY2tpbmcgc3lzL3V0c25hbWUuaCBwcmVzZW5jZQpj b25maWd1cmU6NTg0NjogZ2NjIC1FICAgIGNvbmZ0ZXN0LmMKY29uZmlndXJlOjU4 NTI6ICQ/ID0gMApjb25maWd1cmU6NTg3MjogcmVzdWx0OiB5ZXMKY29uZmlndXJl OjU5MDc6IGNoZWNraW5nIGZvciBzeXMvdXRzbmFtZS5oCmNvbmZpZ3VyZTo1OTE0 OiByZXN1bHQ6IHllcwpjb25maWd1cmU6NTc5MTogY2hlY2tpbmcgcHdkLmggdXNh YmlsaXR5CmNvbmZpZ3VyZTo1ODAzOiBnY2MgLWMgLWcgLU8yICAgIGNvbmZ0ZXN0 LmMgPiY1CmNvbmZpZ3VyZTo1ODA5OiAkPyA9IDAKY29uZmlndXJlOjU4MTM6IHRl c3QgLXogCgkJCSB8fCB0ZXN0ICEgLXMgY29uZnRlc3QuZXJyCmNvbmZpZ3VyZTo1 ODE2OiAkPyA9IDAKY29uZmlndXJlOjU4MTk6IHRlc3QgLXMgY29uZnRlc3Qubwpj b25maWd1cmU6NTgyMjogJD8gPSAwCmNvbmZpZ3VyZTo1ODMyOiByZXN1bHQ6IHll cwpjb25maWd1cmU6NTgzNjogY2hlY2tpbmcgcHdkLmggcHJlc2VuY2UKY29uZmln dXJlOjU4NDY6IGdjYyAtRSAgICBjb25mdGVzdC5jCmNvbmZpZ3VyZTo1ODUyOiAk PyA9IDAKY29uZmlndXJlOjU4NzI6IHJlc3VsdDogeWVzCmNvbmZpZ3VyZTo1OTA3 OiBjaGVja2luZyBmb3IgcHdkLmgKY29uZmlndXJlOjU5MTQ6IHJlc3VsdDogeWVz CmNvbmZpZ3VyZTo1OTI4OiBjaGVja2luZyBpZiBwZXJzb25hbGl0eSBMSU5VWDMy IGNhbiBiZSBzZXQKY29uZmlndXJlOjU5NDY6IGdjYyAtYyAtZyAtTzIgICAgY29u ZnRlc3QuYyA+JjUKY29uZnRlc3QuYzo0MToyOTogc3lzL3BlcnNvbmFsaXR5Lmg6 IE5vIHN1Y2ggZmlsZSBvciBkaXJlY3RvcnkKY29uZnRlc3QuYzogSW4gZnVuY3Rp b24gYG1haW4nOgpjb25mdGVzdC5jOjQ1OiBlcnJvcjogYFBFUl9MSU5VWDMyJyB1 bmRlY2xhcmVkIChmaXJzdCB1c2UgaW4gdGhpcyBmdW5jdGlvbikKY29uZnRlc3Qu Yzo0NTogZXJyb3I6IChFYWNoIHVuZGVjbGFyZWQgaWRlbnRpZmllciBpcyByZXBv cnRlZCBvbmx5IG9uY2UKY29uZnRlc3QuYzo0NTogZXJyb3I6IGZvciBlYWNoIGZ1 bmN0aW9uIGl0IGFwcGVhcnMgaW4uKQpjb25maWd1cmU6NTk1MjogJD8gPSAxCmNv bmZpZ3VyZTogZmFpbGVkIHByb2dyYW0gd2FzOgp8IC8qIGNvbmZkZWZzLmguICAq Lwp8IAp8ICNkZWZpbmUgUEFDS0FHRV9OQU1FICIiCnwgI2RlZmluZSBQQUNLQUdF X1RBUk5BTUUgIiIKfCAjZGVmaW5lIFBBQ0tBR0VfVkVSU0lPTiAiIgp8ICNkZWZp bmUgUEFDS0FHRV9TVFJJTkcgIiIKfCAjZGVmaW5lIFBBQ0tBR0VfQlVHUkVQT1JU ICIiCnwgI2RlZmluZSBNQUlMX1VTRV9QT1AgMQp8ICNkZWZpbmUgX0dOVV9TT1VS Q0UgMQp8ICNkZWZpbmUgU1REQ19IRUFERVJTIDEKfCAjZGVmaW5lIEhBVkVfU1lT X1RZUEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfU1RBVF9IIDEKfCAjZGVmaW5l IEhBVkVfU1RETElCX0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJJTkdfSCAxCnwgI2Rl ZmluZSBIQVZFX01FTU9SWV9IIDEKfCAjZGVmaW5lIEhBVkVfU1RSSU5HU19IIDEK fCAjZGVmaW5lIEhBVkVfSU5UVFlQRVNfSCAxCnwgI2RlZmluZSBIQVZFX1NURElO VF9IIDEKfCAjZGVmaW5lIEhBVkVfVU5JU1REX0ggMQp8ICNkZWZpbmUgSEFWRV9T WVNfU09VTkRDQVJEX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfU0VMRUNUX0ggMQp8 ICNkZWZpbmUgSEFWRV9TWVNfVElNRUJfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19U SU1FX0ggMQp8ICNkZWZpbmUgSEFWRV9VTklTVERfSCAxCnwgI2RlZmluZSBIQVZF X1VUSU1FX0ggMQp8ICNkZWZpbmUgSEFWRV9URVJNSU9TX0ggMQp8ICNkZWZpbmUg SEFWRV9MSU1JVFNfSCAxCnwgI2RlZmluZSBIQVZFX1NUUklOR19IIDEKfCAjZGVm aW5lIEhBVkVfU1RETElCX0ggMQp8ICNkZWZpbmUgSEFWRV9URVJNQ0FQX0ggMQp8 ICNkZWZpbmUgSEFWRV9GQ05UTF9IIDEKfCAjZGVmaW5lIEhBVkVfU1RSSU5HU19I IDEKfCAjZGVmaW5lIEhBVkVfUFRZX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfTU1B Tl9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1BBUkFNX0ggMQp8ICNkZWZpbmUgSEFW RV9TWVNfUkVTT1VSQ0VfSCAxCnwgI2RlZmluZSBIQVZFX0xPQ0FMRV9IIDEKfCAj ZGVmaW5lIEhBVkVfU1lTX1VUU05BTUVfSCAxCnwgI2RlZmluZSBIQVZFX1BXRF9I IDEKfCAvKiBlbmQgY29uZmRlZnMuaC4gICovCnwgI2luY2x1ZGUgPHN5cy9wZXJz b25hbGl0eS5oPgp8IGludAp8IG1haW4gKCkKfCB7CnwgcGVyc29uYWxpdHkgKFBF Ul9MSU5VWDMyKQp8ICAgOwp8ICAgcmV0dXJuIDA7CnwgfQpjb25maWd1cmU6NTk3 NTogcmVzdWx0OiBubwpjb25maWd1cmU6NTk5MDogY2hlY2tpbmcgZm9yIHRlcm0u aApjb25maWd1cmU6NjAwMzogZ2NjIC1FICAgIGNvbmZ0ZXN0LmMKY29uZnRlc3Qu Yzo0MToxODogdGVybS5oOiBObyBzdWNoIGZpbGUgb3IgZGlyZWN0b3J5CmNvbmZp Z3VyZTo2MDA5OiAkPyA9IDEKY29uZmlndXJlOiBmYWlsZWQgcHJvZ3JhbSB3YXM6 CnwgLyogY29uZmRlZnMuaC4gICovCnwgCnwgI2RlZmluZSBQQUNLQUdFX05BTUUg IiIKfCAjZGVmaW5lIFBBQ0tBR0VfVEFSTkFNRSAiIgp8ICNkZWZpbmUgUEFDS0FH RV9WRVJTSU9OICIiCnwgI2RlZmluZSBQQUNLQUdFX1NUUklORyAiIgp8ICNkZWZp bmUgUEFDS0FHRV9CVUdSRVBPUlQgIiIKfCAjZGVmaW5lIE1BSUxfVVNFX1BPUCAx CnwgI2RlZmluZSBfR05VX1NPVVJDRSAxCnwgI2RlZmluZSBTVERDX0hFQURFUlMg MQp8ICNkZWZpbmUgSEFWRV9TWVNfVFlQRVNfSCAxCnwgI2RlZmluZSBIQVZFX1NZ U19TVEFUX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERMSUJfSCAxCnwgI2RlZmluZSBI QVZFX1NUUklOR19IIDEKfCAjZGVmaW5lIEhBVkVfTUVNT1JZX0ggMQp8ICNkZWZp bmUgSEFWRV9TVFJJTkdTX0ggMQp8ICNkZWZpbmUgSEFWRV9JTlRUWVBFU19IIDEK fCAjZGVmaW5lIEhBVkVfU1RESU5UX0ggMQp8ICNkZWZpbmUgSEFWRV9VTklTVERf SCAxCnwgI2RlZmluZSBIQVZFX1NZU19TT1VORENBUkRfSCAxCnwgI2RlZmluZSBI QVZFX1NZU19TRUxFQ1RfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19USU1FQl9IIDEK fCAjZGVmaW5lIEhBVkVfU1lTX1RJTUVfSCAxCnwgI2RlZmluZSBIQVZFX1VOSVNU RF9IIDEKfCAjZGVmaW5lIEhBVkVfVVRJTUVfSCAxCnwgI2RlZmluZSBIQVZFX1RF Uk1JT1NfSCAxCnwgI2RlZmluZSBIQVZFX0xJTUlUU19IIDEKfCAjZGVmaW5lIEhB VkVfU1RSSU5HX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERMSUJfSCAxCnwgI2RlZmlu ZSBIQVZFX1RFUk1DQVBfSCAxCnwgI2RlZmluZSBIQVZFX0ZDTlRMX0ggMQp8ICNk ZWZpbmUgSEFWRV9TVFJJTkdTX0ggMQp8ICNkZWZpbmUgSEFWRV9QVFlfSCAxCnwg I2RlZmluZSBIQVZFX1NZU19NTUFOX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfUEFS QU1fSCAxCnwgI2RlZmluZSBIQVZFX1NZU19SRVNPVVJDRV9IIDEKfCAjZGVmaW5l IEhBVkVfTE9DQUxFX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfVVRTTkFNRV9IIDEK fCAjZGVmaW5lIEhBVkVfUFdEX0ggMQp8IC8qIGVuZCBjb25mZGVmcy5oLiAgKi8K fCAjaW5jbHVkZSA8dGVybS5oPgpjb25maWd1cmU6NjAzMDogcmVzdWx0OiBubwpj b25maWd1cmU6NjA0MTogY2hlY2tpbmcgZm9yIEFOU0kgQyBoZWFkZXIgZmlsZXMK Y29uZmlndXJlOjYxOTc6IHJlc3VsdDogeWVzCmNvbmZpZ3VyZTo2MjA3OiBjaGVj a2luZyB3aGV0aGVyIHRpbWUuaCBhbmQgc3lzL3RpbWUuaCBtYXkgYm90aCBiZSBp bmNsdWRlZApjb25maWd1cmU6NjIzMjogZ2NjIC1jIC1nIC1PMiAgICBjb25mdGVz dC5jID4mNQpjb25maWd1cmU6NjIzODogJD8gPSAwCmNvbmZpZ3VyZTo2MjQyOiB0 ZXN0IC16IAoJCQkgfHwgdGVzdCAhIC1zIGNvbmZ0ZXN0LmVycgpjb25maWd1cmU6 NjI0NTogJD8gPSAwCmNvbmZpZ3VyZTo2MjQ4OiB0ZXN0IC1zIGNvbmZ0ZXN0Lm8K Y29uZmlndXJlOjYyNTE6ICQ/ID0gMApjb25maWd1cmU6NjI2MjogcmVzdWx0OiB5 ZXMKY29uZmlndXJlOjYyNzI6IGNoZWNraW5nIHdoZXRoZXIgc3lzX3NpZ2xpc3Qg aXMgZGVjbGFyZWQKY29uZmlndXJlOjYyOTY6IGdjYyAtYyAtZyAtTzIgICAgY29u ZnRlc3QuYyA+JjUKY29uZnRlc3QuYzogSW4gZnVuY3Rpb24gYG1haW4nOgpjb25m dGVzdC5jOjgxOiBlcnJvcjogYHN5c19zaWdsaXN0JyB1bmRlY2xhcmVkIChmaXJz dCB1c2UgaW4gdGhpcyBmdW5jdGlvbikKY29uZnRlc3QuYzo4MTogZXJyb3I6IChF YWNoIHVuZGVjbGFyZWQgaWRlbnRpZmllciBpcyByZXBvcnRlZCBvbmx5IG9uY2UK Y29uZnRlc3QuYzo4MTogZXJyb3I6IGZvciBlYWNoIGZ1bmN0aW9uIGl0IGFwcGVh cnMgaW4uKQpjb25maWd1cmU6NjMwMjogJD8gPSAxCmNvbmZpZ3VyZTogZmFpbGVk IHByb2dyYW0gd2FzOgp8IC8qIGNvbmZkZWZzLmguICAqLwp8IAp8ICNkZWZpbmUg UEFDS0FHRV9OQU1FICIiCnwgI2RlZmluZSBQQUNLQUdFX1RBUk5BTUUgIiIKfCAj ZGVmaW5lIFBBQ0tBR0VfVkVSU0lPTiAiIgp8ICNkZWZpbmUgUEFDS0FHRV9TVFJJ TkcgIiIKfCAjZGVmaW5lIFBBQ0tBR0VfQlVHUkVQT1JUICIiCnwgI2RlZmluZSBN QUlMX1VTRV9QT1AgMQp8ICNkZWZpbmUgX0dOVV9TT1VSQ0UgMQp8ICNkZWZpbmUg U1REQ19IRUFERVJTIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1RZUEVTX0ggMQp8ICNk ZWZpbmUgSEFWRV9TWVNfU1RBVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1RETElCX0gg MQp8ICNkZWZpbmUgSEFWRV9TVFJJTkdfSCAxCnwgI2RlZmluZSBIQVZFX01FTU9S WV9IIDEKfCAjZGVmaW5lIEhBVkVfU1RSSU5HU19IIDEKfCAjZGVmaW5lIEhBVkVf SU5UVFlQRVNfSCAxCnwgI2RlZmluZSBIQVZFX1NURElOVF9IIDEKfCAjZGVmaW5l IEhBVkVfVU5JU1REX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfU09VTkRDQVJEX0gg MQp8ICNkZWZpbmUgSEFWRV9TWVNfU0VMRUNUX0ggMQp8ICNkZWZpbmUgSEFWRV9T WVNfVElNRUJfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19USU1FX0ggMQp8ICNkZWZp bmUgSEFWRV9VTklTVERfSCAxCnwgI2RlZmluZSBIQVZFX1VUSU1FX0ggMQp8ICNk ZWZpbmUgSEFWRV9URVJNSU9TX0ggMQp8ICNkZWZpbmUgSEFWRV9MSU1JVFNfSCAx CnwgI2RlZmluZSBIQVZFX1NUUklOR19IIDEKfCAjZGVmaW5lIEhBVkVfU1RETElC X0ggMQp8ICNkZWZpbmUgSEFWRV9URVJNQ0FQX0ggMQp8ICNkZWZpbmUgSEFWRV9G Q05UTF9IIDEKfCAjZGVmaW5lIEhBVkVfU1RSSU5HU19IIDEKfCAjZGVmaW5lIEhB VkVfUFRZX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfTU1BTl9IIDEKfCAjZGVmaW5l IEhBVkVfU1lTX1BBUkFNX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfUkVTT1VSQ0Vf SCAxCnwgI2RlZmluZSBIQVZFX0xPQ0FMRV9IIDEKfCAjZGVmaW5lIEhBVkVfU1lT X1VUU05BTUVfSCAxCnwgI2RlZmluZSBIQVZFX1BXRF9IIDEKfCAjZGVmaW5lIFNU RENfSEVBREVSUyAxCnwgI2RlZmluZSBUSU1FX1dJVEhfU1lTX1RJTUUgMQp8IC8q IGVuZCBjb25mZGVmcy5oLiAgKi8KfCAjaW5jbHVkZSA8c3RkaW8uaD4KfCAjaWYg SEFWRV9TWVNfVFlQRVNfSAp8ICMgaW5jbHVkZSA8c3lzL3R5cGVzLmg+CnwgI2Vu ZGlmCnwgI2lmIEhBVkVfU1lTX1NUQVRfSAp8ICMgaW5jbHVkZSA8c3lzL3N0YXQu aD4KfCAjZW5kaWYKfCAjaWYgU1REQ19IRUFERVJTCnwgIyBpbmNsdWRlIDxzdGRs aWIuaD4KfCAjIGluY2x1ZGUgPHN0ZGRlZi5oPgp8ICNlbHNlCnwgIyBpZiBIQVZF X1NURExJQl9ICnwgIyAgaW5jbHVkZSA8c3RkbGliLmg+CnwgIyBlbmRpZgp8ICNl bmRpZgp8ICNpZiBIQVZFX1NUUklOR19ICnwgIyBpZiAhU1REQ19IRUFERVJTICYm IEhBVkVfTUVNT1JZX0gKfCAjICBpbmNsdWRlIDxtZW1vcnkuaD4KfCAjIGVuZGlm CnwgIyBpbmNsdWRlIDxzdHJpbmcuaD4KfCAjZW5kaWYKfCAjaWYgSEFWRV9TVFJJ TkdTX0gKfCAjIGluY2x1ZGUgPHN0cmluZ3MuaD4KfCAjZW5kaWYKfCAjaWYgSEFW RV9JTlRUWVBFU19ICnwgIyBpbmNsdWRlIDxpbnR0eXBlcy5oPgp8ICNlbHNlCnwg IyBpZiBIQVZFX1NURElOVF9ICnwgIyAgaW5jbHVkZSA8c3RkaW50Lmg+CnwgIyBl bmRpZgp8ICNlbmRpZgp8ICNpZiBIQVZFX1VOSVNURF9ICnwgIyBpbmNsdWRlIDx1 bmlzdGQuaD4KfCAjZW5kaWYKfCBpbnQKfCBtYWluICgpCnwgewp8ICNpZm5kZWYg c3lzX3NpZ2xpc3QKfCAgIGNoYXIgKnAgPSAoY2hhciAqKSBzeXNfc2lnbGlzdDsK fCAjZW5kaWYKfCAKfCAgIDsKfCAgIHJldHVybiAwOwp8IH0KY29uZmlndXJlOjYz MjY6IHJlc3VsdDogbm8KY29uZmlndXJlOjYzNDY6IGNoZWNraW5nIHdoZXRoZXIg X19zeXNfc2lnbGlzdCBpcyBkZWNsYXJlZApjb25maWd1cmU6NjM3MDogZ2NjIC1j IC1nIC1PMiAgICBjb25mdGVzdC5jID4mNQpjb25mdGVzdC5jOiBJbiBmdW5jdGlv biBgbWFpbic6CmNvbmZ0ZXN0LmM6ODI6IGVycm9yOiBgX19zeXNfc2lnbGlzdCcg dW5kZWNsYXJlZCAoZmlyc3QgdXNlIGluIHRoaXMgZnVuY3Rpb24pCmNvbmZ0ZXN0 LmM6ODI6IGVycm9yOiAoRWFjaCB1bmRlY2xhcmVkIGlkZW50aWZpZXIgaXMgcmVw b3J0ZWQgb25seSBvbmNlCmNvbmZ0ZXN0LmM6ODI6IGVycm9yOiBmb3IgZWFjaCBm dW5jdGlvbiBpdCBhcHBlYXJzIGluLikKY29uZmlndXJlOjYzNzY6ICQ/ID0gMQpj b25maWd1cmU6IGZhaWxlZCBwcm9ncmFtIHdhczoKfCAvKiBjb25mZGVmcy5oLiAg Ki8KfCAKfCAjZGVmaW5lIFBBQ0tBR0VfTkFNRSAiIgp8ICNkZWZpbmUgUEFDS0FH RV9UQVJOQU1FICIiCnwgI2RlZmluZSBQQUNLQUdFX1ZFUlNJT04gIiIKfCAjZGVm aW5lIFBBQ0tBR0VfU1RSSU5HICIiCnwgI2RlZmluZSBQQUNLQUdFX0JVR1JFUE9S VCAiIgp8ICNkZWZpbmUgTUFJTF9VU0VfUE9QIDEKfCAjZGVmaW5lIF9HTlVfU09V UkNFIDEKfCAjZGVmaW5lIFNURENfSEVBREVSUyAxCnwgI2RlZmluZSBIQVZFX1NZ U19UWVBFU19IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NUQVRfSCAxCnwgI2RlZmlu ZSBIQVZFX1NURExJQl9IIDEKfCAjZGVmaW5lIEhBVkVfU1RSSU5HX0ggMQp8ICNk ZWZpbmUgSEFWRV9NRU1PUllfSCAxCnwgI2RlZmluZSBIQVZFX1NUUklOR1NfSCAx CnwgI2RlZmluZSBIQVZFX0lOVFRZUEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERJ TlRfSCAxCnwgI2RlZmluZSBIQVZFX1VOSVNURF9IIDEKfCAjZGVmaW5lIEhBVkVf U1lTX1NPVU5EQ0FSRF9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NFTEVDVF9IIDEK fCAjZGVmaW5lIEhBVkVfU1lTX1RJTUVCX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNf VElNRV9IIDEKfCAjZGVmaW5lIEhBVkVfVU5JU1REX0ggMQp8ICNkZWZpbmUgSEFW RV9VVElNRV9IIDEKfCAjZGVmaW5lIEhBVkVfVEVSTUlPU19IIDEKfCAjZGVmaW5l IEhBVkVfTElNSVRTX0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJJTkdfSCAxCnwgI2Rl ZmluZSBIQVZFX1NURExJQl9IIDEKfCAjZGVmaW5lIEhBVkVfVEVSTUNBUF9IIDEK fCAjZGVmaW5lIEhBVkVfRkNOVExfSCAxCnwgI2RlZmluZSBIQVZFX1NUUklOR1Nf SCAxCnwgI2RlZmluZSBIQVZFX1BUWV9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX01N QU5fSCAxCnwgI2RlZmluZSBIQVZFX1NZU19QQVJBTV9IIDEKfCAjZGVmaW5lIEhB VkVfU1lTX1JFU09VUkNFX0ggMQp8ICNkZWZpbmUgSEFWRV9MT0NBTEVfSCAxCnwg I2RlZmluZSBIQVZFX1NZU19VVFNOQU1FX0ggMQp8ICNkZWZpbmUgSEFWRV9QV0Rf SCAxCnwgI2RlZmluZSBTVERDX0hFQURFUlMgMQp8ICNkZWZpbmUgVElNRV9XSVRI X1NZU19USU1FIDEKfCAjZGVmaW5lIEhBVkVfREVDTF9TWVNfU0lHTElTVCAwCnwg LyogZW5kIGNvbmZkZWZzLmguICAqLwp8ICNpbmNsdWRlIDxzdGRpby5oPgp8ICNp ZiBIQVZFX1NZU19UWVBFU19ICnwgIyBpbmNsdWRlIDxzeXMvdHlwZXMuaD4KfCAj ZW5kaWYKfCAjaWYgSEFWRV9TWVNfU1RBVF9ICnwgIyBpbmNsdWRlIDxzeXMvc3Rh dC5oPgp8ICNlbmRpZgp8ICNpZiBTVERDX0hFQURFUlMKfCAjIGluY2x1ZGUgPHN0 ZGxpYi5oPgp8ICMgaW5jbHVkZSA8c3RkZGVmLmg+CnwgI2Vsc2UKfCAjIGlmIEhB VkVfU1RETElCX0gKfCAjICBpbmNsdWRlIDxzdGRsaWIuaD4KfCAjIGVuZGlmCnwg I2VuZGlmCnwgI2lmIEhBVkVfU1RSSU5HX0gKfCAjIGlmICFTVERDX0hFQURFUlMg JiYgSEFWRV9NRU1PUllfSAp8ICMgIGluY2x1ZGUgPG1lbW9yeS5oPgp8ICMgZW5k aWYKfCAjIGluY2x1ZGUgPHN0cmluZy5oPgp8ICNlbmRpZgp8ICNpZiBIQVZFX1NU UklOR1NfSAp8ICMgaW5jbHVkZSA8c3RyaW5ncy5oPgp8ICNlbmRpZgp8ICNpZiBI QVZFX0lOVFRZUEVTX0gKfCAjIGluY2x1ZGUgPGludHR5cGVzLmg+CnwgI2Vsc2UK fCAjIGlmIEhBVkVfU1RESU5UX0gKfCAjICBpbmNsdWRlIDxzdGRpbnQuaD4KfCAj IGVuZGlmCnwgI2VuZGlmCnwgI2lmIEhBVkVfVU5JU1REX0gKfCAjIGluY2x1ZGUg PHVuaXN0ZC5oPgp8ICNlbmRpZgp8IGludAp8IG1haW4gKCkKfCB7CnwgI2lmbmRl ZiBfX3N5c19zaWdsaXN0CnwgICBjaGFyICpwID0gKGNoYXIgKikgX19zeXNfc2ln bGlzdDsKfCAjZW5kaWYKfCAKfCAgIDsKfCAgIHJldHVybiAwOwp8IH0KY29uZmln dXJlOjY0MDA6IHJlc3VsdDogbm8KY29uZmlndXJlOjY0MjY6IGNoZWNraW5nIGZv ciBzeXMvd2FpdC5oIHRoYXQgaXMgUE9TSVguMSBjb21wYXRpYmxlCmNvbmZpZ3Vy ZTo2NDU3OiBnY2MgLWMgLWcgLU8yICAgIGNvbmZ0ZXN0LmMgPiY1CmNvbmZpZ3Vy ZTo2NDYzOiAkPyA9IDAKY29uZmlndXJlOjY0Njc6IHRlc3QgLXogCgkJCSB8fCB0 ZXN0ICEgLXMgY29uZnRlc3QuZXJyCmNvbmZpZ3VyZTo2NDcwOiAkPyA9IDAKY29u ZmlndXJlOjY0NzM6IHRlc3QgLXMgY29uZnRlc3Qubwpjb25maWd1cmU6NjQ3Njog JD8gPSAwCmNvbmZpZ3VyZTo2NDg3OiByZXN1bHQ6IHllcwpjb25maWd1cmU6NjQ5 ODogY2hlY2tpbmcgZm9yIHN0cnVjdCB1dGltYnVmCmNvbmZpZ3VyZTo2NTMxOiBn Y2MgLWMgLWcgLU8yICAgIGNvbmZ0ZXN0LmMgPiY1CmNvbmZpZ3VyZTo2NTM3OiAk PyA9IDAKY29uZmlndXJlOjY1NDE6IHRlc3QgLXogCgkJCSB8fCB0ZXN0ICEgLXMg Y29uZnRlc3QuZXJyCmNvbmZpZ3VyZTo2NTQ0OiAkPyA9IDAKY29uZmlndXJlOjY1 NDc6IHRlc3QgLXMgY29uZnRlc3Qubwpjb25maWd1cmU6NjU1MDogJD8gPSAwCmNv bmZpZ3VyZTo2NTYxOiByZXN1bHQ6IHllcwpjb25maWd1cmU6NjU3MTogY2hlY2tp bmcgcmV0dXJuIHR5cGUgb2Ygc2lnbmFsIGhhbmRsZXJzCmNvbmZpZ3VyZTo2NjAy OiBnY2MgLWMgLWcgLU8yICAgIGNvbmZ0ZXN0LmMgPiY1CmNvbmZpZ3VyZTo2NjA4 OiAkPyA9IDAKY29uZmlndXJlOjY2MTI6IHRlc3QgLXogCgkJCSB8fCB0ZXN0ICEg LXMgY29uZnRlc3QuZXJyCmNvbmZpZ3VyZTo2NjE1OiAkPyA9IDAKY29uZmlndXJl OjY2MTg6IHRlc3QgLXMgY29uZnRlc3Qubwpjb25maWd1cmU6NjYyMTogJD8gPSAw CmNvbmZpZ3VyZTo2NjMyOiByZXN1bHQ6IHZvaWQKY29uZmlndXJlOjY2NDE6IGNo ZWNraW5nIGZvciBzcGVlZF90CmNvbmZpZ3VyZTo2NjYyOiBnY2MgLWMgLWcgLU8y ICAgIGNvbmZ0ZXN0LmMgPiY1CmNvbmZpZ3VyZTo2NjY4OiAkPyA9IDAKY29uZmln dXJlOjY2NzI6IHRlc3QgLXogCgkJCSB8fCB0ZXN0ICEgLXMgY29uZnRlc3QuZXJy CmNvbmZpZ3VyZTo2Njc1OiAkPyA9IDAKY29uZmlndXJlOjY2Nzg6IHRlc3QgLXMg Y29uZnRlc3Qubwpjb25maWd1cmU6NjY4MTogJD8gPSAwCmNvbmZpZ3VyZTo2Njky OiByZXN1bHQ6IHllcwpjb25maWd1cmU6NjcwMjogY2hlY2tpbmcgZm9yIHN0cnVj dCB0aW1ldmFsCmNvbmZpZ3VyZTo2NzMyOiBnY2MgLWMgLWcgLU8yICAgIGNvbmZ0 ZXN0LmMgPiY1CmNvbmZpZ3VyZTo2NzM4OiAkPyA9IDAKY29uZmlndXJlOjY3NDI6 IHRlc3QgLXogCgkJCSB8fCB0ZXN0ICEgLXMgY29uZnRlc3QuZXJyCmNvbmZpZ3Vy ZTo2NzQ1OiAkPyA9IDAKY29uZmlndXJlOjY3NDg6IHRlc3QgLXMgY29uZnRlc3Qu bwpjb25maWd1cmU6Njc1MTogJD8gPSAwCmNvbmZpZ3VyZTo2NzYyOiByZXN1bHQ6 IHllcwpjb25maWd1cmU6Njc3MzogY2hlY2tpbmcgZm9yIHN0cnVjdCBleGNlcHRp b24KY29uZmlndXJlOjY3OTQ6IGdjYyAtYyAtZyAtTzIgICAgY29uZnRlc3QuYyA+ JjUKY29uZmlndXJlOjY4MDA6ICQ/ID0gMApjb25maWd1cmU6NjgwNDogdGVzdCAt eiAKCQkJIHx8IHRlc3QgISAtcyBjb25mdGVzdC5lcnIKY29uZmlndXJlOjY4MDc6 ICQ/ID0gMApjb25maWd1cmU6NjgxMDogdGVzdCAtcyBjb25mdGVzdC5vCmNvbmZp Z3VyZTo2ODEzOiAkPyA9IDAKY29uZmlndXJlOjY4MjQ6IHJlc3VsdDogeWVzCmNv bmZpZ3VyZTo2ODQ5OiBjaGVja2luZyBzeXMvc29ja2V0LmggdXNhYmlsaXR5CmNv bmZpZ3VyZTo2ODYxOiBnY2MgLWMgLWcgLU8yICAgIGNvbmZ0ZXN0LmMgPiY1CmNv bmZpZ3VyZTo2ODY3OiAkPyA9IDAKY29uZmlndXJlOjY4NzE6IHRlc3QgLXogCgkJ CSB8fCB0ZXN0ICEgLXMgY29uZnRlc3QuZXJyCmNvbmZpZ3VyZTo2ODc0OiAkPyA9 IDAKY29uZmlndXJlOjY4Nzc6IHRlc3QgLXMgY29uZnRlc3Qubwpjb25maWd1cmU6 Njg4MDogJD8gPSAwCmNvbmZpZ3VyZTo2ODkwOiByZXN1bHQ6IHllcwpjb25maWd1 cmU6Njg5NDogY2hlY2tpbmcgc3lzL3NvY2tldC5oIHByZXNlbmNlCmNvbmZpZ3Vy ZTo2OTA0OiBnY2MgLUUgICAgY29uZnRlc3QuYwpjb25maWd1cmU6NjkxMDogJD8g PSAwCmNvbmZpZ3VyZTo2OTMwOiByZXN1bHQ6IHllcwpjb25maWd1cmU6Njk2NTog Y2hlY2tpbmcgZm9yIHN5cy9zb2NrZXQuaApjb25maWd1cmU6Njk3MjogcmVzdWx0 OiB5ZXMKY29uZmlndXJlOjY5ODk6IGNoZWNraW5nIGZvciBuZXQvaWYuaApjb25m aWd1cmU6NzAwODogZ2NjIC1jIC1nIC1PMiAgICBjb25mdGVzdC5jID4mNQpjb25m aWd1cmU6NzAxNDogJD8gPSAwCmNvbmZpZ3VyZTo3MDE4OiB0ZXN0IC16IAoJCQkg fHwgdGVzdCAhIC1zIGNvbmZ0ZXN0LmVycgpjb25maWd1cmU6NzAyMTogJD8gPSAw CmNvbmZpZ3VyZTo3MDI0OiB0ZXN0IC1zIGNvbmZ0ZXN0Lm8KY29uZmlndXJlOjcw Mjc6ICQ/ID0gMApjb25maWd1cmU6NzAzODogcmVzdWx0OiB5ZXMKY29uZmlndXJl OjcwNTA6IGNoZWNraW5nIHdoZXRoZXIgc3RydWN0IHRtIGlzIGluIHN5cy90aW1l Lmggb3IgdGltZS5oCmNvbmZpZ3VyZTo3MDczOiBnY2MgLWMgLWcgLU8yICAgIGNv bmZ0ZXN0LmMgPiY1CmNvbmZpZ3VyZTo3MDc5OiAkPyA9IDAKY29uZmlndXJlOjcw ODM6IHRlc3QgLXogCgkJCSB8fCB0ZXN0ICEgLXMgY29uZnRlc3QuZXJyCmNvbmZp Z3VyZTo3MDg2OiAkPyA9IDAKY29uZmlndXJlOjcwODk6IHRlc3QgLXMgY29uZnRl c3Qubwpjb25maWd1cmU6NzA5MjogJD8gPSAwCmNvbmZpZ3VyZTo3MTAzOiByZXN1 bHQ6IHRpbWUuaApjb25maWd1cmU6NzExMzogY2hlY2tpbmcgZm9yIHN0cnVjdCB0 bS50bV96b25lCmNvbmZpZ3VyZTo3MTM5OiBnY2MgLWMgLWcgLU8yICAgIGNvbmZ0 ZXN0LmMgPiY1CmNvbmZ0ZXN0LmM6IEluIGZ1bmN0aW9uIGBtYWluJzoKY29uZnRl c3QuYzo2MDogZXJyb3I6IHN0cnVjdHVyZSBoYXMgbm8gbWVtYmVyIG5hbWVkIGB0 bV96b25lJwpjb25maWd1cmU6NzE0NTogJD8gPSAxCmNvbmZpZ3VyZTogZmFpbGVk IHByb2dyYW0gd2FzOgp8IC8qIGNvbmZkZWZzLmguICAqLwp8IAp8ICNkZWZpbmUg UEFDS0FHRV9OQU1FICIiCnwgI2RlZmluZSBQQUNLQUdFX1RBUk5BTUUgIiIKfCAj ZGVmaW5lIFBBQ0tBR0VfVkVSU0lPTiAiIgp8ICNkZWZpbmUgUEFDS0FHRV9TVFJJ TkcgIiIKfCAjZGVmaW5lIFBBQ0tBR0VfQlVHUkVQT1JUICIiCnwgI2RlZmluZSBN QUlMX1VTRV9QT1AgMQp8ICNkZWZpbmUgX0dOVV9TT1VSQ0UgMQp8ICNkZWZpbmUg U1REQ19IRUFERVJTIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1RZUEVTX0ggMQp8ICNk ZWZpbmUgSEFWRV9TWVNfU1RBVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1RETElCX0gg MQp8ICNkZWZpbmUgSEFWRV9TVFJJTkdfSCAxCnwgI2RlZmluZSBIQVZFX01FTU9S WV9IIDEKfCAjZGVmaW5lIEhBVkVfU1RSSU5HU19IIDEKfCAjZGVmaW5lIEhBVkVf SU5UVFlQRVNfSCAxCnwgI2RlZmluZSBIQVZFX1NURElOVF9IIDEKfCAjZGVmaW5l IEhBVkVfVU5JU1REX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfU09VTkRDQVJEX0gg MQp8ICNkZWZpbmUgSEFWRV9TWVNfU0VMRUNUX0ggMQp8ICNkZWZpbmUgSEFWRV9T WVNfVElNRUJfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19USU1FX0ggMQp8ICNkZWZp bmUgSEFWRV9VTklTVERfSCAxCnwgI2RlZmluZSBIQVZFX1VUSU1FX0ggMQp8ICNk ZWZpbmUgSEFWRV9URVJNSU9TX0ggMQp8ICNkZWZpbmUgSEFWRV9MSU1JVFNfSCAx CnwgI2RlZmluZSBIQVZFX1NUUklOR19IIDEKfCAjZGVmaW5lIEhBVkVfU1RETElC X0ggMQp8ICNkZWZpbmUgSEFWRV9URVJNQ0FQX0ggMQp8ICNkZWZpbmUgSEFWRV9G Q05UTF9IIDEKfCAjZGVmaW5lIEhBVkVfU1RSSU5HU19IIDEKfCAjZGVmaW5lIEhB VkVfUFRZX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfTU1BTl9IIDEKfCAjZGVmaW5l IEhBVkVfU1lTX1BBUkFNX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfUkVTT1VSQ0Vf SCAxCnwgI2RlZmluZSBIQVZFX0xPQ0FMRV9IIDEKfCAjZGVmaW5lIEhBVkVfU1lT X1VUU05BTUVfSCAxCnwgI2RlZmluZSBIQVZFX1BXRF9IIDEKfCAjZGVmaW5lIFNU RENfSEVBREVSUyAxCnwgI2RlZmluZSBUSU1FX1dJVEhfU1lTX1RJTUUgMQp8ICNk ZWZpbmUgSEFWRV9ERUNMX1NZU19TSUdMSVNUIDAKfCAjZGVmaW5lIEhBVkVfREVD TF9fX1NZU19TSUdMSVNUIDAKfCAjZGVmaW5lIEhBVkVfU1lTX1dBSVRfSCAxCnwg I2RlZmluZSBIQVZFX1NUUlVDVF9VVElNQlVGIDEKfCAjZGVmaW5lIFJFVFNJR1RZ UEUgdm9pZAp8ICNkZWZpbmUgSEFWRV9TUEVFRF9UIDEKfCAjZGVmaW5lIEhBVkVf VElNRVZBTCAxCnwgI2RlZmluZSBIQVZFX1NZU19TT0NLRVRfSCAxCnwgI2RlZmlu ZSBIQVZFX05FVF9JRl9IIDEKfCAvKiBlbmQgY29uZmRlZnMuaC4gICovCnwgI2lu Y2x1ZGUgPHN5cy90eXBlcy5oPgp8ICNpbmNsdWRlIDx0aW1lLmg+CnwgCnwgCnwg aW50CnwgbWFpbiAoKQp8IHsKfCBzdGF0aWMgc3RydWN0IHRtIGFjX2FnZ3I7Cnwg aWYgKGFjX2FnZ3IudG1fem9uZSkKfCByZXR1cm4gMDsKfCAgIDsKfCAgIHJldHVy biAwOwp8IH0KY29uZmlndXJlOjcxODY6IGdjYyAtYyAtZyAtTzIgICAgY29uZnRl c3QuYyA+JjUKY29uZnRlc3QuYzogSW4gZnVuY3Rpb24gYG1haW4nOgpjb25mdGVz dC5jOjYwOiBlcnJvcjogc3RydWN0dXJlIGhhcyBubyBtZW1iZXIgbmFtZWQgYHRt X3pvbmUnCmNvbmZpZ3VyZTo3MTkyOiAkPyA9IDEKY29uZmlndXJlOiBmYWlsZWQg cHJvZ3JhbSB3YXM6CnwgLyogY29uZmRlZnMuaC4gICovCnwgCnwgI2RlZmluZSBQ QUNLQUdFX05BTUUgIiIKfCAjZGVmaW5lIFBBQ0tBR0VfVEFSTkFNRSAiIgp8ICNk ZWZpbmUgUEFDS0FHRV9WRVJTSU9OICIiCnwgI2RlZmluZSBQQUNLQUdFX1NUUklO RyAiIgp8ICNkZWZpbmUgUEFDS0FHRV9CVUdSRVBPUlQgIiIKfCAjZGVmaW5lIE1B SUxfVVNFX1BPUCAxCnwgI2RlZmluZSBfR05VX1NPVVJDRSAxCnwgI2RlZmluZSBT VERDX0hFQURFUlMgMQp8ICNkZWZpbmUgSEFWRV9TWVNfVFlQRVNfSCAxCnwgI2Rl ZmluZSBIQVZFX1NZU19TVEFUX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERMSUJfSCAx CnwgI2RlZmluZSBIQVZFX1NUUklOR19IIDEKfCAjZGVmaW5lIEhBVkVfTUVNT1JZ X0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJJTkdTX0ggMQp8ICNkZWZpbmUgSEFWRV9J TlRUWVBFU19IIDEKfCAjZGVmaW5lIEhBVkVfU1RESU5UX0ggMQp8ICNkZWZpbmUg SEFWRV9VTklTVERfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19TT1VORENBUkRfSCAx CnwgI2RlZmluZSBIQVZFX1NZU19TRUxFQ1RfSCAxCnwgI2RlZmluZSBIQVZFX1NZ U19USU1FQl9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1RJTUVfSCAxCnwgI2RlZmlu ZSBIQVZFX1VOSVNURF9IIDEKfCAjZGVmaW5lIEhBVkVfVVRJTUVfSCAxCnwgI2Rl ZmluZSBIQVZFX1RFUk1JT1NfSCAxCnwgI2RlZmluZSBIQVZFX0xJTUlUU19IIDEK fCAjZGVmaW5lIEhBVkVfU1RSSU5HX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERMSUJf SCAxCnwgI2RlZmluZSBIQVZFX1RFUk1DQVBfSCAxCnwgI2RlZmluZSBIQVZFX0ZD TlRMX0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJJTkdTX0ggMQp8ICNkZWZpbmUgSEFW RV9QVFlfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19NTUFOX0ggMQp8ICNkZWZpbmUg SEFWRV9TWVNfUEFSQU1fSCAxCnwgI2RlZmluZSBIQVZFX1NZU19SRVNPVVJDRV9I IDEKfCAjZGVmaW5lIEhBVkVfTE9DQUxFX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNf VVRTTkFNRV9IIDEKfCAjZGVmaW5lIEhBVkVfUFdEX0ggMQp8ICNkZWZpbmUgU1RE Q19IRUFERVJTIDEKfCAjZGVmaW5lIFRJTUVfV0lUSF9TWVNfVElNRSAxCnwgI2Rl ZmluZSBIQVZFX0RFQ0xfU1lTX1NJR0xJU1QgMAp8ICNkZWZpbmUgSEFWRV9ERUNM X19fU1lTX1NJR0xJU1QgMAp8ICNkZWZpbmUgSEFWRV9TWVNfV0FJVF9IIDEKfCAj ZGVmaW5lIEhBVkVfU1RSVUNUX1VUSU1CVUYgMQp8ICNkZWZpbmUgUkVUU0lHVFlQ RSB2b2lkCnwgI2RlZmluZSBIQVZFX1NQRUVEX1QgMQp8ICNkZWZpbmUgSEFWRV9U SU1FVkFMIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NPQ0tFVF9IIDEKfCAjZGVmaW5l IEhBVkVfTkVUX0lGX0ggMQp8IC8qIGVuZCBjb25mZGVmcy5oLiAgKi8KfCAjaW5j bHVkZSA8c3lzL3R5cGVzLmg+CnwgI2luY2x1ZGUgPHRpbWUuaD4KfCAKfCAKfCBp bnQKfCBtYWluICgpCnwgewp8IHN0YXRpYyBzdHJ1Y3QgdG0gYWNfYWdncjsKfCBp ZiAoc2l6ZW9mIGFjX2FnZ3IudG1fem9uZSkKfCByZXR1cm4gMDsKfCAgIDsKfCAg IHJldHVybiAwOwp8IH0KY29uZmlndXJlOjcyMTg6IHJlc3VsdDogbm8KY29uZmln dXJlOjcyMzY6IGNoZWNraW5nIGZvciB0em5hbWUKY29uZmlndXJlOjcyNjE6IGdj YyAtbyBjb25mdGVzdC5leGUgLWcgLU8yICAgICBjb25mdGVzdC5jICA+JjUgIApj b25maWd1cmU6NzI2NzogJD8gPSAwCmNvbmZpZ3VyZTo3MjcxOiB0ZXN0IC16IAoJ CQkgfHwgdGVzdCAhIC1zIGNvbmZ0ZXN0LmVycgpjb25maWd1cmU6NzI3NDogJD8g PSAwCmNvbmZpZ3VyZTo3Mjc3OiB0ZXN0IC1zIGNvbmZ0ZXN0LmV4ZQpjb25maWd1 cmU6NzI4MDogJD8gPSAwCmNvbmZpZ3VyZTo3MjkyOiByZXN1bHQ6IHllcwpjb25m aWd1cmU6NzMwMzogY2hlY2tpbmcgZm9yIHN0cnVjdCB0bS50bV9nbXRvZmYKY29u ZmlndXJlOjczMjc6IGdjYyAtYyAtZyAtTzIgICAgY29uZnRlc3QuYyA+JjUKY29u ZnRlc3QuYzogSW4gZnVuY3Rpb24gYG1haW4nOgpjb25mdGVzdC5jOjU5OiBlcnJv cjogc3RydWN0dXJlIGhhcyBubyBtZW1iZXIgbmFtZWQgYHRtX2dtdG9mZicKY29u ZmlndXJlOjczMzM6ICQ/ID0gMQpjb25maWd1cmU6IGZhaWxlZCBwcm9ncmFtIHdh czoKfCAvKiBjb25mZGVmcy5oLiAgKi8KfCAKfCAjZGVmaW5lIFBBQ0tBR0VfTkFN RSAiIgp8ICNkZWZpbmUgUEFDS0FHRV9UQVJOQU1FICIiCnwgI2RlZmluZSBQQUNL QUdFX1ZFUlNJT04gIiIKfCAjZGVmaW5lIFBBQ0tBR0VfU1RSSU5HICIiCnwgI2Rl ZmluZSBQQUNLQUdFX0JVR1JFUE9SVCAiIgp8ICNkZWZpbmUgTUFJTF9VU0VfUE9Q IDEKfCAjZGVmaW5lIF9HTlVfU09VUkNFIDEKfCAjZGVmaW5lIFNURENfSEVBREVS UyAxCnwgI2RlZmluZSBIQVZFX1NZU19UWVBFU19IIDEKfCAjZGVmaW5lIEhBVkVf U1lTX1NUQVRfSCAxCnwgI2RlZmluZSBIQVZFX1NURExJQl9IIDEKfCAjZGVmaW5l IEhBVkVfU1RSSU5HX0ggMQp8ICNkZWZpbmUgSEFWRV9NRU1PUllfSCAxCnwgI2Rl ZmluZSBIQVZFX1NUUklOR1NfSCAxCnwgI2RlZmluZSBIQVZFX0lOVFRZUEVTX0gg MQp8ICNkZWZpbmUgSEFWRV9TVERJTlRfSCAxCnwgI2RlZmluZSBIQVZFX1VOSVNU RF9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NPVU5EQ0FSRF9IIDEKfCAjZGVmaW5l IEhBVkVfU1lTX1NFTEVDVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1RJTUVCX0gg MQp8ICNkZWZpbmUgSEFWRV9TWVNfVElNRV9IIDEKfCAjZGVmaW5lIEhBVkVfVU5J U1REX0ggMQp8ICNkZWZpbmUgSEFWRV9VVElNRV9IIDEKfCAjZGVmaW5lIEhBVkVf VEVSTUlPU19IIDEKfCAjZGVmaW5lIEhBVkVfTElNSVRTX0ggMQp8ICNkZWZpbmUg SEFWRV9TVFJJTkdfSCAxCnwgI2RlZmluZSBIQVZFX1NURExJQl9IIDEKfCAjZGVm aW5lIEhBVkVfVEVSTUNBUF9IIDEKfCAjZGVmaW5lIEhBVkVfRkNOVExfSCAxCnwg I2RlZmluZSBIQVZFX1NUUklOR1NfSCAxCnwgI2RlZmluZSBIQVZFX1BUWV9IIDEK fCAjZGVmaW5lIEhBVkVfU1lTX01NQU5fSCAxCnwgI2RlZmluZSBIQVZFX1NZU19Q QVJBTV9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1JFU09VUkNFX0ggMQp8ICNkZWZp bmUgSEFWRV9MT0NBTEVfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19VVFNOQU1FX0gg MQp8ICNkZWZpbmUgSEFWRV9QV0RfSCAxCnwgI2RlZmluZSBTVERDX0hFQURFUlMg MQp8ICNkZWZpbmUgVElNRV9XSVRIX1NZU19USU1FIDEKfCAjZGVmaW5lIEhBVkVf REVDTF9TWVNfU0lHTElTVCAwCnwgI2RlZmluZSBIQVZFX0RFQ0xfX19TWVNfU0lH TElTVCAwCnwgI2RlZmluZSBIQVZFX1NZU19XQUlUX0ggMQp8ICNkZWZpbmUgSEFW RV9TVFJVQ1RfVVRJTUJVRiAxCnwgI2RlZmluZSBSRVRTSUdUWVBFIHZvaWQKfCAj ZGVmaW5lIEhBVkVfU1BFRURfVCAxCnwgI2RlZmluZSBIQVZFX1RJTUVWQUwgMQp8 ICNkZWZpbmUgSEFWRV9TWVNfU09DS0VUX0ggMQp8ICNkZWZpbmUgSEFWRV9ORVRf SUZfSCAxCnwgI2RlZmluZSBIQVZFX1RaTkFNRSAxCnwgLyogZW5kIGNvbmZkZWZz LmguICAqLwp8ICNpbmNsdWRlIDx0aW1lLmg+CnwgCnwgaW50CnwgbWFpbiAoKQp8 IHsKfCBzdGF0aWMgc3RydWN0IHRtIGFjX2FnZ3I7CnwgaWYgKGFjX2FnZ3IudG1f Z210b2ZmKQp8IHJldHVybiAwOwp8ICAgOwp8ICAgcmV0dXJuIDA7CnwgfQpjb25m aWd1cmU6NzM3MjogZ2NjIC1jIC1nIC1PMiAgICBjb25mdGVzdC5jID4mNQpjb25m dGVzdC5jOiBJbiBmdW5jdGlvbiBgbWFpbic6CmNvbmZ0ZXN0LmM6NTk6IGVycm9y OiBzdHJ1Y3R1cmUgaGFzIG5vIG1lbWJlciBuYW1lZCBgdG1fZ210b2ZmJwpjb25m aWd1cmU6NzM3ODogJD8gPSAxCmNvbmZpZ3VyZTogZmFpbGVkIHByb2dyYW0gd2Fz Ogp8IC8qIGNvbmZkZWZzLmguICAqLwp8IAp8ICNkZWZpbmUgUEFDS0FHRV9OQU1F ICIiCnwgI2RlZmluZSBQQUNLQUdFX1RBUk5BTUUgIiIKfCAjZGVmaW5lIFBBQ0tB R0VfVkVSU0lPTiAiIgp8ICNkZWZpbmUgUEFDS0FHRV9TVFJJTkcgIiIKfCAjZGVm aW5lIFBBQ0tBR0VfQlVHUkVQT1JUICIiCnwgI2RlZmluZSBNQUlMX1VTRV9QT1Ag MQp8ICNkZWZpbmUgX0dOVV9TT1VSQ0UgMQp8ICNkZWZpbmUgU1REQ19IRUFERVJT IDEKfCAjZGVmaW5lIEhBVkVfU1lTX1RZUEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9T WVNfU1RBVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1RETElCX0ggMQp8ICNkZWZpbmUg SEFWRV9TVFJJTkdfSCAxCnwgI2RlZmluZSBIQVZFX01FTU9SWV9IIDEKfCAjZGVm aW5lIEhBVkVfU1RSSU5HU19IIDEKfCAjZGVmaW5lIEhBVkVfSU5UVFlQRVNfSCAx CnwgI2RlZmluZSBIQVZFX1NURElOVF9IIDEKfCAjZGVmaW5lIEhBVkVfVU5JU1RE X0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfU09VTkRDQVJEX0ggMQp8ICNkZWZpbmUg SEFWRV9TWVNfU0VMRUNUX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfVElNRUJfSCAx CnwgI2RlZmluZSBIQVZFX1NZU19USU1FX0ggMQp8ICNkZWZpbmUgSEFWRV9VTklT VERfSCAxCnwgI2RlZmluZSBIQVZFX1VUSU1FX0ggMQp8ICNkZWZpbmUgSEFWRV9U RVJNSU9TX0ggMQp8ICNkZWZpbmUgSEFWRV9MSU1JVFNfSCAxCnwgI2RlZmluZSBI QVZFX1NUUklOR19IIDEKfCAjZGVmaW5lIEhBVkVfU1RETElCX0ggMQp8ICNkZWZp bmUgSEFWRV9URVJNQ0FQX0ggMQp8ICNkZWZpbmUgSEFWRV9GQ05UTF9IIDEKfCAj ZGVmaW5lIEhBVkVfU1RSSU5HU19IIDEKfCAjZGVmaW5lIEhBVkVfUFRZX0ggMQp8 ICNkZWZpbmUgSEFWRV9TWVNfTU1BTl9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1BB UkFNX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfUkVTT1VSQ0VfSCAxCnwgI2RlZmlu ZSBIQVZFX0xPQ0FMRV9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1VUU05BTUVfSCAx CnwgI2RlZmluZSBIQVZFX1BXRF9IIDEKfCAjZGVmaW5lIFNURENfSEVBREVSUyAx CnwgI2RlZmluZSBUSU1FX1dJVEhfU1lTX1RJTUUgMQp8ICNkZWZpbmUgSEFWRV9E RUNMX1NZU19TSUdMSVNUIDAKfCAjZGVmaW5lIEhBVkVfREVDTF9fX1NZU19TSUdM SVNUIDAKfCAjZGVmaW5lIEhBVkVfU1lTX1dBSVRfSCAxCnwgI2RlZmluZSBIQVZF X1NUUlVDVF9VVElNQlVGIDEKfCAjZGVmaW5lIFJFVFNJR1RZUEUgdm9pZAp8ICNk ZWZpbmUgSEFWRV9TUEVFRF9UIDEKfCAjZGVmaW5lIEhBVkVfVElNRVZBTCAxCnwg I2RlZmluZSBIQVZFX1NZU19TT0NLRVRfSCAxCnwgI2RlZmluZSBIQVZFX05FVF9J Rl9IIDEKfCAjZGVmaW5lIEhBVkVfVFpOQU1FIDEKfCAvKiBlbmQgY29uZmRlZnMu aC4gICovCnwgI2luY2x1ZGUgPHRpbWUuaD4KfCAKfCBpbnQKfCBtYWluICgpCnwg ewp8IHN0YXRpYyBzdHJ1Y3QgdG0gYWNfYWdncjsKfCBpZiAoc2l6ZW9mIGFjX2Fn Z3IudG1fZ210b2ZmKQp8IHJldHVybiAwOwp8ICAgOwp8ICAgcmV0dXJuIDA7Cnwg fQpjb25maWd1cmU6NzQwNDogcmVzdWx0OiBubwpjb25maWd1cmU6NzQxNDogY2hl Y2tpbmcgZm9yIHN0cnVjdCBpZnJlcS5pZnJfZmxhZ3MKY29uZmlndXJlOjc0NDQ6 IGdjYyAtYyAtZyAtTzIgICAgY29uZnRlc3QuYyA+JjUKY29uZmlndXJlOjc0NTA6 ICQ/ID0gMApjb25maWd1cmU6NzQ1NDogdGVzdCAteiAKCQkJIHx8IHRlc3QgISAt cyBjb25mdGVzdC5lcnIKY29uZmlndXJlOjc0NTc6ICQ/ID0gMApjb25maWd1cmU6 NzQ2MDogdGVzdCAtcyBjb25mdGVzdC5vCmNvbmZpZ3VyZTo3NDYzOiAkPyA9IDAK Y29uZmlndXJlOjc1Mjc6IHJlc3VsdDogeWVzCmNvbmZpZ3VyZTo3NTM3OiBjaGVj a2luZyBmb3Igc3RydWN0IGlmcmVxLmlmcl9od2FkZHIKY29uZmlndXJlOjc1Njc6 IGdjYyAtYyAtZyAtTzIgICAgY29uZnRlc3QuYyA+JjUKY29uZnRlc3QuYzogSW4g ZnVuY3Rpb24gYG1haW4nOgpjb25mdGVzdC5jOjk5OiBlcnJvcjogaW52YWxpZCBv cGVyYW5kcyB0byBiaW5hcnkgIT0KY29uZmlndXJlOjc1NzM6ICQ/ID0gMQpjb25m aWd1cmU6IGZhaWxlZCBwcm9ncmFtIHdhczoKfCAvKiBjb25mZGVmcy5oLiAgKi8K fCAKfCAjZGVmaW5lIFBBQ0tBR0VfTkFNRSAiIgp8ICNkZWZpbmUgUEFDS0FHRV9U QVJOQU1FICIiCnwgI2RlZmluZSBQQUNLQUdFX1ZFUlNJT04gIiIKfCAjZGVmaW5l IFBBQ0tBR0VfU1RSSU5HICIiCnwgI2RlZmluZSBQQUNLQUdFX0JVR1JFUE9SVCAi Igp8ICNkZWZpbmUgTUFJTF9VU0VfUE9QIDEKfCAjZGVmaW5lIF9HTlVfU09VUkNF IDEKfCAjZGVmaW5lIFNURENfSEVBREVSUyAxCnwgI2RlZmluZSBIQVZFX1NZU19U WVBFU19IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NUQVRfSCAxCnwgI2RlZmluZSBI QVZFX1NURExJQl9IIDEKfCAjZGVmaW5lIEhBVkVfU1RSSU5HX0ggMQp8ICNkZWZp bmUgSEFWRV9NRU1PUllfSCAxCnwgI2RlZmluZSBIQVZFX1NUUklOR1NfSCAxCnwg I2RlZmluZSBIQVZFX0lOVFRZUEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERJTlRf SCAxCnwgI2RlZmluZSBIQVZFX1VOSVNURF9IIDEKfCAjZGVmaW5lIEhBVkVfU1lT X1NPVU5EQ0FSRF9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NFTEVDVF9IIDEKfCAj ZGVmaW5lIEhBVkVfU1lTX1RJTUVCX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfVElN RV9IIDEKfCAjZGVmaW5lIEhBVkVfVU5JU1REX0ggMQp8ICNkZWZpbmUgSEFWRV9V VElNRV9IIDEKfCAjZGVmaW5lIEhBVkVfVEVSTUlPU19IIDEKfCAjZGVmaW5lIEhB VkVfTElNSVRTX0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJJTkdfSCAxCnwgI2RlZmlu ZSBIQVZFX1NURExJQl9IIDEKfCAjZGVmaW5lIEhBVkVfVEVSTUNBUF9IIDEKfCAj ZGVmaW5lIEhBVkVfRkNOVExfSCAxCnwgI2RlZmluZSBIQVZFX1NUUklOR1NfSCAx CnwgI2RlZmluZSBIQVZFX1BUWV9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX01NQU5f SCAxCnwgI2RlZmluZSBIQVZFX1NZU19QQVJBTV9IIDEKfCAjZGVmaW5lIEhBVkVf U1lTX1JFU09VUkNFX0ggMQp8ICNkZWZpbmUgSEFWRV9MT0NBTEVfSCAxCnwgI2Rl ZmluZSBIQVZFX1NZU19VVFNOQU1FX0ggMQp8ICNkZWZpbmUgSEFWRV9QV0RfSCAx CnwgI2RlZmluZSBTVERDX0hFQURFUlMgMQp8ICNkZWZpbmUgVElNRV9XSVRIX1NZ U19USU1FIDEKfCAjZGVmaW5lIEhBVkVfREVDTF9TWVNfU0lHTElTVCAwCnwgI2Rl ZmluZSBIQVZFX0RFQ0xfX19TWVNfU0lHTElTVCAwCnwgI2RlZmluZSBIQVZFX1NZ U19XQUlUX0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJVQ1RfVVRJTUJVRiAxCnwgI2Rl ZmluZSBSRVRTSUdUWVBFIHZvaWQKfCAjZGVmaW5lIEhBVkVfU1BFRURfVCAxCnwg I2RlZmluZSBIQVZFX1RJTUVWQUwgMQp8ICNkZWZpbmUgSEFWRV9TWVNfU09DS0VU X0ggMQp8ICNkZWZpbmUgSEFWRV9ORVRfSUZfSCAxCnwgI2RlZmluZSBIQVZFX1Ra TkFNRSAxCnwgI2RlZmluZSBIQVZFX1NUUlVDVF9JRlJFUV9JRlJfRkxBR1MgMQp8 IC8qIGVuZCBjb25mZGVmcy5oLiAgKi8KfCAjaW5jbHVkZSA8c3RkaW8uaD4KfCAj aWYgSEFWRV9TWVNfVFlQRVNfSAp8ICMgaW5jbHVkZSA8c3lzL3R5cGVzLmg+Cnwg I2VuZGlmCnwgI2lmIEhBVkVfU1lTX1NUQVRfSAp8ICMgaW5jbHVkZSA8c3lzL3N0 YXQuaD4KfCAjZW5kaWYKfCAjaWYgU1REQ19IRUFERVJTCnwgIyBpbmNsdWRlIDxz dGRsaWIuaD4KfCAjIGluY2x1ZGUgPHN0ZGRlZi5oPgp8ICNlbHNlCnwgIyBpZiBI QVZFX1NURExJQl9ICnwgIyAgaW5jbHVkZSA8c3RkbGliLmg+CnwgIyBlbmRpZgp8 ICNlbmRpZgp8ICNpZiBIQVZFX1NUUklOR19ICnwgIyBpZiAhU1REQ19IRUFERVJT ICYmIEhBVkVfTUVNT1JZX0gKfCAjICBpbmNsdWRlIDxtZW1vcnkuaD4KfCAjIGVu ZGlmCnwgIyBpbmNsdWRlIDxzdHJpbmcuaD4KfCAjZW5kaWYKfCAjaWYgSEFWRV9T VFJJTkdTX0gKfCAjIGluY2x1ZGUgPHN0cmluZ3MuaD4KfCAjZW5kaWYKfCAjaWYg SEFWRV9JTlRUWVBFU19ICnwgIyBpbmNsdWRlIDxpbnR0eXBlcy5oPgp8ICNlbHNl CnwgIyBpZiBIQVZFX1NURElOVF9ICnwgIyAgaW5jbHVkZSA8c3RkaW50Lmg+Cnwg IyBlbmRpZgp8ICNlbmRpZgp8ICNpZiBIQVZFX1VOSVNURF9ICnwgIyBpbmNsdWRl IDx1bmlzdGQuaD4KfCAjZW5kaWYKfCAjaWYgSEFWRV9TWVNfU09DS0VUX0gKfCAj aW5jbHVkZSA8c3lzL3NvY2tldC5oPgp8ICNlbmRpZgp8ICNpZiBIQVZFX05FVF9J Rl9ICnwgI2luY2x1ZGUgPG5ldC9pZi5oPgp8ICNlbmRpZgp8IAp8IGludAp8IG1h aW4gKCkKfCB7Cnwgc3RhdGljIHN0cnVjdCBpZnJlcSBhY19hZ2dyOwp8IGlmIChh Y19hZ2dyLmlmcl9od2FkZHIpCnwgcmV0dXJuIDA7CnwgICA7CnwgICByZXR1cm4g MDsKfCB9CmNvbmZpZ3VyZTo3NjE4OiBnY2MgLWMgLWcgLU8yICAgIGNvbmZ0ZXN0 LmMgPiY1CmNvbmZpZ3VyZTo3NjI0OiAkPyA9IDAKY29uZmlndXJlOjc2Mjg6IHRl c3QgLXogCgkJCSB8fCB0ZXN0ICEgLXMgY29uZnRlc3QuZXJyCmNvbmZpZ3VyZTo3 NjMxOiAkPyA9IDAKY29uZmlndXJlOjc2MzQ6IHRlc3QgLXMgY29uZnRlc3Qubwpj b25maWd1cmU6NzYzNzogJD8gPSAwCmNvbmZpZ3VyZTo3NjUwOiByZXN1bHQ6IHll cwpjb25maWd1cmU6NzY2MDogY2hlY2tpbmcgZm9yIHN0cnVjdCBpZnJlcS5pZnJf bmV0bWFzawpjb25maWd1cmU6NzY5MDogZ2NjIC1jIC1nIC1PMiAgICBjb25mdGVz dC5jID4mNQpjb25mdGVzdC5jOiBJbiBmdW5jdGlvbiBgbWFpbic6CmNvbmZ0ZXN0 LmM6MTAwOiBlcnJvcjogaW52YWxpZCBvcGVyYW5kcyB0byBiaW5hcnkgIT0KY29u ZmlndXJlOjc2OTY6ICQ/ID0gMQpjb25maWd1cmU6IGZhaWxlZCBwcm9ncmFtIHdh czoKfCAvKiBjb25mZGVmcy5oLiAgKi8KfCAKfCAjZGVmaW5lIFBBQ0tBR0VfTkFN RSAiIgp8ICNkZWZpbmUgUEFDS0FHRV9UQVJOQU1FICIiCnwgI2RlZmluZSBQQUNL QUdFX1ZFUlNJT04gIiIKfCAjZGVmaW5lIFBBQ0tBR0VfU1RSSU5HICIiCnwgI2Rl ZmluZSBQQUNLQUdFX0JVR1JFUE9SVCAiIgp8ICNkZWZpbmUgTUFJTF9VU0VfUE9Q IDEKfCAjZGVmaW5lIF9HTlVfU09VUkNFIDEKfCAjZGVmaW5lIFNURENfSEVBREVS UyAxCnwgI2RlZmluZSBIQVZFX1NZU19UWVBFU19IIDEKfCAjZGVmaW5lIEhBVkVf U1lTX1NUQVRfSCAxCnwgI2RlZmluZSBIQVZFX1NURExJQl9IIDEKfCAjZGVmaW5l IEhBVkVfU1RSSU5HX0ggMQp8ICNkZWZpbmUgSEFWRV9NRU1PUllfSCAxCnwgI2Rl ZmluZSBIQVZFX1NUUklOR1NfSCAxCnwgI2RlZmluZSBIQVZFX0lOVFRZUEVTX0gg MQp8ICNkZWZpbmUgSEFWRV9TVERJTlRfSCAxCnwgI2RlZmluZSBIQVZFX1VOSVNU RF9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NPVU5EQ0FSRF9IIDEKfCAjZGVmaW5l IEhBVkVfU1lTX1NFTEVDVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1RJTUVCX0gg MQp8ICNkZWZpbmUgSEFWRV9TWVNfVElNRV9IIDEKfCAjZGVmaW5lIEhBVkVfVU5J U1REX0ggMQp8ICNkZWZpbmUgSEFWRV9VVElNRV9IIDEKfCAjZGVmaW5lIEhBVkVf VEVSTUlPU19IIDEKfCAjZGVmaW5lIEhBVkVfTElNSVRTX0ggMQp8ICNkZWZpbmUg SEFWRV9TVFJJTkdfSCAxCnwgI2RlZmluZSBIQVZFX1NURExJQl9IIDEKfCAjZGVm aW5lIEhBVkVfVEVSTUNBUF9IIDEKfCAjZGVmaW5lIEhBVkVfRkNOVExfSCAxCnwg I2RlZmluZSBIQVZFX1NUUklOR1NfSCAxCnwgI2RlZmluZSBIQVZFX1BUWV9IIDEK fCAjZGVmaW5lIEhBVkVfU1lTX01NQU5fSCAxCnwgI2RlZmluZSBIQVZFX1NZU19Q QVJBTV9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1JFU09VUkNFX0ggMQp8ICNkZWZp bmUgSEFWRV9MT0NBTEVfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19VVFNOQU1FX0gg MQp8ICNkZWZpbmUgSEFWRV9QV0RfSCAxCnwgI2RlZmluZSBTVERDX0hFQURFUlMg MQp8ICNkZWZpbmUgVElNRV9XSVRIX1NZU19USU1FIDEKfCAjZGVmaW5lIEhBVkVf REVDTF9TWVNfU0lHTElTVCAwCnwgI2RlZmluZSBIQVZFX0RFQ0xfX19TWVNfU0lH TElTVCAwCnwgI2RlZmluZSBIQVZFX1NZU19XQUlUX0ggMQp8ICNkZWZpbmUgSEFW RV9TVFJVQ1RfVVRJTUJVRiAxCnwgI2RlZmluZSBSRVRTSUdUWVBFIHZvaWQKfCAj ZGVmaW5lIEhBVkVfU1BFRURfVCAxCnwgI2RlZmluZSBIQVZFX1RJTUVWQUwgMQp8 ICNkZWZpbmUgSEFWRV9TWVNfU09DS0VUX0ggMQp8ICNkZWZpbmUgSEFWRV9ORVRf SUZfSCAxCnwgI2RlZmluZSBIQVZFX1RaTkFNRSAxCnwgI2RlZmluZSBIQVZFX1NU UlVDVF9JRlJFUV9JRlJfRkxBR1MgMQp8ICNkZWZpbmUgSEFWRV9TVFJVQ1RfSUZS RVFfSUZSX0hXQUREUiAxCnwgLyogZW5kIGNvbmZkZWZzLmguICAqLwp8ICNpbmNs dWRlIDxzdGRpby5oPgp8ICNpZiBIQVZFX1NZU19UWVBFU19ICnwgIyBpbmNsdWRl IDxzeXMvdHlwZXMuaD4KfCAjZW5kaWYKfCAjaWYgSEFWRV9TWVNfU1RBVF9ICnwg IyBpbmNsdWRlIDxzeXMvc3RhdC5oPgp8ICNlbmRpZgp8ICNpZiBTVERDX0hFQURF UlMKfCAjIGluY2x1ZGUgPHN0ZGxpYi5oPgp8ICMgaW5jbHVkZSA8c3RkZGVmLmg+ CnwgI2Vsc2UKfCAjIGlmIEhBVkVfU1RETElCX0gKfCAjICBpbmNsdWRlIDxzdGRs aWIuaD4KfCAjIGVuZGlmCnwgI2VuZGlmCnwgI2lmIEhBVkVfU1RSSU5HX0gKfCAj IGlmICFTVERDX0hFQURFUlMgJiYgSEFWRV9NRU1PUllfSAp8ICMgIGluY2x1ZGUg PG1lbW9yeS5oPgp8ICMgZW5kaWYKfCAjIGluY2x1ZGUgPHN0cmluZy5oPgp8ICNl bmRpZgp8ICNpZiBIQVZFX1NUUklOR1NfSAp8ICMgaW5jbHVkZSA8c3RyaW5ncy5o Pgp8ICNlbmRpZgp8ICNpZiBIQVZFX0lOVFRZUEVTX0gKfCAjIGluY2x1ZGUgPGlu dHR5cGVzLmg+CnwgI2Vsc2UKfCAjIGlmIEhBVkVfU1RESU5UX0gKfCAjICBpbmNs dWRlIDxzdGRpbnQuaD4KfCAjIGVuZGlmCnwgI2VuZGlmCnwgI2lmIEhBVkVfVU5J U1REX0gKfCAjIGluY2x1ZGUgPHVuaXN0ZC5oPgp8ICNlbmRpZgp8ICNpZiBIQVZF X1NZU19TT0NLRVRfSAp8ICNpbmNsdWRlIDxzeXMvc29ja2V0Lmg+CnwgI2VuZGlm CnwgI2lmIEhBVkVfTkVUX0lGX0gKfCAjaW5jbHVkZSA8bmV0L2lmLmg+CnwgI2Vu ZGlmCnwgCnwgaW50CnwgbWFpbiAoKQp8IHsKfCBzdGF0aWMgc3RydWN0IGlmcmVx IGFjX2FnZ3I7CnwgaWYgKGFjX2FnZ3IuaWZyX25ldG1hc2spCnwgcmV0dXJuIDA7 CnwgICA7CnwgICByZXR1cm4gMDsKfCB9CmNvbmZpZ3VyZTo3NzQxOiBnY2MgLWMg LWcgLU8yICAgIGNvbmZ0ZXN0LmMgPiY1CmNvbmZpZ3VyZTo3NzQ3OiAkPyA9IDAK Y29uZmlndXJlOjc3NTE6IHRlc3QgLXogCgkJCSB8fCB0ZXN0ICEgLXMgY29uZnRl c3QuZXJyCmNvbmZpZ3VyZTo3NzU0OiAkPyA9IDAKY29uZmlndXJlOjc3NTc6IHRl c3QgLXMgY29uZnRlc3Qubwpjb25maWd1cmU6Nzc2MDogJD8gPSAwCmNvbmZpZ3Vy ZTo3NzczOiByZXN1bHQ6IHllcwpjb25maWd1cmU6Nzc4MzogY2hlY2tpbmcgZm9y IHN0cnVjdCBpZnJlcS5pZnJfYnJvYWRhZGRyCmNvbmZpZ3VyZTo3ODEzOiBnY2Mg LWMgLWcgLU8yICAgIGNvbmZ0ZXN0LmMgPiY1CmNvbmZ0ZXN0LmM6IEluIGZ1bmN0 aW9uIGBtYWluJzoKY29uZnRlc3QuYzoxMDE6IGVycm9yOiBpbnZhbGlkIG9wZXJh bmRzIHRvIGJpbmFyeSAhPQpjb25maWd1cmU6NzgxOTogJD8gPSAxCmNvbmZpZ3Vy ZTogZmFpbGVkIHByb2dyYW0gd2FzOgp8IC8qIGNvbmZkZWZzLmguICAqLwp8IAp8 ICNkZWZpbmUgUEFDS0FHRV9OQU1FICIiCnwgI2RlZmluZSBQQUNLQUdFX1RBUk5B TUUgIiIKfCAjZGVmaW5lIFBBQ0tBR0VfVkVSU0lPTiAiIgp8ICNkZWZpbmUgUEFD S0FHRV9TVFJJTkcgIiIKfCAjZGVmaW5lIFBBQ0tBR0VfQlVHUkVQT1JUICIiCnwg I2RlZmluZSBNQUlMX1VTRV9QT1AgMQp8ICNkZWZpbmUgX0dOVV9TT1VSQ0UgMQp8 ICNkZWZpbmUgU1REQ19IRUFERVJTIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1RZUEVT X0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfU1RBVF9IIDEKfCAjZGVmaW5lIEhBVkVf U1RETElCX0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJJTkdfSCAxCnwgI2RlZmluZSBI QVZFX01FTU9SWV9IIDEKfCAjZGVmaW5lIEhBVkVfU1RSSU5HU19IIDEKfCAjZGVm aW5lIEhBVkVfSU5UVFlQRVNfSCAxCnwgI2RlZmluZSBIQVZFX1NURElOVF9IIDEK fCAjZGVmaW5lIEhBVkVfVU5JU1REX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfU09V TkRDQVJEX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfU0VMRUNUX0ggMQp8ICNkZWZp bmUgSEFWRV9TWVNfVElNRUJfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19USU1FX0gg MQp8ICNkZWZpbmUgSEFWRV9VTklTVERfSCAxCnwgI2RlZmluZSBIQVZFX1VUSU1F X0ggMQp8ICNkZWZpbmUgSEFWRV9URVJNSU9TX0ggMQp8ICNkZWZpbmUgSEFWRV9M SU1JVFNfSCAxCnwgI2RlZmluZSBIQVZFX1NUUklOR19IIDEKfCAjZGVmaW5lIEhB VkVfU1RETElCX0ggMQp8ICNkZWZpbmUgSEFWRV9URVJNQ0FQX0ggMQp8ICNkZWZp bmUgSEFWRV9GQ05UTF9IIDEKfCAjZGVmaW5lIEhBVkVfU1RSSU5HU19IIDEKfCAj ZGVmaW5lIEhBVkVfUFRZX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfTU1BTl9IIDEK fCAjZGVmaW5lIEhBVkVfU1lTX1BBUkFNX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNf UkVTT1VSQ0VfSCAxCnwgI2RlZmluZSBIQVZFX0xPQ0FMRV9IIDEKfCAjZGVmaW5l IEhBVkVfU1lTX1VUU05BTUVfSCAxCnwgI2RlZmluZSBIQVZFX1BXRF9IIDEKfCAj ZGVmaW5lIFNURENfSEVBREVSUyAxCnwgI2RlZmluZSBUSU1FX1dJVEhfU1lTX1RJ TUUgMQp8ICNkZWZpbmUgSEFWRV9ERUNMX1NZU19TSUdMSVNUIDAKfCAjZGVmaW5l IEhBVkVfREVDTF9fX1NZU19TSUdMSVNUIDAKfCAjZGVmaW5lIEhBVkVfU1lTX1dB SVRfSCAxCnwgI2RlZmluZSBIQVZFX1NUUlVDVF9VVElNQlVGIDEKfCAjZGVmaW5l IFJFVFNJR1RZUEUgdm9pZAp8ICNkZWZpbmUgSEFWRV9TUEVFRF9UIDEKfCAjZGVm aW5lIEhBVkVfVElNRVZBTCAxCnwgI2RlZmluZSBIQVZFX1NZU19TT0NLRVRfSCAx CnwgI2RlZmluZSBIQVZFX05FVF9JRl9IIDEKfCAjZGVmaW5lIEhBVkVfVFpOQU1F IDEKfCAjZGVmaW5lIEhBVkVfU1RSVUNUX0lGUkVRX0lGUl9GTEFHUyAxCnwgI2Rl ZmluZSBIQVZFX1NUUlVDVF9JRlJFUV9JRlJfSFdBRERSIDEKfCAjZGVmaW5lIEhB VkVfU1RSVUNUX0lGUkVRX0lGUl9ORVRNQVNLIDEKfCAvKiBlbmQgY29uZmRlZnMu aC4gICovCnwgI2luY2x1ZGUgPHN0ZGlvLmg+CnwgI2lmIEhBVkVfU1lTX1RZUEVT X0gKfCAjIGluY2x1ZGUgPHN5cy90eXBlcy5oPgp8ICNlbmRpZgp8ICNpZiBIQVZF X1NZU19TVEFUX0gKfCAjIGluY2x1ZGUgPHN5cy9zdGF0Lmg+CnwgI2VuZGlmCnwg I2lmIFNURENfSEVBREVSUwp8ICMgaW5jbHVkZSA8c3RkbGliLmg+CnwgIyBpbmNs dWRlIDxzdGRkZWYuaD4KfCAjZWxzZQp8ICMgaWYgSEFWRV9TVERMSUJfSAp8ICMg IGluY2x1ZGUgPHN0ZGxpYi5oPgp8ICMgZW5kaWYKfCAjZW5kaWYKfCAjaWYgSEFW RV9TVFJJTkdfSAp8ICMgaWYgIVNURENfSEVBREVSUyAmJiBIQVZFX01FTU9SWV9I CnwgIyAgaW5jbHVkZSA8bWVtb3J5Lmg+CnwgIyBlbmRpZgp8ICMgaW5jbHVkZSA8 c3RyaW5nLmg+CnwgI2VuZGlmCnwgI2lmIEhBVkVfU1RSSU5HU19ICnwgIyBpbmNs dWRlIDxzdHJpbmdzLmg+CnwgI2VuZGlmCnwgI2lmIEhBVkVfSU5UVFlQRVNfSAp8 ICMgaW5jbHVkZSA8aW50dHlwZXMuaD4KfCAjZWxzZQp8ICMgaWYgSEFWRV9TVERJ TlRfSAp8ICMgIGluY2x1ZGUgPHN0ZGludC5oPgp8ICMgZW5kaWYKfCAjZW5kaWYK fCAjaWYgSEFWRV9VTklTVERfSAp8ICMgaW5jbHVkZSA8dW5pc3RkLmg+CnwgI2Vu ZGlmCnwgI2lmIEhBVkVfU1lTX1NPQ0tFVF9ICnwgI2luY2x1ZGUgPHN5cy9zb2Nr ZXQuaD4KfCAjZW5kaWYKfCAjaWYgSEFWRV9ORVRfSUZfSAp8ICNpbmNsdWRlIDxu ZXQvaWYuaD4KfCAjZW5kaWYKfCAKfCBpbnQKfCBtYWluICgpCnwgewp8IHN0YXRp YyBzdHJ1Y3QgaWZyZXEgYWNfYWdncjsKfCBpZiAoYWNfYWdnci5pZnJfYnJvYWRh ZGRyKQp8IHJldHVybiAwOwp8ICAgOwp8ICAgcmV0dXJuIDA7CnwgfQpjb25maWd1 cmU6Nzg2NDogZ2NjIC1jIC1nIC1PMiAgICBjb25mdGVzdC5jID4mNQpjb25maWd1 cmU6Nzg3MDogJD8gPSAwCmNvbmZpZ3VyZTo3ODc0OiB0ZXN0IC16IAoJCQkgfHwg dGVzdCAhIC1zIGNvbmZ0ZXN0LmVycgpjb25maWd1cmU6Nzg3NzogJD8gPSAwCmNv bmZpZ3VyZTo3ODgwOiB0ZXN0IC1zIGNvbmZ0ZXN0Lm8KY29uZmlndXJlOjc4ODM6 ICQ/ID0gMApjb25maWd1cmU6Nzg5NjogcmVzdWx0OiB5ZXMKY29uZmlndXJlOjc5 MDY6IGNoZWNraW5nIGZvciBzdHJ1Y3QgaWZyZXEuaWZyX2FkZHIKY29uZmlndXJl Ojc5MzY6IGdjYyAtYyAtZyAtTzIgICAgY29uZnRlc3QuYyA+JjUKY29uZnRlc3Qu YzogSW4gZnVuY3Rpb24gYG1haW4nOgpjb25mdGVzdC5jOjEwMjogZXJyb3I6IGlu dmFsaWQgb3BlcmFuZHMgdG8gYmluYXJ5ICE9CmNvbmZpZ3VyZTo3OTQyOiAkPyA9 IDEKY29uZmlndXJlOiBmYWlsZWQgcHJvZ3JhbSB3YXM6CnwgLyogY29uZmRlZnMu aC4gICovCnwgCnwgI2RlZmluZSBQQUNLQUdFX05BTUUgIiIKfCAjZGVmaW5lIFBB Q0tBR0VfVEFSTkFNRSAiIgp8ICNkZWZpbmUgUEFDS0FHRV9WRVJTSU9OICIiCnwg I2RlZmluZSBQQUNLQUdFX1NUUklORyAiIgp8ICNkZWZpbmUgUEFDS0FHRV9CVUdS RVBPUlQgIiIKfCAjZGVmaW5lIE1BSUxfVVNFX1BPUCAxCnwgI2RlZmluZSBfR05V X1NPVVJDRSAxCnwgI2RlZmluZSBTVERDX0hFQURFUlMgMQp8ICNkZWZpbmUgSEFW RV9TWVNfVFlQRVNfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19TVEFUX0ggMQp8ICNk ZWZpbmUgSEFWRV9TVERMSUJfSCAxCnwgI2RlZmluZSBIQVZFX1NUUklOR19IIDEK fCAjZGVmaW5lIEhBVkVfTUVNT1JZX0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJJTkdT X0ggMQp8ICNkZWZpbmUgSEFWRV9JTlRUWVBFU19IIDEKfCAjZGVmaW5lIEhBVkVf U1RESU5UX0ggMQp8ICNkZWZpbmUgSEFWRV9VTklTVERfSCAxCnwgI2RlZmluZSBI QVZFX1NZU19TT1VORENBUkRfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19TRUxFQ1Rf SCAxCnwgI2RlZmluZSBIQVZFX1NZU19USU1FQl9IIDEKfCAjZGVmaW5lIEhBVkVf U1lTX1RJTUVfSCAxCnwgI2RlZmluZSBIQVZFX1VOSVNURF9IIDEKfCAjZGVmaW5l IEhBVkVfVVRJTUVfSCAxCnwgI2RlZmluZSBIQVZFX1RFUk1JT1NfSCAxCnwgI2Rl ZmluZSBIQVZFX0xJTUlUU19IIDEKfCAjZGVmaW5lIEhBVkVfU1RSSU5HX0ggMQp8 ICNkZWZpbmUgSEFWRV9TVERMSUJfSCAxCnwgI2RlZmluZSBIQVZFX1RFUk1DQVBf SCAxCnwgI2RlZmluZSBIQVZFX0ZDTlRMX0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJJ TkdTX0ggMQp8ICNkZWZpbmUgSEFWRV9QVFlfSCAxCnwgI2RlZmluZSBIQVZFX1NZ U19NTUFOX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfUEFSQU1fSCAxCnwgI2RlZmlu ZSBIQVZFX1NZU19SRVNPVVJDRV9IIDEKfCAjZGVmaW5lIEhBVkVfTE9DQUxFX0gg MQp8ICNkZWZpbmUgSEFWRV9TWVNfVVRTTkFNRV9IIDEKfCAjZGVmaW5lIEhBVkVf UFdEX0ggMQp8ICNkZWZpbmUgU1REQ19IRUFERVJTIDEKfCAjZGVmaW5lIFRJTUVf V0lUSF9TWVNfVElNRSAxCnwgI2RlZmluZSBIQVZFX0RFQ0xfU1lTX1NJR0xJU1Qg MAp8ICNkZWZpbmUgSEFWRV9ERUNMX19fU1lTX1NJR0xJU1QgMAp8ICNkZWZpbmUg SEFWRV9TWVNfV0FJVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1RSVUNUX1VUSU1CVUYg MQp8ICNkZWZpbmUgUkVUU0lHVFlQRSB2b2lkCnwgI2RlZmluZSBIQVZFX1NQRUVE X1QgMQp8ICNkZWZpbmUgSEFWRV9USU1FVkFMIDEKfCAjZGVmaW5lIEhBVkVfU1lT X1NPQ0tFVF9IIDEKfCAjZGVmaW5lIEhBVkVfTkVUX0lGX0ggMQp8ICNkZWZpbmUg SEFWRV9UWk5BTUUgMQp8ICNkZWZpbmUgSEFWRV9TVFJVQ1RfSUZSRVFfSUZSX0ZM QUdTIDEKfCAjZGVmaW5lIEhBVkVfU1RSVUNUX0lGUkVRX0lGUl9IV0FERFIgMQp8 ICNkZWZpbmUgSEFWRV9TVFJVQ1RfSUZSRVFfSUZSX05FVE1BU0sgMQp8ICNkZWZp bmUgSEFWRV9TVFJVQ1RfSUZSRVFfSUZSX0JST0FEQUREUiAxCnwgLyogZW5kIGNv bmZkZWZzLmguICAqLwp8ICNpbmNsdWRlIDxzdGRpby5oPgp8ICNpZiBIQVZFX1NZ U19UWVBFU19ICnwgIyBpbmNsdWRlIDxzeXMvdHlwZXMuaD4KfCAjZW5kaWYKfCAj aWYgSEFWRV9TWVNfU1RBVF9ICnwgIyBpbmNsdWRlIDxzeXMvc3RhdC5oPgp8ICNl bmRpZgp8ICNpZiBTVERDX0hFQURFUlMKfCAjIGluY2x1ZGUgPHN0ZGxpYi5oPgp8 ICMgaW5jbHVkZSA8c3RkZGVmLmg+CnwgI2Vsc2UKfCAjIGlmIEhBVkVfU1RETElC X0gKfCAjICBpbmNsdWRlIDxzdGRsaWIuaD4KfCAjIGVuZGlmCnwgI2VuZGlmCnwg I2lmIEhBVkVfU1RSSU5HX0gKfCAjIGlmICFTVERDX0hFQURFUlMgJiYgSEFWRV9N RU1PUllfSAp8ICMgIGluY2x1ZGUgPG1lbW9yeS5oPgp8ICMgZW5kaWYKfCAjIGlu Y2x1ZGUgPHN0cmluZy5oPgp8ICNlbmRpZgp8ICNpZiBIQVZFX1NUUklOR1NfSAp8 ICMgaW5jbHVkZSA8c3RyaW5ncy5oPgp8ICNlbmRpZgp8ICNpZiBIQVZFX0lOVFRZ UEVTX0gKfCAjIGluY2x1ZGUgPGludHR5cGVzLmg+CnwgI2Vsc2UKfCAjIGlmIEhB VkVfU1RESU5UX0gKfCAjICBpbmNsdWRlIDxzdGRpbnQuaD4KfCAjIGVuZGlmCnwg I2VuZGlmCnwgI2lmIEhBVkVfVU5JU1REX0gKfCAjIGluY2x1ZGUgPHVuaXN0ZC5o Pgp8ICNlbmRpZgp8ICNpZiBIQVZFX1NZU19TT0NLRVRfSAp8ICNpbmNsdWRlIDxz eXMvc29ja2V0Lmg+CnwgI2VuZGlmCnwgI2lmIEhBVkVfTkVUX0lGX0gKfCAjaW5j bHVkZSA8bmV0L2lmLmg+CnwgI2VuZGlmCnwgCnwgaW50CnwgbWFpbiAoKQp8IHsK fCBzdGF0aWMgc3RydWN0IGlmcmVxIGFjX2FnZ3I7CnwgaWYgKGFjX2FnZ3IuaWZy X2FkZHIpCnwgcmV0dXJuIDA7CnwgICA7CnwgICByZXR1cm4gMDsKfCB9CmNvbmZp Z3VyZTo3OTg3OiBnY2MgLWMgLWcgLU8yICAgIGNvbmZ0ZXN0LmMgPiY1CmNvbmZp Z3VyZTo3OTkzOiAkPyA9IDAKY29uZmlndXJlOjc5OTc6IHRlc3QgLXogCgkJCSB8 fCB0ZXN0ICEgLXMgY29uZnRlc3QuZXJyCmNvbmZpZ3VyZTo4MDAwOiAkPyA9IDAK Y29uZmlndXJlOjgwMDM6IHRlc3QgLXMgY29uZnRlc3Qubwpjb25maWd1cmU6ODAw NjogJD8gPSAwCmNvbmZpZ3VyZTo4MDE5OiByZXN1bHQ6IHllcwpjb25maWd1cmU6 ODAzMjogY2hlY2tpbmcgZm9yIGZ1bmN0aW9uIHByb3RvdHlwZXMKY29uZmlndXJl OjgwMzU6IHJlc3VsdDogeWVzCmNvbmZpZ3VyZTo4MDUyOiBjaGVja2luZyBmb3Ig d29ya2luZyB2b2xhdGlsZQpjb25maWd1cmU6ODA3NTogZ2NjIC1jIC1nIC1PMiAg ICBjb25mdGVzdC5jID4mNQpjb25maWd1cmU6ODA4MTogJD8gPSAwCmNvbmZpZ3Vy ZTo4MDg1OiB0ZXN0IC16IAoJCQkgfHwgdGVzdCAhIC1zIGNvbmZ0ZXN0LmVycgpj b25maWd1cmU6ODA4ODogJD8gPSAwCmNvbmZpZ3VyZTo4MDkxOiB0ZXN0IC1zIGNv bmZ0ZXN0Lm8KY29uZmlndXJlOjgwOTQ6ICQ/ID0gMApjb25maWd1cmU6ODEwNTog cmVzdWx0OiB5ZXMKY29uZmlndXJlOjgxMTU6IGNoZWNraW5nIGZvciBhbiBBTlNJ IEMtY29uZm9ybWluZyBjb25zdApjb25maWd1cmU6ODE4MjogZ2NjIC1jIC1nIC1P MiAgICBjb25mdGVzdC5jID4mNQpjb25maWd1cmU6ODE4ODogJD8gPSAwCmNvbmZp Z3VyZTo4MTkyOiB0ZXN0IC16IAoJCQkgfHwgdGVzdCAhIC1zIGNvbmZ0ZXN0LmVy cgpjb25maWd1cmU6ODE5NTogJD8gPSAwCmNvbmZpZ3VyZTo4MTk4OiB0ZXN0IC1z IGNvbmZ0ZXN0Lm8KY29uZmlndXJlOjgyMDE6ICQ/ID0gMApjb25maWd1cmU6ODIx MjogcmVzdWx0OiB5ZXMKY29uZmlndXJlOjgyMjI6IGNoZWNraW5nIGZvciB2b2lk ICogc3VwcG9ydApjb25maWd1cmU6ODI0MzogZ2NjIC1jIC1nIC1PMiAgICBjb25m dGVzdC5jID4mNQpjb25maWd1cmU6ODI0OTogJD8gPSAwCmNvbmZpZ3VyZTo4MjUz OiB0ZXN0IC16IAoJCQkgfHwgdGVzdCAhIC1zIGNvbmZ0ZXN0LmVycgpjb25maWd1 cmU6ODI1NjogJD8gPSAwCmNvbmZpZ3VyZTo4MjU5OiB0ZXN0IC1zIGNvbmZ0ZXN0 Lm8KY29uZmlndXJlOjgyNjI6ICQ/ID0gMApjb25maWd1cmU6ODI3MzogcmVzdWx0 OiB5ZXMKY29uZmlndXJlOjgyOTE6IGNoZWNraW5nIHdoZXRoZXIgbWFrZSBzZXRz ICQoTUFLRSkKY29uZmlndXJlOjgzMTE6IHJlc3VsdDogeWVzCmNvbmZpZ3VyZTo4 MzIxOiBjaGVja2luZyBmb3IgbG9uZyBmaWxlIG5hbWVzCmNvbmZpZ3VyZTo4MzYw OiByZXN1bHQ6IHllcwpjb25maWd1cmU6ODM3MzogY2hlY2tpbmcgZm9yIFgKY29u ZmlndXJlOjg1OTM6IHJlc3VsdDogZGlzYWJsZWQKY29uZmlndXJlOjg2NzM6IGNo ZWNraW5nIENhcmJvbi9DYXJib24uaCB1c2FiaWxpdHkKY29uZmlndXJlOjg2ODU6 IGdjYyAtYyAtZyAtTzIgICAgY29uZnRlc3QuYyA+JjUKY29uZnRlc3QuYzo5Njoy NzogQ2FyYm9uL0NhcmJvbi5oOiBObyBzdWNoIGZpbGUgb3IgZGlyZWN0b3J5CmNv bmZpZ3VyZTo4NjkxOiAkPyA9IDEKY29uZmlndXJlOiBmYWlsZWQgcHJvZ3JhbSB3 YXM6CnwgLyogY29uZmRlZnMuaC4gICovCnwgCnwgI2RlZmluZSBQQUNLQUdFX05B TUUgIiIKfCAjZGVmaW5lIFBBQ0tBR0VfVEFSTkFNRSAiIgp8ICNkZWZpbmUgUEFD S0FHRV9WRVJTSU9OICIiCnwgI2RlZmluZSBQQUNLQUdFX1NUUklORyAiIgp8ICNk ZWZpbmUgUEFDS0FHRV9CVUdSRVBPUlQgIiIKfCAjZGVmaW5lIE1BSUxfVVNFX1BP UCAxCnwgI2RlZmluZSBfR05VX1NPVVJDRSAxCnwgI2RlZmluZSBTVERDX0hFQURF UlMgMQp8ICNkZWZpbmUgSEFWRV9TWVNfVFlQRVNfSCAxCnwgI2RlZmluZSBIQVZF X1NZU19TVEFUX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERMSUJfSCAxCnwgI2RlZmlu ZSBIQVZFX1NUUklOR19IIDEKfCAjZGVmaW5lIEhBVkVfTUVNT1JZX0ggMQp8ICNk ZWZpbmUgSEFWRV9TVFJJTkdTX0ggMQp8ICNkZWZpbmUgSEFWRV9JTlRUWVBFU19I IDEKfCAjZGVmaW5lIEhBVkVfU1RESU5UX0ggMQp8ICNkZWZpbmUgSEFWRV9VTklT VERfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19TT1VORENBUkRfSCAxCnwgI2RlZmlu ZSBIQVZFX1NZU19TRUxFQ1RfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19USU1FQl9I IDEKfCAjZGVmaW5lIEhBVkVfU1lTX1RJTUVfSCAxCnwgI2RlZmluZSBIQVZFX1VO SVNURF9IIDEKfCAjZGVmaW5lIEhBVkVfVVRJTUVfSCAxCnwgI2RlZmluZSBIQVZF X1RFUk1JT1NfSCAxCnwgI2RlZmluZSBIQVZFX0xJTUlUU19IIDEKfCAjZGVmaW5l IEhBVkVfU1RSSU5HX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERMSUJfSCAxCnwgI2Rl ZmluZSBIQVZFX1RFUk1DQVBfSCAxCnwgI2RlZmluZSBIQVZFX0ZDTlRMX0ggMQp8 ICNkZWZpbmUgSEFWRV9TVFJJTkdTX0ggMQp8ICNkZWZpbmUgSEFWRV9QVFlfSCAx CnwgI2RlZmluZSBIQVZFX1NZU19NTUFOX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNf UEFSQU1fSCAxCnwgI2RlZmluZSBIQVZFX1NZU19SRVNPVVJDRV9IIDEKfCAjZGVm aW5lIEhBVkVfTE9DQUxFX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfVVRTTkFNRV9I IDEKfCAjZGVmaW5lIEhBVkVfUFdEX0ggMQp8ICNkZWZpbmUgU1REQ19IRUFERVJT IDEKfCAjZGVmaW5lIFRJTUVfV0lUSF9TWVNfVElNRSAxCnwgI2RlZmluZSBIQVZF X0RFQ0xfU1lTX1NJR0xJU1QgMAp8ICNkZWZpbmUgSEFWRV9ERUNMX19fU1lTX1NJ R0xJU1QgMAp8ICNkZWZpbmUgSEFWRV9TWVNfV0FJVF9IIDEKfCAjZGVmaW5lIEhB VkVfU1RSVUNUX1VUSU1CVUYgMQp8ICNkZWZpbmUgUkVUU0lHVFlQRSB2b2lkCnwg I2RlZmluZSBIQVZFX1NQRUVEX1QgMQp8ICNkZWZpbmUgSEFWRV9USU1FVkFMIDEK fCAjZGVmaW5lIEhBVkVfU1lTX1NPQ0tFVF9IIDEKfCAjZGVmaW5lIEhBVkVfTkVU X0lGX0ggMQp8ICNkZWZpbmUgSEFWRV9UWk5BTUUgMQp8ICNkZWZpbmUgSEFWRV9T VFJVQ1RfSUZSRVFfSUZSX0ZMQUdTIDEKfCAjZGVmaW5lIEhBVkVfU1RSVUNUX0lG UkVRX0lGUl9IV0FERFIgMQp8ICNkZWZpbmUgSEFWRV9TVFJVQ1RfSUZSRVFfSUZS X05FVE1BU0sgMQp8ICNkZWZpbmUgSEFWRV9TVFJVQ1RfSUZSRVFfSUZSX0JST0FE QUREUiAxCnwgI2RlZmluZSBIQVZFX1NUUlVDVF9JRlJFUV9JRlJfQUREUiAxCnwg I2RlZmluZSBQUk9UT1RZUEVTIDEKfCAjZGVmaW5lIF9fUFJPVE9UWVBFUyAxCnwg I2RlZmluZSBQT0lOVEVSX1RZUEUgdm9pZAp8ICNkZWZpbmUgSEFWRV9MT05HX0ZJ TEVfTkFNRVMgMQp8IC8qIGVuZCBjb25mZGVmcy5oLiAgKi8KfCAjaW5jbHVkZSA8 c3RkaW8uaD4KfCAjaWYgSEFWRV9TWVNfVFlQRVNfSAp8ICMgaW5jbHVkZSA8c3lz L3R5cGVzLmg+CnwgI2VuZGlmCnwgI2lmIEhBVkVfU1lTX1NUQVRfSAp8ICMgaW5j bHVkZSA8c3lzL3N0YXQuaD4KfCAjZW5kaWYKfCAjaWYgU1REQ19IRUFERVJTCnwg IyBpbmNsdWRlIDxzdGRsaWIuaD4KfCAjIGluY2x1ZGUgPHN0ZGRlZi5oPgp8ICNl bHNlCnwgIyBpZiBIQVZFX1NURExJQl9ICnwgIyAgaW5jbHVkZSA8c3RkbGliLmg+ CnwgIyBlbmRpZgp8ICNlbmRpZgp8ICNpZiBIQVZFX1NUUklOR19ICnwgIyBpZiAh U1REQ19IRUFERVJTICYmIEhBVkVfTUVNT1JZX0gKfCAjICBpbmNsdWRlIDxtZW1v cnkuaD4KfCAjIGVuZGlmCnwgIyBpbmNsdWRlIDxzdHJpbmcuaD4KfCAjZW5kaWYK fCAjaWYgSEFWRV9TVFJJTkdTX0gKfCAjIGluY2x1ZGUgPHN0cmluZ3MuaD4KfCAj ZW5kaWYKfCAjaWYgSEFWRV9JTlRUWVBFU19ICnwgIyBpbmNsdWRlIDxpbnR0eXBl cy5oPgp8ICNlbHNlCnwgIyBpZiBIQVZFX1NURElOVF9ICnwgIyAgaW5jbHVkZSA8 c3RkaW50Lmg+CnwgIyBlbmRpZgp8ICNlbmRpZgp8ICNpZiBIQVZFX1VOSVNURF9I CnwgIyBpbmNsdWRlIDx1bmlzdGQuaD4KfCAjZW5kaWYKfCAjaW5jbHVkZSA8Q2Fy Ym9uL0NhcmJvbi5oPgpjb25maWd1cmU6ODcxNDogcmVzdWx0OiBubwpjb25maWd1 cmU6ODcxODogY2hlY2tpbmcgQ2FyYm9uL0NhcmJvbi5oIHByZXNlbmNlCmNvbmZp Z3VyZTo4NzI4OiBnY2MgLUUgICAgY29uZnRlc3QuYwpjb25mdGVzdC5jOjYyOjI3 OiBDYXJib24vQ2FyYm9uLmg6IE5vIHN1Y2ggZmlsZSBvciBkaXJlY3RvcnkKY29u ZmlndXJlOjg3MzQ6ICQ/ID0gMQpjb25maWd1cmU6IGZhaWxlZCBwcm9ncmFtIHdh czoKfCAvKiBjb25mZGVmcy5oLiAgKi8KfCAKfCAjZGVmaW5lIFBBQ0tBR0VfTkFN RSAiIgp8ICNkZWZpbmUgUEFDS0FHRV9UQVJOQU1FICIiCnwgI2RlZmluZSBQQUNL QUdFX1ZFUlNJT04gIiIKfCAjZGVmaW5lIFBBQ0tBR0VfU1RSSU5HICIiCnwgI2Rl ZmluZSBQQUNLQUdFX0JVR1JFUE9SVCAiIgp8ICNkZWZpbmUgTUFJTF9VU0VfUE9Q IDEKfCAjZGVmaW5lIF9HTlVfU09VUkNFIDEKfCAjZGVmaW5lIFNURENfSEVBREVS UyAxCnwgI2RlZmluZSBIQVZFX1NZU19UWVBFU19IIDEKfCAjZGVmaW5lIEhBVkVf U1lTX1NUQVRfSCAxCnwgI2RlZmluZSBIQVZFX1NURExJQl9IIDEKfCAjZGVmaW5l IEhBVkVfU1RSSU5HX0ggMQp8ICNkZWZpbmUgSEFWRV9NRU1PUllfSCAxCnwgI2Rl ZmluZSBIQVZFX1NUUklOR1NfSCAxCnwgI2RlZmluZSBIQVZFX0lOVFRZUEVTX0gg MQp8ICNkZWZpbmUgSEFWRV9TVERJTlRfSCAxCnwgI2RlZmluZSBIQVZFX1VOSVNU RF9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NPVU5EQ0FSRF9IIDEKfCAjZGVmaW5l IEhBVkVfU1lTX1NFTEVDVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1RJTUVCX0gg MQp8ICNkZWZpbmUgSEFWRV9TWVNfVElNRV9IIDEKfCAjZGVmaW5lIEhBVkVfVU5J U1REX0ggMQp8ICNkZWZpbmUgSEFWRV9VVElNRV9IIDEKfCAjZGVmaW5lIEhBVkVf VEVSTUlPU19IIDEKfCAjZGVmaW5lIEhBVkVfTElNSVRTX0ggMQp8ICNkZWZpbmUg SEFWRV9TVFJJTkdfSCAxCnwgI2RlZmluZSBIQVZFX1NURExJQl9IIDEKfCAjZGVm aW5lIEhBVkVfVEVSTUNBUF9IIDEKfCAjZGVmaW5lIEhBVkVfRkNOVExfSCAxCnwg I2RlZmluZSBIQVZFX1NUUklOR1NfSCAxCnwgI2RlZmluZSBIQVZFX1BUWV9IIDEK fCAjZGVmaW5lIEhBVkVfU1lTX01NQU5fSCAxCnwgI2RlZmluZSBIQVZFX1NZU19Q QVJBTV9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1JFU09VUkNFX0ggMQp8ICNkZWZp bmUgSEFWRV9MT0NBTEVfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19VVFNOQU1FX0gg MQp8ICNkZWZpbmUgSEFWRV9QV0RfSCAxCnwgI2RlZmluZSBTVERDX0hFQURFUlMg MQp8ICNkZWZpbmUgVElNRV9XSVRIX1NZU19USU1FIDEKfCAjZGVmaW5lIEhBVkVf REVDTF9TWVNfU0lHTElTVCAwCnwgI2RlZmluZSBIQVZFX0RFQ0xfX19TWVNfU0lH TElTVCAwCnwgI2RlZmluZSBIQVZFX1NZU19XQUlUX0ggMQp8ICNkZWZpbmUgSEFW RV9TVFJVQ1RfVVRJTUJVRiAxCnwgI2RlZmluZSBSRVRTSUdUWVBFIHZvaWQKfCAj ZGVmaW5lIEhBVkVfU1BFRURfVCAxCnwgI2RlZmluZSBIQVZFX1RJTUVWQUwgMQp8 ICNkZWZpbmUgSEFWRV9TWVNfU09DS0VUX0ggMQp8ICNkZWZpbmUgSEFWRV9ORVRf SUZfSCAxCnwgI2RlZmluZSBIQVZFX1RaTkFNRSAxCnwgI2RlZmluZSBIQVZFX1NU UlVDVF9JRlJFUV9JRlJfRkxBR1MgMQp8ICNkZWZpbmUgSEFWRV9TVFJVQ1RfSUZS RVFfSUZSX0hXQUREUiAxCnwgI2RlZmluZSBIQVZFX1NUUlVDVF9JRlJFUV9JRlJf TkVUTUFTSyAxCnwgI2RlZmluZSBIQVZFX1NUUlVDVF9JRlJFUV9JRlJfQlJPQURB RERSIDEKfCAjZGVmaW5lIEhBVkVfU1RSVUNUX0lGUkVRX0lGUl9BRERSIDEKfCAj ZGVmaW5lIFBST1RPVFlQRVMgMQp8ICNkZWZpbmUgX19QUk9UT1RZUEVTIDEKfCAj ZGVmaW5lIFBPSU5URVJfVFlQRSB2b2lkCnwgI2RlZmluZSBIQVZFX0xPTkdfRklM RV9OQU1FUyAxCnwgLyogZW5kIGNvbmZkZWZzLmguICAqLwp8ICNpbmNsdWRlIDxD YXJib24vQ2FyYm9uLmg+CmNvbmZpZ3VyZTo4NzU0OiByZXN1bHQ6IG5vCmNvbmZp Z3VyZTo4Nzg5OiBjaGVja2luZyBmb3IgQ2FyYm9uL0NhcmJvbi5oCmNvbmZpZ3Vy ZTo4Nzk2OiByZXN1bHQ6IG5vCmNvbmZpZ3VyZTo4ODY1OiBjaGVja2luZyBmb3Ig bWFsbG9jX2dldF9zdGF0ZQpjb25maWd1cmU6ODkyMjogZ2NjIC1vIGNvbmZ0ZXN0 LmV4ZSAtZyAtTzIgICAgIGNvbmZ0ZXN0LmMgID4mNSAgCi9jeWdkcml2ZS9jL0RP Q1VNRX4xL3dpbGxpYW0vTE9DQUxTfjEvVGVtcC9jY2tUZHBvUy5vOiBJbiBmdW5j dGlvbiBgbWFpbic6Ci9jeWdkcml2ZS9kL2VtYWNzMjIvY29uZnRlc3QuYzoxMDI6 IHVuZGVmaW5lZCByZWZlcmVuY2UgdG8gYF9tYWxsb2NfZ2V0X3N0YXRlJwovY3ln ZHJpdmUvZC9lbWFjczIyL2NvbmZ0ZXN0LmM6MTAxOiB1bmRlZmluZWQgcmVmZXJl bmNlIHRvIGBfbWFsbG9jX2dldF9zdGF0ZScKY29sbGVjdDI6IGxkIHJldHVybmVk IDEgZXhpdCBzdGF0dXMKY29uZmlndXJlOjg5Mjg6ICQ/ID0gMQpjb25maWd1cmU6 IGZhaWxlZCBwcm9ncmFtIHdhczoKfCAvKiBjb25mZGVmcy5oLiAgKi8KfCAKfCAj ZGVmaW5lIFBBQ0tBR0VfTkFNRSAiIgp8ICNkZWZpbmUgUEFDS0FHRV9UQVJOQU1F ICIiCnwgI2RlZmluZSBQQUNLQUdFX1ZFUlNJT04gIiIKfCAjZGVmaW5lIFBBQ0tB R0VfU1RSSU5HICIiCnwgI2RlZmluZSBQQUNLQUdFX0JVR1JFUE9SVCAiIgp8ICNk ZWZpbmUgTUFJTF9VU0VfUE9QIDEKfCAjZGVmaW5lIF9HTlVfU09VUkNFIDEKfCAj ZGVmaW5lIFNURENfSEVBREVSUyAxCnwgI2RlZmluZSBIQVZFX1NZU19UWVBFU19I IDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NUQVRfSCAxCnwgI2RlZmluZSBIQVZFX1NU RExJQl9IIDEKfCAjZGVmaW5lIEhBVkVfU1RSSU5HX0ggMQp8ICNkZWZpbmUgSEFW RV9NRU1PUllfSCAxCnwgI2RlZmluZSBIQVZFX1NUUklOR1NfSCAxCnwgI2RlZmlu ZSBIQVZFX0lOVFRZUEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERJTlRfSCAxCnwg I2RlZmluZSBIQVZFX1VOSVNURF9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NPVU5E Q0FSRF9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NFTEVDVF9IIDEKfCAjZGVmaW5l IEhBVkVfU1lTX1RJTUVCX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfVElNRV9IIDEK fCAjZGVmaW5lIEhBVkVfVU5JU1REX0ggMQp8ICNkZWZpbmUgSEFWRV9VVElNRV9I IDEKfCAjZGVmaW5lIEhBVkVfVEVSTUlPU19IIDEKfCAjZGVmaW5lIEhBVkVfTElN SVRTX0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJJTkdfSCAxCnwgI2RlZmluZSBIQVZF X1NURExJQl9IIDEKfCAjZGVmaW5lIEhBVkVfVEVSTUNBUF9IIDEKfCAjZGVmaW5l IEhBVkVfRkNOVExfSCAxCnwgI2RlZmluZSBIQVZFX1NUUklOR1NfSCAxCnwgI2Rl ZmluZSBIQVZFX1BUWV9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX01NQU5fSCAxCnwg I2RlZmluZSBIQVZFX1NZU19QQVJBTV9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1JF U09VUkNFX0ggMQp8ICNkZWZpbmUgSEFWRV9MT0NBTEVfSCAxCnwgI2RlZmluZSBI QVZFX1NZU19VVFNOQU1FX0ggMQp8ICNkZWZpbmUgSEFWRV9QV0RfSCAxCnwgI2Rl ZmluZSBTVERDX0hFQURFUlMgMQp8ICNkZWZpbmUgVElNRV9XSVRIX1NZU19USU1F IDEKfCAjZGVmaW5lIEhBVkVfREVDTF9TWVNfU0lHTElTVCAwCnwgI2RlZmluZSBI QVZFX0RFQ0xfX19TWVNfU0lHTElTVCAwCnwgI2RlZmluZSBIQVZFX1NZU19XQUlU X0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJVQ1RfVVRJTUJVRiAxCnwgI2RlZmluZSBS RVRTSUdUWVBFIHZvaWQKfCAjZGVmaW5lIEhBVkVfU1BFRURfVCAxCnwgI2RlZmlu ZSBIQVZFX1RJTUVWQUwgMQp8ICNkZWZpbmUgSEFWRV9TWVNfU09DS0VUX0ggMQp8 ICNkZWZpbmUgSEFWRV9ORVRfSUZfSCAxCnwgI2RlZmluZSBIQVZFX1RaTkFNRSAx CnwgI2RlZmluZSBIQVZFX1NUUlVDVF9JRlJFUV9JRlJfRkxBR1MgMQp8ICNkZWZp bmUgSEFWRV9TVFJVQ1RfSUZSRVFfSUZSX0hXQUREUiAxCnwgI2RlZmluZSBIQVZF X1NUUlVDVF9JRlJFUV9JRlJfTkVUTUFTSyAxCnwgI2RlZmluZSBIQVZFX1NUUlVD VF9JRlJFUV9JRlJfQlJPQURBRERSIDEKfCAjZGVmaW5lIEhBVkVfU1RSVUNUX0lG UkVRX0lGUl9BRERSIDEKfCAjZGVmaW5lIFBST1RPVFlQRVMgMQp8ICNkZWZpbmUg X19QUk9UT1RZUEVTIDEKfCAjZGVmaW5lIFBPSU5URVJfVFlQRSB2b2lkCnwgI2Rl ZmluZSBIQVZFX0xPTkdfRklMRV9OQU1FUyAxCnwgLyogZW5kIGNvbmZkZWZzLmgu ICAqLwp8IC8qIERlZmluZSBtYWxsb2NfZ2V0X3N0YXRlIHRvIGFuIGlubm9jdW91 cyB2YXJpYW50LCBpbiBjYXNlIDxsaW1pdHMuaD4gZGVjbGFyZXMgbWFsbG9jX2dl dF9zdGF0ZS4KfCAgICBGb3IgZXhhbXBsZSwgSFAtVVggMTFpIDxsaW1pdHMuaD4g ZGVjbGFyZXMgZ2V0dGltZW9mZGF5LiAgKi8KfCAjZGVmaW5lIG1hbGxvY19nZXRf c3RhdGUgaW5ub2N1b3VzX21hbGxvY19nZXRfc3RhdGUKfCAKfCAvKiBTeXN0ZW0g aGVhZGVyIHRvIGRlZmluZSBfX3N0dWIgbWFjcm9zIGFuZCBob3BlZnVsbHkgZmV3 IHByb3RvdHlwZXMsCnwgICAgIHdoaWNoIGNhbiBjb25mbGljdCB3aXRoIGNoYXIg bWFsbG9jX2dldF9zdGF0ZSAoKTsgYmVsb3cuCnwgICAgIFByZWZlciA8bGltaXRz Lmg+IHRvIDxhc3NlcnQuaD4gaWYgX19TVERDX18gaXMgZGVmaW5lZCwgc2luY2UK fCAgICAgPGxpbWl0cy5oPiBleGlzdHMgZXZlbiBvbiBmcmVlc3RhbmRpbmcgY29t cGlsZXJzLiAgKi8KfCAKfCAjaWZkZWYgX19TVERDX18KfCAjIGluY2x1ZGUgPGxp bWl0cy5oPgp8ICNlbHNlCnwgIyBpbmNsdWRlIDxhc3NlcnQuaD4KfCAjZW5kaWYK fCAKfCAjdW5kZWYgbWFsbG9jX2dldF9zdGF0ZQp8IAp8IC8qIE92ZXJyaWRlIGFu eSBnY2MyIGludGVybmFsIHByb3RvdHlwZSB0byBhdm9pZCBhbiBlcnJvci4gICov CnwgI2lmZGVmIF9fY3BsdXNwbHVzCnwgZXh0ZXJuICJDIgp8IHsKfCAjZW5kaWYK fCAvKiBXZSB1c2UgY2hhciBiZWNhdXNlIGludCBtaWdodCBtYXRjaCB0aGUgcmV0 dXJuIHR5cGUgb2YgYSBnY2MyCnwgICAgYnVpbHRpbiBhbmQgdGhlbiBpdHMgYXJn dW1lbnQgcHJvdG90eXBlIHdvdWxkIHN0aWxsIGFwcGx5LiAgKi8KfCBjaGFyIG1h bGxvY19nZXRfc3RhdGUgKCk7CnwgLyogVGhlIEdOVSBDIGxpYnJhcnkgZGVmaW5l cyB0aGlzIGZvciBmdW5jdGlvbnMgd2hpY2ggaXQgaW1wbGVtZW50cwp8ICAgICB0 byBhbHdheXMgZmFpbCB3aXRoIEVOT1NZUy4gIFNvbWUgZnVuY3Rpb25zIGFyZSBh Y3R1YWxseSBuYW1lZAp8ICAgICBzb21ldGhpbmcgc3RhcnRpbmcgd2l0aCBfXyBh bmQgdGhlIG5vcm1hbCBuYW1lIGlzIGFuIGFsaWFzLiAgKi8KfCAjaWYgZGVmaW5l ZCAoX19zdHViX21hbGxvY19nZXRfc3RhdGUpIHx8IGRlZmluZWQgKF9fc3R1Yl9f X21hbGxvY19nZXRfc3RhdGUpCnwgY2hva2UgbWUKfCAjZWxzZQp8IGNoYXIgKCpm KSAoKSA9IG1hbGxvY19nZXRfc3RhdGU7CnwgI2VuZGlmCnwgI2lmZGVmIF9fY3Bs dXNwbHVzCnwgfQp8ICNlbmRpZgp8IAp8IGludAp8IG1haW4gKCkKfCB7CnwgcmV0 dXJuIGYgIT0gbWFsbG9jX2dldF9zdGF0ZTsKfCAgIDsKfCAgIHJldHVybiAwOwp8 IH0KY29uZmlndXJlOjg5NTM6IHJlc3VsdDogbm8KY29uZmlndXJlOjg5NjE6IGNo ZWNraW5nIGZvciBtYWxsb2Nfc2V0X3N0YXRlCmNvbmZpZ3VyZTo5MDE4OiBnY2Mg LW8gY29uZnRlc3QuZXhlIC1nIC1PMiAgICAgY29uZnRlc3QuYyAgPiY1ICAKL2N5 Z2RyaXZlL2MvRE9DVU1FfjEvd2lsbGlhbS9MT0NBTFN+MS9UZW1wL2NjQ0xYUGtY Lm86IEluIGZ1bmN0aW9uIGBtYWluJzoKL2N5Z2RyaXZlL2QvZW1hY3MyMi9jb25m dGVzdC5jOjEwMjogdW5kZWZpbmVkIHJlZmVyZW5jZSB0byBgX21hbGxvY19zZXRf c3RhdGUnCi9jeWdkcml2ZS9kL2VtYWNzMjIvY29uZnRlc3QuYzoxMDE6IHVuZGVm aW5lZCByZWZlcmVuY2UgdG8gYF9tYWxsb2Nfc2V0X3N0YXRlJwpjb2xsZWN0Mjog bGQgcmV0dXJuZWQgMSBleGl0IHN0YXR1cwpjb25maWd1cmU6OTAyNDogJD8gPSAx CmNvbmZpZ3VyZTogZmFpbGVkIHByb2dyYW0gd2FzOgp8IC8qIGNvbmZkZWZzLmgu ICAqLwp8IAp8ICNkZWZpbmUgUEFDS0FHRV9OQU1FICIiCnwgI2RlZmluZSBQQUNL QUdFX1RBUk5BTUUgIiIKfCAjZGVmaW5lIFBBQ0tBR0VfVkVSU0lPTiAiIgp8ICNk ZWZpbmUgUEFDS0FHRV9TVFJJTkcgIiIKfCAjZGVmaW5lIFBBQ0tBR0VfQlVHUkVQ T1JUICIiCnwgI2RlZmluZSBNQUlMX1VTRV9QT1AgMQp8ICNkZWZpbmUgX0dOVV9T T1VSQ0UgMQp8ICNkZWZpbmUgU1REQ19IRUFERVJTIDEKfCAjZGVmaW5lIEhBVkVf U1lTX1RZUEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfU1RBVF9IIDEKfCAjZGVm aW5lIEhBVkVfU1RETElCX0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJJTkdfSCAxCnwg I2RlZmluZSBIQVZFX01FTU9SWV9IIDEKfCAjZGVmaW5lIEhBVkVfU1RSSU5HU19I IDEKfCAjZGVmaW5lIEhBVkVfSU5UVFlQRVNfSCAxCnwgI2RlZmluZSBIQVZFX1NU RElOVF9IIDEKfCAjZGVmaW5lIEhBVkVfVU5JU1REX0ggMQp8ICNkZWZpbmUgSEFW RV9TWVNfU09VTkRDQVJEX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfU0VMRUNUX0gg MQp8ICNkZWZpbmUgSEFWRV9TWVNfVElNRUJfSCAxCnwgI2RlZmluZSBIQVZFX1NZ U19USU1FX0ggMQp8ICNkZWZpbmUgSEFWRV9VTklTVERfSCAxCnwgI2RlZmluZSBI QVZFX1VUSU1FX0ggMQp8ICNkZWZpbmUgSEFWRV9URVJNSU9TX0ggMQp8ICNkZWZp bmUgSEFWRV9MSU1JVFNfSCAxCnwgI2RlZmluZSBIQVZFX1NUUklOR19IIDEKfCAj ZGVmaW5lIEhBVkVfU1RETElCX0ggMQp8ICNkZWZpbmUgSEFWRV9URVJNQ0FQX0gg MQp8ICNkZWZpbmUgSEFWRV9GQ05UTF9IIDEKfCAjZGVmaW5lIEhBVkVfU1RSSU5H U19IIDEKfCAjZGVmaW5lIEhBVkVfUFRZX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNf TU1BTl9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1BBUkFNX0ggMQp8ICNkZWZpbmUg SEFWRV9TWVNfUkVTT1VSQ0VfSCAxCnwgI2RlZmluZSBIQVZFX0xPQ0FMRV9IIDEK fCAjZGVmaW5lIEhBVkVfU1lTX1VUU05BTUVfSCAxCnwgI2RlZmluZSBIQVZFX1BX RF9IIDEKfCAjZGVmaW5lIFNURENfSEVBREVSUyAxCnwgI2RlZmluZSBUSU1FX1dJ VEhfU1lTX1RJTUUgMQp8ICNkZWZpbmUgSEFWRV9ERUNMX1NZU19TSUdMSVNUIDAK fCAjZGVmaW5lIEhBVkVfREVDTF9fX1NZU19TSUdMSVNUIDAKfCAjZGVmaW5lIEhB VkVfU1lTX1dBSVRfSCAxCnwgI2RlZmluZSBIQVZFX1NUUlVDVF9VVElNQlVGIDEK fCAjZGVmaW5lIFJFVFNJR1RZUEUgdm9pZAp8ICNkZWZpbmUgSEFWRV9TUEVFRF9U IDEKfCAjZGVmaW5lIEhBVkVfVElNRVZBTCAxCnwgI2RlZmluZSBIQVZFX1NZU19T T0NLRVRfSCAxCnwgI2RlZmluZSBIQVZFX05FVF9JRl9IIDEKfCAjZGVmaW5lIEhB VkVfVFpOQU1FIDEKfCAjZGVmaW5lIEhBVkVfU1RSVUNUX0lGUkVRX0lGUl9GTEFH UyAxCnwgI2RlZmluZSBIQVZFX1NUUlVDVF9JRlJFUV9JRlJfSFdBRERSIDEKfCAj ZGVmaW5lIEhBVkVfU1RSVUNUX0lGUkVRX0lGUl9ORVRNQVNLIDEKfCAjZGVmaW5l IEhBVkVfU1RSVUNUX0lGUkVRX0lGUl9CUk9BREFERFIgMQp8ICNkZWZpbmUgSEFW RV9TVFJVQ1RfSUZSRVFfSUZSX0FERFIgMQp8ICNkZWZpbmUgUFJPVE9UWVBFUyAx CnwgI2RlZmluZSBfX1BST1RPVFlQRVMgMQp8ICNkZWZpbmUgUE9JTlRFUl9UWVBF IHZvaWQKfCAjZGVmaW5lIEhBVkVfTE9OR19GSUxFX05BTUVTIDEKfCAvKiBlbmQg Y29uZmRlZnMuaC4gICovCnwgLyogRGVmaW5lIG1hbGxvY19zZXRfc3RhdGUgdG8g YW4gaW5ub2N1b3VzIHZhcmlhbnQsIGluIGNhc2UgPGxpbWl0cy5oPiBkZWNsYXJl cyBtYWxsb2Nfc2V0X3N0YXRlLgp8ICAgIEZvciBleGFtcGxlLCBIUC1VWCAxMWkg PGxpbWl0cy5oPiBkZWNsYXJlcyBnZXR0aW1lb2ZkYXkuICAqLwp8ICNkZWZpbmUg bWFsbG9jX3NldF9zdGF0ZSBpbm5vY3VvdXNfbWFsbG9jX3NldF9zdGF0ZQp8IAp8 IC8qIFN5c3RlbSBoZWFkZXIgdG8gZGVmaW5lIF9fc3R1YiBtYWNyb3MgYW5kIGhv cGVmdWxseSBmZXcgcHJvdG90eXBlcywKfCAgICAgd2hpY2ggY2FuIGNvbmZsaWN0 IHdpdGggY2hhciBtYWxsb2Nfc2V0X3N0YXRlICgpOyBiZWxvdy4KfCAgICAgUHJl ZmVyIDxsaW1pdHMuaD4gdG8gPGFzc2VydC5oPiBpZiBfX1NURENfXyBpcyBkZWZp bmVkLCBzaW5jZQp8ICAgICA8bGltaXRzLmg+IGV4aXN0cyBldmVuIG9uIGZyZWVz dGFuZGluZyBjb21waWxlcnMuICAqLwp8IAp8ICNpZmRlZiBfX1NURENfXwp8ICMg aW5jbHVkZSA8bGltaXRzLmg+CnwgI2Vsc2UKfCAjIGluY2x1ZGUgPGFzc2VydC5o Pgp8ICNlbmRpZgp8IAp8ICN1bmRlZiBtYWxsb2Nfc2V0X3N0YXRlCnwgCnwgLyog T3ZlcnJpZGUgYW55IGdjYzIgaW50ZXJuYWwgcHJvdG90eXBlIHRvIGF2b2lkIGFu IGVycm9yLiAgKi8KfCAjaWZkZWYgX19jcGx1c3BsdXMKfCBleHRlcm4gIkMiCnwg ewp8ICNlbmRpZgp8IC8qIFdlIHVzZSBjaGFyIGJlY2F1c2UgaW50IG1pZ2h0IG1h dGNoIHRoZSByZXR1cm4gdHlwZSBvZiBhIGdjYzIKfCAgICBidWlsdGluIGFuZCB0 aGVuIGl0cyBhcmd1bWVudCBwcm90b3R5cGUgd291bGQgc3RpbGwgYXBwbHkuICAq Lwp8IGNoYXIgbWFsbG9jX3NldF9zdGF0ZSAoKTsKfCAvKiBUaGUgR05VIEMgbGli cmFyeSBkZWZpbmVzIHRoaXMgZm9yIGZ1bmN0aW9ucyB3aGljaCBpdCBpbXBsZW1l bnRzCnwgICAgIHRvIGFsd2F5cyBmYWlsIHdpdGggRU5PU1lTLiAgU29tZSBmdW5j dGlvbnMgYXJlIGFjdHVhbGx5IG5hbWVkCnwgICAgIHNvbWV0aGluZyBzdGFydGlu ZyB3aXRoIF9fIGFuZCB0aGUgbm9ybWFsIG5hbWUgaXMgYW4gYWxpYXMuICAqLwp8 ICNpZiBkZWZpbmVkIChfX3N0dWJfbWFsbG9jX3NldF9zdGF0ZSkgfHwgZGVmaW5l ZCAoX19zdHViX19fbWFsbG9jX3NldF9zdGF0ZSkKfCBjaG9rZSBtZQp8ICNlbHNl CnwgY2hhciAoKmYpICgpID0gbWFsbG9jX3NldF9zdGF0ZTsKfCAjZW5kaWYKfCAj aWZkZWYgX19jcGx1c3BsdXMKfCB9CnwgI2VuZGlmCnwgCnwgaW50CnwgbWFpbiAo KQp8IHsKfCByZXR1cm4gZiAhPSBtYWxsb2Nfc2V0X3N0YXRlOwp8ICAgOwp8ICAg cmV0dXJuIDA7CnwgfQpjb25maWd1cmU6OTA0OTogcmVzdWx0OiBubwpjb25maWd1 cmU6OTA1NzogY2hlY2tpbmcgd2hldGhlciBfX2FmdGVyX21vcmVjb3JlX2hvb2sg ZXhpc3RzCmNvbmZpZ3VyZTo5MDc4OiBnY2MgLW8gY29uZnRlc3QuZXhlIC1nIC1P MiAgICAgY29uZnRlc3QuYyAgPiY1ICAKL2N5Z2RyaXZlL2MvRE9DVU1FfjEvd2ls bGlhbS9MT0NBTFN+MS9UZW1wL2NjbzloVXFFLm86IEluIGZ1bmN0aW9uIGBtYWlu JzoKL2N5Z2RyaXZlL2QvZW1hY3MyMi9jb25mdGVzdC5jOjY2OiB1bmRlZmluZWQg cmVmZXJlbmNlIHRvIGBfX19hZnRlcl9tb3JlY29yZV9ob29rJwpjb2xsZWN0Mjog bGQgcmV0dXJuZWQgMSBleGl0IHN0YXR1cwpjb25maWd1cmU6OTA4NDogJD8gPSAx CmNvbmZpZ3VyZTogZmFpbGVkIHByb2dyYW0gd2FzOgp8IC8qIGNvbmZkZWZzLmgu ICAqLwp8IAp8ICNkZWZpbmUgUEFDS0FHRV9OQU1FICIiCnwgI2RlZmluZSBQQUNL QUdFX1RBUk5BTUUgIiIKfCAjZGVmaW5lIFBBQ0tBR0VfVkVSU0lPTiAiIgp8ICNk ZWZpbmUgUEFDS0FHRV9TVFJJTkcgIiIKfCAjZGVmaW5lIFBBQ0tBR0VfQlVHUkVQ T1JUICIiCnwgI2RlZmluZSBNQUlMX1VTRV9QT1AgMQp8ICNkZWZpbmUgX0dOVV9T T1VSQ0UgMQp8ICNkZWZpbmUgU1REQ19IRUFERVJTIDEKfCAjZGVmaW5lIEhBVkVf U1lTX1RZUEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfU1RBVF9IIDEKfCAjZGVm aW5lIEhBVkVfU1RETElCX0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJJTkdfSCAxCnwg I2RlZmluZSBIQVZFX01FTU9SWV9IIDEKfCAjZGVmaW5lIEhBVkVfU1RSSU5HU19I IDEKfCAjZGVmaW5lIEhBVkVfSU5UVFlQRVNfSCAxCnwgI2RlZmluZSBIQVZFX1NU RElOVF9IIDEKfCAjZGVmaW5lIEhBVkVfVU5JU1REX0ggMQp8ICNkZWZpbmUgSEFW RV9TWVNfU09VTkRDQVJEX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfU0VMRUNUX0gg MQp8ICNkZWZpbmUgSEFWRV9TWVNfVElNRUJfSCAxCnwgI2RlZmluZSBIQVZFX1NZ U19USU1FX0ggMQp8ICNkZWZpbmUgSEFWRV9VTklTVERfSCAxCnwgI2RlZmluZSBI QVZFX1VUSU1FX0ggMQp8ICNkZWZpbmUgSEFWRV9URVJNSU9TX0ggMQp8ICNkZWZp bmUgSEFWRV9MSU1JVFNfSCAxCnwgI2RlZmluZSBIQVZFX1NUUklOR19IIDEKfCAj ZGVmaW5lIEhBVkVfU1RETElCX0ggMQp8ICNkZWZpbmUgSEFWRV9URVJNQ0FQX0gg MQp8ICNkZWZpbmUgSEFWRV9GQ05UTF9IIDEKfCAjZGVmaW5lIEhBVkVfU1RSSU5H U19IIDEKfCAjZGVmaW5lIEhBVkVfUFRZX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNf TU1BTl9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1BBUkFNX0ggMQp8ICNkZWZpbmUg SEFWRV9TWVNfUkVTT1VSQ0VfSCAxCnwgI2RlZmluZSBIQVZFX0xPQ0FMRV9IIDEK fCAjZGVmaW5lIEhBVkVfU1lTX1VUU05BTUVfSCAxCnwgI2RlZmluZSBIQVZFX1BX RF9IIDEKfCAjZGVmaW5lIFNURENfSEVBREVSUyAxCnwgI2RlZmluZSBUSU1FX1dJ VEhfU1lTX1RJTUUgMQp8ICNkZWZpbmUgSEFWRV9ERUNMX1NZU19TSUdMSVNUIDAK fCAjZGVmaW5lIEhBVkVfREVDTF9fX1NZU19TSUdMSVNUIDAKfCAjZGVmaW5lIEhB VkVfU1lTX1dBSVRfSCAxCnwgI2RlZmluZSBIQVZFX1NUUlVDVF9VVElNQlVGIDEK fCAjZGVmaW5lIFJFVFNJR1RZUEUgdm9pZAp8ICNkZWZpbmUgSEFWRV9TUEVFRF9U IDEKfCAjZGVmaW5lIEhBVkVfVElNRVZBTCAxCnwgI2RlZmluZSBIQVZFX1NZU19T T0NLRVRfSCAxCnwgI2RlZmluZSBIQVZFX05FVF9JRl9IIDEKfCAjZGVmaW5lIEhB VkVfVFpOQU1FIDEKfCAjZGVmaW5lIEhBVkVfU1RSVUNUX0lGUkVRX0lGUl9GTEFH UyAxCnwgI2RlZmluZSBIQVZFX1NUUlVDVF9JRlJFUV9JRlJfSFdBRERSIDEKfCAj ZGVmaW5lIEhBVkVfU1RSVUNUX0lGUkVRX0lGUl9ORVRNQVNLIDEKfCAjZGVmaW5l IEhBVkVfU1RSVUNUX0lGUkVRX0lGUl9CUk9BREFERFIgMQp8ICNkZWZpbmUgSEFW RV9TVFJVQ1RfSUZSRVFfSUZSX0FERFIgMQp8ICNkZWZpbmUgUFJPVE9UWVBFUyAx CnwgI2RlZmluZSBfX1BST1RPVFlQRVMgMQp8ICNkZWZpbmUgUE9JTlRFUl9UWVBF IHZvaWQKfCAjZGVmaW5lIEhBVkVfTE9OR19GSUxFX05BTUVTIDEKfCAvKiBlbmQg Y29uZmRlZnMuaC4gICovCnwgZXh0ZXJuIHZvaWQgKCogX19hZnRlcl9tb3JlY29y ZV9ob29rKSgpOwp8IGludAp8IG1haW4gKCkKfCB7CnwgX19hZnRlcl9tb3JlY29y ZV9ob29rID0gMAp8ICAgOwp8ICAgcmV0dXJuIDA7CnwgfQpjb25maWd1cmU6OTEw OTogcmVzdWx0OiBubwpjb25maWd1cmU6OTE0MjogY2hlY2tpbmcgZm9yIHN0ZGxp Yi5oCmNvbmZpZ3VyZTo5MTQ3OiByZXN1bHQ6IHllcwpjb25maWd1cmU6OTE0Mjog Y2hlY2tpbmcgZm9yIHVuaXN0ZC5oCmNvbmZpZ3VyZTo5MTQ3OiByZXN1bHQ6IHll cwpjb25maWd1cmU6OTI5MTogY2hlY2tpbmcgZm9yIGdldHBhZ2VzaXplCmNvbmZp Z3VyZTo5MzQ4OiBnY2MgLW8gY29uZnRlc3QuZXhlIC1nIC1PMiAgICAgY29uZnRl c3QuYyAgPiY1ICAKY29uZmlndXJlOjkzNTQ6ICQ/ID0gMApjb25maWd1cmU6OTM1 ODogdGVzdCAteiAKCQkJIHx8IHRlc3QgISAtcyBjb25mdGVzdC5lcnIKY29uZmln dXJlOjkzNjE6ICQ/ID0gMApjb25maWd1cmU6OTM2NDogdGVzdCAtcyBjb25mdGVz dC5leGUKY29uZmlndXJlOjkzNjc6ICQ/ID0gMApjb25maWd1cmU6OTM3OTogcmVz dWx0OiB5ZXMKY29uZmlndXJlOjkzODk6IGNoZWNraW5nIGZvciB3b3JraW5nIG1t YXAKY29uZmlndXJlOjk1MzE6IGdjYyAtbyBjb25mdGVzdC5leGUgLWcgLU8yICAg ICBjb25mdGVzdC5jICA+JjUgIApjb25maWd1cmU6OTUzNDogJD8gPSAwCmNvbmZp Z3VyZTo5NTM2OiAuL2NvbmZ0ZXN0LmV4ZQpjb25maWd1cmU6OTUzOTogJD8gPSAx CmNvbmZpZ3VyZTogcHJvZ3JhbSBleGl0ZWQgd2l0aCBzdGF0dXMgMQpjb25maWd1 cmU6IGZhaWxlZCBwcm9ncmFtIHdhczoKfCAvKiBjb25mZGVmcy5oLiAgKi8KfCAK fCAjZGVmaW5lIFBBQ0tBR0VfTkFNRSAiIgp8ICNkZWZpbmUgUEFDS0FHRV9UQVJO QU1FICIiCnwgI2RlZmluZSBQQUNLQUdFX1ZFUlNJT04gIiIKfCAjZGVmaW5lIFBB Q0tBR0VfU1RSSU5HICIiCnwgI2RlZmluZSBQQUNLQUdFX0JVR1JFUE9SVCAiIgp8 ICNkZWZpbmUgTUFJTF9VU0VfUE9QIDEKfCAjZGVmaW5lIF9HTlVfU09VUkNFIDEK fCAjZGVmaW5lIFNURENfSEVBREVSUyAxCnwgI2RlZmluZSBIQVZFX1NZU19UWVBF U19IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NUQVRfSCAxCnwgI2RlZmluZSBIQVZF X1NURExJQl9IIDEKfCAjZGVmaW5lIEhBVkVfU1RSSU5HX0ggMQp8ICNkZWZpbmUg SEFWRV9NRU1PUllfSCAxCnwgI2RlZmluZSBIQVZFX1NUUklOR1NfSCAxCnwgI2Rl ZmluZSBIQVZFX0lOVFRZUEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERJTlRfSCAx CnwgI2RlZmluZSBIQVZFX1VOSVNURF9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NP VU5EQ0FSRF9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NFTEVDVF9IIDEKfCAjZGVm aW5lIEhBVkVfU1lTX1RJTUVCX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfVElNRV9I IDEKfCAjZGVmaW5lIEhBVkVfVU5JU1REX0ggMQp8ICNkZWZpbmUgSEFWRV9VVElN RV9IIDEKfCAjZGVmaW5lIEhBVkVfVEVSTUlPU19IIDEKfCAjZGVmaW5lIEhBVkVf TElNSVRTX0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJJTkdfSCAxCnwgI2RlZmluZSBI QVZFX1NURExJQl9IIDEKfCAjZGVmaW5lIEhBVkVfVEVSTUNBUF9IIDEKfCAjZGVm aW5lIEhBVkVfRkNOVExfSCAxCnwgI2RlZmluZSBIQVZFX1NUUklOR1NfSCAxCnwg I2RlZmluZSBIQVZFX1BUWV9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX01NQU5fSCAx CnwgI2RlZmluZSBIQVZFX1NZU19QQVJBTV9IIDEKfCAjZGVmaW5lIEhBVkVfU1lT X1JFU09VUkNFX0ggMQp8ICNkZWZpbmUgSEFWRV9MT0NBTEVfSCAxCnwgI2RlZmlu ZSBIQVZFX1NZU19VVFNOQU1FX0ggMQp8ICNkZWZpbmUgSEFWRV9QV0RfSCAxCnwg I2RlZmluZSBTVERDX0hFQURFUlMgMQp8ICNkZWZpbmUgVElNRV9XSVRIX1NZU19U SU1FIDEKfCAjZGVmaW5lIEhBVkVfREVDTF9TWVNfU0lHTElTVCAwCnwgI2RlZmlu ZSBIQVZFX0RFQ0xfX19TWVNfU0lHTElTVCAwCnwgI2RlZmluZSBIQVZFX1NZU19X QUlUX0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJVQ1RfVVRJTUJVRiAxCnwgI2RlZmlu ZSBSRVRTSUdUWVBFIHZvaWQKfCAjZGVmaW5lIEhBVkVfU1BFRURfVCAxCnwgI2Rl ZmluZSBIQVZFX1RJTUVWQUwgMQp8ICNkZWZpbmUgSEFWRV9TWVNfU09DS0VUX0gg MQp8ICNkZWZpbmUgSEFWRV9ORVRfSUZfSCAxCnwgI2RlZmluZSBIQVZFX1RaTkFN RSAxCnwgI2RlZmluZSBIQVZFX1NUUlVDVF9JRlJFUV9JRlJfRkxBR1MgMQp8ICNk ZWZpbmUgSEFWRV9TVFJVQ1RfSUZSRVFfSUZSX0hXQUREUiAxCnwgI2RlZmluZSBI QVZFX1NUUlVDVF9JRlJFUV9JRlJfTkVUTUFTSyAxCnwgI2RlZmluZSBIQVZFX1NU UlVDVF9JRlJFUV9JRlJfQlJPQURBRERSIDEKfCAjZGVmaW5lIEhBVkVfU1RSVUNU X0lGUkVRX0lGUl9BRERSIDEKfCAjZGVmaW5lIFBST1RPVFlQRVMgMQp8ICNkZWZp bmUgX19QUk9UT1RZUEVTIDEKfCAjZGVmaW5lIFBPSU5URVJfVFlQRSB2b2lkCnwg I2RlZmluZSBIQVZFX0xPTkdfRklMRV9OQU1FUyAxCnwgI2RlZmluZSBIQVZFX1NU RExJQl9IIDEKfCAjZGVmaW5lIEhBVkVfVU5JU1REX0ggMQp8ICNkZWZpbmUgSEFW RV9HRVRQQUdFU0laRSAxCnwgLyogZW5kIGNvbmZkZWZzLmguICAqLwp8ICNpbmNs dWRlIDxzdGRpby5oPgp8ICNpZiBIQVZFX1NZU19UWVBFU19ICnwgIyBpbmNsdWRl IDxzeXMvdHlwZXMuaD4KfCAjZW5kaWYKfCAjaWYgSEFWRV9TWVNfU1RBVF9ICnwg IyBpbmNsdWRlIDxzeXMvc3RhdC5oPgp8ICNlbmRpZgp8ICNpZiBTVERDX0hFQURF UlMKfCAjIGluY2x1ZGUgPHN0ZGxpYi5oPgp8ICMgaW5jbHVkZSA8c3RkZGVmLmg+ CnwgI2Vsc2UKfCAjIGlmIEhBVkVfU1RETElCX0gKfCAjICBpbmNsdWRlIDxzdGRs aWIuaD4KfCAjIGVuZGlmCnwgI2VuZGlmCnwgI2lmIEhBVkVfU1RSSU5HX0gKfCAj IGlmICFTVERDX0hFQURFUlMgJiYgSEFWRV9NRU1PUllfSAp8ICMgIGluY2x1ZGUg PG1lbW9yeS5oPgp8ICMgZW5kaWYKfCAjIGluY2x1ZGUgPHN0cmluZy5oPgp8ICNl bmRpZgp8ICNpZiBIQVZFX1NUUklOR1NfSAp8ICMgaW5jbHVkZSA8c3RyaW5ncy5o Pgp8ICNlbmRpZgp8ICNpZiBIQVZFX0lOVFRZUEVTX0gKfCAjIGluY2x1ZGUgPGlu dHR5cGVzLmg+CnwgI2Vsc2UKfCAjIGlmIEhBVkVfU1RESU5UX0gKfCAjICBpbmNs dWRlIDxzdGRpbnQuaD4KfCAjIGVuZGlmCnwgI2VuZGlmCnwgI2lmIEhBVkVfVU5J U1REX0gKfCAjIGluY2x1ZGUgPHVuaXN0ZC5oPgp8ICNlbmRpZgp8IC8qIG1hbGxv YyBtaWdodCBoYXZlIGJlZW4gcmVuYW1lZCBhcyBycGxfbWFsbG9jLiAqLwp8ICN1 bmRlZiBtYWxsb2MKfCAKfCAvKiBUaGFua3MgdG8gTWlrZSBIYWVydGVsIGFuZCBK aW0gQXZlcmEgZm9yIHRoaXMgdGVzdC4KfCAgICBIZXJlIGlzIGEgbWF0cml4IG9m IG1tYXAgcG9zc2liaWxpdGllczoKfCAJbW1hcCBwcml2YXRlIG5vdCBmaXhlZAp8 IAltbWFwIHByaXZhdGUgZml4ZWQgYXQgc29tZXdoZXJlIGN1cnJlbnRseSB1bm1h cHBlZAp8IAltbWFwIHByaXZhdGUgZml4ZWQgYXQgc29tZXdoZXJlIGFscmVhZHkg bWFwcGVkCnwgCW1tYXAgc2hhcmVkIG5vdCBmaXhlZAp8IAltbWFwIHNoYXJlZCBm aXhlZCBhdCBzb21ld2hlcmUgY3VycmVudGx5IHVubWFwcGVkCnwgCW1tYXAgc2hh cmVkIGZpeGVkIGF0IHNvbWV3aGVyZSBhbHJlYWR5IG1hcHBlZAp8ICAgIEZvciBw cml2YXRlIG1hcHBpbmdzLCB3ZSBzaG91bGQgdmVyaWZ5IHRoYXQgY2hhbmdlcyBj YW5ub3QgYmUgcmVhZCgpCnwgICAgYmFjayBmcm9tIHRoZSBmaWxlLCBub3IgbW1h cCdzIGJhY2sgZnJvbSB0aGUgZmlsZSBhdCBhIGRpZmZlcmVudAp8ICAgIGFkZHJl c3MuICAoVGhlcmUgaGF2ZSBiZWVuIHN5c3RlbXMgd2hlcmUgcHJpdmF0ZSB3YXMg bm90IGNvcnJlY3RseQp8ICAgIGltcGxlbWVudGVkIGxpa2UgdGhlIGluZmFtb3Vz IGkzODYgc3ZyNC4wLCBhbmQgc3lzdGVtcyB3aGVyZSB0aGUKfCAgICBWTSBwYWdl IGNhY2hlIHdhcyBub3QgY29oZXJlbnQgd2l0aCB0aGUgZmlsZSBzeXN0ZW0gYnVm ZmVyIGNhY2hlCnwgICAgbGlrZSBlYXJseSB2ZXJzaW9ucyBvZiBGcmVlQlNEIGFu ZCBwb3NzaWJseSBjb250ZW1wb3JhcnkgTmV0QlNELikKfCAgICBGb3Igc2hhcmVk IG1hcHBpbmdzLCB3ZSBzaG91bGQgY29udmVyc2VseSB2ZXJpZnkgdGhhdCBjaGFu Z2VzIGdldAp8ICAgIHByb3BhZ2F0ZWQgYmFjayB0byBhbGwgdGhlIHBsYWNlcyB0 aGV5J3JlIHN1cHBvc2VkIHRvIGJlLgp8IAp8ICAgIEdyZXAgd2FudHMgcHJpdmF0 ZSBmaXhlZCBhbHJlYWR5IG1hcHBlZC4KfCAgICBUaGUgbWFpbiB0aGluZ3MgZ3Jl cCBuZWVkcyB0byBrbm93IGFib3V0IG1tYXAgYXJlOgp8ICAgICogZG9lcyBpdCBl eGlzdCBhbmQgaXMgaXQgc2FmZSB0byB3cml0ZSBpbnRvIHRoZSBtbWFwJ2QgYXJl YQp8ICAgICogaG93IHRvIHVzZSBpdCAoQlNEIHZhcmlhbnRzKSAgKi8KfCAKfCAj aW5jbHVkZSA8ZmNudGwuaD4KfCAjaW5jbHVkZSA8c3lzL21tYW4uaD4KfCAKfCAj aWYgIVNURENfSEVBREVSUyAmJiAhSEFWRV9TVERMSUJfSAp8IGNoYXIgKm1hbGxv YyAoKTsKfCAjZW5kaWYKfCAKfCAvKiBUaGlzIG1lc3Mgd2FzIGNvcGllZCBmcm9t IHRoZSBHTlUgZ2V0cGFnZXNpemUuaC4gICovCnwgI2lmICFIQVZFX0dFVFBBR0VT SVpFCnwgLyogQXNzdW1lIHRoYXQgYWxsIHN5c3RlbXMgdGhhdCBjYW4gcnVuIGNv bmZpZ3VyZSBoYXZlIHN5cy9wYXJhbS5oLiAgKi8KfCAjIGlmICFIQVZFX1NZU19Q QVJBTV9ICnwgIyAgZGVmaW5lIEhBVkVfU1lTX1BBUkFNX0ggMQp8ICMgZW5kaWYK fCAKfCAjIGlmZGVmIF9TQ19QQUdFU0laRQp8ICMgIGRlZmluZSBnZXRwYWdlc2l6 ZSgpIHN5c2NvbmYoX1NDX1BBR0VTSVpFKQp8ICMgZWxzZSAvKiBubyBfU0NfUEFH RVNJWkUgKi8KfCAjICBpZiBIQVZFX1NZU19QQVJBTV9ICnwgIyAgIGluY2x1ZGUg PHN5cy9wYXJhbS5oPgp8ICMgICBpZmRlZiBFWEVDX1BBR0VTSVpFCnwgIyAgICBk ZWZpbmUgZ2V0cGFnZXNpemUoKSBFWEVDX1BBR0VTSVpFCnwgIyAgIGVsc2UgLyog bm8gRVhFQ19QQUdFU0laRSAqLwp8ICMgICAgaWZkZWYgTkJQRwp8ICMgICAgIGRl ZmluZSBnZXRwYWdlc2l6ZSgpIE5CUEcgKiBDTFNJWkUKfCAjICAgICBpZm5kZWYg Q0xTSVpFCnwgIyAgICAgIGRlZmluZSBDTFNJWkUgMQp8ICMgICAgIGVuZGlmIC8q IG5vIENMU0laRSAqLwp8ICMgICAgZWxzZSAvKiBubyBOQlBHICovCnwgIyAgICAg aWZkZWYgTkJQQwp8ICMgICAgICBkZWZpbmUgZ2V0cGFnZXNpemUoKSBOQlBDCnwg IyAgICAgZWxzZSAvKiBubyBOQlBDICovCnwgIyAgICAgIGlmZGVmIFBBR0VTSVpF CnwgIyAgICAgICBkZWZpbmUgZ2V0cGFnZXNpemUoKSBQQUdFU0laRQp8ICMgICAg ICBlbmRpZiAvKiBQQUdFU0laRSAqLwp8ICMgICAgIGVuZGlmIC8qIG5vIE5CUEMg Ki8KfCAjICAgIGVuZGlmIC8qIG5vIE5CUEcgKi8KfCAjICAgZW5kaWYgLyogbm8g RVhFQ19QQUdFU0laRSAqLwp8ICMgIGVsc2UgLyogbm8gSEFWRV9TWVNfUEFSQU1f SCAqLwp8ICMgICBkZWZpbmUgZ2V0cGFnZXNpemUoKSA4MTkyCS8qIHB1bnQgdG90 YWxseSAqLwp8ICMgIGVuZGlmIC8qIG5vIEhBVkVfU1lTX1BBUkFNX0ggKi8KfCAj IGVuZGlmIC8qIG5vIF9TQ19QQUdFU0laRSAqLwp8IAp8ICNlbmRpZiAvKiBubyBI QVZFX0dFVFBBR0VTSVpFICovCnwgCnwgaW50CnwgbWFpbiAoKQp8IHsKfCAgIGNo YXIgKmRhdGEsICpkYXRhMiwgKmRhdGEzOwp8ICAgaW50IGksIHBhZ2VzaXplOwp8 ICAgaW50IGZkOwp8IAp8ICAgcGFnZXNpemUgPSBnZXRwYWdlc2l6ZSAoKTsKfCAK fCAgIC8qIEZpcnN0LCBtYWtlIGEgZmlsZSB3aXRoIHNvbWUga25vd24gZ2FyYmFn ZSBpbiBpdC4gKi8KfCAgIGRhdGEgPSAoY2hhciAqKSBtYWxsb2MgKHBhZ2VzaXpl KTsKfCAgIGlmICghZGF0YSkKfCAgICAgZXhpdCAoMSk7CnwgICBmb3IgKGkgPSAw OyBpIDwgcGFnZXNpemU7ICsraSkKfCAgICAgKihkYXRhICsgaSkgPSByYW5kICgp Owp8ICAgdW1hc2sgKDApOwp8ICAgZmQgPSBjcmVhdCAoImNvbmZ0ZXN0Lm1tYXAi LCAwNjAwKTsKfCAgIGlmIChmZCA8IDApCnwgICAgIGV4aXQgKDEpOwp8ICAgaWYg KHdyaXRlIChmZCwgZGF0YSwgcGFnZXNpemUpICE9IHBhZ2VzaXplKQp8ICAgICBl eGl0ICgxKTsKfCAgIGNsb3NlIChmZCk7CnwgCnwgICAvKiBOZXh0LCB0cnkgdG8g bW1hcCB0aGUgZmlsZSBhdCBhIGZpeGVkIGFkZHJlc3Mgd2hpY2ggYWxyZWFkeSBo YXMKfCAgICAgIHNvbWV0aGluZyBlbHNlIGFsbG9jYXRlZCBhdCBpdC4gIElmIHdl IGNhbiwgYWxzbyBtYWtlIHN1cmUgdGhhdAp8ICAgICAgd2Ugc2VlIHRoZSBzYW1l IGdhcmJhZ2UuICAqLwp8ICAgZmQgPSBvcGVuICgiY29uZnRlc3QubW1hcCIsIE9f UkRXUik7CnwgICBpZiAoZmQgPCAwKQp8ICAgICBleGl0ICgxKTsKfCAgIGRhdGEy ID0gKGNoYXIgKikgbWFsbG9jICgyICogcGFnZXNpemUpOwp8ICAgaWYgKCFkYXRh MikKfCAgICAgZXhpdCAoMSk7CnwgICBkYXRhMiArPSAocGFnZXNpemUgLSAoKGxv bmcpIGRhdGEyICYgKHBhZ2VzaXplIC0gMSkpKSAmIChwYWdlc2l6ZSAtIDEpOwp8 ICAgaWYgKGRhdGEyICE9IG1tYXAgKGRhdGEyLCBwYWdlc2l6ZSwgUFJPVF9SRUFE IHwgUFJPVF9XUklURSwKfCAJCSAgICAgTUFQX1BSSVZBVEUgfCBNQVBfRklYRUQs IGZkLCAwTCkpCnwgICAgIGV4aXQgKDEpOwp8ICAgZm9yIChpID0gMDsgaSA8IHBh Z2VzaXplOyArK2kpCnwgICAgIGlmICgqKGRhdGEgKyBpKSAhPSAqKGRhdGEyICsg aSkpCnwgICAgICAgZXhpdCAoMSk7CnwgCnwgICAvKiBGaW5hbGx5LCBtYWtlIHN1 cmUgdGhhdCBjaGFuZ2VzIHRvIHRoZSBtYXBwZWQgYXJlYSBkbyBub3QKfCAgICAg IHBlcmNvbGF0ZSBiYWNrIHRvIHRoZSBmaWxlIGFzIHNlZW4gYnkgcmVhZCgpLiAg KFRoaXMgaXMgYSBidWcgb24KfCAgICAgIHNvbWUgdmFyaWFudHMgb2YgaTM4NiBz dnI0LjAuKSAgKi8KfCAgIGZvciAoaSA9IDA7IGkgPCBwYWdlc2l6ZTsgKytpKQp8 ICAgICAqKGRhdGEyICsgaSkgPSAqKGRhdGEyICsgaSkgKyAxOwp8ICAgZGF0YTMg PSAoY2hhciAqKSBtYWxsb2MgKHBhZ2VzaXplKTsKfCAgIGlmICghZGF0YTMpCnwg ICAgIGV4aXQgKDEpOwp8ICAgaWYgKHJlYWQgKGZkLCBkYXRhMywgcGFnZXNpemUp ICE9IHBhZ2VzaXplKQp8ICAgICBleGl0ICgxKTsKfCAgIGZvciAoaSA9IDA7IGkg PCBwYWdlc2l6ZTsgKytpKQp8ICAgICBpZiAoKihkYXRhICsgaSkgIT0gKihkYXRh MyArIGkpKQp8ICAgICAgIGV4aXQgKDEpOwp8ICAgY2xvc2UgKGZkKTsKfCAgIGV4 aXQgKDApOwp8IH0KY29uZmlndXJlOjk1NTM6IHJlc3VsdDogbm8KY29uZmlndXJl Ojk1NzE6IGNoZWNraW5nIGZvciBkbmV0X250b2EgaW4gLWxkbmV0CmNvbmZpZ3Vy ZTo5NjAxOiBnY2MgLW8gY29uZnRlc3QuZXhlIC1nIC1PMiAgICAgY29uZnRlc3Qu YyAtbGRuZXQgICAgPiY1ICAKL3Vzci9saWIvZ2NjLWxpYi9pNjg2LXBjLWN5Z3dp bi8zLjMuMy8uLi8uLi8uLi8uLi9pNjg2LXBjLWN5Z3dpbi9iaW4vbGQ6IGNhbm5v dCBmaW5kIC1sZG5ldApjb2xsZWN0MjogbGQgcmV0dXJuZWQgMSBleGl0IHN0YXR1 cwpjb25maWd1cmU6OTYwNzogJD8gPSAxCmNvbmZpZ3VyZTogZmFpbGVkIHByb2dy YW0gd2FzOgp8IC8qIGNvbmZkZWZzLmguICAqLwp8IAp8ICNkZWZpbmUgUEFDS0FH RV9OQU1FICIiCnwgI2RlZmluZSBQQUNLQUdFX1RBUk5BTUUgIiIKfCAjZGVmaW5l IFBBQ0tBR0VfVkVSU0lPTiAiIgp8ICNkZWZpbmUgUEFDS0FHRV9TVFJJTkcgIiIK fCAjZGVmaW5lIFBBQ0tBR0VfQlVHUkVQT1JUICIiCnwgI2RlZmluZSBNQUlMX1VT RV9QT1AgMQp8ICNkZWZpbmUgX0dOVV9TT1VSQ0UgMQp8ICNkZWZpbmUgU1REQ19I RUFERVJTIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1RZUEVTX0ggMQp8ICNkZWZpbmUg SEFWRV9TWVNfU1RBVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1RETElCX0ggMQp8ICNk ZWZpbmUgSEFWRV9TVFJJTkdfSCAxCnwgI2RlZmluZSBIQVZFX01FTU9SWV9IIDEK fCAjZGVmaW5lIEhBVkVfU1RSSU5HU19IIDEKfCAjZGVmaW5lIEhBVkVfSU5UVFlQ RVNfSCAxCnwgI2RlZmluZSBIQVZFX1NURElOVF9IIDEKfCAjZGVmaW5lIEhBVkVf VU5JU1REX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfU09VTkRDQVJEX0ggMQp8ICNk ZWZpbmUgSEFWRV9TWVNfU0VMRUNUX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfVElN RUJfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19USU1FX0ggMQp8ICNkZWZpbmUgSEFW RV9VTklTVERfSCAxCnwgI2RlZmluZSBIQVZFX1VUSU1FX0ggMQp8ICNkZWZpbmUg SEFWRV9URVJNSU9TX0ggMQp8ICNkZWZpbmUgSEFWRV9MSU1JVFNfSCAxCnwgI2Rl ZmluZSBIQVZFX1NUUklOR19IIDEKfCAjZGVmaW5lIEhBVkVfU1RETElCX0ggMQp8 ICNkZWZpbmUgSEFWRV9URVJNQ0FQX0ggMQp8ICNkZWZpbmUgSEFWRV9GQ05UTF9I IDEKfCAjZGVmaW5lIEhBVkVfU1RSSU5HU19IIDEKfCAjZGVmaW5lIEhBVkVfUFRZ X0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfTU1BTl9IIDEKfCAjZGVmaW5lIEhBVkVf U1lTX1BBUkFNX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfUkVTT1VSQ0VfSCAxCnwg I2RlZmluZSBIQVZFX0xPQ0FMRV9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1VUU05B TUVfSCAxCnwgI2RlZmluZSBIQVZFX1BXRF9IIDEKfCAjZGVmaW5lIFNURENfSEVB REVSUyAxCnwgI2RlZmluZSBUSU1FX1dJVEhfU1lTX1RJTUUgMQp8ICNkZWZpbmUg SEFWRV9ERUNMX1NZU19TSUdMSVNUIDAKfCAjZGVmaW5lIEhBVkVfREVDTF9fX1NZ U19TSUdMSVNUIDAKfCAjZGVmaW5lIEhBVkVfU1lTX1dBSVRfSCAxCnwgI2RlZmlu ZSBIQVZFX1NUUlVDVF9VVElNQlVGIDEKfCAjZGVmaW5lIFJFVFNJR1RZUEUgdm9p ZAp8ICNkZWZpbmUgSEFWRV9TUEVFRF9UIDEKfCAjZGVmaW5lIEhBVkVfVElNRVZB TCAxCnwgI2RlZmluZSBIQVZFX1NZU19TT0NLRVRfSCAxCnwgI2RlZmluZSBIQVZF X05FVF9JRl9IIDEKfCAjZGVmaW5lIEhBVkVfVFpOQU1FIDEKfCAjZGVmaW5lIEhB VkVfU1RSVUNUX0lGUkVRX0lGUl9GTEFHUyAxCnwgI2RlZmluZSBIQVZFX1NUUlVD VF9JRlJFUV9JRlJfSFdBRERSIDEKfCAjZGVmaW5lIEhBVkVfU1RSVUNUX0lGUkVR X0lGUl9ORVRNQVNLIDEKfCAjZGVmaW5lIEhBVkVfU1RSVUNUX0lGUkVRX0lGUl9C Uk9BREFERFIgMQp8ICNkZWZpbmUgSEFWRV9TVFJVQ1RfSUZSRVFfSUZSX0FERFIg MQp8ICNkZWZpbmUgUFJPVE9UWVBFUyAxCnwgI2RlZmluZSBfX1BST1RPVFlQRVMg MQp8ICNkZWZpbmUgUE9JTlRFUl9UWVBFIHZvaWQKfCAjZGVmaW5lIEhBVkVfTE9O R19GSUxFX05BTUVTIDEKfCAjZGVmaW5lIEhBVkVfU1RETElCX0ggMQp8ICNkZWZp bmUgSEFWRV9VTklTVERfSCAxCnwgI2RlZmluZSBIQVZFX0dFVFBBR0VTSVpFIDEK fCAvKiBlbmQgY29uZmRlZnMuaC4gICovCnwgCnwgLyogT3ZlcnJpZGUgYW55IGdj YzIgaW50ZXJuYWwgcHJvdG90eXBlIHRvIGF2b2lkIGFuIGVycm9yLiAgKi8KfCAj aWZkZWYgX19jcGx1c3BsdXMKfCBleHRlcm4gIkMiCnwgI2VuZGlmCnwgLyogV2Ug dXNlIGNoYXIgYmVjYXVzZSBpbnQgbWlnaHQgbWF0Y2ggdGhlIHJldHVybiB0eXBl IG9mIGEgZ2NjMgp8ICAgIGJ1aWx0aW4gYW5kIHRoZW4gaXRzIGFyZ3VtZW50IHBy b3RvdHlwZSB3b3VsZCBzdGlsbCBhcHBseS4gICovCnwgY2hhciBkbmV0X250b2Eg KCk7CnwgaW50CnwgbWFpbiAoKQp8IHsKfCBkbmV0X250b2EgKCk7CnwgICA7Cnwg ICByZXR1cm4gMDsKfCB9CmNvbmZpZ3VyZTo5NjMzOiByZXN1bHQ6IG5vCmNvbmZp Z3VyZTo5NjQ1OiBjaGVja2luZyBmb3IgbWFpbiBpbiAtbFhic2QKY29uZmlndXJl Ojk2Njk6IGdjYyAtbyBjb25mdGVzdC5leGUgLWcgLU8yICAgICBjb25mdGVzdC5j IC1sWGJzZCAgICA+JjUgIAovdXNyL2xpYi9nY2MtbGliL2k2ODYtcGMtY3lnd2lu LzMuMy4zLy4uLy4uLy4uLy4uL2k2ODYtcGMtY3lnd2luL2Jpbi9sZDogY2Fubm90 IGZpbmQgLWxYYnNkCmNvbGxlY3QyOiBsZCByZXR1cm5lZCAxIGV4aXQgc3RhdHVz CmNvbmZpZ3VyZTo5Njc1OiAkPyA9IDEKY29uZmlndXJlOiBmYWlsZWQgcHJvZ3Jh bSB3YXM6CnwgLyogY29uZmRlZnMuaC4gICovCnwgCnwgI2RlZmluZSBQQUNLQUdF X05BTUUgIiIKfCAjZGVmaW5lIFBBQ0tBR0VfVEFSTkFNRSAiIgp8ICNkZWZpbmUg UEFDS0FHRV9WRVJTSU9OICIiCnwgI2RlZmluZSBQQUNLQUdFX1NUUklORyAiIgp8 ICNkZWZpbmUgUEFDS0FHRV9CVUdSRVBPUlQgIiIKfCAjZGVmaW5lIE1BSUxfVVNF X1BPUCAxCnwgI2RlZmluZSBfR05VX1NPVVJDRSAxCnwgI2RlZmluZSBTVERDX0hF QURFUlMgMQp8ICNkZWZpbmUgSEFWRV9TWVNfVFlQRVNfSCAxCnwgI2RlZmluZSBI QVZFX1NZU19TVEFUX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERMSUJfSCAxCnwgI2Rl ZmluZSBIQVZFX1NUUklOR19IIDEKfCAjZGVmaW5lIEhBVkVfTUVNT1JZX0ggMQp8 ICNkZWZpbmUgSEFWRV9TVFJJTkdTX0ggMQp8ICNkZWZpbmUgSEFWRV9JTlRUWVBF U19IIDEKfCAjZGVmaW5lIEhBVkVfU1RESU5UX0ggMQp8ICNkZWZpbmUgSEFWRV9V TklTVERfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19TT1VORENBUkRfSCAxCnwgI2Rl ZmluZSBIQVZFX1NZU19TRUxFQ1RfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19USU1F Ql9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1RJTUVfSCAxCnwgI2RlZmluZSBIQVZF X1VOSVNURF9IIDEKfCAjZGVmaW5lIEhBVkVfVVRJTUVfSCAxCnwgI2RlZmluZSBI QVZFX1RFUk1JT1NfSCAxCnwgI2RlZmluZSBIQVZFX0xJTUlUU19IIDEKfCAjZGVm aW5lIEhBVkVfU1RSSU5HX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERMSUJfSCAxCnwg I2RlZmluZSBIQVZFX1RFUk1DQVBfSCAxCnwgI2RlZmluZSBIQVZFX0ZDTlRMX0gg MQp8ICNkZWZpbmUgSEFWRV9TVFJJTkdTX0ggMQp8ICNkZWZpbmUgSEFWRV9QVFlf SCAxCnwgI2RlZmluZSBIQVZFX1NZU19NTUFOX0ggMQp8ICNkZWZpbmUgSEFWRV9T WVNfUEFSQU1fSCAxCnwgI2RlZmluZSBIQVZFX1NZU19SRVNPVVJDRV9IIDEKfCAj ZGVmaW5lIEhBVkVfTE9DQUxFX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfVVRTTkFN RV9IIDEKfCAjZGVmaW5lIEhBVkVfUFdEX0ggMQp8ICNkZWZpbmUgU1REQ19IRUFE RVJTIDEKfCAjZGVmaW5lIFRJTUVfV0lUSF9TWVNfVElNRSAxCnwgI2RlZmluZSBI QVZFX0RFQ0xfU1lTX1NJR0xJU1QgMAp8ICNkZWZpbmUgSEFWRV9ERUNMX19fU1lT X1NJR0xJU1QgMAp8ICNkZWZpbmUgSEFWRV9TWVNfV0FJVF9IIDEKfCAjZGVmaW5l IEhBVkVfU1RSVUNUX1VUSU1CVUYgMQp8ICNkZWZpbmUgUkVUU0lHVFlQRSB2b2lk CnwgI2RlZmluZSBIQVZFX1NQRUVEX1QgMQp8ICNkZWZpbmUgSEFWRV9USU1FVkFM IDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NPQ0tFVF9IIDEKfCAjZGVmaW5lIEhBVkVf TkVUX0lGX0ggMQp8ICNkZWZpbmUgSEFWRV9UWk5BTUUgMQp8ICNkZWZpbmUgSEFW RV9TVFJVQ1RfSUZSRVFfSUZSX0ZMQUdTIDEKfCAjZGVmaW5lIEhBVkVfU1RSVUNU X0lGUkVRX0lGUl9IV0FERFIgMQp8ICNkZWZpbmUgSEFWRV9TVFJVQ1RfSUZSRVFf SUZSX05FVE1BU0sgMQp8ICNkZWZpbmUgSEFWRV9TVFJVQ1RfSUZSRVFfSUZSX0JS T0FEQUREUiAxCnwgI2RlZmluZSBIQVZFX1NUUlVDVF9JRlJFUV9JRlJfQUREUiAx CnwgI2RlZmluZSBQUk9UT1RZUEVTIDEKfCAjZGVmaW5lIF9fUFJPVE9UWVBFUyAx CnwgI2RlZmluZSBQT0lOVEVSX1RZUEUgdm9pZAp8ICNkZWZpbmUgSEFWRV9MT05H X0ZJTEVfTkFNRVMgMQp8ICNkZWZpbmUgSEFWRV9TVERMSUJfSCAxCnwgI2RlZmlu ZSBIQVZFX1VOSVNURF9IIDEKfCAjZGVmaW5lIEhBVkVfR0VUUEFHRVNJWkUgMQp8 IC8qIGVuZCBjb25mZGVmcy5oLiAgKi8KfCAKfCAKfCBpbnQKfCBtYWluICgpCnwg ewp8IG1haW4gKCk7CnwgICA7CnwgICByZXR1cm4gMDsKfCB9CmNvbmZpZ3VyZTo5 NzAxOiByZXN1bHQ6IG5vCmNvbmZpZ3VyZTo5NzA5OiBjaGVja2luZyBmb3IgY21h X29wZW4gaW4gLWxwdGhyZWFkcwpjb25maWd1cmU6OTczOTogZ2NjIC1vIGNvbmZ0 ZXN0LmV4ZSAtZyAtTzIgICAgIGNvbmZ0ZXN0LmMgLWxwdGhyZWFkcyAgICA+JjUg IAovdXNyL2xpYi9nY2MtbGliL2k2ODYtcGMtY3lnd2luLzMuMy4zLy4uLy4uLy4u Ly4uL2k2ODYtcGMtY3lnd2luL2Jpbi9sZDogY2Fubm90IGZpbmQgLWxwdGhyZWFk cwpjb2xsZWN0MjogbGQgcmV0dXJuZWQgMSBleGl0IHN0YXR1cwpjb25maWd1cmU6 OTc0NTogJD8gPSAxCmNvbmZpZ3VyZTogZmFpbGVkIHByb2dyYW0gd2FzOgp8IC8q IGNvbmZkZWZzLmguICAqLwp8IAp8ICNkZWZpbmUgUEFDS0FHRV9OQU1FICIiCnwg I2RlZmluZSBQQUNLQUdFX1RBUk5BTUUgIiIKfCAjZGVmaW5lIFBBQ0tBR0VfVkVS U0lPTiAiIgp8ICNkZWZpbmUgUEFDS0FHRV9TVFJJTkcgIiIKfCAjZGVmaW5lIFBB Q0tBR0VfQlVHUkVQT1JUICIiCnwgI2RlZmluZSBNQUlMX1VTRV9QT1AgMQp8ICNk ZWZpbmUgX0dOVV9TT1VSQ0UgMQp8ICNkZWZpbmUgU1REQ19IRUFERVJTIDEKfCAj ZGVmaW5lIEhBVkVfU1lTX1RZUEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfU1RB VF9IIDEKfCAjZGVmaW5lIEhBVkVfU1RETElCX0ggMQp8ICNkZWZpbmUgSEFWRV9T VFJJTkdfSCAxCnwgI2RlZmluZSBIQVZFX01FTU9SWV9IIDEKfCAjZGVmaW5lIEhB VkVfU1RSSU5HU19IIDEKfCAjZGVmaW5lIEhBVkVfSU5UVFlQRVNfSCAxCnwgI2Rl ZmluZSBIQVZFX1NURElOVF9IIDEKfCAjZGVmaW5lIEhBVkVfVU5JU1REX0ggMQp8 ICNkZWZpbmUgSEFWRV9TWVNfU09VTkRDQVJEX0ggMQp8ICNkZWZpbmUgSEFWRV9T WVNfU0VMRUNUX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfVElNRUJfSCAxCnwgI2Rl ZmluZSBIQVZFX1NZU19USU1FX0ggMQp8ICNkZWZpbmUgSEFWRV9VTklTVERfSCAx CnwgI2RlZmluZSBIQVZFX1VUSU1FX0ggMQp8ICNkZWZpbmUgSEFWRV9URVJNSU9T X0ggMQp8ICNkZWZpbmUgSEFWRV9MSU1JVFNfSCAxCnwgI2RlZmluZSBIQVZFX1NU UklOR19IIDEKfCAjZGVmaW5lIEhBVkVfU1RETElCX0ggMQp8ICNkZWZpbmUgSEFW RV9URVJNQ0FQX0ggMQp8ICNkZWZpbmUgSEFWRV9GQ05UTF9IIDEKfCAjZGVmaW5l IEhBVkVfU1RSSU5HU19IIDEKfCAjZGVmaW5lIEhBVkVfUFRZX0ggMQp8ICNkZWZp bmUgSEFWRV9TWVNfTU1BTl9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1BBUkFNX0gg MQp8ICNkZWZpbmUgSEFWRV9TWVNfUkVTT1VSQ0VfSCAxCnwgI2RlZmluZSBIQVZF X0xPQ0FMRV9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1VUU05BTUVfSCAxCnwgI2Rl ZmluZSBIQVZFX1BXRF9IIDEKfCAjZGVmaW5lIFNURENfSEVBREVSUyAxCnwgI2Rl ZmluZSBUSU1FX1dJVEhfU1lTX1RJTUUgMQp8ICNkZWZpbmUgSEFWRV9ERUNMX1NZ U19TSUdMSVNUIDAKfCAjZGVmaW5lIEhBVkVfREVDTF9fX1NZU19TSUdMSVNUIDAK fCAjZGVmaW5lIEhBVkVfU1lTX1dBSVRfSCAxCnwgI2RlZmluZSBIQVZFX1NUUlVD VF9VVElNQlVGIDEKfCAjZGVmaW5lIFJFVFNJR1RZUEUgdm9pZAp8ICNkZWZpbmUg SEFWRV9TUEVFRF9UIDEKfCAjZGVmaW5lIEhBVkVfVElNRVZBTCAxCnwgI2RlZmlu ZSBIQVZFX1NZU19TT0NLRVRfSCAxCnwgI2RlZmluZSBIQVZFX05FVF9JRl9IIDEK fCAjZGVmaW5lIEhBVkVfVFpOQU1FIDEKfCAjZGVmaW5lIEhBVkVfU1RSVUNUX0lG UkVRX0lGUl9GTEFHUyAxCnwgI2RlZmluZSBIQVZFX1NUUlVDVF9JRlJFUV9JRlJf SFdBRERSIDEKfCAjZGVmaW5lIEhBVkVfU1RSVUNUX0lGUkVRX0lGUl9ORVRNQVNL IDEKfCAjZGVmaW5lIEhBVkVfU1RSVUNUX0lGUkVRX0lGUl9CUk9BREFERFIgMQp8 ICNkZWZpbmUgSEFWRV9TVFJVQ1RfSUZSRVFfSUZSX0FERFIgMQp8ICNkZWZpbmUg UFJPVE9UWVBFUyAxCnwgI2RlZmluZSBfX1BST1RPVFlQRVMgMQp8ICNkZWZpbmUg UE9JTlRFUl9UWVBFIHZvaWQKfCAjZGVmaW5lIEhBVkVfTE9OR19GSUxFX05BTUVT IDEKfCAjZGVmaW5lIEhBVkVfU1RETElCX0ggMQp8ICNkZWZpbmUgSEFWRV9VTklT VERfSCAxCnwgI2RlZmluZSBIQVZFX0dFVFBBR0VTSVpFIDEKfCAvKiBlbmQgY29u ZmRlZnMuaC4gICovCnwgCnwgLyogT3ZlcnJpZGUgYW55IGdjYzIgaW50ZXJuYWwg cHJvdG90eXBlIHRvIGF2b2lkIGFuIGVycm9yLiAgKi8KfCAjaWZkZWYgX19jcGx1 c3BsdXMKfCBleHRlcm4gIkMiCnwgI2VuZGlmCnwgLyogV2UgdXNlIGNoYXIgYmVj YXVzZSBpbnQgbWlnaHQgbWF0Y2ggdGhlIHJldHVybiB0eXBlIG9mIGEgZ2NjMgp8 ICAgIGJ1aWx0aW4gYW5kIHRoZW4gaXRzIGFyZ3VtZW50IHByb3RvdHlwZSB3b3Vs ZCBzdGlsbCBhcHBseS4gICovCnwgY2hhciBjbWFfb3BlbiAoKTsKfCBpbnQKfCBt YWluICgpCnwgewp8IGNtYV9vcGVuICgpOwp8ICAgOwp8ICAgcmV0dXJuIDA7Cnwg fQpjb25maWd1cmU6OTc3MTogcmVzdWx0OiBubwpjb25maWd1cmU6OTc4MzogY2hl Y2tpbmcgZm9yIFhGcmVlODYgaW4gL3Vzci9YMzg2CmNvbmZpZ3VyZTo5NzkxOiBy ZXN1bHQ6IG5vCmNvbmZpZ3VyZToxMTcxNjogZ2NjIC1jIC1nIC1PMiAgICBjb25m dGVzdC5jID4mNQpjb25mdGVzdC5jOjY2OjMyOiBYMTEvWGxpYi5oOiBObyBzdWNo IGZpbGUgb3IgZGlyZWN0b3J5CmNvbmZ0ZXN0LmM6Njc6Mzc6IFgxMS9YcmVzb3Vy Y2UuaDogTm8gc3VjaCBmaWxlIG9yIGRpcmVjdG9yeQpjb25mdGVzdC5jOiBJbiBm dW5jdGlvbiBgbWFpbic6CmNvbmZ0ZXN0LmM6NzE6IGVycm9yOiBgWElNUHJvYycg dW5kZWNsYXJlZCAoZmlyc3QgdXNlIGluIHRoaXMgZnVuY3Rpb24pCmNvbmZ0ZXN0 LmM6NzE6IGVycm9yOiAoRWFjaCB1bmRlY2xhcmVkIGlkZW50aWZpZXIgaXMgcmVw b3J0ZWQgb25seSBvbmNlCmNvbmZ0ZXN0LmM6NzE6IGVycm9yOiBmb3IgZWFjaCBm dW5jdGlvbiBpdCBhcHBlYXJzIGluLikKY29uZnRlc3QuYzo3MTogZXJyb3I6IHBh cnNlIGVycm9yIGJlZm9yZSAiY2FsbGJhY2siCmNvbmZpZ3VyZToxMTcyMjogJD8g PSAxCmNvbmZpZ3VyZTogZmFpbGVkIHByb2dyYW0gd2FzOgp8IC8qIGNvbmZkZWZz LmguICAqLwp8IAp8ICNkZWZpbmUgUEFDS0FHRV9OQU1FICIiCnwgI2RlZmluZSBQ QUNLQUdFX1RBUk5BTUUgIiIKfCAjZGVmaW5lIFBBQ0tBR0VfVkVSU0lPTiAiIgp8 ICNkZWZpbmUgUEFDS0FHRV9TVFJJTkcgIiIKfCAjZGVmaW5lIFBBQ0tBR0VfQlVH UkVQT1JUICIiCnwgI2RlZmluZSBNQUlMX1VTRV9QT1AgMQp8ICNkZWZpbmUgX0dO VV9TT1VSQ0UgMQp8ICNkZWZpbmUgU1REQ19IRUFERVJTIDEKfCAjZGVmaW5lIEhB VkVfU1lTX1RZUEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfU1RBVF9IIDEKfCAj ZGVmaW5lIEhBVkVfU1RETElCX0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJJTkdfSCAx CnwgI2RlZmluZSBIQVZFX01FTU9SWV9IIDEKfCAjZGVmaW5lIEhBVkVfU1RSSU5H U19IIDEKfCAjZGVmaW5lIEhBVkVfSU5UVFlQRVNfSCAxCnwgI2RlZmluZSBIQVZF X1NURElOVF9IIDEKfCAjZGVmaW5lIEhBVkVfVU5JU1REX0ggMQp8ICNkZWZpbmUg SEFWRV9TWVNfU09VTkRDQVJEX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfU0VMRUNU X0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfVElNRUJfSCAxCnwgI2RlZmluZSBIQVZF X1NZU19USU1FX0ggMQp8ICNkZWZpbmUgSEFWRV9VTklTVERfSCAxCnwgI2RlZmlu ZSBIQVZFX1VUSU1FX0ggMQp8ICNkZWZpbmUgSEFWRV9URVJNSU9TX0ggMQp8ICNk ZWZpbmUgSEFWRV9MSU1JVFNfSCAxCnwgI2RlZmluZSBIQVZFX1NUUklOR19IIDEK fCAjZGVmaW5lIEhBVkVfU1RETElCX0ggMQp8ICNkZWZpbmUgSEFWRV9URVJNQ0FQ X0ggMQp8ICNkZWZpbmUgSEFWRV9GQ05UTF9IIDEKfCAjZGVmaW5lIEhBVkVfU1RS SU5HU19IIDEKfCAjZGVmaW5lIEhBVkVfUFRZX0ggMQp8ICNkZWZpbmUgSEFWRV9T WVNfTU1BTl9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1BBUkFNX0ggMQp8ICNkZWZp bmUgSEFWRV9TWVNfUkVTT1VSQ0VfSCAxCnwgI2RlZmluZSBIQVZFX0xPQ0FMRV9I IDEKfCAjZGVmaW5lIEhBVkVfU1lTX1VUU05BTUVfSCAxCnwgI2RlZmluZSBIQVZF X1BXRF9IIDEKfCAjZGVmaW5lIFNURENfSEVBREVSUyAxCnwgI2RlZmluZSBUSU1F X1dJVEhfU1lTX1RJTUUgMQp8ICNkZWZpbmUgSEFWRV9ERUNMX1NZU19TSUdMSVNU IDAKfCAjZGVmaW5lIEhBVkVfREVDTF9fX1NZU19TSUdMSVNUIDAKfCAjZGVmaW5l IEhBVkVfU1lTX1dBSVRfSCAxCnwgI2RlZmluZSBIQVZFX1NUUlVDVF9VVElNQlVG IDEKfCAjZGVmaW5lIFJFVFNJR1RZUEUgdm9pZAp8ICNkZWZpbmUgSEFWRV9TUEVF RF9UIDEKfCAjZGVmaW5lIEhBVkVfVElNRVZBTCAxCnwgI2RlZmluZSBIQVZFX1NZ U19TT0NLRVRfSCAxCnwgI2RlZmluZSBIQVZFX05FVF9JRl9IIDEKfCAjZGVmaW5l IEhBVkVfVFpOQU1FIDEKfCAjZGVmaW5lIEhBVkVfU1RSVUNUX0lGUkVRX0lGUl9G TEFHUyAxCnwgI2RlZmluZSBIQVZFX1NUUlVDVF9JRlJFUV9JRlJfSFdBRERSIDEK fCAjZGVmaW5lIEhBVkVfU1RSVUNUX0lGUkVRX0lGUl9ORVRNQVNLIDEKfCAjZGVm aW5lIEhBVkVfU1RSVUNUX0lGUkVRX0lGUl9CUk9BREFERFIgMQp8ICNkZWZpbmUg SEFWRV9TVFJVQ1RfSUZSRVFfSUZSX0FERFIgMQp8ICNkZWZpbmUgUFJPVE9UWVBF UyAxCnwgI2RlZmluZSBfX1BST1RPVFlQRVMgMQp8ICNkZWZpbmUgUE9JTlRFUl9U WVBFIHZvaWQKfCAjZGVmaW5lIEhBVkVfTE9OR19GSUxFX05BTUVTIDEKfCAjZGVm aW5lIEhBVkVfU1RETElCX0ggMQp8ICNkZWZpbmUgSEFWRV9VTklTVERfSCAxCnwg I2RlZmluZSBIQVZFX0dFVFBBR0VTSVpFIDEKfCAvKiBlbmQgY29uZmRlZnMuaC4g ICovCnwgCnwgCSAgI2luY2x1ZGUgPFgxMS9YbGliLmg+CnwgCSAgI2luY2x1ZGUg PFgxMS9YcmVzb3VyY2UuaD4KfCBpbnQKfCBtYWluICgpCnwgewp8IFhJTVByb2Mg IGNhbGxiYWNrOwp8ICAgOwp8ICAgcmV0dXJuIDA7CnwgfQpjb25maWd1cmU6MTMw NDQ6IGNoZWNraW5nIG1hbGxvYy9tYWxsb2MuaCB1c2FiaWxpdHkKY29uZmlndXJl OjEzMDU2OiBnY2MgLWMgLWcgLU8yICAgIGNvbmZ0ZXN0LmMgPiY1CmNvbmZ0ZXN0 LmM6MTAwOjI3OiBtYWxsb2MvbWFsbG9jLmg6IE5vIHN1Y2ggZmlsZSBvciBkaXJl Y3RvcnkKY29uZmlndXJlOjEzMDYyOiAkPyA9IDEKY29uZmlndXJlOiBmYWlsZWQg cHJvZ3JhbSB3YXM6CnwgLyogY29uZmRlZnMuaC4gICovCnwgCnwgI2RlZmluZSBQ QUNLQUdFX05BTUUgIiIKfCAjZGVmaW5lIFBBQ0tBR0VfVEFSTkFNRSAiIgp8ICNk ZWZpbmUgUEFDS0FHRV9WRVJTSU9OICIiCnwgI2RlZmluZSBQQUNLQUdFX1NUUklO RyAiIgp8ICNkZWZpbmUgUEFDS0FHRV9CVUdSRVBPUlQgIiIKfCAjZGVmaW5lIE1B SUxfVVNFX1BPUCAxCnwgI2RlZmluZSBfR05VX1NPVVJDRSAxCnwgI2RlZmluZSBT VERDX0hFQURFUlMgMQp8ICNkZWZpbmUgSEFWRV9TWVNfVFlQRVNfSCAxCnwgI2Rl ZmluZSBIQVZFX1NZU19TVEFUX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERMSUJfSCAx CnwgI2RlZmluZSBIQVZFX1NUUklOR19IIDEKfCAjZGVmaW5lIEhBVkVfTUVNT1JZ X0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJJTkdTX0ggMQp8ICNkZWZpbmUgSEFWRV9J TlRUWVBFU19IIDEKfCAjZGVmaW5lIEhBVkVfU1RESU5UX0ggMQp8ICNkZWZpbmUg SEFWRV9VTklTVERfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19TT1VORENBUkRfSCAx CnwgI2RlZmluZSBIQVZFX1NZU19TRUxFQ1RfSCAxCnwgI2RlZmluZSBIQVZFX1NZ U19USU1FQl9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1RJTUVfSCAxCnwgI2RlZmlu ZSBIQVZFX1VOSVNURF9IIDEKfCAjZGVmaW5lIEhBVkVfVVRJTUVfSCAxCnwgI2Rl ZmluZSBIQVZFX1RFUk1JT1NfSCAxCnwgI2RlZmluZSBIQVZFX0xJTUlUU19IIDEK fCAjZGVmaW5lIEhBVkVfU1RSSU5HX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERMSUJf SCAxCnwgI2RlZmluZSBIQVZFX1RFUk1DQVBfSCAxCnwgI2RlZmluZSBIQVZFX0ZD TlRMX0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJJTkdTX0ggMQp8ICNkZWZpbmUgSEFW RV9QVFlfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19NTUFOX0ggMQp8ICNkZWZpbmUg SEFWRV9TWVNfUEFSQU1fSCAxCnwgI2RlZmluZSBIQVZFX1NZU19SRVNPVVJDRV9I IDEKfCAjZGVmaW5lIEhBVkVfTE9DQUxFX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNf VVRTTkFNRV9IIDEKfCAjZGVmaW5lIEhBVkVfUFdEX0ggMQp8ICNkZWZpbmUgU1RE Q19IRUFERVJTIDEKfCAjZGVmaW5lIFRJTUVfV0lUSF9TWVNfVElNRSAxCnwgI2Rl ZmluZSBIQVZFX0RFQ0xfU1lTX1NJR0xJU1QgMAp8ICNkZWZpbmUgSEFWRV9ERUNM X19fU1lTX1NJR0xJU1QgMAp8ICNkZWZpbmUgSEFWRV9TWVNfV0FJVF9IIDEKfCAj ZGVmaW5lIEhBVkVfU1RSVUNUX1VUSU1CVUYgMQp8ICNkZWZpbmUgUkVUU0lHVFlQ RSB2b2lkCnwgI2RlZmluZSBIQVZFX1NQRUVEX1QgMQp8ICNkZWZpbmUgSEFWRV9U SU1FVkFMIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NPQ0tFVF9IIDEKfCAjZGVmaW5l IEhBVkVfTkVUX0lGX0ggMQp8ICNkZWZpbmUgSEFWRV9UWk5BTUUgMQp8ICNkZWZp bmUgSEFWRV9TVFJVQ1RfSUZSRVFfSUZSX0ZMQUdTIDEKfCAjZGVmaW5lIEhBVkVf U1RSVUNUX0lGUkVRX0lGUl9IV0FERFIgMQp8ICNkZWZpbmUgSEFWRV9TVFJVQ1Rf SUZSRVFfSUZSX05FVE1BU0sgMQp8ICNkZWZpbmUgSEFWRV9TVFJVQ1RfSUZSRVFf SUZSX0JST0FEQUREUiAxCnwgI2RlZmluZSBIQVZFX1NUUlVDVF9JRlJFUV9JRlJf QUREUiAxCnwgI2RlZmluZSBQUk9UT1RZUEVTIDEKfCAjZGVmaW5lIF9fUFJPVE9U WVBFUyAxCnwgI2RlZmluZSBQT0lOVEVSX1RZUEUgdm9pZAp8ICNkZWZpbmUgSEFW RV9MT05HX0ZJTEVfTkFNRVMgMQp8ICNkZWZpbmUgSEFWRV9TVERMSUJfSCAxCnwg I2RlZmluZSBIQVZFX1VOSVNURF9IIDEKfCAjZGVmaW5lIEhBVkVfR0VUUEFHRVNJ WkUgMQp8ICNkZWZpbmUgVVNFX1hJTSAxCnwgLyogZW5kIGNvbmZkZWZzLmguICAq Lwp8ICNpbmNsdWRlIDxzdGRpby5oPgp8ICNpZiBIQVZFX1NZU19UWVBFU19ICnwg IyBpbmNsdWRlIDxzeXMvdHlwZXMuaD4KfCAjZW5kaWYKfCAjaWYgSEFWRV9TWVNf U1RBVF9ICnwgIyBpbmNsdWRlIDxzeXMvc3RhdC5oPgp8ICNlbmRpZgp8ICNpZiBT VERDX0hFQURFUlMKfCAjIGluY2x1ZGUgPHN0ZGxpYi5oPgp8ICMgaW5jbHVkZSA8 c3RkZGVmLmg+CnwgI2Vsc2UKfCAjIGlmIEhBVkVfU1RETElCX0gKfCAjICBpbmNs dWRlIDxzdGRsaWIuaD4KfCAjIGVuZGlmCnwgI2VuZGlmCnwgI2lmIEhBVkVfU1RS SU5HX0gKfCAjIGlmICFTVERDX0hFQURFUlMgJiYgSEFWRV9NRU1PUllfSAp8ICMg IGluY2x1ZGUgPG1lbW9yeS5oPgp8ICMgZW5kaWYKfCAjIGluY2x1ZGUgPHN0cmlu Zy5oPgp8ICNlbmRpZgp8ICNpZiBIQVZFX1NUUklOR1NfSAp8ICMgaW5jbHVkZSA8 c3RyaW5ncy5oPgp8ICNlbmRpZgp8ICNpZiBIQVZFX0lOVFRZUEVTX0gKfCAjIGlu Y2x1ZGUgPGludHR5cGVzLmg+CnwgI2Vsc2UKfCAjIGlmIEhBVkVfU1RESU5UX0gK fCAjICBpbmNsdWRlIDxzdGRpbnQuaD4KfCAjIGVuZGlmCnwgI2VuZGlmCnwgI2lm IEhBVkVfVU5JU1REX0gKfCAjIGluY2x1ZGUgPHVuaXN0ZC5oPgp8ICNlbmRpZgp8 ICNpbmNsdWRlIDxtYWxsb2MvbWFsbG9jLmg+CmNvbmZpZ3VyZToxMzA4NTogcmVz dWx0OiBubwpjb25maWd1cmU6MTMwODk6IGNoZWNraW5nIG1hbGxvYy9tYWxsb2Mu aCBwcmVzZW5jZQpjb25maWd1cmU6MTMwOTk6IGdjYyAtRSAgICBjb25mdGVzdC5j CmNvbmZ0ZXN0LmM6NjY6Mjc6IG1hbGxvYy9tYWxsb2MuaDogTm8gc3VjaCBmaWxl IG9yIGRpcmVjdG9yeQpjb25maWd1cmU6MTMxMDU6ICQ/ID0gMQpjb25maWd1cmU6 IGZhaWxlZCBwcm9ncmFtIHdhczoKfCAvKiBjb25mZGVmcy5oLiAgKi8KfCAKfCAj ZGVmaW5lIFBBQ0tBR0VfTkFNRSAiIgp8ICNkZWZpbmUgUEFDS0FHRV9UQVJOQU1F ICIiCnwgI2RlZmluZSBQQUNLQUdFX1ZFUlNJT04gIiIKfCAjZGVmaW5lIFBBQ0tB R0VfU1RSSU5HICIiCnwgI2RlZmluZSBQQUNLQUdFX0JVR1JFUE9SVCAiIgp8ICNk ZWZpbmUgTUFJTF9VU0VfUE9QIDEKfCAjZGVmaW5lIF9HTlVfU09VUkNFIDEKfCAj ZGVmaW5lIFNURENfSEVBREVSUyAxCnwgI2RlZmluZSBIQVZFX1NZU19UWVBFU19I IDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NUQVRfSCAxCnwgI2RlZmluZSBIQVZFX1NU RExJQl9IIDEKfCAjZGVmaW5lIEhBVkVfU1RSSU5HX0ggMQp8ICNkZWZpbmUgSEFW RV9NRU1PUllfSCAxCnwgI2RlZmluZSBIQVZFX1NUUklOR1NfSCAxCnwgI2RlZmlu ZSBIQVZFX0lOVFRZUEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERJTlRfSCAxCnwg I2RlZmluZSBIQVZFX1VOSVNURF9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NPVU5E Q0FSRF9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NFTEVDVF9IIDEKfCAjZGVmaW5l IEhBVkVfU1lTX1RJTUVCX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfVElNRV9IIDEK fCAjZGVmaW5lIEhBVkVfVU5JU1REX0ggMQp8ICNkZWZpbmUgSEFWRV9VVElNRV9I IDEKfCAjZGVmaW5lIEhBVkVfVEVSTUlPU19IIDEKfCAjZGVmaW5lIEhBVkVfTElN SVRTX0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJJTkdfSCAxCnwgI2RlZmluZSBIQVZF X1NURExJQl9IIDEKfCAjZGVmaW5lIEhBVkVfVEVSTUNBUF9IIDEKfCAjZGVmaW5l IEhBVkVfRkNOVExfSCAxCnwgI2RlZmluZSBIQVZFX1NUUklOR1NfSCAxCnwgI2Rl ZmluZSBIQVZFX1BUWV9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX01NQU5fSCAxCnwg I2RlZmluZSBIQVZFX1NZU19QQVJBTV9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1JF U09VUkNFX0ggMQp8ICNkZWZpbmUgSEFWRV9MT0NBTEVfSCAxCnwgI2RlZmluZSBI QVZFX1NZU19VVFNOQU1FX0ggMQp8ICNkZWZpbmUgSEFWRV9QV0RfSCAxCnwgI2Rl ZmluZSBTVERDX0hFQURFUlMgMQp8ICNkZWZpbmUgVElNRV9XSVRIX1NZU19USU1F IDEKfCAjZGVmaW5lIEhBVkVfREVDTF9TWVNfU0lHTElTVCAwCnwgI2RlZmluZSBI QVZFX0RFQ0xfX19TWVNfU0lHTElTVCAwCnwgI2RlZmluZSBIQVZFX1NZU19XQUlU X0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJVQ1RfVVRJTUJVRiAxCnwgI2RlZmluZSBS RVRTSUdUWVBFIHZvaWQKfCAjZGVmaW5lIEhBVkVfU1BFRURfVCAxCnwgI2RlZmlu ZSBIQVZFX1RJTUVWQUwgMQp8ICNkZWZpbmUgSEFWRV9TWVNfU09DS0VUX0ggMQp8 ICNkZWZpbmUgSEFWRV9ORVRfSUZfSCAxCnwgI2RlZmluZSBIQVZFX1RaTkFNRSAx CnwgI2RlZmluZSBIQVZFX1NUUlVDVF9JRlJFUV9JRlJfRkxBR1MgMQp8ICNkZWZp bmUgSEFWRV9TVFJVQ1RfSUZSRVFfSUZSX0hXQUREUiAxCnwgI2RlZmluZSBIQVZF X1NUUlVDVF9JRlJFUV9JRlJfTkVUTUFTSyAxCnwgI2RlZmluZSBIQVZFX1NUUlVD VF9JRlJFUV9JRlJfQlJPQURBRERSIDEKfCAjZGVmaW5lIEhBVkVfU1RSVUNUX0lG UkVRX0lGUl9BRERSIDEKfCAjZGVmaW5lIFBST1RPVFlQRVMgMQp8ICNkZWZpbmUg X19QUk9UT1RZUEVTIDEKfCAjZGVmaW5lIFBPSU5URVJfVFlQRSB2b2lkCnwgI2Rl ZmluZSBIQVZFX0xPTkdfRklMRV9OQU1FUyAxCnwgI2RlZmluZSBIQVZFX1NURExJ Ql9IIDEKfCAjZGVmaW5lIEhBVkVfVU5JU1REX0ggMQp8ICNkZWZpbmUgSEFWRV9H RVRQQUdFU0laRSAxCnwgI2RlZmluZSBVU0VfWElNIDEKfCAvKiBlbmQgY29uZmRl ZnMuaC4gICovCnwgI2luY2x1ZGUgPG1hbGxvYy9tYWxsb2MuaD4KY29uZmlndXJl OjEzMTI1OiByZXN1bHQ6IG5vCmNvbmZpZ3VyZToxMzE2MDogY2hlY2tpbmcgZm9y IG1hbGxvYy9tYWxsb2MuaApjb25maWd1cmU6MTMxNjc6IHJlc3VsdDogbm8KY29u ZmlndXJlOjEzNTM0OiBjaGVja2luZyB3aGV0aGVyIG5ldGRiIGRlY2xhcmVzIGhf ZXJybm8KY29uZmlndXJlOjEzNTU1OiBnY2MgLW8gY29uZnRlc3QuZXhlIC1nIC1P MiAgICAgY29uZnRlc3QuYyAgID4mNSAgCmNvbmZpZ3VyZToxMzU2MTogJD8gPSAw CmNvbmZpZ3VyZToxMzU2NTogdGVzdCAteiAKCQkJIHx8IHRlc3QgISAtcyBjb25m dGVzdC5lcnIKY29uZmlndXJlOjEzNTY4OiAkPyA9IDAKY29uZmlndXJlOjEzNTcx OiB0ZXN0IC1zIGNvbmZ0ZXN0LmV4ZQpjb25maWd1cmU6MTM1NzQ6ICQ/ID0gMApj b25maWd1cmU6MTM1ODY6IHJlc3VsdDogeWVzCmNvbmZpZ3VyZToxMzU5ODogY2hl Y2tpbmcgZm9yIHdvcmtpbmcgYWxsb2NhLmgKY29uZmlndXJlOjEzNjE5OiBnY2Mg LW8gY29uZnRlc3QuZXhlIC1nIC1PMiAgICAgY29uZnRlc3QuYyAgID4mNSAgCmNv bmZpZ3VyZToxMzYyNTogJD8gPSAwCmNvbmZpZ3VyZToxMzYyOTogdGVzdCAteiAK CQkJIHx8IHRlc3QgISAtcyBjb25mdGVzdC5lcnIKY29uZmlndXJlOjEzNjMyOiAk PyA9IDAKY29uZmlndXJlOjEzNjM1OiB0ZXN0IC1zIGNvbmZ0ZXN0LmV4ZQpjb25m aWd1cmU6MTM2Mzg6ICQ/ID0gMApjb25maWd1cmU6MTM2NTA6IHJlc3VsdDogeWVz CmNvbmZpZ3VyZToxMzY2MDogY2hlY2tpbmcgZm9yIGFsbG9jYQpjb25maWd1cmU6 MTM3MDE6IGdjYyAtbyBjb25mdGVzdC5leGUgLWcgLU8yICAgICBjb25mdGVzdC5j ICAgPiY1ICAKY29uZmlndXJlOjEzNzA3OiAkPyA9IDAKY29uZmlndXJlOjEzNzEx OiB0ZXN0IC16IAoJCQkgfHwgdGVzdCAhIC1zIGNvbmZ0ZXN0LmVycgpjb25maWd1 cmU6MTM3MTQ6ICQ/ID0gMApjb25maWd1cmU6MTM3MTc6IHRlc3QgLXMgY29uZnRl c3QuZXhlCmNvbmZpZ3VyZToxMzcyMDogJD8gPSAwCmNvbmZpZ3VyZToxMzczMjog cmVzdWx0OiB5ZXMKY29uZmlndXJlOjEzOTU5OiBjaGVja2luZyBmb3Igc3FydCBp biAtbG0KY29uZmlndXJlOjEzOTg5OiBnY2MgLW8gY29uZnRlc3QuZXhlIC1nIC1P MiAgICAgY29uZnRlc3QuYyAtbG0gICAgPiY1ICAKY29uZnRlc3QuYzo3Njogd2Fy bmluZzogY29uZmxpY3RpbmcgdHlwZXMgZm9yIGJ1aWx0LWluIGZ1bmN0aW9uIGBz cXJ0Jwpjb25maWd1cmU6MTM5OTU6ICQ/ID0gMApjb25maWd1cmU6MTM5OTk6IHRl c3QgLXogCgkJCSB8fCB0ZXN0ICEgLXMgY29uZnRlc3QuZXJyCmNvbmZpZ3VyZTox NDAwMjogJD8gPSAwCmNvbmZpZ3VyZToxNDAwNTogdGVzdCAtcyBjb25mdGVzdC5l eGUKY29uZmlndXJlOjE0MDA4OiAkPyA9IDAKY29uZmlndXJlOjE0MDIxOiByZXN1 bHQ6IHllcwpjb25maWd1cmU6MTQwMzY6IGNoZWNraW5nIGZvciBtYWlsbG9jayBp biAtbG1haWwKY29uZmlndXJlOjE0MDY2OiBnY2MgLW8gY29uZnRlc3QuZXhlIC1n IC1PMiAgICAgY29uZnRlc3QuYyAtbG1haWwgIC1sbSAgID4mNSAgCi91c3IvbGli L2djYy1saWIvaTY4Ni1wYy1jeWd3aW4vMy4zLjMvLi4vLi4vLi4vLi4vaTY4Ni1w Yy1jeWd3aW4vYmluL2xkOiBjYW5ub3QgZmluZCAtbG1haWwKY29sbGVjdDI6IGxk IHJldHVybmVkIDEgZXhpdCBzdGF0dXMKY29uZmlndXJlOjE0MDcyOiAkPyA9IDEK Y29uZmlndXJlOiBmYWlsZWQgcHJvZ3JhbSB3YXM6CnwgLyogY29uZmRlZnMuaC4g ICovCnwgCnwgI2RlZmluZSBQQUNLQUdFX05BTUUgIiIKfCAjZGVmaW5lIFBBQ0tB R0VfVEFSTkFNRSAiIgp8ICNkZWZpbmUgUEFDS0FHRV9WRVJTSU9OICIiCnwgI2Rl ZmluZSBQQUNLQUdFX1NUUklORyAiIgp8ICNkZWZpbmUgUEFDS0FHRV9CVUdSRVBP UlQgIiIKfCAjZGVmaW5lIE1BSUxfVVNFX1BPUCAxCnwgI2RlZmluZSBfR05VX1NP VVJDRSAxCnwgI2RlZmluZSBTVERDX0hFQURFUlMgMQp8ICNkZWZpbmUgSEFWRV9T WVNfVFlQRVNfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19TVEFUX0ggMQp8ICNkZWZp bmUgSEFWRV9TVERMSUJfSCAxCnwgI2RlZmluZSBIQVZFX1NUUklOR19IIDEKfCAj ZGVmaW5lIEhBVkVfTUVNT1JZX0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJJTkdTX0gg MQp8ICNkZWZpbmUgSEFWRV9JTlRUWVBFU19IIDEKfCAjZGVmaW5lIEhBVkVfU1RE SU5UX0ggMQp8ICNkZWZpbmUgSEFWRV9VTklTVERfSCAxCnwgI2RlZmluZSBIQVZF X1NZU19TT1VORENBUkRfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19TRUxFQ1RfSCAx CnwgI2RlZmluZSBIQVZFX1NZU19USU1FQl9IIDEKfCAjZGVmaW5lIEhBVkVfU1lT X1RJTUVfSCAxCnwgI2RlZmluZSBIQVZFX1VOSVNURF9IIDEKfCAjZGVmaW5lIEhB VkVfVVRJTUVfSCAxCnwgI2RlZmluZSBIQVZFX1RFUk1JT1NfSCAxCnwgI2RlZmlu ZSBIQVZFX0xJTUlUU19IIDEKfCAjZGVmaW5lIEhBVkVfU1RSSU5HX0ggMQp8ICNk ZWZpbmUgSEFWRV9TVERMSUJfSCAxCnwgI2RlZmluZSBIQVZFX1RFUk1DQVBfSCAx CnwgI2RlZmluZSBIQVZFX0ZDTlRMX0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJJTkdT X0ggMQp8ICNkZWZpbmUgSEFWRV9QVFlfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19N TUFOX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfUEFSQU1fSCAxCnwgI2RlZmluZSBI QVZFX1NZU19SRVNPVVJDRV9IIDEKfCAjZGVmaW5lIEhBVkVfTE9DQUxFX0ggMQp8 ICNkZWZpbmUgSEFWRV9TWVNfVVRTTkFNRV9IIDEKfCAjZGVmaW5lIEhBVkVfUFdE X0ggMQp8ICNkZWZpbmUgU1REQ19IRUFERVJTIDEKfCAjZGVmaW5lIFRJTUVfV0lU SF9TWVNfVElNRSAxCnwgI2RlZmluZSBIQVZFX0RFQ0xfU1lTX1NJR0xJU1QgMAp8 ICNkZWZpbmUgSEFWRV9ERUNMX19fU1lTX1NJR0xJU1QgMAp8ICNkZWZpbmUgSEFW RV9TWVNfV0FJVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1RSVUNUX1VUSU1CVUYgMQp8 ICNkZWZpbmUgUkVUU0lHVFlQRSB2b2lkCnwgI2RlZmluZSBIQVZFX1NQRUVEX1Qg MQp8ICNkZWZpbmUgSEFWRV9USU1FVkFMIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NP Q0tFVF9IIDEKfCAjZGVmaW5lIEhBVkVfTkVUX0lGX0ggMQp8ICNkZWZpbmUgSEFW RV9UWk5BTUUgMQp8ICNkZWZpbmUgSEFWRV9TVFJVQ1RfSUZSRVFfSUZSX0ZMQUdT IDEKfCAjZGVmaW5lIEhBVkVfU1RSVUNUX0lGUkVRX0lGUl9IV0FERFIgMQp8ICNk ZWZpbmUgSEFWRV9TVFJVQ1RfSUZSRVFfSUZSX05FVE1BU0sgMQp8ICNkZWZpbmUg SEFWRV9TVFJVQ1RfSUZSRVFfSUZSX0JST0FEQUREUiAxCnwgI2RlZmluZSBIQVZF X1NUUlVDVF9JRlJFUV9JRlJfQUREUiAxCnwgI2RlZmluZSBQUk9UT1RZUEVTIDEK fCAjZGVmaW5lIF9fUFJPVE9UWVBFUyAxCnwgI2RlZmluZSBQT0lOVEVSX1RZUEUg dm9pZAp8ICNkZWZpbmUgSEFWRV9MT05HX0ZJTEVfTkFNRVMgMQp8ICNkZWZpbmUg SEFWRV9TVERMSUJfSCAxCnwgI2RlZmluZSBIQVZFX1VOSVNURF9IIDEKfCAjZGVm aW5lIEhBVkVfR0VUUEFHRVNJWkUgMQp8ICNkZWZpbmUgVVNFX1hJTSAxCnwgI2Rl ZmluZSBIQVZFX0hfRVJSTk8gMQp8ICNkZWZpbmUgSEFWRV9BTExPQ0FfSCAxCnwg I2RlZmluZSBIQVZFX0FMTE9DQSAxCnwgI2RlZmluZSBIQVZFX0xJQk0gMQp8IC8q IGVuZCBjb25mZGVmcy5oLiAgKi8KfCAKfCAvKiBPdmVycmlkZSBhbnkgZ2NjMiBp bnRlcm5hbCBwcm90b3R5cGUgdG8gYXZvaWQgYW4gZXJyb3IuICAqLwp8ICNpZmRl ZiBfX2NwbHVzcGx1cwp8IGV4dGVybiAiQyIKfCAjZW5kaWYKfCAvKiBXZSB1c2Ug Y2hhciBiZWNhdXNlIGludCBtaWdodCBtYXRjaCB0aGUgcmV0dXJuIHR5cGUgb2Yg YSBnY2MyCnwgICAgYnVpbHRpbiBhbmQgdGhlbiBpdHMgYXJndW1lbnQgcHJvdG90 eXBlIHdvdWxkIHN0aWxsIGFwcGx5LiAgKi8KfCBjaGFyIG1haWxsb2NrICgpOwp8 IGludAp8IG1haW4gKCkKfCB7CnwgbWFpbGxvY2sgKCk7CnwgICA7CnwgICByZXR1 cm4gMDsKfCB9CmNvbmZpZ3VyZToxNDA5ODogcmVzdWx0OiBubwpjb25maWd1cmU6 MTQxMTA6IGNoZWNraW5nIGZvciBtYWlsbG9jayBpbiAtbGxvY2tmaWxlCmNvbmZp Z3VyZToxNDE0MDogZ2NjIC1vIGNvbmZ0ZXN0LmV4ZSAtZyAtTzIgICAgIGNvbmZ0 ZXN0LmMgLWxsb2NrZmlsZSAgLWxtICAgPiY1ICAKL3Vzci9saWIvZ2NjLWxpYi9p Njg2LXBjLWN5Z3dpbi8zLjMuMy8uLi8uLi8uLi8uLi9pNjg2LXBjLWN5Z3dpbi9i aW4vbGQ6IGNhbm5vdCBmaW5kIC1sbG9ja2ZpbGUKY29sbGVjdDI6IGxkIHJldHVy bmVkIDEgZXhpdCBzdGF0dXMKY29uZmlndXJlOjE0MTQ2OiAkPyA9IDEKY29uZmln dXJlOiBmYWlsZWQgcHJvZ3JhbSB3YXM6CnwgLyogY29uZmRlZnMuaC4gICovCnwg CnwgI2RlZmluZSBQQUNLQUdFX05BTUUgIiIKfCAjZGVmaW5lIFBBQ0tBR0VfVEFS TkFNRSAiIgp8ICNkZWZpbmUgUEFDS0FHRV9WRVJTSU9OICIiCnwgI2RlZmluZSBQ QUNLQUdFX1NUUklORyAiIgp8ICNkZWZpbmUgUEFDS0FHRV9CVUdSRVBPUlQgIiIK fCAjZGVmaW5lIE1BSUxfVVNFX1BPUCAxCnwgI2RlZmluZSBfR05VX1NPVVJDRSAx CnwgI2RlZmluZSBTVERDX0hFQURFUlMgMQp8ICNkZWZpbmUgSEFWRV9TWVNfVFlQ RVNfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19TVEFUX0ggMQp8ICNkZWZpbmUgSEFW RV9TVERMSUJfSCAxCnwgI2RlZmluZSBIQVZFX1NUUklOR19IIDEKfCAjZGVmaW5l IEhBVkVfTUVNT1JZX0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJJTkdTX0ggMQp8ICNk ZWZpbmUgSEFWRV9JTlRUWVBFU19IIDEKfCAjZGVmaW5lIEhBVkVfU1RESU5UX0gg MQp8ICNkZWZpbmUgSEFWRV9VTklTVERfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19T T1VORENBUkRfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19TRUxFQ1RfSCAxCnwgI2Rl ZmluZSBIQVZFX1NZU19USU1FQl9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1RJTUVf SCAxCnwgI2RlZmluZSBIQVZFX1VOSVNURF9IIDEKfCAjZGVmaW5lIEhBVkVfVVRJ TUVfSCAxCnwgI2RlZmluZSBIQVZFX1RFUk1JT1NfSCAxCnwgI2RlZmluZSBIQVZF X0xJTUlUU19IIDEKfCAjZGVmaW5lIEhBVkVfU1RSSU5HX0ggMQp8ICNkZWZpbmUg SEFWRV9TVERMSUJfSCAxCnwgI2RlZmluZSBIQVZFX1RFUk1DQVBfSCAxCnwgI2Rl ZmluZSBIQVZFX0ZDTlRMX0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJJTkdTX0ggMQp8 ICNkZWZpbmUgSEFWRV9QVFlfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19NTUFOX0gg MQp8ICNkZWZpbmUgSEFWRV9TWVNfUEFSQU1fSCAxCnwgI2RlZmluZSBIQVZFX1NZ U19SRVNPVVJDRV9IIDEKfCAjZGVmaW5lIEhBVkVfTE9DQUxFX0ggMQp8ICNkZWZp bmUgSEFWRV9TWVNfVVRTTkFNRV9IIDEKfCAjZGVmaW5lIEhBVkVfUFdEX0ggMQp8 ICNkZWZpbmUgU1REQ19IRUFERVJTIDEKfCAjZGVmaW5lIFRJTUVfV0lUSF9TWVNf VElNRSAxCnwgI2RlZmluZSBIQVZFX0RFQ0xfU1lTX1NJR0xJU1QgMAp8ICNkZWZp bmUgSEFWRV9ERUNMX19fU1lTX1NJR0xJU1QgMAp8ICNkZWZpbmUgSEFWRV9TWVNf V0FJVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1RSVUNUX1VUSU1CVUYgMQp8ICNkZWZp bmUgUkVUU0lHVFlQRSB2b2lkCnwgI2RlZmluZSBIQVZFX1NQRUVEX1QgMQp8ICNk ZWZpbmUgSEFWRV9USU1FVkFMIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NPQ0tFVF9I IDEKfCAjZGVmaW5lIEhBVkVfTkVUX0lGX0ggMQp8ICNkZWZpbmUgSEFWRV9UWk5B TUUgMQp8ICNkZWZpbmUgSEFWRV9TVFJVQ1RfSUZSRVFfSUZSX0ZMQUdTIDEKfCAj ZGVmaW5lIEhBVkVfU1RSVUNUX0lGUkVRX0lGUl9IV0FERFIgMQp8ICNkZWZpbmUg SEFWRV9TVFJVQ1RfSUZSRVFfSUZSX05FVE1BU0sgMQp8ICNkZWZpbmUgSEFWRV9T VFJVQ1RfSUZSRVFfSUZSX0JST0FEQUREUiAxCnwgI2RlZmluZSBIQVZFX1NUUlVD VF9JRlJFUV9JRlJfQUREUiAxCnwgI2RlZmluZSBQUk9UT1RZUEVTIDEKfCAjZGVm aW5lIF9fUFJPVE9UWVBFUyAxCnwgI2RlZmluZSBQT0lOVEVSX1RZUEUgdm9pZAp8 ICNkZWZpbmUgSEFWRV9MT05HX0ZJTEVfTkFNRVMgMQp8ICNkZWZpbmUgSEFWRV9T VERMSUJfSCAxCnwgI2RlZmluZSBIQVZFX1VOSVNURF9IIDEKfCAjZGVmaW5lIEhB VkVfR0VUUEFHRVNJWkUgMQp8ICNkZWZpbmUgVVNFX1hJTSAxCnwgI2RlZmluZSBI QVZFX0hfRVJSTk8gMQp8ICNkZWZpbmUgSEFWRV9BTExPQ0FfSCAxCnwgI2RlZmlu ZSBIQVZFX0FMTE9DQSAxCnwgI2RlZmluZSBIQVZFX0xJQk0gMQp8IC8qIGVuZCBj b25mZGVmcy5oLiAgKi8KfCAKfCAvKiBPdmVycmlkZSBhbnkgZ2NjMiBpbnRlcm5h bCBwcm90b3R5cGUgdG8gYXZvaWQgYW4gZXJyb3IuICAqLwp8ICNpZmRlZiBfX2Nw bHVzcGx1cwp8IGV4dGVybiAiQyIKfCAjZW5kaWYKfCAvKiBXZSB1c2UgY2hhciBi ZWNhdXNlIGludCBtaWdodCBtYXRjaCB0aGUgcmV0dXJuIHR5cGUgb2YgYSBnY2My CnwgICAgYnVpbHRpbiBhbmQgdGhlbiBpdHMgYXJndW1lbnQgcHJvdG90eXBlIHdv dWxkIHN0aWxsIGFwcGx5LiAgKi8KfCBjaGFyIG1haWxsb2NrICgpOwp8IGludAp8 IG1haW4gKCkKfCB7CnwgbWFpbGxvY2sgKCk7CnwgICA7CnwgICByZXR1cm4gMDsK fCB9CmNvbmZpZ3VyZToxNDE3MjogcmVzdWx0OiBubwpjb25maWd1cmU6MTQxODk6 IGNoZWNraW5nIGZvciBsaWJsb2NrZmlsZS5zbwpjb25maWd1cmU6MTQyMTc6IHJl c3VsdDogbm8KY29uZmlndXJlOjE0MjM5OiBjaGVja2luZyBmb3IgdG91Y2hsb2Nr CmNvbmZpZ3VyZToxNDI5NjogZ2NjIC1vIGNvbmZ0ZXN0LmV4ZSAtZyAtTzIgICAg IGNvbmZ0ZXN0LmMgLWxtICAgPiY1ICAKL2N5Z2RyaXZlL2MvRE9DVU1FfjEvd2ls bGlhbS9MT0NBTFN+MS9UZW1wL2Njc01wZ2p4Lm86IEluIGZ1bmN0aW9uIGBtYWlu JzoKL2N5Z2RyaXZlL2QvZW1hY3MyMi9jb25mdGVzdC5jOjExMDogdW5kZWZpbmVk IHJlZmVyZW5jZSB0byBgX3RvdWNobG9jaycKL2N5Z2RyaXZlL2QvZW1hY3MyMi9j b25mdGVzdC5jOjEwOTogdW5kZWZpbmVkIHJlZmVyZW5jZSB0byBgX3RvdWNobG9j aycKY29sbGVjdDI6IGxkIHJldHVybmVkIDEgZXhpdCBzdGF0dXMKY29uZmlndXJl OjE0MzAyOiAkPyA9IDEKY29uZmlndXJlOiBmYWlsZWQgcHJvZ3JhbSB3YXM6Cnwg LyogY29uZmRlZnMuaC4gICovCnwgCnwgI2RlZmluZSBQQUNLQUdFX05BTUUgIiIK fCAjZGVmaW5lIFBBQ0tBR0VfVEFSTkFNRSAiIgp8ICNkZWZpbmUgUEFDS0FHRV9W RVJTSU9OICIiCnwgI2RlZmluZSBQQUNLQUdFX1NUUklORyAiIgp8ICNkZWZpbmUg UEFDS0FHRV9CVUdSRVBPUlQgIiIKfCAjZGVmaW5lIE1BSUxfVVNFX1BPUCAxCnwg I2RlZmluZSBfR05VX1NPVVJDRSAxCnwgI2RlZmluZSBTVERDX0hFQURFUlMgMQp8 ICNkZWZpbmUgSEFWRV9TWVNfVFlQRVNfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19T VEFUX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERMSUJfSCAxCnwgI2RlZmluZSBIQVZF X1NUUklOR19IIDEKfCAjZGVmaW5lIEhBVkVfTUVNT1JZX0ggMQp8ICNkZWZpbmUg SEFWRV9TVFJJTkdTX0ggMQp8ICNkZWZpbmUgSEFWRV9JTlRUWVBFU19IIDEKfCAj ZGVmaW5lIEhBVkVfU1RESU5UX0ggMQp8ICNkZWZpbmUgSEFWRV9VTklTVERfSCAx CnwgI2RlZmluZSBIQVZFX1NZU19TT1VORENBUkRfSCAxCnwgI2RlZmluZSBIQVZF X1NZU19TRUxFQ1RfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19USU1FQl9IIDEKfCAj ZGVmaW5lIEhBVkVfU1lTX1RJTUVfSCAxCnwgI2RlZmluZSBIQVZFX1VOSVNURF9I IDEKfCAjZGVmaW5lIEhBVkVfVVRJTUVfSCAxCnwgI2RlZmluZSBIQVZFX1RFUk1J T1NfSCAxCnwgI2RlZmluZSBIQVZFX0xJTUlUU19IIDEKfCAjZGVmaW5lIEhBVkVf U1RSSU5HX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERMSUJfSCAxCnwgI2RlZmluZSBI QVZFX1RFUk1DQVBfSCAxCnwgI2RlZmluZSBIQVZFX0ZDTlRMX0ggMQp8ICNkZWZp bmUgSEFWRV9TVFJJTkdTX0ggMQp8ICNkZWZpbmUgSEFWRV9QVFlfSCAxCnwgI2Rl ZmluZSBIQVZFX1NZU19NTUFOX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfUEFSQU1f SCAxCnwgI2RlZmluZSBIQVZFX1NZU19SRVNPVVJDRV9IIDEKfCAjZGVmaW5lIEhB VkVfTE9DQUxFX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfVVRTTkFNRV9IIDEKfCAj ZGVmaW5lIEhBVkVfUFdEX0ggMQp8ICNkZWZpbmUgU1REQ19IRUFERVJTIDEKfCAj ZGVmaW5lIFRJTUVfV0lUSF9TWVNfVElNRSAxCnwgI2RlZmluZSBIQVZFX0RFQ0xf U1lTX1NJR0xJU1QgMAp8ICNkZWZpbmUgSEFWRV9ERUNMX19fU1lTX1NJR0xJU1Qg MAp8ICNkZWZpbmUgSEFWRV9TWVNfV0FJVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1RS VUNUX1VUSU1CVUYgMQp8ICNkZWZpbmUgUkVUU0lHVFlQRSB2b2lkCnwgI2RlZmlu ZSBIQVZFX1NQRUVEX1QgMQp8ICNkZWZpbmUgSEFWRV9USU1FVkFMIDEKfCAjZGVm aW5lIEhBVkVfU1lTX1NPQ0tFVF9IIDEKfCAjZGVmaW5lIEhBVkVfTkVUX0lGX0gg MQp8ICNkZWZpbmUgSEFWRV9UWk5BTUUgMQp8ICNkZWZpbmUgSEFWRV9TVFJVQ1Rf SUZSRVFfSUZSX0ZMQUdTIDEKfCAjZGVmaW5lIEhBVkVfU1RSVUNUX0lGUkVRX0lG Ul9IV0FERFIgMQp8ICNkZWZpbmUgSEFWRV9TVFJVQ1RfSUZSRVFfSUZSX05FVE1B U0sgMQp8ICNkZWZpbmUgSEFWRV9TVFJVQ1RfSUZSRVFfSUZSX0JST0FEQUREUiAx CnwgI2RlZmluZSBIQVZFX1NUUlVDVF9JRlJFUV9JRlJfQUREUiAxCnwgI2RlZmlu ZSBQUk9UT1RZUEVTIDEKfCAjZGVmaW5lIF9fUFJPVE9UWVBFUyAxCnwgI2RlZmlu ZSBQT0lOVEVSX1RZUEUgdm9pZAp8ICNkZWZpbmUgSEFWRV9MT05HX0ZJTEVfTkFN RVMgMQp8ICNkZWZpbmUgSEFWRV9TVERMSUJfSCAxCnwgI2RlZmluZSBIQVZFX1VO SVNURF9IIDEKfCAjZGVmaW5lIEhBVkVfR0VUUEFHRVNJWkUgMQp8ICNkZWZpbmUg VVNFX1hJTSAxCnwgI2RlZmluZSBIQVZFX0hfRVJSTk8gMQp8ICNkZWZpbmUgSEFW RV9BTExPQ0FfSCAxCnwgI2RlZmluZSBIQVZFX0FMTE9DQSAxCnwgI2RlZmluZSBI QVZFX0xJQk0gMQp8IC8qIGVuZCBjb25mZGVmcy5oLiAgKi8KfCAvKiBEZWZpbmUg dG91Y2hsb2NrIHRvIGFuIGlubm9jdW91cyB2YXJpYW50LCBpbiBjYXNlIDxsaW1p dHMuaD4gZGVjbGFyZXMgdG91Y2hsb2NrLgp8ICAgIEZvciBleGFtcGxlLCBIUC1V WCAxMWkgPGxpbWl0cy5oPiBkZWNsYXJlcyBnZXR0aW1lb2ZkYXkuICAqLwp8ICNk ZWZpbmUgdG91Y2hsb2NrIGlubm9jdW91c190b3VjaGxvY2sKfCAKfCAvKiBTeXN0 ZW0gaGVhZGVyIHRvIGRlZmluZSBfX3N0dWIgbWFjcm9zIGFuZCBob3BlZnVsbHkg ZmV3IHByb3RvdHlwZXMsCnwgICAgIHdoaWNoIGNhbiBjb25mbGljdCB3aXRoIGNo YXIgdG91Y2hsb2NrICgpOyBiZWxvdy4KfCAgICAgUHJlZmVyIDxsaW1pdHMuaD4g dG8gPGFzc2VydC5oPiBpZiBfX1NURENfXyBpcyBkZWZpbmVkLCBzaW5jZQp8ICAg ICA8bGltaXRzLmg+IGV4aXN0cyBldmVuIG9uIGZyZWVzdGFuZGluZyBjb21waWxl cnMuICAqLwp8IAp8ICNpZmRlZiBfX1NURENfXwp8ICMgaW5jbHVkZSA8bGltaXRz Lmg+CnwgI2Vsc2UKfCAjIGluY2x1ZGUgPGFzc2VydC5oPgp8ICNlbmRpZgp8IAp8 ICN1bmRlZiB0b3VjaGxvY2sKfCAKfCAvKiBPdmVycmlkZSBhbnkgZ2NjMiBpbnRl cm5hbCBwcm90b3R5cGUgdG8gYXZvaWQgYW4gZXJyb3IuICAqLwp8ICNpZmRlZiBf X2NwbHVzcGx1cwp8IGV4dGVybiAiQyIKfCB7CnwgI2VuZGlmCnwgLyogV2UgdXNl IGNoYXIgYmVjYXVzZSBpbnQgbWlnaHQgbWF0Y2ggdGhlIHJldHVybiB0eXBlIG9m IGEgZ2NjMgp8ICAgIGJ1aWx0aW4gYW5kIHRoZW4gaXRzIGFyZ3VtZW50IHByb3Rv dHlwZSB3b3VsZCBzdGlsbCBhcHBseS4gICovCnwgY2hhciB0b3VjaGxvY2sgKCk7 CnwgLyogVGhlIEdOVSBDIGxpYnJhcnkgZGVmaW5lcyB0aGlzIGZvciBmdW5jdGlv bnMgd2hpY2ggaXQgaW1wbGVtZW50cwp8ICAgICB0byBhbHdheXMgZmFpbCB3aXRo IEVOT1NZUy4gIFNvbWUgZnVuY3Rpb25zIGFyZSBhY3R1YWxseSBuYW1lZAp8ICAg ICBzb21ldGhpbmcgc3RhcnRpbmcgd2l0aCBfXyBhbmQgdGhlIG5vcm1hbCBuYW1l IGlzIGFuIGFsaWFzLiAgKi8KfCAjaWYgZGVmaW5lZCAoX19zdHViX3RvdWNobG9j aykgfHwgZGVmaW5lZCAoX19zdHViX19fdG91Y2hsb2NrKQp8IGNob2tlIG1lCnwg I2Vsc2UKfCBjaGFyICgqZikgKCkgPSB0b3VjaGxvY2s7CnwgI2VuZGlmCnwgI2lm ZGVmIF9fY3BsdXNwbHVzCnwgfQp8ICNlbmRpZgp8IAp8IGludAp8IG1haW4gKCkK fCB7CnwgcmV0dXJuIGYgIT0gdG91Y2hsb2NrOwp8ICAgOwp8ICAgcmV0dXJuIDA7 CnwgfQpjb25maWd1cmU6MTQzMjc6IHJlc3VsdDogbm8KY29uZmlndXJlOjE0MzUx OiBjaGVja2luZyBtYWlsbG9jay5oIHVzYWJpbGl0eQpjb25maWd1cmU6MTQzNjM6 IGdjYyAtYyAtZyAtTzIgICAgY29uZnRlc3QuYyA+JjUKY29uZnRlc3QuYzoxMDQ6 MjI6IG1haWxsb2NrLmg6IE5vIHN1Y2ggZmlsZSBvciBkaXJlY3RvcnkKY29uZmln dXJlOjE0MzY5OiAkPyA9IDEKY29uZmlndXJlOiBmYWlsZWQgcHJvZ3JhbSB3YXM6 CnwgLyogY29uZmRlZnMuaC4gICovCnwgCnwgI2RlZmluZSBQQUNLQUdFX05BTUUg IiIKfCAjZGVmaW5lIFBBQ0tBR0VfVEFSTkFNRSAiIgp8ICNkZWZpbmUgUEFDS0FH RV9WRVJTSU9OICIiCnwgI2RlZmluZSBQQUNLQUdFX1NUUklORyAiIgp8ICNkZWZp bmUgUEFDS0FHRV9CVUdSRVBPUlQgIiIKfCAjZGVmaW5lIE1BSUxfVVNFX1BPUCAx CnwgI2RlZmluZSBfR05VX1NPVVJDRSAxCnwgI2RlZmluZSBTVERDX0hFQURFUlMg MQp8ICNkZWZpbmUgSEFWRV9TWVNfVFlQRVNfSCAxCnwgI2RlZmluZSBIQVZFX1NZ U19TVEFUX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERMSUJfSCAxCnwgI2RlZmluZSBI QVZFX1NUUklOR19IIDEKfCAjZGVmaW5lIEhBVkVfTUVNT1JZX0ggMQp8ICNkZWZp bmUgSEFWRV9TVFJJTkdTX0ggMQp8ICNkZWZpbmUgSEFWRV9JTlRUWVBFU19IIDEK fCAjZGVmaW5lIEhBVkVfU1RESU5UX0ggMQp8ICNkZWZpbmUgSEFWRV9VTklTVERf SCAxCnwgI2RlZmluZSBIQVZFX1NZU19TT1VORENBUkRfSCAxCnwgI2RlZmluZSBI QVZFX1NZU19TRUxFQ1RfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19USU1FQl9IIDEK fCAjZGVmaW5lIEhBVkVfU1lTX1RJTUVfSCAxCnwgI2RlZmluZSBIQVZFX1VOSVNU RF9IIDEKfCAjZGVmaW5lIEhBVkVfVVRJTUVfSCAxCnwgI2RlZmluZSBIQVZFX1RF Uk1JT1NfSCAxCnwgI2RlZmluZSBIQVZFX0xJTUlUU19IIDEKfCAjZGVmaW5lIEhB VkVfU1RSSU5HX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERMSUJfSCAxCnwgI2RlZmlu ZSBIQVZFX1RFUk1DQVBfSCAxCnwgI2RlZmluZSBIQVZFX0ZDTlRMX0ggMQp8ICNk ZWZpbmUgSEFWRV9TVFJJTkdTX0ggMQp8ICNkZWZpbmUgSEFWRV9QVFlfSCAxCnwg I2RlZmluZSBIQVZFX1NZU19NTUFOX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfUEFS QU1fSCAxCnwgI2RlZmluZSBIQVZFX1NZU19SRVNPVVJDRV9IIDEKfCAjZGVmaW5l IEhBVkVfTE9DQUxFX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfVVRTTkFNRV9IIDEK fCAjZGVmaW5lIEhBVkVfUFdEX0ggMQp8ICNkZWZpbmUgU1REQ19IRUFERVJTIDEK fCAjZGVmaW5lIFRJTUVfV0lUSF9TWVNfVElNRSAxCnwgI2RlZmluZSBIQVZFX0RF Q0xfU1lTX1NJR0xJU1QgMAp8ICNkZWZpbmUgSEFWRV9ERUNMX19fU1lTX1NJR0xJ U1QgMAp8ICNkZWZpbmUgSEFWRV9TWVNfV0FJVF9IIDEKfCAjZGVmaW5lIEhBVkVf U1RSVUNUX1VUSU1CVUYgMQp8ICNkZWZpbmUgUkVUU0lHVFlQRSB2b2lkCnwgI2Rl ZmluZSBIQVZFX1NQRUVEX1QgMQp8ICNkZWZpbmUgSEFWRV9USU1FVkFMIDEKfCAj ZGVmaW5lIEhBVkVfU1lTX1NPQ0tFVF9IIDEKfCAjZGVmaW5lIEhBVkVfTkVUX0lG X0ggMQp8ICNkZWZpbmUgSEFWRV9UWk5BTUUgMQp8ICNkZWZpbmUgSEFWRV9TVFJV Q1RfSUZSRVFfSUZSX0ZMQUdTIDEKfCAjZGVmaW5lIEhBVkVfU1RSVUNUX0lGUkVR X0lGUl9IV0FERFIgMQp8ICNkZWZpbmUgSEFWRV9TVFJVQ1RfSUZSRVFfSUZSX05F VE1BU0sgMQp8ICNkZWZpbmUgSEFWRV9TVFJVQ1RfSUZSRVFfSUZSX0JST0FEQURE UiAxCnwgI2RlZmluZSBIQVZFX1NUUlVDVF9JRlJFUV9JRlJfQUREUiAxCnwgI2Rl ZmluZSBQUk9UT1RZUEVTIDEKfCAjZGVmaW5lIF9fUFJPVE9UWVBFUyAxCnwgI2Rl ZmluZSBQT0lOVEVSX1RZUEUgdm9pZAp8ICNkZWZpbmUgSEFWRV9MT05HX0ZJTEVf TkFNRVMgMQp8ICNkZWZpbmUgSEFWRV9TVERMSUJfSCAxCnwgI2RlZmluZSBIQVZF X1VOSVNURF9IIDEKfCAjZGVmaW5lIEhBVkVfR0VUUEFHRVNJWkUgMQp8ICNkZWZp bmUgVVNFX1hJTSAxCnwgI2RlZmluZSBIQVZFX0hfRVJSTk8gMQp8ICNkZWZpbmUg SEFWRV9BTExPQ0FfSCAxCnwgI2RlZmluZSBIQVZFX0FMTE9DQSAxCnwgI2RlZmlu ZSBIQVZFX0xJQk0gMQp8IC8qIGVuZCBjb25mZGVmcy5oLiAgKi8KfCAjaW5jbHVk ZSA8c3RkaW8uaD4KfCAjaWYgSEFWRV9TWVNfVFlQRVNfSAp8ICMgaW5jbHVkZSA8 c3lzL3R5cGVzLmg+CnwgI2VuZGlmCnwgI2lmIEhBVkVfU1lTX1NUQVRfSAp8ICMg aW5jbHVkZSA8c3lzL3N0YXQuaD4KfCAjZW5kaWYKfCAjaWYgU1REQ19IRUFERVJT CnwgIyBpbmNsdWRlIDxzdGRsaWIuaD4KfCAjIGluY2x1ZGUgPHN0ZGRlZi5oPgp8 ICNlbHNlCnwgIyBpZiBIQVZFX1NURExJQl9ICnwgIyAgaW5jbHVkZSA8c3RkbGli Lmg+CnwgIyBlbmRpZgp8ICNlbmRpZgp8ICNpZiBIQVZFX1NUUklOR19ICnwgIyBp ZiAhU1REQ19IRUFERVJTICYmIEhBVkVfTUVNT1JZX0gKfCAjICBpbmNsdWRlIDxt ZW1vcnkuaD4KfCAjIGVuZGlmCnwgIyBpbmNsdWRlIDxzdHJpbmcuaD4KfCAjZW5k aWYKfCAjaWYgSEFWRV9TVFJJTkdTX0gKfCAjIGluY2x1ZGUgPHN0cmluZ3MuaD4K fCAjZW5kaWYKfCAjaWYgSEFWRV9JTlRUWVBFU19ICnwgIyBpbmNsdWRlIDxpbnR0 eXBlcy5oPgp8ICNlbHNlCnwgIyBpZiBIQVZFX1NURElOVF9ICnwgIyAgaW5jbHVk ZSA8c3RkaW50Lmg+CnwgIyBlbmRpZgp8ICNlbmRpZgp8ICNpZiBIQVZFX1VOSVNU RF9ICnwgIyBpbmNsdWRlIDx1bmlzdGQuaD4KfCAjZW5kaWYKfCAjaW5jbHVkZSA8 bWFpbGxvY2suaD4KY29uZmlndXJlOjE0MzkyOiByZXN1bHQ6IG5vCmNvbmZpZ3Vy ZToxNDM5NjogY2hlY2tpbmcgbWFpbGxvY2suaCBwcmVzZW5jZQpjb25maWd1cmU6 MTQ0MDY6IGdjYyAtRSAgICBjb25mdGVzdC5jCmNvbmZ0ZXN0LmM6NzA6MjI6IG1h aWxsb2NrLmg6IE5vIHN1Y2ggZmlsZSBvciBkaXJlY3RvcnkKY29uZmlndXJlOjE0 NDEyOiAkPyA9IDEKY29uZmlndXJlOiBmYWlsZWQgcHJvZ3JhbSB3YXM6CnwgLyog Y29uZmRlZnMuaC4gICovCnwgCnwgI2RlZmluZSBQQUNLQUdFX05BTUUgIiIKfCAj ZGVmaW5lIFBBQ0tBR0VfVEFSTkFNRSAiIgp8ICNkZWZpbmUgUEFDS0FHRV9WRVJT SU9OICIiCnwgI2RlZmluZSBQQUNLQUdFX1NUUklORyAiIgp8ICNkZWZpbmUgUEFD S0FHRV9CVUdSRVBPUlQgIiIKfCAjZGVmaW5lIE1BSUxfVVNFX1BPUCAxCnwgI2Rl ZmluZSBfR05VX1NPVVJDRSAxCnwgI2RlZmluZSBTVERDX0hFQURFUlMgMQp8ICNk ZWZpbmUgSEFWRV9TWVNfVFlQRVNfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19TVEFU X0ggMQp8ICNkZWZpbmUgSEFWRV9TVERMSUJfSCAxCnwgI2RlZmluZSBIQVZFX1NU UklOR19IIDEKfCAjZGVmaW5lIEhBVkVfTUVNT1JZX0ggMQp8ICNkZWZpbmUgSEFW RV9TVFJJTkdTX0ggMQp8ICNkZWZpbmUgSEFWRV9JTlRUWVBFU19IIDEKfCAjZGVm aW5lIEhBVkVfU1RESU5UX0ggMQp8ICNkZWZpbmUgSEFWRV9VTklTVERfSCAxCnwg I2RlZmluZSBIQVZFX1NZU19TT1VORENBUkRfSCAxCnwgI2RlZmluZSBIQVZFX1NZ U19TRUxFQ1RfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19USU1FQl9IIDEKfCAjZGVm aW5lIEhBVkVfU1lTX1RJTUVfSCAxCnwgI2RlZmluZSBIQVZFX1VOSVNURF9IIDEK fCAjZGVmaW5lIEhBVkVfVVRJTUVfSCAxCnwgI2RlZmluZSBIQVZFX1RFUk1JT1Nf SCAxCnwgI2RlZmluZSBIQVZFX0xJTUlUU19IIDEKfCAjZGVmaW5lIEhBVkVfU1RS SU5HX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERMSUJfSCAxCnwgI2RlZmluZSBIQVZF X1RFUk1DQVBfSCAxCnwgI2RlZmluZSBIQVZFX0ZDTlRMX0ggMQp8ICNkZWZpbmUg SEFWRV9TVFJJTkdTX0ggMQp8ICNkZWZpbmUgSEFWRV9QVFlfSCAxCnwgI2RlZmlu ZSBIQVZFX1NZU19NTUFOX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfUEFSQU1fSCAx CnwgI2RlZmluZSBIQVZFX1NZU19SRVNPVVJDRV9IIDEKfCAjZGVmaW5lIEhBVkVf TE9DQUxFX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfVVRTTkFNRV9IIDEKfCAjZGVm aW5lIEhBVkVfUFdEX0ggMQp8ICNkZWZpbmUgU1REQ19IRUFERVJTIDEKfCAjZGVm aW5lIFRJTUVfV0lUSF9TWVNfVElNRSAxCnwgI2RlZmluZSBIQVZFX0RFQ0xfU1lT X1NJR0xJU1QgMAp8ICNkZWZpbmUgSEFWRV9ERUNMX19fU1lTX1NJR0xJU1QgMAp8 ICNkZWZpbmUgSEFWRV9TWVNfV0FJVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1RSVUNU X1VUSU1CVUYgMQp8ICNkZWZpbmUgUkVUU0lHVFlQRSB2b2lkCnwgI2RlZmluZSBI QVZFX1NQRUVEX1QgMQp8ICNkZWZpbmUgSEFWRV9USU1FVkFMIDEKfCAjZGVmaW5l IEhBVkVfU1lTX1NPQ0tFVF9IIDEKfCAjZGVmaW5lIEhBVkVfTkVUX0lGX0ggMQp8 ICNkZWZpbmUgSEFWRV9UWk5BTUUgMQp8ICNkZWZpbmUgSEFWRV9TVFJVQ1RfSUZS RVFfSUZSX0ZMQUdTIDEKfCAjZGVmaW5lIEhBVkVfU1RSVUNUX0lGUkVRX0lGUl9I V0FERFIgMQp8ICNkZWZpbmUgSEFWRV9TVFJVQ1RfSUZSRVFfSUZSX05FVE1BU0sg MQp8ICNkZWZpbmUgSEFWRV9TVFJVQ1RfSUZSRVFfSUZSX0JST0FEQUREUiAxCnwg I2RlZmluZSBIQVZFX1NUUlVDVF9JRlJFUV9JRlJfQUREUiAxCnwgI2RlZmluZSBQ Uk9UT1RZUEVTIDEKfCAjZGVmaW5lIF9fUFJPVE9UWVBFUyAxCnwgI2RlZmluZSBQ T0lOVEVSX1RZUEUgdm9pZAp8ICNkZWZpbmUgSEFWRV9MT05HX0ZJTEVfTkFNRVMg MQp8ICNkZWZpbmUgSEFWRV9TVERMSUJfSCAxCnwgI2RlZmluZSBIQVZFX1VOSVNU RF9IIDEKfCAjZGVmaW5lIEhBVkVfR0VUUEFHRVNJWkUgMQp8ICNkZWZpbmUgVVNF X1hJTSAxCnwgI2RlZmluZSBIQVZFX0hfRVJSTk8gMQp8ICNkZWZpbmUgSEFWRV9B TExPQ0FfSCAxCnwgI2RlZmluZSBIQVZFX0FMTE9DQSAxCnwgI2RlZmluZSBIQVZF X0xJQk0gMQp8IC8qIGVuZCBjb25mZGVmcy5oLiAgKi8KfCAjaW5jbHVkZSA8bWFp bGxvY2suaD4KY29uZmlndXJlOjE0NDMyOiByZXN1bHQ6IG5vCmNvbmZpZ3VyZTox NDQ2NzogY2hlY2tpbmcgZm9yIG1haWxsb2NrLmgKY29uZmlndXJlOjE0NDc0OiBy ZXN1bHQ6IG5vCmNvbmZpZ3VyZToxNDU2NzogY2hlY2tpbmcgZm9yIGdldGhvc3Ru YW1lCmNvbmZpZ3VyZToxNDYyNDogZ2NjIC1vIGNvbmZ0ZXN0LmV4ZSAtZyAtTzIg ICAgIGNvbmZ0ZXN0LmMgLWxtICAgPiY1ICAKY29uZmlndXJlOjE0NjMwOiAkPyA9 IDAKY29uZmlndXJlOjE0NjM0OiB0ZXN0IC16IAoJCQkgfHwgdGVzdCAhIC1zIGNv bmZ0ZXN0LmVycgpjb25maWd1cmU6MTQ2Mzc6ICQ/ID0gMApjb25maWd1cmU6MTQ2 NDA6IHRlc3QgLXMgY29uZnRlc3QuZXhlCmNvbmZpZ3VyZToxNDY0MzogJD8gPSAw CmNvbmZpZ3VyZToxNDY1NTogcmVzdWx0OiB5ZXMKY29uZmlndXJlOjE0NTY3OiBj aGVja2luZyBmb3IgZ2V0ZG9tYWlubmFtZQpjb25maWd1cmU6MTQ2MjQ6IGdjYyAt byBjb25mdGVzdC5leGUgLWcgLU8yICAgICBjb25mdGVzdC5jIC1sbSAgID4mNSAg CmNvbmZpZ3VyZToxNDYzMDogJD8gPSAwCmNvbmZpZ3VyZToxNDYzNDogdGVzdCAt eiAKCQkJIHx8IHRlc3QgISAtcyBjb25mdGVzdC5lcnIKY29uZmlndXJlOjE0NjM3 OiAkPyA9IDAKY29uZmlndXJlOjE0NjQwOiB0ZXN0IC1zIGNvbmZ0ZXN0LmV4ZQpj b25maWd1cmU6MTQ2NDM6ICQ/ID0gMApjb25maWd1cmU6MTQ2NTU6IHJlc3VsdDog eWVzCmNvbmZpZ3VyZToxNDU2NzogY2hlY2tpbmcgZm9yIGR1cDIKY29uZmlndXJl OjE0NjI0OiBnY2MgLW8gY29uZnRlc3QuZXhlIC1nIC1PMiAgICAgY29uZnRlc3Qu YyAtbG0gICA+JjUgIApjb25maWd1cmU6MTQ2MzA6ICQ/ID0gMApjb25maWd1cmU6 MTQ2MzQ6IHRlc3QgLXogCgkJCSB8fCB0ZXN0ICEgLXMgY29uZnRlc3QuZXJyCmNv bmZpZ3VyZToxNDYzNzogJD8gPSAwCmNvbmZpZ3VyZToxNDY0MDogdGVzdCAtcyBj b25mdGVzdC5leGUKY29uZmlndXJlOjE0NjQzOiAkPyA9IDAKY29uZmlndXJlOjE0 NjU1OiByZXN1bHQ6IHllcwpjb25maWd1cmU6MTQ1Njc6IGNoZWNraW5nIGZvciBy ZW5hbWUKY29uZmlndXJlOjE0NjI0OiBnY2MgLW8gY29uZnRlc3QuZXhlIC1nIC1P MiAgICAgY29uZnRlc3QuYyAtbG0gICA+JjUgIApjb25maWd1cmU6MTQ2MzA6ICQ/ ID0gMApjb25maWd1cmU6MTQ2MzQ6IHRlc3QgLXogCgkJCSB8fCB0ZXN0ICEgLXMg Y29uZnRlc3QuZXJyCmNvbmZpZ3VyZToxNDYzNzogJD8gPSAwCmNvbmZpZ3VyZTox NDY0MDogdGVzdCAtcyBjb25mdGVzdC5leGUKY29uZmlndXJlOjE0NjQzOiAkPyA9 IDAKY29uZmlndXJlOjE0NjU1OiByZXN1bHQ6IHllcwpjb25maWd1cmU6MTQ1Njc6 IGNoZWNraW5nIGZvciBjbG9zZWRpcgpjb25maWd1cmU6MTQ2MjQ6IGdjYyAtbyBj b25mdGVzdC5leGUgLWcgLU8yICAgICBjb25mdGVzdC5jIC1sbSAgID4mNSAgCmNv bmZpZ3VyZToxNDYzMDogJD8gPSAwCmNvbmZpZ3VyZToxNDYzNDogdGVzdCAteiAK CQkJIHx8IHRlc3QgISAtcyBjb25mdGVzdC5lcnIKY29uZmlndXJlOjE0NjM3OiAk PyA9IDAKY29uZmlndXJlOjE0NjQwOiB0ZXN0IC1zIGNvbmZ0ZXN0LmV4ZQpjb25m aWd1cmU6MTQ2NDM6ICQ/ID0gMApjb25maWd1cmU6MTQ2NTU6IHJlc3VsdDogeWVz CmNvbmZpZ3VyZToxNDU2NzogY2hlY2tpbmcgZm9yIG1rZGlyCmNvbmZpZ3VyZTox NDYyNDogZ2NjIC1vIGNvbmZ0ZXN0LmV4ZSAtZyAtTzIgICAgIGNvbmZ0ZXN0LmMg LWxtICAgPiY1ICAKY29uZmlndXJlOjE0NjMwOiAkPyA9IDAKY29uZmlndXJlOjE0 NjM0OiB0ZXN0IC16IAoJCQkgfHwgdGVzdCAhIC1zIGNvbmZ0ZXN0LmVycgpjb25m aWd1cmU6MTQ2Mzc6ICQ/ID0gMApjb25maWd1cmU6MTQ2NDA6IHRlc3QgLXMgY29u ZnRlc3QuZXhlCmNvbmZpZ3VyZToxNDY0MzogJD8gPSAwCmNvbmZpZ3VyZToxNDY1 NTogcmVzdWx0OiB5ZXMKY29uZmlndXJlOjE0NTY3OiBjaGVja2luZyBmb3Igcm1k aXIKY29uZmlndXJlOjE0NjI0OiBnY2MgLW8gY29uZnRlc3QuZXhlIC1nIC1PMiAg ICAgY29uZnRlc3QuYyAtbG0gICA+JjUgIApjb25maWd1cmU6MTQ2MzA6ICQ/ID0g MApjb25maWd1cmU6MTQ2MzQ6IHRlc3QgLXogCgkJCSB8fCB0ZXN0ICEgLXMgY29u ZnRlc3QuZXJyCmNvbmZpZ3VyZToxNDYzNzogJD8gPSAwCmNvbmZpZ3VyZToxNDY0 MDogdGVzdCAtcyBjb25mdGVzdC5leGUKY29uZmlndXJlOjE0NjQzOiAkPyA9IDAK Y29uZmlndXJlOjE0NjU1OiByZXN1bHQ6IHllcwpjb25maWd1cmU6MTQ1Njc6IGNo ZWNraW5nIGZvciBzeXNpbmZvCmNvbmZpZ3VyZToxNDYyNDogZ2NjIC1vIGNvbmZ0 ZXN0LmV4ZSAtZyAtTzIgICAgIGNvbmZ0ZXN0LmMgLWxtICAgPiY1ICAKL2N5Z2Ry aXZlL2MvRE9DVU1FfjEvd2lsbGlhbS9MT0NBTFN+MS9UZW1wL2NjTVBpYXFILm86 IEluIGZ1bmN0aW9uIGBtYWluJzoKL2N5Z2RyaXZlL2QvZW1hY3MyMi9jb25mdGVz dC5jOjExNzogdW5kZWZpbmVkIHJlZmVyZW5jZSB0byBgX3N5c2luZm8nCi9jeWdk cml2ZS9kL2VtYWNzMjIvY29uZnRlc3QuYzoxMTY6IHVuZGVmaW5lZCByZWZlcmVu Y2UgdG8gYF9zeXNpbmZvJwpjb2xsZWN0MjogbGQgcmV0dXJuZWQgMSBleGl0IHN0 YXR1cwpjb25maWd1cmU6MTQ2MzA6ICQ/ID0gMQpjb25maWd1cmU6IGZhaWxlZCBw cm9ncmFtIHdhczoKfCAvKiBjb25mZGVmcy5oLiAgKi8KfCAKfCAjZGVmaW5lIFBB Q0tBR0VfTkFNRSAiIgp8ICNkZWZpbmUgUEFDS0FHRV9UQVJOQU1FICIiCnwgI2Rl ZmluZSBQQUNLQUdFX1ZFUlNJT04gIiIKfCAjZGVmaW5lIFBBQ0tBR0VfU1RSSU5H ICIiCnwgI2RlZmluZSBQQUNLQUdFX0JVR1JFUE9SVCAiIgp8ICNkZWZpbmUgTUFJ TF9VU0VfUE9QIDEKfCAjZGVmaW5lIF9HTlVfU09VUkNFIDEKfCAjZGVmaW5lIFNU RENfSEVBREVSUyAxCnwgI2RlZmluZSBIQVZFX1NZU19UWVBFU19IIDEKfCAjZGVm aW5lIEhBVkVfU1lTX1NUQVRfSCAxCnwgI2RlZmluZSBIQVZFX1NURExJQl9IIDEK fCAjZGVmaW5lIEhBVkVfU1RSSU5HX0ggMQp8ICNkZWZpbmUgSEFWRV9NRU1PUllf SCAxCnwgI2RlZmluZSBIQVZFX1NUUklOR1NfSCAxCnwgI2RlZmluZSBIQVZFX0lO VFRZUEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERJTlRfSCAxCnwgI2RlZmluZSBI QVZFX1VOSVNURF9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NPVU5EQ0FSRF9IIDEK fCAjZGVmaW5lIEhBVkVfU1lTX1NFTEVDVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1lT X1RJTUVCX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfVElNRV9IIDEKfCAjZGVmaW5l IEhBVkVfVU5JU1REX0ggMQp8ICNkZWZpbmUgSEFWRV9VVElNRV9IIDEKfCAjZGVm aW5lIEhBVkVfVEVSTUlPU19IIDEKfCAjZGVmaW5lIEhBVkVfTElNSVRTX0ggMQp8 ICNkZWZpbmUgSEFWRV9TVFJJTkdfSCAxCnwgI2RlZmluZSBIQVZFX1NURExJQl9I IDEKfCAjZGVmaW5lIEhBVkVfVEVSTUNBUF9IIDEKfCAjZGVmaW5lIEhBVkVfRkNO VExfSCAxCnwgI2RlZmluZSBIQVZFX1NUUklOR1NfSCAxCnwgI2RlZmluZSBIQVZF X1BUWV9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX01NQU5fSCAxCnwgI2RlZmluZSBI QVZFX1NZU19QQVJBTV9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1JFU09VUkNFX0gg MQp8ICNkZWZpbmUgSEFWRV9MT0NBTEVfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19V VFNOQU1FX0ggMQp8ICNkZWZpbmUgSEFWRV9QV0RfSCAxCnwgI2RlZmluZSBTVERD X0hFQURFUlMgMQp8ICNkZWZpbmUgVElNRV9XSVRIX1NZU19USU1FIDEKfCAjZGVm aW5lIEhBVkVfREVDTF9TWVNfU0lHTElTVCAwCnwgI2RlZmluZSBIQVZFX0RFQ0xf X19TWVNfU0lHTElTVCAwCnwgI2RlZmluZSBIQVZFX1NZU19XQUlUX0ggMQp8ICNk ZWZpbmUgSEFWRV9TVFJVQ1RfVVRJTUJVRiAxCnwgI2RlZmluZSBSRVRTSUdUWVBF IHZvaWQKfCAjZGVmaW5lIEhBVkVfU1BFRURfVCAxCnwgI2RlZmluZSBIQVZFX1RJ TUVWQUwgMQp8ICNkZWZpbmUgSEFWRV9TWVNfU09DS0VUX0ggMQp8ICNkZWZpbmUg SEFWRV9ORVRfSUZfSCAxCnwgI2RlZmluZSBIQVZFX1RaTkFNRSAxCnwgI2RlZmlu ZSBIQVZFX1NUUlVDVF9JRlJFUV9JRlJfRkxBR1MgMQp8ICNkZWZpbmUgSEFWRV9T VFJVQ1RfSUZSRVFfSUZSX0hXQUREUiAxCnwgI2RlZmluZSBIQVZFX1NUUlVDVF9J RlJFUV9JRlJfTkVUTUFTSyAxCnwgI2RlZmluZSBIQVZFX1NUUlVDVF9JRlJFUV9J RlJfQlJPQURBRERSIDEKfCAjZGVmaW5lIEhBVkVfU1RSVUNUX0lGUkVRX0lGUl9B RERSIDEKfCAjZGVmaW5lIFBST1RPVFlQRVMgMQp8ICNkZWZpbmUgX19QUk9UT1RZ UEVTIDEKfCAjZGVmaW5lIFBPSU5URVJfVFlQRSB2b2lkCnwgI2RlZmluZSBIQVZF X0xPTkdfRklMRV9OQU1FUyAxCnwgI2RlZmluZSBIQVZFX1NURExJQl9IIDEKfCAj ZGVmaW5lIEhBVkVfVU5JU1REX0ggMQp8ICNkZWZpbmUgSEFWRV9HRVRQQUdFU0la RSAxCnwgI2RlZmluZSBVU0VfWElNIDEKfCAjZGVmaW5lIEhBVkVfSF9FUlJOTyAx CnwgI2RlZmluZSBIQVZFX0FMTE9DQV9IIDEKfCAjZGVmaW5lIEhBVkVfQUxMT0NB IDEKfCAjZGVmaW5lIEhBVkVfTElCTSAxCnwgI2RlZmluZSBIQVZFX0dFVEhPU1RO QU1FIDEKfCAjZGVmaW5lIEhBVkVfR0VURE9NQUlOTkFNRSAxCnwgI2RlZmluZSBI QVZFX0RVUDIgMQp8ICNkZWZpbmUgSEFWRV9SRU5BTUUgMQp8ICNkZWZpbmUgSEFW RV9DTE9TRURJUiAxCnwgI2RlZmluZSBIQVZFX01LRElSIDEKfCAjZGVmaW5lIEhB VkVfUk1ESVIgMQp8IC8qIGVuZCBjb25mZGVmcy5oLiAgKi8KfCAvKiBEZWZpbmUg c3lzaW5mbyB0byBhbiBpbm5vY3VvdXMgdmFyaWFudCwgaW4gY2FzZSA8bGltaXRz Lmg+IGRlY2xhcmVzIHN5c2luZm8uCnwgICAgRm9yIGV4YW1wbGUsIEhQLVVYIDEx aSA8bGltaXRzLmg+IGRlY2xhcmVzIGdldHRpbWVvZmRheS4gICovCnwgI2RlZmlu ZSBzeXNpbmZvIGlubm9jdW91c19zeXNpbmZvCnwgCnwgLyogU3lzdGVtIGhlYWRl ciB0byBkZWZpbmUgX19zdHViIG1hY3JvcyBhbmQgaG9wZWZ1bGx5IGZldyBwcm90 b3R5cGVzLAp8ICAgICB3aGljaCBjYW4gY29uZmxpY3Qgd2l0aCBjaGFyIHN5c2lu Zm8gKCk7IGJlbG93Lgp8ICAgICBQcmVmZXIgPGxpbWl0cy5oPiB0byA8YXNzZXJ0 Lmg+IGlmIF9fU1REQ19fIGlzIGRlZmluZWQsIHNpbmNlCnwgICAgIDxsaW1pdHMu aD4gZXhpc3RzIGV2ZW4gb24gZnJlZXN0YW5kaW5nIGNvbXBpbGVycy4gICovCnwg CnwgI2lmZGVmIF9fU1REQ19fCnwgIyBpbmNsdWRlIDxsaW1pdHMuaD4KfCAjZWxz ZQp8ICMgaW5jbHVkZSA8YXNzZXJ0Lmg+CnwgI2VuZGlmCnwgCnwgI3VuZGVmIHN5 c2luZm8KfCAKfCAvKiBPdmVycmlkZSBhbnkgZ2NjMiBpbnRlcm5hbCBwcm90b3R5 cGUgdG8gYXZvaWQgYW4gZXJyb3IuICAqLwp8ICNpZmRlZiBfX2NwbHVzcGx1cwp8 IGV4dGVybiAiQyIKfCB7CnwgI2VuZGlmCnwgLyogV2UgdXNlIGNoYXIgYmVjYXVz ZSBpbnQgbWlnaHQgbWF0Y2ggdGhlIHJldHVybiB0eXBlIG9mIGEgZ2NjMgp8ICAg IGJ1aWx0aW4gYW5kIHRoZW4gaXRzIGFyZ3VtZW50IHByb3RvdHlwZSB3b3VsZCBz dGlsbCBhcHBseS4gICovCnwgY2hhciBzeXNpbmZvICgpOwp8IC8qIFRoZSBHTlUg QyBsaWJyYXJ5IGRlZmluZXMgdGhpcyBmb3IgZnVuY3Rpb25zIHdoaWNoIGl0IGlt cGxlbWVudHMKfCAgICAgdG8gYWx3YXlzIGZhaWwgd2l0aCBFTk9TWVMuICBTb21l IGZ1bmN0aW9ucyBhcmUgYWN0dWFsbHkgbmFtZWQKfCAgICAgc29tZXRoaW5nIHN0 YXJ0aW5nIHdpdGggX18gYW5kIHRoZSBub3JtYWwgbmFtZSBpcyBhbiBhbGlhcy4g ICovCnwgI2lmIGRlZmluZWQgKF9fc3R1Yl9zeXNpbmZvKSB8fCBkZWZpbmVkIChf X3N0dWJfX19zeXNpbmZvKQp8IGNob2tlIG1lCnwgI2Vsc2UKfCBjaGFyICgqZikg KCkgPSBzeXNpbmZvOwp8ICNlbmRpZgp8ICNpZmRlZiBfX2NwbHVzcGx1cwp8IH0K fCAjZW5kaWYKfCAKfCBpbnQKfCBtYWluICgpCnwgewp8IHJldHVybiBmICE9IHN5 c2luZm87CnwgICA7CnwgICByZXR1cm4gMDsKfCB9CmNvbmZpZ3VyZToxNDY1NTog cmVzdWx0OiBubwpjb25maWd1cmU6MTQ1Njc6IGNoZWNraW5nIGZvciBnZXRydXNh Z2UKY29uZmlndXJlOjE0NjI0OiBnY2MgLW8gY29uZnRlc3QuZXhlIC1nIC1PMiAg ICAgY29uZnRlc3QuYyAtbG0gICA+JjUgIApjb25maWd1cmU6MTQ2MzA6ICQ/ID0g MApjb25maWd1cmU6MTQ2MzQ6IHRlc3QgLXogCgkJCSB8fCB0ZXN0ICEgLXMgY29u ZnRlc3QuZXJyCmNvbmZpZ3VyZToxNDYzNzogJD8gPSAwCmNvbmZpZ3VyZToxNDY0 MDogdGVzdCAtcyBjb25mdGVzdC5leGUKY29uZmlndXJlOjE0NjQzOiAkPyA9IDAK Y29uZmlndXJlOjE0NjU1OiByZXN1bHQ6IHllcwpjb25maWd1cmU6MTQ1Njc6IGNo ZWNraW5nIGZvciBnZXRfY3VycmVudF9kaXJfbmFtZQpjb25maWd1cmU6MTQ2MjQ6 IGdjYyAtbyBjb25mdGVzdC5leGUgLWcgLU8yICAgICBjb25mdGVzdC5jIC1sbSAg ID4mNSAgCi9jeWdkcml2ZS9jL0RPQ1VNRX4xL3dpbGxpYW0vTE9DQUxTfjEvVGVt cC9jY2NSWkhjWC5vOiBJbiBmdW5jdGlvbiBgbWFpbic6Ci9jeWdkcml2ZS9kL2Vt YWNzMjIvY29uZnRlc3QuYzoxMTg6IHVuZGVmaW5lZCByZWZlcmVuY2UgdG8gYF9n ZXRfY3VycmVudF9kaXJfbmFtZScKL2N5Z2RyaXZlL2QvZW1hY3MyMi9jb25mdGVz dC5jOjExNzogdW5kZWZpbmVkIHJlZmVyZW5jZSB0byBgX2dldF9jdXJyZW50X2Rp cl9uYW1lJwpjb2xsZWN0MjogbGQgcmV0dXJuZWQgMSBleGl0IHN0YXR1cwpjb25m aWd1cmU6MTQ2MzA6ICQ/ID0gMQpjb25maWd1cmU6IGZhaWxlZCBwcm9ncmFtIHdh czoKfCAvKiBjb25mZGVmcy5oLiAgKi8KfCAKfCAjZGVmaW5lIFBBQ0tBR0VfTkFN RSAiIgp8ICNkZWZpbmUgUEFDS0FHRV9UQVJOQU1FICIiCnwgI2RlZmluZSBQQUNL QUdFX1ZFUlNJT04gIiIKfCAjZGVmaW5lIFBBQ0tBR0VfU1RSSU5HICIiCnwgI2Rl ZmluZSBQQUNLQUdFX0JVR1JFUE9SVCAiIgp8ICNkZWZpbmUgTUFJTF9VU0VfUE9Q IDEKfCAjZGVmaW5lIF9HTlVfU09VUkNFIDEKfCAjZGVmaW5lIFNURENfSEVBREVS UyAxCnwgI2RlZmluZSBIQVZFX1NZU19UWVBFU19IIDEKfCAjZGVmaW5lIEhBVkVf U1lTX1NUQVRfSCAxCnwgI2RlZmluZSBIQVZFX1NURExJQl9IIDEKfCAjZGVmaW5l IEhBVkVfU1RSSU5HX0ggMQp8ICNkZWZpbmUgSEFWRV9NRU1PUllfSCAxCnwgI2Rl ZmluZSBIQVZFX1NUUklOR1NfSCAxCnwgI2RlZmluZSBIQVZFX0lOVFRZUEVTX0gg MQp8ICNkZWZpbmUgSEFWRV9TVERJTlRfSCAxCnwgI2RlZmluZSBIQVZFX1VOSVNU RF9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NPVU5EQ0FSRF9IIDEKfCAjZGVmaW5l IEhBVkVfU1lTX1NFTEVDVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1RJTUVCX0gg MQp8ICNkZWZpbmUgSEFWRV9TWVNfVElNRV9IIDEKfCAjZGVmaW5lIEhBVkVfVU5J U1REX0ggMQp8ICNkZWZpbmUgSEFWRV9VVElNRV9IIDEKfCAjZGVmaW5lIEhBVkVf VEVSTUlPU19IIDEKfCAjZGVmaW5lIEhBVkVfTElNSVRTX0ggMQp8ICNkZWZpbmUg SEFWRV9TVFJJTkdfSCAxCnwgI2RlZmluZSBIQVZFX1NURExJQl9IIDEKfCAjZGVm aW5lIEhBVkVfVEVSTUNBUF9IIDEKfCAjZGVmaW5lIEhBVkVfRkNOVExfSCAxCnwg I2RlZmluZSBIQVZFX1NUUklOR1NfSCAxCnwgI2RlZmluZSBIQVZFX1BUWV9IIDEK fCAjZGVmaW5lIEhBVkVfU1lTX01NQU5fSCAxCnwgI2RlZmluZSBIQVZFX1NZU19Q QVJBTV9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1JFU09VUkNFX0ggMQp8ICNkZWZp bmUgSEFWRV9MT0NBTEVfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19VVFNOQU1FX0gg MQp8ICNkZWZpbmUgSEFWRV9QV0RfSCAxCnwgI2RlZmluZSBTVERDX0hFQURFUlMg MQp8ICNkZWZpbmUgVElNRV9XSVRIX1NZU19USU1FIDEKfCAjZGVmaW5lIEhBVkVf REVDTF9TWVNfU0lHTElTVCAwCnwgI2RlZmluZSBIQVZFX0RFQ0xfX19TWVNfU0lH TElTVCAwCnwgI2RlZmluZSBIQVZFX1NZU19XQUlUX0ggMQp8ICNkZWZpbmUgSEFW RV9TVFJVQ1RfVVRJTUJVRiAxCnwgI2RlZmluZSBSRVRTSUdUWVBFIHZvaWQKfCAj ZGVmaW5lIEhBVkVfU1BFRURfVCAxCnwgI2RlZmluZSBIQVZFX1RJTUVWQUwgMQp8 ICNkZWZpbmUgSEFWRV9TWVNfU09DS0VUX0ggMQp8ICNkZWZpbmUgSEFWRV9ORVRf SUZfSCAxCnwgI2RlZmluZSBIQVZFX1RaTkFNRSAxCnwgI2RlZmluZSBIQVZFX1NU UlVDVF9JRlJFUV9JRlJfRkxBR1MgMQp8ICNkZWZpbmUgSEFWRV9TVFJVQ1RfSUZS RVFfSUZSX0hXQUREUiAxCnwgI2RlZmluZSBIQVZFX1NUUlVDVF9JRlJFUV9JRlJf TkVUTUFTSyAxCnwgI2RlZmluZSBIQVZFX1NUUlVDVF9JRlJFUV9JRlJfQlJPQURB RERSIDEKfCAjZGVmaW5lIEhBVkVfU1RSVUNUX0lGUkVRX0lGUl9BRERSIDEKfCAj ZGVmaW5lIFBST1RPVFlQRVMgMQp8ICNkZWZpbmUgX19QUk9UT1RZUEVTIDEKfCAj ZGVmaW5lIFBPSU5URVJfVFlQRSB2b2lkCnwgI2RlZmluZSBIQVZFX0xPTkdfRklM RV9OQU1FUyAxCnwgI2RlZmluZSBIQVZFX1NURExJQl9IIDEKfCAjZGVmaW5lIEhB VkVfVU5JU1REX0ggMQp8ICNkZWZpbmUgSEFWRV9HRVRQQUdFU0laRSAxCnwgI2Rl ZmluZSBVU0VfWElNIDEKfCAjZGVmaW5lIEhBVkVfSF9FUlJOTyAxCnwgI2RlZmlu ZSBIQVZFX0FMTE9DQV9IIDEKfCAjZGVmaW5lIEhBVkVfQUxMT0NBIDEKfCAjZGVm aW5lIEhBVkVfTElCTSAxCnwgI2RlZmluZSBIQVZFX0dFVEhPU1ROQU1FIDEKfCAj ZGVmaW5lIEhBVkVfR0VURE9NQUlOTkFNRSAxCnwgI2RlZmluZSBIQVZFX0RVUDIg MQp8ICNkZWZpbmUgSEFWRV9SRU5BTUUgMQp8ICNkZWZpbmUgSEFWRV9DTE9TRURJ UiAxCnwgI2RlZmluZSBIQVZFX01LRElSIDEKfCAjZGVmaW5lIEhBVkVfUk1ESVIg MQp8ICNkZWZpbmUgSEFWRV9HRVRSVVNBR0UgMQp8IC8qIGVuZCBjb25mZGVmcy5o LiAgKi8KfCAvKiBEZWZpbmUgZ2V0X2N1cnJlbnRfZGlyX25hbWUgdG8gYW4gaW5u b2N1b3VzIHZhcmlhbnQsIGluIGNhc2UgPGxpbWl0cy5oPiBkZWNsYXJlcyBnZXRf Y3VycmVudF9kaXJfbmFtZS4KfCAgICBGb3IgZXhhbXBsZSwgSFAtVVggMTFpIDxs aW1pdHMuaD4gZGVjbGFyZXMgZ2V0dGltZW9mZGF5LiAgKi8KfCAjZGVmaW5lIGdl dF9jdXJyZW50X2Rpcl9uYW1lIGlubm9jdW91c19nZXRfY3VycmVudF9kaXJfbmFt ZQp8IAp8IC8qIFN5c3RlbSBoZWFkZXIgdG8gZGVmaW5lIF9fc3R1YiBtYWNyb3Mg YW5kIGhvcGVmdWxseSBmZXcgcHJvdG90eXBlcywKfCAgICAgd2hpY2ggY2FuIGNv bmZsaWN0IHdpdGggY2hhciBnZXRfY3VycmVudF9kaXJfbmFtZSAoKTsgYmVsb3cu CnwgICAgIFByZWZlciA8bGltaXRzLmg+IHRvIDxhc3NlcnQuaD4gaWYgX19TVERD X18gaXMgZGVmaW5lZCwgc2luY2UKfCAgICAgPGxpbWl0cy5oPiBleGlzdHMgZXZl biBvbiBmcmVlc3RhbmRpbmcgY29tcGlsZXJzLiAgKi8KfCAKfCAjaWZkZWYgX19T VERDX18KfCAjIGluY2x1ZGUgPGxpbWl0cy5oPgp8ICNlbHNlCnwgIyBpbmNsdWRl IDxhc3NlcnQuaD4KfCAjZW5kaWYKfCAKfCAjdW5kZWYgZ2V0X2N1cnJlbnRfZGly X25hbWUKfCAKfCAvKiBPdmVycmlkZSBhbnkgZ2NjMiBpbnRlcm5hbCBwcm90b3R5 cGUgdG8gYXZvaWQgYW4gZXJyb3IuICAqLwp8ICNpZmRlZiBfX2NwbHVzcGx1cwp8 IGV4dGVybiAiQyIKfCB7CnwgI2VuZGlmCnwgLyogV2UgdXNlIGNoYXIgYmVjYXVz ZSBpbnQgbWlnaHQgbWF0Y2ggdGhlIHJldHVybiB0eXBlIG9mIGEgZ2NjMgp8ICAg IGJ1aWx0aW4gYW5kIHRoZW4gaXRzIGFyZ3VtZW50IHByb3RvdHlwZSB3b3VsZCBz dGlsbCBhcHBseS4gICovCnwgY2hhciBnZXRfY3VycmVudF9kaXJfbmFtZSAoKTsK fCAvKiBUaGUgR05VIEMgbGlicmFyeSBkZWZpbmVzIHRoaXMgZm9yIGZ1bmN0aW9u cyB3aGljaCBpdCBpbXBsZW1lbnRzCnwgICAgIHRvIGFsd2F5cyBmYWlsIHdpdGgg RU5PU1lTLiAgU29tZSBmdW5jdGlvbnMgYXJlIGFjdHVhbGx5IG5hbWVkCnwgICAg IHNvbWV0aGluZyBzdGFydGluZyB3aXRoIF9fIGFuZCB0aGUgbm9ybWFsIG5hbWUg aXMgYW4gYWxpYXMuICAqLwp8ICNpZiBkZWZpbmVkIChfX3N0dWJfZ2V0X2N1cnJl bnRfZGlyX25hbWUpIHx8IGRlZmluZWQgKF9fc3R1Yl9fX2dldF9jdXJyZW50X2Rp cl9uYW1lKQp8IGNob2tlIG1lCnwgI2Vsc2UKfCBjaGFyICgqZikgKCkgPSBnZXRf Y3VycmVudF9kaXJfbmFtZTsKfCAjZW5kaWYKfCAjaWZkZWYgX19jcGx1c3BsdXMK fCB9CnwgI2VuZGlmCnwgCnwgaW50CnwgbWFpbiAoKQp8IHsKfCByZXR1cm4gZiAh PSBnZXRfY3VycmVudF9kaXJfbmFtZTsKfCAgIDsKfCAgIHJldHVybiAwOwp8IH0K Y29uZmlndXJlOjE0NjU1OiByZXN1bHQ6IG5vCmNvbmZpZ3VyZToxNDU2NzogY2hl Y2tpbmcgZm9yIHJhbmRvbQpjb25maWd1cmU6MTQ2MjQ6IGdjYyAtbyBjb25mdGVz dC5leGUgLWcgLU8yICAgICBjb25mdGVzdC5jIC1sbSAgID4mNSAgCmNvbmZpZ3Vy ZToxNDYzMDogJD8gPSAwCmNvbmZpZ3VyZToxNDYzNDogdGVzdCAteiAKCQkJIHx8 IHRlc3QgISAtcyBjb25mdGVzdC5lcnIKY29uZmlndXJlOjE0NjM3OiAkPyA9IDAK Y29uZmlndXJlOjE0NjQwOiB0ZXN0IC1zIGNvbmZ0ZXN0LmV4ZQpjb25maWd1cmU6 MTQ2NDM6ICQ/ID0gMApjb25maWd1cmU6MTQ2NTU6IHJlc3VsdDogeWVzCmNvbmZp Z3VyZToxNDU2NzogY2hlY2tpbmcgZm9yIGxyYW5kNDgKY29uZmlndXJlOjE0NjI0 OiBnY2MgLW8gY29uZnRlc3QuZXhlIC1nIC1PMiAgICAgY29uZnRlc3QuYyAtbG0g ICA+JjUgIApjb25maWd1cmU6MTQ2MzA6ICQ/ID0gMApjb25maWd1cmU6MTQ2MzQ6 IHRlc3QgLXogCgkJCSB8fCB0ZXN0ICEgLXMgY29uZnRlc3QuZXJyCmNvbmZpZ3Vy ZToxNDYzNzogJD8gPSAwCmNvbmZpZ3VyZToxNDY0MDogdGVzdCAtcyBjb25mdGVz dC5leGUKY29uZmlndXJlOjE0NjQzOiAkPyA9IDAKY29uZmlndXJlOjE0NjU1OiBy ZXN1bHQ6IHllcwpjb25maWd1cmU6MTQ1Njc6IGNoZWNraW5nIGZvciBiY29weQpj b25maWd1cmU6MTQ2MjQ6IGdjYyAtbyBjb25mdGVzdC5leGUgLWcgLU8yICAgICBj b25mdGVzdC5jIC1sbSAgID4mNSAgCmNvbmZpZ3VyZToxNDYzMDogJD8gPSAwCmNv bmZpZ3VyZToxNDYzNDogdGVzdCAteiAKCQkJIHx8IHRlc3QgISAtcyBjb25mdGVz dC5lcnIKY29uZmlndXJlOjE0NjM3OiAkPyA9IDAKY29uZmlndXJlOjE0NjQwOiB0 ZXN0IC1zIGNvbmZ0ZXN0LmV4ZQpjb25maWd1cmU6MTQ2NDM6ICQ/ID0gMApjb25m aWd1cmU6MTQ2NTU6IHJlc3VsdDogeWVzCmNvbmZpZ3VyZToxNDU2NzogY2hlY2tp bmcgZm9yIGJjbXAKY29uZmlndXJlOjE0NjI0OiBnY2MgLW8gY29uZnRlc3QuZXhl IC1nIC1PMiAgICAgY29uZnRlc3QuYyAtbG0gICA+JjUgIApjb25mdGVzdC5jOjEw NTogd2FybmluZzogY29uZmxpY3RpbmcgdHlwZXMgZm9yIGJ1aWx0LWluIGZ1bmN0 aW9uIGBiY21wJwpjb25maWd1cmU6MTQ2MzA6ICQ/ID0gMApjb25maWd1cmU6MTQ2 MzQ6IHRlc3QgLXogCgkJCSB8fCB0ZXN0ICEgLXMgY29uZnRlc3QuZXJyCmNvbmZp Z3VyZToxNDYzNzogJD8gPSAwCmNvbmZpZ3VyZToxNDY0MDogdGVzdCAtcyBjb25m dGVzdC5leGUKY29uZmlndXJlOjE0NjQzOiAkPyA9IDAKY29uZmlndXJlOjE0NjU1 OiByZXN1bHQ6IHllcwpjb25maWd1cmU6MTQ1Njc6IGNoZWNraW5nIGZvciBsb2di CmNvbmZpZ3VyZToxNDYyNDogZ2NjIC1vIGNvbmZ0ZXN0LmV4ZSAtZyAtTzIgICAg IGNvbmZ0ZXN0LmMgLWxtICAgPiY1ICAKY29uZmlndXJlOjE0NjMwOiAkPyA9IDAK Y29uZmlndXJlOjE0NjM0OiB0ZXN0IC16IAoJCQkgfHwgdGVzdCAhIC1zIGNvbmZ0 ZXN0LmVycgpjb25maWd1cmU6MTQ2Mzc6ICQ/ID0gMApjb25maWd1cmU6MTQ2NDA6 IHRlc3QgLXMgY29uZnRlc3QuZXhlCmNvbmZpZ3VyZToxNDY0MzogJD8gPSAwCmNv bmZpZ3VyZToxNDY1NTogcmVzdWx0OiB5ZXMKY29uZmlndXJlOjE0NTY3OiBjaGVj a2luZyBmb3IgZnJleHAKY29uZmlndXJlOjE0NjI0OiBnY2MgLW8gY29uZnRlc3Qu ZXhlIC1nIC1PMiAgICAgY29uZnRlc3QuYyAtbG0gICA+JjUgIApjb25maWd1cmU6 MTQ2MzA6ICQ/ID0gMApjb25maWd1cmU6MTQ2MzQ6IHRlc3QgLXogCgkJCSB8fCB0 ZXN0ICEgLXMgY29uZnRlc3QuZXJyCmNvbmZpZ3VyZToxNDYzNzogJD8gPSAwCmNv bmZpZ3VyZToxNDY0MDogdGVzdCAtcyBjb25mdGVzdC5leGUKY29uZmlndXJlOjE0 NjQzOiAkPyA9IDAKY29uZmlndXJlOjE0NjU1OiByZXN1bHQ6IHllcwpjb25maWd1 cmU6MTQ1Njc6IGNoZWNraW5nIGZvciBmbW9kCmNvbmZpZ3VyZToxNDYyNDogZ2Nj IC1vIGNvbmZ0ZXN0LmV4ZSAtZyAtTzIgICAgIGNvbmZ0ZXN0LmMgLWxtICAgPiY1 ICAKY29uZmlndXJlOjE0NjMwOiAkPyA9IDAKY29uZmlndXJlOjE0NjM0OiB0ZXN0 IC16IAoJCQkgfHwgdGVzdCAhIC1zIGNvbmZ0ZXN0LmVycgpjb25maWd1cmU6MTQ2 Mzc6ICQ/ID0gMApjb25maWd1cmU6MTQ2NDA6IHRlc3QgLXMgY29uZnRlc3QuZXhl CmNvbmZpZ3VyZToxNDY0MzogJD8gPSAwCmNvbmZpZ3VyZToxNDY1NTogcmVzdWx0 OiB5ZXMKY29uZmlndXJlOjE0NTY3OiBjaGVja2luZyBmb3IgcmludApjb25maWd1 cmU6MTQ2MjQ6IGdjYyAtbyBjb25mdGVzdC5leGUgLWcgLU8yICAgICBjb25mdGVz dC5jIC1sbSAgID4mNSAgCmNvbmZpZ3VyZToxNDYzMDogJD8gPSAwCmNvbmZpZ3Vy ZToxNDYzNDogdGVzdCAteiAKCQkJIHx8IHRlc3QgISAtcyBjb25mdGVzdC5lcnIK Y29uZmlndXJlOjE0NjM3OiAkPyA9IDAKY29uZmlndXJlOjE0NjQwOiB0ZXN0IC1z IGNvbmZ0ZXN0LmV4ZQpjb25maWd1cmU6MTQ2NDM6ICQ/ID0gMApjb25maWd1cmU6 MTQ2NTU6IHJlc3VsdDogeWVzCmNvbmZpZ3VyZToxNDU2NzogY2hlY2tpbmcgZm9y IGNicnQKY29uZmlndXJlOjE0NjI0OiBnY2MgLW8gY29uZnRlc3QuZXhlIC1nIC1P MiAgICAgY29uZnRlc3QuYyAtbG0gICA+JjUgIApjb25maWd1cmU6MTQ2MzA6ICQ/ ID0gMApjb25maWd1cmU6MTQ2MzQ6IHRlc3QgLXogCgkJCSB8fCB0ZXN0ICEgLXMg Y29uZnRlc3QuZXJyCmNvbmZpZ3VyZToxNDYzNzogJD8gPSAwCmNvbmZpZ3VyZTox NDY0MDogdGVzdCAtcyBjb25mdGVzdC5leGUKY29uZmlndXJlOjE0NjQzOiAkPyA9 IDAKY29uZmlndXJlOjE0NjU1OiByZXN1bHQ6IHllcwpjb25maWd1cmU6MTQ1Njc6 IGNoZWNraW5nIGZvciBmdGltZQpjb25maWd1cmU6MTQ2MjQ6IGdjYyAtbyBjb25m dGVzdC5leGUgLWcgLU8yICAgICBjb25mdGVzdC5jIC1sbSAgID4mNSAgCmNvbmZp Z3VyZToxNDYzMDogJD8gPSAwCmNvbmZpZ3VyZToxNDYzNDogdGVzdCAteiAKCQkJ IHx8IHRlc3QgISAtcyBjb25mdGVzdC5lcnIKY29uZmlndXJlOjE0NjM3OiAkPyA9 IDAKY29uZmlndXJlOjE0NjQwOiB0ZXN0IC1zIGNvbmZ0ZXN0LmV4ZQpjb25maWd1 cmU6MTQ2NDM6ICQ/ID0gMApjb25maWd1cmU6MTQ2NTU6IHJlc3VsdDogeWVzCmNv bmZpZ3VyZToxNDU2NzogY2hlY2tpbmcgZm9yIHJlc19pbml0CmNvbmZpZ3VyZTox NDYyNDogZ2NjIC1vIGNvbmZ0ZXN0LmV4ZSAtZyAtTzIgICAgIGNvbmZ0ZXN0LmMg LWxtICAgPiY1ICAKL2N5Z2RyaXZlL2MvRE9DVU1FfjEvd2lsbGlhbS9MT0NBTFN+ MS9UZW1wL2NjczZiZE5nLm86IEluIGZ1bmN0aW9uIGBtYWluJzoKL2N5Z2RyaXZl L2QvZW1hY3MyMi9jb25mdGVzdC5jOjEyODogdW5kZWZpbmVkIHJlZmVyZW5jZSB0 byBgX3Jlc19pbml0JwovY3lnZHJpdmUvZC9lbWFjczIyL2NvbmZ0ZXN0LmM6MTI3 OiB1bmRlZmluZWQgcmVmZXJlbmNlIHRvIGBfcmVzX2luaXQnCmNvbGxlY3QyOiBs ZCByZXR1cm5lZCAxIGV4aXQgc3RhdHVzCmNvbmZpZ3VyZToxNDYzMDogJD8gPSAx CmNvbmZpZ3VyZTogZmFpbGVkIHByb2dyYW0gd2FzOgp8IC8qIGNvbmZkZWZzLmgu ICAqLwp8IAp8ICNkZWZpbmUgUEFDS0FHRV9OQU1FICIiCnwgI2RlZmluZSBQQUNL QUdFX1RBUk5BTUUgIiIKfCAjZGVmaW5lIFBBQ0tBR0VfVkVSU0lPTiAiIgp8ICNk ZWZpbmUgUEFDS0FHRV9TVFJJTkcgIiIKfCAjZGVmaW5lIFBBQ0tBR0VfQlVHUkVQ T1JUICIiCnwgI2RlZmluZSBNQUlMX1VTRV9QT1AgMQp8ICNkZWZpbmUgX0dOVV9T T1VSQ0UgMQp8ICNkZWZpbmUgU1REQ19IRUFERVJTIDEKfCAjZGVmaW5lIEhBVkVf U1lTX1RZUEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfU1RBVF9IIDEKfCAjZGVm aW5lIEhBVkVfU1RETElCX0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJJTkdfSCAxCnwg I2RlZmluZSBIQVZFX01FTU9SWV9IIDEKfCAjZGVmaW5lIEhBVkVfU1RSSU5HU19I IDEKfCAjZGVmaW5lIEhBVkVfSU5UVFlQRVNfSCAxCnwgI2RlZmluZSBIQVZFX1NU RElOVF9IIDEKfCAjZGVmaW5lIEhBVkVfVU5JU1REX0ggMQp8ICNkZWZpbmUgSEFW RV9TWVNfU09VTkRDQVJEX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfU0VMRUNUX0gg MQp8ICNkZWZpbmUgSEFWRV9TWVNfVElNRUJfSCAxCnwgI2RlZmluZSBIQVZFX1NZ U19USU1FX0ggMQp8ICNkZWZpbmUgSEFWRV9VTklTVERfSCAxCnwgI2RlZmluZSBI QVZFX1VUSU1FX0ggMQp8ICNkZWZpbmUgSEFWRV9URVJNSU9TX0ggMQp8ICNkZWZp bmUgSEFWRV9MSU1JVFNfSCAxCnwgI2RlZmluZSBIQVZFX1NUUklOR19IIDEKfCAj ZGVmaW5lIEhBVkVfU1RETElCX0ggMQp8ICNkZWZpbmUgSEFWRV9URVJNQ0FQX0gg MQp8ICNkZWZpbmUgSEFWRV9GQ05UTF9IIDEKfCAjZGVmaW5lIEhBVkVfU1RSSU5H U19IIDEKfCAjZGVmaW5lIEhBVkVfUFRZX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNf TU1BTl9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1BBUkFNX0ggMQp8ICNkZWZpbmUg SEFWRV9TWVNfUkVTT1VSQ0VfSCAxCnwgI2RlZmluZSBIQVZFX0xPQ0FMRV9IIDEK fCAjZGVmaW5lIEhBVkVfU1lTX1VUU05BTUVfSCAxCnwgI2RlZmluZSBIQVZFX1BX RF9IIDEKfCAjZGVmaW5lIFNURENfSEVBREVSUyAxCnwgI2RlZmluZSBUSU1FX1dJ VEhfU1lTX1RJTUUgMQp8ICNkZWZpbmUgSEFWRV9ERUNMX1NZU19TSUdMSVNUIDAK fCAjZGVmaW5lIEhBVkVfREVDTF9fX1NZU19TSUdMSVNUIDAKfCAjZGVmaW5lIEhB VkVfU1lTX1dBSVRfSCAxCnwgI2RlZmluZSBIQVZFX1NUUlVDVF9VVElNQlVGIDEK fCAjZGVmaW5lIFJFVFNJR1RZUEUgdm9pZAp8ICNkZWZpbmUgSEFWRV9TUEVFRF9U IDEKfCAjZGVmaW5lIEhBVkVfVElNRVZBTCAxCnwgI2RlZmluZSBIQVZFX1NZU19T T0NLRVRfSCAxCnwgI2RlZmluZSBIQVZFX05FVF9JRl9IIDEKfCAjZGVmaW5lIEhB VkVfVFpOQU1FIDEKfCAjZGVmaW5lIEhBVkVfU1RSVUNUX0lGUkVRX0lGUl9GTEFH UyAxCnwgI2RlZmluZSBIQVZFX1NUUlVDVF9JRlJFUV9JRlJfSFdBRERSIDEKfCAj ZGVmaW5lIEhBVkVfU1RSVUNUX0lGUkVRX0lGUl9ORVRNQVNLIDEKfCAjZGVmaW5l IEhBVkVfU1RSVUNUX0lGUkVRX0lGUl9CUk9BREFERFIgMQp8ICNkZWZpbmUgSEFW RV9TVFJVQ1RfSUZSRVFfSUZSX0FERFIgMQp8ICNkZWZpbmUgUFJPVE9UWVBFUyAx CnwgI2RlZmluZSBfX1BST1RPVFlQRVMgMQp8ICNkZWZpbmUgUE9JTlRFUl9UWVBF IHZvaWQKfCAjZGVmaW5lIEhBVkVfTE9OR19GSUxFX05BTUVTIDEKfCAjZGVmaW5l IEhBVkVfU1RETElCX0ggMQp8ICNkZWZpbmUgSEFWRV9VTklTVERfSCAxCnwgI2Rl ZmluZSBIQVZFX0dFVFBBR0VTSVpFIDEKfCAjZGVmaW5lIFVTRV9YSU0gMQp8ICNk ZWZpbmUgSEFWRV9IX0VSUk5PIDEKfCAjZGVmaW5lIEhBVkVfQUxMT0NBX0ggMQp8 ICNkZWZpbmUgSEFWRV9BTExPQ0EgMQp8ICNkZWZpbmUgSEFWRV9MSUJNIDEKfCAj ZGVmaW5lIEhBVkVfR0VUSE9TVE5BTUUgMQp8ICNkZWZpbmUgSEFWRV9HRVRET01B SU5OQU1FIDEKfCAjZGVmaW5lIEhBVkVfRFVQMiAxCnwgI2RlZmluZSBIQVZFX1JF TkFNRSAxCnwgI2RlZmluZSBIQVZFX0NMT1NFRElSIDEKfCAjZGVmaW5lIEhBVkVf TUtESVIgMQp8ICNkZWZpbmUgSEFWRV9STURJUiAxCnwgI2RlZmluZSBIQVZFX0dF VFJVU0FHRSAxCnwgI2RlZmluZSBIQVZFX1JBTkRPTSAxCnwgI2RlZmluZSBIQVZF X0xSQU5ENDggMQp8ICNkZWZpbmUgSEFWRV9CQ09QWSAxCnwgI2RlZmluZSBIQVZF X0JDTVAgMQp8ICNkZWZpbmUgSEFWRV9MT0dCIDEKfCAjZGVmaW5lIEhBVkVfRlJF WFAgMQp8ICNkZWZpbmUgSEFWRV9GTU9EIDEKfCAjZGVmaW5lIEhBVkVfUklOVCAx CnwgI2RlZmluZSBIQVZFX0NCUlQgMQp8ICNkZWZpbmUgSEFWRV9GVElNRSAxCnwg LyogZW5kIGNvbmZkZWZzLmguICAqLwp8IC8qIERlZmluZSByZXNfaW5pdCB0byBh biBpbm5vY3VvdXMgdmFyaWFudCwgaW4gY2FzZSA8bGltaXRzLmg+IGRlY2xhcmVz IHJlc19pbml0Lgp8ICAgIEZvciBleGFtcGxlLCBIUC1VWCAxMWkgPGxpbWl0cy5o PiBkZWNsYXJlcyBnZXR0aW1lb2ZkYXkuICAqLwp8ICNkZWZpbmUgcmVzX2luaXQg aW5ub2N1b3VzX3Jlc19pbml0CnwgCnwgLyogU3lzdGVtIGhlYWRlciB0byBkZWZp bmUgX19zdHViIG1hY3JvcyBhbmQgaG9wZWZ1bGx5IGZldyBwcm90b3R5cGVzLAp8 ICAgICB3aGljaCBjYW4gY29uZmxpY3Qgd2l0aCBjaGFyIHJlc19pbml0ICgpOyBi ZWxvdy4KfCAgICAgUHJlZmVyIDxsaW1pdHMuaD4gdG8gPGFzc2VydC5oPiBpZiBf X1NURENfXyBpcyBkZWZpbmVkLCBzaW5jZQp8ICAgICA8bGltaXRzLmg+IGV4aXN0 cyBldmVuIG9uIGZyZWVzdGFuZGluZyBjb21waWxlcnMuICAqLwp8IAp8ICNpZmRl ZiBfX1NURENfXwp8ICMgaW5jbHVkZSA8bGltaXRzLmg+CnwgI2Vsc2UKfCAjIGlu Y2x1ZGUgPGFzc2VydC5oPgp8ICNlbmRpZgp8IAp8ICN1bmRlZiByZXNfaW5pdAp8 IAp8IC8qIE92ZXJyaWRlIGFueSBnY2MyIGludGVybmFsIHByb3RvdHlwZSB0byBh dm9pZCBhbiBlcnJvci4gICovCnwgI2lmZGVmIF9fY3BsdXNwbHVzCnwgZXh0ZXJu ICJDIgp8IHsKfCAjZW5kaWYKfCAvKiBXZSB1c2UgY2hhciBiZWNhdXNlIGludCBt aWdodCBtYXRjaCB0aGUgcmV0dXJuIHR5cGUgb2YgYSBnY2MyCnwgICAgYnVpbHRp biBhbmQgdGhlbiBpdHMgYXJndW1lbnQgcHJvdG90eXBlIHdvdWxkIHN0aWxsIGFw cGx5LiAgKi8KfCBjaGFyIHJlc19pbml0ICgpOwp8IC8qIFRoZSBHTlUgQyBsaWJy YXJ5IGRlZmluZXMgdGhpcyBmb3IgZnVuY3Rpb25zIHdoaWNoIGl0IGltcGxlbWVu dHMKfCAgICAgdG8gYWx3YXlzIGZhaWwgd2l0aCBFTk9TWVMuICBTb21lIGZ1bmN0 aW9ucyBhcmUgYWN0dWFsbHkgbmFtZWQKfCAgICAgc29tZXRoaW5nIHN0YXJ0aW5n IHdpdGggX18gYW5kIHRoZSBub3JtYWwgbmFtZSBpcyBhbiBhbGlhcy4gICovCnwg I2lmIGRlZmluZWQgKF9fc3R1Yl9yZXNfaW5pdCkgfHwgZGVmaW5lZCAoX19zdHVi X19fcmVzX2luaXQpCnwgY2hva2UgbWUKfCAjZWxzZQp8IGNoYXIgKCpmKSAoKSA9 IHJlc19pbml0Owp8ICNlbmRpZgp8ICNpZmRlZiBfX2NwbHVzcGx1cwp8IH0KfCAj ZW5kaWYKfCAKfCBpbnQKfCBtYWluICgpCnwgewp8IHJldHVybiBmICE9IHJlc19p bml0Owp8ICAgOwp8ICAgcmV0dXJuIDA7CnwgfQpjb25maWd1cmU6MTQ2NTU6IHJl c3VsdDogbm8KY29uZmlndXJlOjE0NTY3OiBjaGVja2luZyBmb3Igc2V0c2lkCmNv bmZpZ3VyZToxNDYyNDogZ2NjIC1vIGNvbmZ0ZXN0LmV4ZSAtZyAtTzIgICAgIGNv bmZ0ZXN0LmMgLWxtICAgPiY1ICAKY29uZmlndXJlOjE0NjMwOiAkPyA9IDAKY29u ZmlndXJlOjE0NjM0OiB0ZXN0IC16IAoJCQkgfHwgdGVzdCAhIC1zIGNvbmZ0ZXN0 LmVycgpjb25maWd1cmU6MTQ2Mzc6ICQ/ID0gMApjb25maWd1cmU6MTQ2NDA6IHRl c3QgLXMgY29uZnRlc3QuZXhlCmNvbmZpZ3VyZToxNDY0MzogJD8gPSAwCmNvbmZp Z3VyZToxNDY1NTogcmVzdWx0OiB5ZXMKY29uZmlndXJlOjE0NTY3OiBjaGVja2lu ZyBmb3Igc3RyZXJyb3IKY29uZmlndXJlOjE0NjI0OiBnY2MgLW8gY29uZnRlc3Qu ZXhlIC1nIC1PMiAgICAgY29uZnRlc3QuYyAtbG0gICA+JjUgIApjb25maWd1cmU6 MTQ2MzA6ICQ/ID0gMApjb25maWd1cmU6MTQ2MzQ6IHRlc3QgLXogCgkJCSB8fCB0 ZXN0ICEgLXMgY29uZnRlc3QuZXJyCmNvbmZpZ3VyZToxNDYzNzogJD8gPSAwCmNv bmZpZ3VyZToxNDY0MDogdGVzdCAtcyBjb25mdGVzdC5leGUKY29uZmlndXJlOjE0 NjQzOiAkPyA9IDAKY29uZmlndXJlOjE0NjU1OiByZXN1bHQ6IHllcwpjb25maWd1 cmU6MTQ1Njc6IGNoZWNraW5nIGZvciBmcGF0aGNvbmYKY29uZmlndXJlOjE0NjI0 OiBnY2MgLW8gY29uZnRlc3QuZXhlIC1nIC1PMiAgICAgY29uZnRlc3QuYyAtbG0g ICA+JjUgIApjb25maWd1cmU6MTQ2MzA6ICQ/ID0gMApjb25maWd1cmU6MTQ2MzQ6 IHRlc3QgLXogCgkJCSB8fCB0ZXN0ICEgLXMgY29uZnRlc3QuZXJyCmNvbmZpZ3Vy ZToxNDYzNzogJD8gPSAwCmNvbmZpZ3VyZToxNDY0MDogdGVzdCAtcyBjb25mdGVz dC5leGUKY29uZmlndXJlOjE0NjQzOiAkPyA9IDAKY29uZmlndXJlOjE0NjU1OiBy ZXN1bHQ6IHllcwpjb25maWd1cmU6MTQ1Njc6IGNoZWNraW5nIGZvciBzZWxlY3QK Y29uZmlndXJlOjE0NjI0OiBnY2MgLW8gY29uZnRlc3QuZXhlIC1nIC1PMiAgICAg Y29uZnRlc3QuYyAtbG0gICA+JjUgIApjb25maWd1cmU6MTQ2MzA6ICQ/ID0gMApj b25maWd1cmU6MTQ2MzQ6IHRlc3QgLXogCgkJCSB8fCB0ZXN0ICEgLXMgY29uZnRl c3QuZXJyCmNvbmZpZ3VyZToxNDYzNzogJD8gPSAwCmNvbmZpZ3VyZToxNDY0MDog dGVzdCAtcyBjb25mdGVzdC5leGUKY29uZmlndXJlOjE0NjQzOiAkPyA9IDAKY29u ZmlndXJlOjE0NjU1OiByZXN1bHQ6IHllcwpjb25maWd1cmU6MTQ1Njc6IGNoZWNr aW5nIGZvciBta3RpbWUKY29uZmlndXJlOjE0NjI0OiBnY2MgLW8gY29uZnRlc3Qu ZXhlIC1nIC1PMiAgICAgY29uZnRlc3QuYyAtbG0gICA+JjUgIApjb25maWd1cmU6 MTQ2MzA6ICQ/ID0gMApjb25maWd1cmU6MTQ2MzQ6IHRlc3QgLXogCgkJCSB8fCB0 ZXN0ICEgLXMgY29uZnRlc3QuZXJyCmNvbmZpZ3VyZToxNDYzNzogJD8gPSAwCmNv bmZpZ3VyZToxNDY0MDogdGVzdCAtcyBjb25mdGVzdC5leGUKY29uZmlndXJlOjE0 NjQzOiAkPyA9IDAKY29uZmlndXJlOjE0NjU1OiByZXN1bHQ6IHllcwpjb25maWd1 cmU6MTQ1Njc6IGNoZWNraW5nIGZvciBldWlkYWNjZXNzCmNvbmZpZ3VyZToxNDYy NDogZ2NjIC1vIGNvbmZ0ZXN0LmV4ZSAtZyAtTzIgICAgIGNvbmZ0ZXN0LmMgLWxt ICAgPiY1ICAKL2N5Z2RyaXZlL2MvRE9DVU1FfjEvd2lsbGlhbS9MT0NBTFN+MS9U ZW1wL2NjT2xzUnNXLm86IEluIGZ1bmN0aW9uIGBtYWluJzoKL2N5Z2RyaXZlL2Qv ZW1hY3MyMi9jb25mdGVzdC5jOjEzMzogdW5kZWZpbmVkIHJlZmVyZW5jZSB0byBg X2V1aWRhY2Nlc3MnCi9jeWdkcml2ZS9kL2VtYWNzMjIvY29uZnRlc3QuYzoxMzI6 IHVuZGVmaW5lZCByZWZlcmVuY2UgdG8gYF9ldWlkYWNjZXNzJwpjb2xsZWN0Mjog bGQgcmV0dXJuZWQgMSBleGl0IHN0YXR1cwpjb25maWd1cmU6MTQ2MzA6ICQ/ID0g MQpjb25maWd1cmU6IGZhaWxlZCBwcm9ncmFtIHdhczoKfCAvKiBjb25mZGVmcy5o LiAgKi8KfCAKfCAjZGVmaW5lIFBBQ0tBR0VfTkFNRSAiIgp8ICNkZWZpbmUgUEFD S0FHRV9UQVJOQU1FICIiCnwgI2RlZmluZSBQQUNLQUdFX1ZFUlNJT04gIiIKfCAj ZGVmaW5lIFBBQ0tBR0VfU1RSSU5HICIiCnwgI2RlZmluZSBQQUNLQUdFX0JVR1JF UE9SVCAiIgp8ICNkZWZpbmUgTUFJTF9VU0VfUE9QIDEKfCAjZGVmaW5lIF9HTlVf U09VUkNFIDEKfCAjZGVmaW5lIFNURENfSEVBREVSUyAxCnwgI2RlZmluZSBIQVZF X1NZU19UWVBFU19IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NUQVRfSCAxCnwgI2Rl ZmluZSBIQVZFX1NURExJQl9IIDEKfCAjZGVmaW5lIEhBVkVfU1RSSU5HX0ggMQp8 ICNkZWZpbmUgSEFWRV9NRU1PUllfSCAxCnwgI2RlZmluZSBIQVZFX1NUUklOR1Nf SCAxCnwgI2RlZmluZSBIQVZFX0lOVFRZUEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9T VERJTlRfSCAxCnwgI2RlZmluZSBIQVZFX1VOSVNURF9IIDEKfCAjZGVmaW5lIEhB VkVfU1lTX1NPVU5EQ0FSRF9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NFTEVDVF9I IDEKfCAjZGVmaW5lIEhBVkVfU1lTX1RJTUVCX0ggMQp8ICNkZWZpbmUgSEFWRV9T WVNfVElNRV9IIDEKfCAjZGVmaW5lIEhBVkVfVU5JU1REX0ggMQp8ICNkZWZpbmUg SEFWRV9VVElNRV9IIDEKfCAjZGVmaW5lIEhBVkVfVEVSTUlPU19IIDEKfCAjZGVm aW5lIEhBVkVfTElNSVRTX0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJJTkdfSCAxCnwg I2RlZmluZSBIQVZFX1NURExJQl9IIDEKfCAjZGVmaW5lIEhBVkVfVEVSTUNBUF9I IDEKfCAjZGVmaW5lIEhBVkVfRkNOVExfSCAxCnwgI2RlZmluZSBIQVZFX1NUUklO R1NfSCAxCnwgI2RlZmluZSBIQVZFX1BUWV9IIDEKfCAjZGVmaW5lIEhBVkVfU1lT X01NQU5fSCAxCnwgI2RlZmluZSBIQVZFX1NZU19QQVJBTV9IIDEKfCAjZGVmaW5l IEhBVkVfU1lTX1JFU09VUkNFX0ggMQp8ICNkZWZpbmUgSEFWRV9MT0NBTEVfSCAx CnwgI2RlZmluZSBIQVZFX1NZU19VVFNOQU1FX0ggMQp8ICNkZWZpbmUgSEFWRV9Q V0RfSCAxCnwgI2RlZmluZSBTVERDX0hFQURFUlMgMQp8ICNkZWZpbmUgVElNRV9X SVRIX1NZU19USU1FIDEKfCAjZGVmaW5lIEhBVkVfREVDTF9TWVNfU0lHTElTVCAw CnwgI2RlZmluZSBIQVZFX0RFQ0xfX19TWVNfU0lHTElTVCAwCnwgI2RlZmluZSBI QVZFX1NZU19XQUlUX0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJVQ1RfVVRJTUJVRiAx CnwgI2RlZmluZSBSRVRTSUdUWVBFIHZvaWQKfCAjZGVmaW5lIEhBVkVfU1BFRURf VCAxCnwgI2RlZmluZSBIQVZFX1RJTUVWQUwgMQp8ICNkZWZpbmUgSEFWRV9TWVNf U09DS0VUX0ggMQp8ICNkZWZpbmUgSEFWRV9ORVRfSUZfSCAxCnwgI2RlZmluZSBI QVZFX1RaTkFNRSAxCnwgI2RlZmluZSBIQVZFX1NUUlVDVF9JRlJFUV9JRlJfRkxB R1MgMQp8ICNkZWZpbmUgSEFWRV9TVFJVQ1RfSUZSRVFfSUZSX0hXQUREUiAxCnwg I2RlZmluZSBIQVZFX1NUUlVDVF9JRlJFUV9JRlJfTkVUTUFTSyAxCnwgI2RlZmlu ZSBIQVZFX1NUUlVDVF9JRlJFUV9JRlJfQlJPQURBRERSIDEKfCAjZGVmaW5lIEhB VkVfU1RSVUNUX0lGUkVRX0lGUl9BRERSIDEKfCAjZGVmaW5lIFBST1RPVFlQRVMg MQp8ICNkZWZpbmUgX19QUk9UT1RZUEVTIDEKfCAjZGVmaW5lIFBPSU5URVJfVFlQ RSB2b2lkCnwgI2RlZmluZSBIQVZFX0xPTkdfRklMRV9OQU1FUyAxCnwgI2RlZmlu ZSBIQVZFX1NURExJQl9IIDEKfCAjZGVmaW5lIEhBVkVfVU5JU1REX0ggMQp8ICNk ZWZpbmUgSEFWRV9HRVRQQUdFU0laRSAxCnwgI2RlZmluZSBVU0VfWElNIDEKfCAj ZGVmaW5lIEhBVkVfSF9FUlJOTyAxCnwgI2RlZmluZSBIQVZFX0FMTE9DQV9IIDEK fCAjZGVmaW5lIEhBVkVfQUxMT0NBIDEKfCAjZGVmaW5lIEhBVkVfTElCTSAxCnwg I2RlZmluZSBIQVZFX0dFVEhPU1ROQU1FIDEKfCAjZGVmaW5lIEhBVkVfR0VURE9N QUlOTkFNRSAxCnwgI2RlZmluZSBIQVZFX0RVUDIgMQp8ICNkZWZpbmUgSEFWRV9S RU5BTUUgMQp8ICNkZWZpbmUgSEFWRV9DTE9TRURJUiAxCnwgI2RlZmluZSBIQVZF X01LRElSIDEKfCAjZGVmaW5lIEhBVkVfUk1ESVIgMQp8ICNkZWZpbmUgSEFWRV9H RVRSVVNBR0UgMQp8ICNkZWZpbmUgSEFWRV9SQU5ET00gMQp8ICNkZWZpbmUgSEFW RV9MUkFORDQ4IDEKfCAjZGVmaW5lIEhBVkVfQkNPUFkgMQp8ICNkZWZpbmUgSEFW RV9CQ01QIDEKfCAjZGVmaW5lIEhBVkVfTE9HQiAxCnwgI2RlZmluZSBIQVZFX0ZS RVhQIDEKfCAjZGVmaW5lIEhBVkVfRk1PRCAxCnwgI2RlZmluZSBIQVZFX1JJTlQg MQp8ICNkZWZpbmUgSEFWRV9DQlJUIDEKfCAjZGVmaW5lIEhBVkVfRlRJTUUgMQp8 ICNkZWZpbmUgSEFWRV9TRVRTSUQgMQp8ICNkZWZpbmUgSEFWRV9TVFJFUlJPUiAx CnwgI2RlZmluZSBIQVZFX0ZQQVRIQ09ORiAxCnwgI2RlZmluZSBIQVZFX1NFTEVD VCAxCnwgI2RlZmluZSBIQVZFX01LVElNRSAxCnwgLyogZW5kIGNvbmZkZWZzLmgu ICAqLwp8IC8qIERlZmluZSBldWlkYWNjZXNzIHRvIGFuIGlubm9jdW91cyB2YXJp YW50LCBpbiBjYXNlIDxsaW1pdHMuaD4gZGVjbGFyZXMgZXVpZGFjY2Vzcy4KfCAg ICBGb3IgZXhhbXBsZSwgSFAtVVggMTFpIDxsaW1pdHMuaD4gZGVjbGFyZXMgZ2V0 dGltZW9mZGF5LiAgKi8KfCAjZGVmaW5lIGV1aWRhY2Nlc3MgaW5ub2N1b3VzX2V1 aWRhY2Nlc3MKfCAKfCAvKiBTeXN0ZW0gaGVhZGVyIHRvIGRlZmluZSBfX3N0dWIg bWFjcm9zIGFuZCBob3BlZnVsbHkgZmV3IHByb3RvdHlwZXMsCnwgICAgIHdoaWNo IGNhbiBjb25mbGljdCB3aXRoIGNoYXIgZXVpZGFjY2VzcyAoKTsgYmVsb3cuCnwg ICAgIFByZWZlciA8bGltaXRzLmg+IHRvIDxhc3NlcnQuaD4gaWYgX19TVERDX18g aXMgZGVmaW5lZCwgc2luY2UKfCAgICAgPGxpbWl0cy5oPiBleGlzdHMgZXZlbiBv biBmcmVlc3RhbmRpbmcgY29tcGlsZXJzLiAgKi8KfCAKfCAjaWZkZWYgX19TVERD X18KfCAjIGluY2x1ZGUgPGxpbWl0cy5oPgp8ICNlbHNlCnwgIyBpbmNsdWRlIDxh c3NlcnQuaD4KfCAjZW5kaWYKfCAKfCAjdW5kZWYgZXVpZGFjY2Vzcwp8IAp8IC8q IE92ZXJyaWRlIGFueSBnY2MyIGludGVybmFsIHByb3RvdHlwZSB0byBhdm9pZCBh biBlcnJvci4gICovCnwgI2lmZGVmIF9fY3BsdXNwbHVzCnwgZXh0ZXJuICJDIgp8 IHsKfCAjZW5kaWYKfCAvKiBXZSB1c2UgY2hhciBiZWNhdXNlIGludCBtaWdodCBt YXRjaCB0aGUgcmV0dXJuIHR5cGUgb2YgYSBnY2MyCnwgICAgYnVpbHRpbiBhbmQg dGhlbiBpdHMgYXJndW1lbnQgcHJvdG90eXBlIHdvdWxkIHN0aWxsIGFwcGx5LiAg Ki8KfCBjaGFyIGV1aWRhY2Nlc3MgKCk7CnwgLyogVGhlIEdOVSBDIGxpYnJhcnkg ZGVmaW5lcyB0aGlzIGZvciBmdW5jdGlvbnMgd2hpY2ggaXQgaW1wbGVtZW50cwp8 ICAgICB0byBhbHdheXMgZmFpbCB3aXRoIEVOT1NZUy4gIFNvbWUgZnVuY3Rpb25z IGFyZSBhY3R1YWxseSBuYW1lZAp8ICAgICBzb21ldGhpbmcgc3RhcnRpbmcgd2l0 aCBfXyBhbmQgdGhlIG5vcm1hbCBuYW1lIGlzIGFuIGFsaWFzLiAgKi8KfCAjaWYg ZGVmaW5lZCAoX19zdHViX2V1aWRhY2Nlc3MpIHx8IGRlZmluZWQgKF9fc3R1Yl9f X2V1aWRhY2Nlc3MpCnwgY2hva2UgbWUKfCAjZWxzZQp8IGNoYXIgKCpmKSAoKSA9 IGV1aWRhY2Nlc3M7CnwgI2VuZGlmCnwgI2lmZGVmIF9fY3BsdXNwbHVzCnwgfQp8 ICNlbmRpZgp8IAp8IGludAp8IG1haW4gKCkKfCB7CnwgcmV0dXJuIGYgIT0gZXVp ZGFjY2VzczsKfCAgIDsKfCAgIHJldHVybiAwOwp8IH0KY29uZmlndXJlOjE0NjU1 OiByZXN1bHQ6IG5vCmNvbmZpZ3VyZToxNDU2NzogY2hlY2tpbmcgZm9yIGdldHBh Z2VzaXplCmNvbmZpZ3VyZToxNDY1NTogcmVzdWx0OiB5ZXMKY29uZmlndXJlOjE0 NTY3OiBjaGVja2luZyBmb3IgdHpzZXQKY29uZmlndXJlOjE0NjI0OiBnY2MgLW8g Y29uZnRlc3QuZXhlIC1nIC1PMiAgICAgY29uZnRlc3QuYyAtbG0gICA+JjUgIApj b25maWd1cmU6MTQ2MzA6ICQ/ID0gMApjb25maWd1cmU6MTQ2MzQ6IHRlc3QgLXog CgkJCSB8fCB0ZXN0ICEgLXMgY29uZnRlc3QuZXJyCmNvbmZpZ3VyZToxNDYzNzog JD8gPSAwCmNvbmZpZ3VyZToxNDY0MDogdGVzdCAtcyBjb25mdGVzdC5leGUKY29u ZmlndXJlOjE0NjQzOiAkPyA9IDAKY29uZmlndXJlOjE0NjU1OiByZXN1bHQ6IHll cwpjb25maWd1cmU6MTQ1Njc6IGNoZWNraW5nIGZvciBzZXRsb2NhbGUKY29uZmln dXJlOjE0NjI0OiBnY2MgLW8gY29uZnRlc3QuZXhlIC1nIC1PMiAgICAgY29uZnRl c3QuYyAtbG0gICA+JjUgIApjb25maWd1cmU6MTQ2MzA6ICQ/ID0gMApjb25maWd1 cmU6MTQ2MzQ6IHRlc3QgLXogCgkJCSB8fCB0ZXN0ICEgLXMgY29uZnRlc3QuZXJy CmNvbmZpZ3VyZToxNDYzNzogJD8gPSAwCmNvbmZpZ3VyZToxNDY0MDogdGVzdCAt cyBjb25mdGVzdC5leGUKY29uZmlndXJlOjE0NjQzOiAkPyA9IDAKY29uZmlndXJl OjE0NjU1OiByZXN1bHQ6IHllcwpjb25maWd1cmU6MTQ1Njc6IGNoZWNraW5nIGZv ciB1dGltZXMKY29uZmlndXJlOjE0NjI0OiBnY2MgLW8gY29uZnRlc3QuZXhlIC1n IC1PMiAgICAgY29uZnRlc3QuYyAtbG0gICA+JjUgIApjb25maWd1cmU6MTQ2MzA6 ICQ/ID0gMApjb25maWd1cmU6MTQ2MzQ6IHRlc3QgLXogCgkJCSB8fCB0ZXN0ICEg LXMgY29uZnRlc3QuZXJyCmNvbmZpZ3VyZToxNDYzNzogJD8gPSAwCmNvbmZpZ3Vy ZToxNDY0MDogdGVzdCAtcyBjb25mdGVzdC5leGUKY29uZmlndXJlOjE0NjQzOiAk PyA9IDAKY29uZmlndXJlOjE0NjU1OiByZXN1bHQ6IHllcwpjb25maWd1cmU6MTQ1 Njc6IGNoZWNraW5nIGZvciBzZXRybGltaXQKY29uZmlndXJlOjE0NjI0OiBnY2Mg LW8gY29uZnRlc3QuZXhlIC1nIC1PMiAgICAgY29uZnRlc3QuYyAtbG0gICA+JjUg IApjb25maWd1cmU6MTQ2MzA6ICQ/ID0gMApjb25maWd1cmU6MTQ2MzQ6IHRlc3Qg LXogCgkJCSB8fCB0ZXN0ICEgLXMgY29uZnRlc3QuZXJyCmNvbmZpZ3VyZToxNDYz NzogJD8gPSAwCmNvbmZpZ3VyZToxNDY0MDogdGVzdCAtcyBjb25mdGVzdC5leGUK Y29uZmlndXJlOjE0NjQzOiAkPyA9IDAKY29uZmlndXJlOjE0NjU1OiByZXN1bHQ6 IHllcwpjb25maWd1cmU6MTQ1Njc6IGNoZWNraW5nIGZvciBzZXRwZ2lkCmNvbmZp Z3VyZToxNDYyNDogZ2NjIC1vIGNvbmZ0ZXN0LmV4ZSAtZyAtTzIgICAgIGNvbmZ0 ZXN0LmMgLWxtICAgPiY1ICAKY29uZmlndXJlOjE0NjMwOiAkPyA9IDAKY29uZmln dXJlOjE0NjM0OiB0ZXN0IC16IAoJCQkgfHwgdGVzdCAhIC1zIGNvbmZ0ZXN0LmVy cgpjb25maWd1cmU6MTQ2Mzc6ICQ/ID0gMApjb25maWd1cmU6MTQ2NDA6IHRlc3Qg LXMgY29uZnRlc3QuZXhlCmNvbmZpZ3VyZToxNDY0MzogJD8gPSAwCmNvbmZpZ3Vy ZToxNDY1NTogcmVzdWx0OiB5ZXMKY29uZmlndXJlOjE0NTY3OiBjaGVja2luZyBm b3IgZ2V0Y3dkCmNvbmZpZ3VyZToxNDYyNDogZ2NjIC1vIGNvbmZ0ZXN0LmV4ZSAt ZyAtTzIgICAgIGNvbmZ0ZXN0LmMgLWxtICAgPiY1ICAKY29uZmlndXJlOjE0NjMw OiAkPyA9IDAKY29uZmlndXJlOjE0NjM0OiB0ZXN0IC16IAoJCQkgfHwgdGVzdCAh IC1zIGNvbmZ0ZXN0LmVycgpjb25maWd1cmU6MTQ2Mzc6ICQ/ID0gMApjb25maWd1 cmU6MTQ2NDA6IHRlc3QgLXMgY29uZnRlc3QuZXhlCmNvbmZpZ3VyZToxNDY0Mzog JD8gPSAwCmNvbmZpZ3VyZToxNDY1NTogcmVzdWx0OiB5ZXMKY29uZmlndXJlOjE0 NTY3OiBjaGVja2luZyBmb3IgZ2V0d2QKY29uZmlndXJlOjE0NjI0OiBnY2MgLW8g Y29uZnRlc3QuZXhlIC1nIC1PMiAgICAgY29uZnRlc3QuYyAtbG0gICA+JjUgIApj b25maWd1cmU6MTQ2MzA6ICQ/ID0gMApjb25maWd1cmU6MTQ2MzQ6IHRlc3QgLXog CgkJCSB8fCB0ZXN0ICEgLXMgY29uZnRlc3QuZXJyCmNvbmZpZ3VyZToxNDYzNzog JD8gPSAwCmNvbmZpZ3VyZToxNDY0MDogdGVzdCAtcyBjb25mdGVzdC5leGUKY29u ZmlndXJlOjE0NjQzOiAkPyA9IDAKY29uZmlndXJlOjE0NjU1OiByZXN1bHQ6IHll cwpjb25maWd1cmU6MTQ1Njc6IGNoZWNraW5nIGZvciBzaHV0ZG93bgpjb25maWd1 cmU6MTQ2MjQ6IGdjYyAtbyBjb25mdGVzdC5leGUgLWcgLU8yICAgICBjb25mdGVz dC5jIC1sbSAgID4mNSAgCmNvbmZpZ3VyZToxNDYzMDogJD8gPSAwCmNvbmZpZ3Vy ZToxNDYzNDogdGVzdCAteiAKCQkJIHx8IHRlc3QgISAtcyBjb25mdGVzdC5lcnIK Y29uZmlndXJlOjE0NjM3OiAkPyA9IDAKY29uZmlndXJlOjE0NjQwOiB0ZXN0IC1z IGNvbmZ0ZXN0LmV4ZQpjb25maWd1cmU6MTQ2NDM6ICQ/ID0gMApjb25maWd1cmU6 MTQ2NTU6IHJlc3VsdDogeWVzCmNvbmZpZ3VyZToxNDU2NzogY2hlY2tpbmcgZm9y IGdldGFkZHJpbmZvCmNvbmZpZ3VyZToxNDYyNDogZ2NjIC1vIGNvbmZ0ZXN0LmV4 ZSAtZyAtTzIgICAgIGNvbmZ0ZXN0LmMgLWxtICAgPiY1ICAKL2N5Z2RyaXZlL2Mv RE9DVU1FfjEvd2lsbGlhbS9MT0NBTFN+MS9UZW1wL2NjY2ZHcXprLm86IEluIGZ1 bmN0aW9uIGBtYWluJzoKL2N5Z2RyaXZlL2QvZW1hY3MyMi9jb25mdGVzdC5jOjE0 MjogdW5kZWZpbmVkIHJlZmVyZW5jZSB0byBgX2dldGFkZHJpbmZvJwovY3lnZHJp dmUvZC9lbWFjczIyL2NvbmZ0ZXN0LmM6MTQxOiB1bmRlZmluZWQgcmVmZXJlbmNl IHRvIGBfZ2V0YWRkcmluZm8nCmNvbGxlY3QyOiBsZCByZXR1cm5lZCAxIGV4aXQg c3RhdHVzCmNvbmZpZ3VyZToxNDYzMDogJD8gPSAxCmNvbmZpZ3VyZTogZmFpbGVk IHByb2dyYW0gd2FzOgp8IC8qIGNvbmZkZWZzLmguICAqLwp8IAp8ICNkZWZpbmUg UEFDS0FHRV9OQU1FICIiCnwgI2RlZmluZSBQQUNLQUdFX1RBUk5BTUUgIiIKfCAj ZGVmaW5lIFBBQ0tBR0VfVkVSU0lPTiAiIgp8ICNkZWZpbmUgUEFDS0FHRV9TVFJJ TkcgIiIKfCAjZGVmaW5lIFBBQ0tBR0VfQlVHUkVQT1JUICIiCnwgI2RlZmluZSBN QUlMX1VTRV9QT1AgMQp8ICNkZWZpbmUgX0dOVV9TT1VSQ0UgMQp8ICNkZWZpbmUg U1REQ19IRUFERVJTIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1RZUEVTX0ggMQp8ICNk ZWZpbmUgSEFWRV9TWVNfU1RBVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1RETElCX0gg MQp8ICNkZWZpbmUgSEFWRV9TVFJJTkdfSCAxCnwgI2RlZmluZSBIQVZFX01FTU9S WV9IIDEKfCAjZGVmaW5lIEhBVkVfU1RSSU5HU19IIDEKfCAjZGVmaW5lIEhBVkVf SU5UVFlQRVNfSCAxCnwgI2RlZmluZSBIQVZFX1NURElOVF9IIDEKfCAjZGVmaW5l IEhBVkVfVU5JU1REX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfU09VTkRDQVJEX0gg MQp8ICNkZWZpbmUgSEFWRV9TWVNfU0VMRUNUX0ggMQp8ICNkZWZpbmUgSEFWRV9T WVNfVElNRUJfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19USU1FX0ggMQp8ICNkZWZp bmUgSEFWRV9VTklTVERfSCAxCnwgI2RlZmluZSBIQVZFX1VUSU1FX0ggMQp8ICNk ZWZpbmUgSEFWRV9URVJNSU9TX0ggMQp8ICNkZWZpbmUgSEFWRV9MSU1JVFNfSCAx CnwgI2RlZmluZSBIQVZFX1NUUklOR19IIDEKfCAjZGVmaW5lIEhBVkVfU1RETElC X0ggMQp8ICNkZWZpbmUgSEFWRV9URVJNQ0FQX0ggMQp8ICNkZWZpbmUgSEFWRV9G Q05UTF9IIDEKfCAjZGVmaW5lIEhBVkVfU1RSSU5HU19IIDEKfCAjZGVmaW5lIEhB VkVfUFRZX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfTU1BTl9IIDEKfCAjZGVmaW5l IEhBVkVfU1lTX1BBUkFNX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfUkVTT1VSQ0Vf SCAxCnwgI2RlZmluZSBIQVZFX0xPQ0FMRV9IIDEKfCAjZGVmaW5lIEhBVkVfU1lT X1VUU05BTUVfSCAxCnwgI2RlZmluZSBIQVZFX1BXRF9IIDEKfCAjZGVmaW5lIFNU RENfSEVBREVSUyAxCnwgI2RlZmluZSBUSU1FX1dJVEhfU1lTX1RJTUUgMQp8ICNk ZWZpbmUgSEFWRV9ERUNMX1NZU19TSUdMSVNUIDAKfCAjZGVmaW5lIEhBVkVfREVD TF9fX1NZU19TSUdMSVNUIDAKfCAjZGVmaW5lIEhBVkVfU1lTX1dBSVRfSCAxCnwg I2RlZmluZSBIQVZFX1NUUlVDVF9VVElNQlVGIDEKfCAjZGVmaW5lIFJFVFNJR1RZ UEUgdm9pZAp8ICNkZWZpbmUgSEFWRV9TUEVFRF9UIDEKfCAjZGVmaW5lIEhBVkVf VElNRVZBTCAxCnwgI2RlZmluZSBIQVZFX1NZU19TT0NLRVRfSCAxCnwgI2RlZmlu ZSBIQVZFX05FVF9JRl9IIDEKfCAjZGVmaW5lIEhBVkVfVFpOQU1FIDEKfCAjZGVm aW5lIEhBVkVfU1RSVUNUX0lGUkVRX0lGUl9GTEFHUyAxCnwgI2RlZmluZSBIQVZF X1NUUlVDVF9JRlJFUV9JRlJfSFdBRERSIDEKfCAjZGVmaW5lIEhBVkVfU1RSVUNU X0lGUkVRX0lGUl9ORVRNQVNLIDEKfCAjZGVmaW5lIEhBVkVfU1RSVUNUX0lGUkVR X0lGUl9CUk9BREFERFIgMQp8ICNkZWZpbmUgSEFWRV9TVFJVQ1RfSUZSRVFfSUZS X0FERFIgMQp8ICNkZWZpbmUgUFJPVE9UWVBFUyAxCnwgI2RlZmluZSBfX1BST1RP VFlQRVMgMQp8ICNkZWZpbmUgUE9JTlRFUl9UWVBFIHZvaWQKfCAjZGVmaW5lIEhB VkVfTE9OR19GSUxFX05BTUVTIDEKfCAjZGVmaW5lIEhBVkVfU1RETElCX0ggMQp8 ICNkZWZpbmUgSEFWRV9VTklTVERfSCAxCnwgI2RlZmluZSBIQVZFX0dFVFBBR0VT SVpFIDEKfCAjZGVmaW5lIFVTRV9YSU0gMQp8ICNkZWZpbmUgSEFWRV9IX0VSUk5P IDEKfCAjZGVmaW5lIEhBVkVfQUxMT0NBX0ggMQp8ICNkZWZpbmUgSEFWRV9BTExP Q0EgMQp8ICNkZWZpbmUgSEFWRV9MSUJNIDEKfCAjZGVmaW5lIEhBVkVfR0VUSE9T VE5BTUUgMQp8ICNkZWZpbmUgSEFWRV9HRVRET01BSU5OQU1FIDEKfCAjZGVmaW5l IEhBVkVfRFVQMiAxCnwgI2RlZmluZSBIQVZFX1JFTkFNRSAxCnwgI2RlZmluZSBI QVZFX0NMT1NFRElSIDEKfCAjZGVmaW5lIEhBVkVfTUtESVIgMQp8ICNkZWZpbmUg SEFWRV9STURJUiAxCnwgI2RlZmluZSBIQVZFX0dFVFJVU0FHRSAxCnwgI2RlZmlu ZSBIQVZFX1JBTkRPTSAxCnwgI2RlZmluZSBIQVZFX0xSQU5ENDggMQp8ICNkZWZp bmUgSEFWRV9CQ09QWSAxCnwgI2RlZmluZSBIQVZFX0JDTVAgMQp8ICNkZWZpbmUg SEFWRV9MT0dCIDEKfCAjZGVmaW5lIEhBVkVfRlJFWFAgMQp8ICNkZWZpbmUgSEFW RV9GTU9EIDEKfCAjZGVmaW5lIEhBVkVfUklOVCAxCnwgI2RlZmluZSBIQVZFX0NC UlQgMQp8ICNkZWZpbmUgSEFWRV9GVElNRSAxCnwgI2RlZmluZSBIQVZFX1NFVFNJ RCAxCnwgI2RlZmluZSBIQVZFX1NUUkVSUk9SIDEKfCAjZGVmaW5lIEhBVkVfRlBB VEhDT05GIDEKfCAjZGVmaW5lIEhBVkVfU0VMRUNUIDEKfCAjZGVmaW5lIEhBVkVf TUtUSU1FIDEKfCAjZGVmaW5lIEhBVkVfR0VUUEFHRVNJWkUgMQp8ICNkZWZpbmUg SEFWRV9UWlNFVCAxCnwgI2RlZmluZSBIQVZFX1NFVExPQ0FMRSAxCnwgI2RlZmlu ZSBIQVZFX1VUSU1FUyAxCnwgI2RlZmluZSBIQVZFX1NFVFJMSU1JVCAxCnwgI2Rl ZmluZSBIQVZFX1NFVFBHSUQgMQp8ICNkZWZpbmUgSEFWRV9HRVRDV0QgMQp8ICNk ZWZpbmUgSEFWRV9HRVRXRCAxCnwgI2RlZmluZSBIQVZFX1NIVVRET1dOIDEKfCAv KiBlbmQgY29uZmRlZnMuaC4gICovCnwgLyogRGVmaW5lIGdldGFkZHJpbmZvIHRv IGFuIGlubm9jdW91cyB2YXJpYW50LCBpbiBjYXNlIDxsaW1pdHMuaD4gZGVjbGFy ZXMgZ2V0YWRkcmluZm8uCnwgICAgRm9yIGV4YW1wbGUsIEhQLVVYIDExaSA8bGlt aXRzLmg+IGRlY2xhcmVzIGdldHRpbWVvZmRheS4gICovCnwgI2RlZmluZSBnZXRh ZGRyaW5mbyBpbm5vY3VvdXNfZ2V0YWRkcmluZm8KfCAKfCAvKiBTeXN0ZW0gaGVh ZGVyIHRvIGRlZmluZSBfX3N0dWIgbWFjcm9zIGFuZCBob3BlZnVsbHkgZmV3IHBy b3RvdHlwZXMsCnwgICAgIHdoaWNoIGNhbiBjb25mbGljdCB3aXRoIGNoYXIgZ2V0 YWRkcmluZm8gKCk7IGJlbG93Lgp8ICAgICBQcmVmZXIgPGxpbWl0cy5oPiB0byA8 YXNzZXJ0Lmg+IGlmIF9fU1REQ19fIGlzIGRlZmluZWQsIHNpbmNlCnwgICAgIDxs aW1pdHMuaD4gZXhpc3RzIGV2ZW4gb24gZnJlZXN0YW5kaW5nIGNvbXBpbGVycy4g ICovCnwgCnwgI2lmZGVmIF9fU1REQ19fCnwgIyBpbmNsdWRlIDxsaW1pdHMuaD4K fCAjZWxzZQp8ICMgaW5jbHVkZSA8YXNzZXJ0Lmg+CnwgI2VuZGlmCnwgCnwgI3Vu ZGVmIGdldGFkZHJpbmZvCnwgCnwgLyogT3ZlcnJpZGUgYW55IGdjYzIgaW50ZXJu YWwgcHJvdG90eXBlIHRvIGF2b2lkIGFuIGVycm9yLiAgKi8KfCAjaWZkZWYgX19j cGx1c3BsdXMKfCBleHRlcm4gIkMiCnwgewp8ICNlbmRpZgp8IC8qIFdlIHVzZSBj aGFyIGJlY2F1c2UgaW50IG1pZ2h0IG1hdGNoIHRoZSByZXR1cm4gdHlwZSBvZiBh IGdjYzIKfCAgICBidWlsdGluIGFuZCB0aGVuIGl0cyBhcmd1bWVudCBwcm90b3R5 cGUgd291bGQgc3RpbGwgYXBwbHkuICAqLwp8IGNoYXIgZ2V0YWRkcmluZm8gKCk7 CnwgLyogVGhlIEdOVSBDIGxpYnJhcnkgZGVmaW5lcyB0aGlzIGZvciBmdW5jdGlv bnMgd2hpY2ggaXQgaW1wbGVtZW50cwp8ICAgICB0byBhbHdheXMgZmFpbCB3aXRo IEVOT1NZUy4gIFNvbWUgZnVuY3Rpb25zIGFyZSBhY3R1YWxseSBuYW1lZAp8ICAg ICBzb21ldGhpbmcgc3RhcnRpbmcgd2l0aCBfXyBhbmQgdGhlIG5vcm1hbCBuYW1l IGlzIGFuIGFsaWFzLiAgKi8KfCAjaWYgZGVmaW5lZCAoX19zdHViX2dldGFkZHJp bmZvKSB8fCBkZWZpbmVkIChfX3N0dWJfX19nZXRhZGRyaW5mbykKfCBjaG9rZSBt ZQp8ICNlbHNlCnwgY2hhciAoKmYpICgpID0gZ2V0YWRkcmluZm87CnwgI2VuZGlm CnwgI2lmZGVmIF9fY3BsdXNwbHVzCnwgfQp8ICNlbmRpZgp8IAp8IGludAp8IG1h aW4gKCkKfCB7CnwgcmV0dXJuIGYgIT0gZ2V0YWRkcmluZm87CnwgICA7CnwgICBy ZXR1cm4gMDsKfCB9CmNvbmZpZ3VyZToxNDY1NTogcmVzdWx0OiBubwpjb25maWd1 cmU6MTQ1Njc6IGNoZWNraW5nIGZvciBfX2ZwZW5kaW5nCmNvbmZpZ3VyZToxNDYy NDogZ2NjIC1vIGNvbmZ0ZXN0LmV4ZSAtZyAtTzIgICAgIGNvbmZ0ZXN0LmMgLWxt ICAgPiY1ICAKL2N5Z2RyaXZlL2MvRE9DVU1FfjEvd2lsbGlhbS9MT0NBTFN+MS9U ZW1wL2NjNmtQVklFLm86IEluIGZ1bmN0aW9uIGBtYWluJzoKL2N5Z2RyaXZlL2Qv ZW1hY3MyMi9jb25mdGVzdC5jOjE0MjogdW5kZWZpbmVkIHJlZmVyZW5jZSB0byBg X19fZnBlbmRpbmcnCi9jeWdkcml2ZS9kL2VtYWNzMjIvY29uZnRlc3QuYzoxNDE6 IHVuZGVmaW5lZCByZWZlcmVuY2UgdG8gYF9fX2ZwZW5kaW5nJwpjb2xsZWN0Mjog bGQgcmV0dXJuZWQgMSBleGl0IHN0YXR1cwpjb25maWd1cmU6MTQ2MzA6ICQ/ID0g MQpjb25maWd1cmU6IGZhaWxlZCBwcm9ncmFtIHdhczoKfCAvKiBjb25mZGVmcy5o LiAgKi8KfCAKfCAjZGVmaW5lIFBBQ0tBR0VfTkFNRSAiIgp8ICNkZWZpbmUgUEFD S0FHRV9UQVJOQU1FICIiCnwgI2RlZmluZSBQQUNLQUdFX1ZFUlNJT04gIiIKfCAj ZGVmaW5lIFBBQ0tBR0VfU1RSSU5HICIiCnwgI2RlZmluZSBQQUNLQUdFX0JVR1JF UE9SVCAiIgp8ICNkZWZpbmUgTUFJTF9VU0VfUE9QIDEKfCAjZGVmaW5lIF9HTlVf U09VUkNFIDEKfCAjZGVmaW5lIFNURENfSEVBREVSUyAxCnwgI2RlZmluZSBIQVZF X1NZU19UWVBFU19IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NUQVRfSCAxCnwgI2Rl ZmluZSBIQVZFX1NURExJQl9IIDEKfCAjZGVmaW5lIEhBVkVfU1RSSU5HX0ggMQp8 ICNkZWZpbmUgSEFWRV9NRU1PUllfSCAxCnwgI2RlZmluZSBIQVZFX1NUUklOR1Nf SCAxCnwgI2RlZmluZSBIQVZFX0lOVFRZUEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9T VERJTlRfSCAxCnwgI2RlZmluZSBIQVZFX1VOSVNURF9IIDEKfCAjZGVmaW5lIEhB VkVfU1lTX1NPVU5EQ0FSRF9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NFTEVDVF9I IDEKfCAjZGVmaW5lIEhBVkVfU1lTX1RJTUVCX0ggMQp8ICNkZWZpbmUgSEFWRV9T WVNfVElNRV9IIDEKfCAjZGVmaW5lIEhBVkVfVU5JU1REX0ggMQp8ICNkZWZpbmUg SEFWRV9VVElNRV9IIDEKfCAjZGVmaW5lIEhBVkVfVEVSTUlPU19IIDEKfCAjZGVm aW5lIEhBVkVfTElNSVRTX0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJJTkdfSCAxCnwg I2RlZmluZSBIQVZFX1NURExJQl9IIDEKfCAjZGVmaW5lIEhBVkVfVEVSTUNBUF9I IDEKfCAjZGVmaW5lIEhBVkVfRkNOVExfSCAxCnwgI2RlZmluZSBIQVZFX1NUUklO R1NfSCAxCnwgI2RlZmluZSBIQVZFX1BUWV9IIDEKfCAjZGVmaW5lIEhBVkVfU1lT X01NQU5fSCAxCnwgI2RlZmluZSBIQVZFX1NZU19QQVJBTV9IIDEKfCAjZGVmaW5l IEhBVkVfU1lTX1JFU09VUkNFX0ggMQp8ICNkZWZpbmUgSEFWRV9MT0NBTEVfSCAx CnwgI2RlZmluZSBIQVZFX1NZU19VVFNOQU1FX0ggMQp8ICNkZWZpbmUgSEFWRV9Q V0RfSCAxCnwgI2RlZmluZSBTVERDX0hFQURFUlMgMQp8ICNkZWZpbmUgVElNRV9X SVRIX1NZU19USU1FIDEKfCAjZGVmaW5lIEhBVkVfREVDTF9TWVNfU0lHTElTVCAw CnwgI2RlZmluZSBIQVZFX0RFQ0xfX19TWVNfU0lHTElTVCAwCnwgI2RlZmluZSBI QVZFX1NZU19XQUlUX0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJVQ1RfVVRJTUJVRiAx CnwgI2RlZmluZSBSRVRTSUdUWVBFIHZvaWQKfCAjZGVmaW5lIEhBVkVfU1BFRURf VCAxCnwgI2RlZmluZSBIQVZFX1RJTUVWQUwgMQp8ICNkZWZpbmUgSEFWRV9TWVNf U09DS0VUX0ggMQp8ICNkZWZpbmUgSEFWRV9ORVRfSUZfSCAxCnwgI2RlZmluZSBI QVZFX1RaTkFNRSAxCnwgI2RlZmluZSBIQVZFX1NUUlVDVF9JRlJFUV9JRlJfRkxB R1MgMQp8ICNkZWZpbmUgSEFWRV9TVFJVQ1RfSUZSRVFfSUZSX0hXQUREUiAxCnwg I2RlZmluZSBIQVZFX1NUUlVDVF9JRlJFUV9JRlJfTkVUTUFTSyAxCnwgI2RlZmlu ZSBIQVZFX1NUUlVDVF9JRlJFUV9JRlJfQlJPQURBRERSIDEKfCAjZGVmaW5lIEhB VkVfU1RSVUNUX0lGUkVRX0lGUl9BRERSIDEKfCAjZGVmaW5lIFBST1RPVFlQRVMg MQp8ICNkZWZpbmUgX19QUk9UT1RZUEVTIDEKfCAjZGVmaW5lIFBPSU5URVJfVFlQ RSB2b2lkCnwgI2RlZmluZSBIQVZFX0xPTkdfRklMRV9OQU1FUyAxCnwgI2RlZmlu ZSBIQVZFX1NURExJQl9IIDEKfCAjZGVmaW5lIEhBVkVfVU5JU1REX0ggMQp8ICNk ZWZpbmUgSEFWRV9HRVRQQUdFU0laRSAxCnwgI2RlZmluZSBVU0VfWElNIDEKfCAj ZGVmaW5lIEhBVkVfSF9FUlJOTyAxCnwgI2RlZmluZSBIQVZFX0FMTE9DQV9IIDEK fCAjZGVmaW5lIEhBVkVfQUxMT0NBIDEKfCAjZGVmaW5lIEhBVkVfTElCTSAxCnwg I2RlZmluZSBIQVZFX0dFVEhPU1ROQU1FIDEKfCAjZGVmaW5lIEhBVkVfR0VURE9N QUlOTkFNRSAxCnwgI2RlZmluZSBIQVZFX0RVUDIgMQp8ICNkZWZpbmUgSEFWRV9S RU5BTUUgMQp8ICNkZWZpbmUgSEFWRV9DTE9TRURJUiAxCnwgI2RlZmluZSBIQVZF X01LRElSIDEKfCAjZGVmaW5lIEhBVkVfUk1ESVIgMQp8ICNkZWZpbmUgSEFWRV9H RVRSVVNBR0UgMQp8ICNkZWZpbmUgSEFWRV9SQU5ET00gMQp8ICNkZWZpbmUgSEFW RV9MUkFORDQ4IDEKfCAjZGVmaW5lIEhBVkVfQkNPUFkgMQp8ICNkZWZpbmUgSEFW RV9CQ01QIDEKfCAjZGVmaW5lIEhBVkVfTE9HQiAxCnwgI2RlZmluZSBIQVZFX0ZS RVhQIDEKfCAjZGVmaW5lIEhBVkVfRk1PRCAxCnwgI2RlZmluZSBIQVZFX1JJTlQg MQp8ICNkZWZpbmUgSEFWRV9DQlJUIDEKfCAjZGVmaW5lIEhBVkVfRlRJTUUgMQp8 ICNkZWZpbmUgSEFWRV9TRVRTSUQgMQp8ICNkZWZpbmUgSEFWRV9TVFJFUlJPUiAx CnwgI2RlZmluZSBIQVZFX0ZQQVRIQ09ORiAxCnwgI2RlZmluZSBIQVZFX1NFTEVD VCAxCnwgI2RlZmluZSBIQVZFX01LVElNRSAxCnwgI2RlZmluZSBIQVZFX0dFVFBB R0VTSVpFIDEKfCAjZGVmaW5lIEhBVkVfVFpTRVQgMQp8ICNkZWZpbmUgSEFWRV9T RVRMT0NBTEUgMQp8ICNkZWZpbmUgSEFWRV9VVElNRVMgMQp8ICNkZWZpbmUgSEFW RV9TRVRSTElNSVQgMQp8ICNkZWZpbmUgSEFWRV9TRVRQR0lEIDEKfCAjZGVmaW5l IEhBVkVfR0VUQ1dEIDEKfCAjZGVmaW5lIEhBVkVfR0VUV0QgMQp8ICNkZWZpbmUg SEFWRV9TSFVURE9XTiAxCnwgLyogZW5kIGNvbmZkZWZzLmguICAqLwp8IC8qIERl ZmluZSBfX2ZwZW5kaW5nIHRvIGFuIGlubm9jdW91cyB2YXJpYW50LCBpbiBjYXNl IDxsaW1pdHMuaD4gZGVjbGFyZXMgX19mcGVuZGluZy4KfCAgICBGb3IgZXhhbXBs ZSwgSFAtVVggMTFpIDxsaW1pdHMuaD4gZGVjbGFyZXMgZ2V0dGltZW9mZGF5LiAg Ki8KfCAjZGVmaW5lIF9fZnBlbmRpbmcgaW5ub2N1b3VzX19fZnBlbmRpbmcKfCAK fCAvKiBTeXN0ZW0gaGVhZGVyIHRvIGRlZmluZSBfX3N0dWIgbWFjcm9zIGFuZCBo b3BlZnVsbHkgZmV3IHByb3RvdHlwZXMsCnwgICAgIHdoaWNoIGNhbiBjb25mbGlj dCB3aXRoIGNoYXIgX19mcGVuZGluZyAoKTsgYmVsb3cuCnwgICAgIFByZWZlciA8 bGltaXRzLmg+IHRvIDxhc3NlcnQuaD4gaWYgX19TVERDX18gaXMgZGVmaW5lZCwg c2luY2UKfCAgICAgPGxpbWl0cy5oPiBleGlzdHMgZXZlbiBvbiBmcmVlc3RhbmRp bmcgY29tcGlsZXJzLiAgKi8KfCAKfCAjaWZkZWYgX19TVERDX18KfCAjIGluY2x1 ZGUgPGxpbWl0cy5oPgp8ICNlbHNlCnwgIyBpbmNsdWRlIDxhc3NlcnQuaD4KfCAj ZW5kaWYKfCAKfCAjdW5kZWYgX19mcGVuZGluZwp8IAp8IC8qIE92ZXJyaWRlIGFu eSBnY2MyIGludGVybmFsIHByb3RvdHlwZSB0byBhdm9pZCBhbiBlcnJvci4gICov CnwgI2lmZGVmIF9fY3BsdXNwbHVzCnwgZXh0ZXJuICJDIgp8IHsKfCAjZW5kaWYK fCAvKiBXZSB1c2UgY2hhciBiZWNhdXNlIGludCBtaWdodCBtYXRjaCB0aGUgcmV0 dXJuIHR5cGUgb2YgYSBnY2MyCnwgICAgYnVpbHRpbiBhbmQgdGhlbiBpdHMgYXJn dW1lbnQgcHJvdG90eXBlIHdvdWxkIHN0aWxsIGFwcGx5LiAgKi8KfCBjaGFyIF9f ZnBlbmRpbmcgKCk7CnwgLyogVGhlIEdOVSBDIGxpYnJhcnkgZGVmaW5lcyB0aGlz IGZvciBmdW5jdGlvbnMgd2hpY2ggaXQgaW1wbGVtZW50cwp8ICAgICB0byBhbHdh eXMgZmFpbCB3aXRoIEVOT1NZUy4gIFNvbWUgZnVuY3Rpb25zIGFyZSBhY3R1YWxs eSBuYW1lZAp8ICAgICBzb21ldGhpbmcgc3RhcnRpbmcgd2l0aCBfXyBhbmQgdGhl IG5vcm1hbCBuYW1lIGlzIGFuIGFsaWFzLiAgKi8KfCAjaWYgZGVmaW5lZCAoX19z dHViX19fZnBlbmRpbmcpIHx8IGRlZmluZWQgKF9fc3R1Yl9fX19fZnBlbmRpbmcp CnwgY2hva2UgbWUKfCAjZWxzZQp8IGNoYXIgKCpmKSAoKSA9IF9fZnBlbmRpbmc7 CnwgI2VuZGlmCnwgI2lmZGVmIF9fY3BsdXNwbHVzCnwgfQp8ICNlbmRpZgp8IAp8 IGludAp8IG1haW4gKCkKfCB7CnwgcmV0dXJuIGYgIT0gX19mcGVuZGluZzsKfCAg IDsKfCAgIHJldHVybiAwOwp8IH0KY29uZmlndXJlOjE0NjU1OiByZXN1bHQ6IG5v CmNvbmZpZ3VyZToxNDU2NzogY2hlY2tpbmcgZm9yIG1ibGVuCmNvbmZpZ3VyZTox NDYyNDogZ2NjIC1vIGNvbmZ0ZXN0LmV4ZSAtZyAtTzIgICAgIGNvbmZ0ZXN0LmMg LWxtICAgPiY1ICAKY29uZmlndXJlOjE0NjMwOiAkPyA9IDAKY29uZmlndXJlOjE0 NjM0OiB0ZXN0IC16IAoJCQkgfHwgdGVzdCAhIC1zIGNvbmZ0ZXN0LmVycgpjb25m aWd1cmU6MTQ2Mzc6ICQ/ID0gMApjb25maWd1cmU6MTQ2NDA6IHRlc3QgLXMgY29u ZnRlc3QuZXhlCmNvbmZpZ3VyZToxNDY0MzogJD8gPSAwCmNvbmZpZ3VyZToxNDY1 NTogcmVzdWx0OiB5ZXMKY29uZmlndXJlOjE0NTY3OiBjaGVja2luZyBmb3IgbWJy bGVuCmNvbmZpZ3VyZToxNDYyNDogZ2NjIC1vIGNvbmZ0ZXN0LmV4ZSAtZyAtTzIg ICAgIGNvbmZ0ZXN0LmMgLWxtICAgPiY1ICAKY29uZmlndXJlOjE0NjMwOiAkPyA9 IDAKY29uZmlndXJlOjE0NjM0OiB0ZXN0IC16IAoJCQkgfHwgdGVzdCAhIC1zIGNv bmZ0ZXN0LmVycgpjb25maWd1cmU6MTQ2Mzc6ICQ/ID0gMApjb25maWd1cmU6MTQ2 NDA6IHRlc3QgLXMgY29uZnRlc3QuZXhlCmNvbmZpZ3VyZToxNDY0MzogJD8gPSAw CmNvbmZpZ3VyZToxNDY1NTogcmVzdWx0OiB5ZXMKY29uZmlndXJlOjE0NTY3OiBj aGVja2luZyBmb3IgbWJzaW5pdApjb25maWd1cmU6MTQ2MjQ6IGdjYyAtbyBjb25m dGVzdC5leGUgLWcgLU8yICAgICBjb25mdGVzdC5jIC1sbSAgID4mNSAgCmNvbmZp Z3VyZToxNDYzMDogJD8gPSAwCmNvbmZpZ3VyZToxNDYzNDogdGVzdCAteiAKCQkJ IHx8IHRlc3QgISAtcyBjb25mdGVzdC5lcnIKY29uZmlndXJlOjE0NjM3OiAkPyA9 IDAKY29uZmlndXJlOjE0NjQwOiB0ZXN0IC1zIGNvbmZ0ZXN0LmV4ZQpjb25maWd1 cmU6MTQ2NDM6ICQ/ID0gMApjb25maWd1cmU6MTQ2NTU6IHJlc3VsdDogeWVzCmNv bmZpZ3VyZToxNDU2NzogY2hlY2tpbmcgZm9yIHN0cnNpZ25hbApjb25maWd1cmU6 MTQ2MjQ6IGdjYyAtbyBjb25mdGVzdC5leGUgLWcgLU8yICAgICBjb25mdGVzdC5j IC1sbSAgID4mNSAgCmNvbmZpZ3VyZToxNDYzMDogJD8gPSAwCmNvbmZpZ3VyZTox NDYzNDogdGVzdCAteiAKCQkJIHx8IHRlc3QgISAtcyBjb25mdGVzdC5lcnIKY29u ZmlndXJlOjE0NjM3OiAkPyA9IDAKY29uZmlndXJlOjE0NjQwOiB0ZXN0IC1zIGNv bmZ0ZXN0LmV4ZQpjb25maWd1cmU6MTQ2NDM6ICQ/ID0gMApjb25maWd1cmU6MTQ2 NTU6IHJlc3VsdDogeWVzCmNvbmZpZ3VyZToxNDU2NzogY2hlY2tpbmcgZm9yIHNl dGl0aW1lcgpjb25maWd1cmU6MTQ2MjQ6IGdjYyAtbyBjb25mdGVzdC5leGUgLWcg LU8yICAgICBjb25mdGVzdC5jIC1sbSAgID4mNSAgCmNvbmZpZ3VyZToxNDYzMDog JD8gPSAwCmNvbmZpZ3VyZToxNDYzNDogdGVzdCAteiAKCQkJIHx8IHRlc3QgISAt cyBjb25mdGVzdC5lcnIKY29uZmlndXJlOjE0NjM3OiAkPyA9IDAKY29uZmlndXJl OjE0NjQwOiB0ZXN0IC1zIGNvbmZ0ZXN0LmV4ZQpjb25maWd1cmU6MTQ2NDM6ICQ/ ID0gMApjb25maWd1cmU6MTQ2NTU6IHJlc3VsdDogeWVzCmNvbmZpZ3VyZToxNDU2 NzogY2hlY2tpbmcgZm9yIHVhbGFybQpjb25maWd1cmU6MTQ2MjQ6IGdjYyAtbyBj b25mdGVzdC5leGUgLWcgLU8yICAgICBjb25mdGVzdC5jIC1sbSAgID4mNSAgCmNv bmZpZ3VyZToxNDYzMDogJD8gPSAwCmNvbmZpZ3VyZToxNDYzNDogdGVzdCAteiAK CQkJIHx8IHRlc3QgISAtcyBjb25mdGVzdC5lcnIKY29uZmlndXJlOjE0NjM3OiAk PyA9IDAKY29uZmlndXJlOjE0NjQwOiB0ZXN0IC1zIGNvbmZ0ZXN0LmV4ZQpjb25m aWd1cmU6MTQ2NDM6ICQ/ID0gMApjb25maWd1cmU6MTQ2NTU6IHJlc3VsdDogeWVz CmNvbmZpZ3VyZToxNDU2NzogY2hlY2tpbmcgZm9yIGluZGV4CmNvbmZpZ3VyZTox NDYyNDogZ2NjIC1vIGNvbmZ0ZXN0LmV4ZSAtZyAtTzIgICAgIGNvbmZ0ZXN0LmMg LWxtICAgPiY1ICAKY29uZnRlc3QuYzoxMzI6IHdhcm5pbmc6IGNvbmZsaWN0aW5n IHR5cGVzIGZvciBidWlsdC1pbiBmdW5jdGlvbiBgaW5kZXgnCmNvbmZpZ3VyZTox NDYzMDogJD8gPSAwCmNvbmZpZ3VyZToxNDYzNDogdGVzdCAteiAKCQkJIHx8IHRl c3QgISAtcyBjb25mdGVzdC5lcnIKY29uZmlndXJlOjE0NjM3OiAkPyA9IDAKY29u ZmlndXJlOjE0NjQwOiB0ZXN0IC1zIGNvbmZ0ZXN0LmV4ZQpjb25maWd1cmU6MTQ2 NDM6ICQ/ID0gMApjb25maWd1cmU6MTQ2NTU6IHJlc3VsdDogeWVzCmNvbmZpZ3Vy ZToxNDU2NzogY2hlY2tpbmcgZm9yIHJpbmRleApjb25maWd1cmU6MTQ2MjQ6IGdj YyAtbyBjb25mdGVzdC5leGUgLWcgLU8yICAgICBjb25mdGVzdC5jIC1sbSAgID4m NSAgCmNvbmZ0ZXN0LmM6MTMzOiB3YXJuaW5nOiBjb25mbGljdGluZyB0eXBlcyBm b3IgYnVpbHQtaW4gZnVuY3Rpb24gYHJpbmRleCcKY29uZmlndXJlOjE0NjMwOiAk PyA9IDAKY29uZmlndXJlOjE0NjM0OiB0ZXN0IC16IAoJCQkgfHwgdGVzdCAhIC1z IGNvbmZ0ZXN0LmVycgpjb25maWd1cmU6MTQ2Mzc6ICQ/ID0gMApjb25maWd1cmU6 MTQ2NDA6IHRlc3QgLXMgY29uZnRlc3QuZXhlCmNvbmZpZ3VyZToxNDY0MzogJD8g PSAwCmNvbmZpZ3VyZToxNDY1NTogcmVzdWx0OiB5ZXMKY29uZmlndXJlOjE0NTY3 OiBjaGVja2luZyBmb3Igc2VuZHRvCmNvbmZpZ3VyZToxNDYyNDogZ2NjIC1vIGNv bmZ0ZXN0LmV4ZSAtZyAtTzIgICAgIGNvbmZ0ZXN0LmMgLWxtICAgPiY1ICAKY29u ZmlndXJlOjE0NjMwOiAkPyA9IDAKY29uZmlndXJlOjE0NjM0OiB0ZXN0IC16IAoJ CQkgfHwgdGVzdCAhIC1zIGNvbmZ0ZXN0LmVycgpjb25maWd1cmU6MTQ2Mzc6ICQ/ ID0gMApjb25maWd1cmU6MTQ2NDA6IHRlc3QgLXMgY29uZnRlc3QuZXhlCmNvbmZp Z3VyZToxNDY0MzogJD8gPSAwCmNvbmZpZ3VyZToxNDY1NTogcmVzdWx0OiB5ZXMK Y29uZmlndXJlOjE0NTY3OiBjaGVja2luZyBmb3IgcmVjdmZyb20KY29uZmlndXJl OjE0NjI0OiBnY2MgLW8gY29uZnRlc3QuZXhlIC1nIC1PMiAgICAgY29uZnRlc3Qu YyAtbG0gICA+JjUgIApjb25maWd1cmU6MTQ2MzA6ICQ/ID0gMApjb25maWd1cmU6 MTQ2MzQ6IHRlc3QgLXogCgkJCSB8fCB0ZXN0ICEgLXMgY29uZnRlc3QuZXJyCmNv bmZpZ3VyZToxNDYzNzogJD8gPSAwCmNvbmZpZ3VyZToxNDY0MDogdGVzdCAtcyBj b25mdGVzdC5leGUKY29uZmlndXJlOjE0NjQzOiAkPyA9IDAKY29uZmlndXJlOjE0 NjU1OiByZXN1bHQ6IHllcwpjb25maWd1cmU6MTQ1Njc6IGNoZWNraW5nIGZvciBn ZXRzb2Nrb3B0CmNvbmZpZ3VyZToxNDYyNDogZ2NjIC1vIGNvbmZ0ZXN0LmV4ZSAt ZyAtTzIgICAgIGNvbmZ0ZXN0LmMgLWxtICAgPiY1ICAKY29uZmlndXJlOjE0NjMw OiAkPyA9IDAKY29uZmlndXJlOjE0NjM0OiB0ZXN0IC16IAoJCQkgfHwgdGVzdCAh IC1zIGNvbmZ0ZXN0LmVycgpjb25maWd1cmU6MTQ2Mzc6ICQ/ID0gMApjb25maWd1 cmU6MTQ2NDA6IHRlc3QgLXMgY29uZnRlc3QuZXhlCmNvbmZpZ3VyZToxNDY0Mzog JD8gPSAwCmNvbmZpZ3VyZToxNDY1NTogcmVzdWx0OiB5ZXMKY29uZmlndXJlOjE0 NTY3OiBjaGVja2luZyBmb3Igc2V0c29ja29wdApjb25maWd1cmU6MTQ2MjQ6IGdj YyAtbyBjb25mdGVzdC5leGUgLWcgLU8yICAgICBjb25mdGVzdC5jIC1sbSAgID4m NSAgCmNvbmZpZ3VyZToxNDYzMDogJD8gPSAwCmNvbmZpZ3VyZToxNDYzNDogdGVz dCAteiAKCQkJIHx8IHRlc3QgISAtcyBjb25mdGVzdC5lcnIKY29uZmlndXJlOjE0 NjM3OiAkPyA9IDAKY29uZmlndXJlOjE0NjQwOiB0ZXN0IC1zIGNvbmZ0ZXN0LmV4 ZQpjb25maWd1cmU6MTQ2NDM6ICQ/ID0gMApjb25maWd1cmU6MTQ2NTU6IHJlc3Vs dDogeWVzCmNvbmZpZ3VyZToxNDU2NzogY2hlY2tpbmcgZm9yIGdldHNvY2tuYW1l CmNvbmZpZ3VyZToxNDYyNDogZ2NjIC1vIGNvbmZ0ZXN0LmV4ZSAtZyAtTzIgICAg IGNvbmZ0ZXN0LmMgLWxtICAgPiY1ICAKY29uZmlndXJlOjE0NjMwOiAkPyA9IDAK Y29uZmlndXJlOjE0NjM0OiB0ZXN0IC16IAoJCQkgfHwgdGVzdCAhIC1zIGNvbmZ0 ZXN0LmVycgpjb25maWd1cmU6MTQ2Mzc6ICQ/ID0gMApjb25maWd1cmU6MTQ2NDA6 IHRlc3QgLXMgY29uZnRlc3QuZXhlCmNvbmZpZ3VyZToxNDY0MzogJD8gPSAwCmNv bmZpZ3VyZToxNDY1NTogcmVzdWx0OiB5ZXMKY29uZmlndXJlOjE0NTY3OiBjaGVj a2luZyBmb3IgZ2V0cGVlcm5hbWUKY29uZmlndXJlOjE0NjI0OiBnY2MgLW8gY29u ZnRlc3QuZXhlIC1nIC1PMiAgICAgY29uZnRlc3QuYyAtbG0gICA+JjUgIApjb25m aWd1cmU6MTQ2MzA6ICQ/ID0gMApjb25maWd1cmU6MTQ2MzQ6IHRlc3QgLXogCgkJ CSB8fCB0ZXN0ICEgLXMgY29uZnRlc3QuZXJyCmNvbmZpZ3VyZToxNDYzNzogJD8g PSAwCmNvbmZpZ3VyZToxNDY0MDogdGVzdCAtcyBjb25mdGVzdC5leGUKY29uZmln dXJlOjE0NjQzOiAkPyA9IDAKY29uZmlndXJlOjE0NjU1OiByZXN1bHQ6IHllcwpj b25maWd1cmU6MTQ1Njc6IGNoZWNraW5nIGZvciBnYWlfc3RyZXJyb3IKY29uZmln dXJlOjE0NjI0OiBnY2MgLW8gY29uZnRlc3QuZXhlIC1nIC1PMiAgICAgY29uZnRl c3QuYyAtbG0gICA+JjUgIAovY3lnZHJpdmUvYy9ET0NVTUV+MS93aWxsaWFtL0xP Q0FMU34xL1RlbXAvY2NTNXcxbDMubzogSW4gZnVuY3Rpb24gYG1haW4nOgovY3ln ZHJpdmUvZC9lbWFjczIyL2NvbmZ0ZXN0LmM6MTU2OiB1bmRlZmluZWQgcmVmZXJl bmNlIHRvIGBfZ2FpX3N0cmVycm9yJwovY3lnZHJpdmUvZC9lbWFjczIyL2NvbmZ0 ZXN0LmM6MTU1OiB1bmRlZmluZWQgcmVmZXJlbmNlIHRvIGBfZ2FpX3N0cmVycm9y Jwpjb2xsZWN0MjogbGQgcmV0dXJuZWQgMSBleGl0IHN0YXR1cwpjb25maWd1cmU6 MTQ2MzA6ICQ/ID0gMQpjb25maWd1cmU6IGZhaWxlZCBwcm9ncmFtIHdhczoKfCAv KiBjb25mZGVmcy5oLiAgKi8KfCAKfCAjZGVmaW5lIFBBQ0tBR0VfTkFNRSAiIgp8 ICNkZWZpbmUgUEFDS0FHRV9UQVJOQU1FICIiCnwgI2RlZmluZSBQQUNLQUdFX1ZF UlNJT04gIiIKfCAjZGVmaW5lIFBBQ0tBR0VfU1RSSU5HICIiCnwgI2RlZmluZSBQ QUNLQUdFX0JVR1JFUE9SVCAiIgp8ICNkZWZpbmUgTUFJTF9VU0VfUE9QIDEKfCAj ZGVmaW5lIF9HTlVfU09VUkNFIDEKfCAjZGVmaW5lIFNURENfSEVBREVSUyAxCnwg I2RlZmluZSBIQVZFX1NZU19UWVBFU19IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NU QVRfSCAxCnwgI2RlZmluZSBIQVZFX1NURExJQl9IIDEKfCAjZGVmaW5lIEhBVkVf U1RSSU5HX0ggMQp8ICNkZWZpbmUgSEFWRV9NRU1PUllfSCAxCnwgI2RlZmluZSBI QVZFX1NUUklOR1NfSCAxCnwgI2RlZmluZSBIQVZFX0lOVFRZUEVTX0ggMQp8ICNk ZWZpbmUgSEFWRV9TVERJTlRfSCAxCnwgI2RlZmluZSBIQVZFX1VOSVNURF9IIDEK fCAjZGVmaW5lIEhBVkVfU1lTX1NPVU5EQ0FSRF9IIDEKfCAjZGVmaW5lIEhBVkVf U1lTX1NFTEVDVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1RJTUVCX0ggMQp8ICNk ZWZpbmUgSEFWRV9TWVNfVElNRV9IIDEKfCAjZGVmaW5lIEhBVkVfVU5JU1REX0gg MQp8ICNkZWZpbmUgSEFWRV9VVElNRV9IIDEKfCAjZGVmaW5lIEhBVkVfVEVSTUlP U19IIDEKfCAjZGVmaW5lIEhBVkVfTElNSVRTX0ggMQp8ICNkZWZpbmUgSEFWRV9T VFJJTkdfSCAxCnwgI2RlZmluZSBIQVZFX1NURExJQl9IIDEKfCAjZGVmaW5lIEhB VkVfVEVSTUNBUF9IIDEKfCAjZGVmaW5lIEhBVkVfRkNOVExfSCAxCnwgI2RlZmlu ZSBIQVZFX1NUUklOR1NfSCAxCnwgI2RlZmluZSBIQVZFX1BUWV9IIDEKfCAjZGVm aW5lIEhBVkVfU1lTX01NQU5fSCAxCnwgI2RlZmluZSBIQVZFX1NZU19QQVJBTV9I IDEKfCAjZGVmaW5lIEhBVkVfU1lTX1JFU09VUkNFX0ggMQp8ICNkZWZpbmUgSEFW RV9MT0NBTEVfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19VVFNOQU1FX0ggMQp8ICNk ZWZpbmUgSEFWRV9QV0RfSCAxCnwgI2RlZmluZSBTVERDX0hFQURFUlMgMQp8ICNk ZWZpbmUgVElNRV9XSVRIX1NZU19USU1FIDEKfCAjZGVmaW5lIEhBVkVfREVDTF9T WVNfU0lHTElTVCAwCnwgI2RlZmluZSBIQVZFX0RFQ0xfX19TWVNfU0lHTElTVCAw CnwgI2RlZmluZSBIQVZFX1NZU19XQUlUX0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJV Q1RfVVRJTUJVRiAxCnwgI2RlZmluZSBSRVRTSUdUWVBFIHZvaWQKfCAjZGVmaW5l IEhBVkVfU1BFRURfVCAxCnwgI2RlZmluZSBIQVZFX1RJTUVWQUwgMQp8ICNkZWZp bmUgSEFWRV9TWVNfU09DS0VUX0ggMQp8ICNkZWZpbmUgSEFWRV9ORVRfSUZfSCAx CnwgI2RlZmluZSBIQVZFX1RaTkFNRSAxCnwgI2RlZmluZSBIQVZFX1NUUlVDVF9J RlJFUV9JRlJfRkxBR1MgMQp8ICNkZWZpbmUgSEFWRV9TVFJVQ1RfSUZSRVFfSUZS X0hXQUREUiAxCnwgI2RlZmluZSBIQVZFX1NUUlVDVF9JRlJFUV9JRlJfTkVUTUFT SyAxCnwgI2RlZmluZSBIQVZFX1NUUlVDVF9JRlJFUV9JRlJfQlJPQURBRERSIDEK fCAjZGVmaW5lIEhBVkVfU1RSVUNUX0lGUkVRX0lGUl9BRERSIDEKfCAjZGVmaW5l IFBST1RPVFlQRVMgMQp8ICNkZWZpbmUgX19QUk9UT1RZUEVTIDEKfCAjZGVmaW5l IFBPSU5URVJfVFlQRSB2b2lkCnwgI2RlZmluZSBIQVZFX0xPTkdfRklMRV9OQU1F UyAxCnwgI2RlZmluZSBIQVZFX1NURExJQl9IIDEKfCAjZGVmaW5lIEhBVkVfVU5J U1REX0ggMQp8ICNkZWZpbmUgSEFWRV9HRVRQQUdFU0laRSAxCnwgI2RlZmluZSBV U0VfWElNIDEKfCAjZGVmaW5lIEhBVkVfSF9FUlJOTyAxCnwgI2RlZmluZSBIQVZF X0FMTE9DQV9IIDEKfCAjZGVmaW5lIEhBVkVfQUxMT0NBIDEKfCAjZGVmaW5lIEhB VkVfTElCTSAxCnwgI2RlZmluZSBIQVZFX0dFVEhPU1ROQU1FIDEKfCAjZGVmaW5l IEhBVkVfR0VURE9NQUlOTkFNRSAxCnwgI2RlZmluZSBIQVZFX0RVUDIgMQp8ICNk ZWZpbmUgSEFWRV9SRU5BTUUgMQp8ICNkZWZpbmUgSEFWRV9DTE9TRURJUiAxCnwg I2RlZmluZSBIQVZFX01LRElSIDEKfCAjZGVmaW5lIEhBVkVfUk1ESVIgMQp8ICNk ZWZpbmUgSEFWRV9HRVRSVVNBR0UgMQp8ICNkZWZpbmUgSEFWRV9SQU5ET00gMQp8 ICNkZWZpbmUgSEFWRV9MUkFORDQ4IDEKfCAjZGVmaW5lIEhBVkVfQkNPUFkgMQp8 ICNkZWZpbmUgSEFWRV9CQ01QIDEKfCAjZGVmaW5lIEhBVkVfTE9HQiAxCnwgI2Rl ZmluZSBIQVZFX0ZSRVhQIDEKfCAjZGVmaW5lIEhBVkVfRk1PRCAxCnwgI2RlZmlu ZSBIQVZFX1JJTlQgMQp8ICNkZWZpbmUgSEFWRV9DQlJUIDEKfCAjZGVmaW5lIEhB VkVfRlRJTUUgMQp8ICNkZWZpbmUgSEFWRV9TRVRTSUQgMQp8ICNkZWZpbmUgSEFW RV9TVFJFUlJPUiAxCnwgI2RlZmluZSBIQVZFX0ZQQVRIQ09ORiAxCnwgI2RlZmlu ZSBIQVZFX1NFTEVDVCAxCnwgI2RlZmluZSBIQVZFX01LVElNRSAxCnwgI2RlZmlu ZSBIQVZFX0dFVFBBR0VTSVpFIDEKfCAjZGVmaW5lIEhBVkVfVFpTRVQgMQp8ICNk ZWZpbmUgSEFWRV9TRVRMT0NBTEUgMQp8ICNkZWZpbmUgSEFWRV9VVElNRVMgMQp8 ICNkZWZpbmUgSEFWRV9TRVRSTElNSVQgMQp8ICNkZWZpbmUgSEFWRV9TRVRQR0lE IDEKfCAjZGVmaW5lIEhBVkVfR0VUQ1dEIDEKfCAjZGVmaW5lIEhBVkVfR0VUV0Qg MQp8ICNkZWZpbmUgSEFWRV9TSFVURE9XTiAxCnwgI2RlZmluZSBIQVZFX01CTEVO IDEKfCAjZGVmaW5lIEhBVkVfTUJSTEVOIDEKfCAjZGVmaW5lIEhBVkVfTUJTSU5J VCAxCnwgI2RlZmluZSBIQVZFX1NUUlNJR05BTCAxCnwgI2RlZmluZSBIQVZFX1NF VElUSU1FUiAxCnwgI2RlZmluZSBIQVZFX1VBTEFSTSAxCnwgI2RlZmluZSBIQVZF X0lOREVYIDEKfCAjZGVmaW5lIEhBVkVfUklOREVYIDEKfCAjZGVmaW5lIEhBVkVf U0VORFRPIDEKfCAjZGVmaW5lIEhBVkVfUkVDVkZST00gMQp8ICNkZWZpbmUgSEFW RV9HRVRTT0NLT1BUIDEKfCAjZGVmaW5lIEhBVkVfU0VUU09DS09QVCAxCnwgI2Rl ZmluZSBIQVZFX0dFVFNPQ0tOQU1FIDEKfCAjZGVmaW5lIEhBVkVfR0VUUEVFUk5B TUUgMQp8IC8qIGVuZCBjb25mZGVmcy5oLiAgKi8KfCAvKiBEZWZpbmUgZ2FpX3N0 cmVycm9yIHRvIGFuIGlubm9jdW91cyB2YXJpYW50LCBpbiBjYXNlIDxsaW1pdHMu aD4gZGVjbGFyZXMgZ2FpX3N0cmVycm9yLgp8ICAgIEZvciBleGFtcGxlLCBIUC1V WCAxMWkgPGxpbWl0cy5oPiBkZWNsYXJlcyBnZXR0aW1lb2ZkYXkuICAqLwp8ICNk ZWZpbmUgZ2FpX3N0cmVycm9yIGlubm9jdW91c19nYWlfc3RyZXJyb3IKfCAKfCAv KiBTeXN0ZW0gaGVhZGVyIHRvIGRlZmluZSBfX3N0dWIgbWFjcm9zIGFuZCBob3Bl ZnVsbHkgZmV3IHByb3RvdHlwZXMsCnwgICAgIHdoaWNoIGNhbiBjb25mbGljdCB3 aXRoIGNoYXIgZ2FpX3N0cmVycm9yICgpOyBiZWxvdy4KfCAgICAgUHJlZmVyIDxs aW1pdHMuaD4gdG8gPGFzc2VydC5oPiBpZiBfX1NURENfXyBpcyBkZWZpbmVkLCBz aW5jZQp8ICAgICA8bGltaXRzLmg+IGV4aXN0cyBldmVuIG9uIGZyZWVzdGFuZGlu ZyBjb21waWxlcnMuICAqLwp8IAp8ICNpZmRlZiBfX1NURENfXwp8ICMgaW5jbHVk ZSA8bGltaXRzLmg+CnwgI2Vsc2UKfCAjIGluY2x1ZGUgPGFzc2VydC5oPgp8ICNl bmRpZgp8IAp8ICN1bmRlZiBnYWlfc3RyZXJyb3IKfCAKfCAvKiBPdmVycmlkZSBh bnkgZ2NjMiBpbnRlcm5hbCBwcm90b3R5cGUgdG8gYXZvaWQgYW4gZXJyb3IuICAq Lwp8ICNpZmRlZiBfX2NwbHVzcGx1cwp8IGV4dGVybiAiQyIKfCB7CnwgI2VuZGlm CnwgLyogV2UgdXNlIGNoYXIgYmVjYXVzZSBpbnQgbWlnaHQgbWF0Y2ggdGhlIHJl dHVybiB0eXBlIG9mIGEgZ2NjMgp8ICAgIGJ1aWx0aW4gYW5kIHRoZW4gaXRzIGFy Z3VtZW50IHByb3RvdHlwZSB3b3VsZCBzdGlsbCBhcHBseS4gICovCnwgY2hhciBn YWlfc3RyZXJyb3IgKCk7CnwgLyogVGhlIEdOVSBDIGxpYnJhcnkgZGVmaW5lcyB0 aGlzIGZvciBmdW5jdGlvbnMgd2hpY2ggaXQgaW1wbGVtZW50cwp8ICAgICB0byBh bHdheXMgZmFpbCB3aXRoIEVOT1NZUy4gIFNvbWUgZnVuY3Rpb25zIGFyZSBhY3R1 YWxseSBuYW1lZAp8ICAgICBzb21ldGhpbmcgc3RhcnRpbmcgd2l0aCBfXyBhbmQg dGhlIG5vcm1hbCBuYW1lIGlzIGFuIGFsaWFzLiAgKi8KfCAjaWYgZGVmaW5lZCAo X19zdHViX2dhaV9zdHJlcnJvcikgfHwgZGVmaW5lZCAoX19zdHViX19fZ2FpX3N0 cmVycm9yKQp8IGNob2tlIG1lCnwgI2Vsc2UKfCBjaGFyICgqZikgKCkgPSBnYWlf c3RyZXJyb3I7CnwgI2VuZGlmCnwgI2lmZGVmIF9fY3BsdXNwbHVzCnwgfQp8ICNl bmRpZgp8IAp8IGludAp8IG1haW4gKCkKfCB7CnwgcmV0dXJuIGYgIT0gZ2FpX3N0 cmVycm9yOwp8ICAgOwp8ICAgcmV0dXJuIDA7CnwgfQpjb25maWd1cmU6MTQ2NTU6 IHJlc3VsdDogbm8KY29uZmlndXJlOjE0NTY3OiBjaGVja2luZyBmb3IgbWtzdGVt cApjb25maWd1cmU6MTQ2MjQ6IGdjYyAtbyBjb25mdGVzdC5leGUgLWcgLU8yICAg ICBjb25mdGVzdC5jIC1sbSAgID4mNSAgCmNvbmZpZ3VyZToxNDYzMDogJD8gPSAw CmNvbmZpZ3VyZToxNDYzNDogdGVzdCAteiAKCQkJIHx8IHRlc3QgISAtcyBjb25m dGVzdC5lcnIKY29uZmlndXJlOjE0NjM3OiAkPyA9IDAKY29uZmlndXJlOjE0NjQw OiB0ZXN0IC1zIGNvbmZ0ZXN0LmV4ZQpjb25maWd1cmU6MTQ2NDM6ICQ/ID0gMApj b25maWd1cmU6MTQ2NTU6IHJlc3VsdDogeWVzCmNvbmZpZ3VyZToxNDU2NzogY2hl Y2tpbmcgZm9yIGdldGxpbmUKY29uZmlndXJlOjE0NjI0OiBnY2MgLW8gY29uZnRl c3QuZXhlIC1nIC1PMiAgICAgY29uZnRlc3QuYyAtbG0gICA+JjUgIApjb25maWd1 cmU6MTQ2MzA6ICQ/ID0gMApjb25maWd1cmU6MTQ2MzQ6IHRlc3QgLXogCgkJCSB8 fCB0ZXN0ICEgLXMgY29uZnRlc3QuZXJyCmNvbmZpZ3VyZToxNDYzNzogJD8gPSAw CmNvbmZpZ3VyZToxNDY0MDogdGVzdCAtcyBjb25mdGVzdC5leGUKY29uZmlndXJl OjE0NjQzOiAkPyA9IDAKY29uZmlndXJlOjE0NjU1OiByZXN1bHQ6IHllcwpjb25m aWd1cmU6MTQ1Njc6IGNoZWNraW5nIGZvciBnZXRkZWxpbQpjb25maWd1cmU6MTQ2 MjQ6IGdjYyAtbyBjb25mdGVzdC5leGUgLWcgLU8yICAgICBjb25mdGVzdC5jIC1s bSAgID4mNSAgCmNvbmZpZ3VyZToxNDYzMDogJD8gPSAwCmNvbmZpZ3VyZToxNDYz NDogdGVzdCAteiAKCQkJIHx8IHRlc3QgISAtcyBjb25mdGVzdC5lcnIKY29uZmln dXJlOjE0NjM3OiAkPyA9IDAKY29uZmlndXJlOjE0NjQwOiB0ZXN0IC1zIGNvbmZ0 ZXN0LmV4ZQpjb25maWd1cmU6MTQ2NDM6ICQ/ID0gMApjb25maWd1cmU6MTQ2NTU6 IHJlc3VsdDogeWVzCmNvbmZpZ3VyZToxNDU2NzogY2hlY2tpbmcgZm9yIG1yZW1h cApjb25maWd1cmU6MTQ2MjQ6IGdjYyAtbyBjb25mdGVzdC5leGUgLWcgLU8yICAg ICBjb25mdGVzdC5jIC1sbSAgID4mNSAgCi9jeWdkcml2ZS9jL0RPQ1VNRX4xL3dp bGxpYW0vTE9DQUxTfjEvVGVtcC9jY284SDcxZS5vOiBJbiBmdW5jdGlvbiBgbWFp bic6Ci9jeWdkcml2ZS9kL2VtYWNzMjIvY29uZnRlc3QuYzoxNTk6IHVuZGVmaW5l ZCByZWZlcmVuY2UgdG8gYF9tcmVtYXAnCi9jeWdkcml2ZS9kL2VtYWNzMjIvY29u ZnRlc3QuYzoxNTg6IHVuZGVmaW5lZCByZWZlcmVuY2UgdG8gYF9tcmVtYXAnCmNv bGxlY3QyOiBsZCByZXR1cm5lZCAxIGV4aXQgc3RhdHVzCmNvbmZpZ3VyZToxNDYz MDogJD8gPSAxCmNvbmZpZ3VyZTogZmFpbGVkIHByb2dyYW0gd2FzOgp8IC8qIGNv bmZkZWZzLmguICAqLwp8IAp8ICNkZWZpbmUgUEFDS0FHRV9OQU1FICIiCnwgI2Rl ZmluZSBQQUNLQUdFX1RBUk5BTUUgIiIKfCAjZGVmaW5lIFBBQ0tBR0VfVkVSU0lP TiAiIgp8ICNkZWZpbmUgUEFDS0FHRV9TVFJJTkcgIiIKfCAjZGVmaW5lIFBBQ0tB R0VfQlVHUkVQT1JUICIiCnwgI2RlZmluZSBNQUlMX1VTRV9QT1AgMQp8ICNkZWZp bmUgX0dOVV9TT1VSQ0UgMQp8ICNkZWZpbmUgU1REQ19IRUFERVJTIDEKfCAjZGVm aW5lIEhBVkVfU1lTX1RZUEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfU1RBVF9I IDEKfCAjZGVmaW5lIEhBVkVfU1RETElCX0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJJ TkdfSCAxCnwgI2RlZmluZSBIQVZFX01FTU9SWV9IIDEKfCAjZGVmaW5lIEhBVkVf U1RSSU5HU19IIDEKfCAjZGVmaW5lIEhBVkVfSU5UVFlQRVNfSCAxCnwgI2RlZmlu ZSBIQVZFX1NURElOVF9IIDEKfCAjZGVmaW5lIEhBVkVfVU5JU1REX0ggMQp8ICNk ZWZpbmUgSEFWRV9TWVNfU09VTkRDQVJEX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNf U0VMRUNUX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfVElNRUJfSCAxCnwgI2RlZmlu ZSBIQVZFX1NZU19USU1FX0ggMQp8ICNkZWZpbmUgSEFWRV9VTklTVERfSCAxCnwg I2RlZmluZSBIQVZFX1VUSU1FX0ggMQp8ICNkZWZpbmUgSEFWRV9URVJNSU9TX0gg MQp8ICNkZWZpbmUgSEFWRV9MSU1JVFNfSCAxCnwgI2RlZmluZSBIQVZFX1NUUklO R19IIDEKfCAjZGVmaW5lIEhBVkVfU1RETElCX0ggMQp8ICNkZWZpbmUgSEFWRV9U RVJNQ0FQX0ggMQp8ICNkZWZpbmUgSEFWRV9GQ05UTF9IIDEKfCAjZGVmaW5lIEhB VkVfU1RSSU5HU19IIDEKfCAjZGVmaW5lIEhBVkVfUFRZX0ggMQp8ICNkZWZpbmUg SEFWRV9TWVNfTU1BTl9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1BBUkFNX0ggMQp8 ICNkZWZpbmUgSEFWRV9TWVNfUkVTT1VSQ0VfSCAxCnwgI2RlZmluZSBIQVZFX0xP Q0FMRV9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1VUU05BTUVfSCAxCnwgI2RlZmlu ZSBIQVZFX1BXRF9IIDEKfCAjZGVmaW5lIFNURENfSEVBREVSUyAxCnwgI2RlZmlu ZSBUSU1FX1dJVEhfU1lTX1RJTUUgMQp8ICNkZWZpbmUgSEFWRV9ERUNMX1NZU19T SUdMSVNUIDAKfCAjZGVmaW5lIEhBVkVfREVDTF9fX1NZU19TSUdMSVNUIDAKfCAj ZGVmaW5lIEhBVkVfU1lTX1dBSVRfSCAxCnwgI2RlZmluZSBIQVZFX1NUUlVDVF9V VElNQlVGIDEKfCAjZGVmaW5lIFJFVFNJR1RZUEUgdm9pZAp8ICNkZWZpbmUgSEFW RV9TUEVFRF9UIDEKfCAjZGVmaW5lIEhBVkVfVElNRVZBTCAxCnwgI2RlZmluZSBI QVZFX1NZU19TT0NLRVRfSCAxCnwgI2RlZmluZSBIQVZFX05FVF9JRl9IIDEKfCAj ZGVmaW5lIEhBVkVfVFpOQU1FIDEKfCAjZGVmaW5lIEhBVkVfU1RSVUNUX0lGUkVR X0lGUl9GTEFHUyAxCnwgI2RlZmluZSBIQVZFX1NUUlVDVF9JRlJFUV9JRlJfSFdB RERSIDEKfCAjZGVmaW5lIEhBVkVfU1RSVUNUX0lGUkVRX0lGUl9ORVRNQVNLIDEK fCAjZGVmaW5lIEhBVkVfU1RSVUNUX0lGUkVRX0lGUl9CUk9BREFERFIgMQp8ICNk ZWZpbmUgSEFWRV9TVFJVQ1RfSUZSRVFfSUZSX0FERFIgMQp8ICNkZWZpbmUgUFJP VE9UWVBFUyAxCnwgI2RlZmluZSBfX1BST1RPVFlQRVMgMQp8ICNkZWZpbmUgUE9J TlRFUl9UWVBFIHZvaWQKfCAjZGVmaW5lIEhBVkVfTE9OR19GSUxFX05BTUVTIDEK fCAjZGVmaW5lIEhBVkVfU1RETElCX0ggMQp8ICNkZWZpbmUgSEFWRV9VTklTVERf SCAxCnwgI2RlZmluZSBIQVZFX0dFVFBBR0VTSVpFIDEKfCAjZGVmaW5lIFVTRV9Y SU0gMQp8ICNkZWZpbmUgSEFWRV9IX0VSUk5PIDEKfCAjZGVmaW5lIEhBVkVfQUxM T0NBX0ggMQp8ICNkZWZpbmUgSEFWRV9BTExPQ0EgMQp8ICNkZWZpbmUgSEFWRV9M SUJNIDEKfCAjZGVmaW5lIEhBVkVfR0VUSE9TVE5BTUUgMQp8ICNkZWZpbmUgSEFW RV9HRVRET01BSU5OQU1FIDEKfCAjZGVmaW5lIEhBVkVfRFVQMiAxCnwgI2RlZmlu ZSBIQVZFX1JFTkFNRSAxCnwgI2RlZmluZSBIQVZFX0NMT1NFRElSIDEKfCAjZGVm aW5lIEhBVkVfTUtESVIgMQp8ICNkZWZpbmUgSEFWRV9STURJUiAxCnwgI2RlZmlu ZSBIQVZFX0dFVFJVU0FHRSAxCnwgI2RlZmluZSBIQVZFX1JBTkRPTSAxCnwgI2Rl ZmluZSBIQVZFX0xSQU5ENDggMQp8ICNkZWZpbmUgSEFWRV9CQ09QWSAxCnwgI2Rl ZmluZSBIQVZFX0JDTVAgMQp8ICNkZWZpbmUgSEFWRV9MT0dCIDEKfCAjZGVmaW5l IEhBVkVfRlJFWFAgMQp8ICNkZWZpbmUgSEFWRV9GTU9EIDEKfCAjZGVmaW5lIEhB VkVfUklOVCAxCnwgI2RlZmluZSBIQVZFX0NCUlQgMQp8ICNkZWZpbmUgSEFWRV9G VElNRSAxCnwgI2RlZmluZSBIQVZFX1NFVFNJRCAxCnwgI2RlZmluZSBIQVZFX1NU UkVSUk9SIDEKfCAjZGVmaW5lIEhBVkVfRlBBVEhDT05GIDEKfCAjZGVmaW5lIEhB VkVfU0VMRUNUIDEKfCAjZGVmaW5lIEhBVkVfTUtUSU1FIDEKfCAjZGVmaW5lIEhB VkVfR0VUUEFHRVNJWkUgMQp8ICNkZWZpbmUgSEFWRV9UWlNFVCAxCnwgI2RlZmlu ZSBIQVZFX1NFVExPQ0FMRSAxCnwgI2RlZmluZSBIQVZFX1VUSU1FUyAxCnwgI2Rl ZmluZSBIQVZFX1NFVFJMSU1JVCAxCnwgI2RlZmluZSBIQVZFX1NFVFBHSUQgMQp8 ICNkZWZpbmUgSEFWRV9HRVRDV0QgMQp8ICNkZWZpbmUgSEFWRV9HRVRXRCAxCnwg I2RlZmluZSBIQVZFX1NIVVRET1dOIDEKfCAjZGVmaW5lIEhBVkVfTUJMRU4gMQp8 ICNkZWZpbmUgSEFWRV9NQlJMRU4gMQp8ICNkZWZpbmUgSEFWRV9NQlNJTklUIDEK fCAjZGVmaW5lIEhBVkVfU1RSU0lHTkFMIDEKfCAjZGVmaW5lIEhBVkVfU0VUSVRJ TUVSIDEKfCAjZGVmaW5lIEhBVkVfVUFMQVJNIDEKfCAjZGVmaW5lIEhBVkVfSU5E RVggMQp8ICNkZWZpbmUgSEFWRV9SSU5ERVggMQp8ICNkZWZpbmUgSEFWRV9TRU5E VE8gMQp8ICNkZWZpbmUgSEFWRV9SRUNWRlJPTSAxCnwgI2RlZmluZSBIQVZFX0dF VFNPQ0tPUFQgMQp8ICNkZWZpbmUgSEFWRV9TRVRTT0NLT1BUIDEKfCAjZGVmaW5l IEhBVkVfR0VUU09DS05BTUUgMQp8ICNkZWZpbmUgSEFWRV9HRVRQRUVSTkFNRSAx CnwgI2RlZmluZSBIQVZFX01LU1RFTVAgMQp8ICNkZWZpbmUgSEFWRV9HRVRMSU5F IDEKfCAjZGVmaW5lIEhBVkVfR0VUREVMSU0gMQp8IC8qIGVuZCBjb25mZGVmcy5o LiAgKi8KfCAvKiBEZWZpbmUgbXJlbWFwIHRvIGFuIGlubm9jdW91cyB2YXJpYW50 LCBpbiBjYXNlIDxsaW1pdHMuaD4gZGVjbGFyZXMgbXJlbWFwLgp8ICAgIEZvciBl eGFtcGxlLCBIUC1VWCAxMWkgPGxpbWl0cy5oPiBkZWNsYXJlcyBnZXR0aW1lb2Zk YXkuICAqLwp8ICNkZWZpbmUgbXJlbWFwIGlubm9jdW91c19tcmVtYXAKfCAKfCAv KiBTeXN0ZW0gaGVhZGVyIHRvIGRlZmluZSBfX3N0dWIgbWFjcm9zIGFuZCBob3Bl ZnVsbHkgZmV3IHByb3RvdHlwZXMsCnwgICAgIHdoaWNoIGNhbiBjb25mbGljdCB3 aXRoIGNoYXIgbXJlbWFwICgpOyBiZWxvdy4KfCAgICAgUHJlZmVyIDxsaW1pdHMu aD4gdG8gPGFzc2VydC5oPiBpZiBfX1NURENfXyBpcyBkZWZpbmVkLCBzaW5jZQp8 ICAgICA8bGltaXRzLmg+IGV4aXN0cyBldmVuIG9uIGZyZWVzdGFuZGluZyBjb21w aWxlcnMuICAqLwp8IAp8ICNpZmRlZiBfX1NURENfXwp8ICMgaW5jbHVkZSA8bGlt aXRzLmg+CnwgI2Vsc2UKfCAjIGluY2x1ZGUgPGFzc2VydC5oPgp8ICNlbmRpZgp8 IAp8ICN1bmRlZiBtcmVtYXAKfCAKfCAvKiBPdmVycmlkZSBhbnkgZ2NjMiBpbnRl cm5hbCBwcm90b3R5cGUgdG8gYXZvaWQgYW4gZXJyb3IuICAqLwp8ICNpZmRlZiBf X2NwbHVzcGx1cwp8IGV4dGVybiAiQyIKfCB7CnwgI2VuZGlmCnwgLyogV2UgdXNl IGNoYXIgYmVjYXVzZSBpbnQgbWlnaHQgbWF0Y2ggdGhlIHJldHVybiB0eXBlIG9m IGEgZ2NjMgp8ICAgIGJ1aWx0aW4gYW5kIHRoZW4gaXRzIGFyZ3VtZW50IHByb3Rv dHlwZSB3b3VsZCBzdGlsbCBhcHBseS4gICovCnwgY2hhciBtcmVtYXAgKCk7Cnwg LyogVGhlIEdOVSBDIGxpYnJhcnkgZGVmaW5lcyB0aGlzIGZvciBmdW5jdGlvbnMg d2hpY2ggaXQgaW1wbGVtZW50cwp8ICAgICB0byBhbHdheXMgZmFpbCB3aXRoIEVO T1NZUy4gIFNvbWUgZnVuY3Rpb25zIGFyZSBhY3R1YWxseSBuYW1lZAp8ICAgICBz b21ldGhpbmcgc3RhcnRpbmcgd2l0aCBfXyBhbmQgdGhlIG5vcm1hbCBuYW1lIGlz IGFuIGFsaWFzLiAgKi8KfCAjaWYgZGVmaW5lZCAoX19zdHViX21yZW1hcCkgfHwg ZGVmaW5lZCAoX19zdHViX19fbXJlbWFwKQp8IGNob2tlIG1lCnwgI2Vsc2UKfCBj aGFyICgqZikgKCkgPSBtcmVtYXA7CnwgI2VuZGlmCnwgI2lmZGVmIF9fY3BsdXNw bHVzCnwgfQp8ICNlbmRpZgp8IAp8IGludAp8IG1haW4gKCkKfCB7CnwgcmV0dXJu IGYgIT0gbXJlbWFwOwp8ICAgOwp8ICAgcmV0dXJuIDA7CnwgfQpjb25maWd1cmU6 MTQ2NTU6IHJlc3VsdDogbm8KY29uZmlndXJlOjE0NTY3OiBjaGVja2luZyBmb3Ig bWVtbW92ZQpjb25maWd1cmU6MTQ2MjQ6IGdjYyAtbyBjb25mdGVzdC5leGUgLWcg LU8yICAgICBjb25mdGVzdC5jIC1sbSAgID4mNSAgCmNvbmZpZ3VyZToxNDYzMDog JD8gPSAwCmNvbmZpZ3VyZToxNDYzNDogdGVzdCAteiAKCQkJIHx8IHRlc3QgISAt cyBjb25mdGVzdC5lcnIKY29uZmlndXJlOjE0NjM3OiAkPyA9IDAKY29uZmlndXJl OjE0NjQwOiB0ZXN0IC1zIGNvbmZ0ZXN0LmV4ZQpjb25maWd1cmU6MTQ2NDM6ICQ/ ID0gMApjb25maWd1cmU6MTQ2NTU6IHJlc3VsdDogeWVzCmNvbmZpZ3VyZToxNDU2 NzogY2hlY2tpbmcgZm9yIGZzeW5jCmNvbmZpZ3VyZToxNDYyNDogZ2NjIC1vIGNv bmZ0ZXN0LmV4ZSAtZyAtTzIgICAgIGNvbmZ0ZXN0LmMgLWxtICAgPiY1ICAKY29u ZmlndXJlOjE0NjMwOiAkPyA9IDAKY29uZmlndXJlOjE0NjM0OiB0ZXN0IC16IAoJ CQkgfHwgdGVzdCAhIC1zIGNvbmZ0ZXN0LmVycgpjb25maWd1cmU6MTQ2Mzc6ICQ/ ID0gMApjb25maWd1cmU6MTQ2NDA6IHRlc3QgLXMgY29uZnRlc3QuZXhlCmNvbmZp Z3VyZToxNDY0MzogJD8gPSAwCmNvbmZpZ3VyZToxNDY1NTogcmVzdWx0OiB5ZXMK Y29uZmlndXJlOjE0NTY3OiBjaGVja2luZyBmb3IgYnplcm8KY29uZmlndXJlOjE0 NjI0OiBnY2MgLW8gY29uZnRlc3QuZXhlIC1nIC1PMiAgICAgY29uZnRlc3QuYyAt bG0gICA+JjUgIApjb25mdGVzdC5jOjE0NTogd2FybmluZzogY29uZmxpY3Rpbmcg dHlwZXMgZm9yIGJ1aWx0LWluIGZ1bmN0aW9uIGBiemVybycKY29uZmlndXJlOjE0 NjMwOiAkPyA9IDAKY29uZmlndXJlOjE0NjM0OiB0ZXN0IC16IAoJCQkgfHwgdGVz dCAhIC1zIGNvbmZ0ZXN0LmVycgpjb25maWd1cmU6MTQ2Mzc6ICQ/ID0gMApjb25m aWd1cmU6MTQ2NDA6IHRlc3QgLXMgY29uZnRlc3QuZXhlCmNvbmZpZ3VyZToxNDY0 MzogJD8gPSAwCmNvbmZpZ3VyZToxNDY1NTogcmVzdWx0OiB5ZXMKY29uZmlndXJl OjE0NTY3OiBjaGVja2luZyBmb3IgbWVtc2V0CmNvbmZpZ3VyZToxNDYyNDogZ2Nj IC1vIGNvbmZ0ZXN0LmV4ZSAtZyAtTzIgICAgIGNvbmZ0ZXN0LmMgLWxtICAgPiY1 ICAKY29uZnRlc3QuYzoxNDY6IHdhcm5pbmc6IGNvbmZsaWN0aW5nIHR5cGVzIGZv ciBidWlsdC1pbiBmdW5jdGlvbiBgbWVtc2V0Jwpjb25maWd1cmU6MTQ2MzA6ICQ/ ID0gMApjb25maWd1cmU6MTQ2MzQ6IHRlc3QgLXogCgkJCSB8fCB0ZXN0ICEgLXMg Y29uZnRlc3QuZXJyCmNvbmZpZ3VyZToxNDYzNzogJD8gPSAwCmNvbmZpZ3VyZTox NDY0MDogdGVzdCAtcyBjb25mdGVzdC5leGUKY29uZmlndXJlOjE0NjQzOiAkPyA9 IDAKY29uZmlndXJlOjE0NjU1OiByZXN1bHQ6IHllcwpjb25maWd1cmU6MTQ1Njc6 IGNoZWNraW5nIGZvciBtZW1jbXAKY29uZmlndXJlOjE0NjI0OiBnY2MgLW8gY29u ZnRlc3QuZXhlIC1nIC1PMiAgICAgY29uZnRlc3QuYyAtbG0gICA+JjUgIApjb25m dGVzdC5jOjE0Nzogd2FybmluZzogY29uZmxpY3RpbmcgdHlwZXMgZm9yIGJ1aWx0 LWluIGZ1bmN0aW9uIGBtZW1jbXAnCmNvbmZpZ3VyZToxNDYzMDogJD8gPSAwCmNv bmZpZ3VyZToxNDYzNDogdGVzdCAteiAKCQkJIHx8IHRlc3QgISAtcyBjb25mdGVz dC5lcnIKY29uZmlndXJlOjE0NjM3OiAkPyA9IDAKY29uZmlndXJlOjE0NjQwOiB0 ZXN0IC1zIGNvbmZ0ZXN0LmV4ZQpjb25maWd1cmU6MTQ2NDM6ICQ/ID0gMApjb25m aWd1cmU6MTQ2NTU6IHJlc3VsdDogeWVzCmNvbmZpZ3VyZToxNDU2NzogY2hlY2tp bmcgZm9yIGRpZmZ0aW1lCmNvbmZpZ3VyZToxNDYyNDogZ2NjIC1vIGNvbmZ0ZXN0 LmV4ZSAtZyAtTzIgICAgIGNvbmZ0ZXN0LmMgLWxtICAgPiY1ICAKY29uZmlndXJl OjE0NjMwOiAkPyA9IDAKY29uZmlndXJlOjE0NjM0OiB0ZXN0IC16IAoJCQkgfHwg dGVzdCAhIC1zIGNvbmZ0ZXN0LmVycgpjb25maWd1cmU6MTQ2Mzc6ICQ/ID0gMApj b25maWd1cmU6MTQ2NDA6IHRlc3QgLXMgY29uZnRlc3QuZXhlCmNvbmZpZ3VyZTox NDY0MzogJD8gPSAwCmNvbmZpZ3VyZToxNDY1NTogcmVzdWx0OiB5ZXMKY29uZmln dXJlOjE0NTY3OiBjaGVja2luZyBmb3IgbWVtY3B5CmNvbmZpZ3VyZToxNDYyNDog Z2NjIC1vIGNvbmZ0ZXN0LmV4ZSAtZyAtTzIgICAgIGNvbmZ0ZXN0LmMgLWxtICAg PiY1ICAKY29uZnRlc3QuYzoxNDk6IHdhcm5pbmc6IGNvbmZsaWN0aW5nIHR5cGVz IGZvciBidWlsdC1pbiBmdW5jdGlvbiBgbWVtY3B5Jwpjb25maWd1cmU6MTQ2MzA6 ICQ/ID0gMApjb25maWd1cmU6MTQ2MzQ6IHRlc3QgLXogCgkJCSB8fCB0ZXN0ICEg LXMgY29uZnRlc3QuZXJyCmNvbmZpZ3VyZToxNDYzNzogJD8gPSAwCmNvbmZpZ3Vy ZToxNDY0MDogdGVzdCAtcyBjb25mdGVzdC5leGUKY29uZmlndXJlOjE0NjQzOiAk PyA9IDAKY29uZmlndXJlOjE0NjU1OiByZXN1bHQ6IHllcwpjb25maWd1cmU6MTQ1 Njc6IGNoZWNraW5nIGZvciBtZW1wY3B5CmNvbmZpZ3VyZToxNDYyNDogZ2NjIC1v IGNvbmZ0ZXN0LmV4ZSAtZyAtTzIgICAgIGNvbmZ0ZXN0LmMgLWxtICAgPiY1ICAK Y29uZmlndXJlOjE0NjMwOiAkPyA9IDAKY29uZmlndXJlOjE0NjM0OiB0ZXN0IC16 IAoJCQkgfHwgdGVzdCAhIC1zIGNvbmZ0ZXN0LmVycgpjb25maWd1cmU6MTQ2Mzc6 ICQ/ID0gMApjb25maWd1cmU6MTQ2NDA6IHRlc3QgLXMgY29uZnRlc3QuZXhlCmNv bmZpZ3VyZToxNDY0MzogJD8gPSAwCmNvbmZpZ3VyZToxNDY1NTogcmVzdWx0OiB5 ZXMKY29uZmlndXJlOjE0NTY3OiBjaGVja2luZyBmb3IgbWJsZW4KY29uZmlndXJl OjE0NjU1OiByZXN1bHQ6IHllcwpjb25maWd1cmU6MTQ1Njc6IGNoZWNraW5nIGZv ciBtYnJsZW4KY29uZmlndXJlOjE0NjU1OiByZXN1bHQ6IHllcwpjb25maWd1cmU6 MTQ1Njc6IGNoZWNraW5nIGZvciBwb3NpeF9tZW1hbGlnbgpjb25maWd1cmU6MTQ2 MjQ6IGdjYyAtbyBjb25mdGVzdC5leGUgLWcgLU8yICAgICBjb25mdGVzdC5jIC1s bSAgID4mNSAgCi9jeWdkcml2ZS9jL0RPQ1VNRX4xL3dpbGxpYW0vTE9DQUxTfjEv VGVtcC9jY1FyT3VJSi5vOiBJbiBmdW5jdGlvbiBgbWFpbic6Ci9jeWdkcml2ZS9k L2VtYWNzMjIvY29uZnRlc3QuYzoxNjk6IHVuZGVmaW5lZCByZWZlcmVuY2UgdG8g YF9wb3NpeF9tZW1hbGlnbicKL2N5Z2RyaXZlL2QvZW1hY3MyMi9jb25mdGVzdC5j OjE2ODogdW5kZWZpbmVkIHJlZmVyZW5jZSB0byBgX3Bvc2l4X21lbWFsaWduJwpj b2xsZWN0MjogbGQgcmV0dXJuZWQgMSBleGl0IHN0YXR1cwpjb25maWd1cmU6MTQ2 MzA6ICQ/ID0gMQpjb25maWd1cmU6IGZhaWxlZCBwcm9ncmFtIHdhczoKfCAvKiBj b25mZGVmcy5oLiAgKi8KfCAKfCAjZGVmaW5lIFBBQ0tBR0VfTkFNRSAiIgp8ICNk ZWZpbmUgUEFDS0FHRV9UQVJOQU1FICIiCnwgI2RlZmluZSBQQUNLQUdFX1ZFUlNJ T04gIiIKfCAjZGVmaW5lIFBBQ0tBR0VfU1RSSU5HICIiCnwgI2RlZmluZSBQQUNL QUdFX0JVR1JFUE9SVCAiIgp8ICNkZWZpbmUgTUFJTF9VU0VfUE9QIDEKfCAjZGVm aW5lIF9HTlVfU09VUkNFIDEKfCAjZGVmaW5lIFNURENfSEVBREVSUyAxCnwgI2Rl ZmluZSBIQVZFX1NZU19UWVBFU19IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NUQVRf SCAxCnwgI2RlZmluZSBIQVZFX1NURExJQl9IIDEKfCAjZGVmaW5lIEhBVkVfU1RS SU5HX0ggMQp8ICNkZWZpbmUgSEFWRV9NRU1PUllfSCAxCnwgI2RlZmluZSBIQVZF X1NUUklOR1NfSCAxCnwgI2RlZmluZSBIQVZFX0lOVFRZUEVTX0ggMQp8ICNkZWZp bmUgSEFWRV9TVERJTlRfSCAxCnwgI2RlZmluZSBIQVZFX1VOSVNURF9IIDEKfCAj ZGVmaW5lIEhBVkVfU1lTX1NPVU5EQ0FSRF9IIDEKfCAjZGVmaW5lIEhBVkVfU1lT X1NFTEVDVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1RJTUVCX0ggMQp8ICNkZWZp bmUgSEFWRV9TWVNfVElNRV9IIDEKfCAjZGVmaW5lIEhBVkVfVU5JU1REX0ggMQp8 ICNkZWZpbmUgSEFWRV9VVElNRV9IIDEKfCAjZGVmaW5lIEhBVkVfVEVSTUlPU19I IDEKfCAjZGVmaW5lIEhBVkVfTElNSVRTX0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJJ TkdfSCAxCnwgI2RlZmluZSBIQVZFX1NURExJQl9IIDEKfCAjZGVmaW5lIEhBVkVf VEVSTUNBUF9IIDEKfCAjZGVmaW5lIEhBVkVfRkNOVExfSCAxCnwgI2RlZmluZSBI QVZFX1NUUklOR1NfSCAxCnwgI2RlZmluZSBIQVZFX1BUWV9IIDEKfCAjZGVmaW5l IEhBVkVfU1lTX01NQU5fSCAxCnwgI2RlZmluZSBIQVZFX1NZU19QQVJBTV9IIDEK fCAjZGVmaW5lIEhBVkVfU1lTX1JFU09VUkNFX0ggMQp8ICNkZWZpbmUgSEFWRV9M T0NBTEVfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19VVFNOQU1FX0ggMQp8ICNkZWZp bmUgSEFWRV9QV0RfSCAxCnwgI2RlZmluZSBTVERDX0hFQURFUlMgMQp8ICNkZWZp bmUgVElNRV9XSVRIX1NZU19USU1FIDEKfCAjZGVmaW5lIEhBVkVfREVDTF9TWVNf U0lHTElTVCAwCnwgI2RlZmluZSBIQVZFX0RFQ0xfX19TWVNfU0lHTElTVCAwCnwg I2RlZmluZSBIQVZFX1NZU19XQUlUX0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJVQ1Rf VVRJTUJVRiAxCnwgI2RlZmluZSBSRVRTSUdUWVBFIHZvaWQKfCAjZGVmaW5lIEhB VkVfU1BFRURfVCAxCnwgI2RlZmluZSBIQVZFX1RJTUVWQUwgMQp8ICNkZWZpbmUg SEFWRV9TWVNfU09DS0VUX0ggMQp8ICNkZWZpbmUgSEFWRV9ORVRfSUZfSCAxCnwg I2RlZmluZSBIQVZFX1RaTkFNRSAxCnwgI2RlZmluZSBIQVZFX1NUUlVDVF9JRlJF UV9JRlJfRkxBR1MgMQp8ICNkZWZpbmUgSEFWRV9TVFJVQ1RfSUZSRVFfSUZSX0hX QUREUiAxCnwgI2RlZmluZSBIQVZFX1NUUlVDVF9JRlJFUV9JRlJfTkVUTUFTSyAx CnwgI2RlZmluZSBIQVZFX1NUUlVDVF9JRlJFUV9JRlJfQlJPQURBRERSIDEKfCAj ZGVmaW5lIEhBVkVfU1RSVUNUX0lGUkVRX0lGUl9BRERSIDEKfCAjZGVmaW5lIFBS T1RPVFlQRVMgMQp8ICNkZWZpbmUgX19QUk9UT1RZUEVTIDEKfCAjZGVmaW5lIFBP SU5URVJfVFlQRSB2b2lkCnwgI2RlZmluZSBIQVZFX0xPTkdfRklMRV9OQU1FUyAx CnwgI2RlZmluZSBIQVZFX1NURExJQl9IIDEKfCAjZGVmaW5lIEhBVkVfVU5JU1RE X0ggMQp8ICNkZWZpbmUgSEFWRV9HRVRQQUdFU0laRSAxCnwgI2RlZmluZSBVU0Vf WElNIDEKfCAjZGVmaW5lIEhBVkVfSF9FUlJOTyAxCnwgI2RlZmluZSBIQVZFX0FM TE9DQV9IIDEKfCAjZGVmaW5lIEhBVkVfQUxMT0NBIDEKfCAjZGVmaW5lIEhBVkVf TElCTSAxCnwgI2RlZmluZSBIQVZFX0dFVEhPU1ROQU1FIDEKfCAjZGVmaW5lIEhB VkVfR0VURE9NQUlOTkFNRSAxCnwgI2RlZmluZSBIQVZFX0RVUDIgMQp8ICNkZWZp bmUgSEFWRV9SRU5BTUUgMQp8ICNkZWZpbmUgSEFWRV9DTE9TRURJUiAxCnwgI2Rl ZmluZSBIQVZFX01LRElSIDEKfCAjZGVmaW5lIEhBVkVfUk1ESVIgMQp8ICNkZWZp bmUgSEFWRV9HRVRSVVNBR0UgMQp8ICNkZWZpbmUgSEFWRV9SQU5ET00gMQp8ICNk ZWZpbmUgSEFWRV9MUkFORDQ4IDEKfCAjZGVmaW5lIEhBVkVfQkNPUFkgMQp8ICNk ZWZpbmUgSEFWRV9CQ01QIDEKfCAjZGVmaW5lIEhBVkVfTE9HQiAxCnwgI2RlZmlu ZSBIQVZFX0ZSRVhQIDEKfCAjZGVmaW5lIEhBVkVfRk1PRCAxCnwgI2RlZmluZSBI QVZFX1JJTlQgMQp8ICNkZWZpbmUgSEFWRV9DQlJUIDEKfCAjZGVmaW5lIEhBVkVf RlRJTUUgMQp8ICNkZWZpbmUgSEFWRV9TRVRTSUQgMQp8ICNkZWZpbmUgSEFWRV9T VFJFUlJPUiAxCnwgI2RlZmluZSBIQVZFX0ZQQVRIQ09ORiAxCnwgI2RlZmluZSBI QVZFX1NFTEVDVCAxCnwgI2RlZmluZSBIQVZFX01LVElNRSAxCnwgI2RlZmluZSBI QVZFX0dFVFBBR0VTSVpFIDEKfCAjZGVmaW5lIEhBVkVfVFpTRVQgMQp8ICNkZWZp bmUgSEFWRV9TRVRMT0NBTEUgMQp8ICNkZWZpbmUgSEFWRV9VVElNRVMgMQp8ICNk ZWZpbmUgSEFWRV9TRVRSTElNSVQgMQp8ICNkZWZpbmUgSEFWRV9TRVRQR0lEIDEK fCAjZGVmaW5lIEhBVkVfR0VUQ1dEIDEKfCAjZGVmaW5lIEhBVkVfR0VUV0QgMQp8 ICNkZWZpbmUgSEFWRV9TSFVURE9XTiAxCnwgI2RlZmluZSBIQVZFX01CTEVOIDEK fCAjZGVmaW5lIEhBVkVfTUJSTEVOIDEKfCAjZGVmaW5lIEhBVkVfTUJTSU5JVCAx CnwgI2RlZmluZSBIQVZFX1NUUlNJR05BTCAxCnwgI2RlZmluZSBIQVZFX1NFVElU SU1FUiAxCnwgI2RlZmluZSBIQVZFX1VBTEFSTSAxCnwgI2RlZmluZSBIQVZFX0lO REVYIDEKfCAjZGVmaW5lIEhBVkVfUklOREVYIDEKfCAjZGVmaW5lIEhBVkVfU0VO RFRPIDEKfCAjZGVmaW5lIEhBVkVfUkVDVkZST00gMQp8ICNkZWZpbmUgSEFWRV9H RVRTT0NLT1BUIDEKfCAjZGVmaW5lIEhBVkVfU0VUU09DS09QVCAxCnwgI2RlZmlu ZSBIQVZFX0dFVFNPQ0tOQU1FIDEKfCAjZGVmaW5lIEhBVkVfR0VUUEVFUk5BTUUg MQp8ICNkZWZpbmUgSEFWRV9NS1NURU1QIDEKfCAjZGVmaW5lIEhBVkVfR0VUTElO RSAxCnwgI2RlZmluZSBIQVZFX0dFVERFTElNIDEKfCAjZGVmaW5lIEhBVkVfTUVN TU9WRSAxCnwgI2RlZmluZSBIQVZFX0ZTWU5DIDEKfCAjZGVmaW5lIEhBVkVfQlpF Uk8gMQp8ICNkZWZpbmUgSEFWRV9NRU1TRVQgMQp8ICNkZWZpbmUgSEFWRV9NRU1D TVAgMQp8ICNkZWZpbmUgSEFWRV9ESUZGVElNRSAxCnwgI2RlZmluZSBIQVZFX01F TUNQWSAxCnwgI2RlZmluZSBIQVZFX01FTVBDUFkgMQp8ICNkZWZpbmUgSEFWRV9N QkxFTiAxCnwgI2RlZmluZSBIQVZFX01CUkxFTiAxCnwgLyogZW5kIGNvbmZkZWZz LmguICAqLwp8IC8qIERlZmluZSBwb3NpeF9tZW1hbGlnbiB0byBhbiBpbm5vY3Vv dXMgdmFyaWFudCwgaW4gY2FzZSA8bGltaXRzLmg+IGRlY2xhcmVzIHBvc2l4X21l bWFsaWduLgp8ICAgIEZvciBleGFtcGxlLCBIUC1VWCAxMWkgPGxpbWl0cy5oPiBk ZWNsYXJlcyBnZXR0aW1lb2ZkYXkuICAqLwp8ICNkZWZpbmUgcG9zaXhfbWVtYWxp Z24gaW5ub2N1b3VzX3Bvc2l4X21lbWFsaWduCnwgCnwgLyogU3lzdGVtIGhlYWRl ciB0byBkZWZpbmUgX19zdHViIG1hY3JvcyBhbmQgaG9wZWZ1bGx5IGZldyBwcm90 b3R5cGVzLAp8ICAgICB3aGljaCBjYW4gY29uZmxpY3Qgd2l0aCBjaGFyIHBvc2l4 X21lbWFsaWduICgpOyBiZWxvdy4KfCAgICAgUHJlZmVyIDxsaW1pdHMuaD4gdG8g PGFzc2VydC5oPiBpZiBfX1NURENfXyBpcyBkZWZpbmVkLCBzaW5jZQp8ICAgICA8 bGltaXRzLmg+IGV4aXN0cyBldmVuIG9uIGZyZWVzdGFuZGluZyBjb21waWxlcnMu ICAqLwp8IAp8ICNpZmRlZiBfX1NURENfXwp8ICMgaW5jbHVkZSA8bGltaXRzLmg+ CnwgI2Vsc2UKfCAjIGluY2x1ZGUgPGFzc2VydC5oPgp8ICNlbmRpZgp8IAp8ICN1 bmRlZiBwb3NpeF9tZW1hbGlnbgp8IAp8IC8qIE92ZXJyaWRlIGFueSBnY2MyIGlu dGVybmFsIHByb3RvdHlwZSB0byBhdm9pZCBhbiBlcnJvci4gICovCnwgI2lmZGVm IF9fY3BsdXNwbHVzCnwgZXh0ZXJuICJDIgp8IHsKfCAjZW5kaWYKfCAvKiBXZSB1 c2UgY2hhciBiZWNhdXNlIGludCBtaWdodCBtYXRjaCB0aGUgcmV0dXJuIHR5cGUg b2YgYSBnY2MyCnwgICAgYnVpbHRpbiBhbmQgdGhlbiBpdHMgYXJndW1lbnQgcHJv dG90eXBlIHdvdWxkIHN0aWxsIGFwcGx5LiAgKi8KfCBjaGFyIHBvc2l4X21lbWFs aWduICgpOwp8IC8qIFRoZSBHTlUgQyBsaWJyYXJ5IGRlZmluZXMgdGhpcyBmb3Ig ZnVuY3Rpb25zIHdoaWNoIGl0IGltcGxlbWVudHMKfCAgICAgdG8gYWx3YXlzIGZh aWwgd2l0aCBFTk9TWVMuICBTb21lIGZ1bmN0aW9ucyBhcmUgYWN0dWFsbHkgbmFt ZWQKfCAgICAgc29tZXRoaW5nIHN0YXJ0aW5nIHdpdGggX18gYW5kIHRoZSBub3Jt YWwgbmFtZSBpcyBhbiBhbGlhcy4gICovCnwgI2lmIGRlZmluZWQgKF9fc3R1Yl9w b3NpeF9tZW1hbGlnbikgfHwgZGVmaW5lZCAoX19zdHViX19fcG9zaXhfbWVtYWxp Z24pCnwgY2hva2UgbWUKfCAjZWxzZQp8IGNoYXIgKCpmKSAoKSA9IHBvc2l4X21l bWFsaWduOwp8ICNlbmRpZgp8ICNpZmRlZiBfX2NwbHVzcGx1cwp8IH0KfCAjZW5k aWYKfCAKfCBpbnQKfCBtYWluICgpCnwgewp8IHJldHVybiBmICE9IHBvc2l4X21l bWFsaWduOwp8ICAgOwp8ICAgcmV0dXJuIDA7CnwgfQpjb25maWd1cmU6MTQ2NTU6 IHJlc3VsdDogbm8KY29uZmlndXJlOjE0NjgwOiBjaGVja2luZyBzeXMvdW4uaCB1 c2FiaWxpdHkKY29uZmlndXJlOjE0NjkyOiBnY2MgLWMgLWcgLU8yICAgIGNvbmZ0 ZXN0LmMgPiY1CmNvbmZpZ3VyZToxNDY5ODogJD8gPSAwCmNvbmZpZ3VyZToxNDcw MjogdGVzdCAteiAKCQkJIHx8IHRlc3QgISAtcyBjb25mdGVzdC5lcnIKY29uZmln dXJlOjE0NzA1OiAkPyA9IDAKY29uZmlndXJlOjE0NzA4OiB0ZXN0IC1zIGNvbmZ0 ZXN0Lm8KY29uZmlndXJlOjE0NzExOiAkPyA9IDAKY29uZmlndXJlOjE0NzIxOiBy ZXN1bHQ6IHllcwpjb25maWd1cmU6MTQ3MjU6IGNoZWNraW5nIHN5cy91bi5oIHBy ZXNlbmNlCmNvbmZpZ3VyZToxNDczNTogZ2NjIC1FICAgIGNvbmZ0ZXN0LmMKY29u ZmlndXJlOjE0NzQxOiAkPyA9IDAKY29uZmlndXJlOjE0NzYxOiByZXN1bHQ6IHll cwpjb25maWd1cmU6MTQ3OTY6IGNoZWNraW5nIGZvciBzeXMvdW4uaApjb25maWd1 cmU6MTQ4MDM6IHJlc3VsdDogeWVzCmNvbmZpZ3VyZToxNDgyNDogY2hlY2tpbmcg Zm9yIHN0ZGxpYi5oCmNvbmZpZ3VyZToxNDgyOTogcmVzdWx0OiB5ZXMKY29uZmln dXJlOjE0ODI0OiBjaGVja2luZyBmb3Igc3lzL3RpbWUuaApjb25maWd1cmU6MTQ4 Mjk6IHJlc3VsdDogeWVzCmNvbmZpZ3VyZToxNDgyNDogY2hlY2tpbmcgZm9yIHVu aXN0ZC5oCmNvbmZpZ3VyZToxNDgyOTogcmVzdWx0OiB5ZXMKY29uZmlndXJlOjE0 OTczOiBjaGVja2luZyBmb3IgYWxhcm0KY29uZmlndXJlOjE1MDMwOiBnY2MgLW8g Y29uZnRlc3QuZXhlIC1nIC1PMiAgICAgY29uZnRlc3QuYyAtbG0gICA+JjUgIApj b25maWd1cmU6MTUwMzY6ICQ/ID0gMApjb25maWd1cmU6MTUwNDA6IHRlc3QgLXog CgkJCSB8fCB0ZXN0ICEgLXMgY29uZnRlc3QuZXJyCmNvbmZpZ3VyZToxNTA0Mzog JD8gPSAwCmNvbmZpZ3VyZToxNTA0NjogdGVzdCAtcyBjb25mdGVzdC5leGUKY29u ZmlndXJlOjE1MDQ5OiAkPyA9IDAKY29uZmlndXJlOjE1MDYxOiByZXN1bHQ6IHll cwpjb25maWd1cmU6MTUwNzE6IGNoZWNraW5nIGZvciB3b3JraW5nIG1rdGltZQpj b25maWd1cmU6MTUyNDc6IGdjYyAtbyBjb25mdGVzdC5leGUgLWcgLU8yICAgICBj b25mdGVzdC5jIC1sbSAgID4mNSAgCmNvbmZpZ3VyZToxNTI1MDogJD8gPSAwCmNv bmZpZ3VyZToxNTI1MjogLi9jb25mdGVzdC5leGUKY29uZmlndXJlOjE1MjU1OiAk PyA9IDEKY29uZmlndXJlOiBwcm9ncmFtIGV4aXRlZCB3aXRoIHN0YXR1cyAxCmNv bmZpZ3VyZTogZmFpbGVkIHByb2dyYW0gd2FzOgp8IC8qIGNvbmZkZWZzLmguICAq Lwp8IAp8ICNkZWZpbmUgUEFDS0FHRV9OQU1FICIiCnwgI2RlZmluZSBQQUNLQUdF X1RBUk5BTUUgIiIKfCAjZGVmaW5lIFBBQ0tBR0VfVkVSU0lPTiAiIgp8ICNkZWZp bmUgUEFDS0FHRV9TVFJJTkcgIiIKfCAjZGVmaW5lIFBBQ0tBR0VfQlVHUkVQT1JU ICIiCnwgI2RlZmluZSBNQUlMX1VTRV9QT1AgMQp8ICNkZWZpbmUgX0dOVV9TT1VS Q0UgMQp8ICNkZWZpbmUgU1REQ19IRUFERVJTIDEKfCAjZGVmaW5lIEhBVkVfU1lT X1RZUEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfU1RBVF9IIDEKfCAjZGVmaW5l IEhBVkVfU1RETElCX0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJJTkdfSCAxCnwgI2Rl ZmluZSBIQVZFX01FTU9SWV9IIDEKfCAjZGVmaW5lIEhBVkVfU1RSSU5HU19IIDEK fCAjZGVmaW5lIEhBVkVfSU5UVFlQRVNfSCAxCnwgI2RlZmluZSBIQVZFX1NURElO VF9IIDEKfCAjZGVmaW5lIEhBVkVfVU5JU1REX0ggMQp8ICNkZWZpbmUgSEFWRV9T WVNfU09VTkRDQVJEX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfU0VMRUNUX0ggMQp8 ICNkZWZpbmUgSEFWRV9TWVNfVElNRUJfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19U SU1FX0ggMQp8ICNkZWZpbmUgSEFWRV9VTklTVERfSCAxCnwgI2RlZmluZSBIQVZF X1VUSU1FX0ggMQp8ICNkZWZpbmUgSEFWRV9URVJNSU9TX0ggMQp8ICNkZWZpbmUg SEFWRV9MSU1JVFNfSCAxCnwgI2RlZmluZSBIQVZFX1NUUklOR19IIDEKfCAjZGVm aW5lIEhBVkVfU1RETElCX0ggMQp8ICNkZWZpbmUgSEFWRV9URVJNQ0FQX0ggMQp8 ICNkZWZpbmUgSEFWRV9GQ05UTF9IIDEKfCAjZGVmaW5lIEhBVkVfU1RSSU5HU19I IDEKfCAjZGVmaW5lIEhBVkVfUFRZX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfTU1B Tl9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1BBUkFNX0ggMQp8ICNkZWZpbmUgSEFW RV9TWVNfUkVTT1VSQ0VfSCAxCnwgI2RlZmluZSBIQVZFX0xPQ0FMRV9IIDEKfCAj ZGVmaW5lIEhBVkVfU1lTX1VUU05BTUVfSCAxCnwgI2RlZmluZSBIQVZFX1BXRF9I IDEKfCAjZGVmaW5lIFNURENfSEVBREVSUyAxCnwgI2RlZmluZSBUSU1FX1dJVEhf U1lTX1RJTUUgMQp8ICNkZWZpbmUgSEFWRV9ERUNMX1NZU19TSUdMSVNUIDAKfCAj ZGVmaW5lIEhBVkVfREVDTF9fX1NZU19TSUdMSVNUIDAKfCAjZGVmaW5lIEhBVkVf U1lTX1dBSVRfSCAxCnwgI2RlZmluZSBIQVZFX1NUUlVDVF9VVElNQlVGIDEKfCAj ZGVmaW5lIFJFVFNJR1RZUEUgdm9pZAp8ICNkZWZpbmUgSEFWRV9TUEVFRF9UIDEK fCAjZGVmaW5lIEhBVkVfVElNRVZBTCAxCnwgI2RlZmluZSBIQVZFX1NZU19TT0NL RVRfSCAxCnwgI2RlZmluZSBIQVZFX05FVF9JRl9IIDEKfCAjZGVmaW5lIEhBVkVf VFpOQU1FIDEKfCAjZGVmaW5lIEhBVkVfU1RSVUNUX0lGUkVRX0lGUl9GTEFHUyAx CnwgI2RlZmluZSBIQVZFX1NUUlVDVF9JRlJFUV9JRlJfSFdBRERSIDEKfCAjZGVm aW5lIEhBVkVfU1RSVUNUX0lGUkVRX0lGUl9ORVRNQVNLIDEKfCAjZGVmaW5lIEhB VkVfU1RSVUNUX0lGUkVRX0lGUl9CUk9BREFERFIgMQp8ICNkZWZpbmUgSEFWRV9T VFJVQ1RfSUZSRVFfSUZSX0FERFIgMQp8ICNkZWZpbmUgUFJPVE9UWVBFUyAxCnwg I2RlZmluZSBfX1BST1RPVFlQRVMgMQp8ICNkZWZpbmUgUE9JTlRFUl9UWVBFIHZv aWQKfCAjZGVmaW5lIEhBVkVfTE9OR19GSUxFX05BTUVTIDEKfCAjZGVmaW5lIEhB VkVfU1RETElCX0ggMQp8ICNkZWZpbmUgSEFWRV9VTklTVERfSCAxCnwgI2RlZmlu ZSBIQVZFX0dFVFBBR0VTSVpFIDEKfCAjZGVmaW5lIFVTRV9YSU0gMQp8ICNkZWZp bmUgSEFWRV9IX0VSUk5PIDEKfCAjZGVmaW5lIEhBVkVfQUxMT0NBX0ggMQp8ICNk ZWZpbmUgSEFWRV9BTExPQ0EgMQp8ICNkZWZpbmUgSEFWRV9MSUJNIDEKfCAjZGVm aW5lIEhBVkVfR0VUSE9TVE5BTUUgMQp8ICNkZWZpbmUgSEFWRV9HRVRET01BSU5O QU1FIDEKfCAjZGVmaW5lIEhBVkVfRFVQMiAxCnwgI2RlZmluZSBIQVZFX1JFTkFN RSAxCnwgI2RlZmluZSBIQVZFX0NMT1NFRElSIDEKfCAjZGVmaW5lIEhBVkVfTUtE SVIgMQp8ICNkZWZpbmUgSEFWRV9STURJUiAxCnwgI2RlZmluZSBIQVZFX0dFVFJV U0FHRSAxCnwgI2RlZmluZSBIQVZFX1JBTkRPTSAxCnwgI2RlZmluZSBIQVZFX0xS QU5ENDggMQp8ICNkZWZpbmUgSEFWRV9CQ09QWSAxCnwgI2RlZmluZSBIQVZFX0JD TVAgMQp8ICNkZWZpbmUgSEFWRV9MT0dCIDEKfCAjZGVmaW5lIEhBVkVfRlJFWFAg MQp8ICNkZWZpbmUgSEFWRV9GTU9EIDEKfCAjZGVmaW5lIEhBVkVfUklOVCAxCnwg I2RlZmluZSBIQVZFX0NCUlQgMQp8ICNkZWZpbmUgSEFWRV9GVElNRSAxCnwgI2Rl ZmluZSBIQVZFX1NFVFNJRCAxCnwgI2RlZmluZSBIQVZFX1NUUkVSUk9SIDEKfCAj ZGVmaW5lIEhBVkVfRlBBVEhDT05GIDEKfCAjZGVmaW5lIEhBVkVfU0VMRUNUIDEK fCAjZGVmaW5lIEhBVkVfTUtUSU1FIDEKfCAjZGVmaW5lIEhBVkVfR0VUUEFHRVNJ WkUgMQp8ICNkZWZpbmUgSEFWRV9UWlNFVCAxCnwgI2RlZmluZSBIQVZFX1NFVExP Q0FMRSAxCnwgI2RlZmluZSBIQVZFX1VUSU1FUyAxCnwgI2RlZmluZSBIQVZFX1NF VFJMSU1JVCAxCnwgI2RlZmluZSBIQVZFX1NFVFBHSUQgMQp8ICNkZWZpbmUgSEFW RV9HRVRDV0QgMQp8ICNkZWZpbmUgSEFWRV9HRVRXRCAxCnwgI2RlZmluZSBIQVZF X1NIVVRET1dOIDEKfCAjZGVmaW5lIEhBVkVfTUJMRU4gMQp8ICNkZWZpbmUgSEFW RV9NQlJMRU4gMQp8ICNkZWZpbmUgSEFWRV9NQlNJTklUIDEKfCAjZGVmaW5lIEhB VkVfU1RSU0lHTkFMIDEKfCAjZGVmaW5lIEhBVkVfU0VUSVRJTUVSIDEKfCAjZGVm aW5lIEhBVkVfVUFMQVJNIDEKfCAjZGVmaW5lIEhBVkVfSU5ERVggMQp8ICNkZWZp bmUgSEFWRV9SSU5ERVggMQp8ICNkZWZpbmUgSEFWRV9TRU5EVE8gMQp8ICNkZWZp bmUgSEFWRV9SRUNWRlJPTSAxCnwgI2RlZmluZSBIQVZFX0dFVFNPQ0tPUFQgMQp8 ICNkZWZpbmUgSEFWRV9TRVRTT0NLT1BUIDEKfCAjZGVmaW5lIEhBVkVfR0VUU09D S05BTUUgMQp8ICNkZWZpbmUgSEFWRV9HRVRQRUVSTkFNRSAxCnwgI2RlZmluZSBI QVZFX01LU1RFTVAgMQp8ICNkZWZpbmUgSEFWRV9HRVRMSU5FIDEKfCAjZGVmaW5l IEhBVkVfR0VUREVMSU0gMQp8ICNkZWZpbmUgSEFWRV9NRU1NT1ZFIDEKfCAjZGVm aW5lIEhBVkVfRlNZTkMgMQp8ICNkZWZpbmUgSEFWRV9CWkVSTyAxCnwgI2RlZmlu ZSBIQVZFX01FTVNFVCAxCnwgI2RlZmluZSBIQVZFX01FTUNNUCAxCnwgI2RlZmlu ZSBIQVZFX0RJRkZUSU1FIDEKfCAjZGVmaW5lIEhBVkVfTUVNQ1BZIDEKfCAjZGVm aW5lIEhBVkVfTUVNUENQWSAxCnwgI2RlZmluZSBIQVZFX01CTEVOIDEKfCAjZGVm aW5lIEhBVkVfTUJSTEVOIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1VOX0ggMQp8ICNk ZWZpbmUgSEFWRV9TVERMSUJfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19USU1FX0gg MQp8ICNkZWZpbmUgSEFWRV9VTklTVERfSCAxCnwgI2RlZmluZSBIQVZFX0FMQVJN IDEKfCAvKiBlbmQgY29uZmRlZnMuaC4gICovCnwgLyogVGVzdCBwcm9ncmFtIGZy b20gUGF1bCBFZ2dlcnQgYW5kIFRvbnkgTGVuZWlzLiAgKi8KfCAjaWYgVElNRV9X SVRIX1NZU19USU1FCnwgIyBpbmNsdWRlIDxzeXMvdGltZS5oPgp8ICMgaW5jbHVk ZSA8dGltZS5oPgp8ICNlbHNlCnwgIyBpZiBIQVZFX1NZU19USU1FX0gKfCAjICBp bmNsdWRlIDxzeXMvdGltZS5oPgp8ICMgZWxzZQp8ICMgIGluY2x1ZGUgPHRpbWUu aD4KfCAjIGVuZGlmCnwgI2VuZGlmCnwgCnwgI2lmIEhBVkVfU1RETElCX0gKfCAj IGluY2x1ZGUgPHN0ZGxpYi5oPgp8ICNlbmRpZgp8IAp8ICNpZiBIQVZFX1VOSVNU RF9ICnwgIyBpbmNsdWRlIDx1bmlzdGQuaD4KfCAjZW5kaWYKfCAKfCAjaWYgIUhB VkVfQUxBUk0KfCAjIGRlZmluZSBhbGFybShYKSAvKiBlbXB0eSAqLwp8ICNlbmRp Zgp8IAp8IC8qIFdvcmsgYXJvdW5kIHJlZGVmaW5pdGlvbiB0byBycGxfcHV0ZW52 IGJ5IG90aGVyIGNvbmZpZyB0ZXN0cy4gICovCnwgI3VuZGVmIHB1dGVudgp8IAp8 IHN0YXRpYyB0aW1lX3QgdGltZV90X21heDsKfCBzdGF0aWMgdGltZV90IHRpbWVf dF9taW47CnwgCnwgLyogVmFsdWVzIHdlJ2xsIHVzZSB0byBzZXQgdGhlIFRaIGVu dmlyb25tZW50IHZhcmlhYmxlLiAgKi8KfCBzdGF0aWMgY2hhciAqdHpfc3RyaW5n c1tdID0gewp8ICAgKGNoYXIgKikgMCwgIlRaPUdNVDAiLCAiVFo9SlNULTkiLAp8 ICAgIlRaPUVTVCszRURUKzIsTTEwLjEuMC8wMDowMDowMCxNMi4zLjAvMDA6MDA6 MDAiCnwgfTsKfCAjZGVmaW5lIE5fU1RSSU5HUyAoc2l6ZW9mICh0el9zdHJpbmdz KSAvIHNpemVvZiAodHpfc3RyaW5nc1swXSkpCnwgCnwgLyogRmFpbCBpZiBta3Rp bWUgZmFpbHMgdG8gY29udmVydCBhIGRhdGUgaW4gdGhlIHNwcmluZy1mb3J3YXJk IGdhcC4KfCAgICBCYXNlZCBvbiBhIHByb2JsZW0gcmVwb3J0IGZyb20gQW5kcmVh cyBKYWVnZXIuICAqLwp8IHN0YXRpYyB2b2lkCnwgc3ByaW5nX2ZvcndhcmRfZ2Fw ICgpCnwgewp8ICAgLyogZ2xpYmMgKHVwIHRvIGFib3V0IDE5OTgtMTAtMDcpIGZh aWxlZCB0aGlzIHRlc3QuICovCnwgICBzdHJ1Y3QgdG0gdG07CnwgCnwgICAvKiBV c2UgdGhlIHBvcnRhYmxlIFBPU0lYLjEgc3BlY2lmaWNhdGlvbiAiVFo9UFNUOFBE VCxNNC4xLjAsTTEwLjUuMCIKfCAgICAgIGluc3RlYWQgb2YgIlRaPUFtZXJpY2Ev VmFuY291dmVyIiBpbiBvcmRlciB0byBkZXRlY3QgdGhlIGJ1ZyBldmVuCnwgICAg ICBvbiBzeXN0ZW1zIHRoYXQgZG9uJ3Qgc3VwcG9ydCB0aGUgT2xzb24gZXh0ZW5z aW9uLCBvciBkb24ndCBoYXZlIHRoZQp8ICAgICAgZnVsbCB6b25laW5mbyB0YWJs ZXMgaW5zdGFsbGVkLiAgKi8KfCAgIHB1dGVudiAoIlRaPVBTVDhQRFQsTTQuMS4w LE0xMC41LjAiKTsKfCAKfCAgIHRtLnRtX3llYXIgPSA5ODsKfCAgIHRtLnRtX21v biA9IDM7CnwgICB0bS50bV9tZGF5ID0gNTsKfCAgIHRtLnRtX2hvdXIgPSAyOwp8 ICAgdG0udG1fbWluID0gMDsKfCAgIHRtLnRtX3NlYyA9IDA7CnwgICB0bS50bV9p c2RzdCA9IC0xOwp8ICAgaWYgKG1rdGltZSAoJnRtKSA9PSAodGltZV90KS0xKQp8 ICAgICBleGl0ICgxKTsKfCB9CnwgCnwgc3RhdGljIHZvaWQKfCBta3RpbWVfdGVz dDEgKG5vdykKfCAgICAgIHRpbWVfdCBub3c7Cnwgewp8ICAgc3RydWN0IHRtICps dDsKfCAgIGlmICgobHQgPSBsb2NhbHRpbWUgKCZub3cpKSAmJiBta3RpbWUgKGx0 KSAhPSBub3cpCnwgICAgIGV4aXQgKDEpOwp8IH0KfCAKfCBzdGF0aWMgdm9pZAp8 IG1rdGltZV90ZXN0IChub3cpCnwgICAgICB0aW1lX3Qgbm93Owp8IHsKfCAgIG1r dGltZV90ZXN0MSAobm93KTsKfCAgIG1rdGltZV90ZXN0MSAoKHRpbWVfdCkgKHRp bWVfdF9tYXggLSBub3cpKTsKfCAgIG1rdGltZV90ZXN0MSAoKHRpbWVfdCkgKHRp bWVfdF9taW4gKyBub3cpKTsKfCB9CnwgCnwgc3RhdGljIHZvaWQKfCBpcml4XzZf NF9idWcgKCkKfCB7CnwgICAvKiBCYXNlZCBvbiBjb2RlIGZyb20gQXJpZWwgRmFp Z29uLiAgKi8KfCAgIHN0cnVjdCB0bSB0bTsKfCAgIHRtLnRtX3llYXIgPSA5NjsK fCAgIHRtLnRtX21vbiA9IDM7CnwgICB0bS50bV9tZGF5ID0gMDsKfCAgIHRtLnRt X2hvdXIgPSAwOwp8ICAgdG0udG1fbWluID0gMDsKfCAgIHRtLnRtX3NlYyA9IDA7 CnwgICB0bS50bV9pc2RzdCA9IC0xOwp8ICAgbWt0aW1lICgmdG0pOwp8ICAgaWYg KHRtLnRtX21vbiAhPSAyIHx8IHRtLnRtX21kYXkgIT0gMzEpCnwgICAgIGV4aXQg KDEpOwp8IH0KfCAKfCBzdGF0aWMgdm9pZAp8IGJpZ3RpbWVfdGVzdCAoaikKfCAg ICAgIGludCBqOwp8IHsKfCAgIHN0cnVjdCB0bSB0bTsKfCAgIHRpbWVfdCBub3c7 CnwgICB0bS50bV95ZWFyID0gdG0udG1fbW9uID0gdG0udG1fbWRheSA9IHRtLnRt X2hvdXIgPSB0bS50bV9taW4gPSB0bS50bV9zZWMgPSBqOwp8ICAgbm93ID0gbWt0 aW1lICgmdG0pOwp8ICAgaWYgKG5vdyAhPSAodGltZV90KSAtMSkKfCAgICAgewp8 ICAgICAgIHN0cnVjdCB0bSAqbHQgPSBsb2NhbHRpbWUgKCZub3cpOwp8ICAgICAg IGlmICghIChsdAp8IAkgICAgICYmIGx0LT50bV95ZWFyID09IHRtLnRtX3llYXIK fCAJICAgICAmJiBsdC0+dG1fbW9uID09IHRtLnRtX21vbgp8IAkgICAgICYmIGx0 LT50bV9tZGF5ID09IHRtLnRtX21kYXkKfCAJICAgICAmJiBsdC0+dG1faG91ciA9 PSB0bS50bV9ob3VyCnwgCSAgICAgJiYgbHQtPnRtX21pbiA9PSB0bS50bV9taW4K fCAJICAgICAmJiBsdC0+dG1fc2VjID09IHRtLnRtX3NlYwp8IAkgICAgICYmIGx0 LT50bV95ZGF5ID09IHRtLnRtX3lkYXkKfCAJICAgICAmJiBsdC0+dG1fd2RheSA9 PSB0bS50bV93ZGF5CnwgCSAgICAgJiYgKChsdC0+dG1faXNkc3QgPCAwID8gLTEg OiAwIDwgbHQtPnRtX2lzZHN0KQp8IAkJICA9PSAodG0udG1faXNkc3QgPCAwID8g LTEgOiAwIDwgdG0udG1faXNkc3QpKSkpCnwgCWV4aXQgKDEpOwp8ICAgICB9Cnwg fQp8IAp8IGludAp8IG1haW4gKCkKfCB7CnwgICB0aW1lX3QgdCwgZGVsdGE7Cnwg ICBpbnQgaSwgajsKfCAKfCAgIC8qIFRoaXMgdGVzdCBtYWtlcyBzb21lIGJ1Z2d5 IG1rdGltZSBpbXBsZW1lbnRhdGlvbnMgbG9vcC4KfCAgICAgIEdpdmUgdXAgYWZ0 ZXIgNjAgc2Vjb25kczsgYSBta3RpbWUgc2xvd2VyIHRoYW4gdGhhdAp8ICAgICAg aXNuJ3Qgd29ydGggdXNpbmcgYW55d2F5LiAgKi8KfCAgIGFsYXJtICg2MCk7Cnwg CnwgICBmb3IgKHRpbWVfdF9tYXggPSAxOyAwIDwgdGltZV90X21heDsgdGltZV90 X21heCAqPSAyKQp8ICAgICBjb250aW51ZTsKfCAgIHRpbWVfdF9tYXgtLTsKfCAg IGlmICgodGltZV90KSAtMSA8IDApCnwgICAgIGZvciAodGltZV90X21pbiA9IC0x OyAodGltZV90KSAodGltZV90X21pbiAqIDIpIDwgMDsgdGltZV90X21pbiAqPSAy KQp8ICAgICAgIGNvbnRpbnVlOwp8ICAgZGVsdGEgPSB0aW1lX3RfbWF4IC8gOTk3 OyAvKiBhIHN1aXRhYmxlIHByaW1lIG51bWJlciAqLwp8ICAgZm9yIChpID0gMDsg aSA8IE5fU1RSSU5HUzsgaSsrKQp8ICAgICB7CnwgICAgICAgaWYgKHR6X3N0cmlu Z3NbaV0pCnwgCXB1dGVudiAodHpfc3RyaW5nc1tpXSk7CnwgCnwgICAgICAgZm9y ICh0ID0gMDsgdCA8PSB0aW1lX3RfbWF4IC0gZGVsdGE7IHQgKz0gZGVsdGEpCnwg CW1rdGltZV90ZXN0ICh0KTsKfCAgICAgICBta3RpbWVfdGVzdCAoKHRpbWVfdCkg MSk7CnwgICAgICAgbWt0aW1lX3Rlc3QgKCh0aW1lX3QpICg2MCAqIDYwKSk7Cnwg ICAgICAgbWt0aW1lX3Rlc3QgKCh0aW1lX3QpICg2MCAqIDYwICogMjQpKTsKfCAK fCAgICAgICBmb3IgKGogPSAxOyAwIDwgajsgaiAqPSAyKQp8IAliaWd0aW1lX3Rl c3QgKGopOwp8ICAgICAgIGJpZ3RpbWVfdGVzdCAoaiAtIDEpOwp8ICAgICB9Cnwg ICBpcml4XzZfNF9idWcgKCk7CnwgICBzcHJpbmdfZm9yd2FyZF9nYXAgKCk7Cnwg ICBleGl0ICgwKTsKfCB9CmNvbmZpZ3VyZToxNTI2OTogcmVzdWx0OiBubwpjb25m aWd1cmU6MTUzMDE6IGNoZWNraW5nIGZvciBnZXRsb2FkYXZnCmNvbmZpZ3VyZTox NTM1ODogZ2NjIC1vIGNvbmZ0ZXN0LmV4ZSAtZyAtTzIgICAgIGNvbmZ0ZXN0LmMg LWxtICAgPiY1ICAKL2N5Z2RyaXZlL2MvRE9DVU1FfjEvd2lsbGlhbS9MT0NBTFN+ MS9UZW1wL2NjRzRvMlF2Lm86IEluIGZ1bmN0aW9uIGBtYWluJzoKL2N5Z2RyaXZl L2QvZW1hY3MyMi9jb25mdGVzdC5jOjE3NTogdW5kZWZpbmVkIHJlZmVyZW5jZSB0 byBgX2dldGxvYWRhdmcnCi9jeWdkcml2ZS9kL2VtYWNzMjIvY29uZnRlc3QuYzox NzQ6IHVuZGVmaW5lZCByZWZlcmVuY2UgdG8gYF9nZXRsb2FkYXZnJwpjb2xsZWN0 MjogbGQgcmV0dXJuZWQgMSBleGl0IHN0YXR1cwpjb25maWd1cmU6MTUzNjQ6ICQ/ ID0gMQpjb25maWd1cmU6IGZhaWxlZCBwcm9ncmFtIHdhczoKfCAvKiBjb25mZGVm cy5oLiAgKi8KfCAKfCAjZGVmaW5lIFBBQ0tBR0VfTkFNRSAiIgp8ICNkZWZpbmUg UEFDS0FHRV9UQVJOQU1FICIiCnwgI2RlZmluZSBQQUNLQUdFX1ZFUlNJT04gIiIK fCAjZGVmaW5lIFBBQ0tBR0VfU1RSSU5HICIiCnwgI2RlZmluZSBQQUNLQUdFX0JV R1JFUE9SVCAiIgp8ICNkZWZpbmUgTUFJTF9VU0VfUE9QIDEKfCAjZGVmaW5lIF9H TlVfU09VUkNFIDEKfCAjZGVmaW5lIFNURENfSEVBREVSUyAxCnwgI2RlZmluZSBI QVZFX1NZU19UWVBFU19IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NUQVRfSCAxCnwg I2RlZmluZSBIQVZFX1NURExJQl9IIDEKfCAjZGVmaW5lIEhBVkVfU1RSSU5HX0gg MQp8ICNkZWZpbmUgSEFWRV9NRU1PUllfSCAxCnwgI2RlZmluZSBIQVZFX1NUUklO R1NfSCAxCnwgI2RlZmluZSBIQVZFX0lOVFRZUEVTX0ggMQp8ICNkZWZpbmUgSEFW RV9TVERJTlRfSCAxCnwgI2RlZmluZSBIQVZFX1VOSVNURF9IIDEKfCAjZGVmaW5l IEhBVkVfU1lTX1NPVU5EQ0FSRF9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NFTEVD VF9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1RJTUVCX0ggMQp8ICNkZWZpbmUgSEFW RV9TWVNfVElNRV9IIDEKfCAjZGVmaW5lIEhBVkVfVU5JU1REX0ggMQp8ICNkZWZp bmUgSEFWRV9VVElNRV9IIDEKfCAjZGVmaW5lIEhBVkVfVEVSTUlPU19IIDEKfCAj ZGVmaW5lIEhBVkVfTElNSVRTX0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJJTkdfSCAx CnwgI2RlZmluZSBIQVZFX1NURExJQl9IIDEKfCAjZGVmaW5lIEhBVkVfVEVSTUNB UF9IIDEKfCAjZGVmaW5lIEhBVkVfRkNOVExfSCAxCnwgI2RlZmluZSBIQVZFX1NU UklOR1NfSCAxCnwgI2RlZmluZSBIQVZFX1BUWV9IIDEKfCAjZGVmaW5lIEhBVkVf U1lTX01NQU5fSCAxCnwgI2RlZmluZSBIQVZFX1NZU19QQVJBTV9IIDEKfCAjZGVm aW5lIEhBVkVfU1lTX1JFU09VUkNFX0ggMQp8ICNkZWZpbmUgSEFWRV9MT0NBTEVf SCAxCnwgI2RlZmluZSBIQVZFX1NZU19VVFNOQU1FX0ggMQp8ICNkZWZpbmUgSEFW RV9QV0RfSCAxCnwgI2RlZmluZSBTVERDX0hFQURFUlMgMQp8ICNkZWZpbmUgVElN RV9XSVRIX1NZU19USU1FIDEKfCAjZGVmaW5lIEhBVkVfREVDTF9TWVNfU0lHTElT VCAwCnwgI2RlZmluZSBIQVZFX0RFQ0xfX19TWVNfU0lHTElTVCAwCnwgI2RlZmlu ZSBIQVZFX1NZU19XQUlUX0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJVQ1RfVVRJTUJV RiAxCnwgI2RlZmluZSBSRVRTSUdUWVBFIHZvaWQKfCAjZGVmaW5lIEhBVkVfU1BF RURfVCAxCnwgI2RlZmluZSBIQVZFX1RJTUVWQUwgMQp8ICNkZWZpbmUgSEFWRV9T WVNfU09DS0VUX0ggMQp8ICNkZWZpbmUgSEFWRV9ORVRfSUZfSCAxCnwgI2RlZmlu ZSBIQVZFX1RaTkFNRSAxCnwgI2RlZmluZSBIQVZFX1NUUlVDVF9JRlJFUV9JRlJf RkxBR1MgMQp8ICNkZWZpbmUgSEFWRV9TVFJVQ1RfSUZSRVFfSUZSX0hXQUREUiAx CnwgI2RlZmluZSBIQVZFX1NUUlVDVF9JRlJFUV9JRlJfTkVUTUFTSyAxCnwgI2Rl ZmluZSBIQVZFX1NUUlVDVF9JRlJFUV9JRlJfQlJPQURBRERSIDEKfCAjZGVmaW5l IEhBVkVfU1RSVUNUX0lGUkVRX0lGUl9BRERSIDEKfCAjZGVmaW5lIFBST1RPVFlQ RVMgMQp8ICNkZWZpbmUgX19QUk9UT1RZUEVTIDEKfCAjZGVmaW5lIFBPSU5URVJf VFlQRSB2b2lkCnwgI2RlZmluZSBIQVZFX0xPTkdfRklMRV9OQU1FUyAxCnwgI2Rl ZmluZSBIQVZFX1NURExJQl9IIDEKfCAjZGVmaW5lIEhBVkVfVU5JU1REX0ggMQp8 ICNkZWZpbmUgSEFWRV9HRVRQQUdFU0laRSAxCnwgI2RlZmluZSBVU0VfWElNIDEK fCAjZGVmaW5lIEhBVkVfSF9FUlJOTyAxCnwgI2RlZmluZSBIQVZFX0FMTE9DQV9I IDEKfCAjZGVmaW5lIEhBVkVfQUxMT0NBIDEKfCAjZGVmaW5lIEhBVkVfTElCTSAx CnwgI2RlZmluZSBIQVZFX0dFVEhPU1ROQU1FIDEKfCAjZGVmaW5lIEhBVkVfR0VU RE9NQUlOTkFNRSAxCnwgI2RlZmluZSBIQVZFX0RVUDIgMQp8ICNkZWZpbmUgSEFW RV9SRU5BTUUgMQp8ICNkZWZpbmUgSEFWRV9DTE9TRURJUiAxCnwgI2RlZmluZSBI QVZFX01LRElSIDEKfCAjZGVmaW5lIEhBVkVfUk1ESVIgMQp8ICNkZWZpbmUgSEFW RV9HRVRSVVNBR0UgMQp8ICNkZWZpbmUgSEFWRV9SQU5ET00gMQp8ICNkZWZpbmUg SEFWRV9MUkFORDQ4IDEKfCAjZGVmaW5lIEhBVkVfQkNPUFkgMQp8ICNkZWZpbmUg SEFWRV9CQ01QIDEKfCAjZGVmaW5lIEhBVkVfTE9HQiAxCnwgI2RlZmluZSBIQVZF X0ZSRVhQIDEKfCAjZGVmaW5lIEhBVkVfRk1PRCAxCnwgI2RlZmluZSBIQVZFX1JJ TlQgMQp8ICNkZWZpbmUgSEFWRV9DQlJUIDEKfCAjZGVmaW5lIEhBVkVfRlRJTUUg MQp8ICNkZWZpbmUgSEFWRV9TRVRTSUQgMQp8ICNkZWZpbmUgSEFWRV9TVFJFUlJP UiAxCnwgI2RlZmluZSBIQVZFX0ZQQVRIQ09ORiAxCnwgI2RlZmluZSBIQVZFX1NF TEVDVCAxCnwgI2RlZmluZSBIQVZFX01LVElNRSAxCnwgI2RlZmluZSBIQVZFX0dF VFBBR0VTSVpFIDEKfCAjZGVmaW5lIEhBVkVfVFpTRVQgMQp8ICNkZWZpbmUgSEFW RV9TRVRMT0NBTEUgMQp8ICNkZWZpbmUgSEFWRV9VVElNRVMgMQp8ICNkZWZpbmUg SEFWRV9TRVRSTElNSVQgMQp8ICNkZWZpbmUgSEFWRV9TRVRQR0lEIDEKfCAjZGVm aW5lIEhBVkVfR0VUQ1dEIDEKfCAjZGVmaW5lIEhBVkVfR0VUV0QgMQp8ICNkZWZp bmUgSEFWRV9TSFVURE9XTiAxCnwgI2RlZmluZSBIQVZFX01CTEVOIDEKfCAjZGVm aW5lIEhBVkVfTUJSTEVOIDEKfCAjZGVmaW5lIEhBVkVfTUJTSU5JVCAxCnwgI2Rl ZmluZSBIQVZFX1NUUlNJR05BTCAxCnwgI2RlZmluZSBIQVZFX1NFVElUSU1FUiAx CnwgI2RlZmluZSBIQVZFX1VBTEFSTSAxCnwgI2RlZmluZSBIQVZFX0lOREVYIDEK fCAjZGVmaW5lIEhBVkVfUklOREVYIDEKfCAjZGVmaW5lIEhBVkVfU0VORFRPIDEK fCAjZGVmaW5lIEhBVkVfUkVDVkZST00gMQp8ICNkZWZpbmUgSEFWRV9HRVRTT0NL T1BUIDEKfCAjZGVmaW5lIEhBVkVfU0VUU09DS09QVCAxCnwgI2RlZmluZSBIQVZF X0dFVFNPQ0tOQU1FIDEKfCAjZGVmaW5lIEhBVkVfR0VUUEVFUk5BTUUgMQp8ICNk ZWZpbmUgSEFWRV9NS1NURU1QIDEKfCAjZGVmaW5lIEhBVkVfR0VUTElORSAxCnwg I2RlZmluZSBIQVZFX0dFVERFTElNIDEKfCAjZGVmaW5lIEhBVkVfTUVNTU9WRSAx CnwgI2RlZmluZSBIQVZFX0ZTWU5DIDEKfCAjZGVmaW5lIEhBVkVfQlpFUk8gMQp8 ICNkZWZpbmUgSEFWRV9NRU1TRVQgMQp8ICNkZWZpbmUgSEFWRV9NRU1DTVAgMQp8 ICNkZWZpbmUgSEFWRV9ESUZGVElNRSAxCnwgI2RlZmluZSBIQVZFX01FTUNQWSAx CnwgI2RlZmluZSBIQVZFX01FTVBDUFkgMQp8ICNkZWZpbmUgSEFWRV9NQkxFTiAx CnwgI2RlZmluZSBIQVZFX01CUkxFTiAxCnwgI2RlZmluZSBIQVZFX1NZU19VTl9I IDEKfCAjZGVmaW5lIEhBVkVfU1RETElCX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNf VElNRV9IIDEKfCAjZGVmaW5lIEhBVkVfVU5JU1REX0ggMQp8ICNkZWZpbmUgSEFW RV9BTEFSTSAxCnwgI2RlZmluZSBCUk9LRU5fTUtUSU1FIDEKfCAvKiBlbmQgY29u ZmRlZnMuaC4gICovCnwgLyogRGVmaW5lIGdldGxvYWRhdmcgdG8gYW4gaW5ub2N1 b3VzIHZhcmlhbnQsIGluIGNhc2UgPGxpbWl0cy5oPiBkZWNsYXJlcyBnZXRsb2Fk YXZnLgp8ICAgIEZvciBleGFtcGxlLCBIUC1VWCAxMWkgPGxpbWl0cy5oPiBkZWNs YXJlcyBnZXR0aW1lb2ZkYXkuICAqLwp8ICNkZWZpbmUgZ2V0bG9hZGF2ZyBpbm5v Y3VvdXNfZ2V0bG9hZGF2Zwp8IAp8IC8qIFN5c3RlbSBoZWFkZXIgdG8gZGVmaW5l IF9fc3R1YiBtYWNyb3MgYW5kIGhvcGVmdWxseSBmZXcgcHJvdG90eXBlcywKfCAg ICAgd2hpY2ggY2FuIGNvbmZsaWN0IHdpdGggY2hhciBnZXRsb2FkYXZnICgpOyBi ZWxvdy4KfCAgICAgUHJlZmVyIDxsaW1pdHMuaD4gdG8gPGFzc2VydC5oPiBpZiBf X1NURENfXyBpcyBkZWZpbmVkLCBzaW5jZQp8ICAgICA8bGltaXRzLmg+IGV4aXN0 cyBldmVuIG9uIGZyZWVzdGFuZGluZyBjb21waWxlcnMuICAqLwp8IAp8ICNpZmRl ZiBfX1NURENfXwp8ICMgaW5jbHVkZSA8bGltaXRzLmg+CnwgI2Vsc2UKfCAjIGlu Y2x1ZGUgPGFzc2VydC5oPgp8ICNlbmRpZgp8IAp8ICN1bmRlZiBnZXRsb2FkYXZn CnwgCnwgLyogT3ZlcnJpZGUgYW55IGdjYzIgaW50ZXJuYWwgcHJvdG90eXBlIHRv IGF2b2lkIGFuIGVycm9yLiAgKi8KfCAjaWZkZWYgX19jcGx1c3BsdXMKfCBleHRl cm4gIkMiCnwgewp8ICNlbmRpZgp8IC8qIFdlIHVzZSBjaGFyIGJlY2F1c2UgaW50 IG1pZ2h0IG1hdGNoIHRoZSByZXR1cm4gdHlwZSBvZiBhIGdjYzIKfCAgICBidWls dGluIGFuZCB0aGVuIGl0cyBhcmd1bWVudCBwcm90b3R5cGUgd291bGQgc3RpbGwg YXBwbHkuICAqLwp8IGNoYXIgZ2V0bG9hZGF2ZyAoKTsKfCAvKiBUaGUgR05VIEMg bGlicmFyeSBkZWZpbmVzIHRoaXMgZm9yIGZ1bmN0aW9ucyB3aGljaCBpdCBpbXBs ZW1lbnRzCnwgICAgIHRvIGFsd2F5cyBmYWlsIHdpdGggRU5PU1lTLiAgU29tZSBm dW5jdGlvbnMgYXJlIGFjdHVhbGx5IG5hbWVkCnwgICAgIHNvbWV0aGluZyBzdGFy dGluZyB3aXRoIF9fIGFuZCB0aGUgbm9ybWFsIG5hbWUgaXMgYW4gYWxpYXMuICAq Lwp8ICNpZiBkZWZpbmVkIChfX3N0dWJfZ2V0bG9hZGF2ZykgfHwgZGVmaW5lZCAo X19zdHViX19fZ2V0bG9hZGF2ZykKfCBjaG9rZSBtZQp8ICNlbHNlCnwgY2hhciAo KmYpICgpID0gZ2V0bG9hZGF2ZzsKfCAjZW5kaWYKfCAjaWZkZWYgX19jcGx1c3Bs dXMKfCB9CnwgI2VuZGlmCnwgCnwgaW50CnwgbWFpbiAoKQp8IHsKfCByZXR1cm4g ZiAhPSBnZXRsb2FkYXZnOwp8ICAgOwp8ICAgcmV0dXJuIDA7CnwgfQpjb25maWd1 cmU6MTUzODk6IHJlc3VsdDogbm8KY29uZmlndXJlOjE1NDAzOiBjaGVja2luZyBm b3IgcHN0YXRfZ2V0ZHluYW1pYwpjb25maWd1cmU6MTU0NjA6IGdjYyAtbyBjb25m dGVzdC5leGUgLWcgLU8yICAgICBjb25mdGVzdC5jIC1sbSAgID4mNSAgCi9jeWdk cml2ZS9jL0RPQ1VNRX4xL3dpbGxpYW0vTE9DQUxTfjEvVGVtcC9jYzJLRGNBRS5v OiBJbiBmdW5jdGlvbiBgbWFpbic6Ci9jeWdkcml2ZS9kL2VtYWNzMjIvY29uZnRl c3QuYzoxNzU6IHVuZGVmaW5lZCByZWZlcmVuY2UgdG8gYF9wc3RhdF9nZXRkeW5h bWljJwovY3lnZHJpdmUvZC9lbWFjczIyL2NvbmZ0ZXN0LmM6MTc0OiB1bmRlZmlu ZWQgcmVmZXJlbmNlIHRvIGBfcHN0YXRfZ2V0ZHluYW1pYycKY29sbGVjdDI6IGxk IHJldHVybmVkIDEgZXhpdCBzdGF0dXMKY29uZmlndXJlOjE1NDY2OiAkPyA9IDEK Y29uZmlndXJlOiBmYWlsZWQgcHJvZ3JhbSB3YXM6CnwgLyogY29uZmRlZnMuaC4g ICovCnwgCnwgI2RlZmluZSBQQUNLQUdFX05BTUUgIiIKfCAjZGVmaW5lIFBBQ0tB R0VfVEFSTkFNRSAiIgp8ICNkZWZpbmUgUEFDS0FHRV9WRVJTSU9OICIiCnwgI2Rl ZmluZSBQQUNLQUdFX1NUUklORyAiIgp8ICNkZWZpbmUgUEFDS0FHRV9CVUdSRVBP UlQgIiIKfCAjZGVmaW5lIE1BSUxfVVNFX1BPUCAxCnwgI2RlZmluZSBfR05VX1NP VVJDRSAxCnwgI2RlZmluZSBTVERDX0hFQURFUlMgMQp8ICNkZWZpbmUgSEFWRV9T WVNfVFlQRVNfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19TVEFUX0ggMQp8ICNkZWZp bmUgSEFWRV9TVERMSUJfSCAxCnwgI2RlZmluZSBIQVZFX1NUUklOR19IIDEKfCAj ZGVmaW5lIEhBVkVfTUVNT1JZX0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJJTkdTX0gg MQp8ICNkZWZpbmUgSEFWRV9JTlRUWVBFU19IIDEKfCAjZGVmaW5lIEhBVkVfU1RE SU5UX0ggMQp8ICNkZWZpbmUgSEFWRV9VTklTVERfSCAxCnwgI2RlZmluZSBIQVZF X1NZU19TT1VORENBUkRfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19TRUxFQ1RfSCAx CnwgI2RlZmluZSBIQVZFX1NZU19USU1FQl9IIDEKfCAjZGVmaW5lIEhBVkVfU1lT X1RJTUVfSCAxCnwgI2RlZmluZSBIQVZFX1VOSVNURF9IIDEKfCAjZGVmaW5lIEhB VkVfVVRJTUVfSCAxCnwgI2RlZmluZSBIQVZFX1RFUk1JT1NfSCAxCnwgI2RlZmlu ZSBIQVZFX0xJTUlUU19IIDEKfCAjZGVmaW5lIEhBVkVfU1RSSU5HX0ggMQp8ICNk ZWZpbmUgSEFWRV9TVERMSUJfSCAxCnwgI2RlZmluZSBIQVZFX1RFUk1DQVBfSCAx CnwgI2RlZmluZSBIQVZFX0ZDTlRMX0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJJTkdT X0ggMQp8ICNkZWZpbmUgSEFWRV9QVFlfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19N TUFOX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfUEFSQU1fSCAxCnwgI2RlZmluZSBI QVZFX1NZU19SRVNPVVJDRV9IIDEKfCAjZGVmaW5lIEhBVkVfTE9DQUxFX0ggMQp8 ICNkZWZpbmUgSEFWRV9TWVNfVVRTTkFNRV9IIDEKfCAjZGVmaW5lIEhBVkVfUFdE X0ggMQp8ICNkZWZpbmUgU1REQ19IRUFERVJTIDEKfCAjZGVmaW5lIFRJTUVfV0lU SF9TWVNfVElNRSAxCnwgI2RlZmluZSBIQVZFX0RFQ0xfU1lTX1NJR0xJU1QgMAp8 ICNkZWZpbmUgSEFWRV9ERUNMX19fU1lTX1NJR0xJU1QgMAp8ICNkZWZpbmUgSEFW RV9TWVNfV0FJVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1RSVUNUX1VUSU1CVUYgMQp8 ICNkZWZpbmUgUkVUU0lHVFlQRSB2b2lkCnwgI2RlZmluZSBIQVZFX1NQRUVEX1Qg MQp8ICNkZWZpbmUgSEFWRV9USU1FVkFMIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NP Q0tFVF9IIDEKfCAjZGVmaW5lIEhBVkVfTkVUX0lGX0ggMQp8ICNkZWZpbmUgSEFW RV9UWk5BTUUgMQp8ICNkZWZpbmUgSEFWRV9TVFJVQ1RfSUZSRVFfSUZSX0ZMQUdT IDEKfCAjZGVmaW5lIEhBVkVfU1RSVUNUX0lGUkVRX0lGUl9IV0FERFIgMQp8ICNk ZWZpbmUgSEFWRV9TVFJVQ1RfSUZSRVFfSUZSX05FVE1BU0sgMQp8ICNkZWZpbmUg SEFWRV9TVFJVQ1RfSUZSRVFfSUZSX0JST0FEQUREUiAxCnwgI2RlZmluZSBIQVZF X1NUUlVDVF9JRlJFUV9JRlJfQUREUiAxCnwgI2RlZmluZSBQUk9UT1RZUEVTIDEK fCAjZGVmaW5lIF9fUFJPVE9UWVBFUyAxCnwgI2RlZmluZSBQT0lOVEVSX1RZUEUg dm9pZAp8ICNkZWZpbmUgSEFWRV9MT05HX0ZJTEVfTkFNRVMgMQp8ICNkZWZpbmUg SEFWRV9TVERMSUJfSCAxCnwgI2RlZmluZSBIQVZFX1VOSVNURF9IIDEKfCAjZGVm aW5lIEhBVkVfR0VUUEFHRVNJWkUgMQp8ICNkZWZpbmUgVVNFX1hJTSAxCnwgI2Rl ZmluZSBIQVZFX0hfRVJSTk8gMQp8ICNkZWZpbmUgSEFWRV9BTExPQ0FfSCAxCnwg I2RlZmluZSBIQVZFX0FMTE9DQSAxCnwgI2RlZmluZSBIQVZFX0xJQk0gMQp8ICNk ZWZpbmUgSEFWRV9HRVRIT1NUTkFNRSAxCnwgI2RlZmluZSBIQVZFX0dFVERPTUFJ Tk5BTUUgMQp8ICNkZWZpbmUgSEFWRV9EVVAyIDEKfCAjZGVmaW5lIEhBVkVfUkVO QU1FIDEKfCAjZGVmaW5lIEhBVkVfQ0xPU0VESVIgMQp8ICNkZWZpbmUgSEFWRV9N S0RJUiAxCnwgI2RlZmluZSBIQVZFX1JNRElSIDEKfCAjZGVmaW5lIEhBVkVfR0VU UlVTQUdFIDEKfCAjZGVmaW5lIEhBVkVfUkFORE9NIDEKfCAjZGVmaW5lIEhBVkVf TFJBTkQ0OCAxCnwgI2RlZmluZSBIQVZFX0JDT1BZIDEKfCAjZGVmaW5lIEhBVkVf QkNNUCAxCnwgI2RlZmluZSBIQVZFX0xPR0IgMQp8ICNkZWZpbmUgSEFWRV9GUkVY UCAxCnwgI2RlZmluZSBIQVZFX0ZNT0QgMQp8ICNkZWZpbmUgSEFWRV9SSU5UIDEK fCAjZGVmaW5lIEhBVkVfQ0JSVCAxCnwgI2RlZmluZSBIQVZFX0ZUSU1FIDEKfCAj ZGVmaW5lIEhBVkVfU0VUU0lEIDEKfCAjZGVmaW5lIEhBVkVfU1RSRVJST1IgMQp8 ICNkZWZpbmUgSEFWRV9GUEFUSENPTkYgMQp8ICNkZWZpbmUgSEFWRV9TRUxFQ1Qg MQp8ICNkZWZpbmUgSEFWRV9NS1RJTUUgMQp8ICNkZWZpbmUgSEFWRV9HRVRQQUdF U0laRSAxCnwgI2RlZmluZSBIQVZFX1RaU0VUIDEKfCAjZGVmaW5lIEhBVkVfU0VU TE9DQUxFIDEKfCAjZGVmaW5lIEhBVkVfVVRJTUVTIDEKfCAjZGVmaW5lIEhBVkVf U0VUUkxJTUlUIDEKfCAjZGVmaW5lIEhBVkVfU0VUUEdJRCAxCnwgI2RlZmluZSBI QVZFX0dFVENXRCAxCnwgI2RlZmluZSBIQVZFX0dFVFdEIDEKfCAjZGVmaW5lIEhB VkVfU0hVVERPV04gMQp8ICNkZWZpbmUgSEFWRV9NQkxFTiAxCnwgI2RlZmluZSBI QVZFX01CUkxFTiAxCnwgI2RlZmluZSBIQVZFX01CU0lOSVQgMQp8ICNkZWZpbmUg SEFWRV9TVFJTSUdOQUwgMQp8ICNkZWZpbmUgSEFWRV9TRVRJVElNRVIgMQp8ICNk ZWZpbmUgSEFWRV9VQUxBUk0gMQp8ICNkZWZpbmUgSEFWRV9JTkRFWCAxCnwgI2Rl ZmluZSBIQVZFX1JJTkRFWCAxCnwgI2RlZmluZSBIQVZFX1NFTkRUTyAxCnwgI2Rl ZmluZSBIQVZFX1JFQ1ZGUk9NIDEKfCAjZGVmaW5lIEhBVkVfR0VUU09DS09QVCAx CnwgI2RlZmluZSBIQVZFX1NFVFNPQ0tPUFQgMQp8ICNkZWZpbmUgSEFWRV9HRVRT T0NLTkFNRSAxCnwgI2RlZmluZSBIQVZFX0dFVFBFRVJOQU1FIDEKfCAjZGVmaW5l IEhBVkVfTUtTVEVNUCAxCnwgI2RlZmluZSBIQVZFX0dFVExJTkUgMQp8ICNkZWZp bmUgSEFWRV9HRVRERUxJTSAxCnwgI2RlZmluZSBIQVZFX01FTU1PVkUgMQp8ICNk ZWZpbmUgSEFWRV9GU1lOQyAxCnwgI2RlZmluZSBIQVZFX0JaRVJPIDEKfCAjZGVm aW5lIEhBVkVfTUVNU0VUIDEKfCAjZGVmaW5lIEhBVkVfTUVNQ01QIDEKfCAjZGVm aW5lIEhBVkVfRElGRlRJTUUgMQp8ICNkZWZpbmUgSEFWRV9NRU1DUFkgMQp8ICNk ZWZpbmUgSEFWRV9NRU1QQ1BZIDEKfCAjZGVmaW5lIEhBVkVfTUJMRU4gMQp8ICNk ZWZpbmUgSEFWRV9NQlJMRU4gMQp8ICNkZWZpbmUgSEFWRV9TWVNfVU5fSCAxCnwg I2RlZmluZSBIQVZFX1NURExJQl9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1RJTUVf SCAxCnwgI2RlZmluZSBIQVZFX1VOSVNURF9IIDEKfCAjZGVmaW5lIEhBVkVfQUxB Uk0gMQp8ICNkZWZpbmUgQlJPS0VOX01LVElNRSAxCnwgLyogZW5kIGNvbmZkZWZz LmguICAqLwp8IC8qIERlZmluZSBwc3RhdF9nZXRkeW5hbWljIHRvIGFuIGlubm9j dW91cyB2YXJpYW50LCBpbiBjYXNlIDxsaW1pdHMuaD4gZGVjbGFyZXMgcHN0YXRf Z2V0ZHluYW1pYy4KfCAgICBGb3IgZXhhbXBsZSwgSFAtVVggMTFpIDxsaW1pdHMu aD4gZGVjbGFyZXMgZ2V0dGltZW9mZGF5LiAgKi8KfCAjZGVmaW5lIHBzdGF0X2dl dGR5bmFtaWMgaW5ub2N1b3VzX3BzdGF0X2dldGR5bmFtaWMKfCAKfCAvKiBTeXN0 ZW0gaGVhZGVyIHRvIGRlZmluZSBfX3N0dWIgbWFjcm9zIGFuZCBob3BlZnVsbHkg ZmV3IHByb3RvdHlwZXMsCnwgICAgIHdoaWNoIGNhbiBjb25mbGljdCB3aXRoIGNo YXIgcHN0YXRfZ2V0ZHluYW1pYyAoKTsgYmVsb3cuCnwgICAgIFByZWZlciA8bGlt aXRzLmg+IHRvIDxhc3NlcnQuaD4gaWYgX19TVERDX18gaXMgZGVmaW5lZCwgc2lu Y2UKfCAgICAgPGxpbWl0cy5oPiBleGlzdHMgZXZlbiBvbiBmcmVlc3RhbmRpbmcg Y29tcGlsZXJzLiAgKi8KfCAKfCAjaWZkZWYgX19TVERDX18KfCAjIGluY2x1ZGUg PGxpbWl0cy5oPgp8ICNlbHNlCnwgIyBpbmNsdWRlIDxhc3NlcnQuaD4KfCAjZW5k aWYKfCAKfCAjdW5kZWYgcHN0YXRfZ2V0ZHluYW1pYwp8IAp8IC8qIE92ZXJyaWRl IGFueSBnY2MyIGludGVybmFsIHByb3RvdHlwZSB0byBhdm9pZCBhbiBlcnJvci4g ICovCnwgI2lmZGVmIF9fY3BsdXNwbHVzCnwgZXh0ZXJuICJDIgp8IHsKfCAjZW5k aWYKfCAvKiBXZSB1c2UgY2hhciBiZWNhdXNlIGludCBtaWdodCBtYXRjaCB0aGUg cmV0dXJuIHR5cGUgb2YgYSBnY2MyCnwgICAgYnVpbHRpbiBhbmQgdGhlbiBpdHMg YXJndW1lbnQgcHJvdG90eXBlIHdvdWxkIHN0aWxsIGFwcGx5LiAgKi8KfCBjaGFy IHBzdGF0X2dldGR5bmFtaWMgKCk7CnwgLyogVGhlIEdOVSBDIGxpYnJhcnkgZGVm aW5lcyB0aGlzIGZvciBmdW5jdGlvbnMgd2hpY2ggaXQgaW1wbGVtZW50cwp8ICAg ICB0byBhbHdheXMgZmFpbCB3aXRoIEVOT1NZUy4gIFNvbWUgZnVuY3Rpb25zIGFy ZSBhY3R1YWxseSBuYW1lZAp8ICAgICBzb21ldGhpbmcgc3RhcnRpbmcgd2l0aCBf XyBhbmQgdGhlIG5vcm1hbCBuYW1lIGlzIGFuIGFsaWFzLiAgKi8KfCAjaWYgZGVm aW5lZCAoX19zdHViX3BzdGF0X2dldGR5bmFtaWMpIHx8IGRlZmluZWQgKF9fc3R1 Yl9fX3BzdGF0X2dldGR5bmFtaWMpCnwgY2hva2UgbWUKfCAjZWxzZQp8IGNoYXIg KCpmKSAoKSA9IHBzdGF0X2dldGR5bmFtaWM7CnwgI2VuZGlmCnwgI2lmZGVmIF9f Y3BsdXNwbHVzCnwgfQp8ICNlbmRpZgp8IAp8IGludAp8IG1haW4gKCkKfCB7Cnwg cmV0dXJuIGYgIT0gcHN0YXRfZ2V0ZHluYW1pYzsKfCAgIDsKfCAgIHJldHVybiAw Owp8IH0KY29uZmlndXJlOjE1NDkxOiByZXN1bHQ6IG5vCmNvbmZpZ3VyZToxNTUw NDogY2hlY2tpbmcgZm9yIGtzdGF0X29wZW4gaW4gLWxrc3RhdApjb25maWd1cmU6 MTU1MzQ6IGdjYyAtbyBjb25mdGVzdC5leGUgLWcgLU8yICAgICBjb25mdGVzdC5j IC1sa3N0YXQgIC1sbSAgID4mNSAgCi91c3IvbGliL2djYy1saWIvaTY4Ni1wYy1j eWd3aW4vMy4zLjMvLi4vLi4vLi4vLi4vaTY4Ni1wYy1jeWd3aW4vYmluL2xkOiBj YW5ub3QgZmluZCAtbGtzdGF0CmNvbGxlY3QyOiBsZCByZXR1cm5lZCAxIGV4aXQg c3RhdHVzCmNvbmZpZ3VyZToxNTU0MDogJD8gPSAxCmNvbmZpZ3VyZTogZmFpbGVk IHByb2dyYW0gd2FzOgp8IC8qIGNvbmZkZWZzLmguICAqLwp8IAp8ICNkZWZpbmUg UEFDS0FHRV9OQU1FICIiCnwgI2RlZmluZSBQQUNLQUdFX1RBUk5BTUUgIiIKfCAj ZGVmaW5lIFBBQ0tBR0VfVkVSU0lPTiAiIgp8ICNkZWZpbmUgUEFDS0FHRV9TVFJJ TkcgIiIKfCAjZGVmaW5lIFBBQ0tBR0VfQlVHUkVQT1JUICIiCnwgI2RlZmluZSBN QUlMX1VTRV9QT1AgMQp8ICNkZWZpbmUgX0dOVV9TT1VSQ0UgMQp8ICNkZWZpbmUg U1REQ19IRUFERVJTIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1RZUEVTX0ggMQp8ICNk ZWZpbmUgSEFWRV9TWVNfU1RBVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1RETElCX0gg MQp8ICNkZWZpbmUgSEFWRV9TVFJJTkdfSCAxCnwgI2RlZmluZSBIQVZFX01FTU9S WV9IIDEKfCAjZGVmaW5lIEhBVkVfU1RSSU5HU19IIDEKfCAjZGVmaW5lIEhBVkVf SU5UVFlQRVNfSCAxCnwgI2RlZmluZSBIQVZFX1NURElOVF9IIDEKfCAjZGVmaW5l IEhBVkVfVU5JU1REX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfU09VTkRDQVJEX0gg MQp8ICNkZWZpbmUgSEFWRV9TWVNfU0VMRUNUX0ggMQp8ICNkZWZpbmUgSEFWRV9T WVNfVElNRUJfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19USU1FX0ggMQp8ICNkZWZp bmUgSEFWRV9VTklTVERfSCAxCnwgI2RlZmluZSBIQVZFX1VUSU1FX0ggMQp8ICNk ZWZpbmUgSEFWRV9URVJNSU9TX0ggMQp8ICNkZWZpbmUgSEFWRV9MSU1JVFNfSCAx CnwgI2RlZmluZSBIQVZFX1NUUklOR19IIDEKfCAjZGVmaW5lIEhBVkVfU1RETElC X0ggMQp8ICNkZWZpbmUgSEFWRV9URVJNQ0FQX0ggMQp8ICNkZWZpbmUgSEFWRV9G Q05UTF9IIDEKfCAjZGVmaW5lIEhBVkVfU1RSSU5HU19IIDEKfCAjZGVmaW5lIEhB VkVfUFRZX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfTU1BTl9IIDEKfCAjZGVmaW5l IEhBVkVfU1lTX1BBUkFNX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfUkVTT1VSQ0Vf SCAxCnwgI2RlZmluZSBIQVZFX0xPQ0FMRV9IIDEKfCAjZGVmaW5lIEhBVkVfU1lT X1VUU05BTUVfSCAxCnwgI2RlZmluZSBIQVZFX1BXRF9IIDEKfCAjZGVmaW5lIFNU RENfSEVBREVSUyAxCnwgI2RlZmluZSBUSU1FX1dJVEhfU1lTX1RJTUUgMQp8ICNk ZWZpbmUgSEFWRV9ERUNMX1NZU19TSUdMSVNUIDAKfCAjZGVmaW5lIEhBVkVfREVD TF9fX1NZU19TSUdMSVNUIDAKfCAjZGVmaW5lIEhBVkVfU1lTX1dBSVRfSCAxCnwg I2RlZmluZSBIQVZFX1NUUlVDVF9VVElNQlVGIDEKfCAjZGVmaW5lIFJFVFNJR1RZ UEUgdm9pZAp8ICNkZWZpbmUgSEFWRV9TUEVFRF9UIDEKfCAjZGVmaW5lIEhBVkVf VElNRVZBTCAxCnwgI2RlZmluZSBIQVZFX1NZU19TT0NLRVRfSCAxCnwgI2RlZmlu ZSBIQVZFX05FVF9JRl9IIDEKfCAjZGVmaW5lIEhBVkVfVFpOQU1FIDEKfCAjZGVm aW5lIEhBVkVfU1RSVUNUX0lGUkVRX0lGUl9GTEFHUyAxCnwgI2RlZmluZSBIQVZF X1NUUlVDVF9JRlJFUV9JRlJfSFdBRERSIDEKfCAjZGVmaW5lIEhBVkVfU1RSVUNU X0lGUkVRX0lGUl9ORVRNQVNLIDEKfCAjZGVmaW5lIEhBVkVfU1RSVUNUX0lGUkVR X0lGUl9CUk9BREFERFIgMQp8ICNkZWZpbmUgSEFWRV9TVFJVQ1RfSUZSRVFfSUZS X0FERFIgMQp8ICNkZWZpbmUgUFJPVE9UWVBFUyAxCnwgI2RlZmluZSBfX1BST1RP VFlQRVMgMQp8ICNkZWZpbmUgUE9JTlRFUl9UWVBFIHZvaWQKfCAjZGVmaW5lIEhB VkVfTE9OR19GSUxFX05BTUVTIDEKfCAjZGVmaW5lIEhBVkVfU1RETElCX0ggMQp8 ICNkZWZpbmUgSEFWRV9VTklTVERfSCAxCnwgI2RlZmluZSBIQVZFX0dFVFBBR0VT SVpFIDEKfCAjZGVmaW5lIFVTRV9YSU0gMQp8ICNkZWZpbmUgSEFWRV9IX0VSUk5P IDEKfCAjZGVmaW5lIEhBVkVfQUxMT0NBX0ggMQp8ICNkZWZpbmUgSEFWRV9BTExP Q0EgMQp8ICNkZWZpbmUgSEFWRV9MSUJNIDEKfCAjZGVmaW5lIEhBVkVfR0VUSE9T VE5BTUUgMQp8ICNkZWZpbmUgSEFWRV9HRVRET01BSU5OQU1FIDEKfCAjZGVmaW5l IEhBVkVfRFVQMiAxCnwgI2RlZmluZSBIQVZFX1JFTkFNRSAxCnwgI2RlZmluZSBI QVZFX0NMT1NFRElSIDEKfCAjZGVmaW5lIEhBVkVfTUtESVIgMQp8ICNkZWZpbmUg SEFWRV9STURJUiAxCnwgI2RlZmluZSBIQVZFX0dFVFJVU0FHRSAxCnwgI2RlZmlu ZSBIQVZFX1JBTkRPTSAxCnwgI2RlZmluZSBIQVZFX0xSQU5ENDggMQp8ICNkZWZp bmUgSEFWRV9CQ09QWSAxCnwgI2RlZmluZSBIQVZFX0JDTVAgMQp8ICNkZWZpbmUg SEFWRV9MT0dCIDEKfCAjZGVmaW5lIEhBVkVfRlJFWFAgMQp8ICNkZWZpbmUgSEFW RV9GTU9EIDEKfCAjZGVmaW5lIEhBVkVfUklOVCAxCnwgI2RlZmluZSBIQVZFX0NC UlQgMQp8ICNkZWZpbmUgSEFWRV9GVElNRSAxCnwgI2RlZmluZSBIQVZFX1NFVFNJ RCAxCnwgI2RlZmluZSBIQVZFX1NUUkVSUk9SIDEKfCAjZGVmaW5lIEhBVkVfRlBB VEhDT05GIDEKfCAjZGVmaW5lIEhBVkVfU0VMRUNUIDEKfCAjZGVmaW5lIEhBVkVf TUtUSU1FIDEKfCAjZGVmaW5lIEhBVkVfR0VUUEFHRVNJWkUgMQp8ICNkZWZpbmUg SEFWRV9UWlNFVCAxCnwgI2RlZmluZSBIQVZFX1NFVExPQ0FMRSAxCnwgI2RlZmlu ZSBIQVZFX1VUSU1FUyAxCnwgI2RlZmluZSBIQVZFX1NFVFJMSU1JVCAxCnwgI2Rl ZmluZSBIQVZFX1NFVFBHSUQgMQp8ICNkZWZpbmUgSEFWRV9HRVRDV0QgMQp8ICNk ZWZpbmUgSEFWRV9HRVRXRCAxCnwgI2RlZmluZSBIQVZFX1NIVVRET1dOIDEKfCAj ZGVmaW5lIEhBVkVfTUJMRU4gMQp8ICNkZWZpbmUgSEFWRV9NQlJMRU4gMQp8ICNk ZWZpbmUgSEFWRV9NQlNJTklUIDEKfCAjZGVmaW5lIEhBVkVfU1RSU0lHTkFMIDEK fCAjZGVmaW5lIEhBVkVfU0VUSVRJTUVSIDEKfCAjZGVmaW5lIEhBVkVfVUFMQVJN IDEKfCAjZGVmaW5lIEhBVkVfSU5ERVggMQp8ICNkZWZpbmUgSEFWRV9SSU5ERVgg MQp8ICNkZWZpbmUgSEFWRV9TRU5EVE8gMQp8ICNkZWZpbmUgSEFWRV9SRUNWRlJP TSAxCnwgI2RlZmluZSBIQVZFX0dFVFNPQ0tPUFQgMQp8ICNkZWZpbmUgSEFWRV9T RVRTT0NLT1BUIDEKfCAjZGVmaW5lIEhBVkVfR0VUU09DS05BTUUgMQp8ICNkZWZp bmUgSEFWRV9HRVRQRUVSTkFNRSAxCnwgI2RlZmluZSBIQVZFX01LU1RFTVAgMQp8 ICNkZWZpbmUgSEFWRV9HRVRMSU5FIDEKfCAjZGVmaW5lIEhBVkVfR0VUREVMSU0g MQp8ICNkZWZpbmUgSEFWRV9NRU1NT1ZFIDEKfCAjZGVmaW5lIEhBVkVfRlNZTkMg MQp8ICNkZWZpbmUgSEFWRV9CWkVSTyAxCnwgI2RlZmluZSBIQVZFX01FTVNFVCAx CnwgI2RlZmluZSBIQVZFX01FTUNNUCAxCnwgI2RlZmluZSBIQVZFX0RJRkZUSU1F IDEKfCAjZGVmaW5lIEhBVkVfTUVNQ1BZIDEKfCAjZGVmaW5lIEhBVkVfTUVNUENQ WSAxCnwgI2RlZmluZSBIQVZFX01CTEVOIDEKfCAjZGVmaW5lIEhBVkVfTUJSTEVO IDEKfCAjZGVmaW5lIEhBVkVfU1lTX1VOX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERM SUJfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19USU1FX0ggMQp8ICNkZWZpbmUgSEFW RV9VTklTVERfSCAxCnwgI2RlZmluZSBIQVZFX0FMQVJNIDEKfCAjZGVmaW5lIEJS T0tFTl9NS1RJTUUgMQp8IC8qIGVuZCBjb25mZGVmcy5oLiAgKi8KfCAKfCAvKiBP dmVycmlkZSBhbnkgZ2NjMiBpbnRlcm5hbCBwcm90b3R5cGUgdG8gYXZvaWQgYW4g ZXJyb3IuICAqLwp8ICNpZmRlZiBfX2NwbHVzcGx1cwp8IGV4dGVybiAiQyIKfCAj ZW5kaWYKfCAvKiBXZSB1c2UgY2hhciBiZWNhdXNlIGludCBtaWdodCBtYXRjaCB0 aGUgcmV0dXJuIHR5cGUgb2YgYSBnY2MyCnwgICAgYnVpbHRpbiBhbmQgdGhlbiBp dHMgYXJndW1lbnQgcHJvdG90eXBlIHdvdWxkIHN0aWxsIGFwcGx5LiAgKi8KfCBj aGFyIGtzdGF0X29wZW4gKCk7CnwgaW50CnwgbWFpbiAoKQp8IHsKfCBrc3RhdF9v cGVuICgpOwp8ICAgOwp8ICAgcmV0dXJuIDA7CnwgfQpjb25maWd1cmU6MTU1NjY6 IHJlc3VsdDogbm8KY29uZmlndXJlOjE1NTg0OiBjaGVja2luZyBmb3IgZWxmX2Jl Z2luIGluIC1sZWxmCmNvbmZpZ3VyZToxNTYxNDogZ2NjIC1vIGNvbmZ0ZXN0LmV4 ZSAtZyAtTzIgICAgIGNvbmZ0ZXN0LmMgLWxlbGYgIC1sbSAgID4mNSAgCi91c3Iv bGliL2djYy1saWIvaTY4Ni1wYy1jeWd3aW4vMy4zLjMvLi4vLi4vLi4vLi4vaTY4 Ni1wYy1jeWd3aW4vYmluL2xkOiBjYW5ub3QgZmluZCAtbGVsZgpjb2xsZWN0Mjog bGQgcmV0dXJuZWQgMSBleGl0IHN0YXR1cwpjb25maWd1cmU6MTU2MjA6ICQ/ID0g MQpjb25maWd1cmU6IGZhaWxlZCBwcm9ncmFtIHdhczoKfCAvKiBjb25mZGVmcy5o LiAgKi8KfCAKfCAjZGVmaW5lIFBBQ0tBR0VfTkFNRSAiIgp8ICNkZWZpbmUgUEFD S0FHRV9UQVJOQU1FICIiCnwgI2RlZmluZSBQQUNLQUdFX1ZFUlNJT04gIiIKfCAj ZGVmaW5lIFBBQ0tBR0VfU1RSSU5HICIiCnwgI2RlZmluZSBQQUNLQUdFX0JVR1JF UE9SVCAiIgp8ICNkZWZpbmUgTUFJTF9VU0VfUE9QIDEKfCAjZGVmaW5lIF9HTlVf U09VUkNFIDEKfCAjZGVmaW5lIFNURENfSEVBREVSUyAxCnwgI2RlZmluZSBIQVZF X1NZU19UWVBFU19IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NUQVRfSCAxCnwgI2Rl ZmluZSBIQVZFX1NURExJQl9IIDEKfCAjZGVmaW5lIEhBVkVfU1RSSU5HX0ggMQp8 ICNkZWZpbmUgSEFWRV9NRU1PUllfSCAxCnwgI2RlZmluZSBIQVZFX1NUUklOR1Nf SCAxCnwgI2RlZmluZSBIQVZFX0lOVFRZUEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9T VERJTlRfSCAxCnwgI2RlZmluZSBIQVZFX1VOSVNURF9IIDEKfCAjZGVmaW5lIEhB VkVfU1lTX1NPVU5EQ0FSRF9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NFTEVDVF9I IDEKfCAjZGVmaW5lIEhBVkVfU1lTX1RJTUVCX0ggMQp8ICNkZWZpbmUgSEFWRV9T WVNfVElNRV9IIDEKfCAjZGVmaW5lIEhBVkVfVU5JU1REX0ggMQp8ICNkZWZpbmUg SEFWRV9VVElNRV9IIDEKfCAjZGVmaW5lIEhBVkVfVEVSTUlPU19IIDEKfCAjZGVm aW5lIEhBVkVfTElNSVRTX0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJJTkdfSCAxCnwg I2RlZmluZSBIQVZFX1NURExJQl9IIDEKfCAjZGVmaW5lIEhBVkVfVEVSTUNBUF9I IDEKfCAjZGVmaW5lIEhBVkVfRkNOVExfSCAxCnwgI2RlZmluZSBIQVZFX1NUUklO R1NfSCAxCnwgI2RlZmluZSBIQVZFX1BUWV9IIDEKfCAjZGVmaW5lIEhBVkVfU1lT X01NQU5fSCAxCnwgI2RlZmluZSBIQVZFX1NZU19QQVJBTV9IIDEKfCAjZGVmaW5l IEhBVkVfU1lTX1JFU09VUkNFX0ggMQp8ICNkZWZpbmUgSEFWRV9MT0NBTEVfSCAx CnwgI2RlZmluZSBIQVZFX1NZU19VVFNOQU1FX0ggMQp8ICNkZWZpbmUgSEFWRV9Q V0RfSCAxCnwgI2RlZmluZSBTVERDX0hFQURFUlMgMQp8ICNkZWZpbmUgVElNRV9X SVRIX1NZU19USU1FIDEKfCAjZGVmaW5lIEhBVkVfREVDTF9TWVNfU0lHTElTVCAw CnwgI2RlZmluZSBIQVZFX0RFQ0xfX19TWVNfU0lHTElTVCAwCnwgI2RlZmluZSBI QVZFX1NZU19XQUlUX0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJVQ1RfVVRJTUJVRiAx CnwgI2RlZmluZSBSRVRTSUdUWVBFIHZvaWQKfCAjZGVmaW5lIEhBVkVfU1BFRURf VCAxCnwgI2RlZmluZSBIQVZFX1RJTUVWQUwgMQp8ICNkZWZpbmUgSEFWRV9TWVNf U09DS0VUX0ggMQp8ICNkZWZpbmUgSEFWRV9ORVRfSUZfSCAxCnwgI2RlZmluZSBI QVZFX1RaTkFNRSAxCnwgI2RlZmluZSBIQVZFX1NUUlVDVF9JRlJFUV9JRlJfRkxB R1MgMQp8ICNkZWZpbmUgSEFWRV9TVFJVQ1RfSUZSRVFfSUZSX0hXQUREUiAxCnwg I2RlZmluZSBIQVZFX1NUUlVDVF9JRlJFUV9JRlJfTkVUTUFTSyAxCnwgI2RlZmlu ZSBIQVZFX1NUUlVDVF9JRlJFUV9JRlJfQlJPQURBRERSIDEKfCAjZGVmaW5lIEhB VkVfU1RSVUNUX0lGUkVRX0lGUl9BRERSIDEKfCAjZGVmaW5lIFBST1RPVFlQRVMg MQp8ICNkZWZpbmUgX19QUk9UT1RZUEVTIDEKfCAjZGVmaW5lIFBPSU5URVJfVFlQ RSB2b2lkCnwgI2RlZmluZSBIQVZFX0xPTkdfRklMRV9OQU1FUyAxCnwgI2RlZmlu ZSBIQVZFX1NURExJQl9IIDEKfCAjZGVmaW5lIEhBVkVfVU5JU1REX0ggMQp8ICNk ZWZpbmUgSEFWRV9HRVRQQUdFU0laRSAxCnwgI2RlZmluZSBVU0VfWElNIDEKfCAj ZGVmaW5lIEhBVkVfSF9FUlJOTyAxCnwgI2RlZmluZSBIQVZFX0FMTE9DQV9IIDEK fCAjZGVmaW5lIEhBVkVfQUxMT0NBIDEKfCAjZGVmaW5lIEhBVkVfTElCTSAxCnwg I2RlZmluZSBIQVZFX0dFVEhPU1ROQU1FIDEKfCAjZGVmaW5lIEhBVkVfR0VURE9N QUlOTkFNRSAxCnwgI2RlZmluZSBIQVZFX0RVUDIgMQp8ICNkZWZpbmUgSEFWRV9S RU5BTUUgMQp8ICNkZWZpbmUgSEFWRV9DTE9TRURJUiAxCnwgI2RlZmluZSBIQVZF X01LRElSIDEKfCAjZGVmaW5lIEhBVkVfUk1ESVIgMQp8ICNkZWZpbmUgSEFWRV9H RVRSVVNBR0UgMQp8ICNkZWZpbmUgSEFWRV9SQU5ET00gMQp8ICNkZWZpbmUgSEFW RV9MUkFORDQ4IDEKfCAjZGVmaW5lIEhBVkVfQkNPUFkgMQp8ICNkZWZpbmUgSEFW RV9CQ01QIDEKfCAjZGVmaW5lIEhBVkVfTE9HQiAxCnwgI2RlZmluZSBIQVZFX0ZS RVhQIDEKfCAjZGVmaW5lIEhBVkVfRk1PRCAxCnwgI2RlZmluZSBIQVZFX1JJTlQg MQp8ICNkZWZpbmUgSEFWRV9DQlJUIDEKfCAjZGVmaW5lIEhBVkVfRlRJTUUgMQp8 ICNkZWZpbmUgSEFWRV9TRVRTSUQgMQp8ICNkZWZpbmUgSEFWRV9TVFJFUlJPUiAx CnwgI2RlZmluZSBIQVZFX0ZQQVRIQ09ORiAxCnwgI2RlZmluZSBIQVZFX1NFTEVD VCAxCnwgI2RlZmluZSBIQVZFX01LVElNRSAxCnwgI2RlZmluZSBIQVZFX0dFVFBB R0VTSVpFIDEKfCAjZGVmaW5lIEhBVkVfVFpTRVQgMQp8ICNkZWZpbmUgSEFWRV9T RVRMT0NBTEUgMQp8ICNkZWZpbmUgSEFWRV9VVElNRVMgMQp8ICNkZWZpbmUgSEFW RV9TRVRSTElNSVQgMQp8ICNkZWZpbmUgSEFWRV9TRVRQR0lEIDEKfCAjZGVmaW5l IEhBVkVfR0VUQ1dEIDEKfCAjZGVmaW5lIEhBVkVfR0VUV0QgMQp8ICNkZWZpbmUg SEFWRV9TSFVURE9XTiAxCnwgI2RlZmluZSBIQVZFX01CTEVOIDEKfCAjZGVmaW5l IEhBVkVfTUJSTEVOIDEKfCAjZGVmaW5lIEhBVkVfTUJTSU5JVCAxCnwgI2RlZmlu ZSBIQVZFX1NUUlNJR05BTCAxCnwgI2RlZmluZSBIQVZFX1NFVElUSU1FUiAxCnwg I2RlZmluZSBIQVZFX1VBTEFSTSAxCnwgI2RlZmluZSBIQVZFX0lOREVYIDEKfCAj ZGVmaW5lIEhBVkVfUklOREVYIDEKfCAjZGVmaW5lIEhBVkVfU0VORFRPIDEKfCAj ZGVmaW5lIEhBVkVfUkVDVkZST00gMQp8ICNkZWZpbmUgSEFWRV9HRVRTT0NLT1BU IDEKfCAjZGVmaW5lIEhBVkVfU0VUU09DS09QVCAxCnwgI2RlZmluZSBIQVZFX0dF VFNPQ0tOQU1FIDEKfCAjZGVmaW5lIEhBVkVfR0VUUEVFUk5BTUUgMQp8ICNkZWZp bmUgSEFWRV9NS1NURU1QIDEKfCAjZGVmaW5lIEhBVkVfR0VUTElORSAxCnwgI2Rl ZmluZSBIQVZFX0dFVERFTElNIDEKfCAjZGVmaW5lIEhBVkVfTUVNTU9WRSAxCnwg I2RlZmluZSBIQVZFX0ZTWU5DIDEKfCAjZGVmaW5lIEhBVkVfQlpFUk8gMQp8ICNk ZWZpbmUgSEFWRV9NRU1TRVQgMQp8ICNkZWZpbmUgSEFWRV9NRU1DTVAgMQp8ICNk ZWZpbmUgSEFWRV9ESUZGVElNRSAxCnwgI2RlZmluZSBIQVZFX01FTUNQWSAxCnwg I2RlZmluZSBIQVZFX01FTVBDUFkgMQp8ICNkZWZpbmUgSEFWRV9NQkxFTiAxCnwg I2RlZmluZSBIQVZFX01CUkxFTiAxCnwgI2RlZmluZSBIQVZFX1NZU19VTl9IIDEK fCAjZGVmaW5lIEhBVkVfU1RETElCX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfVElN RV9IIDEKfCAjZGVmaW5lIEhBVkVfVU5JU1REX0ggMQp8ICNkZWZpbmUgSEFWRV9B TEFSTSAxCnwgI2RlZmluZSBCUk9LRU5fTUtUSU1FIDEKfCAvKiBlbmQgY29uZmRl ZnMuaC4gICovCnwgCnwgLyogT3ZlcnJpZGUgYW55IGdjYzIgaW50ZXJuYWwgcHJv dG90eXBlIHRvIGF2b2lkIGFuIGVycm9yLiAgKi8KfCAjaWZkZWYgX19jcGx1c3Bs dXMKfCBleHRlcm4gIkMiCnwgI2VuZGlmCnwgLyogV2UgdXNlIGNoYXIgYmVjYXVz ZSBpbnQgbWlnaHQgbWF0Y2ggdGhlIHJldHVybiB0eXBlIG9mIGEgZ2NjMgp8ICAg IGJ1aWx0aW4gYW5kIHRoZW4gaXRzIGFyZ3VtZW50IHByb3RvdHlwZSB3b3VsZCBz dGlsbCBhcHBseS4gICovCnwgY2hhciBlbGZfYmVnaW4gKCk7CnwgaW50CnwgbWFp biAoKQp8IHsKfCBlbGZfYmVnaW4gKCk7CnwgICA7CnwgICByZXR1cm4gMDsKfCB9 CmNvbmZpZ3VyZToxNTY0NjogcmVzdWx0OiBubwpjb25maWd1cmU6MTU2NTQ6IGNo ZWNraW5nIGZvciBrdm1fb3BlbiBpbiAtbGt2bQpjb25maWd1cmU6MTU2ODQ6IGdj YyAtbyBjb25mdGVzdC5leGUgLWcgLU8yICAgICBjb25mdGVzdC5jIC1sa3ZtICAt bG0gICA+JjUgIAovdXNyL2xpYi9nY2MtbGliL2k2ODYtcGMtY3lnd2luLzMuMy4z Ly4uLy4uLy4uLy4uL2k2ODYtcGMtY3lnd2luL2Jpbi9sZDogY2Fubm90IGZpbmQg LWxrdm0KY29sbGVjdDI6IGxkIHJldHVybmVkIDEgZXhpdCBzdGF0dXMKY29uZmln dXJlOjE1NjkwOiAkPyA9IDEKY29uZmlndXJlOiBmYWlsZWQgcHJvZ3JhbSB3YXM6 CnwgLyogY29uZmRlZnMuaC4gICovCnwgCnwgI2RlZmluZSBQQUNLQUdFX05BTUUg IiIKfCAjZGVmaW5lIFBBQ0tBR0VfVEFSTkFNRSAiIgp8ICNkZWZpbmUgUEFDS0FH RV9WRVJTSU9OICIiCnwgI2RlZmluZSBQQUNLQUdFX1NUUklORyAiIgp8ICNkZWZp bmUgUEFDS0FHRV9CVUdSRVBPUlQgIiIKfCAjZGVmaW5lIE1BSUxfVVNFX1BPUCAx CnwgI2RlZmluZSBfR05VX1NPVVJDRSAxCnwgI2RlZmluZSBTVERDX0hFQURFUlMg MQp8ICNkZWZpbmUgSEFWRV9TWVNfVFlQRVNfSCAxCnwgI2RlZmluZSBIQVZFX1NZ U19TVEFUX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERMSUJfSCAxCnwgI2RlZmluZSBI QVZFX1NUUklOR19IIDEKfCAjZGVmaW5lIEhBVkVfTUVNT1JZX0ggMQp8ICNkZWZp bmUgSEFWRV9TVFJJTkdTX0ggMQp8ICNkZWZpbmUgSEFWRV9JTlRUWVBFU19IIDEK fCAjZGVmaW5lIEhBVkVfU1RESU5UX0ggMQp8ICNkZWZpbmUgSEFWRV9VTklTVERf SCAxCnwgI2RlZmluZSBIQVZFX1NZU19TT1VORENBUkRfSCAxCnwgI2RlZmluZSBI QVZFX1NZU19TRUxFQ1RfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19USU1FQl9IIDEK fCAjZGVmaW5lIEhBVkVfU1lTX1RJTUVfSCAxCnwgI2RlZmluZSBIQVZFX1VOSVNU RF9IIDEKfCAjZGVmaW5lIEhBVkVfVVRJTUVfSCAxCnwgI2RlZmluZSBIQVZFX1RF Uk1JT1NfSCAxCnwgI2RlZmluZSBIQVZFX0xJTUlUU19IIDEKfCAjZGVmaW5lIEhB VkVfU1RSSU5HX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERMSUJfSCAxCnwgI2RlZmlu ZSBIQVZFX1RFUk1DQVBfSCAxCnwgI2RlZmluZSBIQVZFX0ZDTlRMX0ggMQp8ICNk ZWZpbmUgSEFWRV9TVFJJTkdTX0ggMQp8ICNkZWZpbmUgSEFWRV9QVFlfSCAxCnwg I2RlZmluZSBIQVZFX1NZU19NTUFOX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfUEFS QU1fSCAxCnwgI2RlZmluZSBIQVZFX1NZU19SRVNPVVJDRV9IIDEKfCAjZGVmaW5l IEhBVkVfTE9DQUxFX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfVVRTTkFNRV9IIDEK fCAjZGVmaW5lIEhBVkVfUFdEX0ggMQp8ICNkZWZpbmUgU1REQ19IRUFERVJTIDEK fCAjZGVmaW5lIFRJTUVfV0lUSF9TWVNfVElNRSAxCnwgI2RlZmluZSBIQVZFX0RF Q0xfU1lTX1NJR0xJU1QgMAp8ICNkZWZpbmUgSEFWRV9ERUNMX19fU1lTX1NJR0xJ U1QgMAp8ICNkZWZpbmUgSEFWRV9TWVNfV0FJVF9IIDEKfCAjZGVmaW5lIEhBVkVf U1RSVUNUX1VUSU1CVUYgMQp8ICNkZWZpbmUgUkVUU0lHVFlQRSB2b2lkCnwgI2Rl ZmluZSBIQVZFX1NQRUVEX1QgMQp8ICNkZWZpbmUgSEFWRV9USU1FVkFMIDEKfCAj ZGVmaW5lIEhBVkVfU1lTX1NPQ0tFVF9IIDEKfCAjZGVmaW5lIEhBVkVfTkVUX0lG X0ggMQp8ICNkZWZpbmUgSEFWRV9UWk5BTUUgMQp8ICNkZWZpbmUgSEFWRV9TVFJV Q1RfSUZSRVFfSUZSX0ZMQUdTIDEKfCAjZGVmaW5lIEhBVkVfU1RSVUNUX0lGUkVR X0lGUl9IV0FERFIgMQp8ICNkZWZpbmUgSEFWRV9TVFJVQ1RfSUZSRVFfSUZSX05F VE1BU0sgMQp8ICNkZWZpbmUgSEFWRV9TVFJVQ1RfSUZSRVFfSUZSX0JST0FEQURE UiAxCnwgI2RlZmluZSBIQVZFX1NUUlVDVF9JRlJFUV9JRlJfQUREUiAxCnwgI2Rl ZmluZSBQUk9UT1RZUEVTIDEKfCAjZGVmaW5lIF9fUFJPVE9UWVBFUyAxCnwgI2Rl ZmluZSBQT0lOVEVSX1RZUEUgdm9pZAp8ICNkZWZpbmUgSEFWRV9MT05HX0ZJTEVf TkFNRVMgMQp8ICNkZWZpbmUgSEFWRV9TVERMSUJfSCAxCnwgI2RlZmluZSBIQVZF X1VOSVNURF9IIDEKfCAjZGVmaW5lIEhBVkVfR0VUUEFHRVNJWkUgMQp8ICNkZWZp bmUgVVNFX1hJTSAxCnwgI2RlZmluZSBIQVZFX0hfRVJSTk8gMQp8ICNkZWZpbmUg SEFWRV9BTExPQ0FfSCAxCnwgI2RlZmluZSBIQVZFX0FMTE9DQSAxCnwgI2RlZmlu ZSBIQVZFX0xJQk0gMQp8ICNkZWZpbmUgSEFWRV9HRVRIT1NUTkFNRSAxCnwgI2Rl ZmluZSBIQVZFX0dFVERPTUFJTk5BTUUgMQp8ICNkZWZpbmUgSEFWRV9EVVAyIDEK fCAjZGVmaW5lIEhBVkVfUkVOQU1FIDEKfCAjZGVmaW5lIEhBVkVfQ0xPU0VESVIg MQp8ICNkZWZpbmUgSEFWRV9NS0RJUiAxCnwgI2RlZmluZSBIQVZFX1JNRElSIDEK fCAjZGVmaW5lIEhBVkVfR0VUUlVTQUdFIDEKfCAjZGVmaW5lIEhBVkVfUkFORE9N IDEKfCAjZGVmaW5lIEhBVkVfTFJBTkQ0OCAxCnwgI2RlZmluZSBIQVZFX0JDT1BZ IDEKfCAjZGVmaW5lIEhBVkVfQkNNUCAxCnwgI2RlZmluZSBIQVZFX0xPR0IgMQp8 ICNkZWZpbmUgSEFWRV9GUkVYUCAxCnwgI2RlZmluZSBIQVZFX0ZNT0QgMQp8ICNk ZWZpbmUgSEFWRV9SSU5UIDEKfCAjZGVmaW5lIEhBVkVfQ0JSVCAxCnwgI2RlZmlu ZSBIQVZFX0ZUSU1FIDEKfCAjZGVmaW5lIEhBVkVfU0VUU0lEIDEKfCAjZGVmaW5l IEhBVkVfU1RSRVJST1IgMQp8ICNkZWZpbmUgSEFWRV9GUEFUSENPTkYgMQp8ICNk ZWZpbmUgSEFWRV9TRUxFQ1QgMQp8ICNkZWZpbmUgSEFWRV9NS1RJTUUgMQp8ICNk ZWZpbmUgSEFWRV9HRVRQQUdFU0laRSAxCnwgI2RlZmluZSBIQVZFX1RaU0VUIDEK fCAjZGVmaW5lIEhBVkVfU0VUTE9DQUxFIDEKfCAjZGVmaW5lIEhBVkVfVVRJTUVT IDEKfCAjZGVmaW5lIEhBVkVfU0VUUkxJTUlUIDEKfCAjZGVmaW5lIEhBVkVfU0VU UEdJRCAxCnwgI2RlZmluZSBIQVZFX0dFVENXRCAxCnwgI2RlZmluZSBIQVZFX0dF VFdEIDEKfCAjZGVmaW5lIEhBVkVfU0hVVERPV04gMQp8ICNkZWZpbmUgSEFWRV9N QkxFTiAxCnwgI2RlZmluZSBIQVZFX01CUkxFTiAxCnwgI2RlZmluZSBIQVZFX01C U0lOSVQgMQp8ICNkZWZpbmUgSEFWRV9TVFJTSUdOQUwgMQp8ICNkZWZpbmUgSEFW RV9TRVRJVElNRVIgMQp8ICNkZWZpbmUgSEFWRV9VQUxBUk0gMQp8ICNkZWZpbmUg SEFWRV9JTkRFWCAxCnwgI2RlZmluZSBIQVZFX1JJTkRFWCAxCnwgI2RlZmluZSBI QVZFX1NFTkRUTyAxCnwgI2RlZmluZSBIQVZFX1JFQ1ZGUk9NIDEKfCAjZGVmaW5l IEhBVkVfR0VUU09DS09QVCAxCnwgI2RlZmluZSBIQVZFX1NFVFNPQ0tPUFQgMQp8 ICNkZWZpbmUgSEFWRV9HRVRTT0NLTkFNRSAxCnwgI2RlZmluZSBIQVZFX0dFVFBF RVJOQU1FIDEKfCAjZGVmaW5lIEhBVkVfTUtTVEVNUCAxCnwgI2RlZmluZSBIQVZF X0dFVExJTkUgMQp8ICNkZWZpbmUgSEFWRV9HRVRERUxJTSAxCnwgI2RlZmluZSBI QVZFX01FTU1PVkUgMQp8ICNkZWZpbmUgSEFWRV9GU1lOQyAxCnwgI2RlZmluZSBI QVZFX0JaRVJPIDEKfCAjZGVmaW5lIEhBVkVfTUVNU0VUIDEKfCAjZGVmaW5lIEhB VkVfTUVNQ01QIDEKfCAjZGVmaW5lIEhBVkVfRElGRlRJTUUgMQp8ICNkZWZpbmUg SEFWRV9NRU1DUFkgMQp8ICNkZWZpbmUgSEFWRV9NRU1QQ1BZIDEKfCAjZGVmaW5l IEhBVkVfTUJMRU4gMQp8ICNkZWZpbmUgSEFWRV9NQlJMRU4gMQp8ICNkZWZpbmUg SEFWRV9TWVNfVU5fSCAxCnwgI2RlZmluZSBIQVZFX1NURExJQl9IIDEKfCAjZGVm aW5lIEhBVkVfU1lTX1RJTUVfSCAxCnwgI2RlZmluZSBIQVZFX1VOSVNURF9IIDEK fCAjZGVmaW5lIEhBVkVfQUxBUk0gMQp8ICNkZWZpbmUgQlJPS0VOX01LVElNRSAx CnwgLyogZW5kIGNvbmZkZWZzLmguICAqLwp8IAp8IC8qIE92ZXJyaWRlIGFueSBn Y2MyIGludGVybmFsIHByb3RvdHlwZSB0byBhdm9pZCBhbiBlcnJvci4gICovCnwg I2lmZGVmIF9fY3BsdXNwbHVzCnwgZXh0ZXJuICJDIgp8ICNlbmRpZgp8IC8qIFdl IHVzZSBjaGFyIGJlY2F1c2UgaW50IG1pZ2h0IG1hdGNoIHRoZSByZXR1cm4gdHlw ZSBvZiBhIGdjYzIKfCAgICBidWlsdGluIGFuZCB0aGVuIGl0cyBhcmd1bWVudCBw cm90b3R5cGUgd291bGQgc3RpbGwgYXBwbHkuICAqLwp8IGNoYXIga3ZtX29wZW4g KCk7CnwgaW50CnwgbWFpbiAoKQp8IHsKfCBrdm1fb3BlbiAoKTsKfCAgIDsKfCAg IHJldHVybiAwOwp8IH0KY29uZmlndXJlOjE1NzE2OiByZXN1bHQ6IG5vCmNvbmZp Z3VyZToxNTcyMzogY2hlY2tpbmcgZm9yIGdldGxvYWRhdmcgaW4gLWx1dGlsCmNv bmZpZ3VyZToxNTc1MzogZ2NjIC1vIGNvbmZ0ZXN0LmV4ZSAtZyAtTzIgICAgIGNv bmZ0ZXN0LmMgLWx1dGlsICAtbG0gICA+JjUgIAovY3lnZHJpdmUvYy9ET0NVTUV+ MS93aWxsaWFtL0xPQ0FMU34xL1RlbXAvY2NjRkRSVU8ubzogSW4gZnVuY3Rpb24g YG1haW4nOgovY3lnZHJpdmUvZC9lbWFjczIyL2NvbmZ0ZXN0LmM6MTQ2OiB1bmRl ZmluZWQgcmVmZXJlbmNlIHRvIGBfZ2V0bG9hZGF2ZycKY29sbGVjdDI6IGxkIHJl dHVybmVkIDEgZXhpdCBzdGF0dXMKY29uZmlndXJlOjE1NzU5OiAkPyA9IDEKY29u ZmlndXJlOiBmYWlsZWQgcHJvZ3JhbSB3YXM6CnwgLyogY29uZmRlZnMuaC4gICov CnwgCnwgI2RlZmluZSBQQUNLQUdFX05BTUUgIiIKfCAjZGVmaW5lIFBBQ0tBR0Vf VEFSTkFNRSAiIgp8ICNkZWZpbmUgUEFDS0FHRV9WRVJTSU9OICIiCnwgI2RlZmlu ZSBQQUNLQUdFX1NUUklORyAiIgp8ICNkZWZpbmUgUEFDS0FHRV9CVUdSRVBPUlQg IiIKfCAjZGVmaW5lIE1BSUxfVVNFX1BPUCAxCnwgI2RlZmluZSBfR05VX1NPVVJD RSAxCnwgI2RlZmluZSBTVERDX0hFQURFUlMgMQp8ICNkZWZpbmUgSEFWRV9TWVNf VFlQRVNfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19TVEFUX0ggMQp8ICNkZWZpbmUg SEFWRV9TVERMSUJfSCAxCnwgI2RlZmluZSBIQVZFX1NUUklOR19IIDEKfCAjZGVm aW5lIEhBVkVfTUVNT1JZX0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJJTkdTX0ggMQp8 ICNkZWZpbmUgSEFWRV9JTlRUWVBFU19IIDEKfCAjZGVmaW5lIEhBVkVfU1RESU5U X0ggMQp8ICNkZWZpbmUgSEFWRV9VTklTVERfSCAxCnwgI2RlZmluZSBIQVZFX1NZ U19TT1VORENBUkRfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19TRUxFQ1RfSCAxCnwg I2RlZmluZSBIQVZFX1NZU19USU1FQl9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1RJ TUVfSCAxCnwgI2RlZmluZSBIQVZFX1VOSVNURF9IIDEKfCAjZGVmaW5lIEhBVkVf VVRJTUVfSCAxCnwgI2RlZmluZSBIQVZFX1RFUk1JT1NfSCAxCnwgI2RlZmluZSBI QVZFX0xJTUlUU19IIDEKfCAjZGVmaW5lIEhBVkVfU1RSSU5HX0ggMQp8ICNkZWZp bmUgSEFWRV9TVERMSUJfSCAxCnwgI2RlZmluZSBIQVZFX1RFUk1DQVBfSCAxCnwg I2RlZmluZSBIQVZFX0ZDTlRMX0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJJTkdTX0gg MQp8ICNkZWZpbmUgSEFWRV9QVFlfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19NTUFO X0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfUEFSQU1fSCAxCnwgI2RlZmluZSBIQVZF X1NZU19SRVNPVVJDRV9IIDEKfCAjZGVmaW5lIEhBVkVfTE9DQUxFX0ggMQp8ICNk ZWZpbmUgSEFWRV9TWVNfVVRTTkFNRV9IIDEKfCAjZGVmaW5lIEhBVkVfUFdEX0gg MQp8ICNkZWZpbmUgU1REQ19IRUFERVJTIDEKfCAjZGVmaW5lIFRJTUVfV0lUSF9T WVNfVElNRSAxCnwgI2RlZmluZSBIQVZFX0RFQ0xfU1lTX1NJR0xJU1QgMAp8ICNk ZWZpbmUgSEFWRV9ERUNMX19fU1lTX1NJR0xJU1QgMAp8ICNkZWZpbmUgSEFWRV9T WVNfV0FJVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1RSVUNUX1VUSU1CVUYgMQp8ICNk ZWZpbmUgUkVUU0lHVFlQRSB2b2lkCnwgI2RlZmluZSBIQVZFX1NQRUVEX1QgMQp8 ICNkZWZpbmUgSEFWRV9USU1FVkFMIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NPQ0tF VF9IIDEKfCAjZGVmaW5lIEhBVkVfTkVUX0lGX0ggMQp8ICNkZWZpbmUgSEFWRV9U Wk5BTUUgMQp8ICNkZWZpbmUgSEFWRV9TVFJVQ1RfSUZSRVFfSUZSX0ZMQUdTIDEK fCAjZGVmaW5lIEhBVkVfU1RSVUNUX0lGUkVRX0lGUl9IV0FERFIgMQp8ICNkZWZp bmUgSEFWRV9TVFJVQ1RfSUZSRVFfSUZSX05FVE1BU0sgMQp8ICNkZWZpbmUgSEFW RV9TVFJVQ1RfSUZSRVFfSUZSX0JST0FEQUREUiAxCnwgI2RlZmluZSBIQVZFX1NU UlVDVF9JRlJFUV9JRlJfQUREUiAxCnwgI2RlZmluZSBQUk9UT1RZUEVTIDEKfCAj ZGVmaW5lIF9fUFJPVE9UWVBFUyAxCnwgI2RlZmluZSBQT0lOVEVSX1RZUEUgdm9p ZAp8ICNkZWZpbmUgSEFWRV9MT05HX0ZJTEVfTkFNRVMgMQp8ICNkZWZpbmUgSEFW RV9TVERMSUJfSCAxCnwgI2RlZmluZSBIQVZFX1VOSVNURF9IIDEKfCAjZGVmaW5l IEhBVkVfR0VUUEFHRVNJWkUgMQp8ICNkZWZpbmUgVVNFX1hJTSAxCnwgI2RlZmlu ZSBIQVZFX0hfRVJSTk8gMQp8ICNkZWZpbmUgSEFWRV9BTExPQ0FfSCAxCnwgI2Rl ZmluZSBIQVZFX0FMTE9DQSAxCnwgI2RlZmluZSBIQVZFX0xJQk0gMQp8ICNkZWZp bmUgSEFWRV9HRVRIT1NUTkFNRSAxCnwgI2RlZmluZSBIQVZFX0dFVERPTUFJTk5B TUUgMQp8ICNkZWZpbmUgSEFWRV9EVVAyIDEKfCAjZGVmaW5lIEhBVkVfUkVOQU1F IDEKfCAjZGVmaW5lIEhBVkVfQ0xPU0VESVIgMQp8ICNkZWZpbmUgSEFWRV9NS0RJ UiAxCnwgI2RlZmluZSBIQVZFX1JNRElSIDEKfCAjZGVmaW5lIEhBVkVfR0VUUlVT QUdFIDEKfCAjZGVmaW5lIEhBVkVfUkFORE9NIDEKfCAjZGVmaW5lIEhBVkVfTFJB TkQ0OCAxCnwgI2RlZmluZSBIQVZFX0JDT1BZIDEKfCAjZGVmaW5lIEhBVkVfQkNN UCAxCnwgI2RlZmluZSBIQVZFX0xPR0IgMQp8ICNkZWZpbmUgSEFWRV9GUkVYUCAx CnwgI2RlZmluZSBIQVZFX0ZNT0QgMQp8ICNkZWZpbmUgSEFWRV9SSU5UIDEKfCAj ZGVmaW5lIEhBVkVfQ0JSVCAxCnwgI2RlZmluZSBIQVZFX0ZUSU1FIDEKfCAjZGVm aW5lIEhBVkVfU0VUU0lEIDEKfCAjZGVmaW5lIEhBVkVfU1RSRVJST1IgMQp8ICNk ZWZpbmUgSEFWRV9GUEFUSENPTkYgMQp8ICNkZWZpbmUgSEFWRV9TRUxFQ1QgMQp8 ICNkZWZpbmUgSEFWRV9NS1RJTUUgMQp8ICNkZWZpbmUgSEFWRV9HRVRQQUdFU0la RSAxCnwgI2RlZmluZSBIQVZFX1RaU0VUIDEKfCAjZGVmaW5lIEhBVkVfU0VUTE9D QUxFIDEKfCAjZGVmaW5lIEhBVkVfVVRJTUVTIDEKfCAjZGVmaW5lIEhBVkVfU0VU UkxJTUlUIDEKfCAjZGVmaW5lIEhBVkVfU0VUUEdJRCAxCnwgI2RlZmluZSBIQVZF X0dFVENXRCAxCnwgI2RlZmluZSBIQVZFX0dFVFdEIDEKfCAjZGVmaW5lIEhBVkVf U0hVVERPV04gMQp8ICNkZWZpbmUgSEFWRV9NQkxFTiAxCnwgI2RlZmluZSBIQVZF X01CUkxFTiAxCnwgI2RlZmluZSBIQVZFX01CU0lOSVQgMQp8ICNkZWZpbmUgSEFW RV9TVFJTSUdOQUwgMQp8ICNkZWZpbmUgSEFWRV9TRVRJVElNRVIgMQp8ICNkZWZp bmUgSEFWRV9VQUxBUk0gMQp8ICNkZWZpbmUgSEFWRV9JTkRFWCAxCnwgI2RlZmlu ZSBIQVZFX1JJTkRFWCAxCnwgI2RlZmluZSBIQVZFX1NFTkRUTyAxCnwgI2RlZmlu ZSBIQVZFX1JFQ1ZGUk9NIDEKfCAjZGVmaW5lIEhBVkVfR0VUU09DS09QVCAxCnwg I2RlZmluZSBIQVZFX1NFVFNPQ0tPUFQgMQp8ICNkZWZpbmUgSEFWRV9HRVRTT0NL TkFNRSAxCnwgI2RlZmluZSBIQVZFX0dFVFBFRVJOQU1FIDEKfCAjZGVmaW5lIEhB VkVfTUtTVEVNUCAxCnwgI2RlZmluZSBIQVZFX0dFVExJTkUgMQp8ICNkZWZpbmUg SEFWRV9HRVRERUxJTSAxCnwgI2RlZmluZSBIQVZFX01FTU1PVkUgMQp8ICNkZWZp bmUgSEFWRV9GU1lOQyAxCnwgI2RlZmluZSBIQVZFX0JaRVJPIDEKfCAjZGVmaW5l IEhBVkVfTUVNU0VUIDEKfCAjZGVmaW5lIEhBVkVfTUVNQ01QIDEKfCAjZGVmaW5l IEhBVkVfRElGRlRJTUUgMQp8ICNkZWZpbmUgSEFWRV9NRU1DUFkgMQp8ICNkZWZp bmUgSEFWRV9NRU1QQ1BZIDEKfCAjZGVmaW5lIEhBVkVfTUJMRU4gMQp8ICNkZWZp bmUgSEFWRV9NQlJMRU4gMQp8ICNkZWZpbmUgSEFWRV9TWVNfVU5fSCAxCnwgI2Rl ZmluZSBIQVZFX1NURExJQl9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1RJTUVfSCAx CnwgI2RlZmluZSBIQVZFX1VOSVNURF9IIDEKfCAjZGVmaW5lIEhBVkVfQUxBUk0g MQp8ICNkZWZpbmUgQlJPS0VOX01LVElNRSAxCnwgLyogZW5kIGNvbmZkZWZzLmgu ICAqLwp8IAp8IC8qIE92ZXJyaWRlIGFueSBnY2MyIGludGVybmFsIHByb3RvdHlw ZSB0byBhdm9pZCBhbiBlcnJvci4gICovCnwgI2lmZGVmIF9fY3BsdXNwbHVzCnwg ZXh0ZXJuICJDIgp8ICNlbmRpZgp8IC8qIFdlIHVzZSBjaGFyIGJlY2F1c2UgaW50 IG1pZ2h0IG1hdGNoIHRoZSByZXR1cm4gdHlwZSBvZiBhIGdjYzIKfCAgICBidWls dGluIGFuZCB0aGVuIGl0cyBhcmd1bWVudCBwcm90b3R5cGUgd291bGQgc3RpbGwg YXBwbHkuICAqLwp8IGNoYXIgZ2V0bG9hZGF2ZyAoKTsKfCBpbnQKfCBtYWluICgp Cnwgewp8IGdldGxvYWRhdmcgKCk7CnwgICA7CnwgICByZXR1cm4gMDsKfCB9CmNv bmZpZ3VyZToxNTc4NTogcmVzdWx0OiBubwpjb25maWd1cmU6MTU3OTg6IGNoZWNr aW5nIGZvciBnZXRsb2FkYXZnIGluIC1sZ2V0bG9hZGF2Zwpjb25maWd1cmU6MTU4 Mjg6IGdjYyAtbyBjb25mdGVzdC5leGUgLWcgLU8yICAgICBjb25mdGVzdC5jIC1s Z2V0bG9hZGF2ZyAgLUwvdXNyL2xvY2FsL2xpYiAtbG0gICA+JjUgIAovdXNyL2xp Yi9nY2MtbGliL2k2ODYtcGMtY3lnd2luLzMuMy4zLy4uLy4uLy4uLy4uL2k2ODYt cGMtY3lnd2luL2Jpbi9sZDogY2Fubm90IGZpbmQgLWxnZXRsb2FkYXZnCmNvbGxl Y3QyOiBsZCByZXR1cm5lZCAxIGV4aXQgc3RhdHVzCmNvbmZpZ3VyZToxNTgzNDog JD8gPSAxCmNvbmZpZ3VyZTogZmFpbGVkIHByb2dyYW0gd2FzOgp8IC8qIGNvbmZk ZWZzLmguICAqLwp8IAp8ICNkZWZpbmUgUEFDS0FHRV9OQU1FICIiCnwgI2RlZmlu ZSBQQUNLQUdFX1RBUk5BTUUgIiIKfCAjZGVmaW5lIFBBQ0tBR0VfVkVSU0lPTiAi Igp8ICNkZWZpbmUgUEFDS0FHRV9TVFJJTkcgIiIKfCAjZGVmaW5lIFBBQ0tBR0Vf QlVHUkVQT1JUICIiCnwgI2RlZmluZSBNQUlMX1VTRV9QT1AgMQp8ICNkZWZpbmUg X0dOVV9TT1VSQ0UgMQp8ICNkZWZpbmUgU1REQ19IRUFERVJTIDEKfCAjZGVmaW5l IEhBVkVfU1lTX1RZUEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfU1RBVF9IIDEK fCAjZGVmaW5lIEhBVkVfU1RETElCX0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJJTkdf SCAxCnwgI2RlZmluZSBIQVZFX01FTU9SWV9IIDEKfCAjZGVmaW5lIEhBVkVfU1RS SU5HU19IIDEKfCAjZGVmaW5lIEhBVkVfSU5UVFlQRVNfSCAxCnwgI2RlZmluZSBI QVZFX1NURElOVF9IIDEKfCAjZGVmaW5lIEhBVkVfVU5JU1REX0ggMQp8ICNkZWZp bmUgSEFWRV9TWVNfU09VTkRDQVJEX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfU0VM RUNUX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfVElNRUJfSCAxCnwgI2RlZmluZSBI QVZFX1NZU19USU1FX0ggMQp8ICNkZWZpbmUgSEFWRV9VTklTVERfSCAxCnwgI2Rl ZmluZSBIQVZFX1VUSU1FX0ggMQp8ICNkZWZpbmUgSEFWRV9URVJNSU9TX0ggMQp8 ICNkZWZpbmUgSEFWRV9MSU1JVFNfSCAxCnwgI2RlZmluZSBIQVZFX1NUUklOR19I IDEKfCAjZGVmaW5lIEhBVkVfU1RETElCX0ggMQp8ICNkZWZpbmUgSEFWRV9URVJN Q0FQX0ggMQp8ICNkZWZpbmUgSEFWRV9GQ05UTF9IIDEKfCAjZGVmaW5lIEhBVkVf U1RSSU5HU19IIDEKfCAjZGVmaW5lIEhBVkVfUFRZX0ggMQp8ICNkZWZpbmUgSEFW RV9TWVNfTU1BTl9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1BBUkFNX0ggMQp8ICNk ZWZpbmUgSEFWRV9TWVNfUkVTT1VSQ0VfSCAxCnwgI2RlZmluZSBIQVZFX0xPQ0FM RV9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1VUU05BTUVfSCAxCnwgI2RlZmluZSBI QVZFX1BXRF9IIDEKfCAjZGVmaW5lIFNURENfSEVBREVSUyAxCnwgI2RlZmluZSBU SU1FX1dJVEhfU1lTX1RJTUUgMQp8ICNkZWZpbmUgSEFWRV9ERUNMX1NZU19TSUdM SVNUIDAKfCAjZGVmaW5lIEhBVkVfREVDTF9fX1NZU19TSUdMSVNUIDAKfCAjZGVm aW5lIEhBVkVfU1lTX1dBSVRfSCAxCnwgI2RlZmluZSBIQVZFX1NUUlVDVF9VVElN QlVGIDEKfCAjZGVmaW5lIFJFVFNJR1RZUEUgdm9pZAp8ICNkZWZpbmUgSEFWRV9T UEVFRF9UIDEKfCAjZGVmaW5lIEhBVkVfVElNRVZBTCAxCnwgI2RlZmluZSBIQVZF X1NZU19TT0NLRVRfSCAxCnwgI2RlZmluZSBIQVZFX05FVF9JRl9IIDEKfCAjZGVm aW5lIEhBVkVfVFpOQU1FIDEKfCAjZGVmaW5lIEhBVkVfU1RSVUNUX0lGUkVRX0lG Ul9GTEFHUyAxCnwgI2RlZmluZSBIQVZFX1NUUlVDVF9JRlJFUV9JRlJfSFdBRERS IDEKfCAjZGVmaW5lIEhBVkVfU1RSVUNUX0lGUkVRX0lGUl9ORVRNQVNLIDEKfCAj ZGVmaW5lIEhBVkVfU1RSVUNUX0lGUkVRX0lGUl9CUk9BREFERFIgMQp8ICNkZWZp bmUgSEFWRV9TVFJVQ1RfSUZSRVFfSUZSX0FERFIgMQp8ICNkZWZpbmUgUFJPVE9U WVBFUyAxCnwgI2RlZmluZSBfX1BST1RPVFlQRVMgMQp8ICNkZWZpbmUgUE9JTlRF Ul9UWVBFIHZvaWQKfCAjZGVmaW5lIEhBVkVfTE9OR19GSUxFX05BTUVTIDEKfCAj ZGVmaW5lIEhBVkVfU1RETElCX0ggMQp8ICNkZWZpbmUgSEFWRV9VTklTVERfSCAx CnwgI2RlZmluZSBIQVZFX0dFVFBBR0VTSVpFIDEKfCAjZGVmaW5lIFVTRV9YSU0g MQp8ICNkZWZpbmUgSEFWRV9IX0VSUk5PIDEKfCAjZGVmaW5lIEhBVkVfQUxMT0NB X0ggMQp8ICNkZWZpbmUgSEFWRV9BTExPQ0EgMQp8ICNkZWZpbmUgSEFWRV9MSUJN IDEKfCAjZGVmaW5lIEhBVkVfR0VUSE9TVE5BTUUgMQp8ICNkZWZpbmUgSEFWRV9H RVRET01BSU5OQU1FIDEKfCAjZGVmaW5lIEhBVkVfRFVQMiAxCnwgI2RlZmluZSBI QVZFX1JFTkFNRSAxCnwgI2RlZmluZSBIQVZFX0NMT1NFRElSIDEKfCAjZGVmaW5l IEhBVkVfTUtESVIgMQp8ICNkZWZpbmUgSEFWRV9STURJUiAxCnwgI2RlZmluZSBI QVZFX0dFVFJVU0FHRSAxCnwgI2RlZmluZSBIQVZFX1JBTkRPTSAxCnwgI2RlZmlu ZSBIQVZFX0xSQU5ENDggMQp8ICNkZWZpbmUgSEFWRV9CQ09QWSAxCnwgI2RlZmlu ZSBIQVZFX0JDTVAgMQp8ICNkZWZpbmUgSEFWRV9MT0dCIDEKfCAjZGVmaW5lIEhB VkVfRlJFWFAgMQp8ICNkZWZpbmUgSEFWRV9GTU9EIDEKfCAjZGVmaW5lIEhBVkVf UklOVCAxCnwgI2RlZmluZSBIQVZFX0NCUlQgMQp8ICNkZWZpbmUgSEFWRV9GVElN RSAxCnwgI2RlZmluZSBIQVZFX1NFVFNJRCAxCnwgI2RlZmluZSBIQVZFX1NUUkVS Uk9SIDEKfCAjZGVmaW5lIEhBVkVfRlBBVEhDT05GIDEKfCAjZGVmaW5lIEhBVkVf U0VMRUNUIDEKfCAjZGVmaW5lIEhBVkVfTUtUSU1FIDEKfCAjZGVmaW5lIEhBVkVf R0VUUEFHRVNJWkUgMQp8ICNkZWZpbmUgSEFWRV9UWlNFVCAxCnwgI2RlZmluZSBI QVZFX1NFVExPQ0FMRSAxCnwgI2RlZmluZSBIQVZFX1VUSU1FUyAxCnwgI2RlZmlu ZSBIQVZFX1NFVFJMSU1JVCAxCnwgI2RlZmluZSBIQVZFX1NFVFBHSUQgMQp8ICNk ZWZpbmUgSEFWRV9HRVRDV0QgMQp8ICNkZWZpbmUgSEFWRV9HRVRXRCAxCnwgI2Rl ZmluZSBIQVZFX1NIVVRET1dOIDEKfCAjZGVmaW5lIEhBVkVfTUJMRU4gMQp8ICNk ZWZpbmUgSEFWRV9NQlJMRU4gMQp8ICNkZWZpbmUgSEFWRV9NQlNJTklUIDEKfCAj ZGVmaW5lIEhBVkVfU1RSU0lHTkFMIDEKfCAjZGVmaW5lIEhBVkVfU0VUSVRJTUVS IDEKfCAjZGVmaW5lIEhBVkVfVUFMQVJNIDEKfCAjZGVmaW5lIEhBVkVfSU5ERVgg MQp8ICNkZWZpbmUgSEFWRV9SSU5ERVggMQp8ICNkZWZpbmUgSEFWRV9TRU5EVE8g MQp8ICNkZWZpbmUgSEFWRV9SRUNWRlJPTSAxCnwgI2RlZmluZSBIQVZFX0dFVFNP Q0tPUFQgMQp8ICNkZWZpbmUgSEFWRV9TRVRTT0NLT1BUIDEKfCAjZGVmaW5lIEhB VkVfR0VUU09DS05BTUUgMQp8ICNkZWZpbmUgSEFWRV9HRVRQRUVSTkFNRSAxCnwg I2RlZmluZSBIQVZFX01LU1RFTVAgMQp8ICNkZWZpbmUgSEFWRV9HRVRMSU5FIDEK fCAjZGVmaW5lIEhBVkVfR0VUREVMSU0gMQp8ICNkZWZpbmUgSEFWRV9NRU1NT1ZF IDEKfCAjZGVmaW5lIEhBVkVfRlNZTkMgMQp8ICNkZWZpbmUgSEFWRV9CWkVSTyAx CnwgI2RlZmluZSBIQVZFX01FTVNFVCAxCnwgI2RlZmluZSBIQVZFX01FTUNNUCAx CnwgI2RlZmluZSBIQVZFX0RJRkZUSU1FIDEKfCAjZGVmaW5lIEhBVkVfTUVNQ1BZ IDEKfCAjZGVmaW5lIEhBVkVfTUVNUENQWSAxCnwgI2RlZmluZSBIQVZFX01CTEVO IDEKfCAjZGVmaW5lIEhBVkVfTUJSTEVOIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1VO X0ggMQp8ICNkZWZpbmUgSEFWRV9TVERMSUJfSCAxCnwgI2RlZmluZSBIQVZFX1NZ U19USU1FX0ggMQp8ICNkZWZpbmUgSEFWRV9VTklTVERfSCAxCnwgI2RlZmluZSBI QVZFX0FMQVJNIDEKfCAjZGVmaW5lIEJST0tFTl9NS1RJTUUgMQp8IC8qIGVuZCBj b25mZGVmcy5oLiAgKi8KfCAKfCAvKiBPdmVycmlkZSBhbnkgZ2NjMiBpbnRlcm5h bCBwcm90b3R5cGUgdG8gYXZvaWQgYW4gZXJyb3IuICAqLwp8ICNpZmRlZiBfX2Nw bHVzcGx1cwp8IGV4dGVybiAiQyIKfCAjZW5kaWYKfCAvKiBXZSB1c2UgY2hhciBi ZWNhdXNlIGludCBtaWdodCBtYXRjaCB0aGUgcmV0dXJuIHR5cGUgb2YgYSBnY2My CnwgICAgYnVpbHRpbiBhbmQgdGhlbiBpdHMgYXJndW1lbnQgcHJvdG90eXBlIHdv dWxkIHN0aWxsIGFwcGx5LiAgKi8KfCBjaGFyIGdldGxvYWRhdmcgKCk7CnwgaW50 CnwgbWFpbiAoKQp8IHsKfCBnZXRsb2FkYXZnICgpOwp8ICAgOwp8ICAgcmV0dXJu IDA7CnwgfQpjb25maWd1cmU6MTU4NjA6IHJlc3VsdDogbm8KY29uZmlndXJlOjE1 ODc2OiBjaGVja2luZyBmb3IgZ2V0bG9hZGF2Zwpjb25maWd1cmU6MTU5MzM6IGdj YyAtbyBjb25mdGVzdC5leGUgLWcgLU8yICAgICBjb25mdGVzdC5jIC1sbSAgID4m NSAgCi9jeWdkcml2ZS9jL0RPQ1VNRX4xL3dpbGxpYW0vTE9DQUxTfjEvVGVtcC9j Y3dWWEVWSi5vOiBJbiBmdW5jdGlvbiBgbWFpbic6Ci9jeWdkcml2ZS9kL2VtYWNz MjIvY29uZnRlc3QuYzoxNzU6IHVuZGVmaW5lZCByZWZlcmVuY2UgdG8gYF9nZXRs b2FkYXZnJwovY3lnZHJpdmUvZC9lbWFjczIyL2NvbmZ0ZXN0LmM6MTc0OiB1bmRl ZmluZWQgcmVmZXJlbmNlIHRvIGBfZ2V0bG9hZGF2ZycKY29sbGVjdDI6IGxkIHJl dHVybmVkIDEgZXhpdCBzdGF0dXMKY29uZmlndXJlOjE1OTM5OiAkPyA9IDEKY29u ZmlndXJlOiBmYWlsZWQgcHJvZ3JhbSB3YXM6CnwgLyogY29uZmRlZnMuaC4gICov CnwgCnwgI2RlZmluZSBQQUNLQUdFX05BTUUgIiIKfCAjZGVmaW5lIFBBQ0tBR0Vf VEFSTkFNRSAiIgp8ICNkZWZpbmUgUEFDS0FHRV9WRVJTSU9OICIiCnwgI2RlZmlu ZSBQQUNLQUdFX1NUUklORyAiIgp8ICNkZWZpbmUgUEFDS0FHRV9CVUdSRVBPUlQg IiIKfCAjZGVmaW5lIE1BSUxfVVNFX1BPUCAxCnwgI2RlZmluZSBfR05VX1NPVVJD RSAxCnwgI2RlZmluZSBTVERDX0hFQURFUlMgMQp8ICNkZWZpbmUgSEFWRV9TWVNf VFlQRVNfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19TVEFUX0ggMQp8ICNkZWZpbmUg SEFWRV9TVERMSUJfSCAxCnwgI2RlZmluZSBIQVZFX1NUUklOR19IIDEKfCAjZGVm aW5lIEhBVkVfTUVNT1JZX0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJJTkdTX0ggMQp8 ICNkZWZpbmUgSEFWRV9JTlRUWVBFU19IIDEKfCAjZGVmaW5lIEhBVkVfU1RESU5U X0ggMQp8ICNkZWZpbmUgSEFWRV9VTklTVERfSCAxCnwgI2RlZmluZSBIQVZFX1NZ U19TT1VORENBUkRfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19TRUxFQ1RfSCAxCnwg I2RlZmluZSBIQVZFX1NZU19USU1FQl9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1RJ TUVfSCAxCnwgI2RlZmluZSBIQVZFX1VOSVNURF9IIDEKfCAjZGVmaW5lIEhBVkVf VVRJTUVfSCAxCnwgI2RlZmluZSBIQVZFX1RFUk1JT1NfSCAxCnwgI2RlZmluZSBI QVZFX0xJTUlUU19IIDEKfCAjZGVmaW5lIEhBVkVfU1RSSU5HX0ggMQp8ICNkZWZp bmUgSEFWRV9TVERMSUJfSCAxCnwgI2RlZmluZSBIQVZFX1RFUk1DQVBfSCAxCnwg I2RlZmluZSBIQVZFX0ZDTlRMX0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJJTkdTX0gg MQp8ICNkZWZpbmUgSEFWRV9QVFlfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19NTUFO X0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfUEFSQU1fSCAxCnwgI2RlZmluZSBIQVZF X1NZU19SRVNPVVJDRV9IIDEKfCAjZGVmaW5lIEhBVkVfTE9DQUxFX0ggMQp8ICNk ZWZpbmUgSEFWRV9TWVNfVVRTTkFNRV9IIDEKfCAjZGVmaW5lIEhBVkVfUFdEX0gg MQp8ICNkZWZpbmUgU1REQ19IRUFERVJTIDEKfCAjZGVmaW5lIFRJTUVfV0lUSF9T WVNfVElNRSAxCnwgI2RlZmluZSBIQVZFX0RFQ0xfU1lTX1NJR0xJU1QgMAp8ICNk ZWZpbmUgSEFWRV9ERUNMX19fU1lTX1NJR0xJU1QgMAp8ICNkZWZpbmUgSEFWRV9T WVNfV0FJVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1RSVUNUX1VUSU1CVUYgMQp8ICNk ZWZpbmUgUkVUU0lHVFlQRSB2b2lkCnwgI2RlZmluZSBIQVZFX1NQRUVEX1QgMQp8 ICNkZWZpbmUgSEFWRV9USU1FVkFMIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NPQ0tF VF9IIDEKfCAjZGVmaW5lIEhBVkVfTkVUX0lGX0ggMQp8ICNkZWZpbmUgSEFWRV9U Wk5BTUUgMQp8ICNkZWZpbmUgSEFWRV9TVFJVQ1RfSUZSRVFfSUZSX0ZMQUdTIDEK fCAjZGVmaW5lIEhBVkVfU1RSVUNUX0lGUkVRX0lGUl9IV0FERFIgMQp8ICNkZWZp bmUgSEFWRV9TVFJVQ1RfSUZSRVFfSUZSX05FVE1BU0sgMQp8ICNkZWZpbmUgSEFW RV9TVFJVQ1RfSUZSRVFfSUZSX0JST0FEQUREUiAxCnwgI2RlZmluZSBIQVZFX1NU UlVDVF9JRlJFUV9JRlJfQUREUiAxCnwgI2RlZmluZSBQUk9UT1RZUEVTIDEKfCAj ZGVmaW5lIF9fUFJPVE9UWVBFUyAxCnwgI2RlZmluZSBQT0lOVEVSX1RZUEUgdm9p ZAp8ICNkZWZpbmUgSEFWRV9MT05HX0ZJTEVfTkFNRVMgMQp8ICNkZWZpbmUgSEFW RV9TVERMSUJfSCAxCnwgI2RlZmluZSBIQVZFX1VOSVNURF9IIDEKfCAjZGVmaW5l IEhBVkVfR0VUUEFHRVNJWkUgMQp8ICNkZWZpbmUgVVNFX1hJTSAxCnwgI2RlZmlu ZSBIQVZFX0hfRVJSTk8gMQp8ICNkZWZpbmUgSEFWRV9BTExPQ0FfSCAxCnwgI2Rl ZmluZSBIQVZFX0FMTE9DQSAxCnwgI2RlZmluZSBIQVZFX0xJQk0gMQp8ICNkZWZp bmUgSEFWRV9HRVRIT1NUTkFNRSAxCnwgI2RlZmluZSBIQVZFX0dFVERPTUFJTk5B TUUgMQp8ICNkZWZpbmUgSEFWRV9EVVAyIDEKfCAjZGVmaW5lIEhBVkVfUkVOQU1F IDEKfCAjZGVmaW5lIEhBVkVfQ0xPU0VESVIgMQp8ICNkZWZpbmUgSEFWRV9NS0RJ UiAxCnwgI2RlZmluZSBIQVZFX1JNRElSIDEKfCAjZGVmaW5lIEhBVkVfR0VUUlVT QUdFIDEKfCAjZGVmaW5lIEhBVkVfUkFORE9NIDEKfCAjZGVmaW5lIEhBVkVfTFJB TkQ0OCAxCnwgI2RlZmluZSBIQVZFX0JDT1BZIDEKfCAjZGVmaW5lIEhBVkVfQkNN UCAxCnwgI2RlZmluZSBIQVZFX0xPR0IgMQp8ICNkZWZpbmUgSEFWRV9GUkVYUCAx CnwgI2RlZmluZSBIQVZFX0ZNT0QgMQp8ICNkZWZpbmUgSEFWRV9SSU5UIDEKfCAj ZGVmaW5lIEhBVkVfQ0JSVCAxCnwgI2RlZmluZSBIQVZFX0ZUSU1FIDEKfCAjZGVm aW5lIEhBVkVfU0VUU0lEIDEKfCAjZGVmaW5lIEhBVkVfU1RSRVJST1IgMQp8ICNk ZWZpbmUgSEFWRV9GUEFUSENPTkYgMQp8ICNkZWZpbmUgSEFWRV9TRUxFQ1QgMQp8 ICNkZWZpbmUgSEFWRV9NS1RJTUUgMQp8ICNkZWZpbmUgSEFWRV9HRVRQQUdFU0la RSAxCnwgI2RlZmluZSBIQVZFX1RaU0VUIDEKfCAjZGVmaW5lIEhBVkVfU0VUTE9D QUxFIDEKfCAjZGVmaW5lIEhBVkVfVVRJTUVTIDEKfCAjZGVmaW5lIEhBVkVfU0VU UkxJTUlUIDEKfCAjZGVmaW5lIEhBVkVfU0VUUEdJRCAxCnwgI2RlZmluZSBIQVZF X0dFVENXRCAxCnwgI2RlZmluZSBIQVZFX0dFVFdEIDEKfCAjZGVmaW5lIEhBVkVf U0hVVERPV04gMQp8ICNkZWZpbmUgSEFWRV9NQkxFTiAxCnwgI2RlZmluZSBIQVZF X01CUkxFTiAxCnwgI2RlZmluZSBIQVZFX01CU0lOSVQgMQp8ICNkZWZpbmUgSEFW RV9TVFJTSUdOQUwgMQp8ICNkZWZpbmUgSEFWRV9TRVRJVElNRVIgMQp8ICNkZWZp bmUgSEFWRV9VQUxBUk0gMQp8ICNkZWZpbmUgSEFWRV9JTkRFWCAxCnwgI2RlZmlu ZSBIQVZFX1JJTkRFWCAxCnwgI2RlZmluZSBIQVZFX1NFTkRUTyAxCnwgI2RlZmlu ZSBIQVZFX1JFQ1ZGUk9NIDEKfCAjZGVmaW5lIEhBVkVfR0VUU09DS09QVCAxCnwg I2RlZmluZSBIQVZFX1NFVFNPQ0tPUFQgMQp8ICNkZWZpbmUgSEFWRV9HRVRTT0NL TkFNRSAxCnwgI2RlZmluZSBIQVZFX0dFVFBFRVJOQU1FIDEKfCAjZGVmaW5lIEhB VkVfTUtTVEVNUCAxCnwgI2RlZmluZSBIQVZFX0dFVExJTkUgMQp8ICNkZWZpbmUg SEFWRV9HRVRERUxJTSAxCnwgI2RlZmluZSBIQVZFX01FTU1PVkUgMQp8ICNkZWZp bmUgSEFWRV9GU1lOQyAxCnwgI2RlZmluZSBIQVZFX0JaRVJPIDEKfCAjZGVmaW5l IEhBVkVfTUVNU0VUIDEKfCAjZGVmaW5lIEhBVkVfTUVNQ01QIDEKfCAjZGVmaW5l IEhBVkVfRElGRlRJTUUgMQp8ICNkZWZpbmUgSEFWRV9NRU1DUFkgMQp8ICNkZWZp bmUgSEFWRV9NRU1QQ1BZIDEKfCAjZGVmaW5lIEhBVkVfTUJMRU4gMQp8ICNkZWZp bmUgSEFWRV9NQlJMRU4gMQp8ICNkZWZpbmUgSEFWRV9TWVNfVU5fSCAxCnwgI2Rl ZmluZSBIQVZFX1NURExJQl9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1RJTUVfSCAx CnwgI2RlZmluZSBIQVZFX1VOSVNURF9IIDEKfCAjZGVmaW5lIEhBVkVfQUxBUk0g MQp8ICNkZWZpbmUgQlJPS0VOX01LVElNRSAxCnwgLyogZW5kIGNvbmZkZWZzLmgu ICAqLwp8IC8qIERlZmluZSBnZXRsb2FkYXZnIHRvIGFuIGlubm9jdW91cyB2YXJp YW50LCBpbiBjYXNlIDxsaW1pdHMuaD4gZGVjbGFyZXMgZ2V0bG9hZGF2Zy4KfCAg ICBGb3IgZXhhbXBsZSwgSFAtVVggMTFpIDxsaW1pdHMuaD4gZGVjbGFyZXMgZ2V0 dGltZW9mZGF5LiAgKi8KfCAjZGVmaW5lIGdldGxvYWRhdmcgaW5ub2N1b3VzX2dl dGxvYWRhdmcKfCAKfCAvKiBTeXN0ZW0gaGVhZGVyIHRvIGRlZmluZSBfX3N0dWIg bWFjcm9zIGFuZCBob3BlZnVsbHkgZmV3IHByb3RvdHlwZXMsCnwgICAgIHdoaWNo IGNhbiBjb25mbGljdCB3aXRoIGNoYXIgZ2V0bG9hZGF2ZyAoKTsgYmVsb3cuCnwg ICAgIFByZWZlciA8bGltaXRzLmg+IHRvIDxhc3NlcnQuaD4gaWYgX19TVERDX18g aXMgZGVmaW5lZCwgc2luY2UKfCAgICAgPGxpbWl0cy5oPiBleGlzdHMgZXZlbiBv biBmcmVlc3RhbmRpbmcgY29tcGlsZXJzLiAgKi8KfCAKfCAjaWZkZWYgX19TVERD X18KfCAjIGluY2x1ZGUgPGxpbWl0cy5oPgp8ICNlbHNlCnwgIyBpbmNsdWRlIDxh c3NlcnQuaD4KfCAjZW5kaWYKfCAKfCAjdW5kZWYgZ2V0bG9hZGF2Zwp8IAp8IC8q IE92ZXJyaWRlIGFueSBnY2MyIGludGVybmFsIHByb3RvdHlwZSB0byBhdm9pZCBh biBlcnJvci4gICovCnwgI2lmZGVmIF9fY3BsdXNwbHVzCnwgZXh0ZXJuICJDIgp8 IHsKfCAjZW5kaWYKfCAvKiBXZSB1c2UgY2hhciBiZWNhdXNlIGludCBtaWdodCBt YXRjaCB0aGUgcmV0dXJuIHR5cGUgb2YgYSBnY2MyCnwgICAgYnVpbHRpbiBhbmQg dGhlbiBpdHMgYXJndW1lbnQgcHJvdG90eXBlIHdvdWxkIHN0aWxsIGFwcGx5LiAg Ki8KfCBjaGFyIGdldGxvYWRhdmcgKCk7CnwgLyogVGhlIEdOVSBDIGxpYnJhcnkg ZGVmaW5lcyB0aGlzIGZvciBmdW5jdGlvbnMgd2hpY2ggaXQgaW1wbGVtZW50cwp8 ICAgICB0byBhbHdheXMgZmFpbCB3aXRoIEVOT1NZUy4gIFNvbWUgZnVuY3Rpb25z IGFyZSBhY3R1YWxseSBuYW1lZAp8ICAgICBzb21ldGhpbmcgc3RhcnRpbmcgd2l0 aCBfXyBhbmQgdGhlIG5vcm1hbCBuYW1lIGlzIGFuIGFsaWFzLiAgKi8KfCAjaWYg ZGVmaW5lZCAoX19zdHViX2dldGxvYWRhdmcpIHx8IGRlZmluZWQgKF9fc3R1Yl9f X2dldGxvYWRhdmcpCnwgY2hva2UgbWUKfCAjZWxzZQp8IGNoYXIgKCpmKSAoKSA9 IGdldGxvYWRhdmc7CnwgI2VuZGlmCnwgI2lmZGVmIF9fY3BsdXNwbHVzCnwgfQp8 ICNlbmRpZgp8IAp8IGludAp8IG1haW4gKCkKfCB7CnwgcmV0dXJuIGYgIT0gZ2V0 bG9hZGF2ZzsKfCAgIDsKfCAgIHJldHVybiAwOwp8IH0KY29uZmlndXJlOjE1OTY0 OiByZXN1bHQ6IG5vCmNvbmZpZ3VyZToxNTk5NzogY2hlY2tpbmcgc3lzL2RnX3N5 c19pbmZvLmggdXNhYmlsaXR5CmNvbmZpZ3VyZToxNjAwOTogZ2NjIC1jIC1nIC1P MiAgICBjb25mdGVzdC5jID4mNQpjb25mdGVzdC5jOjE3MDoyOTogc3lzL2RnX3N5 c19pbmZvLmg6IE5vIHN1Y2ggZmlsZSBvciBkaXJlY3RvcnkKY29uZmlndXJlOjE2 MDE1OiAkPyA9IDEKY29uZmlndXJlOiBmYWlsZWQgcHJvZ3JhbSB3YXM6CnwgLyog Y29uZmRlZnMuaC4gICovCnwgCnwgI2RlZmluZSBQQUNLQUdFX05BTUUgIiIKfCAj ZGVmaW5lIFBBQ0tBR0VfVEFSTkFNRSAiIgp8ICNkZWZpbmUgUEFDS0FHRV9WRVJT SU9OICIiCnwgI2RlZmluZSBQQUNLQUdFX1NUUklORyAiIgp8ICNkZWZpbmUgUEFD S0FHRV9CVUdSRVBPUlQgIiIKfCAjZGVmaW5lIE1BSUxfVVNFX1BPUCAxCnwgI2Rl ZmluZSBfR05VX1NPVVJDRSAxCnwgI2RlZmluZSBTVERDX0hFQURFUlMgMQp8ICNk ZWZpbmUgSEFWRV9TWVNfVFlQRVNfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19TVEFU X0ggMQp8ICNkZWZpbmUgSEFWRV9TVERMSUJfSCAxCnwgI2RlZmluZSBIQVZFX1NU UklOR19IIDEKfCAjZGVmaW5lIEhBVkVfTUVNT1JZX0ggMQp8ICNkZWZpbmUgSEFW RV9TVFJJTkdTX0ggMQp8ICNkZWZpbmUgSEFWRV9JTlRUWVBFU19IIDEKfCAjZGVm aW5lIEhBVkVfU1RESU5UX0ggMQp8ICNkZWZpbmUgSEFWRV9VTklTVERfSCAxCnwg I2RlZmluZSBIQVZFX1NZU19TT1VORENBUkRfSCAxCnwgI2RlZmluZSBIQVZFX1NZ U19TRUxFQ1RfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19USU1FQl9IIDEKfCAjZGVm aW5lIEhBVkVfU1lTX1RJTUVfSCAxCnwgI2RlZmluZSBIQVZFX1VOSVNURF9IIDEK fCAjZGVmaW5lIEhBVkVfVVRJTUVfSCAxCnwgI2RlZmluZSBIQVZFX1RFUk1JT1Nf SCAxCnwgI2RlZmluZSBIQVZFX0xJTUlUU19IIDEKfCAjZGVmaW5lIEhBVkVfU1RS SU5HX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERMSUJfSCAxCnwgI2RlZmluZSBIQVZF X1RFUk1DQVBfSCAxCnwgI2RlZmluZSBIQVZFX0ZDTlRMX0ggMQp8ICNkZWZpbmUg SEFWRV9TVFJJTkdTX0ggMQp8ICNkZWZpbmUgSEFWRV9QVFlfSCAxCnwgI2RlZmlu ZSBIQVZFX1NZU19NTUFOX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfUEFSQU1fSCAx CnwgI2RlZmluZSBIQVZFX1NZU19SRVNPVVJDRV9IIDEKfCAjZGVmaW5lIEhBVkVf TE9DQUxFX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfVVRTTkFNRV9IIDEKfCAjZGVm aW5lIEhBVkVfUFdEX0ggMQp8ICNkZWZpbmUgU1REQ19IRUFERVJTIDEKfCAjZGVm aW5lIFRJTUVfV0lUSF9TWVNfVElNRSAxCnwgI2RlZmluZSBIQVZFX0RFQ0xfU1lT X1NJR0xJU1QgMAp8ICNkZWZpbmUgSEFWRV9ERUNMX19fU1lTX1NJR0xJU1QgMAp8 ICNkZWZpbmUgSEFWRV9TWVNfV0FJVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1RSVUNU X1VUSU1CVUYgMQp8ICNkZWZpbmUgUkVUU0lHVFlQRSB2b2lkCnwgI2RlZmluZSBI QVZFX1NQRUVEX1QgMQp8ICNkZWZpbmUgSEFWRV9USU1FVkFMIDEKfCAjZGVmaW5l IEhBVkVfU1lTX1NPQ0tFVF9IIDEKfCAjZGVmaW5lIEhBVkVfTkVUX0lGX0ggMQp8 ICNkZWZpbmUgSEFWRV9UWk5BTUUgMQp8ICNkZWZpbmUgSEFWRV9TVFJVQ1RfSUZS RVFfSUZSX0ZMQUdTIDEKfCAjZGVmaW5lIEhBVkVfU1RSVUNUX0lGUkVRX0lGUl9I V0FERFIgMQp8ICNkZWZpbmUgSEFWRV9TVFJVQ1RfSUZSRVFfSUZSX05FVE1BU0sg MQp8ICNkZWZpbmUgSEFWRV9TVFJVQ1RfSUZSRVFfSUZSX0JST0FEQUREUiAxCnwg I2RlZmluZSBIQVZFX1NUUlVDVF9JRlJFUV9JRlJfQUREUiAxCnwgI2RlZmluZSBQ Uk9UT1RZUEVTIDEKfCAjZGVmaW5lIF9fUFJPVE9UWVBFUyAxCnwgI2RlZmluZSBQ T0lOVEVSX1RZUEUgdm9pZAp8ICNkZWZpbmUgSEFWRV9MT05HX0ZJTEVfTkFNRVMg MQp8ICNkZWZpbmUgSEFWRV9TVERMSUJfSCAxCnwgI2RlZmluZSBIQVZFX1VOSVNU RF9IIDEKfCAjZGVmaW5lIEhBVkVfR0VUUEFHRVNJWkUgMQp8ICNkZWZpbmUgVVNF X1hJTSAxCnwgI2RlZmluZSBIQVZFX0hfRVJSTk8gMQp8ICNkZWZpbmUgSEFWRV9B TExPQ0FfSCAxCnwgI2RlZmluZSBIQVZFX0FMTE9DQSAxCnwgI2RlZmluZSBIQVZF X0xJQk0gMQp8ICNkZWZpbmUgSEFWRV9HRVRIT1NUTkFNRSAxCnwgI2RlZmluZSBI QVZFX0dFVERPTUFJTk5BTUUgMQp8ICNkZWZpbmUgSEFWRV9EVVAyIDEKfCAjZGVm aW5lIEhBVkVfUkVOQU1FIDEKfCAjZGVmaW5lIEhBVkVfQ0xPU0VESVIgMQp8ICNk ZWZpbmUgSEFWRV9NS0RJUiAxCnwgI2RlZmluZSBIQVZFX1JNRElSIDEKfCAjZGVm aW5lIEhBVkVfR0VUUlVTQUdFIDEKfCAjZGVmaW5lIEhBVkVfUkFORE9NIDEKfCAj ZGVmaW5lIEhBVkVfTFJBTkQ0OCAxCnwgI2RlZmluZSBIQVZFX0JDT1BZIDEKfCAj ZGVmaW5lIEhBVkVfQkNNUCAxCnwgI2RlZmluZSBIQVZFX0xPR0IgMQp8ICNkZWZp bmUgSEFWRV9GUkVYUCAxCnwgI2RlZmluZSBIQVZFX0ZNT0QgMQp8ICNkZWZpbmUg SEFWRV9SSU5UIDEKfCAjZGVmaW5lIEhBVkVfQ0JSVCAxCnwgI2RlZmluZSBIQVZF X0ZUSU1FIDEKfCAjZGVmaW5lIEhBVkVfU0VUU0lEIDEKfCAjZGVmaW5lIEhBVkVf U1RSRVJST1IgMQp8ICNkZWZpbmUgSEFWRV9GUEFUSENPTkYgMQp8ICNkZWZpbmUg SEFWRV9TRUxFQ1QgMQp8ICNkZWZpbmUgSEFWRV9NS1RJTUUgMQp8ICNkZWZpbmUg SEFWRV9HRVRQQUdFU0laRSAxCnwgI2RlZmluZSBIQVZFX1RaU0VUIDEKfCAjZGVm aW5lIEhBVkVfU0VUTE9DQUxFIDEKfCAjZGVmaW5lIEhBVkVfVVRJTUVTIDEKfCAj ZGVmaW5lIEhBVkVfU0VUUkxJTUlUIDEKfCAjZGVmaW5lIEhBVkVfU0VUUEdJRCAx CnwgI2RlZmluZSBIQVZFX0dFVENXRCAxCnwgI2RlZmluZSBIQVZFX0dFVFdEIDEK fCAjZGVmaW5lIEhBVkVfU0hVVERPV04gMQp8ICNkZWZpbmUgSEFWRV9NQkxFTiAx CnwgI2RlZmluZSBIQVZFX01CUkxFTiAxCnwgI2RlZmluZSBIQVZFX01CU0lOSVQg MQp8ICNkZWZpbmUgSEFWRV9TVFJTSUdOQUwgMQp8ICNkZWZpbmUgSEFWRV9TRVRJ VElNRVIgMQp8ICNkZWZpbmUgSEFWRV9VQUxBUk0gMQp8ICNkZWZpbmUgSEFWRV9J TkRFWCAxCnwgI2RlZmluZSBIQVZFX1JJTkRFWCAxCnwgI2RlZmluZSBIQVZFX1NF TkRUTyAxCnwgI2RlZmluZSBIQVZFX1JFQ1ZGUk9NIDEKfCAjZGVmaW5lIEhBVkVf R0VUU09DS09QVCAxCnwgI2RlZmluZSBIQVZFX1NFVFNPQ0tPUFQgMQp8ICNkZWZp bmUgSEFWRV9HRVRTT0NLTkFNRSAxCnwgI2RlZmluZSBIQVZFX0dFVFBFRVJOQU1F IDEKfCAjZGVmaW5lIEhBVkVfTUtTVEVNUCAxCnwgI2RlZmluZSBIQVZFX0dFVExJ TkUgMQp8ICNkZWZpbmUgSEFWRV9HRVRERUxJTSAxCnwgI2RlZmluZSBIQVZFX01F TU1PVkUgMQp8ICNkZWZpbmUgSEFWRV9GU1lOQyAxCnwgI2RlZmluZSBIQVZFX0Ja RVJPIDEKfCAjZGVmaW5lIEhBVkVfTUVNU0VUIDEKfCAjZGVmaW5lIEhBVkVfTUVN Q01QIDEKfCAjZGVmaW5lIEhBVkVfRElGRlRJTUUgMQp8ICNkZWZpbmUgSEFWRV9N RU1DUFkgMQp8ICNkZWZpbmUgSEFWRV9NRU1QQ1BZIDEKfCAjZGVmaW5lIEhBVkVf TUJMRU4gMQp8ICNkZWZpbmUgSEFWRV9NQlJMRU4gMQp8ICNkZWZpbmUgSEFWRV9T WVNfVU5fSCAxCnwgI2RlZmluZSBIQVZFX1NURExJQl9IIDEKfCAjZGVmaW5lIEhB VkVfU1lTX1RJTUVfSCAxCnwgI2RlZmluZSBIQVZFX1VOSVNURF9IIDEKfCAjZGVm aW5lIEhBVkVfQUxBUk0gMQp8ICNkZWZpbmUgQlJPS0VOX01LVElNRSAxCnwgI2Rl ZmluZSBDX0dFVExPQURBVkcgMQp8IC8qIGVuZCBjb25mZGVmcy5oLiAgKi8KfCAj aW5jbHVkZSA8c3RkaW8uaD4KfCAjaWYgSEFWRV9TWVNfVFlQRVNfSAp8ICMgaW5j bHVkZSA8c3lzL3R5cGVzLmg+CnwgI2VuZGlmCnwgI2lmIEhBVkVfU1lTX1NUQVRf SAp8ICMgaW5jbHVkZSA8c3lzL3N0YXQuaD4KfCAjZW5kaWYKfCAjaWYgU1REQ19I RUFERVJTCnwgIyBpbmNsdWRlIDxzdGRsaWIuaD4KfCAjIGluY2x1ZGUgPHN0ZGRl Zi5oPgp8ICNlbHNlCnwgIyBpZiBIQVZFX1NURExJQl9ICnwgIyAgaW5jbHVkZSA8 c3RkbGliLmg+CnwgIyBlbmRpZgp8ICNlbmRpZgp8ICNpZiBIQVZFX1NUUklOR19I CnwgIyBpZiAhU1REQ19IRUFERVJTICYmIEhBVkVfTUVNT1JZX0gKfCAjICBpbmNs dWRlIDxtZW1vcnkuaD4KfCAjIGVuZGlmCnwgIyBpbmNsdWRlIDxzdHJpbmcuaD4K fCAjZW5kaWYKfCAjaWYgSEFWRV9TVFJJTkdTX0gKfCAjIGluY2x1ZGUgPHN0cmlu Z3MuaD4KfCAjZW5kaWYKfCAjaWYgSEFWRV9JTlRUWVBFU19ICnwgIyBpbmNsdWRl IDxpbnR0eXBlcy5oPgp8ICNlbHNlCnwgIyBpZiBIQVZFX1NURElOVF9ICnwgIyAg aW5jbHVkZSA8c3RkaW50Lmg+CnwgIyBlbmRpZgp8ICNlbmRpZgp8ICNpZiBIQVZF X1VOSVNURF9ICnwgIyBpbmNsdWRlIDx1bmlzdGQuaD4KfCAjZW5kaWYKfCAjaW5j bHVkZSA8c3lzL2RnX3N5c19pbmZvLmg+CmNvbmZpZ3VyZToxNjAzODogcmVzdWx0 OiBubwpjb25maWd1cmU6MTYwNDI6IGNoZWNraW5nIHN5cy9kZ19zeXNfaW5mby5o IHByZXNlbmNlCmNvbmZpZ3VyZToxNjA1MjogZ2NjIC1FICAgIGNvbmZ0ZXN0LmMK Y29uZnRlc3QuYzoxMzY6Mjk6IHN5cy9kZ19zeXNfaW5mby5oOiBObyBzdWNoIGZp bGUgb3IgZGlyZWN0b3J5CmNvbmZpZ3VyZToxNjA1ODogJD8gPSAxCmNvbmZpZ3Vy ZTogZmFpbGVkIHByb2dyYW0gd2FzOgp8IC8qIGNvbmZkZWZzLmguICAqLwp8IAp8 ICNkZWZpbmUgUEFDS0FHRV9OQU1FICIiCnwgI2RlZmluZSBQQUNLQUdFX1RBUk5B TUUgIiIKfCAjZGVmaW5lIFBBQ0tBR0VfVkVSU0lPTiAiIgp8ICNkZWZpbmUgUEFD S0FHRV9TVFJJTkcgIiIKfCAjZGVmaW5lIFBBQ0tBR0VfQlVHUkVQT1JUICIiCnwg I2RlZmluZSBNQUlMX1VTRV9QT1AgMQp8ICNkZWZpbmUgX0dOVV9TT1VSQ0UgMQp8 ICNkZWZpbmUgU1REQ19IRUFERVJTIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1RZUEVT X0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfU1RBVF9IIDEKfCAjZGVmaW5lIEhBVkVf U1RETElCX0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJJTkdfSCAxCnwgI2RlZmluZSBI QVZFX01FTU9SWV9IIDEKfCAjZGVmaW5lIEhBVkVfU1RSSU5HU19IIDEKfCAjZGVm aW5lIEhBVkVfSU5UVFlQRVNfSCAxCnwgI2RlZmluZSBIQVZFX1NURElOVF9IIDEK fCAjZGVmaW5lIEhBVkVfVU5JU1REX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfU09V TkRDQVJEX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfU0VMRUNUX0ggMQp8ICNkZWZp bmUgSEFWRV9TWVNfVElNRUJfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19USU1FX0gg MQp8ICNkZWZpbmUgSEFWRV9VTklTVERfSCAxCnwgI2RlZmluZSBIQVZFX1VUSU1F X0ggMQp8ICNkZWZpbmUgSEFWRV9URVJNSU9TX0ggMQp8ICNkZWZpbmUgSEFWRV9M SU1JVFNfSCAxCnwgI2RlZmluZSBIQVZFX1NUUklOR19IIDEKfCAjZGVmaW5lIEhB VkVfU1RETElCX0ggMQp8ICNkZWZpbmUgSEFWRV9URVJNQ0FQX0ggMQp8ICNkZWZp bmUgSEFWRV9GQ05UTF9IIDEKfCAjZGVmaW5lIEhBVkVfU1RSSU5HU19IIDEKfCAj ZGVmaW5lIEhBVkVfUFRZX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfTU1BTl9IIDEK fCAjZGVmaW5lIEhBVkVfU1lTX1BBUkFNX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNf UkVTT1VSQ0VfSCAxCnwgI2RlZmluZSBIQVZFX0xPQ0FMRV9IIDEKfCAjZGVmaW5l IEhBVkVfU1lTX1VUU05BTUVfSCAxCnwgI2RlZmluZSBIQVZFX1BXRF9IIDEKfCAj ZGVmaW5lIFNURENfSEVBREVSUyAxCnwgI2RlZmluZSBUSU1FX1dJVEhfU1lTX1RJ TUUgMQp8ICNkZWZpbmUgSEFWRV9ERUNMX1NZU19TSUdMSVNUIDAKfCAjZGVmaW5l IEhBVkVfREVDTF9fX1NZU19TSUdMSVNUIDAKfCAjZGVmaW5lIEhBVkVfU1lTX1dB SVRfSCAxCnwgI2RlZmluZSBIQVZFX1NUUlVDVF9VVElNQlVGIDEKfCAjZGVmaW5l IFJFVFNJR1RZUEUgdm9pZAp8ICNkZWZpbmUgSEFWRV9TUEVFRF9UIDEKfCAjZGVm aW5lIEhBVkVfVElNRVZBTCAxCnwgI2RlZmluZSBIQVZFX1NZU19TT0NLRVRfSCAx CnwgI2RlZmluZSBIQVZFX05FVF9JRl9IIDEKfCAjZGVmaW5lIEhBVkVfVFpOQU1F IDEKfCAjZGVmaW5lIEhBVkVfU1RSVUNUX0lGUkVRX0lGUl9GTEFHUyAxCnwgI2Rl ZmluZSBIQVZFX1NUUlVDVF9JRlJFUV9JRlJfSFdBRERSIDEKfCAjZGVmaW5lIEhB VkVfU1RSVUNUX0lGUkVRX0lGUl9ORVRNQVNLIDEKfCAjZGVmaW5lIEhBVkVfU1RS VUNUX0lGUkVRX0lGUl9CUk9BREFERFIgMQp8ICNkZWZpbmUgSEFWRV9TVFJVQ1Rf SUZSRVFfSUZSX0FERFIgMQp8ICNkZWZpbmUgUFJPVE9UWVBFUyAxCnwgI2RlZmlu ZSBfX1BST1RPVFlQRVMgMQp8ICNkZWZpbmUgUE9JTlRFUl9UWVBFIHZvaWQKfCAj ZGVmaW5lIEhBVkVfTE9OR19GSUxFX05BTUVTIDEKfCAjZGVmaW5lIEhBVkVfU1RE TElCX0ggMQp8ICNkZWZpbmUgSEFWRV9VTklTVERfSCAxCnwgI2RlZmluZSBIQVZF X0dFVFBBR0VTSVpFIDEKfCAjZGVmaW5lIFVTRV9YSU0gMQp8ICNkZWZpbmUgSEFW RV9IX0VSUk5PIDEKfCAjZGVmaW5lIEhBVkVfQUxMT0NBX0ggMQp8ICNkZWZpbmUg SEFWRV9BTExPQ0EgMQp8ICNkZWZpbmUgSEFWRV9MSUJNIDEKfCAjZGVmaW5lIEhB VkVfR0VUSE9TVE5BTUUgMQp8ICNkZWZpbmUgSEFWRV9HRVRET01BSU5OQU1FIDEK fCAjZGVmaW5lIEhBVkVfRFVQMiAxCnwgI2RlZmluZSBIQVZFX1JFTkFNRSAxCnwg I2RlZmluZSBIQVZFX0NMT1NFRElSIDEKfCAjZGVmaW5lIEhBVkVfTUtESVIgMQp8 ICNkZWZpbmUgSEFWRV9STURJUiAxCnwgI2RlZmluZSBIQVZFX0dFVFJVU0FHRSAx CnwgI2RlZmluZSBIQVZFX1JBTkRPTSAxCnwgI2RlZmluZSBIQVZFX0xSQU5ENDgg MQp8ICNkZWZpbmUgSEFWRV9CQ09QWSAxCnwgI2RlZmluZSBIQVZFX0JDTVAgMQp8 ICNkZWZpbmUgSEFWRV9MT0dCIDEKfCAjZGVmaW5lIEhBVkVfRlJFWFAgMQp8ICNk ZWZpbmUgSEFWRV9GTU9EIDEKfCAjZGVmaW5lIEhBVkVfUklOVCAxCnwgI2RlZmlu ZSBIQVZFX0NCUlQgMQp8ICNkZWZpbmUgSEFWRV9GVElNRSAxCnwgI2RlZmluZSBI QVZFX1NFVFNJRCAxCnwgI2RlZmluZSBIQVZFX1NUUkVSUk9SIDEKfCAjZGVmaW5l IEhBVkVfRlBBVEhDT05GIDEKfCAjZGVmaW5lIEhBVkVfU0VMRUNUIDEKfCAjZGVm aW5lIEhBVkVfTUtUSU1FIDEKfCAjZGVmaW5lIEhBVkVfR0VUUEFHRVNJWkUgMQp8 ICNkZWZpbmUgSEFWRV9UWlNFVCAxCnwgI2RlZmluZSBIQVZFX1NFVExPQ0FMRSAx CnwgI2RlZmluZSBIQVZFX1VUSU1FUyAxCnwgI2RlZmluZSBIQVZFX1NFVFJMSU1J VCAxCnwgI2RlZmluZSBIQVZFX1NFVFBHSUQgMQp8ICNkZWZpbmUgSEFWRV9HRVRD V0QgMQp8ICNkZWZpbmUgSEFWRV9HRVRXRCAxCnwgI2RlZmluZSBIQVZFX1NIVVRE T1dOIDEKfCAjZGVmaW5lIEhBVkVfTUJMRU4gMQp8ICNkZWZpbmUgSEFWRV9NQlJM RU4gMQp8ICNkZWZpbmUgSEFWRV9NQlNJTklUIDEKfCAjZGVmaW5lIEhBVkVfU1RS U0lHTkFMIDEKfCAjZGVmaW5lIEhBVkVfU0VUSVRJTUVSIDEKfCAjZGVmaW5lIEhB VkVfVUFMQVJNIDEKfCAjZGVmaW5lIEhBVkVfSU5ERVggMQp8ICNkZWZpbmUgSEFW RV9SSU5ERVggMQp8ICNkZWZpbmUgSEFWRV9TRU5EVE8gMQp8ICNkZWZpbmUgSEFW RV9SRUNWRlJPTSAxCnwgI2RlZmluZSBIQVZFX0dFVFNPQ0tPUFQgMQp8ICNkZWZp bmUgSEFWRV9TRVRTT0NLT1BUIDEKfCAjZGVmaW5lIEhBVkVfR0VUU09DS05BTUUg MQp8ICNkZWZpbmUgSEFWRV9HRVRQRUVSTkFNRSAxCnwgI2RlZmluZSBIQVZFX01L U1RFTVAgMQp8ICNkZWZpbmUgSEFWRV9HRVRMSU5FIDEKfCAjZGVmaW5lIEhBVkVf R0VUREVMSU0gMQp8ICNkZWZpbmUgSEFWRV9NRU1NT1ZFIDEKfCAjZGVmaW5lIEhB VkVfRlNZTkMgMQp8ICNkZWZpbmUgSEFWRV9CWkVSTyAxCnwgI2RlZmluZSBIQVZF X01FTVNFVCAxCnwgI2RlZmluZSBIQVZFX01FTUNNUCAxCnwgI2RlZmluZSBIQVZF X0RJRkZUSU1FIDEKfCAjZGVmaW5lIEhBVkVfTUVNQ1BZIDEKfCAjZGVmaW5lIEhB VkVfTUVNUENQWSAxCnwgI2RlZmluZSBIQVZFX01CTEVOIDEKfCAjZGVmaW5lIEhB VkVfTUJSTEVOIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1VOX0ggMQp8ICNkZWZpbmUg SEFWRV9TVERMSUJfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19USU1FX0ggMQp8ICNk ZWZpbmUgSEFWRV9VTklTVERfSCAxCnwgI2RlZmluZSBIQVZFX0FMQVJNIDEKfCAj ZGVmaW5lIEJST0tFTl9NS1RJTUUgMQp8ICNkZWZpbmUgQ19HRVRMT0FEQVZHIDEK fCAvKiBlbmQgY29uZmRlZnMuaC4gICovCnwgI2luY2x1ZGUgPHN5cy9kZ19zeXNf aW5mby5oPgpjb25maWd1cmU6MTYwNzg6IHJlc3VsdDogbm8KY29uZmlndXJlOjE2 MTEzOiBjaGVja2luZyBmb3Igc3lzL2RnX3N5c19pbmZvLmgKY29uZmlndXJlOjE2 MTIwOiByZXN1bHQ6IG5vCmNvbmZpZ3VyZToxNjIxMDogY2hlY2tpbmcgZm9yIGxv Y2FsZS5oCmNvbmZpZ3VyZToxNjIxNTogcmVzdWx0OiB5ZXMKY29uZmlndXJlOjE2 MzUyOiBjaGVja2luZyBmb3Igc2V0bG9jYWxlCmNvbmZpZ3VyZToxNjQ0MDogcmVz dWx0OiB5ZXMKY29uZmlndXJlOjE2NDc0OiBjaGVja2luZyBpbnFfc3RhdHMvY3B1 c3RhdHMuaCB1c2FiaWxpdHkKY29uZmlndXJlOjE2NDg2OiBnY2MgLWMgLWcgLU8y ICAgIGNvbmZ0ZXN0LmMgPiY1CmNvbmZ0ZXN0LmM6MTcxOjMyOiBpbnFfc3RhdHMv Y3B1c3RhdHMuaDogTm8gc3VjaCBmaWxlIG9yIGRpcmVjdG9yeQpjb25maWd1cmU6 MTY0OTI6ICQ/ID0gMQpjb25maWd1cmU6IGZhaWxlZCBwcm9ncmFtIHdhczoKfCAv KiBjb25mZGVmcy5oLiAgKi8KfCAKfCAjZGVmaW5lIFBBQ0tBR0VfTkFNRSAiIgp8 ICNkZWZpbmUgUEFDS0FHRV9UQVJOQU1FICIiCnwgI2RlZmluZSBQQUNLQUdFX1ZF UlNJT04gIiIKfCAjZGVmaW5lIFBBQ0tBR0VfU1RSSU5HICIiCnwgI2RlZmluZSBQ QUNLQUdFX0JVR1JFUE9SVCAiIgp8ICNkZWZpbmUgTUFJTF9VU0VfUE9QIDEKfCAj ZGVmaW5lIF9HTlVfU09VUkNFIDEKfCAjZGVmaW5lIFNURENfSEVBREVSUyAxCnwg I2RlZmluZSBIQVZFX1NZU19UWVBFU19IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NU QVRfSCAxCnwgI2RlZmluZSBIQVZFX1NURExJQl9IIDEKfCAjZGVmaW5lIEhBVkVf U1RSSU5HX0ggMQp8ICNkZWZpbmUgSEFWRV9NRU1PUllfSCAxCnwgI2RlZmluZSBI QVZFX1NUUklOR1NfSCAxCnwgI2RlZmluZSBIQVZFX0lOVFRZUEVTX0ggMQp8ICNk ZWZpbmUgSEFWRV9TVERJTlRfSCAxCnwgI2RlZmluZSBIQVZFX1VOSVNURF9IIDEK fCAjZGVmaW5lIEhBVkVfU1lTX1NPVU5EQ0FSRF9IIDEKfCAjZGVmaW5lIEhBVkVf U1lTX1NFTEVDVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1RJTUVCX0ggMQp8ICNk ZWZpbmUgSEFWRV9TWVNfVElNRV9IIDEKfCAjZGVmaW5lIEhBVkVfVU5JU1REX0gg MQp8ICNkZWZpbmUgSEFWRV9VVElNRV9IIDEKfCAjZGVmaW5lIEhBVkVfVEVSTUlP U19IIDEKfCAjZGVmaW5lIEhBVkVfTElNSVRTX0ggMQp8ICNkZWZpbmUgSEFWRV9T VFJJTkdfSCAxCnwgI2RlZmluZSBIQVZFX1NURExJQl9IIDEKfCAjZGVmaW5lIEhB VkVfVEVSTUNBUF9IIDEKfCAjZGVmaW5lIEhBVkVfRkNOVExfSCAxCnwgI2RlZmlu ZSBIQVZFX1NUUklOR1NfSCAxCnwgI2RlZmluZSBIQVZFX1BUWV9IIDEKfCAjZGVm aW5lIEhBVkVfU1lTX01NQU5fSCAxCnwgI2RlZmluZSBIQVZFX1NZU19QQVJBTV9I IDEKfCAjZGVmaW5lIEhBVkVfU1lTX1JFU09VUkNFX0ggMQp8ICNkZWZpbmUgSEFW RV9MT0NBTEVfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19VVFNOQU1FX0ggMQp8ICNk ZWZpbmUgSEFWRV9QV0RfSCAxCnwgI2RlZmluZSBTVERDX0hFQURFUlMgMQp8ICNk ZWZpbmUgVElNRV9XSVRIX1NZU19USU1FIDEKfCAjZGVmaW5lIEhBVkVfREVDTF9T WVNfU0lHTElTVCAwCnwgI2RlZmluZSBIQVZFX0RFQ0xfX19TWVNfU0lHTElTVCAw CnwgI2RlZmluZSBIQVZFX1NZU19XQUlUX0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJV Q1RfVVRJTUJVRiAxCnwgI2RlZmluZSBSRVRTSUdUWVBFIHZvaWQKfCAjZGVmaW5l IEhBVkVfU1BFRURfVCAxCnwgI2RlZmluZSBIQVZFX1RJTUVWQUwgMQp8ICNkZWZp bmUgSEFWRV9TWVNfU09DS0VUX0ggMQp8ICNkZWZpbmUgSEFWRV9ORVRfSUZfSCAx CnwgI2RlZmluZSBIQVZFX1RaTkFNRSAxCnwgI2RlZmluZSBIQVZFX1NUUlVDVF9J RlJFUV9JRlJfRkxBR1MgMQp8ICNkZWZpbmUgSEFWRV9TVFJVQ1RfSUZSRVFfSUZS X0hXQUREUiAxCnwgI2RlZmluZSBIQVZFX1NUUlVDVF9JRlJFUV9JRlJfTkVUTUFT SyAxCnwgI2RlZmluZSBIQVZFX1NUUlVDVF9JRlJFUV9JRlJfQlJPQURBRERSIDEK fCAjZGVmaW5lIEhBVkVfU1RSVUNUX0lGUkVRX0lGUl9BRERSIDEKfCAjZGVmaW5l IFBST1RPVFlQRVMgMQp8ICNkZWZpbmUgX19QUk9UT1RZUEVTIDEKfCAjZGVmaW5l IFBPSU5URVJfVFlQRSB2b2lkCnwgI2RlZmluZSBIQVZFX0xPTkdfRklMRV9OQU1F UyAxCnwgI2RlZmluZSBIQVZFX1NURExJQl9IIDEKfCAjZGVmaW5lIEhBVkVfVU5J U1REX0ggMQp8ICNkZWZpbmUgSEFWRV9HRVRQQUdFU0laRSAxCnwgI2RlZmluZSBV U0VfWElNIDEKfCAjZGVmaW5lIEhBVkVfSF9FUlJOTyAxCnwgI2RlZmluZSBIQVZF X0FMTE9DQV9IIDEKfCAjZGVmaW5lIEhBVkVfQUxMT0NBIDEKfCAjZGVmaW5lIEhB VkVfTElCTSAxCnwgI2RlZmluZSBIQVZFX0dFVEhPU1ROQU1FIDEKfCAjZGVmaW5l IEhBVkVfR0VURE9NQUlOTkFNRSAxCnwgI2RlZmluZSBIQVZFX0RVUDIgMQp8ICNk ZWZpbmUgSEFWRV9SRU5BTUUgMQp8ICNkZWZpbmUgSEFWRV9DTE9TRURJUiAxCnwg I2RlZmluZSBIQVZFX01LRElSIDEKfCAjZGVmaW5lIEhBVkVfUk1ESVIgMQp8ICNk ZWZpbmUgSEFWRV9HRVRSVVNBR0UgMQp8ICNkZWZpbmUgSEFWRV9SQU5ET00gMQp8 ICNkZWZpbmUgSEFWRV9MUkFORDQ4IDEKfCAjZGVmaW5lIEhBVkVfQkNPUFkgMQp8 ICNkZWZpbmUgSEFWRV9CQ01QIDEKfCAjZGVmaW5lIEhBVkVfTE9HQiAxCnwgI2Rl ZmluZSBIQVZFX0ZSRVhQIDEKfCAjZGVmaW5lIEhBVkVfRk1PRCAxCnwgI2RlZmlu ZSBIQVZFX1JJTlQgMQp8ICNkZWZpbmUgSEFWRV9DQlJUIDEKfCAjZGVmaW5lIEhB VkVfRlRJTUUgMQp8ICNkZWZpbmUgSEFWRV9TRVRTSUQgMQp8ICNkZWZpbmUgSEFW RV9TVFJFUlJPUiAxCnwgI2RlZmluZSBIQVZFX0ZQQVRIQ09ORiAxCnwgI2RlZmlu ZSBIQVZFX1NFTEVDVCAxCnwgI2RlZmluZSBIQVZFX01LVElNRSAxCnwgI2RlZmlu ZSBIQVZFX0dFVFBBR0VTSVpFIDEKfCAjZGVmaW5lIEhBVkVfVFpTRVQgMQp8ICNk ZWZpbmUgSEFWRV9TRVRMT0NBTEUgMQp8ICNkZWZpbmUgSEFWRV9VVElNRVMgMQp8 ICNkZWZpbmUgSEFWRV9TRVRSTElNSVQgMQp8ICNkZWZpbmUgSEFWRV9TRVRQR0lE IDEKfCAjZGVmaW5lIEhBVkVfR0VUQ1dEIDEKfCAjZGVmaW5lIEhBVkVfR0VUV0Qg MQp8ICNkZWZpbmUgSEFWRV9TSFVURE9XTiAxCnwgI2RlZmluZSBIQVZFX01CTEVO IDEKfCAjZGVmaW5lIEhBVkVfTUJSTEVOIDEKfCAjZGVmaW5lIEhBVkVfTUJTSU5J VCAxCnwgI2RlZmluZSBIQVZFX1NUUlNJR05BTCAxCnwgI2RlZmluZSBIQVZFX1NF VElUSU1FUiAxCnwgI2RlZmluZSBIQVZFX1VBTEFSTSAxCnwgI2RlZmluZSBIQVZF X0lOREVYIDEKfCAjZGVmaW5lIEhBVkVfUklOREVYIDEKfCAjZGVmaW5lIEhBVkVf U0VORFRPIDEKfCAjZGVmaW5lIEhBVkVfUkVDVkZST00gMQp8ICNkZWZpbmUgSEFW RV9HRVRTT0NLT1BUIDEKfCAjZGVmaW5lIEhBVkVfU0VUU09DS09QVCAxCnwgI2Rl ZmluZSBIQVZFX0dFVFNPQ0tOQU1FIDEKfCAjZGVmaW5lIEhBVkVfR0VUUEVFUk5B TUUgMQp8ICNkZWZpbmUgSEFWRV9NS1NURU1QIDEKfCAjZGVmaW5lIEhBVkVfR0VU TElORSAxCnwgI2RlZmluZSBIQVZFX0dFVERFTElNIDEKfCAjZGVmaW5lIEhBVkVf TUVNTU9WRSAxCnwgI2RlZmluZSBIQVZFX0ZTWU5DIDEKfCAjZGVmaW5lIEhBVkVf QlpFUk8gMQp8ICNkZWZpbmUgSEFWRV9NRU1TRVQgMQp8ICNkZWZpbmUgSEFWRV9N RU1DTVAgMQp8ICNkZWZpbmUgSEFWRV9ESUZGVElNRSAxCnwgI2RlZmluZSBIQVZF X01FTUNQWSAxCnwgI2RlZmluZSBIQVZFX01FTVBDUFkgMQp8ICNkZWZpbmUgSEFW RV9NQkxFTiAxCnwgI2RlZmluZSBIQVZFX01CUkxFTiAxCnwgI2RlZmluZSBIQVZF X1NZU19VTl9IIDEKfCAjZGVmaW5lIEhBVkVfU1RETElCX0ggMQp8ICNkZWZpbmUg SEFWRV9TWVNfVElNRV9IIDEKfCAjZGVmaW5lIEhBVkVfVU5JU1REX0ggMQp8ICNk ZWZpbmUgSEFWRV9BTEFSTSAxCnwgI2RlZmluZSBCUk9LRU5fTUtUSU1FIDEKfCAj ZGVmaW5lIENfR0VUTE9BREFWRyAxCnwgI2RlZmluZSBIQVZFX1NFVExPQ0FMRSAx CnwgLyogZW5kIGNvbmZkZWZzLmguICAqLwp8ICNpbmNsdWRlIDxzdGRpby5oPgp8 ICNpZiBIQVZFX1NZU19UWVBFU19ICnwgIyBpbmNsdWRlIDxzeXMvdHlwZXMuaD4K fCAjZW5kaWYKfCAjaWYgSEFWRV9TWVNfU1RBVF9ICnwgIyBpbmNsdWRlIDxzeXMv c3RhdC5oPgp8ICNlbmRpZgp8ICNpZiBTVERDX0hFQURFUlMKfCAjIGluY2x1ZGUg PHN0ZGxpYi5oPgp8ICMgaW5jbHVkZSA8c3RkZGVmLmg+CnwgI2Vsc2UKfCAjIGlm IEhBVkVfU1RETElCX0gKfCAjICBpbmNsdWRlIDxzdGRsaWIuaD4KfCAjIGVuZGlm CnwgI2VuZGlmCnwgI2lmIEhBVkVfU1RSSU5HX0gKfCAjIGlmICFTVERDX0hFQURF UlMgJiYgSEFWRV9NRU1PUllfSAp8ICMgIGluY2x1ZGUgPG1lbW9yeS5oPgp8ICMg ZW5kaWYKfCAjIGluY2x1ZGUgPHN0cmluZy5oPgp8ICNlbmRpZgp8ICNpZiBIQVZF X1NUUklOR1NfSAp8ICMgaW5jbHVkZSA8c3RyaW5ncy5oPgp8ICNlbmRpZgp8ICNp ZiBIQVZFX0lOVFRZUEVTX0gKfCAjIGluY2x1ZGUgPGludHR5cGVzLmg+CnwgI2Vs c2UKfCAjIGlmIEhBVkVfU1RESU5UX0gKfCAjICBpbmNsdWRlIDxzdGRpbnQuaD4K fCAjIGVuZGlmCnwgI2VuZGlmCnwgI2lmIEhBVkVfVU5JU1REX0gKfCAjIGluY2x1 ZGUgPHVuaXN0ZC5oPgp8ICNlbmRpZgp8ICNpbmNsdWRlIDxpbnFfc3RhdHMvY3B1 c3RhdHMuaD4KY29uZmlndXJlOjE2NTE1OiByZXN1bHQ6IG5vCmNvbmZpZ3VyZTox NjUxOTogY2hlY2tpbmcgaW5xX3N0YXRzL2NwdXN0YXRzLmggcHJlc2VuY2UKY29u ZmlndXJlOjE2NTI5OiBnY2MgLUUgICAgY29uZnRlc3QuYwpjb25mdGVzdC5jOjEz NzozMjogaW5xX3N0YXRzL2NwdXN0YXRzLmg6IE5vIHN1Y2ggZmlsZSBvciBkaXJl Y3RvcnkKY29uZmlndXJlOjE2NTM1OiAkPyA9IDEKY29uZmlndXJlOiBmYWlsZWQg cHJvZ3JhbSB3YXM6CnwgLyogY29uZmRlZnMuaC4gICovCnwgCnwgI2RlZmluZSBQ QUNLQUdFX05BTUUgIiIKfCAjZGVmaW5lIFBBQ0tBR0VfVEFSTkFNRSAiIgp8ICNk ZWZpbmUgUEFDS0FHRV9WRVJTSU9OICIiCnwgI2RlZmluZSBQQUNLQUdFX1NUUklO RyAiIgp8ICNkZWZpbmUgUEFDS0FHRV9CVUdSRVBPUlQgIiIKfCAjZGVmaW5lIE1B SUxfVVNFX1BPUCAxCnwgI2RlZmluZSBfR05VX1NPVVJDRSAxCnwgI2RlZmluZSBT VERDX0hFQURFUlMgMQp8ICNkZWZpbmUgSEFWRV9TWVNfVFlQRVNfSCAxCnwgI2Rl ZmluZSBIQVZFX1NZU19TVEFUX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERMSUJfSCAx CnwgI2RlZmluZSBIQVZFX1NUUklOR19IIDEKfCAjZGVmaW5lIEhBVkVfTUVNT1JZ X0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJJTkdTX0ggMQp8ICNkZWZpbmUgSEFWRV9J TlRUWVBFU19IIDEKfCAjZGVmaW5lIEhBVkVfU1RESU5UX0ggMQp8ICNkZWZpbmUg SEFWRV9VTklTVERfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19TT1VORENBUkRfSCAx CnwgI2RlZmluZSBIQVZFX1NZU19TRUxFQ1RfSCAxCnwgI2RlZmluZSBIQVZFX1NZ U19USU1FQl9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1RJTUVfSCAxCnwgI2RlZmlu ZSBIQVZFX1VOSVNURF9IIDEKfCAjZGVmaW5lIEhBVkVfVVRJTUVfSCAxCnwgI2Rl ZmluZSBIQVZFX1RFUk1JT1NfSCAxCnwgI2RlZmluZSBIQVZFX0xJTUlUU19IIDEK fCAjZGVmaW5lIEhBVkVfU1RSSU5HX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERMSUJf SCAxCnwgI2RlZmluZSBIQVZFX1RFUk1DQVBfSCAxCnwgI2RlZmluZSBIQVZFX0ZD TlRMX0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJJTkdTX0ggMQp8ICNkZWZpbmUgSEFW RV9QVFlfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19NTUFOX0ggMQp8ICNkZWZpbmUg SEFWRV9TWVNfUEFSQU1fSCAxCnwgI2RlZmluZSBIQVZFX1NZU19SRVNPVVJDRV9I IDEKfCAjZGVmaW5lIEhBVkVfTE9DQUxFX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNf VVRTTkFNRV9IIDEKfCAjZGVmaW5lIEhBVkVfUFdEX0ggMQp8ICNkZWZpbmUgU1RE Q19IRUFERVJTIDEKfCAjZGVmaW5lIFRJTUVfV0lUSF9TWVNfVElNRSAxCnwgI2Rl ZmluZSBIQVZFX0RFQ0xfU1lTX1NJR0xJU1QgMAp8ICNkZWZpbmUgSEFWRV9ERUNM X19fU1lTX1NJR0xJU1QgMAp8ICNkZWZpbmUgSEFWRV9TWVNfV0FJVF9IIDEKfCAj ZGVmaW5lIEhBVkVfU1RSVUNUX1VUSU1CVUYgMQp8ICNkZWZpbmUgUkVUU0lHVFlQ RSB2b2lkCnwgI2RlZmluZSBIQVZFX1NQRUVEX1QgMQp8ICNkZWZpbmUgSEFWRV9U SU1FVkFMIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NPQ0tFVF9IIDEKfCAjZGVmaW5l IEhBVkVfTkVUX0lGX0ggMQp8ICNkZWZpbmUgSEFWRV9UWk5BTUUgMQp8ICNkZWZp bmUgSEFWRV9TVFJVQ1RfSUZSRVFfSUZSX0ZMQUdTIDEKfCAjZGVmaW5lIEhBVkVf U1RSVUNUX0lGUkVRX0lGUl9IV0FERFIgMQp8ICNkZWZpbmUgSEFWRV9TVFJVQ1Rf SUZSRVFfSUZSX05FVE1BU0sgMQp8ICNkZWZpbmUgSEFWRV9TVFJVQ1RfSUZSRVFf SUZSX0JST0FEQUREUiAxCnwgI2RlZmluZSBIQVZFX1NUUlVDVF9JRlJFUV9JRlJf QUREUiAxCnwgI2RlZmluZSBQUk9UT1RZUEVTIDEKfCAjZGVmaW5lIF9fUFJPVE9U WVBFUyAxCnwgI2RlZmluZSBQT0lOVEVSX1RZUEUgdm9pZAp8ICNkZWZpbmUgSEFW RV9MT05HX0ZJTEVfTkFNRVMgMQp8ICNkZWZpbmUgSEFWRV9TVERMSUJfSCAxCnwg I2RlZmluZSBIQVZFX1VOSVNURF9IIDEKfCAjZGVmaW5lIEhBVkVfR0VUUEFHRVNJ WkUgMQp8ICNkZWZpbmUgVVNFX1hJTSAxCnwgI2RlZmluZSBIQVZFX0hfRVJSTk8g MQp8ICNkZWZpbmUgSEFWRV9BTExPQ0FfSCAxCnwgI2RlZmluZSBIQVZFX0FMTE9D QSAxCnwgI2RlZmluZSBIQVZFX0xJQk0gMQp8ICNkZWZpbmUgSEFWRV9HRVRIT1NU TkFNRSAxCnwgI2RlZmluZSBIQVZFX0dFVERPTUFJTk5BTUUgMQp8ICNkZWZpbmUg SEFWRV9EVVAyIDEKfCAjZGVmaW5lIEhBVkVfUkVOQU1FIDEKfCAjZGVmaW5lIEhB VkVfQ0xPU0VESVIgMQp8ICNkZWZpbmUgSEFWRV9NS0RJUiAxCnwgI2RlZmluZSBI QVZFX1JNRElSIDEKfCAjZGVmaW5lIEhBVkVfR0VUUlVTQUdFIDEKfCAjZGVmaW5l IEhBVkVfUkFORE9NIDEKfCAjZGVmaW5lIEhBVkVfTFJBTkQ0OCAxCnwgI2RlZmlu ZSBIQVZFX0JDT1BZIDEKfCAjZGVmaW5lIEhBVkVfQkNNUCAxCnwgI2RlZmluZSBI QVZFX0xPR0IgMQp8ICNkZWZpbmUgSEFWRV9GUkVYUCAxCnwgI2RlZmluZSBIQVZF X0ZNT0QgMQp8ICNkZWZpbmUgSEFWRV9SSU5UIDEKfCAjZGVmaW5lIEhBVkVfQ0JS VCAxCnwgI2RlZmluZSBIQVZFX0ZUSU1FIDEKfCAjZGVmaW5lIEhBVkVfU0VUU0lE IDEKfCAjZGVmaW5lIEhBVkVfU1RSRVJST1IgMQp8ICNkZWZpbmUgSEFWRV9GUEFU SENPTkYgMQp8ICNkZWZpbmUgSEFWRV9TRUxFQ1QgMQp8ICNkZWZpbmUgSEFWRV9N S1RJTUUgMQp8ICNkZWZpbmUgSEFWRV9HRVRQQUdFU0laRSAxCnwgI2RlZmluZSBI QVZFX1RaU0VUIDEKfCAjZGVmaW5lIEhBVkVfU0VUTE9DQUxFIDEKfCAjZGVmaW5l IEhBVkVfVVRJTUVTIDEKfCAjZGVmaW5lIEhBVkVfU0VUUkxJTUlUIDEKfCAjZGVm aW5lIEhBVkVfU0VUUEdJRCAxCnwgI2RlZmluZSBIQVZFX0dFVENXRCAxCnwgI2Rl ZmluZSBIQVZFX0dFVFdEIDEKfCAjZGVmaW5lIEhBVkVfU0hVVERPV04gMQp8ICNk ZWZpbmUgSEFWRV9NQkxFTiAxCnwgI2RlZmluZSBIQVZFX01CUkxFTiAxCnwgI2Rl ZmluZSBIQVZFX01CU0lOSVQgMQp8ICNkZWZpbmUgSEFWRV9TVFJTSUdOQUwgMQp8 ICNkZWZpbmUgSEFWRV9TRVRJVElNRVIgMQp8ICNkZWZpbmUgSEFWRV9VQUxBUk0g MQp8ICNkZWZpbmUgSEFWRV9JTkRFWCAxCnwgI2RlZmluZSBIQVZFX1JJTkRFWCAx CnwgI2RlZmluZSBIQVZFX1NFTkRUTyAxCnwgI2RlZmluZSBIQVZFX1JFQ1ZGUk9N IDEKfCAjZGVmaW5lIEhBVkVfR0VUU09DS09QVCAxCnwgI2RlZmluZSBIQVZFX1NF VFNPQ0tPUFQgMQp8ICNkZWZpbmUgSEFWRV9HRVRTT0NLTkFNRSAxCnwgI2RlZmlu ZSBIQVZFX0dFVFBFRVJOQU1FIDEKfCAjZGVmaW5lIEhBVkVfTUtTVEVNUCAxCnwg I2RlZmluZSBIQVZFX0dFVExJTkUgMQp8ICNkZWZpbmUgSEFWRV9HRVRERUxJTSAx CnwgI2RlZmluZSBIQVZFX01FTU1PVkUgMQp8ICNkZWZpbmUgSEFWRV9GU1lOQyAx CnwgI2RlZmluZSBIQVZFX0JaRVJPIDEKfCAjZGVmaW5lIEhBVkVfTUVNU0VUIDEK fCAjZGVmaW5lIEhBVkVfTUVNQ01QIDEKfCAjZGVmaW5lIEhBVkVfRElGRlRJTUUg MQp8ICNkZWZpbmUgSEFWRV9NRU1DUFkgMQp8ICNkZWZpbmUgSEFWRV9NRU1QQ1BZ IDEKfCAjZGVmaW5lIEhBVkVfTUJMRU4gMQp8ICNkZWZpbmUgSEFWRV9NQlJMRU4g MQp8ICNkZWZpbmUgSEFWRV9TWVNfVU5fSCAxCnwgI2RlZmluZSBIQVZFX1NURExJ Ql9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1RJTUVfSCAxCnwgI2RlZmluZSBIQVZF X1VOSVNURF9IIDEKfCAjZGVmaW5lIEhBVkVfQUxBUk0gMQp8ICNkZWZpbmUgQlJP S0VOX01LVElNRSAxCnwgI2RlZmluZSBDX0dFVExPQURBVkcgMQp8ICNkZWZpbmUg SEFWRV9TRVRMT0NBTEUgMQp8IC8qIGVuZCBjb25mZGVmcy5oLiAgKi8KfCAjaW5j bHVkZSA8aW5xX3N0YXRzL2NwdXN0YXRzLmg+CmNvbmZpZ3VyZToxNjU1NTogcmVz dWx0OiBubwpjb25maWd1cmU6MTY1OTA6IGNoZWNraW5nIGZvciBpbnFfc3RhdHMv Y3B1c3RhdHMuaApjb25maWd1cmU6MTY1OTc6IHJlc3VsdDogbm8KY29uZmlndXJl OjE2NjI5OiBjaGVja2luZyBzeXMvY3B1c3RhdHMuaCB1c2FiaWxpdHkKY29uZmln dXJlOjE2NjQxOiBnY2MgLWMgLWcgLU8yICAgIGNvbmZ0ZXN0LmMgPiY1CmNvbmZ0 ZXN0LmM6MTcxOjI2OiBzeXMvY3B1c3RhdHMuaDogTm8gc3VjaCBmaWxlIG9yIGRp cmVjdG9yeQpjb25maWd1cmU6MTY2NDc6ICQ/ID0gMQpjb25maWd1cmU6IGZhaWxl ZCBwcm9ncmFtIHdhczoKfCAvKiBjb25mZGVmcy5oLiAgKi8KfCAKfCAjZGVmaW5l IFBBQ0tBR0VfTkFNRSAiIgp8ICNkZWZpbmUgUEFDS0FHRV9UQVJOQU1FICIiCnwg I2RlZmluZSBQQUNLQUdFX1ZFUlNJT04gIiIKfCAjZGVmaW5lIFBBQ0tBR0VfU1RS SU5HICIiCnwgI2RlZmluZSBQQUNLQUdFX0JVR1JFUE9SVCAiIgp8ICNkZWZpbmUg TUFJTF9VU0VfUE9QIDEKfCAjZGVmaW5lIF9HTlVfU09VUkNFIDEKfCAjZGVmaW5l IFNURENfSEVBREVSUyAxCnwgI2RlZmluZSBIQVZFX1NZU19UWVBFU19IIDEKfCAj ZGVmaW5lIEhBVkVfU1lTX1NUQVRfSCAxCnwgI2RlZmluZSBIQVZFX1NURExJQl9I IDEKfCAjZGVmaW5lIEhBVkVfU1RSSU5HX0ggMQp8ICNkZWZpbmUgSEFWRV9NRU1P UllfSCAxCnwgI2RlZmluZSBIQVZFX1NUUklOR1NfSCAxCnwgI2RlZmluZSBIQVZF X0lOVFRZUEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERJTlRfSCAxCnwgI2RlZmlu ZSBIQVZFX1VOSVNURF9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NPVU5EQ0FSRF9I IDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NFTEVDVF9IIDEKfCAjZGVmaW5lIEhBVkVf U1lTX1RJTUVCX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfVElNRV9IIDEKfCAjZGVm aW5lIEhBVkVfVU5JU1REX0ggMQp8ICNkZWZpbmUgSEFWRV9VVElNRV9IIDEKfCAj ZGVmaW5lIEhBVkVfVEVSTUlPU19IIDEKfCAjZGVmaW5lIEhBVkVfTElNSVRTX0gg MQp8ICNkZWZpbmUgSEFWRV9TVFJJTkdfSCAxCnwgI2RlZmluZSBIQVZFX1NURExJ Ql9IIDEKfCAjZGVmaW5lIEhBVkVfVEVSTUNBUF9IIDEKfCAjZGVmaW5lIEhBVkVf RkNOVExfSCAxCnwgI2RlZmluZSBIQVZFX1NUUklOR1NfSCAxCnwgI2RlZmluZSBI QVZFX1BUWV9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX01NQU5fSCAxCnwgI2RlZmlu ZSBIQVZFX1NZU19QQVJBTV9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1JFU09VUkNF X0ggMQp8ICNkZWZpbmUgSEFWRV9MT0NBTEVfSCAxCnwgI2RlZmluZSBIQVZFX1NZ U19VVFNOQU1FX0ggMQp8ICNkZWZpbmUgSEFWRV9QV0RfSCAxCnwgI2RlZmluZSBT VERDX0hFQURFUlMgMQp8ICNkZWZpbmUgVElNRV9XSVRIX1NZU19USU1FIDEKfCAj ZGVmaW5lIEhBVkVfREVDTF9TWVNfU0lHTElTVCAwCnwgI2RlZmluZSBIQVZFX0RF Q0xfX19TWVNfU0lHTElTVCAwCnwgI2RlZmluZSBIQVZFX1NZU19XQUlUX0ggMQp8 ICNkZWZpbmUgSEFWRV9TVFJVQ1RfVVRJTUJVRiAxCnwgI2RlZmluZSBSRVRTSUdU WVBFIHZvaWQKfCAjZGVmaW5lIEhBVkVfU1BFRURfVCAxCnwgI2RlZmluZSBIQVZF X1RJTUVWQUwgMQp8ICNkZWZpbmUgSEFWRV9TWVNfU09DS0VUX0ggMQp8ICNkZWZp bmUgSEFWRV9ORVRfSUZfSCAxCnwgI2RlZmluZSBIQVZFX1RaTkFNRSAxCnwgI2Rl ZmluZSBIQVZFX1NUUlVDVF9JRlJFUV9JRlJfRkxBR1MgMQp8ICNkZWZpbmUgSEFW RV9TVFJVQ1RfSUZSRVFfSUZSX0hXQUREUiAxCnwgI2RlZmluZSBIQVZFX1NUUlVD VF9JRlJFUV9JRlJfTkVUTUFTSyAxCnwgI2RlZmluZSBIQVZFX1NUUlVDVF9JRlJF UV9JRlJfQlJPQURBRERSIDEKfCAjZGVmaW5lIEhBVkVfU1RSVUNUX0lGUkVRX0lG Ul9BRERSIDEKfCAjZGVmaW5lIFBST1RPVFlQRVMgMQp8ICNkZWZpbmUgX19QUk9U T1RZUEVTIDEKfCAjZGVmaW5lIFBPSU5URVJfVFlQRSB2b2lkCnwgI2RlZmluZSBI QVZFX0xPTkdfRklMRV9OQU1FUyAxCnwgI2RlZmluZSBIQVZFX1NURExJQl9IIDEK fCAjZGVmaW5lIEhBVkVfVU5JU1REX0ggMQp8ICNkZWZpbmUgSEFWRV9HRVRQQUdF U0laRSAxCnwgI2RlZmluZSBVU0VfWElNIDEKfCAjZGVmaW5lIEhBVkVfSF9FUlJO TyAxCnwgI2RlZmluZSBIQVZFX0FMTE9DQV9IIDEKfCAjZGVmaW5lIEhBVkVfQUxM T0NBIDEKfCAjZGVmaW5lIEhBVkVfTElCTSAxCnwgI2RlZmluZSBIQVZFX0dFVEhP U1ROQU1FIDEKfCAjZGVmaW5lIEhBVkVfR0VURE9NQUlOTkFNRSAxCnwgI2RlZmlu ZSBIQVZFX0RVUDIgMQp8ICNkZWZpbmUgSEFWRV9SRU5BTUUgMQp8ICNkZWZpbmUg SEFWRV9DTE9TRURJUiAxCnwgI2RlZmluZSBIQVZFX01LRElSIDEKfCAjZGVmaW5l IEhBVkVfUk1ESVIgMQp8ICNkZWZpbmUgSEFWRV9HRVRSVVNBR0UgMQp8ICNkZWZp bmUgSEFWRV9SQU5ET00gMQp8ICNkZWZpbmUgSEFWRV9MUkFORDQ4IDEKfCAjZGVm aW5lIEhBVkVfQkNPUFkgMQp8ICNkZWZpbmUgSEFWRV9CQ01QIDEKfCAjZGVmaW5l IEhBVkVfTE9HQiAxCnwgI2RlZmluZSBIQVZFX0ZSRVhQIDEKfCAjZGVmaW5lIEhB VkVfRk1PRCAxCnwgI2RlZmluZSBIQVZFX1JJTlQgMQp8ICNkZWZpbmUgSEFWRV9D QlJUIDEKfCAjZGVmaW5lIEhBVkVfRlRJTUUgMQp8ICNkZWZpbmUgSEFWRV9TRVRT SUQgMQp8ICNkZWZpbmUgSEFWRV9TVFJFUlJPUiAxCnwgI2RlZmluZSBIQVZFX0ZQ QVRIQ09ORiAxCnwgI2RlZmluZSBIQVZFX1NFTEVDVCAxCnwgI2RlZmluZSBIQVZF X01LVElNRSAxCnwgI2RlZmluZSBIQVZFX0dFVFBBR0VTSVpFIDEKfCAjZGVmaW5l IEhBVkVfVFpTRVQgMQp8ICNkZWZpbmUgSEFWRV9TRVRMT0NBTEUgMQp8ICNkZWZp bmUgSEFWRV9VVElNRVMgMQp8ICNkZWZpbmUgSEFWRV9TRVRSTElNSVQgMQp8ICNk ZWZpbmUgSEFWRV9TRVRQR0lEIDEKfCAjZGVmaW5lIEhBVkVfR0VUQ1dEIDEKfCAj ZGVmaW5lIEhBVkVfR0VUV0QgMQp8ICNkZWZpbmUgSEFWRV9TSFVURE9XTiAxCnwg I2RlZmluZSBIQVZFX01CTEVOIDEKfCAjZGVmaW5lIEhBVkVfTUJSTEVOIDEKfCAj ZGVmaW5lIEhBVkVfTUJTSU5JVCAxCnwgI2RlZmluZSBIQVZFX1NUUlNJR05BTCAx CnwgI2RlZmluZSBIQVZFX1NFVElUSU1FUiAxCnwgI2RlZmluZSBIQVZFX1VBTEFS TSAxCnwgI2RlZmluZSBIQVZFX0lOREVYIDEKfCAjZGVmaW5lIEhBVkVfUklOREVY IDEKfCAjZGVmaW5lIEhBVkVfU0VORFRPIDEKfCAjZGVmaW5lIEhBVkVfUkVDVkZS T00gMQp8ICNkZWZpbmUgSEFWRV9HRVRTT0NLT1BUIDEKfCAjZGVmaW5lIEhBVkVf U0VUU09DS09QVCAxCnwgI2RlZmluZSBIQVZFX0dFVFNPQ0tOQU1FIDEKfCAjZGVm aW5lIEhBVkVfR0VUUEVFUk5BTUUgMQp8ICNkZWZpbmUgSEFWRV9NS1NURU1QIDEK fCAjZGVmaW5lIEhBVkVfR0VUTElORSAxCnwgI2RlZmluZSBIQVZFX0dFVERFTElN IDEKfCAjZGVmaW5lIEhBVkVfTUVNTU9WRSAxCnwgI2RlZmluZSBIQVZFX0ZTWU5D IDEKfCAjZGVmaW5lIEhBVkVfQlpFUk8gMQp8ICNkZWZpbmUgSEFWRV9NRU1TRVQg MQp8ICNkZWZpbmUgSEFWRV9NRU1DTVAgMQp8ICNkZWZpbmUgSEFWRV9ESUZGVElN RSAxCnwgI2RlZmluZSBIQVZFX01FTUNQWSAxCnwgI2RlZmluZSBIQVZFX01FTVBD UFkgMQp8ICNkZWZpbmUgSEFWRV9NQkxFTiAxCnwgI2RlZmluZSBIQVZFX01CUkxF TiAxCnwgI2RlZmluZSBIQVZFX1NZU19VTl9IIDEKfCAjZGVmaW5lIEhBVkVfU1RE TElCX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfVElNRV9IIDEKfCAjZGVmaW5lIEhB VkVfVU5JU1REX0ggMQp8ICNkZWZpbmUgSEFWRV9BTEFSTSAxCnwgI2RlZmluZSBC Uk9LRU5fTUtUSU1FIDEKfCAjZGVmaW5lIENfR0VUTE9BREFWRyAxCnwgI2RlZmlu ZSBIQVZFX1NFVExPQ0FMRSAxCnwgLyogZW5kIGNvbmZkZWZzLmguICAqLwp8ICNp bmNsdWRlIDxzdGRpby5oPgp8ICNpZiBIQVZFX1NZU19UWVBFU19ICnwgIyBpbmNs dWRlIDxzeXMvdHlwZXMuaD4KfCAjZW5kaWYKfCAjaWYgSEFWRV9TWVNfU1RBVF9I CnwgIyBpbmNsdWRlIDxzeXMvc3RhdC5oPgp8ICNlbmRpZgp8ICNpZiBTVERDX0hF QURFUlMKfCAjIGluY2x1ZGUgPHN0ZGxpYi5oPgp8ICMgaW5jbHVkZSA8c3RkZGVm Lmg+CnwgI2Vsc2UKfCAjIGlmIEhBVkVfU1RETElCX0gKfCAjICBpbmNsdWRlIDxz dGRsaWIuaD4KfCAjIGVuZGlmCnwgI2VuZGlmCnwgI2lmIEhBVkVfU1RSSU5HX0gK fCAjIGlmICFTVERDX0hFQURFUlMgJiYgSEFWRV9NRU1PUllfSAp8ICMgIGluY2x1 ZGUgPG1lbW9yeS5oPgp8ICMgZW5kaWYKfCAjIGluY2x1ZGUgPHN0cmluZy5oPgp8 ICNlbmRpZgp8ICNpZiBIQVZFX1NUUklOR1NfSAp8ICMgaW5jbHVkZSA8c3RyaW5n cy5oPgp8ICNlbmRpZgp8ICNpZiBIQVZFX0lOVFRZUEVTX0gKfCAjIGluY2x1ZGUg PGludHR5cGVzLmg+CnwgI2Vsc2UKfCAjIGlmIEhBVkVfU1RESU5UX0gKfCAjICBp bmNsdWRlIDxzdGRpbnQuaD4KfCAjIGVuZGlmCnwgI2VuZGlmCnwgI2lmIEhBVkVf VU5JU1REX0gKfCAjIGluY2x1ZGUgPHVuaXN0ZC5oPgp8ICNlbmRpZgp8ICNpbmNs dWRlIDxzeXMvY3B1c3RhdHMuaD4KY29uZmlndXJlOjE2NjcwOiByZXN1bHQ6IG5v CmNvbmZpZ3VyZToxNjY3NDogY2hlY2tpbmcgc3lzL2NwdXN0YXRzLmggcHJlc2Vu Y2UKY29uZmlndXJlOjE2Njg0OiBnY2MgLUUgICAgY29uZnRlc3QuYwpjb25mdGVz dC5jOjEzNzoyNjogc3lzL2NwdXN0YXRzLmg6IE5vIHN1Y2ggZmlsZSBvciBkaXJl Y3RvcnkKY29uZmlndXJlOjE2NjkwOiAkPyA9IDEKY29uZmlndXJlOiBmYWlsZWQg cHJvZ3JhbSB3YXM6CnwgLyogY29uZmRlZnMuaC4gICovCnwgCnwgI2RlZmluZSBQ QUNLQUdFX05BTUUgIiIKfCAjZGVmaW5lIFBBQ0tBR0VfVEFSTkFNRSAiIgp8ICNk ZWZpbmUgUEFDS0FHRV9WRVJTSU9OICIiCnwgI2RlZmluZSBQQUNLQUdFX1NUUklO RyAiIgp8ICNkZWZpbmUgUEFDS0FHRV9CVUdSRVBPUlQgIiIKfCAjZGVmaW5lIE1B SUxfVVNFX1BPUCAxCnwgI2RlZmluZSBfR05VX1NPVVJDRSAxCnwgI2RlZmluZSBT VERDX0hFQURFUlMgMQp8ICNkZWZpbmUgSEFWRV9TWVNfVFlQRVNfSCAxCnwgI2Rl ZmluZSBIQVZFX1NZU19TVEFUX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERMSUJfSCAx CnwgI2RlZmluZSBIQVZFX1NUUklOR19IIDEKfCAjZGVmaW5lIEhBVkVfTUVNT1JZ X0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJJTkdTX0ggMQp8ICNkZWZpbmUgSEFWRV9J TlRUWVBFU19IIDEKfCAjZGVmaW5lIEhBVkVfU1RESU5UX0ggMQp8ICNkZWZpbmUg SEFWRV9VTklTVERfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19TT1VORENBUkRfSCAx CnwgI2RlZmluZSBIQVZFX1NZU19TRUxFQ1RfSCAxCnwgI2RlZmluZSBIQVZFX1NZ U19USU1FQl9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1RJTUVfSCAxCnwgI2RlZmlu ZSBIQVZFX1VOSVNURF9IIDEKfCAjZGVmaW5lIEhBVkVfVVRJTUVfSCAxCnwgI2Rl ZmluZSBIQVZFX1RFUk1JT1NfSCAxCnwgI2RlZmluZSBIQVZFX0xJTUlUU19IIDEK fCAjZGVmaW5lIEhBVkVfU1RSSU5HX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERMSUJf SCAxCnwgI2RlZmluZSBIQVZFX1RFUk1DQVBfSCAxCnwgI2RlZmluZSBIQVZFX0ZD TlRMX0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJJTkdTX0ggMQp8ICNkZWZpbmUgSEFW RV9QVFlfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19NTUFOX0ggMQp8ICNkZWZpbmUg SEFWRV9TWVNfUEFSQU1fSCAxCnwgI2RlZmluZSBIQVZFX1NZU19SRVNPVVJDRV9I IDEKfCAjZGVmaW5lIEhBVkVfTE9DQUxFX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNf VVRTTkFNRV9IIDEKfCAjZGVmaW5lIEhBVkVfUFdEX0ggMQp8ICNkZWZpbmUgU1RE Q19IRUFERVJTIDEKfCAjZGVmaW5lIFRJTUVfV0lUSF9TWVNfVElNRSAxCnwgI2Rl ZmluZSBIQVZFX0RFQ0xfU1lTX1NJR0xJU1QgMAp8ICNkZWZpbmUgSEFWRV9ERUNM X19fU1lTX1NJR0xJU1QgMAp8ICNkZWZpbmUgSEFWRV9TWVNfV0FJVF9IIDEKfCAj ZGVmaW5lIEhBVkVfU1RSVUNUX1VUSU1CVUYgMQp8ICNkZWZpbmUgUkVUU0lHVFlQ RSB2b2lkCnwgI2RlZmluZSBIQVZFX1NQRUVEX1QgMQp8ICNkZWZpbmUgSEFWRV9U SU1FVkFMIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NPQ0tFVF9IIDEKfCAjZGVmaW5l IEhBVkVfTkVUX0lGX0ggMQp8ICNkZWZpbmUgSEFWRV9UWk5BTUUgMQp8ICNkZWZp bmUgSEFWRV9TVFJVQ1RfSUZSRVFfSUZSX0ZMQUdTIDEKfCAjZGVmaW5lIEhBVkVf U1RSVUNUX0lGUkVRX0lGUl9IV0FERFIgMQp8ICNkZWZpbmUgSEFWRV9TVFJVQ1Rf SUZSRVFfSUZSX05FVE1BU0sgMQp8ICNkZWZpbmUgSEFWRV9TVFJVQ1RfSUZSRVFf SUZSX0JST0FEQUREUiAxCnwgI2RlZmluZSBIQVZFX1NUUlVDVF9JRlJFUV9JRlJf QUREUiAxCnwgI2RlZmluZSBQUk9UT1RZUEVTIDEKfCAjZGVmaW5lIF9fUFJPVE9U WVBFUyAxCnwgI2RlZmluZSBQT0lOVEVSX1RZUEUgdm9pZAp8ICNkZWZpbmUgSEFW RV9MT05HX0ZJTEVfTkFNRVMgMQp8ICNkZWZpbmUgSEFWRV9TVERMSUJfSCAxCnwg I2RlZmluZSBIQVZFX1VOSVNURF9IIDEKfCAjZGVmaW5lIEhBVkVfR0VUUEFHRVNJ WkUgMQp8ICNkZWZpbmUgVVNFX1hJTSAxCnwgI2RlZmluZSBIQVZFX0hfRVJSTk8g MQp8ICNkZWZpbmUgSEFWRV9BTExPQ0FfSCAxCnwgI2RlZmluZSBIQVZFX0FMTE9D QSAxCnwgI2RlZmluZSBIQVZFX0xJQk0gMQp8ICNkZWZpbmUgSEFWRV9HRVRIT1NU TkFNRSAxCnwgI2RlZmluZSBIQVZFX0dFVERPTUFJTk5BTUUgMQp8ICNkZWZpbmUg SEFWRV9EVVAyIDEKfCAjZGVmaW5lIEhBVkVfUkVOQU1FIDEKfCAjZGVmaW5lIEhB VkVfQ0xPU0VESVIgMQp8ICNkZWZpbmUgSEFWRV9NS0RJUiAxCnwgI2RlZmluZSBI QVZFX1JNRElSIDEKfCAjZGVmaW5lIEhBVkVfR0VUUlVTQUdFIDEKfCAjZGVmaW5l IEhBVkVfUkFORE9NIDEKfCAjZGVmaW5lIEhBVkVfTFJBTkQ0OCAxCnwgI2RlZmlu ZSBIQVZFX0JDT1BZIDEKfCAjZGVmaW5lIEhBVkVfQkNNUCAxCnwgI2RlZmluZSBI QVZFX0xPR0IgMQp8ICNkZWZpbmUgSEFWRV9GUkVYUCAxCnwgI2RlZmluZSBIQVZF X0ZNT0QgMQp8ICNkZWZpbmUgSEFWRV9SSU5UIDEKfCAjZGVmaW5lIEhBVkVfQ0JS VCAxCnwgI2RlZmluZSBIQVZFX0ZUSU1FIDEKfCAjZGVmaW5lIEhBVkVfU0VUU0lE IDEKfCAjZGVmaW5lIEhBVkVfU1RSRVJST1IgMQp8ICNkZWZpbmUgSEFWRV9GUEFU SENPTkYgMQp8ICNkZWZpbmUgSEFWRV9TRUxFQ1QgMQp8ICNkZWZpbmUgSEFWRV9N S1RJTUUgMQp8ICNkZWZpbmUgSEFWRV9HRVRQQUdFU0laRSAxCnwgI2RlZmluZSBI QVZFX1RaU0VUIDEKfCAjZGVmaW5lIEhBVkVfU0VUTE9DQUxFIDEKfCAjZGVmaW5l IEhBVkVfVVRJTUVTIDEKfCAjZGVmaW5lIEhBVkVfU0VUUkxJTUlUIDEKfCAjZGVm aW5lIEhBVkVfU0VUUEdJRCAxCnwgI2RlZmluZSBIQVZFX0dFVENXRCAxCnwgI2Rl ZmluZSBIQVZFX0dFVFdEIDEKfCAjZGVmaW5lIEhBVkVfU0hVVERPV04gMQp8ICNk ZWZpbmUgSEFWRV9NQkxFTiAxCnwgI2RlZmluZSBIQVZFX01CUkxFTiAxCnwgI2Rl ZmluZSBIQVZFX01CU0lOSVQgMQp8ICNkZWZpbmUgSEFWRV9TVFJTSUdOQUwgMQp8 ICNkZWZpbmUgSEFWRV9TRVRJVElNRVIgMQp8ICNkZWZpbmUgSEFWRV9VQUxBUk0g MQp8ICNkZWZpbmUgSEFWRV9JTkRFWCAxCnwgI2RlZmluZSBIQVZFX1JJTkRFWCAx CnwgI2RlZmluZSBIQVZFX1NFTkRUTyAxCnwgI2RlZmluZSBIQVZFX1JFQ1ZGUk9N IDEKfCAjZGVmaW5lIEhBVkVfR0VUU09DS09QVCAxCnwgI2RlZmluZSBIQVZFX1NF VFNPQ0tPUFQgMQp8ICNkZWZpbmUgSEFWRV9HRVRTT0NLTkFNRSAxCnwgI2RlZmlu ZSBIQVZFX0dFVFBFRVJOQU1FIDEKfCAjZGVmaW5lIEhBVkVfTUtTVEVNUCAxCnwg I2RlZmluZSBIQVZFX0dFVExJTkUgMQp8ICNkZWZpbmUgSEFWRV9HRVRERUxJTSAx CnwgI2RlZmluZSBIQVZFX01FTU1PVkUgMQp8ICNkZWZpbmUgSEFWRV9GU1lOQyAx CnwgI2RlZmluZSBIQVZFX0JaRVJPIDEKfCAjZGVmaW5lIEhBVkVfTUVNU0VUIDEK fCAjZGVmaW5lIEhBVkVfTUVNQ01QIDEKfCAjZGVmaW5lIEhBVkVfRElGRlRJTUUg MQp8ICNkZWZpbmUgSEFWRV9NRU1DUFkgMQp8ICNkZWZpbmUgSEFWRV9NRU1QQ1BZ IDEKfCAjZGVmaW5lIEhBVkVfTUJMRU4gMQp8ICNkZWZpbmUgSEFWRV9NQlJMRU4g MQp8ICNkZWZpbmUgSEFWRV9TWVNfVU5fSCAxCnwgI2RlZmluZSBIQVZFX1NURExJ Ql9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1RJTUVfSCAxCnwgI2RlZmluZSBIQVZF X1VOSVNURF9IIDEKfCAjZGVmaW5lIEhBVkVfQUxBUk0gMQp8ICNkZWZpbmUgQlJP S0VOX01LVElNRSAxCnwgI2RlZmluZSBDX0dFVExPQURBVkcgMQp8ICNkZWZpbmUg SEFWRV9TRVRMT0NBTEUgMQp8IC8qIGVuZCBjb25mZGVmcy5oLiAgKi8KfCAjaW5j bHVkZSA8c3lzL2NwdXN0YXRzLmg+CmNvbmZpZ3VyZToxNjcxMDogcmVzdWx0OiBu bwpjb25maWd1cmU6MTY3NDU6IGNoZWNraW5nIGZvciBzeXMvY3B1c3RhdHMuaApj b25maWd1cmU6MTY3NTI6IHJlc3VsdDogbm8KY29uZmlndXJlOjE2NzgxOiBjaGVj a2luZyBtYWNoL21hY2guaCB1c2FiaWxpdHkKY29uZmlndXJlOjE2NzkzOiBnY2Mg LWMgLWcgLU8yICAgIGNvbmZ0ZXN0LmMgPiY1CmNvbmZ0ZXN0LmM6MTcxOjIzOiBt YWNoL21hY2guaDogTm8gc3VjaCBmaWxlIG9yIGRpcmVjdG9yeQpjb25maWd1cmU6 MTY3OTk6ICQ/ID0gMQpjb25maWd1cmU6IGZhaWxlZCBwcm9ncmFtIHdhczoKfCAv KiBjb25mZGVmcy5oLiAgKi8KfCAKfCAjZGVmaW5lIFBBQ0tBR0VfTkFNRSAiIgp8 ICNkZWZpbmUgUEFDS0FHRV9UQVJOQU1FICIiCnwgI2RlZmluZSBQQUNLQUdFX1ZF UlNJT04gIiIKfCAjZGVmaW5lIFBBQ0tBR0VfU1RSSU5HICIiCnwgI2RlZmluZSBQ QUNLQUdFX0JVR1JFUE9SVCAiIgp8ICNkZWZpbmUgTUFJTF9VU0VfUE9QIDEKfCAj ZGVmaW5lIF9HTlVfU09VUkNFIDEKfCAjZGVmaW5lIFNURENfSEVBREVSUyAxCnwg I2RlZmluZSBIQVZFX1NZU19UWVBFU19IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NU QVRfSCAxCnwgI2RlZmluZSBIQVZFX1NURExJQl9IIDEKfCAjZGVmaW5lIEhBVkVf U1RSSU5HX0ggMQp8ICNkZWZpbmUgSEFWRV9NRU1PUllfSCAxCnwgI2RlZmluZSBI QVZFX1NUUklOR1NfSCAxCnwgI2RlZmluZSBIQVZFX0lOVFRZUEVTX0ggMQp8ICNk ZWZpbmUgSEFWRV9TVERJTlRfSCAxCnwgI2RlZmluZSBIQVZFX1VOSVNURF9IIDEK fCAjZGVmaW5lIEhBVkVfU1lTX1NPVU5EQ0FSRF9IIDEKfCAjZGVmaW5lIEhBVkVf U1lTX1NFTEVDVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1RJTUVCX0ggMQp8ICNk ZWZpbmUgSEFWRV9TWVNfVElNRV9IIDEKfCAjZGVmaW5lIEhBVkVfVU5JU1REX0gg MQp8ICNkZWZpbmUgSEFWRV9VVElNRV9IIDEKfCAjZGVmaW5lIEhBVkVfVEVSTUlP U19IIDEKfCAjZGVmaW5lIEhBVkVfTElNSVRTX0ggMQp8ICNkZWZpbmUgSEFWRV9T VFJJTkdfSCAxCnwgI2RlZmluZSBIQVZFX1NURExJQl9IIDEKfCAjZGVmaW5lIEhB VkVfVEVSTUNBUF9IIDEKfCAjZGVmaW5lIEhBVkVfRkNOVExfSCAxCnwgI2RlZmlu ZSBIQVZFX1NUUklOR1NfSCAxCnwgI2RlZmluZSBIQVZFX1BUWV9IIDEKfCAjZGVm aW5lIEhBVkVfU1lTX01NQU5fSCAxCnwgI2RlZmluZSBIQVZFX1NZU19QQVJBTV9I IDEKfCAjZGVmaW5lIEhBVkVfU1lTX1JFU09VUkNFX0ggMQp8ICNkZWZpbmUgSEFW RV9MT0NBTEVfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19VVFNOQU1FX0ggMQp8ICNk ZWZpbmUgSEFWRV9QV0RfSCAxCnwgI2RlZmluZSBTVERDX0hFQURFUlMgMQp8ICNk ZWZpbmUgVElNRV9XSVRIX1NZU19USU1FIDEKfCAjZGVmaW5lIEhBVkVfREVDTF9T WVNfU0lHTElTVCAwCnwgI2RlZmluZSBIQVZFX0RFQ0xfX19TWVNfU0lHTElTVCAw CnwgI2RlZmluZSBIQVZFX1NZU19XQUlUX0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJV Q1RfVVRJTUJVRiAxCnwgI2RlZmluZSBSRVRTSUdUWVBFIHZvaWQKfCAjZGVmaW5l IEhBVkVfU1BFRURfVCAxCnwgI2RlZmluZSBIQVZFX1RJTUVWQUwgMQp8ICNkZWZp bmUgSEFWRV9TWVNfU09DS0VUX0ggMQp8ICNkZWZpbmUgSEFWRV9ORVRfSUZfSCAx CnwgI2RlZmluZSBIQVZFX1RaTkFNRSAxCnwgI2RlZmluZSBIQVZFX1NUUlVDVF9J RlJFUV9JRlJfRkxBR1MgMQp8ICNkZWZpbmUgSEFWRV9TVFJVQ1RfSUZSRVFfSUZS X0hXQUREUiAxCnwgI2RlZmluZSBIQVZFX1NUUlVDVF9JRlJFUV9JRlJfTkVUTUFT SyAxCnwgI2RlZmluZSBIQVZFX1NUUlVDVF9JRlJFUV9JRlJfQlJPQURBRERSIDEK fCAjZGVmaW5lIEhBVkVfU1RSVUNUX0lGUkVRX0lGUl9BRERSIDEKfCAjZGVmaW5l IFBST1RPVFlQRVMgMQp8ICNkZWZpbmUgX19QUk9UT1RZUEVTIDEKfCAjZGVmaW5l IFBPSU5URVJfVFlQRSB2b2lkCnwgI2RlZmluZSBIQVZFX0xPTkdfRklMRV9OQU1F UyAxCnwgI2RlZmluZSBIQVZFX1NURExJQl9IIDEKfCAjZGVmaW5lIEhBVkVfVU5J U1REX0ggMQp8ICNkZWZpbmUgSEFWRV9HRVRQQUdFU0laRSAxCnwgI2RlZmluZSBV U0VfWElNIDEKfCAjZGVmaW5lIEhBVkVfSF9FUlJOTyAxCnwgI2RlZmluZSBIQVZF X0FMTE9DQV9IIDEKfCAjZGVmaW5lIEhBVkVfQUxMT0NBIDEKfCAjZGVmaW5lIEhB VkVfTElCTSAxCnwgI2RlZmluZSBIQVZFX0dFVEhPU1ROQU1FIDEKfCAjZGVmaW5l IEhBVkVfR0VURE9NQUlOTkFNRSAxCnwgI2RlZmluZSBIQVZFX0RVUDIgMQp8ICNk ZWZpbmUgSEFWRV9SRU5BTUUgMQp8ICNkZWZpbmUgSEFWRV9DTE9TRURJUiAxCnwg I2RlZmluZSBIQVZFX01LRElSIDEKfCAjZGVmaW5lIEhBVkVfUk1ESVIgMQp8ICNk ZWZpbmUgSEFWRV9HRVRSVVNBR0UgMQp8ICNkZWZpbmUgSEFWRV9SQU5ET00gMQp8 ICNkZWZpbmUgSEFWRV9MUkFORDQ4IDEKfCAjZGVmaW5lIEhBVkVfQkNPUFkgMQp8 ICNkZWZpbmUgSEFWRV9CQ01QIDEKfCAjZGVmaW5lIEhBVkVfTE9HQiAxCnwgI2Rl ZmluZSBIQVZFX0ZSRVhQIDEKfCAjZGVmaW5lIEhBVkVfRk1PRCAxCnwgI2RlZmlu ZSBIQVZFX1JJTlQgMQp8ICNkZWZpbmUgSEFWRV9DQlJUIDEKfCAjZGVmaW5lIEhB VkVfRlRJTUUgMQp8ICNkZWZpbmUgSEFWRV9TRVRTSUQgMQp8ICNkZWZpbmUgSEFW RV9TVFJFUlJPUiAxCnwgI2RlZmluZSBIQVZFX0ZQQVRIQ09ORiAxCnwgI2RlZmlu ZSBIQVZFX1NFTEVDVCAxCnwgI2RlZmluZSBIQVZFX01LVElNRSAxCnwgI2RlZmlu ZSBIQVZFX0dFVFBBR0VTSVpFIDEKfCAjZGVmaW5lIEhBVkVfVFpTRVQgMQp8ICNk ZWZpbmUgSEFWRV9TRVRMT0NBTEUgMQp8ICNkZWZpbmUgSEFWRV9VVElNRVMgMQp8 ICNkZWZpbmUgSEFWRV9TRVRSTElNSVQgMQp8ICNkZWZpbmUgSEFWRV9TRVRQR0lE IDEKfCAjZGVmaW5lIEhBVkVfR0VUQ1dEIDEKfCAjZGVmaW5lIEhBVkVfR0VUV0Qg MQp8ICNkZWZpbmUgSEFWRV9TSFVURE9XTiAxCnwgI2RlZmluZSBIQVZFX01CTEVO IDEKfCAjZGVmaW5lIEhBVkVfTUJSTEVOIDEKfCAjZGVmaW5lIEhBVkVfTUJTSU5J VCAxCnwgI2RlZmluZSBIQVZFX1NUUlNJR05BTCAxCnwgI2RlZmluZSBIQVZFX1NF VElUSU1FUiAxCnwgI2RlZmluZSBIQVZFX1VBTEFSTSAxCnwgI2RlZmluZSBIQVZF X0lOREVYIDEKfCAjZGVmaW5lIEhBVkVfUklOREVYIDEKfCAjZGVmaW5lIEhBVkVf U0VORFRPIDEKfCAjZGVmaW5lIEhBVkVfUkVDVkZST00gMQp8ICNkZWZpbmUgSEFW RV9HRVRTT0NLT1BUIDEKfCAjZGVmaW5lIEhBVkVfU0VUU09DS09QVCAxCnwgI2Rl ZmluZSBIQVZFX0dFVFNPQ0tOQU1FIDEKfCAjZGVmaW5lIEhBVkVfR0VUUEVFUk5B TUUgMQp8ICNkZWZpbmUgSEFWRV9NS1NURU1QIDEKfCAjZGVmaW5lIEhBVkVfR0VU TElORSAxCnwgI2RlZmluZSBIQVZFX0dFVERFTElNIDEKfCAjZGVmaW5lIEhBVkVf TUVNTU9WRSAxCnwgI2RlZmluZSBIQVZFX0ZTWU5DIDEKfCAjZGVmaW5lIEhBVkVf QlpFUk8gMQp8ICNkZWZpbmUgSEFWRV9NRU1TRVQgMQp8ICNkZWZpbmUgSEFWRV9N RU1DTVAgMQp8ICNkZWZpbmUgSEFWRV9ESUZGVElNRSAxCnwgI2RlZmluZSBIQVZF X01FTUNQWSAxCnwgI2RlZmluZSBIQVZFX01FTVBDUFkgMQp8ICNkZWZpbmUgSEFW RV9NQkxFTiAxCnwgI2RlZmluZSBIQVZFX01CUkxFTiAxCnwgI2RlZmluZSBIQVZF X1NZU19VTl9IIDEKfCAjZGVmaW5lIEhBVkVfU1RETElCX0ggMQp8ICNkZWZpbmUg SEFWRV9TWVNfVElNRV9IIDEKfCAjZGVmaW5lIEhBVkVfVU5JU1REX0ggMQp8ICNk ZWZpbmUgSEFWRV9BTEFSTSAxCnwgI2RlZmluZSBCUk9LRU5fTUtUSU1FIDEKfCAj ZGVmaW5lIENfR0VUTE9BREFWRyAxCnwgI2RlZmluZSBIQVZFX1NFVExPQ0FMRSAx CnwgLyogZW5kIGNvbmZkZWZzLmguICAqLwp8ICNpbmNsdWRlIDxzdGRpby5oPgp8 ICNpZiBIQVZFX1NZU19UWVBFU19ICnwgIyBpbmNsdWRlIDxzeXMvdHlwZXMuaD4K fCAjZW5kaWYKfCAjaWYgSEFWRV9TWVNfU1RBVF9ICnwgIyBpbmNsdWRlIDxzeXMv c3RhdC5oPgp8ICNlbmRpZgp8ICNpZiBTVERDX0hFQURFUlMKfCAjIGluY2x1ZGUg PHN0ZGxpYi5oPgp8ICMgaW5jbHVkZSA8c3RkZGVmLmg+CnwgI2Vsc2UKfCAjIGlm IEhBVkVfU1RETElCX0gKfCAjICBpbmNsdWRlIDxzdGRsaWIuaD4KfCAjIGVuZGlm CnwgI2VuZGlmCnwgI2lmIEhBVkVfU1RSSU5HX0gKfCAjIGlmICFTVERDX0hFQURF UlMgJiYgSEFWRV9NRU1PUllfSAp8ICMgIGluY2x1ZGUgPG1lbW9yeS5oPgp8ICMg ZW5kaWYKfCAjIGluY2x1ZGUgPHN0cmluZy5oPgp8ICNlbmRpZgp8ICNpZiBIQVZF X1NUUklOR1NfSAp8ICMgaW5jbHVkZSA8c3RyaW5ncy5oPgp8ICNlbmRpZgp8ICNp ZiBIQVZFX0lOVFRZUEVTX0gKfCAjIGluY2x1ZGUgPGludHR5cGVzLmg+CnwgI2Vs c2UKfCAjIGlmIEhBVkVfU1RESU5UX0gKfCAjICBpbmNsdWRlIDxzdGRpbnQuaD4K fCAjIGVuZGlmCnwgI2VuZGlmCnwgI2lmIEhBVkVfVU5JU1REX0gKfCAjIGluY2x1 ZGUgPHVuaXN0ZC5oPgp8ICNlbmRpZgp8ICNpbmNsdWRlIDxtYWNoL21hY2guaD4K Y29uZmlndXJlOjE2ODIyOiByZXN1bHQ6IG5vCmNvbmZpZ3VyZToxNjgyNjogY2hl Y2tpbmcgbWFjaC9tYWNoLmggcHJlc2VuY2UKY29uZmlndXJlOjE2ODM2OiBnY2Mg LUUgICAgY29uZnRlc3QuYwpjb25mdGVzdC5jOjEzNzoyMzogbWFjaC9tYWNoLmg6 IE5vIHN1Y2ggZmlsZSBvciBkaXJlY3RvcnkKY29uZmlndXJlOjE2ODQyOiAkPyA9 IDEKY29uZmlndXJlOiBmYWlsZWQgcHJvZ3JhbSB3YXM6CnwgLyogY29uZmRlZnMu aC4gICovCnwgCnwgI2RlZmluZSBQQUNLQUdFX05BTUUgIiIKfCAjZGVmaW5lIFBB Q0tBR0VfVEFSTkFNRSAiIgp8ICNkZWZpbmUgUEFDS0FHRV9WRVJTSU9OICIiCnwg I2RlZmluZSBQQUNLQUdFX1NUUklORyAiIgp8ICNkZWZpbmUgUEFDS0FHRV9CVUdS RVBPUlQgIiIKfCAjZGVmaW5lIE1BSUxfVVNFX1BPUCAxCnwgI2RlZmluZSBfR05V X1NPVVJDRSAxCnwgI2RlZmluZSBTVERDX0hFQURFUlMgMQp8ICNkZWZpbmUgSEFW RV9TWVNfVFlQRVNfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19TVEFUX0ggMQp8ICNk ZWZpbmUgSEFWRV9TVERMSUJfSCAxCnwgI2RlZmluZSBIQVZFX1NUUklOR19IIDEK fCAjZGVmaW5lIEhBVkVfTUVNT1JZX0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJJTkdT X0ggMQp8ICNkZWZpbmUgSEFWRV9JTlRUWVBFU19IIDEKfCAjZGVmaW5lIEhBVkVf U1RESU5UX0ggMQp8ICNkZWZpbmUgSEFWRV9VTklTVERfSCAxCnwgI2RlZmluZSBI QVZFX1NZU19TT1VORENBUkRfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19TRUxFQ1Rf SCAxCnwgI2RlZmluZSBIQVZFX1NZU19USU1FQl9IIDEKfCAjZGVmaW5lIEhBVkVf U1lTX1RJTUVfSCAxCnwgI2RlZmluZSBIQVZFX1VOSVNURF9IIDEKfCAjZGVmaW5l IEhBVkVfVVRJTUVfSCAxCnwgI2RlZmluZSBIQVZFX1RFUk1JT1NfSCAxCnwgI2Rl ZmluZSBIQVZFX0xJTUlUU19IIDEKfCAjZGVmaW5lIEhBVkVfU1RSSU5HX0ggMQp8 ICNkZWZpbmUgSEFWRV9TVERMSUJfSCAxCnwgI2RlZmluZSBIQVZFX1RFUk1DQVBf SCAxCnwgI2RlZmluZSBIQVZFX0ZDTlRMX0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJJ TkdTX0ggMQp8ICNkZWZpbmUgSEFWRV9QVFlfSCAxCnwgI2RlZmluZSBIQVZFX1NZ U19NTUFOX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfUEFSQU1fSCAxCnwgI2RlZmlu ZSBIQVZFX1NZU19SRVNPVVJDRV9IIDEKfCAjZGVmaW5lIEhBVkVfTE9DQUxFX0gg MQp8ICNkZWZpbmUgSEFWRV9TWVNfVVRTTkFNRV9IIDEKfCAjZGVmaW5lIEhBVkVf UFdEX0ggMQp8ICNkZWZpbmUgU1REQ19IRUFERVJTIDEKfCAjZGVmaW5lIFRJTUVf V0lUSF9TWVNfVElNRSAxCnwgI2RlZmluZSBIQVZFX0RFQ0xfU1lTX1NJR0xJU1Qg MAp8ICNkZWZpbmUgSEFWRV9ERUNMX19fU1lTX1NJR0xJU1QgMAp8ICNkZWZpbmUg SEFWRV9TWVNfV0FJVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1RSVUNUX1VUSU1CVUYg MQp8ICNkZWZpbmUgUkVUU0lHVFlQRSB2b2lkCnwgI2RlZmluZSBIQVZFX1NQRUVE X1QgMQp8ICNkZWZpbmUgSEFWRV9USU1FVkFMIDEKfCAjZGVmaW5lIEhBVkVfU1lT X1NPQ0tFVF9IIDEKfCAjZGVmaW5lIEhBVkVfTkVUX0lGX0ggMQp8ICNkZWZpbmUg SEFWRV9UWk5BTUUgMQp8ICNkZWZpbmUgSEFWRV9TVFJVQ1RfSUZSRVFfSUZSX0ZM QUdTIDEKfCAjZGVmaW5lIEhBVkVfU1RSVUNUX0lGUkVRX0lGUl9IV0FERFIgMQp8 ICNkZWZpbmUgSEFWRV9TVFJVQ1RfSUZSRVFfSUZSX05FVE1BU0sgMQp8ICNkZWZp bmUgSEFWRV9TVFJVQ1RfSUZSRVFfSUZSX0JST0FEQUREUiAxCnwgI2RlZmluZSBI QVZFX1NUUlVDVF9JRlJFUV9JRlJfQUREUiAxCnwgI2RlZmluZSBQUk9UT1RZUEVT IDEKfCAjZGVmaW5lIF9fUFJPVE9UWVBFUyAxCnwgI2RlZmluZSBQT0lOVEVSX1RZ UEUgdm9pZAp8ICNkZWZpbmUgSEFWRV9MT05HX0ZJTEVfTkFNRVMgMQp8ICNkZWZp bmUgSEFWRV9TVERMSUJfSCAxCnwgI2RlZmluZSBIQVZFX1VOSVNURF9IIDEKfCAj ZGVmaW5lIEhBVkVfR0VUUEFHRVNJWkUgMQp8ICNkZWZpbmUgVVNFX1hJTSAxCnwg I2RlZmluZSBIQVZFX0hfRVJSTk8gMQp8ICNkZWZpbmUgSEFWRV9BTExPQ0FfSCAx CnwgI2RlZmluZSBIQVZFX0FMTE9DQSAxCnwgI2RlZmluZSBIQVZFX0xJQk0gMQp8 ICNkZWZpbmUgSEFWRV9HRVRIT1NUTkFNRSAxCnwgI2RlZmluZSBIQVZFX0dFVERP TUFJTk5BTUUgMQp8ICNkZWZpbmUgSEFWRV9EVVAyIDEKfCAjZGVmaW5lIEhBVkVf UkVOQU1FIDEKfCAjZGVmaW5lIEhBVkVfQ0xPU0VESVIgMQp8ICNkZWZpbmUgSEFW RV9NS0RJUiAxCnwgI2RlZmluZSBIQVZFX1JNRElSIDEKfCAjZGVmaW5lIEhBVkVf R0VUUlVTQUdFIDEKfCAjZGVmaW5lIEhBVkVfUkFORE9NIDEKfCAjZGVmaW5lIEhB VkVfTFJBTkQ0OCAxCnwgI2RlZmluZSBIQVZFX0JDT1BZIDEKfCAjZGVmaW5lIEhB VkVfQkNNUCAxCnwgI2RlZmluZSBIQVZFX0xPR0IgMQp8ICNkZWZpbmUgSEFWRV9G UkVYUCAxCnwgI2RlZmluZSBIQVZFX0ZNT0QgMQp8ICNkZWZpbmUgSEFWRV9SSU5U IDEKfCAjZGVmaW5lIEhBVkVfQ0JSVCAxCnwgI2RlZmluZSBIQVZFX0ZUSU1FIDEK fCAjZGVmaW5lIEhBVkVfU0VUU0lEIDEKfCAjZGVmaW5lIEhBVkVfU1RSRVJST1Ig MQp8ICNkZWZpbmUgSEFWRV9GUEFUSENPTkYgMQp8ICNkZWZpbmUgSEFWRV9TRUxF Q1QgMQp8ICNkZWZpbmUgSEFWRV9NS1RJTUUgMQp8ICNkZWZpbmUgSEFWRV9HRVRQ QUdFU0laRSAxCnwgI2RlZmluZSBIQVZFX1RaU0VUIDEKfCAjZGVmaW5lIEhBVkVf U0VUTE9DQUxFIDEKfCAjZGVmaW5lIEhBVkVfVVRJTUVTIDEKfCAjZGVmaW5lIEhB VkVfU0VUUkxJTUlUIDEKfCAjZGVmaW5lIEhBVkVfU0VUUEdJRCAxCnwgI2RlZmlu ZSBIQVZFX0dFVENXRCAxCnwgI2RlZmluZSBIQVZFX0dFVFdEIDEKfCAjZGVmaW5l IEhBVkVfU0hVVERPV04gMQp8ICNkZWZpbmUgSEFWRV9NQkxFTiAxCnwgI2RlZmlu ZSBIQVZFX01CUkxFTiAxCnwgI2RlZmluZSBIQVZFX01CU0lOSVQgMQp8ICNkZWZp bmUgSEFWRV9TVFJTSUdOQUwgMQp8ICNkZWZpbmUgSEFWRV9TRVRJVElNRVIgMQp8 ICNkZWZpbmUgSEFWRV9VQUxBUk0gMQp8ICNkZWZpbmUgSEFWRV9JTkRFWCAxCnwg I2RlZmluZSBIQVZFX1JJTkRFWCAxCnwgI2RlZmluZSBIQVZFX1NFTkRUTyAxCnwg I2RlZmluZSBIQVZFX1JFQ1ZGUk9NIDEKfCAjZGVmaW5lIEhBVkVfR0VUU09DS09Q VCAxCnwgI2RlZmluZSBIQVZFX1NFVFNPQ0tPUFQgMQp8ICNkZWZpbmUgSEFWRV9H RVRTT0NLTkFNRSAxCnwgI2RlZmluZSBIQVZFX0dFVFBFRVJOQU1FIDEKfCAjZGVm aW5lIEhBVkVfTUtTVEVNUCAxCnwgI2RlZmluZSBIQVZFX0dFVExJTkUgMQp8ICNk ZWZpbmUgSEFWRV9HRVRERUxJTSAxCnwgI2RlZmluZSBIQVZFX01FTU1PVkUgMQp8 ICNkZWZpbmUgSEFWRV9GU1lOQyAxCnwgI2RlZmluZSBIQVZFX0JaRVJPIDEKfCAj ZGVmaW5lIEhBVkVfTUVNU0VUIDEKfCAjZGVmaW5lIEhBVkVfTUVNQ01QIDEKfCAj ZGVmaW5lIEhBVkVfRElGRlRJTUUgMQp8ICNkZWZpbmUgSEFWRV9NRU1DUFkgMQp8 ICNkZWZpbmUgSEFWRV9NRU1QQ1BZIDEKfCAjZGVmaW5lIEhBVkVfTUJMRU4gMQp8 ICNkZWZpbmUgSEFWRV9NQlJMRU4gMQp8ICNkZWZpbmUgSEFWRV9TWVNfVU5fSCAx CnwgI2RlZmluZSBIQVZFX1NURExJQl9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1RJ TUVfSCAxCnwgI2RlZmluZSBIQVZFX1VOSVNURF9IIDEKfCAjZGVmaW5lIEhBVkVf QUxBUk0gMQp8ICNkZWZpbmUgQlJPS0VOX01LVElNRSAxCnwgI2RlZmluZSBDX0dF VExPQURBVkcgMQp8ICNkZWZpbmUgSEFWRV9TRVRMT0NBTEUgMQp8IC8qIGVuZCBj b25mZGVmcy5oLiAgKi8KfCAjaW5jbHVkZSA8bWFjaC9tYWNoLmg+CmNvbmZpZ3Vy ZToxNjg2MjogcmVzdWx0OiBubwpjb25maWd1cmU6MTY4OTc6IGNoZWNraW5nIGZv ciBtYWNoL21hY2guaApjb25maWd1cmU6MTY5MDQ6IHJlc3VsdDogbm8KY29uZmln dXJlOjE2OTMzOiBjaGVja2luZyBubGlzdC5oIHVzYWJpbGl0eQpjb25maWd1cmU6 MTY5NDU6IGdjYyAtYyAtZyAtTzIgICAgY29uZnRlc3QuYyA+JjUKY29uZnRlc3Qu YzoxNzE6MTk6IG5saXN0Lmg6IE5vIHN1Y2ggZmlsZSBvciBkaXJlY3RvcnkKY29u ZmlndXJlOjE2OTUxOiAkPyA9IDEKY29uZmlndXJlOiBmYWlsZWQgcHJvZ3JhbSB3 YXM6CnwgLyogY29uZmRlZnMuaC4gICovCnwgCnwgI2RlZmluZSBQQUNLQUdFX05B TUUgIiIKfCAjZGVmaW5lIFBBQ0tBR0VfVEFSTkFNRSAiIgp8ICNkZWZpbmUgUEFD S0FHRV9WRVJTSU9OICIiCnwgI2RlZmluZSBQQUNLQUdFX1NUUklORyAiIgp8ICNk ZWZpbmUgUEFDS0FHRV9CVUdSRVBPUlQgIiIKfCAjZGVmaW5lIE1BSUxfVVNFX1BP UCAxCnwgI2RlZmluZSBfR05VX1NPVVJDRSAxCnwgI2RlZmluZSBTVERDX0hFQURF UlMgMQp8ICNkZWZpbmUgSEFWRV9TWVNfVFlQRVNfSCAxCnwgI2RlZmluZSBIQVZF X1NZU19TVEFUX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERMSUJfSCAxCnwgI2RlZmlu ZSBIQVZFX1NUUklOR19IIDEKfCAjZGVmaW5lIEhBVkVfTUVNT1JZX0ggMQp8ICNk ZWZpbmUgSEFWRV9TVFJJTkdTX0ggMQp8ICNkZWZpbmUgSEFWRV9JTlRUWVBFU19I IDEKfCAjZGVmaW5lIEhBVkVfU1RESU5UX0ggMQp8ICNkZWZpbmUgSEFWRV9VTklT VERfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19TT1VORENBUkRfSCAxCnwgI2RlZmlu ZSBIQVZFX1NZU19TRUxFQ1RfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19USU1FQl9I IDEKfCAjZGVmaW5lIEhBVkVfU1lTX1RJTUVfSCAxCnwgI2RlZmluZSBIQVZFX1VO SVNURF9IIDEKfCAjZGVmaW5lIEhBVkVfVVRJTUVfSCAxCnwgI2RlZmluZSBIQVZF X1RFUk1JT1NfSCAxCnwgI2RlZmluZSBIQVZFX0xJTUlUU19IIDEKfCAjZGVmaW5l IEhBVkVfU1RSSU5HX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERMSUJfSCAxCnwgI2Rl ZmluZSBIQVZFX1RFUk1DQVBfSCAxCnwgI2RlZmluZSBIQVZFX0ZDTlRMX0ggMQp8 ICNkZWZpbmUgSEFWRV9TVFJJTkdTX0ggMQp8ICNkZWZpbmUgSEFWRV9QVFlfSCAx CnwgI2RlZmluZSBIQVZFX1NZU19NTUFOX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNf UEFSQU1fSCAxCnwgI2RlZmluZSBIQVZFX1NZU19SRVNPVVJDRV9IIDEKfCAjZGVm aW5lIEhBVkVfTE9DQUxFX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfVVRTTkFNRV9I IDEKfCAjZGVmaW5lIEhBVkVfUFdEX0ggMQp8ICNkZWZpbmUgU1REQ19IRUFERVJT IDEKfCAjZGVmaW5lIFRJTUVfV0lUSF9TWVNfVElNRSAxCnwgI2RlZmluZSBIQVZF X0RFQ0xfU1lTX1NJR0xJU1QgMAp8ICNkZWZpbmUgSEFWRV9ERUNMX19fU1lTX1NJ R0xJU1QgMAp8ICNkZWZpbmUgSEFWRV9TWVNfV0FJVF9IIDEKfCAjZGVmaW5lIEhB VkVfU1RSVUNUX1VUSU1CVUYgMQp8ICNkZWZpbmUgUkVUU0lHVFlQRSB2b2lkCnwg I2RlZmluZSBIQVZFX1NQRUVEX1QgMQp8ICNkZWZpbmUgSEFWRV9USU1FVkFMIDEK fCAjZGVmaW5lIEhBVkVfU1lTX1NPQ0tFVF9IIDEKfCAjZGVmaW5lIEhBVkVfTkVU X0lGX0ggMQp8ICNkZWZpbmUgSEFWRV9UWk5BTUUgMQp8ICNkZWZpbmUgSEFWRV9T VFJVQ1RfSUZSRVFfSUZSX0ZMQUdTIDEKfCAjZGVmaW5lIEhBVkVfU1RSVUNUX0lG UkVRX0lGUl9IV0FERFIgMQp8ICNkZWZpbmUgSEFWRV9TVFJVQ1RfSUZSRVFfSUZS X05FVE1BU0sgMQp8ICNkZWZpbmUgSEFWRV9TVFJVQ1RfSUZSRVFfSUZSX0JST0FE QUREUiAxCnwgI2RlZmluZSBIQVZFX1NUUlVDVF9JRlJFUV9JRlJfQUREUiAxCnwg I2RlZmluZSBQUk9UT1RZUEVTIDEKfCAjZGVmaW5lIF9fUFJPVE9UWVBFUyAxCnwg I2RlZmluZSBQT0lOVEVSX1RZUEUgdm9pZAp8ICNkZWZpbmUgSEFWRV9MT05HX0ZJ TEVfTkFNRVMgMQp8ICNkZWZpbmUgSEFWRV9TVERMSUJfSCAxCnwgI2RlZmluZSBI QVZFX1VOSVNURF9IIDEKfCAjZGVmaW5lIEhBVkVfR0VUUEFHRVNJWkUgMQp8ICNk ZWZpbmUgVVNFX1hJTSAxCnwgI2RlZmluZSBIQVZFX0hfRVJSTk8gMQp8ICNkZWZp bmUgSEFWRV9BTExPQ0FfSCAxCnwgI2RlZmluZSBIQVZFX0FMTE9DQSAxCnwgI2Rl ZmluZSBIQVZFX0xJQk0gMQp8ICNkZWZpbmUgSEFWRV9HRVRIT1NUTkFNRSAxCnwg I2RlZmluZSBIQVZFX0dFVERPTUFJTk5BTUUgMQp8ICNkZWZpbmUgSEFWRV9EVVAy IDEKfCAjZGVmaW5lIEhBVkVfUkVOQU1FIDEKfCAjZGVmaW5lIEhBVkVfQ0xPU0VE SVIgMQp8ICNkZWZpbmUgSEFWRV9NS0RJUiAxCnwgI2RlZmluZSBIQVZFX1JNRElS IDEKfCAjZGVmaW5lIEhBVkVfR0VUUlVTQUdFIDEKfCAjZGVmaW5lIEhBVkVfUkFO RE9NIDEKfCAjZGVmaW5lIEhBVkVfTFJBTkQ0OCAxCnwgI2RlZmluZSBIQVZFX0JD T1BZIDEKfCAjZGVmaW5lIEhBVkVfQkNNUCAxCnwgI2RlZmluZSBIQVZFX0xPR0Ig MQp8ICNkZWZpbmUgSEFWRV9GUkVYUCAxCnwgI2RlZmluZSBIQVZFX0ZNT0QgMQp8 ICNkZWZpbmUgSEFWRV9SSU5UIDEKfCAjZGVmaW5lIEhBVkVfQ0JSVCAxCnwgI2Rl ZmluZSBIQVZFX0ZUSU1FIDEKfCAjZGVmaW5lIEhBVkVfU0VUU0lEIDEKfCAjZGVm aW5lIEhBVkVfU1RSRVJST1IgMQp8ICNkZWZpbmUgSEFWRV9GUEFUSENPTkYgMQp8 ICNkZWZpbmUgSEFWRV9TRUxFQ1QgMQp8ICNkZWZpbmUgSEFWRV9NS1RJTUUgMQp8 ICNkZWZpbmUgSEFWRV9HRVRQQUdFU0laRSAxCnwgI2RlZmluZSBIQVZFX1RaU0VU IDEKfCAjZGVmaW5lIEhBVkVfU0VUTE9DQUxFIDEKfCAjZGVmaW5lIEhBVkVfVVRJ TUVTIDEKfCAjZGVmaW5lIEhBVkVfU0VUUkxJTUlUIDEKfCAjZGVmaW5lIEhBVkVf U0VUUEdJRCAxCnwgI2RlZmluZSBIQVZFX0dFVENXRCAxCnwgI2RlZmluZSBIQVZF X0dFVFdEIDEKfCAjZGVmaW5lIEhBVkVfU0hVVERPV04gMQp8ICNkZWZpbmUgSEFW RV9NQkxFTiAxCnwgI2RlZmluZSBIQVZFX01CUkxFTiAxCnwgI2RlZmluZSBIQVZF X01CU0lOSVQgMQp8ICNkZWZpbmUgSEFWRV9TVFJTSUdOQUwgMQp8ICNkZWZpbmUg SEFWRV9TRVRJVElNRVIgMQp8ICNkZWZpbmUgSEFWRV9VQUxBUk0gMQp8ICNkZWZp bmUgSEFWRV9JTkRFWCAxCnwgI2RlZmluZSBIQVZFX1JJTkRFWCAxCnwgI2RlZmlu ZSBIQVZFX1NFTkRUTyAxCnwgI2RlZmluZSBIQVZFX1JFQ1ZGUk9NIDEKfCAjZGVm aW5lIEhBVkVfR0VUU09DS09QVCAxCnwgI2RlZmluZSBIQVZFX1NFVFNPQ0tPUFQg MQp8ICNkZWZpbmUgSEFWRV9HRVRTT0NLTkFNRSAxCnwgI2RlZmluZSBIQVZFX0dF VFBFRVJOQU1FIDEKfCAjZGVmaW5lIEhBVkVfTUtTVEVNUCAxCnwgI2RlZmluZSBI QVZFX0dFVExJTkUgMQp8ICNkZWZpbmUgSEFWRV9HRVRERUxJTSAxCnwgI2RlZmlu ZSBIQVZFX01FTU1PVkUgMQp8ICNkZWZpbmUgSEFWRV9GU1lOQyAxCnwgI2RlZmlu ZSBIQVZFX0JaRVJPIDEKfCAjZGVmaW5lIEhBVkVfTUVNU0VUIDEKfCAjZGVmaW5l IEhBVkVfTUVNQ01QIDEKfCAjZGVmaW5lIEhBVkVfRElGRlRJTUUgMQp8ICNkZWZp bmUgSEFWRV9NRU1DUFkgMQp8ICNkZWZpbmUgSEFWRV9NRU1QQ1BZIDEKfCAjZGVm aW5lIEhBVkVfTUJMRU4gMQp8ICNkZWZpbmUgSEFWRV9NQlJMRU4gMQp8ICNkZWZp bmUgSEFWRV9TWVNfVU5fSCAxCnwgI2RlZmluZSBIQVZFX1NURExJQl9IIDEKfCAj ZGVmaW5lIEhBVkVfU1lTX1RJTUVfSCAxCnwgI2RlZmluZSBIQVZFX1VOSVNURF9I IDEKfCAjZGVmaW5lIEhBVkVfQUxBUk0gMQp8ICNkZWZpbmUgQlJPS0VOX01LVElN RSAxCnwgI2RlZmluZSBDX0dFVExPQURBVkcgMQp8ICNkZWZpbmUgSEFWRV9TRVRM T0NBTEUgMQp8IC8qIGVuZCBjb25mZGVmcy5oLiAgKi8KfCAjaW5jbHVkZSA8c3Rk aW8uaD4KfCAjaWYgSEFWRV9TWVNfVFlQRVNfSAp8ICMgaW5jbHVkZSA8c3lzL3R5 cGVzLmg+CnwgI2VuZGlmCnwgI2lmIEhBVkVfU1lTX1NUQVRfSAp8ICMgaW5jbHVk ZSA8c3lzL3N0YXQuaD4KfCAjZW5kaWYKfCAjaWYgU1REQ19IRUFERVJTCnwgIyBp bmNsdWRlIDxzdGRsaWIuaD4KfCAjIGluY2x1ZGUgPHN0ZGRlZi5oPgp8ICNlbHNl CnwgIyBpZiBIQVZFX1NURExJQl9ICnwgIyAgaW5jbHVkZSA8c3RkbGliLmg+Cnwg IyBlbmRpZgp8ICNlbmRpZgp8ICNpZiBIQVZFX1NUUklOR19ICnwgIyBpZiAhU1RE Q19IRUFERVJTICYmIEhBVkVfTUVNT1JZX0gKfCAjICBpbmNsdWRlIDxtZW1vcnku aD4KfCAjIGVuZGlmCnwgIyBpbmNsdWRlIDxzdHJpbmcuaD4KfCAjZW5kaWYKfCAj aWYgSEFWRV9TVFJJTkdTX0gKfCAjIGluY2x1ZGUgPHN0cmluZ3MuaD4KfCAjZW5k aWYKfCAjaWYgSEFWRV9JTlRUWVBFU19ICnwgIyBpbmNsdWRlIDxpbnR0eXBlcy5o Pgp8ICNlbHNlCnwgIyBpZiBIQVZFX1NURElOVF9ICnwgIyAgaW5jbHVkZSA8c3Rk aW50Lmg+CnwgIyBlbmRpZgp8ICNlbmRpZgp8ICNpZiBIQVZFX1VOSVNURF9ICnwg IyBpbmNsdWRlIDx1bmlzdGQuaD4KfCAjZW5kaWYKfCAjaW5jbHVkZSA8bmxpc3Qu aD4KY29uZmlndXJlOjE2OTc0OiByZXN1bHQ6IG5vCmNvbmZpZ3VyZToxNjk3ODog Y2hlY2tpbmcgbmxpc3QuaCBwcmVzZW5jZQpjb25maWd1cmU6MTY5ODg6IGdjYyAt RSAgICBjb25mdGVzdC5jCmNvbmZ0ZXN0LmM6MTM3OjE5OiBubGlzdC5oOiBObyBz dWNoIGZpbGUgb3IgZGlyZWN0b3J5CmNvbmZpZ3VyZToxNjk5NDogJD8gPSAxCmNv bmZpZ3VyZTogZmFpbGVkIHByb2dyYW0gd2FzOgp8IC8qIGNvbmZkZWZzLmguICAq Lwp8IAp8ICNkZWZpbmUgUEFDS0FHRV9OQU1FICIiCnwgI2RlZmluZSBQQUNLQUdF X1RBUk5BTUUgIiIKfCAjZGVmaW5lIFBBQ0tBR0VfVkVSU0lPTiAiIgp8ICNkZWZp bmUgUEFDS0FHRV9TVFJJTkcgIiIKfCAjZGVmaW5lIFBBQ0tBR0VfQlVHUkVQT1JU ICIiCnwgI2RlZmluZSBNQUlMX1VTRV9QT1AgMQp8ICNkZWZpbmUgX0dOVV9TT1VS Q0UgMQp8ICNkZWZpbmUgU1REQ19IRUFERVJTIDEKfCAjZGVmaW5lIEhBVkVfU1lT X1RZUEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfU1RBVF9IIDEKfCAjZGVmaW5l IEhBVkVfU1RETElCX0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJJTkdfSCAxCnwgI2Rl ZmluZSBIQVZFX01FTU9SWV9IIDEKfCAjZGVmaW5lIEhBVkVfU1RSSU5HU19IIDEK fCAjZGVmaW5lIEhBVkVfSU5UVFlQRVNfSCAxCnwgI2RlZmluZSBIQVZFX1NURElO VF9IIDEKfCAjZGVmaW5lIEhBVkVfVU5JU1REX0ggMQp8ICNkZWZpbmUgSEFWRV9T WVNfU09VTkRDQVJEX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfU0VMRUNUX0ggMQp8 ICNkZWZpbmUgSEFWRV9TWVNfVElNRUJfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19U SU1FX0ggMQp8ICNkZWZpbmUgSEFWRV9VTklTVERfSCAxCnwgI2RlZmluZSBIQVZF X1VUSU1FX0ggMQp8ICNkZWZpbmUgSEFWRV9URVJNSU9TX0ggMQp8ICNkZWZpbmUg SEFWRV9MSU1JVFNfSCAxCnwgI2RlZmluZSBIQVZFX1NUUklOR19IIDEKfCAjZGVm aW5lIEhBVkVfU1RETElCX0ggMQp8ICNkZWZpbmUgSEFWRV9URVJNQ0FQX0ggMQp8 ICNkZWZpbmUgSEFWRV9GQ05UTF9IIDEKfCAjZGVmaW5lIEhBVkVfU1RSSU5HU19I IDEKfCAjZGVmaW5lIEhBVkVfUFRZX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfTU1B Tl9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1BBUkFNX0ggMQp8ICNkZWZpbmUgSEFW RV9TWVNfUkVTT1VSQ0VfSCAxCnwgI2RlZmluZSBIQVZFX0xPQ0FMRV9IIDEKfCAj ZGVmaW5lIEhBVkVfU1lTX1VUU05BTUVfSCAxCnwgI2RlZmluZSBIQVZFX1BXRF9I IDEKfCAjZGVmaW5lIFNURENfSEVBREVSUyAxCnwgI2RlZmluZSBUSU1FX1dJVEhf U1lTX1RJTUUgMQp8ICNkZWZpbmUgSEFWRV9ERUNMX1NZU19TSUdMSVNUIDAKfCAj ZGVmaW5lIEhBVkVfREVDTF9fX1NZU19TSUdMSVNUIDAKfCAjZGVmaW5lIEhBVkVf U1lTX1dBSVRfSCAxCnwgI2RlZmluZSBIQVZFX1NUUlVDVF9VVElNQlVGIDEKfCAj ZGVmaW5lIFJFVFNJR1RZUEUgdm9pZAp8ICNkZWZpbmUgSEFWRV9TUEVFRF9UIDEK fCAjZGVmaW5lIEhBVkVfVElNRVZBTCAxCnwgI2RlZmluZSBIQVZFX1NZU19TT0NL RVRfSCAxCnwgI2RlZmluZSBIQVZFX05FVF9JRl9IIDEKfCAjZGVmaW5lIEhBVkVf VFpOQU1FIDEKfCAjZGVmaW5lIEhBVkVfU1RSVUNUX0lGUkVRX0lGUl9GTEFHUyAx CnwgI2RlZmluZSBIQVZFX1NUUlVDVF9JRlJFUV9JRlJfSFdBRERSIDEKfCAjZGVm aW5lIEhBVkVfU1RSVUNUX0lGUkVRX0lGUl9ORVRNQVNLIDEKfCAjZGVmaW5lIEhB VkVfU1RSVUNUX0lGUkVRX0lGUl9CUk9BREFERFIgMQp8ICNkZWZpbmUgSEFWRV9T VFJVQ1RfSUZSRVFfSUZSX0FERFIgMQp8ICNkZWZpbmUgUFJPVE9UWVBFUyAxCnwg I2RlZmluZSBfX1BST1RPVFlQRVMgMQp8ICNkZWZpbmUgUE9JTlRFUl9UWVBFIHZv aWQKfCAjZGVmaW5lIEhBVkVfTE9OR19GSUxFX05BTUVTIDEKfCAjZGVmaW5lIEhB VkVfU1RETElCX0ggMQp8ICNkZWZpbmUgSEFWRV9VTklTVERfSCAxCnwgI2RlZmlu ZSBIQVZFX0dFVFBBR0VTSVpFIDEKfCAjZGVmaW5lIFVTRV9YSU0gMQp8ICNkZWZp bmUgSEFWRV9IX0VSUk5PIDEKfCAjZGVmaW5lIEhBVkVfQUxMT0NBX0ggMQp8ICNk ZWZpbmUgSEFWRV9BTExPQ0EgMQp8ICNkZWZpbmUgSEFWRV9MSUJNIDEKfCAjZGVm aW5lIEhBVkVfR0VUSE9TVE5BTUUgMQp8ICNkZWZpbmUgSEFWRV9HRVRET01BSU5O QU1FIDEKfCAjZGVmaW5lIEhBVkVfRFVQMiAxCnwgI2RlZmluZSBIQVZFX1JFTkFN RSAxCnwgI2RlZmluZSBIQVZFX0NMT1NFRElSIDEKfCAjZGVmaW5lIEhBVkVfTUtE SVIgMQp8ICNkZWZpbmUgSEFWRV9STURJUiAxCnwgI2RlZmluZSBIQVZFX0dFVFJV U0FHRSAxCnwgI2RlZmluZSBIQVZFX1JBTkRPTSAxCnwgI2RlZmluZSBIQVZFX0xS QU5ENDggMQp8ICNkZWZpbmUgSEFWRV9CQ09QWSAxCnwgI2RlZmluZSBIQVZFX0JD TVAgMQp8ICNkZWZpbmUgSEFWRV9MT0dCIDEKfCAjZGVmaW5lIEhBVkVfRlJFWFAg MQp8ICNkZWZpbmUgSEFWRV9GTU9EIDEKfCAjZGVmaW5lIEhBVkVfUklOVCAxCnwg I2RlZmluZSBIQVZFX0NCUlQgMQp8ICNkZWZpbmUgSEFWRV9GVElNRSAxCnwgI2Rl ZmluZSBIQVZFX1NFVFNJRCAxCnwgI2RlZmluZSBIQVZFX1NUUkVSUk9SIDEKfCAj ZGVmaW5lIEhBVkVfRlBBVEhDT05GIDEKfCAjZGVmaW5lIEhBVkVfU0VMRUNUIDEK fCAjZGVmaW5lIEhBVkVfTUtUSU1FIDEKfCAjZGVmaW5lIEhBVkVfR0VUUEFHRVNJ WkUgMQp8ICNkZWZpbmUgSEFWRV9UWlNFVCAxCnwgI2RlZmluZSBIQVZFX1NFVExP Q0FMRSAxCnwgI2RlZmluZSBIQVZFX1VUSU1FUyAxCnwgI2RlZmluZSBIQVZFX1NF VFJMSU1JVCAxCnwgI2RlZmluZSBIQVZFX1NFVFBHSUQgMQp8ICNkZWZpbmUgSEFW RV9HRVRDV0QgMQp8ICNkZWZpbmUgSEFWRV9HRVRXRCAxCnwgI2RlZmluZSBIQVZF X1NIVVRET1dOIDEKfCAjZGVmaW5lIEhBVkVfTUJMRU4gMQp8ICNkZWZpbmUgSEFW RV9NQlJMRU4gMQp8ICNkZWZpbmUgSEFWRV9NQlNJTklUIDEKfCAjZGVmaW5lIEhB VkVfU1RSU0lHTkFMIDEKfCAjZGVmaW5lIEhBVkVfU0VUSVRJTUVSIDEKfCAjZGVm aW5lIEhBVkVfVUFMQVJNIDEKfCAjZGVmaW5lIEhBVkVfSU5ERVggMQp8ICNkZWZp bmUgSEFWRV9SSU5ERVggMQp8ICNkZWZpbmUgSEFWRV9TRU5EVE8gMQp8ICNkZWZp bmUgSEFWRV9SRUNWRlJPTSAxCnwgI2RlZmluZSBIQVZFX0dFVFNPQ0tPUFQgMQp8 ICNkZWZpbmUgSEFWRV9TRVRTT0NLT1BUIDEKfCAjZGVmaW5lIEhBVkVfR0VUU09D S05BTUUgMQp8ICNkZWZpbmUgSEFWRV9HRVRQRUVSTkFNRSAxCnwgI2RlZmluZSBI QVZFX01LU1RFTVAgMQp8ICNkZWZpbmUgSEFWRV9HRVRMSU5FIDEKfCAjZGVmaW5l IEhBVkVfR0VUREVMSU0gMQp8ICNkZWZpbmUgSEFWRV9NRU1NT1ZFIDEKfCAjZGVm aW5lIEhBVkVfRlNZTkMgMQp8ICNkZWZpbmUgSEFWRV9CWkVSTyAxCnwgI2RlZmlu ZSBIQVZFX01FTVNFVCAxCnwgI2RlZmluZSBIQVZFX01FTUNNUCAxCnwgI2RlZmlu ZSBIQVZFX0RJRkZUSU1FIDEKfCAjZGVmaW5lIEhBVkVfTUVNQ1BZIDEKfCAjZGVm aW5lIEhBVkVfTUVNUENQWSAxCnwgI2RlZmluZSBIQVZFX01CTEVOIDEKfCAjZGVm aW5lIEhBVkVfTUJSTEVOIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1VOX0ggMQp8ICNk ZWZpbmUgSEFWRV9TVERMSUJfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19USU1FX0gg MQp8ICNkZWZpbmUgSEFWRV9VTklTVERfSCAxCnwgI2RlZmluZSBIQVZFX0FMQVJN IDEKfCAjZGVmaW5lIEJST0tFTl9NS1RJTUUgMQp8ICNkZWZpbmUgQ19HRVRMT0FE QVZHIDEKfCAjZGVmaW5lIEhBVkVfU0VUTE9DQUxFIDEKfCAvKiBlbmQgY29uZmRl ZnMuaC4gICovCnwgI2luY2x1ZGUgPG5saXN0Lmg+CmNvbmZpZ3VyZToxNzAxNDog cmVzdWx0OiBubwpjb25maWd1cmU6MTcwNDk6IGNoZWNraW5nIGZvciBubGlzdC5o CmNvbmZpZ3VyZToxNzA1NjogcmVzdWx0OiBubwpjb25maWd1cmU6MTcxOTA6IGNo ZWNraW5nIHdoZXRoZXIgZ2V0bG9hZGF2ZyByZXF1aXJlcyBzZXRnaWQKY29uZmln dXJlOjE3MjE1OiByZXN1bHQ6IG5vCmNvbmZpZ3VyZToxNzI1NzogY2hlY2tpbmcg Zm9yIF9MQVJHRUZJTEVfU09VUkNFIHZhbHVlIG5lZWRlZCBmb3IgbGFyZ2UgZmls ZXMKY29uZmlndXJlOjE3MjgwOiBnY2MgLWMgLWcgLU8yICAgIGNvbmZ0ZXN0LmMg PiY1CmNvbmZpZ3VyZToxNzI4NjogJD8gPSAwCmNvbmZpZ3VyZToxNzI5MDogdGVz dCAteiAKCQkJIHx8IHRlc3QgISAtcyBjb25mdGVzdC5lcnIKY29uZmlndXJlOjE3 MjkzOiAkPyA9IDAKY29uZmlndXJlOjE3Mjk2OiB0ZXN0IC1zIGNvbmZ0ZXN0Lm8K Y29uZmlndXJlOjE3Mjk5OiAkPyA9IDAKY29uZmlndXJlOjE3MzU2OiByZXN1bHQ6 IG5vCmNvbmZpZ3VyZToxNzM3MDogY2hlY2tpbmcgZm9yIGZzZWVrbwpjb25maWd1 cmU6MTczOTE6IGdjYyAtbyBjb25mdGVzdC5leGUgLWcgLU8yICAgICBjb25mdGVz dC5jIC1sbSAgID4mNSAgCmNvbmZpZ3VyZToxNzM5NzogJD8gPSAwCmNvbmZpZ3Vy ZToxNzQwMTogdGVzdCAteiAKCQkJIHx8IHRlc3QgISAtcyBjb25mdGVzdC5lcnIK Y29uZmlndXJlOjE3NDA0OiAkPyA9IDAKY29uZmlndXJlOjE3NDA3OiB0ZXN0IC1z IGNvbmZ0ZXN0LmV4ZQpjb25maWd1cmU6MTc0MTA6ICQ/ID0gMApjb25maWd1cmU6 MTc0MjI6IHJlc3VsdDogeWVzCmNvbmZpZ3VyZToxNzQ3MDogY2hlY2tpbmcgZ2V0 b3B0LmggdXNhYmlsaXR5CmNvbmZpZ3VyZToxNzQ4MjogZ2NjIC1jIC1nIC1PMiAg ICBjb25mdGVzdC5jID4mNQpjb25maWd1cmU6MTc0ODg6ICQ/ID0gMApjb25maWd1 cmU6MTc0OTI6IHRlc3QgLXogCgkJCSB8fCB0ZXN0ICEgLXMgY29uZnRlc3QuZXJy CmNvbmZpZ3VyZToxNzQ5NTogJD8gPSAwCmNvbmZpZ3VyZToxNzQ5ODogdGVzdCAt cyBjb25mdGVzdC5vCmNvbmZpZ3VyZToxNzUwMTogJD8gPSAwCmNvbmZpZ3VyZTox NzUxMTogcmVzdWx0OiB5ZXMKY29uZmlndXJlOjE3NTE1OiBjaGVja2luZyBnZXRv cHQuaCBwcmVzZW5jZQpjb25maWd1cmU6MTc1MjU6IGdjYyAtRSAgICBjb25mdGVz dC5jCmNvbmZpZ3VyZToxNzUzMTogJD8gPSAwCmNvbmZpZ3VyZToxNzU1MTogcmVz dWx0OiB5ZXMKY29uZmlndXJlOjE3NTg2OiBjaGVja2luZyBmb3IgZ2V0b3B0LmgK Y29uZmlndXJlOjE3NTkzOiByZXN1bHQ6IHllcwpjb25maWd1cmU6MTc2MTM6IGNo ZWNraW5nIGZvciBnZXRvcHRfbG9uZ19vbmx5CmNvbmZpZ3VyZToxNzY3MDogZ2Nj IC1vIGNvbmZ0ZXN0LmV4ZSAtZyAtTzIgICAgIGNvbmZ0ZXN0LmMgLWxtICAgPiY1 ICAKY29uZmlndXJlOjE3Njc2OiAkPyA9IDAKY29uZmlndXJlOjE3NjgwOiB0ZXN0 IC16IAoJCQkgfHwgdGVzdCAhIC1zIGNvbmZ0ZXN0LmVycgpjb25maWd1cmU6MTc2 ODM6ICQ/ID0gMApjb25maWd1cmU6MTc2ODY6IHRlc3QgLXMgY29uZnRlc3QuZXhl CmNvbmZpZ3VyZToxNzY4OTogJD8gPSAwCmNvbmZpZ3VyZToxNzcwMTogcmVzdWx0 OiB5ZXMKY29uZmlndXJlOjE3NzE2OiBjaGVja2luZyB3aGV0aGVyIG9wdHJlc2V0 IGlzIGRlY2xhcmVkCmNvbmZpZ3VyZToxNzc0MTogZ2NjIC1jIC1nIC1PMiAgICBj b25mdGVzdC5jID4mNQpjb25maWd1cmU6MTc3NDc6ICQ/ID0gMApjb25maWd1cmU6 MTc3NTE6IHRlc3QgLXogCgkJCSB8fCB0ZXN0ICEgLXMgY29uZnRlc3QuZXJyCmNv bmZpZ3VyZToxNzc1NDogJD8gPSAwCmNvbmZpZ3VyZToxNzc1NzogdGVzdCAtcyBj b25mdGVzdC5vCmNvbmZpZ3VyZToxNzc2MDogJD8gPSAwCmNvbmZpZ3VyZToxNzc3 MTogcmVzdWx0OiB5ZXMKY29uZmlndXJlOjE3OTIyOiBjaGVja2luZyB3aGV0aGVy IGdldHBncnAgcmVxdWlyZXMgemVybyBhcmd1bWVudHMKY29uZmlndXJlOjE3OTQ0 OiBnY2MgLWMgLWcgLU8yICAgIGNvbmZ0ZXN0LmMgPiY1CmNvbmZ0ZXN0LmM6IElu IGZ1bmN0aW9uIGBtYWluJzoKY29uZnRlc3QuYzoxNzg6IGVycm9yOiB0b28gbWFu eSBhcmd1bWVudHMgdG8gZnVuY3Rpb24gYGdldHBncnAnCmNvbmZpZ3VyZToxNzk1 MDogJD8gPSAxCmNvbmZpZ3VyZTogZmFpbGVkIHByb2dyYW0gd2FzOgp8IC8qIGNv bmZkZWZzLmguICAqLwp8IAp8ICNkZWZpbmUgUEFDS0FHRV9OQU1FICIiCnwgI2Rl ZmluZSBQQUNLQUdFX1RBUk5BTUUgIiIKfCAjZGVmaW5lIFBBQ0tBR0VfVkVSU0lP TiAiIgp8ICNkZWZpbmUgUEFDS0FHRV9TVFJJTkcgIiIKfCAjZGVmaW5lIFBBQ0tB R0VfQlVHUkVQT1JUICIiCnwgI2RlZmluZSBNQUlMX1VTRV9QT1AgMQp8ICNkZWZp bmUgX0dOVV9TT1VSQ0UgMQp8ICNkZWZpbmUgU1REQ19IRUFERVJTIDEKfCAjZGVm aW5lIEhBVkVfU1lTX1RZUEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfU1RBVF9I IDEKfCAjZGVmaW5lIEhBVkVfU1RETElCX0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJJ TkdfSCAxCnwgI2RlZmluZSBIQVZFX01FTU9SWV9IIDEKfCAjZGVmaW5lIEhBVkVf U1RSSU5HU19IIDEKfCAjZGVmaW5lIEhBVkVfSU5UVFlQRVNfSCAxCnwgI2RlZmlu ZSBIQVZFX1NURElOVF9IIDEKfCAjZGVmaW5lIEhBVkVfVU5JU1REX0ggMQp8ICNk ZWZpbmUgSEFWRV9TWVNfU09VTkRDQVJEX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNf U0VMRUNUX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfVElNRUJfSCAxCnwgI2RlZmlu ZSBIQVZFX1NZU19USU1FX0ggMQp8ICNkZWZpbmUgSEFWRV9VTklTVERfSCAxCnwg I2RlZmluZSBIQVZFX1VUSU1FX0ggMQp8ICNkZWZpbmUgSEFWRV9URVJNSU9TX0gg MQp8ICNkZWZpbmUgSEFWRV9MSU1JVFNfSCAxCnwgI2RlZmluZSBIQVZFX1NUUklO R19IIDEKfCAjZGVmaW5lIEhBVkVfU1RETElCX0ggMQp8ICNkZWZpbmUgSEFWRV9U RVJNQ0FQX0ggMQp8ICNkZWZpbmUgSEFWRV9GQ05UTF9IIDEKfCAjZGVmaW5lIEhB VkVfU1RSSU5HU19IIDEKfCAjZGVmaW5lIEhBVkVfUFRZX0ggMQp8ICNkZWZpbmUg SEFWRV9TWVNfTU1BTl9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1BBUkFNX0ggMQp8 ICNkZWZpbmUgSEFWRV9TWVNfUkVTT1VSQ0VfSCAxCnwgI2RlZmluZSBIQVZFX0xP Q0FMRV9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1VUU05BTUVfSCAxCnwgI2RlZmlu ZSBIQVZFX1BXRF9IIDEKfCAjZGVmaW5lIFNURENfSEVBREVSUyAxCnwgI2RlZmlu ZSBUSU1FX1dJVEhfU1lTX1RJTUUgMQp8ICNkZWZpbmUgSEFWRV9ERUNMX1NZU19T SUdMSVNUIDAKfCAjZGVmaW5lIEhBVkVfREVDTF9fX1NZU19TSUdMSVNUIDAKfCAj ZGVmaW5lIEhBVkVfU1lTX1dBSVRfSCAxCnwgI2RlZmluZSBIQVZFX1NUUlVDVF9V VElNQlVGIDEKfCAjZGVmaW5lIFJFVFNJR1RZUEUgdm9pZAp8ICNkZWZpbmUgSEFW RV9TUEVFRF9UIDEKfCAjZGVmaW5lIEhBVkVfVElNRVZBTCAxCnwgI2RlZmluZSBI QVZFX1NZU19TT0NLRVRfSCAxCnwgI2RlZmluZSBIQVZFX05FVF9JRl9IIDEKfCAj ZGVmaW5lIEhBVkVfVFpOQU1FIDEKfCAjZGVmaW5lIEhBVkVfU1RSVUNUX0lGUkVR X0lGUl9GTEFHUyAxCnwgI2RlZmluZSBIQVZFX1NUUlVDVF9JRlJFUV9JRlJfSFdB RERSIDEKfCAjZGVmaW5lIEhBVkVfU1RSVUNUX0lGUkVRX0lGUl9ORVRNQVNLIDEK fCAjZGVmaW5lIEhBVkVfU1RSVUNUX0lGUkVRX0lGUl9CUk9BREFERFIgMQp8ICNk ZWZpbmUgSEFWRV9TVFJVQ1RfSUZSRVFfSUZSX0FERFIgMQp8ICNkZWZpbmUgUFJP VE9UWVBFUyAxCnwgI2RlZmluZSBfX1BST1RPVFlQRVMgMQp8ICNkZWZpbmUgUE9J TlRFUl9UWVBFIHZvaWQKfCAjZGVmaW5lIEhBVkVfTE9OR19GSUxFX05BTUVTIDEK fCAjZGVmaW5lIEhBVkVfU1RETElCX0ggMQp8ICNkZWZpbmUgSEFWRV9VTklTVERf SCAxCnwgI2RlZmluZSBIQVZFX0dFVFBBR0VTSVpFIDEKfCAjZGVmaW5lIFVTRV9Y SU0gMQp8ICNkZWZpbmUgSEFWRV9IX0VSUk5PIDEKfCAjZGVmaW5lIEhBVkVfQUxM T0NBX0ggMQp8ICNkZWZpbmUgSEFWRV9BTExPQ0EgMQp8ICNkZWZpbmUgSEFWRV9M SUJNIDEKfCAjZGVmaW5lIEhBVkVfR0VUSE9TVE5BTUUgMQp8ICNkZWZpbmUgSEFW RV9HRVRET01BSU5OQU1FIDEKfCAjZGVmaW5lIEhBVkVfRFVQMiAxCnwgI2RlZmlu ZSBIQVZFX1JFTkFNRSAxCnwgI2RlZmluZSBIQVZFX0NMT1NFRElSIDEKfCAjZGVm aW5lIEhBVkVfTUtESVIgMQp8ICNkZWZpbmUgSEFWRV9STURJUiAxCnwgI2RlZmlu ZSBIQVZFX0dFVFJVU0FHRSAxCnwgI2RlZmluZSBIQVZFX1JBTkRPTSAxCnwgI2Rl ZmluZSBIQVZFX0xSQU5ENDggMQp8ICNkZWZpbmUgSEFWRV9CQ09QWSAxCnwgI2Rl ZmluZSBIQVZFX0JDTVAgMQp8ICNkZWZpbmUgSEFWRV9MT0dCIDEKfCAjZGVmaW5l IEhBVkVfRlJFWFAgMQp8ICNkZWZpbmUgSEFWRV9GTU9EIDEKfCAjZGVmaW5lIEhB VkVfUklOVCAxCnwgI2RlZmluZSBIQVZFX0NCUlQgMQp8ICNkZWZpbmUgSEFWRV9G VElNRSAxCnwgI2RlZmluZSBIQVZFX1NFVFNJRCAxCnwgI2RlZmluZSBIQVZFX1NU UkVSUk9SIDEKfCAjZGVmaW5lIEhBVkVfRlBBVEhDT05GIDEKfCAjZGVmaW5lIEhB VkVfU0VMRUNUIDEKfCAjZGVmaW5lIEhBVkVfTUtUSU1FIDEKfCAjZGVmaW5lIEhB VkVfR0VUUEFHRVNJWkUgMQp8ICNkZWZpbmUgSEFWRV9UWlNFVCAxCnwgI2RlZmlu ZSBIQVZFX1NFVExPQ0FMRSAxCnwgI2RlZmluZSBIQVZFX1VUSU1FUyAxCnwgI2Rl ZmluZSBIQVZFX1NFVFJMSU1JVCAxCnwgI2RlZmluZSBIQVZFX1NFVFBHSUQgMQp8 ICNkZWZpbmUgSEFWRV9HRVRDV0QgMQp8ICNkZWZpbmUgSEFWRV9HRVRXRCAxCnwg I2RlZmluZSBIQVZFX1NIVVRET1dOIDEKfCAjZGVmaW5lIEhBVkVfTUJMRU4gMQp8 ICNkZWZpbmUgSEFWRV9NQlJMRU4gMQp8ICNkZWZpbmUgSEFWRV9NQlNJTklUIDEK fCAjZGVmaW5lIEhBVkVfU1RSU0lHTkFMIDEKfCAjZGVmaW5lIEhBVkVfU0VUSVRJ TUVSIDEKfCAjZGVmaW5lIEhBVkVfVUFMQVJNIDEKfCAjZGVmaW5lIEhBVkVfSU5E RVggMQp8ICNkZWZpbmUgSEFWRV9SSU5ERVggMQp8ICNkZWZpbmUgSEFWRV9TRU5E VE8gMQp8ICNkZWZpbmUgSEFWRV9SRUNWRlJPTSAxCnwgI2RlZmluZSBIQVZFX0dF VFNPQ0tPUFQgMQp8ICNkZWZpbmUgSEFWRV9TRVRTT0NLT1BUIDEKfCAjZGVmaW5l IEhBVkVfR0VUU09DS05BTUUgMQp8ICNkZWZpbmUgSEFWRV9HRVRQRUVSTkFNRSAx CnwgI2RlZmluZSBIQVZFX01LU1RFTVAgMQp8ICNkZWZpbmUgSEFWRV9HRVRMSU5F IDEKfCAjZGVmaW5lIEhBVkVfR0VUREVMSU0gMQp8ICNkZWZpbmUgSEFWRV9NRU1N T1ZFIDEKfCAjZGVmaW5lIEhBVkVfRlNZTkMgMQp8ICNkZWZpbmUgSEFWRV9CWkVS TyAxCnwgI2RlZmluZSBIQVZFX01FTVNFVCAxCnwgI2RlZmluZSBIQVZFX01FTUNN UCAxCnwgI2RlZmluZSBIQVZFX0RJRkZUSU1FIDEKfCAjZGVmaW5lIEhBVkVfTUVN Q1BZIDEKfCAjZGVmaW5lIEhBVkVfTUVNUENQWSAxCnwgI2RlZmluZSBIQVZFX01C TEVOIDEKfCAjZGVmaW5lIEhBVkVfTUJSTEVOIDEKfCAjZGVmaW5lIEhBVkVfU1lT X1VOX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERMSUJfSCAxCnwgI2RlZmluZSBIQVZF X1NZU19USU1FX0ggMQp8ICNkZWZpbmUgSEFWRV9VTklTVERfSCAxCnwgI2RlZmlu ZSBIQVZFX0FMQVJNIDEKfCAjZGVmaW5lIEJST0tFTl9NS1RJTUUgMQp8ICNkZWZp bmUgQ19HRVRMT0FEQVZHIDEKfCAjZGVmaW5lIEhBVkVfU0VUTE9DQUxFIDEKfCAj ZGVmaW5lIEhBVkVfRlNFRUtPIDEKfCAjZGVmaW5lIEhBVkVfR0VUT1BUX0ggMQp8 ICNkZWZpbmUgSEFWRV9HRVRPUFRfTE9OR19PTkxZIDEKfCAjZGVmaW5lIF9fR0VU T1BUX1BSRUZJWCBycGxfCnwgLyogZW5kIGNvbmZkZWZzLmguICAqLwp8ICNpbmNs dWRlIDxzdGRpby5oPgp8ICNpZiBIQVZFX1NZU19UWVBFU19ICnwgIyBpbmNsdWRl IDxzeXMvdHlwZXMuaD4KfCAjZW5kaWYKfCAjaWYgSEFWRV9TWVNfU1RBVF9ICnwg IyBpbmNsdWRlIDxzeXMvc3RhdC5oPgp8ICNlbmRpZgp8ICNpZiBTVERDX0hFQURF UlMKfCAjIGluY2x1ZGUgPHN0ZGxpYi5oPgp8ICMgaW5jbHVkZSA8c3RkZGVmLmg+ CnwgI2Vsc2UKfCAjIGlmIEhBVkVfU1RETElCX0gKfCAjICBpbmNsdWRlIDxzdGRs aWIuaD4KfCAjIGVuZGlmCnwgI2VuZGlmCnwgI2lmIEhBVkVfU1RSSU5HX0gKfCAj IGlmICFTVERDX0hFQURFUlMgJiYgSEFWRV9NRU1PUllfSAp8ICMgIGluY2x1ZGUg PG1lbW9yeS5oPgp8ICMgZW5kaWYKfCAjIGluY2x1ZGUgPHN0cmluZy5oPgp8ICNl bmRpZgp8ICNpZiBIQVZFX1NUUklOR1NfSAp8ICMgaW5jbHVkZSA8c3RyaW5ncy5o Pgp8ICNlbmRpZgp8ICNpZiBIQVZFX0lOVFRZUEVTX0gKfCAjIGluY2x1ZGUgPGlu dHR5cGVzLmg+CnwgI2Vsc2UKfCAjIGlmIEhBVkVfU1RESU5UX0gKfCAjICBpbmNs dWRlIDxzdGRpbnQuaD4KfCAjIGVuZGlmCnwgI2VuZGlmCnwgI2lmIEhBVkVfVU5J U1REX0gKfCAjIGluY2x1ZGUgPHVuaXN0ZC5oPgp8ICNlbmRpZgp8IGludAp8IG1h aW4gKCkKfCB7CnwgZ2V0cGdycCAoMCk7CnwgICA7CnwgICByZXR1cm4gMDsKfCB9 CmNvbmZpZ3VyZToxNzk3NTogcmVzdWx0OiB5ZXMKY29uZmlndXJlOjE3OTkwOiBj aGVja2luZyBmb3Igc3RyZnRpbWUKY29uZmlndXJlOjE4MDQ3OiBnY2MgLW8gY29u ZnRlc3QuZXhlIC1nIC1PMiAgICAgY29uZnRlc3QuYyAtbG0gICA+JjUgIApjb25m aWd1cmU6MTgwNTM6ICQ/ID0gMApjb25maWd1cmU6MTgwNTc6IHRlc3QgLXogCgkJ CSB8fCB0ZXN0ICEgLXMgY29uZnRlc3QuZXJyCmNvbmZpZ3VyZToxODA2MDogJD8g PSAwCmNvbmZpZ3VyZToxODA2MzogdGVzdCAtcyBjb25mdGVzdC5leGUKY29uZmln dXJlOjE4MDY2OiAkPyA9IDAKY29uZmlndXJlOjE4MDc4OiByZXN1bHQ6IHllcwpj b25maWd1cmU6MTgxNjg6IGNoZWNraW5nIGZvciBncmFudHB0CmNvbmZpZ3VyZTox ODIyNTogZ2NjIC1vIGNvbmZ0ZXN0LmV4ZSAtZyAtTzIgICAgIGNvbmZ0ZXN0LmMg LWxtICAgPiY1ICAKY29uZmlndXJlOjE4MjMxOiAkPyA9IDAKY29uZmlndXJlOjE4 MjM1OiB0ZXN0IC16IAoJCQkgfHwgdGVzdCAhIC1zIGNvbmZ0ZXN0LmVycgpjb25m aWd1cmU6MTgyMzg6ICQ/ID0gMApjb25maWd1cmU6MTgyNDE6IHRlc3QgLXMgY29u ZnRlc3QuZXhlCmNvbmZpZ3VyZToxODI0NDogJD8gPSAwCmNvbmZpZ3VyZToxODI1 NjogcmVzdWx0OiB5ZXMKY29uZmlndXJlOjE4MjcyOiBjaGVja2luZyBmb3IgZ2V0 cHQKY29uZmlndXJlOjE4MzI5OiBnY2MgLW8gY29uZnRlc3QuZXhlIC1nIC1PMiAg ICAgY29uZnRlc3QuYyAtbG0gICA+JjUgIAovY3lnZHJpdmUvYy9ET0NVTUV+MS93 aWxsaWFtL0xPQ0FMU34xL1RlbXAvY2NIVUl6NmkubzogSW4gZnVuY3Rpb24gYG1h aW4nOgovY3lnZHJpdmUvZC9lbWFjczIyL2NvbmZ0ZXN0LmM6MTg0OiB1bmRlZmlu ZWQgcmVmZXJlbmNlIHRvIGBfZ2V0cHQnCi9jeWdkcml2ZS9kL2VtYWNzMjIvY29u ZnRlc3QuYzoxODM6IHVuZGVmaW5lZCByZWZlcmVuY2UgdG8gYF9nZXRwdCcKY29s bGVjdDI6IGxkIHJldHVybmVkIDEgZXhpdCBzdGF0dXMKY29uZmlndXJlOjE4MzM1 OiAkPyA9IDEKY29uZmlndXJlOiBmYWlsZWQgcHJvZ3JhbSB3YXM6CnwgLyogY29u ZmRlZnMuaC4gICovCnwgCnwgI2RlZmluZSBQQUNLQUdFX05BTUUgIiIKfCAjZGVm aW5lIFBBQ0tBR0VfVEFSTkFNRSAiIgp8ICNkZWZpbmUgUEFDS0FHRV9WRVJTSU9O ICIiCnwgI2RlZmluZSBQQUNLQUdFX1NUUklORyAiIgp8ICNkZWZpbmUgUEFDS0FH RV9CVUdSRVBPUlQgIiIKfCAjZGVmaW5lIE1BSUxfVVNFX1BPUCAxCnwgI2RlZmlu ZSBfR05VX1NPVVJDRSAxCnwgI2RlZmluZSBTVERDX0hFQURFUlMgMQp8ICNkZWZp bmUgSEFWRV9TWVNfVFlQRVNfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19TVEFUX0gg MQp8ICNkZWZpbmUgSEFWRV9TVERMSUJfSCAxCnwgI2RlZmluZSBIQVZFX1NUUklO R19IIDEKfCAjZGVmaW5lIEhBVkVfTUVNT1JZX0ggMQp8ICNkZWZpbmUgSEFWRV9T VFJJTkdTX0ggMQp8ICNkZWZpbmUgSEFWRV9JTlRUWVBFU19IIDEKfCAjZGVmaW5l IEhBVkVfU1RESU5UX0ggMQp8ICNkZWZpbmUgSEFWRV9VTklTVERfSCAxCnwgI2Rl ZmluZSBIQVZFX1NZU19TT1VORENBUkRfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19T RUxFQ1RfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19USU1FQl9IIDEKfCAjZGVmaW5l IEhBVkVfU1lTX1RJTUVfSCAxCnwgI2RlZmluZSBIQVZFX1VOSVNURF9IIDEKfCAj ZGVmaW5lIEhBVkVfVVRJTUVfSCAxCnwgI2RlZmluZSBIQVZFX1RFUk1JT1NfSCAx CnwgI2RlZmluZSBIQVZFX0xJTUlUU19IIDEKfCAjZGVmaW5lIEhBVkVfU1RSSU5H X0ggMQp8ICNkZWZpbmUgSEFWRV9TVERMSUJfSCAxCnwgI2RlZmluZSBIQVZFX1RF Uk1DQVBfSCAxCnwgI2RlZmluZSBIQVZFX0ZDTlRMX0ggMQp8ICNkZWZpbmUgSEFW RV9TVFJJTkdTX0ggMQp8ICNkZWZpbmUgSEFWRV9QVFlfSCAxCnwgI2RlZmluZSBI QVZFX1NZU19NTUFOX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfUEFSQU1fSCAxCnwg I2RlZmluZSBIQVZFX1NZU19SRVNPVVJDRV9IIDEKfCAjZGVmaW5lIEhBVkVfTE9D QUxFX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfVVRTTkFNRV9IIDEKfCAjZGVmaW5l IEhBVkVfUFdEX0ggMQp8ICNkZWZpbmUgU1REQ19IRUFERVJTIDEKfCAjZGVmaW5l IFRJTUVfV0lUSF9TWVNfVElNRSAxCnwgI2RlZmluZSBIQVZFX0RFQ0xfU1lTX1NJ R0xJU1QgMAp8ICNkZWZpbmUgSEFWRV9ERUNMX19fU1lTX1NJR0xJU1QgMAp8ICNk ZWZpbmUgSEFWRV9TWVNfV0FJVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1RSVUNUX1VU SU1CVUYgMQp8ICNkZWZpbmUgUkVUU0lHVFlQRSB2b2lkCnwgI2RlZmluZSBIQVZF X1NQRUVEX1QgMQp8ICNkZWZpbmUgSEFWRV9USU1FVkFMIDEKfCAjZGVmaW5lIEhB VkVfU1lTX1NPQ0tFVF9IIDEKfCAjZGVmaW5lIEhBVkVfTkVUX0lGX0ggMQp8ICNk ZWZpbmUgSEFWRV9UWk5BTUUgMQp8ICNkZWZpbmUgSEFWRV9TVFJVQ1RfSUZSRVFf SUZSX0ZMQUdTIDEKfCAjZGVmaW5lIEhBVkVfU1RSVUNUX0lGUkVRX0lGUl9IV0FE RFIgMQp8ICNkZWZpbmUgSEFWRV9TVFJVQ1RfSUZSRVFfSUZSX05FVE1BU0sgMQp8 ICNkZWZpbmUgSEFWRV9TVFJVQ1RfSUZSRVFfSUZSX0JST0FEQUREUiAxCnwgI2Rl ZmluZSBIQVZFX1NUUlVDVF9JRlJFUV9JRlJfQUREUiAxCnwgI2RlZmluZSBQUk9U T1RZUEVTIDEKfCAjZGVmaW5lIF9fUFJPVE9UWVBFUyAxCnwgI2RlZmluZSBQT0lO VEVSX1RZUEUgdm9pZAp8ICNkZWZpbmUgSEFWRV9MT05HX0ZJTEVfTkFNRVMgMQp8 ICNkZWZpbmUgSEFWRV9TVERMSUJfSCAxCnwgI2RlZmluZSBIQVZFX1VOSVNURF9I IDEKfCAjZGVmaW5lIEhBVkVfR0VUUEFHRVNJWkUgMQp8ICNkZWZpbmUgVVNFX1hJ TSAxCnwgI2RlZmluZSBIQVZFX0hfRVJSTk8gMQp8ICNkZWZpbmUgSEFWRV9BTExP Q0FfSCAxCnwgI2RlZmluZSBIQVZFX0FMTE9DQSAxCnwgI2RlZmluZSBIQVZFX0xJ Qk0gMQp8ICNkZWZpbmUgSEFWRV9HRVRIT1NUTkFNRSAxCnwgI2RlZmluZSBIQVZF X0dFVERPTUFJTk5BTUUgMQp8ICNkZWZpbmUgSEFWRV9EVVAyIDEKfCAjZGVmaW5l IEhBVkVfUkVOQU1FIDEKfCAjZGVmaW5lIEhBVkVfQ0xPU0VESVIgMQp8ICNkZWZp bmUgSEFWRV9NS0RJUiAxCnwgI2RlZmluZSBIQVZFX1JNRElSIDEKfCAjZGVmaW5l IEhBVkVfR0VUUlVTQUdFIDEKfCAjZGVmaW5lIEhBVkVfUkFORE9NIDEKfCAjZGVm aW5lIEhBVkVfTFJBTkQ0OCAxCnwgI2RlZmluZSBIQVZFX0JDT1BZIDEKfCAjZGVm aW5lIEhBVkVfQkNNUCAxCnwgI2RlZmluZSBIQVZFX0xPR0IgMQp8ICNkZWZpbmUg SEFWRV9GUkVYUCAxCnwgI2RlZmluZSBIQVZFX0ZNT0QgMQp8ICNkZWZpbmUgSEFW RV9SSU5UIDEKfCAjZGVmaW5lIEhBVkVfQ0JSVCAxCnwgI2RlZmluZSBIQVZFX0ZU SU1FIDEKfCAjZGVmaW5lIEhBVkVfU0VUU0lEIDEKfCAjZGVmaW5lIEhBVkVfU1RS RVJST1IgMQp8ICNkZWZpbmUgSEFWRV9GUEFUSENPTkYgMQp8ICNkZWZpbmUgSEFW RV9TRUxFQ1QgMQp8ICNkZWZpbmUgSEFWRV9NS1RJTUUgMQp8ICNkZWZpbmUgSEFW RV9HRVRQQUdFU0laRSAxCnwgI2RlZmluZSBIQVZFX1RaU0VUIDEKfCAjZGVmaW5l IEhBVkVfU0VUTE9DQUxFIDEKfCAjZGVmaW5lIEhBVkVfVVRJTUVTIDEKfCAjZGVm aW5lIEhBVkVfU0VUUkxJTUlUIDEKfCAjZGVmaW5lIEhBVkVfU0VUUEdJRCAxCnwg I2RlZmluZSBIQVZFX0dFVENXRCAxCnwgI2RlZmluZSBIQVZFX0dFVFdEIDEKfCAj ZGVmaW5lIEhBVkVfU0hVVERPV04gMQp8ICNkZWZpbmUgSEFWRV9NQkxFTiAxCnwg I2RlZmluZSBIQVZFX01CUkxFTiAxCnwgI2RlZmluZSBIQVZFX01CU0lOSVQgMQp8 ICNkZWZpbmUgSEFWRV9TVFJTSUdOQUwgMQp8ICNkZWZpbmUgSEFWRV9TRVRJVElN RVIgMQp8ICNkZWZpbmUgSEFWRV9VQUxBUk0gMQp8ICNkZWZpbmUgSEFWRV9JTkRF WCAxCnwgI2RlZmluZSBIQVZFX1JJTkRFWCAxCnwgI2RlZmluZSBIQVZFX1NFTkRU TyAxCnwgI2RlZmluZSBIQVZFX1JFQ1ZGUk9NIDEKfCAjZGVmaW5lIEhBVkVfR0VU U09DS09QVCAxCnwgI2RlZmluZSBIQVZFX1NFVFNPQ0tPUFQgMQp8ICNkZWZpbmUg SEFWRV9HRVRTT0NLTkFNRSAxCnwgI2RlZmluZSBIQVZFX0dFVFBFRVJOQU1FIDEK fCAjZGVmaW5lIEhBVkVfTUtTVEVNUCAxCnwgI2RlZmluZSBIQVZFX0dFVExJTkUg MQp8ICNkZWZpbmUgSEFWRV9HRVRERUxJTSAxCnwgI2RlZmluZSBIQVZFX01FTU1P VkUgMQp8ICNkZWZpbmUgSEFWRV9GU1lOQyAxCnwgI2RlZmluZSBIQVZFX0JaRVJP IDEKfCAjZGVmaW5lIEhBVkVfTUVNU0VUIDEKfCAjZGVmaW5lIEhBVkVfTUVNQ01Q IDEKfCAjZGVmaW5lIEhBVkVfRElGRlRJTUUgMQp8ICNkZWZpbmUgSEFWRV9NRU1D UFkgMQp8ICNkZWZpbmUgSEFWRV9NRU1QQ1BZIDEKfCAjZGVmaW5lIEhBVkVfTUJM RU4gMQp8ICNkZWZpbmUgSEFWRV9NQlJMRU4gMQp8ICNkZWZpbmUgSEFWRV9TWVNf VU5fSCAxCnwgI2RlZmluZSBIQVZFX1NURExJQl9IIDEKfCAjZGVmaW5lIEhBVkVf U1lTX1RJTUVfSCAxCnwgI2RlZmluZSBIQVZFX1VOSVNURF9IIDEKfCAjZGVmaW5l IEhBVkVfQUxBUk0gMQp8ICNkZWZpbmUgQlJPS0VOX01LVElNRSAxCnwgI2RlZmlu ZSBDX0dFVExPQURBVkcgMQp8ICNkZWZpbmUgSEFWRV9TRVRMT0NBTEUgMQp8ICNk ZWZpbmUgSEFWRV9GU0VFS08gMQp8ICNkZWZpbmUgSEFWRV9HRVRPUFRfSCAxCnwg I2RlZmluZSBIQVZFX0dFVE9QVF9MT05HX09OTFkgMQp8ICNkZWZpbmUgX19HRVRP UFRfUFJFRklYIHJwbF8KfCAjZGVmaW5lIEdFVFBHUlBfVk9JRCAxCnwgI2RlZmlu ZSBIQVZFX1NUUkZUSU1FIDEKfCAjZGVmaW5lIEhBVkVfR1JBTlRQVCAxCnwgLyog ZW5kIGNvbmZkZWZzLmguICAqLwp8IC8qIERlZmluZSBnZXRwdCB0byBhbiBpbm5v Y3VvdXMgdmFyaWFudCwgaW4gY2FzZSA8bGltaXRzLmg+IGRlY2xhcmVzIGdldHB0 Lgp8ICAgIEZvciBleGFtcGxlLCBIUC1VWCAxMWkgPGxpbWl0cy5oPiBkZWNsYXJl cyBnZXR0aW1lb2ZkYXkuICAqLwp8ICNkZWZpbmUgZ2V0cHQgaW5ub2N1b3VzX2dl dHB0CnwgCnwgLyogU3lzdGVtIGhlYWRlciB0byBkZWZpbmUgX19zdHViIG1hY3Jv cyBhbmQgaG9wZWZ1bGx5IGZldyBwcm90b3R5cGVzLAp8ICAgICB3aGljaCBjYW4g Y29uZmxpY3Qgd2l0aCBjaGFyIGdldHB0ICgpOyBiZWxvdy4KfCAgICAgUHJlZmVy IDxsaW1pdHMuaD4gdG8gPGFzc2VydC5oPiBpZiBfX1NURENfXyBpcyBkZWZpbmVk LCBzaW5jZQp8ICAgICA8bGltaXRzLmg+IGV4aXN0cyBldmVuIG9uIGZyZWVzdGFu ZGluZyBjb21waWxlcnMuICAqLwp8IAp8ICNpZmRlZiBfX1NURENfXwp8ICMgaW5j bHVkZSA8bGltaXRzLmg+CnwgI2Vsc2UKfCAjIGluY2x1ZGUgPGFzc2VydC5oPgp8 ICNlbmRpZgp8IAp8ICN1bmRlZiBnZXRwdAp8IAp8IC8qIE92ZXJyaWRlIGFueSBn Y2MyIGludGVybmFsIHByb3RvdHlwZSB0byBhdm9pZCBhbiBlcnJvci4gICovCnwg I2lmZGVmIF9fY3BsdXNwbHVzCnwgZXh0ZXJuICJDIgp8IHsKfCAjZW5kaWYKfCAv KiBXZSB1c2UgY2hhciBiZWNhdXNlIGludCBtaWdodCBtYXRjaCB0aGUgcmV0dXJu IHR5cGUgb2YgYSBnY2MyCnwgICAgYnVpbHRpbiBhbmQgdGhlbiBpdHMgYXJndW1l bnQgcHJvdG90eXBlIHdvdWxkIHN0aWxsIGFwcGx5LiAgKi8KfCBjaGFyIGdldHB0 ICgpOwp8IC8qIFRoZSBHTlUgQyBsaWJyYXJ5IGRlZmluZXMgdGhpcyBmb3IgZnVu Y3Rpb25zIHdoaWNoIGl0IGltcGxlbWVudHMKfCAgICAgdG8gYWx3YXlzIGZhaWwg d2l0aCBFTk9TWVMuICBTb21lIGZ1bmN0aW9ucyBhcmUgYWN0dWFsbHkgbmFtZWQK fCAgICAgc29tZXRoaW5nIHN0YXJ0aW5nIHdpdGggX18gYW5kIHRoZSBub3JtYWwg bmFtZSBpcyBhbiBhbGlhcy4gICovCnwgI2lmIGRlZmluZWQgKF9fc3R1Yl9nZXRw dCkgfHwgZGVmaW5lZCAoX19zdHViX19fZ2V0cHQpCnwgY2hva2UgbWUKfCAjZWxz ZQp8IGNoYXIgKCpmKSAoKSA9IGdldHB0Owp8ICNlbmRpZgp8ICNpZmRlZiBfX2Nw bHVzcGx1cwp8IH0KfCAjZW5kaWYKfCAKfCBpbnQKfCBtYWluICgpCnwgewp8IHJl dHVybiBmICE9IGdldHB0Owp8ICAgOwp8ICAgcmV0dXJuIDA7CnwgfQpjb25maWd1 cmU6MTgzNjA6IHJlc3VsdDogbm8KY29uZmlndXJlOjE4Mzc2OiBjaGVja2luZyBm b3IgdHBhcm0gaW4gLWxuY3Vyc2VzCmNvbmZpZ3VyZToxODQwNjogZ2NjIC1vIGNv bmZ0ZXN0LmV4ZSAtZyAtTzIgICAgIGNvbmZ0ZXN0LmMgLWxuY3Vyc2VzICAtbG0g ICA+JjUgIApjb25maWd1cmU6MTg0MTI6ICQ/ID0gMApjb25maWd1cmU6MTg0MTY6 IHRlc3QgLXogCgkJCSB8fCB0ZXN0ICEgLXMgY29uZnRlc3QuZXJyCmNvbmZpZ3Vy ZToxODQxOTogJD8gPSAwCmNvbmZpZ3VyZToxODQyMjogdGVzdCAtcyBjb25mdGVz dC5leGUKY29uZmlndXJlOjE4NDI1OiAkPyA9IDAKY29uZmlndXJlOjE4NDM4OiBy ZXN1bHQ6IHllcwpjb25maWd1cmU6MjA3NzM6IGNoZWNraW5nIGZvciBkZ2V0dGV4 dCBpbiAtbGludGwKY29uZmlndXJlOjIwODAzOiBnY2MgLW8gY29uZnRlc3QuZXhl IC1nIC1PMiAgICAgY29uZnRlc3QuYyAtbGludGwgIC1sbmN1cnNlcyAtbG0gICA+ JjUgIAovdXNyL2xpYi9nY2MtbGliL2k2ODYtcGMtY3lnd2luLzMuMy4zLy4uLy4u Ly4uLy4uL2k2ODYtcGMtY3lnd2luL2Jpbi9sZDogY2Fubm90IGZpbmQgLWxpbnRs CmNvbGxlY3QyOiBsZCByZXR1cm5lZCAxIGV4aXQgc3RhdHVzCmNvbmZpZ3VyZToy MDgwOTogJD8gPSAxCmNvbmZpZ3VyZTogZmFpbGVkIHByb2dyYW0gd2FzOgp8IC8q IGNvbmZkZWZzLmguICAqLwp8IAp8ICNkZWZpbmUgUEFDS0FHRV9OQU1FICIiCnwg I2RlZmluZSBQQUNLQUdFX1RBUk5BTUUgIiIKfCAjZGVmaW5lIFBBQ0tBR0VfVkVS U0lPTiAiIgp8ICNkZWZpbmUgUEFDS0FHRV9TVFJJTkcgIiIKfCAjZGVmaW5lIFBB Q0tBR0VfQlVHUkVQT1JUICIiCnwgI2RlZmluZSBNQUlMX1VTRV9QT1AgMQp8ICNk ZWZpbmUgX0dOVV9TT1VSQ0UgMQp8ICNkZWZpbmUgU1REQ19IRUFERVJTIDEKfCAj ZGVmaW5lIEhBVkVfU1lTX1RZUEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfU1RB VF9IIDEKfCAjZGVmaW5lIEhBVkVfU1RETElCX0ggMQp8ICNkZWZpbmUgSEFWRV9T VFJJTkdfSCAxCnwgI2RlZmluZSBIQVZFX01FTU9SWV9IIDEKfCAjZGVmaW5lIEhB VkVfU1RSSU5HU19IIDEKfCAjZGVmaW5lIEhBVkVfSU5UVFlQRVNfSCAxCnwgI2Rl ZmluZSBIQVZFX1NURElOVF9IIDEKfCAjZGVmaW5lIEhBVkVfVU5JU1REX0ggMQp8 ICNkZWZpbmUgSEFWRV9TWVNfU09VTkRDQVJEX0ggMQp8ICNkZWZpbmUgSEFWRV9T WVNfU0VMRUNUX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfVElNRUJfSCAxCnwgI2Rl ZmluZSBIQVZFX1NZU19USU1FX0ggMQp8ICNkZWZpbmUgSEFWRV9VTklTVERfSCAx CnwgI2RlZmluZSBIQVZFX1VUSU1FX0ggMQp8ICNkZWZpbmUgSEFWRV9URVJNSU9T X0ggMQp8ICNkZWZpbmUgSEFWRV9MSU1JVFNfSCAxCnwgI2RlZmluZSBIQVZFX1NU UklOR19IIDEKfCAjZGVmaW5lIEhBVkVfU1RETElCX0ggMQp8ICNkZWZpbmUgSEFW RV9URVJNQ0FQX0ggMQp8ICNkZWZpbmUgSEFWRV9GQ05UTF9IIDEKfCAjZGVmaW5l IEhBVkVfU1RSSU5HU19IIDEKfCAjZGVmaW5lIEhBVkVfUFRZX0ggMQp8ICNkZWZp bmUgSEFWRV9TWVNfTU1BTl9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1BBUkFNX0gg MQp8ICNkZWZpbmUgSEFWRV9TWVNfUkVTT1VSQ0VfSCAxCnwgI2RlZmluZSBIQVZF X0xPQ0FMRV9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1VUU05BTUVfSCAxCnwgI2Rl ZmluZSBIQVZFX1BXRF9IIDEKfCAjZGVmaW5lIFNURENfSEVBREVSUyAxCnwgI2Rl ZmluZSBUSU1FX1dJVEhfU1lTX1RJTUUgMQp8ICNkZWZpbmUgSEFWRV9ERUNMX1NZ U19TSUdMSVNUIDAKfCAjZGVmaW5lIEhBVkVfREVDTF9fX1NZU19TSUdMSVNUIDAK fCAjZGVmaW5lIEhBVkVfU1lTX1dBSVRfSCAxCnwgI2RlZmluZSBIQVZFX1NUUlVD VF9VVElNQlVGIDEKfCAjZGVmaW5lIFJFVFNJR1RZUEUgdm9pZAp8ICNkZWZpbmUg SEFWRV9TUEVFRF9UIDEKfCAjZGVmaW5lIEhBVkVfVElNRVZBTCAxCnwgI2RlZmlu ZSBIQVZFX1NZU19TT0NLRVRfSCAxCnwgI2RlZmluZSBIQVZFX05FVF9JRl9IIDEK fCAjZGVmaW5lIEhBVkVfVFpOQU1FIDEKfCAjZGVmaW5lIEhBVkVfU1RSVUNUX0lG UkVRX0lGUl9GTEFHUyAxCnwgI2RlZmluZSBIQVZFX1NUUlVDVF9JRlJFUV9JRlJf SFdBRERSIDEKfCAjZGVmaW5lIEhBVkVfU1RSVUNUX0lGUkVRX0lGUl9ORVRNQVNL IDEKfCAjZGVmaW5lIEhBVkVfU1RSVUNUX0lGUkVRX0lGUl9CUk9BREFERFIgMQp8 ICNkZWZpbmUgSEFWRV9TVFJVQ1RfSUZSRVFfSUZSX0FERFIgMQp8ICNkZWZpbmUg UFJPVE9UWVBFUyAxCnwgI2RlZmluZSBfX1BST1RPVFlQRVMgMQp8ICNkZWZpbmUg UE9JTlRFUl9UWVBFIHZvaWQKfCAjZGVmaW5lIEhBVkVfTE9OR19GSUxFX05BTUVT IDEKfCAjZGVmaW5lIEhBVkVfU1RETElCX0ggMQp8ICNkZWZpbmUgSEFWRV9VTklT VERfSCAxCnwgI2RlZmluZSBIQVZFX0dFVFBBR0VTSVpFIDEKfCAjZGVmaW5lIFVT RV9YSU0gMQp8ICNkZWZpbmUgSEFWRV9IX0VSUk5PIDEKfCAjZGVmaW5lIEhBVkVf QUxMT0NBX0ggMQp8ICNkZWZpbmUgSEFWRV9BTExPQ0EgMQp8ICNkZWZpbmUgSEFW RV9MSUJNIDEKfCAjZGVmaW5lIEhBVkVfR0VUSE9TVE5BTUUgMQp8ICNkZWZpbmUg SEFWRV9HRVRET01BSU5OQU1FIDEKfCAjZGVmaW5lIEhBVkVfRFVQMiAxCnwgI2Rl ZmluZSBIQVZFX1JFTkFNRSAxCnwgI2RlZmluZSBIQVZFX0NMT1NFRElSIDEKfCAj ZGVmaW5lIEhBVkVfTUtESVIgMQp8ICNkZWZpbmUgSEFWRV9STURJUiAxCnwgI2Rl ZmluZSBIQVZFX0dFVFJVU0FHRSAxCnwgI2RlZmluZSBIQVZFX1JBTkRPTSAxCnwg I2RlZmluZSBIQVZFX0xSQU5ENDggMQp8ICNkZWZpbmUgSEFWRV9CQ09QWSAxCnwg I2RlZmluZSBIQVZFX0JDTVAgMQp8ICNkZWZpbmUgSEFWRV9MT0dCIDEKfCAjZGVm aW5lIEhBVkVfRlJFWFAgMQp8ICNkZWZpbmUgSEFWRV9GTU9EIDEKfCAjZGVmaW5l IEhBVkVfUklOVCAxCnwgI2RlZmluZSBIQVZFX0NCUlQgMQp8ICNkZWZpbmUgSEFW RV9GVElNRSAxCnwgI2RlZmluZSBIQVZFX1NFVFNJRCAxCnwgI2RlZmluZSBIQVZF X1NUUkVSUk9SIDEKfCAjZGVmaW5lIEhBVkVfRlBBVEhDT05GIDEKfCAjZGVmaW5l IEhBVkVfU0VMRUNUIDEKfCAjZGVmaW5lIEhBVkVfTUtUSU1FIDEKfCAjZGVmaW5l IEhBVkVfR0VUUEFHRVNJWkUgMQp8ICNkZWZpbmUgSEFWRV9UWlNFVCAxCnwgI2Rl ZmluZSBIQVZFX1NFVExPQ0FMRSAxCnwgI2RlZmluZSBIQVZFX1VUSU1FUyAxCnwg I2RlZmluZSBIQVZFX1NFVFJMSU1JVCAxCnwgI2RlZmluZSBIQVZFX1NFVFBHSUQg MQp8ICNkZWZpbmUgSEFWRV9HRVRDV0QgMQp8ICNkZWZpbmUgSEFWRV9HRVRXRCAx CnwgI2RlZmluZSBIQVZFX1NIVVRET1dOIDEKfCAjZGVmaW5lIEhBVkVfTUJMRU4g MQp8ICNkZWZpbmUgSEFWRV9NQlJMRU4gMQp8ICNkZWZpbmUgSEFWRV9NQlNJTklU IDEKfCAjZGVmaW5lIEhBVkVfU1RSU0lHTkFMIDEKfCAjZGVmaW5lIEhBVkVfU0VU SVRJTUVSIDEKfCAjZGVmaW5lIEhBVkVfVUFMQVJNIDEKfCAjZGVmaW5lIEhBVkVf SU5ERVggMQp8ICNkZWZpbmUgSEFWRV9SSU5ERVggMQp8ICNkZWZpbmUgSEFWRV9T RU5EVE8gMQp8ICNkZWZpbmUgSEFWRV9SRUNWRlJPTSAxCnwgI2RlZmluZSBIQVZF X0dFVFNPQ0tPUFQgMQp8ICNkZWZpbmUgSEFWRV9TRVRTT0NLT1BUIDEKfCAjZGVm aW5lIEhBVkVfR0VUU09DS05BTUUgMQp8ICNkZWZpbmUgSEFWRV9HRVRQRUVSTkFN RSAxCnwgI2RlZmluZSBIQVZFX01LU1RFTVAgMQp8ICNkZWZpbmUgSEFWRV9HRVRM SU5FIDEKfCAjZGVmaW5lIEhBVkVfR0VUREVMSU0gMQp8ICNkZWZpbmUgSEFWRV9N RU1NT1ZFIDEKfCAjZGVmaW5lIEhBVkVfRlNZTkMgMQp8ICNkZWZpbmUgSEFWRV9C WkVSTyAxCnwgI2RlZmluZSBIQVZFX01FTVNFVCAxCnwgI2RlZmluZSBIQVZFX01F TUNNUCAxCnwgI2RlZmluZSBIQVZFX0RJRkZUSU1FIDEKfCAjZGVmaW5lIEhBVkVf TUVNQ1BZIDEKfCAjZGVmaW5lIEhBVkVfTUVNUENQWSAxCnwgI2RlZmluZSBIQVZF X01CTEVOIDEKfCAjZGVmaW5lIEhBVkVfTUJSTEVOIDEKfCAjZGVmaW5lIEhBVkVf U1lTX1VOX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERMSUJfSCAxCnwgI2RlZmluZSBI QVZFX1NZU19USU1FX0ggMQp8ICNkZWZpbmUgSEFWRV9VTklTVERfSCAxCnwgI2Rl ZmluZSBIQVZFX0FMQVJNIDEKfCAjZGVmaW5lIEJST0tFTl9NS1RJTUUgMQp8ICNk ZWZpbmUgQ19HRVRMT0FEQVZHIDEKfCAjZGVmaW5lIEhBVkVfU0VUTE9DQUxFIDEK fCAjZGVmaW5lIEhBVkVfRlNFRUtPIDEKfCAjZGVmaW5lIEhBVkVfR0VUT1BUX0gg MQp8ICNkZWZpbmUgSEFWRV9HRVRPUFRfTE9OR19PTkxZIDEKfCAjZGVmaW5lIF9f R0VUT1BUX1BSRUZJWCBycGxfCnwgI2RlZmluZSBHRVRQR1JQX1ZPSUQgMQp8ICNk ZWZpbmUgSEFWRV9TVFJGVElNRSAxCnwgI2RlZmluZSBIQVZFX0dSQU5UUFQgMQp8 ICNkZWZpbmUgSEFWRV9MSUJOQ1VSU0VTIDEKfCAvKiBlbmQgY29uZmRlZnMuaC4g ICovCnwgCnwgLyogT3ZlcnJpZGUgYW55IGdjYzIgaW50ZXJuYWwgcHJvdG90eXBl IHRvIGF2b2lkIGFuIGVycm9yLiAgKi8KfCAjaWZkZWYgX19jcGx1c3BsdXMKfCBl eHRlcm4gIkMiCnwgI2VuZGlmCnwgLyogV2UgdXNlIGNoYXIgYmVjYXVzZSBpbnQg bWlnaHQgbWF0Y2ggdGhlIHJldHVybiB0eXBlIG9mIGEgZ2NjMgp8ICAgIGJ1aWx0 aW4gYW5kIHRoZW4gaXRzIGFyZ3VtZW50IHByb3RvdHlwZSB3b3VsZCBzdGlsbCBh cHBseS4gICovCnwgY2hhciBkZ2V0dGV4dCAoKTsKfCBpbnQKfCBtYWluICgpCnwg ewp8IGRnZXR0ZXh0ICgpOwp8ICAgOwp8ICAgcmV0dXJuIDA7CnwgfQpjb25maWd1 cmU6MjA4MzU6IHJlc3VsdDogbm8KY29uZmlndXJlOjIwODQ3OiBjaGVja2luZyB3 aGV0aGVyIGxvY2FsdGltZSBjYWNoZXMgVFoKY29uZmlndXJlOjIwODk0OiBnY2Mg LW8gY29uZnRlc3QuZXhlIC1nIC1PMiAgICAgY29uZnRlc3QuYyAtbG5jdXJzZXMg LWxtICAgPiY1ICAKY29uZmlndXJlOjIwODk3OiAkPyA9IDAKY29uZmlndXJlOjIw ODk5OiAuL2NvbmZ0ZXN0LmV4ZQpjb25maWd1cmU6MjA5MDI6ICQ/ID0gMApjb25m aWd1cmU6MjA5MjE6IHJlc3VsdDogbm8KY29uZmlndXJlOjIwOTM2OiBjaGVja2lu ZyBmb3IgZ2V0dGltZW9mZGF5CmNvbmZpZ3VyZToyMDk5MzogZ2NjIC1vIGNvbmZ0 ZXN0LmV4ZSAtZyAtTzIgICAgIGNvbmZ0ZXN0LmMgLWxuY3Vyc2VzIC1sbSAgID4m NSAgCmNvbmZpZ3VyZToyMDk5OTogJD8gPSAwCmNvbmZpZ3VyZToyMTAwMzogdGVz dCAteiAKCQkJIHx8IHRlc3QgISAtcyBjb25mdGVzdC5lcnIKY29uZmlndXJlOjIx MDA2OiAkPyA9IDAKY29uZmlndXJlOjIxMDA5OiB0ZXN0IC1zIGNvbmZ0ZXN0LmV4 ZQpjb25maWd1cmU6MjEwMTI6ICQ/ID0gMApjb25maWd1cmU6MjEwMjQ6IHJlc3Vs dDogeWVzCmNvbmZpZ3VyZToyMTAzNTogY2hlY2tpbmcgd2hldGhlciBnZXR0aW1l b2ZkYXkgY2FuIGFjY2VwdCB0d28gYXJndW1lbnRzCmNvbmZpZ3VyZToyMTA2Nzog Z2NjIC1jIC1nIC1PMiAgICBjb25mdGVzdC5jID4mNQpjb25maWd1cmU6MjEwNzM6 ICQ/ID0gMApjb25maWd1cmU6MjEwNzc6IHRlc3QgLXogCgkJCSB8fCB0ZXN0ICEg LXMgY29uZnRlc3QuZXJyCmNvbmZpZ3VyZToyMTA4MDogJD8gPSAwCmNvbmZpZ3Vy ZToyMTA4MzogdGVzdCAtcyBjb25mdGVzdC5vCmNvbmZpZ3VyZToyMTA4NjogJD8g PSAwCmNvbmZpZ3VyZToyMTA5NzogcmVzdWx0OiB5ZXMKY29uZmlndXJlOjIxMTEw OiBjaGVja2luZyBmb3Igc3RydWN0IHRtLnRtX3pvbmUKY29uZmlndXJlOjIxMjE1 OiByZXN1bHQ6IG5vCmNvbmZpZ3VyZToyMTIzMzogY2hlY2tpbmcgZm9yIHR6bmFt ZQpjb25maWd1cmU6MjEyODk6IHJlc3VsdDogeWVzCmNvbmZpZ3VyZToyMTMwMjog Y2hlY2tpbmcgZm9yIHN0cnVjdCB0aW1lem9uZQpjb25maWd1cmU6MjEzMjM6IGdj YyAtYyAtZyAtTzIgICAgY29uZnRlc3QuYyA+JjUKY29uZmlndXJlOjIxMzI5OiAk PyA9IDAKY29uZmlndXJlOjIxMzMzOiB0ZXN0IC16IAoJCQkgfHwgdGVzdCAhIC1z IGNvbmZ0ZXN0LmVycgpjb25maWd1cmU6MjEzMzY6ICQ/ID0gMApjb25maWd1cmU6 MjEzMzk6IHRlc3QgLXMgY29uZnRlc3Qubwpjb25maWd1cmU6MjEzNDI6ICQ/ID0g MApjb25maWd1cmU6MjEzNzE6IGdjYyAtbyBjb25mdGVzdC5leGUgLWcgLU8yICAg ICBjb25mdGVzdC5jIC1sbmN1cnNlcyAtbG0gICA+JjUgIApjb25maWd1cmU6MjEz NzQ6ICQ/ID0gMApjb25maWd1cmU6MjEzNzY6IC4vY29uZnRlc3QuZXhlCmNvbmZp Z3VyZToyMTM3OTogJD8gPSAwCmNvbmZpZ3VyZToyMTQwMDogcmVzdWx0OiB5ZXMK Y29uZmlndXJlOjIxNDA1OiBjaGVja2luZyBmb3Igc29ja2V0CmNvbmZpZ3VyZToy MTQ2MjogZ2NjIC1vIGNvbmZ0ZXN0LmV4ZSAtZyAtTzIgICAgIGNvbmZ0ZXN0LmMg LWxuY3Vyc2VzIC1sbSAgID4mNSAgCmNvbmZpZ3VyZToyMTQ2ODogJD8gPSAwCmNv bmZpZ3VyZToyMTQ3MjogdGVzdCAteiAKCQkJIHx8IHRlc3QgISAtcyBjb25mdGVz dC5lcnIKY29uZmlndXJlOjIxNDc1OiAkPyA9IDAKY29uZmlndXJlOjIxNDc4OiB0 ZXN0IC1zIGNvbmZ0ZXN0LmV4ZQpjb25maWd1cmU6MjE0ODE6ICQ/ID0gMApjb25m aWd1cmU6MjE0OTM6IHJlc3VsdDogeWVzCmNvbmZpZ3VyZToyMTUxMjogY2hlY2tp bmcgbmV0aW5ldC9pbi5oIHVzYWJpbGl0eQpjb25maWd1cmU6MjE1MjQ6IGdjYyAt YyAtZyAtTzIgICAgY29uZnRlc3QuYyA+JjUKY29uZmlndXJlOjIxNTMwOiAkPyA9 IDAKY29uZmlndXJlOjIxNTM0OiB0ZXN0IC16IAoJCQkgfHwgdGVzdCAhIC1zIGNv bmZ0ZXN0LmVycgpjb25maWd1cmU6MjE1Mzc6ICQ/ID0gMApjb25maWd1cmU6MjE1 NDA6IHRlc3QgLXMgY29uZnRlc3Qubwpjb25maWd1cmU6MjE1NDM6ICQ/ID0gMApj b25maWd1cmU6MjE1NTM6IHJlc3VsdDogeWVzCmNvbmZpZ3VyZToyMTU1NzogY2hl Y2tpbmcgbmV0aW5ldC9pbi5oIHByZXNlbmNlCmNvbmZpZ3VyZToyMTU2NzogZ2Nj IC1FICAgIGNvbmZ0ZXN0LmMKY29uZmlndXJlOjIxNTczOiAkPyA9IDAKY29uZmln dXJlOjIxNTkzOiByZXN1bHQ6IHllcwpjb25maWd1cmU6MjE2Mjg6IGNoZWNraW5n IGZvciBuZXRpbmV0L2luLmgKY29uZmlndXJlOjIxNjM1OiByZXN1bHQ6IHllcwpj b25maWd1cmU6MjE2NTg6IGNoZWNraW5nIGFycGEvaW5ldC5oIHVzYWJpbGl0eQpj b25maWd1cmU6MjE2NzA6IGdjYyAtYyAtZyAtTzIgICAgY29uZnRlc3QuYyA+JjUK Y29uZmlndXJlOjIxNjc2OiAkPyA9IDAKY29uZmlndXJlOjIxNjgwOiB0ZXN0IC16 IAoJCQkgfHwgdGVzdCAhIC1zIGNvbmZ0ZXN0LmVycgpjb25maWd1cmU6MjE2ODM6 ICQ/ID0gMApjb25maWd1cmU6MjE2ODY6IHRlc3QgLXMgY29uZnRlc3Qubwpjb25m aWd1cmU6MjE2ODk6ICQ/ID0gMApjb25maWd1cmU6MjE2OTk6IHJlc3VsdDogeWVz CmNvbmZpZ3VyZToyMTcwMzogY2hlY2tpbmcgYXJwYS9pbmV0LmggcHJlc2VuY2UK Y29uZmlndXJlOjIxNzEzOiBnY2MgLUUgICAgY29uZnRlc3QuYwpjb25maWd1cmU6 MjE3MTk6ICQ/ID0gMApjb25maWd1cmU6MjE3Mzk6IHJlc3VsdDogeWVzCmNvbmZp Z3VyZToyMTc3NDogY2hlY2tpbmcgZm9yIGFycGEvaW5ldC5oCmNvbmZpZ3VyZToy MTc4MTogcmVzdWx0OiB5ZXMKY29uZmlndXJlOjIxODE1OiBjaGVja2luZyBzeXMv aW9jdGwuaCB1c2FiaWxpdHkKY29uZmlndXJlOjIxODI3OiBnY2MgLWMgLWcgLU8y ICAgIGNvbmZ0ZXN0LmMgPiY1CmNvbmZpZ3VyZToyMTgzMzogJD8gPSAwCmNvbmZp Z3VyZToyMTgzNzogdGVzdCAteiAKCQkJIHx8IHRlc3QgISAtcyBjb25mdGVzdC5l cnIKY29uZmlndXJlOjIxODQwOiAkPyA9IDAKY29uZmlndXJlOjIxODQzOiB0ZXN0 IC1zIGNvbmZ0ZXN0Lm8KY29uZmlndXJlOjIxODQ2OiAkPyA9IDAKY29uZmlndXJl OjIxODU2OiByZXN1bHQ6IHllcwpjb25maWd1cmU6MjE4NjA6IGNoZWNraW5nIHN5 cy9pb2N0bC5oIHByZXNlbmNlCmNvbmZpZ3VyZToyMTg3MDogZ2NjIC1FICAgIGNv bmZ0ZXN0LmMKY29uZmlndXJlOjIxODc2OiAkPyA9IDAKY29uZmlndXJlOjIxODk2 OiByZXN1bHQ6IHllcwpjb25maWd1cmU6MjE5MzE6IGNoZWNraW5nIGZvciBzeXMv aW9jdGwuaApjb25maWd1cmU6MjE5Mzg6IHJlc3VsdDogeWVzCmNvbmZpZ3VyZToy MTk2MDogY2hlY2tpbmcgd2hldGhlciBzeXN0ZW0gc3VwcG9ydHMgZHluYW1pYyBw dHlzCmNvbmZpZ3VyZToyMTk3MTogcmVzdWx0OiBubwpjb25maWd1cmU6MjE5NzU6 IGNoZWNraW5nIGZvciBwaWRfdApjb25maWd1cmU6MjE5OTk6IGdjYyAtYyAtZyAt TzIgICAgY29uZnRlc3QuYyA+JjUKY29uZmlndXJlOjIyMDA1OiAkPyA9IDAKY29u ZmlndXJlOjIyMDA5OiB0ZXN0IC16IAoJCQkgfHwgdGVzdCAhIC1zIGNvbmZ0ZXN0 LmVycgpjb25maWd1cmU6MjIwMTI6ICQ/ID0gMApjb25maWd1cmU6MjIwMTU6IHRl c3QgLXMgY29uZnRlc3Qubwpjb25maWd1cmU6MjIwMTg6ICQ/ID0gMApjb25maWd1 cmU6MjIwMjk6IHJlc3VsdDogeWVzCmNvbmZpZ3VyZToyMjA0NzogY2hlY2tpbmcg Zm9yIHVuaXN0ZC5oCmNvbmZpZ3VyZToyMjA1MjogcmVzdWx0OiB5ZXMKY29uZmln dXJlOjIyMDU2OiBjaGVja2luZyB2Zm9yay5oIHVzYWJpbGl0eQpjb25maWd1cmU6 MjIwNjg6IGdjYyAtYyAtZyAtTzIgICAgY29uZnRlc3QuYyA+JjUKY29uZnRlc3Qu YzoxODQ6MTk6IHZmb3JrLmg6IE5vIHN1Y2ggZmlsZSBvciBkaXJlY3RvcnkKY29u ZmlndXJlOjIyMDc0OiAkPyA9IDEKY29uZmlndXJlOiBmYWlsZWQgcHJvZ3JhbSB3 YXM6CnwgLyogY29uZmRlZnMuaC4gICovCnwgCnwgI2RlZmluZSBQQUNLQUdFX05B TUUgIiIKfCAjZGVmaW5lIFBBQ0tBR0VfVEFSTkFNRSAiIgp8ICNkZWZpbmUgUEFD S0FHRV9WRVJTSU9OICIiCnwgI2RlZmluZSBQQUNLQUdFX1NUUklORyAiIgp8ICNk ZWZpbmUgUEFDS0FHRV9CVUdSRVBPUlQgIiIKfCAjZGVmaW5lIE1BSUxfVVNFX1BP UCAxCnwgI2RlZmluZSBfR05VX1NPVVJDRSAxCnwgI2RlZmluZSBTVERDX0hFQURF UlMgMQp8ICNkZWZpbmUgSEFWRV9TWVNfVFlQRVNfSCAxCnwgI2RlZmluZSBIQVZF X1NZU19TVEFUX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERMSUJfSCAxCnwgI2RlZmlu ZSBIQVZFX1NUUklOR19IIDEKfCAjZGVmaW5lIEhBVkVfTUVNT1JZX0ggMQp8ICNk ZWZpbmUgSEFWRV9TVFJJTkdTX0ggMQp8ICNkZWZpbmUgSEFWRV9JTlRUWVBFU19I IDEKfCAjZGVmaW5lIEhBVkVfU1RESU5UX0ggMQp8ICNkZWZpbmUgSEFWRV9VTklT VERfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19TT1VORENBUkRfSCAxCnwgI2RlZmlu ZSBIQVZFX1NZU19TRUxFQ1RfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19USU1FQl9I IDEKfCAjZGVmaW5lIEhBVkVfU1lTX1RJTUVfSCAxCnwgI2RlZmluZSBIQVZFX1VO SVNURF9IIDEKfCAjZGVmaW5lIEhBVkVfVVRJTUVfSCAxCnwgI2RlZmluZSBIQVZF X1RFUk1JT1NfSCAxCnwgI2RlZmluZSBIQVZFX0xJTUlUU19IIDEKfCAjZGVmaW5l IEhBVkVfU1RSSU5HX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERMSUJfSCAxCnwgI2Rl ZmluZSBIQVZFX1RFUk1DQVBfSCAxCnwgI2RlZmluZSBIQVZFX0ZDTlRMX0ggMQp8 ICNkZWZpbmUgSEFWRV9TVFJJTkdTX0ggMQp8ICNkZWZpbmUgSEFWRV9QVFlfSCAx CnwgI2RlZmluZSBIQVZFX1NZU19NTUFOX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNf UEFSQU1fSCAxCnwgI2RlZmluZSBIQVZFX1NZU19SRVNPVVJDRV9IIDEKfCAjZGVm aW5lIEhBVkVfTE9DQUxFX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfVVRTTkFNRV9I IDEKfCAjZGVmaW5lIEhBVkVfUFdEX0ggMQp8ICNkZWZpbmUgU1REQ19IRUFERVJT IDEKfCAjZGVmaW5lIFRJTUVfV0lUSF9TWVNfVElNRSAxCnwgI2RlZmluZSBIQVZF X0RFQ0xfU1lTX1NJR0xJU1QgMAp8ICNkZWZpbmUgSEFWRV9ERUNMX19fU1lTX1NJ R0xJU1QgMAp8ICNkZWZpbmUgSEFWRV9TWVNfV0FJVF9IIDEKfCAjZGVmaW5lIEhB VkVfU1RSVUNUX1VUSU1CVUYgMQp8ICNkZWZpbmUgUkVUU0lHVFlQRSB2b2lkCnwg I2RlZmluZSBIQVZFX1NQRUVEX1QgMQp8ICNkZWZpbmUgSEFWRV9USU1FVkFMIDEK fCAjZGVmaW5lIEhBVkVfU1lTX1NPQ0tFVF9IIDEKfCAjZGVmaW5lIEhBVkVfTkVU X0lGX0ggMQp8ICNkZWZpbmUgSEFWRV9UWk5BTUUgMQp8ICNkZWZpbmUgSEFWRV9T VFJVQ1RfSUZSRVFfSUZSX0ZMQUdTIDEKfCAjZGVmaW5lIEhBVkVfU1RSVUNUX0lG UkVRX0lGUl9IV0FERFIgMQp8ICNkZWZpbmUgSEFWRV9TVFJVQ1RfSUZSRVFfSUZS X05FVE1BU0sgMQp8ICNkZWZpbmUgSEFWRV9TVFJVQ1RfSUZSRVFfSUZSX0JST0FE QUREUiAxCnwgI2RlZmluZSBIQVZFX1NUUlVDVF9JRlJFUV9JRlJfQUREUiAxCnwg I2RlZmluZSBQUk9UT1RZUEVTIDEKfCAjZGVmaW5lIF9fUFJPVE9UWVBFUyAxCnwg I2RlZmluZSBQT0lOVEVSX1RZUEUgdm9pZAp8ICNkZWZpbmUgSEFWRV9MT05HX0ZJ TEVfTkFNRVMgMQp8ICNkZWZpbmUgSEFWRV9TVERMSUJfSCAxCnwgI2RlZmluZSBI QVZFX1VOSVNURF9IIDEKfCAjZGVmaW5lIEhBVkVfR0VUUEFHRVNJWkUgMQp8ICNk ZWZpbmUgVVNFX1hJTSAxCnwgI2RlZmluZSBIQVZFX0hfRVJSTk8gMQp8ICNkZWZp bmUgSEFWRV9BTExPQ0FfSCAxCnwgI2RlZmluZSBIQVZFX0FMTE9DQSAxCnwgI2Rl ZmluZSBIQVZFX0xJQk0gMQp8ICNkZWZpbmUgSEFWRV9HRVRIT1NUTkFNRSAxCnwg I2RlZmluZSBIQVZFX0dFVERPTUFJTk5BTUUgMQp8ICNkZWZpbmUgSEFWRV9EVVAy IDEKfCAjZGVmaW5lIEhBVkVfUkVOQU1FIDEKfCAjZGVmaW5lIEhBVkVfQ0xPU0VE SVIgMQp8ICNkZWZpbmUgSEFWRV9NS0RJUiAxCnwgI2RlZmluZSBIQVZFX1JNRElS IDEKfCAjZGVmaW5lIEhBVkVfR0VUUlVTQUdFIDEKfCAjZGVmaW5lIEhBVkVfUkFO RE9NIDEKfCAjZGVmaW5lIEhBVkVfTFJBTkQ0OCAxCnwgI2RlZmluZSBIQVZFX0JD T1BZIDEKfCAjZGVmaW5lIEhBVkVfQkNNUCAxCnwgI2RlZmluZSBIQVZFX0xPR0Ig MQp8ICNkZWZpbmUgSEFWRV9GUkVYUCAxCnwgI2RlZmluZSBIQVZFX0ZNT0QgMQp8 ICNkZWZpbmUgSEFWRV9SSU5UIDEKfCAjZGVmaW5lIEhBVkVfQ0JSVCAxCnwgI2Rl ZmluZSBIQVZFX0ZUSU1FIDEKfCAjZGVmaW5lIEhBVkVfU0VUU0lEIDEKfCAjZGVm aW5lIEhBVkVfU1RSRVJST1IgMQp8ICNkZWZpbmUgSEFWRV9GUEFUSENPTkYgMQp8 ICNkZWZpbmUgSEFWRV9TRUxFQ1QgMQp8ICNkZWZpbmUgSEFWRV9NS1RJTUUgMQp8 ICNkZWZpbmUgSEFWRV9HRVRQQUdFU0laRSAxCnwgI2RlZmluZSBIQVZFX1RaU0VU IDEKfCAjZGVmaW5lIEhBVkVfU0VUTE9DQUxFIDEKfCAjZGVmaW5lIEhBVkVfVVRJ TUVTIDEKfCAjZGVmaW5lIEhBVkVfU0VUUkxJTUlUIDEKfCAjZGVmaW5lIEhBVkVf U0VUUEdJRCAxCnwgI2RlZmluZSBIQVZFX0dFVENXRCAxCnwgI2RlZmluZSBIQVZF X0dFVFdEIDEKfCAjZGVmaW5lIEhBVkVfU0hVVERPV04gMQp8ICNkZWZpbmUgSEFW RV9NQkxFTiAxCnwgI2RlZmluZSBIQVZFX01CUkxFTiAxCnwgI2RlZmluZSBIQVZF X01CU0lOSVQgMQp8ICNkZWZpbmUgSEFWRV9TVFJTSUdOQUwgMQp8ICNkZWZpbmUg SEFWRV9TRVRJVElNRVIgMQp8ICNkZWZpbmUgSEFWRV9VQUxBUk0gMQp8ICNkZWZp bmUgSEFWRV9JTkRFWCAxCnwgI2RlZmluZSBIQVZFX1JJTkRFWCAxCnwgI2RlZmlu ZSBIQVZFX1NFTkRUTyAxCnwgI2RlZmluZSBIQVZFX1JFQ1ZGUk9NIDEKfCAjZGVm aW5lIEhBVkVfR0VUU09DS09QVCAxCnwgI2RlZmluZSBIQVZFX1NFVFNPQ0tPUFQg MQp8ICNkZWZpbmUgSEFWRV9HRVRTT0NLTkFNRSAxCnwgI2RlZmluZSBIQVZFX0dF VFBFRVJOQU1FIDEKfCAjZGVmaW5lIEhBVkVfTUtTVEVNUCAxCnwgI2RlZmluZSBI QVZFX0dFVExJTkUgMQp8ICNkZWZpbmUgSEFWRV9HRVRERUxJTSAxCnwgI2RlZmlu ZSBIQVZFX01FTU1PVkUgMQp8ICNkZWZpbmUgSEFWRV9GU1lOQyAxCnwgI2RlZmlu ZSBIQVZFX0JaRVJPIDEKfCAjZGVmaW5lIEhBVkVfTUVNU0VUIDEKfCAjZGVmaW5l IEhBVkVfTUVNQ01QIDEKfCAjZGVmaW5lIEhBVkVfRElGRlRJTUUgMQp8ICNkZWZp bmUgSEFWRV9NRU1DUFkgMQp8ICNkZWZpbmUgSEFWRV9NRU1QQ1BZIDEKfCAjZGVm aW5lIEhBVkVfTUJMRU4gMQp8ICNkZWZpbmUgSEFWRV9NQlJMRU4gMQp8ICNkZWZp bmUgSEFWRV9TWVNfVU5fSCAxCnwgI2RlZmluZSBIQVZFX1NURExJQl9IIDEKfCAj ZGVmaW5lIEhBVkVfU1lTX1RJTUVfSCAxCnwgI2RlZmluZSBIQVZFX1VOSVNURF9I IDEKfCAjZGVmaW5lIEhBVkVfQUxBUk0gMQp8ICNkZWZpbmUgQlJPS0VOX01LVElN RSAxCnwgI2RlZmluZSBDX0dFVExPQURBVkcgMQp8ICNkZWZpbmUgSEFWRV9TRVRM T0NBTEUgMQp8ICNkZWZpbmUgSEFWRV9GU0VFS08gMQp8ICNkZWZpbmUgSEFWRV9H RVRPUFRfSCAxCnwgI2RlZmluZSBIQVZFX0dFVE9QVF9MT05HX09OTFkgMQp8ICNk ZWZpbmUgX19HRVRPUFRfUFJFRklYIHJwbF8KfCAjZGVmaW5lIEdFVFBHUlBfVk9J RCAxCnwgI2RlZmluZSBIQVZFX1NUUkZUSU1FIDEKfCAjZGVmaW5lIEhBVkVfR1JB TlRQVCAxCnwgI2RlZmluZSBIQVZFX0xJQk5DVVJTRVMgMQp8ICNkZWZpbmUgSEFW RV9HRVRUSU1FT0ZEQVkgMQp8ICNkZWZpbmUgSEFWRV9UWk5BTUUgMQp8ICNkZWZp bmUgSEFWRV9JTkVUX1NPQ0tFVFMgMQp8ICNkZWZpbmUgSEFWRV9TWVNfSU9DVExf SCAxCnwgI2RlZmluZSBIQVZFX1VOSVNURF9IIDEKfCAvKiBlbmQgY29uZmRlZnMu aC4gICovCnwgI2luY2x1ZGUgPHN0ZGlvLmg+CnwgI2lmIEhBVkVfU1lTX1RZUEVT X0gKfCAjIGluY2x1ZGUgPHN5cy90eXBlcy5oPgp8ICNlbmRpZgp8ICNpZiBIQVZF X1NZU19TVEFUX0gKfCAjIGluY2x1ZGUgPHN5cy9zdGF0Lmg+CnwgI2VuZGlmCnwg I2lmIFNURENfSEVBREVSUwp8ICMgaW5jbHVkZSA8c3RkbGliLmg+CnwgIyBpbmNs dWRlIDxzdGRkZWYuaD4KfCAjZWxzZQp8ICMgaWYgSEFWRV9TVERMSUJfSAp8ICMg IGluY2x1ZGUgPHN0ZGxpYi5oPgp8ICMgZW5kaWYKfCAjZW5kaWYKfCAjaWYgSEFW RV9TVFJJTkdfSAp8ICMgaWYgIVNURENfSEVBREVSUyAmJiBIQVZFX01FTU9SWV9I CnwgIyAgaW5jbHVkZSA8bWVtb3J5Lmg+CnwgIyBlbmRpZgp8ICMgaW5jbHVkZSA8 c3RyaW5nLmg+CnwgI2VuZGlmCnwgI2lmIEhBVkVfU1RSSU5HU19ICnwgIyBpbmNs dWRlIDxzdHJpbmdzLmg+CnwgI2VuZGlmCnwgI2lmIEhBVkVfSU5UVFlQRVNfSAp8 ICMgaW5jbHVkZSA8aW50dHlwZXMuaD4KfCAjZWxzZQp8ICMgaWYgSEFWRV9TVERJ TlRfSAp8ICMgIGluY2x1ZGUgPHN0ZGludC5oPgp8ICMgZW5kaWYKfCAjZW5kaWYK fCAjaWYgSEFWRV9VTklTVERfSAp8ICMgaW5jbHVkZSA8dW5pc3RkLmg+CnwgI2Vu ZGlmCnwgI2luY2x1ZGUgPHZmb3JrLmg+CmNvbmZpZ3VyZToyMjA5NzogcmVzdWx0 OiBubwpjb25maWd1cmU6MjIxMDE6IGNoZWNraW5nIHZmb3JrLmggcHJlc2VuY2UK Y29uZmlndXJlOjIyMTExOiBnY2MgLUUgICAgY29uZnRlc3QuYwpjb25mdGVzdC5j OjE1MDoxOTogdmZvcmsuaDogTm8gc3VjaCBmaWxlIG9yIGRpcmVjdG9yeQpjb25m aWd1cmU6MjIxMTc6ICQ/ID0gMQpjb25maWd1cmU6IGZhaWxlZCBwcm9ncmFtIHdh czoKfCAvKiBjb25mZGVmcy5oLiAgKi8KfCAKfCAjZGVmaW5lIFBBQ0tBR0VfTkFN RSAiIgp8ICNkZWZpbmUgUEFDS0FHRV9UQVJOQU1FICIiCnwgI2RlZmluZSBQQUNL QUdFX1ZFUlNJT04gIiIKfCAjZGVmaW5lIFBBQ0tBR0VfU1RSSU5HICIiCnwgI2Rl ZmluZSBQQUNLQUdFX0JVR1JFUE9SVCAiIgp8ICNkZWZpbmUgTUFJTF9VU0VfUE9Q IDEKfCAjZGVmaW5lIF9HTlVfU09VUkNFIDEKfCAjZGVmaW5lIFNURENfSEVBREVS UyAxCnwgI2RlZmluZSBIQVZFX1NZU19UWVBFU19IIDEKfCAjZGVmaW5lIEhBVkVf U1lTX1NUQVRfSCAxCnwgI2RlZmluZSBIQVZFX1NURExJQl9IIDEKfCAjZGVmaW5l IEhBVkVfU1RSSU5HX0ggMQp8ICNkZWZpbmUgSEFWRV9NRU1PUllfSCAxCnwgI2Rl ZmluZSBIQVZFX1NUUklOR1NfSCAxCnwgI2RlZmluZSBIQVZFX0lOVFRZUEVTX0gg MQp8ICNkZWZpbmUgSEFWRV9TVERJTlRfSCAxCnwgI2RlZmluZSBIQVZFX1VOSVNU RF9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NPVU5EQ0FSRF9IIDEKfCAjZGVmaW5l IEhBVkVfU1lTX1NFTEVDVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1RJTUVCX0gg MQp8ICNkZWZpbmUgSEFWRV9TWVNfVElNRV9IIDEKfCAjZGVmaW5lIEhBVkVfVU5J U1REX0ggMQp8ICNkZWZpbmUgSEFWRV9VVElNRV9IIDEKfCAjZGVmaW5lIEhBVkVf VEVSTUlPU19IIDEKfCAjZGVmaW5lIEhBVkVfTElNSVRTX0ggMQp8ICNkZWZpbmUg SEFWRV9TVFJJTkdfSCAxCnwgI2RlZmluZSBIQVZFX1NURExJQl9IIDEKfCAjZGVm aW5lIEhBVkVfVEVSTUNBUF9IIDEKfCAjZGVmaW5lIEhBVkVfRkNOVExfSCAxCnwg I2RlZmluZSBIQVZFX1NUUklOR1NfSCAxCnwgI2RlZmluZSBIQVZFX1BUWV9IIDEK fCAjZGVmaW5lIEhBVkVfU1lTX01NQU5fSCAxCnwgI2RlZmluZSBIQVZFX1NZU19Q QVJBTV9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1JFU09VUkNFX0ggMQp8ICNkZWZp bmUgSEFWRV9MT0NBTEVfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19VVFNOQU1FX0gg MQp8ICNkZWZpbmUgSEFWRV9QV0RfSCAxCnwgI2RlZmluZSBTVERDX0hFQURFUlMg MQp8ICNkZWZpbmUgVElNRV9XSVRIX1NZU19USU1FIDEKfCAjZGVmaW5lIEhBVkVf REVDTF9TWVNfU0lHTElTVCAwCnwgI2RlZmluZSBIQVZFX0RFQ0xfX19TWVNfU0lH TElTVCAwCnwgI2RlZmluZSBIQVZFX1NZU19XQUlUX0ggMQp8ICNkZWZpbmUgSEFW RV9TVFJVQ1RfVVRJTUJVRiAxCnwgI2RlZmluZSBSRVRTSUdUWVBFIHZvaWQKfCAj ZGVmaW5lIEhBVkVfU1BFRURfVCAxCnwgI2RlZmluZSBIQVZFX1RJTUVWQUwgMQp8 ICNkZWZpbmUgSEFWRV9TWVNfU09DS0VUX0ggMQp8ICNkZWZpbmUgSEFWRV9ORVRf SUZfSCAxCnwgI2RlZmluZSBIQVZFX1RaTkFNRSAxCnwgI2RlZmluZSBIQVZFX1NU UlVDVF9JRlJFUV9JRlJfRkxBR1MgMQp8ICNkZWZpbmUgSEFWRV9TVFJVQ1RfSUZS RVFfSUZSX0hXQUREUiAxCnwgI2RlZmluZSBIQVZFX1NUUlVDVF9JRlJFUV9JRlJf TkVUTUFTSyAxCnwgI2RlZmluZSBIQVZFX1NUUlVDVF9JRlJFUV9JRlJfQlJPQURB RERSIDEKfCAjZGVmaW5lIEhBVkVfU1RSVUNUX0lGUkVRX0lGUl9BRERSIDEKfCAj ZGVmaW5lIFBST1RPVFlQRVMgMQp8ICNkZWZpbmUgX19QUk9UT1RZUEVTIDEKfCAj ZGVmaW5lIFBPSU5URVJfVFlQRSB2b2lkCnwgI2RlZmluZSBIQVZFX0xPTkdfRklM RV9OQU1FUyAxCnwgI2RlZmluZSBIQVZFX1NURExJQl9IIDEKfCAjZGVmaW5lIEhB VkVfVU5JU1REX0ggMQp8ICNkZWZpbmUgSEFWRV9HRVRQQUdFU0laRSAxCnwgI2Rl ZmluZSBVU0VfWElNIDEKfCAjZGVmaW5lIEhBVkVfSF9FUlJOTyAxCnwgI2RlZmlu ZSBIQVZFX0FMTE9DQV9IIDEKfCAjZGVmaW5lIEhBVkVfQUxMT0NBIDEKfCAjZGVm aW5lIEhBVkVfTElCTSAxCnwgI2RlZmluZSBIQVZFX0dFVEhPU1ROQU1FIDEKfCAj ZGVmaW5lIEhBVkVfR0VURE9NQUlOTkFNRSAxCnwgI2RlZmluZSBIQVZFX0RVUDIg MQp8ICNkZWZpbmUgSEFWRV9SRU5BTUUgMQp8ICNkZWZpbmUgSEFWRV9DTE9TRURJ UiAxCnwgI2RlZmluZSBIQVZFX01LRElSIDEKfCAjZGVmaW5lIEhBVkVfUk1ESVIg MQp8ICNkZWZpbmUgSEFWRV9HRVRSVVNBR0UgMQp8ICNkZWZpbmUgSEFWRV9SQU5E T00gMQp8ICNkZWZpbmUgSEFWRV9MUkFORDQ4IDEKfCAjZGVmaW5lIEhBVkVfQkNP UFkgMQp8ICNkZWZpbmUgSEFWRV9CQ01QIDEKfCAjZGVmaW5lIEhBVkVfTE9HQiAx CnwgI2RlZmluZSBIQVZFX0ZSRVhQIDEKfCAjZGVmaW5lIEhBVkVfRk1PRCAxCnwg I2RlZmluZSBIQVZFX1JJTlQgMQp8ICNkZWZpbmUgSEFWRV9DQlJUIDEKfCAjZGVm aW5lIEhBVkVfRlRJTUUgMQp8ICNkZWZpbmUgSEFWRV9TRVRTSUQgMQp8ICNkZWZp bmUgSEFWRV9TVFJFUlJPUiAxCnwgI2RlZmluZSBIQVZFX0ZQQVRIQ09ORiAxCnwg I2RlZmluZSBIQVZFX1NFTEVDVCAxCnwgI2RlZmluZSBIQVZFX01LVElNRSAxCnwg I2RlZmluZSBIQVZFX0dFVFBBR0VTSVpFIDEKfCAjZGVmaW5lIEhBVkVfVFpTRVQg MQp8ICNkZWZpbmUgSEFWRV9TRVRMT0NBTEUgMQp8ICNkZWZpbmUgSEFWRV9VVElN RVMgMQp8ICNkZWZpbmUgSEFWRV9TRVRSTElNSVQgMQp8ICNkZWZpbmUgSEFWRV9T RVRQR0lEIDEKfCAjZGVmaW5lIEhBVkVfR0VUQ1dEIDEKfCAjZGVmaW5lIEhBVkVf R0VUV0QgMQp8ICNkZWZpbmUgSEFWRV9TSFVURE9XTiAxCnwgI2RlZmluZSBIQVZF X01CTEVOIDEKfCAjZGVmaW5lIEhBVkVfTUJSTEVOIDEKfCAjZGVmaW5lIEhBVkVf TUJTSU5JVCAxCnwgI2RlZmluZSBIQVZFX1NUUlNJR05BTCAxCnwgI2RlZmluZSBI QVZFX1NFVElUSU1FUiAxCnwgI2RlZmluZSBIQVZFX1VBTEFSTSAxCnwgI2RlZmlu ZSBIQVZFX0lOREVYIDEKfCAjZGVmaW5lIEhBVkVfUklOREVYIDEKfCAjZGVmaW5l IEhBVkVfU0VORFRPIDEKfCAjZGVmaW5lIEhBVkVfUkVDVkZST00gMQp8ICNkZWZp bmUgSEFWRV9HRVRTT0NLT1BUIDEKfCAjZGVmaW5lIEhBVkVfU0VUU09DS09QVCAx CnwgI2RlZmluZSBIQVZFX0dFVFNPQ0tOQU1FIDEKfCAjZGVmaW5lIEhBVkVfR0VU UEVFUk5BTUUgMQp8ICNkZWZpbmUgSEFWRV9NS1NURU1QIDEKfCAjZGVmaW5lIEhB VkVfR0VUTElORSAxCnwgI2RlZmluZSBIQVZFX0dFVERFTElNIDEKfCAjZGVmaW5l IEhBVkVfTUVNTU9WRSAxCnwgI2RlZmluZSBIQVZFX0ZTWU5DIDEKfCAjZGVmaW5l IEhBVkVfQlpFUk8gMQp8ICNkZWZpbmUgSEFWRV9NRU1TRVQgMQp8ICNkZWZpbmUg SEFWRV9NRU1DTVAgMQp8ICNkZWZpbmUgSEFWRV9ESUZGVElNRSAxCnwgI2RlZmlu ZSBIQVZFX01FTUNQWSAxCnwgI2RlZmluZSBIQVZFX01FTVBDUFkgMQp8ICNkZWZp bmUgSEFWRV9NQkxFTiAxCnwgI2RlZmluZSBIQVZFX01CUkxFTiAxCnwgI2RlZmlu ZSBIQVZFX1NZU19VTl9IIDEKfCAjZGVmaW5lIEhBVkVfU1RETElCX0ggMQp8ICNk ZWZpbmUgSEFWRV9TWVNfVElNRV9IIDEKfCAjZGVmaW5lIEhBVkVfVU5JU1REX0gg MQp8ICNkZWZpbmUgSEFWRV9BTEFSTSAxCnwgI2RlZmluZSBCUk9LRU5fTUtUSU1F IDEKfCAjZGVmaW5lIENfR0VUTE9BREFWRyAxCnwgI2RlZmluZSBIQVZFX1NFVExP Q0FMRSAxCnwgI2RlZmluZSBIQVZFX0ZTRUVLTyAxCnwgI2RlZmluZSBIQVZFX0dF VE9QVF9IIDEKfCAjZGVmaW5lIEhBVkVfR0VUT1BUX0xPTkdfT05MWSAxCnwgI2Rl ZmluZSBfX0dFVE9QVF9QUkVGSVggcnBsXwp8ICNkZWZpbmUgR0VUUEdSUF9WT0lE IDEKfCAjZGVmaW5lIEhBVkVfU1RSRlRJTUUgMQp8ICNkZWZpbmUgSEFWRV9HUkFO VFBUIDEKfCAjZGVmaW5lIEhBVkVfTElCTkNVUlNFUyAxCnwgI2RlZmluZSBIQVZF X0dFVFRJTUVPRkRBWSAxCnwgI2RlZmluZSBIQVZFX1RaTkFNRSAxCnwgI2RlZmlu ZSBIQVZFX0lORVRfU09DS0VUUyAxCnwgI2RlZmluZSBIQVZFX1NZU19JT0NUTF9I IDEKfCAjZGVmaW5lIEhBVkVfVU5JU1REX0ggMQp8IC8qIGVuZCBjb25mZGVmcy5o LiAgKi8KfCAjaW5jbHVkZSA8dmZvcmsuaD4KY29uZmlndXJlOjIyMTM3OiByZXN1 bHQ6IG5vCmNvbmZpZ3VyZToyMjE3MjogY2hlY2tpbmcgZm9yIHZmb3JrLmgKY29u ZmlndXJlOjIyMTc5OiByZXN1bHQ6IG5vCmNvbmZpZ3VyZToyMjE5NzogY2hlY2tp bmcgZm9yIGZvcmsKY29uZmlndXJlOjIyMjU0OiBnY2MgLW8gY29uZnRlc3QuZXhl IC1nIC1PMiAgICAgY29uZnRlc3QuYyAtbG5jdXJzZXMgLWxtICAgPiY1ICAKY29u ZmlndXJlOjIyMjYwOiAkPyA9IDAKY29uZmlndXJlOjIyMjY0OiB0ZXN0IC16IAoJ CQkgfHwgdGVzdCAhIC1zIGNvbmZ0ZXN0LmVycgpjb25maWd1cmU6MjIyNjc6ICQ/ ID0gMApjb25maWd1cmU6MjIyNzA6IHRlc3QgLXMgY29uZnRlc3QuZXhlCmNvbmZp Z3VyZToyMjI3MzogJD8gPSAwCmNvbmZpZ3VyZToyMjI4NTogcmVzdWx0OiB5ZXMK Y29uZmlndXJlOjIyMTk3OiBjaGVja2luZyBmb3IgdmZvcmsKY29uZmlndXJlOjIy MjU0OiBnY2MgLW8gY29uZnRlc3QuZXhlIC1nIC1PMiAgICAgY29uZnRlc3QuYyAt bG5jdXJzZXMgLWxtICAgPiY1ICAKY29uZmlndXJlOjIyMjYwOiAkPyA9IDAKY29u ZmlndXJlOjIyMjY0OiB0ZXN0IC16IAoJCQkgfHwgdGVzdCAhIC1zIGNvbmZ0ZXN0 LmVycgpjb25maWd1cmU6MjIyNjc6ICQ/ID0gMApjb25maWd1cmU6MjIyNzA6IHRl c3QgLXMgY29uZnRlc3QuZXhlCmNvbmZpZ3VyZToyMjI3MzogJD8gPSAwCmNvbmZp Z3VyZToyMjI4NTogcmVzdWx0OiB5ZXMKY29uZmlndXJlOjIyMjk2OiBjaGVja2lu ZyBmb3Igd29ya2luZyBmb3JrCmNvbmZpZ3VyZToyMjMxOTogZ2NjIC1vIGNvbmZ0 ZXN0LmV4ZSAtZyAtTzIgICAgIGNvbmZ0ZXN0LmMgLWxuY3Vyc2VzIC1sbSAgID4m NSAgCmNvbmZpZ3VyZToyMjMyMjogJD8gPSAwCmNvbmZpZ3VyZToyMjMyNDogLi9j b25mdGVzdC5leGUKY29uZmlndXJlOjIyMzI3OiAkPyA9IDAKY29uZmlndXJlOjIy MzQxOiByZXN1bHQ6IHllcwpjb25maWd1cmU6MjIzNjI6IGNoZWNraW5nIGZvciB3 b3JraW5nIHZmb3JrCmNvbmZpZ3VyZToyMjQ5NTogcmVzdWx0OiB5ZXMKY29uZmln dXJlOjIyNTI3OiBjaGVja2luZyBmb3IgbmxfbGFuZ2luZm8gYW5kIENPREVTRVQK Y29uZmlndXJlOjIyNTQ4OiBnY2MgLW8gY29uZnRlc3QuZXhlIC1nIC1PMiAgICAg Y29uZnRlc3QuYyAtbG5jdXJzZXMgLWxtICAgPiY1ICAKY29uZmlndXJlOjIyNTU0 OiAkPyA9IDAKY29uZmlndXJlOjIyNTU4OiB0ZXN0IC16IAoJCQkgfHwgdGVzdCAh IC1zIGNvbmZ0ZXN0LmVycgpjb25maWd1cmU6MjI1NjE6ICQ/ID0gMApjb25maWd1 cmU6MjI1NjQ6IHRlc3QgLXMgY29uZnRlc3QuZXhlCmNvbmZpZ3VyZToyMjU2Nzog JD8gPSAwCmNvbmZpZ3VyZToyMjU4MDogcmVzdWx0OiB5ZXMKY29uZmlndXJlOjIy NTkwOiBjaGVja2luZyBmb3Igc2l6ZV90CmNvbmZpZ3VyZToyMjYxNDogZ2NjIC1j IC1nIC1PMiAgICBjb25mdGVzdC5jID4mNQpjb25maWd1cmU6MjI2MjA6ICQ/ID0g MApjb25maWd1cmU6MjI2MjQ6IHRlc3QgLXogCgkJCSB8fCB0ZXN0ICEgLXMgY29u ZnRlc3QuZXJyCmNvbmZpZ3VyZToyMjYyNzogJD8gPSAwCmNvbmZpZ3VyZToyMjYz MDogdGVzdCAtcyBjb25mdGVzdC5vCmNvbmZpZ3VyZToyMjYzMzogJD8gPSAwCmNv bmZpZ3VyZToyMjY0NDogcmVzdWx0OiB5ZXMKY29uZmlndXJlOjIyNjU2OiBjaGVj a2luZyBmb3IgbWJzdGF0ZV90CmNvbmZpZ3VyZToyMjY3ODogZ2NjIC1jIC1nIC1P MiAgICBjb25mdGVzdC5jID4mNQpjb25maWd1cmU6MjI2ODQ6ICQ/ID0gMApjb25m aWd1cmU6MjI2ODg6IHRlc3QgLXogCgkJCSB8fCB0ZXN0ICEgLXMgY29uZnRlc3Qu ZXJyCmNvbmZpZ3VyZToyMjY5MTogJD8gPSAwCmNvbmZpZ3VyZToyMjY5NDogdGVz dCAtcyBjb25mdGVzdC5vCmNvbmZpZ3VyZToyMjY5NzogJD8gPSAwCmNvbmZpZ3Vy ZToyMjcwODogcmVzdWx0OiB5ZXMKY29uZmlndXJlOjIyNzI0OiBjaGVja2luZyBm b3IgQyByZXN0cmljdCBrZXl3b3JkCmNvbmZpZ3VyZToyMjc0NTogZ2NjIC1jIC1n IC1PMiAgICBjb25mdGVzdC5jID4mNQpjb25mdGVzdC5jOjE1NzogZXJyb3I6IHBh cnNlIGVycm9yIGJlZm9yZSAieCIKY29uZmlndXJlOjIyNzUxOiAkPyA9IDEKY29u ZmlndXJlOiBmYWlsZWQgcHJvZ3JhbSB3YXM6CnwgLyogY29uZmRlZnMuaC4gICov CnwgCnwgI2RlZmluZSBQQUNLQUdFX05BTUUgIiIKfCAjZGVmaW5lIFBBQ0tBR0Vf VEFSTkFNRSAiIgp8ICNkZWZpbmUgUEFDS0FHRV9WRVJTSU9OICIiCnwgI2RlZmlu ZSBQQUNLQUdFX1NUUklORyAiIgp8ICNkZWZpbmUgUEFDS0FHRV9CVUdSRVBPUlQg IiIKfCAjZGVmaW5lIE1BSUxfVVNFX1BPUCAxCnwgI2RlZmluZSBfR05VX1NPVVJD RSAxCnwgI2RlZmluZSBTVERDX0hFQURFUlMgMQp8ICNkZWZpbmUgSEFWRV9TWVNf VFlQRVNfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19TVEFUX0ggMQp8ICNkZWZpbmUg SEFWRV9TVERMSUJfSCAxCnwgI2RlZmluZSBIQVZFX1NUUklOR19IIDEKfCAjZGVm aW5lIEhBVkVfTUVNT1JZX0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJJTkdTX0ggMQp8 ICNkZWZpbmUgSEFWRV9JTlRUWVBFU19IIDEKfCAjZGVmaW5lIEhBVkVfU1RESU5U X0ggMQp8ICNkZWZpbmUgSEFWRV9VTklTVERfSCAxCnwgI2RlZmluZSBIQVZFX1NZ U19TT1VORENBUkRfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19TRUxFQ1RfSCAxCnwg I2RlZmluZSBIQVZFX1NZU19USU1FQl9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1RJ TUVfSCAxCnwgI2RlZmluZSBIQVZFX1VOSVNURF9IIDEKfCAjZGVmaW5lIEhBVkVf VVRJTUVfSCAxCnwgI2RlZmluZSBIQVZFX1RFUk1JT1NfSCAxCnwgI2RlZmluZSBI QVZFX0xJTUlUU19IIDEKfCAjZGVmaW5lIEhBVkVfU1RSSU5HX0ggMQp8ICNkZWZp bmUgSEFWRV9TVERMSUJfSCAxCnwgI2RlZmluZSBIQVZFX1RFUk1DQVBfSCAxCnwg I2RlZmluZSBIQVZFX0ZDTlRMX0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJJTkdTX0gg MQp8ICNkZWZpbmUgSEFWRV9QVFlfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19NTUFO X0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfUEFSQU1fSCAxCnwgI2RlZmluZSBIQVZF X1NZU19SRVNPVVJDRV9IIDEKfCAjZGVmaW5lIEhBVkVfTE9DQUxFX0ggMQp8ICNk ZWZpbmUgSEFWRV9TWVNfVVRTTkFNRV9IIDEKfCAjZGVmaW5lIEhBVkVfUFdEX0gg MQp8ICNkZWZpbmUgU1REQ19IRUFERVJTIDEKfCAjZGVmaW5lIFRJTUVfV0lUSF9T WVNfVElNRSAxCnwgI2RlZmluZSBIQVZFX0RFQ0xfU1lTX1NJR0xJU1QgMAp8ICNk ZWZpbmUgSEFWRV9ERUNMX19fU1lTX1NJR0xJU1QgMAp8ICNkZWZpbmUgSEFWRV9T WVNfV0FJVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1RSVUNUX1VUSU1CVUYgMQp8ICNk ZWZpbmUgUkVUU0lHVFlQRSB2b2lkCnwgI2RlZmluZSBIQVZFX1NQRUVEX1QgMQp8 ICNkZWZpbmUgSEFWRV9USU1FVkFMIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NPQ0tF VF9IIDEKfCAjZGVmaW5lIEhBVkVfTkVUX0lGX0ggMQp8ICNkZWZpbmUgSEFWRV9U Wk5BTUUgMQp8ICNkZWZpbmUgSEFWRV9TVFJVQ1RfSUZSRVFfSUZSX0ZMQUdTIDEK fCAjZGVmaW5lIEhBVkVfU1RSVUNUX0lGUkVRX0lGUl9IV0FERFIgMQp8ICNkZWZp bmUgSEFWRV9TVFJVQ1RfSUZSRVFfSUZSX05FVE1BU0sgMQp8ICNkZWZpbmUgSEFW RV9TVFJVQ1RfSUZSRVFfSUZSX0JST0FEQUREUiAxCnwgI2RlZmluZSBIQVZFX1NU UlVDVF9JRlJFUV9JRlJfQUREUiAxCnwgI2RlZmluZSBQUk9UT1RZUEVTIDEKfCAj ZGVmaW5lIF9fUFJPVE9UWVBFUyAxCnwgI2RlZmluZSBQT0lOVEVSX1RZUEUgdm9p ZAp8ICNkZWZpbmUgSEFWRV9MT05HX0ZJTEVfTkFNRVMgMQp8ICNkZWZpbmUgSEFW RV9TVERMSUJfSCAxCnwgI2RlZmluZSBIQVZFX1VOSVNURF9IIDEKfCAjZGVmaW5l IEhBVkVfR0VUUEFHRVNJWkUgMQp8ICNkZWZpbmUgVVNFX1hJTSAxCnwgI2RlZmlu ZSBIQVZFX0hfRVJSTk8gMQp8ICNkZWZpbmUgSEFWRV9BTExPQ0FfSCAxCnwgI2Rl ZmluZSBIQVZFX0FMTE9DQSAxCnwgI2RlZmluZSBIQVZFX0xJQk0gMQp8ICNkZWZp bmUgSEFWRV9HRVRIT1NUTkFNRSAxCnwgI2RlZmluZSBIQVZFX0dFVERPTUFJTk5B TUUgMQp8ICNkZWZpbmUgSEFWRV9EVVAyIDEKfCAjZGVmaW5lIEhBVkVfUkVOQU1F IDEKfCAjZGVmaW5lIEhBVkVfQ0xPU0VESVIgMQp8ICNkZWZpbmUgSEFWRV9NS0RJ UiAxCnwgI2RlZmluZSBIQVZFX1JNRElSIDEKfCAjZGVmaW5lIEhBVkVfR0VUUlVT QUdFIDEKfCAjZGVmaW5lIEhBVkVfUkFORE9NIDEKfCAjZGVmaW5lIEhBVkVfTFJB TkQ0OCAxCnwgI2RlZmluZSBIQVZFX0JDT1BZIDEKfCAjZGVmaW5lIEhBVkVfQkNN UCAxCnwgI2RlZmluZSBIQVZFX0xPR0IgMQp8ICNkZWZpbmUgSEFWRV9GUkVYUCAx CnwgI2RlZmluZSBIQVZFX0ZNT0QgMQp8ICNkZWZpbmUgSEFWRV9SSU5UIDEKfCAj ZGVmaW5lIEhBVkVfQ0JSVCAxCnwgI2RlZmluZSBIQVZFX0ZUSU1FIDEKfCAjZGVm aW5lIEhBVkVfU0VUU0lEIDEKfCAjZGVmaW5lIEhBVkVfU1RSRVJST1IgMQp8ICNk ZWZpbmUgSEFWRV9GUEFUSENPTkYgMQp8ICNkZWZpbmUgSEFWRV9TRUxFQ1QgMQp8 ICNkZWZpbmUgSEFWRV9NS1RJTUUgMQp8ICNkZWZpbmUgSEFWRV9HRVRQQUdFU0la RSAxCnwgI2RlZmluZSBIQVZFX1RaU0VUIDEKfCAjZGVmaW5lIEhBVkVfU0VUTE9D QUxFIDEKfCAjZGVmaW5lIEhBVkVfVVRJTUVTIDEKfCAjZGVmaW5lIEhBVkVfU0VU UkxJTUlUIDEKfCAjZGVmaW5lIEhBVkVfU0VUUEdJRCAxCnwgI2RlZmluZSBIQVZF X0dFVENXRCAxCnwgI2RlZmluZSBIQVZFX0dFVFdEIDEKfCAjZGVmaW5lIEhBVkVf U0hVVERPV04gMQp8ICNkZWZpbmUgSEFWRV9NQkxFTiAxCnwgI2RlZmluZSBIQVZF X01CUkxFTiAxCnwgI2RlZmluZSBIQVZFX01CU0lOSVQgMQp8ICNkZWZpbmUgSEFW RV9TVFJTSUdOQUwgMQp8ICNkZWZpbmUgSEFWRV9TRVRJVElNRVIgMQp8ICNkZWZp bmUgSEFWRV9VQUxBUk0gMQp8ICNkZWZpbmUgSEFWRV9JTkRFWCAxCnwgI2RlZmlu ZSBIQVZFX1JJTkRFWCAxCnwgI2RlZmluZSBIQVZFX1NFTkRUTyAxCnwgI2RlZmlu ZSBIQVZFX1JFQ1ZGUk9NIDEKfCAjZGVmaW5lIEhBVkVfR0VUU09DS09QVCAxCnwg I2RlZmluZSBIQVZFX1NFVFNPQ0tPUFQgMQp8ICNkZWZpbmUgSEFWRV9HRVRTT0NL TkFNRSAxCnwgI2RlZmluZSBIQVZFX0dFVFBFRVJOQU1FIDEKfCAjZGVmaW5lIEhB VkVfTUtTVEVNUCAxCnwgI2RlZmluZSBIQVZFX0dFVExJTkUgMQp8ICNkZWZpbmUg SEFWRV9HRVRERUxJTSAxCnwgI2RlZmluZSBIQVZFX01FTU1PVkUgMQp8ICNkZWZp bmUgSEFWRV9GU1lOQyAxCnwgI2RlZmluZSBIQVZFX0JaRVJPIDEKfCAjZGVmaW5l IEhBVkVfTUVNU0VUIDEKfCAjZGVmaW5lIEhBVkVfTUVNQ01QIDEKfCAjZGVmaW5l IEhBVkVfRElGRlRJTUUgMQp8ICNkZWZpbmUgSEFWRV9NRU1DUFkgMQp8ICNkZWZp bmUgSEFWRV9NRU1QQ1BZIDEKfCAjZGVmaW5lIEhBVkVfTUJMRU4gMQp8ICNkZWZp bmUgSEFWRV9NQlJMRU4gMQp8ICNkZWZpbmUgSEFWRV9TWVNfVU5fSCAxCnwgI2Rl ZmluZSBIQVZFX1NURExJQl9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1RJTUVfSCAx CnwgI2RlZmluZSBIQVZFX1VOSVNURF9IIDEKfCAjZGVmaW5lIEhBVkVfQUxBUk0g MQp8ICNkZWZpbmUgQlJPS0VOX01LVElNRSAxCnwgI2RlZmluZSBDX0dFVExPQURB VkcgMQp8ICNkZWZpbmUgSEFWRV9TRVRMT0NBTEUgMQp8ICNkZWZpbmUgSEFWRV9G U0VFS08gMQp8ICNkZWZpbmUgSEFWRV9HRVRPUFRfSCAxCnwgI2RlZmluZSBIQVZF X0dFVE9QVF9MT05HX09OTFkgMQp8ICNkZWZpbmUgX19HRVRPUFRfUFJFRklYIHJw bF8KfCAjZGVmaW5lIEdFVFBHUlBfVk9JRCAxCnwgI2RlZmluZSBIQVZFX1NUUkZU SU1FIDEKfCAjZGVmaW5lIEhBVkVfR1JBTlRQVCAxCnwgI2RlZmluZSBIQVZFX0xJ Qk5DVVJTRVMgMQp8ICNkZWZpbmUgSEFWRV9HRVRUSU1FT0ZEQVkgMQp8ICNkZWZp bmUgSEFWRV9UWk5BTUUgMQp8ICNkZWZpbmUgSEFWRV9JTkVUX1NPQ0tFVFMgMQp8 ICNkZWZpbmUgSEFWRV9TWVNfSU9DVExfSCAxCnwgI2RlZmluZSBIQVZFX1VOSVNU RF9IIDEKfCAjZGVmaW5lIEhBVkVfRk9SSyAxCnwgI2RlZmluZSBIQVZFX1ZGT1JL IDEKfCAjZGVmaW5lIEhBVkVfV09SS0lOR19WRk9SSyAxCnwgI2RlZmluZSBIQVZF X1dPUktJTkdfRk9SSyAxCnwgI2RlZmluZSBIQVZFX0xBTkdJTkZPX0NPREVTRVQg MQp8ICNkZWZpbmUgSEFWRV9TSVpFX1QgMQp8ICNkZWZpbmUgSEFWRV9NQlNUQVRF X1QgMQp8IC8qIGVuZCBjb25mZGVmcy5oLiAgKi8KfCB2b2lkIGZyZWQgKGludCAq cmVzdHJpY3QgeCk7CnwgaW50CnwgbWFpbiAoKQp8IHsKfCAKfCAgIDsKfCAgIHJl dHVybiAwOwp8IH0KY29uZmlndXJlOjIyNzg3OiBnY2MgLWMgLWcgLU8yICAgIGNv bmZ0ZXN0LmMgPiY1CmNvbmZpZ3VyZToyMjc5MzogJD8gPSAwCmNvbmZpZ3VyZToy Mjc5NzogdGVzdCAteiAKCQkJIHx8IHRlc3QgISAtcyBjb25mdGVzdC5lcnIKY29u ZmlndXJlOjIyODAwOiAkPyA9IDAKY29uZmlndXJlOjIyODAzOiB0ZXN0IC1zIGNv bmZ0ZXN0Lm8KY29uZmlndXJlOjIyODA2OiAkPyA9IDAKY29uZmlndXJlOjIyODE5 OiByZXN1bHQ6IF9fcmVzdHJpY3QKY29uZmlndXJlOjIyODM0OiBjaGVja2luZyBm b3IgQyByZXN0cmljdGVkIGFycmF5IGRlY2xhcmF0aW9ucwpjb25maWd1cmU6MjI4 NTU6IGdjYyAtYyAtZyAtTzIgICAgY29uZnRlc3QuYyA+JjUKY29uZmlndXJlOjIy ODYxOiAkPyA9IDAKY29uZmlndXJlOjIyODY1OiB0ZXN0IC16IAoJCQkgfHwgdGVz dCAhIC1zIGNvbmZ0ZXN0LmVycgpjb25maWd1cmU6MjI4Njg6ICQ/ID0gMApjb25m aWd1cmU6MjI4NzE6IHRlc3QgLXMgY29uZnRlc3Qubwpjb25maWd1cmU6MjI4NzQ6 ICQ/ID0gMApjb25maWd1cmU6MjI4ODU6IHJlc3VsdDogeWVzCmNvbmZpZ3VyZToy MzIxNTogY3JlYXRpbmcgLi9jb25maWcuc3RhdHVzCgojIyAtLS0tLS0tLS0tLS0t LS0tLS0tLS0tICMjCiMjIFJ1bm5pbmcgY29uZmlnLnN0YXR1cy4gIyMKIyMgLS0t LS0tLS0tLS0tLS0tLS0tLS0tLSAjIwoKVGhpcyBmaWxlIHdhcyBleHRlbmRlZCBi eSBjb25maWcuc3RhdHVzLCB3aGljaCB3YXMKZ2VuZXJhdGVkIGJ5IEdOVSBBdXRv Y29uZiAyLjU5LiAgSW52b2NhdGlvbiBjb21tYW5kIGxpbmUgd2FzCgogIENPTkZJ R19GSUxFUyAgICA9IAogIENPTkZJR19IRUFERVJTICA9IAogIENPTkZJR19MSU5L UyAgICA9IAogIENPTkZJR19DT01NQU5EUyA9IAogICQgLi9jb25maWcuc3RhdHVz IAoKb24gYXN1cwoKY29uZmlnLnN0YXR1czo3MjI6IGNyZWF0aW5nIE1ha2VmaWxl CmNvbmZpZy5zdGF0dXM6NzIyOiBjcmVhdGluZyBsaWItc3JjL01ha2VmaWxlLmMK Y29uZmlnLnN0YXR1czo3MjI6IGNyZWF0aW5nIG9sZFhNZW51L01ha2VmaWxlCmNv bmZpZy5zdGF0dXM6NzIyOiBjcmVhdGluZyBtYW4vTWFrZWZpbGUKY29uZmlnLnN0 YXR1czo3MjI6IGNyZWF0aW5nIGx3bGliL01ha2VmaWxlCmNvbmZpZy5zdGF0dXM6 NzIyOiBjcmVhdGluZyBzcmMvTWFrZWZpbGUuYwpjb25maWcuc3RhdHVzOjcyMjog Y3JlYXRpbmcgbGlzcC9NYWtlZmlsZQpjb25maWcuc3RhdHVzOjcyMjogY3JlYXRp bmcgbGlzcHJlZi9NYWtlZmlsZQpjb25maWcuc3RhdHVzOjcyMjogY3JlYXRpbmcg bGlzcGludHJvL01ha2VmaWxlCmNvbmZpZy5zdGF0dXM6NzIyOiBjcmVhdGluZyBs ZWltL01ha2VmaWxlCmNvbmZpZy5zdGF0dXM6ODE5OiBjcmVhdGluZyBzcmMvY29u ZmlnLmgKY29uZmlnLnN0YXR1czoxNDQ5OiBleGVjdXRpbmcgZGVmYXVsdCBjb21t YW5kcwoKIyMgLS0tLS0tLS0tLS0tLS0tLSAjIwojIyBDYWNoZSB2YXJpYWJsZXMu ICMjCiMjIC0tLS0tLS0tLS0tLS0tLS0gIyMKCmFjX2N2X2J1aWxkPWk2ODYtcGMt Y3lnd2luCmFjX2N2X2J1aWxkX2FsaWFzPWk2ODYtcGMtY3lnd2luCmFjX2N2X2Nf Y29tcGlsZXJfZ251PXllcwphY19jdl9jX2NvbnN0PXllcwphY19jdl9jX3ZvbGF0 aWxlPXllcwphY19jdl9lbnZfQ0Nfc2V0PQphY19jdl9lbnZfQ0NfdmFsdWU9CmFj X2N2X2Vudl9DRkxBR1Nfc2V0PQphY19jdl9lbnZfQ0ZMQUdTX3ZhbHVlPQphY19j dl9lbnZfQ1BQRkxBR1Nfc2V0PQphY19jdl9lbnZfQ1BQRkxBR1NfdmFsdWU9CmFj X2N2X2Vudl9DUFBfc2V0PQphY19jdl9lbnZfQ1BQX3ZhbHVlPQphY19jdl9lbnZf TERGTEFHU19zZXQ9CmFjX2N2X2Vudl9MREZMQUdTX3ZhbHVlPQphY19jdl9lbnZf YnVpbGRfYWxpYXNfc2V0PQphY19jdl9lbnZfYnVpbGRfYWxpYXNfdmFsdWU9CmFj X2N2X2Vudl9ob3N0X2FsaWFzX3NldD0KYWNfY3ZfZW52X2hvc3RfYWxpYXNfdmFs dWU9CmFjX2N2X2Vudl90YXJnZXRfYWxpYXNfc2V0PQphY19jdl9lbnZfdGFyZ2V0 X2FsaWFzX3ZhbHVlPQphY19jdl9leGVleHQ9LmV4ZQphY19jdl9mdW5jX19fZnBl bmRpbmc9bm8KYWNfY3ZfZnVuY19hbGFybT15ZXMKYWNfY3ZfZnVuY19hbGxvY2Ff d29ya3M9eWVzCmFjX2N2X2Z1bmNfYmNtcD15ZXMKYWNfY3ZfZnVuY19iY29weT15 ZXMKYWNfY3ZfZnVuY19iemVybz15ZXMKYWNfY3ZfZnVuY19jYnJ0PXllcwphY19j dl9mdW5jX2Nsb3NlZGlyPXllcwphY19jdl9mdW5jX2RpZmZ0aW1lPXllcwphY19j dl9mdW5jX2R1cDI9eWVzCmFjX2N2X2Z1bmNfZXVpZGFjY2Vzcz1ubwphY19jdl9m dW5jX2Ztb2Q9eWVzCmFjX2N2X2Z1bmNfZm9yaz15ZXMKYWNfY3ZfZnVuY19mb3Jr X3dvcmtzPXllcwphY19jdl9mdW5jX2ZwYXRoY29uZj15ZXMKYWNfY3ZfZnVuY19m cmV4cD15ZXMKYWNfY3ZfZnVuY19mc2Vla289eWVzCmFjX2N2X2Z1bmNfZnN5bmM9 eWVzCmFjX2N2X2Z1bmNfZnRpbWU9eWVzCmFjX2N2X2Z1bmNfZ2FpX3N0cmVycm9y PW5vCmFjX2N2X2Z1bmNfZ2V0X2N1cnJlbnRfZGlyX25hbWU9bm8KYWNfY3ZfZnVu Y19nZXRhZGRyaW5mbz1ubwphY19jdl9mdW5jX2dldGN3ZD15ZXMKYWNfY3ZfZnVu Y19nZXRkZWxpbT15ZXMKYWNfY3ZfZnVuY19nZXRkb21haW5uYW1lPXllcwphY19j dl9mdW5jX2dldGhvc3RuYW1lPXllcwphY19jdl9mdW5jX2dldGxpbmU9eWVzCmFj X2N2X2Z1bmNfZ2V0bG9hZGF2Zz1ubwphY19jdl9mdW5jX2dldGxvYWRhdmdfc2V0 Z2lkPW5vCmFjX2N2X2Z1bmNfZ2V0b3B0X2xvbmdfb25seT15ZXMKYWNfY3ZfZnVu Y19nZXRwYWdlc2l6ZT15ZXMKYWNfY3ZfZnVuY19nZXRwZWVybmFtZT15ZXMKYWNf Y3ZfZnVuY19nZXRwZ3JwX3ZvaWQ9eWVzCmFjX2N2X2Z1bmNfZ2V0cHQ9bm8KYWNf Y3ZfZnVuY19nZXRydXNhZ2U9eWVzCmFjX2N2X2Z1bmNfZ2V0c29ja25hbWU9eWVz CmFjX2N2X2Z1bmNfZ2V0c29ja29wdD15ZXMKYWNfY3ZfZnVuY19nZXR0aW1lb2Zk YXk9eWVzCmFjX2N2X2Z1bmNfZ2V0d2Q9eWVzCmFjX2N2X2Z1bmNfZ3JhbnRwdD15 ZXMKYWNfY3ZfZnVuY19pbmRleD15ZXMKYWNfY3ZfZnVuY19sb2diPXllcwphY19j dl9mdW5jX2xyYW5kNDg9eWVzCmFjX2N2X2Z1bmNfbWFsbG9jX2dldF9zdGF0ZT1u bwphY19jdl9mdW5jX21hbGxvY19zZXRfc3RhdGU9bm8KYWNfY3ZfZnVuY19tYmxl bj15ZXMKYWNfY3ZfZnVuY19tYnJsZW49eWVzCmFjX2N2X2Z1bmNfbWJzaW5pdD15 ZXMKYWNfY3ZfZnVuY19tZW1jbXA9eWVzCmFjX2N2X2Z1bmNfbWVtY3B5PXllcwph Y19jdl9mdW5jX21lbW1vdmU9eWVzCmFjX2N2X2Z1bmNfbWVtcGNweT15ZXMKYWNf Y3ZfZnVuY19tZW1zZXQ9eWVzCmFjX2N2X2Z1bmNfbWtkaXI9eWVzCmFjX2N2X2Z1 bmNfbWtzdGVtcD15ZXMKYWNfY3ZfZnVuY19ta3RpbWU9eWVzCmFjX2N2X2Z1bmNf bW1hcF9maXhlZF9tYXBwZWQ9bm8KYWNfY3ZfZnVuY19tcmVtYXA9bm8KYWNfY3Zf ZnVuY19wb3NpeF9tZW1hbGlnbj1ubwphY19jdl9mdW5jX3BzdGF0X2dldGR5bmFt aWM9bm8KYWNfY3ZfZnVuY19yYW5kb209eWVzCmFjX2N2X2Z1bmNfcmVjdmZyb209 eWVzCmFjX2N2X2Z1bmNfcmVuYW1lPXllcwphY19jdl9mdW5jX3Jlc19pbml0PW5v CmFjX2N2X2Z1bmNfcmluZGV4PXllcwphY19jdl9mdW5jX3JpbnQ9eWVzCmFjX2N2 X2Z1bmNfcm1kaXI9eWVzCmFjX2N2X2Z1bmNfc2VsZWN0PXllcwphY19jdl9mdW5j X3NlbmR0bz15ZXMKYWNfY3ZfZnVuY19zZXRpdGltZXI9eWVzCmFjX2N2X2Z1bmNf c2V0bG9jYWxlPXllcwphY19jdl9mdW5jX3NldHBnaWQ9eWVzCmFjX2N2X2Z1bmNf c2V0cmxpbWl0PXllcwphY19jdl9mdW5jX3NldHNpZD15ZXMKYWNfY3ZfZnVuY19z ZXRzb2Nrb3B0PXllcwphY19jdl9mdW5jX3NodXRkb3duPXllcwphY19jdl9mdW5j X3NvY2tldD15ZXMKYWNfY3ZfZnVuY19zdHJlcnJvcj15ZXMKYWNfY3ZfZnVuY19z dHJmdGltZT15ZXMKYWNfY3ZfZnVuY19zdHJzaWduYWw9eWVzCmFjX2N2X2Z1bmNf c3lzaW5mbz1ubwphY19jdl9mdW5jX3RvdWNobG9jaz1ubwphY19jdl9mdW5jX3R6 c2V0PXllcwphY19jdl9mdW5jX3VhbGFybT15ZXMKYWNfY3ZfZnVuY191dGltZXM9 eWVzCmFjX2N2X2Z1bmNfdmZvcms9eWVzCmFjX2N2X2Z1bmNfdmZvcmtfd29ya3M9 eWVzCmFjX2N2X2Z1bmNfd29ya2luZ19ta3RpbWU9bm8KYWNfY3ZfaGF2ZV9kZWNs X19fc3lzX3NpZ2xpc3Q9bm8KYWNfY3ZfaGF2ZV9kZWNsX29wdHJlc2V0PXllcwph Y19jdl9oYXZlX2RlY2xfc3lzX3NpZ2xpc3Q9bm8KYWNfY3ZfaGVhZGVyX0NhcmJv bl9DYXJib25faD1ubwphY19jdl9oZWFkZXJfYXJwYV9pbmV0X2g9eWVzCmFjX2N2 X2hlYWRlcl9jb2ZmX2g9bm8KYWNfY3ZfaGVhZGVyX2ZjbnRsX2g9eWVzCmFjX2N2 X2hlYWRlcl9nZXRvcHRfaD15ZXMKYWNfY3ZfaGVhZGVyX2lucV9zdGF0c19jcHVz dGF0c19oPW5vCmFjX2N2X2hlYWRlcl9pbnR0eXBlc19oPXllcwphY19jdl9oZWFk ZXJfbGltaXRzX2g9eWVzCmFjX2N2X2hlYWRlcl9saW51eF92ZXJzaW9uX2g9bm8K YWNfY3ZfaGVhZGVyX2xvY2FsZV9oPXllcwphY19jdl9oZWFkZXJfbWFjaF9tYWNo X2g9bm8KYWNfY3ZfaGVhZGVyX21hY2hpbmVfc291bmRjYXJkX2g9bm8KYWNfY3Zf aGVhZGVyX21haWxsb2NrX2g9bm8KYWNfY3ZfaGVhZGVyX21hbGxvY19tYWxsb2Nf aD1ubwphY19jdl9oZWFkZXJfbWVtb3J5X2g9eWVzCmFjX2N2X2hlYWRlcl9uZXRf aWZfaD15ZXMKYWNfY3ZfaGVhZGVyX25ldGluZXRfaW5faD15ZXMKYWNfY3ZfaGVh ZGVyX25saXN0X2g9bm8KYWNfY3ZfaGVhZGVyX3B0eV9oPXllcwphY19jdl9oZWFk ZXJfcHdkX2g9eWVzCmFjX2N2X2hlYWRlcl9zb3VuZGNhcmRfaD1ubwphY19jdl9o ZWFkZXJfc3RkYz15ZXMKYWNfY3ZfaGVhZGVyX3N0ZGludF9oPXllcwphY19jdl9o ZWFkZXJfc3RkaW9fZXh0X2g9bm8KYWNfY3ZfaGVhZGVyX3N0ZGxpYl9oPXllcwph Y19jdl9oZWFkZXJfc3RyaW5nX2g9eWVzCmFjX2N2X2hlYWRlcl9zdHJpbmdzX2g9 eWVzCmFjX2N2X2hlYWRlcl9zeXNfX21ic3RhdGVfdF9oPW5vCmFjX2N2X2hlYWRl cl9zeXNfY3B1c3RhdHNfaD1ubwphY19jdl9oZWFkZXJfc3lzX2RnX3N5c19pbmZv X2g9bm8KYWNfY3ZfaGVhZGVyX3N5c19pb2N0bF9oPXllcwphY19jdl9oZWFkZXJf c3lzX21tYW5faD15ZXMKYWNfY3ZfaGVhZGVyX3N5c19wYXJhbV9oPXllcwphY19j dl9oZWFkZXJfc3lzX3Jlc291cmNlX2g9eWVzCmFjX2N2X2hlYWRlcl9zeXNfc2Vs ZWN0X2g9eWVzCmFjX2N2X2hlYWRlcl9zeXNfc29ja2V0X2g9eWVzCmFjX2N2X2hl YWRlcl9zeXNfc291bmRjYXJkX2g9eWVzCmFjX2N2X2hlYWRlcl9zeXNfc3RhdF9o PXllcwphY19jdl9oZWFkZXJfc3lzX3N5c3RlbWluZm9faD1ubwphY19jdl9oZWFk ZXJfc3lzX3RpbWVfaD15ZXMKYWNfY3ZfaGVhZGVyX3N5c190aW1lYl9oPXllcwph Y19jdl9oZWFkZXJfc3lzX3R5cGVzX2g9eWVzCmFjX2N2X2hlYWRlcl9zeXNfdW5f aD15ZXMKYWNfY3ZfaGVhZGVyX3N5c191dHNuYW1lX2g9eWVzCmFjX2N2X2hlYWRl cl9zeXNfdmxpbWl0X2g9bm8KYWNfY3ZfaGVhZGVyX3N5c193YWl0X2g9eWVzCmFj X2N2X2hlYWRlcl90ZXJtX2g9bm8KYWNfY3ZfaGVhZGVyX3Rlcm1jYXBfaD15ZXMK YWNfY3ZfaGVhZGVyX3Rlcm1pb3NfaD15ZXMKYWNfY3ZfaGVhZGVyX3RpbWU9eWVz CmFjX2N2X2hlYWRlcl91bmlzdGRfaD15ZXMKYWNfY3ZfaGVhZGVyX3V0aW1lX2g9 eWVzCmFjX2N2X2hlYWRlcl92Zm9ya19oPW5vCmFjX2N2X2hvc3Q9aTY4Ni1wYy1j eWd3aW4KYWNfY3ZfaG9zdF9hbGlhcz1pNjg2LXBjLWN5Z3dpbgphY19jdl9saWJf WGJzZF9tYWluPW5vCmFjX2N2X2xpYl9kbmV0X2RuZXRfbnRvYT1ubwphY19jdl9s aWJfZWxmX2VsZl9iZWdpbj1ubwphY19jdl9saWJfZ2V0bG9hZGF2Z19nZXRsb2Fk YXZnPW5vCmFjX2N2X2xpYl9pbnRsX2RnZXR0ZXh0PW5vCmFjX2N2X2xpYl9rc3Rh dF9rc3RhdF9vcGVuPW5vCmFjX2N2X2xpYl9rdm1fa3ZtX29wZW49bm8KYWNfY3Zf bGliX2xvY2tmaWxlX21haWxsb2NrPW5vCmFjX2N2X2xpYl9tX3NxcnQ9eWVzCmFj X2N2X2xpYl9tYWlsX21haWxsb2NrPW5vCmFjX2N2X2xpYl9uY3Vyc2VzX3RwYXJt PXllcwphY19jdl9saWJfb3NzYXVkaW9fX29zc19pb2N0bD1ubwphY19jdl9saWJf cHRocmVhZHNfY21hX29wZW49bm8KYWNfY3ZfbGliX3V0aWxfZ2V0bG9hZGF2Zz1u bwphY19jdl9tZW1iZXJfc3RydWN0X2lmcmVxX2lmcl9hZGRyPXllcwphY19jdl9t ZW1iZXJfc3RydWN0X2lmcmVxX2lmcl9icm9hZGFkZHI9eWVzCmFjX2N2X21lbWJl cl9zdHJ1Y3RfaWZyZXFfaWZyX2ZsYWdzPXllcwphY19jdl9tZW1iZXJfc3RydWN0 X2lmcmVxX2lmcl9od2FkZHI9eWVzCmFjX2N2X21lbWJlcl9zdHJ1Y3RfaWZyZXFf aWZyX25ldG1hc2s9eWVzCmFjX2N2X21lbWJlcl9zdHJ1Y3RfdG1fdG1fZ210b2Zm PW5vCmFjX2N2X21lbWJlcl9zdHJ1Y3RfdG1fdG1fem9uZT1ubwphY19jdl9vYmpl eHQ9bwphY19jdl9wYXRoX0daSVBfUFJPRz0vdXNyL2Jpbi9nemlwCmFjX2N2X3Bh dGhfSU5TVEFMTF9JTkZPPS91c3IvYmluL2luc3RhbGwtaW5mbwphY19jdl9wYXRo X1BLR19DT05GSUc9bm8KYWNfY3ZfcGF0aF9pbnN0YWxsPScvdXNyL2Jpbi9pbnN0 YWxsIC1jJwphY19jdl9wcm9nX0NQUD0nZ2NjIC1FJwphY19jdl9wcm9nX2FjX2N0 X0NDPWdjYwphY19jdl9wcm9nX2FjX2N0X1JBTkxJQj1yYW5saWIKYWNfY3ZfcHJv Z19jY19nPXllcwphY19jdl9wcm9nX2NjX3N0ZGM9CmFjX2N2X3Byb2dfZWdyZXA9 J2dyZXAgLUUnCmFjX2N2X3Byb2dfbGlibG9ja2ZpbGU9bm8KYWNfY3ZfcHJvZ19t YWtlX21ha2Vfc2V0PXllcwphY19jdl9zdHJ1Y3RfdG09dGltZS5oCmFjX2N2X3N5 c19maWxlX29mZnNldF9iaXRzPW5vCmFjX2N2X3N5c19sYXJnZV9maWxlcz1ubwph Y19jdl9zeXNfbGFyZ2VmaWxlX0NDPW5vCmFjX2N2X3N5c19sYXJnZWZpbGVfc291 cmNlPW5vCmFjX2N2X3N5c19sb25nX2ZpbGVfbmFtZXM9eWVzCmFjX2N2X3R5cGVf bWJzdGF0ZV90PXllcwphY19jdl90eXBlX3BpZF90PXllcwphY19jdl90eXBlX3Np Z25hbD12b2lkCmFjX2N2X3R5cGVfc2l6ZV90PXllcwphY19jdl92YXJfdHpuYW1l PXllcwphY19jdl93b3JraW5nX2FsbG9jYV9oPXllcwplbWFjc19jdl9jX3Jlc3Ry aWN0PV9fcmVzdHJpY3QKZW1hY3NfY3ZfY19yZXN0cmljdF9hcnI9eWVzCmVtYWNz X2N2X2dldHRpbWVvZmRheV90d29fYXJndW1lbnRzPXllcwplbWFjc19jdl9sYW5n aW5mb19jb2Rlc2V0PXllcwplbWFjc19jdl9sb2NhbHRpbWVfY2FjaGU9bm8KZW1h Y3NfY3ZfbmV0ZGJfZGVjbGFyZXNfaF9lcnJubz15ZXMKZW1hY3NfY3ZfcGVyc29u YWxpdHlfbGludXgzMj1ubwplbWFjc19jdl9zcGVlZF90PXllcwplbWFjc19jdl9z dHJ1Y3RfZXhjZXB0aW9uPXllcwplbWFjc19jdl9zdHJ1Y3RfdGltZXZhbD15ZXMK ZW1hY3NfY3Zfc3RydWN0X3RpbWV6b25lPXllcwplbWFjc19jdl9zdHJ1Y3RfdXRp bWJ1Zj15ZXMKZW1hY3NfY3ZfdmFyX19fYWZ0ZXJfbW9yZWNvcmVfaG9vaz1ubwpl bWFjc19jdl92b2lkX3N0YXI9eWVzCgojIyAtLS0tLS0tLS0tLS0tLS0tLSAjIwoj IyBPdXRwdXQgdmFyaWFibGVzLiAjIwojIyAtLS0tLS0tLS0tLS0tLS0tLSAjIwoK QUxMT0NBPScnCkFMU0FfQ0ZMQUdTPScnCkFMU0FfTElCUz0nJwpDQz0nZ2NjJwpD RkxBR1M9Jy1nIC1PMiAnCkNGTEFHU19TT1VORD0nJwpDUFA9J2djYyAtRScKQ1BQ RkxBR1M9JyAgJwpDX1NXSVRDSF9YX1NJVEU9JycKREVGUz0nLURIQVZFX0NPTkZJ R19IJwpFQ0hPX0M9JycKRUNIT19OPSctbicKRUNIT19UPScnCkVHUkVQPSdncmVw IC1FJwpFWEVFWFQ9Jy5leGUnCkdFVExPQURBVkdfTElCUz0nJwpHRVRPUFRPQkpT PSdnZXRvcHQubyBnZXRvcHQxLm8nCkdFVE9QVF9IPSdnZXRvcHQuaCcKR1RLX0NG TEFHUz0nJwpHVEtfTElCUz0nJwpHWklQX1BST0c9Jy91c3IvYmluL2d6aXAnCklO U1RBTExfREFUQT0nJHtJTlNUQUxMfSAtbSA2NDQnCklOU1RBTExfSU5GTz0nL3Vz ci9iaW4vaW5zdGFsbC1pbmZvJwpJTlNUQUxMX1BST0dSQU09JyR7SU5TVEFMTH0n CklOU1RBTExfU0NSSVBUPScke0lOU1RBTEx9JwpLTUVNX0dST1VQPScnCkxERkxB R1M9JycKTERfU1dJVENIX1hfU0lURT0nJwpMRF9TV0lUQ0hfWF9TSVRFX0FVWD0n JwpMSUJPQkpTPScgbWt0aW1lJFUubyBnZXRsb2FkYXZnJFUubycKTElCUz0nLWxu Y3Vyc2VzIC1sbSAgJwpMSUJTT1VORD0nJwpMTl9TPSdsbiAtcycKTFRMSUJPQkpT PScgbWt0aW1lJFUubG8gZ2V0bG9hZGF2ZyRVLmxvJwpNQUlOVD0nIycKTkVFRF9T RVRHSUQ9J2ZhbHNlJwpPQkpFWFQ9J28nClBBQ0tBR0VfQlVHUkVQT1JUPScnClBB Q0tBR0VfTkFNRT0nJwpQQUNLQUdFX1NUUklORz0nJwpQQUNLQUdFX1RBUk5BTUU9 JycKUEFDS0FHRV9WRVJTSU9OPScnClBBVEhfU0VQQVJBVE9SPSc6JwpQS0dfQ09O RklHPSdubycKUkFOTElCPSdyYW5saWInClNFVF9NQUtFPScnClNIRUxMPScvYmlu L3NoJwpYX1RPT0xLSVRfVFlQRT0nbm9uZScKYWNfY3RfQ0M9J2djYycKYWNfY3Rf UkFOTElCPSdyYW5saWInCmFyY2hsaWJkaXI9JyR7bGliZXhlY2Rpcn0vZW1hY3Mv JHt2ZXJzaW9ufS8ke2NvbmZpZ3VyYXRpb259JwpiaW5kaXI9JyR7ZXhlY19wcmVm aXh9L2JpbicKYml0bWFwZGlyPScnCmJ1aWxkPSdpNjg2LXBjLWN5Z3dpbicKYnVp bGRfYWxpYXM9JycKYnVpbGRfY3B1PSdpNjg2JwpidWlsZF9vcz0nY3lnd2luJwpi dWlsZF92ZW5kb3I9J3BjJwpjX3N3aXRjaF9tYWNoaW5lPScnCmNfc3dpdGNoX3N5 c3RlbT0nJwpjYW5vbmljYWw9J2k2ODYtcGMtY3lnd2luJwpjYXJib25fYXBwZGly PScnCmNvbmZpZ3VyYXRpb249J2k2ODYtcGMtY3lnd2luJwpkYXRhZGlyPScke3By ZWZpeH0vc2hhcmUnCmRvY2Rpcj0nJHtkYXRhZGlyfS9lbWFjcy8ke3ZlcnNpb259 L2V0YycKZXRjZGlyPScke2RhdGFkaXJ9L2VtYWNzLyR7dmVyc2lvbn0vZXRjJwpl eGVjX3ByZWZpeD0nJHtwcmVmaXh9JwpnYW1lZGlyPScke2xvY2Fsc3RhdGVkaXJ9 L2dhbWVzL2VtYWNzJwpnYW1ldXNlcj0nZ2FtZXMnCmhvc3Q9J2k2ODYtcGMtY3ln d2luJwpob3N0X2FsaWFzPScnCmhvc3RfY3B1PSdpNjg2Jwpob3N0X29zPSdjeWd3 aW4nCmhvc3RfdmVuZG9yPSdwYycKaW5jbHVkZWRpcj0nJHtwcmVmaXh9L2luY2x1 ZGUnCmluZm9kaXI9JyR7cHJlZml4fS9pbmZvJwpsaWJkaXI9JyR7ZXhlY19wcmVm aXh9L2xpYicKbGliZXhlY2Rpcj0nJHtleGVjX3ByZWZpeH0vbGliZXhlYycKbGli bG9ja2ZpbGU9J25vJwpsaXNwZGlyPScke2RhdGFkaXJ9L2VtYWNzLyR7dmVyc2lv bn0vbGlzcCcKbGlzcHBhdGg9JyR7bG9jYWxsaXNwcGF0aH06JHtsaXNwZGlyfTok e2RhdGFkaXJ9L2VtYWNzLyR7dmVyc2lvbn0vbGVpbScKbG9jYWxsaXNwcGF0aD0n JHtkYXRhZGlyfS9lbWFjcy8ke3ZlcnNpb259L3NpdGUtbGlzcDoke2RhdGFkaXJ9 L2VtYWNzL3NpdGUtbGlzcCcKbG9jYWxzdGF0ZWRpcj0nJHtwcmVmaXh9L3ZhcicK bWFjaGZpbGU9J20vaW50ZWwzODYuaCcKbWFuZGlyPScke3ByZWZpeH0vbWFuJwpv bGRpbmNsdWRlZGlyPScvdXNyL2luY2x1ZGUnCm9wc3lzZmlsZT0ncy9jeWd3aW4u aCcKcHJlZml4PScvdXNyL2xvY2FsJwpwcm9ncmFtX3RyYW5zZm9ybV9uYW1lPSdz LHgseCwnCnNiaW5kaXI9JyR7ZXhlY19wcmVmaXh9L3NiaW4nCnNoYXJlZHN0YXRl ZGlyPScke3ByZWZpeH0vY29tJwpzcmNkaXI9Jy9jeWdkcml2ZS9kL2VtYWNzMjIn CnN5c2NvbmZkaXI9JyR7cHJlZml4fS9ldGMnCnRhcmdldF9hbGlhcz0nJwp2ZXJz aW9uPScyMi4wLjUwJwp4X2RlZmF1bHRfc2VhcmNoX3BhdGg9JycKCiMjIC0tLS0t LS0tLS0tICMjCiMjIGNvbmZkZWZzLmguICMjCiMjIC0tLS0tLS0tLS0tICMjCgoj ZGVmaW5lIEJST0tFTl9NS1RJTUUgMQojZGVmaW5lIENfR0VUTE9BREFWRyAxCiNk ZWZpbmUgQ19TV0lUQ0hfWF9TSVRFIAojZGVmaW5lIEVNQUNTX0NPTkZJR1VSQVRJ T04gImk2ODYtcGMtY3lnd2luIgojZGVmaW5lIEVNQUNTX0NPTkZJR19PUFRJT05T ICInLS13aXRob3V0LXgnIgojZGVmaW5lIEdFVFBHUlBfVk9JRCAxCiNkZWZpbmUg R05VX01BTExPQyAxCiNkZWZpbmUgSEFWRV9BTEFSTSAxCiNkZWZpbmUgSEFWRV9B TExPQ0EgMQojZGVmaW5lIEhBVkVfQUxMT0NBX0ggMQojZGVmaW5lIEhBVkVfQkNN UCAxCiNkZWZpbmUgSEFWRV9CQ09QWSAxCiNkZWZpbmUgSEFWRV9CWkVSTyAxCiNk ZWZpbmUgSEFWRV9DQlJUIDEKI2RlZmluZSBIQVZFX0NMT1NFRElSIDEKI2RlZmlu ZSBIQVZFX0RFQ0xfU1lTX1NJR0xJU1QgMAojZGVmaW5lIEhBVkVfREVDTF9fX1NZ U19TSUdMSVNUIDAKI2RlZmluZSBIQVZFX0RJRkZUSU1FIDEKI2RlZmluZSBIQVZF X0RVUDIgMQojZGVmaW5lIEhBVkVfRkNOVExfSCAxCiNkZWZpbmUgSEFWRV9GTU9E IDEKI2RlZmluZSBIQVZFX0ZPUksgMQojZGVmaW5lIEhBVkVfRlBBVEhDT05GIDEK I2RlZmluZSBIQVZFX0ZSRVhQIDEKI2RlZmluZSBIQVZFX0ZTRUVLTyAxCiNkZWZp bmUgSEFWRV9GU1lOQyAxCiNkZWZpbmUgSEFWRV9GVElNRSAxCiNkZWZpbmUgSEFW RV9HRVRDV0QgMQojZGVmaW5lIEhBVkVfR0VUREVMSU0gMQojZGVmaW5lIEhBVkVf R0VURE9NQUlOTkFNRSAxCiNkZWZpbmUgSEFWRV9HRVRIT1NUTkFNRSAxCiNkZWZp bmUgSEFWRV9HRVRMSU5FIDEKI2RlZmluZSBIQVZFX0dFVE9QVF9IIDEKI2RlZmlu ZSBIQVZFX0dFVE9QVF9MT05HX09OTFkgMQojZGVmaW5lIEhBVkVfR0VUUEFHRVNJ WkUgMQojZGVmaW5lIEhBVkVfR0VUUEFHRVNJWkUgMQojZGVmaW5lIEhBVkVfR0VU UEVFUk5BTUUgMQojZGVmaW5lIEhBVkVfR0VUUlVTQUdFIDEKI2RlZmluZSBIQVZF X0dFVFNPQ0tOQU1FIDEKI2RlZmluZSBIQVZFX0dFVFNPQ0tPUFQgMQojZGVmaW5l IEhBVkVfR0VUVElNRU9GREFZIDEKI2RlZmluZSBIQVZFX0dFVFdEIDEKI2RlZmlu ZSBIQVZFX0dSQU5UUFQgMQojZGVmaW5lIEhBVkVfSF9FUlJOTyAxCiNkZWZpbmUg SEFWRV9JTkRFWCAxCiNkZWZpbmUgSEFWRV9JTkVUX1NPQ0tFVFMgMQojZGVmaW5l IEhBVkVfSU5UVFlQRVNfSCAxCiNkZWZpbmUgSEFWRV9MQU5HSU5GT19DT0RFU0VU IDEKI2RlZmluZSBIQVZFX0xJQk0gMQojZGVmaW5lIEhBVkVfTElCTkNVUlNFUyAx CiNkZWZpbmUgSEFWRV9MSU1JVFNfSCAxCiNkZWZpbmUgSEFWRV9MT0NBTEVfSCAx CiNkZWZpbmUgSEFWRV9MT0dCIDEKI2RlZmluZSBIQVZFX0xPTkdfRklMRV9OQU1F UyAxCiNkZWZpbmUgSEFWRV9MUkFORDQ4IDEKI2RlZmluZSBIQVZFX01CTEVOIDEK I2RlZmluZSBIQVZFX01CTEVOIDEKI2RlZmluZSBIQVZFX01CUkxFTiAxCiNkZWZp bmUgSEFWRV9NQlJMRU4gMQojZGVmaW5lIEhBVkVfTUJTSU5JVCAxCiNkZWZpbmUg SEFWRV9NQlNUQVRFX1QgMQojZGVmaW5lIEhBVkVfTUVNQ01QIDEKI2RlZmluZSBI QVZFX01FTUNQWSAxCiNkZWZpbmUgSEFWRV9NRU1NT1ZFIDEKI2RlZmluZSBIQVZF X01FTU9SWV9IIDEKI2RlZmluZSBIQVZFX01FTVBDUFkgMQojZGVmaW5lIEhBVkVf TUVNU0VUIDEKI2RlZmluZSBIQVZFX01LRElSIDEKI2RlZmluZSBIQVZFX01LU1RF TVAgMQojZGVmaW5lIEhBVkVfTUtUSU1FIDEKI2RlZmluZSBIQVZFX05FVF9JRl9I IDEKI2RlZmluZSBIQVZFX1BUWV9IIDEKI2RlZmluZSBIQVZFX1BXRF9IIDEKI2Rl ZmluZSBIQVZFX1JBTkRPTSAxCiNkZWZpbmUgSEFWRV9SRUNWRlJPTSAxCiNkZWZp bmUgSEFWRV9SRU5BTUUgMQojZGVmaW5lIEhBVkVfUklOREVYIDEKI2RlZmluZSBI QVZFX1JJTlQgMQojZGVmaW5lIEhBVkVfUk1ESVIgMQojZGVmaW5lIEhBVkVfU0VM RUNUIDEKI2RlZmluZSBIQVZFX1NFTkRUTyAxCiNkZWZpbmUgSEFWRV9TRVRJVElN RVIgMQojZGVmaW5lIEhBVkVfU0VUTE9DQUxFIDEKI2RlZmluZSBIQVZFX1NFVExP Q0FMRSAxCiNkZWZpbmUgSEFWRV9TRVRQR0lEIDEKI2RlZmluZSBIQVZFX1NFVFJM SU1JVCAxCiNkZWZpbmUgSEFWRV9TRVRTSUQgMQojZGVmaW5lIEhBVkVfU0VUU09D S09QVCAxCiNkZWZpbmUgSEFWRV9TSFVURE9XTiAxCiNkZWZpbmUgSEFWRV9TSVpF X1QgMQojZGVmaW5lIEhBVkVfU1BFRURfVCAxCiNkZWZpbmUgSEFWRV9TVERJTlRf SCAxCiNkZWZpbmUgSEFWRV9TVERMSUJfSCAxCiNkZWZpbmUgSEFWRV9TVERMSUJf SCAxCiNkZWZpbmUgSEFWRV9TVERMSUJfSCAxCiNkZWZpbmUgSEFWRV9TVERMSUJf SCAxCiNkZWZpbmUgSEFWRV9TVFJFUlJPUiAxCiNkZWZpbmUgSEFWRV9TVFJGVElN RSAxCiNkZWZpbmUgSEFWRV9TVFJJTkdTX0ggMQojZGVmaW5lIEhBVkVfU1RSSU5H U19IIDEKI2RlZmluZSBIQVZFX1NUUklOR19IIDEKI2RlZmluZSBIQVZFX1NUUklO R19IIDEKI2RlZmluZSBIQVZFX1NUUlNJR05BTCAxCiNkZWZpbmUgSEFWRV9TVFJV Q1RfSUZSRVFfSUZSX0FERFIgMQojZGVmaW5lIEhBVkVfU1RSVUNUX0lGUkVRX0lG Ul9CUk9BREFERFIgMQojZGVmaW5lIEhBVkVfU1RSVUNUX0lGUkVRX0lGUl9GTEFH UyAxCiNkZWZpbmUgSEFWRV9TVFJVQ1RfSUZSRVFfSUZSX0hXQUREUiAxCiNkZWZp bmUgSEFWRV9TVFJVQ1RfSUZSRVFfSUZSX05FVE1BU0sgMQojZGVmaW5lIEhBVkVf U1RSVUNUX1VUSU1CVUYgMQojZGVmaW5lIEhBVkVfU1lTX0lPQ1RMX0ggMQojZGVm aW5lIEhBVkVfU1lTX01NQU5fSCAxCiNkZWZpbmUgSEFWRV9TWVNfUEFSQU1fSCAx CiNkZWZpbmUgSEFWRV9TWVNfUkVTT1VSQ0VfSCAxCiNkZWZpbmUgSEFWRV9TWVNf U0VMRUNUX0ggMQojZGVmaW5lIEhBVkVfU1lTX1NPQ0tFVF9IIDEKI2RlZmluZSBI QVZFX1NZU19TT1VORENBUkRfSCAxCiNkZWZpbmUgSEFWRV9TWVNfU1RBVF9IIDEK I2RlZmluZSBIQVZFX1NZU19USU1FQl9IIDEKI2RlZmluZSBIQVZFX1NZU19USU1F X0ggMQojZGVmaW5lIEhBVkVfU1lTX1RJTUVfSCAxCiNkZWZpbmUgSEFWRV9TWVNf VFlQRVNfSCAxCiNkZWZpbmUgSEFWRV9TWVNfVU5fSCAxCiNkZWZpbmUgSEFWRV9T WVNfVVRTTkFNRV9IIDEKI2RlZmluZSBIQVZFX1NZU19XQUlUX0ggMQojZGVmaW5l IEhBVkVfVEVSTUNBUF9IIDEKI2RlZmluZSBIQVZFX1RFUk1JT1NfSCAxCiNkZWZp bmUgSEFWRV9USU1FVkFMIDEKI2RlZmluZSBIQVZFX1RaTkFNRSAxCiNkZWZpbmUg SEFWRV9UWk5BTUUgMQojZGVmaW5lIEhBVkVfVFpTRVQgMQojZGVmaW5lIEhBVkVf VUFMQVJNIDEKI2RlZmluZSBIQVZFX1VOSVNURF9IIDEKI2RlZmluZSBIQVZFX1VO SVNURF9IIDEKI2RlZmluZSBIQVZFX1VOSVNURF9IIDEKI2RlZmluZSBIQVZFX1VO SVNURF9IIDEKI2RlZmluZSBIQVZFX1VOSVNURF9IIDEKI2RlZmluZSBIQVZFX1VU SU1FUyAxCiNkZWZpbmUgSEFWRV9VVElNRV9IIDEKI2RlZmluZSBIQVZFX1ZGT1JL IDEKI2RlZmluZSBIQVZFX1dPUktJTkdfRk9SSyAxCiNkZWZpbmUgSEFWRV9XT1JL SU5HX1ZGT1JLIDEKI2RlZmluZSBMRF9TV0lUQ0hfWF9TSVRFIAojZGVmaW5lIExE X1NXSVRDSF9YX1NJVEVfQVVYIAojZGVmaW5lIE1BSUxfVVNFX1BPUCAxCiNkZWZp bmUgUEFDS0FHRV9CVUdSRVBPUlQgIiIKI2RlZmluZSBQQUNLQUdFX05BTUUgIiIK I2RlZmluZSBQQUNLQUdFX1NUUklORyAiIgojZGVmaW5lIFBBQ0tBR0VfVEFSTkFN RSAiIgojZGVmaW5lIFBBQ0tBR0VfVkVSU0lPTiAiIgojZGVmaW5lIFBPSU5URVJf VFlQRSB2b2lkCiNkZWZpbmUgUFJPVE9UWVBFUyAxCiNkZWZpbmUgUkVMX0FMTE9D IDEKI2RlZmluZSBSRVRTSUdUWVBFIHZvaWQKI2RlZmluZSBTVERDX0hFQURFUlMg MQojZGVmaW5lIFNURENfSEVBREVSUyAxCiNkZWZpbmUgVElNRV9XSVRIX1NZU19U SU1FIDEKI2RlZmluZSBVTkVYRUNfU1JDIHVuZXhjdy5jCiNkZWZpbmUgVVNFX1hJ TSAxCiNkZWZpbmUgX0dOVV9TT1VSQ0UgMQojZGVmaW5lIF9fR0VUT1BUX1BSRUZJ WCBycGxfCiNkZWZpbmUgX19QUk9UT1RZUEVTIDEKI2RlZmluZSBfX3Jlc3RyaWN0 X2FyciBfX3Jlc3RyaWN0CiNkZWZpbmUgY29uZmlnX21hY2hmaWxlICJtL2ludGVs Mzg2LmgiCiNkZWZpbmUgY29uZmlnX29wc3lzZmlsZSAicy9jeWd3aW4uaCIKCmNv bmZpZ3VyZTogZXhpdCAwCg== ------------8Ea03VP0FLww0wgywfg5c7 Content-Type: text/plain; charset="us-ascii" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Content-Disposition: inline _______________________________________________ Emacs-devel mailing list Emacs-devel@gnu.org http://lists.gnu.org/mailman/listinfo/emacs-devel ------------8Ea03VP0FLww0wgywfg5c7--