From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from tb-mx1.topicbox.com (localhost.local [127.0.0.1]) by tb-mx1.topicbox.com (Postfix) with ESMTP id 5DB762A62B34 for <9fans@9fans.net>; Sun, 21 Jun 2020 17:24:18 -0400 (EDT) (envelope-from conor.williams@gmail.com) Received: from tb-mx1.topicbox.com (localhost [127.0.0.1]) by tb-mx1.topicbox.com (Authentication Milter) with ESMTP id B5DFE8D0B41; Sun, 21 Jun 2020 17:24:18 -0400 ARC-Seal: i=1; a=rsa-sha256; cv=none; d=topicbox.com; s=arcseal; t= 1592774658; b=uONkSMKLvkcCa/H76UjK7tmO79Qlml4qYD/CsfmM6czoWgDpHI MMWIE3/8MBctCO5ejbVflNP0tYTCWrihSX6JXb2uMjNso8L6wpqReZzkuh+b4wFF RBAjOYZx4f625kyAvVo5+vQZhrWrX5feUEE8pABniuyDKltag52zZXWQ0gmO8/Mu zxkQGjBJiVkWbhiMUKUNq7UnyH8pS05AX4nJ25aZDZ5qt8lsZcW4gmMzmtcOR+v5 xI+hTfNQwTjb3l99SiuPcIITZFCNuafrXBU1RmJUimSlvFj1RX/DCGW0PWP7prQU c0JdFdepA+GJSkeh5kPmanbWmTeFHnwTCa1g== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d= topicbox.com; h=mime-version:references:in-reply-to:from:date :message-id:subject:to:cc:content-type; s=arcseal; t=1592774658; bh=q0Je/z+s1Fdw7pxrUqM3vwJgY9W58EF9e38uDIbrYMw=; b=rBiUbUyCitTh oaxkMcrjWlkCU8Er4lljFf2IZWo+flOWPHPHhtb8pcvNjTlIOAm3xyHW9QSlQdxv pXMrITS13G489+wwwNX6TZ388Eb1846NPOjjxiD+kOlNfwDJhLiHvULevFl3TM/7 9X5gK3MAWai0NPZSs4/bELfoDHFo4HYwmMM2BkoDA4BF8KplKIM5ANUKhx7l3d3q bTakT/Lxm0as9cunrJ6Ie8hHkzayTBwZmwg2acdZqHNus+DTNERVL0R3Y97d48Zh HXUgo8HtfEZzo6bp1ehWb+SQTxBlS8WnkpgTvFM7sBGzD3pFLUW9iHpRMGJCgHzL MhroAFl6zg== ARC-Authentication-Results: i=1; tb-mx1.topicbox.com; arc=none (no signatures found); bimi=none (Domain is not BIMI enabled); dkim=pass (2048-bit rsa key sha256) header.d=gmail.com header.i=@gmail.com header.b=A0WApJ/2 header.a=rsa-sha256 header.s=20161025 x-bits=2048; dmarc=pass policy.published-domain-policy=none policy.published-subdomain-policy=quarantine policy.applied-disposition=none policy.evaluated-disposition=none (p=none,sp=quarantine,d=none,d.eval=none) policy.policy-from=p header.from=gmail.com; iprev=pass smtp.remote-ip=209.85.221.50 (mail-wr1-f50.google.com); spf=pass smtp.mailfrom=conor.williams@gmail.com smtp.helo=mail-wr1-f50.google.com; x-aligned-from=pass (Address match); x-google-dkim=pass (2048-bit rsa key) header.d=1e100.net header.i=@1e100.net header.b=TM38mN0t; x-ptr=pass smtp.helo=mail-wr1-f50.google.com policy.ptr=mail-wr1-f50.google.com; x-return-mx=pass header.domain=gmail.com policy.is_org=yes (MX Records found: alt2.gmail-smtp-in.l.google.com,alt3.gmail-smtp-in.l.google.com,alt4.gmail-smtp-in.l.google.com,gmail-smtp-in.l.google.com,alt1.gmail-smtp-in.l.google.com); x-return-mx=pass smtp.domain=gmail.com policy.is_org=yes (MX Records found: alt2.gmail-smtp-in.l.google.com,alt3.gmail-smtp-in.l.google.com,alt4.gmail-smtp-in.l.google.com,gmail-smtp-in.l.google.com,alt1.gmail-smtp-in.l.google.com); x-tls=pass smtp.version=TLSv1.2 smtp.cipher=ECDHE-RSA-AES256-GCM-SHA384 smtp.bits=256/256; x-vs=clean score=-100 state=0 Authentication-Results: tb-mx1.topicbox.com; arc=none (no signatures found); bimi=none (Domain is not BIMI enabled); dkim=pass (2048-bit rsa key sha256) header.d=gmail.com header.i=@gmail.com header.b=A0WApJ/2 header.a=rsa-sha256 header.s=20161025 x-bits=2048; dmarc=pass policy.published-domain-policy=none policy.published-subdomain-policy=quarantine policy.applied-disposition=none policy.evaluated-disposition=none (p=none,sp=quarantine,d=none,d.eval=none) policy.policy-from=p header.from=gmail.com; iprev=pass smtp.remote-ip=209.85.221.50 (mail-wr1-f50.google.com); spf=pass smtp.mailfrom=conor.williams@gmail.com smtp.helo=mail-wr1-f50.google.com; x-aligned-from=pass (Address match); x-google-dkim=pass (2048-bit rsa key) header.d=1e100.net header.i=@1e100.net header.b=TM38mN0t; x-ptr=pass smtp.helo=mail-wr1-f50.google.com policy.ptr=mail-wr1-f50.google.com; x-return-mx=pass header.domain=gmail.com policy.is_org=yes (MX Records found: alt2.gmail-smtp-in.l.google.com,alt3.gmail-smtp-in.l.google.com,alt4.gmail-smtp-in.l.google.com,gmail-smtp-in.l.google.com,alt1.gmail-smtp-in.l.google.com); x-return-mx=pass smtp.domain=gmail.com policy.is_org=yes (MX Records found: alt2.gmail-smtp-in.l.google.com,alt3.gmail-smtp-in.l.google.com,alt4.gmail-smtp-in.l.google.com,gmail-smtp-in.l.google.com,alt1.gmail-smtp-in.l.google.com); x-tls=pass smtp.version=TLSv1.2 smtp.cipher=ECDHE-RSA-AES256-GCM-SHA384 smtp.bits=256/256; x-vs=clean score=-100 state=0 X-ME-VSCause: gggruggvucftvghtrhhoucdtuddrgeduhedrudektddgudeivdcutefuodetggdotefrod ftvfcurfhrohhfihhlvgemucfhrghsthforghilhdpggftfghnshhusghstghrihgsvgdp uffrtefokffrpgfnqfghnecuuegrihhlohhuthemuceftddtnecusecvtfgvtghiphhivg hnthhsucdlqddutddtmdenucfjughrpeggfhgjhfffkffuvfgtsehmtderredttdejnecu hfhrohhmpeevohhnohhrucghihhllhhirghmshcuoegtohhnohhrrdifihhllhhirghmsh esghhmrghilhdrtghomheqnecuggftrfgrthhtvghrnhephefgtdeuvdevjeduudelgeeh feetheevudehfeejfeehueffteegjedtkedvheehnecuffhomhgrihhnpehhrdhinhenuc fkphepvddtledrkeehrddvvddurdehtdenucevlhhushhtvghrufhiiigvpedtnecurfgr rhgrmhepihhnvghtpedvtdelrdekhedrvddvuddrhedtpdhhvghlohepmhgrihhlqdifrh duqdhfhedtrdhgohhoghhlvgdrtghomhdpmhgrihhlfhhrohhmpeeotghonhhorhdrfihi lhhlihgrmhhssehgmhgrihhlrdgtohhmqecuuffkkgfgpedufedujeelle X-ME-VSScore: -100 X-ME-VSCategory: clean Received-SPF: pass (gmail.com ... _spf.google.com: Sender is authorized to use 'conor.williams@gmail.com' in 'mfrom' identity (mechanism 'include:_netblocks.google.com' matched)) receiver=tb-mx1.topicbox.com; identity=mailfrom; envelope-from="conor.williams@gmail.com"; helo=mail-wr1-f50.google.com; client-ip=209.85.221.50 Received: from mail-wr1-f50.google.com (mail-wr1-f50.google.com [209.85.221.50]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by tb-mx1.topicbox.com (Postfix) with ESMTPS for <9fans@9fans.net>; Sun, 21 Jun 2020 17:24:17 -0400 (EDT) (envelope-from conor.williams@gmail.com) Received: by mail-wr1-f50.google.com with SMTP id q2so12274517wrv.8 for <9fans@9fans.net>; Sun, 21 Jun 2020 14:24:17 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc; bh=q0Je/z+s1Fdw7pxrUqM3vwJgY9W58EF9e38uDIbrYMw=; b=A0WApJ/2UqWffWN6y8qYrbd5vDe5bdyLwJwsorzNrKujYj0ADNmIh5xxgetVQk5mI/ eYFKJfXxHfF/GiDiE3iZaI5UcEEmJWK3RGYTP+kJzuwumF0GHJCXAfgbxuRgaYcQuHif qlRlLNFM2xPiyGVnFYRxXPr2G7+oGr8HRmZvEeH3Hy6khH7unrjpHJY9+4HvFGncZLgK 4fY9wIwpDXtOJQRRtyT2ZZQv28Uui6ps0ylTCl1zVEIUgwW46qHfyzWqUl9j1gmvBgpC GQjLYHC6jxW4L9Ok3kqPc85qrlIxI1SBy4eq3Ixue/PZbVD+SeC/KVCHgidaowHnMnFY pd5Q== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc; bh=q0Je/z+s1Fdw7pxrUqM3vwJgY9W58EF9e38uDIbrYMw=; b=TM38mN0tW4GRhiULKrSjqo8MWfhL0ig7jjOP5oyT/Pv/uTHx4kh4m035mgnrgzFu3z rBd5tbneX7xGiPpjzAqfjjBkqQSY7WG1PHDM1mYnimAa9NXG8uF1SUV+FKhX0qlZ5uXj CU+XjaTNBiuilp5AwQCn3grNVPKD1G+h20iZ5892jF5Q/c+DuYlvsPVKQiKUVbrwThAe hi3iz7A8bHvlRe6mFLNaREBBZ6WNBNLLvqONvJ5fOtb85sMcBDvYIth8V85h+E+k4KZi GNv2cF0BEUMoeevVnogq089Hp1GHehTP9hBfiDHLjVc6lae8Q4eGjjf7pBS60yf1xWfH xBMg== X-Gm-Message-State: AOAM53004Ab/vumQ7wkF5dYVqclF7E40BtAub7UTVCplaz7kVfdAjMRt 8H8nMhSouJlrwqRJBVV6il6NIvs7tJBqADLcJfYaA20FLZ0= X-Google-Smtp-Source: ABdhPJwjzxmAbURjZVKmGGnJ1tF5eMUEgTGtyB0adoiqQg/TY7qEJYXvWAevS6Q2mniyJLE4r3jTMDll3WbEJ2e3iqY= X-Received: by 2002:adf:f3cf:: with SMTP id g15mr14200740wrp.388.1592774656146; Sun, 21 Jun 2020 14:24:16 -0700 (PDT) MIME-Version: 1.0 References: In-Reply-To: From: Conor Williams Date: Sun, 21 Jun 2020 22:24:05 +0100 Message-ID: Subject: Re: [9fans] Tcl 8.7a3 port to Plan 9 To: ori@eigenstate.org Cc: Fans of the OS Plan 9 from Bell Labs <9fans@9fans.net> Content-Type: multipart/mixed; boundary="00000000000096989d05a89ebfd2" Topicbox-Policy-Reasoning: allow: sender is a member Topicbox-Message-UUID: 93e0edac-b405-11ea-8445-a9f186ae7cae --00000000000096989d05a89ebfd2 Content-Type: multipart/alternative; boundary="00000000000096989c05a89ebfd0" --00000000000096989c05a89ebfd0 Content-Type: text/plain; charset="UTF-8" ok... here are the errors on the two (unfortunately one compiles on yours) and i deleted TCL_HAVE_THREADS from the list of cc defines as it broke 2 others ( and didnt fix these two) (tclUnixSock.c, tclIOSock.c) /C ps. addrinfo is mentioned in the configure script and writes to tclConfig.h.in a flag (i tried turning this on and off) -- cc -c -O -DBUILD_tcl -I"." -I/usr/glenda/tcl8.6.10/unix -I/usr/glenda/tcl8.6.10/generic -I/usr/glenda/tcl8.6.10/libtommath -DPACKAGE_NAME=\"tcl\" -DPACKAGE_TARNAME=\"tcl\" -DPACKAGE_VERSION=\"8.6\" -DPACKAGE_STRING=\"tcl\ 8.6\" -DPACKAGE_BUGREPORT=\"\" -DSTDC_HEADERS=1 -DHAVE_SYS_TYPES_H=1 -DHAVE_SYS_STAT_H=1 -DHAVE_STDLIB_H=1 -DHAVE_STRING_H=1 -DHAVE_UNISTD_H=1 -DNO_VALUES_H=1 -DNO_DLFCN_H=1 -DHAVE_SYS_PARAM_H=1 -D_REENTRANT=1 -DTCL_CFGVAL_ENCODING=\"iso8859-1\" -DHAVE_ZLIB=1 -DMODULE_SCOPE=extern -DTCL_SHLIB_EXT=\"\" -DNDEBUG=1 -DTCL_CFG_OPTIMIZED=1 -DTCL_TOMMATH=1 -DMP_PREC=4 -DTCL_WIDE_INT_TYPE=long\ long -DHAVE_GETCWD=1 -DHAVE_OPENDIR=1 -DHAVE_STRTOL=1 -DHAVE_WAITPID=1 -DNO_GETWD=1 -DNO_REALPATH=1 -DHAVE_TERMIOS_H=1 -DHAVE_SYS_IOCTL_H=1 -DNO_FD_SET=1 -DHAVE_SYS_TIME_H=1 -DTIME_WITH_SYS_TIME=1 -DHAVE_GMTIME_R=1 -DHAVE_LOCALTIME_R=1 -DHAVE_MKTIME=1 -DHAVE_TIMEZONE_VAR=1 -DNO_FSTATFS=1 -Dsocklen_t=int -Dintptr_t=int -Duintptr_t=unsigned\ int -DNO_UNION_WAIT=1 -DHAVE_SIGNED_CHAR=1 -DHAVE_PUTENV_THAT_COPIES=1 -DNO_ISNAN=1 -D_BSD_EXTENSION -DHAVE_SYS_IOCTL_H=1 -DTCL_UNLOAD_DLLS=1 -DMP_FIXED_CUTOFFS -DMP_NO_STDINT /usr/glenda/tcl8.6.10/generic/tclIOSock.c /usr/glenda/tcl8.6.10/generic/tclIOSock.c:191[stdin:18439] structure not fully declared addrinfo /usr/glenda/tcl8.6.10/generic/tclIOSock.c:191[stdin:18439] structure not fully declared addrinfo /usr/glenda/tcl8.6.10/generic/tclIOSock.c:192[stdin:18440] structure not fully declared addrinfo /usr/glenda/tcl8.6.10/generic/tclIOSock.c:203[stdin:18449] structure not fully declared addrinfo /usr/glenda/tcl8.6.10/generic/tclIOSock.c:205[stdin:18451] structure not fully declared addrinfo /usr/glenda/tcl8.6.10/generic/tclIOSock.c:210[stdin:18456] structure not fully declared addrinfo /usr/glenda/tcl8.6.10/generic/tclIOSock.c:230[stdin:18468] structure not fully declared addrinfo /usr/glenda/tcl8.6.10/generic/tclIOSock.c:230[stdin:18468] name not declared: AI_PASSIVE /usr/glenda/tcl8.6.10/generic/tclIOSock.c:233[stdin:18471] structure not fully declared addrinfo /usr/glenda/tcl8.6.10/generic/tclIOSock.c:240[stdin:18478] incompatible types: "IND CONST CHAR" and "INT" for op "AS" /usr/glenda/tcl8.6.10/generic/tclIOSock.c:255[stdin:18489] structure not fully declared addrinfo too many errors *** Error code 1 cc -c -O -DBUILD_tcl -I"." -I/usr/glenda/tcl8.6.10/unix -I/usr/glenda/tcl8.6.10/generic -I/usr/glenda/tcl8.6.10/libtommath -DPACKAGE_NAME=\"tcl\" -DPACKAGE_TARNAME=\"tcl\" -DPACKAGE_VERSION=\"8.6\" -DPACKAGE_STRING=\"tcl\ 8.6\" -DPACKAGE_BUGREPORT=\"\" -DSTDC_HEADERS=1 -DHAVE_SYS_TYPES_H=1 -DHAVE_SYS_STAT_H=1 -DHAVE_STDLIB_H=1 -DHAVE_STRING_H=1 -DHAVE_UNISTD_H=1 -DNO_VALUES_H=1 -DNO_DLFCN_H=1 -DHAVE_SYS_PARAM_H=1 -D_REENTRANT=1 -DTCL_CFGVAL_ENCODING=\"iso8859-1\" -DHAVE_ZLIB=1 -DMODULE_SCOPE=extern -DTCL_SHLIB_EXT=\"\" -DNDEBUG=1 -DTCL_CFG_OPTIMIZED=1 -DTCL_TOMMATH=1 -DMP_PREC=4 -DTCL_WIDE_INT_TYPE=long\ long -DHAVE_GETCWD=1 -DHAVE_OPENDIR=1 -DHAVE_STRTOL=1 -DHAVE_WAITPID=1 -DNO_GETWD=1 -DNO_REALPATH=1 -DHAVE_TERMIOS_H=1 -DHAVE_SYS_IOCTL_H=1 -DNO_FD_SET=1 -DHAVE_SYS_TIME_H=1 -DTIME_WITH_SYS_TIME=1 -DHAVE_GMTIME_R=1 -DHAVE_LOCALTIME_R=1 -DHAVE_MKTIME=1 -DHAVE_TIMEZONE_VAR=1 -DNO_FSTATFS=1 -Dsocklen_t=int -Dintptr_t=int -Duintptr_t=unsigned\ int -DNO_UNION_WAIT=1 -DHAVE_SIGNED_CHAR=1 -DHAVE_PUTENV_THAT_COPIES=1 -DNO_ISNAN=1 -D_BSD_EXTENSION -DHAVE_SYS_IOCTL_H=1 -DTCL_UNLOAD_DLLS=1 -DMP_FIXED_CUTOFFS -DMP_NO_STDINT /usr/glenda/tcl8.6.10/unix/tclUnixSock.c /usr/glenda/tcl8.6.10/unix/tclUnixSock.c:39[stdin:18328] incomplete union element: sa6 /usr/glenda/tcl8.6.10/unix/tclUnixSock.c:39[stdin:18328] incomplete union element: sas /usr/glenda/tcl8.6.10/unix/tclUnixSock.c:519[stdin:18657] name not declared: ECONNRESET /usr/glenda/tcl8.6.10/unix/tclUnixSock.c:670[stdin:18754] name not declared: SHUT_RD /usr/glenda/tcl8.6.10/unix/tclUnixSock.c:673[stdin:18757] name not declared: SHUT_WR /usr/glenda/tcl8.6.10/unix/tclUnixSock.c:715[stdin:18784] incomplete structure: in6_addr /usr/glenda/tcl8.6.10/unix/tclUnixSock.c:715[stdin:18784] incomplete structure: in6_addr /usr/glenda/tcl8.6.10/unix/tclUnixSock.c:716[stdin:18785] structure not fully declared in6_addr /usr/glenda/tcl8.6.10/unix/tclUnixSock.c:716[stdin:18785] name not declared: in6addr_any /usr/glenda/tcl8.6.10/unix/tclUnixSock.c:725[stdin:18792] structure not fully declared in6_addr /usr/glenda/tcl8.6.10/unix/tclUnixSock.c:729[stdin:18796] structure not fully declared in6_addr too many errors *** Error code 1 Configuring package 'itcl4.2.0' ln: conf27997.dir destination exists *** Error code 1 `all' not remade because of errors On Sun, Jun 21, 2020 at 9:41 PM Conor Williams wrote: > ok... down to two files.. > it may be the posix threads... > leave it with me and i will post soon if i can't get ti. > thanks Ori > > On Sun, Jun 21, 2020 at 8:50 PM wrote: > >> > great... >> > >> >> Hopefully that's enough to get you past the hurdles for the >> other files :) >> >> If not, post a mkfile so that I don't have to hand-edit the >> command lines for each compilation, at least. >> >> --00000000000096989c05a89ebfd0 Content-Type: text/html; charset="UTF-8" Content-Transfer-Encoding: quoted-printable
ok...=C2=A0
here are the errors=C2=A0on the two (unfor= tunately=C2=A0
one compiles on yours)
and i deleted TCL= _HAVE_THREADS from
=C2=A0the list of cc defines as it broke 2 oth= ers (
and didnt fix these two) (tclUnixSock.c,=C2=A0
tc= lIOSock.c)



/C
<= div>ps. addrinfo is mentioned in the configure script and writes to tclConfig.h.in a flag (i tried turning this = on and off)
--

cc -c -O =C2=A0 =C2=A0-DB= UILD_tcl =C2=A0-I"." -I/usr/glenda/tcl8.6.10/unix -I/usr/glenda/t= cl8.6.10/generic -I/usr/glenda/tcl8.6.10/libtommath =C2=A0-DPACKAGE_NAME=3D= \"tcl\" -DPACKAGE_TARNAME=3D\"tcl\" -DPACKAGE_VERSION= =3D\"8.6\" -DPACKAGE_STRING=3D\"tcl\ 8.6\" -DPACKAGE_BU= GREPORT=3D\"\" -DSTDC_HEADERS=3D1 -DHAVE_SYS_TYPES_H=3D1 -DHAVE_S= YS_STAT_H=3D1 -DHAVE_STDLIB_H=3D1 =C2=A0-DHAVE_STRING_H=3D1 -DHAVE_UNISTD_H= =3D1 -DNO_VALUES_H=3D1 -DNO_DLFCN_H=3D1 -DHAVE_SYS_PARAM_H=3D1 =C2=A0-D_REE= NTRANT=3D1 -DTCL_CFGVAL_ENCODING=3D\"iso8859-1\" -DHAVE_ZLIB=3D1 = -DMODULE_SCOPE=3Dextern -DTCL_SHLIB_EXT=3D\"\" -DNDEBUG=3D1 -DTCL= _CFG_OPTIMIZED=3D1 -DTCL_TOMMATH=3D1 -DMP_PREC=3D4 -DTCL_WIDE_INT_TYPE=3Dlo= ng\ long -DHAVE_GETCWD=3D1 -DHAVE_OPENDIR=3D1 -DHAVE_STRTOL=3D1 -DHAVE_WAIT= PID=3D1 -DNO_GETWD=3D1 -DNO_REALPATH=3D1 -DHAVE_TERMIOS_H=3D1 -DHAVE_SYS_IO= CTL_H=3D1 -DNO_FD_SET=3D1 -DHAVE_SYS_TIME_H=3D1 -DTIME_WITH_SYS_TIME=3D1 -D= HAVE_GMTIME_R=3D1 -DHAVE_LOCALTIME_R=3D1 -DHAVE_MKTIME=3D1 -DHAVE_TIMEZONE_= VAR=3D1 -DNO_FSTATFS=3D1 -Dsocklen_t=3Dint -Dintptr_t=3Dint -Duintptr_t=3Du= nsigned\ int -DNO_UNION_WAIT=3D1 -DHAVE_SIGNED_CHAR=3D1 -DHAVE_PUTENV_THAT_= COPIES=3D1 -DNO_ISNAN=3D1 -D_BSD_EXTENSION -DHAVE_SYS_IOCTL_H=3D1 -DTCL_UNL= OAD_DLLS=3D1 =C2=A0 =C2=A0 =C2=A0 -DMP_FIXED_CUTOFFS -DMP_NO_STDINT /usr/gl= enda/tcl8.6.10/generic/tclIOSock.c
/usr/glenda/tcl8.6.10/generic/tclIOSo= ck.c:191[stdin:18439] structure not fully declared addrinfo
/usr/glenda/= tcl8.6.10/generic/tclIOSock.c:191[stdin:18439] structure not fully declared= addrinfo
/usr/glenda/tcl8.6.10/generic/tclIOSock.c:192[stdin:18440] str= ucture not fully declared addrinfo
/usr/glenda/tcl8.6.10/generic/tclIOSo= ck.c:203[stdin:18449] structure not fully declared addrinfo
/usr/glenda/= tcl8.6.10/generic/tclIOSock.c:205[stdin:18451] structure not fully declared= addrinfo
/usr/glenda/tcl8.6.10/generic/tclIOSock.c:210[stdin:18456] str= ucture not fully declared addrinfo
/usr/glenda/tcl8.6.10/generic/tclIOSo= ck.c:230[stdin:18468] structure not fully declared addrinfo
/usr/glenda/= tcl8.6.10/generic/tclIOSock.c:230[stdin:18468] name not declared: AI_PASSIV= E
/usr/glenda/tcl8.6.10/generic/tclIOSock.c:233[stdin:18471] structure n= ot fully declared addrinfo
/usr/glenda/tcl8.6.10/generic/tclIOSock.c:240= [stdin:18478] incompatible types: "IND CONST CHAR" and "INT&= quot; for op "AS"
/usr/glenda/tcl8.6.10/generic/tclIOSock.c:25= 5[stdin:18489] structure not fully declared addrinfo
too many errors
= *** Error code 1
cc -c -O =C2=A0 =C2=A0-DBUILD_tcl =C2=A0-I"."= -I/usr/glenda/tcl8.6.10/unix -I/usr/glenda/tcl8.6.10/generic -I/usr/glenda= /tcl8.6.10/libtommath =C2=A0-DPACKAGE_NAME=3D\"tcl\" -DPACKAGE_TA= RNAME=3D\"tcl\" -DPACKAGE_VERSION=3D\"8.6\" -DPACKAGE_S= TRING=3D\"tcl\ 8.6\" -DPACKAGE_BUGREPORT=3D\"\" -DSTDC_= HEADERS=3D1 -DHAVE_SYS_TYPES_H=3D1 -DHAVE_SYS_STAT_H=3D1 -DHAVE_STDLIB_H=3D= 1 =C2=A0-DHAVE_STRING_H=3D1 -DHAVE_UNISTD_H=3D1 -DNO_VALUES_H=3D1 -DNO_DLFC= N_H=3D1 -DHAVE_SYS_PARAM_H=3D1 =C2=A0-D_REENTRANT=3D1 -DTCL_CFGVAL_ENCODING= =3D\"iso8859-1\" -DHAVE_ZLIB=3D1 -DMODULE_SCOPE=3Dextern -DTCL_SH= LIB_EXT=3D\"\" -DNDEBUG=3D1 -DTCL_CFG_OPTIMIZED=3D1 -DTCL_TOMMATH= =3D1 -DMP_PREC=3D4 -DTCL_WIDE_INT_TYPE=3Dlong\ long -DHAVE_GETCWD=3D1 -DHAV= E_OPENDIR=3D1 -DHAVE_STRTOL=3D1 -DHAVE_WAITPID=3D1 -DNO_GETWD=3D1 -DNO_REAL= PATH=3D1 -DHAVE_TERMIOS_H=3D1 -DHAVE_SYS_IOCTL_H=3D1 -DNO_FD_SET=3D1 -DHAVE= _SYS_TIME_H=3D1 -DTIME_WITH_SYS_TIME=3D1 -DHAVE_GMTIME_R=3D1 -DHAVE_LOCALTI= ME_R=3D1 -DHAVE_MKTIME=3D1 -DHAVE_TIMEZONE_VAR=3D1 -DNO_FSTATFS=3D1 -Dsockl= en_t=3Dint -Dintptr_t=3Dint -Duintptr_t=3Dunsigned\ int -DNO_UNION_WAIT=3D1= -DHAVE_SIGNED_CHAR=3D1 -DHAVE_PUTENV_THAT_COPIES=3D1 -DNO_ISNAN=3D1 -D_BSD= _EXTENSION -DHAVE_SYS_IOCTL_H=3D1 -DTCL_UNLOAD_DLLS=3D1 =C2=A0 =C2=A0 =C2= =A0 -DMP_FIXED_CUTOFFS -DMP_NO_STDINT /usr/glenda/tcl8.6.10/unix/tclUnixSoc= k.c
/usr/glenda/tcl8.6.10/unix/tclUnixSock.c:39[stdin:18328] incomplete = union element: sa6
/usr/glenda/tcl8.6.10/unix/tclUnixSock.c:39[stdin:183= 28] incomplete union element: sas
/usr/glenda/tcl8.6.10/unix/tclUnixSock= .c:519[stdin:18657] name not declared: ECONNRESET
/usr/glenda/tcl8.6.10/= unix/tclUnixSock.c:670[stdin:18754] name not declared: SHUT_RD
/usr/glen= da/tcl8.6.10/unix/tclUnixSock.c:673[stdin:18757] name not declared: SHUT_WR=
/usr/glenda/tcl8.6.10/unix/tclUnixSock.c:715[stdin:18784] incomplete st= ructure: in6_addr
/usr/glenda/tcl8.6.10/unix/tclUnixSock.c:715[stdin:187= 84] incomplete structure: in6_addr
/usr/glenda/tcl8.6.10/unix/tclUnixSoc= k.c:716[stdin:18785] structure not fully declared in6_addr
/usr/glenda/t= cl8.6.10/unix/tclUnixSock.c:716[stdin:18785] name not declared: in6addr_any=
/usr/glenda/tcl8.6.10/unix/tclUnixSock.c:725[stdin:18792] structure not= fully declared in6_addr
/usr/glenda/tcl8.6.10/unix/tclUnixSock.c:729[st= din:18796] structure not fully declared in6_addr
too many errors
*** = Error code 1
Configuring package 'itcl4.2.0'
ln: conf27997.di= r destination exists
*** Error code 1
`all' not remade because of= errors

On Sun, Jun 21, 2020 at 9:41 PM Conor Williams <conor.williams@gmail.com> wrote= :
ok... down to two files..
it may be the posix threads...
l= eave it with me and i will post soon if i can't get ti.
thank= s Ori

On Sun, Jun 21, 2020 at 8:50 PM <ori@eigenstate.org> wrote:
> great...
>

Hopefully that's enough to get you past the hurdles for the
other files :)

If not, post a mkfile so that I don't have to hand-edit the
command lines for each compilation, at least.

--00000000000096989c05a89ebfd0-- --00000000000096989d05a89ebfd2 Content-Type: application/octet-stream; name="Makefile.7" Content-Disposition: attachment; filename="Makefile.7" Content-Transfer-Encoding: base64 Content-ID: X-Attachment-Id: f_kbpkifck0 IwojIFRoaXMgZmlsZSBpcyBhIE1ha2VmaWxlIGZvciBUY2wuIElmIGl0IGhhcyB0aGUgbmFtZSAi TWFrZWZpbGUuaW4iIHRoZW4gaXQgaXMKIyBhIHRlbXBsYXRlIGZvciBhIE1ha2VmaWxlOyB0byBn ZW5lcmF0ZSB0aGUgYWN0dWFsIE1ha2VmaWxlLCBydW4KIyAiLi9jb25maWd1cmUiLCB3aGljaCBp cyBhIGNvbmZpZ3VyYXRpb24gc2NyaXB0IGdlbmVyYXRlZCBieSB0aGUgImF1dG9jb25mIgojIHBy b2dyYW0gKGNvbnN0cnVjdHMgbGlrZSAiQGZvb0AiIHdpbGwgZ2V0IHJlcGxhY2VkIGluIHRoZSBh Y3R1YWwgTWFrZWZpbGUuCgpWRVJTSU9OIAkJPSA4LjYKTUFKT1JfVkVSU0lPTgkJPSA4Ck1JTk9S X1ZFUlNJT04JCT0gNgpQQVRDSF9MRVZFTAkJPSAuMTAKCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojIFRo aW5ncyB5b3UgY2FuIGNoYW5nZSB0byBwZXJzb25hbGl6ZSB0aGUgTWFrZWZpbGUgZm9yIHlvdXIg b3duIHNpdGUgKHlvdSBjYW4KIyBtYWtlIHRoZXNlIGNoYW5nZXMgaW4gZWl0aGVyIE1ha2VmaWxl LmluIG9yIE1ha2VmaWxlLCBidXQgY2hhbmdlcyB0bwojIE1ha2VmaWxlIHdpbGwgZ2V0IGxvc3Qg aWYgeW91IHJlLXJ1biB0aGUgY29uZmlndXJhdGlvbiBzY3JpcHQpLgojLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0KCiMgRGVmYXVsdCB0b3AtbGV2ZWwgZGlyZWN0b3JpZXMgaW4gd2hpY2ggdG8gaW5zdGFsbCBh cmNoaXRlY3R1cmUtc3BlY2lmaWMKIyBmaWxlcyAoZXhlY19wcmVmaXgpIGFuZCBtYWNoaW5lLWlu ZGVwZW5kZW50IGZpbGVzIHN1Y2ggYXMgc2NyaXB0cyAocHJlZml4KS4KIyBUaGUgdmFsdWVzIHNw ZWNpZmllZCBoZXJlIG1heSBiZSBvdmVycmlkZGVuIGF0IGNvbmZpZ3VyZS10aW1lIHdpdGggdGhl CiMgLS1leGVjLXByZWZpeCBhbmQgLS1wcmVmaXggb3B0aW9ucyB0byB0aGUgImNvbmZpZ3VyZSIg c2NyaXB0LiBUaGUgKmRpciB2YXJzCiMgYXJlIHN0YW5kYXJkIGNvbmZpZ3VyZSBzdWJzdGl0dXRp b25zIHRoYXQgYXJlIGJhc2VkIG9mZiBwcmVmaXggYW5kCiMgZXhlY19wcmVmaXguCgpwcmVmaXgJ CQk9IC91c3IvbG9jYWwKZXhlY19wcmVmaXgJCT0gL3Vzci9sb2NhbApiaW5kaXIJCQk9ICR7ZXhl Y19wcmVmaXh9L2JpbgpsaWJkaXIJCQk9IC91c3IvbG9jYWwvbGliCmluY2x1ZGVkaXIJCT0gJHtw cmVmaXh9L2luY2x1ZGUKZGF0YXJvb3RkaXIJCT0gQGRhdGFyb290ZGlyQApydW5zdGF0ZWRpcgkJ PSBAcnVuc3RhdGVkaXJACm1hbmRpcgkJCT0gJHtwcmVmaXh9L21hbgoKIyBUaGUgZm9sbG93aW5n IGRlZmluaXRpb24gY2FuIGJlIHNldCB0byBub24tbnVsbCBmb3Igc3BlY2lhbCBzeXN0ZW1zIGxp a2UgQUZTCiMgd2l0aCByZXBsaWNhdGlvbi4gSXQgYWxsb3dzIHRoZSBwYXRobmFtZXMgdXNlZCBm b3IgaW5zdGFsbGF0aW9uIHRvIGJlCiMgZGlmZmVyZW50IHRoYW4gdGhvc2UgdXNlZCBmb3IgYWN0 dWFsbHkgcmVmZXJlbmNlIGZpbGVzIGF0IHJ1bi10aW1lLgojIElOU1RBTExfUk9PVCBpcyBwcmVw ZW5kZWQgdG8gJHByZWZpeCBhbmQgJGV4ZWNfcHJlZml4IHdoZW4gaW5zdGFsbGluZyBmaWxlcy4K SU5TVEFMTF9ST09UCQk9ICQoREVTVERJUikKCiMgUGF0aCBmb3IgdGhlIHBsYXRmb3JtIGluZGVw ZW5kZW50IFRjbCBzY3JpcHRpbmcgbGlicmFyaWVzOgpUQ0xfTElCUkFSWQkJPSAkKHByZWZpeCkv bGliL3RjbCQoVkVSU0lPTikKCiMgUGF0aCB0byB1c2UgYXQgcnVudGltZSB0byByZWZlciB0byBM SUJfSU5TVEFMTF9ESVI6CkxJQl9SVU5USU1FX0RJUgkJPSAkKGxpYmRpcikKCiMgRGlyZWN0b3J5 IGluIHdoaWNoIHRvIGluc3RhbGwgdGhlIHByb2dyYW0gdGNsc2g6CkJJTl9JTlNUQUxMX0RJUgkJ PSAkKElOU1RBTExfUk9PVCkkKGJpbmRpcikKCiMgRGlyZWN0b3J5IGluIHdoaWNoIHRvIGluc3Rh bGwgbGlidGNsLnNvIG9yIGxpYnRjbC5hOgpMSUJfSU5TVEFMTF9ESVIJCT0gJChJTlNUQUxMX1JP T1QpJChsaWJkaXIpCkRMTF9JTlNUQUxMX0RJUgkJPSAkKExJQl9JTlNUQUxMX0RJUikKCiMgUGF0 aCBuYW1lIHRvIHVzZSB3aGVuIGluc3RhbGxpbmcgbGlicmFyeSBzY3JpcHRzLgpTQ1JJUFRfSU5T VEFMTF9ESVIJPSAkKElOU1RBTExfUk9PVCkkKFRDTF9MSUJSQVJZKQoKIyBEaXJlY3RvcnkgaW4g d2hpY2ggdG8gaW5zdGFsbCB0aGUgaW5jbHVkZSBmaWxlIHRjbC5oOgpJTkNMVURFX0lOU1RBTExf RElSCT0gJChJTlNUQUxMX1JPT1QpJChpbmNsdWRlZGlyKQoKIyBQYXRoIHRvIHRoZSBwcml2YXRl IHRjbCBoZWFkZXIgZGlyOgpQUklWQVRFX0lOQ0xVREVfRElSCT0gJChpbmNsdWRlZGlyKQoKIyBE aXJlY3RvcnkgaW4gd2hpY2ggdG8gKG9wdGlvbmFsbHkpIGluc3RhbGwgdGhlIHByaXZhdGUgdGNs IGhlYWRlcnM6ClBSSVZBVEVfSU5DTFVERV9JTlNUQUxMX0RJUiA9ICQoSU5TVEFMTF9ST09UKSQo UFJJVkFURV9JTkNMVURFX0RJUikKCiMgVG9wLWxldmVsIGRpcmVjdG9yeSBpbiB3aGljaCB0byBp bnN0YWxsIG1hbnVhbCBlbnRyaWVzOgpNQU5fSU5TVEFMTF9ESVIJCT0gJChJTlNUQUxMX1JPT1Qp JChtYW5kaXIpCgojIERpcmVjdG9yeSBpbiB3aGljaCB0byBpbnN0YWxsIG1hbnVhbCBlbnRyeSBm b3IgdGNsc2g6Ck1BTjFfSU5TVEFMTF9ESVIJPSAkKE1BTl9JTlNUQUxMX0RJUikvbWFuMQoKIyBE aXJlY3RvcnkgaW4gd2hpY2ggdG8gaW5zdGFsbCBtYW51YWwgZW50cmllcyBmb3IgVGNsJ3MgQyBs aWJyYXJ5IHByb2NlZHVyZXM6Ck1BTjNfSU5TVEFMTF9ESVIJPSAkKE1BTl9JTlNUQUxMX0RJUikv bWFuMwoKIyBEaXJlY3RvcnkgaW4gd2hpY2ggdG8gaW5zdGFsbCBtYW51YWwgZW50cmllcyBmb3Ig dGhlIGJ1aWx0LWluIFRjbCBjb21tYW5kczoKTUFOTl9JTlNUQUxMX0RJUgk9ICQoTUFOX0lOU1RB TExfRElSKS9tYW5uCgojIFBhdGggdG8gdGhlIGh0bWwgZG9jdW1lbnRhdGlvbiBkaXI6CkhUTUxf RElSCQk9ICQoRElTVERJUikvaHRtbAoKIyBEaXJlY3RvcnkgaW4gd2hpY2ggdG8gaW5zdGFsbCBo dG1sIGRvY3VtZW50YXRpb246CkhUTUxfSU5TVEFMTF9ESVIJPSAkKElOU1RBTExfUk9PVCkkKEhU TUxfRElSKQoKIyBEaXJlY3RvcnkgaW4gd2hpY2ggdG8gaW5zdGFsbCB0aGUgY29uZmlndXJhdGlv biBmaWxlIHRjbENvbmZpZy5zaApDT05GSUdfSU5TVEFMTF9ESVIJPSAkKElOU1RBTExfUk9PVCkk KGxpYmRpcikKCiMgRGlyZWN0b3J5IGluIHdoaWNoIHRvIGluc3RhbGwgYnVuZGxlZCBwYWNrYWdl czoKUEFDS0FHRV9ESVIgICAgICAgICAgICAgPSAvdXNyL2xvY2FsL2xpYgoKIyBQYWNrYWdlIHNl YXJjaCBwYXRoLgpUQ0xfUEFDS0FHRV9QQVRICT0gL3Vzci9sb2NhbC9saWIgCgojIFRjbCBNb2R1 bGUgZGVmYXVsdCBwYXRoIHJvb3RzIChUSVAxODkpLgpUQ0xfTU9EVUxFX1BBVEgJCT0gCgojIHdh cm5pbmcgZmxhZ3MKQ0ZMQUdTX1dBUk5JTkcJCT0gCgojIFRoZSBkZWZhdWx0IHN3aXRjaGVzIGZv ciBvcHRpbWl6YXRpb24gb3IgZGVidWdnaW5nCkNGTEFHU19ERUJVRwkJPSAtZwpDRkxBR1NfT1BU SU1JWkUJCT0gLU8KCiMgVG8gY2hhbmdlIHRoZSBjb21waWxlciBzd2l0Y2hlcywgZm9yIGV4YW1w bGUgdG8gY2hhbmdlIGZyb20gb3B0aW1pemF0aW9uIHRvCiMgZGVidWdnaW5nIHN5bWJvbHMsIGNo YW5nZSB0aGUgZm9sbG93aW5nIGxpbmU6CiNDRkxBR1MJCQk9ICQoQ0ZMQUdTX0RFQlVHKQojQ0ZM QUdTCQkJPSAkKENGTEFHU19PUFRJTUlaRSkKI0NGTEFHUwkJCT0gJChDRkxBR1NfREVCVUcpICQo Q0ZMQUdTX09QVElNSVpFKQpDRkxBR1MJCQk9ICQoQ0ZMQUdTX09QVElNSVpFKSAgCgojIEZsYWdz IHRvIHBhc3MgdG8gdGhlIGxpbmtlcgpMREZMQUdTX0RFQlVHCQk9IApMREZMQUdTX09QVElNSVpF CT0gCkxERkxBR1MJCQk9ICQoTERGTEFHU19PUFRJTUlaRSkgIAoKIyBUbyBkaXNhYmxlIEFOU0kt QyBwcm9jZWR1cmUgcHJvdG90eXBlcyByZXZlcnNlIHRoZSBjb21tZW50IGNoYXJhY3RlcnMgb24g dGhlCiMgZm9sbG93aW5nIGxpbmVzOgpQUk9UT19GTEFHUwkJPQojUFJPVE9fRkxBR1MJCT0gLURO T19QUk9UT1RZUEUKCiMgSWYgeW91IHVzZSB0aGUgc2V0ZW52LCBwdXRlbnYsIG9yIHVuc2V0ZW52 IHByb2NlZHVyZXMgdG8gbW9kaWZ5IGVudmlyb25tZW50CiMgdmFyaWFibGVzIGluIHlvdXIgYXBw bGljYXRpb24gYW5kIHlvdSdkIGxpa2UgdGhvc2UgbW9kaWZpY2F0aW9ucyB0byBhcHBlYXIKIyBp biB0aGUgImVudiIgVGNsIHZhcmlhYmxlLCBzd2l0Y2ggdGhlIGNvbW1lbnRzIG9uIHRoZSB0d28g bGluZXMgYmVsb3cgc28KIyB0aGF0IFRjbCBwcm92aWRlcyB0aGVzZSBwcm9jZWR1cmVzIGluc3Rl YWQgb2YgeW91ciBzdGFuZGFyZCBDIGxpYnJhcnkuCgpFTlZfRkxBR1MgPQojRU5WX0ZMQUdTID0g LURUY2xTZXRFbnY9c2V0ZW52IC1EVGNsX1B1dEVudj1wdXRlbnYgLURUY2xVbnNldEVudj11bnNl dGVudgoKIyBUbyBlbmFibGUgbWVtb3J5IGRlYnVnZ2luZywgY2FsbCBjb25maWd1cmUgd2l0aCAt LWVuYWJsZS1zeW1ib2xzPW1lbQojIFdhcm5pbmc6IGlmIHlvdSBlbmFibGUgbWVtb3J5IGRlYnVn Z2luZywgeW91IG11c3QgZG8gaXQgKmV2ZXJ5d2hlcmUqLAojIGluY2x1ZGluZyBhbGwgdGhlIGNv ZGUgdGhhdCBjYWxscyBUY2wsIGFuZCB5b3UgbXVzdCB1c2UgY2thbGxvYyBhbmQgY2tmcmVlCiMg ZXZlcnl3aGVyZSBpbnN0ZWFkIG9mIG1hbGxvYyBhbmQgZnJlZS4KClRDTF9TVFVCX0xJQl9GSUxF CT0gbGlidGNsc3R1YjguNi5hCiNUQ0xfU1RVQl9MSUJfRklMRQk9IGxpYnRjbHN0dWIuYQoKIyBH ZW5lcmljIHN0dWIgbGliIG5hbWUgdXNlZCBpbiBydWxlcyB0aGF0IGFwcGx5IHRvIHRjbCBhbmQg dGsKU1RVQl9MSUJfRklMRQkJPSAke1RDTF9TVFVCX0xJQl9GSUxFfQoKVENMX1NUVUJfTElCX0ZM QUcJPSAtbHRjbHN0dWI4LjYKI1RDTF9TVFVCX0xJQl9GTEFHCT0gLWx0Y2xzdHViCgojIFRvIGNv bXBpbGUgd2l0aG91dCBiYWNrd2FyZCBjb21wYXRpYmlsaXR5IGFuZCBkZXByZWNhdGVkIGNvZGUg dW5jb21tZW50IHRoZQojIGZvbGxvd2luZwpOT19ERVBSRUNBVEVEX0ZMQUdTCT0KI05PX0RFUFJF Q0FURURfRkxBR1MJPSAtRFRDTF9OT19ERVBSRUNBVEVECgojIFNvbWUgdmVyc2lvbnMgb2YgbWFr ZSwgbGlrZSBTR0kncywgdXNlIHRoZSBmb2xsb3dpbmcgdmFyaWFibGUgdG8gZGV0ZXJtaW5lCiMg d2hpY2ggc2hlbGwgdG8gdXNlIGZvciBleGVjdXRpbmcgY29tbWFuZHM6ClNIRUxMCQkJPSAvYmlu L3NoCgojIFRjbCB1c2VkIHRvIGxldCB0aGUgY29uZmlndXJlIHNjcmlwdCBjaG9vc2Ugd2hpY2gg cHJvZ3JhbSB0byB1c2UgZm9yCiMgaW5zdGFsbGluZywgYnV0IHRoZXJlIGFyZSBqdXN0IHRvbyBt YW55IGRpZmZlcmVudCB2ZXJzaW9ucyBvZiAiaW5zdGFsbCIKIyBhcm91bmQ7IGJldHRlciB0byB1 c2UgdGhlIGluc3RhbGwtc2ggc2NyaXB0IHRoYXQgY29tZXMgd2l0aCB0aGUKIyBkaXN0cmlidXRp b24sIHdoaWNoIGlzIHNsb3dlciBidXQgZ3VhcmFudGVlZCB0byB3b3JrLgoKSU5TVEFMTF9TVFJJ UF9QUk9HUkFNICAgPSAtcwpJTlNUQUxMX1NUUklQX0xJQlJBUlkgICA9IC1TIC14CgpJTlNUQUxM CQkJPSAkKFNIRUxMKSAkKFVOSVhfRElSKS9pbnN0YWxsLXNoIC1jCklOU1RBTExfUFJPR1JBTQkJ PSAke0lOU1RBTEx9CklOU1RBTExfTElCUkFSWQkJPSAke0lOU1RBTEx9CklOU1RBTExfREFUQQkJ PSAke0lOU1RBTEx9IC1tIDY0NApJTlNUQUxMX0RBVEFfRElSCT0gJHtJTlNUQUxMfSAtZCAtbSA3 NTUKCiMgTkFUSVZFX1RDTFNIIGlzIHRoZSBuYW1lIG9mIGEgdGNsc2ggZXhlY3V0YWJsZSB0aGF0 IGlzIGF2YWlsYWJsZSAqQkVGT1JFKgojIHJ1bm5pbmcgbWFrZSBmb3IgdGhlIGZpcnN0IHRpbWUu IENlcnRhaW4gYnVpbGQgdGFyZ2V0cyAobWFrZSBnZW5zdHVicykgbmVlZAojIGl0IHRvIGJlIGF2 YWlsYWJsZSBvbiB0aGUgUEFUSC4gVGhpcyBleGVjdXRhYmxlIHNob3VsZCAqTk9UKiBiZSByZXF1 aXJlZAojIGp1c3QgdG8gZG8gYSBub3JtYWwgYnVpbGQgYWx0aG91Z2ggaXQgY2FuIGJlIHJlcXVp cmVkIHRvIHJ1biBtYWtlIGRpc3QuCiMgRG8gbm90IHVzZSBTSEVMTF9FTlYgZm9yIE5BVElWRV9U Q0xTSCB1bmxlc3MgaXQgaXMgdGhlIHRjbHNoIGJlaW5nIGJ1aWx0LgpFWEVfU1VGRklYCQk9IApU Q0xfRVhFCQkJPSB0Y2xzaCR7RVhFX1NVRkZJWH0KVENMVEVTVF9FWEUJCT0gdGNsdGVzdCR7RVhF X1NVRkZJWH0KTkFUSVZFX1RDTFNICQk9IC4vJHtUQ0xfRVhFfQoKIyBUaGUgc3ltYm9scyBiZWxv dyBwcm92aWRlIHN1cHBvcnQgZm9yIGR5bmFtaWMgbG9hZGluZyBhbmQgc2hhcmVkIGxpYnJhcmll cy4KIyBTZWUgY29uZmlndXJlLmluIGZvciBhIGRlc2NyaXB0aW9uIG9mIHdoYXQgdGhlIHN5bWJv bHMgbWVhbi4gVGhlIHZhbHVlcyBvZgojIHRoZSBzeW1ib2xzIGFyZSBub3JtYWxseSBzZXQgYnkg dGhlIGNvbmZpZ3VyZSBzY3JpcHQuIFlvdSBzaG91bGRuJ3Qgbm9ybWFsbHkKIyBuZWVkIHRvIG1v ZGlmeSBhbnkgb2YgdGhlc2UgZGVmaW5pdGlvbnMgYnkgaGFuZC4KClNUTElCX0xECQk9ICR7QVJ9 IGNyClNITElCX0xECQk9IApTSExJQl9DRkxBR1MJCT0gIC1EQlVJTERfdGNsClNITElCX0xEX0xJ QlMJCT0gJHtMSUJTfQpTSExJQl9MRF9GTEFHUwkJPSBAU0hMSUJfTERfRkxBR1NAClRDTF9TSExJ Ql9MRF9FWFRSQVMJPSAKClNITElCX1NVRkZJWAkJPSAKCkRMVEVTVF9UQVJHRVRTCQk9IGRsdGVz dC5tYXJrZXIKCiMgQWRkaXRpb25hbCBzZWFyY2ggZmxhZ3MgbmVlZGVkIHRvIGZpbmQgdGhlIHZh cmlvdXMgc2hhcmVkIGxpYnJhcmllcyBhdAojIHJ1bi10aW1lLiBUaGUgZmlyc3Qgc3ltYm9sIGlz IGZvciB1c2Ugd2hlbiBjcmVhdGluZyBhIGJpbmFyeSB3aXRoIGNjLCBhbmQKIyB0aGUgc2Vjb25k IGlzIGZvciB1c2Ugd2hlbiBydW5uaW5nIGxkIGRpcmVjdGx5LgpDQ19TRUFSQ0hfRkxBR1MJPSAK TERfU0VBUkNIX0ZMQUdTCT0gCgojIFRoZSBmb2xsb3dpbmcgc3ltYm9sIGlzIGRlZmluZWQgdG8g IiQoRExURVNUX1RBUkdFVFMpIiBpZiBkeW5hbWljIGxvYWRpbmcgaXMKIyBhdmFpbGFibGU7IHRo aXMgY2F1c2VzIGV2ZXJ5dGhpbmcgaW4gdGhlICJkbHRlc3QiIHN1YmRpcmVjdG9yeSB0byBiZSBi dWlsdAojIHdoZW4gbWFraW5nICJ0Y2x0ZXN0LiBJZiBkeW5hbWljIGxvYWRpbmcgaXNuJ3QgYXZh aWxhYmxlLCBjb25maWd1cmUgZGVmaW5lcwojIHRoaXMgc3ltYm9sIHRvIGFuIGVtcHR5IHN0cmlu ZywgaW4gd2hpY2ggY2FzZSB0aGUgc2hhcmVkIGxpYnJhcmllcyBhcmVuJ3QKIyBidWlsdC4KQlVJ TERfRExURVNUCQk9IAojQlVJTERfRExURVNUCQk9CgpUQ0xfTElCX0ZJTEUJCT0gbGlidGNsOC42 LmEKI1RDTF9MSUJfRklMRQkJPSBsaWJ0Y2wuYQoKIyBHZW5lcmljIGxpYiBuYW1lIHVzZWQgaW4g cnVsZXMgdGhhdCBhcHBseSB0byB0Y2wgYW5kIHRrCkxJQl9GSUxFCQk9ICR7VENMX0xJQl9GSUxF fQoKVENMX0xJQl9GTEFHCQk9IC1sdGNsOC42CiNUQ0xfTElCX0ZMQUcJCT0gLWx0Y2wKCiMgc3Vw cG9ydCBmb3IgZW1iZWRkZWQgbGlicmFyaWVzIG9uIERhcndpbiAvIE1hYyBPUyBYCkRZTElCX0lO U1RBTExfRElSCT0gJHtMSUJfUlVOVElNRV9ESVJ9CgojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBUaGUg aW5mb3JtYXRpb24gYmVsb3cgaXMgbW9kaWZpZWQgYnkgdGhlIGNvbmZpZ3VyZSBzY3JpcHQgd2hl biBNYWtlZmlsZSBpcwojIGdlbmVyYXRlZCBmcm9tIE1ha2VmaWxlLmluLiBZb3Ugc2hvdWxkbid0 IG5vcm1hbGx5IG1vZGlmeSBhbnkgb2YgdGhpcyBzdHVmZgojIGJ5IGhhbmQuCiMtLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLQoKQ09NUEFUX09CSlMJCT0gIG1rc3RlbXAubwoKQUNfRkxBR1MJCT0gIC1EUEFDS0FH RV9OQU1FPVwidGNsXCIgLURQQUNLQUdFX1RBUk5BTUU9XCJ0Y2xcIiAtRFBBQ0tBR0VfVkVSU0lP Tj1cIjguNlwiIC1EUEFDS0FHRV9TVFJJTkc9XCJ0Y2xcIDguNlwiIC1EUEFDS0FHRV9CVUdSRVBP UlQ9XCJcIiAtRFNURENfSEVBREVSUz0xIC1ESEFWRV9TWVNfVFlQRVNfSD0xIC1ESEFWRV9TWVNf U1RBVF9IPTEgLURIQVZFX1NURExJQl9IPTEgIC1ESEFWRV9TVFJJTkdfSD0xIC1ESEFWRV9VTklT VERfSD0xIC1ETk9fVkFMVUVTX0g9MSAtRE5PX0RMRkNOX0g9MSAtREhBVkVfU1lTX1BBUkFNX0g9 MSAgLURfUkVFTlRSQU5UPTEgLURUQ0xfQ0ZHVkFMX0VOQ09ESU5HPVwiaXNvODg1OS0xXCIgLURI QVZFX1pMSUI9MSAtRE1PRFVMRV9TQ09QRT1leHRlcm4gLURUQ0xfU0hMSUJfRVhUPVwiXCIgLURO REVCVUc9MSAtRFRDTF9DRkdfT1BUSU1JWkVEPTEgLURUQ0xfVE9NTUFUSD0xIC1ETVBfUFJFQz00 IC1EVENMX1dJREVfSU5UX1RZUEU9bG9uZ1wgbG9uZyAtREhBVkVfR0VUQ1dEPTEgLURIQVZFX09Q RU5ESVI9MSAtREhBVkVfU1RSVE9MPTEgLURIQVZFX1dBSVRQSUQ9MSAtRE5PX0dFVFdEPTEgLURO T19SRUFMUEFUSD0xIC1ESEFWRV9URVJNSU9TX0g9MSAtREhBVkVfU1lTX0lPQ1RMX0g9MSAtRE5P X0ZEX1NFVD0xIC1ESEFWRV9TWVNfVElNRV9IPTEgLURUSU1FX1dJVEhfU1lTX1RJTUU9MSAtREhB VkVfR01USU1FX1I9MSAtREhBVkVfTE9DQUxUSU1FX1I9MSAtREhBVkVfTUtUSU1FPTEgLURIQVZF X1RJTUVaT05FX1ZBUj0xIC1ETk9fRlNUQVRGUz0xIC1Ec29ja2xlbl90PWludCAtRGludHB0cl90 PWludCAtRHVpbnRwdHJfdD11bnNpZ25lZFwgaW50IC1ETk9fVU5JT05fV0FJVD0xIC1ESEFWRV9T SUdORURfQ0hBUj0xIC1ESEFWRV9QVVRFTlZfVEhBVF9DT1BJRVM9MSAtRE5PX0lTTkFOPTEgLURf QlNEX0VYVEVOU0lPTiAtREhBVkVfU1lTX0lPQ1RMX0g9MSAtRFRDTF9VTkxPQURfRExMUz0xIApB UgkJCT0gYXIKUkFOTElCCQkJPSByYW5saWIKRFRSQUNFCQkJPSAKU1JDX0RJUgkJCT0gL3Vzci9n bGVuZGEvdGNsOC42LjEwL3VuaXgKVE9QX0RJUgkJCT0gL3Vzci9nbGVuZGEvdGNsOC42LjEwCkJV SUxEX0RJUgkJPSAuCkdFTkVSSUNfRElSCQk9ICQoVE9QX0RJUikvZ2VuZXJpYwpUT01NQVRIX0RJ UgkJPSAkKFRPUF9ESVIpL2xpYnRvbW1hdGgKQ09NUEFUX0RJUgkJPSAkKFRPUF9ESVIpL2NvbXBh dApUT09MX0RJUgkJPSAkKFRPUF9ESVIpL3Rvb2xzClVOSVhfRElSCQk9ICQoVE9QX0RJUikvdW5p eApNQUNfT1NYX0RJUgkJPSAkKFRPUF9ESVIpL21hY29zeApQS0dTX0RJUgkJPSAkKFRPUF9ESVIp L3BrZ3MKIyBNdXN0IGJlIGFic29sdXRlIGJlY2F1c2Ugb2YgdGhlIGNkIGRsdGVzdCAkKERMVEVT VF9ESVIpL2NvbmZpZ3VyZSBiZWxvdy4KRExURVNUX0RJUgkJPSAvdXNyL2dsZW5kYS90Y2w4LjYu MTAvdW5peC9kbHRlc3QKIyBNdXN0IGJlIGFic29sdXRlIHRvIHNvIHRoZSBjb3JyZXNwb25kaW5n IHRjbHRlc3QncyB0Y2xfbGlicmFyeSBpcyBhYnNvbHV0ZS4KVENMX0JVSUxEVElNRV9MSUJSQVJZ CT0gL3Vzci9nbGVuZGEvdGNsOC42LjEwL2xpYnJhcnkKClpMSUJfRElSCQk9ICR7Q09NUEFUX0RJ Un0vemxpYgpaTElCX0lOQ0xVREUJCT0gLUkke1pMSUJfRElSfQoKQ0MJCQk9IGNjCiNDQwkJCT0g cHVyaWZ5IC1iZXN0LWVmZm9ydCBjYyAtRFBVUklGWQoKIyBGbGFncyB0byBiZSBwYXNzZWQgdG8g aW5zdGFsbE1hblBhZ2UgdG8gY29udHJvbCBob3cgdGhlIG1hbnBhZ2VzIHNob3VsZCBiZQojIGlu c3RhbGxlZCAoc3ltbGlua3MsIGNvbXByZXNzaW9uLCBwYWNrYWdlIG5hbWUgc3VmZml4KS4KTUFO X0ZMQUdTICAgICAgICAgICAgICAgPSAKCiMgSWYgbm9uLWVtcHR5LCBpbnN0YWxsIHRoZSB0aW1l em9uZSBmaWxlcyB0aGF0IGFyZSBpbmNsdWRlZCB3aXRoIFRjbCwKIyBvdGhlcndpc2UgdXNlIHRo ZSBvbmVzIHRoYXQgc2hpcCB3aXRoIHRoZSBPUy4KSU5TVEFMTF9UWkRBVEEJCT0gaW5zdGFsbC10 emRhdGEKCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojIFRoZSBpbmZvcm1hdGlvbiBiZWxvdyBpcyB1c3Vh bGx5IHVzYWJsZSBhcyBpcy4gVGhlIGNvbmZpZ3VyZSBzY3JpcHQgd29uJ3QKIyBtb2RpZnkgaXQg YW5kIGl0IG9ubHkgZXhpc3RzIHRvIG1ha2Ugd29ya2luZyBhcm91bmQgc2VsZWN0ZWQgcmFyZSBz eXN0ZW0KIyBjb25maWd1cmF0aW9ucyBlYXNpZXIuCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKR0RCCQkJ PSBnZGIKVFJBQ0UJCQk9IHN0cmFjZQpUUkFDRV9PUFRTCQk9ClZBTEdSSU5ECQk9IHZhbGdyaW5k ClZBTEdSSU5EQVJHUwkJPSAtLXRvb2w9bWVtY2hlY2sgLS1udW0tY2FsbGVycz0yNCBcCiAgICAt LWxlYWstcmVzb2x1dGlvbj1oaWdoIC0tbGVhay1jaGVjaz15ZXMgLS1zaG93LXJlYWNoYWJsZT15 ZXMgLXYgXAogICAgLS1zdXBwcmVzc2lvbnM9JChUT09MX0RJUikvdmFsZ3JpbmRfc3VwcHJlc3MK CiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLQojIFRoZSBpbmZvcm1hdGlvbiBiZWxvdyBzaG91bGQgYmUgdXNh YmxlIGFzIGlzLiBUaGUgY29uZmlndXJlIHNjcmlwdCB3b24ndAojIG1vZGlmeSBpdCBhbmQgeW91 IHNob3VsZG4ndCBuZWVkIHRvIG1vZGlmeSBpdCBlaXRoZXIuCiMtLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoK U1RVQl9DQ19TV0lUQ0hFUyA9ICR7Q0ZMQUdTfSAke0NGTEFHU19XQVJOSU5HfSAke1NITElCX0NG TEFHU30gXAotSSIke0JVSUxEX0RJUn0iIC1JJHtVTklYX0RJUn0gLUkke0dFTkVSSUNfRElSfSAt SSR7VE9NTUFUSF9ESVJ9IFwKJHtBQ19GTEFHU30gJHtQUk9UT19GTEFHU30gJHtFTlZfRkxBR1N9 ICR7RVhUUkFfQ0ZMQUdTfSAKCkNDX1NXSVRDSEVTID0gJChTVFVCX0NDX1NXSVRDSEVTKSAke05P X0RFUFJFQ0FURURfRkxBR1N9IC1ETVBfRklYRURfQ1VUT0ZGUyAtRE1QX05PX1NURElOVAoKQVBQ X0NDX1NXSVRDSEVTID0gJChDQ19TV0lUQ0hFUykgCgpMSUJTCQk9ICAgLWxpbmV0IAoKREVQRU5E X1NXSVRDSEVTCT0gJHtDRkxBR1N9IC1JJHtVTklYX0RJUn0gLUkke0dFTkVSSUNfRElSfSBcCiR7 QUNfRkxBR1N9ICR7UFJPVE9fRkxBR1N9ICR7RVhUUkFfQ0ZMQUdTfSAKClRDTFNIX09CSlMgPSB0 Y2xBcHBJbml0Lm8KClRDTFRFU1RfT0JKUyA9IHRjbFRlc3RJbml0Lm8gdGNsVGVzdC5vIHRjbFRl c3RPYmoubyB0Y2xUZXN0UHJvY0JvZHlPYmoubyBcCgl0Y2xUaHJlYWRUZXN0Lm8gdGNsVW5peFRl c3QubwoKWFRURVNUX09CSlMgPSB4dFRlc3RJbml0Lm8gdGNsVGVzdC5vIHRjbFRlc3RPYmoubyB0 Y2xUZXN0UHJvY0JvZHlPYmoubyBcCgl0Y2xUaHJlYWRUZXN0Lm8gdGNsVW5peFRlc3QubyB0Y2xY dE5vdGlmeS5vIHRjbFh0VGVzdC5vCgpHRU5FUklDX09CSlMgPSByZWdjb21wLm8gcmVnZXhlYy5v IHJlZ2ZyZWUubyByZWdlcnJvci5vIHRjbEFsbG9jLm8gXAoJdGNsQXNzZW1ibHkubyB0Y2xBc3lu Yy5vIHRjbEJhc2ljLm8gdGNsQmluYXJ5Lm8gdGNsQ2thbGxvYy5vIFwKCXRjbENsb2NrLm8gdGNs Q21kQUgubyB0Y2xDbWRJTC5vIHRjbENtZE1aLm8gXAoJdGNsQ29tcENtZHMubyB0Y2xDb21wQ21k c0dSLm8gdGNsQ29tcENtZHNTWi5vIHRjbENvbXBFeHByLm8gXAoJdGNsQ29tcGlsZS5vIHRjbENv bmZpZy5vIHRjbERhdGUubyB0Y2xEaWN0T2JqLm8gdGNsRGlzYXNzZW1ibGUubyBcCgl0Y2xFbmNv ZGluZy5vIHRjbEVuc2VtYmxlLm8gXAoJdGNsRW52Lm8gdGNsRXZlbnQubyB0Y2xFeGVjdXRlLm8g dGNsRkNtZC5vIHRjbEZpbGVOYW1lLm8gdGNsR2V0Lm8gXAoJdGNsSGFzaC5vIHRjbEhpc3Rvcnku byB0Y2xJbmRleE9iai5vIHRjbEludGVycC5vIHRjbElPLm8gdGNsSU9DbWQubyBcCgl0Y2xJT1JD aGFuLm8gdGNsSU9SVHJhbnMubyB0Y2xJT0dULm8gdGNsSU9Tb2NrLm8gdGNsSU9VdGlsLm8gXAoJ dGNsTGluay5vIHRjbExpc3RPYmoubyBcCgl0Y2xMaXRlcmFsLm8gdGNsTG9hZC5vIHRjbE1haW4u byB0Y2xOYW1lc3AubyB0Y2xOb3RpZnkubyBcCgl0Y2xPYmoubyB0Y2xPcHRpbWl6ZS5vIHRjbFBh bmljLm8gdGNsUGFyc2UubyB0Y2xQYXRoT2JqLm8gdGNsUGlwZS5vIFwKCXRjbFBrZy5vIHRjbFBr Z0NvbmZpZy5vIHRjbFBvc2l4U3RyLm8gXAoJdGNsUHJlc2VydmUubyB0Y2xQcm9jLm8gdGNsUmVn ZXhwLm8gXAoJdGNsUmVzb2x2ZS5vIHRjbFJlc3VsdC5vIHRjbFNjYW4ubyB0Y2xTdHJpbmdPYmou byBcCgl0Y2xTdHJUb0QubyB0Y2xUaHJlYWQubyBcCgl0Y2xUaHJlYWRBbGxvYy5vIHRjbFRocmVh ZEpvaW4ubyB0Y2xUaHJlYWRTdG9yYWdlLm8gdGNsU3R1YkluaXQubyBcCgl0Y2xUaW1lci5vIHRj bFRyYWNlLm8gdGNsVXRmLm8gdGNsVXRpbC5vIHRjbFZhci5vIHRjbFpsaWIubyBcCgl0Y2xUb21N YXRoSW50ZXJmYWNlLm8KCk9PX09CSlMgPSB0Y2xPTy5vIHRjbE9PQmFzaWMubyB0Y2xPT0NhbGwu byB0Y2xPT0RlZmluZUNtZHMubyB0Y2xPT0luZm8ubyBcCgl0Y2xPT01ldGhvZC5vIHRjbE9PU3R1 YkluaXQubwoKVE9NTUFUSF9PQkpTID0gYm5fc19tcF9yZXZlcnNlLm8gYm5fc19tcF9tdWxfZGln c19mYXN0Lm8gXAoJYm5fc19tcF9zcXJfZmFzdC5vIGJuX21wX2FkZC5vIGJuX21wX2FuZC5vIFwK CWJuX21wX2FkZF9kLm8gYm5fbXBfY2xhbXAubyBibl9tcF9jbGVhci5vIGJuX21wX2NsZWFyX211 bHRpLm8gXAoJYm5fbXBfY21wLm8gYm5fbXBfY21wX2QubyBibl9tcF9jbXBfbWFnLm8gXAoJYm5f bXBfY250X2xzYi5vIGJuX21wX2NvcHkubyBcCglibl9tcF9jb3VudF9iaXRzLm8gYm5fbXBfZGl2 Lm8gYm5fbXBfZGl2X2QubyBibl9tcF9kaXZfMi5vIFwKCWJuX21wX2Rpdl8yZC5vIGJuX21wX2Rp dl8zLm8gYm5fbXBfZXhjaC5vIGJuX21wX2V4cHRfdTMyLm8gXAoJYm5fbXBfZ3Jvdy5vIGJuX21w X2luaXQubyBcCglibl9tcF9pbml0X2NvcHkubyBibl9tcF9pbml0X211bHRpLm8gYm5fbXBfaW5p dF9zZXQubyBcCglibl9tcF9pbml0X3NpemUubyBibl9zX21wX2thcmF0c3ViYV9tdWwubyBcCgli bl9zX21wX2thcmF0c3ViYV9zcXIubyBibl9zX21wX2JhbGFuY2VfbXVsLm8gXAoJYm5fbXBfbHNo ZC5vIGJuX21wX21vZC5vIGJuX21wX21vZF8yZC5vIGJuX21wX211bC5vIGJuX21wX211bF8yLm8g XAoJYm5fbXBfbXVsXzJkLm8gYm5fbXBfbXVsX2QubyBibl9tcF9uZWcubyBibl9tcF9vci5vIFwK CWJuX21wX3JhZGl4X3NpemUubyBibl9tcF9yYWRpeF9zbWFwLm8gXAoJYm5fbXBfcmVhZF9yYWRp eC5vIGJuX21wX3JzaGQubyBibl9tcF9zZXQubyBcCglibl9tcF9zaHJpbmsubyBcCglibl9tcF9z cXIubyBibl9tcF9zcXJ0Lm8gYm5fbXBfc3ViLm8gYm5fbXBfc3ViX2QubyBcCglibl9tcF9zaWdu ZWRfcnNoLm8gXAoJYm5fbXBfdG9fdWJpbi5vIFwKCWJuX3NfbXBfdG9vbV9tdWwubyBibl9zX21w X3Rvb21fc3FyLm8gYm5fbXBfdG9fcmFkaXgubyBcCglibl9tcF91YmluX3NpemUubyBibl9tcF94 b3IubyBibl9tcF96ZXJvLm8gYm5fc19tcF9hZGQubyBcCglibl9zX21wX211bF9kaWdzLm8gYm5f c19tcF9zcXIubyBibl9zX21wX3N1Yi5vCgpTVFVCX0xJQl9PQkpTID0gdGNsU3R1YkxpYi5vIFwK CXRjbFRvbU1hdGhTdHViTGliLm8gXAoJdGNsT09TdHViTGliLm8gXAoJJHtDT01QQVRfT0JKU30K ClVOSVhfT0JKUyA9IHRjbFVuaXhDaGFuLm8gdGNsVW5peEV2ZW50Lm8gdGNsVW5peEZDbWQubyBc Cgl0Y2xVbml4RmlsZS5vIHRjbFVuaXhQaXBlLm8gdGNsVW5peFNvY2subyBcCgl0Y2xVbml4VGlt ZS5vIHRjbFVuaXhJbml0Lm8gdGNsVW5peFRocmQubyBcCgl0Y2xVbml4Q29tcGF0Lm8KCk5PVElG WV9PQkpTID0gdGNsVW5peE5vdGZ5Lm8KCk1BQ19PU1hfT0JKUyA9IHRjbE1hY09TWEJ1bmRsZS5v IHRjbE1hY09TWEZDbWQubyB0Y2xNYWNPU1hOb3RpZnkubwoKQ1lHV0lOX09CSlMgPSB0Y2xXaW5F cnJvci5vCgpEVFJBQ0VfT0JKID0gdGNsRFRyYWNlLm8KClpMSUJfT0JKUyA9IFphZGxlcjMyLm8g WmNvbXByZXNzLm8gWmNyYzMyLm8gWmRlZmxhdGUubyBaaW5mYmFjay5vIFwKCVppbmZmYXN0Lm8g WmluZmxhdGUubyBaaW5mdHJlZXMubyBadHJlZXMubyBadW5jb21wci5vIFp6dXRpbC5vCgpUQ0xf T0JKUyA9ICR7R0VORVJJQ19PQkpTfSAke1VOSVhfT0JKU30gJHtOT1RJRllfT0JKU30gJHtDT01Q QVRfT0JKU30gXAoJJHtPT19PQkpTfSB0Y2xMb2FkTm9uZS5vIAoKT0JKUyA9ICR7VENMX09CSlN9 ICR7VE9NTUFUSF9PQkpTfSAgJHtaTElCX09CSlN9CgpUQ0xfREVDTFMgPSBcCgkkKEdFTkVSSUNf RElSKS90Y2wuZGVjbHMgXAoJJChHRU5FUklDX0RJUikvdGNsSW50LmRlY2xzIFwKCSQoR0VORVJJ Q19ESVIpL3RjbE9PLmRlY2xzIFwKCSQoR0VORVJJQ19ESVIpL3RjbFRvbU1hdGguZGVjbHMKCkdF TkVSSUNfSERSUyA9IFwKCSQoR0VORVJJQ19ESVIpL3RjbC5oIFwKCSQoR0VORVJJQ19ESVIpL3Rj bERlY2xzLmggXAoJJChHRU5FUklDX0RJUikvdGNsSW50LmggXAoJJChHRU5FUklDX0RJUikvdGNs SW50RGVjbHMuaCBcCgkkKEdFTkVSSUNfRElSKS90Y2xJbnRQbGF0RGVjbHMuaCBcCgkkKEdFTkVS SUNfRElSKS90Y2xUb21NYXRoLmggXAoJJChHRU5FUklDX0RJUikvdGNsVG9tTWF0aERlY2xzLmgg XAoJJChHRU5FUklDX0RJUikvdGNsT08uaCBcCgkkKEdFTkVSSUNfRElSKS90Y2xPT0RlY2xzLmgg XAoJJChHRU5FUklDX0RJUikvdGNsT09JbnQuaCBcCgkkKEdFTkVSSUNfRElSKS90Y2xPT0ludERl Y2xzLmggXAoJJChHRU5FUklDX0RJUikvdGNsUGF0Y2guaCBcCgkkKEdFTkVSSUNfRElSKS90Y2xQ bGF0RGVjbHMuaCBcCgkkKEdFTkVSSUNfRElSKS90Y2xQb3J0LmggXAoJJChHRU5FUklDX0RJUikv dGNsUmVnZXhwLmgKCkdFTkVSSUNfU1JDUyA9IFwKCSQoR0VORVJJQ19ESVIpL3JlZ2NvbXAuYyBc CgkkKEdFTkVSSUNfRElSKS9yZWdleGVjLmMgXAoJJChHRU5FUklDX0RJUikvcmVnZnJlZS5jIFwK CSQoR0VORVJJQ19ESVIpL3JlZ2Vycm9yLmMgXAoJJChHRU5FUklDX0RJUikvdGNsQWxsb2MuYyBc CgkkKEdFTkVSSUNfRElSKS90Y2xBc3NlbWJseS5jIFwKCSQoR0VORVJJQ19ESVIpL3RjbEFzeW5j LmMgXAoJJChHRU5FUklDX0RJUikvdGNsQmFzaWMuYyBcCgkkKEdFTkVSSUNfRElSKS90Y2xCaW5h cnkuYyBcCgkkKEdFTkVSSUNfRElSKS90Y2xDa2FsbG9jLmMgXAoJJChHRU5FUklDX0RJUikvdGNs Q2xvY2suYyBcCgkkKEdFTkVSSUNfRElSKS90Y2xDbWRBSC5jIFwKCSQoR0VORVJJQ19ESVIpL3Rj bENtZElMLmMgXAoJJChHRU5FUklDX0RJUikvdGNsQ21kTVouYyBcCgkkKEdFTkVSSUNfRElSKS90 Y2xDb21wQ21kcy5jIFwKCSQoR0VORVJJQ19ESVIpL3RjbENvbXBDbWRzR1IuYyBcCgkkKEdFTkVS SUNfRElSKS90Y2xDb21wQ21kc1NaLmMgXAoJJChHRU5FUklDX0RJUikvdGNsQ29tcEV4cHIuYyBc CgkkKEdFTkVSSUNfRElSKS90Y2xDb21waWxlLmMgXAoJJChHRU5FUklDX0RJUikvdGNsQ29uZmln LmMgXAoJJChHRU5FUklDX0RJUikvdGNsRGF0ZS5jIFwKCSQoR0VORVJJQ19ESVIpL3RjbERpY3RP YmouYyBcCgkkKEdFTkVSSUNfRElSKS90Y2xEaXNhc3NlbWJsZS5jIFwKCSQoR0VORVJJQ19ESVIp L3RjbEVuY29kaW5nLmMgXAoJJChHRU5FUklDX0RJUikvdGNsRW5zZW1ibGUuYyBcCgkkKEdFTkVS SUNfRElSKS90Y2xFbnYuYyBcCgkkKEdFTkVSSUNfRElSKS90Y2xFdmVudC5jIFwKCSQoR0VORVJJ Q19ESVIpL3RjbEV4ZWN1dGUuYyBcCgkkKEdFTkVSSUNfRElSKS90Y2xGQ21kLmMgXAoJJChHRU5F UklDX0RJUikvdGNsRmlsZU5hbWUuYyBcCgkkKEdFTkVSSUNfRElSKS90Y2xHZXQuYyBcCgkkKEdF TkVSSUNfRElSKS90Y2xIYXNoLmMgXAoJJChHRU5FUklDX0RJUikvdGNsSGlzdG9yeS5jIFwKCSQo R0VORVJJQ19ESVIpL3RjbEluZGV4T2JqLmMgXAoJJChHRU5FUklDX0RJUikvdGNsSW50ZXJwLmMg XAoJJChHRU5FUklDX0RJUikvdGNsSU8uYyBcCgkkKEdFTkVSSUNfRElSKS90Y2xJT0NtZC5jIFwK CSQoR0VORVJJQ19ESVIpL3RjbElPR1QuYyBcCgkkKEdFTkVSSUNfRElSKS90Y2xJT1NvY2suYyBc CgkkKEdFTkVSSUNfRElSKS90Y2xJT1V0aWwuYyBcCgkkKEdFTkVSSUNfRElSKS90Y2xJT1JDaGFu LmMgXAoJJChHRU5FUklDX0RJUikvdGNsSU9SVHJhbnMuYyBcCgkkKEdFTkVSSUNfRElSKS90Y2xM aW5rLmMgXAoJJChHRU5FUklDX0RJUikvdGNsTGlzdE9iai5jIFwKCSQoR0VORVJJQ19ESVIpL3Rj bExpdGVyYWwuYyBcCgkkKEdFTkVSSUNfRElSKS90Y2xMb2FkLmMgXAoJJChHRU5FUklDX0RJUikv dGNsTWFpbi5jIFwKCSQoR0VORVJJQ19ESVIpL3RjbE5hbWVzcC5jIFwKCSQoR0VORVJJQ19ESVIp L3RjbE5vdGlmeS5jIFwKCSQoR0VORVJJQ19ESVIpL3RjbE9iai5jIFwKCSQoR0VORVJJQ19ESVIp L3RjbE9wdGltaXplLmMgXAoJJChHRU5FUklDX0RJUikvdGNsUGFyc2UuYyBcCgkkKEdFTkVSSUNf RElSKS90Y2xQYXRoT2JqLmMgXAoJJChHRU5FUklDX0RJUikvdGNsUGlwZS5jIFwKCSQoR0VORVJJ Q19ESVIpL3RjbFBrZy5jIFwKCSQoR0VORVJJQ19ESVIpL3RjbFBrZ0NvbmZpZy5jIFwKCSQoR0VO RVJJQ19ESVIpL3RjbFBvc2l4U3RyLmMgXAoJJChHRU5FUklDX0RJUikvdGNsUHJlc2VydmUuYyBc CgkkKEdFTkVSSUNfRElSKS90Y2xQcm9jLmMgXAoJJChHRU5FUklDX0RJUikvdGNsUmVnZXhwLmMg XAoJJChHRU5FUklDX0RJUikvdGNsUmVzb2x2ZS5jIFwKCSQoR0VORVJJQ19ESVIpL3RjbFJlc3Vs dC5jIFwKCSQoR0VORVJJQ19ESVIpL3RjbFNjYW4uYyBcCgkkKEdFTkVSSUNfRElSKS90Y2xTdHVi SW5pdC5jIFwKCSQoR0VORVJJQ19ESVIpL3RjbFN0cmluZ09iai5jIFwKCSQoR0VORVJJQ19ESVIp L3RjbFN0clRvRC5jIFwKCSQoR0VORVJJQ19ESVIpL3RjbFRlc3QuYyBcCgkkKEdFTkVSSUNfRElS KS90Y2xUZXN0T2JqLmMgXAoJJChHRU5FUklDX0RJUikvdGNsVGVzdFByb2NCb2R5T2JqLmMgXAoJ JChHRU5FUklDX0RJUikvdGNsVGhyZWFkLmMgXAoJJChHRU5FUklDX0RJUikvdGNsVGhyZWFkQWxs b2MuYyBcCgkkKEdFTkVSSUNfRElSKS90Y2xUaHJlYWRKb2luLmMgXAoJJChHRU5FUklDX0RJUikv dGNsVGhyZWFkU3RvcmFnZS5jIFwKCSQoR0VORVJJQ19ESVIpL3RjbFRpbWVyLmMgXAoJJChHRU5F UklDX0RJUikvdGNsVHJhY2UuYyBcCgkkKEdFTkVSSUNfRElSKS90Y2xVdGlsLmMgXAoJJChHRU5F UklDX0RJUikvdGNsVmFyLmMgXAoJJChHRU5FUklDX0RJUikvdGNsQXNzZW1ibHkuYyBcCgkkKEdF TkVSSUNfRElSKS90Y2xabGliLmMKCk9PX1NSQ1MgPSBcCgkkKEdFTkVSSUNfRElSKS90Y2xPTy5j IFwKCSQoR0VORVJJQ19ESVIpL3RjbE9PQmFzaWMuYyBcCgkkKEdFTkVSSUNfRElSKS90Y2xPT0Nh bGwuYyBcCgkkKEdFTkVSSUNfRElSKS90Y2xPT0RlZmluZUNtZHMuYyBcCgkkKEdFTkVSSUNfRElS KS90Y2xPT0luZm8uYyBcCgkkKEdFTkVSSUNfRElSKS90Y2xPT01ldGhvZC5jIFwKCSQoR0VORVJJ Q19ESVIpL3RjbE9PU3R1YkluaXQuYwoKU1RVQl9TUkNTID0gXAoJJChHRU5FUklDX0RJUikvdGNs U3R1YkxpYi5jIFwKCSQoR0VORVJJQ19ESVIpL3RjbFRvbU1hdGhTdHViTGliLmMgXAoJJChHRU5F UklDX0RJUikvdGNsT09TdHViTGliLmMKClRPTU1BVEhfU1JDUyA9IFwKCSQoVE9NTUFUSF9ESVIp L2JuX2N1dG9mZnMuYyBcCgkkKFRPTU1BVEhfRElSKS9ibl9kZXByZWNhdGVkLmMgXAoJJChUT01N QVRIX0RJUikvYm5fbXBfMmV4cHQuYyBcCgkkKFRPTU1BVEhfRElSKS9ibl9tcF9hYnMuYyBcCgkk KFRPTU1BVEhfRElSKS9ibl9tcF9hZGQuYyBcCgkkKFRPTU1BVEhfRElSKS9ibl9tcF9hZGRfZC5j IFwKCSQoVE9NTUFUSF9ESVIpL2JuX21wX2FkZG1vZC5jIFwKCSQoVE9NTUFUSF9ESVIpL2JuX21w X2FuZC5jIFwKCSQoVE9NTUFUSF9ESVIpL2JuX21wX2NsYW1wLmMgXAoJJChUT01NQVRIX0RJUikv Ym5fbXBfY2xlYXIuYyBcCgkkKFRPTU1BVEhfRElSKS9ibl9tcF9jbGVhcl9tdWx0aS5jIFwKCSQo VE9NTUFUSF9ESVIpL2JuX21wX2NtcC5jIFwKCSQoVE9NTUFUSF9ESVIpL2JuX21wX2NtcF9kLmMg XAoJJChUT01NQVRIX0RJUikvYm5fbXBfY21wX21hZy5jIFwKCSQoVE9NTUFUSF9ESVIpL2JuX21w X2NudF9sc2IuYyBcCgkkKFRPTU1BVEhfRElSKS9ibl9tcF9jb21wbGVtZW50LmMgXAoJJChUT01N QVRIX0RJUikvYm5fbXBfY29weS5jIFwKCSQoVE9NTUFUSF9ESVIpL2JuX21wX2NvdW50X2JpdHMu YyBcCgkkKFRPTU1BVEhfRElSKS9ibl9tcF9kZWNyLmMgXAoJJChUT01NQVRIX0RJUikvYm5fbXBf ZGl2LmMgXAoJJChUT01NQVRIX0RJUikvYm5fbXBfZGl2XzIuYyBcCgkkKFRPTU1BVEhfRElSKS9i bl9tcF9kaXZfMmQuYyBcCgkkKFRPTU1BVEhfRElSKS9ibl9tcF9kaXZfMy5jIFwKCSQoVE9NTUFU SF9ESVIpL2JuX21wX2Rpdl9kLmMgXAoJJChUT01NQVRIX0RJUikvYm5fbXBfZHJfaXNfbW9kdWx1 cy5jIFwKCSQoVE9NTUFUSF9ESVIpL2JuX21wX2RyX3JlZHVjZS5jIFwKCSQoVE9NTUFUSF9ESVIp L2JuX21wX2RyX3NldHVwLmMgXAoJJChUT01NQVRIX0RJUikvYm5fbXBfZXJyb3JfdG9fc3RyaW5n LmMgXAoJJChUT01NQVRIX0RJUikvYm5fbXBfZXhjaC5jIFwKCSQoVE9NTUFUSF9ESVIpL2JuX21w X2V4cHRfdTMyLmMgXAoJJChUT01NQVRIX0RJUikvYm5fbXBfZXhwdG1vZC5jIFwKCSQoVE9NTUFU SF9ESVIpL2JuX21wX2V4dGV1Y2xpZC5jIFwKCSQoVE9NTUFUSF9ESVIpL2JuX21wX2ZyZWFkLmMg XAoJJChUT01NQVRIX0RJUikvYm5fbXBfZnJvbV9zYmluLmMgXAoJJChUT01NQVRIX0RJUikvYm5f bXBfZnJvbV91YmluLmMgXAoJJChUT01NQVRIX0RJUikvYm5fbXBfZndyaXRlLmMgXAoJJChUT01N QVRIX0RJUikvYm5fbXBfZ2NkLmMgXAoJJChUT01NQVRIX0RJUikvYm5fbXBfZ2V0X2RvdWJsZS5j IFwKCSQoVE9NTUFUSF9ESVIpL2JuX21wX2dldF9pMzIuYyBcCgkkKFRPTU1BVEhfRElSKS9ibl9t cF9nZXRfaTY0LmMgXAoJJChUT01NQVRIX0RJUikvYm5fbXBfZ2V0X2wuYyBcCgkkKFRPTU1BVEhf RElSKS9ibl9tcF9nZXRfbGwuYyBcCgkkKFRPTU1BVEhfRElSKS9ibl9tcF9nZXRfbWFnX3UzMi5j IFwKCSQoVE9NTUFUSF9ESVIpL2JuX21wX2dldF9tYWdfdTY0LmMgXAoJJChUT01NQVRIX0RJUikv Ym5fbXBfZ2V0X21hZ191bC5jIFwKCSQoVE9NTUFUSF9ESVIpL2JuX21wX2dldF9tYWdfdWxsLmMg XAoJJChUT01NQVRIX0RJUikvYm5fbXBfZ3Jvdy5jIFwKCSQoVE9NTUFUSF9ESVIpL2JuX21wX2lu Y3IuYyBcCgkkKFRPTU1BVEhfRElSKS9ibl9tcF9pbml0LmMgXAoJJChUT01NQVRIX0RJUikvYm5f bXBfaW5pdF9jb3B5LmMgXAoJJChUT01NQVRIX0RJUikvYm5fbXBfaW5pdF9pMzIuYyBcCgkkKFRP TU1BVEhfRElSKS9ibl9tcF9pbml0X2k2NC5jIFwKCSQoVE9NTUFUSF9ESVIpL2JuX21wX2luaXRf bC5jIFwKCSQoVE9NTUFUSF9ESVIpL2JuX21wX2luaXRfbGwuYyBcCgkkKFRPTU1BVEhfRElSKS9i bl9tcF9pbml0X211bHRpLmMgXAoJJChUT01NQVRIX0RJUikvYm5fbXBfaW5pdF9zZXQuYyBcCgkk KFRPTU1BVEhfRElSKS9ibl9tcF9pbml0X3NpemUuYyBcCgkkKFRPTU1BVEhfRElSKS9ibl9tcF9p bml0X3UzMi5jIFwKCSQoVE9NTUFUSF9ESVIpL2JuX21wX2luaXRfdTY0LmMgXAoJJChUT01NQVRI X0RJUikvYm5fbXBfaW5pdF91bC5jIFwKCSQoVE9NTUFUSF9ESVIpL2JuX21wX2luaXRfdWxsLmMg XAoJJChUT01NQVRIX0RJUikvYm5fbXBfaW52bW9kLmMgXAoJJChUT01NQVRIX0RJUikvYm5fbXBf aXNfc3F1YXJlLmMgXAoJJChUT01NQVRIX0RJUikvYm5fbXBfaXNldmVuLmMgXAoJJChUT01NQVRI X0RJUikvYm5fbXBfaXNvZGQuYyBcCgkkKFRPTU1BVEhfRElSKS9ibl9tcF9rcm9uZWNrZXIuYyBc CgkkKFRPTU1BVEhfRElSKS9ibl9tcF9sY20uYyBcCgkkKFRPTU1BVEhfRElSKS9ibl9tcF9sb2df dTMyLmMgXAoJJChUT01NQVRIX0RJUikvYm5fbXBfbHNoZC5jIFwKCSQoVE9NTUFUSF9ESVIpL2Ju X21wX21vZC5jIFwKCSQoVE9NTUFUSF9ESVIpL2JuX21wX21vZF8yZC5jIFwKCSQoVE9NTUFUSF9E SVIpL2JuX21wX21vZF9kLmMgXAoJJChUT01NQVRIX0RJUikvYm5fbXBfbW9udGdvbWVyeV9jYWxj X25vcm1hbGl6YXRpb24uYyBcCgkkKFRPTU1BVEhfRElSKS9ibl9tcF9tb250Z29tZXJ5X3JlZHVj ZS5jIFwKCSQoVE9NTUFUSF9ESVIpL2JuX21wX21vbnRnb21lcnlfc2V0dXAuYyBcCgkkKFRPTU1B VEhfRElSKS9ibl9tcF9tdWwuYyBcCgkkKFRPTU1BVEhfRElSKS9ibl9tcF9tdWxfMi5jIFwKCSQo VE9NTUFUSF9ESVIpL2JuX21wX211bF8yZC5jIFwKCSQoVE9NTUFUSF9ESVIpL2JuX21wX211bF9k LmMgXAoJJChUT01NQVRIX0RJUikvYm5fbXBfbXVsbW9kLmMgXAoJJChUT01NQVRIX0RJUikvYm5f bXBfbmVnLmMgXAoJJChUT01NQVRIX0RJUikvYm5fbXBfb3IuYyBcCgkkKFRPTU1BVEhfRElSKS9i bl9tcF9wYWNrLmMgXAoJJChUT01NQVRIX0RJUikvYm5fbXBfcGFja19jb3VudC5jIFwKCSQoVE9N TUFUSF9ESVIpL2JuX21wX3ByaW1lX2Zlcm1hdC5jIFwKCSQoVE9NTUFUSF9ESVIpL2JuX21wX3By aW1lX2Zyb2Jlbml1c191bmRlcndvb2QuYyBcCgkkKFRPTU1BVEhfRElSKS9ibl9tcF9wcmltZV9p c19wcmltZS5jIFwKCSQoVE9NTUFUSF9ESVIpL2JuX21wX3ByaW1lX21pbGxlcl9yYWJpbi5jIFwK CSQoVE9NTUFUSF9ESVIpL2JuX21wX3ByaW1lX25leHRfcHJpbWUuYyBcCgkkKFRPTU1BVEhfRElS KS9ibl9tcF9wcmltZV9yYWJpbl9taWxsZXJfdHJpYWxzLmMgXAoJJChUT01NQVRIX0RJUikvYm5f bXBfcHJpbWVfcmFuZC5jIFwKCSQoVE9NTUFUSF9ESVIpL2JuX21wX3ByaW1lX3N0cm9uZ19sdWNh c19zZWxmcmlkZ2UuYyBcCgkkKFRPTU1BVEhfRElSKS9ibl9tcF9yYWRpeF9zaXplLmMgXAoJJChU T01NQVRIX0RJUikvYm5fbXBfcmFkaXhfc21hcC5jIFwKCSQoVE9NTUFUSF9ESVIpL2JuX21wX3Jh bmQuYyBcCgkkKFRPTU1BVEhfRElSKS9ibl9tcF9yZWFkX3JhZGl4LmMgXAoJJChUT01NQVRIX0RJ UikvYm5fbXBfcmVkdWNlLmMgXAoJJChUT01NQVRIX0RJUikvYm5fbXBfcmVkdWNlXzJrLmMgXAoJ JChUT01NQVRIX0RJUikvYm5fbXBfcmVkdWNlXzJrX2wuYyBcCgkkKFRPTU1BVEhfRElSKS9ibl9t cF9yZWR1Y2VfMmtfc2V0dXAuYyBcCgkkKFRPTU1BVEhfRElSKS9ibl9tcF9yZWR1Y2VfMmtfc2V0 dXBfbC5jIFwKCSQoVE9NTUFUSF9ESVIpL2JuX21wX3JlZHVjZV9pc18yay5jIFwKCSQoVE9NTUFU SF9ESVIpL2JuX21wX3JlZHVjZV9pc18ya19sLmMgXAoJJChUT01NQVRIX0RJUikvYm5fbXBfcmVk dWNlX3NldHVwLmMgXAoJJChUT01NQVRIX0RJUikvYm5fbXBfcm9vdF91MzIuYyBcCgkkKFRPTU1B VEhfRElSKS9ibl9tcF9yc2hkLmMgXAoJJChUT01NQVRIX0RJUikvYm5fbXBfc2Jpbl9zaXplLmMg XAoJJChUT01NQVRIX0RJUikvYm5fbXBfc2V0LmMgXAoJJChUT01NQVRIX0RJUikvYm5fbXBfc2V0 X2RvdWJsZS5jIFwKCSQoVE9NTUFUSF9ESVIpL2JuX21wX3NldF9pMzIuYyBcCgkkKFRPTU1BVEhf RElSKS9ibl9tcF9zZXRfaTY0LmMgXAoJJChUT01NQVRIX0RJUikvYm5fbXBfc2V0X2wuYyBcCgkk KFRPTU1BVEhfRElSKS9ibl9tcF9zZXRfbGwuYyBcCgkkKFRPTU1BVEhfRElSKS9ibl9tcF9zZXRf dTMyLmMgXAoJJChUT01NQVRIX0RJUikvYm5fbXBfc2V0X3U2NC5jIFwKCSQoVE9NTUFUSF9ESVIp L2JuX21wX3NldF91bC5jIFwKCSQoVE9NTUFUSF9ESVIpL2JuX21wX3NldF91bGwuYyBcCgkkKFRP TU1BVEhfRElSKS9ibl9tcF9zaHJpbmsuYyBcCgkkKFRPTU1BVEhfRElSKS9ibl9tcF9zaWduZWRf cnNoLmMgXAoJJChUT01NQVRIX0RJUikvYm5fbXBfc3FyLmMgXAoJJChUT01NQVRIX0RJUikvYm5f bXBfc3FybW9kLmMgXAoJJChUT01NQVRIX0RJUikvYm5fbXBfc3FydC5jIFwKCSQoVE9NTUFUSF9E SVIpL2JuX21wX3NxcnRtb2RfcHJpbWUuYyBcCgkkKFRPTU1BVEhfRElSKS9ibl9tcF9zdWIuYyBc CgkkKFRPTU1BVEhfRElSKS9ibl9tcF9zdWJfZC5jIFwKCSQoVE9NTUFUSF9ESVIpL2JuX21wX3N1 Ym1vZC5jIFwKCSQoVE9NTUFUSF9ESVIpL2JuX21wX3RvX3JhZGl4LmMgXAoJJChUT01NQVRIX0RJ UikvYm5fbXBfdG9fc2Jpbi5jIFwKCSQoVE9NTUFUSF9ESVIpL2JuX21wX3RvX3ViaW4uYyBcCgkk KFRPTU1BVEhfRElSKS9ibl9tcF91YmluX3NpemUuYyBcCgkkKFRPTU1BVEhfRElSKS9ibl9tcF91 bnBhY2suYyBcCgkkKFRPTU1BVEhfRElSKS9ibl9tcF94b3IuYyBcCgkkKFRPTU1BVEhfRElSKS9i bl9tcF96ZXJvLmMgXAoJJChUT01NQVRIX0RJUikvYm5fcHJpbWVfdGFiLmMgXAoJJChUT01NQVRI X0RJUikvYm5fc19tcF9hZGQuYyBcCgkkKFRPTU1BVEhfRElSKS9ibl9zX21wX2JhbGFuY2VfbXVs LmMgXAoJJChUT01NQVRIX0RJUikvYm5fc19tcF9leHB0bW9kLmMgXAoJJChUT01NQVRIX0RJUikv Ym5fc19tcF9leHB0bW9kX2Zhc3QuYyBcCgkkKFRPTU1BVEhfRElSKS9ibl9zX21wX2dldF9iaXQu YyBcCgkkKFRPTU1BVEhfRElSKS9ibl9zX21wX2ludm1vZF9mYXN0LmMgXAoJJChUT01NQVRIX0RJ UikvYm5fc19tcF9pbnZtb2Rfc2xvdy5jIFwKCSQoVE9NTUFUSF9ESVIpL2JuX3NfbXBfa2FyYXRz dWJhX211bC5jIFwKCSQoVE9NTUFUSF9ESVIpL2JuX3NfbXBfa2FyYXRzdWJhX3Nxci5jIFwKCSQo VE9NTUFUSF9ESVIpL2JuX3NfbXBfbW9udGdvbWVyeV9yZWR1Y2VfZmFzdC5jIFwKCSQoVE9NTUFU SF9ESVIpL2JuX3NfbXBfbXVsX2RpZ3MuYyBcCgkkKFRPTU1BVEhfRElSKS9ibl9zX21wX211bF9k aWdzX2Zhc3QuYyBcCgkkKFRPTU1BVEhfRElSKS9ibl9zX21wX211bF9oaWdoX2RpZ3MuYyBcCgkk KFRPTU1BVEhfRElSKS9ibl9zX21wX211bF9oaWdoX2RpZ3NfZmFzdC5jIFwKCSQoVE9NTUFUSF9E SVIpL2JuX3NfbXBfcHJpbWVfaXNfZGl2aXNpYmxlLmMgXAoJJChUT01NQVRIX0RJUikvYm5fc19t cF9yYW5kX2plbmtpbnMuYyBcCgkkKFRPTU1BVEhfRElSKS9ibl9zX21wX3JhbmRfcGxhdGZvcm0u YyBcCgkkKFRPTU1BVEhfRElSKS9ibl9zX21wX3JldmVyc2UuYyBcCgkkKFRPTU1BVEhfRElSKS9i bl9zX21wX3Nxci5jIFwKCSQoVE9NTUFUSF9ESVIpL2JuX3NfbXBfc3FyX2Zhc3QuYyBcCgkkKFRP TU1BVEhfRElSKS9ibl9zX21wX3N1Yi5jIFwKCSQoVE9NTUFUSF9ESVIpL2JuX3NfbXBfdG9vbV9t dWwuYyBcCgkkKFRPTU1BVEhfRElSKS9ibl9zX21wX3Rvb21fc3FyLmMKClVOSVhfSERSUyA9IFwK CSQoVU5JWF9ESVIpL3RjbFVuaXhQb3J0LmgKIwkkKFVOSVhfRElSKS90Y2xDb25maWcuaAoKVU5J WF9TUkNTID0gXAoJJChVTklYX0RJUikvdGNsQXBwSW5pdC5jIFwKCSQoVU5JWF9ESVIpL3RjbFVu aXhDaGFuLmMgXAoJJChVTklYX0RJUikvdGNsVW5peEV2ZW50LmMgXAoJJChVTklYX0RJUikvdGNs VW5peEZDbWQuYyBcCgkkKFVOSVhfRElSKS90Y2xVbml4RmlsZS5jIFwKCSQoVU5JWF9ESVIpL3Rj bFVuaXhQaXBlLmMgXAoJJChVTklYX0RJUikvdGNsVW5peFNvY2suYyBcCgkkKFVOSVhfRElSKS90 Y2xVbml4VGVzdC5jIFwKCSQoVU5JWF9ESVIpL3RjbFVuaXhUaHJkLmMgXAoJJChVTklYX0RJUikv dGNsVW5peFRpbWUuYyBcCgkkKFVOSVhfRElSKS90Y2xVbml4SW5pdC5jIFwKCSQoVU5JWF9ESVIp L3RjbFVuaXhDb21wYXQuYwoKTk9USUZZX1NSQ1MgPSBcCgkkKFVOSVhfRElSKS90Y2xVbml4Tm90 ZnkuYwoKRExfU1JDUyA9IFwKCSQoVU5JWF9ESVIpL3RjbExvYWRBaXguYyBcCgkkKFVOSVhfRElS KS90Y2xMb2FkRGwuYyBcCgkkKFVOSVhfRElSKS90Y2xMb2FkRGwyLmMgXAoJJChVTklYX0RJUikv dGNsTG9hZERsZC5jIFwKCSQoVU5JWF9ESVIpL3RjbExvYWREeWxkLmMgXAoJJChHRU5FUklDX0RJ UikvdGNsTG9hZE5vbmUuYyBcCgkkKFVOSVhfRElSKS90Y2xMb2FkT1NGLmMgXAoJJChVTklYX0RJ UikvdGNsTG9hZFNobC5jCgpNQUNfT1NYX1NSQ1MgPSBcCgkkKE1BQ19PU1hfRElSKS90Y2xNYWNP U1hCdW5kbGUuYyBcCgkkKE1BQ19PU1hfRElSKS90Y2xNYWNPU1hGQ21kLmMgXAoJJChNQUNfT1NY X0RJUikvdGNsTWFjT1NYTm90aWZ5LmMKCkNZR1dJTl9TUkNTID0gXAoJJChUT1BfRElSKS93aW4v dGNsV2luRXJyb3IuYwoKRFRSQUNFX0hEUiA9IHRjbERUcmFjZS5oCgpEVFJBQ0VfU1JDID0gJChH RU5FUklDX0RJUikvdGNsRFRyYWNlLmQKClpMSUJfU1JDUyA9IFwKCSQoWkxJQl9ESVIpL2FkbGVy MzIuYyBcCgkkKFpMSUJfRElSKS9jb21wcmVzcy5jIFwKCSQoWkxJQl9ESVIpL2NyYzMyLmMgXAoJ JChaTElCX0RJUikvZGVmbGF0ZS5jIFwKCSQoWkxJQl9ESVIpL2luZmJhY2suYyBcCgkkKFpMSUJf RElSKS9pbmZmYXN0LmMgXAoJJChaTElCX0RJUikvaW5mbGF0ZS5jIFwKCSQoWkxJQl9ESVIpL2lu ZnRyZWVzLmMgXAoJJChaTElCX0RJUikvdHJlZXMuYyBcCgkkKFpMSUJfRElSKS91bmNvbXByLmMg XAoJJChaTElCX0RJUikvenV0aWwuYwoKIyBOb3RlOiBkb24ndCBpbmNsdWRlIERMX1NSQ1Mgb3Ig TUFDX09TWF9TUkNTIGluIFNSQ1M6IG1vc3Qgb2YgdGhvc2UgZmlsZXMKIyB3b24ndCBjb21waWxl IG9uIHRoZSBjdXJyZW50IG1hY2hpbmUsIGFuZCB0aGV5IHdpbGwgY2F1c2UgcHJvYmxlbXMgZm9y CiMgdGhpbmdzIGxpa2UgIm1ha2UgZGVwZW5kIi4KClNSQ1MgPSAkKEdFTkVSSUNfU1JDUykgJChU T01NQVRIX1NSQ1MpICQoVU5JWF9TUkNTKSAkKE5PVElGWV9TUkNTKSBcCgkkKE9PX1NSQ1MpICQo U1RVQl9TUkNTKSAgJHtaTElCX1NSQ1N9CgojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBTdGFydCBvZiBy dWxlcwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCmFsbDogYmluYXJpZXMgbGlicmFyaWVzIGRvYyBwYWNr YWdlcwoKYmluYXJpZXM6ICR7TElCX0ZJTEV9ICR7VENMX0VYRX0KCmxpYnJhcmllczoKCmRvYzoK CiMgVGhlIGZvbGxvd2luZyB0YXJnZXQgaXMgY29uZmlndXJlZCBieSBhdXRvY29uZiB0byBnZW5l cmF0ZSBlaXRoZXIgYSBzaGFyZWQKIyBsaWJyYXJ5IG9yIG5vbi1zaGFyZWQgbGlicmFyeSBmb3Ig VGNsLgoke0xJQl9GSUxFfTogJHtTVFVCX0xJQl9GSUxFfSAke09CSlN9CglybSAtZiAkQAoJJHtT VExJQl9MRH0gJEAgJHtPQkpTfSA7ICR7UkFOTElCfSAkQAoKJHtTVFVCX0xJQl9GSUxFfTogJHtT VFVCX0xJQl9PQkpTfQoJQGlmIHRlc3QgIngke0xJQl9GSUxFfSIgPSAieGxpYnRjbCR7TUFKT1Jf VkVSU0lPTn0uJHtNSU5PUl9WRVJTSU9OfS5kbGwiOyB0aGVuIFwKCSAgICAoY2QgJHtUT1BfRElS fS93aW47ICR7TUFLRX0gd2luZXh0ZW5zaW9ucyk7IFwKCWZpCglybSAtZiAkQAoJJHtTVExJQl9M RH0gJEAgJHtTVFVCX0xJQl9PQkpTfSA7ICR7UkFOTElCfSAkQAoKIyBNYWtlIHRhcmdldCB3aGlj aCBvdXRwdXRzIHRoZSBsaXN0IG9mIHRoZSAubyBjb250YWluZWQgaW4gdGhlIFRjbCBsaWIgdXNl ZnVsCiMgdG8gYnVpbGQgYSBzaW5nbGUgYmlnIHNoYXJlZCBsaWJyYXJ5IGNvbnRhaW5pbmcgVGNs IGFuZCBvdGhlciBleHRlbnNpb25zLgojIFVzZWQgZm9yIHRoZSBUY2wgUGx1Z2luLiAgLS0gZGwK IyBUaGUgZGVwZW5kZW5jeSBvbiBPQkpTIGlzIG5vdCB0aGVyZSBiZWNhdXNlIHdlIGp1c3Qgd2Fu dCB0aGUgbGlzdCBvZiBvYmplY3RzCiMgaGVyZSwgbm90IGFjdHVhbGx5IGJ1aWxkaW5nIHRoZW0K dGNsTGliT2JqczoKCUBlY2hvICR7T0JKU30KIyBUaGlzIHRhcmdldHMgYWN0dWFsbHkgYnVpbGQg dGhlIG9iamVjdHMgbmVlZGVkIGZvciB0aGUgbGliIGluIHRoZSBhYm92ZSBjYXNlCm9ianM6ICR7 T0JKU30KCiR7VENMX0VYRX06ICR7VENMU0hfT0JKU30gJHtUQ0xfTElCX0ZJTEV9ICR7VENMX1NU VUJfTElCX0ZJTEV9Cgkke0NDfSAke0NGTEFHU30gJHtMREZMQUdTfSAke1RDTFNIX09CSlN9IFwK CQktTC91c3IvZ2xlbmRhL3RjbDguNi4xMC91bml4IC1sdGNsOC42ICR7VENMX1NUVUJfTElCX0ZJ TEV9ICR7TElCU30gIFwKCQkke0NDX1NFQVJDSF9GTEFHU30gLW8gJHtUQ0xfRVhFfQoKIyBNdXN0 IGJlIGVtcHR5IHNvIGl0IGRvZXNuJ3QgY29uZmxpY3Qgd2l0aCBydWxlIGZvciAke1RDTF9FWEV9 IGFib3ZlCiR7TkFUSVZFX1RDTFNIfToKCk1ha2VmaWxlOiAkKFVOSVhfRElSKS9NYWtlZmlsZS5p biAkKERMVEVTVF9ESVIpL01ha2VmaWxlLmluCgkkKFNIRUxMKSBjb25maWcuc3RhdHVzCiN0Y2xD b25maWcuaDogJChVTklYX0RJUikvdGNsQ29uZmlnLmguaW4KIwkkKFNIRUxMKSBjb25maWcuc3Rh dHVzCgpjbGVhbjogY2xlYW4tcGFja2FnZXMKCXJtIC1yZiAqLmEgKi5vIGxpYnRjbCogY29yZSBl cnJzICp+IFwjKiBUQUdTICouRSBhLm91dCBcCgkJZXJyb3JzICR7VENMX0VYRX0gJHtUQ0xURVNU X0VYRX0gbGliLmV4cCBUY2wgCgljZCBkbHRlc3QgOyAkKE1BS0UpIGNsZWFuCgpkaXN0Y2xlYW46 IGRpc3RjbGVhbi1wYWNrYWdlcyBjbGVhbgoJcm0gLXJmIE1ha2VmaWxlIGNvbmZpZy5zdGF0dXMg Y29uZmlnLmNhY2hlIGNvbmZpZy5sb2cgdGNsQ29uZmlnLnNoIFwKCQl0Y2xDb25maWcuaCAqLnBs aXN0IFRjbC5mcmFtZXdvcmsgdGNsLnBjCgljZCBkbHRlc3QgOyAkKE1BS0UpIGRpc3RjbGVhbgoK ZGVwZW5kOgoJbWFrZWRlcGVuZCAtLSAkKERFUEVORF9TV0lUQ0hFUykgLS0gJChTUkNTKQoKIy0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tCiMgVGhlIGZvbGxvd2luZyB0YXJnZXQgb3V0cHV0cyB0aGUgbmFtZSBv ZiB0aGUgdG9wLWxldmVsIHNvdXJjZSBkaXJlY3RvcnkgZm9yCiMgVGNsIChpdCBpcyB1c2VkIGJ5 IFRrJ3MgY29uZmlndXJlIHNjcmlwdCwgZm9yIGV4YW1wbGUpLiBUaGUgLk5PX1BBUkFMTEVMCiMg bGluZSBpcyBuZWVkZWQgdG8gYXZvaWQgcHJvYmxlbXMgdW5kZXIgU3VuJ3MgInBtYWtlIi4gTm90 ZTogdGhpcyB0YXJnZXQgaXMKIyBub3cgb2Jzb2xldGUgKHVzZSB0aGUgYXV0b2NvbmYgdmFyaWFi bGUgVENMX1NSQ19ESVIgZnJvbSB0Y2xDb25maWcuc2gKIyBpbnN0ZWFkKS4KIy0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tCgouTk9fUEFSQUxMRUw6IHRvcERpck5hbWUKdG9wRGlyTmFtZToKCUBjZCAkKFRPUF9E SVIpOyBwd2QKCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojIFJ1bGVzIGZvciB0ZXN0aW5nCiMtLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLQoKIyBSZXNldHRpbmcgdGhlIExJQl9SVU5USU1FX0RJUiBiZWxvdyBpcyByZXF1 aXJlZCBzbyB0aGF0IHRoZSBnZW5lcmF0ZWQKIyB0Y2x0ZXN0IGV4ZWN1dGFibGUgZ2V0cyB0aGUg YnVpbGQgZGlyZWN0b3J5IGJ1cm5lZCBpbnRvIGl0cyBsZCBzZWFyY2ggcGF0aC4KIyBUaGlzIGtl ZXBzIHRjbHRlc3QgZnJvbSBwaWNraW5nIHVwIGFuIGFscmVhZHkgaW5zdGFsbGVkIHZlcnNpb24g b2YgdGhlIFRjbAojIGxpYnJhcnkuClNIRUxMX0VOViA9CUxEX0xJQlJBUllfUEFUSD1gcHdkYDok e0xEX0xJQlJBUllfUEFUSH0gXAoJCVRDTExJQlBBVEg9Ii91c3IvZ2xlbmRhL3RjbDguNi4xMC91 bml4L3BrZ3MiIFwKCQlUQ0xfTElCUkFSWT0iJHtUQ0xfQlVJTERUSU1FX0xJQlJBUll9IgoKJHtU Q0xURVNUX0VYRX06ICR7VENMVEVTVF9PQkpTfSAke1RDTF9MSUJfRklMRX0gJHtUQ0xfU1RVQl9M SUJfRklMRX0gJHtCVUlMRF9ETFRFU1R9CgkkKE1BS0UpIHRjbHRlc3QtcmVhbCBMSUJfUlVOVElN RV9ESVI9ImBwd2RgIgoKdGNsdGVzdC1yZWFsOgoJJHtDQ30gJHtDRkxBR1N9ICR7TERGTEFHU30g JHtUQ0xURVNUX09CSlN9IFwKCQktTC91c3IvZ2xlbmRhL3RjbDguNi4xMC91bml4IC1sdGNsOC42 ICR7VENMX1NUVUJfTElCX0ZJTEV9ICR7TElCU30gIFwKCQkke0NDX1NFQVJDSF9GTEFHU30gLW8g JHtUQ0xURVNUX0VYRX0KCiMgTm90ZSwgaW4gdGhlIHRhcmdldHMgYmVsb3cgVENMX0xJQlJBUlkg bmVlZHMgdG8gYmUgc2V0IG9yIGVsc2UgIm1ha2UgdGVzdCIKIyB3b24ndCB3b3JrIGluIHRoZSBj YXNlIHdoZXJlIHRoZSBjb21waWxhdGlvbiBkaXJlY3RvcnkgaXNuJ3QgdGhlIHNhbWUgYXMgdGhl CiMgc291cmNlIGRpcmVjdG9yeS4KIwojIFNwZWNpZnlpbmcgVEVTVEZMQUdTIG9uIHRoZSBjb21t YW5kIGxpbmUgaXMgdGhlIHN0YW5kYXJkIHdheSB0byBwYXNzIGFyZ3MgdG8KIyB0Y2x0ZXN0LCBp ZToKIwklIG1ha2UgdGVzdCBURVNURkxBR1M9Ii12ZXJib3NlIGJwcyAtZmlsZSBmaWxlTmFtZS50 ZXN0IgoKdGVzdDogdGVzdC10Y2wgdGVzdC1wYWNrYWdlcwoKdGVzdC10Y2w6ICR7VENMVEVTVF9F WEV9CgkkKFNIRUxMX0VOVikgLi8ke1RDTFRFU1RfRVhFfSAkKFRPUF9ESVIpL3Rlc3RzL2FsbC50 Y2wgJChURVNURkxBR1MpCgpnZGItdGVzdDogJHtUQ0xURVNUX0VYRX0KCUBlY2hvICJzZXQgZW52 IExEX0xJQlJBUllfUEFUSD1gcHdkYDokJHtMRF9MSUJSQVJZX1BBVEh9IiA+IGdkYi5ydW4KCUBl Y2hvICJzZXQgZW52IFRDTF9MSUJSQVJZPSR7VENMX0JVSUxEVElNRV9MSUJSQVJZfSIgPj4gZ2Ri LnJ1bgoJQGVjaG8gInNldCBhcmdzICQoVE9QX0RJUikvdGVzdHMvYWxsLnRjbCAkKFRFU1RGTEFH UykgLXNpbmdsZXByb2MgMSIgPj4gZ2RiLnJ1bgoJJChHREIpIC4vJHtUQ0xURVNUX0VYRX0gLS1j b21tYW5kPWdkYi5ydW4KCXJtIGdkYi5ydW4KCiMgVXNlZnVsIHRhcmdldCB0byBsYXVuY2ggYSBi dWlsdCB0Y2x0ZXN0IHdpdGggdGhlIHByb3BlciBwYXRoLC4uLgpydW50ZXN0OiAke1RDTFRFU1Rf RVhFfQoJJChTSEVMTF9FTlYpIC4vJHtUQ0xURVNUX0VYRX0KCiMgVXNlZnVsIHRhcmdldCBmb3Ig cnVubmluZyB0aGUgdGVzdCBzdWl0ZSB3aXRoIGFuIHVud3JpdGFibGUgY3VycmVudAojIGRpcmVj dG9yeS4uLgpyby10ZXN0OiAke1RDTFRFU1RfRVhFfQoJZWNobyAnZXhlYyBjaG1vZCAtdyAuO3Bh Y2thZ2UgcmVxdWlyZSB0Y2x0ZXN0O3RjbHRlc3Q6OnRlbXBvcmFyeURpcmVjdG9yeSAvdG1wO3Nv dXJjZSAuLi90ZXN0cy9hbGwudGNsO2V4ZWMgY2htb2QgK3cgLicgfCAkKFNIRUxMX0VOVikgLi8k e1RDTFRFU1RfRVhFfQoKIyBUaGUgZm9sbG93aW5nIHRhcmdldCBnZW5lcmF0ZXMgdGhlIHNoYXJl ZCBsaWJyYXJpZXMgaW4gZGx0ZXN0LyB0aGF0IGFyZSB1c2VkCiMgZm9yIHRlc3Rpbmc7IHRoZXkg YXJlIGluY2x1ZGVkIGFzIHBhcnQgb2YgdGhlICJ0Y2x0ZXN0IiB0YXJnZXQgKHZpYSB0aGUKIyBC VUlMRF9ETFRFU1QgdmFyaWFibGUpIGlmIGR5bmFtaWMgbG9hZGluZyBpcyBzdXBwb3J0ZWQgb24g dGhpcyBwbGF0Zm9ybS4gVGhlCiMgTWFrZWZpbGUgaW4gdGhlIGRsdGVzdCBzdWJkaXJlY3Rvcnkg Y3JlYXRlcyB0aGUgZGx0ZXN0Lm1hcmtlciBmaWxlIGluIHRoaXMKIyBkaXJlY3RvcnkgYWZ0ZXIg YSBzdWNjZXNzZnVsIGJ1aWxkLgoKZGx0ZXN0Lm1hcmtlcjogJHtTVFVCX0xJQl9GSUxFfQoJY2Qg ZGx0ZXN0IDsgJChNQUtFKQoKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMgUnVsZXMgZm9yIHJ1bm5pbmcg YSBzaGVsbCBiZWZvcmUgaW5zdGFsbGF0aW9uCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKIyBUaGlzIHRh cmdldCBjYW4gYmUgdXNlZCB0byBydW4gdGNsc2ggZnJvbSB0aGUgYnVpbGQgZGlyZWN0b3J5CiMg dmlhIGBtYWtlIHNoZWxsIFNDUklQVD0vdG1wL2Zvby50Y2xgCnNoZWxsOiAke1RDTF9FWEV9Cgkk KFNIRUxMX0VOVikgLi8ke1RDTF9FWEV9ICQoU0NSSVBUKQoKIyBUaGlzIHRhcmdldCBjYW4gYmUg dXNlZCB0byBydW4gdGNsc2ggaW5zaWRlIGVpdGhlciBnZGIgb3IgaW5zaWdodApnZGI6ICR7VENM X0VYRX0KCSQoU0hFTExfRU5WKSAkKEdEQikgLi8ke1RDTF9FWEV9Cgp2YWxncmluZDogJHtUQ0xf RVhFfSAke1RDTFRFU1RfRVhFfQoJJChTSEVMTF9FTlYpICQoVkFMR1JJTkQpICQoVkFMR1JJTkRB UkdTKSAuLyR7VENMVEVTVF9FWEV9ICQoVE9QX0RJUikvdGVzdHMvYWxsLnRjbCAtc2luZ2xlcHJv YyAxIC1jb25zdHJhaW50cyB2YWxncmluZCAkKFRFU1RGTEFHUykKCnZhbGdyaW5kc2hlbGw6ICR7 VENMX0VYRX0KCSQoU0hFTExfRU5WKSAkKFZBTEdSSU5EKSAkKFZBTEdSSU5EQVJHUykgLi8ke1RD TF9FWEV9ICQoU0NSSVBUKQoKdHJhY2Utc2hlbGw6ICR7VENMX0VYRX0KCSQoU0hFTExfRU5WKSAk e1RSQUNFfSAkKFRSQUNFX09QVFMpIC4vJHtUQ0xfRVhFfSAkKFNDUklQVCkKCnRyYWNlLXRlc3Q6 ICR7VENMVEVTVF9FWEV9CgkkKFNIRUxMX0VOVikgJHtUUkFDRX0gJChUUkFDRV9PUFRTKSAuLyR7 VENMVEVTVF9FWEV9ICQoVE9QX0RJUikvdGVzdHMvYWxsLnRjbCAtc2luZ2xlcHJvYyAxICQoVEVT VEZMQUdTKQoKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMgSW5zdGFsbGF0aW9uIHJ1bGVzCiMtLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLQoKSU5TVEFMTF9CQVNFX1RBUkdFVFMgPSBpbnN0YWxsLWJpbmFyaWVzIGluc3Rh bGwtbGlicmFyaWVzIGluc3RhbGwtbXNncyAkKElOU1RBTExfVFpEQVRBKQpJTlNUQUxMX0RPQ19U QVJHRVRTID0gaW5zdGFsbC1kb2MKSU5TVEFMTF9QQUNLQUdFX1RBUkdFVFMgPSBpbnN0YWxsLXBh Y2thZ2VzCklOU1RBTExfREVWX1RBUkdFVFMgPSBpbnN0YWxsLWhlYWRlcnMKSU5TVEFMTF9FWFRS QV9UQVJHRVRTID0gCklOU1RBTExfVEFSR0VUUyA9ICQoSU5TVEFMTF9CQVNFX1RBUkdFVFMpICQo SU5TVEFMTF9ET0NfVEFSR0VUUykgJChJTlNUQUxMX0RFVl9UQVJHRVRTKSBcCgkJICAkKElOU1RB TExfUEFDS0FHRV9UQVJHRVRTKSAkKElOU1RBTExfRVhUUkFfVEFSR0VUUykKCmluc3RhbGw6ICQo SU5TVEFMTF9UQVJHRVRTKQoKaW5zdGFsbC1zdHJpcDoKCSQoTUFLRSkgJChJTlNUQUxMX1RBUkdF VFMpIFwKCQlJTlNUQUxMX1BST0dSQU09IiQoSU5TVEFMTF9QUk9HUkFNKSAke0lOU1RBTExfU1RS SVBfUFJPR1JBTX0iIFwKCQlJTlNUQUxMX0xJQlJBUlk9IiQoSU5TVEFMTF9MSUJSQVJZKSAke0lO U1RBTExfU1RSSVBfTElCUkFSWX0iCgppbnN0YWxsLWJpbmFyaWVzOiBiaW5hcmllcwoJQGZvciBp IGluICIkKExJQl9JTlNUQUxMX0RJUikiICIkKEJJTl9JTlNUQUxMX0RJUikiIFwKCQkiJChDT05G SUdfSU5TVEFMTF9ESVIpIjsgXAoJICAgIGRvIFwKCSAgICBpZiBbICEgLWQgIiQkaSIgXSA7IHRo ZW4gXAoJCWVjaG8gIk1ha2luZyBkaXJlY3RvcnkgJCRpIjsgXAoJCSQoSU5TVEFMTF9EQVRBX0RJ UikgIiQkaSI7IFwKCQllbHNlIHRydWU7IFwKCQlmaTsgXAoJICAgIGRvbmU7CglAZWNobyAiSW5z dGFsbGluZyAkKExJQl9GSUxFKSB0byAkKERMTF9JTlNUQUxMX0RJUikvIgoJQCQoSU5TVEFMTF9M SUJSQVJZKSAkKExJQl9GSUxFKSAiJChMSUJfSU5TVEFMTF9ESVIpLyQoTElCX0ZJTEUpIgoJQGNo bW9kIDU1NSAiJChETExfSU5TVEFMTF9ESVIpLyQoTElCX0ZJTEUpIgoJQGVjaG8gIkluc3RhbGxp bmcgJHtUQ0xfRVhFfSBhcyAkKEJJTl9JTlNUQUxMX0RJUikvdGNsc2gkKFZFUlNJT04pJHtFWEVf U1VGRklYfSIKCUAkKElOU1RBTExfUFJPR1JBTSkgJHtUQ0xfRVhFfSAiJChCSU5fSU5TVEFMTF9E SVIpL3RjbHNoJChWRVJTSU9OKSR7RVhFX1NVRkZJWH0iCglAZWNobyAiSW5zdGFsbGluZyB0Y2xD b25maWcuc2ggdG8gJChDT05GSUdfSU5TVEFMTF9ESVIpLyIKCUAkKElOU1RBTExfREFUQSkgdGNs Q29uZmlnLnNoICIkKENPTkZJR19JTlNUQUxMX0RJUikvdGNsQ29uZmlnLnNoIgoJQGVjaG8gIklu c3RhbGxpbmcgdGNsb29Db25maWcuc2ggdG8gJChDT05GSUdfSU5TVEFMTF9ESVIpLyIKCUAkKElO U1RBTExfREFUQSkgJChVTklYX0RJUikvdGNsb29Db25maWcuc2ggXAoJCSIkKENPTkZJR19JTlNU QUxMX0RJUikvdGNsb29Db25maWcuc2giCglAaWYgdGVzdCAiJChTVFVCX0xJQl9GSUxFKSIgIT0g IiIgOyB0aGVuIFwKCSAgICBlY2hvICJJbnN0YWxsaW5nICQoU1RVQl9MSUJfRklMRSkgdG8gJChM SUJfSU5TVEFMTF9ESVIpLyI7IFwKCSAgICAkKElOU1RBTExfTElCUkFSWSkgJChTVFVCX0xJQl9G SUxFKSAiJChMSUJfSU5TVEFMTF9ESVIpLyQoU1RVQl9MSUJfRklMRSkiIDsgXAoJZmkKCUA6CglA ZWNobyAiSW5zdGFsbGluZyBwa2ctY29uZmlnIGZpbGUgdG8gJChMSUJfSU5TVEFMTF9ESVIpL3Br Z2NvbmZpZy8iCglAJChJTlNUQUxMX0RBVEFfRElSKSAkKExJQl9JTlNUQUxMX0RJUikvcGtnY29u ZmlnCglAJChJTlNUQUxMX0RBVEEpIHRjbC5wYyAkKExJQl9JTlNUQUxMX0RJUikvcGtnY29uZmln L3RjbC5wYwoKaW5zdGFsbC1saWJyYXJpZXM6IGxpYnJhcmllcwoJQGZvciBpIGluICIkKFNDUklQ VF9JTlNUQUxMX0RJUikiOyBcCgkgICAgZG8gXAoJICAgIGlmIFsgISAtZCAiJCRpIiBdIDsgdGhl biBcCgkJZWNobyAiTWFraW5nIGRpcmVjdG9yeSAkJGkiOyBcCgkJJChJTlNUQUxMX0RBVEFfRElS KSAiJCRpIjsgXAoJCWVsc2UgdHJ1ZTsgXAoJCWZpOyBcCgkgICAgZG9uZTsKCUBmb3IgaSBpbiBv cHQwLjQgaHR0cDEuMCBlbmNvZGluZyAuLi90Y2w4IC4uL3RjbDgvOC40ICAuLi90Y2w4LzguNC9w bGF0Zm9ybSAuLi90Y2w4LzguNSAuLi90Y2w4LzguNjsgXAoJICAgIGRvIFwKCSAgICBpZiBbICEg LWQgIiQoU0NSSVBUX0lOU1RBTExfRElSKSIvJCRpIF0gOyB0aGVuIFwKCQllY2hvICJNYWtpbmcg ZGlyZWN0b3J5ICQoU0NSSVBUX0lOU1RBTExfRElSKS8kJGkiOyBcCgkJJChJTlNUQUxMX0RBVEFf RElSKSAiJChTQ1JJUFRfSU5TVEFMTF9ESVIpIi8kJGk7IFwKCQllbHNlIHRydWU7IFwKCQlmaTsg XAoJICAgIGRvbmU7CglAZWNobyAiSW5zdGFsbGluZyBsaWJyYXJ5IGZpbGVzIHRvICQoU0NSSVBU X0lOU1RBTExfRElSKS8iOwoJQGZvciBpIGluICQoVE9QX0RJUikvbGlicmFyeS8qLnRjbCAkKFRP UF9ESVIpL2xpYnJhcnkvdGNsSW5kZXggXAoJCSQoVU5JWF9ESVIpL3RjbEFwcEluaXQuYyAgOyBc CgkgICAgZG8gXAoJICAgICQoSU5TVEFMTF9EQVRBKSAkJGkgIiQoU0NSSVBUX0lOU1RBTExfRElS KSI7IFwKCSAgICBkb25lOwoJQGVjaG8gIkluc3RhbGxpbmcgcGFja2FnZSBodHRwMS4wIGZpbGVz IHRvICQoU0NSSVBUX0lOU1RBTExfRElSKS9odHRwMS4wLyI7CglAZm9yIGkgaW4gJChUT1BfRElS KS9saWJyYXJ5L2h0dHAxLjAvKi50Y2wgOyBcCgkgICAgZG8gXAoJICAgICQoSU5TVEFMTF9EQVRB KSAkJGkgIiQoU0NSSVBUX0lOU1RBTExfRElSKSIvaHR0cDEuMDsgXAoJICAgIGRvbmU7CglAZWNo byAiSW5zdGFsbGluZyBwYWNrYWdlIGh0dHAgMi45LjEgYXMgYSBUY2wgTW9kdWxlIjsKCUAkKElO U1RBTExfREFUQSkgJChUT1BfRElSKS9saWJyYXJ5L2h0dHAvaHR0cC50Y2wgIiQoU0NSSVBUX0lO U1RBTExfRElSKSIvLi4vdGNsOC84LjYvaHR0cC0yLjkuMS50bTsKCUBlY2hvICJJbnN0YWxsaW5n IHBhY2thZ2Ugb3B0MC40IGZpbGVzIHRvICQoU0NSSVBUX0lOU1RBTExfRElSKS9vcHQwLjQvIjsK CUBmb3IgaSBpbiAkKFRPUF9ESVIpL2xpYnJhcnkvb3B0LyoudGNsIDsgXAoJICAgIGRvIFwKCSAg ICAkKElOU1RBTExfREFUQSkgJCRpICIkKFNDUklQVF9JTlNUQUxMX0RJUikiL29wdDAuNDsgXAoJ ICAgIGRvbmU7CglAZWNobyAiSW5zdGFsbGluZyBwYWNrYWdlIG1zZ2NhdCAxLjYuMSBhcyBhIFRj bCBNb2R1bGUiOwoJQCQoSU5TVEFMTF9EQVRBKSAkKFRPUF9ESVIpL2xpYnJhcnkvbXNnY2F0L21z Z2NhdC50Y2wgIiQoU0NSSVBUX0lOU1RBTExfRElSKSIvLi4vdGNsOC84LjUvbXNnY2F0LTEuNi4x LnRtOwoJQGVjaG8gIkluc3RhbGxpbmcgcGFja2FnZSB0Y2x0ZXN0IDIuNS4xIGFzIGEgVGNsIE1v ZHVsZSI7CglAJChJTlNUQUxMX0RBVEEpICQoVE9QX0RJUikvbGlicmFyeS90Y2x0ZXN0L3RjbHRl c3QudGNsICIkKFNDUklQVF9JTlNUQUxMX0RJUikiLy4uL3RjbDgvOC41L3RjbHRlc3QtMi41LjEu dG07CgoJQGVjaG8gIkluc3RhbGxpbmcgcGFja2FnZSBwbGF0Zm9ybSAxLjAuMTQgYXMgYSBUY2wg TW9kdWxlIjsKCUAkKElOU1RBTExfREFUQSkgJChUT1BfRElSKS9saWJyYXJ5L3BsYXRmb3JtL3Bs YXRmb3JtLnRjbCAiJChTQ1JJUFRfSU5TVEFMTF9ESVIpIi8uLi90Y2w4LzguNC9wbGF0Zm9ybS0x LjAuMTQudG07CglAZWNobyAiSW5zdGFsbGluZyBwYWNrYWdlIHBsYXRmb3JtOjpzaGVsbCAxLjEu NCBhcyBhIFRjbCBNb2R1bGUiOwoJQCQoSU5TVEFMTF9EQVRBKSAkKFRPUF9ESVIpL2xpYnJhcnkv cGxhdGZvcm0vc2hlbGwudGNsICIkKFNDUklQVF9JTlNUQUxMX0RJUikiLy4uL3RjbDgvOC40L3Bs YXRmb3JtL3NoZWxsLTEuMS40LnRtOwoKCUBlY2hvICJJbnN0YWxsaW5nIGVuY29kaW5nIGZpbGVz IHRvICQoU0NSSVBUX0lOU1RBTExfRElSKS9lbmNvZGluZy8iOwoJQGZvciBpIGluICQoVE9QX0RJ UikvbGlicmFyeS9lbmNvZGluZy8qLmVuYyA7IGRvIFwKCQkkKElOU1RBTExfREFUQSkgJCRpICIk KFNDUklQVF9JTlNUQUxMX0RJUikiL2VuY29kaW5nOyBcCglkb25lOwoJQGlmIFsgLW4gIiQoVENM X01PRFVMRV9QQVRIKSIgLWEgLWYgJChUT1BfRElSKS9saWJyYXJ5L3RtLnRjbCBdOyB0aGVuIFwK CSAgICBlY2hvICJDdXN0b21pemluZyB0Y2wgbW9kdWxlIHBhdGgiOyBcCgkgICAgZWNobyAiaWYg eyFbaW50ZXJwIGlzc2FmZV19IHsgOjp0Y2w6OnRtOjpyb290cyB7JChUQ0xfTU9EVUxFX1BBVEgp fSB9IiA+PiBcCgkgICAgICAgICIkKFNDUklQVF9JTlNUQUxMX0RJUikiL3RtLnRjbDsgXAoJZmkK Cmluc3RhbGwtdHpkYXRhOgoJQGZvciBpIGluIHR6ZGF0YTsgXAoJICAgIGRvIFwKCSAgICBpZiBb ICEgLWQgIiQoU0NSSVBUX0lOU1RBTExfRElSKSIvJCRpIF0gOyB0aGVuIFwKCQllY2hvICJNYWtp bmcgZGlyZWN0b3J5ICQoU0NSSVBUX0lOU1RBTExfRElSKS8kJGkiOyBcCgkJJChJTlNUQUxMX0RB VEFfRElSKSAiJChTQ1JJUFRfSU5TVEFMTF9ESVIpIi8kJGk7IFwKCQllbHNlIHRydWU7IFwKCQlm aTsgXAoJICAgIGRvbmU7CglAZWNobyAiSW5zdGFsbGluZyB0aW1lIHpvbmUgZmlsZXMgdG8gJChT Q1JJUFRfSU5TVEFMTF9ESVIpL3R6ZGF0YS8iCglAZm9yIGkgaW4gJChUT1BfRElSKS9saWJyYXJ5 L3R6ZGF0YS8qIDsgZG8gXAoJICAgIGlmIFsgLWQgJCRpIF0gOyB0aGVuIFwKCQlpaT1gYmFzZW5h bWUgJCRpYDsgXAoJCWlmIFsgISAtZCAiJChTQ1JJUFRfSU5TVEFMTF9ESVIpIi90emRhdGEvJCRp aSBdIDsgdGhlbiBcCgkJICAgICQoSU5TVEFMTF9EQVRBX0RJUikgIiQoU0NSSVBUX0lOU1RBTExf RElSKSIvdHpkYXRhLyQkaWk7IFwKCQlmaTsgXAoJCWZvciBqIGluICQkaS8qIDsgZG8gXAoJCSAg ICBpZiBbIC1kICQkaiBdIDsgdGhlbiBcCgkJCWpqPWBiYXNlbmFtZSAkJGpgOyBcCgkJCWlmIFsg ISAtZCAiJChTQ1JJUFRfSU5TVEFMTF9ESVIpIi90emRhdGEvJCRpaS8kJGpqIF0gOyB0aGVuIFwK CQkJICAgICQoSU5TVEFMTF9EQVRBX0RJUikgIiQoU0NSSVBUX0lOU1RBTExfRElSKSIvdHpkYXRh LyQkaWkvJCRqajsgXAoJCQlmaTsgXAoJCQlmb3IgayBpbiAkJGovKiA7IGRvIFwKCQkJICAgICQo SU5TVEFMTF9EQVRBKSAkJGsgIiQoU0NSSVBUX0lOU1RBTExfRElSKSIvdHpkYXRhLyQkaWkvJCRq ajsgXAoJCQlkb25lOyBcCgkJICAgIGVsc2UgXAoJCQkkKElOU1RBTExfREFUQSkgJCRqICIkKFND UklQVF9JTlNUQUxMX0RJUikiL3R6ZGF0YS8kJGlpOyBcCgkJICAgIGZpOyBcCgkJZG9uZTsgXAoJ ICAgIGVsc2UgXAoJCSQoSU5TVEFMTF9EQVRBKSAkJGkgIiQoU0NSSVBUX0lOU1RBTExfRElSKSIv dHpkYXRhOyBcCgkgICAgZmk7IFwKCWRvbmU7CgppbnN0YWxsLW1zZ3M6CglAZm9yIGkgaW4gbXNn czsgXAoJICAgIGRvIFwKCSAgICBpZiBbICEgLWQgIiQoU0NSSVBUX0lOU1RBTExfRElSKSIvJCRp IF0gOyB0aGVuIFwKCQllY2hvICJNYWtpbmcgZGlyZWN0b3J5ICQoU0NSSVBUX0lOU1RBTExfRElS KS8kJGkiOyBcCgkJJChJTlNUQUxMX0RBVEFfRElSKSAiJChTQ1JJUFRfSU5TVEFMTF9ESVIpIi8k JGk7IFwKCQllbHNlIHRydWU7IFwKCQlmaTsgXAoJICAgIGRvbmU7CglAZWNobyAiSW5zdGFsbGlu ZyBtZXNzYWdlIGNhdGFsb2cgZmlsZXMgdG8gJChTQ1JJUFRfSU5TVEFMTF9ESVIpL21zZ3MvIgoJ QGZvciBpIGluICQoVE9QX0RJUikvbGlicmFyeS9tc2dzLyoubXNnIDsgZG8gXAoJCSQoSU5TVEFM TF9EQVRBKSAkJGkgIiQoU0NSSVBUX0lOU1RBTExfRElSKSIvbXNnczsgXAoJZG9uZTsKCmluc3Rh bGwtZG9jOiBkb2MKCUBmb3IgaSBpbiAiJChNQU5fSU5TVEFMTF9ESVIpIiAiJChNQU4xX0lOU1RB TExfRElSKSIgIiQoTUFOM19JTlNUQUxMX0RJUikiICIkKE1BTk5fSU5TVEFMTF9ESVIpIiA7IFwK CSAgICBkbyBcCgkgICAgaWYgWyAhIC1kICIkJGkiIF0gOyB0aGVuIFwKCQllY2hvICJNYWtpbmcg ZGlyZWN0b3J5ICQkaSI7IFwKCQkkKElOU1RBTExfREFUQV9ESVIpICIkJGkiOyBcCgkJZWxzZSB0 cnVlOyBcCgkJZmk7IFwKCSAgICBkb25lOwoJQGVjaG8gIkluc3RhbGxpbmcgYW5kIGNyb3NzLWxp bmtpbmcgdG9wLWxldmVsICguMSkgZG9jcyB0byAkKE1BTjFfSU5TVEFMTF9ESVIpLyI7CglAZm9y IGkgaW4gJChUT1BfRElSKS9kb2MvKi4xOyBkbyBcCgkgICAgJChTSEVMTCkgJChVTklYX0RJUikv aW5zdGFsbE1hblBhZ2UgJChNQU5fRkxBR1MpICQkaSAiJChNQU4xX0lOU1RBTExfRElSKSI7IFwK CWRvbmUKCglAZWNobyAiSW5zdGFsbGluZyBhbmQgY3Jvc3MtbGlua2luZyBDIEFQSSAoLjMpIGRv Y3MgdG8gJChNQU4zX0lOU1RBTExfRElSKS8iOwoJQGZvciBpIGluICQoVE9QX0RJUikvZG9jLyou MzsgZG8gXAoJICAgICQoU0hFTEwpICQoVU5JWF9ESVIpL2luc3RhbGxNYW5QYWdlICQoTUFOX0ZM QUdTKSAkJGkgIiQoTUFOM19JTlNUQUxMX0RJUikiOyBcCglkb25lCgoJQGVjaG8gIkluc3RhbGxp bmcgYW5kIGNyb3NzLWxpbmtpbmcgY29tbWFuZCAoLm4pIGRvY3MgdG8gJChNQU5OX0lOU1RBTExf RElSKS8iOwoJQGZvciBpIGluICQoVE9QX0RJUikvZG9jLyoubjsgZG8gXAoJICAgICQoU0hFTEwp ICQoVU5JWF9ESVIpL2luc3RhbGxNYW5QYWdlICQoTUFOX0ZMQUdTKSAkJGkgIiQoTUFOTl9JTlNU QUxMX0RJUikiOyBcCglkb25lCgppbnN0YWxsLWhlYWRlcnM6CglAZm9yIGkgaW4gIiQoSU5DTFVE RV9JTlNUQUxMX0RJUikiOyBcCgkgICAgZG8gXAoJICAgIGlmIFsgISAtZCAiJCRpIiBdIDsgdGhl biBcCgkJZWNobyAiTWFraW5nIGRpcmVjdG9yeSAkJGkiOyBcCgkJJChJTlNUQUxMX0RBVEFfRElS KSAiJCRpIjsgXAoJCWVsc2UgdHJ1ZTsgXAoJCWZpOyBcCgkgICAgZG9uZTsKCUBlY2hvICJJbnN0 YWxsaW5nIGhlYWRlciBmaWxlcyB0byAkKElOQ0xVREVfSU5TVEFMTF9ESVIpLyI7CglAZm9yIGkg aW4gJChHRU5FUklDX0RJUikvdGNsLmggJChHRU5FUklDX0RJUikvdGNsRGVjbHMuaCBcCgkJJChH RU5FUklDX0RJUikvdGNsT08uaCAkKEdFTkVSSUNfRElSKS90Y2xPT0RlY2xzLmggXAoJCSQoR0VO RVJJQ19ESVIpL3RjbFBsYXREZWNscy5oIFwKCQkkKEdFTkVSSUNfRElSKS90Y2xUb21NYXRoLmgg XAoJCSQoR0VORVJJQ19ESVIpL3RjbFRvbU1hdGhEZWNscy5oIDsgXAoJICAgIGRvIFwKCSAgICAk KElOU1RBTExfREFUQSkgJCRpICIkKElOQ0xVREVfSU5TVEFMTF9ESVIpIjsgXAoJICAgIGRvbmU7 CgojIE9wdGlvbmFsIHRhcmdldCB0byBpbnN0YWxsIHByaXZhdGUgaGVhZGVycwppbnN0YWxsLXBy aXZhdGUtaGVhZGVyczoKCUBmb3IgaSBpbiAiJChQUklWQVRFX0lOQ0xVREVfSU5TVEFMTF9ESVIp IjsgXAoJICAgIGRvIFwKCSAgICBpZiBbICEgLWQgIiQkaSIgXSA7IHRoZW4gXAoJCWVjaG8gIk1h a2luZyBkaXJlY3RvcnkgJCRpIjsgXAoJCSQoSU5TVEFMTF9EQVRBX0RJUikgIiQkaSI7IFwKCQll bHNlIHRydWU7IFwKCQlmaTsgXAoJICAgIGRvbmU7CglAZWNobyAiSW5zdGFsbGluZyBwcml2YXRl IGhlYWRlciBmaWxlcyB0byAkKFBSSVZBVEVfSU5DTFVERV9JTlNUQUxMX0RJUikvIjsKCUBmb3Ig aSBpbiAkKEdFTkVSSUNfRElSKS90Y2xJbnQuaCAkKEdFTkVSSUNfRElSKS90Y2xJbnREZWNscy5o IFwKCQkkKEdFTkVSSUNfRElSKS90Y2xJbnRQbGF0RGVjbHMuaCAkKEdFTkVSSUNfRElSKS90Y2xQ b3J0LmggXAoJCSQoR0VORVJJQ19ESVIpL3RjbE9PSW50LmggJChHRU5FUklDX0RJUikvdGNsT09J bnREZWNscy5oIFwKCQkkKFVOSVhfRElSKS90Y2xVbml4UG9ydC5oOyBcCgkgICAgZG8gXAoJICAg ICQoSU5TVEFMTF9EQVRBKSAkJGkgIiQoUFJJVkFURV9JTkNMVURFX0lOU1RBTExfRElSKSI7IFwK CSAgICBkb25lOwoJQGlmIHRlc3QgLWYgdGNsQ29uZmlnLmg7IHRoZW5cCgkgICAgJChJTlNUQUxM X0RBVEEpIHRjbENvbmZpZy5oICIkKFBSSVZBVEVfSU5DTFVERV9JTlNUQUxMX0RJUikiOyBcCgkg ICAgZmk7CgojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBSdWxlcyBmb3IgaG93IHRvIGNvbXBpbGUgQyBm aWxlcwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCiMgVGVzdCBiaW5hcmllcy4gVGhlIHJ1bGVzIGZvciB0 Y2xUZXN0SW5pdC5vIGFuZCB4dFRlc3RJbml0Lm8gYXJlIGNvbXBsaWNhdGVkCiMgYmVjYXVzZSB0 aGV5IGFyZSBjb21waWxlZCBmcm9tIHRjbEFwcEluaXQuYy4gQ2FuJ3QgdXNlIHRoZSAiLW8iIG9w dGlvbgojIGJlY2F1c2UgdGhpcyBkb2Vzbid0IHdvcmsgb24gc29tZSBzdHJhbmdlIGNvbXBpbGVy cyAoZS5nLiBVbml4V2FyZSkuCiMKIyBUbyBlbmFibGUgY29uY3VycmVudCBwYXJhbGxlbCBtYWtl IG9mIHRjbHNoIGFuZCB0Y2x0ZXN0IHJlc3AgeHR0ZXN0LCB0aGVzZQojIHRhcmdldHMgaGF2ZSB0 byBkZXBlbmQgb24gdGNsc2gsIHRoaXMgZW5zdXJlcyB0aGF0IGxpbmtpbmcgb2YgdGNsc2ggd2l0 aAojIHRjbEFwcEluaXQubyBkb2VzIG5vdCBleGVjdXRlIGNvbmN1cnJlbnRseSB3aXRoIHRoZSBy ZW5hbWluZyBhbmQgcmVjb21waWxpbmcKIyBvZiB0aGF0IHNhbWUgb2JqZWN0IGZpbGUgaW4gdGhl IHRhcmdldHMgYmVsb3cuCgp0Y2xUZXN0SW5pdC5vOiAkKFVOSVhfRElSKS90Y2xBcHBJbml0LmMg JHtUQ0xfRVhFfQoJQGlmIHRlc3QgLWYgdGNsQXBwSW5pdC5vIDsgdGhlbiBcCgkgICAgcm0gLWYg dGNsQXBwSW5pdC5zYXY7IFwKCSAgICBtdiB0Y2xBcHBJbml0Lm8gdGNsQXBwSW5pdC5zYXY7IFwK CWZpOwoJJChDQykgLWMgJChBUFBfQ0NfU1dJVENIRVMpIFwKCQktRFRDTF9CVUlMRFRJTUVfTElC UkFSWT0iXCIke1RDTF9CVUlMRFRJTUVfTElCUkFSWX1cIiIgXAoJCS1EVENMX1RFU1QgJChVTklY X0RJUikvdGNsQXBwSW5pdC5jCglybSAtZiB0Y2xUZXN0SW5pdC5vCgltdiB0Y2xBcHBJbml0Lm8g dGNsVGVzdEluaXQubwoJQGlmIHRlc3QgLWYgdGNsQXBwSW5pdC5zYXYgOyB0aGVuIFwKCSAgICBt diB0Y2xBcHBJbml0LnNhdiB0Y2xBcHBJbml0Lm87IFwKCWZpOwoKeHRUZXN0SW5pdC5vOiAkKFVO SVhfRElSKS90Y2xBcHBJbml0LmMgJHtUQ0xfRVhFfQoJQGlmIHRlc3QgLWYgdGNsQXBwSW5pdC5v IDsgdGhlbiBcCgkgICAgcm0gLWYgdGNsQXBwSW5pdC5zYXY7IFwKCSAgICBtdiB0Y2xBcHBJbml0 Lm8gdGNsQXBwSW5pdC5zYXY7IFwKCWZpOwoJJChDQykgLWMgJChBUFBfQ0NfU1dJVENIRVMpIFwK CQktRFRDTF9CVUlMRFRJTUVfTElCUkFSWT0iXCIke1RDTF9CVUlMRFRJTUVfTElCUkFSWX1cIiIg XAoJCS1EVENMX1RFU1QgLURUQ0xfWFRfVEVTVCAkKFVOSVhfRElSKS90Y2xBcHBJbml0LmMKCXJt IC1mIHh0VGVzdEluaXQubwoJbXYgdGNsQXBwSW5pdC5vIHh0VGVzdEluaXQubwoJQGlmIHRlc3Qg LWYgdGNsQXBwSW5pdC5zYXYgOyB0aGVuIFwKCSAgICBtdiB0Y2xBcHBJbml0LnNhdiB0Y2xBcHBJ bml0Lm87IFwKCWZpOwoKIyBPYmplY3QgZmlsZXMgdXNlZCBvbiBhbGwgVW5peCBzeXN0ZW1zOgoK UkVHSERSUz0kKEdFTkVSSUNfRElSKS9yZWdleC5oICQoR0VORVJJQ19ESVIpL3JlZ2d1dHMuaCBc CgkJJChHRU5FUklDX0RJUikvcmVnY3VzdG9tLmgKVENMUkVIRFJTPSQoR0VORVJJQ19ESVIpL3Rj bFJlZ2V4cC5oCkNPTVBJTEVIRFI9JChHRU5FUklDX0RJUikvdGNsQ29tcGlsZS5oCkZTSERSPSQo R0VORVJJQ19ESVIpL3RjbEZpbGVTeXN0ZW0uaApJT0hEUj0kKEdFTkVSSUNfRElSKS90Y2xJTy5o Ck1BVEhIRFJTPSQoR0VORVJJQ19ESVIpL3RvbW1hdGguaCAkKEdFTkVSSUNfRElSKS90Y2xUb21N YXRoLmgKUEFSU0VIRFI9JChHRU5FUklDX0RJUikvdGNsUGFyc2UuaApOUkVIRFI9JChHRU5FUklD X0RJUikvdGNsSW50LmgKVFJJTUhEUj0kKEdFTkVSSUNfRElSKS90Y2xTdHJpbmdUcmltLmgKCnJl Z2NvbXAubzogJChSRUdIRFJTKSAkKEdFTkVSSUNfRElSKS9yZWdjb21wLmMgJChHRU5FUklDX0RJ UikvcmVnY19sZXguYyBcCgkJJChHRU5FUklDX0RJUikvcmVnY19jb2xvci5jICQoR0VORVJJQ19E SVIpL3JlZ2NfbG9jYWxlLmMgXAoJCSQoR0VORVJJQ19ESVIpL3JlZ2NfbmZhLmMgJChHRU5FUklD X0RJUikvcmVnY19jdmVjLmMKCSQoQ0MpIC1jICQoQ0NfU1dJVENIRVMpICQoR0VORVJJQ19ESVIp L3JlZ2NvbXAuYwoKcmVnZXhlYy5vOiAkKFJFR0hEUlMpICQoR0VORVJJQ19ESVIpL3JlZ2V4ZWMu YyAkKEdFTkVSSUNfRElSKS9yZWdlX2RmYS5jCgkkKENDKSAtYyAkKENDX1NXSVRDSEVTKSAkKEdF TkVSSUNfRElSKS9yZWdleGVjLmMKCnJlZ2ZyZWUubzogJChSRUdIRFJTKSAkKEdFTkVSSUNfRElS KS9yZWdmcmVlLmMKCSQoQ0MpIC1jICQoQ0NfU1dJVENIRVMpICQoR0VORVJJQ19ESVIpL3JlZ2Zy ZWUuYwoKcmVnZXJyb3IubzogJChSRUdIRFJTKSAkKEdFTkVSSUNfRElSKS9yZWdlcnJzLmggJChH RU5FUklDX0RJUikvcmVnZXJyb3IuYwoJJChDQykgLWMgJChDQ19TV0lUQ0hFUykgJChHRU5FUklD X0RJUikvcmVnZXJyb3IuYwoKdGNsQXBwSW5pdC5vOiAkKFVOSVhfRElSKS90Y2xBcHBJbml0LmMK CSQoQ0MpIC1jICQoQVBQX0NDX1NXSVRDSEVTKSAkKFVOSVhfRElSKS90Y2xBcHBJbml0LmMKCnRj bEFsbG9jLm86ICQoR0VORVJJQ19ESVIpL3RjbEFsbG9jLmMKCSQoQ0MpIC1jICQoQ0NfU1dJVENI RVMpICQoR0VORVJJQ19ESVIpL3RjbEFsbG9jLmMKCnRjbEFzc2VtYmx5Lm86ICQoR0VORVJJQ19E SVIpL3RjbEFzc2VtYmx5LmMgJChDT01QSUxFSERSKQoJJChDQykgLWMgJChDQ19TV0lUQ0hFUykg JChHRU5FUklDX0RJUikvdGNsQXNzZW1ibHkuYwoKdGNsQXN5bmMubzogJChHRU5FUklDX0RJUikv dGNsQXN5bmMuYwoJJChDQykgLWMgJChDQ19TV0lUQ0hFUykgJChHRU5FUklDX0RJUikvdGNsQXN5 bmMuYwoKdGNsQmFzaWMubzogJChHRU5FUklDX0RJUikvdGNsQmFzaWMuYyAkKENPTVBJTEVIRFIp ICQoTUFUSEhEUlMpICQoTlJFSERSKQoJJChDQykgLWMgJChDQ19TV0lUQ0hFUykgJChHRU5FUklD X0RJUikvdGNsQmFzaWMuYwoKdGNsQmluYXJ5Lm86ICQoR0VORVJJQ19ESVIpL3RjbEJpbmFyeS5j CgkkKENDKSAtYyAkKENDX1NXSVRDSEVTKSAkKEdFTkVSSUNfRElSKS90Y2xCaW5hcnkuYwoKdGNs Q2thbGxvYy5vOiAkKEdFTkVSSUNfRElSKS90Y2xDa2FsbG9jLmMKCSQoQ0MpIC1jICQoQ0NfU1dJ VENIRVMpICQoR0VORVJJQ19ESVIpL3RjbENrYWxsb2MuYwoKdGNsQ2xvY2subzogJChHRU5FUklD X0RJUikvdGNsQ2xvY2suYwoJJChDQykgLWMgJChDQ19TV0lUQ0hFUykgJChHRU5FUklDX0RJUikv dGNsQ2xvY2suYwoKdGNsQ21kQUgubzogJChHRU5FUklDX0RJUikvdGNsQ21kQUguYwoJJChDQykg LWMgJChDQ19TV0lUQ0hFUykgJChHRU5FUklDX0RJUikvdGNsQ21kQUguYwoKdGNsQ21kSUwubzog JChHRU5FUklDX0RJUikvdGNsQ21kSUwuYyAkKFRDTFJFSERSUykKCSQoQ0MpIC1jICQoQ0NfU1dJ VENIRVMpICQoR0VORVJJQ19ESVIpL3RjbENtZElMLmMKCnRjbENtZE1aLm86ICQoR0VORVJJQ19E SVIpL3RjbENtZE1aLmMgJChUQ0xSRUhEUlMpICQoVFJJTUhEUikKCSQoQ0MpIC1jICQoQ0NfU1dJ VENIRVMpICQoR0VORVJJQ19ESVIpL3RjbENtZE1aLmMKCnRjbERhdGUubzogJChHRU5FUklDX0RJ UikvdGNsRGF0ZS5jCgkkKENDKSAtYyAkKENDX1NXSVRDSEVTKSAkKEdFTkVSSUNfRElSKS90Y2xE YXRlLmMKCnRjbENvbXBDbWRzLm86ICQoR0VORVJJQ19ESVIpL3RjbENvbXBDbWRzLmMgJChDT01Q SUxFSERSKQoJJChDQykgLWMgJChDQ19TV0lUQ0hFUykgJChHRU5FUklDX0RJUikvdGNsQ29tcENt ZHMuYwoKdGNsQ29tcENtZHNHUi5vOiAkKEdFTkVSSUNfRElSKS90Y2xDb21wQ21kc0dSLmMgJChD T01QSUxFSERSKQoJJChDQykgLWMgJChDQ19TV0lUQ0hFUykgJChHRU5FUklDX0RJUikvdGNsQ29t cENtZHNHUi5jCgp0Y2xDb21wQ21kc1NaLm86ICQoR0VORVJJQ19ESVIpL3RjbENvbXBDbWRzU1ou YyAkKENPTVBJTEVIRFIpICQoVFJJTUhEUikKCSQoQ0MpIC1jICQoQ0NfU1dJVENIRVMpICQoR0VO RVJJQ19ESVIpL3RjbENvbXBDbWRzU1ouYwoKdGNsQ29tcEV4cHIubzogJChHRU5FUklDX0RJUikv dGNsQ29tcEV4cHIuYyAkKENPTVBJTEVIRFIpCgkkKENDKSAtYyAkKENDX1NXSVRDSEVTKSAkKEdF TkVSSUNfRElSKS90Y2xDb21wRXhwci5jCgp0Y2xDb21waWxlLm86ICQoR0VORVJJQ19ESVIpL3Rj bENvbXBpbGUuYyAkKENPTVBJTEVIRFIpCgkkKENDKSAtYyAkKENDX1NXSVRDSEVTKSAkKEdFTkVS SUNfRElSKS90Y2xDb21waWxlLmMKCnRjbENvbmZpZy5vOiAkKEdFTkVSSUNfRElSKS90Y2xDb25m aWcuYwoJJChDQykgLWMgJChDQ19TV0lUQ0hFUykgJChHRU5FUklDX0RJUikvdGNsQ29uZmlnLmMK CnRjbERpY3RPYmoubzogJChHRU5FUklDX0RJUikvdGNsRGljdE9iai5jICQoTUFUSEhEUlMpCgkk KENDKSAtYyAkKENDX1NXSVRDSEVTKSAkKEdFTkVSSUNfRElSKS90Y2xEaWN0T2JqLmMKCnRjbERp c2Fzc2VtYmxlLm86ICQoR0VORVJJQ19ESVIpL3RjbERpc2Fzc2VtYmxlLmMgJChDT01QSUxFSERS KQoJJChDQykgLWMgJChDQ19TV0lUQ0hFUykgJChHRU5FUklDX0RJUikvdGNsRGlzYXNzZW1ibGUu YwoKdGNsRW5jb2RpbmcubzogJChHRU5FUklDX0RJUikvdGNsRW5jb2RpbmcuYwoJJChDQykgLWMg JChDQ19TV0lUQ0hFUykgJChHRU5FUklDX0RJUikvdGNsRW5jb2RpbmcuYwoKdGNsRW5zZW1ibGUu bzogJChHRU5FUklDX0RJUikvdGNsRW5zZW1ibGUuYyAkKENPTVBJTEVIRFIpCgkkKENDKSAtYyAk KENDX1NXSVRDSEVTKSAkKEdFTkVSSUNfRElSKS90Y2xFbnNlbWJsZS5jCgp0Y2xFbnYubzogJChH RU5FUklDX0RJUikvdGNsRW52LmMKCSQoQ0MpIC1jICQoQ0NfU1dJVENIRVMpICQoR0VORVJJQ19E SVIpL3RjbEVudi5jCgp0Y2xFdmVudC5vOiAkKEdFTkVSSUNfRElSKS90Y2xFdmVudC5jCgkkKEND KSAtYyAkKENDX1NXSVRDSEVTKSAkKEdFTkVSSUNfRElSKS90Y2xFdmVudC5jCgp0Y2xFeGVjdXRl Lm86ICQoR0VORVJJQ19ESVIpL3RjbEV4ZWN1dGUuYyAkKENPTVBJTEVIRFIpICQoTUFUSEhEUlMp ICQoTlJFSERSKQoJJChDQykgLWMgJChDQ19TV0lUQ0hFUykgJChHRU5FUklDX0RJUikvdGNsRXhl Y3V0ZS5jCgp0Y2xGQ21kLm86ICQoR0VORVJJQ19ESVIpL3RjbEZDbWQuYwoJJChDQykgLWMgJChD Q19TV0lUQ0hFUykgJChHRU5FUklDX0RJUikvdGNsRkNtZC5jCgp0Y2xGaWxlTmFtZS5vOiAkKEdF TkVSSUNfRElSKS90Y2xGaWxlTmFtZS5jICQoRlNIRFIpICQoVENMUkVIRFJTKQoJJChDQykgLWMg JChDQ19TV0lUQ0hFUykgJChHRU5FUklDX0RJUikvdGNsRmlsZU5hbWUuYwoKdGNsR2V0Lm86ICQo R0VORVJJQ19ESVIpL3RjbEdldC5jCgkkKENDKSAtYyAkKENDX1NXSVRDSEVTKSAkKEdFTkVSSUNf RElSKS90Y2xHZXQuYwoKdGNsSGFzaC5vOiAkKEdFTkVSSUNfRElSKS90Y2xIYXNoLmMKCSQoQ0Mp IC1jICQoQ0NfU1dJVENIRVMpICQoR0VORVJJQ19ESVIpL3RjbEhhc2guYwoKdGNsSGlzdG9yeS5v OiAkKEdFTkVSSUNfRElSKS90Y2xIaXN0b3J5LmMKCSQoQ0MpIC1jICQoQ0NfU1dJVENIRVMpICQo R0VORVJJQ19ESVIpL3RjbEhpc3RvcnkuYwoKdGNsSW5kZXhPYmoubzogJChHRU5FUklDX0RJUikv dGNsSW5kZXhPYmouYwoJJChDQykgLWMgJChDQ19TV0lUQ0hFUykgJChHRU5FUklDX0RJUikvdGNs SW5kZXhPYmouYwoKdGNsSW50ZXJwLm86ICQoR0VORVJJQ19ESVIpL3RjbEludGVycC5jCgkkKEND KSAtYyAkKENDX1NXSVRDSEVTKSAkKEdFTkVSSUNfRElSKS90Y2xJbnRlcnAuYwoKdGNsSU8ubzog JChHRU5FUklDX0RJUikvdGNsSU8uYyAkKElPSERSKQoJJChDQykgLWMgJChDQ19TV0lUQ0hFUykg JChHRU5FUklDX0RJUikvdGNsSU8uYwoKdGNsSU9DbWQubzogJChHRU5FUklDX0RJUikvdGNsSU9D bWQuYwoJJChDQykgLWMgJChDQ19TV0lUQ0hFUykgJChHRU5FUklDX0RJUikvdGNsSU9DbWQuYwoK dGNsSU9HVC5vOiAkKEdFTkVSSUNfRElSKS90Y2xJT0dULmMgJChJT0hEUikKCSQoQ0MpIC1jICQo Q0NfU1dJVENIRVMpICQoR0VORVJJQ19ESVIpL3RjbElPR1QuYwoKdGNsSU9Tb2NrLm86ICQoR0VO RVJJQ19ESVIpL3RjbElPU29jay5jCgkkKENDKSAtYyAkKENDX1NXSVRDSEVTKSAkKEdFTkVSSUNf RElSKS90Y2xJT1NvY2suYwoKdGNsSU9VdGlsLm86ICQoR0VORVJJQ19ESVIpL3RjbElPVXRpbC5j ICQoRlNIRFIpCgkkKENDKSAtYyAkKENDX1NXSVRDSEVTKSAkKEdFTkVSSUNfRElSKS90Y2xJT1V0 aWwuYwoKdGNsSU9SQ2hhbi5vOiAkKEdFTkVSSUNfRElSKS90Y2xJT1JDaGFuLmMgJChJT0hEUikK CSQoQ0MpIC1jICQoQ0NfU1dJVENIRVMpICQoR0VORVJJQ19ESVIpL3RjbElPUkNoYW4uYwoKdGNs SU9SVHJhbnMubzogJChHRU5FUklDX0RJUikvdGNsSU9SVHJhbnMuYyAkKElPSERSKQoJJChDQykg LWMgJChDQ19TV0lUQ0hFUykgJChHRU5FUklDX0RJUikvdGNsSU9SVHJhbnMuYwoKdGNsTGluay5v OiAkKEdFTkVSSUNfRElSKS90Y2xMaW5rLmMKCSQoQ0MpIC1jICQoQ0NfU1dJVENIRVMpICQoR0VO RVJJQ19ESVIpL3RjbExpbmsuYwoKdGNsTGlzdE9iai5vOiAkKEdFTkVSSUNfRElSKS90Y2xMaXN0 T2JqLmMKCSQoQ0MpIC1jICQoQ0NfU1dJVENIRVMpICQoR0VORVJJQ19ESVIpL3RjbExpc3RPYmou YwoKdGNsTGl0ZXJhbC5vOiAkKEdFTkVSSUNfRElSKS90Y2xMaXRlcmFsLmMgJChDT01QSUxFSERS KQoJJChDQykgLWMgJChDQ19TV0lUQ0hFUykgJChHRU5FUklDX0RJUikvdGNsTGl0ZXJhbC5jCgp0 Y2xPYmoubzogJChHRU5FUklDX0RJUikvdGNsT2JqLmMgJChDT01QSUxFSERSKSAkKE1BVEhIRFJT KQoJJChDQykgLWMgJChDQ19TV0lUQ0hFUykgJChHRU5FUklDX0RJUikvdGNsT2JqLmMKCnRjbE9w dGltaXplLm86ICQoR0VORVJJQ19ESVIpL3RjbE9wdGltaXplLmMgJChDT01QSUxFSERSKQoJJChD QykgLWMgJChDQ19TV0lUQ0hFUykgJChHRU5FUklDX0RJUikvdGNsT3B0aW1pemUuYwoKdGNsTG9h ZC5vOiAkKEdFTkVSSUNfRElSKS90Y2xMb2FkLmMKCSQoQ0MpIC1jICQoQ0NfU1dJVENIRVMpICQo R0VORVJJQ19ESVIpL3RjbExvYWQuYwoKdGNsTG9hZEFpeC5vOiAkKFVOSVhfRElSKS90Y2xMb2Fk QWl4LmMKCSQoQ0MpIC1jICQoQ0NfU1dJVENIRVMpICQoVU5JWF9ESVIpL3RjbExvYWRBaXguYwoK dGNsTG9hZERsLm86ICQoVU5JWF9ESVIpL3RjbExvYWREbC5jCgkkKENDKSAtYyAkKENDX1NXSVRD SEVTKSAkKFVOSVhfRElSKS90Y2xMb2FkRGwuYwoKdGNsTG9hZERsMi5vOiAkKFVOSVhfRElSKS90 Y2xMb2FkRGwyLmMKCSQoQ0MpIC1jICQoQ0NfU1dJVENIRVMpICQoVU5JWF9ESVIpL3RjbExvYWRE bDIuYwoKdGNsTG9hZERsZC5vOiAkKFVOSVhfRElSKS90Y2xMb2FkRGxkLmMKCSQoQ0MpIC1jICQo Q0NfU1dJVENIRVMpICQoVU5JWF9ESVIpL3RjbExvYWREbGQuYwoKdGNsTG9hZER5bGQubzogJChV TklYX0RJUikvdGNsTG9hZER5bGQuYwoJJChDQykgLWMgJChDQ19TV0lUQ0hFUykgJChVTklYX0RJ UikvdGNsTG9hZER5bGQuYwoKdGNsTG9hZE5vbmUubzogJChHRU5FUklDX0RJUikvdGNsTG9hZE5v bmUuYwoJJChDQykgLWMgJChDQ19TV0lUQ0hFUykgJChHRU5FUklDX0RJUikvdGNsTG9hZE5vbmUu YwoKdGNsTG9hZE9TRi5vOiAkKFVOSVhfRElSKS90Y2xMb2FkT1NGLmMKCSQoQ0MpIC1jICQoQ0Nf U1dJVENIRVMpICQoVU5JWF9ESVIpL3RjbExvYWRPU0YuYwoKdGNsTG9hZFNobC5vOiAkKFVOSVhf RElSKS90Y2xMb2FkU2hsLmMKCSQoQ0MpIC1jICQoQ0NfU1dJVENIRVMpICQoVU5JWF9ESVIpL3Rj bExvYWRTaGwuYwoKdGNsTWFpbi5vOiAkKEdFTkVSSUNfRElSKS90Y2xNYWluLmMKCSQoQ0MpIC1j ICQoQ0NfU1dJVENIRVMpICQoR0VORVJJQ19ESVIpL3RjbE1haW4uYwoKdGNsTmFtZXNwLm86ICQo R0VORVJJQ19ESVIpL3RjbE5hbWVzcC5jICQoQ09NUElMRUhEUikKCSQoQ0MpIC1jICQoQ0NfU1dJ VENIRVMpICQoR0VORVJJQ19ESVIpL3RjbE5hbWVzcC5jCgp0Y2xOb3RpZnkubzogJChHRU5FUklD X0RJUikvdGNsTm90aWZ5LmMKCSQoQ0MpIC1jICQoQ0NfU1dJVENIRVMpICQoR0VORVJJQ19ESVIp L3RjbE5vdGlmeS5jCgp0Y2xPTy5vOiAkKEdFTkVSSUNfRElSKS90Y2xPTy5jCgkkKENDKSAtYyAk KENDX1NXSVRDSEVTKSAkKEdFTkVSSUNfRElSKS90Y2xPTy5jCgp0Y2xPT0Jhc2ljLm86ICQoR0VO RVJJQ19ESVIpL3RjbE9PQmFzaWMuYwoJJChDQykgLWMgJChDQ19TV0lUQ0hFUykgJChHRU5FUklD X0RJUikvdGNsT09CYXNpYy5jCgp0Y2xPT0NhbGwubzogJChHRU5FUklDX0RJUikvdGNsT09DYWxs LmMKCSQoQ0MpIC1jICQoQ0NfU1dJVENIRVMpICQoR0VORVJJQ19ESVIpL3RjbE9PQ2FsbC5jCgp0 Y2xPT0RlZmluZUNtZHMubzogJChHRU5FUklDX0RJUikvdGNsT09EZWZpbmVDbWRzLmMKCSQoQ0Mp IC1jICQoQ0NfU1dJVENIRVMpICQoR0VORVJJQ19ESVIpL3RjbE9PRGVmaW5lQ21kcy5jCgp0Y2xP T0luZm8ubzogJChHRU5FUklDX0RJUikvdGNsT09JbmZvLmMKCSQoQ0MpIC1jICQoQ0NfU1dJVENI RVMpICQoR0VORVJJQ19ESVIpL3RjbE9PSW5mby5jCgp0Y2xPT01ldGhvZC5vOiAkKEdFTkVSSUNf RElSKS90Y2xPT01ldGhvZC5jCgkkKENDKSAtYyAkKENDX1NXSVRDSEVTKSAkKEdFTkVSSUNfRElS KS90Y2xPT01ldGhvZC5jCgp0Y2xPT1N0dWJJbml0Lm86ICQoR0VORVJJQ19ESVIpL3RjbE9PU3R1 YkluaXQuYwoJJChDQykgLWMgJChDQ19TV0lUQ0hFUykgJChHRU5FUklDX0RJUikvdGNsT09TdHVi SW5pdC5jCgp0Y2xQYXJzZS5vOiAkKEdFTkVSSUNfRElSKS90Y2xQYXJzZS5jICQoUEFSU0VIRFIp CgkkKENDKSAtYyAkKENDX1NXSVRDSEVTKSAkKEdFTkVSSUNfRElSKS90Y2xQYXJzZS5jCgp0Y2xQ YW5pYy5vOiAkKEdFTkVSSUNfRElSKS90Y2xQYW5pYy5jCgkkKENDKSAtYyAkKENDX1NXSVRDSEVT KSAkKEdFTkVSSUNfRElSKS90Y2xQYW5pYy5jCgp0Y2xQYXRoT2JqLm86ICQoR0VORVJJQ19ESVIp L3RjbFBhdGhPYmouYyAkKEZTSERSKQoJJChDQykgLWMgJChDQ19TV0lUQ0hFUykgJChHRU5FUklD X0RJUikvdGNsUGF0aE9iai5jCgp0Y2xQaXBlLm86ICQoR0VORVJJQ19ESVIpL3RjbFBpcGUuYwoJ JChDQykgLWMgJChDQ19TV0lUQ0hFUykgJChHRU5FUklDX0RJUikvdGNsUGlwZS5jCgp0Y2xQa2cu bzogJChHRU5FUklDX0RJUikvdGNsUGtnLmMKCSQoQ0MpIC1jICQoQ0NfU1dJVENIRVMpICQoR0VO RVJJQ19ESVIpL3RjbFBrZy5jCgojIFRJUCAjNTksIGVtYmVkZGluZyBvZiBjb25maWd1cmF0aW9u IGluZm9ybWF0aW9uIGludG8gdGhlIGJpbmFyeSBsaWJyYXJ5LgojCiMgUGFydCBvZiBUY2wncyBj b25maWd1cmF0aW9uIGluZm9ybWF0aW9uIGFyZSB0aGUgcGF0aHMgd2hlcmUgaXQgd2FzIGluc3Rh bGxlZAojIGFuZCB3aGVyZSBpdCB3aWxsIGxvb2sgZm9yIGl0cyBsaWJyYXJpZXMgKHdoaWNoIGNh biBiZSBkaWZmZXJlbnQpLiBXZSBkZXJpdmUKIyB0aGlzIGluZm9ybWF0aW9uIGZyb20gdGhlIHZh cmlhYmxlcyB3aGljaCBjYW4gYmUgb3ZlcnJpZGRlbiBieSB0aGUgdXNlci4gQXMKIyBldmVyeSBw YXRoIGNhbiBiZSBjb25maWd1cmVkIHNlcGFyYXRlbHkgd2UgZG8gbm90IHJlbWVtYmVyIG9uZSBn ZW5lcmFsCiMgcHJlZml4L2V4ZWNfcHJlZml4IGJ1dCBhbGwgdGhlIGRpZmZlcmVudCBwYXRocyBp bmRpdmlkdWFsbHkuCgp0Y2xQa2dDb25maWcubzogJChHRU5FUklDX0RJUikvdGNsUGtnQ29uZmln LmMKCSQoQ0MpIC1jICQoQ0NfU1dJVENIRVMpCQkJCQlcCgkJLURDRkdfSU5TVEFMTF9MSUJESVI9 IlwiJChMSUJfSU5TVEFMTF9ESVIpXCIiIFwKCQktRENGR19JTlNUQUxMX0JJTkRJUj0iXCIkKEJJ Tl9JTlNUQUxMX0RJUilcIiIgXAoJCS1EQ0ZHX0lOU1RBTExfU0NSRElSPSJcIiQoU0NSSVBUX0lO U1RBTExfRElSKVwiIiBcCgkJLURDRkdfSU5TVEFMTF9JTkNESVI9IlwiJChJTkNMVURFX0lOU1RB TExfRElSKVwiIiBcCgkJLURDRkdfSU5TVEFMTF9ET0NESVI9IlwiJChNQU5fSU5TVEFMTF9ESVIp XCIiIFwKCQlcCgkJLURDRkdfUlVOVElNRV9MSUJESVI9IlwiJChsaWJkaXIpXCIiIFwKCQktRENG R19SVU5USU1FX0JJTkRJUj0iXCIkKGJpbmRpcilcIiIgXAoJCS1EQ0ZHX1JVTlRJTUVfU0NSRElS PSJcIiQoVENMX0xJQlJBUlkpXCIiIFwKCQktRENGR19SVU5USU1FX0lOQ0RJUj0iXCIkKGluY2x1 ZGVkaXIpXCIiIFwKCQktRENGR19SVU5USU1FX0RPQ0RJUj0iXCIkKG1hbmRpcilcIiIgXAoJCVwK CQkkKEdFTkVSSUNfRElSKS90Y2xQa2dDb25maWcuYwoKdGNsUG9zaXhTdHIubzogJChHRU5FUklD X0RJUikvdGNsUG9zaXhTdHIuYwoJJChDQykgLWMgJChDQ19TV0lUQ0hFUykgJChHRU5FUklDX0RJ UikvdGNsUG9zaXhTdHIuYwoKdGNsUHJlc2VydmUubzogJChHRU5FUklDX0RJUikvdGNsUHJlc2Vy dmUuYwoJJChDQykgLWMgJChDQ19TV0lUQ0hFUykgJChHRU5FUklDX0RJUikvdGNsUHJlc2VydmUu YwoKdGNsUHJvYy5vOiAkKEdFTkVSSUNfRElSKS90Y2xQcm9jLmMgJChDT01QSUxFSERSKSAkKE5S RUhEUikKCSQoQ0MpIC1jICQoQ0NfU1dJVENIRVMpICQoR0VORVJJQ19ESVIpL3RjbFByb2MuYwoK dGNsUmVnZXhwLm86ICQoR0VORVJJQ19ESVIpL3RjbFJlZ2V4cC5jICQoVENMUkVIRFJTKQoJJChD QykgLWMgJChDQ19TV0lUQ0hFUykgJChHRU5FUklDX0RJUikvdGNsUmVnZXhwLmMKCnRjbFJlc29s dmUubzogJChHRU5FUklDX0RJUikvdGNsUmVzb2x2ZS5jCgkkKENDKSAtYyAkKENDX1NXSVRDSEVT KSAkKEdFTkVSSUNfRElSKS90Y2xSZXNvbHZlLmMKCnRjbFJlc3VsdC5vOiAkKEdFTkVSSUNfRElS KS90Y2xSZXN1bHQuYwoJJChDQykgLWMgJChDQ19TV0lUQ0hFUykgJChHRU5FUklDX0RJUikvdGNs UmVzdWx0LmMKCnRjbFNjYW4ubzogJChHRU5FUklDX0RJUikvdGNsU2Nhbi5jCgkkKENDKSAtYyAk KENDX1NXSVRDSEVTKSAkKEdFTkVSSUNfRElSKS90Y2xTY2FuLmMKCnRjbFN0cmluZ09iai5vOiAk KEdFTkVSSUNfRElSKS90Y2xTdHJpbmdPYmouYyAkKE1BVEhIRFJTKQoJJChDQykgLWMgJChDQ19T V0lUQ0hFUykgJChHRU5FUklDX0RJUikvdGNsU3RyaW5nT2JqLmMKCnRjbFN0clRvRC5vOiAkKEdF TkVSSUNfRElSKS90Y2xTdHJUb0QuYyAkKE1BVEhIRFJTKQoJJChDQykgLWMgJChDQ19TV0lUQ0hF UykgJChHRU5FUklDX0RJUikvdGNsU3RyVG9ELmMKCnRjbFN0dWJJbml0Lm86ICQoR0VORVJJQ19E SVIpL3RjbFN0dWJJbml0LmMKCSQoQ0MpIC1jICQoQ0NfU1dJVENIRVMpICQoR0VORVJJQ19ESVIp L3RjbFN0dWJJbml0LmMKCnRjbFRyYWNlLm86ICQoR0VORVJJQ19ESVIpL3RjbFRyYWNlLmMKCSQo Q0MpIC1jICQoQ0NfU1dJVENIRVMpICQoR0VORVJJQ19ESVIpL3RjbFRyYWNlLmMKCnRjbFV0aWwu bzogJChHRU5FUklDX0RJUikvdGNsVXRpbC5jICQoUEFSU0VIRFIpICQoVFJJTUhEUikKCSQoQ0Mp IC1jICQoQ0NfU1dJVENIRVMpICQoR0VORVJJQ19ESVIpL3RjbFV0aWwuYwoKdGNsVXRmLm86ICQo R0VORVJJQ19ESVIpL3RjbFV0Zi5jICQoR0VORVJJQ19ESVIpL3RjbFVuaURhdGEuYwoJJChDQykg LWMgJChDQ19TV0lUQ0hFUykgJChHRU5FUklDX0RJUikvdGNsVXRmLmMKCnRjbFZhci5vOiAkKEdF TkVSSUNfRElSKS90Y2xWYXIuYwoJJChDQykgLWMgJChDQ19TV0lUQ0hFUykgJChHRU5FUklDX0RJ UikvdGNsVmFyLmMKCnRjbFpsaWIubzogJChHRU5FUklDX0RJUikvdGNsWmxpYi5jCgkkKENDKSAt YyAkKENDX1NXSVRDSEVTKSAkKFpMSUJfSU5DTFVERSkgJChHRU5FUklDX0RJUikvdGNsWmxpYi5j Cgp0Y2xUZXN0Lm86ICQoR0VORVJJQ19ESVIpL3RjbFRlc3QuYyAkKElPSERSKSAkKFRDTFJFSERS UykKCSQoQ0MpIC1jICQoQVBQX0NDX1NXSVRDSEVTKSAkKEdFTkVSSUNfRElSKS90Y2xUZXN0LmMK CnRjbFRlc3RPYmoubzogJChHRU5FUklDX0RJUikvdGNsVGVzdE9iai5jICQoTUFUSEhEUlMpCgkk KENDKSAtYyAkKEFQUF9DQ19TV0lUQ0hFUykgJChHRU5FUklDX0RJUikvdGNsVGVzdE9iai5jCgp0 Y2xUZXN0UHJvY0JvZHlPYmoubzogJChHRU5FUklDX0RJUikvdGNsVGVzdFByb2NCb2R5T2JqLmMK CSQoQ0MpIC1jICQoQVBQX0NDX1NXSVRDSEVTKSAkKEdFTkVSSUNfRElSKS90Y2xUZXN0UHJvY0Jv ZHlPYmouYwoKdGNsVGltZXIubzogJChHRU5FUklDX0RJUikvdGNsVGltZXIuYwoJJChDQykgLWMg JChDQ19TV0lUQ0hFUykgJChHRU5FUklDX0RJUikvdGNsVGltZXIuYwoKdGNsVGhyZWFkLm86ICQo R0VORVJJQ19ESVIpL3RjbFRocmVhZC5jCgkkKENDKSAtYyAkKENDX1NXSVRDSEVTKSAkKEdFTkVS SUNfRElSKS90Y2xUaHJlYWQuYwoKdGNsVGhyZWFkQWxsb2MubzogJChHRU5FUklDX0RJUikvdGNs VGhyZWFkQWxsb2MuYwoJJChDQykgLWMgJChDQ19TV0lUQ0hFUykgJChHRU5FUklDX0RJUikvdGNs VGhyZWFkQWxsb2MuYwoKdGNsVGhyZWFkSm9pbi5vOiAkKEdFTkVSSUNfRElSKS90Y2xUaHJlYWRK b2luLmMKCSQoQ0MpIC1jICQoQ0NfU1dJVENIRVMpICQoR0VORVJJQ19ESVIpL3RjbFRocmVhZEpv aW4uYwoKdGNsVGhyZWFkU3RvcmFnZS5vOiAkKEdFTkVSSUNfRElSKS90Y2xUaHJlYWRTdG9yYWdl LmMKCSQoQ0MpIC1jICQoQ0NfU1dJVENIRVMpICQoR0VORVJJQ19ESVIpL3RjbFRocmVhZFN0b3Jh Z2UuYwoKdGNsVGhyZWFkVGVzdC5vOiAkKEdFTkVSSUNfRElSKS90Y2xUaHJlYWRUZXN0LmMKCSQo Q0MpIC1jICQoQVBQX0NDX1NXSVRDSEVTKSAkKEdFTkVSSUNfRElSKS90Y2xUaHJlYWRUZXN0LmMK CnRjbFRvbU1hdGhJbnRlcmZhY2UubzogJChHRU5FUklDX0RJUikvdGNsVG9tTWF0aEludGVyZmFj ZS5jICQoTUFUSEhEUlMpCgkkKENDKSAtYyAkKENDX1NXSVRDSEVTKSAkKEdFTkVSSUNfRElSKS90 Y2xUb21NYXRoSW50ZXJmYWNlLmMKCmJuX3NfbXBfcmV2ZXJzZS5vOiAkKFRPTU1BVEhfRElSKS9i bl9zX21wX3JldmVyc2UuYyAkKE1BVEhIRFJTKQoJJChDQykgLWMgJChDQ19TV0lUQ0hFUykgJChU T01NQVRIX0RJUikvYm5fc19tcF9yZXZlcnNlLmMKCmJuX3NfbXBfbXVsX2RpZ3NfZmFzdC5vOiAk KFRPTU1BVEhfRElSKS9ibl9zX21wX211bF9kaWdzX2Zhc3QuYyAkKE1BVEhIRFJTKQoJJChDQykg LWMgJChDQ19TV0lUQ0hFUykgJChUT01NQVRIX0RJUikvYm5fc19tcF9tdWxfZGlnc19mYXN0LmMK CmJuX3NfbXBfc3FyX2Zhc3QubzogJChUT01NQVRIX0RJUikvYm5fc19tcF9zcXJfZmFzdC5jICQo TUFUSEhEUlMpCgkkKENDKSAtYyAkKENDX1NXSVRDSEVTKSAkKFRPTU1BVEhfRElSKS9ibl9zX21w X3Nxcl9mYXN0LmMKCmJuX21wX2FkZC5vOiAkKFRPTU1BVEhfRElSKS9ibl9tcF9hZGQuYyAkKE1B VEhIRFJTKQoJJChDQykgLWMgJChDQ19TV0lUQ0hFUykgJChUT01NQVRIX0RJUikvYm5fbXBfYWRk LmMKCmJuX21wX2FkZF9kLm86ICQoVE9NTUFUSF9ESVIpL2JuX21wX2FkZF9kLmMgJChNQVRISERS UykKCSQoQ0MpIC1jICQoQ0NfU1dJVENIRVMpICQoVE9NTUFUSF9ESVIpL2JuX21wX2FkZF9kLmMK CmJuX21wX2FuZC5vOiAkKFRPTU1BVEhfRElSKS9ibl9tcF9hbmQuYyAkKE1BVEhIRFJTKQoJJChD QykgLWMgJChDQ19TV0lUQ0hFUykgJChUT01NQVRIX0RJUikvYm5fbXBfYW5kLmMKCmJuX21wX2Ns YW1wLm86ICQoVE9NTUFUSF9ESVIpL2JuX21wX2NsYW1wLmMgJChNQVRISERSUykKCSQoQ0MpIC1j ICQoQ0NfU1dJVENIRVMpICQoVE9NTUFUSF9ESVIpL2JuX21wX2NsYW1wLmMKCmJuX21wX2NsZWFy Lm86ICQoVE9NTUFUSF9ESVIpL2JuX21wX2NsZWFyLmMgJChNQVRISERSUykKCSQoQ0MpIC1jICQo Q0NfU1dJVENIRVMpICQoVE9NTUFUSF9ESVIpL2JuX21wX2NsZWFyLmMKCmJuX21wX2NsZWFyX211 bHRpLm86ICQoVE9NTUFUSF9ESVIpL2JuX21wX2NsZWFyX211bHRpLmMgJChNQVRISERSUykKCSQo Q0MpIC1jICQoQ0NfU1dJVENIRVMpICQoVE9NTUFUSF9ESVIpL2JuX21wX2NsZWFyX211bHRpLmMK CmJuX21wX2NtcC5vOiAkKFRPTU1BVEhfRElSKS9ibl9tcF9jbXAuYyAkKE1BVEhIRFJTKQoJJChD QykgLWMgJChDQ19TV0lUQ0hFUykgJChUT01NQVRIX0RJUikvYm5fbXBfY21wLmMKCmJuX21wX2Nt cF9kLm86ICQoVE9NTUFUSF9ESVIpL2JuX21wX2NtcF9kLmMgJChNQVRISERSUykKCSQoQ0MpIC1j ICQoQ0NfU1dJVENIRVMpICQoVE9NTUFUSF9ESVIpL2JuX21wX2NtcF9kLmMKCmJuX21wX2NtcF9t YWcubzogJChUT01NQVRIX0RJUikvYm5fbXBfY21wX21hZy5jICQoTUFUSEhEUlMpCgkkKENDKSAt YyAkKENDX1NXSVRDSEVTKSAkKFRPTU1BVEhfRElSKS9ibl9tcF9jbXBfbWFnLmMKCmJuX21wX2Nu dF9sc2IubzogJChUT01NQVRIX0RJUikvYm5fbXBfY250X2xzYi5jICQoTUFUSEhEUlMpCgkkKEND KSAtYyAkKENDX1NXSVRDSEVTKSAkKFRPTU1BVEhfRElSKS9ibl9tcF9jbnRfbHNiLmMKCmJuX21w X2NvcHkubzogJChUT01NQVRIX0RJUikvYm5fbXBfY29weS5jICQoTUFUSEhEUlMpCgkkKENDKSAt YyAkKENDX1NXSVRDSEVTKSAkKFRPTU1BVEhfRElSKS9ibl9tcF9jb3B5LmMKCmJuX21wX2NvdW50 X2JpdHMubzogJChUT01NQVRIX0RJUikvYm5fbXBfY291bnRfYml0cy5jICQoTUFUSEhEUlMpCgkk KENDKSAtYyAkKENDX1NXSVRDSEVTKSAkKFRPTU1BVEhfRElSKS9ibl9tcF9jb3VudF9iaXRzLmMK CmJuX21wX2Rpdi5vOiAkKFRPTU1BVEhfRElSKS9ibl9tcF9kaXYuYyAkKE1BVEhIRFJTKQoJJChD QykgLWMgJChDQ19TV0lUQ0hFUykgJChUT01NQVRIX0RJUikvYm5fbXBfZGl2LmMKCmJuX21wX2Rp dl9kLm86ICQoVE9NTUFUSF9ESVIpL2JuX21wX2Rpdl9kLmMgJChNQVRISERSUykKCSQoQ0MpIC1j ICQoQ0NfU1dJVENIRVMpICQoVE9NTUFUSF9ESVIpL2JuX21wX2Rpdl9kLmMKCmJuX21wX2Rpdl8y Lm86ICQoVE9NTUFUSF9ESVIpL2JuX21wX2Rpdl8yLmMgJChNQVRISERSUykKCSQoQ0MpIC1jICQo Q0NfU1dJVENIRVMpICQoVE9NTUFUSF9ESVIpL2JuX21wX2Rpdl8yLmMKCmJuX21wX2Rpdl8yZC5v OiAkKFRPTU1BVEhfRElSKS9ibl9tcF9kaXZfMmQuYyAkKE1BVEhIRFJTKQoJJChDQykgLWMgJChD Q19TV0lUQ0hFUykgJChUT01NQVRIX0RJUikvYm5fbXBfZGl2XzJkLmMKCmJuX21wX2Rpdl8zLm86 ICQoVE9NTUFUSF9ESVIpL2JuX21wX2Rpdl8zLmMgJChNQVRISERSUykKCSQoQ0MpIC1jICQoQ0Nf U1dJVENIRVMpICQoVE9NTUFUSF9ESVIpL2JuX21wX2Rpdl8zLmMKCmJuX21wX2V4Y2gubzogJChU T01NQVRIX0RJUikvYm5fbXBfZXhjaC5jICQoTUFUSEhEUlMpCgkkKENDKSAtYyAkKENDX1NXSVRD SEVTKSAkKFRPTU1BVEhfRElSKS9ibl9tcF9leGNoLmMKCmJuX21wX2V4cHRfdTMyLm86ICQoVE9N TUFUSF9ESVIpL2JuX21wX2V4cHRfdTMyLmMgJChNQVRISERSUykKCSQoQ0MpIC1jICQoQ0NfU1dJ VENIRVMpICQoVE9NTUFUSF9ESVIpL2JuX21wX2V4cHRfdTMyLmMKCmJuX21wX2dyb3cubzogJChU T01NQVRIX0RJUikvYm5fbXBfZ3Jvdy5jICQoTUFUSEhEUlMpCgkkKENDKSAtYyAkKENDX1NXSVRD SEVTKSAkKFRPTU1BVEhfRElSKS9ibl9tcF9ncm93LmMKCmJuX21wX2luaXQubzogJChUT01NQVRI X0RJUikvYm5fbXBfaW5pdC5jICQoTUFUSEhEUlMpCgkkKENDKSAtYyAkKENDX1NXSVRDSEVTKSAk KFRPTU1BVEhfRElSKS9ibl9tcF9pbml0LmMKCmJuX21wX2luaXRfY29weS5vOiAkKFRPTU1BVEhf RElSKS9ibl9tcF9pbml0X2NvcHkuYyAkKE1BVEhIRFJTKQoJJChDQykgLWMgJChDQ19TV0lUQ0hF UykgJChUT01NQVRIX0RJUikvYm5fbXBfaW5pdF9jb3B5LmMKCmJuX21wX2luaXRfbXVsdGkubzog JChUT01NQVRIX0RJUikvYm5fbXBfaW5pdF9tdWx0aS5jICQoTUFUSEhEUlMpCgkkKENDKSAtYyAk KENDX1NXSVRDSEVTKSAkKFRPTU1BVEhfRElSKS9ibl9tcF9pbml0X211bHRpLmMKCmJuX21wX2lu aXRfc2V0Lm86ICQoVE9NTUFUSF9ESVIpL2JuX21wX2luaXRfc2V0LmMgJChNQVRISERSUykKCSQo Q0MpIC1jICQoQ0NfU1dJVENIRVMpICQoVE9NTUFUSF9ESVIpL2JuX21wX2luaXRfc2V0LmMKCmJu X21wX2luaXRfc2l6ZS5vOiQoVE9NTUFUSF9ESVIpL2JuX21wX2luaXRfc2l6ZS5jICQoTUFUSEhE UlMpCgkkKENDKSAtYyAkKENDX1NXSVRDSEVTKSAkKFRPTU1BVEhfRElSKS9ibl9tcF9pbml0X3Np emUuYwoKYm5fc19tcF9rYXJhdHN1YmFfbXVsLm86ICQoVE9NTUFUSF9ESVIpL2JuX3NfbXBfa2Fy YXRzdWJhX211bC5jICQoTUFUSEhEUlMpCgkkKENDKSAtYyAkKENDX1NXSVRDSEVTKSAkKFRPTU1B VEhfRElSKS9ibl9zX21wX2thcmF0c3ViYV9tdWwuYwoKYm5fc19tcF9rYXJhdHN1YmFfc3FyLm86 ICQoVE9NTUFUSF9ESVIpL2JuX3NfbXBfa2FyYXRzdWJhX3Nxci5jICQoTUFUSEhEUlMpCgkkKEND KSAtYyAkKENDX1NXSVRDSEVTKSAkKFRPTU1BVEhfRElSKS9ibl9zX21wX2thcmF0c3ViYV9zcXIu YwoKYm5fc19tcF9iYWxhbmNlX211bC5vOiAkKFRPTU1BVEhfRElSKS9ibl9zX21wX2JhbGFuY2Vf bXVsLmMgJChNQVRISERSUykKCSQoQ0MpIC1jICQoQ0NfU1dJVENIRVMpICQoVE9NTUFUSF9ESVIp L2JuX3NfbXBfYmFsYW5jZV9tdWwuYwoKYm5fbXBfbHNoZC5vOiAkKFRPTU1BVEhfRElSKS9ibl9t cF9sc2hkLmMgJChNQVRISERSUykKCSQoQ0MpIC1jICQoQ0NfU1dJVENIRVMpICQoVE9NTUFUSF9E SVIpL2JuX21wX2xzaGQuYwoKYm5fbXBfbW9kLm86ICQoVE9NTUFUSF9ESVIpL2JuX21wX21vZC5j ICQoTUFUSEhEUlMpCgkkKENDKSAtYyAkKENDX1NXSVRDSEVTKSAkKFRPTU1BVEhfRElSKS9ibl9t cF9tb2QuYwoKYm5fbXBfbW9kXzJkLm86ICQoVE9NTUFUSF9ESVIpL2JuX21wX21vZF8yZC5jICQo TUFUSEhEUlMpCgkkKENDKSAtYyAkKENDX1NXSVRDSEVTKSAkKFRPTU1BVEhfRElSKS9ibl9tcF9t b2RfMmQuYwoKYm5fbXBfbXVsLm86ICQoVE9NTUFUSF9ESVIpL2JuX21wX211bC5jICQoTUFUSEhE UlMpCgkkKENDKSAtYyAkKENDX1NXSVRDSEVTKSAkKFRPTU1BVEhfRElSKS9ibl9tcF9tdWwuYwoK Ym5fbXBfbXVsXzIubzogJChUT01NQVRIX0RJUikvYm5fbXBfbXVsXzIuYyAkKE1BVEhIRFJTKQoJ JChDQykgLWMgJChDQ19TV0lUQ0hFUykgJChUT01NQVRIX0RJUikvYm5fbXBfbXVsXzIuYwoKYm5f bXBfbXVsXzJkLm86ICQoVE9NTUFUSF9ESVIpL2JuX21wX211bF8yZC5jICQoTUFUSEhEUlMpCgkk KENDKSAtYyAkKENDX1NXSVRDSEVTKSAkKFRPTU1BVEhfRElSKS9ibl9tcF9tdWxfMmQuYwoKYm5f bXBfbXVsX2QubzogJChUT01NQVRIX0RJUikvYm5fbXBfbXVsX2QuYyAkKE1BVEhIRFJTKQoJJChD QykgLWMgJChDQ19TV0lUQ0hFUykgJChUT01NQVRIX0RJUikvYm5fbXBfbXVsX2QuYwoKYm5fbXBf bmVnLm86ICQoVE9NTUFUSF9ESVIpL2JuX21wX25lZy5jICQoTUFUSEhEUlMpCgkkKENDKSAtYyAk KENDX1NXSVRDSEVTKSAkKFRPTU1BVEhfRElSKS9ibl9tcF9uZWcuYwoKYm5fbXBfb3IubzogJChU T01NQVRIX0RJUikvYm5fbXBfb3IuYyAkKE1BVEhIRFJTKQoJJChDQykgLWMgJChDQ19TV0lUQ0hF UykgJChUT01NQVRIX0RJUikvYm5fbXBfb3IuYwoKYm5fbXBfcmFkaXhfc2l6ZS5vOiAkKFRPTU1B VEhfRElSKS9ibl9tcF9yYWRpeF9zaXplLmMgJChNQVRISERSUykKCSQoQ0MpIC1jICQoQ0NfU1dJ VENIRVMpICQoVE9NTUFUSF9ESVIpL2JuX21wX3JhZGl4X3NpemUuYwoKYm5fbXBfcmFkaXhfc21h cC5vOiAkKFRPTU1BVEhfRElSKS9ibl9tcF9yYWRpeF9zbWFwLmMgJChNQVRISERSUykKCSQoQ0Mp IC1jICQoQ0NfU1dJVENIRVMpICQoVE9NTUFUSF9ESVIpL2JuX21wX3JhZGl4X3NtYXAuYwoKYm5f bXBfcmVhZF9yYWRpeC5vOiAkKFRPTU1BVEhfRElSKS9ibl9tcF9yZWFkX3JhZGl4LmMgJChNQVRI SERSUykKCSQoQ0MpIC1jICQoQ0NfU1dJVENIRVMpICQoVE9NTUFUSF9ESVIpL2JuX21wX3JlYWRf cmFkaXguYwoKYm5fbXBfcnNoZC5vOiAkKFRPTU1BVEhfRElSKS9ibl9tcF9yc2hkLmMgJChNQVRI SERSUykKCSQoQ0MpIC1jICQoQ0NfU1dJVENIRVMpICQoVE9NTUFUSF9ESVIpL2JuX21wX3JzaGQu YwoKYm5fbXBfc2V0Lm86ICQoVE9NTUFUSF9ESVIpL2JuX21wX3NldC5jICQoTUFUSEhEUlMpCgkk KENDKSAtYyAkKENDX1NXSVRDSEVTKSAkKFRPTU1BVEhfRElSKS9ibl9tcF9zZXQuYwoKYm5fbXBf c2hyaW5rLm86ICQoVE9NTUFUSF9ESVIpL2JuX21wX3Nocmluay5jICQoTUFUSEhEUlMpCgkkKEND KSAtYyAkKENDX1NXSVRDSEVTKSAkKFRPTU1BVEhfRElSKS9ibl9tcF9zaHJpbmsuYwoKYm5fbXBf c3FyLm86ICQoVE9NTUFUSF9ESVIpL2JuX21wX3Nxci5jICQoTUFUSEhEUlMpCgkkKENDKSAtYyAk KENDX1NXSVRDSEVTKSAkKFRPTU1BVEhfRElSKS9ibl9tcF9zcXIuYwoKYm5fbXBfc3FydC5vOiAk KFRPTU1BVEhfRElSKS9ibl9tcF9zcXJ0LmMgJChNQVRISERSUykKCSQoQ0MpIC1jICQoQ0NfU1dJ VENIRVMpICQoVE9NTUFUSF9ESVIpL2JuX21wX3NxcnQuYwoKYm5fbXBfc3ViLm86ICQoVE9NTUFU SF9ESVIpL2JuX21wX3N1Yi5jICQoTUFUSEhEUlMpCgkkKENDKSAtYyAkKENDX1NXSVRDSEVTKSAk KFRPTU1BVEhfRElSKS9ibl9tcF9zdWIuYwoKYm5fbXBfc3ViX2QubzogJChUT01NQVRIX0RJUikv Ym5fbXBfc3ViX2QuYyAkKE1BVEhIRFJTKQoJJChDQykgLWMgJChDQ19TV0lUQ0hFUykgJChUT01N QVRIX0RJUikvYm5fbXBfc3ViX2QuYwoKYm5fbXBfc2lnbmVkX3JzaC5vOiAkKFRPTU1BVEhfRElS KS9ibl9tcF9zaWduZWRfcnNoLmMgJChNQVRISERSUykKCSQoQ0MpIC1jICQoQ0NfU1dJVENIRVMp ICQoVE9NTUFUSF9ESVIpL2JuX21wX3NpZ25lZF9yc2guYwoKYm5fbXBfdG9fdWJpbi5vOiAkKFRP TU1BVEhfRElSKS9ibl9tcF90b191YmluLmMgJChNQVRISERSUykKCSQoQ0MpIC1jICQoQ0NfU1dJ VENIRVMpICQoVE9NTUFUSF9ESVIpL2JuX21wX3RvX3ViaW4uYwoKYm5fc19tcF90b29tX211bC5v OiAkKFRPTU1BVEhfRElSKS9ibl9zX21wX3Rvb21fbXVsLmMgJChNQVRISERSUykKCSQoQ0MpIC1j ICQoQ0NfU1dJVENIRVMpICQoVE9NTUFUSF9ESVIpL2JuX3NfbXBfdG9vbV9tdWwuYwoKYm5fc19t cF90b29tX3Nxci5vOiAkKFRPTU1BVEhfRElSKS9ibl9zX21wX3Rvb21fc3FyLmMgJChNQVRISERS UykKCSQoQ0MpIC1jICQoQ0NfU1dJVENIRVMpICQoVE9NTUFUSF9ESVIpL2JuX3NfbXBfdG9vbV9z cXIuYwoKYm5fbXBfdG9fcmFkaXgubzogJChUT01NQVRIX0RJUikvYm5fbXBfdG9fcmFkaXguYyAk KE1BVEhIRFJTKQoJJChDQykgLWMgJChDQ19TV0lUQ0hFUykgJChUT01NQVRIX0RJUikvYm5fbXBf dG9fcmFkaXguYwoKYm5fbXBfdWJpbl9zaXplLm86ICQoVE9NTUFUSF9ESVIpL2JuX21wX3ViaW5f c2l6ZS5jICQoTUFUSEhEUlMpCgkkKENDKSAtYyAkKENDX1NXSVRDSEVTKSAkKFRPTU1BVEhfRElS KS9ibl9tcF91YmluX3NpemUuYwoKYm5fbXBfeG9yLm86ICQoVE9NTUFUSF9ESVIpL2JuX21wX3hv ci5jICQoTUFUSEhEUlMpCgkkKENDKSAtYyAkKENDX1NXSVRDSEVTKSAkKFRPTU1BVEhfRElSKS9i bl9tcF94b3IuYwoKYm5fbXBfemVyby5vOiAkKFRPTU1BVEhfRElSKS9ibl9tcF96ZXJvLmMgJChN QVRISERSUykKCSQoQ0MpIC1jICQoQ0NfU1dJVENIRVMpICQoVE9NTUFUSF9ESVIpL2JuX21wX3pl cm8uYwoKYm5fc19tcF9hZGQubzogJChUT01NQVRIX0RJUikvYm5fc19tcF9hZGQuYyAkKE1BVEhI RFJTKQoJJChDQykgLWMgJChDQ19TV0lUQ0hFUykgJChUT01NQVRIX0RJUikvYm5fc19tcF9hZGQu YwoKYm5fc19tcF9tdWxfZGlncy5vOiAkKFRPTU1BVEhfRElSKS9ibl9zX21wX211bF9kaWdzLmMg JChNQVRISERSUykKCSQoQ0MpIC1jICQoQ0NfU1dJVENIRVMpICQoVE9NTUFUSF9ESVIpL2JuX3Nf bXBfbXVsX2RpZ3MuYwoKYm5fc19tcF9zcXIubzogJChUT01NQVRIX0RJUikvYm5fc19tcF9zcXIu YyAkKE1BVEhIRFJTKQoJJChDQykgLWMgJChDQ19TV0lUQ0hFUykgJChUT01NQVRIX0RJUikvYm5f c19tcF9zcXIuYwoKYm5fc19tcF9zdWIubzogJChUT01NQVRIX0RJUikvYm5fc19tcF9zdWIuYyAk KE1BVEhIRFJTKQoJJChDQykgLWMgJChDQ19TV0lUQ0hFUykgJChUT01NQVRIX0RJUikvYm5fc19t cF9zdWIuYwoKdGNsVW5peENoYW4ubzogJChVTklYX0RJUikvdGNsVW5peENoYW4uYyAkKElPSERS KQoJJChDQykgLWMgJChDQ19TV0lUQ0hFUykgJChVTklYX0RJUikvdGNsVW5peENoYW4uYwoKdGNs VW5peEV2ZW50Lm86ICQoVU5JWF9ESVIpL3RjbFVuaXhFdmVudC5jCgkkKENDKSAtYyAkKENDX1NX SVRDSEVTKSAkKFVOSVhfRElSKS90Y2xVbml4RXZlbnQuYwoKdGNsVW5peEZDbWQubzogJChVTklY X0RJUikvdGNsVW5peEZDbWQuYwoJJChDQykgLWMgJChDQ19TV0lUQ0hFUykgJChVTklYX0RJUikv dGNsVW5peEZDbWQuYwoKdGNsVW5peEZpbGUubzogJChVTklYX0RJUikvdGNsVW5peEZpbGUuYyAk KEZTSERSKQoJJChDQykgLWMgJChDQ19TV0lUQ0hFUykgJChVTklYX0RJUikvdGNsVW5peEZpbGUu YwoKdGNsVW5peE5vdGZ5Lm86ICQoVU5JWF9ESVIpL3RjbFVuaXhOb3RmeS5jCgkkKENDKSAtYyAk KENDX1NXSVRDSEVTKSAkKFVOSVhfRElSKS90Y2xVbml4Tm90ZnkuYwoKdGNsVW5peFBpcGUubzog JChVTklYX0RJUikvdGNsVW5peFBpcGUuYwoJJChDQykgLWMgJChDQ19TV0lUQ0hFUykgJChVTklY X0RJUikvdGNsVW5peFBpcGUuYwoKdGNsVW5peFNvY2subzogJChVTklYX0RJUikvdGNsVW5peFNv Y2suYwoJJChDQykgLWMgJChDQ19TV0lUQ0hFUykgJChVTklYX0RJUikvdGNsVW5peFNvY2suYwoK dGNsVW5peFRlc3QubzogJChVTklYX0RJUikvdGNsVW5peFRlc3QuYwoJJChDQykgLWMgJChBUFBf Q0NfU1dJVENIRVMpICQoVU5JWF9ESVIpL3RjbFVuaXhUZXN0LmMKCnRjbFVuaXhUaHJkLm86ICQo VU5JWF9ESVIpL3RjbFVuaXhUaHJkLmMKCSQoQ0MpIC1jICQoQ0NfU1dJVENIRVMpICQoVU5JWF9E SVIpL3RjbFVuaXhUaHJkLmMKCnRjbFVuaXhUaW1lLm86ICQoVU5JWF9ESVIpL3RjbFVuaXhUaW1l LmMKCSQoQ0MpIC1jICQoQ0NfU1dJVENIRVMpICQoVU5JWF9ESVIpL3RjbFVuaXhUaW1lLmMKClRD TF9MT0NBVElPTlM9LURUQ0xfTElCUkFSWT0iXCIke1RDTF9MSUJSQVJZfVwiIiAtRFRDTF9QQUNL QUdFX1BBVEg9IlwiJHtUQ0xfUEFDS0FHRV9QQVRIfVwiIgp0Y2xVbml4SW5pdC5vOiAkKFVOSVhf RElSKS90Y2xVbml4SW5pdC5jIHRjbENvbmZpZy5zaAoJJChDQykgLWMgJChDQ19TV0lUQ0hFUykg JChUQ0xfTE9DQVRJT05TKSAkKFVOSVhfRElSKS90Y2xVbml4SW5pdC5jCgp0Y2xVbml4Q29tcGF0 Lm86ICQoVU5JWF9ESVIpL3RjbFVuaXhDb21wYXQuYwoJJChDQykgLWMgJChDQ19TV0lUQ0hFUykg JChVTklYX0RJUikvdGNsVW5peENvbXBhdC5jCgojIFRoZSBmb2xsb3dpbmcgYXJlIE1hYyBPUyBY IG9ubHkgc291cmNlczoKdGNsTWFjT1NYQnVuZGxlLm86ICQoTUFDX09TWF9ESVIpL3RjbE1hY09T WEJ1bmRsZS5jCgkkKENDKSAtYyAkKENDX1NXSVRDSEVTKSAkKE1BQ19PU1hfRElSKS90Y2xNYWNP U1hCdW5kbGUuYwoKdGNsTWFjT1NYRkNtZC5vOiAkKE1BQ19PU1hfRElSKS90Y2xNYWNPU1hGQ21k LmMKCSQoQ0MpIC1jICQoQ0NfU1dJVENIRVMpICQoTUFDX09TWF9ESVIpL3RjbE1hY09TWEZDbWQu YwoKdGNsTWFjT1NYTm90aWZ5Lm86ICQoTUFDX09TWF9ESVIpL3RjbE1hY09TWE5vdGlmeS5jCgkk KENDKSAtYyAkKENDX1NXSVRDSEVTKSAkKE1BQ19PU1hfRElSKS90Y2xNYWNPU1hOb3RpZnkuYwoK IyBUaGUgZm9sbG93aW5nIGlzIGEgQ1lHV0lOIG9ubHkgc291cmNlOgp0Y2xXaW5FcnJvci5vOiAk KFRPUF9ESVIpL3dpbi90Y2xXaW5FcnJvci5jCgkkKENDKSAtYyAkKENDX1NXSVRDSEVTKSAkKFRP UF9ESVIpL3dpbi90Y2xXaW5FcnJvci5jCgojIERUcmFjZSBzdXBwb3J0CgokKFRDTF9PQkpTKSAk KFNUVUJfTElCX09CSlMpICQoVENMU0hfT0JKUykgJChUQ0xURVNUX09CSlMpICQoWFRURVNUX09C SlMpICQoVE9NTUFUSF9PQkpTKTogCgokKERUUkFDRV9IRFIpOiAkKERUUkFDRV9TUkMpCgkkKERU UkFDRSkgLWggJChEVFJBQ0VfU1dJVENIRVMpIC1vICRAIC1zICQoRFRSQUNFX1NSQykKCiQoRFRS QUNFX09CSik6ICQoRFRSQUNFX1NSQykgJChUQ0xfT0JKUykKCSQoRFRSQUNFKSAtRyAkKERUUkFD RV9TV0lUQ0hFUykgLW8gJEAgLXMgJChEVFJBQ0VfU1JDKSAkKFRDTF9PQkpTKQoKIy0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tCiMgVGhlIGZvbGxvd2luZyB0YXJnZXRzIGFyZSBub3QgY29tcGxldGVseSBnZW5l cmFsLiBUaGV5IGFyZSBwcm92aWRlIHB1cmVseQojIGZvciBkb2N1bWVudGF0aW9uIHB1cnBvc2Vz IHNvIHBlb3BsZSB3aG8gYXJlIGludGVyZXN0ZWQgaW4gdGhlIFh0IGJhc2VkCiMgbm90aWZpZXIg Y2FuIG1vZGlmeSB0aGVtIHRvIHN1aXQgdGhlaXIgb3duIGluc3RhbGxhdGlvbi4KIy0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tCgp4dHRlc3Q6CSR7WFRURVNUX09CSlN9ICR7VENMX0xJQl9GSUxFfSAke1RDTF9T VFVCX0xJQl9GSUxFfSAke0JVSUxEX0RMVEVTVH0KCSR7Q0N9ICR7Q0ZMQUdTfSAke0xERkxBR1N9 ICR7WFRURVNUX09CSlN9IFwKCQktTC91c3IvZ2xlbmRhL3RjbDguNi4xMC91bml4IC1sdGNsOC42 ICR7VENMX1NUVUJfTElCX0ZJTEV9ICR7TElCU30gIFwKCQkke0NDX1NFQVJDSF9GTEFHU30gLUwv dXNyL29wZW53aW4vbGliIC1sWHQgLW8geHR0ZXN0Cgp0Y2xYdE5vdGlmeS5vOiAkKFVOSVhfRElS KS90Y2xYdE5vdGlmeS5jCgkkKENDKSAtYyAkKEFQUF9DQ19TV0lUQ0hFUykgLUkvdXNyL29wZW53 aW4vaW5jbHVkZSBcCgkJJChVTklYX0RJUikvdGNsWHROb3RpZnkuYwoKdGNsWHRUZXN0Lm86ICQo VU5JWF9ESVIpL3RjbFh0VGVzdC5jCgkkKENDKSAtYyAkKEFQUF9DQ19TV0lUQ0hFUykgLUkvdXNy L29wZW53aW4vaW5jbHVkZSBcCgkJJChVTklYX0RJUikvdGNsWHRUZXN0LmMKCiMtLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLQojIENvbXBhdCBiaW5hcmllcywgdGhlc2UgbXVzdCBiZSBjb21waWxlZCBmb3IgdXNl IGluIGEgc2hhcmVkIGxpYnJhcnkgZXZlbgojIHRob3VnaCB0aGV5IG1heSBiZSBwbGFjZWQgaW4g YSBzdGF0aWMgZXhlY3V0YWJsZSBvciBsaWJyYXJ5LiBTaW5jZSB0aGV5IGFyZQojIGluY2x1ZGVk IGluIGJvdGggdGhlIHRjbCBsaWJyYXJ5IGFuZCB0aGUgc3R1YiBsaWJyYXJ5LCB0aGV5IG5lZWQg dG8gYmUKIyByZWxvY2F0YWJsZS4KIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgpvcGVuZGlyLm86ICQoQ09N UEFUX0RJUikvb3BlbmRpci5jCgkkKENDKSAtYyAkKFNUVUJfQ0NfU1dJVENIRVMpICQoQ09NUEFU X0RJUikvb3BlbmRpci5jCgpta3N0ZW1wLm86ICQoQ09NUEFUX0RJUikvbWtzdGVtcC5jCgkkKEND KSAtYyAkKFNUVUJfQ0NfU1dJVENIRVMpICQoQ09NUEFUX0RJUikvbWtzdGVtcC5jCgptZW1jbXAu bzogJChDT01QQVRfRElSKS9tZW1jbXAuYwoJJChDQykgLWMgJChTVFVCX0NDX1NXSVRDSEVTKSAk KENPTVBBVF9ESVIpL21lbWNtcC5jCgpzdHJuY2FzZWNtcC5vOiAkKENPTVBBVF9ESVIpL3N0cm5j YXNlY21wLmMKCSQoQ0MpIC1jICQoU1RVQl9DQ19TV0lUQ0hFUykgJChDT01QQVRfRElSKS9zdHJu Y2FzZWNtcC5jCgpzdHJzdHIubzogJChDT01QQVRfRElSKS9zdHJzdHIuYwoJJChDQykgLWMgJChT VFVCX0NDX1NXSVRDSEVTKSAkKENPTVBBVF9ESVIpL3N0cnN0ci5jCgpzdHJ0b2wubzogJChDT01Q QVRfRElSKS9zdHJ0b2wuYwoJJChDQykgLWMgJChTVFVCX0NDX1NXSVRDSEVTKSAkKENPTVBBVF9E SVIpL3N0cnRvbC5jCgpzdHJ0b3VsLm86ICQoQ09NUEFUX0RJUikvc3RydG91bC5jCgkkKENDKSAt YyAkKFNUVUJfQ0NfU1dJVENIRVMpICQoQ09NUEFUX0RJUikvc3RydG91bC5jCgp3YWl0cGlkLm86 ICQoQ09NUEFUX0RJUikvd2FpdHBpZC5jCgkkKENDKSAtYyAkKFNUVUJfQ0NfU1dJVENIRVMpICQo Q09NUEFUX0RJUikvd2FpdHBpZC5jCgoKIyBGb3IgYnVpbGRpbmcgemxpYiwgb25seSB1c2VkIGlu IHNvbWUgYnVpbGQgY29uZmlndXJhdGlvbnMKWmFkbGVyMzIubzogJChaTElCX0RJUikvYWRsZXIz Mi5jCgkkKENDKSAtYyAtbyAkQCAkKENDX1NXSVRDSEVTKSAtSSQoWkxJQl9ESVIpICQoWkxJQl9E SVIpL2FkbGVyMzIuYwpaY29tcHJlc3MubzogJChaTElCX0RJUikvY29tcHJlc3MuYwoJJChDQykg LWMgLW8gJEAgJChDQ19TV0lUQ0hFUykgLUkkKFpMSUJfRElSKSAkKFpMSUJfRElSKS9jb21wcmVz cy5jClpjcmMzMi5vOiAgICAkKFpMSUJfRElSKS9jcmMzMi5jCgkkKENDKSAtYyAtbyAkQCAkKEND X1NXSVRDSEVTKSAtSSQoWkxJQl9ESVIpICQoWkxJQl9ESVIpL2NyYzMyLmMKWmRlZmxhdGUubzog ICQoWkxJQl9ESVIpL2RlZmxhdGUuYwoJJChDQykgLWMgLW8gJEAgJChDQ19TV0lUQ0hFUykgLUkk KFpMSUJfRElSKSAkKFpMSUJfRElSKS9kZWZsYXRlLmMKWmluZmJhY2subzogICQoWkxJQl9ESVIp L2luZmJhY2suYwoJJChDQykgLWMgLW8gJEAgJChDQ19TV0lUQ0hFUykgLUkkKFpMSUJfRElSKSAk KFpMSUJfRElSKS9pbmZiYWNrLmMKWmluZmZhc3QubzogICQoWkxJQl9ESVIpL2luZmZhc3QuYwoJ JChDQykgLWMgLW8gJEAgJChDQ19TV0lUQ0hFUykgLUkkKFpMSUJfRElSKSAkKFpMSUJfRElSKS9p bmZmYXN0LmMKWmluZmxhdGUubzogICQoWkxJQl9ESVIpL2luZmxhdGUuYwoJJChDQykgLWMgLW8g JEAgJChDQ19TV0lUQ0hFUykgLUkkKFpMSUJfRElSKSAkKFpMSUJfRElSKS9pbmZsYXRlLmMKWmlu ZnRyZWVzLm86ICQoWkxJQl9ESVIpL2luZnRyZWVzLmMKCSQoQ0MpIC1jIC1vICRAICQoQ0NfU1dJ VENIRVMpIC1JJChaTElCX0RJUikgJChaTElCX0RJUikvaW5mdHJlZXMuYwpadHJlZXMubzogICAg JChaTElCX0RJUikvdHJlZXMuYwoJJChDQykgLWMgLW8gJEAgJChDQ19TV0lUQ0hFUykgLUkkKFpM SUJfRElSKSAkKFpMSUJfRElSKS90cmVlcy5jClp1bmNvbXByLm86ICAkKFpMSUJfRElSKS91bmNv bXByLmMKCSQoQ0MpIC1jIC1vICRAICQoQ0NfU1dJVENIRVMpIC1JJChaTElCX0RJUikgJChaTElC X0RJUikvdW5jb21wci5jClp6dXRpbC5vOiAgICAkKFpMSUJfRElSKS96dXRpbC5jCgkkKENDKSAt YyAtbyAkQCAkKENDX1NXSVRDSEVTKSAtSSQoWkxJQl9ESVIpICQoWkxJQl9ESVIpL3p1dGlsLmMK CiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLQojIFN0dWIgbGlicmFyeSBiaW5hcmllcywgdGhlc2UgbXVzdCBi ZSBjb21waWxlZCBmb3IgdXNlIGluIGEgc2hhcmVkIGxpYnJhcnkKIyBldmVuIHRob3VnaCB0aGV5 IHdpbGwgYmUgcGxhY2VkIGluIGEgc3RhdGljIGFyY2hpdmUKIy0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgp0 Y2xTdHViTGliLm86ICQoR0VORVJJQ19ESVIpL3RjbFN0dWJMaWIuYwoJJChDQykgLWMgJChTVFVC X0NDX1NXSVRDSEVTKSAtRFNUQVRJQ19CVUlMRCAkKEdFTkVSSUNfRElSKS90Y2xTdHViTGliLmMK CnRjbFRvbU1hdGhTdHViTGliLm86ICQoR0VORVJJQ19ESVIpL3RjbFRvbU1hdGhTdHViTGliLmMK CSQoQ0MpIC1jICQoU1RVQl9DQ19TV0lUQ0hFUykgJChHRU5FUklDX0RJUikvdGNsVG9tTWF0aFN0 dWJMaWIuYwoKdGNsT09TdHViTGliLm86ICQoR0VORVJJQ19ESVIpL3RjbE9PU3R1YkxpYi5jCgkk KENDKSAtYyAkKFNUVUJfQ0NfU1dJVENIRVMpICQoR0VORVJJQ19ESVIpL3RjbE9PU3R1YkxpYi5j CgouYy5vOgoJJChDQykgLWMgJChDQ19TV0lUQ0hFUykgJDwKCiMtLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoj IEJ1bmRsZWQgUGFja2FnZSB0YXJnZXRzCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKIyBQcm9wYWdhdGUg Y29uZmlndXJlIGFyZ3MgbGlrZSAtLWVuYWJsZS02NGJpdCB0byBwYWNrYWdlIGNvbmZpZ3VyZQpQ S0dfQ0ZHX0FSR1MJCT0gIAojIElmIFBLR19ESVIgaXMgY2hhbmdlZCB0byBhIGRpZmZlcmVudCBy ZWxhdGl2ZSBkZXB0aCB0byB0aGUgYnVpbGQgZGlyLCBuZWVkCiMgdG8gYWRhcHQgdGhlIC4uLy4u IHJlbGF0aXZlIHBhdGhzIGJlbG93IGFuZCBhdCB0aGUgdG9wIG9mIGNvbmZpZ3VyZS5pbiAod2UK IyBjYW5ub3QgdXNlIGFic29sdXRlIHBhdGhzIGR1ZSB0byBpc3N1ZXMgaW4gbmVzdGVkIGNvbmZp Z3VyZSB3aGVuIHBhdGggdG8KIyBidWlsZCBkaXIgY29udGFpbnMgc3BhY2VzKS4KUEtHX0RJUgkJ CT0gLi9wa2dzCgpjb25maWd1cmUtcGFja2FnZXM6CglAZm9yIGkgaW4gJChQS0dTX0RJUikvKjsg ZG8gXAoJICBpZiBbIC1kICQkaSBdOyB0aGVuIFwKCSAgICBpZiBbIC14ICQkaS9jb25maWd1cmUg XTsgdGhlbiBcCgkgICAgICBwa2c9YGJhc2VuYW1lICQkaWA7IFwKCSAgICAgIGVjaG8gIkNvbmZp Z3VyaW5nIHBhY2thZ2UgJyQkcGtnJyI7IFwKCSAgICAgIG1rZGlyIC1wICQoUEtHX0RJUikvJCRw a2c7IFwKCSAgICAgIGlmIFsgISAtZiAkKFBLR19ESVIpLyQkcGtnL01ha2VmaWxlIF07IHRoZW4g XAoJCSggY2QgJChQS0dfRElSKS8kJHBrZzsgXAoJCSAgJCRpL2NvbmZpZ3VyZSAtLXdpdGgtdGNs PS4uLy4uIFwKCQkgICAgICAtLXdpdGgtdGNsaW5jbHVkZT0kKEdFTkVSSUNfRElSKSBcCgkJICAg ICAgJChQS0dfQ0ZHX0FSR1MpIC0tbGliZGlyPSQoUEFDS0FHRV9ESVIpIFwKCQkgICAgICAtLWVu YWJsZS1zaGFyZWQgLS1lbmFibGUtdGhyZWFkczsgKSB8fCBleGl0ICQkPzsgXAoJICAgICAgZmk7 IFwKCSAgICBmaTsgXAoJICBmaTsgXAoJZG9uZQoKcGFja2FnZXM6IGNvbmZpZ3VyZS1wYWNrYWdl cyAke1NUVUJfTElCX0ZJTEV9CglAZm9yIGkgaW4gJChQS0dTX0RJUikvKjsgZG8gXAoJICBpZiBb IC1kICQkaSBdOyB0aGVuIFwKCSAgICBwa2c9YGJhc2VuYW1lICQkaWA7IFwKCSAgICBpZiBbIC1m ICQoUEtHX0RJUikvJCRwa2cvTWFrZWZpbGUgXTsgdGhlbiBcCgkgICAgICBlY2hvICJCdWlsZGlu ZyBwYWNrYWdlICckJHBrZyciOyBcCgkgICAgICAoIGNkICQoUEtHX0RJUikvJCRwa2c7ICQoTUFL RSk7ICkgfHwgZXhpdCAkJD87IFwKCSAgICBmaTsgXAoJICBmaTsgXAoJZG9uZQoKaW5zdGFsbC1w YWNrYWdlczogcGFja2FnZXMKCUBmb3IgaSBpbiAkKFBLR1NfRElSKS8qOyBkbyBcCgkgIGlmIFsg LWQgJCRpIF07IHRoZW4gXAoJICAgIHBrZz1gYmFzZW5hbWUgJCRpYDsgXAoJICAgIGlmIFsgLWYg JChQS0dfRElSKS8kJHBrZy9NYWtlZmlsZSBdOyB0aGVuIFwKCSAgICAgIGVjaG8gIkluc3RhbGxp bmcgcGFja2FnZSAnJCRwa2cnIjsgXAoJICAgICAgKCBjZCAkKFBLR19ESVIpLyQkcGtnOyAkKE1B S0UpIGluc3RhbGwgXAoJCSAgIkRFU1RESVI9JChJTlNUQUxMX1JPT1QpIjsgKSB8fCBleGl0ICQk PzsgXAoJICAgIGZpOyBcCgkgIGZpOyBcCglkb25lCgp0ZXN0LXBhY2thZ2VzOiAke1RDTFRFU1Rf RVhFfSBwYWNrYWdlcwoJQGZvciBpIGluICQoUEtHU19ESVIpLyo7IGRvIFwKCSAgaWYgWyAtZCAk JGkgXTsgdGhlbiBcCgkgICAgcGtnPWBiYXNlbmFtZSAkJGlgOyBcCgkgICAgaWYgWyAtZiAkKFBL R19ESVIpLyQkcGtnL01ha2VmaWxlIF07IHRoZW4gXAoJICAgICAgZWNobyAiVGVzdGluZyBwYWNr YWdlICckJHBrZyciOyBcCgkgICAgICAoIGNkICQoUEtHX0RJUikvJCRwa2c7ICQoTUFLRSkgXAoJ CSAgIkxEX0xJQlJBUllfUEFUSD0uLi8uLjokJHtMRF9MSUJSQVJZX1BBVEh9IiBcCgkJICAiVENM X0xJQlJBUlk9JHtUQ0xfQlVJTERUSU1FX0xJQlJBUll9IiBcCgkJICAiVENMTElCUEFUSD0uLi8u Li9wa2dzIiB0ZXN0IFwKCQkgICJUQ0xTSF9QUk9HPS4uLy4uLyR7VENMVEVTVF9FWEV9IjsgKSBc CgkgICAgZmk7IFwKCSAgZmk7IFwKCWRvbmUKCmNsZWFuLXBhY2thZ2VzOgoJQGZvciBpIGluICQo UEtHU19ESVIpLyo7IGRvIFwKCSAgaWYgWyAtZCAkJGkgXTsgdGhlbiBcCgkgICAgcGtnPWBiYXNl bmFtZSAkJGlgOyBcCgkgICAgaWYgWyAtZiAkKFBLR19ESVIpLyQkcGtnL01ha2VmaWxlIF07IHRo ZW4gXAoJICAgICAgKCBjZCAkKFBLR19ESVIpLyQkcGtnOyAkKE1BS0UpIGNsZWFuOyApIFwKCSAg ICBmaTsgXAoJICBmaTsgXAoJZG9uZQoKZGlzdGNsZWFuLXBhY2thZ2VzOgoJQGZvciBpIGluICQo UEtHU19ESVIpLyo7IGRvIFwKCSAgaWYgWyAtZCAkJGkgXTsgdGhlbiBcCgkgICAgcGtnPWBiYXNl bmFtZSAkJGlgOyBcCgkgICAgaWYgWyAtZiAkKFBLR19ESVIpLyQkcGtnL01ha2VmaWxlIF07IHRo ZW4gXAoJICAgICAgKCBjZCAkKFBLR19ESVIpLyQkcGtnOyAkKE1BS0UpIGRpc3RjbGVhbjsgKSBc CgkgICAgZmk7IFwKCSAgICBybSAtcmYgJChQS0dfRElSKS8kJHBrZzsgXAoJICBmaTsgXAoJZG9u ZTsgXAoJcm0gLXJmICQoUEtHX0RJUikKCmRpc3QtcGFja2FnZXM6IGNvbmZpZ3VyZS1wYWNrYWdl cwoJQHJtIC1yZiAkKERJU1RST09UKS9wa2dzOyBcCglta2RpciAtcCAkKERJU1RST09UKS9wa2dz OyBcCglmb3IgaSBpbiAkKFBLR1NfRElSKS8qOyBkbyBcCgkgIGlmIFsgLWQgJCRpIF07IHRoZW4g XAoJICAgIHBrZz1gYmFzZW5hbWUgJCRpYDsgXAoJICAgIGlmIFsgLWYgJChQS0dfRElSKS8kJHBr Zy9NYWtlZmlsZSBdOyB0aGVuIFwKCSAgICAgICggY2QgJChQS0dfRElSKS8kJHBrZzsgJChNQUtF KSBkaXN0IFwKCQkgICJESVNUX1JPT1Q9JChESVNUUk9PVCkvcGtncyI7ICkgfHwgZXhpdCAkJD87 IFwKCSAgICBmaTsgXAoJICBmaTsgXAoJZG9uZQoKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMgTWFpbnRh aW5lci1vbmx5IHRhcmdldHMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgojIFRoZSBmb2xsb3dpbmcgdGFy Z2V0IGdlbmVyYXRlcyB0aGUgZmlsZSBnZW5lcmljL3RjbERhdGUuYyBmcm9tIHRoZSB5YWNjCiMg Z3JhbW1hciBmb3VuZCBpbiBnZW5lcmljL3RjbEdldERhdGUueS4gVGhpcyBpcyBvbmx5IHJ1biBi eSBoYW5kIGFzIHlhY2MgaXMKIyBub3QgYXZhaWxhYmxlIGluIGFsbCBlbnZpcm9ubWVudHMuIFRo ZSBuYW1lIG9mIHRoZSAuYyBmaWxlIGlzIGRpZmZlcmVudCB0aGFuCiMgdGhlIG5hbWUgb2YgdGhl IC55IGZpbGUgc28gdGhhdCBtYWtlIGRvZXNuJ3QgdHJ5IHRvIGF1dG9tYXRpY2FsbHkgcmVnZW5l cmF0ZQojIHRoZSAuYyBmaWxlLgoKZ2VuZGF0ZToKCWJpc29uIC0tb3V0cHV0LWZpbGU9JChHRU5F UklDX0RJUikvdGNsRGF0ZS5jIFwKCS0tbm8tbGluZXMgXAoJLS1uYW1lLXByZWZpeD1UY2xEYXRl IFwKCSQoR0VORVJJQ19ESVIpL3RjbEdldERhdGUueQoKIwl5YWNjIC1sICQoR0VORVJJQ19ESVIp L3RjbEdldERhdGUueQojCXNlZCAtZSAncy95eS9UY2xEYXRlL2cnIC1lICcvXiNpbmNsdWRlIDx2 YWx1ZXMuaD4vZCcgXAojCSAgICAtZSAncz9TQ0NTSUQ/UkNTOiBAKCMpID8nIFwKIwkgICAgLWUg Jy8jaWZkZWYgX19TVERDX18vLC8jZW5kaWYvZCcgLWUgJy9UY2xEYXRlZXJybGFiOi9kJyBcCiMJ ICAgIC1lICcvVGNsRGF0ZW5ld3N0YXRlOi9kJyAtZSAnLyNwcmFnbWEvZCcgXAojCSAgICAtZSAn LyNpbmNsdWRlIDxpbnR0eXBlcy5oPi9kJyBcCiMgICAgICAgICAgIC1lICcvI2RlZmluZSBZWU5F Vy9zL21hbGxvYy9UY2xEYXRlQWxsb2MvZycgXAojCSAgICAtZSAnLyNkZWZpbmUgWVlFTkxBUkdF LywvcmVhbGxvYy9zL3JlYWxsb2MvVGNsRGF0ZVJlYWxsb2MvZycgXAojCSAgICA8eS50YWIuYyA+ JChHRU5FUklDX0RJUikvdGNsRGF0ZS5jCiMJcm0geS50YWIuYwoKIyBUaGUgZm9sbG93aW5nIHRh cmdldCBnZW5lcmF0ZXMgdGhlIGZpbGUgZ2VuZXJpYy90Y2xUb21NYXRoLmguIEl0IG5lZWRzIHRv IGJlCiMgcnVuIChhbmQgdGhlIHJlc3VsdHMgY2hlY2tlZCkgYWZ0ZXIgdXBkYXRpbmcgdG8gYSBu ZXcgcmVsZWFzZSBvZiBsaWJ0b21tYXRoLgoKZ2VudG9tbWF0aF9oOgoJJChOQVRJVkVfVENMU0gp ICIkKFRPT0xfRElSKS9maXhfdG9tbWF0aF9oLnRjbCIgXAoJCSIkKFRPTU1BVEhfRElSKS90b21t YXRoLmgiIFwKCQk+ICIkKEdFTkVSSUNfRElSKS90Y2xUb21NYXRoLmgiCgojCiMgVGFyZ2V0IHRv IHJlZ2VuZXJhdGUgaGVhZGVyIGZpbGVzIGFuZCBzdHViIGZpbGVzIGZyb20gdGhlICouZGVjbHMg dGFibGVzLgojCgokKEdFTkVSSUNfRElSKS90Y2xTdHViSW5pdC5jOiAkKEdFTkVSSUNfRElSKS90 Y2wuZGVjbHMgXAoJCSQoR0VORVJJQ19ESVIpL3RjbEludC5kZWNscyAkKEdFTkVSSUNfRElSKS90 Y2xUb21NYXRoLmRlY2xzCglAZWNobyAiV2FybmluZzogdGNsU3R1YkluaXQuYyBtYXkgYmUgb3V0 IG9mIGRhdGUuIgoJQGVjaG8gIkRldmVsb3BlcnMgbWF5IHdhbnQgdG8gcnVuIFwibWFrZSBnZW5z dHVic1wiIHRvIHJlZ2VuZXJhdGUuIgoJQGVjaG8gIlRoaXMgd2FybmluZyBjYW4gYmUgc2FmZWx5 IGlnbm9yZWQsIGRvIG5vdCByZXBvcnQgYXMgYSBidWchIgoKJChHRU5FUklDX0RJUikvdGNsT09T dHViSW5pdC5jOiAkKEdFTkVSSUNfRElSKS90Y2xPTy5kZWNscwoJQGVjaG8gIldhcm5pbmc6IHRj bE9PU3R1YkluaXQuYyBtYXkgYmUgb3V0IG9mIGRhdGUuIgoJQGVjaG8gIkRldmVsb3BlcnMgbWF5 IHdhbnQgdG8gcnVuIFwibWFrZSBnZW5zdHVic1wiIHRvIHJlZ2VuZXJhdGUuIgoJQGVjaG8gIlRo aXMgd2FybmluZyBjYW4gYmUgc2FmZWx5IGlnbm9yZWQsIGRvIG5vdCByZXBvcnQgYXMgYSBidWch IgoKZ2Vuc3R1YnM6CgkkKE5BVElWRV9UQ0xTSCkgJChUT09MX0RJUikvZ2VuU3R1YnMudGNsICQo R0VORVJJQ19ESVIpIFwKCQkkKEdFTkVSSUNfRElSKS90Y2wuZGVjbHMgJChHRU5FUklDX0RJUikv dGNsSW50LmRlY2xzIFwKCQkkKEdFTkVSSUNfRElSKS90Y2xUb21NYXRoLmRlY2xzCgkkKE5BVElW RV9UQ0xTSCkgJChUT09MX0RJUikvZ2VuU3R1YnMudGNsICQoR0VORVJJQ19ESVIpIFwKCQkkKEdF TkVSSUNfRElSKS90Y2xPTy5kZWNscwoKIwojIFRhcmdldCB0byBjaGVjayB0aGF0IGFsbCBleHBv cnRlZCBmdW5jdGlvbnMgaGF2ZSBhbiBlbnRyeSBpbiB0aGUgc3R1YnMKIyB0YWJsZXMuCiMKCmNo ZWNrc3R1YnM6ICQoVENMX0xJQl9GSUxFKQoJLUBmb3IgaSBpbiBgbm0gLXAgJChUQ0xfTElCX0ZJ TEUpIFwKCQl8IGF3ayAnJCQyIH4gL15bVERCQ1NdJCQvIHsgc3ViKCJeXyIsICIiLCAkJDMpOyBw cmludCAkJDMgfScgXAoJCXwgc29ydCAtbmA7IGRvIFwKCQltYXRjaD0wOyBcCgkJZm9yIGogaW4g JChUQ0xfREVDTFMpOyBkbyBcCgkJICAgIGlmIFsgYGdyZXAgLWMgIiQkaSAqKCIgJCRqYCAtZ3Qg MCBdOyB0aGVuIFwKCQkJbWF0Y2g9MTsgXAoJCSAgICBmaTsgXAoJCWRvbmU7IFwKCQlpZiBbICQk bWF0Y2ggLWVxIDAgXTsgdGhlbiBlY2hvICQkaTsgZmkgXAoJZG9uZQoKIwojIFRhcmdldCB0byBj aGVjayB0aGF0IGFsbCBwdWJsaWMgQVBJcyB3aGljaCBhcmUgbm90IGNvbW1hbmQgaW1wbGVtZW50 YXRpb25zCiMgaGF2ZSBhbiBlbnRyeSBpbiBzZWN0aW9uIHRocmVlIG9mIHRoZSBkaXN0cmlidXRl ZCBtYW5wYWdlcy4KIwoKY2hlY2tkb2M6ICQoVENMX0xJQl9GSUxFKQoJLUBmb3IgaSBpbiBgbm0g LXAgJChUQ0xfTElCX0ZJTEUpIHwgYXdrICckJDMgfiAvVGNsXy8geyBwcmludCAkJDMgfScgXAoJ CXwgZ3JlcCAtdiAnQ21kJCQnIHwgc29ydCAtbmA7IGRvIFwKCQltYXRjaD0wOyBcCgkJZm9yIGog aW4gJChUT1BfRElSKS9kb2MvKi4zOyBkbyBcCgkJICAgIGlmIFsgYGdyZXAgJ1wtJyAkJGogfCBn cmVwIC1jICQkaWAgLWd0IDAgXTsgdGhlbiBcCgkJCW1hdGNoPTE7IFwKCQkgICAgZmk7IFwKCQlk b25lOyBcCgkJaWYgWyAkJG1hdGNoIC1lcSAwIF07IHRoZW4gZWNobyAkJGk7IGZpIFwKCWRvbmUK CiMKIyBUYXJnZXQgdG8gY2hlY2sgZm9yIHByb3BlciB1c2FnZSBvZiBVQ0hBUiBtYWNyby4KIwoK Y2hlY2t1Y2hhcjoKCS1lZ3JlcCBpc2FsbnVtXHxpc2FscGhhXHxpc2NudHJsXHxpc2RpZ2l0XHxp c2xvd2VyXHxpc3ByaW50XHxpc3B1bmN0XHxpc3NwYWNlXHxpc3VwcGVyXHxpc3hkaWdpdFx8dG91 cHBlclx8dG9sb3dlciAkKFNSQ1MpIHwgZ3JlcCAtdiBVQ0hBUgoKIwojIFRhcmdldCB0byBtYWtl IHN1cmUgdGhhdCBvbmx5IHN5bWJvbHMgd2l0aCAiVGNsIiBwcmVmaXhlcyBhcmUgZXhwb3J0ZWQu CiMKCmNoZWNrZXhwb3J0czogJChUQ0xfTElCX0ZJTEUpCgktQG5tIC1wICQoVENMX0xJQl9GSUxF KSBcCgl8IGF3ayAnJCQyIH4gL15bVERCQ1NdJCQvIHsgc3ViKCJeXyIsICIiLCAkJDMpOyBwcmlu dCAkJDMgfScgXAoJfCBzb3J0IC1uIHwgZ3JlcCAtRSAtdiAnXltUdF1jbCcgfHwgdHJ1ZQoKIy0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tCiMgRGlzdHJpYnV0aW9uIGJ1aWxkaW5nIHJ1bGVzCiMtLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLQoKIwojIFRhcmdldCB0byBjcmVhdGUgYSBUY2wgUlBNIGZvciBMaW51eC4gUmVxdWly ZXMgdGhhdCB5b3UgYmUgb24gYSBMaW51eAojIHN5c3RlbS4KIwoKcnBtOiBhbGwKCXJtIC1mIFRI SVMuVENMLlNQRUMKCWVjaG8gIiVkZWZpbmUgX2J1aWxkZGlyIGBwd2RgIiA+IFRISVMuVENMLlNQ RUMKCWVjaG8gIiVkZWZpbmUgX3JwbWRpciBgcHdkYC9SUE1TIiA+PiBUSElTLlRDTC5TUEVDCglj YXQgdGNsLnNwZWMgPj4gVEhJUy5UQ0wuU1BFQwoJbWtkaXIgLXAgUlBNUy9pMzg2CglycG1idWls ZCAtYmIgVEhJUy5UQ0wuU1BFQwoJbXYgUlBNUy9pMzg2LyoucnBtIC4KCXJtIC1yZiBSUE1TIFRI SVMuVENMLlNQRUMKCiMKIyBUYXJnZXQgdG8gY3JlYXRlIGEgcHJvcGVyIFRjbCBkaXN0cmlidXRp b24gZnJvbSBpbmZvcm1hdGlvbiBpbiB0aGUgbWFzdGVyCiMgc291cmNlIGRpcmVjdG9yeS4gRElT VERJUiBtdXN0IGJlIGRlZmluZWQgdG8gaW5kaWNhdGUgd2hlcmUgdG8gcHV0IHRoZQojIGRpc3Ry aWJ1dGlvbi4gRElTVERJUiBtdXN0IGJlIGFuIGFic29sdXRlIHBhdGggbmFtZS4KIwoKRElTVFJP T1QgPSAvdG1wL2Rpc3QKRElTVE5BTUUgPSB0Y2wke1ZFUlNJT059JHtQQVRDSF9MRVZFTH0KWklQ TkFNRQkgPSB0Y2wke01BSk9SX1ZFUlNJT059JHtNSU5PUl9WRVJTSU9OfSR7UEFUQ0hfTEVWRUx9 LXNyYy56aXAKRElTVERJUgkgPSAkKERJU1RST09UKS8kKERJU1ROQU1FKQokKFVOSVhfRElSKS9j b25maWd1cmU6ICQoVU5JWF9ESVIpL2NvbmZpZ3VyZS5pbiAkKFVOSVhfRElSKS90Y2wubTQgXAoJ CSQoVU5JWF9ESVIpL2FjbG9jYWwubTQKCWNkICQoVU5JWF9ESVIpOyBhdXRvY29uZgokKE1BQ19P U1hfRElSKS9jb25maWd1cmU6ICQoTUFDX09TWF9ESVIpL2NvbmZpZ3VyZS5hYyAkKFVOSVhfRElS KS9jb25maWd1cmUKCWNkICQoTUFDX09TWF9ESVIpOyBhdXRvY29uZgokKFVOSVhfRElSKS90Y2xD b25maWcuaC5pbjogJChNQUNfT1NYX0RJUikvY29uZmlndXJlCgljZCAkKE1BQ19PU1hfRElSKTsg YXV0b2hlYWRlcjsgdG91Y2ggJEAKCmRpc3Q6ICQoVU5JWF9ESVIpL2NvbmZpZ3VyZSAkKFVOSVhf RElSKS90Y2xDb25maWcuaC5pbiAkKFVOSVhfRElSKS90Y2wucGMuaW4gJChNQUNfT1NYX0RJUikv Y29uZmlndXJlIGdlbnN0dWJzIGRpc3QtcGFja2FnZXMgJHtOQVRJVkVfVENMU0h9CglybSAtcmYg JChESVNURElSKQoJbWtkaXIgLXAgJChESVNURElSKS91bml4CgljcCAtcCAkKFVOSVhfRElSKS8q LltjaF0gJChESVNURElSKS91bml4CgljcCAkKFVOSVhfRElSKS9NYWtlZmlsZS5pbiAkKERJU1RE SVIpL3VuaXgKCWNobW9kIDY2NCAkKERJU1RESVIpL3VuaXgvTWFrZWZpbGUuaW4KCWNwICQoVU5J WF9ESVIpL2NvbmZpZ3VyZSAkKFVOSVhfRElSKS9jb25maWd1cmUuaW4gXAoJCSQoVU5JWF9ESVIp L3RjbC5tNCAkKFVOSVhfRElSKS9hY2xvY2FsLm00IFwKCQkkKFVOSVhfRElSKS90Y2xDb25maWcu c2guaW4gJChVTklYX0RJUikvdGNsb29Db25maWcuc2ggXAoJCSQoVU5JWF9ESVIpL2luc3RhbGwt c2ggXAoJCSQoVU5JWF9ESVIpL1JFQURNRSAkKFVOSVhfRElSKS9sZEFpeCAkKFVOSVhfRElSKS90 Y2wuc3BlYyBcCgkJJChVTklYX0RJUikvaW5zdGFsbE1hblBhZ2UgJChVTklYX0RJUikvdGNsQ29u ZmlnLmguaW4gXAoJCSQoVU5JWF9ESVIpL3RjbC5wYy5pbiAkKERJU1RESVIpL3VuaXgKCWNobW9k IDc3NSAkKERJU1RESVIpL3VuaXgvY29uZmlndXJlICQoRElTVERJUikvdW5peC9jb25maWd1cmUu aW4KCWNobW9kIDc3NSAkKERJU1RESVIpL3VuaXgvbGRBaXgKCUBta2RpciAkKERJU1RESVIpL2dl bmVyaWMKCWNwIC1wICQoR0VORVJJQ19ESVIpLyouW2NkaF0gJChESVNURElSKS9nZW5lcmljCglj cCAtcCAkKEdFTkVSSUNfRElSKS8qLmRlY2xzICQoRElTVERJUikvZ2VuZXJpYwoJY3AgLXAgJChH RU5FUklDX0RJUikvUkVBRE1FICQoRElTVERJUikvZ2VuZXJpYwoJY3AgLXAgJChHRU5FUklDX0RJ UikvdGNsR2V0RGF0ZS55ICQoRElTVERJUikvZ2VuZXJpYwoJY3AgLXAgJChUT1BfRElSKS9jaGFu Z2VzICQoVE9QX0RJUikvQ2hhbmdlTG9nICQoVE9QX0RJUikvUkVBRE1FLm1kIFwKCQkkKFRPUF9E SVIpL0NoYW5nZUxvZy5bMTJdPz8/ICQoVE9QX0RJUikvbGljZW5zZS50ZXJtcyBcCgkJJChESVNU RElSKQoJQG1rZGlyICQoRElTVERJUikvbGlicmFyeQoJY3AgLXAgJChUT1BfRElSKS9saWNlbnNl LnRlcm1zICQoVE9QX0RJUikvbGlicmFyeS8qLnRjbCBcCgkJJChUT1BfRElSKS9saWJyYXJ5L3Rj bEluZGV4ICQoRElTVERJUikvbGlicmFyeQoJZm9yIGkgaW4gaHR0cDEuMCBodHRwIG9wdCBtc2dj YXQgcmVnIGRkZSB0Y2x0ZXN0IHBsYXRmb3JtOyBcCgkgICAgZG8gXAoJCW1rZGlyICQoRElTVERJ UikvbGlicmFyeS8kJGkgO1wKCQljcCAtcCAkKFRPUF9ESVIpL2xpYnJhcnkvJCRpLyoudGNsICQo RElTVERJUikvbGlicmFyeS8kJGk7IFwKCSAgICBkb25lOwoJQG1rZGlyICQoRElTVERJUikvbGli cmFyeS9lbmNvZGluZwoJY3AgLXAgJChUT1BfRElSKS9saWJyYXJ5L2VuY29kaW5nLyouZW5jICQo RElTVERJUikvbGlicmFyeS9lbmNvZGluZwoJQG1rZGlyICQoRElTVERJUikvbGlicmFyeS9tc2dz CgljcCAtcCAkKFRPUF9ESVIpL2xpYnJhcnkvbXNncy8qLm1zZyAkKERJU1RESVIpL2xpYnJhcnkv bXNncwoJQGVjaG8gY3AgLXIgJChUT1BfRElSKS9saWJyYXJ5L3R6ZGF0YSAkKERJU1RESVIpL2xp YnJhcnkvdHpkYXRhCglAKCBjZCAkKFRPUF9ESVIpOyBcCgkgIGZpbmQgbGlicmFyeS90emRhdGEg LW5hbWUgQ1ZTIC1wcnVuZSAtbyAtdHlwZSBmIC1wcmludCApIFwKCSAgICB8ICggY2QgJChUT1Bf RElSKSA7IHhhcmdzIHRhciBjZiAtICkgXAoJICAgIHwgKCBjZCAkKERJU1RESVIpIDsgdGFyIHhm cCAtICkKCUBta2RpciAkKERJU1RESVIpL2RvYwoJY3AgLXAgJChUT1BfRElSKS9saWNlbnNlLnRl cm1zICQoVE9QX0RJUikvZG9jLyouWzEzbl0gXAoJCSQoVE9QX0RJUikvZG9jL21hbi5tYWNyb3Mg JChESVNURElSKS9kb2MKCUBta2RpciAkKERJU1RESVIpL2NvbXBhdAoJY3AgLXAgJChUT1BfRElS KS9saWNlbnNlLnRlcm1zICQoQ09NUEFUX0RJUikvKi5bY2hdIFwKCQkkKENPTVBBVF9ESVIpL1JF QURNRSAkKERJU1RESVIpL2NvbXBhdAoJQG1rZGlyICQoRElTVERJUikvY29tcGF0L3psaWIKCSgg Y2QgJChDT01QQVRfRElSKS96bGliOyBcCgkgIGZpbmQgLiAtbmFtZSBDVlMgLXBydW5lIC1vIC10 eXBlIGYgLXByaW50ICkgXAoJICAgIHwgKCBjZCAkKENPTVBBVF9ESVIpL3psaWIgOyB4YXJncyB0 YXIgY2YgLSApIFwKCSAgICB8ICggY2QgJChESVNURElSKS9jb21wYXQvemxpYiA7IHRhciB4ZnAg LSApCglAbWtkaXIgJChESVNURElSKS90ZXN0cwoJY3AgLXAgJChUT1BfRElSKS9saWNlbnNlLnRl cm1zICQoRElTVERJUikvdGVzdHMKCWNwIC1wICQoVE9QX0RJUikvdGVzdHMvKi50ZXN0ICQoVE9Q X0RJUikvdGVzdHMvUkVBRE1FIFwKCQkkKFRPUF9ESVIpL3Rlc3RzL2h0dHBkICQoVE9QX0RJUikv dGVzdHMvKi50Y2wgXAoJCSQoRElTVERJUikvdGVzdHMKCUBta2RpciAkKERJU1RESVIpL3dpbgoJ Y3AgJChUT1BfRElSKS93aW4vTWFrZWZpbGUuaW4gJChESVNURElSKS93aW4KCWNwICQoVE9QX0RJ Uikvd2luL2NvbmZpZ3VyZS5pbiAkKFRPUF9ESVIpL3dpbi9jb25maWd1cmUgXAoJCSQoVE9QX0RJ Uikvd2luL3RjbENvbmZpZy5zaC5pbiAkKFRPUF9ESVIpL3dpbi90Y2xvb0NvbmZpZy5zaCBcCgkJ JChUT1BfRElSKS93aW4vdGNsLm00ICQoVE9QX0RJUikvd2luL2FjbG9jYWwubTQgXAoJCSQoVE9Q X0RJUikvd2luL3RjbHNoLmV4ZS5tYW5pZmVzdC5pbiBcCgkJJChESVNURElSKS93aW4KCWNwIC1w ICQoVE9QX0RJUikvd2luLyouW2NoXSAkKFRPUF9ESVIpL3dpbi8qLmljbyAkKFRPUF9ESVIpL3dp bi8qLnJjIFwKCQkkKERJU1RESVIpL3dpbgoJY3AgLXAgJChUT1BfRElSKS93aW4vKi5iYXQgJChE SVNURElSKS93aW4KCWNwIC1wICQoVE9QX0RJUikvd2luLyoudmMgJChESVNURElSKS93aW4KCWNw IC1wICQoVE9QX0RJUikvd2luL2NvZmZiYXNlLnR4dCAkKERJU1RESVIpL3dpbgoJY3AgLXAgJChU T1BfRElSKS93aW4vdGNsLmhwai5pbiAkKERJU1RESVIpL3dpbgoJY3AgLXAgJChUT1BfRElSKS93 aW4vdGNsLmRzKiAkKERJU1RESVIpL3dpbgoJY3AgLXAgJChUT1BfRElSKS93aW4vUkVBRE1FICQo RElTVERJUikvd2luCgljcCAtcCAkKFRPUF9ESVIpL2xpY2Vuc2UudGVybXMgJChESVNURElSKS93 aW4KCUBta2RpciAkKERJU1RESVIpL21hY29zeAoJY3AgLXAgJChNQUNfT1NYX0RJUikvR05VbWFr ZWZpbGUgJChNQUNfT1NYX0RJUikvUkVBRE1FIFwKCQkkKE1BQ19PU1hfRElSKS8qLmMgJChNQUNf T1NYX0RJUikvKi5pbiBcCgkJJChNQUNfT1NYX0RJUikvKi5hYyAkKE1BQ19PU1hfRElSKS8qLnhj Y29uZmlnIFwKCQkkKE1BQ19PU1hfRElSKS9jb25maWd1cmUgJChESVNURElSKS9tYWNvc3gKCWNw IC1wICQoVE9QX0RJUikvbGljZW5zZS50ZXJtcyAkKERJU1RESVIpL21hY29zeAoJQG1rZGlyICQo RElTVERJUikvbWFjb3N4L1RjbC54Y29kZQoJY3AgLXAgJChNQUNfT1NYX0RJUikvVGNsLnhjb2Rl L3Byb2plY3QucGJ4cHJvaiBcCgkJJChNQUNfT1NYX0RJUikvVGNsLnhjb2RlL2RlZmF1bHQucGJ4 dXNlciBcCgkJJChESVNURElSKS9tYWNvc3gvVGNsLnhjb2RlCglAbWtkaXIgJChESVNURElSKS9t YWNvc3gvVGNsLnhjb2RlcHJvagoJY3AgLXAgJChNQUNfT1NYX0RJUikvVGNsLnhjb2RlcHJvai9w cm9qZWN0LnBieHByb2ogXAoJCSQoTUFDX09TWF9ESVIpL1RjbC54Y29kZXByb2ovZGVmYXVsdC5w Ynh1c2VyIFwKCQkkKERJU1RESVIpL21hY29zeC9UY2wueGNvZGVwcm9qCglAbWtkaXIgJChESVNU RElSKS91bml4L2RsdGVzdAoJY3AgLXAgJChVTklYX0RJUikvZGx0ZXN0LyouYyAkKFVOSVhfRElS KS9kbHRlc3QvTWFrZWZpbGUuaW4gXAoJCSQoVU5JWF9ESVIpL2RsdGVzdC9SRUFETUUgJChESVNU RElSKS91bml4L2RsdGVzdAoJQG1rZGlyICQoRElTVERJUikvdG9vbHMKCWNwIC1wICQoVE9PTF9E SVIpL01ha2VmaWxlLmluICQoVE9PTF9ESVIpL1JFQURNRSBcCgkJJChUT09MX0RJUikvY29uZmln dXJlICQoVE9PTF9ESVIpL2NvbmZpZ3VyZS5pbiBcCgkJJChUT09MX0RJUikvKi50Y2wgJChUT09M X0RJUikvbWFuMnRjbC5jIFwKCQkkKFRPT0xfRElSKS8qLmJtcCAkKFRPT0xfRElSKS90Y2wuaHBq LmluIFwKCQkkKERJU1RESVIpL3Rvb2xzCglAbWtkaXIgJChESVNURElSKS9saWJ0b21tYXRoCglj cCAtcCAkKFRPTU1BVEhfU1JDUykgJChUT01NQVRIX0RJUikvKi5oICQoRElTVERJUikvbGlidG9t bWF0aAoJQG1rZGlyICQoRElTVERJUikvcGtncwoJY3AgJChUT1BfRElSKS9wa2dzL1JFQURNRSAk KERJU1RESVIpL3BrZ3MKCWNwICQoVE9QX0RJUikvcGtncy9wYWNrYWdlLmxpc3QudHh0ICQoRElT VERJUikvcGtncwoJZm9yIGkgaW4gYGxzICQoRElTVFJPT1QpL3BrZ3MvKi50YXIuZ3ogMj4gL2Rl di9udWxsYDsgZG8gXAoJICAgIHRhciAtQyAkKERJU1RESVIpL3BrZ3MgLXh6ZiAiJCRpIjsgXAoJ ZG9uZQoKYWxsZGlzdDogZGlzdAoJcm0gLWYgJChESVNUUk9PVCkvJChESVNUTkFNRSktc3JjLnRh ci5neiAkKERJU1RST09UKS8kKFpJUE5BTUUpCgljZCAkKERJU1RST09UKTsgdGFyIGNmICQoRElT VE5BTUUpLXNyYy50YXIgJChESVNUTkFNRSk7IFwKCQlnemlwIC05ICQoRElTVE5BTUUpLXNyYy50 YXI7IHppcCAtcXI4ICQoWklQTkFNRSkgJChESVNUTkFNRSkKCiMtLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoj IFRoaXMgdGFyZ2V0IGNyZWF0ZXMgdGhlIEhUTUwgZm9sZGVyIGZvciBUY2wgJiBUayBhbmQgcGxh Y2VzIGl0IGluCiMgRElTVERJUi9odG1sLiBJdCB1c2VzIHRoZSB0Y2x0ay1tYW4yaHRtbC50Y2wg dG9vbCBmcm9tIHRoZSBUY2wgZ3JvdXAncyB0b29sCiMgd29ya3NwYWNlLiBJdCBkZXBlbmRzIG9u IHRoZSBUY2wgJiBUayBiZWluZyBpbiBkaXJlY3RvcmllcyBjYWxsZWQgdGNsOC4qICYKIyB0azgu KiB1cCB0d28gZGlyZWN0b3JpZXMgZnJvbSB0aGUgVE9PTF9ESVIuCiMKIyBOb3RlIHRoYXQgZm9y IHBsYXRmb3JtcyB3aGVyZSB0aGlzIGlzIGltcG9ydGFudCwgaXQgaXMgbW9yZSBjb21tb24gdG8g dXNlIGEKIyBidWlsZCBvZiB0aGlzIEhUTUwgZG9jdW1lbnRhdGlvbiB0aGF0IGhhcyBhbHJlYWR5 IGJlZW4gcGxhY2VkIG9ubGluZS4gQXMKIyBzdWNoLCB0aGlzIHJ1bGUgaXMgbm90IGd1YXJhbnRl ZWQgdG8gd29yayB3ZWxsIG9uIGFsbCBzeXN0ZW1zOyBpdCBvbmx5IG5lZWRzCiMgdG8gZnVuY3Rp b24gb24gdGhvc2Ugb2YgdGhlIFRjbC9UayBtYWludGFpbmVycy4KIwojIEFsc28gbm90ZSB0aGF0 IHRoZSA4LjYgdG9vbCBidWlsZCByZXF1aXJlcyBhbiBpbnN0YWxsZWQgOC42IG5hdGl2ZSBUY2wK IyBpbnRlcnByZXRlciBpbiBvcmRlciB0byBiZSBhYmxlIHRvIHJ1bi4KIy0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tCgpodG1sOiAke05BVElWRV9UQ0xTSH0KCSQoQlVJTERfSFRNTCkKCUA6CgpodG1sLXRjbDog JHtOQVRJVkVfVENMU0h9CgkkKEJVSUxEX0hUTUwpIC0tdGNsCglAOgoKaHRtbC10azogJHtOQVRJ VkVfVENMU0h9CgkkKEJVSUxEX0hUTUwpIC0tdGsKCUA6CgojIFlvdSdkIGJldHRlciBoYXZlIHRo ZXNlIHByb2dyYW1zIG9yIHlvdSB3aWxsIGhhdmUgcHJvYmxlbXMgY3JlYXRpbmcgTWFrZWZpbGUK IyBmcm9tIE1ha2VmaWxlLmluIGluIHRoZSBmaXJzdCBwbGFjZS4uLgpIVE1MX1ZFUlNJT04gPSBg YmFzZW5hbWUgJChUT1BfRElSKSB8IHNlZCBzL3RjbC8vYApCVUlMRF9IVE1MID0gXAoJQCR7TkFU SVZFX1RDTFNIfSAkKFRPT0xfRElSKS90Y2x0ay1tYW4yaHRtbC50Y2wgXAoJCS0tdXNldmVyc2lv bj0kKEhUTUxfVkVSU0lPTikgLS1odG1sZGlyPSIkKEhUTUxfSU5TVEFMTF9ESVIpIiBcCgkJLS1z cmNkaXI9JChUT1BfRElSKS8uLiAkKEJVSUxEX0hUTUxfRkxBR1MpCgojLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0KIyBUaGUgbGlzdCBvZiBhbGwgdGhlIHRhcmdldHMgdGhhdCBkbyBub3QgY29ycmVzcG9uZCB0 byByZWFsIGZpbGVzLiBUaGlzIHN0b3BzCiMgJ21ha2UnIGZyb20gZ2V0dGluZyBjb25mdXNlZCB3 aGVuIHNvbWVvbmUgbWFrZXMgYW4gZXJyb3IgaW4gYSBydWxlLgojLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0K Ci5QSE9OWTogYWxsIGJpbmFyaWVzIGxpYnJhcmllcyBvYmpzIGRvYyBodG1sIGh0bWwtdGNsIGh0 bWwtdGsgdGVzdCBydW50ZXN0Ci5QSE9OWTogaW5zdGFsbCBpbnN0YWxsLXN0cmlwIGluc3RhbGwt YmluYXJpZXMgaW5zdGFsbC1saWJyYXJpZXMKLlBIT05ZOiBpbnN0YWxsLWhlYWRlcnMgaW5zdGFs bC1wcml2YXRlLWhlYWRlcnMgaW5zdGFsbC1kb2MKLlBIT05ZOiBjbGVhbiBkaXN0Y2xlYW4gZGVw ZW5kIGdlbnN0dWJzIGNoZWNrc3R1YnMgY2hlY2tleHBvcnRzIGNoZWNrdWNoYXIKLlBIT05ZOiBz aGVsbCBnZGIgdmFsZ3JpbmQgdmFsZ3JpbmRzaGVsbCBkaXN0IGFsbGRpc3QgcnBtCi5QSE9OWTog dGNsTGliT2JqcyB0Y2x0ZXN0LXJlYWwgdGVzdC10Y2wgZ2RiLXRlc3Qgcm8tdGVzdCB0cmFjZS10 ZXN0IHh0dGVzdAouUEhPTlk6IHRvcERpck5hbWUgZ2VuZGF0ZSBnZW50b21tYXRoX2ggdHJhY2Ut c2hlbGwgY2hlY2tkb2MKLlBIT05ZOiBpbnN0YWxsLXR6ZGF0YSBpbnN0YWxsLW1zZ3MKLlBIT05Z OiBwYWNrYWdlcyBjb25maWd1cmUtcGFja2FnZXMgdGVzdC1wYWNrYWdlcyBjbGVhbi1wYWNrYWdl cwouUEhPTlk6IGRpc3QtcGFja2FnZXMgZGlzdGNsZWFuLXBhY2thZ2VzIGluc3RhbGwtcGFja2Fn ZXMKCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojIERPIE5PVCBERUxFVEUgVEhJUyBMSU5FIC0tIG1ha2Ug ZGVwZW5kIGRlcGVuZHMgb24gaXQuCg== --00000000000096989d05a89ebfd2 Content-Type: application/octet-stream; name="file.7" Content-Disposition: attachment; filename="file.7" Content-Transfer-Encoding: base64 Content-ID: X-Attachment-Id: f_kbpkimuu1 Y2MgLWMgLU8gICAgLURCVUlMRF90Y2wgIC1JIi4iIC1JL3Vzci9nbGVuZGEvdGNsOC42LjEwL3Vu aXggLUkvdXNyL2dsZW5kYS90Y2w4LjYuMTAvZ2VuZXJpYyAtSS91c3IvZ2xlbmRhL3RjbDguNi4x MC9saWJ0b21tYXRoICAtRFBBQ0tBR0VfTkFNRT1cInRjbFwiIC1EUEFDS0FHRV9UQVJOQU1FPVwi dGNsXCIgLURQQUNLQUdFX1ZFUlNJT049XCI4LjZcIiAtRFBBQ0tBR0VfU1RSSU5HPVwidGNsXCA4 LjZcIiAtRFBBQ0tBR0VfQlVHUkVQT1JUPVwiXCIgLURTVERDX0hFQURFUlM9MSAtREhBVkVfU1lT X1RZUEVTX0g9MSAtREhBVkVfU1lTX1NUQVRfSD0xIC1ESEFWRV9TVERMSUJfSD0xICAtREhBVkVf U1RSSU5HX0g9MSAtREhBVkVfVU5JU1REX0g9MSAtRE5PX1ZBTFVFU19IPTEgLUROT19ETEZDTl9I PTEgLURIQVZFX1NZU19QQVJBTV9IPTEgIC1EX1JFRU5UUkFOVD0xIC1EVENMX0NGR1ZBTF9FTkNP RElORz1cImlzbzg4NTktMVwiIC1ESEFWRV9aTElCPTEgLURNT0RVTEVfU0NPUEU9ZXh0ZXJuIC1E VENMX1NITElCX0VYVD1cIlwiIC1ETkRFQlVHPTEgLURUQ0xfQ0ZHX09QVElNSVpFRD0xIC1EVENM X1RPTU1BVEg9MSAtRE1QX1BSRUM9NCAtRFRDTF9XSURFX0lOVF9UWVBFPWxvbmdcIGxvbmcgLURI QVZFX0dFVENXRD0xIC1ESEFWRV9PUEVORElSPTEgLURIQVZFX1NUUlRPTD0xIC1ESEFWRV9XQUlU UElEPTEgLUROT19HRVRXRD0xIC1ETk9fUkVBTFBBVEg9MSAtREhBVkVfVEVSTUlPU19IPTEgLURI QVZFX1NZU19JT0NUTF9IPTEgLUROT19GRF9TRVQ9MSAtREhBVkVfU1lTX1RJTUVfSD0xIC1EVElN RV9XSVRIX1NZU19USU1FPTEgLURIQVZFX0dNVElNRV9SPTEgLURIQVZFX0xPQ0FMVElNRV9SPTEg LURIQVZFX01LVElNRT0xIC1ESEFWRV9USU1FWk9ORV9WQVI9MSAtRE5PX0ZTVEFURlM9MSAtRHNv Y2tsZW5fdD1pbnQgLURpbnRwdHJfdD1pbnQgLUR1aW50cHRyX3Q9dW5zaWduZWRcIGludCAtRE5P X1VOSU9OX1dBSVQ9MSAtREhBVkVfU0lHTkVEX0NIQVI9MSAtREhBVkVfUFVURU5WX1RIQVRfQ09Q SUVTPTEgLUROT19JU05BTj0xIC1EX0JTRF9FWFRFTlNJT04gLURIQVZFX1NZU19JT0NUTF9IPTEg LURUQ0xfVU5MT0FEX0RMTFM9MSAgICAgICAtRE1QX0ZJWEVEX0NVVE9GRlMgLURNUF9OT19TVERJ TlQgL3Vzci9nbGVuZGEvdGNsOC42LjEwL2dlbmVyaWMvdGNsSU9Tb2NrLmMKL3Vzci9nbGVuZGEv dGNsOC42LjEwL2dlbmVyaWMvdGNsSU9Tb2NrLmM6MTkxW3N0ZGluOjE4NDM5XSBzdHJ1Y3R1cmUg bm90IGZ1bGx5IGRlY2xhcmVkIGFkZHJpbmZvCi91c3IvZ2xlbmRhL3RjbDguNi4xMC9nZW5lcmlj L3RjbElPU29jay5jOjE5MVtzdGRpbjoxODQzOV0gc3RydWN0dXJlIG5vdCBmdWxseSBkZWNsYXJl ZCBhZGRyaW5mbwovdXNyL2dsZW5kYS90Y2w4LjYuMTAvZ2VuZXJpYy90Y2xJT1NvY2suYzoxOTJb c3RkaW46MTg0NDBdIHN0cnVjdHVyZSBub3QgZnVsbHkgZGVjbGFyZWQgYWRkcmluZm8KL3Vzci9n bGVuZGEvdGNsOC42LjEwL2dlbmVyaWMvdGNsSU9Tb2NrLmM6MjAzW3N0ZGluOjE4NDQ5XSBzdHJ1 Y3R1cmUgbm90IGZ1bGx5IGRlY2xhcmVkIGFkZHJpbmZvCi91c3IvZ2xlbmRhL3RjbDguNi4xMC9n ZW5lcmljL3RjbElPU29jay5jOjIwNVtzdGRpbjoxODQ1MV0gc3RydWN0dXJlIG5vdCBmdWxseSBk ZWNsYXJlZCBhZGRyaW5mbwovdXNyL2dsZW5kYS90Y2w4LjYuMTAvZ2VuZXJpYy90Y2xJT1NvY2su YzoyMTBbc3RkaW46MTg0NTZdIHN0cnVjdHVyZSBub3QgZnVsbHkgZGVjbGFyZWQgYWRkcmluZm8K L3Vzci9nbGVuZGEvdGNsOC42LjEwL2dlbmVyaWMvdGNsSU9Tb2NrLmM6MjMwW3N0ZGluOjE4NDY4 XSBzdHJ1Y3R1cmUgbm90IGZ1bGx5IGRlY2xhcmVkIGFkZHJpbmZvCi91c3IvZ2xlbmRhL3RjbDgu Ni4xMC9nZW5lcmljL3RjbElPU29jay5jOjIzMFtzdGRpbjoxODQ2OF0gbmFtZSBub3QgZGVjbGFy ZWQ6IEFJX1BBU1NJVkUKL3Vzci9nbGVuZGEvdGNsOC42LjEwL2dlbmVyaWMvdGNsSU9Tb2NrLmM6 MjMzW3N0ZGluOjE4NDcxXSBzdHJ1Y3R1cmUgbm90IGZ1bGx5IGRlY2xhcmVkIGFkZHJpbmZvCi91 c3IvZ2xlbmRhL3RjbDguNi4xMC9nZW5lcmljL3RjbElPU29jay5jOjI0MFtzdGRpbjoxODQ3OF0g aW5jb21wYXRpYmxlIHR5cGVzOiAiSU5EIENPTlNUIENIQVIiIGFuZCAiSU5UIiBmb3Igb3AgIkFT IgovdXNyL2dsZW5kYS90Y2w4LjYuMTAvZ2VuZXJpYy90Y2xJT1NvY2suYzoyNTVbc3RkaW46MTg0 ODldIHN0cnVjdHVyZSBub3QgZnVsbHkgZGVjbGFyZWQgYWRkcmluZm8KdG9vIG1hbnkgZXJyb3Jz CioqKiBFcnJvciBjb2RlIDEKY2MgLWMgLU8gICAgLURCVUlMRF90Y2wgIC1JIi4iIC1JL3Vzci9n bGVuZGEvdGNsOC42LjEwL3VuaXggLUkvdXNyL2dsZW5kYS90Y2w4LjYuMTAvZ2VuZXJpYyAtSS91 c3IvZ2xlbmRhL3RjbDguNi4xMC9saWJ0b21tYXRoICAtRFBBQ0tBR0VfTkFNRT1cInRjbFwiIC1E UEFDS0FHRV9UQVJOQU1FPVwidGNsXCIgLURQQUNLQUdFX1ZFUlNJT049XCI4LjZcIiAtRFBBQ0tB R0VfU1RSSU5HPVwidGNsXCA4LjZcIiAtRFBBQ0tBR0VfQlVHUkVQT1JUPVwiXCIgLURTVERDX0hF QURFUlM9MSAtREhBVkVfU1lTX1RZUEVTX0g9MSAtREhBVkVfU1lTX1NUQVRfSD0xIC1ESEFWRV9T VERMSUJfSD0xICAtREhBVkVfU1RSSU5HX0g9MSAtREhBVkVfVU5JU1REX0g9MSAtRE5PX1ZBTFVF U19IPTEgLUROT19ETEZDTl9IPTEgLURIQVZFX1NZU19QQVJBTV9IPTEgIC1EX1JFRU5UUkFOVD0x IC1EVENMX0NGR1ZBTF9FTkNPRElORz1cImlzbzg4NTktMVwiIC1ESEFWRV9aTElCPTEgLURNT0RV TEVfU0NPUEU9ZXh0ZXJuIC1EVENMX1NITElCX0VYVD1cIlwiIC1ETkRFQlVHPTEgLURUQ0xfQ0ZH X09QVElNSVpFRD0xIC1EVENMX1RPTU1BVEg9MSAtRE1QX1BSRUM9NCAtRFRDTF9XSURFX0lOVF9U WVBFPWxvbmdcIGxvbmcgLURIQVZFX0dFVENXRD0xIC1ESEFWRV9PUEVORElSPTEgLURIQVZFX1NU UlRPTD0xIC1ESEFWRV9XQUlUUElEPTEgLUROT19HRVRXRD0xIC1ETk9fUkVBTFBBVEg9MSAtREhB VkVfVEVSTUlPU19IPTEgLURIQVZFX1NZU19JT0NUTF9IPTEgLUROT19GRF9TRVQ9MSAtREhBVkVf U1lTX1RJTUVfSD0xIC1EVElNRV9XSVRIX1NZU19USU1FPTEgLURIQVZFX0dNVElNRV9SPTEgLURI QVZFX0xPQ0FMVElNRV9SPTEgLURIQVZFX01LVElNRT0xIC1ESEFWRV9USU1FWk9ORV9WQVI9MSAt RE5PX0ZTVEFURlM9MSAtRHNvY2tsZW5fdD1pbnQgLURpbnRwdHJfdD1pbnQgLUR1aW50cHRyX3Q9 dW5zaWduZWRcIGludCAtRE5PX1VOSU9OX1dBSVQ9MSAtREhBVkVfU0lHTkVEX0NIQVI9MSAtREhB VkVfUFVURU5WX1RIQVRfQ09QSUVTPTEgLUROT19JU05BTj0xIC1EX0JTRF9FWFRFTlNJT04gLURI QVZFX1NZU19JT0NUTF9IPTEgLURUQ0xfVU5MT0FEX0RMTFM9MSAgICAgICAtRE1QX0ZJWEVEX0NV VE9GRlMgLURNUF9OT19TVERJTlQgL3Vzci9nbGVuZGEvdGNsOC42LjEwL3VuaXgvdGNsVW5peFNv Y2suYwovdXNyL2dsZW5kYS90Y2w4LjYuMTAvdW5peC90Y2xVbml4U29jay5jOjM5W3N0ZGluOjE4 MzI4XSBpbmNvbXBsZXRlIHVuaW9uIGVsZW1lbnQ6IHNhNgovdXNyL2dsZW5kYS90Y2w4LjYuMTAv dW5peC90Y2xVbml4U29jay5jOjM5W3N0ZGluOjE4MzI4XSBpbmNvbXBsZXRlIHVuaW9uIGVsZW1l bnQ6IHNhcwovdXNyL2dsZW5kYS90Y2w4LjYuMTAvdW5peC90Y2xVbml4U29jay5jOjUxOVtzdGRp bjoxODY1N10gbmFtZSBub3QgZGVjbGFyZWQ6IEVDT05OUkVTRVQKL3Vzci9nbGVuZGEvdGNsOC42 LjEwL3VuaXgvdGNsVW5peFNvY2suYzo2NzBbc3RkaW46MTg3NTRdIG5hbWUgbm90IGRlY2xhcmVk OiBTSFVUX1JECi91c3IvZ2xlbmRhL3RjbDguNi4xMC91bml4L3RjbFVuaXhTb2NrLmM6NjczW3N0 ZGluOjE4NzU3XSBuYW1lIG5vdCBkZWNsYXJlZDogU0hVVF9XUgovdXNyL2dsZW5kYS90Y2w4LjYu MTAvdW5peC90Y2xVbml4U29jay5jOjcxNVtzdGRpbjoxODc4NF0gaW5jb21wbGV0ZSBzdHJ1Y3R1 cmU6IGluNl9hZGRyCi91c3IvZ2xlbmRhL3RjbDguNi4xMC91bml4L3RjbFVuaXhTb2NrLmM6NzE1 W3N0ZGluOjE4Nzg0XSBpbmNvbXBsZXRlIHN0cnVjdHVyZTogaW42X2FkZHIKL3Vzci9nbGVuZGEv dGNsOC42LjEwL3VuaXgvdGNsVW5peFNvY2suYzo3MTZbc3RkaW46MTg3ODVdIHN0cnVjdHVyZSBu b3QgZnVsbHkgZGVjbGFyZWQgaW42X2FkZHIKL3Vzci9nbGVuZGEvdGNsOC42LjEwL3VuaXgvdGNs VW5peFNvY2suYzo3MTZbc3RkaW46MTg3ODVdIG5hbWUgbm90IGRlY2xhcmVkOiBpbjZhZGRyX2Fu eQovdXNyL2dsZW5kYS90Y2w4LjYuMTAvdW5peC90Y2xVbml4U29jay5jOjcyNVtzdGRpbjoxODc5 Ml0gc3RydWN0dXJlIG5vdCBmdWxseSBkZWNsYXJlZCBpbjZfYWRkcgovdXNyL2dsZW5kYS90Y2w4 LjYuMTAvdW5peC90Y2xVbml4U29jay5jOjcyOVtzdGRpbjoxODc5Nl0gc3RydWN0dXJlIG5vdCBm dWxseSBkZWNsYXJlZCBpbjZfYWRkcgp0b28gbWFueSBlcnJvcnMKKioqIEVycm9yIGNvZGUgMQpD b25maWd1cmluZyBwYWNrYWdlICdpdGNsNC4yLjAnCmxuOiBjb25mMjc5OTcuZGlyIGRlc3RpbmF0 aW9uIGV4aXN0cwoqKiogRXJyb3IgY29kZSAxCmBhbGwnIG5vdCByZW1hZGUgYmVjYXVzZSBvZiBl cnJvcnMK --00000000000096989d05a89ebfd2--