I am using this commit. (This is probably no longer the head) *** AnonymousUser@ANONYMOUST MINGW64 /w/R-3.5._/postgres (REL_11_STABLE) $ git log commit bd47c4a9d4ec55e26e841754ce62c23ca9008e87 (HEAD -> REL_11_STABLE, ori= gin/REL_11_STABLE) Author: Alvaro Herrera Date: Mon Sep 3 12:58:42 2018 -0300 *** Thanks, Andre Mikulec Andre_Mikulec@Hotmail.com [https://ipmcdn.avast.com/images/icons/icon-envelope-tick-green-avg-v1.png]= Virus-free. www.avg.com --_000_BYAPR15MB22160A7A3E99229734CB97BA9C020BYAPR15MB2216namp_ Content-Type: text/html; charset="iso-8859-1" Content-Transfer-Encoding: quoted-printable

Hi,

When trying compile PostgreSQL REL_11_STABLE using x86_64-w64-mingw32 = using

/w/R-3.5._/postgres/configure --host=3Dx86_64-= w64-mingw32 --prefix=3D$PWD/build CFLAGS=3D"-O -fno-omit-frame-pointer= " --disable-rpath --enable-depend --enable-cassert --enable-debug  --with-icu ICU_CFLAGS=3D"-I/w/icu-61.1/icu4c/dis= t/include" ICU_LIBS=3D"-L/w/icu-61.1/icu4c/dist/lib -licui18n -li= cuuc -licudata" --with-openssl --with-libxml --with-libxslt --with-tcl= --with-python --with-perl --with-includes=3D/w/zlib-1.2.8-win32-x86_64/inc= lude:/w/openssl-1.0.2e-win32-x86_64/include:/w/libxml2-2.9.3-win32-x86_64/i= nclude/libxml2:/w/libxslt-1.1.28-win32-x86_64/include --with-libraries=3D/w/zlib-1.2.8-win32-x86_64/lib:/w/openssl-1.0.2e-win32-= x86_64/lib:/w/libxml2-2.9.3-win32-x86_64/lib:/w/libxslt-1.1.28-win32-x86_64= /lib

I am getting this error:

"
W:/R-3.5._/postgres/src/backend/commands/statscmds.c: In function 'Upd= ateStatisticsForTypeChange':
W:/R-3.5._/postgres/src/backend/commands/statscmds.c:435:1: internal c= ompiler error: in based_loc_descr, at dwarf2out.c:14272
 }
 ^
"

Note: I can build without any errors using just

/w/R-3.5._/postgres/configure --host=3Dx86_64-w64-mingw32 --prefix=3D$= PWD/build --disable-rpath --enable-depend --enable-debug

I examined "W:/R-3.5._/postgres/src/backend/commands/statscmds.c&= quot; at line 41.
The only thing I can think of is that maybe the code should include a = "return void;"?

The following is my method and results.

AnonymousUser@ANONYMOUST MINGW64 /w/R-3.5._/postgres/build
/w/R-3.5._/postgres/configure --host=3Dx86_64-w64-mingw32 --prefix=3D$= PWD/build CFLAGS=3D"-O -fno-omit-frame-pointer" --disable-rpath -= -enable-depend --enable-cassert --enable-debug  --with-icu ICU_CFLAGS= =3D"-I/w/icu-61.1/icu4c/dist/include" ICU_LIBS=3D"-L/w/icu-6= 1.1/icu4c/dist/lib -licui18n -licuuc -licudata" --with-openssl --with-libxml --with-libx= slt --with-tcl --with-python --with-perl --with-includes=3D/w/zlib-1.2.8-wi= n32-x86_64/include:/w/openssl-1.0.2e-win32-x86_64/include:/w/libxml2-2.9.3-= win32-x86_64/include/libxml2:/w/libxslt-1.1.28-win32-x86_64/include --with-libraries=3D/w/zlib-1.2.8-win32-x86_64/lib:/w/openssl-1.0.2e-win32-= x86_64/lib:/w/libxml2-2.9.3-win32-x86_64/lib:/w/libxslt-1.1.28-win32-x86_64= /lib

AnonymousUser@ANONYMOUST MINGW64 /w/R-3.5._/postgres/build
make --debug

   File 'statscmds.o' does not exist.
  Must remake target 'statscmds.o'.
x86_64-w64-mingw32-gcc -Wall -Wmissing-prototypes -Wpointer-arith -Wde= claration-after-statement -Wendif-labels -Wmissing-format-attribute -Wforma= t-security -fno-strict-aliasing -fwrapv -fexcess-precision=3Dstandard -Wno-= format-truncation -Wno-stringop-truncation -g -O -fno-omit-frame-pointer -I../../../src/include -I/w/R-3.5._/postgres= /src/include -I/w/icu-61.1/icu4c/dist/include -I/w/R-3.5._/postgres/src/inc= lude/port/win32 -DEXEC_BACKEND  -I/w/zlib-1.2.8-win32-x86_64/include -= I/w/openssl-1.0.2e-win32-x86_64/include -I/w/libxml2-2.9.3-win32-x86_64/include/libxml2 -I/w/libxslt-1.1.28-win32-= x86_64/include "-I/w/R-3.5._/postgres/src/include/port/win32" -DB= UILDING_DLL  -c -o statscmds.o /w/R-3.5._/postgres/src/backend/command= s/statscmds.c -MMD -MP -MF .deps/statscmds.Po
during RTL pass: final
W:/R-3.5._/postgres/src/backend/commands/statscmds.c: In function 'Upd= ateStatisticsForTypeChange':
W:/R-3.5._/postgres/src/backend/commands/statscmds.c:435:1: internal c= ompiler error: in based_loc_descr, at dwarf2out.c:14272
 }
 ^
libbacktrace could not find executable to open
Please submit a full bug report,
with preprocessed source if appropriate.
See <https://sourceforge.net/projects/msys2> for instructions.
make[3]: *** [../../../src/Makefile.global:878: statscmds.o] Error 1
make[3]: Leaving directory '/w/R-3.5._/postgres/build/src/backend/comm= ands'
make[2]: *** [/w/R-3.5._/postgres/src/backend/common.mk:39: commands-r= ecursive] Error 2
make[2]: Leaving directory '/w/R-3.5._/postgres/build/src/backend'
make[1]: *** [Makefile:42: all-backend-recurse] Error 2
make[1]: Leaving directory '/w/R-3.5._/postgres/build/src'
make: *** [GNUmakefile:11: all-src-recurse] Error 2

I tried manually. . . .

AnonymousUser@ANONYMOUST MINGW64 /w/R-3.5._/postgres/build
$ make -C src/backend/commands
retuns the same

I examined.
AnonymousUser@ANONYMOUST MINGW64 /w/R-3.5._/postgres/build
$ view /w/R-3.5._/postgres/src/backend/commands/statscmds.c

Attached are my config.log and config.status.

From the postgresql mirror https://github.com/postgres/postgres
I am using this commit.
(This is probably no longer the head)
***
AnonymousUser@ANONYMOUST MINGW64 /w/R-3.5._/postgres (REL_11_STABLE)
$ git log
commit bd47c4a9d4ec55e26e841754ce62c23ca9008e87 (HEAD -> REL_11_STA= BLE, origin/REL_11_STABLE)
Author: Alvaro Herrera <alvherre@alvh.no-ip.org>
Date:   Mon Sep 3 12:58:42 2018 -0300
***

Thanks,
Andre Mikulec
Andre_Mikulec@Hotmail.com


3D"" Virus-free. www.avg.com
=
--_000_BYAPR15MB22160A7A3E99229734CB97BA9C020BYAPR15MB2216namp_-- --_005_BYAPR15MB22160A7A3E99229734CB97BA9C020BYAPR15MB2216namp_ Content-Type: application/octet-stream; name="config.log" Content-Description: config.log Content-Disposition: attachment; filename="config.log"; size=1093704; creation-date="Wed, 05 Sep 2018 15:20:01 GMT"; modification-date="Wed, 05 Sep 2018 15:20:01 GMT" Content-Transfer-Encoding: base64 VGhpcyBmaWxlIGNvbnRhaW5zIGFueSBtZXNzYWdlcyBwcm9kdWNlZCBieSBjb21waWxlcnMgd2hp bGUKcnVubmluZyBjb25maWd1cmUsIHRvIGFpZCBkZWJ1Z2dpbmcgaWYgY29uZmlndXJlIG1ha2Vz IGEgbWlzdGFrZS4KCkl0IHdhcyBjcmVhdGVkIGJ5IFBvc3RncmVTUUwgY29uZmlndXJlIDExYmV0 YTMsIHdoaWNoIHdhcwpnZW5lcmF0ZWQgYnkgR05VIEF1dG9jb25mIDIuNjkuICBJbnZvY2F0aW9u IGNvbW1hbmQgbGluZSB3YXMKCiAgJCAvdy9SLTMuNS5fL3Bvc3RncmVzL2NvbmZpZ3VyZSAtLWhv c3Q9eDg2XzY0LXc2NC1taW5ndzMyIC0tcHJlZml4PS93L1ItMy41Ll8vcG9zdGdyZXMvYnVpbGQv YnVpbGQgQ0ZMQUdTPS1PIC1mbm8tb21pdC1mcmFtZS1wb2ludGVyIC0tZGlzYWJsZS1ycGF0aCAt LWVuYWJsZS1kZXBlbmQgLS1lbmFibGUtY2Fzc2VydCAtLWVuYWJsZS1kZWJ1ZyAtLXdpdGgtaWN1 IElDVV9DRkxBR1M9LUkvdy9pY3UtNjEuMS9pY3U0Yy9kaXN0L2luY2x1ZGUgSUNVX0xJQlM9LUwv dy9pY3UtNjEuMS9pY3U0Yy9kaXN0L2xpYiAtbGljdWkxOG4gLWxpY3V1YyAtbGljdWRhdGEgLS13 aXRoLW9wZW5zc2wgLS13aXRoLWxpYnhtbCAtLXdpdGgtbGlieHNsdCAtLXdpdGgtdGNsIC0td2l0 aC1weXRob24gLS13aXRoLXBlcmwgLS13aXRoLWluY2x1ZGVzPS93L3psaWItMS4yLjgtd2luMzIt eDg2XzY0L2luY2x1ZGU6L3cvb3BlbnNzbC0xLjAuMmUtd2luMzIteDg2XzY0L2luY2x1ZGU6L3cv bGlieG1sMi0yLjkuMy13aW4zMi14ODZfNjQvaW5jbHVkZS9saWJ4bWwyOi93L2xpYnhzbHQtMS4x LjI4LXdpbjMyLXg4Nl82NC9pbmNsdWRlIC0td2l0aC1saWJyYXJpZXM9L3cvemxpYi0xLjIuOC13 aW4zMi14ODZfNjQvbGliOi93L29wZW5zc2wtMS4wLjJlLXdpbjMyLXg4Nl82NC9saWI6L3cvbGli eG1sMi0yLjkuMy13aW4zMi14ODZfNjQvbGliOi93L2xpYnhzbHQtMS4xLjI4LXdpbjMyLXg4Nl82 NC9saWIKCiMjIC0tLS0tLS0tLSAjIwojIyBQbGF0Zm9ybS4gIyMKIyMgLS0tLS0tLS0tICMjCgpo b3N0bmFtZSA9IEFOT05ZTU9VU1QKdW5hbWUgLW0gPSB4ODZfNjQKdW5hbWUgLXIgPSAyLjEwLjAo MC4zMjUvNS8zKQp1bmFtZSAtcyA9IE1JTkdXNjRfTlQtMTAuMAp1bmFtZSAtdiA9IDIwMTgtMDIt MDkgMTU6MjUKCi91c3IvYmluL3VuYW1lIC1wID0gdW5rbm93bgovYmluL3VuYW1lIC1YICAgICA9 IHVua25vd24KCi9iaW4vYXJjaCAgICAgICAgICAgICAgPSB4ODZfNjQKL3Vzci9iaW4vYXJjaCAt ayAgICAgICA9IHVua25vd24KL3Vzci9jb252ZXgvZ2V0c3lzaW5mbyA9IHVua25vd24KL3Vzci9i aW4vaG9zdGluZm8gICAgICA9IHVua25vd24KL2Jpbi9tYWNoaW5lICAgICAgICAgICA9IHVua25v d24KL3Vzci9iaW4vb3NsZXZlbCAgICAgICA9IHVua25vd24KL2Jpbi91bml2ZXJzZSAgICAgICAg ICA9IHVua25vd24KClBBVEg6IC9jL0FjdGl2ZVRjbC9iaW4KUEFUSDogL2MvQWN0aXZlVGNsL2xp YgpQQVRIOiAvYy9TdHJhd2JlcnJ5L3BlcmwvYmluClBBVEg6IC9jL1Byb2dyYW1EYXRhL0FuYWNv bmRhMwpQQVRIOiAvbWluZ3c2NC9iaW4KUEFUSDogL3Vzci9sb2NhbC9iaW4KUEFUSDogL3Vzci9i aW4KUEFUSDogL2JpbgpQQVRIOiAvYy9XaW5kb3dzL1N5c3RlbTMyClBBVEg6IC9jL1dpbmRvd3MK UEFUSDogL2MvV2luZG93cy9TeXN0ZW0zMi9XYmVtClBBVEg6IC9jL1dpbmRvd3MvU3lzdGVtMzIv V2luZG93c1Bvd2VyU2hlbGwvdjEuMC8KUEFUSDogL3Vzci9iaW4vc2l0ZV9wZXJsClBBVEg6IC91 c3IvYmluL3ZlbmRvcl9wZXJsClBBVEg6IC91c3IvYmluL2NvcmVfcGVybAoKCiMjIC0tLS0tLS0t LS0tICMjCiMjIENvcmUgdGVzdHMuICMjCiMjIC0tLS0tLS0tLS0tICMjCgpjb25maWd1cmU6MjY2 MjogbG9hZGluZyBzaXRlIHNjcmlwdCAvbWluZ3c2NC9ldGMvY29uZmlnLnNpdGUKfCAjIFRoaXMg ZmlsZSBpcyBpbiBwdWJsaWMgZG9tYWluLgp8ICMgT3JpZ2luYWwgYXV0aG9yOiBLYXJsc29uMmsg KEV2Z2VueSBHcmluKQp8ICMgV3JpdHRlbiBmb3IgTVN5czIvTWluR1c2NCB0byBoZWxwIHJ1bm5p bmcgJ2NvbmZpZ3VyZScgc2NyaXB0cwp8IAp8ICMgRGVmYXVsdHMgZm9yIE1pbkdXNjQtdGFyZ2V0 ZWQgcHJvZ3JhbXMKfCAKfCAjIFNldCBwcm9wZXIgc2VsZm5hbWUgb24gYmFzaCBhbmQgZmFsbGJh Y2sgdG8gZGVmYXVsdCBuYW1lIG9uIG90aGVyIHNoZWxscwp8IHRlc3QgLW4gIiR7QkFTSF9TT1VS Q0V9IiAyPi9kZXYvbnVsbCAmJiBjb25maWdfc2l0ZV9tZT0iJHtCQVNIX1NPVVJDRVswXSMjKi99 IiB8fCBjb25maWdfc2l0ZV9tZT1jb25maWcuc2l0ZQp8IAp8ICMgU2V0IGRlZmF1bHQgJ2hvc3Qn IHRvIHNwZWVkdXAgY29uZmlndXJlCnwgaWYgdGVzdCAteiAiJGJ1aWxkX2FsaWFzIjsgdGhlbgp8 ICAgYnVpbGRfYWxpYXM9IiR7TVNZU1RFTV9DSE9TVC14ODZfNjQtdzY0LW1pbmd3MzJ9IiAmJiBc CnwgICAgICRhc19lY2hvICIkY29uZmlnX3NpdGVfbWU6JHthc19saW5lbm8tJExJTkVOT306IGRl ZmF1bHQgYnVpbGRfYWxpYXMgc2V0IHRvICRidWlsZF9hbGlhcyIgPiY1IAp8IGZpCnwgCnwgIyBT ZXQgZGVmYXVsdCAncHJlZml4JyB0byAiL21pbmd3NjQiCnwgaWYgKCB0ZXN0IC16ICIkcHJlZml4 IiB8fCB0ZXN0ICJ4JHByZWZpeCIgPSAieE5PTkUiICkgJiYgXAp8ICAgICggdGVzdCAteiAiJGV4 ZWNfcHJlZml4IiB8fCB0ZXN0ICJ4JGV4ZWNfcHJlZml4IiA9ICJ4Tk9ORSIgKTsgdGhlbgp8ICAg cHJlZml4PSIke01TWVNURU1fUFJFRklYLS9taW5ndzY0fSIgJiYgXAp8ICAgICAkYXNfZWNobyAi JGNvbmZpZ19zaXRlX21lOiR7YXNfbGluZW5vLSRMSU5FTk99OiBkZWZhdWx0IHByZWZpeCBzZXQg dG8gJHByZWZpeCIgPiY1CnwgZmkKY29uZmlnLnNpdGU6MTM6IGRlZmF1bHQgYnVpbGRfYWxpYXMg c2V0IHRvIHg4Nl82NC13NjQtbWluZ3czMgpjb25maWd1cmU6MjgzNjogY2hlY2tpbmcgYnVpbGQg c3lzdGVtIHR5cGUKY29uZmlndXJlOjI4NTA6IHJlc3VsdDogeDg2XzY0LXc2NC1taW5ndzMyCmNv bmZpZ3VyZToyODcwOiBjaGVja2luZyBob3N0IHN5c3RlbSB0eXBlCmNvbmZpZ3VyZToyODgzOiBy ZXN1bHQ6IHg4Nl82NC13NjQtbWluZ3czMgpjb25maWd1cmU6MjkwNTogY2hlY2tpbmcgd2hpY2gg dGVtcGxhdGUgdG8gdXNlCmNvbmZpZ3VyZToyOTczOiByZXN1bHQ6IHdpbjMyCmNvbmZpZ3VyZToz MDk4OiBjaGVja2luZyB3aGV0aGVyIE5MUyBpcyB3YW50ZWQKY29uZmlndXJlOjMxMzA6IHJlc3Vs dDogbm8KY29uZmlndXJlOjMxMzg6IGNoZWNraW5nIGZvciBkZWZhdWx0IHBvcnQgbnVtYmVyCmNv bmZpZ3VyZTozMTYzOiByZXN1bHQ6IDU0MzIKY29uZmlndXJlOjM2Njg6IGNoZWNraW5nIGZvciBi bG9jayBzaXplCmNvbmZpZ3VyZTozNzAyOiByZXN1bHQ6IDhrQgpjb25maWd1cmU6MzcxNDogY2hl Y2tpbmcgZm9yIHNlZ21lbnQgc2l6ZQpjb25maWd1cmU6Mzc0MzogcmVzdWx0OiAxR0IKY29uZmln dXJlOjM3NTU6IGNoZWNraW5nIGZvciBXQUwgYmxvY2sgc2l6ZQpjb25maWd1cmU6Mzc5MDogcmVz dWx0OiA4a0IKY29uZmlndXJlOjM4NDM6IGNoZWNraW5nIGZvciB4ODZfNjQtdzY0LW1pbmd3MzIt Z2NjCmNvbmZpZ3VyZTozODU5OiBmb3VuZCAvbWluZ3c2NC9iaW4veDg2XzY0LXc2NC1taW5ndzMy LWdjYwpjb25maWd1cmU6Mzg3MDogcmVzdWx0OiB4ODZfNjQtdzY0LW1pbmd3MzItZ2NjCmNvbmZp Z3VyZTozOTQ1OiBjaGVja2luZyBmb3IgQyBjb21waWxlciB2ZXJzaW9uCmNvbmZpZ3VyZTozOTU0 OiB4ODZfNjQtdzY0LW1pbmd3MzItZ2NjIC0tdmVyc2lvbiA+JjUKeDg2XzY0LXc2NC1taW5ndzMy LWdjYy5leGUgKFJldjEsIEJ1aWx0IGJ5IE1TWVMyIHByb2plY3QpIDguMi4wDQpDb3B5cmlnaHQg KEMpIDIwMTggRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuDQpUaGlzIGlzIGZyZWUgc29m dHdhcmU7IHNlZSB0aGUgc291cmNlIGZvciBjb3B5aW5nIGNvbmRpdGlvbnMuICBUaGVyZSBpcyBO Tw0Kd2FycmFudHk7IG5vdCBldmVuIGZvciBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1Ig QSBQQVJUSUNVTEFSIFBVUlBPU0UuDQoNCmNvbmZpZ3VyZTozOTY1OiAkPyA9IDAKY29uZmlndXJl OjM5NTQ6IHg4Nl82NC13NjQtbWluZ3czMi1nY2MgLXYgPiY1ClVzaW5nIGJ1aWx0LWluIHNwZWNz LgpDT0xMRUNUX0dDQz1DOlxtc3lzNjRcbWluZ3c2NFxiaW5ceDg2XzY0LXc2NC1taW5ndzMyLWdj Yy5leGUKQ09MTEVDVF9MVE9fV1JBUFBFUj1DOi9tc3lzNjQvbWluZ3c2NC9iaW4vLi4vbGliL2dj Yy94ODZfNjQtdzY0LW1pbmd3MzIvOC4yLjAvbHRvLXdyYXBwZXIuZXhlClRhcmdldDogeDg2XzY0 LXc2NC1taW5ndzMyCkNvbmZpZ3VyZWQgd2l0aDogLi4vZ2NjLTguMi4wL2NvbmZpZ3VyZSAtLXBy ZWZpeD0vbWluZ3c2NCAtLXdpdGgtbG9jYWwtcHJlZml4PS9taW5ndzY0L2xvY2FsIC0tYnVpbGQ9 eDg2XzY0LXc2NC1taW5ndzMyIC0taG9zdD14ODZfNjQtdzY0LW1pbmd3MzIgLS10YXJnZXQ9eDg2 XzY0LXc2NC1taW5ndzMyIC0td2l0aC1uYXRpdmUtc3lzdGVtLWhlYWRlci1kaXI9L21pbmd3NjQv eDg2XzY0LXc2NC1taW5ndzMyL2luY2x1ZGUgLS1saWJleGVjZGlyPS9taW5ndzY0L2xpYiAtLWVu YWJsZS1ib290c3RyYXAgLS13aXRoLWFyY2g9eDg2LTY0IC0td2l0aC10dW5lPWdlbmVyaWMgLS1l bmFibGUtbGFuZ3VhZ2VzPWFkYSxjLGx0byxjKyssb2JqYyxvYmotYysrLGZvcnRyYW4gLS1lbmFi bGUtc2hhcmVkIC0tZW5hYmxlLXN0YXRpYyAtLWVuYWJsZS1saWJhdG9taWMgLS1lbmFibGUtdGhy ZWFkcz1wb3NpeCAtLWVuYWJsZS1ncmFwaGl0ZSAtLWVuYWJsZS1mdWxseS1keW5hbWljLXN0cmlu ZyAtLWVuYWJsZS1saWJzdGRjeHgtZmlsZXN5c3RlbS10cz15ZXMgLS1lbmFibGUtbGlic3RkY3h4 LXRpbWU9eWVzIC0tZGlzYWJsZS1saWJzdGRjeHgtcGNoIC0tZGlzYWJsZS1saWJzdGRjeHgtZGVi dWcgLS1kaXNhYmxlLWlzbC12ZXJzaW9uLWNoZWNrIC0tZW5hYmxlLWx0byAtLWVuYWJsZS1saWJn b21wIC0tZGlzYWJsZS1tdWx0aWxpYiAtLWVuYWJsZS1jaGVja2luZz1yZWxlYXNlIC0tZGlzYWJs ZS1ycGF0aCAtLWRpc2FibGUtd2luMzItcmVnaXN0cnkgLS1kaXNhYmxlLW5scyAtLWRpc2FibGUt d2Vycm9yIC0tZGlzYWJsZS1zeW12ZXJzIC0td2l0aC1saWJpY29udiAtLXdpdGgtc3lzdGVtLXps aWIgLS13aXRoLWdtcD0vbWluZ3c2NCAtLXdpdGgtbXBmcj0vbWluZ3c2NCAtLXdpdGgtbXBjPS9t aW5ndzY0IC0td2l0aC1pc2w9L21pbmd3NjQgLS13aXRoLXBrZ3ZlcnNpb249J1JldjEsIEJ1aWx0 IGJ5IE1TWVMyIHByb2plY3QnIC0td2l0aC1idWd1cmw9aHR0cHM6Ly9zb3VyY2Vmb3JnZS5uZXQv cHJvamVjdHMvbXN5czIgLS13aXRoLWdudS1hcyAtLXdpdGgtZ251LWxkClRocmVhZCBtb2RlbDog cG9zaXgKZ2NjIHZlcnNpb24gOC4yLjAgKFJldjEsIEJ1aWx0IGJ5IE1TWVMyIHByb2plY3QpIApj b25maWd1cmU6Mzk2NTogJD8gPSAwCmNvbmZpZ3VyZTozOTU0OiB4ODZfNjQtdzY0LW1pbmd3MzIt Z2NjIC1WID4mNQp4ODZfNjQtdzY0LW1pbmd3MzItZ2NjLmV4ZTogZXJyb3I6IHVucmVjb2duaXpl ZCBjb21tYW5kIGxpbmUgb3B0aW9uICctVicKeDg2XzY0LXc2NC1taW5ndzMyLWdjYy5leGU6IGZh dGFsIGVycm9yOiBubyBpbnB1dCBmaWxlcwpjb21waWxhdGlvbiB0ZXJtaW5hdGVkLgpjb25maWd1 cmU6Mzk2NTogJD8gPSAxCmNvbmZpZ3VyZTozOTU0OiB4ODZfNjQtdzY0LW1pbmd3MzItZ2NjIC1x dmVyc2lvbiA+JjUKeDg2XzY0LXc2NC1taW5ndzMyLWdjYy5leGU6IGVycm9yOiB1bnJlY29nbml6 ZWQgY29tbWFuZCBsaW5lIG9wdGlvbiAnLXF2ZXJzaW9uJzsgZGlkIHlvdSBtZWFuICctLXZlcnNp b24nPwp4ODZfNjQtdzY0LW1pbmd3MzItZ2NjLmV4ZTogZmF0YWwgZXJyb3I6IG5vIGlucHV0IGZp bGVzCmNvbXBpbGF0aW9uIHRlcm1pbmF0ZWQuCmNvbmZpZ3VyZTozOTY1OiAkPyA9IDEKY29uZmln dXJlOjM5ODU6IGNoZWNraW5nIHdoZXRoZXIgdGhlIEMgY29tcGlsZXIgd29ya3MKY29uZmlndXJl OjQwMDc6IHg4Nl82NC13NjQtbWluZ3czMi1nY2MgLU8gLWZuby1vbWl0LWZyYW1lLXBvaW50ZXIg ICBjb25mdGVzdC5jICA+JjUKY29uZmlndXJlOjQwMTE6ICQ/ID0gMApjb25maWd1cmU6NDA1OTog cmVzdWx0OiB5ZXMKY29uZmlndXJlOjQwNjI6IGNoZWNraW5nIGZvciBDIGNvbXBpbGVyIGRlZmF1 bHQgb3V0cHV0IGZpbGUgbmFtZQpjb25maWd1cmU6NDA2NDogcmVzdWx0OiBhLmV4ZQpjb25maWd1 cmU6NDA3MDogY2hlY2tpbmcgZm9yIHN1ZmZpeCBvZiBleGVjdXRhYmxlcwpjb25maWd1cmU6NDA3 NzogeDg2XzY0LXc2NC1taW5ndzMyLWdjYyAtbyBjb25mdGVzdC5leGUgLU8gLWZuby1vbWl0LWZy YW1lLXBvaW50ZXIgICBjb25mdGVzdC5jICA+JjUKY29uZmlndXJlOjQwODE6ICQ/ID0gMApjb25m aWd1cmU6NDEwMzogcmVzdWx0OiAuZXhlCmNvbmZpZ3VyZTo0MTI1OiBjaGVja2luZyB3aGV0aGVy IHdlIGFyZSBjcm9zcyBjb21waWxpbmcKY29uZmlndXJlOjQxMzM6IHg4Nl82NC13NjQtbWluZ3cz Mi1nY2MgLW8gY29uZnRlc3QuZXhlIC1PIC1mbm8tb21pdC1mcmFtZS1wb2ludGVyICAgY29uZnRl c3QuYyAgPiY1CmNvbmZpZ3VyZTo0MTM3OiAkPyA9IDAKY29uZmlndXJlOjQxNDQ6IC4vY29uZnRl c3QuZXhlCmNvbmZpZ3VyZTo0MTQ4OiAkPyA9IDAKY29uZmlndXJlOjQxNjM6IHJlc3VsdDogbm8K Y29uZmlndXJlOjQxNjg6IGNoZWNraW5nIGZvciBzdWZmaXggb2Ygb2JqZWN0IGZpbGVzCmNvbmZp Z3VyZTo0MTkwOiB4ODZfNjQtdzY0LW1pbmd3MzItZ2NjIC1jIC1PIC1mbm8tb21pdC1mcmFtZS1w b2ludGVyICBjb25mdGVzdC5jID4mNQpjb25maWd1cmU6NDE5NDogJD8gPSAwCmNvbmZpZ3VyZTo0 MjE1OiByZXN1bHQ6IG8KY29uZmlndXJlOjQyMTk6IGNoZWNraW5nIHdoZXRoZXIgd2UgYXJlIHVz aW5nIHRoZSBHTlUgQyBjb21waWxlcgpjb25maWd1cmU6NDIzODogeDg2XzY0LXc2NC1taW5ndzMy LWdjYyAtYyAtTyAtZm5vLW9taXQtZnJhbWUtcG9pbnRlciAgY29uZnRlc3QuYyA+JjUKY29uZmln dXJlOjQyMzg6ICQ/ID0gMApjb25maWd1cmU6NDI0NzogcmVzdWx0OiB5ZXMKY29uZmlndXJlOjQy NTY6IGNoZWNraW5nIHdoZXRoZXIgeDg2XzY0LXc2NC1taW5ndzMyLWdjYyBhY2NlcHRzIC1nCmNv bmZpZ3VyZTo0Mjc2OiB4ODZfNjQtdzY0LW1pbmd3MzItZ2NjIC1jIC1nICBjb25mdGVzdC5jID4m NQpjb25maWd1cmU6NDI3NjogJD8gPSAwCmNvbmZpZ3VyZTo0MzE3OiByZXN1bHQ6IHllcwpjb25m aWd1cmU6NDMzNDogY2hlY2tpbmcgZm9yIHg4Nl82NC13NjQtbWluZ3czMi1nY2Mgb3B0aW9uIHRv IGFjY2VwdCBJU08gQzg5CmNvbmZpZ3VyZTo0Mzk3OiB4ODZfNjQtdzY0LW1pbmd3MzItZ2NjICAt YyAtTyAtZm5vLW9taXQtZnJhbWUtcG9pbnRlciAgY29uZnRlc3QuYyA+JjUKY29uZmlndXJlOjQz OTc6ICQ/ID0gMApjb25maWd1cmU6NDQxMDogcmVzdWx0OiBub25lIG5lZWRlZApjb25maWd1cmU6 NDQ0NDogY2hlY2tpbmcgZm9yIHg4Nl82NC13NjQtbWluZ3czMi1nKysKY29uZmlndXJlOjQ0NjA6 IGZvdW5kIC9taW5ndzY0L2Jpbi94ODZfNjQtdzY0LW1pbmd3MzItZysrCmNvbmZpZ3VyZTo0NDcx OiByZXN1bHQ6IHg4Nl82NC13NjQtbWluZ3czMi1nKysKY29uZmlndXJlOjQ1NDI6IGNoZWNraW5n IGZvciBDKysgY29tcGlsZXIgdmVyc2lvbgpjb25maWd1cmU6NDU1MTogeDg2XzY0LXc2NC1taW5n dzMyLWcrKyAtLXZlcnNpb24gPiY1Cng4Nl82NC13NjQtbWluZ3czMi1nKysuZXhlIChSZXYxLCBC dWlsdCBieSBNU1lTMiBwcm9qZWN0KSA4LjIuMA0KQ29weXJpZ2h0IChDKSAyMDE4IEZyZWUgU29m dHdhcmUgRm91bmRhdGlvbiwgSW5jLg0KVGhpcyBpcyBmcmVlIHNvZnR3YXJlOyBzZWUgdGhlIHNv dXJjZSBmb3IgY29weWluZyBjb25kaXRpb25zLiAgVGhlcmUgaXMgTk8NCndhcnJhbnR5OyBub3Qg ZXZlbiBmb3IgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQ T1NFLg0KDQpjb25maWd1cmU6NDU2MjogJD8gPSAwCmNvbmZpZ3VyZTo0NTUxOiB4ODZfNjQtdzY0 LW1pbmd3MzItZysrIC12ID4mNQpVc2luZyBidWlsdC1pbiBzcGVjcy4KQ09MTEVDVF9HQ0M9Qzpc bXN5czY0XG1pbmd3NjRcYmluXHg4Nl82NC13NjQtbWluZ3czMi1nKysuZXhlCkNPTExFQ1RfTFRP X1dSQVBQRVI9QzovbXN5czY0L21pbmd3NjQvYmluLy4uL2xpYi9nY2MveDg2XzY0LXc2NC1taW5n dzMyLzguMi4wL2x0by13cmFwcGVyLmV4ZQpUYXJnZXQ6IHg4Nl82NC13NjQtbWluZ3czMgpDb25m aWd1cmVkIHdpdGg6IC4uL2djYy04LjIuMC9jb25maWd1cmUgLS1wcmVmaXg9L21pbmd3NjQgLS13 aXRoLWxvY2FsLXByZWZpeD0vbWluZ3c2NC9sb2NhbCAtLWJ1aWxkPXg4Nl82NC13NjQtbWluZ3cz MiAtLWhvc3Q9eDg2XzY0LXc2NC1taW5ndzMyIC0tdGFyZ2V0PXg4Nl82NC13NjQtbWluZ3czMiAt LXdpdGgtbmF0aXZlLXN5c3RlbS1oZWFkZXItZGlyPS9taW5ndzY0L3g4Nl82NC13NjQtbWluZ3cz Mi9pbmNsdWRlIC0tbGliZXhlY2Rpcj0vbWluZ3c2NC9saWIgLS1lbmFibGUtYm9vdHN0cmFwIC0t d2l0aC1hcmNoPXg4Ni02NCAtLXdpdGgtdHVuZT1nZW5lcmljIC0tZW5hYmxlLWxhbmd1YWdlcz1h ZGEsYyxsdG8sYysrLG9iamMsb2JqLWMrKyxmb3J0cmFuIC0tZW5hYmxlLXNoYXJlZCAtLWVuYWJs ZS1zdGF0aWMgLS1lbmFibGUtbGliYXRvbWljIC0tZW5hYmxlLXRocmVhZHM9cG9zaXggLS1lbmFi bGUtZ3JhcGhpdGUgLS1lbmFibGUtZnVsbHktZHluYW1pYy1zdHJpbmcgLS1lbmFibGUtbGlic3Rk Y3h4LWZpbGVzeXN0ZW0tdHM9eWVzIC0tZW5hYmxlLWxpYnN0ZGN4eC10aW1lPXllcyAtLWRpc2Fi bGUtbGlic3RkY3h4LXBjaCAtLWRpc2FibGUtbGlic3RkY3h4LWRlYnVnIC0tZGlzYWJsZS1pc2wt dmVyc2lvbi1jaGVjayAtLWVuYWJsZS1sdG8gLS1lbmFibGUtbGliZ29tcCAtLWRpc2FibGUtbXVs dGlsaWIgLS1lbmFibGUtY2hlY2tpbmc9cmVsZWFzZSAtLWRpc2FibGUtcnBhdGggLS1kaXNhYmxl LXdpbjMyLXJlZ2lzdHJ5IC0tZGlzYWJsZS1ubHMgLS1kaXNhYmxlLXdlcnJvciAtLWRpc2FibGUt c3ltdmVycyAtLXdpdGgtbGliaWNvbnYgLS13aXRoLXN5c3RlbS16bGliIC0td2l0aC1nbXA9L21p bmd3NjQgLS13aXRoLW1wZnI9L21pbmd3NjQgLS13aXRoLW1wYz0vbWluZ3c2NCAtLXdpdGgtaXNs PS9taW5ndzY0IC0td2l0aC1wa2d2ZXJzaW9uPSdSZXYxLCBCdWlsdCBieSBNU1lTMiBwcm9qZWN0 JyAtLXdpdGgtYnVndXJsPWh0dHBzOi8vc291cmNlZm9yZ2UubmV0L3Byb2plY3RzL21zeXMyIC0t d2l0aC1nbnUtYXMgLS13aXRoLWdudS1sZApUaHJlYWQgbW9kZWw6IHBvc2l4CmdjYyB2ZXJzaW9u IDguMi4wIChSZXYxLCBCdWlsdCBieSBNU1lTMiBwcm9qZWN0KSAKY29uZmlndXJlOjQ1NjI6ICQ/ ID0gMApjb25maWd1cmU6NDU1MTogeDg2XzY0LXc2NC1taW5ndzMyLWcrKyAtViA+JjUKeDg2XzY0 LXc2NC1taW5ndzMyLWcrKy5leGU6IGVycm9yOiB1bnJlY29nbml6ZWQgY29tbWFuZCBsaW5lIG9w dGlvbiAnLVYnCng4Nl82NC13NjQtbWluZ3czMi1nKysuZXhlOiBmYXRhbCBlcnJvcjogbm8gaW5w dXQgZmlsZXMKY29tcGlsYXRpb24gdGVybWluYXRlZC4KY29uZmlndXJlOjQ1NjI6ICQ/ID0gMQpj b25maWd1cmU6NDU1MTogeDg2XzY0LXc2NC1taW5ndzMyLWcrKyAtcXZlcnNpb24gPiY1Cng4Nl82 NC13NjQtbWluZ3czMi1nKysuZXhlOiBlcnJvcjogdW5yZWNvZ25pemVkIGNvbW1hbmQgbGluZSBv cHRpb24gJy1xdmVyc2lvbic7IGRpZCB5b3UgbWVhbiAnLS12ZXJzaW9uJz8KeDg2XzY0LXc2NC1t aW5ndzMyLWcrKy5leGU6IGZhdGFsIGVycm9yOiBubyBpbnB1dCBmaWxlcwpjb21waWxhdGlvbiB0 ZXJtaW5hdGVkLgpjb25maWd1cmU6NDU2MjogJD8gPSAxCmNvbmZpZ3VyZTo0NTY2OiBjaGVja2lu ZyB3aGV0aGVyIHdlIGFyZSB1c2luZyB0aGUgR05VIEMrKyBjb21waWxlcgpjb25maWd1cmU6NDU4 NTogeDg2XzY0LXc2NC1taW5ndzMyLWcrKyAtYyAgIGNvbmZ0ZXN0LmNwcCA+JjUKY29uZmlndXJl OjQ1ODU6ICQ/ID0gMApjb25maWd1cmU6NDU5NDogcmVzdWx0OiB5ZXMKY29uZmlndXJlOjQ2MDM6 IGNoZWNraW5nIHdoZXRoZXIgeDg2XzY0LXc2NC1taW5ndzMyLWcrKyBhY2NlcHRzIC1nCmNvbmZp Z3VyZTo0NjIzOiB4ODZfNjQtdzY0LW1pbmd3MzItZysrIC1jIC1nICBjb25mdGVzdC5jcHAgPiY1 CmNvbmZpZ3VyZTo0NjIzOiAkPyA9IDAKY29uZmlndXJlOjQ2NjQ6IHJlc3VsdDogeWVzCmNvbmZp Z3VyZTo0NzA1OiB4ODZfNjQtdzY0LW1pbmd3MzItZ2NjIC1jIC1PIC1mbm8tb21pdC1mcmFtZS1w b2ludGVyICBjb25mdGVzdC5jID4mNQpjb25mdGVzdC5jOiBJbiBmdW5jdGlvbiAnbWFpbic6CmNv bmZ0ZXN0LmM6MjE6MTogZXJyb3I6IHVua25vd24gdHlwZSBuYW1lICdjaG9rZScKIGNob2tlIG1l CiBefn5+fgpjb25maWd1cmU6NDcwNTogJD8gPSAxCmNvbmZpZ3VyZTogZmFpbGVkIHByb2dyYW0g d2FzOgp8IC8qIGNvbmZkZWZzLmggKi8KfCAjZGVmaW5lIFBBQ0tBR0VfTkFNRSAiUG9zdGdyZVNR TCIKfCAjZGVmaW5lIFBBQ0tBR0VfVEFSTkFNRSAicG9zdGdyZXNxbCIKfCAjZGVmaW5lIFBBQ0tB R0VfVkVSU0lPTiAiMTFiZXRhMyIKfCAjZGVmaW5lIFBBQ0tBR0VfU1RSSU5HICJQb3N0Z3JlU1FM IDExYmV0YTMiCnwgI2RlZmluZSBQQUNLQUdFX0JVR1JFUE9SVCAicGdzcWwtYnVnc0Bwb3N0Z3Jl c3FsLm9yZyIKfCAjZGVmaW5lIFBBQ0tBR0VfVVJMICIiCnwgI2RlZmluZSBQR19NQUpPUlZFUlNJ T04gIjExIgp8ICNkZWZpbmUgUEdfVkVSU0lPTiAiMTFiZXRhMyIKfCAjZGVmaW5lIERFRl9QR1BP UlQgNTQzMgp8ICNkZWZpbmUgREVGX1BHUE9SVF9TVFIgIjU0MzIiCnwgI2RlZmluZSBCTENLU1og ODE5Mgp8ICNkZWZpbmUgUkVMU0VHX1NJWkUgMTMxMDcyCnwgI2RlZmluZSBYTE9HX0JMQ0tTWiA4 MTkyCnwgLyogZW5kIGNvbmZkZWZzLmguICAqLwp8IAp8IGludAp8IG1haW4gKCkKfCB7CnwgI2lm bmRlZiBfX0lOVEVMX0NPTVBJTEVSCnwgY2hva2UgbWUKfCAjZW5kaWYKfCAgIDsKfCAgIHJldHVy biAwOwp8IH0KY29uZmlndXJlOjQ3Mjc6IHg4Nl82NC13NjQtbWluZ3czMi1nY2MgLWMgLU8gLWZu by1vbWl0LWZyYW1lLXBvaW50ZXIgIGNvbmZ0ZXN0LmMgPiY1CmNvbmZ0ZXN0LmM6IEluIGZ1bmN0 aW9uICdtYWluJzoKY29uZnRlc3QuYzoyMToxOiBlcnJvcjogdW5rbm93biB0eXBlIG5hbWUgJ2No b2tlJwogY2hva2UgbWUKIF5+fn5+CmNvbmZpZ3VyZTo0NzI3OiAkPyA9IDEKY29uZmlndXJlOiBm YWlsZWQgcHJvZ3JhbSB3YXM6CnwgLyogY29uZmRlZnMuaCAqLwp8ICNkZWZpbmUgUEFDS0FHRV9O QU1FICJQb3N0Z3JlU1FMIgp8ICNkZWZpbmUgUEFDS0FHRV9UQVJOQU1FICJwb3N0Z3Jlc3FsIgp8 ICNkZWZpbmUgUEFDS0FHRV9WRVJTSU9OICIxMWJldGEzIgp8ICNkZWZpbmUgUEFDS0FHRV9TVFJJ TkcgIlBvc3RncmVTUUwgMTFiZXRhMyIKfCAjZGVmaW5lIFBBQ0tBR0VfQlVHUkVQT1JUICJwZ3Nx bC1idWdzQHBvc3RncmVzcWwub3JnIgp8ICNkZWZpbmUgUEFDS0FHRV9VUkwgIiIKfCAjZGVmaW5l IFBHX01BSk9SVkVSU0lPTiAiMTEiCnwgI2RlZmluZSBQR19WRVJTSU9OICIxMWJldGEzIgp8ICNk ZWZpbmUgREVGX1BHUE9SVCA1NDMyCnwgI2RlZmluZSBERUZfUEdQT1JUX1NUUiAiNTQzMiIKfCAj ZGVmaW5lIEJMQ0tTWiA4MTkyCnwgI2RlZmluZSBSRUxTRUdfU0laRSAxMzEwNzIKfCAjZGVmaW5l IFhMT0dfQkxDS1NaIDgxOTIKfCAvKiBlbmQgY29uZmRlZnMuaC4gICovCnwgCnwgaW50CnwgbWFp biAoKQp8IHsKfCAjaWZuZGVmIF9fU1VOUFJPX0MKfCBjaG9rZSBtZQp8ICNlbmRpZgp8ICAgOwp8 ICAgcmV0dXJuIDA7CnwgfQpjb25maWd1cmU6NTE2MDogY2hlY2tpbmcgd2hldGhlciB4ODZfNjQt dzY0LW1pbmd3MzItZ2NjIHN1cHBvcnRzIC1XZGVjbGFyYXRpb24tYWZ0ZXItc3RhdGVtZW50LCBm b3IgQ0ZMQUdTCmNvbmZpZ3VyZTo1MTgyOiB4ODZfNjQtdzY0LW1pbmd3MzItZ2NjIC1jIC1XYWxs IC1XbWlzc2luZy1wcm90b3R5cGVzIC1XcG9pbnRlci1hcml0aCAtV2RlY2xhcmF0aW9uLWFmdGVy LXN0YXRlbWVudCAgY29uZnRlc3QuYyA+JjUKY29uZmlndXJlOjUxODI6ICQ/ID0gMApjb25maWd1 cmU6NTE5MjogcmVzdWx0OiB5ZXMKY29uZmlndXJlOjUyMDE6IGNoZWNraW5nIHdoZXRoZXIgeDg2 XzY0LXc2NC1taW5ndzMyLWdjYyBzdXBwb3J0cyAtV2VuZGlmLWxhYmVscywgZm9yIENGTEFHUwpj b25maWd1cmU6NTIyMzogeDg2XzY0LXc2NC1taW5ndzMyLWdjYyAtYyAtV2FsbCAtV21pc3Npbmct cHJvdG90eXBlcyAtV3BvaW50ZXItYXJpdGggLVdkZWNsYXJhdGlvbi1hZnRlci1zdGF0ZW1lbnQg LVdlbmRpZi1sYWJlbHMgIGNvbmZ0ZXN0LmMgPiY1CmNvbmZpZ3VyZTo1MjIzOiAkPyA9IDAKY29u ZmlndXJlOjUyMzM6IHJlc3VsdDogeWVzCmNvbmZpZ3VyZTo1MjQwOiBjaGVja2luZyB3aGV0aGVy IHg4Nl82NC13NjQtbWluZ3czMi1nKysgc3VwcG9ydHMgLVdlbmRpZi1sYWJlbHMsIGZvciBDWFhG TEFHUwpjb25maWd1cmU6NTI2ODogeDg2XzY0LXc2NC1taW5ndzMyLWcrKyAtYyAtV2FsbCAtV3Bv aW50ZXItYXJpdGggLVdlbmRpZi1sYWJlbHMgIGNvbmZ0ZXN0LmNwcCA+JjUKY29uZmlndXJlOjUy Njg6ICQ/ID0gMApjb25maWd1cmU6NTI4NDogcmVzdWx0OiB5ZXMKY29uZmlndXJlOjUyOTI6IGNo ZWNraW5nIHdoZXRoZXIgeDg2XzY0LXc2NC1taW5ndzMyLWdjYyBzdXBwb3J0cyAtV21pc3Npbmct Zm9ybWF0LWF0dHJpYnV0ZSwgZm9yIENGTEFHUwpjb25maWd1cmU6NTMxNDogeDg2XzY0LXc2NC1t aW5ndzMyLWdjYyAtYyAtV2FsbCAtV21pc3NpbmctcHJvdG90eXBlcyAtV3BvaW50ZXItYXJpdGgg LVdkZWNsYXJhdGlvbi1hZnRlci1zdGF0ZW1lbnQgLVdlbmRpZi1sYWJlbHMgLVdtaXNzaW5nLWZv cm1hdC1hdHRyaWJ1dGUgIGNvbmZ0ZXN0LmMgPiY1CmNvbmZpZ3VyZTo1MzE0OiAkPyA9IDAKY29u ZmlndXJlOjUzMjQ6IHJlc3VsdDogeWVzCmNvbmZpZ3VyZTo1MzMxOiBjaGVja2luZyB3aGV0aGVy IHg4Nl82NC13NjQtbWluZ3czMi1nKysgc3VwcG9ydHMgLVdtaXNzaW5nLWZvcm1hdC1hdHRyaWJ1 dGUsIGZvciBDWFhGTEFHUwpjb25maWd1cmU6NTM1OTogeDg2XzY0LXc2NC1taW5ndzMyLWcrKyAt YyAtV2FsbCAtV3BvaW50ZXItYXJpdGggLVdlbmRpZi1sYWJlbHMgLVdtaXNzaW5nLWZvcm1hdC1h dHRyaWJ1dGUgIGNvbmZ0ZXN0LmNwcCA+JjUKY29uZmlndXJlOjUzNTk6ICQ/ID0gMApjb25maWd1 cmU6NTM3NTogcmVzdWx0OiB5ZXMKY29uZmlndXJlOjUzODQ6IGNoZWNraW5nIHdoZXRoZXIgeDg2 XzY0LXc2NC1taW5ndzMyLWdjYyBzdXBwb3J0cyAtV2Zvcm1hdC1zZWN1cml0eSwgZm9yIENGTEFH Uwpjb25maWd1cmU6NTQwNjogeDg2XzY0LXc2NC1taW5ndzMyLWdjYyAtYyAtV2FsbCAtV21pc3Np bmctcHJvdG90eXBlcyAtV3BvaW50ZXItYXJpdGggLVdkZWNsYXJhdGlvbi1hZnRlci1zdGF0ZW1l bnQgLVdlbmRpZi1sYWJlbHMgLVdtaXNzaW5nLWZvcm1hdC1hdHRyaWJ1dGUgLVdmb3JtYXQtc2Vj dXJpdHkgIGNvbmZ0ZXN0LmMgPiY1CmNvbmZpZ3VyZTo1NDA2OiAkPyA9IDAKY29uZmlndXJlOjU0 MTY6IHJlc3VsdDogeWVzCmNvbmZpZ3VyZTo1NDIzOiBjaGVja2luZyB3aGV0aGVyIHg4Nl82NC13 NjQtbWluZ3czMi1nKysgc3VwcG9ydHMgLVdmb3JtYXQtc2VjdXJpdHksIGZvciBDWFhGTEFHUwpj b25maWd1cmU6NTQ1MTogeDg2XzY0LXc2NC1taW5ndzMyLWcrKyAtYyAtV2FsbCAtV3BvaW50ZXIt YXJpdGggLVdlbmRpZi1sYWJlbHMgLVdtaXNzaW5nLWZvcm1hdC1hdHRyaWJ1dGUgLVdmb3JtYXQt c2VjdXJpdHkgIGNvbmZ0ZXN0LmNwcCA+JjUKY29uZmlndXJlOjU0NTE6ICQ/ID0gMApjb25maWd1 cmU6NTQ2NzogcmVzdWx0OiB5ZXMKY29uZmlndXJlOjU0NzY6IGNoZWNraW5nIHdoZXRoZXIgeDg2 XzY0LXc2NC1taW5ndzMyLWdjYyBzdXBwb3J0cyAtZm5vLXN0cmljdC1hbGlhc2luZywgZm9yIENG TEFHUwpjb25maWd1cmU6NTQ5ODogeDg2XzY0LXc2NC1taW5ndzMyLWdjYyAtYyAtV2FsbCAtV21p c3NpbmctcHJvdG90eXBlcyAtV3BvaW50ZXItYXJpdGggLVdkZWNsYXJhdGlvbi1hZnRlci1zdGF0 ZW1lbnQgLVdlbmRpZi1sYWJlbHMgLVdtaXNzaW5nLWZvcm1hdC1hdHRyaWJ1dGUgLVdmb3JtYXQt c2VjdXJpdHkgLWZuby1zdHJpY3QtYWxpYXNpbmcgIGNvbmZ0ZXN0LmMgPiY1CmNvbmZpZ3VyZTo1 NDk4OiAkPyA9IDAKY29uZmlndXJlOjU1MDg6IHJlc3VsdDogeWVzCmNvbmZpZ3VyZTo1NTE1OiBj aGVja2luZyB3aGV0aGVyIHg4Nl82NC13NjQtbWluZ3czMi1nKysgc3VwcG9ydHMgLWZuby1zdHJp Y3QtYWxpYXNpbmcsIGZvciBDWFhGTEFHUwpjb25maWd1cmU6NTU0MzogeDg2XzY0LXc2NC1taW5n dzMyLWcrKyAtYyAtV2FsbCAtV3BvaW50ZXItYXJpdGggLVdlbmRpZi1sYWJlbHMgLVdtaXNzaW5n LWZvcm1hdC1hdHRyaWJ1dGUgLVdmb3JtYXQtc2VjdXJpdHkgLWZuby1zdHJpY3QtYWxpYXNpbmcg IGNvbmZ0ZXN0LmNwcCA+JjUKY29uZmlndXJlOjU1NDM6ICQ/ID0gMApjb25maWd1cmU6NTU1OTog cmVzdWx0OiB5ZXMKY29uZmlndXJlOjU1Njg6IGNoZWNraW5nIHdoZXRoZXIgeDg2XzY0LXc2NC1t aW5ndzMyLWdjYyBzdXBwb3J0cyAtZndyYXB2LCBmb3IgQ0ZMQUdTCmNvbmZpZ3VyZTo1NTkwOiB4 ODZfNjQtdzY0LW1pbmd3MzItZ2NjIC1jIC1XYWxsIC1XbWlzc2luZy1wcm90b3R5cGVzIC1XcG9p bnRlci1hcml0aCAtV2RlY2xhcmF0aW9uLWFmdGVyLXN0YXRlbWVudCAtV2VuZGlmLWxhYmVscyAt V21pc3NpbmctZm9ybWF0LWF0dHJpYnV0ZSAtV2Zvcm1hdC1zZWN1cml0eSAtZm5vLXN0cmljdC1h bGlhc2luZyAtZndyYXB2ICBjb25mdGVzdC5jID4mNQpjb25maWd1cmU6NTU5MDogJD8gPSAwCmNv bmZpZ3VyZTo1NjAwOiByZXN1bHQ6IHllcwpjb25maWd1cmU6NTYwNzogY2hlY2tpbmcgd2hldGhl ciB4ODZfNjQtdzY0LW1pbmd3MzItZysrIHN1cHBvcnRzIC1md3JhcHYsIGZvciBDWFhGTEFHUwpj b25maWd1cmU6NTYzNTogeDg2XzY0LXc2NC1taW5ndzMyLWcrKyAtYyAtV2FsbCAtV3BvaW50ZXIt YXJpdGggLVdlbmRpZi1sYWJlbHMgLVdtaXNzaW5nLWZvcm1hdC1hdHRyaWJ1dGUgLVdmb3JtYXQt c2VjdXJpdHkgLWZuby1zdHJpY3QtYWxpYXNpbmcgLWZ3cmFwdiAgY29uZnRlc3QuY3BwID4mNQpj b25maWd1cmU6NTYzNTogJD8gPSAwCmNvbmZpZ3VyZTo1NjUxOiByZXN1bHQ6IHllcwpjb25maWd1 cmU6NTY2MDogY2hlY2tpbmcgd2hldGhlciB4ODZfNjQtdzY0LW1pbmd3MzItZ2NjIHN1cHBvcnRz IC1mZXhjZXNzLXByZWNpc2lvbj1zdGFuZGFyZCwgZm9yIENGTEFHUwpjb25maWd1cmU6NTY4Mjog eDg2XzY0LXc2NC1taW5ndzMyLWdjYyAtYyAtV2FsbCAtV21pc3NpbmctcHJvdG90eXBlcyAtV3Bv aW50ZXItYXJpdGggLVdkZWNsYXJhdGlvbi1hZnRlci1zdGF0ZW1lbnQgLVdlbmRpZi1sYWJlbHMg LVdtaXNzaW5nLWZvcm1hdC1hdHRyaWJ1dGUgLVdmb3JtYXQtc2VjdXJpdHkgLWZuby1zdHJpY3Qt YWxpYXNpbmcgLWZ3cmFwdiAtZmV4Y2Vzcy1wcmVjaXNpb249c3RhbmRhcmQgIGNvbmZ0ZXN0LmMg PiY1CmNvbmZpZ3VyZTo1NjgyOiAkPyA9IDAKY29uZmlndXJlOjU2OTI6IHJlc3VsdDogeWVzCmNv bmZpZ3VyZTo1Njk5OiBjaGVja2luZyB3aGV0aGVyIHg4Nl82NC13NjQtbWluZ3czMi1nKysgc3Vw cG9ydHMgLWZleGNlc3MtcHJlY2lzaW9uPXN0YW5kYXJkLCBmb3IgQ1hYRkxBR1MKY29uZmlndXJl OjU3Mjc6IHg4Nl82NC13NjQtbWluZ3czMi1nKysgLWMgLVdhbGwgLVdwb2ludGVyLWFyaXRoIC1X ZW5kaWYtbGFiZWxzIC1XbWlzc2luZy1mb3JtYXQtYXR0cmlidXRlIC1XZm9ybWF0LXNlY3VyaXR5 IC1mbm8tc3RyaWN0LWFsaWFzaW5nIC1md3JhcHYgLWZleGNlc3MtcHJlY2lzaW9uPXN0YW5kYXJk ICBjb25mdGVzdC5jcHAgPiY1CmNjMXBsdXMuZXhlOiBzb3JyeSwgdW5pbXBsZW1lbnRlZDogLWZl eGNlc3MtcHJlY2lzaW9uPXN0YW5kYXJkIGZvciBDKysKY29uZmlndXJlOjU3Mjc6ICQ/ID0gMQpj b25maWd1cmU6IGZhaWxlZCBwcm9ncmFtIHdhczoKfCAvKiBjb25mZGVmcy5oICovCnwgI2RlZmlu ZSBQQUNLQUdFX05BTUUgIlBvc3RncmVTUUwiCnwgI2RlZmluZSBQQUNLQUdFX1RBUk5BTUUgInBv c3RncmVzcWwiCnwgI2RlZmluZSBQQUNLQUdFX1ZFUlNJT04gIjExYmV0YTMiCnwgI2RlZmluZSBQ QUNLQUdFX1NUUklORyAiUG9zdGdyZVNRTCAxMWJldGEzIgp8ICNkZWZpbmUgUEFDS0FHRV9CVUdS RVBPUlQgInBnc3FsLWJ1Z3NAcG9zdGdyZXNxbC5vcmciCnwgI2RlZmluZSBQQUNLQUdFX1VSTCAi Igp8ICNkZWZpbmUgUEdfTUFKT1JWRVJTSU9OICIxMSIKfCAjZGVmaW5lIFBHX1ZFUlNJT04gIjEx YmV0YTMiCnwgI2RlZmluZSBERUZfUEdQT1JUIDU0MzIKfCAjZGVmaW5lIERFRl9QR1BPUlRfU1RS ICI1NDMyIgp8ICNkZWZpbmUgQkxDS1NaIDgxOTIKfCAjZGVmaW5lIFJFTFNFR19TSVpFIDEzMTA3 Mgp8ICNkZWZpbmUgWExPR19CTENLU1ogODE5Mgp8IC8qIGVuZCBjb25mZGVmcy5oLiAgKi8KfCAK fCBpbnQKfCBtYWluICgpCnwgewp8IAp8ICAgOwp8ICAgcmV0dXJuIDA7CnwgfQpjb25maWd1cmU6 NTc0MzogcmVzdWx0OiBubwpjb25maWd1cmU6NTc1MTogY2hlY2tpbmcgd2hldGhlciB4ODZfNjQt dzY0LW1pbmd3MzItZ2NjIHN1cHBvcnRzIC1mdW5yb2xsLWxvb3BzLCBmb3IgQ0ZMQUdTX1ZFQ1RP Ugpjb25maWd1cmU6NTc3MzogeDg2XzY0LXc2NC1taW5ndzMyLWdjYyAtYyAgLWZ1bnJvbGwtbG9v cHMgIGNvbmZ0ZXN0LmMgPiY1CmNvbmZpZ3VyZTo1NzczOiAkPyA9IDAKY29uZmlndXJlOjU3ODM6 IHJlc3VsdDogeWVzCmNvbmZpZ3VyZTo1NzkwOiBjaGVja2luZyB3aGV0aGVyIHg4Nl82NC13NjQt bWluZ3czMi1nY2Mgc3VwcG9ydHMgLWZ0cmVlLXZlY3Rvcml6ZSwgZm9yIENGTEFHU19WRUNUT1IK Y29uZmlndXJlOjU4MTI6IHg4Nl82NC13NjQtbWluZ3czMi1nY2MgLWMgIC1mdW5yb2xsLWxvb3Bz IC1mdHJlZS12ZWN0b3JpemUgIGNvbmZ0ZXN0LmMgPiY1CmNvbmZpZ3VyZTo1ODEyOiAkPyA9IDAK Y29uZmlndXJlOjU4MjI6IHJlc3VsdDogeWVzCmNvbmZpZ3VyZTo1ODMzOiBjaGVja2luZyB3aGV0 aGVyIHg4Nl82NC13NjQtbWluZ3czMi1nY2Mgc3VwcG9ydHMgLVd1bnVzZWQtY29tbWFuZC1saW5l LWFyZ3VtZW50LCBmb3IgTk9UX1RIRV9DRkxBR1MKY29uZmlndXJlOjU4NTU6IHg4Nl82NC13NjQt bWluZ3czMi1nY2MgLWMgIC1XdW51c2VkLWNvbW1hbmQtbGluZS1hcmd1bWVudCAgY29uZnRlc3Qu YyA+JjUKeDg2XzY0LXc2NC1taW5ndzMyLWdjYy5leGU6IGVycm9yOiB1bnJlY29nbml6ZWQgY29t bWFuZCBsaW5lIG9wdGlvbiAnLVd1bnVzZWQtY29tbWFuZC1saW5lLWFyZ3VtZW50JzsgZGlkIHlv dSBtZWFuICctV3VudXNlZC1kdW1teS1hcmd1bWVudCc/CmNvbmZpZ3VyZTo1ODU1OiAkPyA9IDEK Y29uZmlndXJlOiBmYWlsZWQgcHJvZ3JhbSB3YXM6CnwgLyogY29uZmRlZnMuaCAqLwp8ICNkZWZp bmUgUEFDS0FHRV9OQU1FICJQb3N0Z3JlU1FMIgp8ICNkZWZpbmUgUEFDS0FHRV9UQVJOQU1FICJw b3N0Z3Jlc3FsIgp8ICNkZWZpbmUgUEFDS0FHRV9WRVJTSU9OICIxMWJldGEzIgp8ICNkZWZpbmUg UEFDS0FHRV9TVFJJTkcgIlBvc3RncmVTUUwgMTFiZXRhMyIKfCAjZGVmaW5lIFBBQ0tBR0VfQlVH UkVQT1JUICJwZ3NxbC1idWdzQHBvc3RncmVzcWwub3JnIgp8ICNkZWZpbmUgUEFDS0FHRV9VUkwg IiIKfCAjZGVmaW5lIFBHX01BSk9SVkVSU0lPTiAiMTEiCnwgI2RlZmluZSBQR19WRVJTSU9OICIx MWJldGEzIgp8ICNkZWZpbmUgREVGX1BHUE9SVCA1NDMyCnwgI2RlZmluZSBERUZfUEdQT1JUX1NU UiAiNTQzMiIKfCAjZGVmaW5lIEJMQ0tTWiA4MTkyCnwgI2RlZmluZSBSRUxTRUdfU0laRSAxMzEw NzIKfCAjZGVmaW5lIFhMT0dfQkxDS1NaIDgxOTIKfCAvKiBlbmQgY29uZmRlZnMuaC4gICovCnwg CnwgaW50CnwgbWFpbiAoKQp8IHsKfCAKfCAgIDsKfCAgIHJldHVybiAwOwp8IH0KY29uZmlndXJl OjU4NjU6IHJlc3VsdDogbm8KY29uZmlndXJlOjU4Nzc6IGNoZWNraW5nIHdoZXRoZXIgeDg2XzY0 LXc2NC1taW5ndzMyLWdjYyBzdXBwb3J0cyAtV2Zvcm1hdC10cnVuY2F0aW9uLCBmb3IgTk9UX1RI RV9DRkxBR1MKY29uZmlndXJlOjU4OTk6IHg4Nl82NC13NjQtbWluZ3czMi1nY2MgLWMgIC1XZm9y bWF0LXRydW5jYXRpb24gIGNvbmZ0ZXN0LmMgPiY1CmNvbmZpZ3VyZTo1ODk5OiAkPyA9IDAKY29u ZmlndXJlOjU5MDk6IHJlc3VsdDogeWVzCmNvbmZpZ3VyZTo1OTIwOiBjaGVja2luZyB3aGV0aGVy IHg4Nl82NC13NjQtbWluZ3czMi1nY2Mgc3VwcG9ydHMgLVdzdHJpbmdvcC10cnVuY2F0aW9uLCBm b3IgTk9UX1RIRV9DRkxBR1MKY29uZmlndXJlOjU5NDI6IHg4Nl82NC13NjQtbWluZ3czMi1nY2Mg LWMgIC1Xc3RyaW5nb3AtdHJ1bmNhdGlvbiAgY29uZnRlc3QuYyA+JjUKY29uZmlndXJlOjU5NDI6 ICQ/ID0gMApjb25maWd1cmU6NTk1MjogcmVzdWx0OiB5ZXMKY29uZmlndXJlOjY3NTU6IGNoZWNr aW5nIHdoZXRoZXIgdGhlIEMgY29tcGlsZXIgc3RpbGwgd29ya3MKY29uZmlndXJlOjY3Njg6IHg4 Nl82NC13NjQtbWluZ3czMi1nY2MgLW8gY29uZnRlc3QuZXhlIC1XYWxsIC1XbWlzc2luZy1wcm90 b3R5cGVzIC1XcG9pbnRlci1hcml0aCAtV2RlY2xhcmF0aW9uLWFmdGVyLXN0YXRlbWVudCAtV2Vu ZGlmLWxhYmVscyAtV21pc3NpbmctZm9ybWF0LWF0dHJpYnV0ZSAtV2Zvcm1hdC1zZWN1cml0eSAt Zm5vLXN0cmljdC1hbGlhc2luZyAtZndyYXB2IC1mZXhjZXNzLXByZWNpc2lvbj1zdGFuZGFyZCAt V25vLWZvcm1hdC10cnVuY2F0aW9uIC1Xbm8tc3RyaW5nb3AtdHJ1bmNhdGlvbiAtZyAtTyAtZm5v LW9taXQtZnJhbWUtcG9pbnRlciAgLUkvdy9SLTMuNS5fL3Bvc3RncmVzL3NyYy9pbmNsdWRlL3Bv cnQvd2luMzIgLURFWEVDX0JBQ0tFTkQgIC1XbCwtLWFsbG93LW11bHRpcGxlLWRlZmluaXRpb24g LVdsLC0tZGlzYWJsZS1hdXRvLWltcG9ydCBjb25mdGVzdC5jICA+JjUKY29uZmlndXJlOjY3Njg6 ICQ/ID0gMApjb25maWd1cmU6Njc2OTogcmVzdWx0OiB5ZXMKY29uZmlndXJlOjY3OTQ6IHg4Nl82 NC13NjQtbWluZ3czMi1nY2MgLWMgLVdhbGwgLVdtaXNzaW5nLXByb3RvdHlwZXMgLVdwb2ludGVy LWFyaXRoIC1XZGVjbGFyYXRpb24tYWZ0ZXItc3RhdGVtZW50IC1XZW5kaWYtbGFiZWxzIC1XbWlz c2luZy1mb3JtYXQtYXR0cmlidXRlIC1XZm9ybWF0LXNlY3VyaXR5IC1mbm8tc3RyaWN0LWFsaWFz aW5nIC1md3JhcHYgLWZleGNlc3MtcHJlY2lzaW9uPXN0YW5kYXJkIC1Xbm8tZm9ybWF0LXRydW5j YXRpb24gLVduby1zdHJpbmdvcC10cnVuY2F0aW9uIC1nIC1PIC1mbm8tb21pdC1mcmFtZS1wb2lu dGVyICAtSS93L1ItMy41Ll8vcG9zdGdyZXMvc3JjL2luY2x1ZGUvcG9ydC93aW4zMiAtREVYRUNf QkFDS0VORCBjb25mdGVzdC5jID4mNQpjb25maWd1cmU6Njc5NDogJD8gPSAwCmNvbmZpZ3VyZTo2 ODA3OiBjaGVja2luZyBob3cgdG8gcnVuIHRoZSBDIHByZXByb2Nlc3Nvcgpjb25maWd1cmU6Njgz ODogeDg2XzY0LXc2NC1taW5ndzMyLWdjYyAtRSAgLUkvdy9SLTMuNS5fL3Bvc3RncmVzL3NyYy9p bmNsdWRlL3BvcnQvd2luMzIgLURFWEVDX0JBQ0tFTkQgY29uZnRlc3QuYwpjb25maWd1cmU6Njgz ODogJD8gPSAwCmNvbmZpZ3VyZTo2ODUyOiB4ODZfNjQtdzY0LW1pbmd3MzItZ2NjIC1FICAtSS93 L1ItMy41Ll8vcG9zdGdyZXMvc3JjL2luY2x1ZGUvcG9ydC93aW4zMiAtREVYRUNfQkFDS0VORCBj b25mdGVzdC5jCmNvbmZ0ZXN0LmM6MTY6MTA6IGZhdGFsIGVycm9yOiBhY19ub25leGlzdGVudC5o OiBObyBzdWNoIGZpbGUgb3IgZGlyZWN0b3J5CiAjaW5jbHVkZSA8YWNfbm9uZXhpc3RlbnQuaD4K ICAgICAgICAgIF5+fn5+fn5+fn5+fn5+fn5+fgpjb21waWxhdGlvbiB0ZXJtaW5hdGVkLg0KY29u ZmlndXJlOjY4NTI6ICQ/ID0gMQpjb25maWd1cmU6IGZhaWxlZCBwcm9ncmFtIHdhczoKfCAvKiBj b25mZGVmcy5oICovCnwgI2RlZmluZSBQQUNLQUdFX05BTUUgIlBvc3RncmVTUUwiCnwgI2RlZmlu ZSBQQUNLQUdFX1RBUk5BTUUgInBvc3RncmVzcWwiCnwgI2RlZmluZSBQQUNLQUdFX1ZFUlNJT04g IjExYmV0YTMiCnwgI2RlZmluZSBQQUNLQUdFX1NUUklORyAiUG9zdGdyZVNRTCAxMWJldGEzIgp8 ICNkZWZpbmUgUEFDS0FHRV9CVUdSRVBPUlQgInBnc3FsLWJ1Z3NAcG9zdGdyZXNxbC5vcmciCnwg I2RlZmluZSBQQUNLQUdFX1VSTCAiIgp8ICNkZWZpbmUgUEdfTUFKT1JWRVJTSU9OICIxMSIKfCAj ZGVmaW5lIFBHX1ZFUlNJT04gIjExYmV0YTMiCnwgI2RlZmluZSBERUZfUEdQT1JUIDU0MzIKfCAj ZGVmaW5lIERFRl9QR1BPUlRfU1RSICI1NDMyIgp8ICNkZWZpbmUgQkxDS1NaIDgxOTIKfCAjZGVm aW5lIFJFTFNFR19TSVpFIDEzMTA3Mgp8ICNkZWZpbmUgWExPR19CTENLU1ogODE5Mgp8IC8qIGVu ZCBjb25mZGVmcy5oLiAgKi8KfCAjaW5jbHVkZSA8YWNfbm9uZXhpc3RlbnQuaD4KY29uZmlndXJl OjY4Nzc6IHJlc3VsdDogeDg2XzY0LXc2NC1taW5ndzMyLWdjYyAtRQpjb25maWd1cmU6Njg5Nzog eDg2XzY0LXc2NC1taW5ndzMyLWdjYyAtRSAgLUkvdy9SLTMuNS5fL3Bvc3RncmVzL3NyYy9pbmNs dWRlL3BvcnQvd2luMzIgLURFWEVDX0JBQ0tFTkQgY29uZnRlc3QuYwpjb25maWd1cmU6Njg5Nzog JD8gPSAwCmNvbmZpZ3VyZTo2OTExOiB4ODZfNjQtdzY0LW1pbmd3MzItZ2NjIC1FICAtSS93L1It My41Ll8vcG9zdGdyZXMvc3JjL2luY2x1ZGUvcG9ydC93aW4zMiAtREVYRUNfQkFDS0VORCBjb25m dGVzdC5jCmNvbmZ0ZXN0LmM6MTY6MTA6IGZhdGFsIGVycm9yOiBhY19ub25leGlzdGVudC5oOiBO byBzdWNoIGZpbGUgb3IgZGlyZWN0b3J5CiAjaW5jbHVkZSA8YWNfbm9uZXhpc3RlbnQuaD4KICAg ICAgICAgIF5+fn5+fn5+fn5+fn5+fn5+fgpjb21waWxhdGlvbiB0ZXJtaW5hdGVkLg0KY29uZmln dXJlOjY5MTE6ICQ/ID0gMQpjb25maWd1cmU6IGZhaWxlZCBwcm9ncmFtIHdhczoKfCAvKiBjb25m ZGVmcy5oICovCnwgI2RlZmluZSBQQUNLQUdFX05BTUUgIlBvc3RncmVTUUwiCnwgI2RlZmluZSBQ QUNLQUdFX1RBUk5BTUUgInBvc3RncmVzcWwiCnwgI2RlZmluZSBQQUNLQUdFX1ZFUlNJT04gIjEx YmV0YTMiCnwgI2RlZmluZSBQQUNLQUdFX1NUUklORyAiUG9zdGdyZVNRTCAxMWJldGEzIgp8ICNk ZWZpbmUgUEFDS0FHRV9CVUdSRVBPUlQgInBnc3FsLWJ1Z3NAcG9zdGdyZXNxbC5vcmciCnwgI2Rl ZmluZSBQQUNLQUdFX1VSTCAiIgp8ICNkZWZpbmUgUEdfTUFKT1JWRVJTSU9OICIxMSIKfCAjZGVm aW5lIFBHX1ZFUlNJT04gIjExYmV0YTMiCnwgI2RlZmluZSBERUZfUEdQT1JUIDU0MzIKfCAjZGVm aW5lIERFRl9QR1BPUlRfU1RSICI1NDMyIgp8ICNkZWZpbmUgQkxDS1NaIDgxOTIKfCAjZGVmaW5l IFJFTFNFR19TSVpFIDEzMTA3Mgp8ICNkZWZpbmUgWExPR19CTENLU1ogODE5Mgp8IC8qIGVuZCBj b25mZGVmcy5oLiAgKi8KfCAjaW5jbHVkZSA8YWNfbm9uZXhpc3RlbnQuaD4KY29uZmlndXJlOjcw NTM6IGNoZWNraW5nIGFsbG93IHRocmVhZC1zYWZlIGNsaWVudCBsaWJyYXJpZXMKY29uZmlndXJl OjcwODM6IHJlc3VsdDogeWVzCmNvbmZpZ3VyZTo3MDkwOiBjaGVja2luZyB3aGV0aGVyIHRvIGJ1 aWxkIHdpdGggSUNVIHN1cHBvcnQKY29uZmlndXJlOjcxMTg6IHJlc3VsdDogeWVzCmNvbmZpZ3Vy ZTo3MTM0OiBjaGVja2luZyBmb3IgeDg2XzY0LXc2NC1taW5ndzMyLXBrZy1jb25maWcKY29uZmln dXJlOjcxNTI6IGZvdW5kIC9taW5ndzY0L2Jpbi94ODZfNjQtdzY0LW1pbmd3MzItcGtnLWNvbmZp Zwpjb25maWd1cmU6NzE2NDogcmVzdWx0OiAvbWluZ3c2NC9iaW4veDg2XzY0LXc2NC1taW5ndzMy LXBrZy1jb25maWcKY29uZmlndXJlOjcyMzI6IGNoZWNraW5nIHBrZy1jb25maWcgaXMgYXQgbGVh c3QgdmVyc2lvbiAwLjkuMApjb25maWd1cmU6NzIzNTogcmVzdWx0OiB5ZXMKY29uZmlndXJlOjcy NDU6IGNoZWNraW5nIGZvciBpY3UtdWMgaWN1LWkxOG4KY29uZmlndXJlOjczMzA6IHJlc3VsdDog eWVzCmNvbmZpZ3VyZTo3MzM5OiBjaGVja2luZyB3aGV0aGVyIHRvIGJ1aWxkIHdpdGggVGNsCmNv bmZpZ3VyZTo3MzY1OiByZXN1bHQ6IHllcwpjb25maWd1cmU6NzM5NzogY2hlY2tpbmcgd2hldGhl ciB0byBidWlsZCBQZXJsIG1vZHVsZXMKY29uZmlndXJlOjc0MjM6IHJlc3VsdDogeWVzCmNvbmZp Z3VyZTo3NDMwOiBjaGVja2luZyB3aGV0aGVyIHRvIGJ1aWxkIFB5dGhvbiBtb2R1bGVzCmNvbmZp Z3VyZTo3NDU2OiByZXN1bHQ6IHllcwpjb25maWd1cmU6NzQ2MzogY2hlY2tpbmcgd2hldGhlciB0 byBidWlsZCB3aXRoIEdTU0FQSSBzdXBwb3J0CmNvbmZpZ3VyZTo3NDk0OiByZXN1bHQ6IG5vCmNv bmZpZ3VyZTo3NTM5OiBjaGVja2luZyB3aGV0aGVyIHRvIGJ1aWxkIHdpdGggUEFNIHN1cHBvcnQK Y29uZmlndXJlOjc1Njc6IHJlc3VsdDogbm8KY29uZmlndXJlOjc1NzQ6IGNoZWNraW5nIHdoZXRo ZXIgdG8gYnVpbGQgd2l0aCBCU0QgQXV0aGVudGljYXRpb24gc3VwcG9ydApjb25maWd1cmU6NzYw MjogcmVzdWx0OiBubwpjb25maWd1cmU6NzYwOTogY2hlY2tpbmcgd2hldGhlciB0byBidWlsZCB3 aXRoIExEQVAgc3VwcG9ydApjb25maWd1cmU6NzYzNzogcmVzdWx0OiBubwpjb25maWd1cmU6NzY0 NTogY2hlY2tpbmcgd2hldGhlciB0byBidWlsZCB3aXRoIEJvbmpvdXIgc3VwcG9ydApjb25maWd1 cmU6NzY3MzogcmVzdWx0OiBubwpjb25maWd1cmU6NzY4MDogY2hlY2tpbmcgd2hldGhlciB0byBi dWlsZCB3aXRoIE9wZW5TU0wgc3VwcG9ydApjb25maWd1cmU6NzcwODogcmVzdWx0OiB5ZXMKY29u ZmlndXJlOjc3MTU6IGNoZWNraW5nIHdoZXRoZXIgdG8gYnVpbGQgd2l0aCBTRUxpbnV4IHN1cHBv cnQKY29uZmlndXJlOjc3NDI6IHJlc3VsdDogbm8KY29uZmlndXJlOjc3NDg6IGNoZWNraW5nIHdo ZXRoZXIgdG8gYnVpbGQgd2l0aCBzeXN0ZW1kIHN1cHBvcnQKY29uZmlndXJlOjc3Nzc6IHJlc3Vs dDogbm8KY29uZmlndXJlOjc4MTI6IFdBUk5JTkc6ICoqKiBSZWFkbGluZSBkb2VzIG5vdCB3b3Jr IG9uIE1pbkdXIC0tLSBkaXNhYmxpbmcKY29uZmlndXJlOjc5Njg6IGNoZWNraW5nIGZvciB4bWwy LWNvbmZpZwpjb25maWd1cmU6ODAwMTogcmVzdWx0OiBubwpjb25maWd1cmU6ODEzMzogY2hlY2tp bmcgZm9yIGdyZXAgdGhhdCBoYW5kbGVzIGxvbmcgbGluZXMgYW5kIC1lCmNvbmZpZ3VyZTo4MTkx OiByZXN1bHQ6IC91c3IvYmluL2dyZXAKY29uZmlndXJlOjgxOTY6IGNoZWNraW5nIGZvciBlZ3Jl cApjb25maWd1cmU6ODI1ODogcmVzdWx0OiAvdXNyL2Jpbi9ncmVwIC1FCmNvbmZpZ3VyZTo4MzA1 OiBjaGVja2luZyBmb3IgbGQgdXNlZCBieSBHQ0MKY29uZmlndXJlOjgzNjg6IHJlc3VsdDogQzov bXN5czY0L21pbmd3NjQveDg2XzY0LXc2NC1taW5ndzMyL2Jpbi9sZC5leGUKY29uZmlndXJlOjgz NzU6IGNoZWNraW5nIGlmIHRoZSBsaW5rZXIgKEM6L21zeXM2NC9taW5ndzY0L3g4Nl82NC13NjQt bWluZ3czMi9iaW4vbGQuZXhlKSBpcyBHTlUgbGQKR05VIGxkIChHTlUgQmludXRpbHMpIDIuMzEu MQ0KY29uZmlndXJlOjgzODc6IHJlc3VsdDogeWVzCmNvbmZpZ3VyZTo4Mzk3OiBjaGVja2luZyBm b3IgeDg2XzY0LXc2NC1taW5ndzMyLXJhbmxpYgpjb25maWd1cmU6ODQyNzogcmVzdWx0OiBubwpj b25maWd1cmU6ODQzNzogY2hlY2tpbmcgZm9yIHJhbmxpYgpjb25maWd1cmU6ODQ1MzogZm91bmQg L21pbmd3NjQvYmluL3JhbmxpYgpjb25maWd1cmU6ODQ2NDogcmVzdWx0OiByYW5saWIKY29uZmln dXJlOjg0OTA6IGNoZWNraW5nIGZvciB4ODZfNjQtdzY0LW1pbmd3MzItc3RyaXAKY29uZmlndXJl Ojg1MjA6IHJlc3VsdDogbm8KY29uZmlndXJlOjg1MzA6IGNoZWNraW5nIGZvciBzdHJpcApjb25m aWd1cmU6ODU0NjogZm91bmQgL21pbmd3NjQvYmluL3N0cmlwCmNvbmZpZ3VyZTo4NTU3OiByZXN1 bHQ6IHN0cmlwCmNvbmZpZ3VyZTo4NTgwOiBjaGVja2luZyB3aGV0aGVyIGl0IGlzIHBvc3NpYmxl IHRvIHN0cmlwIGxpYnJhcmllcwpjb25maWd1cmU6ODU4NTogcmVzdWx0OiB5ZXMKY29uZmlndXJl Ojg2MTA6IGNoZWNraW5nIGZvciB4ODZfNjQtdzY0LW1pbmd3MzItYXIKY29uZmlndXJlOjg2NDA6 IHJlc3VsdDogbm8KY29uZmlndXJlOjg2NTA6IGNoZWNraW5nIGZvciBhcgpjb25maWd1cmU6ODY2 NjogZm91bmQgL21pbmd3NjQvYmluL2FyCmNvbmZpZ3VyZTo4Njc3OiByZXN1bHQ6IGFyCmNvbmZp Z3VyZTo4NzAzOiBjaGVja2luZyBmb3IgeDg2XzY0LXc2NC1taW5ndzMyLWRsbHRvb2wKY29uZmln dXJlOjg3MzM6IHJlc3VsdDogbm8KY29uZmlndXJlOjg3NDM6IGNoZWNraW5nIGZvciBkbGx0b29s CmNvbmZpZ3VyZTo4NzU5OiBmb3VuZCAvbWluZ3c2NC9iaW4vZGxsdG9vbApjb25maWd1cmU6ODc3 MDogcmVzdWx0OiBkbGx0b29sCmNvbmZpZ3VyZTo4Nzk1OiBjaGVja2luZyBmb3IgeDg2XzY0LXc2 NC1taW5ndzMyLWRsbHdyYXAKY29uZmlndXJlOjg4MjU6IHJlc3VsdDogbm8KY29uZmlndXJlOjg4 MzU6IGNoZWNraW5nIGZvciBkbGx3cmFwCmNvbmZpZ3VyZTo4ODUxOiBmb3VuZCAvbWluZ3c2NC9i aW4vZGxsd3JhcApjb25maWd1cmU6ODg2MjogcmVzdWx0OiBkbGx3cmFwCmNvbmZpZ3VyZTo4ODg3 OiBjaGVja2luZyBmb3IgeDg2XzY0LXc2NC1taW5ndzMyLXdpbmRyZXMKY29uZmlndXJlOjg5MTc6 IHJlc3VsdDogbm8KY29uZmlndXJlOjg5Mjc6IGNoZWNraW5nIGZvciB3aW5kcmVzCmNvbmZpZ3Vy ZTo4OTQzOiBmb3VuZCAvbWluZ3c2NC9iaW4vd2luZHJlcwpjb25maWd1cmU6ODk1NDogcmVzdWx0 OiB3aW5kcmVzCmNvbmZpZ3VyZTo4OTkyOiBjaGVja2luZyBmb3IgYSBCU0QtY29tcGF0aWJsZSBp bnN0YWxsCmNvbmZpZ3VyZTo5MDYwOiByZXN1bHQ6IC91c3IvYmluL2luc3RhbGwgLWMKY29uZmln dXJlOjkwODU6IGNoZWNraW5nIGZvciB0YXIKY29uZmlndXJlOjkxMDM6IGZvdW5kIC91c3IvYmlu L3Rhcgpjb25maWd1cmU6OTExNTogcmVzdWx0OiAvdXNyL2Jpbi90YXIKY29uZmlndXJlOjkxMzQ6 IGNoZWNraW5nIHdoZXRoZXIgbG4gLXMgd29ya3MKY29uZmlndXJlOjkxNDE6IHJlc3VsdDogbm8s IHVzaW5nIGNwIC1wUgpjb25maWd1cmU6OTE0OTogY2hlY2tpbmcgZm9yIGdhd2sKY29uZmlndXJl OjkxNjU6IGZvdW5kIC91c3IvYmluL2dhd2sKY29uZmlndXJlOjkxNzY6IHJlc3VsdDogZ2F3awpj b25maWd1cmU6OTE4NzogY2hlY2tpbmcgZm9yIGEgdGhyZWFkLXNhZmUgbWtkaXIgLXAKY29uZmln dXJlOjkyMjY6IHJlc3VsdDogL3Vzci9iaW4vbWtkaXIgLXAKY29uZmlndXJlOjkyNDE6IGNoZWNr aW5nIGZvciBiaXNvbgpjb25maWd1cmU6OTI1OTogZm91bmQgL3Vzci9iaW4vYmlzb24KY29uZmln dXJlOjkyNzE6IHJlc3VsdDogL3Vzci9iaW4vYmlzb24KY29uZmlndXJlOjkyOTM6IHVzaW5nIGJp c29uIChHTlUgQmlzb24pIDMuMC41CmNvbmZpZ3VyZTo5MzMyOiBjaGVja2luZyBmb3IgZmxleApj b25maWd1cmU6OTM3NzogcmVzdWx0OiAvdXNyL2Jpbi9mbGV4CmNvbmZpZ3VyZTo5Mzk3OiB1c2lu ZyBmbGV4IDIuNi40CmNvbmZpZ3VyZTo5NDEwOiBjaGVja2luZyBmb3IgcGVybApjb25maWd1cmU6 OTQyODogZm91bmQgL2MvU3RyYXdiZXJyeS9wZXJsL2Jpbi9wZXJsCmNvbmZpZ3VyZTo5NDQwOiBy ZXN1bHQ6IC9jL1N0cmF3YmVycnkvcGVybC9iaW4vcGVybApjb25maWd1cmU6OTQ2MjogdXNpbmcg cGVybCA1LjI4LjAKY29uZmlndXJlOjk0OTU6IGNoZWNraW5nIGZvciBQZXJsIGFyY2hsaWJleHAK Y29uZmlndXJlOjk0OTk6IHJlc3VsdDogQzovU1RSQVdCfjEvcGVybC9saWIKY29uZmlndXJlOjk1 MDE6IGNoZWNraW5nIGZvciBQZXJsIHByaXZsaWJleHAKY29uZmlndXJlOjk1MDU6IHJlc3VsdDog QzovU1RSQVdCfjEvcGVybC9saWIKY29uZmlndXJlOjk1MDc6IGNoZWNraW5nIGZvciBQZXJsIHVz ZXNocnBsaWIKY29uZmlndXJlOjk1MTE6IHJlc3VsdDogdHJ1ZQpjb25maWd1cmU6OTUyMDogY2hl Y2tpbmcgZm9yIENGTEFHUyByZWNvbW1lbmRlZCBieSBQZXJsCmNvbmZpZ3VyZTo5NTIzOiByZXN1 bHQ6ICAtcyAtTzIgLURXSU4zMiAtRFdJTjY0IC1EQ09OU0VSVkFUSVZFIC1EX19VU0VfTUlOR1df QU5TSV9TVERJTyAtRFBFUkxfVEVYVE1PREVfU0NSSVBUUyAtRFBFUkxfSU1QTElDSVRfQ09OVEVY VCAtRFBFUkxfSU1QTElDSVRfU1lTIC1EVVNFX1BFUkxJTyAtZndyYXB2IC1mbm8tc3RyaWN0LWFs aWFzaW5nIC1tbXMtYml0ZmllbGRzCmNvbmZpZ3VyZTo5NTI1OiBjaGVja2luZyBmb3IgQ0ZMQUdT IHRvIGNvbXBpbGUgZW1iZWRkZWQgUGVybApjb25maWd1cmU6OTUyODogcmVzdWx0OiAtRFdJTjMy IC1EV0lONjQgLURDT05TRVJWQVRJVkUgLURQRVJMX1RFWFRNT0RFX1NDUklQVFMgLURQRVJMX0lN UExJQ0lUX0NPTlRFWFQgLURQRVJMX0lNUExJQ0lUX1NZUyAtRFVTRV9QRVJMSU8gCmNvbmZpZ3Vy ZTo5NTMyOiBjaGVja2luZyBmb3IgZmxhZ3MgdG8gbGluayBlbWJlZGRlZCBQZXJsCmNvbmZpZ3Vy ZTo5NTU2OiByZXN1bHQ6IC1MQzovU1RSQVdCfjEvcGVybC9saWIvQ09SRSAtbHBlcmw1MjgKY29u ZmlndXJlOjk1Njg6IGNoZWNraW5nIGZvciBweXRob24KY29uZmlndXJlOjk1ODY6IGZvdW5kIC9j L1Byb2dyYW1EYXRhL0FuYWNvbmRhMy9weXRob24KY29uZmlndXJlOjk1OTg6IHJlc3VsdDogL2Mv UHJvZ3JhbURhdGEvQW5hY29uZGEzL3B5dGhvbgpjb25maWd1cmU6OTYyMzogdXNpbmcgcHl0aG9u IDMuNi41IHxBbmFjb25kYSwgSW5jLnwgKGRlZmF1bHQsIE1hciAyOSAyMDE4LCAxMzozMjo0MSkg W01TQyB2LjE5MDAgNjQgYml0IChBTUQ2NCldCmNvbmZpZ3VyZTo5NjM0OiBjaGVja2luZyBmb3Ig UHl0aG9uIGRpc3R1dGlscyBtb2R1bGUKY29uZmlndXJlOjk2Mzg6IHJlc3VsdDogeWVzCmNvbmZp Z3VyZTo5NjQ2OiBjaGVja2luZyBQeXRob24gY29uZmlndXJhdGlvbiBkaXJlY3RvcnkKY29uZmln dXJlOjk2NDk6IHJlc3VsdDogCmNvbmZpZ3VyZTo5NjUyOiBjaGVja2luZyBQeXRob24gaW5jbHVk ZSBkaXJlY3Rvcmllcwpjb25maWd1cmU6OTY2NTogcmVzdWx0OiAtSUM6L1Byb2dyYW1EYXRhL0Fu YWNvbmRhMy9pbmNsdWRlCmNvbmZpZ3VyZTo5NjcwOiBjaGVja2luZyBob3cgdG8gbGluayBhbiBl bWJlZGRlZCBQeXRob24gYXBwbGljYXRpb24KY29uZmlndXJlOjk3NTI6IHJlc3VsdDogLUxjOi9X aW5kb3dzL1N5c3RlbTMyIC1scHl0aG9uMzYgCmNvbmZpZ3VyZTo5ODM5OiBjaGVja2luZyBmb3Ig QU5TSSBDIGhlYWRlciBmaWxlcwpjb25maWd1cmU6OTg1OTogeDg2XzY0LXc2NC1taW5ndzMyLWdj YyAtYyAtV2FsbCAtV21pc3NpbmctcHJvdG90eXBlcyAtV3BvaW50ZXItYXJpdGggLVdkZWNsYXJh dGlvbi1hZnRlci1zdGF0ZW1lbnQgLVdlbmRpZi1sYWJlbHMgLVdtaXNzaW5nLWZvcm1hdC1hdHRy aWJ1dGUgLVdmb3JtYXQtc2VjdXJpdHkgLWZuby1zdHJpY3QtYWxpYXNpbmcgLWZ3cmFwdiAtZmV4 Y2Vzcy1wcmVjaXNpb249c3RhbmRhcmQgLVduby1mb3JtYXQtdHJ1bmNhdGlvbiAtV25vLXN0cmlu Z29wLXRydW5jYXRpb24gLWcgLU8gLWZuby1vbWl0LWZyYW1lLXBvaW50ZXIgIC1JL3cvUi0zLjUu Xy9wb3N0Z3Jlcy9zcmMvaW5jbHVkZS9wb3J0L3dpbjMyIC1ERVhFQ19CQUNLRU5EICAtSS93L3ps aWItMS4yLjgtd2luMzIteDg2XzY0L2luY2x1ZGUgLUkvdy9vcGVuc3NsLTEuMC4yZS13aW4zMi14 ODZfNjQvaW5jbHVkZSAtSS93L2xpYnhtbDItMi45LjMtd2luMzIteDg2XzY0L2luY2x1ZGUvbGli eG1sMiAtSS93L2xpYnhzbHQtMS4xLjI4LXdpbjMyLXg4Nl82NC9pbmNsdWRlIGNvbmZ0ZXN0LmMg PiY1CmNvbmZpZ3VyZTo5ODU5OiAkPyA9IDAKY29uZmlndXJlOjk5MzI6IHg4Nl82NC13NjQtbWlu Z3czMi1nY2MgLW8gY29uZnRlc3QuZXhlIC1XYWxsIC1XbWlzc2luZy1wcm90b3R5cGVzIC1XcG9p bnRlci1hcml0aCAtV2RlY2xhcmF0aW9uLWFmdGVyLXN0YXRlbWVudCAtV2VuZGlmLWxhYmVscyAt V21pc3NpbmctZm9ybWF0LWF0dHJpYnV0ZSAtV2Zvcm1hdC1zZWN1cml0eSAtZm5vLXN0cmljdC1h bGlhc2luZyAtZndyYXB2IC1mZXhjZXNzLXByZWNpc2lvbj1zdGFuZGFyZCAtV25vLWZvcm1hdC10 cnVuY2F0aW9uIC1Xbm8tc3RyaW5nb3AtdHJ1bmNhdGlvbiAtZyAtTyAtZm5vLW9taXQtZnJhbWUt cG9pbnRlciAgLUkvdy9SLTMuNS5fL3Bvc3RncmVzL3NyYy9pbmNsdWRlL3BvcnQvd2luMzIgLURF WEVDX0JBQ0tFTkQgIC1JL3cvemxpYi0xLjIuOC13aW4zMi14ODZfNjQvaW5jbHVkZSAtSS93L29w ZW5zc2wtMS4wLjJlLXdpbjMyLXg4Nl82NC9pbmNsdWRlIC1JL3cvbGlieG1sMi0yLjkuMy13aW4z Mi14ODZfNjQvaW5jbHVkZS9saWJ4bWwyIC1JL3cvbGlieHNsdC0xLjEuMjgtd2luMzIteDg2XzY0 L2luY2x1ZGUgIC1XbCwtLWFsbG93LW11bHRpcGxlLWRlZmluaXRpb24gLVdsLC0tZGlzYWJsZS1h dXRvLWltcG9ydCAgLUwvdy96bGliLTEuMi44LXdpbjMyLXg4Nl82NC9saWIgLUwvdy9vcGVuc3Ns LTEuMC4yZS13aW4zMi14ODZfNjQvbGliIC1ML3cvbGlieG1sMi0yLjkuMy13aW4zMi14ODZfNjQv bGliIC1ML3cvbGlieHNsdC0xLjEuMjgtd2luMzIteDg2XzY0L2xpYiBjb25mdGVzdC5jICA+JjUK Y29uZmlndXJlOjk5MzI6ICQ/ID0gMApjb25maWd1cmU6OTkzMjogLi9jb25mdGVzdC5leGUKY29u ZmlndXJlOjk5MzI6ICQ/ID0gMApjb25maWd1cmU6OTk0MzogcmVzdWx0OiB5ZXMKY29uZmlndXJl Ojk5NTY6IGNoZWNraW5nIGZvciBzeXMvdHlwZXMuaApjb25maWd1cmU6OTk1NjogeDg2XzY0LXc2 NC1taW5ndzMyLWdjYyAtYyAtV2FsbCAtV21pc3NpbmctcHJvdG90eXBlcyAtV3BvaW50ZXItYXJp dGggLVdkZWNsYXJhdGlvbi1hZnRlci1zdGF0ZW1lbnQgLVdlbmRpZi1sYWJlbHMgLVdtaXNzaW5n LWZvcm1hdC1hdHRyaWJ1dGUgLVdmb3JtYXQtc2VjdXJpdHkgLWZuby1zdHJpY3QtYWxpYXNpbmcg LWZ3cmFwdiAtZmV4Y2Vzcy1wcmVjaXNpb249c3RhbmRhcmQgLVduby1mb3JtYXQtdHJ1bmNhdGlv biAtV25vLXN0cmluZ29wLXRydW5jYXRpb24gLWcgLU8gLWZuby1vbWl0LWZyYW1lLXBvaW50ZXIg IC1JL3cvUi0zLjUuXy9wb3N0Z3Jlcy9zcmMvaW5jbHVkZS9wb3J0L3dpbjMyIC1ERVhFQ19CQUNL RU5EICAtSS93L3psaWItMS4yLjgtd2luMzIteDg2XzY0L2luY2x1ZGUgLUkvdy9vcGVuc3NsLTEu MC4yZS13aW4zMi14ODZfNjQvaW5jbHVkZSAtSS93L2xpYnhtbDItMi45LjMtd2luMzIteDg2XzY0 L2luY2x1ZGUvbGlieG1sMiAtSS93L2xpYnhzbHQtMS4xLjI4LXdpbjMyLXg4Nl82NC9pbmNsdWRl IGNvbmZ0ZXN0LmMgPiY1CmNvbmZpZ3VyZTo5OTU2OiAkPyA9IDAKY29uZmlndXJlOjk5NTY6IHJl c3VsdDogeWVzCmNvbmZpZ3VyZTo5OTU2OiBjaGVja2luZyBmb3Igc3lzL3N0YXQuaApjb25maWd1 cmU6OTk1NjogeDg2XzY0LXc2NC1taW5ndzMyLWdjYyAtYyAtV2FsbCAtV21pc3NpbmctcHJvdG90 eXBlcyAtV3BvaW50ZXItYXJpdGggLVdkZWNsYXJhdGlvbi1hZnRlci1zdGF0ZW1lbnQgLVdlbmRp Zi1sYWJlbHMgLVdtaXNzaW5nLWZvcm1hdC1hdHRyaWJ1dGUgLVdmb3JtYXQtc2VjdXJpdHkgLWZu by1zdHJpY3QtYWxpYXNpbmcgLWZ3cmFwdiAtZmV4Y2Vzcy1wcmVjaXNpb249c3RhbmRhcmQgLVdu by1mb3JtYXQtdHJ1bmNhdGlvbiAtV25vLXN0cmluZ29wLXRydW5jYXRpb24gLWcgLU8gLWZuby1v bWl0LWZyYW1lLXBvaW50ZXIgIC1JL3cvUi0zLjUuXy9wb3N0Z3Jlcy9zcmMvaW5jbHVkZS9wb3J0 L3dpbjMyIC1ERVhFQ19CQUNLRU5EICAtSS93L3psaWItMS4yLjgtd2luMzIteDg2XzY0L2luY2x1 ZGUgLUkvdy9vcGVuc3NsLTEuMC4yZS13aW4zMi14ODZfNjQvaW5jbHVkZSAtSS93L2xpYnhtbDIt Mi45LjMtd2luMzIteDg2XzY0L2luY2x1ZGUvbGlieG1sMiAtSS93L2xpYnhzbHQtMS4xLjI4LXdp bjMyLXg4Nl82NC9pbmNsdWRlIGNvbmZ0ZXN0LmMgPiY1CmNvbmZpZ3VyZTo5OTU2OiAkPyA9IDAK Y29uZmlndXJlOjk5NTY6IHJlc3VsdDogeWVzCmNvbmZpZ3VyZTo5OTU2OiBjaGVja2luZyBmb3Ig c3RkbGliLmgKY29uZmlndXJlOjk5NTY6IHg4Nl82NC13NjQtbWluZ3czMi1nY2MgLWMgLVdhbGwg LVdtaXNzaW5nLXByb3RvdHlwZXMgLVdwb2ludGVyLWFyaXRoIC1XZGVjbGFyYXRpb24tYWZ0ZXIt c3RhdGVtZW50IC1XZW5kaWYtbGFiZWxzIC1XbWlzc2luZy1mb3JtYXQtYXR0cmlidXRlIC1XZm9y bWF0LXNlY3VyaXR5IC1mbm8tc3RyaWN0LWFsaWFzaW5nIC1md3JhcHYgLWZleGNlc3MtcHJlY2lz aW9uPXN0YW5kYXJkIC1Xbm8tZm9ybWF0LXRydW5jYXRpb24gLVduby1zdHJpbmdvcC10cnVuY2F0 aW9uIC1nIC1PIC1mbm8tb21pdC1mcmFtZS1wb2ludGVyICAtSS93L1ItMy41Ll8vcG9zdGdyZXMv c3JjL2luY2x1ZGUvcG9ydC93aW4zMiAtREVYRUNfQkFDS0VORCAgLUkvdy96bGliLTEuMi44LXdp bjMyLXg4Nl82NC9pbmNsdWRlIC1JL3cvb3BlbnNzbC0xLjAuMmUtd2luMzIteDg2XzY0L2luY2x1 ZGUgLUkvdy9saWJ4bWwyLTIuOS4zLXdpbjMyLXg4Nl82NC9pbmNsdWRlL2xpYnhtbDIgLUkvdy9s aWJ4c2x0LTEuMS4yOC13aW4zMi14ODZfNjQvaW5jbHVkZSBjb25mdGVzdC5jID4mNQpjb25maWd1 cmU6OTk1NjogJD8gPSAwCmNvbmZpZ3VyZTo5OTU2OiByZXN1bHQ6IHllcwpjb25maWd1cmU6OTk1 NjogY2hlY2tpbmcgZm9yIHN0cmluZy5oCmNvbmZpZ3VyZTo5OTU2OiB4ODZfNjQtdzY0LW1pbmd3 MzItZ2NjIC1jIC1XYWxsIC1XbWlzc2luZy1wcm90b3R5cGVzIC1XcG9pbnRlci1hcml0aCAtV2Rl Y2xhcmF0aW9uLWFmdGVyLXN0YXRlbWVudCAtV2VuZGlmLWxhYmVscyAtV21pc3NpbmctZm9ybWF0 LWF0dHJpYnV0ZSAtV2Zvcm1hdC1zZWN1cml0eSAtZm5vLXN0cmljdC1hbGlhc2luZyAtZndyYXB2 IC1mZXhjZXNzLXByZWNpc2lvbj1zdGFuZGFyZCAtV25vLWZvcm1hdC10cnVuY2F0aW9uIC1Xbm8t c3RyaW5nb3AtdHJ1bmNhdGlvbiAtZyAtTyAtZm5vLW9taXQtZnJhbWUtcG9pbnRlciAgLUkvdy9S LTMuNS5fL3Bvc3RncmVzL3NyYy9pbmNsdWRlL3BvcnQvd2luMzIgLURFWEVDX0JBQ0tFTkQgIC1J L3cvemxpYi0xLjIuOC13aW4zMi14ODZfNjQvaW5jbHVkZSAtSS93L29wZW5zc2wtMS4wLjJlLXdp bjMyLXg4Nl82NC9pbmNsdWRlIC1JL3cvbGlieG1sMi0yLjkuMy13aW4zMi14ODZfNjQvaW5jbHVk ZS9saWJ4bWwyIC1JL3cvbGlieHNsdC0xLjEuMjgtd2luMzIteDg2XzY0L2luY2x1ZGUgY29uZnRl c3QuYyA+JjUKY29uZmlndXJlOjk5NTY6ICQ/ID0gMApjb25maWd1cmU6OTk1NjogcmVzdWx0OiB5 ZXMKY29uZmlndXJlOjk5NTY6IGNoZWNraW5nIGZvciBtZW1vcnkuaApjb25maWd1cmU6OTk1Njog eDg2XzY0LXc2NC1taW5ndzMyLWdjYyAtYyAtV2FsbCAtV21pc3NpbmctcHJvdG90eXBlcyAtV3Bv aW50ZXItYXJpdGggLVdkZWNsYXJhdGlvbi1hZnRlci1zdGF0ZW1lbnQgLVdlbmRpZi1sYWJlbHMg LVdtaXNzaW5nLWZvcm1hdC1hdHRyaWJ1dGUgLVdmb3JtYXQtc2VjdXJpdHkgLWZuby1zdHJpY3Qt YWxpYXNpbmcgLWZ3cmFwdiAtZmV4Y2Vzcy1wcmVjaXNpb249c3RhbmRhcmQgLVduby1mb3JtYXQt dHJ1bmNhdGlvbiAtV25vLXN0cmluZ29wLXRydW5jYXRpb24gLWcgLU8gLWZuby1vbWl0LWZyYW1l LXBvaW50ZXIgIC1JL3cvUi0zLjUuXy9wb3N0Z3Jlcy9zcmMvaW5jbHVkZS9wb3J0L3dpbjMyIC1E RVhFQ19CQUNLRU5EICAtSS93L3psaWItMS4yLjgtd2luMzIteDg2XzY0L2luY2x1ZGUgLUkvdy9v cGVuc3NsLTEuMC4yZS13aW4zMi14ODZfNjQvaW5jbHVkZSAtSS93L2xpYnhtbDItMi45LjMtd2lu MzIteDg2XzY0L2luY2x1ZGUvbGlieG1sMiAtSS93L2xpYnhzbHQtMS4xLjI4LXdpbjMyLXg4Nl82 NC9pbmNsdWRlIGNvbmZ0ZXN0LmMgPiY1CmNvbmZpZ3VyZTo5OTU2OiAkPyA9IDAKY29uZmlndXJl Ojk5NTY6IHJlc3VsdDogeWVzCmNvbmZpZ3VyZTo5OTU2OiBjaGVja2luZyBmb3Igc3RyaW5ncy5o CmNvbmZpZ3VyZTo5OTU2OiB4ODZfNjQtdzY0LW1pbmd3MzItZ2NjIC1jIC1XYWxsIC1XbWlzc2lu Zy1wcm90b3R5cGVzIC1XcG9pbnRlci1hcml0aCAtV2RlY2xhcmF0aW9uLWFmdGVyLXN0YXRlbWVu dCAtV2VuZGlmLWxhYmVscyAtV21pc3NpbmctZm9ybWF0LWF0dHJpYnV0ZSAtV2Zvcm1hdC1zZWN1 cml0eSAtZm5vLXN0cmljdC1hbGlhc2luZyAtZndyYXB2IC1mZXhjZXNzLXByZWNpc2lvbj1zdGFu ZGFyZCAtV25vLWZvcm1hdC10cnVuY2F0aW9uIC1Xbm8tc3RyaW5nb3AtdHJ1bmNhdGlvbiAtZyAt TyAtZm5vLW9taXQtZnJhbWUtcG9pbnRlciAgLUkvdy9SLTMuNS5fL3Bvc3RncmVzL3NyYy9pbmNs dWRlL3BvcnQvd2luMzIgLURFWEVDX0JBQ0tFTkQgIC1JL3cvemxpYi0xLjIuOC13aW4zMi14ODZf NjQvaW5jbHVkZSAtSS93L29wZW5zc2wtMS4wLjJlLXdpbjMyLXg4Nl82NC9pbmNsdWRlIC1JL3cv bGlieG1sMi0yLjkuMy13aW4zMi14ODZfNjQvaW5jbHVkZS9saWJ4bWwyIC1JL3cvbGlieHNsdC0x LjEuMjgtd2luMzIteDg2XzY0L2luY2x1ZGUgY29uZnRlc3QuYyA+JjUKY29uZmlndXJlOjk5NTY6 ICQ/ID0gMApjb25maWd1cmU6OTk1NjogcmVzdWx0OiB5ZXMKY29uZmlndXJlOjk5NTY6IGNoZWNr aW5nIGZvciBpbnR0eXBlcy5oCmNvbmZpZ3VyZTo5OTU2OiB4ODZfNjQtdzY0LW1pbmd3MzItZ2Nj IC1jIC1XYWxsIC1XbWlzc2luZy1wcm90b3R5cGVzIC1XcG9pbnRlci1hcml0aCAtV2RlY2xhcmF0 aW9uLWFmdGVyLXN0YXRlbWVudCAtV2VuZGlmLWxhYmVscyAtV21pc3NpbmctZm9ybWF0LWF0dHJp YnV0ZSAtV2Zvcm1hdC1zZWN1cml0eSAtZm5vLXN0cmljdC1hbGlhc2luZyAtZndyYXB2IC1mZXhj ZXNzLXByZWNpc2lvbj1zdGFuZGFyZCAtV25vLWZvcm1hdC10cnVuY2F0aW9uIC1Xbm8tc3RyaW5n b3AtdHJ1bmNhdGlvbiAtZyAtTyAtZm5vLW9taXQtZnJhbWUtcG9pbnRlciAgLUkvdy9SLTMuNS5f L3Bvc3RncmVzL3NyYy9pbmNsdWRlL3BvcnQvd2luMzIgLURFWEVDX0JBQ0tFTkQgIC1JL3cvemxp Yi0xLjIuOC13aW4zMi14ODZfNjQvaW5jbHVkZSAtSS93L29wZW5zc2wtMS4wLjJlLXdpbjMyLXg4 Nl82NC9pbmNsdWRlIC1JL3cvbGlieG1sMi0yLjkuMy13aW4zMi14ODZfNjQvaW5jbHVkZS9saWJ4 bWwyIC1JL3cvbGlieHNsdC0xLjEuMjgtd2luMzIteDg2XzY0L2luY2x1ZGUgY29uZnRlc3QuYyA+ JjUKY29uZmlndXJlOjk5NTY6ICQ/ID0gMApjb25maWd1cmU6OTk1NjogcmVzdWx0OiB5ZXMKY29u ZmlndXJlOjk5NTY6IGNoZWNraW5nIGZvciBzdGRpbnQuaApjb25maWd1cmU6OTk1NjogeDg2XzY0 LXc2NC1taW5ndzMyLWdjYyAtYyAtV2FsbCAtV21pc3NpbmctcHJvdG90eXBlcyAtV3BvaW50ZXIt YXJpdGggLVdkZWNsYXJhdGlvbi1hZnRlci1zdGF0ZW1lbnQgLVdlbmRpZi1sYWJlbHMgLVdtaXNz aW5nLWZvcm1hdC1hdHRyaWJ1dGUgLVdmb3JtYXQtc2VjdXJpdHkgLWZuby1zdHJpY3QtYWxpYXNp bmcgLWZ3cmFwdiAtZmV4Y2Vzcy1wcmVjaXNpb249c3RhbmRhcmQgLVduby1mb3JtYXQtdHJ1bmNh dGlvbiAtV25vLXN0cmluZ29wLXRydW5jYXRpb24gLWcgLU8gLWZuby1vbWl0LWZyYW1lLXBvaW50 ZXIgIC1JL3cvUi0zLjUuXy9wb3N0Z3Jlcy9zcmMvaW5jbHVkZS9wb3J0L3dpbjMyIC1ERVhFQ19C QUNLRU5EICAtSS93L3psaWItMS4yLjgtd2luMzIteDg2XzY0L2luY2x1ZGUgLUkvdy9vcGVuc3Ns LTEuMC4yZS13aW4zMi14ODZfNjQvaW5jbHVkZSAtSS93L2xpYnhtbDItMi45LjMtd2luMzIteDg2 XzY0L2luY2x1ZGUvbGlieG1sMiAtSS93L2xpYnhzbHQtMS4xLjI4LXdpbjMyLXg4Nl82NC9pbmNs dWRlIGNvbmZ0ZXN0LmMgPiY1CmNvbmZpZ3VyZTo5OTU2OiAkPyA9IDAKY29uZmlndXJlOjk5NTY6 IHJlc3VsdDogeWVzCmNvbmZpZ3VyZTo5OTU2OiBjaGVja2luZyBmb3IgdW5pc3RkLmgKY29uZmln dXJlOjk5NTY6IHg4Nl82NC13NjQtbWluZ3czMi1nY2MgLWMgLVdhbGwgLVdtaXNzaW5nLXByb3Rv dHlwZXMgLVdwb2ludGVyLWFyaXRoIC1XZGVjbGFyYXRpb24tYWZ0ZXItc3RhdGVtZW50IC1XZW5k aWYtbGFiZWxzIC1XbWlzc2luZy1mb3JtYXQtYXR0cmlidXRlIC1XZm9ybWF0LXNlY3VyaXR5IC1m bm8tc3RyaWN0LWFsaWFzaW5nIC1md3JhcHYgLWZleGNlc3MtcHJlY2lzaW9uPXN0YW5kYXJkIC1X bm8tZm9ybWF0LXRydW5jYXRpb24gLVduby1zdHJpbmdvcC10cnVuY2F0aW9uIC1nIC1PIC1mbm8t b21pdC1mcmFtZS1wb2ludGVyICAtSS93L1ItMy41Ll8vcG9zdGdyZXMvc3JjL2luY2x1ZGUvcG9y dC93aW4zMiAtREVYRUNfQkFDS0VORCAgLUkvdy96bGliLTEuMi44LXdpbjMyLXg4Nl82NC9pbmNs dWRlIC1JL3cvb3BlbnNzbC0xLjAuMmUtd2luMzIteDg2XzY0L2luY2x1ZGUgLUkvdy9saWJ4bWwy LTIuOS4zLXdpbjMyLXg4Nl82NC9pbmNsdWRlL2xpYnhtbDIgLUkvdy9saWJ4c2x0LTEuMS4yOC13 aW4zMi14ODZfNjQvaW5jbHVkZSBjb25mdGVzdC5jID4mNQpjb25maWd1cmU6OTk1NjogJD8gPSAw CmNvbmZpZ3VyZTo5OTU2OiByZXN1bHQ6IHllcwpjb25maWd1cmU6MTA1ODA6IGNoZWNraW5nIGZv ciBtYWluIGluIC1sbQpjb25maWd1cmU6MTA1OTk6IHg4Nl82NC13NjQtbWluZ3czMi1nY2MgLW8g Y29uZnRlc3QuZXhlIC1XYWxsIC1XbWlzc2luZy1wcm90b3R5cGVzIC1XcG9pbnRlci1hcml0aCAt V2RlY2xhcmF0aW9uLWFmdGVyLXN0YXRlbWVudCAtV2VuZGlmLWxhYmVscyAtV21pc3NpbmctZm9y bWF0LWF0dHJpYnV0ZSAtV2Zvcm1hdC1zZWN1cml0eSAtZm5vLXN0cmljdC1hbGlhc2luZyAtZndy YXB2IC1mZXhjZXNzLXByZWNpc2lvbj1zdGFuZGFyZCAtV25vLWZvcm1hdC10cnVuY2F0aW9uIC1X bm8tc3RyaW5nb3AtdHJ1bmNhdGlvbiAtZyAtTyAtZm5vLW9taXQtZnJhbWUtcG9pbnRlciAgLUkv dy9SLTMuNS5fL3Bvc3RncmVzL3NyYy9pbmNsdWRlL3BvcnQvd2luMzIgLURFWEVDX0JBQ0tFTkQg IC1JL3cvemxpYi0xLjIuOC13aW4zMi14ODZfNjQvaW5jbHVkZSAtSS93L29wZW5zc2wtMS4wLjJl LXdpbjMyLXg4Nl82NC9pbmNsdWRlIC1JL3cvbGlieG1sMi0yLjkuMy13aW4zMi14ODZfNjQvaW5j bHVkZS9saWJ4bWwyIC1JL3cvbGlieHNsdC0xLjEuMjgtd2luMzIteDg2XzY0L2luY2x1ZGUgIC1X bCwtLWFsbG93LW11bHRpcGxlLWRlZmluaXRpb24gLVdsLC0tZGlzYWJsZS1hdXRvLWltcG9ydCAg LUwvdy96bGliLTEuMi44LXdpbjMyLXg4Nl82NC9saWIgLUwvdy9vcGVuc3NsLTEuMC4yZS13aW4z Mi14ODZfNjQvbGliIC1ML3cvbGlieG1sMi0yLjkuMy13aW4zMi14ODZfNjQvbGliIC1ML3cvbGli eHNsdC0xLjEuMjgtd2luMzIteDg2XzY0L2xpYiBjb25mdGVzdC5jIC1sbSAgID4mNQpjb25maWd1 cmU6MTA1OTk6ICQ/ID0gMApjb25maWd1cmU6MTA2MDg6IHJlc3VsdDogeWVzCmNvbmZpZ3VyZTox MDYxOTogY2hlY2tpbmcgZm9yIGxpYnJhcnkgY29udGFpbmluZyBzZXRwcm9jdGl0bGUKY29uZmln dXJlOjEwNjUwOiB4ODZfNjQtdzY0LW1pbmd3MzItZ2NjIC1vIGNvbmZ0ZXN0LmV4ZSAtV2FsbCAt V21pc3NpbmctcHJvdG90eXBlcyAtV3BvaW50ZXItYXJpdGggLVdkZWNsYXJhdGlvbi1hZnRlci1z dGF0ZW1lbnQgLVdlbmRpZi1sYWJlbHMgLVdtaXNzaW5nLWZvcm1hdC1hdHRyaWJ1dGUgLVdmb3Jt YXQtc2VjdXJpdHkgLWZuby1zdHJpY3QtYWxpYXNpbmcgLWZ3cmFwdiAtZmV4Y2Vzcy1wcmVjaXNp b249c3RhbmRhcmQgLVduby1mb3JtYXQtdHJ1bmNhdGlvbiAtV25vLXN0cmluZ29wLXRydW5jYXRp b24gLWcgLU8gLWZuby1vbWl0LWZyYW1lLXBvaW50ZXIgIC1JL3cvUi0zLjUuXy9wb3N0Z3Jlcy9z cmMvaW5jbHVkZS9wb3J0L3dpbjMyIC1ERVhFQ19CQUNLRU5EICAtSS93L3psaWItMS4yLjgtd2lu MzIteDg2XzY0L2luY2x1ZGUgLUkvdy9vcGVuc3NsLTEuMC4yZS13aW4zMi14ODZfNjQvaW5jbHVk ZSAtSS93L2xpYnhtbDItMi45LjMtd2luMzIteDg2XzY0L2luY2x1ZGUvbGlieG1sMiAtSS93L2xp YnhzbHQtMS4xLjI4LXdpbjMyLXg4Nl82NC9pbmNsdWRlICAtV2wsLS1hbGxvdy1tdWx0aXBsZS1k ZWZpbml0aW9uIC1XbCwtLWRpc2FibGUtYXV0by1pbXBvcnQgIC1ML3cvemxpYi0xLjIuOC13aW4z Mi14ODZfNjQvbGliIC1ML3cvb3BlbnNzbC0xLjAuMmUtd2luMzIteDg2XzY0L2xpYiAtTC93L2xp YnhtbDItMi45LjMtd2luMzIteDg2XzY0L2xpYiAtTC93L2xpYnhzbHQtMS4xLjI4LXdpbjMyLXg4 Nl82NC9saWIgY29uZnRlc3QuYyAtbG0gID4mNQpDOi9tc3lzNjQvbWluZ3c2NC9iaW4vLi4vbGli L2djYy94ODZfNjQtdzY0LW1pbmd3MzIvOC4yLjAvLi4vLi4vLi4vLi4veDg2XzY0LXc2NC1taW5n dzMyL2Jpbi9sZC5leGU6IEM6XG1zeXM2NFx0bXBcY2NPSEZGeWUubzogaW4gZnVuY3Rpb24gYG1h aW4nOg0KVzpcUi0zLjUuX1xwb3N0Z3Jlc1xidWlsZC9jb25mdGVzdC5jOjQ1OiB1bmRlZmluZWQg cmVmZXJlbmNlIHRvIGBzZXRwcm9jdGl0bGUnDQpjb2xsZWN0Mi5leGU6IGVycm9yOiBsZCByZXR1 cm5lZCAxIGV4aXQgc3RhdHVzCmNvbmZpZ3VyZToxMDY1MDogJD8gPSAxCmNvbmZpZ3VyZTogZmFp bGVkIHByb2dyYW0gd2FzOgp8IC8qIGNvbmZkZWZzLmggKi8KfCAjZGVmaW5lIFBBQ0tBR0VfTkFN RSAiUG9zdGdyZVNRTCIKfCAjZGVmaW5lIFBBQ0tBR0VfVEFSTkFNRSAicG9zdGdyZXNxbCIKfCAj ZGVmaW5lIFBBQ0tBR0VfVkVSU0lPTiAiMTFiZXRhMyIKfCAjZGVmaW5lIFBBQ0tBR0VfU1RSSU5H ICJQb3N0Z3JlU1FMIDExYmV0YTMiCnwgI2RlZmluZSBQQUNLQUdFX0JVR1JFUE9SVCAicGdzcWwt YnVnc0Bwb3N0Z3Jlc3FsLm9yZyIKfCAjZGVmaW5lIFBBQ0tBR0VfVVJMICIiCnwgI2RlZmluZSBQ R19NQUpPUlZFUlNJT04gIjExIgp8ICNkZWZpbmUgUEdfVkVSU0lPTiAiMTFiZXRhMyIKfCAjZGVm aW5lIERFRl9QR1BPUlQgNTQzMgp8ICNkZWZpbmUgREVGX1BHUE9SVF9TVFIgIjU0MzIiCnwgI2Rl ZmluZSBCTENLU1ogODE5Mgp8ICNkZWZpbmUgUkVMU0VHX1NJWkUgMTMxMDcyCnwgI2RlZmluZSBY TE9HX0JMQ0tTWiA4MTkyCnwgI2RlZmluZSBVU0VfQVNTRVJUX0NIRUNLSU5HIDEKfCAjZGVmaW5l IEVOQUJMRV9USFJFQURfU0FGRVRZIDEKfCAjZGVmaW5lIFVTRV9JQ1UgMQp8ICNkZWZpbmUgUEdf S1JCX1NSVk5BTSAicG9zdGdyZXMiCnwgI2RlZmluZSBVU0VfT1BFTlNTTCAxCnwgI2RlZmluZSBV U0VfTElCWE1MIDEKfCAjZGVmaW5lIFVTRV9MSUJYU0xUIDEKfCAjZGVmaW5lIFNURENfSEVBREVS UyAxCnwgI2RlZmluZSBIQVZFX1NZU19UWVBFU19IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NUQVRf SCAxCnwgI2RlZmluZSBIQVZFX1NURExJQl9IIDEKfCAjZGVmaW5lIEhBVkVfU1RSSU5HX0ggMQp8 ICNkZWZpbmUgSEFWRV9NRU1PUllfSCAxCnwgI2RlZmluZSBIQVZFX1NUUklOR1NfSCAxCnwgI2Rl ZmluZSBIQVZFX0lOVFRZUEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERJTlRfSCAxCnwgI2RlZmlu ZSBIQVZFX1VOSVNURF9IIDEKfCAjZGVmaW5lIEhBVkVfTElCTSAxCnwgLyogZW5kIGNvbmZkZWZz LmguICAqLwp8IAp8IC8qIE92ZXJyaWRlIGFueSBHQ0MgaW50ZXJuYWwgcHJvdG90eXBlIHRvIGF2 b2lkIGFuIGVycm9yLgp8ICAgIFVzZSBjaGFyIGJlY2F1c2UgaW50IG1pZ2h0IG1hdGNoIHRoZSBy ZXR1cm4gdHlwZSBvZiBhIEdDQwp8ICAgIGJ1aWx0aW4gYW5kIHRoZW4gaXRzIGFyZ3VtZW50IHBy b3RvdHlwZSB3b3VsZCBzdGlsbCBhcHBseS4gICovCnwgI2lmZGVmIF9fY3BsdXNwbHVzCnwgZXh0 ZXJuICJDIgp8ICNlbmRpZgp8IGNoYXIgc2V0cHJvY3RpdGxlICgpOwp8IGludAp8IG1haW4gKCkK fCB7CnwgcmV0dXJuIHNldHByb2N0aXRsZSAoKTsKfCAgIDsKfCAgIHJldHVybiAwOwp8IH0KY29u ZmlndXJlOjEwNjUwOiB4ODZfNjQtdzY0LW1pbmd3MzItZ2NjIC1vIGNvbmZ0ZXN0LmV4ZSAtV2Fs bCAtV21pc3NpbmctcHJvdG90eXBlcyAtV3BvaW50ZXItYXJpdGggLVdkZWNsYXJhdGlvbi1hZnRl ci1zdGF0ZW1lbnQgLVdlbmRpZi1sYWJlbHMgLVdtaXNzaW5nLWZvcm1hdC1hdHRyaWJ1dGUgLVdm b3JtYXQtc2VjdXJpdHkgLWZuby1zdHJpY3QtYWxpYXNpbmcgLWZ3cmFwdiAtZmV4Y2Vzcy1wcmVj aXNpb249c3RhbmRhcmQgLVduby1mb3JtYXQtdHJ1bmNhdGlvbiAtV25vLXN0cmluZ29wLXRydW5j YXRpb24gLWcgLU8gLWZuby1vbWl0LWZyYW1lLXBvaW50ZXIgIC1JL3cvUi0zLjUuXy9wb3N0Z3Jl cy9zcmMvaW5jbHVkZS9wb3J0L3dpbjMyIC1ERVhFQ19CQUNLRU5EICAtSS93L3psaWItMS4yLjgt d2luMzIteDg2XzY0L2luY2x1ZGUgLUkvdy9vcGVuc3NsLTEuMC4yZS13aW4zMi14ODZfNjQvaW5j bHVkZSAtSS93L2xpYnhtbDItMi45LjMtd2luMzIteDg2XzY0L2luY2x1ZGUvbGlieG1sMiAtSS93 L2xpYnhzbHQtMS4xLjI4LXdpbjMyLXg4Nl82NC9pbmNsdWRlICAtV2wsLS1hbGxvdy1tdWx0aXBs ZS1kZWZpbml0aW9uIC1XbCwtLWRpc2FibGUtYXV0by1pbXBvcnQgIC1ML3cvemxpYi0xLjIuOC13 aW4zMi14ODZfNjQvbGliIC1ML3cvb3BlbnNzbC0xLjAuMmUtd2luMzIteDg2XzY0L2xpYiAtTC93 L2xpYnhtbDItMi45LjMtd2luMzIteDg2XzY0L2xpYiAtTC93L2xpYnhzbHQtMS4xLjI4LXdpbjMy LXg4Nl82NC9saWIgY29uZnRlc3QuYyAtbHV0aWwgIC1sbSAgPiY1CkM6L21zeXM2NC9taW5ndzY0 L2Jpbi8uLi9saWIvZ2NjL3g4Nl82NC13NjQtbWluZ3czMi84LjIuMC8uLi8uLi8uLi8uLi94ODZf NjQtdzY0LW1pbmd3MzIvYmluL2xkLmV4ZTogY2Fubm90IGZpbmQgLWx1dGlsDQpjb2xsZWN0Mi5l eGU6IGVycm9yOiBsZCByZXR1cm5lZCAxIGV4aXQgc3RhdHVzCmNvbmZpZ3VyZToxMDY1MDogJD8g PSAxCmNvbmZpZ3VyZTogZmFpbGVkIHByb2dyYW0gd2FzOgp8IC8qIGNvbmZkZWZzLmggKi8KfCAj ZGVmaW5lIFBBQ0tBR0VfTkFNRSAiUG9zdGdyZVNRTCIKfCAjZGVmaW5lIFBBQ0tBR0VfVEFSTkFN RSAicG9zdGdyZXNxbCIKfCAjZGVmaW5lIFBBQ0tBR0VfVkVSU0lPTiAiMTFiZXRhMyIKfCAjZGVm aW5lIFBBQ0tBR0VfU1RSSU5HICJQb3N0Z3JlU1FMIDExYmV0YTMiCnwgI2RlZmluZSBQQUNLQUdF X0JVR1JFUE9SVCAicGdzcWwtYnVnc0Bwb3N0Z3Jlc3FsLm9yZyIKfCAjZGVmaW5lIFBBQ0tBR0Vf VVJMICIiCnwgI2RlZmluZSBQR19NQUpPUlZFUlNJT04gIjExIgp8ICNkZWZpbmUgUEdfVkVSU0lP TiAiMTFiZXRhMyIKfCAjZGVmaW5lIERFRl9QR1BPUlQgNTQzMgp8ICNkZWZpbmUgREVGX1BHUE9S VF9TVFIgIjU0MzIiCnwgI2RlZmluZSBCTENLU1ogODE5Mgp8ICNkZWZpbmUgUkVMU0VHX1NJWkUg MTMxMDcyCnwgI2RlZmluZSBYTE9HX0JMQ0tTWiA4MTkyCnwgI2RlZmluZSBVU0VfQVNTRVJUX0NI RUNLSU5HIDEKfCAjZGVmaW5lIEVOQUJMRV9USFJFQURfU0FGRVRZIDEKfCAjZGVmaW5lIFVTRV9J Q1UgMQp8ICNkZWZpbmUgUEdfS1JCX1NSVk5BTSAicG9zdGdyZXMiCnwgI2RlZmluZSBVU0VfT1BF TlNTTCAxCnwgI2RlZmluZSBVU0VfTElCWE1MIDEKfCAjZGVmaW5lIFVTRV9MSUJYU0xUIDEKfCAj ZGVmaW5lIFNURENfSEVBREVSUyAxCnwgI2RlZmluZSBIQVZFX1NZU19UWVBFU19IIDEKfCAjZGVm aW5lIEhBVkVfU1lTX1NUQVRfSCAxCnwgI2RlZmluZSBIQVZFX1NURExJQl9IIDEKfCAjZGVmaW5l IEhBVkVfU1RSSU5HX0ggMQp8ICNkZWZpbmUgSEFWRV9NRU1PUllfSCAxCnwgI2RlZmluZSBIQVZF X1NUUklOR1NfSCAxCnwgI2RlZmluZSBIQVZFX0lOVFRZUEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9T VERJTlRfSCAxCnwgI2RlZmluZSBIQVZFX1VOSVNURF9IIDEKfCAjZGVmaW5lIEhBVkVfTElCTSAx CnwgLyogZW5kIGNvbmZkZWZzLmguICAqLwp8IAp8IC8qIE92ZXJyaWRlIGFueSBHQ0MgaW50ZXJu YWwgcHJvdG90eXBlIHRvIGF2b2lkIGFuIGVycm9yLgp8ICAgIFVzZSBjaGFyIGJlY2F1c2UgaW50 IG1pZ2h0IG1hdGNoIHRoZSByZXR1cm4gdHlwZSBvZiBhIEdDQwp8ICAgIGJ1aWx0aW4gYW5kIHRo ZW4gaXRzIGFyZ3VtZW50IHByb3RvdHlwZSB3b3VsZCBzdGlsbCBhcHBseS4gICovCnwgI2lmZGVm IF9fY3BsdXNwbHVzCnwgZXh0ZXJuICJDIgp8ICNlbmRpZgp8IGNoYXIgc2V0cHJvY3RpdGxlICgp Owp8IGludAp8IG1haW4gKCkKfCB7CnwgcmV0dXJuIHNldHByb2N0aXRsZSAoKTsKfCAgIDsKfCAg IHJldHVybiAwOwp8IH0KY29uZmlndXJlOjEwNjY3OiByZXN1bHQ6IG5vCmNvbmZpZ3VyZToxMDY3 NTogY2hlY2tpbmcgZm9yIGxpYnJhcnkgY29udGFpbmluZyBkbG9wZW4KY29uZmlndXJlOjEwNzA2 OiB4ODZfNjQtdzY0LW1pbmd3MzItZ2NjIC1vIGNvbmZ0ZXN0LmV4ZSAtV2FsbCAtV21pc3Npbmct cHJvdG90eXBlcyAtV3BvaW50ZXItYXJpdGggLVdkZWNsYXJhdGlvbi1hZnRlci1zdGF0ZW1lbnQg LVdlbmRpZi1sYWJlbHMgLVdtaXNzaW5nLWZvcm1hdC1hdHRyaWJ1dGUgLVdmb3JtYXQtc2VjdXJp dHkgLWZuby1zdHJpY3QtYWxpYXNpbmcgLWZ3cmFwdiAtZmV4Y2Vzcy1wcmVjaXNpb249c3RhbmRh cmQgLVduby1mb3JtYXQtdHJ1bmNhdGlvbiAtV25vLXN0cmluZ29wLXRydW5jYXRpb24gLWcgLU8g LWZuby1vbWl0LWZyYW1lLXBvaW50ZXIgIC1JL3cvUi0zLjUuXy9wb3N0Z3Jlcy9zcmMvaW5jbHVk ZS9wb3J0L3dpbjMyIC1ERVhFQ19CQUNLRU5EICAtSS93L3psaWItMS4yLjgtd2luMzIteDg2XzY0 L2luY2x1ZGUgLUkvdy9vcGVuc3NsLTEuMC4yZS13aW4zMi14ODZfNjQvaW5jbHVkZSAtSS93L2xp YnhtbDItMi45LjMtd2luMzIteDg2XzY0L2luY2x1ZGUvbGlieG1sMiAtSS93L2xpYnhzbHQtMS4x LjI4LXdpbjMyLXg4Nl82NC9pbmNsdWRlICAtV2wsLS1hbGxvdy1tdWx0aXBsZS1kZWZpbml0aW9u IC1XbCwtLWRpc2FibGUtYXV0by1pbXBvcnQgIC1ML3cvemxpYi0xLjIuOC13aW4zMi14ODZfNjQv bGliIC1ML3cvb3BlbnNzbC0xLjAuMmUtd2luMzIteDg2XzY0L2xpYiAtTC93L2xpYnhtbDItMi45 LjMtd2luMzIteDg2XzY0L2xpYiAtTC93L2xpYnhzbHQtMS4xLjI4LXdpbjMyLXg4Nl82NC9saWIg Y29uZnRlc3QuYyAtbG0gID4mNQpDOi9tc3lzNjQvbWluZ3c2NC9iaW4vLi4vbGliL2djYy94ODZf NjQtdzY0LW1pbmd3MzIvOC4yLjAvLi4vLi4vLi4vLi4veDg2XzY0LXc2NC1taW5ndzMyL2Jpbi9s ZC5leGU6IEM6XG1zeXM2NFx0bXBcY2NFYThrUXIubzogaW4gZnVuY3Rpb24gYG1haW4nOg0KVzpc Ui0zLjUuX1xwb3N0Z3Jlc1xidWlsZC9jb25mdGVzdC5jOjQ1OiB1bmRlZmluZWQgcmVmZXJlbmNl IHRvIGBkbG9wZW4nDQpjb2xsZWN0Mi5leGU6IGVycm9yOiBsZCByZXR1cm5lZCAxIGV4aXQgc3Rh dHVzCmNvbmZpZ3VyZToxMDcwNjogJD8gPSAxCmNvbmZpZ3VyZTogZmFpbGVkIHByb2dyYW0gd2Fz Ogp8IC8qIGNvbmZkZWZzLmggKi8KfCAjZGVmaW5lIFBBQ0tBR0VfTkFNRSAiUG9zdGdyZVNRTCIK fCAjZGVmaW5lIFBBQ0tBR0VfVEFSTkFNRSAicG9zdGdyZXNxbCIKfCAjZGVmaW5lIFBBQ0tBR0Vf VkVSU0lPTiAiMTFiZXRhMyIKfCAjZGVmaW5lIFBBQ0tBR0VfU1RSSU5HICJQb3N0Z3JlU1FMIDEx YmV0YTMiCnwgI2RlZmluZSBQQUNLQUdFX0JVR1JFUE9SVCAicGdzcWwtYnVnc0Bwb3N0Z3Jlc3Fs Lm9yZyIKfCAjZGVmaW5lIFBBQ0tBR0VfVVJMICIiCnwgI2RlZmluZSBQR19NQUpPUlZFUlNJT04g IjExIgp8ICNkZWZpbmUgUEdfVkVSU0lPTiAiMTFiZXRhMyIKfCAjZGVmaW5lIERFRl9QR1BPUlQg NTQzMgp8ICNkZWZpbmUgREVGX1BHUE9SVF9TVFIgIjU0MzIiCnwgI2RlZmluZSBCTENLU1ogODE5 Mgp8ICNkZWZpbmUgUkVMU0VHX1NJWkUgMTMxMDcyCnwgI2RlZmluZSBYTE9HX0JMQ0tTWiA4MTky CnwgI2RlZmluZSBVU0VfQVNTRVJUX0NIRUNLSU5HIDEKfCAjZGVmaW5lIEVOQUJMRV9USFJFQURf U0FGRVRZIDEKfCAjZGVmaW5lIFVTRV9JQ1UgMQp8ICNkZWZpbmUgUEdfS1JCX1NSVk5BTSAicG9z dGdyZXMiCnwgI2RlZmluZSBVU0VfT1BFTlNTTCAxCnwgI2RlZmluZSBVU0VfTElCWE1MIDEKfCAj ZGVmaW5lIFVTRV9MSUJYU0xUIDEKfCAjZGVmaW5lIFNURENfSEVBREVSUyAxCnwgI2RlZmluZSBI QVZFX1NZU19UWVBFU19IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NUQVRfSCAxCnwgI2RlZmluZSBI QVZFX1NURExJQl9IIDEKfCAjZGVmaW5lIEhBVkVfU1RSSU5HX0ggMQp8ICNkZWZpbmUgSEFWRV9N RU1PUllfSCAxCnwgI2RlZmluZSBIQVZFX1NUUklOR1NfSCAxCnwgI2RlZmluZSBIQVZFX0lOVFRZ UEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERJTlRfSCAxCnwgI2RlZmluZSBIQVZFX1VOSVNURF9I IDEKfCAjZGVmaW5lIEhBVkVfTElCTSAxCnwgLyogZW5kIGNvbmZkZWZzLmguICAqLwp8IAp8IC8q IE92ZXJyaWRlIGFueSBHQ0MgaW50ZXJuYWwgcHJvdG90eXBlIHRvIGF2b2lkIGFuIGVycm9yLgp8 ICAgIFVzZSBjaGFyIGJlY2F1c2UgaW50IG1pZ2h0IG1hdGNoIHRoZSByZXR1cm4gdHlwZSBvZiBh IEdDQwp8ICAgIGJ1aWx0aW4gYW5kIHRoZW4gaXRzIGFyZ3VtZW50IHByb3RvdHlwZSB3b3VsZCBz dGlsbCBhcHBseS4gICovCnwgI2lmZGVmIF9fY3BsdXNwbHVzCnwgZXh0ZXJuICJDIgp8ICNlbmRp Zgp8IGNoYXIgZGxvcGVuICgpOwp8IGludAp8IG1haW4gKCkKfCB7CnwgcmV0dXJuIGRsb3BlbiAo KTsKfCAgIDsKfCAgIHJldHVybiAwOwp8IH0KY29uZmlndXJlOjEwNzA2OiB4ODZfNjQtdzY0LW1p bmd3MzItZ2NjIC1vIGNvbmZ0ZXN0LmV4ZSAtV2FsbCAtV21pc3NpbmctcHJvdG90eXBlcyAtV3Bv aW50ZXItYXJpdGggLVdkZWNsYXJhdGlvbi1hZnRlci1zdGF0ZW1lbnQgLVdlbmRpZi1sYWJlbHMg LVdtaXNzaW5nLWZvcm1hdC1hdHRyaWJ1dGUgLVdmb3JtYXQtc2VjdXJpdHkgLWZuby1zdHJpY3Qt YWxpYXNpbmcgLWZ3cmFwdiAtZmV4Y2Vzcy1wcmVjaXNpb249c3RhbmRhcmQgLVduby1mb3JtYXQt dHJ1bmNhdGlvbiAtV25vLXN0cmluZ29wLXRydW5jYXRpb24gLWcgLU8gLWZuby1vbWl0LWZyYW1l LXBvaW50ZXIgIC1JL3cvUi0zLjUuXy9wb3N0Z3Jlcy9zcmMvaW5jbHVkZS9wb3J0L3dpbjMyIC1E RVhFQ19CQUNLRU5EICAtSS93L3psaWItMS4yLjgtd2luMzIteDg2XzY0L2luY2x1ZGUgLUkvdy9v cGVuc3NsLTEuMC4yZS13aW4zMi14ODZfNjQvaW5jbHVkZSAtSS93L2xpYnhtbDItMi45LjMtd2lu MzIteDg2XzY0L2luY2x1ZGUvbGlieG1sMiAtSS93L2xpYnhzbHQtMS4xLjI4LXdpbjMyLXg4Nl82 NC9pbmNsdWRlICAtV2wsLS1hbGxvdy1tdWx0aXBsZS1kZWZpbml0aW9uIC1XbCwtLWRpc2FibGUt YXV0by1pbXBvcnQgIC1ML3cvemxpYi0xLjIuOC13aW4zMi14ODZfNjQvbGliIC1ML3cvb3BlbnNz bC0xLjAuMmUtd2luMzIteDg2XzY0L2xpYiAtTC93L2xpYnhtbDItMi45LjMtd2luMzIteDg2XzY0 L2xpYiAtTC93L2xpYnhzbHQtMS4xLjI4LXdpbjMyLXg4Nl82NC9saWIgY29uZnRlc3QuYyAtbGRs ICAtbG0gID4mNQpDOi9tc3lzNjQvbWluZ3c2NC9iaW4vLi4vbGliL2djYy94ODZfNjQtdzY0LW1p bmd3MzIvOC4yLjAvLi4vLi4vLi4vLi4veDg2XzY0LXc2NC1taW5ndzMyL2Jpbi9sZC5leGU6IGNh bm5vdCBmaW5kIC1sZGwNCmNvbGxlY3QyLmV4ZTogZXJyb3I6IGxkIHJldHVybmVkIDEgZXhpdCBz dGF0dXMKY29uZmlndXJlOjEwNzA2OiAkPyA9IDEKY29uZmlndXJlOiBmYWlsZWQgcHJvZ3JhbSB3 YXM6CnwgLyogY29uZmRlZnMuaCAqLwp8ICNkZWZpbmUgUEFDS0FHRV9OQU1FICJQb3N0Z3JlU1FM Igp8ICNkZWZpbmUgUEFDS0FHRV9UQVJOQU1FICJwb3N0Z3Jlc3FsIgp8ICNkZWZpbmUgUEFDS0FH RV9WRVJTSU9OICIxMWJldGEzIgp8ICNkZWZpbmUgUEFDS0FHRV9TVFJJTkcgIlBvc3RncmVTUUwg MTFiZXRhMyIKfCAjZGVmaW5lIFBBQ0tBR0VfQlVHUkVQT1JUICJwZ3NxbC1idWdzQHBvc3RncmVz cWwub3JnIgp8ICNkZWZpbmUgUEFDS0FHRV9VUkwgIiIKfCAjZGVmaW5lIFBHX01BSk9SVkVSU0lP TiAiMTEiCnwgI2RlZmluZSBQR19WRVJTSU9OICIxMWJldGEzIgp8ICNkZWZpbmUgREVGX1BHUE9S VCA1NDMyCnwgI2RlZmluZSBERUZfUEdQT1JUX1NUUiAiNTQzMiIKfCAjZGVmaW5lIEJMQ0tTWiA4 MTkyCnwgI2RlZmluZSBSRUxTRUdfU0laRSAxMzEwNzIKfCAjZGVmaW5lIFhMT0dfQkxDS1NaIDgx OTIKfCAjZGVmaW5lIFVTRV9BU1NFUlRfQ0hFQ0tJTkcgMQp8ICNkZWZpbmUgRU5BQkxFX1RIUkVB RF9TQUZFVFkgMQp8ICNkZWZpbmUgVVNFX0lDVSAxCnwgI2RlZmluZSBQR19LUkJfU1JWTkFNICJw b3N0Z3JlcyIKfCAjZGVmaW5lIFVTRV9PUEVOU1NMIDEKfCAjZGVmaW5lIFVTRV9MSUJYTUwgMQp8 ICNkZWZpbmUgVVNFX0xJQlhTTFQgMQp8ICNkZWZpbmUgU1REQ19IRUFERVJTIDEKfCAjZGVmaW5l IEhBVkVfU1lTX1RZUEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfU1RBVF9IIDEKfCAjZGVmaW5l IEhBVkVfU1RETElCX0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJJTkdfSCAxCnwgI2RlZmluZSBIQVZF X01FTU9SWV9IIDEKfCAjZGVmaW5lIEhBVkVfU1RSSU5HU19IIDEKfCAjZGVmaW5lIEhBVkVfSU5U VFlQRVNfSCAxCnwgI2RlZmluZSBIQVZFX1NURElOVF9IIDEKfCAjZGVmaW5lIEhBVkVfVU5JU1RE X0ggMQp8ICNkZWZpbmUgSEFWRV9MSUJNIDEKfCAvKiBlbmQgY29uZmRlZnMuaC4gICovCnwgCnwg LyogT3ZlcnJpZGUgYW55IEdDQyBpbnRlcm5hbCBwcm90b3R5cGUgdG8gYXZvaWQgYW4gZXJyb3Iu CnwgICAgVXNlIGNoYXIgYmVjYXVzZSBpbnQgbWlnaHQgbWF0Y2ggdGhlIHJldHVybiB0eXBlIG9m IGEgR0NDCnwgICAgYnVpbHRpbiBhbmQgdGhlbiBpdHMgYXJndW1lbnQgcHJvdG90eXBlIHdvdWxk IHN0aWxsIGFwcGx5LiAgKi8KfCAjaWZkZWYgX19jcGx1c3BsdXMKfCBleHRlcm4gIkMiCnwgI2Vu ZGlmCnwgY2hhciBkbG9wZW4gKCk7CnwgaW50CnwgbWFpbiAoKQp8IHsKfCByZXR1cm4gZGxvcGVu ICgpOwp8ICAgOwp8ICAgcmV0dXJuIDA7CnwgfQpjb25maWd1cmU6MTA3MjM6IHJlc3VsdDogbm8K Y29uZmlndXJlOjEwNzMxOiBjaGVja2luZyBmb3IgbGlicmFyeSBjb250YWluaW5nIHNvY2tldApj b25maWd1cmU6MTA3NjI6IHg4Nl82NC13NjQtbWluZ3czMi1nY2MgLW8gY29uZnRlc3QuZXhlIC1X YWxsIC1XbWlzc2luZy1wcm90b3R5cGVzIC1XcG9pbnRlci1hcml0aCAtV2RlY2xhcmF0aW9uLWFm dGVyLXN0YXRlbWVudCAtV2VuZGlmLWxhYmVscyAtV21pc3NpbmctZm9ybWF0LWF0dHJpYnV0ZSAt V2Zvcm1hdC1zZWN1cml0eSAtZm5vLXN0cmljdC1hbGlhc2luZyAtZndyYXB2IC1mZXhjZXNzLXBy ZWNpc2lvbj1zdGFuZGFyZCAtV25vLWZvcm1hdC10cnVuY2F0aW9uIC1Xbm8tc3RyaW5nb3AtdHJ1 bmNhdGlvbiAtZyAtTyAtZm5vLW9taXQtZnJhbWUtcG9pbnRlciAgLUkvdy9SLTMuNS5fL3Bvc3Rn cmVzL3NyYy9pbmNsdWRlL3BvcnQvd2luMzIgLURFWEVDX0JBQ0tFTkQgIC1JL3cvemxpYi0xLjIu OC13aW4zMi14ODZfNjQvaW5jbHVkZSAtSS93L29wZW5zc2wtMS4wLjJlLXdpbjMyLXg4Nl82NC9p bmNsdWRlIC1JL3cvbGlieG1sMi0yLjkuMy13aW4zMi14ODZfNjQvaW5jbHVkZS9saWJ4bWwyIC1J L3cvbGlieHNsdC0xLjEuMjgtd2luMzIteDg2XzY0L2luY2x1ZGUgIC1XbCwtLWFsbG93LW11bHRp cGxlLWRlZmluaXRpb24gLVdsLC0tZGlzYWJsZS1hdXRvLWltcG9ydCAgLUwvdy96bGliLTEuMi44 LXdpbjMyLXg4Nl82NC9saWIgLUwvdy9vcGVuc3NsLTEuMC4yZS13aW4zMi14ODZfNjQvbGliIC1M L3cvbGlieG1sMi0yLjkuMy13aW4zMi14ODZfNjQvbGliIC1ML3cvbGlieHNsdC0xLjEuMjgtd2lu MzIteDg2XzY0L2xpYiBjb25mdGVzdC5jIC1sbSAgPiY1CkM6L21zeXM2NC9taW5ndzY0L2Jpbi8u Li9saWIvZ2NjL3g4Nl82NC13NjQtbWluZ3czMi84LjIuMC8uLi8uLi8uLi8uLi94ODZfNjQtdzY0 LW1pbmd3MzIvYmluL2xkLmV4ZTogQzpcbXN5czY0XHRtcFxjY29oU1EzUi5vOiBpbiBmdW5jdGlv biBgbWFpbic6DQpXOlxSLTMuNS5fXHBvc3RncmVzXGJ1aWxkL2NvbmZ0ZXN0LmM6NDU6IHVuZGVm aW5lZCByZWZlcmVuY2UgdG8gYHNvY2tldCcNCmNvbGxlY3QyLmV4ZTogZXJyb3I6IGxkIHJldHVy bmVkIDEgZXhpdCBzdGF0dXMKY29uZmlndXJlOjEwNzYyOiAkPyA9IDEKY29uZmlndXJlOiBmYWls ZWQgcHJvZ3JhbSB3YXM6CnwgLyogY29uZmRlZnMuaCAqLwp8ICNkZWZpbmUgUEFDS0FHRV9OQU1F ICJQb3N0Z3JlU1FMIgp8ICNkZWZpbmUgUEFDS0FHRV9UQVJOQU1FICJwb3N0Z3Jlc3FsIgp8ICNk ZWZpbmUgUEFDS0FHRV9WRVJTSU9OICIxMWJldGEzIgp8ICNkZWZpbmUgUEFDS0FHRV9TVFJJTkcg IlBvc3RncmVTUUwgMTFiZXRhMyIKfCAjZGVmaW5lIFBBQ0tBR0VfQlVHUkVQT1JUICJwZ3NxbC1i dWdzQHBvc3RncmVzcWwub3JnIgp8ICNkZWZpbmUgUEFDS0FHRV9VUkwgIiIKfCAjZGVmaW5lIFBH X01BSk9SVkVSU0lPTiAiMTEiCnwgI2RlZmluZSBQR19WRVJTSU9OICIxMWJldGEzIgp8ICNkZWZp bmUgREVGX1BHUE9SVCA1NDMyCnwgI2RlZmluZSBERUZfUEdQT1JUX1NUUiAiNTQzMiIKfCAjZGVm aW5lIEJMQ0tTWiA4MTkyCnwgI2RlZmluZSBSRUxTRUdfU0laRSAxMzEwNzIKfCAjZGVmaW5lIFhM T0dfQkxDS1NaIDgxOTIKfCAjZGVmaW5lIFVTRV9BU1NFUlRfQ0hFQ0tJTkcgMQp8ICNkZWZpbmUg RU5BQkxFX1RIUkVBRF9TQUZFVFkgMQp8ICNkZWZpbmUgVVNFX0lDVSAxCnwgI2RlZmluZSBQR19L UkJfU1JWTkFNICJwb3N0Z3JlcyIKfCAjZGVmaW5lIFVTRV9PUEVOU1NMIDEKfCAjZGVmaW5lIFVT RV9MSUJYTUwgMQp8ICNkZWZpbmUgVVNFX0xJQlhTTFQgMQp8ICNkZWZpbmUgU1REQ19IRUFERVJT IDEKfCAjZGVmaW5lIEhBVkVfU1lTX1RZUEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfU1RBVF9I IDEKfCAjZGVmaW5lIEhBVkVfU1RETElCX0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJJTkdfSCAxCnwg I2RlZmluZSBIQVZFX01FTU9SWV9IIDEKfCAjZGVmaW5lIEhBVkVfU1RSSU5HU19IIDEKfCAjZGVm aW5lIEhBVkVfSU5UVFlQRVNfSCAxCnwgI2RlZmluZSBIQVZFX1NURElOVF9IIDEKfCAjZGVmaW5l IEhBVkVfVU5JU1REX0ggMQp8ICNkZWZpbmUgSEFWRV9MSUJNIDEKfCAvKiBlbmQgY29uZmRlZnMu aC4gICovCnwgCnwgLyogT3ZlcnJpZGUgYW55IEdDQyBpbnRlcm5hbCBwcm90b3R5cGUgdG8gYXZv aWQgYW4gZXJyb3IuCnwgICAgVXNlIGNoYXIgYmVjYXVzZSBpbnQgbWlnaHQgbWF0Y2ggdGhlIHJl dHVybiB0eXBlIG9mIGEgR0NDCnwgICAgYnVpbHRpbiBhbmQgdGhlbiBpdHMgYXJndW1lbnQgcHJv dG90eXBlIHdvdWxkIHN0aWxsIGFwcGx5LiAgKi8KfCAjaWZkZWYgX19jcGx1c3BsdXMKfCBleHRl cm4gIkMiCnwgI2VuZGlmCnwgY2hhciBzb2NrZXQgKCk7CnwgaW50CnwgbWFpbiAoKQp8IHsKfCBy ZXR1cm4gc29ja2V0ICgpOwp8ICAgOwp8ICAgcmV0dXJuIDA7CnwgfQpjb25maWd1cmU6MTA3NjI6 IHg4Nl82NC13NjQtbWluZ3czMi1nY2MgLW8gY29uZnRlc3QuZXhlIC1XYWxsIC1XbWlzc2luZy1w cm90b3R5cGVzIC1XcG9pbnRlci1hcml0aCAtV2RlY2xhcmF0aW9uLWFmdGVyLXN0YXRlbWVudCAt V2VuZGlmLWxhYmVscyAtV21pc3NpbmctZm9ybWF0LWF0dHJpYnV0ZSAtV2Zvcm1hdC1zZWN1cml0 eSAtZm5vLXN0cmljdC1hbGlhc2luZyAtZndyYXB2IC1mZXhjZXNzLXByZWNpc2lvbj1zdGFuZGFy ZCAtV25vLWZvcm1hdC10cnVuY2F0aW9uIC1Xbm8tc3RyaW5nb3AtdHJ1bmNhdGlvbiAtZyAtTyAt Zm5vLW9taXQtZnJhbWUtcG9pbnRlciAgLUkvdy9SLTMuNS5fL3Bvc3RncmVzL3NyYy9pbmNsdWRl L3BvcnQvd2luMzIgLURFWEVDX0JBQ0tFTkQgIC1JL3cvemxpYi0xLjIuOC13aW4zMi14ODZfNjQv aW5jbHVkZSAtSS93L29wZW5zc2wtMS4wLjJlLXdpbjMyLXg4Nl82NC9pbmNsdWRlIC1JL3cvbGli eG1sMi0yLjkuMy13aW4zMi14ODZfNjQvaW5jbHVkZS9saWJ4bWwyIC1JL3cvbGlieHNsdC0xLjEu Mjgtd2luMzIteDg2XzY0L2luY2x1ZGUgIC1XbCwtLWFsbG93LW11bHRpcGxlLWRlZmluaXRpb24g LVdsLC0tZGlzYWJsZS1hdXRvLWltcG9ydCAgLUwvdy96bGliLTEuMi44LXdpbjMyLXg4Nl82NC9s aWIgLUwvdy9vcGVuc3NsLTEuMC4yZS13aW4zMi14ODZfNjQvbGliIC1ML3cvbGlieG1sMi0yLjku My13aW4zMi14ODZfNjQvbGliIC1ML3cvbGlieHNsdC0xLjEuMjgtd2luMzIteDg2XzY0L2xpYiBj b25mdGVzdC5jIC1sc29ja2V0ICAtbG0gID4mNQpDOi9tc3lzNjQvbWluZ3c2NC9iaW4vLi4vbGli L2djYy94ODZfNjQtdzY0LW1pbmd3MzIvOC4yLjAvLi4vLi4vLi4vLi4veDg2XzY0LXc2NC1taW5n dzMyL2Jpbi9sZC5leGU6IGNhbm5vdCBmaW5kIC1sc29ja2V0DQpjb2xsZWN0Mi5leGU6IGVycm9y OiBsZCByZXR1cm5lZCAxIGV4aXQgc3RhdHVzCmNvbmZpZ3VyZToxMDc2MjogJD8gPSAxCmNvbmZp Z3VyZTogZmFpbGVkIHByb2dyYW0gd2FzOgp8IC8qIGNvbmZkZWZzLmggKi8KfCAjZGVmaW5lIFBB Q0tBR0VfTkFNRSAiUG9zdGdyZVNRTCIKfCAjZGVmaW5lIFBBQ0tBR0VfVEFSTkFNRSAicG9zdGdy ZXNxbCIKfCAjZGVmaW5lIFBBQ0tBR0VfVkVSU0lPTiAiMTFiZXRhMyIKfCAjZGVmaW5lIFBBQ0tB R0VfU1RSSU5HICJQb3N0Z3JlU1FMIDExYmV0YTMiCnwgI2RlZmluZSBQQUNLQUdFX0JVR1JFUE9S VCAicGdzcWwtYnVnc0Bwb3N0Z3Jlc3FsLm9yZyIKfCAjZGVmaW5lIFBBQ0tBR0VfVVJMICIiCnwg I2RlZmluZSBQR19NQUpPUlZFUlNJT04gIjExIgp8ICNkZWZpbmUgUEdfVkVSU0lPTiAiMTFiZXRh MyIKfCAjZGVmaW5lIERFRl9QR1BPUlQgNTQzMgp8ICNkZWZpbmUgREVGX1BHUE9SVF9TVFIgIjU0 MzIiCnwgI2RlZmluZSBCTENLU1ogODE5Mgp8ICNkZWZpbmUgUkVMU0VHX1NJWkUgMTMxMDcyCnwg I2RlZmluZSBYTE9HX0JMQ0tTWiA4MTkyCnwgI2RlZmluZSBVU0VfQVNTRVJUX0NIRUNLSU5HIDEK fCAjZGVmaW5lIEVOQUJMRV9USFJFQURfU0FGRVRZIDEKfCAjZGVmaW5lIFVTRV9JQ1UgMQp8ICNk ZWZpbmUgUEdfS1JCX1NSVk5BTSAicG9zdGdyZXMiCnwgI2RlZmluZSBVU0VfT1BFTlNTTCAxCnwg I2RlZmluZSBVU0VfTElCWE1MIDEKfCAjZGVmaW5lIFVTRV9MSUJYU0xUIDEKfCAjZGVmaW5lIFNU RENfSEVBREVSUyAxCnwgI2RlZmluZSBIQVZFX1NZU19UWVBFU19IIDEKfCAjZGVmaW5lIEhBVkVf U1lTX1NUQVRfSCAxCnwgI2RlZmluZSBIQVZFX1NURExJQl9IIDEKfCAjZGVmaW5lIEhBVkVfU1RS SU5HX0ggMQp8ICNkZWZpbmUgSEFWRV9NRU1PUllfSCAxCnwgI2RlZmluZSBIQVZFX1NUUklOR1Nf SCAxCnwgI2RlZmluZSBIQVZFX0lOVFRZUEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERJTlRfSCAx CnwgI2RlZmluZSBIQVZFX1VOSVNURF9IIDEKfCAjZGVmaW5lIEhBVkVfTElCTSAxCnwgLyogZW5k IGNvbmZkZWZzLmguICAqLwp8IAp8IC8qIE92ZXJyaWRlIGFueSBHQ0MgaW50ZXJuYWwgcHJvdG90 eXBlIHRvIGF2b2lkIGFuIGVycm9yLgp8ICAgIFVzZSBjaGFyIGJlY2F1c2UgaW50IG1pZ2h0IG1h dGNoIHRoZSByZXR1cm4gdHlwZSBvZiBhIEdDQwp8ICAgIGJ1aWx0aW4gYW5kIHRoZW4gaXRzIGFy Z3VtZW50IHByb3RvdHlwZSB3b3VsZCBzdGlsbCBhcHBseS4gICovCnwgI2lmZGVmIF9fY3BsdXNw bHVzCnwgZXh0ZXJuICJDIgp8ICNlbmRpZgp8IGNoYXIgc29ja2V0ICgpOwp8IGludAp8IG1haW4g KCkKfCB7CnwgcmV0dXJuIHNvY2tldCAoKTsKfCAgIDsKfCAgIHJldHVybiAwOwp8IH0KY29uZmln dXJlOjEwNzYyOiB4ODZfNjQtdzY0LW1pbmd3MzItZ2NjIC1vIGNvbmZ0ZXN0LmV4ZSAtV2FsbCAt V21pc3NpbmctcHJvdG90eXBlcyAtV3BvaW50ZXItYXJpdGggLVdkZWNsYXJhdGlvbi1hZnRlci1z dGF0ZW1lbnQgLVdlbmRpZi1sYWJlbHMgLVdtaXNzaW5nLWZvcm1hdC1hdHRyaWJ1dGUgLVdmb3Jt YXQtc2VjdXJpdHkgLWZuby1zdHJpY3QtYWxpYXNpbmcgLWZ3cmFwdiAtZmV4Y2Vzcy1wcmVjaXNp b249c3RhbmRhcmQgLVduby1mb3JtYXQtdHJ1bmNhdGlvbiAtV25vLXN0cmluZ29wLXRydW5jYXRp b24gLWcgLU8gLWZuby1vbWl0LWZyYW1lLXBvaW50ZXIgIC1JL3cvUi0zLjUuXy9wb3N0Z3Jlcy9z cmMvaW5jbHVkZS9wb3J0L3dpbjMyIC1ERVhFQ19CQUNLRU5EICAtSS93L3psaWItMS4yLjgtd2lu MzIteDg2XzY0L2luY2x1ZGUgLUkvdy9vcGVuc3NsLTEuMC4yZS13aW4zMi14ODZfNjQvaW5jbHVk ZSAtSS93L2xpYnhtbDItMi45LjMtd2luMzIteDg2XzY0L2luY2x1ZGUvbGlieG1sMiAtSS93L2xp YnhzbHQtMS4xLjI4LXdpbjMyLXg4Nl82NC9pbmNsdWRlICAtV2wsLS1hbGxvdy1tdWx0aXBsZS1k ZWZpbml0aW9uIC1XbCwtLWRpc2FibGUtYXV0by1pbXBvcnQgIC1ML3cvemxpYi0xLjIuOC13aW4z Mi14ODZfNjQvbGliIC1ML3cvb3BlbnNzbC0xLjAuMmUtd2luMzIteDg2XzY0L2xpYiAtTC93L2xp YnhtbDItMi45LjMtd2luMzIteDg2XzY0L2xpYiAtTC93L2xpYnhzbHQtMS4xLjI4LXdpbjMyLXg4 Nl82NC9saWIgY29uZnRlc3QuYyAtbHdzMl8zMiAgLWxtICA+JjUKY29uZmlndXJlOjEwNzYyOiAk PyA9IDAKY29uZmlndXJlOjEwNzc5OiByZXN1bHQ6IC1sd3MyXzMyCmNvbmZpZ3VyZToxMDc4Nzog Y2hlY2tpbmcgZm9yIGxpYnJhcnkgY29udGFpbmluZyBzaGxfbG9hZApjb25maWd1cmU6MTA4MTg6 IHg4Nl82NC13NjQtbWluZ3czMi1nY2MgLW8gY29uZnRlc3QuZXhlIC1XYWxsIC1XbWlzc2luZy1w cm90b3R5cGVzIC1XcG9pbnRlci1hcml0aCAtV2RlY2xhcmF0aW9uLWFmdGVyLXN0YXRlbWVudCAt V2VuZGlmLWxhYmVscyAtV21pc3NpbmctZm9ybWF0LWF0dHJpYnV0ZSAtV2Zvcm1hdC1zZWN1cml0 eSAtZm5vLXN0cmljdC1hbGlhc2luZyAtZndyYXB2IC1mZXhjZXNzLXByZWNpc2lvbj1zdGFuZGFy ZCAtV25vLWZvcm1hdC10cnVuY2F0aW9uIC1Xbm8tc3RyaW5nb3AtdHJ1bmNhdGlvbiAtZyAtTyAt Zm5vLW9taXQtZnJhbWUtcG9pbnRlciAgLUkvdy9SLTMuNS5fL3Bvc3RncmVzL3NyYy9pbmNsdWRl L3BvcnQvd2luMzIgLURFWEVDX0JBQ0tFTkQgIC1JL3cvemxpYi0xLjIuOC13aW4zMi14ODZfNjQv aW5jbHVkZSAtSS93L29wZW5zc2wtMS4wLjJlLXdpbjMyLXg4Nl82NC9pbmNsdWRlIC1JL3cvbGli eG1sMi0yLjkuMy13aW4zMi14ODZfNjQvaW5jbHVkZS9saWJ4bWwyIC1JL3cvbGlieHNsdC0xLjEu Mjgtd2luMzIteDg2XzY0L2luY2x1ZGUgIC1XbCwtLWFsbG93LW11bHRpcGxlLWRlZmluaXRpb24g LVdsLC0tZGlzYWJsZS1hdXRvLWltcG9ydCAgLUwvdy96bGliLTEuMi44LXdpbjMyLXg4Nl82NC9s aWIgLUwvdy9vcGVuc3NsLTEuMC4yZS13aW4zMi14ODZfNjQvbGliIC1ML3cvbGlieG1sMi0yLjku My13aW4zMi14ODZfNjQvbGliIC1ML3cvbGlieHNsdC0xLjEuMjgtd2luMzIteDg2XzY0L2xpYiBj b25mdGVzdC5jIC1sd3MyXzMyIC1sbSAgPiY1CkM6L21zeXM2NC9taW5ndzY0L2Jpbi8uLi9saWIv Z2NjL3g4Nl82NC13NjQtbWluZ3czMi84LjIuMC8uLi8uLi8uLi8uLi94ODZfNjQtdzY0LW1pbmd3 MzIvYmluL2xkLmV4ZTogQzpcbXN5czY0XHRtcFxjYzZaV28yZC5vOiBpbiBmdW5jdGlvbiBgbWFp bic6DQpXOlxSLTMuNS5fXHBvc3RncmVzXGJ1aWxkL2NvbmZ0ZXN0LmM6NDU6IHVuZGVmaW5lZCBy ZWZlcmVuY2UgdG8gYHNobF9sb2FkJw0KY29sbGVjdDIuZXhlOiBlcnJvcjogbGQgcmV0dXJuZWQg MSBleGl0IHN0YXR1cwpjb25maWd1cmU6MTA4MTg6ICQ/ID0gMQpjb25maWd1cmU6IGZhaWxlZCBw cm9ncmFtIHdhczoKfCAvKiBjb25mZGVmcy5oICovCnwgI2RlZmluZSBQQUNLQUdFX05BTUUgIlBv c3RncmVTUUwiCnwgI2RlZmluZSBQQUNLQUdFX1RBUk5BTUUgInBvc3RncmVzcWwiCnwgI2RlZmlu ZSBQQUNLQUdFX1ZFUlNJT04gIjExYmV0YTMiCnwgI2RlZmluZSBQQUNLQUdFX1NUUklORyAiUG9z dGdyZVNRTCAxMWJldGEzIgp8ICNkZWZpbmUgUEFDS0FHRV9CVUdSRVBPUlQgInBnc3FsLWJ1Z3NA cG9zdGdyZXNxbC5vcmciCnwgI2RlZmluZSBQQUNLQUdFX1VSTCAiIgp8ICNkZWZpbmUgUEdfTUFK T1JWRVJTSU9OICIxMSIKfCAjZGVmaW5lIFBHX1ZFUlNJT04gIjExYmV0YTMiCnwgI2RlZmluZSBE RUZfUEdQT1JUIDU0MzIKfCAjZGVmaW5lIERFRl9QR1BPUlRfU1RSICI1NDMyIgp8ICNkZWZpbmUg QkxDS1NaIDgxOTIKfCAjZGVmaW5lIFJFTFNFR19TSVpFIDEzMTA3Mgp8ICNkZWZpbmUgWExPR19C TENLU1ogODE5Mgp8ICNkZWZpbmUgVVNFX0FTU0VSVF9DSEVDS0lORyAxCnwgI2RlZmluZSBFTkFC TEVfVEhSRUFEX1NBRkVUWSAxCnwgI2RlZmluZSBVU0VfSUNVIDEKfCAjZGVmaW5lIFBHX0tSQl9T UlZOQU0gInBvc3RncmVzIgp8ICNkZWZpbmUgVVNFX09QRU5TU0wgMQp8ICNkZWZpbmUgVVNFX0xJ QlhNTCAxCnwgI2RlZmluZSBVU0VfTElCWFNMVCAxCnwgI2RlZmluZSBTVERDX0hFQURFUlMgMQp8 ICNkZWZpbmUgSEFWRV9TWVNfVFlQRVNfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19TVEFUX0ggMQp8 ICNkZWZpbmUgSEFWRV9TVERMSUJfSCAxCnwgI2RlZmluZSBIQVZFX1NUUklOR19IIDEKfCAjZGVm aW5lIEhBVkVfTUVNT1JZX0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJJTkdTX0ggMQp8ICNkZWZpbmUg SEFWRV9JTlRUWVBFU19IIDEKfCAjZGVmaW5lIEhBVkVfU1RESU5UX0ggMQp8ICNkZWZpbmUgSEFW RV9VTklTVERfSCAxCnwgI2RlZmluZSBIQVZFX0xJQk0gMQp8IC8qIGVuZCBjb25mZGVmcy5oLiAg Ki8KfCAKfCAvKiBPdmVycmlkZSBhbnkgR0NDIGludGVybmFsIHByb3RvdHlwZSB0byBhdm9pZCBh biBlcnJvci4KfCAgICBVc2UgY2hhciBiZWNhdXNlIGludCBtaWdodCBtYXRjaCB0aGUgcmV0dXJu IHR5cGUgb2YgYSBHQ0MKfCAgICBidWlsdGluIGFuZCB0aGVuIGl0cyBhcmd1bWVudCBwcm90b3R5 cGUgd291bGQgc3RpbGwgYXBwbHkuICAqLwp8ICNpZmRlZiBfX2NwbHVzcGx1cwp8IGV4dGVybiAi QyIKfCAjZW5kaWYKfCBjaGFyIHNobF9sb2FkICgpOwp8IGludAp8IG1haW4gKCkKfCB7CnwgcmV0 dXJuIHNobF9sb2FkICgpOwp8ICAgOwp8ICAgcmV0dXJuIDA7CnwgfQpjb25maWd1cmU6MTA4MTg6 IHg4Nl82NC13NjQtbWluZ3czMi1nY2MgLW8gY29uZnRlc3QuZXhlIC1XYWxsIC1XbWlzc2luZy1w cm90b3R5cGVzIC1XcG9pbnRlci1hcml0aCAtV2RlY2xhcmF0aW9uLWFmdGVyLXN0YXRlbWVudCAt V2VuZGlmLWxhYmVscyAtV21pc3NpbmctZm9ybWF0LWF0dHJpYnV0ZSAtV2Zvcm1hdC1zZWN1cml0 eSAtZm5vLXN0cmljdC1hbGlhc2luZyAtZndyYXB2IC1mZXhjZXNzLXByZWNpc2lvbj1zdGFuZGFy ZCAtV25vLWZvcm1hdC10cnVuY2F0aW9uIC1Xbm8tc3RyaW5nb3AtdHJ1bmNhdGlvbiAtZyAtTyAt Zm5vLW9taXQtZnJhbWUtcG9pbnRlciAgLUkvdy9SLTMuNS5fL3Bvc3RncmVzL3NyYy9pbmNsdWRl L3BvcnQvd2luMzIgLURFWEVDX0JBQ0tFTkQgIC1JL3cvemxpYi0xLjIuOC13aW4zMi14ODZfNjQv aW5jbHVkZSAtSS93L29wZW5zc2wtMS4wLjJlLXdpbjMyLXg4Nl82NC9pbmNsdWRlIC1JL3cvbGli eG1sMi0yLjkuMy13aW4zMi14ODZfNjQvaW5jbHVkZS9saWJ4bWwyIC1JL3cvbGlieHNsdC0xLjEu Mjgtd2luMzIteDg2XzY0L2luY2x1ZGUgIC1XbCwtLWFsbG93LW11bHRpcGxlLWRlZmluaXRpb24g LVdsLC0tZGlzYWJsZS1hdXRvLWltcG9ydCAgLUwvdy96bGliLTEuMi44LXdpbjMyLXg4Nl82NC9s aWIgLUwvdy9vcGVuc3NsLTEuMC4yZS13aW4zMi14ODZfNjQvbGliIC1ML3cvbGlieG1sMi0yLjku My13aW4zMi14ODZfNjQvbGliIC1ML3cvbGlieHNsdC0xLjEuMjgtd2luMzIteDg2XzY0L2xpYiBj b25mdGVzdC5jIC1sZGxkICAtbHdzMl8zMiAtbG0gID4mNQpDOi9tc3lzNjQvbWluZ3c2NC9iaW4v Li4vbGliL2djYy94ODZfNjQtdzY0LW1pbmd3MzIvOC4yLjAvLi4vLi4vLi4vLi4veDg2XzY0LXc2 NC1taW5ndzMyL2Jpbi9sZC5leGU6IGNhbm5vdCBmaW5kIC1sZGxkDQpjb2xsZWN0Mi5leGU6IGVy cm9yOiBsZCByZXR1cm5lZCAxIGV4aXQgc3RhdHVzCmNvbmZpZ3VyZToxMDgxODogJD8gPSAxCmNv bmZpZ3VyZTogZmFpbGVkIHByb2dyYW0gd2FzOgp8IC8qIGNvbmZkZWZzLmggKi8KfCAjZGVmaW5l IFBBQ0tBR0VfTkFNRSAiUG9zdGdyZVNRTCIKfCAjZGVmaW5lIFBBQ0tBR0VfVEFSTkFNRSAicG9z dGdyZXNxbCIKfCAjZGVmaW5lIFBBQ0tBR0VfVkVSU0lPTiAiMTFiZXRhMyIKfCAjZGVmaW5lIFBB Q0tBR0VfU1RSSU5HICJQb3N0Z3JlU1FMIDExYmV0YTMiCnwgI2RlZmluZSBQQUNLQUdFX0JVR1JF UE9SVCAicGdzcWwtYnVnc0Bwb3N0Z3Jlc3FsLm9yZyIKfCAjZGVmaW5lIFBBQ0tBR0VfVVJMICIi CnwgI2RlZmluZSBQR19NQUpPUlZFUlNJT04gIjExIgp8ICNkZWZpbmUgUEdfVkVSU0lPTiAiMTFi ZXRhMyIKfCAjZGVmaW5lIERFRl9QR1BPUlQgNTQzMgp8ICNkZWZpbmUgREVGX1BHUE9SVF9TVFIg IjU0MzIiCnwgI2RlZmluZSBCTENLU1ogODE5Mgp8ICNkZWZpbmUgUkVMU0VHX1NJWkUgMTMxMDcy CnwgI2RlZmluZSBYTE9HX0JMQ0tTWiA4MTkyCnwgI2RlZmluZSBVU0VfQVNTRVJUX0NIRUNLSU5H IDEKfCAjZGVmaW5lIEVOQUJMRV9USFJFQURfU0FGRVRZIDEKfCAjZGVmaW5lIFVTRV9JQ1UgMQp8 ICNkZWZpbmUgUEdfS1JCX1NSVk5BTSAicG9zdGdyZXMiCnwgI2RlZmluZSBVU0VfT1BFTlNTTCAx CnwgI2RlZmluZSBVU0VfTElCWE1MIDEKfCAjZGVmaW5lIFVTRV9MSUJYU0xUIDEKfCAjZGVmaW5l IFNURENfSEVBREVSUyAxCnwgI2RlZmluZSBIQVZFX1NZU19UWVBFU19IIDEKfCAjZGVmaW5lIEhB VkVfU1lTX1NUQVRfSCAxCnwgI2RlZmluZSBIQVZFX1NURExJQl9IIDEKfCAjZGVmaW5lIEhBVkVf U1RSSU5HX0ggMQp8ICNkZWZpbmUgSEFWRV9NRU1PUllfSCAxCnwgI2RlZmluZSBIQVZFX1NUUklO R1NfSCAxCnwgI2RlZmluZSBIQVZFX0lOVFRZUEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERJTlRf SCAxCnwgI2RlZmluZSBIQVZFX1VOSVNURF9IIDEKfCAjZGVmaW5lIEhBVkVfTElCTSAxCnwgLyog ZW5kIGNvbmZkZWZzLmguICAqLwp8IAp8IC8qIE92ZXJyaWRlIGFueSBHQ0MgaW50ZXJuYWwgcHJv dG90eXBlIHRvIGF2b2lkIGFuIGVycm9yLgp8ICAgIFVzZSBjaGFyIGJlY2F1c2UgaW50IG1pZ2h0 IG1hdGNoIHRoZSByZXR1cm4gdHlwZSBvZiBhIEdDQwp8ICAgIGJ1aWx0aW4gYW5kIHRoZW4gaXRz IGFyZ3VtZW50IHByb3RvdHlwZSB3b3VsZCBzdGlsbCBhcHBseS4gICovCnwgI2lmZGVmIF9fY3Bs dXNwbHVzCnwgZXh0ZXJuICJDIgp8ICNlbmRpZgp8IGNoYXIgc2hsX2xvYWQgKCk7CnwgaW50Cnwg bWFpbiAoKQp8IHsKfCByZXR1cm4gc2hsX2xvYWQgKCk7CnwgICA7CnwgICByZXR1cm4gMDsKfCB9 CmNvbmZpZ3VyZToxMDgzNTogcmVzdWx0OiBubwpjb25maWd1cmU6MTA5MDQ6IGNoZWNraW5nIGZv ciBsaWJyYXJ5IGNvbnRhaW5pbmcgZ2V0b3B0X2xvbmcKY29uZmlndXJlOjEwOTM1OiB4ODZfNjQt dzY0LW1pbmd3MzItZ2NjIC1vIGNvbmZ0ZXN0LmV4ZSAtV2FsbCAtV21pc3NpbmctcHJvdG90eXBl cyAtV3BvaW50ZXItYXJpdGggLVdkZWNsYXJhdGlvbi1hZnRlci1zdGF0ZW1lbnQgLVdlbmRpZi1s YWJlbHMgLVdtaXNzaW5nLWZvcm1hdC1hdHRyaWJ1dGUgLVdmb3JtYXQtc2VjdXJpdHkgLWZuby1z dHJpY3QtYWxpYXNpbmcgLWZ3cmFwdiAtZmV4Y2Vzcy1wcmVjaXNpb249c3RhbmRhcmQgLVduby1m b3JtYXQtdHJ1bmNhdGlvbiAtV25vLXN0cmluZ29wLXRydW5jYXRpb24gLWcgLU8gLWZuby1vbWl0 LWZyYW1lLXBvaW50ZXIgIC1JL3cvUi0zLjUuXy9wb3N0Z3Jlcy9zcmMvaW5jbHVkZS9wb3J0L3dp bjMyIC1ERVhFQ19CQUNLRU5EICAtSS93L3psaWItMS4yLjgtd2luMzIteDg2XzY0L2luY2x1ZGUg LUkvdy9vcGVuc3NsLTEuMC4yZS13aW4zMi14ODZfNjQvaW5jbHVkZSAtSS93L2xpYnhtbDItMi45 LjMtd2luMzIteDg2XzY0L2luY2x1ZGUvbGlieG1sMiAtSS93L2xpYnhzbHQtMS4xLjI4LXdpbjMy LXg4Nl82NC9pbmNsdWRlICAtV2wsLS1hbGxvdy1tdWx0aXBsZS1kZWZpbml0aW9uIC1XbCwtLWRp c2FibGUtYXV0by1pbXBvcnQgIC1ML3cvemxpYi0xLjIuOC13aW4zMi14ODZfNjQvbGliIC1ML3cv b3BlbnNzbC0xLjAuMmUtd2luMzIteDg2XzY0L2xpYiAtTC93L2xpYnhtbDItMi45LjMtd2luMzIt eDg2XzY0L2xpYiAtTC93L2xpYnhzbHQtMS4xLjI4LXdpbjMyLXg4Nl82NC9saWIgY29uZnRlc3Qu YyAtbHdzMl8zMiAtbG0gID4mNQpjb25maWd1cmU6MTA5MzU6ICQ/ID0gMApjb25maWd1cmU6MTA5 NTI6IHJlc3VsdDogbm9uZSByZXF1aXJlZApjb25maWd1cmU6MTA5NjA6IGNoZWNraW5nIGZvciBs aWJyYXJ5IGNvbnRhaW5pbmcgY3J5cHQKY29uZmlndXJlOjEwOTkxOiB4ODZfNjQtdzY0LW1pbmd3 MzItZ2NjIC1vIGNvbmZ0ZXN0LmV4ZSAtV2FsbCAtV21pc3NpbmctcHJvdG90eXBlcyAtV3BvaW50 ZXItYXJpdGggLVdkZWNsYXJhdGlvbi1hZnRlci1zdGF0ZW1lbnQgLVdlbmRpZi1sYWJlbHMgLVdt aXNzaW5nLWZvcm1hdC1hdHRyaWJ1dGUgLVdmb3JtYXQtc2VjdXJpdHkgLWZuby1zdHJpY3QtYWxp YXNpbmcgLWZ3cmFwdiAtZmV4Y2Vzcy1wcmVjaXNpb249c3RhbmRhcmQgLVduby1mb3JtYXQtdHJ1 bmNhdGlvbiAtV25vLXN0cmluZ29wLXRydW5jYXRpb24gLWcgLU8gLWZuby1vbWl0LWZyYW1lLXBv aW50ZXIgIC1JL3cvUi0zLjUuXy9wb3N0Z3Jlcy9zcmMvaW5jbHVkZS9wb3J0L3dpbjMyIC1ERVhF Q19CQUNLRU5EICAtSS93L3psaWItMS4yLjgtd2luMzIteDg2XzY0L2luY2x1ZGUgLUkvdy9vcGVu c3NsLTEuMC4yZS13aW4zMi14ODZfNjQvaW5jbHVkZSAtSS93L2xpYnhtbDItMi45LjMtd2luMzIt eDg2XzY0L2luY2x1ZGUvbGlieG1sMiAtSS93L2xpYnhzbHQtMS4xLjI4LXdpbjMyLXg4Nl82NC9p bmNsdWRlICAtV2wsLS1hbGxvdy1tdWx0aXBsZS1kZWZpbml0aW9uIC1XbCwtLWRpc2FibGUtYXV0 by1pbXBvcnQgIC1ML3cvemxpYi0xLjIuOC13aW4zMi14ODZfNjQvbGliIC1ML3cvb3BlbnNzbC0x LjAuMmUtd2luMzIteDg2XzY0L2xpYiAtTC93L2xpYnhtbDItMi45LjMtd2luMzIteDg2XzY0L2xp YiAtTC93L2xpYnhzbHQtMS4xLjI4LXdpbjMyLXg4Nl82NC9saWIgY29uZnRlc3QuYyAtbHdzMl8z MiAtbG0gID4mNQpDOi9tc3lzNjQvbWluZ3c2NC9iaW4vLi4vbGliL2djYy94ODZfNjQtdzY0LW1p bmd3MzIvOC4yLjAvLi4vLi4vLi4vLi4veDg2XzY0LXc2NC1taW5ndzMyL2Jpbi9sZC5leGU6IEM6 XG1zeXM2NFx0bXBcY2MwajhlMEUubzogaW4gZnVuY3Rpb24gYG1haW4nOg0KVzpcUi0zLjUuX1xw b3N0Z3Jlc1xidWlsZC9jb25mdGVzdC5jOjQ1OiB1bmRlZmluZWQgcmVmZXJlbmNlIHRvIGBjcnlw dCcNCmNvbGxlY3QyLmV4ZTogZXJyb3I6IGxkIHJldHVybmVkIDEgZXhpdCBzdGF0dXMKY29uZmln dXJlOjEwOTkxOiAkPyA9IDEKY29uZmlndXJlOiBmYWlsZWQgcHJvZ3JhbSB3YXM6CnwgLyogY29u ZmRlZnMuaCAqLwp8ICNkZWZpbmUgUEFDS0FHRV9OQU1FICJQb3N0Z3JlU1FMIgp8ICNkZWZpbmUg UEFDS0FHRV9UQVJOQU1FICJwb3N0Z3Jlc3FsIgp8ICNkZWZpbmUgUEFDS0FHRV9WRVJTSU9OICIx MWJldGEzIgp8ICNkZWZpbmUgUEFDS0FHRV9TVFJJTkcgIlBvc3RncmVTUUwgMTFiZXRhMyIKfCAj ZGVmaW5lIFBBQ0tBR0VfQlVHUkVQT1JUICJwZ3NxbC1idWdzQHBvc3RncmVzcWwub3JnIgp8ICNk ZWZpbmUgUEFDS0FHRV9VUkwgIiIKfCAjZGVmaW5lIFBHX01BSk9SVkVSU0lPTiAiMTEiCnwgI2Rl ZmluZSBQR19WRVJTSU9OICIxMWJldGEzIgp8ICNkZWZpbmUgREVGX1BHUE9SVCA1NDMyCnwgI2Rl ZmluZSBERUZfUEdQT1JUX1NUUiAiNTQzMiIKfCAjZGVmaW5lIEJMQ0tTWiA4MTkyCnwgI2RlZmlu ZSBSRUxTRUdfU0laRSAxMzEwNzIKfCAjZGVmaW5lIFhMT0dfQkxDS1NaIDgxOTIKfCAjZGVmaW5l IFVTRV9BU1NFUlRfQ0hFQ0tJTkcgMQp8ICNkZWZpbmUgRU5BQkxFX1RIUkVBRF9TQUZFVFkgMQp8 ICNkZWZpbmUgVVNFX0lDVSAxCnwgI2RlZmluZSBQR19LUkJfU1JWTkFNICJwb3N0Z3JlcyIKfCAj ZGVmaW5lIFVTRV9PUEVOU1NMIDEKfCAjZGVmaW5lIFVTRV9MSUJYTUwgMQp8ICNkZWZpbmUgVVNF X0xJQlhTTFQgMQp8ICNkZWZpbmUgU1REQ19IRUFERVJTIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1RZ UEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfU1RBVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1RETElC X0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJJTkdfSCAxCnwgI2RlZmluZSBIQVZFX01FTU9SWV9IIDEK fCAjZGVmaW5lIEhBVkVfU1RSSU5HU19IIDEKfCAjZGVmaW5lIEhBVkVfSU5UVFlQRVNfSCAxCnwg I2RlZmluZSBIQVZFX1NURElOVF9IIDEKfCAjZGVmaW5lIEhBVkVfVU5JU1REX0ggMQp8ICNkZWZp bmUgSEFWRV9MSUJNIDEKfCAvKiBlbmQgY29uZmRlZnMuaC4gICovCnwgCnwgLyogT3ZlcnJpZGUg YW55IEdDQyBpbnRlcm5hbCBwcm90b3R5cGUgdG8gYXZvaWQgYW4gZXJyb3IuCnwgICAgVXNlIGNo YXIgYmVjYXVzZSBpbnQgbWlnaHQgbWF0Y2ggdGhlIHJldHVybiB0eXBlIG9mIGEgR0NDCnwgICAg YnVpbHRpbiBhbmQgdGhlbiBpdHMgYXJndW1lbnQgcHJvdG90eXBlIHdvdWxkIHN0aWxsIGFwcGx5 LiAgKi8KfCAjaWZkZWYgX19jcGx1c3BsdXMKfCBleHRlcm4gIkMiCnwgI2VuZGlmCnwgY2hhciBj cnlwdCAoKTsKfCBpbnQKfCBtYWluICgpCnwgewp8IHJldHVybiBjcnlwdCAoKTsKfCAgIDsKfCAg IHJldHVybiAwOwp8IH0KY29uZmlndXJlOjEwOTkxOiB4ODZfNjQtdzY0LW1pbmd3MzItZ2NjIC1v IGNvbmZ0ZXN0LmV4ZSAtV2FsbCAtV21pc3NpbmctcHJvdG90eXBlcyAtV3BvaW50ZXItYXJpdGgg LVdkZWNsYXJhdGlvbi1hZnRlci1zdGF0ZW1lbnQgLVdlbmRpZi1sYWJlbHMgLVdtaXNzaW5nLWZv cm1hdC1hdHRyaWJ1dGUgLVdmb3JtYXQtc2VjdXJpdHkgLWZuby1zdHJpY3QtYWxpYXNpbmcgLWZ3 cmFwdiAtZmV4Y2Vzcy1wcmVjaXNpb249c3RhbmRhcmQgLVduby1mb3JtYXQtdHJ1bmNhdGlvbiAt V25vLXN0cmluZ29wLXRydW5jYXRpb24gLWcgLU8gLWZuby1vbWl0LWZyYW1lLXBvaW50ZXIgIC1J L3cvUi0zLjUuXy9wb3N0Z3Jlcy9zcmMvaW5jbHVkZS9wb3J0L3dpbjMyIC1ERVhFQ19CQUNLRU5E ICAtSS93L3psaWItMS4yLjgtd2luMzIteDg2XzY0L2luY2x1ZGUgLUkvdy9vcGVuc3NsLTEuMC4y ZS13aW4zMi14ODZfNjQvaW5jbHVkZSAtSS93L2xpYnhtbDItMi45LjMtd2luMzIteDg2XzY0L2lu Y2x1ZGUvbGlieG1sMiAtSS93L2xpYnhzbHQtMS4xLjI4LXdpbjMyLXg4Nl82NC9pbmNsdWRlICAt V2wsLS1hbGxvdy1tdWx0aXBsZS1kZWZpbml0aW9uIC1XbCwtLWRpc2FibGUtYXV0by1pbXBvcnQg IC1ML3cvemxpYi0xLjIuOC13aW4zMi14ODZfNjQvbGliIC1ML3cvb3BlbnNzbC0xLjAuMmUtd2lu MzIteDg2XzY0L2xpYiAtTC93L2xpYnhtbDItMi45LjMtd2luMzIteDg2XzY0L2xpYiAtTC93L2xp YnhzbHQtMS4xLjI4LXdpbjMyLXg4Nl82NC9saWIgY29uZnRlc3QuYyAtbGNyeXB0ICAtbHdzMl8z MiAtbG0gID4mNQpDOi9tc3lzNjQvbWluZ3c2NC9iaW4vLi4vbGliL2djYy94ODZfNjQtdzY0LW1p bmd3MzIvOC4yLjAvLi4vLi4vLi4vLi4veDg2XzY0LXc2NC1taW5ndzMyL2Jpbi9sZC5leGU6IGNh bm5vdCBmaW5kIC1sY3J5cHQNCmNvbGxlY3QyLmV4ZTogZXJyb3I6IGxkIHJldHVybmVkIDEgZXhp dCBzdGF0dXMKY29uZmlndXJlOjEwOTkxOiAkPyA9IDEKY29uZmlndXJlOiBmYWlsZWQgcHJvZ3Jh bSB3YXM6CnwgLyogY29uZmRlZnMuaCAqLwp8ICNkZWZpbmUgUEFDS0FHRV9OQU1FICJQb3N0Z3Jl U1FMIgp8ICNkZWZpbmUgUEFDS0FHRV9UQVJOQU1FICJwb3N0Z3Jlc3FsIgp8ICNkZWZpbmUgUEFD S0FHRV9WRVJTSU9OICIxMWJldGEzIgp8ICNkZWZpbmUgUEFDS0FHRV9TVFJJTkcgIlBvc3RncmVT UUwgMTFiZXRhMyIKfCAjZGVmaW5lIFBBQ0tBR0VfQlVHUkVQT1JUICJwZ3NxbC1idWdzQHBvc3Rn cmVzcWwub3JnIgp8ICNkZWZpbmUgUEFDS0FHRV9VUkwgIiIKfCAjZGVmaW5lIFBHX01BSk9SVkVS U0lPTiAiMTEiCnwgI2RlZmluZSBQR19WRVJTSU9OICIxMWJldGEzIgp8ICNkZWZpbmUgREVGX1BH UE9SVCA1NDMyCnwgI2RlZmluZSBERUZfUEdQT1JUX1NUUiAiNTQzMiIKfCAjZGVmaW5lIEJMQ0tT WiA4MTkyCnwgI2RlZmluZSBSRUxTRUdfU0laRSAxMzEwNzIKfCAjZGVmaW5lIFhMT0dfQkxDS1Na IDgxOTIKfCAjZGVmaW5lIFVTRV9BU1NFUlRfQ0hFQ0tJTkcgMQp8ICNkZWZpbmUgRU5BQkxFX1RI UkVBRF9TQUZFVFkgMQp8ICNkZWZpbmUgVVNFX0lDVSAxCnwgI2RlZmluZSBQR19LUkJfU1JWTkFN ICJwb3N0Z3JlcyIKfCAjZGVmaW5lIFVTRV9PUEVOU1NMIDEKfCAjZGVmaW5lIFVTRV9MSUJYTUwg MQp8ICNkZWZpbmUgVVNFX0xJQlhTTFQgMQp8ICNkZWZpbmUgU1REQ19IRUFERVJTIDEKfCAjZGVm aW5lIEhBVkVfU1lTX1RZUEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfU1RBVF9IIDEKfCAjZGVm aW5lIEhBVkVfU1RETElCX0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJJTkdfSCAxCnwgI2RlZmluZSBI QVZFX01FTU9SWV9IIDEKfCAjZGVmaW5lIEhBVkVfU1RSSU5HU19IIDEKfCAjZGVmaW5lIEhBVkVf SU5UVFlQRVNfSCAxCnwgI2RlZmluZSBIQVZFX1NURElOVF9IIDEKfCAjZGVmaW5lIEhBVkVfVU5J U1REX0ggMQp8ICNkZWZpbmUgSEFWRV9MSUJNIDEKfCAvKiBlbmQgY29uZmRlZnMuaC4gICovCnwg CnwgLyogT3ZlcnJpZGUgYW55IEdDQyBpbnRlcm5hbCBwcm90b3R5cGUgdG8gYXZvaWQgYW4gZXJy b3IuCnwgICAgVXNlIGNoYXIgYmVjYXVzZSBpbnQgbWlnaHQgbWF0Y2ggdGhlIHJldHVybiB0eXBl IG9mIGEgR0NDCnwgICAgYnVpbHRpbiBhbmQgdGhlbiBpdHMgYXJndW1lbnQgcHJvdG90eXBlIHdv dWxkIHN0aWxsIGFwcGx5LiAgKi8KfCAjaWZkZWYgX19jcGx1c3BsdXMKfCBleHRlcm4gIkMiCnwg I2VuZGlmCnwgY2hhciBjcnlwdCAoKTsKfCBpbnQKfCBtYWluICgpCnwgewp8IHJldHVybiBjcnlw dCAoKTsKfCAgIDsKfCAgIHJldHVybiAwOwp8IH0KY29uZmlndXJlOjExMDA4OiByZXN1bHQ6IG5v CmNvbmZpZ3VyZToxMTAxNjogY2hlY2tpbmcgZm9yIGxpYnJhcnkgY29udGFpbmluZyBzaG1fb3Bl bgpjb25maWd1cmU6MTEwNDc6IHg4Nl82NC13NjQtbWluZ3czMi1nY2MgLW8gY29uZnRlc3QuZXhl IC1XYWxsIC1XbWlzc2luZy1wcm90b3R5cGVzIC1XcG9pbnRlci1hcml0aCAtV2RlY2xhcmF0aW9u LWFmdGVyLXN0YXRlbWVudCAtV2VuZGlmLWxhYmVscyAtV21pc3NpbmctZm9ybWF0LWF0dHJpYnV0 ZSAtV2Zvcm1hdC1zZWN1cml0eSAtZm5vLXN0cmljdC1hbGlhc2luZyAtZndyYXB2IC1mZXhjZXNz LXByZWNpc2lvbj1zdGFuZGFyZCAtV25vLWZvcm1hdC10cnVuY2F0aW9uIC1Xbm8tc3RyaW5nb3At dHJ1bmNhdGlvbiAtZyAtTyAtZm5vLW9taXQtZnJhbWUtcG9pbnRlciAgLUkvdy9SLTMuNS5fL3Bv c3RncmVzL3NyYy9pbmNsdWRlL3BvcnQvd2luMzIgLURFWEVDX0JBQ0tFTkQgIC1JL3cvemxpYi0x LjIuOC13aW4zMi14ODZfNjQvaW5jbHVkZSAtSS93L29wZW5zc2wtMS4wLjJlLXdpbjMyLXg4Nl82 NC9pbmNsdWRlIC1JL3cvbGlieG1sMi0yLjkuMy13aW4zMi14ODZfNjQvaW5jbHVkZS9saWJ4bWwy IC1JL3cvbGlieHNsdC0xLjEuMjgtd2luMzIteDg2XzY0L2luY2x1ZGUgIC1XbCwtLWFsbG93LW11 bHRpcGxlLWRlZmluaXRpb24gLVdsLC0tZGlzYWJsZS1hdXRvLWltcG9ydCAgLUwvdy96bGliLTEu Mi44LXdpbjMyLXg4Nl82NC9saWIgLUwvdy9vcGVuc3NsLTEuMC4yZS13aW4zMi14ODZfNjQvbGli IC1ML3cvbGlieG1sMi0yLjkuMy13aW4zMi14ODZfNjQvbGliIC1ML3cvbGlieHNsdC0xLjEuMjgt d2luMzIteDg2XzY0L2xpYiBjb25mdGVzdC5jIC1sd3MyXzMyIC1sbSAgPiY1CkM6L21zeXM2NC9t aW5ndzY0L2Jpbi8uLi9saWIvZ2NjL3g4Nl82NC13NjQtbWluZ3czMi84LjIuMC8uLi8uLi8uLi8u Li94ODZfNjQtdzY0LW1pbmd3MzIvYmluL2xkLmV4ZTogQzpcbXN5czY0XHRtcFxjY2tIM0hibC5v OiBpbiBmdW5jdGlvbiBgbWFpbic6DQpXOlxSLTMuNS5fXHBvc3RncmVzXGJ1aWxkL2NvbmZ0ZXN0 LmM6NDU6IHVuZGVmaW5lZCByZWZlcmVuY2UgdG8gYHNobV9vcGVuJw0KY29sbGVjdDIuZXhlOiBl cnJvcjogbGQgcmV0dXJuZWQgMSBleGl0IHN0YXR1cwpjb25maWd1cmU6MTEwNDc6ICQ/ID0gMQpj b25maWd1cmU6IGZhaWxlZCBwcm9ncmFtIHdhczoKfCAvKiBjb25mZGVmcy5oICovCnwgI2RlZmlu ZSBQQUNLQUdFX05BTUUgIlBvc3RncmVTUUwiCnwgI2RlZmluZSBQQUNLQUdFX1RBUk5BTUUgInBv c3RncmVzcWwiCnwgI2RlZmluZSBQQUNLQUdFX1ZFUlNJT04gIjExYmV0YTMiCnwgI2RlZmluZSBQ QUNLQUdFX1NUUklORyAiUG9zdGdyZVNRTCAxMWJldGEzIgp8ICNkZWZpbmUgUEFDS0FHRV9CVUdS RVBPUlQgInBnc3FsLWJ1Z3NAcG9zdGdyZXNxbC5vcmciCnwgI2RlZmluZSBQQUNLQUdFX1VSTCAi Igp8ICNkZWZpbmUgUEdfTUFKT1JWRVJTSU9OICIxMSIKfCAjZGVmaW5lIFBHX1ZFUlNJT04gIjEx YmV0YTMiCnwgI2RlZmluZSBERUZfUEdQT1JUIDU0MzIKfCAjZGVmaW5lIERFRl9QR1BPUlRfU1RS ICI1NDMyIgp8ICNkZWZpbmUgQkxDS1NaIDgxOTIKfCAjZGVmaW5lIFJFTFNFR19TSVpFIDEzMTA3 Mgp8ICNkZWZpbmUgWExPR19CTENLU1ogODE5Mgp8ICNkZWZpbmUgVVNFX0FTU0VSVF9DSEVDS0lO RyAxCnwgI2RlZmluZSBFTkFCTEVfVEhSRUFEX1NBRkVUWSAxCnwgI2RlZmluZSBVU0VfSUNVIDEK fCAjZGVmaW5lIFBHX0tSQl9TUlZOQU0gInBvc3RncmVzIgp8ICNkZWZpbmUgVVNFX09QRU5TU0wg MQp8ICNkZWZpbmUgVVNFX0xJQlhNTCAxCnwgI2RlZmluZSBVU0VfTElCWFNMVCAxCnwgI2RlZmlu ZSBTVERDX0hFQURFUlMgMQp8ICNkZWZpbmUgSEFWRV9TWVNfVFlQRVNfSCAxCnwgI2RlZmluZSBI QVZFX1NZU19TVEFUX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERMSUJfSCAxCnwgI2RlZmluZSBIQVZF X1NUUklOR19IIDEKfCAjZGVmaW5lIEhBVkVfTUVNT1JZX0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJJ TkdTX0ggMQp8ICNkZWZpbmUgSEFWRV9JTlRUWVBFU19IIDEKfCAjZGVmaW5lIEhBVkVfU1RESU5U X0ggMQp8ICNkZWZpbmUgSEFWRV9VTklTVERfSCAxCnwgI2RlZmluZSBIQVZFX0xJQk0gMQp8IC8q IGVuZCBjb25mZGVmcy5oLiAgKi8KfCAKfCAvKiBPdmVycmlkZSBhbnkgR0NDIGludGVybmFsIHBy b3RvdHlwZSB0byBhdm9pZCBhbiBlcnJvci4KfCAgICBVc2UgY2hhciBiZWNhdXNlIGludCBtaWdo dCBtYXRjaCB0aGUgcmV0dXJuIHR5cGUgb2YgYSBHQ0MKfCAgICBidWlsdGluIGFuZCB0aGVuIGl0 cyBhcmd1bWVudCBwcm90b3R5cGUgd291bGQgc3RpbGwgYXBwbHkuICAqLwp8ICNpZmRlZiBfX2Nw bHVzcGx1cwp8IGV4dGVybiAiQyIKfCAjZW5kaWYKfCBjaGFyIHNobV9vcGVuICgpOwp8IGludAp8 IG1haW4gKCkKfCB7CnwgcmV0dXJuIHNobV9vcGVuICgpOwp8ICAgOwp8ICAgcmV0dXJuIDA7Cnwg fQpjb25maWd1cmU6MTEwNDc6IHg4Nl82NC13NjQtbWluZ3czMi1nY2MgLW8gY29uZnRlc3QuZXhl IC1XYWxsIC1XbWlzc2luZy1wcm90b3R5cGVzIC1XcG9pbnRlci1hcml0aCAtV2RlY2xhcmF0aW9u LWFmdGVyLXN0YXRlbWVudCAtV2VuZGlmLWxhYmVscyAtV21pc3NpbmctZm9ybWF0LWF0dHJpYnV0 ZSAtV2Zvcm1hdC1zZWN1cml0eSAtZm5vLXN0cmljdC1hbGlhc2luZyAtZndyYXB2IC1mZXhjZXNz LXByZWNpc2lvbj1zdGFuZGFyZCAtV25vLWZvcm1hdC10cnVuY2F0aW9uIC1Xbm8tc3RyaW5nb3At dHJ1bmNhdGlvbiAtZyAtTyAtZm5vLW9taXQtZnJhbWUtcG9pbnRlciAgLUkvdy9SLTMuNS5fL3Bv c3RncmVzL3NyYy9pbmNsdWRlL3BvcnQvd2luMzIgLURFWEVDX0JBQ0tFTkQgIC1JL3cvemxpYi0x LjIuOC13aW4zMi14ODZfNjQvaW5jbHVkZSAtSS93L29wZW5zc2wtMS4wLjJlLXdpbjMyLXg4Nl82 NC9pbmNsdWRlIC1JL3cvbGlieG1sMi0yLjkuMy13aW4zMi14ODZfNjQvaW5jbHVkZS9saWJ4bWwy IC1JL3cvbGlieHNsdC0xLjEuMjgtd2luMzIteDg2XzY0L2luY2x1ZGUgIC1XbCwtLWFsbG93LW11 bHRpcGxlLWRlZmluaXRpb24gLVdsLC0tZGlzYWJsZS1hdXRvLWltcG9ydCAgLUwvdy96bGliLTEu Mi44LXdpbjMyLXg4Nl82NC9saWIgLUwvdy9vcGVuc3NsLTEuMC4yZS13aW4zMi14ODZfNjQvbGli IC1ML3cvbGlieG1sMi0yLjkuMy13aW4zMi14ODZfNjQvbGliIC1ML3cvbGlieHNsdC0xLjEuMjgt d2luMzIteDg2XzY0L2xpYiBjb25mdGVzdC5jIC1scnQgIC1sd3MyXzMyIC1sbSAgPiY1CkM6L21z eXM2NC9taW5ndzY0L2Jpbi8uLi9saWIvZ2NjL3g4Nl82NC13NjQtbWluZ3czMi84LjIuMC8uLi8u Li8uLi8uLi94ODZfNjQtdzY0LW1pbmd3MzIvYmluL2xkLmV4ZTogY2Fubm90IGZpbmQgLWxydA0K Y29sbGVjdDIuZXhlOiBlcnJvcjogbGQgcmV0dXJuZWQgMSBleGl0IHN0YXR1cwpjb25maWd1cmU6 MTEwNDc6ICQ/ID0gMQpjb25maWd1cmU6IGZhaWxlZCBwcm9ncmFtIHdhczoKfCAvKiBjb25mZGVm cy5oICovCnwgI2RlZmluZSBQQUNLQUdFX05BTUUgIlBvc3RncmVTUUwiCnwgI2RlZmluZSBQQUNL QUdFX1RBUk5BTUUgInBvc3RncmVzcWwiCnwgI2RlZmluZSBQQUNLQUdFX1ZFUlNJT04gIjExYmV0 YTMiCnwgI2RlZmluZSBQQUNLQUdFX1NUUklORyAiUG9zdGdyZVNRTCAxMWJldGEzIgp8ICNkZWZp bmUgUEFDS0FHRV9CVUdSRVBPUlQgInBnc3FsLWJ1Z3NAcG9zdGdyZXNxbC5vcmciCnwgI2RlZmlu ZSBQQUNLQUdFX1VSTCAiIgp8ICNkZWZpbmUgUEdfTUFKT1JWRVJTSU9OICIxMSIKfCAjZGVmaW5l IFBHX1ZFUlNJT04gIjExYmV0YTMiCnwgI2RlZmluZSBERUZfUEdQT1JUIDU0MzIKfCAjZGVmaW5l IERFRl9QR1BPUlRfU1RSICI1NDMyIgp8ICNkZWZpbmUgQkxDS1NaIDgxOTIKfCAjZGVmaW5lIFJF TFNFR19TSVpFIDEzMTA3Mgp8ICNkZWZpbmUgWExPR19CTENLU1ogODE5Mgp8ICNkZWZpbmUgVVNF X0FTU0VSVF9DSEVDS0lORyAxCnwgI2RlZmluZSBFTkFCTEVfVEhSRUFEX1NBRkVUWSAxCnwgI2Rl ZmluZSBVU0VfSUNVIDEKfCAjZGVmaW5lIFBHX0tSQl9TUlZOQU0gInBvc3RncmVzIgp8ICNkZWZp bmUgVVNFX09QRU5TU0wgMQp8ICNkZWZpbmUgVVNFX0xJQlhNTCAxCnwgI2RlZmluZSBVU0VfTElC WFNMVCAxCnwgI2RlZmluZSBTVERDX0hFQURFUlMgMQp8ICNkZWZpbmUgSEFWRV9TWVNfVFlQRVNf SCAxCnwgI2RlZmluZSBIQVZFX1NZU19TVEFUX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERMSUJfSCAx CnwgI2RlZmluZSBIQVZFX1NUUklOR19IIDEKfCAjZGVmaW5lIEhBVkVfTUVNT1JZX0ggMQp8ICNk ZWZpbmUgSEFWRV9TVFJJTkdTX0ggMQp8ICNkZWZpbmUgSEFWRV9JTlRUWVBFU19IIDEKfCAjZGVm aW5lIEhBVkVfU1RESU5UX0ggMQp8ICNkZWZpbmUgSEFWRV9VTklTVERfSCAxCnwgI2RlZmluZSBI QVZFX0xJQk0gMQp8IC8qIGVuZCBjb25mZGVmcy5oLiAgKi8KfCAKfCAvKiBPdmVycmlkZSBhbnkg R0NDIGludGVybmFsIHByb3RvdHlwZSB0byBhdm9pZCBhbiBlcnJvci4KfCAgICBVc2UgY2hhciBi ZWNhdXNlIGludCBtaWdodCBtYXRjaCB0aGUgcmV0dXJuIHR5cGUgb2YgYSBHQ0MKfCAgICBidWls dGluIGFuZCB0aGVuIGl0cyBhcmd1bWVudCBwcm90b3R5cGUgd291bGQgc3RpbGwgYXBwbHkuICAq Lwp8ICNpZmRlZiBfX2NwbHVzcGx1cwp8IGV4dGVybiAiQyIKfCAjZW5kaWYKfCBjaGFyIHNobV9v cGVuICgpOwp8IGludAp8IG1haW4gKCkKfCB7CnwgcmV0dXJuIHNobV9vcGVuICgpOwp8ICAgOwp8 ICAgcmV0dXJuIDA7CnwgfQpjb25maWd1cmU6MTEwNjQ6IHJlc3VsdDogbm8KY29uZmlndXJlOjEx MDcyOiBjaGVja2luZyBmb3IgbGlicmFyeSBjb250YWluaW5nIHNobV91bmxpbmsKY29uZmlndXJl OjExMTAzOiB4ODZfNjQtdzY0LW1pbmd3MzItZ2NjIC1vIGNvbmZ0ZXN0LmV4ZSAtV2FsbCAtV21p c3NpbmctcHJvdG90eXBlcyAtV3BvaW50ZXItYXJpdGggLVdkZWNsYXJhdGlvbi1hZnRlci1zdGF0 ZW1lbnQgLVdlbmRpZi1sYWJlbHMgLVdtaXNzaW5nLWZvcm1hdC1hdHRyaWJ1dGUgLVdmb3JtYXQt c2VjdXJpdHkgLWZuby1zdHJpY3QtYWxpYXNpbmcgLWZ3cmFwdiAtZmV4Y2Vzcy1wcmVjaXNpb249 c3RhbmRhcmQgLVduby1mb3JtYXQtdHJ1bmNhdGlvbiAtV25vLXN0cmluZ29wLXRydW5jYXRpb24g LWcgLU8gLWZuby1vbWl0LWZyYW1lLXBvaW50ZXIgIC1JL3cvUi0zLjUuXy9wb3N0Z3Jlcy9zcmMv aW5jbHVkZS9wb3J0L3dpbjMyIC1ERVhFQ19CQUNLRU5EICAtSS93L3psaWItMS4yLjgtd2luMzIt eDg2XzY0L2luY2x1ZGUgLUkvdy9vcGVuc3NsLTEuMC4yZS13aW4zMi14ODZfNjQvaW5jbHVkZSAt SS93L2xpYnhtbDItMi45LjMtd2luMzIteDg2XzY0L2luY2x1ZGUvbGlieG1sMiAtSS93L2xpYnhz bHQtMS4xLjI4LXdpbjMyLXg4Nl82NC9pbmNsdWRlICAtV2wsLS1hbGxvdy1tdWx0aXBsZS1kZWZp bml0aW9uIC1XbCwtLWRpc2FibGUtYXV0by1pbXBvcnQgIC1ML3cvemxpYi0xLjIuOC13aW4zMi14 ODZfNjQvbGliIC1ML3cvb3BlbnNzbC0xLjAuMmUtd2luMzIteDg2XzY0L2xpYiAtTC93L2xpYnht bDItMi45LjMtd2luMzIteDg2XzY0L2xpYiAtTC93L2xpYnhzbHQtMS4xLjI4LXdpbjMyLXg4Nl82 NC9saWIgY29uZnRlc3QuYyAtbHdzMl8zMiAtbG0gID4mNQpDOi9tc3lzNjQvbWluZ3c2NC9iaW4v Li4vbGliL2djYy94ODZfNjQtdzY0LW1pbmd3MzIvOC4yLjAvLi4vLi4vLi4vLi4veDg2XzY0LXc2 NC1taW5ndzMyL2Jpbi9sZC5leGU6IEM6XG1zeXM2NFx0bXBcY2NLMmtPT28ubzogaW4gZnVuY3Rp b24gYG1haW4nOg0KVzpcUi0zLjUuX1xwb3N0Z3Jlc1xidWlsZC9jb25mdGVzdC5jOjQ1OiB1bmRl ZmluZWQgcmVmZXJlbmNlIHRvIGBzaG1fdW5saW5rJw0KY29sbGVjdDIuZXhlOiBlcnJvcjogbGQg cmV0dXJuZWQgMSBleGl0IHN0YXR1cwpjb25maWd1cmU6MTExMDM6ICQ/ID0gMQpjb25maWd1cmU6 IGZhaWxlZCBwcm9ncmFtIHdhczoKfCAvKiBjb25mZGVmcy5oICovCnwgI2RlZmluZSBQQUNLQUdF X05BTUUgIlBvc3RncmVTUUwiCnwgI2RlZmluZSBQQUNLQUdFX1RBUk5BTUUgInBvc3RncmVzcWwi CnwgI2RlZmluZSBQQUNLQUdFX1ZFUlNJT04gIjExYmV0YTMiCnwgI2RlZmluZSBQQUNLQUdFX1NU UklORyAiUG9zdGdyZVNRTCAxMWJldGEzIgp8ICNkZWZpbmUgUEFDS0FHRV9CVUdSRVBPUlQgInBn c3FsLWJ1Z3NAcG9zdGdyZXNxbC5vcmciCnwgI2RlZmluZSBQQUNLQUdFX1VSTCAiIgp8ICNkZWZp bmUgUEdfTUFKT1JWRVJTSU9OICIxMSIKfCAjZGVmaW5lIFBHX1ZFUlNJT04gIjExYmV0YTMiCnwg I2RlZmluZSBERUZfUEdQT1JUIDU0MzIKfCAjZGVmaW5lIERFRl9QR1BPUlRfU1RSICI1NDMyIgp8 ICNkZWZpbmUgQkxDS1NaIDgxOTIKfCAjZGVmaW5lIFJFTFNFR19TSVpFIDEzMTA3Mgp8ICNkZWZp bmUgWExPR19CTENLU1ogODE5Mgp8ICNkZWZpbmUgVVNFX0FTU0VSVF9DSEVDS0lORyAxCnwgI2Rl ZmluZSBFTkFCTEVfVEhSRUFEX1NBRkVUWSAxCnwgI2RlZmluZSBVU0VfSUNVIDEKfCAjZGVmaW5l IFBHX0tSQl9TUlZOQU0gInBvc3RncmVzIgp8ICNkZWZpbmUgVVNFX09QRU5TU0wgMQp8ICNkZWZp bmUgVVNFX0xJQlhNTCAxCnwgI2RlZmluZSBVU0VfTElCWFNMVCAxCnwgI2RlZmluZSBTVERDX0hF QURFUlMgMQp8ICNkZWZpbmUgSEFWRV9TWVNfVFlQRVNfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19T VEFUX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERMSUJfSCAxCnwgI2RlZmluZSBIQVZFX1NUUklOR19I IDEKfCAjZGVmaW5lIEhBVkVfTUVNT1JZX0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJJTkdTX0ggMQp8 ICNkZWZpbmUgSEFWRV9JTlRUWVBFU19IIDEKfCAjZGVmaW5lIEhBVkVfU1RESU5UX0ggMQp8ICNk ZWZpbmUgSEFWRV9VTklTVERfSCAxCnwgI2RlZmluZSBIQVZFX0xJQk0gMQp8IC8qIGVuZCBjb25m ZGVmcy5oLiAgKi8KfCAKfCAvKiBPdmVycmlkZSBhbnkgR0NDIGludGVybmFsIHByb3RvdHlwZSB0 byBhdm9pZCBhbiBlcnJvci4KfCAgICBVc2UgY2hhciBiZWNhdXNlIGludCBtaWdodCBtYXRjaCB0 aGUgcmV0dXJuIHR5cGUgb2YgYSBHQ0MKfCAgICBidWlsdGluIGFuZCB0aGVuIGl0cyBhcmd1bWVu dCBwcm90b3R5cGUgd291bGQgc3RpbGwgYXBwbHkuICAqLwp8ICNpZmRlZiBfX2NwbHVzcGx1cwp8 IGV4dGVybiAiQyIKfCAjZW5kaWYKfCBjaGFyIHNobV91bmxpbmsgKCk7CnwgaW50CnwgbWFpbiAo KQp8IHsKfCByZXR1cm4gc2htX3VubGluayAoKTsKfCAgIDsKfCAgIHJldHVybiAwOwp8IH0KY29u ZmlndXJlOjExMTAzOiB4ODZfNjQtdzY0LW1pbmd3MzItZ2NjIC1vIGNvbmZ0ZXN0LmV4ZSAtV2Fs bCAtV21pc3NpbmctcHJvdG90eXBlcyAtV3BvaW50ZXItYXJpdGggLVdkZWNsYXJhdGlvbi1hZnRl ci1zdGF0ZW1lbnQgLVdlbmRpZi1sYWJlbHMgLVdtaXNzaW5nLWZvcm1hdC1hdHRyaWJ1dGUgLVdm b3JtYXQtc2VjdXJpdHkgLWZuby1zdHJpY3QtYWxpYXNpbmcgLWZ3cmFwdiAtZmV4Y2Vzcy1wcmVj aXNpb249c3RhbmRhcmQgLVduby1mb3JtYXQtdHJ1bmNhdGlvbiAtV25vLXN0cmluZ29wLXRydW5j YXRpb24gLWcgLU8gLWZuby1vbWl0LWZyYW1lLXBvaW50ZXIgIC1JL3cvUi0zLjUuXy9wb3N0Z3Jl cy9zcmMvaW5jbHVkZS9wb3J0L3dpbjMyIC1ERVhFQ19CQUNLRU5EICAtSS93L3psaWItMS4yLjgt d2luMzIteDg2XzY0L2luY2x1ZGUgLUkvdy9vcGVuc3NsLTEuMC4yZS13aW4zMi14ODZfNjQvaW5j bHVkZSAtSS93L2xpYnhtbDItMi45LjMtd2luMzIteDg2XzY0L2luY2x1ZGUvbGlieG1sMiAtSS93 L2xpYnhzbHQtMS4xLjI4LXdpbjMyLXg4Nl82NC9pbmNsdWRlICAtV2wsLS1hbGxvdy1tdWx0aXBs ZS1kZWZpbml0aW9uIC1XbCwtLWRpc2FibGUtYXV0by1pbXBvcnQgIC1ML3cvemxpYi0xLjIuOC13 aW4zMi14ODZfNjQvbGliIC1ML3cvb3BlbnNzbC0xLjAuMmUtd2luMzIteDg2XzY0L2xpYiAtTC93 L2xpYnhtbDItMi45LjMtd2luMzIteDg2XzY0L2xpYiAtTC93L2xpYnhzbHQtMS4xLjI4LXdpbjMy LXg4Nl82NC9saWIgY29uZnRlc3QuYyAtbHJ0ICAtbHdzMl8zMiAtbG0gID4mNQpDOi9tc3lzNjQv bWluZ3c2NC9iaW4vLi4vbGliL2djYy94ODZfNjQtdzY0LW1pbmd3MzIvOC4yLjAvLi4vLi4vLi4v Li4veDg2XzY0LXc2NC1taW5ndzMyL2Jpbi9sZC5leGU6IGNhbm5vdCBmaW5kIC1scnQNCmNvbGxl Y3QyLmV4ZTogZXJyb3I6IGxkIHJldHVybmVkIDEgZXhpdCBzdGF0dXMKY29uZmlndXJlOjExMTAz OiAkPyA9IDEKY29uZmlndXJlOiBmYWlsZWQgcHJvZ3JhbSB3YXM6CnwgLyogY29uZmRlZnMuaCAq Lwp8ICNkZWZpbmUgUEFDS0FHRV9OQU1FICJQb3N0Z3JlU1FMIgp8ICNkZWZpbmUgUEFDS0FHRV9U QVJOQU1FICJwb3N0Z3Jlc3FsIgp8ICNkZWZpbmUgUEFDS0FHRV9WRVJTSU9OICIxMWJldGEzIgp8 ICNkZWZpbmUgUEFDS0FHRV9TVFJJTkcgIlBvc3RncmVTUUwgMTFiZXRhMyIKfCAjZGVmaW5lIFBB Q0tBR0VfQlVHUkVQT1JUICJwZ3NxbC1idWdzQHBvc3RncmVzcWwub3JnIgp8ICNkZWZpbmUgUEFD S0FHRV9VUkwgIiIKfCAjZGVmaW5lIFBHX01BSk9SVkVSU0lPTiAiMTEiCnwgI2RlZmluZSBQR19W RVJTSU9OICIxMWJldGEzIgp8ICNkZWZpbmUgREVGX1BHUE9SVCA1NDMyCnwgI2RlZmluZSBERUZf UEdQT1JUX1NUUiAiNTQzMiIKfCAjZGVmaW5lIEJMQ0tTWiA4MTkyCnwgI2RlZmluZSBSRUxTRUdf U0laRSAxMzEwNzIKfCAjZGVmaW5lIFhMT0dfQkxDS1NaIDgxOTIKfCAjZGVmaW5lIFVTRV9BU1NF UlRfQ0hFQ0tJTkcgMQp8ICNkZWZpbmUgRU5BQkxFX1RIUkVBRF9TQUZFVFkgMQp8ICNkZWZpbmUg VVNFX0lDVSAxCnwgI2RlZmluZSBQR19LUkJfU1JWTkFNICJwb3N0Z3JlcyIKfCAjZGVmaW5lIFVT RV9PUEVOU1NMIDEKfCAjZGVmaW5lIFVTRV9MSUJYTUwgMQp8ICNkZWZpbmUgVVNFX0xJQlhTTFQg MQp8ICNkZWZpbmUgU1REQ19IRUFERVJTIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1RZUEVTX0ggMQp8 ICNkZWZpbmUgSEFWRV9TWVNfU1RBVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1RETElCX0ggMQp8ICNk ZWZpbmUgSEFWRV9TVFJJTkdfSCAxCnwgI2RlZmluZSBIQVZFX01FTU9SWV9IIDEKfCAjZGVmaW5l IEhBVkVfU1RSSU5HU19IIDEKfCAjZGVmaW5lIEhBVkVfSU5UVFlQRVNfSCAxCnwgI2RlZmluZSBI QVZFX1NURElOVF9IIDEKfCAjZGVmaW5lIEhBVkVfVU5JU1REX0ggMQp8ICNkZWZpbmUgSEFWRV9M SUJNIDEKfCAvKiBlbmQgY29uZmRlZnMuaC4gICovCnwgCnwgLyogT3ZlcnJpZGUgYW55IEdDQyBp bnRlcm5hbCBwcm90b3R5cGUgdG8gYXZvaWQgYW4gZXJyb3IuCnwgICAgVXNlIGNoYXIgYmVjYXVz ZSBpbnQgbWlnaHQgbWF0Y2ggdGhlIHJldHVybiB0eXBlIG9mIGEgR0NDCnwgICAgYnVpbHRpbiBh bmQgdGhlbiBpdHMgYXJndW1lbnQgcHJvdG90eXBlIHdvdWxkIHN0aWxsIGFwcGx5LiAgKi8KfCAj aWZkZWYgX19jcGx1c3BsdXMKfCBleHRlcm4gIkMiCnwgI2VuZGlmCnwgY2hhciBzaG1fdW5saW5r ICgpOwp8IGludAp8IG1haW4gKCkKfCB7CnwgcmV0dXJuIHNobV91bmxpbmsgKCk7CnwgICA7Cnwg ICByZXR1cm4gMDsKfCB9CmNvbmZpZ3VyZToxMTEyMDogcmVzdWx0OiBubwpjb25maWd1cmU6MTEx Mjg6IGNoZWNraW5nIGZvciBsaWJyYXJ5IGNvbnRhaW5pbmcgY2xvY2tfZ2V0dGltZQpjb25maWd1 cmU6MTExNTk6IHg4Nl82NC13NjQtbWluZ3czMi1nY2MgLW8gY29uZnRlc3QuZXhlIC1XYWxsIC1X bWlzc2luZy1wcm90b3R5cGVzIC1XcG9pbnRlci1hcml0aCAtV2RlY2xhcmF0aW9uLWFmdGVyLXN0 YXRlbWVudCAtV2VuZGlmLWxhYmVscyAtV21pc3NpbmctZm9ybWF0LWF0dHJpYnV0ZSAtV2Zvcm1h dC1zZWN1cml0eSAtZm5vLXN0cmljdC1hbGlhc2luZyAtZndyYXB2IC1mZXhjZXNzLXByZWNpc2lv bj1zdGFuZGFyZCAtV25vLWZvcm1hdC10cnVuY2F0aW9uIC1Xbm8tc3RyaW5nb3AtdHJ1bmNhdGlv biAtZyAtTyAtZm5vLW9taXQtZnJhbWUtcG9pbnRlciAgLUkvdy9SLTMuNS5fL3Bvc3RncmVzL3Ny Yy9pbmNsdWRlL3BvcnQvd2luMzIgLURFWEVDX0JBQ0tFTkQgIC1JL3cvemxpYi0xLjIuOC13aW4z Mi14ODZfNjQvaW5jbHVkZSAtSS93L29wZW5zc2wtMS4wLjJlLXdpbjMyLXg4Nl82NC9pbmNsdWRl IC1JL3cvbGlieG1sMi0yLjkuMy13aW4zMi14ODZfNjQvaW5jbHVkZS9saWJ4bWwyIC1JL3cvbGli eHNsdC0xLjEuMjgtd2luMzIteDg2XzY0L2luY2x1ZGUgIC1XbCwtLWFsbG93LW11bHRpcGxlLWRl ZmluaXRpb24gLVdsLC0tZGlzYWJsZS1hdXRvLWltcG9ydCAgLUwvdy96bGliLTEuMi44LXdpbjMy LXg4Nl82NC9saWIgLUwvdy9vcGVuc3NsLTEuMC4yZS13aW4zMi14ODZfNjQvbGliIC1ML3cvbGli eG1sMi0yLjkuMy13aW4zMi14ODZfNjQvbGliIC1ML3cvbGlieHNsdC0xLjEuMjgtd2luMzIteDg2 XzY0L2xpYiBjb25mdGVzdC5jIC1sd3MyXzMyIC1sbSAgPiY1CmNvbmZpZ3VyZToxMTE1OTogJD8g PSAwCmNvbmZpZ3VyZToxMTE3NjogcmVzdWx0OiBub25lIHJlcXVpcmVkCmNvbmZpZ3VyZToxMTE4 NTogY2hlY2tpbmcgZm9yIGxpYnJhcnkgY29udGFpbmluZyBmZGF0YXN5bmMKY29uZmlndXJlOjEx MjE2OiB4ODZfNjQtdzY0LW1pbmd3MzItZ2NjIC1vIGNvbmZ0ZXN0LmV4ZSAtV2FsbCAtV21pc3Np bmctcHJvdG90eXBlcyAtV3BvaW50ZXItYXJpdGggLVdkZWNsYXJhdGlvbi1hZnRlci1zdGF0ZW1l bnQgLVdlbmRpZi1sYWJlbHMgLVdtaXNzaW5nLWZvcm1hdC1hdHRyaWJ1dGUgLVdmb3JtYXQtc2Vj dXJpdHkgLWZuby1zdHJpY3QtYWxpYXNpbmcgLWZ3cmFwdiAtZmV4Y2Vzcy1wcmVjaXNpb249c3Rh bmRhcmQgLVduby1mb3JtYXQtdHJ1bmNhdGlvbiAtV25vLXN0cmluZ29wLXRydW5jYXRpb24gLWcg LU8gLWZuby1vbWl0LWZyYW1lLXBvaW50ZXIgIC1JL3cvUi0zLjUuXy9wb3N0Z3Jlcy9zcmMvaW5j bHVkZS9wb3J0L3dpbjMyIC1ERVhFQ19CQUNLRU5EICAtSS93L3psaWItMS4yLjgtd2luMzIteDg2 XzY0L2luY2x1ZGUgLUkvdy9vcGVuc3NsLTEuMC4yZS13aW4zMi14ODZfNjQvaW5jbHVkZSAtSS93 L2xpYnhtbDItMi45LjMtd2luMzIteDg2XzY0L2luY2x1ZGUvbGlieG1sMiAtSS93L2xpYnhzbHQt MS4xLjI4LXdpbjMyLXg4Nl82NC9pbmNsdWRlICAtV2wsLS1hbGxvdy1tdWx0aXBsZS1kZWZpbml0 aW9uIC1XbCwtLWRpc2FibGUtYXV0by1pbXBvcnQgIC1ML3cvemxpYi0xLjIuOC13aW4zMi14ODZf NjQvbGliIC1ML3cvb3BlbnNzbC0xLjAuMmUtd2luMzIteDg2XzY0L2xpYiAtTC93L2xpYnhtbDIt Mi45LjMtd2luMzIteDg2XzY0L2xpYiAtTC93L2xpYnhzbHQtMS4xLjI4LXdpbjMyLXg4Nl82NC9s aWIgY29uZnRlc3QuYyAtbHdzMl8zMiAtbG0gID4mNQpDOi9tc3lzNjQvbWluZ3c2NC9iaW4vLi4v bGliL2djYy94ODZfNjQtdzY0LW1pbmd3MzIvOC4yLjAvLi4vLi4vLi4vLi4veDg2XzY0LXc2NC1t aW5ndzMyL2Jpbi9sZC5leGU6IEM6XG1zeXM2NFx0bXBcY2NTR3FEeTMubzogaW4gZnVuY3Rpb24g YG1haW4nOg0KVzpcUi0zLjUuX1xwb3N0Z3Jlc1xidWlsZC9jb25mdGVzdC5jOjQ1OiB1bmRlZmlu ZWQgcmVmZXJlbmNlIHRvIGBmZGF0YXN5bmMnDQpjb2xsZWN0Mi5leGU6IGVycm9yOiBsZCByZXR1 cm5lZCAxIGV4aXQgc3RhdHVzCmNvbmZpZ3VyZToxMTIxNjogJD8gPSAxCmNvbmZpZ3VyZTogZmFp bGVkIHByb2dyYW0gd2FzOgp8IC8qIGNvbmZkZWZzLmggKi8KfCAjZGVmaW5lIFBBQ0tBR0VfTkFN RSAiUG9zdGdyZVNRTCIKfCAjZGVmaW5lIFBBQ0tBR0VfVEFSTkFNRSAicG9zdGdyZXNxbCIKfCAj ZGVmaW5lIFBBQ0tBR0VfVkVSU0lPTiAiMTFiZXRhMyIKfCAjZGVmaW5lIFBBQ0tBR0VfU1RSSU5H ICJQb3N0Z3JlU1FMIDExYmV0YTMiCnwgI2RlZmluZSBQQUNLQUdFX0JVR1JFUE9SVCAicGdzcWwt YnVnc0Bwb3N0Z3Jlc3FsLm9yZyIKfCAjZGVmaW5lIFBBQ0tBR0VfVVJMICIiCnwgI2RlZmluZSBQ R19NQUpPUlZFUlNJT04gIjExIgp8ICNkZWZpbmUgUEdfVkVSU0lPTiAiMTFiZXRhMyIKfCAjZGVm aW5lIERFRl9QR1BPUlQgNTQzMgp8ICNkZWZpbmUgREVGX1BHUE9SVF9TVFIgIjU0MzIiCnwgI2Rl ZmluZSBCTENLU1ogODE5Mgp8ICNkZWZpbmUgUkVMU0VHX1NJWkUgMTMxMDcyCnwgI2RlZmluZSBY TE9HX0JMQ0tTWiA4MTkyCnwgI2RlZmluZSBVU0VfQVNTRVJUX0NIRUNLSU5HIDEKfCAjZGVmaW5l IEVOQUJMRV9USFJFQURfU0FGRVRZIDEKfCAjZGVmaW5lIFVTRV9JQ1UgMQp8ICNkZWZpbmUgUEdf S1JCX1NSVk5BTSAicG9zdGdyZXMiCnwgI2RlZmluZSBVU0VfT1BFTlNTTCAxCnwgI2RlZmluZSBV U0VfTElCWE1MIDEKfCAjZGVmaW5lIFVTRV9MSUJYU0xUIDEKfCAjZGVmaW5lIFNURENfSEVBREVS UyAxCnwgI2RlZmluZSBIQVZFX1NZU19UWVBFU19IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NUQVRf SCAxCnwgI2RlZmluZSBIQVZFX1NURExJQl9IIDEKfCAjZGVmaW5lIEhBVkVfU1RSSU5HX0ggMQp8 ICNkZWZpbmUgSEFWRV9NRU1PUllfSCAxCnwgI2RlZmluZSBIQVZFX1NUUklOR1NfSCAxCnwgI2Rl ZmluZSBIQVZFX0lOVFRZUEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERJTlRfSCAxCnwgI2RlZmlu ZSBIQVZFX1VOSVNURF9IIDEKfCAjZGVmaW5lIEhBVkVfTElCTSAxCnwgLyogZW5kIGNvbmZkZWZz LmguICAqLwp8IAp8IC8qIE92ZXJyaWRlIGFueSBHQ0MgaW50ZXJuYWwgcHJvdG90eXBlIHRvIGF2 b2lkIGFuIGVycm9yLgp8ICAgIFVzZSBjaGFyIGJlY2F1c2UgaW50IG1pZ2h0IG1hdGNoIHRoZSBy ZXR1cm4gdHlwZSBvZiBhIEdDQwp8ICAgIGJ1aWx0aW4gYW5kIHRoZW4gaXRzIGFyZ3VtZW50IHBy b3RvdHlwZSB3b3VsZCBzdGlsbCBhcHBseS4gICovCnwgI2lmZGVmIF9fY3BsdXNwbHVzCnwgZXh0 ZXJuICJDIgp8ICNlbmRpZgp8IGNoYXIgZmRhdGFzeW5jICgpOwp8IGludAp8IG1haW4gKCkKfCB7 CnwgcmV0dXJuIGZkYXRhc3luYyAoKTsKfCAgIDsKfCAgIHJldHVybiAwOwp8IH0KY29uZmlndXJl OjExMjE2OiB4ODZfNjQtdzY0LW1pbmd3MzItZ2NjIC1vIGNvbmZ0ZXN0LmV4ZSAtV2FsbCAtV21p c3NpbmctcHJvdG90eXBlcyAtV3BvaW50ZXItYXJpdGggLVdkZWNsYXJhdGlvbi1hZnRlci1zdGF0 ZW1lbnQgLVdlbmRpZi1sYWJlbHMgLVdtaXNzaW5nLWZvcm1hdC1hdHRyaWJ1dGUgLVdmb3JtYXQt c2VjdXJpdHkgLWZuby1zdHJpY3QtYWxpYXNpbmcgLWZ3cmFwdiAtZmV4Y2Vzcy1wcmVjaXNpb249 c3RhbmRhcmQgLVduby1mb3JtYXQtdHJ1bmNhdGlvbiAtV25vLXN0cmluZ29wLXRydW5jYXRpb24g LWcgLU8gLWZuby1vbWl0LWZyYW1lLXBvaW50ZXIgIC1JL3cvUi0zLjUuXy9wb3N0Z3Jlcy9zcmMv aW5jbHVkZS9wb3J0L3dpbjMyIC1ERVhFQ19CQUNLRU5EICAtSS93L3psaWItMS4yLjgtd2luMzIt eDg2XzY0L2luY2x1ZGUgLUkvdy9vcGVuc3NsLTEuMC4yZS13aW4zMi14ODZfNjQvaW5jbHVkZSAt SS93L2xpYnhtbDItMi45LjMtd2luMzIteDg2XzY0L2luY2x1ZGUvbGlieG1sMiAtSS93L2xpYnhz bHQtMS4xLjI4LXdpbjMyLXg4Nl82NC9pbmNsdWRlICAtV2wsLS1hbGxvdy1tdWx0aXBsZS1kZWZp bml0aW9uIC1XbCwtLWRpc2FibGUtYXV0by1pbXBvcnQgIC1ML3cvemxpYi0xLjIuOC13aW4zMi14 ODZfNjQvbGliIC1ML3cvb3BlbnNzbC0xLjAuMmUtd2luMzIteDg2XzY0L2xpYiAtTC93L2xpYnht bDItMi45LjMtd2luMzIteDg2XzY0L2xpYiAtTC93L2xpYnhzbHQtMS4xLjI4LXdpbjMyLXg4Nl82 NC9saWIgY29uZnRlc3QuYyAtbHJ0ICAtbHdzMl8zMiAtbG0gID4mNQpDOi9tc3lzNjQvbWluZ3c2 NC9iaW4vLi4vbGliL2djYy94ODZfNjQtdzY0LW1pbmd3MzIvOC4yLjAvLi4vLi4vLi4vLi4veDg2 XzY0LXc2NC1taW5ndzMyL2Jpbi9sZC5leGU6IGNhbm5vdCBmaW5kIC1scnQNCmNvbGxlY3QyLmV4 ZTogZXJyb3I6IGxkIHJldHVybmVkIDEgZXhpdCBzdGF0dXMKY29uZmlndXJlOjExMjE2OiAkPyA9 IDEKY29uZmlndXJlOiBmYWlsZWQgcHJvZ3JhbSB3YXM6CnwgLyogY29uZmRlZnMuaCAqLwp8ICNk ZWZpbmUgUEFDS0FHRV9OQU1FICJQb3N0Z3JlU1FMIgp8ICNkZWZpbmUgUEFDS0FHRV9UQVJOQU1F ICJwb3N0Z3Jlc3FsIgp8ICNkZWZpbmUgUEFDS0FHRV9WRVJTSU9OICIxMWJldGEzIgp8ICNkZWZp bmUgUEFDS0FHRV9TVFJJTkcgIlBvc3RncmVTUUwgMTFiZXRhMyIKfCAjZGVmaW5lIFBBQ0tBR0Vf QlVHUkVQT1JUICJwZ3NxbC1idWdzQHBvc3RncmVzcWwub3JnIgp8ICNkZWZpbmUgUEFDS0FHRV9V UkwgIiIKfCAjZGVmaW5lIFBHX01BSk9SVkVSU0lPTiAiMTEiCnwgI2RlZmluZSBQR19WRVJTSU9O ICIxMWJldGEzIgp8ICNkZWZpbmUgREVGX1BHUE9SVCA1NDMyCnwgI2RlZmluZSBERUZfUEdQT1JU X1NUUiAiNTQzMiIKfCAjZGVmaW5lIEJMQ0tTWiA4MTkyCnwgI2RlZmluZSBSRUxTRUdfU0laRSAx MzEwNzIKfCAjZGVmaW5lIFhMT0dfQkxDS1NaIDgxOTIKfCAjZGVmaW5lIFVTRV9BU1NFUlRfQ0hF Q0tJTkcgMQp8ICNkZWZpbmUgRU5BQkxFX1RIUkVBRF9TQUZFVFkgMQp8ICNkZWZpbmUgVVNFX0lD VSAxCnwgI2RlZmluZSBQR19LUkJfU1JWTkFNICJwb3N0Z3JlcyIKfCAjZGVmaW5lIFVTRV9PUEVO U1NMIDEKfCAjZGVmaW5lIFVTRV9MSUJYTUwgMQp8ICNkZWZpbmUgVVNFX0xJQlhTTFQgMQp8ICNk ZWZpbmUgU1REQ19IRUFERVJTIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1RZUEVTX0ggMQp8ICNkZWZp bmUgSEFWRV9TWVNfU1RBVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1RETElCX0ggMQp8ICNkZWZpbmUg SEFWRV9TVFJJTkdfSCAxCnwgI2RlZmluZSBIQVZFX01FTU9SWV9IIDEKfCAjZGVmaW5lIEhBVkVf U1RSSU5HU19IIDEKfCAjZGVmaW5lIEhBVkVfSU5UVFlQRVNfSCAxCnwgI2RlZmluZSBIQVZFX1NU RElOVF9IIDEKfCAjZGVmaW5lIEhBVkVfVU5JU1REX0ggMQp8ICNkZWZpbmUgSEFWRV9MSUJNIDEK fCAvKiBlbmQgY29uZmRlZnMuaC4gICovCnwgCnwgLyogT3ZlcnJpZGUgYW55IEdDQyBpbnRlcm5h bCBwcm90b3R5cGUgdG8gYXZvaWQgYW4gZXJyb3IuCnwgICAgVXNlIGNoYXIgYmVjYXVzZSBpbnQg bWlnaHQgbWF0Y2ggdGhlIHJldHVybiB0eXBlIG9mIGEgR0NDCnwgICAgYnVpbHRpbiBhbmQgdGhl biBpdHMgYXJndW1lbnQgcHJvdG90eXBlIHdvdWxkIHN0aWxsIGFwcGx5LiAgKi8KfCAjaWZkZWYg X19jcGx1c3BsdXMKfCBleHRlcm4gIkMiCnwgI2VuZGlmCnwgY2hhciBmZGF0YXN5bmMgKCk7Cnwg aW50CnwgbWFpbiAoKQp8IHsKfCByZXR1cm4gZmRhdGFzeW5jICgpOwp8ICAgOwp8ICAgcmV0dXJu IDA7CnwgfQpjb25maWd1cmU6MTEyMTY6IHg4Nl82NC13NjQtbWluZ3czMi1nY2MgLW8gY29uZnRl c3QuZXhlIC1XYWxsIC1XbWlzc2luZy1wcm90b3R5cGVzIC1XcG9pbnRlci1hcml0aCAtV2RlY2xh cmF0aW9uLWFmdGVyLXN0YXRlbWVudCAtV2VuZGlmLWxhYmVscyAtV21pc3NpbmctZm9ybWF0LWF0 dHJpYnV0ZSAtV2Zvcm1hdC1zZWN1cml0eSAtZm5vLXN0cmljdC1hbGlhc2luZyAtZndyYXB2IC1m ZXhjZXNzLXByZWNpc2lvbj1zdGFuZGFyZCAtV25vLWZvcm1hdC10cnVuY2F0aW9uIC1Xbm8tc3Ry aW5nb3AtdHJ1bmNhdGlvbiAtZyAtTyAtZm5vLW9taXQtZnJhbWUtcG9pbnRlciAgLUkvdy9SLTMu NS5fL3Bvc3RncmVzL3NyYy9pbmNsdWRlL3BvcnQvd2luMzIgLURFWEVDX0JBQ0tFTkQgIC1JL3cv emxpYi0xLjIuOC13aW4zMi14ODZfNjQvaW5jbHVkZSAtSS93L29wZW5zc2wtMS4wLjJlLXdpbjMy LXg4Nl82NC9pbmNsdWRlIC1JL3cvbGlieG1sMi0yLjkuMy13aW4zMi14ODZfNjQvaW5jbHVkZS9s aWJ4bWwyIC1JL3cvbGlieHNsdC0xLjEuMjgtd2luMzIteDg2XzY0L2luY2x1ZGUgIC1XbCwtLWFs bG93LW11bHRpcGxlLWRlZmluaXRpb24gLVdsLC0tZGlzYWJsZS1hdXRvLWltcG9ydCAgLUwvdy96 bGliLTEuMi44LXdpbjMyLXg4Nl82NC9saWIgLUwvdy9vcGVuc3NsLTEuMC4yZS13aW4zMi14ODZf NjQvbGliIC1ML3cvbGlieG1sMi0yLjkuMy13aW4zMi14ODZfNjQvbGliIC1ML3cvbGlieHNsdC0x LjEuMjgtd2luMzIteDg2XzY0L2xpYiBjb25mdGVzdC5jIC1scG9zaXg0ICAtbHdzMl8zMiAtbG0g ID4mNQpDOi9tc3lzNjQvbWluZ3c2NC9iaW4vLi4vbGliL2djYy94ODZfNjQtdzY0LW1pbmd3MzIv OC4yLjAvLi4vLi4vLi4vLi4veDg2XzY0LXc2NC1taW5ndzMyL2Jpbi9sZC5leGU6IGNhbm5vdCBm aW5kIC1scG9zaXg0DQpjb2xsZWN0Mi5leGU6IGVycm9yOiBsZCByZXR1cm5lZCAxIGV4aXQgc3Rh dHVzCmNvbmZpZ3VyZToxMTIxNjogJD8gPSAxCmNvbmZpZ3VyZTogZmFpbGVkIHByb2dyYW0gd2Fz Ogp8IC8qIGNvbmZkZWZzLmggKi8KfCAjZGVmaW5lIFBBQ0tBR0VfTkFNRSAiUG9zdGdyZVNRTCIK fCAjZGVmaW5lIFBBQ0tBR0VfVEFSTkFNRSAicG9zdGdyZXNxbCIKfCAjZGVmaW5lIFBBQ0tBR0Vf VkVSU0lPTiAiMTFiZXRhMyIKfCAjZGVmaW5lIFBBQ0tBR0VfU1RSSU5HICJQb3N0Z3JlU1FMIDEx YmV0YTMiCnwgI2RlZmluZSBQQUNLQUdFX0JVR1JFUE9SVCAicGdzcWwtYnVnc0Bwb3N0Z3Jlc3Fs Lm9yZyIKfCAjZGVmaW5lIFBBQ0tBR0VfVVJMICIiCnwgI2RlZmluZSBQR19NQUpPUlZFUlNJT04g IjExIgp8ICNkZWZpbmUgUEdfVkVSU0lPTiAiMTFiZXRhMyIKfCAjZGVmaW5lIERFRl9QR1BPUlQg NTQzMgp8ICNkZWZpbmUgREVGX1BHUE9SVF9TVFIgIjU0MzIiCnwgI2RlZmluZSBCTENLU1ogODE5 Mgp8ICNkZWZpbmUgUkVMU0VHX1NJWkUgMTMxMDcyCnwgI2RlZmluZSBYTE9HX0JMQ0tTWiA4MTky CnwgI2RlZmluZSBVU0VfQVNTRVJUX0NIRUNLSU5HIDEKfCAjZGVmaW5lIEVOQUJMRV9USFJFQURf U0FGRVRZIDEKfCAjZGVmaW5lIFVTRV9JQ1UgMQp8ICNkZWZpbmUgUEdfS1JCX1NSVk5BTSAicG9z dGdyZXMiCnwgI2RlZmluZSBVU0VfT1BFTlNTTCAxCnwgI2RlZmluZSBVU0VfTElCWE1MIDEKfCAj ZGVmaW5lIFVTRV9MSUJYU0xUIDEKfCAjZGVmaW5lIFNURENfSEVBREVSUyAxCnwgI2RlZmluZSBI QVZFX1NZU19UWVBFU19IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NUQVRfSCAxCnwgI2RlZmluZSBI QVZFX1NURExJQl9IIDEKfCAjZGVmaW5lIEhBVkVfU1RSSU5HX0ggMQp8ICNkZWZpbmUgSEFWRV9N RU1PUllfSCAxCnwgI2RlZmluZSBIQVZFX1NUUklOR1NfSCAxCnwgI2RlZmluZSBIQVZFX0lOVFRZ UEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERJTlRfSCAxCnwgI2RlZmluZSBIQVZFX1VOSVNURF9I IDEKfCAjZGVmaW5lIEhBVkVfTElCTSAxCnwgLyogZW5kIGNvbmZkZWZzLmguICAqLwp8IAp8IC8q IE92ZXJyaWRlIGFueSBHQ0MgaW50ZXJuYWwgcHJvdG90eXBlIHRvIGF2b2lkIGFuIGVycm9yLgp8 ICAgIFVzZSBjaGFyIGJlY2F1c2UgaW50IG1pZ2h0IG1hdGNoIHRoZSByZXR1cm4gdHlwZSBvZiBh IEdDQwp8ICAgIGJ1aWx0aW4gYW5kIHRoZW4gaXRzIGFyZ3VtZW50IHByb3RvdHlwZSB3b3VsZCBz dGlsbCBhcHBseS4gICovCnwgI2lmZGVmIF9fY3BsdXNwbHVzCnwgZXh0ZXJuICJDIgp8ICNlbmRp Zgp8IGNoYXIgZmRhdGFzeW5jICgpOwp8IGludAp8IG1haW4gKCkKfCB7CnwgcmV0dXJuIGZkYXRh c3luYyAoKTsKfCAgIDsKfCAgIHJldHVybiAwOwp8IH0KY29uZmlndXJlOjExMjMzOiByZXN1bHQ6 IG5vCmNvbmZpZ3VyZToxMTI0MjogY2hlY2tpbmcgZm9yIGxpYnJhcnkgY29udGFpbmluZyBzY2hl ZF95aWVsZApjb25maWd1cmU6MTEyNzM6IHg4Nl82NC13NjQtbWluZ3czMi1nY2MgLW8gY29uZnRl c3QuZXhlIC1XYWxsIC1XbWlzc2luZy1wcm90b3R5cGVzIC1XcG9pbnRlci1hcml0aCAtV2RlY2xh cmF0aW9uLWFmdGVyLXN0YXRlbWVudCAtV2VuZGlmLWxhYmVscyAtV21pc3NpbmctZm9ybWF0LWF0 dHJpYnV0ZSAtV2Zvcm1hdC1zZWN1cml0eSAtZm5vLXN0cmljdC1hbGlhc2luZyAtZndyYXB2IC1m ZXhjZXNzLXByZWNpc2lvbj1zdGFuZGFyZCAtV25vLWZvcm1hdC10cnVuY2F0aW9uIC1Xbm8tc3Ry aW5nb3AtdHJ1bmNhdGlvbiAtZyAtTyAtZm5vLW9taXQtZnJhbWUtcG9pbnRlciAgLUkvdy9SLTMu NS5fL3Bvc3RncmVzL3NyYy9pbmNsdWRlL3BvcnQvd2luMzIgLURFWEVDX0JBQ0tFTkQgIC1JL3cv emxpYi0xLjIuOC13aW4zMi14ODZfNjQvaW5jbHVkZSAtSS93L29wZW5zc2wtMS4wLjJlLXdpbjMy LXg4Nl82NC9pbmNsdWRlIC1JL3cvbGlieG1sMi0yLjkuMy13aW4zMi14ODZfNjQvaW5jbHVkZS9s aWJ4bWwyIC1JL3cvbGlieHNsdC0xLjEuMjgtd2luMzIteDg2XzY0L2luY2x1ZGUgIC1XbCwtLWFs bG93LW11bHRpcGxlLWRlZmluaXRpb24gLVdsLC0tZGlzYWJsZS1hdXRvLWltcG9ydCAgLUwvdy96 bGliLTEuMi44LXdpbjMyLXg4Nl82NC9saWIgLUwvdy9vcGVuc3NsLTEuMC4yZS13aW4zMi14ODZf NjQvbGliIC1ML3cvbGlieG1sMi0yLjkuMy13aW4zMi14ODZfNjQvbGliIC1ML3cvbGlieHNsdC0x LjEuMjgtd2luMzIteDg2XzY0L2xpYiBjb25mdGVzdC5jIC1sd3MyXzMyIC1sbSAgPiY1CmNvbmZp Z3VyZToxMTI3MzogJD8gPSAwCmNvbmZpZ3VyZToxMTI5MDogcmVzdWx0OiBub25lIHJlcXVpcmVk CmNvbmZpZ3VyZToxMTMwMDogY2hlY2tpbmcgZm9yIGxpYnJhcnkgY29udGFpbmluZyBnZXRob3N0 YnluYW1lX3IKY29uZmlndXJlOjExMzMxOiB4ODZfNjQtdzY0LW1pbmd3MzItZ2NjIC1vIGNvbmZ0 ZXN0LmV4ZSAtV2FsbCAtV21pc3NpbmctcHJvdG90eXBlcyAtV3BvaW50ZXItYXJpdGggLVdkZWNs YXJhdGlvbi1hZnRlci1zdGF0ZW1lbnQgLVdlbmRpZi1sYWJlbHMgLVdtaXNzaW5nLWZvcm1hdC1h dHRyaWJ1dGUgLVdmb3JtYXQtc2VjdXJpdHkgLWZuby1zdHJpY3QtYWxpYXNpbmcgLWZ3cmFwdiAt ZmV4Y2Vzcy1wcmVjaXNpb249c3RhbmRhcmQgLVduby1mb3JtYXQtdHJ1bmNhdGlvbiAtV25vLXN0 cmluZ29wLXRydW5jYXRpb24gLWcgLU8gLWZuby1vbWl0LWZyYW1lLXBvaW50ZXIgIC1JL3cvUi0z LjUuXy9wb3N0Z3Jlcy9zcmMvaW5jbHVkZS9wb3J0L3dpbjMyIC1ERVhFQ19CQUNLRU5EICAtSS93 L3psaWItMS4yLjgtd2luMzIteDg2XzY0L2luY2x1ZGUgLUkvdy9vcGVuc3NsLTEuMC4yZS13aW4z Mi14ODZfNjQvaW5jbHVkZSAtSS93L2xpYnhtbDItMi45LjMtd2luMzIteDg2XzY0L2luY2x1ZGUv bGlieG1sMiAtSS93L2xpYnhzbHQtMS4xLjI4LXdpbjMyLXg4Nl82NC9pbmNsdWRlICAtV2wsLS1h bGxvdy1tdWx0aXBsZS1kZWZpbml0aW9uIC1XbCwtLWRpc2FibGUtYXV0by1pbXBvcnQgIC1ML3cv emxpYi0xLjIuOC13aW4zMi14ODZfNjQvbGliIC1ML3cvb3BlbnNzbC0xLjAuMmUtd2luMzIteDg2 XzY0L2xpYiAtTC93L2xpYnhtbDItMi45LjMtd2luMzIteDg2XzY0L2xpYiAtTC93L2xpYnhzbHQt MS4xLjI4LXdpbjMyLXg4Nl82NC9saWIgY29uZnRlc3QuYyAtbHdzMl8zMiAtbG0gID4mNQpDOi9t c3lzNjQvbWluZ3c2NC9iaW4vLi4vbGliL2djYy94ODZfNjQtdzY0LW1pbmd3MzIvOC4yLjAvLi4v Li4vLi4vLi4veDg2XzY0LXc2NC1taW5ndzMyL2Jpbi9sZC5leGU6IEM6XG1zeXM2NFx0bXBcY2Mw cEh6NGEubzogaW4gZnVuY3Rpb24gYG1haW4nOg0KVzpcUi0zLjUuX1xwb3N0Z3Jlc1xidWlsZC9j b25mdGVzdC5jOjQ1OiB1bmRlZmluZWQgcmVmZXJlbmNlIHRvIGBnZXRob3N0YnluYW1lX3InDQpj b2xsZWN0Mi5leGU6IGVycm9yOiBsZCByZXR1cm5lZCAxIGV4aXQgc3RhdHVzCmNvbmZpZ3VyZTox MTMzMTogJD8gPSAxCmNvbmZpZ3VyZTogZmFpbGVkIHByb2dyYW0gd2FzOgp8IC8qIGNvbmZkZWZz LmggKi8KfCAjZGVmaW5lIFBBQ0tBR0VfTkFNRSAiUG9zdGdyZVNRTCIKfCAjZGVmaW5lIFBBQ0tB R0VfVEFSTkFNRSAicG9zdGdyZXNxbCIKfCAjZGVmaW5lIFBBQ0tBR0VfVkVSU0lPTiAiMTFiZXRh MyIKfCAjZGVmaW5lIFBBQ0tBR0VfU1RSSU5HICJQb3N0Z3JlU1FMIDExYmV0YTMiCnwgI2RlZmlu ZSBQQUNLQUdFX0JVR1JFUE9SVCAicGdzcWwtYnVnc0Bwb3N0Z3Jlc3FsLm9yZyIKfCAjZGVmaW5l IFBBQ0tBR0VfVVJMICIiCnwgI2RlZmluZSBQR19NQUpPUlZFUlNJT04gIjExIgp8ICNkZWZpbmUg UEdfVkVSU0lPTiAiMTFiZXRhMyIKfCAjZGVmaW5lIERFRl9QR1BPUlQgNTQzMgp8ICNkZWZpbmUg REVGX1BHUE9SVF9TVFIgIjU0MzIiCnwgI2RlZmluZSBCTENLU1ogODE5Mgp8ICNkZWZpbmUgUkVM U0VHX1NJWkUgMTMxMDcyCnwgI2RlZmluZSBYTE9HX0JMQ0tTWiA4MTkyCnwgI2RlZmluZSBVU0Vf QVNTRVJUX0NIRUNLSU5HIDEKfCAjZGVmaW5lIEVOQUJMRV9USFJFQURfU0FGRVRZIDEKfCAjZGVm aW5lIFVTRV9JQ1UgMQp8ICNkZWZpbmUgUEdfS1JCX1NSVk5BTSAicG9zdGdyZXMiCnwgI2RlZmlu ZSBVU0VfT1BFTlNTTCAxCnwgI2RlZmluZSBVU0VfTElCWE1MIDEKfCAjZGVmaW5lIFVTRV9MSUJY U0xUIDEKfCAjZGVmaW5lIFNURENfSEVBREVSUyAxCnwgI2RlZmluZSBIQVZFX1NZU19UWVBFU19I IDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NUQVRfSCAxCnwgI2RlZmluZSBIQVZFX1NURExJQl9IIDEK fCAjZGVmaW5lIEhBVkVfU1RSSU5HX0ggMQp8ICNkZWZpbmUgSEFWRV9NRU1PUllfSCAxCnwgI2Rl ZmluZSBIQVZFX1NUUklOR1NfSCAxCnwgI2RlZmluZSBIQVZFX0lOVFRZUEVTX0ggMQp8ICNkZWZp bmUgSEFWRV9TVERJTlRfSCAxCnwgI2RlZmluZSBIQVZFX1VOSVNURF9IIDEKfCAjZGVmaW5lIEhB VkVfTElCTSAxCnwgLyogZW5kIGNvbmZkZWZzLmguICAqLwp8IAp8IC8qIE92ZXJyaWRlIGFueSBH Q0MgaW50ZXJuYWwgcHJvdG90eXBlIHRvIGF2b2lkIGFuIGVycm9yLgp8ICAgIFVzZSBjaGFyIGJl Y2F1c2UgaW50IG1pZ2h0IG1hdGNoIHRoZSByZXR1cm4gdHlwZSBvZiBhIEdDQwp8ICAgIGJ1aWx0 aW4gYW5kIHRoZW4gaXRzIGFyZ3VtZW50IHByb3RvdHlwZSB3b3VsZCBzdGlsbCBhcHBseS4gICov CnwgI2lmZGVmIF9fY3BsdXNwbHVzCnwgZXh0ZXJuICJDIgp8ICNlbmRpZgp8IGNoYXIgZ2V0aG9z dGJ5bmFtZV9yICgpOwp8IGludAp8IG1haW4gKCkKfCB7CnwgcmV0dXJuIGdldGhvc3RieW5hbWVf ciAoKTsKfCAgIDsKfCAgIHJldHVybiAwOwp8IH0KY29uZmlndXJlOjExMzMxOiB4ODZfNjQtdzY0 LW1pbmd3MzItZ2NjIC1vIGNvbmZ0ZXN0LmV4ZSAtV2FsbCAtV21pc3NpbmctcHJvdG90eXBlcyAt V3BvaW50ZXItYXJpdGggLVdkZWNsYXJhdGlvbi1hZnRlci1zdGF0ZW1lbnQgLVdlbmRpZi1sYWJl bHMgLVdtaXNzaW5nLWZvcm1hdC1hdHRyaWJ1dGUgLVdmb3JtYXQtc2VjdXJpdHkgLWZuby1zdHJp Y3QtYWxpYXNpbmcgLWZ3cmFwdiAtZmV4Y2Vzcy1wcmVjaXNpb249c3RhbmRhcmQgLVduby1mb3Jt YXQtdHJ1bmNhdGlvbiAtV25vLXN0cmluZ29wLXRydW5jYXRpb24gLWcgLU8gLWZuby1vbWl0LWZy YW1lLXBvaW50ZXIgIC1JL3cvUi0zLjUuXy9wb3N0Z3Jlcy9zcmMvaW5jbHVkZS9wb3J0L3dpbjMy IC1ERVhFQ19CQUNLRU5EICAtSS93L3psaWItMS4yLjgtd2luMzIteDg2XzY0L2luY2x1ZGUgLUkv dy9vcGVuc3NsLTEuMC4yZS13aW4zMi14ODZfNjQvaW5jbHVkZSAtSS93L2xpYnhtbDItMi45LjMt d2luMzIteDg2XzY0L2luY2x1ZGUvbGlieG1sMiAtSS93L2xpYnhzbHQtMS4xLjI4LXdpbjMyLXg4 Nl82NC9pbmNsdWRlICAtV2wsLS1hbGxvdy1tdWx0aXBsZS1kZWZpbml0aW9uIC1XbCwtLWRpc2Fi bGUtYXV0by1pbXBvcnQgIC1ML3cvemxpYi0xLjIuOC13aW4zMi14ODZfNjQvbGliIC1ML3cvb3Bl bnNzbC0xLjAuMmUtd2luMzIteDg2XzY0L2xpYiAtTC93L2xpYnhtbDItMi45LjMtd2luMzIteDg2 XzY0L2xpYiAtTC93L2xpYnhzbHQtMS4xLjI4LXdpbjMyLXg4Nl82NC9saWIgY29uZnRlc3QuYyAt bG5zbCAgLWx3czJfMzIgLWxtICA+JjUKQzovbXN5czY0L21pbmd3NjQvYmluLy4uL2xpYi9nY2Mv eDg2XzY0LXc2NC1taW5ndzMyLzguMi4wLy4uLy4uLy4uLy4uL3g4Nl82NC13NjQtbWluZ3czMi9i aW4vbGQuZXhlOiBjYW5ub3QgZmluZCAtbG5zbA0KY29sbGVjdDIuZXhlOiBlcnJvcjogbGQgcmV0 dXJuZWQgMSBleGl0IHN0YXR1cwpjb25maWd1cmU6MTEzMzE6ICQ/ID0gMQpjb25maWd1cmU6IGZh aWxlZCBwcm9ncmFtIHdhczoKfCAvKiBjb25mZGVmcy5oICovCnwgI2RlZmluZSBQQUNLQUdFX05B TUUgIlBvc3RncmVTUUwiCnwgI2RlZmluZSBQQUNLQUdFX1RBUk5BTUUgInBvc3RncmVzcWwiCnwg I2RlZmluZSBQQUNLQUdFX1ZFUlNJT04gIjExYmV0YTMiCnwgI2RlZmluZSBQQUNLQUdFX1NUUklO RyAiUG9zdGdyZVNRTCAxMWJldGEzIgp8ICNkZWZpbmUgUEFDS0FHRV9CVUdSRVBPUlQgInBnc3Fs LWJ1Z3NAcG9zdGdyZXNxbC5vcmciCnwgI2RlZmluZSBQQUNLQUdFX1VSTCAiIgp8ICNkZWZpbmUg UEdfTUFKT1JWRVJTSU9OICIxMSIKfCAjZGVmaW5lIFBHX1ZFUlNJT04gIjExYmV0YTMiCnwgI2Rl ZmluZSBERUZfUEdQT1JUIDU0MzIKfCAjZGVmaW5lIERFRl9QR1BPUlRfU1RSICI1NDMyIgp8ICNk ZWZpbmUgQkxDS1NaIDgxOTIKfCAjZGVmaW5lIFJFTFNFR19TSVpFIDEzMTA3Mgp8ICNkZWZpbmUg WExPR19CTENLU1ogODE5Mgp8ICNkZWZpbmUgVVNFX0FTU0VSVF9DSEVDS0lORyAxCnwgI2RlZmlu ZSBFTkFCTEVfVEhSRUFEX1NBRkVUWSAxCnwgI2RlZmluZSBVU0VfSUNVIDEKfCAjZGVmaW5lIFBH X0tSQl9TUlZOQU0gInBvc3RncmVzIgp8ICNkZWZpbmUgVVNFX09QRU5TU0wgMQp8ICNkZWZpbmUg VVNFX0xJQlhNTCAxCnwgI2RlZmluZSBVU0VfTElCWFNMVCAxCnwgI2RlZmluZSBTVERDX0hFQURF UlMgMQp8ICNkZWZpbmUgSEFWRV9TWVNfVFlQRVNfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19TVEFU X0ggMQp8ICNkZWZpbmUgSEFWRV9TVERMSUJfSCAxCnwgI2RlZmluZSBIQVZFX1NUUklOR19IIDEK fCAjZGVmaW5lIEhBVkVfTUVNT1JZX0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJJTkdTX0ggMQp8ICNk ZWZpbmUgSEFWRV9JTlRUWVBFU19IIDEKfCAjZGVmaW5lIEhBVkVfU1RESU5UX0ggMQp8ICNkZWZp bmUgSEFWRV9VTklTVERfSCAxCnwgI2RlZmluZSBIQVZFX0xJQk0gMQp8IC8qIGVuZCBjb25mZGVm cy5oLiAgKi8KfCAKfCAvKiBPdmVycmlkZSBhbnkgR0NDIGludGVybmFsIHByb3RvdHlwZSB0byBh dm9pZCBhbiBlcnJvci4KfCAgICBVc2UgY2hhciBiZWNhdXNlIGludCBtaWdodCBtYXRjaCB0aGUg cmV0dXJuIHR5cGUgb2YgYSBHQ0MKfCAgICBidWlsdGluIGFuZCB0aGVuIGl0cyBhcmd1bWVudCBw cm90b3R5cGUgd291bGQgc3RpbGwgYXBwbHkuICAqLwp8ICNpZmRlZiBfX2NwbHVzcGx1cwp8IGV4 dGVybiAiQyIKfCAjZW5kaWYKfCBjaGFyIGdldGhvc3RieW5hbWVfciAoKTsKfCBpbnQKfCBtYWlu ICgpCnwgewp8IHJldHVybiBnZXRob3N0YnluYW1lX3IgKCk7CnwgICA7CnwgICByZXR1cm4gMDsK fCB9CmNvbmZpZ3VyZToxMTM0ODogcmVzdWx0OiBubwpjb25maWd1cmU6MTEzNTc6IGNoZWNraW5n IGZvciBsaWJyYXJ5IGNvbnRhaW5pbmcgc2htZ2V0CmNvbmZpZ3VyZToxMTM4ODogeDg2XzY0LXc2 NC1taW5ndzMyLWdjYyAtbyBjb25mdGVzdC5leGUgLVdhbGwgLVdtaXNzaW5nLXByb3RvdHlwZXMg LVdwb2ludGVyLWFyaXRoIC1XZGVjbGFyYXRpb24tYWZ0ZXItc3RhdGVtZW50IC1XZW5kaWYtbGFi ZWxzIC1XbWlzc2luZy1mb3JtYXQtYXR0cmlidXRlIC1XZm9ybWF0LXNlY3VyaXR5IC1mbm8tc3Ry aWN0LWFsaWFzaW5nIC1md3JhcHYgLWZleGNlc3MtcHJlY2lzaW9uPXN0YW5kYXJkIC1Xbm8tZm9y bWF0LXRydW5jYXRpb24gLVduby1zdHJpbmdvcC10cnVuY2F0aW9uIC1nIC1PIC1mbm8tb21pdC1m cmFtZS1wb2ludGVyICAtSS93L1ItMy41Ll8vcG9zdGdyZXMvc3JjL2luY2x1ZGUvcG9ydC93aW4z MiAtREVYRUNfQkFDS0VORCAgLUkvdy96bGliLTEuMi44LXdpbjMyLXg4Nl82NC9pbmNsdWRlIC1J L3cvb3BlbnNzbC0xLjAuMmUtd2luMzIteDg2XzY0L2luY2x1ZGUgLUkvdy9saWJ4bWwyLTIuOS4z LXdpbjMyLXg4Nl82NC9pbmNsdWRlL2xpYnhtbDIgLUkvdy9saWJ4c2x0LTEuMS4yOC13aW4zMi14 ODZfNjQvaW5jbHVkZSAgLVdsLC0tYWxsb3ctbXVsdGlwbGUtZGVmaW5pdGlvbiAtV2wsLS1kaXNh YmxlLWF1dG8taW1wb3J0ICAtTC93L3psaWItMS4yLjgtd2luMzIteDg2XzY0L2xpYiAtTC93L29w ZW5zc2wtMS4wLjJlLXdpbjMyLXg4Nl82NC9saWIgLUwvdy9saWJ4bWwyLTIuOS4zLXdpbjMyLXg4 Nl82NC9saWIgLUwvdy9saWJ4c2x0LTEuMS4yOC13aW4zMi14ODZfNjQvbGliIGNvbmZ0ZXN0LmMg LWx3czJfMzIgLWxtICA+JjUKQzovbXN5czY0L21pbmd3NjQvYmluLy4uL2xpYi9nY2MveDg2XzY0 LXc2NC1taW5ndzMyLzguMi4wLy4uLy4uLy4uLy4uL3g4Nl82NC13NjQtbWluZ3czMi9iaW4vbGQu ZXhlOiBDOlxtc3lzNjRcdG1wXGNjU1AxNVVtLm86IGluIGZ1bmN0aW9uIGBtYWluJzoNClc6XFIt My41Ll9ccG9zdGdyZXNcYnVpbGQvY29uZnRlc3QuYzo0NTogdW5kZWZpbmVkIHJlZmVyZW5jZSB0 byBgc2htZ2V0Jw0KY29sbGVjdDIuZXhlOiBlcnJvcjogbGQgcmV0dXJuZWQgMSBleGl0IHN0YXR1 cwpjb25maWd1cmU6MTEzODg6ICQ/ID0gMQpjb25maWd1cmU6IGZhaWxlZCBwcm9ncmFtIHdhczoK fCAvKiBjb25mZGVmcy5oICovCnwgI2RlZmluZSBQQUNLQUdFX05BTUUgIlBvc3RncmVTUUwiCnwg I2RlZmluZSBQQUNLQUdFX1RBUk5BTUUgInBvc3RncmVzcWwiCnwgI2RlZmluZSBQQUNLQUdFX1ZF UlNJT04gIjExYmV0YTMiCnwgI2RlZmluZSBQQUNLQUdFX1NUUklORyAiUG9zdGdyZVNRTCAxMWJl dGEzIgp8ICNkZWZpbmUgUEFDS0FHRV9CVUdSRVBPUlQgInBnc3FsLWJ1Z3NAcG9zdGdyZXNxbC5v cmciCnwgI2RlZmluZSBQQUNLQUdFX1VSTCAiIgp8ICNkZWZpbmUgUEdfTUFKT1JWRVJTSU9OICIx MSIKfCAjZGVmaW5lIFBHX1ZFUlNJT04gIjExYmV0YTMiCnwgI2RlZmluZSBERUZfUEdQT1JUIDU0 MzIKfCAjZGVmaW5lIERFRl9QR1BPUlRfU1RSICI1NDMyIgp8ICNkZWZpbmUgQkxDS1NaIDgxOTIK fCAjZGVmaW5lIFJFTFNFR19TSVpFIDEzMTA3Mgp8ICNkZWZpbmUgWExPR19CTENLU1ogODE5Mgp8 ICNkZWZpbmUgVVNFX0FTU0VSVF9DSEVDS0lORyAxCnwgI2RlZmluZSBFTkFCTEVfVEhSRUFEX1NB RkVUWSAxCnwgI2RlZmluZSBVU0VfSUNVIDEKfCAjZGVmaW5lIFBHX0tSQl9TUlZOQU0gInBvc3Rn cmVzIgp8ICNkZWZpbmUgVVNFX09QRU5TU0wgMQp8ICNkZWZpbmUgVVNFX0xJQlhNTCAxCnwgI2Rl ZmluZSBVU0VfTElCWFNMVCAxCnwgI2RlZmluZSBTVERDX0hFQURFUlMgMQp8ICNkZWZpbmUgSEFW RV9TWVNfVFlQRVNfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19TVEFUX0ggMQp8ICNkZWZpbmUgSEFW RV9TVERMSUJfSCAxCnwgI2RlZmluZSBIQVZFX1NUUklOR19IIDEKfCAjZGVmaW5lIEhBVkVfTUVN T1JZX0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJJTkdTX0ggMQp8ICNkZWZpbmUgSEFWRV9JTlRUWVBF U19IIDEKfCAjZGVmaW5lIEhBVkVfU1RESU5UX0ggMQp8ICNkZWZpbmUgSEFWRV9VTklTVERfSCAx CnwgI2RlZmluZSBIQVZFX0xJQk0gMQp8IC8qIGVuZCBjb25mZGVmcy5oLiAgKi8KfCAKfCAvKiBP dmVycmlkZSBhbnkgR0NDIGludGVybmFsIHByb3RvdHlwZSB0byBhdm9pZCBhbiBlcnJvci4KfCAg ICBVc2UgY2hhciBiZWNhdXNlIGludCBtaWdodCBtYXRjaCB0aGUgcmV0dXJuIHR5cGUgb2YgYSBH Q0MKfCAgICBidWlsdGluIGFuZCB0aGVuIGl0cyBhcmd1bWVudCBwcm90b3R5cGUgd291bGQgc3Rp bGwgYXBwbHkuICAqLwp8ICNpZmRlZiBfX2NwbHVzcGx1cwp8IGV4dGVybiAiQyIKfCAjZW5kaWYK fCBjaGFyIHNobWdldCAoKTsKfCBpbnQKfCBtYWluICgpCnwgewp8IHJldHVybiBzaG1nZXQgKCk7 CnwgICA7CnwgICByZXR1cm4gMDsKfCB9CmNvbmZpZ3VyZToxMTM4ODogeDg2XzY0LXc2NC1taW5n dzMyLWdjYyAtbyBjb25mdGVzdC5leGUgLVdhbGwgLVdtaXNzaW5nLXByb3RvdHlwZXMgLVdwb2lu dGVyLWFyaXRoIC1XZGVjbGFyYXRpb24tYWZ0ZXItc3RhdGVtZW50IC1XZW5kaWYtbGFiZWxzIC1X bWlzc2luZy1mb3JtYXQtYXR0cmlidXRlIC1XZm9ybWF0LXNlY3VyaXR5IC1mbm8tc3RyaWN0LWFs aWFzaW5nIC1md3JhcHYgLWZleGNlc3MtcHJlY2lzaW9uPXN0YW5kYXJkIC1Xbm8tZm9ybWF0LXRy dW5jYXRpb24gLVduby1zdHJpbmdvcC10cnVuY2F0aW9uIC1nIC1PIC1mbm8tb21pdC1mcmFtZS1w b2ludGVyICAtSS93L1ItMy41Ll8vcG9zdGdyZXMvc3JjL2luY2x1ZGUvcG9ydC93aW4zMiAtREVY RUNfQkFDS0VORCAgLUkvdy96bGliLTEuMi44LXdpbjMyLXg4Nl82NC9pbmNsdWRlIC1JL3cvb3Bl bnNzbC0xLjAuMmUtd2luMzIteDg2XzY0L2luY2x1ZGUgLUkvdy9saWJ4bWwyLTIuOS4zLXdpbjMy LXg4Nl82NC9pbmNsdWRlL2xpYnhtbDIgLUkvdy9saWJ4c2x0LTEuMS4yOC13aW4zMi14ODZfNjQv aW5jbHVkZSAgLVdsLC0tYWxsb3ctbXVsdGlwbGUtZGVmaW5pdGlvbiAtV2wsLS1kaXNhYmxlLWF1 dG8taW1wb3J0ICAtTC93L3psaWItMS4yLjgtd2luMzIteDg2XzY0L2xpYiAtTC93L29wZW5zc2wt MS4wLjJlLXdpbjMyLXg4Nl82NC9saWIgLUwvdy9saWJ4bWwyLTIuOS4zLXdpbjMyLXg4Nl82NC9s aWIgLUwvdy9saWJ4c2x0LTEuMS4yOC13aW4zMi14ODZfNjQvbGliIGNvbmZ0ZXN0LmMgLWxjeWdp cGMgIC1sd3MyXzMyIC1sbSAgPiY1CkM6L21zeXM2NC9taW5ndzY0L2Jpbi8uLi9saWIvZ2NjL3g4 Nl82NC13NjQtbWluZ3czMi84LjIuMC8uLi8uLi8uLi8uLi94ODZfNjQtdzY0LW1pbmd3MzIvYmlu L2xkLmV4ZTogY2Fubm90IGZpbmQgLWxjeWdpcGMNCmNvbGxlY3QyLmV4ZTogZXJyb3I6IGxkIHJl dHVybmVkIDEgZXhpdCBzdGF0dXMKY29uZmlndXJlOjExMzg4OiAkPyA9IDEKY29uZmlndXJlOiBm YWlsZWQgcHJvZ3JhbSB3YXM6CnwgLyogY29uZmRlZnMuaCAqLwp8ICNkZWZpbmUgUEFDS0FHRV9O QU1FICJQb3N0Z3JlU1FMIgp8ICNkZWZpbmUgUEFDS0FHRV9UQVJOQU1FICJwb3N0Z3Jlc3FsIgp8 ICNkZWZpbmUgUEFDS0FHRV9WRVJTSU9OICIxMWJldGEzIgp8ICNkZWZpbmUgUEFDS0FHRV9TVFJJ TkcgIlBvc3RncmVTUUwgMTFiZXRhMyIKfCAjZGVmaW5lIFBBQ0tBR0VfQlVHUkVQT1JUICJwZ3Nx bC1idWdzQHBvc3RncmVzcWwub3JnIgp8ICNkZWZpbmUgUEFDS0FHRV9VUkwgIiIKfCAjZGVmaW5l IFBHX01BSk9SVkVSU0lPTiAiMTEiCnwgI2RlZmluZSBQR19WRVJTSU9OICIxMWJldGEzIgp8ICNk ZWZpbmUgREVGX1BHUE9SVCA1NDMyCnwgI2RlZmluZSBERUZfUEdQT1JUX1NUUiAiNTQzMiIKfCAj ZGVmaW5lIEJMQ0tTWiA4MTkyCnwgI2RlZmluZSBSRUxTRUdfU0laRSAxMzEwNzIKfCAjZGVmaW5l IFhMT0dfQkxDS1NaIDgxOTIKfCAjZGVmaW5lIFVTRV9BU1NFUlRfQ0hFQ0tJTkcgMQp8ICNkZWZp bmUgRU5BQkxFX1RIUkVBRF9TQUZFVFkgMQp8ICNkZWZpbmUgVVNFX0lDVSAxCnwgI2RlZmluZSBQ R19LUkJfU1JWTkFNICJwb3N0Z3JlcyIKfCAjZGVmaW5lIFVTRV9PUEVOU1NMIDEKfCAjZGVmaW5l IFVTRV9MSUJYTUwgMQp8ICNkZWZpbmUgVVNFX0xJQlhTTFQgMQp8ICNkZWZpbmUgU1REQ19IRUFE RVJTIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1RZUEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfU1RB VF9IIDEKfCAjZGVmaW5lIEhBVkVfU1RETElCX0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJJTkdfSCAx CnwgI2RlZmluZSBIQVZFX01FTU9SWV9IIDEKfCAjZGVmaW5lIEhBVkVfU1RSSU5HU19IIDEKfCAj ZGVmaW5lIEhBVkVfSU5UVFlQRVNfSCAxCnwgI2RlZmluZSBIQVZFX1NURElOVF9IIDEKfCAjZGVm aW5lIEhBVkVfVU5JU1REX0ggMQp8ICNkZWZpbmUgSEFWRV9MSUJNIDEKfCAvKiBlbmQgY29uZmRl ZnMuaC4gICovCnwgCnwgLyogT3ZlcnJpZGUgYW55IEdDQyBpbnRlcm5hbCBwcm90b3R5cGUgdG8g YXZvaWQgYW4gZXJyb3IuCnwgICAgVXNlIGNoYXIgYmVjYXVzZSBpbnQgbWlnaHQgbWF0Y2ggdGhl IHJldHVybiB0eXBlIG9mIGEgR0NDCnwgICAgYnVpbHRpbiBhbmQgdGhlbiBpdHMgYXJndW1lbnQg cHJvdG90eXBlIHdvdWxkIHN0aWxsIGFwcGx5LiAgKi8KfCAjaWZkZWYgX19jcGx1c3BsdXMKfCBl eHRlcm4gIkMiCnwgI2VuZGlmCnwgY2hhciBzaG1nZXQgKCk7CnwgaW50CnwgbWFpbiAoKQp8IHsK fCByZXR1cm4gc2htZ2V0ICgpOwp8ICAgOwp8ICAgcmV0dXJuIDA7CnwgfQpjb25maWd1cmU6MTE0 MDU6IHJlc3VsdDogbm8KY29uZmlndXJlOjExNDk0OiBjaGVja2luZyBmb3IgaW5mbGF0ZSBpbiAt bHoKY29uZmlndXJlOjExNTE5OiB4ODZfNjQtdzY0LW1pbmd3MzItZ2NjIC1vIGNvbmZ0ZXN0LmV4 ZSAtV2FsbCAtV21pc3NpbmctcHJvdG90eXBlcyAtV3BvaW50ZXItYXJpdGggLVdkZWNsYXJhdGlv bi1hZnRlci1zdGF0ZW1lbnQgLVdlbmRpZi1sYWJlbHMgLVdtaXNzaW5nLWZvcm1hdC1hdHRyaWJ1 dGUgLVdmb3JtYXQtc2VjdXJpdHkgLWZuby1zdHJpY3QtYWxpYXNpbmcgLWZ3cmFwdiAtZmV4Y2Vz cy1wcmVjaXNpb249c3RhbmRhcmQgLVduby1mb3JtYXQtdHJ1bmNhdGlvbiAtV25vLXN0cmluZ29w LXRydW5jYXRpb24gLWcgLU8gLWZuby1vbWl0LWZyYW1lLXBvaW50ZXIgIC1JL3cvUi0zLjUuXy9w b3N0Z3Jlcy9zcmMvaW5jbHVkZS9wb3J0L3dpbjMyIC1ERVhFQ19CQUNLRU5EICAtSS93L3psaWIt MS4yLjgtd2luMzIteDg2XzY0L2luY2x1ZGUgLUkvdy9vcGVuc3NsLTEuMC4yZS13aW4zMi14ODZf NjQvaW5jbHVkZSAtSS93L2xpYnhtbDItMi45LjMtd2luMzIteDg2XzY0L2luY2x1ZGUvbGlieG1s MiAtSS93L2xpYnhzbHQtMS4xLjI4LXdpbjMyLXg4Nl82NC9pbmNsdWRlICAtV2wsLS1hbGxvdy1t dWx0aXBsZS1kZWZpbml0aW9uIC1XbCwtLWRpc2FibGUtYXV0by1pbXBvcnQgIC1ML3cvemxpYi0x LjIuOC13aW4zMi14ODZfNjQvbGliIC1ML3cvb3BlbnNzbC0xLjAuMmUtd2luMzIteDg2XzY0L2xp YiAtTC93L2xpYnhtbDItMi45LjMtd2luMzIteDg2XzY0L2xpYiAtTC93L2xpYnhzbHQtMS4xLjI4 LXdpbjMyLXg4Nl82NC9saWIgY29uZnRlc3QuYyAtbHogIC1sd3MyXzMyIC1sbSAgPiY1CmNvbmZp Z3VyZToxMTUxOTogJD8gPSAwCmNvbmZpZ3VyZToxMTUyODogcmVzdWx0OiB5ZXMKY29uZmlndXJl OjExNzMwOiBjaGVja2luZyBmb3IgbGlicmFyeSBjb250YWluaW5nIENSWVBUT19uZXdfZXhfZGF0 YQpjb25maWd1cmU6MTE3NjE6IHg4Nl82NC13NjQtbWluZ3czMi1nY2MgLW8gY29uZnRlc3QuZXhl IC1XYWxsIC1XbWlzc2luZy1wcm90b3R5cGVzIC1XcG9pbnRlci1hcml0aCAtV2RlY2xhcmF0aW9u LWFmdGVyLXN0YXRlbWVudCAtV2VuZGlmLWxhYmVscyAtV21pc3NpbmctZm9ybWF0LWF0dHJpYnV0 ZSAtV2Zvcm1hdC1zZWN1cml0eSAtZm5vLXN0cmljdC1hbGlhc2luZyAtZndyYXB2IC1mZXhjZXNz LXByZWNpc2lvbj1zdGFuZGFyZCAtV25vLWZvcm1hdC10cnVuY2F0aW9uIC1Xbm8tc3RyaW5nb3At dHJ1bmNhdGlvbiAtZyAtTyAtZm5vLW9taXQtZnJhbWUtcG9pbnRlciAgLUkvdy9SLTMuNS5fL3Bv c3RncmVzL3NyYy9pbmNsdWRlL3BvcnQvd2luMzIgLURFWEVDX0JBQ0tFTkQgIC1JL3cvemxpYi0x LjIuOC13aW4zMi14ODZfNjQvaW5jbHVkZSAtSS93L29wZW5zc2wtMS4wLjJlLXdpbjMyLXg4Nl82 NC9pbmNsdWRlIC1JL3cvbGlieG1sMi0yLjkuMy13aW4zMi14ODZfNjQvaW5jbHVkZS9saWJ4bWwy IC1JL3cvbGlieHNsdC0xLjEuMjgtd2luMzIteDg2XzY0L2luY2x1ZGUgIC1XbCwtLWFsbG93LW11 bHRpcGxlLWRlZmluaXRpb24gLVdsLC0tZGlzYWJsZS1hdXRvLWltcG9ydCAgLUwvdy96bGliLTEu Mi44LXdpbjMyLXg4Nl82NC9saWIgLUwvdy9vcGVuc3NsLTEuMC4yZS13aW4zMi14ODZfNjQvbGli IC1ML3cvbGlieG1sMi0yLjkuMy13aW4zMi14ODZfNjQvbGliIC1ML3cvbGlieHNsdC0xLjEuMjgt d2luMzIteDg2XzY0L2xpYiBjb25mdGVzdC5jIC1seiAtbHdzMl8zMiAtbG0gID4mNQpDOi9tc3lz NjQvbWluZ3c2NC9iaW4vLi4vbGliL2djYy94ODZfNjQtdzY0LW1pbmd3MzIvOC4yLjAvLi4vLi4v Li4vLi4veDg2XzY0LXc2NC1taW5ndzMyL2Jpbi9sZC5leGU6IEM6XG1zeXM2NFx0bXBcY2NLNzdO NVkubzogaW4gZnVuY3Rpb24gYG1haW4nOg0KVzpcUi0zLjUuX1xwb3N0Z3Jlc1xidWlsZC9jb25m dGVzdC5jOjQ4OiB1bmRlZmluZWQgcmVmZXJlbmNlIHRvIGBDUllQVE9fbmV3X2V4X2RhdGEnDQpj b2xsZWN0Mi5leGU6IGVycm9yOiBsZCByZXR1cm5lZCAxIGV4aXQgc3RhdHVzCmNvbmZpZ3VyZTox MTc2MTogJD8gPSAxCmNvbmZpZ3VyZTogZmFpbGVkIHByb2dyYW0gd2FzOgp8IC8qIGNvbmZkZWZz LmggKi8KfCAjZGVmaW5lIFBBQ0tBR0VfTkFNRSAiUG9zdGdyZVNRTCIKfCAjZGVmaW5lIFBBQ0tB R0VfVEFSTkFNRSAicG9zdGdyZXNxbCIKfCAjZGVmaW5lIFBBQ0tBR0VfVkVSU0lPTiAiMTFiZXRh MyIKfCAjZGVmaW5lIFBBQ0tBR0VfU1RSSU5HICJQb3N0Z3JlU1FMIDExYmV0YTMiCnwgI2RlZmlu ZSBQQUNLQUdFX0JVR1JFUE9SVCAicGdzcWwtYnVnc0Bwb3N0Z3Jlc3FsLm9yZyIKfCAjZGVmaW5l IFBBQ0tBR0VfVVJMICIiCnwgI2RlZmluZSBQR19NQUpPUlZFUlNJT04gIjExIgp8ICNkZWZpbmUg UEdfVkVSU0lPTiAiMTFiZXRhMyIKfCAjZGVmaW5lIERFRl9QR1BPUlQgNTQzMgp8ICNkZWZpbmUg REVGX1BHUE9SVF9TVFIgIjU0MzIiCnwgI2RlZmluZSBCTENLU1ogODE5Mgp8ICNkZWZpbmUgUkVM U0VHX1NJWkUgMTMxMDcyCnwgI2RlZmluZSBYTE9HX0JMQ0tTWiA4MTkyCnwgI2RlZmluZSBVU0Vf QVNTRVJUX0NIRUNLSU5HIDEKfCAjZGVmaW5lIEVOQUJMRV9USFJFQURfU0FGRVRZIDEKfCAjZGVm aW5lIFVTRV9JQ1UgMQp8ICNkZWZpbmUgUEdfS1JCX1NSVk5BTSAicG9zdGdyZXMiCnwgI2RlZmlu ZSBVU0VfT1BFTlNTTCAxCnwgI2RlZmluZSBVU0VfTElCWE1MIDEKfCAjZGVmaW5lIFVTRV9MSUJY U0xUIDEKfCAjZGVmaW5lIFNURENfSEVBREVSUyAxCnwgI2RlZmluZSBIQVZFX1NZU19UWVBFU19I IDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NUQVRfSCAxCnwgI2RlZmluZSBIQVZFX1NURExJQl9IIDEK fCAjZGVmaW5lIEhBVkVfU1RSSU5HX0ggMQp8ICNkZWZpbmUgSEFWRV9NRU1PUllfSCAxCnwgI2Rl ZmluZSBIQVZFX1NUUklOR1NfSCAxCnwgI2RlZmluZSBIQVZFX0lOVFRZUEVTX0ggMQp8ICNkZWZp bmUgSEFWRV9TVERJTlRfSCAxCnwgI2RlZmluZSBIQVZFX1VOSVNURF9IIDEKfCAjZGVmaW5lIEhB VkVfTElCTSAxCnwgI2RlZmluZSBIQVZFX0xJQlogMQp8ICNkZWZpbmUgSEFWRV9TUElOTE9DS1Mg MQp8ICNkZWZpbmUgSEFWRV9BVE9NSUNTIDEKfCAvKiBlbmQgY29uZmRlZnMuaC4gICovCnwgCnwg LyogT3ZlcnJpZGUgYW55IEdDQyBpbnRlcm5hbCBwcm90b3R5cGUgdG8gYXZvaWQgYW4gZXJyb3Iu CnwgICAgVXNlIGNoYXIgYmVjYXVzZSBpbnQgbWlnaHQgbWF0Y2ggdGhlIHJldHVybiB0eXBlIG9m IGEgR0NDCnwgICAgYnVpbHRpbiBhbmQgdGhlbiBpdHMgYXJndW1lbnQgcHJvdG90eXBlIHdvdWxk IHN0aWxsIGFwcGx5LiAgKi8KfCAjaWZkZWYgX19jcGx1c3BsdXMKfCBleHRlcm4gIkMiCnwgI2Vu ZGlmCnwgY2hhciBDUllQVE9fbmV3X2V4X2RhdGEgKCk7CnwgaW50CnwgbWFpbiAoKQp8IHsKfCBy ZXR1cm4gQ1JZUFRPX25ld19leF9kYXRhICgpOwp8ICAgOwp8ICAgcmV0dXJuIDA7CnwgfQpjb25m aWd1cmU6MTE3NjE6IHg4Nl82NC13NjQtbWluZ3czMi1nY2MgLW8gY29uZnRlc3QuZXhlIC1XYWxs IC1XbWlzc2luZy1wcm90b3R5cGVzIC1XcG9pbnRlci1hcml0aCAtV2RlY2xhcmF0aW9uLWFmdGVy LXN0YXRlbWVudCAtV2VuZGlmLWxhYmVscyAtV21pc3NpbmctZm9ybWF0LWF0dHJpYnV0ZSAtV2Zv cm1hdC1zZWN1cml0eSAtZm5vLXN0cmljdC1hbGlhc2luZyAtZndyYXB2IC1mZXhjZXNzLXByZWNp c2lvbj1zdGFuZGFyZCAtV25vLWZvcm1hdC10cnVuY2F0aW9uIC1Xbm8tc3RyaW5nb3AtdHJ1bmNh dGlvbiAtZyAtTyAtZm5vLW9taXQtZnJhbWUtcG9pbnRlciAgLUkvdy9SLTMuNS5fL3Bvc3RncmVz L3NyYy9pbmNsdWRlL3BvcnQvd2luMzIgLURFWEVDX0JBQ0tFTkQgIC1JL3cvemxpYi0xLjIuOC13 aW4zMi14ODZfNjQvaW5jbHVkZSAtSS93L29wZW5zc2wtMS4wLjJlLXdpbjMyLXg4Nl82NC9pbmNs dWRlIC1JL3cvbGlieG1sMi0yLjkuMy13aW4zMi14ODZfNjQvaW5jbHVkZS9saWJ4bWwyIC1JL3cv bGlieHNsdC0xLjEuMjgtd2luMzIteDg2XzY0L2luY2x1ZGUgIC1XbCwtLWFsbG93LW11bHRpcGxl LWRlZmluaXRpb24gLVdsLC0tZGlzYWJsZS1hdXRvLWltcG9ydCAgLUwvdy96bGliLTEuMi44LXdp bjMyLXg4Nl82NC9saWIgLUwvdy9vcGVuc3NsLTEuMC4yZS13aW4zMi14ODZfNjQvbGliIC1ML3cv bGlieG1sMi0yLjkuMy13aW4zMi14ODZfNjQvbGliIC1ML3cvbGlieHNsdC0xLjEuMjgtd2luMzIt eDg2XzY0L2xpYiBjb25mdGVzdC5jIC1sZWF5MzIgIC1seiAtbHdzMl8zMiAtbG0gID4mNQpDOi9t c3lzNjQvbWluZ3c2NC9iaW4vLi4vbGliL2djYy94ODZfNjQtdzY0LW1pbmd3MzIvOC4yLjAvLi4v Li4vLi4vLi4veDg2XzY0LXc2NC1taW5ndzMyL2Jpbi9sZC5leGU6IGNhbm5vdCBmaW5kIC1sZWF5 MzINCmNvbGxlY3QyLmV4ZTogZXJyb3I6IGxkIHJldHVybmVkIDEgZXhpdCBzdGF0dXMKY29uZmln dXJlOjExNzYxOiAkPyA9IDEKY29uZmlndXJlOiBmYWlsZWQgcHJvZ3JhbSB3YXM6CnwgLyogY29u ZmRlZnMuaCAqLwp8ICNkZWZpbmUgUEFDS0FHRV9OQU1FICJQb3N0Z3JlU1FMIgp8ICNkZWZpbmUg UEFDS0FHRV9UQVJOQU1FICJwb3N0Z3Jlc3FsIgp8ICNkZWZpbmUgUEFDS0FHRV9WRVJTSU9OICIx MWJldGEzIgp8ICNkZWZpbmUgUEFDS0FHRV9TVFJJTkcgIlBvc3RncmVTUUwgMTFiZXRhMyIKfCAj ZGVmaW5lIFBBQ0tBR0VfQlVHUkVQT1JUICJwZ3NxbC1idWdzQHBvc3RncmVzcWwub3JnIgp8ICNk ZWZpbmUgUEFDS0FHRV9VUkwgIiIKfCAjZGVmaW5lIFBHX01BSk9SVkVSU0lPTiAiMTEiCnwgI2Rl ZmluZSBQR19WRVJTSU9OICIxMWJldGEzIgp8ICNkZWZpbmUgREVGX1BHUE9SVCA1NDMyCnwgI2Rl ZmluZSBERUZfUEdQT1JUX1NUUiAiNTQzMiIKfCAjZGVmaW5lIEJMQ0tTWiA4MTkyCnwgI2RlZmlu ZSBSRUxTRUdfU0laRSAxMzEwNzIKfCAjZGVmaW5lIFhMT0dfQkxDS1NaIDgxOTIKfCAjZGVmaW5l IFVTRV9BU1NFUlRfQ0hFQ0tJTkcgMQp8ICNkZWZpbmUgRU5BQkxFX1RIUkVBRF9TQUZFVFkgMQp8 ICNkZWZpbmUgVVNFX0lDVSAxCnwgI2RlZmluZSBQR19LUkJfU1JWTkFNICJwb3N0Z3JlcyIKfCAj ZGVmaW5lIFVTRV9PUEVOU1NMIDEKfCAjZGVmaW5lIFVTRV9MSUJYTUwgMQp8ICNkZWZpbmUgVVNF X0xJQlhTTFQgMQp8ICNkZWZpbmUgU1REQ19IRUFERVJTIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1RZ UEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfU1RBVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1RETElC X0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJJTkdfSCAxCnwgI2RlZmluZSBIQVZFX01FTU9SWV9IIDEK fCAjZGVmaW5lIEhBVkVfU1RSSU5HU19IIDEKfCAjZGVmaW5lIEhBVkVfSU5UVFlQRVNfSCAxCnwg I2RlZmluZSBIQVZFX1NURElOVF9IIDEKfCAjZGVmaW5lIEhBVkVfVU5JU1REX0ggMQp8ICNkZWZp bmUgSEFWRV9MSUJNIDEKfCAjZGVmaW5lIEhBVkVfTElCWiAxCnwgI2RlZmluZSBIQVZFX1NQSU5M T0NLUyAxCnwgI2RlZmluZSBIQVZFX0FUT01JQ1MgMQp8IC8qIGVuZCBjb25mZGVmcy5oLiAgKi8K fCAKfCAvKiBPdmVycmlkZSBhbnkgR0NDIGludGVybmFsIHByb3RvdHlwZSB0byBhdm9pZCBhbiBl cnJvci4KfCAgICBVc2UgY2hhciBiZWNhdXNlIGludCBtaWdodCBtYXRjaCB0aGUgcmV0dXJuIHR5 cGUgb2YgYSBHQ0MKfCAgICBidWlsdGluIGFuZCB0aGVuIGl0cyBhcmd1bWVudCBwcm90b3R5cGUg d291bGQgc3RpbGwgYXBwbHkuICAqLwp8ICNpZmRlZiBfX2NwbHVzcGx1cwp8IGV4dGVybiAiQyIK fCAjZW5kaWYKfCBjaGFyIENSWVBUT19uZXdfZXhfZGF0YSAoKTsKfCBpbnQKfCBtYWluICgpCnwg ewp8IHJldHVybiBDUllQVE9fbmV3X2V4X2RhdGEgKCk7CnwgICA7CnwgICByZXR1cm4gMDsKfCB9 CmNvbmZpZ3VyZToxMTc2MTogeDg2XzY0LXc2NC1taW5ndzMyLWdjYyAtbyBjb25mdGVzdC5leGUg LVdhbGwgLVdtaXNzaW5nLXByb3RvdHlwZXMgLVdwb2ludGVyLWFyaXRoIC1XZGVjbGFyYXRpb24t YWZ0ZXItc3RhdGVtZW50IC1XZW5kaWYtbGFiZWxzIC1XbWlzc2luZy1mb3JtYXQtYXR0cmlidXRl IC1XZm9ybWF0LXNlY3VyaXR5IC1mbm8tc3RyaWN0LWFsaWFzaW5nIC1md3JhcHYgLWZleGNlc3Mt cHJlY2lzaW9uPXN0YW5kYXJkIC1Xbm8tZm9ybWF0LXRydW5jYXRpb24gLVduby1zdHJpbmdvcC10 cnVuY2F0aW9uIC1nIC1PIC1mbm8tb21pdC1mcmFtZS1wb2ludGVyICAtSS93L1ItMy41Ll8vcG9z dGdyZXMvc3JjL2luY2x1ZGUvcG9ydC93aW4zMiAtREVYRUNfQkFDS0VORCAgLUkvdy96bGliLTEu Mi44LXdpbjMyLXg4Nl82NC9pbmNsdWRlIC1JL3cvb3BlbnNzbC0xLjAuMmUtd2luMzIteDg2XzY0 L2luY2x1ZGUgLUkvdy9saWJ4bWwyLTIuOS4zLXdpbjMyLXg4Nl82NC9pbmNsdWRlL2xpYnhtbDIg LUkvdy9saWJ4c2x0LTEuMS4yOC13aW4zMi14ODZfNjQvaW5jbHVkZSAgLVdsLC0tYWxsb3ctbXVs dGlwbGUtZGVmaW5pdGlvbiAtV2wsLS1kaXNhYmxlLWF1dG8taW1wb3J0ICAtTC93L3psaWItMS4y Ljgtd2luMzIteDg2XzY0L2xpYiAtTC93L29wZW5zc2wtMS4wLjJlLXdpbjMyLXg4Nl82NC9saWIg LUwvdy9saWJ4bWwyLTIuOS4zLXdpbjMyLXg4Nl82NC9saWIgLUwvdy9saWJ4c2x0LTEuMS4yOC13 aW4zMi14ODZfNjQvbGliIGNvbmZ0ZXN0LmMgLWxjcnlwdG8gIC1seiAtbHdzMl8zMiAtbG0gID4m NQpjb25maWd1cmU6MTE3NjE6ICQ/ID0gMApjb25maWd1cmU6MTE3Nzg6IHJlc3VsdDogLWxjcnlw dG8KY29uZmlndXJlOjExNzg4OiBjaGVja2luZyBmb3IgbGlicmFyeSBjb250YWluaW5nIFNTTF9u ZXcKY29uZmlndXJlOjExODE5OiB4ODZfNjQtdzY0LW1pbmd3MzItZ2NjIC1vIGNvbmZ0ZXN0LmV4 ZSAtV2FsbCAtV21pc3NpbmctcHJvdG90eXBlcyAtV3BvaW50ZXItYXJpdGggLVdkZWNsYXJhdGlv bi1hZnRlci1zdGF0ZW1lbnQgLVdlbmRpZi1sYWJlbHMgLVdtaXNzaW5nLWZvcm1hdC1hdHRyaWJ1 dGUgLVdmb3JtYXQtc2VjdXJpdHkgLWZuby1zdHJpY3QtYWxpYXNpbmcgLWZ3cmFwdiAtZmV4Y2Vz cy1wcmVjaXNpb249c3RhbmRhcmQgLVduby1mb3JtYXQtdHJ1bmNhdGlvbiAtV25vLXN0cmluZ29w LXRydW5jYXRpb24gLWcgLU8gLWZuby1vbWl0LWZyYW1lLXBvaW50ZXIgIC1JL3cvUi0zLjUuXy9w b3N0Z3Jlcy9zcmMvaW5jbHVkZS9wb3J0L3dpbjMyIC1ERVhFQ19CQUNLRU5EICAtSS93L3psaWIt MS4yLjgtd2luMzIteDg2XzY0L2luY2x1ZGUgLUkvdy9vcGVuc3NsLTEuMC4yZS13aW4zMi14ODZf NjQvaW5jbHVkZSAtSS93L2xpYnhtbDItMi45LjMtd2luMzIteDg2XzY0L2luY2x1ZGUvbGlieG1s MiAtSS93L2xpYnhzbHQtMS4xLjI4LXdpbjMyLXg4Nl82NC9pbmNsdWRlICAtV2wsLS1hbGxvdy1t dWx0aXBsZS1kZWZpbml0aW9uIC1XbCwtLWRpc2FibGUtYXV0by1pbXBvcnQgIC1ML3cvemxpYi0x LjIuOC13aW4zMi14ODZfNjQvbGliIC1ML3cvb3BlbnNzbC0xLjAuMmUtd2luMzIteDg2XzY0L2xp YiAtTC93L2xpYnhtbDItMi45LjMtd2luMzIteDg2XzY0L2xpYiAtTC93L2xpYnhzbHQtMS4xLjI4 LXdpbjMyLXg4Nl82NC9saWIgY29uZnRlc3QuYyAtbGNyeXB0byAtbHogLWx3czJfMzIgLWxtICA+ JjUKQzovbXN5czY0L21pbmd3NjQvYmluLy4uL2xpYi9nY2MveDg2XzY0LXc2NC1taW5ndzMyLzgu Mi4wLy4uLy4uLy4uLy4uL3g4Nl82NC13NjQtbWluZ3czMi9iaW4vbGQuZXhlOiBDOlxtc3lzNjRc dG1wXGNjZlhSSVZrLm86IGluIGZ1bmN0aW9uIGBtYWluJzoNClc6XFItMy41Ll9ccG9zdGdyZXNc YnVpbGQvY29uZnRlc3QuYzo0ODogdW5kZWZpbmVkIHJlZmVyZW5jZSB0byBgU1NMX25ldycNCmNv bGxlY3QyLmV4ZTogZXJyb3I6IGxkIHJldHVybmVkIDEgZXhpdCBzdGF0dXMKY29uZmlndXJlOjEx ODE5OiAkPyA9IDEKY29uZmlndXJlOiBmYWlsZWQgcHJvZ3JhbSB3YXM6CnwgLyogY29uZmRlZnMu aCAqLwp8ICNkZWZpbmUgUEFDS0FHRV9OQU1FICJQb3N0Z3JlU1FMIgp8ICNkZWZpbmUgUEFDS0FH RV9UQVJOQU1FICJwb3N0Z3Jlc3FsIgp8ICNkZWZpbmUgUEFDS0FHRV9WRVJTSU9OICIxMWJldGEz Igp8ICNkZWZpbmUgUEFDS0FHRV9TVFJJTkcgIlBvc3RncmVTUUwgMTFiZXRhMyIKfCAjZGVmaW5l IFBBQ0tBR0VfQlVHUkVQT1JUICJwZ3NxbC1idWdzQHBvc3RncmVzcWwub3JnIgp8ICNkZWZpbmUg UEFDS0FHRV9VUkwgIiIKfCAjZGVmaW5lIFBHX01BSk9SVkVSU0lPTiAiMTEiCnwgI2RlZmluZSBQ R19WRVJTSU9OICIxMWJldGEzIgp8ICNkZWZpbmUgREVGX1BHUE9SVCA1NDMyCnwgI2RlZmluZSBE RUZfUEdQT1JUX1NUUiAiNTQzMiIKfCAjZGVmaW5lIEJMQ0tTWiA4MTkyCnwgI2RlZmluZSBSRUxT RUdfU0laRSAxMzEwNzIKfCAjZGVmaW5lIFhMT0dfQkxDS1NaIDgxOTIKfCAjZGVmaW5lIFVTRV9B U1NFUlRfQ0hFQ0tJTkcgMQp8ICNkZWZpbmUgRU5BQkxFX1RIUkVBRF9TQUZFVFkgMQp8ICNkZWZp bmUgVVNFX0lDVSAxCnwgI2RlZmluZSBQR19LUkJfU1JWTkFNICJwb3N0Z3JlcyIKfCAjZGVmaW5l IFVTRV9PUEVOU1NMIDEKfCAjZGVmaW5lIFVTRV9MSUJYTUwgMQp8ICNkZWZpbmUgVVNFX0xJQlhT TFQgMQp8ICNkZWZpbmUgU1REQ19IRUFERVJTIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1RZUEVTX0gg MQp8ICNkZWZpbmUgSEFWRV9TWVNfU1RBVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1RETElCX0ggMQp8 ICNkZWZpbmUgSEFWRV9TVFJJTkdfSCAxCnwgI2RlZmluZSBIQVZFX01FTU9SWV9IIDEKfCAjZGVm aW5lIEhBVkVfU1RSSU5HU19IIDEKfCAjZGVmaW5lIEhBVkVfSU5UVFlQRVNfSCAxCnwgI2RlZmlu ZSBIQVZFX1NURElOVF9IIDEKfCAjZGVmaW5lIEhBVkVfVU5JU1REX0ggMQp8ICNkZWZpbmUgSEFW RV9MSUJNIDEKfCAjZGVmaW5lIEhBVkVfTElCWiAxCnwgI2RlZmluZSBIQVZFX1NQSU5MT0NLUyAx CnwgI2RlZmluZSBIQVZFX0FUT01JQ1MgMQp8IC8qIGVuZCBjb25mZGVmcy5oLiAgKi8KfCAKfCAv KiBPdmVycmlkZSBhbnkgR0NDIGludGVybmFsIHByb3RvdHlwZSB0byBhdm9pZCBhbiBlcnJvci4K fCAgICBVc2UgY2hhciBiZWNhdXNlIGludCBtaWdodCBtYXRjaCB0aGUgcmV0dXJuIHR5cGUgb2Yg YSBHQ0MKfCAgICBidWlsdGluIGFuZCB0aGVuIGl0cyBhcmd1bWVudCBwcm90b3R5cGUgd291bGQg c3RpbGwgYXBwbHkuICAqLwp8ICNpZmRlZiBfX2NwbHVzcGx1cwp8IGV4dGVybiAiQyIKfCAjZW5k aWYKfCBjaGFyIFNTTF9uZXcgKCk7CnwgaW50CnwgbWFpbiAoKQp8IHsKfCByZXR1cm4gU1NMX25l dyAoKTsKfCAgIDsKfCAgIHJldHVybiAwOwp8IH0KY29uZmlndXJlOjExODE5OiB4ODZfNjQtdzY0 LW1pbmd3MzItZ2NjIC1vIGNvbmZ0ZXN0LmV4ZSAtV2FsbCAtV21pc3NpbmctcHJvdG90eXBlcyAt V3BvaW50ZXItYXJpdGggLVdkZWNsYXJhdGlvbi1hZnRlci1zdGF0ZW1lbnQgLVdlbmRpZi1sYWJl bHMgLVdtaXNzaW5nLWZvcm1hdC1hdHRyaWJ1dGUgLVdmb3JtYXQtc2VjdXJpdHkgLWZuby1zdHJp Y3QtYWxpYXNpbmcgLWZ3cmFwdiAtZmV4Y2Vzcy1wcmVjaXNpb249c3RhbmRhcmQgLVduby1mb3Jt YXQtdHJ1bmNhdGlvbiAtV25vLXN0cmluZ29wLXRydW5jYXRpb24gLWcgLU8gLWZuby1vbWl0LWZy YW1lLXBvaW50ZXIgIC1JL3cvUi0zLjUuXy9wb3N0Z3Jlcy9zcmMvaW5jbHVkZS9wb3J0L3dpbjMy IC1ERVhFQ19CQUNLRU5EICAtSS93L3psaWItMS4yLjgtd2luMzIteDg2XzY0L2luY2x1ZGUgLUkv dy9vcGVuc3NsLTEuMC4yZS13aW4zMi14ODZfNjQvaW5jbHVkZSAtSS93L2xpYnhtbDItMi45LjMt d2luMzIteDg2XzY0L2luY2x1ZGUvbGlieG1sMiAtSS93L2xpYnhzbHQtMS4xLjI4LXdpbjMyLXg4 Nl82NC9pbmNsdWRlICAtV2wsLS1hbGxvdy1tdWx0aXBsZS1kZWZpbml0aW9uIC1XbCwtLWRpc2Fi bGUtYXV0by1pbXBvcnQgIC1ML3cvemxpYi0xLjIuOC13aW4zMi14ODZfNjQvbGliIC1ML3cvb3Bl bnNzbC0xLjAuMmUtd2luMzIteDg2XzY0L2xpYiAtTC93L2xpYnhtbDItMi45LjMtd2luMzIteDg2 XzY0L2xpYiAtTC93L2xpYnhzbHQtMS4xLjI4LXdpbjMyLXg4Nl82NC9saWIgY29uZnRlc3QuYyAt bHNzbGVheTMyICAtbGNyeXB0byAtbHogLWx3czJfMzIgLWxtICA+JjUKQzovbXN5czY0L21pbmd3 NjQvYmluLy4uL2xpYi9nY2MveDg2XzY0LXc2NC1taW5ndzMyLzguMi4wLy4uLy4uLy4uLy4uL3g4 Nl82NC13NjQtbWluZ3czMi9iaW4vbGQuZXhlOiBjYW5ub3QgZmluZCAtbHNzbGVheTMyDQpjb2xs ZWN0Mi5leGU6IGVycm9yOiBsZCByZXR1cm5lZCAxIGV4aXQgc3RhdHVzCmNvbmZpZ3VyZToxMTgx OTogJD8gPSAxCmNvbmZpZ3VyZTogZmFpbGVkIHByb2dyYW0gd2FzOgp8IC8qIGNvbmZkZWZzLmgg Ki8KfCAjZGVmaW5lIFBBQ0tBR0VfTkFNRSAiUG9zdGdyZVNRTCIKfCAjZGVmaW5lIFBBQ0tBR0Vf VEFSTkFNRSAicG9zdGdyZXNxbCIKfCAjZGVmaW5lIFBBQ0tBR0VfVkVSU0lPTiAiMTFiZXRhMyIK fCAjZGVmaW5lIFBBQ0tBR0VfU1RSSU5HICJQb3N0Z3JlU1FMIDExYmV0YTMiCnwgI2RlZmluZSBQ QUNLQUdFX0JVR1JFUE9SVCAicGdzcWwtYnVnc0Bwb3N0Z3Jlc3FsLm9yZyIKfCAjZGVmaW5lIFBB Q0tBR0VfVVJMICIiCnwgI2RlZmluZSBQR19NQUpPUlZFUlNJT04gIjExIgp8ICNkZWZpbmUgUEdf VkVSU0lPTiAiMTFiZXRhMyIKfCAjZGVmaW5lIERFRl9QR1BPUlQgNTQzMgp8ICNkZWZpbmUgREVG X1BHUE9SVF9TVFIgIjU0MzIiCnwgI2RlZmluZSBCTENLU1ogODE5Mgp8ICNkZWZpbmUgUkVMU0VH X1NJWkUgMTMxMDcyCnwgI2RlZmluZSBYTE9HX0JMQ0tTWiA4MTkyCnwgI2RlZmluZSBVU0VfQVNT RVJUX0NIRUNLSU5HIDEKfCAjZGVmaW5lIEVOQUJMRV9USFJFQURfU0FGRVRZIDEKfCAjZGVmaW5l IFVTRV9JQ1UgMQp8ICNkZWZpbmUgUEdfS1JCX1NSVk5BTSAicG9zdGdyZXMiCnwgI2RlZmluZSBV U0VfT1BFTlNTTCAxCnwgI2RlZmluZSBVU0VfTElCWE1MIDEKfCAjZGVmaW5lIFVTRV9MSUJYU0xU IDEKfCAjZGVmaW5lIFNURENfSEVBREVSUyAxCnwgI2RlZmluZSBIQVZFX1NZU19UWVBFU19IIDEK fCAjZGVmaW5lIEhBVkVfU1lTX1NUQVRfSCAxCnwgI2RlZmluZSBIQVZFX1NURExJQl9IIDEKfCAj ZGVmaW5lIEhBVkVfU1RSSU5HX0ggMQp8ICNkZWZpbmUgSEFWRV9NRU1PUllfSCAxCnwgI2RlZmlu ZSBIQVZFX1NUUklOR1NfSCAxCnwgI2RlZmluZSBIQVZFX0lOVFRZUEVTX0ggMQp8ICNkZWZpbmUg SEFWRV9TVERJTlRfSCAxCnwgI2RlZmluZSBIQVZFX1VOSVNURF9IIDEKfCAjZGVmaW5lIEhBVkVf TElCTSAxCnwgI2RlZmluZSBIQVZFX0xJQlogMQp8ICNkZWZpbmUgSEFWRV9TUElOTE9DS1MgMQp8 ICNkZWZpbmUgSEFWRV9BVE9NSUNTIDEKfCAvKiBlbmQgY29uZmRlZnMuaC4gICovCnwgCnwgLyog T3ZlcnJpZGUgYW55IEdDQyBpbnRlcm5hbCBwcm90b3R5cGUgdG8gYXZvaWQgYW4gZXJyb3IuCnwg ICAgVXNlIGNoYXIgYmVjYXVzZSBpbnQgbWlnaHQgbWF0Y2ggdGhlIHJldHVybiB0eXBlIG9mIGEg R0NDCnwgICAgYnVpbHRpbiBhbmQgdGhlbiBpdHMgYXJndW1lbnQgcHJvdG90eXBlIHdvdWxkIHN0 aWxsIGFwcGx5LiAgKi8KfCAjaWZkZWYgX19jcGx1c3BsdXMKfCBleHRlcm4gIkMiCnwgI2VuZGlm CnwgY2hhciBTU0xfbmV3ICgpOwp8IGludAp8IG1haW4gKCkKfCB7CnwgcmV0dXJuIFNTTF9uZXcg KCk7CnwgICA7CnwgICByZXR1cm4gMDsKfCB9CmNvbmZpZ3VyZToxMTgxOTogeDg2XzY0LXc2NC1t aW5ndzMyLWdjYyAtbyBjb25mdGVzdC5leGUgLVdhbGwgLVdtaXNzaW5nLXByb3RvdHlwZXMgLVdw b2ludGVyLWFyaXRoIC1XZGVjbGFyYXRpb24tYWZ0ZXItc3RhdGVtZW50IC1XZW5kaWYtbGFiZWxz IC1XbWlzc2luZy1mb3JtYXQtYXR0cmlidXRlIC1XZm9ybWF0LXNlY3VyaXR5IC1mbm8tc3RyaWN0 LWFsaWFzaW5nIC1md3JhcHYgLWZleGNlc3MtcHJlY2lzaW9uPXN0YW5kYXJkIC1Xbm8tZm9ybWF0 LXRydW5jYXRpb24gLVduby1zdHJpbmdvcC10cnVuY2F0aW9uIC1nIC1PIC1mbm8tb21pdC1mcmFt ZS1wb2ludGVyICAtSS93L1ItMy41Ll8vcG9zdGdyZXMvc3JjL2luY2x1ZGUvcG9ydC93aW4zMiAt REVYRUNfQkFDS0VORCAgLUkvdy96bGliLTEuMi44LXdpbjMyLXg4Nl82NC9pbmNsdWRlIC1JL3cv b3BlbnNzbC0xLjAuMmUtd2luMzIteDg2XzY0L2luY2x1ZGUgLUkvdy9saWJ4bWwyLTIuOS4zLXdp bjMyLXg4Nl82NC9pbmNsdWRlL2xpYnhtbDIgLUkvdy9saWJ4c2x0LTEuMS4yOC13aW4zMi14ODZf NjQvaW5jbHVkZSAgLVdsLC0tYWxsb3ctbXVsdGlwbGUtZGVmaW5pdGlvbiAtV2wsLS1kaXNhYmxl LWF1dG8taW1wb3J0ICAtTC93L3psaWItMS4yLjgtd2luMzIteDg2XzY0L2xpYiAtTC93L29wZW5z c2wtMS4wLjJlLXdpbjMyLXg4Nl82NC9saWIgLUwvdy9saWJ4bWwyLTIuOS4zLXdpbjMyLXg4Nl82 NC9saWIgLUwvdy9saWJ4c2x0LTEuMS4yOC13aW4zMi14ODZfNjQvbGliIGNvbmZ0ZXN0LmMgLWxz c2wgIC1sY3J5cHRvIC1seiAtbHdzMl8zMiAtbG0gID4mNQpjb25maWd1cmU6MTE4MTk6ICQ/ID0g MApjb25maWd1cmU6MTE4MzY6IHJlc3VsdDogLWxzc2wKY29uZmlndXJlOjExODUwOiBjaGVja2lu ZyBmb3IgU1NMX2NsZWFyX29wdGlvbnMKY29uZmlndXJlOjExODUwOiB4ODZfNjQtdzY0LW1pbmd3 MzItZ2NjIC1vIGNvbmZ0ZXN0LmV4ZSAtV2FsbCAtV21pc3NpbmctcHJvdG90eXBlcyAtV3BvaW50 ZXItYXJpdGggLVdkZWNsYXJhdGlvbi1hZnRlci1zdGF0ZW1lbnQgLVdlbmRpZi1sYWJlbHMgLVdt aXNzaW5nLWZvcm1hdC1hdHRyaWJ1dGUgLVdmb3JtYXQtc2VjdXJpdHkgLWZuby1zdHJpY3QtYWxp YXNpbmcgLWZ3cmFwdiAtZmV4Y2Vzcy1wcmVjaXNpb249c3RhbmRhcmQgLVduby1mb3JtYXQtdHJ1 bmNhdGlvbiAtV25vLXN0cmluZ29wLXRydW5jYXRpb24gLWcgLU8gLWZuby1vbWl0LWZyYW1lLXBv aW50ZXIgIC1JL3cvUi0zLjUuXy9wb3N0Z3Jlcy9zcmMvaW5jbHVkZS9wb3J0L3dpbjMyIC1ERVhF Q19CQUNLRU5EICAtSS93L3psaWItMS4yLjgtd2luMzIteDg2XzY0L2luY2x1ZGUgLUkvdy9vcGVu c3NsLTEuMC4yZS13aW4zMi14ODZfNjQvaW5jbHVkZSAtSS93L2xpYnhtbDItMi45LjMtd2luMzIt eDg2XzY0L2luY2x1ZGUvbGlieG1sMiAtSS93L2xpYnhzbHQtMS4xLjI4LXdpbjMyLXg4Nl82NC9p bmNsdWRlICAtV2wsLS1hbGxvdy1tdWx0aXBsZS1kZWZpbml0aW9uIC1XbCwtLWRpc2FibGUtYXV0 by1pbXBvcnQgIC1ML3cvemxpYi0xLjIuOC13aW4zMi14ODZfNjQvbGliIC1ML3cvb3BlbnNzbC0x LjAuMmUtd2luMzIteDg2XzY0L2xpYiAtTC93L2xpYnhtbDItMi45LjMtd2luMzIteDg2XzY0L2xp YiAtTC93L2xpYnhzbHQtMS4xLjI4LXdpbjMyLXg4Nl82NC9saWIgY29uZnRlc3QuYyAtbHNzbCAt bGNyeXB0byAtbHogLWx3czJfMzIgLWxtICA+JjUKQzovbXN5czY0L21pbmd3NjQvYmluLy4uL2xp Yi9nY2MveDg2XzY0LXc2NC1taW5ndzMyLzguMi4wLy4uLy4uLy4uLy4uL3g4Nl82NC13NjQtbWlu Z3czMi9iaW4vbGQuZXhlOiBDOlxtc3lzNjRcdG1wXGNjdWczMWxXLm86IGluIGZ1bmN0aW9uIGBt YWluJzoNClc6XFItMy41Ll9ccG9zdGdyZXNcYnVpbGQvY29uZnRlc3QuYzo3MTogdW5kZWZpbmVk IHJlZmVyZW5jZSB0byBgU1NMX2NsZWFyX29wdGlvbnMnDQpjb2xsZWN0Mi5leGU6IGVycm9yOiBs ZCByZXR1cm5lZCAxIGV4aXQgc3RhdHVzCmNvbmZpZ3VyZToxMTg1MDogJD8gPSAxCmNvbmZpZ3Vy ZTogZmFpbGVkIHByb2dyYW0gd2FzOgp8IC8qIGNvbmZkZWZzLmggKi8KfCAjZGVmaW5lIFBBQ0tB R0VfTkFNRSAiUG9zdGdyZVNRTCIKfCAjZGVmaW5lIFBBQ0tBR0VfVEFSTkFNRSAicG9zdGdyZXNx bCIKfCAjZGVmaW5lIFBBQ0tBR0VfVkVSU0lPTiAiMTFiZXRhMyIKfCAjZGVmaW5lIFBBQ0tBR0Vf U1RSSU5HICJQb3N0Z3JlU1FMIDExYmV0YTMiCnwgI2RlZmluZSBQQUNLQUdFX0JVR1JFUE9SVCAi cGdzcWwtYnVnc0Bwb3N0Z3Jlc3FsLm9yZyIKfCAjZGVmaW5lIFBBQ0tBR0VfVVJMICIiCnwgI2Rl ZmluZSBQR19NQUpPUlZFUlNJT04gIjExIgp8ICNkZWZpbmUgUEdfVkVSU0lPTiAiMTFiZXRhMyIK fCAjZGVmaW5lIERFRl9QR1BPUlQgNTQzMgp8ICNkZWZpbmUgREVGX1BHUE9SVF9TVFIgIjU0MzIi CnwgI2RlZmluZSBCTENLU1ogODE5Mgp8ICNkZWZpbmUgUkVMU0VHX1NJWkUgMTMxMDcyCnwgI2Rl ZmluZSBYTE9HX0JMQ0tTWiA4MTkyCnwgI2RlZmluZSBVU0VfQVNTRVJUX0NIRUNLSU5HIDEKfCAj ZGVmaW5lIEVOQUJMRV9USFJFQURfU0FGRVRZIDEKfCAjZGVmaW5lIFVTRV9JQ1UgMQp8ICNkZWZp bmUgUEdfS1JCX1NSVk5BTSAicG9zdGdyZXMiCnwgI2RlZmluZSBVU0VfT1BFTlNTTCAxCnwgI2Rl ZmluZSBVU0VfTElCWE1MIDEKfCAjZGVmaW5lIFVTRV9MSUJYU0xUIDEKfCAjZGVmaW5lIFNURENf SEVBREVSUyAxCnwgI2RlZmluZSBIQVZFX1NZU19UWVBFU19IIDEKfCAjZGVmaW5lIEhBVkVfU1lT X1NUQVRfSCAxCnwgI2RlZmluZSBIQVZFX1NURExJQl9IIDEKfCAjZGVmaW5lIEhBVkVfU1RSSU5H X0ggMQp8ICNkZWZpbmUgSEFWRV9NRU1PUllfSCAxCnwgI2RlZmluZSBIQVZFX1NUUklOR1NfSCAx CnwgI2RlZmluZSBIQVZFX0lOVFRZUEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERJTlRfSCAxCnwg I2RlZmluZSBIQVZFX1VOSVNURF9IIDEKfCAjZGVmaW5lIEhBVkVfTElCTSAxCnwgI2RlZmluZSBI QVZFX0xJQlogMQp8ICNkZWZpbmUgSEFWRV9TUElOTE9DS1MgMQp8ICNkZWZpbmUgSEFWRV9BVE9N SUNTIDEKfCAvKiBlbmQgY29uZmRlZnMuaC4gICovCnwgLyogRGVmaW5lIFNTTF9jbGVhcl9vcHRp b25zIHRvIGFuIGlubm9jdW91cyB2YXJpYW50LCBpbiBjYXNlIDxsaW1pdHMuaD4gZGVjbGFyZXMg U1NMX2NsZWFyX29wdGlvbnMuCnwgICAgRm9yIGV4YW1wbGUsIEhQLVVYIDExaSA8bGltaXRzLmg+ IGRlY2xhcmVzIGdldHRpbWVvZmRheS4gICovCnwgI2RlZmluZSBTU0xfY2xlYXJfb3B0aW9ucyBp bm5vY3VvdXNfU1NMX2NsZWFyX29wdGlvbnMKfCAKfCAvKiBTeXN0ZW0gaGVhZGVyIHRvIGRlZmlu ZSBfX3N0dWIgbWFjcm9zIGFuZCBob3BlZnVsbHkgZmV3IHByb3RvdHlwZXMsCnwgICAgIHdoaWNo IGNhbiBjb25mbGljdCB3aXRoIGNoYXIgU1NMX2NsZWFyX29wdGlvbnMgKCk7IGJlbG93Lgp8ICAg ICBQcmVmZXIgPGxpbWl0cy5oPiB0byA8YXNzZXJ0Lmg+IGlmIF9fU1REQ19fIGlzIGRlZmluZWQs IHNpbmNlCnwgICAgIDxsaW1pdHMuaD4gZXhpc3RzIGV2ZW4gb24gZnJlZXN0YW5kaW5nIGNvbXBp bGVycy4gICovCnwgCnwgI2lmZGVmIF9fU1REQ19fCnwgIyBpbmNsdWRlIDxsaW1pdHMuaD4KfCAj ZWxzZQp8ICMgaW5jbHVkZSA8YXNzZXJ0Lmg+CnwgI2VuZGlmCnwgCnwgI3VuZGVmIFNTTF9jbGVh cl9vcHRpb25zCnwgCnwgLyogT3ZlcnJpZGUgYW55IEdDQyBpbnRlcm5hbCBwcm90b3R5cGUgdG8g YXZvaWQgYW4gZXJyb3IuCnwgICAgVXNlIGNoYXIgYmVjYXVzZSBpbnQgbWlnaHQgbWF0Y2ggdGhl IHJldHVybiB0eXBlIG9mIGEgR0NDCnwgICAgYnVpbHRpbiBhbmQgdGhlbiBpdHMgYXJndW1lbnQg cHJvdG90eXBlIHdvdWxkIHN0aWxsIGFwcGx5LiAgKi8KfCAjaWZkZWYgX19jcGx1c3BsdXMKfCBl eHRlcm4gIkMiCnwgI2VuZGlmCnwgY2hhciBTU0xfY2xlYXJfb3B0aW9ucyAoKTsKfCAvKiBUaGUg R05VIEMgbGlicmFyeSBkZWZpbmVzIHRoaXMgZm9yIGZ1bmN0aW9ucyB3aGljaCBpdCBpbXBsZW1l bnRzCnwgICAgIHRvIGFsd2F5cyBmYWlsIHdpdGggRU5PU1lTLiAgU29tZSBmdW5jdGlvbnMgYXJl IGFjdHVhbGx5IG5hbWVkCnwgICAgIHNvbWV0aGluZyBzdGFydGluZyB3aXRoIF9fIGFuZCB0aGUg bm9ybWFsIG5hbWUgaXMgYW4gYWxpYXMuICAqLwp8ICNpZiBkZWZpbmVkIF9fc3R1Yl9TU0xfY2xl YXJfb3B0aW9ucyB8fCBkZWZpbmVkIF9fc3R1Yl9fX1NTTF9jbGVhcl9vcHRpb25zCnwgY2hva2Ug bWUKfCAjZW5kaWYKfCAKfCBpbnQKfCBtYWluICgpCnwgewp8IHJldHVybiBTU0xfY2xlYXJfb3B0 aW9ucyAoKTsKfCAgIDsKfCAgIHJldHVybiAwOwp8IH0KY29uZmlndXJlOjExODUwOiByZXN1bHQ6 IG5vCmNvbmZpZ3VyZToxMTg1MDogY2hlY2tpbmcgZm9yIFNTTF9nZXRfY3VycmVudF9jb21wcmVz c2lvbgpjb25maWd1cmU6MTE4NTA6IHg4Nl82NC13NjQtbWluZ3czMi1nY2MgLW8gY29uZnRlc3Qu ZXhlIC1XYWxsIC1XbWlzc2luZy1wcm90b3R5cGVzIC1XcG9pbnRlci1hcml0aCAtV2RlY2xhcmF0 aW9uLWFmdGVyLXN0YXRlbWVudCAtV2VuZGlmLWxhYmVscyAtV21pc3NpbmctZm9ybWF0LWF0dHJp YnV0ZSAtV2Zvcm1hdC1zZWN1cml0eSAtZm5vLXN0cmljdC1hbGlhc2luZyAtZndyYXB2IC1mZXhj ZXNzLXByZWNpc2lvbj1zdGFuZGFyZCAtV25vLWZvcm1hdC10cnVuY2F0aW9uIC1Xbm8tc3RyaW5n b3AtdHJ1bmNhdGlvbiAtZyAtTyAtZm5vLW9taXQtZnJhbWUtcG9pbnRlciAgLUkvdy9SLTMuNS5f L3Bvc3RncmVzL3NyYy9pbmNsdWRlL3BvcnQvd2luMzIgLURFWEVDX0JBQ0tFTkQgIC1JL3cvemxp Yi0xLjIuOC13aW4zMi14ODZfNjQvaW5jbHVkZSAtSS93L29wZW5zc2wtMS4wLjJlLXdpbjMyLXg4 Nl82NC9pbmNsdWRlIC1JL3cvbGlieG1sMi0yLjkuMy13aW4zMi14ODZfNjQvaW5jbHVkZS9saWJ4 bWwyIC1JL3cvbGlieHNsdC0xLjEuMjgtd2luMzIteDg2XzY0L2luY2x1ZGUgIC1XbCwtLWFsbG93 LW11bHRpcGxlLWRlZmluaXRpb24gLVdsLC0tZGlzYWJsZS1hdXRvLWltcG9ydCAgLUwvdy96bGli LTEuMi44LXdpbjMyLXg4Nl82NC9saWIgLUwvdy9vcGVuc3NsLTEuMC4yZS13aW4zMi14ODZfNjQv bGliIC1ML3cvbGlieG1sMi0yLjkuMy13aW4zMi14ODZfNjQvbGliIC1ML3cvbGlieHNsdC0xLjEu Mjgtd2luMzIteDg2XzY0L2xpYiBjb25mdGVzdC5jIC1sc3NsIC1sY3J5cHRvIC1seiAtbHdzMl8z MiAtbG0gID4mNQpjb25maWd1cmU6MTE4NTA6ICQ/ID0gMApjb25maWd1cmU6MTE4NTA6IHJlc3Vs dDogeWVzCmNvbmZpZ3VyZToxMTg1MDogY2hlY2tpbmcgZm9yIFg1MDlfZ2V0X3NpZ25hdHVyZV9u aWQKY29uZmlndXJlOjExODUwOiB4ODZfNjQtdzY0LW1pbmd3MzItZ2NjIC1vIGNvbmZ0ZXN0LmV4 ZSAtV2FsbCAtV21pc3NpbmctcHJvdG90eXBlcyAtV3BvaW50ZXItYXJpdGggLVdkZWNsYXJhdGlv bi1hZnRlci1zdGF0ZW1lbnQgLVdlbmRpZi1sYWJlbHMgLVdtaXNzaW5nLWZvcm1hdC1hdHRyaWJ1 dGUgLVdmb3JtYXQtc2VjdXJpdHkgLWZuby1zdHJpY3QtYWxpYXNpbmcgLWZ3cmFwdiAtZmV4Y2Vz cy1wcmVjaXNpb249c3RhbmRhcmQgLVduby1mb3JtYXQtdHJ1bmNhdGlvbiAtV25vLXN0cmluZ29w LXRydW5jYXRpb24gLWcgLU8gLWZuby1vbWl0LWZyYW1lLXBvaW50ZXIgIC1JL3cvUi0zLjUuXy9w b3N0Z3Jlcy9zcmMvaW5jbHVkZS9wb3J0L3dpbjMyIC1ERVhFQ19CQUNLRU5EICAtSS93L3psaWIt MS4yLjgtd2luMzIteDg2XzY0L2luY2x1ZGUgLUkvdy9vcGVuc3NsLTEuMC4yZS13aW4zMi14ODZf NjQvaW5jbHVkZSAtSS93L2xpYnhtbDItMi45LjMtd2luMzIteDg2XzY0L2luY2x1ZGUvbGlieG1s MiAtSS93L2xpYnhzbHQtMS4xLjI4LXdpbjMyLXg4Nl82NC9pbmNsdWRlICAtV2wsLS1hbGxvdy1t dWx0aXBsZS1kZWZpbml0aW9uIC1XbCwtLWRpc2FibGUtYXV0by1pbXBvcnQgIC1ML3cvemxpYi0x LjIuOC13aW4zMi14ODZfNjQvbGliIC1ML3cvb3BlbnNzbC0xLjAuMmUtd2luMzIteDg2XzY0L2xp YiAtTC93L2xpYnhtbDItMi45LjMtd2luMzIteDg2XzY0L2xpYiAtTC93L2xpYnhzbHQtMS4xLjI4 LXdpbjMyLXg4Nl82NC9saWIgY29uZnRlc3QuYyAtbHNzbCAtbGNyeXB0byAtbHogLWx3czJfMzIg LWxtICA+JjUKY29uZmlndXJlOjExODUwOiAkPyA9IDAKY29uZmlndXJlOjExODUwOiByZXN1bHQ6 IHllcwpjb25maWd1cmU6MTE4Njc6IGNoZWNraW5nIGZvciBPUEVOU1NMX2luaXRfc3NsCmNvbmZp Z3VyZToxMTg2NzogeDg2XzY0LXc2NC1taW5ndzMyLWdjYyAtbyBjb25mdGVzdC5leGUgLVdhbGwg LVdtaXNzaW5nLXByb3RvdHlwZXMgLVdwb2ludGVyLWFyaXRoIC1XZGVjbGFyYXRpb24tYWZ0ZXIt c3RhdGVtZW50IC1XZW5kaWYtbGFiZWxzIC1XbWlzc2luZy1mb3JtYXQtYXR0cmlidXRlIC1XZm9y bWF0LXNlY3VyaXR5IC1mbm8tc3RyaWN0LWFsaWFzaW5nIC1md3JhcHYgLWZleGNlc3MtcHJlY2lz aW9uPXN0YW5kYXJkIC1Xbm8tZm9ybWF0LXRydW5jYXRpb24gLVduby1zdHJpbmdvcC10cnVuY2F0 aW9uIC1nIC1PIC1mbm8tb21pdC1mcmFtZS1wb2ludGVyICAtSS93L1ItMy41Ll8vcG9zdGdyZXMv c3JjL2luY2x1ZGUvcG9ydC93aW4zMiAtREVYRUNfQkFDS0VORCAgLUkvdy96bGliLTEuMi44LXdp bjMyLXg4Nl82NC9pbmNsdWRlIC1JL3cvb3BlbnNzbC0xLjAuMmUtd2luMzIteDg2XzY0L2luY2x1 ZGUgLUkvdy9saWJ4bWwyLTIuOS4zLXdpbjMyLXg4Nl82NC9pbmNsdWRlL2xpYnhtbDIgLUkvdy9s aWJ4c2x0LTEuMS4yOC13aW4zMi14ODZfNjQvaW5jbHVkZSAgLVdsLC0tYWxsb3ctbXVsdGlwbGUt ZGVmaW5pdGlvbiAtV2wsLS1kaXNhYmxlLWF1dG8taW1wb3J0ICAtTC93L3psaWItMS4yLjgtd2lu MzIteDg2XzY0L2xpYiAtTC93L29wZW5zc2wtMS4wLjJlLXdpbjMyLXg4Nl82NC9saWIgLUwvdy9s aWJ4bWwyLTIuOS4zLXdpbjMyLXg4Nl82NC9saWIgLUwvdy9saWJ4c2x0LTEuMS4yOC13aW4zMi14 ODZfNjQvbGliIGNvbmZ0ZXN0LmMgLWxzc2wgLWxjcnlwdG8gLWx6IC1sd3MyXzMyIC1sbSAgPiY1 CkM6L21zeXM2NC9taW5ndzY0L2Jpbi8uLi9saWIvZ2NjL3g4Nl82NC13NjQtbWluZ3czMi84LjIu MC8uLi8uLi8uLi8uLi94ODZfNjQtdzY0LW1pbmd3MzIvYmluL2xkLmV4ZTogQzpcbXN5czY0XHRt cFxjYzZZRmdUcS5vOiBpbiBmdW5jdGlvbiBgbWFpbic6DQpXOlxSLTMuNS5fXHBvc3RncmVzXGJ1 aWxkL2NvbmZ0ZXN0LmM6NzM6IHVuZGVmaW5lZCByZWZlcmVuY2UgdG8gYE9QRU5TU0xfaW5pdF9z c2wnDQpjb2xsZWN0Mi5leGU6IGVycm9yOiBsZCByZXR1cm5lZCAxIGV4aXQgc3RhdHVzCmNvbmZp Z3VyZToxMTg2NzogJD8gPSAxCmNvbmZpZ3VyZTogZmFpbGVkIHByb2dyYW0gd2FzOgp8IC8qIGNv bmZkZWZzLmggKi8KfCAjZGVmaW5lIFBBQ0tBR0VfTkFNRSAiUG9zdGdyZVNRTCIKfCAjZGVmaW5l IFBBQ0tBR0VfVEFSTkFNRSAicG9zdGdyZXNxbCIKfCAjZGVmaW5lIFBBQ0tBR0VfVkVSU0lPTiAi MTFiZXRhMyIKfCAjZGVmaW5lIFBBQ0tBR0VfU1RSSU5HICJQb3N0Z3JlU1FMIDExYmV0YTMiCnwg I2RlZmluZSBQQUNLQUdFX0JVR1JFUE9SVCAicGdzcWwtYnVnc0Bwb3N0Z3Jlc3FsLm9yZyIKfCAj ZGVmaW5lIFBBQ0tBR0VfVVJMICIiCnwgI2RlZmluZSBQR19NQUpPUlZFUlNJT04gIjExIgp8ICNk ZWZpbmUgUEdfVkVSU0lPTiAiMTFiZXRhMyIKfCAjZGVmaW5lIERFRl9QR1BPUlQgNTQzMgp8ICNk ZWZpbmUgREVGX1BHUE9SVF9TVFIgIjU0MzIiCnwgI2RlZmluZSBCTENLU1ogODE5Mgp8ICNkZWZp bmUgUkVMU0VHX1NJWkUgMTMxMDcyCnwgI2RlZmluZSBYTE9HX0JMQ0tTWiA4MTkyCnwgI2RlZmlu ZSBVU0VfQVNTRVJUX0NIRUNLSU5HIDEKfCAjZGVmaW5lIEVOQUJMRV9USFJFQURfU0FGRVRZIDEK fCAjZGVmaW5lIFVTRV9JQ1UgMQp8ICNkZWZpbmUgUEdfS1JCX1NSVk5BTSAicG9zdGdyZXMiCnwg I2RlZmluZSBVU0VfT1BFTlNTTCAxCnwgI2RlZmluZSBVU0VfTElCWE1MIDEKfCAjZGVmaW5lIFVT RV9MSUJYU0xUIDEKfCAjZGVmaW5lIFNURENfSEVBREVSUyAxCnwgI2RlZmluZSBIQVZFX1NZU19U WVBFU19IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NUQVRfSCAxCnwgI2RlZmluZSBIQVZFX1NURExJ Ql9IIDEKfCAjZGVmaW5lIEhBVkVfU1RSSU5HX0ggMQp8ICNkZWZpbmUgSEFWRV9NRU1PUllfSCAx CnwgI2RlZmluZSBIQVZFX1NUUklOR1NfSCAxCnwgI2RlZmluZSBIQVZFX0lOVFRZUEVTX0ggMQp8 ICNkZWZpbmUgSEFWRV9TVERJTlRfSCAxCnwgI2RlZmluZSBIQVZFX1VOSVNURF9IIDEKfCAjZGVm aW5lIEhBVkVfTElCTSAxCnwgI2RlZmluZSBIQVZFX0xJQlogMQp8ICNkZWZpbmUgSEFWRV9TUElO TE9DS1MgMQp8ICNkZWZpbmUgSEFWRV9BVE9NSUNTIDEKfCAjZGVmaW5lIEhBVkVfU1NMX0dFVF9D VVJSRU5UX0NPTVBSRVNTSU9OIDEKfCAjZGVmaW5lIEhBVkVfWDUwOV9HRVRfU0lHTkFUVVJFX05J RCAxCnwgLyogZW5kIGNvbmZkZWZzLmguICAqLwp8IC8qIERlZmluZSBPUEVOU1NMX2luaXRfc3Ns IHRvIGFuIGlubm9jdW91cyB2YXJpYW50LCBpbiBjYXNlIDxsaW1pdHMuaD4gZGVjbGFyZXMgT1BF TlNTTF9pbml0X3NzbC4KfCAgICBGb3IgZXhhbXBsZSwgSFAtVVggMTFpIDxsaW1pdHMuaD4gZGVj bGFyZXMgZ2V0dGltZW9mZGF5LiAgKi8KfCAjZGVmaW5lIE9QRU5TU0xfaW5pdF9zc2wgaW5ub2N1 b3VzX09QRU5TU0xfaW5pdF9zc2wKfCAKfCAvKiBTeXN0ZW0gaGVhZGVyIHRvIGRlZmluZSBfX3N0 dWIgbWFjcm9zIGFuZCBob3BlZnVsbHkgZmV3IHByb3RvdHlwZXMsCnwgICAgIHdoaWNoIGNhbiBj b25mbGljdCB3aXRoIGNoYXIgT1BFTlNTTF9pbml0X3NzbCAoKTsgYmVsb3cuCnwgICAgIFByZWZl ciA8bGltaXRzLmg+IHRvIDxhc3NlcnQuaD4gaWYgX19TVERDX18gaXMgZGVmaW5lZCwgc2luY2UK fCAgICAgPGxpbWl0cy5oPiBleGlzdHMgZXZlbiBvbiBmcmVlc3RhbmRpbmcgY29tcGlsZXJzLiAg Ki8KfCAKfCAjaWZkZWYgX19TVERDX18KfCAjIGluY2x1ZGUgPGxpbWl0cy5oPgp8ICNlbHNlCnwg IyBpbmNsdWRlIDxhc3NlcnQuaD4KfCAjZW5kaWYKfCAKfCAjdW5kZWYgT1BFTlNTTF9pbml0X3Nz bAp8IAp8IC8qIE92ZXJyaWRlIGFueSBHQ0MgaW50ZXJuYWwgcHJvdG90eXBlIHRvIGF2b2lkIGFu IGVycm9yLgp8ICAgIFVzZSBjaGFyIGJlY2F1c2UgaW50IG1pZ2h0IG1hdGNoIHRoZSByZXR1cm4g dHlwZSBvZiBhIEdDQwp8ICAgIGJ1aWx0aW4gYW5kIHRoZW4gaXRzIGFyZ3VtZW50IHByb3RvdHlw ZSB3b3VsZCBzdGlsbCBhcHBseS4gICovCnwgI2lmZGVmIF9fY3BsdXNwbHVzCnwgZXh0ZXJuICJD Igp8ICNlbmRpZgp8IGNoYXIgT1BFTlNTTF9pbml0X3NzbCAoKTsKfCAvKiBUaGUgR05VIEMgbGli cmFyeSBkZWZpbmVzIHRoaXMgZm9yIGZ1bmN0aW9ucyB3aGljaCBpdCBpbXBsZW1lbnRzCnwgICAg IHRvIGFsd2F5cyBmYWlsIHdpdGggRU5PU1lTLiAgU29tZSBmdW5jdGlvbnMgYXJlIGFjdHVhbGx5 IG5hbWVkCnwgICAgIHNvbWV0aGluZyBzdGFydGluZyB3aXRoIF9fIGFuZCB0aGUgbm9ybWFsIG5h bWUgaXMgYW4gYWxpYXMuICAqLwp8ICNpZiBkZWZpbmVkIF9fc3R1Yl9PUEVOU1NMX2luaXRfc3Ns IHx8IGRlZmluZWQgX19zdHViX19fT1BFTlNTTF9pbml0X3NzbAp8IGNob2tlIG1lCnwgI2VuZGlm CnwgCnwgaW50CnwgbWFpbiAoKQp8IHsKfCByZXR1cm4gT1BFTlNTTF9pbml0X3NzbCAoKTsKfCAg IDsKfCAgIHJldHVybiAwOwp8IH0KY29uZmlndXJlOjExODY3OiByZXN1bHQ6IG5vCmNvbmZpZ3Vy ZToxMTg2NzogY2hlY2tpbmcgZm9yIEJJT19nZXRfZGF0YQpjb25maWd1cmU6MTE4Njc6IHg4Nl82 NC13NjQtbWluZ3czMi1nY2MgLW8gY29uZnRlc3QuZXhlIC1XYWxsIC1XbWlzc2luZy1wcm90b3R5 cGVzIC1XcG9pbnRlci1hcml0aCAtV2RlY2xhcmF0aW9uLWFmdGVyLXN0YXRlbWVudCAtV2VuZGlm LWxhYmVscyAtV21pc3NpbmctZm9ybWF0LWF0dHJpYnV0ZSAtV2Zvcm1hdC1zZWN1cml0eSAtZm5v LXN0cmljdC1hbGlhc2luZyAtZndyYXB2IC1mZXhjZXNzLXByZWNpc2lvbj1zdGFuZGFyZCAtV25v LWZvcm1hdC10cnVuY2F0aW9uIC1Xbm8tc3RyaW5nb3AtdHJ1bmNhdGlvbiAtZyAtTyAtZm5vLW9t aXQtZnJhbWUtcG9pbnRlciAgLUkvdy9SLTMuNS5fL3Bvc3RncmVzL3NyYy9pbmNsdWRlL3BvcnQv d2luMzIgLURFWEVDX0JBQ0tFTkQgIC1JL3cvemxpYi0xLjIuOC13aW4zMi14ODZfNjQvaW5jbHVk ZSAtSS93L29wZW5zc2wtMS4wLjJlLXdpbjMyLXg4Nl82NC9pbmNsdWRlIC1JL3cvbGlieG1sMi0y LjkuMy13aW4zMi14ODZfNjQvaW5jbHVkZS9saWJ4bWwyIC1JL3cvbGlieHNsdC0xLjEuMjgtd2lu MzIteDg2XzY0L2luY2x1ZGUgIC1XbCwtLWFsbG93LW11bHRpcGxlLWRlZmluaXRpb24gLVdsLC0t ZGlzYWJsZS1hdXRvLWltcG9ydCAgLUwvdy96bGliLTEuMi44LXdpbjMyLXg4Nl82NC9saWIgLUwv dy9vcGVuc3NsLTEuMC4yZS13aW4zMi14ODZfNjQvbGliIC1ML3cvbGlieG1sMi0yLjkuMy13aW4z Mi14ODZfNjQvbGliIC1ML3cvbGlieHNsdC0xLjEuMjgtd2luMzIteDg2XzY0L2xpYiBjb25mdGVz dC5jIC1sc3NsIC1sY3J5cHRvIC1seiAtbHdzMl8zMiAtbG0gID4mNQpDOi9tc3lzNjQvbWluZ3c2 NC9iaW4vLi4vbGliL2djYy94ODZfNjQtdzY0LW1pbmd3MzIvOC4yLjAvLi4vLi4vLi4vLi4veDg2 XzY0LXc2NC1taW5ndzMyL2Jpbi9sZC5leGU6IEM6XG1zeXM2NFx0bXBcY2NlNEljbnYubzogaW4g ZnVuY3Rpb24gYG1haW4nOg0KVzpcUi0zLjUuX1xwb3N0Z3Jlc1xidWlsZC9jb25mdGVzdC5jOjcz OiB1bmRlZmluZWQgcmVmZXJlbmNlIHRvIGBCSU9fZ2V0X2RhdGEnDQpjb2xsZWN0Mi5leGU6IGVy cm9yOiBsZCByZXR1cm5lZCAxIGV4aXQgc3RhdHVzCmNvbmZpZ3VyZToxMTg2NzogJD8gPSAxCmNv bmZpZ3VyZTogZmFpbGVkIHByb2dyYW0gd2FzOgp8IC8qIGNvbmZkZWZzLmggKi8KfCAjZGVmaW5l IFBBQ0tBR0VfTkFNRSAiUG9zdGdyZVNRTCIKfCAjZGVmaW5lIFBBQ0tBR0VfVEFSTkFNRSAicG9z dGdyZXNxbCIKfCAjZGVmaW5lIFBBQ0tBR0VfVkVSU0lPTiAiMTFiZXRhMyIKfCAjZGVmaW5lIFBB Q0tBR0VfU1RSSU5HICJQb3N0Z3JlU1FMIDExYmV0YTMiCnwgI2RlZmluZSBQQUNLQUdFX0JVR1JF UE9SVCAicGdzcWwtYnVnc0Bwb3N0Z3Jlc3FsLm9yZyIKfCAjZGVmaW5lIFBBQ0tBR0VfVVJMICIi CnwgI2RlZmluZSBQR19NQUpPUlZFUlNJT04gIjExIgp8ICNkZWZpbmUgUEdfVkVSU0lPTiAiMTFi ZXRhMyIKfCAjZGVmaW5lIERFRl9QR1BPUlQgNTQzMgp8ICNkZWZpbmUgREVGX1BHUE9SVF9TVFIg IjU0MzIiCnwgI2RlZmluZSBCTENLU1ogODE5Mgp8ICNkZWZpbmUgUkVMU0VHX1NJWkUgMTMxMDcy CnwgI2RlZmluZSBYTE9HX0JMQ0tTWiA4MTkyCnwgI2RlZmluZSBVU0VfQVNTRVJUX0NIRUNLSU5H IDEKfCAjZGVmaW5lIEVOQUJMRV9USFJFQURfU0FGRVRZIDEKfCAjZGVmaW5lIFVTRV9JQ1UgMQp8 ICNkZWZpbmUgUEdfS1JCX1NSVk5BTSAicG9zdGdyZXMiCnwgI2RlZmluZSBVU0VfT1BFTlNTTCAx CnwgI2RlZmluZSBVU0VfTElCWE1MIDEKfCAjZGVmaW5lIFVTRV9MSUJYU0xUIDEKfCAjZGVmaW5l IFNURENfSEVBREVSUyAxCnwgI2RlZmluZSBIQVZFX1NZU19UWVBFU19IIDEKfCAjZGVmaW5lIEhB VkVfU1lTX1NUQVRfSCAxCnwgI2RlZmluZSBIQVZFX1NURExJQl9IIDEKfCAjZGVmaW5lIEhBVkVf U1RSSU5HX0ggMQp8ICNkZWZpbmUgSEFWRV9NRU1PUllfSCAxCnwgI2RlZmluZSBIQVZFX1NUUklO R1NfSCAxCnwgI2RlZmluZSBIQVZFX0lOVFRZUEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERJTlRf SCAxCnwgI2RlZmluZSBIQVZFX1VOSVNURF9IIDEKfCAjZGVmaW5lIEhBVkVfTElCTSAxCnwgI2Rl ZmluZSBIQVZFX0xJQlogMQp8ICNkZWZpbmUgSEFWRV9TUElOTE9DS1MgMQp8ICNkZWZpbmUgSEFW RV9BVE9NSUNTIDEKfCAjZGVmaW5lIEhBVkVfU1NMX0dFVF9DVVJSRU5UX0NPTVBSRVNTSU9OIDEK fCAjZGVmaW5lIEhBVkVfWDUwOV9HRVRfU0lHTkFUVVJFX05JRCAxCnwgLyogZW5kIGNvbmZkZWZz LmguICAqLwp8IC8qIERlZmluZSBCSU9fZ2V0X2RhdGEgdG8gYW4gaW5ub2N1b3VzIHZhcmlhbnQs IGluIGNhc2UgPGxpbWl0cy5oPiBkZWNsYXJlcyBCSU9fZ2V0X2RhdGEuCnwgICAgRm9yIGV4YW1w bGUsIEhQLVVYIDExaSA8bGltaXRzLmg+IGRlY2xhcmVzIGdldHRpbWVvZmRheS4gICovCnwgI2Rl ZmluZSBCSU9fZ2V0X2RhdGEgaW5ub2N1b3VzX0JJT19nZXRfZGF0YQp8IAp8IC8qIFN5c3RlbSBo ZWFkZXIgdG8gZGVmaW5lIF9fc3R1YiBtYWNyb3MgYW5kIGhvcGVmdWxseSBmZXcgcHJvdG90eXBl cywKfCAgICAgd2hpY2ggY2FuIGNvbmZsaWN0IHdpdGggY2hhciBCSU9fZ2V0X2RhdGEgKCk7IGJl bG93Lgp8ICAgICBQcmVmZXIgPGxpbWl0cy5oPiB0byA8YXNzZXJ0Lmg+IGlmIF9fU1REQ19fIGlz IGRlZmluZWQsIHNpbmNlCnwgICAgIDxsaW1pdHMuaD4gZXhpc3RzIGV2ZW4gb24gZnJlZXN0YW5k aW5nIGNvbXBpbGVycy4gICovCnwgCnwgI2lmZGVmIF9fU1REQ19fCnwgIyBpbmNsdWRlIDxsaW1p dHMuaD4KfCAjZWxzZQp8ICMgaW5jbHVkZSA8YXNzZXJ0Lmg+CnwgI2VuZGlmCnwgCnwgI3VuZGVm IEJJT19nZXRfZGF0YQp8IAp8IC8qIE92ZXJyaWRlIGFueSBHQ0MgaW50ZXJuYWwgcHJvdG90eXBl IHRvIGF2b2lkIGFuIGVycm9yLgp8ICAgIFVzZSBjaGFyIGJlY2F1c2UgaW50IG1pZ2h0IG1hdGNo IHRoZSByZXR1cm4gdHlwZSBvZiBhIEdDQwp8ICAgIGJ1aWx0aW4gYW5kIHRoZW4gaXRzIGFyZ3Vt ZW50IHByb3RvdHlwZSB3b3VsZCBzdGlsbCBhcHBseS4gICovCnwgI2lmZGVmIF9fY3BsdXNwbHVz CnwgZXh0ZXJuICJDIgp8ICNlbmRpZgp8IGNoYXIgQklPX2dldF9kYXRhICgpOwp8IC8qIFRoZSBH TlUgQyBsaWJyYXJ5IGRlZmluZXMgdGhpcyBmb3IgZnVuY3Rpb25zIHdoaWNoIGl0IGltcGxlbWVu dHMKfCAgICAgdG8gYWx3YXlzIGZhaWwgd2l0aCBFTk9TWVMuICBTb21lIGZ1bmN0aW9ucyBhcmUg YWN0dWFsbHkgbmFtZWQKfCAgICAgc29tZXRoaW5nIHN0YXJ0aW5nIHdpdGggX18gYW5kIHRoZSBu b3JtYWwgbmFtZSBpcyBhbiBhbGlhcy4gICovCnwgI2lmIGRlZmluZWQgX19zdHViX0JJT19nZXRf ZGF0YSB8fCBkZWZpbmVkIF9fc3R1Yl9fX0JJT19nZXRfZGF0YQp8IGNob2tlIG1lCnwgI2VuZGlm CnwgCnwgaW50CnwgbWFpbiAoKQp8IHsKfCByZXR1cm4gQklPX2dldF9kYXRhICgpOwp8ICAgOwp8 ICAgcmV0dXJuIDA7CnwgfQpjb25maWd1cmU6MTE4Njc6IHJlc3VsdDogbm8KY29uZmlndXJlOjEx ODY3OiBjaGVja2luZyBmb3IgQklPX21ldGhfbmV3CmNvbmZpZ3VyZToxMTg2NzogeDg2XzY0LXc2 NC1taW5ndzMyLWdjYyAtbyBjb25mdGVzdC5leGUgLVdhbGwgLVdtaXNzaW5nLXByb3RvdHlwZXMg LVdwb2ludGVyLWFyaXRoIC1XZGVjbGFyYXRpb24tYWZ0ZXItc3RhdGVtZW50IC1XZW5kaWYtbGFi ZWxzIC1XbWlzc2luZy1mb3JtYXQtYXR0cmlidXRlIC1XZm9ybWF0LXNlY3VyaXR5IC1mbm8tc3Ry aWN0LWFsaWFzaW5nIC1md3JhcHYgLWZleGNlc3MtcHJlY2lzaW9uPXN0YW5kYXJkIC1Xbm8tZm9y bWF0LXRydW5jYXRpb24gLVduby1zdHJpbmdvcC10cnVuY2F0aW9uIC1nIC1PIC1mbm8tb21pdC1m cmFtZS1wb2ludGVyICAtSS93L1ItMy41Ll8vcG9zdGdyZXMvc3JjL2luY2x1ZGUvcG9ydC93aW4z MiAtREVYRUNfQkFDS0VORCAgLUkvdy96bGliLTEuMi44LXdpbjMyLXg4Nl82NC9pbmNsdWRlIC1J L3cvb3BlbnNzbC0xLjAuMmUtd2luMzIteDg2XzY0L2luY2x1ZGUgLUkvdy9saWJ4bWwyLTIuOS4z LXdpbjMyLXg4Nl82NC9pbmNsdWRlL2xpYnhtbDIgLUkvdy9saWJ4c2x0LTEuMS4yOC13aW4zMi14 ODZfNjQvaW5jbHVkZSAgLVdsLC0tYWxsb3ctbXVsdGlwbGUtZGVmaW5pdGlvbiAtV2wsLS1kaXNh YmxlLWF1dG8taW1wb3J0ICAtTC93L3psaWItMS4yLjgtd2luMzIteDg2XzY0L2xpYiAtTC93L29w ZW5zc2wtMS4wLjJlLXdpbjMyLXg4Nl82NC9saWIgLUwvdy9saWJ4bWwyLTIuOS4zLXdpbjMyLXg4 Nl82NC9saWIgLUwvdy9saWJ4c2x0LTEuMS4yOC13aW4zMi14ODZfNjQvbGliIGNvbmZ0ZXN0LmMg LWxzc2wgLWxjcnlwdG8gLWx6IC1sd3MyXzMyIC1sbSAgPiY1CkM6L21zeXM2NC9taW5ndzY0L2Jp bi8uLi9saWIvZ2NjL3g4Nl82NC13NjQtbWluZ3czMi84LjIuMC8uLi8uLi8uLi8uLi94ODZfNjQt dzY0LW1pbmd3MzIvYmluL2xkLmV4ZTogQzpcbXN5czY0XHRtcFxjY1NYM294by5vOiBpbiBmdW5j dGlvbiBgbWFpbic6DQpXOlxSLTMuNS5fXHBvc3RncmVzXGJ1aWxkL2NvbmZ0ZXN0LmM6NzM6IHVu ZGVmaW5lZCByZWZlcmVuY2UgdG8gYEJJT19tZXRoX25ldycNCmNvbGxlY3QyLmV4ZTogZXJyb3I6 IGxkIHJldHVybmVkIDEgZXhpdCBzdGF0dXMKY29uZmlndXJlOjExODY3OiAkPyA9IDEKY29uZmln dXJlOiBmYWlsZWQgcHJvZ3JhbSB3YXM6CnwgLyogY29uZmRlZnMuaCAqLwp8ICNkZWZpbmUgUEFD S0FHRV9OQU1FICJQb3N0Z3JlU1FMIgp8ICNkZWZpbmUgUEFDS0FHRV9UQVJOQU1FICJwb3N0Z3Jl c3FsIgp8ICNkZWZpbmUgUEFDS0FHRV9WRVJTSU9OICIxMWJldGEzIgp8ICNkZWZpbmUgUEFDS0FH RV9TVFJJTkcgIlBvc3RncmVTUUwgMTFiZXRhMyIKfCAjZGVmaW5lIFBBQ0tBR0VfQlVHUkVQT1JU ICJwZ3NxbC1idWdzQHBvc3RncmVzcWwub3JnIgp8ICNkZWZpbmUgUEFDS0FHRV9VUkwgIiIKfCAj ZGVmaW5lIFBHX01BSk9SVkVSU0lPTiAiMTEiCnwgI2RlZmluZSBQR19WRVJTSU9OICIxMWJldGEz Igp8ICNkZWZpbmUgREVGX1BHUE9SVCA1NDMyCnwgI2RlZmluZSBERUZfUEdQT1JUX1NUUiAiNTQz MiIKfCAjZGVmaW5lIEJMQ0tTWiA4MTkyCnwgI2RlZmluZSBSRUxTRUdfU0laRSAxMzEwNzIKfCAj ZGVmaW5lIFhMT0dfQkxDS1NaIDgxOTIKfCAjZGVmaW5lIFVTRV9BU1NFUlRfQ0hFQ0tJTkcgMQp8 ICNkZWZpbmUgRU5BQkxFX1RIUkVBRF9TQUZFVFkgMQp8ICNkZWZpbmUgVVNFX0lDVSAxCnwgI2Rl ZmluZSBQR19LUkJfU1JWTkFNICJwb3N0Z3JlcyIKfCAjZGVmaW5lIFVTRV9PUEVOU1NMIDEKfCAj ZGVmaW5lIFVTRV9MSUJYTUwgMQp8ICNkZWZpbmUgVVNFX0xJQlhTTFQgMQp8ICNkZWZpbmUgU1RE Q19IRUFERVJTIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1RZUEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9T WVNfU1RBVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1RETElCX0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJJ TkdfSCAxCnwgI2RlZmluZSBIQVZFX01FTU9SWV9IIDEKfCAjZGVmaW5lIEhBVkVfU1RSSU5HU19I IDEKfCAjZGVmaW5lIEhBVkVfSU5UVFlQRVNfSCAxCnwgI2RlZmluZSBIQVZFX1NURElOVF9IIDEK fCAjZGVmaW5lIEhBVkVfVU5JU1REX0ggMQp8ICNkZWZpbmUgSEFWRV9MSUJNIDEKfCAjZGVmaW5l IEhBVkVfTElCWiAxCnwgI2RlZmluZSBIQVZFX1NQSU5MT0NLUyAxCnwgI2RlZmluZSBIQVZFX0FU T01JQ1MgMQp8ICNkZWZpbmUgSEFWRV9TU0xfR0VUX0NVUlJFTlRfQ09NUFJFU1NJT04gMQp8ICNk ZWZpbmUgSEFWRV9YNTA5X0dFVF9TSUdOQVRVUkVfTklEIDEKfCAvKiBlbmQgY29uZmRlZnMuaC4g ICovCnwgLyogRGVmaW5lIEJJT19tZXRoX25ldyB0byBhbiBpbm5vY3VvdXMgdmFyaWFudCwgaW4g Y2FzZSA8bGltaXRzLmg+IGRlY2xhcmVzIEJJT19tZXRoX25ldy4KfCAgICBGb3IgZXhhbXBsZSwg SFAtVVggMTFpIDxsaW1pdHMuaD4gZGVjbGFyZXMgZ2V0dGltZW9mZGF5LiAgKi8KfCAjZGVmaW5l IEJJT19tZXRoX25ldyBpbm5vY3VvdXNfQklPX21ldGhfbmV3CnwgCnwgLyogU3lzdGVtIGhlYWRl ciB0byBkZWZpbmUgX19zdHViIG1hY3JvcyBhbmQgaG9wZWZ1bGx5IGZldyBwcm90b3R5cGVzLAp8 ICAgICB3aGljaCBjYW4gY29uZmxpY3Qgd2l0aCBjaGFyIEJJT19tZXRoX25ldyAoKTsgYmVsb3cu CnwgICAgIFByZWZlciA8bGltaXRzLmg+IHRvIDxhc3NlcnQuaD4gaWYgX19TVERDX18gaXMgZGVm aW5lZCwgc2luY2UKfCAgICAgPGxpbWl0cy5oPiBleGlzdHMgZXZlbiBvbiBmcmVlc3RhbmRpbmcg Y29tcGlsZXJzLiAgKi8KfCAKfCAjaWZkZWYgX19TVERDX18KfCAjIGluY2x1ZGUgPGxpbWl0cy5o Pgp8ICNlbHNlCnwgIyBpbmNsdWRlIDxhc3NlcnQuaD4KfCAjZW5kaWYKfCAKfCAjdW5kZWYgQklP X21ldGhfbmV3CnwgCnwgLyogT3ZlcnJpZGUgYW55IEdDQyBpbnRlcm5hbCBwcm90b3R5cGUgdG8g YXZvaWQgYW4gZXJyb3IuCnwgICAgVXNlIGNoYXIgYmVjYXVzZSBpbnQgbWlnaHQgbWF0Y2ggdGhl IHJldHVybiB0eXBlIG9mIGEgR0NDCnwgICAgYnVpbHRpbiBhbmQgdGhlbiBpdHMgYXJndW1lbnQg cHJvdG90eXBlIHdvdWxkIHN0aWxsIGFwcGx5LiAgKi8KfCAjaWZkZWYgX19jcGx1c3BsdXMKfCBl eHRlcm4gIkMiCnwgI2VuZGlmCnwgY2hhciBCSU9fbWV0aF9uZXcgKCk7CnwgLyogVGhlIEdOVSBD IGxpYnJhcnkgZGVmaW5lcyB0aGlzIGZvciBmdW5jdGlvbnMgd2hpY2ggaXQgaW1wbGVtZW50cwp8 ICAgICB0byBhbHdheXMgZmFpbCB3aXRoIEVOT1NZUy4gIFNvbWUgZnVuY3Rpb25zIGFyZSBhY3R1 YWxseSBuYW1lZAp8ICAgICBzb21ldGhpbmcgc3RhcnRpbmcgd2l0aCBfXyBhbmQgdGhlIG5vcm1h bCBuYW1lIGlzIGFuIGFsaWFzLiAgKi8KfCAjaWYgZGVmaW5lZCBfX3N0dWJfQklPX21ldGhfbmV3 IHx8IGRlZmluZWQgX19zdHViX19fQklPX21ldGhfbmV3CnwgY2hva2UgbWUKfCAjZW5kaWYKfCAK fCBpbnQKfCBtYWluICgpCnwgewp8IHJldHVybiBCSU9fbWV0aF9uZXcgKCk7CnwgICA7CnwgICBy ZXR1cm4gMDsKfCB9CmNvbmZpZ3VyZToxMTg2NzogcmVzdWx0OiBubwpjb25maWd1cmU6MTE4Njc6 IGNoZWNraW5nIGZvciBBU04xX1NUUklOR19nZXQwX2RhdGEKY29uZmlndXJlOjExODY3OiB4ODZf NjQtdzY0LW1pbmd3MzItZ2NjIC1vIGNvbmZ0ZXN0LmV4ZSAtV2FsbCAtV21pc3NpbmctcHJvdG90 eXBlcyAtV3BvaW50ZXItYXJpdGggLVdkZWNsYXJhdGlvbi1hZnRlci1zdGF0ZW1lbnQgLVdlbmRp Zi1sYWJlbHMgLVdtaXNzaW5nLWZvcm1hdC1hdHRyaWJ1dGUgLVdmb3JtYXQtc2VjdXJpdHkgLWZu by1zdHJpY3QtYWxpYXNpbmcgLWZ3cmFwdiAtZmV4Y2Vzcy1wcmVjaXNpb249c3RhbmRhcmQgLVdu by1mb3JtYXQtdHJ1bmNhdGlvbiAtV25vLXN0cmluZ29wLXRydW5jYXRpb24gLWcgLU8gLWZuby1v bWl0LWZyYW1lLXBvaW50ZXIgIC1JL3cvUi0zLjUuXy9wb3N0Z3Jlcy9zcmMvaW5jbHVkZS9wb3J0 L3dpbjMyIC1ERVhFQ19CQUNLRU5EICAtSS93L3psaWItMS4yLjgtd2luMzIteDg2XzY0L2luY2x1 ZGUgLUkvdy9vcGVuc3NsLTEuMC4yZS13aW4zMi14ODZfNjQvaW5jbHVkZSAtSS93L2xpYnhtbDIt Mi45LjMtd2luMzIteDg2XzY0L2luY2x1ZGUvbGlieG1sMiAtSS93L2xpYnhzbHQtMS4xLjI4LXdp bjMyLXg4Nl82NC9pbmNsdWRlICAtV2wsLS1hbGxvdy1tdWx0aXBsZS1kZWZpbml0aW9uIC1XbCwt LWRpc2FibGUtYXV0by1pbXBvcnQgIC1ML3cvemxpYi0xLjIuOC13aW4zMi14ODZfNjQvbGliIC1M L3cvb3BlbnNzbC0xLjAuMmUtd2luMzIteDg2XzY0L2xpYiAtTC93L2xpYnhtbDItMi45LjMtd2lu MzIteDg2XzY0L2xpYiAtTC93L2xpYnhzbHQtMS4xLjI4LXdpbjMyLXg4Nl82NC9saWIgY29uZnRl c3QuYyAtbHNzbCAtbGNyeXB0byAtbHogLWx3czJfMzIgLWxtICA+JjUKQzovbXN5czY0L21pbmd3 NjQvYmluLy4uL2xpYi9nY2MveDg2XzY0LXc2NC1taW5ndzMyLzguMi4wLy4uLy4uLy4uLy4uL3g4 Nl82NC13NjQtbWluZ3czMi9iaW4vbGQuZXhlOiBDOlxtc3lzNjRcdG1wXGNjb1BWZDhwLm86IGlu IGZ1bmN0aW9uIGBtYWluJzoNClc6XFItMy41Ll9ccG9zdGdyZXNcYnVpbGQvY29uZnRlc3QuYzo3 MzogdW5kZWZpbmVkIHJlZmVyZW5jZSB0byBgQVNOMV9TVFJJTkdfZ2V0MF9kYXRhJw0KY29sbGVj dDIuZXhlOiBlcnJvcjogbGQgcmV0dXJuZWQgMSBleGl0IHN0YXR1cwpjb25maWd1cmU6MTE4Njc6 ICQ/ID0gMQpjb25maWd1cmU6IGZhaWxlZCBwcm9ncmFtIHdhczoKfCAvKiBjb25mZGVmcy5oICov CnwgI2RlZmluZSBQQUNLQUdFX05BTUUgIlBvc3RncmVTUUwiCnwgI2RlZmluZSBQQUNLQUdFX1RB Uk5BTUUgInBvc3RncmVzcWwiCnwgI2RlZmluZSBQQUNLQUdFX1ZFUlNJT04gIjExYmV0YTMiCnwg I2RlZmluZSBQQUNLQUdFX1NUUklORyAiUG9zdGdyZVNRTCAxMWJldGEzIgp8ICNkZWZpbmUgUEFD S0FHRV9CVUdSRVBPUlQgInBnc3FsLWJ1Z3NAcG9zdGdyZXNxbC5vcmciCnwgI2RlZmluZSBQQUNL QUdFX1VSTCAiIgp8ICNkZWZpbmUgUEdfTUFKT1JWRVJTSU9OICIxMSIKfCAjZGVmaW5lIFBHX1ZF UlNJT04gIjExYmV0YTMiCnwgI2RlZmluZSBERUZfUEdQT1JUIDU0MzIKfCAjZGVmaW5lIERFRl9Q R1BPUlRfU1RSICI1NDMyIgp8ICNkZWZpbmUgQkxDS1NaIDgxOTIKfCAjZGVmaW5lIFJFTFNFR19T SVpFIDEzMTA3Mgp8ICNkZWZpbmUgWExPR19CTENLU1ogODE5Mgp8ICNkZWZpbmUgVVNFX0FTU0VS VF9DSEVDS0lORyAxCnwgI2RlZmluZSBFTkFCTEVfVEhSRUFEX1NBRkVUWSAxCnwgI2RlZmluZSBV U0VfSUNVIDEKfCAjZGVmaW5lIFBHX0tSQl9TUlZOQU0gInBvc3RncmVzIgp8ICNkZWZpbmUgVVNF X09QRU5TU0wgMQp8ICNkZWZpbmUgVVNFX0xJQlhNTCAxCnwgI2RlZmluZSBVU0VfTElCWFNMVCAx CnwgI2RlZmluZSBTVERDX0hFQURFUlMgMQp8ICNkZWZpbmUgSEFWRV9TWVNfVFlQRVNfSCAxCnwg I2RlZmluZSBIQVZFX1NZU19TVEFUX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERMSUJfSCAxCnwgI2Rl ZmluZSBIQVZFX1NUUklOR19IIDEKfCAjZGVmaW5lIEhBVkVfTUVNT1JZX0ggMQp8ICNkZWZpbmUg SEFWRV9TVFJJTkdTX0ggMQp8ICNkZWZpbmUgSEFWRV9JTlRUWVBFU19IIDEKfCAjZGVmaW5lIEhB VkVfU1RESU5UX0ggMQp8ICNkZWZpbmUgSEFWRV9VTklTVERfSCAxCnwgI2RlZmluZSBIQVZFX0xJ Qk0gMQp8ICNkZWZpbmUgSEFWRV9MSUJaIDEKfCAjZGVmaW5lIEhBVkVfU1BJTkxPQ0tTIDEKfCAj ZGVmaW5lIEhBVkVfQVRPTUlDUyAxCnwgI2RlZmluZSBIQVZFX1NTTF9HRVRfQ1VSUkVOVF9DT01Q UkVTU0lPTiAxCnwgI2RlZmluZSBIQVZFX1g1MDlfR0VUX1NJR05BVFVSRV9OSUQgMQp8IC8qIGVu ZCBjb25mZGVmcy5oLiAgKi8KfCAvKiBEZWZpbmUgQVNOMV9TVFJJTkdfZ2V0MF9kYXRhIHRvIGFu IGlubm9jdW91cyB2YXJpYW50LCBpbiBjYXNlIDxsaW1pdHMuaD4gZGVjbGFyZXMgQVNOMV9TVFJJ TkdfZ2V0MF9kYXRhLgp8ICAgIEZvciBleGFtcGxlLCBIUC1VWCAxMWkgPGxpbWl0cy5oPiBkZWNs YXJlcyBnZXR0aW1lb2ZkYXkuICAqLwp8ICNkZWZpbmUgQVNOMV9TVFJJTkdfZ2V0MF9kYXRhIGlu bm9jdW91c19BU04xX1NUUklOR19nZXQwX2RhdGEKfCAKfCAvKiBTeXN0ZW0gaGVhZGVyIHRvIGRl ZmluZSBfX3N0dWIgbWFjcm9zIGFuZCBob3BlZnVsbHkgZmV3IHByb3RvdHlwZXMsCnwgICAgIHdo aWNoIGNhbiBjb25mbGljdCB3aXRoIGNoYXIgQVNOMV9TVFJJTkdfZ2V0MF9kYXRhICgpOyBiZWxv dy4KfCAgICAgUHJlZmVyIDxsaW1pdHMuaD4gdG8gPGFzc2VydC5oPiBpZiBfX1NURENfXyBpcyBk ZWZpbmVkLCBzaW5jZQp8ICAgICA8bGltaXRzLmg+IGV4aXN0cyBldmVuIG9uIGZyZWVzdGFuZGlu ZyBjb21waWxlcnMuICAqLwp8IAp8ICNpZmRlZiBfX1NURENfXwp8ICMgaW5jbHVkZSA8bGltaXRz Lmg+CnwgI2Vsc2UKfCAjIGluY2x1ZGUgPGFzc2VydC5oPgp8ICNlbmRpZgp8IAp8ICN1bmRlZiBB U04xX1NUUklOR19nZXQwX2RhdGEKfCAKfCAvKiBPdmVycmlkZSBhbnkgR0NDIGludGVybmFsIHBy b3RvdHlwZSB0byBhdm9pZCBhbiBlcnJvci4KfCAgICBVc2UgY2hhciBiZWNhdXNlIGludCBtaWdo dCBtYXRjaCB0aGUgcmV0dXJuIHR5cGUgb2YgYSBHQ0MKfCAgICBidWlsdGluIGFuZCB0aGVuIGl0 cyBhcmd1bWVudCBwcm90b3R5cGUgd291bGQgc3RpbGwgYXBwbHkuICAqLwp8ICNpZmRlZiBfX2Nw bHVzcGx1cwp8IGV4dGVybiAiQyIKfCAjZW5kaWYKfCBjaGFyIEFTTjFfU1RSSU5HX2dldDBfZGF0 YSAoKTsKfCAvKiBUaGUgR05VIEMgbGlicmFyeSBkZWZpbmVzIHRoaXMgZm9yIGZ1bmN0aW9ucyB3 aGljaCBpdCBpbXBsZW1lbnRzCnwgICAgIHRvIGFsd2F5cyBmYWlsIHdpdGggRU5PU1lTLiAgU29t ZSBmdW5jdGlvbnMgYXJlIGFjdHVhbGx5IG5hbWVkCnwgICAgIHNvbWV0aGluZyBzdGFydGluZyB3 aXRoIF9fIGFuZCB0aGUgbm9ybWFsIG5hbWUgaXMgYW4gYWxpYXMuICAqLwp8ICNpZiBkZWZpbmVk IF9fc3R1Yl9BU04xX1NUUklOR19nZXQwX2RhdGEgfHwgZGVmaW5lZCBfX3N0dWJfX19BU04xX1NU UklOR19nZXQwX2RhdGEKfCBjaG9rZSBtZQp8ICNlbmRpZgp8IAp8IGludAp8IG1haW4gKCkKfCB7 CnwgcmV0dXJuIEFTTjFfU1RSSU5HX2dldDBfZGF0YSAoKTsKfCAgIDsKfCAgIHJldHVybiAwOwp8 IH0KY29uZmlndXJlOjExODY3OiByZXN1bHQ6IG5vCmNvbmZpZ3VyZToxMTg2NzogY2hlY2tpbmcg Zm9yIFJBTkRfT3BlblNTTApjb25maWd1cmU6MTE4Njc6IHg4Nl82NC13NjQtbWluZ3czMi1nY2Mg LW8gY29uZnRlc3QuZXhlIC1XYWxsIC1XbWlzc2luZy1wcm90b3R5cGVzIC1XcG9pbnRlci1hcml0 aCAtV2RlY2xhcmF0aW9uLWFmdGVyLXN0YXRlbWVudCAtV2VuZGlmLWxhYmVscyAtV21pc3Npbmct Zm9ybWF0LWF0dHJpYnV0ZSAtV2Zvcm1hdC1zZWN1cml0eSAtZm5vLXN0cmljdC1hbGlhc2luZyAt ZndyYXB2IC1mZXhjZXNzLXByZWNpc2lvbj1zdGFuZGFyZCAtV25vLWZvcm1hdC10cnVuY2F0aW9u IC1Xbm8tc3RyaW5nb3AtdHJ1bmNhdGlvbiAtZyAtTyAtZm5vLW9taXQtZnJhbWUtcG9pbnRlciAg LUkvdy9SLTMuNS5fL3Bvc3RncmVzL3NyYy9pbmNsdWRlL3BvcnQvd2luMzIgLURFWEVDX0JBQ0tF TkQgIC1JL3cvemxpYi0xLjIuOC13aW4zMi14ODZfNjQvaW5jbHVkZSAtSS93L29wZW5zc2wtMS4w LjJlLXdpbjMyLXg4Nl82NC9pbmNsdWRlIC1JL3cvbGlieG1sMi0yLjkuMy13aW4zMi14ODZfNjQv aW5jbHVkZS9saWJ4bWwyIC1JL3cvbGlieHNsdC0xLjEuMjgtd2luMzIteDg2XzY0L2luY2x1ZGUg IC1XbCwtLWFsbG93LW11bHRpcGxlLWRlZmluaXRpb24gLVdsLC0tZGlzYWJsZS1hdXRvLWltcG9y dCAgLUwvdy96bGliLTEuMi44LXdpbjMyLXg4Nl82NC9saWIgLUwvdy9vcGVuc3NsLTEuMC4yZS13 aW4zMi14ODZfNjQvbGliIC1ML3cvbGlieG1sMi0yLjkuMy13aW4zMi14ODZfNjQvbGliIC1ML3cv bGlieHNsdC0xLjEuMjgtd2luMzIteDg2XzY0L2xpYiBjb25mdGVzdC5jIC1sc3NsIC1sY3J5cHRv IC1seiAtbHdzMl8zMiAtbG0gID4mNQpDOi9tc3lzNjQvbWluZ3c2NC9iaW4vLi4vbGliL2djYy94 ODZfNjQtdzY0LW1pbmd3MzIvOC4yLjAvLi4vLi4vLi4vLi4veDg2XzY0LXc2NC1taW5ndzMyL2Jp bi9sZC5leGU6IEM6XG1zeXM2NFx0bXBcY2NFa3lxbHEubzogaW4gZnVuY3Rpb24gYG1haW4nOg0K VzpcUi0zLjUuX1xwb3N0Z3Jlc1xidWlsZC9jb25mdGVzdC5jOjczOiB1bmRlZmluZWQgcmVmZXJl bmNlIHRvIGBSQU5EX09wZW5TU0wnDQpjb2xsZWN0Mi5leGU6IGVycm9yOiBsZCByZXR1cm5lZCAx IGV4aXQgc3RhdHVzCmNvbmZpZ3VyZToxMTg2NzogJD8gPSAxCmNvbmZpZ3VyZTogZmFpbGVkIHBy b2dyYW0gd2FzOgp8IC8qIGNvbmZkZWZzLmggKi8KfCAjZGVmaW5lIFBBQ0tBR0VfTkFNRSAiUG9z dGdyZVNRTCIKfCAjZGVmaW5lIFBBQ0tBR0VfVEFSTkFNRSAicG9zdGdyZXNxbCIKfCAjZGVmaW5l IFBBQ0tBR0VfVkVSU0lPTiAiMTFiZXRhMyIKfCAjZGVmaW5lIFBBQ0tBR0VfU1RSSU5HICJQb3N0 Z3JlU1FMIDExYmV0YTMiCnwgI2RlZmluZSBQQUNLQUdFX0JVR1JFUE9SVCAicGdzcWwtYnVnc0Bw b3N0Z3Jlc3FsLm9yZyIKfCAjZGVmaW5lIFBBQ0tBR0VfVVJMICIiCnwgI2RlZmluZSBQR19NQUpP UlZFUlNJT04gIjExIgp8ICNkZWZpbmUgUEdfVkVSU0lPTiAiMTFiZXRhMyIKfCAjZGVmaW5lIERF Rl9QR1BPUlQgNTQzMgp8ICNkZWZpbmUgREVGX1BHUE9SVF9TVFIgIjU0MzIiCnwgI2RlZmluZSBC TENLU1ogODE5Mgp8ICNkZWZpbmUgUkVMU0VHX1NJWkUgMTMxMDcyCnwgI2RlZmluZSBYTE9HX0JM Q0tTWiA4MTkyCnwgI2RlZmluZSBVU0VfQVNTRVJUX0NIRUNLSU5HIDEKfCAjZGVmaW5lIEVOQUJM RV9USFJFQURfU0FGRVRZIDEKfCAjZGVmaW5lIFVTRV9JQ1UgMQp8ICNkZWZpbmUgUEdfS1JCX1NS Vk5BTSAicG9zdGdyZXMiCnwgI2RlZmluZSBVU0VfT1BFTlNTTCAxCnwgI2RlZmluZSBVU0VfTElC WE1MIDEKfCAjZGVmaW5lIFVTRV9MSUJYU0xUIDEKfCAjZGVmaW5lIFNURENfSEVBREVSUyAxCnwg I2RlZmluZSBIQVZFX1NZU19UWVBFU19IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NUQVRfSCAxCnwg I2RlZmluZSBIQVZFX1NURExJQl9IIDEKfCAjZGVmaW5lIEhBVkVfU1RSSU5HX0ggMQp8ICNkZWZp bmUgSEFWRV9NRU1PUllfSCAxCnwgI2RlZmluZSBIQVZFX1NUUklOR1NfSCAxCnwgI2RlZmluZSBI QVZFX0lOVFRZUEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERJTlRfSCAxCnwgI2RlZmluZSBIQVZF X1VOSVNURF9IIDEKfCAjZGVmaW5lIEhBVkVfTElCTSAxCnwgI2RlZmluZSBIQVZFX0xJQlogMQp8 ICNkZWZpbmUgSEFWRV9TUElOTE9DS1MgMQp8ICNkZWZpbmUgSEFWRV9BVE9NSUNTIDEKfCAjZGVm aW5lIEhBVkVfU1NMX0dFVF9DVVJSRU5UX0NPTVBSRVNTSU9OIDEKfCAjZGVmaW5lIEhBVkVfWDUw OV9HRVRfU0lHTkFUVVJFX05JRCAxCnwgLyogZW5kIGNvbmZkZWZzLmguICAqLwp8IC8qIERlZmlu ZSBSQU5EX09wZW5TU0wgdG8gYW4gaW5ub2N1b3VzIHZhcmlhbnQsIGluIGNhc2UgPGxpbWl0cy5o PiBkZWNsYXJlcyBSQU5EX09wZW5TU0wuCnwgICAgRm9yIGV4YW1wbGUsIEhQLVVYIDExaSA8bGlt aXRzLmg+IGRlY2xhcmVzIGdldHRpbWVvZmRheS4gICovCnwgI2RlZmluZSBSQU5EX09wZW5TU0wg aW5ub2N1b3VzX1JBTkRfT3BlblNTTAp8IAp8IC8qIFN5c3RlbSBoZWFkZXIgdG8gZGVmaW5lIF9f c3R1YiBtYWNyb3MgYW5kIGhvcGVmdWxseSBmZXcgcHJvdG90eXBlcywKfCAgICAgd2hpY2ggY2Fu IGNvbmZsaWN0IHdpdGggY2hhciBSQU5EX09wZW5TU0wgKCk7IGJlbG93Lgp8ICAgICBQcmVmZXIg PGxpbWl0cy5oPiB0byA8YXNzZXJ0Lmg+IGlmIF9fU1REQ19fIGlzIGRlZmluZWQsIHNpbmNlCnwg ICAgIDxsaW1pdHMuaD4gZXhpc3RzIGV2ZW4gb24gZnJlZXN0YW5kaW5nIGNvbXBpbGVycy4gICov CnwgCnwgI2lmZGVmIF9fU1REQ19fCnwgIyBpbmNsdWRlIDxsaW1pdHMuaD4KfCAjZWxzZQp8ICMg aW5jbHVkZSA8YXNzZXJ0Lmg+CnwgI2VuZGlmCnwgCnwgI3VuZGVmIFJBTkRfT3BlblNTTAp8IAp8 IC8qIE92ZXJyaWRlIGFueSBHQ0MgaW50ZXJuYWwgcHJvdG90eXBlIHRvIGF2b2lkIGFuIGVycm9y Lgp8ICAgIFVzZSBjaGFyIGJlY2F1c2UgaW50IG1pZ2h0IG1hdGNoIHRoZSByZXR1cm4gdHlwZSBv ZiBhIEdDQwp8ICAgIGJ1aWx0aW4gYW5kIHRoZW4gaXRzIGFyZ3VtZW50IHByb3RvdHlwZSB3b3Vs ZCBzdGlsbCBhcHBseS4gICovCnwgI2lmZGVmIF9fY3BsdXNwbHVzCnwgZXh0ZXJuICJDIgp8ICNl bmRpZgp8IGNoYXIgUkFORF9PcGVuU1NMICgpOwp8IC8qIFRoZSBHTlUgQyBsaWJyYXJ5IGRlZmlu ZXMgdGhpcyBmb3IgZnVuY3Rpb25zIHdoaWNoIGl0IGltcGxlbWVudHMKfCAgICAgdG8gYWx3YXlz IGZhaWwgd2l0aCBFTk9TWVMuICBTb21lIGZ1bmN0aW9ucyBhcmUgYWN0dWFsbHkgbmFtZWQKfCAg ICAgc29tZXRoaW5nIHN0YXJ0aW5nIHdpdGggX18gYW5kIHRoZSBub3JtYWwgbmFtZSBpcyBhbiBh bGlhcy4gICovCnwgI2lmIGRlZmluZWQgX19zdHViX1JBTkRfT3BlblNTTCB8fCBkZWZpbmVkIF9f c3R1Yl9fX1JBTkRfT3BlblNTTAp8IGNob2tlIG1lCnwgI2VuZGlmCnwgCnwgaW50CnwgbWFpbiAo KQp8IHsKfCByZXR1cm4gUkFORF9PcGVuU1NMICgpOwp8ICAgOwp8ICAgcmV0dXJuIDA7CnwgfQpj b25maWd1cmU6MTE4Njc6IHJlc3VsdDogbm8KY29uZmlndXJlOjExODgxOiBjaGVja2luZyBmb3Ig Q1JZUFRPX2xvY2sKY29uZmlndXJlOjExODgxOiB4ODZfNjQtdzY0LW1pbmd3MzItZ2NjIC1vIGNv bmZ0ZXN0LmV4ZSAtV2FsbCAtV21pc3NpbmctcHJvdG90eXBlcyAtV3BvaW50ZXItYXJpdGggLVdk ZWNsYXJhdGlvbi1hZnRlci1zdGF0ZW1lbnQgLVdlbmRpZi1sYWJlbHMgLVdtaXNzaW5nLWZvcm1h dC1hdHRyaWJ1dGUgLVdmb3JtYXQtc2VjdXJpdHkgLWZuby1zdHJpY3QtYWxpYXNpbmcgLWZ3cmFw diAtZmV4Y2Vzcy1wcmVjaXNpb249c3RhbmRhcmQgLVduby1mb3JtYXQtdHJ1bmNhdGlvbiAtV25v LXN0cmluZ29wLXRydW5jYXRpb24gLWcgLU8gLWZuby1vbWl0LWZyYW1lLXBvaW50ZXIgIC1JL3cv Ui0zLjUuXy9wb3N0Z3Jlcy9zcmMvaW5jbHVkZS9wb3J0L3dpbjMyIC1ERVhFQ19CQUNLRU5EICAt SS93L3psaWItMS4yLjgtd2luMzIteDg2XzY0L2luY2x1ZGUgLUkvdy9vcGVuc3NsLTEuMC4yZS13 aW4zMi14ODZfNjQvaW5jbHVkZSAtSS93L2xpYnhtbDItMi45LjMtd2luMzIteDg2XzY0L2luY2x1 ZGUvbGlieG1sMiAtSS93L2xpYnhzbHQtMS4xLjI4LXdpbjMyLXg4Nl82NC9pbmNsdWRlICAtV2ws LS1hbGxvdy1tdWx0aXBsZS1kZWZpbml0aW9uIC1XbCwtLWRpc2FibGUtYXV0by1pbXBvcnQgIC1M L3cvemxpYi0xLjIuOC13aW4zMi14ODZfNjQvbGliIC1ML3cvb3BlbnNzbC0xLjAuMmUtd2luMzIt eDg2XzY0L2xpYiAtTC93L2xpYnhtbDItMi45LjMtd2luMzIteDg2XzY0L2xpYiAtTC93L2xpYnhz bHQtMS4xLjI4LXdpbjMyLXg4Nl82NC9saWIgY29uZnRlc3QuYyAtbHNzbCAtbGNyeXB0byAtbHog LWx3czJfMzIgLWxtICA+JjUKY29uZmlndXJlOjExODgxOiAkPyA9IDAKY29uZmlndXJlOjExODgx OiByZXN1bHQ6IHllcwpjb25maWd1cmU6MTE5NDM6IGNoZWNraW5nIGZvciB4bWxTYXZlVG9CdWZm ZXIgaW4gLWx4bWwyCmNvbmZpZ3VyZToxMTk2ODogeDg2XzY0LXc2NC1taW5ndzMyLWdjYyAtbyBj b25mdGVzdC5leGUgLVdhbGwgLVdtaXNzaW5nLXByb3RvdHlwZXMgLVdwb2ludGVyLWFyaXRoIC1X ZGVjbGFyYXRpb24tYWZ0ZXItc3RhdGVtZW50IC1XZW5kaWYtbGFiZWxzIC1XbWlzc2luZy1mb3Jt YXQtYXR0cmlidXRlIC1XZm9ybWF0LXNlY3VyaXR5IC1mbm8tc3RyaWN0LWFsaWFzaW5nIC1md3Jh cHYgLWZleGNlc3MtcHJlY2lzaW9uPXN0YW5kYXJkIC1Xbm8tZm9ybWF0LXRydW5jYXRpb24gLVdu by1zdHJpbmdvcC10cnVuY2F0aW9uIC1nIC1PIC1mbm8tb21pdC1mcmFtZS1wb2ludGVyICAtSS93 L1ItMy41Ll8vcG9zdGdyZXMvc3JjL2luY2x1ZGUvcG9ydC93aW4zMiAtREVYRUNfQkFDS0VORCAg LUkvdy96bGliLTEuMi44LXdpbjMyLXg4Nl82NC9pbmNsdWRlIC1JL3cvb3BlbnNzbC0xLjAuMmUt d2luMzIteDg2XzY0L2luY2x1ZGUgLUkvdy9saWJ4bWwyLTIuOS4zLXdpbjMyLXg4Nl82NC9pbmNs dWRlL2xpYnhtbDIgLUkvdy9saWJ4c2x0LTEuMS4yOC13aW4zMi14ODZfNjQvaW5jbHVkZSAgLVds LC0tYWxsb3ctbXVsdGlwbGUtZGVmaW5pdGlvbiAtV2wsLS1kaXNhYmxlLWF1dG8taW1wb3J0ICAt TC93L3psaWItMS4yLjgtd2luMzIteDg2XzY0L2xpYiAtTC93L29wZW5zc2wtMS4wLjJlLXdpbjMy LXg4Nl82NC9saWIgLUwvdy9saWJ4bWwyLTIuOS4zLXdpbjMyLXg4Nl82NC9saWIgLUwvdy9saWJ4 c2x0LTEuMS4yOC13aW4zMi14ODZfNjQvbGliIGNvbmZ0ZXN0LmMgLWx4bWwyICAtbHNzbCAtbGNy eXB0byAtbHogLWx3czJfMzIgLWxtICA+JjUKY29uZmlndXJlOjExOTY4OiAkPyA9IDAKY29uZmln dXJlOjExOTc3OiByZXN1bHQ6IHllcwpjb25maWd1cmU6MTE5OTM6IGNoZWNraW5nIGZvciB4c2x0 Q2xlYW51cEdsb2JhbHMgaW4gLWx4c2x0CmNvbmZpZ3VyZToxMjAxODogeDg2XzY0LXc2NC1taW5n dzMyLWdjYyAtbyBjb25mdGVzdC5leGUgLVdhbGwgLVdtaXNzaW5nLXByb3RvdHlwZXMgLVdwb2lu dGVyLWFyaXRoIC1XZGVjbGFyYXRpb24tYWZ0ZXItc3RhdGVtZW50IC1XZW5kaWYtbGFiZWxzIC1X bWlzc2luZy1mb3JtYXQtYXR0cmlidXRlIC1XZm9ybWF0LXNlY3VyaXR5IC1mbm8tc3RyaWN0LWFs aWFzaW5nIC1md3JhcHYgLWZleGNlc3MtcHJlY2lzaW9uPXN0YW5kYXJkIC1Xbm8tZm9ybWF0LXRy dW5jYXRpb24gLVduby1zdHJpbmdvcC10cnVuY2F0aW9uIC1nIC1PIC1mbm8tb21pdC1mcmFtZS1w b2ludGVyICAtSS93L1ItMy41Ll8vcG9zdGdyZXMvc3JjL2luY2x1ZGUvcG9ydC93aW4zMiAtREVY RUNfQkFDS0VORCAgLUkvdy96bGliLTEuMi44LXdpbjMyLXg4Nl82NC9pbmNsdWRlIC1JL3cvb3Bl bnNzbC0xLjAuMmUtd2luMzIteDg2XzY0L2luY2x1ZGUgLUkvdy9saWJ4bWwyLTIuOS4zLXdpbjMy LXg4Nl82NC9pbmNsdWRlL2xpYnhtbDIgLUkvdy9saWJ4c2x0LTEuMS4yOC13aW4zMi14ODZfNjQv aW5jbHVkZSAgLVdsLC0tYWxsb3ctbXVsdGlwbGUtZGVmaW5pdGlvbiAtV2wsLS1kaXNhYmxlLWF1 dG8taW1wb3J0ICAtTC93L3psaWItMS4yLjgtd2luMzIteDg2XzY0L2xpYiAtTC93L29wZW5zc2wt MS4wLjJlLXdpbjMyLXg4Nl82NC9saWIgLUwvdy9saWJ4bWwyLTIuOS4zLXdpbjMyLXg4Nl82NC9s aWIgLUwvdy9saWJ4c2x0LTEuMS4yOC13aW4zMi14ODZfNjQvbGliIGNvbmZ0ZXN0LmMgLWx4c2x0 ICAtbHhtbDIgLWxzc2wgLWxjcnlwdG8gLWx6IC1sd3MyXzMyIC1sbSAgPiY1CmNvbmZpZ3VyZTox MjAxODogJD8gPSAwCmNvbmZpZ3VyZToxMjAyNzogcmVzdWx0OiB5ZXMKY29uZmlndXJlOjEyNDE3 OiBjaGVja2luZyBmb3Igc3RkYm9vbC5oIHRoYXQgY29uZm9ybXMgdG8gQzk5CmNvbmZpZ3VyZTox MjQ4NDogeDg2XzY0LXc2NC1taW5ndzMyLWdjYyAtYyAtV2FsbCAtV21pc3NpbmctcHJvdG90eXBl cyAtV3BvaW50ZXItYXJpdGggLVdkZWNsYXJhdGlvbi1hZnRlci1zdGF0ZW1lbnQgLVdlbmRpZi1s YWJlbHMgLVdtaXNzaW5nLWZvcm1hdC1hdHRyaWJ1dGUgLVdmb3JtYXQtc2VjdXJpdHkgLWZuby1z dHJpY3QtYWxpYXNpbmcgLWZ3cmFwdiAtZmV4Y2Vzcy1wcmVjaXNpb249c3RhbmRhcmQgLVduby1m b3JtYXQtdHJ1bmNhdGlvbiAtV25vLXN0cmluZ29wLXRydW5jYXRpb24gLWcgLU8gLWZuby1vbWl0 LWZyYW1lLXBvaW50ZXIgIC1JL3cvUi0zLjUuXy9wb3N0Z3Jlcy9zcmMvaW5jbHVkZS9wb3J0L3dp bjMyIC1ERVhFQ19CQUNLRU5EICAtSS93L3psaWItMS4yLjgtd2luMzIteDg2XzY0L2luY2x1ZGUg LUkvdy9vcGVuc3NsLTEuMC4yZS13aW4zMi14ODZfNjQvaW5jbHVkZSAtSS93L2xpYnhtbDItMi45 LjMtd2luMzIteDg2XzY0L2luY2x1ZGUvbGlieG1sMiAtSS93L2xpYnhzbHQtMS4xLjI4LXdpbjMy LXg4Nl82NC9pbmNsdWRlIGNvbmZ0ZXN0LmMgPiY1CmNvbmZ0ZXN0LmM6IEluIGZ1bmN0aW9uICdt YWluJzoKY29uZnRlc3QuYzo5MToxNDogd2FybmluZzogdGhlIGFkZHJlc3Mgb2YgJ3MnIHdpbGwg YWx3YXlzIGV2YWx1YXRlIGFzICd0cnVlJyBbLVdhZGRyZXNzXQogICAgICAgICAgICAgIGJvb2wg ZSA9ICZzOwogICAgICAgICAgICAgIF5+fn4KY29uZnRlc3QuYzo5NToyMjogd2FybmluZzogdGhl IGFkZHJlc3Mgb2YgJ2EnIHdpbGwgYWx3YXlzIGV2YWx1YXRlIGFzICd0cnVlJyBbLVdhZGRyZXNz XQogICAgICAgICAgICAgIHJldHVybiAoIWEgKyAhYiArICFjICsgIWQgKyAhZSArICFmICsgIWcg KyAhaCArICFpICsgISFqICsgIWsgKyAhIWwKICAgICAgICAgICAgICAgICAgICAgIF4KY29uZnRl c3QuYzo5NToyNzogd2FybmluZzogdGhlIGFkZHJlc3Mgb2YgJ2InIHdpbGwgYWx3YXlzIGV2YWx1 YXRlIGFzICd0cnVlJyBbLVdhZGRyZXNzXQogICAgICAgICAgICAgIHJldHVybiAoIWEgKyAhYiAr ICFjICsgIWQgKyAhZSArICFmICsgIWcgKyAhaCArICFpICsgISFqICsgIWsgKyAhIWwKICAgICAg ICAgICAgICAgICAgICAgICAgICAgXgpjb25mdGVzdC5jOjk1OjMyOiB3YXJuaW5nOiB0aGUgYWRk cmVzcyBvZiAnYycgd2lsbCBhbHdheXMgZXZhbHVhdGUgYXMgJ3RydWUnIFstV2FkZHJlc3NdCiAg ICAgICAgICAgICAgcmV0dXJuICghYSArICFiICsgIWMgKyAhZCArICFlICsgIWYgKyAhZyArICFo ICsgIWkgKyAhIWogKyAhayArICEhbAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF4K Y29uZnRlc3QuYzo5NTozNzogd2FybmluZzogdGhlIGFkZHJlc3Mgb2YgJ2QnIHdpbGwgYWx3YXlz IGV2YWx1YXRlIGFzICd0cnVlJyBbLVdhZGRyZXNzXQogICAgICAgICAgICAgIHJldHVybiAoIWEg KyAhYiArICFjICsgIWQgKyAhZSArICFmICsgIWcgKyAhaCArICFpICsgISFqICsgIWsgKyAhIWwK ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF4KY29uZnRlc3QuYzo5NTo0Nzog d2FybmluZzogdGhlIGFkZHJlc3Mgb2YgJ2YnIHdpbGwgYWx3YXlzIGV2YWx1YXRlIGFzICd0cnVl JyBbLVdhZGRyZXNzXQogICAgICAgICAgICAgIHJldHVybiAoIWEgKyAhYiArICFjICsgIWQgKyAh ZSArICFmICsgIWcgKyAhaCArICFpICsgISFqICsgIWsgKyAhIWwKICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBeCmNvbmZ0ZXN0LmM6OTU6NTI6IHdhcm5pbmc6 IHRoZSBhZGRyZXNzIG9mICdnJyB3aWxsIGFsd2F5cyBldmFsdWF0ZSBhcyAndHJ1ZScgWy1XYWRk cmVzc10KICAgICAgICAgICAgICByZXR1cm4gKCFhICsgIWIgKyAhYyArICFkICsgIWUgKyAhZiAr ICFnICsgIWggKyAhaSArICEhaiArICFrICsgISFsCiAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICBeCmNvbmZ0ZXN0LmM6OTU6NTc6IHdhcm5pbmc6IHRo ZSBhZGRyZXNzIG9mICdoJyB3aWxsIGFsd2F5cyBldmFsdWF0ZSBhcyAndHJ1ZScgWy1XYWRkcmVz c10KICAgICAgICAgICAgICByZXR1cm4gKCFhICsgIWIgKyAhYyArICFkICsgIWUgKyAhZiArICFn ICsgIWggKyAhaSArICEhaiArICFrICsgISFsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIF4KY29uZnRlc3QuYzo5NTo2Mjogd2FybmluZzog dGhlIGFkZHJlc3Mgb2YgJ2knIHdpbGwgYWx3YXlzIGV2YWx1YXRlIGFzICd0cnVlJyBbLVdhZGRy ZXNzXQogICAgICAgICAgICAgIHJldHVybiAoIWEgKyAhYiArICFjICsgIWQgKyAhZSArICFmICsg IWcgKyAhaCArICFpICsgISFqICsgIWsgKyAhIWwKICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBeCmNvbmZ0ZXN0LmM6OTY6Mjk6IHdh cm5pbmc6IHRoZSBhZGRyZXNzIG9mICduJyB3aWxsIGFsd2F5cyBldmFsdWF0ZSBhcyAndHJ1ZScg Wy1XYWRkcmVzc10KICAgICAgICAgICAgICAgICAgICAgICAgICAgICBeCmNvbmZ0ZXN0LmM6OTY6 MzQ6IHdhcm5pbmc6IHRoZSBhZGRyZXNzIG9mICdvJyB3aWxsIGFsd2F5cyBldmFsdWF0ZSBhcyAn dHJ1ZScgWy1XYWRkcmVzc10KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF4KY29u ZnRlc3QuYzo5NjozOTogd2FybmluZzogdGhlIGFkZHJlc3Mgb2YgJ3AnIHdpbGwgYWx3YXlzIGV2 YWx1YXRlIGFzICd0cnVlJyBbLVdhZGRyZXNzXQogICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICBeCmNvbmZpZ3VyZToxMjQ4NDogJD8gPSAwCmNvbmZpZ3VyZToxMjQ5MTogcmVz dWx0OiB5ZXMKY29uZmlndXJlOjEyNDkzOiBjaGVja2luZyBmb3IgX0Jvb2wKY29uZmlndXJlOjEy NDkzOiB4ODZfNjQtdzY0LW1pbmd3MzItZ2NjIC1jIC1XYWxsIC1XbWlzc2luZy1wcm90b3R5cGVz IC1XcG9pbnRlci1hcml0aCAtV2RlY2xhcmF0aW9uLWFmdGVyLXN0YXRlbWVudCAtV2VuZGlmLWxh YmVscyAtV21pc3NpbmctZm9ybWF0LWF0dHJpYnV0ZSAtV2Zvcm1hdC1zZWN1cml0eSAtZm5vLXN0 cmljdC1hbGlhc2luZyAtZndyYXB2IC1mZXhjZXNzLXByZWNpc2lvbj1zdGFuZGFyZCAtV25vLWZv cm1hdC10cnVuY2F0aW9uIC1Xbm8tc3RyaW5nb3AtdHJ1bmNhdGlvbiAtZyAtTyAtZm5vLW9taXQt ZnJhbWUtcG9pbnRlciAgLUkvdy9SLTMuNS5fL3Bvc3RncmVzL3NyYy9pbmNsdWRlL3BvcnQvd2lu MzIgLURFWEVDX0JBQ0tFTkQgIC1JL3cvemxpYi0xLjIuOC13aW4zMi14ODZfNjQvaW5jbHVkZSAt SS93L29wZW5zc2wtMS4wLjJlLXdpbjMyLXg4Nl82NC9pbmNsdWRlIC1JL3cvbGlieG1sMi0yLjku My13aW4zMi14ODZfNjQvaW5jbHVkZS9saWJ4bWwyIC1JL3cvbGlieHNsdC0xLjEuMjgtd2luMzIt eDg2XzY0L2luY2x1ZGUgY29uZnRlc3QuYyA+JjUKY29uZmlndXJlOjEyNDkzOiAkPyA9IDAKY29u ZmlndXJlOjEyNDkzOiB4ODZfNjQtdzY0LW1pbmd3MzItZ2NjIC1jIC1XYWxsIC1XbWlzc2luZy1w cm90b3R5cGVzIC1XcG9pbnRlci1hcml0aCAtV2RlY2xhcmF0aW9uLWFmdGVyLXN0YXRlbWVudCAt V2VuZGlmLWxhYmVscyAtV21pc3NpbmctZm9ybWF0LWF0dHJpYnV0ZSAtV2Zvcm1hdC1zZWN1cml0 eSAtZm5vLXN0cmljdC1hbGlhc2luZyAtZndyYXB2IC1mZXhjZXNzLXByZWNpc2lvbj1zdGFuZGFy ZCAtV25vLWZvcm1hdC10cnVuY2F0aW9uIC1Xbm8tc3RyaW5nb3AtdHJ1bmNhdGlvbiAtZyAtTyAt Zm5vLW9taXQtZnJhbWUtcG9pbnRlciAgLUkvdy9SLTMuNS5fL3Bvc3RncmVzL3NyYy9pbmNsdWRl L3BvcnQvd2luMzIgLURFWEVDX0JBQ0tFTkQgIC1JL3cvemxpYi0xLjIuOC13aW4zMi14ODZfNjQv aW5jbHVkZSAtSS93L29wZW5zc2wtMS4wLjJlLXdpbjMyLXg4Nl82NC9pbmNsdWRlIC1JL3cvbGli eG1sMi0yLjkuMy13aW4zMi14ODZfNjQvaW5jbHVkZS9saWJ4bWwyIC1JL3cvbGlieHNsdC0xLjEu Mjgtd2luMzIteDg2XzY0L2luY2x1ZGUgY29uZnRlc3QuYyA+JjUKY29uZnRlc3QuYzogSW4gZnVu Y3Rpb24gJ21haW4nOgpjb25mdGVzdC5jOjc4OjIwOiBlcnJvcjogZXhwZWN0ZWQgZXhwcmVzc2lv biBiZWZvcmUgJyknIHRva2VuCiBpZiAoc2l6ZW9mICgoX0Jvb2wpKSkKICAgICAgICAgICAgICAg ICAgICBeCmNvbmZpZ3VyZToxMjQ5MzogJD8gPSAxCmNvbmZpZ3VyZTogZmFpbGVkIHByb2dyYW0g d2FzOgp8IC8qIGNvbmZkZWZzLmggKi8KfCAjZGVmaW5lIFBBQ0tBR0VfTkFNRSAiUG9zdGdyZVNR TCIKfCAjZGVmaW5lIFBBQ0tBR0VfVEFSTkFNRSAicG9zdGdyZXNxbCIKfCAjZGVmaW5lIFBBQ0tB R0VfVkVSU0lPTiAiMTFiZXRhMyIKfCAjZGVmaW5lIFBBQ0tBR0VfU1RSSU5HICJQb3N0Z3JlU1FM IDExYmV0YTMiCnwgI2RlZmluZSBQQUNLQUdFX0JVR1JFUE9SVCAicGdzcWwtYnVnc0Bwb3N0Z3Jl c3FsLm9yZyIKfCAjZGVmaW5lIFBBQ0tBR0VfVVJMICIiCnwgI2RlZmluZSBQR19NQUpPUlZFUlNJ T04gIjExIgp8ICNkZWZpbmUgUEdfVkVSU0lPTiAiMTFiZXRhMyIKfCAjZGVmaW5lIERFRl9QR1BP UlQgNTQzMgp8ICNkZWZpbmUgREVGX1BHUE9SVF9TVFIgIjU0MzIiCnwgI2RlZmluZSBCTENLU1og ODE5Mgp8ICNkZWZpbmUgUkVMU0VHX1NJWkUgMTMxMDcyCnwgI2RlZmluZSBYTE9HX0JMQ0tTWiA4 MTkyCnwgI2RlZmluZSBVU0VfQVNTRVJUX0NIRUNLSU5HIDEKfCAjZGVmaW5lIEVOQUJMRV9USFJF QURfU0FGRVRZIDEKfCAjZGVmaW5lIFVTRV9JQ1UgMQp8ICNkZWZpbmUgUEdfS1JCX1NSVk5BTSAi cG9zdGdyZXMiCnwgI2RlZmluZSBVU0VfT1BFTlNTTCAxCnwgI2RlZmluZSBVU0VfTElCWE1MIDEK fCAjZGVmaW5lIFVTRV9MSUJYU0xUIDEKfCAjZGVmaW5lIFNURENfSEVBREVSUyAxCnwgI2RlZmlu ZSBIQVZFX1NZU19UWVBFU19IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NUQVRfSCAxCnwgI2RlZmlu ZSBIQVZFX1NURExJQl9IIDEKfCAjZGVmaW5lIEhBVkVfU1RSSU5HX0ggMQp8ICNkZWZpbmUgSEFW RV9NRU1PUllfSCAxCnwgI2RlZmluZSBIQVZFX1NUUklOR1NfSCAxCnwgI2RlZmluZSBIQVZFX0lO VFRZUEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERJTlRfSCAxCnwgI2RlZmluZSBIQVZFX1VOSVNU RF9IIDEKfCAjZGVmaW5lIEhBVkVfTElCTSAxCnwgI2RlZmluZSBIQVZFX0xJQlogMQp8ICNkZWZp bmUgSEFWRV9TUElOTE9DS1MgMQp8ICNkZWZpbmUgSEFWRV9BVE9NSUNTIDEKfCAjZGVmaW5lIEhB VkVfU1NMX0dFVF9DVVJSRU5UX0NPTVBSRVNTSU9OIDEKfCAjZGVmaW5lIEhBVkVfWDUwOV9HRVRf U0lHTkFUVVJFX05JRCAxCnwgI2RlZmluZSBIQVZFX0NSWVBUT19MT0NLIDEKfCAjZGVmaW5lIEhB VkVfTElCWE1MMiAxCnwgI2RlZmluZSBIQVZFX0xJQlhTTFQgMQp8IC8qIGVuZCBjb25mZGVmcy5o LiAgKi8KfCAjaW5jbHVkZSA8c3RkaW8uaD4KfCAjaWZkZWYgSEFWRV9TWVNfVFlQRVNfSAp8ICMg aW5jbHVkZSA8c3lzL3R5cGVzLmg+CnwgI2VuZGlmCnwgI2lmZGVmIEhBVkVfU1lTX1NUQVRfSAp8 ICMgaW5jbHVkZSA8c3lzL3N0YXQuaD4KfCAjZW5kaWYKfCAjaWZkZWYgU1REQ19IRUFERVJTCnwg IyBpbmNsdWRlIDxzdGRsaWIuaD4KfCAjIGluY2x1ZGUgPHN0ZGRlZi5oPgp8ICNlbHNlCnwgIyBp ZmRlZiBIQVZFX1NURExJQl9ICnwgIyAgaW5jbHVkZSA8c3RkbGliLmg+CnwgIyBlbmRpZgp8ICNl bmRpZgp8ICNpZmRlZiBIQVZFX1NUUklOR19ICnwgIyBpZiAhZGVmaW5lZCBTVERDX0hFQURFUlMg JiYgZGVmaW5lZCBIQVZFX01FTU9SWV9ICnwgIyAgaW5jbHVkZSA8bWVtb3J5Lmg+CnwgIyBlbmRp Zgp8ICMgaW5jbHVkZSA8c3RyaW5nLmg+CnwgI2VuZGlmCnwgI2lmZGVmIEhBVkVfU1RSSU5HU19I CnwgIyBpbmNsdWRlIDxzdHJpbmdzLmg+CnwgI2VuZGlmCnwgI2lmZGVmIEhBVkVfSU5UVFlQRVNf SAp8ICMgaW5jbHVkZSA8aW50dHlwZXMuaD4KfCAjZW5kaWYKfCAjaWZkZWYgSEFWRV9TVERJTlRf SAp8ICMgaW5jbHVkZSA8c3RkaW50Lmg+CnwgI2VuZGlmCnwgI2lmZGVmIEhBVkVfVU5JU1REX0gK fCAjIGluY2x1ZGUgPHVuaXN0ZC5oPgp8ICNlbmRpZgp8IGludAp8IG1haW4gKCkKfCB7CnwgaWYg KHNpemVvZiAoKF9Cb29sKSkpCnwgCSAgICByZXR1cm4gMDsKfCAgIDsKfCAgIHJldHVybiAwOwp8 IH0KY29uZmlndXJlOjEyNDkzOiByZXN1bHQ6IHllcwpjb25maWd1cmU6MTI1MTQ6IGNoZWNraW5n IGF0b21pYy5oIHVzYWJpbGl0eQpjb25maWd1cmU6MTI1MTQ6IHg4Nl82NC13NjQtbWluZ3czMi1n Y2MgLWMgLVdhbGwgLVdtaXNzaW5nLXByb3RvdHlwZXMgLVdwb2ludGVyLWFyaXRoIC1XZGVjbGFy YXRpb24tYWZ0ZXItc3RhdGVtZW50IC1XZW5kaWYtbGFiZWxzIC1XbWlzc2luZy1mb3JtYXQtYXR0 cmlidXRlIC1XZm9ybWF0LXNlY3VyaXR5IC1mbm8tc3RyaWN0LWFsaWFzaW5nIC1md3JhcHYgLWZl eGNlc3MtcHJlY2lzaW9uPXN0YW5kYXJkIC1Xbm8tZm9ybWF0LXRydW5jYXRpb24gLVduby1zdHJp bmdvcC10cnVuY2F0aW9uIC1nIC1PIC1mbm8tb21pdC1mcmFtZS1wb2ludGVyICAtSS93L1ItMy41 Ll8vcG9zdGdyZXMvc3JjL2luY2x1ZGUvcG9ydC93aW4zMiAtREVYRUNfQkFDS0VORCAgLUkvdy96 bGliLTEuMi44LXdpbjMyLXg4Nl82NC9pbmNsdWRlIC1JL3cvb3BlbnNzbC0xLjAuMmUtd2luMzIt eDg2XzY0L2luY2x1ZGUgLUkvdy9saWJ4bWwyLTIuOS4zLXdpbjMyLXg4Nl82NC9pbmNsdWRlL2xp YnhtbDIgLUkvdy9saWJ4c2x0LTEuMS4yOC13aW4zMi14ODZfNjQvaW5jbHVkZSBjb25mdGVzdC5j ID4mNQpjb25mdGVzdC5jOjc3OjEwOiBmYXRhbCBlcnJvcjogYXRvbWljLmg6IE5vIHN1Y2ggZmls ZSBvciBkaXJlY3RvcnkKICNpbmNsdWRlIDxhdG9taWMuaD4KICAgICAgICAgIF5+fn5+fn5+fn4K Y29tcGlsYXRpb24gdGVybWluYXRlZC4NCmNvbmZpZ3VyZToxMjUxNDogJD8gPSAxCmNvbmZpZ3Vy ZTogZmFpbGVkIHByb2dyYW0gd2FzOgp8IC8qIGNvbmZkZWZzLmggKi8KfCAjZGVmaW5lIFBBQ0tB R0VfTkFNRSAiUG9zdGdyZVNRTCIKfCAjZGVmaW5lIFBBQ0tBR0VfVEFSTkFNRSAicG9zdGdyZXNx bCIKfCAjZGVmaW5lIFBBQ0tBR0VfVkVSU0lPTiAiMTFiZXRhMyIKfCAjZGVmaW5lIFBBQ0tBR0Vf U1RSSU5HICJQb3N0Z3JlU1FMIDExYmV0YTMiCnwgI2RlZmluZSBQQUNLQUdFX0JVR1JFUE9SVCAi cGdzcWwtYnVnc0Bwb3N0Z3Jlc3FsLm9yZyIKfCAjZGVmaW5lIFBBQ0tBR0VfVVJMICIiCnwgI2Rl ZmluZSBQR19NQUpPUlZFUlNJT04gIjExIgp8ICNkZWZpbmUgUEdfVkVSU0lPTiAiMTFiZXRhMyIK fCAjZGVmaW5lIERFRl9QR1BPUlQgNTQzMgp8ICNkZWZpbmUgREVGX1BHUE9SVF9TVFIgIjU0MzIi CnwgI2RlZmluZSBCTENLU1ogODE5Mgp8ICNkZWZpbmUgUkVMU0VHX1NJWkUgMTMxMDcyCnwgI2Rl ZmluZSBYTE9HX0JMQ0tTWiA4MTkyCnwgI2RlZmluZSBVU0VfQVNTRVJUX0NIRUNLSU5HIDEKfCAj ZGVmaW5lIEVOQUJMRV9USFJFQURfU0FGRVRZIDEKfCAjZGVmaW5lIFVTRV9JQ1UgMQp8ICNkZWZp bmUgUEdfS1JCX1NSVk5BTSAicG9zdGdyZXMiCnwgI2RlZmluZSBVU0VfT1BFTlNTTCAxCnwgI2Rl ZmluZSBVU0VfTElCWE1MIDEKfCAjZGVmaW5lIFVTRV9MSUJYU0xUIDEKfCAjZGVmaW5lIFNURENf SEVBREVSUyAxCnwgI2RlZmluZSBIQVZFX1NZU19UWVBFU19IIDEKfCAjZGVmaW5lIEhBVkVfU1lT X1NUQVRfSCAxCnwgI2RlZmluZSBIQVZFX1NURExJQl9IIDEKfCAjZGVmaW5lIEhBVkVfU1RSSU5H X0ggMQp8ICNkZWZpbmUgSEFWRV9NRU1PUllfSCAxCnwgI2RlZmluZSBIQVZFX1NUUklOR1NfSCAx CnwgI2RlZmluZSBIQVZFX0lOVFRZUEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERJTlRfSCAxCnwg I2RlZmluZSBIQVZFX1VOSVNURF9IIDEKfCAjZGVmaW5lIEhBVkVfTElCTSAxCnwgI2RlZmluZSBI QVZFX0xJQlogMQp8ICNkZWZpbmUgSEFWRV9TUElOTE9DS1MgMQp8ICNkZWZpbmUgSEFWRV9BVE9N SUNTIDEKfCAjZGVmaW5lIEhBVkVfU1NMX0dFVF9DVVJSRU5UX0NPTVBSRVNTSU9OIDEKfCAjZGVm aW5lIEhBVkVfWDUwOV9HRVRfU0lHTkFUVVJFX05JRCAxCnwgI2RlZmluZSBIQVZFX0NSWVBUT19M T0NLIDEKfCAjZGVmaW5lIEhBVkVfTElCWE1MMiAxCnwgI2RlZmluZSBIQVZFX0xJQlhTTFQgMQp8 ICNkZWZpbmUgSEFWRV9fQk9PTCAxCnwgI2RlZmluZSBIQVZFX1NUREJPT0xfSCAxCnwgLyogZW5k IGNvbmZkZWZzLmguICAqLwp8ICNpbmNsdWRlIDxzdGRpby5oPgp8ICNpZmRlZiBIQVZFX1NZU19U WVBFU19ICnwgIyBpbmNsdWRlIDxzeXMvdHlwZXMuaD4KfCAjZW5kaWYKfCAjaWZkZWYgSEFWRV9T WVNfU1RBVF9ICnwgIyBpbmNsdWRlIDxzeXMvc3RhdC5oPgp8ICNlbmRpZgp8ICNpZmRlZiBTVERD X0hFQURFUlMKfCAjIGluY2x1ZGUgPHN0ZGxpYi5oPgp8ICMgaW5jbHVkZSA8c3RkZGVmLmg+Cnwg I2Vsc2UKfCAjIGlmZGVmIEhBVkVfU1RETElCX0gKfCAjICBpbmNsdWRlIDxzdGRsaWIuaD4KfCAj IGVuZGlmCnwgI2VuZGlmCnwgI2lmZGVmIEhBVkVfU1RSSU5HX0gKfCAjIGlmICFkZWZpbmVkIFNU RENfSEVBREVSUyAmJiBkZWZpbmVkIEhBVkVfTUVNT1JZX0gKfCAjICBpbmNsdWRlIDxtZW1vcnku aD4KfCAjIGVuZGlmCnwgIyBpbmNsdWRlIDxzdHJpbmcuaD4KfCAjZW5kaWYKfCAjaWZkZWYgSEFW RV9TVFJJTkdTX0gKfCAjIGluY2x1ZGUgPHN0cmluZ3MuaD4KfCAjZW5kaWYKfCAjaWZkZWYgSEFW RV9JTlRUWVBFU19ICnwgIyBpbmNsdWRlIDxpbnR0eXBlcy5oPgp8ICNlbmRpZgp8ICNpZmRlZiBI QVZFX1NURElOVF9ICnwgIyBpbmNsdWRlIDxzdGRpbnQuaD4KfCAjZW5kaWYKfCAjaWZkZWYgSEFW RV9VTklTVERfSAp8ICMgaW5jbHVkZSA8dW5pc3RkLmg+CnwgI2VuZGlmCnwgI2luY2x1ZGUgPGF0 b21pYy5oPgpjb25maWd1cmU6MTI1MTQ6IHJlc3VsdDogbm8KY29uZmlndXJlOjEyNTE0OiBjaGVj a2luZyBhdG9taWMuaCBwcmVzZW5jZQpjb25maWd1cmU6MTI1MTQ6IHg4Nl82NC13NjQtbWluZ3cz Mi1nY2MgLUUgIC1JL3cvUi0zLjUuXy9wb3N0Z3Jlcy9zcmMvaW5jbHVkZS9wb3J0L3dpbjMyIC1E RVhFQ19CQUNLRU5EICAtSS93L3psaWItMS4yLjgtd2luMzIteDg2XzY0L2luY2x1ZGUgLUkvdy9v cGVuc3NsLTEuMC4yZS13aW4zMi14ODZfNjQvaW5jbHVkZSAtSS93L2xpYnhtbDItMi45LjMtd2lu MzIteDg2XzY0L2luY2x1ZGUvbGlieG1sMiAtSS93L2xpYnhzbHQtMS4xLjI4LXdpbjMyLXg4Nl82 NC9pbmNsdWRlIGNvbmZ0ZXN0LmMKY29uZnRlc3QuYzo0NDoxMDogZmF0YWwgZXJyb3I6IGF0b21p Yy5oOiBObyBzdWNoIGZpbGUgb3IgZGlyZWN0b3J5CiAjaW5jbHVkZSA8YXRvbWljLmg+CiAgICAg ICAgICBefn5+fn5+fn5+CmNvbXBpbGF0aW9uIHRlcm1pbmF0ZWQuDQpjb25maWd1cmU6MTI1MTQ6 ICQ/ID0gMQpjb25maWd1cmU6IGZhaWxlZCBwcm9ncmFtIHdhczoKfCAvKiBjb25mZGVmcy5oICov CnwgI2RlZmluZSBQQUNLQUdFX05BTUUgIlBvc3RncmVTUUwiCnwgI2RlZmluZSBQQUNLQUdFX1RB Uk5BTUUgInBvc3RncmVzcWwiCnwgI2RlZmluZSBQQUNLQUdFX1ZFUlNJT04gIjExYmV0YTMiCnwg I2RlZmluZSBQQUNLQUdFX1NUUklORyAiUG9zdGdyZVNRTCAxMWJldGEzIgp8ICNkZWZpbmUgUEFD S0FHRV9CVUdSRVBPUlQgInBnc3FsLWJ1Z3NAcG9zdGdyZXNxbC5vcmciCnwgI2RlZmluZSBQQUNL QUdFX1VSTCAiIgp8ICNkZWZpbmUgUEdfTUFKT1JWRVJTSU9OICIxMSIKfCAjZGVmaW5lIFBHX1ZF UlNJT04gIjExYmV0YTMiCnwgI2RlZmluZSBERUZfUEdQT1JUIDU0MzIKfCAjZGVmaW5lIERFRl9Q R1BPUlRfU1RSICI1NDMyIgp8ICNkZWZpbmUgQkxDS1NaIDgxOTIKfCAjZGVmaW5lIFJFTFNFR19T SVpFIDEzMTA3Mgp8ICNkZWZpbmUgWExPR19CTENLU1ogODE5Mgp8ICNkZWZpbmUgVVNFX0FTU0VS VF9DSEVDS0lORyAxCnwgI2RlZmluZSBFTkFCTEVfVEhSRUFEX1NBRkVUWSAxCnwgI2RlZmluZSBV U0VfSUNVIDEKfCAjZGVmaW5lIFBHX0tSQl9TUlZOQU0gInBvc3RncmVzIgp8ICNkZWZpbmUgVVNF X09QRU5TU0wgMQp8ICNkZWZpbmUgVVNFX0xJQlhNTCAxCnwgI2RlZmluZSBVU0VfTElCWFNMVCAx CnwgI2RlZmluZSBTVERDX0hFQURFUlMgMQp8ICNkZWZpbmUgSEFWRV9TWVNfVFlQRVNfSCAxCnwg I2RlZmluZSBIQVZFX1NZU19TVEFUX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERMSUJfSCAxCnwgI2Rl ZmluZSBIQVZFX1NUUklOR19IIDEKfCAjZGVmaW5lIEhBVkVfTUVNT1JZX0ggMQp8ICNkZWZpbmUg SEFWRV9TVFJJTkdTX0ggMQp8ICNkZWZpbmUgSEFWRV9JTlRUWVBFU19IIDEKfCAjZGVmaW5lIEhB VkVfU1RESU5UX0ggMQp8ICNkZWZpbmUgSEFWRV9VTklTVERfSCAxCnwgI2RlZmluZSBIQVZFX0xJ Qk0gMQp8ICNkZWZpbmUgSEFWRV9MSUJaIDEKfCAjZGVmaW5lIEhBVkVfU1BJTkxPQ0tTIDEKfCAj ZGVmaW5lIEhBVkVfQVRPTUlDUyAxCnwgI2RlZmluZSBIQVZFX1NTTF9HRVRfQ1VSUkVOVF9DT01Q UkVTU0lPTiAxCnwgI2RlZmluZSBIQVZFX1g1MDlfR0VUX1NJR05BVFVSRV9OSUQgMQp8ICNkZWZp bmUgSEFWRV9DUllQVE9fTE9DSyAxCnwgI2RlZmluZSBIQVZFX0xJQlhNTDIgMQp8ICNkZWZpbmUg SEFWRV9MSUJYU0xUIDEKfCAjZGVmaW5lIEhBVkVfX0JPT0wgMQp8ICNkZWZpbmUgSEFWRV9TVERC T09MX0ggMQp8IC8qIGVuZCBjb25mZGVmcy5oLiAgKi8KfCAjaW5jbHVkZSA8YXRvbWljLmg+CmNv bmZpZ3VyZToxMjUxNDogcmVzdWx0OiBubwpjb25maWd1cmU6MTI1MTQ6IGNoZWNraW5nIGZvciBh dG9taWMuaApjb25maWd1cmU6MTI1MTQ6IHJlc3VsdDogbm8KY29uZmlndXJlOjEyNTE0OiBjaGVj a2luZyBjcnlwdC5oIHVzYWJpbGl0eQpjb25maWd1cmU6MTI1MTQ6IHg4Nl82NC13NjQtbWluZ3cz Mi1nY2MgLWMgLVdhbGwgLVdtaXNzaW5nLXByb3RvdHlwZXMgLVdwb2ludGVyLWFyaXRoIC1XZGVj bGFyYXRpb24tYWZ0ZXItc3RhdGVtZW50IC1XZW5kaWYtbGFiZWxzIC1XbWlzc2luZy1mb3JtYXQt YXR0cmlidXRlIC1XZm9ybWF0LXNlY3VyaXR5IC1mbm8tc3RyaWN0LWFsaWFzaW5nIC1md3JhcHYg LWZleGNlc3MtcHJlY2lzaW9uPXN0YW5kYXJkIC1Xbm8tZm9ybWF0LXRydW5jYXRpb24gLVduby1z dHJpbmdvcC10cnVuY2F0aW9uIC1nIC1PIC1mbm8tb21pdC1mcmFtZS1wb2ludGVyICAtSS93L1It My41Ll8vcG9zdGdyZXMvc3JjL2luY2x1ZGUvcG9ydC93aW4zMiAtREVYRUNfQkFDS0VORCAgLUkv dy96bGliLTEuMi44LXdpbjMyLXg4Nl82NC9pbmNsdWRlIC1JL3cvb3BlbnNzbC0xLjAuMmUtd2lu MzIteDg2XzY0L2luY2x1ZGUgLUkvdy9saWJ4bWwyLTIuOS4zLXdpbjMyLXg4Nl82NC9pbmNsdWRl L2xpYnhtbDIgLUkvdy9saWJ4c2x0LTEuMS4yOC13aW4zMi14ODZfNjQvaW5jbHVkZSBjb25mdGVz dC5jID4mNQpjb25mdGVzdC5jOjc3OjEwOiBmYXRhbCBlcnJvcjogY3J5cHQuaDogTm8gc3VjaCBm aWxlIG9yIGRpcmVjdG9yeQogI2luY2x1ZGUgPGNyeXB0Lmg+CiAgICAgICAgICBefn5+fn5+fn4K Y29tcGlsYXRpb24gdGVybWluYXRlZC4NCmNvbmZpZ3VyZToxMjUxNDogJD8gPSAxCmNvbmZpZ3Vy ZTogZmFpbGVkIHByb2dyYW0gd2FzOgp8IC8qIGNvbmZkZWZzLmggKi8KfCAjZGVmaW5lIFBBQ0tB R0VfTkFNRSAiUG9zdGdyZVNRTCIKfCAjZGVmaW5lIFBBQ0tBR0VfVEFSTkFNRSAicG9zdGdyZXNx bCIKfCAjZGVmaW5lIFBBQ0tBR0VfVkVSU0lPTiAiMTFiZXRhMyIKfCAjZGVmaW5lIFBBQ0tBR0Vf U1RSSU5HICJQb3N0Z3JlU1FMIDExYmV0YTMiCnwgI2RlZmluZSBQQUNLQUdFX0JVR1JFUE9SVCAi cGdzcWwtYnVnc0Bwb3N0Z3Jlc3FsLm9yZyIKfCAjZGVmaW5lIFBBQ0tBR0VfVVJMICIiCnwgI2Rl ZmluZSBQR19NQUpPUlZFUlNJT04gIjExIgp8ICNkZWZpbmUgUEdfVkVSU0lPTiAiMTFiZXRhMyIK fCAjZGVmaW5lIERFRl9QR1BPUlQgNTQzMgp8ICNkZWZpbmUgREVGX1BHUE9SVF9TVFIgIjU0MzIi CnwgI2RlZmluZSBCTENLU1ogODE5Mgp8ICNkZWZpbmUgUkVMU0VHX1NJWkUgMTMxMDcyCnwgI2Rl ZmluZSBYTE9HX0JMQ0tTWiA4MTkyCnwgI2RlZmluZSBVU0VfQVNTRVJUX0NIRUNLSU5HIDEKfCAj ZGVmaW5lIEVOQUJMRV9USFJFQURfU0FGRVRZIDEKfCAjZGVmaW5lIFVTRV9JQ1UgMQp8ICNkZWZp bmUgUEdfS1JCX1NSVk5BTSAicG9zdGdyZXMiCnwgI2RlZmluZSBVU0VfT1BFTlNTTCAxCnwgI2Rl ZmluZSBVU0VfTElCWE1MIDEKfCAjZGVmaW5lIFVTRV9MSUJYU0xUIDEKfCAjZGVmaW5lIFNURENf SEVBREVSUyAxCnwgI2RlZmluZSBIQVZFX1NZU19UWVBFU19IIDEKfCAjZGVmaW5lIEhBVkVfU1lT X1NUQVRfSCAxCnwgI2RlZmluZSBIQVZFX1NURExJQl9IIDEKfCAjZGVmaW5lIEhBVkVfU1RSSU5H X0ggMQp8ICNkZWZpbmUgSEFWRV9NRU1PUllfSCAxCnwgI2RlZmluZSBIQVZFX1NUUklOR1NfSCAx CnwgI2RlZmluZSBIQVZFX0lOVFRZUEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERJTlRfSCAxCnwg I2RlZmluZSBIQVZFX1VOSVNURF9IIDEKfCAjZGVmaW5lIEhBVkVfTElCTSAxCnwgI2RlZmluZSBI QVZFX0xJQlogMQp8ICNkZWZpbmUgSEFWRV9TUElOTE9DS1MgMQp8ICNkZWZpbmUgSEFWRV9BVE9N SUNTIDEKfCAjZGVmaW5lIEhBVkVfU1NMX0dFVF9DVVJSRU5UX0NPTVBSRVNTSU9OIDEKfCAjZGVm aW5lIEhBVkVfWDUwOV9HRVRfU0lHTkFUVVJFX05JRCAxCnwgI2RlZmluZSBIQVZFX0NSWVBUT19M T0NLIDEKfCAjZGVmaW5lIEhBVkVfTElCWE1MMiAxCnwgI2RlZmluZSBIQVZFX0xJQlhTTFQgMQp8 ICNkZWZpbmUgSEFWRV9fQk9PTCAxCnwgI2RlZmluZSBIQVZFX1NUREJPT0xfSCAxCnwgLyogZW5k IGNvbmZkZWZzLmguICAqLwp8ICNpbmNsdWRlIDxzdGRpby5oPgp8ICNpZmRlZiBIQVZFX1NZU19U WVBFU19ICnwgIyBpbmNsdWRlIDxzeXMvdHlwZXMuaD4KfCAjZW5kaWYKfCAjaWZkZWYgSEFWRV9T WVNfU1RBVF9ICnwgIyBpbmNsdWRlIDxzeXMvc3RhdC5oPgp8ICNlbmRpZgp8ICNpZmRlZiBTVERD X0hFQURFUlMKfCAjIGluY2x1ZGUgPHN0ZGxpYi5oPgp8ICMgaW5jbHVkZSA8c3RkZGVmLmg+Cnwg I2Vsc2UKfCAjIGlmZGVmIEhBVkVfU1RETElCX0gKfCAjICBpbmNsdWRlIDxzdGRsaWIuaD4KfCAj IGVuZGlmCnwgI2VuZGlmCnwgI2lmZGVmIEhBVkVfU1RSSU5HX0gKfCAjIGlmICFkZWZpbmVkIFNU RENfSEVBREVSUyAmJiBkZWZpbmVkIEhBVkVfTUVNT1JZX0gKfCAjICBpbmNsdWRlIDxtZW1vcnku aD4KfCAjIGVuZGlmCnwgIyBpbmNsdWRlIDxzdHJpbmcuaD4KfCAjZW5kaWYKfCAjaWZkZWYgSEFW RV9TVFJJTkdTX0gKfCAjIGluY2x1ZGUgPHN0cmluZ3MuaD4KfCAjZW5kaWYKfCAjaWZkZWYgSEFW RV9JTlRUWVBFU19ICnwgIyBpbmNsdWRlIDxpbnR0eXBlcy5oPgp8ICNlbmRpZgp8ICNpZmRlZiBI QVZFX1NURElOVF9ICnwgIyBpbmNsdWRlIDxzdGRpbnQuaD4KfCAjZW5kaWYKfCAjaWZkZWYgSEFW RV9VTklTVERfSAp8ICMgaW5jbHVkZSA8dW5pc3RkLmg+CnwgI2VuZGlmCnwgI2luY2x1ZGUgPGNy eXB0Lmg+CmNvbmZpZ3VyZToxMjUxNDogcmVzdWx0OiBubwpjb25maWd1cmU6MTI1MTQ6IGNoZWNr aW5nIGNyeXB0LmggcHJlc2VuY2UKY29uZmlndXJlOjEyNTE0OiB4ODZfNjQtdzY0LW1pbmd3MzIt Z2NjIC1FICAtSS93L1ItMy41Ll8vcG9zdGdyZXMvc3JjL2luY2x1ZGUvcG9ydC93aW4zMiAtREVY RUNfQkFDS0VORCAgLUkvdy96bGliLTEuMi44LXdpbjMyLXg4Nl82NC9pbmNsdWRlIC1JL3cvb3Bl bnNzbC0xLjAuMmUtd2luMzIteDg2XzY0L2luY2x1ZGUgLUkvdy9saWJ4bWwyLTIuOS4zLXdpbjMy LXg4Nl82NC9pbmNsdWRlL2xpYnhtbDIgLUkvdy9saWJ4c2x0LTEuMS4yOC13aW4zMi14ODZfNjQv aW5jbHVkZSBjb25mdGVzdC5jCmNvbmZ0ZXN0LmM6NDQ6MTA6IGZhdGFsIGVycm9yOiBjcnlwdC5o OiBObyBzdWNoIGZpbGUgb3IgZGlyZWN0b3J5CiAjaW5jbHVkZSA8Y3J5cHQuaD4KICAgICAgICAg IF5+fn5+fn5+fgpjb21waWxhdGlvbiB0ZXJtaW5hdGVkLg0KY29uZmlndXJlOjEyNTE0OiAkPyA9 IDEKY29uZmlndXJlOiBmYWlsZWQgcHJvZ3JhbSB3YXM6CnwgLyogY29uZmRlZnMuaCAqLwp8ICNk ZWZpbmUgUEFDS0FHRV9OQU1FICJQb3N0Z3JlU1FMIgp8ICNkZWZpbmUgUEFDS0FHRV9UQVJOQU1F ICJwb3N0Z3Jlc3FsIgp8ICNkZWZpbmUgUEFDS0FHRV9WRVJTSU9OICIxMWJldGEzIgp8ICNkZWZp bmUgUEFDS0FHRV9TVFJJTkcgIlBvc3RncmVTUUwgMTFiZXRhMyIKfCAjZGVmaW5lIFBBQ0tBR0Vf QlVHUkVQT1JUICJwZ3NxbC1idWdzQHBvc3RncmVzcWwub3JnIgp8ICNkZWZpbmUgUEFDS0FHRV9V UkwgIiIKfCAjZGVmaW5lIFBHX01BSk9SVkVSU0lPTiAiMTEiCnwgI2RlZmluZSBQR19WRVJTSU9O ICIxMWJldGEzIgp8ICNkZWZpbmUgREVGX1BHUE9SVCA1NDMyCnwgI2RlZmluZSBERUZfUEdQT1JU X1NUUiAiNTQzMiIKfCAjZGVmaW5lIEJMQ0tTWiA4MTkyCnwgI2RlZmluZSBSRUxTRUdfU0laRSAx MzEwNzIKfCAjZGVmaW5lIFhMT0dfQkxDS1NaIDgxOTIKfCAjZGVmaW5lIFVTRV9BU1NFUlRfQ0hF Q0tJTkcgMQp8ICNkZWZpbmUgRU5BQkxFX1RIUkVBRF9TQUZFVFkgMQp8ICNkZWZpbmUgVVNFX0lD VSAxCnwgI2RlZmluZSBQR19LUkJfU1JWTkFNICJwb3N0Z3JlcyIKfCAjZGVmaW5lIFVTRV9PUEVO U1NMIDEKfCAjZGVmaW5lIFVTRV9MSUJYTUwgMQp8ICNkZWZpbmUgVVNFX0xJQlhTTFQgMQp8ICNk ZWZpbmUgU1REQ19IRUFERVJTIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1RZUEVTX0ggMQp8ICNkZWZp bmUgSEFWRV9TWVNfU1RBVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1RETElCX0ggMQp8ICNkZWZpbmUg SEFWRV9TVFJJTkdfSCAxCnwgI2RlZmluZSBIQVZFX01FTU9SWV9IIDEKfCAjZGVmaW5lIEhBVkVf U1RSSU5HU19IIDEKfCAjZGVmaW5lIEhBVkVfSU5UVFlQRVNfSCAxCnwgI2RlZmluZSBIQVZFX1NU RElOVF9IIDEKfCAjZGVmaW5lIEhBVkVfVU5JU1REX0ggMQp8ICNkZWZpbmUgSEFWRV9MSUJNIDEK fCAjZGVmaW5lIEhBVkVfTElCWiAxCnwgI2RlZmluZSBIQVZFX1NQSU5MT0NLUyAxCnwgI2RlZmlu ZSBIQVZFX0FUT01JQ1MgMQp8ICNkZWZpbmUgSEFWRV9TU0xfR0VUX0NVUlJFTlRfQ09NUFJFU1NJ T04gMQp8ICNkZWZpbmUgSEFWRV9YNTA5X0dFVF9TSUdOQVRVUkVfTklEIDEKfCAjZGVmaW5lIEhB VkVfQ1JZUFRPX0xPQ0sgMQp8ICNkZWZpbmUgSEFWRV9MSUJYTUwyIDEKfCAjZGVmaW5lIEhBVkVf TElCWFNMVCAxCnwgI2RlZmluZSBIQVZFX19CT09MIDEKfCAjZGVmaW5lIEhBVkVfU1REQk9PTF9I IDEKfCAvKiBlbmQgY29uZmRlZnMuaC4gICovCnwgI2luY2x1ZGUgPGNyeXB0Lmg+CmNvbmZpZ3Vy ZToxMjUxNDogcmVzdWx0OiBubwpjb25maWd1cmU6MTI1MTQ6IGNoZWNraW5nIGZvciBjcnlwdC5o CmNvbmZpZ3VyZToxMjUxNDogcmVzdWx0OiBubwpjb25maWd1cmU6MTI1MTQ6IGNoZWNraW5nIGRs ZC5oIHVzYWJpbGl0eQpjb25maWd1cmU6MTI1MTQ6IHg4Nl82NC13NjQtbWluZ3czMi1nY2MgLWMg LVdhbGwgLVdtaXNzaW5nLXByb3RvdHlwZXMgLVdwb2ludGVyLWFyaXRoIC1XZGVjbGFyYXRpb24t YWZ0ZXItc3RhdGVtZW50IC1XZW5kaWYtbGFiZWxzIC1XbWlzc2luZy1mb3JtYXQtYXR0cmlidXRl IC1XZm9ybWF0LXNlY3VyaXR5IC1mbm8tc3RyaWN0LWFsaWFzaW5nIC1md3JhcHYgLWZleGNlc3Mt cHJlY2lzaW9uPXN0YW5kYXJkIC1Xbm8tZm9ybWF0LXRydW5jYXRpb24gLVduby1zdHJpbmdvcC10 cnVuY2F0aW9uIC1nIC1PIC1mbm8tb21pdC1mcmFtZS1wb2ludGVyICAtSS93L1ItMy41Ll8vcG9z dGdyZXMvc3JjL2luY2x1ZGUvcG9ydC93aW4zMiAtREVYRUNfQkFDS0VORCAgLUkvdy96bGliLTEu Mi44LXdpbjMyLXg4Nl82NC9pbmNsdWRlIC1JL3cvb3BlbnNzbC0xLjAuMmUtd2luMzIteDg2XzY0 L2luY2x1ZGUgLUkvdy9saWJ4bWwyLTIuOS4zLXdpbjMyLXg4Nl82NC9pbmNsdWRlL2xpYnhtbDIg LUkvdy9saWJ4c2x0LTEuMS4yOC13aW4zMi14ODZfNjQvaW5jbHVkZSBjb25mdGVzdC5jID4mNQpj b25mdGVzdC5jOjc3OjEwOiBmYXRhbCBlcnJvcjogZGxkLmg6IE5vIHN1Y2ggZmlsZSBvciBkaXJl Y3RvcnkKICNpbmNsdWRlIDxkbGQuaD4KICAgICAgICAgIF5+fn5+fn4KY29tcGlsYXRpb24gdGVy bWluYXRlZC4NCmNvbmZpZ3VyZToxMjUxNDogJD8gPSAxCmNvbmZpZ3VyZTogZmFpbGVkIHByb2dy YW0gd2FzOgp8IC8qIGNvbmZkZWZzLmggKi8KfCAjZGVmaW5lIFBBQ0tBR0VfTkFNRSAiUG9zdGdy ZVNRTCIKfCAjZGVmaW5lIFBBQ0tBR0VfVEFSTkFNRSAicG9zdGdyZXNxbCIKfCAjZGVmaW5lIFBB Q0tBR0VfVkVSU0lPTiAiMTFiZXRhMyIKfCAjZGVmaW5lIFBBQ0tBR0VfU1RSSU5HICJQb3N0Z3Jl U1FMIDExYmV0YTMiCnwgI2RlZmluZSBQQUNLQUdFX0JVR1JFUE9SVCAicGdzcWwtYnVnc0Bwb3N0 Z3Jlc3FsLm9yZyIKfCAjZGVmaW5lIFBBQ0tBR0VfVVJMICIiCnwgI2RlZmluZSBQR19NQUpPUlZF UlNJT04gIjExIgp8ICNkZWZpbmUgUEdfVkVSU0lPTiAiMTFiZXRhMyIKfCAjZGVmaW5lIERFRl9Q R1BPUlQgNTQzMgp8ICNkZWZpbmUgREVGX1BHUE9SVF9TVFIgIjU0MzIiCnwgI2RlZmluZSBCTENL U1ogODE5Mgp8ICNkZWZpbmUgUkVMU0VHX1NJWkUgMTMxMDcyCnwgI2RlZmluZSBYTE9HX0JMQ0tT WiA4MTkyCnwgI2RlZmluZSBVU0VfQVNTRVJUX0NIRUNLSU5HIDEKfCAjZGVmaW5lIEVOQUJMRV9U SFJFQURfU0FGRVRZIDEKfCAjZGVmaW5lIFVTRV9JQ1UgMQp8ICNkZWZpbmUgUEdfS1JCX1NSVk5B TSAicG9zdGdyZXMiCnwgI2RlZmluZSBVU0VfT1BFTlNTTCAxCnwgI2RlZmluZSBVU0VfTElCWE1M IDEKfCAjZGVmaW5lIFVTRV9MSUJYU0xUIDEKfCAjZGVmaW5lIFNURENfSEVBREVSUyAxCnwgI2Rl ZmluZSBIQVZFX1NZU19UWVBFU19IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NUQVRfSCAxCnwgI2Rl ZmluZSBIQVZFX1NURExJQl9IIDEKfCAjZGVmaW5lIEhBVkVfU1RSSU5HX0ggMQp8ICNkZWZpbmUg SEFWRV9NRU1PUllfSCAxCnwgI2RlZmluZSBIQVZFX1NUUklOR1NfSCAxCnwgI2RlZmluZSBIQVZF X0lOVFRZUEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERJTlRfSCAxCnwgI2RlZmluZSBIQVZFX1VO SVNURF9IIDEKfCAjZGVmaW5lIEhBVkVfTElCTSAxCnwgI2RlZmluZSBIQVZFX0xJQlogMQp8ICNk ZWZpbmUgSEFWRV9TUElOTE9DS1MgMQp8ICNkZWZpbmUgSEFWRV9BVE9NSUNTIDEKfCAjZGVmaW5l IEhBVkVfU1NMX0dFVF9DVVJSRU5UX0NPTVBSRVNTSU9OIDEKfCAjZGVmaW5lIEhBVkVfWDUwOV9H RVRfU0lHTkFUVVJFX05JRCAxCnwgI2RlZmluZSBIQVZFX0NSWVBUT19MT0NLIDEKfCAjZGVmaW5l IEhBVkVfTElCWE1MMiAxCnwgI2RlZmluZSBIQVZFX0xJQlhTTFQgMQp8ICNkZWZpbmUgSEFWRV9f Qk9PTCAxCnwgI2RlZmluZSBIQVZFX1NUREJPT0xfSCAxCnwgLyogZW5kIGNvbmZkZWZzLmguICAq Lwp8ICNpbmNsdWRlIDxzdGRpby5oPgp8ICNpZmRlZiBIQVZFX1NZU19UWVBFU19ICnwgIyBpbmNs dWRlIDxzeXMvdHlwZXMuaD4KfCAjZW5kaWYKfCAjaWZkZWYgSEFWRV9TWVNfU1RBVF9ICnwgIyBp bmNsdWRlIDxzeXMvc3RhdC5oPgp8ICNlbmRpZgp8ICNpZmRlZiBTVERDX0hFQURFUlMKfCAjIGlu Y2x1ZGUgPHN0ZGxpYi5oPgp8ICMgaW5jbHVkZSA8c3RkZGVmLmg+CnwgI2Vsc2UKfCAjIGlmZGVm IEhBVkVfU1RETElCX0gKfCAjICBpbmNsdWRlIDxzdGRsaWIuaD4KfCAjIGVuZGlmCnwgI2VuZGlm CnwgI2lmZGVmIEhBVkVfU1RSSU5HX0gKfCAjIGlmICFkZWZpbmVkIFNURENfSEVBREVSUyAmJiBk ZWZpbmVkIEhBVkVfTUVNT1JZX0gKfCAjICBpbmNsdWRlIDxtZW1vcnkuaD4KfCAjIGVuZGlmCnwg IyBpbmNsdWRlIDxzdHJpbmcuaD4KfCAjZW5kaWYKfCAjaWZkZWYgSEFWRV9TVFJJTkdTX0gKfCAj IGluY2x1ZGUgPHN0cmluZ3MuaD4KfCAjZW5kaWYKfCAjaWZkZWYgSEFWRV9JTlRUWVBFU19ICnwg IyBpbmNsdWRlIDxpbnR0eXBlcy5oPgp8ICNlbmRpZgp8ICNpZmRlZiBIQVZFX1NURElOVF9ICnwg IyBpbmNsdWRlIDxzdGRpbnQuaD4KfCAjZW5kaWYKfCAjaWZkZWYgSEFWRV9VTklTVERfSAp8ICMg aW5jbHVkZSA8dW5pc3RkLmg+CnwgI2VuZGlmCnwgI2luY2x1ZGUgPGRsZC5oPgpjb25maWd1cmU6 MTI1MTQ6IHJlc3VsdDogbm8KY29uZmlndXJlOjEyNTE0OiBjaGVja2luZyBkbGQuaCBwcmVzZW5j ZQpjb25maWd1cmU6MTI1MTQ6IHg4Nl82NC13NjQtbWluZ3czMi1nY2MgLUUgIC1JL3cvUi0zLjUu Xy9wb3N0Z3Jlcy9zcmMvaW5jbHVkZS9wb3J0L3dpbjMyIC1ERVhFQ19CQUNLRU5EICAtSS93L3ps aWItMS4yLjgtd2luMzIteDg2XzY0L2luY2x1ZGUgLUkvdy9vcGVuc3NsLTEuMC4yZS13aW4zMi14 ODZfNjQvaW5jbHVkZSAtSS93L2xpYnhtbDItMi45LjMtd2luMzIteDg2XzY0L2luY2x1ZGUvbGli eG1sMiAtSS93L2xpYnhzbHQtMS4xLjI4LXdpbjMyLXg4Nl82NC9pbmNsdWRlIGNvbmZ0ZXN0LmMK Y29uZnRlc3QuYzo0NDoxMDogZmF0YWwgZXJyb3I6IGRsZC5oOiBObyBzdWNoIGZpbGUgb3IgZGly ZWN0b3J5CiAjaW5jbHVkZSA8ZGxkLmg+CiAgICAgICAgICBefn5+fn5+CmNvbXBpbGF0aW9uIHRl cm1pbmF0ZWQuDQpjb25maWd1cmU6MTI1MTQ6ICQ/ID0gMQpjb25maWd1cmU6IGZhaWxlZCBwcm9n cmFtIHdhczoKfCAvKiBjb25mZGVmcy5oICovCnwgI2RlZmluZSBQQUNLQUdFX05BTUUgIlBvc3Rn cmVTUUwiCnwgI2RlZmluZSBQQUNLQUdFX1RBUk5BTUUgInBvc3RncmVzcWwiCnwgI2RlZmluZSBQ QUNLQUdFX1ZFUlNJT04gIjExYmV0YTMiCnwgI2RlZmluZSBQQUNLQUdFX1NUUklORyAiUG9zdGdy ZVNRTCAxMWJldGEzIgp8ICNkZWZpbmUgUEFDS0FHRV9CVUdSRVBPUlQgInBnc3FsLWJ1Z3NAcG9z dGdyZXNxbC5vcmciCnwgI2RlZmluZSBQQUNLQUdFX1VSTCAiIgp8ICNkZWZpbmUgUEdfTUFKT1JW RVJTSU9OICIxMSIKfCAjZGVmaW5lIFBHX1ZFUlNJT04gIjExYmV0YTMiCnwgI2RlZmluZSBERUZf UEdQT1JUIDU0MzIKfCAjZGVmaW5lIERFRl9QR1BPUlRfU1RSICI1NDMyIgp8ICNkZWZpbmUgQkxD S1NaIDgxOTIKfCAjZGVmaW5lIFJFTFNFR19TSVpFIDEzMTA3Mgp8ICNkZWZpbmUgWExPR19CTENL U1ogODE5Mgp8ICNkZWZpbmUgVVNFX0FTU0VSVF9DSEVDS0lORyAxCnwgI2RlZmluZSBFTkFCTEVf VEhSRUFEX1NBRkVUWSAxCnwgI2RlZmluZSBVU0VfSUNVIDEKfCAjZGVmaW5lIFBHX0tSQl9TUlZO QU0gInBvc3RncmVzIgp8ICNkZWZpbmUgVVNFX09QRU5TU0wgMQp8ICNkZWZpbmUgVVNFX0xJQlhN TCAxCnwgI2RlZmluZSBVU0VfTElCWFNMVCAxCnwgI2RlZmluZSBTVERDX0hFQURFUlMgMQp8ICNk ZWZpbmUgSEFWRV9TWVNfVFlQRVNfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19TVEFUX0ggMQp8ICNk ZWZpbmUgSEFWRV9TVERMSUJfSCAxCnwgI2RlZmluZSBIQVZFX1NUUklOR19IIDEKfCAjZGVmaW5l IEhBVkVfTUVNT1JZX0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJJTkdTX0ggMQp8ICNkZWZpbmUgSEFW RV9JTlRUWVBFU19IIDEKfCAjZGVmaW5lIEhBVkVfU1RESU5UX0ggMQp8ICNkZWZpbmUgSEFWRV9V TklTVERfSCAxCnwgI2RlZmluZSBIQVZFX0xJQk0gMQp8ICNkZWZpbmUgSEFWRV9MSUJaIDEKfCAj ZGVmaW5lIEhBVkVfU1BJTkxPQ0tTIDEKfCAjZGVmaW5lIEhBVkVfQVRPTUlDUyAxCnwgI2RlZmlu ZSBIQVZFX1NTTF9HRVRfQ1VSUkVOVF9DT01QUkVTU0lPTiAxCnwgI2RlZmluZSBIQVZFX1g1MDlf R0VUX1NJR05BVFVSRV9OSUQgMQp8ICNkZWZpbmUgSEFWRV9DUllQVE9fTE9DSyAxCnwgI2RlZmlu ZSBIQVZFX0xJQlhNTDIgMQp8ICNkZWZpbmUgSEFWRV9MSUJYU0xUIDEKfCAjZGVmaW5lIEhBVkVf X0JPT0wgMQp8ICNkZWZpbmUgSEFWRV9TVERCT09MX0ggMQp8IC8qIGVuZCBjb25mZGVmcy5oLiAg Ki8KfCAjaW5jbHVkZSA8ZGxkLmg+CmNvbmZpZ3VyZToxMjUxNDogcmVzdWx0OiBubwpjb25maWd1 cmU6MTI1MTQ6IGNoZWNraW5nIGZvciBkbGQuaApjb25maWd1cmU6MTI1MTQ6IHJlc3VsdDogbm8K Y29uZmlndXJlOjEyNTE0OiBjaGVja2luZyBmcF9jbGFzcy5oIHVzYWJpbGl0eQpjb25maWd1cmU6 MTI1MTQ6IHg4Nl82NC13NjQtbWluZ3czMi1nY2MgLWMgLVdhbGwgLVdtaXNzaW5nLXByb3RvdHlw ZXMgLVdwb2ludGVyLWFyaXRoIC1XZGVjbGFyYXRpb24tYWZ0ZXItc3RhdGVtZW50IC1XZW5kaWYt bGFiZWxzIC1XbWlzc2luZy1mb3JtYXQtYXR0cmlidXRlIC1XZm9ybWF0LXNlY3VyaXR5IC1mbm8t c3RyaWN0LWFsaWFzaW5nIC1md3JhcHYgLWZleGNlc3MtcHJlY2lzaW9uPXN0YW5kYXJkIC1Xbm8t Zm9ybWF0LXRydW5jYXRpb24gLVduby1zdHJpbmdvcC10cnVuY2F0aW9uIC1nIC1PIC1mbm8tb21p dC1mcmFtZS1wb2ludGVyICAtSS93L1ItMy41Ll8vcG9zdGdyZXMvc3JjL2luY2x1ZGUvcG9ydC93 aW4zMiAtREVYRUNfQkFDS0VORCAgLUkvdy96bGliLTEuMi44LXdpbjMyLXg4Nl82NC9pbmNsdWRl IC1JL3cvb3BlbnNzbC0xLjAuMmUtd2luMzIteDg2XzY0L2luY2x1ZGUgLUkvdy9saWJ4bWwyLTIu OS4zLXdpbjMyLXg4Nl82NC9pbmNsdWRlL2xpYnhtbDIgLUkvdy9saWJ4c2x0LTEuMS4yOC13aW4z Mi14ODZfNjQvaW5jbHVkZSBjb25mdGVzdC5jID4mNQpjb25mdGVzdC5jOjc3OjEwOiBmYXRhbCBl cnJvcjogZnBfY2xhc3MuaDogTm8gc3VjaCBmaWxlIG9yIGRpcmVjdG9yeQogI2luY2x1ZGUgPGZw X2NsYXNzLmg+CiAgICAgICAgICBefn5+fn5+fn5+fn4KY29tcGlsYXRpb24gdGVybWluYXRlZC4N CmNvbmZpZ3VyZToxMjUxNDogJD8gPSAxCmNvbmZpZ3VyZTogZmFpbGVkIHByb2dyYW0gd2FzOgp8 IC8qIGNvbmZkZWZzLmggKi8KfCAjZGVmaW5lIFBBQ0tBR0VfTkFNRSAiUG9zdGdyZVNRTCIKfCAj ZGVmaW5lIFBBQ0tBR0VfVEFSTkFNRSAicG9zdGdyZXNxbCIKfCAjZGVmaW5lIFBBQ0tBR0VfVkVS U0lPTiAiMTFiZXRhMyIKfCAjZGVmaW5lIFBBQ0tBR0VfU1RSSU5HICJQb3N0Z3JlU1FMIDExYmV0 YTMiCnwgI2RlZmluZSBQQUNLQUdFX0JVR1JFUE9SVCAicGdzcWwtYnVnc0Bwb3N0Z3Jlc3FsLm9y ZyIKfCAjZGVmaW5lIFBBQ0tBR0VfVVJMICIiCnwgI2RlZmluZSBQR19NQUpPUlZFUlNJT04gIjEx Igp8ICNkZWZpbmUgUEdfVkVSU0lPTiAiMTFiZXRhMyIKfCAjZGVmaW5lIERFRl9QR1BPUlQgNTQz Mgp8ICNkZWZpbmUgREVGX1BHUE9SVF9TVFIgIjU0MzIiCnwgI2RlZmluZSBCTENLU1ogODE5Mgp8 ICNkZWZpbmUgUkVMU0VHX1NJWkUgMTMxMDcyCnwgI2RlZmluZSBYTE9HX0JMQ0tTWiA4MTkyCnwg I2RlZmluZSBVU0VfQVNTRVJUX0NIRUNLSU5HIDEKfCAjZGVmaW5lIEVOQUJMRV9USFJFQURfU0FG RVRZIDEKfCAjZGVmaW5lIFVTRV9JQ1UgMQp8ICNkZWZpbmUgUEdfS1JCX1NSVk5BTSAicG9zdGdy ZXMiCnwgI2RlZmluZSBVU0VfT1BFTlNTTCAxCnwgI2RlZmluZSBVU0VfTElCWE1MIDEKfCAjZGVm aW5lIFVTRV9MSUJYU0xUIDEKfCAjZGVmaW5lIFNURENfSEVBREVSUyAxCnwgI2RlZmluZSBIQVZF X1NZU19UWVBFU19IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NUQVRfSCAxCnwgI2RlZmluZSBIQVZF X1NURExJQl9IIDEKfCAjZGVmaW5lIEhBVkVfU1RSSU5HX0ggMQp8ICNkZWZpbmUgSEFWRV9NRU1P UllfSCAxCnwgI2RlZmluZSBIQVZFX1NUUklOR1NfSCAxCnwgI2RlZmluZSBIQVZFX0lOVFRZUEVT X0ggMQp8ICNkZWZpbmUgSEFWRV9TVERJTlRfSCAxCnwgI2RlZmluZSBIQVZFX1VOSVNURF9IIDEK fCAjZGVmaW5lIEhBVkVfTElCTSAxCnwgI2RlZmluZSBIQVZFX0xJQlogMQp8ICNkZWZpbmUgSEFW RV9TUElOTE9DS1MgMQp8ICNkZWZpbmUgSEFWRV9BVE9NSUNTIDEKfCAjZGVmaW5lIEhBVkVfU1NM X0dFVF9DVVJSRU5UX0NPTVBSRVNTSU9OIDEKfCAjZGVmaW5lIEhBVkVfWDUwOV9HRVRfU0lHTkFU VVJFX05JRCAxCnwgI2RlZmluZSBIQVZFX0NSWVBUT19MT0NLIDEKfCAjZGVmaW5lIEhBVkVfTElC WE1MMiAxCnwgI2RlZmluZSBIQVZFX0xJQlhTTFQgMQp8ICNkZWZpbmUgSEFWRV9fQk9PTCAxCnwg I2RlZmluZSBIQVZFX1NUREJPT0xfSCAxCnwgLyogZW5kIGNvbmZkZWZzLmguICAqLwp8ICNpbmNs dWRlIDxzdGRpby5oPgp8ICNpZmRlZiBIQVZFX1NZU19UWVBFU19ICnwgIyBpbmNsdWRlIDxzeXMv dHlwZXMuaD4KfCAjZW5kaWYKfCAjaWZkZWYgSEFWRV9TWVNfU1RBVF9ICnwgIyBpbmNsdWRlIDxz eXMvc3RhdC5oPgp8ICNlbmRpZgp8ICNpZmRlZiBTVERDX0hFQURFUlMKfCAjIGluY2x1ZGUgPHN0 ZGxpYi5oPgp8ICMgaW5jbHVkZSA8c3RkZGVmLmg+CnwgI2Vsc2UKfCAjIGlmZGVmIEhBVkVfU1RE TElCX0gKfCAjICBpbmNsdWRlIDxzdGRsaWIuaD4KfCAjIGVuZGlmCnwgI2VuZGlmCnwgI2lmZGVm IEhBVkVfU1RSSU5HX0gKfCAjIGlmICFkZWZpbmVkIFNURENfSEVBREVSUyAmJiBkZWZpbmVkIEhB VkVfTUVNT1JZX0gKfCAjICBpbmNsdWRlIDxtZW1vcnkuaD4KfCAjIGVuZGlmCnwgIyBpbmNsdWRl IDxzdHJpbmcuaD4KfCAjZW5kaWYKfCAjaWZkZWYgSEFWRV9TVFJJTkdTX0gKfCAjIGluY2x1ZGUg PHN0cmluZ3MuaD4KfCAjZW5kaWYKfCAjaWZkZWYgSEFWRV9JTlRUWVBFU19ICnwgIyBpbmNsdWRl IDxpbnR0eXBlcy5oPgp8ICNlbmRpZgp8ICNpZmRlZiBIQVZFX1NURElOVF9ICnwgIyBpbmNsdWRl IDxzdGRpbnQuaD4KfCAjZW5kaWYKfCAjaWZkZWYgSEFWRV9VTklTVERfSAp8ICMgaW5jbHVkZSA8 dW5pc3RkLmg+CnwgI2VuZGlmCnwgI2luY2x1ZGUgPGZwX2NsYXNzLmg+CmNvbmZpZ3VyZToxMjUx NDogcmVzdWx0OiBubwpjb25maWd1cmU6MTI1MTQ6IGNoZWNraW5nIGZwX2NsYXNzLmggcHJlc2Vu Y2UKY29uZmlndXJlOjEyNTE0OiB4ODZfNjQtdzY0LW1pbmd3MzItZ2NjIC1FICAtSS93L1ItMy41 Ll8vcG9zdGdyZXMvc3JjL2luY2x1ZGUvcG9ydC93aW4zMiAtREVYRUNfQkFDS0VORCAgLUkvdy96 bGliLTEuMi44LXdpbjMyLXg4Nl82NC9pbmNsdWRlIC1JL3cvb3BlbnNzbC0xLjAuMmUtd2luMzIt eDg2XzY0L2luY2x1ZGUgLUkvdy9saWJ4bWwyLTIuOS4zLXdpbjMyLXg4Nl82NC9pbmNsdWRlL2xp YnhtbDIgLUkvdy9saWJ4c2x0LTEuMS4yOC13aW4zMi14ODZfNjQvaW5jbHVkZSBjb25mdGVzdC5j CmNvbmZ0ZXN0LmM6NDQ6MTA6IGZhdGFsIGVycm9yOiBmcF9jbGFzcy5oOiBObyBzdWNoIGZpbGUg b3IgZGlyZWN0b3J5CiAjaW5jbHVkZSA8ZnBfY2xhc3MuaD4KICAgICAgICAgIF5+fn5+fn5+fn5+ fgpjb21waWxhdGlvbiB0ZXJtaW5hdGVkLg0KY29uZmlndXJlOjEyNTE0OiAkPyA9IDEKY29uZmln dXJlOiBmYWlsZWQgcHJvZ3JhbSB3YXM6CnwgLyogY29uZmRlZnMuaCAqLwp8ICNkZWZpbmUgUEFD S0FHRV9OQU1FICJQb3N0Z3JlU1FMIgp8ICNkZWZpbmUgUEFDS0FHRV9UQVJOQU1FICJwb3N0Z3Jl c3FsIgp8ICNkZWZpbmUgUEFDS0FHRV9WRVJTSU9OICIxMWJldGEzIgp8ICNkZWZpbmUgUEFDS0FH RV9TVFJJTkcgIlBvc3RncmVTUUwgMTFiZXRhMyIKfCAjZGVmaW5lIFBBQ0tBR0VfQlVHUkVQT1JU ICJwZ3NxbC1idWdzQHBvc3RncmVzcWwub3JnIgp8ICNkZWZpbmUgUEFDS0FHRV9VUkwgIiIKfCAj ZGVmaW5lIFBHX01BSk9SVkVSU0lPTiAiMTEiCnwgI2RlZmluZSBQR19WRVJTSU9OICIxMWJldGEz Igp8ICNkZWZpbmUgREVGX1BHUE9SVCA1NDMyCnwgI2RlZmluZSBERUZfUEdQT1JUX1NUUiAiNTQz MiIKfCAjZGVmaW5lIEJMQ0tTWiA4MTkyCnwgI2RlZmluZSBSRUxTRUdfU0laRSAxMzEwNzIKfCAj ZGVmaW5lIFhMT0dfQkxDS1NaIDgxOTIKfCAjZGVmaW5lIFVTRV9BU1NFUlRfQ0hFQ0tJTkcgMQp8 ICNkZWZpbmUgRU5BQkxFX1RIUkVBRF9TQUZFVFkgMQp8ICNkZWZpbmUgVVNFX0lDVSAxCnwgI2Rl ZmluZSBQR19LUkJfU1JWTkFNICJwb3N0Z3JlcyIKfCAjZGVmaW5lIFVTRV9PUEVOU1NMIDEKfCAj ZGVmaW5lIFVTRV9MSUJYTUwgMQp8ICNkZWZpbmUgVVNFX0xJQlhTTFQgMQp8ICNkZWZpbmUgU1RE Q19IRUFERVJTIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1RZUEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9T WVNfU1RBVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1RETElCX0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJJ TkdfSCAxCnwgI2RlZmluZSBIQVZFX01FTU9SWV9IIDEKfCAjZGVmaW5lIEhBVkVfU1RSSU5HU19I IDEKfCAjZGVmaW5lIEhBVkVfSU5UVFlQRVNfSCAxCnwgI2RlZmluZSBIQVZFX1NURElOVF9IIDEK fCAjZGVmaW5lIEhBVkVfVU5JU1REX0ggMQp8ICNkZWZpbmUgSEFWRV9MSUJNIDEKfCAjZGVmaW5l IEhBVkVfTElCWiAxCnwgI2RlZmluZSBIQVZFX1NQSU5MT0NLUyAxCnwgI2RlZmluZSBIQVZFX0FU T01JQ1MgMQp8ICNkZWZpbmUgSEFWRV9TU0xfR0VUX0NVUlJFTlRfQ09NUFJFU1NJT04gMQp8ICNk ZWZpbmUgSEFWRV9YNTA5X0dFVF9TSUdOQVRVUkVfTklEIDEKfCAjZGVmaW5lIEhBVkVfQ1JZUFRP X0xPQ0sgMQp8ICNkZWZpbmUgSEFWRV9MSUJYTUwyIDEKfCAjZGVmaW5lIEhBVkVfTElCWFNMVCAx CnwgI2RlZmluZSBIQVZFX19CT09MIDEKfCAjZGVmaW5lIEhBVkVfU1REQk9PTF9IIDEKfCAvKiBl bmQgY29uZmRlZnMuaC4gICovCnwgI2luY2x1ZGUgPGZwX2NsYXNzLmg+CmNvbmZpZ3VyZToxMjUx NDogcmVzdWx0OiBubwpjb25maWd1cmU6MTI1MTQ6IGNoZWNraW5nIGZvciBmcF9jbGFzcy5oCmNv bmZpZ3VyZToxMjUxNDogcmVzdWx0OiBubwpjb25maWd1cmU6MTI1MTQ6IGNoZWNraW5nIGdldG9w dC5oIHVzYWJpbGl0eQpjb25maWd1cmU6MTI1MTQ6IHg4Nl82NC13NjQtbWluZ3czMi1nY2MgLWMg LVdhbGwgLVdtaXNzaW5nLXByb3RvdHlwZXMgLVdwb2ludGVyLWFyaXRoIC1XZGVjbGFyYXRpb24t YWZ0ZXItc3RhdGVtZW50IC1XZW5kaWYtbGFiZWxzIC1XbWlzc2luZy1mb3JtYXQtYXR0cmlidXRl IC1XZm9ybWF0LXNlY3VyaXR5IC1mbm8tc3RyaWN0LWFsaWFzaW5nIC1md3JhcHYgLWZleGNlc3Mt cHJlY2lzaW9uPXN0YW5kYXJkIC1Xbm8tZm9ybWF0LXRydW5jYXRpb24gLVduby1zdHJpbmdvcC10 cnVuY2F0aW9uIC1nIC1PIC1mbm8tb21pdC1mcmFtZS1wb2ludGVyICAtSS93L1ItMy41Ll8vcG9z dGdyZXMvc3JjL2luY2x1ZGUvcG9ydC93aW4zMiAtREVYRUNfQkFDS0VORCAgLUkvdy96bGliLTEu Mi44LXdpbjMyLXg4Nl82NC9pbmNsdWRlIC1JL3cvb3BlbnNzbC0xLjAuMmUtd2luMzIteDg2XzY0 L2luY2x1ZGUgLUkvdy9saWJ4bWwyLTIuOS4zLXdpbjMyLXg4Nl82NC9pbmNsdWRlL2xpYnhtbDIg LUkvdy9saWJ4c2x0LTEuMS4yOC13aW4zMi14ODZfNjQvaW5jbHVkZSBjb25mdGVzdC5jID4mNQpj b25maWd1cmU6MTI1MTQ6ICQ/ID0gMApjb25maWd1cmU6MTI1MTQ6IHJlc3VsdDogeWVzCmNvbmZp Z3VyZToxMjUxNDogY2hlY2tpbmcgZ2V0b3B0LmggcHJlc2VuY2UKY29uZmlndXJlOjEyNTE0OiB4 ODZfNjQtdzY0LW1pbmd3MzItZ2NjIC1FICAtSS93L1ItMy41Ll8vcG9zdGdyZXMvc3JjL2luY2x1 ZGUvcG9ydC93aW4zMiAtREVYRUNfQkFDS0VORCAgLUkvdy96bGliLTEuMi44LXdpbjMyLXg4Nl82 NC9pbmNsdWRlIC1JL3cvb3BlbnNzbC0xLjAuMmUtd2luMzIteDg2XzY0L2luY2x1ZGUgLUkvdy9s aWJ4bWwyLTIuOS4zLXdpbjMyLXg4Nl82NC9pbmNsdWRlL2xpYnhtbDIgLUkvdy9saWJ4c2x0LTEu MS4yOC13aW4zMi14ODZfNjQvaW5jbHVkZSBjb25mdGVzdC5jCmNvbmZpZ3VyZToxMjUxNDogJD8g PSAwCmNvbmZpZ3VyZToxMjUxNDogcmVzdWx0OiB5ZXMKY29uZmlndXJlOjEyNTE0OiBjaGVja2lu ZyBmb3IgZ2V0b3B0LmgKY29uZmlndXJlOjEyNTE0OiByZXN1bHQ6IHllcwpjb25maWd1cmU6MTI1 MTQ6IGNoZWNraW5nIGllZWVmcC5oIHVzYWJpbGl0eQpjb25maWd1cmU6MTI1MTQ6IHg4Nl82NC13 NjQtbWluZ3czMi1nY2MgLWMgLVdhbGwgLVdtaXNzaW5nLXByb3RvdHlwZXMgLVdwb2ludGVyLWFy aXRoIC1XZGVjbGFyYXRpb24tYWZ0ZXItc3RhdGVtZW50IC1XZW5kaWYtbGFiZWxzIC1XbWlzc2lu Zy1mb3JtYXQtYXR0cmlidXRlIC1XZm9ybWF0LXNlY3VyaXR5IC1mbm8tc3RyaWN0LWFsaWFzaW5n IC1md3JhcHYgLWZleGNlc3MtcHJlY2lzaW9uPXN0YW5kYXJkIC1Xbm8tZm9ybWF0LXRydW5jYXRp b24gLVduby1zdHJpbmdvcC10cnVuY2F0aW9uIC1nIC1PIC1mbm8tb21pdC1mcmFtZS1wb2ludGVy ICAtSS93L1ItMy41Ll8vcG9zdGdyZXMvc3JjL2luY2x1ZGUvcG9ydC93aW4zMiAtREVYRUNfQkFD S0VORCAgLUkvdy96bGliLTEuMi44LXdpbjMyLXg4Nl82NC9pbmNsdWRlIC1JL3cvb3BlbnNzbC0x LjAuMmUtd2luMzIteDg2XzY0L2luY2x1ZGUgLUkvdy9saWJ4bWwyLTIuOS4zLXdpbjMyLXg4Nl82 NC9pbmNsdWRlL2xpYnhtbDIgLUkvdy9saWJ4c2x0LTEuMS4yOC13aW4zMi14ODZfNjQvaW5jbHVk ZSBjb25mdGVzdC5jID4mNQpjb25maWd1cmU6MTI1MTQ6ICQ/ID0gMApjb25maWd1cmU6MTI1MTQ6 IHJlc3VsdDogeWVzCmNvbmZpZ3VyZToxMjUxNDogY2hlY2tpbmcgaWVlZWZwLmggcHJlc2VuY2UK Y29uZmlndXJlOjEyNTE0OiB4ODZfNjQtdzY0LW1pbmd3MzItZ2NjIC1FICAtSS93L1ItMy41Ll8v cG9zdGdyZXMvc3JjL2luY2x1ZGUvcG9ydC93aW4zMiAtREVYRUNfQkFDS0VORCAgLUkvdy96bGli LTEuMi44LXdpbjMyLXg4Nl82NC9pbmNsdWRlIC1JL3cvb3BlbnNzbC0xLjAuMmUtd2luMzIteDg2 XzY0L2luY2x1ZGUgLUkvdy9saWJ4bWwyLTIuOS4zLXdpbjMyLXg4Nl82NC9pbmNsdWRlL2xpYnht bDIgLUkvdy9saWJ4c2x0LTEuMS4yOC13aW4zMi14ODZfNjQvaW5jbHVkZSBjb25mdGVzdC5jCmNv bmZpZ3VyZToxMjUxNDogJD8gPSAwCmNvbmZpZ3VyZToxMjUxNDogcmVzdWx0OiB5ZXMKY29uZmln dXJlOjEyNTE0OiBjaGVja2luZyBmb3IgaWVlZWZwLmgKY29uZmlndXJlOjEyNTE0OiByZXN1bHQ6 IHllcwpjb25maWd1cmU6MTI1MTQ6IGNoZWNraW5nIGlmYWRkcnMuaCB1c2FiaWxpdHkKY29uZmln dXJlOjEyNTE0OiB4ODZfNjQtdzY0LW1pbmd3MzItZ2NjIC1jIC1XYWxsIC1XbWlzc2luZy1wcm90 b3R5cGVzIC1XcG9pbnRlci1hcml0aCAtV2RlY2xhcmF0aW9uLWFmdGVyLXN0YXRlbWVudCAtV2Vu ZGlmLWxhYmVscyAtV21pc3NpbmctZm9ybWF0LWF0dHJpYnV0ZSAtV2Zvcm1hdC1zZWN1cml0eSAt Zm5vLXN0cmljdC1hbGlhc2luZyAtZndyYXB2IC1mZXhjZXNzLXByZWNpc2lvbj1zdGFuZGFyZCAt V25vLWZvcm1hdC10cnVuY2F0aW9uIC1Xbm8tc3RyaW5nb3AtdHJ1bmNhdGlvbiAtZyAtTyAtZm5v LW9taXQtZnJhbWUtcG9pbnRlciAgLUkvdy9SLTMuNS5fL3Bvc3RncmVzL3NyYy9pbmNsdWRlL3Bv cnQvd2luMzIgLURFWEVDX0JBQ0tFTkQgIC1JL3cvemxpYi0xLjIuOC13aW4zMi14ODZfNjQvaW5j bHVkZSAtSS93L29wZW5zc2wtMS4wLjJlLXdpbjMyLXg4Nl82NC9pbmNsdWRlIC1JL3cvbGlieG1s Mi0yLjkuMy13aW4zMi14ODZfNjQvaW5jbHVkZS9saWJ4bWwyIC1JL3cvbGlieHNsdC0xLjEuMjgt d2luMzIteDg2XzY0L2luY2x1ZGUgY29uZnRlc3QuYyA+JjUKY29uZnRlc3QuYzo3OToxMDogZmF0 YWwgZXJyb3I6IGlmYWRkcnMuaDogTm8gc3VjaCBmaWxlIG9yIGRpcmVjdG9yeQogI2luY2x1ZGUg PGlmYWRkcnMuaD4KICAgICAgICAgIF5+fn5+fn5+fn5+CmNvbXBpbGF0aW9uIHRlcm1pbmF0ZWQu DQpjb25maWd1cmU6MTI1MTQ6ICQ/ID0gMQpjb25maWd1cmU6IGZhaWxlZCBwcm9ncmFtIHdhczoK fCAvKiBjb25mZGVmcy5oICovCnwgI2RlZmluZSBQQUNLQUdFX05BTUUgIlBvc3RncmVTUUwiCnwg I2RlZmluZSBQQUNLQUdFX1RBUk5BTUUgInBvc3RncmVzcWwiCnwgI2RlZmluZSBQQUNLQUdFX1ZF UlNJT04gIjExYmV0YTMiCnwgI2RlZmluZSBQQUNLQUdFX1NUUklORyAiUG9zdGdyZVNRTCAxMWJl dGEzIgp8ICNkZWZpbmUgUEFDS0FHRV9CVUdSRVBPUlQgInBnc3FsLWJ1Z3NAcG9zdGdyZXNxbC5v cmciCnwgI2RlZmluZSBQQUNLQUdFX1VSTCAiIgp8ICNkZWZpbmUgUEdfTUFKT1JWRVJTSU9OICIx MSIKfCAjZGVmaW5lIFBHX1ZFUlNJT04gIjExYmV0YTMiCnwgI2RlZmluZSBERUZfUEdQT1JUIDU0 MzIKfCAjZGVmaW5lIERFRl9QR1BPUlRfU1RSICI1NDMyIgp8ICNkZWZpbmUgQkxDS1NaIDgxOTIK fCAjZGVmaW5lIFJFTFNFR19TSVpFIDEzMTA3Mgp8ICNkZWZpbmUgWExPR19CTENLU1ogODE5Mgp8 ICNkZWZpbmUgVVNFX0FTU0VSVF9DSEVDS0lORyAxCnwgI2RlZmluZSBFTkFCTEVfVEhSRUFEX1NB RkVUWSAxCnwgI2RlZmluZSBVU0VfSUNVIDEKfCAjZGVmaW5lIFBHX0tSQl9TUlZOQU0gInBvc3Rn cmVzIgp8ICNkZWZpbmUgVVNFX09QRU5TU0wgMQp8ICNkZWZpbmUgVVNFX0xJQlhNTCAxCnwgI2Rl ZmluZSBVU0VfTElCWFNMVCAxCnwgI2RlZmluZSBTVERDX0hFQURFUlMgMQp8ICNkZWZpbmUgSEFW RV9TWVNfVFlQRVNfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19TVEFUX0ggMQp8ICNkZWZpbmUgSEFW RV9TVERMSUJfSCAxCnwgI2RlZmluZSBIQVZFX1NUUklOR19IIDEKfCAjZGVmaW5lIEhBVkVfTUVN T1JZX0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJJTkdTX0ggMQp8ICNkZWZpbmUgSEFWRV9JTlRUWVBF U19IIDEKfCAjZGVmaW5lIEhBVkVfU1RESU5UX0ggMQp8ICNkZWZpbmUgSEFWRV9VTklTVERfSCAx CnwgI2RlZmluZSBIQVZFX0xJQk0gMQp8ICNkZWZpbmUgSEFWRV9MSUJaIDEKfCAjZGVmaW5lIEhB VkVfU1BJTkxPQ0tTIDEKfCAjZGVmaW5lIEhBVkVfQVRPTUlDUyAxCnwgI2RlZmluZSBIQVZFX1NT TF9HRVRfQ1VSUkVOVF9DT01QUkVTU0lPTiAxCnwgI2RlZmluZSBIQVZFX1g1MDlfR0VUX1NJR05B VFVSRV9OSUQgMQp8ICNkZWZpbmUgSEFWRV9DUllQVE9fTE9DSyAxCnwgI2RlZmluZSBIQVZFX0xJ QlhNTDIgMQp8ICNkZWZpbmUgSEFWRV9MSUJYU0xUIDEKfCAjZGVmaW5lIEhBVkVfX0JPT0wgMQp8 ICNkZWZpbmUgSEFWRV9TVERCT09MX0ggMQp8ICNkZWZpbmUgSEFWRV9HRVRPUFRfSCAxCnwgI2Rl ZmluZSBIQVZFX0lFRUVGUF9IIDEKfCAvKiBlbmQgY29uZmRlZnMuaC4gICovCnwgI2luY2x1ZGUg PHN0ZGlvLmg+CnwgI2lmZGVmIEhBVkVfU1lTX1RZUEVTX0gKfCAjIGluY2x1ZGUgPHN5cy90eXBl cy5oPgp8ICNlbmRpZgp8ICNpZmRlZiBIQVZFX1NZU19TVEFUX0gKfCAjIGluY2x1ZGUgPHN5cy9z dGF0Lmg+CnwgI2VuZGlmCnwgI2lmZGVmIFNURENfSEVBREVSUwp8ICMgaW5jbHVkZSA8c3RkbGli Lmg+CnwgIyBpbmNsdWRlIDxzdGRkZWYuaD4KfCAjZWxzZQp8ICMgaWZkZWYgSEFWRV9TVERMSUJf SAp8ICMgIGluY2x1ZGUgPHN0ZGxpYi5oPgp8ICMgZW5kaWYKfCAjZW5kaWYKfCAjaWZkZWYgSEFW RV9TVFJJTkdfSAp8ICMgaWYgIWRlZmluZWQgU1REQ19IRUFERVJTICYmIGRlZmluZWQgSEFWRV9N RU1PUllfSAp8ICMgIGluY2x1ZGUgPG1lbW9yeS5oPgp8ICMgZW5kaWYKfCAjIGluY2x1ZGUgPHN0 cmluZy5oPgp8ICNlbmRpZgp8ICNpZmRlZiBIQVZFX1NUUklOR1NfSAp8ICMgaW5jbHVkZSA8c3Ry aW5ncy5oPgp8ICNlbmRpZgp8ICNpZmRlZiBIQVZFX0lOVFRZUEVTX0gKfCAjIGluY2x1ZGUgPGlu dHR5cGVzLmg+CnwgI2VuZGlmCnwgI2lmZGVmIEhBVkVfU1RESU5UX0gKfCAjIGluY2x1ZGUgPHN0 ZGludC5oPgp8ICNlbmRpZgp8ICNpZmRlZiBIQVZFX1VOSVNURF9ICnwgIyBpbmNsdWRlIDx1bmlz dGQuaD4KfCAjZW5kaWYKfCAjaW5jbHVkZSA8aWZhZGRycy5oPgpjb25maWd1cmU6MTI1MTQ6IHJl c3VsdDogbm8KY29uZmlndXJlOjEyNTE0OiBjaGVja2luZyBpZmFkZHJzLmggcHJlc2VuY2UKY29u ZmlndXJlOjEyNTE0OiB4ODZfNjQtdzY0LW1pbmd3MzItZ2NjIC1FICAtSS93L1ItMy41Ll8vcG9z dGdyZXMvc3JjL2luY2x1ZGUvcG9ydC93aW4zMiAtREVYRUNfQkFDS0VORCAgLUkvdy96bGliLTEu Mi44LXdpbjMyLXg4Nl82NC9pbmNsdWRlIC1JL3cvb3BlbnNzbC0xLjAuMmUtd2luMzIteDg2XzY0 L2luY2x1ZGUgLUkvdy9saWJ4bWwyLTIuOS4zLXdpbjMyLXg4Nl82NC9pbmNsdWRlL2xpYnhtbDIg LUkvdy9saWJ4c2x0LTEuMS4yOC13aW4zMi14ODZfNjQvaW5jbHVkZSBjb25mdGVzdC5jCmNvbmZ0 ZXN0LmM6NDY6MTA6IGZhdGFsIGVycm9yOiBpZmFkZHJzLmg6IE5vIHN1Y2ggZmlsZSBvciBkaXJl Y3RvcnkKICNpbmNsdWRlIDxpZmFkZHJzLmg+CiAgICAgICAgICBefn5+fn5+fn5+fgpjb21waWxh dGlvbiB0ZXJtaW5hdGVkLg0KY29uZmlndXJlOjEyNTE0OiAkPyA9IDEKY29uZmlndXJlOiBmYWls ZWQgcHJvZ3JhbSB3YXM6CnwgLyogY29uZmRlZnMuaCAqLwp8ICNkZWZpbmUgUEFDS0FHRV9OQU1F ICJQb3N0Z3JlU1FMIgp8ICNkZWZpbmUgUEFDS0FHRV9UQVJOQU1FICJwb3N0Z3Jlc3FsIgp8ICNk ZWZpbmUgUEFDS0FHRV9WRVJTSU9OICIxMWJldGEzIgp8ICNkZWZpbmUgUEFDS0FHRV9TVFJJTkcg IlBvc3RncmVTUUwgMTFiZXRhMyIKfCAjZGVmaW5lIFBBQ0tBR0VfQlVHUkVQT1JUICJwZ3NxbC1i dWdzQHBvc3RncmVzcWwub3JnIgp8ICNkZWZpbmUgUEFDS0FHRV9VUkwgIiIKfCAjZGVmaW5lIFBH X01BSk9SVkVSU0lPTiAiMTEiCnwgI2RlZmluZSBQR19WRVJTSU9OICIxMWJldGEzIgp8ICNkZWZp bmUgREVGX1BHUE9SVCA1NDMyCnwgI2RlZmluZSBERUZfUEdQT1JUX1NUUiAiNTQzMiIKfCAjZGVm aW5lIEJMQ0tTWiA4MTkyCnwgI2RlZmluZSBSRUxTRUdfU0laRSAxMzEwNzIKfCAjZGVmaW5lIFhM T0dfQkxDS1NaIDgxOTIKfCAjZGVmaW5lIFVTRV9BU1NFUlRfQ0hFQ0tJTkcgMQp8ICNkZWZpbmUg RU5BQkxFX1RIUkVBRF9TQUZFVFkgMQp8ICNkZWZpbmUgVVNFX0lDVSAxCnwgI2RlZmluZSBQR19L UkJfU1JWTkFNICJwb3N0Z3JlcyIKfCAjZGVmaW5lIFVTRV9PUEVOU1NMIDEKfCAjZGVmaW5lIFVT RV9MSUJYTUwgMQp8ICNkZWZpbmUgVVNFX0xJQlhTTFQgMQp8ICNkZWZpbmUgU1REQ19IRUFERVJT IDEKfCAjZGVmaW5lIEhBVkVfU1lTX1RZUEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfU1RBVF9I IDEKfCAjZGVmaW5lIEhBVkVfU1RETElCX0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJJTkdfSCAxCnwg I2RlZmluZSBIQVZFX01FTU9SWV9IIDEKfCAjZGVmaW5lIEhBVkVfU1RSSU5HU19IIDEKfCAjZGVm aW5lIEhBVkVfSU5UVFlQRVNfSCAxCnwgI2RlZmluZSBIQVZFX1NURElOVF9IIDEKfCAjZGVmaW5l IEhBVkVfVU5JU1REX0ggMQp8ICNkZWZpbmUgSEFWRV9MSUJNIDEKfCAjZGVmaW5lIEhBVkVfTElC WiAxCnwgI2RlZmluZSBIQVZFX1NQSU5MT0NLUyAxCnwgI2RlZmluZSBIQVZFX0FUT01JQ1MgMQp8 ICNkZWZpbmUgSEFWRV9TU0xfR0VUX0NVUlJFTlRfQ09NUFJFU1NJT04gMQp8ICNkZWZpbmUgSEFW RV9YNTA5X0dFVF9TSUdOQVRVUkVfTklEIDEKfCAjZGVmaW5lIEhBVkVfQ1JZUFRPX0xPQ0sgMQp8 ICNkZWZpbmUgSEFWRV9MSUJYTUwyIDEKfCAjZGVmaW5lIEhBVkVfTElCWFNMVCAxCnwgI2RlZmlu ZSBIQVZFX19CT09MIDEKfCAjZGVmaW5lIEhBVkVfU1REQk9PTF9IIDEKfCAjZGVmaW5lIEhBVkVf R0VUT1BUX0ggMQp8ICNkZWZpbmUgSEFWRV9JRUVFRlBfSCAxCnwgLyogZW5kIGNvbmZkZWZzLmgu ICAqLwp8ICNpbmNsdWRlIDxpZmFkZHJzLmg+CmNvbmZpZ3VyZToxMjUxNDogcmVzdWx0OiBubwpj b25maWd1cmU6MTI1MTQ6IGNoZWNraW5nIGZvciBpZmFkZHJzLmgKY29uZmlndXJlOjEyNTE0OiBy ZXN1bHQ6IG5vCmNvbmZpZ3VyZToxMjUxNDogY2hlY2tpbmcgbGFuZ2luZm8uaCB1c2FiaWxpdHkK Y29uZmlndXJlOjEyNTE0OiB4ODZfNjQtdzY0LW1pbmd3MzItZ2NjIC1jIC1XYWxsIC1XbWlzc2lu Zy1wcm90b3R5cGVzIC1XcG9pbnRlci1hcml0aCAtV2RlY2xhcmF0aW9uLWFmdGVyLXN0YXRlbWVu dCAtV2VuZGlmLWxhYmVscyAtV21pc3NpbmctZm9ybWF0LWF0dHJpYnV0ZSAtV2Zvcm1hdC1zZWN1 cml0eSAtZm5vLXN0cmljdC1hbGlhc2luZyAtZndyYXB2IC1mZXhjZXNzLXByZWNpc2lvbj1zdGFu ZGFyZCAtV25vLWZvcm1hdC10cnVuY2F0aW9uIC1Xbm8tc3RyaW5nb3AtdHJ1bmNhdGlvbiAtZyAt TyAtZm5vLW9taXQtZnJhbWUtcG9pbnRlciAgLUkvdy9SLTMuNS5fL3Bvc3RncmVzL3NyYy9pbmNs dWRlL3BvcnQvd2luMzIgLURFWEVDX0JBQ0tFTkQgIC1JL3cvemxpYi0xLjIuOC13aW4zMi14ODZf NjQvaW5jbHVkZSAtSS93L29wZW5zc2wtMS4wLjJlLXdpbjMyLXg4Nl82NC9pbmNsdWRlIC1JL3cv bGlieG1sMi0yLjkuMy13aW4zMi14ODZfNjQvaW5jbHVkZS9saWJ4bWwyIC1JL3cvbGlieHNsdC0x LjEuMjgtd2luMzIteDg2XzY0L2luY2x1ZGUgY29uZnRlc3QuYyA+JjUKY29uZnRlc3QuYzo3OTox MDogZmF0YWwgZXJyb3I6IGxhbmdpbmZvLmg6IE5vIHN1Y2ggZmlsZSBvciBkaXJlY3RvcnkKICNp bmNsdWRlIDxsYW5naW5mby5oPgogICAgICAgICAgXn5+fn5+fn5+fn5+CmNvbXBpbGF0aW9uIHRl cm1pbmF0ZWQuDQpjb25maWd1cmU6MTI1MTQ6ICQ/ID0gMQpjb25maWd1cmU6IGZhaWxlZCBwcm9n cmFtIHdhczoKfCAvKiBjb25mZGVmcy5oICovCnwgI2RlZmluZSBQQUNLQUdFX05BTUUgIlBvc3Rn cmVTUUwiCnwgI2RlZmluZSBQQUNLQUdFX1RBUk5BTUUgInBvc3RncmVzcWwiCnwgI2RlZmluZSBQ QUNLQUdFX1ZFUlNJT04gIjExYmV0YTMiCnwgI2RlZmluZSBQQUNLQUdFX1NUUklORyAiUG9zdGdy ZVNRTCAxMWJldGEzIgp8ICNkZWZpbmUgUEFDS0FHRV9CVUdSRVBPUlQgInBnc3FsLWJ1Z3NAcG9z dGdyZXNxbC5vcmciCnwgI2RlZmluZSBQQUNLQUdFX1VSTCAiIgp8ICNkZWZpbmUgUEdfTUFKT1JW RVJTSU9OICIxMSIKfCAjZGVmaW5lIFBHX1ZFUlNJT04gIjExYmV0YTMiCnwgI2RlZmluZSBERUZf UEdQT1JUIDU0MzIKfCAjZGVmaW5lIERFRl9QR1BPUlRfU1RSICI1NDMyIgp8ICNkZWZpbmUgQkxD S1NaIDgxOTIKfCAjZGVmaW5lIFJFTFNFR19TSVpFIDEzMTA3Mgp8ICNkZWZpbmUgWExPR19CTENL U1ogODE5Mgp8ICNkZWZpbmUgVVNFX0FTU0VSVF9DSEVDS0lORyAxCnwgI2RlZmluZSBFTkFCTEVf VEhSRUFEX1NBRkVUWSAxCnwgI2RlZmluZSBVU0VfSUNVIDEKfCAjZGVmaW5lIFBHX0tSQl9TUlZO QU0gInBvc3RncmVzIgp8ICNkZWZpbmUgVVNFX09QRU5TU0wgMQp8ICNkZWZpbmUgVVNFX0xJQlhN TCAxCnwgI2RlZmluZSBVU0VfTElCWFNMVCAxCnwgI2RlZmluZSBTVERDX0hFQURFUlMgMQp8ICNk ZWZpbmUgSEFWRV9TWVNfVFlQRVNfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19TVEFUX0ggMQp8ICNk ZWZpbmUgSEFWRV9TVERMSUJfSCAxCnwgI2RlZmluZSBIQVZFX1NUUklOR19IIDEKfCAjZGVmaW5l IEhBVkVfTUVNT1JZX0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJJTkdTX0ggMQp8ICNkZWZpbmUgSEFW RV9JTlRUWVBFU19IIDEKfCAjZGVmaW5lIEhBVkVfU1RESU5UX0ggMQp8ICNkZWZpbmUgSEFWRV9V TklTVERfSCAxCnwgI2RlZmluZSBIQVZFX0xJQk0gMQp8ICNkZWZpbmUgSEFWRV9MSUJaIDEKfCAj ZGVmaW5lIEhBVkVfU1BJTkxPQ0tTIDEKfCAjZGVmaW5lIEhBVkVfQVRPTUlDUyAxCnwgI2RlZmlu ZSBIQVZFX1NTTF9HRVRfQ1VSUkVOVF9DT01QUkVTU0lPTiAxCnwgI2RlZmluZSBIQVZFX1g1MDlf R0VUX1NJR05BVFVSRV9OSUQgMQp8ICNkZWZpbmUgSEFWRV9DUllQVE9fTE9DSyAxCnwgI2RlZmlu ZSBIQVZFX0xJQlhNTDIgMQp8ICNkZWZpbmUgSEFWRV9MSUJYU0xUIDEKfCAjZGVmaW5lIEhBVkVf X0JPT0wgMQp8ICNkZWZpbmUgSEFWRV9TVERCT09MX0ggMQp8ICNkZWZpbmUgSEFWRV9HRVRPUFRf SCAxCnwgI2RlZmluZSBIQVZFX0lFRUVGUF9IIDEKfCAvKiBlbmQgY29uZmRlZnMuaC4gICovCnwg I2luY2x1ZGUgPHN0ZGlvLmg+CnwgI2lmZGVmIEhBVkVfU1lTX1RZUEVTX0gKfCAjIGluY2x1ZGUg PHN5cy90eXBlcy5oPgp8ICNlbmRpZgp8ICNpZmRlZiBIQVZFX1NZU19TVEFUX0gKfCAjIGluY2x1 ZGUgPHN5cy9zdGF0Lmg+CnwgI2VuZGlmCnwgI2lmZGVmIFNURENfSEVBREVSUwp8ICMgaW5jbHVk ZSA8c3RkbGliLmg+CnwgIyBpbmNsdWRlIDxzdGRkZWYuaD4KfCAjZWxzZQp8ICMgaWZkZWYgSEFW RV9TVERMSUJfSAp8ICMgIGluY2x1ZGUgPHN0ZGxpYi5oPgp8ICMgZW5kaWYKfCAjZW5kaWYKfCAj aWZkZWYgSEFWRV9TVFJJTkdfSAp8ICMgaWYgIWRlZmluZWQgU1REQ19IRUFERVJTICYmIGRlZmlu ZWQgSEFWRV9NRU1PUllfSAp8ICMgIGluY2x1ZGUgPG1lbW9yeS5oPgp8ICMgZW5kaWYKfCAjIGlu Y2x1ZGUgPHN0cmluZy5oPgp8ICNlbmRpZgp8ICNpZmRlZiBIQVZFX1NUUklOR1NfSAp8ICMgaW5j bHVkZSA8c3RyaW5ncy5oPgp8ICNlbmRpZgp8ICNpZmRlZiBIQVZFX0lOVFRZUEVTX0gKfCAjIGlu Y2x1ZGUgPGludHR5cGVzLmg+CnwgI2VuZGlmCnwgI2lmZGVmIEhBVkVfU1RESU5UX0gKfCAjIGlu Y2x1ZGUgPHN0ZGludC5oPgp8ICNlbmRpZgp8ICNpZmRlZiBIQVZFX1VOSVNURF9ICnwgIyBpbmNs dWRlIDx1bmlzdGQuaD4KfCAjZW5kaWYKfCAjaW5jbHVkZSA8bGFuZ2luZm8uaD4KY29uZmlndXJl OjEyNTE0OiByZXN1bHQ6IG5vCmNvbmZpZ3VyZToxMjUxNDogY2hlY2tpbmcgbGFuZ2luZm8uaCBw cmVzZW5jZQpjb25maWd1cmU6MTI1MTQ6IHg4Nl82NC13NjQtbWluZ3czMi1nY2MgLUUgIC1JL3cv Ui0zLjUuXy9wb3N0Z3Jlcy9zcmMvaW5jbHVkZS9wb3J0L3dpbjMyIC1ERVhFQ19CQUNLRU5EICAt SS93L3psaWItMS4yLjgtd2luMzIteDg2XzY0L2luY2x1ZGUgLUkvdy9vcGVuc3NsLTEuMC4yZS13 aW4zMi14ODZfNjQvaW5jbHVkZSAtSS93L2xpYnhtbDItMi45LjMtd2luMzIteDg2XzY0L2luY2x1 ZGUvbGlieG1sMiAtSS93L2xpYnhzbHQtMS4xLjI4LXdpbjMyLXg4Nl82NC9pbmNsdWRlIGNvbmZ0 ZXN0LmMKY29uZnRlc3QuYzo0NjoxMDogZmF0YWwgZXJyb3I6IGxhbmdpbmZvLmg6IE5vIHN1Y2gg ZmlsZSBvciBkaXJlY3RvcnkKICNpbmNsdWRlIDxsYW5naW5mby5oPgogICAgICAgICAgXn5+fn5+ fn5+fn5+CmNvbXBpbGF0aW9uIHRlcm1pbmF0ZWQuDQpjb25maWd1cmU6MTI1MTQ6ICQ/ID0gMQpj b25maWd1cmU6IGZhaWxlZCBwcm9ncmFtIHdhczoKfCAvKiBjb25mZGVmcy5oICovCnwgI2RlZmlu ZSBQQUNLQUdFX05BTUUgIlBvc3RncmVTUUwiCnwgI2RlZmluZSBQQUNLQUdFX1RBUk5BTUUgInBv c3RncmVzcWwiCnwgI2RlZmluZSBQQUNLQUdFX1ZFUlNJT04gIjExYmV0YTMiCnwgI2RlZmluZSBQ QUNLQUdFX1NUUklORyAiUG9zdGdyZVNRTCAxMWJldGEzIgp8ICNkZWZpbmUgUEFDS0FHRV9CVUdS RVBPUlQgInBnc3FsLWJ1Z3NAcG9zdGdyZXNxbC5vcmciCnwgI2RlZmluZSBQQUNLQUdFX1VSTCAi Igp8ICNkZWZpbmUgUEdfTUFKT1JWRVJTSU9OICIxMSIKfCAjZGVmaW5lIFBHX1ZFUlNJT04gIjEx YmV0YTMiCnwgI2RlZmluZSBERUZfUEdQT1JUIDU0MzIKfCAjZGVmaW5lIERFRl9QR1BPUlRfU1RS ICI1NDMyIgp8ICNkZWZpbmUgQkxDS1NaIDgxOTIKfCAjZGVmaW5lIFJFTFNFR19TSVpFIDEzMTA3 Mgp8ICNkZWZpbmUgWExPR19CTENLU1ogODE5Mgp8ICNkZWZpbmUgVVNFX0FTU0VSVF9DSEVDS0lO RyAxCnwgI2RlZmluZSBFTkFCTEVfVEhSRUFEX1NBRkVUWSAxCnwgI2RlZmluZSBVU0VfSUNVIDEK fCAjZGVmaW5lIFBHX0tSQl9TUlZOQU0gInBvc3RncmVzIgp8ICNkZWZpbmUgVVNFX09QRU5TU0wg MQp8ICNkZWZpbmUgVVNFX0xJQlhNTCAxCnwgI2RlZmluZSBVU0VfTElCWFNMVCAxCnwgI2RlZmlu ZSBTVERDX0hFQURFUlMgMQp8ICNkZWZpbmUgSEFWRV9TWVNfVFlQRVNfSCAxCnwgI2RlZmluZSBI QVZFX1NZU19TVEFUX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERMSUJfSCAxCnwgI2RlZmluZSBIQVZF X1NUUklOR19IIDEKfCAjZGVmaW5lIEhBVkVfTUVNT1JZX0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJJ TkdTX0ggMQp8ICNkZWZpbmUgSEFWRV9JTlRUWVBFU19IIDEKfCAjZGVmaW5lIEhBVkVfU1RESU5U X0ggMQp8ICNkZWZpbmUgSEFWRV9VTklTVERfSCAxCnwgI2RlZmluZSBIQVZFX0xJQk0gMQp8ICNk ZWZpbmUgSEFWRV9MSUJaIDEKfCAjZGVmaW5lIEhBVkVfU1BJTkxPQ0tTIDEKfCAjZGVmaW5lIEhB VkVfQVRPTUlDUyAxCnwgI2RlZmluZSBIQVZFX1NTTF9HRVRfQ1VSUkVOVF9DT01QUkVTU0lPTiAx CnwgI2RlZmluZSBIQVZFX1g1MDlfR0VUX1NJR05BVFVSRV9OSUQgMQp8ICNkZWZpbmUgSEFWRV9D UllQVE9fTE9DSyAxCnwgI2RlZmluZSBIQVZFX0xJQlhNTDIgMQp8ICNkZWZpbmUgSEFWRV9MSUJY U0xUIDEKfCAjZGVmaW5lIEhBVkVfX0JPT0wgMQp8ICNkZWZpbmUgSEFWRV9TVERCT09MX0ggMQp8 ICNkZWZpbmUgSEFWRV9HRVRPUFRfSCAxCnwgI2RlZmluZSBIQVZFX0lFRUVGUF9IIDEKfCAvKiBl bmQgY29uZmRlZnMuaC4gICovCnwgI2luY2x1ZGUgPGxhbmdpbmZvLmg+CmNvbmZpZ3VyZToxMjUx NDogcmVzdWx0OiBubwpjb25maWd1cmU6MTI1MTQ6IGNoZWNraW5nIGZvciBsYW5naW5mby5oCmNv bmZpZ3VyZToxMjUxNDogcmVzdWx0OiBubwpjb25maWd1cmU6MTI1MTQ6IGNoZWNraW5nIG1iYXJy aWVyLmggdXNhYmlsaXR5CmNvbmZpZ3VyZToxMjUxNDogeDg2XzY0LXc2NC1taW5ndzMyLWdjYyAt YyAtV2FsbCAtV21pc3NpbmctcHJvdG90eXBlcyAtV3BvaW50ZXItYXJpdGggLVdkZWNsYXJhdGlv bi1hZnRlci1zdGF0ZW1lbnQgLVdlbmRpZi1sYWJlbHMgLVdtaXNzaW5nLWZvcm1hdC1hdHRyaWJ1 dGUgLVdmb3JtYXQtc2VjdXJpdHkgLWZuby1zdHJpY3QtYWxpYXNpbmcgLWZ3cmFwdiAtZmV4Y2Vz cy1wcmVjaXNpb249c3RhbmRhcmQgLVduby1mb3JtYXQtdHJ1bmNhdGlvbiAtV25vLXN0cmluZ29w LXRydW5jYXRpb24gLWcgLU8gLWZuby1vbWl0LWZyYW1lLXBvaW50ZXIgIC1JL3cvUi0zLjUuXy9w b3N0Z3Jlcy9zcmMvaW5jbHVkZS9wb3J0L3dpbjMyIC1ERVhFQ19CQUNLRU5EICAtSS93L3psaWIt MS4yLjgtd2luMzIteDg2XzY0L2luY2x1ZGUgLUkvdy9vcGVuc3NsLTEuMC4yZS13aW4zMi14ODZf NjQvaW5jbHVkZSAtSS93L2xpYnhtbDItMi45LjMtd2luMzIteDg2XzY0L2luY2x1ZGUvbGlieG1s MiAtSS93L2xpYnhzbHQtMS4xLjI4LXdpbjMyLXg4Nl82NC9pbmNsdWRlIGNvbmZ0ZXN0LmMgPiY1 CmNvbmZ0ZXN0LmM6Nzk6MTA6IGZhdGFsIGVycm9yOiBtYmFycmllci5oOiBObyBzdWNoIGZpbGUg b3IgZGlyZWN0b3J5CiAjaW5jbHVkZSA8bWJhcnJpZXIuaD4KICAgICAgICAgIF5+fn5+fn5+fn5+ fgpjb21waWxhdGlvbiB0ZXJtaW5hdGVkLg0KY29uZmlndXJlOjEyNTE0OiAkPyA9IDEKY29uZmln dXJlOiBmYWlsZWQgcHJvZ3JhbSB3YXM6CnwgLyogY29uZmRlZnMuaCAqLwp8ICNkZWZpbmUgUEFD S0FHRV9OQU1FICJQb3N0Z3JlU1FMIgp8ICNkZWZpbmUgUEFDS0FHRV9UQVJOQU1FICJwb3N0Z3Jl c3FsIgp8ICNkZWZpbmUgUEFDS0FHRV9WRVJTSU9OICIxMWJldGEzIgp8ICNkZWZpbmUgUEFDS0FH RV9TVFJJTkcgIlBvc3RncmVTUUwgMTFiZXRhMyIKfCAjZGVmaW5lIFBBQ0tBR0VfQlVHUkVQT1JU ICJwZ3NxbC1idWdzQHBvc3RncmVzcWwub3JnIgp8ICNkZWZpbmUgUEFDS0FHRV9VUkwgIiIKfCAj ZGVmaW5lIFBHX01BSk9SVkVSU0lPTiAiMTEiCnwgI2RlZmluZSBQR19WRVJTSU9OICIxMWJldGEz Igp8ICNkZWZpbmUgREVGX1BHUE9SVCA1NDMyCnwgI2RlZmluZSBERUZfUEdQT1JUX1NUUiAiNTQz MiIKfCAjZGVmaW5lIEJMQ0tTWiA4MTkyCnwgI2RlZmluZSBSRUxTRUdfU0laRSAxMzEwNzIKfCAj ZGVmaW5lIFhMT0dfQkxDS1NaIDgxOTIKfCAjZGVmaW5lIFVTRV9BU1NFUlRfQ0hFQ0tJTkcgMQp8 ICNkZWZpbmUgRU5BQkxFX1RIUkVBRF9TQUZFVFkgMQp8ICNkZWZpbmUgVVNFX0lDVSAxCnwgI2Rl ZmluZSBQR19LUkJfU1JWTkFNICJwb3N0Z3JlcyIKfCAjZGVmaW5lIFVTRV9PUEVOU1NMIDEKfCAj ZGVmaW5lIFVTRV9MSUJYTUwgMQp8ICNkZWZpbmUgVVNFX0xJQlhTTFQgMQp8ICNkZWZpbmUgU1RE Q19IRUFERVJTIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1RZUEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9T WVNfU1RBVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1RETElCX0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJJ TkdfSCAxCnwgI2RlZmluZSBIQVZFX01FTU9SWV9IIDEKfCAjZGVmaW5lIEhBVkVfU1RSSU5HU19I IDEKfCAjZGVmaW5lIEhBVkVfSU5UVFlQRVNfSCAxCnwgI2RlZmluZSBIQVZFX1NURElOVF9IIDEK fCAjZGVmaW5lIEhBVkVfVU5JU1REX0ggMQp8ICNkZWZpbmUgSEFWRV9MSUJNIDEKfCAjZGVmaW5l IEhBVkVfTElCWiAxCnwgI2RlZmluZSBIQVZFX1NQSU5MT0NLUyAxCnwgI2RlZmluZSBIQVZFX0FU T01JQ1MgMQp8ICNkZWZpbmUgSEFWRV9TU0xfR0VUX0NVUlJFTlRfQ09NUFJFU1NJT04gMQp8ICNk ZWZpbmUgSEFWRV9YNTA5X0dFVF9TSUdOQVRVUkVfTklEIDEKfCAjZGVmaW5lIEhBVkVfQ1JZUFRP X0xPQ0sgMQp8ICNkZWZpbmUgSEFWRV9MSUJYTUwyIDEKfCAjZGVmaW5lIEhBVkVfTElCWFNMVCAx CnwgI2RlZmluZSBIQVZFX19CT09MIDEKfCAjZGVmaW5lIEhBVkVfU1REQk9PTF9IIDEKfCAjZGVm aW5lIEhBVkVfR0VUT1BUX0ggMQp8ICNkZWZpbmUgSEFWRV9JRUVFRlBfSCAxCnwgLyogZW5kIGNv bmZkZWZzLmguICAqLwp8ICNpbmNsdWRlIDxzdGRpby5oPgp8ICNpZmRlZiBIQVZFX1NZU19UWVBF U19ICnwgIyBpbmNsdWRlIDxzeXMvdHlwZXMuaD4KfCAjZW5kaWYKfCAjaWZkZWYgSEFWRV9TWVNf U1RBVF9ICnwgIyBpbmNsdWRlIDxzeXMvc3RhdC5oPgp8ICNlbmRpZgp8ICNpZmRlZiBTVERDX0hF QURFUlMKfCAjIGluY2x1ZGUgPHN0ZGxpYi5oPgp8ICMgaW5jbHVkZSA8c3RkZGVmLmg+CnwgI2Vs c2UKfCAjIGlmZGVmIEhBVkVfU1RETElCX0gKfCAjICBpbmNsdWRlIDxzdGRsaWIuaD4KfCAjIGVu ZGlmCnwgI2VuZGlmCnwgI2lmZGVmIEhBVkVfU1RSSU5HX0gKfCAjIGlmICFkZWZpbmVkIFNURENf SEVBREVSUyAmJiBkZWZpbmVkIEhBVkVfTUVNT1JZX0gKfCAjICBpbmNsdWRlIDxtZW1vcnkuaD4K fCAjIGVuZGlmCnwgIyBpbmNsdWRlIDxzdHJpbmcuaD4KfCAjZW5kaWYKfCAjaWZkZWYgSEFWRV9T VFJJTkdTX0gKfCAjIGluY2x1ZGUgPHN0cmluZ3MuaD4KfCAjZW5kaWYKfCAjaWZkZWYgSEFWRV9J TlRUWVBFU19ICnwgIyBpbmNsdWRlIDxpbnR0eXBlcy5oPgp8ICNlbmRpZgp8ICNpZmRlZiBIQVZF X1NURElOVF9ICnwgIyBpbmNsdWRlIDxzdGRpbnQuaD4KfCAjZW5kaWYKfCAjaWZkZWYgSEFWRV9V TklTVERfSAp8ICMgaW5jbHVkZSA8dW5pc3RkLmg+CnwgI2VuZGlmCnwgI2luY2x1ZGUgPG1iYXJy aWVyLmg+CmNvbmZpZ3VyZToxMjUxNDogcmVzdWx0OiBubwpjb25maWd1cmU6MTI1MTQ6IGNoZWNr aW5nIG1iYXJyaWVyLmggcHJlc2VuY2UKY29uZmlndXJlOjEyNTE0OiB4ODZfNjQtdzY0LW1pbmd3 MzItZ2NjIC1FICAtSS93L1ItMy41Ll8vcG9zdGdyZXMvc3JjL2luY2x1ZGUvcG9ydC93aW4zMiAt REVYRUNfQkFDS0VORCAgLUkvdy96bGliLTEuMi44LXdpbjMyLXg4Nl82NC9pbmNsdWRlIC1JL3cv b3BlbnNzbC0xLjAuMmUtd2luMzIteDg2XzY0L2luY2x1ZGUgLUkvdy9saWJ4bWwyLTIuOS4zLXdp bjMyLXg4Nl82NC9pbmNsdWRlL2xpYnhtbDIgLUkvdy9saWJ4c2x0LTEuMS4yOC13aW4zMi14ODZf NjQvaW5jbHVkZSBjb25mdGVzdC5jCmNvbmZ0ZXN0LmM6NDY6MTA6IGZhdGFsIGVycm9yOiBtYmFy cmllci5oOiBObyBzdWNoIGZpbGUgb3IgZGlyZWN0b3J5CiAjaW5jbHVkZSA8bWJhcnJpZXIuaD4K ICAgICAgICAgIF5+fn5+fn5+fn5+fgpjb21waWxhdGlvbiB0ZXJtaW5hdGVkLg0KY29uZmlndXJl OjEyNTE0OiAkPyA9IDEKY29uZmlndXJlOiBmYWlsZWQgcHJvZ3JhbSB3YXM6CnwgLyogY29uZmRl ZnMuaCAqLwp8ICNkZWZpbmUgUEFDS0FHRV9OQU1FICJQb3N0Z3JlU1FMIgp8ICNkZWZpbmUgUEFD S0FHRV9UQVJOQU1FICJwb3N0Z3Jlc3FsIgp8ICNkZWZpbmUgUEFDS0FHRV9WRVJTSU9OICIxMWJl dGEzIgp8ICNkZWZpbmUgUEFDS0FHRV9TVFJJTkcgIlBvc3RncmVTUUwgMTFiZXRhMyIKfCAjZGVm aW5lIFBBQ0tBR0VfQlVHUkVQT1JUICJwZ3NxbC1idWdzQHBvc3RncmVzcWwub3JnIgp8ICNkZWZp bmUgUEFDS0FHRV9VUkwgIiIKfCAjZGVmaW5lIFBHX01BSk9SVkVSU0lPTiAiMTEiCnwgI2RlZmlu ZSBQR19WRVJTSU9OICIxMWJldGEzIgp8ICNkZWZpbmUgREVGX1BHUE9SVCA1NDMyCnwgI2RlZmlu ZSBERUZfUEdQT1JUX1NUUiAiNTQzMiIKfCAjZGVmaW5lIEJMQ0tTWiA4MTkyCnwgI2RlZmluZSBS RUxTRUdfU0laRSAxMzEwNzIKfCAjZGVmaW5lIFhMT0dfQkxDS1NaIDgxOTIKfCAjZGVmaW5lIFVT RV9BU1NFUlRfQ0hFQ0tJTkcgMQp8ICNkZWZpbmUgRU5BQkxFX1RIUkVBRF9TQUZFVFkgMQp8ICNk ZWZpbmUgVVNFX0lDVSAxCnwgI2RlZmluZSBQR19LUkJfU1JWTkFNICJwb3N0Z3JlcyIKfCAjZGVm aW5lIFVTRV9PUEVOU1NMIDEKfCAjZGVmaW5lIFVTRV9MSUJYTUwgMQp8ICNkZWZpbmUgVVNFX0xJ QlhTTFQgMQp8ICNkZWZpbmUgU1REQ19IRUFERVJTIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1RZUEVT X0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfU1RBVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1RETElCX0gg MQp8ICNkZWZpbmUgSEFWRV9TVFJJTkdfSCAxCnwgI2RlZmluZSBIQVZFX01FTU9SWV9IIDEKfCAj ZGVmaW5lIEhBVkVfU1RSSU5HU19IIDEKfCAjZGVmaW5lIEhBVkVfSU5UVFlQRVNfSCAxCnwgI2Rl ZmluZSBIQVZFX1NURElOVF9IIDEKfCAjZGVmaW5lIEhBVkVfVU5JU1REX0ggMQp8ICNkZWZpbmUg SEFWRV9MSUJNIDEKfCAjZGVmaW5lIEhBVkVfTElCWiAxCnwgI2RlZmluZSBIQVZFX1NQSU5MT0NL UyAxCnwgI2RlZmluZSBIQVZFX0FUT01JQ1MgMQp8ICNkZWZpbmUgSEFWRV9TU0xfR0VUX0NVUlJF TlRfQ09NUFJFU1NJT04gMQp8ICNkZWZpbmUgSEFWRV9YNTA5X0dFVF9TSUdOQVRVUkVfTklEIDEK fCAjZGVmaW5lIEhBVkVfQ1JZUFRPX0xPQ0sgMQp8ICNkZWZpbmUgSEFWRV9MSUJYTUwyIDEKfCAj ZGVmaW5lIEhBVkVfTElCWFNMVCAxCnwgI2RlZmluZSBIQVZFX19CT09MIDEKfCAjZGVmaW5lIEhB VkVfU1REQk9PTF9IIDEKfCAjZGVmaW5lIEhBVkVfR0VUT1BUX0ggMQp8ICNkZWZpbmUgSEFWRV9J RUVFRlBfSCAxCnwgLyogZW5kIGNvbmZkZWZzLmguICAqLwp8ICNpbmNsdWRlIDxtYmFycmllci5o Pgpjb25maWd1cmU6MTI1MTQ6IHJlc3VsdDogbm8KY29uZmlndXJlOjEyNTE0OiBjaGVja2luZyBm b3IgbWJhcnJpZXIuaApjb25maWd1cmU6MTI1MTQ6IHJlc3VsdDogbm8KY29uZmlndXJlOjEyNTE0 OiBjaGVja2luZyBwb2xsLmggdXNhYmlsaXR5CmNvbmZpZ3VyZToxMjUxNDogeDg2XzY0LXc2NC1t aW5ndzMyLWdjYyAtYyAtV2FsbCAtV21pc3NpbmctcHJvdG90eXBlcyAtV3BvaW50ZXItYXJpdGgg LVdkZWNsYXJhdGlvbi1hZnRlci1zdGF0ZW1lbnQgLVdlbmRpZi1sYWJlbHMgLVdtaXNzaW5nLWZv cm1hdC1hdHRyaWJ1dGUgLVdmb3JtYXQtc2VjdXJpdHkgLWZuby1zdHJpY3QtYWxpYXNpbmcgLWZ3 cmFwdiAtZmV4Y2Vzcy1wcmVjaXNpb249c3RhbmRhcmQgLVduby1mb3JtYXQtdHJ1bmNhdGlvbiAt V25vLXN0cmluZ29wLXRydW5jYXRpb24gLWcgLU8gLWZuby1vbWl0LWZyYW1lLXBvaW50ZXIgIC1J L3cvUi0zLjUuXy9wb3N0Z3Jlcy9zcmMvaW5jbHVkZS9wb3J0L3dpbjMyIC1ERVhFQ19CQUNLRU5E ICAtSS93L3psaWItMS4yLjgtd2luMzIteDg2XzY0L2luY2x1ZGUgLUkvdy9vcGVuc3NsLTEuMC4y ZS13aW4zMi14ODZfNjQvaW5jbHVkZSAtSS93L2xpYnhtbDItMi45LjMtd2luMzIteDg2XzY0L2lu Y2x1ZGUvbGlieG1sMiAtSS93L2xpYnhzbHQtMS4xLjI4LXdpbjMyLXg4Nl82NC9pbmNsdWRlIGNv bmZ0ZXN0LmMgPiY1CmNvbmZ0ZXN0LmM6Nzk6MTA6IGZhdGFsIGVycm9yOiBwb2xsLmg6IE5vIHN1 Y2ggZmlsZSBvciBkaXJlY3RvcnkKICNpbmNsdWRlIDxwb2xsLmg+CiAgICAgICAgICBefn5+fn5+ fgpjb21waWxhdGlvbiB0ZXJtaW5hdGVkLg0KY29uZmlndXJlOjEyNTE0OiAkPyA9IDEKY29uZmln dXJlOiBmYWlsZWQgcHJvZ3JhbSB3YXM6CnwgLyogY29uZmRlZnMuaCAqLwp8ICNkZWZpbmUgUEFD S0FHRV9OQU1FICJQb3N0Z3JlU1FMIgp8ICNkZWZpbmUgUEFDS0FHRV9UQVJOQU1FICJwb3N0Z3Jl c3FsIgp8ICNkZWZpbmUgUEFDS0FHRV9WRVJTSU9OICIxMWJldGEzIgp8ICNkZWZpbmUgUEFDS0FH RV9TVFJJTkcgIlBvc3RncmVTUUwgMTFiZXRhMyIKfCAjZGVmaW5lIFBBQ0tBR0VfQlVHUkVQT1JU ICJwZ3NxbC1idWdzQHBvc3RncmVzcWwub3JnIgp8ICNkZWZpbmUgUEFDS0FHRV9VUkwgIiIKfCAj ZGVmaW5lIFBHX01BSk9SVkVSU0lPTiAiMTEiCnwgI2RlZmluZSBQR19WRVJTSU9OICIxMWJldGEz Igp8ICNkZWZpbmUgREVGX1BHUE9SVCA1NDMyCnwgI2RlZmluZSBERUZfUEdQT1JUX1NUUiAiNTQz MiIKfCAjZGVmaW5lIEJMQ0tTWiA4MTkyCnwgI2RlZmluZSBSRUxTRUdfU0laRSAxMzEwNzIKfCAj ZGVmaW5lIFhMT0dfQkxDS1NaIDgxOTIKfCAjZGVmaW5lIFVTRV9BU1NFUlRfQ0hFQ0tJTkcgMQp8 ICNkZWZpbmUgRU5BQkxFX1RIUkVBRF9TQUZFVFkgMQp8ICNkZWZpbmUgVVNFX0lDVSAxCnwgI2Rl ZmluZSBQR19LUkJfU1JWTkFNICJwb3N0Z3JlcyIKfCAjZGVmaW5lIFVTRV9PUEVOU1NMIDEKfCAj ZGVmaW5lIFVTRV9MSUJYTUwgMQp8ICNkZWZpbmUgVVNFX0xJQlhTTFQgMQp8ICNkZWZpbmUgU1RE Q19IRUFERVJTIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1RZUEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9T WVNfU1RBVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1RETElCX0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJJ TkdfSCAxCnwgI2RlZmluZSBIQVZFX01FTU9SWV9IIDEKfCAjZGVmaW5lIEhBVkVfU1RSSU5HU19I IDEKfCAjZGVmaW5lIEhBVkVfSU5UVFlQRVNfSCAxCnwgI2RlZmluZSBIQVZFX1NURElOVF9IIDEK fCAjZGVmaW5lIEhBVkVfVU5JU1REX0ggMQp8ICNkZWZpbmUgSEFWRV9MSUJNIDEKfCAjZGVmaW5l IEhBVkVfTElCWiAxCnwgI2RlZmluZSBIQVZFX1NQSU5MT0NLUyAxCnwgI2RlZmluZSBIQVZFX0FU T01JQ1MgMQp8ICNkZWZpbmUgSEFWRV9TU0xfR0VUX0NVUlJFTlRfQ09NUFJFU1NJT04gMQp8ICNk ZWZpbmUgSEFWRV9YNTA5X0dFVF9TSUdOQVRVUkVfTklEIDEKfCAjZGVmaW5lIEhBVkVfQ1JZUFRP X0xPQ0sgMQp8ICNkZWZpbmUgSEFWRV9MSUJYTUwyIDEKfCAjZGVmaW5lIEhBVkVfTElCWFNMVCAx CnwgI2RlZmluZSBIQVZFX19CT09MIDEKfCAjZGVmaW5lIEhBVkVfU1REQk9PTF9IIDEKfCAjZGVm aW5lIEhBVkVfR0VUT1BUX0ggMQp8ICNkZWZpbmUgSEFWRV9JRUVFRlBfSCAxCnwgLyogZW5kIGNv bmZkZWZzLmguICAqLwp8ICNpbmNsdWRlIDxzdGRpby5oPgp8ICNpZmRlZiBIQVZFX1NZU19UWVBF U19ICnwgIyBpbmNsdWRlIDxzeXMvdHlwZXMuaD4KfCAjZW5kaWYKfCAjaWZkZWYgSEFWRV9TWVNf U1RBVF9ICnwgIyBpbmNsdWRlIDxzeXMvc3RhdC5oPgp8ICNlbmRpZgp8ICNpZmRlZiBTVERDX0hF QURFUlMKfCAjIGluY2x1ZGUgPHN0ZGxpYi5oPgp8ICMgaW5jbHVkZSA8c3RkZGVmLmg+CnwgI2Vs c2UKfCAjIGlmZGVmIEhBVkVfU1RETElCX0gKfCAjICBpbmNsdWRlIDxzdGRsaWIuaD4KfCAjIGVu ZGlmCnwgI2VuZGlmCnwgI2lmZGVmIEhBVkVfU1RSSU5HX0gKfCAjIGlmICFkZWZpbmVkIFNURENf SEVBREVSUyAmJiBkZWZpbmVkIEhBVkVfTUVNT1JZX0gKfCAjICBpbmNsdWRlIDxtZW1vcnkuaD4K fCAjIGVuZGlmCnwgIyBpbmNsdWRlIDxzdHJpbmcuaD4KfCAjZW5kaWYKfCAjaWZkZWYgSEFWRV9T VFJJTkdTX0gKfCAjIGluY2x1ZGUgPHN0cmluZ3MuaD4KfCAjZW5kaWYKfCAjaWZkZWYgSEFWRV9J TlRUWVBFU19ICnwgIyBpbmNsdWRlIDxpbnR0eXBlcy5oPgp8ICNlbmRpZgp8ICNpZmRlZiBIQVZF X1NURElOVF9ICnwgIyBpbmNsdWRlIDxzdGRpbnQuaD4KfCAjZW5kaWYKfCAjaWZkZWYgSEFWRV9V TklTVERfSAp8ICMgaW5jbHVkZSA8dW5pc3RkLmg+CnwgI2VuZGlmCnwgI2luY2x1ZGUgPHBvbGwu aD4KY29uZmlndXJlOjEyNTE0OiByZXN1bHQ6IG5vCmNvbmZpZ3VyZToxMjUxNDogY2hlY2tpbmcg cG9sbC5oIHByZXNlbmNlCmNvbmZpZ3VyZToxMjUxNDogeDg2XzY0LXc2NC1taW5ndzMyLWdjYyAt RSAgLUkvdy9SLTMuNS5fL3Bvc3RncmVzL3NyYy9pbmNsdWRlL3BvcnQvd2luMzIgLURFWEVDX0JB Q0tFTkQgIC1JL3cvemxpYi0xLjIuOC13aW4zMi14ODZfNjQvaW5jbHVkZSAtSS93L29wZW5zc2wt MS4wLjJlLXdpbjMyLXg4Nl82NC9pbmNsdWRlIC1JL3cvbGlieG1sMi0yLjkuMy13aW4zMi14ODZf NjQvaW5jbHVkZS9saWJ4bWwyIC1JL3cvbGlieHNsdC0xLjEuMjgtd2luMzIteDg2XzY0L2luY2x1 ZGUgY29uZnRlc3QuYwpjb25mdGVzdC5jOjQ2OjEwOiBmYXRhbCBlcnJvcjogcG9sbC5oOiBObyBz dWNoIGZpbGUgb3IgZGlyZWN0b3J5CiAjaW5jbHVkZSA8cG9sbC5oPgogICAgICAgICAgXn5+fn5+ fn4KY29tcGlsYXRpb24gdGVybWluYXRlZC4NCmNvbmZpZ3VyZToxMjUxNDogJD8gPSAxCmNvbmZp Z3VyZTogZmFpbGVkIHByb2dyYW0gd2FzOgp8IC8qIGNvbmZkZWZzLmggKi8KfCAjZGVmaW5lIFBB Q0tBR0VfTkFNRSAiUG9zdGdyZVNRTCIKfCAjZGVmaW5lIFBBQ0tBR0VfVEFSTkFNRSAicG9zdGdy ZXNxbCIKfCAjZGVmaW5lIFBBQ0tBR0VfVkVSU0lPTiAiMTFiZXRhMyIKfCAjZGVmaW5lIFBBQ0tB R0VfU1RSSU5HICJQb3N0Z3JlU1FMIDExYmV0YTMiCnwgI2RlZmluZSBQQUNLQUdFX0JVR1JFUE9S VCAicGdzcWwtYnVnc0Bwb3N0Z3Jlc3FsLm9yZyIKfCAjZGVmaW5lIFBBQ0tBR0VfVVJMICIiCnwg I2RlZmluZSBQR19NQUpPUlZFUlNJT04gIjExIgp8ICNkZWZpbmUgUEdfVkVSU0lPTiAiMTFiZXRh MyIKfCAjZGVmaW5lIERFRl9QR1BPUlQgNTQzMgp8ICNkZWZpbmUgREVGX1BHUE9SVF9TVFIgIjU0 MzIiCnwgI2RlZmluZSBCTENLU1ogODE5Mgp8ICNkZWZpbmUgUkVMU0VHX1NJWkUgMTMxMDcyCnwg I2RlZmluZSBYTE9HX0JMQ0tTWiA4MTkyCnwgI2RlZmluZSBVU0VfQVNTRVJUX0NIRUNLSU5HIDEK fCAjZGVmaW5lIEVOQUJMRV9USFJFQURfU0FGRVRZIDEKfCAjZGVmaW5lIFVTRV9JQ1UgMQp8ICNk ZWZpbmUgUEdfS1JCX1NSVk5BTSAicG9zdGdyZXMiCnwgI2RlZmluZSBVU0VfT1BFTlNTTCAxCnwg I2RlZmluZSBVU0VfTElCWE1MIDEKfCAjZGVmaW5lIFVTRV9MSUJYU0xUIDEKfCAjZGVmaW5lIFNU RENfSEVBREVSUyAxCnwgI2RlZmluZSBIQVZFX1NZU19UWVBFU19IIDEKfCAjZGVmaW5lIEhBVkVf U1lTX1NUQVRfSCAxCnwgI2RlZmluZSBIQVZFX1NURExJQl9IIDEKfCAjZGVmaW5lIEhBVkVfU1RS SU5HX0ggMQp8ICNkZWZpbmUgSEFWRV9NRU1PUllfSCAxCnwgI2RlZmluZSBIQVZFX1NUUklOR1Nf SCAxCnwgI2RlZmluZSBIQVZFX0lOVFRZUEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERJTlRfSCAx CnwgI2RlZmluZSBIQVZFX1VOSVNURF9IIDEKfCAjZGVmaW5lIEhBVkVfTElCTSAxCnwgI2RlZmlu ZSBIQVZFX0xJQlogMQp8ICNkZWZpbmUgSEFWRV9TUElOTE9DS1MgMQp8ICNkZWZpbmUgSEFWRV9B VE9NSUNTIDEKfCAjZGVmaW5lIEhBVkVfU1NMX0dFVF9DVVJSRU5UX0NPTVBSRVNTSU9OIDEKfCAj ZGVmaW5lIEhBVkVfWDUwOV9HRVRfU0lHTkFUVVJFX05JRCAxCnwgI2RlZmluZSBIQVZFX0NSWVBU T19MT0NLIDEKfCAjZGVmaW5lIEhBVkVfTElCWE1MMiAxCnwgI2RlZmluZSBIQVZFX0xJQlhTTFQg MQp8ICNkZWZpbmUgSEFWRV9fQk9PTCAxCnwgI2RlZmluZSBIQVZFX1NUREJPT0xfSCAxCnwgI2Rl ZmluZSBIQVZFX0dFVE9QVF9IIDEKfCAjZGVmaW5lIEhBVkVfSUVFRUZQX0ggMQp8IC8qIGVuZCBj b25mZGVmcy5oLiAgKi8KfCAjaW5jbHVkZSA8cG9sbC5oPgpjb25maWd1cmU6MTI1MTQ6IHJlc3Vs dDogbm8KY29uZmlndXJlOjEyNTE0OiBjaGVja2luZyBmb3IgcG9sbC5oCmNvbmZpZ3VyZToxMjUx NDogcmVzdWx0OiBubwpjb25maWd1cmU6MTI1MTQ6IGNoZWNraW5nIHN5cy9lcG9sbC5oIHVzYWJp bGl0eQpjb25maWd1cmU6MTI1MTQ6IHg4Nl82NC13NjQtbWluZ3czMi1nY2MgLWMgLVdhbGwgLVdt aXNzaW5nLXByb3RvdHlwZXMgLVdwb2ludGVyLWFyaXRoIC1XZGVjbGFyYXRpb24tYWZ0ZXItc3Rh dGVtZW50IC1XZW5kaWYtbGFiZWxzIC1XbWlzc2luZy1mb3JtYXQtYXR0cmlidXRlIC1XZm9ybWF0 LXNlY3VyaXR5IC1mbm8tc3RyaWN0LWFsaWFzaW5nIC1md3JhcHYgLWZleGNlc3MtcHJlY2lzaW9u PXN0YW5kYXJkIC1Xbm8tZm9ybWF0LXRydW5jYXRpb24gLVduby1zdHJpbmdvcC10cnVuY2F0aW9u IC1nIC1PIC1mbm8tb21pdC1mcmFtZS1wb2ludGVyICAtSS93L1ItMy41Ll8vcG9zdGdyZXMvc3Jj L2luY2x1ZGUvcG9ydC93aW4zMiAtREVYRUNfQkFDS0VORCAgLUkvdy96bGliLTEuMi44LXdpbjMy LXg4Nl82NC9pbmNsdWRlIC1JL3cvb3BlbnNzbC0xLjAuMmUtd2luMzIteDg2XzY0L2luY2x1ZGUg LUkvdy9saWJ4bWwyLTIuOS4zLXdpbjMyLXg4Nl82NC9pbmNsdWRlL2xpYnhtbDIgLUkvdy9saWJ4 c2x0LTEuMS4yOC13aW4zMi14ODZfNjQvaW5jbHVkZSBjb25mdGVzdC5jID4mNQpjb25mdGVzdC5j Ojc5OjEwOiBmYXRhbCBlcnJvcjogc3lzL2Vwb2xsLmg6IE5vIHN1Y2ggZmlsZSBvciBkaXJlY3Rv cnkKICNpbmNsdWRlIDxzeXMvZXBvbGwuaD4KICAgICAgICAgIF5+fn5+fn5+fn5+fn4KY29tcGls YXRpb24gdGVybWluYXRlZC4NCmNvbmZpZ3VyZToxMjUxNDogJD8gPSAxCmNvbmZpZ3VyZTogZmFp bGVkIHByb2dyYW0gd2FzOgp8IC8qIGNvbmZkZWZzLmggKi8KfCAjZGVmaW5lIFBBQ0tBR0VfTkFN RSAiUG9zdGdyZVNRTCIKfCAjZGVmaW5lIFBBQ0tBR0VfVEFSTkFNRSAicG9zdGdyZXNxbCIKfCAj ZGVmaW5lIFBBQ0tBR0VfVkVSU0lPTiAiMTFiZXRhMyIKfCAjZGVmaW5lIFBBQ0tBR0VfU1RSSU5H ICJQb3N0Z3JlU1FMIDExYmV0YTMiCnwgI2RlZmluZSBQQUNLQUdFX0JVR1JFUE9SVCAicGdzcWwt YnVnc0Bwb3N0Z3Jlc3FsLm9yZyIKfCAjZGVmaW5lIFBBQ0tBR0VfVVJMICIiCnwgI2RlZmluZSBQ R19NQUpPUlZFUlNJT04gIjExIgp8ICNkZWZpbmUgUEdfVkVSU0lPTiAiMTFiZXRhMyIKfCAjZGVm aW5lIERFRl9QR1BPUlQgNTQzMgp8ICNkZWZpbmUgREVGX1BHUE9SVF9TVFIgIjU0MzIiCnwgI2Rl ZmluZSBCTENLU1ogODE5Mgp8ICNkZWZpbmUgUkVMU0VHX1NJWkUgMTMxMDcyCnwgI2RlZmluZSBY TE9HX0JMQ0tTWiA4MTkyCnwgI2RlZmluZSBVU0VfQVNTRVJUX0NIRUNLSU5HIDEKfCAjZGVmaW5l IEVOQUJMRV9USFJFQURfU0FGRVRZIDEKfCAjZGVmaW5lIFVTRV9JQ1UgMQp8ICNkZWZpbmUgUEdf S1JCX1NSVk5BTSAicG9zdGdyZXMiCnwgI2RlZmluZSBVU0VfT1BFTlNTTCAxCnwgI2RlZmluZSBV U0VfTElCWE1MIDEKfCAjZGVmaW5lIFVTRV9MSUJYU0xUIDEKfCAjZGVmaW5lIFNURENfSEVBREVS UyAxCnwgI2RlZmluZSBIQVZFX1NZU19UWVBFU19IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NUQVRf SCAxCnwgI2RlZmluZSBIQVZFX1NURExJQl9IIDEKfCAjZGVmaW5lIEhBVkVfU1RSSU5HX0ggMQp8 ICNkZWZpbmUgSEFWRV9NRU1PUllfSCAxCnwgI2RlZmluZSBIQVZFX1NUUklOR1NfSCAxCnwgI2Rl ZmluZSBIQVZFX0lOVFRZUEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERJTlRfSCAxCnwgI2RlZmlu ZSBIQVZFX1VOSVNURF9IIDEKfCAjZGVmaW5lIEhBVkVfTElCTSAxCnwgI2RlZmluZSBIQVZFX0xJ QlogMQp8ICNkZWZpbmUgSEFWRV9TUElOTE9DS1MgMQp8ICNkZWZpbmUgSEFWRV9BVE9NSUNTIDEK fCAjZGVmaW5lIEhBVkVfU1NMX0dFVF9DVVJSRU5UX0NPTVBSRVNTSU9OIDEKfCAjZGVmaW5lIEhB VkVfWDUwOV9HRVRfU0lHTkFUVVJFX05JRCAxCnwgI2RlZmluZSBIQVZFX0NSWVBUT19MT0NLIDEK fCAjZGVmaW5lIEhBVkVfTElCWE1MMiAxCnwgI2RlZmluZSBIQVZFX0xJQlhTTFQgMQp8ICNkZWZp bmUgSEFWRV9fQk9PTCAxCnwgI2RlZmluZSBIQVZFX1NUREJPT0xfSCAxCnwgI2RlZmluZSBIQVZF X0dFVE9QVF9IIDEKfCAjZGVmaW5lIEhBVkVfSUVFRUZQX0ggMQp8IC8qIGVuZCBjb25mZGVmcy5o LiAgKi8KfCAjaW5jbHVkZSA8c3RkaW8uaD4KfCAjaWZkZWYgSEFWRV9TWVNfVFlQRVNfSAp8ICMg aW5jbHVkZSA8c3lzL3R5cGVzLmg+CnwgI2VuZGlmCnwgI2lmZGVmIEhBVkVfU1lTX1NUQVRfSAp8 ICMgaW5jbHVkZSA8c3lzL3N0YXQuaD4KfCAjZW5kaWYKfCAjaWZkZWYgU1REQ19IRUFERVJTCnwg IyBpbmNsdWRlIDxzdGRsaWIuaD4KfCAjIGluY2x1ZGUgPHN0ZGRlZi5oPgp8ICNlbHNlCnwgIyBp ZmRlZiBIQVZFX1NURExJQl9ICnwgIyAgaW5jbHVkZSA8c3RkbGliLmg+CnwgIyBlbmRpZgp8ICNl bmRpZgp8ICNpZmRlZiBIQVZFX1NUUklOR19ICnwgIyBpZiAhZGVmaW5lZCBTVERDX0hFQURFUlMg JiYgZGVmaW5lZCBIQVZFX01FTU9SWV9ICnwgIyAgaW5jbHVkZSA8bWVtb3J5Lmg+CnwgIyBlbmRp Zgp8ICMgaW5jbHVkZSA8c3RyaW5nLmg+CnwgI2VuZGlmCnwgI2lmZGVmIEhBVkVfU1RSSU5HU19I CnwgIyBpbmNsdWRlIDxzdHJpbmdzLmg+CnwgI2VuZGlmCnwgI2lmZGVmIEhBVkVfSU5UVFlQRVNf SAp8ICMgaW5jbHVkZSA8aW50dHlwZXMuaD4KfCAjZW5kaWYKfCAjaWZkZWYgSEFWRV9TVERJTlRf SAp8ICMgaW5jbHVkZSA8c3RkaW50Lmg+CnwgI2VuZGlmCnwgI2lmZGVmIEhBVkVfVU5JU1REX0gK fCAjIGluY2x1ZGUgPHVuaXN0ZC5oPgp8ICNlbmRpZgp8ICNpbmNsdWRlIDxzeXMvZXBvbGwuaD4K Y29uZmlndXJlOjEyNTE0OiByZXN1bHQ6IG5vCmNvbmZpZ3VyZToxMjUxNDogY2hlY2tpbmcgc3lz L2Vwb2xsLmggcHJlc2VuY2UKY29uZmlndXJlOjEyNTE0OiB4ODZfNjQtdzY0LW1pbmd3MzItZ2Nj IC1FICAtSS93L1ItMy41Ll8vcG9zdGdyZXMvc3JjL2luY2x1ZGUvcG9ydC93aW4zMiAtREVYRUNf QkFDS0VORCAgLUkvdy96bGliLTEuMi44LXdpbjMyLXg4Nl82NC9pbmNsdWRlIC1JL3cvb3BlbnNz bC0xLjAuMmUtd2luMzIteDg2XzY0L2luY2x1ZGUgLUkvdy9saWJ4bWwyLTIuOS4zLXdpbjMyLXg4 Nl82NC9pbmNsdWRlL2xpYnhtbDIgLUkvdy9saWJ4c2x0LTEuMS4yOC13aW4zMi14ODZfNjQvaW5j bHVkZSBjb25mdGVzdC5jCmNvbmZ0ZXN0LmM6NDY6MTA6IGZhdGFsIGVycm9yOiBzeXMvZXBvbGwu aDogTm8gc3VjaCBmaWxlIG9yIGRpcmVjdG9yeQogI2luY2x1ZGUgPHN5cy9lcG9sbC5oPgogICAg ICAgICAgXn5+fn5+fn5+fn5+fgpjb21waWxhdGlvbiB0ZXJtaW5hdGVkLg0KY29uZmlndXJlOjEy NTE0OiAkPyA9IDEKY29uZmlndXJlOiBmYWlsZWQgcHJvZ3JhbSB3YXM6CnwgLyogY29uZmRlZnMu aCAqLwp8ICNkZWZpbmUgUEFDS0FHRV9OQU1FICJQb3N0Z3JlU1FMIgp8ICNkZWZpbmUgUEFDS0FH RV9UQVJOQU1FICJwb3N0Z3Jlc3FsIgp8ICNkZWZpbmUgUEFDS0FHRV9WRVJTSU9OICIxMWJldGEz Igp8ICNkZWZpbmUgUEFDS0FHRV9TVFJJTkcgIlBvc3RncmVTUUwgMTFiZXRhMyIKfCAjZGVmaW5l IFBBQ0tBR0VfQlVHUkVQT1JUICJwZ3NxbC1idWdzQHBvc3RncmVzcWwub3JnIgp8ICNkZWZpbmUg UEFDS0FHRV9VUkwgIiIKfCAjZGVmaW5lIFBHX01BSk9SVkVSU0lPTiAiMTEiCnwgI2RlZmluZSBQ R19WRVJTSU9OICIxMWJldGEzIgp8ICNkZWZpbmUgREVGX1BHUE9SVCA1NDMyCnwgI2RlZmluZSBE RUZfUEdQT1JUX1NUUiAiNTQzMiIKfCAjZGVmaW5lIEJMQ0tTWiA4MTkyCnwgI2RlZmluZSBSRUxT RUdfU0laRSAxMzEwNzIKfCAjZGVmaW5lIFhMT0dfQkxDS1NaIDgxOTIKfCAjZGVmaW5lIFVTRV9B U1NFUlRfQ0hFQ0tJTkcgMQp8ICNkZWZpbmUgRU5BQkxFX1RIUkVBRF9TQUZFVFkgMQp8ICNkZWZp bmUgVVNFX0lDVSAxCnwgI2RlZmluZSBQR19LUkJfU1JWTkFNICJwb3N0Z3JlcyIKfCAjZGVmaW5l IFVTRV9PUEVOU1NMIDEKfCAjZGVmaW5lIFVTRV9MSUJYTUwgMQp8ICNkZWZpbmUgVVNFX0xJQlhT TFQgMQp8ICNkZWZpbmUgU1REQ19IRUFERVJTIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1RZUEVTX0gg MQp8ICNkZWZpbmUgSEFWRV9TWVNfU1RBVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1RETElCX0ggMQp8 ICNkZWZpbmUgSEFWRV9TVFJJTkdfSCAxCnwgI2RlZmluZSBIQVZFX01FTU9SWV9IIDEKfCAjZGVm aW5lIEhBVkVfU1RSSU5HU19IIDEKfCAjZGVmaW5lIEhBVkVfSU5UVFlQRVNfSCAxCnwgI2RlZmlu ZSBIQVZFX1NURElOVF9IIDEKfCAjZGVmaW5lIEhBVkVfVU5JU1REX0ggMQp8ICNkZWZpbmUgSEFW RV9MSUJNIDEKfCAjZGVmaW5lIEhBVkVfTElCWiAxCnwgI2RlZmluZSBIQVZFX1NQSU5MT0NLUyAx CnwgI2RlZmluZSBIQVZFX0FUT01JQ1MgMQp8ICNkZWZpbmUgSEFWRV9TU0xfR0VUX0NVUlJFTlRf Q09NUFJFU1NJT04gMQp8ICNkZWZpbmUgSEFWRV9YNTA5X0dFVF9TSUdOQVRVUkVfTklEIDEKfCAj ZGVmaW5lIEhBVkVfQ1JZUFRPX0xPQ0sgMQp8ICNkZWZpbmUgSEFWRV9MSUJYTUwyIDEKfCAjZGVm aW5lIEhBVkVfTElCWFNMVCAxCnwgI2RlZmluZSBIQVZFX19CT09MIDEKfCAjZGVmaW5lIEhBVkVf U1REQk9PTF9IIDEKfCAjZGVmaW5lIEhBVkVfR0VUT1BUX0ggMQp8ICNkZWZpbmUgSEFWRV9JRUVF RlBfSCAxCnwgLyogZW5kIGNvbmZkZWZzLmguICAqLwp8ICNpbmNsdWRlIDxzeXMvZXBvbGwuaD4K Y29uZmlndXJlOjEyNTE0OiByZXN1bHQ6IG5vCmNvbmZpZ3VyZToxMjUxNDogY2hlY2tpbmcgZm9y IHN5cy9lcG9sbC5oCmNvbmZpZ3VyZToxMjUxNDogcmVzdWx0OiBubwpjb25maWd1cmU6MTI1MTQ6 IGNoZWNraW5nIHN5cy9pcGMuaCB1c2FiaWxpdHkKY29uZmlndXJlOjEyNTE0OiB4ODZfNjQtdzY0 LW1pbmd3MzItZ2NjIC1jIC1XYWxsIC1XbWlzc2luZy1wcm90b3R5cGVzIC1XcG9pbnRlci1hcml0 aCAtV2RlY2xhcmF0aW9uLWFmdGVyLXN0YXRlbWVudCAtV2VuZGlmLWxhYmVscyAtV21pc3Npbmct Zm9ybWF0LWF0dHJpYnV0ZSAtV2Zvcm1hdC1zZWN1cml0eSAtZm5vLXN0cmljdC1hbGlhc2luZyAt ZndyYXB2IC1mZXhjZXNzLXByZWNpc2lvbj1zdGFuZGFyZCAtV25vLWZvcm1hdC10cnVuY2F0aW9u IC1Xbm8tc3RyaW5nb3AtdHJ1bmNhdGlvbiAtZyAtTyAtZm5vLW9taXQtZnJhbWUtcG9pbnRlciAg LUkvdy9SLTMuNS5fL3Bvc3RncmVzL3NyYy9pbmNsdWRlL3BvcnQvd2luMzIgLURFWEVDX0JBQ0tF TkQgIC1JL3cvemxpYi0xLjIuOC13aW4zMi14ODZfNjQvaW5jbHVkZSAtSS93L29wZW5zc2wtMS4w LjJlLXdpbjMyLXg4Nl82NC9pbmNsdWRlIC1JL3cvbGlieG1sMi0yLjkuMy13aW4zMi14ODZfNjQv aW5jbHVkZS9saWJ4bWwyIC1JL3cvbGlieHNsdC0xLjEuMjgtd2luMzIteDg2XzY0L2luY2x1ZGUg Y29uZnRlc3QuYyA+JjUKY29uZnRlc3QuYzo3OToxMDogZmF0YWwgZXJyb3I6IHN5cy9pcGMuaDog Tm8gc3VjaCBmaWxlIG9yIGRpcmVjdG9yeQogI2luY2x1ZGUgPHN5cy9pcGMuaD4KICAgICAgICAg IF5+fn5+fn5+fn5+CmNvbXBpbGF0aW9uIHRlcm1pbmF0ZWQuDQpjb25maWd1cmU6MTI1MTQ6ICQ/ ID0gMQpjb25maWd1cmU6IGZhaWxlZCBwcm9ncmFtIHdhczoKfCAvKiBjb25mZGVmcy5oICovCnwg I2RlZmluZSBQQUNLQUdFX05BTUUgIlBvc3RncmVTUUwiCnwgI2RlZmluZSBQQUNLQUdFX1RBUk5B TUUgInBvc3RncmVzcWwiCnwgI2RlZmluZSBQQUNLQUdFX1ZFUlNJT04gIjExYmV0YTMiCnwgI2Rl ZmluZSBQQUNLQUdFX1NUUklORyAiUG9zdGdyZVNRTCAxMWJldGEzIgp8ICNkZWZpbmUgUEFDS0FH RV9CVUdSRVBPUlQgInBnc3FsLWJ1Z3NAcG9zdGdyZXNxbC5vcmciCnwgI2RlZmluZSBQQUNLQUdF X1VSTCAiIgp8ICNkZWZpbmUgUEdfTUFKT1JWRVJTSU9OICIxMSIKfCAjZGVmaW5lIFBHX1ZFUlNJ T04gIjExYmV0YTMiCnwgI2RlZmluZSBERUZfUEdQT1JUIDU0MzIKfCAjZGVmaW5lIERFRl9QR1BP UlRfU1RSICI1NDMyIgp8ICNkZWZpbmUgQkxDS1NaIDgxOTIKfCAjZGVmaW5lIFJFTFNFR19TSVpF IDEzMTA3Mgp8ICNkZWZpbmUgWExPR19CTENLU1ogODE5Mgp8ICNkZWZpbmUgVVNFX0FTU0VSVF9D SEVDS0lORyAxCnwgI2RlZmluZSBFTkFCTEVfVEhSRUFEX1NBRkVUWSAxCnwgI2RlZmluZSBVU0Vf SUNVIDEKfCAjZGVmaW5lIFBHX0tSQl9TUlZOQU0gInBvc3RncmVzIgp8ICNkZWZpbmUgVVNFX09Q RU5TU0wgMQp8ICNkZWZpbmUgVVNFX0xJQlhNTCAxCnwgI2RlZmluZSBVU0VfTElCWFNMVCAxCnwg I2RlZmluZSBTVERDX0hFQURFUlMgMQp8ICNkZWZpbmUgSEFWRV9TWVNfVFlQRVNfSCAxCnwgI2Rl ZmluZSBIQVZFX1NZU19TVEFUX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERMSUJfSCAxCnwgI2RlZmlu ZSBIQVZFX1NUUklOR19IIDEKfCAjZGVmaW5lIEhBVkVfTUVNT1JZX0ggMQp8ICNkZWZpbmUgSEFW RV9TVFJJTkdTX0ggMQp8ICNkZWZpbmUgSEFWRV9JTlRUWVBFU19IIDEKfCAjZGVmaW5lIEhBVkVf U1RESU5UX0ggMQp8ICNkZWZpbmUgSEFWRV9VTklTVERfSCAxCnwgI2RlZmluZSBIQVZFX0xJQk0g MQp8ICNkZWZpbmUgSEFWRV9MSUJaIDEKfCAjZGVmaW5lIEhBVkVfU1BJTkxPQ0tTIDEKfCAjZGVm aW5lIEhBVkVfQVRPTUlDUyAxCnwgI2RlZmluZSBIQVZFX1NTTF9HRVRfQ1VSUkVOVF9DT01QUkVT U0lPTiAxCnwgI2RlZmluZSBIQVZFX1g1MDlfR0VUX1NJR05BVFVSRV9OSUQgMQp8ICNkZWZpbmUg SEFWRV9DUllQVE9fTE9DSyAxCnwgI2RlZmluZSBIQVZFX0xJQlhNTDIgMQp8ICNkZWZpbmUgSEFW RV9MSUJYU0xUIDEKfCAjZGVmaW5lIEhBVkVfX0JPT0wgMQp8ICNkZWZpbmUgSEFWRV9TVERCT09M X0ggMQp8ICNkZWZpbmUgSEFWRV9HRVRPUFRfSCAxCnwgI2RlZmluZSBIQVZFX0lFRUVGUF9IIDEK fCAvKiBlbmQgY29uZmRlZnMuaC4gICovCnwgI2luY2x1ZGUgPHN0ZGlvLmg+CnwgI2lmZGVmIEhB VkVfU1lTX1RZUEVTX0gKfCAjIGluY2x1ZGUgPHN5cy90eXBlcy5oPgp8ICNlbmRpZgp8ICNpZmRl ZiBIQVZFX1NZU19TVEFUX0gKfCAjIGluY2x1ZGUgPHN5cy9zdGF0Lmg+CnwgI2VuZGlmCnwgI2lm ZGVmIFNURENfSEVBREVSUwp8ICMgaW5jbHVkZSA8c3RkbGliLmg+CnwgIyBpbmNsdWRlIDxzdGRk ZWYuaD4KfCAjZWxzZQp8ICMgaWZkZWYgSEFWRV9TVERMSUJfSAp8ICMgIGluY2x1ZGUgPHN0ZGxp Yi5oPgp8ICMgZW5kaWYKfCAjZW5kaWYKfCAjaWZkZWYgSEFWRV9TVFJJTkdfSAp8ICMgaWYgIWRl ZmluZWQgU1REQ19IRUFERVJTICYmIGRlZmluZWQgSEFWRV9NRU1PUllfSAp8ICMgIGluY2x1ZGUg PG1lbW9yeS5oPgp8ICMgZW5kaWYKfCAjIGluY2x1ZGUgPHN0cmluZy5oPgp8ICNlbmRpZgp8ICNp ZmRlZiBIQVZFX1NUUklOR1NfSAp8ICMgaW5jbHVkZSA8c3RyaW5ncy5oPgp8ICNlbmRpZgp8ICNp ZmRlZiBIQVZFX0lOVFRZUEVTX0gKfCAjIGluY2x1ZGUgPGludHR5cGVzLmg+CnwgI2VuZGlmCnwg I2lmZGVmIEhBVkVfU1RESU5UX0gKfCAjIGluY2x1ZGUgPHN0ZGludC5oPgp8ICNlbmRpZgp8ICNp ZmRlZiBIQVZFX1VOSVNURF9ICnwgIyBpbmNsdWRlIDx1bmlzdGQuaD4KfCAjZW5kaWYKfCAjaW5j bHVkZSA8c3lzL2lwYy5oPgpjb25maWd1cmU6MTI1MTQ6IHJlc3VsdDogbm8KY29uZmlndXJlOjEy NTE0OiBjaGVja2luZyBzeXMvaXBjLmggcHJlc2VuY2UKY29uZmlndXJlOjEyNTE0OiB4ODZfNjQt dzY0LW1pbmd3MzItZ2NjIC1FICAtSS93L1ItMy41Ll8vcG9zdGdyZXMvc3JjL2luY2x1ZGUvcG9y dC93aW4zMiAtREVYRUNfQkFDS0VORCAgLUkvdy96bGliLTEuMi44LXdpbjMyLXg4Nl82NC9pbmNs dWRlIC1JL3cvb3BlbnNzbC0xLjAuMmUtd2luMzIteDg2XzY0L2luY2x1ZGUgLUkvdy9saWJ4bWwy LTIuOS4zLXdpbjMyLXg4Nl82NC9pbmNsdWRlL2xpYnhtbDIgLUkvdy9saWJ4c2x0LTEuMS4yOC13 aW4zMi14ODZfNjQvaW5jbHVkZSBjb25mdGVzdC5jCmNvbmZ0ZXN0LmM6NDY6MTA6IGZhdGFsIGVy cm9yOiBzeXMvaXBjLmg6IE5vIHN1Y2ggZmlsZSBvciBkaXJlY3RvcnkKICNpbmNsdWRlIDxzeXMv aXBjLmg+CiAgICAgICAgICBefn5+fn5+fn5+fgpjb21waWxhdGlvbiB0ZXJtaW5hdGVkLg0KY29u ZmlndXJlOjEyNTE0OiAkPyA9IDEKY29uZmlndXJlOiBmYWlsZWQgcHJvZ3JhbSB3YXM6CnwgLyog Y29uZmRlZnMuaCAqLwp8ICNkZWZpbmUgUEFDS0FHRV9OQU1FICJQb3N0Z3JlU1FMIgp8ICNkZWZp bmUgUEFDS0FHRV9UQVJOQU1FICJwb3N0Z3Jlc3FsIgp8ICNkZWZpbmUgUEFDS0FHRV9WRVJTSU9O ICIxMWJldGEzIgp8ICNkZWZpbmUgUEFDS0FHRV9TVFJJTkcgIlBvc3RncmVTUUwgMTFiZXRhMyIK fCAjZGVmaW5lIFBBQ0tBR0VfQlVHUkVQT1JUICJwZ3NxbC1idWdzQHBvc3RncmVzcWwub3JnIgp8 ICNkZWZpbmUgUEFDS0FHRV9VUkwgIiIKfCAjZGVmaW5lIFBHX01BSk9SVkVSU0lPTiAiMTEiCnwg I2RlZmluZSBQR19WRVJTSU9OICIxMWJldGEzIgp8ICNkZWZpbmUgREVGX1BHUE9SVCA1NDMyCnwg I2RlZmluZSBERUZfUEdQT1JUX1NUUiAiNTQzMiIKfCAjZGVmaW5lIEJMQ0tTWiA4MTkyCnwgI2Rl ZmluZSBSRUxTRUdfU0laRSAxMzEwNzIKfCAjZGVmaW5lIFhMT0dfQkxDS1NaIDgxOTIKfCAjZGVm aW5lIFVTRV9BU1NFUlRfQ0hFQ0tJTkcgMQp8ICNkZWZpbmUgRU5BQkxFX1RIUkVBRF9TQUZFVFkg MQp8ICNkZWZpbmUgVVNFX0lDVSAxCnwgI2RlZmluZSBQR19LUkJfU1JWTkFNICJwb3N0Z3JlcyIK fCAjZGVmaW5lIFVTRV9PUEVOU1NMIDEKfCAjZGVmaW5lIFVTRV9MSUJYTUwgMQp8ICNkZWZpbmUg VVNFX0xJQlhTTFQgMQp8ICNkZWZpbmUgU1REQ19IRUFERVJTIDEKfCAjZGVmaW5lIEhBVkVfU1lT X1RZUEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfU1RBVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1RE TElCX0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJJTkdfSCAxCnwgI2RlZmluZSBIQVZFX01FTU9SWV9I IDEKfCAjZGVmaW5lIEhBVkVfU1RSSU5HU19IIDEKfCAjZGVmaW5lIEhBVkVfSU5UVFlQRVNfSCAx CnwgI2RlZmluZSBIQVZFX1NURElOVF9IIDEKfCAjZGVmaW5lIEhBVkVfVU5JU1REX0ggMQp8ICNk ZWZpbmUgSEFWRV9MSUJNIDEKfCAjZGVmaW5lIEhBVkVfTElCWiAxCnwgI2RlZmluZSBIQVZFX1NQ SU5MT0NLUyAxCnwgI2RlZmluZSBIQVZFX0FUT01JQ1MgMQp8ICNkZWZpbmUgSEFWRV9TU0xfR0VU X0NVUlJFTlRfQ09NUFJFU1NJT04gMQp8ICNkZWZpbmUgSEFWRV9YNTA5X0dFVF9TSUdOQVRVUkVf TklEIDEKfCAjZGVmaW5lIEhBVkVfQ1JZUFRPX0xPQ0sgMQp8ICNkZWZpbmUgSEFWRV9MSUJYTUwy IDEKfCAjZGVmaW5lIEhBVkVfTElCWFNMVCAxCnwgI2RlZmluZSBIQVZFX19CT09MIDEKfCAjZGVm aW5lIEhBVkVfU1REQk9PTF9IIDEKfCAjZGVmaW5lIEhBVkVfR0VUT1BUX0ggMQp8ICNkZWZpbmUg SEFWRV9JRUVFRlBfSCAxCnwgLyogZW5kIGNvbmZkZWZzLmguICAqLwp8ICNpbmNsdWRlIDxzeXMv aXBjLmg+CmNvbmZpZ3VyZToxMjUxNDogcmVzdWx0OiBubwpjb25maWd1cmU6MTI1MTQ6IGNoZWNr aW5nIGZvciBzeXMvaXBjLmgKY29uZmlndXJlOjEyNTE0OiByZXN1bHQ6IG5vCmNvbmZpZ3VyZTox MjUxNDogY2hlY2tpbmcgc3lzL3BzdGF0LmggdXNhYmlsaXR5CmNvbmZpZ3VyZToxMjUxNDogeDg2 XzY0LXc2NC1taW5ndzMyLWdjYyAtYyAtV2FsbCAtV21pc3NpbmctcHJvdG90eXBlcyAtV3BvaW50 ZXItYXJpdGggLVdkZWNsYXJhdGlvbi1hZnRlci1zdGF0ZW1lbnQgLVdlbmRpZi1sYWJlbHMgLVdt aXNzaW5nLWZvcm1hdC1hdHRyaWJ1dGUgLVdmb3JtYXQtc2VjdXJpdHkgLWZuby1zdHJpY3QtYWxp YXNpbmcgLWZ3cmFwdiAtZmV4Y2Vzcy1wcmVjaXNpb249c3RhbmRhcmQgLVduby1mb3JtYXQtdHJ1 bmNhdGlvbiAtV25vLXN0cmluZ29wLXRydW5jYXRpb24gLWcgLU8gLWZuby1vbWl0LWZyYW1lLXBv aW50ZXIgIC1JL3cvUi0zLjUuXy9wb3N0Z3Jlcy9zcmMvaW5jbHVkZS9wb3J0L3dpbjMyIC1ERVhF Q19CQUNLRU5EICAtSS93L3psaWItMS4yLjgtd2luMzIteDg2XzY0L2luY2x1ZGUgLUkvdy9vcGVu c3NsLTEuMC4yZS13aW4zMi14ODZfNjQvaW5jbHVkZSAtSS93L2xpYnhtbDItMi45LjMtd2luMzIt eDg2XzY0L2luY2x1ZGUvbGlieG1sMiAtSS93L2xpYnhzbHQtMS4xLjI4LXdpbjMyLXg4Nl82NC9p bmNsdWRlIGNvbmZ0ZXN0LmMgPiY1CmNvbmZ0ZXN0LmM6Nzk6MTA6IGZhdGFsIGVycm9yOiBzeXMv cHN0YXQuaDogTm8gc3VjaCBmaWxlIG9yIGRpcmVjdG9yeQogI2luY2x1ZGUgPHN5cy9wc3RhdC5o PgogICAgICAgICAgXn5+fn5+fn5+fn5+fgpjb21waWxhdGlvbiB0ZXJtaW5hdGVkLg0KY29uZmln dXJlOjEyNTE0OiAkPyA9IDEKY29uZmlndXJlOiBmYWlsZWQgcHJvZ3JhbSB3YXM6CnwgLyogY29u ZmRlZnMuaCAqLwp8ICNkZWZpbmUgUEFDS0FHRV9OQU1FICJQb3N0Z3JlU1FMIgp8ICNkZWZpbmUg UEFDS0FHRV9UQVJOQU1FICJwb3N0Z3Jlc3FsIgp8ICNkZWZpbmUgUEFDS0FHRV9WRVJTSU9OICIx MWJldGEzIgp8ICNkZWZpbmUgUEFDS0FHRV9TVFJJTkcgIlBvc3RncmVTUUwgMTFiZXRhMyIKfCAj ZGVmaW5lIFBBQ0tBR0VfQlVHUkVQT1JUICJwZ3NxbC1idWdzQHBvc3RncmVzcWwub3JnIgp8ICNk ZWZpbmUgUEFDS0FHRV9VUkwgIiIKfCAjZGVmaW5lIFBHX01BSk9SVkVSU0lPTiAiMTEiCnwgI2Rl ZmluZSBQR19WRVJTSU9OICIxMWJldGEzIgp8ICNkZWZpbmUgREVGX1BHUE9SVCA1NDMyCnwgI2Rl ZmluZSBERUZfUEdQT1JUX1NUUiAiNTQzMiIKfCAjZGVmaW5lIEJMQ0tTWiA4MTkyCnwgI2RlZmlu ZSBSRUxTRUdfU0laRSAxMzEwNzIKfCAjZGVmaW5lIFhMT0dfQkxDS1NaIDgxOTIKfCAjZGVmaW5l IFVTRV9BU1NFUlRfQ0hFQ0tJTkcgMQp8ICNkZWZpbmUgRU5BQkxFX1RIUkVBRF9TQUZFVFkgMQp8 ICNkZWZpbmUgVVNFX0lDVSAxCnwgI2RlZmluZSBQR19LUkJfU1JWTkFNICJwb3N0Z3JlcyIKfCAj ZGVmaW5lIFVTRV9PUEVOU1NMIDEKfCAjZGVmaW5lIFVTRV9MSUJYTUwgMQp8ICNkZWZpbmUgVVNF X0xJQlhTTFQgMQp8ICNkZWZpbmUgU1REQ19IRUFERVJTIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1RZ UEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfU1RBVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1RETElC X0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJJTkdfSCAxCnwgI2RlZmluZSBIQVZFX01FTU9SWV9IIDEK fCAjZGVmaW5lIEhBVkVfU1RSSU5HU19IIDEKfCAjZGVmaW5lIEhBVkVfSU5UVFlQRVNfSCAxCnwg I2RlZmluZSBIQVZFX1NURElOVF9IIDEKfCAjZGVmaW5lIEhBVkVfVU5JU1REX0ggMQp8ICNkZWZp bmUgSEFWRV9MSUJNIDEKfCAjZGVmaW5lIEhBVkVfTElCWiAxCnwgI2RlZmluZSBIQVZFX1NQSU5M T0NLUyAxCnwgI2RlZmluZSBIQVZFX0FUT01JQ1MgMQp8ICNkZWZpbmUgSEFWRV9TU0xfR0VUX0NV UlJFTlRfQ09NUFJFU1NJT04gMQp8ICNkZWZpbmUgSEFWRV9YNTA5X0dFVF9TSUdOQVRVUkVfTklE IDEKfCAjZGVmaW5lIEhBVkVfQ1JZUFRPX0xPQ0sgMQp8ICNkZWZpbmUgSEFWRV9MSUJYTUwyIDEK fCAjZGVmaW5lIEhBVkVfTElCWFNMVCAxCnwgI2RlZmluZSBIQVZFX19CT09MIDEKfCAjZGVmaW5l IEhBVkVfU1REQk9PTF9IIDEKfCAjZGVmaW5lIEhBVkVfR0VUT1BUX0ggMQp8ICNkZWZpbmUgSEFW RV9JRUVFRlBfSCAxCnwgLyogZW5kIGNvbmZkZWZzLmguICAqLwp8ICNpbmNsdWRlIDxzdGRpby5o Pgp8ICNpZmRlZiBIQVZFX1NZU19UWVBFU19ICnwgIyBpbmNsdWRlIDxzeXMvdHlwZXMuaD4KfCAj ZW5kaWYKfCAjaWZkZWYgSEFWRV9TWVNfU1RBVF9ICnwgIyBpbmNsdWRlIDxzeXMvc3RhdC5oPgp8 ICNlbmRpZgp8ICNpZmRlZiBTVERDX0hFQURFUlMKfCAjIGluY2x1ZGUgPHN0ZGxpYi5oPgp8ICMg aW5jbHVkZSA8c3RkZGVmLmg+CnwgI2Vsc2UKfCAjIGlmZGVmIEhBVkVfU1RETElCX0gKfCAjICBp bmNsdWRlIDxzdGRsaWIuaD4KfCAjIGVuZGlmCnwgI2VuZGlmCnwgI2lmZGVmIEhBVkVfU1RSSU5H X0gKfCAjIGlmICFkZWZpbmVkIFNURENfSEVBREVSUyAmJiBkZWZpbmVkIEhBVkVfTUVNT1JZX0gK fCAjICBpbmNsdWRlIDxtZW1vcnkuaD4KfCAjIGVuZGlmCnwgIyBpbmNsdWRlIDxzdHJpbmcuaD4K fCAjZW5kaWYKfCAjaWZkZWYgSEFWRV9TVFJJTkdTX0gKfCAjIGluY2x1ZGUgPHN0cmluZ3MuaD4K fCAjZW5kaWYKfCAjaWZkZWYgSEFWRV9JTlRUWVBFU19ICnwgIyBpbmNsdWRlIDxpbnR0eXBlcy5o Pgp8ICNlbmRpZgp8ICNpZmRlZiBIQVZFX1NURElOVF9ICnwgIyBpbmNsdWRlIDxzdGRpbnQuaD4K fCAjZW5kaWYKfCAjaWZkZWYgSEFWRV9VTklTVERfSAp8ICMgaW5jbHVkZSA8dW5pc3RkLmg+Cnwg I2VuZGlmCnwgI2luY2x1ZGUgPHN5cy9wc3RhdC5oPgpjb25maWd1cmU6MTI1MTQ6IHJlc3VsdDog bm8KY29uZmlndXJlOjEyNTE0OiBjaGVja2luZyBzeXMvcHN0YXQuaCBwcmVzZW5jZQpjb25maWd1 cmU6MTI1MTQ6IHg4Nl82NC13NjQtbWluZ3czMi1nY2MgLUUgIC1JL3cvUi0zLjUuXy9wb3N0Z3Jl cy9zcmMvaW5jbHVkZS9wb3J0L3dpbjMyIC1ERVhFQ19CQUNLRU5EICAtSS93L3psaWItMS4yLjgt d2luMzIteDg2XzY0L2luY2x1ZGUgLUkvdy9vcGVuc3NsLTEuMC4yZS13aW4zMi14ODZfNjQvaW5j bHVkZSAtSS93L2xpYnhtbDItMi45LjMtd2luMzIteDg2XzY0L2luY2x1ZGUvbGlieG1sMiAtSS93 L2xpYnhzbHQtMS4xLjI4LXdpbjMyLXg4Nl82NC9pbmNsdWRlIGNvbmZ0ZXN0LmMKY29uZnRlc3Qu Yzo0NjoxMDogZmF0YWwgZXJyb3I6IHN5cy9wc3RhdC5oOiBObyBzdWNoIGZpbGUgb3IgZGlyZWN0 b3J5CiAjaW5jbHVkZSA8c3lzL3BzdGF0Lmg+CiAgICAgICAgICBefn5+fn5+fn5+fn5+CmNvbXBp bGF0aW9uIHRlcm1pbmF0ZWQuDQpjb25maWd1cmU6MTI1MTQ6ICQ/ID0gMQpjb25maWd1cmU6IGZh aWxlZCBwcm9ncmFtIHdhczoKfCAvKiBjb25mZGVmcy5oICovCnwgI2RlZmluZSBQQUNLQUdFX05B TUUgIlBvc3RncmVTUUwiCnwgI2RlZmluZSBQQUNLQUdFX1RBUk5BTUUgInBvc3RncmVzcWwiCnwg I2RlZmluZSBQQUNLQUdFX1ZFUlNJT04gIjExYmV0YTMiCnwgI2RlZmluZSBQQUNLQUdFX1NUUklO RyAiUG9zdGdyZVNRTCAxMWJldGEzIgp8ICNkZWZpbmUgUEFDS0FHRV9CVUdSRVBPUlQgInBnc3Fs LWJ1Z3NAcG9zdGdyZXNxbC5vcmciCnwgI2RlZmluZSBQQUNLQUdFX1VSTCAiIgp8ICNkZWZpbmUg UEdfTUFKT1JWRVJTSU9OICIxMSIKfCAjZGVmaW5lIFBHX1ZFUlNJT04gIjExYmV0YTMiCnwgI2Rl ZmluZSBERUZfUEdQT1JUIDU0MzIKfCAjZGVmaW5lIERFRl9QR1BPUlRfU1RSICI1NDMyIgp8ICNk ZWZpbmUgQkxDS1NaIDgxOTIKfCAjZGVmaW5lIFJFTFNFR19TSVpFIDEzMTA3Mgp8ICNkZWZpbmUg WExPR19CTENLU1ogODE5Mgp8ICNkZWZpbmUgVVNFX0FTU0VSVF9DSEVDS0lORyAxCnwgI2RlZmlu ZSBFTkFCTEVfVEhSRUFEX1NBRkVUWSAxCnwgI2RlZmluZSBVU0VfSUNVIDEKfCAjZGVmaW5lIFBH X0tSQl9TUlZOQU0gInBvc3RncmVzIgp8ICNkZWZpbmUgVVNFX09QRU5TU0wgMQp8ICNkZWZpbmUg VVNFX0xJQlhNTCAxCnwgI2RlZmluZSBVU0VfTElCWFNMVCAxCnwgI2RlZmluZSBTVERDX0hFQURF UlMgMQp8ICNkZWZpbmUgSEFWRV9TWVNfVFlQRVNfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19TVEFU X0ggMQp8ICNkZWZpbmUgSEFWRV9TVERMSUJfSCAxCnwgI2RlZmluZSBIQVZFX1NUUklOR19IIDEK fCAjZGVmaW5lIEhBVkVfTUVNT1JZX0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJJTkdTX0ggMQp8ICNk ZWZpbmUgSEFWRV9JTlRUWVBFU19IIDEKfCAjZGVmaW5lIEhBVkVfU1RESU5UX0ggMQp8ICNkZWZp bmUgSEFWRV9VTklTVERfSCAxCnwgI2RlZmluZSBIQVZFX0xJQk0gMQp8ICNkZWZpbmUgSEFWRV9M SUJaIDEKfCAjZGVmaW5lIEhBVkVfU1BJTkxPQ0tTIDEKfCAjZGVmaW5lIEhBVkVfQVRPTUlDUyAx CnwgI2RlZmluZSBIQVZFX1NTTF9HRVRfQ1VSUkVOVF9DT01QUkVTU0lPTiAxCnwgI2RlZmluZSBI QVZFX1g1MDlfR0VUX1NJR05BVFVSRV9OSUQgMQp8ICNkZWZpbmUgSEFWRV9DUllQVE9fTE9DSyAx CnwgI2RlZmluZSBIQVZFX0xJQlhNTDIgMQp8ICNkZWZpbmUgSEFWRV9MSUJYU0xUIDEKfCAjZGVm aW5lIEhBVkVfX0JPT0wgMQp8ICNkZWZpbmUgSEFWRV9TVERCT09MX0ggMQp8ICNkZWZpbmUgSEFW RV9HRVRPUFRfSCAxCnwgI2RlZmluZSBIQVZFX0lFRUVGUF9IIDEKfCAvKiBlbmQgY29uZmRlZnMu aC4gICovCnwgI2luY2x1ZGUgPHN5cy9wc3RhdC5oPgpjb25maWd1cmU6MTI1MTQ6IHJlc3VsdDog bm8KY29uZmlndXJlOjEyNTE0OiBjaGVja2luZyBmb3Igc3lzL3BzdGF0LmgKY29uZmlndXJlOjEy NTE0OiByZXN1bHQ6IG5vCmNvbmZpZ3VyZToxMjUxNDogY2hlY2tpbmcgc3lzL3Jlc291cmNlLmgg dXNhYmlsaXR5CmNvbmZpZ3VyZToxMjUxNDogeDg2XzY0LXc2NC1taW5ndzMyLWdjYyAtYyAtV2Fs bCAtV21pc3NpbmctcHJvdG90eXBlcyAtV3BvaW50ZXItYXJpdGggLVdkZWNsYXJhdGlvbi1hZnRl ci1zdGF0ZW1lbnQgLVdlbmRpZi1sYWJlbHMgLVdtaXNzaW5nLWZvcm1hdC1hdHRyaWJ1dGUgLVdm b3JtYXQtc2VjdXJpdHkgLWZuby1zdHJpY3QtYWxpYXNpbmcgLWZ3cmFwdiAtZmV4Y2Vzcy1wcmVj aXNpb249c3RhbmRhcmQgLVduby1mb3JtYXQtdHJ1bmNhdGlvbiAtV25vLXN0cmluZ29wLXRydW5j YXRpb24gLWcgLU8gLWZuby1vbWl0LWZyYW1lLXBvaW50ZXIgIC1JL3cvUi0zLjUuXy9wb3N0Z3Jl cy9zcmMvaW5jbHVkZS9wb3J0L3dpbjMyIC1ERVhFQ19CQUNLRU5EICAtSS93L3psaWItMS4yLjgt d2luMzIteDg2XzY0L2luY2x1ZGUgLUkvdy9vcGVuc3NsLTEuMC4yZS13aW4zMi14ODZfNjQvaW5j bHVkZSAtSS93L2xpYnhtbDItMi45LjMtd2luMzIteDg2XzY0L2luY2x1ZGUvbGlieG1sMiAtSS93 L2xpYnhzbHQtMS4xLjI4LXdpbjMyLXg4Nl82NC9pbmNsdWRlIGNvbmZ0ZXN0LmMgPiY1CmNvbmZ0 ZXN0LmM6Nzk6MTA6IGZhdGFsIGVycm9yOiBzeXMvcmVzb3VyY2UuaDogTm8gc3VjaCBmaWxlIG9y IGRpcmVjdG9yeQogI2luY2x1ZGUgPHN5cy9yZXNvdXJjZS5oPgogICAgICAgICAgXn5+fn5+fn5+ fn5+fn5+fgpjb21waWxhdGlvbiB0ZXJtaW5hdGVkLg0KY29uZmlndXJlOjEyNTE0OiAkPyA9IDEK Y29uZmlndXJlOiBmYWlsZWQgcHJvZ3JhbSB3YXM6CnwgLyogY29uZmRlZnMuaCAqLwp8ICNkZWZp bmUgUEFDS0FHRV9OQU1FICJQb3N0Z3JlU1FMIgp8ICNkZWZpbmUgUEFDS0FHRV9UQVJOQU1FICJw b3N0Z3Jlc3FsIgp8ICNkZWZpbmUgUEFDS0FHRV9WRVJTSU9OICIxMWJldGEzIgp8ICNkZWZpbmUg UEFDS0FHRV9TVFJJTkcgIlBvc3RncmVTUUwgMTFiZXRhMyIKfCAjZGVmaW5lIFBBQ0tBR0VfQlVH UkVQT1JUICJwZ3NxbC1idWdzQHBvc3RncmVzcWwub3JnIgp8ICNkZWZpbmUgUEFDS0FHRV9VUkwg IiIKfCAjZGVmaW5lIFBHX01BSk9SVkVSU0lPTiAiMTEiCnwgI2RlZmluZSBQR19WRVJTSU9OICIx MWJldGEzIgp8ICNkZWZpbmUgREVGX1BHUE9SVCA1NDMyCnwgI2RlZmluZSBERUZfUEdQT1JUX1NU UiAiNTQzMiIKfCAjZGVmaW5lIEJMQ0tTWiA4MTkyCnwgI2RlZmluZSBSRUxTRUdfU0laRSAxMzEw NzIKfCAjZGVmaW5lIFhMT0dfQkxDS1NaIDgxOTIKfCAjZGVmaW5lIFVTRV9BU1NFUlRfQ0hFQ0tJ TkcgMQp8ICNkZWZpbmUgRU5BQkxFX1RIUkVBRF9TQUZFVFkgMQp8ICNkZWZpbmUgVVNFX0lDVSAx CnwgI2RlZmluZSBQR19LUkJfU1JWTkFNICJwb3N0Z3JlcyIKfCAjZGVmaW5lIFVTRV9PUEVOU1NM IDEKfCAjZGVmaW5lIFVTRV9MSUJYTUwgMQp8ICNkZWZpbmUgVVNFX0xJQlhTTFQgMQp8ICNkZWZp bmUgU1REQ19IRUFERVJTIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1RZUEVTX0ggMQp8ICNkZWZpbmUg SEFWRV9TWVNfU1RBVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1RETElCX0ggMQp8ICNkZWZpbmUgSEFW RV9TVFJJTkdfSCAxCnwgI2RlZmluZSBIQVZFX01FTU9SWV9IIDEKfCAjZGVmaW5lIEhBVkVfU1RS SU5HU19IIDEKfCAjZGVmaW5lIEhBVkVfSU5UVFlQRVNfSCAxCnwgI2RlZmluZSBIQVZFX1NURElO VF9IIDEKfCAjZGVmaW5lIEhBVkVfVU5JU1REX0ggMQp8ICNkZWZpbmUgSEFWRV9MSUJNIDEKfCAj ZGVmaW5lIEhBVkVfTElCWiAxCnwgI2RlZmluZSBIQVZFX1NQSU5MT0NLUyAxCnwgI2RlZmluZSBI QVZFX0FUT01JQ1MgMQp8ICNkZWZpbmUgSEFWRV9TU0xfR0VUX0NVUlJFTlRfQ09NUFJFU1NJT04g MQp8ICNkZWZpbmUgSEFWRV9YNTA5X0dFVF9TSUdOQVRVUkVfTklEIDEKfCAjZGVmaW5lIEhBVkVf Q1JZUFRPX0xPQ0sgMQp8ICNkZWZpbmUgSEFWRV9MSUJYTUwyIDEKfCAjZGVmaW5lIEhBVkVfTElC WFNMVCAxCnwgI2RlZmluZSBIQVZFX19CT09MIDEKfCAjZGVmaW5lIEhBVkVfU1REQk9PTF9IIDEK fCAjZGVmaW5lIEhBVkVfR0VUT1BUX0ggMQp8ICNkZWZpbmUgSEFWRV9JRUVFRlBfSCAxCnwgLyog ZW5kIGNvbmZkZWZzLmguICAqLwp8ICNpbmNsdWRlIDxzdGRpby5oPgp8ICNpZmRlZiBIQVZFX1NZ U19UWVBFU19ICnwgIyBpbmNsdWRlIDxzeXMvdHlwZXMuaD4KfCAjZW5kaWYKfCAjaWZkZWYgSEFW RV9TWVNfU1RBVF9ICnwgIyBpbmNsdWRlIDxzeXMvc3RhdC5oPgp8ICNlbmRpZgp8ICNpZmRlZiBT VERDX0hFQURFUlMKfCAjIGluY2x1ZGUgPHN0ZGxpYi5oPgp8ICMgaW5jbHVkZSA8c3RkZGVmLmg+ CnwgI2Vsc2UKfCAjIGlmZGVmIEhBVkVfU1RETElCX0gKfCAjICBpbmNsdWRlIDxzdGRsaWIuaD4K fCAjIGVuZGlmCnwgI2VuZGlmCnwgI2lmZGVmIEhBVkVfU1RSSU5HX0gKfCAjIGlmICFkZWZpbmVk IFNURENfSEVBREVSUyAmJiBkZWZpbmVkIEhBVkVfTUVNT1JZX0gKfCAjICBpbmNsdWRlIDxtZW1v cnkuaD4KfCAjIGVuZGlmCnwgIyBpbmNsdWRlIDxzdHJpbmcuaD4KfCAjZW5kaWYKfCAjaWZkZWYg SEFWRV9TVFJJTkdTX0gKfCAjIGluY2x1ZGUgPHN0cmluZ3MuaD4KfCAjZW5kaWYKfCAjaWZkZWYg SEFWRV9JTlRUWVBFU19ICnwgIyBpbmNsdWRlIDxpbnR0eXBlcy5oPgp8ICNlbmRpZgp8ICNpZmRl ZiBIQVZFX1NURElOVF9ICnwgIyBpbmNsdWRlIDxzdGRpbnQuaD4KfCAjZW5kaWYKfCAjaWZkZWYg SEFWRV9VTklTVERfSAp8ICMgaW5jbHVkZSA8dW5pc3RkLmg+CnwgI2VuZGlmCnwgI2luY2x1ZGUg PHN5cy9yZXNvdXJjZS5oPgpjb25maWd1cmU6MTI1MTQ6IHJlc3VsdDogbm8KY29uZmlndXJlOjEy NTE0OiBjaGVja2luZyBzeXMvcmVzb3VyY2UuaCBwcmVzZW5jZQpjb25maWd1cmU6MTI1MTQ6IHg4 Nl82NC13NjQtbWluZ3czMi1nY2MgLUUgIC1JL3cvUi0zLjUuXy9wb3N0Z3Jlcy9zcmMvaW5jbHVk ZS9wb3J0L3dpbjMyIC1ERVhFQ19CQUNLRU5EICAtSS93L3psaWItMS4yLjgtd2luMzIteDg2XzY0 L2luY2x1ZGUgLUkvdy9vcGVuc3NsLTEuMC4yZS13aW4zMi14ODZfNjQvaW5jbHVkZSAtSS93L2xp YnhtbDItMi45LjMtd2luMzIteDg2XzY0L2luY2x1ZGUvbGlieG1sMiAtSS93L2xpYnhzbHQtMS4x LjI4LXdpbjMyLXg4Nl82NC9pbmNsdWRlIGNvbmZ0ZXN0LmMKY29uZnRlc3QuYzo0NjoxMDogZmF0 YWwgZXJyb3I6IHN5cy9yZXNvdXJjZS5oOiBObyBzdWNoIGZpbGUgb3IgZGlyZWN0b3J5CiAjaW5j bHVkZSA8c3lzL3Jlc291cmNlLmg+CiAgICAgICAgICBefn5+fn5+fn5+fn5+fn5+CmNvbXBpbGF0 aW9uIHRlcm1pbmF0ZWQuDQpjb25maWd1cmU6MTI1MTQ6ICQ/ID0gMQpjb25maWd1cmU6IGZhaWxl ZCBwcm9ncmFtIHdhczoKfCAvKiBjb25mZGVmcy5oICovCnwgI2RlZmluZSBQQUNLQUdFX05BTUUg IlBvc3RncmVTUUwiCnwgI2RlZmluZSBQQUNLQUdFX1RBUk5BTUUgInBvc3RncmVzcWwiCnwgI2Rl ZmluZSBQQUNLQUdFX1ZFUlNJT04gIjExYmV0YTMiCnwgI2RlZmluZSBQQUNLQUdFX1NUUklORyAi UG9zdGdyZVNRTCAxMWJldGEzIgp8ICNkZWZpbmUgUEFDS0FHRV9CVUdSRVBPUlQgInBnc3FsLWJ1 Z3NAcG9zdGdyZXNxbC5vcmciCnwgI2RlZmluZSBQQUNLQUdFX1VSTCAiIgp8ICNkZWZpbmUgUEdf TUFKT1JWRVJTSU9OICIxMSIKfCAjZGVmaW5lIFBHX1ZFUlNJT04gIjExYmV0YTMiCnwgI2RlZmlu ZSBERUZfUEdQT1JUIDU0MzIKfCAjZGVmaW5lIERFRl9QR1BPUlRfU1RSICI1NDMyIgp8ICNkZWZp bmUgQkxDS1NaIDgxOTIKfCAjZGVmaW5lIFJFTFNFR19TSVpFIDEzMTA3Mgp8ICNkZWZpbmUgWExP R19CTENLU1ogODE5Mgp8ICNkZWZpbmUgVVNFX0FTU0VSVF9DSEVDS0lORyAxCnwgI2RlZmluZSBF TkFCTEVfVEhSRUFEX1NBRkVUWSAxCnwgI2RlZmluZSBVU0VfSUNVIDEKfCAjZGVmaW5lIFBHX0tS Ql9TUlZOQU0gInBvc3RncmVzIgp8ICNkZWZpbmUgVVNFX09QRU5TU0wgMQp8ICNkZWZpbmUgVVNF X0xJQlhNTCAxCnwgI2RlZmluZSBVU0VfTElCWFNMVCAxCnwgI2RlZmluZSBTVERDX0hFQURFUlMg MQp8ICNkZWZpbmUgSEFWRV9TWVNfVFlQRVNfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19TVEFUX0gg MQp8ICNkZWZpbmUgSEFWRV9TVERMSUJfSCAxCnwgI2RlZmluZSBIQVZFX1NUUklOR19IIDEKfCAj ZGVmaW5lIEhBVkVfTUVNT1JZX0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJJTkdTX0ggMQp8ICNkZWZp bmUgSEFWRV9JTlRUWVBFU19IIDEKfCAjZGVmaW5lIEhBVkVfU1RESU5UX0ggMQp8ICNkZWZpbmUg SEFWRV9VTklTVERfSCAxCnwgI2RlZmluZSBIQVZFX0xJQk0gMQp8ICNkZWZpbmUgSEFWRV9MSUJa IDEKfCAjZGVmaW5lIEhBVkVfU1BJTkxPQ0tTIDEKfCAjZGVmaW5lIEhBVkVfQVRPTUlDUyAxCnwg I2RlZmluZSBIQVZFX1NTTF9HRVRfQ1VSUkVOVF9DT01QUkVTU0lPTiAxCnwgI2RlZmluZSBIQVZF X1g1MDlfR0VUX1NJR05BVFVSRV9OSUQgMQp8ICNkZWZpbmUgSEFWRV9DUllQVE9fTE9DSyAxCnwg I2RlZmluZSBIQVZFX0xJQlhNTDIgMQp8ICNkZWZpbmUgSEFWRV9MSUJYU0xUIDEKfCAjZGVmaW5l IEhBVkVfX0JPT0wgMQp8ICNkZWZpbmUgSEFWRV9TVERCT09MX0ggMQp8ICNkZWZpbmUgSEFWRV9H RVRPUFRfSCAxCnwgI2RlZmluZSBIQVZFX0lFRUVGUF9IIDEKfCAvKiBlbmQgY29uZmRlZnMuaC4g ICovCnwgI2luY2x1ZGUgPHN5cy9yZXNvdXJjZS5oPgpjb25maWd1cmU6MTI1MTQ6IHJlc3VsdDog bm8KY29uZmlndXJlOjEyNTE0OiBjaGVja2luZyBmb3Igc3lzL3Jlc291cmNlLmgKY29uZmlndXJl OjEyNTE0OiByZXN1bHQ6IG5vCmNvbmZpZ3VyZToxMjUxNDogY2hlY2tpbmcgc3lzL3NlbGVjdC5o IHVzYWJpbGl0eQpjb25maWd1cmU6MTI1MTQ6IHg4Nl82NC13NjQtbWluZ3czMi1nY2MgLWMgLVdh bGwgLVdtaXNzaW5nLXByb3RvdHlwZXMgLVdwb2ludGVyLWFyaXRoIC1XZGVjbGFyYXRpb24tYWZ0 ZXItc3RhdGVtZW50IC1XZW5kaWYtbGFiZWxzIC1XbWlzc2luZy1mb3JtYXQtYXR0cmlidXRlIC1X Zm9ybWF0LXNlY3VyaXR5IC1mbm8tc3RyaWN0LWFsaWFzaW5nIC1md3JhcHYgLWZleGNlc3MtcHJl Y2lzaW9uPXN0YW5kYXJkIC1Xbm8tZm9ybWF0LXRydW5jYXRpb24gLVduby1zdHJpbmdvcC10cnVu Y2F0aW9uIC1nIC1PIC1mbm8tb21pdC1mcmFtZS1wb2ludGVyICAtSS93L1ItMy41Ll8vcG9zdGdy ZXMvc3JjL2luY2x1ZGUvcG9ydC93aW4zMiAtREVYRUNfQkFDS0VORCAgLUkvdy96bGliLTEuMi44 LXdpbjMyLXg4Nl82NC9pbmNsdWRlIC1JL3cvb3BlbnNzbC0xLjAuMmUtd2luMzIteDg2XzY0L2lu Y2x1ZGUgLUkvdy9saWJ4bWwyLTIuOS4zLXdpbjMyLXg4Nl82NC9pbmNsdWRlL2xpYnhtbDIgLUkv dy9saWJ4c2x0LTEuMS4yOC13aW4zMi14ODZfNjQvaW5jbHVkZSBjb25mdGVzdC5jID4mNQpjb25m dGVzdC5jOjc5OjEwOiBmYXRhbCBlcnJvcjogc3lzL3NlbGVjdC5oOiBObyBzdWNoIGZpbGUgb3Ig ZGlyZWN0b3J5CiAjaW5jbHVkZSA8c3lzL3NlbGVjdC5oPgogICAgICAgICAgXn5+fn5+fn5+fn5+ fn4KY29tcGlsYXRpb24gdGVybWluYXRlZC4NCmNvbmZpZ3VyZToxMjUxNDogJD8gPSAxCmNvbmZp Z3VyZTogZmFpbGVkIHByb2dyYW0gd2FzOgp8IC8qIGNvbmZkZWZzLmggKi8KfCAjZGVmaW5lIFBB Q0tBR0VfTkFNRSAiUG9zdGdyZVNRTCIKfCAjZGVmaW5lIFBBQ0tBR0VfVEFSTkFNRSAicG9zdGdy ZXNxbCIKfCAjZGVmaW5lIFBBQ0tBR0VfVkVSU0lPTiAiMTFiZXRhMyIKfCAjZGVmaW5lIFBBQ0tB R0VfU1RSSU5HICJQb3N0Z3JlU1FMIDExYmV0YTMiCnwgI2RlZmluZSBQQUNLQUdFX0JVR1JFUE9S VCAicGdzcWwtYnVnc0Bwb3N0Z3Jlc3FsLm9yZyIKfCAjZGVmaW5lIFBBQ0tBR0VfVVJMICIiCnwg I2RlZmluZSBQR19NQUpPUlZFUlNJT04gIjExIgp8ICNkZWZpbmUgUEdfVkVSU0lPTiAiMTFiZXRh MyIKfCAjZGVmaW5lIERFRl9QR1BPUlQgNTQzMgp8ICNkZWZpbmUgREVGX1BHUE9SVF9TVFIgIjU0 MzIiCnwgI2RlZmluZSBCTENLU1ogODE5Mgp8ICNkZWZpbmUgUkVMU0VHX1NJWkUgMTMxMDcyCnwg I2RlZmluZSBYTE9HX0JMQ0tTWiA4MTkyCnwgI2RlZmluZSBVU0VfQVNTRVJUX0NIRUNLSU5HIDEK fCAjZGVmaW5lIEVOQUJMRV9USFJFQURfU0FGRVRZIDEKfCAjZGVmaW5lIFVTRV9JQ1UgMQp8ICNk ZWZpbmUgUEdfS1JCX1NSVk5BTSAicG9zdGdyZXMiCnwgI2RlZmluZSBVU0VfT1BFTlNTTCAxCnwg I2RlZmluZSBVU0VfTElCWE1MIDEKfCAjZGVmaW5lIFVTRV9MSUJYU0xUIDEKfCAjZGVmaW5lIFNU RENfSEVBREVSUyAxCnwgI2RlZmluZSBIQVZFX1NZU19UWVBFU19IIDEKfCAjZGVmaW5lIEhBVkVf U1lTX1NUQVRfSCAxCnwgI2RlZmluZSBIQVZFX1NURExJQl9IIDEKfCAjZGVmaW5lIEhBVkVfU1RS SU5HX0ggMQp8ICNkZWZpbmUgSEFWRV9NRU1PUllfSCAxCnwgI2RlZmluZSBIQVZFX1NUUklOR1Nf SCAxCnwgI2RlZmluZSBIQVZFX0lOVFRZUEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERJTlRfSCAx CnwgI2RlZmluZSBIQVZFX1VOSVNURF9IIDEKfCAjZGVmaW5lIEhBVkVfTElCTSAxCnwgI2RlZmlu ZSBIQVZFX0xJQlogMQp8ICNkZWZpbmUgSEFWRV9TUElOTE9DS1MgMQp8ICNkZWZpbmUgSEFWRV9B VE9NSUNTIDEKfCAjZGVmaW5lIEhBVkVfU1NMX0dFVF9DVVJSRU5UX0NPTVBSRVNTSU9OIDEKfCAj ZGVmaW5lIEhBVkVfWDUwOV9HRVRfU0lHTkFUVVJFX05JRCAxCnwgI2RlZmluZSBIQVZFX0NSWVBU T19MT0NLIDEKfCAjZGVmaW5lIEhBVkVfTElCWE1MMiAxCnwgI2RlZmluZSBIQVZFX0xJQlhTTFQg MQp8ICNkZWZpbmUgSEFWRV9fQk9PTCAxCnwgI2RlZmluZSBIQVZFX1NUREJPT0xfSCAxCnwgI2Rl ZmluZSBIQVZFX0dFVE9QVF9IIDEKfCAjZGVmaW5lIEhBVkVfSUVFRUZQX0ggMQp8IC8qIGVuZCBj b25mZGVmcy5oLiAgKi8KfCAjaW5jbHVkZSA8c3RkaW8uaD4KfCAjaWZkZWYgSEFWRV9TWVNfVFlQ RVNfSAp8ICMgaW5jbHVkZSA8c3lzL3R5cGVzLmg+CnwgI2VuZGlmCnwgI2lmZGVmIEhBVkVfU1lT X1NUQVRfSAp8ICMgaW5jbHVkZSA8c3lzL3N0YXQuaD4KfCAjZW5kaWYKfCAjaWZkZWYgU1REQ19I RUFERVJTCnwgIyBpbmNsdWRlIDxzdGRsaWIuaD4KfCAjIGluY2x1ZGUgPHN0ZGRlZi5oPgp8ICNl bHNlCnwgIyBpZmRlZiBIQVZFX1NURExJQl9ICnwgIyAgaW5jbHVkZSA8c3RkbGliLmg+CnwgIyBl bmRpZgp8ICNlbmRpZgp8ICNpZmRlZiBIQVZFX1NUUklOR19ICnwgIyBpZiAhZGVmaW5lZCBTVERD X0hFQURFUlMgJiYgZGVmaW5lZCBIQVZFX01FTU9SWV9ICnwgIyAgaW5jbHVkZSA8bWVtb3J5Lmg+ CnwgIyBlbmRpZgp8ICMgaW5jbHVkZSA8c3RyaW5nLmg+CnwgI2VuZGlmCnwgI2lmZGVmIEhBVkVf U1RSSU5HU19ICnwgIyBpbmNsdWRlIDxzdHJpbmdzLmg+CnwgI2VuZGlmCnwgI2lmZGVmIEhBVkVf SU5UVFlQRVNfSAp8ICMgaW5jbHVkZSA8aW50dHlwZXMuaD4KfCAjZW5kaWYKfCAjaWZkZWYgSEFW RV9TVERJTlRfSAp8ICMgaW5jbHVkZSA8c3RkaW50Lmg+CnwgI2VuZGlmCnwgI2lmZGVmIEhBVkVf VU5JU1REX0gKfCAjIGluY2x1ZGUgPHVuaXN0ZC5oPgp8ICNlbmRpZgp8ICNpbmNsdWRlIDxzeXMv c2VsZWN0Lmg+CmNvbmZpZ3VyZToxMjUxNDogcmVzdWx0OiBubwpjb25maWd1cmU6MTI1MTQ6IGNo ZWNraW5nIHN5cy9zZWxlY3QuaCBwcmVzZW5jZQpjb25maWd1cmU6MTI1MTQ6IHg4Nl82NC13NjQt bWluZ3czMi1nY2MgLUUgIC1JL3cvUi0zLjUuXy9wb3N0Z3Jlcy9zcmMvaW5jbHVkZS9wb3J0L3dp bjMyIC1ERVhFQ19CQUNLRU5EICAtSS93L3psaWItMS4yLjgtd2luMzIteDg2XzY0L2luY2x1ZGUg LUkvdy9vcGVuc3NsLTEuMC4yZS13aW4zMi14ODZfNjQvaW5jbHVkZSAtSS93L2xpYnhtbDItMi45 LjMtd2luMzIteDg2XzY0L2luY2x1ZGUvbGlieG1sMiAtSS93L2xpYnhzbHQtMS4xLjI4LXdpbjMy LXg4Nl82NC9pbmNsdWRlIGNvbmZ0ZXN0LmMKY29uZnRlc3QuYzo0NjoxMDogZmF0YWwgZXJyb3I6 IHN5cy9zZWxlY3QuaDogTm8gc3VjaCBmaWxlIG9yIGRpcmVjdG9yeQogI2luY2x1ZGUgPHN5cy9z ZWxlY3QuaD4KICAgICAgICAgIF5+fn5+fn5+fn5+fn5+CmNvbXBpbGF0aW9uIHRlcm1pbmF0ZWQu DQpjb25maWd1cmU6MTI1MTQ6ICQ/ID0gMQpjb25maWd1cmU6IGZhaWxlZCBwcm9ncmFtIHdhczoK fCAvKiBjb25mZGVmcy5oICovCnwgI2RlZmluZSBQQUNLQUdFX05BTUUgIlBvc3RncmVTUUwiCnwg I2RlZmluZSBQQUNLQUdFX1RBUk5BTUUgInBvc3RncmVzcWwiCnwgI2RlZmluZSBQQUNLQUdFX1ZF UlNJT04gIjExYmV0YTMiCnwgI2RlZmluZSBQQUNLQUdFX1NUUklORyAiUG9zdGdyZVNRTCAxMWJl dGEzIgp8ICNkZWZpbmUgUEFDS0FHRV9CVUdSRVBPUlQgInBnc3FsLWJ1Z3NAcG9zdGdyZXNxbC5v cmciCnwgI2RlZmluZSBQQUNLQUdFX1VSTCAiIgp8ICNkZWZpbmUgUEdfTUFKT1JWRVJTSU9OICIx MSIKfCAjZGVmaW5lIFBHX1ZFUlNJT04gIjExYmV0YTMiCnwgI2RlZmluZSBERUZfUEdQT1JUIDU0 MzIKfCAjZGVmaW5lIERFRl9QR1BPUlRfU1RSICI1NDMyIgp8ICNkZWZpbmUgQkxDS1NaIDgxOTIK fCAjZGVmaW5lIFJFTFNFR19TSVpFIDEzMTA3Mgp8ICNkZWZpbmUgWExPR19CTENLU1ogODE5Mgp8 ICNkZWZpbmUgVVNFX0FTU0VSVF9DSEVDS0lORyAxCnwgI2RlZmluZSBFTkFCTEVfVEhSRUFEX1NB RkVUWSAxCnwgI2RlZmluZSBVU0VfSUNVIDEKfCAjZGVmaW5lIFBHX0tSQl9TUlZOQU0gInBvc3Rn cmVzIgp8ICNkZWZpbmUgVVNFX09QRU5TU0wgMQp8ICNkZWZpbmUgVVNFX0xJQlhNTCAxCnwgI2Rl ZmluZSBVU0VfTElCWFNMVCAxCnwgI2RlZmluZSBTVERDX0hFQURFUlMgMQp8ICNkZWZpbmUgSEFW RV9TWVNfVFlQRVNfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19TVEFUX0ggMQp8ICNkZWZpbmUgSEFW RV9TVERMSUJfSCAxCnwgI2RlZmluZSBIQVZFX1NUUklOR19IIDEKfCAjZGVmaW5lIEhBVkVfTUVN T1JZX0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJJTkdTX0ggMQp8ICNkZWZpbmUgSEFWRV9JTlRUWVBF U19IIDEKfCAjZGVmaW5lIEhBVkVfU1RESU5UX0ggMQp8ICNkZWZpbmUgSEFWRV9VTklTVERfSCAx CnwgI2RlZmluZSBIQVZFX0xJQk0gMQp8ICNkZWZpbmUgSEFWRV9MSUJaIDEKfCAjZGVmaW5lIEhB VkVfU1BJTkxPQ0tTIDEKfCAjZGVmaW5lIEhBVkVfQVRPTUlDUyAxCnwgI2RlZmluZSBIQVZFX1NT TF9HRVRfQ1VSUkVOVF9DT01QUkVTU0lPTiAxCnwgI2RlZmluZSBIQVZFX1g1MDlfR0VUX1NJR05B VFVSRV9OSUQgMQp8ICNkZWZpbmUgSEFWRV9DUllQVE9fTE9DSyAxCnwgI2RlZmluZSBIQVZFX0xJ QlhNTDIgMQp8ICNkZWZpbmUgSEFWRV9MSUJYU0xUIDEKfCAjZGVmaW5lIEhBVkVfX0JPT0wgMQp8 ICNkZWZpbmUgSEFWRV9TVERCT09MX0ggMQp8ICNkZWZpbmUgSEFWRV9HRVRPUFRfSCAxCnwgI2Rl ZmluZSBIQVZFX0lFRUVGUF9IIDEKfCAvKiBlbmQgY29uZmRlZnMuaC4gICovCnwgI2luY2x1ZGUg PHN5cy9zZWxlY3QuaD4KY29uZmlndXJlOjEyNTE0OiByZXN1bHQ6IG5vCmNvbmZpZ3VyZToxMjUx NDogY2hlY2tpbmcgZm9yIHN5cy9zZWxlY3QuaApjb25maWd1cmU6MTI1MTQ6IHJlc3VsdDogbm8K Y29uZmlndXJlOjEyNTE0OiBjaGVja2luZyBzeXMvc2VtLmggdXNhYmlsaXR5CmNvbmZpZ3VyZTox MjUxNDogeDg2XzY0LXc2NC1taW5ndzMyLWdjYyAtYyAtV2FsbCAtV21pc3NpbmctcHJvdG90eXBl cyAtV3BvaW50ZXItYXJpdGggLVdkZWNsYXJhdGlvbi1hZnRlci1zdGF0ZW1lbnQgLVdlbmRpZi1s YWJlbHMgLVdtaXNzaW5nLWZvcm1hdC1hdHRyaWJ1dGUgLVdmb3JtYXQtc2VjdXJpdHkgLWZuby1z dHJpY3QtYWxpYXNpbmcgLWZ3cmFwdiAtZmV4Y2Vzcy1wcmVjaXNpb249c3RhbmRhcmQgLVduby1m b3JtYXQtdHJ1bmNhdGlvbiAtV25vLXN0cmluZ29wLXRydW5jYXRpb24gLWcgLU8gLWZuby1vbWl0 LWZyYW1lLXBvaW50ZXIgIC1JL3cvUi0zLjUuXy9wb3N0Z3Jlcy9zcmMvaW5jbHVkZS9wb3J0L3dp bjMyIC1ERVhFQ19CQUNLRU5EICAtSS93L3psaWItMS4yLjgtd2luMzIteDg2XzY0L2luY2x1ZGUg LUkvdy9vcGVuc3NsLTEuMC4yZS13aW4zMi14ODZfNjQvaW5jbHVkZSAtSS93L2xpYnhtbDItMi45 LjMtd2luMzIteDg2XzY0L2luY2x1ZGUvbGlieG1sMiAtSS93L2xpYnhzbHQtMS4xLjI4LXdpbjMy LXg4Nl82NC9pbmNsdWRlIGNvbmZ0ZXN0LmMgPiY1CmNvbmZ0ZXN0LmM6Nzk6MTA6IGZhdGFsIGVy cm9yOiBzeXMvc2VtLmg6IE5vIHN1Y2ggZmlsZSBvciBkaXJlY3RvcnkKICNpbmNsdWRlIDxzeXMv c2VtLmg+CiAgICAgICAgICBefn5+fn5+fn5+fgpjb21waWxhdGlvbiB0ZXJtaW5hdGVkLg0KY29u ZmlndXJlOjEyNTE0OiAkPyA9IDEKY29uZmlndXJlOiBmYWlsZWQgcHJvZ3JhbSB3YXM6CnwgLyog Y29uZmRlZnMuaCAqLwp8ICNkZWZpbmUgUEFDS0FHRV9OQU1FICJQb3N0Z3JlU1FMIgp8ICNkZWZp bmUgUEFDS0FHRV9UQVJOQU1FICJwb3N0Z3Jlc3FsIgp8ICNkZWZpbmUgUEFDS0FHRV9WRVJTSU9O ICIxMWJldGEzIgp8ICNkZWZpbmUgUEFDS0FHRV9TVFJJTkcgIlBvc3RncmVTUUwgMTFiZXRhMyIK fCAjZGVmaW5lIFBBQ0tBR0VfQlVHUkVQT1JUICJwZ3NxbC1idWdzQHBvc3RncmVzcWwub3JnIgp8 ICNkZWZpbmUgUEFDS0FHRV9VUkwgIiIKfCAjZGVmaW5lIFBHX01BSk9SVkVSU0lPTiAiMTEiCnwg I2RlZmluZSBQR19WRVJTSU9OICIxMWJldGEzIgp8ICNkZWZpbmUgREVGX1BHUE9SVCA1NDMyCnwg I2RlZmluZSBERUZfUEdQT1JUX1NUUiAiNTQzMiIKfCAjZGVmaW5lIEJMQ0tTWiA4MTkyCnwgI2Rl ZmluZSBSRUxTRUdfU0laRSAxMzEwNzIKfCAjZGVmaW5lIFhMT0dfQkxDS1NaIDgxOTIKfCAjZGVm aW5lIFVTRV9BU1NFUlRfQ0hFQ0tJTkcgMQp8ICNkZWZpbmUgRU5BQkxFX1RIUkVBRF9TQUZFVFkg MQp8ICNkZWZpbmUgVVNFX0lDVSAxCnwgI2RlZmluZSBQR19LUkJfU1JWTkFNICJwb3N0Z3JlcyIK fCAjZGVmaW5lIFVTRV9PUEVOU1NMIDEKfCAjZGVmaW5lIFVTRV9MSUJYTUwgMQp8ICNkZWZpbmUg VVNFX0xJQlhTTFQgMQp8ICNkZWZpbmUgU1REQ19IRUFERVJTIDEKfCAjZGVmaW5lIEhBVkVfU1lT X1RZUEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfU1RBVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1RE TElCX0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJJTkdfSCAxCnwgI2RlZmluZSBIQVZFX01FTU9SWV9I IDEKfCAjZGVmaW5lIEhBVkVfU1RSSU5HU19IIDEKfCAjZGVmaW5lIEhBVkVfSU5UVFlQRVNfSCAx CnwgI2RlZmluZSBIQVZFX1NURElOVF9IIDEKfCAjZGVmaW5lIEhBVkVfVU5JU1REX0ggMQp8ICNk ZWZpbmUgSEFWRV9MSUJNIDEKfCAjZGVmaW5lIEhBVkVfTElCWiAxCnwgI2RlZmluZSBIQVZFX1NQ SU5MT0NLUyAxCnwgI2RlZmluZSBIQVZFX0FUT01JQ1MgMQp8ICNkZWZpbmUgSEFWRV9TU0xfR0VU X0NVUlJFTlRfQ09NUFJFU1NJT04gMQp8ICNkZWZpbmUgSEFWRV9YNTA5X0dFVF9TSUdOQVRVUkVf TklEIDEKfCAjZGVmaW5lIEhBVkVfQ1JZUFRPX0xPQ0sgMQp8ICNkZWZpbmUgSEFWRV9MSUJYTUwy IDEKfCAjZGVmaW5lIEhBVkVfTElCWFNMVCAxCnwgI2RlZmluZSBIQVZFX19CT09MIDEKfCAjZGVm aW5lIEhBVkVfU1REQk9PTF9IIDEKfCAjZGVmaW5lIEhBVkVfR0VUT1BUX0ggMQp8ICNkZWZpbmUg SEFWRV9JRUVFRlBfSCAxCnwgLyogZW5kIGNvbmZkZWZzLmguICAqLwp8ICNpbmNsdWRlIDxzdGRp by5oPgp8ICNpZmRlZiBIQVZFX1NZU19UWVBFU19ICnwgIyBpbmNsdWRlIDxzeXMvdHlwZXMuaD4K fCAjZW5kaWYKfCAjaWZkZWYgSEFWRV9TWVNfU1RBVF9ICnwgIyBpbmNsdWRlIDxzeXMvc3RhdC5o Pgp8ICNlbmRpZgp8ICNpZmRlZiBTVERDX0hFQURFUlMKfCAjIGluY2x1ZGUgPHN0ZGxpYi5oPgp8 ICMgaW5jbHVkZSA8c3RkZGVmLmg+CnwgI2Vsc2UKfCAjIGlmZGVmIEhBVkVfU1RETElCX0gKfCAj ICBpbmNsdWRlIDxzdGRsaWIuaD4KfCAjIGVuZGlmCnwgI2VuZGlmCnwgI2lmZGVmIEhBVkVfU1RS SU5HX0gKfCAjIGlmICFkZWZpbmVkIFNURENfSEVBREVSUyAmJiBkZWZpbmVkIEhBVkVfTUVNT1JZ X0gKfCAjICBpbmNsdWRlIDxtZW1vcnkuaD4KfCAjIGVuZGlmCnwgIyBpbmNsdWRlIDxzdHJpbmcu aD4KfCAjZW5kaWYKfCAjaWZkZWYgSEFWRV9TVFJJTkdTX0gKfCAjIGluY2x1ZGUgPHN0cmluZ3Mu aD4KfCAjZW5kaWYKfCAjaWZkZWYgSEFWRV9JTlRUWVBFU19ICnwgIyBpbmNsdWRlIDxpbnR0eXBl cy5oPgp8ICNlbmRpZgp8ICNpZmRlZiBIQVZFX1NURElOVF9ICnwgIyBpbmNsdWRlIDxzdGRpbnQu aD4KfCAjZW5kaWYKfCAjaWZkZWYgSEFWRV9VTklTVERfSAp8ICMgaW5jbHVkZSA8dW5pc3RkLmg+ CnwgI2VuZGlmCnwgI2luY2x1ZGUgPHN5cy9zZW0uaD4KY29uZmlndXJlOjEyNTE0OiByZXN1bHQ6 IG5vCmNvbmZpZ3VyZToxMjUxNDogY2hlY2tpbmcgc3lzL3NlbS5oIHByZXNlbmNlCmNvbmZpZ3Vy ZToxMjUxNDogeDg2XzY0LXc2NC1taW5ndzMyLWdjYyAtRSAgLUkvdy9SLTMuNS5fL3Bvc3RncmVz L3NyYy9pbmNsdWRlL3BvcnQvd2luMzIgLURFWEVDX0JBQ0tFTkQgIC1JL3cvemxpYi0xLjIuOC13 aW4zMi14ODZfNjQvaW5jbHVkZSAtSS93L29wZW5zc2wtMS4wLjJlLXdpbjMyLXg4Nl82NC9pbmNs dWRlIC1JL3cvbGlieG1sMi0yLjkuMy13aW4zMi14ODZfNjQvaW5jbHVkZS9saWJ4bWwyIC1JL3cv bGlieHNsdC0xLjEuMjgtd2luMzIteDg2XzY0L2luY2x1ZGUgY29uZnRlc3QuYwpjb25mdGVzdC5j OjQ2OjEwOiBmYXRhbCBlcnJvcjogc3lzL3NlbS5oOiBObyBzdWNoIGZpbGUgb3IgZGlyZWN0b3J5 CiAjaW5jbHVkZSA8c3lzL3NlbS5oPgogICAgICAgICAgXn5+fn5+fn5+fn4KY29tcGlsYXRpb24g dGVybWluYXRlZC4NCmNvbmZpZ3VyZToxMjUxNDogJD8gPSAxCmNvbmZpZ3VyZTogZmFpbGVkIHBy b2dyYW0gd2FzOgp8IC8qIGNvbmZkZWZzLmggKi8KfCAjZGVmaW5lIFBBQ0tBR0VfTkFNRSAiUG9z dGdyZVNRTCIKfCAjZGVmaW5lIFBBQ0tBR0VfVEFSTkFNRSAicG9zdGdyZXNxbCIKfCAjZGVmaW5l IFBBQ0tBR0VfVkVSU0lPTiAiMTFiZXRhMyIKfCAjZGVmaW5lIFBBQ0tBR0VfU1RSSU5HICJQb3N0 Z3JlU1FMIDExYmV0YTMiCnwgI2RlZmluZSBQQUNLQUdFX0JVR1JFUE9SVCAicGdzcWwtYnVnc0Bw b3N0Z3Jlc3FsLm9yZyIKfCAjZGVmaW5lIFBBQ0tBR0VfVVJMICIiCnwgI2RlZmluZSBQR19NQUpP UlZFUlNJT04gIjExIgp8ICNkZWZpbmUgUEdfVkVSU0lPTiAiMTFiZXRhMyIKfCAjZGVmaW5lIERF Rl9QR1BPUlQgNTQzMgp8ICNkZWZpbmUgREVGX1BHUE9SVF9TVFIgIjU0MzIiCnwgI2RlZmluZSBC TENLU1ogODE5Mgp8ICNkZWZpbmUgUkVMU0VHX1NJWkUgMTMxMDcyCnwgI2RlZmluZSBYTE9HX0JM Q0tTWiA4MTkyCnwgI2RlZmluZSBVU0VfQVNTRVJUX0NIRUNLSU5HIDEKfCAjZGVmaW5lIEVOQUJM RV9USFJFQURfU0FGRVRZIDEKfCAjZGVmaW5lIFVTRV9JQ1UgMQp8ICNkZWZpbmUgUEdfS1JCX1NS Vk5BTSAicG9zdGdyZXMiCnwgI2RlZmluZSBVU0VfT1BFTlNTTCAxCnwgI2RlZmluZSBVU0VfTElC WE1MIDEKfCAjZGVmaW5lIFVTRV9MSUJYU0xUIDEKfCAjZGVmaW5lIFNURENfSEVBREVSUyAxCnwg I2RlZmluZSBIQVZFX1NZU19UWVBFU19IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NUQVRfSCAxCnwg I2RlZmluZSBIQVZFX1NURExJQl9IIDEKfCAjZGVmaW5lIEhBVkVfU1RSSU5HX0ggMQp8ICNkZWZp bmUgSEFWRV9NRU1PUllfSCAxCnwgI2RlZmluZSBIQVZFX1NUUklOR1NfSCAxCnwgI2RlZmluZSBI QVZFX0lOVFRZUEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERJTlRfSCAxCnwgI2RlZmluZSBIQVZF X1VOSVNURF9IIDEKfCAjZGVmaW5lIEhBVkVfTElCTSAxCnwgI2RlZmluZSBIQVZFX0xJQlogMQp8 ICNkZWZpbmUgSEFWRV9TUElOTE9DS1MgMQp8ICNkZWZpbmUgSEFWRV9BVE9NSUNTIDEKfCAjZGVm aW5lIEhBVkVfU1NMX0dFVF9DVVJSRU5UX0NPTVBSRVNTSU9OIDEKfCAjZGVmaW5lIEhBVkVfWDUw OV9HRVRfU0lHTkFUVVJFX05JRCAxCnwgI2RlZmluZSBIQVZFX0NSWVBUT19MT0NLIDEKfCAjZGVm aW5lIEhBVkVfTElCWE1MMiAxCnwgI2RlZmluZSBIQVZFX0xJQlhTTFQgMQp8ICNkZWZpbmUgSEFW RV9fQk9PTCAxCnwgI2RlZmluZSBIQVZFX1NUREJPT0xfSCAxCnwgI2RlZmluZSBIQVZFX0dFVE9Q VF9IIDEKfCAjZGVmaW5lIEhBVkVfSUVFRUZQX0ggMQp8IC8qIGVuZCBjb25mZGVmcy5oLiAgKi8K fCAjaW5jbHVkZSA8c3lzL3NlbS5oPgpjb25maWd1cmU6MTI1MTQ6IHJlc3VsdDogbm8KY29uZmln dXJlOjEyNTE0OiBjaGVja2luZyBmb3Igc3lzL3NlbS5oCmNvbmZpZ3VyZToxMjUxNDogcmVzdWx0 OiBubwpjb25maWd1cmU6MTI1MTQ6IGNoZWNraW5nIHN5cy9zaG0uaCB1c2FiaWxpdHkKY29uZmln dXJlOjEyNTE0OiB4ODZfNjQtdzY0LW1pbmd3MzItZ2NjIC1jIC1XYWxsIC1XbWlzc2luZy1wcm90 b3R5cGVzIC1XcG9pbnRlci1hcml0aCAtV2RlY2xhcmF0aW9uLWFmdGVyLXN0YXRlbWVudCAtV2Vu ZGlmLWxhYmVscyAtV21pc3NpbmctZm9ybWF0LWF0dHJpYnV0ZSAtV2Zvcm1hdC1zZWN1cml0eSAt Zm5vLXN0cmljdC1hbGlhc2luZyAtZndyYXB2IC1mZXhjZXNzLXByZWNpc2lvbj1zdGFuZGFyZCAt V25vLWZvcm1hdC10cnVuY2F0aW9uIC1Xbm8tc3RyaW5nb3AtdHJ1bmNhdGlvbiAtZyAtTyAtZm5v LW9taXQtZnJhbWUtcG9pbnRlciAgLUkvdy9SLTMuNS5fL3Bvc3RncmVzL3NyYy9pbmNsdWRlL3Bv cnQvd2luMzIgLURFWEVDX0JBQ0tFTkQgIC1JL3cvemxpYi0xLjIuOC13aW4zMi14ODZfNjQvaW5j bHVkZSAtSS93L29wZW5zc2wtMS4wLjJlLXdpbjMyLXg4Nl82NC9pbmNsdWRlIC1JL3cvbGlieG1s Mi0yLjkuMy13aW4zMi14ODZfNjQvaW5jbHVkZS9saWJ4bWwyIC1JL3cvbGlieHNsdC0xLjEuMjgt d2luMzIteDg2XzY0L2luY2x1ZGUgY29uZnRlc3QuYyA+JjUKY29uZnRlc3QuYzo3OToxMDogZmF0 YWwgZXJyb3I6IHN5cy9zaG0uaDogTm8gc3VjaCBmaWxlIG9yIGRpcmVjdG9yeQogI2luY2x1ZGUg PHN5cy9zaG0uaD4KICAgICAgICAgIF5+fn5+fn5+fn5+CmNvbXBpbGF0aW9uIHRlcm1pbmF0ZWQu DQpjb25maWd1cmU6MTI1MTQ6ICQ/ID0gMQpjb25maWd1cmU6IGZhaWxlZCBwcm9ncmFtIHdhczoK fCAvKiBjb25mZGVmcy5oICovCnwgI2RlZmluZSBQQUNLQUdFX05BTUUgIlBvc3RncmVTUUwiCnwg I2RlZmluZSBQQUNLQUdFX1RBUk5BTUUgInBvc3RncmVzcWwiCnwgI2RlZmluZSBQQUNLQUdFX1ZF UlNJT04gIjExYmV0YTMiCnwgI2RlZmluZSBQQUNLQUdFX1NUUklORyAiUG9zdGdyZVNRTCAxMWJl dGEzIgp8ICNkZWZpbmUgUEFDS0FHRV9CVUdSRVBPUlQgInBnc3FsLWJ1Z3NAcG9zdGdyZXNxbC5v cmciCnwgI2RlZmluZSBQQUNLQUdFX1VSTCAiIgp8ICNkZWZpbmUgUEdfTUFKT1JWRVJTSU9OICIx MSIKfCAjZGVmaW5lIFBHX1ZFUlNJT04gIjExYmV0YTMiCnwgI2RlZmluZSBERUZfUEdQT1JUIDU0 MzIKfCAjZGVmaW5lIERFRl9QR1BPUlRfU1RSICI1NDMyIgp8ICNkZWZpbmUgQkxDS1NaIDgxOTIK fCAjZGVmaW5lIFJFTFNFR19TSVpFIDEzMTA3Mgp8ICNkZWZpbmUgWExPR19CTENLU1ogODE5Mgp8 ICNkZWZpbmUgVVNFX0FTU0VSVF9DSEVDS0lORyAxCnwgI2RlZmluZSBFTkFCTEVfVEhSRUFEX1NB RkVUWSAxCnwgI2RlZmluZSBVU0VfSUNVIDEKfCAjZGVmaW5lIFBHX0tSQl9TUlZOQU0gInBvc3Rn cmVzIgp8ICNkZWZpbmUgVVNFX09QRU5TU0wgMQp8ICNkZWZpbmUgVVNFX0xJQlhNTCAxCnwgI2Rl ZmluZSBVU0VfTElCWFNMVCAxCnwgI2RlZmluZSBTVERDX0hFQURFUlMgMQp8ICNkZWZpbmUgSEFW RV9TWVNfVFlQRVNfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19TVEFUX0ggMQp8ICNkZWZpbmUgSEFW RV9TVERMSUJfSCAxCnwgI2RlZmluZSBIQVZFX1NUUklOR19IIDEKfCAjZGVmaW5lIEhBVkVfTUVN T1JZX0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJJTkdTX0ggMQp8ICNkZWZpbmUgSEFWRV9JTlRUWVBF U19IIDEKfCAjZGVmaW5lIEhBVkVfU1RESU5UX0ggMQp8ICNkZWZpbmUgSEFWRV9VTklTVERfSCAx CnwgI2RlZmluZSBIQVZFX0xJQk0gMQp8ICNkZWZpbmUgSEFWRV9MSUJaIDEKfCAjZGVmaW5lIEhB VkVfU1BJTkxPQ0tTIDEKfCAjZGVmaW5lIEhBVkVfQVRPTUlDUyAxCnwgI2RlZmluZSBIQVZFX1NT TF9HRVRfQ1VSUkVOVF9DT01QUkVTU0lPTiAxCnwgI2RlZmluZSBIQVZFX1g1MDlfR0VUX1NJR05B VFVSRV9OSUQgMQp8ICNkZWZpbmUgSEFWRV9DUllQVE9fTE9DSyAxCnwgI2RlZmluZSBIQVZFX0xJ QlhNTDIgMQp8ICNkZWZpbmUgSEFWRV9MSUJYU0xUIDEKfCAjZGVmaW5lIEhBVkVfX0JPT0wgMQp8 ICNkZWZpbmUgSEFWRV9TVERCT09MX0ggMQp8ICNkZWZpbmUgSEFWRV9HRVRPUFRfSCAxCnwgI2Rl ZmluZSBIQVZFX0lFRUVGUF9IIDEKfCAvKiBlbmQgY29uZmRlZnMuaC4gICovCnwgI2luY2x1ZGUg PHN0ZGlvLmg+CnwgI2lmZGVmIEhBVkVfU1lTX1RZUEVTX0gKfCAjIGluY2x1ZGUgPHN5cy90eXBl cy5oPgp8ICNlbmRpZgp8ICNpZmRlZiBIQVZFX1NZU19TVEFUX0gKfCAjIGluY2x1ZGUgPHN5cy9z dGF0Lmg+CnwgI2VuZGlmCnwgI2lmZGVmIFNURENfSEVBREVSUwp8ICMgaW5jbHVkZSA8c3RkbGli Lmg+CnwgIyBpbmNsdWRlIDxzdGRkZWYuaD4KfCAjZWxzZQp8ICMgaWZkZWYgSEFWRV9TVERMSUJf SAp8ICMgIGluY2x1ZGUgPHN0ZGxpYi5oPgp8ICMgZW5kaWYKfCAjZW5kaWYKfCAjaWZkZWYgSEFW RV9TVFJJTkdfSAp8ICMgaWYgIWRlZmluZWQgU1REQ19IRUFERVJTICYmIGRlZmluZWQgSEFWRV9N RU1PUllfSAp8ICMgIGluY2x1ZGUgPG1lbW9yeS5oPgp8ICMgZW5kaWYKfCAjIGluY2x1ZGUgPHN0 cmluZy5oPgp8ICNlbmRpZgp8ICNpZmRlZiBIQVZFX1NUUklOR1NfSAp8ICMgaW5jbHVkZSA8c3Ry aW5ncy5oPgp8ICNlbmRpZgp8ICNpZmRlZiBIQVZFX0lOVFRZUEVTX0gKfCAjIGluY2x1ZGUgPGlu dHR5cGVzLmg+CnwgI2VuZGlmCnwgI2lmZGVmIEhBVkVfU1RESU5UX0gKfCAjIGluY2x1ZGUgPHN0 ZGludC5oPgp8ICNlbmRpZgp8ICNpZmRlZiBIQVZFX1VOSVNURF9ICnwgIyBpbmNsdWRlIDx1bmlz dGQuaD4KfCAjZW5kaWYKfCAjaW5jbHVkZSA8c3lzL3NobS5oPgpjb25maWd1cmU6MTI1MTQ6IHJl c3VsdDogbm8KY29uZmlndXJlOjEyNTE0OiBjaGVja2luZyBzeXMvc2htLmggcHJlc2VuY2UKY29u ZmlndXJlOjEyNTE0OiB4ODZfNjQtdzY0LW1pbmd3MzItZ2NjIC1FICAtSS93L1ItMy41Ll8vcG9z dGdyZXMvc3JjL2luY2x1ZGUvcG9ydC93aW4zMiAtREVYRUNfQkFDS0VORCAgLUkvdy96bGliLTEu Mi44LXdpbjMyLXg4Nl82NC9pbmNsdWRlIC1JL3cvb3BlbnNzbC0xLjAuMmUtd2luMzIteDg2XzY0 L2luY2x1ZGUgLUkvdy9saWJ4bWwyLTIuOS4zLXdpbjMyLXg4Nl82NC9pbmNsdWRlL2xpYnhtbDIg LUkvdy9saWJ4c2x0LTEuMS4yOC13aW4zMi14ODZfNjQvaW5jbHVkZSBjb25mdGVzdC5jCmNvbmZ0 ZXN0LmM6NDY6MTA6IGZhdGFsIGVycm9yOiBzeXMvc2htLmg6IE5vIHN1Y2ggZmlsZSBvciBkaXJl Y3RvcnkKICNpbmNsdWRlIDxzeXMvc2htLmg+CiAgICAgICAgICBefn5+fn5+fn5+fgpjb21waWxh dGlvbiB0ZXJtaW5hdGVkLg0KY29uZmlndXJlOjEyNTE0OiAkPyA9IDEKY29uZmlndXJlOiBmYWls ZWQgcHJvZ3JhbSB3YXM6CnwgLyogY29uZmRlZnMuaCAqLwp8ICNkZWZpbmUgUEFDS0FHRV9OQU1F ICJQb3N0Z3JlU1FMIgp8ICNkZWZpbmUgUEFDS0FHRV9UQVJOQU1FICJwb3N0Z3Jlc3FsIgp8ICNk ZWZpbmUgUEFDS0FHRV9WRVJTSU9OICIxMWJldGEzIgp8ICNkZWZpbmUgUEFDS0FHRV9TVFJJTkcg IlBvc3RncmVTUUwgMTFiZXRhMyIKfCAjZGVmaW5lIFBBQ0tBR0VfQlVHUkVQT1JUICJwZ3NxbC1i dWdzQHBvc3RncmVzcWwub3JnIgp8ICNkZWZpbmUgUEFDS0FHRV9VUkwgIiIKfCAjZGVmaW5lIFBH X01BSk9SVkVSU0lPTiAiMTEiCnwgI2RlZmluZSBQR19WRVJTSU9OICIxMWJldGEzIgp8ICNkZWZp bmUgREVGX1BHUE9SVCA1NDMyCnwgI2RlZmluZSBERUZfUEdQT1JUX1NUUiAiNTQzMiIKfCAjZGVm aW5lIEJMQ0tTWiA4MTkyCnwgI2RlZmluZSBSRUxTRUdfU0laRSAxMzEwNzIKfCAjZGVmaW5lIFhM T0dfQkxDS1NaIDgxOTIKfCAjZGVmaW5lIFVTRV9BU1NFUlRfQ0hFQ0tJTkcgMQp8ICNkZWZpbmUg RU5BQkxFX1RIUkVBRF9TQUZFVFkgMQp8ICNkZWZpbmUgVVNFX0lDVSAxCnwgI2RlZmluZSBQR19L UkJfU1JWTkFNICJwb3N0Z3JlcyIKfCAjZGVmaW5lIFVTRV9PUEVOU1NMIDEKfCAjZGVmaW5lIFVT RV9MSUJYTUwgMQp8ICNkZWZpbmUgVVNFX0xJQlhTTFQgMQp8ICNkZWZpbmUgU1REQ19IRUFERVJT IDEKfCAjZGVmaW5lIEhBVkVfU1lTX1RZUEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfU1RBVF9I IDEKfCAjZGVmaW5lIEhBVkVfU1RETElCX0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJJTkdfSCAxCnwg I2RlZmluZSBIQVZFX01FTU9SWV9IIDEKfCAjZGVmaW5lIEhBVkVfU1RSSU5HU19IIDEKfCAjZGVm aW5lIEhBVkVfSU5UVFlQRVNfSCAxCnwgI2RlZmluZSBIQVZFX1NURElOVF9IIDEKfCAjZGVmaW5l IEhBVkVfVU5JU1REX0ggMQp8ICNkZWZpbmUgSEFWRV9MSUJNIDEKfCAjZGVmaW5lIEhBVkVfTElC WiAxCnwgI2RlZmluZSBIQVZFX1NQSU5MT0NLUyAxCnwgI2RlZmluZSBIQVZFX0FUT01JQ1MgMQp8 ICNkZWZpbmUgSEFWRV9TU0xfR0VUX0NVUlJFTlRfQ09NUFJFU1NJT04gMQp8ICNkZWZpbmUgSEFW RV9YNTA5X0dFVF9TSUdOQVRVUkVfTklEIDEKfCAjZGVmaW5lIEhBVkVfQ1JZUFRPX0xPQ0sgMQp8 ICNkZWZpbmUgSEFWRV9MSUJYTUwyIDEKfCAjZGVmaW5lIEhBVkVfTElCWFNMVCAxCnwgI2RlZmlu ZSBIQVZFX19CT09MIDEKfCAjZGVmaW5lIEhBVkVfU1REQk9PTF9IIDEKfCAjZGVmaW5lIEhBVkVf R0VUT1BUX0ggMQp8ICNkZWZpbmUgSEFWRV9JRUVFRlBfSCAxCnwgLyogZW5kIGNvbmZkZWZzLmgu ICAqLwp8ICNpbmNsdWRlIDxzeXMvc2htLmg+CmNvbmZpZ3VyZToxMjUxNDogcmVzdWx0OiBubwpj b25maWd1cmU6MTI1MTQ6IGNoZWNraW5nIGZvciBzeXMvc2htLmgKY29uZmlndXJlOjEyNTE0OiBy ZXN1bHQ6IG5vCmNvbmZpZ3VyZToxMjUxNDogY2hlY2tpbmcgc3lzL3NvY2tpby5oIHVzYWJpbGl0 eQpjb25maWd1cmU6MTI1MTQ6IHg4Nl82NC13NjQtbWluZ3czMi1nY2MgLWMgLVdhbGwgLVdtaXNz aW5nLXByb3RvdHlwZXMgLVdwb2ludGVyLWFyaXRoIC1XZGVjbGFyYXRpb24tYWZ0ZXItc3RhdGVt ZW50IC1XZW5kaWYtbGFiZWxzIC1XbWlzc2luZy1mb3JtYXQtYXR0cmlidXRlIC1XZm9ybWF0LXNl Y3VyaXR5IC1mbm8tc3RyaWN0LWFsaWFzaW5nIC1md3JhcHYgLWZleGNlc3MtcHJlY2lzaW9uPXN0 YW5kYXJkIC1Xbm8tZm9ybWF0LXRydW5jYXRpb24gLVduby1zdHJpbmdvcC10cnVuY2F0aW9uIC1n IC1PIC1mbm8tb21pdC1mcmFtZS1wb2ludGVyICAtSS93L1ItMy41Ll8vcG9zdGdyZXMvc3JjL2lu Y2x1ZGUvcG9ydC93aW4zMiAtREVYRUNfQkFDS0VORCAgLUkvdy96bGliLTEuMi44LXdpbjMyLXg4 Nl82NC9pbmNsdWRlIC1JL3cvb3BlbnNzbC0xLjAuMmUtd2luMzIteDg2XzY0L2luY2x1ZGUgLUkv dy9saWJ4bWwyLTIuOS4zLXdpbjMyLXg4Nl82NC9pbmNsdWRlL2xpYnhtbDIgLUkvdy9saWJ4c2x0 LTEuMS4yOC13aW4zMi14ODZfNjQvaW5jbHVkZSBjb25mdGVzdC5jID4mNQpjb25mdGVzdC5jOjc5 OjEwOiBmYXRhbCBlcnJvcjogc3lzL3NvY2tpby5oOiBObyBzdWNoIGZpbGUgb3IgZGlyZWN0b3J5 CiAjaW5jbHVkZSA8c3lzL3NvY2tpby5oPgogICAgICAgICAgXn5+fn5+fn5+fn5+fn4KY29tcGls YXRpb24gdGVybWluYXRlZC4NCmNvbmZpZ3VyZToxMjUxNDogJD8gPSAxCmNvbmZpZ3VyZTogZmFp bGVkIHByb2dyYW0gd2FzOgp8IC8qIGNvbmZkZWZzLmggKi8KfCAjZGVmaW5lIFBBQ0tBR0VfTkFN RSAiUG9zdGdyZVNRTCIKfCAjZGVmaW5lIFBBQ0tBR0VfVEFSTkFNRSAicG9zdGdyZXNxbCIKfCAj ZGVmaW5lIFBBQ0tBR0VfVkVSU0lPTiAiMTFiZXRhMyIKfCAjZGVmaW5lIFBBQ0tBR0VfU1RSSU5H ICJQb3N0Z3JlU1FMIDExYmV0YTMiCnwgI2RlZmluZSBQQUNLQUdFX0JVR1JFUE9SVCAicGdzcWwt YnVnc0Bwb3N0Z3Jlc3FsLm9yZyIKfCAjZGVmaW5lIFBBQ0tBR0VfVVJMICIiCnwgI2RlZmluZSBQ R19NQUpPUlZFUlNJT04gIjExIgp8ICNkZWZpbmUgUEdfVkVSU0lPTiAiMTFiZXRhMyIKfCAjZGVm aW5lIERFRl9QR1BPUlQgNTQzMgp8ICNkZWZpbmUgREVGX1BHUE9SVF9TVFIgIjU0MzIiCnwgI2Rl ZmluZSBCTENLU1ogODE5Mgp8ICNkZWZpbmUgUkVMU0VHX1NJWkUgMTMxMDcyCnwgI2RlZmluZSBY TE9HX0JMQ0tTWiA4MTkyCnwgI2RlZmluZSBVU0VfQVNTRVJUX0NIRUNLSU5HIDEKfCAjZGVmaW5l IEVOQUJMRV9USFJFQURfU0FGRVRZIDEKfCAjZGVmaW5lIFVTRV9JQ1UgMQp8ICNkZWZpbmUgUEdf S1JCX1NSVk5BTSAicG9zdGdyZXMiCnwgI2RlZmluZSBVU0VfT1BFTlNTTCAxCnwgI2RlZmluZSBV U0VfTElCWE1MIDEKfCAjZGVmaW5lIFVTRV9MSUJYU0xUIDEKfCAjZGVmaW5lIFNURENfSEVBREVS UyAxCnwgI2RlZmluZSBIQVZFX1NZU19UWVBFU19IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NUQVRf SCAxCnwgI2RlZmluZSBIQVZFX1NURExJQl9IIDEKfCAjZGVmaW5lIEhBVkVfU1RSSU5HX0ggMQp8 ICNkZWZpbmUgSEFWRV9NRU1PUllfSCAxCnwgI2RlZmluZSBIQVZFX1NUUklOR1NfSCAxCnwgI2Rl ZmluZSBIQVZFX0lOVFRZUEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERJTlRfSCAxCnwgI2RlZmlu ZSBIQVZFX1VOSVNURF9IIDEKfCAjZGVmaW5lIEhBVkVfTElCTSAxCnwgI2RlZmluZSBIQVZFX0xJ QlogMQp8ICNkZWZpbmUgSEFWRV9TUElOTE9DS1MgMQp8ICNkZWZpbmUgSEFWRV9BVE9NSUNTIDEK fCAjZGVmaW5lIEhBVkVfU1NMX0dFVF9DVVJSRU5UX0NPTVBSRVNTSU9OIDEKfCAjZGVmaW5lIEhB VkVfWDUwOV9HRVRfU0lHTkFUVVJFX05JRCAxCnwgI2RlZmluZSBIQVZFX0NSWVBUT19MT0NLIDEK fCAjZGVmaW5lIEhBVkVfTElCWE1MMiAxCnwgI2RlZmluZSBIQVZFX0xJQlhTTFQgMQp8ICNkZWZp bmUgSEFWRV9fQk9PTCAxCnwgI2RlZmluZSBIQVZFX1NUREJPT0xfSCAxCnwgI2RlZmluZSBIQVZF X0dFVE9QVF9IIDEKfCAjZGVmaW5lIEhBVkVfSUVFRUZQX0ggMQp8IC8qIGVuZCBjb25mZGVmcy5o LiAgKi8KfCAjaW5jbHVkZSA8c3RkaW8uaD4KfCAjaWZkZWYgSEFWRV9TWVNfVFlQRVNfSAp8ICMg aW5jbHVkZSA8c3lzL3R5cGVzLmg+CnwgI2VuZGlmCnwgI2lmZGVmIEhBVkVfU1lTX1NUQVRfSAp8 ICMgaW5jbHVkZSA8c3lzL3N0YXQuaD4KfCAjZW5kaWYKfCAjaWZkZWYgU1REQ19IRUFERVJTCnwg IyBpbmNsdWRlIDxzdGRsaWIuaD4KfCAjIGluY2x1ZGUgPHN0ZGRlZi5oPgp8ICNlbHNlCnwgIyBp ZmRlZiBIQVZFX1NURExJQl9ICnwgIyAgaW5jbHVkZSA8c3RkbGliLmg+CnwgIyBlbmRpZgp8ICNl bmRpZgp8ICNpZmRlZiBIQVZFX1NUUklOR19ICnwgIyBpZiAhZGVmaW5lZCBTVERDX0hFQURFUlMg JiYgZGVmaW5lZCBIQVZFX01FTU9SWV9ICnwgIyAgaW5jbHVkZSA8bWVtb3J5Lmg+CnwgIyBlbmRp Zgp8ICMgaW5jbHVkZSA8c3RyaW5nLmg+CnwgI2VuZGlmCnwgI2lmZGVmIEhBVkVfU1RSSU5HU19I CnwgIyBpbmNsdWRlIDxzdHJpbmdzLmg+CnwgI2VuZGlmCnwgI2lmZGVmIEhBVkVfSU5UVFlQRVNf SAp8ICMgaW5jbHVkZSA8aW50dHlwZXMuaD4KfCAjZW5kaWYKfCAjaWZkZWYgSEFWRV9TVERJTlRf SAp8ICMgaW5jbHVkZSA8c3RkaW50Lmg+CnwgI2VuZGlmCnwgI2lmZGVmIEhBVkVfVU5JU1REX0gK fCAjIGluY2x1ZGUgPHVuaXN0ZC5oPgp8ICNlbmRpZgp8ICNpbmNsdWRlIDxzeXMvc29ja2lvLmg+ CmNvbmZpZ3VyZToxMjUxNDogcmVzdWx0OiBubwpjb25maWd1cmU6MTI1MTQ6IGNoZWNraW5nIHN5 cy9zb2NraW8uaCBwcmVzZW5jZQpjb25maWd1cmU6MTI1MTQ6IHg4Nl82NC13NjQtbWluZ3czMi1n Y2MgLUUgIC1JL3cvUi0zLjUuXy9wb3N0Z3Jlcy9zcmMvaW5jbHVkZS9wb3J0L3dpbjMyIC1ERVhF Q19CQUNLRU5EICAtSS93L3psaWItMS4yLjgtd2luMzIteDg2XzY0L2luY2x1ZGUgLUkvdy9vcGVu c3NsLTEuMC4yZS13aW4zMi14ODZfNjQvaW5jbHVkZSAtSS93L2xpYnhtbDItMi45LjMtd2luMzIt eDg2XzY0L2luY2x1ZGUvbGlieG1sMiAtSS93L2xpYnhzbHQtMS4xLjI4LXdpbjMyLXg4Nl82NC9p bmNsdWRlIGNvbmZ0ZXN0LmMKY29uZnRlc3QuYzo0NjoxMDogZmF0YWwgZXJyb3I6IHN5cy9zb2Nr aW8uaDogTm8gc3VjaCBmaWxlIG9yIGRpcmVjdG9yeQogI2luY2x1ZGUgPHN5cy9zb2NraW8uaD4K ICAgICAgICAgIF5+fn5+fn5+fn5+fn5+CmNvbXBpbGF0aW9uIHRlcm1pbmF0ZWQuDQpjb25maWd1 cmU6MTI1MTQ6ICQ/ID0gMQpjb25maWd1cmU6IGZhaWxlZCBwcm9ncmFtIHdhczoKfCAvKiBjb25m ZGVmcy5oICovCnwgI2RlZmluZSBQQUNLQUdFX05BTUUgIlBvc3RncmVTUUwiCnwgI2RlZmluZSBQ QUNLQUdFX1RBUk5BTUUgInBvc3RncmVzcWwiCnwgI2RlZmluZSBQQUNLQUdFX1ZFUlNJT04gIjEx YmV0YTMiCnwgI2RlZmluZSBQQUNLQUdFX1NUUklORyAiUG9zdGdyZVNRTCAxMWJldGEzIgp8ICNk ZWZpbmUgUEFDS0FHRV9CVUdSRVBPUlQgInBnc3FsLWJ1Z3NAcG9zdGdyZXNxbC5vcmciCnwgI2Rl ZmluZSBQQUNLQUdFX1VSTCAiIgp8ICNkZWZpbmUgUEdfTUFKT1JWRVJTSU9OICIxMSIKfCAjZGVm aW5lIFBHX1ZFUlNJT04gIjExYmV0YTMiCnwgI2RlZmluZSBERUZfUEdQT1JUIDU0MzIKfCAjZGVm aW5lIERFRl9QR1BPUlRfU1RSICI1NDMyIgp8ICNkZWZpbmUgQkxDS1NaIDgxOTIKfCAjZGVmaW5l IFJFTFNFR19TSVpFIDEzMTA3Mgp8ICNkZWZpbmUgWExPR19CTENLU1ogODE5Mgp8ICNkZWZpbmUg VVNFX0FTU0VSVF9DSEVDS0lORyAxCnwgI2RlZmluZSBFTkFCTEVfVEhSRUFEX1NBRkVUWSAxCnwg I2RlZmluZSBVU0VfSUNVIDEKfCAjZGVmaW5lIFBHX0tSQl9TUlZOQU0gInBvc3RncmVzIgp8ICNk ZWZpbmUgVVNFX09QRU5TU0wgMQp8ICNkZWZpbmUgVVNFX0xJQlhNTCAxCnwgI2RlZmluZSBVU0Vf TElCWFNMVCAxCnwgI2RlZmluZSBTVERDX0hFQURFUlMgMQp8ICNkZWZpbmUgSEFWRV9TWVNfVFlQ RVNfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19TVEFUX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERMSUJf SCAxCnwgI2RlZmluZSBIQVZFX1NUUklOR19IIDEKfCAjZGVmaW5lIEhBVkVfTUVNT1JZX0ggMQp8 ICNkZWZpbmUgSEFWRV9TVFJJTkdTX0ggMQp8ICNkZWZpbmUgSEFWRV9JTlRUWVBFU19IIDEKfCAj ZGVmaW5lIEhBVkVfU1RESU5UX0ggMQp8ICNkZWZpbmUgSEFWRV9VTklTVERfSCAxCnwgI2RlZmlu ZSBIQVZFX0xJQk0gMQp8ICNkZWZpbmUgSEFWRV9MSUJaIDEKfCAjZGVmaW5lIEhBVkVfU1BJTkxP Q0tTIDEKfCAjZGVmaW5lIEhBVkVfQVRPTUlDUyAxCnwgI2RlZmluZSBIQVZFX1NTTF9HRVRfQ1VS UkVOVF9DT01QUkVTU0lPTiAxCnwgI2RlZmluZSBIQVZFX1g1MDlfR0VUX1NJR05BVFVSRV9OSUQg MQp8ICNkZWZpbmUgSEFWRV9DUllQVE9fTE9DSyAxCnwgI2RlZmluZSBIQVZFX0xJQlhNTDIgMQp8 ICNkZWZpbmUgSEFWRV9MSUJYU0xUIDEKfCAjZGVmaW5lIEhBVkVfX0JPT0wgMQp8ICNkZWZpbmUg SEFWRV9TVERCT09MX0ggMQp8ICNkZWZpbmUgSEFWRV9HRVRPUFRfSCAxCnwgI2RlZmluZSBIQVZF X0lFRUVGUF9IIDEKfCAvKiBlbmQgY29uZmRlZnMuaC4gICovCnwgI2luY2x1ZGUgPHN5cy9zb2Nr aW8uaD4KY29uZmlndXJlOjEyNTE0OiByZXN1bHQ6IG5vCmNvbmZpZ3VyZToxMjUxNDogY2hlY2tp bmcgZm9yIHN5cy9zb2NraW8uaApjb25maWd1cmU6MTI1MTQ6IHJlc3VsdDogbm8KY29uZmlndXJl OjEyNTE0OiBjaGVja2luZyBzeXMvdGFzLmggdXNhYmlsaXR5CmNvbmZpZ3VyZToxMjUxNDogeDg2 XzY0LXc2NC1taW5ndzMyLWdjYyAtYyAtV2FsbCAtV21pc3NpbmctcHJvdG90eXBlcyAtV3BvaW50 ZXItYXJpdGggLVdkZWNsYXJhdGlvbi1hZnRlci1zdGF0ZW1lbnQgLVdlbmRpZi1sYWJlbHMgLVdt aXNzaW5nLWZvcm1hdC1hdHRyaWJ1dGUgLVdmb3JtYXQtc2VjdXJpdHkgLWZuby1zdHJpY3QtYWxp YXNpbmcgLWZ3cmFwdiAtZmV4Y2Vzcy1wcmVjaXNpb249c3RhbmRhcmQgLVduby1mb3JtYXQtdHJ1 bmNhdGlvbiAtV25vLXN0cmluZ29wLXRydW5jYXRpb24gLWcgLU8gLWZuby1vbWl0LWZyYW1lLXBv aW50ZXIgIC1JL3cvUi0zLjUuXy9wb3N0Z3Jlcy9zcmMvaW5jbHVkZS9wb3J0L3dpbjMyIC1ERVhF Q19CQUNLRU5EICAtSS93L3psaWItMS4yLjgtd2luMzIteDg2XzY0L2luY2x1ZGUgLUkvdy9vcGVu c3NsLTEuMC4yZS13aW4zMi14ODZfNjQvaW5jbHVkZSAtSS93L2xpYnhtbDItMi45LjMtd2luMzIt eDg2XzY0L2luY2x1ZGUvbGlieG1sMiAtSS93L2xpYnhzbHQtMS4xLjI4LXdpbjMyLXg4Nl82NC9p bmNsdWRlIGNvbmZ0ZXN0LmMgPiY1CmNvbmZ0ZXN0LmM6Nzk6MTA6IGZhdGFsIGVycm9yOiBzeXMv dGFzLmg6IE5vIHN1Y2ggZmlsZSBvciBkaXJlY3RvcnkKICNpbmNsdWRlIDxzeXMvdGFzLmg+CiAg ICAgICAgICBefn5+fn5+fn5+fgpjb21waWxhdGlvbiB0ZXJtaW5hdGVkLg0KY29uZmlndXJlOjEy NTE0OiAkPyA9IDEKY29uZmlndXJlOiBmYWlsZWQgcHJvZ3JhbSB3YXM6CnwgLyogY29uZmRlZnMu aCAqLwp8ICNkZWZpbmUgUEFDS0FHRV9OQU1FICJQb3N0Z3JlU1FMIgp8ICNkZWZpbmUgUEFDS0FH RV9UQVJOQU1FICJwb3N0Z3Jlc3FsIgp8ICNkZWZpbmUgUEFDS0FHRV9WRVJTSU9OICIxMWJldGEz Igp8ICNkZWZpbmUgUEFDS0FHRV9TVFJJTkcgIlBvc3RncmVTUUwgMTFiZXRhMyIKfCAjZGVmaW5l IFBBQ0tBR0VfQlVHUkVQT1JUICJwZ3NxbC1idWdzQHBvc3RncmVzcWwub3JnIgp8ICNkZWZpbmUg UEFDS0FHRV9VUkwgIiIKfCAjZGVmaW5lIFBHX01BSk9SVkVSU0lPTiAiMTEiCnwgI2RlZmluZSBQ R19WRVJTSU9OICIxMWJldGEzIgp8ICNkZWZpbmUgREVGX1BHUE9SVCA1NDMyCnwgI2RlZmluZSBE RUZfUEdQT1JUX1NUUiAiNTQzMiIKfCAjZGVmaW5lIEJMQ0tTWiA4MTkyCnwgI2RlZmluZSBSRUxT RUdfU0laRSAxMzEwNzIKfCAjZGVmaW5lIFhMT0dfQkxDS1NaIDgxOTIKfCAjZGVmaW5lIFVTRV9B U1NFUlRfQ0hFQ0tJTkcgMQp8ICNkZWZpbmUgRU5BQkxFX1RIUkVBRF9TQUZFVFkgMQp8ICNkZWZp bmUgVVNFX0lDVSAxCnwgI2RlZmluZSBQR19LUkJfU1JWTkFNICJwb3N0Z3JlcyIKfCAjZGVmaW5l IFVTRV9PUEVOU1NMIDEKfCAjZGVmaW5lIFVTRV9MSUJYTUwgMQp8ICNkZWZpbmUgVVNFX0xJQlhT TFQgMQp8ICNkZWZpbmUgU1REQ19IRUFERVJTIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1RZUEVTX0gg MQp8ICNkZWZpbmUgSEFWRV9TWVNfU1RBVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1RETElCX0ggMQp8 ICNkZWZpbmUgSEFWRV9TVFJJTkdfSCAxCnwgI2RlZmluZSBIQVZFX01FTU9SWV9IIDEKfCAjZGVm aW5lIEhBVkVfU1RSSU5HU19IIDEKfCAjZGVmaW5lIEhBVkVfSU5UVFlQRVNfSCAxCnwgI2RlZmlu ZSBIQVZFX1NURElOVF9IIDEKfCAjZGVmaW5lIEhBVkVfVU5JU1REX0ggMQp8ICNkZWZpbmUgSEFW RV9MSUJNIDEKfCAjZGVmaW5lIEhBVkVfTElCWiAxCnwgI2RlZmluZSBIQVZFX1NQSU5MT0NLUyAx CnwgI2RlZmluZSBIQVZFX0FUT01JQ1MgMQp8ICNkZWZpbmUgSEFWRV9TU0xfR0VUX0NVUlJFTlRf Q09NUFJFU1NJT04gMQp8ICNkZWZpbmUgSEFWRV9YNTA5X0dFVF9TSUdOQVRVUkVfTklEIDEKfCAj ZGVmaW5lIEhBVkVfQ1JZUFRPX0xPQ0sgMQp8ICNkZWZpbmUgSEFWRV9MSUJYTUwyIDEKfCAjZGVm aW5lIEhBVkVfTElCWFNMVCAxCnwgI2RlZmluZSBIQVZFX19CT09MIDEKfCAjZGVmaW5lIEhBVkVf U1REQk9PTF9IIDEKfCAjZGVmaW5lIEhBVkVfR0VUT1BUX0ggMQp8ICNkZWZpbmUgSEFWRV9JRUVF RlBfSCAxCnwgLyogZW5kIGNvbmZkZWZzLmguICAqLwp8ICNpbmNsdWRlIDxzdGRpby5oPgp8ICNp ZmRlZiBIQVZFX1NZU19UWVBFU19ICnwgIyBpbmNsdWRlIDxzeXMvdHlwZXMuaD4KfCAjZW5kaWYK fCAjaWZkZWYgSEFWRV9TWVNfU1RBVF9ICnwgIyBpbmNsdWRlIDxzeXMvc3RhdC5oPgp8ICNlbmRp Zgp8ICNpZmRlZiBTVERDX0hFQURFUlMKfCAjIGluY2x1ZGUgPHN0ZGxpYi5oPgp8ICMgaW5jbHVk ZSA8c3RkZGVmLmg+CnwgI2Vsc2UKfCAjIGlmZGVmIEhBVkVfU1RETElCX0gKfCAjICBpbmNsdWRl IDxzdGRsaWIuaD4KfCAjIGVuZGlmCnwgI2VuZGlmCnwgI2lmZGVmIEhBVkVfU1RSSU5HX0gKfCAj IGlmICFkZWZpbmVkIFNURENfSEVBREVSUyAmJiBkZWZpbmVkIEhBVkVfTUVNT1JZX0gKfCAjICBp bmNsdWRlIDxtZW1vcnkuaD4KfCAjIGVuZGlmCnwgIyBpbmNsdWRlIDxzdHJpbmcuaD4KfCAjZW5k aWYKfCAjaWZkZWYgSEFWRV9TVFJJTkdTX0gKfCAjIGluY2x1ZGUgPHN0cmluZ3MuaD4KfCAjZW5k aWYKfCAjaWZkZWYgSEFWRV9JTlRUWVBFU19ICnwgIyBpbmNsdWRlIDxpbnR0eXBlcy5oPgp8ICNl bmRpZgp8ICNpZmRlZiBIQVZFX1NURElOVF9ICnwgIyBpbmNsdWRlIDxzdGRpbnQuaD4KfCAjZW5k aWYKfCAjaWZkZWYgSEFWRV9VTklTVERfSAp8ICMgaW5jbHVkZSA8dW5pc3RkLmg+CnwgI2VuZGlm CnwgI2luY2x1ZGUgPHN5cy90YXMuaD4KY29uZmlndXJlOjEyNTE0OiByZXN1bHQ6IG5vCmNvbmZp Z3VyZToxMjUxNDogY2hlY2tpbmcgc3lzL3Rhcy5oIHByZXNlbmNlCmNvbmZpZ3VyZToxMjUxNDog eDg2XzY0LXc2NC1taW5ndzMyLWdjYyAtRSAgLUkvdy9SLTMuNS5fL3Bvc3RncmVzL3NyYy9pbmNs dWRlL3BvcnQvd2luMzIgLURFWEVDX0JBQ0tFTkQgIC1JL3cvemxpYi0xLjIuOC13aW4zMi14ODZf NjQvaW5jbHVkZSAtSS93L29wZW5zc2wtMS4wLjJlLXdpbjMyLXg4Nl82NC9pbmNsdWRlIC1JL3cv bGlieG1sMi0yLjkuMy13aW4zMi14ODZfNjQvaW5jbHVkZS9saWJ4bWwyIC1JL3cvbGlieHNsdC0x LjEuMjgtd2luMzIteDg2XzY0L2luY2x1ZGUgY29uZnRlc3QuYwpjb25mdGVzdC5jOjQ2OjEwOiBm YXRhbCBlcnJvcjogc3lzL3Rhcy5oOiBObyBzdWNoIGZpbGUgb3IgZGlyZWN0b3J5CiAjaW5jbHVk ZSA8c3lzL3Rhcy5oPgogICAgICAgICAgXn5+fn5+fn5+fn4KY29tcGlsYXRpb24gdGVybWluYXRl ZC4NCmNvbmZpZ3VyZToxMjUxNDogJD8gPSAxCmNvbmZpZ3VyZTogZmFpbGVkIHByb2dyYW0gd2Fz Ogp8IC8qIGNvbmZkZWZzLmggKi8KfCAjZGVmaW5lIFBBQ0tBR0VfTkFNRSAiUG9zdGdyZVNRTCIK fCAjZGVmaW5lIFBBQ0tBR0VfVEFSTkFNRSAicG9zdGdyZXNxbCIKfCAjZGVmaW5lIFBBQ0tBR0Vf VkVSU0lPTiAiMTFiZXRhMyIKfCAjZGVmaW5lIFBBQ0tBR0VfU1RSSU5HICJQb3N0Z3JlU1FMIDEx YmV0YTMiCnwgI2RlZmluZSBQQUNLQUdFX0JVR1JFUE9SVCAicGdzcWwtYnVnc0Bwb3N0Z3Jlc3Fs Lm9yZyIKfCAjZGVmaW5lIFBBQ0tBR0VfVVJMICIiCnwgI2RlZmluZSBQR19NQUpPUlZFUlNJT04g IjExIgp8ICNkZWZpbmUgUEdfVkVSU0lPTiAiMTFiZXRhMyIKfCAjZGVmaW5lIERFRl9QR1BPUlQg NTQzMgp8ICNkZWZpbmUgREVGX1BHUE9SVF9TVFIgIjU0MzIiCnwgI2RlZmluZSBCTENLU1ogODE5 Mgp8ICNkZWZpbmUgUkVMU0VHX1NJWkUgMTMxMDcyCnwgI2RlZmluZSBYTE9HX0JMQ0tTWiA4MTky CnwgI2RlZmluZSBVU0VfQVNTRVJUX0NIRUNLSU5HIDEKfCAjZGVmaW5lIEVOQUJMRV9USFJFQURf U0FGRVRZIDEKfCAjZGVmaW5lIFVTRV9JQ1UgMQp8ICNkZWZpbmUgUEdfS1JCX1NSVk5BTSAicG9z dGdyZXMiCnwgI2RlZmluZSBVU0VfT1BFTlNTTCAxCnwgI2RlZmluZSBVU0VfTElCWE1MIDEKfCAj ZGVmaW5lIFVTRV9MSUJYU0xUIDEKfCAjZGVmaW5lIFNURENfSEVBREVSUyAxCnwgI2RlZmluZSBI QVZFX1NZU19UWVBFU19IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NUQVRfSCAxCnwgI2RlZmluZSBI QVZFX1NURExJQl9IIDEKfCAjZGVmaW5lIEhBVkVfU1RSSU5HX0ggMQp8ICNkZWZpbmUgSEFWRV9N RU1PUllfSCAxCnwgI2RlZmluZSBIQVZFX1NUUklOR1NfSCAxCnwgI2RlZmluZSBIQVZFX0lOVFRZ UEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERJTlRfSCAxCnwgI2RlZmluZSBIQVZFX1VOSVNURF9I IDEKfCAjZGVmaW5lIEhBVkVfTElCTSAxCnwgI2RlZmluZSBIQVZFX0xJQlogMQp8ICNkZWZpbmUg SEFWRV9TUElOTE9DS1MgMQp8ICNkZWZpbmUgSEFWRV9BVE9NSUNTIDEKfCAjZGVmaW5lIEhBVkVf U1NMX0dFVF9DVVJSRU5UX0NPTVBSRVNTSU9OIDEKfCAjZGVmaW5lIEhBVkVfWDUwOV9HRVRfU0lH TkFUVVJFX05JRCAxCnwgI2RlZmluZSBIQVZFX0NSWVBUT19MT0NLIDEKfCAjZGVmaW5lIEhBVkVf TElCWE1MMiAxCnwgI2RlZmluZSBIQVZFX0xJQlhTTFQgMQp8ICNkZWZpbmUgSEFWRV9fQk9PTCAx CnwgI2RlZmluZSBIQVZFX1NUREJPT0xfSCAxCnwgI2RlZmluZSBIQVZFX0dFVE9QVF9IIDEKfCAj ZGVmaW5lIEhBVkVfSUVFRUZQX0ggMQp8IC8qIGVuZCBjb25mZGVmcy5oLiAgKi8KfCAjaW5jbHVk ZSA8c3lzL3Rhcy5oPgpjb25maWd1cmU6MTI1MTQ6IHJlc3VsdDogbm8KY29uZmlndXJlOjEyNTE0 OiBjaGVja2luZyBmb3Igc3lzL3Rhcy5oCmNvbmZpZ3VyZToxMjUxNDogcmVzdWx0OiBubwpjb25m aWd1cmU6MTI1MTQ6IGNoZWNraW5nIHN5cy91bi5oIHVzYWJpbGl0eQpjb25maWd1cmU6MTI1MTQ6 IHg4Nl82NC13NjQtbWluZ3czMi1nY2MgLWMgLVdhbGwgLVdtaXNzaW5nLXByb3RvdHlwZXMgLVdw b2ludGVyLWFyaXRoIC1XZGVjbGFyYXRpb24tYWZ0ZXItc3RhdGVtZW50IC1XZW5kaWYtbGFiZWxz IC1XbWlzc2luZy1mb3JtYXQtYXR0cmlidXRlIC1XZm9ybWF0LXNlY3VyaXR5IC1mbm8tc3RyaWN0 LWFsaWFzaW5nIC1md3JhcHYgLWZleGNlc3MtcHJlY2lzaW9uPXN0YW5kYXJkIC1Xbm8tZm9ybWF0 LXRydW5jYXRpb24gLVduby1zdHJpbmdvcC10cnVuY2F0aW9uIC1nIC1PIC1mbm8tb21pdC1mcmFt ZS1wb2ludGVyICAtSS93L1ItMy41Ll8vcG9zdGdyZXMvc3JjL2luY2x1ZGUvcG9ydC93aW4zMiAt REVYRUNfQkFDS0VORCAgLUkvdy96bGliLTEuMi44LXdpbjMyLXg4Nl82NC9pbmNsdWRlIC1JL3cv b3BlbnNzbC0xLjAuMmUtd2luMzIteDg2XzY0L2luY2x1ZGUgLUkvdy9saWJ4bWwyLTIuOS4zLXdp bjMyLXg4Nl82NC9pbmNsdWRlL2xpYnhtbDIgLUkvdy9saWJ4c2x0LTEuMS4yOC13aW4zMi14ODZf NjQvaW5jbHVkZSBjb25mdGVzdC5jID4mNQpjb25mdGVzdC5jOjc5OjEwOiBmYXRhbCBlcnJvcjog c3lzL3VuLmg6IE5vIHN1Y2ggZmlsZSBvciBkaXJlY3RvcnkKICNpbmNsdWRlIDxzeXMvdW4uaD4K ICAgICAgICAgIF5+fn5+fn5+fn4KY29tcGlsYXRpb24gdGVybWluYXRlZC4NCmNvbmZpZ3VyZTox MjUxNDogJD8gPSAxCmNvbmZpZ3VyZTogZmFpbGVkIHByb2dyYW0gd2FzOgp8IC8qIGNvbmZkZWZz LmggKi8KfCAjZGVmaW5lIFBBQ0tBR0VfTkFNRSAiUG9zdGdyZVNRTCIKfCAjZGVmaW5lIFBBQ0tB R0VfVEFSTkFNRSAicG9zdGdyZXNxbCIKfCAjZGVmaW5lIFBBQ0tBR0VfVkVSU0lPTiAiMTFiZXRh MyIKfCAjZGVmaW5lIFBBQ0tBR0VfU1RSSU5HICJQb3N0Z3JlU1FMIDExYmV0YTMiCnwgI2RlZmlu ZSBQQUNLQUdFX0JVR1JFUE9SVCAicGdzcWwtYnVnc0Bwb3N0Z3Jlc3FsLm9yZyIKfCAjZGVmaW5l IFBBQ0tBR0VfVVJMICIiCnwgI2RlZmluZSBQR19NQUpPUlZFUlNJT04gIjExIgp8ICNkZWZpbmUg UEdfVkVSU0lPTiAiMTFiZXRhMyIKfCAjZGVmaW5lIERFRl9QR1BPUlQgNTQzMgp8ICNkZWZpbmUg REVGX1BHUE9SVF9TVFIgIjU0MzIiCnwgI2RlZmluZSBCTENLU1ogODE5Mgp8ICNkZWZpbmUgUkVM U0VHX1NJWkUgMTMxMDcyCnwgI2RlZmluZSBYTE9HX0JMQ0tTWiA4MTkyCnwgI2RlZmluZSBVU0Vf QVNTRVJUX0NIRUNLSU5HIDEKfCAjZGVmaW5lIEVOQUJMRV9USFJFQURfU0FGRVRZIDEKfCAjZGVm aW5lIFVTRV9JQ1UgMQp8ICNkZWZpbmUgUEdfS1JCX1NSVk5BTSAicG9zdGdyZXMiCnwgI2RlZmlu ZSBVU0VfT1BFTlNTTCAxCnwgI2RlZmluZSBVU0VfTElCWE1MIDEKfCAjZGVmaW5lIFVTRV9MSUJY U0xUIDEKfCAjZGVmaW5lIFNURENfSEVBREVSUyAxCnwgI2RlZmluZSBIQVZFX1NZU19UWVBFU19I IDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NUQVRfSCAxCnwgI2RlZmluZSBIQVZFX1NURExJQl9IIDEK fCAjZGVmaW5lIEhBVkVfU1RSSU5HX0ggMQp8ICNkZWZpbmUgSEFWRV9NRU1PUllfSCAxCnwgI2Rl ZmluZSBIQVZFX1NUUklOR1NfSCAxCnwgI2RlZmluZSBIQVZFX0lOVFRZUEVTX0ggMQp8ICNkZWZp bmUgSEFWRV9TVERJTlRfSCAxCnwgI2RlZmluZSBIQVZFX1VOSVNURF9IIDEKfCAjZGVmaW5lIEhB VkVfTElCTSAxCnwgI2RlZmluZSBIQVZFX0xJQlogMQp8ICNkZWZpbmUgSEFWRV9TUElOTE9DS1Mg MQp8ICNkZWZpbmUgSEFWRV9BVE9NSUNTIDEKfCAjZGVmaW5lIEhBVkVfU1NMX0dFVF9DVVJSRU5U X0NPTVBSRVNTSU9OIDEKfCAjZGVmaW5lIEhBVkVfWDUwOV9HRVRfU0lHTkFUVVJFX05JRCAxCnwg I2RlZmluZSBIQVZFX0NSWVBUT19MT0NLIDEKfCAjZGVmaW5lIEhBVkVfTElCWE1MMiAxCnwgI2Rl ZmluZSBIQVZFX0xJQlhTTFQgMQp8ICNkZWZpbmUgSEFWRV9fQk9PTCAxCnwgI2RlZmluZSBIQVZF X1NUREJPT0xfSCAxCnwgI2RlZmluZSBIQVZFX0dFVE9QVF9IIDEKfCAjZGVmaW5lIEhBVkVfSUVF RUZQX0ggMQp8IC8qIGVuZCBjb25mZGVmcy5oLiAgKi8KfCAjaW5jbHVkZSA8c3RkaW8uaD4KfCAj aWZkZWYgSEFWRV9TWVNfVFlQRVNfSAp8ICMgaW5jbHVkZSA8c3lzL3R5cGVzLmg+CnwgI2VuZGlm CnwgI2lmZGVmIEhBVkVfU1lTX1NUQVRfSAp8ICMgaW5jbHVkZSA8c3lzL3N0YXQuaD4KfCAjZW5k aWYKfCAjaWZkZWYgU1REQ19IRUFERVJTCnwgIyBpbmNsdWRlIDxzdGRsaWIuaD4KfCAjIGluY2x1 ZGUgPHN0ZGRlZi5oPgp8ICNlbHNlCnwgIyBpZmRlZiBIQVZFX1NURExJQl9ICnwgIyAgaW5jbHVk ZSA8c3RkbGliLmg+CnwgIyBlbmRpZgp8ICNlbmRpZgp8ICNpZmRlZiBIQVZFX1NUUklOR19ICnwg IyBpZiAhZGVmaW5lZCBTVERDX0hFQURFUlMgJiYgZGVmaW5lZCBIQVZFX01FTU9SWV9ICnwgIyAg aW5jbHVkZSA8bWVtb3J5Lmg+CnwgIyBlbmRpZgp8ICMgaW5jbHVkZSA8c3RyaW5nLmg+CnwgI2Vu ZGlmCnwgI2lmZGVmIEhBVkVfU1RSSU5HU19ICnwgIyBpbmNsdWRlIDxzdHJpbmdzLmg+CnwgI2Vu ZGlmCnwgI2lmZGVmIEhBVkVfSU5UVFlQRVNfSAp8ICMgaW5jbHVkZSA8aW50dHlwZXMuaD4KfCAj ZW5kaWYKfCAjaWZkZWYgSEFWRV9TVERJTlRfSAp8ICMgaW5jbHVkZSA8c3RkaW50Lmg+CnwgI2Vu ZGlmCnwgI2lmZGVmIEhBVkVfVU5JU1REX0gKfCAjIGluY2x1ZGUgPHVuaXN0ZC5oPgp8ICNlbmRp Zgp8ICNpbmNsdWRlIDxzeXMvdW4uaD4KY29uZmlndXJlOjEyNTE0OiByZXN1bHQ6IG5vCmNvbmZp Z3VyZToxMjUxNDogY2hlY2tpbmcgc3lzL3VuLmggcHJlc2VuY2UKY29uZmlndXJlOjEyNTE0OiB4 ODZfNjQtdzY0LW1pbmd3MzItZ2NjIC1FICAtSS93L1ItMy41Ll8vcG9zdGdyZXMvc3JjL2luY2x1 ZGUvcG9ydC93aW4zMiAtREVYRUNfQkFDS0VORCAgLUkvdy96bGliLTEuMi44LXdpbjMyLXg4Nl82 NC9pbmNsdWRlIC1JL3cvb3BlbnNzbC0xLjAuMmUtd2luMzIteDg2XzY0L2luY2x1ZGUgLUkvdy9s aWJ4bWwyLTIuOS4zLXdpbjMyLXg4Nl82NC9pbmNsdWRlL2xpYnhtbDIgLUkvdy9saWJ4c2x0LTEu MS4yOC13aW4zMi14ODZfNjQvaW5jbHVkZSBjb25mdGVzdC5jCmNvbmZ0ZXN0LmM6NDY6MTA6IGZh dGFsIGVycm9yOiBzeXMvdW4uaDogTm8gc3VjaCBmaWxlIG9yIGRpcmVjdG9yeQogI2luY2x1ZGUg PHN5cy91bi5oPgogICAgICAgICAgXn5+fn5+fn5+fgpjb21waWxhdGlvbiB0ZXJtaW5hdGVkLg0K Y29uZmlndXJlOjEyNTE0OiAkPyA9IDEKY29uZmlndXJlOiBmYWlsZWQgcHJvZ3JhbSB3YXM6Cnwg LyogY29uZmRlZnMuaCAqLwp8ICNkZWZpbmUgUEFDS0FHRV9OQU1FICJQb3N0Z3JlU1FMIgp8ICNk ZWZpbmUgUEFDS0FHRV9UQVJOQU1FICJwb3N0Z3Jlc3FsIgp8ICNkZWZpbmUgUEFDS0FHRV9WRVJT SU9OICIxMWJldGEzIgp8ICNkZWZpbmUgUEFDS0FHRV9TVFJJTkcgIlBvc3RncmVTUUwgMTFiZXRh MyIKfCAjZGVmaW5lIFBBQ0tBR0VfQlVHUkVQT1JUICJwZ3NxbC1idWdzQHBvc3RncmVzcWwub3Jn Igp8ICNkZWZpbmUgUEFDS0FHRV9VUkwgIiIKfCAjZGVmaW5lIFBHX01BSk9SVkVSU0lPTiAiMTEi CnwgI2RlZmluZSBQR19WRVJTSU9OICIxMWJldGEzIgp8ICNkZWZpbmUgREVGX1BHUE9SVCA1NDMy CnwgI2RlZmluZSBERUZfUEdQT1JUX1NUUiAiNTQzMiIKfCAjZGVmaW5lIEJMQ0tTWiA4MTkyCnwg I2RlZmluZSBSRUxTRUdfU0laRSAxMzEwNzIKfCAjZGVmaW5lIFhMT0dfQkxDS1NaIDgxOTIKfCAj ZGVmaW5lIFVTRV9BU1NFUlRfQ0hFQ0tJTkcgMQp8ICNkZWZpbmUgRU5BQkxFX1RIUkVBRF9TQUZF VFkgMQp8ICNkZWZpbmUgVVNFX0lDVSAxCnwgI2RlZmluZSBQR19LUkJfU1JWTkFNICJwb3N0Z3Jl cyIKfCAjZGVmaW5lIFVTRV9PUEVOU1NMIDEKfCAjZGVmaW5lIFVTRV9MSUJYTUwgMQp8ICNkZWZp bmUgVVNFX0xJQlhTTFQgMQp8ICNkZWZpbmUgU1REQ19IRUFERVJTIDEKfCAjZGVmaW5lIEhBVkVf U1lTX1RZUEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfU1RBVF9IIDEKfCAjZGVmaW5lIEhBVkVf U1RETElCX0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJJTkdfSCAxCnwgI2RlZmluZSBIQVZFX01FTU9S WV9IIDEKfCAjZGVmaW5lIEhBVkVfU1RSSU5HU19IIDEKfCAjZGVmaW5lIEhBVkVfSU5UVFlQRVNf SCAxCnwgI2RlZmluZSBIQVZFX1NURElOVF9IIDEKfCAjZGVmaW5lIEhBVkVfVU5JU1REX0ggMQp8 ICNkZWZpbmUgSEFWRV9MSUJNIDEKfCAjZGVmaW5lIEhBVkVfTElCWiAxCnwgI2RlZmluZSBIQVZF X1NQSU5MT0NLUyAxCnwgI2RlZmluZSBIQVZFX0FUT01JQ1MgMQp8ICNkZWZpbmUgSEFWRV9TU0xf R0VUX0NVUlJFTlRfQ09NUFJFU1NJT04gMQp8ICNkZWZpbmUgSEFWRV9YNTA5X0dFVF9TSUdOQVRV UkVfTklEIDEKfCAjZGVmaW5lIEhBVkVfQ1JZUFRPX0xPQ0sgMQp8ICNkZWZpbmUgSEFWRV9MSUJY TUwyIDEKfCAjZGVmaW5lIEhBVkVfTElCWFNMVCAxCnwgI2RlZmluZSBIQVZFX19CT09MIDEKfCAj ZGVmaW5lIEhBVkVfU1REQk9PTF9IIDEKfCAjZGVmaW5lIEhBVkVfR0VUT1BUX0ggMQp8ICNkZWZp bmUgSEFWRV9JRUVFRlBfSCAxCnwgLyogZW5kIGNvbmZkZWZzLmguICAqLwp8ICNpbmNsdWRlIDxz eXMvdW4uaD4KY29uZmlndXJlOjEyNTE0OiByZXN1bHQ6IG5vCmNvbmZpZ3VyZToxMjUxNDogY2hl Y2tpbmcgZm9yIHN5cy91bi5oCmNvbmZpZ3VyZToxMjUxNDogcmVzdWx0OiBubwpjb25maWd1cmU6 MTI1MTQ6IGNoZWNraW5nIHRlcm1pb3MuaCB1c2FiaWxpdHkKY29uZmlndXJlOjEyNTE0OiB4ODZf NjQtdzY0LW1pbmd3MzItZ2NjIC1jIC1XYWxsIC1XbWlzc2luZy1wcm90b3R5cGVzIC1XcG9pbnRl ci1hcml0aCAtV2RlY2xhcmF0aW9uLWFmdGVyLXN0YXRlbWVudCAtV2VuZGlmLWxhYmVscyAtV21p c3NpbmctZm9ybWF0LWF0dHJpYnV0ZSAtV2Zvcm1hdC1zZWN1cml0eSAtZm5vLXN0cmljdC1hbGlh c2luZyAtZndyYXB2IC1mZXhjZXNzLXByZWNpc2lvbj1zdGFuZGFyZCAtV25vLWZvcm1hdC10cnVu Y2F0aW9uIC1Xbm8tc3RyaW5nb3AtdHJ1bmNhdGlvbiAtZyAtTyAtZm5vLW9taXQtZnJhbWUtcG9p bnRlciAgLUkvdy9SLTMuNS5fL3Bvc3RncmVzL3NyYy9pbmNsdWRlL3BvcnQvd2luMzIgLURFWEVD X0JBQ0tFTkQgIC1JL3cvemxpYi0xLjIuOC13aW4zMi14ODZfNjQvaW5jbHVkZSAtSS93L29wZW5z c2wtMS4wLjJlLXdpbjMyLXg4Nl82NC9pbmNsdWRlIC1JL3cvbGlieG1sMi0yLjkuMy13aW4zMi14 ODZfNjQvaW5jbHVkZS9saWJ4bWwyIC1JL3cvbGlieHNsdC0xLjEuMjgtd2luMzIteDg2XzY0L2lu Y2x1ZGUgY29uZnRlc3QuYyA+JjUKY29uZnRlc3QuYzo3OToxMDogZmF0YWwgZXJyb3I6IHRlcm1p b3MuaDogTm8gc3VjaCBmaWxlIG9yIGRpcmVjdG9yeQogI2luY2x1ZGUgPHRlcm1pb3MuaD4KICAg ICAgICAgIF5+fn5+fn5+fn5+CmNvbXBpbGF0aW9uIHRlcm1pbmF0ZWQuDQpjb25maWd1cmU6MTI1 MTQ6ICQ/ID0gMQpjb25maWd1cmU6IGZhaWxlZCBwcm9ncmFtIHdhczoKfCAvKiBjb25mZGVmcy5o ICovCnwgI2RlZmluZSBQQUNLQUdFX05BTUUgIlBvc3RncmVTUUwiCnwgI2RlZmluZSBQQUNLQUdF X1RBUk5BTUUgInBvc3RncmVzcWwiCnwgI2RlZmluZSBQQUNLQUdFX1ZFUlNJT04gIjExYmV0YTMi CnwgI2RlZmluZSBQQUNLQUdFX1NUUklORyAiUG9zdGdyZVNRTCAxMWJldGEzIgp8ICNkZWZpbmUg UEFDS0FHRV9CVUdSRVBPUlQgInBnc3FsLWJ1Z3NAcG9zdGdyZXNxbC5vcmciCnwgI2RlZmluZSBQ QUNLQUdFX1VSTCAiIgp8ICNkZWZpbmUgUEdfTUFKT1JWRVJTSU9OICIxMSIKfCAjZGVmaW5lIFBH X1ZFUlNJT04gIjExYmV0YTMiCnwgI2RlZmluZSBERUZfUEdQT1JUIDU0MzIKfCAjZGVmaW5lIERF Rl9QR1BPUlRfU1RSICI1NDMyIgp8ICNkZWZpbmUgQkxDS1NaIDgxOTIKfCAjZGVmaW5lIFJFTFNF R19TSVpFIDEzMTA3Mgp8ICNkZWZpbmUgWExPR19CTENLU1ogODE5Mgp8ICNkZWZpbmUgVVNFX0FT U0VSVF9DSEVDS0lORyAxCnwgI2RlZmluZSBFTkFCTEVfVEhSRUFEX1NBRkVUWSAxCnwgI2RlZmlu ZSBVU0VfSUNVIDEKfCAjZGVmaW5lIFBHX0tSQl9TUlZOQU0gInBvc3RncmVzIgp8ICNkZWZpbmUg VVNFX09QRU5TU0wgMQp8ICNkZWZpbmUgVVNFX0xJQlhNTCAxCnwgI2RlZmluZSBVU0VfTElCWFNM VCAxCnwgI2RlZmluZSBTVERDX0hFQURFUlMgMQp8ICNkZWZpbmUgSEFWRV9TWVNfVFlQRVNfSCAx CnwgI2RlZmluZSBIQVZFX1NZU19TVEFUX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERMSUJfSCAxCnwg I2RlZmluZSBIQVZFX1NUUklOR19IIDEKfCAjZGVmaW5lIEhBVkVfTUVNT1JZX0ggMQp8ICNkZWZp bmUgSEFWRV9TVFJJTkdTX0ggMQp8ICNkZWZpbmUgSEFWRV9JTlRUWVBFU19IIDEKfCAjZGVmaW5l IEhBVkVfU1RESU5UX0ggMQp8ICNkZWZpbmUgSEFWRV9VTklTVERfSCAxCnwgI2RlZmluZSBIQVZF X0xJQk0gMQp8ICNkZWZpbmUgSEFWRV9MSUJaIDEKfCAjZGVmaW5lIEhBVkVfU1BJTkxPQ0tTIDEK fCAjZGVmaW5lIEhBVkVfQVRPTUlDUyAxCnwgI2RlZmluZSBIQVZFX1NTTF9HRVRfQ1VSUkVOVF9D T01QUkVTU0lPTiAxCnwgI2RlZmluZSBIQVZFX1g1MDlfR0VUX1NJR05BVFVSRV9OSUQgMQp8ICNk ZWZpbmUgSEFWRV9DUllQVE9fTE9DSyAxCnwgI2RlZmluZSBIQVZFX0xJQlhNTDIgMQp8ICNkZWZp bmUgSEFWRV9MSUJYU0xUIDEKfCAjZGVmaW5lIEhBVkVfX0JPT0wgMQp8ICNkZWZpbmUgSEFWRV9T VERCT09MX0ggMQp8ICNkZWZpbmUgSEFWRV9HRVRPUFRfSCAxCnwgI2RlZmluZSBIQVZFX0lFRUVG UF9IIDEKfCAvKiBlbmQgY29uZmRlZnMuaC4gICovCnwgI2luY2x1ZGUgPHN0ZGlvLmg+CnwgI2lm ZGVmIEhBVkVfU1lTX1RZUEVTX0gKfCAjIGluY2x1ZGUgPHN5cy90eXBlcy5oPgp8ICNlbmRpZgp8 ICNpZmRlZiBIQVZFX1NZU19TVEFUX0gKfCAjIGluY2x1ZGUgPHN5cy9zdGF0Lmg+CnwgI2VuZGlm CnwgI2lmZGVmIFNURENfSEVBREVSUwp8ICMgaW5jbHVkZSA8c3RkbGliLmg+CnwgIyBpbmNsdWRl IDxzdGRkZWYuaD4KfCAjZWxzZQp8ICMgaWZkZWYgSEFWRV9TVERMSUJfSAp8ICMgIGluY2x1ZGUg PHN0ZGxpYi5oPgp8ICMgZW5kaWYKfCAjZW5kaWYKfCAjaWZkZWYgSEFWRV9TVFJJTkdfSAp8ICMg aWYgIWRlZmluZWQgU1REQ19IRUFERVJTICYmIGRlZmluZWQgSEFWRV9NRU1PUllfSAp8ICMgIGlu Y2x1ZGUgPG1lbW9yeS5oPgp8ICMgZW5kaWYKfCAjIGluY2x1ZGUgPHN0cmluZy5oPgp8ICNlbmRp Zgp8ICNpZmRlZiBIQVZFX1NUUklOR1NfSAp8ICMgaW5jbHVkZSA8c3RyaW5ncy5oPgp8ICNlbmRp Zgp8ICNpZmRlZiBIQVZFX0lOVFRZUEVTX0gKfCAjIGluY2x1ZGUgPGludHR5cGVzLmg+CnwgI2Vu ZGlmCnwgI2lmZGVmIEhBVkVfU1RESU5UX0gKfCAjIGluY2x1ZGUgPHN0ZGludC5oPgp8ICNlbmRp Zgp8ICNpZmRlZiBIQVZFX1VOSVNURF9ICnwgIyBpbmNsdWRlIDx1bmlzdGQuaD4KfCAjZW5kaWYK fCAjaW5jbHVkZSA8dGVybWlvcy5oPgpjb25maWd1cmU6MTI1MTQ6IHJlc3VsdDogbm8KY29uZmln dXJlOjEyNTE0OiBjaGVja2luZyB0ZXJtaW9zLmggcHJlc2VuY2UKY29uZmlndXJlOjEyNTE0OiB4 ODZfNjQtdzY0LW1pbmd3MzItZ2NjIC1FICAtSS93L1ItMy41Ll8vcG9zdGdyZXMvc3JjL2luY2x1 ZGUvcG9ydC93aW4zMiAtREVYRUNfQkFDS0VORCAgLUkvdy96bGliLTEuMi44LXdpbjMyLXg4Nl82 NC9pbmNsdWRlIC1JL3cvb3BlbnNzbC0xLjAuMmUtd2luMzIteDg2XzY0L2luY2x1ZGUgLUkvdy9s aWJ4bWwyLTIuOS4zLXdpbjMyLXg4Nl82NC9pbmNsdWRlL2xpYnhtbDIgLUkvdy9saWJ4c2x0LTEu MS4yOC13aW4zMi14ODZfNjQvaW5jbHVkZSBjb25mdGVzdC5jCmNvbmZ0ZXN0LmM6NDY6MTA6IGZh dGFsIGVycm9yOiB0ZXJtaW9zLmg6IE5vIHN1Y2ggZmlsZSBvciBkaXJlY3RvcnkKICNpbmNsdWRl IDx0ZXJtaW9zLmg+CiAgICAgICAgICBefn5+fn5+fn5+fgpjb21waWxhdGlvbiB0ZXJtaW5hdGVk Lg0KY29uZmlndXJlOjEyNTE0OiAkPyA9IDEKY29uZmlndXJlOiBmYWlsZWQgcHJvZ3JhbSB3YXM6 CnwgLyogY29uZmRlZnMuaCAqLwp8ICNkZWZpbmUgUEFDS0FHRV9OQU1FICJQb3N0Z3JlU1FMIgp8 ICNkZWZpbmUgUEFDS0FHRV9UQVJOQU1FICJwb3N0Z3Jlc3FsIgp8ICNkZWZpbmUgUEFDS0FHRV9W RVJTSU9OICIxMWJldGEzIgp8ICNkZWZpbmUgUEFDS0FHRV9TVFJJTkcgIlBvc3RncmVTUUwgMTFi ZXRhMyIKfCAjZGVmaW5lIFBBQ0tBR0VfQlVHUkVQT1JUICJwZ3NxbC1idWdzQHBvc3RncmVzcWwu b3JnIgp8ICNkZWZpbmUgUEFDS0FHRV9VUkwgIiIKfCAjZGVmaW5lIFBHX01BSk9SVkVSU0lPTiAi MTEiCnwgI2RlZmluZSBQR19WRVJTSU9OICIxMWJldGEzIgp8ICNkZWZpbmUgREVGX1BHUE9SVCA1 NDMyCnwgI2RlZmluZSBERUZfUEdQT1JUX1NUUiAiNTQzMiIKfCAjZGVmaW5lIEJMQ0tTWiA4MTky CnwgI2RlZmluZSBSRUxTRUdfU0laRSAxMzEwNzIKfCAjZGVmaW5lIFhMT0dfQkxDS1NaIDgxOTIK fCAjZGVmaW5lIFVTRV9BU1NFUlRfQ0hFQ0tJTkcgMQp8ICNkZWZpbmUgRU5BQkxFX1RIUkVBRF9T QUZFVFkgMQp8ICNkZWZpbmUgVVNFX0lDVSAxCnwgI2RlZmluZSBQR19LUkJfU1JWTkFNICJwb3N0 Z3JlcyIKfCAjZGVmaW5lIFVTRV9PUEVOU1NMIDEKfCAjZGVmaW5lIFVTRV9MSUJYTUwgMQp8ICNk ZWZpbmUgVVNFX0xJQlhTTFQgMQp8ICNkZWZpbmUgU1REQ19IRUFERVJTIDEKfCAjZGVmaW5lIEhB VkVfU1lTX1RZUEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfU1RBVF9IIDEKfCAjZGVmaW5lIEhB VkVfU1RETElCX0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJJTkdfSCAxCnwgI2RlZmluZSBIQVZFX01F TU9SWV9IIDEKfCAjZGVmaW5lIEhBVkVfU1RSSU5HU19IIDEKfCAjZGVmaW5lIEhBVkVfSU5UVFlQ RVNfSCAxCnwgI2RlZmluZSBIQVZFX1NURElOVF9IIDEKfCAjZGVmaW5lIEhBVkVfVU5JU1REX0gg MQp8ICNkZWZpbmUgSEFWRV9MSUJNIDEKfCAjZGVmaW5lIEhBVkVfTElCWiAxCnwgI2RlZmluZSBI QVZFX1NQSU5MT0NLUyAxCnwgI2RlZmluZSBIQVZFX0FUT01JQ1MgMQp8ICNkZWZpbmUgSEFWRV9T U0xfR0VUX0NVUlJFTlRfQ09NUFJFU1NJT04gMQp8ICNkZWZpbmUgSEFWRV9YNTA5X0dFVF9TSUdO QVRVUkVfTklEIDEKfCAjZGVmaW5lIEhBVkVfQ1JZUFRPX0xPQ0sgMQp8ICNkZWZpbmUgSEFWRV9M SUJYTUwyIDEKfCAjZGVmaW5lIEhBVkVfTElCWFNMVCAxCnwgI2RlZmluZSBIQVZFX19CT09MIDEK fCAjZGVmaW5lIEhBVkVfU1REQk9PTF9IIDEKfCAjZGVmaW5lIEhBVkVfR0VUT1BUX0ggMQp8ICNk ZWZpbmUgSEFWRV9JRUVFRlBfSCAxCnwgLyogZW5kIGNvbmZkZWZzLmguICAqLwp8ICNpbmNsdWRl IDx0ZXJtaW9zLmg+CmNvbmZpZ3VyZToxMjUxNDogcmVzdWx0OiBubwpjb25maWd1cmU6MTI1MTQ6 IGNoZWNraW5nIGZvciB0ZXJtaW9zLmgKY29uZmlndXJlOjEyNTE0OiByZXN1bHQ6IG5vCmNvbmZp Z3VyZToxMjUxNDogY2hlY2tpbmcgdWNyZWQuaCB1c2FiaWxpdHkKY29uZmlndXJlOjEyNTE0OiB4 ODZfNjQtdzY0LW1pbmd3MzItZ2NjIC1jIC1XYWxsIC1XbWlzc2luZy1wcm90b3R5cGVzIC1XcG9p bnRlci1hcml0aCAtV2RlY2xhcmF0aW9uLWFmdGVyLXN0YXRlbWVudCAtV2VuZGlmLWxhYmVscyAt V21pc3NpbmctZm9ybWF0LWF0dHJpYnV0ZSAtV2Zvcm1hdC1zZWN1cml0eSAtZm5vLXN0cmljdC1h bGlhc2luZyAtZndyYXB2IC1mZXhjZXNzLXByZWNpc2lvbj1zdGFuZGFyZCAtV25vLWZvcm1hdC10 cnVuY2F0aW9uIC1Xbm8tc3RyaW5nb3AtdHJ1bmNhdGlvbiAtZyAtTyAtZm5vLW9taXQtZnJhbWUt cG9pbnRlciAgLUkvdy9SLTMuNS5fL3Bvc3RncmVzL3NyYy9pbmNsdWRlL3BvcnQvd2luMzIgLURF WEVDX0JBQ0tFTkQgIC1JL3cvemxpYi0xLjIuOC13aW4zMi14ODZfNjQvaW5jbHVkZSAtSS93L29w ZW5zc2wtMS4wLjJlLXdpbjMyLXg4Nl82NC9pbmNsdWRlIC1JL3cvbGlieG1sMi0yLjkuMy13aW4z Mi14ODZfNjQvaW5jbHVkZS9saWJ4bWwyIC1JL3cvbGlieHNsdC0xLjEuMjgtd2luMzIteDg2XzY0 L2luY2x1ZGUgY29uZnRlc3QuYyA+JjUKY29uZnRlc3QuYzo3OToxMDogZmF0YWwgZXJyb3I6IHVj cmVkLmg6IE5vIHN1Y2ggZmlsZSBvciBkaXJlY3RvcnkKICNpbmNsdWRlIDx1Y3JlZC5oPgogICAg ICAgICAgXn5+fn5+fn5+CmNvbXBpbGF0aW9uIHRlcm1pbmF0ZWQuDQpjb25maWd1cmU6MTI1MTQ6 ICQ/ID0gMQpjb25maWd1cmU6IGZhaWxlZCBwcm9ncmFtIHdhczoKfCAvKiBjb25mZGVmcy5oICov CnwgI2RlZmluZSBQQUNLQUdFX05BTUUgIlBvc3RncmVTUUwiCnwgI2RlZmluZSBQQUNLQUdFX1RB Uk5BTUUgInBvc3RncmVzcWwiCnwgI2RlZmluZSBQQUNLQUdFX1ZFUlNJT04gIjExYmV0YTMiCnwg I2RlZmluZSBQQUNLQUdFX1NUUklORyAiUG9zdGdyZVNRTCAxMWJldGEzIgp8ICNkZWZpbmUgUEFD S0FHRV9CVUdSRVBPUlQgInBnc3FsLWJ1Z3NAcG9zdGdyZXNxbC5vcmciCnwgI2RlZmluZSBQQUNL QUdFX1VSTCAiIgp8ICNkZWZpbmUgUEdfTUFKT1JWRVJTSU9OICIxMSIKfCAjZGVmaW5lIFBHX1ZF UlNJT04gIjExYmV0YTMiCnwgI2RlZmluZSBERUZfUEdQT1JUIDU0MzIKfCAjZGVmaW5lIERFRl9Q R1BPUlRfU1RSICI1NDMyIgp8ICNkZWZpbmUgQkxDS1NaIDgxOTIKfCAjZGVmaW5lIFJFTFNFR19T SVpFIDEzMTA3Mgp8ICNkZWZpbmUgWExPR19CTENLU1ogODE5Mgp8ICNkZWZpbmUgVVNFX0FTU0VS VF9DSEVDS0lORyAxCnwgI2RlZmluZSBFTkFCTEVfVEhSRUFEX1NBRkVUWSAxCnwgI2RlZmluZSBV U0VfSUNVIDEKfCAjZGVmaW5lIFBHX0tSQl9TUlZOQU0gInBvc3RncmVzIgp8ICNkZWZpbmUgVVNF X09QRU5TU0wgMQp8ICNkZWZpbmUgVVNFX0xJQlhNTCAxCnwgI2RlZmluZSBVU0VfTElCWFNMVCAx CnwgI2RlZmluZSBTVERDX0hFQURFUlMgMQp8ICNkZWZpbmUgSEFWRV9TWVNfVFlQRVNfSCAxCnwg I2RlZmluZSBIQVZFX1NZU19TVEFUX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERMSUJfSCAxCnwgI2Rl ZmluZSBIQVZFX1NUUklOR19IIDEKfCAjZGVmaW5lIEhBVkVfTUVNT1JZX0ggMQp8ICNkZWZpbmUg SEFWRV9TVFJJTkdTX0ggMQp8ICNkZWZpbmUgSEFWRV9JTlRUWVBFU19IIDEKfCAjZGVmaW5lIEhB VkVfU1RESU5UX0ggMQp8ICNkZWZpbmUgSEFWRV9VTklTVERfSCAxCnwgI2RlZmluZSBIQVZFX0xJ Qk0gMQp8ICNkZWZpbmUgSEFWRV9MSUJaIDEKfCAjZGVmaW5lIEhBVkVfU1BJTkxPQ0tTIDEKfCAj ZGVmaW5lIEhBVkVfQVRPTUlDUyAxCnwgI2RlZmluZSBIQVZFX1NTTF9HRVRfQ1VSUkVOVF9DT01Q UkVTU0lPTiAxCnwgI2RlZmluZSBIQVZFX1g1MDlfR0VUX1NJR05BVFVSRV9OSUQgMQp8ICNkZWZp bmUgSEFWRV9DUllQVE9fTE9DSyAxCnwgI2RlZmluZSBIQVZFX0xJQlhNTDIgMQp8ICNkZWZpbmUg SEFWRV9MSUJYU0xUIDEKfCAjZGVmaW5lIEhBVkVfX0JPT0wgMQp8ICNkZWZpbmUgSEFWRV9TVERC T09MX0ggMQp8ICNkZWZpbmUgSEFWRV9HRVRPUFRfSCAxCnwgI2RlZmluZSBIQVZFX0lFRUVGUF9I IDEKfCAvKiBlbmQgY29uZmRlZnMuaC4gICovCnwgI2luY2x1ZGUgPHN0ZGlvLmg+CnwgI2lmZGVm IEhBVkVfU1lTX1RZUEVTX0gKfCAjIGluY2x1ZGUgPHN5cy90eXBlcy5oPgp8ICNlbmRpZgp8ICNp ZmRlZiBIQVZFX1NZU19TVEFUX0gKfCAjIGluY2x1ZGUgPHN5cy9zdGF0Lmg+CnwgI2VuZGlmCnwg I2lmZGVmIFNURENfSEVBREVSUwp8ICMgaW5jbHVkZSA8c3RkbGliLmg+CnwgIyBpbmNsdWRlIDxz dGRkZWYuaD4KfCAjZWxzZQp8ICMgaWZkZWYgSEFWRV9TVERMSUJfSAp8ICMgIGluY2x1ZGUgPHN0 ZGxpYi5oPgp8ICMgZW5kaWYKfCAjZW5kaWYKfCAjaWZkZWYgSEFWRV9TVFJJTkdfSAp8ICMgaWYg IWRlZmluZWQgU1REQ19IRUFERVJTICYmIGRlZmluZWQgSEFWRV9NRU1PUllfSAp8ICMgIGluY2x1 ZGUgPG1lbW9yeS5oPgp8ICMgZW5kaWYKfCAjIGluY2x1ZGUgPHN0cmluZy5oPgp8ICNlbmRpZgp8 ICNpZmRlZiBIQVZFX1NUUklOR1NfSAp8ICMgaW5jbHVkZSA8c3RyaW5ncy5oPgp8ICNlbmRpZgp8 ICNpZmRlZiBIQVZFX0lOVFRZUEVTX0gKfCAjIGluY2x1ZGUgPGludHR5cGVzLmg+CnwgI2VuZGlm CnwgI2lmZGVmIEhBVkVfU1RESU5UX0gKfCAjIGluY2x1ZGUgPHN0ZGludC5oPgp8ICNlbmRpZgp8 ICNpZmRlZiBIQVZFX1VOSVNURF9ICnwgIyBpbmNsdWRlIDx1bmlzdGQuaD4KfCAjZW5kaWYKfCAj aW5jbHVkZSA8dWNyZWQuaD4KY29uZmlndXJlOjEyNTE0OiByZXN1bHQ6IG5vCmNvbmZpZ3VyZTox MjUxNDogY2hlY2tpbmcgdWNyZWQuaCBwcmVzZW5jZQpjb25maWd1cmU6MTI1MTQ6IHg4Nl82NC13 NjQtbWluZ3czMi1nY2MgLUUgIC1JL3cvUi0zLjUuXy9wb3N0Z3Jlcy9zcmMvaW5jbHVkZS9wb3J0 L3dpbjMyIC1ERVhFQ19CQUNLRU5EICAtSS93L3psaWItMS4yLjgtd2luMzIteDg2XzY0L2luY2x1 ZGUgLUkvdy9vcGVuc3NsLTEuMC4yZS13aW4zMi14ODZfNjQvaW5jbHVkZSAtSS93L2xpYnhtbDIt Mi45LjMtd2luMzIteDg2XzY0L2luY2x1ZGUvbGlieG1sMiAtSS93L2xpYnhzbHQtMS4xLjI4LXdp bjMyLXg4Nl82NC9pbmNsdWRlIGNvbmZ0ZXN0LmMKY29uZnRlc3QuYzo0NjoxMDogZmF0YWwgZXJy b3I6IHVjcmVkLmg6IE5vIHN1Y2ggZmlsZSBvciBkaXJlY3RvcnkKICNpbmNsdWRlIDx1Y3JlZC5o PgogICAgICAgICAgXn5+fn5+fn5+CmNvbXBpbGF0aW9uIHRlcm1pbmF0ZWQuDQpjb25maWd1cmU6 MTI1MTQ6ICQ/ID0gMQpjb25maWd1cmU6IGZhaWxlZCBwcm9ncmFtIHdhczoKfCAvKiBjb25mZGVm cy5oICovCnwgI2RlZmluZSBQQUNLQUdFX05BTUUgIlBvc3RncmVTUUwiCnwgI2RlZmluZSBQQUNL QUdFX1RBUk5BTUUgInBvc3RncmVzcWwiCnwgI2RlZmluZSBQQUNLQUdFX1ZFUlNJT04gIjExYmV0 YTMiCnwgI2RlZmluZSBQQUNLQUdFX1NUUklORyAiUG9zdGdyZVNRTCAxMWJldGEzIgp8ICNkZWZp bmUgUEFDS0FHRV9CVUdSRVBPUlQgInBnc3FsLWJ1Z3NAcG9zdGdyZXNxbC5vcmciCnwgI2RlZmlu ZSBQQUNLQUdFX1VSTCAiIgp8ICNkZWZpbmUgUEdfTUFKT1JWRVJTSU9OICIxMSIKfCAjZGVmaW5l IFBHX1ZFUlNJT04gIjExYmV0YTMiCnwgI2RlZmluZSBERUZfUEdQT1JUIDU0MzIKfCAjZGVmaW5l IERFRl9QR1BPUlRfU1RSICI1NDMyIgp8ICNkZWZpbmUgQkxDS1NaIDgxOTIKfCAjZGVmaW5lIFJF TFNFR19TSVpFIDEzMTA3Mgp8ICNkZWZpbmUgWExPR19CTENLU1ogODE5Mgp8ICNkZWZpbmUgVVNF X0FTU0VSVF9DSEVDS0lORyAxCnwgI2RlZmluZSBFTkFCTEVfVEhSRUFEX1NBRkVUWSAxCnwgI2Rl ZmluZSBVU0VfSUNVIDEKfCAjZGVmaW5lIFBHX0tSQl9TUlZOQU0gInBvc3RncmVzIgp8ICNkZWZp bmUgVVNFX09QRU5TU0wgMQp8ICNkZWZpbmUgVVNFX0xJQlhNTCAxCnwgI2RlZmluZSBVU0VfTElC WFNMVCAxCnwgI2RlZmluZSBTVERDX0hFQURFUlMgMQp8ICNkZWZpbmUgSEFWRV9TWVNfVFlQRVNf SCAxCnwgI2RlZmluZSBIQVZFX1NZU19TVEFUX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERMSUJfSCAx CnwgI2RlZmluZSBIQVZFX1NUUklOR19IIDEKfCAjZGVmaW5lIEhBVkVfTUVNT1JZX0ggMQp8ICNk ZWZpbmUgSEFWRV9TVFJJTkdTX0ggMQp8ICNkZWZpbmUgSEFWRV9JTlRUWVBFU19IIDEKfCAjZGVm aW5lIEhBVkVfU1RESU5UX0ggMQp8ICNkZWZpbmUgSEFWRV9VTklTVERfSCAxCnwgI2RlZmluZSBI QVZFX0xJQk0gMQp8ICNkZWZpbmUgSEFWRV9MSUJaIDEKfCAjZGVmaW5lIEhBVkVfU1BJTkxPQ0tT IDEKfCAjZGVmaW5lIEhBVkVfQVRPTUlDUyAxCnwgI2RlZmluZSBIQVZFX1NTTF9HRVRfQ1VSUkVO VF9DT01QUkVTU0lPTiAxCnwgI2RlZmluZSBIQVZFX1g1MDlfR0VUX1NJR05BVFVSRV9OSUQgMQp8 ICNkZWZpbmUgSEFWRV9DUllQVE9fTE9DSyAxCnwgI2RlZmluZSBIQVZFX0xJQlhNTDIgMQp8ICNk ZWZpbmUgSEFWRV9MSUJYU0xUIDEKfCAjZGVmaW5lIEhBVkVfX0JPT0wgMQp8ICNkZWZpbmUgSEFW RV9TVERCT09MX0ggMQp8ICNkZWZpbmUgSEFWRV9HRVRPUFRfSCAxCnwgI2RlZmluZSBIQVZFX0lF RUVGUF9IIDEKfCAvKiBlbmQgY29uZmRlZnMuaC4gICovCnwgI2luY2x1ZGUgPHVjcmVkLmg+CmNv bmZpZ3VyZToxMjUxNDogcmVzdWx0OiBubwpjb25maWd1cmU6MTI1MTQ6IGNoZWNraW5nIGZvciB1 Y3JlZC5oCmNvbmZpZ3VyZToxMjUxNDogcmVzdWx0OiBubwpjb25maWd1cmU6MTI1MTQ6IGNoZWNr aW5nIHV0aW1lLmggdXNhYmlsaXR5CmNvbmZpZ3VyZToxMjUxNDogeDg2XzY0LXc2NC1taW5ndzMy LWdjYyAtYyAtV2FsbCAtV21pc3NpbmctcHJvdG90eXBlcyAtV3BvaW50ZXItYXJpdGggLVdkZWNs YXJhdGlvbi1hZnRlci1zdGF0ZW1lbnQgLVdlbmRpZi1sYWJlbHMgLVdtaXNzaW5nLWZvcm1hdC1h dHRyaWJ1dGUgLVdmb3JtYXQtc2VjdXJpdHkgLWZuby1zdHJpY3QtYWxpYXNpbmcgLWZ3cmFwdiAt ZmV4Y2Vzcy1wcmVjaXNpb249c3RhbmRhcmQgLVduby1mb3JtYXQtdHJ1bmNhdGlvbiAtV25vLXN0 cmluZ29wLXRydW5jYXRpb24gLWcgLU8gLWZuby1vbWl0LWZyYW1lLXBvaW50ZXIgIC1JL3cvUi0z LjUuXy9wb3N0Z3Jlcy9zcmMvaW5jbHVkZS9wb3J0L3dpbjMyIC1ERVhFQ19CQUNLRU5EICAtSS93 L3psaWItMS4yLjgtd2luMzIteDg2XzY0L2luY2x1ZGUgLUkvdy9vcGVuc3NsLTEuMC4yZS13aW4z Mi14ODZfNjQvaW5jbHVkZSAtSS93L2xpYnhtbDItMi45LjMtd2luMzIteDg2XzY0L2luY2x1ZGUv bGlieG1sMiAtSS93L2xpYnhzbHQtMS4xLjI4LXdpbjMyLXg4Nl82NC9pbmNsdWRlIGNvbmZ0ZXN0 LmMgPiY1CmNvbmZpZ3VyZToxMjUxNDogJD8gPSAwCmNvbmZpZ3VyZToxMjUxNDogcmVzdWx0OiB5 ZXMKY29uZmlndXJlOjEyNTE0OiBjaGVja2luZyB1dGltZS5oIHByZXNlbmNlCmNvbmZpZ3VyZTox MjUxNDogeDg2XzY0LXc2NC1taW5ndzMyLWdjYyAtRSAgLUkvdy9SLTMuNS5fL3Bvc3RncmVzL3Ny Yy9pbmNsdWRlL3BvcnQvd2luMzIgLURFWEVDX0JBQ0tFTkQgIC1JL3cvemxpYi0xLjIuOC13aW4z Mi14ODZfNjQvaW5jbHVkZSAtSS93L29wZW5zc2wtMS4wLjJlLXdpbjMyLXg4Nl82NC9pbmNsdWRl IC1JL3cvbGlieG1sMi0yLjkuMy13aW4zMi14ODZfNjQvaW5jbHVkZS9saWJ4bWwyIC1JL3cvbGli eHNsdC0xLjEuMjgtd2luMzIteDg2XzY0L2luY2x1ZGUgY29uZnRlc3QuYwpjb25maWd1cmU6MTI1 MTQ6ICQ/ID0gMApjb25maWd1cmU6MTI1MTQ6IHJlc3VsdDogeWVzCmNvbmZpZ3VyZToxMjUxNDog Y2hlY2tpbmcgZm9yIHV0aW1lLmgKY29uZmlndXJlOjEyNTE0OiByZXN1bHQ6IHllcwpjb25maWd1 cmU6MTI1MTQ6IGNoZWNraW5nIHdjaGFyLmggdXNhYmlsaXR5CmNvbmZpZ3VyZToxMjUxNDogeDg2 XzY0LXc2NC1taW5ndzMyLWdjYyAtYyAtV2FsbCAtV21pc3NpbmctcHJvdG90eXBlcyAtV3BvaW50 ZXItYXJpdGggLVdkZWNsYXJhdGlvbi1hZnRlci1zdGF0ZW1lbnQgLVdlbmRpZi1sYWJlbHMgLVdt aXNzaW5nLWZvcm1hdC1hdHRyaWJ1dGUgLVdmb3JtYXQtc2VjdXJpdHkgLWZuby1zdHJpY3QtYWxp YXNpbmcgLWZ3cmFwdiAtZmV4Y2Vzcy1wcmVjaXNpb249c3RhbmRhcmQgLVduby1mb3JtYXQtdHJ1 bmNhdGlvbiAtV25vLXN0cmluZ29wLXRydW5jYXRpb24gLWcgLU8gLWZuby1vbWl0LWZyYW1lLXBv aW50ZXIgIC1JL3cvUi0zLjUuXy9wb3N0Z3Jlcy9zcmMvaW5jbHVkZS9wb3J0L3dpbjMyIC1ERVhF Q19CQUNLRU5EICAtSS93L3psaWItMS4yLjgtd2luMzIteDg2XzY0L2luY2x1ZGUgLUkvdy9vcGVu c3NsLTEuMC4yZS13aW4zMi14ODZfNjQvaW5jbHVkZSAtSS93L2xpYnhtbDItMi45LjMtd2luMzIt eDg2XzY0L2luY2x1ZGUvbGlieG1sMiAtSS93L2xpYnhzbHQtMS4xLjI4LXdpbjMyLXg4Nl82NC9p bmNsdWRlIGNvbmZ0ZXN0LmMgPiY1CmNvbmZpZ3VyZToxMjUxNDogJD8gPSAwCmNvbmZpZ3VyZTox MjUxNDogcmVzdWx0OiB5ZXMKY29uZmlndXJlOjEyNTE0OiBjaGVja2luZyB3Y2hhci5oIHByZXNl bmNlCmNvbmZpZ3VyZToxMjUxNDogeDg2XzY0LXc2NC1taW5ndzMyLWdjYyAtRSAgLUkvdy9SLTMu NS5fL3Bvc3RncmVzL3NyYy9pbmNsdWRlL3BvcnQvd2luMzIgLURFWEVDX0JBQ0tFTkQgIC1JL3cv emxpYi0xLjIuOC13aW4zMi14ODZfNjQvaW5jbHVkZSAtSS93L29wZW5zc2wtMS4wLjJlLXdpbjMy LXg4Nl82NC9pbmNsdWRlIC1JL3cvbGlieG1sMi0yLjkuMy13aW4zMi14ODZfNjQvaW5jbHVkZS9s aWJ4bWwyIC1JL3cvbGlieHNsdC0xLjEuMjgtd2luMzIteDg2XzY0L2luY2x1ZGUgY29uZnRlc3Qu Ywpjb25maWd1cmU6MTI1MTQ6ICQ/ID0gMApjb25maWd1cmU6MTI1MTQ6IHJlc3VsdDogeWVzCmNv bmZpZ3VyZToxMjUxNDogY2hlY2tpbmcgZm9yIHdjaGFyLmgKY29uZmlndXJlOjEyNTE0OiByZXN1 bHQ6IHllcwpjb25maWd1cmU6MTI1MTQ6IGNoZWNraW5nIHdjdHlwZS5oIHVzYWJpbGl0eQpjb25m aWd1cmU6MTI1MTQ6IHg4Nl82NC13NjQtbWluZ3czMi1nY2MgLWMgLVdhbGwgLVdtaXNzaW5nLXBy b3RvdHlwZXMgLVdwb2ludGVyLWFyaXRoIC1XZGVjbGFyYXRpb24tYWZ0ZXItc3RhdGVtZW50IC1X ZW5kaWYtbGFiZWxzIC1XbWlzc2luZy1mb3JtYXQtYXR0cmlidXRlIC1XZm9ybWF0LXNlY3VyaXR5 IC1mbm8tc3RyaWN0LWFsaWFzaW5nIC1md3JhcHYgLWZleGNlc3MtcHJlY2lzaW9uPXN0YW5kYXJk IC1Xbm8tZm9ybWF0LXRydW5jYXRpb24gLVduby1zdHJpbmdvcC10cnVuY2F0aW9uIC1nIC1PIC1m bm8tb21pdC1mcmFtZS1wb2ludGVyICAtSS93L1ItMy41Ll8vcG9zdGdyZXMvc3JjL2luY2x1ZGUv cG9ydC93aW4zMiAtREVYRUNfQkFDS0VORCAgLUkvdy96bGliLTEuMi44LXdpbjMyLXg4Nl82NC9p bmNsdWRlIC1JL3cvb3BlbnNzbC0xLjAuMmUtd2luMzIteDg2XzY0L2luY2x1ZGUgLUkvdy9saWJ4 bWwyLTIuOS4zLXdpbjMyLXg4Nl82NC9pbmNsdWRlL2xpYnhtbDIgLUkvdy9saWJ4c2x0LTEuMS4y OC13aW4zMi14ODZfNjQvaW5jbHVkZSBjb25mdGVzdC5jID4mNQpjb25maWd1cmU6MTI1MTQ6ICQ/ ID0gMApjb25maWd1cmU6MTI1MTQ6IHJlc3VsdDogeWVzCmNvbmZpZ3VyZToxMjUxNDogY2hlY2tp bmcgd2N0eXBlLmggcHJlc2VuY2UKY29uZmlndXJlOjEyNTE0OiB4ODZfNjQtdzY0LW1pbmd3MzIt Z2NjIC1FICAtSS93L1ItMy41Ll8vcG9zdGdyZXMvc3JjL2luY2x1ZGUvcG9ydC93aW4zMiAtREVY RUNfQkFDS0VORCAgLUkvdy96bGliLTEuMi44LXdpbjMyLXg4Nl82NC9pbmNsdWRlIC1JL3cvb3Bl bnNzbC0xLjAuMmUtd2luMzIteDg2XzY0L2luY2x1ZGUgLUkvdy9saWJ4bWwyLTIuOS4zLXdpbjMy LXg4Nl82NC9pbmNsdWRlL2xpYnhtbDIgLUkvdy9saWJ4c2x0LTEuMS4yOC13aW4zMi14ODZfNjQv aW5jbHVkZSBjb25mdGVzdC5jCmNvbmZpZ3VyZToxMjUxNDogJD8gPSAwCmNvbmZpZ3VyZToxMjUx NDogcmVzdWx0OiB5ZXMKY29uZmlndXJlOjEyNTE0OiBjaGVja2luZyBmb3Igd2N0eXBlLmgKY29u ZmlndXJlOjEyNTE0OiByZXN1bHQ6IHllcwpjb25maWd1cmU6MTI1Mjk6IGNoZWNraW5nIGZvciBu ZXQvaWYuaApjb25maWd1cmU6MTI1Mjk6IHg4Nl82NC13NjQtbWluZ3czMi1nY2MgLWMgLVdhbGwg LVdtaXNzaW5nLXByb3RvdHlwZXMgLVdwb2ludGVyLWFyaXRoIC1XZGVjbGFyYXRpb24tYWZ0ZXIt c3RhdGVtZW50IC1XZW5kaWYtbGFiZWxzIC1XbWlzc2luZy1mb3JtYXQtYXR0cmlidXRlIC1XZm9y bWF0LXNlY3VyaXR5IC1mbm8tc3RyaWN0LWFsaWFzaW5nIC1md3JhcHYgLWZleGNlc3MtcHJlY2lz aW9uPXN0YW5kYXJkIC1Xbm8tZm9ybWF0LXRydW5jYXRpb24gLVduby1zdHJpbmdvcC10cnVuY2F0 aW9uIC1nIC1PIC1mbm8tb21pdC1mcmFtZS1wb2ludGVyICAtSS93L1ItMy41Ll8vcG9zdGdyZXMv c3JjL2luY2x1ZGUvcG9ydC93aW4zMiAtREVYRUNfQkFDS0VORCAgLUkvdy96bGliLTEuMi44LXdp bjMyLXg4Nl82NC9pbmNsdWRlIC1JL3cvb3BlbnNzbC0xLjAuMmUtd2luMzIteDg2XzY0L2luY2x1 ZGUgLUkvdy9saWJ4bWwyLTIuOS4zLXdpbjMyLXg4Nl82NC9pbmNsdWRlL2xpYnhtbDIgLUkvdy9s aWJ4c2x0LTEuMS4yOC13aW4zMi14ODZfNjQvaW5jbHVkZSBjb25mdGVzdC5jID4mNQpjb25mdGVz dC5jOjg1OjEwOiBmYXRhbCBlcnJvcjogbmV0L2lmLmg6IE5vIHN1Y2ggZmlsZSBvciBkaXJlY3Rv cnkKICNpbmNsdWRlIDxuZXQvaWYuaD4KICAgICAgICAgIF5+fn5+fn5+fn4KY29tcGlsYXRpb24g dGVybWluYXRlZC4NCmNvbmZpZ3VyZToxMjUyOTogJD8gPSAxCmNvbmZpZ3VyZTogZmFpbGVkIHBy b2dyYW0gd2FzOgp8IC8qIGNvbmZkZWZzLmggKi8KfCAjZGVmaW5lIFBBQ0tBR0VfTkFNRSAiUG9z dGdyZVNRTCIKfCAjZGVmaW5lIFBBQ0tBR0VfVEFSTkFNRSAicG9zdGdyZXNxbCIKfCAjZGVmaW5l IFBBQ0tBR0VfVkVSU0lPTiAiMTFiZXRhMyIKfCAjZGVmaW5lIFBBQ0tBR0VfU1RSSU5HICJQb3N0 Z3JlU1FMIDExYmV0YTMiCnwgI2RlZmluZSBQQUNLQUdFX0JVR1JFUE9SVCAicGdzcWwtYnVnc0Bw b3N0Z3Jlc3FsLm9yZyIKfCAjZGVmaW5lIFBBQ0tBR0VfVVJMICIiCnwgI2RlZmluZSBQR19NQUpP UlZFUlNJT04gIjExIgp8ICNkZWZpbmUgUEdfVkVSU0lPTiAiMTFiZXRhMyIKfCAjZGVmaW5lIERF Rl9QR1BPUlQgNTQzMgp8ICNkZWZpbmUgREVGX1BHUE9SVF9TVFIgIjU0MzIiCnwgI2RlZmluZSBC TENLU1ogODE5Mgp8ICNkZWZpbmUgUkVMU0VHX1NJWkUgMTMxMDcyCnwgI2RlZmluZSBYTE9HX0JM Q0tTWiA4MTkyCnwgI2RlZmluZSBVU0VfQVNTRVJUX0NIRUNLSU5HIDEKfCAjZGVmaW5lIEVOQUJM RV9USFJFQURfU0FGRVRZIDEKfCAjZGVmaW5lIFVTRV9JQ1UgMQp8ICNkZWZpbmUgUEdfS1JCX1NS Vk5BTSAicG9zdGdyZXMiCnwgI2RlZmluZSBVU0VfT1BFTlNTTCAxCnwgI2RlZmluZSBVU0VfTElC WE1MIDEKfCAjZGVmaW5lIFVTRV9MSUJYU0xUIDEKfCAjZGVmaW5lIFNURENfSEVBREVSUyAxCnwg I2RlZmluZSBIQVZFX1NZU19UWVBFU19IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NUQVRfSCAxCnwg I2RlZmluZSBIQVZFX1NURExJQl9IIDEKfCAjZGVmaW5lIEhBVkVfU1RSSU5HX0ggMQp8ICNkZWZp bmUgSEFWRV9NRU1PUllfSCAxCnwgI2RlZmluZSBIQVZFX1NUUklOR1NfSCAxCnwgI2RlZmluZSBI QVZFX0lOVFRZUEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERJTlRfSCAxCnwgI2RlZmluZSBIQVZF X1VOSVNURF9IIDEKfCAjZGVmaW5lIEhBVkVfTElCTSAxCnwgI2RlZmluZSBIQVZFX0xJQlogMQp8 ICNkZWZpbmUgSEFWRV9TUElOTE9DS1MgMQp8ICNkZWZpbmUgSEFWRV9BVE9NSUNTIDEKfCAjZGVm aW5lIEhBVkVfU1NMX0dFVF9DVVJSRU5UX0NPTVBSRVNTSU9OIDEKfCAjZGVmaW5lIEhBVkVfWDUw OV9HRVRfU0lHTkFUVVJFX05JRCAxCnwgI2RlZmluZSBIQVZFX0NSWVBUT19MT0NLIDEKfCAjZGVm aW5lIEhBVkVfTElCWE1MMiAxCnwgI2RlZmluZSBIQVZFX0xJQlhTTFQgMQp8ICNkZWZpbmUgSEFW RV9fQk9PTCAxCnwgI2RlZmluZSBIQVZFX1NUREJPT0xfSCAxCnwgI2RlZmluZSBIQVZFX0dFVE9Q VF9IIDEKfCAjZGVmaW5lIEhBVkVfSUVFRUZQX0ggMQp8ICNkZWZpbmUgSEFWRV9VVElNRV9IIDEK fCAjZGVmaW5lIEhBVkVfV0NIQVJfSCAxCnwgI2RlZmluZSBIQVZFX1dDVFlQRV9IIDEKfCAvKiBl bmQgY29uZmRlZnMuaC4gICovCnwgI2luY2x1ZGUgPHN0ZGlvLmg+CnwgI2lmZGVmIEhBVkVfU1lT X1RZUEVTX0gKfCAjIGluY2x1ZGUgPHN5cy90eXBlcy5oPgp8ICNlbmRpZgp8ICNpZmRlZiBIQVZF X1NZU19TVEFUX0gKfCAjIGluY2x1ZGUgPHN5cy9zdGF0Lmg+CnwgI2VuZGlmCnwgI2lmZGVmIFNU RENfSEVBREVSUwp8ICMgaW5jbHVkZSA8c3RkbGliLmg+CnwgIyBpbmNsdWRlIDxzdGRkZWYuaD4K fCAjZWxzZQp8ICMgaWZkZWYgSEFWRV9TVERMSUJfSAp8ICMgIGluY2x1ZGUgPHN0ZGxpYi5oPgp8 ICMgZW5kaWYKfCAjZW5kaWYKfCAjaWZkZWYgSEFWRV9TVFJJTkdfSAp8ICMgaWYgIWRlZmluZWQg U1REQ19IRUFERVJTICYmIGRlZmluZWQgSEFWRV9NRU1PUllfSAp8ICMgIGluY2x1ZGUgPG1lbW9y eS5oPgp8ICMgZW5kaWYKfCAjIGluY2x1ZGUgPHN0cmluZy5oPgp8ICNlbmRpZgp8ICNpZmRlZiBI QVZFX1NUUklOR1NfSAp8ICMgaW5jbHVkZSA8c3RyaW5ncy5oPgp8ICNlbmRpZgp8ICNpZmRlZiBI QVZFX0lOVFRZUEVTX0gKfCAjIGluY2x1ZGUgPGludHR5cGVzLmg+CnwgI2VuZGlmCnwgI2lmZGVm IEhBVkVfU1RESU5UX0gKfCAjIGluY2x1ZGUgPHN0ZGludC5oPgp8ICNlbmRpZgp8ICNpZmRlZiBI QVZFX1VOSVNURF9ICnwgIyBpbmNsdWRlIDx1bmlzdGQuaD4KfCAjZW5kaWYKfCAjaW5jbHVkZSA8 c3lzL3NvY2tldC5oPgp8IAp8IAp8ICNpbmNsdWRlIDxuZXQvaWYuaD4KY29uZmlndXJlOjEyNTI5 OiByZXN1bHQ6IG5vCmNvbmZpZ3VyZToxMjU0NzogY2hlY2tpbmcgZm9yIHN5cy91Y3JlZC5oCmNv bmZpZ3VyZToxMjU0NzogeDg2XzY0LXc2NC1taW5ndzMyLWdjYyAtYyAtV2FsbCAtV21pc3Npbmct cHJvdG90eXBlcyAtV3BvaW50ZXItYXJpdGggLVdkZWNsYXJhdGlvbi1hZnRlci1zdGF0ZW1lbnQg LVdlbmRpZi1sYWJlbHMgLVdtaXNzaW5nLWZvcm1hdC1hdHRyaWJ1dGUgLVdmb3JtYXQtc2VjdXJp dHkgLWZuby1zdHJpY3QtYWxpYXNpbmcgLWZ3cmFwdiAtZmV4Y2Vzcy1wcmVjaXNpb249c3RhbmRh cmQgLVduby1mb3JtYXQtdHJ1bmNhdGlvbiAtV25vLXN0cmluZ29wLXRydW5jYXRpb24gLWcgLU8g LWZuby1vbWl0LWZyYW1lLXBvaW50ZXIgIC1JL3cvUi0zLjUuXy9wb3N0Z3Jlcy9zcmMvaW5jbHVk ZS9wb3J0L3dpbjMyIC1ERVhFQ19CQUNLRU5EICAtSS93L3psaWItMS4yLjgtd2luMzIteDg2XzY0 L2luY2x1ZGUgLUkvdy9vcGVuc3NsLTEuMC4yZS13aW4zMi14ODZfNjQvaW5jbHVkZSAtSS93L2xp YnhtbDItMi45LjMtd2luMzIteDg2XzY0L2luY2x1ZGUvbGlieG1sMiAtSS93L2xpYnhzbHQtMS4x LjI4LXdpbjMyLXg4Nl82NC9pbmNsdWRlIGNvbmZ0ZXN0LmMgPiY1CmNvbmZ0ZXN0LmM6ODU6MTA6 IGZhdGFsIGVycm9yOiBzeXMvdWNyZWQuaDogTm8gc3VjaCBmaWxlIG9yIGRpcmVjdG9yeQogI2lu Y2x1ZGUgPHN5cy91Y3JlZC5oPgogICAgICAgICAgXn5+fn5+fn5+fn5+fgpjb21waWxhdGlvbiB0 ZXJtaW5hdGVkLg0KY29uZmlndXJlOjEyNTQ3OiAkPyA9IDEKY29uZmlndXJlOiBmYWlsZWQgcHJv Z3JhbSB3YXM6CnwgLyogY29uZmRlZnMuaCAqLwp8ICNkZWZpbmUgUEFDS0FHRV9OQU1FICJQb3N0 Z3JlU1FMIgp8ICNkZWZpbmUgUEFDS0FHRV9UQVJOQU1FICJwb3N0Z3Jlc3FsIgp8ICNkZWZpbmUg UEFDS0FHRV9WRVJTSU9OICIxMWJldGEzIgp8ICNkZWZpbmUgUEFDS0FHRV9TVFJJTkcgIlBvc3Rn cmVTUUwgMTFiZXRhMyIKfCAjZGVmaW5lIFBBQ0tBR0VfQlVHUkVQT1JUICJwZ3NxbC1idWdzQHBv c3RncmVzcWwub3JnIgp8ICNkZWZpbmUgUEFDS0FHRV9VUkwgIiIKfCAjZGVmaW5lIFBHX01BSk9S VkVSU0lPTiAiMTEiCnwgI2RlZmluZSBQR19WRVJTSU9OICIxMWJldGEzIgp8ICNkZWZpbmUgREVG X1BHUE9SVCA1NDMyCnwgI2RlZmluZSBERUZfUEdQT1JUX1NUUiAiNTQzMiIKfCAjZGVmaW5lIEJM Q0tTWiA4MTkyCnwgI2RlZmluZSBSRUxTRUdfU0laRSAxMzEwNzIKfCAjZGVmaW5lIFhMT0dfQkxD S1NaIDgxOTIKfCAjZGVmaW5lIFVTRV9BU1NFUlRfQ0hFQ0tJTkcgMQp8ICNkZWZpbmUgRU5BQkxF X1RIUkVBRF9TQUZFVFkgMQp8ICNkZWZpbmUgVVNFX0lDVSAxCnwgI2RlZmluZSBQR19LUkJfU1JW TkFNICJwb3N0Z3JlcyIKfCAjZGVmaW5lIFVTRV9PUEVOU1NMIDEKfCAjZGVmaW5lIFVTRV9MSUJY TUwgMQp8ICNkZWZpbmUgVVNFX0xJQlhTTFQgMQp8ICNkZWZpbmUgU1REQ19IRUFERVJTIDEKfCAj ZGVmaW5lIEhBVkVfU1lTX1RZUEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfU1RBVF9IIDEKfCAj ZGVmaW5lIEhBVkVfU1RETElCX0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJJTkdfSCAxCnwgI2RlZmlu ZSBIQVZFX01FTU9SWV9IIDEKfCAjZGVmaW5lIEhBVkVfU1RSSU5HU19IIDEKfCAjZGVmaW5lIEhB VkVfSU5UVFlQRVNfSCAxCnwgI2RlZmluZSBIQVZFX1NURElOVF9IIDEKfCAjZGVmaW5lIEhBVkVf VU5JU1REX0ggMQp8ICNkZWZpbmUgSEFWRV9MSUJNIDEKfCAjZGVmaW5lIEhBVkVfTElCWiAxCnwg I2RlZmluZSBIQVZFX1NQSU5MT0NLUyAxCnwgI2RlZmluZSBIQVZFX0FUT01JQ1MgMQp8ICNkZWZp bmUgSEFWRV9TU0xfR0VUX0NVUlJFTlRfQ09NUFJFU1NJT04gMQp8ICNkZWZpbmUgSEFWRV9YNTA5 X0dFVF9TSUdOQVRVUkVfTklEIDEKfCAjZGVmaW5lIEhBVkVfQ1JZUFRPX0xPQ0sgMQp8ICNkZWZp bmUgSEFWRV9MSUJYTUwyIDEKfCAjZGVmaW5lIEhBVkVfTElCWFNMVCAxCnwgI2RlZmluZSBIQVZF X19CT09MIDEKfCAjZGVmaW5lIEhBVkVfU1REQk9PTF9IIDEKfCAjZGVmaW5lIEhBVkVfR0VUT1BU X0ggMQp8ICNkZWZpbmUgSEFWRV9JRUVFRlBfSCAxCnwgI2RlZmluZSBIQVZFX1VUSU1FX0ggMQp8 ICNkZWZpbmUgSEFWRV9XQ0hBUl9IIDEKfCAjZGVmaW5lIEhBVkVfV0NUWVBFX0ggMQp8IC8qIGVu ZCBjb25mZGVmcy5oLiAgKi8KfCAjaW5jbHVkZSA8c3RkaW8uaD4KfCAjaWZkZWYgSEFWRV9TWVNf VFlQRVNfSAp8ICMgaW5jbHVkZSA8c3lzL3R5cGVzLmg+CnwgI2VuZGlmCnwgI2lmZGVmIEhBVkVf U1lTX1NUQVRfSAp8ICMgaW5jbHVkZSA8c3lzL3N0YXQuaD4KfCAjZW5kaWYKfCAjaWZkZWYgU1RE Q19IRUFERVJTCnwgIyBpbmNsdWRlIDxzdGRsaWIuaD4KfCAjIGluY2x1ZGUgPHN0ZGRlZi5oPgp8 ICNlbHNlCnwgIyBpZmRlZiBIQVZFX1NURExJQl9ICnwgIyAgaW5jbHVkZSA8c3RkbGliLmg+Cnwg IyBlbmRpZgp8ICNlbmRpZgp8ICNpZmRlZiBIQVZFX1NUUklOR19ICnwgIyBpZiAhZGVmaW5lZCBT VERDX0hFQURFUlMgJiYgZGVmaW5lZCBIQVZFX01FTU9SWV9ICnwgIyAgaW5jbHVkZSA8bWVtb3J5 Lmg+CnwgIyBlbmRpZgp8ICMgaW5jbHVkZSA8c3RyaW5nLmg+CnwgI2VuZGlmCnwgI2lmZGVmIEhB VkVfU1RSSU5HU19ICnwgIyBpbmNsdWRlIDxzdHJpbmdzLmg+CnwgI2VuZGlmCnwgI2lmZGVmIEhB VkVfSU5UVFlQRVNfSAp8ICMgaW5jbHVkZSA8aW50dHlwZXMuaD4KfCAjZW5kaWYKfCAjaWZkZWYg SEFWRV9TVERJTlRfSAp8ICMgaW5jbHVkZSA8c3RkaW50Lmg+CnwgI2VuZGlmCnwgI2lmZGVmIEhB VkVfVU5JU1REX0gKfCAjIGluY2x1ZGUgPHVuaXN0ZC5oPgp8ICNlbmRpZgp8ICNpbmNsdWRlIDxz eXMvcGFyYW0uaD4KfCAKfCAKfCAjaW5jbHVkZSA8c3lzL3VjcmVkLmg+CmNvbmZpZ3VyZToxMjU0 NzogcmVzdWx0OiBubwpjb25maWd1cmU6MTI1NjU6IGNoZWNraW5nIGZvciBuZXRpbmV0L3RjcC5o CmNvbmZpZ3VyZToxMjU2NTogeDg2XzY0LXc2NC1taW5ndzMyLWdjYyAtYyAtV2FsbCAtV21pc3Np bmctcHJvdG90eXBlcyAtV3BvaW50ZXItYXJpdGggLVdkZWNsYXJhdGlvbi1hZnRlci1zdGF0ZW1l bnQgLVdlbmRpZi1sYWJlbHMgLVdtaXNzaW5nLWZvcm1hdC1hdHRyaWJ1dGUgLVdmb3JtYXQtc2Vj dXJpdHkgLWZuby1zdHJpY3QtYWxpYXNpbmcgLWZ3cmFwdiAtZmV4Y2Vzcy1wcmVjaXNpb249c3Rh bmRhcmQgLVduby1mb3JtYXQtdHJ1bmNhdGlvbiAtV25vLXN0cmluZ29wLXRydW5jYXRpb24gLWcg LU8gLWZuby1vbWl0LWZyYW1lLXBvaW50ZXIgIC1JL3cvUi0zLjUuXy9wb3N0Z3Jlcy9zcmMvaW5j bHVkZS9wb3J0L3dpbjMyIC1ERVhFQ19CQUNLRU5EICAtSS93L3psaWItMS4yLjgtd2luMzIteDg2 XzY0L2luY2x1ZGUgLUkvdy9vcGVuc3NsLTEuMC4yZS13aW4zMi14ODZfNjQvaW5jbHVkZSAtSS93 L2xpYnhtbDItMi45LjMtd2luMzIteDg2XzY0L2luY2x1ZGUvbGlieG1sMiAtSS93L2xpYnhzbHQt MS4xLjI4LXdpbjMyLXg4Nl82NC9pbmNsdWRlIGNvbmZ0ZXN0LmMgPiY1CmNvbmZ0ZXN0LmM6ODU6 MTA6IGZhdGFsIGVycm9yOiBuZXRpbmV0L3RjcC5oOiBObyBzdWNoIGZpbGUgb3IgZGlyZWN0b3J5 CiAjaW5jbHVkZSA8bmV0aW5ldC90Y3AuaD4KICAgICAgICAgIF5+fn5+fn5+fn5+fn5+fgpjb21w aWxhdGlvbiB0ZXJtaW5hdGVkLg0KY29uZmlndXJlOjEyNTY1OiAkPyA9IDEKY29uZmlndXJlOiBm YWlsZWQgcHJvZ3JhbSB3YXM6CnwgLyogY29uZmRlZnMuaCAqLwp8ICNkZWZpbmUgUEFDS0FHRV9O QU1FICJQb3N0Z3JlU1FMIgp8ICNkZWZpbmUgUEFDS0FHRV9UQVJOQU1FICJwb3N0Z3Jlc3FsIgp8 ICNkZWZpbmUgUEFDS0FHRV9WRVJTSU9OICIxMWJldGEzIgp8ICNkZWZpbmUgUEFDS0FHRV9TVFJJ TkcgIlBvc3RncmVTUUwgMTFiZXRhMyIKfCAjZGVmaW5lIFBBQ0tBR0VfQlVHUkVQT1JUICJwZ3Nx bC1idWdzQHBvc3RncmVzcWwub3JnIgp8ICNkZWZpbmUgUEFDS0FHRV9VUkwgIiIKfCAjZGVmaW5l IFBHX01BSk9SVkVSU0lPTiAiMTEiCnwgI2RlZmluZSBQR19WRVJTSU9OICIxMWJldGEzIgp8ICNk ZWZpbmUgREVGX1BHUE9SVCA1NDMyCnwgI2RlZmluZSBERUZfUEdQT1JUX1NUUiAiNTQzMiIKfCAj ZGVmaW5lIEJMQ0tTWiA4MTkyCnwgI2RlZmluZSBSRUxTRUdfU0laRSAxMzEwNzIKfCAjZGVmaW5l IFhMT0dfQkxDS1NaIDgxOTIKfCAjZGVmaW5lIFVTRV9BU1NFUlRfQ0hFQ0tJTkcgMQp8ICNkZWZp bmUgRU5BQkxFX1RIUkVBRF9TQUZFVFkgMQp8ICNkZWZpbmUgVVNFX0lDVSAxCnwgI2RlZmluZSBQ R19LUkJfU1JWTkFNICJwb3N0Z3JlcyIKfCAjZGVmaW5lIFVTRV9PUEVOU1NMIDEKfCAjZGVmaW5l IFVTRV9MSUJYTUwgMQp8ICNkZWZpbmUgVVNFX0xJQlhTTFQgMQp8ICNkZWZpbmUgU1REQ19IRUFE RVJTIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1RZUEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfU1RB VF9IIDEKfCAjZGVmaW5lIEhBVkVfU1RETElCX0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJJTkdfSCAx CnwgI2RlZmluZSBIQVZFX01FTU9SWV9IIDEKfCAjZGVmaW5lIEhBVkVfU1RSSU5HU19IIDEKfCAj ZGVmaW5lIEhBVkVfSU5UVFlQRVNfSCAxCnwgI2RlZmluZSBIQVZFX1NURElOVF9IIDEKfCAjZGVm aW5lIEhBVkVfVU5JU1REX0ggMQp8ICNkZWZpbmUgSEFWRV9MSUJNIDEKfCAjZGVmaW5lIEhBVkVf TElCWiAxCnwgI2RlZmluZSBIQVZFX1NQSU5MT0NLUyAxCnwgI2RlZmluZSBIQVZFX0FUT01JQ1Mg MQp8ICNkZWZpbmUgSEFWRV9TU0xfR0VUX0NVUlJFTlRfQ09NUFJFU1NJT04gMQp8ICNkZWZpbmUg SEFWRV9YNTA5X0dFVF9TSUdOQVRVUkVfTklEIDEKfCAjZGVmaW5lIEhBVkVfQ1JZUFRPX0xPQ0sg MQp8ICNkZWZpbmUgSEFWRV9MSUJYTUwyIDEKfCAjZGVmaW5lIEhBVkVfTElCWFNMVCAxCnwgI2Rl ZmluZSBIQVZFX19CT09MIDEKfCAjZGVmaW5lIEhBVkVfU1REQk9PTF9IIDEKfCAjZGVmaW5lIEhB VkVfR0VUT1BUX0ggMQp8ICNkZWZpbmUgSEFWRV9JRUVFRlBfSCAxCnwgI2RlZmluZSBIQVZFX1VU SU1FX0ggMQp8ICNkZWZpbmUgSEFWRV9XQ0hBUl9IIDEKfCAjZGVmaW5lIEhBVkVfV0NUWVBFX0gg MQp8IC8qIGVuZCBjb25mZGVmcy5oLiAgKi8KfCAjaW5jbHVkZSA8c3RkaW8uaD4KfCAjaWZkZWYg SEFWRV9TWVNfVFlQRVNfSAp8ICMgaW5jbHVkZSA8c3lzL3R5cGVzLmg+CnwgI2VuZGlmCnwgI2lm ZGVmIEhBVkVfU1lTX1NUQVRfSAp8ICMgaW5jbHVkZSA8c3lzL3N0YXQuaD4KfCAjZW5kaWYKfCAj aWZkZWYgU1REQ19IRUFERVJTCnwgIyBpbmNsdWRlIDxzdGRsaWIuaD4KfCAjIGluY2x1ZGUgPHN0 ZGRlZi5oPgp8ICNlbHNlCnwgIyBpZmRlZiBIQVZFX1NURExJQl9ICnwgIyAgaW5jbHVkZSA8c3Rk bGliLmg+CnwgIyBlbmRpZgp8ICNlbmRpZgp8ICNpZmRlZiBIQVZFX1NUUklOR19ICnwgIyBpZiAh ZGVmaW5lZCBTVERDX0hFQURFUlMgJiYgZGVmaW5lZCBIQVZFX01FTU9SWV9ICnwgIyAgaW5jbHVk ZSA8bWVtb3J5Lmg+CnwgIyBlbmRpZgp8ICMgaW5jbHVkZSA8c3RyaW5nLmg+CnwgI2VuZGlmCnwg I2lmZGVmIEhBVkVfU1RSSU5HU19ICnwgIyBpbmNsdWRlIDxzdHJpbmdzLmg+CnwgI2VuZGlmCnwg I2lmZGVmIEhBVkVfSU5UVFlQRVNfSAp8ICMgaW5jbHVkZSA8aW50dHlwZXMuaD4KfCAjZW5kaWYK fCAjaWZkZWYgSEFWRV9TVERJTlRfSAp8ICMgaW5jbHVkZSA8c3RkaW50Lmg+CnwgI2VuZGlmCnwg I2lmZGVmIEhBVkVfVU5JU1REX0gKfCAjIGluY2x1ZGUgPHVuaXN0ZC5oPgp8ICNlbmRpZgp8ICNp bmNsdWRlIDxuZXRpbmV0L2luLmg+CnwgCnwgCnwgI2luY2x1ZGUgPG5ldGluZXQvdGNwLmg+CmNv bmZpZ3VyZToxMjU2NTogcmVzdWx0OiBubwpjb25maWd1cmU6MTI3MzQ6IGNoZWNraW5nIHpsaWIu aCB1c2FiaWxpdHkKY29uZmlndXJlOjEyNzM0OiB4ODZfNjQtdzY0LW1pbmd3MzItZ2NjIC1jIC1X YWxsIC1XbWlzc2luZy1wcm90b3R5cGVzIC1XcG9pbnRlci1hcml0aCAtV2RlY2xhcmF0aW9uLWFm dGVyLXN0YXRlbWVudCAtV2VuZGlmLWxhYmVscyAtV21pc3NpbmctZm9ybWF0LWF0dHJpYnV0ZSAt V2Zvcm1hdC1zZWN1cml0eSAtZm5vLXN0cmljdC1hbGlhc2luZyAtZndyYXB2IC1mZXhjZXNzLXBy ZWNpc2lvbj1zdGFuZGFyZCAtV25vLWZvcm1hdC10cnVuY2F0aW9uIC1Xbm8tc3RyaW5nb3AtdHJ1 bmNhdGlvbiAtZyAtTyAtZm5vLW9taXQtZnJhbWUtcG9pbnRlciAgLUkvdy9SLTMuNS5fL3Bvc3Rn cmVzL3NyYy9pbmNsdWRlL3BvcnQvd2luMzIgLURFWEVDX0JBQ0tFTkQgIC1JL3cvemxpYi0xLjIu OC13aW4zMi14ODZfNjQvaW5jbHVkZSAtSS93L29wZW5zc2wtMS4wLjJlLXdpbjMyLXg4Nl82NC9p bmNsdWRlIC1JL3cvbGlieG1sMi0yLjkuMy13aW4zMi14ODZfNjQvaW5jbHVkZS9saWJ4bWwyIC1J L3cvbGlieHNsdC0xLjEuMjgtd2luMzIteDg2XzY0L2luY2x1ZGUgY29uZnRlc3QuYyA+JjUKY29u ZmlndXJlOjEyNzM0OiAkPyA9IDAKY29uZmlndXJlOjEyNzM0OiByZXN1bHQ6IHllcwpjb25maWd1 cmU6MTI3MzQ6IGNoZWNraW5nIHpsaWIuaCBwcmVzZW5jZQpjb25maWd1cmU6MTI3MzQ6IHg4Nl82 NC13NjQtbWluZ3czMi1nY2MgLUUgIC1JL3cvUi0zLjUuXy9wb3N0Z3Jlcy9zcmMvaW5jbHVkZS9w b3J0L3dpbjMyIC1ERVhFQ19CQUNLRU5EICAtSS93L3psaWItMS4yLjgtd2luMzIteDg2XzY0L2lu Y2x1ZGUgLUkvdy9vcGVuc3NsLTEuMC4yZS13aW4zMi14ODZfNjQvaW5jbHVkZSAtSS93L2xpYnht bDItMi45LjMtd2luMzIteDg2XzY0L2luY2x1ZGUvbGlieG1sMiAtSS93L2xpYnhzbHQtMS4xLjI4 LXdpbjMyLXg4Nl82NC9pbmNsdWRlIGNvbmZ0ZXN0LmMKY29uZmlndXJlOjEyNzM0OiAkPyA9IDAK Y29uZmlndXJlOjEyNzM0OiByZXN1bHQ6IHllcwpjb25maWd1cmU6MTI3MzQ6IGNoZWNraW5nIGZv ciB6bGliLmgKY29uZmlndXJlOjEyNzM0OiByZXN1bHQ6IHllcwpjb25maWd1cmU6MTI3Nzg6IGNo ZWNraW5nIG9wZW5zc2wvc3NsLmggdXNhYmlsaXR5CmNvbmZpZ3VyZToxMjc3ODogeDg2XzY0LXc2 NC1taW5ndzMyLWdjYyAtYyAtV2FsbCAtV21pc3NpbmctcHJvdG90eXBlcyAtV3BvaW50ZXItYXJp dGggLVdkZWNsYXJhdGlvbi1hZnRlci1zdGF0ZW1lbnQgLVdlbmRpZi1sYWJlbHMgLVdtaXNzaW5n LWZvcm1hdC1hdHRyaWJ1dGUgLVdmb3JtYXQtc2VjdXJpdHkgLWZuby1zdHJpY3QtYWxpYXNpbmcg LWZ3cmFwdiAtZmV4Y2Vzcy1wcmVjaXNpb249c3RhbmRhcmQgLVduby1mb3JtYXQtdHJ1bmNhdGlv biAtV25vLXN0cmluZ29wLXRydW5jYXRpb24gLWcgLU8gLWZuby1vbWl0LWZyYW1lLXBvaW50ZXIg IC1JL3cvUi0zLjUuXy9wb3N0Z3Jlcy9zcmMvaW5jbHVkZS9wb3J0L3dpbjMyIC1ERVhFQ19CQUNL RU5EICAtSS93L3psaWItMS4yLjgtd2luMzIteDg2XzY0L2luY2x1ZGUgLUkvdy9vcGVuc3NsLTEu MC4yZS13aW4zMi14ODZfNjQvaW5jbHVkZSAtSS93L2xpYnhtbDItMi45LjMtd2luMzIteDg2XzY0 L2luY2x1ZGUvbGlieG1sMiAtSS93L2xpYnhzbHQtMS4xLjI4LXdpbjMyLXg4Nl82NC9pbmNsdWRl IGNvbmZ0ZXN0LmMgPiY1CmNvbmZpZ3VyZToxMjc3ODogJD8gPSAwCmNvbmZpZ3VyZToxMjc3ODog cmVzdWx0OiB5ZXMKY29uZmlndXJlOjEyNzc4OiBjaGVja2luZyBvcGVuc3NsL3NzbC5oIHByZXNl bmNlCmNvbmZpZ3VyZToxMjc3ODogeDg2XzY0LXc2NC1taW5ndzMyLWdjYyAtRSAgLUkvdy9SLTMu NS5fL3Bvc3RncmVzL3NyYy9pbmNsdWRlL3BvcnQvd2luMzIgLURFWEVDX0JBQ0tFTkQgIC1JL3cv emxpYi0xLjIuOC13aW4zMi14ODZfNjQvaW5jbHVkZSAtSS93L29wZW5zc2wtMS4wLjJlLXdpbjMy LXg4Nl82NC9pbmNsdWRlIC1JL3cvbGlieG1sMi0yLjkuMy13aW4zMi14ODZfNjQvaW5jbHVkZS9s aWJ4bWwyIC1JL3cvbGlieHNsdC0xLjEuMjgtd2luMzIteDg2XzY0L2luY2x1ZGUgY29uZnRlc3Qu Ywpjb25maWd1cmU6MTI3Nzg6ICQ/ID0gMApjb25maWd1cmU6MTI3Nzg6IHJlc3VsdDogeWVzCmNv bmZpZ3VyZToxMjc3ODogY2hlY2tpbmcgZm9yIG9wZW5zc2wvc3NsLmgKY29uZmlndXJlOjEyNzc4 OiByZXN1bHQ6IHllcwpjb25maWd1cmU6MTI3ODY6IGNoZWNraW5nIG9wZW5zc2wvZXJyLmggdXNh YmlsaXR5CmNvbmZpZ3VyZToxMjc4NjogeDg2XzY0LXc2NC1taW5ndzMyLWdjYyAtYyAtV2FsbCAt V21pc3NpbmctcHJvdG90eXBlcyAtV3BvaW50ZXItYXJpdGggLVdkZWNsYXJhdGlvbi1hZnRlci1z dGF0ZW1lbnQgLVdlbmRpZi1sYWJlbHMgLVdtaXNzaW5nLWZvcm1hdC1hdHRyaWJ1dGUgLVdmb3Jt YXQtc2VjdXJpdHkgLWZuby1zdHJpY3QtYWxpYXNpbmcgLWZ3cmFwdiAtZmV4Y2Vzcy1wcmVjaXNp b249c3RhbmRhcmQgLVduby1mb3JtYXQtdHJ1bmNhdGlvbiAtV25vLXN0cmluZ29wLXRydW5jYXRp b24gLWcgLU8gLWZuby1vbWl0LWZyYW1lLXBvaW50ZXIgIC1JL3cvUi0zLjUuXy9wb3N0Z3Jlcy9z cmMvaW5jbHVkZS9wb3J0L3dpbjMyIC1ERVhFQ19CQUNLRU5EICAtSS93L3psaWItMS4yLjgtd2lu MzIteDg2XzY0L2luY2x1ZGUgLUkvdy9vcGVuc3NsLTEuMC4yZS13aW4zMi14ODZfNjQvaW5jbHVk ZSAtSS93L2xpYnhtbDItMi45LjMtd2luMzIteDg2XzY0L2luY2x1ZGUvbGlieG1sMiAtSS93L2xp YnhzbHQtMS4xLjI4LXdpbjMyLXg4Nl82NC9pbmNsdWRlIGNvbmZ0ZXN0LmMgPiY1CmNvbmZpZ3Vy ZToxMjc4NjogJD8gPSAwCmNvbmZpZ3VyZToxMjc4NjogcmVzdWx0OiB5ZXMKY29uZmlndXJlOjEy Nzg2OiBjaGVja2luZyBvcGVuc3NsL2Vyci5oIHByZXNlbmNlCmNvbmZpZ3VyZToxMjc4NjogeDg2 XzY0LXc2NC1taW5ndzMyLWdjYyAtRSAgLUkvdy9SLTMuNS5fL3Bvc3RncmVzL3NyYy9pbmNsdWRl L3BvcnQvd2luMzIgLURFWEVDX0JBQ0tFTkQgIC1JL3cvemxpYi0xLjIuOC13aW4zMi14ODZfNjQv aW5jbHVkZSAtSS93L29wZW5zc2wtMS4wLjJlLXdpbjMyLXg4Nl82NC9pbmNsdWRlIC1JL3cvbGli eG1sMi0yLjkuMy13aW4zMi14ODZfNjQvaW5jbHVkZS9saWJ4bWwyIC1JL3cvbGlieHNsdC0xLjEu Mjgtd2luMzIteDg2XzY0L2luY2x1ZGUgY29uZnRlc3QuYwpjb25maWd1cmU6MTI3ODY6ICQ/ID0g MApjb25maWd1cmU6MTI3ODY6IHJlc3VsdDogeWVzCmNvbmZpZ3VyZToxMjc4NjogY2hlY2tpbmcg Zm9yIG9wZW5zc2wvZXJyLmgKY29uZmlndXJlOjEyNzg2OiByZXN1bHQ6IHllcwpjb25maWd1cmU6 MTI4NDk6IGNoZWNraW5nIGxpYnhtbC9wYXJzZXIuaCB1c2FiaWxpdHkKY29uZmlndXJlOjEyODQ5 OiB4ODZfNjQtdzY0LW1pbmd3MzItZ2NjIC1jIC1XYWxsIC1XbWlzc2luZy1wcm90b3R5cGVzIC1X cG9pbnRlci1hcml0aCAtV2RlY2xhcmF0aW9uLWFmdGVyLXN0YXRlbWVudCAtV2VuZGlmLWxhYmVs cyAtV21pc3NpbmctZm9ybWF0LWF0dHJpYnV0ZSAtV2Zvcm1hdC1zZWN1cml0eSAtZm5vLXN0cmlj dC1hbGlhc2luZyAtZndyYXB2IC1mZXhjZXNzLXByZWNpc2lvbj1zdGFuZGFyZCAtV25vLWZvcm1h dC10cnVuY2F0aW9uIC1Xbm8tc3RyaW5nb3AtdHJ1bmNhdGlvbiAtZyAtTyAtZm5vLW9taXQtZnJh bWUtcG9pbnRlciAgLUkvdy9SLTMuNS5fL3Bvc3RncmVzL3NyYy9pbmNsdWRlL3BvcnQvd2luMzIg LURFWEVDX0JBQ0tFTkQgIC1JL3cvemxpYi0xLjIuOC13aW4zMi14ODZfNjQvaW5jbHVkZSAtSS93 L29wZW5zc2wtMS4wLjJlLXdpbjMyLXg4Nl82NC9pbmNsdWRlIC1JL3cvbGlieG1sMi0yLjkuMy13 aW4zMi14ODZfNjQvaW5jbHVkZS9saWJ4bWwyIC1JL3cvbGlieHNsdC0xLjEuMjgtd2luMzIteDg2 XzY0L2luY2x1ZGUgY29uZnRlc3QuYyA+JjUKY29uZmlndXJlOjEyODQ5OiAkPyA9IDAKY29uZmln dXJlOjEyODQ5OiByZXN1bHQ6IHllcwpjb25maWd1cmU6MTI4NDk6IGNoZWNraW5nIGxpYnhtbC9w YXJzZXIuaCBwcmVzZW5jZQpjb25maWd1cmU6MTI4NDk6IHg4Nl82NC13NjQtbWluZ3czMi1nY2Mg LUUgIC1JL3cvUi0zLjUuXy9wb3N0Z3Jlcy9zcmMvaW5jbHVkZS9wb3J0L3dpbjMyIC1ERVhFQ19C QUNLRU5EICAtSS93L3psaWItMS4yLjgtd2luMzIteDg2XzY0L2luY2x1ZGUgLUkvdy9vcGVuc3Ns LTEuMC4yZS13aW4zMi14ODZfNjQvaW5jbHVkZSAtSS93L2xpYnhtbDItMi45LjMtd2luMzIteDg2 XzY0L2luY2x1ZGUvbGlieG1sMiAtSS93L2xpYnhzbHQtMS4xLjI4LXdpbjMyLXg4Nl82NC9pbmNs dWRlIGNvbmZ0ZXN0LmMKY29uZmlndXJlOjEyODQ5OiAkPyA9IDAKY29uZmlndXJlOjEyODQ5OiBy ZXN1bHQ6IHllcwpjb25maWd1cmU6MTI4NDk6IGNoZWNraW5nIGZvciBsaWJ4bWwvcGFyc2VyLmgK Y29uZmlndXJlOjEyODQ5OiByZXN1bHQ6IHllcwpjb25maWd1cmU6MTI4NjA6IGNoZWNraW5nIGxp YnhzbHQveHNsdC5oIHVzYWJpbGl0eQpjb25maWd1cmU6MTI4NjA6IHg4Nl82NC13NjQtbWluZ3cz Mi1nY2MgLWMgLVdhbGwgLVdtaXNzaW5nLXByb3RvdHlwZXMgLVdwb2ludGVyLWFyaXRoIC1XZGVj bGFyYXRpb24tYWZ0ZXItc3RhdGVtZW50IC1XZW5kaWYtbGFiZWxzIC1XbWlzc2luZy1mb3JtYXQt YXR0cmlidXRlIC1XZm9ybWF0LXNlY3VyaXR5IC1mbm8tc3RyaWN0LWFsaWFzaW5nIC1md3JhcHYg LWZleGNlc3MtcHJlY2lzaW9uPXN0YW5kYXJkIC1Xbm8tZm9ybWF0LXRydW5jYXRpb24gLVduby1z dHJpbmdvcC10cnVuY2F0aW9uIC1nIC1PIC1mbm8tb21pdC1mcmFtZS1wb2ludGVyICAtSS93L1It My41Ll8vcG9zdGdyZXMvc3JjL2luY2x1ZGUvcG9ydC93aW4zMiAtREVYRUNfQkFDS0VORCAgLUkv dy96bGliLTEuMi44LXdpbjMyLXg4Nl82NC9pbmNsdWRlIC1JL3cvb3BlbnNzbC0xLjAuMmUtd2lu MzIteDg2XzY0L2luY2x1ZGUgLUkvdy9saWJ4bWwyLTIuOS4zLXdpbjMyLXg4Nl82NC9pbmNsdWRl L2xpYnhtbDIgLUkvdy9saWJ4c2x0LTEuMS4yOC13aW4zMi14ODZfNjQvaW5jbHVkZSBjb25mdGVz dC5jID4mNQpjb25maWd1cmU6MTI4NjA6ICQ/ID0gMApjb25maWd1cmU6MTI4NjA6IHJlc3VsdDog eWVzCmNvbmZpZ3VyZToxMjg2MDogY2hlY2tpbmcgbGlieHNsdC94c2x0LmggcHJlc2VuY2UKY29u ZmlndXJlOjEyODYwOiB4ODZfNjQtdzY0LW1pbmd3MzItZ2NjIC1FICAtSS93L1ItMy41Ll8vcG9z dGdyZXMvc3JjL2luY2x1ZGUvcG9ydC93aW4zMiAtREVYRUNfQkFDS0VORCAgLUkvdy96bGliLTEu Mi44LXdpbjMyLXg4Nl82NC9pbmNsdWRlIC1JL3cvb3BlbnNzbC0xLjAuMmUtd2luMzIteDg2XzY0 L2luY2x1ZGUgLUkvdy9saWJ4bWwyLTIuOS4zLXdpbjMyLXg4Nl82NC9pbmNsdWRlL2xpYnhtbDIg LUkvdy9saWJ4c2x0LTEuMS4yOC13aW4zMi14ODZfNjQvaW5jbHVkZSBjb25mdGVzdC5jCmNvbmZp Z3VyZToxMjg2MDogJD8gPSAwCmNvbmZpZ3VyZToxMjg2MDogcmVzdWx0OiB5ZXMKY29uZmlndXJl OjEyODYwOiBjaGVja2luZyBmb3IgbGlieHNsdC94c2x0LmgKY29uZmlndXJlOjEyODYwOiByZXN1 bHQ6IHllcwpjb25maWd1cmU6MTMwOTY6IGNoZWNraW5nIGNydGRlZnMuaCB1c2FiaWxpdHkKY29u ZmlndXJlOjEzMDk2OiB4ODZfNjQtdzY0LW1pbmd3MzItZ2NjIC1jIC1XYWxsIC1XbWlzc2luZy1w cm90b3R5cGVzIC1XcG9pbnRlci1hcml0aCAtV2RlY2xhcmF0aW9uLWFmdGVyLXN0YXRlbWVudCAt V2VuZGlmLWxhYmVscyAtV21pc3NpbmctZm9ybWF0LWF0dHJpYnV0ZSAtV2Zvcm1hdC1zZWN1cml0 eSAtZm5vLXN0cmljdC1hbGlhc2luZyAtZndyYXB2IC1mZXhjZXNzLXByZWNpc2lvbj1zdGFuZGFy ZCAtV25vLWZvcm1hdC10cnVuY2F0aW9uIC1Xbm8tc3RyaW5nb3AtdHJ1bmNhdGlvbiAtZyAtTyAt Zm5vLW9taXQtZnJhbWUtcG9pbnRlciAgLUkvdy9SLTMuNS5fL3Bvc3RncmVzL3NyYy9pbmNsdWRl L3BvcnQvd2luMzIgLURFWEVDX0JBQ0tFTkQgIC1JL3cvemxpYi0xLjIuOC13aW4zMi14ODZfNjQv aW5jbHVkZSAtSS93L29wZW5zc2wtMS4wLjJlLXdpbjMyLXg4Nl82NC9pbmNsdWRlIC1JL3cvbGli eG1sMi0yLjkuMy13aW4zMi14ODZfNjQvaW5jbHVkZS9saWJ4bWwyIC1JL3cvbGlieHNsdC0xLjEu Mjgtd2luMzIteDg2XzY0L2luY2x1ZGUgY29uZnRlc3QuYyA+JjUKY29uZmlndXJlOjEzMDk2OiAk PyA9IDAKY29uZmlndXJlOjEzMDk2OiByZXN1bHQ6IHllcwpjb25maWd1cmU6MTMwOTY6IGNoZWNr aW5nIGNydGRlZnMuaCBwcmVzZW5jZQpjb25maWd1cmU6MTMwOTY6IHg4Nl82NC13NjQtbWluZ3cz Mi1nY2MgLUUgIC1JL3cvUi0zLjUuXy9wb3N0Z3Jlcy9zcmMvaW5jbHVkZS9wb3J0L3dpbjMyIC1E RVhFQ19CQUNLRU5EICAtSS93L3psaWItMS4yLjgtd2luMzIteDg2XzY0L2luY2x1ZGUgLUkvdy9v cGVuc3NsLTEuMC4yZS13aW4zMi14ODZfNjQvaW5jbHVkZSAtSS93L2xpYnhtbDItMi45LjMtd2lu MzIteDg2XzY0L2luY2x1ZGUvbGlieG1sMiAtSS93L2xpYnhzbHQtMS4xLjI4LXdpbjMyLXg4Nl82 NC9pbmNsdWRlIGNvbmZ0ZXN0LmMKY29uZmlndXJlOjEzMDk2OiAkPyA9IDAKY29uZmlndXJlOjEz MDk2OiByZXN1bHQ6IHllcwpjb25maWd1cmU6MTMwOTY6IGNoZWNraW5nIGZvciBjcnRkZWZzLmgK Y29uZmlndXJlOjEzMDk2OiByZXN1bHQ6IHllcwpjb25maWd1cmU6MTMxMTI6IGNoZWNraW5nIHdo ZXRoZXIgYnl0ZSBvcmRlcmluZyBpcyBiaWdlbmRpYW4KY29uZmlndXJlOjEzMTI3OiB4ODZfNjQt dzY0LW1pbmd3MzItZ2NjIC1jIC1XYWxsIC1XbWlzc2luZy1wcm90b3R5cGVzIC1XcG9pbnRlci1h cml0aCAtV2RlY2xhcmF0aW9uLWFmdGVyLXN0YXRlbWVudCAtV2VuZGlmLWxhYmVscyAtV21pc3Np bmctZm9ybWF0LWF0dHJpYnV0ZSAtV2Zvcm1hdC1zZWN1cml0eSAtZm5vLXN0cmljdC1hbGlhc2lu ZyAtZndyYXB2IC1mZXhjZXNzLXByZWNpc2lvbj1zdGFuZGFyZCAtV25vLWZvcm1hdC10cnVuY2F0 aW9uIC1Xbm8tc3RyaW5nb3AtdHJ1bmNhdGlvbiAtZyAtTyAtZm5vLW9taXQtZnJhbWUtcG9pbnRl ciAgLUkvdy9SLTMuNS5fL3Bvc3RncmVzL3NyYy9pbmNsdWRlL3BvcnQvd2luMzIgLURFWEVDX0JB Q0tFTkQgIC1JL3cvemxpYi0xLjIuOC13aW4zMi14ODZfNjQvaW5jbHVkZSAtSS93L29wZW5zc2wt MS4wLjJlLXdpbjMyLXg4Nl82NC9pbmNsdWRlIC1JL3cvbGlieG1sMi0yLjkuMy13aW4zMi14ODZf NjQvaW5jbHVkZS9saWJ4bWwyIC1JL3cvbGlieHNsdC0xLjEuMjgtd2luMzIteDg2XzY0L2luY2x1 ZGUgY29uZnRlc3QuYyA+JjUKY29uZnRlc3QuYzo1MTo5OiBlcnJvcjogdW5rbm93biB0eXBlIG5h bWUgJ25vdCcKICAgICAgICAgbm90IGEgdW5pdmVyc2FsIGNhcGFibGUgY29tcGlsZXIKICAgICAg ICAgXn5+CmNvbmZ0ZXN0LmM6NTE6MTU6IGVycm9yOiBleHBlY3RlZCAnPScsICcsJywgJzsnLCAn YXNtJyBvciAnX19hdHRyaWJ1dGVfXycgYmVmb3JlICd1bml2ZXJzYWwnCiAgICAgICAgIG5vdCBh IHVuaXZlcnNhbCBjYXBhYmxlIGNvbXBpbGVyCiAgICAgICAgICAgICAgIF5+fn5+fn5+fgpjb25m dGVzdC5jOjUxOjE1OiBlcnJvcjogdW5rbm93biB0eXBlIG5hbWUgJ3VuaXZlcnNhbCcKY29uZmln dXJlOjEzMTI3OiAkPyA9IDEKY29uZmlndXJlOiBmYWlsZWQgcHJvZ3JhbSB3YXM6CnwgLyogY29u ZmRlZnMuaCAqLwp8ICNkZWZpbmUgUEFDS0FHRV9OQU1FICJQb3N0Z3JlU1FMIgp8ICNkZWZpbmUg UEFDS0FHRV9UQVJOQU1FICJwb3N0Z3Jlc3FsIgp8ICNkZWZpbmUgUEFDS0FHRV9WRVJTSU9OICIx MWJldGEzIgp8ICNkZWZpbmUgUEFDS0FHRV9TVFJJTkcgIlBvc3RncmVTUUwgMTFiZXRhMyIKfCAj ZGVmaW5lIFBBQ0tBR0VfQlVHUkVQT1JUICJwZ3NxbC1idWdzQHBvc3RncmVzcWwub3JnIgp8ICNk ZWZpbmUgUEFDS0FHRV9VUkwgIiIKfCAjZGVmaW5lIFBHX01BSk9SVkVSU0lPTiAiMTEiCnwgI2Rl ZmluZSBQR19WRVJTSU9OICIxMWJldGEzIgp8ICNkZWZpbmUgREVGX1BHUE9SVCA1NDMyCnwgI2Rl ZmluZSBERUZfUEdQT1JUX1NUUiAiNTQzMiIKfCAjZGVmaW5lIEJMQ0tTWiA4MTkyCnwgI2RlZmlu ZSBSRUxTRUdfU0laRSAxMzEwNzIKfCAjZGVmaW5lIFhMT0dfQkxDS1NaIDgxOTIKfCAjZGVmaW5l IFVTRV9BU1NFUlRfQ0hFQ0tJTkcgMQp8ICNkZWZpbmUgRU5BQkxFX1RIUkVBRF9TQUZFVFkgMQp8 ICNkZWZpbmUgVVNFX0lDVSAxCnwgI2RlZmluZSBQR19LUkJfU1JWTkFNICJwb3N0Z3JlcyIKfCAj ZGVmaW5lIFVTRV9PUEVOU1NMIDEKfCAjZGVmaW5lIFVTRV9MSUJYTUwgMQp8ICNkZWZpbmUgVVNF X0xJQlhTTFQgMQp8ICNkZWZpbmUgU1REQ19IRUFERVJTIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1RZ UEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfU1RBVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1RETElC X0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJJTkdfSCAxCnwgI2RlZmluZSBIQVZFX01FTU9SWV9IIDEK fCAjZGVmaW5lIEhBVkVfU1RSSU5HU19IIDEKfCAjZGVmaW5lIEhBVkVfSU5UVFlQRVNfSCAxCnwg I2RlZmluZSBIQVZFX1NURElOVF9IIDEKfCAjZGVmaW5lIEhBVkVfVU5JU1REX0ggMQp8ICNkZWZp bmUgSEFWRV9MSUJNIDEKfCAjZGVmaW5lIEhBVkVfTElCWiAxCnwgI2RlZmluZSBIQVZFX1NQSU5M T0NLUyAxCnwgI2RlZmluZSBIQVZFX0FUT01JQ1MgMQp8ICNkZWZpbmUgSEFWRV9TU0xfR0VUX0NV UlJFTlRfQ09NUFJFU1NJT04gMQp8ICNkZWZpbmUgSEFWRV9YNTA5X0dFVF9TSUdOQVRVUkVfTklE IDEKfCAjZGVmaW5lIEhBVkVfQ1JZUFRPX0xPQ0sgMQp8ICNkZWZpbmUgSEFWRV9MSUJYTUwyIDEK fCAjZGVmaW5lIEhBVkVfTElCWFNMVCAxCnwgI2RlZmluZSBIQVZFX19CT09MIDEKfCAjZGVmaW5l IEhBVkVfU1REQk9PTF9IIDEKfCAjZGVmaW5lIEhBVkVfR0VUT1BUX0ggMQp8ICNkZWZpbmUgSEFW RV9JRUVFRlBfSCAxCnwgI2RlZmluZSBIQVZFX1VUSU1FX0ggMQp8ICNkZWZpbmUgSEFWRV9XQ0hB Ul9IIDEKfCAjZGVmaW5lIEhBVkVfV0NUWVBFX0ggMQp8ICNkZWZpbmUgSEFWRV9DUlRERUZTX0gg MQp8IC8qIGVuZCBjb25mZGVmcy5oLiAgKi8KfCAjaWZuZGVmIF9fQVBQTEVfQ0NfXwp8IAkgICAg ICAgbm90IGEgdW5pdmVyc2FsIGNhcGFibGUgY29tcGlsZXIKfCAJICAgICAjZW5kaWYKfCAJICAg ICB0eXBlZGVmIGludCBkdW1teTsKfCAKY29uZmlndXJlOjEzMTcyOiB4ODZfNjQtdzY0LW1pbmd3 MzItZ2NjIC1jIC1XYWxsIC1XbWlzc2luZy1wcm90b3R5cGVzIC1XcG9pbnRlci1hcml0aCAtV2Rl Y2xhcmF0aW9uLWFmdGVyLXN0YXRlbWVudCAtV2VuZGlmLWxhYmVscyAtV21pc3NpbmctZm9ybWF0 LWF0dHJpYnV0ZSAtV2Zvcm1hdC1zZWN1cml0eSAtZm5vLXN0cmljdC1hbGlhc2luZyAtZndyYXB2 IC1mZXhjZXNzLXByZWNpc2lvbj1zdGFuZGFyZCAtV25vLWZvcm1hdC10cnVuY2F0aW9uIC1Xbm8t c3RyaW5nb3AtdHJ1bmNhdGlvbiAtZyAtTyAtZm5vLW9taXQtZnJhbWUtcG9pbnRlciAgLUkvdy9S LTMuNS5fL3Bvc3RncmVzL3NyYy9pbmNsdWRlL3BvcnQvd2luMzIgLURFWEVDX0JBQ0tFTkQgIC1J L3cvemxpYi0xLjIuOC13aW4zMi14ODZfNjQvaW5jbHVkZSAtSS93L29wZW5zc2wtMS4wLjJlLXdp bjMyLXg4Nl82NC9pbmNsdWRlIC1JL3cvbGlieG1sMi0yLjkuMy13aW4zMi14ODZfNjQvaW5jbHVk ZS9saWJ4bWwyIC1JL3cvbGlieHNsdC0xLjEuMjgtd2luMzIteDg2XzY0L2luY2x1ZGUgY29uZnRl c3QuYyA+JjUKY29uZmlndXJlOjEzMTcyOiAkPyA9IDAKY29uZmlndXJlOjEzMTkwOiB4ODZfNjQt dzY0LW1pbmd3MzItZ2NjIC1jIC1XYWxsIC1XbWlzc2luZy1wcm90b3R5cGVzIC1XcG9pbnRlci1h cml0aCAtV2RlY2xhcmF0aW9uLWFmdGVyLXN0YXRlbWVudCAtV2VuZGlmLWxhYmVscyAtV21pc3Np bmctZm9ybWF0LWF0dHJpYnV0ZSAtV2Zvcm1hdC1zZWN1cml0eSAtZm5vLXN0cmljdC1hbGlhc2lu ZyAtZndyYXB2IC1mZXhjZXNzLXByZWNpc2lvbj1zdGFuZGFyZCAtV25vLWZvcm1hdC10cnVuY2F0 aW9uIC1Xbm8tc3RyaW5nb3AtdHJ1bmNhdGlvbiAtZyAtTyAtZm5vLW9taXQtZnJhbWUtcG9pbnRl ciAgLUkvdy9SLTMuNS5fL3Bvc3RncmVzL3NyYy9pbmNsdWRlL3BvcnQvd2luMzIgLURFWEVDX0JB Q0tFTkQgIC1JL3cvemxpYi0xLjIuOC13aW4zMi14ODZfNjQvaW5jbHVkZSAtSS93L29wZW5zc2wt MS4wLjJlLXdpbjMyLXg4Nl82NC9pbmNsdWRlIC1JL3cvbGlieG1sMi0yLjkuMy13aW4zMi14ODZf NjQvaW5jbHVkZS9saWJ4bWwyIC1JL3cvbGlieHNsdC0xLjEuMjgtd2luMzIteDg2XzY0L2luY2x1 ZGUgY29uZnRlc3QuYyA+JjUKY29uZnRlc3QuYzogSW4gZnVuY3Rpb24gJ21haW4nOgpjb25mdGVz dC5jOjU3OjQ6IGVycm9yOiB1bmtub3duIHR5cGUgbmFtZSAnbm90JzsgZGlkIHlvdSBtZWFuICdp bm9fdCc/CiAgICBub3QgYmlnIGVuZGlhbgogICAgXn5+CiAgICBpbm9fdApjb25mdGVzdC5jOjU3 OjEyOiBlcnJvcjogZXhwZWN0ZWQgJz0nLCAnLCcsICc7JywgJ2FzbScgb3IgJ19fYXR0cmlidXRl X18nIGJlZm9yZSAnZW5kaWFuJwogICAgbm90IGJpZyBlbmRpYW4KICAgICAgICAgICAgXn5+fn5+ CmNvbmZpZ3VyZToxMzE5MDogJD8gPSAxCmNvbmZpZ3VyZTogZmFpbGVkIHByb2dyYW0gd2FzOgp8 IC8qIGNvbmZkZWZzLmggKi8KfCAjZGVmaW5lIFBBQ0tBR0VfTkFNRSAiUG9zdGdyZVNRTCIKfCAj ZGVmaW5lIFBBQ0tBR0VfVEFSTkFNRSAicG9zdGdyZXNxbCIKfCAjZGVmaW5lIFBBQ0tBR0VfVkVS U0lPTiAiMTFiZXRhMyIKfCAjZGVmaW5lIFBBQ0tBR0VfU1RSSU5HICJQb3N0Z3JlU1FMIDExYmV0 YTMiCnwgI2RlZmluZSBQQUNLQUdFX0JVR1JFUE9SVCAicGdzcWwtYnVnc0Bwb3N0Z3Jlc3FsLm9y ZyIKfCAjZGVmaW5lIFBBQ0tBR0VfVVJMICIiCnwgI2RlZmluZSBQR19NQUpPUlZFUlNJT04gIjEx Igp8ICNkZWZpbmUgUEdfVkVSU0lPTiAiMTFiZXRhMyIKfCAjZGVmaW5lIERFRl9QR1BPUlQgNTQz Mgp8ICNkZWZpbmUgREVGX1BHUE9SVF9TVFIgIjU0MzIiCnwgI2RlZmluZSBCTENLU1ogODE5Mgp8 ICNkZWZpbmUgUkVMU0VHX1NJWkUgMTMxMDcyCnwgI2RlZmluZSBYTE9HX0JMQ0tTWiA4MTkyCnwg I2RlZmluZSBVU0VfQVNTRVJUX0NIRUNLSU5HIDEKfCAjZGVmaW5lIEVOQUJMRV9USFJFQURfU0FG RVRZIDEKfCAjZGVmaW5lIFVTRV9JQ1UgMQp8ICNkZWZpbmUgUEdfS1JCX1NSVk5BTSAicG9zdGdy ZXMiCnwgI2RlZmluZSBVU0VfT1BFTlNTTCAxCnwgI2RlZmluZSBVU0VfTElCWE1MIDEKfCAjZGVm aW5lIFVTRV9MSUJYU0xUIDEKfCAjZGVmaW5lIFNURENfSEVBREVSUyAxCnwgI2RlZmluZSBIQVZF X1NZU19UWVBFU19IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NUQVRfSCAxCnwgI2RlZmluZSBIQVZF X1NURExJQl9IIDEKfCAjZGVmaW5lIEhBVkVfU1RSSU5HX0ggMQp8ICNkZWZpbmUgSEFWRV9NRU1P UllfSCAxCnwgI2RlZmluZSBIQVZFX1NUUklOR1NfSCAxCnwgI2RlZmluZSBIQVZFX0lOVFRZUEVT X0ggMQp8ICNkZWZpbmUgSEFWRV9TVERJTlRfSCAxCnwgI2RlZmluZSBIQVZFX1VOSVNURF9IIDEK fCAjZGVmaW5lIEhBVkVfTElCTSAxCnwgI2RlZmluZSBIQVZFX0xJQlogMQp8ICNkZWZpbmUgSEFW RV9TUElOTE9DS1MgMQp8ICNkZWZpbmUgSEFWRV9BVE9NSUNTIDEKfCAjZGVmaW5lIEhBVkVfU1NM X0dFVF9DVVJSRU5UX0NPTVBSRVNTSU9OIDEKfCAjZGVmaW5lIEhBVkVfWDUwOV9HRVRfU0lHTkFU VVJFX05JRCAxCnwgI2RlZmluZSBIQVZFX0NSWVBUT19MT0NLIDEKfCAjZGVmaW5lIEhBVkVfTElC WE1MMiAxCnwgI2RlZmluZSBIQVZFX0xJQlhTTFQgMQp8ICNkZWZpbmUgSEFWRV9fQk9PTCAxCnwg I2RlZmluZSBIQVZFX1NUREJPT0xfSCAxCnwgI2RlZmluZSBIQVZFX0dFVE9QVF9IIDEKfCAjZGVm aW5lIEhBVkVfSUVFRUZQX0ggMQp8ICNkZWZpbmUgSEFWRV9VVElNRV9IIDEKfCAjZGVmaW5lIEhB VkVfV0NIQVJfSCAxCnwgI2RlZmluZSBIQVZFX1dDVFlQRV9IIDEKfCAjZGVmaW5lIEhBVkVfQ1JU REVGU19IIDEKfCAvKiBlbmQgY29uZmRlZnMuaC4gICovCnwgI2luY2x1ZGUgPHN5cy90eXBlcy5o Pgp8IAkJI2luY2x1ZGUgPHN5cy9wYXJhbS5oPgp8IAp8IGludAp8IG1haW4gKCkKfCB7CnwgI2lm IEJZVEVfT1JERVIgIT0gQklHX0VORElBTgp8IAkJIG5vdCBiaWcgZW5kaWFuCnwgCQkjZW5kaWYK fCAKfCAgIDsKfCAgIHJldHVybiAwOwp8IH0KY29uZmlndXJlOjEzMzE4OiByZXN1bHQ6IG5vCmNv bmZpZ3VyZToxMzMzNjogY2hlY2tpbmcgZm9yIGlubGluZQpjb25maWd1cmU6MTMzNTI6IHg4Nl82 NC13NjQtbWluZ3czMi1nY2MgLWMgLVdhbGwgLVdtaXNzaW5nLXByb3RvdHlwZXMgLVdwb2ludGVy LWFyaXRoIC1XZGVjbGFyYXRpb24tYWZ0ZXItc3RhdGVtZW50IC1XZW5kaWYtbGFiZWxzIC1XbWlz c2luZy1mb3JtYXQtYXR0cmlidXRlIC1XZm9ybWF0LXNlY3VyaXR5IC1mbm8tc3RyaWN0LWFsaWFz aW5nIC1md3JhcHYgLWZleGNlc3MtcHJlY2lzaW9uPXN0YW5kYXJkIC1Xbm8tZm9ybWF0LXRydW5j YXRpb24gLVduby1zdHJpbmdvcC10cnVuY2F0aW9uIC1nIC1PIC1mbm8tb21pdC1mcmFtZS1wb2lu dGVyICAtSS93L1ItMy41Ll8vcG9zdGdyZXMvc3JjL2luY2x1ZGUvcG9ydC93aW4zMiAtREVYRUNf QkFDS0VORCAgLUkvdy96bGliLTEuMi44LXdpbjMyLXg4Nl82NC9pbmNsdWRlIC1JL3cvb3BlbnNz bC0xLjAuMmUtd2luMzIteDg2XzY0L2luY2x1ZGUgLUkvdy9saWJ4bWwyLTIuOS4zLXdpbjMyLXg4 Nl82NC9pbmNsdWRlL2xpYnhtbDIgLUkvdy9saWJ4c2x0LTEuMS4yOC13aW4zMi14ODZfNjQvaW5j bHVkZSBjb25mdGVzdC5jID4mNQpjb25maWd1cmU6MTMzNTI6ICQ/ID0gMApjb25maWd1cmU6MTMz NjA6IHJlc3VsdDogaW5saW5lCmNvbmZpZ3VyZToxMzM3ODogY2hlY2tpbmcgZm9yIHByaW50ZiBm b3JtYXQgYXJjaGV0eXBlCmNvbmZpZ3VyZToxMzM5ODogeDg2XzY0LXc2NC1taW5ndzMyLWdjYyAt YyAtV2FsbCAtV21pc3NpbmctcHJvdG90eXBlcyAtV3BvaW50ZXItYXJpdGggLVdkZWNsYXJhdGlv bi1hZnRlci1zdGF0ZW1lbnQgLVdlbmRpZi1sYWJlbHMgLVdtaXNzaW5nLWZvcm1hdC1hdHRyaWJ1 dGUgLVdmb3JtYXQtc2VjdXJpdHkgLWZuby1zdHJpY3QtYWxpYXNpbmcgLWZ3cmFwdiAtZmV4Y2Vz cy1wcmVjaXNpb249c3RhbmRhcmQgLVduby1mb3JtYXQtdHJ1bmNhdGlvbiAtV25vLXN0cmluZ29w LXRydW5jYXRpb24gLWcgLU8gLWZuby1vbWl0LWZyYW1lLXBvaW50ZXIgIC1JL3cvUi0zLjUuXy9w b3N0Z3Jlcy9zcmMvaW5jbHVkZS9wb3J0L3dpbjMyIC1ERVhFQ19CQUNLRU5EICAtSS93L3psaWIt MS4yLjgtd2luMzIteDg2XzY0L2luY2x1ZGUgLUkvdy9vcGVuc3NsLTEuMC4yZS13aW4zMi14ODZf NjQvaW5jbHVkZSAtSS93L2xpYnhtbDItMi45LjMtd2luMzIteDg2XzY0L2luY2x1ZGUvbGlieG1s MiAtSS93L2xpYnhzbHQtMS4xLjI4LXdpbjMyLXg4Nl82NC9pbmNsdWRlIGNvbmZ0ZXN0LmMgPiY1 CmNvbmZpZ3VyZToxMzM5ODogJD8gPSAwCmNvbmZpZ3VyZToxMzQwNjogcmVzdWx0OiBnbnVfcHJp bnRmCmNvbmZpZ3VyZToxMzQxNTogY2hlY2tpbmcgZm9yIGZsZXhpYmxlIGFycmF5IG1lbWJlcnMK Y29uZmlndXJlOjEzNDM4OiB4ODZfNjQtdzY0LW1pbmd3MzItZ2NjIC1jIC1XYWxsIC1XbWlzc2lu Zy1wcm90b3R5cGVzIC1XcG9pbnRlci1hcml0aCAtV2RlY2xhcmF0aW9uLWFmdGVyLXN0YXRlbWVu dCAtV2VuZGlmLWxhYmVscyAtV21pc3NpbmctZm9ybWF0LWF0dHJpYnV0ZSAtV2Zvcm1hdC1zZWN1 cml0eSAtZm5vLXN0cmljdC1hbGlhc2luZyAtZndyYXB2IC1mZXhjZXNzLXByZWNpc2lvbj1zdGFu ZGFyZCAtV25vLWZvcm1hdC10cnVuY2F0aW9uIC1Xbm8tc3RyaW5nb3AtdHJ1bmNhdGlvbiAtZyAt TyAtZm5vLW9taXQtZnJhbWUtcG9pbnRlciAgLUkvdy9SLTMuNS5fL3Bvc3RncmVzL3NyYy9pbmNs dWRlL3BvcnQvd2luMzIgLURFWEVDX0JBQ0tFTkQgIC1JL3cvemxpYi0xLjIuOC13aW4zMi14ODZf NjQvaW5jbHVkZSAtSS93L29wZW5zc2wtMS4wLjJlLXdpbjMyLXg4Nl82NC9pbmNsdWRlIC1JL3cv bGlieG1sMi0yLjkuMy13aW4zMi14ODZfNjQvaW5jbHVkZS9saWJ4bWwyIC1JL3cvbGlieHNsdC0x LjEuMjgtd2luMzIteDg2XzY0L2luY2x1ZGUgY29uZnRlc3QuYyA+JjUKY29uZmlndXJlOjEzNDM4 OiAkPyA9IDAKY29uZmlndXJlOjEzNDQ1OiByZXN1bHQ6IHllcwpjb25maWd1cmU6MTM0NTY6IGNo ZWNraW5nIGZvciBzaWduZWQgdHlwZXMKY29uZmlndXJlOjEzNDcyOiB4ODZfNjQtdzY0LW1pbmd3 MzItZ2NjIC1jIC1XYWxsIC1XbWlzc2luZy1wcm90b3R5cGVzIC1XcG9pbnRlci1hcml0aCAtV2Rl Y2xhcmF0aW9uLWFmdGVyLXN0YXRlbWVudCAtV2VuZGlmLWxhYmVscyAtV21pc3NpbmctZm9ybWF0 LWF0dHJpYnV0ZSAtV2Zvcm1hdC1zZWN1cml0eSAtZm5vLXN0cmljdC1hbGlhc2luZyAtZndyYXB2 IC1mZXhjZXNzLXByZWNpc2lvbj1zdGFuZGFyZCAtV25vLWZvcm1hdC10cnVuY2F0aW9uIC1Xbm8t c3RyaW5nb3AtdHJ1bmNhdGlvbiAtZyAtTyAtZm5vLW9taXQtZnJhbWUtcG9pbnRlciAgLUkvdy9S LTMuNS5fL3Bvc3RncmVzL3NyYy9pbmNsdWRlL3BvcnQvd2luMzIgLURFWEVDX0JBQ0tFTkQgIC1J L3cvemxpYi0xLjIuOC13aW4zMi14ODZfNjQvaW5jbHVkZSAtSS93L29wZW5zc2wtMS4wLjJlLXdp bjMyLXg4Nl82NC9pbmNsdWRlIC1JL3cvbGlieG1sMi0yLjkuMy13aW4zMi14ODZfNjQvaW5jbHVk ZS9saWJ4bWwyIC1JL3cvbGlieHNsdC0xLjEuMjgtd2luMzIteDg2XzY0L2luY2x1ZGUgY29uZnRl c3QuYyA+JjUKY29uZnRlc3QuYzogSW4gZnVuY3Rpb24gJ21haW4nOgpjb25mdGVzdC5jOjU2OjQz OiB3YXJuaW5nOiB1bnVzZWQgdmFyaWFibGUgJ2knIFstV3VudXNlZC12YXJpYWJsZV0KIHNpZ25l ZCBjaGFyIGM7IHNpZ25lZCBzaG9ydCBzOyBzaWduZWQgaW50IGk7CiAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICBeCmNvbmZ0ZXN0LmM6NTY6Mjk6IHdhcm5pbmc6IHVu dXNlZCB2YXJpYWJsZSAncycgWy1XdW51c2VkLXZhcmlhYmxlXQogc2lnbmVkIGNoYXIgYzsgc2ln bmVkIHNob3J0IHM7IHNpZ25lZCBpbnQgaTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICBe CmNvbmZ0ZXN0LmM6NTY6MTM6IHdhcm5pbmc6IHVudXNlZCB2YXJpYWJsZSAnYycgWy1XdW51c2Vk LXZhcmlhYmxlXQogc2lnbmVkIGNoYXIgYzsgc2lnbmVkIHNob3J0IHM7IHNpZ25lZCBpbnQgaTsK ICAgICAgICAgICAgIF4KY29uZmlndXJlOjEzNDcyOiAkPyA9IDAKY29uZmlndXJlOjEzNDc5OiBy ZXN1bHQ6IHllcwpjb25maWd1cmU6MTM0ODY6IGNoZWNraW5nIGZvciBfX2Z1bmNfXwpjb25maWd1 cmU6MTM1MDI6IHg4Nl82NC13NjQtbWluZ3czMi1nY2MgLWMgLVdhbGwgLVdtaXNzaW5nLXByb3Rv dHlwZXMgLVdwb2ludGVyLWFyaXRoIC1XZGVjbGFyYXRpb24tYWZ0ZXItc3RhdGVtZW50IC1XZW5k aWYtbGFiZWxzIC1XbWlzc2luZy1mb3JtYXQtYXR0cmlidXRlIC1XZm9ybWF0LXNlY3VyaXR5IC1m bm8tc3RyaWN0LWFsaWFzaW5nIC1md3JhcHYgLWZleGNlc3MtcHJlY2lzaW9uPXN0YW5kYXJkIC1X bm8tZm9ybWF0LXRydW5jYXRpb24gLVduby1zdHJpbmdvcC10cnVuY2F0aW9uIC1nIC1PIC1mbm8t b21pdC1mcmFtZS1wb2ludGVyICAtSS93L1ItMy41Ll8vcG9zdGdyZXMvc3JjL2luY2x1ZGUvcG9y dC93aW4zMiAtREVYRUNfQkFDS0VORCAgLUkvdy96bGliLTEuMi44LXdpbjMyLXg4Nl82NC9pbmNs dWRlIC1JL3cvb3BlbnNzbC0xLjAuMmUtd2luMzIteDg2XzY0L2luY2x1ZGUgLUkvdy9saWJ4bWwy LTIuOS4zLXdpbjMyLXg4Nl82NC9pbmNsdWRlL2xpYnhtbDIgLUkvdy9saWJ4c2x0LTEuMS4yOC13 aW4zMi14ODZfNjQvaW5jbHVkZSBjb25mdGVzdC5jID4mNQpjb25maWd1cmU6MTM1MDI6ICQ/ID0g MApjb25maWd1cmU6MTM1MDk6IHJlc3VsdDogeWVzCmNvbmZpZ3VyZToxMzU0NzogY2hlY2tpbmcg Zm9yIF9TdGF0aWNfYXNzZXJ0CmNvbmZpZ3VyZToxMzU2MzogeDg2XzY0LXc2NC1taW5ndzMyLWdj YyAtbyBjb25mdGVzdC5leGUgLVdhbGwgLVdtaXNzaW5nLXByb3RvdHlwZXMgLVdwb2ludGVyLWFy aXRoIC1XZGVjbGFyYXRpb24tYWZ0ZXItc3RhdGVtZW50IC1XZW5kaWYtbGFiZWxzIC1XbWlzc2lu Zy1mb3JtYXQtYXR0cmlidXRlIC1XZm9ybWF0LXNlY3VyaXR5IC1mbm8tc3RyaWN0LWFsaWFzaW5n IC1md3JhcHYgLWZleGNlc3MtcHJlY2lzaW9uPXN0YW5kYXJkIC1Xbm8tZm9ybWF0LXRydW5jYXRp b24gLVduby1zdHJpbmdvcC10cnVuY2F0aW9uIC1nIC1PIC1mbm8tb21pdC1mcmFtZS1wb2ludGVy ICAtSS93L1ItMy41Ll8vcG9zdGdyZXMvc3JjL2luY2x1ZGUvcG9ydC93aW4zMiAtREVYRUNfQkFD S0VORCAgLUkvdy96bGliLTEuMi44LXdpbjMyLXg4Nl82NC9pbmNsdWRlIC1JL3cvb3BlbnNzbC0x LjAuMmUtd2luMzIteDg2XzY0L2luY2x1ZGUgLUkvdy9saWJ4bWwyLTIuOS4zLXdpbjMyLXg4Nl82 NC9pbmNsdWRlL2xpYnhtbDIgLUkvdy9saWJ4c2x0LTEuMS4yOC13aW4zMi14ODZfNjQvaW5jbHVk ZSAgLVdsLC0tYWxsb3ctbXVsdGlwbGUtZGVmaW5pdGlvbiAtV2wsLS1kaXNhYmxlLWF1dG8taW1w b3J0ICAtTC93L3psaWItMS4yLjgtd2luMzIteDg2XzY0L2xpYiAtTC93L29wZW5zc2wtMS4wLjJl LXdpbjMyLXg4Nl82NC9saWIgLUwvdy9saWJ4bWwyLTIuOS4zLXdpbjMyLXg4Nl82NC9saWIgLUwv dy9saWJ4c2x0LTEuMS4yOC13aW4zMi14ODZfNjQvbGliIGNvbmZ0ZXN0LmMgLWx4c2x0IC1seG1s MiAtbHNzbCAtbGNyeXB0byAtbHogLWx3czJfMzIgLWxtICA+JjUKY29uZmlndXJlOjEzNTYzOiAk PyA9IDAKY29uZmlndXJlOjEzNTcxOiByZXN1bHQ6IHllcwpjb25maWd1cmU6MTM1Nzg6IGNoZWNr aW5nIGZvciB0eXBlb2YKY29uZmlndXJlOjEzNTk5OiB4ODZfNjQtdzY0LW1pbmd3MzItZ2NjIC1j IC1XYWxsIC1XbWlzc2luZy1wcm90b3R5cGVzIC1XcG9pbnRlci1hcml0aCAtV2RlY2xhcmF0aW9u LWFmdGVyLXN0YXRlbWVudCAtV2VuZGlmLWxhYmVscyAtV21pc3NpbmctZm9ybWF0LWF0dHJpYnV0 ZSAtV2Zvcm1hdC1zZWN1cml0eSAtZm5vLXN0cmljdC1hbGlhc2luZyAtZndyYXB2IC1mZXhjZXNz LXByZWNpc2lvbj1zdGFuZGFyZCAtV25vLWZvcm1hdC10cnVuY2F0aW9uIC1Xbm8tc3RyaW5nb3At dHJ1bmNhdGlvbiAtZyAtTyAtZm5vLW9taXQtZnJhbWUtcG9pbnRlciAgLUkvdy9SLTMuNS5fL3Bv c3RncmVzL3NyYy9pbmNsdWRlL3BvcnQvd2luMzIgLURFWEVDX0JBQ0tFTkQgIC1JL3cvemxpYi0x LjIuOC13aW4zMi14ODZfNjQvaW5jbHVkZSAtSS93L29wZW5zc2wtMS4wLjJlLXdpbjMyLXg4Nl82 NC9pbmNsdWRlIC1JL3cvbGlieG1sMi0yLjkuMy13aW4zMi14ODZfNjQvaW5jbHVkZS9saWJ4bWwy IC1JL3cvbGlieHNsdC0xLjEuMjgtd2luMzIteDg2XzY0L2luY2x1ZGUgY29uZnRlc3QuYyA+JjUK Y29uZmlndXJlOjEzNTk5OiAkPyA9IDAKY29uZmlndXJlOjEzNjA2OiByZXN1bHQ6IHR5cGVvZgpj b25maWd1cmU6MTM2MjA6IGNoZWNraW5nIGZvciBfX2J1aWx0aW5fdHlwZXNfY29tcGF0aWJsZV9w CmNvbmZpZ3VyZToxMzYzNjogeDg2XzY0LXc2NC1taW5ndzMyLWdjYyAtYyAtV2FsbCAtV21pc3Np bmctcHJvdG90eXBlcyAtV3BvaW50ZXItYXJpdGggLVdkZWNsYXJhdGlvbi1hZnRlci1zdGF0ZW1l bnQgLVdlbmRpZi1sYWJlbHMgLVdtaXNzaW5nLWZvcm1hdC1hdHRyaWJ1dGUgLVdmb3JtYXQtc2Vj dXJpdHkgLWZuby1zdHJpY3QtYWxpYXNpbmcgLWZ3cmFwdiAtZmV4Y2Vzcy1wcmVjaXNpb249c3Rh bmRhcmQgLVduby1mb3JtYXQtdHJ1bmNhdGlvbiAtV25vLXN0cmluZ29wLXRydW5jYXRpb24gLWcg LU8gLWZuby1vbWl0LWZyYW1lLXBvaW50ZXIgIC1JL3cvUi0zLjUuXy9wb3N0Z3Jlcy9zcmMvaW5j bHVkZS9wb3J0L3dpbjMyIC1ERVhFQ19CQUNLRU5EICAtSS93L3psaWItMS4yLjgtd2luMzIteDg2 XzY0L2luY2x1ZGUgLUkvdy9vcGVuc3NsLTEuMC4yZS13aW4zMi14ODZfNjQvaW5jbHVkZSAtSS93 L2xpYnhtbDItMi45LjMtd2luMzIteDg2XzY0L2luY2x1ZGUvbGlieG1sMiAtSS93L2xpYnhzbHQt MS4xLjI4LXdpbjMyLXg4Nl82NC9pbmNsdWRlIGNvbmZ0ZXN0LmMgPiY1CmNvbmZ0ZXN0LmM6IElu IGZ1bmN0aW9uICdtYWluJzoKY29uZnRlc3QuYzo1OToyMDogd2FybmluZzogdW51c2VkIHZhcmlh YmxlICd5JyBbLVd1bnVzZWQtdmFyaWFibGVdCiAgaW50IHg7IHN0YXRpYyBpbnQgeVtfX2J1aWx0 aW5fdHlwZXNfY29tcGF0aWJsZV9wKF9fdHlwZW9mX18oeCksIGludCldOwogICAgICAgICAgICAg ICAgICAgIF4KQXQgdG9wIGxldmVsOgpjb25mdGVzdC5jOjU5OjIwOiB3YXJuaW5nOiAneScgZGVm aW5lZCBidXQgbm90IHVzZWQgWy1XdW51c2VkLXZhcmlhYmxlXQpjb25maWd1cmU6MTM2MzY6ICQ/ ID0gMApjb25maWd1cmU6MTM2NDM6IHJlc3VsdDogeWVzCmNvbmZpZ3VyZToxMzY1MDogY2hlY2tp bmcgZm9yIF9fYnVpbHRpbl9ic3dhcDE2CmNvbmZpZ3VyZToxMzY2MDogeDg2XzY0LXc2NC1taW5n dzMyLWdjYyAtYyAtV2FsbCAtV21pc3NpbmctcHJvdG90eXBlcyAtV3BvaW50ZXItYXJpdGggLVdk ZWNsYXJhdGlvbi1hZnRlci1zdGF0ZW1lbnQgLVdlbmRpZi1sYWJlbHMgLVdtaXNzaW5nLWZvcm1h dC1hdHRyaWJ1dGUgLVdmb3JtYXQtc2VjdXJpdHkgLWZuby1zdHJpY3QtYWxpYXNpbmcgLWZ3cmFw diAtZmV4Y2Vzcy1wcmVjaXNpb249c3RhbmRhcmQgLVduby1mb3JtYXQtdHJ1bmNhdGlvbiAtV25v LXN0cmluZ29wLXRydW5jYXRpb24gLWcgLU8gLWZuby1vbWl0LWZyYW1lLXBvaW50ZXIgIC1JL3cv Ui0zLjUuXy9wb3N0Z3Jlcy9zcmMvaW5jbHVkZS9wb3J0L3dpbjMyIC1ERVhFQ19CQUNLRU5EICAt SS93L3psaWItMS4yLjgtd2luMzIteDg2XzY0L2luY2x1ZGUgLUkvdy9vcGVuc3NsLTEuMC4yZS13 aW4zMi14ODZfNjQvaW5jbHVkZSAtSS93L2xpYnhtbDItMi45LjMtd2luMzIteDg2XzY0L2luY2x1 ZGUvbGlieG1sMiAtSS93L2xpYnhzbHQtMS4xLjI4LXdpbjMyLXg4Nl82NC9pbmNsdWRlIGNvbmZ0 ZXN0LmMgPiY1CmNvbmZ0ZXN0LmM6NTY6MjY6IHdhcm5pbmc6ICd4JyBkZWZpbmVkIGJ1dCBub3Qg dXNlZCBbLVd1bnVzZWQtdmFyaWFibGVdCiBzdGF0aWMgdW5zaWduZWQgbG9uZyBpbnQgeCA9IF9f YnVpbHRpbl9ic3dhcDE2KDB4YWFiYik7CiAgICAgICAgICAgICAgICAgICAgICAgICAgXgpjb25m aWd1cmU6MTM2NjA6ICQ/ID0gMApjb25maWd1cmU6MTM2Njc6IHJlc3VsdDogeWVzCmNvbmZpZ3Vy ZToxMzY3NDogY2hlY2tpbmcgZm9yIF9fYnVpbHRpbl9ic3dhcDMyCmNvbmZpZ3VyZToxMzY4NDog eDg2XzY0LXc2NC1taW5ndzMyLWdjYyAtYyAtV2FsbCAtV21pc3NpbmctcHJvdG90eXBlcyAtV3Bv aW50ZXItYXJpdGggLVdkZWNsYXJhdGlvbi1hZnRlci1zdGF0ZW1lbnQgLVdlbmRpZi1sYWJlbHMg LVdtaXNzaW5nLWZvcm1hdC1hdHRyaWJ1dGUgLVdmb3JtYXQtc2VjdXJpdHkgLWZuby1zdHJpY3Qt YWxpYXNpbmcgLWZ3cmFwdiAtZmV4Y2Vzcy1wcmVjaXNpb249c3RhbmRhcmQgLVduby1mb3JtYXQt dHJ1bmNhdGlvbiAtV25vLXN0cmluZ29wLXRydW5jYXRpb24gLWcgLU8gLWZuby1vbWl0LWZyYW1l LXBvaW50ZXIgIC1JL3cvUi0zLjUuXy9wb3N0Z3Jlcy9zcmMvaW5jbHVkZS9wb3J0L3dpbjMyIC1E RVhFQ19CQUNLRU5EICAtSS93L3psaWItMS4yLjgtd2luMzIteDg2XzY0L2luY2x1ZGUgLUkvdy9v cGVuc3NsLTEuMC4yZS13aW4zMi14ODZfNjQvaW5jbHVkZSAtSS93L2xpYnhtbDItMi45LjMtd2lu MzIteDg2XzY0L2luY2x1ZGUvbGlieG1sMiAtSS93L2xpYnhzbHQtMS4xLjI4LXdpbjMyLXg4Nl82 NC9pbmNsdWRlIGNvbmZ0ZXN0LmMgPiY1CmNvbmZ0ZXN0LmM6NTc6MjY6IHdhcm5pbmc6ICd4JyBk ZWZpbmVkIGJ1dCBub3QgdXNlZCBbLVd1bnVzZWQtdmFyaWFibGVdCiBzdGF0aWMgdW5zaWduZWQg bG9uZyBpbnQgeCA9IF9fYnVpbHRpbl9ic3dhcDMyKDB4YWFiYmNjZGQpOwogICAgICAgICAgICAg ICAgICAgICAgICAgIF4KY29uZmlndXJlOjEzNjg0OiAkPyA9IDAKY29uZmlndXJlOjEzNjkxOiBy ZXN1bHQ6IHllcwpjb25maWd1cmU6MTM2OTg6IGNoZWNraW5nIGZvciBfX2J1aWx0aW5fYnN3YXA2 NApjb25maWd1cmU6MTM3MDg6IHg4Nl82NC13NjQtbWluZ3czMi1nY2MgLWMgLVdhbGwgLVdtaXNz aW5nLXByb3RvdHlwZXMgLVdwb2ludGVyLWFyaXRoIC1XZGVjbGFyYXRpb24tYWZ0ZXItc3RhdGVt ZW50IC1XZW5kaWYtbGFiZWxzIC1XbWlzc2luZy1mb3JtYXQtYXR0cmlidXRlIC1XZm9ybWF0LXNl Y3VyaXR5IC1mbm8tc3RyaWN0LWFsaWFzaW5nIC1md3JhcHYgLWZleGNlc3MtcHJlY2lzaW9uPXN0 YW5kYXJkIC1Xbm8tZm9ybWF0LXRydW5jYXRpb24gLVduby1zdHJpbmdvcC10cnVuY2F0aW9uIC1n IC1PIC1mbm8tb21pdC1mcmFtZS1wb2ludGVyICAtSS93L1ItMy41Ll8vcG9zdGdyZXMvc3JjL2lu Y2x1ZGUvcG9ydC93aW4zMiAtREVYRUNfQkFDS0VORCAgLUkvdy96bGliLTEuMi44LXdpbjMyLXg4 Nl82NC9pbmNsdWRlIC1JL3cvb3BlbnNzbC0xLjAuMmUtd2luMzIteDg2XzY0L2luY2x1ZGUgLUkv dy9saWJ4bWwyLTIuOS4zLXdpbjMyLXg4Nl82NC9pbmNsdWRlL2xpYnhtbDIgLUkvdy9saWJ4c2x0 LTEuMS4yOC13aW4zMi14ODZfNjQvaW5jbHVkZSBjb25mdGVzdC5jID4mNQpjb25mdGVzdC5jOjU4 OjMwOiB3YXJuaW5nOiBjb252ZXJzaW9uIGZyb20gJ2xvbmcgbG9uZyB1bnNpZ25lZCBpbnQnIHRv ICdsb25nIHVuc2lnbmVkIGludCcgY2hhbmdlcyB2YWx1ZSBmcm9tICcxMjI1MjYwNTAwMDMzMjU2 MzYyJyB0byAnMzcyMTE4MjEyMicgWy1Xb3ZlcmZsb3ddCiBzdGF0aWMgdW5zaWduZWQgbG9uZyBp bnQgeCA9IF9fYnVpbHRpbl9ic3dhcDY0KDB4YWFiYmNjZGRlZWZmMDAxMSk7CiAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIF5+fn5+fn5+fn5+fn5+fn5+CmNvbmZ0ZXN0LmM6NTg6MjY6IHdh cm5pbmc6ICd4JyBkZWZpbmVkIGJ1dCBub3QgdXNlZCBbLVd1bnVzZWQtdmFyaWFibGVdCiBzdGF0 aWMgdW5zaWduZWQgbG9uZyBpbnQgeCA9IF9fYnVpbHRpbl9ic3dhcDY0KDB4YWFiYmNjZGRlZWZm MDAxMSk7CiAgICAgICAgICAgICAgICAgICAgICAgICAgXgpjb25maWd1cmU6MTM3MDg6ICQ/ID0g MApjb25maWd1cmU6MTM3MTU6IHJlc3VsdDogeWVzCmNvbmZpZ3VyZToxMzcyMjogY2hlY2tpbmcg Zm9yIF9fYnVpbHRpbl9jb25zdGFudF9wCmNvbmZpZ3VyZToxMzczNTogeDg2XzY0LXc2NC1taW5n dzMyLWdjYyAtYyAtV2FsbCAtV21pc3NpbmctcHJvdG90eXBlcyAtV3BvaW50ZXItYXJpdGggLVdk ZWNsYXJhdGlvbi1hZnRlci1zdGF0ZW1lbnQgLVdlbmRpZi1sYWJlbHMgLVdtaXNzaW5nLWZvcm1h dC1hdHRyaWJ1dGUgLVdmb3JtYXQtc2VjdXJpdHkgLWZuby1zdHJpY3QtYWxpYXNpbmcgLWZ3cmFw diAtZmV4Y2Vzcy1wcmVjaXNpb249c3RhbmRhcmQgLVduby1mb3JtYXQtdHJ1bmNhdGlvbiAtV25v LXN0cmluZ29wLXRydW5jYXRpb24gLWcgLU8gLWZuby1vbWl0LWZyYW1lLXBvaW50ZXIgIC1JL3cv Ui0zLjUuXy9wb3N0Z3Jlcy9zcmMvaW5jbHVkZS9wb3J0L3dpbjMyIC1ERVhFQ19CQUNLRU5EICAt SS93L3psaWItMS4yLjgtd2luMzIteDg2XzY0L2luY2x1ZGUgLUkvdy9vcGVuc3NsLTEuMC4yZS13 aW4zMi14ODZfNjQvaW5jbHVkZSAtSS93L2xpYnhtbDItMi45LjMtd2luMzIteDg2XzY0L2luY2x1 ZGUvbGlieG1sMiAtSS93L2xpYnhzbHQtMS4xLjI4LXdpbjMyLXg4Nl82NC9pbmNsdWRlIGNvbmZ0 ZXN0LmMgPiY1CmNvbmZ0ZXN0LmM6NjE6MTQ6IHdhcm5pbmc6ICd6JyBkZWZpbmVkIGJ1dCBub3Qg dXNlZCBbLVd1bnVzZWQtdmFyaWFibGVdCiAgIHN0YXRpYyBpbnQgeltfX2J1aWx0aW5fY29uc3Rh bnRfcCgic3RyaW5nIGxpdGVyYWwiKSA/IDEgOiB4XTsKICAgICAgICAgICAgICBeCmNvbmZ0ZXN0 LmM6NjA6MTQ6IHdhcm5pbmc6ICd5JyBkZWZpbmVkIGJ1dCBub3QgdXNlZCBbLVd1bnVzZWQtdmFy aWFibGVdCiAgIHN0YXRpYyBpbnQgeVtfX2J1aWx0aW5fY29uc3RhbnRfcCh4KSA/IHggOiAxXTsK ICAgICAgICAgICAgICBeCmNvbmZpZ3VyZToxMzczNTogJD8gPSAwCmNvbmZpZ3VyZToxMzc0Mjog cmVzdWx0OiB5ZXMKY29uZmlndXJlOjEzNzQ5OiBjaGVja2luZyBmb3IgX19idWlsdGluX3VucmVh Y2hhYmxlCmNvbmZpZ3VyZToxMzc2NTogeDg2XzY0LXc2NC1taW5ndzMyLWdjYyAtbyBjb25mdGVz dC5leGUgLVdhbGwgLVdtaXNzaW5nLXByb3RvdHlwZXMgLVdwb2ludGVyLWFyaXRoIC1XZGVjbGFy YXRpb24tYWZ0ZXItc3RhdGVtZW50IC1XZW5kaWYtbGFiZWxzIC1XbWlzc2luZy1mb3JtYXQtYXR0 cmlidXRlIC1XZm9ybWF0LXNlY3VyaXR5IC1mbm8tc3RyaWN0LWFsaWFzaW5nIC1md3JhcHYgLWZl eGNlc3MtcHJlY2lzaW9uPXN0YW5kYXJkIC1Xbm8tZm9ybWF0LXRydW5jYXRpb24gLVduby1zdHJp bmdvcC10cnVuY2F0aW9uIC1nIC1PIC1mbm8tb21pdC1mcmFtZS1wb2ludGVyICAtSS93L1ItMy41 Ll8vcG9zdGdyZXMvc3JjL2luY2x1ZGUvcG9ydC93aW4zMiAtREVYRUNfQkFDS0VORCAgLUkvdy96 bGliLTEuMi44LXdpbjMyLXg4Nl82NC9pbmNsdWRlIC1JL3cvb3BlbnNzbC0xLjAuMmUtd2luMzIt eDg2XzY0L2luY2x1ZGUgLUkvdy9saWJ4bWwyLTIuOS4zLXdpbjMyLXg4Nl82NC9pbmNsdWRlL2xp YnhtbDIgLUkvdy9saWJ4c2x0LTEuMS4yOC13aW4zMi14ODZfNjQvaW5jbHVkZSAgLVdsLC0tYWxs b3ctbXVsdGlwbGUtZGVmaW5pdGlvbiAtV2wsLS1kaXNhYmxlLWF1dG8taW1wb3J0ICAtTC93L3ps aWItMS4yLjgtd2luMzIteDg2XzY0L2xpYiAtTC93L29wZW5zc2wtMS4wLjJlLXdpbjMyLXg4Nl82 NC9saWIgLUwvdy9saWJ4bWwyLTIuOS4zLXdpbjMyLXg4Nl82NC9saWIgLUwvdy9saWJ4c2x0LTEu MS4yOC13aW4zMi14ODZfNjQvbGliIGNvbmZ0ZXN0LmMgLWx4c2x0IC1seG1sMiAtbHNzbCAtbGNy eXB0byAtbHogLWx3czJfMzIgLWxtICA+JjUKY29uZmlndXJlOjEzNzY1OiAkPyA9IDAKY29uZmln dXJlOjEzNzczOiByZXN1bHQ6IHllcwpjb25maWd1cmU6MTM3ODA6IGNoZWNraW5nIGZvciBjb21w dXRlZCBnb3RvIHN1cHBvcnQKY29uZmlndXJlOjEzODAwOiB4ODZfNjQtdzY0LW1pbmd3MzItZ2Nj IC1jIC1XYWxsIC1XbWlzc2luZy1wcm90b3R5cGVzIC1XcG9pbnRlci1hcml0aCAtV2RlY2xhcmF0 aW9uLWFmdGVyLXN0YXRlbWVudCAtV2VuZGlmLWxhYmVscyAtV21pc3NpbmctZm9ybWF0LWF0dHJp YnV0ZSAtV2Zvcm1hdC1zZWN1cml0eSAtZm5vLXN0cmljdC1hbGlhc2luZyAtZndyYXB2IC1mZXhj ZXNzLXByZWNpc2lvbj1zdGFuZGFyZCAtV25vLWZvcm1hdC10cnVuY2F0aW9uIC1Xbm8tc3RyaW5n b3AtdHJ1bmNhdGlvbiAtZyAtTyAtZm5vLW9taXQtZnJhbWUtcG9pbnRlciAgLUkvdy9SLTMuNS5f L3Bvc3RncmVzL3NyYy9pbmNsdWRlL3BvcnQvd2luMzIgLURFWEVDX0JBQ0tFTkQgIC1JL3cvemxp Yi0xLjIuOC13aW4zMi14ODZfNjQvaW5jbHVkZSAtSS93L29wZW5zc2wtMS4wLjJlLXdpbjMyLXg4 Nl82NC9pbmNsdWRlIC1JL3cvbGlieG1sMi0yLjkuMy13aW4zMi14ODZfNjQvaW5jbHVkZS9saWJ4 bWwyIC1JL3cvbGlieHNsdC0xLjEuMjgtd2luMzIteDg2XzY0L2luY2x1ZGUgY29uZnRlc3QuYyA+ JjUKY29uZmlndXJlOjEzODAwOiAkPyA9IDAKY29uZmlndXJlOjEzODA3OiByZXN1bHQ6IHllcwpj b25maWd1cmU6MTM4MTQ6IGNoZWNraW5nIGZvciBfX1ZBX0FSR1NfXwpjb25maWd1cmU6MTM4MzI6 IHg4Nl82NC13NjQtbWluZ3czMi1nY2MgLWMgLVdhbGwgLVdtaXNzaW5nLXByb3RvdHlwZXMgLVdw b2ludGVyLWFyaXRoIC1XZGVjbGFyYXRpb24tYWZ0ZXItc3RhdGVtZW50IC1XZW5kaWYtbGFiZWxz IC1XbWlzc2luZy1mb3JtYXQtYXR0cmlidXRlIC1XZm9ybWF0LXNlY3VyaXR5IC1mbm8tc3RyaWN0 LWFsaWFzaW5nIC1md3JhcHYgLWZleGNlc3MtcHJlY2lzaW9uPXN0YW5kYXJkIC1Xbm8tZm9ybWF0 LXRydW5jYXRpb24gLVduby1zdHJpbmdvcC10cnVuY2F0aW9uIC1nIC1PIC1mbm8tb21pdC1mcmFt ZS1wb2ludGVyICAtSS93L1ItMy41Ll8vcG9zdGdyZXMvc3JjL2luY2x1ZGUvcG9ydC93aW4zMiAt REVYRUNfQkFDS0VORCAgLUkvdy96bGliLTEuMi44LXdpbjMyLXg4Nl82NC9pbmNsdWRlIC1JL3cv b3BlbnNzbC0xLjAuMmUtd2luMzIteDg2XzY0L2luY2x1ZGUgLUkvdy9saWJ4bWwyLTIuOS4zLXdp bjMyLXg4Nl82NC9pbmNsdWRlL2xpYnhtbDIgLUkvdy9saWJ4c2x0LTEuMS4yOC13aW4zMi14ODZf NjQvaW5jbHVkZSBjb25mdGVzdC5jID4mNQpjb25maWd1cmU6MTM4MzI6ICQ/ID0gMApjb25maWd1 cmU6MTM4Mzk6IHJlc3VsdDogeWVzCmNvbmZpZ3VyZToxMzg0NjogY2hlY2tpbmcgd2hldGhlciBz dHJ1Y3QgdG0gaXMgaW4gc3lzL3RpbWUuaCBvciB0aW1lLmgKY29uZmlndXJlOjEzODY2OiB4ODZf NjQtdzY0LW1pbmd3MzItZ2NjIC1jIC1XYWxsIC1XbWlzc2luZy1wcm90b3R5cGVzIC1XcG9pbnRl ci1hcml0aCAtV2RlY2xhcmF0aW9uLWFmdGVyLXN0YXRlbWVudCAtV2VuZGlmLWxhYmVscyAtV21p c3NpbmctZm9ybWF0LWF0dHJpYnV0ZSAtV2Zvcm1hdC1zZWN1cml0eSAtZm5vLXN0cmljdC1hbGlh c2luZyAtZndyYXB2IC1mZXhjZXNzLXByZWNpc2lvbj1zdGFuZGFyZCAtV25vLWZvcm1hdC10cnVu Y2F0aW9uIC1Xbm8tc3RyaW5nb3AtdHJ1bmNhdGlvbiAtZyAtTyAtZm5vLW9taXQtZnJhbWUtcG9p bnRlciAgLUkvdy9SLTMuNS5fL3Bvc3RncmVzL3NyYy9pbmNsdWRlL3BvcnQvd2luMzIgLURFWEVD X0JBQ0tFTkQgIC1JL3cvemxpYi0xLjIuOC13aW4zMi14ODZfNjQvaW5jbHVkZSAtSS93L29wZW5z c2wtMS4wLjJlLXdpbjMyLXg4Nl82NC9pbmNsdWRlIC1JL3cvbGlieG1sMi0yLjkuMy13aW4zMi14 ODZfNjQvaW5jbHVkZS9saWJ4bWwyIC1JL3cvbGlieHNsdC0xLjEuMjgtd2luMzIteDg2XzY0L2lu Y2x1ZGUgY29uZnRlc3QuYyA+JjUKY29uZmlndXJlOjEzODY2OiAkPyA9IDAKY29uZmlndXJlOjEz ODczOiByZXN1bHQ6IHRpbWUuaApjb25maWd1cmU6MTM4ODE6IGNoZWNraW5nIGZvciBzdHJ1Y3Qg dG0udG1fem9uZQpjb25maWd1cmU6MTM4ODE6IHg4Nl82NC13NjQtbWluZ3czMi1nY2MgLWMgLVdh bGwgLVdtaXNzaW5nLXByb3RvdHlwZXMgLVdwb2ludGVyLWFyaXRoIC1XZGVjbGFyYXRpb24tYWZ0 ZXItc3RhdGVtZW50IC1XZW5kaWYtbGFiZWxzIC1XbWlzc2luZy1mb3JtYXQtYXR0cmlidXRlIC1X Zm9ybWF0LXNlY3VyaXR5IC1mbm8tc3RyaWN0LWFsaWFzaW5nIC1md3JhcHYgLWZleGNlc3MtcHJl Y2lzaW9uPXN0YW5kYXJkIC1Xbm8tZm9ybWF0LXRydW5jYXRpb24gLVduby1zdHJpbmdvcC10cnVu Y2F0aW9uIC1nIC1PIC1mbm8tb21pdC1mcmFtZS1wb2ludGVyICAtSS93L1ItMy41Ll8vcG9zdGdy ZXMvc3JjL2luY2x1ZGUvcG9ydC93aW4zMiAtREVYRUNfQkFDS0VORCAgLUkvdy96bGliLTEuMi44 LXdpbjMyLXg4Nl82NC9pbmNsdWRlIC1JL3cvb3BlbnNzbC0xLjAuMmUtd2luMzIteDg2XzY0L2lu Y2x1ZGUgLUkvdy9saWJ4bWwyLTIuOS4zLXdpbjMyLXg4Nl82NC9pbmNsdWRlL2xpYnhtbDIgLUkv dy9saWJ4c2x0LTEuMS4yOC13aW4zMi14ODZfNjQvaW5jbHVkZSBjb25mdGVzdC5jID4mNQpjb25m dGVzdC5jOiBJbiBmdW5jdGlvbiAnbWFpbic6CmNvbmZ0ZXN0LmM6NzE6MTM6IGVycm9yOiAnc3Ry dWN0IHRtJyBoYXMgbm8gbWVtYmVyIG5hbWVkICd0bV96b25lJzsgZGlkIHlvdSBtZWFuICd0bV9t b24nPwogaWYgKGFjX2FnZ3IudG1fem9uZSkKICAgICAgICAgICAgIF5+fn5+fn4KICAgICAgICAg ICAgIHRtX21vbgpjb25mdGVzdC5jOjcwOjE4OiB3YXJuaW5nOiB2YXJpYWJsZSAnYWNfYWdncicg c2V0IGJ1dCBub3QgdXNlZCBbLVd1bnVzZWQtYnV0LXNldC12YXJpYWJsZV0KIHN0YXRpYyBzdHJ1 Y3QgdG0gYWNfYWdncjsKICAgICAgICAgICAgICAgICAgXn5+fn5+fgpjb25maWd1cmU6MTM4ODE6 ICQ/ID0gMQpjb25maWd1cmU6IGZhaWxlZCBwcm9ncmFtIHdhczoKfCAvKiBjb25mZGVmcy5oICov CnwgI2RlZmluZSBQQUNLQUdFX05BTUUgIlBvc3RncmVTUUwiCnwgI2RlZmluZSBQQUNLQUdFX1RB Uk5BTUUgInBvc3RncmVzcWwiCnwgI2RlZmluZSBQQUNLQUdFX1ZFUlNJT04gIjExYmV0YTMiCnwg I2RlZmluZSBQQUNLQUdFX1NUUklORyAiUG9zdGdyZVNRTCAxMWJldGEzIgp8ICNkZWZpbmUgUEFD S0FHRV9CVUdSRVBPUlQgInBnc3FsLWJ1Z3NAcG9zdGdyZXNxbC5vcmciCnwgI2RlZmluZSBQQUNL QUdFX1VSTCAiIgp8ICNkZWZpbmUgUEdfTUFKT1JWRVJTSU9OICIxMSIKfCAjZGVmaW5lIFBHX1ZF UlNJT04gIjExYmV0YTMiCnwgI2RlZmluZSBERUZfUEdQT1JUIDU0MzIKfCAjZGVmaW5lIERFRl9Q R1BPUlRfU1RSICI1NDMyIgp8ICNkZWZpbmUgQkxDS1NaIDgxOTIKfCAjZGVmaW5lIFJFTFNFR19T SVpFIDEzMTA3Mgp8ICNkZWZpbmUgWExPR19CTENLU1ogODE5Mgp8ICNkZWZpbmUgVVNFX0FTU0VS VF9DSEVDS0lORyAxCnwgI2RlZmluZSBFTkFCTEVfVEhSRUFEX1NBRkVUWSAxCnwgI2RlZmluZSBV U0VfSUNVIDEKfCAjZGVmaW5lIFBHX0tSQl9TUlZOQU0gInBvc3RncmVzIgp8ICNkZWZpbmUgVVNF X09QRU5TU0wgMQp8ICNkZWZpbmUgVVNFX0xJQlhNTCAxCnwgI2RlZmluZSBVU0VfTElCWFNMVCAx CnwgI2RlZmluZSBTVERDX0hFQURFUlMgMQp8ICNkZWZpbmUgSEFWRV9TWVNfVFlQRVNfSCAxCnwg I2RlZmluZSBIQVZFX1NZU19TVEFUX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERMSUJfSCAxCnwgI2Rl ZmluZSBIQVZFX1NUUklOR19IIDEKfCAjZGVmaW5lIEhBVkVfTUVNT1JZX0ggMQp8ICNkZWZpbmUg SEFWRV9TVFJJTkdTX0ggMQp8ICNkZWZpbmUgSEFWRV9JTlRUWVBFU19IIDEKfCAjZGVmaW5lIEhB VkVfU1RESU5UX0ggMQp8ICNkZWZpbmUgSEFWRV9VTklTVERfSCAxCnwgI2RlZmluZSBIQVZFX0xJ Qk0gMQp8ICNkZWZpbmUgSEFWRV9MSUJaIDEKfCAjZGVmaW5lIEhBVkVfU1BJTkxPQ0tTIDEKfCAj ZGVmaW5lIEhBVkVfQVRPTUlDUyAxCnwgI2RlZmluZSBIQVZFX1NTTF9HRVRfQ1VSUkVOVF9DT01Q UkVTU0lPTiAxCnwgI2RlZmluZSBIQVZFX1g1MDlfR0VUX1NJR05BVFVSRV9OSUQgMQp8ICNkZWZp bmUgSEFWRV9DUllQVE9fTE9DSyAxCnwgI2RlZmluZSBIQVZFX0xJQlhNTDIgMQp8ICNkZWZpbmUg SEFWRV9MSUJYU0xUIDEKfCAjZGVmaW5lIEhBVkVfX0JPT0wgMQp8ICNkZWZpbmUgSEFWRV9TVERC T09MX0ggMQp8ICNkZWZpbmUgSEFWRV9HRVRPUFRfSCAxCnwgI2RlZmluZSBIQVZFX0lFRUVGUF9I IDEKfCAjZGVmaW5lIEhBVkVfVVRJTUVfSCAxCnwgI2RlZmluZSBIQVZFX1dDSEFSX0ggMQp8ICNk ZWZpbmUgSEFWRV9XQ1RZUEVfSCAxCnwgI2RlZmluZSBIQVZFX0NSVERFRlNfSCAxCnwgI2RlZmlu ZSBQR19QUklOVEZfQVRUUklCVVRFIGdudV9wcmludGYKfCAjZGVmaW5lIEZMRVhJQkxFX0FSUkFZ X01FTUJFUiAvKiovCnwgI2RlZmluZSBIQVZFX0ZVTkNOQU1FX19GVU5DIDEKfCAjZGVmaW5lIEhB VkVfX1NUQVRJQ19BU1NFUlQgMQp8ICNkZWZpbmUgSEFWRV9UWVBFT0YgMQp8ICNkZWZpbmUgSEFW RV9fQlVJTFRJTl9UWVBFU19DT01QQVRJQkxFX1AgMQp8ICNkZWZpbmUgSEFWRV9fQlVJTFRJTl9C U1dBUDE2IDEKfCAjZGVmaW5lIEhBVkVfX0JVSUxUSU5fQlNXQVAzMiAxCnwgI2RlZmluZSBIQVZF X19CVUlMVElOX0JTV0FQNjQgMQp8ICNkZWZpbmUgSEFWRV9fQlVJTFRJTl9DT05TVEFOVF9QIDEK fCAjZGVmaW5lIEhBVkVfX0JVSUxUSU5fVU5SRUFDSEFCTEUgMQp8ICNkZWZpbmUgSEFWRV9DT01Q VVRFRF9HT1RPIDEKfCAjZGVmaW5lIEhBVkVfX1ZBX0FSR1MgMQp8IC8qIGVuZCBjb25mZGVmcy5o LiAgKi8KfCAjaW5jbHVkZSA8c3lzL3R5cGVzLmg+CnwgI2luY2x1ZGUgPHRpbWUuaD4KfCAKfCAK fCBpbnQKfCBtYWluICgpCnwgewp8IHN0YXRpYyBzdHJ1Y3QgdG0gYWNfYWdncjsKfCBpZiAoYWNf YWdnci50bV96b25lKQp8IHJldHVybiAwOwp8ICAgOwp8ICAgcmV0dXJuIDA7CnwgfQpjb25maWd1 cmU6MTM4ODE6IHg4Nl82NC13NjQtbWluZ3czMi1nY2MgLWMgLVdhbGwgLVdtaXNzaW5nLXByb3Rv dHlwZXMgLVdwb2ludGVyLWFyaXRoIC1XZGVjbGFyYXRpb24tYWZ0ZXItc3RhdGVtZW50IC1XZW5k aWYtbGFiZWxzIC1XbWlzc2luZy1mb3JtYXQtYXR0cmlidXRlIC1XZm9ybWF0LXNlY3VyaXR5IC1m bm8tc3RyaWN0LWFsaWFzaW5nIC1md3JhcHYgLWZleGNlc3MtcHJlY2lzaW9uPXN0YW5kYXJkIC1X bm8tZm9ybWF0LXRydW5jYXRpb24gLVduby1zdHJpbmdvcC10cnVuY2F0aW9uIC1nIC1PIC1mbm8t b21pdC1mcmFtZS1wb2ludGVyICAtSS93L1ItMy41Ll8vcG9zdGdyZXMvc3JjL2luY2x1ZGUvcG9y dC93aW4zMiAtREVYRUNfQkFDS0VORCAgLUkvdy96bGliLTEuMi44LXdpbjMyLXg4Nl82NC9pbmNs dWRlIC1JL3cvb3BlbnNzbC0xLjAuMmUtd2luMzIteDg2XzY0L2luY2x1ZGUgLUkvdy9saWJ4bWwy LTIuOS4zLXdpbjMyLXg4Nl82NC9pbmNsdWRlL2xpYnhtbDIgLUkvdy9saWJ4c2x0LTEuMS4yOC13 aW4zMi14ODZfNjQvaW5jbHVkZSBjb25mdGVzdC5jID4mNQpjb25mdGVzdC5jOiBJbiBmdW5jdGlv biAnbWFpbic6CmNvbmZ0ZXN0LmM6NzE6MjA6IGVycm9yOiAnc3RydWN0IHRtJyBoYXMgbm8gbWVt YmVyIG5hbWVkICd0bV96b25lJzsgZGlkIHlvdSBtZWFuICd0bV9tb24nPwogaWYgKHNpemVvZiBh Y19hZ2dyLnRtX3pvbmUpCiAgICAgICAgICAgICAgICAgICAgXn5+fn5+fgogICAgICAgICAgICAg ICAgICAgIHRtX21vbgpjb25mdGVzdC5jOjcwOjE4OiB3YXJuaW5nOiB2YXJpYWJsZSAnYWNfYWdn cicgc2V0IGJ1dCBub3QgdXNlZCBbLVd1bnVzZWQtYnV0LXNldC12YXJpYWJsZV0KIHN0YXRpYyBz dHJ1Y3QgdG0gYWNfYWdncjsKICAgICAgICAgICAgICAgICAgXn5+fn5+fgpjb25maWd1cmU6MTM4 ODE6ICQ/ID0gMQpjb25maWd1cmU6IGZhaWxlZCBwcm9ncmFtIHdhczoKfCAvKiBjb25mZGVmcy5o ICovCnwgI2RlZmluZSBQQUNLQUdFX05BTUUgIlBvc3RncmVTUUwiCnwgI2RlZmluZSBQQUNLQUdF X1RBUk5BTUUgInBvc3RncmVzcWwiCnwgI2RlZmluZSBQQUNLQUdFX1ZFUlNJT04gIjExYmV0YTMi CnwgI2RlZmluZSBQQUNLQUdFX1NUUklORyAiUG9zdGdyZVNRTCAxMWJldGEzIgp8ICNkZWZpbmUg UEFDS0FHRV9CVUdSRVBPUlQgInBnc3FsLWJ1Z3NAcG9zdGdyZXNxbC5vcmciCnwgI2RlZmluZSBQ QUNLQUdFX1VSTCAiIgp8ICNkZWZpbmUgUEdfTUFKT1JWRVJTSU9OICIxMSIKfCAjZGVmaW5lIFBH X1ZFUlNJT04gIjExYmV0YTMiCnwgI2RlZmluZSBERUZfUEdQT1JUIDU0MzIKfCAjZGVmaW5lIERF Rl9QR1BPUlRfU1RSICI1NDMyIgp8ICNkZWZpbmUgQkxDS1NaIDgxOTIKfCAjZGVmaW5lIFJFTFNF R19TSVpFIDEzMTA3Mgp8ICNkZWZpbmUgWExPR19CTENLU1ogODE5Mgp8ICNkZWZpbmUgVVNFX0FT U0VSVF9DSEVDS0lORyAxCnwgI2RlZmluZSBFTkFCTEVfVEhSRUFEX1NBRkVUWSAxCnwgI2RlZmlu ZSBVU0VfSUNVIDEKfCAjZGVmaW5lIFBHX0tSQl9TUlZOQU0gInBvc3RncmVzIgp8ICNkZWZpbmUg VVNFX09QRU5TU0wgMQp8ICNkZWZpbmUgVVNFX0xJQlhNTCAxCnwgI2RlZmluZSBVU0VfTElCWFNM VCAxCnwgI2RlZmluZSBTVERDX0hFQURFUlMgMQp8ICNkZWZpbmUgSEFWRV9TWVNfVFlQRVNfSCAx CnwgI2RlZmluZSBIQVZFX1NZU19TVEFUX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERMSUJfSCAxCnwg I2RlZmluZSBIQVZFX1NUUklOR19IIDEKfCAjZGVmaW5lIEhBVkVfTUVNT1JZX0ggMQp8ICNkZWZp bmUgSEFWRV9TVFJJTkdTX0ggMQp8ICNkZWZpbmUgSEFWRV9JTlRUWVBFU19IIDEKfCAjZGVmaW5l IEhBVkVfU1RESU5UX0ggMQp8ICNkZWZpbmUgSEFWRV9VTklTVERfSCAxCnwgI2RlZmluZSBIQVZF X0xJQk0gMQp8ICNkZWZpbmUgSEFWRV9MSUJaIDEKfCAjZGVmaW5lIEhBVkVfU1BJTkxPQ0tTIDEK fCAjZGVmaW5lIEhBVkVfQVRPTUlDUyAxCnwgI2RlZmluZSBIQVZFX1NTTF9HRVRfQ1VSUkVOVF9D T01QUkVTU0lPTiAxCnwgI2RlZmluZSBIQVZFX1g1MDlfR0VUX1NJR05BVFVSRV9OSUQgMQp8ICNk ZWZpbmUgSEFWRV9DUllQVE9fTE9DSyAxCnwgI2RlZmluZSBIQVZFX0xJQlhNTDIgMQp8ICNkZWZp bmUgSEFWRV9MSUJYU0xUIDEKfCAjZGVmaW5lIEhBVkVfX0JPT0wgMQp8ICNkZWZpbmUgSEFWRV9T VERCT09MX0ggMQp8ICNkZWZpbmUgSEFWRV9HRVRPUFRfSCAxCnwgI2RlZmluZSBIQVZFX0lFRUVG UF9IIDEKfCAjZGVmaW5lIEhBVkVfVVRJTUVfSCAxCnwgI2RlZmluZSBIQVZFX1dDSEFSX0ggMQp8 ICNkZWZpbmUgSEFWRV9XQ1RZUEVfSCAxCnwgI2RlZmluZSBIQVZFX0NSVERFRlNfSCAxCnwgI2Rl ZmluZSBQR19QUklOVEZfQVRUUklCVVRFIGdudV9wcmludGYKfCAjZGVmaW5lIEZMRVhJQkxFX0FS UkFZX01FTUJFUiAvKiovCnwgI2RlZmluZSBIQVZFX0ZVTkNOQU1FX19GVU5DIDEKfCAjZGVmaW5l IEhBVkVfX1NUQVRJQ19BU1NFUlQgMQp8ICNkZWZpbmUgSEFWRV9UWVBFT0YgMQp8ICNkZWZpbmUg SEFWRV9fQlVJTFRJTl9UWVBFU19DT01QQVRJQkxFX1AgMQp8ICNkZWZpbmUgSEFWRV9fQlVJTFRJ Tl9CU1dBUDE2IDEKfCAjZGVmaW5lIEhBVkVfX0JVSUxUSU5fQlNXQVAzMiAxCnwgI2RlZmluZSBI QVZFX19CVUlMVElOX0JTV0FQNjQgMQp8ICNkZWZpbmUgSEFWRV9fQlVJTFRJTl9DT05TVEFOVF9Q IDEKfCAjZGVmaW5lIEhBVkVfX0JVSUxUSU5fVU5SRUFDSEFCTEUgMQp8ICNkZWZpbmUgSEFWRV9D T01QVVRFRF9HT1RPIDEKfCAjZGVmaW5lIEhBVkVfX1ZBX0FSR1MgMQp8IC8qIGVuZCBjb25mZGVm cy5oLiAgKi8KfCAjaW5jbHVkZSA8c3lzL3R5cGVzLmg+CnwgI2luY2x1ZGUgPHRpbWUuaD4KfCAK fCAKfCBpbnQKfCBtYWluICgpCnwgewp8IHN0YXRpYyBzdHJ1Y3QgdG0gYWNfYWdncjsKfCBpZiAo c2l6ZW9mIGFjX2FnZ3IudG1fem9uZSkKfCByZXR1cm4gMDsKfCAgIDsKfCAgIHJldHVybiAwOwp8 IH0KY29uZmlndXJlOjEzODgxOiByZXN1bHQ6IG5vCmNvbmZpZ3VyZToxMzg5OTogY2hlY2tpbmcg Zm9yIHR6bmFtZQpjb25maWd1cmU6MTM5MjA6IHg4Nl82NC13NjQtbWluZ3czMi1nY2MgLW8gY29u ZnRlc3QuZXhlIC1XYWxsIC1XbWlzc2luZy1wcm90b3R5cGVzIC1XcG9pbnRlci1hcml0aCAtV2Rl Y2xhcmF0aW9uLWFmdGVyLXN0YXRlbWVudCAtV2VuZGlmLWxhYmVscyAtV21pc3NpbmctZm9ybWF0 LWF0dHJpYnV0ZSAtV2Zvcm1hdC1zZWN1cml0eSAtZm5vLXN0cmljdC1hbGlhc2luZyAtZndyYXB2 IC1mZXhjZXNzLXByZWNpc2lvbj1zdGFuZGFyZCAtV25vLWZvcm1hdC10cnVuY2F0aW9uIC1Xbm8t c3RyaW5nb3AtdHJ1bmNhdGlvbiAtZyAtTyAtZm5vLW9taXQtZnJhbWUtcG9pbnRlciAgLUkvdy9S LTMuNS5fL3Bvc3RncmVzL3NyYy9pbmNsdWRlL3BvcnQvd2luMzIgLURFWEVDX0JBQ0tFTkQgIC1J L3cvemxpYi0xLjIuOC13aW4zMi14ODZfNjQvaW5jbHVkZSAtSS93L29wZW5zc2wtMS4wLjJlLXdp bjMyLXg4Nl82NC9pbmNsdWRlIC1JL3cvbGlieG1sMi0yLjkuMy13aW4zMi14ODZfNjQvaW5jbHVk ZS9saWJ4bWwyIC1JL3cvbGlieHNsdC0xLjEuMjgtd2luMzIteDg2XzY0L2luY2x1ZGUgIC1XbCwt LWFsbG93LW11bHRpcGxlLWRlZmluaXRpb24gLVdsLC0tZGlzYWJsZS1hdXRvLWltcG9ydCAgLUwv dy96bGliLTEuMi44LXdpbjMyLXg4Nl82NC9saWIgLUwvdy9vcGVuc3NsLTEuMC4yZS13aW4zMi14 ODZfNjQvbGliIC1ML3cvbGlieG1sMi0yLjkuMy13aW4zMi14ODZfNjQvbGliIC1ML3cvbGlieHNs dC0xLjEuMjgtd2luMzIteDg2XzY0L2xpYiBjb25mdGVzdC5jIC1seHNsdCAtbHhtbDIgLWxzc2wg LWxjcnlwdG8gLWx6IC1sd3MyXzMyIC1sbSAgPiY1CmNvbmZ0ZXN0LmM6NjY6MTQ6IHdhcm5pbmc6 ICd0em5hbWUnIHJlZGVjbGFyZWQgd2l0aG91dCBkbGxpbXBvcnQgYXR0cmlidXRlOiBwcmV2aW91 cyBkbGxpbXBvcnQgaWdub3JlZCBbLVdhdHRyaWJ1dGVzXQogZXh0ZXJuIGNoYXIgKnR6bmFtZVtd OyAvKiBSUzYwMDAgYW5kIG90aGVycyByZWplY3QgY2hhciAqKnR6bmFtZS4gICovCiAgICAgICAg ICAgICAgXn5+fn5+CmNvbmZpZ3VyZToxMzkyMDogJD8gPSAwCmNvbmZpZ3VyZToxMzkyODogcmVz dWx0OiB5ZXMKY29uZmlndXJlOjEzOTM2OiBjaGVja2luZyBmb3IgdW5pb24gc2VtdW4KY29uZmln dXJlOjEzOTM2OiB4ODZfNjQtdzY0LW1pbmd3MzItZ2NjIC1jIC1XYWxsIC1XbWlzc2luZy1wcm90 b3R5cGVzIC1XcG9pbnRlci1hcml0aCAtV2RlY2xhcmF0aW9uLWFmdGVyLXN0YXRlbWVudCAtV2Vu ZGlmLWxhYmVscyAtV21pc3NpbmctZm9ybWF0LWF0dHJpYnV0ZSAtV2Zvcm1hdC1zZWN1cml0eSAt Zm5vLXN0cmljdC1hbGlhc2luZyAtZndyYXB2IC1mZXhjZXNzLXByZWNpc2lvbj1zdGFuZGFyZCAt V25vLWZvcm1hdC10cnVuY2F0aW9uIC1Xbm8tc3RyaW5nb3AtdHJ1bmNhdGlvbiAtZyAtTyAtZm5v LW9taXQtZnJhbWUtcG9pbnRlciAgLUkvdy9SLTMuNS5fL3Bvc3RncmVzL3NyYy9pbmNsdWRlL3Bv cnQvd2luMzIgLURFWEVDX0JBQ0tFTkQgIC1JL3cvemxpYi0xLjIuOC13aW4zMi14ODZfNjQvaW5j bHVkZSAtSS93L29wZW5zc2wtMS4wLjJlLXdpbjMyLXg4Nl82NC9pbmNsdWRlIC1JL3cvbGlieG1s Mi0yLjkuMy13aW4zMi14ODZfNjQvaW5jbHVkZS9saWJ4bWwyIC1JL3cvbGlieHNsdC0xLjEuMjgt d2luMzIteDg2XzY0L2luY2x1ZGUgY29uZnRlc3QuYyA+JjUKY29uZnRlc3QuYzogSW4gZnVuY3Rp b24gJ21haW4nOgpjb25mdGVzdC5jOjc1OjEzOiBlcnJvcjogaW52YWxpZCBhcHBsaWNhdGlvbiBv ZiAnc2l6ZW9mJyB0byBpbmNvbXBsZXRlIHR5cGUgJ3VuaW9uIHNlbXVuJwogaWYgKHNpemVvZiAo dW5pb24gc2VtdW4pKQogICAgICAgICAgICAgXn5+fn4KY29uZmlndXJlOjEzOTM2OiAkPyA9IDEK Y29uZmlndXJlOiBmYWlsZWQgcHJvZ3JhbSB3YXM6CnwgLyogY29uZmRlZnMuaCAqLwp8ICNkZWZp bmUgUEFDS0FHRV9OQU1FICJQb3N0Z3JlU1FMIgp8ICNkZWZpbmUgUEFDS0FHRV9UQVJOQU1FICJw b3N0Z3Jlc3FsIgp8ICNkZWZpbmUgUEFDS0FHRV9WRVJTSU9OICIxMWJldGEzIgp8ICNkZWZpbmUg UEFDS0FHRV9TVFJJTkcgIlBvc3RncmVTUUwgMTFiZXRhMyIKfCAjZGVmaW5lIFBBQ0tBR0VfQlVH UkVQT1JUICJwZ3NxbC1idWdzQHBvc3RncmVzcWwub3JnIgp8ICNkZWZpbmUgUEFDS0FHRV9VUkwg IiIKfCAjZGVmaW5lIFBHX01BSk9SVkVSU0lPTiAiMTEiCnwgI2RlZmluZSBQR19WRVJTSU9OICIx MWJldGEzIgp8ICNkZWZpbmUgREVGX1BHUE9SVCA1NDMyCnwgI2RlZmluZSBERUZfUEdQT1JUX1NU UiAiNTQzMiIKfCAjZGVmaW5lIEJMQ0tTWiA4MTkyCnwgI2RlZmluZSBSRUxTRUdfU0laRSAxMzEw NzIKfCAjZGVmaW5lIFhMT0dfQkxDS1NaIDgxOTIKfCAjZGVmaW5lIFVTRV9BU1NFUlRfQ0hFQ0tJ TkcgMQp8ICNkZWZpbmUgRU5BQkxFX1RIUkVBRF9TQUZFVFkgMQp8ICNkZWZpbmUgVVNFX0lDVSAx CnwgI2RlZmluZSBQR19LUkJfU1JWTkFNICJwb3N0Z3JlcyIKfCAjZGVmaW5lIFVTRV9PUEVOU1NM IDEKfCAjZGVmaW5lIFVTRV9MSUJYTUwgMQp8ICNkZWZpbmUgVVNFX0xJQlhTTFQgMQp8ICNkZWZp bmUgU1REQ19IRUFERVJTIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1RZUEVTX0ggMQp8ICNkZWZpbmUg SEFWRV9TWVNfU1RBVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1RETElCX0ggMQp8ICNkZWZpbmUgSEFW RV9TVFJJTkdfSCAxCnwgI2RlZmluZSBIQVZFX01FTU9SWV9IIDEKfCAjZGVmaW5lIEhBVkVfU1RS SU5HU19IIDEKfCAjZGVmaW5lIEhBVkVfSU5UVFlQRVNfSCAxCnwgI2RlZmluZSBIQVZFX1NURElO VF9IIDEKfCAjZGVmaW5lIEhBVkVfVU5JU1REX0ggMQp8ICNkZWZpbmUgSEFWRV9MSUJNIDEKfCAj ZGVmaW5lIEhBVkVfTElCWiAxCnwgI2RlZmluZSBIQVZFX1NQSU5MT0NLUyAxCnwgI2RlZmluZSBI QVZFX0FUT01JQ1MgMQp8ICNkZWZpbmUgSEFWRV9TU0xfR0VUX0NVUlJFTlRfQ09NUFJFU1NJT04g MQp8ICNkZWZpbmUgSEFWRV9YNTA5X0dFVF9TSUdOQVRVUkVfTklEIDEKfCAjZGVmaW5lIEhBVkVf Q1JZUFRPX0xPQ0sgMQp8ICNkZWZpbmUgSEFWRV9MSUJYTUwyIDEKfCAjZGVmaW5lIEhBVkVfTElC WFNMVCAxCnwgI2RlZmluZSBIQVZFX19CT09MIDEKfCAjZGVmaW5lIEhBVkVfU1REQk9PTF9IIDEK fCAjZGVmaW5lIEhBVkVfR0VUT1BUX0ggMQp8ICNkZWZpbmUgSEFWRV9JRUVFRlBfSCAxCnwgI2Rl ZmluZSBIQVZFX1VUSU1FX0ggMQp8ICNkZWZpbmUgSEFWRV9XQ0hBUl9IIDEKfCAjZGVmaW5lIEhB VkVfV0NUWVBFX0ggMQp8ICNkZWZpbmUgSEFWRV9DUlRERUZTX0ggMQp8ICNkZWZpbmUgUEdfUFJJ TlRGX0FUVFJJQlVURSBnbnVfcHJpbnRmCnwgI2RlZmluZSBGTEVYSUJMRV9BUlJBWV9NRU1CRVIg LyoqLwp8ICNkZWZpbmUgSEFWRV9GVU5DTkFNRV9fRlVOQyAxCnwgI2RlZmluZSBIQVZFX19TVEFU SUNfQVNTRVJUIDEKfCAjZGVmaW5lIEhBVkVfVFlQRU9GIDEKfCAjZGVmaW5lIEhBVkVfX0JVSUxU SU5fVFlQRVNfQ09NUEFUSUJMRV9QIDEKfCAjZGVmaW5lIEhBVkVfX0JVSUxUSU5fQlNXQVAxNiAx CnwgI2RlZmluZSBIQVZFX19CVUlMVElOX0JTV0FQMzIgMQp8ICNkZWZpbmUgSEFWRV9fQlVJTFRJ Tl9CU1dBUDY0IDEKfCAjZGVmaW5lIEhBVkVfX0JVSUxUSU5fQ09OU1RBTlRfUCAxCnwgI2RlZmlu ZSBIQVZFX19CVUlMVElOX1VOUkVBQ0hBQkxFIDEKfCAjZGVmaW5lIEhBVkVfQ09NUFVURURfR09U TyAxCnwgI2RlZmluZSBIQVZFX19WQV9BUkdTIDEKfCAjZGVmaW5lIEhBVkVfVFpOQU1FIDEKfCAv KiBlbmQgY29uZmRlZnMuaC4gICovCnwgI2luY2x1ZGUgPHN5cy90eXBlcy5oPgp8ICNpZmRlZiBI QVZFX1NZU19JUENfSAp8ICNpbmNsdWRlIDxzeXMvaXBjLmg+CnwgI2VuZGlmCnwgI2lmZGVmIEhB VkVfU1lTX1NFTV9ICnwgI2luY2x1ZGUgPHN5cy9zZW0uaD4KfCAjZW5kaWYKfCAKfCBpbnQKfCBt YWluICgpCnwgewp8IGlmIChzaXplb2YgKHVuaW9uIHNlbXVuKSkKfCAJIHJldHVybiAwOwp8ICAg Owp8ICAgcmV0dXJuIDA7CnwgfQpjb25maWd1cmU6MTM5MzY6IHJlc3VsdDogbm8KY29uZmlndXJl OjEzOTUzOiBjaGVja2luZyBmb3Igc3RydWN0IHNvY2thZGRyX3VuCmNvbmZpZ3VyZToxMzk1Mzog eDg2XzY0LXc2NC1taW5ndzMyLWdjYyAtYyAtV2FsbCAtV21pc3NpbmctcHJvdG90eXBlcyAtV3Bv aW50ZXItYXJpdGggLVdkZWNsYXJhdGlvbi1hZnRlci1zdGF0ZW1lbnQgLVdlbmRpZi1sYWJlbHMg LVdtaXNzaW5nLWZvcm1hdC1hdHRyaWJ1dGUgLVdmb3JtYXQtc2VjdXJpdHkgLWZuby1zdHJpY3Qt YWxpYXNpbmcgLWZ3cmFwdiAtZmV4Y2Vzcy1wcmVjaXNpb249c3RhbmRhcmQgLVduby1mb3JtYXQt dHJ1bmNhdGlvbiAtV25vLXN0cmluZ29wLXRydW5jYXRpb24gLWcgLU8gLWZuby1vbWl0LWZyYW1l LXBvaW50ZXIgIC1JL3cvUi0zLjUuXy9wb3N0Z3Jlcy9zcmMvaW5jbHVkZS9wb3J0L3dpbjMyIC1E RVhFQ19CQUNLRU5EICAtSS93L3psaWItMS4yLjgtd2luMzIteDg2XzY0L2luY2x1ZGUgLUkvdy9v cGVuc3NsLTEuMC4yZS13aW4zMi14ODZfNjQvaW5jbHVkZSAtSS93L2xpYnhtbDItMi45LjMtd2lu MzIteDg2XzY0L2luY2x1ZGUvbGlieG1sMiAtSS93L2xpYnhzbHQtMS4xLjI4LXdpbjMyLXg4Nl82 NC9pbmNsdWRlIGNvbmZ0ZXN0LmMgPiY1CmNvbmZ0ZXN0LmM6IEluIGZ1bmN0aW9uICdtYWluJzoK Y29uZnRlc3QuYzo3MzoxMzogZXJyb3I6IGludmFsaWQgYXBwbGljYXRpb24gb2YgJ3NpemVvZicg dG8gaW5jb21wbGV0ZSB0eXBlICdzdHJ1Y3Qgc29ja2FkZHJfdW4nCiBpZiAoc2l6ZW9mIChzdHJ1 Y3Qgc29ja2FkZHJfdW4pKQogICAgICAgICAgICAgXn5+fn5+CmNvbmZpZ3VyZToxMzk1MzogJD8g PSAxCmNvbmZpZ3VyZTogZmFpbGVkIHByb2dyYW0gd2FzOgp8IC8qIGNvbmZkZWZzLmggKi8KfCAj ZGVmaW5lIFBBQ0tBR0VfTkFNRSAiUG9zdGdyZVNRTCIKfCAjZGVmaW5lIFBBQ0tBR0VfVEFSTkFN RSAicG9zdGdyZXNxbCIKfCAjZGVmaW5lIFBBQ0tBR0VfVkVSU0lPTiAiMTFiZXRhMyIKfCAjZGVm aW5lIFBBQ0tBR0VfU1RSSU5HICJQb3N0Z3JlU1FMIDExYmV0YTMiCnwgI2RlZmluZSBQQUNLQUdF X0JVR1JFUE9SVCAicGdzcWwtYnVnc0Bwb3N0Z3Jlc3FsLm9yZyIKfCAjZGVmaW5lIFBBQ0tBR0Vf VVJMICIiCnwgI2RlZmluZSBQR19NQUpPUlZFUlNJT04gIjExIgp8ICNkZWZpbmUgUEdfVkVSU0lP TiAiMTFiZXRhMyIKfCAjZGVmaW5lIERFRl9QR1BPUlQgNTQzMgp8ICNkZWZpbmUgREVGX1BHUE9S VF9TVFIgIjU0MzIiCnwgI2RlZmluZSBCTENLU1ogODE5Mgp8ICNkZWZpbmUgUkVMU0VHX1NJWkUg MTMxMDcyCnwgI2RlZmluZSBYTE9HX0JMQ0tTWiA4MTkyCnwgI2RlZmluZSBVU0VfQVNTRVJUX0NI RUNLSU5HIDEKfCAjZGVmaW5lIEVOQUJMRV9USFJFQURfU0FGRVRZIDEKfCAjZGVmaW5lIFVTRV9J Q1UgMQp8ICNkZWZpbmUgUEdfS1JCX1NSVk5BTSAicG9zdGdyZXMiCnwgI2RlZmluZSBVU0VfT1BF TlNTTCAxCnwgI2RlZmluZSBVU0VfTElCWE1MIDEKfCAjZGVmaW5lIFVTRV9MSUJYU0xUIDEKfCAj ZGVmaW5lIFNURENfSEVBREVSUyAxCnwgI2RlZmluZSBIQVZFX1NZU19UWVBFU19IIDEKfCAjZGVm aW5lIEhBVkVfU1lTX1NUQVRfSCAxCnwgI2RlZmluZSBIQVZFX1NURExJQl9IIDEKfCAjZGVmaW5l IEhBVkVfU1RSSU5HX0ggMQp8ICNkZWZpbmUgSEFWRV9NRU1PUllfSCAxCnwgI2RlZmluZSBIQVZF X1NUUklOR1NfSCAxCnwgI2RlZmluZSBIQVZFX0lOVFRZUEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9T VERJTlRfSCAxCnwgI2RlZmluZSBIQVZFX1VOSVNURF9IIDEKfCAjZGVmaW5lIEhBVkVfTElCTSAx CnwgI2RlZmluZSBIQVZFX0xJQlogMQp8ICNkZWZpbmUgSEFWRV9TUElOTE9DS1MgMQp8ICNkZWZp bmUgSEFWRV9BVE9NSUNTIDEKfCAjZGVmaW5lIEhBVkVfU1NMX0dFVF9DVVJSRU5UX0NPTVBSRVNT SU9OIDEKfCAjZGVmaW5lIEhBVkVfWDUwOV9HRVRfU0lHTkFUVVJFX05JRCAxCnwgI2RlZmluZSBI QVZFX0NSWVBUT19MT0NLIDEKfCAjZGVmaW5lIEhBVkVfTElCWE1MMiAxCnwgI2RlZmluZSBIQVZF X0xJQlhTTFQgMQp8ICNkZWZpbmUgSEFWRV9fQk9PTCAxCnwgI2RlZmluZSBIQVZFX1NUREJPT0xf SCAxCnwgI2RlZmluZSBIQVZFX0dFVE9QVF9IIDEKfCAjZGVmaW5lIEhBVkVfSUVFRUZQX0ggMQp8 ICNkZWZpbmUgSEFWRV9VVElNRV9IIDEKfCAjZGVmaW5lIEhBVkVfV0NIQVJfSCAxCnwgI2RlZmlu ZSBIQVZFX1dDVFlQRV9IIDEKfCAjZGVmaW5lIEhBVkVfQ1JUREVGU19IIDEKfCAjZGVmaW5lIFBH X1BSSU5URl9BVFRSSUJVVEUgZ251X3ByaW50Zgp8ICNkZWZpbmUgRkxFWElCTEVfQVJSQVlfTUVN QkVSIC8qKi8KfCAjZGVmaW5lIEhBVkVfRlVOQ05BTUVfX0ZVTkMgMQp8ICNkZWZpbmUgSEFWRV9f U1RBVElDX0FTU0VSVCAxCnwgI2RlZmluZSBIQVZFX1RZUEVPRiAxCnwgI2RlZmluZSBIQVZFX19C VUlMVElOX1RZUEVTX0NPTVBBVElCTEVfUCAxCnwgI2RlZmluZSBIQVZFX19CVUlMVElOX0JTV0FQ MTYgMQp8ICNkZWZpbmUgSEFWRV9fQlVJTFRJTl9CU1dBUDMyIDEKfCAjZGVmaW5lIEhBVkVfX0JV SUxUSU5fQlNXQVA2NCAxCnwgI2RlZmluZSBIQVZFX19CVUlMVElOX0NPTlNUQU5UX1AgMQp8ICNk ZWZpbmUgSEFWRV9fQlVJTFRJTl9VTlJFQUNIQUJMRSAxCnwgI2RlZmluZSBIQVZFX0NPTVBVVEVE X0dPVE8gMQp8ICNkZWZpbmUgSEFWRV9fVkFfQVJHUyAxCnwgI2RlZmluZSBIQVZFX1RaTkFNRSAx CnwgLyogZW5kIGNvbmZkZWZzLmguICAqLwp8ICNpbmNsdWRlIDxzeXMvdHlwZXMuaD4KfCAjaWZk ZWYgSEFWRV9TWVNfVU5fSAp8ICNpbmNsdWRlIDxzeXMvdW4uaD4KfCAjZW5kaWYKfCAKfCAKfCBp bnQKfCBtYWluICgpCnwgewp8IGlmIChzaXplb2YgKHN0cnVjdCBzb2NrYWRkcl91bikpCnwgCSBy ZXR1cm4gMDsKfCAgIDsKfCAgIHJldHVybiAwOwp8IH0KY29uZmlndXJlOjEzOTUzOiByZXN1bHQ6 IG5vCmNvbmZpZ3VyZToxMzk2NTogY2hlY2tpbmcgZm9yIHN0cnVjdCBzb2NrYWRkcl9zdG9yYWdl CmNvbmZpZ3VyZToxMzk2NTogeDg2XzY0LXc2NC1taW5ndzMyLWdjYyAtYyAtV2FsbCAtV21pc3Np bmctcHJvdG90eXBlcyAtV3BvaW50ZXItYXJpdGggLVdkZWNsYXJhdGlvbi1hZnRlci1zdGF0ZW1l bnQgLVdlbmRpZi1sYWJlbHMgLVdtaXNzaW5nLWZvcm1hdC1hdHRyaWJ1dGUgLVdmb3JtYXQtc2Vj dXJpdHkgLWZuby1zdHJpY3QtYWxpYXNpbmcgLWZ3cmFwdiAtZmV4Y2Vzcy1wcmVjaXNpb249c3Rh bmRhcmQgLVduby1mb3JtYXQtdHJ1bmNhdGlvbiAtV25vLXN0cmluZ29wLXRydW5jYXRpb24gLWcg LU8gLWZuby1vbWl0LWZyYW1lLXBvaW50ZXIgIC1JL3cvUi0zLjUuXy9wb3N0Z3Jlcy9zcmMvaW5j bHVkZS9wb3J0L3dpbjMyIC1ERVhFQ19CQUNLRU5EICAtSS93L3psaWItMS4yLjgtd2luMzIteDg2 XzY0L2luY2x1ZGUgLUkvdy9vcGVuc3NsLTEuMC4yZS13aW4zMi14ODZfNjQvaW5jbHVkZSAtSS93 L2xpYnhtbDItMi45LjMtd2luMzIteDg2XzY0L2luY2x1ZGUvbGlieG1sMiAtSS93L2xpYnhzbHQt MS4xLjI4LXdpbjMyLXg4Nl82NC9pbmNsdWRlIGNvbmZ0ZXN0LmMgPiY1CmNvbmZpZ3VyZToxMzk2 NTogJD8gPSAwCmNvbmZpZ3VyZToxMzk2NTogeDg2XzY0LXc2NC1taW5ndzMyLWdjYyAtYyAtV2Fs bCAtV21pc3NpbmctcHJvdG90eXBlcyAtV3BvaW50ZXItYXJpdGggLVdkZWNsYXJhdGlvbi1hZnRl ci1zdGF0ZW1lbnQgLVdlbmRpZi1sYWJlbHMgLVdtaXNzaW5nLWZvcm1hdC1hdHRyaWJ1dGUgLVdm b3JtYXQtc2VjdXJpdHkgLWZuby1zdHJpY3QtYWxpYXNpbmcgLWZ3cmFwdiAtZmV4Y2Vzcy1wcmVj aXNpb249c3RhbmRhcmQgLVduby1mb3JtYXQtdHJ1bmNhdGlvbiAtV25vLXN0cmluZ29wLXRydW5j YXRpb24gLWcgLU8gLWZuby1vbWl0LWZyYW1lLXBvaW50ZXIgIC1JL3cvUi0zLjUuXy9wb3N0Z3Jl cy9zcmMvaW5jbHVkZS9wb3J0L3dpbjMyIC1ERVhFQ19CQUNLRU5EICAtSS93L3psaWItMS4yLjgt d2luMzIteDg2XzY0L2luY2x1ZGUgLUkvdy9vcGVuc3NsLTEuMC4yZS13aW4zMi14ODZfNjQvaW5j bHVkZSAtSS93L2xpYnhtbDItMi45LjMtd2luMzIteDg2XzY0L2luY2x1ZGUvbGlieG1sMiAtSS93 L2xpYnhzbHQtMS4xLjI4LXdpbjMyLXg4Nl82NC9pbmNsdWRlIGNvbmZ0ZXN0LmMgPiY1CmNvbmZ0 ZXN0LmM6IEluIGZ1bmN0aW9uICdtYWluJzoKY29uZnRlc3QuYzo3MTozODogZXJyb3I6IGV4cGVj dGVkIGV4cHJlc3Npb24gYmVmb3JlICcpJyB0b2tlbgogaWYgKHNpemVvZiAoKHN0cnVjdCBzb2Nr YWRkcl9zdG9yYWdlKSkpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXgpj b25maWd1cmU6MTM5NjU6ICQ/ID0gMQpjb25maWd1cmU6IGZhaWxlZCBwcm9ncmFtIHdhczoKfCAv KiBjb25mZGVmcy5oICovCnwgI2RlZmluZSBQQUNLQUdFX05BTUUgIlBvc3RncmVTUUwiCnwgI2Rl ZmluZSBQQUNLQUdFX1RBUk5BTUUgInBvc3RncmVzcWwiCnwgI2RlZmluZSBQQUNLQUdFX1ZFUlNJ T04gIjExYmV0YTMiCnwgI2RlZmluZSBQQUNLQUdFX1NUUklORyAiUG9zdGdyZVNRTCAxMWJldGEz Igp8ICNkZWZpbmUgUEFDS0FHRV9CVUdSRVBPUlQgInBnc3FsLWJ1Z3NAcG9zdGdyZXNxbC5vcmci CnwgI2RlZmluZSBQQUNLQUdFX1VSTCAiIgp8ICNkZWZpbmUgUEdfTUFKT1JWRVJTSU9OICIxMSIK fCAjZGVmaW5lIFBHX1ZFUlNJT04gIjExYmV0YTMiCnwgI2RlZmluZSBERUZfUEdQT1JUIDU0MzIK fCAjZGVmaW5lIERFRl9QR1BPUlRfU1RSICI1NDMyIgp8ICNkZWZpbmUgQkxDS1NaIDgxOTIKfCAj ZGVmaW5lIFJFTFNFR19TSVpFIDEzMTA3Mgp8ICNkZWZpbmUgWExPR19CTENLU1ogODE5Mgp8ICNk ZWZpbmUgVVNFX0FTU0VSVF9DSEVDS0lORyAxCnwgI2RlZmluZSBFTkFCTEVfVEhSRUFEX1NBRkVU WSAxCnwgI2RlZmluZSBVU0VfSUNVIDEKfCAjZGVmaW5lIFBHX0tSQl9TUlZOQU0gInBvc3RncmVz Igp8ICNkZWZpbmUgVVNFX09QRU5TU0wgMQp8ICNkZWZpbmUgVVNFX0xJQlhNTCAxCnwgI2RlZmlu ZSBVU0VfTElCWFNMVCAxCnwgI2RlZmluZSBTVERDX0hFQURFUlMgMQp8ICNkZWZpbmUgSEFWRV9T WVNfVFlQRVNfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19TVEFUX0ggMQp8ICNkZWZpbmUgSEFWRV9T VERMSUJfSCAxCnwgI2RlZmluZSBIQVZFX1NUUklOR19IIDEKfCAjZGVmaW5lIEhBVkVfTUVNT1JZ X0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJJTkdTX0ggMQp8ICNkZWZpbmUgSEFWRV9JTlRUWVBFU19I IDEKfCAjZGVmaW5lIEhBVkVfU1RESU5UX0ggMQp8ICNkZWZpbmUgSEFWRV9VTklTVERfSCAxCnwg I2RlZmluZSBIQVZFX0xJQk0gMQp8ICNkZWZpbmUgSEFWRV9MSUJaIDEKfCAjZGVmaW5lIEhBVkVf U1BJTkxPQ0tTIDEKfCAjZGVmaW5lIEhBVkVfQVRPTUlDUyAxCnwgI2RlZmluZSBIQVZFX1NTTF9H RVRfQ1VSUkVOVF9DT01QUkVTU0lPTiAxCnwgI2RlZmluZSBIQVZFX1g1MDlfR0VUX1NJR05BVFVS RV9OSUQgMQp8ICNkZWZpbmUgSEFWRV9DUllQVE9fTE9DSyAxCnwgI2RlZmluZSBIQVZFX0xJQlhN TDIgMQp8ICNkZWZpbmUgSEFWRV9MSUJYU0xUIDEKfCAjZGVmaW5lIEhBVkVfX0JPT0wgMQp8ICNk ZWZpbmUgSEFWRV9TVERCT09MX0ggMQp8ICNkZWZpbmUgSEFWRV9HRVRPUFRfSCAxCnwgI2RlZmlu ZSBIQVZFX0lFRUVGUF9IIDEKfCAjZGVmaW5lIEhBVkVfVVRJTUVfSCAxCnwgI2RlZmluZSBIQVZF X1dDSEFSX0ggMQp8ICNkZWZpbmUgSEFWRV9XQ1RZUEVfSCAxCnwgI2RlZmluZSBIQVZFX0NSVERF RlNfSCAxCnwgI2RlZmluZSBQR19QUklOVEZfQVRUUklCVVRFIGdudV9wcmludGYKfCAjZGVmaW5l IEZMRVhJQkxFX0FSUkFZX01FTUJFUiAvKiovCnwgI2RlZmluZSBIQVZFX0ZVTkNOQU1FX19GVU5D IDEKfCAjZGVmaW5lIEhBVkVfX1NUQVRJQ19BU1NFUlQgMQp8ICNkZWZpbmUgSEFWRV9UWVBFT0Yg MQp8ICNkZWZpbmUgSEFWRV9fQlVJTFRJTl9UWVBFU19DT01QQVRJQkxFX1AgMQp8ICNkZWZpbmUg SEFWRV9fQlVJTFRJTl9CU1dBUDE2IDEKfCAjZGVmaW5lIEhBVkVfX0JVSUxUSU5fQlNXQVAzMiAx CnwgI2RlZmluZSBIQVZFX19CVUlMVElOX0JTV0FQNjQgMQp8ICNkZWZpbmUgSEFWRV9fQlVJTFRJ Tl9DT05TVEFOVF9QIDEKfCAjZGVmaW5lIEhBVkVfX0JVSUxUSU5fVU5SRUFDSEFCTEUgMQp8ICNk ZWZpbmUgSEFWRV9DT01QVVRFRF9HT1RPIDEKfCAjZGVmaW5lIEhBVkVfX1ZBX0FSR1MgMQp8ICNk ZWZpbmUgSEFWRV9UWk5BTUUgMQp8IC8qIGVuZCBjb25mZGVmcy5oLiAgKi8KfCAjaW5jbHVkZSA8 c3lzL3R5cGVzLmg+CnwgI2luY2x1ZGUgPHN5cy9zb2NrZXQuaD4KfCAKfCAKfCBpbnQKfCBtYWlu ICgpCnwgewp8IGlmIChzaXplb2YgKChzdHJ1Y3Qgc29ja2FkZHJfc3RvcmFnZSkpKQp8IAkgICAg cmV0dXJuIDA7CnwgICA7CnwgICByZXR1cm4gMDsKfCB9CmNvbmZpZ3VyZToxMzk2NTogcmVzdWx0 OiB5ZXMKY29uZmlndXJlOjEzOTc4OiBjaGVja2luZyBmb3Igc3RydWN0IHNvY2thZGRyX3N0b3Jh Z2Uuc3NfZmFtaWx5CmNvbmZpZ3VyZToxMzk3ODogeDg2XzY0LXc2NC1taW5ndzMyLWdjYyAtYyAt V2FsbCAtV21pc3NpbmctcHJvdG90eXBlcyAtV3BvaW50ZXItYXJpdGggLVdkZWNsYXJhdGlvbi1h ZnRlci1zdGF0ZW1lbnQgLVdlbmRpZi1sYWJlbHMgLVdtaXNzaW5nLWZvcm1hdC1hdHRyaWJ1dGUg LVdmb3JtYXQtc2VjdXJpdHkgLWZuby1zdHJpY3QtYWxpYXNpbmcgLWZ3cmFwdiAtZmV4Y2Vzcy1w cmVjaXNpb249c3RhbmRhcmQgLVduby1mb3JtYXQtdHJ1bmNhdGlvbiAtV25vLXN0cmluZ29wLXRy dW5jYXRpb24gLWcgLU8gLWZuby1vbWl0LWZyYW1lLXBvaW50ZXIgIC1JL3cvUi0zLjUuXy9wb3N0 Z3Jlcy9zcmMvaW5jbHVkZS9wb3J0L3dpbjMyIC1ERVhFQ19CQUNLRU5EICAtSS93L3psaWItMS4y Ljgtd2luMzIteDg2XzY0L2luY2x1ZGUgLUkvdy9vcGVuc3NsLTEuMC4yZS13aW4zMi14ODZfNjQv aW5jbHVkZSAtSS93L2xpYnhtbDItMi45LjMtd2luMzIteDg2XzY0L2luY2x1ZGUvbGlieG1sMiAt SS93L2xpYnhzbHQtMS4xLjI4LXdpbjMyLXg4Nl82NC9pbmNsdWRlIGNvbmZ0ZXN0LmMgPiY1CmNv bmZpZ3VyZToxMzk3ODogJD8gPSAwCmNvbmZpZ3VyZToxMzk3ODogcmVzdWx0OiB5ZXMKY29uZmln dXJlOjEzOTkwOiBjaGVja2luZyBmb3Igc3RydWN0IHNvY2thZGRyX3N0b3JhZ2UuX19zc19mYW1p bHkKY29uZmlndXJlOjEzOTkwOiB4ODZfNjQtdzY0LW1pbmd3MzItZ2NjIC1jIC1XYWxsIC1XbWlz c2luZy1wcm90b3R5cGVzIC1XcG9pbnRlci1hcml0aCAtV2RlY2xhcmF0aW9uLWFmdGVyLXN0YXRl bWVudCAtV2VuZGlmLWxhYmVscyAtV21pc3NpbmctZm9ybWF0LWF0dHJpYnV0ZSAtV2Zvcm1hdC1z ZWN1cml0eSAtZm5vLXN0cmljdC1hbGlhc2luZyAtZndyYXB2IC1mZXhjZXNzLXByZWNpc2lvbj1z dGFuZGFyZCAtV25vLWZvcm1hdC10cnVuY2F0aW9uIC1Xbm8tc3RyaW5nb3AtdHJ1bmNhdGlvbiAt ZyAtTyAtZm5vLW9taXQtZnJhbWUtcG9pbnRlciAgLUkvdy9SLTMuNS5fL3Bvc3RncmVzL3NyYy9p bmNsdWRlL3BvcnQvd2luMzIgLURFWEVDX0JBQ0tFTkQgIC1JL3cvemxpYi0xLjIuOC13aW4zMi14 ODZfNjQvaW5jbHVkZSAtSS93L29wZW5zc2wtMS4wLjJlLXdpbjMyLXg4Nl82NC9pbmNsdWRlIC1J L3cvbGlieG1sMi0yLjkuMy13aW4zMi14ODZfNjQvaW5jbHVkZS9saWJ4bWwyIC1JL3cvbGlieHNs dC0xLjEuMjgtd2luMzIteDg2XzY0L2luY2x1ZGUgY29uZnRlc3QuYyA+JjUKY29uZnRlc3QuYzog SW4gZnVuY3Rpb24gJ21haW4nOgpjb25mdGVzdC5jOjc0OjEzOiBlcnJvcjogJ3N0cnVjdCBzb2Nr YWRkcl9zdG9yYWdlJyBoYXMgbm8gbWVtYmVyIG5hbWVkICdfX3NzX2ZhbWlseSc7IGRpZCB5b3Ug bWVhbiAnc3NfZmFtaWx5Jz8KIGlmIChhY19hZ2dyLl9fc3NfZmFtaWx5KQogICAgICAgICAgICAg Xn5+fn5+fn5+fn4KICAgICAgICAgICAgIHNzX2ZhbWlseQpjb25mdGVzdC5jOjczOjMyOiB3YXJu aW5nOiB2YXJpYWJsZSAnYWNfYWdncicgc2V0IGJ1dCBub3QgdXNlZCBbLVd1bnVzZWQtYnV0LXNl dC12YXJpYWJsZV0KIHN0YXRpYyBzdHJ1Y3Qgc29ja2FkZHJfc3RvcmFnZSBhY19hZ2dyOwogICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIF5+fn5+fn4KY29uZmlndXJlOjEzOTkwOiAkPyA9 IDEKY29uZmlndXJlOiBmYWlsZWQgcHJvZ3JhbSB3YXM6CnwgLyogY29uZmRlZnMuaCAqLwp8ICNk ZWZpbmUgUEFDS0FHRV9OQU1FICJQb3N0Z3JlU1FMIgp8ICNkZWZpbmUgUEFDS0FHRV9UQVJOQU1F ICJwb3N0Z3Jlc3FsIgp8ICNkZWZpbmUgUEFDS0FHRV9WRVJTSU9OICIxMWJldGEzIgp8ICNkZWZp bmUgUEFDS0FHRV9TVFJJTkcgIlBvc3RncmVTUUwgMTFiZXRhMyIKfCAjZGVmaW5lIFBBQ0tBR0Vf QlVHUkVQT1JUICJwZ3NxbC1idWdzQHBvc3RncmVzcWwub3JnIgp8ICNkZWZpbmUgUEFDS0FHRV9V UkwgIiIKfCAjZGVmaW5lIFBHX01BSk9SVkVSU0lPTiAiMTEiCnwgI2RlZmluZSBQR19WRVJTSU9O ICIxMWJldGEzIgp8ICNkZWZpbmUgREVGX1BHUE9SVCA1NDMyCnwgI2RlZmluZSBERUZfUEdQT1JU X1NUUiAiNTQzMiIKfCAjZGVmaW5lIEJMQ0tTWiA4MTkyCnwgI2RlZmluZSBSRUxTRUdfU0laRSAx MzEwNzIKfCAjZGVmaW5lIFhMT0dfQkxDS1NaIDgxOTIKfCAjZGVmaW5lIFVTRV9BU1NFUlRfQ0hF Q0tJTkcgMQp8ICNkZWZpbmUgRU5BQkxFX1RIUkVBRF9TQUZFVFkgMQp8ICNkZWZpbmUgVVNFX0lD VSAxCnwgI2RlZmluZSBQR19LUkJfU1JWTkFNICJwb3N0Z3JlcyIKfCAjZGVmaW5lIFVTRV9PUEVO U1NMIDEKfCAjZGVmaW5lIFVTRV9MSUJYTUwgMQp8ICNkZWZpbmUgVVNFX0xJQlhTTFQgMQp8ICNk ZWZpbmUgU1REQ19IRUFERVJTIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1RZUEVTX0ggMQp8ICNkZWZp bmUgSEFWRV9TWVNfU1RBVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1RETElCX0ggMQp8ICNkZWZpbmUg SEFWRV9TVFJJTkdfSCAxCnwgI2RlZmluZSBIQVZFX01FTU9SWV9IIDEKfCAjZGVmaW5lIEhBVkVf U1RSSU5HU19IIDEKfCAjZGVmaW5lIEhBVkVfSU5UVFlQRVNfSCAxCnwgI2RlZmluZSBIQVZFX1NU RElOVF9IIDEKfCAjZGVmaW5lIEhBVkVfVU5JU1REX0ggMQp8ICNkZWZpbmUgSEFWRV9MSUJNIDEK fCAjZGVmaW5lIEhBVkVfTElCWiAxCnwgI2RlZmluZSBIQVZFX1NQSU5MT0NLUyAxCnwgI2RlZmlu ZSBIQVZFX0FUT01JQ1MgMQp8ICNkZWZpbmUgSEFWRV9TU0xfR0VUX0NVUlJFTlRfQ09NUFJFU1NJ T04gMQp8ICNkZWZpbmUgSEFWRV9YNTA5X0dFVF9TSUdOQVRVUkVfTklEIDEKfCAjZGVmaW5lIEhB VkVfQ1JZUFRPX0xPQ0sgMQp8ICNkZWZpbmUgSEFWRV9MSUJYTUwyIDEKfCAjZGVmaW5lIEhBVkVf TElCWFNMVCAxCnwgI2RlZmluZSBIQVZFX19CT09MIDEKfCAjZGVmaW5lIEhBVkVfU1REQk9PTF9I IDEKfCAjZGVmaW5lIEhBVkVfR0VUT1BUX0ggMQp8ICNkZWZpbmUgSEFWRV9JRUVFRlBfSCAxCnwg I2RlZmluZSBIQVZFX1VUSU1FX0ggMQp8ICNkZWZpbmUgSEFWRV9XQ0hBUl9IIDEKfCAjZGVmaW5l IEhBVkVfV0NUWVBFX0ggMQp8ICNkZWZpbmUgSEFWRV9DUlRERUZTX0ggMQp8ICNkZWZpbmUgUEdf UFJJTlRGX0FUVFJJQlVURSBnbnVfcHJpbnRmCnwgI2RlZmluZSBGTEVYSUJMRV9BUlJBWV9NRU1C RVIgLyoqLwp8ICNkZWZpbmUgSEFWRV9GVU5DTkFNRV9fRlVOQyAxCnwgI2RlZmluZSBIQVZFX19T VEFUSUNfQVNTRVJUIDEKfCAjZGVmaW5lIEhBVkVfVFlQRU9GIDEKfCAjZGVmaW5lIEhBVkVfX0JV SUxUSU5fVFlQRVNfQ09NUEFUSUJMRV9QIDEKfCAjZGVmaW5lIEhBVkVfX0JVSUxUSU5fQlNXQVAx NiAxCnwgI2RlZmluZSBIQVZFX19CVUlMVElOX0JTV0FQMzIgMQp8ICNkZWZpbmUgSEFWRV9fQlVJ TFRJTl9CU1dBUDY0IDEKfCAjZGVmaW5lIEhBVkVfX0JVSUxUSU5fQ09OU1RBTlRfUCAxCnwgI2Rl ZmluZSBIQVZFX19CVUlMVElOX1VOUkVBQ0hBQkxFIDEKfCAjZGVmaW5lIEhBVkVfQ09NUFVURURf R09UTyAxCnwgI2RlZmluZSBIQVZFX19WQV9BUkdTIDEKfCAjZGVmaW5lIEhBVkVfVFpOQU1FIDEK fCAjZGVmaW5lIEhBVkVfU1RSVUNUX1NPQ0tBRERSX1NUT1JBR0UgMQp8ICNkZWZpbmUgSEFWRV9T VFJVQ1RfU09DS0FERFJfU1RPUkFHRV9TU19GQU1JTFkgMQp8IC8qIGVuZCBjb25mZGVmcy5oLiAg Ki8KfCAjaW5jbHVkZSA8c3lzL3R5cGVzLmg+CnwgI2luY2x1ZGUgPHN5cy9zb2NrZXQuaD4KfCAK fCAKfCBpbnQKfCBtYWluICgpCnwgewp8IHN0YXRpYyBzdHJ1Y3Qgc29ja2FkZHJfc3RvcmFnZSBh Y19hZ2dyOwp8IGlmIChhY19hZ2dyLl9fc3NfZmFtaWx5KQp8IHJldHVybiAwOwp8ICAgOwp8ICAg cmV0dXJuIDA7CnwgfQpjb25maWd1cmU6MTM5OTA6IHg4Nl82NC13NjQtbWluZ3czMi1nY2MgLWMg LVdhbGwgLVdtaXNzaW5nLXByb3RvdHlwZXMgLVdwb2ludGVyLWFyaXRoIC1XZGVjbGFyYXRpb24t YWZ0ZXItc3RhdGVtZW50IC1XZW5kaWYtbGFiZWxzIC1XbWlzc2luZy1mb3JtYXQtYXR0cmlidXRl IC1XZm9ybWF0LXNlY3VyaXR5IC1mbm8tc3RyaWN0LWFsaWFzaW5nIC1md3JhcHYgLWZleGNlc3Mt cHJlY2lzaW9uPXN0YW5kYXJkIC1Xbm8tZm9ybWF0LXRydW5jYXRpb24gLVduby1zdHJpbmdvcC10 cnVuY2F0aW9uIC1nIC1PIC1mbm8tb21pdC1mcmFtZS1wb2ludGVyICAtSS93L1ItMy41Ll8vcG9z dGdyZXMvc3JjL2luY2x1ZGUvcG9ydC93aW4zMiAtREVYRUNfQkFDS0VORCAgLUkvdy96bGliLTEu Mi44LXdpbjMyLXg4Nl82NC9pbmNsdWRlIC1JL3cvb3BlbnNzbC0xLjAuMmUtd2luMzIteDg2XzY0 L2luY2x1ZGUgLUkvdy9saWJ4bWwyLTIuOS4zLXdpbjMyLXg4Nl82NC9pbmNsdWRlL2xpYnhtbDIg LUkvdy9saWJ4c2x0LTEuMS4yOC13aW4zMi14ODZfNjQvaW5jbHVkZSBjb25mdGVzdC5jID4mNQpj b25mdGVzdC5jOiBJbiBmdW5jdGlvbiAnbWFpbic6CmNvbmZ0ZXN0LmM6NzQ6MjA6IGVycm9yOiAn c3RydWN0IHNvY2thZGRyX3N0b3JhZ2UnIGhhcyBubyBtZW1iZXIgbmFtZWQgJ19fc3NfZmFtaWx5 JzsgZGlkIHlvdSBtZWFuICdzc19mYW1pbHknPwogaWYgKHNpemVvZiBhY19hZ2dyLl9fc3NfZmFt aWx5KQogICAgICAgICAgICAgICAgICAgIF5+fn5+fn5+fn5+CiAgICAgICAgICAgICAgICAgICAg c3NfZmFtaWx5CmNvbmZ0ZXN0LmM6NzM6MzI6IHdhcm5pbmc6IHZhcmlhYmxlICdhY19hZ2dyJyBz ZXQgYnV0IG5vdCB1c2VkIFstV3VudXNlZC1idXQtc2V0LXZhcmlhYmxlXQogc3RhdGljIHN0cnVj dCBzb2NrYWRkcl9zdG9yYWdlIGFjX2FnZ3I7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgXn5+fn5+fgpjb25maWd1cmU6MTM5OTA6ICQ/ID0gMQpjb25maWd1cmU6IGZhaWxlZCBwcm9n cmFtIHdhczoKfCAvKiBjb25mZGVmcy5oICovCnwgI2RlZmluZSBQQUNLQUdFX05BTUUgIlBvc3Rn cmVTUUwiCnwgI2RlZmluZSBQQUNLQUdFX1RBUk5BTUUgInBvc3RncmVzcWwiCnwgI2RlZmluZSBQ QUNLQUdFX1ZFUlNJT04gIjExYmV0YTMiCnwgI2RlZmluZSBQQUNLQUdFX1NUUklORyAiUG9zdGdy ZVNRTCAxMWJldGEzIgp8ICNkZWZpbmUgUEFDS0FHRV9CVUdSRVBPUlQgInBnc3FsLWJ1Z3NAcG9z dGdyZXNxbC5vcmciCnwgI2RlZmluZSBQQUNLQUdFX1VSTCAiIgp8ICNkZWZpbmUgUEdfTUFKT1JW RVJTSU9OICIxMSIKfCAjZGVmaW5lIFBHX1ZFUlNJT04gIjExYmV0YTMiCnwgI2RlZmluZSBERUZf UEdQT1JUIDU0MzIKfCAjZGVmaW5lIERFRl9QR1BPUlRfU1RSICI1NDMyIgp8ICNkZWZpbmUgQkxD S1NaIDgxOTIKfCAjZGVmaW5lIFJFTFNFR19TSVpFIDEzMTA3Mgp8ICNkZWZpbmUgWExPR19CTENL U1ogODE5Mgp8ICNkZWZpbmUgVVNFX0FTU0VSVF9DSEVDS0lORyAxCnwgI2RlZmluZSBFTkFCTEVf VEhSRUFEX1NBRkVUWSAxCnwgI2RlZmluZSBVU0VfSUNVIDEKfCAjZGVmaW5lIFBHX0tSQl9TUlZO QU0gInBvc3RncmVzIgp8ICNkZWZpbmUgVVNFX09QRU5TU0wgMQp8ICNkZWZpbmUgVVNFX0xJQlhN TCAxCnwgI2RlZmluZSBVU0VfTElCWFNMVCAxCnwgI2RlZmluZSBTVERDX0hFQURFUlMgMQp8ICNk ZWZpbmUgSEFWRV9TWVNfVFlQRVNfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19TVEFUX0ggMQp8ICNk ZWZpbmUgSEFWRV9TVERMSUJfSCAxCnwgI2RlZmluZSBIQVZFX1NUUklOR19IIDEKfCAjZGVmaW5l IEhBVkVfTUVNT1JZX0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJJTkdTX0ggMQp8ICNkZWZpbmUgSEFW RV9JTlRUWVBFU19IIDEKfCAjZGVmaW5lIEhBVkVfU1RESU5UX0ggMQp8ICNkZWZpbmUgSEFWRV9V TklTVERfSCAxCnwgI2RlZmluZSBIQVZFX0xJQk0gMQp8ICNkZWZpbmUgSEFWRV9MSUJaIDEKfCAj ZGVmaW5lIEhBVkVfU1BJTkxPQ0tTIDEKfCAjZGVmaW5lIEhBVkVfQVRPTUlDUyAxCnwgI2RlZmlu ZSBIQVZFX1NTTF9HRVRfQ1VSUkVOVF9DT01QUkVTU0lPTiAxCnwgI2RlZmluZSBIQVZFX1g1MDlf R0VUX1NJR05BVFVSRV9OSUQgMQp8ICNkZWZpbmUgSEFWRV9DUllQVE9fTE9DSyAxCnwgI2RlZmlu ZSBIQVZFX0xJQlhNTDIgMQp8ICNkZWZpbmUgSEFWRV9MSUJYU0xUIDEKfCAjZGVmaW5lIEhBVkVf X0JPT0wgMQp8ICNkZWZpbmUgSEFWRV9TVERCT09MX0ggMQp8ICNkZWZpbmUgSEFWRV9HRVRPUFRf SCAxCnwgI2RlZmluZSBIQVZFX0lFRUVGUF9IIDEKfCAjZGVmaW5lIEhBVkVfVVRJTUVfSCAxCnwg I2RlZmluZSBIQVZFX1dDSEFSX0ggMQp8ICNkZWZpbmUgSEFWRV9XQ1RZUEVfSCAxCnwgI2RlZmlu ZSBIQVZFX0NSVERFRlNfSCAxCnwgI2RlZmluZSBQR19QUklOVEZfQVRUUklCVVRFIGdudV9wcmlu dGYKfCAjZGVmaW5lIEZMRVhJQkxFX0FSUkFZX01FTUJFUiAvKiovCnwgI2RlZmluZSBIQVZFX0ZV TkNOQU1FX19GVU5DIDEKfCAjZGVmaW5lIEhBVkVfX1NUQVRJQ19BU1NFUlQgMQp8ICNkZWZpbmUg SEFWRV9UWVBFT0YgMQp8ICNkZWZpbmUgSEFWRV9fQlVJTFRJTl9UWVBFU19DT01QQVRJQkxFX1Ag MQp8ICNkZWZpbmUgSEFWRV9fQlVJTFRJTl9CU1dBUDE2IDEKfCAjZGVmaW5lIEhBVkVfX0JVSUxU SU5fQlNXQVAzMiAxCnwgI2RlZmluZSBIQVZFX19CVUlMVElOX0JTV0FQNjQgMQp8ICNkZWZpbmUg SEFWRV9fQlVJTFRJTl9DT05TVEFOVF9QIDEKfCAjZGVmaW5lIEhBVkVfX0JVSUxUSU5fVU5SRUFD SEFCTEUgMQp8ICNkZWZpbmUgSEFWRV9DT01QVVRFRF9HT1RPIDEKfCAjZGVmaW5lIEhBVkVfX1ZB X0FSR1MgMQp8ICNkZWZpbmUgSEFWRV9UWk5BTUUgMQp8ICNkZWZpbmUgSEFWRV9TVFJVQ1RfU09D S0FERFJfU1RPUkFHRSAxCnwgI2RlZmluZSBIQVZFX1NUUlVDVF9TT0NLQUREUl9TVE9SQUdFX1NT X0ZBTUlMWSAxCnwgLyogZW5kIGNvbmZkZWZzLmguICAqLwp8ICNpbmNsdWRlIDxzeXMvdHlwZXMu aD4KfCAjaW5jbHVkZSA8c3lzL3NvY2tldC5oPgp8IAp8IAp8IGludAp8IG1haW4gKCkKfCB7Cnwg c3RhdGljIHN0cnVjdCBzb2NrYWRkcl9zdG9yYWdlIGFjX2FnZ3I7CnwgaWYgKHNpemVvZiBhY19h Z2dyLl9fc3NfZmFtaWx5KQp8IHJldHVybiAwOwp8ICAgOwp8ICAgcmV0dXJuIDA7CnwgfQpjb25m aWd1cmU6MTM5OTA6IHJlc3VsdDogbm8KY29uZmlndXJlOjE0MDAyOiBjaGVja2luZyBmb3Igc3Ry dWN0IHNvY2thZGRyX3N0b3JhZ2Uuc3NfbGVuCmNvbmZpZ3VyZToxNDAwMjogeDg2XzY0LXc2NC1t aW5ndzMyLWdjYyAtYyAtV2FsbCAtV21pc3NpbmctcHJvdG90eXBlcyAtV3BvaW50ZXItYXJpdGgg LVdkZWNsYXJhdGlvbi1hZnRlci1zdGF0ZW1lbnQgLVdlbmRpZi1sYWJlbHMgLVdtaXNzaW5nLWZv cm1hdC1hdHRyaWJ1dGUgLVdmb3JtYXQtc2VjdXJpdHkgLWZuby1zdHJpY3QtYWxpYXNpbmcgLWZ3 cmFwdiAtZmV4Y2Vzcy1wcmVjaXNpb249c3RhbmRhcmQgLVduby1mb3JtYXQtdHJ1bmNhdGlvbiAt V25vLXN0cmluZ29wLXRydW5jYXRpb24gLWcgLU8gLWZuby1vbWl0LWZyYW1lLXBvaW50ZXIgIC1J L3cvUi0zLjUuXy9wb3N0Z3Jlcy9zcmMvaW5jbHVkZS9wb3J0L3dpbjMyIC1ERVhFQ19CQUNLRU5E ICAtSS93L3psaWItMS4yLjgtd2luMzIteDg2XzY0L2luY2x1ZGUgLUkvdy9vcGVuc3NsLTEuMC4y ZS13aW4zMi14ODZfNjQvaW5jbHVkZSAtSS93L2xpYnhtbDItMi45LjMtd2luMzIteDg2XzY0L2lu Y2x1ZGUvbGlieG1sMiAtSS93L2xpYnhzbHQtMS4xLjI4LXdpbjMyLXg4Nl82NC9pbmNsdWRlIGNv bmZ0ZXN0LmMgPiY1CmNvbmZ0ZXN0LmM6IEluIGZ1bmN0aW9uICdtYWluJzoKY29uZnRlc3QuYzo3 NDoxMzogZXJyb3I6ICdzdHJ1Y3Qgc29ja2FkZHJfc3RvcmFnZScgaGFzIG5vIG1lbWJlciBuYW1l ZCAnc3NfbGVuJzsgZGlkIHlvdSBtZWFuICdfX3NzX2FsaWduJz8KIGlmIChhY19hZ2dyLnNzX2xl bikKICAgICAgICAgICAgIF5+fn5+fgogICAgICAgICAgICAgX19zc19hbGlnbgpjb25mdGVzdC5j OjczOjMyOiB3YXJuaW5nOiB2YXJpYWJsZSAnYWNfYWdncicgc2V0IGJ1dCBub3QgdXNlZCBbLVd1 bnVzZWQtYnV0LXNldC12YXJpYWJsZV0KIHN0YXRpYyBzdHJ1Y3Qgc29ja2FkZHJfc3RvcmFnZSBh Y19hZ2dyOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF5+fn5+fn4KY29uZmlndXJl OjE0MDAyOiAkPyA9IDEKY29uZmlndXJlOiBmYWlsZWQgcHJvZ3JhbSB3YXM6CnwgLyogY29uZmRl ZnMuaCAqLwp8ICNkZWZpbmUgUEFDS0FHRV9OQU1FICJQb3N0Z3JlU1FMIgp8ICNkZWZpbmUgUEFD S0FHRV9UQVJOQU1FICJwb3N0Z3Jlc3FsIgp8ICNkZWZpbmUgUEFDS0FHRV9WRVJTSU9OICIxMWJl dGEzIgp8ICNkZWZpbmUgUEFDS0FHRV9TVFJJTkcgIlBvc3RncmVTUUwgMTFiZXRhMyIKfCAjZGVm aW5lIFBBQ0tBR0VfQlVHUkVQT1JUICJwZ3NxbC1idWdzQHBvc3RncmVzcWwub3JnIgp8ICNkZWZp bmUgUEFDS0FHRV9VUkwgIiIKfCAjZGVmaW5lIFBHX01BSk9SVkVSU0lPTiAiMTEiCnwgI2RlZmlu ZSBQR19WRVJTSU9OICIxMWJldGEzIgp8ICNkZWZpbmUgREVGX1BHUE9SVCA1NDMyCnwgI2RlZmlu ZSBERUZfUEdQT1JUX1NUUiAiNTQzMiIKfCAjZGVmaW5lIEJMQ0tTWiA4MTkyCnwgI2RlZmluZSBS RUxTRUdfU0laRSAxMzEwNzIKfCAjZGVmaW5lIFhMT0dfQkxDS1NaIDgxOTIKfCAjZGVmaW5lIFVT RV9BU1NFUlRfQ0hFQ0tJTkcgMQp8ICNkZWZpbmUgRU5BQkxFX1RIUkVBRF9TQUZFVFkgMQp8ICNk ZWZpbmUgVVNFX0lDVSAxCnwgI2RlZmluZSBQR19LUkJfU1JWTkFNICJwb3N0Z3JlcyIKfCAjZGVm aW5lIFVTRV9PUEVOU1NMIDEKfCAjZGVmaW5lIFVTRV9MSUJYTUwgMQp8ICNkZWZpbmUgVVNFX0xJ QlhTTFQgMQp8ICNkZWZpbmUgU1REQ19IRUFERVJTIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1RZUEVT X0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfU1RBVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1RETElCX0gg MQp8ICNkZWZpbmUgSEFWRV9TVFJJTkdfSCAxCnwgI2RlZmluZSBIQVZFX01FTU9SWV9IIDEKfCAj ZGVmaW5lIEhBVkVfU1RSSU5HU19IIDEKfCAjZGVmaW5lIEhBVkVfSU5UVFlQRVNfSCAxCnwgI2Rl ZmluZSBIQVZFX1NURElOVF9IIDEKfCAjZGVmaW5lIEhBVkVfVU5JU1REX0ggMQp8ICNkZWZpbmUg SEFWRV9MSUJNIDEKfCAjZGVmaW5lIEhBVkVfTElCWiAxCnwgI2RlZmluZSBIQVZFX1NQSU5MT0NL UyAxCnwgI2RlZmluZSBIQVZFX0FUT01JQ1MgMQp8ICNkZWZpbmUgSEFWRV9TU0xfR0VUX0NVUlJF TlRfQ09NUFJFU1NJT04gMQp8ICNkZWZpbmUgSEFWRV9YNTA5X0dFVF9TSUdOQVRVUkVfTklEIDEK fCAjZGVmaW5lIEhBVkVfQ1JZUFRPX0xPQ0sgMQp8ICNkZWZpbmUgSEFWRV9MSUJYTUwyIDEKfCAj ZGVmaW5lIEhBVkVfTElCWFNMVCAxCnwgI2RlZmluZSBIQVZFX19CT09MIDEKfCAjZGVmaW5lIEhB VkVfU1REQk9PTF9IIDEKfCAjZGVmaW5lIEhBVkVfR0VUT1BUX0ggMQp8ICNkZWZpbmUgSEFWRV9J RUVFRlBfSCAxCnwgI2RlZmluZSBIQVZFX1VUSU1FX0ggMQp8ICNkZWZpbmUgSEFWRV9XQ0hBUl9I IDEKfCAjZGVmaW5lIEhBVkVfV0NUWVBFX0ggMQp8ICNkZWZpbmUgSEFWRV9DUlRERUZTX0ggMQp8 ICNkZWZpbmUgUEdfUFJJTlRGX0FUVFJJQlVURSBnbnVfcHJpbnRmCnwgI2RlZmluZSBGTEVYSUJM RV9BUlJBWV9NRU1CRVIgLyoqLwp8ICNkZWZpbmUgSEFWRV9GVU5DTkFNRV9fRlVOQyAxCnwgI2Rl ZmluZSBIQVZFX19TVEFUSUNfQVNTRVJUIDEKfCAjZGVmaW5lIEhBVkVfVFlQRU9GIDEKfCAjZGVm aW5lIEhBVkVfX0JVSUxUSU5fVFlQRVNfQ09NUEFUSUJMRV9QIDEKfCAjZGVmaW5lIEhBVkVfX0JV SUxUSU5fQlNXQVAxNiAxCnwgI2RlZmluZSBIQVZFX19CVUlMVElOX0JTV0FQMzIgMQp8ICNkZWZp bmUgSEFWRV9fQlVJTFRJTl9CU1dBUDY0IDEKfCAjZGVmaW5lIEhBVkVfX0JVSUxUSU5fQ09OU1RB TlRfUCAxCnwgI2RlZmluZSBIQVZFX19CVUlMVElOX1VOUkVBQ0hBQkxFIDEKfCAjZGVmaW5lIEhB VkVfQ09NUFVURURfR09UTyAxCnwgI2RlZmluZSBIQVZFX19WQV9BUkdTIDEKfCAjZGVmaW5lIEhB VkVfVFpOQU1FIDEKfCAjZGVmaW5lIEhBVkVfU1RSVUNUX1NPQ0tBRERSX1NUT1JBR0UgMQp8ICNk ZWZpbmUgSEFWRV9TVFJVQ1RfU09DS0FERFJfU1RPUkFHRV9TU19GQU1JTFkgMQp8IC8qIGVuZCBj b25mZGVmcy5oLiAgKi8KfCAjaW5jbHVkZSA8c3lzL3R5cGVzLmg+CnwgI2luY2x1ZGUgPHN5cy9z b2NrZXQuaD4KfCAKfCAKfCBpbnQKfCBtYWluICgpCnwgewp8IHN0YXRpYyBzdHJ1Y3Qgc29ja2Fk ZHJfc3RvcmFnZSBhY19hZ2dyOwp8IGlmIChhY19hZ2dyLnNzX2xlbikKfCByZXR1cm4gMDsKfCAg IDsKfCAgIHJldHVybiAwOwp8IH0KY29uZmlndXJlOjE0MDAyOiB4ODZfNjQtdzY0LW1pbmd3MzIt Z2NjIC1jIC1XYWxsIC1XbWlzc2luZy1wcm90b3R5cGVzIC1XcG9pbnRlci1hcml0aCAtV2RlY2xh cmF0aW9uLWFmdGVyLXN0YXRlbWVudCAtV2VuZGlmLWxhYmVscyAtV21pc3NpbmctZm9ybWF0LWF0 dHJpYnV0ZSAtV2Zvcm1hdC1zZWN1cml0eSAtZm5vLXN0cmljdC1hbGlhc2luZyAtZndyYXB2IC1m ZXhjZXNzLXByZWNpc2lvbj1zdGFuZGFyZCAtV25vLWZvcm1hdC10cnVuY2F0aW9uIC1Xbm8tc3Ry aW5nb3AtdHJ1bmNhdGlvbiAtZyAtTyAtZm5vLW9taXQtZnJhbWUtcG9pbnRlciAgLUkvdy9SLTMu NS5fL3Bvc3RncmVzL3NyYy9pbmNsdWRlL3BvcnQvd2luMzIgLURFWEVDX0JBQ0tFTkQgIC1JL3cv emxpYi0xLjIuOC13aW4zMi14ODZfNjQvaW5jbHVkZSAtSS93L29wZW5zc2wtMS4wLjJlLXdpbjMy LXg4Nl82NC9pbmNsdWRlIC1JL3cvbGlieG1sMi0yLjkuMy13aW4zMi14ODZfNjQvaW5jbHVkZS9s aWJ4bWwyIC1JL3cvbGlieHNsdC0xLjEuMjgtd2luMzIteDg2XzY0L2luY2x1ZGUgY29uZnRlc3Qu YyA+JjUKY29uZnRlc3QuYzogSW4gZnVuY3Rpb24gJ21haW4nOgpjb25mdGVzdC5jOjc0OjIwOiBl cnJvcjogJ3N0cnVjdCBzb2NrYWRkcl9zdG9yYWdlJyBoYXMgbm8gbWVtYmVyIG5hbWVkICdzc19s ZW4nOyBkaWQgeW91IG1lYW4gJ19fc3NfYWxpZ24nPwogaWYgKHNpemVvZiBhY19hZ2dyLnNzX2xl bikKICAgICAgICAgICAgICAgICAgICBefn5+fn4KICAgICAgICAgICAgICAgICAgICBfX3NzX2Fs aWduCmNvbmZ0ZXN0LmM6NzM6MzI6IHdhcm5pbmc6IHZhcmlhYmxlICdhY19hZ2dyJyBzZXQgYnV0 IG5vdCB1c2VkIFstV3VudXNlZC1idXQtc2V0LXZhcmlhYmxlXQogc3RhdGljIHN0cnVjdCBzb2Nr YWRkcl9zdG9yYWdlIGFjX2FnZ3I7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXn5+ fn5+fgpjb25maWd1cmU6MTQwMDI6ICQ/ID0gMQpjb25maWd1cmU6IGZhaWxlZCBwcm9ncmFtIHdh czoKfCAvKiBjb25mZGVmcy5oICovCnwgI2RlZmluZSBQQUNLQUdFX05BTUUgIlBvc3RncmVTUUwi CnwgI2RlZmluZSBQQUNLQUdFX1RBUk5BTUUgInBvc3RncmVzcWwiCnwgI2RlZmluZSBQQUNLQUdF X1ZFUlNJT04gIjExYmV0YTMiCnwgI2RlZmluZSBQQUNLQUdFX1NUUklORyAiUG9zdGdyZVNRTCAx MWJldGEzIgp8ICNkZWZpbmUgUEFDS0FHRV9CVUdSRVBPUlQgInBnc3FsLWJ1Z3NAcG9zdGdyZXNx bC5vcmciCnwgI2RlZmluZSBQQUNLQUdFX1VSTCAiIgp8ICNkZWZpbmUgUEdfTUFKT1JWRVJTSU9O ICIxMSIKfCAjZGVmaW5lIFBHX1ZFUlNJT04gIjExYmV0YTMiCnwgI2RlZmluZSBERUZfUEdQT1JU IDU0MzIKfCAjZGVmaW5lIERFRl9QR1BPUlRfU1RSICI1NDMyIgp8ICNkZWZpbmUgQkxDS1NaIDgx OTIKfCAjZGVmaW5lIFJFTFNFR19TSVpFIDEzMTA3Mgp8ICNkZWZpbmUgWExPR19CTENLU1ogODE5 Mgp8ICNkZWZpbmUgVVNFX0FTU0VSVF9DSEVDS0lORyAxCnwgI2RlZmluZSBFTkFCTEVfVEhSRUFE X1NBRkVUWSAxCnwgI2RlZmluZSBVU0VfSUNVIDEKfCAjZGVmaW5lIFBHX0tSQl9TUlZOQU0gInBv c3RncmVzIgp8ICNkZWZpbmUgVVNFX09QRU5TU0wgMQp8ICNkZWZpbmUgVVNFX0xJQlhNTCAxCnwg I2RlZmluZSBVU0VfTElCWFNMVCAxCnwgI2RlZmluZSBTVERDX0hFQURFUlMgMQp8ICNkZWZpbmUg SEFWRV9TWVNfVFlQRVNfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19TVEFUX0ggMQp8ICNkZWZpbmUg SEFWRV9TVERMSUJfSCAxCnwgI2RlZmluZSBIQVZFX1NUUklOR19IIDEKfCAjZGVmaW5lIEhBVkVf TUVNT1JZX0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJJTkdTX0ggMQp8ICNkZWZpbmUgSEFWRV9JTlRU WVBFU19IIDEKfCAjZGVmaW5lIEhBVkVfU1RESU5UX0ggMQp8ICNkZWZpbmUgSEFWRV9VTklTVERf SCAxCnwgI2RlZmluZSBIQVZFX0xJQk0gMQp8ICNkZWZpbmUgSEFWRV9MSUJaIDEKfCAjZGVmaW5l IEhBVkVfU1BJTkxPQ0tTIDEKfCAjZGVmaW5lIEhBVkVfQVRPTUlDUyAxCnwgI2RlZmluZSBIQVZF X1NTTF9HRVRfQ1VSUkVOVF9DT01QUkVTU0lPTiAxCnwgI2RlZmluZSBIQVZFX1g1MDlfR0VUX1NJ R05BVFVSRV9OSUQgMQp8ICNkZWZpbmUgSEFWRV9DUllQVE9fTE9DSyAxCnwgI2RlZmluZSBIQVZF X0xJQlhNTDIgMQp8ICNkZWZpbmUgSEFWRV9MSUJYU0xUIDEKfCAjZGVmaW5lIEhBVkVfX0JPT0wg MQp8ICNkZWZpbmUgSEFWRV9TVERCT09MX0ggMQp8ICNkZWZpbmUgSEFWRV9HRVRPUFRfSCAxCnwg I2RlZmluZSBIQVZFX0lFRUVGUF9IIDEKfCAjZGVmaW5lIEhBVkVfVVRJTUVfSCAxCnwgI2RlZmlu ZSBIQVZFX1dDSEFSX0ggMQp8ICNkZWZpbmUgSEFWRV9XQ1RZUEVfSCAxCnwgI2RlZmluZSBIQVZF X0NSVERFRlNfSCAxCnwgI2RlZmluZSBQR19QUklOVEZfQVRUUklCVVRFIGdudV9wcmludGYKfCAj ZGVmaW5lIEZMRVhJQkxFX0FSUkFZX01FTUJFUiAvKiovCnwgI2RlZmluZSBIQVZFX0ZVTkNOQU1F X19GVU5DIDEKfCAjZGVmaW5lIEhBVkVfX1NUQVRJQ19BU1NFUlQgMQp8ICNkZWZpbmUgSEFWRV9U WVBFT0YgMQp8ICNkZWZpbmUgSEFWRV9fQlVJTFRJTl9UWVBFU19DT01QQVRJQkxFX1AgMQp8ICNk ZWZpbmUgSEFWRV9fQlVJTFRJTl9CU1dBUDE2IDEKfCAjZGVmaW5lIEhBVkVfX0JVSUxUSU5fQlNX QVAzMiAxCnwgI2RlZmluZSBIQVZFX19CVUlMVElOX0JTV0FQNjQgMQp8ICNkZWZpbmUgSEFWRV9f QlVJTFRJTl9DT05TVEFOVF9QIDEKfCAjZGVmaW5lIEhBVkVfX0JVSUxUSU5fVU5SRUFDSEFCTEUg MQp8ICNkZWZpbmUgSEFWRV9DT01QVVRFRF9HT1RPIDEKfCAjZGVmaW5lIEhBVkVfX1ZBX0FSR1Mg MQp8ICNkZWZpbmUgSEFWRV9UWk5BTUUgMQp8ICNkZWZpbmUgSEFWRV9TVFJVQ1RfU09DS0FERFJf U1RPUkFHRSAxCnwgI2RlZmluZSBIQVZFX1NUUlVDVF9TT0NLQUREUl9TVE9SQUdFX1NTX0ZBTUlM WSAxCnwgLyogZW5kIGNvbmZkZWZzLmguICAqLwp8ICNpbmNsdWRlIDxzeXMvdHlwZXMuaD4KfCAj aW5jbHVkZSA8c3lzL3NvY2tldC5oPgp8IAp8IAp8IGludAp8IG1haW4gKCkKfCB7Cnwgc3RhdGlj IHN0cnVjdCBzb2NrYWRkcl9zdG9yYWdlIGFjX2FnZ3I7CnwgaWYgKHNpemVvZiBhY19hZ2dyLnNz X2xlbikKfCByZXR1cm4gMDsKfCAgIDsKfCAgIHJldHVybiAwOwp8IH0KY29uZmlndXJlOjE0MDAy OiByZXN1bHQ6IG5vCmNvbmZpZ3VyZToxNDAxNDogY2hlY2tpbmcgZm9yIHN0cnVjdCBzb2NrYWRk cl9zdG9yYWdlLl9fc3NfbGVuCmNvbmZpZ3VyZToxNDAxNDogeDg2XzY0LXc2NC1taW5ndzMyLWdj YyAtYyAtV2FsbCAtV21pc3NpbmctcHJvdG90eXBlcyAtV3BvaW50ZXItYXJpdGggLVdkZWNsYXJh dGlvbi1hZnRlci1zdGF0ZW1lbnQgLVdlbmRpZi1sYWJlbHMgLVdtaXNzaW5nLWZvcm1hdC1hdHRy aWJ1dGUgLVdmb3JtYXQtc2VjdXJpdHkgLWZuby1zdHJpY3QtYWxpYXNpbmcgLWZ3cmFwdiAtZmV4 Y2Vzcy1wcmVjaXNpb249c3RhbmRhcmQgLVduby1mb3JtYXQtdHJ1bmNhdGlvbiAtV25vLXN0cmlu Z29wLXRydW5jYXRpb24gLWcgLU8gLWZuby1vbWl0LWZyYW1lLXBvaW50ZXIgIC1JL3cvUi0zLjUu Xy9wb3N0Z3Jlcy9zcmMvaW5jbHVkZS9wb3J0L3dpbjMyIC1ERVhFQ19CQUNLRU5EICAtSS93L3ps aWItMS4yLjgtd2luMzIteDg2XzY0L2luY2x1ZGUgLUkvdy9vcGVuc3NsLTEuMC4yZS13aW4zMi14 ODZfNjQvaW5jbHVkZSAtSS93L2xpYnhtbDItMi45LjMtd2luMzIteDg2XzY0L2luY2x1ZGUvbGli eG1sMiAtSS93L2xpYnhzbHQtMS4xLjI4LXdpbjMyLXg4Nl82NC9pbmNsdWRlIGNvbmZ0ZXN0LmMg PiY1CmNvbmZ0ZXN0LmM6IEluIGZ1bmN0aW9uICdtYWluJzoKY29uZnRlc3QuYzo3NDoxMzogZXJy b3I6ICdzdHJ1Y3Qgc29ja2FkZHJfc3RvcmFnZScgaGFzIG5vIG1lbWJlciBuYW1lZCAnX19zc19s ZW4nOyBkaWQgeW91IG1lYW4gJ19fc3NfYWxpZ24nPwogaWYgKGFjX2FnZ3IuX19zc19sZW4pCiAg ICAgICAgICAgICBefn5+fn5+fgogICAgICAgICAgICAgX19zc19hbGlnbgpjb25mdGVzdC5jOjcz OjMyOiB3YXJuaW5nOiB2YXJpYWJsZSAnYWNfYWdncicgc2V0IGJ1dCBub3QgdXNlZCBbLVd1bnVz ZWQtYnV0LXNldC12YXJpYWJsZV0KIHN0YXRpYyBzdHJ1Y3Qgc29ja2FkZHJfc3RvcmFnZSBhY19h Z2dyOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF5+fn5+fn4KY29uZmlndXJlOjE0 MDE0OiAkPyA9IDEKY29uZmlndXJlOiBmYWlsZWQgcHJvZ3JhbSB3YXM6CnwgLyogY29uZmRlZnMu aCAqLwp8ICNkZWZpbmUgUEFDS0FHRV9OQU1FICJQb3N0Z3JlU1FMIgp8ICNkZWZpbmUgUEFDS0FH RV9UQVJOQU1FICJwb3N0Z3Jlc3FsIgp8ICNkZWZpbmUgUEFDS0FHRV9WRVJTSU9OICIxMWJldGEz Igp8ICNkZWZpbmUgUEFDS0FHRV9TVFJJTkcgIlBvc3RncmVTUUwgMTFiZXRhMyIKfCAjZGVmaW5l IFBBQ0tBR0VfQlVHUkVQT1JUICJwZ3NxbC1idWdzQHBvc3RncmVzcWwub3JnIgp8ICNkZWZpbmUg UEFDS0FHRV9VUkwgIiIKfCAjZGVmaW5lIFBHX01BSk9SVkVSU0lPTiAiMTEiCnwgI2RlZmluZSBQ R19WRVJTSU9OICIxMWJldGEzIgp8ICNkZWZpbmUgREVGX1BHUE9SVCA1NDMyCnwgI2RlZmluZSBE RUZfUEdQT1JUX1NUUiAiNTQzMiIKfCAjZGVmaW5lIEJMQ0tTWiA4MTkyCnwgI2RlZmluZSBSRUxT RUdfU0laRSAxMzEwNzIKfCAjZGVmaW5lIFhMT0dfQkxDS1NaIDgxOTIKfCAjZGVmaW5lIFVTRV9B U1NFUlRfQ0hFQ0tJTkcgMQp8ICNkZWZpbmUgRU5BQkxFX1RIUkVBRF9TQUZFVFkgMQp8ICNkZWZp bmUgVVNFX0lDVSAxCnwgI2RlZmluZSBQR19LUkJfU1JWTkFNICJwb3N0Z3JlcyIKfCAjZGVmaW5l IFVTRV9PUEVOU1NMIDEKfCAjZGVmaW5lIFVTRV9MSUJYTUwgMQp8ICNkZWZpbmUgVVNFX0xJQlhT TFQgMQp8ICNkZWZpbmUgU1REQ19IRUFERVJTIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1RZUEVTX0gg MQp8ICNkZWZpbmUgSEFWRV9TWVNfU1RBVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1RETElCX0ggMQp8 ICNkZWZpbmUgSEFWRV9TVFJJTkdfSCAxCnwgI2RlZmluZSBIQVZFX01FTU9SWV9IIDEKfCAjZGVm aW5lIEhBVkVfU1RSSU5HU19IIDEKfCAjZGVmaW5lIEhBVkVfSU5UVFlQRVNfSCAxCnwgI2RlZmlu ZSBIQVZFX1NURElOVF9IIDEKfCAjZGVmaW5lIEhBVkVfVU5JU1REX0ggMQp8ICNkZWZpbmUgSEFW RV9MSUJNIDEKfCAjZGVmaW5lIEhBVkVfTElCWiAxCnwgI2RlZmluZSBIQVZFX1NQSU5MT0NLUyAx CnwgI2RlZmluZSBIQVZFX0FUT01JQ1MgMQp8ICNkZWZpbmUgSEFWRV9TU0xfR0VUX0NVUlJFTlRf Q09NUFJFU1NJT04gMQp8ICNkZWZpbmUgSEFWRV9YNTA5X0dFVF9TSUdOQVRVUkVfTklEIDEKfCAj ZGVmaW5lIEhBVkVfQ1JZUFRPX0xPQ0sgMQp8ICNkZWZpbmUgSEFWRV9MSUJYTUwyIDEKfCAjZGVm aW5lIEhBVkVfTElCWFNMVCAxCnwgI2RlZmluZSBIQVZFX19CT09MIDEKfCAjZGVmaW5lIEhBVkVf U1REQk9PTF9IIDEKfCAjZGVmaW5lIEhBVkVfR0VUT1BUX0ggMQp8ICNkZWZpbmUgSEFWRV9JRUVF RlBfSCAxCnwgI2RlZmluZSBIQVZFX1VUSU1FX0ggMQp8ICNkZWZpbmUgSEFWRV9XQ0hBUl9IIDEK fCAjZGVmaW5lIEhBVkVfV0NUWVBFX0ggMQp8ICNkZWZpbmUgSEFWRV9DUlRERUZTX0ggMQp8ICNk ZWZpbmUgUEdfUFJJTlRGX0FUVFJJQlVURSBnbnVfcHJpbnRmCnwgI2RlZmluZSBGTEVYSUJMRV9B UlJBWV9NRU1CRVIgLyoqLwp8ICNkZWZpbmUgSEFWRV9GVU5DTkFNRV9fRlVOQyAxCnwgI2RlZmlu ZSBIQVZFX19TVEFUSUNfQVNTRVJUIDEKfCAjZGVmaW5lIEhBVkVfVFlQRU9GIDEKfCAjZGVmaW5l IEhBVkVfX0JVSUxUSU5fVFlQRVNfQ09NUEFUSUJMRV9QIDEKfCAjZGVmaW5lIEhBVkVfX0JVSUxU SU5fQlNXQVAxNiAxCnwgI2RlZmluZSBIQVZFX19CVUlMVElOX0JTV0FQMzIgMQp8ICNkZWZpbmUg SEFWRV9fQlVJTFRJTl9CU1dBUDY0IDEKfCAjZGVmaW5lIEhBVkVfX0JVSUxUSU5fQ09OU1RBTlRf UCAxCnwgI2RlZmluZSBIQVZFX19CVUlMVElOX1VOUkVBQ0hBQkxFIDEKfCAjZGVmaW5lIEhBVkVf Q09NUFVURURfR09UTyAxCnwgI2RlZmluZSBIQVZFX19WQV9BUkdTIDEKfCAjZGVmaW5lIEhBVkVf VFpOQU1FIDEKfCAjZGVmaW5lIEhBVkVfU1RSVUNUX1NPQ0tBRERSX1NUT1JBR0UgMQp8ICNkZWZp bmUgSEFWRV9TVFJVQ1RfU09DS0FERFJfU1RPUkFHRV9TU19GQU1JTFkgMQp8IC8qIGVuZCBjb25m ZGVmcy5oLiAgKi8KfCAjaW5jbHVkZSA8c3lzL3R5cGVzLmg+CnwgI2luY2x1ZGUgPHN5cy9zb2Nr ZXQuaD4KfCAKfCAKfCBpbnQKfCBtYWluICgpCnwgewp8IHN0YXRpYyBzdHJ1Y3Qgc29ja2FkZHJf c3RvcmFnZSBhY19hZ2dyOwp8IGlmIChhY19hZ2dyLl9fc3NfbGVuKQp8IHJldHVybiAwOwp8ICAg Owp8ICAgcmV0dXJuIDA7CnwgfQpjb25maWd1cmU6MTQwMTQ6IHg4Nl82NC13NjQtbWluZ3czMi1n Y2MgLWMgLVdhbGwgLVdtaXNzaW5nLXByb3RvdHlwZXMgLVdwb2ludGVyLWFyaXRoIC1XZGVjbGFy YXRpb24tYWZ0ZXItc3RhdGVtZW50IC1XZW5kaWYtbGFiZWxzIC1XbWlzc2luZy1mb3JtYXQtYXR0 cmlidXRlIC1XZm9ybWF0LXNlY3VyaXR5IC1mbm8tc3RyaWN0LWFsaWFzaW5nIC1md3JhcHYgLWZl eGNlc3MtcHJlY2lzaW9uPXN0YW5kYXJkIC1Xbm8tZm9ybWF0LXRydW5jYXRpb24gLVduby1zdHJp bmdvcC10cnVuY2F0aW9uIC1nIC1PIC1mbm8tb21pdC1mcmFtZS1wb2ludGVyICAtSS93L1ItMy41 Ll8vcG9zdGdyZXMvc3JjL2luY2x1ZGUvcG9ydC93aW4zMiAtREVYRUNfQkFDS0VORCAgLUkvdy96 bGliLTEuMi44LXdpbjMyLXg4Nl82NC9pbmNsdWRlIC1JL3cvb3BlbnNzbC0xLjAuMmUtd2luMzIt eDg2XzY0L2luY2x1ZGUgLUkvdy9saWJ4bWwyLTIuOS4zLXdpbjMyLXg4Nl82NC9pbmNsdWRlL2xp YnhtbDIgLUkvdy9saWJ4c2x0LTEuMS4yOC13aW4zMi14ODZfNjQvaW5jbHVkZSBjb25mdGVzdC5j ID4mNQpjb25mdGVzdC5jOiBJbiBmdW5jdGlvbiAnbWFpbic6CmNvbmZ0ZXN0LmM6NzQ6MjA6IGVy cm9yOiAnc3RydWN0IHNvY2thZGRyX3N0b3JhZ2UnIGhhcyBubyBtZW1iZXIgbmFtZWQgJ19fc3Nf bGVuJzsgZGlkIHlvdSBtZWFuICdfX3NzX2FsaWduJz8KIGlmIChzaXplb2YgYWNfYWdnci5fX3Nz X2xlbikKICAgICAgICAgICAgICAgICAgICBefn5+fn5+fgogICAgICAgICAgICAgICAgICAgIF9f c3NfYWxpZ24KY29uZnRlc3QuYzo3MzozMjogd2FybmluZzogdmFyaWFibGUgJ2FjX2FnZ3InIHNl dCBidXQgbm90IHVzZWQgWy1XdW51c2VkLWJ1dC1zZXQtdmFyaWFibGVdCiBzdGF0aWMgc3RydWN0 IHNvY2thZGRyX3N0b3JhZ2UgYWNfYWdncjsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICBefn5+fn5+CmNvbmZpZ3VyZToxNDAxNDogJD8gPSAxCmNvbmZpZ3VyZTogZmFpbGVkIHByb2dy YW0gd2FzOgp8IC8qIGNvbmZkZWZzLmggKi8KfCAjZGVmaW5lIFBBQ0tBR0VfTkFNRSAiUG9zdGdy ZVNRTCIKfCAjZGVmaW5lIFBBQ0tBR0VfVEFSTkFNRSAicG9zdGdyZXNxbCIKfCAjZGVmaW5lIFBB Q0tBR0VfVkVSU0lPTiAiMTFiZXRhMyIKfCAjZGVmaW5lIFBBQ0tBR0VfU1RSSU5HICJQb3N0Z3Jl U1FMIDExYmV0YTMiCnwgI2RlZmluZSBQQUNLQUdFX0JVR1JFUE9SVCAicGdzcWwtYnVnc0Bwb3N0 Z3Jlc3FsLm9yZyIKfCAjZGVmaW5lIFBBQ0tBR0VfVVJMICIiCnwgI2RlZmluZSBQR19NQUpPUlZF UlNJT04gIjExIgp8ICNkZWZpbmUgUEdfVkVSU0lPTiAiMTFiZXRhMyIKfCAjZGVmaW5lIERFRl9Q R1BPUlQgNTQzMgp8ICNkZWZpbmUgREVGX1BHUE9SVF9TVFIgIjU0MzIiCnwgI2RlZmluZSBCTENL U1ogODE5Mgp8ICNkZWZpbmUgUkVMU0VHX1NJWkUgMTMxMDcyCnwgI2RlZmluZSBYTE9HX0JMQ0tT WiA4MTkyCnwgI2RlZmluZSBVU0VfQVNTRVJUX0NIRUNLSU5HIDEKfCAjZGVmaW5lIEVOQUJMRV9U SFJFQURfU0FGRVRZIDEKfCAjZGVmaW5lIFVTRV9JQ1UgMQp8ICNkZWZpbmUgUEdfS1JCX1NSVk5B TSAicG9zdGdyZXMiCnwgI2RlZmluZSBVU0VfT1BFTlNTTCAxCnwgI2RlZmluZSBVU0VfTElCWE1M IDEKfCAjZGVmaW5lIFVTRV9MSUJYU0xUIDEKfCAjZGVmaW5lIFNURENfSEVBREVSUyAxCnwgI2Rl ZmluZSBIQVZFX1NZU19UWVBFU19IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NUQVRfSCAxCnwgI2Rl ZmluZSBIQVZFX1NURExJQl9IIDEKfCAjZGVmaW5lIEhBVkVfU1RSSU5HX0ggMQp8ICNkZWZpbmUg SEFWRV9NRU1PUllfSCAxCnwgI2RlZmluZSBIQVZFX1NUUklOR1NfSCAxCnwgI2RlZmluZSBIQVZF X0lOVFRZUEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERJTlRfSCAxCnwgI2RlZmluZSBIQVZFX1VO SVNURF9IIDEKfCAjZGVmaW5lIEhBVkVfTElCTSAxCnwgI2RlZmluZSBIQVZFX0xJQlogMQp8ICNk ZWZpbmUgSEFWRV9TUElOTE9DS1MgMQp8ICNkZWZpbmUgSEFWRV9BVE9NSUNTIDEKfCAjZGVmaW5l IEhBVkVfU1NMX0dFVF9DVVJSRU5UX0NPTVBSRVNTSU9OIDEKfCAjZGVmaW5lIEhBVkVfWDUwOV9H RVRfU0lHTkFUVVJFX05JRCAxCnwgI2RlZmluZSBIQVZFX0NSWVBUT19MT0NLIDEKfCAjZGVmaW5l IEhBVkVfTElCWE1MMiAxCnwgI2RlZmluZSBIQVZFX0xJQlhTTFQgMQp8ICNkZWZpbmUgSEFWRV9f Qk9PTCAxCnwgI2RlZmluZSBIQVZFX1NUREJPT0xfSCAxCnwgI2RlZmluZSBIQVZFX0dFVE9QVF9I IDEKfCAjZGVmaW5lIEhBVkVfSUVFRUZQX0ggMQp8ICNkZWZpbmUgSEFWRV9VVElNRV9IIDEKfCAj ZGVmaW5lIEhBVkVfV0NIQVJfSCAxCnwgI2RlZmluZSBIQVZFX1dDVFlQRV9IIDEKfCAjZGVmaW5l IEhBVkVfQ1JUREVGU19IIDEKfCAjZGVmaW5lIFBHX1BSSU5URl9BVFRSSUJVVEUgZ251X3ByaW50 Zgp8ICNkZWZpbmUgRkxFWElCTEVfQVJSQVlfTUVNQkVSIC8qKi8KfCAjZGVmaW5lIEhBVkVfRlVO Q05BTUVfX0ZVTkMgMQp8ICNkZWZpbmUgSEFWRV9fU1RBVElDX0FTU0VSVCAxCnwgI2RlZmluZSBI QVZFX1RZUEVPRiAxCnwgI2RlZmluZSBIQVZFX19CVUlMVElOX1RZUEVTX0NPTVBBVElCTEVfUCAx CnwgI2RlZmluZSBIQVZFX19CVUlMVElOX0JTV0FQMTYgMQp8ICNkZWZpbmUgSEFWRV9fQlVJTFRJ Tl9CU1dBUDMyIDEKfCAjZGVmaW5lIEhBVkVfX0JVSUxUSU5fQlNXQVA2NCAxCnwgI2RlZmluZSBI QVZFX19CVUlMVElOX0NPTlNUQU5UX1AgMQp8ICNkZWZpbmUgSEFWRV9fQlVJTFRJTl9VTlJFQUNI QUJMRSAxCnwgI2RlZmluZSBIQVZFX0NPTVBVVEVEX0dPVE8gMQp8ICNkZWZpbmUgSEFWRV9fVkFf QVJHUyAxCnwgI2RlZmluZSBIQVZFX1RaTkFNRSAxCnwgI2RlZmluZSBIQVZFX1NUUlVDVF9TT0NL QUREUl9TVE9SQUdFIDEKfCAjZGVmaW5lIEhBVkVfU1RSVUNUX1NPQ0tBRERSX1NUT1JBR0VfU1Nf RkFNSUxZIDEKfCAvKiBlbmQgY29uZmRlZnMuaC4gICovCnwgI2luY2x1ZGUgPHN5cy90eXBlcy5o Pgp8ICNpbmNsdWRlIDxzeXMvc29ja2V0Lmg+CnwgCnwgCnwgaW50CnwgbWFpbiAoKQp8IHsKfCBz dGF0aWMgc3RydWN0IHNvY2thZGRyX3N0b3JhZ2UgYWNfYWdncjsKfCBpZiAoc2l6ZW9mIGFjX2Fn Z3IuX19zc19sZW4pCnwgcmV0dXJuIDA7CnwgICA7CnwgICByZXR1cm4gMDsKfCB9CmNvbmZpZ3Vy ZToxNDAxNDogcmVzdWx0OiBubwpjb25maWd1cmU6MTQwMjY6IGNoZWNraW5nIGZvciBzdHJ1Y3Qg c29ja2FkZHIuc2FfbGVuCmNvbmZpZ3VyZToxNDAyNjogeDg2XzY0LXc2NC1taW5ndzMyLWdjYyAt YyAtV2FsbCAtV21pc3NpbmctcHJvdG90eXBlcyAtV3BvaW50ZXItYXJpdGggLVdkZWNsYXJhdGlv bi1hZnRlci1zdGF0ZW1lbnQgLVdlbmRpZi1sYWJlbHMgLVdtaXNzaW5nLWZvcm1hdC1hdHRyaWJ1 dGUgLVdmb3JtYXQtc2VjdXJpdHkgLWZuby1zdHJpY3QtYWxpYXNpbmcgLWZ3cmFwdiAtZmV4Y2Vz cy1wcmVjaXNpb249c3RhbmRhcmQgLVduby1mb3JtYXQtdHJ1bmNhdGlvbiAtV25vLXN0cmluZ29w LXRydW5jYXRpb24gLWcgLU8gLWZuby1vbWl0LWZyYW1lLXBvaW50ZXIgIC1JL3cvUi0zLjUuXy9w b3N0Z3Jlcy9zcmMvaW5jbHVkZS9wb3J0L3dpbjMyIC1ERVhFQ19CQUNLRU5EICAtSS93L3psaWIt MS4yLjgtd2luMzIteDg2XzY0L2luY2x1ZGUgLUkvdy9vcGVuc3NsLTEuMC4yZS13aW4zMi14ODZf NjQvaW5jbHVkZSAtSS93L2xpYnhtbDItMi45LjMtd2luMzIteDg2XzY0L2luY2x1ZGUvbGlieG1s MiAtSS93L2xpYnhzbHQtMS4xLjI4LXdpbjMyLXg4Nl82NC9pbmNsdWRlIGNvbmZ0ZXN0LmMgPiY1 CmNvbmZ0ZXN0LmM6IEluIGZ1bmN0aW9uICdtYWluJzoKY29uZnRlc3QuYzo3NDoxMjogZXJyb3I6 ICdzdHJ1Y3Qgc29ja2FkZHInIGhhcyBubyBtZW1iZXIgbmFtZWQgJ3NhX2xlbicKIGlmIChhY19h Z2dyLnNhX2xlbikKICAgICAgICAgICAgXgpjb25mdGVzdC5jOjczOjI0OiB3YXJuaW5nOiB2YXJp YWJsZSAnYWNfYWdncicgc2V0IGJ1dCBub3QgdXNlZCBbLVd1bnVzZWQtYnV0LXNldC12YXJpYWJs ZV0KIHN0YXRpYyBzdHJ1Y3Qgc29ja2FkZHIgYWNfYWdncjsKICAgICAgICAgICAgICAgICAgICAg ICAgXn5+fn5+fgpjb25maWd1cmU6MTQwMjY6ICQ/ID0gMQpjb25maWd1cmU6IGZhaWxlZCBwcm9n cmFtIHdhczoKfCAvKiBjb25mZGVmcy5oICovCnwgI2RlZmluZSBQQUNLQUdFX05BTUUgIlBvc3Rn cmVTUUwiCnwgI2RlZmluZSBQQUNLQUdFX1RBUk5BTUUgInBvc3RncmVzcWwiCnwgI2RlZmluZSBQ QUNLQUdFX1ZFUlNJT04gIjExYmV0YTMiCnwgI2RlZmluZSBQQUNLQUdFX1NUUklORyAiUG9zdGdy ZVNRTCAxMWJldGEzIgp8ICNkZWZpbmUgUEFDS0FHRV9CVUdSRVBPUlQgInBnc3FsLWJ1Z3NAcG9z dGdyZXNxbC5vcmciCnwgI2RlZmluZSBQQUNLQUdFX1VSTCAiIgp8ICNkZWZpbmUgUEdfTUFKT1JW RVJTSU9OICIxMSIKfCAjZGVmaW5lIFBHX1ZFUlNJT04gIjExYmV0YTMiCnwgI2RlZmluZSBERUZf UEdQT1JUIDU0MzIKfCAjZGVmaW5lIERFRl9QR1BPUlRfU1RSICI1NDMyIgp8ICNkZWZpbmUgQkxD S1NaIDgxOTIKfCAjZGVmaW5lIFJFTFNFR19TSVpFIDEzMTA3Mgp8ICNkZWZpbmUgWExPR19CTENL U1ogODE5Mgp8ICNkZWZpbmUgVVNFX0FTU0VSVF9DSEVDS0lORyAxCnwgI2RlZmluZSBFTkFCTEVf VEhSRUFEX1NBRkVUWSAxCnwgI2RlZmluZSBVU0VfSUNVIDEKfCAjZGVmaW5lIFBHX0tSQl9TUlZO QU0gInBvc3RncmVzIgp8ICNkZWZpbmUgVVNFX09QRU5TU0wgMQp8ICNkZWZpbmUgVVNFX0xJQlhN TCAxCnwgI2RlZmluZSBVU0VfTElCWFNMVCAxCnwgI2RlZmluZSBTVERDX0hFQURFUlMgMQp8ICNk ZWZpbmUgSEFWRV9TWVNfVFlQRVNfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19TVEFUX0ggMQp8ICNk ZWZpbmUgSEFWRV9TVERMSUJfSCAxCnwgI2RlZmluZSBIQVZFX1NUUklOR19IIDEKfCAjZGVmaW5l IEhBVkVfTUVNT1JZX0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJJTkdTX0ggMQp8ICNkZWZpbmUgSEFW RV9JTlRUWVBFU19IIDEKfCAjZGVmaW5lIEhBVkVfU1RESU5UX0ggMQp8ICNkZWZpbmUgSEFWRV9V TklTVERfSCAxCnwgI2RlZmluZSBIQVZFX0xJQk0gMQp8ICNkZWZpbmUgSEFWRV9MSUJaIDEKfCAj ZGVmaW5lIEhBVkVfU1BJTkxPQ0tTIDEKfCAjZGVmaW5lIEhBVkVfQVRPTUlDUyAxCnwgI2RlZmlu ZSBIQVZFX1NTTF9HRVRfQ1VSUkVOVF9DT01QUkVTU0lPTiAxCnwgI2RlZmluZSBIQVZFX1g1MDlf R0VUX1NJR05BVFVSRV9OSUQgMQp8ICNkZWZpbmUgSEFWRV9DUllQVE9fTE9DSyAxCnwgI2RlZmlu ZSBIQVZFX0xJQlhNTDIgMQp8ICNkZWZpbmUgSEFWRV9MSUJYU0xUIDEKfCAjZGVmaW5lIEhBVkVf X0JPT0wgMQp8ICNkZWZpbmUgSEFWRV9TVERCT09MX0ggMQp8ICNkZWZpbmUgSEFWRV9HRVRPUFRf SCAxCnwgI2RlZmluZSBIQVZFX0lFRUVGUF9IIDEKfCAjZGVmaW5lIEhBVkVfVVRJTUVfSCAxCnwg I2RlZmluZSBIQVZFX1dDSEFSX0ggMQp8ICNkZWZpbmUgSEFWRV9XQ1RZUEVfSCAxCnwgI2RlZmlu ZSBIQVZFX0NSVERFRlNfSCAxCnwgI2RlZmluZSBQR19QUklOVEZfQVRUUklCVVRFIGdudV9wcmlu dGYKfCAjZGVmaW5lIEZMRVhJQkxFX0FSUkFZX01FTUJFUiAvKiovCnwgI2RlZmluZSBIQVZFX0ZV TkNOQU1FX19GVU5DIDEKfCAjZGVmaW5lIEhBVkVfX1NUQVRJQ19BU1NFUlQgMQp8ICNkZWZpbmUg SEFWRV9UWVBFT0YgMQp8ICNkZWZpbmUgSEFWRV9fQlVJTFRJTl9UWVBFU19DT01QQVRJQkxFX1Ag MQp8ICNkZWZpbmUgSEFWRV9fQlVJTFRJTl9CU1dBUDE2IDEKfCAjZGVmaW5lIEhBVkVfX0JVSUxU SU5fQlNXQVAzMiAxCnwgI2RlZmluZSBIQVZFX19CVUlMVElOX0JTV0FQNjQgMQp8ICNkZWZpbmUg SEFWRV9fQlVJTFRJTl9DT05TVEFOVF9QIDEKfCAjZGVmaW5lIEhBVkVfX0JVSUxUSU5fVU5SRUFD SEFCTEUgMQp8ICNkZWZpbmUgSEFWRV9DT01QVVRFRF9HT1RPIDEKfCAjZGVmaW5lIEhBVkVfX1ZB X0FSR1MgMQp8ICNkZWZpbmUgSEFWRV9UWk5BTUUgMQp8ICNkZWZpbmUgSEFWRV9TVFJVQ1RfU09D S0FERFJfU1RPUkFHRSAxCnwgI2RlZmluZSBIQVZFX1NUUlVDVF9TT0NLQUREUl9TVE9SQUdFX1NT X0ZBTUlMWSAxCnwgLyogZW5kIGNvbmZkZWZzLmguICAqLwp8ICNpbmNsdWRlIDxzeXMvdHlwZXMu aD4KfCAjaW5jbHVkZSA8c3lzL3NvY2tldC5oPgp8IAp8IAp8IGludAp8IG1haW4gKCkKfCB7Cnwg c3RhdGljIHN0cnVjdCBzb2NrYWRkciBhY19hZ2dyOwp8IGlmIChhY19hZ2dyLnNhX2xlbikKfCBy ZXR1cm4gMDsKfCAgIDsKfCAgIHJldHVybiAwOwp8IH0KY29uZmlndXJlOjE0MDI2OiB4ODZfNjQt dzY0LW1pbmd3MzItZ2NjIC1jIC1XYWxsIC1XbWlzc2luZy1wcm90b3R5cGVzIC1XcG9pbnRlci1h cml0aCAtV2RlY2xhcmF0aW9uLWFmdGVyLXN0YXRlbWVudCAtV2VuZGlmLWxhYmVscyAtV21pc3Np bmctZm9ybWF0LWF0dHJpYnV0ZSAtV2Zvcm1hdC1zZWN1cml0eSAtZm5vLXN0cmljdC1hbGlhc2lu ZyAtZndyYXB2IC1mZXhjZXNzLXByZWNpc2lvbj1zdGFuZGFyZCAtV25vLWZvcm1hdC10cnVuY2F0 aW9uIC1Xbm8tc3RyaW5nb3AtdHJ1bmNhdGlvbiAtZyAtTyAtZm5vLW9taXQtZnJhbWUtcG9pbnRl ciAgLUkvdy9SLTMuNS5fL3Bvc3RncmVzL3NyYy9pbmNsdWRlL3BvcnQvd2luMzIgLURFWEVDX0JB Q0tFTkQgIC1JL3cvemxpYi0xLjIuOC13aW4zMi14ODZfNjQvaW5jbHVkZSAtSS93L29wZW5zc2wt MS4wLjJlLXdpbjMyLXg4Nl82NC9pbmNsdWRlIC1JL3cvbGlieG1sMi0yLjkuMy13aW4zMi14ODZf NjQvaW5jbHVkZS9saWJ4bWwyIC1JL3cvbGlieHNsdC0xLjEuMjgtd2luMzIteDg2XzY0L2luY2x1 ZGUgY29uZnRlc3QuYyA+JjUKY29uZnRlc3QuYzogSW4gZnVuY3Rpb24gJ21haW4nOgpjb25mdGVz dC5jOjc0OjE5OiBlcnJvcjogJ3N0cnVjdCBzb2NrYWRkcicgaGFzIG5vIG1lbWJlciBuYW1lZCAn c2FfbGVuJwogaWYgKHNpemVvZiBhY19hZ2dyLnNhX2xlbikKICAgICAgICAgICAgICAgICAgIF4K Y29uZnRlc3QuYzo3MzoyNDogd2FybmluZzogdmFyaWFibGUgJ2FjX2FnZ3InIHNldCBidXQgbm90 IHVzZWQgWy1XdW51c2VkLWJ1dC1zZXQtdmFyaWFibGVdCiBzdGF0aWMgc3RydWN0IHNvY2thZGRy IGFjX2FnZ3I7CiAgICAgICAgICAgICAgICAgICAgICAgIF5+fn5+fn4KY29uZmlndXJlOjE0MDI2 OiAkPyA9IDEKY29uZmlndXJlOiBmYWlsZWQgcHJvZ3JhbSB3YXM6CnwgLyogY29uZmRlZnMuaCAq Lwp8ICNkZWZpbmUgUEFDS0FHRV9OQU1FICJQb3N0Z3JlU1FMIgp8ICNkZWZpbmUgUEFDS0FHRV9U QVJOQU1FICJwb3N0Z3Jlc3FsIgp8ICNkZWZpbmUgUEFDS0FHRV9WRVJTSU9OICIxMWJldGEzIgp8 ICNkZWZpbmUgUEFDS0FHRV9TVFJJTkcgIlBvc3RncmVTUUwgMTFiZXRhMyIKfCAjZGVmaW5lIFBB Q0tBR0VfQlVHUkVQT1JUICJwZ3NxbC1idWdzQHBvc3RncmVzcWwub3JnIgp8ICNkZWZpbmUgUEFD S0FHRV9VUkwgIiIKfCAjZGVmaW5lIFBHX01BSk9SVkVSU0lPTiAiMTEiCnwgI2RlZmluZSBQR19W RVJTSU9OICIxMWJldGEzIgp8ICNkZWZpbmUgREVGX1BHUE9SVCA1NDMyCnwgI2RlZmluZSBERUZf UEdQT1JUX1NUUiAiNTQzMiIKfCAjZGVmaW5lIEJMQ0tTWiA4MTkyCnwgI2RlZmluZSBSRUxTRUdf U0laRSAxMzEwNzIKfCAjZGVmaW5lIFhMT0dfQkxDS1NaIDgxOTIKfCAjZGVmaW5lIFVTRV9BU1NF UlRfQ0hFQ0tJTkcgMQp8ICNkZWZpbmUgRU5BQkxFX1RIUkVBRF9TQUZFVFkgMQp8ICNkZWZpbmUg VVNFX0lDVSAxCnwgI2RlZmluZSBQR19LUkJfU1JWTkFNICJwb3N0Z3JlcyIKfCAjZGVmaW5lIFVT RV9PUEVOU1NMIDEKfCAjZGVmaW5lIFVTRV9MSUJYTUwgMQp8ICNkZWZpbmUgVVNFX0xJQlhTTFQg MQp8ICNkZWZpbmUgU1REQ19IRUFERVJTIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1RZUEVTX0ggMQp8 ICNkZWZpbmUgSEFWRV9TWVNfU1RBVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1RETElCX0ggMQp8ICNk ZWZpbmUgSEFWRV9TVFJJTkdfSCAxCnwgI2RlZmluZSBIQVZFX01FTU9SWV9IIDEKfCAjZGVmaW5l IEhBVkVfU1RSSU5HU19IIDEKfCAjZGVmaW5lIEhBVkVfSU5UVFlQRVNfSCAxCnwgI2RlZmluZSBI QVZFX1NURElOVF9IIDEKfCAjZGVmaW5lIEhBVkVfVU5JU1REX0ggMQp8ICNkZWZpbmUgSEFWRV9M SUJNIDEKfCAjZGVmaW5lIEhBVkVfTElCWiAxCnwgI2RlZmluZSBIQVZFX1NQSU5MT0NLUyAxCnwg I2RlZmluZSBIQVZFX0FUT01JQ1MgMQp8ICNkZWZpbmUgSEFWRV9TU0xfR0VUX0NVUlJFTlRfQ09N UFJFU1NJT04gMQp8ICNkZWZpbmUgSEFWRV9YNTA5X0dFVF9TSUdOQVRVUkVfTklEIDEKfCAjZGVm aW5lIEhBVkVfQ1JZUFRPX0xPQ0sgMQp8ICNkZWZpbmUgSEFWRV9MSUJYTUwyIDEKfCAjZGVmaW5l IEhBVkVfTElCWFNMVCAxCnwgI2RlZmluZSBIQVZFX19CT09MIDEKfCAjZGVmaW5lIEhBVkVfU1RE Qk9PTF9IIDEKfCAjZGVmaW5lIEhBVkVfR0VUT1BUX0ggMQp8ICNkZWZpbmUgSEFWRV9JRUVFRlBf SCAxCnwgI2RlZmluZSBIQVZFX1VUSU1FX0ggMQp8ICNkZWZpbmUgSEFWRV9XQ0hBUl9IIDEKfCAj ZGVmaW5lIEhBVkVfV0NUWVBFX0ggMQp8ICNkZWZpbmUgSEFWRV9DUlRERUZTX0ggMQp8ICNkZWZp bmUgUEdfUFJJTlRGX0FUVFJJQlVURSBnbnVfcHJpbnRmCnwgI2RlZmluZSBGTEVYSUJMRV9BUlJB WV9NRU1CRVIgLyoqLwp8ICNkZWZpbmUgSEFWRV9GVU5DTkFNRV9fRlVOQyAxCnwgI2RlZmluZSBI QVZFX19TVEFUSUNfQVNTRVJUIDEKfCAjZGVmaW5lIEhBVkVfVFlQRU9GIDEKfCAjZGVmaW5lIEhB VkVfX0JVSUxUSU5fVFlQRVNfQ09NUEFUSUJMRV9QIDEKfCAjZGVmaW5lIEhBVkVfX0JVSUxUSU5f QlNXQVAxNiAxCnwgI2RlZmluZSBIQVZFX19CVUlMVElOX0JTV0FQMzIgMQp8ICNkZWZpbmUgSEFW RV9fQlVJTFRJTl9CU1dBUDY0IDEKfCAjZGVmaW5lIEhBVkVfX0JVSUxUSU5fQ09OU1RBTlRfUCAx CnwgI2RlZmluZSBIQVZFX19CVUlMVElOX1VOUkVBQ0hBQkxFIDEKfCAjZGVmaW5lIEhBVkVfQ09N UFVURURfR09UTyAxCnwgI2RlZmluZSBIQVZFX19WQV9BUkdTIDEKfCAjZGVmaW5lIEhBVkVfVFpO QU1FIDEKfCAjZGVmaW5lIEhBVkVfU1RSVUNUX1NPQ0tBRERSX1NUT1JBR0UgMQp8ICNkZWZpbmUg SEFWRV9TVFJVQ1RfU09DS0FERFJfU1RPUkFHRV9TU19GQU1JTFkgMQp8IC8qIGVuZCBjb25mZGVm cy5oLiAgKi8KfCAjaW5jbHVkZSA8c3lzL3R5cGVzLmg+CnwgI2luY2x1ZGUgPHN5cy9zb2NrZXQu aD4KfCAKfCAKfCBpbnQKfCBtYWluICgpCnwgewp8IHN0YXRpYyBzdHJ1Y3Qgc29ja2FkZHIgYWNf YWdncjsKfCBpZiAoc2l6ZW9mIGFjX2FnZ3Iuc2FfbGVuKQp8IHJldHVybiAwOwp8ICAgOwp8ICAg cmV0dXJuIDA7CnwgfQpjb25maWd1cmU6MTQwMjY6IHJlc3VsdDogbm8KY29uZmlndXJlOjE0MDM5 OiBjaGVja2luZyBmb3Igc3RydWN0IGFkZHJpbmZvCmNvbmZpZ3VyZToxNDAzOTogeDg2XzY0LXc2 NC1taW5ndzMyLWdjYyAtYyAtV2FsbCAtV21pc3NpbmctcHJvdG90eXBlcyAtV3BvaW50ZXItYXJp dGggLVdkZWNsYXJhdGlvbi1hZnRlci1zdGF0ZW1lbnQgLVdlbmRpZi1sYWJlbHMgLVdtaXNzaW5n LWZvcm1hdC1hdHRyaWJ1dGUgLVdmb3JtYXQtc2VjdXJpdHkgLWZuby1zdHJpY3QtYWxpYXNpbmcg LWZ3cmFwdiAtZmV4Y2Vzcy1wcmVjaXNpb249c3RhbmRhcmQgLVduby1mb3JtYXQtdHJ1bmNhdGlv biAtV25vLXN0cmluZ29wLXRydW5jYXRpb24gLWcgLU8gLWZuby1vbWl0LWZyYW1lLXBvaW50ZXIg IC1JL3cvUi0zLjUuXy9wb3N0Z3Jlcy9zcmMvaW5jbHVkZS9wb3J0L3dpbjMyIC1ERVhFQ19CQUNL RU5EICAtSS93L3psaWItMS4yLjgtd2luMzIteDg2XzY0L2luY2x1ZGUgLUkvdy9vcGVuc3NsLTEu MC4yZS13aW4zMi14ODZfNjQvaW5jbHVkZSAtSS93L2xpYnhtbDItMi45LjMtd2luMzIteDg2XzY0 L2luY2x1ZGUvbGlieG1sMiAtSS93L2xpYnhzbHQtMS4xLjI4LXdpbjMyLXg4Nl82NC9pbmNsdWRl IGNvbmZ0ZXN0LmMgPiY1CmNvbmZpZ3VyZToxNDAzOTogJD8gPSAwCmNvbmZpZ3VyZToxNDAzOTog eDg2XzY0LXc2NC1taW5ndzMyLWdjYyAtYyAtV2FsbCAtV21pc3NpbmctcHJvdG90eXBlcyAtV3Bv aW50ZXItYXJpdGggLVdkZWNsYXJhdGlvbi1hZnRlci1zdGF0ZW1lbnQgLVdlbmRpZi1sYWJlbHMg LVdtaXNzaW5nLWZvcm1hdC1hdHRyaWJ1dGUgLVdmb3JtYXQtc2VjdXJpdHkgLWZuby1zdHJpY3Qt YWxpYXNpbmcgLWZ3cmFwdiAtZmV4Y2Vzcy1wcmVjaXNpb249c3RhbmRhcmQgLVduby1mb3JtYXQt dHJ1bmNhdGlvbiAtV25vLXN0cmluZ29wLXRydW5jYXRpb24gLWcgLU8gLWZuby1vbWl0LWZyYW1l LXBvaW50ZXIgIC1JL3cvUi0zLjUuXy9wb3N0Z3Jlcy9zcmMvaW5jbHVkZS9wb3J0L3dpbjMyIC1E RVhFQ19CQUNLRU5EICAtSS93L3psaWItMS4yLjgtd2luMzIteDg2XzY0L2luY2x1ZGUgLUkvdy9v cGVuc3NsLTEuMC4yZS13aW4zMi14ODZfNjQvaW5jbHVkZSAtSS93L2xpYnhtbDItMi45LjMtd2lu MzIteDg2XzY0L2luY2x1ZGUvbGlieG1sMiAtSS93L2xpYnhzbHQtMS4xLjI4LXdpbjMyLXg4Nl82 NC9pbmNsdWRlIGNvbmZ0ZXN0LmMgPiY1CmNvbmZ0ZXN0LmM6IEluIGZ1bmN0aW9uICdtYWluJzoK Y29uZnRlc3QuYzo3NDozMDogZXJyb3I6IGV4cGVjdGVkIGV4cHJlc3Npb24gYmVmb3JlICcpJyB0 b2tlbgogaWYgKHNpemVvZiAoKHN0cnVjdCBhZGRyaW5mbykpKQogICAgICAgICAgICAgICAgICAg ICAgICAgICAgICBeCmNvbmZpZ3VyZToxNDAzOTogJD8gPSAxCmNvbmZpZ3VyZTogZmFpbGVkIHBy b2dyYW0gd2FzOgp8IC8qIGNvbmZkZWZzLmggKi8KfCAjZGVmaW5lIFBBQ0tBR0VfTkFNRSAiUG9z dGdyZVNRTCIKfCAjZGVmaW5lIFBBQ0tBR0VfVEFSTkFNRSAicG9zdGdyZXNxbCIKfCAjZGVmaW5l IFBBQ0tBR0VfVkVSU0lPTiAiMTFiZXRhMyIKfCAjZGVmaW5lIFBBQ0tBR0VfU1RSSU5HICJQb3N0 Z3JlU1FMIDExYmV0YTMiCnwgI2RlZmluZSBQQUNLQUdFX0JVR1JFUE9SVCAicGdzcWwtYnVnc0Bw b3N0Z3Jlc3FsLm9yZyIKfCAjZGVmaW5lIFBBQ0tBR0VfVVJMICIiCnwgI2RlZmluZSBQR19NQUpP UlZFUlNJT04gIjExIgp8ICNkZWZpbmUgUEdfVkVSU0lPTiAiMTFiZXRhMyIKfCAjZGVmaW5lIERF Rl9QR1BPUlQgNTQzMgp8ICNkZWZpbmUgREVGX1BHUE9SVF9TVFIgIjU0MzIiCnwgI2RlZmluZSBC TENLU1ogODE5Mgp8ICNkZWZpbmUgUkVMU0VHX1NJWkUgMTMxMDcyCnwgI2RlZmluZSBYTE9HX0JM Q0tTWiA4MTkyCnwgI2RlZmluZSBVU0VfQVNTRVJUX0NIRUNLSU5HIDEKfCAjZGVmaW5lIEVOQUJM RV9USFJFQURfU0FGRVRZIDEKfCAjZGVmaW5lIFVTRV9JQ1UgMQp8ICNkZWZpbmUgUEdfS1JCX1NS Vk5BTSAicG9zdGdyZXMiCnwgI2RlZmluZSBVU0VfT1BFTlNTTCAxCnwgI2RlZmluZSBVU0VfTElC WE1MIDEKfCAjZGVmaW5lIFVTRV9MSUJYU0xUIDEKfCAjZGVmaW5lIFNURENfSEVBREVSUyAxCnwg I2RlZmluZSBIQVZFX1NZU19UWVBFU19IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NUQVRfSCAxCnwg I2RlZmluZSBIQVZFX1NURExJQl9IIDEKfCAjZGVmaW5lIEhBVkVfU1RSSU5HX0ggMQp8ICNkZWZp bmUgSEFWRV9NRU1PUllfSCAxCnwgI2RlZmluZSBIQVZFX1NUUklOR1NfSCAxCnwgI2RlZmluZSBI QVZFX0lOVFRZUEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERJTlRfSCAxCnwgI2RlZmluZSBIQVZF X1VOSVNURF9IIDEKfCAjZGVmaW5lIEhBVkVfTElCTSAxCnwgI2RlZmluZSBIQVZFX0xJQlogMQp8 ICNkZWZpbmUgSEFWRV9TUElOTE9DS1MgMQp8ICNkZWZpbmUgSEFWRV9BVE9NSUNTIDEKfCAjZGVm aW5lIEhBVkVfU1NMX0dFVF9DVVJSRU5UX0NPTVBSRVNTSU9OIDEKfCAjZGVmaW5lIEhBVkVfWDUw OV9HRVRfU0lHTkFUVVJFX05JRCAxCnwgI2RlZmluZSBIQVZFX0NSWVBUT19MT0NLIDEKfCAjZGVm aW5lIEhBVkVfTElCWE1MMiAxCnwgI2RlZmluZSBIQVZFX0xJQlhTTFQgMQp8ICNkZWZpbmUgSEFW RV9fQk9PTCAxCnwgI2RlZmluZSBIQVZFX1NUREJPT0xfSCAxCnwgI2RlZmluZSBIQVZFX0dFVE9Q VF9IIDEKfCAjZGVmaW5lIEhBVkVfSUVFRUZQX0ggMQp8ICNkZWZpbmUgSEFWRV9VVElNRV9IIDEK fCAjZGVmaW5lIEhBVkVfV0NIQVJfSCAxCnwgI2RlZmluZSBIQVZFX1dDVFlQRV9IIDEKfCAjZGVm aW5lIEhBVkVfQ1JUREVGU19IIDEKfCAjZGVmaW5lIFBHX1BSSU5URl9BVFRSSUJVVEUgZ251X3By aW50Zgp8ICNkZWZpbmUgRkxFWElCTEVfQVJSQVlfTUVNQkVSIC8qKi8KfCAjZGVmaW5lIEhBVkVf RlVOQ05BTUVfX0ZVTkMgMQp8ICNkZWZpbmUgSEFWRV9fU1RBVElDX0FTU0VSVCAxCnwgI2RlZmlu ZSBIQVZFX1RZUEVPRiAxCnwgI2RlZmluZSBIQVZFX19CVUlMVElOX1RZUEVTX0NPTVBBVElCTEVf UCAxCnwgI2RlZmluZSBIQVZFX19CVUlMVElOX0JTV0FQMTYgMQp8ICNkZWZpbmUgSEFWRV9fQlVJ TFRJTl9CU1dBUDMyIDEKfCAjZGVmaW5lIEhBVkVfX0JVSUxUSU5fQlNXQVA2NCAxCnwgI2RlZmlu ZSBIQVZFX19CVUlMVElOX0NPTlNUQU5UX1AgMQp8ICNkZWZpbmUgSEFWRV9fQlVJTFRJTl9VTlJF QUNIQUJMRSAxCnwgI2RlZmluZSBIQVZFX0NPTVBVVEVEX0dPVE8gMQp8ICNkZWZpbmUgSEFWRV9f VkFfQVJHUyAxCnwgI2RlZmluZSBIQVZFX1RaTkFNRSAxCnwgI2RlZmluZSBIQVZFX1NUUlVDVF9T T0NLQUREUl9TVE9SQUdFIDEKfCAjZGVmaW5lIEhBVkVfU1RSVUNUX1NPQ0tBRERSX1NUT1JBR0Vf U1NfRkFNSUxZIDEKfCAvKiBlbmQgY29uZmRlZnMuaC4gICovCnwgI2luY2x1ZGUgPHN5cy90eXBl cy5oPgp8ICNpbmNsdWRlIDxzeXMvc29ja2V0Lmg+CnwgI2luY2x1ZGUgPG5ldGRiLmg+CnwgCnwg CnwgaW50CnwgbWFpbiAoKQp8IHsKfCBpZiAoc2l6ZW9mICgoc3RydWN0IGFkZHJpbmZvKSkpCnwg CSAgICByZXR1cm4gMDsKfCAgIDsKfCAgIHJldHVybiAwOwp8IH0KY29uZmlndXJlOjE0MDM5OiBy ZXN1bHQ6IHllcwpjb25maWd1cmU6MTQwNTQ6IGNoZWNraW5nIGZvciBpbnRwdHJfdApjb25maWd1 cmU6MTQwNTQ6IHg4Nl82NC13NjQtbWluZ3czMi1nY2MgLWMgLVdhbGwgLVdtaXNzaW5nLXByb3Rv dHlwZXMgLVdwb2ludGVyLWFyaXRoIC1XZGVjbGFyYXRpb24tYWZ0ZXItc3RhdGVtZW50IC1XZW5k aWYtbGFiZWxzIC1XbWlzc2luZy1mb3JtYXQtYXR0cmlidXRlIC1XZm9ybWF0LXNlY3VyaXR5IC1m bm8tc3RyaWN0LWFsaWFzaW5nIC1md3JhcHYgLWZleGNlc3MtcHJlY2lzaW9uPXN0YW5kYXJkIC1X bm8tZm9ybWF0LXRydW5jYXRpb24gLVduby1zdHJpbmdvcC10cnVuY2F0aW9uIC1nIC1PIC1mbm8t b21pdC1mcmFtZS1wb2ludGVyICAtSS93L1ItMy41Ll8vcG9zdGdyZXMvc3JjL2luY2x1ZGUvcG9y dC93aW4zMiAtREVYRUNfQkFDS0VORCAgLUkvdy96bGliLTEuMi44LXdpbjMyLXg4Nl82NC9pbmNs dWRlIC1JL3cvb3BlbnNzbC0xLjAuMmUtd2luMzIteDg2XzY0L2luY2x1ZGUgLUkvdy9saWJ4bWwy LTIuOS4zLXdpbjMyLXg4Nl82NC9pbmNsdWRlL2xpYnhtbDIgLUkvdy9saWJ4c2x0LTEuMS4yOC13 aW4zMi14ODZfNjQvaW5jbHVkZSBjb25mdGVzdC5jID4mNQpjb25maWd1cmU6MTQwNTQ6ICQ/ID0g MApjb25maWd1cmU6MTQwNTQ6IHg4Nl82NC13NjQtbWluZ3czMi1nY2MgLWMgLVdhbGwgLVdtaXNz aW5nLXByb3RvdHlwZXMgLVdwb2ludGVyLWFyaXRoIC1XZGVjbGFyYXRpb24tYWZ0ZXItc3RhdGVt ZW50IC1XZW5kaWYtbGFiZWxzIC1XbWlzc2luZy1mb3JtYXQtYXR0cmlidXRlIC1XZm9ybWF0LXNl Y3VyaXR5IC1mbm8tc3RyaWN0LWFsaWFzaW5nIC1md3JhcHYgLWZleGNlc3MtcHJlY2lzaW9uPXN0 YW5kYXJkIC1Xbm8tZm9ybWF0LXRydW5jYXRpb24gLVduby1zdHJpbmdvcC10cnVuY2F0aW9uIC1n IC1PIC1mbm8tb21pdC1mcmFtZS1wb2ludGVyICAtSS93L1ItMy41Ll8vcG9zdGdyZXMvc3JjL2lu Y2x1ZGUvcG9ydC93aW4zMiAtREVYRUNfQkFDS0VORCAgLUkvdy96bGliLTEuMi44LXdpbjMyLXg4 Nl82NC9pbmNsdWRlIC1JL3cvb3BlbnNzbC0xLjAuMmUtd2luMzIteDg2XzY0L2luY2x1ZGUgLUkv dy9saWJ4bWwyLTIuOS4zLXdpbjMyLXg4Nl82NC9pbmNsdWRlL2xpYnhtbDIgLUkvdy9saWJ4c2x0 LTEuMS4yOC13aW4zMi14ODZfNjQvaW5jbHVkZSBjb25mdGVzdC5jID4mNQpjb25mdGVzdC5jOiBJ biBmdW5jdGlvbiAnbWFpbic6CmNvbmZ0ZXN0LmM6MTAzOjIzOiBlcnJvcjogZXhwZWN0ZWQgZXhw cmVzc2lvbiBiZWZvcmUgJyknIHRva2VuCiBpZiAoc2l6ZW9mICgoaW50cHRyX3QpKSkKICAgICAg ICAgICAgICAgICAgICAgICBeCmNvbmZpZ3VyZToxNDA1NDogJD8gPSAxCmNvbmZpZ3VyZTogZmFp bGVkIHByb2dyYW0gd2FzOgp8IC8qIGNvbmZkZWZzLmggKi8KfCAjZGVmaW5lIFBBQ0tBR0VfTkFN RSAiUG9zdGdyZVNRTCIKfCAjZGVmaW5lIFBBQ0tBR0VfVEFSTkFNRSAicG9zdGdyZXNxbCIKfCAj ZGVmaW5lIFBBQ0tBR0VfVkVSU0lPTiAiMTFiZXRhMyIKfCAjZGVmaW5lIFBBQ0tBR0VfU1RSSU5H ICJQb3N0Z3JlU1FMIDExYmV0YTMiCnwgI2RlZmluZSBQQUNLQUdFX0JVR1JFUE9SVCAicGdzcWwt YnVnc0Bwb3N0Z3Jlc3FsLm9yZyIKfCAjZGVmaW5lIFBBQ0tBR0VfVVJMICIiCnwgI2RlZmluZSBQ R19NQUpPUlZFUlNJT04gIjExIgp8ICNkZWZpbmUgUEdfVkVSU0lPTiAiMTFiZXRhMyIKfCAjZGVm aW5lIERFRl9QR1BPUlQgNTQzMgp8ICNkZWZpbmUgREVGX1BHUE9SVF9TVFIgIjU0MzIiCnwgI2Rl ZmluZSBCTENLU1ogODE5Mgp8ICNkZWZpbmUgUkVMU0VHX1NJWkUgMTMxMDcyCnwgI2RlZmluZSBY TE9HX0JMQ0tTWiA4MTkyCnwgI2RlZmluZSBVU0VfQVNTRVJUX0NIRUNLSU5HIDEKfCAjZGVmaW5l IEVOQUJMRV9USFJFQURfU0FGRVRZIDEKfCAjZGVmaW5lIFVTRV9JQ1UgMQp8ICNkZWZpbmUgUEdf S1JCX1NSVk5BTSAicG9zdGdyZXMiCnwgI2RlZmluZSBVU0VfT1BFTlNTTCAxCnwgI2RlZmluZSBV U0VfTElCWE1MIDEKfCAjZGVmaW5lIFVTRV9MSUJYU0xUIDEKfCAjZGVmaW5lIFNURENfSEVBREVS UyAxCnwgI2RlZmluZSBIQVZFX1NZU19UWVBFU19IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NUQVRf SCAxCnwgI2RlZmluZSBIQVZFX1NURExJQl9IIDEKfCAjZGVmaW5lIEhBVkVfU1RSSU5HX0ggMQp8 ICNkZWZpbmUgSEFWRV9NRU1PUllfSCAxCnwgI2RlZmluZSBIQVZFX1NUUklOR1NfSCAxCnwgI2Rl ZmluZSBIQVZFX0lOVFRZUEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERJTlRfSCAxCnwgI2RlZmlu ZSBIQVZFX1VOSVNURF9IIDEKfCAjZGVmaW5lIEhBVkVfTElCTSAxCnwgI2RlZmluZSBIQVZFX0xJ QlogMQp8ICNkZWZpbmUgSEFWRV9TUElOTE9DS1MgMQp8ICNkZWZpbmUgSEFWRV9BVE9NSUNTIDEK fCAjZGVmaW5lIEhBVkVfU1NMX0dFVF9DVVJSRU5UX0NPTVBSRVNTSU9OIDEKfCAjZGVmaW5lIEhB VkVfWDUwOV9HRVRfU0lHTkFUVVJFX05JRCAxCnwgI2RlZmluZSBIQVZFX0NSWVBUT19MT0NLIDEK fCAjZGVmaW5lIEhBVkVfTElCWE1MMiAxCnwgI2RlZmluZSBIQVZFX0xJQlhTTFQgMQp8ICNkZWZp bmUgSEFWRV9fQk9PTCAxCnwgI2RlZmluZSBIQVZFX1NUREJPT0xfSCAxCnwgI2RlZmluZSBIQVZF X0dFVE9QVF9IIDEKfCAjZGVmaW5lIEhBVkVfSUVFRUZQX0ggMQp8ICNkZWZpbmUgSEFWRV9VVElN RV9IIDEKfCAjZGVmaW5lIEhBVkVfV0NIQVJfSCAxCnwgI2RlZmluZSBIQVZFX1dDVFlQRV9IIDEK fCAjZGVmaW5lIEhBVkVfQ1JUREVGU19IIDEKfCAjZGVmaW5lIFBHX1BSSU5URl9BVFRSSUJVVEUg Z251X3ByaW50Zgp8ICNkZWZpbmUgRkxFWElCTEVfQVJSQVlfTUVNQkVSIC8qKi8KfCAjZGVmaW5l IEhBVkVfRlVOQ05BTUVfX0ZVTkMgMQp8ICNkZWZpbmUgSEFWRV9fU1RBVElDX0FTU0VSVCAxCnwg I2RlZmluZSBIQVZFX1RZUEVPRiAxCnwgI2RlZmluZSBIQVZFX19CVUlMVElOX1RZUEVTX0NPTVBB VElCTEVfUCAxCnwgI2RlZmluZSBIQVZFX19CVUlMVElOX0JTV0FQMTYgMQp8ICNkZWZpbmUgSEFW RV9fQlVJTFRJTl9CU1dBUDMyIDEKfCAjZGVmaW5lIEhBVkVfX0JVSUxUSU5fQlNXQVA2NCAxCnwg I2RlZmluZSBIQVZFX19CVUlMVElOX0NPTlNUQU5UX1AgMQp8ICNkZWZpbmUgSEFWRV9fQlVJTFRJ Tl9VTlJFQUNIQUJMRSAxCnwgI2RlZmluZSBIQVZFX0NPTVBVVEVEX0dPVE8gMQp8ICNkZWZpbmUg SEFWRV9fVkFfQVJHUyAxCnwgI2RlZmluZSBIQVZFX1RaTkFNRSAxCnwgI2RlZmluZSBIQVZFX1NU UlVDVF9TT0NLQUREUl9TVE9SQUdFIDEKfCAjZGVmaW5lIEhBVkVfU1RSVUNUX1NPQ0tBRERSX1NU T1JBR0VfU1NfRkFNSUxZIDEKfCAjZGVmaW5lIEhBVkVfU1RSVUNUX0FERFJJTkZPIDEKfCAvKiBl bmQgY29uZmRlZnMuaC4gICovCnwgI2luY2x1ZGUgPHN0ZGlvLmg+CnwgI2lmZGVmIEhBVkVfU1lT X1RZUEVTX0gKfCAjIGluY2x1ZGUgPHN5cy90eXBlcy5oPgp8ICNlbmRpZgp8ICNpZmRlZiBIQVZF X1NZU19TVEFUX0gKfCAjIGluY2x1ZGUgPHN5cy9zdGF0Lmg+CnwgI2VuZGlmCnwgI2lmZGVmIFNU RENfSEVBREVSUwp8ICMgaW5jbHVkZSA8c3RkbGliLmg+CnwgIyBpbmNsdWRlIDxzdGRkZWYuaD4K fCAjZWxzZQp8ICMgaWZkZWYgSEFWRV9TVERMSUJfSAp8ICMgIGluY2x1ZGUgPHN0ZGxpYi5oPgp8 ICMgZW5kaWYKfCAjZW5kaWYKfCAjaWZkZWYgSEFWRV9TVFJJTkdfSAp8ICMgaWYgIWRlZmluZWQg U1REQ19IRUFERVJTICYmIGRlZmluZWQgSEFWRV9NRU1PUllfSAp8ICMgIGluY2x1ZGUgPG1lbW9y eS5oPgp8ICMgZW5kaWYKfCAjIGluY2x1ZGUgPHN0cmluZy5oPgp8ICNlbmRpZgp8ICNpZmRlZiBI QVZFX1NUUklOR1NfSAp8ICMgaW5jbHVkZSA8c3RyaW5ncy5oPgp8ICNlbmRpZgp8ICNpZmRlZiBI QVZFX0lOVFRZUEVTX0gKfCAjIGluY2x1ZGUgPGludHR5cGVzLmg+CnwgI2VuZGlmCnwgI2lmZGVm IEhBVkVfU1RESU5UX0gKfCAjIGluY2x1ZGUgPHN0ZGludC5oPgp8ICNlbmRpZgp8ICNpZmRlZiBI QVZFX1VOSVNURF9ICnwgIyBpbmNsdWRlIDx1bmlzdGQuaD4KfCAjZW5kaWYKfCBpbnQKfCBtYWlu ICgpCnwgewp8IGlmIChzaXplb2YgKChpbnRwdHJfdCkpKQp8IAkgICAgcmV0dXJuIDA7CnwgICA7 CnwgICByZXR1cm4gMDsKfCB9CmNvbmZpZ3VyZToxNDA1NDogcmVzdWx0OiB5ZXMKY29uZmlndXJl OjE0MDkwOiBjaGVja2luZyBmb3IgdWludHB0cl90CmNvbmZpZ3VyZToxNDA5MDogeDg2XzY0LXc2 NC1taW5ndzMyLWdjYyAtYyAtV2FsbCAtV21pc3NpbmctcHJvdG90eXBlcyAtV3BvaW50ZXItYXJp dGggLVdkZWNsYXJhdGlvbi1hZnRlci1zdGF0ZW1lbnQgLVdlbmRpZi1sYWJlbHMgLVdtaXNzaW5n LWZvcm1hdC1hdHRyaWJ1dGUgLVdmb3JtYXQtc2VjdXJpdHkgLWZuby1zdHJpY3QtYWxpYXNpbmcg LWZ3cmFwdiAtZmV4Y2Vzcy1wcmVjaXNpb249c3RhbmRhcmQgLVduby1mb3JtYXQtdHJ1bmNhdGlv biAtV25vLXN0cmluZ29wLXRydW5jYXRpb24gLWcgLU8gLWZuby1vbWl0LWZyYW1lLXBvaW50ZXIg IC1JL3cvUi0zLjUuXy9wb3N0Z3Jlcy9zcmMvaW5jbHVkZS9wb3J0L3dpbjMyIC1ERVhFQ19CQUNL RU5EICAtSS93L3psaWItMS4yLjgtd2luMzIteDg2XzY0L2luY2x1ZGUgLUkvdy9vcGVuc3NsLTEu MC4yZS13aW4zMi14ODZfNjQvaW5jbHVkZSAtSS93L2xpYnhtbDItMi45LjMtd2luMzIteDg2XzY0 L2luY2x1ZGUvbGlieG1sMiAtSS93L2xpYnhzbHQtMS4xLjI4LXdpbjMyLXg4Nl82NC9pbmNsdWRl IGNvbmZ0ZXN0LmMgPiY1CmNvbmZpZ3VyZToxNDA5MDogJD8gPSAwCmNvbmZpZ3VyZToxNDA5MDog eDg2XzY0LXc2NC1taW5ndzMyLWdjYyAtYyAtV2FsbCAtV21pc3NpbmctcHJvdG90eXBlcyAtV3Bv aW50ZXItYXJpdGggLVdkZWNsYXJhdGlvbi1hZnRlci1zdGF0ZW1lbnQgLVdlbmRpZi1sYWJlbHMg LVdtaXNzaW5nLWZvcm1hdC1hdHRyaWJ1dGUgLVdmb3JtYXQtc2VjdXJpdHkgLWZuby1zdHJpY3Qt YWxpYXNpbmcgLWZ3cmFwdiAtZmV4Y2Vzcy1wcmVjaXNpb249c3RhbmRhcmQgLVduby1mb3JtYXQt dHJ1bmNhdGlvbiAtV25vLXN0cmluZ29wLXRydW5jYXRpb24gLWcgLU8gLWZuby1vbWl0LWZyYW1l LXBvaW50ZXIgIC1JL3cvUi0zLjUuXy9wb3N0Z3Jlcy9zcmMvaW5jbHVkZS9wb3J0L3dpbjMyIC1E RVhFQ19CQUNLRU5EICAtSS93L3psaWItMS4yLjgtd2luMzIteDg2XzY0L2luY2x1ZGUgLUkvdy9v cGVuc3NsLTEuMC4yZS13aW4zMi14ODZfNjQvaW5jbHVkZSAtSS93L2xpYnhtbDItMi45LjMtd2lu MzIteDg2XzY0L2luY2x1ZGUvbGlieG1sMiAtSS93L2xpYnhzbHQtMS4xLjI4LXdpbjMyLXg4Nl82 NC9pbmNsdWRlIGNvbmZ0ZXN0LmMgPiY1CmNvbmZ0ZXN0LmM6IEluIGZ1bmN0aW9uICdtYWluJzoK Y29uZnRlc3QuYzoxMDQ6MjQ6IGVycm9yOiBleHBlY3RlZCBleHByZXNzaW9uIGJlZm9yZSAnKScg dG9rZW4KIGlmIChzaXplb2YgKCh1aW50cHRyX3QpKSkKICAgICAgICAgICAgICAgICAgICAgICAg Xgpjb25maWd1cmU6MTQwOTA6ICQ/ID0gMQpjb25maWd1cmU6IGZhaWxlZCBwcm9ncmFtIHdhczoK fCAvKiBjb25mZGVmcy5oICovCnwgI2RlZmluZSBQQUNLQUdFX05BTUUgIlBvc3RncmVTUUwiCnwg I2RlZmluZSBQQUNLQUdFX1RBUk5BTUUgInBvc3RncmVzcWwiCnwgI2RlZmluZSBQQUNLQUdFX1ZF UlNJT04gIjExYmV0YTMiCnwgI2RlZmluZSBQQUNLQUdFX1NUUklORyAiUG9zdGdyZVNRTCAxMWJl dGEzIgp8ICNkZWZpbmUgUEFDS0FHRV9CVUdSRVBPUlQgInBnc3FsLWJ1Z3NAcG9zdGdyZXNxbC5v cmciCnwgI2RlZmluZSBQQUNLQUdFX1VSTCAiIgp8ICNkZWZpbmUgUEdfTUFKT1JWRVJTSU9OICIx MSIKfCAjZGVmaW5lIFBHX1ZFUlNJT04gIjExYmV0YTMiCnwgI2RlZmluZSBERUZfUEdQT1JUIDU0 MzIKfCAjZGVmaW5lIERFRl9QR1BPUlRfU1RSICI1NDMyIgp8ICNkZWZpbmUgQkxDS1NaIDgxOTIK fCAjZGVmaW5lIFJFTFNFR19TSVpFIDEzMTA3Mgp8ICNkZWZpbmUgWExPR19CTENLU1ogODE5Mgp8 ICNkZWZpbmUgVVNFX0FTU0VSVF9DSEVDS0lORyAxCnwgI2RlZmluZSBFTkFCTEVfVEhSRUFEX1NB RkVUWSAxCnwgI2RlZmluZSBVU0VfSUNVIDEKfCAjZGVmaW5lIFBHX0tSQl9TUlZOQU0gInBvc3Rn cmVzIgp8ICNkZWZpbmUgVVNFX09QRU5TU0wgMQp8ICNkZWZpbmUgVVNFX0xJQlhNTCAxCnwgI2Rl ZmluZSBVU0VfTElCWFNMVCAxCnwgI2RlZmluZSBTVERDX0hFQURFUlMgMQp8ICNkZWZpbmUgSEFW RV9TWVNfVFlQRVNfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19TVEFUX0ggMQp8ICNkZWZpbmUgSEFW RV9TVERMSUJfSCAxCnwgI2RlZmluZSBIQVZFX1NUUklOR19IIDEKfCAjZGVmaW5lIEhBVkVfTUVN T1JZX0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJJTkdTX0ggMQp8ICNkZWZpbmUgSEFWRV9JTlRUWVBF U19IIDEKfCAjZGVmaW5lIEhBVkVfU1RESU5UX0ggMQp8ICNkZWZpbmUgSEFWRV9VTklTVERfSCAx CnwgI2RlZmluZSBIQVZFX0xJQk0gMQp8ICNkZWZpbmUgSEFWRV9MSUJaIDEKfCAjZGVmaW5lIEhB VkVfU1BJTkxPQ0tTIDEKfCAjZGVmaW5lIEhBVkVfQVRPTUlDUyAxCnwgI2RlZmluZSBIQVZFX1NT TF9HRVRfQ1VSUkVOVF9DT01QUkVTU0lPTiAxCnwgI2RlZmluZSBIQVZFX1g1MDlfR0VUX1NJR05B VFVSRV9OSUQgMQp8ICNkZWZpbmUgSEFWRV9DUllQVE9fTE9DSyAxCnwgI2RlZmluZSBIQVZFX0xJ QlhNTDIgMQp8ICNkZWZpbmUgSEFWRV9MSUJYU0xUIDEKfCAjZGVmaW5lIEhBVkVfX0JPT0wgMQp8 ICNkZWZpbmUgSEFWRV9TVERCT09MX0ggMQp8ICNkZWZpbmUgSEFWRV9HRVRPUFRfSCAxCnwgI2Rl ZmluZSBIQVZFX0lFRUVGUF9IIDEKfCAjZGVmaW5lIEhBVkVfVVRJTUVfSCAxCnwgI2RlZmluZSBI QVZFX1dDSEFSX0ggMQp8ICNkZWZpbmUgSEFWRV9XQ1RZUEVfSCAxCnwgI2RlZmluZSBIQVZFX0NS VERFRlNfSCAxCnwgI2RlZmluZSBQR19QUklOVEZfQVRUUklCVVRFIGdudV9wcmludGYKfCAjZGVm aW5lIEZMRVhJQkxFX0FSUkFZX01FTUJFUiAvKiovCnwgI2RlZmluZSBIQVZFX0ZVTkNOQU1FX19G VU5DIDEKfCAjZGVmaW5lIEhBVkVfX1NUQVRJQ19BU1NFUlQgMQp8ICNkZWZpbmUgSEFWRV9UWVBF T0YgMQp8ICNkZWZpbmUgSEFWRV9fQlVJTFRJTl9UWVBFU19DT01QQVRJQkxFX1AgMQp8ICNkZWZp bmUgSEFWRV9fQlVJTFRJTl9CU1dBUDE2IDEKfCAjZGVmaW5lIEhBVkVfX0JVSUxUSU5fQlNXQVAz MiAxCnwgI2RlZmluZSBIQVZFX19CVUlMVElOX0JTV0FQNjQgMQp8ICNkZWZpbmUgSEFWRV9fQlVJ TFRJTl9DT05TVEFOVF9QIDEKfCAjZGVmaW5lIEhBVkVfX0JVSUxUSU5fVU5SRUFDSEFCTEUgMQp8 ICNkZWZpbmUgSEFWRV9DT01QVVRFRF9HT1RPIDEKfCAjZGVmaW5lIEhBVkVfX1ZBX0FSR1MgMQp8 ICNkZWZpbmUgSEFWRV9UWk5BTUUgMQp8ICNkZWZpbmUgSEFWRV9TVFJVQ1RfU09DS0FERFJfU1RP UkFHRSAxCnwgI2RlZmluZSBIQVZFX1NUUlVDVF9TT0NLQUREUl9TVE9SQUdFX1NTX0ZBTUlMWSAx CnwgI2RlZmluZSBIQVZFX1NUUlVDVF9BRERSSU5GTyAxCnwgI2RlZmluZSBIQVZFX0lOVFBUUl9U IDEKfCAvKiBlbmQgY29uZmRlZnMuaC4gICovCnwgI2luY2x1ZGUgPHN0ZGlvLmg+CnwgI2lmZGVm IEhBVkVfU1lTX1RZUEVTX0gKfCAjIGluY2x1ZGUgPHN5cy90eXBlcy5oPgp8ICNlbmRpZgp8ICNp ZmRlZiBIQVZFX1NZU19TVEFUX0gKfCAjIGluY2x1ZGUgPHN5cy9zdGF0Lmg+CnwgI2VuZGlmCnwg I2lmZGVmIFNURENfSEVBREVSUwp8ICMgaW5jbHVkZSA8c3RkbGliLmg+CnwgIyBpbmNsdWRlIDxz dGRkZWYuaD4KfCAjZWxzZQp8ICMgaWZkZWYgSEFWRV9TVERMSUJfSAp8ICMgIGluY2x1ZGUgPHN0 ZGxpYi5oPgp8ICMgZW5kaWYKfCAjZW5kaWYKfCAjaWZkZWYgSEFWRV9TVFJJTkdfSAp8ICMgaWYg IWRlZmluZWQgU1REQ19IRUFERVJTICYmIGRlZmluZWQgSEFWRV9NRU1PUllfSAp8ICMgIGluY2x1 ZGUgPG1lbW9yeS5oPgp8ICMgZW5kaWYKfCAjIGluY2x1ZGUgPHN0cmluZy5oPgp8ICNlbmRpZgp8 ICNpZmRlZiBIQVZFX1NUUklOR1NfSAp8ICMgaW5jbHVkZSA8c3RyaW5ncy5oPgp8ICNlbmRpZgp8 ICNpZmRlZiBIQVZFX0lOVFRZUEVTX0gKfCAjIGluY2x1ZGUgPGludHR5cGVzLmg+CnwgI2VuZGlm CnwgI2lmZGVmIEhBVkVfU1RESU5UX0gKfCAjIGluY2x1ZGUgPHN0ZGludC5oPgp8ICNlbmRpZgp8 ICNpZmRlZiBIQVZFX1VOSVNURF9ICnwgIyBpbmNsdWRlIDx1bmlzdGQuaD4KfCAjZW5kaWYKfCBp bnQKfCBtYWluICgpCnwgewp8IGlmIChzaXplb2YgKCh1aW50cHRyX3QpKSkKfCAJICAgIHJldHVy biAwOwp8ICAgOwp8ICAgcmV0dXJuIDA7CnwgfQpjb25maWd1cmU6MTQwOTA6IHJlc3VsdDogeWVz CmNvbmZpZ3VyZToxNDEyNzogY2hlY2tpbmcgZm9yIHVuc2lnbmVkIGxvbmcgbG9uZyBpbnQKY29u ZmlndXJlOjE0MTY2OiB4ODZfNjQtdzY0LW1pbmd3MzItZ2NjIC1vIGNvbmZ0ZXN0LmV4ZSAtV2Fs bCAtV21pc3NpbmctcHJvdG90eXBlcyAtV3BvaW50ZXItYXJpdGggLVdkZWNsYXJhdGlvbi1hZnRl ci1zdGF0ZW1lbnQgLVdlbmRpZi1sYWJlbHMgLVdtaXNzaW5nLWZvcm1hdC1hdHRyaWJ1dGUgLVdm b3JtYXQtc2VjdXJpdHkgLWZuby1zdHJpY3QtYWxpYXNpbmcgLWZ3cmFwdiAtZmV4Y2Vzcy1wcmVj aXNpb249c3RhbmRhcmQgLVduby1mb3JtYXQtdHJ1bmNhdGlvbiAtV25vLXN0cmluZ29wLXRydW5j YXRpb24gLWcgLU8gLWZuby1vbWl0LWZyYW1lLXBvaW50ZXIgIC1JL3cvUi0zLjUuXy9wb3N0Z3Jl cy9zcmMvaW5jbHVkZS9wb3J0L3dpbjMyIC1ERVhFQ19CQUNLRU5EICAtSS93L3psaWItMS4yLjgt d2luMzIteDg2XzY0L2luY2x1ZGUgLUkvdy9vcGVuc3NsLTEuMC4yZS13aW4zMi14ODZfNjQvaW5j bHVkZSAtSS93L2xpYnhtbDItMi45LjMtd2luMzIteDg2XzY0L2luY2x1ZGUvbGlieG1sMiAtSS93 L2xpYnhzbHQtMS4xLjI4LXdpbjMyLXg4Nl82NC9pbmNsdWRlICAtV2wsLS1hbGxvdy1tdWx0aXBs ZS1kZWZpbml0aW9uIC1XbCwtLWRpc2FibGUtYXV0by1pbXBvcnQgIC1ML3cvemxpYi0xLjIuOC13 aW4zMi14ODZfNjQvbGliIC1ML3cvb3BlbnNzbC0xLjAuMmUtd2luMzIteDg2XzY0L2xpYiAtTC93 L2xpYnhtbDItMi45LjMtd2luMzIteDg2XzY0L2xpYiAtTC93L2xpYnhzbHQtMS4xLjI4LXdpbjMy LXg4Nl82NC9saWIgY29uZnRlc3QuYyAtbHhzbHQgLWx4bWwyIC1sc3NsIC1sY3J5cHRvIC1seiAt bHdzMl8zMiAtbG0gID4mNQpjb25maWd1cmU6MTQxNjY6ICQ/ID0gMApjb25maWd1cmU6MTQxNzU6 IHJlc3VsdDogeWVzCmNvbmZpZ3VyZToxNDE4NTogY2hlY2tpbmcgZm9yIGxvbmcgbG9uZyBpbnQK Y29uZmlndXJlOjE0MjIzOiB4ODZfNjQtdzY0LW1pbmd3MzItZ2NjIC1vIGNvbmZ0ZXN0LmV4ZSAt V2FsbCAtV21pc3NpbmctcHJvdG90eXBlcyAtV3BvaW50ZXItYXJpdGggLVdkZWNsYXJhdGlvbi1h ZnRlci1zdGF0ZW1lbnQgLVdlbmRpZi1sYWJlbHMgLVdtaXNzaW5nLWZvcm1hdC1hdHRyaWJ1dGUg LVdmb3JtYXQtc2VjdXJpdHkgLWZuby1zdHJpY3QtYWxpYXNpbmcgLWZ3cmFwdiAtZmV4Y2Vzcy1w cmVjaXNpb249c3RhbmRhcmQgLVduby1mb3JtYXQtdHJ1bmNhdGlvbiAtV25vLXN0cmluZ29wLXRy dW5jYXRpb24gLWcgLU8gLWZuby1vbWl0LWZyYW1lLXBvaW50ZXIgIC1JL3cvUi0zLjUuXy9wb3N0 Z3Jlcy9zcmMvaW5jbHVkZS9wb3J0L3dpbjMyIC1ERVhFQ19CQUNLRU5EICAtSS93L3psaWItMS4y Ljgtd2luMzIteDg2XzY0L2luY2x1ZGUgLUkvdy9vcGVuc3NsLTEuMC4yZS13aW4zMi14ODZfNjQv aW5jbHVkZSAtSS93L2xpYnhtbDItMi45LjMtd2luMzIteDg2XzY0L2luY2x1ZGUvbGlieG1sMiAt SS93L2xpYnhzbHQtMS4xLjI4LXdpbjMyLXg4Nl82NC9pbmNsdWRlICAtV2wsLS1hbGxvdy1tdWx0 aXBsZS1kZWZpbml0aW9uIC1XbCwtLWRpc2FibGUtYXV0by1pbXBvcnQgIC1ML3cvemxpYi0xLjIu OC13aW4zMi14ODZfNjQvbGliIC1ML3cvb3BlbnNzbC0xLjAuMmUtd2luMzIteDg2XzY0L2xpYiAt TC93L2xpYnhtbDItMi45LjMtd2luMzIteDg2XzY0L2xpYiAtTC93L2xpYnhzbHQtMS4xLjI4LXdp bjMyLXg4Nl82NC9saWIgY29uZnRlc3QuYyAtbHhzbHQgLWx4bWwyIC1sc3NsIC1sY3J5cHRvIC1s eiAtbHdzMl8zMiAtbG0gID4mNQpjb25maWd1cmU6MTQyMjM6ICQ/ID0gMApjb25maWd1cmU6MTQy MjM6IC4vY29uZnRlc3QuZXhlCmNvbmZpZ3VyZToxNDIyMzogJD8gPSAwCmNvbmZpZ3VyZToxNDIz NTogcmVzdWx0OiB5ZXMKY29uZmlndXJlOjE0MjQ0OiBjaGVja2luZyBmb3IgbG9jYWxlX3QKY29u ZmlndXJlOjE0MjYxOiB4ODZfNjQtdzY0LW1pbmd3MzItZ2NjIC1jIC1XYWxsIC1XbWlzc2luZy1w cm90b3R5cGVzIC1XcG9pbnRlci1hcml0aCAtV2RlY2xhcmF0aW9uLWFmdGVyLXN0YXRlbWVudCAt V2VuZGlmLWxhYmVscyAtV21pc3NpbmctZm9ybWF0LWF0dHJpYnV0ZSAtV2Zvcm1hdC1zZWN1cml0 eSAtZm5vLXN0cmljdC1hbGlhc2luZyAtZndyYXB2IC1mZXhjZXNzLXByZWNpc2lvbj1zdGFuZGFy ZCAtV25vLWZvcm1hdC10cnVuY2F0aW9uIC1Xbm8tc3RyaW5nb3AtdHJ1bmNhdGlvbiAtZyAtTyAt Zm5vLW9taXQtZnJhbWUtcG9pbnRlciAgLUkvdy9SLTMuNS5fL3Bvc3RncmVzL3NyYy9pbmNsdWRl L3BvcnQvd2luMzIgLURFWEVDX0JBQ0tFTkQgIC1JL3cvemxpYi0xLjIuOC13aW4zMi14ODZfNjQv aW5jbHVkZSAtSS93L29wZW5zc2wtMS4wLjJlLXdpbjMyLXg4Nl82NC9pbmNsdWRlIC1JL3cvbGli eG1sMi0yLjkuMy13aW4zMi14ODZfNjQvaW5jbHVkZS9saWJ4bWwyIC1JL3cvbGlieHNsdC0xLjEu Mjgtd2luMzIteDg2XzY0L2luY2x1ZGUgY29uZnRlc3QuYyA+JjUKY29uZnRlc3QuYzo3MjoxOiBl cnJvcjogdW5rbm93biB0eXBlIG5hbWUgJ2xvY2FsZV90JzsgZGlkIHlvdSBtZWFuICdfbG9jYWxl X3QnPwogbG9jYWxlX3QgeDsKIF5+fn5+fn5+CiBfbG9jYWxlX3QKY29uZmlndXJlOjE0MjYxOiAk PyA9IDEKY29uZmlndXJlOiBmYWlsZWQgcHJvZ3JhbSB3YXM6CnwgLyogY29uZmRlZnMuaCAqLwp8 ICNkZWZpbmUgUEFDS0FHRV9OQU1FICJQb3N0Z3JlU1FMIgp8ICNkZWZpbmUgUEFDS0FHRV9UQVJO QU1FICJwb3N0Z3Jlc3FsIgp8ICNkZWZpbmUgUEFDS0FHRV9WRVJTSU9OICIxMWJldGEzIgp8ICNk ZWZpbmUgUEFDS0FHRV9TVFJJTkcgIlBvc3RncmVTUUwgMTFiZXRhMyIKfCAjZGVmaW5lIFBBQ0tB R0VfQlVHUkVQT1JUICJwZ3NxbC1idWdzQHBvc3RncmVzcWwub3JnIgp8ICNkZWZpbmUgUEFDS0FH RV9VUkwgIiIKfCAjZGVmaW5lIFBHX01BSk9SVkVSU0lPTiAiMTEiCnwgI2RlZmluZSBQR19WRVJT SU9OICIxMWJldGEzIgp8ICNkZWZpbmUgREVGX1BHUE9SVCA1NDMyCnwgI2RlZmluZSBERUZfUEdQ T1JUX1NUUiAiNTQzMiIKfCAjZGVmaW5lIEJMQ0tTWiA4MTkyCnwgI2RlZmluZSBSRUxTRUdfU0la RSAxMzEwNzIKfCAjZGVmaW5lIFhMT0dfQkxDS1NaIDgxOTIKfCAjZGVmaW5lIFVTRV9BU1NFUlRf Q0hFQ0tJTkcgMQp8ICNkZWZpbmUgRU5BQkxFX1RIUkVBRF9TQUZFVFkgMQp8ICNkZWZpbmUgVVNF X0lDVSAxCnwgI2RlZmluZSBQR19LUkJfU1JWTkFNICJwb3N0Z3JlcyIKfCAjZGVmaW5lIFVTRV9P UEVOU1NMIDEKfCAjZGVmaW5lIFVTRV9MSUJYTUwgMQp8ICNkZWZpbmUgVVNFX0xJQlhTTFQgMQp8 ICNkZWZpbmUgU1REQ19IRUFERVJTIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1RZUEVTX0ggMQp8ICNk ZWZpbmUgSEFWRV9TWVNfU1RBVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1RETElCX0ggMQp8ICNkZWZp bmUgSEFWRV9TVFJJTkdfSCAxCnwgI2RlZmluZSBIQVZFX01FTU9SWV9IIDEKfCAjZGVmaW5lIEhB VkVfU1RSSU5HU19IIDEKfCAjZGVmaW5lIEhBVkVfSU5UVFlQRVNfSCAxCnwgI2RlZmluZSBIQVZF X1NURElOVF9IIDEKfCAjZGVmaW5lIEhBVkVfVU5JU1REX0ggMQp8ICNkZWZpbmUgSEFWRV9MSUJN IDEKfCAjZGVmaW5lIEhBVkVfTElCWiAxCnwgI2RlZmluZSBIQVZFX1NQSU5MT0NLUyAxCnwgI2Rl ZmluZSBIQVZFX0FUT01JQ1MgMQp8ICNkZWZpbmUgSEFWRV9TU0xfR0VUX0NVUlJFTlRfQ09NUFJF U1NJT04gMQp8ICNkZWZpbmUgSEFWRV9YNTA5X0dFVF9TSUdOQVRVUkVfTklEIDEKfCAjZGVmaW5l IEhBVkVfQ1JZUFRPX0xPQ0sgMQp8ICNkZWZpbmUgSEFWRV9MSUJYTUwyIDEKfCAjZGVmaW5lIEhB VkVfTElCWFNMVCAxCnwgI2RlZmluZSBIQVZFX19CT09MIDEKfCAjZGVmaW5lIEhBVkVfU1REQk9P TF9IIDEKfCAjZGVmaW5lIEhBVkVfR0VUT1BUX0ggMQp8ICNkZWZpbmUgSEFWRV9JRUVFRlBfSCAx CnwgI2RlZmluZSBIQVZFX1VUSU1FX0ggMQp8ICNkZWZpbmUgSEFWRV9XQ0hBUl9IIDEKfCAjZGVm aW5lIEhBVkVfV0NUWVBFX0ggMQp8ICNkZWZpbmUgSEFWRV9DUlRERUZTX0ggMQp8ICNkZWZpbmUg UEdfUFJJTlRGX0FUVFJJQlVURSBnbnVfcHJpbnRmCnwgI2RlZmluZSBGTEVYSUJMRV9BUlJBWV9N RU1CRVIgLyoqLwp8ICNkZWZpbmUgSEFWRV9GVU5DTkFNRV9fRlVOQyAxCnwgI2RlZmluZSBIQVZF X19TVEFUSUNfQVNTRVJUIDEKfCAjZGVmaW5lIEhBVkVfVFlQRU9GIDEKfCAjZGVmaW5lIEhBVkVf X0JVSUxUSU5fVFlQRVNfQ09NUEFUSUJMRV9QIDEKfCAjZGVmaW5lIEhBVkVfX0JVSUxUSU5fQlNX QVAxNiAxCnwgI2RlZmluZSBIQVZFX19CVUlMVElOX0JTV0FQMzIgMQp8ICNkZWZpbmUgSEFWRV9f QlVJTFRJTl9CU1dBUDY0IDEKfCAjZGVmaW5lIEhBVkVfX0JVSUxUSU5fQ09OU1RBTlRfUCAxCnwg I2RlZmluZSBIQVZFX19CVUlMVElOX1VOUkVBQ0hBQkxFIDEKfCAjZGVmaW5lIEhBVkVfQ09NUFVU RURfR09UTyAxCnwgI2RlZmluZSBIQVZFX19WQV9BUkdTIDEKfCAjZGVmaW5lIEhBVkVfVFpOQU1F IDEKfCAjZGVmaW5lIEhBVkVfU1RSVUNUX1NPQ0tBRERSX1NUT1JBR0UgMQp8ICNkZWZpbmUgSEFW RV9TVFJVQ1RfU09DS0FERFJfU1RPUkFHRV9TU19GQU1JTFkgMQp8ICNkZWZpbmUgSEFWRV9TVFJV Q1RfQUREUklORk8gMQp8ICNkZWZpbmUgSEFWRV9JTlRQVFJfVCAxCnwgI2RlZmluZSBIQVZFX1VJ TlRQVFJfVCAxCnwgI2RlZmluZSBIQVZFX1VOU0lHTkVEX0xPTkdfTE9OR19JTlQgMQp8ICNkZWZp bmUgSEFWRV9MT05HX0xPTkdfSU5UIDEKfCAvKiBlbmQgY29uZmRlZnMuaC4gICovCnwgI2luY2x1 ZGUgPGxvY2FsZS5oPgp8IGxvY2FsZV90IHg7CnwgaW50CnwgbWFpbiAoKQp8IHsKfCAKfCAgIDsK fCAgIHJldHVybiAwOwp8IH0KY29uZmlndXJlOjE0Mjc2OiB4ODZfNjQtdzY0LW1pbmd3MzItZ2Nj IC1jIC1XYWxsIC1XbWlzc2luZy1wcm90b3R5cGVzIC1XcG9pbnRlci1hcml0aCAtV2RlY2xhcmF0 aW9uLWFmdGVyLXN0YXRlbWVudCAtV2VuZGlmLWxhYmVscyAtV21pc3NpbmctZm9ybWF0LWF0dHJp YnV0ZSAtV2Zvcm1hdC1zZWN1cml0eSAtZm5vLXN0cmljdC1hbGlhc2luZyAtZndyYXB2IC1mZXhj ZXNzLXByZWNpc2lvbj1zdGFuZGFyZCAtV25vLWZvcm1hdC10cnVuY2F0aW9uIC1Xbm8tc3RyaW5n b3AtdHJ1bmNhdGlvbiAtZyAtTyAtZm5vLW9taXQtZnJhbWUtcG9pbnRlciAgLUkvdy9SLTMuNS5f L3Bvc3RncmVzL3NyYy9pbmNsdWRlL3BvcnQvd2luMzIgLURFWEVDX0JBQ0tFTkQgIC1JL3cvemxp Yi0xLjIuOC13aW4zMi14ODZfNjQvaW5jbHVkZSAtSS93L29wZW5zc2wtMS4wLjJlLXdpbjMyLXg4 Nl82NC9pbmNsdWRlIC1JL3cvbGlieG1sMi0yLjkuMy13aW4zMi14ODZfNjQvaW5jbHVkZS9saWJ4 bWwyIC1JL3cvbGlieHNsdC0xLjEuMjgtd2luMzIteDg2XzY0L2luY2x1ZGUgY29uZnRlc3QuYyA+ JjUKY29uZnRlc3QuYzo3MToxMDogZmF0YWwgZXJyb3I6IHhsb2NhbGUuaDogTm8gc3VjaCBmaWxl IG9yIGRpcmVjdG9yeQogI2luY2x1ZGUgPHhsb2NhbGUuaD4KICAgICAgICAgIF5+fn5+fn5+fn5+ CmNvbXBpbGF0aW9uIHRlcm1pbmF0ZWQuDQpjb25maWd1cmU6MTQyNzY6ICQ/ID0gMQpjb25maWd1 cmU6IGZhaWxlZCBwcm9ncmFtIHdhczoKfCAvKiBjb25mZGVmcy5oICovCnwgI2RlZmluZSBQQUNL QUdFX05BTUUgIlBvc3RncmVTUUwiCnwgI2RlZmluZSBQQUNLQUdFX1RBUk5BTUUgInBvc3RncmVz cWwiCnwgI2RlZmluZSBQQUNLQUdFX1ZFUlNJT04gIjExYmV0YTMiCnwgI2RlZmluZSBQQUNLQUdF X1NUUklORyAiUG9zdGdyZVNRTCAxMWJldGEzIgp8ICNkZWZpbmUgUEFDS0FHRV9CVUdSRVBPUlQg InBnc3FsLWJ1Z3NAcG9zdGdyZXNxbC5vcmciCnwgI2RlZmluZSBQQUNLQUdFX1VSTCAiIgp8ICNk ZWZpbmUgUEdfTUFKT1JWRVJTSU9OICIxMSIKfCAjZGVmaW5lIFBHX1ZFUlNJT04gIjExYmV0YTMi CnwgI2RlZmluZSBERUZfUEdQT1JUIDU0MzIKfCAjZGVmaW5lIERFRl9QR1BPUlRfU1RSICI1NDMy Igp8ICNkZWZpbmUgQkxDS1NaIDgxOTIKfCAjZGVmaW5lIFJFTFNFR19TSVpFIDEzMTA3Mgp8ICNk ZWZpbmUgWExPR19CTENLU1ogODE5Mgp8ICNkZWZpbmUgVVNFX0FTU0VSVF9DSEVDS0lORyAxCnwg I2RlZmluZSBFTkFCTEVfVEhSRUFEX1NBRkVUWSAxCnwgI2RlZmluZSBVU0VfSUNVIDEKfCAjZGVm aW5lIFBHX0tSQl9TUlZOQU0gInBvc3RncmVzIgp8ICNkZWZpbmUgVVNFX09QRU5TU0wgMQp8ICNk ZWZpbmUgVVNFX0xJQlhNTCAxCnwgI2RlZmluZSBVU0VfTElCWFNMVCAxCnwgI2RlZmluZSBTVERD X0hFQURFUlMgMQp8ICNkZWZpbmUgSEFWRV9TWVNfVFlQRVNfSCAxCnwgI2RlZmluZSBIQVZFX1NZ U19TVEFUX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERMSUJfSCAxCnwgI2RlZmluZSBIQVZFX1NUUklO R19IIDEKfCAjZGVmaW5lIEhBVkVfTUVNT1JZX0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJJTkdTX0gg MQp8ICNkZWZpbmUgSEFWRV9JTlRUWVBFU19IIDEKfCAjZGVmaW5lIEhBVkVfU1RESU5UX0ggMQp8 ICNkZWZpbmUgSEFWRV9VTklTVERfSCAxCnwgI2RlZmluZSBIQVZFX0xJQk0gMQp8ICNkZWZpbmUg SEFWRV9MSUJaIDEKfCAjZGVmaW5lIEhBVkVfU1BJTkxPQ0tTIDEKfCAjZGVmaW5lIEhBVkVfQVRP TUlDUyAxCnwgI2RlZmluZSBIQVZFX1NTTF9HRVRfQ1VSUkVOVF9DT01QUkVTU0lPTiAxCnwgI2Rl ZmluZSBIQVZFX1g1MDlfR0VUX1NJR05BVFVSRV9OSUQgMQp8ICNkZWZpbmUgSEFWRV9DUllQVE9f TE9DSyAxCnwgI2RlZmluZSBIQVZFX0xJQlhNTDIgMQp8ICNkZWZpbmUgSEFWRV9MSUJYU0xUIDEK fCAjZGVmaW5lIEhBVkVfX0JPT0wgMQp8ICNkZWZpbmUgSEFWRV9TVERCT09MX0ggMQp8ICNkZWZp bmUgSEFWRV9HRVRPUFRfSCAxCnwgI2RlZmluZSBIQVZFX0lFRUVGUF9IIDEKfCAjZGVmaW5lIEhB VkVfVVRJTUVfSCAxCnwgI2RlZmluZSBIQVZFX1dDSEFSX0ggMQp8ICNkZWZpbmUgSEFWRV9XQ1RZ UEVfSCAxCnwgI2RlZmluZSBIQVZFX0NSVERFRlNfSCAxCnwgI2RlZmluZSBQR19QUklOVEZfQVRU UklCVVRFIGdudV9wcmludGYKfCAjZGVmaW5lIEZMRVhJQkxFX0FSUkFZX01FTUJFUiAvKiovCnwg I2RlZmluZSBIQVZFX0ZVTkNOQU1FX19GVU5DIDEKfCAjZGVmaW5lIEhBVkVfX1NUQVRJQ19BU1NF UlQgMQp8ICNkZWZpbmUgSEFWRV9UWVBFT0YgMQp8ICNkZWZpbmUgSEFWRV9fQlVJTFRJTl9UWVBF U19DT01QQVRJQkxFX1AgMQp8ICNkZWZpbmUgSEFWRV9fQlVJTFRJTl9CU1dBUDE2IDEKfCAjZGVm aW5lIEhBVkVfX0JVSUxUSU5fQlNXQVAzMiAxCnwgI2RlZmluZSBIQVZFX19CVUlMVElOX0JTV0FQ NjQgMQp8ICNkZWZpbmUgSEFWRV9fQlVJTFRJTl9DT05TVEFOVF9QIDEKfCAjZGVmaW5lIEhBVkVf X0JVSUxUSU5fVU5SRUFDSEFCTEUgMQp8ICNkZWZpbmUgSEFWRV9DT01QVVRFRF9HT1RPIDEKfCAj ZGVmaW5lIEhBVkVfX1ZBX0FSR1MgMQp8ICNkZWZpbmUgSEFWRV9UWk5BTUUgMQp8ICNkZWZpbmUg SEFWRV9TVFJVQ1RfU09DS0FERFJfU1RPUkFHRSAxCnwgI2RlZmluZSBIQVZFX1NUUlVDVF9TT0NL QUREUl9TVE9SQUdFX1NTX0ZBTUlMWSAxCnwgI2RlZmluZSBIQVZFX1NUUlVDVF9BRERSSU5GTyAx CnwgI2RlZmluZSBIQVZFX0lOVFBUUl9UIDEKfCAjZGVmaW5lIEhBVkVfVUlOVFBUUl9UIDEKfCAj ZGVmaW5lIEhBVkVfVU5TSUdORURfTE9OR19MT05HX0lOVCAxCnwgI2RlZmluZSBIQVZFX0xPTkdf TE9OR19JTlQgMQp8IC8qIGVuZCBjb25mZGVmcy5oLiAgKi8KfCAjaW5jbHVkZSA8eGxvY2FsZS5o Pgp8IGxvY2FsZV90IHg7CnwgaW50CnwgbWFpbiAoKQp8IHsKfCAKfCAgIDsKfCAgIHJldHVybiAw Owp8IH0KY29uZmlndXJlOjE0Mjg1OiByZXN1bHQ6IG5vCmNvbmZpZ3VyZToxNDMwNjogY2hlY2tp bmcgZm9yIEMvQysrIHJlc3RyaWN0IGtleXdvcmQKY29uZmlndXJlOjE0MzMxOiB4ODZfNjQtdzY0 LW1pbmd3MzItZ2NjIC1jIC1XYWxsIC1XbWlzc2luZy1wcm90b3R5cGVzIC1XcG9pbnRlci1hcml0 aCAtV2RlY2xhcmF0aW9uLWFmdGVyLXN0YXRlbWVudCAtV2VuZGlmLWxhYmVscyAtV21pc3Npbmct Zm9ybWF0LWF0dHJpYnV0ZSAtV2Zvcm1hdC1zZWN1cml0eSAtZm5vLXN0cmljdC1hbGlhc2luZyAt ZndyYXB2IC1mZXhjZXNzLXByZWNpc2lvbj1zdGFuZGFyZCAtV25vLWZvcm1hdC10cnVuY2F0aW9u IC1Xbm8tc3RyaW5nb3AtdHJ1bmNhdGlvbiAtZyAtTyAtZm5vLW9taXQtZnJhbWUtcG9pbnRlciAg LUkvdy9SLTMuNS5fL3Bvc3RncmVzL3NyYy9pbmNsdWRlL3BvcnQvd2luMzIgLURFWEVDX0JBQ0tF TkQgIC1JL3cvemxpYi0xLjIuOC13aW4zMi14ODZfNjQvaW5jbHVkZSAtSS93L29wZW5zc2wtMS4w LjJlLXdpbjMyLXg4Nl82NC9pbmNsdWRlIC1JL3cvbGlieG1sMi0yLjkuMy13aW4zMi14ODZfNjQv aW5jbHVkZS9saWJ4bWwyIC1JL3cvbGlieHNsdC0xLjEuMjgtd2luMzIteDg2XzY0L2luY2x1ZGUg Y29uZnRlc3QuYyA+JjUKY29uZnRlc3QuYzo3Mjo2OiB3YXJuaW5nOiBubyBwcmV2aW91cyBwcm90 b3R5cGUgZm9yICdmb28nIFstV21pc3NpbmctcHJvdG90eXBlc10KICBpbnQgZm9vIChpbnRfcHRy IF9fcmVzdHJpY3QgaXApIHsKICAgICAgXn5+CmNvbmZpZ3VyZToxNDMzMTogJD8gPSAwCmNvbmZp Z3VyZToxNDMzOTogcmVzdWx0OiBfX3Jlc3RyaWN0CmNvbmZpZ3VyZToxNDM2MzogY2hlY2tpbmcg Zm9yIHN0cnVjdCBjbXNnY3JlZApjb25maWd1cmU6MTQzNjM6IHg4Nl82NC13NjQtbWluZ3czMi1n Y2MgLWMgLVdhbGwgLVdtaXNzaW5nLXByb3RvdHlwZXMgLVdwb2ludGVyLWFyaXRoIC1XZGVjbGFy YXRpb24tYWZ0ZXItc3RhdGVtZW50IC1XZW5kaWYtbGFiZWxzIC1XbWlzc2luZy1mb3JtYXQtYXR0 cmlidXRlIC1XZm9ybWF0LXNlY3VyaXR5IC1mbm8tc3RyaWN0LWFsaWFzaW5nIC1md3JhcHYgLWZl eGNlc3MtcHJlY2lzaW9uPXN0YW5kYXJkIC1Xbm8tZm9ybWF0LXRydW5jYXRpb24gLVduby1zdHJp bmdvcC10cnVuY2F0aW9uIC1nIC1PIC1mbm8tb21pdC1mcmFtZS1wb2ludGVyICAtSS93L1ItMy41 Ll8vcG9zdGdyZXMvc3JjL2luY2x1ZGUvcG9ydC93aW4zMiAtREVYRUNfQkFDS0VORCAgLUkvdy96 bGliLTEuMi44LXdpbjMyLXg4Nl82NC9pbmNsdWRlIC1JL3cvb3BlbnNzbC0xLjAuMmUtd2luMzIt eDg2XzY0L2luY2x1ZGUgLUkvdy9saWJ4bWwyLTIuOS4zLXdpbjMyLXg4Nl82NC9pbmNsdWRlL2xp YnhtbDIgLUkvdy9saWJ4c2x0LTEuMS4yOC13aW4zMi14ODZfNjQvaW5jbHVkZSBjb25mdGVzdC5j ID4mNQpjb25mdGVzdC5jOiBJbiBmdW5jdGlvbiAnbWFpbic6CmNvbmZ0ZXN0LmM6ODI6MTM6IGVy cm9yOiBpbnZhbGlkIGFwcGxpY2F0aW9uIG9mICdzaXplb2YnIHRvIGluY29tcGxldGUgdHlwZSAn c3RydWN0IGNtc2djcmVkJwogaWYgKHNpemVvZiAoc3RydWN0IGNtc2djcmVkKSkKICAgICAgICAg ICAgIF5+fn5+fgpjb25maWd1cmU6MTQzNjM6ICQ/ID0gMQpjb25maWd1cmU6IGZhaWxlZCBwcm9n cmFtIHdhczoKfCAvKiBjb25mZGVmcy5oICovCnwgI2RlZmluZSBQQUNLQUdFX05BTUUgIlBvc3Rn cmVTUUwiCnwgI2RlZmluZSBQQUNLQUdFX1RBUk5BTUUgInBvc3RncmVzcWwiCnwgI2RlZmluZSBQ QUNLQUdFX1ZFUlNJT04gIjExYmV0YTMiCnwgI2RlZmluZSBQQUNLQUdFX1NUUklORyAiUG9zdGdy ZVNRTCAxMWJldGEzIgp8ICNkZWZpbmUgUEFDS0FHRV9CVUdSRVBPUlQgInBnc3FsLWJ1Z3NAcG9z dGdyZXNxbC5vcmciCnwgI2RlZmluZSBQQUNLQUdFX1VSTCAiIgp8ICNkZWZpbmUgUEdfTUFKT1JW RVJTSU9OICIxMSIKfCAjZGVmaW5lIFBHX1ZFUlNJT04gIjExYmV0YTMiCnwgI2RlZmluZSBERUZf UEdQT1JUIDU0MzIKfCAjZGVmaW5lIERFRl9QR1BPUlRfU1RSICI1NDMyIgp8ICNkZWZpbmUgQkxD S1NaIDgxOTIKfCAjZGVmaW5lIFJFTFNFR19TSVpFIDEzMTA3Mgp8ICNkZWZpbmUgWExPR19CTENL U1ogODE5Mgp8ICNkZWZpbmUgVVNFX0FTU0VSVF9DSEVDS0lORyAxCnwgI2RlZmluZSBFTkFCTEVf VEhSRUFEX1NBRkVUWSAxCnwgI2RlZmluZSBVU0VfSUNVIDEKfCAjZGVmaW5lIFBHX0tSQl9TUlZO QU0gInBvc3RncmVzIgp8ICNkZWZpbmUgVVNFX09QRU5TU0wgMQp8ICNkZWZpbmUgVVNFX0xJQlhN TCAxCnwgI2RlZmluZSBVU0VfTElCWFNMVCAxCnwgI2RlZmluZSBTVERDX0hFQURFUlMgMQp8ICNk ZWZpbmUgSEFWRV9TWVNfVFlQRVNfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19TVEFUX0ggMQp8ICNk ZWZpbmUgSEFWRV9TVERMSUJfSCAxCnwgI2RlZmluZSBIQVZFX1NUUklOR19IIDEKfCAjZGVmaW5l IEhBVkVfTUVNT1JZX0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJJTkdTX0ggMQp8ICNkZWZpbmUgSEFW RV9JTlRUWVBFU19IIDEKfCAjZGVmaW5lIEhBVkVfU1RESU5UX0ggMQp8ICNkZWZpbmUgSEFWRV9V TklTVERfSCAxCnwgI2RlZmluZSBIQVZFX0xJQk0gMQp8ICNkZWZpbmUgSEFWRV9MSUJaIDEKfCAj ZGVmaW5lIEhBVkVfU1BJTkxPQ0tTIDEKfCAjZGVmaW5lIEhBVkVfQVRPTUlDUyAxCnwgI2RlZmlu ZSBIQVZFX1NTTF9HRVRfQ1VSUkVOVF9DT01QUkVTU0lPTiAxCnwgI2RlZmluZSBIQVZFX1g1MDlf R0VUX1NJR05BVFVSRV9OSUQgMQp8ICNkZWZpbmUgSEFWRV9DUllQVE9fTE9DSyAxCnwgI2RlZmlu ZSBIQVZFX0xJQlhNTDIgMQp8ICNkZWZpbmUgSEFWRV9MSUJYU0xUIDEKfCAjZGVmaW5lIEhBVkVf X0JPT0wgMQp8ICNkZWZpbmUgSEFWRV9TVERCT09MX0ggMQp8ICNkZWZpbmUgSEFWRV9HRVRPUFRf SCAxCnwgI2RlZmluZSBIQVZFX0lFRUVGUF9IIDEKfCAjZGVmaW5lIEhBVkVfVVRJTUVfSCAxCnwg I2RlZmluZSBIQVZFX1dDSEFSX0ggMQp8ICNkZWZpbmUgSEFWRV9XQ1RZUEVfSCAxCnwgI2RlZmlu ZSBIQVZFX0NSVERFRlNfSCAxCnwgI2RlZmluZSBQR19QUklOVEZfQVRUUklCVVRFIGdudV9wcmlu dGYKfCAjZGVmaW5lIEZMRVhJQkxFX0FSUkFZX01FTUJFUiAvKiovCnwgI2RlZmluZSBIQVZFX0ZV TkNOQU1FX19GVU5DIDEKfCAjZGVmaW5lIEhBVkVfX1NUQVRJQ19BU1NFUlQgMQp8ICNkZWZpbmUg SEFWRV9UWVBFT0YgMQp8ICNkZWZpbmUgSEFWRV9fQlVJTFRJTl9UWVBFU19DT01QQVRJQkxFX1Ag MQp8ICNkZWZpbmUgSEFWRV9fQlVJTFRJTl9CU1dBUDE2IDEKfCAjZGVmaW5lIEhBVkVfX0JVSUxU SU5fQlNXQVAzMiAxCnwgI2RlZmluZSBIQVZFX19CVUlMVElOX0JTV0FQNjQgMQp8ICNkZWZpbmUg SEFWRV9fQlVJTFRJTl9DT05TVEFOVF9QIDEKfCAjZGVmaW5lIEhBVkVfX0JVSUxUSU5fVU5SRUFD SEFCTEUgMQp8ICNkZWZpbmUgSEFWRV9DT01QVVRFRF9HT1RPIDEKfCAjZGVmaW5lIEhBVkVfX1ZB X0FSR1MgMQp8ICNkZWZpbmUgSEFWRV9UWk5BTUUgMQp8ICNkZWZpbmUgSEFWRV9TVFJVQ1RfU09D S0FERFJfU1RPUkFHRSAxCnwgI2RlZmluZSBIQVZFX1NUUlVDVF9TT0NLQUREUl9TVE9SQUdFX1NT X0ZBTUlMWSAxCnwgI2RlZmluZSBIQVZFX1NUUlVDVF9BRERSSU5GTyAxCnwgI2RlZmluZSBIQVZF X0lOVFBUUl9UIDEKfCAjZGVmaW5lIEhBVkVfVUlOVFBUUl9UIDEKfCAjZGVmaW5lIEhBVkVfVU5T SUdORURfTE9OR19MT05HX0lOVCAxCnwgI2RlZmluZSBIQVZFX0xPTkdfTE9OR19JTlQgMQp8ICNk ZWZpbmUgcmVzdHJpY3QgX19yZXN0cmljdAp8ICNkZWZpbmUgcGdfcmVzdHJpY3QgX19yZXN0cmlj dAp8IC8qIGVuZCBjb25mZGVmcy5oLiAgKi8KfCAjaW5jbHVkZSA8c3lzL3NvY2tldC5oPgp8ICNp bmNsdWRlIDxzeXMvcGFyYW0uaD4KfCAjaWZkZWYgSEFWRV9TWVNfVUNSRURfSAp8ICNpbmNsdWRl IDxzeXMvdWNyZWQuaD4KfCAjZW5kaWYKfCAKfCBpbnQKfCBtYWluICgpCnwgewp8IGlmIChzaXpl b2YgKHN0cnVjdCBjbXNnY3JlZCkpCnwgCSByZXR1cm4gMDsKfCAgIDsKfCAgIHJldHVybiAwOwp8 IH0KY29uZmlndXJlOjE0MzYzOiByZXN1bHQ6IG5vCmNvbmZpZ3VyZToxNDM3OTogY2hlY2tpbmcg Zm9yIHN0cnVjdCBvcHRpb24KY29uZmlndXJlOjE0Mzc5OiB4ODZfNjQtdzY0LW1pbmd3MzItZ2Nj IC1jIC1XYWxsIC1XbWlzc2luZy1wcm90b3R5cGVzIC1XcG9pbnRlci1hcml0aCAtV2RlY2xhcmF0 aW9uLWFmdGVyLXN0YXRlbWVudCAtV2VuZGlmLWxhYmVscyAtV21pc3NpbmctZm9ybWF0LWF0dHJp YnV0ZSAtV2Zvcm1hdC1zZWN1cml0eSAtZm5vLXN0cmljdC1hbGlhc2luZyAtZndyYXB2IC1mZXhj ZXNzLXByZWNpc2lvbj1zdGFuZGFyZCAtV25vLWZvcm1hdC10cnVuY2F0aW9uIC1Xbm8tc3RyaW5n b3AtdHJ1bmNhdGlvbiAtZyAtTyAtZm5vLW9taXQtZnJhbWUtcG9pbnRlciAgLUkvdy9SLTMuNS5f L3Bvc3RncmVzL3NyYy9pbmNsdWRlL3BvcnQvd2luMzIgLURFWEVDX0JBQ0tFTkQgIC1JL3cvemxp Yi0xLjIuOC13aW4zMi14ODZfNjQvaW5jbHVkZSAtSS93L29wZW5zc2wtMS4wLjJlLXdpbjMyLXg4 Nl82NC9pbmNsdWRlIC1JL3cvbGlieG1sMi0yLjkuMy13aW4zMi14ODZfNjQvaW5jbHVkZS9saWJ4 bWwyIC1JL3cvbGlieHNsdC0xLjEuMjgtd2luMzIteDg2XzY0L2luY2x1ZGUgY29uZnRlc3QuYyA+ JjUKY29uZmlndXJlOjE0Mzc5OiAkPyA9IDAKY29uZmlndXJlOjE0Mzc5OiB4ODZfNjQtdzY0LW1p bmd3MzItZ2NjIC1jIC1XYWxsIC1XbWlzc2luZy1wcm90b3R5cGVzIC1XcG9pbnRlci1hcml0aCAt V2RlY2xhcmF0aW9uLWFmdGVyLXN0YXRlbWVudCAtV2VuZGlmLWxhYmVscyAtV21pc3NpbmctZm9y bWF0LWF0dHJpYnV0ZSAtV2Zvcm1hdC1zZWN1cml0eSAtZm5vLXN0cmljdC1hbGlhc2luZyAtZndy YXB2IC1mZXhjZXNzLXByZWNpc2lvbj1zdGFuZGFyZCAtV25vLWZvcm1hdC10cnVuY2F0aW9uIC1X bm8tc3RyaW5nb3AtdHJ1bmNhdGlvbiAtZyAtTyAtZm5vLW9taXQtZnJhbWUtcG9pbnRlciAgLUkv dy9SLTMuNS5fL3Bvc3RncmVzL3NyYy9pbmNsdWRlL3BvcnQvd2luMzIgLURFWEVDX0JBQ0tFTkQg IC1JL3cvemxpYi0xLjIuOC13aW4zMi14ODZfNjQvaW5jbHVkZSAtSS93L29wZW5zc2wtMS4wLjJl LXdpbjMyLXg4Nl82NC9pbmNsdWRlIC1JL3cvbGlieG1sMi0yLjkuMy13aW4zMi14ODZfNjQvaW5j bHVkZS9saWJ4bWwyIC1JL3cvbGlieHNsdC0xLjEuMjgtd2luMzIteDg2XzY0L2luY2x1ZGUgY29u ZnRlc3QuYyA+JjUKY29uZnRlc3QuYzogSW4gZnVuY3Rpb24gJ21haW4nOgpjb25mdGVzdC5jOjgw OjI4OiBlcnJvcjogZXhwZWN0ZWQgZXhwcmVzc2lvbiBiZWZvcmUgJyknIHRva2VuCiBpZiAoc2l6 ZW9mICgoc3RydWN0IG9wdGlvbikpKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgXgpjb25m aWd1cmU6MTQzNzk6ICQ/ID0gMQpjb25maWd1cmU6IGZhaWxlZCBwcm9ncmFtIHdhczoKfCAvKiBj b25mZGVmcy5oICovCnwgI2RlZmluZSBQQUNLQUdFX05BTUUgIlBvc3RncmVTUUwiCnwgI2RlZmlu ZSBQQUNLQUdFX1RBUk5BTUUgInBvc3RncmVzcWwiCnwgI2RlZmluZSBQQUNLQUdFX1ZFUlNJT04g IjExYmV0YTMiCnwgI2RlZmluZSBQQUNLQUdFX1NUUklORyAiUG9zdGdyZVNRTCAxMWJldGEzIgp8 ICNkZWZpbmUgUEFDS0FHRV9CVUdSRVBPUlQgInBnc3FsLWJ1Z3NAcG9zdGdyZXNxbC5vcmciCnwg I2RlZmluZSBQQUNLQUdFX1VSTCAiIgp8ICNkZWZpbmUgUEdfTUFKT1JWRVJTSU9OICIxMSIKfCAj ZGVmaW5lIFBHX1ZFUlNJT04gIjExYmV0YTMiCnwgI2RlZmluZSBERUZfUEdQT1JUIDU0MzIKfCAj ZGVmaW5lIERFRl9QR1BPUlRfU1RSICI1NDMyIgp8ICNkZWZpbmUgQkxDS1NaIDgxOTIKfCAjZGVm aW5lIFJFTFNFR19TSVpFIDEzMTA3Mgp8ICNkZWZpbmUgWExPR19CTENLU1ogODE5Mgp8ICNkZWZp bmUgVVNFX0FTU0VSVF9DSEVDS0lORyAxCnwgI2RlZmluZSBFTkFCTEVfVEhSRUFEX1NBRkVUWSAx CnwgI2RlZmluZSBVU0VfSUNVIDEKfCAjZGVmaW5lIFBHX0tSQl9TUlZOQU0gInBvc3RncmVzIgp8 ICNkZWZpbmUgVVNFX09QRU5TU0wgMQp8ICNkZWZpbmUgVVNFX0xJQlhNTCAxCnwgI2RlZmluZSBV U0VfTElCWFNMVCAxCnwgI2RlZmluZSBTVERDX0hFQURFUlMgMQp8ICNkZWZpbmUgSEFWRV9TWVNf VFlQRVNfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19TVEFUX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERM SUJfSCAxCnwgI2RlZmluZSBIQVZFX1NUUklOR19IIDEKfCAjZGVmaW5lIEhBVkVfTUVNT1JZX0gg MQp8ICNkZWZpbmUgSEFWRV9TVFJJTkdTX0ggMQp8ICNkZWZpbmUgSEFWRV9JTlRUWVBFU19IIDEK fCAjZGVmaW5lIEhBVkVfU1RESU5UX0ggMQp8ICNkZWZpbmUgSEFWRV9VTklTVERfSCAxCnwgI2Rl ZmluZSBIQVZFX0xJQk0gMQp8ICNkZWZpbmUgSEFWRV9MSUJaIDEKfCAjZGVmaW5lIEhBVkVfU1BJ TkxPQ0tTIDEKfCAjZGVmaW5lIEhBVkVfQVRPTUlDUyAxCnwgI2RlZmluZSBIQVZFX1NTTF9HRVRf Q1VSUkVOVF9DT01QUkVTU0lPTiAxCnwgI2RlZmluZSBIQVZFX1g1MDlfR0VUX1NJR05BVFVSRV9O SUQgMQp8ICNkZWZpbmUgSEFWRV9DUllQVE9fTE9DSyAxCnwgI2RlZmluZSBIQVZFX0xJQlhNTDIg MQp8ICNkZWZpbmUgSEFWRV9MSUJYU0xUIDEKfCAjZGVmaW5lIEhBVkVfX0JPT0wgMQp8ICNkZWZp bmUgSEFWRV9TVERCT09MX0ggMQp8ICNkZWZpbmUgSEFWRV9HRVRPUFRfSCAxCnwgI2RlZmluZSBI QVZFX0lFRUVGUF9IIDEKfCAjZGVmaW5lIEhBVkVfVVRJTUVfSCAxCnwgI2RlZmluZSBIQVZFX1dD SEFSX0ggMQp8ICNkZWZpbmUgSEFWRV9XQ1RZUEVfSCAxCnwgI2RlZmluZSBIQVZFX0NSVERFRlNf SCAxCnwgI2RlZmluZSBQR19QUklOVEZfQVRUUklCVVRFIGdudV9wcmludGYKfCAjZGVmaW5lIEZM RVhJQkxFX0FSUkFZX01FTUJFUiAvKiovCnwgI2RlZmluZSBIQVZFX0ZVTkNOQU1FX19GVU5DIDEK fCAjZGVmaW5lIEhBVkVfX1NUQVRJQ19BU1NFUlQgMQp8ICNkZWZpbmUgSEFWRV9UWVBFT0YgMQp8 ICNkZWZpbmUgSEFWRV9fQlVJTFRJTl9UWVBFU19DT01QQVRJQkxFX1AgMQp8ICNkZWZpbmUgSEFW RV9fQlVJTFRJTl9CU1dBUDE2IDEKfCAjZGVmaW5lIEhBVkVfX0JVSUxUSU5fQlNXQVAzMiAxCnwg I2RlZmluZSBIQVZFX19CVUlMVElOX0JTV0FQNjQgMQp8ICNkZWZpbmUgSEFWRV9fQlVJTFRJTl9D T05TVEFOVF9QIDEKfCAjZGVmaW5lIEhBVkVfX0JVSUxUSU5fVU5SRUFDSEFCTEUgMQp8ICNkZWZp bmUgSEFWRV9DT01QVVRFRF9HT1RPIDEKfCAjZGVmaW5lIEhBVkVfX1ZBX0FSR1MgMQp8ICNkZWZp bmUgSEFWRV9UWk5BTUUgMQp8ICNkZWZpbmUgSEFWRV9TVFJVQ1RfU09DS0FERFJfU1RPUkFHRSAx CnwgI2RlZmluZSBIQVZFX1NUUlVDVF9TT0NLQUREUl9TVE9SQUdFX1NTX0ZBTUlMWSAxCnwgI2Rl ZmluZSBIQVZFX1NUUlVDVF9BRERSSU5GTyAxCnwgI2RlZmluZSBIQVZFX0lOVFBUUl9UIDEKfCAj ZGVmaW5lIEhBVkVfVUlOVFBUUl9UIDEKfCAjZGVmaW5lIEhBVkVfVU5TSUdORURfTE9OR19MT05H X0lOVCAxCnwgI2RlZmluZSBIQVZFX0xPTkdfTE9OR19JTlQgMQp8ICNkZWZpbmUgcmVzdHJpY3Qg X19yZXN0cmljdAp8ICNkZWZpbmUgcGdfcmVzdHJpY3QgX19yZXN0cmljdAp8IC8qIGVuZCBjb25m ZGVmcy5oLiAgKi8KfCAjaWZkZWYgSEFWRV9HRVRPUFRfSAp8ICNpbmNsdWRlIDxnZXRvcHQuaD4K fCAjZW5kaWYKfCAKfCBpbnQKfCBtYWluICgpCnwgewp8IGlmIChzaXplb2YgKChzdHJ1Y3Qgb3B0 aW9uKSkpCnwgCSAgICByZXR1cm4gMDsKfCAgIDsKfCAgIHJldHVybiAwOwp8IH0KY29uZmlndXJl OjE0Mzc5OiByZXN1bHQ6IHllcwpjb25maWd1cmU6MTQzOTc6IGNoZWNraW5nIGZvciB6X3N0cmVh bXAKY29uZmlndXJlOjE0Mzk3OiB4ODZfNjQtdzY0LW1pbmd3MzItZ2NjIC1jIC1XYWxsIC1XbWlz c2luZy1wcm90b3R5cGVzIC1XcG9pbnRlci1hcml0aCAtV2RlY2xhcmF0aW9uLWFmdGVyLXN0YXRl bWVudCAtV2VuZGlmLWxhYmVscyAtV21pc3NpbmctZm9ybWF0LWF0dHJpYnV0ZSAtV2Zvcm1hdC1z ZWN1cml0eSAtZm5vLXN0cmljdC1hbGlhc2luZyAtZndyYXB2IC1mZXhjZXNzLXByZWNpc2lvbj1z dGFuZGFyZCAtV25vLWZvcm1hdC10cnVuY2F0aW9uIC1Xbm8tc3RyaW5nb3AtdHJ1bmNhdGlvbiAt ZyAtTyAtZm5vLW9taXQtZnJhbWUtcG9pbnRlciAgLUkvdy9SLTMuNS5fL3Bvc3RncmVzL3NyYy9p bmNsdWRlL3BvcnQvd2luMzIgLURFWEVDX0JBQ0tFTkQgIC1JL3cvemxpYi0xLjIuOC13aW4zMi14 ODZfNjQvaW5jbHVkZSAtSS93L29wZW5zc2wtMS4wLjJlLXdpbjMyLXg4Nl82NC9pbmNsdWRlIC1J L3cvbGlieG1sMi0yLjkuMy13aW4zMi14ODZfNjQvaW5jbHVkZS9saWJ4bWwyIC1JL3cvbGlieHNs dC0xLjEuMjgtd2luMzIteDg2XzY0L2luY2x1ZGUgY29uZnRlc3QuYyA+JjUKY29uZmlndXJlOjE0 Mzk3OiAkPyA9IDAKY29uZmlndXJlOjE0Mzk3OiB4ODZfNjQtdzY0LW1pbmd3MzItZ2NjIC1jIC1X YWxsIC1XbWlzc2luZy1wcm90b3R5cGVzIC1XcG9pbnRlci1hcml0aCAtV2RlY2xhcmF0aW9uLWFm dGVyLXN0YXRlbWVudCAtV2VuZGlmLWxhYmVscyAtV21pc3NpbmctZm9ybWF0LWF0dHJpYnV0ZSAt V2Zvcm1hdC1zZWN1cml0eSAtZm5vLXN0cmljdC1hbGlhc2luZyAtZndyYXB2IC1mZXhjZXNzLXBy ZWNpc2lvbj1zdGFuZGFyZCAtV25vLWZvcm1hdC10cnVuY2F0aW9uIC1Xbm8tc3RyaW5nb3AtdHJ1 bmNhdGlvbiAtZyAtTyAtZm5vLW9taXQtZnJhbWUtcG9pbnRlciAgLUkvdy9SLTMuNS5fL3Bvc3Rn cmVzL3NyYy9pbmNsdWRlL3BvcnQvd2luMzIgLURFWEVDX0JBQ0tFTkQgIC1JL3cvemxpYi0xLjIu OC13aW4zMi14ODZfNjQvaW5jbHVkZSAtSS93L29wZW5zc2wtMS4wLjJlLXdpbjMyLXg4Nl82NC9p bmNsdWRlIC1JL3cvbGlieG1sMi0yLjkuMy13aW4zMi14ODZfNjQvaW5jbHVkZS9saWJ4bWwyIC1J L3cvbGlieHNsdC0xLjEuMjgtd2luMzIteDg2XzY0L2luY2x1ZGUgY29uZnRlc3QuYyA+JjUKY29u ZnRlc3QuYzogSW4gZnVuY3Rpb24gJ21haW4nOgpjb25mdGVzdC5jOjc5OjI0OiBlcnJvcjogZXhw ZWN0ZWQgZXhwcmVzc2lvbiBiZWZvcmUgJyknIHRva2VuCiBpZiAoc2l6ZW9mICgoel9zdHJlYW1w KSkpCiAgICAgICAgICAgICAgICAgICAgICAgIF4KY29uZmlndXJlOjE0Mzk3OiAkPyA9IDEKY29u ZmlndXJlOiBmYWlsZWQgcHJvZ3JhbSB3YXM6CnwgLyogY29uZmRlZnMuaCAqLwp8ICNkZWZpbmUg UEFDS0FHRV9OQU1FICJQb3N0Z3JlU1FMIgp8ICNkZWZpbmUgUEFDS0FHRV9UQVJOQU1FICJwb3N0 Z3Jlc3FsIgp8ICNkZWZpbmUgUEFDS0FHRV9WRVJTSU9OICIxMWJldGEzIgp8ICNkZWZpbmUgUEFD S0FHRV9TVFJJTkcgIlBvc3RncmVTUUwgMTFiZXRhMyIKfCAjZGVmaW5lIFBBQ0tBR0VfQlVHUkVQ T1JUICJwZ3NxbC1idWdzQHBvc3RncmVzcWwub3JnIgp8ICNkZWZpbmUgUEFDS0FHRV9VUkwgIiIK fCAjZGVmaW5lIFBHX01BSk9SVkVSU0lPTiAiMTEiCnwgI2RlZmluZSBQR19WRVJTSU9OICIxMWJl dGEzIgp8ICNkZWZpbmUgREVGX1BHUE9SVCA1NDMyCnwgI2RlZmluZSBERUZfUEdQT1JUX1NUUiAi NTQzMiIKfCAjZGVmaW5lIEJMQ0tTWiA4MTkyCnwgI2RlZmluZSBSRUxTRUdfU0laRSAxMzEwNzIK fCAjZGVmaW5lIFhMT0dfQkxDS1NaIDgxOTIKfCAjZGVmaW5lIFVTRV9BU1NFUlRfQ0hFQ0tJTkcg MQp8ICNkZWZpbmUgRU5BQkxFX1RIUkVBRF9TQUZFVFkgMQp8ICNkZWZpbmUgVVNFX0lDVSAxCnwg I2RlZmluZSBQR19LUkJfU1JWTkFNICJwb3N0Z3JlcyIKfCAjZGVmaW5lIFVTRV9PUEVOU1NMIDEK fCAjZGVmaW5lIFVTRV9MSUJYTUwgMQp8ICNkZWZpbmUgVVNFX0xJQlhTTFQgMQp8ICNkZWZpbmUg U1REQ19IRUFERVJTIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1RZUEVTX0ggMQp8ICNkZWZpbmUgSEFW RV9TWVNfU1RBVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1RETElCX0ggMQp8ICNkZWZpbmUgSEFWRV9T VFJJTkdfSCAxCnwgI2RlZmluZSBIQVZFX01FTU9SWV9IIDEKfCAjZGVmaW5lIEhBVkVfU1RSSU5H U19IIDEKfCAjZGVmaW5lIEhBVkVfSU5UVFlQRVNfSCAxCnwgI2RlZmluZSBIQVZFX1NURElOVF9I IDEKfCAjZGVmaW5lIEhBVkVfVU5JU1REX0ggMQp8ICNkZWZpbmUgSEFWRV9MSUJNIDEKfCAjZGVm aW5lIEhBVkVfTElCWiAxCnwgI2RlZmluZSBIQVZFX1NQSU5MT0NLUyAxCnwgI2RlZmluZSBIQVZF X0FUT01JQ1MgMQp8ICNkZWZpbmUgSEFWRV9TU0xfR0VUX0NVUlJFTlRfQ09NUFJFU1NJT04gMQp8 ICNkZWZpbmUgSEFWRV9YNTA5X0dFVF9TSUdOQVRVUkVfTklEIDEKfCAjZGVmaW5lIEhBVkVfQ1JZ UFRPX0xPQ0sgMQp8ICNkZWZpbmUgSEFWRV9MSUJYTUwyIDEKfCAjZGVmaW5lIEhBVkVfTElCWFNM VCAxCnwgI2RlZmluZSBIQVZFX19CT09MIDEKfCAjZGVmaW5lIEhBVkVfU1REQk9PTF9IIDEKfCAj ZGVmaW5lIEhBVkVfR0VUT1BUX0ggMQp8ICNkZWZpbmUgSEFWRV9JRUVFRlBfSCAxCnwgI2RlZmlu ZSBIQVZFX1VUSU1FX0ggMQp8ICNkZWZpbmUgSEFWRV9XQ0hBUl9IIDEKfCAjZGVmaW5lIEhBVkVf V0NUWVBFX0ggMQp8ICNkZWZpbmUgSEFWRV9DUlRERUZTX0ggMQp8ICNkZWZpbmUgUEdfUFJJTlRG X0FUVFJJQlVURSBnbnVfcHJpbnRmCnwgI2RlZmluZSBGTEVYSUJMRV9BUlJBWV9NRU1CRVIgLyoq Lwp8ICNkZWZpbmUgSEFWRV9GVU5DTkFNRV9fRlVOQyAxCnwgI2RlZmluZSBIQVZFX19TVEFUSUNf QVNTRVJUIDEKfCAjZGVmaW5lIEhBVkVfVFlQRU9GIDEKfCAjZGVmaW5lIEhBVkVfX0JVSUxUSU5f VFlQRVNfQ09NUEFUSUJMRV9QIDEKfCAjZGVmaW5lIEhBVkVfX0JVSUxUSU5fQlNXQVAxNiAxCnwg I2RlZmluZSBIQVZFX19CVUlMVElOX0JTV0FQMzIgMQp8ICNkZWZpbmUgSEFWRV9fQlVJTFRJTl9C U1dBUDY0IDEKfCAjZGVmaW5lIEhBVkVfX0JVSUxUSU5fQ09OU1RBTlRfUCAxCnwgI2RlZmluZSBI QVZFX19CVUlMVElOX1VOUkVBQ0hBQkxFIDEKfCAjZGVmaW5lIEhBVkVfQ09NUFVURURfR09UTyAx CnwgI2RlZmluZSBIQVZFX19WQV9BUkdTIDEKfCAjZGVmaW5lIEhBVkVfVFpOQU1FIDEKfCAjZGVm aW5lIEhBVkVfU1RSVUNUX1NPQ0tBRERSX1NUT1JBR0UgMQp8ICNkZWZpbmUgSEFWRV9TVFJVQ1Rf U09DS0FERFJfU1RPUkFHRV9TU19GQU1JTFkgMQp8ICNkZWZpbmUgSEFWRV9TVFJVQ1RfQUREUklO Rk8gMQp8ICNkZWZpbmUgSEFWRV9JTlRQVFJfVCAxCnwgI2RlZmluZSBIQVZFX1VJTlRQVFJfVCAx CnwgI2RlZmluZSBIQVZFX1VOU0lHTkVEX0xPTkdfTE9OR19JTlQgMQp8ICNkZWZpbmUgSEFWRV9M T05HX0xPTkdfSU5UIDEKfCAjZGVmaW5lIHJlc3RyaWN0IF9fcmVzdHJpY3QKfCAjZGVmaW5lIHBn X3Jlc3RyaWN0IF9fcmVzdHJpY3QKfCAjZGVmaW5lIEhBVkVfU1RSVUNUX09QVElPTiAxCnwgLyog ZW5kIGNvbmZkZWZzLmguICAqLwp8ICNpbmNsdWRlIDx6bGliLmg+CnwgCnwgaW50CnwgbWFpbiAo KQp8IHsKfCBpZiAoc2l6ZW9mICgoel9zdHJlYW1wKSkpCnwgCSAgICByZXR1cm4gMDsKfCAgIDsK fCAgIHJldHVybiAwOwp8IH0KY29uZmlndXJlOjE0Mzk3OiByZXN1bHQ6IHllcwpjb25maWd1cmU6 MTQ2NTQ6IGNoZWNraW5nIHNpemUgb2Ygb2ZmX3QKY29uZmlndXJlOjE0NjU5OiB4ODZfNjQtdzY0 LW1pbmd3MzItZ2NjIC1vIGNvbmZ0ZXN0LmV4ZSAtV2FsbCAtV21pc3NpbmctcHJvdG90eXBlcyAt V3BvaW50ZXItYXJpdGggLVdkZWNsYXJhdGlvbi1hZnRlci1zdGF0ZW1lbnQgLVdlbmRpZi1sYWJl bHMgLVdtaXNzaW5nLWZvcm1hdC1hdHRyaWJ1dGUgLVdmb3JtYXQtc2VjdXJpdHkgLWZuby1zdHJp Y3QtYWxpYXNpbmcgLWZ3cmFwdiAtZmV4Y2Vzcy1wcmVjaXNpb249c3RhbmRhcmQgLVduby1mb3Jt YXQtdHJ1bmNhdGlvbiAtV25vLXN0cmluZ29wLXRydW5jYXRpb24gLWcgLU8gLWZuby1vbWl0LWZy YW1lLXBvaW50ZXIgIC1JL3cvUi0zLjUuXy9wb3N0Z3Jlcy9zcmMvaW5jbHVkZS9wb3J0L3dpbjMy IC1ERVhFQ19CQUNLRU5EICAtSS93L3psaWItMS4yLjgtd2luMzIteDg2XzY0L2luY2x1ZGUgLUkv dy9vcGVuc3NsLTEuMC4yZS13aW4zMi14ODZfNjQvaW5jbHVkZSAtSS93L2xpYnhtbDItMi45LjMt d2luMzIteDg2XzY0L2luY2x1ZGUvbGlieG1sMiAtSS93L2xpYnhzbHQtMS4xLjI4LXdpbjMyLXg4 Nl82NC9pbmNsdWRlICAtV2wsLS1hbGxvdy1tdWx0aXBsZS1kZWZpbml0aW9uIC1XbCwtLWRpc2Fi bGUtYXV0by1pbXBvcnQgIC1ML3cvemxpYi0xLjIuOC13aW4zMi14ODZfNjQvbGliIC1ML3cvb3Bl bnNzbC0xLjAuMmUtd2luMzIteDg2XzY0L2xpYiAtTC93L2xpYnhtbDItMi45LjMtd2luMzIteDg2 XzY0L2xpYiAtTC93L2xpYnhzbHQtMS4xLjI4LXdpbjMyLXg4Nl82NC9saWIgY29uZnRlc3QuYyAt bHhzbHQgLWx4bWwyIC1sc3NsIC1sY3J5cHRvIC1seiAtbHdzMl8zMiAtbG0gID4mNQpjb25maWd1 cmU6MTQ2NTk6ICQ/ID0gMApjb25maWd1cmU6MTQ2NTk6IC4vY29uZnRlc3QuZXhlCmNvbmZpZ3Vy ZToxNDY1OTogJD8gPSAwCmNvbmZpZ3VyZToxNDY3MzogcmVzdWx0OiA0CmNvbmZpZ3VyZToxNDY5 MzogY2hlY2tpbmcgc2l6ZSBvZiBib29sCmNvbmZpZ3VyZToxNDY5ODogeDg2XzY0LXc2NC1taW5n dzMyLWdjYyAtbyBjb25mdGVzdC5leGUgLVdhbGwgLVdtaXNzaW5nLXByb3RvdHlwZXMgLVdwb2lu dGVyLWFyaXRoIC1XZGVjbGFyYXRpb24tYWZ0ZXItc3RhdGVtZW50IC1XZW5kaWYtbGFiZWxzIC1X bWlzc2luZy1mb3JtYXQtYXR0cmlidXRlIC1XZm9ybWF0LXNlY3VyaXR5IC1mbm8tc3RyaWN0LWFs aWFzaW5nIC1md3JhcHYgLWZleGNlc3MtcHJlY2lzaW9uPXN0YW5kYXJkIC1Xbm8tZm9ybWF0LXRy dW5jYXRpb24gLVduby1zdHJpbmdvcC10cnVuY2F0aW9uIC1nIC1PIC1mbm8tb21pdC1mcmFtZS1w b2ludGVyICAtSS93L1ItMy41Ll8vcG9zdGdyZXMvc3JjL2luY2x1ZGUvcG9ydC93aW4zMiAtREVY RUNfQkFDS0VORCAgLUkvdy96bGliLTEuMi44LXdpbjMyLXg4Nl82NC9pbmNsdWRlIC1JL3cvb3Bl bnNzbC0xLjAuMmUtd2luMzIteDg2XzY0L2luY2x1ZGUgLUkvdy9saWJ4bWwyLTIuOS4zLXdpbjMy LXg4Nl82NC9pbmNsdWRlL2xpYnhtbDIgLUkvdy9saWJ4c2x0LTEuMS4yOC13aW4zMi14ODZfNjQv aW5jbHVkZSAgLVdsLC0tYWxsb3ctbXVsdGlwbGUtZGVmaW5pdGlvbiAtV2wsLS1kaXNhYmxlLWF1 dG8taW1wb3J0ICAtTC93L3psaWItMS4yLjgtd2luMzIteDg2XzY0L2xpYiAtTC93L29wZW5zc2wt MS4wLjJlLXdpbjMyLXg4Nl82NC9saWIgLUwvdy9saWJ4bWwyLTIuOS4zLXdpbjMyLXg4Nl82NC9s aWIgLUwvdy9saWJ4c2x0LTEuMS4yOC13aW4zMi14ODZfNjQvbGliIGNvbmZ0ZXN0LmMgLWx4c2x0 IC1seG1sMiAtbHNzbCAtbGNyeXB0byAtbHogLWx3czJfMzIgLWxtICA+JjUKY29uZmlndXJlOjE0 Njk4OiAkPyA9IDAKY29uZmlndXJlOjE0Njk4OiAuL2NvbmZ0ZXN0LmV4ZQpjb25maWd1cmU6MTQ2 OTg6ICQ/ID0gMApjb25maWd1cmU6MTQ3MTU6IHJlc3VsdDogMQpjb25maWd1cmU6MTQ3MzE6IGNo ZWNraW5nIGZvciBpbnQgdGltZXpvbmUKY29uZmlndXJlOjE0NzUyOiB4ODZfNjQtdzY0LW1pbmd3 MzItZ2NjIC1vIGNvbmZ0ZXN0LmV4ZSAtV2FsbCAtV21pc3NpbmctcHJvdG90eXBlcyAtV3BvaW50 ZXItYXJpdGggLVdkZWNsYXJhdGlvbi1hZnRlci1zdGF0ZW1lbnQgLVdlbmRpZi1sYWJlbHMgLVdt aXNzaW5nLWZvcm1hdC1hdHRyaWJ1dGUgLVdmb3JtYXQtc2VjdXJpdHkgLWZuby1zdHJpY3QtYWxp YXNpbmcgLWZ3cmFwdiAtZmV4Y2Vzcy1wcmVjaXNpb249c3RhbmRhcmQgLVduby1mb3JtYXQtdHJ1 bmNhdGlvbiAtV25vLXN0cmluZ29wLXRydW5jYXRpb24gLWcgLU8gLWZuby1vbWl0LWZyYW1lLXBv aW50ZXIgIC1JL3cvUi0zLjUuXy9wb3N0Z3Jlcy9zcmMvaW5jbHVkZS9wb3J0L3dpbjMyIC1ERVhF Q19CQUNLRU5EICAtSS93L3psaWItMS4yLjgtd2luMzIteDg2XzY0L2luY2x1ZGUgLUkvdy9vcGVu c3NsLTEuMC4yZS13aW4zMi14ODZfNjQvaW5jbHVkZSAtSS93L2xpYnhtbDItMi45LjMtd2luMzIt eDg2XzY0L2luY2x1ZGUvbGlieG1sMiAtSS93L2xpYnhzbHQtMS4xLjI4LXdpbjMyLXg4Nl82NC9p bmNsdWRlICAtV2wsLS1hbGxvdy1tdWx0aXBsZS1kZWZpbml0aW9uIC1XbCwtLWRpc2FibGUtYXV0 by1pbXBvcnQgIC1ML3cvemxpYi0xLjIuOC13aW4zMi14ODZfNjQvbGliIC1ML3cvb3BlbnNzbC0x LjAuMmUtd2luMzIteDg2XzY0L2xpYiAtTC93L2xpYnhtbDItMi45LjMtd2luMzIteDg2XzY0L2xp YiAtTC93L2xpYnhzbHQtMS4xLjI4LXdpbjMyLXg4Nl82NC9saWIgY29uZnRlc3QuYyAtbHhzbHQg LWx4bWwyIC1sc3NsIC1sY3J5cHRvIC1seiAtbHdzMl8zMiAtbG0gID4mNQpjb25maWd1cmU6MTQ3 NTI6ICQ/ID0gMApjb25maWd1cmU6MTQ3NjA6IHJlc3VsdDogeWVzCmNvbmZpZ3VyZToxNDc2Nzog Y2hlY2tpbmcgdHlwZXMgb2YgYXJndW1lbnRzIGZvciBhY2NlcHQoKQpjb25maWd1cmU6MTQ3OTE6 IHg4Nl82NC13NjQtbWluZ3czMi1nY2MgLWMgLVdhbGwgLVdtaXNzaW5nLXByb3RvdHlwZXMgLVdw b2ludGVyLWFyaXRoIC1XZGVjbGFyYXRpb24tYWZ0ZXItc3RhdGVtZW50IC1XZW5kaWYtbGFiZWxz IC1XbWlzc2luZy1mb3JtYXQtYXR0cmlidXRlIC1XZm9ybWF0LXNlY3VyaXR5IC1mbm8tc3RyaWN0 LWFsaWFzaW5nIC1md3JhcHYgLWZleGNlc3MtcHJlY2lzaW9uPXN0YW5kYXJkIC1Xbm8tZm9ybWF0 LXRydW5jYXRpb24gLVduby1zdHJpbmdvcC10cnVuY2F0aW9uIC1nIC1PIC1mbm8tb21pdC1mcmFt ZS1wb2ludGVyICAtSS93L1ItMy41Ll8vcG9zdGdyZXMvc3JjL2luY2x1ZGUvcG9ydC93aW4zMiAt REVYRUNfQkFDS0VORCAgLUkvdy96bGliLTEuMi44LXdpbjMyLXg4Nl82NC9pbmNsdWRlIC1JL3cv b3BlbnNzbC0xLjAuMmUtd2luMzIteDg2XzY0L2luY2x1ZGUgLUkvdy9saWJ4bWwyLTIuOS4zLXdp bjMyLXg4Nl82NC9pbmNsdWRlL2xpYnhtbDIgLUkvdy9saWJ4c2x0LTEuMS4yOC13aW4zMi14ODZf NjQvaW5jbHVkZSBjb25mdGVzdC5jID4mNQpjb25mdGVzdC5jOjc5OjEyOiBlcnJvcjogY29uZmxp Y3RpbmcgdHlwZXMgZm9yICdhY2NlcHQnCiBleHRlcm4gaW50IGFjY2VwdCAoaW50LCBzdHJ1Y3Qg c29ja2FkZHIgKiwgaW50ICopOwogICAgICAgICAgICBefn5+fn4KSW4gZmlsZSBpbmNsdWRlZCBm cm9tIFc6L1ItMy41Ll8vcG9zdGdyZXMvc3JjL2luY2x1ZGUvcG9ydC93aW4zMi9zeXMvc29ja2V0 Lmg6MTQsCiAgICAgICAgICAgICAgICAgZnJvbSBjb25mdGVzdC5jOjc4OgpDOi9tc3lzNjQvbWlu Z3c2NC94ODZfNjQtdzY0LW1pbmd3MzIvaW5jbHVkZS93aW5zb2NrMi5oOjk3MzozNzogbm90ZTog cHJldmlvdXMgZGVjbGFyYXRpb24gb2YgJ2FjY2VwdCcgd2FzIGhlcmUKICAgV0lOU09DS19BUElf TElOS0FHRSBTT0NLRVQgV1NBQVBJIGFjY2VwdChTT0NLRVQgcyxzdHJ1Y3Qgc29ja2FkZHIgKmFk ZHIsaW50ICphZGRybGVuKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF5+ fn5+fgpjb25maWd1cmU6MTQ3OTE6ICQ/ID0gMQpjb25maWd1cmU6IGZhaWxlZCBwcm9ncmFtIHdh czoKfCAvKiBjb25mZGVmcy5oICovCnwgI2RlZmluZSBQQUNLQUdFX05BTUUgIlBvc3RncmVTUUwi CnwgI2RlZmluZSBQQUNLQUdFX1RBUk5BTUUgInBvc3RncmVzcWwiCnwgI2RlZmluZSBQQUNLQUdF X1ZFUlNJT04gIjExYmV0YTMiCnwgI2RlZmluZSBQQUNLQUdFX1NUUklORyAiUG9zdGdyZVNRTCAx MWJldGEzIgp8ICNkZWZpbmUgUEFDS0FHRV9CVUdSRVBPUlQgInBnc3FsLWJ1Z3NAcG9zdGdyZXNx bC5vcmciCnwgI2RlZmluZSBQQUNLQUdFX1VSTCAiIgp8ICNkZWZpbmUgUEdfTUFKT1JWRVJTSU9O ICIxMSIKfCAjZGVmaW5lIFBHX1ZFUlNJT04gIjExYmV0YTMiCnwgI2RlZmluZSBERUZfUEdQT1JU IDU0MzIKfCAjZGVmaW5lIERFRl9QR1BPUlRfU1RSICI1NDMyIgp8ICNkZWZpbmUgQkxDS1NaIDgx OTIKfCAjZGVmaW5lIFJFTFNFR19TSVpFIDEzMTA3Mgp8ICNkZWZpbmUgWExPR19CTENLU1ogODE5 Mgp8ICNkZWZpbmUgVVNFX0FTU0VSVF9DSEVDS0lORyAxCnwgI2RlZmluZSBFTkFCTEVfVEhSRUFE X1NBRkVUWSAxCnwgI2RlZmluZSBVU0VfSUNVIDEKfCAjZGVmaW5lIFBHX0tSQl9TUlZOQU0gInBv c3RncmVzIgp8ICNkZWZpbmUgVVNFX09QRU5TU0wgMQp8ICNkZWZpbmUgVVNFX0xJQlhNTCAxCnwg I2RlZmluZSBVU0VfTElCWFNMVCAxCnwgI2RlZmluZSBTVERDX0hFQURFUlMgMQp8ICNkZWZpbmUg SEFWRV9TWVNfVFlQRVNfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19TVEFUX0ggMQp8ICNkZWZpbmUg SEFWRV9TVERMSUJfSCAxCnwgI2RlZmluZSBIQVZFX1NUUklOR19IIDEKfCAjZGVmaW5lIEhBVkVf TUVNT1JZX0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJJTkdTX0ggMQp8ICNkZWZpbmUgSEFWRV9JTlRU WVBFU19IIDEKfCAjZGVmaW5lIEhBVkVfU1RESU5UX0ggMQp8ICNkZWZpbmUgSEFWRV9VTklTVERf SCAxCnwgI2RlZmluZSBIQVZFX0xJQk0gMQp8ICNkZWZpbmUgSEFWRV9MSUJaIDEKfCAjZGVmaW5l IEhBVkVfU1BJTkxPQ0tTIDEKfCAjZGVmaW5lIEhBVkVfQVRPTUlDUyAxCnwgI2RlZmluZSBIQVZF X1NTTF9HRVRfQ1VSUkVOVF9DT01QUkVTU0lPTiAxCnwgI2RlZmluZSBIQVZFX1g1MDlfR0VUX1NJ R05BVFVSRV9OSUQgMQp8ICNkZWZpbmUgSEFWRV9DUllQVE9fTE9DSyAxCnwgI2RlZmluZSBIQVZF X0xJQlhNTDIgMQp8ICNkZWZpbmUgSEFWRV9MSUJYU0xUIDEKfCAjZGVmaW5lIEhBVkVfX0JPT0wg MQp8ICNkZWZpbmUgSEFWRV9TVERCT09MX0ggMQp8ICNkZWZpbmUgSEFWRV9HRVRPUFRfSCAxCnwg I2RlZmluZSBIQVZFX0lFRUVGUF9IIDEKfCAjZGVmaW5lIEhBVkVfVVRJTUVfSCAxCnwgI2RlZmlu ZSBIQVZFX1dDSEFSX0ggMQp8ICNkZWZpbmUgSEFWRV9XQ1RZUEVfSCAxCnwgI2RlZmluZSBIQVZF X0NSVERFRlNfSCAxCnwgI2RlZmluZSBQR19QUklOVEZfQVRUUklCVVRFIGdudV9wcmludGYKfCAj ZGVmaW5lIEZMRVhJQkxFX0FSUkFZX01FTUJFUiAvKiovCnwgI2RlZmluZSBIQVZFX0ZVTkNOQU1F X19GVU5DIDEKfCAjZGVmaW5lIEhBVkVfX1NUQVRJQ19BU1NFUlQgMQp8ICNkZWZpbmUgSEFWRV9U WVBFT0YgMQp8ICNkZWZpbmUgSEFWRV9fQlVJTFRJTl9UWVBFU19DT01QQVRJQkxFX1AgMQp8ICNk ZWZpbmUgSEFWRV9fQlVJTFRJTl9CU1dBUDE2IDEKfCAjZGVmaW5lIEhBVkVfX0JVSUxUSU5fQlNX QVAzMiAxCnwgI2RlZmluZSBIQVZFX19CVUlMVElOX0JTV0FQNjQgMQp8ICNkZWZpbmUgSEFWRV9f QlVJTFRJTl9DT05TVEFOVF9QIDEKfCAjZGVmaW5lIEhBVkVfX0JVSUxUSU5fVU5SRUFDSEFCTEUg MQp8ICNkZWZpbmUgSEFWRV9DT01QVVRFRF9HT1RPIDEKfCAjZGVmaW5lIEhBVkVfX1ZBX0FSR1Mg MQp8ICNkZWZpbmUgSEFWRV9UWk5BTUUgMQp8ICNkZWZpbmUgSEFWRV9TVFJVQ1RfU09DS0FERFJf U1RPUkFHRSAxCnwgI2RlZmluZSBIQVZFX1NUUlVDVF9TT0NLQUREUl9TVE9SQUdFX1NTX0ZBTUlM WSAxCnwgI2RlZmluZSBIQVZFX1NUUlVDVF9BRERSSU5GTyAxCnwgI2RlZmluZSBIQVZFX0lOVFBU Ul9UIDEKfCAjZGVmaW5lIEhBVkVfVUlOVFBUUl9UIDEKfCAjZGVmaW5lIEhBVkVfVU5TSUdORURf TE9OR19MT05HX0lOVCAxCnwgI2RlZmluZSBIQVZFX0xPTkdfTE9OR19JTlQgMQp8ICNkZWZpbmUg cmVzdHJpY3QgX19yZXN0cmljdAp8ICNkZWZpbmUgcGdfcmVzdHJpY3QgX19yZXN0cmljdAp8ICNk ZWZpbmUgSEFWRV9TVFJVQ1RfT1BUSU9OIDEKfCAjZGVmaW5lIFNJWkVPRl9PRkZfVCA0CnwgI2Rl ZmluZSBTSVpFT0ZfQk9PTCAxCnwgI2RlZmluZSBIQVZFX0lOVF9USU1FWk9ORSAxCnwgLyogZW5k IGNvbmZkZWZzLmguICAqLwp8ICNpbmNsdWRlIDxzeXMvdHlwZXMuaD4KfCAjaW5jbHVkZSA8c3lz L3NvY2tldC5oPgp8IGV4dGVybiBpbnQgYWNjZXB0IChpbnQsIHN0cnVjdCBzb2NrYWRkciAqLCBp bnQgKik7CmNvbmZpZ3VyZToxNDc5MTogeDg2XzY0LXc2NC1taW5ndzMyLWdjYyAtYyAtV2FsbCAt V21pc3NpbmctcHJvdG90eXBlcyAtV3BvaW50ZXItYXJpdGggLVdkZWNsYXJhdGlvbi1hZnRlci1z dGF0ZW1lbnQgLVdlbmRpZi1sYWJlbHMgLVdtaXNzaW5nLWZvcm1hdC1hdHRyaWJ1dGUgLVdmb3Jt YXQtc2VjdXJpdHkgLWZuby1zdHJpY3QtYWxpYXNpbmcgLWZ3cmFwdiAtZmV4Y2Vzcy1wcmVjaXNp b249c3RhbmRhcmQgLVduby1mb3JtYXQtdHJ1bmNhdGlvbiAtV25vLXN0cmluZ29wLXRydW5jYXRp b24gLWcgLU8gLWZuby1vbWl0LWZyYW1lLXBvaW50ZXIgIC1JL3cvUi0zLjUuXy9wb3N0Z3Jlcy9z cmMvaW5jbHVkZS9wb3J0L3dpbjMyIC1ERVhFQ19CQUNLRU5EICAtSS93L3psaWItMS4yLjgtd2lu MzIteDg2XzY0L2luY2x1ZGUgLUkvdy9vcGVuc3NsLTEuMC4yZS13aW4zMi14ODZfNjQvaW5jbHVk ZSAtSS93L2xpYnhtbDItMi45LjMtd2luMzIteDg2XzY0L2luY2x1ZGUvbGlieG1sMiAtSS93L2xp YnhzbHQtMS4xLjI4LXdpbjMyLXg4Nl82NC9pbmNsdWRlIGNvbmZ0ZXN0LmMgPiY1CmNvbmZ0ZXN0 LmM6Nzk6MTI6IGVycm9yOiBjb25mbGljdGluZyB0eXBlcyBmb3IgJ2FjY2VwdCcKIGV4dGVybiBp bnQgYWNjZXB0IChpbnQsIHN0cnVjdCBzb2NrYWRkciAqLCBzaXplX3QgKik7CiAgICAgICAgICAg IF5+fn5+fgpJbiBmaWxlIGluY2x1ZGVkIGZyb20gVzovUi0zLjUuXy9wb3N0Z3Jlcy9zcmMvaW5j bHVkZS9wb3J0L3dpbjMyL3N5cy9zb2NrZXQuaDoxNCwKICAgICAgICAgICAgICAgICBmcm9tIGNv bmZ0ZXN0LmM6Nzg6CkM6L21zeXM2NC9taW5ndzY0L3g4Nl82NC13NjQtbWluZ3czMi9pbmNsdWRl L3dpbnNvY2syLmg6OTczOjM3OiBub3RlOiBwcmV2aW91cyBkZWNsYXJhdGlvbiBvZiAnYWNjZXB0 JyB3YXMgaGVyZQogICBXSU5TT0NLX0FQSV9MSU5LQUdFIFNPQ0tFVCBXU0FBUEkgYWNjZXB0KFNP Q0tFVCBzLHN0cnVjdCBzb2NrYWRkciAqYWRkcixpbnQgKmFkZHJsZW4pOwogICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgXn5+fn5+CmNvbmZpZ3VyZToxNDc5MTogJD8gPSAxCmNv bmZpZ3VyZTogZmFpbGVkIHByb2dyYW0gd2FzOgp8IC8qIGNvbmZkZWZzLmggKi8KfCAjZGVmaW5l IFBBQ0tBR0VfTkFNRSAiUG9zdGdyZVNRTCIKfCAjZGVmaW5lIFBBQ0tBR0VfVEFSTkFNRSAicG9z dGdyZXNxbCIKfCAjZGVmaW5lIFBBQ0tBR0VfVkVSU0lPTiAiMTFiZXRhMyIKfCAjZGVmaW5lIFBB Q0tBR0VfU1RSSU5HICJQb3N0Z3JlU1FMIDExYmV0YTMiCnwgI2RlZmluZSBQQUNLQUdFX0JVR1JF UE9SVCAicGdzcWwtYnVnc0Bwb3N0Z3Jlc3FsLm9yZyIKfCAjZGVmaW5lIFBBQ0tBR0VfVVJMICIi CnwgI2RlZmluZSBQR19NQUpPUlZFUlNJT04gIjExIgp8ICNkZWZpbmUgUEdfVkVSU0lPTiAiMTFi ZXRhMyIKfCAjZGVmaW5lIERFRl9QR1BPUlQgNTQzMgp8ICNkZWZpbmUgREVGX1BHUE9SVF9TVFIg IjU0MzIiCnwgI2RlZmluZSBCTENLU1ogODE5Mgp8ICNkZWZpbmUgUkVMU0VHX1NJWkUgMTMxMDcy CnwgI2RlZmluZSBYTE9HX0JMQ0tTWiA4MTkyCnwgI2RlZmluZSBVU0VfQVNTRVJUX0NIRUNLSU5H IDEKfCAjZGVmaW5lIEVOQUJMRV9USFJFQURfU0FGRVRZIDEKfCAjZGVmaW5lIFVTRV9JQ1UgMQp8 ICNkZWZpbmUgUEdfS1JCX1NSVk5BTSAicG9zdGdyZXMiCnwgI2RlZmluZSBVU0VfT1BFTlNTTCAx CnwgI2RlZmluZSBVU0VfTElCWE1MIDEKfCAjZGVmaW5lIFVTRV9MSUJYU0xUIDEKfCAjZGVmaW5l IFNURENfSEVBREVSUyAxCnwgI2RlZmluZSBIQVZFX1NZU19UWVBFU19IIDEKfCAjZGVmaW5lIEhB VkVfU1lTX1NUQVRfSCAxCnwgI2RlZmluZSBIQVZFX1NURExJQl9IIDEKfCAjZGVmaW5lIEhBVkVf U1RSSU5HX0ggMQp8ICNkZWZpbmUgSEFWRV9NRU1PUllfSCAxCnwgI2RlZmluZSBIQVZFX1NUUklO R1NfSCAxCnwgI2RlZmluZSBIQVZFX0lOVFRZUEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERJTlRf SCAxCnwgI2RlZmluZSBIQVZFX1VOSVNURF9IIDEKfCAjZGVmaW5lIEhBVkVfTElCTSAxCnwgI2Rl ZmluZSBIQVZFX0xJQlogMQp8ICNkZWZpbmUgSEFWRV9TUElOTE9DS1MgMQp8ICNkZWZpbmUgSEFW RV9BVE9NSUNTIDEKfCAjZGVmaW5lIEhBVkVfU1NMX0dFVF9DVVJSRU5UX0NPTVBSRVNTSU9OIDEK fCAjZGVmaW5lIEhBVkVfWDUwOV9HRVRfU0lHTkFUVVJFX05JRCAxCnwgI2RlZmluZSBIQVZFX0NS WVBUT19MT0NLIDEKfCAjZGVmaW5lIEhBVkVfTElCWE1MMiAxCnwgI2RlZmluZSBIQVZFX0xJQlhT TFQgMQp8ICNkZWZpbmUgSEFWRV9fQk9PTCAxCnwgI2RlZmluZSBIQVZFX1NUREJPT0xfSCAxCnwg I2RlZmluZSBIQVZFX0dFVE9QVF9IIDEKfCAjZGVmaW5lIEhBVkVfSUVFRUZQX0ggMQp8ICNkZWZp bmUgSEFWRV9VVElNRV9IIDEKfCAjZGVmaW5lIEhBVkVfV0NIQVJfSCAxCnwgI2RlZmluZSBIQVZF X1dDVFlQRV9IIDEKfCAjZGVmaW5lIEhBVkVfQ1JUREVGU19IIDEKfCAjZGVmaW5lIFBHX1BSSU5U Rl9BVFRSSUJVVEUgZ251X3ByaW50Zgp8ICNkZWZpbmUgRkxFWElCTEVfQVJSQVlfTUVNQkVSIC8q Ki8KfCAjZGVmaW5lIEhBVkVfRlVOQ05BTUVfX0ZVTkMgMQp8ICNkZWZpbmUgSEFWRV9fU1RBVElD X0FTU0VSVCAxCnwgI2RlZmluZSBIQVZFX1RZUEVPRiAxCnwgI2RlZmluZSBIQVZFX19CVUlMVElO X1RZUEVTX0NPTVBBVElCTEVfUCAxCnwgI2RlZmluZSBIQVZFX19CVUlMVElOX0JTV0FQMTYgMQp8 ICNkZWZpbmUgSEFWRV9fQlVJTFRJTl9CU1dBUDMyIDEKfCAjZGVmaW5lIEhBVkVfX0JVSUxUSU5f QlNXQVA2NCAxCnwgI2RlZmluZSBIQVZFX19CVUlMVElOX0NPTlNUQU5UX1AgMQp8ICNkZWZpbmUg SEFWRV9fQlVJTFRJTl9VTlJFQUNIQUJMRSAxCnwgI2RlZmluZSBIQVZFX0NPTVBVVEVEX0dPVE8g MQp8ICNkZWZpbmUgSEFWRV9fVkFfQVJHUyAxCnwgI2RlZmluZSBIQVZFX1RaTkFNRSAxCnwgI2Rl ZmluZSBIQVZFX1NUUlVDVF9TT0NLQUREUl9TVE9SQUdFIDEKfCAjZGVmaW5lIEhBVkVfU1RSVUNU X1NPQ0tBRERSX1NUT1JBR0VfU1NfRkFNSUxZIDEKfCAjZGVmaW5lIEhBVkVfU1RSVUNUX0FERFJJ TkZPIDEKfCAjZGVmaW5lIEhBVkVfSU5UUFRSX1QgMQp8ICNkZWZpbmUgSEFWRV9VSU5UUFRSX1Qg MQp8ICNkZWZpbmUgSEFWRV9VTlNJR05FRF9MT05HX0xPTkdfSU5UIDEKfCAjZGVmaW5lIEhBVkVf TE9OR19MT05HX0lOVCAxCnwgI2RlZmluZSByZXN0cmljdCBfX3Jlc3RyaWN0CnwgI2RlZmluZSBw Z19yZXN0cmljdCBfX3Jlc3RyaWN0CnwgI2RlZmluZSBIQVZFX1NUUlVDVF9PUFRJT04gMQp8ICNk ZWZpbmUgU0laRU9GX09GRl9UIDQKfCAjZGVmaW5lIFNJWkVPRl9CT09MIDEKfCAjZGVmaW5lIEhB VkVfSU5UX1RJTUVaT05FIDEKfCAvKiBlbmQgY29uZmRlZnMuaC4gICovCnwgI2luY2x1ZGUgPHN5 cy90eXBlcy5oPgp8ICNpbmNsdWRlIDxzeXMvc29ja2V0Lmg+CnwgZXh0ZXJuIGludCBhY2NlcHQg KGludCwgc3RydWN0IHNvY2thZGRyICosIHNpemVfdCAqKTsKY29uZmlndXJlOjE0NzkxOiB4ODZf NjQtdzY0LW1pbmd3MzItZ2NjIC1jIC1XYWxsIC1XbWlzc2luZy1wcm90b3R5cGVzIC1XcG9pbnRl ci1hcml0aCAtV2RlY2xhcmF0aW9uLWFmdGVyLXN0YXRlbWVudCAtV2VuZGlmLWxhYmVscyAtV21p c3NpbmctZm9ybWF0LWF0dHJpYnV0ZSAtV2Zvcm1hdC1zZWN1cml0eSAtZm5vLXN0cmljdC1hbGlh c2luZyAtZndyYXB2IC1mZXhjZXNzLXByZWNpc2lvbj1zdGFuZGFyZCAtV25vLWZvcm1hdC10cnVu Y2F0aW9uIC1Xbm8tc3RyaW5nb3AtdHJ1bmNhdGlvbiAtZyAtTyAtZm5vLW9taXQtZnJhbWUtcG9p bnRlciAgLUkvdy9SLTMuNS5fL3Bvc3RncmVzL3NyYy9pbmNsdWRlL3BvcnQvd2luMzIgLURFWEVD X0JBQ0tFTkQgIC1JL3cvemxpYi0xLjIuOC13aW4zMi14ODZfNjQvaW5jbHVkZSAtSS93L29wZW5z c2wtMS4wLjJlLXdpbjMyLXg4Nl82NC9pbmNsdWRlIC1JL3cvbGlieG1sMi0yLjkuMy13aW4zMi14 ODZfNjQvaW5jbHVkZS9saWJ4bWwyIC1JL3cvbGlieHNsdC0xLjEuMjgtd2luMzIteDg2XzY0L2lu Y2x1ZGUgY29uZnRlc3QuYyA+JjUKY29uZnRlc3QuYzo3OToxMjogZXJyb3I6IGNvbmZsaWN0aW5n IHR5cGVzIGZvciAnYWNjZXB0JwogZXh0ZXJuIGludCBhY2NlcHQgKGludCwgc3RydWN0IHNvY2th ZGRyICosIHNvY2tsZW5fdCAqKTsKICAgICAgICAgICAgXn5+fn5+CkluIGZpbGUgaW5jbHVkZWQg ZnJvbSBXOi9SLTMuNS5fL3Bvc3RncmVzL3NyYy9pbmNsdWRlL3BvcnQvd2luMzIvc3lzL3NvY2tl dC5oOjE0LAogICAgICAgICAgICAgICAgIGZyb20gY29uZnRlc3QuYzo3ODoKQzovbXN5czY0L21p bmd3NjQveDg2XzY0LXc2NC1taW5ndzMyL2luY2x1ZGUvd2luc29jazIuaDo5NzM6Mzc6IG5vdGU6 IHByZXZpb3VzIGRlY2xhcmF0aW9uIG9mICdhY2NlcHQnIHdhcyBoZXJlCiAgIFdJTlNPQ0tfQVBJ X0xJTktBR0UgU09DS0VUIFdTQUFQSSBhY2NlcHQoU09DS0VUIHMsc3RydWN0IHNvY2thZGRyICph ZGRyLGludCAqYWRkcmxlbik7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBe fn5+fn4KY29uZmlndXJlOjE0NzkxOiAkPyA9IDEKY29uZmlndXJlOiBmYWlsZWQgcHJvZ3JhbSB3 YXM6CnwgLyogY29uZmRlZnMuaCAqLwp8ICNkZWZpbmUgUEFDS0FHRV9OQU1FICJQb3N0Z3JlU1FM Igp8ICNkZWZpbmUgUEFDS0FHRV9UQVJOQU1FICJwb3N0Z3Jlc3FsIgp8ICNkZWZpbmUgUEFDS0FH RV9WRVJTSU9OICIxMWJldGEzIgp8ICNkZWZpbmUgUEFDS0FHRV9TVFJJTkcgIlBvc3RncmVTUUwg MTFiZXRhMyIKfCAjZGVmaW5lIFBBQ0tBR0VfQlVHUkVQT1JUICJwZ3NxbC1idWdzQHBvc3RncmVz cWwub3JnIgp8ICNkZWZpbmUgUEFDS0FHRV9VUkwgIiIKfCAjZGVmaW5lIFBHX01BSk9SVkVSU0lP TiAiMTEiCnwgI2RlZmluZSBQR19WRVJTSU9OICIxMWJldGEzIgp8ICNkZWZpbmUgREVGX1BHUE9S VCA1NDMyCnwgI2RlZmluZSBERUZfUEdQT1JUX1NUUiAiNTQzMiIKfCAjZGVmaW5lIEJMQ0tTWiA4 MTkyCnwgI2RlZmluZSBSRUxTRUdfU0laRSAxMzEwNzIKfCAjZGVmaW5lIFhMT0dfQkxDS1NaIDgx OTIKfCAjZGVmaW5lIFVTRV9BU1NFUlRfQ0hFQ0tJTkcgMQp8ICNkZWZpbmUgRU5BQkxFX1RIUkVB RF9TQUZFVFkgMQp8ICNkZWZpbmUgVVNFX0lDVSAxCnwgI2RlZmluZSBQR19LUkJfU1JWTkFNICJw b3N0Z3JlcyIKfCAjZGVmaW5lIFVTRV9PUEVOU1NMIDEKfCAjZGVmaW5lIFVTRV9MSUJYTUwgMQp8 ICNkZWZpbmUgVVNFX0xJQlhTTFQgMQp8ICNkZWZpbmUgU1REQ19IRUFERVJTIDEKfCAjZGVmaW5l IEhBVkVfU1lTX1RZUEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfU1RBVF9IIDEKfCAjZGVmaW5l IEhBVkVfU1RETElCX0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJJTkdfSCAxCnwgI2RlZmluZSBIQVZF X01FTU9SWV9IIDEKfCAjZGVmaW5lIEhBVkVfU1RSSU5HU19IIDEKfCAjZGVmaW5lIEhBVkVfSU5U VFlQRVNfSCAxCnwgI2RlZmluZSBIQVZFX1NURElOVF9IIDEKfCAjZGVmaW5lIEhBVkVfVU5JU1RE X0ggMQp8ICNkZWZpbmUgSEFWRV9MSUJNIDEKfCAjZGVmaW5lIEhBVkVfTElCWiAxCnwgI2RlZmlu ZSBIQVZFX1NQSU5MT0NLUyAxCnwgI2RlZmluZSBIQVZFX0FUT01JQ1MgMQp8ICNkZWZpbmUgSEFW RV9TU0xfR0VUX0NVUlJFTlRfQ09NUFJFU1NJT04gMQp8ICNkZWZpbmUgSEFWRV9YNTA5X0dFVF9T SUdOQVRVUkVfTklEIDEKfCAjZGVmaW5lIEhBVkVfQ1JZUFRPX0xPQ0sgMQp8ICNkZWZpbmUgSEFW RV9MSUJYTUwyIDEKfCAjZGVmaW5lIEhBVkVfTElCWFNMVCAxCnwgI2RlZmluZSBIQVZFX19CT09M IDEKfCAjZGVmaW5lIEhBVkVfU1REQk9PTF9IIDEKfCAjZGVmaW5lIEhBVkVfR0VUT1BUX0ggMQp8 ICNkZWZpbmUgSEFWRV9JRUVFRlBfSCAxCnwgI2RlZmluZSBIQVZFX1VUSU1FX0ggMQp8ICNkZWZp bmUgSEFWRV9XQ0hBUl9IIDEKfCAjZGVmaW5lIEhBVkVfV0NUWVBFX0ggMQp8ICNkZWZpbmUgSEFW RV9DUlRERUZTX0ggMQp8ICNkZWZpbmUgUEdfUFJJTlRGX0FUVFJJQlVURSBnbnVfcHJpbnRmCnwg I2RlZmluZSBGTEVYSUJMRV9BUlJBWV9NRU1CRVIgLyoqLwp8ICNkZWZpbmUgSEFWRV9GVU5DTkFN RV9fRlVOQyAxCnwgI2RlZmluZSBIQVZFX19TVEFUSUNfQVNTRVJUIDEKfCAjZGVmaW5lIEhBVkVf VFlQRU9GIDEKfCAjZGVmaW5lIEhBVkVfX0JVSUxUSU5fVFlQRVNfQ09NUEFUSUJMRV9QIDEKfCAj ZGVmaW5lIEhBVkVfX0JVSUxUSU5fQlNXQVAxNiAxCnwgI2RlZmluZSBIQVZFX19CVUlMVElOX0JT V0FQMzIgMQp8ICNkZWZpbmUgSEFWRV9fQlVJTFRJTl9CU1dBUDY0IDEKfCAjZGVmaW5lIEhBVkVf X0JVSUxUSU5fQ09OU1RBTlRfUCAxCnwgI2RlZmluZSBIQVZFX19CVUlMVElOX1VOUkVBQ0hBQkxF IDEKfCAjZGVmaW5lIEhBVkVfQ09NUFVURURfR09UTyAxCnwgI2RlZmluZSBIQVZFX19WQV9BUkdT IDEKfCAjZGVmaW5lIEhBVkVfVFpOQU1FIDEKfCAjZGVmaW5lIEhBVkVfU1RSVUNUX1NPQ0tBRERS X1NUT1JBR0UgMQp8ICNkZWZpbmUgSEFWRV9TVFJVQ1RfU09DS0FERFJfU1RPUkFHRV9TU19GQU1J TFkgMQp8ICNkZWZpbmUgSEFWRV9TVFJVQ1RfQUREUklORk8gMQp8ICNkZWZpbmUgSEFWRV9JTlRQ VFJfVCAxCnwgI2RlZmluZSBIQVZFX1VJTlRQVFJfVCAxCnwgI2RlZmluZSBIQVZFX1VOU0lHTkVE X0xPTkdfTE9OR19JTlQgMQp8ICNkZWZpbmUgSEFWRV9MT05HX0xPTkdfSU5UIDEKfCAjZGVmaW5l IHJlc3RyaWN0IF9fcmVzdHJpY3QKfCAjZGVmaW5lIHBnX3Jlc3RyaWN0IF9fcmVzdHJpY3QKfCAj ZGVmaW5lIEhBVkVfU1RSVUNUX09QVElPTiAxCnwgI2RlZmluZSBTSVpFT0ZfT0ZGX1QgNAp8ICNk ZWZpbmUgU0laRU9GX0JPT0wgMQp8ICNkZWZpbmUgSEFWRV9JTlRfVElNRVpPTkUgMQp8IC8qIGVu ZCBjb25mZGVmcy5oLiAgKi8KfCAjaW5jbHVkZSA8c3lzL3R5cGVzLmg+CnwgI2luY2x1ZGUgPHN5 cy9zb2NrZXQuaD4KfCBleHRlcm4gaW50IGFjY2VwdCAoaW50LCBzdHJ1Y3Qgc29ja2FkZHIgKiwg c29ja2xlbl90ICopOwpjb25maWd1cmU6MTQ3OTE6IHg4Nl82NC13NjQtbWluZ3czMi1nY2MgLWMg LVdhbGwgLVdtaXNzaW5nLXByb3RvdHlwZXMgLVdwb2ludGVyLWFyaXRoIC1XZGVjbGFyYXRpb24t YWZ0ZXItc3RhdGVtZW50IC1XZW5kaWYtbGFiZWxzIC1XbWlzc2luZy1mb3JtYXQtYXR0cmlidXRl IC1XZm9ybWF0LXNlY3VyaXR5IC1mbm8tc3RyaWN0LWFsaWFzaW5nIC1md3JhcHYgLWZleGNlc3Mt cHJlY2lzaW9uPXN0YW5kYXJkIC1Xbm8tZm9ybWF0LXRydW5jYXRpb24gLVduby1zdHJpbmdvcC10 cnVuY2F0aW9uIC1nIC1PIC1mbm8tb21pdC1mcmFtZS1wb2ludGVyICAtSS93L1ItMy41Ll8vcG9z dGdyZXMvc3JjL2luY2x1ZGUvcG9ydC93aW4zMiAtREVYRUNfQkFDS0VORCAgLUkvdy96bGliLTEu Mi44LXdpbjMyLXg4Nl82NC9pbmNsdWRlIC1JL3cvb3BlbnNzbC0xLjAuMmUtd2luMzIteDg2XzY0 L2luY2x1ZGUgLUkvdy9saWJ4bWwyLTIuOS4zLXdpbjMyLXg4Nl82NC9pbmNsdWRlL2xpYnhtbDIg LUkvdy9saWJ4c2x0LTEuMS4yOC13aW4zMi14ODZfNjQvaW5jbHVkZSBjb25mdGVzdC5jID4mNQpj b25mdGVzdC5jOjc5OjEyOiBlcnJvcjogY29uZmxpY3RpbmcgdHlwZXMgZm9yICdhY2NlcHQnCiBl eHRlcm4gaW50IGFjY2VwdCAoaW50LCBzdHJ1Y3Qgc29ja2FkZHIgKiwgdW5zaWduZWQgaW50ICop OwogICAgICAgICAgICBefn5+fn4KSW4gZmlsZSBpbmNsdWRlZCBmcm9tIFc6L1ItMy41Ll8vcG9z dGdyZXMvc3JjL2luY2x1ZGUvcG9ydC93aW4zMi9zeXMvc29ja2V0Lmg6MTQsCiAgICAgICAgICAg ICAgICAgZnJvbSBjb25mdGVzdC5jOjc4OgpDOi9tc3lzNjQvbWluZ3c2NC94ODZfNjQtdzY0LW1p bmd3MzIvaW5jbHVkZS93aW5zb2NrMi5oOjk3MzozNzogbm90ZTogcHJldmlvdXMgZGVjbGFyYXRp b24gb2YgJ2FjY2VwdCcgd2FzIGhlcmUKICAgV0lOU09DS19BUElfTElOS0FHRSBTT0NLRVQgV1NB QVBJIGFjY2VwdChTT0NLRVQgcyxzdHJ1Y3Qgc29ja2FkZHIgKmFkZHIsaW50ICphZGRybGVuKTsK ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF5+fn5+fgpjb25maWd1cmU6MTQ3 OTE6ICQ/ID0gMQpjb25maWd1cmU6IGZhaWxlZCBwcm9ncmFtIHdhczoKfCAvKiBjb25mZGVmcy5o ICovCnwgI2RlZmluZSBQQUNLQUdFX05BTUUgIlBvc3RncmVTUUwiCnwgI2RlZmluZSBQQUNLQUdF X1RBUk5BTUUgInBvc3RncmVzcWwiCnwgI2RlZmluZSBQQUNLQUdFX1ZFUlNJT04gIjExYmV0YTMi CnwgI2RlZmluZSBQQUNLQUdFX1NUUklORyAiUG9zdGdyZVNRTCAxMWJldGEzIgp8ICNkZWZpbmUg UEFDS0FHRV9CVUdSRVBPUlQgInBnc3FsLWJ1Z3NAcG9zdGdyZXNxbC5vcmciCnwgI2RlZmluZSBQ QUNLQUdFX1VSTCAiIgp8ICNkZWZpbmUgUEdfTUFKT1JWRVJTSU9OICIxMSIKfCAjZGVmaW5lIFBH X1ZFUlNJT04gIjExYmV0YTMiCnwgI2RlZmluZSBERUZfUEdQT1JUIDU0MzIKfCAjZGVmaW5lIERF Rl9QR1BPUlRfU1RSICI1NDMyIgp8ICNkZWZpbmUgQkxDS1NaIDgxOTIKfCAjZGVmaW5lIFJFTFNF R19TSVpFIDEzMTA3Mgp8ICNkZWZpbmUgWExPR19CTENLU1ogODE5Mgp8ICNkZWZpbmUgVVNFX0FT U0VSVF9DSEVDS0lORyAxCnwgI2RlZmluZSBFTkFCTEVfVEhSRUFEX1NBRkVUWSAxCnwgI2RlZmlu ZSBVU0VfSUNVIDEKfCAjZGVmaW5lIFBHX0tSQl9TUlZOQU0gInBvc3RncmVzIgp8ICNkZWZpbmUg VVNFX09QRU5TU0wgMQp8ICNkZWZpbmUgVVNFX0xJQlhNTCAxCnwgI2RlZmluZSBVU0VfTElCWFNM VCAxCnwgI2RlZmluZSBTVERDX0hFQURFUlMgMQp8ICNkZWZpbmUgSEFWRV9TWVNfVFlQRVNfSCAx CnwgI2RlZmluZSBIQVZFX1NZU19TVEFUX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERMSUJfSCAxCnwg I2RlZmluZSBIQVZFX1NUUklOR19IIDEKfCAjZGVmaW5lIEhBVkVfTUVNT1JZX0ggMQp8ICNkZWZp bmUgSEFWRV9TVFJJTkdTX0ggMQp8ICNkZWZpbmUgSEFWRV9JTlRUWVBFU19IIDEKfCAjZGVmaW5l IEhBVkVfU1RESU5UX0ggMQp8ICNkZWZpbmUgSEFWRV9VTklTVERfSCAxCnwgI2RlZmluZSBIQVZF X0xJQk0gMQp8ICNkZWZpbmUgSEFWRV9MSUJaIDEKfCAjZGVmaW5lIEhBVkVfU1BJTkxPQ0tTIDEK fCAjZGVmaW5lIEhBVkVfQVRPTUlDUyAxCnwgI2RlZmluZSBIQVZFX1NTTF9HRVRfQ1VSUkVOVF9D T01QUkVTU0lPTiAxCnwgI2RlZmluZSBIQVZFX1g1MDlfR0VUX1NJR05BVFVSRV9OSUQgMQp8ICNk ZWZpbmUgSEFWRV9DUllQVE9fTE9DSyAxCnwgI2RlZmluZSBIQVZFX0xJQlhNTDIgMQp8ICNkZWZp bmUgSEFWRV9MSUJYU0xUIDEKfCAjZGVmaW5lIEhBVkVfX0JPT0wgMQp8ICNkZWZpbmUgSEFWRV9T VERCT09MX0ggMQp8ICNkZWZpbmUgSEFWRV9HRVRPUFRfSCAxCnwgI2RlZmluZSBIQVZFX0lFRUVG UF9IIDEKfCAjZGVmaW5lIEhBVkVfVVRJTUVfSCAxCnwgI2RlZmluZSBIQVZFX1dDSEFSX0ggMQp8 ICNkZWZpbmUgSEFWRV9XQ1RZUEVfSCAxCnwgI2RlZmluZSBIQVZFX0NSVERFRlNfSCAxCnwgI2Rl ZmluZSBQR19QUklOVEZfQVRUUklCVVRFIGdudV9wcmludGYKfCAjZGVmaW5lIEZMRVhJQkxFX0FS UkFZX01FTUJFUiAvKiovCnwgI2RlZmluZSBIQVZFX0ZVTkNOQU1FX19GVU5DIDEKfCAjZGVmaW5l IEhBVkVfX1NUQVRJQ19BU1NFUlQgMQp8ICNkZWZpbmUgSEFWRV9UWVBFT0YgMQp8ICNkZWZpbmUg SEFWRV9fQlVJTFRJTl9UWVBFU19DT01QQVRJQkxFX1AgMQp8ICNkZWZpbmUgSEFWRV9fQlVJTFRJ Tl9CU1dBUDE2IDEKfCAjZGVmaW5lIEhBVkVfX0JVSUxUSU5fQlNXQVAzMiAxCnwgI2RlZmluZSBI QVZFX19CVUlMVElOX0JTV0FQNjQgMQp8ICNkZWZpbmUgSEFWRV9fQlVJTFRJTl9DT05TVEFOVF9Q IDEKfCAjZGVmaW5lIEhBVkVfX0JVSUxUSU5fVU5SRUFDSEFCTEUgMQp8ICNkZWZpbmUgSEFWRV9D T01QVVRFRF9HT1RPIDEKfCAjZGVmaW5lIEhBVkVfX1ZBX0FSR1MgMQp8ICNkZWZpbmUgSEFWRV9U Wk5BTUUgMQp8ICNkZWZpbmUgSEFWRV9TVFJVQ1RfU09DS0FERFJfU1RPUkFHRSAxCnwgI2RlZmlu ZSBIQVZFX1NUUlVDVF9TT0NLQUREUl9TVE9SQUdFX1NTX0ZBTUlMWSAxCnwgI2RlZmluZSBIQVZF X1NUUlVDVF9BRERSSU5GTyAxCnwgI2RlZmluZSBIQVZFX0lOVFBUUl9UIDEKfCAjZGVmaW5lIEhB VkVfVUlOVFBUUl9UIDEKfCAjZGVmaW5lIEhBVkVfVU5TSUdORURfTE9OR19MT05HX0lOVCAxCnwg I2RlZmluZSBIQVZFX0xPTkdfTE9OR19JTlQgMQp8ICNkZWZpbmUgcmVzdHJpY3QgX19yZXN0cmlj dAp8ICNkZWZpbmUgcGdfcmVzdHJpY3QgX19yZXN0cmljdAp8ICNkZWZpbmUgSEFWRV9TVFJVQ1Rf T1BUSU9OIDEKfCAjZGVmaW5lIFNJWkVPRl9PRkZfVCA0CnwgI2RlZmluZSBTSVpFT0ZfQk9PTCAx CnwgI2RlZmluZSBIQVZFX0lOVF9USU1FWk9ORSAxCnwgLyogZW5kIGNvbmZkZWZzLmguICAqLwp8 ICNpbmNsdWRlIDxzeXMvdHlwZXMuaD4KfCAjaW5jbHVkZSA8c3lzL3NvY2tldC5oPgp8IGV4dGVy biBpbnQgYWNjZXB0IChpbnQsIHN0cnVjdCBzb2NrYWRkciAqLCB1bnNpZ25lZCBpbnQgKik7CmNv bmZpZ3VyZToxNDc5MTogeDg2XzY0LXc2NC1taW5ndzMyLWdjYyAtYyAtV2FsbCAtV21pc3Npbmct cHJvdG90eXBlcyAtV3BvaW50ZXItYXJpdGggLVdkZWNsYXJhdGlvbi1hZnRlci1zdGF0ZW1lbnQg LVdlbmRpZi1sYWJlbHMgLVdtaXNzaW5nLWZvcm1hdC1hdHRyaWJ1dGUgLVdmb3JtYXQtc2VjdXJp dHkgLWZuby1zdHJpY3QtYWxpYXNpbmcgLWZ3cmFwdiAtZmV4Y2Vzcy1wcmVjaXNpb249c3RhbmRh cmQgLVduby1mb3JtYXQtdHJ1bmNhdGlvbiAtV25vLXN0cmluZ29wLXRydW5jYXRpb24gLWcgLU8g LWZuby1vbWl0LWZyYW1lLXBvaW50ZXIgIC1JL3cvUi0zLjUuXy9wb3N0Z3Jlcy9zcmMvaW5jbHVk ZS9wb3J0L3dpbjMyIC1ERVhFQ19CQUNLRU5EICAtSS93L3psaWItMS4yLjgtd2luMzIteDg2XzY0 L2luY2x1ZGUgLUkvdy9vcGVuc3NsLTEuMC4yZS13aW4zMi14ODZfNjQvaW5jbHVkZSAtSS93L2xp YnhtbDItMi45LjMtd2luMzIteDg2XzY0L2luY2x1ZGUvbGlieG1sMiAtSS93L2xpYnhzbHQtMS4x LjI4LXdpbjMyLXg4Nl82NC9pbmNsdWRlIGNvbmZ0ZXN0LmMgPiY1CmNvbmZ0ZXN0LmM6Nzk6MTI6 IGVycm9yOiBjb25mbGljdGluZyB0eXBlcyBmb3IgJ2FjY2VwdCcKIGV4dGVybiBpbnQgYWNjZXB0 IChpbnQsIHN0cnVjdCBzb2NrYWRkciAqLCB2b2lkICopOwogICAgICAgICAgICBefn5+fn4KSW4g ZmlsZSBpbmNsdWRlZCBmcm9tIFc6L1ItMy41Ll8vcG9zdGdyZXMvc3JjL2luY2x1ZGUvcG9ydC93 aW4zMi9zeXMvc29ja2V0Lmg6MTQsCiAgICAgICAgICAgICAgICAgZnJvbSBjb25mdGVzdC5jOjc4 OgpDOi9tc3lzNjQvbWluZ3c2NC94ODZfNjQtdzY0LW1pbmd3MzIvaW5jbHVkZS93aW5zb2NrMi5o Ojk3MzozNzogbm90ZTogcHJldmlvdXMgZGVjbGFyYXRpb24gb2YgJ2FjY2VwdCcgd2FzIGhlcmUK ICAgV0lOU09DS19BUElfTElOS0FHRSBTT0NLRVQgV1NBQVBJIGFjY2VwdChTT0NLRVQgcyxzdHJ1 Y3Qgc29ja2FkZHIgKmFkZHIsaW50ICphZGRybGVuKTsKICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIF5+fn5+fgpjb25maWd1cmU6MTQ3OTE6ICQ/ID0gMQpjb25maWd1cmU6IGZh aWxlZCBwcm9ncmFtIHdhczoKfCAvKiBjb25mZGVmcy5oICovCnwgI2RlZmluZSBQQUNLQUdFX05B TUUgIlBvc3RncmVTUUwiCnwgI2RlZmluZSBQQUNLQUdFX1RBUk5BTUUgInBvc3RncmVzcWwiCnwg I2RlZmluZSBQQUNLQUdFX1ZFUlNJT04gIjExYmV0YTMiCnwgI2RlZmluZSBQQUNLQUdFX1NUUklO RyAiUG9zdGdyZVNRTCAxMWJldGEzIgp8ICNkZWZpbmUgUEFDS0FHRV9CVUdSRVBPUlQgInBnc3Fs LWJ1Z3NAcG9zdGdyZXNxbC5vcmciCnwgI2RlZmluZSBQQUNLQUdFX1VSTCAiIgp8ICNkZWZpbmUg UEdfTUFKT1JWRVJTSU9OICIxMSIKfCAjZGVmaW5lIFBHX1ZFUlNJT04gIjExYmV0YTMiCnwgI2Rl ZmluZSBERUZfUEdQT1JUIDU0MzIKfCAjZGVmaW5lIERFRl9QR1BPUlRfU1RSICI1NDMyIgp8ICNk ZWZpbmUgQkxDS1NaIDgxOTIKfCAjZGVmaW5lIFJFTFNFR19TSVpFIDEzMTA3Mgp8ICNkZWZpbmUg WExPR19CTENLU1ogODE5Mgp8ICNkZWZpbmUgVVNFX0FTU0VSVF9DSEVDS0lORyAxCnwgI2RlZmlu ZSBFTkFCTEVfVEhSRUFEX1NBRkVUWSAxCnwgI2RlZmluZSBVU0VfSUNVIDEKfCAjZGVmaW5lIFBH X0tSQl9TUlZOQU0gInBvc3RncmVzIgp8ICNkZWZpbmUgVVNFX09QRU5TU0wgMQp8ICNkZWZpbmUg VVNFX0xJQlhNTCAxCnwgI2RlZmluZSBVU0VfTElCWFNMVCAxCnwgI2RlZmluZSBTVERDX0hFQURF UlMgMQp8ICNkZWZpbmUgSEFWRV9TWVNfVFlQRVNfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19TVEFU X0ggMQp8ICNkZWZpbmUgSEFWRV9TVERMSUJfSCAxCnwgI2RlZmluZSBIQVZFX1NUUklOR19IIDEK fCAjZGVmaW5lIEhBVkVfTUVNT1JZX0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJJTkdTX0ggMQp8ICNk ZWZpbmUgSEFWRV9JTlRUWVBFU19IIDEKfCAjZGVmaW5lIEhBVkVfU1RESU5UX0ggMQp8ICNkZWZp bmUgSEFWRV9VTklTVERfSCAxCnwgI2RlZmluZSBIQVZFX0xJQk0gMQp8ICNkZWZpbmUgSEFWRV9M SUJaIDEKfCAjZGVmaW5lIEhBVkVfU1BJTkxPQ0tTIDEKfCAjZGVmaW5lIEhBVkVfQVRPTUlDUyAx CnwgI2RlZmluZSBIQVZFX1NTTF9HRVRfQ1VSUkVOVF9DT01QUkVTU0lPTiAxCnwgI2RlZmluZSBI QVZFX1g1MDlfR0VUX1NJR05BVFVSRV9OSUQgMQp8ICNkZWZpbmUgSEFWRV9DUllQVE9fTE9DSyAx CnwgI2RlZmluZSBIQVZFX0xJQlhNTDIgMQp8ICNkZWZpbmUgSEFWRV9MSUJYU0xUIDEKfCAjZGVm aW5lIEhBVkVfX0JPT0wgMQp8ICNkZWZpbmUgSEFWRV9TVERCT09MX0ggMQp8ICNkZWZpbmUgSEFW RV9HRVRPUFRfSCAxCnwgI2RlZmluZSBIQVZFX0lFRUVGUF9IIDEKfCAjZGVmaW5lIEhBVkVfVVRJ TUVfSCAxCnwgI2RlZmluZSBIQVZFX1dDSEFSX0ggMQp8ICNkZWZpbmUgSEFWRV9XQ1RZUEVfSCAx CnwgI2RlZmluZSBIQVZFX0NSVERFRlNfSCAxCnwgI2RlZmluZSBQR19QUklOVEZfQVRUUklCVVRF IGdudV9wcmludGYKfCAjZGVmaW5lIEZMRVhJQkxFX0FSUkFZX01FTUJFUiAvKiovCnwgI2RlZmlu ZSBIQVZFX0ZVTkNOQU1FX19GVU5DIDEKfCAjZGVmaW5lIEhBVkVfX1NUQVRJQ19BU1NFUlQgMQp8 ICNkZWZpbmUgSEFWRV9UWVBFT0YgMQp8ICNkZWZpbmUgSEFWRV9fQlVJTFRJTl9UWVBFU19DT01Q QVRJQkxFX1AgMQp8ICNkZWZpbmUgSEFWRV9fQlVJTFRJTl9CU1dBUDE2IDEKfCAjZGVmaW5lIEhB VkVfX0JVSUxUSU5fQlNXQVAzMiAxCnwgI2RlZmluZSBIQVZFX19CVUlMVElOX0JTV0FQNjQgMQp8 ICNkZWZpbmUgSEFWRV9fQlVJTFRJTl9DT05TVEFOVF9QIDEKfCAjZGVmaW5lIEhBVkVfX0JVSUxU SU5fVU5SRUFDSEFCTEUgMQp8ICNkZWZpbmUgSEFWRV9DT01QVVRFRF9HT1RPIDEKfCAjZGVmaW5l IEhBVkVfX1ZBX0FSR1MgMQp8ICNkZWZpbmUgSEFWRV9UWk5BTUUgMQp8ICNkZWZpbmUgSEFWRV9T VFJVQ1RfU09DS0FERFJfU1RPUkFHRSAxCnwgI2RlZmluZSBIQVZFX1NUUlVDVF9TT0NLQUREUl9T VE9SQUdFX1NTX0ZBTUlMWSAxCnwgI2RlZmluZSBIQVZFX1NUUlVDVF9BRERSSU5GTyAxCnwgI2Rl ZmluZSBIQVZFX0lOVFBUUl9UIDEKfCAjZGVmaW5lIEhBVkVfVUlOVFBUUl9UIDEKfCAjZGVmaW5l IEhBVkVfVU5TSUdORURfTE9OR19MT05HX0lOVCAxCnwgI2RlZmluZSBIQVZFX0xPTkdfTE9OR19J TlQgMQp8ICNkZWZpbmUgcmVzdHJpY3QgX19yZXN0cmljdAp8ICNkZWZpbmUgcGdfcmVzdHJpY3Qg X19yZXN0cmljdAp8ICNkZWZpbmUgSEFWRV9TVFJVQ1RfT1BUSU9OIDEKfCAjZGVmaW5lIFNJWkVP Rl9PRkZfVCA0CnwgI2RlZmluZSBTSVpFT0ZfQk9PTCAxCnwgI2RlZmluZSBIQVZFX0lOVF9USU1F Wk9ORSAxCnwgLyogZW5kIGNvbmZkZWZzLmguICAqLwp8ICNpbmNsdWRlIDxzeXMvdHlwZXMuaD4K fCAjaW5jbHVkZSA8c3lzL3NvY2tldC5oPgp8IGV4dGVybiBpbnQgYWNjZXB0IChpbnQsIHN0cnVj dCBzb2NrYWRkciAqLCB2b2lkICopOwpjb25maWd1cmU6MTQ3OTE6IHg4Nl82NC13NjQtbWluZ3cz Mi1nY2MgLWMgLVdhbGwgLVdtaXNzaW5nLXByb3RvdHlwZXMgLVdwb2ludGVyLWFyaXRoIC1XZGVj bGFyYXRpb24tYWZ0ZXItc3RhdGVtZW50IC1XZW5kaWYtbGFiZWxzIC1XbWlzc2luZy1mb3JtYXQt YXR0cmlidXRlIC1XZm9ybWF0LXNlY3VyaXR5IC1mbm8tc3RyaWN0LWFsaWFzaW5nIC1md3JhcHYg LWZleGNlc3MtcHJlY2lzaW9uPXN0YW5kYXJkIC1Xbm8tZm9ybWF0LXRydW5jYXRpb24gLVduby1z dHJpbmdvcC10cnVuY2F0aW9uIC1nIC1PIC1mbm8tb21pdC1mcmFtZS1wb2ludGVyICAtSS93L1It My41Ll8vcG9zdGdyZXMvc3JjL2luY2x1ZGUvcG9ydC93aW4zMiAtREVYRUNfQkFDS0VORCAgLUkv dy96bGliLTEuMi44LXdpbjMyLXg4Nl82NC9pbmNsdWRlIC1JL3cvb3BlbnNzbC0xLjAuMmUtd2lu MzIteDg2XzY0L2luY2x1ZGUgLUkvdy9saWJ4bWwyLTIuOS4zLXdpbjMyLXg4Nl82NC9pbmNsdWRl L2xpYnhtbDIgLUkvdy9saWJ4c2x0LTEuMS4yOC13aW4zMi14ODZfNjQvaW5jbHVkZSBjb25mdGVz dC5jID4mNQpjb25mdGVzdC5jOjc5OjEyOiBlcnJvcjogY29uZmxpY3RpbmcgdHlwZXMgZm9yICdh Y2NlcHQnCiBleHRlcm4gaW50IGFjY2VwdCAoaW50LCBjb25zdCBzdHJ1Y3Qgc29ja2FkZHIgKiwg aW50ICopOwogICAgICAgICAgICBefn5+fn4KSW4gZmlsZSBpbmNsdWRlZCBmcm9tIFc6L1ItMy41 Ll8vcG9zdGdyZXMvc3JjL2luY2x1ZGUvcG9ydC93aW4zMi9zeXMvc29ja2V0Lmg6MTQsCiAgICAg ICAgICAgICAgICAgZnJvbSBjb25mdGVzdC5jOjc4OgpDOi9tc3lzNjQvbWluZ3c2NC94ODZfNjQt dzY0LW1pbmd3MzIvaW5jbHVkZS93aW5zb2NrMi5oOjk3MzozNzogbm90ZTogcHJldmlvdXMgZGVj bGFyYXRpb24gb2YgJ2FjY2VwdCcgd2FzIGhlcmUKICAgV0lOU09DS19BUElfTElOS0FHRSBTT0NL RVQgV1NBQVBJIGFjY2VwdChTT0NLRVQgcyxzdHJ1Y3Qgc29ja2FkZHIgKmFkZHIsaW50ICphZGRy bGVuKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF5+fn5+fgpjb25maWd1 cmU6MTQ3OTE6ICQ/ID0gMQpjb25maWd1cmU6IGZhaWxlZCBwcm9ncmFtIHdhczoKfCAvKiBjb25m ZGVmcy5oICovCnwgI2RlZmluZSBQQUNLQUdFX05BTUUgIlBvc3RncmVTUUwiCnwgI2RlZmluZSBQ QUNLQUdFX1RBUk5BTUUgInBvc3RncmVzcWwiCnwgI2RlZmluZSBQQUNLQUdFX1ZFUlNJT04gIjEx YmV0YTMiCnwgI2RlZmluZSBQQUNLQUdFX1NUUklORyAiUG9zdGdyZVNRTCAxMWJldGEzIgp8ICNk ZWZpbmUgUEFDS0FHRV9CVUdSRVBPUlQgInBnc3FsLWJ1Z3NAcG9zdGdyZXNxbC5vcmciCnwgI2Rl ZmluZSBQQUNLQUdFX1VSTCAiIgp8ICNkZWZpbmUgUEdfTUFKT1JWRVJTSU9OICIxMSIKfCAjZGVm aW5lIFBHX1ZFUlNJT04gIjExYmV0YTMiCnwgI2RlZmluZSBERUZfUEdQT1JUIDU0MzIKfCAjZGVm aW5lIERFRl9QR1BPUlRfU1RSICI1NDMyIgp8ICNkZWZpbmUgQkxDS1NaIDgxOTIKfCAjZGVmaW5l IFJFTFNFR19TSVpFIDEzMTA3Mgp8ICNkZWZpbmUgWExPR19CTENLU1ogODE5Mgp8ICNkZWZpbmUg VVNFX0FTU0VSVF9DSEVDS0lORyAxCnwgI2RlZmluZSBFTkFCTEVfVEhSRUFEX1NBRkVUWSAxCnwg I2RlZmluZSBVU0VfSUNVIDEKfCAjZGVmaW5lIFBHX0tSQl9TUlZOQU0gInBvc3RncmVzIgp8ICNk ZWZpbmUgVVNFX09QRU5TU0wgMQp8ICNkZWZpbmUgVVNFX0xJQlhNTCAxCnwgI2RlZmluZSBVU0Vf TElCWFNMVCAxCnwgI2RlZmluZSBTVERDX0hFQURFUlMgMQp8ICNkZWZpbmUgSEFWRV9TWVNfVFlQ RVNfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19TVEFUX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERMSUJf SCAxCnwgI2RlZmluZSBIQVZFX1NUUklOR19IIDEKfCAjZGVmaW5lIEhBVkVfTUVNT1JZX0ggMQp8 ICNkZWZpbmUgSEFWRV9TVFJJTkdTX0ggMQp8ICNkZWZpbmUgSEFWRV9JTlRUWVBFU19IIDEKfCAj ZGVmaW5lIEhBVkVfU1RESU5UX0ggMQp8ICNkZWZpbmUgSEFWRV9VTklTVERfSCAxCnwgI2RlZmlu ZSBIQVZFX0xJQk0gMQp8ICNkZWZpbmUgSEFWRV9MSUJaIDEKfCAjZGVmaW5lIEhBVkVfU1BJTkxP Q0tTIDEKfCAjZGVmaW5lIEhBVkVfQVRPTUlDUyAxCnwgI2RlZmluZSBIQVZFX1NTTF9HRVRfQ1VS UkVOVF9DT01QUkVTU0lPTiAxCnwgI2RlZmluZSBIQVZFX1g1MDlfR0VUX1NJR05BVFVSRV9OSUQg MQp8ICNkZWZpbmUgSEFWRV9DUllQVE9fTE9DSyAxCnwgI2RlZmluZSBIQVZFX0xJQlhNTDIgMQp8 ICNkZWZpbmUgSEFWRV9MSUJYU0xUIDEKfCAjZGVmaW5lIEhBVkVfX0JPT0wgMQp8ICNkZWZpbmUg SEFWRV9TVERCT09MX0ggMQp8ICNkZWZpbmUgSEFWRV9HRVRPUFRfSCAxCnwgI2RlZmluZSBIQVZF X0lFRUVGUF9IIDEKfCAjZGVmaW5lIEhBVkVfVVRJTUVfSCAxCnwgI2RlZmluZSBIQVZFX1dDSEFS X0ggMQp8ICNkZWZpbmUgSEFWRV9XQ1RZUEVfSCAxCnwgI2RlZmluZSBIQVZFX0NSVERFRlNfSCAx CnwgI2RlZmluZSBQR19QUklOVEZfQVRUUklCVVRFIGdudV9wcmludGYKfCAjZGVmaW5lIEZMRVhJ QkxFX0FSUkFZX01FTUJFUiAvKiovCnwgI2RlZmluZSBIQVZFX0ZVTkNOQU1FX19GVU5DIDEKfCAj ZGVmaW5lIEhBVkVfX1NUQVRJQ19BU1NFUlQgMQp8ICNkZWZpbmUgSEFWRV9UWVBFT0YgMQp8ICNk ZWZpbmUgSEFWRV9fQlVJTFRJTl9UWVBFU19DT01QQVRJQkxFX1AgMQp8ICNkZWZpbmUgSEFWRV9f QlVJTFRJTl9CU1dBUDE2IDEKfCAjZGVmaW5lIEhBVkVfX0JVSUxUSU5fQlNXQVAzMiAxCnwgI2Rl ZmluZSBIQVZFX19CVUlMVElOX0JTV0FQNjQgMQp8ICNkZWZpbmUgSEFWRV9fQlVJTFRJTl9DT05T VEFOVF9QIDEKfCAjZGVmaW5lIEhBVkVfX0JVSUxUSU5fVU5SRUFDSEFCTEUgMQp8ICNkZWZpbmUg SEFWRV9DT01QVVRFRF9HT1RPIDEKfCAjZGVmaW5lIEhBVkVfX1ZBX0FSR1MgMQp8ICNkZWZpbmUg SEFWRV9UWk5BTUUgMQp8ICNkZWZpbmUgSEFWRV9TVFJVQ1RfU09DS0FERFJfU1RPUkFHRSAxCnwg I2RlZmluZSBIQVZFX1NUUlVDVF9TT0NLQUREUl9TVE9SQUdFX1NTX0ZBTUlMWSAxCnwgI2RlZmlu ZSBIQVZFX1NUUlVDVF9BRERSSU5GTyAxCnwgI2RlZmluZSBIQVZFX0lOVFBUUl9UIDEKfCAjZGVm aW5lIEhBVkVfVUlOVFBUUl9UIDEKfCAjZGVmaW5lIEhBVkVfVU5TSUdORURfTE9OR19MT05HX0lO VCAxCnwgI2RlZmluZSBIQVZFX0xPTkdfTE9OR19JTlQgMQp8ICNkZWZpbmUgcmVzdHJpY3QgX19y ZXN0cmljdAp8ICNkZWZpbmUgcGdfcmVzdHJpY3QgX19yZXN0cmljdAp8ICNkZWZpbmUgSEFWRV9T VFJVQ1RfT1BUSU9OIDEKfCAjZGVmaW5lIFNJWkVPRl9PRkZfVCA0CnwgI2RlZmluZSBTSVpFT0Zf Qk9PTCAxCnwgI2RlZmluZSBIQVZFX0lOVF9USU1FWk9ORSAxCnwgLyogZW5kIGNvbmZkZWZzLmgu ICAqLwp8ICNpbmNsdWRlIDxzeXMvdHlwZXMuaD4KfCAjaW5jbHVkZSA8c3lzL3NvY2tldC5oPgp8 IGV4dGVybiBpbnQgYWNjZXB0IChpbnQsIGNvbnN0IHN0cnVjdCBzb2NrYWRkciAqLCBpbnQgKik7 CmNvbmZpZ3VyZToxNDc5MTogeDg2XzY0LXc2NC1taW5ndzMyLWdjYyAtYyAtV2FsbCAtV21pc3Np bmctcHJvdG90eXBlcyAtV3BvaW50ZXItYXJpdGggLVdkZWNsYXJhdGlvbi1hZnRlci1zdGF0ZW1l bnQgLVdlbmRpZi1sYWJlbHMgLVdtaXNzaW5nLWZvcm1hdC1hdHRyaWJ1dGUgLVdmb3JtYXQtc2Vj dXJpdHkgLWZuby1zdHJpY3QtYWxpYXNpbmcgLWZ3cmFwdiAtZmV4Y2Vzcy1wcmVjaXNpb249c3Rh bmRhcmQgLVduby1mb3JtYXQtdHJ1bmNhdGlvbiAtV25vLXN0cmluZ29wLXRydW5jYXRpb24gLWcg LU8gLWZuby1vbWl0LWZyYW1lLXBvaW50ZXIgIC1JL3cvUi0zLjUuXy9wb3N0Z3Jlcy9zcmMvaW5j bHVkZS9wb3J0L3dpbjMyIC1ERVhFQ19CQUNLRU5EICAtSS93L3psaWItMS4yLjgtd2luMzIteDg2 XzY0L2luY2x1ZGUgLUkvdy9vcGVuc3NsLTEuMC4yZS13aW4zMi14ODZfNjQvaW5jbHVkZSAtSS93 L2xpYnhtbDItMi45LjMtd2luMzIteDg2XzY0L2luY2x1ZGUvbGlieG1sMiAtSS93L2xpYnhzbHQt MS4xLjI4LXdpbjMyLXg4Nl82NC9pbmNsdWRlIGNvbmZ0ZXN0LmMgPiY1CmNvbmZ0ZXN0LmM6Nzk6 MTI6IGVycm9yOiBjb25mbGljdGluZyB0eXBlcyBmb3IgJ2FjY2VwdCcKIGV4dGVybiBpbnQgYWNj ZXB0IChpbnQsIGNvbnN0IHN0cnVjdCBzb2NrYWRkciAqLCBzaXplX3QgKik7CiAgICAgICAgICAg IF5+fn5+fgpJbiBmaWxlIGluY2x1ZGVkIGZyb20gVzovUi0zLjUuXy9wb3N0Z3Jlcy9zcmMvaW5j bHVkZS9wb3J0L3dpbjMyL3N5cy9zb2NrZXQuaDoxNCwKICAgICAgICAgICAgICAgICBmcm9tIGNv bmZ0ZXN0LmM6Nzg6CkM6L21zeXM2NC9taW5ndzY0L3g4Nl82NC13NjQtbWluZ3czMi9pbmNsdWRl L3dpbnNvY2syLmg6OTczOjM3OiBub3RlOiBwcmV2aW91cyBkZWNsYXJhdGlvbiBvZiAnYWNjZXB0 JyB3YXMgaGVyZQogICBXSU5TT0NLX0FQSV9MSU5LQUdFIFNPQ0tFVCBXU0FBUEkgYWNjZXB0KFNP Q0tFVCBzLHN0cnVjdCBzb2NrYWRkciAqYWRkcixpbnQgKmFkZHJsZW4pOwogICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgXn5+fn5+CmNvbmZpZ3VyZToxNDc5MTogJD8gPSAxCmNv bmZpZ3VyZTogZmFpbGVkIHByb2dyYW0gd2FzOgp8IC8qIGNvbmZkZWZzLmggKi8KfCAjZGVmaW5l IFBBQ0tBR0VfTkFNRSAiUG9zdGdyZVNRTCIKfCAjZGVmaW5lIFBBQ0tBR0VfVEFSTkFNRSAicG9z dGdyZXNxbCIKfCAjZGVmaW5lIFBBQ0tBR0VfVkVSU0lPTiAiMTFiZXRhMyIKfCAjZGVmaW5lIFBB Q0tBR0VfU1RSSU5HICJQb3N0Z3JlU1FMIDExYmV0YTMiCnwgI2RlZmluZSBQQUNLQUdFX0JVR1JF UE9SVCAicGdzcWwtYnVnc0Bwb3N0Z3Jlc3FsLm9yZyIKfCAjZGVmaW5lIFBBQ0tBR0VfVVJMICIi CnwgI2RlZmluZSBQR19NQUpPUlZFUlNJT04gIjExIgp8ICNkZWZpbmUgUEdfVkVSU0lPTiAiMTFi ZXRhMyIKfCAjZGVmaW5lIERFRl9QR1BPUlQgNTQzMgp8ICNkZWZpbmUgREVGX1BHUE9SVF9TVFIg IjU0MzIiCnwgI2RlZmluZSBCTENLU1ogODE5Mgp8ICNkZWZpbmUgUkVMU0VHX1NJWkUgMTMxMDcy CnwgI2RlZmluZSBYTE9HX0JMQ0tTWiA4MTkyCnwgI2RlZmluZSBVU0VfQVNTRVJUX0NIRUNLSU5H IDEKfCAjZGVmaW5lIEVOQUJMRV9USFJFQURfU0FGRVRZIDEKfCAjZGVmaW5lIFVTRV9JQ1UgMQp8 ICNkZWZpbmUgUEdfS1JCX1NSVk5BTSAicG9zdGdyZXMiCnwgI2RlZmluZSBVU0VfT1BFTlNTTCAx CnwgI2RlZmluZSBVU0VfTElCWE1MIDEKfCAjZGVmaW5lIFVTRV9MSUJYU0xUIDEKfCAjZGVmaW5l IFNURENfSEVBREVSUyAxCnwgI2RlZmluZSBIQVZFX1NZU19UWVBFU19IIDEKfCAjZGVmaW5lIEhB VkVfU1lTX1NUQVRfSCAxCnwgI2RlZmluZSBIQVZFX1NURExJQl9IIDEKfCAjZGVmaW5lIEhBVkVf U1RSSU5HX0ggMQp8ICNkZWZpbmUgSEFWRV9NRU1PUllfSCAxCnwgI2RlZmluZSBIQVZFX1NUUklO R1NfSCAxCnwgI2RlZmluZSBIQVZFX0lOVFRZUEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERJTlRf SCAxCnwgI2RlZmluZSBIQVZFX1VOSVNURF9IIDEKfCAjZGVmaW5lIEhBVkVfTElCTSAxCnwgI2Rl ZmluZSBIQVZFX0xJQlogMQp8ICNkZWZpbmUgSEFWRV9TUElOTE9DS1MgMQp8ICNkZWZpbmUgSEFW RV9BVE9NSUNTIDEKfCAjZGVmaW5lIEhBVkVfU1NMX0dFVF9DVVJSRU5UX0NPTVBSRVNTSU9OIDEK fCAjZGVmaW5lIEhBVkVfWDUwOV9HRVRfU0lHTkFUVVJFX05JRCAxCnwgI2RlZmluZSBIQVZFX0NS WVBUT19MT0NLIDEKfCAjZGVmaW5lIEhBVkVfTElCWE1MMiAxCnwgI2RlZmluZSBIQVZFX0xJQlhT TFQgMQp8ICNkZWZpbmUgSEFWRV9fQk9PTCAxCnwgI2RlZmluZSBIQVZFX1NUREJPT0xfSCAxCnwg I2RlZmluZSBIQVZFX0dFVE9QVF9IIDEKfCAjZGVmaW5lIEhBVkVfSUVFRUZQX0ggMQp8ICNkZWZp bmUgSEFWRV9VVElNRV9IIDEKfCAjZGVmaW5lIEhBVkVfV0NIQVJfSCAxCnwgI2RlZmluZSBIQVZF X1dDVFlQRV9IIDEKfCAjZGVmaW5lIEhBVkVfQ1JUREVGU19IIDEKfCAjZGVmaW5lIFBHX1BSSU5U Rl9BVFRSSUJVVEUgZ251X3ByaW50Zgp8ICNkZWZpbmUgRkxFWElCTEVfQVJSQVlfTUVNQkVSIC8q Ki8KfCAjZGVmaW5lIEhBVkVfRlVOQ05BTUVfX0ZVTkMgMQp8ICNkZWZpbmUgSEFWRV9fU1RBVElD X0FTU0VSVCAxCnwgI2RlZmluZSBIQVZFX1RZUEVPRiAxCnwgI2RlZmluZSBIQVZFX19CVUlMVElO X1RZUEVTX0NPTVBBVElCTEVfUCAxCnwgI2RlZmluZSBIQVZFX19CVUlMVElOX0JTV0FQMTYgMQp8 ICNkZWZpbmUgSEFWRV9fQlVJTFRJTl9CU1dBUDMyIDEKfCAjZGVmaW5lIEhBVkVfX0JVSUxUSU5f QlNXQVA2NCAxCnwgI2RlZmluZSBIQVZFX19CVUlMVElOX0NPTlNUQU5UX1AgMQp8ICNkZWZpbmUg SEFWRV9fQlVJTFRJTl9VTlJFQUNIQUJMRSAxCnwgI2RlZmluZSBIQVZFX0NPTVBVVEVEX0dPVE8g MQp8ICNkZWZpbmUgSEFWRV9fVkFfQVJHUyAxCnwgI2RlZmluZSBIQVZFX1RaTkFNRSAxCnwgI2Rl ZmluZSBIQVZFX1NUUlVDVF9TT0NLQUREUl9TVE9SQUdFIDEKfCAjZGVmaW5lIEhBVkVfU1RSVUNU X1NPQ0tBRERSX1NUT1JBR0VfU1NfRkFNSUxZIDEKfCAjZGVmaW5lIEhBVkVfU1RSVUNUX0FERFJJ TkZPIDEKfCAjZGVmaW5lIEhBVkVfSU5UUFRSX1QgMQp8ICNkZWZpbmUgSEFWRV9VSU5UUFRSX1Qg MQp8ICNkZWZpbmUgSEFWRV9VTlNJR05FRF9MT05HX0xPTkdfSU5UIDEKfCAjZGVmaW5lIEhBVkVf TE9OR19MT05HX0lOVCAxCnwgI2RlZmluZSByZXN0cmljdCBfX3Jlc3RyaWN0CnwgI2RlZmluZSBw Z19yZXN0cmljdCBfX3Jlc3RyaWN0CnwgI2RlZmluZSBIQVZFX1NUUlVDVF9PUFRJT04gMQp8ICNk ZWZpbmUgU0laRU9GX09GRl9UIDQKfCAjZGVmaW5lIFNJWkVPRl9CT09MIDEKfCAjZGVmaW5lIEhB VkVfSU5UX1RJTUVaT05FIDEKfCAvKiBlbmQgY29uZmRlZnMuaC4gICovCnwgI2luY2x1ZGUgPHN5 cy90eXBlcy5oPgp8ICNpbmNsdWRlIDxzeXMvc29ja2V0Lmg+CnwgZXh0ZXJuIGludCBhY2NlcHQg KGludCwgY29uc3Qgc3RydWN0IHNvY2thZGRyICosIHNpemVfdCAqKTsKY29uZmlndXJlOjE0Nzkx OiB4ODZfNjQtdzY0LW1pbmd3MzItZ2NjIC1jIC1XYWxsIC1XbWlzc2luZy1wcm90b3R5cGVzIC1X cG9pbnRlci1hcml0aCAtV2RlY2xhcmF0aW9uLWFmdGVyLXN0YXRlbWVudCAtV2VuZGlmLWxhYmVs cyAtV21pc3NpbmctZm9ybWF0LWF0dHJpYnV0ZSAtV2Zvcm1hdC1zZWN1cml0eSAtZm5vLXN0cmlj dC1hbGlhc2luZyAtZndyYXB2IC1mZXhjZXNzLXByZWNpc2lvbj1zdGFuZGFyZCAtV25vLWZvcm1h dC10cnVuY2F0aW9uIC1Xbm8tc3RyaW5nb3AtdHJ1bmNhdGlvbiAtZyAtTyAtZm5vLW9taXQtZnJh bWUtcG9pbnRlciAgLUkvdy9SLTMuNS5fL3Bvc3RncmVzL3NyYy9pbmNsdWRlL3BvcnQvd2luMzIg LURFWEVDX0JBQ0tFTkQgIC1JL3cvemxpYi0xLjIuOC13aW4zMi14ODZfNjQvaW5jbHVkZSAtSS93 L29wZW5zc2wtMS4wLjJlLXdpbjMyLXg4Nl82NC9pbmNsdWRlIC1JL3cvbGlieG1sMi0yLjkuMy13 aW4zMi14ODZfNjQvaW5jbHVkZS9saWJ4bWwyIC1JL3cvbGlieHNsdC0xLjEuMjgtd2luMzIteDg2 XzY0L2luY2x1ZGUgY29uZnRlc3QuYyA+JjUKY29uZnRlc3QuYzo3OToxMjogZXJyb3I6IGNvbmZs aWN0aW5nIHR5cGVzIGZvciAnYWNjZXB0JwogZXh0ZXJuIGludCBhY2NlcHQgKGludCwgY29uc3Qg c3RydWN0IHNvY2thZGRyICosIHNvY2tsZW5fdCAqKTsKICAgICAgICAgICAgXn5+fn5+CkluIGZp bGUgaW5jbHVkZWQgZnJvbSBXOi9SLTMuNS5fL3Bvc3RncmVzL3NyYy9pbmNsdWRlL3BvcnQvd2lu MzIvc3lzL3NvY2tldC5oOjE0LAogICAgICAgICAgICAgICAgIGZyb20gY29uZnRlc3QuYzo3ODoK QzovbXN5czY0L21pbmd3NjQveDg2XzY0LXc2NC1taW5ndzMyL2luY2x1ZGUvd2luc29jazIuaDo5 NzM6Mzc6IG5vdGU6IHByZXZpb3VzIGRlY2xhcmF0aW9uIG9mICdhY2NlcHQnIHdhcyBoZXJlCiAg IFdJTlNPQ0tfQVBJX0xJTktBR0UgU09DS0VUIFdTQUFQSSBhY2NlcHQoU09DS0VUIHMsc3RydWN0 IHNvY2thZGRyICphZGRyLGludCAqYWRkcmxlbik7CiAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICBefn5+fn4KY29uZmlndXJlOjE0NzkxOiAkPyA9IDEKY29uZmlndXJlOiBmYWls ZWQgcHJvZ3JhbSB3YXM6CnwgLyogY29uZmRlZnMuaCAqLwp8ICNkZWZpbmUgUEFDS0FHRV9OQU1F ICJQb3N0Z3JlU1FMIgp8ICNkZWZpbmUgUEFDS0FHRV9UQVJOQU1FICJwb3N0Z3Jlc3FsIgp8ICNk ZWZpbmUgUEFDS0FHRV9WRVJTSU9OICIxMWJldGEzIgp8ICNkZWZpbmUgUEFDS0FHRV9TVFJJTkcg IlBvc3RncmVTUUwgMTFiZXRhMyIKfCAjZGVmaW5lIFBBQ0tBR0VfQlVHUkVQT1JUICJwZ3NxbC1i dWdzQHBvc3RncmVzcWwub3JnIgp8ICNkZWZpbmUgUEFDS0FHRV9VUkwgIiIKfCAjZGVmaW5lIFBH X01BSk9SVkVSU0lPTiAiMTEiCnwgI2RlZmluZSBQR19WRVJTSU9OICIxMWJldGEzIgp8ICNkZWZp bmUgREVGX1BHUE9SVCA1NDMyCnwgI2RlZmluZSBERUZfUEdQT1JUX1NUUiAiNTQzMiIKfCAjZGVm aW5lIEJMQ0tTWiA4MTkyCnwgI2RlZmluZSBSRUxTRUdfU0laRSAxMzEwNzIKfCAjZGVmaW5lIFhM T0dfQkxDS1NaIDgxOTIKfCAjZGVmaW5lIFVTRV9BU1NFUlRfQ0hFQ0tJTkcgMQp8ICNkZWZpbmUg RU5BQkxFX1RIUkVBRF9TQUZFVFkgMQp8ICNkZWZpbmUgVVNFX0lDVSAxCnwgI2RlZmluZSBQR19L UkJfU1JWTkFNICJwb3N0Z3JlcyIKfCAjZGVmaW5lIFVTRV9PUEVOU1NMIDEKfCAjZGVmaW5lIFVT RV9MSUJYTUwgMQp8ICNkZWZpbmUgVVNFX0xJQlhTTFQgMQp8ICNkZWZpbmUgU1REQ19IRUFERVJT IDEKfCAjZGVmaW5lIEhBVkVfU1lTX1RZUEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfU1RBVF9I IDEKfCAjZGVmaW5lIEhBVkVfU1RETElCX0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJJTkdfSCAxCnwg I2RlZmluZSBIQVZFX01FTU9SWV9IIDEKfCAjZGVmaW5lIEhBVkVfU1RSSU5HU19IIDEKfCAjZGVm aW5lIEhBVkVfSU5UVFlQRVNfSCAxCnwgI2RlZmluZSBIQVZFX1NURElOVF9IIDEKfCAjZGVmaW5l IEhBVkVfVU5JU1REX0ggMQp8ICNkZWZpbmUgSEFWRV9MSUJNIDEKfCAjZGVmaW5lIEhBVkVfTElC WiAxCnwgI2RlZmluZSBIQVZFX1NQSU5MT0NLUyAxCnwgI2RlZmluZSBIQVZFX0FUT01JQ1MgMQp8 ICNkZWZpbmUgSEFWRV9TU0xfR0VUX0NVUlJFTlRfQ09NUFJFU1NJT04gMQp8ICNkZWZpbmUgSEFW RV9YNTA5X0dFVF9TSUdOQVRVUkVfTklEIDEKfCAjZGVmaW5lIEhBVkVfQ1JZUFRPX0xPQ0sgMQp8 ICNkZWZpbmUgSEFWRV9MSUJYTUwyIDEKfCAjZGVmaW5lIEhBVkVfTElCWFNMVCAxCnwgI2RlZmlu ZSBIQVZFX19CT09MIDEKfCAjZGVmaW5lIEhBVkVfU1REQk9PTF9IIDEKfCAjZGVmaW5lIEhBVkVf R0VUT1BUX0ggMQp8ICNkZWZpbmUgSEFWRV9JRUVFRlBfSCAxCnwgI2RlZmluZSBIQVZFX1VUSU1F X0ggMQp8ICNkZWZpbmUgSEFWRV9XQ0hBUl9IIDEKfCAjZGVmaW5lIEhBVkVfV0NUWVBFX0ggMQp8 ICNkZWZpbmUgSEFWRV9DUlRERUZTX0ggMQp8ICNkZWZpbmUgUEdfUFJJTlRGX0FUVFJJQlVURSBn bnVfcHJpbnRmCnwgI2RlZmluZSBGTEVYSUJMRV9BUlJBWV9NRU1CRVIgLyoqLwp8ICNkZWZpbmUg SEFWRV9GVU5DTkFNRV9fRlVOQyAxCnwgI2RlZmluZSBIQVZFX19TVEFUSUNfQVNTRVJUIDEKfCAj ZGVmaW5lIEhBVkVfVFlQRU9GIDEKfCAjZGVmaW5lIEhBVkVfX0JVSUxUSU5fVFlQRVNfQ09NUEFU SUJMRV9QIDEKfCAjZGVmaW5lIEhBVkVfX0JVSUxUSU5fQlNXQVAxNiAxCnwgI2RlZmluZSBIQVZF X19CVUlMVElOX0JTV0FQMzIgMQp8ICNkZWZpbmUgSEFWRV9fQlVJTFRJTl9CU1dBUDY0IDEKfCAj ZGVmaW5lIEhBVkVfX0JVSUxUSU5fQ09OU1RBTlRfUCAxCnwgI2RlZmluZSBIQVZFX19CVUlMVElO X1VOUkVBQ0hBQkxFIDEKfCAjZGVmaW5lIEhBVkVfQ09NUFVURURfR09UTyAxCnwgI2RlZmluZSBI QVZFX19WQV9BUkdTIDEKfCAjZGVmaW5lIEhBVkVfVFpOQU1FIDEKfCAjZGVmaW5lIEhBVkVfU1RS VUNUX1NPQ0tBRERSX1NUT1JBR0UgMQp8ICNkZWZpbmUgSEFWRV9TVFJVQ1RfU09DS0FERFJfU1RP UkFHRV9TU19GQU1JTFkgMQp8ICNkZWZpbmUgSEFWRV9TVFJVQ1RfQUREUklORk8gMQp8ICNkZWZp bmUgSEFWRV9JTlRQVFJfVCAxCnwgI2RlZmluZSBIQVZFX1VJTlRQVFJfVCAxCnwgI2RlZmluZSBI QVZFX1VOU0lHTkVEX0xPTkdfTE9OR19JTlQgMQp8ICNkZWZpbmUgSEFWRV9MT05HX0xPTkdfSU5U IDEKfCAjZGVmaW5lIHJlc3RyaWN0IF9fcmVzdHJpY3QKfCAjZGVmaW5lIHBnX3Jlc3RyaWN0IF9f cmVzdHJpY3QKfCAjZGVmaW5lIEhBVkVfU1RSVUNUX09QVElPTiAxCnwgI2RlZmluZSBTSVpFT0Zf T0ZGX1QgNAp8ICNkZWZpbmUgU0laRU9GX0JPT0wgMQp8ICNkZWZpbmUgSEFWRV9JTlRfVElNRVpP TkUgMQp8IC8qIGVuZCBjb25mZGVmcy5oLiAgKi8KfCAjaW5jbHVkZSA8c3lzL3R5cGVzLmg+Cnwg I2luY2x1ZGUgPHN5cy9zb2NrZXQuaD4KfCBleHRlcm4gaW50IGFjY2VwdCAoaW50LCBjb25zdCBz dHJ1Y3Qgc29ja2FkZHIgKiwgc29ja2xlbl90ICopOwpjb25maWd1cmU6MTQ3OTE6IHg4Nl82NC13 NjQtbWluZ3czMi1nY2MgLWMgLVdhbGwgLVdtaXNzaW5nLXByb3RvdHlwZXMgLVdwb2ludGVyLWFy aXRoIC1XZGVjbGFyYXRpb24tYWZ0ZXItc3RhdGVtZW50IC1XZW5kaWYtbGFiZWxzIC1XbWlzc2lu Zy1mb3JtYXQtYXR0cmlidXRlIC1XZm9ybWF0LXNlY3VyaXR5IC1mbm8tc3RyaWN0LWFsaWFzaW5n IC1md3JhcHYgLWZleGNlc3MtcHJlY2lzaW9uPXN0YW5kYXJkIC1Xbm8tZm9ybWF0LXRydW5jYXRp b24gLVduby1zdHJpbmdvcC10cnVuY2F0aW9uIC1nIC1PIC1mbm8tb21pdC1mcmFtZS1wb2ludGVy ICAtSS93L1ItMy41Ll8vcG9zdGdyZXMvc3JjL2luY2x1ZGUvcG9ydC93aW4zMiAtREVYRUNfQkFD S0VORCAgLUkvdy96bGliLTEuMi44LXdpbjMyLXg4Nl82NC9pbmNsdWRlIC1JL3cvb3BlbnNzbC0x LjAuMmUtd2luMzIteDg2XzY0L2luY2x1ZGUgLUkvdy9saWJ4bWwyLTIuOS4zLXdpbjMyLXg4Nl82 NC9pbmNsdWRlL2xpYnhtbDIgLUkvdy9saWJ4c2x0LTEuMS4yOC13aW4zMi14ODZfNjQvaW5jbHVk ZSBjb25mdGVzdC5jID4mNQpjb25mdGVzdC5jOjc5OjEyOiBlcnJvcjogY29uZmxpY3RpbmcgdHlw ZXMgZm9yICdhY2NlcHQnCiBleHRlcm4gaW50IGFjY2VwdCAoaW50LCBjb25zdCBzdHJ1Y3Qgc29j a2FkZHIgKiwgdW5zaWduZWQgaW50ICopOwogICAgICAgICAgICBefn5+fn4KSW4gZmlsZSBpbmNs dWRlZCBmcm9tIFc6L1ItMy41Ll8vcG9zdGdyZXMvc3JjL2luY2x1ZGUvcG9ydC93aW4zMi9zeXMv c29ja2V0Lmg6MTQsCiAgICAgICAgICAgICAgICAgZnJvbSBjb25mdGVzdC5jOjc4OgpDOi9tc3lz NjQvbWluZ3c2NC94ODZfNjQtdzY0LW1pbmd3MzIvaW5jbHVkZS93aW5zb2NrMi5oOjk3MzozNzog bm90ZTogcHJldmlvdXMgZGVjbGFyYXRpb24gb2YgJ2FjY2VwdCcgd2FzIGhlcmUKICAgV0lOU09D S19BUElfTElOS0FHRSBTT0NLRVQgV1NBQVBJIGFjY2VwdChTT0NLRVQgcyxzdHJ1Y3Qgc29ja2Fk ZHIgKmFkZHIsaW50ICphZGRybGVuKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIF5+fn5+fgpjb25maWd1cmU6MTQ3OTE6ICQ/ID0gMQpjb25maWd1cmU6IGZhaWxlZCBwcm9n cmFtIHdhczoKfCAvKiBjb25mZGVmcy5oICovCnwgI2RlZmluZSBQQUNLQUdFX05BTUUgIlBvc3Rn cmVTUUwiCnwgI2RlZmluZSBQQUNLQUdFX1RBUk5BTUUgInBvc3RncmVzcWwiCnwgI2RlZmluZSBQ QUNLQUdFX1ZFUlNJT04gIjExYmV0YTMiCnwgI2RlZmluZSBQQUNLQUdFX1NUUklORyAiUG9zdGdy ZVNRTCAxMWJldGEzIgp8ICNkZWZpbmUgUEFDS0FHRV9CVUdSRVBPUlQgInBnc3FsLWJ1Z3NAcG9z dGdyZXNxbC5vcmciCnwgI2RlZmluZSBQQUNLQUdFX1VSTCAiIgp8ICNkZWZpbmUgUEdfTUFKT1JW RVJTSU9OICIxMSIKfCAjZGVmaW5lIFBHX1ZFUlNJT04gIjExYmV0YTMiCnwgI2RlZmluZSBERUZf UEdQT1JUIDU0MzIKfCAjZGVmaW5lIERFRl9QR1BPUlRfU1RSICI1NDMyIgp8ICNkZWZpbmUgQkxD S1NaIDgxOTIKfCAjZGVmaW5lIFJFTFNFR19TSVpFIDEzMTA3Mgp8ICNkZWZpbmUgWExPR19CTENL U1ogODE5Mgp8ICNkZWZpbmUgVVNFX0FTU0VSVF9DSEVDS0lORyAxCnwgI2RlZmluZSBFTkFCTEVf VEhSRUFEX1NBRkVUWSAxCnwgI2RlZmluZSBVU0VfSUNVIDEKfCAjZGVmaW5lIFBHX0tSQl9TUlZO QU0gInBvc3RncmVzIgp8ICNkZWZpbmUgVVNFX09QRU5TU0wgMQp8ICNkZWZpbmUgVVNFX0xJQlhN TCAxCnwgI2RlZmluZSBVU0VfTElCWFNMVCAxCnwgI2RlZmluZSBTVERDX0hFQURFUlMgMQp8ICNk ZWZpbmUgSEFWRV9TWVNfVFlQRVNfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19TVEFUX0ggMQp8ICNk ZWZpbmUgSEFWRV9TVERMSUJfSCAxCnwgI2RlZmluZSBIQVZFX1NUUklOR19IIDEKfCAjZGVmaW5l IEhBVkVfTUVNT1JZX0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJJTkdTX0ggMQp8ICNkZWZpbmUgSEFW RV9JTlRUWVBFU19IIDEKfCAjZGVmaW5lIEhBVkVfU1RESU5UX0ggMQp8ICNkZWZpbmUgSEFWRV9V TklTVERfSCAxCnwgI2RlZmluZSBIQVZFX0xJQk0gMQp8ICNkZWZpbmUgSEFWRV9MSUJaIDEKfCAj ZGVmaW5lIEhBVkVfU1BJTkxPQ0tTIDEKfCAjZGVmaW5lIEhBVkVfQVRPTUlDUyAxCnwgI2RlZmlu ZSBIQVZFX1NTTF9HRVRfQ1VSUkVOVF9DT01QUkVTU0lPTiAxCnwgI2RlZmluZSBIQVZFX1g1MDlf R0VUX1NJR05BVFVSRV9OSUQgMQp8ICNkZWZpbmUgSEFWRV9DUllQVE9fTE9DSyAxCnwgI2RlZmlu ZSBIQVZFX0xJQlhNTDIgMQp8ICNkZWZpbmUgSEFWRV9MSUJYU0xUIDEKfCAjZGVmaW5lIEhBVkVf X0JPT0wgMQp8ICNkZWZpbmUgSEFWRV9TVERCT09MX0ggMQp8ICNkZWZpbmUgSEFWRV9HRVRPUFRf SCAxCnwgI2RlZmluZSBIQVZFX0lFRUVGUF9IIDEKfCAjZGVmaW5lIEhBVkVfVVRJTUVfSCAxCnwg I2RlZmluZSBIQVZFX1dDSEFSX0ggMQp8ICNkZWZpbmUgSEFWRV9XQ1RZUEVfSCAxCnwgI2RlZmlu ZSBIQVZFX0NSVERFRlNfSCAxCnwgI2RlZmluZSBQR19QUklOVEZfQVRUUklCVVRFIGdudV9wcmlu dGYKfCAjZGVmaW5lIEZMRVhJQkxFX0FSUkFZX01FTUJFUiAvKiovCnwgI2RlZmluZSBIQVZFX0ZV TkNOQU1FX19GVU5DIDEKfCAjZGVmaW5lIEhBVkVfX1NUQVRJQ19BU1NFUlQgMQp8ICNkZWZpbmUg SEFWRV9UWVBFT0YgMQp8ICNkZWZpbmUgSEFWRV9fQlVJTFRJTl9UWVBFU19DT01QQVRJQkxFX1Ag MQp8ICNkZWZpbmUgSEFWRV9fQlVJTFRJTl9CU1dBUDE2IDEKfCAjZGVmaW5lIEhBVkVfX0JVSUxU SU5fQlNXQVAzMiAxCnwgI2RlZmluZSBIQVZFX19CVUlMVElOX0JTV0FQNjQgMQp8ICNkZWZpbmUg SEFWRV9fQlVJTFRJTl9DT05TVEFOVF9QIDEKfCAjZGVmaW5lIEhBVkVfX0JVSUxUSU5fVU5SRUFD SEFCTEUgMQp8ICNkZWZpbmUgSEFWRV9DT01QVVRFRF9HT1RPIDEKfCAjZGVmaW5lIEhBVkVfX1ZB X0FSR1MgMQp8ICNkZWZpbmUgSEFWRV9UWk5BTUUgMQp8ICNkZWZpbmUgSEFWRV9TVFJVQ1RfU09D S0FERFJfU1RPUkFHRSAxCnwgI2RlZmluZSBIQVZFX1NUUlVDVF9TT0NLQUREUl9TVE9SQUdFX1NT X0ZBTUlMWSAxCnwgI2RlZmluZSBIQVZFX1NUUlVDVF9BRERSSU5GTyAxCnwgI2RlZmluZSBIQVZF X0lOVFBUUl9UIDEKfCAjZGVmaW5lIEhBVkVfVUlOVFBUUl9UIDEKfCAjZGVmaW5lIEhBVkVfVU5T SUdORURfTE9OR19MT05HX0lOVCAxCnwgI2RlZmluZSBIQVZFX0xPTkdfTE9OR19JTlQgMQp8ICNk ZWZpbmUgcmVzdHJpY3QgX19yZXN0cmljdAp8ICNkZWZpbmUgcGdfcmVzdHJpY3QgX19yZXN0cmlj dAp8ICNkZWZpbmUgSEFWRV9TVFJVQ1RfT1BUSU9OIDEKfCAjZGVmaW5lIFNJWkVPRl9PRkZfVCA0 CnwgI2RlZmluZSBTSVpFT0ZfQk9PTCAxCnwgI2RlZmluZSBIQVZFX0lOVF9USU1FWk9ORSAxCnwg LyogZW5kIGNvbmZkZWZzLmguICAqLwp8ICNpbmNsdWRlIDxzeXMvdHlwZXMuaD4KfCAjaW5jbHVk ZSA8c3lzL3NvY2tldC5oPgp8IGV4dGVybiBpbnQgYWNjZXB0IChpbnQsIGNvbnN0IHN0cnVjdCBz b2NrYWRkciAqLCB1bnNpZ25lZCBpbnQgKik7CmNvbmZpZ3VyZToxNDc5MTogeDg2XzY0LXc2NC1t aW5ndzMyLWdjYyAtYyAtV2FsbCAtV21pc3NpbmctcHJvdG90eXBlcyAtV3BvaW50ZXItYXJpdGgg LVdkZWNsYXJhdGlvbi1hZnRlci1zdGF0ZW1lbnQgLVdlbmRpZi1sYWJlbHMgLVdtaXNzaW5nLWZv cm1hdC1hdHRyaWJ1dGUgLVdmb3JtYXQtc2VjdXJpdHkgLWZuby1zdHJpY3QtYWxpYXNpbmcgLWZ3 cmFwdiAtZmV4Y2Vzcy1wcmVjaXNpb249c3RhbmRhcmQgLVduby1mb3JtYXQtdHJ1bmNhdGlvbiAt V25vLXN0cmluZ29wLXRydW5jYXRpb24gLWcgLU8gLWZuby1vbWl0LWZyYW1lLXBvaW50ZXIgIC1J L3cvUi0zLjUuXy9wb3N0Z3Jlcy9zcmMvaW5jbHVkZS9wb3J0L3dpbjMyIC1ERVhFQ19CQUNLRU5E ICAtSS93L3psaWItMS4yLjgtd2luMzIteDg2XzY0L2luY2x1ZGUgLUkvdy9vcGVuc3NsLTEuMC4y ZS13aW4zMi14ODZfNjQvaW5jbHVkZSAtSS93L2xpYnhtbDItMi45LjMtd2luMzIteDg2XzY0L2lu Y2x1ZGUvbGlieG1sMiAtSS93L2xpYnhzbHQtMS4xLjI4LXdpbjMyLXg4Nl82NC9pbmNsdWRlIGNv bmZ0ZXN0LmMgPiY1CmNvbmZ0ZXN0LmM6Nzk6MTI6IGVycm9yOiBjb25mbGljdGluZyB0eXBlcyBm b3IgJ2FjY2VwdCcKIGV4dGVybiBpbnQgYWNjZXB0IChpbnQsIGNvbnN0IHN0cnVjdCBzb2NrYWRk ciAqLCB2b2lkICopOwogICAgICAgICAgICBefn5+fn4KSW4gZmlsZSBpbmNsdWRlZCBmcm9tIFc6 L1ItMy41Ll8vcG9zdGdyZXMvc3JjL2luY2x1ZGUvcG9ydC93aW4zMi9zeXMvc29ja2V0Lmg6MTQs CiAgICAgICAgICAgICAgICAgZnJvbSBjb25mdGVzdC5jOjc4OgpDOi9tc3lzNjQvbWluZ3c2NC94 ODZfNjQtdzY0LW1pbmd3MzIvaW5jbHVkZS93aW5zb2NrMi5oOjk3MzozNzogbm90ZTogcHJldmlv dXMgZGVjbGFyYXRpb24gb2YgJ2FjY2VwdCcgd2FzIGhlcmUKICAgV0lOU09DS19BUElfTElOS0FH RSBTT0NLRVQgV1NBQVBJIGFjY2VwdChTT0NLRVQgcyxzdHJ1Y3Qgc29ja2FkZHIgKmFkZHIsaW50 ICphZGRybGVuKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF5+fn5+fgpj b25maWd1cmU6MTQ3OTE6ICQ/ID0gMQpjb25maWd1cmU6IGZhaWxlZCBwcm9ncmFtIHdhczoKfCAv KiBjb25mZGVmcy5oICovCnwgI2RlZmluZSBQQUNLQUdFX05BTUUgIlBvc3RncmVTUUwiCnwgI2Rl ZmluZSBQQUNLQUdFX1RBUk5BTUUgInBvc3RncmVzcWwiCnwgI2RlZmluZSBQQUNLQUdFX1ZFUlNJ T04gIjExYmV0YTMiCnwgI2RlZmluZSBQQUNLQUdFX1NUUklORyAiUG9zdGdyZVNRTCAxMWJldGEz Igp8ICNkZWZpbmUgUEFDS0FHRV9CVUdSRVBPUlQgInBnc3FsLWJ1Z3NAcG9zdGdyZXNxbC5vcmci CnwgI2RlZmluZSBQQUNLQUdFX1VSTCAiIgp8ICNkZWZpbmUgUEdfTUFKT1JWRVJTSU9OICIxMSIK fCAjZGVmaW5lIFBHX1ZFUlNJT04gIjExYmV0YTMiCnwgI2RlZmluZSBERUZfUEdQT1JUIDU0MzIK fCAjZGVmaW5lIERFRl9QR1BPUlRfU1RSICI1NDMyIgp8ICNkZWZpbmUgQkxDS1NaIDgxOTIKfCAj ZGVmaW5lIFJFTFNFR19TSVpFIDEzMTA3Mgp8ICNkZWZpbmUgWExPR19CTENLU1ogODE5Mgp8ICNk ZWZpbmUgVVNFX0FTU0VSVF9DSEVDS0lORyAxCnwgI2RlZmluZSBFTkFCTEVfVEhSRUFEX1NBRkVU WSAxCnwgI2RlZmluZSBVU0VfSUNVIDEKfCAjZGVmaW5lIFBHX0tSQl9TUlZOQU0gInBvc3RncmVz Igp8ICNkZWZpbmUgVVNFX09QRU5TU0wgMQp8ICNkZWZpbmUgVVNFX0xJQlhNTCAxCnwgI2RlZmlu ZSBVU0VfTElCWFNMVCAxCnwgI2RlZmluZSBTVERDX0hFQURFUlMgMQp8ICNkZWZpbmUgSEFWRV9T WVNfVFlQRVNfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19TVEFUX0ggMQp8ICNkZWZpbmUgSEFWRV9T VERMSUJfSCAxCnwgI2RlZmluZSBIQVZFX1NUUklOR19IIDEKfCAjZGVmaW5lIEhBVkVfTUVNT1JZ X0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJJTkdTX0ggMQp8ICNkZWZpbmUgSEFWRV9JTlRUWVBFU19I IDEKfCAjZGVmaW5lIEhBVkVfU1RESU5UX0ggMQp8ICNkZWZpbmUgSEFWRV9VTklTVERfSCAxCnwg I2RlZmluZSBIQVZFX0xJQk0gMQp8ICNkZWZpbmUgSEFWRV9MSUJaIDEKfCAjZGVmaW5lIEhBVkVf U1BJTkxPQ0tTIDEKfCAjZGVmaW5lIEhBVkVfQVRPTUlDUyAxCnwgI2RlZmluZSBIQVZFX1NTTF9H RVRfQ1VSUkVOVF9DT01QUkVTU0lPTiAxCnwgI2RlZmluZSBIQVZFX1g1MDlfR0VUX1NJR05BVFVS RV9OSUQgMQp8ICNkZWZpbmUgSEFWRV9DUllQVE9fTE9DSyAxCnwgI2RlZmluZSBIQVZFX0xJQlhN TDIgMQp8ICNkZWZpbmUgSEFWRV9MSUJYU0xUIDEKfCAjZGVmaW5lIEhBVkVfX0JPT0wgMQp8ICNk ZWZpbmUgSEFWRV9TVERCT09MX0ggMQp8ICNkZWZpbmUgSEFWRV9HRVRPUFRfSCAxCnwgI2RlZmlu ZSBIQVZFX0lFRUVGUF9IIDEKfCAjZGVmaW5lIEhBVkVfVVRJTUVfSCAxCnwgI2RlZmluZSBIQVZF X1dDSEFSX0ggMQp8ICNkZWZpbmUgSEFWRV9XQ1RZUEVfSCAxCnwgI2RlZmluZSBIQVZFX0NSVERF RlNfSCAxCnwgI2RlZmluZSBQR19QUklOVEZfQVRUUklCVVRFIGdudV9wcmludGYKfCAjZGVmaW5l IEZMRVhJQkxFX0FSUkFZX01FTUJFUiAvKiovCnwgI2RlZmluZSBIQVZFX0ZVTkNOQU1FX19GVU5D IDEKfCAjZGVmaW5lIEhBVkVfX1NUQVRJQ19BU1NFUlQgMQp8ICNkZWZpbmUgSEFWRV9UWVBFT0Yg MQp8ICNkZWZpbmUgSEFWRV9fQlVJTFRJTl9UWVBFU19DT01QQVRJQkxFX1AgMQp8ICNkZWZpbmUg SEFWRV9fQlVJTFRJTl9CU1dBUDE2IDEKfCAjZGVmaW5lIEhBVkVfX0JVSUxUSU5fQlNXQVAzMiAx CnwgI2RlZmluZSBIQVZFX19CVUlMVElOX0JTV0FQNjQgMQp8ICNkZWZpbmUgSEFWRV9fQlVJTFRJ Tl9DT05TVEFOVF9QIDEKfCAjZGVmaW5lIEhBVkVfX0JVSUxUSU5fVU5SRUFDSEFCTEUgMQp8ICNk ZWZpbmUgSEFWRV9DT01QVVRFRF9HT1RPIDEKfCAjZGVmaW5lIEhBVkVfX1ZBX0FSR1MgMQp8ICNk ZWZpbmUgSEFWRV9UWk5BTUUgMQp8ICNkZWZpbmUgSEFWRV9TVFJVQ1RfU09DS0FERFJfU1RPUkFH RSAxCnwgI2RlZmluZSBIQVZFX1NUUlVDVF9TT0NLQUREUl9TVE9SQUdFX1NTX0ZBTUlMWSAxCnwg I2RlZmluZSBIQVZFX1NUUlVDVF9BRERSSU5GTyAxCnwgI2RlZmluZSBIQVZFX0lOVFBUUl9UIDEK fCAjZGVmaW5lIEhBVkVfVUlOVFBUUl9UIDEKfCAjZGVmaW5lIEhBVkVfVU5TSUdORURfTE9OR19M T05HX0lOVCAxCnwgI2RlZmluZSBIQVZFX0xPTkdfTE9OR19JTlQgMQp8ICNkZWZpbmUgcmVzdHJp Y3QgX19yZXN0cmljdAp8ICNkZWZpbmUgcGdfcmVzdHJpY3QgX19yZXN0cmljdAp8ICNkZWZpbmUg SEFWRV9TVFJVQ1RfT1BUSU9OIDEKfCAjZGVmaW5lIFNJWkVPRl9PRkZfVCA0CnwgI2RlZmluZSBT SVpFT0ZfQk9PTCAxCnwgI2RlZmluZSBIQVZFX0lOVF9USU1FWk9ORSAxCnwgLyogZW5kIGNvbmZk ZWZzLmguICAqLwp8ICNpbmNsdWRlIDxzeXMvdHlwZXMuaD4KfCAjaW5jbHVkZSA8c3lzL3NvY2tl dC5oPgp8IGV4dGVybiBpbnQgYWNjZXB0IChpbnQsIGNvbnN0IHN0cnVjdCBzb2NrYWRkciAqLCB2 b2lkICopOwpjb25maWd1cmU6MTQ3OTE6IHg4Nl82NC13NjQtbWluZ3czMi1nY2MgLWMgLVdhbGwg LVdtaXNzaW5nLXByb3RvdHlwZXMgLVdwb2ludGVyLWFyaXRoIC1XZGVjbGFyYXRpb24tYWZ0ZXIt c3RhdGVtZW50IC1XZW5kaWYtbGFiZWxzIC1XbWlzc2luZy1mb3JtYXQtYXR0cmlidXRlIC1XZm9y bWF0LXNlY3VyaXR5IC1mbm8tc3RyaWN0LWFsaWFzaW5nIC1md3JhcHYgLWZleGNlc3MtcHJlY2lz aW9uPXN0YW5kYXJkIC1Xbm8tZm9ybWF0LXRydW5jYXRpb24gLVduby1zdHJpbmdvcC10cnVuY2F0 aW9uIC1nIC1PIC1mbm8tb21pdC1mcmFtZS1wb2ludGVyICAtSS93L1ItMy41Ll8vcG9zdGdyZXMv c3JjL2luY2x1ZGUvcG9ydC93aW4zMiAtREVYRUNfQkFDS0VORCAgLUkvdy96bGliLTEuMi44LXdp bjMyLXg4Nl82NC9pbmNsdWRlIC1JL3cvb3BlbnNzbC0xLjAuMmUtd2luMzIteDg2XzY0L2luY2x1 ZGUgLUkvdy9saWJ4bWwyLTIuOS4zLXdpbjMyLXg4Nl82NC9pbmNsdWRlL2xpYnhtbDIgLUkvdy9s aWJ4c2x0LTEuMS4yOC13aW4zMi14ODZfNjQvaW5jbHVkZSBjb25mdGVzdC5jID4mNQpjb25mdGVz dC5jOjc5OjEyOiBlcnJvcjogY29uZmxpY3RpbmcgdHlwZXMgZm9yICdhY2NlcHQnCiBleHRlcm4g aW50IGFjY2VwdCAoaW50LCB2b2lkICosIGludCAqKTsKICAgICAgICAgICAgXn5+fn5+CkluIGZp bGUgaW5jbHVkZWQgZnJvbSBXOi9SLTMuNS5fL3Bvc3RncmVzL3NyYy9pbmNsdWRlL3BvcnQvd2lu MzIvc3lzL3NvY2tldC5oOjE0LAogICAgICAgICAgICAgICAgIGZyb20gY29uZnRlc3QuYzo3ODoK QzovbXN5czY0L21pbmd3NjQveDg2XzY0LXc2NC1taW5ndzMyL2luY2x1ZGUvd2luc29jazIuaDo5 NzM6Mzc6IG5vdGU6IHByZXZpb3VzIGRlY2xhcmF0aW9uIG9mICdhY2NlcHQnIHdhcyBoZXJlCiAg IFdJTlNPQ0tfQVBJX0xJTktBR0UgU09DS0VUIFdTQUFQSSBhY2NlcHQoU09DS0VUIHMsc3RydWN0 IHNvY2thZGRyICphZGRyLGludCAqYWRkcmxlbik7CiAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICBefn5+fn4KY29uZmlndXJlOjE0NzkxOiAkPyA9IDEKY29uZmlndXJlOiBmYWls ZWQgcHJvZ3JhbSB3YXM6CnwgLyogY29uZmRlZnMuaCAqLwp8ICNkZWZpbmUgUEFDS0FHRV9OQU1F ICJQb3N0Z3JlU1FMIgp8ICNkZWZpbmUgUEFDS0FHRV9UQVJOQU1FICJwb3N0Z3Jlc3FsIgp8ICNk ZWZpbmUgUEFDS0FHRV9WRVJTSU9OICIxMWJldGEzIgp8ICNkZWZpbmUgUEFDS0FHRV9TVFJJTkcg IlBvc3RncmVTUUwgMTFiZXRhMyIKfCAjZGVmaW5lIFBBQ0tBR0VfQlVHUkVQT1JUICJwZ3NxbC1i dWdzQHBvc3RncmVzcWwub3JnIgp8ICNkZWZpbmUgUEFDS0FHRV9VUkwgIiIKfCAjZGVmaW5lIFBH X01BSk9SVkVSU0lPTiAiMTEiCnwgI2RlZmluZSBQR19WRVJTSU9OICIxMWJldGEzIgp8ICNkZWZp bmUgREVGX1BHUE9SVCA1NDMyCnwgI2RlZmluZSBERUZfUEdQT1JUX1NUUiAiNTQzMiIKfCAjZGVm aW5lIEJMQ0tTWiA4MTkyCnwgI2RlZmluZSBSRUxTRUdfU0laRSAxMzEwNzIKfCAjZGVmaW5lIFhM T0dfQkxDS1NaIDgxOTIKfCAjZGVmaW5lIFVTRV9BU1NFUlRfQ0hFQ0tJTkcgMQp8ICNkZWZpbmUg RU5BQkxFX1RIUkVBRF9TQUZFVFkgMQp8ICNkZWZpbmUgVVNFX0lDVSAxCnwgI2RlZmluZSBQR19L UkJfU1JWTkFNICJwb3N0Z3JlcyIKfCAjZGVmaW5lIFVTRV9PUEVOU1NMIDEKfCAjZGVmaW5lIFVT RV9MSUJYTUwgMQp8ICNkZWZpbmUgVVNFX0xJQlhTTFQgMQp8ICNkZWZpbmUgU1REQ19IRUFERVJT IDEKfCAjZGVmaW5lIEhBVkVfU1lTX1RZUEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfU1RBVF9I IDEKfCAjZGVmaW5lIEhBVkVfU1RETElCX0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJJTkdfSCAxCnwg I2RlZmluZSBIQVZFX01FTU9SWV9IIDEKfCAjZGVmaW5lIEhBVkVfU1RSSU5HU19IIDEKfCAjZGVm aW5lIEhBVkVfSU5UVFlQRVNfSCAxCnwgI2RlZmluZSBIQVZFX1NURElOVF9IIDEKfCAjZGVmaW5l IEhBVkVfVU5JU1REX0ggMQp8ICNkZWZpbmUgSEFWRV9MSUJNIDEKfCAjZGVmaW5lIEhBVkVfTElC WiAxCnwgI2RlZmluZSBIQVZFX1NQSU5MT0NLUyAxCnwgI2RlZmluZSBIQVZFX0FUT01JQ1MgMQp8 ICNkZWZpbmUgSEFWRV9TU0xfR0VUX0NVUlJFTlRfQ09NUFJFU1NJT04gMQp8ICNkZWZpbmUgSEFW RV9YNTA5X0dFVF9TSUdOQVRVUkVfTklEIDEKfCAjZGVmaW5lIEhBVkVfQ1JZUFRPX0xPQ0sgMQp8 ICNkZWZpbmUgSEFWRV9MSUJYTUwyIDEKfCAjZGVmaW5lIEhBVkVfTElCWFNMVCAxCnwgI2RlZmlu ZSBIQVZFX19CT09MIDEKfCAjZGVmaW5lIEhBVkVfU1REQk9PTF9IIDEKfCAjZGVmaW5lIEhBVkVf R0VUT1BUX0ggMQp8ICNkZWZpbmUgSEFWRV9JRUVFRlBfSCAxCnwgI2RlZmluZSBIQVZFX1VUSU1F X0ggMQp8ICNkZWZpbmUgSEFWRV9XQ0hBUl9IIDEKfCAjZGVmaW5lIEhBVkVfV0NUWVBFX0ggMQp8 ICNkZWZpbmUgSEFWRV9DUlRERUZTX0ggMQp8ICNkZWZpbmUgUEdfUFJJTlRGX0FUVFJJQlVURSBn bnVfcHJpbnRmCnwgI2RlZmluZSBGTEVYSUJMRV9BUlJBWV9NRU1CRVIgLyoqLwp8ICNkZWZpbmUg SEFWRV9GVU5DTkFNRV9fRlVOQyAxCnwgI2RlZmluZSBIQVZFX19TVEFUSUNfQVNTRVJUIDEKfCAj ZGVmaW5lIEhBVkVfVFlQRU9GIDEKfCAjZGVmaW5lIEhBVkVfX0JVSUxUSU5fVFlQRVNfQ09NUEFU SUJMRV9QIDEKfCAjZGVmaW5lIEhBVkVfX0JVSUxUSU5fQlNXQVAxNiAxCnwgI2RlZmluZSBIQVZF X19CVUlMVElOX0JTV0FQMzIgMQp8ICNkZWZpbmUgSEFWRV9fQlVJTFRJTl9CU1dBUDY0IDEKfCAj ZGVmaW5lIEhBVkVfX0JVSUxUSU5fQ09OU1RBTlRfUCAxCnwgI2RlZmluZSBIQVZFX19CVUlMVElO X1VOUkVBQ0hBQkxFIDEKfCAjZGVmaW5lIEhBVkVfQ09NUFVURURfR09UTyAxCnwgI2RlZmluZSBI QVZFX19WQV9BUkdTIDEKfCAjZGVmaW5lIEhBVkVfVFpOQU1FIDEKfCAjZGVmaW5lIEhBVkVfU1RS VUNUX1NPQ0tBRERSX1NUT1JBR0UgMQp8ICNkZWZpbmUgSEFWRV9TVFJVQ1RfU09DS0FERFJfU1RP UkFHRV9TU19GQU1JTFkgMQp8ICNkZWZpbmUgSEFWRV9TVFJVQ1RfQUREUklORk8gMQp8ICNkZWZp bmUgSEFWRV9JTlRQVFJfVCAxCnwgI2RlZmluZSBIQVZFX1VJTlRQVFJfVCAxCnwgI2RlZmluZSBI QVZFX1VOU0lHTkVEX0xPTkdfTE9OR19JTlQgMQp8ICNkZWZpbmUgSEFWRV9MT05HX0xPTkdfSU5U IDEKfCAjZGVmaW5lIHJlc3RyaWN0IF9fcmVzdHJpY3QKfCAjZGVmaW5lIHBnX3Jlc3RyaWN0IF9f cmVzdHJpY3QKfCAjZGVmaW5lIEhBVkVfU1RSVUNUX09QVElPTiAxCnwgI2RlZmluZSBTSVpFT0Zf T0ZGX1QgNAp8ICNkZWZpbmUgU0laRU9GX0JPT0wgMQp8ICNkZWZpbmUgSEFWRV9JTlRfVElNRVpP TkUgMQp8IC8qIGVuZCBjb25mZGVmcy5oLiAgKi8KfCAjaW5jbHVkZSA8c3lzL3R5cGVzLmg+Cnwg I2luY2x1ZGUgPHN5cy9zb2NrZXQuaD4KfCBleHRlcm4gaW50IGFjY2VwdCAoaW50LCB2b2lkICos IGludCAqKTsKY29uZmlndXJlOjE0NzkxOiB4ODZfNjQtdzY0LW1pbmd3MzItZ2NjIC1jIC1XYWxs IC1XbWlzc2luZy1wcm90b3R5cGVzIC1XcG9pbnRlci1hcml0aCAtV2RlY2xhcmF0aW9uLWFmdGVy LXN0YXRlbWVudCAtV2VuZGlmLWxhYmVscyAtV21pc3NpbmctZm9ybWF0LWF0dHJpYnV0ZSAtV2Zv cm1hdC1zZWN1cml0eSAtZm5vLXN0cmljdC1hbGlhc2luZyAtZndyYXB2IC1mZXhjZXNzLXByZWNp c2lvbj1zdGFuZGFyZCAtV25vLWZvcm1hdC10cnVuY2F0aW9uIC1Xbm8tc3RyaW5nb3AtdHJ1bmNh dGlvbiAtZyAtTyAtZm5vLW9taXQtZnJhbWUtcG9pbnRlciAgLUkvdy9SLTMuNS5fL3Bvc3RncmVz L3NyYy9pbmNsdWRlL3BvcnQvd2luMzIgLURFWEVDX0JBQ0tFTkQgIC1JL3cvemxpYi0xLjIuOC13 aW4zMi14ODZfNjQvaW5jbHVkZSAtSS93L29wZW5zc2wtMS4wLjJlLXdpbjMyLXg4Nl82NC9pbmNs dWRlIC1JL3cvbGlieG1sMi0yLjkuMy13aW4zMi14ODZfNjQvaW5jbHVkZS9saWJ4bWwyIC1JL3cv bGlieHNsdC0xLjEuMjgtd2luMzIteDg2XzY0L2luY2x1ZGUgY29uZnRlc3QuYyA+JjUKY29uZnRl c3QuYzo3OToxMjogZXJyb3I6IGNvbmZsaWN0aW5nIHR5cGVzIGZvciAnYWNjZXB0JwogZXh0ZXJu IGludCBhY2NlcHQgKGludCwgdm9pZCAqLCBzaXplX3QgKik7CiAgICAgICAgICAgIF5+fn5+fgpJ biBmaWxlIGluY2x1ZGVkIGZyb20gVzovUi0zLjUuXy9wb3N0Z3Jlcy9zcmMvaW5jbHVkZS9wb3J0 L3dpbjMyL3N5cy9zb2NrZXQuaDoxNCwKICAgICAgICAgICAgICAgICBmcm9tIGNvbmZ0ZXN0LmM6 Nzg6CkM6L21zeXM2NC9taW5ndzY0L3g4Nl82NC13NjQtbWluZ3czMi9pbmNsdWRlL3dpbnNvY2sy Lmg6OTczOjM3OiBub3RlOiBwcmV2aW91cyBkZWNsYXJhdGlvbiBvZiAnYWNjZXB0JyB3YXMgaGVy ZQogICBXSU5TT0NLX0FQSV9MSU5LQUdFIFNPQ0tFVCBXU0FBUEkgYWNjZXB0KFNPQ0tFVCBzLHN0 cnVjdCBzb2NrYWRkciAqYWRkcixpbnQgKmFkZHJsZW4pOwogICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgXn5+fn5+CmNvbmZpZ3VyZToxNDc5MTogJD8gPSAxCmNvbmZpZ3VyZTog ZmFpbGVkIHByb2dyYW0gd2FzOgp8IC8qIGNvbmZkZWZzLmggKi8KfCAjZGVmaW5lIFBBQ0tBR0Vf TkFNRSAiUG9zdGdyZVNRTCIKfCAjZGVmaW5lIFBBQ0tBR0VfVEFSTkFNRSAicG9zdGdyZXNxbCIK fCAjZGVmaW5lIFBBQ0tBR0VfVkVSU0lPTiAiMTFiZXRhMyIKfCAjZGVmaW5lIFBBQ0tBR0VfU1RS SU5HICJQb3N0Z3JlU1FMIDExYmV0YTMiCnwgI2RlZmluZSBQQUNLQUdFX0JVR1JFUE9SVCAicGdz cWwtYnVnc0Bwb3N0Z3Jlc3FsLm9yZyIKfCAjZGVmaW5lIFBBQ0tBR0VfVVJMICIiCnwgI2RlZmlu ZSBQR19NQUpPUlZFUlNJT04gIjExIgp8ICNkZWZpbmUgUEdfVkVSU0lPTiAiMTFiZXRhMyIKfCAj ZGVmaW5lIERFRl9QR1BPUlQgNTQzMgp8ICNkZWZpbmUgREVGX1BHUE9SVF9TVFIgIjU0MzIiCnwg I2RlZmluZSBCTENLU1ogODE5Mgp8ICNkZWZpbmUgUkVMU0VHX1NJWkUgMTMxMDcyCnwgI2RlZmlu ZSBYTE9HX0JMQ0tTWiA4MTkyCnwgI2RlZmluZSBVU0VfQVNTRVJUX0NIRUNLSU5HIDEKfCAjZGVm aW5lIEVOQUJMRV9USFJFQURfU0FGRVRZIDEKfCAjZGVmaW5lIFVTRV9JQ1UgMQp8ICNkZWZpbmUg UEdfS1JCX1NSVk5BTSAicG9zdGdyZXMiCnwgI2RlZmluZSBVU0VfT1BFTlNTTCAxCnwgI2RlZmlu ZSBVU0VfTElCWE1MIDEKfCAjZGVmaW5lIFVTRV9MSUJYU0xUIDEKfCAjZGVmaW5lIFNURENfSEVB REVSUyAxCnwgI2RlZmluZSBIQVZFX1NZU19UWVBFU19IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NU QVRfSCAxCnwgI2RlZmluZSBIQVZFX1NURExJQl9IIDEKfCAjZGVmaW5lIEhBVkVfU1RSSU5HX0gg MQp8ICNkZWZpbmUgSEFWRV9NRU1PUllfSCAxCnwgI2RlZmluZSBIQVZFX1NUUklOR1NfSCAxCnwg I2RlZmluZSBIQVZFX0lOVFRZUEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERJTlRfSCAxCnwgI2Rl ZmluZSBIQVZFX1VOSVNURF9IIDEKfCAjZGVmaW5lIEhBVkVfTElCTSAxCnwgI2RlZmluZSBIQVZF X0xJQlogMQp8ICNkZWZpbmUgSEFWRV9TUElOTE9DS1MgMQp8ICNkZWZpbmUgSEFWRV9BVE9NSUNT IDEKfCAjZGVmaW5lIEhBVkVfU1NMX0dFVF9DVVJSRU5UX0NPTVBSRVNTSU9OIDEKfCAjZGVmaW5l IEhBVkVfWDUwOV9HRVRfU0lHTkFUVVJFX05JRCAxCnwgI2RlZmluZSBIQVZFX0NSWVBUT19MT0NL IDEKfCAjZGVmaW5lIEhBVkVfTElCWE1MMiAxCnwgI2RlZmluZSBIQVZFX0xJQlhTTFQgMQp8ICNk ZWZpbmUgSEFWRV9fQk9PTCAxCnwgI2RlZmluZSBIQVZFX1NUREJPT0xfSCAxCnwgI2RlZmluZSBI QVZFX0dFVE9QVF9IIDEKfCAjZGVmaW5lIEhBVkVfSUVFRUZQX0ggMQp8ICNkZWZpbmUgSEFWRV9V VElNRV9IIDEKfCAjZGVmaW5lIEhBVkVfV0NIQVJfSCAxCnwgI2RlZmluZSBIQVZFX1dDVFlQRV9I IDEKfCAjZGVmaW5lIEhBVkVfQ1JUREVGU19IIDEKfCAjZGVmaW5lIFBHX1BSSU5URl9BVFRSSUJV VEUgZ251X3ByaW50Zgp8ICNkZWZpbmUgRkxFWElCTEVfQVJSQVlfTUVNQkVSIC8qKi8KfCAjZGVm aW5lIEhBVkVfRlVOQ05BTUVfX0ZVTkMgMQp8ICNkZWZpbmUgSEFWRV9fU1RBVElDX0FTU0VSVCAx CnwgI2RlZmluZSBIQVZFX1RZUEVPRiAxCnwgI2RlZmluZSBIQVZFX19CVUlMVElOX1RZUEVTX0NP TVBBVElCTEVfUCAxCnwgI2RlZmluZSBIQVZFX19CVUlMVElOX0JTV0FQMTYgMQp8ICNkZWZpbmUg SEFWRV9fQlVJTFRJTl9CU1dBUDMyIDEKfCAjZGVmaW5lIEhBVkVfX0JVSUxUSU5fQlNXQVA2NCAx CnwgI2RlZmluZSBIQVZFX19CVUlMVElOX0NPTlNUQU5UX1AgMQp8ICNkZWZpbmUgSEFWRV9fQlVJ TFRJTl9VTlJFQUNIQUJMRSAxCnwgI2RlZmluZSBIQVZFX0NPTVBVVEVEX0dPVE8gMQp8ICNkZWZp bmUgSEFWRV9fVkFfQVJHUyAxCnwgI2RlZmluZSBIQVZFX1RaTkFNRSAxCnwgI2RlZmluZSBIQVZF X1NUUlVDVF9TT0NLQUREUl9TVE9SQUdFIDEKfCAjZGVmaW5lIEhBVkVfU1RSVUNUX1NPQ0tBRERS X1NUT1JBR0VfU1NfRkFNSUxZIDEKfCAjZGVmaW5lIEhBVkVfU1RSVUNUX0FERFJJTkZPIDEKfCAj ZGVmaW5lIEhBVkVfSU5UUFRSX1QgMQp8ICNkZWZpbmUgSEFWRV9VSU5UUFRSX1QgMQp8ICNkZWZp bmUgSEFWRV9VTlNJR05FRF9MT05HX0xPTkdfSU5UIDEKfCAjZGVmaW5lIEhBVkVfTE9OR19MT05H X0lOVCAxCnwgI2RlZmluZSByZXN0cmljdCBfX3Jlc3RyaWN0CnwgI2RlZmluZSBwZ19yZXN0cmlj dCBfX3Jlc3RyaWN0CnwgI2RlZmluZSBIQVZFX1NUUlVDVF9PUFRJT04gMQp8ICNkZWZpbmUgU0la RU9GX09GRl9UIDQKfCAjZGVmaW5lIFNJWkVPRl9CT09MIDEKfCAjZGVmaW5lIEhBVkVfSU5UX1RJ TUVaT05FIDEKfCAvKiBlbmQgY29uZmRlZnMuaC4gICovCnwgI2luY2x1ZGUgPHN5cy90eXBlcy5o Pgp8ICNpbmNsdWRlIDxzeXMvc29ja2V0Lmg+CnwgZXh0ZXJuIGludCBhY2NlcHQgKGludCwgdm9p ZCAqLCBzaXplX3QgKik7CmNvbmZpZ3VyZToxNDc5MTogeDg2XzY0LXc2NC1taW5ndzMyLWdjYyAt YyAtV2FsbCAtV21pc3NpbmctcHJvdG90eXBlcyAtV3BvaW50ZXItYXJpdGggLVdkZWNsYXJhdGlv bi1hZnRlci1zdGF0ZW1lbnQgLVdlbmRpZi1sYWJlbHMgLVdtaXNzaW5nLWZvcm1hdC1hdHRyaWJ1 dGUgLVdmb3JtYXQtc2VjdXJpdHkgLWZuby1zdHJpY3QtYWxpYXNpbmcgLWZ3cmFwdiAtZmV4Y2Vz cy1wcmVjaXNpb249c3RhbmRhcmQgLVduby1mb3JtYXQtdHJ1bmNhdGlvbiAtV25vLXN0cmluZ29w LXRydW5jYXRpb24gLWcgLU8gLWZuby1vbWl0LWZyYW1lLXBvaW50ZXIgIC1JL3cvUi0zLjUuXy9w b3N0Z3Jlcy9zcmMvaW5jbHVkZS9wb3J0L3dpbjMyIC1ERVhFQ19CQUNLRU5EICAtSS93L3psaWIt MS4yLjgtd2luMzIteDg2XzY0L2luY2x1ZGUgLUkvdy9vcGVuc3NsLTEuMC4yZS13aW4zMi14ODZf NjQvaW5jbHVkZSAtSS93L2xpYnhtbDItMi45LjMtd2luMzIteDg2XzY0L2luY2x1ZGUvbGlieG1s MiAtSS93L2xpYnhzbHQtMS4xLjI4LXdpbjMyLXg4Nl82NC9pbmNsdWRlIGNvbmZ0ZXN0LmMgPiY1 CmNvbmZ0ZXN0LmM6Nzk6MTI6IGVycm9yOiBjb25mbGljdGluZyB0eXBlcyBmb3IgJ2FjY2VwdCcK IGV4dGVybiBpbnQgYWNjZXB0IChpbnQsIHZvaWQgKiwgc29ja2xlbl90ICopOwogICAgICAgICAg ICBefn5+fn4KSW4gZmlsZSBpbmNsdWRlZCBmcm9tIFc6L1ItMy41Ll8vcG9zdGdyZXMvc3JjL2lu Y2x1ZGUvcG9ydC93aW4zMi9zeXMvc29ja2V0Lmg6MTQsCiAgICAgICAgICAgICAgICAgZnJvbSBj b25mdGVzdC5jOjc4OgpDOi9tc3lzNjQvbWluZ3c2NC94ODZfNjQtdzY0LW1pbmd3MzIvaW5jbHVk ZS93aW5zb2NrMi5oOjk3MzozNzogbm90ZTogcHJldmlvdXMgZGVjbGFyYXRpb24gb2YgJ2FjY2Vw dCcgd2FzIGhlcmUKICAgV0lOU09DS19BUElfTElOS0FHRSBTT0NLRVQgV1NBQVBJIGFjY2VwdChT T0NLRVQgcyxzdHJ1Y3Qgc29ja2FkZHIgKmFkZHIsaW50ICphZGRybGVuKTsKICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIF5+fn5+fgpjb25maWd1cmU6MTQ3OTE6ICQ/ID0gMQpj b25maWd1cmU6IGZhaWxlZCBwcm9ncmFtIHdhczoKfCAvKiBjb25mZGVmcy5oICovCnwgI2RlZmlu ZSBQQUNLQUdFX05BTUUgIlBvc3RncmVTUUwiCnwgI2RlZmluZSBQQUNLQUdFX1RBUk5BTUUgInBv c3RncmVzcWwiCnwgI2RlZmluZSBQQUNLQUdFX1ZFUlNJT04gIjExYmV0YTMiCnwgI2RlZmluZSBQ QUNLQUdFX1NUUklORyAiUG9zdGdyZVNRTCAxMWJldGEzIgp8ICNkZWZpbmUgUEFDS0FHRV9CVUdS RVBPUlQgInBnc3FsLWJ1Z3NAcG9zdGdyZXNxbC5vcmciCnwgI2RlZmluZSBQQUNLQUdFX1VSTCAi Igp8ICNkZWZpbmUgUEdfTUFKT1JWRVJTSU9OICIxMSIKfCAjZGVmaW5lIFBHX1ZFUlNJT04gIjEx YmV0YTMiCnwgI2RlZmluZSBERUZfUEdQT1JUIDU0MzIKfCAjZGVmaW5lIERFRl9QR1BPUlRfU1RS ICI1NDMyIgp8ICNkZWZpbmUgQkxDS1NaIDgxOTIKfCAjZGVmaW5lIFJFTFNFR19TSVpFIDEzMTA3 Mgp8ICNkZWZpbmUgWExPR19CTENLU1ogODE5Mgp8ICNkZWZpbmUgVVNFX0FTU0VSVF9DSEVDS0lO RyAxCnwgI2RlZmluZSBFTkFCTEVfVEhSRUFEX1NBRkVUWSAxCnwgI2RlZmluZSBVU0VfSUNVIDEK fCAjZGVmaW5lIFBHX0tSQl9TUlZOQU0gInBvc3RncmVzIgp8ICNkZWZpbmUgVVNFX09QRU5TU0wg MQp8ICNkZWZpbmUgVVNFX0xJQlhNTCAxCnwgI2RlZmluZSBVU0VfTElCWFNMVCAxCnwgI2RlZmlu ZSBTVERDX0hFQURFUlMgMQp8ICNkZWZpbmUgSEFWRV9TWVNfVFlQRVNfSCAxCnwgI2RlZmluZSBI QVZFX1NZU19TVEFUX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERMSUJfSCAxCnwgI2RlZmluZSBIQVZF X1NUUklOR19IIDEKfCAjZGVmaW5lIEhBVkVfTUVNT1JZX0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJJ TkdTX0ggMQp8ICNkZWZpbmUgSEFWRV9JTlRUWVBFU19IIDEKfCAjZGVmaW5lIEhBVkVfU1RESU5U X0ggMQp8ICNkZWZpbmUgSEFWRV9VTklTVERfSCAxCnwgI2RlZmluZSBIQVZFX0xJQk0gMQp8ICNk ZWZpbmUgSEFWRV9MSUJaIDEKfCAjZGVmaW5lIEhBVkVfU1BJTkxPQ0tTIDEKfCAjZGVmaW5lIEhB VkVfQVRPTUlDUyAxCnwgI2RlZmluZSBIQVZFX1NTTF9HRVRfQ1VSUkVOVF9DT01QUkVTU0lPTiAx CnwgI2RlZmluZSBIQVZFX1g1MDlfR0VUX1NJR05BVFVSRV9OSUQgMQp8ICNkZWZpbmUgSEFWRV9D UllQVE9fTE9DSyAxCnwgI2RlZmluZSBIQVZFX0xJQlhNTDIgMQp8ICNkZWZpbmUgSEFWRV9MSUJY U0xUIDEKfCAjZGVmaW5lIEhBVkVfX0JPT0wgMQp8ICNkZWZpbmUgSEFWRV9TVERCT09MX0ggMQp8 ICNkZWZpbmUgSEFWRV9HRVRPUFRfSCAxCnwgI2RlZmluZSBIQVZFX0lFRUVGUF9IIDEKfCAjZGVm aW5lIEhBVkVfVVRJTUVfSCAxCnwgI2RlZmluZSBIQVZFX1dDSEFSX0ggMQp8ICNkZWZpbmUgSEFW RV9XQ1RZUEVfSCAxCnwgI2RlZmluZSBIQVZFX0NSVERFRlNfSCAxCnwgI2RlZmluZSBQR19QUklO VEZfQVRUUklCVVRFIGdudV9wcmludGYKfCAjZGVmaW5lIEZMRVhJQkxFX0FSUkFZX01FTUJFUiAv KiovCnwgI2RlZmluZSBIQVZFX0ZVTkNOQU1FX19GVU5DIDEKfCAjZGVmaW5lIEhBVkVfX1NUQVRJ Q19BU1NFUlQgMQp8ICNkZWZpbmUgSEFWRV9UWVBFT0YgMQp8ICNkZWZpbmUgSEFWRV9fQlVJTFRJ Tl9UWVBFU19DT01QQVRJQkxFX1AgMQp8ICNkZWZpbmUgSEFWRV9fQlVJTFRJTl9CU1dBUDE2IDEK fCAjZGVmaW5lIEhBVkVfX0JVSUxUSU5fQlNXQVAzMiAxCnwgI2RlZmluZSBIQVZFX19CVUlMVElO X0JTV0FQNjQgMQp8ICNkZWZpbmUgSEFWRV9fQlVJTFRJTl9DT05TVEFOVF9QIDEKfCAjZGVmaW5l IEhBVkVfX0JVSUxUSU5fVU5SRUFDSEFCTEUgMQp8ICNkZWZpbmUgSEFWRV9DT01QVVRFRF9HT1RP IDEKfCAjZGVmaW5lIEhBVkVfX1ZBX0FSR1MgMQp8ICNkZWZpbmUgSEFWRV9UWk5BTUUgMQp8ICNk ZWZpbmUgSEFWRV9TVFJVQ1RfU09DS0FERFJfU1RPUkFHRSAxCnwgI2RlZmluZSBIQVZFX1NUUlVD VF9TT0NLQUREUl9TVE9SQUdFX1NTX0ZBTUlMWSAxCnwgI2RlZmluZSBIQVZFX1NUUlVDVF9BRERS SU5GTyAxCnwgI2RlZmluZSBIQVZFX0lOVFBUUl9UIDEKfCAjZGVmaW5lIEhBVkVfVUlOVFBUUl9U IDEKfCAjZGVmaW5lIEhBVkVfVU5TSUdORURfTE9OR19MT05HX0lOVCAxCnwgI2RlZmluZSBIQVZF X0xPTkdfTE9OR19JTlQgMQp8ICNkZWZpbmUgcmVzdHJpY3QgX19yZXN0cmljdAp8ICNkZWZpbmUg cGdfcmVzdHJpY3QgX19yZXN0cmljdAp8ICNkZWZpbmUgSEFWRV9TVFJVQ1RfT1BUSU9OIDEKfCAj ZGVmaW5lIFNJWkVPRl9PRkZfVCA0CnwgI2RlZmluZSBTSVpFT0ZfQk9PTCAxCnwgI2RlZmluZSBI QVZFX0lOVF9USU1FWk9ORSAxCnwgLyogZW5kIGNvbmZkZWZzLmguICAqLwp8ICNpbmNsdWRlIDxz eXMvdHlwZXMuaD4KfCAjaW5jbHVkZSA8c3lzL3NvY2tldC5oPgp8IGV4dGVybiBpbnQgYWNjZXB0 IChpbnQsIHZvaWQgKiwgc29ja2xlbl90ICopOwpjb25maWd1cmU6MTQ3OTE6IHg4Nl82NC13NjQt bWluZ3czMi1nY2MgLWMgLVdhbGwgLVdtaXNzaW5nLXByb3RvdHlwZXMgLVdwb2ludGVyLWFyaXRo IC1XZGVjbGFyYXRpb24tYWZ0ZXItc3RhdGVtZW50IC1XZW5kaWYtbGFiZWxzIC1XbWlzc2luZy1m b3JtYXQtYXR0cmlidXRlIC1XZm9ybWF0LXNlY3VyaXR5IC1mbm8tc3RyaWN0LWFsaWFzaW5nIC1m d3JhcHYgLWZleGNlc3MtcHJlY2lzaW9uPXN0YW5kYXJkIC1Xbm8tZm9ybWF0LXRydW5jYXRpb24g LVduby1zdHJpbmdvcC10cnVuY2F0aW9uIC1nIC1PIC1mbm8tb21pdC1mcmFtZS1wb2ludGVyICAt SS93L1ItMy41Ll8vcG9zdGdyZXMvc3JjL2luY2x1ZGUvcG9ydC93aW4zMiAtREVYRUNfQkFDS0VO RCAgLUkvdy96bGliLTEuMi44LXdpbjMyLXg4Nl82NC9pbmNsdWRlIC1JL3cvb3BlbnNzbC0xLjAu MmUtd2luMzIteDg2XzY0L2luY2x1ZGUgLUkvdy9saWJ4bWwyLTIuOS4zLXdpbjMyLXg4Nl82NC9p bmNsdWRlL2xpYnhtbDIgLUkvdy9saWJ4c2x0LTEuMS4yOC13aW4zMi14ODZfNjQvaW5jbHVkZSBj b25mdGVzdC5jID4mNQpjb25mdGVzdC5jOjc5OjEyOiBlcnJvcjogY29uZmxpY3RpbmcgdHlwZXMg Zm9yICdhY2NlcHQnCiBleHRlcm4gaW50IGFjY2VwdCAoaW50LCB2b2lkICosIHVuc2lnbmVkIGlu dCAqKTsKICAgICAgICAgICAgXn5+fn5+CkluIGZpbGUgaW5jbHVkZWQgZnJvbSBXOi9SLTMuNS5f L3Bvc3RncmVzL3NyYy9pbmNsdWRlL3BvcnQvd2luMzIvc3lzL3NvY2tldC5oOjE0LAogICAgICAg ICAgICAgICAgIGZyb20gY29uZnRlc3QuYzo3ODoKQzovbXN5czY0L21pbmd3NjQveDg2XzY0LXc2 NC1taW5ndzMyL2luY2x1ZGUvd2luc29jazIuaDo5NzM6Mzc6IG5vdGU6IHByZXZpb3VzIGRlY2xh cmF0aW9uIG9mICdhY2NlcHQnIHdhcyBoZXJlCiAgIFdJTlNPQ0tfQVBJX0xJTktBR0UgU09DS0VU IFdTQUFQSSBhY2NlcHQoU09DS0VUIHMsc3RydWN0IHNvY2thZGRyICphZGRyLGludCAqYWRkcmxl bik7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBefn5+fn4KY29uZmlndXJl OjE0NzkxOiAkPyA9IDEKY29uZmlndXJlOiBmYWlsZWQgcHJvZ3JhbSB3YXM6CnwgLyogY29uZmRl ZnMuaCAqLwp8ICNkZWZpbmUgUEFDS0FHRV9OQU1FICJQb3N0Z3JlU1FMIgp8ICNkZWZpbmUgUEFD S0FHRV9UQVJOQU1FICJwb3N0Z3Jlc3FsIgp8ICNkZWZpbmUgUEFDS0FHRV9WRVJTSU9OICIxMWJl dGEzIgp8ICNkZWZpbmUgUEFDS0FHRV9TVFJJTkcgIlBvc3RncmVTUUwgMTFiZXRhMyIKfCAjZGVm aW5lIFBBQ0tBR0VfQlVHUkVQT1JUICJwZ3NxbC1idWdzQHBvc3RncmVzcWwub3JnIgp8ICNkZWZp bmUgUEFDS0FHRV9VUkwgIiIKfCAjZGVmaW5lIFBHX01BSk9SVkVSU0lPTiAiMTEiCnwgI2RlZmlu ZSBQR19WRVJTSU9OICIxMWJldGEzIgp8ICNkZWZpbmUgREVGX1BHUE9SVCA1NDMyCnwgI2RlZmlu ZSBERUZfUEdQT1JUX1NUUiAiNTQzMiIKfCAjZGVmaW5lIEJMQ0tTWiA4MTkyCnwgI2RlZmluZSBS RUxTRUdfU0laRSAxMzEwNzIKfCAjZGVmaW5lIFhMT0dfQkxDS1NaIDgxOTIKfCAjZGVmaW5lIFVT RV9BU1NFUlRfQ0hFQ0tJTkcgMQp8ICNkZWZpbmUgRU5BQkxFX1RIUkVBRF9TQUZFVFkgMQp8ICNk ZWZpbmUgVVNFX0lDVSAxCnwgI2RlZmluZSBQR19LUkJfU1JWTkFNICJwb3N0Z3JlcyIKfCAjZGVm aW5lIFVTRV9PUEVOU1NMIDEKfCAjZGVmaW5lIFVTRV9MSUJYTUwgMQp8ICNkZWZpbmUgVVNFX0xJ QlhTTFQgMQp8ICNkZWZpbmUgU1REQ19IRUFERVJTIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1RZUEVT X0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfU1RBVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1RETElCX0gg MQp8ICNkZWZpbmUgSEFWRV9TVFJJTkdfSCAxCnwgI2RlZmluZSBIQVZFX01FTU9SWV9IIDEKfCAj ZGVmaW5lIEhBVkVfU1RSSU5HU19IIDEKfCAjZGVmaW5lIEhBVkVfSU5UVFlQRVNfSCAxCnwgI2Rl ZmluZSBIQVZFX1NURElOVF9IIDEKfCAjZGVmaW5lIEhBVkVfVU5JU1REX0ggMQp8ICNkZWZpbmUg SEFWRV9MSUJNIDEKfCAjZGVmaW5lIEhBVkVfTElCWiAxCnwgI2RlZmluZSBIQVZFX1NQSU5MT0NL UyAxCnwgI2RlZmluZSBIQVZFX0FUT01JQ1MgMQp8ICNkZWZpbmUgSEFWRV9TU0xfR0VUX0NVUlJF TlRfQ09NUFJFU1NJT04gMQp8ICNkZWZpbmUgSEFWRV9YNTA5X0dFVF9TSUdOQVRVUkVfTklEIDEK fCAjZGVmaW5lIEhBVkVfQ1JZUFRPX0xPQ0sgMQp8ICNkZWZpbmUgSEFWRV9MSUJYTUwyIDEKfCAj ZGVmaW5lIEhBVkVfTElCWFNMVCAxCnwgI2RlZmluZSBIQVZFX19CT09MIDEKfCAjZGVmaW5lIEhB VkVfU1REQk9PTF9IIDEKfCAjZGVmaW5lIEhBVkVfR0VUT1BUX0ggMQp8ICNkZWZpbmUgSEFWRV9J RUVFRlBfSCAxCnwgI2RlZmluZSBIQVZFX1VUSU1FX0ggMQp8ICNkZWZpbmUgSEFWRV9XQ0hBUl9I IDEKfCAjZGVmaW5lIEhBVkVfV0NUWVBFX0ggMQp8ICNkZWZpbmUgSEFWRV9DUlRERUZTX0ggMQp8 ICNkZWZpbmUgUEdfUFJJTlRGX0FUVFJJQlVURSBnbnVfcHJpbnRmCnwgI2RlZmluZSBGTEVYSUJM RV9BUlJBWV9NRU1CRVIgLyoqLwp8ICNkZWZpbmUgSEFWRV9GVU5DTkFNRV9fRlVOQyAxCnwgI2Rl ZmluZSBIQVZFX19TVEFUSUNfQVNTRVJUIDEKfCAjZGVmaW5lIEhBVkVfVFlQRU9GIDEKfCAjZGVm aW5lIEhBVkVfX0JVSUxUSU5fVFlQRVNfQ09NUEFUSUJMRV9QIDEKfCAjZGVmaW5lIEhBVkVfX0JV SUxUSU5fQlNXQVAxNiAxCnwgI2RlZmluZSBIQVZFX19CVUlMVElOX0JTV0FQMzIgMQp8ICNkZWZp bmUgSEFWRV9fQlVJTFRJTl9CU1dBUDY0IDEKfCAjZGVmaW5lIEhBVkVfX0JVSUxUSU5fQ09OU1RB TlRfUCAxCnwgI2RlZmluZSBIQVZFX19CVUlMVElOX1VOUkVBQ0hBQkxFIDEKfCAjZGVmaW5lIEhB VkVfQ09NUFVURURfR09UTyAxCnwgI2RlZmluZSBIQVZFX19WQV9BUkdTIDEKfCAjZGVmaW5lIEhB VkVfVFpOQU1FIDEKfCAjZGVmaW5lIEhBVkVfU1RSVUNUX1NPQ0tBRERSX1NUT1JBR0UgMQp8ICNk ZWZpbmUgSEFWRV9TVFJVQ1RfU09DS0FERFJfU1RPUkFHRV9TU19GQU1JTFkgMQp8ICNkZWZpbmUg SEFWRV9TVFJVQ1RfQUREUklORk8gMQp8ICNkZWZpbmUgSEFWRV9JTlRQVFJfVCAxCnwgI2RlZmlu ZSBIQVZFX1VJTlRQVFJfVCAxCnwgI2RlZmluZSBIQVZFX1VOU0lHTkVEX0xPTkdfTE9OR19JTlQg MQp8ICNkZWZpbmUgSEFWRV9MT05HX0xPTkdfSU5UIDEKfCAjZGVmaW5lIHJlc3RyaWN0IF9fcmVz dHJpY3QKfCAjZGVmaW5lIHBnX3Jlc3RyaWN0IF9fcmVzdHJpY3QKfCAjZGVmaW5lIEhBVkVfU1RS VUNUX09QVElPTiAxCnwgI2RlZmluZSBTSVpFT0ZfT0ZGX1QgNAp8ICNkZWZpbmUgU0laRU9GX0JP T0wgMQp8ICNkZWZpbmUgSEFWRV9JTlRfVElNRVpPTkUgMQp8IC8qIGVuZCBjb25mZGVmcy5oLiAg Ki8KfCAjaW5jbHVkZSA8c3lzL3R5cGVzLmg+CnwgI2luY2x1ZGUgPHN5cy9zb2NrZXQuaD4KfCBl eHRlcm4gaW50IGFjY2VwdCAoaW50LCB2b2lkICosIHVuc2lnbmVkIGludCAqKTsKY29uZmlndXJl OjE0NzkxOiB4ODZfNjQtdzY0LW1pbmd3MzItZ2NjIC1jIC1XYWxsIC1XbWlzc2luZy1wcm90b3R5 cGVzIC1XcG9pbnRlci1hcml0aCAtV2RlY2xhcmF0aW9uLWFmdGVyLXN0YXRlbWVudCAtV2VuZGlm LWxhYmVscyAtV21pc3NpbmctZm9ybWF0LWF0dHJpYnV0ZSAtV2Zvcm1hdC1zZWN1cml0eSAtZm5v LXN0cmljdC1hbGlhc2luZyAtZndyYXB2IC1mZXhjZXNzLXByZWNpc2lvbj1zdGFuZGFyZCAtV25v LWZvcm1hdC10cnVuY2F0aW9uIC1Xbm8tc3RyaW5nb3AtdHJ1bmNhdGlvbiAtZyAtTyAtZm5vLW9t aXQtZnJhbWUtcG9pbnRlciAgLUkvdy9SLTMuNS5fL3Bvc3RncmVzL3NyYy9pbmNsdWRlL3BvcnQv d2luMzIgLURFWEVDX0JBQ0tFTkQgIC1JL3cvemxpYi0xLjIuOC13aW4zMi14ODZfNjQvaW5jbHVk ZSAtSS93L29wZW5zc2wtMS4wLjJlLXdpbjMyLXg4Nl82NC9pbmNsdWRlIC1JL3cvbGlieG1sMi0y LjkuMy13aW4zMi14ODZfNjQvaW5jbHVkZS9saWJ4bWwyIC1JL3cvbGlieHNsdC0xLjEuMjgtd2lu MzIteDg2XzY0L2luY2x1ZGUgY29uZnRlc3QuYyA+JjUKY29uZnRlc3QuYzo3OToxMjogZXJyb3I6 IGNvbmZsaWN0aW5nIHR5cGVzIGZvciAnYWNjZXB0JwogZXh0ZXJuIGludCBhY2NlcHQgKGludCwg dm9pZCAqLCB2b2lkICopOwogICAgICAgICAgICBefn5+fn4KSW4gZmlsZSBpbmNsdWRlZCBmcm9t IFc6L1ItMy41Ll8vcG9zdGdyZXMvc3JjL2luY2x1ZGUvcG9ydC93aW4zMi9zeXMvc29ja2V0Lmg6 MTQsCiAgICAgICAgICAgICAgICAgZnJvbSBjb25mdGVzdC5jOjc4OgpDOi9tc3lzNjQvbWluZ3c2 NC94ODZfNjQtdzY0LW1pbmd3MzIvaW5jbHVkZS93aW5zb2NrMi5oOjk3MzozNzogbm90ZTogcHJl dmlvdXMgZGVjbGFyYXRpb24gb2YgJ2FjY2VwdCcgd2FzIGhlcmUKICAgV0lOU09DS19BUElfTElO S0FHRSBTT0NLRVQgV1NBQVBJIGFjY2VwdChTT0NLRVQgcyxzdHJ1Y3Qgc29ja2FkZHIgKmFkZHIs aW50ICphZGRybGVuKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF5+fn5+ fgpjb25maWd1cmU6MTQ3OTE6ICQ/ID0gMQpjb25maWd1cmU6IGZhaWxlZCBwcm9ncmFtIHdhczoK fCAvKiBjb25mZGVmcy5oICovCnwgI2RlZmluZSBQQUNLQUdFX05BTUUgIlBvc3RncmVTUUwiCnwg I2RlZmluZSBQQUNLQUdFX1RBUk5BTUUgInBvc3RncmVzcWwiCnwgI2RlZmluZSBQQUNLQUdFX1ZF UlNJT04gIjExYmV0YTMiCnwgI2RlZmluZSBQQUNLQUdFX1NUUklORyAiUG9zdGdyZVNRTCAxMWJl dGEzIgp8ICNkZWZpbmUgUEFDS0FHRV9CVUdSRVBPUlQgInBnc3FsLWJ1Z3NAcG9zdGdyZXNxbC5v cmciCnwgI2RlZmluZSBQQUNLQUdFX1VSTCAiIgp8ICNkZWZpbmUgUEdfTUFKT1JWRVJTSU9OICIx MSIKfCAjZGVmaW5lIFBHX1ZFUlNJT04gIjExYmV0YTMiCnwgI2RlZmluZSBERUZfUEdQT1JUIDU0 MzIKfCAjZGVmaW5lIERFRl9QR1BPUlRfU1RSICI1NDMyIgp8ICNkZWZpbmUgQkxDS1NaIDgxOTIK fCAjZGVmaW5lIFJFTFNFR19TSVpFIDEzMTA3Mgp8ICNkZWZpbmUgWExPR19CTENLU1ogODE5Mgp8 ICNkZWZpbmUgVVNFX0FTU0VSVF9DSEVDS0lORyAxCnwgI2RlZmluZSBFTkFCTEVfVEhSRUFEX1NB RkVUWSAxCnwgI2RlZmluZSBVU0VfSUNVIDEKfCAjZGVmaW5lIFBHX0tSQl9TUlZOQU0gInBvc3Rn cmVzIgp8ICNkZWZpbmUgVVNFX09QRU5TU0wgMQp8ICNkZWZpbmUgVVNFX0xJQlhNTCAxCnwgI2Rl ZmluZSBVU0VfTElCWFNMVCAxCnwgI2RlZmluZSBTVERDX0hFQURFUlMgMQp8ICNkZWZpbmUgSEFW RV9TWVNfVFlQRVNfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19TVEFUX0ggMQp8ICNkZWZpbmUgSEFW RV9TVERMSUJfSCAxCnwgI2RlZmluZSBIQVZFX1NUUklOR19IIDEKfCAjZGVmaW5lIEhBVkVfTUVN T1JZX0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJJTkdTX0ggMQp8ICNkZWZpbmUgSEFWRV9JTlRUWVBF U19IIDEKfCAjZGVmaW5lIEhBVkVfU1RESU5UX0ggMQp8ICNkZWZpbmUgSEFWRV9VTklTVERfSCAx CnwgI2RlZmluZSBIQVZFX0xJQk0gMQp8ICNkZWZpbmUgSEFWRV9MSUJaIDEKfCAjZGVmaW5lIEhB VkVfU1BJTkxPQ0tTIDEKfCAjZGVmaW5lIEhBVkVfQVRPTUlDUyAxCnwgI2RlZmluZSBIQVZFX1NT TF9HRVRfQ1VSUkVOVF9DT01QUkVTU0lPTiAxCnwgI2RlZmluZSBIQVZFX1g1MDlfR0VUX1NJR05B VFVSRV9OSUQgMQp8ICNkZWZpbmUgSEFWRV9DUllQVE9fTE9DSyAxCnwgI2RlZmluZSBIQVZFX0xJ QlhNTDIgMQp8ICNkZWZpbmUgSEFWRV9MSUJYU0xUIDEKfCAjZGVmaW5lIEhBVkVfX0JPT0wgMQp8 ICNkZWZpbmUgSEFWRV9TVERCT09MX0ggMQp8ICNkZWZpbmUgSEFWRV9HRVRPUFRfSCAxCnwgI2Rl ZmluZSBIQVZFX0lFRUVGUF9IIDEKfCAjZGVmaW5lIEhBVkVfVVRJTUVfSCAxCnwgI2RlZmluZSBI QVZFX1dDSEFSX0ggMQp8ICNkZWZpbmUgSEFWRV9XQ1RZUEVfSCAxCnwgI2RlZmluZSBIQVZFX0NS VERFRlNfSCAxCnwgI2RlZmluZSBQR19QUklOVEZfQVRUUklCVVRFIGdudV9wcmludGYKfCAjZGVm aW5lIEZMRVhJQkxFX0FSUkFZX01FTUJFUiAvKiovCnwgI2RlZmluZSBIQVZFX0ZVTkNOQU1FX19G VU5DIDEKfCAjZGVmaW5lIEhBVkVfX1NUQVRJQ19BU1NFUlQgMQp8ICNkZWZpbmUgSEFWRV9UWVBF T0YgMQp8ICNkZWZpbmUgSEFWRV9fQlVJTFRJTl9UWVBFU19DT01QQVRJQkxFX1AgMQp8ICNkZWZp bmUgSEFWRV9fQlVJTFRJTl9CU1dBUDE2IDEKfCAjZGVmaW5lIEhBVkVfX0JVSUxUSU5fQlNXQVAz MiAxCnwgI2RlZmluZSBIQVZFX19CVUlMVElOX0JTV0FQNjQgMQp8ICNkZWZpbmUgSEFWRV9fQlVJ TFRJTl9DT05TVEFOVF9QIDEKfCAjZGVmaW5lIEhBVkVfX0JVSUxUSU5fVU5SRUFDSEFCTEUgMQp8 ICNkZWZpbmUgSEFWRV9DT01QVVRFRF9HT1RPIDEKfCAjZGVmaW5lIEhBVkVfX1ZBX0FSR1MgMQp8 ICNkZWZpbmUgSEFWRV9UWk5BTUUgMQp8ICNkZWZpbmUgSEFWRV9TVFJVQ1RfU09DS0FERFJfU1RP UkFHRSAxCnwgI2RlZmluZSBIQVZFX1NUUlVDVF9TT0NLQUREUl9TVE9SQUdFX1NTX0ZBTUlMWSAx CnwgI2RlZmluZSBIQVZFX1NUUlVDVF9BRERSSU5GTyAxCnwgI2RlZmluZSBIQVZFX0lOVFBUUl9U IDEKfCAjZGVmaW5lIEhBVkVfVUlOVFBUUl9UIDEKfCAjZGVmaW5lIEhBVkVfVU5TSUdORURfTE9O R19MT05HX0lOVCAxCnwgI2RlZmluZSBIQVZFX0xPTkdfTE9OR19JTlQgMQp8ICNkZWZpbmUgcmVz dHJpY3QgX19yZXN0cmljdAp8ICNkZWZpbmUgcGdfcmVzdHJpY3QgX19yZXN0cmljdAp8ICNkZWZp bmUgSEFWRV9TVFJVQ1RfT1BUSU9OIDEKfCAjZGVmaW5lIFNJWkVPRl9PRkZfVCA0CnwgI2RlZmlu ZSBTSVpFT0ZfQk9PTCAxCnwgI2RlZmluZSBIQVZFX0lOVF9USU1FWk9ORSAxCnwgLyogZW5kIGNv bmZkZWZzLmguICAqLwp8ICNpbmNsdWRlIDxzeXMvdHlwZXMuaD4KfCAjaW5jbHVkZSA8c3lzL3Nv Y2tldC5oPgp8IGV4dGVybiBpbnQgYWNjZXB0IChpbnQsIHZvaWQgKiwgdm9pZCAqKTsKY29uZmln dXJlOjE0NzkxOiB4ODZfNjQtdzY0LW1pbmd3MzItZ2NjIC1jIC1XYWxsIC1XbWlzc2luZy1wcm90 b3R5cGVzIC1XcG9pbnRlci1hcml0aCAtV2RlY2xhcmF0aW9uLWFmdGVyLXN0YXRlbWVudCAtV2Vu ZGlmLWxhYmVscyAtV21pc3NpbmctZm9ybWF0LWF0dHJpYnV0ZSAtV2Zvcm1hdC1zZWN1cml0eSAt Zm5vLXN0cmljdC1hbGlhc2luZyAtZndyYXB2IC1mZXhjZXNzLXByZWNpc2lvbj1zdGFuZGFyZCAt V25vLWZvcm1hdC10cnVuY2F0aW9uIC1Xbm8tc3RyaW5nb3AtdHJ1bmNhdGlvbiAtZyAtTyAtZm5v LW9taXQtZnJhbWUtcG9pbnRlciAgLUkvdy9SLTMuNS5fL3Bvc3RncmVzL3NyYy9pbmNsdWRlL3Bv cnQvd2luMzIgLURFWEVDX0JBQ0tFTkQgIC1JL3cvemxpYi0xLjIuOC13aW4zMi14ODZfNjQvaW5j bHVkZSAtSS93L29wZW5zc2wtMS4wLjJlLXdpbjMyLXg4Nl82NC9pbmNsdWRlIC1JL3cvbGlieG1s Mi0yLjkuMy13aW4zMi14ODZfNjQvaW5jbHVkZS9saWJ4bWwyIC1JL3cvbGlieHNsdC0xLjEuMjgt d2luMzIteDg2XzY0L2luY2x1ZGUgY29uZnRlc3QuYyA+JjUKY29uZnRlc3QuYzo3OToxMjogZXJy b3I6IGNvbmZsaWN0aW5nIHR5cGVzIGZvciAnYWNjZXB0JwogZXh0ZXJuIGludCBhY2NlcHQgKHVu c2lnbmVkIGludCwgc3RydWN0IHNvY2thZGRyICosIGludCAqKTsKICAgICAgICAgICAgXn5+fn5+ CkluIGZpbGUgaW5jbHVkZWQgZnJvbSBXOi9SLTMuNS5fL3Bvc3RncmVzL3NyYy9pbmNsdWRlL3Bv cnQvd2luMzIvc3lzL3NvY2tldC5oOjE0LAogICAgICAgICAgICAgICAgIGZyb20gY29uZnRlc3Qu Yzo3ODoKQzovbXN5czY0L21pbmd3NjQveDg2XzY0LXc2NC1taW5ndzMyL2luY2x1ZGUvd2luc29j azIuaDo5NzM6Mzc6IG5vdGU6IHByZXZpb3VzIGRlY2xhcmF0aW9uIG9mICdhY2NlcHQnIHdhcyBo ZXJlCiAgIFdJTlNPQ0tfQVBJX0xJTktBR0UgU09DS0VUIFdTQUFQSSBhY2NlcHQoU09DS0VUIHMs c3RydWN0IHNvY2thZGRyICphZGRyLGludCAqYWRkcmxlbik7CiAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICBefn5+fn4KY29uZmlndXJlOjE0NzkxOiAkPyA9IDEKY29uZmlndXJl OiBmYWlsZWQgcHJvZ3JhbSB3YXM6CnwgLyogY29uZmRlZnMuaCAqLwp8ICNkZWZpbmUgUEFDS0FH RV9OQU1FICJQb3N0Z3JlU1FMIgp8ICNkZWZpbmUgUEFDS0FHRV9UQVJOQU1FICJwb3N0Z3Jlc3Fs Igp8ICNkZWZpbmUgUEFDS0FHRV9WRVJTSU9OICIxMWJldGEzIgp8ICNkZWZpbmUgUEFDS0FHRV9T VFJJTkcgIlBvc3RncmVTUUwgMTFiZXRhMyIKfCAjZGVmaW5lIFBBQ0tBR0VfQlVHUkVQT1JUICJw Z3NxbC1idWdzQHBvc3RncmVzcWwub3JnIgp8ICNkZWZpbmUgUEFDS0FHRV9VUkwgIiIKfCAjZGVm aW5lIFBHX01BSk9SVkVSU0lPTiAiMTEiCnwgI2RlZmluZSBQR19WRVJTSU9OICIxMWJldGEzIgp8 ICNkZWZpbmUgREVGX1BHUE9SVCA1NDMyCnwgI2RlZmluZSBERUZfUEdQT1JUX1NUUiAiNTQzMiIK fCAjZGVmaW5lIEJMQ0tTWiA4MTkyCnwgI2RlZmluZSBSRUxTRUdfU0laRSAxMzEwNzIKfCAjZGVm aW5lIFhMT0dfQkxDS1NaIDgxOTIKfCAjZGVmaW5lIFVTRV9BU1NFUlRfQ0hFQ0tJTkcgMQp8ICNk ZWZpbmUgRU5BQkxFX1RIUkVBRF9TQUZFVFkgMQp8ICNkZWZpbmUgVVNFX0lDVSAxCnwgI2RlZmlu ZSBQR19LUkJfU1JWTkFNICJwb3N0Z3JlcyIKfCAjZGVmaW5lIFVTRV9PUEVOU1NMIDEKfCAjZGVm aW5lIFVTRV9MSUJYTUwgMQp8ICNkZWZpbmUgVVNFX0xJQlhTTFQgMQp8ICNkZWZpbmUgU1REQ19I RUFERVJTIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1RZUEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNf U1RBVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1RETElCX0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJJTkdf SCAxCnwgI2RlZmluZSBIQVZFX01FTU9SWV9IIDEKfCAjZGVmaW5lIEhBVkVfU1RSSU5HU19IIDEK fCAjZGVmaW5lIEhBVkVfSU5UVFlQRVNfSCAxCnwgI2RlZmluZSBIQVZFX1NURElOVF9IIDEKfCAj ZGVmaW5lIEhBVkVfVU5JU1REX0ggMQp8ICNkZWZpbmUgSEFWRV9MSUJNIDEKfCAjZGVmaW5lIEhB VkVfTElCWiAxCnwgI2RlZmluZSBIQVZFX1NQSU5MT0NLUyAxCnwgI2RlZmluZSBIQVZFX0FUT01J Q1MgMQp8ICNkZWZpbmUgSEFWRV9TU0xfR0VUX0NVUlJFTlRfQ09NUFJFU1NJT04gMQp8ICNkZWZp bmUgSEFWRV9YNTA5X0dFVF9TSUdOQVRVUkVfTklEIDEKfCAjZGVmaW5lIEhBVkVfQ1JZUFRPX0xP Q0sgMQp8ICNkZWZpbmUgSEFWRV9MSUJYTUwyIDEKfCAjZGVmaW5lIEhBVkVfTElCWFNMVCAxCnwg I2RlZmluZSBIQVZFX19CT09MIDEKfCAjZGVmaW5lIEhBVkVfU1REQk9PTF9IIDEKfCAjZGVmaW5l IEhBVkVfR0VUT1BUX0ggMQp8ICNkZWZpbmUgSEFWRV9JRUVFRlBfSCAxCnwgI2RlZmluZSBIQVZF X1VUSU1FX0ggMQp8ICNkZWZpbmUgSEFWRV9XQ0hBUl9IIDEKfCAjZGVmaW5lIEhBVkVfV0NUWVBF X0ggMQp8ICNkZWZpbmUgSEFWRV9DUlRERUZTX0ggMQp8ICNkZWZpbmUgUEdfUFJJTlRGX0FUVFJJ QlVURSBnbnVfcHJpbnRmCnwgI2RlZmluZSBGTEVYSUJMRV9BUlJBWV9NRU1CRVIgLyoqLwp8ICNk ZWZpbmUgSEFWRV9GVU5DTkFNRV9fRlVOQyAxCnwgI2RlZmluZSBIQVZFX19TVEFUSUNfQVNTRVJU IDEKfCAjZGVmaW5lIEhBVkVfVFlQRU9GIDEKfCAjZGVmaW5lIEhBVkVfX0JVSUxUSU5fVFlQRVNf Q09NUEFUSUJMRV9QIDEKfCAjZGVmaW5lIEhBVkVfX0JVSUxUSU5fQlNXQVAxNiAxCnwgI2RlZmlu ZSBIQVZFX19CVUlMVElOX0JTV0FQMzIgMQp8ICNkZWZpbmUgSEFWRV9fQlVJTFRJTl9CU1dBUDY0 IDEKfCAjZGVmaW5lIEhBVkVfX0JVSUxUSU5fQ09OU1RBTlRfUCAxCnwgI2RlZmluZSBIQVZFX19C VUlMVElOX1VOUkVBQ0hBQkxFIDEKfCAjZGVmaW5lIEhBVkVfQ09NUFVURURfR09UTyAxCnwgI2Rl ZmluZSBIQVZFX19WQV9BUkdTIDEKfCAjZGVmaW5lIEhBVkVfVFpOQU1FIDEKfCAjZGVmaW5lIEhB VkVfU1RSVUNUX1NPQ0tBRERSX1NUT1JBR0UgMQp8ICNkZWZpbmUgSEFWRV9TVFJVQ1RfU09DS0FE RFJfU1RPUkFHRV9TU19GQU1JTFkgMQp8ICNkZWZpbmUgSEFWRV9TVFJVQ1RfQUREUklORk8gMQp8 ICNkZWZpbmUgSEFWRV9JTlRQVFJfVCAxCnwgI2RlZmluZSBIQVZFX1VJTlRQVFJfVCAxCnwgI2Rl ZmluZSBIQVZFX1VOU0lHTkVEX0xPTkdfTE9OR19JTlQgMQp8ICNkZWZpbmUgSEFWRV9MT05HX0xP TkdfSU5UIDEKfCAjZGVmaW5lIHJlc3RyaWN0IF9fcmVzdHJpY3QKfCAjZGVmaW5lIHBnX3Jlc3Ry aWN0IF9fcmVzdHJpY3QKfCAjZGVmaW5lIEhBVkVfU1RSVUNUX09QVElPTiAxCnwgI2RlZmluZSBT SVpFT0ZfT0ZGX1QgNAp8ICNkZWZpbmUgU0laRU9GX0JPT0wgMQp8ICNkZWZpbmUgSEFWRV9JTlRf VElNRVpPTkUgMQp8IC8qIGVuZCBjb25mZGVmcy5oLiAgKi8KfCAjaW5jbHVkZSA8c3lzL3R5cGVz Lmg+CnwgI2luY2x1ZGUgPHN5cy9zb2NrZXQuaD4KfCBleHRlcm4gaW50IGFjY2VwdCAodW5zaWdu ZWQgaW50LCBzdHJ1Y3Qgc29ja2FkZHIgKiwgaW50ICopOwpjb25maWd1cmU6MTQ3OTE6IHg4Nl82 NC13NjQtbWluZ3czMi1nY2MgLWMgLVdhbGwgLVdtaXNzaW5nLXByb3RvdHlwZXMgLVdwb2ludGVy LWFyaXRoIC1XZGVjbGFyYXRpb24tYWZ0ZXItc3RhdGVtZW50IC1XZW5kaWYtbGFiZWxzIC1XbWlz c2luZy1mb3JtYXQtYXR0cmlidXRlIC1XZm9ybWF0LXNlY3VyaXR5IC1mbm8tc3RyaWN0LWFsaWFz aW5nIC1md3JhcHYgLWZleGNlc3MtcHJlY2lzaW9uPXN0YW5kYXJkIC1Xbm8tZm9ybWF0LXRydW5j YXRpb24gLVduby1zdHJpbmdvcC10cnVuY2F0aW9uIC1nIC1PIC1mbm8tb21pdC1mcmFtZS1wb2lu dGVyICAtSS93L1ItMy41Ll8vcG9zdGdyZXMvc3JjL2luY2x1ZGUvcG9ydC93aW4zMiAtREVYRUNf QkFDS0VORCAgLUkvdy96bGliLTEuMi44LXdpbjMyLXg4Nl82NC9pbmNsdWRlIC1JL3cvb3BlbnNz bC0xLjAuMmUtd2luMzIteDg2XzY0L2luY2x1ZGUgLUkvdy9saWJ4bWwyLTIuOS4zLXdpbjMyLXg4 Nl82NC9pbmNsdWRlL2xpYnhtbDIgLUkvdy9saWJ4c2x0LTEuMS4yOC13aW4zMi14ODZfNjQvaW5j bHVkZSBjb25mdGVzdC5jID4mNQpjb25mdGVzdC5jOjc5OjEyOiBlcnJvcjogY29uZmxpY3Rpbmcg dHlwZXMgZm9yICdhY2NlcHQnCiBleHRlcm4gaW50IGFjY2VwdCAodW5zaWduZWQgaW50LCBzdHJ1 Y3Qgc29ja2FkZHIgKiwgc2l6ZV90ICopOwogICAgICAgICAgICBefn5+fn4KSW4gZmlsZSBpbmNs dWRlZCBmcm9tIFc6L1ItMy41Ll8vcG9zdGdyZXMvc3JjL2luY2x1ZGUvcG9ydC93aW4zMi9zeXMv c29ja2V0Lmg6MTQsCiAgICAgICAgICAgICAgICAgZnJvbSBjb25mdGVzdC5jOjc4OgpDOi9tc3lz NjQvbWluZ3c2NC94ODZfNjQtdzY0LW1pbmd3MzIvaW5jbHVkZS93aW5zb2NrMi5oOjk3MzozNzog bm90ZTogcHJldmlvdXMgZGVjbGFyYXRpb24gb2YgJ2FjY2VwdCcgd2FzIGhlcmUKICAgV0lOU09D S19BUElfTElOS0FHRSBTT0NLRVQgV1NBQVBJIGFjY2VwdChTT0NLRVQgcyxzdHJ1Y3Qgc29ja2Fk ZHIgKmFkZHIsaW50ICphZGRybGVuKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIF5+fn5+fgpjb25maWd1cmU6MTQ3OTE6ICQ/ID0gMQpjb25maWd1cmU6IGZhaWxlZCBwcm9n cmFtIHdhczoKfCAvKiBjb25mZGVmcy5oICovCnwgI2RlZmluZSBQQUNLQUdFX05BTUUgIlBvc3Rn cmVTUUwiCnwgI2RlZmluZSBQQUNLQUdFX1RBUk5BTUUgInBvc3RncmVzcWwiCnwgI2RlZmluZSBQ QUNLQUdFX1ZFUlNJT04gIjExYmV0YTMiCnwgI2RlZmluZSBQQUNLQUdFX1NUUklORyAiUG9zdGdy ZVNRTCAxMWJldGEzIgp8ICNkZWZpbmUgUEFDS0FHRV9CVUdSRVBPUlQgInBnc3FsLWJ1Z3NAcG9z dGdyZXNxbC5vcmciCnwgI2RlZmluZSBQQUNLQUdFX1VSTCAiIgp8ICNkZWZpbmUgUEdfTUFKT1JW RVJTSU9OICIxMSIKfCAjZGVmaW5lIFBHX1ZFUlNJT04gIjExYmV0YTMiCnwgI2RlZmluZSBERUZf UEdQT1JUIDU0MzIKfCAjZGVmaW5lIERFRl9QR1BPUlRfU1RSICI1NDMyIgp8ICNkZWZpbmUgQkxD S1NaIDgxOTIKfCAjZGVmaW5lIFJFTFNFR19TSVpFIDEzMTA3Mgp8ICNkZWZpbmUgWExPR19CTENL U1ogODE5Mgp8ICNkZWZpbmUgVVNFX0FTU0VSVF9DSEVDS0lORyAxCnwgI2RlZmluZSBFTkFCTEVf VEhSRUFEX1NBRkVUWSAxCnwgI2RlZmluZSBVU0VfSUNVIDEKfCAjZGVmaW5lIFBHX0tSQl9TUlZO QU0gInBvc3RncmVzIgp8ICNkZWZpbmUgVVNFX09QRU5TU0wgMQp8ICNkZWZpbmUgVVNFX0xJQlhN TCAxCnwgI2RlZmluZSBVU0VfTElCWFNMVCAxCnwgI2RlZmluZSBTVERDX0hFQURFUlMgMQp8ICNk ZWZpbmUgSEFWRV9TWVNfVFlQRVNfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19TVEFUX0ggMQp8ICNk ZWZpbmUgSEFWRV9TVERMSUJfSCAxCnwgI2RlZmluZSBIQVZFX1NUUklOR19IIDEKfCAjZGVmaW5l IEhBVkVfTUVNT1JZX0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJJTkdTX0ggMQp8ICNkZWZpbmUgSEFW RV9JTlRUWVBFU19IIDEKfCAjZGVmaW5lIEhBVkVfU1RESU5UX0ggMQp8ICNkZWZpbmUgSEFWRV9V TklTVERfSCAxCnwgI2RlZmluZSBIQVZFX0xJQk0gMQp8ICNkZWZpbmUgSEFWRV9MSUJaIDEKfCAj ZGVmaW5lIEhBVkVfU1BJTkxPQ0tTIDEKfCAjZGVmaW5lIEhBVkVfQVRPTUlDUyAxCnwgI2RlZmlu ZSBIQVZFX1NTTF9HRVRfQ1VSUkVOVF9DT01QUkVTU0lPTiAxCnwgI2RlZmluZSBIQVZFX1g1MDlf R0VUX1NJR05BVFVSRV9OSUQgMQp8ICNkZWZpbmUgSEFWRV9DUllQVE9fTE9DSyAxCnwgI2RlZmlu ZSBIQVZFX0xJQlhNTDIgMQp8ICNkZWZpbmUgSEFWRV9MSUJYU0xUIDEKfCAjZGVmaW5lIEhBVkVf X0JPT0wgMQp8ICNkZWZpbmUgSEFWRV9TVERCT09MX0ggMQp8ICNkZWZpbmUgSEFWRV9HRVRPUFRf SCAxCnwgI2RlZmluZSBIQVZFX0lFRUVGUF9IIDEKfCAjZGVmaW5lIEhBVkVfVVRJTUVfSCAxCnwg I2RlZmluZSBIQVZFX1dDSEFSX0ggMQp8ICNkZWZpbmUgSEFWRV9XQ1RZUEVfSCAxCnwgI2RlZmlu ZSBIQVZFX0NSVERFRlNfSCAxCnwgI2RlZmluZSBQR19QUklOVEZfQVRUUklCVVRFIGdudV9wcmlu dGYKfCAjZGVmaW5lIEZMRVhJQkxFX0FSUkFZX01FTUJFUiAvKiovCnwgI2RlZmluZSBIQVZFX0ZV TkNOQU1FX19GVU5DIDEKfCAjZGVmaW5lIEhBVkVfX1NUQVRJQ19BU1NFUlQgMQp8ICNkZWZpbmUg SEFWRV9UWVBFT0YgMQp8ICNkZWZpbmUgSEFWRV9fQlVJTFRJTl9UWVBFU19DT01QQVRJQkxFX1Ag MQp8ICNkZWZpbmUgSEFWRV9fQlVJTFRJTl9CU1dBUDE2IDEKfCAjZGVmaW5lIEhBVkVfX0JVSUxU SU5fQlNXQVAzMiAxCnwgI2RlZmluZSBIQVZFX19CVUlMVElOX0JTV0FQNjQgMQp8ICNkZWZpbmUg SEFWRV9fQlVJTFRJTl9DT05TVEFOVF9QIDEKfCAjZGVmaW5lIEhBVkVfX0JVSUxUSU5fVU5SRUFD SEFCTEUgMQp8ICNkZWZpbmUgSEFWRV9DT01QVVRFRF9HT1RPIDEKfCAjZGVmaW5lIEhBVkVfX1ZB X0FSR1MgMQp8ICNkZWZpbmUgSEFWRV9UWk5BTUUgMQp8ICNkZWZpbmUgSEFWRV9TVFJVQ1RfU09D S0FERFJfU1RPUkFHRSAxCnwgI2RlZmluZSBIQVZFX1NUUlVDVF9TT0NLQUREUl9TVE9SQUdFX1NT X0ZBTUlMWSAxCnwgI2RlZmluZSBIQVZFX1NUUlVDVF9BRERSSU5GTyAxCnwgI2RlZmluZSBIQVZF X0lOVFBUUl9UIDEKfCAjZGVmaW5lIEhBVkVfVUlOVFBUUl9UIDEKfCAjZGVmaW5lIEhBVkVfVU5T SUdORURfTE9OR19MT05HX0lOVCAxCnwgI2RlZmluZSBIQVZFX0xPTkdfTE9OR19JTlQgMQp8ICNk ZWZpbmUgcmVzdHJpY3QgX19yZXN0cmljdAp8ICNkZWZpbmUgcGdfcmVzdHJpY3QgX19yZXN0cmlj dAp8ICNkZWZpbmUgSEFWRV9TVFJVQ1RfT1BUSU9OIDEKfCAjZGVmaW5lIFNJWkVPRl9PRkZfVCA0 CnwgI2RlZmluZSBTSVpFT0ZfQk9PTCAxCnwgI2RlZmluZSBIQVZFX0lOVF9USU1FWk9ORSAxCnwg LyogZW5kIGNvbmZkZWZzLmguICAqLwp8ICNpbmNsdWRlIDxzeXMvdHlwZXMuaD4KfCAjaW5jbHVk ZSA8c3lzL3NvY2tldC5oPgp8IGV4dGVybiBpbnQgYWNjZXB0ICh1bnNpZ25lZCBpbnQsIHN0cnVj dCBzb2NrYWRkciAqLCBzaXplX3QgKik7CmNvbmZpZ3VyZToxNDc5MTogeDg2XzY0LXc2NC1taW5n dzMyLWdjYyAtYyAtV2FsbCAtV21pc3NpbmctcHJvdG90eXBlcyAtV3BvaW50ZXItYXJpdGggLVdk ZWNsYXJhdGlvbi1hZnRlci1zdGF0ZW1lbnQgLVdlbmRpZi1sYWJlbHMgLVdtaXNzaW5nLWZvcm1h dC1hdHRyaWJ1dGUgLVdmb3JtYXQtc2VjdXJpdHkgLWZuby1zdHJpY3QtYWxpYXNpbmcgLWZ3cmFw diAtZmV4Y2Vzcy1wcmVjaXNpb249c3RhbmRhcmQgLVduby1mb3JtYXQtdHJ1bmNhdGlvbiAtV25v LXN0cmluZ29wLXRydW5jYXRpb24gLWcgLU8gLWZuby1vbWl0LWZyYW1lLXBvaW50ZXIgIC1JL3cv Ui0zLjUuXy9wb3N0Z3Jlcy9zcmMvaW5jbHVkZS9wb3J0L3dpbjMyIC1ERVhFQ19CQUNLRU5EICAt SS93L3psaWItMS4yLjgtd2luMzIteDg2XzY0L2luY2x1ZGUgLUkvdy9vcGVuc3NsLTEuMC4yZS13 aW4zMi14ODZfNjQvaW5jbHVkZSAtSS93L2xpYnhtbDItMi45LjMtd2luMzIteDg2XzY0L2luY2x1 ZGUvbGlieG1sMiAtSS93L2xpYnhzbHQtMS4xLjI4LXdpbjMyLXg4Nl82NC9pbmNsdWRlIGNvbmZ0 ZXN0LmMgPiY1CmNvbmZ0ZXN0LmM6Nzk6MTI6IGVycm9yOiBjb25mbGljdGluZyB0eXBlcyBmb3Ig J2FjY2VwdCcKIGV4dGVybiBpbnQgYWNjZXB0ICh1bnNpZ25lZCBpbnQsIHN0cnVjdCBzb2NrYWRk ciAqLCBzb2NrbGVuX3QgKik7CiAgICAgICAgICAgIF5+fn5+fgpJbiBmaWxlIGluY2x1ZGVkIGZy b20gVzovUi0zLjUuXy9wb3N0Z3Jlcy9zcmMvaW5jbHVkZS9wb3J0L3dpbjMyL3N5cy9zb2NrZXQu aDoxNCwKICAgICAgICAgICAgICAgICBmcm9tIGNvbmZ0ZXN0LmM6Nzg6CkM6L21zeXM2NC9taW5n dzY0L3g4Nl82NC13NjQtbWluZ3czMi9pbmNsdWRlL3dpbnNvY2syLmg6OTczOjM3OiBub3RlOiBw cmV2aW91cyBkZWNsYXJhdGlvbiBvZiAnYWNjZXB0JyB3YXMgaGVyZQogICBXSU5TT0NLX0FQSV9M SU5LQUdFIFNPQ0tFVCBXU0FBUEkgYWNjZXB0KFNPQ0tFVCBzLHN0cnVjdCBzb2NrYWRkciAqYWRk cixpbnQgKmFkZHJsZW4pOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXn5+ fn5+CmNvbmZpZ3VyZToxNDc5MTogJD8gPSAxCmNvbmZpZ3VyZTogZmFpbGVkIHByb2dyYW0gd2Fz Ogp8IC8qIGNvbmZkZWZzLmggKi8KfCAjZGVmaW5lIFBBQ0tBR0VfTkFNRSAiUG9zdGdyZVNRTCIK fCAjZGVmaW5lIFBBQ0tBR0VfVEFSTkFNRSAicG9zdGdyZXNxbCIKfCAjZGVmaW5lIFBBQ0tBR0Vf VkVSU0lPTiAiMTFiZXRhMyIKfCAjZGVmaW5lIFBBQ0tBR0VfU1RSSU5HICJQb3N0Z3JlU1FMIDEx YmV0YTMiCnwgI2RlZmluZSBQQUNLQUdFX0JVR1JFUE9SVCAicGdzcWwtYnVnc0Bwb3N0Z3Jlc3Fs Lm9yZyIKfCAjZGVmaW5lIFBBQ0tBR0VfVVJMICIiCnwgI2RlZmluZSBQR19NQUpPUlZFUlNJT04g IjExIgp8ICNkZWZpbmUgUEdfVkVSU0lPTiAiMTFiZXRhMyIKfCAjZGVmaW5lIERFRl9QR1BPUlQg NTQzMgp8ICNkZWZpbmUgREVGX1BHUE9SVF9TVFIgIjU0MzIiCnwgI2RlZmluZSBCTENLU1ogODE5 Mgp8ICNkZWZpbmUgUkVMU0VHX1NJWkUgMTMxMDcyCnwgI2RlZmluZSBYTE9HX0JMQ0tTWiA4MTky CnwgI2RlZmluZSBVU0VfQVNTRVJUX0NIRUNLSU5HIDEKfCAjZGVmaW5lIEVOQUJMRV9USFJFQURf U0FGRVRZIDEKfCAjZGVmaW5lIFVTRV9JQ1UgMQp8ICNkZWZpbmUgUEdfS1JCX1NSVk5BTSAicG9z dGdyZXMiCnwgI2RlZmluZSBVU0VfT1BFTlNTTCAxCnwgI2RlZmluZSBVU0VfTElCWE1MIDEKfCAj ZGVmaW5lIFVTRV9MSUJYU0xUIDEKfCAjZGVmaW5lIFNURENfSEVBREVSUyAxCnwgI2RlZmluZSBI QVZFX1NZU19UWVBFU19IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NUQVRfSCAxCnwgI2RlZmluZSBI QVZFX1NURExJQl9IIDEKfCAjZGVmaW5lIEhBVkVfU1RSSU5HX0ggMQp8ICNkZWZpbmUgSEFWRV9N RU1PUllfSCAxCnwgI2RlZmluZSBIQVZFX1NUUklOR1NfSCAxCnwgI2RlZmluZSBIQVZFX0lOVFRZ UEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERJTlRfSCAxCnwgI2RlZmluZSBIQVZFX1VOSVNURF9I IDEKfCAjZGVmaW5lIEhBVkVfTElCTSAxCnwgI2RlZmluZSBIQVZFX0xJQlogMQp8ICNkZWZpbmUg SEFWRV9TUElOTE9DS1MgMQp8ICNkZWZpbmUgSEFWRV9BVE9NSUNTIDEKfCAjZGVmaW5lIEhBVkVf U1NMX0dFVF9DVVJSRU5UX0NPTVBSRVNTSU9OIDEKfCAjZGVmaW5lIEhBVkVfWDUwOV9HRVRfU0lH TkFUVVJFX05JRCAxCnwgI2RlZmluZSBIQVZFX0NSWVBUT19MT0NLIDEKfCAjZGVmaW5lIEhBVkVf TElCWE1MMiAxCnwgI2RlZmluZSBIQVZFX0xJQlhTTFQgMQp8ICNkZWZpbmUgSEFWRV9fQk9PTCAx CnwgI2RlZmluZSBIQVZFX1NUREJPT0xfSCAxCnwgI2RlZmluZSBIQVZFX0dFVE9QVF9IIDEKfCAj ZGVmaW5lIEhBVkVfSUVFRUZQX0ggMQp8ICNkZWZpbmUgSEFWRV9VVElNRV9IIDEKfCAjZGVmaW5l IEhBVkVfV0NIQVJfSCAxCnwgI2RlZmluZSBIQVZFX1dDVFlQRV9IIDEKfCAjZGVmaW5lIEhBVkVf Q1JUREVGU19IIDEKfCAjZGVmaW5lIFBHX1BSSU5URl9BVFRSSUJVVEUgZ251X3ByaW50Zgp8ICNk ZWZpbmUgRkxFWElCTEVfQVJSQVlfTUVNQkVSIC8qKi8KfCAjZGVmaW5lIEhBVkVfRlVOQ05BTUVf X0ZVTkMgMQp8ICNkZWZpbmUgSEFWRV9fU1RBVElDX0FTU0VSVCAxCnwgI2RlZmluZSBIQVZFX1RZ UEVPRiAxCnwgI2RlZmluZSBIQVZFX19CVUlMVElOX1RZUEVTX0NPTVBBVElCTEVfUCAxCnwgI2Rl ZmluZSBIQVZFX19CVUlMVElOX0JTV0FQMTYgMQp8ICNkZWZpbmUgSEFWRV9fQlVJTFRJTl9CU1dB UDMyIDEKfCAjZGVmaW5lIEhBVkVfX0JVSUxUSU5fQlNXQVA2NCAxCnwgI2RlZmluZSBIQVZFX19C VUlMVElOX0NPTlNUQU5UX1AgMQp8ICNkZWZpbmUgSEFWRV9fQlVJTFRJTl9VTlJFQUNIQUJMRSAx CnwgI2RlZmluZSBIQVZFX0NPTVBVVEVEX0dPVE8gMQp8ICNkZWZpbmUgSEFWRV9fVkFfQVJHUyAx CnwgI2RlZmluZSBIQVZFX1RaTkFNRSAxCnwgI2RlZmluZSBIQVZFX1NUUlVDVF9TT0NLQUREUl9T VE9SQUdFIDEKfCAjZGVmaW5lIEhBVkVfU1RSVUNUX1NPQ0tBRERSX1NUT1JBR0VfU1NfRkFNSUxZ IDEKfCAjZGVmaW5lIEhBVkVfU1RSVUNUX0FERFJJTkZPIDEKfCAjZGVmaW5lIEhBVkVfSU5UUFRS X1QgMQp8ICNkZWZpbmUgSEFWRV9VSU5UUFRSX1QgMQp8ICNkZWZpbmUgSEFWRV9VTlNJR05FRF9M T05HX0xPTkdfSU5UIDEKfCAjZGVmaW5lIEhBVkVfTE9OR19MT05HX0lOVCAxCnwgI2RlZmluZSBy ZXN0cmljdCBfX3Jlc3RyaWN0CnwgI2RlZmluZSBwZ19yZXN0cmljdCBfX3Jlc3RyaWN0CnwgI2Rl ZmluZSBIQVZFX1NUUlVDVF9PUFRJT04gMQp8ICNkZWZpbmUgU0laRU9GX09GRl9UIDQKfCAjZGVm aW5lIFNJWkVPRl9CT09MIDEKfCAjZGVmaW5lIEhBVkVfSU5UX1RJTUVaT05FIDEKfCAvKiBlbmQg Y29uZmRlZnMuaC4gICovCnwgI2luY2x1ZGUgPHN5cy90eXBlcy5oPgp8ICNpbmNsdWRlIDxzeXMv c29ja2V0Lmg+CnwgZXh0ZXJuIGludCBhY2NlcHQgKHVuc2lnbmVkIGludCwgc3RydWN0IHNvY2th ZGRyICosIHNvY2tsZW5fdCAqKTsKY29uZmlndXJlOjE0NzkxOiB4ODZfNjQtdzY0LW1pbmd3MzIt Z2NjIC1jIC1XYWxsIC1XbWlzc2luZy1wcm90b3R5cGVzIC1XcG9pbnRlci1hcml0aCAtV2RlY2xh cmF0aW9uLWFmdGVyLXN0YXRlbWVudCAtV2VuZGlmLWxhYmVscyAtV21pc3NpbmctZm9ybWF0LWF0 dHJpYnV0ZSAtV2Zvcm1hdC1zZWN1cml0eSAtZm5vLXN0cmljdC1hbGlhc2luZyAtZndyYXB2IC1m ZXhjZXNzLXByZWNpc2lvbj1zdGFuZGFyZCAtV25vLWZvcm1hdC10cnVuY2F0aW9uIC1Xbm8tc3Ry aW5nb3AtdHJ1bmNhdGlvbiAtZyAtTyAtZm5vLW9taXQtZnJhbWUtcG9pbnRlciAgLUkvdy9SLTMu NS5fL3Bvc3RncmVzL3NyYy9pbmNsdWRlL3BvcnQvd2luMzIgLURFWEVDX0JBQ0tFTkQgIC1JL3cv emxpYi0xLjIuOC13aW4zMi14ODZfNjQvaW5jbHVkZSAtSS93L29wZW5zc2wtMS4wLjJlLXdpbjMy LXg4Nl82NC9pbmNsdWRlIC1JL3cvbGlieG1sMi0yLjkuMy13aW4zMi14ODZfNjQvaW5jbHVkZS9s aWJ4bWwyIC1JL3cvbGlieHNsdC0xLjEuMjgtd2luMzIteDg2XzY0L2luY2x1ZGUgY29uZnRlc3Qu YyA+JjUKY29uZnRlc3QuYzo3OToxMjogZXJyb3I6IGNvbmZsaWN0aW5nIHR5cGVzIGZvciAnYWNj ZXB0JwogZXh0ZXJuIGludCBhY2NlcHQgKHVuc2lnbmVkIGludCwgc3RydWN0IHNvY2thZGRyICos IHVuc2lnbmVkIGludCAqKTsKICAgICAgICAgICAgXn5+fn5+CkluIGZpbGUgaW5jbHVkZWQgZnJv bSBXOi9SLTMuNS5fL3Bvc3RncmVzL3NyYy9pbmNsdWRlL3BvcnQvd2luMzIvc3lzL3NvY2tldC5o OjE0LAogICAgICAgICAgICAgICAgIGZyb20gY29uZnRlc3QuYzo3ODoKQzovbXN5czY0L21pbmd3 NjQveDg2XzY0LXc2NC1taW5ndzMyL2luY2x1ZGUvd2luc29jazIuaDo5NzM6Mzc6IG5vdGU6IHBy ZXZpb3VzIGRlY2xhcmF0aW9uIG9mICdhY2NlcHQnIHdhcyBoZXJlCiAgIFdJTlNPQ0tfQVBJX0xJ TktBR0UgU09DS0VUIFdTQUFQSSBhY2NlcHQoU09DS0VUIHMsc3RydWN0IHNvY2thZGRyICphZGRy LGludCAqYWRkcmxlbik7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBefn5+ fn4KY29uZmlndXJlOjE0NzkxOiAkPyA9IDEKY29uZmlndXJlOiBmYWlsZWQgcHJvZ3JhbSB3YXM6 CnwgLyogY29uZmRlZnMuaCAqLwp8ICNkZWZpbmUgUEFDS0FHRV9OQU1FICJQb3N0Z3JlU1FMIgp8 ICNkZWZpbmUgUEFDS0FHRV9UQVJOQU1FICJwb3N0Z3Jlc3FsIgp8ICNkZWZpbmUgUEFDS0FHRV9W RVJTSU9OICIxMWJldGEzIgp8ICNkZWZpbmUgUEFDS0FHRV9TVFJJTkcgIlBvc3RncmVTUUwgMTFi ZXRhMyIKfCAjZGVmaW5lIFBBQ0tBR0VfQlVHUkVQT1JUICJwZ3NxbC1idWdzQHBvc3RncmVzcWwu b3JnIgp8ICNkZWZpbmUgUEFDS0FHRV9VUkwgIiIKfCAjZGVmaW5lIFBHX01BSk9SVkVSU0lPTiAi MTEiCnwgI2RlZmluZSBQR19WRVJTSU9OICIxMWJldGEzIgp8ICNkZWZpbmUgREVGX1BHUE9SVCA1 NDMyCnwgI2RlZmluZSBERUZfUEdQT1JUX1NUUiAiNTQzMiIKfCAjZGVmaW5lIEJMQ0tTWiA4MTky CnwgI2RlZmluZSBSRUxTRUdfU0laRSAxMzEwNzIKfCAjZGVmaW5lIFhMT0dfQkxDS1NaIDgxOTIK fCAjZGVmaW5lIFVTRV9BU1NFUlRfQ0hFQ0tJTkcgMQp8ICNkZWZpbmUgRU5BQkxFX1RIUkVBRF9T QUZFVFkgMQp8ICNkZWZpbmUgVVNFX0lDVSAxCnwgI2RlZmluZSBQR19LUkJfU1JWTkFNICJwb3N0 Z3JlcyIKfCAjZGVmaW5lIFVTRV9PUEVOU1NMIDEKfCAjZGVmaW5lIFVTRV9MSUJYTUwgMQp8ICNk ZWZpbmUgVVNFX0xJQlhTTFQgMQp8ICNkZWZpbmUgU1REQ19IRUFERVJTIDEKfCAjZGVmaW5lIEhB VkVfU1lTX1RZUEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfU1RBVF9IIDEKfCAjZGVmaW5lIEhB VkVfU1RETElCX0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJJTkdfSCAxCnwgI2RlZmluZSBIQVZFX01F TU9SWV9IIDEKfCAjZGVmaW5lIEhBVkVfU1RSSU5HU19IIDEKfCAjZGVmaW5lIEhBVkVfSU5UVFlQ RVNfSCAxCnwgI2RlZmluZSBIQVZFX1NURElOVF9IIDEKfCAjZGVmaW5lIEhBVkVfVU5JU1REX0gg MQp8ICNkZWZpbmUgSEFWRV9MSUJNIDEKfCAjZGVmaW5lIEhBVkVfTElCWiAxCnwgI2RlZmluZSBI QVZFX1NQSU5MT0NLUyAxCnwgI2RlZmluZSBIQVZFX0FUT01JQ1MgMQp8ICNkZWZpbmUgSEFWRV9T U0xfR0VUX0NVUlJFTlRfQ09NUFJFU1NJT04gMQp8ICNkZWZpbmUgSEFWRV9YNTA5X0dFVF9TSUdO QVRVUkVfTklEIDEKfCAjZGVmaW5lIEhBVkVfQ1JZUFRPX0xPQ0sgMQp8ICNkZWZpbmUgSEFWRV9M SUJYTUwyIDEKfCAjZGVmaW5lIEhBVkVfTElCWFNMVCAxCnwgI2RlZmluZSBIQVZFX19CT09MIDEK fCAjZGVmaW5lIEhBVkVfU1REQk9PTF9IIDEKfCAjZGVmaW5lIEhBVkVfR0VUT1BUX0ggMQp8ICNk ZWZpbmUgSEFWRV9JRUVFRlBfSCAxCnwgI2RlZmluZSBIQVZFX1VUSU1FX0ggMQp8ICNkZWZpbmUg SEFWRV9XQ0hBUl9IIDEKfCAjZGVmaW5lIEhBVkVfV0NUWVBFX0ggMQp8ICNkZWZpbmUgSEFWRV9D UlRERUZTX0ggMQp8ICNkZWZpbmUgUEdfUFJJTlRGX0FUVFJJQlVURSBnbnVfcHJpbnRmCnwgI2Rl ZmluZSBGTEVYSUJMRV9BUlJBWV9NRU1CRVIgLyoqLwp8ICNkZWZpbmUgSEFWRV9GVU5DTkFNRV9f RlVOQyAxCnwgI2RlZmluZSBIQVZFX19TVEFUSUNfQVNTRVJUIDEKfCAjZGVmaW5lIEhBVkVfVFlQ RU9GIDEKfCAjZGVmaW5lIEhBVkVfX0JVSUxUSU5fVFlQRVNfQ09NUEFUSUJMRV9QIDEKfCAjZGVm aW5lIEhBVkVfX0JVSUxUSU5fQlNXQVAxNiAxCnwgI2RlZmluZSBIQVZFX19CVUlMVElOX0JTV0FQ MzIgMQp8ICNkZWZpbmUgSEFWRV9fQlVJTFRJTl9CU1dBUDY0IDEKfCAjZGVmaW5lIEhBVkVfX0JV SUxUSU5fQ09OU1RBTlRfUCAxCnwgI2RlZmluZSBIQVZFX19CVUlMVElOX1VOUkVBQ0hBQkxFIDEK fCAjZGVmaW5lIEhBVkVfQ09NUFVURURfR09UTyAxCnwgI2RlZmluZSBIQVZFX19WQV9BUkdTIDEK fCAjZGVmaW5lIEhBVkVfVFpOQU1FIDEKfCAjZGVmaW5lIEhBVkVfU1RSVUNUX1NPQ0tBRERSX1NU T1JBR0UgMQp8ICNkZWZpbmUgSEFWRV9TVFJVQ1RfU09DS0FERFJfU1RPUkFHRV9TU19GQU1JTFkg MQp8ICNkZWZpbmUgSEFWRV9TVFJVQ1RfQUREUklORk8gMQp8ICNkZWZpbmUgSEFWRV9JTlRQVFJf VCAxCnwgI2RlZmluZSBIQVZFX1VJTlRQVFJfVCAxCnwgI2RlZmluZSBIQVZFX1VOU0lHTkVEX0xP TkdfTE9OR19JTlQgMQp8ICNkZWZpbmUgSEFWRV9MT05HX0xPTkdfSU5UIDEKfCAjZGVmaW5lIHJl c3RyaWN0IF9fcmVzdHJpY3QKfCAjZGVmaW5lIHBnX3Jlc3RyaWN0IF9fcmVzdHJpY3QKfCAjZGVm aW5lIEhBVkVfU1RSVUNUX09QVElPTiAxCnwgI2RlZmluZSBTSVpFT0ZfT0ZGX1QgNAp8ICNkZWZp bmUgU0laRU9GX0JPT0wgMQp8ICNkZWZpbmUgSEFWRV9JTlRfVElNRVpPTkUgMQp8IC8qIGVuZCBj b25mZGVmcy5oLiAgKi8KfCAjaW5jbHVkZSA8c3lzL3R5cGVzLmg+CnwgI2luY2x1ZGUgPHN5cy9z b2NrZXQuaD4KfCBleHRlcm4gaW50IGFjY2VwdCAodW5zaWduZWQgaW50LCBzdHJ1Y3Qgc29ja2Fk ZHIgKiwgdW5zaWduZWQgaW50ICopOwpjb25maWd1cmU6MTQ3OTE6IHg4Nl82NC13NjQtbWluZ3cz Mi1nY2MgLWMgLVdhbGwgLVdtaXNzaW5nLXByb3RvdHlwZXMgLVdwb2ludGVyLWFyaXRoIC1XZGVj bGFyYXRpb24tYWZ0ZXItc3RhdGVtZW50IC1XZW5kaWYtbGFiZWxzIC1XbWlzc2luZy1mb3JtYXQt YXR0cmlidXRlIC1XZm9ybWF0LXNlY3VyaXR5IC1mbm8tc3RyaWN0LWFsaWFzaW5nIC1md3JhcHYg LWZleGNlc3MtcHJlY2lzaW9uPXN0YW5kYXJkIC1Xbm8tZm9ybWF0LXRydW5jYXRpb24gLVduby1z dHJpbmdvcC10cnVuY2F0aW9uIC1nIC1PIC1mbm8tb21pdC1mcmFtZS1wb2ludGVyICAtSS93L1It My41Ll8vcG9zdGdyZXMvc3JjL2luY2x1ZGUvcG9ydC93aW4zMiAtREVYRUNfQkFDS0VORCAgLUkv dy96bGliLTEuMi44LXdpbjMyLXg4Nl82NC9pbmNsdWRlIC1JL3cvb3BlbnNzbC0xLjAuMmUtd2lu MzIteDg2XzY0L2luY2x1ZGUgLUkvdy9saWJ4bWwyLTIuOS4zLXdpbjMyLXg4Nl82NC9pbmNsdWRl L2xpYnhtbDIgLUkvdy9saWJ4c2x0LTEuMS4yOC13aW4zMi14ODZfNjQvaW5jbHVkZSBjb25mdGVz dC5jID4mNQpjb25mdGVzdC5jOjc5OjEyOiBlcnJvcjogY29uZmxpY3RpbmcgdHlwZXMgZm9yICdh Y2NlcHQnCiBleHRlcm4gaW50IGFjY2VwdCAodW5zaWduZWQgaW50LCBzdHJ1Y3Qgc29ja2FkZHIg Kiwgdm9pZCAqKTsKICAgICAgICAgICAgXn5+fn5+CkluIGZpbGUgaW5jbHVkZWQgZnJvbSBXOi9S LTMuNS5fL3Bvc3RncmVzL3NyYy9pbmNsdWRlL3BvcnQvd2luMzIvc3lzL3NvY2tldC5oOjE0LAog ICAgICAgICAgICAgICAgIGZyb20gY29uZnRlc3QuYzo3ODoKQzovbXN5czY0L21pbmd3NjQveDg2 XzY0LXc2NC1taW5ndzMyL2luY2x1ZGUvd2luc29jazIuaDo5NzM6Mzc6IG5vdGU6IHByZXZpb3Vz IGRlY2xhcmF0aW9uIG9mICdhY2NlcHQnIHdhcyBoZXJlCiAgIFdJTlNPQ0tfQVBJX0xJTktBR0Ug U09DS0VUIFdTQUFQSSBhY2NlcHQoU09DS0VUIHMsc3RydWN0IHNvY2thZGRyICphZGRyLGludCAq YWRkcmxlbik7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBefn5+fn4KY29u ZmlndXJlOjE0NzkxOiAkPyA9IDEKY29uZmlndXJlOiBmYWlsZWQgcHJvZ3JhbSB3YXM6CnwgLyog Y29uZmRlZnMuaCAqLwp8ICNkZWZpbmUgUEFDS0FHRV9OQU1FICJQb3N0Z3JlU1FMIgp8ICNkZWZp bmUgUEFDS0FHRV9UQVJOQU1FICJwb3N0Z3Jlc3FsIgp8ICNkZWZpbmUgUEFDS0FHRV9WRVJTSU9O ICIxMWJldGEzIgp8ICNkZWZpbmUgUEFDS0FHRV9TVFJJTkcgIlBvc3RncmVTUUwgMTFiZXRhMyIK fCAjZGVmaW5lIFBBQ0tBR0VfQlVHUkVQT1JUICJwZ3NxbC1idWdzQHBvc3RncmVzcWwub3JnIgp8 ICNkZWZpbmUgUEFDS0FHRV9VUkwgIiIKfCAjZGVmaW5lIFBHX01BSk9SVkVSU0lPTiAiMTEiCnwg I2RlZmluZSBQR19WRVJTSU9OICIxMWJldGEzIgp8ICNkZWZpbmUgREVGX1BHUE9SVCA1NDMyCnwg I2RlZmluZSBERUZfUEdQT1JUX1NUUiAiNTQzMiIKfCAjZGVmaW5lIEJMQ0tTWiA4MTkyCnwgI2Rl ZmluZSBSRUxTRUdfU0laRSAxMzEwNzIKfCAjZGVmaW5lIFhMT0dfQkxDS1NaIDgxOTIKfCAjZGVm aW5lIFVTRV9BU1NFUlRfQ0hFQ0tJTkcgMQp8ICNkZWZpbmUgRU5BQkxFX1RIUkVBRF9TQUZFVFkg MQp8ICNkZWZpbmUgVVNFX0lDVSAxCnwgI2RlZmluZSBQR19LUkJfU1JWTkFNICJwb3N0Z3JlcyIK fCAjZGVmaW5lIFVTRV9PUEVOU1NMIDEKfCAjZGVmaW5lIFVTRV9MSUJYTUwgMQp8ICNkZWZpbmUg VVNFX0xJQlhTTFQgMQp8ICNkZWZpbmUgU1REQ19IRUFERVJTIDEKfCAjZGVmaW5lIEhBVkVfU1lT X1RZUEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfU1RBVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1RE TElCX0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJJTkdfSCAxCnwgI2RlZmluZSBIQVZFX01FTU9SWV9I IDEKfCAjZGVmaW5lIEhBVkVfU1RSSU5HU19IIDEKfCAjZGVmaW5lIEhBVkVfSU5UVFlQRVNfSCAx CnwgI2RlZmluZSBIQVZFX1NURElOVF9IIDEKfCAjZGVmaW5lIEhBVkVfVU5JU1REX0ggMQp8ICNk ZWZpbmUgSEFWRV9MSUJNIDEKfCAjZGVmaW5lIEhBVkVfTElCWiAxCnwgI2RlZmluZSBIQVZFX1NQ SU5MT0NLUyAxCnwgI2RlZmluZSBIQVZFX0FUT01JQ1MgMQp8ICNkZWZpbmUgSEFWRV9TU0xfR0VU X0NVUlJFTlRfQ09NUFJFU1NJT04gMQp8ICNkZWZpbmUgSEFWRV9YNTA5X0dFVF9TSUdOQVRVUkVf TklEIDEKfCAjZGVmaW5lIEhBVkVfQ1JZUFRPX0xPQ0sgMQp8ICNkZWZpbmUgSEFWRV9MSUJYTUwy IDEKfCAjZGVmaW5lIEhBVkVfTElCWFNMVCAxCnwgI2RlZmluZSBIQVZFX19CT09MIDEKfCAjZGVm aW5lIEhBVkVfU1REQk9PTF9IIDEKfCAjZGVmaW5lIEhBVkVfR0VUT1BUX0ggMQp8ICNkZWZpbmUg SEFWRV9JRUVFRlBfSCAxCnwgI2RlZmluZSBIQVZFX1VUSU1FX0ggMQp8ICNkZWZpbmUgSEFWRV9X Q0hBUl9IIDEKfCAjZGVmaW5lIEhBVkVfV0NUWVBFX0ggMQp8ICNkZWZpbmUgSEFWRV9DUlRERUZT X0ggMQp8ICNkZWZpbmUgUEdfUFJJTlRGX0FUVFJJQlVURSBnbnVfcHJpbnRmCnwgI2RlZmluZSBG TEVYSUJMRV9BUlJBWV9NRU1CRVIgLyoqLwp8ICNkZWZpbmUgSEFWRV9GVU5DTkFNRV9fRlVOQyAx CnwgI2RlZmluZSBIQVZFX19TVEFUSUNfQVNTRVJUIDEKfCAjZGVmaW5lIEhBVkVfVFlQRU9GIDEK fCAjZGVmaW5lIEhBVkVfX0JVSUxUSU5fVFlQRVNfQ09NUEFUSUJMRV9QIDEKfCAjZGVmaW5lIEhB VkVfX0JVSUxUSU5fQlNXQVAxNiAxCnwgI2RlZmluZSBIQVZFX19CVUlMVElOX0JTV0FQMzIgMQp8 ICNkZWZpbmUgSEFWRV9fQlVJTFRJTl9CU1dBUDY0IDEKfCAjZGVmaW5lIEhBVkVfX0JVSUxUSU5f Q09OU1RBTlRfUCAxCnwgI2RlZmluZSBIQVZFX19CVUlMVElOX1VOUkVBQ0hBQkxFIDEKfCAjZGVm aW5lIEhBVkVfQ09NUFVURURfR09UTyAxCnwgI2RlZmluZSBIQVZFX19WQV9BUkdTIDEKfCAjZGVm aW5lIEhBVkVfVFpOQU1FIDEKfCAjZGVmaW5lIEhBVkVfU1RSVUNUX1NPQ0tBRERSX1NUT1JBR0Ug MQp8ICNkZWZpbmUgSEFWRV9TVFJVQ1RfU09DS0FERFJfU1RPUkFHRV9TU19GQU1JTFkgMQp8ICNk ZWZpbmUgSEFWRV9TVFJVQ1RfQUREUklORk8gMQp8ICNkZWZpbmUgSEFWRV9JTlRQVFJfVCAxCnwg I2RlZmluZSBIQVZFX1VJTlRQVFJfVCAxCnwgI2RlZmluZSBIQVZFX1VOU0lHTkVEX0xPTkdfTE9O R19JTlQgMQp8ICNkZWZpbmUgSEFWRV9MT05HX0xPTkdfSU5UIDEKfCAjZGVmaW5lIHJlc3RyaWN0 IF9fcmVzdHJpY3QKfCAjZGVmaW5lIHBnX3Jlc3RyaWN0IF9fcmVzdHJpY3QKfCAjZGVmaW5lIEhB VkVfU1RSVUNUX09QVElPTiAxCnwgI2RlZmluZSBTSVpFT0ZfT0ZGX1QgNAp8ICNkZWZpbmUgU0la RU9GX0JPT0wgMQp8ICNkZWZpbmUgSEFWRV9JTlRfVElNRVpPTkUgMQp8IC8qIGVuZCBjb25mZGVm cy5oLiAgKi8KfCAjaW5jbHVkZSA8c3lzL3R5cGVzLmg+CnwgI2luY2x1ZGUgPHN5cy9zb2NrZXQu aD4KfCBleHRlcm4gaW50IGFjY2VwdCAodW5zaWduZWQgaW50LCBzdHJ1Y3Qgc29ja2FkZHIgKiwg dm9pZCAqKTsKY29uZmlndXJlOjE0NzkxOiB4ODZfNjQtdzY0LW1pbmd3MzItZ2NjIC1jIC1XYWxs IC1XbWlzc2luZy1wcm90b3R5cGVzIC1XcG9pbnRlci1hcml0aCAtV2RlY2xhcmF0aW9uLWFmdGVy LXN0YXRlbWVudCAtV2VuZGlmLWxhYmVscyAtV21pc3NpbmctZm9ybWF0LWF0dHJpYnV0ZSAtV2Zv cm1hdC1zZWN1cml0eSAtZm5vLXN0cmljdC1hbGlhc2luZyAtZndyYXB2IC1mZXhjZXNzLXByZWNp c2lvbj1zdGFuZGFyZCAtV25vLWZvcm1hdC10cnVuY2F0aW9uIC1Xbm8tc3RyaW5nb3AtdHJ1bmNh dGlvbiAtZyAtTyAtZm5vLW9taXQtZnJhbWUtcG9pbnRlciAgLUkvdy9SLTMuNS5fL3Bvc3RncmVz L3NyYy9pbmNsdWRlL3BvcnQvd2luMzIgLURFWEVDX0JBQ0tFTkQgIC1JL3cvemxpYi0xLjIuOC13 aW4zMi14ODZfNjQvaW5jbHVkZSAtSS93L29wZW5zc2wtMS4wLjJlLXdpbjMyLXg4Nl82NC9pbmNs dWRlIC1JL3cvbGlieG1sMi0yLjkuMy13aW4zMi14ODZfNjQvaW5jbHVkZS9saWJ4bWwyIC1JL3cv bGlieHNsdC0xLjEuMjgtd2luMzIteDg2XzY0L2luY2x1ZGUgY29uZnRlc3QuYyA+JjUKY29uZnRl c3QuYzo3OToxMjogZXJyb3I6IGNvbmZsaWN0aW5nIHR5cGVzIGZvciAnYWNjZXB0JwogZXh0ZXJu IGludCBhY2NlcHQgKHVuc2lnbmVkIGludCwgY29uc3Qgc3RydWN0IHNvY2thZGRyICosIGludCAq KTsKICAgICAgICAgICAgXn5+fn5+CkluIGZpbGUgaW5jbHVkZWQgZnJvbSBXOi9SLTMuNS5fL3Bv c3RncmVzL3NyYy9pbmNsdWRlL3BvcnQvd2luMzIvc3lzL3NvY2tldC5oOjE0LAogICAgICAgICAg ICAgICAgIGZyb20gY29uZnRlc3QuYzo3ODoKQzovbXN5czY0L21pbmd3NjQveDg2XzY0LXc2NC1t aW5ndzMyL2luY2x1ZGUvd2luc29jazIuaDo5NzM6Mzc6IG5vdGU6IHByZXZpb3VzIGRlY2xhcmF0 aW9uIG9mICdhY2NlcHQnIHdhcyBoZXJlCiAgIFdJTlNPQ0tfQVBJX0xJTktBR0UgU09DS0VUIFdT QUFQSSBhY2NlcHQoU09DS0VUIHMsc3RydWN0IHNvY2thZGRyICphZGRyLGludCAqYWRkcmxlbik7 CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBefn5+fn4KY29uZmlndXJlOjE0 NzkxOiAkPyA9IDEKY29uZmlndXJlOiBmYWlsZWQgcHJvZ3JhbSB3YXM6CnwgLyogY29uZmRlZnMu aCAqLwp8ICNkZWZpbmUgUEFDS0FHRV9OQU1FICJQb3N0Z3JlU1FMIgp8ICNkZWZpbmUgUEFDS0FH RV9UQVJOQU1FICJwb3N0Z3Jlc3FsIgp8ICNkZWZpbmUgUEFDS0FHRV9WRVJTSU9OICIxMWJldGEz Igp8ICNkZWZpbmUgUEFDS0FHRV9TVFJJTkcgIlBvc3RncmVTUUwgMTFiZXRhMyIKfCAjZGVmaW5l IFBBQ0tBR0VfQlVHUkVQT1JUICJwZ3NxbC1idWdzQHBvc3RncmVzcWwub3JnIgp8ICNkZWZpbmUg UEFDS0FHRV9VUkwgIiIKfCAjZGVmaW5lIFBHX01BSk9SVkVSU0lPTiAiMTEiCnwgI2RlZmluZSBQ R19WRVJTSU9OICIxMWJldGEzIgp8ICNkZWZpbmUgREVGX1BHUE9SVCA1NDMyCnwgI2RlZmluZSBE RUZfUEdQT1JUX1NUUiAiNTQzMiIKfCAjZGVmaW5lIEJMQ0tTWiA4MTkyCnwgI2RlZmluZSBSRUxT RUdfU0laRSAxMzEwNzIKfCAjZGVmaW5lIFhMT0dfQkxDS1NaIDgxOTIKfCAjZGVmaW5lIFVTRV9B U1NFUlRfQ0hFQ0tJTkcgMQp8ICNkZWZpbmUgRU5BQkxFX1RIUkVBRF9TQUZFVFkgMQp8ICNkZWZp bmUgVVNFX0lDVSAxCnwgI2RlZmluZSBQR19LUkJfU1JWTkFNICJwb3N0Z3JlcyIKfCAjZGVmaW5l IFVTRV9PUEVOU1NMIDEKfCAjZGVmaW5lIFVTRV9MSUJYTUwgMQp8ICNkZWZpbmUgVVNFX0xJQlhT TFQgMQp8ICNkZWZpbmUgU1REQ19IRUFERVJTIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1RZUEVTX0gg MQp8ICNkZWZpbmUgSEFWRV9TWVNfU1RBVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1RETElCX0ggMQp8 ICNkZWZpbmUgSEFWRV9TVFJJTkdfSCAxCnwgI2RlZmluZSBIQVZFX01FTU9SWV9IIDEKfCAjZGVm aW5lIEhBVkVfU1RSSU5HU19IIDEKfCAjZGVmaW5lIEhBVkVfSU5UVFlQRVNfSCAxCnwgI2RlZmlu ZSBIQVZFX1NURElOVF9IIDEKfCAjZGVmaW5lIEhBVkVfVU5JU1REX0ggMQp8ICNkZWZpbmUgSEFW RV9MSUJNIDEKfCAjZGVmaW5lIEhBVkVfTElCWiAxCnwgI2RlZmluZSBIQVZFX1NQSU5MT0NLUyAx CnwgI2RlZmluZSBIQVZFX0FUT01JQ1MgMQp8ICNkZWZpbmUgSEFWRV9TU0xfR0VUX0NVUlJFTlRf Q09NUFJFU1NJT04gMQp8ICNkZWZpbmUgSEFWRV9YNTA5X0dFVF9TSUdOQVRVUkVfTklEIDEKfCAj ZGVmaW5lIEhBVkVfQ1JZUFRPX0xPQ0sgMQp8ICNkZWZpbmUgSEFWRV9MSUJYTUwyIDEKfCAjZGVm aW5lIEhBVkVfTElCWFNMVCAxCnwgI2RlZmluZSBIQVZFX19CT09MIDEKfCAjZGVmaW5lIEhBVkVf U1REQk9PTF9IIDEKfCAjZGVmaW5lIEhBVkVfR0VUT1BUX0ggMQp8ICNkZWZpbmUgSEFWRV9JRUVF RlBfSCAxCnwgI2RlZmluZSBIQVZFX1VUSU1FX0ggMQp8ICNkZWZpbmUgSEFWRV9XQ0hBUl9IIDEK fCAjZGVmaW5lIEhBVkVfV0NUWVBFX0ggMQp8ICNkZWZpbmUgSEFWRV9DUlRERUZTX0ggMQp8ICNk ZWZpbmUgUEdfUFJJTlRGX0FUVFJJQlVURSBnbnVfcHJpbnRmCnwgI2RlZmluZSBGTEVYSUJMRV9B UlJBWV9NRU1CRVIgLyoqLwp8ICNkZWZpbmUgSEFWRV9GVU5DTkFNRV9fRlVOQyAxCnwgI2RlZmlu ZSBIQVZFX19TVEFUSUNfQVNTRVJUIDEKfCAjZGVmaW5lIEhBVkVfVFlQRU9GIDEKfCAjZGVmaW5l IEhBVkVfX0JVSUxUSU5fVFlQRVNfQ09NUEFUSUJMRV9QIDEKfCAjZGVmaW5lIEhBVkVfX0JVSUxU SU5fQlNXQVAxNiAxCnwgI2RlZmluZSBIQVZFX19CVUlMVElOX0JTV0FQMzIgMQp8ICNkZWZpbmUg SEFWRV9fQlVJTFRJTl9CU1dBUDY0IDEKfCAjZGVmaW5lIEhBVkVfX0JVSUxUSU5fQ09OU1RBTlRf UCAxCnwgI2RlZmluZSBIQVZFX19CVUlMVElOX1VOUkVBQ0hBQkxFIDEKfCAjZGVmaW5lIEhBVkVf Q09NUFVURURfR09UTyAxCnwgI2RlZmluZSBIQVZFX19WQV9BUkdTIDEKfCAjZGVmaW5lIEhBVkVf VFpOQU1FIDEKfCAjZGVmaW5lIEhBVkVfU1RSVUNUX1NPQ0tBRERSX1NUT1JBR0UgMQp8ICNkZWZp bmUgSEFWRV9TVFJVQ1RfU09DS0FERFJfU1RPUkFHRV9TU19GQU1JTFkgMQp8ICNkZWZpbmUgSEFW RV9TVFJVQ1RfQUREUklORk8gMQp8ICNkZWZpbmUgSEFWRV9JTlRQVFJfVCAxCnwgI2RlZmluZSBI QVZFX1VJTlRQVFJfVCAxCnwgI2RlZmluZSBIQVZFX1VOU0lHTkVEX0xPTkdfTE9OR19JTlQgMQp8 ICNkZWZpbmUgSEFWRV9MT05HX0xPTkdfSU5UIDEKfCAjZGVmaW5lIHJlc3RyaWN0IF9fcmVzdHJp Y3QKfCAjZGVmaW5lIHBnX3Jlc3RyaWN0IF9fcmVzdHJpY3QKfCAjZGVmaW5lIEhBVkVfU1RSVUNU X09QVElPTiAxCnwgI2RlZmluZSBTSVpFT0ZfT0ZGX1QgNAp8ICNkZWZpbmUgU0laRU9GX0JPT0wg MQp8ICNkZWZpbmUgSEFWRV9JTlRfVElNRVpPTkUgMQp8IC8qIGVuZCBjb25mZGVmcy5oLiAgKi8K fCAjaW5jbHVkZSA8c3lzL3R5cGVzLmg+CnwgI2luY2x1ZGUgPHN5cy9zb2NrZXQuaD4KfCBleHRl cm4gaW50IGFjY2VwdCAodW5zaWduZWQgaW50LCBjb25zdCBzdHJ1Y3Qgc29ja2FkZHIgKiwgaW50 ICopOwpjb25maWd1cmU6MTQ3OTE6IHg4Nl82NC13NjQtbWluZ3czMi1nY2MgLWMgLVdhbGwgLVdt aXNzaW5nLXByb3RvdHlwZXMgLVdwb2ludGVyLWFyaXRoIC1XZGVjbGFyYXRpb24tYWZ0ZXItc3Rh dGVtZW50IC1XZW5kaWYtbGFiZWxzIC1XbWlzc2luZy1mb3JtYXQtYXR0cmlidXRlIC1XZm9ybWF0 LXNlY3VyaXR5IC1mbm8tc3RyaWN0LWFsaWFzaW5nIC1md3JhcHYgLWZleGNlc3MtcHJlY2lzaW9u PXN0YW5kYXJkIC1Xbm8tZm9ybWF0LXRydW5jYXRpb24gLVduby1zdHJpbmdvcC10cnVuY2F0aW9u IC1nIC1PIC1mbm8tb21pdC1mcmFtZS1wb2ludGVyICAtSS93L1ItMy41Ll8vcG9zdGdyZXMvc3Jj L2luY2x1ZGUvcG9ydC93aW4zMiAtREVYRUNfQkFDS0VORCAgLUkvdy96bGliLTEuMi44LXdpbjMy LXg4Nl82NC9pbmNsdWRlIC1JL3cvb3BlbnNzbC0xLjAuMmUtd2luMzIteDg2XzY0L2luY2x1ZGUg LUkvdy9saWJ4bWwyLTIuOS4zLXdpbjMyLXg4Nl82NC9pbmNsdWRlL2xpYnhtbDIgLUkvdy9saWJ4 c2x0LTEuMS4yOC13aW4zMi14ODZfNjQvaW5jbHVkZSBjb25mdGVzdC5jID4mNQpjb25mdGVzdC5j Ojc5OjEyOiBlcnJvcjogY29uZmxpY3RpbmcgdHlwZXMgZm9yICdhY2NlcHQnCiBleHRlcm4gaW50 IGFjY2VwdCAodW5zaWduZWQgaW50LCBjb25zdCBzdHJ1Y3Qgc29ja2FkZHIgKiwgc2l6ZV90ICop OwogICAgICAgICAgICBefn5+fn4KSW4gZmlsZSBpbmNsdWRlZCBmcm9tIFc6L1ItMy41Ll8vcG9z dGdyZXMvc3JjL2luY2x1ZGUvcG9ydC93aW4zMi9zeXMvc29ja2V0Lmg6MTQsCiAgICAgICAgICAg ICAgICAgZnJvbSBjb25mdGVzdC5jOjc4OgpDOi9tc3lzNjQvbWluZ3c2NC94ODZfNjQtdzY0LW1p bmd3MzIvaW5jbHVkZS93aW5zb2NrMi5oOjk3MzozNzogbm90ZTogcHJldmlvdXMgZGVjbGFyYXRp b24gb2YgJ2FjY2VwdCcgd2FzIGhlcmUKICAgV0lOU09DS19BUElfTElOS0FHRSBTT0NLRVQgV1NB QVBJIGFjY2VwdChTT0NLRVQgcyxzdHJ1Y3Qgc29ja2FkZHIgKmFkZHIsaW50ICphZGRybGVuKTsK ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF5+fn5+fgpjb25maWd1cmU6MTQ3 OTE6ICQ/ID0gMQpjb25maWd1cmU6IGZhaWxlZCBwcm9ncmFtIHdhczoKfCAvKiBjb25mZGVmcy5o ICovCnwgI2RlZmluZSBQQUNLQUdFX05BTUUgIlBvc3RncmVTUUwiCnwgI2RlZmluZSBQQUNLQUdF X1RBUk5BTUUgInBvc3RncmVzcWwiCnwgI2RlZmluZSBQQUNLQUdFX1ZFUlNJT04gIjExYmV0YTMi CnwgI2RlZmluZSBQQUNLQUdFX1NUUklORyAiUG9zdGdyZVNRTCAxMWJldGEzIgp8ICNkZWZpbmUg UEFDS0FHRV9CVUdSRVBPUlQgInBnc3FsLWJ1Z3NAcG9zdGdyZXNxbC5vcmciCnwgI2RlZmluZSBQ QUNLQUdFX1VSTCAiIgp8ICNkZWZpbmUgUEdfTUFKT1JWRVJTSU9OICIxMSIKfCAjZGVmaW5lIFBH X1ZFUlNJT04gIjExYmV0YTMiCnwgI2RlZmluZSBERUZfUEdQT1JUIDU0MzIKfCAjZGVmaW5lIERF Rl9QR1BPUlRfU1RSICI1NDMyIgp8ICNkZWZpbmUgQkxDS1NaIDgxOTIKfCAjZGVmaW5lIFJFTFNF R19TSVpFIDEzMTA3Mgp8ICNkZWZpbmUgWExPR19CTENLU1ogODE5Mgp8ICNkZWZpbmUgVVNFX0FT U0VSVF9DSEVDS0lORyAxCnwgI2RlZmluZSBFTkFCTEVfVEhSRUFEX1NBRkVUWSAxCnwgI2RlZmlu ZSBVU0VfSUNVIDEKfCAjZGVmaW5lIFBHX0tSQl9TUlZOQU0gInBvc3RncmVzIgp8ICNkZWZpbmUg VVNFX09QRU5TU0wgMQp8ICNkZWZpbmUgVVNFX0xJQlhNTCAxCnwgI2RlZmluZSBVU0VfTElCWFNM VCAxCnwgI2RlZmluZSBTVERDX0hFQURFUlMgMQp8ICNkZWZpbmUgSEFWRV9TWVNfVFlQRVNfSCAx CnwgI2RlZmluZSBIQVZFX1NZU19TVEFUX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERMSUJfSCAxCnwg I2RlZmluZSBIQVZFX1NUUklOR19IIDEKfCAjZGVmaW5lIEhBVkVfTUVNT1JZX0ggMQp8ICNkZWZp bmUgSEFWRV9TVFJJTkdTX0ggMQp8ICNkZWZpbmUgSEFWRV9JTlRUWVBFU19IIDEKfCAjZGVmaW5l IEhBVkVfU1RESU5UX0ggMQp8ICNkZWZpbmUgSEFWRV9VTklTVERfSCAxCnwgI2RlZmluZSBIQVZF X0xJQk0gMQp8ICNkZWZpbmUgSEFWRV9MSUJaIDEKfCAjZGVmaW5lIEhBVkVfU1BJTkxPQ0tTIDEK fCAjZGVmaW5lIEhBVkVfQVRPTUlDUyAxCnwgI2RlZmluZSBIQVZFX1NTTF9HRVRfQ1VSUkVOVF9D T01QUkVTU0lPTiAxCnwgI2RlZmluZSBIQVZFX1g1MDlfR0VUX1NJR05BVFVSRV9OSUQgMQp8ICNk ZWZpbmUgSEFWRV9DUllQVE9fTE9DSyAxCnwgI2RlZmluZSBIQVZFX0xJQlhNTDIgMQp8ICNkZWZp bmUgSEFWRV9MSUJYU0xUIDEKfCAjZGVmaW5lIEhBVkVfX0JPT0wgMQp8ICNkZWZpbmUgSEFWRV9T VERCT09MX0ggMQp8ICNkZWZpbmUgSEFWRV9HRVRPUFRfSCAxCnwgI2RlZmluZSBIQVZFX0lFRUVG UF9IIDEKfCAjZGVmaW5lIEhBVkVfVVRJTUVfSCAxCnwgI2RlZmluZSBIQVZFX1dDSEFSX0ggMQp8 ICNkZWZpbmUgSEFWRV9XQ1RZUEVfSCAxCnwgI2RlZmluZSBIQVZFX0NSVERFRlNfSCAxCnwgI2Rl ZmluZSBQR19QUklOVEZfQVRUUklCVVRFIGdudV9wcmludGYKfCAjZGVmaW5lIEZMRVhJQkxFX0FS UkFZX01FTUJFUiAvKiovCnwgI2RlZmluZSBIQVZFX0ZVTkNOQU1FX19GVU5DIDEKfCAjZGVmaW5l IEhBVkVfX1NUQVRJQ19BU1NFUlQgMQp8ICNkZWZpbmUgSEFWRV9UWVBFT0YgMQp8ICNkZWZpbmUg SEFWRV9fQlVJTFRJTl9UWVBFU19DT01QQVRJQkxFX1AgMQp8ICNkZWZpbmUgSEFWRV9fQlVJTFRJ Tl9CU1dBUDE2IDEKfCAjZGVmaW5lIEhBVkVfX0JVSUxUSU5fQlNXQVAzMiAxCnwgI2RlZmluZSBI QVZFX19CVUlMVElOX0JTV0FQNjQgMQp8ICNkZWZpbmUgSEFWRV9fQlVJTFRJTl9DT05TVEFOVF9Q IDEKfCAjZGVmaW5lIEhBVkVfX0JVSUxUSU5fVU5SRUFDSEFCTEUgMQp8ICNkZWZpbmUgSEFWRV9D T01QVVRFRF9HT1RPIDEKfCAjZGVmaW5lIEhBVkVfX1ZBX0FSR1MgMQp8ICNkZWZpbmUgSEFWRV9U Wk5BTUUgMQp8ICNkZWZpbmUgSEFWRV9TVFJVQ1RfU09DS0FERFJfU1RPUkFHRSAxCnwgI2RlZmlu ZSBIQVZFX1NUUlVDVF9TT0NLQUREUl9TVE9SQUdFX1NTX0ZBTUlMWSAxCnwgI2RlZmluZSBIQVZF X1NUUlVDVF9BRERSSU5GTyAxCnwgI2RlZmluZSBIQVZFX0lOVFBUUl9UIDEKfCAjZGVmaW5lIEhB VkVfVUlOVFBUUl9UIDEKfCAjZGVmaW5lIEhBVkVfVU5TSUdORURfTE9OR19MT05HX0lOVCAxCnwg I2RlZmluZSBIQVZFX0xPTkdfTE9OR19JTlQgMQp8ICNkZWZpbmUgcmVzdHJpY3QgX19yZXN0cmlj dAp8ICNkZWZpbmUgcGdfcmVzdHJpY3QgX19yZXN0cmljdAp8ICNkZWZpbmUgSEFWRV9TVFJVQ1Rf T1BUSU9OIDEKfCAjZGVmaW5lIFNJWkVPRl9PRkZfVCA0CnwgI2RlZmluZSBTSVpFT0ZfQk9PTCAx CnwgI2RlZmluZSBIQVZFX0lOVF9USU1FWk9ORSAxCnwgLyogZW5kIGNvbmZkZWZzLmguICAqLwp8 ICNpbmNsdWRlIDxzeXMvdHlwZXMuaD4KfCAjaW5jbHVkZSA8c3lzL3NvY2tldC5oPgp8IGV4dGVy biBpbnQgYWNjZXB0ICh1bnNpZ25lZCBpbnQsIGNvbnN0IHN0cnVjdCBzb2NrYWRkciAqLCBzaXpl X3QgKik7CmNvbmZpZ3VyZToxNDc5MTogeDg2XzY0LXc2NC1taW5ndzMyLWdjYyAtYyAtV2FsbCAt V21pc3NpbmctcHJvdG90eXBlcyAtV3BvaW50ZXItYXJpdGggLVdkZWNsYXJhdGlvbi1hZnRlci1z dGF0ZW1lbnQgLVdlbmRpZi1sYWJlbHMgLVdtaXNzaW5nLWZvcm1hdC1hdHRyaWJ1dGUgLVdmb3Jt YXQtc2VjdXJpdHkgLWZuby1zdHJpY3QtYWxpYXNpbmcgLWZ3cmFwdiAtZmV4Y2Vzcy1wcmVjaXNp b249c3RhbmRhcmQgLVduby1mb3JtYXQtdHJ1bmNhdGlvbiAtV25vLXN0cmluZ29wLXRydW5jYXRp b24gLWcgLU8gLWZuby1vbWl0LWZyYW1lLXBvaW50ZXIgIC1JL3cvUi0zLjUuXy9wb3N0Z3Jlcy9z cmMvaW5jbHVkZS9wb3J0L3dpbjMyIC1ERVhFQ19CQUNLRU5EICAtSS93L3psaWItMS4yLjgtd2lu MzIteDg2XzY0L2luY2x1ZGUgLUkvdy9vcGVuc3NsLTEuMC4yZS13aW4zMi14ODZfNjQvaW5jbHVk ZSAtSS93L2xpYnhtbDItMi45LjMtd2luMzIteDg2XzY0L2luY2x1ZGUvbGlieG1sMiAtSS93L2xp YnhzbHQtMS4xLjI4LXdpbjMyLXg4Nl82NC9pbmNsdWRlIGNvbmZ0ZXN0LmMgPiY1CmNvbmZ0ZXN0 LmM6Nzk6MTI6IGVycm9yOiBjb25mbGljdGluZyB0eXBlcyBmb3IgJ2FjY2VwdCcKIGV4dGVybiBp bnQgYWNjZXB0ICh1bnNpZ25lZCBpbnQsIGNvbnN0IHN0cnVjdCBzb2NrYWRkciAqLCBzb2NrbGVu X3QgKik7CiAgICAgICAgICAgIF5+fn5+fgpJbiBmaWxlIGluY2x1ZGVkIGZyb20gVzovUi0zLjUu Xy9wb3N0Z3Jlcy9zcmMvaW5jbHVkZS9wb3J0L3dpbjMyL3N5cy9zb2NrZXQuaDoxNCwKICAgICAg ICAgICAgICAgICBmcm9tIGNvbmZ0ZXN0LmM6Nzg6CkM6L21zeXM2NC9taW5ndzY0L3g4Nl82NC13 NjQtbWluZ3czMi9pbmNsdWRlL3dpbnNvY2syLmg6OTczOjM3OiBub3RlOiBwcmV2aW91cyBkZWNs YXJhdGlvbiBvZiAnYWNjZXB0JyB3YXMgaGVyZQogICBXSU5TT0NLX0FQSV9MSU5LQUdFIFNPQ0tF VCBXU0FBUEkgYWNjZXB0KFNPQ0tFVCBzLHN0cnVjdCBzb2NrYWRkciAqYWRkcixpbnQgKmFkZHJs ZW4pOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXn5+fn5+CmNvbmZpZ3Vy ZToxNDc5MTogJD8gPSAxCmNvbmZpZ3VyZTogZmFpbGVkIHByb2dyYW0gd2FzOgp8IC8qIGNvbmZk ZWZzLmggKi8KfCAjZGVmaW5lIFBBQ0tBR0VfTkFNRSAiUG9zdGdyZVNRTCIKfCAjZGVmaW5lIFBB Q0tBR0VfVEFSTkFNRSAicG9zdGdyZXNxbCIKfCAjZGVmaW5lIFBBQ0tBR0VfVkVSU0lPTiAiMTFi ZXRhMyIKfCAjZGVmaW5lIFBBQ0tBR0VfU1RSSU5HICJQb3N0Z3JlU1FMIDExYmV0YTMiCnwgI2Rl ZmluZSBQQUNLQUdFX0JVR1JFUE9SVCAicGdzcWwtYnVnc0Bwb3N0Z3Jlc3FsLm9yZyIKfCAjZGVm aW5lIFBBQ0tBR0VfVVJMICIiCnwgI2RlZmluZSBQR19NQUpPUlZFUlNJT04gIjExIgp8ICNkZWZp bmUgUEdfVkVSU0lPTiAiMTFiZXRhMyIKfCAjZGVmaW5lIERFRl9QR1BPUlQgNTQzMgp8ICNkZWZp bmUgREVGX1BHUE9SVF9TVFIgIjU0MzIiCnwgI2RlZmluZSBCTENLU1ogODE5Mgp8ICNkZWZpbmUg UkVMU0VHX1NJWkUgMTMxMDcyCnwgI2RlZmluZSBYTE9HX0JMQ0tTWiA4MTkyCnwgI2RlZmluZSBV U0VfQVNTRVJUX0NIRUNLSU5HIDEKfCAjZGVmaW5lIEVOQUJMRV9USFJFQURfU0FGRVRZIDEKfCAj ZGVmaW5lIFVTRV9JQ1UgMQp8ICNkZWZpbmUgUEdfS1JCX1NSVk5BTSAicG9zdGdyZXMiCnwgI2Rl ZmluZSBVU0VfT1BFTlNTTCAxCnwgI2RlZmluZSBVU0VfTElCWE1MIDEKfCAjZGVmaW5lIFVTRV9M SUJYU0xUIDEKfCAjZGVmaW5lIFNURENfSEVBREVSUyAxCnwgI2RlZmluZSBIQVZFX1NZU19UWVBF U19IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NUQVRfSCAxCnwgI2RlZmluZSBIQVZFX1NURExJQl9I IDEKfCAjZGVmaW5lIEhBVkVfU1RSSU5HX0ggMQp8ICNkZWZpbmUgSEFWRV9NRU1PUllfSCAxCnwg I2RlZmluZSBIQVZFX1NUUklOR1NfSCAxCnwgI2RlZmluZSBIQVZFX0lOVFRZUEVTX0ggMQp8ICNk ZWZpbmUgSEFWRV9TVERJTlRfSCAxCnwgI2RlZmluZSBIQVZFX1VOSVNURF9IIDEKfCAjZGVmaW5l IEhBVkVfTElCTSAxCnwgI2RlZmluZSBIQVZFX0xJQlogMQp8ICNkZWZpbmUgSEFWRV9TUElOTE9D S1MgMQp8ICNkZWZpbmUgSEFWRV9BVE9NSUNTIDEKfCAjZGVmaW5lIEhBVkVfU1NMX0dFVF9DVVJS RU5UX0NPTVBSRVNTSU9OIDEKfCAjZGVmaW5lIEhBVkVfWDUwOV9HRVRfU0lHTkFUVVJFX05JRCAx CnwgI2RlZmluZSBIQVZFX0NSWVBUT19MT0NLIDEKfCAjZGVmaW5lIEhBVkVfTElCWE1MMiAxCnwg I2RlZmluZSBIQVZFX0xJQlhTTFQgMQp8ICNkZWZpbmUgSEFWRV9fQk9PTCAxCnwgI2RlZmluZSBI QVZFX1NUREJPT0xfSCAxCnwgI2RlZmluZSBIQVZFX0dFVE9QVF9IIDEKfCAjZGVmaW5lIEhBVkVf SUVFRUZQX0ggMQp8ICNkZWZpbmUgSEFWRV9VVElNRV9IIDEKfCAjZGVmaW5lIEhBVkVfV0NIQVJf SCAxCnwgI2RlZmluZSBIQVZFX1dDVFlQRV9IIDEKfCAjZGVmaW5lIEhBVkVfQ1JUREVGU19IIDEK fCAjZGVmaW5lIFBHX1BSSU5URl9BVFRSSUJVVEUgZ251X3ByaW50Zgp8ICNkZWZpbmUgRkxFWElC TEVfQVJSQVlfTUVNQkVSIC8qKi8KfCAjZGVmaW5lIEhBVkVfRlVOQ05BTUVfX0ZVTkMgMQp8ICNk ZWZpbmUgSEFWRV9fU1RBVElDX0FTU0VSVCAxCnwgI2RlZmluZSBIQVZFX1RZUEVPRiAxCnwgI2Rl ZmluZSBIQVZFX19CVUlMVElOX1RZUEVTX0NPTVBBVElCTEVfUCAxCnwgI2RlZmluZSBIQVZFX19C VUlMVElOX0JTV0FQMTYgMQp8ICNkZWZpbmUgSEFWRV9fQlVJTFRJTl9CU1dBUDMyIDEKfCAjZGVm aW5lIEhBVkVfX0JVSUxUSU5fQlNXQVA2NCAxCnwgI2RlZmluZSBIQVZFX19CVUlMVElOX0NPTlNU QU5UX1AgMQp8ICNkZWZpbmUgSEFWRV9fQlVJTFRJTl9VTlJFQUNIQUJMRSAxCnwgI2RlZmluZSBI QVZFX0NPTVBVVEVEX0dPVE8gMQp8ICNkZWZpbmUgSEFWRV9fVkFfQVJHUyAxCnwgI2RlZmluZSBI QVZFX1RaTkFNRSAxCnwgI2RlZmluZSBIQVZFX1NUUlVDVF9TT0NLQUREUl9TVE9SQUdFIDEKfCAj ZGVmaW5lIEhBVkVfU1RSVUNUX1NPQ0tBRERSX1NUT1JBR0VfU1NfRkFNSUxZIDEKfCAjZGVmaW5l IEhBVkVfU1RSVUNUX0FERFJJTkZPIDEKfCAjZGVmaW5lIEhBVkVfSU5UUFRSX1QgMQp8ICNkZWZp bmUgSEFWRV9VSU5UUFRSX1QgMQp8ICNkZWZpbmUgSEFWRV9VTlNJR05FRF9MT05HX0xPTkdfSU5U IDEKfCAjZGVmaW5lIEhBVkVfTE9OR19MT05HX0lOVCAxCnwgI2RlZmluZSByZXN0cmljdCBfX3Jl c3RyaWN0CnwgI2RlZmluZSBwZ19yZXN0cmljdCBfX3Jlc3RyaWN0CnwgI2RlZmluZSBIQVZFX1NU UlVDVF9PUFRJT04gMQp8ICNkZWZpbmUgU0laRU9GX09GRl9UIDQKfCAjZGVmaW5lIFNJWkVPRl9C T09MIDEKfCAjZGVmaW5lIEhBVkVfSU5UX1RJTUVaT05FIDEKfCAvKiBlbmQgY29uZmRlZnMuaC4g ICovCnwgI2luY2x1ZGUgPHN5cy90eXBlcy5oPgp8ICNpbmNsdWRlIDxzeXMvc29ja2V0Lmg+Cnwg ZXh0ZXJuIGludCBhY2NlcHQgKHVuc2lnbmVkIGludCwgY29uc3Qgc3RydWN0IHNvY2thZGRyICos IHNvY2tsZW5fdCAqKTsKY29uZmlndXJlOjE0NzkxOiB4ODZfNjQtdzY0LW1pbmd3MzItZ2NjIC1j IC1XYWxsIC1XbWlzc2luZy1wcm90b3R5cGVzIC1XcG9pbnRlci1hcml0aCAtV2RlY2xhcmF0aW9u LWFmdGVyLXN0YXRlbWVudCAtV2VuZGlmLWxhYmVscyAtV21pc3NpbmctZm9ybWF0LWF0dHJpYnV0 ZSAtV2Zvcm1hdC1zZWN1cml0eSAtZm5vLXN0cmljdC1hbGlhc2luZyAtZndyYXB2IC1mZXhjZXNz LXByZWNpc2lvbj1zdGFuZGFyZCAtV25vLWZvcm1hdC10cnVuY2F0aW9uIC1Xbm8tc3RyaW5nb3At dHJ1bmNhdGlvbiAtZyAtTyAtZm5vLW9taXQtZnJhbWUtcG9pbnRlciAgLUkvdy9SLTMuNS5fL3Bv c3RncmVzL3NyYy9pbmNsdWRlL3BvcnQvd2luMzIgLURFWEVDX0JBQ0tFTkQgIC1JL3cvemxpYi0x LjIuOC13aW4zMi14ODZfNjQvaW5jbHVkZSAtSS93L29wZW5zc2wtMS4wLjJlLXdpbjMyLXg4Nl82 NC9pbmNsdWRlIC1JL3cvbGlieG1sMi0yLjkuMy13aW4zMi14ODZfNjQvaW5jbHVkZS9saWJ4bWwy IC1JL3cvbGlieHNsdC0xLjEuMjgtd2luMzIteDg2XzY0L2luY2x1ZGUgY29uZnRlc3QuYyA+JjUK Y29uZnRlc3QuYzo3OToxMjogZXJyb3I6IGNvbmZsaWN0aW5nIHR5cGVzIGZvciAnYWNjZXB0Jwog ZXh0ZXJuIGludCBhY2NlcHQgKHVuc2lnbmVkIGludCwgY29uc3Qgc3RydWN0IHNvY2thZGRyICos IHVuc2lnbmVkIGludCAqKTsKICAgICAgICAgICAgXn5+fn5+CkluIGZpbGUgaW5jbHVkZWQgZnJv bSBXOi9SLTMuNS5fL3Bvc3RncmVzL3NyYy9pbmNsdWRlL3BvcnQvd2luMzIvc3lzL3NvY2tldC5o OjE0LAogICAgICAgICAgICAgICAgIGZyb20gY29uZnRlc3QuYzo3ODoKQzovbXN5czY0L21pbmd3 NjQveDg2XzY0LXc2NC1taW5ndzMyL2luY2x1ZGUvd2luc29jazIuaDo5NzM6Mzc6IG5vdGU6IHBy ZXZpb3VzIGRlY2xhcmF0aW9uIG9mICdhY2NlcHQnIHdhcyBoZXJlCiAgIFdJTlNPQ0tfQVBJX0xJ TktBR0UgU09DS0VUIFdTQUFQSSBhY2NlcHQoU09DS0VUIHMsc3RydWN0IHNvY2thZGRyICphZGRy LGludCAqYWRkcmxlbik7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBefn5+ fn4KY29uZmlndXJlOjE0NzkxOiAkPyA9IDEKY29uZmlndXJlOiBmYWlsZWQgcHJvZ3JhbSB3YXM6 CnwgLyogY29uZmRlZnMuaCAqLwp8ICNkZWZpbmUgUEFDS0FHRV9OQU1FICJQb3N0Z3JlU1FMIgp8 ICNkZWZpbmUgUEFDS0FHRV9UQVJOQU1FICJwb3N0Z3Jlc3FsIgp8ICNkZWZpbmUgUEFDS0FHRV9W RVJTSU9OICIxMWJldGEzIgp8ICNkZWZpbmUgUEFDS0FHRV9TVFJJTkcgIlBvc3RncmVTUUwgMTFi ZXRhMyIKfCAjZGVmaW5lIFBBQ0tBR0VfQlVHUkVQT1JUICJwZ3NxbC1idWdzQHBvc3RncmVzcWwu b3JnIgp8ICNkZWZpbmUgUEFDS0FHRV9VUkwgIiIKfCAjZGVmaW5lIFBHX01BSk9SVkVSU0lPTiAi MTEiCnwgI2RlZmluZSBQR19WRVJTSU9OICIxMWJldGEzIgp8ICNkZWZpbmUgREVGX1BHUE9SVCA1 NDMyCnwgI2RlZmluZSBERUZfUEdQT1JUX1NUUiAiNTQzMiIKfCAjZGVmaW5lIEJMQ0tTWiA4MTky CnwgI2RlZmluZSBSRUxTRUdfU0laRSAxMzEwNzIKfCAjZGVmaW5lIFhMT0dfQkxDS1NaIDgxOTIK fCAjZGVmaW5lIFVTRV9BU1NFUlRfQ0hFQ0tJTkcgMQp8ICNkZWZpbmUgRU5BQkxFX1RIUkVBRF9T QUZFVFkgMQp8ICNkZWZpbmUgVVNFX0lDVSAxCnwgI2RlZmluZSBQR19LUkJfU1JWTkFNICJwb3N0 Z3JlcyIKfCAjZGVmaW5lIFVTRV9PUEVOU1NMIDEKfCAjZGVmaW5lIFVTRV9MSUJYTUwgMQp8ICNk ZWZpbmUgVVNFX0xJQlhTTFQgMQp8ICNkZWZpbmUgU1REQ19IRUFERVJTIDEKfCAjZGVmaW5lIEhB VkVfU1lTX1RZUEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfU1RBVF9IIDEKfCAjZGVmaW5lIEhB VkVfU1RETElCX0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJJTkdfSCAxCnwgI2RlZmluZSBIQVZFX01F TU9SWV9IIDEKfCAjZGVmaW5lIEhBVkVfU1RSSU5HU19IIDEKfCAjZGVmaW5lIEhBVkVfSU5UVFlQ RVNfSCAxCnwgI2RlZmluZSBIQVZFX1NURElOVF9IIDEKfCAjZGVmaW5lIEhBVkVfVU5JU1REX0gg MQp8ICNkZWZpbmUgSEFWRV9MSUJNIDEKfCAjZGVmaW5lIEhBVkVfTElCWiAxCnwgI2RlZmluZSBI QVZFX1NQSU5MT0NLUyAxCnwgI2RlZmluZSBIQVZFX0FUT01JQ1MgMQp8ICNkZWZpbmUgSEFWRV9T U0xfR0VUX0NVUlJFTlRfQ09NUFJFU1NJT04gMQp8ICNkZWZpbmUgSEFWRV9YNTA5X0dFVF9TSUdO QVRVUkVfTklEIDEKfCAjZGVmaW5lIEhBVkVfQ1JZUFRPX0xPQ0sgMQp8ICNkZWZpbmUgSEFWRV9M SUJYTUwyIDEKfCAjZGVmaW5lIEhBVkVfTElCWFNMVCAxCnwgI2RlZmluZSBIQVZFX19CT09MIDEK fCAjZGVmaW5lIEhBVkVfU1REQk9PTF9IIDEKfCAjZGVmaW5lIEhBVkVfR0VUT1BUX0ggMQp8ICNk ZWZpbmUgSEFWRV9JRUVFRlBfSCAxCnwgI2RlZmluZSBIQVZFX1VUSU1FX0ggMQp8ICNkZWZpbmUg SEFWRV9XQ0hBUl9IIDEKfCAjZGVmaW5lIEhBVkVfV0NUWVBFX0ggMQp8ICNkZWZpbmUgSEFWRV9D UlRERUZTX0ggMQp8ICNkZWZpbmUgUEdfUFJJTlRGX0FUVFJJQlVURSBnbnVfcHJpbnRmCnwgI2Rl ZmluZSBGTEVYSUJMRV9BUlJBWV9NRU1CRVIgLyoqLwp8ICNkZWZpbmUgSEFWRV9GVU5DTkFNRV9f RlVOQyAxCnwgI2RlZmluZSBIQVZFX19TVEFUSUNfQVNTRVJUIDEKfCAjZGVmaW5lIEhBVkVfVFlQ RU9GIDEKfCAjZGVmaW5lIEhBVkVfX0JVSUxUSU5fVFlQRVNfQ09NUEFUSUJMRV9QIDEKfCAjZGVm aW5lIEhBVkVfX0JVSUxUSU5fQlNXQVAxNiAxCnwgI2RlZmluZSBIQVZFX19CVUlMVElOX0JTV0FQ MzIgMQp8ICNkZWZpbmUgSEFWRV9fQlVJTFRJTl9CU1dBUDY0IDEKfCAjZGVmaW5lIEhBVkVfX0JV SUxUSU5fQ09OU1RBTlRfUCAxCnwgI2RlZmluZSBIQVZFX19CVUlMVElOX1VOUkVBQ0hBQkxFIDEK fCAjZGVmaW5lIEhBVkVfQ09NUFVURURfR09UTyAxCnwgI2RlZmluZSBIQVZFX19WQV9BUkdTIDEK fCAjZGVmaW5lIEhBVkVfVFpOQU1FIDEKfCAjZGVmaW5lIEhBVkVfU1RSVUNUX1NPQ0tBRERSX1NU T1JBR0UgMQp8ICNkZWZpbmUgSEFWRV9TVFJVQ1RfU09DS0FERFJfU1RPUkFHRV9TU19GQU1JTFkg MQp8ICNkZWZpbmUgSEFWRV9TVFJVQ1RfQUREUklORk8gMQp8ICNkZWZpbmUgSEFWRV9JTlRQVFJf VCAxCnwgI2RlZmluZSBIQVZFX1VJTlRQVFJfVCAxCnwgI2RlZmluZSBIQVZFX1VOU0lHTkVEX0xP TkdfTE9OR19JTlQgMQp8ICNkZWZpbmUgSEFWRV9MT05HX0xPTkdfSU5UIDEKfCAjZGVmaW5lIHJl c3RyaWN0IF9fcmVzdHJpY3QKfCAjZGVmaW5lIHBnX3Jlc3RyaWN0IF9fcmVzdHJpY3QKfCAjZGVm aW5lIEhBVkVfU1RSVUNUX09QVElPTiAxCnwgI2RlZmluZSBTSVpFT0ZfT0ZGX1QgNAp8ICNkZWZp bmUgU0laRU9GX0JPT0wgMQp8ICNkZWZpbmUgSEFWRV9JTlRfVElNRVpPTkUgMQp8IC8qIGVuZCBj b25mZGVmcy5oLiAgKi8KfCAjaW5jbHVkZSA8c3lzL3R5cGVzLmg+CnwgI2luY2x1ZGUgPHN5cy9z b2NrZXQuaD4KfCBleHRlcm4gaW50IGFjY2VwdCAodW5zaWduZWQgaW50LCBjb25zdCBzdHJ1Y3Qg c29ja2FkZHIgKiwgdW5zaWduZWQgaW50ICopOwpjb25maWd1cmU6MTQ3OTE6IHg4Nl82NC13NjQt bWluZ3czMi1nY2MgLWMgLVdhbGwgLVdtaXNzaW5nLXByb3RvdHlwZXMgLVdwb2ludGVyLWFyaXRo IC1XZGVjbGFyYXRpb24tYWZ0ZXItc3RhdGVtZW50IC1XZW5kaWYtbGFiZWxzIC1XbWlzc2luZy1m b3JtYXQtYXR0cmlidXRlIC1XZm9ybWF0LXNlY3VyaXR5IC1mbm8tc3RyaWN0LWFsaWFzaW5nIC1m d3JhcHYgLWZleGNlc3MtcHJlY2lzaW9uPXN0YW5kYXJkIC1Xbm8tZm9ybWF0LXRydW5jYXRpb24g LVduby1zdHJpbmdvcC10cnVuY2F0aW9uIC1nIC1PIC1mbm8tb21pdC1mcmFtZS1wb2ludGVyICAt SS93L1ItMy41Ll8vcG9zdGdyZXMvc3JjL2luY2x1ZGUvcG9ydC93aW4zMiAtREVYRUNfQkFDS0VO RCAgLUkvdy96bGliLTEuMi44LXdpbjMyLXg4Nl82NC9pbmNsdWRlIC1JL3cvb3BlbnNzbC0xLjAu MmUtd2luMzIteDg2XzY0L2luY2x1ZGUgLUkvdy9saWJ4bWwyLTIuOS4zLXdpbjMyLXg4Nl82NC9p bmNsdWRlL2xpYnhtbDIgLUkvdy9saWJ4c2x0LTEuMS4yOC13aW4zMi14ODZfNjQvaW5jbHVkZSBj b25mdGVzdC5jID4mNQpjb25mdGVzdC5jOjc5OjEyOiBlcnJvcjogY29uZmxpY3RpbmcgdHlwZXMg Zm9yICdhY2NlcHQnCiBleHRlcm4gaW50IGFjY2VwdCAodW5zaWduZWQgaW50LCBjb25zdCBzdHJ1 Y3Qgc29ja2FkZHIgKiwgdm9pZCAqKTsKICAgICAgICAgICAgXn5+fn5+CkluIGZpbGUgaW5jbHVk ZWQgZnJvbSBXOi9SLTMuNS5fL3Bvc3RncmVzL3NyYy9pbmNsdWRlL3BvcnQvd2luMzIvc3lzL3Nv Y2tldC5oOjE0LAogICAgICAgICAgICAgICAgIGZyb20gY29uZnRlc3QuYzo3ODoKQzovbXN5czY0 L21pbmd3NjQveDg2XzY0LXc2NC1taW5ndzMyL2luY2x1ZGUvd2luc29jazIuaDo5NzM6Mzc6IG5v dGU6IHByZXZpb3VzIGRlY2xhcmF0aW9uIG9mICdhY2NlcHQnIHdhcyBoZXJlCiAgIFdJTlNPQ0tf QVBJX0xJTktBR0UgU09DS0VUIFdTQUFQSSBhY2NlcHQoU09DS0VUIHMsc3RydWN0IHNvY2thZGRy ICphZGRyLGludCAqYWRkcmxlbik7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICBefn5+fn4KY29uZmlndXJlOjE0NzkxOiAkPyA9IDEKY29uZmlndXJlOiBmYWlsZWQgcHJvZ3Jh bSB3YXM6CnwgLyogY29uZmRlZnMuaCAqLwp8ICNkZWZpbmUgUEFDS0FHRV9OQU1FICJQb3N0Z3Jl U1FMIgp8ICNkZWZpbmUgUEFDS0FHRV9UQVJOQU1FICJwb3N0Z3Jlc3FsIgp8ICNkZWZpbmUgUEFD S0FHRV9WRVJTSU9OICIxMWJldGEzIgp8ICNkZWZpbmUgUEFDS0FHRV9TVFJJTkcgIlBvc3RncmVT UUwgMTFiZXRhMyIKfCAjZGVmaW5lIFBBQ0tBR0VfQlVHUkVQT1JUICJwZ3NxbC1idWdzQHBvc3Rn cmVzcWwub3JnIgp8ICNkZWZpbmUgUEFDS0FHRV9VUkwgIiIKfCAjZGVmaW5lIFBHX01BSk9SVkVS U0lPTiAiMTEiCnwgI2RlZmluZSBQR19WRVJTSU9OICIxMWJldGEzIgp8ICNkZWZpbmUgREVGX1BH UE9SVCA1NDMyCnwgI2RlZmluZSBERUZfUEdQT1JUX1NUUiAiNTQzMiIKfCAjZGVmaW5lIEJMQ0tT WiA4MTkyCnwgI2RlZmluZSBSRUxTRUdfU0laRSAxMzEwNzIKfCAjZGVmaW5lIFhMT0dfQkxDS1Na IDgxOTIKfCAjZGVmaW5lIFVTRV9BU1NFUlRfQ0hFQ0tJTkcgMQp8ICNkZWZpbmUgRU5BQkxFX1RI UkVBRF9TQUZFVFkgMQp8ICNkZWZpbmUgVVNFX0lDVSAxCnwgI2RlZmluZSBQR19LUkJfU1JWTkFN ICJwb3N0Z3JlcyIKfCAjZGVmaW5lIFVTRV9PUEVOU1NMIDEKfCAjZGVmaW5lIFVTRV9MSUJYTUwg MQp8ICNkZWZpbmUgVVNFX0xJQlhTTFQgMQp8ICNkZWZpbmUgU1REQ19IRUFERVJTIDEKfCAjZGVm aW5lIEhBVkVfU1lTX1RZUEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfU1RBVF9IIDEKfCAjZGVm aW5lIEhBVkVfU1RETElCX0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJJTkdfSCAxCnwgI2RlZmluZSBI QVZFX01FTU9SWV9IIDEKfCAjZGVmaW5lIEhBVkVfU1RSSU5HU19IIDEKfCAjZGVmaW5lIEhBVkVf SU5UVFlQRVNfSCAxCnwgI2RlZmluZSBIQVZFX1NURElOVF9IIDEKfCAjZGVmaW5lIEhBVkVfVU5J U1REX0ggMQp8ICNkZWZpbmUgSEFWRV9MSUJNIDEKfCAjZGVmaW5lIEhBVkVfTElCWiAxCnwgI2Rl ZmluZSBIQVZFX1NQSU5MT0NLUyAxCnwgI2RlZmluZSBIQVZFX0FUT01JQ1MgMQp8ICNkZWZpbmUg SEFWRV9TU0xfR0VUX0NVUlJFTlRfQ09NUFJFU1NJT04gMQp8ICNkZWZpbmUgSEFWRV9YNTA5X0dF VF9TSUdOQVRVUkVfTklEIDEKfCAjZGVmaW5lIEhBVkVfQ1JZUFRPX0xPQ0sgMQp8ICNkZWZpbmUg SEFWRV9MSUJYTUwyIDEKfCAjZGVmaW5lIEhBVkVfTElCWFNMVCAxCnwgI2RlZmluZSBIQVZFX19C T09MIDEKfCAjZGVmaW5lIEhBVkVfU1REQk9PTF9IIDEKfCAjZGVmaW5lIEhBVkVfR0VUT1BUX0gg MQp8ICNkZWZpbmUgSEFWRV9JRUVFRlBfSCAxCnwgI2RlZmluZSBIQVZFX1VUSU1FX0ggMQp8ICNk ZWZpbmUgSEFWRV9XQ0hBUl9IIDEKfCAjZGVmaW5lIEhBVkVfV0NUWVBFX0ggMQp8ICNkZWZpbmUg SEFWRV9DUlRERUZTX0ggMQp8ICNkZWZpbmUgUEdfUFJJTlRGX0FUVFJJQlVURSBnbnVfcHJpbnRm CnwgI2RlZmluZSBGTEVYSUJMRV9BUlJBWV9NRU1CRVIgLyoqLwp8ICNkZWZpbmUgSEFWRV9GVU5D TkFNRV9fRlVOQyAxCnwgI2RlZmluZSBIQVZFX19TVEFUSUNfQVNTRVJUIDEKfCAjZGVmaW5lIEhB VkVfVFlQRU9GIDEKfCAjZGVmaW5lIEhBVkVfX0JVSUxUSU5fVFlQRVNfQ09NUEFUSUJMRV9QIDEK fCAjZGVmaW5lIEhBVkVfX0JVSUxUSU5fQlNXQVAxNiAxCnwgI2RlZmluZSBIQVZFX19CVUlMVElO X0JTV0FQMzIgMQp8ICNkZWZpbmUgSEFWRV9fQlVJTFRJTl9CU1dBUDY0IDEKfCAjZGVmaW5lIEhB VkVfX0JVSUxUSU5fQ09OU1RBTlRfUCAxCnwgI2RlZmluZSBIQVZFX19CVUlMVElOX1VOUkVBQ0hB QkxFIDEKfCAjZGVmaW5lIEhBVkVfQ09NUFVURURfR09UTyAxCnwgI2RlZmluZSBIQVZFX19WQV9B UkdTIDEKfCAjZGVmaW5lIEhBVkVfVFpOQU1FIDEKfCAjZGVmaW5lIEhBVkVfU1RSVUNUX1NPQ0tB RERSX1NUT1JBR0UgMQp8ICNkZWZpbmUgSEFWRV9TVFJVQ1RfU09DS0FERFJfU1RPUkFHRV9TU19G QU1JTFkgMQp8ICNkZWZpbmUgSEFWRV9TVFJVQ1RfQUREUklORk8gMQp8ICNkZWZpbmUgSEFWRV9J TlRQVFJfVCAxCnwgI2RlZmluZSBIQVZFX1VJTlRQVFJfVCAxCnwgI2RlZmluZSBIQVZFX1VOU0lH TkVEX0xPTkdfTE9OR19JTlQgMQp8ICNkZWZpbmUgSEFWRV9MT05HX0xPTkdfSU5UIDEKfCAjZGVm aW5lIHJlc3RyaWN0IF9fcmVzdHJpY3QKfCAjZGVmaW5lIHBnX3Jlc3RyaWN0IF9fcmVzdHJpY3QK fCAjZGVmaW5lIEhBVkVfU1RSVUNUX09QVElPTiAxCnwgI2RlZmluZSBTSVpFT0ZfT0ZGX1QgNAp8 ICNkZWZpbmUgU0laRU9GX0JPT0wgMQp8ICNkZWZpbmUgSEFWRV9JTlRfVElNRVpPTkUgMQp8IC8q IGVuZCBjb25mZGVmcy5oLiAgKi8KfCAjaW5jbHVkZSA8c3lzL3R5cGVzLmg+CnwgI2luY2x1ZGUg PHN5cy9zb2NrZXQuaD4KfCBleHRlcm4gaW50IGFjY2VwdCAodW5zaWduZWQgaW50LCBjb25zdCBz dHJ1Y3Qgc29ja2FkZHIgKiwgdm9pZCAqKTsKY29uZmlndXJlOjE0NzkxOiB4ODZfNjQtdzY0LW1p bmd3MzItZ2NjIC1jIC1XYWxsIC1XbWlzc2luZy1wcm90b3R5cGVzIC1XcG9pbnRlci1hcml0aCAt V2RlY2xhcmF0aW9uLWFmdGVyLXN0YXRlbWVudCAtV2VuZGlmLWxhYmVscyAtV21pc3NpbmctZm9y bWF0LWF0dHJpYnV0ZSAtV2Zvcm1hdC1zZWN1cml0eSAtZm5vLXN0cmljdC1hbGlhc2luZyAtZndy YXB2IC1mZXhjZXNzLXByZWNpc2lvbj1zdGFuZGFyZCAtV25vLWZvcm1hdC10cnVuY2F0aW9uIC1X bm8tc3RyaW5nb3AtdHJ1bmNhdGlvbiAtZyAtTyAtZm5vLW9taXQtZnJhbWUtcG9pbnRlciAgLUkv dy9SLTMuNS5fL3Bvc3RncmVzL3NyYy9pbmNsdWRlL3BvcnQvd2luMzIgLURFWEVDX0JBQ0tFTkQg IC1JL3cvemxpYi0xLjIuOC13aW4zMi14ODZfNjQvaW5jbHVkZSAtSS93L29wZW5zc2wtMS4wLjJl LXdpbjMyLXg4Nl82NC9pbmNsdWRlIC1JL3cvbGlieG1sMi0yLjkuMy13aW4zMi14ODZfNjQvaW5j bHVkZS9saWJ4bWwyIC1JL3cvbGlieHNsdC0xLjEuMjgtd2luMzIteDg2XzY0L2luY2x1ZGUgY29u ZnRlc3QuYyA+JjUKY29uZnRlc3QuYzo3OToxMjogZXJyb3I6IGNvbmZsaWN0aW5nIHR5cGVzIGZv ciAnYWNjZXB0JwogZXh0ZXJuIGludCBhY2NlcHQgKHVuc2lnbmVkIGludCwgdm9pZCAqLCBpbnQg Kik7CiAgICAgICAgICAgIF5+fn5+fgpJbiBmaWxlIGluY2x1ZGVkIGZyb20gVzovUi0zLjUuXy9w b3N0Z3Jlcy9zcmMvaW5jbHVkZS9wb3J0L3dpbjMyL3N5cy9zb2NrZXQuaDoxNCwKICAgICAgICAg ICAgICAgICBmcm9tIGNvbmZ0ZXN0LmM6Nzg6CkM6L21zeXM2NC9taW5ndzY0L3g4Nl82NC13NjQt bWluZ3czMi9pbmNsdWRlL3dpbnNvY2syLmg6OTczOjM3OiBub3RlOiBwcmV2aW91cyBkZWNsYXJh dGlvbiBvZiAnYWNjZXB0JyB3YXMgaGVyZQogICBXSU5TT0NLX0FQSV9MSU5LQUdFIFNPQ0tFVCBX U0FBUEkgYWNjZXB0KFNPQ0tFVCBzLHN0cnVjdCBzb2NrYWRkciAqYWRkcixpbnQgKmFkZHJsZW4p OwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXn5+fn5+CmNvbmZpZ3VyZTox NDc5MTogJD8gPSAxCmNvbmZpZ3VyZTogZmFpbGVkIHByb2dyYW0gd2FzOgp8IC8qIGNvbmZkZWZz LmggKi8KfCAjZGVmaW5lIFBBQ0tBR0VfTkFNRSAiUG9zdGdyZVNRTCIKfCAjZGVmaW5lIFBBQ0tB R0VfVEFSTkFNRSAicG9zdGdyZXNxbCIKfCAjZGVmaW5lIFBBQ0tBR0VfVkVSU0lPTiAiMTFiZXRh MyIKfCAjZGVmaW5lIFBBQ0tBR0VfU1RSSU5HICJQb3N0Z3JlU1FMIDExYmV0YTMiCnwgI2RlZmlu ZSBQQUNLQUdFX0JVR1JFUE9SVCAicGdzcWwtYnVnc0Bwb3N0Z3Jlc3FsLm9yZyIKfCAjZGVmaW5l IFBBQ0tBR0VfVVJMICIiCnwgI2RlZmluZSBQR19NQUpPUlZFUlNJT04gIjExIgp8ICNkZWZpbmUg UEdfVkVSU0lPTiAiMTFiZXRhMyIKfCAjZGVmaW5lIERFRl9QR1BPUlQgNTQzMgp8ICNkZWZpbmUg REVGX1BHUE9SVF9TVFIgIjU0MzIiCnwgI2RlZmluZSBCTENLU1ogODE5Mgp8ICNkZWZpbmUgUkVM U0VHX1NJWkUgMTMxMDcyCnwgI2RlZmluZSBYTE9HX0JMQ0tTWiA4MTkyCnwgI2RlZmluZSBVU0Vf QVNTRVJUX0NIRUNLSU5HIDEKfCAjZGVmaW5lIEVOQUJMRV9USFJFQURfU0FGRVRZIDEKfCAjZGVm aW5lIFVTRV9JQ1UgMQp8ICNkZWZpbmUgUEdfS1JCX1NSVk5BTSAicG9zdGdyZXMiCnwgI2RlZmlu ZSBVU0VfT1BFTlNTTCAxCnwgI2RlZmluZSBVU0VfTElCWE1MIDEKfCAjZGVmaW5lIFVTRV9MSUJY U0xUIDEKfCAjZGVmaW5lIFNURENfSEVBREVSUyAxCnwgI2RlZmluZSBIQVZFX1NZU19UWVBFU19I IDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NUQVRfSCAxCnwgI2RlZmluZSBIQVZFX1NURExJQl9IIDEK fCAjZGVmaW5lIEhBVkVfU1RSSU5HX0ggMQp8ICNkZWZpbmUgSEFWRV9NRU1PUllfSCAxCnwgI2Rl ZmluZSBIQVZFX1NUUklOR1NfSCAxCnwgI2RlZmluZSBIQVZFX0lOVFRZUEVTX0ggMQp8ICNkZWZp bmUgSEFWRV9TVERJTlRfSCAxCnwgI2RlZmluZSBIQVZFX1VOSVNURF9IIDEKfCAjZGVmaW5lIEhB VkVfTElCTSAxCnwgI2RlZmluZSBIQVZFX0xJQlogMQp8ICNkZWZpbmUgSEFWRV9TUElOTE9DS1Mg MQp8ICNkZWZpbmUgSEFWRV9BVE9NSUNTIDEKfCAjZGVmaW5lIEhBVkVfU1NMX0dFVF9DVVJSRU5U X0NPTVBSRVNTSU9OIDEKfCAjZGVmaW5lIEhBVkVfWDUwOV9HRVRfU0lHTkFUVVJFX05JRCAxCnwg I2RlZmluZSBIQVZFX0NSWVBUT19MT0NLIDEKfCAjZGVmaW5lIEhBVkVfTElCWE1MMiAxCnwgI2Rl ZmluZSBIQVZFX0xJQlhTTFQgMQp8ICNkZWZpbmUgSEFWRV9fQk9PTCAxCnwgI2RlZmluZSBIQVZF X1NUREJPT0xfSCAxCnwgI2RlZmluZSBIQVZFX0dFVE9QVF9IIDEKfCAjZGVmaW5lIEhBVkVfSUVF RUZQX0ggMQp8ICNkZWZpbmUgSEFWRV9VVElNRV9IIDEKfCAjZGVmaW5lIEhBVkVfV0NIQVJfSCAx CnwgI2RlZmluZSBIQVZFX1dDVFlQRV9IIDEKfCAjZGVmaW5lIEhBVkVfQ1JUREVGU19IIDEKfCAj ZGVmaW5lIFBHX1BSSU5URl9BVFRSSUJVVEUgZ251X3ByaW50Zgp8ICNkZWZpbmUgRkxFWElCTEVf QVJSQVlfTUVNQkVSIC8qKi8KfCAjZGVmaW5lIEhBVkVfRlVOQ05BTUVfX0ZVTkMgMQp8ICNkZWZp bmUgSEFWRV9fU1RBVElDX0FTU0VSVCAxCnwgI2RlZmluZSBIQVZFX1RZUEVPRiAxCnwgI2RlZmlu ZSBIQVZFX19CVUlMVElOX1RZUEVTX0NPTVBBVElCTEVfUCAxCnwgI2RlZmluZSBIQVZFX19CVUlM VElOX0JTV0FQMTYgMQp8ICNkZWZpbmUgSEFWRV9fQlVJTFRJTl9CU1dBUDMyIDEKfCAjZGVmaW5l IEhBVkVfX0JVSUxUSU5fQlNXQVA2NCAxCnwgI2RlZmluZSBIQVZFX19CVUlMVElOX0NPTlNUQU5U X1AgMQp8ICNkZWZpbmUgSEFWRV9fQlVJTFRJTl9VTlJFQUNIQUJMRSAxCnwgI2RlZmluZSBIQVZF X0NPTVBVVEVEX0dPVE8gMQp8ICNkZWZpbmUgSEFWRV9fVkFfQVJHUyAxCnwgI2RlZmluZSBIQVZF X1RaTkFNRSAxCnwgI2RlZmluZSBIQVZFX1NUUlVDVF9TT0NLQUREUl9TVE9SQUdFIDEKfCAjZGVm aW5lIEhBVkVfU1RSVUNUX1NPQ0tBRERSX1NUT1JBR0VfU1NfRkFNSUxZIDEKfCAjZGVmaW5lIEhB VkVfU1RSVUNUX0FERFJJTkZPIDEKfCAjZGVmaW5lIEhBVkVfSU5UUFRSX1QgMQp8ICNkZWZpbmUg SEFWRV9VSU5UUFRSX1QgMQp8ICNkZWZpbmUgSEFWRV9VTlNJR05FRF9MT05HX0xPTkdfSU5UIDEK fCAjZGVmaW5lIEhBVkVfTE9OR19MT05HX0lOVCAxCnwgI2RlZmluZSByZXN0cmljdCBfX3Jlc3Ry aWN0CnwgI2RlZmluZSBwZ19yZXN0cmljdCBfX3Jlc3RyaWN0CnwgI2RlZmluZSBIQVZFX1NUUlVD VF9PUFRJT04gMQp8ICNkZWZpbmUgU0laRU9GX09GRl9UIDQKfCAjZGVmaW5lIFNJWkVPRl9CT09M IDEKfCAjZGVmaW5lIEhBVkVfSU5UX1RJTUVaT05FIDEKfCAvKiBlbmQgY29uZmRlZnMuaC4gICov CnwgI2luY2x1ZGUgPHN5cy90eXBlcy5oPgp8ICNpbmNsdWRlIDxzeXMvc29ja2V0Lmg+CnwgZXh0 ZXJuIGludCBhY2NlcHQgKHVuc2lnbmVkIGludCwgdm9pZCAqLCBpbnQgKik7CmNvbmZpZ3VyZTox NDc5MTogeDg2XzY0LXc2NC1taW5ndzMyLWdjYyAtYyAtV2FsbCAtV21pc3NpbmctcHJvdG90eXBl cyAtV3BvaW50ZXItYXJpdGggLVdkZWNsYXJhdGlvbi1hZnRlci1zdGF0ZW1lbnQgLVdlbmRpZi1s YWJlbHMgLVdtaXNzaW5nLWZvcm1hdC1hdHRyaWJ1dGUgLVdmb3JtYXQtc2VjdXJpdHkgLWZuby1z dHJpY3QtYWxpYXNpbmcgLWZ3cmFwdiAtZmV4Y2Vzcy1wcmVjaXNpb249c3RhbmRhcmQgLVduby1m b3JtYXQtdHJ1bmNhdGlvbiAtV25vLXN0cmluZ29wLXRydW5jYXRpb24gLWcgLU8gLWZuby1vbWl0 LWZyYW1lLXBvaW50ZXIgIC1JL3cvUi0zLjUuXy9wb3N0Z3Jlcy9zcmMvaW5jbHVkZS9wb3J0L3dp bjMyIC1ERVhFQ19CQUNLRU5EICAtSS93L3psaWItMS4yLjgtd2luMzIteDg2XzY0L2luY2x1ZGUg LUkvdy9vcGVuc3NsLTEuMC4yZS13aW4zMi14ODZfNjQvaW5jbHVkZSAtSS93L2xpYnhtbDItMi45 LjMtd2luMzIteDg2XzY0L2luY2x1ZGUvbGlieG1sMiAtSS93L2xpYnhzbHQtMS4xLjI4LXdpbjMy LXg4Nl82NC9pbmNsdWRlIGNvbmZ0ZXN0LmMgPiY1CmNvbmZ0ZXN0LmM6Nzk6MTI6IGVycm9yOiBj b25mbGljdGluZyB0eXBlcyBmb3IgJ2FjY2VwdCcKIGV4dGVybiBpbnQgYWNjZXB0ICh1bnNpZ25l ZCBpbnQsIHZvaWQgKiwgc2l6ZV90ICopOwogICAgICAgICAgICBefn5+fn4KSW4gZmlsZSBpbmNs dWRlZCBmcm9tIFc6L1ItMy41Ll8vcG9zdGdyZXMvc3JjL2luY2x1ZGUvcG9ydC93aW4zMi9zeXMv c29ja2V0Lmg6MTQsCiAgICAgICAgICAgICAgICAgZnJvbSBjb25mdGVzdC5jOjc4OgpDOi9tc3lz NjQvbWluZ3c2NC94ODZfNjQtdzY0LW1pbmd3MzIvaW5jbHVkZS93aW5zb2NrMi5oOjk3MzozNzog bm90ZTogcHJldmlvdXMgZGVjbGFyYXRpb24gb2YgJ2FjY2VwdCcgd2FzIGhlcmUKICAgV0lOU09D S19BUElfTElOS0FHRSBTT0NLRVQgV1NBQVBJIGFjY2VwdChTT0NLRVQgcyxzdHJ1Y3Qgc29ja2Fk ZHIgKmFkZHIsaW50ICphZGRybGVuKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIF5+fn5+fgpjb25maWd1cmU6MTQ3OTE6ICQ/ID0gMQpjb25maWd1cmU6IGZhaWxlZCBwcm9n cmFtIHdhczoKfCAvKiBjb25mZGVmcy5oICovCnwgI2RlZmluZSBQQUNLQUdFX05BTUUgIlBvc3Rn cmVTUUwiCnwgI2RlZmluZSBQQUNLQUdFX1RBUk5BTUUgInBvc3RncmVzcWwiCnwgI2RlZmluZSBQ QUNLQUdFX1ZFUlNJT04gIjExYmV0YTMiCnwgI2RlZmluZSBQQUNLQUdFX1NUUklORyAiUG9zdGdy ZVNRTCAxMWJldGEzIgp8ICNkZWZpbmUgUEFDS0FHRV9CVUdSRVBPUlQgInBnc3FsLWJ1Z3NAcG9z dGdyZXNxbC5vcmciCnwgI2RlZmluZSBQQUNLQUdFX1VSTCAiIgp8ICNkZWZpbmUgUEdfTUFKT1JW RVJTSU9OICIxMSIKfCAjZGVmaW5lIFBHX1ZFUlNJT04gIjExYmV0YTMiCnwgI2RlZmluZSBERUZf UEdQT1JUIDU0MzIKfCAjZGVmaW5lIERFRl9QR1BPUlRfU1RSICI1NDMyIgp8ICNkZWZpbmUgQkxD S1NaIDgxOTIKfCAjZGVmaW5lIFJFTFNFR19TSVpFIDEzMTA3Mgp8ICNkZWZpbmUgWExPR19CTENL U1ogODE5Mgp8ICNkZWZpbmUgVVNFX0FTU0VSVF9DSEVDS0lORyAxCnwgI2RlZmluZSBFTkFCTEVf VEhSRUFEX1NBRkVUWSAxCnwgI2RlZmluZSBVU0VfSUNVIDEKfCAjZGVmaW5lIFBHX0tSQl9TUlZO QU0gInBvc3RncmVzIgp8ICNkZWZpbmUgVVNFX09QRU5TU0wgMQp8ICNkZWZpbmUgVVNFX0xJQlhN TCAxCnwgI2RlZmluZSBVU0VfTElCWFNMVCAxCnwgI2RlZmluZSBTVERDX0hFQURFUlMgMQp8ICNk ZWZpbmUgSEFWRV9TWVNfVFlQRVNfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19TVEFUX0ggMQp8ICNk ZWZpbmUgSEFWRV9TVERMSUJfSCAxCnwgI2RlZmluZSBIQVZFX1NUUklOR19IIDEKfCAjZGVmaW5l IEhBVkVfTUVNT1JZX0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJJTkdTX0ggMQp8ICNkZWZpbmUgSEFW RV9JTlRUWVBFU19IIDEKfCAjZGVmaW5lIEhBVkVfU1RESU5UX0ggMQp8ICNkZWZpbmUgSEFWRV9V TklTVERfSCAxCnwgI2RlZmluZSBIQVZFX0xJQk0gMQp8ICNkZWZpbmUgSEFWRV9MSUJaIDEKfCAj ZGVmaW5lIEhBVkVfU1BJTkxPQ0tTIDEKfCAjZGVmaW5lIEhBVkVfQVRPTUlDUyAxCnwgI2RlZmlu ZSBIQVZFX1NTTF9HRVRfQ1VSUkVOVF9DT01QUkVTU0lPTiAxCnwgI2RlZmluZSBIQVZFX1g1MDlf R0VUX1NJR05BVFVSRV9OSUQgMQp8ICNkZWZpbmUgSEFWRV9DUllQVE9fTE9DSyAxCnwgI2RlZmlu ZSBIQVZFX0xJQlhNTDIgMQp8ICNkZWZpbmUgSEFWRV9MSUJYU0xUIDEKfCAjZGVmaW5lIEhBVkVf X0JPT0wgMQp8ICNkZWZpbmUgSEFWRV9TVERCT09MX0ggMQp8ICNkZWZpbmUgSEFWRV9HRVRPUFRf SCAxCnwgI2RlZmluZSBIQVZFX0lFRUVGUF9IIDEKfCAjZGVmaW5lIEhBVkVfVVRJTUVfSCAxCnwg I2RlZmluZSBIQVZFX1dDSEFSX0ggMQp8ICNkZWZpbmUgSEFWRV9XQ1RZUEVfSCAxCnwgI2RlZmlu ZSBIQVZFX0NSVERFRlNfSCAxCnwgI2RlZmluZSBQR19QUklOVEZfQVRUUklCVVRFIGdudV9wcmlu dGYKfCAjZGVmaW5lIEZMRVhJQkxFX0FSUkFZX01FTUJFUiAvKiovCnwgI2RlZmluZSBIQVZFX0ZV TkNOQU1FX19GVU5DIDEKfCAjZGVmaW5lIEhBVkVfX1NUQVRJQ19BU1NFUlQgMQp8ICNkZWZpbmUg SEFWRV9UWVBFT0YgMQp8ICNkZWZpbmUgSEFWRV9fQlVJTFRJTl9UWVBFU19DT01QQVRJQkxFX1Ag MQp8ICNkZWZpbmUgSEFWRV9fQlVJTFRJTl9CU1dBUDE2IDEKfCAjZGVmaW5lIEhBVkVfX0JVSUxU SU5fQlNXQVAzMiAxCnwgI2RlZmluZSBIQVZFX19CVUlMVElOX0JTV0FQNjQgMQp8ICNkZWZpbmUg SEFWRV9fQlVJTFRJTl9DT05TVEFOVF9QIDEKfCAjZGVmaW5lIEhBVkVfX0JVSUxUSU5fVU5SRUFD SEFCTEUgMQp8ICNkZWZpbmUgSEFWRV9DT01QVVRFRF9HT1RPIDEKfCAjZGVmaW5lIEhBVkVfX1ZB X0FSR1MgMQp8ICNkZWZpbmUgSEFWRV9UWk5BTUUgMQp8ICNkZWZpbmUgSEFWRV9TVFJVQ1RfU09D S0FERFJfU1RPUkFHRSAxCnwgI2RlZmluZSBIQVZFX1NUUlVDVF9TT0NLQUREUl9TVE9SQUdFX1NT X0ZBTUlMWSAxCnwgI2RlZmluZSBIQVZFX1NUUlVDVF9BRERSSU5GTyAxCnwgI2RlZmluZSBIQVZF X0lOVFBUUl9UIDEKfCAjZGVmaW5lIEhBVkVfVUlOVFBUUl9UIDEKfCAjZGVmaW5lIEhBVkVfVU5T SUdORURfTE9OR19MT05HX0lOVCAxCnwgI2RlZmluZSBIQVZFX0xPTkdfTE9OR19JTlQgMQp8ICNk ZWZpbmUgcmVzdHJpY3QgX19yZXN0cmljdAp8ICNkZWZpbmUgcGdfcmVzdHJpY3QgX19yZXN0cmlj dAp8ICNkZWZpbmUgSEFWRV9TVFJVQ1RfT1BUSU9OIDEKfCAjZGVmaW5lIFNJWkVPRl9PRkZfVCA0 CnwgI2RlZmluZSBTSVpFT0ZfQk9PTCAxCnwgI2RlZmluZSBIQVZFX0lOVF9USU1FWk9ORSAxCnwg LyogZW5kIGNvbmZkZWZzLmguICAqLwp8ICNpbmNsdWRlIDxzeXMvdHlwZXMuaD4KfCAjaW5jbHVk ZSA8c3lzL3NvY2tldC5oPgp8IGV4dGVybiBpbnQgYWNjZXB0ICh1bnNpZ25lZCBpbnQsIHZvaWQg Kiwgc2l6ZV90ICopOwpjb25maWd1cmU6MTQ3OTE6IHg4Nl82NC13NjQtbWluZ3czMi1nY2MgLWMg LVdhbGwgLVdtaXNzaW5nLXByb3RvdHlwZXMgLVdwb2ludGVyLWFyaXRoIC1XZGVjbGFyYXRpb24t YWZ0ZXItc3RhdGVtZW50IC1XZW5kaWYtbGFiZWxzIC1XbWlzc2luZy1mb3JtYXQtYXR0cmlidXRl IC1XZm9ybWF0LXNlY3VyaXR5IC1mbm8tc3RyaWN0LWFsaWFzaW5nIC1md3JhcHYgLWZleGNlc3Mt cHJlY2lzaW9uPXN0YW5kYXJkIC1Xbm8tZm9ybWF0LXRydW5jYXRpb24gLVduby1zdHJpbmdvcC10 cnVuY2F0aW9uIC1nIC1PIC1mbm8tb21pdC1mcmFtZS1wb2ludGVyICAtSS93L1ItMy41Ll8vcG9z dGdyZXMvc3JjL2luY2x1ZGUvcG9ydC93aW4zMiAtREVYRUNfQkFDS0VORCAgLUkvdy96bGliLTEu Mi44LXdpbjMyLXg4Nl82NC9pbmNsdWRlIC1JL3cvb3BlbnNzbC0xLjAuMmUtd2luMzIteDg2XzY0 L2luY2x1ZGUgLUkvdy9saWJ4bWwyLTIuOS4zLXdpbjMyLXg4Nl82NC9pbmNsdWRlL2xpYnhtbDIg LUkvdy9saWJ4c2x0LTEuMS4yOC13aW4zMi14ODZfNjQvaW5jbHVkZSBjb25mdGVzdC5jID4mNQpj b25mdGVzdC5jOjc5OjEyOiBlcnJvcjogY29uZmxpY3RpbmcgdHlwZXMgZm9yICdhY2NlcHQnCiBl eHRlcm4gaW50IGFjY2VwdCAodW5zaWduZWQgaW50LCB2b2lkICosIHNvY2tsZW5fdCAqKTsKICAg ICAgICAgICAgXn5+fn5+CkluIGZpbGUgaW5jbHVkZWQgZnJvbSBXOi9SLTMuNS5fL3Bvc3RncmVz L3NyYy9pbmNsdWRlL3BvcnQvd2luMzIvc3lzL3NvY2tldC5oOjE0LAogICAgICAgICAgICAgICAg IGZyb20gY29uZnRlc3QuYzo3ODoKQzovbXN5czY0L21pbmd3NjQveDg2XzY0LXc2NC1taW5ndzMy L2luY2x1ZGUvd2luc29jazIuaDo5NzM6Mzc6IG5vdGU6IHByZXZpb3VzIGRlY2xhcmF0aW9uIG9m ICdhY2NlcHQnIHdhcyBoZXJlCiAgIFdJTlNPQ0tfQVBJX0xJTktBR0UgU09DS0VUIFdTQUFQSSBh Y2NlcHQoU09DS0VUIHMsc3RydWN0IHNvY2thZGRyICphZGRyLGludCAqYWRkcmxlbik7CiAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBefn5+fn4KY29uZmlndXJlOjE0NzkxOiAk PyA9IDEKY29uZmlndXJlOiBmYWlsZWQgcHJvZ3JhbSB3YXM6CnwgLyogY29uZmRlZnMuaCAqLwp8 ICNkZWZpbmUgUEFDS0FHRV9OQU1FICJQb3N0Z3JlU1FMIgp8ICNkZWZpbmUgUEFDS0FHRV9UQVJO QU1FICJwb3N0Z3Jlc3FsIgp8ICNkZWZpbmUgUEFDS0FHRV9WRVJTSU9OICIxMWJldGEzIgp8ICNk ZWZpbmUgUEFDS0FHRV9TVFJJTkcgIlBvc3RncmVTUUwgMTFiZXRhMyIKfCAjZGVmaW5lIFBBQ0tB R0VfQlVHUkVQT1JUICJwZ3NxbC1idWdzQHBvc3RncmVzcWwub3JnIgp8ICNkZWZpbmUgUEFDS0FH RV9VUkwgIiIKfCAjZGVmaW5lIFBHX01BSk9SVkVSU0lPTiAiMTEiCnwgI2RlZmluZSBQR19WRVJT SU9OICIxMWJldGEzIgp8ICNkZWZpbmUgREVGX1BHUE9SVCA1NDMyCnwgI2RlZmluZSBERUZfUEdQ T1JUX1NUUiAiNTQzMiIKfCAjZGVmaW5lIEJMQ0tTWiA4MTkyCnwgI2RlZmluZSBSRUxTRUdfU0la RSAxMzEwNzIKfCAjZGVmaW5lIFhMT0dfQkxDS1NaIDgxOTIKfCAjZGVmaW5lIFVTRV9BU1NFUlRf Q0hFQ0tJTkcgMQp8ICNkZWZpbmUgRU5BQkxFX1RIUkVBRF9TQUZFVFkgMQp8ICNkZWZpbmUgVVNF X0lDVSAxCnwgI2RlZmluZSBQR19LUkJfU1JWTkFNICJwb3N0Z3JlcyIKfCAjZGVmaW5lIFVTRV9P UEVOU1NMIDEKfCAjZGVmaW5lIFVTRV9MSUJYTUwgMQp8ICNkZWZpbmUgVVNFX0xJQlhTTFQgMQp8 ICNkZWZpbmUgU1REQ19IRUFERVJTIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1RZUEVTX0ggMQp8ICNk ZWZpbmUgSEFWRV9TWVNfU1RBVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1RETElCX0ggMQp8ICNkZWZp bmUgSEFWRV9TVFJJTkdfSCAxCnwgI2RlZmluZSBIQVZFX01FTU9SWV9IIDEKfCAjZGVmaW5lIEhB VkVfU1RSSU5HU19IIDEKfCAjZGVmaW5lIEhBVkVfSU5UVFlQRVNfSCAxCnwgI2RlZmluZSBIQVZF X1NURElOVF9IIDEKfCAjZGVmaW5lIEhBVkVfVU5JU1REX0ggMQp8ICNkZWZpbmUgSEFWRV9MSUJN IDEKfCAjZGVmaW5lIEhBVkVfTElCWiAxCnwgI2RlZmluZSBIQVZFX1NQSU5MT0NLUyAxCnwgI2Rl ZmluZSBIQVZFX0FUT01JQ1MgMQp8ICNkZWZpbmUgSEFWRV9TU0xfR0VUX0NVUlJFTlRfQ09NUFJF U1NJT04gMQp8ICNkZWZpbmUgSEFWRV9YNTA5X0dFVF9TSUdOQVRVUkVfTklEIDEKfCAjZGVmaW5l IEhBVkVfQ1JZUFRPX0xPQ0sgMQp8ICNkZWZpbmUgSEFWRV9MSUJYTUwyIDEKfCAjZGVmaW5lIEhB VkVfTElCWFNMVCAxCnwgI2RlZmluZSBIQVZFX19CT09MIDEKfCAjZGVmaW5lIEhBVkVfU1REQk9P TF9IIDEKfCAjZGVmaW5lIEhBVkVfR0VUT1BUX0ggMQp8ICNkZWZpbmUgSEFWRV9JRUVFRlBfSCAx CnwgI2RlZmluZSBIQVZFX1VUSU1FX0ggMQp8ICNkZWZpbmUgSEFWRV9XQ0hBUl9IIDEKfCAjZGVm aW5lIEhBVkVfV0NUWVBFX0ggMQp8ICNkZWZpbmUgSEFWRV9DUlRERUZTX0ggMQp8ICNkZWZpbmUg UEdfUFJJTlRGX0FUVFJJQlVURSBnbnVfcHJpbnRmCnwgI2RlZmluZSBGTEVYSUJMRV9BUlJBWV9N RU1CRVIgLyoqLwp8ICNkZWZpbmUgSEFWRV9GVU5DTkFNRV9fRlVOQyAxCnwgI2RlZmluZSBIQVZF X19TVEFUSUNfQVNTRVJUIDEKfCAjZGVmaW5lIEhBVkVfVFlQRU9GIDEKfCAjZGVmaW5lIEhBVkVf X0JVSUxUSU5fVFlQRVNfQ09NUEFUSUJMRV9QIDEKfCAjZGVmaW5lIEhBVkVfX0JVSUxUSU5fQlNX QVAxNiAxCnwgI2RlZmluZSBIQVZFX19CVUlMVElOX0JTV0FQMzIgMQp8ICNkZWZpbmUgSEFWRV9f QlVJTFRJTl9CU1dBUDY0IDEKfCAjZGVmaW5lIEhBVkVfX0JVSUxUSU5fQ09OU1RBTlRfUCAxCnwg I2RlZmluZSBIQVZFX19CVUlMVElOX1VOUkVBQ0hBQkxFIDEKfCAjZGVmaW5lIEhBVkVfQ09NUFVU RURfR09UTyAxCnwgI2RlZmluZSBIQVZFX19WQV9BUkdTIDEKfCAjZGVmaW5lIEhBVkVfVFpOQU1F IDEKfCAjZGVmaW5lIEhBVkVfU1RSVUNUX1NPQ0tBRERSX1NUT1JBR0UgMQp8ICNkZWZpbmUgSEFW RV9TVFJVQ1RfU09DS0FERFJfU1RPUkFHRV9TU19GQU1JTFkgMQp8ICNkZWZpbmUgSEFWRV9TVFJV Q1RfQUREUklORk8gMQp8ICNkZWZpbmUgSEFWRV9JTlRQVFJfVCAxCnwgI2RlZmluZSBIQVZFX1VJ TlRQVFJfVCAxCnwgI2RlZmluZSBIQVZFX1VOU0lHTkVEX0xPTkdfTE9OR19JTlQgMQp8ICNkZWZp bmUgSEFWRV9MT05HX0xPTkdfSU5UIDEKfCAjZGVmaW5lIHJlc3RyaWN0IF9fcmVzdHJpY3QKfCAj ZGVmaW5lIHBnX3Jlc3RyaWN0IF9fcmVzdHJpY3QKfCAjZGVmaW5lIEhBVkVfU1RSVUNUX09QVElP TiAxCnwgI2RlZmluZSBTSVpFT0ZfT0ZGX1QgNAp8ICNkZWZpbmUgU0laRU9GX0JPT0wgMQp8ICNk ZWZpbmUgSEFWRV9JTlRfVElNRVpPTkUgMQp8IC8qIGVuZCBjb25mZGVmcy5oLiAgKi8KfCAjaW5j bHVkZSA8c3lzL3R5cGVzLmg+CnwgI2luY2x1ZGUgPHN5cy9zb2NrZXQuaD4KfCBleHRlcm4gaW50 IGFjY2VwdCAodW5zaWduZWQgaW50LCB2b2lkICosIHNvY2tsZW5fdCAqKTsKY29uZmlndXJlOjE0 NzkxOiB4ODZfNjQtdzY0LW1pbmd3MzItZ2NjIC1jIC1XYWxsIC1XbWlzc2luZy1wcm90b3R5cGVz IC1XcG9pbnRlci1hcml0aCAtV2RlY2xhcmF0aW9uLWFmdGVyLXN0YXRlbWVudCAtV2VuZGlmLWxh YmVscyAtV21pc3NpbmctZm9ybWF0LWF0dHJpYnV0ZSAtV2Zvcm1hdC1zZWN1cml0eSAtZm5vLXN0 cmljdC1hbGlhc2luZyAtZndyYXB2IC1mZXhjZXNzLXByZWNpc2lvbj1zdGFuZGFyZCAtV25vLWZv cm1hdC10cnVuY2F0aW9uIC1Xbm8tc3RyaW5nb3AtdHJ1bmNhdGlvbiAtZyAtTyAtZm5vLW9taXQt ZnJhbWUtcG9pbnRlciAgLUkvdy9SLTMuNS5fL3Bvc3RncmVzL3NyYy9pbmNsdWRlL3BvcnQvd2lu MzIgLURFWEVDX0JBQ0tFTkQgIC1JL3cvemxpYi0xLjIuOC13aW4zMi14ODZfNjQvaW5jbHVkZSAt SS93L29wZW5zc2wtMS4wLjJlLXdpbjMyLXg4Nl82NC9pbmNsdWRlIC1JL3cvbGlieG1sMi0yLjku My13aW4zMi14ODZfNjQvaW5jbHVkZS9saWJ4bWwyIC1JL3cvbGlieHNsdC0xLjEuMjgtd2luMzIt eDg2XzY0L2luY2x1ZGUgY29uZnRlc3QuYyA+JjUKY29uZnRlc3QuYzo3OToxMjogZXJyb3I6IGNv bmZsaWN0aW5nIHR5cGVzIGZvciAnYWNjZXB0JwogZXh0ZXJuIGludCBhY2NlcHQgKHVuc2lnbmVk IGludCwgdm9pZCAqLCB1bnNpZ25lZCBpbnQgKik7CiAgICAgICAgICAgIF5+fn5+fgpJbiBmaWxl IGluY2x1ZGVkIGZyb20gVzovUi0zLjUuXy9wb3N0Z3Jlcy9zcmMvaW5jbHVkZS9wb3J0L3dpbjMy L3N5cy9zb2NrZXQuaDoxNCwKICAgICAgICAgICAgICAgICBmcm9tIGNvbmZ0ZXN0LmM6Nzg6CkM6 L21zeXM2NC9taW5ndzY0L3g4Nl82NC13NjQtbWluZ3czMi9pbmNsdWRlL3dpbnNvY2syLmg6OTcz OjM3OiBub3RlOiBwcmV2aW91cyBkZWNsYXJhdGlvbiBvZiAnYWNjZXB0JyB3YXMgaGVyZQogICBX SU5TT0NLX0FQSV9MSU5LQUdFIFNPQ0tFVCBXU0FBUEkgYWNjZXB0KFNPQ0tFVCBzLHN0cnVjdCBz b2NrYWRkciAqYWRkcixpbnQgKmFkZHJsZW4pOwogICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgXn5+fn5+CmNvbmZpZ3VyZToxNDc5MTogJD8gPSAxCmNvbmZpZ3VyZTogZmFpbGVk IHByb2dyYW0gd2FzOgp8IC8qIGNvbmZkZWZzLmggKi8KfCAjZGVmaW5lIFBBQ0tBR0VfTkFNRSAi UG9zdGdyZVNRTCIKfCAjZGVmaW5lIFBBQ0tBR0VfVEFSTkFNRSAicG9zdGdyZXNxbCIKfCAjZGVm aW5lIFBBQ0tBR0VfVkVSU0lPTiAiMTFiZXRhMyIKfCAjZGVmaW5lIFBBQ0tBR0VfU1RSSU5HICJQ b3N0Z3JlU1FMIDExYmV0YTMiCnwgI2RlZmluZSBQQUNLQUdFX0JVR1JFUE9SVCAicGdzcWwtYnVn c0Bwb3N0Z3Jlc3FsLm9yZyIKfCAjZGVmaW5lIFBBQ0tBR0VfVVJMICIiCnwgI2RlZmluZSBQR19N QUpPUlZFUlNJT04gIjExIgp8ICNkZWZpbmUgUEdfVkVSU0lPTiAiMTFiZXRhMyIKfCAjZGVmaW5l IERFRl9QR1BPUlQgNTQzMgp8ICNkZWZpbmUgREVGX1BHUE9SVF9TVFIgIjU0MzIiCnwgI2RlZmlu ZSBCTENLU1ogODE5Mgp8ICNkZWZpbmUgUkVMU0VHX1NJWkUgMTMxMDcyCnwgI2RlZmluZSBYTE9H X0JMQ0tTWiA4MTkyCnwgI2RlZmluZSBVU0VfQVNTRVJUX0NIRUNLSU5HIDEKfCAjZGVmaW5lIEVO QUJMRV9USFJFQURfU0FGRVRZIDEKfCAjZGVmaW5lIFVTRV9JQ1UgMQp8ICNkZWZpbmUgUEdfS1JC X1NSVk5BTSAicG9zdGdyZXMiCnwgI2RlZmluZSBVU0VfT1BFTlNTTCAxCnwgI2RlZmluZSBVU0Vf TElCWE1MIDEKfCAjZGVmaW5lIFVTRV9MSUJYU0xUIDEKfCAjZGVmaW5lIFNURENfSEVBREVSUyAx CnwgI2RlZmluZSBIQVZFX1NZU19UWVBFU19IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NUQVRfSCAx CnwgI2RlZmluZSBIQVZFX1NURExJQl9IIDEKfCAjZGVmaW5lIEhBVkVfU1RSSU5HX0ggMQp8ICNk ZWZpbmUgSEFWRV9NRU1PUllfSCAxCnwgI2RlZmluZSBIQVZFX1NUUklOR1NfSCAxCnwgI2RlZmlu ZSBIQVZFX0lOVFRZUEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERJTlRfSCAxCnwgI2RlZmluZSBI QVZFX1VOSVNURF9IIDEKfCAjZGVmaW5lIEhBVkVfTElCTSAxCnwgI2RlZmluZSBIQVZFX0xJQlog MQp8ICNkZWZpbmUgSEFWRV9TUElOTE9DS1MgMQp8ICNkZWZpbmUgSEFWRV9BVE9NSUNTIDEKfCAj ZGVmaW5lIEhBVkVfU1NMX0dFVF9DVVJSRU5UX0NPTVBSRVNTSU9OIDEKfCAjZGVmaW5lIEhBVkVf WDUwOV9HRVRfU0lHTkFUVVJFX05JRCAxCnwgI2RlZmluZSBIQVZFX0NSWVBUT19MT0NLIDEKfCAj ZGVmaW5lIEhBVkVfTElCWE1MMiAxCnwgI2RlZmluZSBIQVZFX0xJQlhTTFQgMQp8ICNkZWZpbmUg SEFWRV9fQk9PTCAxCnwgI2RlZmluZSBIQVZFX1NUREJPT0xfSCAxCnwgI2RlZmluZSBIQVZFX0dF VE9QVF9IIDEKfCAjZGVmaW5lIEhBVkVfSUVFRUZQX0ggMQp8ICNkZWZpbmUgSEFWRV9VVElNRV9I IDEKfCAjZGVmaW5lIEhBVkVfV0NIQVJfSCAxCnwgI2RlZmluZSBIQVZFX1dDVFlQRV9IIDEKfCAj ZGVmaW5lIEhBVkVfQ1JUREVGU19IIDEKfCAjZGVmaW5lIFBHX1BSSU5URl9BVFRSSUJVVEUgZ251 X3ByaW50Zgp8ICNkZWZpbmUgRkxFWElCTEVfQVJSQVlfTUVNQkVSIC8qKi8KfCAjZGVmaW5lIEhB VkVfRlVOQ05BTUVfX0ZVTkMgMQp8ICNkZWZpbmUgSEFWRV9fU1RBVElDX0FTU0VSVCAxCnwgI2Rl ZmluZSBIQVZFX1RZUEVPRiAxCnwgI2RlZmluZSBIQVZFX19CVUlMVElOX1RZUEVTX0NPTVBBVElC TEVfUCAxCnwgI2RlZmluZSBIQVZFX19CVUlMVElOX0JTV0FQMTYgMQp8ICNkZWZpbmUgSEFWRV9f QlVJTFRJTl9CU1dBUDMyIDEKfCAjZGVmaW5lIEhBVkVfX0JVSUxUSU5fQlNXQVA2NCAxCnwgI2Rl ZmluZSBIQVZFX19CVUlMVElOX0NPTlNUQU5UX1AgMQp8ICNkZWZpbmUgSEFWRV9fQlVJTFRJTl9V TlJFQUNIQUJMRSAxCnwgI2RlZmluZSBIQVZFX0NPTVBVVEVEX0dPVE8gMQp8ICNkZWZpbmUgSEFW RV9fVkFfQVJHUyAxCnwgI2RlZmluZSBIQVZFX1RaTkFNRSAxCnwgI2RlZmluZSBIQVZFX1NUUlVD VF9TT0NLQUREUl9TVE9SQUdFIDEKfCAjZGVmaW5lIEhBVkVfU1RSVUNUX1NPQ0tBRERSX1NUT1JB R0VfU1NfRkFNSUxZIDEKfCAjZGVmaW5lIEhBVkVfU1RSVUNUX0FERFJJTkZPIDEKfCAjZGVmaW5l IEhBVkVfSU5UUFRSX1QgMQp8ICNkZWZpbmUgSEFWRV9VSU5UUFRSX1QgMQp8ICNkZWZpbmUgSEFW RV9VTlNJR05FRF9MT05HX0xPTkdfSU5UIDEKfCAjZGVmaW5lIEhBVkVfTE9OR19MT05HX0lOVCAx CnwgI2RlZmluZSByZXN0cmljdCBfX3Jlc3RyaWN0CnwgI2RlZmluZSBwZ19yZXN0cmljdCBfX3Jl c3RyaWN0CnwgI2RlZmluZSBIQVZFX1NUUlVDVF9PUFRJT04gMQp8ICNkZWZpbmUgU0laRU9GX09G Rl9UIDQKfCAjZGVmaW5lIFNJWkVPRl9CT09MIDEKfCAjZGVmaW5lIEhBVkVfSU5UX1RJTUVaT05F IDEKfCAvKiBlbmQgY29uZmRlZnMuaC4gICovCnwgI2luY2x1ZGUgPHN5cy90eXBlcy5oPgp8ICNp bmNsdWRlIDxzeXMvc29ja2V0Lmg+CnwgZXh0ZXJuIGludCBhY2NlcHQgKHVuc2lnbmVkIGludCwg dm9pZCAqLCB1bnNpZ25lZCBpbnQgKik7CmNvbmZpZ3VyZToxNDc5MTogeDg2XzY0LXc2NC1taW5n dzMyLWdjYyAtYyAtV2FsbCAtV21pc3NpbmctcHJvdG90eXBlcyAtV3BvaW50ZXItYXJpdGggLVdk ZWNsYXJhdGlvbi1hZnRlci1zdGF0ZW1lbnQgLVdlbmRpZi1sYWJlbHMgLVdtaXNzaW5nLWZvcm1h dC1hdHRyaWJ1dGUgLVdmb3JtYXQtc2VjdXJpdHkgLWZuby1zdHJpY3QtYWxpYXNpbmcgLWZ3cmFw diAtZmV4Y2Vzcy1wcmVjaXNpb249c3RhbmRhcmQgLVduby1mb3JtYXQtdHJ1bmNhdGlvbiAtV25v LXN0cmluZ29wLXRydW5jYXRpb24gLWcgLU8gLWZuby1vbWl0LWZyYW1lLXBvaW50ZXIgIC1JL3cv Ui0zLjUuXy9wb3N0Z3Jlcy9zcmMvaW5jbHVkZS9wb3J0L3dpbjMyIC1ERVhFQ19CQUNLRU5EICAt SS93L3psaWItMS4yLjgtd2luMzIteDg2XzY0L2luY2x1ZGUgLUkvdy9vcGVuc3NsLTEuMC4yZS13 aW4zMi14ODZfNjQvaW5jbHVkZSAtSS93L2xpYnhtbDItMi45LjMtd2luMzIteDg2XzY0L2luY2x1 ZGUvbGlieG1sMiAtSS93L2xpYnhzbHQtMS4xLjI4LXdpbjMyLXg4Nl82NC9pbmNsdWRlIGNvbmZ0 ZXN0LmMgPiY1CmNvbmZ0ZXN0LmM6Nzk6MTI6IGVycm9yOiBjb25mbGljdGluZyB0eXBlcyBmb3Ig J2FjY2VwdCcKIGV4dGVybiBpbnQgYWNjZXB0ICh1bnNpZ25lZCBpbnQsIHZvaWQgKiwgdm9pZCAq KTsKICAgICAgICAgICAgXn5+fn5+CkluIGZpbGUgaW5jbHVkZWQgZnJvbSBXOi9SLTMuNS5fL3Bv c3RncmVzL3NyYy9pbmNsdWRlL3BvcnQvd2luMzIvc3lzL3NvY2tldC5oOjE0LAogICAgICAgICAg ICAgICAgIGZyb20gY29uZnRlc3QuYzo3ODoKQzovbXN5czY0L21pbmd3NjQveDg2XzY0LXc2NC1t aW5ndzMyL2luY2x1ZGUvd2luc29jazIuaDo5NzM6Mzc6IG5vdGU6IHByZXZpb3VzIGRlY2xhcmF0 aW9uIG9mICdhY2NlcHQnIHdhcyBoZXJlCiAgIFdJTlNPQ0tfQVBJX0xJTktBR0UgU09DS0VUIFdT QUFQSSBhY2NlcHQoU09DS0VUIHMsc3RydWN0IHNvY2thZGRyICphZGRyLGludCAqYWRkcmxlbik7 CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBefn5+fn4KY29uZmlndXJlOjE0 NzkxOiAkPyA9IDEKY29uZmlndXJlOiBmYWlsZWQgcHJvZ3JhbSB3YXM6CnwgLyogY29uZmRlZnMu aCAqLwp8ICNkZWZpbmUgUEFDS0FHRV9OQU1FICJQb3N0Z3JlU1FMIgp8ICNkZWZpbmUgUEFDS0FH RV9UQVJOQU1FICJwb3N0Z3Jlc3FsIgp8ICNkZWZpbmUgUEFDS0FHRV9WRVJTSU9OICIxMWJldGEz Igp8ICNkZWZpbmUgUEFDS0FHRV9TVFJJTkcgIlBvc3RncmVTUUwgMTFiZXRhMyIKfCAjZGVmaW5l IFBBQ0tBR0VfQlVHUkVQT1JUICJwZ3NxbC1idWdzQHBvc3RncmVzcWwub3JnIgp8ICNkZWZpbmUg UEFDS0FHRV9VUkwgIiIKfCAjZGVmaW5lIFBHX01BSk9SVkVSU0lPTiAiMTEiCnwgI2RlZmluZSBQ R19WRVJTSU9OICIxMWJldGEzIgp8ICNkZWZpbmUgREVGX1BHUE9SVCA1NDMyCnwgI2RlZmluZSBE RUZfUEdQT1JUX1NUUiAiNTQzMiIKfCAjZGVmaW5lIEJMQ0tTWiA4MTkyCnwgI2RlZmluZSBSRUxT RUdfU0laRSAxMzEwNzIKfCAjZGVmaW5lIFhMT0dfQkxDS1NaIDgxOTIKfCAjZGVmaW5lIFVTRV9B U1NFUlRfQ0hFQ0tJTkcgMQp8ICNkZWZpbmUgRU5BQkxFX1RIUkVBRF9TQUZFVFkgMQp8ICNkZWZp bmUgVVNFX0lDVSAxCnwgI2RlZmluZSBQR19LUkJfU1JWTkFNICJwb3N0Z3JlcyIKfCAjZGVmaW5l IFVTRV9PUEVOU1NMIDEKfCAjZGVmaW5lIFVTRV9MSUJYTUwgMQp8ICNkZWZpbmUgVVNFX0xJQlhT TFQgMQp8ICNkZWZpbmUgU1REQ19IRUFERVJTIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1RZUEVTX0gg MQp8ICNkZWZpbmUgSEFWRV9TWVNfU1RBVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1RETElCX0ggMQp8 ICNkZWZpbmUgSEFWRV9TVFJJTkdfSCAxCnwgI2RlZmluZSBIQVZFX01FTU9SWV9IIDEKfCAjZGVm aW5lIEhBVkVfU1RSSU5HU19IIDEKfCAjZGVmaW5lIEhBVkVfSU5UVFlQRVNfSCAxCnwgI2RlZmlu ZSBIQVZFX1NURElOVF9IIDEKfCAjZGVmaW5lIEhBVkVfVU5JU1REX0ggMQp8ICNkZWZpbmUgSEFW RV9MSUJNIDEKfCAjZGVmaW5lIEhBVkVfTElCWiAxCnwgI2RlZmluZSBIQVZFX1NQSU5MT0NLUyAx CnwgI2RlZmluZSBIQVZFX0FUT01JQ1MgMQp8ICNkZWZpbmUgSEFWRV9TU0xfR0VUX0NVUlJFTlRf Q09NUFJFU1NJT04gMQp8ICNkZWZpbmUgSEFWRV9YNTA5X0dFVF9TSUdOQVRVUkVfTklEIDEKfCAj ZGVmaW5lIEhBVkVfQ1JZUFRPX0xPQ0sgMQp8ICNkZWZpbmUgSEFWRV9MSUJYTUwyIDEKfCAjZGVm aW5lIEhBVkVfTElCWFNMVCAxCnwgI2RlZmluZSBIQVZFX19CT09MIDEKfCAjZGVmaW5lIEhBVkVf U1REQk9PTF9IIDEKfCAjZGVmaW5lIEhBVkVfR0VUT1BUX0ggMQp8ICNkZWZpbmUgSEFWRV9JRUVF RlBfSCAxCnwgI2RlZmluZSBIQVZFX1VUSU1FX0ggMQp8ICNkZWZpbmUgSEFWRV9XQ0hBUl9IIDEK fCAjZGVmaW5lIEhBVkVfV0NUWVBFX0ggMQp8ICNkZWZpbmUgSEFWRV9DUlRERUZTX0ggMQp8ICNk ZWZpbmUgUEdfUFJJTlRGX0FUVFJJQlVURSBnbnVfcHJpbnRmCnwgI2RlZmluZSBGTEVYSUJMRV9B UlJBWV9NRU1CRVIgLyoqLwp8ICNkZWZpbmUgSEFWRV9GVU5DTkFNRV9fRlVOQyAxCnwgI2RlZmlu ZSBIQVZFX19TVEFUSUNfQVNTRVJUIDEKfCAjZGVmaW5lIEhBVkVfVFlQRU9GIDEKfCAjZGVmaW5l IEhBVkVfX0JVSUxUSU5fVFlQRVNfQ09NUEFUSUJMRV9QIDEKfCAjZGVmaW5lIEhBVkVfX0JVSUxU SU5fQlNXQVAxNiAxCnwgI2RlZmluZSBIQVZFX19CVUlMVElOX0JTV0FQMzIgMQp8ICNkZWZpbmUg SEFWRV9fQlVJTFRJTl9CU1dBUDY0IDEKfCAjZGVmaW5lIEhBVkVfX0JVSUxUSU5fQ09OU1RBTlRf UCAxCnwgI2RlZmluZSBIQVZFX19CVUlMVElOX1VOUkVBQ0hBQkxFIDEKfCAjZGVmaW5lIEhBVkVf Q09NUFVURURfR09UTyAxCnwgI2RlZmluZSBIQVZFX19WQV9BUkdTIDEKfCAjZGVmaW5lIEhBVkVf VFpOQU1FIDEKfCAjZGVmaW5lIEhBVkVfU1RSVUNUX1NPQ0tBRERSX1NUT1JBR0UgMQp8ICNkZWZp bmUgSEFWRV9TVFJVQ1RfU09DS0FERFJfU1RPUkFHRV9TU19GQU1JTFkgMQp8ICNkZWZpbmUgSEFW RV9TVFJVQ1RfQUREUklORk8gMQp8ICNkZWZpbmUgSEFWRV9JTlRQVFJfVCAxCnwgI2RlZmluZSBI QVZFX1VJTlRQVFJfVCAxCnwgI2RlZmluZSBIQVZFX1VOU0lHTkVEX0xPTkdfTE9OR19JTlQgMQp8 ICNkZWZpbmUgSEFWRV9MT05HX0xPTkdfSU5UIDEKfCAjZGVmaW5lIHJlc3RyaWN0IF9fcmVzdHJp Y3QKfCAjZGVmaW5lIHBnX3Jlc3RyaWN0IF9fcmVzdHJpY3QKfCAjZGVmaW5lIEhBVkVfU1RSVUNU X09QVElPTiAxCnwgI2RlZmluZSBTSVpFT0ZfT0ZGX1QgNAp8ICNkZWZpbmUgU0laRU9GX0JPT0wg MQp8ICNkZWZpbmUgSEFWRV9JTlRfVElNRVpPTkUgMQp8IC8qIGVuZCBjb25mZGVmcy5oLiAgKi8K fCAjaW5jbHVkZSA8c3lzL3R5cGVzLmg+CnwgI2luY2x1ZGUgPHN5cy9zb2NrZXQuaD4KfCBleHRl cm4gaW50IGFjY2VwdCAodW5zaWduZWQgaW50LCB2b2lkICosIHZvaWQgKik7CmNvbmZpZ3VyZTox NDc5MTogeDg2XzY0LXc2NC1taW5ndzMyLWdjYyAtYyAtV2FsbCAtV21pc3NpbmctcHJvdG90eXBl cyAtV3BvaW50ZXItYXJpdGggLVdkZWNsYXJhdGlvbi1hZnRlci1zdGF0ZW1lbnQgLVdlbmRpZi1s YWJlbHMgLVdtaXNzaW5nLWZvcm1hdC1hdHRyaWJ1dGUgLVdmb3JtYXQtc2VjdXJpdHkgLWZuby1z dHJpY3QtYWxpYXNpbmcgLWZ3cmFwdiAtZmV4Y2Vzcy1wcmVjaXNpb249c3RhbmRhcmQgLVduby1m b3JtYXQtdHJ1bmNhdGlvbiAtV25vLXN0cmluZ29wLXRydW5jYXRpb24gLWcgLU8gLWZuby1vbWl0 LWZyYW1lLXBvaW50ZXIgIC1JL3cvUi0zLjUuXy9wb3N0Z3Jlcy9zcmMvaW5jbHVkZS9wb3J0L3dp bjMyIC1ERVhFQ19CQUNLRU5EICAtSS93L3psaWItMS4yLjgtd2luMzIteDg2XzY0L2luY2x1ZGUg LUkvdy9vcGVuc3NsLTEuMC4yZS13aW4zMi14ODZfNjQvaW5jbHVkZSAtSS93L2xpYnhtbDItMi45 LjMtd2luMzIteDg2XzY0L2luY2x1ZGUvbGlieG1sMiAtSS93L2xpYnhzbHQtMS4xLjI4LXdpbjMy LXg4Nl82NC9pbmNsdWRlIGNvbmZ0ZXN0LmMgPiY1CmNvbmZ0ZXN0LmM6Nzk6MTI6IGVycm9yOiBj b25mbGljdGluZyB0eXBlcyBmb3IgJ2FjY2VwdCcKIGV4dGVybiBpbnQgYWNjZXB0IChTT0NLRVQs IHN0cnVjdCBzb2NrYWRkciAqLCBpbnQgKik7CiAgICAgICAgICAgIF5+fn5+fgpJbiBmaWxlIGlu Y2x1ZGVkIGZyb20gVzovUi0zLjUuXy9wb3N0Z3Jlcy9zcmMvaW5jbHVkZS9wb3J0L3dpbjMyL3N5 cy9zb2NrZXQuaDoxNCwKICAgICAgICAgICAgICAgICBmcm9tIGNvbmZ0ZXN0LmM6Nzg6CkM6L21z eXM2NC9taW5ndzY0L3g4Nl82NC13NjQtbWluZ3czMi9pbmNsdWRlL3dpbnNvY2syLmg6OTczOjM3 OiBub3RlOiBwcmV2aW91cyBkZWNsYXJhdGlvbiBvZiAnYWNjZXB0JyB3YXMgaGVyZQogICBXSU5T T0NLX0FQSV9MSU5LQUdFIFNPQ0tFVCBXU0FBUEkgYWNjZXB0KFNPQ0tFVCBzLHN0cnVjdCBzb2Nr YWRkciAqYWRkcixpbnQgKmFkZHJsZW4pOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgXn5+fn5+CmNvbmZpZ3VyZToxNDc5MTogJD8gPSAxCmNvbmZpZ3VyZTogZmFpbGVkIHBy b2dyYW0gd2FzOgp8IC8qIGNvbmZkZWZzLmggKi8KfCAjZGVmaW5lIFBBQ0tBR0VfTkFNRSAiUG9z dGdyZVNRTCIKfCAjZGVmaW5lIFBBQ0tBR0VfVEFSTkFNRSAicG9zdGdyZXNxbCIKfCAjZGVmaW5l IFBBQ0tBR0VfVkVSU0lPTiAiMTFiZXRhMyIKfCAjZGVmaW5lIFBBQ0tBR0VfU1RSSU5HICJQb3N0 Z3JlU1FMIDExYmV0YTMiCnwgI2RlZmluZSBQQUNLQUdFX0JVR1JFUE9SVCAicGdzcWwtYnVnc0Bw b3N0Z3Jlc3FsLm9yZyIKfCAjZGVmaW5lIFBBQ0tBR0VfVVJMICIiCnwgI2RlZmluZSBQR19NQUpP UlZFUlNJT04gIjExIgp8ICNkZWZpbmUgUEdfVkVSU0lPTiAiMTFiZXRhMyIKfCAjZGVmaW5lIERF Rl9QR1BPUlQgNTQzMgp8ICNkZWZpbmUgREVGX1BHUE9SVF9TVFIgIjU0MzIiCnwgI2RlZmluZSBC TENLU1ogODE5Mgp8ICNkZWZpbmUgUkVMU0VHX1NJWkUgMTMxMDcyCnwgI2RlZmluZSBYTE9HX0JM Q0tTWiA4MTkyCnwgI2RlZmluZSBVU0VfQVNTRVJUX0NIRUNLSU5HIDEKfCAjZGVmaW5lIEVOQUJM RV9USFJFQURfU0FGRVRZIDEKfCAjZGVmaW5lIFVTRV9JQ1UgMQp8ICNkZWZpbmUgUEdfS1JCX1NS Vk5BTSAicG9zdGdyZXMiCnwgI2RlZmluZSBVU0VfT1BFTlNTTCAxCnwgI2RlZmluZSBVU0VfTElC WE1MIDEKfCAjZGVmaW5lIFVTRV9MSUJYU0xUIDEKfCAjZGVmaW5lIFNURENfSEVBREVSUyAxCnwg I2RlZmluZSBIQVZFX1NZU19UWVBFU19IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NUQVRfSCAxCnwg I2RlZmluZSBIQVZFX1NURExJQl9IIDEKfCAjZGVmaW5lIEhBVkVfU1RSSU5HX0ggMQp8ICNkZWZp bmUgSEFWRV9NRU1PUllfSCAxCnwgI2RlZmluZSBIQVZFX1NUUklOR1NfSCAxCnwgI2RlZmluZSBI QVZFX0lOVFRZUEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERJTlRfSCAxCnwgI2RlZmluZSBIQVZF X1VOSVNURF9IIDEKfCAjZGVmaW5lIEhBVkVfTElCTSAxCnwgI2RlZmluZSBIQVZFX0xJQlogMQp8 ICNkZWZpbmUgSEFWRV9TUElOTE9DS1MgMQp8ICNkZWZpbmUgSEFWRV9BVE9NSUNTIDEKfCAjZGVm aW5lIEhBVkVfU1NMX0dFVF9DVVJSRU5UX0NPTVBSRVNTSU9OIDEKfCAjZGVmaW5lIEhBVkVfWDUw OV9HRVRfU0lHTkFUVVJFX05JRCAxCnwgI2RlZmluZSBIQVZFX0NSWVBUT19MT0NLIDEKfCAjZGVm aW5lIEhBVkVfTElCWE1MMiAxCnwgI2RlZmluZSBIQVZFX0xJQlhTTFQgMQp8ICNkZWZpbmUgSEFW RV9fQk9PTCAxCnwgI2RlZmluZSBIQVZFX1NUREJPT0xfSCAxCnwgI2RlZmluZSBIQVZFX0dFVE9Q VF9IIDEKfCAjZGVmaW5lIEhBVkVfSUVFRUZQX0ggMQp8ICNkZWZpbmUgSEFWRV9VVElNRV9IIDEK fCAjZGVmaW5lIEhBVkVfV0NIQVJfSCAxCnwgI2RlZmluZSBIQVZFX1dDVFlQRV9IIDEKfCAjZGVm aW5lIEhBVkVfQ1JUREVGU19IIDEKfCAjZGVmaW5lIFBHX1BSSU5URl9BVFRSSUJVVEUgZ251X3By aW50Zgp8ICNkZWZpbmUgRkxFWElCTEVfQVJSQVlfTUVNQkVSIC8qKi8KfCAjZGVmaW5lIEhBVkVf RlVOQ05BTUVfX0ZVTkMgMQp8ICNkZWZpbmUgSEFWRV9fU1RBVElDX0FTU0VSVCAxCnwgI2RlZmlu ZSBIQVZFX1RZUEVPRiAxCnwgI2RlZmluZSBIQVZFX19CVUlMVElOX1RZUEVTX0NPTVBBVElCTEVf UCAxCnwgI2RlZmluZSBIQVZFX19CVUlMVElOX0JTV0FQMTYgMQp8ICNkZWZpbmUgSEFWRV9fQlVJ TFRJTl9CU1dBUDMyIDEKfCAjZGVmaW5lIEhBVkVfX0JVSUxUSU5fQlNXQVA2NCAxCnwgI2RlZmlu ZSBIQVZFX19CVUlMVElOX0NPTlNUQU5UX1AgMQp8ICNkZWZpbmUgSEFWRV9fQlVJTFRJTl9VTlJF QUNIQUJMRSAxCnwgI2RlZmluZSBIQVZFX0NPTVBVVEVEX0dPVE8gMQp8ICNkZWZpbmUgSEFWRV9f VkFfQVJHUyAxCnwgI2RlZmluZSBIQVZFX1RaTkFNRSAxCnwgI2RlZmluZSBIQVZFX1NUUlVDVF9T T0NLQUREUl9TVE9SQUdFIDEKfCAjZGVmaW5lIEhBVkVfU1RSVUNUX1NPQ0tBRERSX1NUT1JBR0Vf U1NfRkFNSUxZIDEKfCAjZGVmaW5lIEhBVkVfU1RSVUNUX0FERFJJTkZPIDEKfCAjZGVmaW5lIEhB VkVfSU5UUFRSX1QgMQp8ICNkZWZpbmUgSEFWRV9VSU5UUFRSX1QgMQp8ICNkZWZpbmUgSEFWRV9V TlNJR05FRF9MT05HX0xPTkdfSU5UIDEKfCAjZGVmaW5lIEhBVkVfTE9OR19MT05HX0lOVCAxCnwg I2RlZmluZSByZXN0cmljdCBfX3Jlc3RyaWN0CnwgI2RlZmluZSBwZ19yZXN0cmljdCBfX3Jlc3Ry aWN0CnwgI2RlZmluZSBIQVZFX1NUUlVDVF9PUFRJT04gMQp8ICNkZWZpbmUgU0laRU9GX09GRl9U IDQKfCAjZGVmaW5lIFNJWkVPRl9CT09MIDEKfCAjZGVmaW5lIEhBVkVfSU5UX1RJTUVaT05FIDEK fCAvKiBlbmQgY29uZmRlZnMuaC4gICovCnwgI2luY2x1ZGUgPHN5cy90eXBlcy5oPgp8ICNpbmNs dWRlIDxzeXMvc29ja2V0Lmg+CnwgZXh0ZXJuIGludCBhY2NlcHQgKFNPQ0tFVCwgc3RydWN0IHNv Y2thZGRyICosIGludCAqKTsKY29uZmlndXJlOjE0NzkxOiB4ODZfNjQtdzY0LW1pbmd3MzItZ2Nj IC1jIC1XYWxsIC1XbWlzc2luZy1wcm90b3R5cGVzIC1XcG9pbnRlci1hcml0aCAtV2RlY2xhcmF0 aW9uLWFmdGVyLXN0YXRlbWVudCAtV2VuZGlmLWxhYmVscyAtV21pc3NpbmctZm9ybWF0LWF0dHJp YnV0ZSAtV2Zvcm1hdC1zZWN1cml0eSAtZm5vLXN0cmljdC1hbGlhc2luZyAtZndyYXB2IC1mZXhj ZXNzLXByZWNpc2lvbj1zdGFuZGFyZCAtV25vLWZvcm1hdC10cnVuY2F0aW9uIC1Xbm8tc3RyaW5n b3AtdHJ1bmNhdGlvbiAtZyAtTyAtZm5vLW9taXQtZnJhbWUtcG9pbnRlciAgLUkvdy9SLTMuNS5f L3Bvc3RncmVzL3NyYy9pbmNsdWRlL3BvcnQvd2luMzIgLURFWEVDX0JBQ0tFTkQgIC1JL3cvemxp Yi0xLjIuOC13aW4zMi14ODZfNjQvaW5jbHVkZSAtSS93L29wZW5zc2wtMS4wLjJlLXdpbjMyLXg4 Nl82NC9pbmNsdWRlIC1JL3cvbGlieG1sMi0yLjkuMy13aW4zMi14ODZfNjQvaW5jbHVkZS9saWJ4 bWwyIC1JL3cvbGlieHNsdC0xLjEuMjgtd2luMzIteDg2XzY0L2luY2x1ZGUgY29uZnRlc3QuYyA+ JjUKY29uZnRlc3QuYzo3OToxMjogZXJyb3I6IGNvbmZsaWN0aW5nIHR5cGVzIGZvciAnYWNjZXB0 JwogZXh0ZXJuIGludCBhY2NlcHQgKFNPQ0tFVCwgc3RydWN0IHNvY2thZGRyICosIHNpemVfdCAq KTsKICAgICAgICAgICAgXn5+fn5+CkluIGZpbGUgaW5jbHVkZWQgZnJvbSBXOi9SLTMuNS5fL3Bv c3RncmVzL3NyYy9pbmNsdWRlL3BvcnQvd2luMzIvc3lzL3NvY2tldC5oOjE0LAogICAgICAgICAg ICAgICAgIGZyb20gY29uZnRlc3QuYzo3ODoKQzovbXN5czY0L21pbmd3NjQveDg2XzY0LXc2NC1t aW5ndzMyL2luY2x1ZGUvd2luc29jazIuaDo5NzM6Mzc6IG5vdGU6IHByZXZpb3VzIGRlY2xhcmF0 aW9uIG9mICdhY2NlcHQnIHdhcyBoZXJlCiAgIFdJTlNPQ0tfQVBJX0xJTktBR0UgU09DS0VUIFdT QUFQSSBhY2NlcHQoU09DS0VUIHMsc3RydWN0IHNvY2thZGRyICphZGRyLGludCAqYWRkcmxlbik7 CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBefn5+fn4KY29uZmlndXJlOjE0 NzkxOiAkPyA9IDEKY29uZmlndXJlOiBmYWlsZWQgcHJvZ3JhbSB3YXM6CnwgLyogY29uZmRlZnMu aCAqLwp8ICNkZWZpbmUgUEFDS0FHRV9OQU1FICJQb3N0Z3JlU1FMIgp8ICNkZWZpbmUgUEFDS0FH RV9UQVJOQU1FICJwb3N0Z3Jlc3FsIgp8ICNkZWZpbmUgUEFDS0FHRV9WRVJTSU9OICIxMWJldGEz Igp8ICNkZWZpbmUgUEFDS0FHRV9TVFJJTkcgIlBvc3RncmVTUUwgMTFiZXRhMyIKfCAjZGVmaW5l IFBBQ0tBR0VfQlVHUkVQT1JUICJwZ3NxbC1idWdzQHBvc3RncmVzcWwub3JnIgp8ICNkZWZpbmUg UEFDS0FHRV9VUkwgIiIKfCAjZGVmaW5lIFBHX01BSk9SVkVSU0lPTiAiMTEiCnwgI2RlZmluZSBQ R19WRVJTSU9OICIxMWJldGEzIgp8ICNkZWZpbmUgREVGX1BHUE9SVCA1NDMyCnwgI2RlZmluZSBE RUZfUEdQT1JUX1NUUiAiNTQzMiIKfCAjZGVmaW5lIEJMQ0tTWiA4MTkyCnwgI2RlZmluZSBSRUxT RUdfU0laRSAxMzEwNzIKfCAjZGVmaW5lIFhMT0dfQkxDS1NaIDgxOTIKfCAjZGVmaW5lIFVTRV9B U1NFUlRfQ0hFQ0tJTkcgMQp8ICNkZWZpbmUgRU5BQkxFX1RIUkVBRF9TQUZFVFkgMQp8ICNkZWZp bmUgVVNFX0lDVSAxCnwgI2RlZmluZSBQR19LUkJfU1JWTkFNICJwb3N0Z3JlcyIKfCAjZGVmaW5l IFVTRV9PUEVOU1NMIDEKfCAjZGVmaW5lIFVTRV9MSUJYTUwgMQp8ICNkZWZpbmUgVVNFX0xJQlhT TFQgMQp8ICNkZWZpbmUgU1REQ19IRUFERVJTIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1RZUEVTX0gg MQp8ICNkZWZpbmUgSEFWRV9TWVNfU1RBVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1RETElCX0ggMQp8 ICNkZWZpbmUgSEFWRV9TVFJJTkdfSCAxCnwgI2RlZmluZSBIQVZFX01FTU9SWV9IIDEKfCAjZGVm aW5lIEhBVkVfU1RSSU5HU19IIDEKfCAjZGVmaW5lIEhBVkVfSU5UVFlQRVNfSCAxCnwgI2RlZmlu ZSBIQVZFX1NURElOVF9IIDEKfCAjZGVmaW5lIEhBVkVfVU5JU1REX0ggMQp8ICNkZWZpbmUgSEFW RV9MSUJNIDEKfCAjZGVmaW5lIEhBVkVfTElCWiAxCnwgI2RlZmluZSBIQVZFX1NQSU5MT0NLUyAx CnwgI2RlZmluZSBIQVZFX0FUT01JQ1MgMQp8ICNkZWZpbmUgSEFWRV9TU0xfR0VUX0NVUlJFTlRf Q09NUFJFU1NJT04gMQp8ICNkZWZpbmUgSEFWRV9YNTA5X0dFVF9TSUdOQVRVUkVfTklEIDEKfCAj ZGVmaW5lIEhBVkVfQ1JZUFRPX0xPQ0sgMQp8ICNkZWZpbmUgSEFWRV9MSUJYTUwyIDEKfCAjZGVm aW5lIEhBVkVfTElCWFNMVCAxCnwgI2RlZmluZSBIQVZFX19CT09MIDEKfCAjZGVmaW5lIEhBVkVf U1REQk9PTF9IIDEKfCAjZGVmaW5lIEhBVkVfR0VUT1BUX0ggMQp8ICNkZWZpbmUgSEFWRV9JRUVF RlBfSCAxCnwgI2RlZmluZSBIQVZFX1VUSU1FX0ggMQp8ICNkZWZpbmUgSEFWRV9XQ0hBUl9IIDEK fCAjZGVmaW5lIEhBVkVfV0NUWVBFX0ggMQp8ICNkZWZpbmUgSEFWRV9DUlRERUZTX0ggMQp8ICNk ZWZpbmUgUEdfUFJJTlRGX0FUVFJJQlVURSBnbnVfcHJpbnRmCnwgI2RlZmluZSBGTEVYSUJMRV9B UlJBWV9NRU1CRVIgLyoqLwp8ICNkZWZpbmUgSEFWRV9GVU5DTkFNRV9fRlVOQyAxCnwgI2RlZmlu ZSBIQVZFX19TVEFUSUNfQVNTRVJUIDEKfCAjZGVmaW5lIEhBVkVfVFlQRU9GIDEKfCAjZGVmaW5l IEhBVkVfX0JVSUxUSU5fVFlQRVNfQ09NUEFUSUJMRV9QIDEKfCAjZGVmaW5lIEhBVkVfX0JVSUxU SU5fQlNXQVAxNiAxCnwgI2RlZmluZSBIQVZFX19CVUlMVElOX0JTV0FQMzIgMQp8ICNkZWZpbmUg SEFWRV9fQlVJTFRJTl9CU1dBUDY0IDEKfCAjZGVmaW5lIEhBVkVfX0JVSUxUSU5fQ09OU1RBTlRf UCAxCnwgI2RlZmluZSBIQVZFX19CVUlMVElOX1VOUkVBQ0hBQkxFIDEKfCAjZGVmaW5lIEhBVkVf Q09NUFVURURfR09UTyAxCnwgI2RlZmluZSBIQVZFX19WQV9BUkdTIDEKfCAjZGVmaW5lIEhBVkVf VFpOQU1FIDEKfCAjZGVmaW5lIEhBVkVfU1RSVUNUX1NPQ0tBRERSX1NUT1JBR0UgMQp8ICNkZWZp bmUgSEFWRV9TVFJVQ1RfU09DS0FERFJfU1RPUkFHRV9TU19GQU1JTFkgMQp8ICNkZWZpbmUgSEFW RV9TVFJVQ1RfQUREUklORk8gMQp8ICNkZWZpbmUgSEFWRV9JTlRQVFJfVCAxCnwgI2RlZmluZSBI QVZFX1VJTlRQVFJfVCAxCnwgI2RlZmluZSBIQVZFX1VOU0lHTkVEX0xPTkdfTE9OR19JTlQgMQp8 ICNkZWZpbmUgSEFWRV9MT05HX0xPTkdfSU5UIDEKfCAjZGVmaW5lIHJlc3RyaWN0IF9fcmVzdHJp Y3QKfCAjZGVmaW5lIHBnX3Jlc3RyaWN0IF9fcmVzdHJpY3QKfCAjZGVmaW5lIEhBVkVfU1RSVUNU X09QVElPTiAxCnwgI2RlZmluZSBTSVpFT0ZfT0ZGX1QgNAp8ICNkZWZpbmUgU0laRU9GX0JPT0wg MQp8ICNkZWZpbmUgSEFWRV9JTlRfVElNRVpPTkUgMQp8IC8qIGVuZCBjb25mZGVmcy5oLiAgKi8K fCAjaW5jbHVkZSA8c3lzL3R5cGVzLmg+CnwgI2luY2x1ZGUgPHN5cy9zb2NrZXQuaD4KfCBleHRl cm4gaW50IGFjY2VwdCAoU09DS0VULCBzdHJ1Y3Qgc29ja2FkZHIgKiwgc2l6ZV90ICopOwpjb25m aWd1cmU6MTQ3OTE6IHg4Nl82NC13NjQtbWluZ3czMi1nY2MgLWMgLVdhbGwgLVdtaXNzaW5nLXBy b3RvdHlwZXMgLVdwb2ludGVyLWFyaXRoIC1XZGVjbGFyYXRpb24tYWZ0ZXItc3RhdGVtZW50IC1X ZW5kaWYtbGFiZWxzIC1XbWlzc2luZy1mb3JtYXQtYXR0cmlidXRlIC1XZm9ybWF0LXNlY3VyaXR5 IC1mbm8tc3RyaWN0LWFsaWFzaW5nIC1md3JhcHYgLWZleGNlc3MtcHJlY2lzaW9uPXN0YW5kYXJk IC1Xbm8tZm9ybWF0LXRydW5jYXRpb24gLVduby1zdHJpbmdvcC10cnVuY2F0aW9uIC1nIC1PIC1m bm8tb21pdC1mcmFtZS1wb2ludGVyICAtSS93L1ItMy41Ll8vcG9zdGdyZXMvc3JjL2luY2x1ZGUv cG9ydC93aW4zMiAtREVYRUNfQkFDS0VORCAgLUkvdy96bGliLTEuMi44LXdpbjMyLXg4Nl82NC9p bmNsdWRlIC1JL3cvb3BlbnNzbC0xLjAuMmUtd2luMzIteDg2XzY0L2luY2x1ZGUgLUkvdy9saWJ4 bWwyLTIuOS4zLXdpbjMyLXg4Nl82NC9pbmNsdWRlL2xpYnhtbDIgLUkvdy9saWJ4c2x0LTEuMS4y OC13aW4zMi14ODZfNjQvaW5jbHVkZSBjb25mdGVzdC5jID4mNQpjb25mdGVzdC5jOjc5OjEyOiBl cnJvcjogY29uZmxpY3RpbmcgdHlwZXMgZm9yICdhY2NlcHQnCiBleHRlcm4gaW50IGFjY2VwdCAo U09DS0VULCBzdHJ1Y3Qgc29ja2FkZHIgKiwgc29ja2xlbl90ICopOwogICAgICAgICAgICBefn5+ fn4KSW4gZmlsZSBpbmNsdWRlZCBmcm9tIFc6L1ItMy41Ll8vcG9zdGdyZXMvc3JjL2luY2x1ZGUv cG9ydC93aW4zMi9zeXMvc29ja2V0Lmg6MTQsCiAgICAgICAgICAgICAgICAgZnJvbSBjb25mdGVz dC5jOjc4OgpDOi9tc3lzNjQvbWluZ3c2NC94ODZfNjQtdzY0LW1pbmd3MzIvaW5jbHVkZS93aW5z b2NrMi5oOjk3MzozNzogbm90ZTogcHJldmlvdXMgZGVjbGFyYXRpb24gb2YgJ2FjY2VwdCcgd2Fz IGhlcmUKICAgV0lOU09DS19BUElfTElOS0FHRSBTT0NLRVQgV1NBQVBJIGFjY2VwdChTT0NLRVQg cyxzdHJ1Y3Qgc29ja2FkZHIgKmFkZHIsaW50ICphZGRybGVuKTsKICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIF5+fn5+fgpjb25maWd1cmU6MTQ3OTE6ICQ/ID0gMQpjb25maWd1 cmU6IGZhaWxlZCBwcm9ncmFtIHdhczoKfCAvKiBjb25mZGVmcy5oICovCnwgI2RlZmluZSBQQUNL QUdFX05BTUUgIlBvc3RncmVTUUwiCnwgI2RlZmluZSBQQUNLQUdFX1RBUk5BTUUgInBvc3RncmVz cWwiCnwgI2RlZmluZSBQQUNLQUdFX1ZFUlNJT04gIjExYmV0YTMiCnwgI2RlZmluZSBQQUNLQUdF X1NUUklORyAiUG9zdGdyZVNRTCAxMWJldGEzIgp8ICNkZWZpbmUgUEFDS0FHRV9CVUdSRVBPUlQg InBnc3FsLWJ1Z3NAcG9zdGdyZXNxbC5vcmciCnwgI2RlZmluZSBQQUNLQUdFX1VSTCAiIgp8ICNk ZWZpbmUgUEdfTUFKT1JWRVJTSU9OICIxMSIKfCAjZGVmaW5lIFBHX1ZFUlNJT04gIjExYmV0YTMi CnwgI2RlZmluZSBERUZfUEdQT1JUIDU0MzIKfCAjZGVmaW5lIERFRl9QR1BPUlRfU1RSICI1NDMy Igp8ICNkZWZpbmUgQkxDS1NaIDgxOTIKfCAjZGVmaW5lIFJFTFNFR19TSVpFIDEzMTA3Mgp8ICNk ZWZpbmUgWExPR19CTENLU1ogODE5Mgp8ICNkZWZpbmUgVVNFX0FTU0VSVF9DSEVDS0lORyAxCnwg I2RlZmluZSBFTkFCTEVfVEhSRUFEX1NBRkVUWSAxCnwgI2RlZmluZSBVU0VfSUNVIDEKfCAjZGVm aW5lIFBHX0tSQl9TUlZOQU0gInBvc3RncmVzIgp8ICNkZWZpbmUgVVNFX09QRU5TU0wgMQp8ICNk ZWZpbmUgVVNFX0xJQlhNTCAxCnwgI2RlZmluZSBVU0VfTElCWFNMVCAxCnwgI2RlZmluZSBTVERD X0hFQURFUlMgMQp8ICNkZWZpbmUgSEFWRV9TWVNfVFlQRVNfSCAxCnwgI2RlZmluZSBIQVZFX1NZ U19TVEFUX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERMSUJfSCAxCnwgI2RlZmluZSBIQVZFX1NUUklO R19IIDEKfCAjZGVmaW5lIEhBVkVfTUVNT1JZX0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJJTkdTX0gg MQp8ICNkZWZpbmUgSEFWRV9JTlRUWVBFU19IIDEKfCAjZGVmaW5lIEhBVkVfU1RESU5UX0ggMQp8 ICNkZWZpbmUgSEFWRV9VTklTVERfSCAxCnwgI2RlZmluZSBIQVZFX0xJQk0gMQp8ICNkZWZpbmUg SEFWRV9MSUJaIDEKfCAjZGVmaW5lIEhBVkVfU1BJTkxPQ0tTIDEKfCAjZGVmaW5lIEhBVkVfQVRP TUlDUyAxCnwgI2RlZmluZSBIQVZFX1NTTF9HRVRfQ1VSUkVOVF9DT01QUkVTU0lPTiAxCnwgI2Rl ZmluZSBIQVZFX1g1MDlfR0VUX1NJR05BVFVSRV9OSUQgMQp8ICNkZWZpbmUgSEFWRV9DUllQVE9f TE9DSyAxCnwgI2RlZmluZSBIQVZFX0xJQlhNTDIgMQp8ICNkZWZpbmUgSEFWRV9MSUJYU0xUIDEK fCAjZGVmaW5lIEhBVkVfX0JPT0wgMQp8ICNkZWZpbmUgSEFWRV9TVERCT09MX0ggMQp8ICNkZWZp bmUgSEFWRV9HRVRPUFRfSCAxCnwgI2RlZmluZSBIQVZFX0lFRUVGUF9IIDEKfCAjZGVmaW5lIEhB VkVfVVRJTUVfSCAxCnwgI2RlZmluZSBIQVZFX1dDSEFSX0ggMQp8ICNkZWZpbmUgSEFWRV9XQ1RZ UEVfSCAxCnwgI2RlZmluZSBIQVZFX0NSVERFRlNfSCAxCnwgI2RlZmluZSBQR19QUklOVEZfQVRU UklCVVRFIGdudV9wcmludGYKfCAjZGVmaW5lIEZMRVhJQkxFX0FSUkFZX01FTUJFUiAvKiovCnwg I2RlZmluZSBIQVZFX0ZVTkNOQU1FX19GVU5DIDEKfCAjZGVmaW5lIEhBVkVfX1NUQVRJQ19BU1NF UlQgMQp8ICNkZWZpbmUgSEFWRV9UWVBFT0YgMQp8ICNkZWZpbmUgSEFWRV9fQlVJTFRJTl9UWVBF U19DT01QQVRJQkxFX1AgMQp8ICNkZWZpbmUgSEFWRV9fQlVJTFRJTl9CU1dBUDE2IDEKfCAjZGVm aW5lIEhBVkVfX0JVSUxUSU5fQlNXQVAzMiAxCnwgI2RlZmluZSBIQVZFX19CVUlMVElOX0JTV0FQ NjQgMQp8ICNkZWZpbmUgSEFWRV9fQlVJTFRJTl9DT05TVEFOVF9QIDEKfCAjZGVmaW5lIEhBVkVf X0JVSUxUSU5fVU5SRUFDSEFCTEUgMQp8ICNkZWZpbmUgSEFWRV9DT01QVVRFRF9HT1RPIDEKfCAj ZGVmaW5lIEhBVkVfX1ZBX0FSR1MgMQp8ICNkZWZpbmUgSEFWRV9UWk5BTUUgMQp8ICNkZWZpbmUg SEFWRV9TVFJVQ1RfU09DS0FERFJfU1RPUkFHRSAxCnwgI2RlZmluZSBIQVZFX1NUUlVDVF9TT0NL QUREUl9TVE9SQUdFX1NTX0ZBTUlMWSAxCnwgI2RlZmluZSBIQVZFX1NUUlVDVF9BRERSSU5GTyAx CnwgI2RlZmluZSBIQVZFX0lOVFBUUl9UIDEKfCAjZGVmaW5lIEhBVkVfVUlOVFBUUl9UIDEKfCAj ZGVmaW5lIEhBVkVfVU5TSUdORURfTE9OR19MT05HX0lOVCAxCnwgI2RlZmluZSBIQVZFX0xPTkdf TE9OR19JTlQgMQp8ICNkZWZpbmUgcmVzdHJpY3QgX19yZXN0cmljdAp8ICNkZWZpbmUgcGdfcmVz dHJpY3QgX19yZXN0cmljdAp8ICNkZWZpbmUgSEFWRV9TVFJVQ1RfT1BUSU9OIDEKfCAjZGVmaW5l IFNJWkVPRl9PRkZfVCA0CnwgI2RlZmluZSBTSVpFT0ZfQk9PTCAxCnwgI2RlZmluZSBIQVZFX0lO VF9USU1FWk9ORSAxCnwgLyogZW5kIGNvbmZkZWZzLmguICAqLwp8ICNpbmNsdWRlIDxzeXMvdHlw ZXMuaD4KfCAjaW5jbHVkZSA8c3lzL3NvY2tldC5oPgp8IGV4dGVybiBpbnQgYWNjZXB0IChTT0NL RVQsIHN0cnVjdCBzb2NrYWRkciAqLCBzb2NrbGVuX3QgKik7CmNvbmZpZ3VyZToxNDc5MTogeDg2 XzY0LXc2NC1taW5ndzMyLWdjYyAtYyAtV2FsbCAtV21pc3NpbmctcHJvdG90eXBlcyAtV3BvaW50 ZXItYXJpdGggLVdkZWNsYXJhdGlvbi1hZnRlci1zdGF0ZW1lbnQgLVdlbmRpZi1sYWJlbHMgLVdt aXNzaW5nLWZvcm1hdC1hdHRyaWJ1dGUgLVdmb3JtYXQtc2VjdXJpdHkgLWZuby1zdHJpY3QtYWxp YXNpbmcgLWZ3cmFwdiAtZmV4Y2Vzcy1wcmVjaXNpb249c3RhbmRhcmQgLVduby1mb3JtYXQtdHJ1 bmNhdGlvbiAtV25vLXN0cmluZ29wLXRydW5jYXRpb24gLWcgLU8gLWZuby1vbWl0LWZyYW1lLXBv aW50ZXIgIC1JL3cvUi0zLjUuXy9wb3N0Z3Jlcy9zcmMvaW5jbHVkZS9wb3J0L3dpbjMyIC1ERVhF Q19CQUNLRU5EICAtSS93L3psaWItMS4yLjgtd2luMzIteDg2XzY0L2luY2x1ZGUgLUkvdy9vcGVu c3NsLTEuMC4yZS13aW4zMi14ODZfNjQvaW5jbHVkZSAtSS93L2xpYnhtbDItMi45LjMtd2luMzIt eDg2XzY0L2luY2x1ZGUvbGlieG1sMiAtSS93L2xpYnhzbHQtMS4xLjI4LXdpbjMyLXg4Nl82NC9p bmNsdWRlIGNvbmZ0ZXN0LmMgPiY1CmNvbmZ0ZXN0LmM6Nzk6MTI6IGVycm9yOiBjb25mbGljdGlu ZyB0eXBlcyBmb3IgJ2FjY2VwdCcKIGV4dGVybiBpbnQgYWNjZXB0IChTT0NLRVQsIHN0cnVjdCBz b2NrYWRkciAqLCB1bnNpZ25lZCBpbnQgKik7CiAgICAgICAgICAgIF5+fn5+fgpJbiBmaWxlIGlu Y2x1ZGVkIGZyb20gVzovUi0zLjUuXy9wb3N0Z3Jlcy9zcmMvaW5jbHVkZS9wb3J0L3dpbjMyL3N5 cy9zb2NrZXQuaDoxNCwKICAgICAgICAgICAgICAgICBmcm9tIGNvbmZ0ZXN0LmM6Nzg6CkM6L21z eXM2NC9taW5ndzY0L3g4Nl82NC13NjQtbWluZ3czMi9pbmNsdWRlL3dpbnNvY2syLmg6OTczOjM3 OiBub3RlOiBwcmV2aW91cyBkZWNsYXJhdGlvbiBvZiAnYWNjZXB0JyB3YXMgaGVyZQogICBXSU5T T0NLX0FQSV9MSU5LQUdFIFNPQ0tFVCBXU0FBUEkgYWNjZXB0KFNPQ0tFVCBzLHN0cnVjdCBzb2Nr YWRkciAqYWRkcixpbnQgKmFkZHJsZW4pOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgXn5+fn5+CmNvbmZpZ3VyZToxNDc5MTogJD8gPSAxCmNvbmZpZ3VyZTogZmFpbGVkIHBy b2dyYW0gd2FzOgp8IC8qIGNvbmZkZWZzLmggKi8KfCAjZGVmaW5lIFBBQ0tBR0VfTkFNRSAiUG9z dGdyZVNRTCIKfCAjZGVmaW5lIFBBQ0tBR0VfVEFSTkFNRSAicG9zdGdyZXNxbCIKfCAjZGVmaW5l IFBBQ0tBR0VfVkVSU0lPTiAiMTFiZXRhMyIKfCAjZGVmaW5lIFBBQ0tBR0VfU1RSSU5HICJQb3N0 Z3JlU1FMIDExYmV0YTMiCnwgI2RlZmluZSBQQUNLQUdFX0JVR1JFUE9SVCAicGdzcWwtYnVnc0Bw b3N0Z3Jlc3FsLm9yZyIKfCAjZGVmaW5lIFBBQ0tBR0VfVVJMICIiCnwgI2RlZmluZSBQR19NQUpP UlZFUlNJT04gIjExIgp8ICNkZWZpbmUgUEdfVkVSU0lPTiAiMTFiZXRhMyIKfCAjZGVmaW5lIERF Rl9QR1BPUlQgNTQzMgp8ICNkZWZpbmUgREVGX1BHUE9SVF9TVFIgIjU0MzIiCnwgI2RlZmluZSBC TENLU1ogODE5Mgp8ICNkZWZpbmUgUkVMU0VHX1NJWkUgMTMxMDcyCnwgI2RlZmluZSBYTE9HX0JM Q0tTWiA4MTkyCnwgI2RlZmluZSBVU0VfQVNTRVJUX0NIRUNLSU5HIDEKfCAjZGVmaW5lIEVOQUJM RV9USFJFQURfU0FGRVRZIDEKfCAjZGVmaW5lIFVTRV9JQ1UgMQp8ICNkZWZpbmUgUEdfS1JCX1NS Vk5BTSAicG9zdGdyZXMiCnwgI2RlZmluZSBVU0VfT1BFTlNTTCAxCnwgI2RlZmluZSBVU0VfTElC WE1MIDEKfCAjZGVmaW5lIFVTRV9MSUJYU0xUIDEKfCAjZGVmaW5lIFNURENfSEVBREVSUyAxCnwg I2RlZmluZSBIQVZFX1NZU19UWVBFU19IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NUQVRfSCAxCnwg I2RlZmluZSBIQVZFX1NURExJQl9IIDEKfCAjZGVmaW5lIEhBVkVfU1RSSU5HX0ggMQp8ICNkZWZp bmUgSEFWRV9NRU1PUllfSCAxCnwgI2RlZmluZSBIQVZFX1NUUklOR1NfSCAxCnwgI2RlZmluZSBI QVZFX0lOVFRZUEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERJTlRfSCAxCnwgI2RlZmluZSBIQVZF X1VOSVNURF9IIDEKfCAjZGVmaW5lIEhBVkVfTElCTSAxCnwgI2RlZmluZSBIQVZFX0xJQlogMQp8 ICNkZWZpbmUgSEFWRV9TUElOTE9DS1MgMQp8ICNkZWZpbmUgSEFWRV9BVE9NSUNTIDEKfCAjZGVm aW5lIEhBVkVfU1NMX0dFVF9DVVJSRU5UX0NPTVBSRVNTSU9OIDEKfCAjZGVmaW5lIEhBVkVfWDUw OV9HRVRfU0lHTkFUVVJFX05JRCAxCnwgI2RlZmluZSBIQVZFX0NSWVBUT19MT0NLIDEKfCAjZGVm aW5lIEhBVkVfTElCWE1MMiAxCnwgI2RlZmluZSBIQVZFX0xJQlhTTFQgMQp8ICNkZWZpbmUgSEFW RV9fQk9PTCAxCnwgI2RlZmluZSBIQVZFX1NUREJPT0xfSCAxCnwgI2RlZmluZSBIQVZFX0dFVE9Q VF9IIDEKfCAjZGVmaW5lIEhBVkVfSUVFRUZQX0ggMQp8ICNkZWZpbmUgSEFWRV9VVElNRV9IIDEK fCAjZGVmaW5lIEhBVkVfV0NIQVJfSCAxCnwgI2RlZmluZSBIQVZFX1dDVFlQRV9IIDEKfCAjZGVm aW5lIEhBVkVfQ1JUREVGU19IIDEKfCAjZGVmaW5lIFBHX1BSSU5URl9BVFRSSUJVVEUgZ251X3By aW50Zgp8ICNkZWZpbmUgRkxFWElCTEVfQVJSQVlfTUVNQkVSIC8qKi8KfCAjZGVmaW5lIEhBVkVf RlVOQ05BTUVfX0ZVTkMgMQp8ICNkZWZpbmUgSEFWRV9fU1RBVElDX0FTU0VSVCAxCnwgI2RlZmlu ZSBIQVZFX1RZUEVPRiAxCnwgI2RlZmluZSBIQVZFX19CVUlMVElOX1RZUEVTX0NPTVBBVElCTEVf UCAxCnwgI2RlZmluZSBIQVZFX19CVUlMVElOX0JTV0FQMTYgMQp8ICNkZWZpbmUgSEFWRV9fQlVJ TFRJTl9CU1dBUDMyIDEKfCAjZGVmaW5lIEhBVkVfX0JVSUxUSU5fQlNXQVA2NCAxCnwgI2RlZmlu ZSBIQVZFX19CVUlMVElOX0NPTlNUQU5UX1AgMQp8ICNkZWZpbmUgSEFWRV9fQlVJTFRJTl9VTlJF QUNIQUJMRSAxCnwgI2RlZmluZSBIQVZFX0NPTVBVVEVEX0dPVE8gMQp8ICNkZWZpbmUgSEFWRV9f VkFfQVJHUyAxCnwgI2RlZmluZSBIQVZFX1RaTkFNRSAxCnwgI2RlZmluZSBIQVZFX1NUUlVDVF9T T0NLQUREUl9TVE9SQUdFIDEKfCAjZGVmaW5lIEhBVkVfU1RSVUNUX1NPQ0tBRERSX1NUT1JBR0Vf U1NfRkFNSUxZIDEKfCAjZGVmaW5lIEhBVkVfU1RSVUNUX0FERFJJTkZPIDEKfCAjZGVmaW5lIEhB VkVfSU5UUFRSX1QgMQp8ICNkZWZpbmUgSEFWRV9VSU5UUFRSX1QgMQp8ICNkZWZpbmUgSEFWRV9V TlNJR05FRF9MT05HX0xPTkdfSU5UIDEKfCAjZGVmaW5lIEhBVkVfTE9OR19MT05HX0lOVCAxCnwg I2RlZmluZSByZXN0cmljdCBfX3Jlc3RyaWN0CnwgI2RlZmluZSBwZ19yZXN0cmljdCBfX3Jlc3Ry aWN0CnwgI2RlZmluZSBIQVZFX1NUUlVDVF9PUFRJT04gMQp8ICNkZWZpbmUgU0laRU9GX09GRl9U IDQKfCAjZGVmaW5lIFNJWkVPRl9CT09MIDEKfCAjZGVmaW5lIEhBVkVfSU5UX1RJTUVaT05FIDEK fCAvKiBlbmQgY29uZmRlZnMuaC4gICovCnwgI2luY2x1ZGUgPHN5cy90eXBlcy5oPgp8ICNpbmNs dWRlIDxzeXMvc29ja2V0Lmg+CnwgZXh0ZXJuIGludCBhY2NlcHQgKFNPQ0tFVCwgc3RydWN0IHNv Y2thZGRyICosIHVuc2lnbmVkIGludCAqKTsKY29uZmlndXJlOjE0NzkxOiB4ODZfNjQtdzY0LW1p bmd3MzItZ2NjIC1jIC1XYWxsIC1XbWlzc2luZy1wcm90b3R5cGVzIC1XcG9pbnRlci1hcml0aCAt V2RlY2xhcmF0aW9uLWFmdGVyLXN0YXRlbWVudCAtV2VuZGlmLWxhYmVscyAtV21pc3NpbmctZm9y bWF0LWF0dHJpYnV0ZSAtV2Zvcm1hdC1zZWN1cml0eSAtZm5vLXN0cmljdC1hbGlhc2luZyAtZndy YXB2IC1mZXhjZXNzLXByZWNpc2lvbj1zdGFuZGFyZCAtV25vLWZvcm1hdC10cnVuY2F0aW9uIC1X bm8tc3RyaW5nb3AtdHJ1bmNhdGlvbiAtZyAtTyAtZm5vLW9taXQtZnJhbWUtcG9pbnRlciAgLUkv dy9SLTMuNS5fL3Bvc3RncmVzL3NyYy9pbmNsdWRlL3BvcnQvd2luMzIgLURFWEVDX0JBQ0tFTkQg IC1JL3cvemxpYi0xLjIuOC13aW4zMi14ODZfNjQvaW5jbHVkZSAtSS93L29wZW5zc2wtMS4wLjJl LXdpbjMyLXg4Nl82NC9pbmNsdWRlIC1JL3cvbGlieG1sMi0yLjkuMy13aW4zMi14ODZfNjQvaW5j bHVkZS9saWJ4bWwyIC1JL3cvbGlieHNsdC0xLjEuMjgtd2luMzIteDg2XzY0L2luY2x1ZGUgY29u ZnRlc3QuYyA+JjUKY29uZnRlc3QuYzo3OToxMjogZXJyb3I6IGNvbmZsaWN0aW5nIHR5cGVzIGZv ciAnYWNjZXB0JwogZXh0ZXJuIGludCBhY2NlcHQgKFNPQ0tFVCwgc3RydWN0IHNvY2thZGRyICos IHZvaWQgKik7CiAgICAgICAgICAgIF5+fn5+fgpJbiBmaWxlIGluY2x1ZGVkIGZyb20gVzovUi0z LjUuXy9wb3N0Z3Jlcy9zcmMvaW5jbHVkZS9wb3J0L3dpbjMyL3N5cy9zb2NrZXQuaDoxNCwKICAg ICAgICAgICAgICAgICBmcm9tIGNvbmZ0ZXN0LmM6Nzg6CkM6L21zeXM2NC9taW5ndzY0L3g4Nl82 NC13NjQtbWluZ3czMi9pbmNsdWRlL3dpbnNvY2syLmg6OTczOjM3OiBub3RlOiBwcmV2aW91cyBk ZWNsYXJhdGlvbiBvZiAnYWNjZXB0JyB3YXMgaGVyZQogICBXSU5TT0NLX0FQSV9MSU5LQUdFIFNP Q0tFVCBXU0FBUEkgYWNjZXB0KFNPQ0tFVCBzLHN0cnVjdCBzb2NrYWRkciAqYWRkcixpbnQgKmFk ZHJsZW4pOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXn5+fn5+CmNvbmZp Z3VyZToxNDc5MTogJD8gPSAxCmNvbmZpZ3VyZTogZmFpbGVkIHByb2dyYW0gd2FzOgp8IC8qIGNv bmZkZWZzLmggKi8KfCAjZGVmaW5lIFBBQ0tBR0VfTkFNRSAiUG9zdGdyZVNRTCIKfCAjZGVmaW5l IFBBQ0tBR0VfVEFSTkFNRSAicG9zdGdyZXNxbCIKfCAjZGVmaW5lIFBBQ0tBR0VfVkVSU0lPTiAi MTFiZXRhMyIKfCAjZGVmaW5lIFBBQ0tBR0VfU1RSSU5HICJQb3N0Z3JlU1FMIDExYmV0YTMiCnwg I2RlZmluZSBQQUNLQUdFX0JVR1JFUE9SVCAicGdzcWwtYnVnc0Bwb3N0Z3Jlc3FsLm9yZyIKfCAj ZGVmaW5lIFBBQ0tBR0VfVVJMICIiCnwgI2RlZmluZSBQR19NQUpPUlZFUlNJT04gIjExIgp8ICNk ZWZpbmUgUEdfVkVSU0lPTiAiMTFiZXRhMyIKfCAjZGVmaW5lIERFRl9QR1BPUlQgNTQzMgp8ICNk ZWZpbmUgREVGX1BHUE9SVF9TVFIgIjU0MzIiCnwgI2RlZmluZSBCTENLU1ogODE5Mgp8ICNkZWZp bmUgUkVMU0VHX1NJWkUgMTMxMDcyCnwgI2RlZmluZSBYTE9HX0JMQ0tTWiA4MTkyCnwgI2RlZmlu ZSBVU0VfQVNTRVJUX0NIRUNLSU5HIDEKfCAjZGVmaW5lIEVOQUJMRV9USFJFQURfU0FGRVRZIDEK fCAjZGVmaW5lIFVTRV9JQ1UgMQp8ICNkZWZpbmUgUEdfS1JCX1NSVk5BTSAicG9zdGdyZXMiCnwg I2RlZmluZSBVU0VfT1BFTlNTTCAxCnwgI2RlZmluZSBVU0VfTElCWE1MIDEKfCAjZGVmaW5lIFVT RV9MSUJYU0xUIDEKfCAjZGVmaW5lIFNURENfSEVBREVSUyAxCnwgI2RlZmluZSBIQVZFX1NZU19U WVBFU19IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NUQVRfSCAxCnwgI2RlZmluZSBIQVZFX1NURExJ Ql9IIDEKfCAjZGVmaW5lIEhBVkVfU1RSSU5HX0ggMQp8ICNkZWZpbmUgSEFWRV9NRU1PUllfSCAx CnwgI2RlZmluZSBIQVZFX1NUUklOR1NfSCAxCnwgI2RlZmluZSBIQVZFX0lOVFRZUEVTX0ggMQp8 ICNkZWZpbmUgSEFWRV9TVERJTlRfSCAxCnwgI2RlZmluZSBIQVZFX1VOSVNURF9IIDEKfCAjZGVm aW5lIEhBVkVfTElCTSAxCnwgI2RlZmluZSBIQVZFX0xJQlogMQp8ICNkZWZpbmUgSEFWRV9TUElO TE9DS1MgMQp8ICNkZWZpbmUgSEFWRV9BVE9NSUNTIDEKfCAjZGVmaW5lIEhBVkVfU1NMX0dFVF9D VVJSRU5UX0NPTVBSRVNTSU9OIDEKfCAjZGVmaW5lIEhBVkVfWDUwOV9HRVRfU0lHTkFUVVJFX05J RCAxCnwgI2RlZmluZSBIQVZFX0NSWVBUT19MT0NLIDEKfCAjZGVmaW5lIEhBVkVfTElCWE1MMiAx CnwgI2RlZmluZSBIQVZFX0xJQlhTTFQgMQp8ICNkZWZpbmUgSEFWRV9fQk9PTCAxCnwgI2RlZmlu ZSBIQVZFX1NUREJPT0xfSCAxCnwgI2RlZmluZSBIQVZFX0dFVE9QVF9IIDEKfCAjZGVmaW5lIEhB VkVfSUVFRUZQX0ggMQp8ICNkZWZpbmUgSEFWRV9VVElNRV9IIDEKfCAjZGVmaW5lIEhBVkVfV0NI QVJfSCAxCnwgI2RlZmluZSBIQVZFX1dDVFlQRV9IIDEKfCAjZGVmaW5lIEhBVkVfQ1JUREVGU19I IDEKfCAjZGVmaW5lIFBHX1BSSU5URl9BVFRSSUJVVEUgZ251X3ByaW50Zgp8ICNkZWZpbmUgRkxF WElCTEVfQVJSQVlfTUVNQkVSIC8qKi8KfCAjZGVmaW5lIEhBVkVfRlVOQ05BTUVfX0ZVTkMgMQp8 ICNkZWZpbmUgSEFWRV9fU1RBVElDX0FTU0VSVCAxCnwgI2RlZmluZSBIQVZFX1RZUEVPRiAxCnwg I2RlZmluZSBIQVZFX19CVUlMVElOX1RZUEVTX0NPTVBBVElCTEVfUCAxCnwgI2RlZmluZSBIQVZF X19CVUlMVElOX0JTV0FQMTYgMQp8ICNkZWZpbmUgSEFWRV9fQlVJTFRJTl9CU1dBUDMyIDEKfCAj ZGVmaW5lIEhBVkVfX0JVSUxUSU5fQlNXQVA2NCAxCnwgI2RlZmluZSBIQVZFX19CVUlMVElOX0NP TlNUQU5UX1AgMQp8ICNkZWZpbmUgSEFWRV9fQlVJTFRJTl9VTlJFQUNIQUJMRSAxCnwgI2RlZmlu ZSBIQVZFX0NPTVBVVEVEX0dPVE8gMQp8ICNkZWZpbmUgSEFWRV9fVkFfQVJHUyAxCnwgI2RlZmlu ZSBIQVZFX1RaTkFNRSAxCnwgI2RlZmluZSBIQVZFX1NUUlVDVF9TT0NLQUREUl9TVE9SQUdFIDEK fCAjZGVmaW5lIEhBVkVfU1RSVUNUX1NPQ0tBRERSX1NUT1JBR0VfU1NfRkFNSUxZIDEKfCAjZGVm aW5lIEhBVkVfU1RSVUNUX0FERFJJTkZPIDEKfCAjZGVmaW5lIEhBVkVfSU5UUFRSX1QgMQp8ICNk ZWZpbmUgSEFWRV9VSU5UUFRSX1QgMQp8ICNkZWZpbmUgSEFWRV9VTlNJR05FRF9MT05HX0xPTkdf SU5UIDEKfCAjZGVmaW5lIEhBVkVfTE9OR19MT05HX0lOVCAxCnwgI2RlZmluZSByZXN0cmljdCBf X3Jlc3RyaWN0CnwgI2RlZmluZSBwZ19yZXN0cmljdCBfX3Jlc3RyaWN0CnwgI2RlZmluZSBIQVZF X1NUUlVDVF9PUFRJT04gMQp8ICNkZWZpbmUgU0laRU9GX09GRl9UIDQKfCAjZGVmaW5lIFNJWkVP Rl9CT09MIDEKfCAjZGVmaW5lIEhBVkVfSU5UX1RJTUVaT05FIDEKfCAvKiBlbmQgY29uZmRlZnMu aC4gICovCnwgI2luY2x1ZGUgPHN5cy90eXBlcy5oPgp8ICNpbmNsdWRlIDxzeXMvc29ja2V0Lmg+ CnwgZXh0ZXJuIGludCBhY2NlcHQgKFNPQ0tFVCwgc3RydWN0IHNvY2thZGRyICosIHZvaWQgKik7 CmNvbmZpZ3VyZToxNDc5MTogeDg2XzY0LXc2NC1taW5ndzMyLWdjYyAtYyAtV2FsbCAtV21pc3Np bmctcHJvdG90eXBlcyAtV3BvaW50ZXItYXJpdGggLVdkZWNsYXJhdGlvbi1hZnRlci1zdGF0ZW1l bnQgLVdlbmRpZi1sYWJlbHMgLVdtaXNzaW5nLWZvcm1hdC1hdHRyaWJ1dGUgLVdmb3JtYXQtc2Vj dXJpdHkgLWZuby1zdHJpY3QtYWxpYXNpbmcgLWZ3cmFwdiAtZmV4Y2Vzcy1wcmVjaXNpb249c3Rh bmRhcmQgLVduby1mb3JtYXQtdHJ1bmNhdGlvbiAtV25vLXN0cmluZ29wLXRydW5jYXRpb24gLWcg LU8gLWZuby1vbWl0LWZyYW1lLXBvaW50ZXIgIC1JL3cvUi0zLjUuXy9wb3N0Z3Jlcy9zcmMvaW5j bHVkZS9wb3J0L3dpbjMyIC1ERVhFQ19CQUNLRU5EICAtSS93L3psaWItMS4yLjgtd2luMzIteDg2 XzY0L2luY2x1ZGUgLUkvdy9vcGVuc3NsLTEuMC4yZS13aW4zMi14ODZfNjQvaW5jbHVkZSAtSS93 L2xpYnhtbDItMi45LjMtd2luMzIteDg2XzY0L2luY2x1ZGUvbGlieG1sMiAtSS93L2xpYnhzbHQt MS4xLjI4LXdpbjMyLXg4Nl82NC9pbmNsdWRlIGNvbmZ0ZXN0LmMgPiY1CmNvbmZ0ZXN0LmM6Nzk6 MTI6IGVycm9yOiBjb25mbGljdGluZyB0eXBlcyBmb3IgJ2FjY2VwdCcKIGV4dGVybiBpbnQgYWNj ZXB0IChTT0NLRVQsIGNvbnN0IHN0cnVjdCBzb2NrYWRkciAqLCBpbnQgKik7CiAgICAgICAgICAg IF5+fn5+fgpJbiBmaWxlIGluY2x1ZGVkIGZyb20gVzovUi0zLjUuXy9wb3N0Z3Jlcy9zcmMvaW5j bHVkZS9wb3J0L3dpbjMyL3N5cy9zb2NrZXQuaDoxNCwKICAgICAgICAgICAgICAgICBmcm9tIGNv bmZ0ZXN0LmM6Nzg6CkM6L21zeXM2NC9taW5ndzY0L3g4Nl82NC13NjQtbWluZ3czMi9pbmNsdWRl L3dpbnNvY2syLmg6OTczOjM3OiBub3RlOiBwcmV2aW91cyBkZWNsYXJhdGlvbiBvZiAnYWNjZXB0 JyB3YXMgaGVyZQogICBXSU5TT0NLX0FQSV9MSU5LQUdFIFNPQ0tFVCBXU0FBUEkgYWNjZXB0KFNP Q0tFVCBzLHN0cnVjdCBzb2NrYWRkciAqYWRkcixpbnQgKmFkZHJsZW4pOwogICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgXn5+fn5+CmNvbmZpZ3VyZToxNDc5MTogJD8gPSAxCmNv bmZpZ3VyZTogZmFpbGVkIHByb2dyYW0gd2FzOgp8IC8qIGNvbmZkZWZzLmggKi8KfCAjZGVmaW5l IFBBQ0tBR0VfTkFNRSAiUG9zdGdyZVNRTCIKfCAjZGVmaW5lIFBBQ0tBR0VfVEFSTkFNRSAicG9z dGdyZXNxbCIKfCAjZGVmaW5lIFBBQ0tBR0VfVkVSU0lPTiAiMTFiZXRhMyIKfCAjZGVmaW5lIFBB Q0tBR0VfU1RSSU5HICJQb3N0Z3JlU1FMIDExYmV0YTMiCnwgI2RlZmluZSBQQUNLQUdFX0JVR1JF UE9SVCAicGdzcWwtYnVnc0Bwb3N0Z3Jlc3FsLm9yZyIKfCAjZGVmaW5lIFBBQ0tBR0VfVVJMICIi CnwgI2RlZmluZSBQR19NQUpPUlZFUlNJT04gIjExIgp8ICNkZWZpbmUgUEdfVkVSU0lPTiAiMTFi ZXRhMyIKfCAjZGVmaW5lIERFRl9QR1BPUlQgNTQzMgp8ICNkZWZpbmUgREVGX1BHUE9SVF9TVFIg IjU0MzIiCnwgI2RlZmluZSBCTENLU1ogODE5Mgp8ICNkZWZpbmUgUkVMU0VHX1NJWkUgMTMxMDcy CnwgI2RlZmluZSBYTE9HX0JMQ0tTWiA4MTkyCnwgI2RlZmluZSBVU0VfQVNTRVJUX0NIRUNLSU5H IDEKfCAjZGVmaW5lIEVOQUJMRV9USFJFQURfU0FGRVRZIDEKfCAjZGVmaW5lIFVTRV9JQ1UgMQp8 ICNkZWZpbmUgUEdfS1JCX1NSVk5BTSAicG9zdGdyZXMiCnwgI2RlZmluZSBVU0VfT1BFTlNTTCAx CnwgI2RlZmluZSBVU0VfTElCWE1MIDEKfCAjZGVmaW5lIFVTRV9MSUJYU0xUIDEKfCAjZGVmaW5l IFNURENfSEVBREVSUyAxCnwgI2RlZmluZSBIQVZFX1NZU19UWVBFU19IIDEKfCAjZGVmaW5lIEhB VkVfU1lTX1NUQVRfSCAxCnwgI2RlZmluZSBIQVZFX1NURExJQl9IIDEKfCAjZGVmaW5lIEhBVkVf U1RSSU5HX0ggMQp8ICNkZWZpbmUgSEFWRV9NRU1PUllfSCAxCnwgI2RlZmluZSBIQVZFX1NUUklO R1NfSCAxCnwgI2RlZmluZSBIQVZFX0lOVFRZUEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERJTlRf SCAxCnwgI2RlZmluZSBIQVZFX1VOSVNURF9IIDEKfCAjZGVmaW5lIEhBVkVfTElCTSAxCnwgI2Rl ZmluZSBIQVZFX0xJQlogMQp8ICNkZWZpbmUgSEFWRV9TUElOTE9DS1MgMQp8ICNkZWZpbmUgSEFW RV9BVE9NSUNTIDEKfCAjZGVmaW5lIEhBVkVfU1NMX0dFVF9DVVJSRU5UX0NPTVBSRVNTSU9OIDEK fCAjZGVmaW5lIEhBVkVfWDUwOV9HRVRfU0lHTkFUVVJFX05JRCAxCnwgI2RlZmluZSBIQVZFX0NS WVBUT19MT0NLIDEKfCAjZGVmaW5lIEhBVkVfTElCWE1MMiAxCnwgI2RlZmluZSBIQVZFX0xJQlhT TFQgMQp8ICNkZWZpbmUgSEFWRV9fQk9PTCAxCnwgI2RlZmluZSBIQVZFX1NUREJPT0xfSCAxCnwg I2RlZmluZSBIQVZFX0dFVE9QVF9IIDEKfCAjZGVmaW5lIEhBVkVfSUVFRUZQX0ggMQp8ICNkZWZp bmUgSEFWRV9VVElNRV9IIDEKfCAjZGVmaW5lIEhBVkVfV0NIQVJfSCAxCnwgI2RlZmluZSBIQVZF X1dDVFlQRV9IIDEKfCAjZGVmaW5lIEhBVkVfQ1JUREVGU19IIDEKfCAjZGVmaW5lIFBHX1BSSU5U Rl9BVFRSSUJVVEUgZ251X3ByaW50Zgp8ICNkZWZpbmUgRkxFWElCTEVfQVJSQVlfTUVNQkVSIC8q Ki8KfCAjZGVmaW5lIEhBVkVfRlVOQ05BTUVfX0ZVTkMgMQp8ICNkZWZpbmUgSEFWRV9fU1RBVElD X0FTU0VSVCAxCnwgI2RlZmluZSBIQVZFX1RZUEVPRiAxCnwgI2RlZmluZSBIQVZFX19CVUlMVElO X1RZUEVTX0NPTVBBVElCTEVfUCAxCnwgI2RlZmluZSBIQVZFX19CVUlMVElOX0JTV0FQMTYgMQp8 ICNkZWZpbmUgSEFWRV9fQlVJTFRJTl9CU1dBUDMyIDEKfCAjZGVmaW5lIEhBVkVfX0JVSUxUSU5f QlNXQVA2NCAxCnwgI2RlZmluZSBIQVZFX19CVUlMVElOX0NPTlNUQU5UX1AgMQp8ICNkZWZpbmUg SEFWRV9fQlVJTFRJTl9VTlJFQUNIQUJMRSAxCnwgI2RlZmluZSBIQVZFX0NPTVBVVEVEX0dPVE8g MQp8ICNkZWZpbmUgSEFWRV9fVkFfQVJHUyAxCnwgI2RlZmluZSBIQVZFX1RaTkFNRSAxCnwgI2Rl ZmluZSBIQVZFX1NUUlVDVF9TT0NLQUREUl9TVE9SQUdFIDEKfCAjZGVmaW5lIEhBVkVfU1RSVUNU X1NPQ0tBRERSX1NUT1JBR0VfU1NfRkFNSUxZIDEKfCAjZGVmaW5lIEhBVkVfU1RSVUNUX0FERFJJ TkZPIDEKfCAjZGVmaW5lIEhBVkVfSU5UUFRSX1QgMQp8ICNkZWZpbmUgSEFWRV9VSU5UUFRSX1Qg MQp8ICNkZWZpbmUgSEFWRV9VTlNJR05FRF9MT05HX0xPTkdfSU5UIDEKfCAjZGVmaW5lIEhBVkVf TE9OR19MT05HX0lOVCAxCnwgI2RlZmluZSByZXN0cmljdCBfX3Jlc3RyaWN0CnwgI2RlZmluZSBw Z19yZXN0cmljdCBfX3Jlc3RyaWN0CnwgI2RlZmluZSBIQVZFX1NUUlVDVF9PUFRJT04gMQp8ICNk ZWZpbmUgU0laRU9GX09GRl9UIDQKfCAjZGVmaW5lIFNJWkVPRl9CT09MIDEKfCAjZGVmaW5lIEhB VkVfSU5UX1RJTUVaT05FIDEKfCAvKiBlbmQgY29uZmRlZnMuaC4gICovCnwgI2luY2x1ZGUgPHN5 cy90eXBlcy5oPgp8ICNpbmNsdWRlIDxzeXMvc29ja2V0Lmg+CnwgZXh0ZXJuIGludCBhY2NlcHQg KFNPQ0tFVCwgY29uc3Qgc3RydWN0IHNvY2thZGRyICosIGludCAqKTsKY29uZmlndXJlOjE0Nzkx OiB4ODZfNjQtdzY0LW1pbmd3MzItZ2NjIC1jIC1XYWxsIC1XbWlzc2luZy1wcm90b3R5cGVzIC1X cG9pbnRlci1hcml0aCAtV2RlY2xhcmF0aW9uLWFmdGVyLXN0YXRlbWVudCAtV2VuZGlmLWxhYmVs cyAtV21pc3NpbmctZm9ybWF0LWF0dHJpYnV0ZSAtV2Zvcm1hdC1zZWN1cml0eSAtZm5vLXN0cmlj dC1hbGlhc2luZyAtZndyYXB2IC1mZXhjZXNzLXByZWNpc2lvbj1zdGFuZGFyZCAtV25vLWZvcm1h dC10cnVuY2F0aW9uIC1Xbm8tc3RyaW5nb3AtdHJ1bmNhdGlvbiAtZyAtTyAtZm5vLW9taXQtZnJh bWUtcG9pbnRlciAgLUkvdy9SLTMuNS5fL3Bvc3RncmVzL3NyYy9pbmNsdWRlL3BvcnQvd2luMzIg LURFWEVDX0JBQ0tFTkQgIC1JL3cvemxpYi0xLjIuOC13aW4zMi14ODZfNjQvaW5jbHVkZSAtSS93 L29wZW5zc2wtMS4wLjJlLXdpbjMyLXg4Nl82NC9pbmNsdWRlIC1JL3cvbGlieG1sMi0yLjkuMy13 aW4zMi14ODZfNjQvaW5jbHVkZS9saWJ4bWwyIC1JL3cvbGlieHNsdC0xLjEuMjgtd2luMzIteDg2 XzY0L2luY2x1ZGUgY29uZnRlc3QuYyA+JjUKY29uZnRlc3QuYzo3OToxMjogZXJyb3I6IGNvbmZs aWN0aW5nIHR5cGVzIGZvciAnYWNjZXB0JwogZXh0ZXJuIGludCBhY2NlcHQgKFNPQ0tFVCwgY29u c3Qgc3RydWN0IHNvY2thZGRyICosIHNpemVfdCAqKTsKICAgICAgICAgICAgXn5+fn5+CkluIGZp bGUgaW5jbHVkZWQgZnJvbSBXOi9SLTMuNS5fL3Bvc3RncmVzL3NyYy9pbmNsdWRlL3BvcnQvd2lu MzIvc3lzL3NvY2tldC5oOjE0LAogICAgICAgICAgICAgICAgIGZyb20gY29uZnRlc3QuYzo3ODoK QzovbXN5czY0L21pbmd3NjQveDg2XzY0LXc2NC1taW5ndzMyL2luY2x1ZGUvd2luc29jazIuaDo5 NzM6Mzc6IG5vdGU6IHByZXZpb3VzIGRlY2xhcmF0aW9uIG9mICdhY2NlcHQnIHdhcyBoZXJlCiAg IFdJTlNPQ0tfQVBJX0xJTktBR0UgU09DS0VUIFdTQUFQSSBhY2NlcHQoU09DS0VUIHMsc3RydWN0 IHNvY2thZGRyICphZGRyLGludCAqYWRkcmxlbik7CiAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICBefn5+fn4KY29uZmlndXJlOjE0NzkxOiAkPyA9IDEKY29uZmlndXJlOiBmYWls ZWQgcHJvZ3JhbSB3YXM6CnwgLyogY29uZmRlZnMuaCAqLwp8ICNkZWZpbmUgUEFDS0FHRV9OQU1F ICJQb3N0Z3JlU1FMIgp8ICNkZWZpbmUgUEFDS0FHRV9UQVJOQU1FICJwb3N0Z3Jlc3FsIgp8ICNk ZWZpbmUgUEFDS0FHRV9WRVJTSU9OICIxMWJldGEzIgp8ICNkZWZpbmUgUEFDS0FHRV9TVFJJTkcg IlBvc3RncmVTUUwgMTFiZXRhMyIKfCAjZGVmaW5lIFBBQ0tBR0VfQlVHUkVQT1JUICJwZ3NxbC1i dWdzQHBvc3RncmVzcWwub3JnIgp8ICNkZWZpbmUgUEFDS0FHRV9VUkwgIiIKfCAjZGVmaW5lIFBH X01BSk9SVkVSU0lPTiAiMTEiCnwgI2RlZmluZSBQR19WRVJTSU9OICIxMWJldGEzIgp8ICNkZWZp bmUgREVGX1BHUE9SVCA1NDMyCnwgI2RlZmluZSBERUZfUEdQT1JUX1NUUiAiNTQzMiIKfCAjZGVm aW5lIEJMQ0tTWiA4MTkyCnwgI2RlZmluZSBSRUxTRUdfU0laRSAxMzEwNzIKfCAjZGVmaW5lIFhM T0dfQkxDS1NaIDgxOTIKfCAjZGVmaW5lIFVTRV9BU1NFUlRfQ0hFQ0tJTkcgMQp8ICNkZWZpbmUg RU5BQkxFX1RIUkVBRF9TQUZFVFkgMQp8ICNkZWZpbmUgVVNFX0lDVSAxCnwgI2RlZmluZSBQR19L UkJfU1JWTkFNICJwb3N0Z3JlcyIKfCAjZGVmaW5lIFVTRV9PUEVOU1NMIDEKfCAjZGVmaW5lIFVT RV9MSUJYTUwgMQp8ICNkZWZpbmUgVVNFX0xJQlhTTFQgMQp8ICNkZWZpbmUgU1REQ19IRUFERVJT IDEKfCAjZGVmaW5lIEhBVkVfU1lTX1RZUEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfU1RBVF9I IDEKfCAjZGVmaW5lIEhBVkVfU1RETElCX0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJJTkdfSCAxCnwg I2RlZmluZSBIQVZFX01FTU9SWV9IIDEKfCAjZGVmaW5lIEhBVkVfU1RSSU5HU19IIDEKfCAjZGVm aW5lIEhBVkVfSU5UVFlQRVNfSCAxCnwgI2RlZmluZSBIQVZFX1NURElOVF9IIDEKfCAjZGVmaW5l IEhBVkVfVU5JU1REX0ggMQp8ICNkZWZpbmUgSEFWRV9MSUJNIDEKfCAjZGVmaW5lIEhBVkVfTElC WiAxCnwgI2RlZmluZSBIQVZFX1NQSU5MT0NLUyAxCnwgI2RlZmluZSBIQVZFX0FUT01JQ1MgMQp8 ICNkZWZpbmUgSEFWRV9TU0xfR0VUX0NVUlJFTlRfQ09NUFJFU1NJT04gMQp8ICNkZWZpbmUgSEFW RV9YNTA5X0dFVF9TSUdOQVRVUkVfTklEIDEKfCAjZGVmaW5lIEhBVkVfQ1JZUFRPX0xPQ0sgMQp8 ICNkZWZpbmUgSEFWRV9MSUJYTUwyIDEKfCAjZGVmaW5lIEhBVkVfTElCWFNMVCAxCnwgI2RlZmlu ZSBIQVZFX19CT09MIDEKfCAjZGVmaW5lIEhBVkVfU1REQk9PTF9IIDEKfCAjZGVmaW5lIEhBVkVf R0VUT1BUX0ggMQp8ICNkZWZpbmUgSEFWRV9JRUVFRlBfSCAxCnwgI2RlZmluZSBIQVZFX1VUSU1F X0ggMQp8ICNkZWZpbmUgSEFWRV9XQ0hBUl9IIDEKfCAjZGVmaW5lIEhBVkVfV0NUWVBFX0ggMQp8 ICNkZWZpbmUgSEFWRV9DUlRERUZTX0ggMQp8ICNkZWZpbmUgUEdfUFJJTlRGX0FUVFJJQlVURSBn bnVfcHJpbnRmCnwgI2RlZmluZSBGTEVYSUJMRV9BUlJBWV9NRU1CRVIgLyoqLwp8ICNkZWZpbmUg SEFWRV9GVU5DTkFNRV9fRlVOQyAxCnwgI2RlZmluZSBIQVZFX19TVEFUSUNfQVNTRVJUIDEKfCAj ZGVmaW5lIEhBVkVfVFlQRU9GIDEKfCAjZGVmaW5lIEhBVkVfX0JVSUxUSU5fVFlQRVNfQ09NUEFU SUJMRV9QIDEKfCAjZGVmaW5lIEhBVkVfX0JVSUxUSU5fQlNXQVAxNiAxCnwgI2RlZmluZSBIQVZF X19CVUlMVElOX0JTV0FQMzIgMQp8ICNkZWZpbmUgSEFWRV9fQlVJTFRJTl9CU1dBUDY0IDEKfCAj ZGVmaW5lIEhBVkVfX0JVSUxUSU5fQ09OU1RBTlRfUCAxCnwgI2RlZmluZSBIQVZFX19CVUlMVElO X1VOUkVBQ0hBQkxFIDEKfCAjZGVmaW5lIEhBVkVfQ09NUFVURURfR09UTyAxCnwgI2RlZmluZSBI QVZFX19WQV9BUkdTIDEKfCAjZGVmaW5lIEhBVkVfVFpOQU1FIDEKfCAjZGVmaW5lIEhBVkVfU1RS VUNUX1NPQ0tBRERSX1NUT1JBR0UgMQp8ICNkZWZpbmUgSEFWRV9TVFJVQ1RfU09DS0FERFJfU1RP UkFHRV9TU19GQU1JTFkgMQp8ICNkZWZpbmUgSEFWRV9TVFJVQ1RfQUREUklORk8gMQp8ICNkZWZp bmUgSEFWRV9JTlRQVFJfVCAxCnwgI2RlZmluZSBIQVZFX1VJTlRQVFJfVCAxCnwgI2RlZmluZSBI QVZFX1VOU0lHTkVEX0xPTkdfTE9OR19JTlQgMQp8ICNkZWZpbmUgSEFWRV9MT05HX0xPTkdfSU5U IDEKfCAjZGVmaW5lIHJlc3RyaWN0IF9fcmVzdHJpY3QKfCAjZGVmaW5lIHBnX3Jlc3RyaWN0IF9f cmVzdHJpY3QKfCAjZGVmaW5lIEhBVkVfU1RSVUNUX09QVElPTiAxCnwgI2RlZmluZSBTSVpFT0Zf T0ZGX1QgNAp8ICNkZWZpbmUgU0laRU9GX0JPT0wgMQp8ICNkZWZpbmUgSEFWRV9JTlRfVElNRVpP TkUgMQp8IC8qIGVuZCBjb25mZGVmcy5oLiAgKi8KfCAjaW5jbHVkZSA8c3lzL3R5cGVzLmg+Cnwg I2luY2x1ZGUgPHN5cy9zb2NrZXQuaD4KfCBleHRlcm4gaW50IGFjY2VwdCAoU09DS0VULCBjb25z dCBzdHJ1Y3Qgc29ja2FkZHIgKiwgc2l6ZV90ICopOwpjb25maWd1cmU6MTQ3OTE6IHg4Nl82NC13 NjQtbWluZ3czMi1nY2MgLWMgLVdhbGwgLVdtaXNzaW5nLXByb3RvdHlwZXMgLVdwb2ludGVyLWFy aXRoIC1XZGVjbGFyYXRpb24tYWZ0ZXItc3RhdGVtZW50IC1XZW5kaWYtbGFiZWxzIC1XbWlzc2lu Zy1mb3JtYXQtYXR0cmlidXRlIC1XZm9ybWF0LXNlY3VyaXR5IC1mbm8tc3RyaWN0LWFsaWFzaW5n IC1md3JhcHYgLWZleGNlc3MtcHJlY2lzaW9uPXN0YW5kYXJkIC1Xbm8tZm9ybWF0LXRydW5jYXRp b24gLVduby1zdHJpbmdvcC10cnVuY2F0aW9uIC1nIC1PIC1mbm8tb21pdC1mcmFtZS1wb2ludGVy ICAtSS93L1ItMy41Ll8vcG9zdGdyZXMvc3JjL2luY2x1ZGUvcG9ydC93aW4zMiAtREVYRUNfQkFD S0VORCAgLUkvdy96bGliLTEuMi44LXdpbjMyLXg4Nl82NC9pbmNsdWRlIC1JL3cvb3BlbnNzbC0x LjAuMmUtd2luMzIteDg2XzY0L2luY2x1ZGUgLUkvdy9saWJ4bWwyLTIuOS4zLXdpbjMyLXg4Nl82 NC9pbmNsdWRlL2xpYnhtbDIgLUkvdy9saWJ4c2x0LTEuMS4yOC13aW4zMi14ODZfNjQvaW5jbHVk ZSBjb25mdGVzdC5jID4mNQpjb25mdGVzdC5jOjc5OjEyOiBlcnJvcjogY29uZmxpY3RpbmcgdHlw ZXMgZm9yICdhY2NlcHQnCiBleHRlcm4gaW50IGFjY2VwdCAoU09DS0VULCBjb25zdCBzdHJ1Y3Qg c29ja2FkZHIgKiwgc29ja2xlbl90ICopOwogICAgICAgICAgICBefn5+fn4KSW4gZmlsZSBpbmNs dWRlZCBmcm9tIFc6L1ItMy41Ll8vcG9zdGdyZXMvc3JjL2luY2x1ZGUvcG9ydC93aW4zMi9zeXMv c29ja2V0Lmg6MTQsCiAgICAgICAgICAgICAgICAgZnJvbSBjb25mdGVzdC5jOjc4OgpDOi9tc3lz NjQvbWluZ3c2NC94ODZfNjQtdzY0LW1pbmd3MzIvaW5jbHVkZS93aW5zb2NrMi5oOjk3MzozNzog bm90ZTogcHJldmlvdXMgZGVjbGFyYXRpb24gb2YgJ2FjY2VwdCcgd2FzIGhlcmUKICAgV0lOU09D S19BUElfTElOS0FHRSBTT0NLRVQgV1NBQVBJIGFjY2VwdChTT0NLRVQgcyxzdHJ1Y3Qgc29ja2Fk ZHIgKmFkZHIsaW50ICphZGRybGVuKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIF5+fn5+fgpjb25maWd1cmU6MTQ3OTE6ICQ/ID0gMQpjb25maWd1cmU6IGZhaWxlZCBwcm9n cmFtIHdhczoKfCAvKiBjb25mZGVmcy5oICovCnwgI2RlZmluZSBQQUNLQUdFX05BTUUgIlBvc3Rn cmVTUUwiCnwgI2RlZmluZSBQQUNLQUdFX1RBUk5BTUUgInBvc3RncmVzcWwiCnwgI2RlZmluZSBQ QUNLQUdFX1ZFUlNJT04gIjExYmV0YTMiCnwgI2RlZmluZSBQQUNLQUdFX1NUUklORyAiUG9zdGdy ZVNRTCAxMWJldGEzIgp8ICNkZWZpbmUgUEFDS0FHRV9CVUdSRVBPUlQgInBnc3FsLWJ1Z3NAcG9z dGdyZXNxbC5vcmciCnwgI2RlZmluZSBQQUNLQUdFX1VSTCAiIgp8ICNkZWZpbmUgUEdfTUFKT1JW RVJTSU9OICIxMSIKfCAjZGVmaW5lIFBHX1ZFUlNJT04gIjExYmV0YTMiCnwgI2RlZmluZSBERUZf UEdQT1JUIDU0MzIKfCAjZGVmaW5lIERFRl9QR1BPUlRfU1RSICI1NDMyIgp8ICNkZWZpbmUgQkxD S1NaIDgxOTIKfCAjZGVmaW5lIFJFTFNFR19TSVpFIDEzMTA3Mgp8ICNkZWZpbmUgWExPR19CTENL U1ogODE5Mgp8ICNkZWZpbmUgVVNFX0FTU0VSVF9DSEVDS0lORyAxCnwgI2RlZmluZSBFTkFCTEVf VEhSRUFEX1NBRkVUWSAxCnwgI2RlZmluZSBVU0VfSUNVIDEKfCAjZGVmaW5lIFBHX0tSQl9TUlZO QU0gInBvc3RncmVzIgp8ICNkZWZpbmUgVVNFX09QRU5TU0wgMQp8ICNkZWZpbmUgVVNFX0xJQlhN TCAxCnwgI2RlZmluZSBVU0VfTElCWFNMVCAxCnwgI2RlZmluZSBTVERDX0hFQURFUlMgMQp8ICNk ZWZpbmUgSEFWRV9TWVNfVFlQRVNfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19TVEFUX0ggMQp8ICNk ZWZpbmUgSEFWRV9TVERMSUJfSCAxCnwgI2RlZmluZSBIQVZFX1NUUklOR19IIDEKfCAjZGVmaW5l IEhBVkVfTUVNT1JZX0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJJTkdTX0ggMQp8ICNkZWZpbmUgSEFW RV9JTlRUWVBFU19IIDEKfCAjZGVmaW5lIEhBVkVfU1RESU5UX0ggMQp8ICNkZWZpbmUgSEFWRV9V TklTVERfSCAxCnwgI2RlZmluZSBIQVZFX0xJQk0gMQp8ICNkZWZpbmUgSEFWRV9MSUJaIDEKfCAj ZGVmaW5lIEhBVkVfU1BJTkxPQ0tTIDEKfCAjZGVmaW5lIEhBVkVfQVRPTUlDUyAxCnwgI2RlZmlu ZSBIQVZFX1NTTF9HRVRfQ1VSUkVOVF9DT01QUkVTU0lPTiAxCnwgI2RlZmluZSBIQVZFX1g1MDlf R0VUX1NJR05BVFVSRV9OSUQgMQp8ICNkZWZpbmUgSEFWRV9DUllQVE9fTE9DSyAxCnwgI2RlZmlu ZSBIQVZFX0xJQlhNTDIgMQp8ICNkZWZpbmUgSEFWRV9MSUJYU0xUIDEKfCAjZGVmaW5lIEhBVkVf X0JPT0wgMQp8ICNkZWZpbmUgSEFWRV9TVERCT09MX0ggMQp8ICNkZWZpbmUgSEFWRV9HRVRPUFRf SCAxCnwgI2RlZmluZSBIQVZFX0lFRUVGUF9IIDEKfCAjZGVmaW5lIEhBVkVfVVRJTUVfSCAxCnwg I2RlZmluZSBIQVZFX1dDSEFSX0ggMQp8ICNkZWZpbmUgSEFWRV9XQ1RZUEVfSCAxCnwgI2RlZmlu ZSBIQVZFX0NSVERFRlNfSCAxCnwgI2RlZmluZSBQR19QUklOVEZfQVRUUklCVVRFIGdudV9wcmlu dGYKfCAjZGVmaW5lIEZMRVhJQkxFX0FSUkFZX01FTUJFUiAvKiovCnwgI2RlZmluZSBIQVZFX0ZV TkNOQU1FX19GVU5DIDEKfCAjZGVmaW5lIEhBVkVfX1NUQVRJQ19BU1NFUlQgMQp8ICNkZWZpbmUg SEFWRV9UWVBFT0YgMQp8ICNkZWZpbmUgSEFWRV9fQlVJTFRJTl9UWVBFU19DT01QQVRJQkxFX1Ag MQp8ICNkZWZpbmUgSEFWRV9fQlVJTFRJTl9CU1dBUDE2IDEKfCAjZGVmaW5lIEhBVkVfX0JVSUxU SU5fQlNXQVAzMiAxCnwgI2RlZmluZSBIQVZFX19CVUlMVElOX0JTV0FQNjQgMQp8ICNkZWZpbmUg SEFWRV9fQlVJTFRJTl9DT05TVEFOVF9QIDEKfCAjZGVmaW5lIEhBVkVfX0JVSUxUSU5fVU5SRUFD SEFCTEUgMQp8ICNkZWZpbmUgSEFWRV9DT01QVVRFRF9HT1RPIDEKfCAjZGVmaW5lIEhBVkVfX1ZB X0FSR1MgMQp8ICNkZWZpbmUgSEFWRV9UWk5BTUUgMQp8ICNkZWZpbmUgSEFWRV9TVFJVQ1RfU09D S0FERFJfU1RPUkFHRSAxCnwgI2RlZmluZSBIQVZFX1NUUlVDVF9TT0NLQUREUl9TVE9SQUdFX1NT X0ZBTUlMWSAxCnwgI2RlZmluZSBIQVZFX1NUUlVDVF9BRERSSU5GTyAxCnwgI2RlZmluZSBIQVZF X0lOVFBUUl9UIDEKfCAjZGVmaW5lIEhBVkVfVUlOVFBUUl9UIDEKfCAjZGVmaW5lIEhBVkVfVU5T SUdORURfTE9OR19MT05HX0lOVCAxCnwgI2RlZmluZSBIQVZFX0xPTkdfTE9OR19JTlQgMQp8ICNk ZWZpbmUgcmVzdHJpY3QgX19yZXN0cmljdAp8ICNkZWZpbmUgcGdfcmVzdHJpY3QgX19yZXN0cmlj dAp8ICNkZWZpbmUgSEFWRV9TVFJVQ1RfT1BUSU9OIDEKfCAjZGVmaW5lIFNJWkVPRl9PRkZfVCA0 CnwgI2RlZmluZSBTSVpFT0ZfQk9PTCAxCnwgI2RlZmluZSBIQVZFX0lOVF9USU1FWk9ORSAxCnwg LyogZW5kIGNvbmZkZWZzLmguICAqLwp8ICNpbmNsdWRlIDxzeXMvdHlwZXMuaD4KfCAjaW5jbHVk ZSA8c3lzL3NvY2tldC5oPgp8IGV4dGVybiBpbnQgYWNjZXB0IChTT0NLRVQsIGNvbnN0IHN0cnVj dCBzb2NrYWRkciAqLCBzb2NrbGVuX3QgKik7CmNvbmZpZ3VyZToxNDc5MTogeDg2XzY0LXc2NC1t aW5ndzMyLWdjYyAtYyAtV2FsbCAtV21pc3NpbmctcHJvdG90eXBlcyAtV3BvaW50ZXItYXJpdGgg LVdkZWNsYXJhdGlvbi1hZnRlci1zdGF0ZW1lbnQgLVdlbmRpZi1sYWJlbHMgLVdtaXNzaW5nLWZv cm1hdC1hdHRyaWJ1dGUgLVdmb3JtYXQtc2VjdXJpdHkgLWZuby1zdHJpY3QtYWxpYXNpbmcgLWZ3 cmFwdiAtZmV4Y2Vzcy1wcmVjaXNpb249c3RhbmRhcmQgLVduby1mb3JtYXQtdHJ1bmNhdGlvbiAt V25vLXN0cmluZ29wLXRydW5jYXRpb24gLWcgLU8gLWZuby1vbWl0LWZyYW1lLXBvaW50ZXIgIC1J L3cvUi0zLjUuXy9wb3N0Z3Jlcy9zcmMvaW5jbHVkZS9wb3J0L3dpbjMyIC1ERVhFQ19CQUNLRU5E ICAtSS93L3psaWItMS4yLjgtd2luMzIteDg2XzY0L2luY2x1ZGUgLUkvdy9vcGVuc3NsLTEuMC4y ZS13aW4zMi14ODZfNjQvaW5jbHVkZSAtSS93L2xpYnhtbDItMi45LjMtd2luMzIteDg2XzY0L2lu Y2x1ZGUvbGlieG1sMiAtSS93L2xpYnhzbHQtMS4xLjI4LXdpbjMyLXg4Nl82NC9pbmNsdWRlIGNv bmZ0ZXN0LmMgPiY1CmNvbmZ0ZXN0LmM6Nzk6MTI6IGVycm9yOiBjb25mbGljdGluZyB0eXBlcyBm b3IgJ2FjY2VwdCcKIGV4dGVybiBpbnQgYWNjZXB0IChTT0NLRVQsIGNvbnN0IHN0cnVjdCBzb2Nr YWRkciAqLCB1bnNpZ25lZCBpbnQgKik7CiAgICAgICAgICAgIF5+fn5+fgpJbiBmaWxlIGluY2x1 ZGVkIGZyb20gVzovUi0zLjUuXy9wb3N0Z3Jlcy9zcmMvaW5jbHVkZS9wb3J0L3dpbjMyL3N5cy9z b2NrZXQuaDoxNCwKICAgICAgICAgICAgICAgICBmcm9tIGNvbmZ0ZXN0LmM6Nzg6CkM6L21zeXM2 NC9taW5ndzY0L3g4Nl82NC13NjQtbWluZ3czMi9pbmNsdWRlL3dpbnNvY2syLmg6OTczOjM3OiBu b3RlOiBwcmV2aW91cyBkZWNsYXJhdGlvbiBvZiAnYWNjZXB0JyB3YXMgaGVyZQogICBXSU5TT0NL X0FQSV9MSU5LQUdFIFNPQ0tFVCBXU0FBUEkgYWNjZXB0KFNPQ0tFVCBzLHN0cnVjdCBzb2NrYWRk ciAqYWRkcixpbnQgKmFkZHJsZW4pOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgXn5+fn5+CmNvbmZpZ3VyZToxNDc5MTogJD8gPSAxCmNvbmZpZ3VyZTogZmFpbGVkIHByb2dy YW0gd2FzOgp8IC8qIGNvbmZkZWZzLmggKi8KfCAjZGVmaW5lIFBBQ0tBR0VfTkFNRSAiUG9zdGdy ZVNRTCIKfCAjZGVmaW5lIFBBQ0tBR0VfVEFSTkFNRSAicG9zdGdyZXNxbCIKfCAjZGVmaW5lIFBB Q0tBR0VfVkVSU0lPTiAiMTFiZXRhMyIKfCAjZGVmaW5lIFBBQ0tBR0VfU1RSSU5HICJQb3N0Z3Jl U1FMIDExYmV0YTMiCnwgI2RlZmluZSBQQUNLQUdFX0JVR1JFUE9SVCAicGdzcWwtYnVnc0Bwb3N0 Z3Jlc3FsLm9yZyIKfCAjZGVmaW5lIFBBQ0tBR0VfVVJMICIiCnwgI2RlZmluZSBQR19NQUpPUlZF UlNJT04gIjExIgp8ICNkZWZpbmUgUEdfVkVSU0lPTiAiMTFiZXRhMyIKfCAjZGVmaW5lIERFRl9Q R1BPUlQgNTQzMgp8ICNkZWZpbmUgREVGX1BHUE9SVF9TVFIgIjU0MzIiCnwgI2RlZmluZSBCTENL U1ogODE5Mgp8ICNkZWZpbmUgUkVMU0VHX1NJWkUgMTMxMDcyCnwgI2RlZmluZSBYTE9HX0JMQ0tT WiA4MTkyCnwgI2RlZmluZSBVU0VfQVNTRVJUX0NIRUNLSU5HIDEKfCAjZGVmaW5lIEVOQUJMRV9U SFJFQURfU0FGRVRZIDEKfCAjZGVmaW5lIFVTRV9JQ1UgMQp8ICNkZWZpbmUgUEdfS1JCX1NSVk5B TSAicG9zdGdyZXMiCnwgI2RlZmluZSBVU0VfT1BFTlNTTCAxCnwgI2RlZmluZSBVU0VfTElCWE1M IDEKfCAjZGVmaW5lIFVTRV9MSUJYU0xUIDEKfCAjZGVmaW5lIFNURENfSEVBREVSUyAxCnwgI2Rl ZmluZSBIQVZFX1NZU19UWVBFU19IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NUQVRfSCAxCnwgI2Rl ZmluZSBIQVZFX1NURExJQl9IIDEKfCAjZGVmaW5lIEhBVkVfU1RSSU5HX0ggMQp8ICNkZWZpbmUg SEFWRV9NRU1PUllfSCAxCnwgI2RlZmluZSBIQVZFX1NUUklOR1NfSCAxCnwgI2RlZmluZSBIQVZF X0lOVFRZUEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERJTlRfSCAxCnwgI2RlZmluZSBIQVZFX1VO SVNURF9IIDEKfCAjZGVmaW5lIEhBVkVfTElCTSAxCnwgI2RlZmluZSBIQVZFX0xJQlogMQp8ICNk ZWZpbmUgSEFWRV9TUElOTE9DS1MgMQp8ICNkZWZpbmUgSEFWRV9BVE9NSUNTIDEKfCAjZGVmaW5l IEhBVkVfU1NMX0dFVF9DVVJSRU5UX0NPTVBSRVNTSU9OIDEKfCAjZGVmaW5lIEhBVkVfWDUwOV9H RVRfU0lHTkFUVVJFX05JRCAxCnwgI2RlZmluZSBIQVZFX0NSWVBUT19MT0NLIDEKfCAjZGVmaW5l IEhBVkVfTElCWE1MMiAxCnwgI2RlZmluZSBIQVZFX0xJQlhTTFQgMQp8ICNkZWZpbmUgSEFWRV9f Qk9PTCAxCnwgI2RlZmluZSBIQVZFX1NUREJPT0xfSCAxCnwgI2RlZmluZSBIQVZFX0dFVE9QVF9I IDEKfCAjZGVmaW5lIEhBVkVfSUVFRUZQX0ggMQp8ICNkZWZpbmUgSEFWRV9VVElNRV9IIDEKfCAj ZGVmaW5lIEhBVkVfV0NIQVJfSCAxCnwgI2RlZmluZSBIQVZFX1dDVFlQRV9IIDEKfCAjZGVmaW5l IEhBVkVfQ1JUREVGU19IIDEKfCAjZGVmaW5lIFBHX1BSSU5URl9BVFRSSUJVVEUgZ251X3ByaW50 Zgp8ICNkZWZpbmUgRkxFWElCTEVfQVJSQVlfTUVNQkVSIC8qKi8KfCAjZGVmaW5lIEhBVkVfRlVO Q05BTUVfX0ZVTkMgMQp8ICNkZWZpbmUgSEFWRV9fU1RBVElDX0FTU0VSVCAxCnwgI2RlZmluZSBI QVZFX1RZUEVPRiAxCnwgI2RlZmluZSBIQVZFX19CVUlMVElOX1RZUEVTX0NPTVBBVElCTEVfUCAx CnwgI2RlZmluZSBIQVZFX19CVUlMVElOX0JTV0FQMTYgMQp8ICNkZWZpbmUgSEFWRV9fQlVJTFRJ Tl9CU1dBUDMyIDEKfCAjZGVmaW5lIEhBVkVfX0JVSUxUSU5fQlNXQVA2NCAxCnwgI2RlZmluZSBI QVZFX19CVUlMVElOX0NPTlNUQU5UX1AgMQp8ICNkZWZpbmUgSEFWRV9fQlVJTFRJTl9VTlJFQUNI QUJMRSAxCnwgI2RlZmluZSBIQVZFX0NPTVBVVEVEX0dPVE8gMQp8ICNkZWZpbmUgSEFWRV9fVkFf QVJHUyAxCnwgI2RlZmluZSBIQVZFX1RaTkFNRSAxCnwgI2RlZmluZSBIQVZFX1NUUlVDVF9TT0NL QUREUl9TVE9SQUdFIDEKfCAjZGVmaW5lIEhBVkVfU1RSVUNUX1NPQ0tBRERSX1NUT1JBR0VfU1Nf RkFNSUxZIDEKfCAjZGVmaW5lIEhBVkVfU1RSVUNUX0FERFJJTkZPIDEKfCAjZGVmaW5lIEhBVkVf SU5UUFRSX1QgMQp8ICNkZWZpbmUgSEFWRV9VSU5UUFRSX1QgMQp8ICNkZWZpbmUgSEFWRV9VTlNJ R05FRF9MT05HX0xPTkdfSU5UIDEKfCAjZGVmaW5lIEhBVkVfTE9OR19MT05HX0lOVCAxCnwgI2Rl ZmluZSByZXN0cmljdCBfX3Jlc3RyaWN0CnwgI2RlZmluZSBwZ19yZXN0cmljdCBfX3Jlc3RyaWN0 CnwgI2RlZmluZSBIQVZFX1NUUlVDVF9PUFRJT04gMQp8ICNkZWZpbmUgU0laRU9GX09GRl9UIDQK fCAjZGVmaW5lIFNJWkVPRl9CT09MIDEKfCAjZGVmaW5lIEhBVkVfSU5UX1RJTUVaT05FIDEKfCAv KiBlbmQgY29uZmRlZnMuaC4gICovCnwgI2luY2x1ZGUgPHN5cy90eXBlcy5oPgp8ICNpbmNsdWRl IDxzeXMvc29ja2V0Lmg+CnwgZXh0ZXJuIGludCBhY2NlcHQgKFNPQ0tFVCwgY29uc3Qgc3RydWN0 IHNvY2thZGRyICosIHVuc2lnbmVkIGludCAqKTsKY29uZmlndXJlOjE0NzkxOiB4ODZfNjQtdzY0 LW1pbmd3MzItZ2NjIC1jIC1XYWxsIC1XbWlzc2luZy1wcm90b3R5cGVzIC1XcG9pbnRlci1hcml0 aCAtV2RlY2xhcmF0aW9uLWFmdGVyLXN0YXRlbWVudCAtV2VuZGlmLWxhYmVscyAtV21pc3Npbmct Zm9ybWF0LWF0dHJpYnV0ZSAtV2Zvcm1hdC1zZWN1cml0eSAtZm5vLXN0cmljdC1hbGlhc2luZyAt ZndyYXB2IC1mZXhjZXNzLXByZWNpc2lvbj1zdGFuZGFyZCAtV25vLWZvcm1hdC10cnVuY2F0aW9u IC1Xbm8tc3RyaW5nb3AtdHJ1bmNhdGlvbiAtZyAtTyAtZm5vLW9taXQtZnJhbWUtcG9pbnRlciAg LUkvdy9SLTMuNS5fL3Bvc3RncmVzL3NyYy9pbmNsdWRlL3BvcnQvd2luMzIgLURFWEVDX0JBQ0tF TkQgIC1JL3cvemxpYi0xLjIuOC13aW4zMi14ODZfNjQvaW5jbHVkZSAtSS93L29wZW5zc2wtMS4w LjJlLXdpbjMyLXg4Nl82NC9pbmNsdWRlIC1JL3cvbGlieG1sMi0yLjkuMy13aW4zMi14ODZfNjQv aW5jbHVkZS9saWJ4bWwyIC1JL3cvbGlieHNsdC0xLjEuMjgtd2luMzIteDg2XzY0L2luY2x1ZGUg Y29uZnRlc3QuYyA+JjUKY29uZnRlc3QuYzo3OToxMjogZXJyb3I6IGNvbmZsaWN0aW5nIHR5cGVz IGZvciAnYWNjZXB0JwogZXh0ZXJuIGludCBhY2NlcHQgKFNPQ0tFVCwgY29uc3Qgc3RydWN0IHNv Y2thZGRyICosIHZvaWQgKik7CiAgICAgICAgICAgIF5+fn5+fgpJbiBmaWxlIGluY2x1ZGVkIGZy b20gVzovUi0zLjUuXy9wb3N0Z3Jlcy9zcmMvaW5jbHVkZS9wb3J0L3dpbjMyL3N5cy9zb2NrZXQu aDoxNCwKICAgICAgICAgICAgICAgICBmcm9tIGNvbmZ0ZXN0LmM6Nzg6CkM6L21zeXM2NC9taW5n dzY0L3g4Nl82NC13NjQtbWluZ3czMi9pbmNsdWRlL3dpbnNvY2syLmg6OTczOjM3OiBub3RlOiBw cmV2aW91cyBkZWNsYXJhdGlvbiBvZiAnYWNjZXB0JyB3YXMgaGVyZQogICBXSU5TT0NLX0FQSV9M SU5LQUdFIFNPQ0tFVCBXU0FBUEkgYWNjZXB0KFNPQ0tFVCBzLHN0cnVjdCBzb2NrYWRkciAqYWRk cixpbnQgKmFkZHJsZW4pOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXn5+ fn5+CmNvbmZpZ3VyZToxNDc5MTogJD8gPSAxCmNvbmZpZ3VyZTogZmFpbGVkIHByb2dyYW0gd2Fz Ogp8IC8qIGNvbmZkZWZzLmggKi8KfCAjZGVmaW5lIFBBQ0tBR0VfTkFNRSAiUG9zdGdyZVNRTCIK fCAjZGVmaW5lIFBBQ0tBR0VfVEFSTkFNRSAicG9zdGdyZXNxbCIKfCAjZGVmaW5lIFBBQ0tBR0Vf VkVSU0lPTiAiMTFiZXRhMyIKfCAjZGVmaW5lIFBBQ0tBR0VfU1RSSU5HICJQb3N0Z3JlU1FMIDEx YmV0YTMiCnwgI2RlZmluZSBQQUNLQUdFX0JVR1JFUE9SVCAicGdzcWwtYnVnc0Bwb3N0Z3Jlc3Fs Lm9yZyIKfCAjZGVmaW5lIFBBQ0tBR0VfVVJMICIiCnwgI2RlZmluZSBQR19NQUpPUlZFUlNJT04g IjExIgp8ICNkZWZpbmUgUEdfVkVSU0lPTiAiMTFiZXRhMyIKfCAjZGVmaW5lIERFRl9QR1BPUlQg NTQzMgp8ICNkZWZpbmUgREVGX1BHUE9SVF9TVFIgIjU0MzIiCnwgI2RlZmluZSBCTENLU1ogODE5 Mgp8ICNkZWZpbmUgUkVMU0VHX1NJWkUgMTMxMDcyCnwgI2RlZmluZSBYTE9HX0JMQ0tTWiA4MTky CnwgI2RlZmluZSBVU0VfQVNTRVJUX0NIRUNLSU5HIDEKfCAjZGVmaW5lIEVOQUJMRV9USFJFQURf U0FGRVRZIDEKfCAjZGVmaW5lIFVTRV9JQ1UgMQp8ICNkZWZpbmUgUEdfS1JCX1NSVk5BTSAicG9z dGdyZXMiCnwgI2RlZmluZSBVU0VfT1BFTlNTTCAxCnwgI2RlZmluZSBVU0VfTElCWE1MIDEKfCAj ZGVmaW5lIFVTRV9MSUJYU0xUIDEKfCAjZGVmaW5lIFNURENfSEVBREVSUyAxCnwgI2RlZmluZSBI QVZFX1NZU19UWVBFU19IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NUQVRfSCAxCnwgI2RlZmluZSBI QVZFX1NURExJQl9IIDEKfCAjZGVmaW5lIEhBVkVfU1RSSU5HX0ggMQp8ICNkZWZpbmUgSEFWRV9N RU1PUllfSCAxCnwgI2RlZmluZSBIQVZFX1NUUklOR1NfSCAxCnwgI2RlZmluZSBIQVZFX0lOVFRZ UEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERJTlRfSCAxCnwgI2RlZmluZSBIQVZFX1VOSVNURF9I IDEKfCAjZGVmaW5lIEhBVkVfTElCTSAxCnwgI2RlZmluZSBIQVZFX0xJQlogMQp8ICNkZWZpbmUg SEFWRV9TUElOTE9DS1MgMQp8ICNkZWZpbmUgSEFWRV9BVE9NSUNTIDEKfCAjZGVmaW5lIEhBVkVf U1NMX0dFVF9DVVJSRU5UX0NPTVBSRVNTSU9OIDEKfCAjZGVmaW5lIEhBVkVfWDUwOV9HRVRfU0lH TkFUVVJFX05JRCAxCnwgI2RlZmluZSBIQVZFX0NSWVBUT19MT0NLIDEKfCAjZGVmaW5lIEhBVkVf TElCWE1MMiAxCnwgI2RlZmluZSBIQVZFX0xJQlhTTFQgMQp8ICNkZWZpbmUgSEFWRV9fQk9PTCAx CnwgI2RlZmluZSBIQVZFX1NUREJPT0xfSCAxCnwgI2RlZmluZSBIQVZFX0dFVE9QVF9IIDEKfCAj ZGVmaW5lIEhBVkVfSUVFRUZQX0ggMQp8ICNkZWZpbmUgSEFWRV9VVElNRV9IIDEKfCAjZGVmaW5l IEhBVkVfV0NIQVJfSCAxCnwgI2RlZmluZSBIQVZFX1dDVFlQRV9IIDEKfCAjZGVmaW5lIEhBVkVf Q1JUREVGU19IIDEKfCAjZGVmaW5lIFBHX1BSSU5URl9BVFRSSUJVVEUgZ251X3ByaW50Zgp8ICNk ZWZpbmUgRkxFWElCTEVfQVJSQVlfTUVNQkVSIC8qKi8KfCAjZGVmaW5lIEhBVkVfRlVOQ05BTUVf X0ZVTkMgMQp8ICNkZWZpbmUgSEFWRV9fU1RBVElDX0FTU0VSVCAxCnwgI2RlZmluZSBIQVZFX1RZ UEVPRiAxCnwgI2RlZmluZSBIQVZFX19CVUlMVElOX1RZUEVTX0NPTVBBVElCTEVfUCAxCnwgI2Rl ZmluZSBIQVZFX19CVUlMVElOX0JTV0FQMTYgMQp8ICNkZWZpbmUgSEFWRV9fQlVJTFRJTl9CU1dB UDMyIDEKfCAjZGVmaW5lIEhBVkVfX0JVSUxUSU5fQlNXQVA2NCAxCnwgI2RlZmluZSBIQVZFX19C VUlMVElOX0NPTlNUQU5UX1AgMQp8ICNkZWZpbmUgSEFWRV9fQlVJTFRJTl9VTlJFQUNIQUJMRSAx CnwgI2RlZmluZSBIQVZFX0NPTVBVVEVEX0dPVE8gMQp8ICNkZWZpbmUgSEFWRV9fVkFfQVJHUyAx CnwgI2RlZmluZSBIQVZFX1RaTkFNRSAxCnwgI2RlZmluZSBIQVZFX1NUUlVDVF9TT0NLQUREUl9T VE9SQUdFIDEKfCAjZGVmaW5lIEhBVkVfU1RSVUNUX1NPQ0tBRERSX1NUT1JBR0VfU1NfRkFNSUxZ IDEKfCAjZGVmaW5lIEhBVkVfU1RSVUNUX0FERFJJTkZPIDEKfCAjZGVmaW5lIEhBVkVfSU5UUFRS X1QgMQp8ICNkZWZpbmUgSEFWRV9VSU5UUFRSX1QgMQp8ICNkZWZpbmUgSEFWRV9VTlNJR05FRF9M T05HX0xPTkdfSU5UIDEKfCAjZGVmaW5lIEhBVkVfTE9OR19MT05HX0lOVCAxCnwgI2RlZmluZSBy ZXN0cmljdCBfX3Jlc3RyaWN0CnwgI2RlZmluZSBwZ19yZXN0cmljdCBfX3Jlc3RyaWN0CnwgI2Rl ZmluZSBIQVZFX1NUUlVDVF9PUFRJT04gMQp8ICNkZWZpbmUgU0laRU9GX09GRl9UIDQKfCAjZGVm aW5lIFNJWkVPRl9CT09MIDEKfCAjZGVmaW5lIEhBVkVfSU5UX1RJTUVaT05FIDEKfCAvKiBlbmQg Y29uZmRlZnMuaC4gICovCnwgI2luY2x1ZGUgPHN5cy90eXBlcy5oPgp8ICNpbmNsdWRlIDxzeXMv c29ja2V0Lmg+CnwgZXh0ZXJuIGludCBhY2NlcHQgKFNPQ0tFVCwgY29uc3Qgc3RydWN0IHNvY2th ZGRyICosIHZvaWQgKik7CmNvbmZpZ3VyZToxNDc5MTogeDg2XzY0LXc2NC1taW5ndzMyLWdjYyAt YyAtV2FsbCAtV21pc3NpbmctcHJvdG90eXBlcyAtV3BvaW50ZXItYXJpdGggLVdkZWNsYXJhdGlv bi1hZnRlci1zdGF0ZW1lbnQgLVdlbmRpZi1sYWJlbHMgLVdtaXNzaW5nLWZvcm1hdC1hdHRyaWJ1 dGUgLVdmb3JtYXQtc2VjdXJpdHkgLWZuby1zdHJpY3QtYWxpYXNpbmcgLWZ3cmFwdiAtZmV4Y2Vz cy1wcmVjaXNpb249c3RhbmRhcmQgLVduby1mb3JtYXQtdHJ1bmNhdGlvbiAtV25vLXN0cmluZ29w LXRydW5jYXRpb24gLWcgLU8gLWZuby1vbWl0LWZyYW1lLXBvaW50ZXIgIC1JL3cvUi0zLjUuXy9w b3N0Z3Jlcy9zcmMvaW5jbHVkZS9wb3J0L3dpbjMyIC1ERVhFQ19CQUNLRU5EICAtSS93L3psaWIt MS4yLjgtd2luMzIteDg2XzY0L2luY2x1ZGUgLUkvdy9vcGVuc3NsLTEuMC4yZS13aW4zMi14ODZf NjQvaW5jbHVkZSAtSS93L2xpYnhtbDItMi45LjMtd2luMzIteDg2XzY0L2luY2x1ZGUvbGlieG1s MiAtSS93L2xpYnhzbHQtMS4xLjI4LXdpbjMyLXg4Nl82NC9pbmNsdWRlIGNvbmZ0ZXN0LmMgPiY1 CmNvbmZ0ZXN0LmM6Nzk6MTI6IGVycm9yOiBjb25mbGljdGluZyB0eXBlcyBmb3IgJ2FjY2VwdCcK IGV4dGVybiBpbnQgYWNjZXB0IChTT0NLRVQsIHZvaWQgKiwgaW50ICopOwogICAgICAgICAgICBe fn5+fn4KSW4gZmlsZSBpbmNsdWRlZCBmcm9tIFc6L1ItMy41Ll8vcG9zdGdyZXMvc3JjL2luY2x1 ZGUvcG9ydC93aW4zMi9zeXMvc29ja2V0Lmg6MTQsCiAgICAgICAgICAgICAgICAgZnJvbSBjb25m dGVzdC5jOjc4OgpDOi9tc3lzNjQvbWluZ3c2NC94ODZfNjQtdzY0LW1pbmd3MzIvaW5jbHVkZS93 aW5zb2NrMi5oOjk3MzozNzogbm90ZTogcHJldmlvdXMgZGVjbGFyYXRpb24gb2YgJ2FjY2VwdCcg d2FzIGhlcmUKICAgV0lOU09DS19BUElfTElOS0FHRSBTT0NLRVQgV1NBQVBJIGFjY2VwdChTT0NL RVQgcyxzdHJ1Y3Qgc29ja2FkZHIgKmFkZHIsaW50ICphZGRybGVuKTsKICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIF5+fn5+fgpjb25maWd1cmU6MTQ3OTE6ICQ/ID0gMQpjb25m aWd1cmU6IGZhaWxlZCBwcm9ncmFtIHdhczoKfCAvKiBjb25mZGVmcy5oICovCnwgI2RlZmluZSBQ QUNLQUdFX05BTUUgIlBvc3RncmVTUUwiCnwgI2RlZmluZSBQQUNLQUdFX1RBUk5BTUUgInBvc3Rn cmVzcWwiCnwgI2RlZmluZSBQQUNLQUdFX1ZFUlNJT04gIjExYmV0YTMiCnwgI2RlZmluZSBQQUNL QUdFX1NUUklORyAiUG9zdGdyZVNRTCAxMWJldGEzIgp8ICNkZWZpbmUgUEFDS0FHRV9CVUdSRVBP UlQgInBnc3FsLWJ1Z3NAcG9zdGdyZXNxbC5vcmciCnwgI2RlZmluZSBQQUNLQUdFX1VSTCAiIgp8 ICNkZWZpbmUgUEdfTUFKT1JWRVJTSU9OICIxMSIKfCAjZGVmaW5lIFBHX1ZFUlNJT04gIjExYmV0 YTMiCnwgI2RlZmluZSBERUZfUEdQT1JUIDU0MzIKfCAjZGVmaW5lIERFRl9QR1BPUlRfU1RSICI1 NDMyIgp8ICNkZWZpbmUgQkxDS1NaIDgxOTIKfCAjZGVmaW5lIFJFTFNFR19TSVpFIDEzMTA3Mgp8 ICNkZWZpbmUgWExPR19CTENLU1ogODE5Mgp8ICNkZWZpbmUgVVNFX0FTU0VSVF9DSEVDS0lORyAx CnwgI2RlZmluZSBFTkFCTEVfVEhSRUFEX1NBRkVUWSAxCnwgI2RlZmluZSBVU0VfSUNVIDEKfCAj ZGVmaW5lIFBHX0tSQl9TUlZOQU0gInBvc3RncmVzIgp8ICNkZWZpbmUgVVNFX09QRU5TU0wgMQp8 ICNkZWZpbmUgVVNFX0xJQlhNTCAxCnwgI2RlZmluZSBVU0VfTElCWFNMVCAxCnwgI2RlZmluZSBT VERDX0hFQURFUlMgMQp8ICNkZWZpbmUgSEFWRV9TWVNfVFlQRVNfSCAxCnwgI2RlZmluZSBIQVZF X1NZU19TVEFUX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERMSUJfSCAxCnwgI2RlZmluZSBIQVZFX1NU UklOR19IIDEKfCAjZGVmaW5lIEhBVkVfTUVNT1JZX0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJJTkdT X0ggMQp8ICNkZWZpbmUgSEFWRV9JTlRUWVBFU19IIDEKfCAjZGVmaW5lIEhBVkVfU1RESU5UX0gg MQp8ICNkZWZpbmUgSEFWRV9VTklTVERfSCAxCnwgI2RlZmluZSBIQVZFX0xJQk0gMQp8ICNkZWZp bmUgSEFWRV9MSUJaIDEKfCAjZGVmaW5lIEhBVkVfU1BJTkxPQ0tTIDEKfCAjZGVmaW5lIEhBVkVf QVRPTUlDUyAxCnwgI2RlZmluZSBIQVZFX1NTTF9HRVRfQ1VSUkVOVF9DT01QUkVTU0lPTiAxCnwg I2RlZmluZSBIQVZFX1g1MDlfR0VUX1NJR05BVFVSRV9OSUQgMQp8ICNkZWZpbmUgSEFWRV9DUllQ VE9fTE9DSyAxCnwgI2RlZmluZSBIQVZFX0xJQlhNTDIgMQp8ICNkZWZpbmUgSEFWRV9MSUJYU0xU IDEKfCAjZGVmaW5lIEhBVkVfX0JPT0wgMQp8ICNkZWZpbmUgSEFWRV9TVERCT09MX0ggMQp8ICNk ZWZpbmUgSEFWRV9HRVRPUFRfSCAxCnwgI2RlZmluZSBIQVZFX0lFRUVGUF9IIDEKfCAjZGVmaW5l IEhBVkVfVVRJTUVfSCAxCnwgI2RlZmluZSBIQVZFX1dDSEFSX0ggMQp8ICNkZWZpbmUgSEFWRV9X Q1RZUEVfSCAxCnwgI2RlZmluZSBIQVZFX0NSVERFRlNfSCAxCnwgI2RlZmluZSBQR19QUklOVEZf QVRUUklCVVRFIGdudV9wcmludGYKfCAjZGVmaW5lIEZMRVhJQkxFX0FSUkFZX01FTUJFUiAvKiov CnwgI2RlZmluZSBIQVZFX0ZVTkNOQU1FX19GVU5DIDEKfCAjZGVmaW5lIEhBVkVfX1NUQVRJQ19B U1NFUlQgMQp8ICNkZWZpbmUgSEFWRV9UWVBFT0YgMQp8ICNkZWZpbmUgSEFWRV9fQlVJTFRJTl9U WVBFU19DT01QQVRJQkxFX1AgMQp8ICNkZWZpbmUgSEFWRV9fQlVJTFRJTl9CU1dBUDE2IDEKfCAj ZGVmaW5lIEhBVkVfX0JVSUxUSU5fQlNXQVAzMiAxCnwgI2RlZmluZSBIQVZFX19CVUlMVElOX0JT V0FQNjQgMQp8ICNkZWZpbmUgSEFWRV9fQlVJTFRJTl9DT05TVEFOVF9QIDEKfCAjZGVmaW5lIEhB VkVfX0JVSUxUSU5fVU5SRUFDSEFCTEUgMQp8ICNkZWZpbmUgSEFWRV9DT01QVVRFRF9HT1RPIDEK fCAjZGVmaW5lIEhBVkVfX1ZBX0FSR1MgMQp8ICNkZWZpbmUgSEFWRV9UWk5BTUUgMQp8ICNkZWZp bmUgSEFWRV9TVFJVQ1RfU09DS0FERFJfU1RPUkFHRSAxCnwgI2RlZmluZSBIQVZFX1NUUlVDVF9T T0NLQUREUl9TVE9SQUdFX1NTX0ZBTUlMWSAxCnwgI2RlZmluZSBIQVZFX1NUUlVDVF9BRERSSU5G TyAxCnwgI2RlZmluZSBIQVZFX0lOVFBUUl9UIDEKfCAjZGVmaW5lIEhBVkVfVUlOVFBUUl9UIDEK fCAjZGVmaW5lIEhBVkVfVU5TSUdORURfTE9OR19MT05HX0lOVCAxCnwgI2RlZmluZSBIQVZFX0xP TkdfTE9OR19JTlQgMQp8ICNkZWZpbmUgcmVzdHJpY3QgX19yZXN0cmljdAp8ICNkZWZpbmUgcGdf cmVzdHJpY3QgX19yZXN0cmljdAp8ICNkZWZpbmUgSEFWRV9TVFJVQ1RfT1BUSU9OIDEKfCAjZGVm aW5lIFNJWkVPRl9PRkZfVCA0CnwgI2RlZmluZSBTSVpFT0ZfQk9PTCAxCnwgI2RlZmluZSBIQVZF X0lOVF9USU1FWk9ORSAxCnwgLyogZW5kIGNvbmZkZWZzLmguICAqLwp8ICNpbmNsdWRlIDxzeXMv dHlwZXMuaD4KfCAjaW5jbHVkZSA8c3lzL3NvY2tldC5oPgp8IGV4dGVybiBpbnQgYWNjZXB0IChT T0NLRVQsIHZvaWQgKiwgaW50ICopOwpjb25maWd1cmU6MTQ3OTE6IHg4Nl82NC13NjQtbWluZ3cz Mi1nY2MgLWMgLVdhbGwgLVdtaXNzaW5nLXByb3RvdHlwZXMgLVdwb2ludGVyLWFyaXRoIC1XZGVj bGFyYXRpb24tYWZ0ZXItc3RhdGVtZW50IC1XZW5kaWYtbGFiZWxzIC1XbWlzc2luZy1mb3JtYXQt YXR0cmlidXRlIC1XZm9ybWF0LXNlY3VyaXR5IC1mbm8tc3RyaWN0LWFsaWFzaW5nIC1md3JhcHYg LWZleGNlc3MtcHJlY2lzaW9uPXN0YW5kYXJkIC1Xbm8tZm9ybWF0LXRydW5jYXRpb24gLVduby1z dHJpbmdvcC10cnVuY2F0aW9uIC1nIC1PIC1mbm8tb21pdC1mcmFtZS1wb2ludGVyICAtSS93L1It My41Ll8vcG9zdGdyZXMvc3JjL2luY2x1ZGUvcG9ydC93aW4zMiAtREVYRUNfQkFDS0VORCAgLUkv dy96bGliLTEuMi44LXdpbjMyLXg4Nl82NC9pbmNsdWRlIC1JL3cvb3BlbnNzbC0xLjAuMmUtd2lu MzIteDg2XzY0L2luY2x1ZGUgLUkvdy9saWJ4bWwyLTIuOS4zLXdpbjMyLXg4Nl82NC9pbmNsdWRl L2xpYnhtbDIgLUkvdy9saWJ4c2x0LTEuMS4yOC13aW4zMi14ODZfNjQvaW5jbHVkZSBjb25mdGVz dC5jID4mNQpjb25mdGVzdC5jOjc5OjEyOiBlcnJvcjogY29uZmxpY3RpbmcgdHlwZXMgZm9yICdh Y2NlcHQnCiBleHRlcm4gaW50IGFjY2VwdCAoU09DS0VULCB2b2lkICosIHNpemVfdCAqKTsKICAg ICAgICAgICAgXn5+fn5+CkluIGZpbGUgaW5jbHVkZWQgZnJvbSBXOi9SLTMuNS5fL3Bvc3RncmVz L3NyYy9pbmNsdWRlL3BvcnQvd2luMzIvc3lzL3NvY2tldC5oOjE0LAogICAgICAgICAgICAgICAg IGZyb20gY29uZnRlc3QuYzo3ODoKQzovbXN5czY0L21pbmd3NjQveDg2XzY0LXc2NC1taW5ndzMy L2luY2x1ZGUvd2luc29jazIuaDo5NzM6Mzc6IG5vdGU6IHByZXZpb3VzIGRlY2xhcmF0aW9uIG9m ICdhY2NlcHQnIHdhcyBoZXJlCiAgIFdJTlNPQ0tfQVBJX0xJTktBR0UgU09DS0VUIFdTQUFQSSBh Y2NlcHQoU09DS0VUIHMsc3RydWN0IHNvY2thZGRyICphZGRyLGludCAqYWRkcmxlbik7CiAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBefn5+fn4KY29uZmlndXJlOjE0NzkxOiAk PyA9IDEKY29uZmlndXJlOiBmYWlsZWQgcHJvZ3JhbSB3YXM6CnwgLyogY29uZmRlZnMuaCAqLwp8 ICNkZWZpbmUgUEFDS0FHRV9OQU1FICJQb3N0Z3JlU1FMIgp8ICNkZWZpbmUgUEFDS0FHRV9UQVJO QU1FICJwb3N0Z3Jlc3FsIgp8ICNkZWZpbmUgUEFDS0FHRV9WRVJTSU9OICIxMWJldGEzIgp8ICNk ZWZpbmUgUEFDS0FHRV9TVFJJTkcgIlBvc3RncmVTUUwgMTFiZXRhMyIKfCAjZGVmaW5lIFBBQ0tB R0VfQlVHUkVQT1JUICJwZ3NxbC1idWdzQHBvc3RncmVzcWwub3JnIgp8ICNkZWZpbmUgUEFDS0FH RV9VUkwgIiIKfCAjZGVmaW5lIFBHX01BSk9SVkVSU0lPTiAiMTEiCnwgI2RlZmluZSBQR19WRVJT SU9OICIxMWJldGEzIgp8ICNkZWZpbmUgREVGX1BHUE9SVCA1NDMyCnwgI2RlZmluZSBERUZfUEdQ T1JUX1NUUiAiNTQzMiIKfCAjZGVmaW5lIEJMQ0tTWiA4MTkyCnwgI2RlZmluZSBSRUxTRUdfU0la RSAxMzEwNzIKfCAjZGVmaW5lIFhMT0dfQkxDS1NaIDgxOTIKfCAjZGVmaW5lIFVTRV9BU1NFUlRf Q0hFQ0tJTkcgMQp8ICNkZWZpbmUgRU5BQkxFX1RIUkVBRF9TQUZFVFkgMQp8ICNkZWZpbmUgVVNF X0lDVSAxCnwgI2RlZmluZSBQR19LUkJfU1JWTkFNICJwb3N0Z3JlcyIKfCAjZGVmaW5lIFVTRV9P UEVOU1NMIDEKfCAjZGVmaW5lIFVTRV9MSUJYTUwgMQp8ICNkZWZpbmUgVVNFX0xJQlhTTFQgMQp8 ICNkZWZpbmUgU1REQ19IRUFERVJTIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1RZUEVTX0ggMQp8ICNk ZWZpbmUgSEFWRV9TWVNfU1RBVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1RETElCX0ggMQp8ICNkZWZp bmUgSEFWRV9TVFJJTkdfSCAxCnwgI2RlZmluZSBIQVZFX01FTU9SWV9IIDEKfCAjZGVmaW5lIEhB VkVfU1RSSU5HU19IIDEKfCAjZGVmaW5lIEhBVkVfSU5UVFlQRVNfSCAxCnwgI2RlZmluZSBIQVZF X1NURElOVF9IIDEKfCAjZGVmaW5lIEhBVkVfVU5JU1REX0ggMQp8ICNkZWZpbmUgSEFWRV9MSUJN IDEKfCAjZGVmaW5lIEhBVkVfTElCWiAxCnwgI2RlZmluZSBIQVZFX1NQSU5MT0NLUyAxCnwgI2Rl ZmluZSBIQVZFX0FUT01JQ1MgMQp8ICNkZWZpbmUgSEFWRV9TU0xfR0VUX0NVUlJFTlRfQ09NUFJF U1NJT04gMQp8ICNkZWZpbmUgSEFWRV9YNTA5X0dFVF9TSUdOQVRVUkVfTklEIDEKfCAjZGVmaW5l IEhBVkVfQ1JZUFRPX0xPQ0sgMQp8ICNkZWZpbmUgSEFWRV9MSUJYTUwyIDEKfCAjZGVmaW5lIEhB VkVfTElCWFNMVCAxCnwgI2RlZmluZSBIQVZFX19CT09MIDEKfCAjZGVmaW5lIEhBVkVfU1REQk9P TF9IIDEKfCAjZGVmaW5lIEhBVkVfR0VUT1BUX0ggMQp8ICNkZWZpbmUgSEFWRV9JRUVFRlBfSCAx CnwgI2RlZmluZSBIQVZFX1VUSU1FX0ggMQp8ICNkZWZpbmUgSEFWRV9XQ0hBUl9IIDEKfCAjZGVm aW5lIEhBVkVfV0NUWVBFX0ggMQp8ICNkZWZpbmUgSEFWRV9DUlRERUZTX0ggMQp8ICNkZWZpbmUg UEdfUFJJTlRGX0FUVFJJQlVURSBnbnVfcHJpbnRmCnwgI2RlZmluZSBGTEVYSUJMRV9BUlJBWV9N RU1CRVIgLyoqLwp8ICNkZWZpbmUgSEFWRV9GVU5DTkFNRV9fRlVOQyAxCnwgI2RlZmluZSBIQVZF X19TVEFUSUNfQVNTRVJUIDEKfCAjZGVmaW5lIEhBVkVfVFlQRU9GIDEKfCAjZGVmaW5lIEhBVkVf X0JVSUxUSU5fVFlQRVNfQ09NUEFUSUJMRV9QIDEKfCAjZGVmaW5lIEhBVkVfX0JVSUxUSU5fQlNX QVAxNiAxCnwgI2RlZmluZSBIQVZFX19CVUlMVElOX0JTV0FQMzIgMQp8ICNkZWZpbmUgSEFWRV9f QlVJTFRJTl9CU1dBUDY0IDEKfCAjZGVmaW5lIEhBVkVfX0JVSUxUSU5fQ09OU1RBTlRfUCAxCnwg I2RlZmluZSBIQVZFX19CVUlMVElOX1VOUkVBQ0hBQkxFIDEKfCAjZGVmaW5lIEhBVkVfQ09NUFVU RURfR09UTyAxCnwgI2RlZmluZSBIQVZFX19WQV9BUkdTIDEKfCAjZGVmaW5lIEhBVkVfVFpOQU1F IDEKfCAjZGVmaW5lIEhBVkVfU1RSVUNUX1NPQ0tBRERSX1NUT1JBR0UgMQp8ICNkZWZpbmUgSEFW RV9TVFJVQ1RfU09DS0FERFJfU1RPUkFHRV9TU19GQU1JTFkgMQp8ICNkZWZpbmUgSEFWRV9TVFJV Q1RfQUREUklORk8gMQp8ICNkZWZpbmUgSEFWRV9JTlRQVFJfVCAxCnwgI2RlZmluZSBIQVZFX1VJ TlRQVFJfVCAxCnwgI2RlZmluZSBIQVZFX1VOU0lHTkVEX0xPTkdfTE9OR19JTlQgMQp8ICNkZWZp bmUgSEFWRV9MT05HX0xPTkdfSU5UIDEKfCAjZGVmaW5lIHJlc3RyaWN0IF9fcmVzdHJpY3QKfCAj ZGVmaW5lIHBnX3Jlc3RyaWN0IF9fcmVzdHJpY3QKfCAjZGVmaW5lIEhBVkVfU1RSVUNUX09QVElP TiAxCnwgI2RlZmluZSBTSVpFT0ZfT0ZGX1QgNAp8ICNkZWZpbmUgU0laRU9GX0JPT0wgMQp8ICNk ZWZpbmUgSEFWRV9JTlRfVElNRVpPTkUgMQp8IC8qIGVuZCBjb25mZGVmcy5oLiAgKi8KfCAjaW5j bHVkZSA8c3lzL3R5cGVzLmg+CnwgI2luY2x1ZGUgPHN5cy9zb2NrZXQuaD4KfCBleHRlcm4gaW50 IGFjY2VwdCAoU09DS0VULCB2b2lkICosIHNpemVfdCAqKTsKY29uZmlndXJlOjE0NzkxOiB4ODZf NjQtdzY0LW1pbmd3MzItZ2NjIC1jIC1XYWxsIC1XbWlzc2luZy1wcm90b3R5cGVzIC1XcG9pbnRl ci1hcml0aCAtV2RlY2xhcmF0aW9uLWFmdGVyLXN0YXRlbWVudCAtV2VuZGlmLWxhYmVscyAtV21p c3NpbmctZm9ybWF0LWF0dHJpYnV0ZSAtV2Zvcm1hdC1zZWN1cml0eSAtZm5vLXN0cmljdC1hbGlh c2luZyAtZndyYXB2IC1mZXhjZXNzLXByZWNpc2lvbj1zdGFuZGFyZCAtV25vLWZvcm1hdC10cnVu Y2F0aW9uIC1Xbm8tc3RyaW5nb3AtdHJ1bmNhdGlvbiAtZyAtTyAtZm5vLW9taXQtZnJhbWUtcG9p bnRlciAgLUkvdy9SLTMuNS5fL3Bvc3RncmVzL3NyYy9pbmNsdWRlL3BvcnQvd2luMzIgLURFWEVD X0JBQ0tFTkQgIC1JL3cvemxpYi0xLjIuOC13aW4zMi14ODZfNjQvaW5jbHVkZSAtSS93L29wZW5z c2wtMS4wLjJlLXdpbjMyLXg4Nl82NC9pbmNsdWRlIC1JL3cvbGlieG1sMi0yLjkuMy13aW4zMi14 ODZfNjQvaW5jbHVkZS9saWJ4bWwyIC1JL3cvbGlieHNsdC0xLjEuMjgtd2luMzIteDg2XzY0L2lu Y2x1ZGUgY29uZnRlc3QuYyA+JjUKY29uZnRlc3QuYzo3OToxMjogZXJyb3I6IGNvbmZsaWN0aW5n IHR5cGVzIGZvciAnYWNjZXB0JwogZXh0ZXJuIGludCBhY2NlcHQgKFNPQ0tFVCwgdm9pZCAqLCBz b2NrbGVuX3QgKik7CiAgICAgICAgICAgIF5+fn5+fgpJbiBmaWxlIGluY2x1ZGVkIGZyb20gVzov Ui0zLjUuXy9wb3N0Z3Jlcy9zcmMvaW5jbHVkZS9wb3J0L3dpbjMyL3N5cy9zb2NrZXQuaDoxNCwK ICAgICAgICAgICAgICAgICBmcm9tIGNvbmZ0ZXN0LmM6Nzg6CkM6L21zeXM2NC9taW5ndzY0L3g4 Nl82NC13NjQtbWluZ3czMi9pbmNsdWRlL3dpbnNvY2syLmg6OTczOjM3OiBub3RlOiBwcmV2aW91 cyBkZWNsYXJhdGlvbiBvZiAnYWNjZXB0JyB3YXMgaGVyZQogICBXSU5TT0NLX0FQSV9MSU5LQUdF IFNPQ0tFVCBXU0FBUEkgYWNjZXB0KFNPQ0tFVCBzLHN0cnVjdCBzb2NrYWRkciAqYWRkcixpbnQg KmFkZHJsZW4pOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXn5+fn5+CmNv bmZpZ3VyZToxNDc5MTogJD8gPSAxCmNvbmZpZ3VyZTogZmFpbGVkIHByb2dyYW0gd2FzOgp8IC8q IGNvbmZkZWZzLmggKi8KfCAjZGVmaW5lIFBBQ0tBR0VfTkFNRSAiUG9zdGdyZVNRTCIKfCAjZGVm aW5lIFBBQ0tBR0VfVEFSTkFNRSAicG9zdGdyZXNxbCIKfCAjZGVmaW5lIFBBQ0tBR0VfVkVSU0lP TiAiMTFiZXRhMyIKfCAjZGVmaW5lIFBBQ0tBR0VfU1RSSU5HICJQb3N0Z3JlU1FMIDExYmV0YTMi CnwgI2RlZmluZSBQQUNLQUdFX0JVR1JFUE9SVCAicGdzcWwtYnVnc0Bwb3N0Z3Jlc3FsLm9yZyIK fCAjZGVmaW5lIFBBQ0tBR0VfVVJMICIiCnwgI2RlZmluZSBQR19NQUpPUlZFUlNJT04gIjExIgp8 ICNkZWZpbmUgUEdfVkVSU0lPTiAiMTFiZXRhMyIKfCAjZGVmaW5lIERFRl9QR1BPUlQgNTQzMgp8 ICNkZWZpbmUgREVGX1BHUE9SVF9TVFIgIjU0MzIiCnwgI2RlZmluZSBCTENLU1ogODE5Mgp8ICNk ZWZpbmUgUkVMU0VHX1NJWkUgMTMxMDcyCnwgI2RlZmluZSBYTE9HX0JMQ0tTWiA4MTkyCnwgI2Rl ZmluZSBVU0VfQVNTRVJUX0NIRUNLSU5HIDEKfCAjZGVmaW5lIEVOQUJMRV9USFJFQURfU0FGRVRZ IDEKfCAjZGVmaW5lIFVTRV9JQ1UgMQp8ICNkZWZpbmUgUEdfS1JCX1NSVk5BTSAicG9zdGdyZXMi CnwgI2RlZmluZSBVU0VfT1BFTlNTTCAxCnwgI2RlZmluZSBVU0VfTElCWE1MIDEKfCAjZGVmaW5l IFVTRV9MSUJYU0xUIDEKfCAjZGVmaW5lIFNURENfSEVBREVSUyAxCnwgI2RlZmluZSBIQVZFX1NZ U19UWVBFU19IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NUQVRfSCAxCnwgI2RlZmluZSBIQVZFX1NU RExJQl9IIDEKfCAjZGVmaW5lIEhBVkVfU1RSSU5HX0ggMQp8ICNkZWZpbmUgSEFWRV9NRU1PUllf SCAxCnwgI2RlZmluZSBIQVZFX1NUUklOR1NfSCAxCnwgI2RlZmluZSBIQVZFX0lOVFRZUEVTX0gg MQp8ICNkZWZpbmUgSEFWRV9TVERJTlRfSCAxCnwgI2RlZmluZSBIQVZFX1VOSVNURF9IIDEKfCAj ZGVmaW5lIEhBVkVfTElCTSAxCnwgI2RlZmluZSBIQVZFX0xJQlogMQp8ICNkZWZpbmUgSEFWRV9T UElOTE9DS1MgMQp8ICNkZWZpbmUgSEFWRV9BVE9NSUNTIDEKfCAjZGVmaW5lIEhBVkVfU1NMX0dF VF9DVVJSRU5UX0NPTVBSRVNTSU9OIDEKfCAjZGVmaW5lIEhBVkVfWDUwOV9HRVRfU0lHTkFUVVJF X05JRCAxCnwgI2RlZmluZSBIQVZFX0NSWVBUT19MT0NLIDEKfCAjZGVmaW5lIEhBVkVfTElCWE1M MiAxCnwgI2RlZmluZSBIQVZFX0xJQlhTTFQgMQp8ICNkZWZpbmUgSEFWRV9fQk9PTCAxCnwgI2Rl ZmluZSBIQVZFX1NUREJPT0xfSCAxCnwgI2RlZmluZSBIQVZFX0dFVE9QVF9IIDEKfCAjZGVmaW5l IEhBVkVfSUVFRUZQX0ggMQp8ICNkZWZpbmUgSEFWRV9VVElNRV9IIDEKfCAjZGVmaW5lIEhBVkVf V0NIQVJfSCAxCnwgI2RlZmluZSBIQVZFX1dDVFlQRV9IIDEKfCAjZGVmaW5lIEhBVkVfQ1JUREVG U19IIDEKfCAjZGVmaW5lIFBHX1BSSU5URl9BVFRSSUJVVEUgZ251X3ByaW50Zgp8ICNkZWZpbmUg RkxFWElCTEVfQVJSQVlfTUVNQkVSIC8qKi8KfCAjZGVmaW5lIEhBVkVfRlVOQ05BTUVfX0ZVTkMg MQp8ICNkZWZpbmUgSEFWRV9fU1RBVElDX0FTU0VSVCAxCnwgI2RlZmluZSBIQVZFX1RZUEVPRiAx CnwgI2RlZmluZSBIQVZFX19CVUlMVElOX1RZUEVTX0NPTVBBVElCTEVfUCAxCnwgI2RlZmluZSBI QVZFX19CVUlMVElOX0JTV0FQMTYgMQp8ICNkZWZpbmUgSEFWRV9fQlVJTFRJTl9CU1dBUDMyIDEK fCAjZGVmaW5lIEhBVkVfX0JVSUxUSU5fQlNXQVA2NCAxCnwgI2RlZmluZSBIQVZFX19CVUlMVElO X0NPTlNUQU5UX1AgMQp8ICNkZWZpbmUgSEFWRV9fQlVJTFRJTl9VTlJFQUNIQUJMRSAxCnwgI2Rl ZmluZSBIQVZFX0NPTVBVVEVEX0dPVE8gMQp8ICNkZWZpbmUgSEFWRV9fVkFfQVJHUyAxCnwgI2Rl ZmluZSBIQVZFX1RaTkFNRSAxCnwgI2RlZmluZSBIQVZFX1NUUlVDVF9TT0NLQUREUl9TVE9SQUdF IDEKfCAjZGVmaW5lIEhBVkVfU1RSVUNUX1NPQ0tBRERSX1NUT1JBR0VfU1NfRkFNSUxZIDEKfCAj ZGVmaW5lIEhBVkVfU1RSVUNUX0FERFJJTkZPIDEKfCAjZGVmaW5lIEhBVkVfSU5UUFRSX1QgMQp8 ICNkZWZpbmUgSEFWRV9VSU5UUFRSX1QgMQp8ICNkZWZpbmUgSEFWRV9VTlNJR05FRF9MT05HX0xP TkdfSU5UIDEKfCAjZGVmaW5lIEhBVkVfTE9OR19MT05HX0lOVCAxCnwgI2RlZmluZSByZXN0cmlj dCBfX3Jlc3RyaWN0CnwgI2RlZmluZSBwZ19yZXN0cmljdCBfX3Jlc3RyaWN0CnwgI2RlZmluZSBI QVZFX1NUUlVDVF9PUFRJT04gMQp8ICNkZWZpbmUgU0laRU9GX09GRl9UIDQKfCAjZGVmaW5lIFNJ WkVPRl9CT09MIDEKfCAjZGVmaW5lIEhBVkVfSU5UX1RJTUVaT05FIDEKfCAvKiBlbmQgY29uZmRl ZnMuaC4gICovCnwgI2luY2x1ZGUgPHN5cy90eXBlcy5oPgp8ICNpbmNsdWRlIDxzeXMvc29ja2V0 Lmg+CnwgZXh0ZXJuIGludCBhY2NlcHQgKFNPQ0tFVCwgdm9pZCAqLCBzb2NrbGVuX3QgKik7CmNv bmZpZ3VyZToxNDc5MTogeDg2XzY0LXc2NC1taW5ndzMyLWdjYyAtYyAtV2FsbCAtV21pc3Npbmct cHJvdG90eXBlcyAtV3BvaW50ZXItYXJpdGggLVdkZWNsYXJhdGlvbi1hZnRlci1zdGF0ZW1lbnQg LVdlbmRpZi1sYWJlbHMgLVdtaXNzaW5nLWZvcm1hdC1hdHRyaWJ1dGUgLVdmb3JtYXQtc2VjdXJp dHkgLWZuby1zdHJpY3QtYWxpYXNpbmcgLWZ3cmFwdiAtZmV4Y2Vzcy1wcmVjaXNpb249c3RhbmRh cmQgLVduby1mb3JtYXQtdHJ1bmNhdGlvbiAtV25vLXN0cmluZ29wLXRydW5jYXRpb24gLWcgLU8g LWZuby1vbWl0LWZyYW1lLXBvaW50ZXIgIC1JL3cvUi0zLjUuXy9wb3N0Z3Jlcy9zcmMvaW5jbHVk ZS9wb3J0L3dpbjMyIC1ERVhFQ19CQUNLRU5EICAtSS93L3psaWItMS4yLjgtd2luMzIteDg2XzY0 L2luY2x1ZGUgLUkvdy9vcGVuc3NsLTEuMC4yZS13aW4zMi14ODZfNjQvaW5jbHVkZSAtSS93L2xp YnhtbDItMi45LjMtd2luMzIteDg2XzY0L2luY2x1ZGUvbGlieG1sMiAtSS93L2xpYnhzbHQtMS4x LjI4LXdpbjMyLXg4Nl82NC9pbmNsdWRlIGNvbmZ0ZXN0LmMgPiY1CmNvbmZ0ZXN0LmM6Nzk6MTI6 IGVycm9yOiBjb25mbGljdGluZyB0eXBlcyBmb3IgJ2FjY2VwdCcKIGV4dGVybiBpbnQgYWNjZXB0 IChTT0NLRVQsIHZvaWQgKiwgdW5zaWduZWQgaW50ICopOwogICAgICAgICAgICBefn5+fn4KSW4g ZmlsZSBpbmNsdWRlZCBmcm9tIFc6L1ItMy41Ll8vcG9zdGdyZXMvc3JjL2luY2x1ZGUvcG9ydC93 aW4zMi9zeXMvc29ja2V0Lmg6MTQsCiAgICAgICAgICAgICAgICAgZnJvbSBjb25mdGVzdC5jOjc4 OgpDOi9tc3lzNjQvbWluZ3c2NC94ODZfNjQtdzY0LW1pbmd3MzIvaW5jbHVkZS93aW5zb2NrMi5o Ojk3MzozNzogbm90ZTogcHJldmlvdXMgZGVjbGFyYXRpb24gb2YgJ2FjY2VwdCcgd2FzIGhlcmUK ICAgV0lOU09DS19BUElfTElOS0FHRSBTT0NLRVQgV1NBQVBJIGFjY2VwdChTT0NLRVQgcyxzdHJ1 Y3Qgc29ja2FkZHIgKmFkZHIsaW50ICphZGRybGVuKTsKICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIF5+fn5+fgpjb25maWd1cmU6MTQ3OTE6ICQ/ID0gMQpjb25maWd1cmU6IGZh aWxlZCBwcm9ncmFtIHdhczoKfCAvKiBjb25mZGVmcy5oICovCnwgI2RlZmluZSBQQUNLQUdFX05B TUUgIlBvc3RncmVTUUwiCnwgI2RlZmluZSBQQUNLQUdFX1RBUk5BTUUgInBvc3RncmVzcWwiCnwg I2RlZmluZSBQQUNLQUdFX1ZFUlNJT04gIjExYmV0YTMiCnwgI2RlZmluZSBQQUNLQUdFX1NUUklO RyAiUG9zdGdyZVNRTCAxMWJldGEzIgp8ICNkZWZpbmUgUEFDS0FHRV9CVUdSRVBPUlQgInBnc3Fs LWJ1Z3NAcG9zdGdyZXNxbC5vcmciCnwgI2RlZmluZSBQQUNLQUdFX1VSTCAiIgp8ICNkZWZpbmUg UEdfTUFKT1JWRVJTSU9OICIxMSIKfCAjZGVmaW5lIFBHX1ZFUlNJT04gIjExYmV0YTMiCnwgI2Rl ZmluZSBERUZfUEdQT1JUIDU0MzIKfCAjZGVmaW5lIERFRl9QR1BPUlRfU1RSICI1NDMyIgp8ICNk ZWZpbmUgQkxDS1NaIDgxOTIKfCAjZGVmaW5lIFJFTFNFR19TSVpFIDEzMTA3Mgp8ICNkZWZpbmUg WExPR19CTENLU1ogODE5Mgp8ICNkZWZpbmUgVVNFX0FTU0VSVF9DSEVDS0lORyAxCnwgI2RlZmlu ZSBFTkFCTEVfVEhSRUFEX1NBRkVUWSAxCnwgI2RlZmluZSBVU0VfSUNVIDEKfCAjZGVmaW5lIFBH X0tSQl9TUlZOQU0gInBvc3RncmVzIgp8ICNkZWZpbmUgVVNFX09QRU5TU0wgMQp8ICNkZWZpbmUg VVNFX0xJQlhNTCAxCnwgI2RlZmluZSBVU0VfTElCWFNMVCAxCnwgI2RlZmluZSBTVERDX0hFQURF UlMgMQp8ICNkZWZpbmUgSEFWRV9TWVNfVFlQRVNfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19TVEFU X0ggMQp8ICNkZWZpbmUgSEFWRV9TVERMSUJfSCAxCnwgI2RlZmluZSBIQVZFX1NUUklOR19IIDEK fCAjZGVmaW5lIEhBVkVfTUVNT1JZX0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJJTkdTX0ggMQp8ICNk ZWZpbmUgSEFWRV9JTlRUWVBFU19IIDEKfCAjZGVmaW5lIEhBVkVfU1RESU5UX0ggMQp8ICNkZWZp bmUgSEFWRV9VTklTVERfSCAxCnwgI2RlZmluZSBIQVZFX0xJQk0gMQp8ICNkZWZpbmUgSEFWRV9M SUJaIDEKfCAjZGVmaW5lIEhBVkVfU1BJTkxPQ0tTIDEKfCAjZGVmaW5lIEhBVkVfQVRPTUlDUyAx CnwgI2RlZmluZSBIQVZFX1NTTF9HRVRfQ1VSUkVOVF9DT01QUkVTU0lPTiAxCnwgI2RlZmluZSBI QVZFX1g1MDlfR0VUX1NJR05BVFVSRV9OSUQgMQp8ICNkZWZpbmUgSEFWRV9DUllQVE9fTE9DSyAx CnwgI2RlZmluZSBIQVZFX0xJQlhNTDIgMQp8ICNkZWZpbmUgSEFWRV9MSUJYU0xUIDEKfCAjZGVm aW5lIEhBVkVfX0JPT0wgMQp8ICNkZWZpbmUgSEFWRV9TVERCT09MX0ggMQp8ICNkZWZpbmUgSEFW RV9HRVRPUFRfSCAxCnwgI2RlZmluZSBIQVZFX0lFRUVGUF9IIDEKfCAjZGVmaW5lIEhBVkVfVVRJ TUVfSCAxCnwgI2RlZmluZSBIQVZFX1dDSEFSX0ggMQp8ICNkZWZpbmUgSEFWRV9XQ1RZUEVfSCAx CnwgI2RlZmluZSBIQVZFX0NSVERFRlNfSCAxCnwgI2RlZmluZSBQR19QUklOVEZfQVRUUklCVVRF IGdudV9wcmludGYKfCAjZGVmaW5lIEZMRVhJQkxFX0FSUkFZX01FTUJFUiAvKiovCnwgI2RlZmlu ZSBIQVZFX0ZVTkNOQU1FX19GVU5DIDEKfCAjZGVmaW5lIEhBVkVfX1NUQVRJQ19BU1NFUlQgMQp8 ICNkZWZpbmUgSEFWRV9UWVBFT0YgMQp8ICNkZWZpbmUgSEFWRV9fQlVJTFRJTl9UWVBFU19DT01Q QVRJQkxFX1AgMQp8ICNkZWZpbmUgSEFWRV9fQlVJTFRJTl9CU1dBUDE2IDEKfCAjZGVmaW5lIEhB VkVfX0JVSUxUSU5fQlNXQVAzMiAxCnwgI2RlZmluZSBIQVZFX19CVUlMVElOX0JTV0FQNjQgMQp8 ICNkZWZpbmUgSEFWRV9fQlVJTFRJTl9DT05TVEFOVF9QIDEKfCAjZGVmaW5lIEhBVkVfX0JVSUxU SU5fVU5SRUFDSEFCTEUgMQp8ICNkZWZpbmUgSEFWRV9DT01QVVRFRF9HT1RPIDEKfCAjZGVmaW5l IEhBVkVfX1ZBX0FSR1MgMQp8ICNkZWZpbmUgSEFWRV9UWk5BTUUgMQp8ICNkZWZpbmUgSEFWRV9T VFJVQ1RfU09DS0FERFJfU1RPUkFHRSAxCnwgI2RlZmluZSBIQVZFX1NUUlVDVF9TT0NLQUREUl9T VE9SQUdFX1NTX0ZBTUlMWSAxCnwgI2RlZmluZSBIQVZFX1NUUlVDVF9BRERSSU5GTyAxCnwgI2Rl ZmluZSBIQVZFX0lOVFBUUl9UIDEKfCAjZGVmaW5lIEhBVkVfVUlOVFBUUl9UIDEKfCAjZGVmaW5l IEhBVkVfVU5TSUdORURfTE9OR19MT05HX0lOVCAxCnwgI2RlZmluZSBIQVZFX0xPTkdfTE9OR19J TlQgMQp8ICNkZWZpbmUgcmVzdHJpY3QgX19yZXN0cmljdAp8ICNkZWZpbmUgcGdfcmVzdHJpY3Qg X19yZXN0cmljdAp8ICNkZWZpbmUgSEFWRV9TVFJVQ1RfT1BUSU9OIDEKfCAjZGVmaW5lIFNJWkVP Rl9PRkZfVCA0CnwgI2RlZmluZSBTSVpFT0ZfQk9PTCAxCnwgI2RlZmluZSBIQVZFX0lOVF9USU1F Wk9ORSAxCnwgLyogZW5kIGNvbmZkZWZzLmguICAqLwp8ICNpbmNsdWRlIDxzeXMvdHlwZXMuaD4K fCAjaW5jbHVkZSA8c3lzL3NvY2tldC5oPgp8IGV4dGVybiBpbnQgYWNjZXB0IChTT0NLRVQsIHZv aWQgKiwgdW5zaWduZWQgaW50ICopOwpjb25maWd1cmU6MTQ3OTE6IHg4Nl82NC13NjQtbWluZ3cz Mi1nY2MgLWMgLVdhbGwgLVdtaXNzaW5nLXByb3RvdHlwZXMgLVdwb2ludGVyLWFyaXRoIC1XZGVj bGFyYXRpb24tYWZ0ZXItc3RhdGVtZW50IC1XZW5kaWYtbGFiZWxzIC1XbWlzc2luZy1mb3JtYXQt YXR0cmlidXRlIC1XZm9ybWF0LXNlY3VyaXR5IC1mbm8tc3RyaWN0LWFsaWFzaW5nIC1md3JhcHYg LWZleGNlc3MtcHJlY2lzaW9uPXN0YW5kYXJkIC1Xbm8tZm9ybWF0LXRydW5jYXRpb24gLVduby1z dHJpbmdvcC10cnVuY2F0aW9uIC1nIC1PIC1mbm8tb21pdC1mcmFtZS1wb2ludGVyICAtSS93L1It My41Ll8vcG9zdGdyZXMvc3JjL2luY2x1ZGUvcG9ydC93aW4zMiAtREVYRUNfQkFDS0VORCAgLUkv dy96bGliLTEuMi44LXdpbjMyLXg4Nl82NC9pbmNsdWRlIC1JL3cvb3BlbnNzbC0xLjAuMmUtd2lu MzIteDg2XzY0L2luY2x1ZGUgLUkvdy9saWJ4bWwyLTIuOS4zLXdpbjMyLXg4Nl82NC9pbmNsdWRl L2xpYnhtbDIgLUkvdy9saWJ4c2x0LTEuMS4yOC13aW4zMi14ODZfNjQvaW5jbHVkZSBjb25mdGVz dC5jID4mNQpjb25mdGVzdC5jOjc5OjEyOiBlcnJvcjogY29uZmxpY3RpbmcgdHlwZXMgZm9yICdh Y2NlcHQnCiBleHRlcm4gaW50IGFjY2VwdCAoU09DS0VULCB2b2lkICosIHZvaWQgKik7CiAgICAg ICAgICAgIF5+fn5+fgpJbiBmaWxlIGluY2x1ZGVkIGZyb20gVzovUi0zLjUuXy9wb3N0Z3Jlcy9z cmMvaW5jbHVkZS9wb3J0L3dpbjMyL3N5cy9zb2NrZXQuaDoxNCwKICAgICAgICAgICAgICAgICBm cm9tIGNvbmZ0ZXN0LmM6Nzg6CkM6L21zeXM2NC9taW5ndzY0L3g4Nl82NC13NjQtbWluZ3czMi9p bmNsdWRlL3dpbnNvY2syLmg6OTczOjM3OiBub3RlOiBwcmV2aW91cyBkZWNsYXJhdGlvbiBvZiAn YWNjZXB0JyB3YXMgaGVyZQogICBXSU5TT0NLX0FQSV9MSU5LQUdFIFNPQ0tFVCBXU0FBUEkgYWNj ZXB0KFNPQ0tFVCBzLHN0cnVjdCBzb2NrYWRkciAqYWRkcixpbnQgKmFkZHJsZW4pOwogICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXn5+fn5+CmNvbmZpZ3VyZToxNDc5MTogJD8g PSAxCmNvbmZpZ3VyZTogZmFpbGVkIHByb2dyYW0gd2FzOgp8IC8qIGNvbmZkZWZzLmggKi8KfCAj ZGVmaW5lIFBBQ0tBR0VfTkFNRSAiUG9zdGdyZVNRTCIKfCAjZGVmaW5lIFBBQ0tBR0VfVEFSTkFN RSAicG9zdGdyZXNxbCIKfCAjZGVmaW5lIFBBQ0tBR0VfVkVSU0lPTiAiMTFiZXRhMyIKfCAjZGVm aW5lIFBBQ0tBR0VfU1RSSU5HICJQb3N0Z3JlU1FMIDExYmV0YTMiCnwgI2RlZmluZSBQQUNLQUdF X0JVR1JFUE9SVCAicGdzcWwtYnVnc0Bwb3N0Z3Jlc3FsLm9yZyIKfCAjZGVmaW5lIFBBQ0tBR0Vf VVJMICIiCnwgI2RlZmluZSBQR19NQUpPUlZFUlNJT04gIjExIgp8ICNkZWZpbmUgUEdfVkVSU0lP TiAiMTFiZXRhMyIKfCAjZGVmaW5lIERFRl9QR1BPUlQgNTQzMgp8ICNkZWZpbmUgREVGX1BHUE9S VF9TVFIgIjU0MzIiCnwgI2RlZmluZSBCTENLU1ogODE5Mgp8ICNkZWZpbmUgUkVMU0VHX1NJWkUg MTMxMDcyCnwgI2RlZmluZSBYTE9HX0JMQ0tTWiA4MTkyCnwgI2RlZmluZSBVU0VfQVNTRVJUX0NI RUNLSU5HIDEKfCAjZGVmaW5lIEVOQUJMRV9USFJFQURfU0FGRVRZIDEKfCAjZGVmaW5lIFVTRV9J Q1UgMQp8ICNkZWZpbmUgUEdfS1JCX1NSVk5BTSAicG9zdGdyZXMiCnwgI2RlZmluZSBVU0VfT1BF TlNTTCAxCnwgI2RlZmluZSBVU0VfTElCWE1MIDEKfCAjZGVmaW5lIFVTRV9MSUJYU0xUIDEKfCAj ZGVmaW5lIFNURENfSEVBREVSUyAxCnwgI2RlZmluZSBIQVZFX1NZU19UWVBFU19IIDEKfCAjZGVm aW5lIEhBVkVfU1lTX1NUQVRfSCAxCnwgI2RlZmluZSBIQVZFX1NURExJQl9IIDEKfCAjZGVmaW5l IEhBVkVfU1RSSU5HX0ggMQp8ICNkZWZpbmUgSEFWRV9NRU1PUllfSCAxCnwgI2RlZmluZSBIQVZF X1NUUklOR1NfSCAxCnwgI2RlZmluZSBIQVZFX0lOVFRZUEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9T VERJTlRfSCAxCnwgI2RlZmluZSBIQVZFX1VOSVNURF9IIDEKfCAjZGVmaW5lIEhBVkVfTElCTSAx CnwgI2RlZmluZSBIQVZFX0xJQlogMQp8ICNkZWZpbmUgSEFWRV9TUElOTE9DS1MgMQp8ICNkZWZp bmUgSEFWRV9BVE9NSUNTIDEKfCAjZGVmaW5lIEhBVkVfU1NMX0dFVF9DVVJSRU5UX0NPTVBSRVNT SU9OIDEKfCAjZGVmaW5lIEhBVkVfWDUwOV9HRVRfU0lHTkFUVVJFX05JRCAxCnwgI2RlZmluZSBI QVZFX0NSWVBUT19MT0NLIDEKfCAjZGVmaW5lIEhBVkVfTElCWE1MMiAxCnwgI2RlZmluZSBIQVZF X0xJQlhTTFQgMQp8ICNkZWZpbmUgSEFWRV9fQk9PTCAxCnwgI2RlZmluZSBIQVZFX1NUREJPT0xf SCAxCnwgI2RlZmluZSBIQVZFX0dFVE9QVF9IIDEKfCAjZGVmaW5lIEhBVkVfSUVFRUZQX0ggMQp8 ICNkZWZpbmUgSEFWRV9VVElNRV9IIDEKfCAjZGVmaW5lIEhBVkVfV0NIQVJfSCAxCnwgI2RlZmlu ZSBIQVZFX1dDVFlQRV9IIDEKfCAjZGVmaW5lIEhBVkVfQ1JUREVGU19IIDEKfCAjZGVmaW5lIFBH X1BSSU5URl9BVFRSSUJVVEUgZ251X3ByaW50Zgp8ICNkZWZpbmUgRkxFWElCTEVfQVJSQVlfTUVN QkVSIC8qKi8KfCAjZGVmaW5lIEhBVkVfRlVOQ05BTUVfX0ZVTkMgMQp8ICNkZWZpbmUgSEFWRV9f U1RBVElDX0FTU0VSVCAxCnwgI2RlZmluZSBIQVZFX1RZUEVPRiAxCnwgI2RlZmluZSBIQVZFX19C VUlMVElOX1RZUEVTX0NPTVBBVElCTEVfUCAxCnwgI2RlZmluZSBIQVZFX19CVUlMVElOX0JTV0FQ MTYgMQp8ICNkZWZpbmUgSEFWRV9fQlVJTFRJTl9CU1dBUDMyIDEKfCAjZGVmaW5lIEhBVkVfX0JV SUxUSU5fQlNXQVA2NCAxCnwgI2RlZmluZSBIQVZFX19CVUlMVElOX0NPTlNUQU5UX1AgMQp8ICNk ZWZpbmUgSEFWRV9fQlVJTFRJTl9VTlJFQUNIQUJMRSAxCnwgI2RlZmluZSBIQVZFX0NPTVBVVEVE X0dPVE8gMQp8ICNkZWZpbmUgSEFWRV9fVkFfQVJHUyAxCnwgI2RlZmluZSBIQVZFX1RaTkFNRSAx CnwgI2RlZmluZSBIQVZFX1NUUlVDVF9TT0NLQUREUl9TVE9SQUdFIDEKfCAjZGVmaW5lIEhBVkVf U1RSVUNUX1NPQ0tBRERSX1NUT1JBR0VfU1NfRkFNSUxZIDEKfCAjZGVmaW5lIEhBVkVfU1RSVUNU X0FERFJJTkZPIDEKfCAjZGVmaW5lIEhBVkVfSU5UUFRSX1QgMQp8ICNkZWZpbmUgSEFWRV9VSU5U UFRSX1QgMQp8ICNkZWZpbmUgSEFWRV9VTlNJR05FRF9MT05HX0xPTkdfSU5UIDEKfCAjZGVmaW5l IEhBVkVfTE9OR19MT05HX0lOVCAxCnwgI2RlZmluZSByZXN0cmljdCBfX3Jlc3RyaWN0CnwgI2Rl ZmluZSBwZ19yZXN0cmljdCBfX3Jlc3RyaWN0CnwgI2RlZmluZSBIQVZFX1NUUlVDVF9PUFRJT04g MQp8ICNkZWZpbmUgU0laRU9GX09GRl9UIDQKfCAjZGVmaW5lIFNJWkVPRl9CT09MIDEKfCAjZGVm aW5lIEhBVkVfSU5UX1RJTUVaT05FIDEKfCAvKiBlbmQgY29uZmRlZnMuaC4gICovCnwgI2luY2x1 ZGUgPHN5cy90eXBlcy5oPgp8ICNpbmNsdWRlIDxzeXMvc29ja2V0Lmg+CnwgZXh0ZXJuIGludCBh Y2NlcHQgKFNPQ0tFVCwgdm9pZCAqLCB2b2lkICopOwpjb25maWd1cmU6MTQ3OTE6IHg4Nl82NC13 NjQtbWluZ3czMi1nY2MgLWMgLVdhbGwgLVdtaXNzaW5nLXByb3RvdHlwZXMgLVdwb2ludGVyLWFy aXRoIC1XZGVjbGFyYXRpb24tYWZ0ZXItc3RhdGVtZW50IC1XZW5kaWYtbGFiZWxzIC1XbWlzc2lu Zy1mb3JtYXQtYXR0cmlidXRlIC1XZm9ybWF0LXNlY3VyaXR5IC1mbm8tc3RyaWN0LWFsaWFzaW5n IC1md3JhcHYgLWZleGNlc3MtcHJlY2lzaW9uPXN0YW5kYXJkIC1Xbm8tZm9ybWF0LXRydW5jYXRp b24gLVduby1zdHJpbmdvcC10cnVuY2F0aW9uIC1nIC1PIC1mbm8tb21pdC1mcmFtZS1wb2ludGVy ICAtSS93L1ItMy41Ll8vcG9zdGdyZXMvc3JjL2luY2x1ZGUvcG9ydC93aW4zMiAtREVYRUNfQkFD S0VORCAgLUkvdy96bGliLTEuMi44LXdpbjMyLXg4Nl82NC9pbmNsdWRlIC1JL3cvb3BlbnNzbC0x LjAuMmUtd2luMzIteDg2XzY0L2luY2x1ZGUgLUkvdy9saWJ4bWwyLTIuOS4zLXdpbjMyLXg4Nl82 NC9pbmNsdWRlL2xpYnhtbDIgLUkvdy9saWJ4c2x0LTEuMS4yOC13aW4zMi14ODZfNjQvaW5jbHVk ZSBjb25mdGVzdC5jID4mNQpjb25mdGVzdC5jOjc5OjI4OiBlcnJvcjogY29uZmxpY3RpbmcgdHlw ZXMgZm9yICdhY2NlcHQnCiBleHRlcm4gdW5zaWduZWQgaW50IFBBU0NBTCBhY2NlcHQgKGludCwg c3RydWN0IHNvY2thZGRyICosIGludCAqKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIF5+ fn5+fgpJbiBmaWxlIGluY2x1ZGVkIGZyb20gVzovUi0zLjUuXy9wb3N0Z3Jlcy9zcmMvaW5jbHVk ZS9wb3J0L3dpbjMyL3N5cy9zb2NrZXQuaDoxNCwKICAgICAgICAgICAgICAgICBmcm9tIGNvbmZ0 ZXN0LmM6Nzg6CkM6L21zeXM2NC9taW5ndzY0L3g4Nl82NC13NjQtbWluZ3czMi9pbmNsdWRlL3dp bnNvY2syLmg6OTczOjM3OiBub3RlOiBwcmV2aW91cyBkZWNsYXJhdGlvbiBvZiAnYWNjZXB0JyB3 YXMgaGVyZQogICBXSU5TT0NLX0FQSV9MSU5LQUdFIFNPQ0tFVCBXU0FBUEkgYWNjZXB0KFNPQ0tF VCBzLHN0cnVjdCBzb2NrYWRkciAqYWRkcixpbnQgKmFkZHJsZW4pOwogICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgXn5+fn5+CmNvbmZpZ3VyZToxNDc5MTogJD8gPSAxCmNvbmZp Z3VyZTogZmFpbGVkIHByb2dyYW0gd2FzOgp8IC8qIGNvbmZkZWZzLmggKi8KfCAjZGVmaW5lIFBB Q0tBR0VfTkFNRSAiUG9zdGdyZVNRTCIKfCAjZGVmaW5lIFBBQ0tBR0VfVEFSTkFNRSAicG9zdGdy ZXNxbCIKfCAjZGVmaW5lIFBBQ0tBR0VfVkVSU0lPTiAiMTFiZXRhMyIKfCAjZGVmaW5lIFBBQ0tB R0VfU1RSSU5HICJQb3N0Z3JlU1FMIDExYmV0YTMiCnwgI2RlZmluZSBQQUNLQUdFX0JVR1JFUE9S VCAicGdzcWwtYnVnc0Bwb3N0Z3Jlc3FsLm9yZyIKfCAjZGVmaW5lIFBBQ0tBR0VfVVJMICIiCnwg I2RlZmluZSBQR19NQUpPUlZFUlNJT04gIjExIgp8ICNkZWZpbmUgUEdfVkVSU0lPTiAiMTFiZXRh MyIKfCAjZGVmaW5lIERFRl9QR1BPUlQgNTQzMgp8ICNkZWZpbmUgREVGX1BHUE9SVF9TVFIgIjU0 MzIiCnwgI2RlZmluZSBCTENLU1ogODE5Mgp8ICNkZWZpbmUgUkVMU0VHX1NJWkUgMTMxMDcyCnwg I2RlZmluZSBYTE9HX0JMQ0tTWiA4MTkyCnwgI2RlZmluZSBVU0VfQVNTRVJUX0NIRUNLSU5HIDEK fCAjZGVmaW5lIEVOQUJMRV9USFJFQURfU0FGRVRZIDEKfCAjZGVmaW5lIFVTRV9JQ1UgMQp8ICNk ZWZpbmUgUEdfS1JCX1NSVk5BTSAicG9zdGdyZXMiCnwgI2RlZmluZSBVU0VfT1BFTlNTTCAxCnwg I2RlZmluZSBVU0VfTElCWE1MIDEKfCAjZGVmaW5lIFVTRV9MSUJYU0xUIDEKfCAjZGVmaW5lIFNU RENfSEVBREVSUyAxCnwgI2RlZmluZSBIQVZFX1NZU19UWVBFU19IIDEKfCAjZGVmaW5lIEhBVkVf U1lTX1NUQVRfSCAxCnwgI2RlZmluZSBIQVZFX1NURExJQl9IIDEKfCAjZGVmaW5lIEhBVkVfU1RS SU5HX0ggMQp8ICNkZWZpbmUgSEFWRV9NRU1PUllfSCAxCnwgI2RlZmluZSBIQVZFX1NUUklOR1Nf SCAxCnwgI2RlZmluZSBIQVZFX0lOVFRZUEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERJTlRfSCAx CnwgI2RlZmluZSBIQVZFX1VOSVNURF9IIDEKfCAjZGVmaW5lIEhBVkVfTElCTSAxCnwgI2RlZmlu ZSBIQVZFX0xJQlogMQp8ICNkZWZpbmUgSEFWRV9TUElOTE9DS1MgMQp8ICNkZWZpbmUgSEFWRV9B VE9NSUNTIDEKfCAjZGVmaW5lIEhBVkVfU1NMX0dFVF9DVVJSRU5UX0NPTVBSRVNTSU9OIDEKfCAj ZGVmaW5lIEhBVkVfWDUwOV9HRVRfU0lHTkFUVVJFX05JRCAxCnwgI2RlZmluZSBIQVZFX0NSWVBU T19MT0NLIDEKfCAjZGVmaW5lIEhBVkVfTElCWE1MMiAxCnwgI2RlZmluZSBIQVZFX0xJQlhTTFQg MQp8ICNkZWZpbmUgSEFWRV9fQk9PTCAxCnwgI2RlZmluZSBIQVZFX1NUREJPT0xfSCAxCnwgI2Rl ZmluZSBIQVZFX0dFVE9QVF9IIDEKfCAjZGVmaW5lIEhBVkVfSUVFRUZQX0ggMQp8ICNkZWZpbmUg SEFWRV9VVElNRV9IIDEKfCAjZGVmaW5lIEhBVkVfV0NIQVJfSCAxCnwgI2RlZmluZSBIQVZFX1dD VFlQRV9IIDEKfCAjZGVmaW5lIEhBVkVfQ1JUREVGU19IIDEKfCAjZGVmaW5lIFBHX1BSSU5URl9B VFRSSUJVVEUgZ251X3ByaW50Zgp8ICNkZWZpbmUgRkxFWElCTEVfQVJSQVlfTUVNQkVSIC8qKi8K fCAjZGVmaW5lIEhBVkVfRlVOQ05BTUVfX0ZVTkMgMQp8ICNkZWZpbmUgSEFWRV9fU1RBVElDX0FT U0VSVCAxCnwgI2RlZmluZSBIQVZFX1RZUEVPRiAxCnwgI2RlZmluZSBIQVZFX19CVUlMVElOX1RZ UEVTX0NPTVBBVElCTEVfUCAxCnwgI2RlZmluZSBIQVZFX19CVUlMVElOX0JTV0FQMTYgMQp8ICNk ZWZpbmUgSEFWRV9fQlVJTFRJTl9CU1dBUDMyIDEKfCAjZGVmaW5lIEhBVkVfX0JVSUxUSU5fQlNX QVA2NCAxCnwgI2RlZmluZSBIQVZFX19CVUlMVElOX0NPTlNUQU5UX1AgMQp8ICNkZWZpbmUgSEFW RV9fQlVJTFRJTl9VTlJFQUNIQUJMRSAxCnwgI2RlZmluZSBIQVZFX0NPTVBVVEVEX0dPVE8gMQp8 ICNkZWZpbmUgSEFWRV9fVkFfQVJHUyAxCnwgI2RlZmluZSBIQVZFX1RaTkFNRSAxCnwgI2RlZmlu ZSBIQVZFX1NUUlVDVF9TT0NLQUREUl9TVE9SQUdFIDEKfCAjZGVmaW5lIEhBVkVfU1RSVUNUX1NP Q0tBRERSX1NUT1JBR0VfU1NfRkFNSUxZIDEKfCAjZGVmaW5lIEhBVkVfU1RSVUNUX0FERFJJTkZP IDEKfCAjZGVmaW5lIEhBVkVfSU5UUFRSX1QgMQp8ICNkZWZpbmUgSEFWRV9VSU5UUFRSX1QgMQp8 ICNkZWZpbmUgSEFWRV9VTlNJR05FRF9MT05HX0xPTkdfSU5UIDEKfCAjZGVmaW5lIEhBVkVfTE9O R19MT05HX0lOVCAxCnwgI2RlZmluZSByZXN0cmljdCBfX3Jlc3RyaWN0CnwgI2RlZmluZSBwZ19y ZXN0cmljdCBfX3Jlc3RyaWN0CnwgI2RlZmluZSBIQVZFX1NUUlVDVF9PUFRJT04gMQp8ICNkZWZp bmUgU0laRU9GX09GRl9UIDQKfCAjZGVmaW5lIFNJWkVPRl9CT09MIDEKfCAjZGVmaW5lIEhBVkVf SU5UX1RJTUVaT05FIDEKfCAvKiBlbmQgY29uZmRlZnMuaC4gICovCnwgI2luY2x1ZGUgPHN5cy90 eXBlcy5oPgp8ICNpbmNsdWRlIDxzeXMvc29ja2V0Lmg+CnwgZXh0ZXJuIHVuc2lnbmVkIGludCBQ QVNDQUwgYWNjZXB0IChpbnQsIHN0cnVjdCBzb2NrYWRkciAqLCBpbnQgKik7CmNvbmZpZ3VyZTox NDc5MTogeDg2XzY0LXc2NC1taW5ndzMyLWdjYyAtYyAtV2FsbCAtV21pc3NpbmctcHJvdG90eXBl cyAtV3BvaW50ZXItYXJpdGggLVdkZWNsYXJhdGlvbi1hZnRlci1zdGF0ZW1lbnQgLVdlbmRpZi1s YWJlbHMgLVdtaXNzaW5nLWZvcm1hdC1hdHRyaWJ1dGUgLVdmb3JtYXQtc2VjdXJpdHkgLWZuby1z dHJpY3QtYWxpYXNpbmcgLWZ3cmFwdiAtZmV4Y2Vzcy1wcmVjaXNpb249c3RhbmRhcmQgLVduby1m b3JtYXQtdHJ1bmNhdGlvbiAtV25vLXN0cmluZ29wLXRydW5jYXRpb24gLWcgLU8gLWZuby1vbWl0 LWZyYW1lLXBvaW50ZXIgIC1JL3cvUi0zLjUuXy9wb3N0Z3Jlcy9zcmMvaW5jbHVkZS9wb3J0L3dp bjMyIC1ERVhFQ19CQUNLRU5EICAtSS93L3psaWItMS4yLjgtd2luMzIteDg2XzY0L2luY2x1ZGUg LUkvdy9vcGVuc3NsLTEuMC4yZS13aW4zMi14ODZfNjQvaW5jbHVkZSAtSS93L2xpYnhtbDItMi45 LjMtd2luMzIteDg2XzY0L2luY2x1ZGUvbGlieG1sMiAtSS93L2xpYnhzbHQtMS4xLjI4LXdpbjMy LXg4Nl82NC9pbmNsdWRlIGNvbmZ0ZXN0LmMgPiY1CmNvbmZ0ZXN0LmM6Nzk6Mjg6IGVycm9yOiBj b25mbGljdGluZyB0eXBlcyBmb3IgJ2FjY2VwdCcKIGV4dGVybiB1bnNpZ25lZCBpbnQgUEFTQ0FM IGFjY2VwdCAoaW50LCBzdHJ1Y3Qgc29ja2FkZHIgKiwgc2l6ZV90ICopOwogICAgICAgICAgICAg ICAgICAgICAgICAgICAgXn5+fn5+CkluIGZpbGUgaW5jbHVkZWQgZnJvbSBXOi9SLTMuNS5fL3Bv c3RncmVzL3NyYy9pbmNsdWRlL3BvcnQvd2luMzIvc3lzL3NvY2tldC5oOjE0LAogICAgICAgICAg ICAgICAgIGZyb20gY29uZnRlc3QuYzo3ODoKQzovbXN5czY0L21pbmd3NjQveDg2XzY0LXc2NC1t aW5ndzMyL2luY2x1ZGUvd2luc29jazIuaDo5NzM6Mzc6IG5vdGU6IHByZXZpb3VzIGRlY2xhcmF0 aW9uIG9mICdhY2NlcHQnIHdhcyBoZXJlCiAgIFdJTlNPQ0tfQVBJX0xJTktBR0UgU09DS0VUIFdT QUFQSSBhY2NlcHQoU09DS0VUIHMsc3RydWN0IHNvY2thZGRyICphZGRyLGludCAqYWRkcmxlbik7 CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBefn5+fn4KY29uZmlndXJlOjE0 NzkxOiAkPyA9IDEKY29uZmlndXJlOiBmYWlsZWQgcHJvZ3JhbSB3YXM6CnwgLyogY29uZmRlZnMu aCAqLwp8ICNkZWZpbmUgUEFDS0FHRV9OQU1FICJQb3N0Z3JlU1FMIgp8ICNkZWZpbmUgUEFDS0FH RV9UQVJOQU1FICJwb3N0Z3Jlc3FsIgp8ICNkZWZpbmUgUEFDS0FHRV9WRVJTSU9OICIxMWJldGEz Igp8ICNkZWZpbmUgUEFDS0FHRV9TVFJJTkcgIlBvc3RncmVTUUwgMTFiZXRhMyIKfCAjZGVmaW5l IFBBQ0tBR0VfQlVHUkVQT1JUICJwZ3NxbC1idWdzQHBvc3RncmVzcWwub3JnIgp8ICNkZWZpbmUg UEFDS0FHRV9VUkwgIiIKfCAjZGVmaW5lIFBHX01BSk9SVkVSU0lPTiAiMTEiCnwgI2RlZmluZSBQ R19WRVJTSU9OICIxMWJldGEzIgp8ICNkZWZpbmUgREVGX1BHUE9SVCA1NDMyCnwgI2RlZmluZSBE RUZfUEdQT1JUX1NUUiAiNTQzMiIKfCAjZGVmaW5lIEJMQ0tTWiA4MTkyCnwgI2RlZmluZSBSRUxT RUdfU0laRSAxMzEwNzIKfCAjZGVmaW5lIFhMT0dfQkxDS1NaIDgxOTIKfCAjZGVmaW5lIFVTRV9B U1NFUlRfQ0hFQ0tJTkcgMQp8ICNkZWZpbmUgRU5BQkxFX1RIUkVBRF9TQUZFVFkgMQp8ICNkZWZp bmUgVVNFX0lDVSAxCnwgI2RlZmluZSBQR19LUkJfU1JWTkFNICJwb3N0Z3JlcyIKfCAjZGVmaW5l IFVTRV9PUEVOU1NMIDEKfCAjZGVmaW5lIFVTRV9MSUJYTUwgMQp8ICNkZWZpbmUgVVNFX0xJQlhT TFQgMQp8ICNkZWZpbmUgU1REQ19IRUFERVJTIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1RZUEVTX0gg MQp8ICNkZWZpbmUgSEFWRV9TWVNfU1RBVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1RETElCX0ggMQp8 ICNkZWZpbmUgSEFWRV9TVFJJTkdfSCAxCnwgI2RlZmluZSBIQVZFX01FTU9SWV9IIDEKfCAjZGVm aW5lIEhBVkVfU1RSSU5HU19IIDEKfCAjZGVmaW5lIEhBVkVfSU5UVFlQRVNfSCAxCnwgI2RlZmlu ZSBIQVZFX1NURElOVF9IIDEKfCAjZGVmaW5lIEhBVkVfVU5JU1REX0ggMQp8ICNkZWZpbmUgSEFW RV9MSUJNIDEKfCAjZGVmaW5lIEhBVkVfTElCWiAxCnwgI2RlZmluZSBIQVZFX1NQSU5MT0NLUyAx CnwgI2RlZmluZSBIQVZFX0FUT01JQ1MgMQp8ICNkZWZpbmUgSEFWRV9TU0xfR0VUX0NVUlJFTlRf Q09NUFJFU1NJT04gMQp8ICNkZWZpbmUgSEFWRV9YNTA5X0dFVF9TSUdOQVRVUkVfTklEIDEKfCAj ZGVmaW5lIEhBVkVfQ1JZUFRPX0xPQ0sgMQp8ICNkZWZpbmUgSEFWRV9MSUJYTUwyIDEKfCAjZGVm aW5lIEhBVkVfTElCWFNMVCAxCnwgI2RlZmluZSBIQVZFX19CT09MIDEKfCAjZGVmaW5lIEhBVkVf U1REQk9PTF9IIDEKfCAjZGVmaW5lIEhBVkVfR0VUT1BUX0ggMQp8ICNkZWZpbmUgSEFWRV9JRUVF RlBfSCAxCnwgI2RlZmluZSBIQVZFX1VUSU1FX0ggMQp8ICNkZWZpbmUgSEFWRV9XQ0hBUl9IIDEK fCAjZGVmaW5lIEhBVkVfV0NUWVBFX0ggMQp8ICNkZWZpbmUgSEFWRV9DUlRERUZTX0ggMQp8ICNk ZWZpbmUgUEdfUFJJTlRGX0FUVFJJQlVURSBnbnVfcHJpbnRmCnwgI2RlZmluZSBGTEVYSUJMRV9B UlJBWV9NRU1CRVIgLyoqLwp8ICNkZWZpbmUgSEFWRV9GVU5DTkFNRV9fRlVOQyAxCnwgI2RlZmlu ZSBIQVZFX19TVEFUSUNfQVNTRVJUIDEKfCAjZGVmaW5lIEhBVkVfVFlQRU9GIDEKfCAjZGVmaW5l IEhBVkVfX0JVSUxUSU5fVFlQRVNfQ09NUEFUSUJMRV9QIDEKfCAjZGVmaW5lIEhBVkVfX0JVSUxU SU5fQlNXQVAxNiAxCnwgI2RlZmluZSBIQVZFX19CVUlMVElOX0JTV0FQMzIgMQp8ICNkZWZpbmUg SEFWRV9fQlVJTFRJTl9CU1dBUDY0IDEKfCAjZGVmaW5lIEhBVkVfX0JVSUxUSU5fQ09OU1RBTlRf UCAxCnwgI2RlZmluZSBIQVZFX19CVUlMVElOX1VOUkVBQ0hBQkxFIDEKfCAjZGVmaW5lIEhBVkVf Q09NUFVURURfR09UTyAxCnwgI2RlZmluZSBIQVZFX19WQV9BUkdTIDEKfCAjZGVmaW5lIEhBVkVf VFpOQU1FIDEKfCAjZGVmaW5lIEhBVkVfU1RSVUNUX1NPQ0tBRERSX1NUT1JBR0UgMQp8ICNkZWZp bmUgSEFWRV9TVFJVQ1RfU09DS0FERFJfU1RPUkFHRV9TU19GQU1JTFkgMQp8ICNkZWZpbmUgSEFW RV9TVFJVQ1RfQUREUklORk8gMQp8ICNkZWZpbmUgSEFWRV9JTlRQVFJfVCAxCnwgI2RlZmluZSBI QVZFX1VJTlRQVFJfVCAxCnwgI2RlZmluZSBIQVZFX1VOU0lHTkVEX0xPTkdfTE9OR19JTlQgMQp8 ICNkZWZpbmUgSEFWRV9MT05HX0xPTkdfSU5UIDEKfCAjZGVmaW5lIHJlc3RyaWN0IF9fcmVzdHJp Y3QKfCAjZGVmaW5lIHBnX3Jlc3RyaWN0IF9fcmVzdHJpY3QKfCAjZGVmaW5lIEhBVkVfU1RSVUNU X09QVElPTiAxCnwgI2RlZmluZSBTSVpFT0ZfT0ZGX1QgNAp8ICNkZWZpbmUgU0laRU9GX0JPT0wg MQp8ICNkZWZpbmUgSEFWRV9JTlRfVElNRVpPTkUgMQp8IC8qIGVuZCBjb25mZGVmcy5oLiAgKi8K fCAjaW5jbHVkZSA8c3lzL3R5cGVzLmg+CnwgI2luY2x1ZGUgPHN5cy9zb2NrZXQuaD4KfCBleHRl cm4gdW5zaWduZWQgaW50IFBBU0NBTCBhY2NlcHQgKGludCwgc3RydWN0IHNvY2thZGRyICosIHNp emVfdCAqKTsKY29uZmlndXJlOjE0NzkxOiB4ODZfNjQtdzY0LW1pbmd3MzItZ2NjIC1jIC1XYWxs IC1XbWlzc2luZy1wcm90b3R5cGVzIC1XcG9pbnRlci1hcml0aCAtV2RlY2xhcmF0aW9uLWFmdGVy LXN0YXRlbWVudCAtV2VuZGlmLWxhYmVscyAtV21pc3NpbmctZm9ybWF0LWF0dHJpYnV0ZSAtV2Zv cm1hdC1zZWN1cml0eSAtZm5vLXN0cmljdC1hbGlhc2luZyAtZndyYXB2IC1mZXhjZXNzLXByZWNp c2lvbj1zdGFuZGFyZCAtV25vLWZvcm1hdC10cnVuY2F0aW9uIC1Xbm8tc3RyaW5nb3AtdHJ1bmNh dGlvbiAtZyAtTyAtZm5vLW9taXQtZnJhbWUtcG9pbnRlciAgLUkvdy9SLTMuNS5fL3Bvc3RncmVz L3NyYy9pbmNsdWRlL3BvcnQvd2luMzIgLURFWEVDX0JBQ0tFTkQgIC1JL3cvemxpYi0xLjIuOC13 aW4zMi14ODZfNjQvaW5jbHVkZSAtSS93L29wZW5zc2wtMS4wLjJlLXdpbjMyLXg4Nl82NC9pbmNs dWRlIC1JL3cvbGlieG1sMi0yLjkuMy13aW4zMi14ODZfNjQvaW5jbHVkZS9saWJ4bWwyIC1JL3cv bGlieHNsdC0xLjEuMjgtd2luMzIteDg2XzY0L2luY2x1ZGUgY29uZnRlc3QuYyA+JjUKY29uZnRl c3QuYzo3OToyODogZXJyb3I6IGNvbmZsaWN0aW5nIHR5cGVzIGZvciAnYWNjZXB0JwogZXh0ZXJu IHVuc2lnbmVkIGludCBQQVNDQUwgYWNjZXB0IChpbnQsIHN0cnVjdCBzb2NrYWRkciAqLCBzb2Nr bGVuX3QgKik7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBefn5+fn4KSW4gZmlsZSBpbmNs dWRlZCBmcm9tIFc6L1ItMy41Ll8vcG9zdGdyZXMvc3JjL2luY2x1ZGUvcG9ydC93aW4zMi9zeXMv c29ja2V0Lmg6MTQsCiAgICAgICAgICAgICAgICAgZnJvbSBjb25mdGVzdC5jOjc4OgpDOi9tc3lz NjQvbWluZ3c2NC94ODZfNjQtdzY0LW1pbmd3MzIvaW5jbHVkZS93aW5zb2NrMi5oOjk3MzozNzog bm90ZTogcHJldmlvdXMgZGVjbGFyYXRpb24gb2YgJ2FjY2VwdCcgd2FzIGhlcmUKICAgV0lOU09D S19BUElfTElOS0FHRSBTT0NLRVQgV1NBQVBJIGFjY2VwdChTT0NLRVQgcyxzdHJ1Y3Qgc29ja2Fk ZHIgKmFkZHIsaW50ICphZGRybGVuKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIF5+fn5+fgpjb25maWd1cmU6MTQ3OTE6ICQ/ID0gMQpjb25maWd1cmU6IGZhaWxlZCBwcm9n cmFtIHdhczoKfCAvKiBjb25mZGVmcy5oICovCnwgI2RlZmluZSBQQUNLQUdFX05BTUUgIlBvc3Rn cmVTUUwiCnwgI2RlZmluZSBQQUNLQUdFX1RBUk5BTUUgInBvc3RncmVzcWwiCnwgI2RlZmluZSBQ QUNLQUdFX1ZFUlNJT04gIjExYmV0YTMiCnwgI2RlZmluZSBQQUNLQUdFX1NUUklORyAiUG9zdGdy ZVNRTCAxMWJldGEzIgp8ICNkZWZpbmUgUEFDS0FHRV9CVUdSRVBPUlQgInBnc3FsLWJ1Z3NAcG9z dGdyZXNxbC5vcmciCnwgI2RlZmluZSBQQUNLQUdFX1VSTCAiIgp8ICNkZWZpbmUgUEdfTUFKT1JW RVJTSU9OICIxMSIKfCAjZGVmaW5lIFBHX1ZFUlNJT04gIjExYmV0YTMiCnwgI2RlZmluZSBERUZf UEdQT1JUIDU0MzIKfCAjZGVmaW5lIERFRl9QR1BPUlRfU1RSICI1NDMyIgp8ICNkZWZpbmUgQkxD S1NaIDgxOTIKfCAjZGVmaW5lIFJFTFNFR19TSVpFIDEzMTA3Mgp8ICNkZWZpbmUgWExPR19CTENL U1ogODE5Mgp8ICNkZWZpbmUgVVNFX0FTU0VSVF9DSEVDS0lORyAxCnwgI2RlZmluZSBFTkFCTEVf VEhSRUFEX1NBRkVUWSAxCnwgI2RlZmluZSBVU0VfSUNVIDEKfCAjZGVmaW5lIFBHX0tSQl9TUlZO QU0gInBvc3RncmVzIgp8ICNkZWZpbmUgVVNFX09QRU5TU0wgMQp8ICNkZWZpbmUgVVNFX0xJQlhN TCAxCnwgI2RlZmluZSBVU0VfTElCWFNMVCAxCnwgI2RlZmluZSBTVERDX0hFQURFUlMgMQp8ICNk ZWZpbmUgSEFWRV9TWVNfVFlQRVNfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19TVEFUX0ggMQp8ICNk ZWZpbmUgSEFWRV9TVERMSUJfSCAxCnwgI2RlZmluZSBIQVZFX1NUUklOR19IIDEKfCAjZGVmaW5l IEhBVkVfTUVNT1JZX0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJJTkdTX0ggMQp8ICNkZWZpbmUgSEFW RV9JTlRUWVBFU19IIDEKfCAjZGVmaW5lIEhBVkVfU1RESU5UX0ggMQp8ICNkZWZpbmUgSEFWRV9V TklTVERfSCAxCnwgI2RlZmluZSBIQVZFX0xJQk0gMQp8ICNkZWZpbmUgSEFWRV9MSUJaIDEKfCAj ZGVmaW5lIEhBVkVfU1BJTkxPQ0tTIDEKfCAjZGVmaW5lIEhBVkVfQVRPTUlDUyAxCnwgI2RlZmlu ZSBIQVZFX1NTTF9HRVRfQ1VSUkVOVF9DT01QUkVTU0lPTiAxCnwgI2RlZmluZSBIQVZFX1g1MDlf R0VUX1NJR05BVFVSRV9OSUQgMQp8ICNkZWZpbmUgSEFWRV9DUllQVE9fTE9DSyAxCnwgI2RlZmlu ZSBIQVZFX0xJQlhNTDIgMQp8ICNkZWZpbmUgSEFWRV9MSUJYU0xUIDEKfCAjZGVmaW5lIEhBVkVf X0JPT0wgMQp8ICNkZWZpbmUgSEFWRV9TVERCT09MX0ggMQp8ICNkZWZpbmUgSEFWRV9HRVRPUFRf SCAxCnwgI2RlZmluZSBIQVZFX0lFRUVGUF9IIDEKfCAjZGVmaW5lIEhBVkVfVVRJTUVfSCAxCnwg I2RlZmluZSBIQVZFX1dDSEFSX0ggMQp8ICNkZWZpbmUgSEFWRV9XQ1RZUEVfSCAxCnwgI2RlZmlu ZSBIQVZFX0NSVERFRlNfSCAxCnwgI2RlZmluZSBQR19QUklOVEZfQVRUUklCVVRFIGdudV9wcmlu dGYKfCAjZGVmaW5lIEZMRVhJQkxFX0FSUkFZX01FTUJFUiAvKiovCnwgI2RlZmluZSBIQVZFX0ZV TkNOQU1FX19GVU5DIDEKfCAjZGVmaW5lIEhBVkVfX1NUQVRJQ19BU1NFUlQgMQp8ICNkZWZpbmUg SEFWRV9UWVBFT0YgMQp8ICNkZWZpbmUgSEFWRV9fQlVJTFRJTl9UWVBFU19DT01QQVRJQkxFX1Ag MQp8ICNkZWZpbmUgSEFWRV9fQlVJTFRJTl9CU1dBUDE2IDEKfCAjZGVmaW5lIEhBVkVfX0JVSUxU SU5fQlNXQVAzMiAxCnwgI2RlZmluZSBIQVZFX19CVUlMVElOX0JTV0FQNjQgMQp8ICNkZWZpbmUg SEFWRV9fQlVJTFRJTl9DT05TVEFOVF9QIDEKfCAjZGVmaW5lIEhBVkVfX0JVSUxUSU5fVU5SRUFD SEFCTEUgMQp8ICNkZWZpbmUgSEFWRV9DT01QVVRFRF9HT1RPIDEKfCAjZGVmaW5lIEhBVkVfX1ZB X0FSR1MgMQp8ICNkZWZpbmUgSEFWRV9UWk5BTUUgMQp8ICNkZWZpbmUgSEFWRV9TVFJVQ1RfU09D S0FERFJfU1RPUkFHRSAxCnwgI2RlZmluZSBIQVZFX1NUUlVDVF9TT0NLQUREUl9TVE9SQUdFX1NT X0ZBTUlMWSAxCnwgI2RlZmluZSBIQVZFX1NUUlVDVF9BRERSSU5GTyAxCnwgI2RlZmluZSBIQVZF X0lOVFBUUl9UIDEKfCAjZGVmaW5lIEhBVkVfVUlOVFBUUl9UIDEKfCAjZGVmaW5lIEhBVkVfVU5T SUdORURfTE9OR19MT05HX0lOVCAxCnwgI2RlZmluZSBIQVZFX0xPTkdfTE9OR19JTlQgMQp8ICNk ZWZpbmUgcmVzdHJpY3QgX19yZXN0cmljdAp8ICNkZWZpbmUgcGdfcmVzdHJpY3QgX19yZXN0cmlj dAp8ICNkZWZpbmUgSEFWRV9TVFJVQ1RfT1BUSU9OIDEKfCAjZGVmaW5lIFNJWkVPRl9PRkZfVCA0 CnwgI2RlZmluZSBTSVpFT0ZfQk9PTCAxCnwgI2RlZmluZSBIQVZFX0lOVF9USU1FWk9ORSAxCnwg LyogZW5kIGNvbmZkZWZzLmguICAqLwp8ICNpbmNsdWRlIDxzeXMvdHlwZXMuaD4KfCAjaW5jbHVk ZSA8c3lzL3NvY2tldC5oPgp8IGV4dGVybiB1bnNpZ25lZCBpbnQgUEFTQ0FMIGFjY2VwdCAoaW50 LCBzdHJ1Y3Qgc29ja2FkZHIgKiwgc29ja2xlbl90ICopOwpjb25maWd1cmU6MTQ3OTE6IHg4Nl82 NC13NjQtbWluZ3czMi1nY2MgLWMgLVdhbGwgLVdtaXNzaW5nLXByb3RvdHlwZXMgLVdwb2ludGVy LWFyaXRoIC1XZGVjbGFyYXRpb24tYWZ0ZXItc3RhdGVtZW50IC1XZW5kaWYtbGFiZWxzIC1XbWlz c2luZy1mb3JtYXQtYXR0cmlidXRlIC1XZm9ybWF0LXNlY3VyaXR5IC1mbm8tc3RyaWN0LWFsaWFz aW5nIC1md3JhcHYgLWZleGNlc3MtcHJlY2lzaW9uPXN0YW5kYXJkIC1Xbm8tZm9ybWF0LXRydW5j YXRpb24gLVduby1zdHJpbmdvcC10cnVuY2F0aW9uIC1nIC1PIC1mbm8tb21pdC1mcmFtZS1wb2lu dGVyICAtSS93L1ItMy41Ll8vcG9zdGdyZXMvc3JjL2luY2x1ZGUvcG9ydC93aW4zMiAtREVYRUNf QkFDS0VORCAgLUkvdy96bGliLTEuMi44LXdpbjMyLXg4Nl82NC9pbmNsdWRlIC1JL3cvb3BlbnNz bC0xLjAuMmUtd2luMzIteDg2XzY0L2luY2x1ZGUgLUkvdy9saWJ4bWwyLTIuOS4zLXdpbjMyLXg4 Nl82NC9pbmNsdWRlL2xpYnhtbDIgLUkvdy9saWJ4c2x0LTEuMS4yOC13aW4zMi14ODZfNjQvaW5j bHVkZSBjb25mdGVzdC5jID4mNQpjb25mdGVzdC5jOjc5OjI4OiBlcnJvcjogY29uZmxpY3Rpbmcg dHlwZXMgZm9yICdhY2NlcHQnCiBleHRlcm4gdW5zaWduZWQgaW50IFBBU0NBTCBhY2NlcHQgKGlu dCwgc3RydWN0IHNvY2thZGRyICosIHVuc2lnbmVkIGludCAqKTsKICAgICAgICAgICAgICAgICAg ICAgICAgICAgIF5+fn5+fgpJbiBmaWxlIGluY2x1ZGVkIGZyb20gVzovUi0zLjUuXy9wb3N0Z3Jl cy9zcmMvaW5jbHVkZS9wb3J0L3dpbjMyL3N5cy9zb2NrZXQuaDoxNCwKICAgICAgICAgICAgICAg ICBmcm9tIGNvbmZ0ZXN0LmM6Nzg6CkM6L21zeXM2NC9taW5ndzY0L3g4Nl82NC13NjQtbWluZ3cz Mi9pbmNsdWRlL3dpbnNvY2syLmg6OTczOjM3OiBub3RlOiBwcmV2aW91cyBkZWNsYXJhdGlvbiBv ZiAnYWNjZXB0JyB3YXMgaGVyZQogICBXSU5TT0NLX0FQSV9MSU5LQUdFIFNPQ0tFVCBXU0FBUEkg YWNjZXB0KFNPQ0tFVCBzLHN0cnVjdCBzb2NrYWRkciAqYWRkcixpbnQgKmFkZHJsZW4pOwogICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXn5+fn5+CmNvbmZpZ3VyZToxNDc5MTog JD8gPSAxCmNvbmZpZ3VyZTogZmFpbGVkIHByb2dyYW0gd2FzOgp8IC8qIGNvbmZkZWZzLmggKi8K fCAjZGVmaW5lIFBBQ0tBR0VfTkFNRSAiUG9zdGdyZVNRTCIKfCAjZGVmaW5lIFBBQ0tBR0VfVEFS TkFNRSAicG9zdGdyZXNxbCIKfCAjZGVmaW5lIFBBQ0tBR0VfVkVSU0lPTiAiMTFiZXRhMyIKfCAj ZGVmaW5lIFBBQ0tBR0VfU1RSSU5HICJQb3N0Z3JlU1FMIDExYmV0YTMiCnwgI2RlZmluZSBQQUNL QUdFX0JVR1JFUE9SVCAicGdzcWwtYnVnc0Bwb3N0Z3Jlc3FsLm9yZyIKfCAjZGVmaW5lIFBBQ0tB R0VfVVJMICIiCnwgI2RlZmluZSBQR19NQUpPUlZFUlNJT04gIjExIgp8ICNkZWZpbmUgUEdfVkVS U0lPTiAiMTFiZXRhMyIKfCAjZGVmaW5lIERFRl9QR1BPUlQgNTQzMgp8ICNkZWZpbmUgREVGX1BH UE9SVF9TVFIgIjU0MzIiCnwgI2RlZmluZSBCTENLU1ogODE5Mgp8ICNkZWZpbmUgUkVMU0VHX1NJ WkUgMTMxMDcyCnwgI2RlZmluZSBYTE9HX0JMQ0tTWiA4MTkyCnwgI2RlZmluZSBVU0VfQVNTRVJU X0NIRUNLSU5HIDEKfCAjZGVmaW5lIEVOQUJMRV9USFJFQURfU0FGRVRZIDEKfCAjZGVmaW5lIFVT RV9JQ1UgMQp8ICNkZWZpbmUgUEdfS1JCX1NSVk5BTSAicG9zdGdyZXMiCnwgI2RlZmluZSBVU0Vf T1BFTlNTTCAxCnwgI2RlZmluZSBVU0VfTElCWE1MIDEKfCAjZGVmaW5lIFVTRV9MSUJYU0xUIDEK fCAjZGVmaW5lIFNURENfSEVBREVSUyAxCnwgI2RlZmluZSBIQVZFX1NZU19UWVBFU19IIDEKfCAj ZGVmaW5lIEhBVkVfU1lTX1NUQVRfSCAxCnwgI2RlZmluZSBIQVZFX1NURExJQl9IIDEKfCAjZGVm aW5lIEhBVkVfU1RSSU5HX0ggMQp8ICNkZWZpbmUgSEFWRV9NRU1PUllfSCAxCnwgI2RlZmluZSBI QVZFX1NUUklOR1NfSCAxCnwgI2RlZmluZSBIQVZFX0lOVFRZUEVTX0ggMQp8ICNkZWZpbmUgSEFW RV9TVERJTlRfSCAxCnwgI2RlZmluZSBIQVZFX1VOSVNURF9IIDEKfCAjZGVmaW5lIEhBVkVfTElC TSAxCnwgI2RlZmluZSBIQVZFX0xJQlogMQp8ICNkZWZpbmUgSEFWRV9TUElOTE9DS1MgMQp8ICNk ZWZpbmUgSEFWRV9BVE9NSUNTIDEKfCAjZGVmaW5lIEhBVkVfU1NMX0dFVF9DVVJSRU5UX0NPTVBS RVNTSU9OIDEKfCAjZGVmaW5lIEhBVkVfWDUwOV9HRVRfU0lHTkFUVVJFX05JRCAxCnwgI2RlZmlu ZSBIQVZFX0NSWVBUT19MT0NLIDEKfCAjZGVmaW5lIEhBVkVfTElCWE1MMiAxCnwgI2RlZmluZSBI QVZFX0xJQlhTTFQgMQp8ICNkZWZpbmUgSEFWRV9fQk9PTCAxCnwgI2RlZmluZSBIQVZFX1NUREJP T0xfSCAxCnwgI2RlZmluZSBIQVZFX0dFVE9QVF9IIDEKfCAjZGVmaW5lIEhBVkVfSUVFRUZQX0gg MQp8ICNkZWZpbmUgSEFWRV9VVElNRV9IIDEKfCAjZGVmaW5lIEhBVkVfV0NIQVJfSCAxCnwgI2Rl ZmluZSBIQVZFX1dDVFlQRV9IIDEKfCAjZGVmaW5lIEhBVkVfQ1JUREVGU19IIDEKfCAjZGVmaW5l IFBHX1BSSU5URl9BVFRSSUJVVEUgZ251X3ByaW50Zgp8ICNkZWZpbmUgRkxFWElCTEVfQVJSQVlf TUVNQkVSIC8qKi8KfCAjZGVmaW5lIEhBVkVfRlVOQ05BTUVfX0ZVTkMgMQp8ICNkZWZpbmUgSEFW RV9fU1RBVElDX0FTU0VSVCAxCnwgI2RlZmluZSBIQVZFX1RZUEVPRiAxCnwgI2RlZmluZSBIQVZF X19CVUlMVElOX1RZUEVTX0NPTVBBVElCTEVfUCAxCnwgI2RlZmluZSBIQVZFX19CVUlMVElOX0JT V0FQMTYgMQp8ICNkZWZpbmUgSEFWRV9fQlVJTFRJTl9CU1dBUDMyIDEKfCAjZGVmaW5lIEhBVkVf X0JVSUxUSU5fQlNXQVA2NCAxCnwgI2RlZmluZSBIQVZFX19CVUlMVElOX0NPTlNUQU5UX1AgMQp8 ICNkZWZpbmUgSEFWRV9fQlVJTFRJTl9VTlJFQUNIQUJMRSAxCnwgI2RlZmluZSBIQVZFX0NPTVBV VEVEX0dPVE8gMQp8ICNkZWZpbmUgSEFWRV9fVkFfQVJHUyAxCnwgI2RlZmluZSBIQVZFX1RaTkFN RSAxCnwgI2RlZmluZSBIQVZFX1NUUlVDVF9TT0NLQUREUl9TVE9SQUdFIDEKfCAjZGVmaW5lIEhB VkVfU1RSVUNUX1NPQ0tBRERSX1NUT1JBR0VfU1NfRkFNSUxZIDEKfCAjZGVmaW5lIEhBVkVfU1RS VUNUX0FERFJJTkZPIDEKfCAjZGVmaW5lIEhBVkVfSU5UUFRSX1QgMQp8ICNkZWZpbmUgSEFWRV9V SU5UUFRSX1QgMQp8ICNkZWZpbmUgSEFWRV9VTlNJR05FRF9MT05HX0xPTkdfSU5UIDEKfCAjZGVm aW5lIEhBVkVfTE9OR19MT05HX0lOVCAxCnwgI2RlZmluZSByZXN0cmljdCBfX3Jlc3RyaWN0Cnwg I2RlZmluZSBwZ19yZXN0cmljdCBfX3Jlc3RyaWN0CnwgI2RlZmluZSBIQVZFX1NUUlVDVF9PUFRJ T04gMQp8ICNkZWZpbmUgU0laRU9GX09GRl9UIDQKfCAjZGVmaW5lIFNJWkVPRl9CT09MIDEKfCAj ZGVmaW5lIEhBVkVfSU5UX1RJTUVaT05FIDEKfCAvKiBlbmQgY29uZmRlZnMuaC4gICovCnwgI2lu Y2x1ZGUgPHN5cy90eXBlcy5oPgp8ICNpbmNsdWRlIDxzeXMvc29ja2V0Lmg+CnwgZXh0ZXJuIHVu c2lnbmVkIGludCBQQVNDQUwgYWNjZXB0IChpbnQsIHN0cnVjdCBzb2NrYWRkciAqLCB1bnNpZ25l ZCBpbnQgKik7CmNvbmZpZ3VyZToxNDc5MTogeDg2XzY0LXc2NC1taW5ndzMyLWdjYyAtYyAtV2Fs bCAtV21pc3NpbmctcHJvdG90eXBlcyAtV3BvaW50ZXItYXJpdGggLVdkZWNsYXJhdGlvbi1hZnRl ci1zdGF0ZW1lbnQgLVdlbmRpZi1sYWJlbHMgLVdtaXNzaW5nLWZvcm1hdC1hdHRyaWJ1dGUgLVdm b3JtYXQtc2VjdXJpdHkgLWZuby1zdHJpY3QtYWxpYXNpbmcgLWZ3cmFwdiAtZmV4Y2Vzcy1wcmVj aXNpb249c3RhbmRhcmQgLVduby1mb3JtYXQtdHJ1bmNhdGlvbiAtV25vLXN0cmluZ29wLXRydW5j YXRpb24gLWcgLU8gLWZuby1vbWl0LWZyYW1lLXBvaW50ZXIgIC1JL3cvUi0zLjUuXy9wb3N0Z3Jl cy9zcmMvaW5jbHVkZS9wb3J0L3dpbjMyIC1ERVhFQ19CQUNLRU5EICAtSS93L3psaWItMS4yLjgt d2luMzIteDg2XzY0L2luY2x1ZGUgLUkvdy9vcGVuc3NsLTEuMC4yZS13aW4zMi14ODZfNjQvaW5j bHVkZSAtSS93L2xpYnhtbDItMi45LjMtd2luMzIteDg2XzY0L2luY2x1ZGUvbGlieG1sMiAtSS93 L2xpYnhzbHQtMS4xLjI4LXdpbjMyLXg4Nl82NC9pbmNsdWRlIGNvbmZ0ZXN0LmMgPiY1CmNvbmZ0 ZXN0LmM6Nzk6Mjg6IGVycm9yOiBjb25mbGljdGluZyB0eXBlcyBmb3IgJ2FjY2VwdCcKIGV4dGVy biB1bnNpZ25lZCBpbnQgUEFTQ0FMIGFjY2VwdCAoaW50LCBzdHJ1Y3Qgc29ja2FkZHIgKiwgdm9p ZCAqKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIF5+fn5+fgpJbiBmaWxlIGluY2x1ZGVk IGZyb20gVzovUi0zLjUuXy9wb3N0Z3Jlcy9zcmMvaW5jbHVkZS9wb3J0L3dpbjMyL3N5cy9zb2Nr ZXQuaDoxNCwKICAgICAgICAgICAgICAgICBmcm9tIGNvbmZ0ZXN0LmM6Nzg6CkM6L21zeXM2NC9t aW5ndzY0L3g4Nl82NC13NjQtbWluZ3czMi9pbmNsdWRlL3dpbnNvY2syLmg6OTczOjM3OiBub3Rl OiBwcmV2aW91cyBkZWNsYXJhdGlvbiBvZiAnYWNjZXB0JyB3YXMgaGVyZQogICBXSU5TT0NLX0FQ SV9MSU5LQUdFIFNPQ0tFVCBXU0FBUEkgYWNjZXB0KFNPQ0tFVCBzLHN0cnVjdCBzb2NrYWRkciAq YWRkcixpbnQgKmFkZHJsZW4pOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg Xn5+fn5+CmNvbmZpZ3VyZToxNDc5MTogJD8gPSAxCmNvbmZpZ3VyZTogZmFpbGVkIHByb2dyYW0g d2FzOgp8IC8qIGNvbmZkZWZzLmggKi8KfCAjZGVmaW5lIFBBQ0tBR0VfTkFNRSAiUG9zdGdyZVNR TCIKfCAjZGVmaW5lIFBBQ0tBR0VfVEFSTkFNRSAicG9zdGdyZXNxbCIKfCAjZGVmaW5lIFBBQ0tB R0VfVkVSU0lPTiAiMTFiZXRhMyIKfCAjZGVmaW5lIFBBQ0tBR0VfU1RSSU5HICJQb3N0Z3JlU1FM IDExYmV0YTMiCnwgI2RlZmluZSBQQUNLQUdFX0JVR1JFUE9SVCAicGdzcWwtYnVnc0Bwb3N0Z3Jl c3FsLm9yZyIKfCAjZGVmaW5lIFBBQ0tBR0VfVVJMICIiCnwgI2RlZmluZSBQR19NQUpPUlZFUlNJ T04gIjExIgp8ICNkZWZpbmUgUEdfVkVSU0lPTiAiMTFiZXRhMyIKfCAjZGVmaW5lIERFRl9QR1BP UlQgNTQzMgp8ICNkZWZpbmUgREVGX1BHUE9SVF9TVFIgIjU0MzIiCnwgI2RlZmluZSBCTENLU1og ODE5Mgp8ICNkZWZpbmUgUkVMU0VHX1NJWkUgMTMxMDcyCnwgI2RlZmluZSBYTE9HX0JMQ0tTWiA4 MTkyCnwgI2RlZmluZSBVU0VfQVNTRVJUX0NIRUNLSU5HIDEKfCAjZGVmaW5lIEVOQUJMRV9USFJF QURfU0FGRVRZIDEKfCAjZGVmaW5lIFVTRV9JQ1UgMQp8ICNkZWZpbmUgUEdfS1JCX1NSVk5BTSAi cG9zdGdyZXMiCnwgI2RlZmluZSBVU0VfT1BFTlNTTCAxCnwgI2RlZmluZSBVU0VfTElCWE1MIDEK fCAjZGVmaW5lIFVTRV9MSUJYU0xUIDEKfCAjZGVmaW5lIFNURENfSEVBREVSUyAxCnwgI2RlZmlu ZSBIQVZFX1NZU19UWVBFU19IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NUQVRfSCAxCnwgI2RlZmlu ZSBIQVZFX1NURExJQl9IIDEKfCAjZGVmaW5lIEhBVkVfU1RSSU5HX0ggMQp8ICNkZWZpbmUgSEFW RV9NRU1PUllfSCAxCnwgI2RlZmluZSBIQVZFX1NUUklOR1NfSCAxCnwgI2RlZmluZSBIQVZFX0lO VFRZUEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERJTlRfSCAxCnwgI2RlZmluZSBIQVZFX1VOSVNU RF9IIDEKfCAjZGVmaW5lIEhBVkVfTElCTSAxCnwgI2RlZmluZSBIQVZFX0xJQlogMQp8ICNkZWZp bmUgSEFWRV9TUElOTE9DS1MgMQp8ICNkZWZpbmUgSEFWRV9BVE9NSUNTIDEKfCAjZGVmaW5lIEhB VkVfU1NMX0dFVF9DVVJSRU5UX0NPTVBSRVNTSU9OIDEKfCAjZGVmaW5lIEhBVkVfWDUwOV9HRVRf U0lHTkFUVVJFX05JRCAxCnwgI2RlZmluZSBIQVZFX0NSWVBUT19MT0NLIDEKfCAjZGVmaW5lIEhB VkVfTElCWE1MMiAxCnwgI2RlZmluZSBIQVZFX0xJQlhTTFQgMQp8ICNkZWZpbmUgSEFWRV9fQk9P TCAxCnwgI2RlZmluZSBIQVZFX1NUREJPT0xfSCAxCnwgI2RlZmluZSBIQVZFX0dFVE9QVF9IIDEK fCAjZGVmaW5lIEhBVkVfSUVFRUZQX0ggMQp8ICNkZWZpbmUgSEFWRV9VVElNRV9IIDEKfCAjZGVm aW5lIEhBVkVfV0NIQVJfSCAxCnwgI2RlZmluZSBIQVZFX1dDVFlQRV9IIDEKfCAjZGVmaW5lIEhB VkVfQ1JUREVGU19IIDEKfCAjZGVmaW5lIFBHX1BSSU5URl9BVFRSSUJVVEUgZ251X3ByaW50Zgp8 ICNkZWZpbmUgRkxFWElCTEVfQVJSQVlfTUVNQkVSIC8qKi8KfCAjZGVmaW5lIEhBVkVfRlVOQ05B TUVfX0ZVTkMgMQp8ICNkZWZpbmUgSEFWRV9fU1RBVElDX0FTU0VSVCAxCnwgI2RlZmluZSBIQVZF X1RZUEVPRiAxCnwgI2RlZmluZSBIQVZFX19CVUlMVElOX1RZUEVTX0NPTVBBVElCTEVfUCAxCnwg I2RlZmluZSBIQVZFX19CVUlMVElOX0JTV0FQMTYgMQp8ICNkZWZpbmUgSEFWRV9fQlVJTFRJTl9C U1dBUDMyIDEKfCAjZGVmaW5lIEhBVkVfX0JVSUxUSU5fQlNXQVA2NCAxCnwgI2RlZmluZSBIQVZF X19CVUlMVElOX0NPTlNUQU5UX1AgMQp8ICNkZWZpbmUgSEFWRV9fQlVJTFRJTl9VTlJFQUNIQUJM RSAxCnwgI2RlZmluZSBIQVZFX0NPTVBVVEVEX0dPVE8gMQp8ICNkZWZpbmUgSEFWRV9fVkFfQVJH UyAxCnwgI2RlZmluZSBIQVZFX1RaTkFNRSAxCnwgI2RlZmluZSBIQVZFX1NUUlVDVF9TT0NLQURE Ul9TVE9SQUdFIDEKfCAjZGVmaW5lIEhBVkVfU1RSVUNUX1NPQ0tBRERSX1NUT1JBR0VfU1NfRkFN SUxZIDEKfCAjZGVmaW5lIEhBVkVfU1RSVUNUX0FERFJJTkZPIDEKfCAjZGVmaW5lIEhBVkVfSU5U UFRSX1QgMQp8ICNkZWZpbmUgSEFWRV9VSU5UUFRSX1QgMQp8ICNkZWZpbmUgSEFWRV9VTlNJR05F RF9MT05HX0xPTkdfSU5UIDEKfCAjZGVmaW5lIEhBVkVfTE9OR19MT05HX0lOVCAxCnwgI2RlZmlu ZSByZXN0cmljdCBfX3Jlc3RyaWN0CnwgI2RlZmluZSBwZ19yZXN0cmljdCBfX3Jlc3RyaWN0Cnwg I2RlZmluZSBIQVZFX1NUUlVDVF9PUFRJT04gMQp8ICNkZWZpbmUgU0laRU9GX09GRl9UIDQKfCAj ZGVmaW5lIFNJWkVPRl9CT09MIDEKfCAjZGVmaW5lIEhBVkVfSU5UX1RJTUVaT05FIDEKfCAvKiBl bmQgY29uZmRlZnMuaC4gICovCnwgI2luY2x1ZGUgPHN5cy90eXBlcy5oPgp8ICNpbmNsdWRlIDxz eXMvc29ja2V0Lmg+CnwgZXh0ZXJuIHVuc2lnbmVkIGludCBQQVNDQUwgYWNjZXB0IChpbnQsIHN0 cnVjdCBzb2NrYWRkciAqLCB2b2lkICopOwpjb25maWd1cmU6MTQ3OTE6IHg4Nl82NC13NjQtbWlu Z3czMi1nY2MgLWMgLVdhbGwgLVdtaXNzaW5nLXByb3RvdHlwZXMgLVdwb2ludGVyLWFyaXRoIC1X ZGVjbGFyYXRpb24tYWZ0ZXItc3RhdGVtZW50IC1XZW5kaWYtbGFiZWxzIC1XbWlzc2luZy1mb3Jt YXQtYXR0cmlidXRlIC1XZm9ybWF0LXNlY3VyaXR5IC1mbm8tc3RyaWN0LWFsaWFzaW5nIC1md3Jh cHYgLWZleGNlc3MtcHJlY2lzaW9uPXN0YW5kYXJkIC1Xbm8tZm9ybWF0LXRydW5jYXRpb24gLVdu by1zdHJpbmdvcC10cnVuY2F0aW9uIC1nIC1PIC1mbm8tb21pdC1mcmFtZS1wb2ludGVyICAtSS93 L1ItMy41Ll8vcG9zdGdyZXMvc3JjL2luY2x1ZGUvcG9ydC93aW4zMiAtREVYRUNfQkFDS0VORCAg LUkvdy96bGliLTEuMi44LXdpbjMyLXg4Nl82NC9pbmNsdWRlIC1JL3cvb3BlbnNzbC0xLjAuMmUt d2luMzIteDg2XzY0L2luY2x1ZGUgLUkvdy9saWJ4bWwyLTIuOS4zLXdpbjMyLXg4Nl82NC9pbmNs dWRlL2xpYnhtbDIgLUkvdy9saWJ4c2x0LTEuMS4yOC13aW4zMi14ODZfNjQvaW5jbHVkZSBjb25m dGVzdC5jID4mNQpjb25mdGVzdC5jOjc5OjI4OiBlcnJvcjogY29uZmxpY3RpbmcgdHlwZXMgZm9y ICdhY2NlcHQnCiBleHRlcm4gdW5zaWduZWQgaW50IFBBU0NBTCBhY2NlcHQgKGludCwgY29uc3Qg c3RydWN0IHNvY2thZGRyICosIGludCAqKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIF5+ fn5+fgpJbiBmaWxlIGluY2x1ZGVkIGZyb20gVzovUi0zLjUuXy9wb3N0Z3Jlcy9zcmMvaW5jbHVk ZS9wb3J0L3dpbjMyL3N5cy9zb2NrZXQuaDoxNCwKICAgICAgICAgICAgICAgICBmcm9tIGNvbmZ0 ZXN0LmM6Nzg6CkM6L21zeXM2NC9taW5ndzY0L3g4Nl82NC13NjQtbWluZ3czMi9pbmNsdWRlL3dp bnNvY2syLmg6OTczOjM3OiBub3RlOiBwcmV2aW91cyBkZWNsYXJhdGlvbiBvZiAnYWNjZXB0JyB3 YXMgaGVyZQogICBXSU5TT0NLX0FQSV9MSU5LQUdFIFNPQ0tFVCBXU0FBUEkgYWNjZXB0KFNPQ0tF VCBzLHN0cnVjdCBzb2NrYWRkciAqYWRkcixpbnQgKmFkZHJsZW4pOwogICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgXn5+fn5+CmNvbmZpZ3VyZToxNDc5MTogJD8gPSAxCmNvbmZp Z3VyZTogZmFpbGVkIHByb2dyYW0gd2FzOgp8IC8qIGNvbmZkZWZzLmggKi8KfCAjZGVmaW5lIFBB Q0tBR0VfTkFNRSAiUG9zdGdyZVNRTCIKfCAjZGVmaW5lIFBBQ0tBR0VfVEFSTkFNRSAicG9zdGdy ZXNxbCIKfCAjZGVmaW5lIFBBQ0tBR0VfVkVSU0lPTiAiMTFiZXRhMyIKfCAjZGVmaW5lIFBBQ0tB R0VfU1RSSU5HICJQb3N0Z3JlU1FMIDExYmV0YTMiCnwgI2RlZmluZSBQQUNLQUdFX0JVR1JFUE9S VCAicGdzcWwtYnVnc0Bwb3N0Z3Jlc3FsLm9yZyIKfCAjZGVmaW5lIFBBQ0tBR0VfVVJMICIiCnwg I2RlZmluZSBQR19NQUpPUlZFUlNJT04gIjExIgp8ICNkZWZpbmUgUEdfVkVSU0lPTiAiMTFiZXRh MyIKfCAjZGVmaW5lIERFRl9QR1BPUlQgNTQzMgp8ICNkZWZpbmUgREVGX1BHUE9SVF9TVFIgIjU0 MzIiCnwgI2RlZmluZSBCTENLU1ogODE5Mgp8ICNkZWZpbmUgUkVMU0VHX1NJWkUgMTMxMDcyCnwg I2RlZmluZSBYTE9HX0JMQ0tTWiA4MTkyCnwgI2RlZmluZSBVU0VfQVNTRVJUX0NIRUNLSU5HIDEK fCAjZGVmaW5lIEVOQUJMRV9USFJFQURfU0FGRVRZIDEKfCAjZGVmaW5lIFVTRV9JQ1UgMQp8ICNk ZWZpbmUgUEdfS1JCX1NSVk5BTSAicG9zdGdyZXMiCnwgI2RlZmluZSBVU0VfT1BFTlNTTCAxCnwg I2RlZmluZSBVU0VfTElCWE1MIDEKfCAjZGVmaW5lIFVTRV9MSUJYU0xUIDEKfCAjZGVmaW5lIFNU RENfSEVBREVSUyAxCnwgI2RlZmluZSBIQVZFX1NZU19UWVBFU19IIDEKfCAjZGVmaW5lIEhBVkVf U1lTX1NUQVRfSCAxCnwgI2RlZmluZSBIQVZFX1NURExJQl9IIDEKfCAjZGVmaW5lIEhBVkVfU1RS SU5HX0ggMQp8ICNkZWZpbmUgSEFWRV9NRU1PUllfSCAxCnwgI2RlZmluZSBIQVZFX1NUUklOR1Nf SCAxCnwgI2RlZmluZSBIQVZFX0lOVFRZUEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERJTlRfSCAx CnwgI2RlZmluZSBIQVZFX1VOSVNURF9IIDEKfCAjZGVmaW5lIEhBVkVfTElCTSAxCnwgI2RlZmlu ZSBIQVZFX0xJQlogMQp8ICNkZWZpbmUgSEFWRV9TUElOTE9DS1MgMQp8ICNkZWZpbmUgSEFWRV9B VE9NSUNTIDEKfCAjZGVmaW5lIEhBVkVfU1NMX0dFVF9DVVJSRU5UX0NPTVBSRVNTSU9OIDEKfCAj ZGVmaW5lIEhBVkVfWDUwOV9HRVRfU0lHTkFUVVJFX05JRCAxCnwgI2RlZmluZSBIQVZFX0NSWVBU T19MT0NLIDEKfCAjZGVmaW5lIEhBVkVfTElCWE1MMiAxCnwgI2RlZmluZSBIQVZFX0xJQlhTTFQg MQp8ICNkZWZpbmUgSEFWRV9fQk9PTCAxCnwgI2RlZmluZSBIQVZFX1NUREJPT0xfSCAxCnwgI2Rl ZmluZSBIQVZFX0dFVE9QVF9IIDEKfCAjZGVmaW5lIEhBVkVfSUVFRUZQX0ggMQp8ICNkZWZpbmUg SEFWRV9VVElNRV9IIDEKfCAjZGVmaW5lIEhBVkVfV0NIQVJfSCAxCnwgI2RlZmluZSBIQVZFX1dD VFlQRV9IIDEKfCAjZGVmaW5lIEhBVkVfQ1JUREVGU19IIDEKfCAjZGVmaW5lIFBHX1BSSU5URl9B VFRSSUJVVEUgZ251X3ByaW50Zgp8ICNkZWZpbmUgRkxFWElCTEVfQVJSQVlfTUVNQkVSIC8qKi8K fCAjZGVmaW5lIEhBVkVfRlVOQ05BTUVfX0ZVTkMgMQp8ICNkZWZpbmUgSEFWRV9fU1RBVElDX0FT U0VSVCAxCnwgI2RlZmluZSBIQVZFX1RZUEVPRiAxCnwgI2RlZmluZSBIQVZFX19CVUlMVElOX1RZ UEVTX0NPTVBBVElCTEVfUCAxCnwgI2RlZmluZSBIQVZFX19CVUlMVElOX0JTV0FQMTYgMQp8ICNk ZWZpbmUgSEFWRV9fQlVJTFRJTl9CU1dBUDMyIDEKfCAjZGVmaW5lIEhBVkVfX0JVSUxUSU5fQlNX QVA2NCAxCnwgI2RlZmluZSBIQVZFX19CVUlMVElOX0NPTlNUQU5UX1AgMQp8ICNkZWZpbmUgSEFW RV9fQlVJTFRJTl9VTlJFQUNIQUJMRSAxCnwgI2RlZmluZSBIQVZFX0NPTVBVVEVEX0dPVE8gMQp8 ICNkZWZpbmUgSEFWRV9fVkFfQVJHUyAxCnwgI2RlZmluZSBIQVZFX1RaTkFNRSAxCnwgI2RlZmlu ZSBIQVZFX1NUUlVDVF9TT0NLQUREUl9TVE9SQUdFIDEKfCAjZGVmaW5lIEhBVkVfU1RSVUNUX1NP Q0tBRERSX1NUT1JBR0VfU1NfRkFNSUxZIDEKfCAjZGVmaW5lIEhBVkVfU1RSVUNUX0FERFJJTkZP IDEKfCAjZGVmaW5lIEhBVkVfSU5UUFRSX1QgMQp8ICNkZWZpbmUgSEFWRV9VSU5UUFRSX1QgMQp8 ICNkZWZpbmUgSEFWRV9VTlNJR05FRF9MT05HX0xPTkdfSU5UIDEKfCAjZGVmaW5lIEhBVkVfTE9O R19MT05HX0lOVCAxCnwgI2RlZmluZSByZXN0cmljdCBfX3Jlc3RyaWN0CnwgI2RlZmluZSBwZ19y ZXN0cmljdCBfX3Jlc3RyaWN0CnwgI2RlZmluZSBIQVZFX1NUUlVDVF9PUFRJT04gMQp8ICNkZWZp bmUgU0laRU9GX09GRl9UIDQKfCAjZGVmaW5lIFNJWkVPRl9CT09MIDEKfCAjZGVmaW5lIEhBVkVf SU5UX1RJTUVaT05FIDEKfCAvKiBlbmQgY29uZmRlZnMuaC4gICovCnwgI2luY2x1ZGUgPHN5cy90 eXBlcy5oPgp8ICNpbmNsdWRlIDxzeXMvc29ja2V0Lmg+CnwgZXh0ZXJuIHVuc2lnbmVkIGludCBQ QVNDQUwgYWNjZXB0IChpbnQsIGNvbnN0IHN0cnVjdCBzb2NrYWRkciAqLCBpbnQgKik7CmNvbmZp Z3VyZToxNDc5MTogeDg2XzY0LXc2NC1taW5ndzMyLWdjYyAtYyAtV2FsbCAtV21pc3NpbmctcHJv dG90eXBlcyAtV3BvaW50ZXItYXJpdGggLVdkZWNsYXJhdGlvbi1hZnRlci1zdGF0ZW1lbnQgLVdl bmRpZi1sYWJlbHMgLVdtaXNzaW5nLWZvcm1hdC1hdHRyaWJ1dGUgLVdmb3JtYXQtc2VjdXJpdHkg LWZuby1zdHJpY3QtYWxpYXNpbmcgLWZ3cmFwdiAtZmV4Y2Vzcy1wcmVjaXNpb249c3RhbmRhcmQg LVduby1mb3JtYXQtdHJ1bmNhdGlvbiAtV25vLXN0cmluZ29wLXRydW5jYXRpb24gLWcgLU8gLWZu by1vbWl0LWZyYW1lLXBvaW50ZXIgIC1JL3cvUi0zLjUuXy9wb3N0Z3Jlcy9zcmMvaW5jbHVkZS9w b3J0L3dpbjMyIC1ERVhFQ19CQUNLRU5EICAtSS93L3psaWItMS4yLjgtd2luMzIteDg2XzY0L2lu Y2x1ZGUgLUkvdy9vcGVuc3NsLTEuMC4yZS13aW4zMi14ODZfNjQvaW5jbHVkZSAtSS93L2xpYnht bDItMi45LjMtd2luMzIteDg2XzY0L2luY2x1ZGUvbGlieG1sMiAtSS93L2xpYnhzbHQtMS4xLjI4 LXdpbjMyLXg4Nl82NC9pbmNsdWRlIGNvbmZ0ZXN0LmMgPiY1CmNvbmZ0ZXN0LmM6Nzk6Mjg6IGVy cm9yOiBjb25mbGljdGluZyB0eXBlcyBmb3IgJ2FjY2VwdCcKIGV4dGVybiB1bnNpZ25lZCBpbnQg UEFTQ0FMIGFjY2VwdCAoaW50LCBjb25zdCBzdHJ1Y3Qgc29ja2FkZHIgKiwgc2l6ZV90ICopOwog ICAgICAgICAgICAgICAgICAgICAgICAgICAgXn5+fn5+CkluIGZpbGUgaW5jbHVkZWQgZnJvbSBX Oi9SLTMuNS5fL3Bvc3RncmVzL3NyYy9pbmNsdWRlL3BvcnQvd2luMzIvc3lzL3NvY2tldC5oOjE0 LAogICAgICAgICAgICAgICAgIGZyb20gY29uZnRlc3QuYzo3ODoKQzovbXN5czY0L21pbmd3NjQv eDg2XzY0LXc2NC1taW5ndzMyL2luY2x1ZGUvd2luc29jazIuaDo5NzM6Mzc6IG5vdGU6IHByZXZp b3VzIGRlY2xhcmF0aW9uIG9mICdhY2NlcHQnIHdhcyBoZXJlCiAgIFdJTlNPQ0tfQVBJX0xJTktB R0UgU09DS0VUIFdTQUFQSSBhY2NlcHQoU09DS0VUIHMsc3RydWN0IHNvY2thZGRyICphZGRyLGlu dCAqYWRkcmxlbik7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBefn5+fn4K Y29uZmlndXJlOjE0NzkxOiAkPyA9IDEKY29uZmlndXJlOiBmYWlsZWQgcHJvZ3JhbSB3YXM6Cnwg LyogY29uZmRlZnMuaCAqLwp8ICNkZWZpbmUgUEFDS0FHRV9OQU1FICJQb3N0Z3JlU1FMIgp8ICNk ZWZpbmUgUEFDS0FHRV9UQVJOQU1FICJwb3N0Z3Jlc3FsIgp8ICNkZWZpbmUgUEFDS0FHRV9WRVJT SU9OICIxMWJldGEzIgp8ICNkZWZpbmUgUEFDS0FHRV9TVFJJTkcgIlBvc3RncmVTUUwgMTFiZXRh MyIKfCAjZGVmaW5lIFBBQ0tBR0VfQlVHUkVQT1JUICJwZ3NxbC1idWdzQHBvc3RncmVzcWwub3Jn Igp8ICNkZWZpbmUgUEFDS0FHRV9VUkwgIiIKfCAjZGVmaW5lIFBHX01BSk9SVkVSU0lPTiAiMTEi CnwgI2RlZmluZSBQR19WRVJTSU9OICIxMWJldGEzIgp8ICNkZWZpbmUgREVGX1BHUE9SVCA1NDMy CnwgI2RlZmluZSBERUZfUEdQT1JUX1NUUiAiNTQzMiIKfCAjZGVmaW5lIEJMQ0tTWiA4MTkyCnwg I2RlZmluZSBSRUxTRUdfU0laRSAxMzEwNzIKfCAjZGVmaW5lIFhMT0dfQkxDS1NaIDgxOTIKfCAj ZGVmaW5lIFVTRV9BU1NFUlRfQ0hFQ0tJTkcgMQp8ICNkZWZpbmUgRU5BQkxFX1RIUkVBRF9TQUZF VFkgMQp8ICNkZWZpbmUgVVNFX0lDVSAxCnwgI2RlZmluZSBQR19LUkJfU1JWTkFNICJwb3N0Z3Jl cyIKfCAjZGVmaW5lIFVTRV9PUEVOU1NMIDEKfCAjZGVmaW5lIFVTRV9MSUJYTUwgMQp8ICNkZWZp bmUgVVNFX0xJQlhTTFQgMQp8ICNkZWZpbmUgU1REQ19IRUFERVJTIDEKfCAjZGVmaW5lIEhBVkVf U1lTX1RZUEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfU1RBVF9IIDEKfCAjZGVmaW5lIEhBVkVf U1RETElCX0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJJTkdfSCAxCnwgI2RlZmluZSBIQVZFX01FTU9S WV9IIDEKfCAjZGVmaW5lIEhBVkVfU1RSSU5HU19IIDEKfCAjZGVmaW5lIEhBVkVfSU5UVFlQRVNf SCAxCnwgI2RlZmluZSBIQVZFX1NURElOVF9IIDEKfCAjZGVmaW5lIEhBVkVfVU5JU1REX0ggMQp8 ICNkZWZpbmUgSEFWRV9MSUJNIDEKfCAjZGVmaW5lIEhBVkVfTElCWiAxCnwgI2RlZmluZSBIQVZF X1NQSU5MT0NLUyAxCnwgI2RlZmluZSBIQVZFX0FUT01JQ1MgMQp8ICNkZWZpbmUgSEFWRV9TU0xf R0VUX0NVUlJFTlRfQ09NUFJFU1NJT04gMQp8ICNkZWZpbmUgSEFWRV9YNTA5X0dFVF9TSUdOQVRV UkVfTklEIDEKfCAjZGVmaW5lIEhBVkVfQ1JZUFRPX0xPQ0sgMQp8ICNkZWZpbmUgSEFWRV9MSUJY TUwyIDEKfCAjZGVmaW5lIEhBVkVfTElCWFNMVCAxCnwgI2RlZmluZSBIQVZFX19CT09MIDEKfCAj ZGVmaW5lIEhBVkVfU1REQk9PTF9IIDEKfCAjZGVmaW5lIEhBVkVfR0VUT1BUX0ggMQp8ICNkZWZp bmUgSEFWRV9JRUVFRlBfSCAxCnwgI2RlZmluZSBIQVZFX1VUSU1FX0ggMQp8ICNkZWZpbmUgSEFW RV9XQ0hBUl9IIDEKfCAjZGVmaW5lIEhBVkVfV0NUWVBFX0ggMQp8ICNkZWZpbmUgSEFWRV9DUlRE RUZTX0ggMQp8ICNkZWZpbmUgUEdfUFJJTlRGX0FUVFJJQlVURSBnbnVfcHJpbnRmCnwgI2RlZmlu ZSBGTEVYSUJMRV9BUlJBWV9NRU1CRVIgLyoqLwp8ICNkZWZpbmUgSEFWRV9GVU5DTkFNRV9fRlVO QyAxCnwgI2RlZmluZSBIQVZFX19TVEFUSUNfQVNTRVJUIDEKfCAjZGVmaW5lIEhBVkVfVFlQRU9G IDEKfCAjZGVmaW5lIEhBVkVfX0JVSUxUSU5fVFlQRVNfQ09NUEFUSUJMRV9QIDEKfCAjZGVmaW5l IEhBVkVfX0JVSUxUSU5fQlNXQVAxNiAxCnwgI2RlZmluZSBIQVZFX19CVUlMVElOX0JTV0FQMzIg MQp8ICNkZWZpbmUgSEFWRV9fQlVJTFRJTl9CU1dBUDY0IDEKfCAjZGVmaW5lIEhBVkVfX0JVSUxU SU5fQ09OU1RBTlRfUCAxCnwgI2RlZmluZSBIQVZFX19CVUlMVElOX1VOUkVBQ0hBQkxFIDEKfCAj ZGVmaW5lIEhBVkVfQ09NUFVURURfR09UTyAxCnwgI2RlZmluZSBIQVZFX19WQV9BUkdTIDEKfCAj ZGVmaW5lIEhBVkVfVFpOQU1FIDEKfCAjZGVmaW5lIEhBVkVfU1RSVUNUX1NPQ0tBRERSX1NUT1JB R0UgMQp8ICNkZWZpbmUgSEFWRV9TVFJVQ1RfU09DS0FERFJfU1RPUkFHRV9TU19GQU1JTFkgMQp8 ICNkZWZpbmUgSEFWRV9TVFJVQ1RfQUREUklORk8gMQp8ICNkZWZpbmUgSEFWRV9JTlRQVFJfVCAx CnwgI2RlZmluZSBIQVZFX1VJTlRQVFJfVCAxCnwgI2RlZmluZSBIQVZFX1VOU0lHTkVEX0xPTkdf TE9OR19JTlQgMQp8ICNkZWZpbmUgSEFWRV9MT05HX0xPTkdfSU5UIDEKfCAjZGVmaW5lIHJlc3Ry aWN0IF9fcmVzdHJpY3QKfCAjZGVmaW5lIHBnX3Jlc3RyaWN0IF9fcmVzdHJpY3QKfCAjZGVmaW5l IEhBVkVfU1RSVUNUX09QVElPTiAxCnwgI2RlZmluZSBTSVpFT0ZfT0ZGX1QgNAp8ICNkZWZpbmUg U0laRU9GX0JPT0wgMQp8ICNkZWZpbmUgSEFWRV9JTlRfVElNRVpPTkUgMQp8IC8qIGVuZCBjb25m ZGVmcy5oLiAgKi8KfCAjaW5jbHVkZSA8c3lzL3R5cGVzLmg+CnwgI2luY2x1ZGUgPHN5cy9zb2Nr ZXQuaD4KfCBleHRlcm4gdW5zaWduZWQgaW50IFBBU0NBTCBhY2NlcHQgKGludCwgY29uc3Qgc3Ry dWN0IHNvY2thZGRyICosIHNpemVfdCAqKTsKY29uZmlndXJlOjE0NzkxOiB4ODZfNjQtdzY0LW1p bmd3MzItZ2NjIC1jIC1XYWxsIC1XbWlzc2luZy1wcm90b3R5cGVzIC1XcG9pbnRlci1hcml0aCAt V2RlY2xhcmF0aW9uLWFmdGVyLXN0YXRlbWVudCAtV2VuZGlmLWxhYmVscyAtV21pc3NpbmctZm9y bWF0LWF0dHJpYnV0ZSAtV2Zvcm1hdC1zZWN1cml0eSAtZm5vLXN0cmljdC1hbGlhc2luZyAtZndy YXB2IC1mZXhjZXNzLXByZWNpc2lvbj1zdGFuZGFyZCAtV25vLWZvcm1hdC10cnVuY2F0aW9uIC1X bm8tc3RyaW5nb3AtdHJ1bmNhdGlvbiAtZyAtTyAtZm5vLW9taXQtZnJhbWUtcG9pbnRlciAgLUkv dy9SLTMuNS5fL3Bvc3RncmVzL3NyYy9pbmNsdWRlL3BvcnQvd2luMzIgLURFWEVDX0JBQ0tFTkQg IC1JL3cvemxpYi0xLjIuOC13aW4zMi14ODZfNjQvaW5jbHVkZSAtSS93L29wZW5zc2wtMS4wLjJl LXdpbjMyLXg4Nl82NC9pbmNsdWRlIC1JL3cvbGlieG1sMi0yLjkuMy13aW4zMi14ODZfNjQvaW5j bHVkZS9saWJ4bWwyIC1JL3cvbGlieHNsdC0xLjEuMjgtd2luMzIteDg2XzY0L2luY2x1ZGUgY29u ZnRlc3QuYyA+JjUKY29uZnRlc3QuYzo3OToyODogZXJyb3I6IGNvbmZsaWN0aW5nIHR5cGVzIGZv ciAnYWNjZXB0JwogZXh0ZXJuIHVuc2lnbmVkIGludCBQQVNDQUwgYWNjZXB0IChpbnQsIGNvbnN0 IHN0cnVjdCBzb2NrYWRkciAqLCBzb2NrbGVuX3QgKik7CiAgICAgICAgICAgICAgICAgICAgICAg ICAgICBefn5+fn4KSW4gZmlsZSBpbmNsdWRlZCBmcm9tIFc6L1ItMy41Ll8vcG9zdGdyZXMvc3Jj L2luY2x1ZGUvcG9ydC93aW4zMi9zeXMvc29ja2V0Lmg6MTQsCiAgICAgICAgICAgICAgICAgZnJv bSBjb25mdGVzdC5jOjc4OgpDOi9tc3lzNjQvbWluZ3c2NC94ODZfNjQtdzY0LW1pbmd3MzIvaW5j bHVkZS93aW5zb2NrMi5oOjk3MzozNzogbm90ZTogcHJldmlvdXMgZGVjbGFyYXRpb24gb2YgJ2Fj Y2VwdCcgd2FzIGhlcmUKICAgV0lOU09DS19BUElfTElOS0FHRSBTT0NLRVQgV1NBQVBJIGFjY2Vw dChTT0NLRVQgcyxzdHJ1Y3Qgc29ja2FkZHIgKmFkZHIsaW50ICphZGRybGVuKTsKICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIF5+fn5+fgpjb25maWd1cmU6MTQ3OTE6ICQ/ID0g MQpjb25maWd1cmU6IGZhaWxlZCBwcm9ncmFtIHdhczoKfCAvKiBjb25mZGVmcy5oICovCnwgI2Rl ZmluZSBQQUNLQUdFX05BTUUgIlBvc3RncmVTUUwiCnwgI2RlZmluZSBQQUNLQUdFX1RBUk5BTUUg InBvc3RncmVzcWwiCnwgI2RlZmluZSBQQUNLQUdFX1ZFUlNJT04gIjExYmV0YTMiCnwgI2RlZmlu ZSBQQUNLQUdFX1NUUklORyAiUG9zdGdyZVNRTCAxMWJldGEzIgp8ICNkZWZpbmUgUEFDS0FHRV9C VUdSRVBPUlQgInBnc3FsLWJ1Z3NAcG9zdGdyZXNxbC5vcmciCnwgI2RlZmluZSBQQUNLQUdFX1VS TCAiIgp8ICNkZWZpbmUgUEdfTUFKT1JWRVJTSU9OICIxMSIKfCAjZGVmaW5lIFBHX1ZFUlNJT04g IjExYmV0YTMiCnwgI2RlZmluZSBERUZfUEdQT1JUIDU0MzIKfCAjZGVmaW5lIERFRl9QR1BPUlRf U1RSICI1NDMyIgp8ICNkZWZpbmUgQkxDS1NaIDgxOTIKfCAjZGVmaW5lIFJFTFNFR19TSVpFIDEz MTA3Mgp8ICNkZWZpbmUgWExPR19CTENLU1ogODE5Mgp8ICNkZWZpbmUgVVNFX0FTU0VSVF9DSEVD S0lORyAxCnwgI2RlZmluZSBFTkFCTEVfVEhSRUFEX1NBRkVUWSAxCnwgI2RlZmluZSBVU0VfSUNV IDEKfCAjZGVmaW5lIFBHX0tSQl9TUlZOQU0gInBvc3RncmVzIgp8ICNkZWZpbmUgVVNFX09QRU5T U0wgMQp8ICNkZWZpbmUgVVNFX0xJQlhNTCAxCnwgI2RlZmluZSBVU0VfTElCWFNMVCAxCnwgI2Rl ZmluZSBTVERDX0hFQURFUlMgMQp8ICNkZWZpbmUgSEFWRV9TWVNfVFlQRVNfSCAxCnwgI2RlZmlu ZSBIQVZFX1NZU19TVEFUX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERMSUJfSCAxCnwgI2RlZmluZSBI QVZFX1NUUklOR19IIDEKfCAjZGVmaW5lIEhBVkVfTUVNT1JZX0ggMQp8ICNkZWZpbmUgSEFWRV9T VFJJTkdTX0ggMQp8ICNkZWZpbmUgSEFWRV9JTlRUWVBFU19IIDEKfCAjZGVmaW5lIEhBVkVfU1RE SU5UX0ggMQp8ICNkZWZpbmUgSEFWRV9VTklTVERfSCAxCnwgI2RlZmluZSBIQVZFX0xJQk0gMQp8 ICNkZWZpbmUgSEFWRV9MSUJaIDEKfCAjZGVmaW5lIEhBVkVfU1BJTkxPQ0tTIDEKfCAjZGVmaW5l IEhBVkVfQVRPTUlDUyAxCnwgI2RlZmluZSBIQVZFX1NTTF9HRVRfQ1VSUkVOVF9DT01QUkVTU0lP TiAxCnwgI2RlZmluZSBIQVZFX1g1MDlfR0VUX1NJR05BVFVSRV9OSUQgMQp8ICNkZWZpbmUgSEFW RV9DUllQVE9fTE9DSyAxCnwgI2RlZmluZSBIQVZFX0xJQlhNTDIgMQp8ICNkZWZpbmUgSEFWRV9M SUJYU0xUIDEKfCAjZGVmaW5lIEhBVkVfX0JPT0wgMQp8ICNkZWZpbmUgSEFWRV9TVERCT09MX0gg MQp8ICNkZWZpbmUgSEFWRV9HRVRPUFRfSCAxCnwgI2RlZmluZSBIQVZFX0lFRUVGUF9IIDEKfCAj ZGVmaW5lIEhBVkVfVVRJTUVfSCAxCnwgI2RlZmluZSBIQVZFX1dDSEFSX0ggMQp8ICNkZWZpbmUg SEFWRV9XQ1RZUEVfSCAxCnwgI2RlZmluZSBIQVZFX0NSVERFRlNfSCAxCnwgI2RlZmluZSBQR19Q UklOVEZfQVRUUklCVVRFIGdudV9wcmludGYKfCAjZGVmaW5lIEZMRVhJQkxFX0FSUkFZX01FTUJF UiAvKiovCnwgI2RlZmluZSBIQVZFX0ZVTkNOQU1FX19GVU5DIDEKfCAjZGVmaW5lIEhBVkVfX1NU QVRJQ19BU1NFUlQgMQp8ICNkZWZpbmUgSEFWRV9UWVBFT0YgMQp8ICNkZWZpbmUgSEFWRV9fQlVJ TFRJTl9UWVBFU19DT01QQVRJQkxFX1AgMQp8ICNkZWZpbmUgSEFWRV9fQlVJTFRJTl9CU1dBUDE2 IDEKfCAjZGVmaW5lIEhBVkVfX0JVSUxUSU5fQlNXQVAzMiAxCnwgI2RlZmluZSBIQVZFX19CVUlM VElOX0JTV0FQNjQgMQp8ICNkZWZpbmUgSEFWRV9fQlVJTFRJTl9DT05TVEFOVF9QIDEKfCAjZGVm aW5lIEhBVkVfX0JVSUxUSU5fVU5SRUFDSEFCTEUgMQp8ICNkZWZpbmUgSEFWRV9DT01QVVRFRF9H T1RPIDEKfCAjZGVmaW5lIEhBVkVfX1ZBX0FSR1MgMQp8ICNkZWZpbmUgSEFWRV9UWk5BTUUgMQp8 ICNkZWZpbmUgSEFWRV9TVFJVQ1RfU09DS0FERFJfU1RPUkFHRSAxCnwgI2RlZmluZSBIQVZFX1NU UlVDVF9TT0NLQUREUl9TVE9SQUdFX1NTX0ZBTUlMWSAxCnwgI2RlZmluZSBIQVZFX1NUUlVDVF9B RERSSU5GTyAxCnwgI2RlZmluZSBIQVZFX0lOVFBUUl9UIDEKfCAjZGVmaW5lIEhBVkVfVUlOVFBU Ul9UIDEKfCAjZGVmaW5lIEhBVkVfVU5TSUdORURfTE9OR19MT05HX0lOVCAxCnwgI2RlZmluZSBI QVZFX0xPTkdfTE9OR19JTlQgMQp8ICNkZWZpbmUgcmVzdHJpY3QgX19yZXN0cmljdAp8ICNkZWZp bmUgcGdfcmVzdHJpY3QgX19yZXN0cmljdAp8ICNkZWZpbmUgSEFWRV9TVFJVQ1RfT1BUSU9OIDEK fCAjZGVmaW5lIFNJWkVPRl9PRkZfVCA0CnwgI2RlZmluZSBTSVpFT0ZfQk9PTCAxCnwgI2RlZmlu ZSBIQVZFX0lOVF9USU1FWk9ORSAxCnwgLyogZW5kIGNvbmZkZWZzLmguICAqLwp8ICNpbmNsdWRl IDxzeXMvdHlwZXMuaD4KfCAjaW5jbHVkZSA8c3lzL3NvY2tldC5oPgp8IGV4dGVybiB1bnNpZ25l ZCBpbnQgUEFTQ0FMIGFjY2VwdCAoaW50LCBjb25zdCBzdHJ1Y3Qgc29ja2FkZHIgKiwgc29ja2xl bl90ICopOwpjb25maWd1cmU6MTQ3OTE6IHg4Nl82NC13NjQtbWluZ3czMi1nY2MgLWMgLVdhbGwg LVdtaXNzaW5nLXByb3RvdHlwZXMgLVdwb2ludGVyLWFyaXRoIC1XZGVjbGFyYXRpb24tYWZ0ZXIt c3RhdGVtZW50IC1XZW5kaWYtbGFiZWxzIC1XbWlzc2luZy1mb3JtYXQtYXR0cmlidXRlIC1XZm9y bWF0LXNlY3VyaXR5IC1mbm8tc3RyaWN0LWFsaWFzaW5nIC1md3JhcHYgLWZleGNlc3MtcHJlY2lz aW9uPXN0YW5kYXJkIC1Xbm8tZm9ybWF0LXRydW5jYXRpb24gLVduby1zdHJpbmdvcC10cnVuY2F0 aW9uIC1nIC1PIC1mbm8tb21pdC1mcmFtZS1wb2ludGVyICAtSS93L1ItMy41Ll8vcG9zdGdyZXMv c3JjL2luY2x1ZGUvcG9ydC93aW4zMiAtREVYRUNfQkFDS0VORCAgLUkvdy96bGliLTEuMi44LXdp bjMyLXg4Nl82NC9pbmNsdWRlIC1JL3cvb3BlbnNzbC0xLjAuMmUtd2luMzIteDg2XzY0L2luY2x1 ZGUgLUkvdy9saWJ4bWwyLTIuOS4zLXdpbjMyLXg4Nl82NC9pbmNsdWRlL2xpYnhtbDIgLUkvdy9s aWJ4c2x0LTEuMS4yOC13aW4zMi14ODZfNjQvaW5jbHVkZSBjb25mdGVzdC5jID4mNQpjb25mdGVz dC5jOjc5OjI4OiBlcnJvcjogY29uZmxpY3RpbmcgdHlwZXMgZm9yICdhY2NlcHQnCiBleHRlcm4g dW5zaWduZWQgaW50IFBBU0NBTCBhY2NlcHQgKGludCwgY29uc3Qgc3RydWN0IHNvY2thZGRyICos IHVuc2lnbmVkIGludCAqKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIF5+fn5+fgpJbiBm aWxlIGluY2x1ZGVkIGZyb20gVzovUi0zLjUuXy9wb3N0Z3Jlcy9zcmMvaW5jbHVkZS9wb3J0L3dp bjMyL3N5cy9zb2NrZXQuaDoxNCwKICAgICAgICAgICAgICAgICBmcm9tIGNvbmZ0ZXN0LmM6Nzg6 CkM6L21zeXM2NC9taW5ndzY0L3g4Nl82NC13NjQtbWluZ3czMi9pbmNsdWRlL3dpbnNvY2syLmg6 OTczOjM3OiBub3RlOiBwcmV2aW91cyBkZWNsYXJhdGlvbiBvZiAnYWNjZXB0JyB3YXMgaGVyZQog ICBXSU5TT0NLX0FQSV9MSU5LQUdFIFNPQ0tFVCBXU0FBUEkgYWNjZXB0KFNPQ0tFVCBzLHN0cnVj dCBzb2NrYWRkciAqYWRkcixpbnQgKmFkZHJsZW4pOwogICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgXn5+fn5+CmNvbmZpZ3VyZToxNDc5MTogJD8gPSAxCmNvbmZpZ3VyZTogZmFp bGVkIHByb2dyYW0gd2FzOgp8IC8qIGNvbmZkZWZzLmggKi8KfCAjZGVmaW5lIFBBQ0tBR0VfTkFN RSAiUG9zdGdyZVNRTCIKfCAjZGVmaW5lIFBBQ0tBR0VfVEFSTkFNRSAicG9zdGdyZXNxbCIKfCAj ZGVmaW5lIFBBQ0tBR0VfVkVSU0lPTiAiMTFiZXRhMyIKfCAjZGVmaW5lIFBBQ0tBR0VfU1RSSU5H ICJQb3N0Z3JlU1FMIDExYmV0YTMiCnwgI2RlZmluZSBQQUNLQUdFX0JVR1JFUE9SVCAicGdzcWwt YnVnc0Bwb3N0Z3Jlc3FsLm9yZyIKfCAjZGVmaW5lIFBBQ0tBR0VfVVJMICIiCnwgI2RlZmluZSBQ R19NQUpPUlZFUlNJT04gIjExIgp8ICNkZWZpbmUgUEdfVkVSU0lPTiAiMTFiZXRhMyIKfCAjZGVm aW5lIERFRl9QR1BPUlQgNTQzMgp8ICNkZWZpbmUgREVGX1BHUE9SVF9TVFIgIjU0MzIiCnwgI2Rl ZmluZSBCTENLU1ogODE5Mgp8ICNkZWZpbmUgUkVMU0VHX1NJWkUgMTMxMDcyCnwgI2RlZmluZSBY TE9HX0JMQ0tTWiA4MTkyCnwgI2RlZmluZSBVU0VfQVNTRVJUX0NIRUNLSU5HIDEKfCAjZGVmaW5l IEVOQUJMRV9USFJFQURfU0FGRVRZIDEKfCAjZGVmaW5lIFVTRV9JQ1UgMQp8ICNkZWZpbmUgUEdf S1JCX1NSVk5BTSAicG9zdGdyZXMiCnwgI2RlZmluZSBVU0VfT1BFTlNTTCAxCnwgI2RlZmluZSBV U0VfTElCWE1MIDEKfCAjZGVmaW5lIFVTRV9MSUJYU0xUIDEKfCAjZGVmaW5lIFNURENfSEVBREVS UyAxCnwgI2RlZmluZSBIQVZFX1NZU19UWVBFU19IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NUQVRf SCAxCnwgI2RlZmluZSBIQVZFX1NURExJQl9IIDEKfCAjZGVmaW5lIEhBVkVfU1RSSU5HX0ggMQp8 ICNkZWZpbmUgSEFWRV9NRU1PUllfSCAxCnwgI2RlZmluZSBIQVZFX1NUUklOR1NfSCAxCnwgI2Rl ZmluZSBIQVZFX0lOVFRZUEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERJTlRfSCAxCnwgI2RlZmlu ZSBIQVZFX1VOSVNURF9IIDEKfCAjZGVmaW5lIEhBVkVfTElCTSAxCnwgI2RlZmluZSBIQVZFX0xJ QlogMQp8ICNkZWZpbmUgSEFWRV9TUElOTE9DS1MgMQp8ICNkZWZpbmUgSEFWRV9BVE9NSUNTIDEK fCAjZGVmaW5lIEhBVkVfU1NMX0dFVF9DVVJSRU5UX0NPTVBSRVNTSU9OIDEKfCAjZGVmaW5lIEhB VkVfWDUwOV9HRVRfU0lHTkFUVVJFX05JRCAxCnwgI2RlZmluZSBIQVZFX0NSWVBUT19MT0NLIDEK fCAjZGVmaW5lIEhBVkVfTElCWE1MMiAxCnwgI2RlZmluZSBIQVZFX0xJQlhTTFQgMQp8ICNkZWZp bmUgSEFWRV9fQk9PTCAxCnwgI2RlZmluZSBIQVZFX1NUREJPT0xfSCAxCnwgI2RlZmluZSBIQVZF X0dFVE9QVF9IIDEKfCAjZGVmaW5lIEhBVkVfSUVFRUZQX0ggMQp8ICNkZWZpbmUgSEFWRV9VVElN RV9IIDEKfCAjZGVmaW5lIEhBVkVfV0NIQVJfSCAxCnwgI2RlZmluZSBIQVZFX1dDVFlQRV9IIDEK fCAjZGVmaW5lIEhBVkVfQ1JUREVGU19IIDEKfCAjZGVmaW5lIFBHX1BSSU5URl9BVFRSSUJVVEUg Z251X3ByaW50Zgp8ICNkZWZpbmUgRkxFWElCTEVfQVJSQVlfTUVNQkVSIC8qKi8KfCAjZGVmaW5l IEhBVkVfRlVOQ05BTUVfX0ZVTkMgMQp8ICNkZWZpbmUgSEFWRV9fU1RBVElDX0FTU0VSVCAxCnwg I2RlZmluZSBIQVZFX1RZUEVPRiAxCnwgI2RlZmluZSBIQVZFX19CVUlMVElOX1RZUEVTX0NPTVBB VElCTEVfUCAxCnwgI2RlZmluZSBIQVZFX19CVUlMVElOX0JTV0FQMTYgMQp8ICNkZWZpbmUgSEFW RV9fQlVJTFRJTl9CU1dBUDMyIDEKfCAjZGVmaW5lIEhBVkVfX0JVSUxUSU5fQlNXQVA2NCAxCnwg I2RlZmluZSBIQVZFX19CVUlMVElOX0NPTlNUQU5UX1AgMQp8ICNkZWZpbmUgSEFWRV9fQlVJTFRJ Tl9VTlJFQUNIQUJMRSAxCnwgI2RlZmluZSBIQVZFX0NPTVBVVEVEX0dPVE8gMQp8ICNkZWZpbmUg SEFWRV9fVkFfQVJHUyAxCnwgI2RlZmluZSBIQVZFX1RaTkFNRSAxCnwgI2RlZmluZSBIQVZFX1NU UlVDVF9TT0NLQUREUl9TVE9SQUdFIDEKfCAjZGVmaW5lIEhBVkVfU1RSVUNUX1NPQ0tBRERSX1NU T1JBR0VfU1NfRkFNSUxZIDEKfCAjZGVmaW5lIEhBVkVfU1RSVUNUX0FERFJJTkZPIDEKfCAjZGVm aW5lIEhBVkVfSU5UUFRSX1QgMQp8ICNkZWZpbmUgSEFWRV9VSU5UUFRSX1QgMQp8ICNkZWZpbmUg SEFWRV9VTlNJR05FRF9MT05HX0xPTkdfSU5UIDEKfCAjZGVmaW5lIEhBVkVfTE9OR19MT05HX0lO VCAxCnwgI2RlZmluZSByZXN0cmljdCBfX3Jlc3RyaWN0CnwgI2RlZmluZSBwZ19yZXN0cmljdCBf X3Jlc3RyaWN0CnwgI2RlZmluZSBIQVZFX1NUUlVDVF9PUFRJT04gMQp8ICNkZWZpbmUgU0laRU9G X09GRl9UIDQKfCAjZGVmaW5lIFNJWkVPRl9CT09MIDEKfCAjZGVmaW5lIEhBVkVfSU5UX1RJTUVa T05FIDEKfCAvKiBlbmQgY29uZmRlZnMuaC4gICovCnwgI2luY2x1ZGUgPHN5cy90eXBlcy5oPgp8 ICNpbmNsdWRlIDxzeXMvc29ja2V0Lmg+CnwgZXh0ZXJuIHVuc2lnbmVkIGludCBQQVNDQUwgYWNj ZXB0IChpbnQsIGNvbnN0IHN0cnVjdCBzb2NrYWRkciAqLCB1bnNpZ25lZCBpbnQgKik7CmNvbmZp Z3VyZToxNDc5MTogeDg2XzY0LXc2NC1taW5ndzMyLWdjYyAtYyAtV2FsbCAtV21pc3NpbmctcHJv dG90eXBlcyAtV3BvaW50ZXItYXJpdGggLVdkZWNsYXJhdGlvbi1hZnRlci1zdGF0ZW1lbnQgLVdl bmRpZi1sYWJlbHMgLVdtaXNzaW5nLWZvcm1hdC1hdHRyaWJ1dGUgLVdmb3JtYXQtc2VjdXJpdHkg LWZuby1zdHJpY3QtYWxpYXNpbmcgLWZ3cmFwdiAtZmV4Y2Vzcy1wcmVjaXNpb249c3RhbmRhcmQg LVduby1mb3JtYXQtdHJ1bmNhdGlvbiAtV25vLXN0cmluZ29wLXRydW5jYXRpb24gLWcgLU8gLWZu by1vbWl0LWZyYW1lLXBvaW50ZXIgIC1JL3cvUi0zLjUuXy9wb3N0Z3Jlcy9zcmMvaW5jbHVkZS9w b3J0L3dpbjMyIC1ERVhFQ19CQUNLRU5EICAtSS93L3psaWItMS4yLjgtd2luMzIteDg2XzY0L2lu Y2x1ZGUgLUkvdy9vcGVuc3NsLTEuMC4yZS13aW4zMi14ODZfNjQvaW5jbHVkZSAtSS93L2xpYnht bDItMi45LjMtd2luMzIteDg2XzY0L2luY2x1ZGUvbGlieG1sMiAtSS93L2xpYnhzbHQtMS4xLjI4 LXdpbjMyLXg4Nl82NC9pbmNsdWRlIGNvbmZ0ZXN0LmMgPiY1CmNvbmZ0ZXN0LmM6Nzk6Mjg6IGVy cm9yOiBjb25mbGljdGluZyB0eXBlcyBmb3IgJ2FjY2VwdCcKIGV4dGVybiB1bnNpZ25lZCBpbnQg UEFTQ0FMIGFjY2VwdCAoaW50LCBjb25zdCBzdHJ1Y3Qgc29ja2FkZHIgKiwgdm9pZCAqKTsKICAg ICAgICAgICAgICAgICAgICAgICAgICAgIF5+fn5+fgpJbiBmaWxlIGluY2x1ZGVkIGZyb20gVzov Ui0zLjUuXy9wb3N0Z3Jlcy9zcmMvaW5jbHVkZS9wb3J0L3dpbjMyL3N5cy9zb2NrZXQuaDoxNCwK ICAgICAgICAgICAgICAgICBmcm9tIGNvbmZ0ZXN0LmM6Nzg6CkM6L21zeXM2NC9taW5ndzY0L3g4 Nl82NC13NjQtbWluZ3czMi9pbmNsdWRlL3dpbnNvY2syLmg6OTczOjM3OiBub3RlOiBwcmV2aW91 cyBkZWNsYXJhdGlvbiBvZiAnYWNjZXB0JyB3YXMgaGVyZQogICBXSU5TT0NLX0FQSV9MSU5LQUdF IFNPQ0tFVCBXU0FBUEkgYWNjZXB0KFNPQ0tFVCBzLHN0cnVjdCBzb2NrYWRkciAqYWRkcixpbnQg KmFkZHJsZW4pOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXn5+fn5+CmNv bmZpZ3VyZToxNDc5MTogJD8gPSAxCmNvbmZpZ3VyZTogZmFpbGVkIHByb2dyYW0gd2FzOgp8IC8q IGNvbmZkZWZzLmggKi8KfCAjZGVmaW5lIFBBQ0tBR0VfTkFNRSAiUG9zdGdyZVNRTCIKfCAjZGVm aW5lIFBBQ0tBR0VfVEFSTkFNRSAicG9zdGdyZXNxbCIKfCAjZGVmaW5lIFBBQ0tBR0VfVkVSU0lP TiAiMTFiZXRhMyIKfCAjZGVmaW5lIFBBQ0tBR0VfU1RSSU5HICJQb3N0Z3JlU1FMIDExYmV0YTMi CnwgI2RlZmluZSBQQUNLQUdFX0JVR1JFUE9SVCAicGdzcWwtYnVnc0Bwb3N0Z3Jlc3FsLm9yZyIK fCAjZGVmaW5lIFBBQ0tBR0VfVVJMICIiCnwgI2RlZmluZSBQR19NQUpPUlZFUlNJT04gIjExIgp8 ICNkZWZpbmUgUEdfVkVSU0lPTiAiMTFiZXRhMyIKfCAjZGVmaW5lIERFRl9QR1BPUlQgNTQzMgp8 ICNkZWZpbmUgREVGX1BHUE9SVF9TVFIgIjU0MzIiCnwgI2RlZmluZSBCTENLU1ogODE5Mgp8ICNk ZWZpbmUgUkVMU0VHX1NJWkUgMTMxMDcyCnwgI2RlZmluZSBYTE9HX0JMQ0tTWiA4MTkyCnwgI2Rl ZmluZSBVU0VfQVNTRVJUX0NIRUNLSU5HIDEKfCAjZGVmaW5lIEVOQUJMRV9USFJFQURfU0FGRVRZ IDEKfCAjZGVmaW5lIFVTRV9JQ1UgMQp8ICNkZWZpbmUgUEdfS1JCX1NSVk5BTSAicG9zdGdyZXMi CnwgI2RlZmluZSBVU0VfT1BFTlNTTCAxCnwgI2RlZmluZSBVU0VfTElCWE1MIDEKfCAjZGVmaW5l IFVTRV9MSUJYU0xUIDEKfCAjZGVmaW5lIFNURENfSEVBREVSUyAxCnwgI2RlZmluZSBIQVZFX1NZ U19UWVBFU19IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NUQVRfSCAxCnwgI2RlZmluZSBIQVZFX1NU RExJQl9IIDEKfCAjZGVmaW5lIEhBVkVfU1RSSU5HX0ggMQp8ICNkZWZpbmUgSEFWRV9NRU1PUllf SCAxCnwgI2RlZmluZSBIQVZFX1NUUklOR1NfSCAxCnwgI2RlZmluZSBIQVZFX0lOVFRZUEVTX0gg MQp8ICNkZWZpbmUgSEFWRV9TVERJTlRfSCAxCnwgI2RlZmluZSBIQVZFX1VOSVNURF9IIDEKfCAj ZGVmaW5lIEhBVkVfTElCTSAxCnwgI2RlZmluZSBIQVZFX0xJQlogMQp8ICNkZWZpbmUgSEFWRV9T UElOTE9DS1MgMQp8ICNkZWZpbmUgSEFWRV9BVE9NSUNTIDEKfCAjZGVmaW5lIEhBVkVfU1NMX0dF VF9DVVJSRU5UX0NPTVBSRVNTSU9OIDEKfCAjZGVmaW5lIEhBVkVfWDUwOV9HRVRfU0lHTkFUVVJF X05JRCAxCnwgI2RlZmluZSBIQVZFX0NSWVBUT19MT0NLIDEKfCAjZGVmaW5lIEhBVkVfTElCWE1M MiAxCnwgI2RlZmluZSBIQVZFX0xJQlhTTFQgMQp8ICNkZWZpbmUgSEFWRV9fQk9PTCAxCnwgI2Rl ZmluZSBIQVZFX1NUREJPT0xfSCAxCnwgI2RlZmluZSBIQVZFX0dFVE9QVF9IIDEKfCAjZGVmaW5l IEhBVkVfSUVFRUZQX0ggMQp8ICNkZWZpbmUgSEFWRV9VVElNRV9IIDEKfCAjZGVmaW5lIEhBVkVf V0NIQVJfSCAxCnwgI2RlZmluZSBIQVZFX1dDVFlQRV9IIDEKfCAjZGVmaW5lIEhBVkVfQ1JUREVG U19IIDEKfCAjZGVmaW5lIFBHX1BSSU5URl9BVFRSSUJVVEUgZ251X3ByaW50Zgp8ICNkZWZpbmUg RkxFWElCTEVfQVJSQVlfTUVNQkVSIC8qKi8KfCAjZGVmaW5lIEhBVkVfRlVOQ05BTUVfX0ZVTkMg MQp8ICNkZWZpbmUgSEFWRV9fU1RBVElDX0FTU0VSVCAxCnwgI2RlZmluZSBIQVZFX1RZUEVPRiAx CnwgI2RlZmluZSBIQVZFX19CVUlMVElOX1RZUEVTX0NPTVBBVElCTEVfUCAxCnwgI2RlZmluZSBI QVZFX19CVUlMVElOX0JTV0FQMTYgMQp8ICNkZWZpbmUgSEFWRV9fQlVJTFRJTl9CU1dBUDMyIDEK fCAjZGVmaW5lIEhBVkVfX0JVSUxUSU5fQlNXQVA2NCAxCnwgI2RlZmluZSBIQVZFX19CVUlMVElO X0NPTlNUQU5UX1AgMQp8ICNkZWZpbmUgSEFWRV9fQlVJTFRJTl9VTlJFQUNIQUJMRSAxCnwgI2Rl ZmluZSBIQVZFX0NPTVBVVEVEX0dPVE8gMQp8ICNkZWZpbmUgSEFWRV9fVkFfQVJHUyAxCnwgI2Rl ZmluZSBIQVZFX1RaTkFNRSAxCnwgI2RlZmluZSBIQVZFX1NUUlVDVF9TT0NLQUREUl9TVE9SQUdF IDEKfCAjZGVmaW5lIEhBVkVfU1RSVUNUX1NPQ0tBRERSX1NUT1JBR0VfU1NfRkFNSUxZIDEKfCAj ZGVmaW5lIEhBVkVfU1RSVUNUX0FERFJJTkZPIDEKfCAjZGVmaW5lIEhBVkVfSU5UUFRSX1QgMQp8 ICNkZWZpbmUgSEFWRV9VSU5UUFRSX1QgMQp8ICNkZWZpbmUgSEFWRV9VTlNJR05FRF9MT05HX0xP TkdfSU5UIDEKfCAjZGVmaW5lIEhBVkVfTE9OR19MT05HX0lOVCAxCnwgI2RlZmluZSByZXN0cmlj dCBfX3Jlc3RyaWN0CnwgI2RlZmluZSBwZ19yZXN0cmljdCBfX3Jlc3RyaWN0CnwgI2RlZmluZSBI QVZFX1NUUlVDVF9PUFRJT04gMQp8ICNkZWZpbmUgU0laRU9GX09GRl9UIDQKfCAjZGVmaW5lIFNJ WkVPRl9CT09MIDEKfCAjZGVmaW5lIEhBVkVfSU5UX1RJTUVaT05FIDEKfCAvKiBlbmQgY29uZmRl ZnMuaC4gICovCnwgI2luY2x1ZGUgPHN5cy90eXBlcy5oPgp8ICNpbmNsdWRlIDxzeXMvc29ja2V0 Lmg+CnwgZXh0ZXJuIHVuc2lnbmVkIGludCBQQVNDQUwgYWNjZXB0IChpbnQsIGNvbnN0IHN0cnVj dCBzb2NrYWRkciAqLCB2b2lkICopOwpjb25maWd1cmU6MTQ3OTE6IHg4Nl82NC13NjQtbWluZ3cz Mi1nY2MgLWMgLVdhbGwgLVdtaXNzaW5nLXByb3RvdHlwZXMgLVdwb2ludGVyLWFyaXRoIC1XZGVj bGFyYXRpb24tYWZ0ZXItc3RhdGVtZW50IC1XZW5kaWYtbGFiZWxzIC1XbWlzc2luZy1mb3JtYXQt YXR0cmlidXRlIC1XZm9ybWF0LXNlY3VyaXR5IC1mbm8tc3RyaWN0LWFsaWFzaW5nIC1md3JhcHYg LWZleGNlc3MtcHJlY2lzaW9uPXN0YW5kYXJkIC1Xbm8tZm9ybWF0LXRydW5jYXRpb24gLVduby1z dHJpbmdvcC10cnVuY2F0aW9uIC1nIC1PIC1mbm8tb21pdC1mcmFtZS1wb2ludGVyICAtSS93L1It My41Ll8vcG9zdGdyZXMvc3JjL2luY2x1ZGUvcG9ydC93aW4zMiAtREVYRUNfQkFDS0VORCAgLUkv dy96bGliLTEuMi44LXdpbjMyLXg4Nl82NC9pbmNsdWRlIC1JL3cvb3BlbnNzbC0xLjAuMmUtd2lu MzIteDg2XzY0L2luY2x1ZGUgLUkvdy9saWJ4bWwyLTIuOS4zLXdpbjMyLXg4Nl82NC9pbmNsdWRl L2xpYnhtbDIgLUkvdy9saWJ4c2x0LTEuMS4yOC13aW4zMi14ODZfNjQvaW5jbHVkZSBjb25mdGVz dC5jID4mNQpjb25mdGVzdC5jOjc5OjI4OiBlcnJvcjogY29uZmxpY3RpbmcgdHlwZXMgZm9yICdh Y2NlcHQnCiBleHRlcm4gdW5zaWduZWQgaW50IFBBU0NBTCBhY2NlcHQgKGludCwgdm9pZCAqLCBp bnQgKik7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBefn5+fn4KSW4gZmlsZSBpbmNsdWRl ZCBmcm9tIFc6L1ItMy41Ll8vcG9zdGdyZXMvc3JjL2luY2x1ZGUvcG9ydC93aW4zMi9zeXMvc29j a2V0Lmg6MTQsCiAgICAgICAgICAgICAgICAgZnJvbSBjb25mdGVzdC5jOjc4OgpDOi9tc3lzNjQv bWluZ3c2NC94ODZfNjQtdzY0LW1pbmd3MzIvaW5jbHVkZS93aW5zb2NrMi5oOjk3MzozNzogbm90 ZTogcHJldmlvdXMgZGVjbGFyYXRpb24gb2YgJ2FjY2VwdCcgd2FzIGhlcmUKICAgV0lOU09DS19B UElfTElOS0FHRSBTT0NLRVQgV1NBQVBJIGFjY2VwdChTT0NLRVQgcyxzdHJ1Y3Qgc29ja2FkZHIg KmFkZHIsaW50ICphZGRybGVuKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IF5+fn5+fgpjb25maWd1cmU6MTQ3OTE6ICQ/ID0gMQpjb25maWd1cmU6IGZhaWxlZCBwcm9ncmFt IHdhczoKfCAvKiBjb25mZGVmcy5oICovCnwgI2RlZmluZSBQQUNLQUdFX05BTUUgIlBvc3RncmVT UUwiCnwgI2RlZmluZSBQQUNLQUdFX1RBUk5BTUUgInBvc3RncmVzcWwiCnwgI2RlZmluZSBQQUNL QUdFX1ZFUlNJT04gIjExYmV0YTMiCnwgI2RlZmluZSBQQUNLQUdFX1NUUklORyAiUG9zdGdyZVNR TCAxMWJldGEzIgp8ICNkZWZpbmUgUEFDS0FHRV9CVUdSRVBPUlQgInBnc3FsLWJ1Z3NAcG9zdGdy ZXNxbC5vcmciCnwgI2RlZmluZSBQQUNLQUdFX1VSTCAiIgp8ICNkZWZpbmUgUEdfTUFKT1JWRVJT SU9OICIxMSIKfCAjZGVmaW5lIFBHX1ZFUlNJT04gIjExYmV0YTMiCnwgI2RlZmluZSBERUZfUEdQ T1JUIDU0MzIKfCAjZGVmaW5lIERFRl9QR1BPUlRfU1RSICI1NDMyIgp8ICNkZWZpbmUgQkxDS1Na IDgxOTIKfCAjZGVmaW5lIFJFTFNFR19TSVpFIDEzMTA3Mgp8ICNkZWZpbmUgWExPR19CTENLU1og ODE5Mgp8ICNkZWZpbmUgVVNFX0FTU0VSVF9DSEVDS0lORyAxCnwgI2RlZmluZSBFTkFCTEVfVEhS RUFEX1NBRkVUWSAxCnwgI2RlZmluZSBVU0VfSUNVIDEKfCAjZGVmaW5lIFBHX0tSQl9TUlZOQU0g InBvc3RncmVzIgp8ICNkZWZpbmUgVVNFX09QRU5TU0wgMQp8ICNkZWZpbmUgVVNFX0xJQlhNTCAx CnwgI2RlZmluZSBVU0VfTElCWFNMVCAxCnwgI2RlZmluZSBTVERDX0hFQURFUlMgMQp8ICNkZWZp bmUgSEFWRV9TWVNfVFlQRVNfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19TVEFUX0ggMQp8ICNkZWZp bmUgSEFWRV9TVERMSUJfSCAxCnwgI2RlZmluZSBIQVZFX1NUUklOR19IIDEKfCAjZGVmaW5lIEhB VkVfTUVNT1JZX0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJJTkdTX0ggMQp8ICNkZWZpbmUgSEFWRV9J TlRUWVBFU19IIDEKfCAjZGVmaW5lIEhBVkVfU1RESU5UX0ggMQp8ICNkZWZpbmUgSEFWRV9VTklT VERfSCAxCnwgI2RlZmluZSBIQVZFX0xJQk0gMQp8ICNkZWZpbmUgSEFWRV9MSUJaIDEKfCAjZGVm aW5lIEhBVkVfU1BJTkxPQ0tTIDEKfCAjZGVmaW5lIEhBVkVfQVRPTUlDUyAxCnwgI2RlZmluZSBI QVZFX1NTTF9HRVRfQ1VSUkVOVF9DT01QUkVTU0lPTiAxCnwgI2RlZmluZSBIQVZFX1g1MDlfR0VU X1NJR05BVFVSRV9OSUQgMQp8ICNkZWZpbmUgSEFWRV9DUllQVE9fTE9DSyAxCnwgI2RlZmluZSBI QVZFX0xJQlhNTDIgMQp8ICNkZWZpbmUgSEFWRV9MSUJYU0xUIDEKfCAjZGVmaW5lIEhBVkVfX0JP T0wgMQp8ICNkZWZpbmUgSEFWRV9TVERCT09MX0ggMQp8ICNkZWZpbmUgSEFWRV9HRVRPUFRfSCAx CnwgI2RlZmluZSBIQVZFX0lFRUVGUF9IIDEKfCAjZGVmaW5lIEhBVkVfVVRJTUVfSCAxCnwgI2Rl ZmluZSBIQVZFX1dDSEFSX0ggMQp8ICNkZWZpbmUgSEFWRV9XQ1RZUEVfSCAxCnwgI2RlZmluZSBI QVZFX0NSVERFRlNfSCAxCnwgI2RlZmluZSBQR19QUklOVEZfQVRUUklCVVRFIGdudV9wcmludGYK fCAjZGVmaW5lIEZMRVhJQkxFX0FSUkFZX01FTUJFUiAvKiovCnwgI2RlZmluZSBIQVZFX0ZVTkNO QU1FX19GVU5DIDEKfCAjZGVmaW5lIEhBVkVfX1NUQVRJQ19BU1NFUlQgMQp8ICNkZWZpbmUgSEFW RV9UWVBFT0YgMQp8ICNkZWZpbmUgSEFWRV9fQlVJTFRJTl9UWVBFU19DT01QQVRJQkxFX1AgMQp8 ICNkZWZpbmUgSEFWRV9fQlVJTFRJTl9CU1dBUDE2IDEKfCAjZGVmaW5lIEhBVkVfX0JVSUxUSU5f QlNXQVAzMiAxCnwgI2RlZmluZSBIQVZFX19CVUlMVElOX0JTV0FQNjQgMQp8ICNkZWZpbmUgSEFW RV9fQlVJTFRJTl9DT05TVEFOVF9QIDEKfCAjZGVmaW5lIEhBVkVfX0JVSUxUSU5fVU5SRUFDSEFC TEUgMQp8ICNkZWZpbmUgSEFWRV9DT01QVVRFRF9HT1RPIDEKfCAjZGVmaW5lIEhBVkVfX1ZBX0FS R1MgMQp8ICNkZWZpbmUgSEFWRV9UWk5BTUUgMQp8ICNkZWZpbmUgSEFWRV9TVFJVQ1RfU09DS0FE RFJfU1RPUkFHRSAxCnwgI2RlZmluZSBIQVZFX1NUUlVDVF9TT0NLQUREUl9TVE9SQUdFX1NTX0ZB TUlMWSAxCnwgI2RlZmluZSBIQVZFX1NUUlVDVF9BRERSSU5GTyAxCnwgI2RlZmluZSBIQVZFX0lO VFBUUl9UIDEKfCAjZGVmaW5lIEhBVkVfVUlOVFBUUl9UIDEKfCAjZGVmaW5lIEhBVkVfVU5TSUdO RURfTE9OR19MT05HX0lOVCAxCnwgI2RlZmluZSBIQVZFX0xPTkdfTE9OR19JTlQgMQp8ICNkZWZp bmUgcmVzdHJpY3QgX19yZXN0cmljdAp8ICNkZWZpbmUgcGdfcmVzdHJpY3QgX19yZXN0cmljdAp8 ICNkZWZpbmUgSEFWRV9TVFJVQ1RfT1BUSU9OIDEKfCAjZGVmaW5lIFNJWkVPRl9PRkZfVCA0Cnwg I2RlZmluZSBTSVpFT0ZfQk9PTCAxCnwgI2RlZmluZSBIQVZFX0lOVF9USU1FWk9ORSAxCnwgLyog ZW5kIGNvbmZkZWZzLmguICAqLwp8ICNpbmNsdWRlIDxzeXMvdHlwZXMuaD4KfCAjaW5jbHVkZSA8 c3lzL3NvY2tldC5oPgp8IGV4dGVybiB1bnNpZ25lZCBpbnQgUEFTQ0FMIGFjY2VwdCAoaW50LCB2 b2lkICosIGludCAqKTsKY29uZmlndXJlOjE0NzkxOiB4ODZfNjQtdzY0LW1pbmd3MzItZ2NjIC1j IC1XYWxsIC1XbWlzc2luZy1wcm90b3R5cGVzIC1XcG9pbnRlci1hcml0aCAtV2RlY2xhcmF0aW9u LWFmdGVyLXN0YXRlbWVudCAtV2VuZGlmLWxhYmVscyAtV21pc3NpbmctZm9ybWF0LWF0dHJpYnV0 ZSAtV2Zvcm1hdC1zZWN1cml0eSAtZm5vLXN0cmljdC1hbGlhc2luZyAtZndyYXB2IC1mZXhjZXNz LXByZWNpc2lvbj1zdGFuZGFyZCAtV25vLWZvcm1hdC10cnVuY2F0aW9uIC1Xbm8tc3RyaW5nb3At dHJ1bmNhdGlvbiAtZyAtTyAtZm5vLW9taXQtZnJhbWUtcG9pbnRlciAgLUkvdy9SLTMuNS5fL3Bv c3RncmVzL3NyYy9pbmNsdWRlL3BvcnQvd2luMzIgLURFWEVDX0JBQ0tFTkQgIC1JL3cvemxpYi0x LjIuOC13aW4zMi14ODZfNjQvaW5jbHVkZSAtSS93L29wZW5zc2wtMS4wLjJlLXdpbjMyLXg4Nl82 NC9pbmNsdWRlIC1JL3cvbGlieG1sMi0yLjkuMy13aW4zMi14ODZfNjQvaW5jbHVkZS9saWJ4bWwy IC1JL3cvbGlieHNsdC0xLjEuMjgtd2luMzIteDg2XzY0L2luY2x1ZGUgY29uZnRlc3QuYyA+JjUK Y29uZnRlc3QuYzo3OToyODogZXJyb3I6IGNvbmZsaWN0aW5nIHR5cGVzIGZvciAnYWNjZXB0Jwog ZXh0ZXJuIHVuc2lnbmVkIGludCBQQVNDQUwgYWNjZXB0IChpbnQsIHZvaWQgKiwgc2l6ZV90ICop OwogICAgICAgICAgICAgICAgICAgICAgICAgICAgXn5+fn5+CkluIGZpbGUgaW5jbHVkZWQgZnJv bSBXOi9SLTMuNS5fL3Bvc3RncmVzL3NyYy9pbmNsdWRlL3BvcnQvd2luMzIvc3lzL3NvY2tldC5o OjE0LAogICAgICAgICAgICAgICAgIGZyb20gY29uZnRlc3QuYzo3ODoKQzovbXN5czY0L21pbmd3 NjQveDg2XzY0LXc2NC1taW5ndzMyL2luY2x1ZGUvd2luc29jazIuaDo5NzM6Mzc6IG5vdGU6IHBy ZXZpb3VzIGRlY2xhcmF0aW9uIG9mICdhY2NlcHQnIHdhcyBoZXJlCiAgIFdJTlNPQ0tfQVBJX0xJ TktBR0UgU09DS0VUIFdTQUFQSSBhY2NlcHQoU09DS0VUIHMsc3RydWN0IHNvY2thZGRyICphZGRy LGludCAqYWRkcmxlbik7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBefn5+ fn4KY29uZmlndXJlOjE0NzkxOiAkPyA9IDEKY29uZmlndXJlOiBmYWlsZWQgcHJvZ3JhbSB3YXM6 CnwgLyogY29uZmRlZnMuaCAqLwp8ICNkZWZpbmUgUEFDS0FHRV9OQU1FICJQb3N0Z3JlU1FMIgp8 ICNkZWZpbmUgUEFDS0FHRV9UQVJOQU1FICJwb3N0Z3Jlc3FsIgp8ICNkZWZpbmUgUEFDS0FHRV9W RVJTSU9OICIxMWJldGEzIgp8ICNkZWZpbmUgUEFDS0FHRV9TVFJJTkcgIlBvc3RncmVTUUwgMTFi ZXRhMyIKfCAjZGVmaW5lIFBBQ0tBR0VfQlVHUkVQT1JUICJwZ3NxbC1idWdzQHBvc3RncmVzcWwu b3JnIgp8ICNkZWZpbmUgUEFDS0FHRV9VUkwgIiIKfCAjZGVmaW5lIFBHX01BSk9SVkVSU0lPTiAi MTEiCnwgI2RlZmluZSBQR19WRVJTSU9OICIxMWJldGEzIgp8ICNkZWZpbmUgREVGX1BHUE9SVCA1 NDMyCnwgI2RlZmluZSBERUZfUEdQT1JUX1NUUiAiNTQzMiIKfCAjZGVmaW5lIEJMQ0tTWiA4MTky CnwgI2RlZmluZSBSRUxTRUdfU0laRSAxMzEwNzIKfCAjZGVmaW5lIFhMT0dfQkxDS1NaIDgxOTIK fCAjZGVmaW5lIFVTRV9BU1NFUlRfQ0hFQ0tJTkcgMQp8ICNkZWZpbmUgRU5BQkxFX1RIUkVBRF9T QUZFVFkgMQp8ICNkZWZpbmUgVVNFX0lDVSAxCnwgI2RlZmluZSBQR19LUkJfU1JWTkFNICJwb3N0 Z3JlcyIKfCAjZGVmaW5lIFVTRV9PUEVOU1NMIDEKfCAjZGVmaW5lIFVTRV9MSUJYTUwgMQp8ICNk ZWZpbmUgVVNFX0xJQlhTTFQgMQp8ICNkZWZpbmUgU1REQ19IRUFERVJTIDEKfCAjZGVmaW5lIEhB VkVfU1lTX1RZUEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfU1RBVF9IIDEKfCAjZGVmaW5lIEhB VkVfU1RETElCX0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJJTkdfSCAxCnwgI2RlZmluZSBIQVZFX01F TU9SWV9IIDEKfCAjZGVmaW5lIEhBVkVfU1RSSU5HU19IIDEKfCAjZGVmaW5lIEhBVkVfSU5UVFlQ RVNfSCAxCnwgI2RlZmluZSBIQVZFX1NURElOVF9IIDEKfCAjZGVmaW5lIEhBVkVfVU5JU1REX0gg MQp8ICNkZWZpbmUgSEFWRV9MSUJNIDEKfCAjZGVmaW5lIEhBVkVfTElCWiAxCnwgI2RlZmluZSBI QVZFX1NQSU5MT0NLUyAxCnwgI2RlZmluZSBIQVZFX0FUT01JQ1MgMQp8ICNkZWZpbmUgSEFWRV9T U0xfR0VUX0NVUlJFTlRfQ09NUFJFU1NJT04gMQp8ICNkZWZpbmUgSEFWRV9YNTA5X0dFVF9TSUdO QVRVUkVfTklEIDEKfCAjZGVmaW5lIEhBVkVfQ1JZUFRPX0xPQ0sgMQp8ICNkZWZpbmUgSEFWRV9M SUJYTUwyIDEKfCAjZGVmaW5lIEhBVkVfTElCWFNMVCAxCnwgI2RlZmluZSBIQVZFX19CT09MIDEK fCAjZGVmaW5lIEhBVkVfU1REQk9PTF9IIDEKfCAjZGVmaW5lIEhBVkVfR0VUT1BUX0ggMQp8ICNk ZWZpbmUgSEFWRV9JRUVFRlBfSCAxCnwgI2RlZmluZSBIQVZFX1VUSU1FX0ggMQp8ICNkZWZpbmUg SEFWRV9XQ0hBUl9IIDEKfCAjZGVmaW5lIEhBVkVfV0NUWVBFX0ggMQp8ICNkZWZpbmUgSEFWRV9D UlRERUZTX0ggMQp8ICNkZWZpbmUgUEdfUFJJTlRGX0FUVFJJQlVURSBnbnVfcHJpbnRmCnwgI2Rl ZmluZSBGTEVYSUJMRV9BUlJBWV9NRU1CRVIgLyoqLwp8ICNkZWZpbmUgSEFWRV9GVU5DTkFNRV9f RlVOQyAxCnwgI2RlZmluZSBIQVZFX19TVEFUSUNfQVNTRVJUIDEKfCAjZGVmaW5lIEhBVkVfVFlQ RU9GIDEKfCAjZGVmaW5lIEhBVkVfX0JVSUxUSU5fVFlQRVNfQ09NUEFUSUJMRV9QIDEKfCAjZGVm aW5lIEhBVkVfX0JVSUxUSU5fQlNXQVAxNiAxCnwgI2RlZmluZSBIQVZFX19CVUlMVElOX0JTV0FQ MzIgMQp8ICNkZWZpbmUgSEFWRV9fQlVJTFRJTl9CU1dBUDY0IDEKfCAjZGVmaW5lIEhBVkVfX0JV SUxUSU5fQ09OU1RBTlRfUCAxCnwgI2RlZmluZSBIQVZFX19CVUlMVElOX1VOUkVBQ0hBQkxFIDEK fCAjZGVmaW5lIEhBVkVfQ09NUFVURURfR09UTyAxCnwgI2RlZmluZSBIQVZFX19WQV9BUkdTIDEK fCAjZGVmaW5lIEhBVkVfVFpOQU1FIDEKfCAjZGVmaW5lIEhBVkVfU1RSVUNUX1NPQ0tBRERSX1NU T1JBR0UgMQp8ICNkZWZpbmUgSEFWRV9TVFJVQ1RfU09DS0FERFJfU1RPUkFHRV9TU19GQU1JTFkg MQp8ICNkZWZpbmUgSEFWRV9TVFJVQ1RfQUREUklORk8gMQp8ICNkZWZpbmUgSEFWRV9JTlRQVFJf VCAxCnwgI2RlZmluZSBIQVZFX1VJTlRQVFJfVCAxCnwgI2RlZmluZSBIQVZFX1VOU0lHTkVEX0xP TkdfTE9OR19JTlQgMQp8ICNkZWZpbmUgSEFWRV9MT05HX0xPTkdfSU5UIDEKfCAjZGVmaW5lIHJl c3RyaWN0IF9fcmVzdHJpY3QKfCAjZGVmaW5lIHBnX3Jlc3RyaWN0IF9fcmVzdHJpY3QKfCAjZGVm aW5lIEhBVkVfU1RSVUNUX09QVElPTiAxCnwgI2RlZmluZSBTSVpFT0ZfT0ZGX1QgNAp8ICNkZWZp bmUgU0laRU9GX0JPT0wgMQp8ICNkZWZpbmUgSEFWRV9JTlRfVElNRVpPTkUgMQp8IC8qIGVuZCBj b25mZGVmcy5oLiAgKi8KfCAjaW5jbHVkZSA8c3lzL3R5cGVzLmg+CnwgI2luY2x1ZGUgPHN5cy9z b2NrZXQuaD4KfCBleHRlcm4gdW5zaWduZWQgaW50IFBBU0NBTCBhY2NlcHQgKGludCwgdm9pZCAq LCBzaXplX3QgKik7CmNvbmZpZ3VyZToxNDc5MTogeDg2XzY0LXc2NC1taW5ndzMyLWdjYyAtYyAt V2FsbCAtV21pc3NpbmctcHJvdG90eXBlcyAtV3BvaW50ZXItYXJpdGggLVdkZWNsYXJhdGlvbi1h ZnRlci1zdGF0ZW1lbnQgLVdlbmRpZi1sYWJlbHMgLVdtaXNzaW5nLWZvcm1hdC1hdHRyaWJ1dGUg LVdmb3JtYXQtc2VjdXJpdHkgLWZuby1zdHJpY3QtYWxpYXNpbmcgLWZ3cmFwdiAtZmV4Y2Vzcy1w cmVjaXNpb249c3RhbmRhcmQgLVduby1mb3JtYXQtdHJ1bmNhdGlvbiAtV25vLXN0cmluZ29wLXRy dW5jYXRpb24gLWcgLU8gLWZuby1vbWl0LWZyYW1lLXBvaW50ZXIgIC1JL3cvUi0zLjUuXy9wb3N0 Z3Jlcy9zcmMvaW5jbHVkZS9wb3J0L3dpbjMyIC1ERVhFQ19CQUNLRU5EICAtSS93L3psaWItMS4y Ljgtd2luMzIteDg2XzY0L2luY2x1ZGUgLUkvdy9vcGVuc3NsLTEuMC4yZS13aW4zMi14ODZfNjQv aW5jbHVkZSAtSS93L2xpYnhtbDItMi45LjMtd2luMzIteDg2XzY0L2luY2x1ZGUvbGlieG1sMiAt SS93L2xpYnhzbHQtMS4xLjI4LXdpbjMyLXg4Nl82NC9pbmNsdWRlIGNvbmZ0ZXN0LmMgPiY1CmNv bmZ0ZXN0LmM6Nzk6Mjg6IGVycm9yOiBjb25mbGljdGluZyB0eXBlcyBmb3IgJ2FjY2VwdCcKIGV4 dGVybiB1bnNpZ25lZCBpbnQgUEFTQ0FMIGFjY2VwdCAoaW50LCB2b2lkICosIHNvY2tsZW5fdCAq KTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIF5+fn5+fgpJbiBmaWxlIGluY2x1ZGVkIGZy b20gVzovUi0zLjUuXy9wb3N0Z3Jlcy9zcmMvaW5jbHVkZS9wb3J0L3dpbjMyL3N5cy9zb2NrZXQu aDoxNCwKICAgICAgICAgICAgICAgICBmcm9tIGNvbmZ0ZXN0LmM6Nzg6CkM6L21zeXM2NC9taW5n dzY0L3g4Nl82NC13NjQtbWluZ3czMi9pbmNsdWRlL3dpbnNvY2syLmg6OTczOjM3OiBub3RlOiBw cmV2aW91cyBkZWNsYXJhdGlvbiBvZiAnYWNjZXB0JyB3YXMgaGVyZQogICBXSU5TT0NLX0FQSV9M SU5LQUdFIFNPQ0tFVCBXU0FBUEkgYWNjZXB0KFNPQ0tFVCBzLHN0cnVjdCBzb2NrYWRkciAqYWRk cixpbnQgKmFkZHJsZW4pOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXn5+ fn5+CmNvbmZpZ3VyZToxNDc5MTogJD8gPSAxCmNvbmZpZ3VyZTogZmFpbGVkIHByb2dyYW0gd2Fz Ogp8IC8qIGNvbmZkZWZzLmggKi8KfCAjZGVmaW5lIFBBQ0tBR0VfTkFNRSAiUG9zdGdyZVNRTCIK fCAjZGVmaW5lIFBBQ0tBR0VfVEFSTkFNRSAicG9zdGdyZXNxbCIKfCAjZGVmaW5lIFBBQ0tBR0Vf VkVSU0lPTiAiMTFiZXRhMyIKfCAjZGVmaW5lIFBBQ0tBR0VfU1RSSU5HICJQb3N0Z3JlU1FMIDEx YmV0YTMiCnwgI2RlZmluZSBQQUNLQUdFX0JVR1JFUE9SVCAicGdzcWwtYnVnc0Bwb3N0Z3Jlc3Fs Lm9yZyIKfCAjZGVmaW5lIFBBQ0tBR0VfVVJMICIiCnwgI2RlZmluZSBQR19NQUpPUlZFUlNJT04g IjExIgp8ICNkZWZpbmUgUEdfVkVSU0lPTiAiMTFiZXRhMyIKfCAjZGVmaW5lIERFRl9QR1BPUlQg NTQzMgp8ICNkZWZpbmUgREVGX1BHUE9SVF9TVFIgIjU0MzIiCnwgI2RlZmluZSBCTENLU1ogODE5 Mgp8ICNkZWZpbmUgUkVMU0VHX1NJWkUgMTMxMDcyCnwgI2RlZmluZSBYTE9HX0JMQ0tTWiA4MTky CnwgI2RlZmluZSBVU0VfQVNTRVJUX0NIRUNLSU5HIDEKfCAjZGVmaW5lIEVOQUJMRV9USFJFQURf U0FGRVRZIDEKfCAjZGVmaW5lIFVTRV9JQ1UgMQp8ICNkZWZpbmUgUEdfS1JCX1NSVk5BTSAicG9z dGdyZXMiCnwgI2RlZmluZSBVU0VfT1BFTlNTTCAxCnwgI2RlZmluZSBVU0VfTElCWE1MIDEKfCAj ZGVmaW5lIFVTRV9MSUJYU0xUIDEKfCAjZGVmaW5lIFNURENfSEVBREVSUyAxCnwgI2RlZmluZSBI QVZFX1NZU19UWVBFU19IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NUQVRfSCAxCnwgI2RlZmluZSBI QVZFX1NURExJQl9IIDEKfCAjZGVmaW5lIEhBVkVfU1RSSU5HX0ggMQp8ICNkZWZpbmUgSEFWRV9N RU1PUllfSCAxCnwgI2RlZmluZSBIQVZFX1NUUklOR1NfSCAxCnwgI2RlZmluZSBIQVZFX0lOVFRZ UEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERJTlRfSCAxCnwgI2RlZmluZSBIQVZFX1VOSVNURF9I IDEKfCAjZGVmaW5lIEhBVkVfTElCTSAxCnwgI2RlZmluZSBIQVZFX0xJQlogMQp8ICNkZWZpbmUg SEFWRV9TUElOTE9DS1MgMQp8ICNkZWZpbmUgSEFWRV9BVE9NSUNTIDEKfCAjZGVmaW5lIEhBVkVf U1NMX0dFVF9DVVJSRU5UX0NPTVBSRVNTSU9OIDEKfCAjZGVmaW5lIEhBVkVfWDUwOV9HRVRfU0lH TkFUVVJFX05JRCAxCnwgI2RlZmluZSBIQVZFX0NSWVBUT19MT0NLIDEKfCAjZGVmaW5lIEhBVkVf TElCWE1MMiAxCnwgI2RlZmluZSBIQVZFX0xJQlhTTFQgMQp8ICNkZWZpbmUgSEFWRV9fQk9PTCAx CnwgI2RlZmluZSBIQVZFX1NUREJPT0xfSCAxCnwgI2RlZmluZSBIQVZFX0dFVE9QVF9IIDEKfCAj ZGVmaW5lIEhBVkVfSUVFRUZQX0ggMQp8ICNkZWZpbmUgSEFWRV9VVElNRV9IIDEKfCAjZGVmaW5l IEhBVkVfV0NIQVJfSCAxCnwgI2RlZmluZSBIQVZFX1dDVFlQRV9IIDEKfCAjZGVmaW5lIEhBVkVf Q1JUREVGU19IIDEKfCAjZGVmaW5lIFBHX1BSSU5URl9BVFRSSUJVVEUgZ251X3ByaW50Zgp8ICNk ZWZpbmUgRkxFWElCTEVfQVJSQVlfTUVNQkVSIC8qKi8KfCAjZGVmaW5lIEhBVkVfRlVOQ05BTUVf X0ZVTkMgMQp8ICNkZWZpbmUgSEFWRV9fU1RBVElDX0FTU0VSVCAxCnwgI2RlZmluZSBIQVZFX1RZ UEVPRiAxCnwgI2RlZmluZSBIQVZFX19CVUlMVElOX1RZUEVTX0NPTVBBVElCTEVfUCAxCnwgI2Rl ZmluZSBIQVZFX19CVUlMVElOX0JTV0FQMTYgMQp8ICNkZWZpbmUgSEFWRV9fQlVJTFRJTl9CU1dB UDMyIDEKfCAjZGVmaW5lIEhBVkVfX0JVSUxUSU5fQlNXQVA2NCAxCnwgI2RlZmluZSBIQVZFX19C VUlMVElOX0NPTlNUQU5UX1AgMQp8ICNkZWZpbmUgSEFWRV9fQlVJTFRJTl9VTlJFQUNIQUJMRSAx CnwgI2RlZmluZSBIQVZFX0NPTVBVVEVEX0dPVE8gMQp8ICNkZWZpbmUgSEFWRV9fVkFfQVJHUyAx CnwgI2RlZmluZSBIQVZFX1RaTkFNRSAxCnwgI2RlZmluZSBIQVZFX1NUUlVDVF9TT0NLQUREUl9T VE9SQUdFIDEKfCAjZGVmaW5lIEhBVkVfU1RSVUNUX1NPQ0tBRERSX1NUT1JBR0VfU1NfRkFNSUxZ IDEKfCAjZGVmaW5lIEhBVkVfU1RSVUNUX0FERFJJTkZPIDEKfCAjZGVmaW5lIEhBVkVfSU5UUFRS X1QgMQp8ICNkZWZpbmUgSEFWRV9VSU5UUFRSX1QgMQp8ICNkZWZpbmUgSEFWRV9VTlNJR05FRF9M T05HX0xPTkdfSU5UIDEKfCAjZGVmaW5lIEhBVkVfTE9OR19MT05HX0lOVCAxCnwgI2RlZmluZSBy ZXN0cmljdCBfX3Jlc3RyaWN0CnwgI2RlZmluZSBwZ19yZXN0cmljdCBfX3Jlc3RyaWN0CnwgI2Rl ZmluZSBIQVZFX1NUUlVDVF9PUFRJT04gMQp8ICNkZWZpbmUgU0laRU9GX09GRl9UIDQKfCAjZGVm aW5lIFNJWkVPRl9CT09MIDEKfCAjZGVmaW5lIEhBVkVfSU5UX1RJTUVaT05FIDEKfCAvKiBlbmQg Y29uZmRlZnMuaC4gICovCnwgI2luY2x1ZGUgPHN5cy90eXBlcy5oPgp8ICNpbmNsdWRlIDxzeXMv c29ja2V0Lmg+CnwgZXh0ZXJuIHVuc2lnbmVkIGludCBQQVNDQUwgYWNjZXB0IChpbnQsIHZvaWQg Kiwgc29ja2xlbl90ICopOwpjb25maWd1cmU6MTQ3OTE6IHg4Nl82NC13NjQtbWluZ3czMi1nY2Mg LWMgLVdhbGwgLVdtaXNzaW5nLXByb3RvdHlwZXMgLVdwb2ludGVyLWFyaXRoIC1XZGVjbGFyYXRp b24tYWZ0ZXItc3RhdGVtZW50IC1XZW5kaWYtbGFiZWxzIC1XbWlzc2luZy1mb3JtYXQtYXR0cmli dXRlIC1XZm9ybWF0LXNlY3VyaXR5IC1mbm8tc3RyaWN0LWFsaWFzaW5nIC1md3JhcHYgLWZleGNl c3MtcHJlY2lzaW9uPXN0YW5kYXJkIC1Xbm8tZm9ybWF0LXRydW5jYXRpb24gLVduby1zdHJpbmdv cC10cnVuY2F0aW9uIC1nIC1PIC1mbm8tb21pdC1mcmFtZS1wb2ludGVyICAtSS93L1ItMy41Ll8v cG9zdGdyZXMvc3JjL2luY2x1ZGUvcG9ydC93aW4zMiAtREVYRUNfQkFDS0VORCAgLUkvdy96bGli LTEuMi44LXdpbjMyLXg4Nl82NC9pbmNsdWRlIC1JL3cvb3BlbnNzbC0xLjAuMmUtd2luMzIteDg2 XzY0L2luY2x1ZGUgLUkvdy9saWJ4bWwyLTIuOS4zLXdpbjMyLXg4Nl82NC9pbmNsdWRlL2xpYnht bDIgLUkvdy9saWJ4c2x0LTEuMS4yOC13aW4zMi14ODZfNjQvaW5jbHVkZSBjb25mdGVzdC5jID4m NQpjb25mdGVzdC5jOjc5OjI4OiBlcnJvcjogY29uZmxpY3RpbmcgdHlwZXMgZm9yICdhY2NlcHQn CiBleHRlcm4gdW5zaWduZWQgaW50IFBBU0NBTCBhY2NlcHQgKGludCwgdm9pZCAqLCB1bnNpZ25l ZCBpbnQgKik7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBefn5+fn4KSW4gZmlsZSBpbmNs dWRlZCBmcm9tIFc6L1ItMy41Ll8vcG9zdGdyZXMvc3JjL2luY2x1ZGUvcG9ydC93aW4zMi9zeXMv c29ja2V0Lmg6MTQsCiAgICAgICAgICAgICAgICAgZnJvbSBjb25mdGVzdC5jOjc4OgpDOi9tc3lz NjQvbWluZ3c2NC94ODZfNjQtdzY0LW1pbmd3MzIvaW5jbHVkZS93aW5zb2NrMi5oOjk3MzozNzog bm90ZTogcHJldmlvdXMgZGVjbGFyYXRpb24gb2YgJ2FjY2VwdCcgd2FzIGhlcmUKICAgV0lOU09D S19BUElfTElOS0FHRSBTT0NLRVQgV1NBQVBJIGFjY2VwdChTT0NLRVQgcyxzdHJ1Y3Qgc29ja2Fk ZHIgKmFkZHIsaW50ICphZGRybGVuKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIF5+fn5+fgpjb25maWd1cmU6MTQ3OTE6ICQ/ID0gMQpjb25maWd1cmU6IGZhaWxlZCBwcm9n cmFtIHdhczoKfCAvKiBjb25mZGVmcy5oICovCnwgI2RlZmluZSBQQUNLQUdFX05BTUUgIlBvc3Rn cmVTUUwiCnwgI2RlZmluZSBQQUNLQUdFX1RBUk5BTUUgInBvc3RncmVzcWwiCnwgI2RlZmluZSBQ QUNLQUdFX1ZFUlNJT04gIjExYmV0YTMiCnwgI2RlZmluZSBQQUNLQUdFX1NUUklORyAiUG9zdGdy ZVNRTCAxMWJldGEzIgp8ICNkZWZpbmUgUEFDS0FHRV9CVUdSRVBPUlQgInBnc3FsLWJ1Z3NAcG9z dGdyZXNxbC5vcmciCnwgI2RlZmluZSBQQUNLQUdFX1VSTCAiIgp8ICNkZWZpbmUgUEdfTUFKT1JW RVJTSU9OICIxMSIKfCAjZGVmaW5lIFBHX1ZFUlNJT04gIjExYmV0YTMiCnwgI2RlZmluZSBERUZf UEdQT1JUIDU0MzIKfCAjZGVmaW5lIERFRl9QR1BPUlRfU1RSICI1NDMyIgp8ICNkZWZpbmUgQkxD S1NaIDgxOTIKfCAjZGVmaW5lIFJFTFNFR19TSVpFIDEzMTA3Mgp8ICNkZWZpbmUgWExPR19CTENL U1ogODE5Mgp8ICNkZWZpbmUgVVNFX0FTU0VSVF9DSEVDS0lORyAxCnwgI2RlZmluZSBFTkFCTEVf VEhSRUFEX1NBRkVUWSAxCnwgI2RlZmluZSBVU0VfSUNVIDEKfCAjZGVmaW5lIFBHX0tSQl9TUlZO QU0gInBvc3RncmVzIgp8ICNkZWZpbmUgVVNFX09QRU5TU0wgMQp8ICNkZWZpbmUgVVNFX0xJQlhN TCAxCnwgI2RlZmluZSBVU0VfTElCWFNMVCAxCnwgI2RlZmluZSBTVERDX0hFQURFUlMgMQp8ICNk ZWZpbmUgSEFWRV9TWVNfVFlQRVNfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19TVEFUX0ggMQp8ICNk ZWZpbmUgSEFWRV9TVERMSUJfSCAxCnwgI2RlZmluZSBIQVZFX1NUUklOR19IIDEKfCAjZGVmaW5l IEhBVkVfTUVNT1JZX0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJJTkdTX0ggMQp8ICNkZWZpbmUgSEFW RV9JTlRUWVBFU19IIDEKfCAjZGVmaW5lIEhBVkVfU1RESU5UX0ggMQp8ICNkZWZpbmUgSEFWRV9V TklTVERfSCAxCnwgI2RlZmluZSBIQVZFX0xJQk0gMQp8ICNkZWZpbmUgSEFWRV9MSUJaIDEKfCAj ZGVmaW5lIEhBVkVfU1BJTkxPQ0tTIDEKfCAjZGVmaW5lIEhBVkVfQVRPTUlDUyAxCnwgI2RlZmlu ZSBIQVZFX1NTTF9HRVRfQ1VSUkVOVF9DT01QUkVTU0lPTiAxCnwgI2RlZmluZSBIQVZFX1g1MDlf R0VUX1NJR05BVFVSRV9OSUQgMQp8ICNkZWZpbmUgSEFWRV9DUllQVE9fTE9DSyAxCnwgI2RlZmlu ZSBIQVZFX0xJQlhNTDIgMQp8ICNkZWZpbmUgSEFWRV9MSUJYU0xUIDEKfCAjZGVmaW5lIEhBVkVf X0JPT0wgMQp8ICNkZWZpbmUgSEFWRV9TVERCT09MX0ggMQp8ICNkZWZpbmUgSEFWRV9HRVRPUFRf SCAxCnwgI2RlZmluZSBIQVZFX0lFRUVGUF9IIDEKfCAjZGVmaW5lIEhBVkVfVVRJTUVfSCAxCnwg I2RlZmluZSBIQVZFX1dDSEFSX0ggMQp8ICNkZWZpbmUgSEFWRV9XQ1RZUEVfSCAxCnwgI2RlZmlu ZSBIQVZFX0NSVERFRlNfSCAxCnwgI2RlZmluZSBQR19QUklOVEZfQVRUUklCVVRFIGdudV9wcmlu dGYKfCAjZGVmaW5lIEZMRVhJQkxFX0FSUkFZX01FTUJFUiAvKiovCnwgI2RlZmluZSBIQVZFX0ZV TkNOQU1FX19GVU5DIDEKfCAjZGVmaW5lIEhBVkVfX1NUQVRJQ19BU1NFUlQgMQp8ICNkZWZpbmUg SEFWRV9UWVBFT0YgMQp8ICNkZWZpbmUgSEFWRV9fQlVJTFRJTl9UWVBFU19DT01QQVRJQkxFX1Ag MQp8ICNkZWZpbmUgSEFWRV9fQlVJTFRJTl9CU1dBUDE2IDEKfCAjZGVmaW5lIEhBVkVfX0JVSUxU SU5fQlNXQVAzMiAxCnwgI2RlZmluZSBIQVZFX19CVUlMVElOX0JTV0FQNjQgMQp8ICNkZWZpbmUg SEFWRV9fQlVJTFRJTl9DT05TVEFOVF9QIDEKfCAjZGVmaW5lIEhBVkVfX0JVSUxUSU5fVU5SRUFD SEFCTEUgMQp8ICNkZWZpbmUgSEFWRV9DT01QVVRFRF9HT1RPIDEKfCAjZGVmaW5lIEhBVkVfX1ZB X0FSR1MgMQp8ICNkZWZpbmUgSEFWRV9UWk5BTUUgMQp8ICNkZWZpbmUgSEFWRV9TVFJVQ1RfU09D S0FERFJfU1RPUkFHRSAxCnwgI2RlZmluZSBIQVZFX1NUUlVDVF9TT0NLQUREUl9TVE9SQUdFX1NT X0ZBTUlMWSAxCnwgI2RlZmluZSBIQVZFX1NUUlVDVF9BRERSSU5GTyAxCnwgI2RlZmluZSBIQVZF X0lOVFBUUl9UIDEKfCAjZGVmaW5lIEhBVkVfVUlOVFBUUl9UIDEKfCAjZGVmaW5lIEhBVkVfVU5T SUdORURfTE9OR19MT05HX0lOVCAxCnwgI2RlZmluZSBIQVZFX0xPTkdfTE9OR19JTlQgMQp8ICNk ZWZpbmUgcmVzdHJpY3QgX19yZXN0cmljdAp8ICNkZWZpbmUgcGdfcmVzdHJpY3QgX19yZXN0cmlj dAp8ICNkZWZpbmUgSEFWRV9TVFJVQ1RfT1BUSU9OIDEKfCAjZGVmaW5lIFNJWkVPRl9PRkZfVCA0 CnwgI2RlZmluZSBTSVpFT0ZfQk9PTCAxCnwgI2RlZmluZSBIQVZFX0lOVF9USU1FWk9ORSAxCnwg LyogZW5kIGNvbmZkZWZzLmguICAqLwp8ICNpbmNsdWRlIDxzeXMvdHlwZXMuaD4KfCAjaW5jbHVk ZSA8c3lzL3NvY2tldC5oPgp8IGV4dGVybiB1bnNpZ25lZCBpbnQgUEFTQ0FMIGFjY2VwdCAoaW50 LCB2b2lkICosIHVuc2lnbmVkIGludCAqKTsKY29uZmlndXJlOjE0NzkxOiB4ODZfNjQtdzY0LW1p bmd3MzItZ2NjIC1jIC1XYWxsIC1XbWlzc2luZy1wcm90b3R5cGVzIC1XcG9pbnRlci1hcml0aCAt V2RlY2xhcmF0aW9uLWFmdGVyLXN0YXRlbWVudCAtV2VuZGlmLWxhYmVscyAtV21pc3NpbmctZm9y bWF0LWF0dHJpYnV0ZSAtV2Zvcm1hdC1zZWN1cml0eSAtZm5vLXN0cmljdC1hbGlhc2luZyAtZndy YXB2IC1mZXhjZXNzLXByZWNpc2lvbj1zdGFuZGFyZCAtV25vLWZvcm1hdC10cnVuY2F0aW9uIC1X bm8tc3RyaW5nb3AtdHJ1bmNhdGlvbiAtZyAtTyAtZm5vLW9taXQtZnJhbWUtcG9pbnRlciAgLUkv dy9SLTMuNS5fL3Bvc3RncmVzL3NyYy9pbmNsdWRlL3BvcnQvd2luMzIgLURFWEVDX0JBQ0tFTkQg IC1JL3cvemxpYi0xLjIuOC13aW4zMi14ODZfNjQvaW5jbHVkZSAtSS93L29wZW5zc2wtMS4wLjJl LXdpbjMyLXg4Nl82NC9pbmNsdWRlIC1JL3cvbGlieG1sMi0yLjkuMy13aW4zMi14ODZfNjQvaW5j bHVkZS9saWJ4bWwyIC1JL3cvbGlieHNsdC0xLjEuMjgtd2luMzIteDg2XzY0L2luY2x1ZGUgY29u ZnRlc3QuYyA+JjUKY29uZnRlc3QuYzo3OToyODogZXJyb3I6IGNvbmZsaWN0aW5nIHR5cGVzIGZv ciAnYWNjZXB0JwogZXh0ZXJuIHVuc2lnbmVkIGludCBQQVNDQUwgYWNjZXB0IChpbnQsIHZvaWQg Kiwgdm9pZCAqKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIF5+fn5+fgpJbiBmaWxlIGlu Y2x1ZGVkIGZyb20gVzovUi0zLjUuXy9wb3N0Z3Jlcy9zcmMvaW5jbHVkZS9wb3J0L3dpbjMyL3N5 cy9zb2NrZXQuaDoxNCwKICAgICAgICAgICAgICAgICBmcm9tIGNvbmZ0ZXN0LmM6Nzg6CkM6L21z eXM2NC9taW5ndzY0L3g4Nl82NC13NjQtbWluZ3czMi9pbmNsdWRlL3dpbnNvY2syLmg6OTczOjM3 OiBub3RlOiBwcmV2aW91cyBkZWNsYXJhdGlvbiBvZiAnYWNjZXB0JyB3YXMgaGVyZQogICBXSU5T T0NLX0FQSV9MSU5LQUdFIFNPQ0tFVCBXU0FBUEkgYWNjZXB0KFNPQ0tFVCBzLHN0cnVjdCBzb2Nr YWRkciAqYWRkcixpbnQgKmFkZHJsZW4pOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgXn5+fn5+CmNvbmZpZ3VyZToxNDc5MTogJD8gPSAxCmNvbmZpZ3VyZTogZmFpbGVkIHBy b2dyYW0gd2FzOgp8IC8qIGNvbmZkZWZzLmggKi8KfCAjZGVmaW5lIFBBQ0tBR0VfTkFNRSAiUG9z dGdyZVNRTCIKfCAjZGVmaW5lIFBBQ0tBR0VfVEFSTkFNRSAicG9zdGdyZXNxbCIKfCAjZGVmaW5l IFBBQ0tBR0VfVkVSU0lPTiAiMTFiZXRhMyIKfCAjZGVmaW5lIFBBQ0tBR0VfU1RSSU5HICJQb3N0 Z3JlU1FMIDExYmV0YTMiCnwgI2RlZmluZSBQQUNLQUdFX0JVR1JFUE9SVCAicGdzcWwtYnVnc0Bw b3N0Z3Jlc3FsLm9yZyIKfCAjZGVmaW5lIFBBQ0tBR0VfVVJMICIiCnwgI2RlZmluZSBQR19NQUpP UlZFUlNJT04gIjExIgp8ICNkZWZpbmUgUEdfVkVSU0lPTiAiMTFiZXRhMyIKfCAjZGVmaW5lIERF Rl9QR1BPUlQgNTQzMgp8ICNkZWZpbmUgREVGX1BHUE9SVF9TVFIgIjU0MzIiCnwgI2RlZmluZSBC TENLU1ogODE5Mgp8ICNkZWZpbmUgUkVMU0VHX1NJWkUgMTMxMDcyCnwgI2RlZmluZSBYTE9HX0JM Q0tTWiA4MTkyCnwgI2RlZmluZSBVU0VfQVNTRVJUX0NIRUNLSU5HIDEKfCAjZGVmaW5lIEVOQUJM RV9USFJFQURfU0FGRVRZIDEKfCAjZGVmaW5lIFVTRV9JQ1UgMQp8ICNkZWZpbmUgUEdfS1JCX1NS Vk5BTSAicG9zdGdyZXMiCnwgI2RlZmluZSBVU0VfT1BFTlNTTCAxCnwgI2RlZmluZSBVU0VfTElC WE1MIDEKfCAjZGVmaW5lIFVTRV9MSUJYU0xUIDEKfCAjZGVmaW5lIFNURENfSEVBREVSUyAxCnwg I2RlZmluZSBIQVZFX1NZU19UWVBFU19IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NUQVRfSCAxCnwg I2RlZmluZSBIQVZFX1NURExJQl9IIDEKfCAjZGVmaW5lIEhBVkVfU1RSSU5HX0ggMQp8ICNkZWZp bmUgSEFWRV9NRU1PUllfSCAxCnwgI2RlZmluZSBIQVZFX1NUUklOR1NfSCAxCnwgI2RlZmluZSBI QVZFX0lOVFRZUEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERJTlRfSCAxCnwgI2RlZmluZSBIQVZF X1VOSVNURF9IIDEKfCAjZGVmaW5lIEhBVkVfTElCTSAxCnwgI2RlZmluZSBIQVZFX0xJQlogMQp8 ICNkZWZpbmUgSEFWRV9TUElOTE9DS1MgMQp8ICNkZWZpbmUgSEFWRV9BVE9NSUNTIDEKfCAjZGVm aW5lIEhBVkVfU1NMX0dFVF9DVVJSRU5UX0NPTVBSRVNTSU9OIDEKfCAjZGVmaW5lIEhBVkVfWDUw OV9HRVRfU0lHTkFUVVJFX05JRCAxCnwgI2RlZmluZSBIQVZFX0NSWVBUT19MT0NLIDEKfCAjZGVm aW5lIEhBVkVfTElCWE1MMiAxCnwgI2RlZmluZSBIQVZFX0xJQlhTTFQgMQp8ICNkZWZpbmUgSEFW RV9fQk9PTCAxCnwgI2RlZmluZSBIQVZFX1NUREJPT0xfSCAxCnwgI2RlZmluZSBIQVZFX0dFVE9Q VF9IIDEKfCAjZGVmaW5lIEhBVkVfSUVFRUZQX0ggMQp8ICNkZWZpbmUgSEFWRV9VVElNRV9IIDEK fCAjZGVmaW5lIEhBVkVfV0NIQVJfSCAxCnwgI2RlZmluZSBIQVZFX1dDVFlQRV9IIDEKfCAjZGVm aW5lIEhBVkVfQ1JUREVGU19IIDEKfCAjZGVmaW5lIFBHX1BSSU5URl9BVFRSSUJVVEUgZ251X3By aW50Zgp8ICNkZWZpbmUgRkxFWElCTEVfQVJSQVlfTUVNQkVSIC8qKi8KfCAjZGVmaW5lIEhBVkVf RlVOQ05BTUVfX0ZVTkMgMQp8ICNkZWZpbmUgSEFWRV9fU1RBVElDX0FTU0VSVCAxCnwgI2RlZmlu ZSBIQVZFX1RZUEVPRiAxCnwgI2RlZmluZSBIQVZFX19CVUlMVElOX1RZUEVTX0NPTVBBVElCTEVf UCAxCnwgI2RlZmluZSBIQVZFX19CVUlMVElOX0JTV0FQMTYgMQp8ICNkZWZpbmUgSEFWRV9fQlVJ TFRJTl9CU1dBUDMyIDEKfCAjZGVmaW5lIEhBVkVfX0JVSUxUSU5fQlNXQVA2NCAxCnwgI2RlZmlu ZSBIQVZFX19CVUlMVElOX0NPTlNUQU5UX1AgMQp8ICNkZWZpbmUgSEFWRV9fQlVJTFRJTl9VTlJF QUNIQUJMRSAxCnwgI2RlZmluZSBIQVZFX0NPTVBVVEVEX0dPVE8gMQp8ICNkZWZpbmUgSEFWRV9f VkFfQVJHUyAxCnwgI2RlZmluZSBIQVZFX1RaTkFNRSAxCnwgI2RlZmluZSBIQVZFX1NUUlVDVF9T T0NLQUREUl9TVE9SQUdFIDEKfCAjZGVmaW5lIEhBVkVfU1RSVUNUX1NPQ0tBRERSX1NUT1JBR0Vf U1NfRkFNSUxZIDEKfCAjZGVmaW5lIEhBVkVfU1RSVUNUX0FERFJJTkZPIDEKfCAjZGVmaW5lIEhB VkVfSU5UUFRSX1QgMQp8ICNkZWZpbmUgSEFWRV9VSU5UUFRSX1QgMQp8ICNkZWZpbmUgSEFWRV9V TlNJR05FRF9MT05HX0xPTkdfSU5UIDEKfCAjZGVmaW5lIEhBVkVfTE9OR19MT05HX0lOVCAxCnwg I2RlZmluZSByZXN0cmljdCBfX3Jlc3RyaWN0CnwgI2RlZmluZSBwZ19yZXN0cmljdCBfX3Jlc3Ry aWN0CnwgI2RlZmluZSBIQVZFX1NUUlVDVF9PUFRJT04gMQp8ICNkZWZpbmUgU0laRU9GX09GRl9U IDQKfCAjZGVmaW5lIFNJWkVPRl9CT09MIDEKfCAjZGVmaW5lIEhBVkVfSU5UX1RJTUVaT05FIDEK fCAvKiBlbmQgY29uZmRlZnMuaC4gICovCnwgI2luY2x1ZGUgPHN5cy90eXBlcy5oPgp8ICNpbmNs dWRlIDxzeXMvc29ja2V0Lmg+CnwgZXh0ZXJuIHVuc2lnbmVkIGludCBQQVNDQUwgYWNjZXB0IChp bnQsIHZvaWQgKiwgdm9pZCAqKTsKY29uZmlndXJlOjE0NzkxOiB4ODZfNjQtdzY0LW1pbmd3MzIt Z2NjIC1jIC1XYWxsIC1XbWlzc2luZy1wcm90b3R5cGVzIC1XcG9pbnRlci1hcml0aCAtV2RlY2xh cmF0aW9uLWFmdGVyLXN0YXRlbWVudCAtV2VuZGlmLWxhYmVscyAtV21pc3NpbmctZm9ybWF0LWF0 dHJpYnV0ZSAtV2Zvcm1hdC1zZWN1cml0eSAtZm5vLXN0cmljdC1hbGlhc2luZyAtZndyYXB2IC1m ZXhjZXNzLXByZWNpc2lvbj1zdGFuZGFyZCAtV25vLWZvcm1hdC10cnVuY2F0aW9uIC1Xbm8tc3Ry aW5nb3AtdHJ1bmNhdGlvbiAtZyAtTyAtZm5vLW9taXQtZnJhbWUtcG9pbnRlciAgLUkvdy9SLTMu NS5fL3Bvc3RncmVzL3NyYy9pbmNsdWRlL3BvcnQvd2luMzIgLURFWEVDX0JBQ0tFTkQgIC1JL3cv emxpYi0xLjIuOC13aW4zMi14ODZfNjQvaW5jbHVkZSAtSS93L29wZW5zc2wtMS4wLjJlLXdpbjMy LXg4Nl82NC9pbmNsdWRlIC1JL3cvbGlieG1sMi0yLjkuMy13aW4zMi14ODZfNjQvaW5jbHVkZS9s aWJ4bWwyIC1JL3cvbGlieHNsdC0xLjEuMjgtd2luMzIteDg2XzY0L2luY2x1ZGUgY29uZnRlc3Qu YyA+JjUKY29uZnRlc3QuYzo3OToyODogZXJyb3I6IGNvbmZsaWN0aW5nIHR5cGVzIGZvciAnYWNj ZXB0JwogZXh0ZXJuIHVuc2lnbmVkIGludCBQQVNDQUwgYWNjZXB0ICh1bnNpZ25lZCBpbnQsIHN0 cnVjdCBzb2NrYWRkciAqLCBpbnQgKik7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBefn5+ fn4KSW4gZmlsZSBpbmNsdWRlZCBmcm9tIFc6L1ItMy41Ll8vcG9zdGdyZXMvc3JjL2luY2x1ZGUv cG9ydC93aW4zMi9zeXMvc29ja2V0Lmg6MTQsCiAgICAgICAgICAgICAgICAgZnJvbSBjb25mdGVz dC5jOjc4OgpDOi9tc3lzNjQvbWluZ3c2NC94ODZfNjQtdzY0LW1pbmd3MzIvaW5jbHVkZS93aW5z b2NrMi5oOjk3MzozNzogbm90ZTogcHJldmlvdXMgZGVjbGFyYXRpb24gb2YgJ2FjY2VwdCcgd2Fz IGhlcmUKICAgV0lOU09DS19BUElfTElOS0FHRSBTT0NLRVQgV1NBQVBJIGFjY2VwdChTT0NLRVQg cyxzdHJ1Y3Qgc29ja2FkZHIgKmFkZHIsaW50ICphZGRybGVuKTsKICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIF5+fn5+fgpjb25maWd1cmU6MTQ3OTE6ICQ/ID0gMQpjb25maWd1 cmU6IGZhaWxlZCBwcm9ncmFtIHdhczoKfCAvKiBjb25mZGVmcy5oICovCnwgI2RlZmluZSBQQUNL QUdFX05BTUUgIlBvc3RncmVTUUwiCnwgI2RlZmluZSBQQUNLQUdFX1RBUk5BTUUgInBvc3RncmVz cWwiCnwgI2RlZmluZSBQQUNLQUdFX1ZFUlNJT04gIjExYmV0YTMiCnwgI2RlZmluZSBQQUNLQUdF X1NUUklORyAiUG9zdGdyZVNRTCAxMWJldGEzIgp8ICNkZWZpbmUgUEFDS0FHRV9CVUdSRVBPUlQg InBnc3FsLWJ1Z3NAcG9zdGdyZXNxbC5vcmciCnwgI2RlZmluZSBQQUNLQUdFX1VSTCAiIgp8ICNk ZWZpbmUgUEdfTUFKT1JWRVJTSU9OICIxMSIKfCAjZGVmaW5lIFBHX1ZFUlNJT04gIjExYmV0YTMi CnwgI2RlZmluZSBERUZfUEdQT1JUIDU0MzIKfCAjZGVmaW5lIERFRl9QR1BPUlRfU1RSICI1NDMy Igp8ICNkZWZpbmUgQkxDS1NaIDgxOTIKfCAjZGVmaW5lIFJFTFNFR19TSVpFIDEzMTA3Mgp8ICNk ZWZpbmUgWExPR19CTENLU1ogODE5Mgp8ICNkZWZpbmUgVVNFX0FTU0VSVF9DSEVDS0lORyAxCnwg I2RlZmluZSBFTkFCTEVfVEhSRUFEX1NBRkVUWSAxCnwgI2RlZmluZSBVU0VfSUNVIDEKfCAjZGVm aW5lIFBHX0tSQl9TUlZOQU0gInBvc3RncmVzIgp8ICNkZWZpbmUgVVNFX09QRU5TU0wgMQp8ICNk ZWZpbmUgVVNFX0xJQlhNTCAxCnwgI2RlZmluZSBVU0VfTElCWFNMVCAxCnwgI2RlZmluZSBTVERD X0hFQURFUlMgMQp8ICNkZWZpbmUgSEFWRV9TWVNfVFlQRVNfSCAxCnwgI2RlZmluZSBIQVZFX1NZ U19TVEFUX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERMSUJfSCAxCnwgI2RlZmluZSBIQVZFX1NUUklO R19IIDEKfCAjZGVmaW5lIEhBVkVfTUVNT1JZX0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJJTkdTX0gg MQp8ICNkZWZpbmUgSEFWRV9JTlRUWVBFU19IIDEKfCAjZGVmaW5lIEhBVkVfU1RESU5UX0ggMQp8 ICNkZWZpbmUgSEFWRV9VTklTVERfSCAxCnwgI2RlZmluZSBIQVZFX0xJQk0gMQp8ICNkZWZpbmUg SEFWRV9MSUJaIDEKfCAjZGVmaW5lIEhBVkVfU1BJTkxPQ0tTIDEKfCAjZGVmaW5lIEhBVkVfQVRP TUlDUyAxCnwgI2RlZmluZSBIQVZFX1NTTF9HRVRfQ1VSUkVOVF9DT01QUkVTU0lPTiAxCnwgI2Rl ZmluZSBIQVZFX1g1MDlfR0VUX1NJR05BVFVSRV9OSUQgMQp8ICNkZWZpbmUgSEFWRV9DUllQVE9f TE9DSyAxCnwgI2RlZmluZSBIQVZFX0xJQlhNTDIgMQp8ICNkZWZpbmUgSEFWRV9MSUJYU0xUIDEK fCAjZGVmaW5lIEhBVkVfX0JPT0wgMQp8ICNkZWZpbmUgSEFWRV9TVERCT09MX0ggMQp8ICNkZWZp bmUgSEFWRV9HRVRPUFRfSCAxCnwgI2RlZmluZSBIQVZFX0lFRUVGUF9IIDEKfCAjZGVmaW5lIEhB VkVfVVRJTUVfSCAxCnwgI2RlZmluZSBIQVZFX1dDSEFSX0ggMQp8ICNkZWZpbmUgSEFWRV9XQ1RZ UEVfSCAxCnwgI2RlZmluZSBIQVZFX0NSVERFRlNfSCAxCnwgI2RlZmluZSBQR19QUklOVEZfQVRU UklCVVRFIGdudV9wcmludGYKfCAjZGVmaW5lIEZMRVhJQkxFX0FSUkFZX01FTUJFUiAvKiovCnwg I2RlZmluZSBIQVZFX0ZVTkNOQU1FX19GVU5DIDEKfCAjZGVmaW5lIEhBVkVfX1NUQVRJQ19BU1NF UlQgMQp8ICNkZWZpbmUgSEFWRV9UWVBFT0YgMQp8ICNkZWZpbmUgSEFWRV9fQlVJTFRJTl9UWVBF U19DT01QQVRJQkxFX1AgMQp8ICNkZWZpbmUgSEFWRV9fQlVJTFRJTl9CU1dBUDE2IDEKfCAjZGVm aW5lIEhBVkVfX0JVSUxUSU5fQlNXQVAzMiAxCnwgI2RlZmluZSBIQVZFX19CVUlMVElOX0JTV0FQ NjQgMQp8ICNkZWZpbmUgSEFWRV9fQlVJTFRJTl9DT05TVEFOVF9QIDEKfCAjZGVmaW5lIEhBVkVf X0JVSUxUSU5fVU5SRUFDSEFCTEUgMQp8ICNkZWZpbmUgSEFWRV9DT01QVVRFRF9HT1RPIDEKfCAj ZGVmaW5lIEhBVkVfX1ZBX0FSR1MgMQp8ICNkZWZpbmUgSEFWRV9UWk5BTUUgMQp8ICNkZWZpbmUg SEFWRV9TVFJVQ1RfU09DS0FERFJfU1RPUkFHRSAxCnwgI2RlZmluZSBIQVZFX1NUUlVDVF9TT0NL QUREUl9TVE9SQUdFX1NTX0ZBTUlMWSAxCnwgI2RlZmluZSBIQVZFX1NUUlVDVF9BRERSSU5GTyAx CnwgI2RlZmluZSBIQVZFX0lOVFBUUl9UIDEKfCAjZGVmaW5lIEhBVkVfVUlOVFBUUl9UIDEKfCAj ZGVmaW5lIEhBVkVfVU5TSUdORURfTE9OR19MT05HX0lOVCAxCnwgI2RlZmluZSBIQVZFX0xPTkdf TE9OR19JTlQgMQp8ICNkZWZpbmUgcmVzdHJpY3QgX19yZXN0cmljdAp8ICNkZWZpbmUgcGdfcmVz dHJpY3QgX19yZXN0cmljdAp8ICNkZWZpbmUgSEFWRV9TVFJVQ1RfT1BUSU9OIDEKfCAjZGVmaW5l IFNJWkVPRl9PRkZfVCA0CnwgI2RlZmluZSBTSVpFT0ZfQk9PTCAxCnwgI2RlZmluZSBIQVZFX0lO VF9USU1FWk9ORSAxCnwgLyogZW5kIGNvbmZkZWZzLmguICAqLwp8ICNpbmNsdWRlIDxzeXMvdHlw ZXMuaD4KfCAjaW5jbHVkZSA8c3lzL3NvY2tldC5oPgp8IGV4dGVybiB1bnNpZ25lZCBpbnQgUEFT Q0FMIGFjY2VwdCAodW5zaWduZWQgaW50LCBzdHJ1Y3Qgc29ja2FkZHIgKiwgaW50ICopOwpjb25m aWd1cmU6MTQ3OTE6IHg4Nl82NC13NjQtbWluZ3czMi1nY2MgLWMgLVdhbGwgLVdtaXNzaW5nLXBy b3RvdHlwZXMgLVdwb2ludGVyLWFyaXRoIC1XZGVjbGFyYXRpb24tYWZ0ZXItc3RhdGVtZW50IC1X ZW5kaWYtbGFiZWxzIC1XbWlzc2luZy1mb3JtYXQtYXR0cmlidXRlIC1XZm9ybWF0LXNlY3VyaXR5 IC1mbm8tc3RyaWN0LWFsaWFzaW5nIC1md3JhcHYgLWZleGNlc3MtcHJlY2lzaW9uPXN0YW5kYXJk IC1Xbm8tZm9ybWF0LXRydW5jYXRpb24gLVduby1zdHJpbmdvcC10cnVuY2F0aW9uIC1nIC1PIC1m bm8tb21pdC1mcmFtZS1wb2ludGVyICAtSS93L1ItMy41Ll8vcG9zdGdyZXMvc3JjL2luY2x1ZGUv cG9ydC93aW4zMiAtREVYRUNfQkFDS0VORCAgLUkvdy96bGliLTEuMi44LXdpbjMyLXg4Nl82NC9p bmNsdWRlIC1JL3cvb3BlbnNzbC0xLjAuMmUtd2luMzIteDg2XzY0L2luY2x1ZGUgLUkvdy9saWJ4 bWwyLTIuOS4zLXdpbjMyLXg4Nl82NC9pbmNsdWRlL2xpYnhtbDIgLUkvdy9saWJ4c2x0LTEuMS4y OC13aW4zMi14ODZfNjQvaW5jbHVkZSBjb25mdGVzdC5jID4mNQpjb25mdGVzdC5jOjc5OjI4OiBl cnJvcjogY29uZmxpY3RpbmcgdHlwZXMgZm9yICdhY2NlcHQnCiBleHRlcm4gdW5zaWduZWQgaW50 IFBBU0NBTCBhY2NlcHQgKHVuc2lnbmVkIGludCwgc3RydWN0IHNvY2thZGRyICosIHNpemVfdCAq KTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIF5+fn5+fgpJbiBmaWxlIGluY2x1ZGVkIGZy b20gVzovUi0zLjUuXy9wb3N0Z3Jlcy9zcmMvaW5jbHVkZS9wb3J0L3dpbjMyL3N5cy9zb2NrZXQu aDoxNCwKICAgICAgICAgICAgICAgICBmcm9tIGNvbmZ0ZXN0LmM6Nzg6CkM6L21zeXM2NC9taW5n dzY0L3g4Nl82NC13NjQtbWluZ3czMi9pbmNsdWRlL3dpbnNvY2syLmg6OTczOjM3OiBub3RlOiBw cmV2aW91cyBkZWNsYXJhdGlvbiBvZiAnYWNjZXB0JyB3YXMgaGVyZQogICBXSU5TT0NLX0FQSV9M SU5LQUdFIFNPQ0tFVCBXU0FBUEkgYWNjZXB0KFNPQ0tFVCBzLHN0cnVjdCBzb2NrYWRkciAqYWRk cixpbnQgKmFkZHJsZW4pOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXn5+ fn5+CmNvbmZpZ3VyZToxNDc5MTogJD8gPSAxCmNvbmZpZ3VyZTogZmFpbGVkIHByb2dyYW0gd2Fz Ogp8IC8qIGNvbmZkZWZzLmggKi8KfCAjZGVmaW5lIFBBQ0tBR0VfTkFNRSAiUG9zdGdyZVNRTCIK fCAjZGVmaW5lIFBBQ0tBR0VfVEFSTkFNRSAicG9zdGdyZXNxbCIKfCAjZGVmaW5lIFBBQ0tBR0Vf VkVSU0lPTiAiMTFiZXRhMyIKfCAjZGVmaW5lIFBBQ0tBR0VfU1RSSU5HICJQb3N0Z3JlU1FMIDEx YmV0YTMiCnwgI2RlZmluZSBQQUNLQUdFX0JVR1JFUE9SVCAicGdzcWwtYnVnc0Bwb3N0Z3Jlc3Fs Lm9yZyIKfCAjZGVmaW5lIFBBQ0tBR0VfVVJMICIiCnwgI2RlZmluZSBQR19NQUpPUlZFUlNJT04g IjExIgp8ICNkZWZpbmUgUEdfVkVSU0lPTiAiMTFiZXRhMyIKfCAjZGVmaW5lIERFRl9QR1BPUlQg NTQzMgp8ICNkZWZpbmUgREVGX1BHUE9SVF9TVFIgIjU0MzIiCnwgI2RlZmluZSBCTENLU1ogODE5 Mgp8ICNkZWZpbmUgUkVMU0VHX1NJWkUgMTMxMDcyCnwgI2RlZmluZSBYTE9HX0JMQ0tTWiA4MTky CnwgI2RlZmluZSBVU0VfQVNTRVJUX0NIRUNLSU5HIDEKfCAjZGVmaW5lIEVOQUJMRV9USFJFQURf U0FGRVRZIDEKfCAjZGVmaW5lIFVTRV9JQ1UgMQp8ICNkZWZpbmUgUEdfS1JCX1NSVk5BTSAicG9z dGdyZXMiCnwgI2RlZmluZSBVU0VfT1BFTlNTTCAxCnwgI2RlZmluZSBVU0VfTElCWE1MIDEKfCAj ZGVmaW5lIFVTRV9MSUJYU0xUIDEKfCAjZGVmaW5lIFNURENfSEVBREVSUyAxCnwgI2RlZmluZSBI QVZFX1NZU19UWVBFU19IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NUQVRfSCAxCnwgI2RlZmluZSBI QVZFX1NURExJQl9IIDEKfCAjZGVmaW5lIEhBVkVfU1RSSU5HX0ggMQp8ICNkZWZpbmUgSEFWRV9N RU1PUllfSCAxCnwgI2RlZmluZSBIQVZFX1NUUklOR1NfSCAxCnwgI2RlZmluZSBIQVZFX0lOVFRZ UEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERJTlRfSCAxCnwgI2RlZmluZSBIQVZFX1VOSVNURF9I IDEKfCAjZGVmaW5lIEhBVkVfTElCTSAxCnwgI2RlZmluZSBIQVZFX0xJQlogMQp8ICNkZWZpbmUg SEFWRV9TUElOTE9DS1MgMQp8ICNkZWZpbmUgSEFWRV9BVE9NSUNTIDEKfCAjZGVmaW5lIEhBVkVf U1NMX0dFVF9DVVJSRU5UX0NPTVBSRVNTSU9OIDEKfCAjZGVmaW5lIEhBVkVfWDUwOV9HRVRfU0lH TkFUVVJFX05JRCAxCnwgI2RlZmluZSBIQVZFX0NSWVBUT19MT0NLIDEKfCAjZGVmaW5lIEhBVkVf TElCWE1MMiAxCnwgI2RlZmluZSBIQVZFX0xJQlhTTFQgMQp8ICNkZWZpbmUgSEFWRV9fQk9PTCAx CnwgI2RlZmluZSBIQVZFX1NUREJPT0xfSCAxCnwgI2RlZmluZSBIQVZFX0dFVE9QVF9IIDEKfCAj ZGVmaW5lIEhBVkVfSUVFRUZQX0ggMQp8ICNkZWZpbmUgSEFWRV9VVElNRV9IIDEKfCAjZGVmaW5l IEhBVkVfV0NIQVJfSCAxCnwgI2RlZmluZSBIQVZFX1dDVFlQRV9IIDEKfCAjZGVmaW5lIEhBVkVf Q1JUREVGU19IIDEKfCAjZGVmaW5lIFBHX1BSSU5URl9BVFRSSUJVVEUgZ251X3ByaW50Zgp8ICNk ZWZpbmUgRkxFWElCTEVfQVJSQVlfTUVNQkVSIC8qKi8KfCAjZGVmaW5lIEhBVkVfRlVOQ05BTUVf X0ZVTkMgMQp8ICNkZWZpbmUgSEFWRV9fU1RBVElDX0FTU0VSVCAxCnwgI2RlZmluZSBIQVZFX1RZ UEVPRiAxCnwgI2RlZmluZSBIQVZFX19CVUlMVElOX1RZUEVTX0NPTVBBVElCTEVfUCAxCnwgI2Rl ZmluZSBIQVZFX19CVUlMVElOX0JTV0FQMTYgMQp8ICNkZWZpbmUgSEFWRV9fQlVJTFRJTl9CU1dB UDMyIDEKfCAjZGVmaW5lIEhBVkVfX0JVSUxUSU5fQlNXQVA2NCAxCnwgI2RlZmluZSBIQVZFX19C VUlMVElOX0NPTlNUQU5UX1AgMQp8ICNkZWZpbmUgSEFWRV9fQlVJTFRJTl9VTlJFQUNIQUJMRSAx CnwgI2RlZmluZSBIQVZFX0NPTVBVVEVEX0dPVE8gMQp8ICNkZWZpbmUgSEFWRV9fVkFfQVJHUyAx CnwgI2RlZmluZSBIQVZFX1RaTkFNRSAxCnwgI2RlZmluZSBIQVZFX1NUUlVDVF9TT0NLQUREUl9T VE9SQUdFIDEKfCAjZGVmaW5lIEhBVkVfU1RSVUNUX1NPQ0tBRERSX1NUT1JBR0VfU1NfRkFNSUxZ IDEKfCAjZGVmaW5lIEhBVkVfU1RSVUNUX0FERFJJTkZPIDEKfCAjZGVmaW5lIEhBVkVfSU5UUFRS X1QgMQp8ICNkZWZpbmUgSEFWRV9VSU5UUFRSX1QgMQp8ICNkZWZpbmUgSEFWRV9VTlNJR05FRF9M T05HX0xPTkdfSU5UIDEKfCAjZGVmaW5lIEhBVkVfTE9OR19MT05HX0lOVCAxCnwgI2RlZmluZSBy ZXN0cmljdCBfX3Jlc3RyaWN0CnwgI2RlZmluZSBwZ19yZXN0cmljdCBfX3Jlc3RyaWN0CnwgI2Rl ZmluZSBIQVZFX1NUUlVDVF9PUFRJT04gMQp8ICNkZWZpbmUgU0laRU9GX09GRl9UIDQKfCAjZGVm aW5lIFNJWkVPRl9CT09MIDEKfCAjZGVmaW5lIEhBVkVfSU5UX1RJTUVaT05FIDEKfCAvKiBlbmQg Y29uZmRlZnMuaC4gICovCnwgI2luY2x1ZGUgPHN5cy90eXBlcy5oPgp8ICNpbmNsdWRlIDxzeXMv c29ja2V0Lmg+CnwgZXh0ZXJuIHVuc2lnbmVkIGludCBQQVNDQUwgYWNjZXB0ICh1bnNpZ25lZCBp bnQsIHN0cnVjdCBzb2NrYWRkciAqLCBzaXplX3QgKik7CmNvbmZpZ3VyZToxNDc5MTogeDg2XzY0 LXc2NC1taW5ndzMyLWdjYyAtYyAtV2FsbCAtV21pc3NpbmctcHJvdG90eXBlcyAtV3BvaW50ZXIt YXJpdGggLVdkZWNsYXJhdGlvbi1hZnRlci1zdGF0ZW1lbnQgLVdlbmRpZi1sYWJlbHMgLVdtaXNz aW5nLWZvcm1hdC1hdHRyaWJ1dGUgLVdmb3JtYXQtc2VjdXJpdHkgLWZuby1zdHJpY3QtYWxpYXNp bmcgLWZ3cmFwdiAtZmV4Y2Vzcy1wcmVjaXNpb249c3RhbmRhcmQgLVduby1mb3JtYXQtdHJ1bmNh dGlvbiAtV25vLXN0cmluZ29wLXRydW5jYXRpb24gLWcgLU8gLWZuby1vbWl0LWZyYW1lLXBvaW50 ZXIgIC1JL3cvUi0zLjUuXy9wb3N0Z3Jlcy9zcmMvaW5jbHVkZS9wb3J0L3dpbjMyIC1ERVhFQ19C QUNLRU5EICAtSS93L3psaWItMS4yLjgtd2luMzIteDg2XzY0L2luY2x1ZGUgLUkvdy9vcGVuc3Ns LTEuMC4yZS13aW4zMi14ODZfNjQvaW5jbHVkZSAtSS93L2xpYnhtbDItMi45LjMtd2luMzIteDg2 XzY0L2luY2x1ZGUvbGlieG1sMiAtSS93L2xpYnhzbHQtMS4xLjI4LXdpbjMyLXg4Nl82NC9pbmNs dWRlIGNvbmZ0ZXN0LmMgPiY1CmNvbmZ0ZXN0LmM6Nzk6Mjg6IGVycm9yOiBjb25mbGljdGluZyB0 eXBlcyBmb3IgJ2FjY2VwdCcKIGV4dGVybiB1bnNpZ25lZCBpbnQgUEFTQ0FMIGFjY2VwdCAodW5z aWduZWQgaW50LCBzdHJ1Y3Qgc29ja2FkZHIgKiwgc29ja2xlbl90ICopOwogICAgICAgICAgICAg ICAgICAgICAgICAgICAgXn5+fn5+CkluIGZpbGUgaW5jbHVkZWQgZnJvbSBXOi9SLTMuNS5fL3Bv c3RncmVzL3NyYy9pbmNsdWRlL3BvcnQvd2luMzIvc3lzL3NvY2tldC5oOjE0LAogICAgICAgICAg ICAgICAgIGZyb20gY29uZnRlc3QuYzo3ODoKQzovbXN5czY0L21pbmd3NjQveDg2XzY0LXc2NC1t aW5ndzMyL2luY2x1ZGUvd2luc29jazIuaDo5NzM6Mzc6IG5vdGU6IHByZXZpb3VzIGRlY2xhcmF0 aW9uIG9mICdhY2NlcHQnIHdhcyBoZXJlCiAgIFdJTlNPQ0tfQVBJX0xJTktBR0UgU09DS0VUIFdT QUFQSSBhY2NlcHQoU09DS0VUIHMsc3RydWN0IHNvY2thZGRyICphZGRyLGludCAqYWRkcmxlbik7 CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBefn5+fn4KY29uZmlndXJlOjE0 NzkxOiAkPyA9IDEKY29uZmlndXJlOiBmYWlsZWQgcHJvZ3JhbSB3YXM6CnwgLyogY29uZmRlZnMu aCAqLwp8ICNkZWZpbmUgUEFDS0FHRV9OQU1FICJQb3N0Z3JlU1FMIgp8ICNkZWZpbmUgUEFDS0FH RV9UQVJOQU1FICJwb3N0Z3Jlc3FsIgp8ICNkZWZpbmUgUEFDS0FHRV9WRVJTSU9OICIxMWJldGEz Igp8ICNkZWZpbmUgUEFDS0FHRV9TVFJJTkcgIlBvc3RncmVTUUwgMTFiZXRhMyIKfCAjZGVmaW5l IFBBQ0tBR0VfQlVHUkVQT1JUICJwZ3NxbC1idWdzQHBvc3RncmVzcWwub3JnIgp8ICNkZWZpbmUg UEFDS0FHRV9VUkwgIiIKfCAjZGVmaW5lIFBHX01BSk9SVkVSU0lPTiAiMTEiCnwgI2RlZmluZSBQ R19WRVJTSU9OICIxMWJldGEzIgp8ICNkZWZpbmUgREVGX1BHUE9SVCA1NDMyCnwgI2RlZmluZSBE RUZfUEdQT1JUX1NUUiAiNTQzMiIKfCAjZGVmaW5lIEJMQ0tTWiA4MTkyCnwgI2RlZmluZSBSRUxT RUdfU0laRSAxMzEwNzIKfCAjZGVmaW5lIFhMT0dfQkxDS1NaIDgxOTIKfCAjZGVmaW5lIFVTRV9B U1NFUlRfQ0hFQ0tJTkcgMQp8ICNkZWZpbmUgRU5BQkxFX1RIUkVBRF9TQUZFVFkgMQp8ICNkZWZp bmUgVVNFX0lDVSAxCnwgI2RlZmluZSBQR19LUkJfU1JWTkFNICJwb3N0Z3JlcyIKfCAjZGVmaW5l IFVTRV9PUEVOU1NMIDEKfCAjZGVmaW5lIFVTRV9MSUJYTUwgMQp8ICNkZWZpbmUgVVNFX0xJQlhT TFQgMQp8ICNkZWZpbmUgU1REQ19IRUFERVJTIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1RZUEVTX0gg MQp8ICNkZWZpbmUgSEFWRV9TWVNfU1RBVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1RETElCX0ggMQp8 ICNkZWZpbmUgSEFWRV9TVFJJTkdfSCAxCnwgI2RlZmluZSBIQVZFX01FTU9SWV9IIDEKfCAjZGVm aW5lIEhBVkVfU1RSSU5HU19IIDEKfCAjZGVmaW5lIEhBVkVfSU5UVFlQRVNfSCAxCnwgI2RlZmlu ZSBIQVZFX1NURElOVF9IIDEKfCAjZGVmaW5lIEhBVkVfVU5JU1REX0ggMQp8ICNkZWZpbmUgSEFW RV9MSUJNIDEKfCAjZGVmaW5lIEhBVkVfTElCWiAxCnwgI2RlZmluZSBIQVZFX1NQSU5MT0NLUyAx CnwgI2RlZmluZSBIQVZFX0FUT01JQ1MgMQp8ICNkZWZpbmUgSEFWRV9TU0xfR0VUX0NVUlJFTlRf Q09NUFJFU1NJT04gMQp8ICNkZWZpbmUgSEFWRV9YNTA5X0dFVF9TSUdOQVRVUkVfTklEIDEKfCAj ZGVmaW5lIEhBVkVfQ1JZUFRPX0xPQ0sgMQp8ICNkZWZpbmUgSEFWRV9MSUJYTUwyIDEKfCAjZGVm aW5lIEhBVkVfTElCWFNMVCAxCnwgI2RlZmluZSBIQVZFX19CT09MIDEKfCAjZGVmaW5lIEhBVkVf U1REQk9PTF9IIDEKfCAjZGVmaW5lIEhBVkVfR0VUT1BUX0ggMQp8ICNkZWZpbmUgSEFWRV9JRUVF RlBfSCAxCnwgI2RlZmluZSBIQVZFX1VUSU1FX0ggMQp8ICNkZWZpbmUgSEFWRV9XQ0hBUl9IIDEK fCAjZGVmaW5lIEhBVkVfV0NUWVBFX0ggMQp8ICNkZWZpbmUgSEFWRV9DUlRERUZTX0ggMQp8ICNk ZWZpbmUgUEdfUFJJTlRGX0FUVFJJQlVURSBnbnVfcHJpbnRmCnwgI2RlZmluZSBGTEVYSUJMRV9B UlJBWV9NRU1CRVIgLyoqLwp8ICNkZWZpbmUgSEFWRV9GVU5DTkFNRV9fRlVOQyAxCnwgI2RlZmlu ZSBIQVZFX19TVEFUSUNfQVNTRVJUIDEKfCAjZGVmaW5lIEhBVkVfVFlQRU9GIDEKfCAjZGVmaW5l IEhBVkVfX0JVSUxUSU5fVFlQRVNfQ09NUEFUSUJMRV9QIDEKfCAjZGVmaW5lIEhBVkVfX0JVSUxU SU5fQlNXQVAxNiAxCnwgI2RlZmluZSBIQVZFX19CVUlMVElOX0JTV0FQMzIgMQp8ICNkZWZpbmUg SEFWRV9fQlVJTFRJTl9CU1dBUDY0IDEKfCAjZGVmaW5lIEhBVkVfX0JVSUxUSU5fQ09OU1RBTlRf UCAxCnwgI2RlZmluZSBIQVZFX19CVUlMVElOX1VOUkVBQ0hBQkxFIDEKfCAjZGVmaW5lIEhBVkVf Q09NUFVURURfR09UTyAxCnwgI2RlZmluZSBIQVZFX19WQV9BUkdTIDEKfCAjZGVmaW5lIEhBVkVf VFpOQU1FIDEKfCAjZGVmaW5lIEhBVkVfU1RSVUNUX1NPQ0tBRERSX1NUT1JBR0UgMQp8ICNkZWZp bmUgSEFWRV9TVFJVQ1RfU09DS0FERFJfU1RPUkFHRV9TU19GQU1JTFkgMQp8ICNkZWZpbmUgSEFW RV9TVFJVQ1RfQUREUklORk8gMQp8ICNkZWZpbmUgSEFWRV9JTlRQVFJfVCAxCnwgI2RlZmluZSBI QVZFX1VJTlRQVFJfVCAxCnwgI2RlZmluZSBIQVZFX1VOU0lHTkVEX0xPTkdfTE9OR19JTlQgMQp8 ICNkZWZpbmUgSEFWRV9MT05HX0xPTkdfSU5UIDEKfCAjZGVmaW5lIHJlc3RyaWN0IF9fcmVzdHJp Y3QKfCAjZGVmaW5lIHBnX3Jlc3RyaWN0IF9fcmVzdHJpY3QKfCAjZGVmaW5lIEhBVkVfU1RSVUNU X09QVElPTiAxCnwgI2RlZmluZSBTSVpFT0ZfT0ZGX1QgNAp8ICNkZWZpbmUgU0laRU9GX0JPT0wg MQp8ICNkZWZpbmUgSEFWRV9JTlRfVElNRVpPTkUgMQp8IC8qIGVuZCBjb25mZGVmcy5oLiAgKi8K fCAjaW5jbHVkZSA8c3lzL3R5cGVzLmg+CnwgI2luY2x1ZGUgPHN5cy9zb2NrZXQuaD4KfCBleHRl cm4gdW5zaWduZWQgaW50IFBBU0NBTCBhY2NlcHQgKHVuc2lnbmVkIGludCwgc3RydWN0IHNvY2th ZGRyICosIHNvY2tsZW5fdCAqKTsKY29uZmlndXJlOjE0NzkxOiB4ODZfNjQtdzY0LW1pbmd3MzIt Z2NjIC1jIC1XYWxsIC1XbWlzc2luZy1wcm90b3R5cGVzIC1XcG9pbnRlci1hcml0aCAtV2RlY2xh cmF0aW9uLWFmdGVyLXN0YXRlbWVudCAtV2VuZGlmLWxhYmVscyAtV21pc3NpbmctZm9ybWF0LWF0 dHJpYnV0ZSAtV2Zvcm1hdC1zZWN1cml0eSAtZm5vLXN0cmljdC1hbGlhc2luZyAtZndyYXB2IC1m ZXhjZXNzLXByZWNpc2lvbj1zdGFuZGFyZCAtV25vLWZvcm1hdC10cnVuY2F0aW9uIC1Xbm8tc3Ry aW5nb3AtdHJ1bmNhdGlvbiAtZyAtTyAtZm5vLW9taXQtZnJhbWUtcG9pbnRlciAgLUkvdy9SLTMu NS5fL3Bvc3RncmVzL3NyYy9pbmNsdWRlL3BvcnQvd2luMzIgLURFWEVDX0JBQ0tFTkQgIC1JL3cv emxpYi0xLjIuOC13aW4zMi14ODZfNjQvaW5jbHVkZSAtSS93L29wZW5zc2wtMS4wLjJlLXdpbjMy LXg4Nl82NC9pbmNsdWRlIC1JL3cvbGlieG1sMi0yLjkuMy13aW4zMi14ODZfNjQvaW5jbHVkZS9s aWJ4bWwyIC1JL3cvbGlieHNsdC0xLjEuMjgtd2luMzIteDg2XzY0L2luY2x1ZGUgY29uZnRlc3Qu YyA+JjUKY29uZnRlc3QuYzo3OToyODogZXJyb3I6IGNvbmZsaWN0aW5nIHR5cGVzIGZvciAnYWNj ZXB0JwogZXh0ZXJuIHVuc2lnbmVkIGludCBQQVNDQUwgYWNjZXB0ICh1bnNpZ25lZCBpbnQsIHN0 cnVjdCBzb2NrYWRkciAqLCB1bnNpZ25lZCBpbnQgKik7CiAgICAgICAgICAgICAgICAgICAgICAg ICAgICBefn5+fn4KSW4gZmlsZSBpbmNsdWRlZCBmcm9tIFc6L1ItMy41Ll8vcG9zdGdyZXMvc3Jj L2luY2x1ZGUvcG9ydC93aW4zMi9zeXMvc29ja2V0Lmg6MTQsCiAgICAgICAgICAgICAgICAgZnJv bSBjb25mdGVzdC5jOjc4OgpDOi9tc3lzNjQvbWluZ3c2NC94ODZfNjQtdzY0LW1pbmd3MzIvaW5j bHVkZS93aW5zb2NrMi5oOjk3MzozNzogbm90ZTogcHJldmlvdXMgZGVjbGFyYXRpb24gb2YgJ2Fj Y2VwdCcgd2FzIGhlcmUKICAgV0lOU09DS19BUElfTElOS0FHRSBTT0NLRVQgV1NBQVBJIGFjY2Vw dChTT0NLRVQgcyxzdHJ1Y3Qgc29ja2FkZHIgKmFkZHIsaW50ICphZGRybGVuKTsKICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIF5+fn5+fgpjb25maWd1cmU6MTQ3OTE6ICQ/ID0g MQpjb25maWd1cmU6IGZhaWxlZCBwcm9ncmFtIHdhczoKfCAvKiBjb25mZGVmcy5oICovCnwgI2Rl ZmluZSBQQUNLQUdFX05BTUUgIlBvc3RncmVTUUwiCnwgI2RlZmluZSBQQUNLQUdFX1RBUk5BTUUg InBvc3RncmVzcWwiCnwgI2RlZmluZSBQQUNLQUdFX1ZFUlNJT04gIjExYmV0YTMiCnwgI2RlZmlu ZSBQQUNLQUdFX1NUUklORyAiUG9zdGdyZVNRTCAxMWJldGEzIgp8ICNkZWZpbmUgUEFDS0FHRV9C VUdSRVBPUlQgInBnc3FsLWJ1Z3NAcG9zdGdyZXNxbC5vcmciCnwgI2RlZmluZSBQQUNLQUdFX1VS TCAiIgp8ICNkZWZpbmUgUEdfTUFKT1JWRVJTSU9OICIxMSIKfCAjZGVmaW5lIFBHX1ZFUlNJT04g IjExYmV0YTMiCnwgI2RlZmluZSBERUZfUEdQT1JUIDU0MzIKfCAjZGVmaW5lIERFRl9QR1BPUlRf U1RSICI1NDMyIgp8ICNkZWZpbmUgQkxDS1NaIDgxOTIKfCAjZGVmaW5lIFJFTFNFR19TSVpFIDEz MTA3Mgp8ICNkZWZpbmUgWExPR19CTENLU1ogODE5Mgp8ICNkZWZpbmUgVVNFX0FTU0VSVF9DSEVD S0lORyAxCnwgI2RlZmluZSBFTkFCTEVfVEhSRUFEX1NBRkVUWSAxCnwgI2RlZmluZSBVU0VfSUNV IDEKfCAjZGVmaW5lIFBHX0tSQl9TUlZOQU0gInBvc3RncmVzIgp8ICNkZWZpbmUgVVNFX09QRU5T U0wgMQp8ICNkZWZpbmUgVVNFX0xJQlhNTCAxCnwgI2RlZmluZSBVU0VfTElCWFNMVCAxCnwgI2Rl ZmluZSBTVERDX0hFQURFUlMgMQp8ICNkZWZpbmUgSEFWRV9TWVNfVFlQRVNfSCAxCnwgI2RlZmlu ZSBIQVZFX1NZU19TVEFUX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERMSUJfSCAxCnwgI2RlZmluZSBI QVZFX1NUUklOR19IIDEKfCAjZGVmaW5lIEhBVkVfTUVNT1JZX0ggMQp8ICNkZWZpbmUgSEFWRV9T VFJJTkdTX0ggMQp8ICNkZWZpbmUgSEFWRV9JTlRUWVBFU19IIDEKfCAjZGVmaW5lIEhBVkVfU1RE SU5UX0ggMQp8ICNkZWZpbmUgSEFWRV9VTklTVERfSCAxCnwgI2RlZmluZSBIQVZFX0xJQk0gMQp8 ICNkZWZpbmUgSEFWRV9MSUJaIDEKfCAjZGVmaW5lIEhBVkVfU1BJTkxPQ0tTIDEKfCAjZGVmaW5l IEhBVkVfQVRPTUlDUyAxCnwgI2RlZmluZSBIQVZFX1NTTF9HRVRfQ1VSUkVOVF9DT01QUkVTU0lP TiAxCnwgI2RlZmluZSBIQVZFX1g1MDlfR0VUX1NJR05BVFVSRV9OSUQgMQp8ICNkZWZpbmUgSEFW RV9DUllQVE9fTE9DSyAxCnwgI2RlZmluZSBIQVZFX0xJQlhNTDIgMQp8ICNkZWZpbmUgSEFWRV9M SUJYU0xUIDEKfCAjZGVmaW5lIEhBVkVfX0JPT0wgMQp8ICNkZWZpbmUgSEFWRV9TVERCT09MX0gg MQp8ICNkZWZpbmUgSEFWRV9HRVRPUFRfSCAxCnwgI2RlZmluZSBIQVZFX0lFRUVGUF9IIDEKfCAj ZGVmaW5lIEhBVkVfVVRJTUVfSCAxCnwgI2RlZmluZSBIQVZFX1dDSEFSX0ggMQp8ICNkZWZpbmUg SEFWRV9XQ1RZUEVfSCAxCnwgI2RlZmluZSBIQVZFX0NSVERFRlNfSCAxCnwgI2RlZmluZSBQR19Q UklOVEZfQVRUUklCVVRFIGdudV9wcmludGYKfCAjZGVmaW5lIEZMRVhJQkxFX0FSUkFZX01FTUJF UiAvKiovCnwgI2RlZmluZSBIQVZFX0ZVTkNOQU1FX19GVU5DIDEKfCAjZGVmaW5lIEhBVkVfX1NU QVRJQ19BU1NFUlQgMQp8ICNkZWZpbmUgSEFWRV9UWVBFT0YgMQp8ICNkZWZpbmUgSEFWRV9fQlVJ TFRJTl9UWVBFU19DT01QQVRJQkxFX1AgMQp8ICNkZWZpbmUgSEFWRV9fQlVJTFRJTl9CU1dBUDE2 IDEKfCAjZGVmaW5lIEhBVkVfX0JVSUxUSU5fQlNXQVAzMiAxCnwgI2RlZmluZSBIQVZFX19CVUlM VElOX0JTV0FQNjQgMQp8ICNkZWZpbmUgSEFWRV9fQlVJTFRJTl9DT05TVEFOVF9QIDEKfCAjZGVm aW5lIEhBVkVfX0JVSUxUSU5fVU5SRUFDSEFCTEUgMQp8ICNkZWZpbmUgSEFWRV9DT01QVVRFRF9H T1RPIDEKfCAjZGVmaW5lIEhBVkVfX1ZBX0FSR1MgMQp8ICNkZWZpbmUgSEFWRV9UWk5BTUUgMQp8 ICNkZWZpbmUgSEFWRV9TVFJVQ1RfU09DS0FERFJfU1RPUkFHRSAxCnwgI2RlZmluZSBIQVZFX1NU UlVDVF9TT0NLQUREUl9TVE9SQUdFX1NTX0ZBTUlMWSAxCnwgI2RlZmluZSBIQVZFX1NUUlVDVF9B RERSSU5GTyAxCnwgI2RlZmluZSBIQVZFX0lOVFBUUl9UIDEKfCAjZGVmaW5lIEhBVkVfVUlOVFBU Ul9UIDEKfCAjZGVmaW5lIEhBVkVfVU5TSUdORURfTE9OR19MT05HX0lOVCAxCnwgI2RlZmluZSBI QVZFX0xPTkdfTE9OR19JTlQgMQp8ICNkZWZpbmUgcmVzdHJpY3QgX19yZXN0cmljdAp8ICNkZWZp bmUgcGdfcmVzdHJpY3QgX19yZXN0cmljdAp8ICNkZWZpbmUgSEFWRV9TVFJVQ1RfT1BUSU9OIDEK fCAjZGVmaW5lIFNJWkVPRl9PRkZfVCA0CnwgI2RlZmluZSBTSVpFT0ZfQk9PTCAxCnwgI2RlZmlu ZSBIQVZFX0lOVF9USU1FWk9ORSAxCnwgLyogZW5kIGNvbmZkZWZzLmguICAqLwp8ICNpbmNsdWRl IDxzeXMvdHlwZXMuaD4KfCAjaW5jbHVkZSA8c3lzL3NvY2tldC5oPgp8IGV4dGVybiB1bnNpZ25l ZCBpbnQgUEFTQ0FMIGFjY2VwdCAodW5zaWduZWQgaW50LCBzdHJ1Y3Qgc29ja2FkZHIgKiwgdW5z aWduZWQgaW50ICopOwpjb25maWd1cmU6MTQ3OTE6IHg4Nl82NC13NjQtbWluZ3czMi1nY2MgLWMg LVdhbGwgLVdtaXNzaW5nLXByb3RvdHlwZXMgLVdwb2ludGVyLWFyaXRoIC1XZGVjbGFyYXRpb24t YWZ0ZXItc3RhdGVtZW50IC1XZW5kaWYtbGFiZWxzIC1XbWlzc2luZy1mb3JtYXQtYXR0cmlidXRl IC1XZm9ybWF0LXNlY3VyaXR5IC1mbm8tc3RyaWN0LWFsaWFzaW5nIC1md3JhcHYgLWZleGNlc3Mt cHJlY2lzaW9uPXN0YW5kYXJkIC1Xbm8tZm9ybWF0LXRydW5jYXRpb24gLVduby1zdHJpbmdvcC10 cnVuY2F0aW9uIC1nIC1PIC1mbm8tb21pdC1mcmFtZS1wb2ludGVyICAtSS93L1ItMy41Ll8vcG9z dGdyZXMvc3JjL2luY2x1ZGUvcG9ydC93aW4zMiAtREVYRUNfQkFDS0VORCAgLUkvdy96bGliLTEu Mi44LXdpbjMyLXg4Nl82NC9pbmNsdWRlIC1JL3cvb3BlbnNzbC0xLjAuMmUtd2luMzIteDg2XzY0 L2luY2x1ZGUgLUkvdy9saWJ4bWwyLTIuOS4zLXdpbjMyLXg4Nl82NC9pbmNsdWRlL2xpYnhtbDIg LUkvdy9saWJ4c2x0LTEuMS4yOC13aW4zMi14ODZfNjQvaW5jbHVkZSBjb25mdGVzdC5jID4mNQpj b25mdGVzdC5jOjc5OjI4OiBlcnJvcjogY29uZmxpY3RpbmcgdHlwZXMgZm9yICdhY2NlcHQnCiBl eHRlcm4gdW5zaWduZWQgaW50IFBBU0NBTCBhY2NlcHQgKHVuc2lnbmVkIGludCwgc3RydWN0IHNv Y2thZGRyICosIHZvaWQgKik7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBefn5+fn4KSW4g ZmlsZSBpbmNsdWRlZCBmcm9tIFc6L1ItMy41Ll8vcG9zdGdyZXMvc3JjL2luY2x1ZGUvcG9ydC93 aW4zMi9zeXMvc29ja2V0Lmg6MTQsCiAgICAgICAgICAgICAgICAgZnJvbSBjb25mdGVzdC5jOjc4 OgpDOi9tc3lzNjQvbWluZ3c2NC94ODZfNjQtdzY0LW1pbmd3MzIvaW5jbHVkZS93aW5zb2NrMi5o Ojk3MzozNzogbm90ZTogcHJldmlvdXMgZGVjbGFyYXRpb24gb2YgJ2FjY2VwdCcgd2FzIGhlcmUK ICAgV0lOU09DS19BUElfTElOS0FHRSBTT0NLRVQgV1NBQVBJIGFjY2VwdChTT0NLRVQgcyxzdHJ1 Y3Qgc29ja2FkZHIgKmFkZHIsaW50ICphZGRybGVuKTsKICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIF5+fn5+fgpjb25maWd1cmU6MTQ3OTE6ICQ/ID0gMQpjb25maWd1cmU6IGZh aWxlZCBwcm9ncmFtIHdhczoKfCAvKiBjb25mZGVmcy5oICovCnwgI2RlZmluZSBQQUNLQUdFX05B TUUgIlBvc3RncmVTUUwiCnwgI2RlZmluZSBQQUNLQUdFX1RBUk5BTUUgInBvc3RncmVzcWwiCnwg I2RlZmluZSBQQUNLQUdFX1ZFUlNJT04gIjExYmV0YTMiCnwgI2RlZmluZSBQQUNLQUdFX1NUUklO RyAiUG9zdGdyZVNRTCAxMWJldGEzIgp8ICNkZWZpbmUgUEFDS0FHRV9CVUdSRVBPUlQgInBnc3Fs LWJ1Z3NAcG9zdGdyZXNxbC5vcmciCnwgI2RlZmluZSBQQUNLQUdFX1VSTCAiIgp8ICNkZWZpbmUg UEdfTUFKT1JWRVJTSU9OICIxMSIKfCAjZGVmaW5lIFBHX1ZFUlNJT04gIjExYmV0YTMiCnwgI2Rl ZmluZSBERUZfUEdQT1JUIDU0MzIKfCAjZGVmaW5lIERFRl9QR1BPUlRfU1RSICI1NDMyIgp8ICNk ZWZpbmUgQkxDS1NaIDgxOTIKfCAjZGVmaW5lIFJFTFNFR19TSVpFIDEzMTA3Mgp8ICNkZWZpbmUg WExPR19CTENLU1ogODE5Mgp8ICNkZWZpbmUgVVNFX0FTU0VSVF9DSEVDS0lORyAxCnwgI2RlZmlu ZSBFTkFCTEVfVEhSRUFEX1NBRkVUWSAxCnwgI2RlZmluZSBVU0VfSUNVIDEKfCAjZGVmaW5lIFBH X0tSQl9TUlZOQU0gInBvc3RncmVzIgp8ICNkZWZpbmUgVVNFX09QRU5TU0wgMQp8ICNkZWZpbmUg VVNFX0xJQlhNTCAxCnwgI2RlZmluZSBVU0VfTElCWFNMVCAxCnwgI2RlZmluZSBTVERDX0hFQURF UlMgMQp8ICNkZWZpbmUgSEFWRV9TWVNfVFlQRVNfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19TVEFU X0ggMQp8ICNkZWZpbmUgSEFWRV9TVERMSUJfSCAxCnwgI2RlZmluZSBIQVZFX1NUUklOR19IIDEK fCAjZGVmaW5lIEhBVkVfTUVNT1JZX0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJJTkdTX0ggMQp8ICNk ZWZpbmUgSEFWRV9JTlRUWVBFU19IIDEKfCAjZGVmaW5lIEhBVkVfU1RESU5UX0ggMQp8ICNkZWZp bmUgSEFWRV9VTklTVERfSCAxCnwgI2RlZmluZSBIQVZFX0xJQk0gMQp8ICNkZWZpbmUgSEFWRV9M SUJaIDEKfCAjZGVmaW5lIEhBVkVfU1BJTkxPQ0tTIDEKfCAjZGVmaW5lIEhBVkVfQVRPTUlDUyAx CnwgI2RlZmluZSBIQVZFX1NTTF9HRVRfQ1VSUkVOVF9DT01QUkVTU0lPTiAxCnwgI2RlZmluZSBI QVZFX1g1MDlfR0VUX1NJR05BVFVSRV9OSUQgMQp8ICNkZWZpbmUgSEFWRV9DUllQVE9fTE9DSyAx CnwgI2RlZmluZSBIQVZFX0xJQlhNTDIgMQp8ICNkZWZpbmUgSEFWRV9MSUJYU0xUIDEKfCAjZGVm aW5lIEhBVkVfX0JPT0wgMQp8ICNkZWZpbmUgSEFWRV9TVERCT09MX0ggMQp8ICNkZWZpbmUgSEFW RV9HRVRPUFRfSCAxCnwgI2RlZmluZSBIQVZFX0lFRUVGUF9IIDEKfCAjZGVmaW5lIEhBVkVfVVRJ TUVfSCAxCnwgI2RlZmluZSBIQVZFX1dDSEFSX0ggMQp8ICNkZWZpbmUgSEFWRV9XQ1RZUEVfSCAx CnwgI2RlZmluZSBIQVZFX0NSVERFRlNfSCAxCnwgI2RlZmluZSBQR19QUklOVEZfQVRUUklCVVRF IGdudV9wcmludGYKfCAjZGVmaW5lIEZMRVhJQkxFX0FSUkFZX01FTUJFUiAvKiovCnwgI2RlZmlu ZSBIQVZFX0ZVTkNOQU1FX19GVU5DIDEKfCAjZGVmaW5lIEhBVkVfX1NUQVRJQ19BU1NFUlQgMQp8 ICNkZWZpbmUgSEFWRV9UWVBFT0YgMQp8ICNkZWZpbmUgSEFWRV9fQlVJTFRJTl9UWVBFU19DT01Q QVRJQkxFX1AgMQp8ICNkZWZpbmUgSEFWRV9fQlVJTFRJTl9CU1dBUDE2IDEKfCAjZGVmaW5lIEhB VkVfX0JVSUxUSU5fQlNXQVAzMiAxCnwgI2RlZmluZSBIQVZFX19CVUlMVElOX0JTV0FQNjQgMQp8 ICNkZWZpbmUgSEFWRV9fQlVJTFRJTl9DT05TVEFOVF9QIDEKfCAjZGVmaW5lIEhBVkVfX0JVSUxU SU5fVU5SRUFDSEFCTEUgMQp8ICNkZWZpbmUgSEFWRV9DT01QVVRFRF9HT1RPIDEKfCAjZGVmaW5l IEhBVkVfX1ZBX0FSR1MgMQp8ICNkZWZpbmUgSEFWRV9UWk5BTUUgMQp8ICNkZWZpbmUgSEFWRV9T VFJVQ1RfU09DS0FERFJfU1RPUkFHRSAxCnwgI2RlZmluZSBIQVZFX1NUUlVDVF9TT0NLQUREUl9T VE9SQUdFX1NTX0ZBTUlMWSAxCnwgI2RlZmluZSBIQVZFX1NUUlVDVF9BRERSSU5GTyAxCnwgI2Rl ZmluZSBIQVZFX0lOVFBUUl9UIDEKfCAjZGVmaW5lIEhBVkVfVUlOVFBUUl9UIDEKfCAjZGVmaW5l IEhBVkVfVU5TSUdORURfTE9OR19MT05HX0lOVCAxCnwgI2RlZmluZSBIQVZFX0xPTkdfTE9OR19J TlQgMQp8ICNkZWZpbmUgcmVzdHJpY3QgX19yZXN0cmljdAp8ICNkZWZpbmUgcGdfcmVzdHJpY3Qg X19yZXN0cmljdAp8ICNkZWZpbmUgSEFWRV9TVFJVQ1RfT1BUSU9OIDEKfCAjZGVmaW5lIFNJWkVP Rl9PRkZfVCA0CnwgI2RlZmluZSBTSVpFT0ZfQk9PTCAxCnwgI2RlZmluZSBIQVZFX0lOVF9USU1F Wk9ORSAxCnwgLyogZW5kIGNvbmZkZWZzLmguICAqLwp8ICNpbmNsdWRlIDxzeXMvdHlwZXMuaD4K fCAjaW5jbHVkZSA8c3lzL3NvY2tldC5oPgp8IGV4dGVybiB1bnNpZ25lZCBpbnQgUEFTQ0FMIGFj Y2VwdCAodW5zaWduZWQgaW50LCBzdHJ1Y3Qgc29ja2FkZHIgKiwgdm9pZCAqKTsKY29uZmlndXJl OjE0NzkxOiB4ODZfNjQtdzY0LW1pbmd3MzItZ2NjIC1jIC1XYWxsIC1XbWlzc2luZy1wcm90b3R5 cGVzIC1XcG9pbnRlci1hcml0aCAtV2RlY2xhcmF0aW9uLWFmdGVyLXN0YXRlbWVudCAtV2VuZGlm LWxhYmVscyAtV21pc3NpbmctZm9ybWF0LWF0dHJpYnV0ZSAtV2Zvcm1hdC1zZWN1cml0eSAtZm5v LXN0cmljdC1hbGlhc2luZyAtZndyYXB2IC1mZXhjZXNzLXByZWNpc2lvbj1zdGFuZGFyZCAtV25v LWZvcm1hdC10cnVuY2F0aW9uIC1Xbm8tc3RyaW5nb3AtdHJ1bmNhdGlvbiAtZyAtTyAtZm5vLW9t aXQtZnJhbWUtcG9pbnRlciAgLUkvdy9SLTMuNS5fL3Bvc3RncmVzL3NyYy9pbmNsdWRlL3BvcnQv d2luMzIgLURFWEVDX0JBQ0tFTkQgIC1JL3cvemxpYi0xLjIuOC13aW4zMi14ODZfNjQvaW5jbHVk ZSAtSS93L29wZW5zc2wtMS4wLjJlLXdpbjMyLXg4Nl82NC9pbmNsdWRlIC1JL3cvbGlieG1sMi0y LjkuMy13aW4zMi14ODZfNjQvaW5jbHVkZS9saWJ4bWwyIC1JL3cvbGlieHNsdC0xLjEuMjgtd2lu MzIteDg2XzY0L2luY2x1ZGUgY29uZnRlc3QuYyA+JjUKY29uZnRlc3QuYzo3OToyODogZXJyb3I6 IGNvbmZsaWN0aW5nIHR5cGVzIGZvciAnYWNjZXB0JwogZXh0ZXJuIHVuc2lnbmVkIGludCBQQVND QUwgYWNjZXB0ICh1bnNpZ25lZCBpbnQsIGNvbnN0IHN0cnVjdCBzb2NrYWRkciAqLCBpbnQgKik7 CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBefn5+fn4KSW4gZmlsZSBpbmNsdWRlZCBmcm9t IFc6L1ItMy41Ll8vcG9zdGdyZXMvc3JjL2luY2x1ZGUvcG9ydC93aW4zMi9zeXMvc29ja2V0Lmg6 MTQsCiAgICAgICAgICAgICAgICAgZnJvbSBjb25mdGVzdC5jOjc4OgpDOi9tc3lzNjQvbWluZ3c2 NC94ODZfNjQtdzY0LW1pbmd3MzIvaW5jbHVkZS93aW5zb2NrMi5oOjk3MzozNzogbm90ZTogcHJl dmlvdXMgZGVjbGFyYXRpb24gb2YgJ2FjY2VwdCcgd2FzIGhlcmUKICAgV0lOU09DS19BUElfTElO S0FHRSBTT0NLRVQgV1NBQVBJIGFjY2VwdChTT0NLRVQgcyxzdHJ1Y3Qgc29ja2FkZHIgKmFkZHIs aW50ICphZGRybGVuKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF5+fn5+ fgpjb25maWd1cmU6MTQ3OTE6ICQ/ID0gMQpjb25maWd1cmU6IGZhaWxlZCBwcm9ncmFtIHdhczoK fCAvKiBjb25mZGVmcy5oICovCnwgI2RlZmluZSBQQUNLQUdFX05BTUUgIlBvc3RncmVTUUwiCnwg I2RlZmluZSBQQUNLQUdFX1RBUk5BTUUgInBvc3RncmVzcWwiCnwgI2RlZmluZSBQQUNLQUdFX1ZF UlNJT04gIjExYmV0YTMiCnwgI2RlZmluZSBQQUNLQUdFX1NUUklORyAiUG9zdGdyZVNRTCAxMWJl dGEzIgp8ICNkZWZpbmUgUEFDS0FHRV9CVUdSRVBPUlQgInBnc3FsLWJ1Z3NAcG9zdGdyZXNxbC5v cmciCnwgI2RlZmluZSBQQUNLQUdFX1VSTCAiIgp8ICNkZWZpbmUgUEdfTUFKT1JWRVJTSU9OICIx MSIKfCAjZGVmaW5lIFBHX1ZFUlNJT04gIjExYmV0YTMiCnwgI2RlZmluZSBERUZfUEdQT1JUIDU0 MzIKfCAjZGVmaW5lIERFRl9QR1BPUlRfU1RSICI1NDMyIgp8ICNkZWZpbmUgQkxDS1NaIDgxOTIK fCAjZGVmaW5lIFJFTFNFR19TSVpFIDEzMTA3Mgp8ICNkZWZpbmUgWExPR19CTENLU1ogODE5Mgp8 ICNkZWZpbmUgVVNFX0FTU0VSVF9DSEVDS0lORyAxCnwgI2RlZmluZSBFTkFCTEVfVEhSRUFEX1NB RkVUWSAxCnwgI2RlZmluZSBVU0VfSUNVIDEKfCAjZGVmaW5lIFBHX0tSQl9TUlZOQU0gInBvc3Rn cmVzIgp8ICNkZWZpbmUgVVNFX09QRU5TU0wgMQp8ICNkZWZpbmUgVVNFX0xJQlhNTCAxCnwgI2Rl ZmluZSBVU0VfTElCWFNMVCAxCnwgI2RlZmluZSBTVERDX0hFQURFUlMgMQp8ICNkZWZpbmUgSEFW RV9TWVNfVFlQRVNfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19TVEFUX0ggMQp8ICNkZWZpbmUgSEFW RV9TVERMSUJfSCAxCnwgI2RlZmluZSBIQVZFX1NUUklOR19IIDEKfCAjZGVmaW5lIEhBVkVfTUVN T1JZX0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJJTkdTX0ggMQp8ICNkZWZpbmUgSEFWRV9JTlRUWVBF U19IIDEKfCAjZGVmaW5lIEhBVkVfU1RESU5UX0ggMQp8ICNkZWZpbmUgSEFWRV9VTklTVERfSCAx CnwgI2RlZmluZSBIQVZFX0xJQk0gMQp8ICNkZWZpbmUgSEFWRV9MSUJaIDEKfCAjZGVmaW5lIEhB VkVfU1BJTkxPQ0tTIDEKfCAjZGVmaW5lIEhBVkVfQVRPTUlDUyAxCnwgI2RlZmluZSBIQVZFX1NT TF9HRVRfQ1VSUkVOVF9DT01QUkVTU0lPTiAxCnwgI2RlZmluZSBIQVZFX1g1MDlfR0VUX1NJR05B VFVSRV9OSUQgMQp8ICNkZWZpbmUgSEFWRV9DUllQVE9fTE9DSyAxCnwgI2RlZmluZSBIQVZFX0xJ QlhNTDIgMQp8ICNkZWZpbmUgSEFWRV9MSUJYU0xUIDEKfCAjZGVmaW5lIEhBVkVfX0JPT0wgMQp8 ICNkZWZpbmUgSEFWRV9TVERCT09MX0ggMQp8ICNkZWZpbmUgSEFWRV9HRVRPUFRfSCAxCnwgI2Rl ZmluZSBIQVZFX0lFRUVGUF9IIDEKfCAjZGVmaW5lIEhBVkVfVVRJTUVfSCAxCnwgI2RlZmluZSBI QVZFX1dDSEFSX0ggMQp8ICNkZWZpbmUgSEFWRV9XQ1RZUEVfSCAxCnwgI2RlZmluZSBIQVZFX0NS VERFRlNfSCAxCnwgI2RlZmluZSBQR19QUklOVEZfQVRUUklCVVRFIGdudV9wcmludGYKfCAjZGVm aW5lIEZMRVhJQkxFX0FSUkFZX01FTUJFUiAvKiovCnwgI2RlZmluZSBIQVZFX0ZVTkNOQU1FX19G VU5DIDEKfCAjZGVmaW5lIEhBVkVfX1NUQVRJQ19BU1NFUlQgMQp8ICNkZWZpbmUgSEFWRV9UWVBF T0YgMQp8ICNkZWZpbmUgSEFWRV9fQlVJTFRJTl9UWVBFU19DT01QQVRJQkxFX1AgMQp8ICNkZWZp bmUgSEFWRV9fQlVJTFRJTl9CU1dBUDE2IDEKfCAjZGVmaW5lIEhBVkVfX0JVSUxUSU5fQlNXQVAz MiAxCnwgI2RlZmluZSBIQVZFX19CVUlMVElOX0JTV0FQNjQgMQp8ICNkZWZpbmUgSEFWRV9fQlVJ TFRJTl9DT05TVEFOVF9QIDEKfCAjZGVmaW5lIEhBVkVfX0JVSUxUSU5fVU5SRUFDSEFCTEUgMQp8 ICNkZWZpbmUgSEFWRV9DT01QVVRFRF9HT1RPIDEKfCAjZGVmaW5lIEhBVkVfX1ZBX0FSR1MgMQp8 ICNkZWZpbmUgSEFWRV9UWk5BTUUgMQp8ICNkZWZpbmUgSEFWRV9TVFJVQ1RfU09DS0FERFJfU1RP UkFHRSAxCnwgI2RlZmluZSBIQVZFX1NUUlVDVF9TT0NLQUREUl9TVE9SQUdFX1NTX0ZBTUlMWSAx CnwgI2RlZmluZSBIQVZFX1NUUlVDVF9BRERSSU5GTyAxCnwgI2RlZmluZSBIQVZFX0lOVFBUUl9U IDEKfCAjZGVmaW5lIEhBVkVfVUlOVFBUUl9UIDEKfCAjZGVmaW5lIEhBVkVfVU5TSUdORURfTE9O R19MT05HX0lOVCAxCnwgI2RlZmluZSBIQVZFX0xPTkdfTE9OR19JTlQgMQp8ICNkZWZpbmUgcmVz dHJpY3QgX19yZXN0cmljdAp8ICNkZWZpbmUgcGdfcmVzdHJpY3QgX19yZXN0cmljdAp8ICNkZWZp bmUgSEFWRV9TVFJVQ1RfT1BUSU9OIDEKfCAjZGVmaW5lIFNJWkVPRl9PRkZfVCA0CnwgI2RlZmlu ZSBTSVpFT0ZfQk9PTCAxCnwgI2RlZmluZSBIQVZFX0lOVF9USU1FWk9ORSAxCnwgLyogZW5kIGNv bmZkZWZzLmguICAqLwp8ICNpbmNsdWRlIDxzeXMvdHlwZXMuaD4KfCAjaW5jbHVkZSA8c3lzL3Nv Y2tldC5oPgp8IGV4dGVybiB1bnNpZ25lZCBpbnQgUEFTQ0FMIGFjY2VwdCAodW5zaWduZWQgaW50 LCBjb25zdCBzdHJ1Y3Qgc29ja2FkZHIgKiwgaW50ICopOwpjb25maWd1cmU6MTQ3OTE6IHg4Nl82 NC13NjQtbWluZ3czMi1nY2MgLWMgLVdhbGwgLVdtaXNzaW5nLXByb3RvdHlwZXMgLVdwb2ludGVy LWFyaXRoIC1XZGVjbGFyYXRpb24tYWZ0ZXItc3RhdGVtZW50IC1XZW5kaWYtbGFiZWxzIC1XbWlz c2luZy1mb3JtYXQtYXR0cmlidXRlIC1XZm9ybWF0LXNlY3VyaXR5IC1mbm8tc3RyaWN0LWFsaWFz aW5nIC1md3JhcHYgLWZleGNlc3MtcHJlY2lzaW9uPXN0YW5kYXJkIC1Xbm8tZm9ybWF0LXRydW5j YXRpb24gLVduby1zdHJpbmdvcC10cnVuY2F0aW9uIC1nIC1PIC1mbm8tb21pdC1mcmFtZS1wb2lu dGVyICAtSS93L1ItMy41Ll8vcG9zdGdyZXMvc3JjL2luY2x1ZGUvcG9ydC93aW4zMiAtREVYRUNf QkFDS0VORCAgLUkvdy96bGliLTEuMi44LXdpbjMyLXg4Nl82NC9pbmNsdWRlIC1JL3cvb3BlbnNz bC0xLjAuMmUtd2luMzIteDg2XzY0L2luY2x1ZGUgLUkvdy9saWJ4bWwyLTIuOS4zLXdpbjMyLXg4 Nl82NC9pbmNsdWRlL2xpYnhtbDIgLUkvdy9saWJ4c2x0LTEuMS4yOC13aW4zMi14ODZfNjQvaW5j bHVkZSBjb25mdGVzdC5jID4mNQpjb25mdGVzdC5jOjc5OjI4OiBlcnJvcjogY29uZmxpY3Rpbmcg dHlwZXMgZm9yICdhY2NlcHQnCiBleHRlcm4gdW5zaWduZWQgaW50IFBBU0NBTCBhY2NlcHQgKHVu c2lnbmVkIGludCwgY29uc3Qgc3RydWN0IHNvY2thZGRyICosIHNpemVfdCAqKTsKICAgICAgICAg ICAgICAgICAgICAgICAgICAgIF5+fn5+fgpJbiBmaWxlIGluY2x1ZGVkIGZyb20gVzovUi0zLjUu Xy9wb3N0Z3Jlcy9zcmMvaW5jbHVkZS9wb3J0L3dpbjMyL3N5cy9zb2NrZXQuaDoxNCwKICAgICAg ICAgICAgICAgICBmcm9tIGNvbmZ0ZXN0LmM6Nzg6CkM6L21zeXM2NC9taW5ndzY0L3g4Nl82NC13 NjQtbWluZ3czMi9pbmNsdWRlL3dpbnNvY2syLmg6OTczOjM3OiBub3RlOiBwcmV2aW91cyBkZWNs YXJhdGlvbiBvZiAnYWNjZXB0JyB3YXMgaGVyZQogICBXSU5TT0NLX0FQSV9MSU5LQUdFIFNPQ0tF VCBXU0FBUEkgYWNjZXB0KFNPQ0tFVCBzLHN0cnVjdCBzb2NrYWRkciAqYWRkcixpbnQgKmFkZHJs ZW4pOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXn5+fn5+CmNvbmZpZ3Vy ZToxNDc5MTogJD8gPSAxCmNvbmZpZ3VyZTogZmFpbGVkIHByb2dyYW0gd2FzOgp8IC8qIGNvbmZk ZWZzLmggKi8KfCAjZGVmaW5lIFBBQ0tBR0VfTkFNRSAiUG9zdGdyZVNRTCIKfCAjZGVmaW5lIFBB Q0tBR0VfVEFSTkFNRSAicG9zdGdyZXNxbCIKfCAjZGVmaW5lIFBBQ0tBR0VfVkVSU0lPTiAiMTFi ZXRhMyIKfCAjZGVmaW5lIFBBQ0tBR0VfU1RSSU5HICJQb3N0Z3JlU1FMIDExYmV0YTMiCnwgI2Rl ZmluZSBQQUNLQUdFX0JVR1JFUE9SVCAicGdzcWwtYnVnc0Bwb3N0Z3Jlc3FsLm9yZyIKfCAjZGVm aW5lIFBBQ0tBR0VfVVJMICIiCnwgI2RlZmluZSBQR19NQUpPUlZFUlNJT04gIjExIgp8ICNkZWZp bmUgUEdfVkVSU0lPTiAiMTFiZXRhMyIKfCAjZGVmaW5lIERFRl9QR1BPUlQgNTQzMgp8ICNkZWZp bmUgREVGX1BHUE9SVF9TVFIgIjU0MzIiCnwgI2RlZmluZSBCTENLU1ogODE5Mgp8ICNkZWZpbmUg UkVMU0VHX1NJWkUgMTMxMDcyCnwgI2RlZmluZSBYTE9HX0JMQ0tTWiA4MTkyCnwgI2RlZmluZSBV U0VfQVNTRVJUX0NIRUNLSU5HIDEKfCAjZGVmaW5lIEVOQUJMRV9USFJFQURfU0FGRVRZIDEKfCAj ZGVmaW5lIFVTRV9JQ1UgMQp8ICNkZWZpbmUgUEdfS1JCX1NSVk5BTSAicG9zdGdyZXMiCnwgI2Rl ZmluZSBVU0VfT1BFTlNTTCAxCnwgI2RlZmluZSBVU0VfTElCWE1MIDEKfCAjZGVmaW5lIFVTRV9M SUJYU0xUIDEKfCAjZGVmaW5lIFNURENfSEVBREVSUyAxCnwgI2RlZmluZSBIQVZFX1NZU19UWVBF U19IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NUQVRfSCAxCnwgI2RlZmluZSBIQVZFX1NURExJQl9I IDEKfCAjZGVmaW5lIEhBVkVfU1RSSU5HX0ggMQp8ICNkZWZpbmUgSEFWRV9NRU1PUllfSCAxCnwg I2RlZmluZSBIQVZFX1NUUklOR1NfSCAxCnwgI2RlZmluZSBIQVZFX0lOVFRZUEVTX0ggMQp8ICNk ZWZpbmUgSEFWRV9TVERJTlRfSCAxCnwgI2RlZmluZSBIQVZFX1VOSVNURF9IIDEKfCAjZGVmaW5l IEhBVkVfTElCTSAxCnwgI2RlZmluZSBIQVZFX0xJQlogMQp8ICNkZWZpbmUgSEFWRV9TUElOTE9D S1MgMQp8ICNkZWZpbmUgSEFWRV9BVE9NSUNTIDEKfCAjZGVmaW5lIEhBVkVfU1NMX0dFVF9DVVJS RU5UX0NPTVBSRVNTSU9OIDEKfCAjZGVmaW5lIEhBVkVfWDUwOV9HRVRfU0lHTkFUVVJFX05JRCAx CnwgI2RlZmluZSBIQVZFX0NSWVBUT19MT0NLIDEKfCAjZGVmaW5lIEhBVkVfTElCWE1MMiAxCnwg I2RlZmluZSBIQVZFX0xJQlhTTFQgMQp8ICNkZWZpbmUgSEFWRV9fQk9PTCAxCnwgI2RlZmluZSBI QVZFX1NUREJPT0xfSCAxCnwgI2RlZmluZSBIQVZFX0dFVE9QVF9IIDEKfCAjZGVmaW5lIEhBVkVf SUVFRUZQX0ggMQp8ICNkZWZpbmUgSEFWRV9VVElNRV9IIDEKfCAjZGVmaW5lIEhBVkVfV0NIQVJf SCAxCnwgI2RlZmluZSBIQVZFX1dDVFlQRV9IIDEKfCAjZGVmaW5lIEhBVkVfQ1JUREVGU19IIDEK fCAjZGVmaW5lIFBHX1BSSU5URl9BVFRSSUJVVEUgZ251X3ByaW50Zgp8ICNkZWZpbmUgRkxFWElC TEVfQVJSQVlfTUVNQkVSIC8qKi8KfCAjZGVmaW5lIEhBVkVfRlVOQ05BTUVfX0ZVTkMgMQp8ICNk ZWZpbmUgSEFWRV9fU1RBVElDX0FTU0VSVCAxCnwgI2RlZmluZSBIQVZFX1RZUEVPRiAxCnwgI2Rl ZmluZSBIQVZFX19CVUlMVElOX1RZUEVTX0NPTVBBVElCTEVfUCAxCnwgI2RlZmluZSBIQVZFX19C VUlMVElOX0JTV0FQMTYgMQp8ICNkZWZpbmUgSEFWRV9fQlVJTFRJTl9CU1dBUDMyIDEKfCAjZGVm aW5lIEhBVkVfX0JVSUxUSU5fQlNXQVA2NCAxCnwgI2RlZmluZSBIQVZFX19CVUlMVElOX0NPTlNU QU5UX1AgMQp8ICNkZWZpbmUgSEFWRV9fQlVJTFRJTl9VTlJFQUNIQUJMRSAxCnwgI2RlZmluZSBI QVZFX0NPTVBVVEVEX0dPVE8gMQp8ICNkZWZpbmUgSEFWRV9fVkFfQVJHUyAxCnwgI2RlZmluZSBI QVZFX1RaTkFNRSAxCnwgI2RlZmluZSBIQVZFX1NUUlVDVF9TT0NLQUREUl9TVE9SQUdFIDEKfCAj ZGVmaW5lIEhBVkVfU1RSVUNUX1NPQ0tBRERSX1NUT1JBR0VfU1NfRkFNSUxZIDEKfCAjZGVmaW5l IEhBVkVfU1RSVUNUX0FERFJJTkZPIDEKfCAjZGVmaW5lIEhBVkVfSU5UUFRSX1QgMQp8ICNkZWZp bmUgSEFWRV9VSU5UUFRSX1QgMQp8ICNkZWZpbmUgSEFWRV9VTlNJR05FRF9MT05HX0xPTkdfSU5U IDEKfCAjZGVmaW5lIEhBVkVfTE9OR19MT05HX0lOVCAxCnwgI2RlZmluZSByZXN0cmljdCBfX3Jl c3RyaWN0CnwgI2RlZmluZSBwZ19yZXN0cmljdCBfX3Jlc3RyaWN0CnwgI2RlZmluZSBIQVZFX1NU UlVDVF9PUFRJT04gMQp8ICNkZWZpbmUgU0laRU9GX09GRl9UIDQKfCAjZGVmaW5lIFNJWkVPRl9C T09MIDEKfCAjZGVmaW5lIEhBVkVfSU5UX1RJTUVaT05FIDEKfCAvKiBlbmQgY29uZmRlZnMuaC4g ICovCnwgI2luY2x1ZGUgPHN5cy90eXBlcy5oPgp8ICNpbmNsdWRlIDxzeXMvc29ja2V0Lmg+Cnwg ZXh0ZXJuIHVuc2lnbmVkIGludCBQQVNDQUwgYWNjZXB0ICh1bnNpZ25lZCBpbnQsIGNvbnN0IHN0 cnVjdCBzb2NrYWRkciAqLCBzaXplX3QgKik7CmNvbmZpZ3VyZToxNDc5MTogeDg2XzY0LXc2NC1t aW5ndzMyLWdjYyAtYyAtV2FsbCAtV21pc3NpbmctcHJvdG90eXBlcyAtV3BvaW50ZXItYXJpdGgg LVdkZWNsYXJhdGlvbi1hZnRlci1zdGF0ZW1lbnQgLVdlbmRpZi1sYWJlbHMgLVdtaXNzaW5nLWZv cm1hdC1hdHRyaWJ1dGUgLVdmb3JtYXQtc2VjdXJpdHkgLWZuby1zdHJpY3QtYWxpYXNpbmcgLWZ3 cmFwdiAtZmV4Y2Vzcy1wcmVjaXNpb249c3RhbmRhcmQgLVduby1mb3JtYXQtdHJ1bmNhdGlvbiAt V25vLXN0cmluZ29wLXRydW5jYXRpb24gLWcgLU8gLWZuby1vbWl0LWZyYW1lLXBvaW50ZXIgIC1J L3cvUi0zLjUuXy9wb3N0Z3Jlcy9zcmMvaW5jbHVkZS9wb3J0L3dpbjMyIC1ERVhFQ19CQUNLRU5E ICAtSS93L3psaWItMS4yLjgtd2luMzIteDg2XzY0L2luY2x1ZGUgLUkvdy9vcGVuc3NsLTEuMC4y ZS13aW4zMi14ODZfNjQvaW5jbHVkZSAtSS93L2xpYnhtbDItMi45LjMtd2luMzIteDg2XzY0L2lu Y2x1ZGUvbGlieG1sMiAtSS93L2xpYnhzbHQtMS4xLjI4LXdpbjMyLXg4Nl82NC9pbmNsdWRlIGNv bmZ0ZXN0LmMgPiY1CmNvbmZ0ZXN0LmM6Nzk6Mjg6IGVycm9yOiBjb25mbGljdGluZyB0eXBlcyBm b3IgJ2FjY2VwdCcKIGV4dGVybiB1bnNpZ25lZCBpbnQgUEFTQ0FMIGFjY2VwdCAodW5zaWduZWQg aW50LCBjb25zdCBzdHJ1Y3Qgc29ja2FkZHIgKiwgc29ja2xlbl90ICopOwogICAgICAgICAgICAg ICAgICAgICAgICAgICAgXn5+fn5+CkluIGZpbGUgaW5jbHVkZWQgZnJvbSBXOi9SLTMuNS5fL3Bv c3RncmVzL3NyYy9pbmNsdWRlL3BvcnQvd2luMzIvc3lzL3NvY2tldC5oOjE0LAogICAgICAgICAg ICAgICAgIGZyb20gY29uZnRlc3QuYzo3ODoKQzovbXN5czY0L21pbmd3NjQveDg2XzY0LXc2NC1t aW5ndzMyL2luY2x1ZGUvd2luc29jazIuaDo5NzM6Mzc6IG5vdGU6IHByZXZpb3VzIGRlY2xhcmF0 aW9uIG9mICdhY2NlcHQnIHdhcyBoZXJlCiAgIFdJTlNPQ0tfQVBJX0xJTktBR0UgU09DS0VUIFdT QUFQSSBhY2NlcHQoU09DS0VUIHMsc3RydWN0IHNvY2thZGRyICphZGRyLGludCAqYWRkcmxlbik7 CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBefn5+fn4KY29uZmlndXJlOjE0 NzkxOiAkPyA9IDEKY29uZmlndXJlOiBmYWlsZWQgcHJvZ3JhbSB3YXM6CnwgLyogY29uZmRlZnMu aCAqLwp8ICNkZWZpbmUgUEFDS0FHRV9OQU1FICJQb3N0Z3JlU1FMIgp8ICNkZWZpbmUgUEFDS0FH RV9UQVJOQU1FICJwb3N0Z3Jlc3FsIgp8ICNkZWZpbmUgUEFDS0FHRV9WRVJTSU9OICIxMWJldGEz Igp8ICNkZWZpbmUgUEFDS0FHRV9TVFJJTkcgIlBvc3RncmVTUUwgMTFiZXRhMyIKfCAjZGVmaW5l IFBBQ0tBR0VfQlVHUkVQT1JUICJwZ3NxbC1idWdzQHBvc3RncmVzcWwub3JnIgp8ICNkZWZpbmUg UEFDS0FHRV9VUkwgIiIKfCAjZGVmaW5lIFBHX01BSk9SVkVSU0lPTiAiMTEiCnwgI2RlZmluZSBQ R19WRVJTSU9OICIxMWJldGEzIgp8ICNkZWZpbmUgREVGX1BHUE9SVCA1NDMyCnwgI2RlZmluZSBE RUZfUEdQT1JUX1NUUiAiNTQzMiIKfCAjZGVmaW5lIEJMQ0tTWiA4MTkyCnwgI2RlZmluZSBSRUxT RUdfU0laRSAxMzEwNzIKfCAjZGVmaW5lIFhMT0dfQkxDS1NaIDgxOTIKfCAjZGVmaW5lIFVTRV9B U1NFUlRfQ0hFQ0tJTkcgMQp8ICNkZWZpbmUgRU5BQkxFX1RIUkVBRF9TQUZFVFkgMQp8ICNkZWZp bmUgVVNFX0lDVSAxCnwgI2RlZmluZSBQR19LUkJfU1JWTkFNICJwb3N0Z3JlcyIKfCAjZGVmaW5l IFVTRV9PUEVOU1NMIDEKfCAjZGVmaW5lIFVTRV9MSUJYTUwgMQp8ICNkZWZpbmUgVVNFX0xJQlhT TFQgMQp8ICNkZWZpbmUgU1REQ19IRUFERVJTIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1RZUEVTX0gg MQp8ICNkZWZpbmUgSEFWRV9TWVNfU1RBVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1RETElCX0ggMQp8 ICNkZWZpbmUgSEFWRV9TVFJJTkdfSCAxCnwgI2RlZmluZSBIQVZFX01FTU9SWV9IIDEKfCAjZGVm aW5lIEhBVkVfU1RSSU5HU19IIDEKfCAjZGVmaW5lIEhBVkVfSU5UVFlQRVNfSCAxCnwgI2RlZmlu ZSBIQVZFX1NURElOVF9IIDEKfCAjZGVmaW5lIEhBVkVfVU5JU1REX0ggMQp8ICNkZWZpbmUgSEFW RV9MSUJNIDEKfCAjZGVmaW5lIEhBVkVfTElCWiAxCnwgI2RlZmluZSBIQVZFX1NQSU5MT0NLUyAx CnwgI2RlZmluZSBIQVZFX0FUT01JQ1MgMQp8ICNkZWZpbmUgSEFWRV9TU0xfR0VUX0NVUlJFTlRf Q09NUFJFU1NJT04gMQp8ICNkZWZpbmUgSEFWRV9YNTA5X0dFVF9TSUdOQVRVUkVfTklEIDEKfCAj ZGVmaW5lIEhBVkVfQ1JZUFRPX0xPQ0sgMQp8ICNkZWZpbmUgSEFWRV9MSUJYTUwyIDEKfCAjZGVm aW5lIEhBVkVfTElCWFNMVCAxCnwgI2RlZmluZSBIQVZFX19CT09MIDEKfCAjZGVmaW5lIEhBVkVf U1REQk9PTF9IIDEKfCAjZGVmaW5lIEhBVkVfR0VUT1BUX0ggMQp8ICNkZWZpbmUgSEFWRV9JRUVF RlBfSCAxCnwgI2RlZmluZSBIQVZFX1VUSU1FX0ggMQp8ICNkZWZpbmUgSEFWRV9XQ0hBUl9IIDEK fCAjZGVmaW5lIEhBVkVfV0NUWVBFX0ggMQp8ICNkZWZpbmUgSEFWRV9DUlRERUZTX0ggMQp8ICNk ZWZpbmUgUEdfUFJJTlRGX0FUVFJJQlVURSBnbnVfcHJpbnRmCnwgI2RlZmluZSBGTEVYSUJMRV9B UlJBWV9NRU1CRVIgLyoqLwp8ICNkZWZpbmUgSEFWRV9GVU5DTkFNRV9fRlVOQyAxCnwgI2RlZmlu ZSBIQVZFX19TVEFUSUNfQVNTRVJUIDEKfCAjZGVmaW5lIEhBVkVfVFlQRU9GIDEKfCAjZGVmaW5l IEhBVkVfX0JVSUxUSU5fVFlQRVNfQ09NUEFUSUJMRV9QIDEKfCAjZGVmaW5lIEhBVkVfX0JVSUxU SU5fQlNXQVAxNiAxCnwgI2RlZmluZSBIQVZFX19CVUlMVElOX0JTV0FQMzIgMQp8ICNkZWZpbmUg SEFWRV9fQlVJTFRJTl9CU1dBUDY0IDEKfCAjZGVmaW5lIEhBVkVfX0JVSUxUSU5fQ09OU1RBTlRf UCAxCnwgI2RlZmluZSBIQVZFX19CVUlMVElOX1VOUkVBQ0hBQkxFIDEKfCAjZGVmaW5lIEhBVkVf Q09NUFVURURfR09UTyAxCnwgI2RlZmluZSBIQVZFX19WQV9BUkdTIDEKfCAjZGVmaW5lIEhBVkVf VFpOQU1FIDEKfCAjZGVmaW5lIEhBVkVfU1RSVUNUX1NPQ0tBRERSX1NUT1JBR0UgMQp8ICNkZWZp bmUgSEFWRV9TVFJVQ1RfU09DS0FERFJfU1RPUkFHRV9TU19GQU1JTFkgMQp8ICNkZWZpbmUgSEFW RV9TVFJVQ1RfQUREUklORk8gMQp8ICNkZWZpbmUgSEFWRV9JTlRQVFJfVCAxCnwgI2RlZmluZSBI QVZFX1VJTlRQVFJfVCAxCnwgI2RlZmluZSBIQVZFX1VOU0lHTkVEX0xPTkdfTE9OR19JTlQgMQp8 ICNkZWZpbmUgSEFWRV9MT05HX0xPTkdfSU5UIDEKfCAjZGVmaW5lIHJlc3RyaWN0IF9fcmVzdHJp Y3QKfCAjZGVmaW5lIHBnX3Jlc3RyaWN0IF9fcmVzdHJpY3QKfCAjZGVmaW5lIEhBVkVfU1RSVUNU X09QVElPTiAxCnwgI2RlZmluZSBTSVpFT0ZfT0ZGX1QgNAp8ICNkZWZpbmUgU0laRU9GX0JPT0wg MQp8ICNkZWZpbmUgSEFWRV9JTlRfVElNRVpPTkUgMQp8IC8qIGVuZCBjb25mZGVmcy5oLiAgKi8K fCAjaW5jbHVkZSA8c3lzL3R5cGVzLmg+CnwgI2luY2x1ZGUgPHN5cy9zb2NrZXQuaD4KfCBleHRl cm4gdW5zaWduZWQgaW50IFBBU0NBTCBhY2NlcHQgKHVuc2lnbmVkIGludCwgY29uc3Qgc3RydWN0 IHNvY2thZGRyICosIHNvY2tsZW5fdCAqKTsKY29uZmlndXJlOjE0NzkxOiB4ODZfNjQtdzY0LW1p bmd3MzItZ2NjIC1jIC1XYWxsIC1XbWlzc2luZy1wcm90b3R5cGVzIC1XcG9pbnRlci1hcml0aCAt V2RlY2xhcmF0aW9uLWFmdGVyLXN0YXRlbWVudCAtV2VuZGlmLWxhYmVscyAtV21pc3NpbmctZm9y bWF0LWF0dHJpYnV0ZSAtV2Zvcm1hdC1zZWN1cml0eSAtZm5vLXN0cmljdC1hbGlhc2luZyAtZndy YXB2IC1mZXhjZXNzLXByZWNpc2lvbj1zdGFuZGFyZCAtV25vLWZvcm1hdC10cnVuY2F0aW9uIC1X bm8tc3RyaW5nb3AtdHJ1bmNhdGlvbiAtZyAtTyAtZm5vLW9taXQtZnJhbWUtcG9pbnRlciAgLUkv dy9SLTMuNS5fL3Bvc3RncmVzL3NyYy9pbmNsdWRlL3BvcnQvd2luMzIgLURFWEVDX0JBQ0tFTkQg IC1JL3cvemxpYi0xLjIuOC13aW4zMi14ODZfNjQvaW5jbHVkZSAtSS93L29wZW5zc2wtMS4wLjJl LXdpbjMyLXg4Nl82NC9pbmNsdWRlIC1JL3cvbGlieG1sMi0yLjkuMy13aW4zMi14ODZfNjQvaW5j bHVkZS9saWJ4bWwyIC1JL3cvbGlieHNsdC0xLjEuMjgtd2luMzIteDg2XzY0L2luY2x1ZGUgY29u ZnRlc3QuYyA+JjUKY29uZnRlc3QuYzo3OToyODogZXJyb3I6IGNvbmZsaWN0aW5nIHR5cGVzIGZv ciAnYWNjZXB0JwogZXh0ZXJuIHVuc2lnbmVkIGludCBQQVNDQUwgYWNjZXB0ICh1bnNpZ25lZCBp bnQsIGNvbnN0IHN0cnVjdCBzb2NrYWRkciAqLCB1bnNpZ25lZCBpbnQgKik7CiAgICAgICAgICAg ICAgICAgICAgICAgICAgICBefn5+fn4KSW4gZmlsZSBpbmNsdWRlZCBmcm9tIFc6L1ItMy41Ll8v cG9zdGdyZXMvc3JjL2luY2x1ZGUvcG9ydC93aW4zMi9zeXMvc29ja2V0Lmg6MTQsCiAgICAgICAg ICAgICAgICAgZnJvbSBjb25mdGVzdC5jOjc4OgpDOi9tc3lzNjQvbWluZ3c2NC94ODZfNjQtdzY0 LW1pbmd3MzIvaW5jbHVkZS93aW5zb2NrMi5oOjk3MzozNzogbm90ZTogcHJldmlvdXMgZGVjbGFy YXRpb24gb2YgJ2FjY2VwdCcgd2FzIGhlcmUKICAgV0lOU09DS19BUElfTElOS0FHRSBTT0NLRVQg V1NBQVBJIGFjY2VwdChTT0NLRVQgcyxzdHJ1Y3Qgc29ja2FkZHIgKmFkZHIsaW50ICphZGRybGVu KTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF5+fn5+fgpjb25maWd1cmU6 MTQ3OTE6ICQ/ID0gMQpjb25maWd1cmU6IGZhaWxlZCBwcm9ncmFtIHdhczoKfCAvKiBjb25mZGVm cy5oICovCnwgI2RlZmluZSBQQUNLQUdFX05BTUUgIlBvc3RncmVTUUwiCnwgI2RlZmluZSBQQUNL QUdFX1RBUk5BTUUgInBvc3RncmVzcWwiCnwgI2RlZmluZSBQQUNLQUdFX1ZFUlNJT04gIjExYmV0 YTMiCnwgI2RlZmluZSBQQUNLQUdFX1NUUklORyAiUG9zdGdyZVNRTCAxMWJldGEzIgp8ICNkZWZp bmUgUEFDS0FHRV9CVUdSRVBPUlQgInBnc3FsLWJ1Z3NAcG9zdGdyZXNxbC5vcmciCnwgI2RlZmlu ZSBQQUNLQUdFX1VSTCAiIgp8ICNkZWZpbmUgUEdfTUFKT1JWRVJTSU9OICIxMSIKfCAjZGVmaW5l IFBHX1ZFUlNJT04gIjExYmV0YTMiCnwgI2RlZmluZSBERUZfUEdQT1JUIDU0MzIKfCAjZGVmaW5l IERFRl9QR1BPUlRfU1RSICI1NDMyIgp8ICNkZWZpbmUgQkxDS1NaIDgxOTIKfCAjZGVmaW5lIFJF TFNFR19TSVpFIDEzMTA3Mgp8ICNkZWZpbmUgWExPR19CTENLU1ogODE5Mgp8ICNkZWZpbmUgVVNF X0FTU0VSVF9DSEVDS0lORyAxCnwgI2RlZmluZSBFTkFCTEVfVEhSRUFEX1NBRkVUWSAxCnwgI2Rl ZmluZSBVU0VfSUNVIDEKfCAjZGVmaW5lIFBHX0tSQl9TUlZOQU0gInBvc3RncmVzIgp8ICNkZWZp bmUgVVNFX09QRU5TU0wgMQp8ICNkZWZpbmUgVVNFX0xJQlhNTCAxCnwgI2RlZmluZSBVU0VfTElC WFNMVCAxCnwgI2RlZmluZSBTVERDX0hFQURFUlMgMQp8ICNkZWZpbmUgSEFWRV9TWVNfVFlQRVNf SCAxCnwgI2RlZmluZSBIQVZFX1NZU19TVEFUX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERMSUJfSCAx CnwgI2RlZmluZSBIQVZFX1NUUklOR19IIDEKfCAjZGVmaW5lIEhBVkVfTUVNT1JZX0ggMQp8ICNk ZWZpbmUgSEFWRV9TVFJJTkdTX0ggMQp8ICNkZWZpbmUgSEFWRV9JTlRUWVBFU19IIDEKfCAjZGVm aW5lIEhBVkVfU1RESU5UX0ggMQp8ICNkZWZpbmUgSEFWRV9VTklTVERfSCAxCnwgI2RlZmluZSBI QVZFX0xJQk0gMQp8ICNkZWZpbmUgSEFWRV9MSUJaIDEKfCAjZGVmaW5lIEhBVkVfU1BJTkxPQ0tT IDEKfCAjZGVmaW5lIEhBVkVfQVRPTUlDUyAxCnwgI2RlZmluZSBIQVZFX1NTTF9HRVRfQ1VSUkVO VF9DT01QUkVTU0lPTiAxCnwgI2RlZmluZSBIQVZFX1g1MDlfR0VUX1NJR05BVFVSRV9OSUQgMQp8 ICNkZWZpbmUgSEFWRV9DUllQVE9fTE9DSyAxCnwgI2RlZmluZSBIQVZFX0xJQlhNTDIgMQp8ICNk ZWZpbmUgSEFWRV9MSUJYU0xUIDEKfCAjZGVmaW5lIEhBVkVfX0JPT0wgMQp8ICNkZWZpbmUgSEFW RV9TVERCT09MX0ggMQp8ICNkZWZpbmUgSEFWRV9HRVRPUFRfSCAxCnwgI2RlZmluZSBIQVZFX0lF RUVGUF9IIDEKfCAjZGVmaW5lIEhBVkVfVVRJTUVfSCAxCnwgI2RlZmluZSBIQVZFX1dDSEFSX0gg MQp8ICNkZWZpbmUgSEFWRV9XQ1RZUEVfSCAxCnwgI2RlZmluZSBIQVZFX0NSVERFRlNfSCAxCnwg I2RlZmluZSBQR19QUklOVEZfQVRUUklCVVRFIGdudV9wcmludGYKfCAjZGVmaW5lIEZMRVhJQkxF X0FSUkFZX01FTUJFUiAvKiovCnwgI2RlZmluZSBIQVZFX0ZVTkNOQU1FX19GVU5DIDEKfCAjZGVm aW5lIEhBVkVfX1NUQVRJQ19BU1NFUlQgMQp8ICNkZWZpbmUgSEFWRV9UWVBFT0YgMQp8ICNkZWZp bmUgSEFWRV9fQlVJTFRJTl9UWVBFU19DT01QQVRJQkxFX1AgMQp8ICNkZWZpbmUgSEFWRV9fQlVJ TFRJTl9CU1dBUDE2IDEKfCAjZGVmaW5lIEhBVkVfX0JVSUxUSU5fQlNXQVAzMiAxCnwgI2RlZmlu ZSBIQVZFX19CVUlMVElOX0JTV0FQNjQgMQp8ICNkZWZpbmUgSEFWRV9fQlVJTFRJTl9DT05TVEFO VF9QIDEKfCAjZGVmaW5lIEhBVkVfX0JVSUxUSU5fVU5SRUFDSEFCTEUgMQp8ICNkZWZpbmUgSEFW RV9DT01QVVRFRF9HT1RPIDEKfCAjZGVmaW5lIEhBVkVfX1ZBX0FSR1MgMQp8ICNkZWZpbmUgSEFW RV9UWk5BTUUgMQp8ICNkZWZpbmUgSEFWRV9TVFJVQ1RfU09DS0FERFJfU1RPUkFHRSAxCnwgI2Rl ZmluZSBIQVZFX1NUUlVDVF9TT0NLQUREUl9TVE9SQUdFX1NTX0ZBTUlMWSAxCnwgI2RlZmluZSBI QVZFX1NUUlVDVF9BRERSSU5GTyAxCnwgI2RlZmluZSBIQVZFX0lOVFBUUl9UIDEKfCAjZGVmaW5l IEhBVkVfVUlOVFBUUl9UIDEKfCAjZGVmaW5lIEhBVkVfVU5TSUdORURfTE9OR19MT05HX0lOVCAx CnwgI2RlZmluZSBIQVZFX0xPTkdfTE9OR19JTlQgMQp8ICNkZWZpbmUgcmVzdHJpY3QgX19yZXN0 cmljdAp8ICNkZWZpbmUgcGdfcmVzdHJpY3QgX19yZXN0cmljdAp8ICNkZWZpbmUgSEFWRV9TVFJV Q1RfT1BUSU9OIDEKfCAjZGVmaW5lIFNJWkVPRl9PRkZfVCA0CnwgI2RlZmluZSBTSVpFT0ZfQk9P TCAxCnwgI2RlZmluZSBIQVZFX0lOVF9USU1FWk9ORSAxCnwgLyogZW5kIGNvbmZkZWZzLmguICAq Lwp8ICNpbmNsdWRlIDxzeXMvdHlwZXMuaD4KfCAjaW5jbHVkZSA8c3lzL3NvY2tldC5oPgp8IGV4 dGVybiB1bnNpZ25lZCBpbnQgUEFTQ0FMIGFjY2VwdCAodW5zaWduZWQgaW50LCBjb25zdCBzdHJ1 Y3Qgc29ja2FkZHIgKiwgdW5zaWduZWQgaW50ICopOwpjb25maWd1cmU6MTQ3OTE6IHg4Nl82NC13 NjQtbWluZ3czMi1nY2MgLWMgLVdhbGwgLVdtaXNzaW5nLXByb3RvdHlwZXMgLVdwb2ludGVyLWFy aXRoIC1XZGVjbGFyYXRpb24tYWZ0ZXItc3RhdGVtZW50IC1XZW5kaWYtbGFiZWxzIC1XbWlzc2lu Zy1mb3JtYXQtYXR0cmlidXRlIC1XZm9ybWF0LXNlY3VyaXR5IC1mbm8tc3RyaWN0LWFsaWFzaW5n IC1md3JhcHYgLWZleGNlc3MtcHJlY2lzaW9uPXN0YW5kYXJkIC1Xbm8tZm9ybWF0LXRydW5jYXRp b24gLVduby1zdHJpbmdvcC10cnVuY2F0aW9uIC1nIC1PIC1mbm8tb21pdC1mcmFtZS1wb2ludGVy ICAtSS93L1ItMy41Ll8vcG9zdGdyZXMvc3JjL2luY2x1ZGUvcG9ydC93aW4zMiAtREVYRUNfQkFD S0VORCAgLUkvdy96bGliLTEuMi44LXdpbjMyLXg4Nl82NC9pbmNsdWRlIC1JL3cvb3BlbnNzbC0x LjAuMmUtd2luMzIteDg2XzY0L2luY2x1ZGUgLUkvdy9saWJ4bWwyLTIuOS4zLXdpbjMyLXg4Nl82 NC9pbmNsdWRlL2xpYnhtbDIgLUkvdy9saWJ4c2x0LTEuMS4yOC13aW4zMi14ODZfNjQvaW5jbHVk ZSBjb25mdGVzdC5jID4mNQpjb25mdGVzdC5jOjc5OjI4OiBlcnJvcjogY29uZmxpY3RpbmcgdHlw ZXMgZm9yICdhY2NlcHQnCiBleHRlcm4gdW5zaWduZWQgaW50IFBBU0NBTCBhY2NlcHQgKHVuc2ln bmVkIGludCwgY29uc3Qgc3RydWN0IHNvY2thZGRyICosIHZvaWQgKik7CiAgICAgICAgICAgICAg ICAgICAgICAgICAgICBefn5+fn4KSW4gZmlsZSBpbmNsdWRlZCBmcm9tIFc6L1ItMy41Ll8vcG9z dGdyZXMvc3JjL2luY2x1ZGUvcG9ydC93aW4zMi9zeXMvc29ja2V0Lmg6MTQsCiAgICAgICAgICAg ICAgICAgZnJvbSBjb25mdGVzdC5jOjc4OgpDOi9tc3lzNjQvbWluZ3c2NC94ODZfNjQtdzY0LW1p bmd3MzIvaW5jbHVkZS93aW5zb2NrMi5oOjk3MzozNzogbm90ZTogcHJldmlvdXMgZGVjbGFyYXRp b24gb2YgJ2FjY2VwdCcgd2FzIGhlcmUKICAgV0lOU09DS19BUElfTElOS0FHRSBTT0NLRVQgV1NB QVBJIGFjY2VwdChTT0NLRVQgcyxzdHJ1Y3Qgc29ja2FkZHIgKmFkZHIsaW50ICphZGRybGVuKTsK ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF5+fn5+fgpjb25maWd1cmU6MTQ3 OTE6ICQ/ID0gMQpjb25maWd1cmU6IGZhaWxlZCBwcm9ncmFtIHdhczoKfCAvKiBjb25mZGVmcy5o ICovCnwgI2RlZmluZSBQQUNLQUdFX05BTUUgIlBvc3RncmVTUUwiCnwgI2RlZmluZSBQQUNLQUdF X1RBUk5BTUUgInBvc3RncmVzcWwiCnwgI2RlZmluZSBQQUNLQUdFX1ZFUlNJT04gIjExYmV0YTMi CnwgI2RlZmluZSBQQUNLQUdFX1NUUklORyAiUG9zdGdyZVNRTCAxMWJldGEzIgp8ICNkZWZpbmUg UEFDS0FHRV9CVUdSRVBPUlQgInBnc3FsLWJ1Z3NAcG9zdGdyZXNxbC5vcmciCnwgI2RlZmluZSBQ QUNLQUdFX1VSTCAiIgp8ICNkZWZpbmUgUEdfTUFKT1JWRVJTSU9OICIxMSIKfCAjZGVmaW5lIFBH X1ZFUlNJT04gIjExYmV0YTMiCnwgI2RlZmluZSBERUZfUEdQT1JUIDU0MzIKfCAjZGVmaW5lIERF Rl9QR1BPUlRfU1RSICI1NDMyIgp8ICNkZWZpbmUgQkxDS1NaIDgxOTIKfCAjZGVmaW5lIFJFTFNF R19TSVpFIDEzMTA3Mgp8ICNkZWZpbmUgWExPR19CTENLU1ogODE5Mgp8ICNkZWZpbmUgVVNFX0FT U0VSVF9DSEVDS0lORyAxCnwgI2RlZmluZSBFTkFCTEVfVEhSRUFEX1NBRkVUWSAxCnwgI2RlZmlu ZSBVU0VfSUNVIDEKfCAjZGVmaW5lIFBHX0tSQl9TUlZOQU0gInBvc3RncmVzIgp8ICNkZWZpbmUg VVNFX09QRU5TU0wgMQp8ICNkZWZpbmUgVVNFX0xJQlhNTCAxCnwgI2RlZmluZSBVU0VfTElCWFNM VCAxCnwgI2RlZmluZSBTVERDX0hFQURFUlMgMQp8ICNkZWZpbmUgSEFWRV9TWVNfVFlQRVNfSCAx CnwgI2RlZmluZSBIQVZFX1NZU19TVEFUX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERMSUJfSCAxCnwg I2RlZmluZSBIQVZFX1NUUklOR19IIDEKfCAjZGVmaW5lIEhBVkVfTUVNT1JZX0ggMQp8ICNkZWZp bmUgSEFWRV9TVFJJTkdTX0ggMQp8ICNkZWZpbmUgSEFWRV9JTlRUWVBFU19IIDEKfCAjZGVmaW5l IEhBVkVfU1RESU5UX0ggMQp8ICNkZWZpbmUgSEFWRV9VTklTVERfSCAxCnwgI2RlZmluZSBIQVZF X0xJQk0gMQp8ICNkZWZpbmUgSEFWRV9MSUJaIDEKfCAjZGVmaW5lIEhBVkVfU1BJTkxPQ0tTIDEK fCAjZGVmaW5lIEhBVkVfQVRPTUlDUyAxCnwgI2RlZmluZSBIQVZFX1NTTF9HRVRfQ1VSUkVOVF9D T01QUkVTU0lPTiAxCnwgI2RlZmluZSBIQVZFX1g1MDlfR0VUX1NJR05BVFVSRV9OSUQgMQp8ICNk ZWZpbmUgSEFWRV9DUllQVE9fTE9DSyAxCnwgI2RlZmluZSBIQVZFX0xJQlhNTDIgMQp8ICNkZWZp bmUgSEFWRV9MSUJYU0xUIDEKfCAjZGVmaW5lIEhBVkVfX0JPT0wgMQp8ICNkZWZpbmUgSEFWRV9T VERCT09MX0ggMQp8ICNkZWZpbmUgSEFWRV9HRVRPUFRfSCAxCnwgI2RlZmluZSBIQVZFX0lFRUVG UF9IIDEKfCAjZGVmaW5lIEhBVkVfVVRJTUVfSCAxCnwgI2RlZmluZSBIQVZFX1dDSEFSX0ggMQp8 ICNkZWZpbmUgSEFWRV9XQ1RZUEVfSCAxCnwgI2RlZmluZSBIQVZFX0NSVERFRlNfSCAxCnwgI2Rl ZmluZSBQR19QUklOVEZfQVRUUklCVVRFIGdudV9wcmludGYKfCAjZGVmaW5lIEZMRVhJQkxFX0FS UkFZX01FTUJFUiAvKiovCnwgI2RlZmluZSBIQVZFX0ZVTkNOQU1FX19GVU5DIDEKfCAjZGVmaW5l IEhBVkVfX1NUQVRJQ19BU1NFUlQgMQp8ICNkZWZpbmUgSEFWRV9UWVBFT0YgMQp8ICNkZWZpbmUg SEFWRV9fQlVJTFRJTl9UWVBFU19DT01QQVRJQkxFX1AgMQp8ICNkZWZpbmUgSEFWRV9fQlVJTFRJ Tl9CU1dBUDE2IDEKfCAjZGVmaW5lIEhBVkVfX0JVSUxUSU5fQlNXQVAzMiAxCnwgI2RlZmluZSBI QVZFX19CVUlMVElOX0JTV0FQNjQgMQp8ICNkZWZpbmUgSEFWRV9fQlVJTFRJTl9DT05TVEFOVF9Q IDEKfCAjZGVmaW5lIEhBVkVfX0JVSUxUSU5fVU5SRUFDSEFCTEUgMQp8ICNkZWZpbmUgSEFWRV9D T01QVVRFRF9HT1RPIDEKfCAjZGVmaW5lIEhBVkVfX1ZBX0FSR1MgMQp8ICNkZWZpbmUgSEFWRV9U Wk5BTUUgMQp8ICNkZWZpbmUgSEFWRV9TVFJVQ1RfU09DS0FERFJfU1RPUkFHRSAxCnwgI2RlZmlu ZSBIQVZFX1NUUlVDVF9TT0NLQUREUl9TVE9SQUdFX1NTX0ZBTUlMWSAxCnwgI2RlZmluZSBIQVZF X1NUUlVDVF9BRERSSU5GTyAxCnwgI2RlZmluZSBIQVZFX0lOVFBUUl9UIDEKfCAjZGVmaW5lIEhB VkVfVUlOVFBUUl9UIDEKfCAjZGVmaW5lIEhBVkVfVU5TSUdORURfTE9OR19MT05HX0lOVCAxCnwg I2RlZmluZSBIQVZFX0xPTkdfTE9OR19JTlQgMQp8ICNkZWZpbmUgcmVzdHJpY3QgX19yZXN0cmlj dAp8ICNkZWZpbmUgcGdfcmVzdHJpY3QgX19yZXN0cmljdAp8ICNkZWZpbmUgSEFWRV9TVFJVQ1Rf T1BUSU9OIDEKfCAjZGVmaW5lIFNJWkVPRl9PRkZfVCA0CnwgI2RlZmluZSBTSVpFT0ZfQk9PTCAx CnwgI2RlZmluZSBIQVZFX0lOVF9USU1FWk9ORSAxCnwgLyogZW5kIGNvbmZkZWZzLmguICAqLwp8 ICNpbmNsdWRlIDxzeXMvdHlwZXMuaD4KfCAjaW5jbHVkZSA8c3lzL3NvY2tldC5oPgp8IGV4dGVy biB1bnNpZ25lZCBpbnQgUEFTQ0FMIGFjY2VwdCAodW5zaWduZWQgaW50LCBjb25zdCBzdHJ1Y3Qg c29ja2FkZHIgKiwgdm9pZCAqKTsKY29uZmlndXJlOjE0NzkxOiB4ODZfNjQtdzY0LW1pbmd3MzIt Z2NjIC1jIC1XYWxsIC1XbWlzc2luZy1wcm90b3R5cGVzIC1XcG9pbnRlci1hcml0aCAtV2RlY2xh cmF0aW9uLWFmdGVyLXN0YXRlbWVudCAtV2VuZGlmLWxhYmVscyAtV21pc3NpbmctZm9ybWF0LWF0 dHJpYnV0ZSAtV2Zvcm1hdC1zZWN1cml0eSAtZm5vLXN0cmljdC1hbGlhc2luZyAtZndyYXB2IC1m ZXhjZXNzLXByZWNpc2lvbj1zdGFuZGFyZCAtV25vLWZvcm1hdC10cnVuY2F0aW9uIC1Xbm8tc3Ry aW5nb3AtdHJ1bmNhdGlvbiAtZyAtTyAtZm5vLW9taXQtZnJhbWUtcG9pbnRlciAgLUkvdy9SLTMu NS5fL3Bvc3RncmVzL3NyYy9pbmNsdWRlL3BvcnQvd2luMzIgLURFWEVDX0JBQ0tFTkQgIC1JL3cv emxpYi0xLjIuOC13aW4zMi14ODZfNjQvaW5jbHVkZSAtSS93L29wZW5zc2wtMS4wLjJlLXdpbjMy LXg4Nl82NC9pbmNsdWRlIC1JL3cvbGlieG1sMi0yLjkuMy13aW4zMi14ODZfNjQvaW5jbHVkZS9s aWJ4bWwyIC1JL3cvbGlieHNsdC0xLjEuMjgtd2luMzIteDg2XzY0L2luY2x1ZGUgY29uZnRlc3Qu YyA+JjUKY29uZnRlc3QuYzo3OToyODogZXJyb3I6IGNvbmZsaWN0aW5nIHR5cGVzIGZvciAnYWNj ZXB0JwogZXh0ZXJuIHVuc2lnbmVkIGludCBQQVNDQUwgYWNjZXB0ICh1bnNpZ25lZCBpbnQsIHZv aWQgKiwgaW50ICopOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgXn5+fn5+CkluIGZpbGUg aW5jbHVkZWQgZnJvbSBXOi9SLTMuNS5fL3Bvc3RncmVzL3NyYy9pbmNsdWRlL3BvcnQvd2luMzIv c3lzL3NvY2tldC5oOjE0LAogICAgICAgICAgICAgICAgIGZyb20gY29uZnRlc3QuYzo3ODoKQzov bXN5czY0L21pbmd3NjQveDg2XzY0LXc2NC1taW5ndzMyL2luY2x1ZGUvd2luc29jazIuaDo5NzM6 Mzc6IG5vdGU6IHByZXZpb3VzIGRlY2xhcmF0aW9uIG9mICdhY2NlcHQnIHdhcyBoZXJlCiAgIFdJ TlNPQ0tfQVBJX0xJTktBR0UgU09DS0VUIFdTQUFQSSBhY2NlcHQoU09DS0VUIHMsc3RydWN0IHNv Y2thZGRyICphZGRyLGludCAqYWRkcmxlbik7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICBefn5+fn4KY29uZmlndXJlOjE0NzkxOiAkPyA9IDEKY29uZmlndXJlOiBmYWlsZWQg cHJvZ3JhbSB3YXM6CnwgLyogY29uZmRlZnMuaCAqLwp8ICNkZWZpbmUgUEFDS0FHRV9OQU1FICJQ b3N0Z3JlU1FMIgp8ICNkZWZpbmUgUEFDS0FHRV9UQVJOQU1FICJwb3N0Z3Jlc3FsIgp8ICNkZWZp bmUgUEFDS0FHRV9WRVJTSU9OICIxMWJldGEzIgp8ICNkZWZpbmUgUEFDS0FHRV9TVFJJTkcgIlBv c3RncmVTUUwgMTFiZXRhMyIKfCAjZGVmaW5lIFBBQ0tBR0VfQlVHUkVQT1JUICJwZ3NxbC1idWdz QHBvc3RncmVzcWwub3JnIgp8ICNkZWZpbmUgUEFDS0FHRV9VUkwgIiIKfCAjZGVmaW5lIFBHX01B Sk9SVkVSU0lPTiAiMTEiCnwgI2RlZmluZSBQR19WRVJTSU9OICIxMWJldGEzIgp8ICNkZWZpbmUg REVGX1BHUE9SVCA1NDMyCnwgI2RlZmluZSBERUZfUEdQT1JUX1NUUiAiNTQzMiIKfCAjZGVmaW5l IEJMQ0tTWiA4MTkyCnwgI2RlZmluZSBSRUxTRUdfU0laRSAxMzEwNzIKfCAjZGVmaW5lIFhMT0df QkxDS1NaIDgxOTIKfCAjZGVmaW5lIFVTRV9BU1NFUlRfQ0hFQ0tJTkcgMQp8ICNkZWZpbmUgRU5B QkxFX1RIUkVBRF9TQUZFVFkgMQp8ICNkZWZpbmUgVVNFX0lDVSAxCnwgI2RlZmluZSBQR19LUkJf U1JWTkFNICJwb3N0Z3JlcyIKfCAjZGVmaW5lIFVTRV9PUEVOU1NMIDEKfCAjZGVmaW5lIFVTRV9M SUJYTUwgMQp8ICNkZWZpbmUgVVNFX0xJQlhTTFQgMQp8ICNkZWZpbmUgU1REQ19IRUFERVJTIDEK fCAjZGVmaW5lIEhBVkVfU1lTX1RZUEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfU1RBVF9IIDEK fCAjZGVmaW5lIEhBVkVfU1RETElCX0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJJTkdfSCAxCnwgI2Rl ZmluZSBIQVZFX01FTU9SWV9IIDEKfCAjZGVmaW5lIEhBVkVfU1RSSU5HU19IIDEKfCAjZGVmaW5l IEhBVkVfSU5UVFlQRVNfSCAxCnwgI2RlZmluZSBIQVZFX1NURElOVF9IIDEKfCAjZGVmaW5lIEhB VkVfVU5JU1REX0ggMQp8ICNkZWZpbmUgSEFWRV9MSUJNIDEKfCAjZGVmaW5lIEhBVkVfTElCWiAx CnwgI2RlZmluZSBIQVZFX1NQSU5MT0NLUyAxCnwgI2RlZmluZSBIQVZFX0FUT01JQ1MgMQp8ICNk ZWZpbmUgSEFWRV9TU0xfR0VUX0NVUlJFTlRfQ09NUFJFU1NJT04gMQp8ICNkZWZpbmUgSEFWRV9Y NTA5X0dFVF9TSUdOQVRVUkVfTklEIDEKfCAjZGVmaW5lIEhBVkVfQ1JZUFRPX0xPQ0sgMQp8ICNk ZWZpbmUgSEFWRV9MSUJYTUwyIDEKfCAjZGVmaW5lIEhBVkVfTElCWFNMVCAxCnwgI2RlZmluZSBI QVZFX19CT09MIDEKfCAjZGVmaW5lIEhBVkVfU1REQk9PTF9IIDEKfCAjZGVmaW5lIEhBVkVfR0VU T1BUX0ggMQp8ICNkZWZpbmUgSEFWRV9JRUVFRlBfSCAxCnwgI2RlZmluZSBIQVZFX1VUSU1FX0gg MQp8ICNkZWZpbmUgSEFWRV9XQ0hBUl9IIDEKfCAjZGVmaW5lIEhBVkVfV0NUWVBFX0ggMQp8ICNk ZWZpbmUgSEFWRV9DUlRERUZTX0ggMQp8ICNkZWZpbmUgUEdfUFJJTlRGX0FUVFJJQlVURSBnbnVf cHJpbnRmCnwgI2RlZmluZSBGTEVYSUJMRV9BUlJBWV9NRU1CRVIgLyoqLwp8ICNkZWZpbmUgSEFW RV9GVU5DTkFNRV9fRlVOQyAxCnwgI2RlZmluZSBIQVZFX19TVEFUSUNfQVNTRVJUIDEKfCAjZGVm aW5lIEhBVkVfVFlQRU9GIDEKfCAjZGVmaW5lIEhBVkVfX0JVSUxUSU5fVFlQRVNfQ09NUEFUSUJM RV9QIDEKfCAjZGVmaW5lIEhBVkVfX0JVSUxUSU5fQlNXQVAxNiAxCnwgI2RlZmluZSBIQVZFX19C VUlMVElOX0JTV0FQMzIgMQp8ICNkZWZpbmUgSEFWRV9fQlVJTFRJTl9CU1dBUDY0IDEKfCAjZGVm aW5lIEhBVkVfX0JVSUxUSU5fQ09OU1RBTlRfUCAxCnwgI2RlZmluZSBIQVZFX19CVUlMVElOX1VO UkVBQ0hBQkxFIDEKfCAjZGVmaW5lIEhBVkVfQ09NUFVURURfR09UTyAxCnwgI2RlZmluZSBIQVZF X19WQV9BUkdTIDEKfCAjZGVmaW5lIEhBVkVfVFpOQU1FIDEKfCAjZGVmaW5lIEhBVkVfU1RSVUNU X1NPQ0tBRERSX1NUT1JBR0UgMQp8ICNkZWZpbmUgSEFWRV9TVFJVQ1RfU09DS0FERFJfU1RPUkFH RV9TU19GQU1JTFkgMQp8ICNkZWZpbmUgSEFWRV9TVFJVQ1RfQUREUklORk8gMQp8ICNkZWZpbmUg SEFWRV9JTlRQVFJfVCAxCnwgI2RlZmluZSBIQVZFX1VJTlRQVFJfVCAxCnwgI2RlZmluZSBIQVZF X1VOU0lHTkVEX0xPTkdfTE9OR19JTlQgMQp8ICNkZWZpbmUgSEFWRV9MT05HX0xPTkdfSU5UIDEK fCAjZGVmaW5lIHJlc3RyaWN0IF9fcmVzdHJpY3QKfCAjZGVmaW5lIHBnX3Jlc3RyaWN0IF9fcmVz dHJpY3QKfCAjZGVmaW5lIEhBVkVfU1RSVUNUX09QVElPTiAxCnwgI2RlZmluZSBTSVpFT0ZfT0ZG X1QgNAp8ICNkZWZpbmUgU0laRU9GX0JPT0wgMQp8ICNkZWZpbmUgSEFWRV9JTlRfVElNRVpPTkUg MQp8IC8qIGVuZCBjb25mZGVmcy5oLiAgKi8KfCAjaW5jbHVkZSA8c3lzL3R5cGVzLmg+CnwgI2lu Y2x1ZGUgPHN5cy9zb2NrZXQuaD4KfCBleHRlcm4gdW5zaWduZWQgaW50IFBBU0NBTCBhY2NlcHQg KHVuc2lnbmVkIGludCwgdm9pZCAqLCBpbnQgKik7CmNvbmZpZ3VyZToxNDc5MTogeDg2XzY0LXc2 NC1taW5ndzMyLWdjYyAtYyAtV2FsbCAtV21pc3NpbmctcHJvdG90eXBlcyAtV3BvaW50ZXItYXJp dGggLVdkZWNsYXJhdGlvbi1hZnRlci1zdGF0ZW1lbnQgLVdlbmRpZi1sYWJlbHMgLVdtaXNzaW5n LWZvcm1hdC1hdHRyaWJ1dGUgLVdmb3JtYXQtc2VjdXJpdHkgLWZuby1zdHJpY3QtYWxpYXNpbmcg LWZ3cmFwdiAtZmV4Y2Vzcy1wcmVjaXNpb249c3RhbmRhcmQgLVduby1mb3JtYXQtdHJ1bmNhdGlv biAtV25vLXN0cmluZ29wLXRydW5jYXRpb24gLWcgLU8gLWZuby1vbWl0LWZyYW1lLXBvaW50ZXIg IC1JL3cvUi0zLjUuXy9wb3N0Z3Jlcy9zcmMvaW5jbHVkZS9wb3J0L3dpbjMyIC1ERVhFQ19CQUNL RU5EICAtSS93L3psaWItMS4yLjgtd2luMzIteDg2XzY0L2luY2x1ZGUgLUkvdy9vcGVuc3NsLTEu MC4yZS13aW4zMi14ODZfNjQvaW5jbHVkZSAtSS93L2xpYnhtbDItMi45LjMtd2luMzIteDg2XzY0 L2luY2x1ZGUvbGlieG1sMiAtSS93L2xpYnhzbHQtMS4xLjI4LXdpbjMyLXg4Nl82NC9pbmNsdWRl IGNvbmZ0ZXN0LmMgPiY1CmNvbmZ0ZXN0LmM6Nzk6Mjg6IGVycm9yOiBjb25mbGljdGluZyB0eXBl cyBmb3IgJ2FjY2VwdCcKIGV4dGVybiB1bnNpZ25lZCBpbnQgUEFTQ0FMIGFjY2VwdCAodW5zaWdu ZWQgaW50LCB2b2lkICosIHNpemVfdCAqKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIF5+ fn5+fgpJbiBmaWxlIGluY2x1ZGVkIGZyb20gVzovUi0zLjUuXy9wb3N0Z3Jlcy9zcmMvaW5jbHVk ZS9wb3J0L3dpbjMyL3N5cy9zb2NrZXQuaDoxNCwKICAgICAgICAgICAgICAgICBmcm9tIGNvbmZ0 ZXN0LmM6Nzg6CkM6L21zeXM2NC9taW5ndzY0L3g4Nl82NC13NjQtbWluZ3czMi9pbmNsdWRlL3dp bnNvY2syLmg6OTczOjM3OiBub3RlOiBwcmV2aW91cyBkZWNsYXJhdGlvbiBvZiAnYWNjZXB0JyB3 YXMgaGVyZQogICBXSU5TT0NLX0FQSV9MSU5LQUdFIFNPQ0tFVCBXU0FBUEkgYWNjZXB0KFNPQ0tF VCBzLHN0cnVjdCBzb2NrYWRkciAqYWRkcixpbnQgKmFkZHJsZW4pOwogICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgXn5+fn5+CmNvbmZpZ3VyZToxNDc5MTogJD8gPSAxCmNvbmZp Z3VyZTogZmFpbGVkIHByb2dyYW0gd2FzOgp8IC8qIGNvbmZkZWZzLmggKi8KfCAjZGVmaW5lIFBB Q0tBR0VfTkFNRSAiUG9zdGdyZVNRTCIKfCAjZGVmaW5lIFBBQ0tBR0VfVEFSTkFNRSAicG9zdGdy ZXNxbCIKfCAjZGVmaW5lIFBBQ0tBR0VfVkVSU0lPTiAiMTFiZXRhMyIKfCAjZGVmaW5lIFBBQ0tB R0VfU1RSSU5HICJQb3N0Z3JlU1FMIDExYmV0YTMiCnwgI2RlZmluZSBQQUNLQUdFX0JVR1JFUE9S VCAicGdzcWwtYnVnc0Bwb3N0Z3Jlc3FsLm9yZyIKfCAjZGVmaW5lIFBBQ0tBR0VfVVJMICIiCnwg I2RlZmluZSBQR19NQUpPUlZFUlNJT04gIjExIgp8ICNkZWZpbmUgUEdfVkVSU0lPTiAiMTFiZXRh MyIKfCAjZGVmaW5lIERFRl9QR1BPUlQgNTQzMgp8ICNkZWZpbmUgREVGX1BHUE9SVF9TVFIgIjU0 MzIiCnwgI2RlZmluZSBCTENLU1ogODE5Mgp8ICNkZWZpbmUgUkVMU0VHX1NJWkUgMTMxMDcyCnwg I2RlZmluZSBYTE9HX0JMQ0tTWiA4MTkyCnwgI2RlZmluZSBVU0VfQVNTRVJUX0NIRUNLSU5HIDEK fCAjZGVmaW5lIEVOQUJMRV9USFJFQURfU0FGRVRZIDEKfCAjZGVmaW5lIFVTRV9JQ1UgMQp8ICNk ZWZpbmUgUEdfS1JCX1NSVk5BTSAicG9zdGdyZXMiCnwgI2RlZmluZSBVU0VfT1BFTlNTTCAxCnwg I2RlZmluZSBVU0VfTElCWE1MIDEKfCAjZGVmaW5lIFVTRV9MSUJYU0xUIDEKfCAjZGVmaW5lIFNU RENfSEVBREVSUyAxCnwgI2RlZmluZSBIQVZFX1NZU19UWVBFU19IIDEKfCAjZGVmaW5lIEhBVkVf U1lTX1NUQVRfSCAxCnwgI2RlZmluZSBIQVZFX1NURExJQl9IIDEKfCAjZGVmaW5lIEhBVkVfU1RS SU5HX0ggMQp8ICNkZWZpbmUgSEFWRV9NRU1PUllfSCAxCnwgI2RlZmluZSBIQVZFX1NUUklOR1Nf SCAxCnwgI2RlZmluZSBIQVZFX0lOVFRZUEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERJTlRfSCAx CnwgI2RlZmluZSBIQVZFX1VOSVNURF9IIDEKfCAjZGVmaW5lIEhBVkVfTElCTSAxCnwgI2RlZmlu ZSBIQVZFX0xJQlogMQp8ICNkZWZpbmUgSEFWRV9TUElOTE9DS1MgMQp8ICNkZWZpbmUgSEFWRV9B VE9NSUNTIDEKfCAjZGVmaW5lIEhBVkVfU1NMX0dFVF9DVVJSRU5UX0NPTVBSRVNTSU9OIDEKfCAj ZGVmaW5lIEhBVkVfWDUwOV9HRVRfU0lHTkFUVVJFX05JRCAxCnwgI2RlZmluZSBIQVZFX0NSWVBU T19MT0NLIDEKfCAjZGVmaW5lIEhBVkVfTElCWE1MMiAxCnwgI2RlZmluZSBIQVZFX0xJQlhTTFQg MQp8ICNkZWZpbmUgSEFWRV9fQk9PTCAxCnwgI2RlZmluZSBIQVZFX1NUREJPT0xfSCAxCnwgI2Rl ZmluZSBIQVZFX0dFVE9QVF9IIDEKfCAjZGVmaW5lIEhBVkVfSUVFRUZQX0ggMQp8ICNkZWZpbmUg SEFWRV9VVElNRV9IIDEKfCAjZGVmaW5lIEhBVkVfV0NIQVJfSCAxCnwgI2RlZmluZSBIQVZFX1dD VFlQRV9IIDEKfCAjZGVmaW5lIEhBVkVfQ1JUREVGU19IIDEKfCAjZGVmaW5lIFBHX1BSSU5URl9B VFRSSUJVVEUgZ251X3ByaW50Zgp8ICNkZWZpbmUgRkxFWElCTEVfQVJSQVlfTUVNQkVSIC8qKi8K fCAjZGVmaW5lIEhBVkVfRlVOQ05BTUVfX0ZVTkMgMQp8ICNkZWZpbmUgSEFWRV9fU1RBVElDX0FT U0VSVCAxCnwgI2RlZmluZSBIQVZFX1RZUEVPRiAxCnwgI2RlZmluZSBIQVZFX19CVUlMVElOX1RZ UEVTX0NPTVBBVElCTEVfUCAxCnwgI2RlZmluZSBIQVZFX19CVUlMVElOX0JTV0FQMTYgMQp8ICNk ZWZpbmUgSEFWRV9fQlVJTFRJTl9CU1dBUDMyIDEKfCAjZGVmaW5lIEhBVkVfX0JVSUxUSU5fQlNX QVA2NCAxCnwgI2RlZmluZSBIQVZFX19CVUlMVElOX0NPTlNUQU5UX1AgMQp8ICNkZWZpbmUgSEFW RV9fQlVJTFRJTl9VTlJFQUNIQUJMRSAxCnwgI2RlZmluZSBIQVZFX0NPTVBVVEVEX0dPVE8gMQp8 ICNkZWZpbmUgSEFWRV9fVkFfQVJHUyAxCnwgI2RlZmluZSBIQVZFX1RaTkFNRSAxCnwgI2RlZmlu ZSBIQVZFX1NUUlVDVF9TT0NLQUREUl9TVE9SQUdFIDEKfCAjZGVmaW5lIEhBVkVfU1RSVUNUX1NP Q0tBRERSX1NUT1JBR0VfU1NfRkFNSUxZIDEKfCAjZGVmaW5lIEhBVkVfU1RSVUNUX0FERFJJTkZP IDEKfCAjZGVmaW5lIEhBVkVfSU5UUFRSX1QgMQp8ICNkZWZpbmUgSEFWRV9VSU5UUFRSX1QgMQp8 ICNkZWZpbmUgSEFWRV9VTlNJR05FRF9MT05HX0xPTkdfSU5UIDEKfCAjZGVmaW5lIEhBVkVfTE9O R19MT05HX0lOVCAxCnwgI2RlZmluZSByZXN0cmljdCBfX3Jlc3RyaWN0CnwgI2RlZmluZSBwZ19y ZXN0cmljdCBfX3Jlc3RyaWN0CnwgI2RlZmluZSBIQVZFX1NUUlVDVF9PUFRJT04gMQp8ICNkZWZp bmUgU0laRU9GX09GRl9UIDQKfCAjZGVmaW5lIFNJWkVPRl9CT09MIDEKfCAjZGVmaW5lIEhBVkVf SU5UX1RJTUVaT05FIDEKfCAvKiBlbmQgY29uZmRlZnMuaC4gICovCnwgI2luY2x1ZGUgPHN5cy90 eXBlcy5oPgp8ICNpbmNsdWRlIDxzeXMvc29ja2V0Lmg+CnwgZXh0ZXJuIHVuc2lnbmVkIGludCBQ QVNDQUwgYWNjZXB0ICh1bnNpZ25lZCBpbnQsIHZvaWQgKiwgc2l6ZV90ICopOwpjb25maWd1cmU6 MTQ3OTE6IHg4Nl82NC13NjQtbWluZ3czMi1nY2MgLWMgLVdhbGwgLVdtaXNzaW5nLXByb3RvdHlw ZXMgLVdwb2ludGVyLWFyaXRoIC1XZGVjbGFyYXRpb24tYWZ0ZXItc3RhdGVtZW50IC1XZW5kaWYt bGFiZWxzIC1XbWlzc2luZy1mb3JtYXQtYXR0cmlidXRlIC1XZm9ybWF0LXNlY3VyaXR5IC1mbm8t c3RyaWN0LWFsaWFzaW5nIC1md3JhcHYgLWZleGNlc3MtcHJlY2lzaW9uPXN0YW5kYXJkIC1Xbm8t Zm9ybWF0LXRydW5jYXRpb24gLVduby1zdHJpbmdvcC10cnVuY2F0aW9uIC1nIC1PIC1mbm8tb21p dC1mcmFtZS1wb2ludGVyICAtSS93L1ItMy41Ll8vcG9zdGdyZXMvc3JjL2luY2x1ZGUvcG9ydC93 aW4zMiAtREVYRUNfQkFDS0VORCAgLUkvdy96bGliLTEuMi44LXdpbjMyLXg4Nl82NC9pbmNsdWRl IC1JL3cvb3BlbnNzbC0xLjAuMmUtd2luMzIteDg2XzY0L2luY2x1ZGUgLUkvdy9saWJ4bWwyLTIu OS4zLXdpbjMyLXg4Nl82NC9pbmNsdWRlL2xpYnhtbDIgLUkvdy9saWJ4c2x0LTEuMS4yOC13aW4z Mi14ODZfNjQvaW5jbHVkZSBjb25mdGVzdC5jID4mNQpjb25mdGVzdC5jOjc5OjI4OiBlcnJvcjog Y29uZmxpY3RpbmcgdHlwZXMgZm9yICdhY2NlcHQnCiBleHRlcm4gdW5zaWduZWQgaW50IFBBU0NB TCBhY2NlcHQgKHVuc2lnbmVkIGludCwgdm9pZCAqLCBzb2NrbGVuX3QgKik7CiAgICAgICAgICAg ICAgICAgICAgICAgICAgICBefn5+fn4KSW4gZmlsZSBpbmNsdWRlZCBmcm9tIFc6L1ItMy41Ll8v cG9zdGdyZXMvc3JjL2luY2x1ZGUvcG9ydC93aW4zMi9zeXMvc29ja2V0Lmg6MTQsCiAgICAgICAg ICAgICAgICAgZnJvbSBjb25mdGVzdC5jOjc4OgpDOi9tc3lzNjQvbWluZ3c2NC94ODZfNjQtdzY0 LW1pbmd3MzIvaW5jbHVkZS93aW5zb2NrMi5oOjk3MzozNzogbm90ZTogcHJldmlvdXMgZGVjbGFy YXRpb24gb2YgJ2FjY2VwdCcgd2FzIGhlcmUKICAgV0lOU09DS19BUElfTElOS0FHRSBTT0NLRVQg V1NBQVBJIGFjY2VwdChTT0NLRVQgcyxzdHJ1Y3Qgc29ja2FkZHIgKmFkZHIsaW50ICphZGRybGVu KTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF5+fn5+fgpjb25maWd1cmU6 MTQ3OTE6ICQ/ID0gMQpjb25maWd1cmU6IGZhaWxlZCBwcm9ncmFtIHdhczoKfCAvKiBjb25mZGVm cy5oICovCnwgI2RlZmluZSBQQUNLQUdFX05BTUUgIlBvc3RncmVTUUwiCnwgI2RlZmluZSBQQUNL QUdFX1RBUk5BTUUgInBvc3RncmVzcWwiCnwgI2RlZmluZSBQQUNLQUdFX1ZFUlNJT04gIjExYmV0 YTMiCnwgI2RlZmluZSBQQUNLQUdFX1NUUklORyAiUG9zdGdyZVNRTCAxMWJldGEzIgp8ICNkZWZp bmUgUEFDS0FHRV9CVUdSRVBPUlQgInBnc3FsLWJ1Z3NAcG9zdGdyZXNxbC5vcmciCnwgI2RlZmlu ZSBQQUNLQUdFX1VSTCAiIgp8ICNkZWZpbmUgUEdfTUFKT1JWRVJTSU9OICIxMSIKfCAjZGVmaW5l IFBHX1ZFUlNJT04gIjExYmV0YTMiCnwgI2RlZmluZSBERUZfUEdQT1JUIDU0MzIKfCAjZGVmaW5l IERFRl9QR1BPUlRfU1RSICI1NDMyIgp8ICNkZWZpbmUgQkxDS1NaIDgxOTIKfCAjZGVmaW5lIFJF TFNFR19TSVpFIDEzMTA3Mgp8ICNkZWZpbmUgWExPR19CTENLU1ogODE5Mgp8ICNkZWZpbmUgVVNF X0FTU0VSVF9DSEVDS0lORyAxCnwgI2RlZmluZSBFTkFCTEVfVEhSRUFEX1NBRkVUWSAxCnwgI2Rl ZmluZSBVU0VfSUNVIDEKfCAjZGVmaW5lIFBHX0tSQl9TUlZOQU0gInBvc3RncmVzIgp8ICNkZWZp bmUgVVNFX09QRU5TU0wgMQp8ICNkZWZpbmUgVVNFX0xJQlhNTCAxCnwgI2RlZmluZSBVU0VfTElC WFNMVCAxCnwgI2RlZmluZSBTVERDX0hFQURFUlMgMQp8ICNkZWZpbmUgSEFWRV9TWVNfVFlQRVNf SCAxCnwgI2RlZmluZSBIQVZFX1NZU19TVEFUX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERMSUJfSCAx CnwgI2RlZmluZSBIQVZFX1NUUklOR19IIDEKfCAjZGVmaW5lIEhBVkVfTUVNT1JZX0ggMQp8ICNk ZWZpbmUgSEFWRV9TVFJJTkdTX0ggMQp8ICNkZWZpbmUgSEFWRV9JTlRUWVBFU19IIDEKfCAjZGVm aW5lIEhBVkVfU1RESU5UX0ggMQp8ICNkZWZpbmUgSEFWRV9VTklTVERfSCAxCnwgI2RlZmluZSBI QVZFX0xJQk0gMQp8ICNkZWZpbmUgSEFWRV9MSUJaIDEKfCAjZGVmaW5lIEhBVkVfU1BJTkxPQ0tT IDEKfCAjZGVmaW5lIEhBVkVfQVRPTUlDUyAxCnwgI2RlZmluZSBIQVZFX1NTTF9HRVRfQ1VSUkVO VF9DT01QUkVTU0lPTiAxCnwgI2RlZmluZSBIQVZFX1g1MDlfR0VUX1NJR05BVFVSRV9OSUQgMQp8 ICNkZWZpbmUgSEFWRV9DUllQVE9fTE9DSyAxCnwgI2RlZmluZSBIQVZFX0xJQlhNTDIgMQp8ICNk ZWZpbmUgSEFWRV9MSUJYU0xUIDEKfCAjZGVmaW5lIEhBVkVfX0JPT0wgMQp8ICNkZWZpbmUgSEFW RV9TVERCT09MX0ggMQp8ICNkZWZpbmUgSEFWRV9HRVRPUFRfSCAxCnwgI2RlZmluZSBIQVZFX0lF RUVGUF9IIDEKfCAjZGVmaW5lIEhBVkVfVVRJTUVfSCAxCnwgI2RlZmluZSBIQVZFX1dDSEFSX0gg MQp8ICNkZWZpbmUgSEFWRV9XQ1RZUEVfSCAxCnwgI2RlZmluZSBIQVZFX0NSVERFRlNfSCAxCnwg I2RlZmluZSBQR19QUklOVEZfQVRUUklCVVRFIGdudV9wcmludGYKfCAjZGVmaW5lIEZMRVhJQkxF X0FSUkFZX01FTUJFUiAvKiovCnwgI2RlZmluZSBIQVZFX0ZVTkNOQU1FX19GVU5DIDEKfCAjZGVm aW5lIEhBVkVfX1NUQVRJQ19BU1NFUlQgMQp8ICNkZWZpbmUgSEFWRV9UWVBFT0YgMQp8ICNkZWZp bmUgSEFWRV9fQlVJTFRJTl9UWVBFU19DT01QQVRJQkxFX1AgMQp8ICNkZWZpbmUgSEFWRV9fQlVJ TFRJTl9CU1dBUDE2IDEKfCAjZGVmaW5lIEhBVkVfX0JVSUxUSU5fQlNXQVAzMiAxCnwgI2RlZmlu ZSBIQVZFX19CVUlMVElOX0JTV0FQNjQgMQp8ICNkZWZpbmUgSEFWRV9fQlVJTFRJTl9DT05TVEFO VF9QIDEKfCAjZGVmaW5lIEhBVkVfX0JVSUxUSU5fVU5SRUFDSEFCTEUgMQp8ICNkZWZpbmUgSEFW RV9DT01QVVRFRF9HT1RPIDEKfCAjZGVmaW5lIEhBVkVfX1ZBX0FSR1MgMQp8ICNkZWZpbmUgSEFW RV9UWk5BTUUgMQp8ICNkZWZpbmUgSEFWRV9TVFJVQ1RfU09DS0FERFJfU1RPUkFHRSAxCnwgI2Rl ZmluZSBIQVZFX1NUUlVDVF9TT0NLQUREUl9TVE9SQUdFX1NTX0ZBTUlMWSAxCnwgI2RlZmluZSBI QVZFX1NUUlVDVF9BRERSSU5GTyAxCnwgI2RlZmluZSBIQVZFX0lOVFBUUl9UIDEKfCAjZGVmaW5l IEhBVkVfVUlOVFBUUl9UIDEKfCAjZGVmaW5lIEhBVkVfVU5TSUdORURfTE9OR19MT05HX0lOVCAx CnwgI2RlZmluZSBIQVZFX0xPTkdfTE9OR19JTlQgMQp8ICNkZWZpbmUgcmVzdHJpY3QgX19yZXN0 cmljdAp8ICNkZWZpbmUgcGdfcmVzdHJpY3QgX19yZXN0cmljdAp8ICNkZWZpbmUgSEFWRV9TVFJV Q1RfT1BUSU9OIDEKfCAjZGVmaW5lIFNJWkVPRl9PRkZfVCA0CnwgI2RlZmluZSBTSVpFT0ZfQk9P TCAxCnwgI2RlZmluZSBIQVZFX0lOVF9USU1FWk9ORSAxCnwgLyogZW5kIGNvbmZkZWZzLmguICAq Lwp8ICNpbmNsdWRlIDxzeXMvdHlwZXMuaD4KfCAjaW5jbHVkZSA8c3lzL3NvY2tldC5oPgp8IGV4 dGVybiB1bnNpZ25lZCBpbnQgUEFTQ0FMIGFjY2VwdCAodW5zaWduZWQgaW50LCB2b2lkICosIHNv Y2tsZW5fdCAqKTsKY29uZmlndXJlOjE0NzkxOiB4ODZfNjQtdzY0LW1pbmd3MzItZ2NjIC1jIC1X YWxsIC1XbWlzc2luZy1wcm90b3R5cGVzIC1XcG9pbnRlci1hcml0aCAtV2RlY2xhcmF0aW9uLWFm dGVyLXN0YXRlbWVudCAtV2VuZGlmLWxhYmVscyAtV21pc3NpbmctZm9ybWF0LWF0dHJpYnV0ZSAt V2Zvcm1hdC1zZWN1cml0eSAtZm5vLXN0cmljdC1hbGlhc2luZyAtZndyYXB2IC1mZXhjZXNzLXBy ZWNpc2lvbj1zdGFuZGFyZCAtV25vLWZvcm1hdC10cnVuY2F0aW9uIC1Xbm8tc3RyaW5nb3AtdHJ1 bmNhdGlvbiAtZyAtTyAtZm5vLW9taXQtZnJhbWUtcG9pbnRlciAgLUkvdy9SLTMuNS5fL3Bvc3Rn cmVzL3NyYy9pbmNsdWRlL3BvcnQvd2luMzIgLURFWEVDX0JBQ0tFTkQgIC1JL3cvemxpYi0xLjIu OC13aW4zMi14ODZfNjQvaW5jbHVkZSAtSS93L29wZW5zc2wtMS4wLjJlLXdpbjMyLXg4Nl82NC9p bmNsdWRlIC1JL3cvbGlieG1sMi0yLjkuMy13aW4zMi14ODZfNjQvaW5jbHVkZS9saWJ4bWwyIC1J L3cvbGlieHNsdC0xLjEuMjgtd2luMzIteDg2XzY0L2luY2x1ZGUgY29uZnRlc3QuYyA+JjUKY29u ZnRlc3QuYzo3OToyODogZXJyb3I6IGNvbmZsaWN0aW5nIHR5cGVzIGZvciAnYWNjZXB0JwogZXh0 ZXJuIHVuc2lnbmVkIGludCBQQVNDQUwgYWNjZXB0ICh1bnNpZ25lZCBpbnQsIHZvaWQgKiwgdW5z aWduZWQgaW50ICopOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgXn5+fn5+CkluIGZpbGUg aW5jbHVkZWQgZnJvbSBXOi9SLTMuNS5fL3Bvc3RncmVzL3NyYy9pbmNsdWRlL3BvcnQvd2luMzIv c3lzL3NvY2tldC5oOjE0LAogICAgICAgICAgICAgICAgIGZyb20gY29uZnRlc3QuYzo3ODoKQzov bXN5czY0L21pbmd3NjQveDg2XzY0LXc2NC1taW5ndzMyL2luY2x1ZGUvd2luc29jazIuaDo5NzM6 Mzc6IG5vdGU6IHByZXZpb3VzIGRlY2xhcmF0aW9uIG9mICdhY2NlcHQnIHdhcyBoZXJlCiAgIFdJ TlNPQ0tfQVBJX0xJTktBR0UgU09DS0VUIFdTQUFQSSBhY2NlcHQoU09DS0VUIHMsc3RydWN0IHNv Y2thZGRyICphZGRyLGludCAqYWRkcmxlbik7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICBefn5+fn4KY29uZmlndXJlOjE0NzkxOiAkPyA9IDEKY29uZmlndXJlOiBmYWlsZWQg cHJvZ3JhbSB3YXM6CnwgLyogY29uZmRlZnMuaCAqLwp8ICNkZWZpbmUgUEFDS0FHRV9OQU1FICJQ b3N0Z3JlU1FMIgp8ICNkZWZpbmUgUEFDS0FHRV9UQVJOQU1FICJwb3N0Z3Jlc3FsIgp8ICNkZWZp bmUgUEFDS0FHRV9WRVJTSU9OICIxMWJldGEzIgp8ICNkZWZpbmUgUEFDS0FHRV9TVFJJTkcgIlBv c3RncmVTUUwgMTFiZXRhMyIKfCAjZGVmaW5lIFBBQ0tBR0VfQlVHUkVQT1JUICJwZ3NxbC1idWdz QHBvc3RncmVzcWwub3JnIgp8ICNkZWZpbmUgUEFDS0FHRV9VUkwgIiIKfCAjZGVmaW5lIFBHX01B Sk9SVkVSU0lPTiAiMTEiCnwgI2RlZmluZSBQR19WRVJTSU9OICIxMWJldGEzIgp8ICNkZWZpbmUg REVGX1BHUE9SVCA1NDMyCnwgI2RlZmluZSBERUZfUEdQT1JUX1NUUiAiNTQzMiIKfCAjZGVmaW5l IEJMQ0tTWiA4MTkyCnwgI2RlZmluZSBSRUxTRUdfU0laRSAxMzEwNzIKfCAjZGVmaW5lIFhMT0df QkxDS1NaIDgxOTIKfCAjZGVmaW5lIFVTRV9BU1NFUlRfQ0hFQ0tJTkcgMQp8ICNkZWZpbmUgRU5B QkxFX1RIUkVBRF9TQUZFVFkgMQp8ICNkZWZpbmUgVVNFX0lDVSAxCnwgI2RlZmluZSBQR19LUkJf U1JWTkFNICJwb3N0Z3JlcyIKfCAjZGVmaW5lIFVTRV9PUEVOU1NMIDEKfCAjZGVmaW5lIFVTRV9M SUJYTUwgMQp8ICNkZWZpbmUgVVNFX0xJQlhTTFQgMQp8ICNkZWZpbmUgU1REQ19IRUFERVJTIDEK fCAjZGVmaW5lIEhBVkVfU1lTX1RZUEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfU1RBVF9IIDEK fCAjZGVmaW5lIEhBVkVfU1RETElCX0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJJTkdfSCAxCnwgI2Rl ZmluZSBIQVZFX01FTU9SWV9IIDEKfCAjZGVmaW5lIEhBVkVfU1RSSU5HU19IIDEKfCAjZGVmaW5l IEhBVkVfSU5UVFlQRVNfSCAxCnwgI2RlZmluZSBIQVZFX1NURElOVF9IIDEKfCAjZGVmaW5lIEhB VkVfVU5JU1REX0ggMQp8ICNkZWZpbmUgSEFWRV9MSUJNIDEKfCAjZGVmaW5lIEhBVkVfTElCWiAx CnwgI2RlZmluZSBIQVZFX1NQSU5MT0NLUyAxCnwgI2RlZmluZSBIQVZFX0FUT01JQ1MgMQp8ICNk ZWZpbmUgSEFWRV9TU0xfR0VUX0NVUlJFTlRfQ09NUFJFU1NJT04gMQp8ICNkZWZpbmUgSEFWRV9Y NTA5X0dFVF9TSUdOQVRVUkVfTklEIDEKfCAjZGVmaW5lIEhBVkVfQ1JZUFRPX0xPQ0sgMQp8ICNk ZWZpbmUgSEFWRV9MSUJYTUwyIDEKfCAjZGVmaW5lIEhBVkVfTElCWFNMVCAxCnwgI2RlZmluZSBI QVZFX19CT09MIDEKfCAjZGVmaW5lIEhBVkVfU1REQk9PTF9IIDEKfCAjZGVmaW5lIEhBVkVfR0VU T1BUX0ggMQp8ICNkZWZpbmUgSEFWRV9JRUVFRlBfSCAxCnwgI2RlZmluZSBIQVZFX1VUSU1FX0gg MQp8ICNkZWZpbmUgSEFWRV9XQ0hBUl9IIDEKfCAjZGVmaW5lIEhBVkVfV0NUWVBFX0ggMQp8ICNk ZWZpbmUgSEFWRV9DUlRERUZTX0ggMQp8ICNkZWZpbmUgUEdfUFJJTlRGX0FUVFJJQlVURSBnbnVf cHJpbnRmCnwgI2RlZmluZSBGTEVYSUJMRV9BUlJBWV9NRU1CRVIgLyoqLwp8ICNkZWZpbmUgSEFW RV9GVU5DTkFNRV9fRlVOQyAxCnwgI2RlZmluZSBIQVZFX19TVEFUSUNfQVNTRVJUIDEKfCAjZGVm aW5lIEhBVkVfVFlQRU9GIDEKfCAjZGVmaW5lIEhBVkVfX0JVSUxUSU5fVFlQRVNfQ09NUEFUSUJM RV9QIDEKfCAjZGVmaW5lIEhBVkVfX0JVSUxUSU5fQlNXQVAxNiAxCnwgI2RlZmluZSBIQVZFX19C VUlMVElOX0JTV0FQMzIgMQp8ICNkZWZpbmUgSEFWRV9fQlVJTFRJTl9CU1dBUDY0IDEKfCAjZGVm aW5lIEhBVkVfX0JVSUxUSU5fQ09OU1RBTlRfUCAxCnwgI2RlZmluZSBIQVZFX19CVUlMVElOX1VO UkVBQ0hBQkxFIDEKfCAjZGVmaW5lIEhBVkVfQ09NUFVURURfR09UTyAxCnwgI2RlZmluZSBIQVZF X19WQV9BUkdTIDEKfCAjZGVmaW5lIEhBVkVfVFpOQU1FIDEKfCAjZGVmaW5lIEhBVkVfU1RSVUNU X1NPQ0tBRERSX1NUT1JBR0UgMQp8ICNkZWZpbmUgSEFWRV9TVFJVQ1RfU09DS0FERFJfU1RPUkFH RV9TU19GQU1JTFkgMQp8ICNkZWZpbmUgSEFWRV9TVFJVQ1RfQUREUklORk8gMQp8ICNkZWZpbmUg SEFWRV9JTlRQVFJfVCAxCnwgI2RlZmluZSBIQVZFX1VJTlRQVFJfVCAxCnwgI2RlZmluZSBIQVZF X1VOU0lHTkVEX0xPTkdfTE9OR19JTlQgMQp8ICNkZWZpbmUgSEFWRV9MT05HX0xPTkdfSU5UIDEK fCAjZGVmaW5lIHJlc3RyaWN0IF9fcmVzdHJpY3QKfCAjZGVmaW5lIHBnX3Jlc3RyaWN0IF9fcmVz dHJpY3QKfCAjZGVmaW5lIEhBVkVfU1RSVUNUX09QVElPTiAxCnwgI2RlZmluZSBTSVpFT0ZfT0ZG X1QgNAp8ICNkZWZpbmUgU0laRU9GX0JPT0wgMQp8ICNkZWZpbmUgSEFWRV9JTlRfVElNRVpPTkUg MQp8IC8qIGVuZCBjb25mZGVmcy5oLiAgKi8KfCAjaW5jbHVkZSA8c3lzL3R5cGVzLmg+CnwgI2lu Y2x1ZGUgPHN5cy9zb2NrZXQuaD4KfCBleHRlcm4gdW5zaWduZWQgaW50IFBBU0NBTCBhY2NlcHQg KHVuc2lnbmVkIGludCwgdm9pZCAqLCB1bnNpZ25lZCBpbnQgKik7CmNvbmZpZ3VyZToxNDc5MTog eDg2XzY0LXc2NC1taW5ndzMyLWdjYyAtYyAtV2FsbCAtV21pc3NpbmctcHJvdG90eXBlcyAtV3Bv aW50ZXItYXJpdGggLVdkZWNsYXJhdGlvbi1hZnRlci1zdGF0ZW1lbnQgLVdlbmRpZi1sYWJlbHMg LVdtaXNzaW5nLWZvcm1hdC1hdHRyaWJ1dGUgLVdmb3JtYXQtc2VjdXJpdHkgLWZuby1zdHJpY3Qt YWxpYXNpbmcgLWZ3cmFwdiAtZmV4Y2Vzcy1wcmVjaXNpb249c3RhbmRhcmQgLVduby1mb3JtYXQt dHJ1bmNhdGlvbiAtV25vLXN0cmluZ29wLXRydW5jYXRpb24gLWcgLU8gLWZuby1vbWl0LWZyYW1l LXBvaW50ZXIgIC1JL3cvUi0zLjUuXy9wb3N0Z3Jlcy9zcmMvaW5jbHVkZS9wb3J0L3dpbjMyIC1E RVhFQ19CQUNLRU5EICAtSS93L3psaWItMS4yLjgtd2luMzIteDg2XzY0L2luY2x1ZGUgLUkvdy9v cGVuc3NsLTEuMC4yZS13aW4zMi14ODZfNjQvaW5jbHVkZSAtSS93L2xpYnhtbDItMi45LjMtd2lu MzIteDg2XzY0L2luY2x1ZGUvbGlieG1sMiAtSS93L2xpYnhzbHQtMS4xLjI4LXdpbjMyLXg4Nl82 NC9pbmNsdWRlIGNvbmZ0ZXN0LmMgPiY1CmNvbmZ0ZXN0LmM6Nzk6Mjg6IGVycm9yOiBjb25mbGlj dGluZyB0eXBlcyBmb3IgJ2FjY2VwdCcKIGV4dGVybiB1bnNpZ25lZCBpbnQgUEFTQ0FMIGFjY2Vw dCAodW5zaWduZWQgaW50LCB2b2lkICosIHZvaWQgKik7CiAgICAgICAgICAgICAgICAgICAgICAg ICAgICBefn5+fn4KSW4gZmlsZSBpbmNsdWRlZCBmcm9tIFc6L1ItMy41Ll8vcG9zdGdyZXMvc3Jj L2luY2x1ZGUvcG9ydC93aW4zMi9zeXMvc29ja2V0Lmg6MTQsCiAgICAgICAgICAgICAgICAgZnJv bSBjb25mdGVzdC5jOjc4OgpDOi9tc3lzNjQvbWluZ3c2NC94ODZfNjQtdzY0LW1pbmd3MzIvaW5j bHVkZS93aW5zb2NrMi5oOjk3MzozNzogbm90ZTogcHJldmlvdXMgZGVjbGFyYXRpb24gb2YgJ2Fj Y2VwdCcgd2FzIGhlcmUKICAgV0lOU09DS19BUElfTElOS0FHRSBTT0NLRVQgV1NBQVBJIGFjY2Vw dChTT0NLRVQgcyxzdHJ1Y3Qgc29ja2FkZHIgKmFkZHIsaW50ICphZGRybGVuKTsKICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIF5+fn5+fgpjb25maWd1cmU6MTQ3OTE6ICQ/ID0g MQpjb25maWd1cmU6IGZhaWxlZCBwcm9ncmFtIHdhczoKfCAvKiBjb25mZGVmcy5oICovCnwgI2Rl ZmluZSBQQUNLQUdFX05BTUUgIlBvc3RncmVTUUwiCnwgI2RlZmluZSBQQUNLQUdFX1RBUk5BTUUg InBvc3RncmVzcWwiCnwgI2RlZmluZSBQQUNLQUdFX1ZFUlNJT04gIjExYmV0YTMiCnwgI2RlZmlu ZSBQQUNLQUdFX1NUUklORyAiUG9zdGdyZVNRTCAxMWJldGEzIgp8ICNkZWZpbmUgUEFDS0FHRV9C VUdSRVBPUlQgInBnc3FsLWJ1Z3NAcG9zdGdyZXNxbC5vcmciCnwgI2RlZmluZSBQQUNLQUdFX1VS TCAiIgp8ICNkZWZpbmUgUEdfTUFKT1JWRVJTSU9OICIxMSIKfCAjZGVmaW5lIFBHX1ZFUlNJT04g IjExYmV0YTMiCnwgI2RlZmluZSBERUZfUEdQT1JUIDU0MzIKfCAjZGVmaW5lIERFRl9QR1BPUlRf U1RSICI1NDMyIgp8ICNkZWZpbmUgQkxDS1NaIDgxOTIKfCAjZGVmaW5lIFJFTFNFR19TSVpFIDEz MTA3Mgp8ICNkZWZpbmUgWExPR19CTENLU1ogODE5Mgp8ICNkZWZpbmUgVVNFX0FTU0VSVF9DSEVD S0lORyAxCnwgI2RlZmluZSBFTkFCTEVfVEhSRUFEX1NBRkVUWSAxCnwgI2RlZmluZSBVU0VfSUNV IDEKfCAjZGVmaW5lIFBHX0tSQl9TUlZOQU0gInBvc3RncmVzIgp8ICNkZWZpbmUgVVNFX09QRU5T U0wgMQp8ICNkZWZpbmUgVVNFX0xJQlhNTCAxCnwgI2RlZmluZSBVU0VfTElCWFNMVCAxCnwgI2Rl ZmluZSBTVERDX0hFQURFUlMgMQp8ICNkZWZpbmUgSEFWRV9TWVNfVFlQRVNfSCAxCnwgI2RlZmlu ZSBIQVZFX1NZU19TVEFUX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERMSUJfSCAxCnwgI2RlZmluZSBI QVZFX1NUUklOR19IIDEKfCAjZGVmaW5lIEhBVkVfTUVNT1JZX0ggMQp8ICNkZWZpbmUgSEFWRV9T VFJJTkdTX0ggMQp8ICNkZWZpbmUgSEFWRV9JTlRUWVBFU19IIDEKfCAjZGVmaW5lIEhBVkVfU1RE SU5UX0ggMQp8ICNkZWZpbmUgSEFWRV9VTklTVERfSCAxCnwgI2RlZmluZSBIQVZFX0xJQk0gMQp8 ICNkZWZpbmUgSEFWRV9MSUJaIDEKfCAjZGVmaW5lIEhBVkVfU1BJTkxPQ0tTIDEKfCAjZGVmaW5l IEhBVkVfQVRPTUlDUyAxCnwgI2RlZmluZSBIQVZFX1NTTF9HRVRfQ1VSUkVOVF9DT01QUkVTU0lP TiAxCnwgI2RlZmluZSBIQVZFX1g1MDlfR0VUX1NJR05BVFVSRV9OSUQgMQp8ICNkZWZpbmUgSEFW RV9DUllQVE9fTE9DSyAxCnwgI2RlZmluZSBIQVZFX0xJQlhNTDIgMQp8ICNkZWZpbmUgSEFWRV9M SUJYU0xUIDEKfCAjZGVmaW5lIEhBVkVfX0JPT0wgMQp8ICNkZWZpbmUgSEFWRV9TVERCT09MX0gg MQp8ICNkZWZpbmUgSEFWRV9HRVRPUFRfSCAxCnwgI2RlZmluZSBIQVZFX0lFRUVGUF9IIDEKfCAj ZGVmaW5lIEhBVkVfVVRJTUVfSCAxCnwgI2RlZmluZSBIQVZFX1dDSEFSX0ggMQp8ICNkZWZpbmUg SEFWRV9XQ1RZUEVfSCAxCnwgI2RlZmluZSBIQVZFX0NSVERFRlNfSCAxCnwgI2RlZmluZSBQR19Q UklOVEZfQVRUUklCVVRFIGdudV9wcmludGYKfCAjZGVmaW5lIEZMRVhJQkxFX0FSUkFZX01FTUJF UiAvKiovCnwgI2RlZmluZSBIQVZFX0ZVTkNOQU1FX19GVU5DIDEKfCAjZGVmaW5lIEhBVkVfX1NU QVRJQ19BU1NFUlQgMQp8ICNkZWZpbmUgSEFWRV9UWVBFT0YgMQp8ICNkZWZpbmUgSEFWRV9fQlVJ TFRJTl9UWVBFU19DT01QQVRJQkxFX1AgMQp8ICNkZWZpbmUgSEFWRV9fQlVJTFRJTl9CU1dBUDE2 IDEKfCAjZGVmaW5lIEhBVkVfX0JVSUxUSU5fQlNXQVAzMiAxCnwgI2RlZmluZSBIQVZFX19CVUlM VElOX0JTV0FQNjQgMQp8ICNkZWZpbmUgSEFWRV9fQlVJTFRJTl9DT05TVEFOVF9QIDEKfCAjZGVm aW5lIEhBVkVfX0JVSUxUSU5fVU5SRUFDSEFCTEUgMQp8ICNkZWZpbmUgSEFWRV9DT01QVVRFRF9H T1RPIDEKfCAjZGVmaW5lIEhBVkVfX1ZBX0FSR1MgMQp8ICNkZWZpbmUgSEFWRV9UWk5BTUUgMQp8 ICNkZWZpbmUgSEFWRV9TVFJVQ1RfU09DS0FERFJfU1RPUkFHRSAxCnwgI2RlZmluZSBIQVZFX1NU UlVDVF9TT0NLQUREUl9TVE9SQUdFX1NTX0ZBTUlMWSAxCnwgI2RlZmluZSBIQVZFX1NUUlVDVF9B RERSSU5GTyAxCnwgI2RlZmluZSBIQVZFX0lOVFBUUl9UIDEKfCAjZGVmaW5lIEhBVkVfVUlOVFBU Ul9UIDEKfCAjZGVmaW5lIEhBVkVfVU5TSUdORURfTE9OR19MT05HX0lOVCAxCnwgI2RlZmluZSBI QVZFX0xPTkdfTE9OR19JTlQgMQp8ICNkZWZpbmUgcmVzdHJpY3QgX19yZXN0cmljdAp8ICNkZWZp bmUgcGdfcmVzdHJpY3QgX19yZXN0cmljdAp8ICNkZWZpbmUgSEFWRV9TVFJVQ1RfT1BUSU9OIDEK fCAjZGVmaW5lIFNJWkVPRl9PRkZfVCA0CnwgI2RlZmluZSBTSVpFT0ZfQk9PTCAxCnwgI2RlZmlu ZSBIQVZFX0lOVF9USU1FWk9ORSAxCnwgLyogZW5kIGNvbmZkZWZzLmguICAqLwp8ICNpbmNsdWRl IDxzeXMvdHlwZXMuaD4KfCAjaW5jbHVkZSA8c3lzL3NvY2tldC5oPgp8IGV4dGVybiB1bnNpZ25l ZCBpbnQgUEFTQ0FMIGFjY2VwdCAodW5zaWduZWQgaW50LCB2b2lkICosIHZvaWQgKik7CmNvbmZp Z3VyZToxNDc5MTogeDg2XzY0LXc2NC1taW5ndzMyLWdjYyAtYyAtV2FsbCAtV21pc3NpbmctcHJv dG90eXBlcyAtV3BvaW50ZXItYXJpdGggLVdkZWNsYXJhdGlvbi1hZnRlci1zdGF0ZW1lbnQgLVdl bmRpZi1sYWJlbHMgLVdtaXNzaW5nLWZvcm1hdC1hdHRyaWJ1dGUgLVdmb3JtYXQtc2VjdXJpdHkg LWZuby1zdHJpY3QtYWxpYXNpbmcgLWZ3cmFwdiAtZmV4Y2Vzcy1wcmVjaXNpb249c3RhbmRhcmQg LVduby1mb3JtYXQtdHJ1bmNhdGlvbiAtV25vLXN0cmluZ29wLXRydW5jYXRpb24gLWcgLU8gLWZu by1vbWl0LWZyYW1lLXBvaW50ZXIgIC1JL3cvUi0zLjUuXy9wb3N0Z3Jlcy9zcmMvaW5jbHVkZS9w b3J0L3dpbjMyIC1ERVhFQ19CQUNLRU5EICAtSS93L3psaWItMS4yLjgtd2luMzIteDg2XzY0L2lu Y2x1ZGUgLUkvdy9vcGVuc3NsLTEuMC4yZS13aW4zMi14ODZfNjQvaW5jbHVkZSAtSS93L2xpYnht bDItMi45LjMtd2luMzIteDg2XzY0L2luY2x1ZGUvbGlieG1sMiAtSS93L2xpYnhzbHQtMS4xLjI4 LXdpbjMyLXg4Nl82NC9pbmNsdWRlIGNvbmZ0ZXN0LmMgPiY1CmNvbmZ0ZXN0LmM6Nzk6Mjg6IGVy cm9yOiBjb25mbGljdGluZyB0eXBlcyBmb3IgJ2FjY2VwdCcKIGV4dGVybiB1bnNpZ25lZCBpbnQg UEFTQ0FMIGFjY2VwdCAoU09DS0VULCBzdHJ1Y3Qgc29ja2FkZHIgKiwgaW50ICopOwogICAgICAg ICAgICAgICAgICAgICAgICAgICAgXn5+fn5+CkluIGZpbGUgaW5jbHVkZWQgZnJvbSBXOi9SLTMu NS5fL3Bvc3RncmVzL3NyYy9pbmNsdWRlL3BvcnQvd2luMzIvc3lzL3NvY2tldC5oOjE0LAogICAg ICAgICAgICAgICAgIGZyb20gY29uZnRlc3QuYzo3ODoKQzovbXN5czY0L21pbmd3NjQveDg2XzY0 LXc2NC1taW5ndzMyL2luY2x1ZGUvd2luc29jazIuaDo5NzM6Mzc6IG5vdGU6IHByZXZpb3VzIGRl Y2xhcmF0aW9uIG9mICdhY2NlcHQnIHdhcyBoZXJlCiAgIFdJTlNPQ0tfQVBJX0xJTktBR0UgU09D S0VUIFdTQUFQSSBhY2NlcHQoU09DS0VUIHMsc3RydWN0IHNvY2thZGRyICphZGRyLGludCAqYWRk cmxlbik7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBefn5+fn4KY29uZmln dXJlOjE0NzkxOiAkPyA9IDEKY29uZmlndXJlOiBmYWlsZWQgcHJvZ3JhbSB3YXM6CnwgLyogY29u ZmRlZnMuaCAqLwp8ICNkZWZpbmUgUEFDS0FHRV9OQU1FICJQb3N0Z3JlU1FMIgp8ICNkZWZpbmUg UEFDS0FHRV9UQVJOQU1FICJwb3N0Z3Jlc3FsIgp8ICNkZWZpbmUgUEFDS0FHRV9WRVJTSU9OICIx MWJldGEzIgp8ICNkZWZpbmUgUEFDS0FHRV9TVFJJTkcgIlBvc3RncmVTUUwgMTFiZXRhMyIKfCAj ZGVmaW5lIFBBQ0tBR0VfQlVHUkVQT1JUICJwZ3NxbC1idWdzQHBvc3RncmVzcWwub3JnIgp8ICNk ZWZpbmUgUEFDS0FHRV9VUkwgIiIKfCAjZGVmaW5lIFBHX01BSk9SVkVSU0lPTiAiMTEiCnwgI2Rl ZmluZSBQR19WRVJTSU9OICIxMWJldGEzIgp8ICNkZWZpbmUgREVGX1BHUE9SVCA1NDMyCnwgI2Rl ZmluZSBERUZfUEdQT1JUX1NUUiAiNTQzMiIKfCAjZGVmaW5lIEJMQ0tTWiA4MTkyCnwgI2RlZmlu ZSBSRUxTRUdfU0laRSAxMzEwNzIKfCAjZGVmaW5lIFhMT0dfQkxDS1NaIDgxOTIKfCAjZGVmaW5l IFVTRV9BU1NFUlRfQ0hFQ0tJTkcgMQp8ICNkZWZpbmUgRU5BQkxFX1RIUkVBRF9TQUZFVFkgMQp8 ICNkZWZpbmUgVVNFX0lDVSAxCnwgI2RlZmluZSBQR19LUkJfU1JWTkFNICJwb3N0Z3JlcyIKfCAj ZGVmaW5lIFVTRV9PUEVOU1NMIDEKfCAjZGVmaW5lIFVTRV9MSUJYTUwgMQp8ICNkZWZpbmUgVVNF X0xJQlhTTFQgMQp8ICNkZWZpbmUgU1REQ19IRUFERVJTIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1RZ UEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfU1RBVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1RETElC X0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJJTkdfSCAxCnwgI2RlZmluZSBIQVZFX01FTU9SWV9IIDEK fCAjZGVmaW5lIEhBVkVfU1RSSU5HU19IIDEKfCAjZGVmaW5lIEhBVkVfSU5UVFlQRVNfSCAxCnwg I2RlZmluZSBIQVZFX1NURElOVF9IIDEKfCAjZGVmaW5lIEhBVkVfVU5JU1REX0ggMQp8ICNkZWZp bmUgSEFWRV9MSUJNIDEKfCAjZGVmaW5lIEhBVkVfTElCWiAxCnwgI2RlZmluZSBIQVZFX1NQSU5M T0NLUyAxCnwgI2RlZmluZSBIQVZFX0FUT01JQ1MgMQp8ICNkZWZpbmUgSEFWRV9TU0xfR0VUX0NV UlJFTlRfQ09NUFJFU1NJT04gMQp8ICNkZWZpbmUgSEFWRV9YNTA5X0dFVF9TSUdOQVRVUkVfTklE IDEKfCAjZGVmaW5lIEhBVkVfQ1JZUFRPX0xPQ0sgMQp8ICNkZWZpbmUgSEFWRV9MSUJYTUwyIDEK fCAjZGVmaW5lIEhBVkVfTElCWFNMVCAxCnwgI2RlZmluZSBIQVZFX19CT09MIDEKfCAjZGVmaW5l IEhBVkVfU1REQk9PTF9IIDEKfCAjZGVmaW5lIEhBVkVfR0VUT1BUX0ggMQp8ICNkZWZpbmUgSEFW RV9JRUVFRlBfSCAxCnwgI2RlZmluZSBIQVZFX1VUSU1FX0ggMQp8ICNkZWZpbmUgSEFWRV9XQ0hB Ul9IIDEKfCAjZGVmaW5lIEhBVkVfV0NUWVBFX0ggMQp8ICNkZWZpbmUgSEFWRV9DUlRERUZTX0gg MQp8ICNkZWZpbmUgUEdfUFJJTlRGX0FUVFJJQlVURSBnbnVfcHJpbnRmCnwgI2RlZmluZSBGTEVY SUJMRV9BUlJBWV9NRU1CRVIgLyoqLwp8ICNkZWZpbmUgSEFWRV9GVU5DTkFNRV9fRlVOQyAxCnwg I2RlZmluZSBIQVZFX19TVEFUSUNfQVNTRVJUIDEKfCAjZGVmaW5lIEhBVkVfVFlQRU9GIDEKfCAj ZGVmaW5lIEhBVkVfX0JVSUxUSU5fVFlQRVNfQ09NUEFUSUJMRV9QIDEKfCAjZGVmaW5lIEhBVkVf X0JVSUxUSU5fQlNXQVAxNiAxCnwgI2RlZmluZSBIQVZFX19CVUlMVElOX0JTV0FQMzIgMQp8ICNk ZWZpbmUgSEFWRV9fQlVJTFRJTl9CU1dBUDY0IDEKfCAjZGVmaW5lIEhBVkVfX0JVSUxUSU5fQ09O U1RBTlRfUCAxCnwgI2RlZmluZSBIQVZFX19CVUlMVElOX1VOUkVBQ0hBQkxFIDEKfCAjZGVmaW5l IEhBVkVfQ09NUFVURURfR09UTyAxCnwgI2RlZmluZSBIQVZFX19WQV9BUkdTIDEKfCAjZGVmaW5l IEhBVkVfVFpOQU1FIDEKfCAjZGVmaW5lIEhBVkVfU1RSVUNUX1NPQ0tBRERSX1NUT1JBR0UgMQp8 ICNkZWZpbmUgSEFWRV9TVFJVQ1RfU09DS0FERFJfU1RPUkFHRV9TU19GQU1JTFkgMQp8ICNkZWZp bmUgSEFWRV9TVFJVQ1RfQUREUklORk8gMQp8ICNkZWZpbmUgSEFWRV9JTlRQVFJfVCAxCnwgI2Rl ZmluZSBIQVZFX1VJTlRQVFJfVCAxCnwgI2RlZmluZSBIQVZFX1VOU0lHTkVEX0xPTkdfTE9OR19J TlQgMQp8ICNkZWZpbmUgSEFWRV9MT05HX0xPTkdfSU5UIDEKfCAjZGVmaW5lIHJlc3RyaWN0IF9f cmVzdHJpY3QKfCAjZGVmaW5lIHBnX3Jlc3RyaWN0IF9fcmVzdHJpY3QKfCAjZGVmaW5lIEhBVkVf U1RSVUNUX09QVElPTiAxCnwgI2RlZmluZSBTSVpFT0ZfT0ZGX1QgNAp8ICNkZWZpbmUgU0laRU9G X0JPT0wgMQp8ICNkZWZpbmUgSEFWRV9JTlRfVElNRVpPTkUgMQp8IC8qIGVuZCBjb25mZGVmcy5o LiAgKi8KfCAjaW5jbHVkZSA8c3lzL3R5cGVzLmg+CnwgI2luY2x1ZGUgPHN5cy9zb2NrZXQuaD4K fCBleHRlcm4gdW5zaWduZWQgaW50IFBBU0NBTCBhY2NlcHQgKFNPQ0tFVCwgc3RydWN0IHNvY2th ZGRyICosIGludCAqKTsKY29uZmlndXJlOjE0NzkxOiB4ODZfNjQtdzY0LW1pbmd3MzItZ2NjIC1j IC1XYWxsIC1XbWlzc2luZy1wcm90b3R5cGVzIC1XcG9pbnRlci1hcml0aCAtV2RlY2xhcmF0aW9u LWFmdGVyLXN0YXRlbWVudCAtV2VuZGlmLWxhYmVscyAtV21pc3NpbmctZm9ybWF0LWF0dHJpYnV0 ZSAtV2Zvcm1hdC1zZWN1cml0eSAtZm5vLXN0cmljdC1hbGlhc2luZyAtZndyYXB2IC1mZXhjZXNz LXByZWNpc2lvbj1zdGFuZGFyZCAtV25vLWZvcm1hdC10cnVuY2F0aW9uIC1Xbm8tc3RyaW5nb3At dHJ1bmNhdGlvbiAtZyAtTyAtZm5vLW9taXQtZnJhbWUtcG9pbnRlciAgLUkvdy9SLTMuNS5fL3Bv c3RncmVzL3NyYy9pbmNsdWRlL3BvcnQvd2luMzIgLURFWEVDX0JBQ0tFTkQgIC1JL3cvemxpYi0x LjIuOC13aW4zMi14ODZfNjQvaW5jbHVkZSAtSS93L29wZW5zc2wtMS4wLjJlLXdpbjMyLXg4Nl82 NC9pbmNsdWRlIC1JL3cvbGlieG1sMi0yLjkuMy13aW4zMi14ODZfNjQvaW5jbHVkZS9saWJ4bWwy IC1JL3cvbGlieHNsdC0xLjEuMjgtd2luMzIteDg2XzY0L2luY2x1ZGUgY29uZnRlc3QuYyA+JjUK Y29uZnRlc3QuYzo3OToyODogZXJyb3I6IGNvbmZsaWN0aW5nIHR5cGVzIGZvciAnYWNjZXB0Jwog ZXh0ZXJuIHVuc2lnbmVkIGludCBQQVNDQUwgYWNjZXB0IChTT0NLRVQsIHN0cnVjdCBzb2NrYWRk ciAqLCBzaXplX3QgKik7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBefn5+fn4KSW4gZmls ZSBpbmNsdWRlZCBmcm9tIFc6L1ItMy41Ll8vcG9zdGdyZXMvc3JjL2luY2x1ZGUvcG9ydC93aW4z Mi9zeXMvc29ja2V0Lmg6MTQsCiAgICAgICAgICAgICAgICAgZnJvbSBjb25mdGVzdC5jOjc4OgpD Oi9tc3lzNjQvbWluZ3c2NC94ODZfNjQtdzY0LW1pbmd3MzIvaW5jbHVkZS93aW5zb2NrMi5oOjk3 MzozNzogbm90ZTogcHJldmlvdXMgZGVjbGFyYXRpb24gb2YgJ2FjY2VwdCcgd2FzIGhlcmUKICAg V0lOU09DS19BUElfTElOS0FHRSBTT0NLRVQgV1NBQVBJIGFjY2VwdChTT0NLRVQgcyxzdHJ1Y3Qg c29ja2FkZHIgKmFkZHIsaW50ICphZGRybGVuKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIF5+fn5+fgpjb25maWd1cmU6MTQ3OTE6ICQ/ID0gMQpjb25maWd1cmU6IGZhaWxl ZCBwcm9ncmFtIHdhczoKfCAvKiBjb25mZGVmcy5oICovCnwgI2RlZmluZSBQQUNLQUdFX05BTUUg IlBvc3RncmVTUUwiCnwgI2RlZmluZSBQQUNLQUdFX1RBUk5BTUUgInBvc3RncmVzcWwiCnwgI2Rl ZmluZSBQQUNLQUdFX1ZFUlNJT04gIjExYmV0YTMiCnwgI2RlZmluZSBQQUNLQUdFX1NUUklORyAi UG9zdGdyZVNRTCAxMWJldGEzIgp8ICNkZWZpbmUgUEFDS0FHRV9CVUdSRVBPUlQgInBnc3FsLWJ1 Z3NAcG9zdGdyZXNxbC5vcmciCnwgI2RlZmluZSBQQUNLQUdFX1VSTCAiIgp8ICNkZWZpbmUgUEdf TUFKT1JWRVJTSU9OICIxMSIKfCAjZGVmaW5lIFBHX1ZFUlNJT04gIjExYmV0YTMiCnwgI2RlZmlu ZSBERUZfUEdQT1JUIDU0MzIKfCAjZGVmaW5lIERFRl9QR1BPUlRfU1RSICI1NDMyIgp8ICNkZWZp bmUgQkxDS1NaIDgxOTIKfCAjZGVmaW5lIFJFTFNFR19TSVpFIDEzMTA3Mgp8ICNkZWZpbmUgWExP R19CTENLU1ogODE5Mgp8ICNkZWZpbmUgVVNFX0FTU0VSVF9DSEVDS0lORyAxCnwgI2RlZmluZSBF TkFCTEVfVEhSRUFEX1NBRkVUWSAxCnwgI2RlZmluZSBVU0VfSUNVIDEKfCAjZGVmaW5lIFBHX0tS Ql9TUlZOQU0gInBvc3RncmVzIgp8ICNkZWZpbmUgVVNFX09QRU5TU0wgMQp8ICNkZWZpbmUgVVNF X0xJQlhNTCAxCnwgI2RlZmluZSBVU0VfTElCWFNMVCAxCnwgI2RlZmluZSBTVERDX0hFQURFUlMg MQp8ICNkZWZpbmUgSEFWRV9TWVNfVFlQRVNfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19TVEFUX0gg MQp8ICNkZWZpbmUgSEFWRV9TVERMSUJfSCAxCnwgI2RlZmluZSBIQVZFX1NUUklOR19IIDEKfCAj ZGVmaW5lIEhBVkVfTUVNT1JZX0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJJTkdTX0ggMQp8ICNkZWZp bmUgSEFWRV9JTlRUWVBFU19IIDEKfCAjZGVmaW5lIEhBVkVfU1RESU5UX0ggMQp8ICNkZWZpbmUg SEFWRV9VTklTVERfSCAxCnwgI2RlZmluZSBIQVZFX0xJQk0gMQp8ICNkZWZpbmUgSEFWRV9MSUJa IDEKfCAjZGVmaW5lIEhBVkVfU1BJTkxPQ0tTIDEKfCAjZGVmaW5lIEhBVkVfQVRPTUlDUyAxCnwg I2RlZmluZSBIQVZFX1NTTF9HRVRfQ1VSUkVOVF9DT01QUkVTU0lPTiAxCnwgI2RlZmluZSBIQVZF X1g1MDlfR0VUX1NJR05BVFVSRV9OSUQgMQp8ICNkZWZpbmUgSEFWRV9DUllQVE9fTE9DSyAxCnwg I2RlZmluZSBIQVZFX0xJQlhNTDIgMQp8ICNkZWZpbmUgSEFWRV9MSUJYU0xUIDEKfCAjZGVmaW5l IEhBVkVfX0JPT0wgMQp8ICNkZWZpbmUgSEFWRV9TVERCT09MX0ggMQp8ICNkZWZpbmUgSEFWRV9H RVRPUFRfSCAxCnwgI2RlZmluZSBIQVZFX0lFRUVGUF9IIDEKfCAjZGVmaW5lIEhBVkVfVVRJTUVf SCAxCnwgI2RlZmluZSBIQVZFX1dDSEFSX0ggMQp8ICNkZWZpbmUgSEFWRV9XQ1RZUEVfSCAxCnwg I2RlZmluZSBIQVZFX0NSVERFRlNfSCAxCnwgI2RlZmluZSBQR19QUklOVEZfQVRUUklCVVRFIGdu dV9wcmludGYKfCAjZGVmaW5lIEZMRVhJQkxFX0FSUkFZX01FTUJFUiAvKiovCnwgI2RlZmluZSBI QVZFX0ZVTkNOQU1FX19GVU5DIDEKfCAjZGVmaW5lIEhBVkVfX1NUQVRJQ19BU1NFUlQgMQp8ICNk ZWZpbmUgSEFWRV9UWVBFT0YgMQp8ICNkZWZpbmUgSEFWRV9fQlVJTFRJTl9UWVBFU19DT01QQVRJ QkxFX1AgMQp8ICNkZWZpbmUgSEFWRV9fQlVJTFRJTl9CU1dBUDE2IDEKfCAjZGVmaW5lIEhBVkVf X0JVSUxUSU5fQlNXQVAzMiAxCnwgI2RlZmluZSBIQVZFX19CVUlMVElOX0JTV0FQNjQgMQp8ICNk ZWZpbmUgSEFWRV9fQlVJTFRJTl9DT05TVEFOVF9QIDEKfCAjZGVmaW5lIEhBVkVfX0JVSUxUSU5f VU5SRUFDSEFCTEUgMQp8ICNkZWZpbmUgSEFWRV9DT01QVVRFRF9HT1RPIDEKfCAjZGVmaW5lIEhB VkVfX1ZBX0FSR1MgMQp8ICNkZWZpbmUgSEFWRV9UWk5BTUUgMQp8ICNkZWZpbmUgSEFWRV9TVFJV Q1RfU09DS0FERFJfU1RPUkFHRSAxCnwgI2RlZmluZSBIQVZFX1NUUlVDVF9TT0NLQUREUl9TVE9S QUdFX1NTX0ZBTUlMWSAxCnwgI2RlZmluZSBIQVZFX1NUUlVDVF9BRERSSU5GTyAxCnwgI2RlZmlu ZSBIQVZFX0lOVFBUUl9UIDEKfCAjZGVmaW5lIEhBVkVfVUlOVFBUUl9UIDEKfCAjZGVmaW5lIEhB VkVfVU5TSUdORURfTE9OR19MT05HX0lOVCAxCnwgI2RlZmluZSBIQVZFX0xPTkdfTE9OR19JTlQg MQp8ICNkZWZpbmUgcmVzdHJpY3QgX19yZXN0cmljdAp8ICNkZWZpbmUgcGdfcmVzdHJpY3QgX19y ZXN0cmljdAp8ICNkZWZpbmUgSEFWRV9TVFJVQ1RfT1BUSU9OIDEKfCAjZGVmaW5lIFNJWkVPRl9P RkZfVCA0CnwgI2RlZmluZSBTSVpFT0ZfQk9PTCAxCnwgI2RlZmluZSBIQVZFX0lOVF9USU1FWk9O RSAxCnwgLyogZW5kIGNvbmZkZWZzLmguICAqLwp8ICNpbmNsdWRlIDxzeXMvdHlwZXMuaD4KfCAj aW5jbHVkZSA8c3lzL3NvY2tldC5oPgp8IGV4dGVybiB1bnNpZ25lZCBpbnQgUEFTQ0FMIGFjY2Vw dCAoU09DS0VULCBzdHJ1Y3Qgc29ja2FkZHIgKiwgc2l6ZV90ICopOwpjb25maWd1cmU6MTQ3OTE6 IHg4Nl82NC13NjQtbWluZ3czMi1nY2MgLWMgLVdhbGwgLVdtaXNzaW5nLXByb3RvdHlwZXMgLVdw b2ludGVyLWFyaXRoIC1XZGVjbGFyYXRpb24tYWZ0ZXItc3RhdGVtZW50IC1XZW5kaWYtbGFiZWxz IC1XbWlzc2luZy1mb3JtYXQtYXR0cmlidXRlIC1XZm9ybWF0LXNlY3VyaXR5IC1mbm8tc3RyaWN0 LWFsaWFzaW5nIC1md3JhcHYgLWZleGNlc3MtcHJlY2lzaW9uPXN0YW5kYXJkIC1Xbm8tZm9ybWF0 LXRydW5jYXRpb24gLVduby1zdHJpbmdvcC10cnVuY2F0aW9uIC1nIC1PIC1mbm8tb21pdC1mcmFt ZS1wb2ludGVyICAtSS93L1ItMy41Ll8vcG9zdGdyZXMvc3JjL2luY2x1ZGUvcG9ydC93aW4zMiAt REVYRUNfQkFDS0VORCAgLUkvdy96bGliLTEuMi44LXdpbjMyLXg4Nl82NC9pbmNsdWRlIC1JL3cv b3BlbnNzbC0xLjAuMmUtd2luMzIteDg2XzY0L2luY2x1ZGUgLUkvdy9saWJ4bWwyLTIuOS4zLXdp bjMyLXg4Nl82NC9pbmNsdWRlL2xpYnhtbDIgLUkvdy9saWJ4c2x0LTEuMS4yOC13aW4zMi14ODZf NjQvaW5jbHVkZSBjb25mdGVzdC5jID4mNQpjb25mdGVzdC5jOjc5OjI4OiBlcnJvcjogY29uZmxp Y3RpbmcgdHlwZXMgZm9yICdhY2NlcHQnCiBleHRlcm4gdW5zaWduZWQgaW50IFBBU0NBTCBhY2Nl cHQgKFNPQ0tFVCwgc3RydWN0IHNvY2thZGRyICosIHNvY2tsZW5fdCAqKTsKICAgICAgICAgICAg ICAgICAgICAgICAgICAgIF5+fn5+fgpJbiBmaWxlIGluY2x1ZGVkIGZyb20gVzovUi0zLjUuXy9w b3N0Z3Jlcy9zcmMvaW5jbHVkZS9wb3J0L3dpbjMyL3N5cy9zb2NrZXQuaDoxNCwKICAgICAgICAg ICAgICAgICBmcm9tIGNvbmZ0ZXN0LmM6Nzg6CkM6L21zeXM2NC9taW5ndzY0L3g4Nl82NC13NjQt bWluZ3czMi9pbmNsdWRlL3dpbnNvY2syLmg6OTczOjM3OiBub3RlOiBwcmV2aW91cyBkZWNsYXJh dGlvbiBvZiAnYWNjZXB0JyB3YXMgaGVyZQogICBXSU5TT0NLX0FQSV9MSU5LQUdFIFNPQ0tFVCBX U0FBUEkgYWNjZXB0KFNPQ0tFVCBzLHN0cnVjdCBzb2NrYWRkciAqYWRkcixpbnQgKmFkZHJsZW4p OwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXn5+fn5+CmNvbmZpZ3VyZTox NDc5MTogJD8gPSAxCmNvbmZpZ3VyZTogZmFpbGVkIHByb2dyYW0gd2FzOgp8IC8qIGNvbmZkZWZz LmggKi8KfCAjZGVmaW5lIFBBQ0tBR0VfTkFNRSAiUG9zdGdyZVNRTCIKfCAjZGVmaW5lIFBBQ0tB R0VfVEFSTkFNRSAicG9zdGdyZXNxbCIKfCAjZGVmaW5lIFBBQ0tBR0VfVkVSU0lPTiAiMTFiZXRh MyIKfCAjZGVmaW5lIFBBQ0tBR0VfU1RSSU5HICJQb3N0Z3JlU1FMIDExYmV0YTMiCnwgI2RlZmlu ZSBQQUNLQUdFX0JVR1JFUE9SVCAicGdzcWwtYnVnc0Bwb3N0Z3Jlc3FsLm9yZyIKfCAjZGVmaW5l IFBBQ0tBR0VfVVJMICIiCnwgI2RlZmluZSBQR19NQUpPUlZFUlNJT04gIjExIgp8ICNkZWZpbmUg UEdfVkVSU0lPTiAiMTFiZXRhMyIKfCAjZGVmaW5lIERFRl9QR1BPUlQgNTQzMgp8ICNkZWZpbmUg REVGX1BHUE9SVF9TVFIgIjU0MzIiCnwgI2RlZmluZSBCTENLU1ogODE5Mgp8ICNkZWZpbmUgUkVM U0VHX1NJWkUgMTMxMDcyCnwgI2RlZmluZSBYTE9HX0JMQ0tTWiA4MTkyCnwgI2RlZmluZSBVU0Vf QVNTRVJUX0NIRUNLSU5HIDEKfCAjZGVmaW5lIEVOQUJMRV9USFJFQURfU0FGRVRZIDEKfCAjZGVm aW5lIFVTRV9JQ1UgMQp8ICNkZWZpbmUgUEdfS1JCX1NSVk5BTSAicG9zdGdyZXMiCnwgI2RlZmlu ZSBVU0VfT1BFTlNTTCAxCnwgI2RlZmluZSBVU0VfTElCWE1MIDEKfCAjZGVmaW5lIFVTRV9MSUJY U0xUIDEKfCAjZGVmaW5lIFNURENfSEVBREVSUyAxCnwgI2RlZmluZSBIQVZFX1NZU19UWVBFU19I IDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NUQVRfSCAxCnwgI2RlZmluZSBIQVZFX1NURExJQl9IIDEK fCAjZGVmaW5lIEhBVkVfU1RSSU5HX0ggMQp8ICNkZWZpbmUgSEFWRV9NRU1PUllfSCAxCnwgI2Rl ZmluZSBIQVZFX1NUUklOR1NfSCAxCnwgI2RlZmluZSBIQVZFX0lOVFRZUEVTX0ggMQp8ICNkZWZp bmUgSEFWRV9TVERJTlRfSCAxCnwgI2RlZmluZSBIQVZFX1VOSVNURF9IIDEKfCAjZGVmaW5lIEhB VkVfTElCTSAxCnwgI2RlZmluZSBIQVZFX0xJQlogMQp8ICNkZWZpbmUgSEFWRV9TUElOTE9DS1Mg MQp8ICNkZWZpbmUgSEFWRV9BVE9NSUNTIDEKfCAjZGVmaW5lIEhBVkVfU1NMX0dFVF9DVVJSRU5U X0NPTVBSRVNTSU9OIDEKfCAjZGVmaW5lIEhBVkVfWDUwOV9HRVRfU0lHTkFUVVJFX05JRCAxCnwg I2RlZmluZSBIQVZFX0NSWVBUT19MT0NLIDEKfCAjZGVmaW5lIEhBVkVfTElCWE1MMiAxCnwgI2Rl ZmluZSBIQVZFX0xJQlhTTFQgMQp8ICNkZWZpbmUgSEFWRV9fQk9PTCAxCnwgI2RlZmluZSBIQVZF X1NUREJPT0xfSCAxCnwgI2RlZmluZSBIQVZFX0dFVE9QVF9IIDEKfCAjZGVmaW5lIEhBVkVfSUVF RUZQX0ggMQp8ICNkZWZpbmUgSEFWRV9VVElNRV9IIDEKfCAjZGVmaW5lIEhBVkVfV0NIQVJfSCAx CnwgI2RlZmluZSBIQVZFX1dDVFlQRV9IIDEKfCAjZGVmaW5lIEhBVkVfQ1JUREVGU19IIDEKfCAj ZGVmaW5lIFBHX1BSSU5URl9BVFRSSUJVVEUgZ251X3ByaW50Zgp8ICNkZWZpbmUgRkxFWElCTEVf QVJSQVlfTUVNQkVSIC8qKi8KfCAjZGVmaW5lIEhBVkVfRlVOQ05BTUVfX0ZVTkMgMQp8ICNkZWZp bmUgSEFWRV9fU1RBVElDX0FTU0VSVCAxCnwgI2RlZmluZSBIQVZFX1RZUEVPRiAxCnwgI2RlZmlu ZSBIQVZFX19CVUlMVElOX1RZUEVTX0NPTVBBVElCTEVfUCAxCnwgI2RlZmluZSBIQVZFX19CVUlM VElOX0JTV0FQMTYgMQp8ICNkZWZpbmUgSEFWRV9fQlVJTFRJTl9CU1dBUDMyIDEKfCAjZGVmaW5l IEhBVkVfX0JVSUxUSU5fQlNXQVA2NCAxCnwgI2RlZmluZSBIQVZFX19CVUlMVElOX0NPTlNUQU5U X1AgMQp8ICNkZWZpbmUgSEFWRV9fQlVJTFRJTl9VTlJFQUNIQUJMRSAxCnwgI2RlZmluZSBIQVZF X0NPTVBVVEVEX0dPVE8gMQp8ICNkZWZpbmUgSEFWRV9fVkFfQVJHUyAxCnwgI2RlZmluZSBIQVZF X1RaTkFNRSAxCnwgI2RlZmluZSBIQVZFX1NUUlVDVF9TT0NLQUREUl9TVE9SQUdFIDEKfCAjZGVm aW5lIEhBVkVfU1RSVUNUX1NPQ0tBRERSX1NUT1JBR0VfU1NfRkFNSUxZIDEKfCAjZGVmaW5lIEhB VkVfU1RSVUNUX0FERFJJTkZPIDEKfCAjZGVmaW5lIEhBVkVfSU5UUFRSX1QgMQp8ICNkZWZpbmUg SEFWRV9VSU5UUFRSX1QgMQp8ICNkZWZpbmUgSEFWRV9VTlNJR05FRF9MT05HX0xPTkdfSU5UIDEK fCAjZGVmaW5lIEhBVkVfTE9OR19MT05HX0lOVCAxCnwgI2RlZmluZSByZXN0cmljdCBfX3Jlc3Ry aWN0CnwgI2RlZmluZSBwZ19yZXN0cmljdCBfX3Jlc3RyaWN0CnwgI2RlZmluZSBIQVZFX1NUUlVD VF9PUFRJT04gMQp8ICNkZWZpbmUgU0laRU9GX09GRl9UIDQKfCAjZGVmaW5lIFNJWkVPRl9CT09M IDEKfCAjZGVmaW5lIEhBVkVfSU5UX1RJTUVaT05FIDEKfCAvKiBlbmQgY29uZmRlZnMuaC4gICov CnwgI2luY2x1ZGUgPHN5cy90eXBlcy5oPgp8ICNpbmNsdWRlIDxzeXMvc29ja2V0Lmg+CnwgZXh0 ZXJuIHVuc2lnbmVkIGludCBQQVNDQUwgYWNjZXB0IChTT0NLRVQsIHN0cnVjdCBzb2NrYWRkciAq LCBzb2NrbGVuX3QgKik7CmNvbmZpZ3VyZToxNDc5MTogeDg2XzY0LXc2NC1taW5ndzMyLWdjYyAt YyAtV2FsbCAtV21pc3NpbmctcHJvdG90eXBlcyAtV3BvaW50ZXItYXJpdGggLVdkZWNsYXJhdGlv bi1hZnRlci1zdGF0ZW1lbnQgLVdlbmRpZi1sYWJlbHMgLVdtaXNzaW5nLWZvcm1hdC1hdHRyaWJ1 dGUgLVdmb3JtYXQtc2VjdXJpdHkgLWZuby1zdHJpY3QtYWxpYXNpbmcgLWZ3cmFwdiAtZmV4Y2Vz cy1wcmVjaXNpb249c3RhbmRhcmQgLVduby1mb3JtYXQtdHJ1bmNhdGlvbiAtV25vLXN0cmluZ29w LXRydW5jYXRpb24gLWcgLU8gLWZuby1vbWl0LWZyYW1lLXBvaW50ZXIgIC1JL3cvUi0zLjUuXy9w b3N0Z3Jlcy9zcmMvaW5jbHVkZS9wb3J0L3dpbjMyIC1ERVhFQ19CQUNLRU5EICAtSS93L3psaWIt MS4yLjgtd2luMzIteDg2XzY0L2luY2x1ZGUgLUkvdy9vcGVuc3NsLTEuMC4yZS13aW4zMi14ODZf NjQvaW5jbHVkZSAtSS93L2xpYnhtbDItMi45LjMtd2luMzIteDg2XzY0L2luY2x1ZGUvbGlieG1s MiAtSS93L2xpYnhzbHQtMS4xLjI4LXdpbjMyLXg4Nl82NC9pbmNsdWRlIGNvbmZ0ZXN0LmMgPiY1 CmNvbmZ0ZXN0LmM6Nzk6Mjg6IGVycm9yOiBjb25mbGljdGluZyB0eXBlcyBmb3IgJ2FjY2VwdCcK IGV4dGVybiB1bnNpZ25lZCBpbnQgUEFTQ0FMIGFjY2VwdCAoU09DS0VULCBzdHJ1Y3Qgc29ja2Fk ZHIgKiwgdW5zaWduZWQgaW50ICopOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgXn5+fn5+ CkluIGZpbGUgaW5jbHVkZWQgZnJvbSBXOi9SLTMuNS5fL3Bvc3RncmVzL3NyYy9pbmNsdWRlL3Bv cnQvd2luMzIvc3lzL3NvY2tldC5oOjE0LAogICAgICAgICAgICAgICAgIGZyb20gY29uZnRlc3Qu Yzo3ODoKQzovbXN5czY0L21pbmd3NjQveDg2XzY0LXc2NC1taW5ndzMyL2luY2x1ZGUvd2luc29j azIuaDo5NzM6Mzc6IG5vdGU6IHByZXZpb3VzIGRlY2xhcmF0aW9uIG9mICdhY2NlcHQnIHdhcyBo ZXJlCiAgIFdJTlNPQ0tfQVBJX0xJTktBR0UgU09DS0VUIFdTQUFQSSBhY2NlcHQoU09DS0VUIHMs c3RydWN0IHNvY2thZGRyICphZGRyLGludCAqYWRkcmxlbik7CiAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICBefn5+fn4KY29uZmlndXJlOjE0NzkxOiAkPyA9IDEKY29uZmlndXJl OiBmYWlsZWQgcHJvZ3JhbSB3YXM6CnwgLyogY29uZmRlZnMuaCAqLwp8ICNkZWZpbmUgUEFDS0FH RV9OQU1FICJQb3N0Z3JlU1FMIgp8ICNkZWZpbmUgUEFDS0FHRV9UQVJOQU1FICJwb3N0Z3Jlc3Fs Igp8ICNkZWZpbmUgUEFDS0FHRV9WRVJTSU9OICIxMWJldGEzIgp8ICNkZWZpbmUgUEFDS0FHRV9T VFJJTkcgIlBvc3RncmVTUUwgMTFiZXRhMyIKfCAjZGVmaW5lIFBBQ0tBR0VfQlVHUkVQT1JUICJw Z3NxbC1idWdzQHBvc3RncmVzcWwub3JnIgp8ICNkZWZpbmUgUEFDS0FHRV9VUkwgIiIKfCAjZGVm aW5lIFBHX01BSk9SVkVSU0lPTiAiMTEiCnwgI2RlZmluZSBQR19WRVJTSU9OICIxMWJldGEzIgp8 ICNkZWZpbmUgREVGX1BHUE9SVCA1NDMyCnwgI2RlZmluZSBERUZfUEdQT1JUX1NUUiAiNTQzMiIK fCAjZGVmaW5lIEJMQ0tTWiA4MTkyCnwgI2RlZmluZSBSRUxTRUdfU0laRSAxMzEwNzIKfCAjZGVm aW5lIFhMT0dfQkxDS1NaIDgxOTIKfCAjZGVmaW5lIFVTRV9BU1NFUlRfQ0hFQ0tJTkcgMQp8ICNk ZWZpbmUgRU5BQkxFX1RIUkVBRF9TQUZFVFkgMQp8ICNkZWZpbmUgVVNFX0lDVSAxCnwgI2RlZmlu ZSBQR19LUkJfU1JWTkFNICJwb3N0Z3JlcyIKfCAjZGVmaW5lIFVTRV9PUEVOU1NMIDEKfCAjZGVm aW5lIFVTRV9MSUJYTUwgMQp8ICNkZWZpbmUgVVNFX0xJQlhTTFQgMQp8ICNkZWZpbmUgU1REQ19I RUFERVJTIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1RZUEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNf U1RBVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1RETElCX0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJJTkdf SCAxCnwgI2RlZmluZSBIQVZFX01FTU9SWV9IIDEKfCAjZGVmaW5lIEhBVkVfU1RSSU5HU19IIDEK fCAjZGVmaW5lIEhBVkVfSU5UVFlQRVNfSCAxCnwgI2RlZmluZSBIQVZFX1NURElOVF9IIDEKfCAj ZGVmaW5lIEhBVkVfVU5JU1REX0ggMQp8ICNkZWZpbmUgSEFWRV9MSUJNIDEKfCAjZGVmaW5lIEhB VkVfTElCWiAxCnwgI2RlZmluZSBIQVZFX1NQSU5MT0NLUyAxCnwgI2RlZmluZSBIQVZFX0FUT01J Q1MgMQp8ICNkZWZpbmUgSEFWRV9TU0xfR0VUX0NVUlJFTlRfQ09NUFJFU1NJT04gMQp8ICNkZWZp bmUgSEFWRV9YNTA5X0dFVF9TSUdOQVRVUkVfTklEIDEKfCAjZGVmaW5lIEhBVkVfQ1JZUFRPX0xP Q0sgMQp8ICNkZWZpbmUgSEFWRV9MSUJYTUwyIDEKfCAjZGVmaW5lIEhBVkVfTElCWFNMVCAxCnwg I2RlZmluZSBIQVZFX19CT09MIDEKfCAjZGVmaW5lIEhBVkVfU1REQk9PTF9IIDEKfCAjZGVmaW5l IEhBVkVfR0VUT1BUX0ggMQp8ICNkZWZpbmUgSEFWRV9JRUVFRlBfSCAxCnwgI2RlZmluZSBIQVZF X1VUSU1FX0ggMQp8ICNkZWZpbmUgSEFWRV9XQ0hBUl9IIDEKfCAjZGVmaW5lIEhBVkVfV0NUWVBF X0ggMQp8ICNkZWZpbmUgSEFWRV9DUlRERUZTX0ggMQp8ICNkZWZpbmUgUEdfUFJJTlRGX0FUVFJJ QlVURSBnbnVfcHJpbnRmCnwgI2RlZmluZSBGTEVYSUJMRV9BUlJBWV9NRU1CRVIgLyoqLwp8ICNk ZWZpbmUgSEFWRV9GVU5DTkFNRV9fRlVOQyAxCnwgI2RlZmluZSBIQVZFX19TVEFUSUNfQVNTRVJU IDEKfCAjZGVmaW5lIEhBVkVfVFlQRU9GIDEKfCAjZGVmaW5lIEhBVkVfX0JVSUxUSU5fVFlQRVNf Q09NUEFUSUJMRV9QIDEKfCAjZGVmaW5lIEhBVkVfX0JVSUxUSU5fQlNXQVAxNiAxCnwgI2RlZmlu ZSBIQVZFX19CVUlMVElOX0JTV0FQMzIgMQp8ICNkZWZpbmUgSEFWRV9fQlVJTFRJTl9CU1dBUDY0 IDEKfCAjZGVmaW5lIEhBVkVfX0JVSUxUSU5fQ09OU1RBTlRfUCAxCnwgI2RlZmluZSBIQVZFX19C VUlMVElOX1VOUkVBQ0hBQkxFIDEKfCAjZGVmaW5lIEhBVkVfQ09NUFVURURfR09UTyAxCnwgI2Rl ZmluZSBIQVZFX19WQV9BUkdTIDEKfCAjZGVmaW5lIEhBVkVfVFpOQU1FIDEKfCAjZGVmaW5lIEhB VkVfU1RSVUNUX1NPQ0tBRERSX1NUT1JBR0UgMQp8ICNkZWZpbmUgSEFWRV9TVFJVQ1RfU09DS0FE RFJfU1RPUkFHRV9TU19GQU1JTFkgMQp8ICNkZWZpbmUgSEFWRV9TVFJVQ1RfQUREUklORk8gMQp8 ICNkZWZpbmUgSEFWRV9JTlRQVFJfVCAxCnwgI2RlZmluZSBIQVZFX1VJTlRQVFJfVCAxCnwgI2Rl ZmluZSBIQVZFX1VOU0lHTkVEX0xPTkdfTE9OR19JTlQgMQp8ICNkZWZpbmUgSEFWRV9MT05HX0xP TkdfSU5UIDEKfCAjZGVmaW5lIHJlc3RyaWN0IF9fcmVzdHJpY3QKfCAjZGVmaW5lIHBnX3Jlc3Ry aWN0IF9fcmVzdHJpY3QKfCAjZGVmaW5lIEhBVkVfU1RSVUNUX09QVElPTiAxCnwgI2RlZmluZSBT SVpFT0ZfT0ZGX1QgNAp8ICNkZWZpbmUgU0laRU9GX0JPT0wgMQp8ICNkZWZpbmUgSEFWRV9JTlRf VElNRVpPTkUgMQp8IC8qIGVuZCBjb25mZGVmcy5oLiAgKi8KfCAjaW5jbHVkZSA8c3lzL3R5cGVz Lmg+CnwgI2luY2x1ZGUgPHN5cy9zb2NrZXQuaD4KfCBleHRlcm4gdW5zaWduZWQgaW50IFBBU0NB TCBhY2NlcHQgKFNPQ0tFVCwgc3RydWN0IHNvY2thZGRyICosIHVuc2lnbmVkIGludCAqKTsKY29u ZmlndXJlOjE0NzkxOiB4ODZfNjQtdzY0LW1pbmd3MzItZ2NjIC1jIC1XYWxsIC1XbWlzc2luZy1w cm90b3R5cGVzIC1XcG9pbnRlci1hcml0aCAtV2RlY2xhcmF0aW9uLWFmdGVyLXN0YXRlbWVudCAt V2VuZGlmLWxhYmVscyAtV21pc3NpbmctZm9ybWF0LWF0dHJpYnV0ZSAtV2Zvcm1hdC1zZWN1cml0 eSAtZm5vLXN0cmljdC1hbGlhc2luZyAtZndyYXB2IC1mZXhjZXNzLXByZWNpc2lvbj1zdGFuZGFy ZCAtV25vLWZvcm1hdC10cnVuY2F0aW9uIC1Xbm8tc3RyaW5nb3AtdHJ1bmNhdGlvbiAtZyAtTyAt Zm5vLW9taXQtZnJhbWUtcG9pbnRlciAgLUkvdy9SLTMuNS5fL3Bvc3RncmVzL3NyYy9pbmNsdWRl L3BvcnQvd2luMzIgLURFWEVDX0JBQ0tFTkQgIC1JL3cvemxpYi0xLjIuOC13aW4zMi14ODZfNjQv aW5jbHVkZSAtSS93L29wZW5zc2wtMS4wLjJlLXdpbjMyLXg4Nl82NC9pbmNsdWRlIC1JL3cvbGli eG1sMi0yLjkuMy13aW4zMi14ODZfNjQvaW5jbHVkZS9saWJ4bWwyIC1JL3cvbGlieHNsdC0xLjEu Mjgtd2luMzIteDg2XzY0L2luY2x1ZGUgY29uZnRlc3QuYyA+JjUKY29uZnRlc3QuYzo3OToyODog ZXJyb3I6IGNvbmZsaWN0aW5nIHR5cGVzIGZvciAnYWNjZXB0JwogZXh0ZXJuIHVuc2lnbmVkIGlu dCBQQVNDQUwgYWNjZXB0IChTT0NLRVQsIHN0cnVjdCBzb2NrYWRkciAqLCB2b2lkICopOwogICAg ICAgICAgICAgICAgICAgICAgICAgICAgXn5+fn5+CkluIGZpbGUgaW5jbHVkZWQgZnJvbSBXOi9S LTMuNS5fL3Bvc3RncmVzL3NyYy9pbmNsdWRlL3BvcnQvd2luMzIvc3lzL3NvY2tldC5oOjE0LAog ICAgICAgICAgICAgICAgIGZyb20gY29uZnRlc3QuYzo3ODoKQzovbXN5czY0L21pbmd3NjQveDg2 XzY0LXc2NC1taW5ndzMyL2luY2x1ZGUvd2luc29jazIuaDo5NzM6Mzc6IG5vdGU6IHByZXZpb3Vz IGRlY2xhcmF0aW9uIG9mICdhY2NlcHQnIHdhcyBoZXJlCiAgIFdJTlNPQ0tfQVBJX0xJTktBR0Ug U09DS0VUIFdTQUFQSSBhY2NlcHQoU09DS0VUIHMsc3RydWN0IHNvY2thZGRyICphZGRyLGludCAq YWRkcmxlbik7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBefn5+fn4KY29u ZmlndXJlOjE0NzkxOiAkPyA9IDEKY29uZmlndXJlOiBmYWlsZWQgcHJvZ3JhbSB3YXM6CnwgLyog Y29uZmRlZnMuaCAqLwp8ICNkZWZpbmUgUEFDS0FHRV9OQU1FICJQb3N0Z3JlU1FMIgp8ICNkZWZp bmUgUEFDS0FHRV9UQVJOQU1FICJwb3N0Z3Jlc3FsIgp8ICNkZWZpbmUgUEFDS0FHRV9WRVJTSU9O ICIxMWJldGEzIgp8ICNkZWZpbmUgUEFDS0FHRV9TVFJJTkcgIlBvc3RncmVTUUwgMTFiZXRhMyIK fCAjZGVmaW5lIFBBQ0tBR0VfQlVHUkVQT1JUICJwZ3NxbC1idWdzQHBvc3RncmVzcWwub3JnIgp8 ICNkZWZpbmUgUEFDS0FHRV9VUkwgIiIKfCAjZGVmaW5lIFBHX01BSk9SVkVSU0lPTiAiMTEiCnwg I2RlZmluZSBQR19WRVJTSU9OICIxMWJldGEzIgp8ICNkZWZpbmUgREVGX1BHUE9SVCA1NDMyCnwg I2RlZmluZSBERUZfUEdQT1JUX1NUUiAiNTQzMiIKfCAjZGVmaW5lIEJMQ0tTWiA4MTkyCnwgI2Rl ZmluZSBSRUxTRUdfU0laRSAxMzEwNzIKfCAjZGVmaW5lIFhMT0dfQkxDS1NaIDgxOTIKfCAjZGVm aW5lIFVTRV9BU1NFUlRfQ0hFQ0tJTkcgMQp8ICNkZWZpbmUgRU5BQkxFX1RIUkVBRF9TQUZFVFkg MQp8ICNkZWZpbmUgVVNFX0lDVSAxCnwgI2RlZmluZSBQR19LUkJfU1JWTkFNICJwb3N0Z3JlcyIK fCAjZGVmaW5lIFVTRV9PUEVOU1NMIDEKfCAjZGVmaW5lIFVTRV9MSUJYTUwgMQp8ICNkZWZpbmUg VVNFX0xJQlhTTFQgMQp8ICNkZWZpbmUgU1REQ19IRUFERVJTIDEKfCAjZGVmaW5lIEhBVkVfU1lT X1RZUEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfU1RBVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1RE TElCX0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJJTkdfSCAxCnwgI2RlZmluZSBIQVZFX01FTU9SWV9I IDEKfCAjZGVmaW5lIEhBVkVfU1RSSU5HU19IIDEKfCAjZGVmaW5lIEhBVkVfSU5UVFlQRVNfSCAx CnwgI2RlZmluZSBIQVZFX1NURElOVF9IIDEKfCAjZGVmaW5lIEhBVkVfVU5JU1REX0ggMQp8ICNk ZWZpbmUgSEFWRV9MSUJNIDEKfCAjZGVmaW5lIEhBVkVfTElCWiAxCnwgI2RlZmluZSBIQVZFX1NQ SU5MT0NLUyAxCnwgI2RlZmluZSBIQVZFX0FUT01JQ1MgMQp8ICNkZWZpbmUgSEFWRV9TU0xfR0VU X0NVUlJFTlRfQ09NUFJFU1NJT04gMQp8ICNkZWZpbmUgSEFWRV9YNTA5X0dFVF9TSUdOQVRVUkVf TklEIDEKfCAjZGVmaW5lIEhBVkVfQ1JZUFRPX0xPQ0sgMQp8ICNkZWZpbmUgSEFWRV9MSUJYTUwy IDEKfCAjZGVmaW5lIEhBVkVfTElCWFNMVCAxCnwgI2RlZmluZSBIQVZFX19CT09MIDEKfCAjZGVm aW5lIEhBVkVfU1REQk9PTF9IIDEKfCAjZGVmaW5lIEhBVkVfR0VUT1BUX0ggMQp8ICNkZWZpbmUg SEFWRV9JRUVFRlBfSCAxCnwgI2RlZmluZSBIQVZFX1VUSU1FX0ggMQp8ICNkZWZpbmUgSEFWRV9X Q0hBUl9IIDEKfCAjZGVmaW5lIEhBVkVfV0NUWVBFX0ggMQp8ICNkZWZpbmUgSEFWRV9DUlRERUZT X0ggMQp8ICNkZWZpbmUgUEdfUFJJTlRGX0FUVFJJQlVURSBnbnVfcHJpbnRmCnwgI2RlZmluZSBG TEVYSUJMRV9BUlJBWV9NRU1CRVIgLyoqLwp8ICNkZWZpbmUgSEFWRV9GVU5DTkFNRV9fRlVOQyAx CnwgI2RlZmluZSBIQVZFX19TVEFUSUNfQVNTRVJUIDEKfCAjZGVmaW5lIEhBVkVfVFlQRU9GIDEK fCAjZGVmaW5lIEhBVkVfX0JVSUxUSU5fVFlQRVNfQ09NUEFUSUJMRV9QIDEKfCAjZGVmaW5lIEhB VkVfX0JVSUxUSU5fQlNXQVAxNiAxCnwgI2RlZmluZSBIQVZFX19CVUlMVElOX0JTV0FQMzIgMQp8 ICNkZWZpbmUgSEFWRV9fQlVJTFRJTl9CU1dBUDY0IDEKfCAjZGVmaW5lIEhBVkVfX0JVSUxUSU5f Q09OU1RBTlRfUCAxCnwgI2RlZmluZSBIQVZFX19CVUlMVElOX1VOUkVBQ0hBQkxFIDEKfCAjZGVm aW5lIEhBVkVfQ09NUFVURURfR09UTyAxCnwgI2RlZmluZSBIQVZFX19WQV9BUkdTIDEKfCAjZGVm aW5lIEhBVkVfVFpOQU1FIDEKfCAjZGVmaW5lIEhBVkVfU1RSVUNUX1NPQ0tBRERSX1NUT1JBR0Ug MQp8ICNkZWZpbmUgSEFWRV9TVFJVQ1RfU09DS0FERFJfU1RPUkFHRV9TU19GQU1JTFkgMQp8ICNk ZWZpbmUgSEFWRV9TVFJVQ1RfQUREUklORk8gMQp8ICNkZWZpbmUgSEFWRV9JTlRQVFJfVCAxCnwg I2RlZmluZSBIQVZFX1VJTlRQVFJfVCAxCnwgI2RlZmluZSBIQVZFX1VOU0lHTkVEX0xPTkdfTE9O R19JTlQgMQp8ICNkZWZpbmUgSEFWRV9MT05HX0xPTkdfSU5UIDEKfCAjZGVmaW5lIHJlc3RyaWN0 IF9fcmVzdHJpY3QKfCAjZGVmaW5lIHBnX3Jlc3RyaWN0IF9fcmVzdHJpY3QKfCAjZGVmaW5lIEhB VkVfU1RSVUNUX09QVElPTiAxCnwgI2RlZmluZSBTSVpFT0ZfT0ZGX1QgNAp8ICNkZWZpbmUgU0la RU9GX0JPT0wgMQp8ICNkZWZpbmUgSEFWRV9JTlRfVElNRVpPTkUgMQp8IC8qIGVuZCBjb25mZGVm cy5oLiAgKi8KfCAjaW5jbHVkZSA8c3lzL3R5cGVzLmg+CnwgI2luY2x1ZGUgPHN5cy9zb2NrZXQu aD4KfCBleHRlcm4gdW5zaWduZWQgaW50IFBBU0NBTCBhY2NlcHQgKFNPQ0tFVCwgc3RydWN0IHNv Y2thZGRyICosIHZvaWQgKik7CmNvbmZpZ3VyZToxNDc5MTogeDg2XzY0LXc2NC1taW5ndzMyLWdj YyAtYyAtV2FsbCAtV21pc3NpbmctcHJvdG90eXBlcyAtV3BvaW50ZXItYXJpdGggLVdkZWNsYXJh dGlvbi1hZnRlci1zdGF0ZW1lbnQgLVdlbmRpZi1sYWJlbHMgLVdtaXNzaW5nLWZvcm1hdC1hdHRy aWJ1dGUgLVdmb3JtYXQtc2VjdXJpdHkgLWZuby1zdHJpY3QtYWxpYXNpbmcgLWZ3cmFwdiAtZmV4 Y2Vzcy1wcmVjaXNpb249c3RhbmRhcmQgLVduby1mb3JtYXQtdHJ1bmNhdGlvbiAtV25vLXN0cmlu Z29wLXRydW5jYXRpb24gLWcgLU8gLWZuby1vbWl0LWZyYW1lLXBvaW50ZXIgIC1JL3cvUi0zLjUu Xy9wb3N0Z3Jlcy9zcmMvaW5jbHVkZS9wb3J0L3dpbjMyIC1ERVhFQ19CQUNLRU5EICAtSS93L3ps aWItMS4yLjgtd2luMzIteDg2XzY0L2luY2x1ZGUgLUkvdy9vcGVuc3NsLTEuMC4yZS13aW4zMi14 ODZfNjQvaW5jbHVkZSAtSS93L2xpYnhtbDItMi45LjMtd2luMzIteDg2XzY0L2luY2x1ZGUvbGli eG1sMiAtSS93L2xpYnhzbHQtMS4xLjI4LXdpbjMyLXg4Nl82NC9pbmNsdWRlIGNvbmZ0ZXN0LmMg PiY1CmNvbmZ0ZXN0LmM6Nzk6Mjg6IGVycm9yOiBjb25mbGljdGluZyB0eXBlcyBmb3IgJ2FjY2Vw dCcKIGV4dGVybiB1bnNpZ25lZCBpbnQgUEFTQ0FMIGFjY2VwdCAoU09DS0VULCBjb25zdCBzdHJ1 Y3Qgc29ja2FkZHIgKiwgaW50ICopOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgXn5+fn5+ CkluIGZpbGUgaW5jbHVkZWQgZnJvbSBXOi9SLTMuNS5fL3Bvc3RncmVzL3NyYy9pbmNsdWRlL3Bv cnQvd2luMzIvc3lzL3NvY2tldC5oOjE0LAogICAgICAgICAgICAgICAgIGZyb20gY29uZnRlc3Qu Yzo3ODoKQzovbXN5czY0L21pbmd3NjQveDg2XzY0LXc2NC1taW5ndzMyL2luY2x1ZGUvd2luc29j azIuaDo5NzM6Mzc6IG5vdGU6IHByZXZpb3VzIGRlY2xhcmF0aW9uIG9mICdhY2NlcHQnIHdhcyBo ZXJlCiAgIFdJTlNPQ0tfQVBJX0xJTktBR0UgU09DS0VUIFdTQUFQSSBhY2NlcHQoU09DS0VUIHMs c3RydWN0IHNvY2thZGRyICphZGRyLGludCAqYWRkcmxlbik7CiAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICBefn5+fn4KY29uZmlndXJlOjE0NzkxOiAkPyA9IDEKY29uZmlndXJl OiBmYWlsZWQgcHJvZ3JhbSB3YXM6CnwgLyogY29uZmRlZnMuaCAqLwp8ICNkZWZpbmUgUEFDS0FH RV9OQU1FICJQb3N0Z3JlU1FMIgp8ICNkZWZpbmUgUEFDS0FHRV9UQVJOQU1FICJwb3N0Z3Jlc3Fs Igp8ICNkZWZpbmUgUEFDS0FHRV9WRVJTSU9OICIxMWJldGEzIgp8ICNkZWZpbmUgUEFDS0FHRV9T VFJJTkcgIlBvc3RncmVTUUwgMTFiZXRhMyIKfCAjZGVmaW5lIFBBQ0tBR0VfQlVHUkVQT1JUICJw Z3NxbC1idWdzQHBvc3RncmVzcWwub3JnIgp8ICNkZWZpbmUgUEFDS0FHRV9VUkwgIiIKfCAjZGVm aW5lIFBHX01BSk9SVkVSU0lPTiAiMTEiCnwgI2RlZmluZSBQR19WRVJTSU9OICIxMWJldGEzIgp8 ICNkZWZpbmUgREVGX1BHUE9SVCA1NDMyCnwgI2RlZmluZSBERUZfUEdQT1JUX1NUUiAiNTQzMiIK fCAjZGVmaW5lIEJMQ0tTWiA4MTkyCnwgI2RlZmluZSBSRUxTRUdfU0laRSAxMzEwNzIKfCAjZGVm aW5lIFhMT0dfQkxDS1NaIDgxOTIKfCAjZGVmaW5lIFVTRV9BU1NFUlRfQ0hFQ0tJTkcgMQp8ICNk ZWZpbmUgRU5BQkxFX1RIUkVBRF9TQUZFVFkgMQp8ICNkZWZpbmUgVVNFX0lDVSAxCnwgI2RlZmlu ZSBQR19LUkJfU1JWTkFNICJwb3N0Z3JlcyIKfCAjZGVmaW5lIFVTRV9PUEVOU1NMIDEKfCAjZGVm aW5lIFVTRV9MSUJYTUwgMQp8ICNkZWZpbmUgVVNFX0xJQlhTTFQgMQp8ICNkZWZpbmUgU1REQ19I RUFERVJTIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1RZUEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNf U1RBVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1RETElCX0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJJTkdf SCAxCnwgI2RlZmluZSBIQVZFX01FTU9SWV9IIDEKfCAjZGVmaW5lIEhBVkVfU1RSSU5HU19IIDEK fCAjZGVmaW5lIEhBVkVfSU5UVFlQRVNfSCAxCnwgI2RlZmluZSBIQVZFX1NURElOVF9IIDEKfCAj ZGVmaW5lIEhBVkVfVU5JU1REX0ggMQp8ICNkZWZpbmUgSEFWRV9MSUJNIDEKfCAjZGVmaW5lIEhB VkVfTElCWiAxCnwgI2RlZmluZSBIQVZFX1NQSU5MT0NLUyAxCnwgI2RlZmluZSBIQVZFX0FUT01J Q1MgMQp8ICNkZWZpbmUgSEFWRV9TU0xfR0VUX0NVUlJFTlRfQ09NUFJFU1NJT04gMQp8ICNkZWZp bmUgSEFWRV9YNTA5X0dFVF9TSUdOQVRVUkVfTklEIDEKfCAjZGVmaW5lIEhBVkVfQ1JZUFRPX0xP Q0sgMQp8ICNkZWZpbmUgSEFWRV9MSUJYTUwyIDEKfCAjZGVmaW5lIEhBVkVfTElCWFNMVCAxCnwg I2RlZmluZSBIQVZFX19CT09MIDEKfCAjZGVmaW5lIEhBVkVfU1REQk9PTF9IIDEKfCAjZGVmaW5l IEhBVkVfR0VUT1BUX0ggMQp8ICNkZWZpbmUgSEFWRV9JRUVFRlBfSCAxCnwgI2RlZmluZSBIQVZF X1VUSU1FX0ggMQp8ICNkZWZpbmUgSEFWRV9XQ0hBUl9IIDEKfCAjZGVmaW5lIEhBVkVfV0NUWVBF X0ggMQp8ICNkZWZpbmUgSEFWRV9DUlRERUZTX0ggMQp8ICNkZWZpbmUgUEdfUFJJTlRGX0FUVFJJ QlVURSBnbnVfcHJpbnRmCnwgI2RlZmluZSBGTEVYSUJMRV9BUlJBWV9NRU1CRVIgLyoqLwp8ICNk ZWZpbmUgSEFWRV9GVU5DTkFNRV9fRlVOQyAxCnwgI2RlZmluZSBIQVZFX19TVEFUSUNfQVNTRVJU IDEKfCAjZGVmaW5lIEhBVkVfVFlQRU9GIDEKfCAjZGVmaW5lIEhBVkVfX0JVSUxUSU5fVFlQRVNf Q09NUEFUSUJMRV9QIDEKfCAjZGVmaW5lIEhBVkVfX0JVSUxUSU5fQlNXQVAxNiAxCnwgI2RlZmlu ZSBIQVZFX19CVUlMVElOX0JTV0FQMzIgMQp8ICNkZWZpbmUgSEFWRV9fQlVJTFRJTl9CU1dBUDY0 IDEKfCAjZGVmaW5lIEhBVkVfX0JVSUxUSU5fQ09OU1RBTlRfUCAxCnwgI2RlZmluZSBIQVZFX19C VUlMVElOX1VOUkVBQ0hBQkxFIDEKfCAjZGVmaW5lIEhBVkVfQ09NUFVURURfR09UTyAxCnwgI2Rl ZmluZSBIQVZFX19WQV9BUkdTIDEKfCAjZGVmaW5lIEhBVkVfVFpOQU1FIDEKfCAjZGVmaW5lIEhB VkVfU1RSVUNUX1NPQ0tBRERSX1NUT1JBR0UgMQp8ICNkZWZpbmUgSEFWRV9TVFJVQ1RfU09DS0FE RFJfU1RPUkFHRV9TU19GQU1JTFkgMQp8ICNkZWZpbmUgSEFWRV9TVFJVQ1RfQUREUklORk8gMQp8 ICNkZWZpbmUgSEFWRV9JTlRQVFJfVCAxCnwgI2RlZmluZSBIQVZFX1VJTlRQVFJfVCAxCnwgI2Rl ZmluZSBIQVZFX1VOU0lHTkVEX0xPTkdfTE9OR19JTlQgMQp8ICNkZWZpbmUgSEFWRV9MT05HX0xP TkdfSU5UIDEKfCAjZGVmaW5lIHJlc3RyaWN0IF9fcmVzdHJpY3QKfCAjZGVmaW5lIHBnX3Jlc3Ry aWN0IF9fcmVzdHJpY3QKfCAjZGVmaW5lIEhBVkVfU1RSVUNUX09QVElPTiAxCnwgI2RlZmluZSBT SVpFT0ZfT0ZGX1QgNAp8ICNkZWZpbmUgU0laRU9GX0JPT0wgMQp8ICNkZWZpbmUgSEFWRV9JTlRf VElNRVpPTkUgMQp8IC8qIGVuZCBjb25mZGVmcy5oLiAgKi8KfCAjaW5jbHVkZSA8c3lzL3R5cGVz Lmg+CnwgI2luY2x1ZGUgPHN5cy9zb2NrZXQuaD4KfCBleHRlcm4gdW5zaWduZWQgaW50IFBBU0NB TCBhY2NlcHQgKFNPQ0tFVCwgY29uc3Qgc3RydWN0IHNvY2thZGRyICosIGludCAqKTsKY29uZmln dXJlOjE0NzkxOiB4ODZfNjQtdzY0LW1pbmd3MzItZ2NjIC1jIC1XYWxsIC1XbWlzc2luZy1wcm90 b3R5cGVzIC1XcG9pbnRlci1hcml0aCAtV2RlY2xhcmF0aW9uLWFmdGVyLXN0YXRlbWVudCAtV2Vu ZGlmLWxhYmVscyAtV21pc3NpbmctZm9ybWF0LWF0dHJpYnV0ZSAtV2Zvcm1hdC1zZWN1cml0eSAt Zm5vLXN0cmljdC1hbGlhc2luZyAtZndyYXB2IC1mZXhjZXNzLXByZWNpc2lvbj1zdGFuZGFyZCAt V25vLWZvcm1hdC10cnVuY2F0aW9uIC1Xbm8tc3RyaW5nb3AtdHJ1bmNhdGlvbiAtZyAtTyAtZm5v LW9taXQtZnJhbWUtcG9pbnRlciAgLUkvdy9SLTMuNS5fL3Bvc3RncmVzL3NyYy9pbmNsdWRlL3Bv cnQvd2luMzIgLURFWEVDX0JBQ0tFTkQgIC1JL3cvemxpYi0xLjIuOC13aW4zMi14ODZfNjQvaW5j bHVkZSAtSS93L29wZW5zc2wtMS4wLjJlLXdpbjMyLXg4Nl82NC9pbmNsdWRlIC1JL3cvbGlieG1s Mi0yLjkuMy13aW4zMi14ODZfNjQvaW5jbHVkZS9saWJ4bWwyIC1JL3cvbGlieHNsdC0xLjEuMjgt d2luMzIteDg2XzY0L2luY2x1ZGUgY29uZnRlc3QuYyA+JjUKY29uZnRlc3QuYzo3OToyODogZXJy b3I6IGNvbmZsaWN0aW5nIHR5cGVzIGZvciAnYWNjZXB0JwogZXh0ZXJuIHVuc2lnbmVkIGludCBQ QVNDQUwgYWNjZXB0IChTT0NLRVQsIGNvbnN0IHN0cnVjdCBzb2NrYWRkciAqLCBzaXplX3QgKik7 CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBefn5+fn4KSW4gZmlsZSBpbmNsdWRlZCBmcm9t IFc6L1ItMy41Ll8vcG9zdGdyZXMvc3JjL2luY2x1ZGUvcG9ydC93aW4zMi9zeXMvc29ja2V0Lmg6 MTQsCiAgICAgICAgICAgICAgICAgZnJvbSBjb25mdGVzdC5jOjc4OgpDOi9tc3lzNjQvbWluZ3c2 NC94ODZfNjQtdzY0LW1pbmd3MzIvaW5jbHVkZS93aW5zb2NrMi5oOjk3MzozNzogbm90ZTogcHJl dmlvdXMgZGVjbGFyYXRpb24gb2YgJ2FjY2VwdCcgd2FzIGhlcmUKICAgV0lOU09DS19BUElfTElO S0FHRSBTT0NLRVQgV1NBQVBJIGFjY2VwdChTT0NLRVQgcyxzdHJ1Y3Qgc29ja2FkZHIgKmFkZHIs aW50ICphZGRybGVuKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF5+fn5+ fgpjb25maWd1cmU6MTQ3OTE6ICQ/ID0gMQpjb25maWd1cmU6IGZhaWxlZCBwcm9ncmFtIHdhczoK fCAvKiBjb25mZGVmcy5oICovCnwgI2RlZmluZSBQQUNLQUdFX05BTUUgIlBvc3RncmVTUUwiCnwg I2RlZmluZSBQQUNLQUdFX1RBUk5BTUUgInBvc3RncmVzcWwiCnwgI2RlZmluZSBQQUNLQUdFX1ZF UlNJT04gIjExYmV0YTMiCnwgI2RlZmluZSBQQUNLQUdFX1NUUklORyAiUG9zdGdyZVNRTCAxMWJl dGEzIgp8ICNkZWZpbmUgUEFDS0FHRV9CVUdSRVBPUlQgInBnc3FsLWJ1Z3NAcG9zdGdyZXNxbC5v cmciCnwgI2RlZmluZSBQQUNLQUdFX1VSTCAiIgp8ICNkZWZpbmUgUEdfTUFKT1JWRVJTSU9OICIx MSIKfCAjZGVmaW5lIFBHX1ZFUlNJT04gIjExYmV0YTMiCnwgI2RlZmluZSBERUZfUEdQT1JUIDU0 MzIKfCAjZGVmaW5lIERFRl9QR1BPUlRfU1RSICI1NDMyIgp8ICNkZWZpbmUgQkxDS1NaIDgxOTIK fCAjZGVmaW5lIFJFTFNFR19TSVpFIDEzMTA3Mgp8ICNkZWZpbmUgWExPR19CTENLU1ogODE5Mgp8 ICNkZWZpbmUgVVNFX0FTU0VSVF9DSEVDS0lORyAxCnwgI2RlZmluZSBFTkFCTEVfVEhSRUFEX1NB RkVUWSAxCnwgI2RlZmluZSBVU0VfSUNVIDEKfCAjZGVmaW5lIFBHX0tSQl9TUlZOQU0gInBvc3Rn cmVzIgp8ICNkZWZpbmUgVVNFX09QRU5TU0wgMQp8ICNkZWZpbmUgVVNFX0xJQlhNTCAxCnwgI2Rl ZmluZSBVU0VfTElCWFNMVCAxCnwgI2RlZmluZSBTVERDX0hFQURFUlMgMQp8ICNkZWZpbmUgSEFW RV9TWVNfVFlQRVNfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19TVEFUX0ggMQp8ICNkZWZpbmUgSEFW RV9TVERMSUJfSCAxCnwgI2RlZmluZSBIQVZFX1NUUklOR19IIDEKfCAjZGVmaW5lIEhBVkVfTUVN T1JZX0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJJTkdTX0ggMQp8ICNkZWZpbmUgSEFWRV9JTlRUWVBF U19IIDEKfCAjZGVmaW5lIEhBVkVfU1RESU5UX0ggMQp8ICNkZWZpbmUgSEFWRV9VTklTVERfSCAx CnwgI2RlZmluZSBIQVZFX0xJQk0gMQp8ICNkZWZpbmUgSEFWRV9MSUJaIDEKfCAjZGVmaW5lIEhB VkVfU1BJTkxPQ0tTIDEKfCAjZGVmaW5lIEhBVkVfQVRPTUlDUyAxCnwgI2RlZmluZSBIQVZFX1NT TF9HRVRfQ1VSUkVOVF9DT01QUkVTU0lPTiAxCnwgI2RlZmluZSBIQVZFX1g1MDlfR0VUX1NJR05B VFVSRV9OSUQgMQp8ICNkZWZpbmUgSEFWRV9DUllQVE9fTE9DSyAxCnwgI2RlZmluZSBIQVZFX0xJ QlhNTDIgMQp8ICNkZWZpbmUgSEFWRV9MSUJYU0xUIDEKfCAjZGVmaW5lIEhBVkVfX0JPT0wgMQp8 ICNkZWZpbmUgSEFWRV9TVERCT09MX0ggMQp8ICNkZWZpbmUgSEFWRV9HRVRPUFRfSCAxCnwgI2Rl ZmluZSBIQVZFX0lFRUVGUF9IIDEKfCAjZGVmaW5lIEhBVkVfVVRJTUVfSCAxCnwgI2RlZmluZSBI QVZFX1dDSEFSX0ggMQp8ICNkZWZpbmUgSEFWRV9XQ1RZUEVfSCAxCnwgI2RlZmluZSBIQVZFX0NS VERFRlNfSCAxCnwgI2RlZmluZSBQR19QUklOVEZfQVRUUklCVVRFIGdudV9wcmludGYKfCAjZGVm aW5lIEZMRVhJQkxFX0FSUkFZX01FTUJFUiAvKiovCnwgI2RlZmluZSBIQVZFX0ZVTkNOQU1FX19G VU5DIDEKfCAjZGVmaW5lIEhBVkVfX1NUQVRJQ19BU1NFUlQgMQp8ICNkZWZpbmUgSEFWRV9UWVBF T0YgMQp8ICNkZWZpbmUgSEFWRV9fQlVJTFRJTl9UWVBFU19DT01QQVRJQkxFX1AgMQp8ICNkZWZp bmUgSEFWRV9fQlVJTFRJTl9CU1dBUDE2IDEKfCAjZGVmaW5lIEhBVkVfX0JVSUxUSU5fQlNXQVAz MiAxCnwgI2RlZmluZSBIQVZFX19CVUlMVElOX0JTV0FQNjQgMQp8ICNkZWZpbmUgSEFWRV9fQlVJ TFRJTl9DT05TVEFOVF9QIDEKfCAjZGVmaW5lIEhBVkVfX0JVSUxUSU5fVU5SRUFDSEFCTEUgMQp8 ICNkZWZpbmUgSEFWRV9DT01QVVRFRF9HT1RPIDEKfCAjZGVmaW5lIEhBVkVfX1ZBX0FSR1MgMQp8 ICNkZWZpbmUgSEFWRV9UWk5BTUUgMQp8ICNkZWZpbmUgSEFWRV9TVFJVQ1RfU09DS0FERFJfU1RP UkFHRSAxCnwgI2RlZmluZSBIQVZFX1NUUlVDVF9TT0NLQUREUl9TVE9SQUdFX1NTX0ZBTUlMWSAx CnwgI2RlZmluZSBIQVZFX1NUUlVDVF9BRERSSU5GTyAxCnwgI2RlZmluZSBIQVZFX0lOVFBUUl9U IDEKfCAjZGVmaW5lIEhBVkVfVUlOVFBUUl9UIDEKfCAjZGVmaW5lIEhBVkVfVU5TSUdORURfTE9O R19MT05HX0lOVCAxCnwgI2RlZmluZSBIQVZFX0xPTkdfTE9OR19JTlQgMQp8ICNkZWZpbmUgcmVz dHJpY3QgX19yZXN0cmljdAp8ICNkZWZpbmUgcGdfcmVzdHJpY3QgX19yZXN0cmljdAp8ICNkZWZp bmUgSEFWRV9TVFJVQ1RfT1BUSU9OIDEKfCAjZGVmaW5lIFNJWkVPRl9PRkZfVCA0CnwgI2RlZmlu ZSBTSVpFT0ZfQk9PTCAxCnwgI2RlZmluZSBIQVZFX0lOVF9USU1FWk9ORSAxCnwgLyogZW5kIGNv bmZkZWZzLmguICAqLwp8ICNpbmNsdWRlIDxzeXMvdHlwZXMuaD4KfCAjaW5jbHVkZSA8c3lzL3Nv Y2tldC5oPgp8IGV4dGVybiB1bnNpZ25lZCBpbnQgUEFTQ0FMIGFjY2VwdCAoU09DS0VULCBjb25z dCBzdHJ1Y3Qgc29ja2FkZHIgKiwgc2l6ZV90ICopOwpjb25maWd1cmU6MTQ3OTE6IHg4Nl82NC13 NjQtbWluZ3czMi1nY2MgLWMgLVdhbGwgLVdtaXNzaW5nLXByb3RvdHlwZXMgLVdwb2ludGVyLWFy aXRoIC1XZGVjbGFyYXRpb24tYWZ0ZXItc3RhdGVtZW50IC1XZW5kaWYtbGFiZWxzIC1XbWlzc2lu Zy1mb3JtYXQtYXR0cmlidXRlIC1XZm9ybWF0LXNlY3VyaXR5IC1mbm8tc3RyaWN0LWFsaWFzaW5n IC1md3JhcHYgLWZleGNlc3MtcHJlY2lzaW9uPXN0YW5kYXJkIC1Xbm8tZm9ybWF0LXRydW5jYXRp b24gLVduby1zdHJpbmdvcC10cnVuY2F0aW9uIC1nIC1PIC1mbm8tb21pdC1mcmFtZS1wb2ludGVy ICAtSS93L1ItMy41Ll8vcG9zdGdyZXMvc3JjL2luY2x1ZGUvcG9ydC93aW4zMiAtREVYRUNfQkFD S0VORCAgLUkvdy96bGliLTEuMi44LXdpbjMyLXg4Nl82NC9pbmNsdWRlIC1JL3cvb3BlbnNzbC0x LjAuMmUtd2luMzIteDg2XzY0L2luY2x1ZGUgLUkvdy9saWJ4bWwyLTIuOS4zLXdpbjMyLXg4Nl82 NC9pbmNsdWRlL2xpYnhtbDIgLUkvdy9saWJ4c2x0LTEuMS4yOC13aW4zMi14ODZfNjQvaW5jbHVk ZSBjb25mdGVzdC5jID4mNQpjb25mdGVzdC5jOjc5OjI4OiBlcnJvcjogY29uZmxpY3RpbmcgdHlw ZXMgZm9yICdhY2NlcHQnCiBleHRlcm4gdW5zaWduZWQgaW50IFBBU0NBTCBhY2NlcHQgKFNPQ0tF VCwgY29uc3Qgc3RydWN0IHNvY2thZGRyICosIHNvY2tsZW5fdCAqKTsKICAgICAgICAgICAgICAg ICAgICAgICAgICAgIF5+fn5+fgpJbiBmaWxlIGluY2x1ZGVkIGZyb20gVzovUi0zLjUuXy9wb3N0 Z3Jlcy9zcmMvaW5jbHVkZS9wb3J0L3dpbjMyL3N5cy9zb2NrZXQuaDoxNCwKICAgICAgICAgICAg ICAgICBmcm9tIGNvbmZ0ZXN0LmM6Nzg6CkM6L21zeXM2NC9taW5ndzY0L3g4Nl82NC13NjQtbWlu Z3czMi9pbmNsdWRlL3dpbnNvY2syLmg6OTczOjM3OiBub3RlOiBwcmV2aW91cyBkZWNsYXJhdGlv biBvZiAnYWNjZXB0JyB3YXMgaGVyZQogICBXSU5TT0NLX0FQSV9MSU5LQUdFIFNPQ0tFVCBXU0FB UEkgYWNjZXB0KFNPQ0tFVCBzLHN0cnVjdCBzb2NrYWRkciAqYWRkcixpbnQgKmFkZHJsZW4pOwog ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXn5+fn5+CmNvbmZpZ3VyZToxNDc5 MTogJD8gPSAxCmNvbmZpZ3VyZTogZmFpbGVkIHByb2dyYW0gd2FzOgp8IC8qIGNvbmZkZWZzLmgg Ki8KfCAjZGVmaW5lIFBBQ0tBR0VfTkFNRSAiUG9zdGdyZVNRTCIKfCAjZGVmaW5lIFBBQ0tBR0Vf VEFSTkFNRSAicG9zdGdyZXNxbCIKfCAjZGVmaW5lIFBBQ0tBR0VfVkVSU0lPTiAiMTFiZXRhMyIK fCAjZGVmaW5lIFBBQ0tBR0VfU1RSSU5HICJQb3N0Z3JlU1FMIDExYmV0YTMiCnwgI2RlZmluZSBQ QUNLQUdFX0JVR1JFUE9SVCAicGdzcWwtYnVnc0Bwb3N0Z3Jlc3FsLm9yZyIKfCAjZGVmaW5lIFBB Q0tBR0VfVVJMICIiCnwgI2RlZmluZSBQR19NQUpPUlZFUlNJT04gIjExIgp8ICNkZWZpbmUgUEdf VkVSU0lPTiAiMTFiZXRhMyIKfCAjZGVmaW5lIERFRl9QR1BPUlQgNTQzMgp8ICNkZWZpbmUgREVG X1BHUE9SVF9TVFIgIjU0MzIiCnwgI2RlZmluZSBCTENLU1ogODE5Mgp8ICNkZWZpbmUgUkVMU0VH X1NJWkUgMTMxMDcyCnwgI2RlZmluZSBYTE9HX0JMQ0tTWiA4MTkyCnwgI2RlZmluZSBVU0VfQVNT RVJUX0NIRUNLSU5HIDEKfCAjZGVmaW5lIEVOQUJMRV9USFJFQURfU0FGRVRZIDEKfCAjZGVmaW5l IFVTRV9JQ1UgMQp8ICNkZWZpbmUgUEdfS1JCX1NSVk5BTSAicG9zdGdyZXMiCnwgI2RlZmluZSBV U0VfT1BFTlNTTCAxCnwgI2RlZmluZSBVU0VfTElCWE1MIDEKfCAjZGVmaW5lIFVTRV9MSUJYU0xU IDEKfCAjZGVmaW5lIFNURENfSEVBREVSUyAxCnwgI2RlZmluZSBIQVZFX1NZU19UWVBFU19IIDEK fCAjZGVmaW5lIEhBVkVfU1lTX1NUQVRfSCAxCnwgI2RlZmluZSBIQVZFX1NURExJQl9IIDEKfCAj ZGVmaW5lIEhBVkVfU1RSSU5HX0ggMQp8ICNkZWZpbmUgSEFWRV9NRU1PUllfSCAxCnwgI2RlZmlu ZSBIQVZFX1NUUklOR1NfSCAxCnwgI2RlZmluZSBIQVZFX0lOVFRZUEVTX0ggMQp8ICNkZWZpbmUg SEFWRV9TVERJTlRfSCAxCnwgI2RlZmluZSBIQVZFX1VOSVNURF9IIDEKfCAjZGVmaW5lIEhBVkVf TElCTSAxCnwgI2RlZmluZSBIQVZFX0xJQlogMQp8ICNkZWZpbmUgSEFWRV9TUElOTE9DS1MgMQp8 ICNkZWZpbmUgSEFWRV9BVE9NSUNTIDEKfCAjZGVmaW5lIEhBVkVfU1NMX0dFVF9DVVJSRU5UX0NP TVBSRVNTSU9OIDEKfCAjZGVmaW5lIEhBVkVfWDUwOV9HRVRfU0lHTkFUVVJFX05JRCAxCnwgI2Rl ZmluZSBIQVZFX0NSWVBUT19MT0NLIDEKfCAjZGVmaW5lIEhBVkVfTElCWE1MMiAxCnwgI2RlZmlu ZSBIQVZFX0xJQlhTTFQgMQp8ICNkZWZpbmUgSEFWRV9fQk9PTCAxCnwgI2RlZmluZSBIQVZFX1NU REJPT0xfSCAxCnwgI2RlZmluZSBIQVZFX0dFVE9QVF9IIDEKfCAjZGVmaW5lIEhBVkVfSUVFRUZQ X0ggMQp8ICNkZWZpbmUgSEFWRV9VVElNRV9IIDEKfCAjZGVmaW5lIEhBVkVfV0NIQVJfSCAxCnwg I2RlZmluZSBIQVZFX1dDVFlQRV9IIDEKfCAjZGVmaW5lIEhBVkVfQ1JUREVGU19IIDEKfCAjZGVm aW5lIFBHX1BSSU5URl9BVFRSSUJVVEUgZ251X3ByaW50Zgp8ICNkZWZpbmUgRkxFWElCTEVfQVJS QVlfTUVNQkVSIC8qKi8KfCAjZGVmaW5lIEhBVkVfRlVOQ05BTUVfX0ZVTkMgMQp8ICNkZWZpbmUg SEFWRV9fU1RBVElDX0FTU0VSVCAxCnwgI2RlZmluZSBIQVZFX1RZUEVPRiAxCnwgI2RlZmluZSBI QVZFX19CVUlMVElOX1RZUEVTX0NPTVBBVElCTEVfUCAxCnwgI2RlZmluZSBIQVZFX19CVUlMVElO X0JTV0FQMTYgMQp8ICNkZWZpbmUgSEFWRV9fQlVJTFRJTl9CU1dBUDMyIDEKfCAjZGVmaW5lIEhB VkVfX0JVSUxUSU5fQlNXQVA2NCAxCnwgI2RlZmluZSBIQVZFX19CVUlMVElOX0NPTlNUQU5UX1Ag MQp8ICNkZWZpbmUgSEFWRV9fQlVJTFRJTl9VTlJFQUNIQUJMRSAxCnwgI2RlZmluZSBIQVZFX0NP TVBVVEVEX0dPVE8gMQp8ICNkZWZpbmUgSEFWRV9fVkFfQVJHUyAxCnwgI2RlZmluZSBIQVZFX1Ra TkFNRSAxCnwgI2RlZmluZSBIQVZFX1NUUlVDVF9TT0NLQUREUl9TVE9SQUdFIDEKfCAjZGVmaW5l IEhBVkVfU1RSVUNUX1NPQ0tBRERSX1NUT1JBR0VfU1NfRkFNSUxZIDEKfCAjZGVmaW5lIEhBVkVf U1RSVUNUX0FERFJJTkZPIDEKfCAjZGVmaW5lIEhBVkVfSU5UUFRSX1QgMQp8ICNkZWZpbmUgSEFW RV9VSU5UUFRSX1QgMQp8ICNkZWZpbmUgSEFWRV9VTlNJR05FRF9MT05HX0xPTkdfSU5UIDEKfCAj ZGVmaW5lIEhBVkVfTE9OR19MT05HX0lOVCAxCnwgI2RlZmluZSByZXN0cmljdCBfX3Jlc3RyaWN0 CnwgI2RlZmluZSBwZ19yZXN0cmljdCBfX3Jlc3RyaWN0CnwgI2RlZmluZSBIQVZFX1NUUlVDVF9P UFRJT04gMQp8ICNkZWZpbmUgU0laRU9GX09GRl9UIDQKfCAjZGVmaW5lIFNJWkVPRl9CT09MIDEK fCAjZGVmaW5lIEhBVkVfSU5UX1RJTUVaT05FIDEKfCAvKiBlbmQgY29uZmRlZnMuaC4gICovCnwg I2luY2x1ZGUgPHN5cy90eXBlcy5oPgp8ICNpbmNsdWRlIDxzeXMvc29ja2V0Lmg+CnwgZXh0ZXJu IHVuc2lnbmVkIGludCBQQVNDQUwgYWNjZXB0IChTT0NLRVQsIGNvbnN0IHN0cnVjdCBzb2NrYWRk ciAqLCBzb2NrbGVuX3QgKik7CmNvbmZpZ3VyZToxNDc5MTogeDg2XzY0LXc2NC1taW5ndzMyLWdj YyAtYyAtV2FsbCAtV21pc3NpbmctcHJvdG90eXBlcyAtV3BvaW50ZXItYXJpdGggLVdkZWNsYXJh dGlvbi1hZnRlci1zdGF0ZW1lbnQgLVdlbmRpZi1sYWJlbHMgLVdtaXNzaW5nLWZvcm1hdC1hdHRy aWJ1dGUgLVdmb3JtYXQtc2VjdXJpdHkgLWZuby1zdHJpY3QtYWxpYXNpbmcgLWZ3cmFwdiAtZmV4 Y2Vzcy1wcmVjaXNpb249c3RhbmRhcmQgLVduby1mb3JtYXQtdHJ1bmNhdGlvbiAtV25vLXN0cmlu Z29wLXRydW5jYXRpb24gLWcgLU8gLWZuby1vbWl0LWZyYW1lLXBvaW50ZXIgIC1JL3cvUi0zLjUu Xy9wb3N0Z3Jlcy9zcmMvaW5jbHVkZS9wb3J0L3dpbjMyIC1ERVhFQ19CQUNLRU5EICAtSS93L3ps aWItMS4yLjgtd2luMzIteDg2XzY0L2luY2x1ZGUgLUkvdy9vcGVuc3NsLTEuMC4yZS13aW4zMi14 ODZfNjQvaW5jbHVkZSAtSS93L2xpYnhtbDItMi45LjMtd2luMzIteDg2XzY0L2luY2x1ZGUvbGli eG1sMiAtSS93L2xpYnhzbHQtMS4xLjI4LXdpbjMyLXg4Nl82NC9pbmNsdWRlIGNvbmZ0ZXN0LmMg PiY1CmNvbmZ0ZXN0LmM6Nzk6Mjg6IGVycm9yOiBjb25mbGljdGluZyB0eXBlcyBmb3IgJ2FjY2Vw dCcKIGV4dGVybiB1bnNpZ25lZCBpbnQgUEFTQ0FMIGFjY2VwdCAoU09DS0VULCBjb25zdCBzdHJ1 Y3Qgc29ja2FkZHIgKiwgdW5zaWduZWQgaW50ICopOwogICAgICAgICAgICAgICAgICAgICAgICAg ICAgXn5+fn5+CkluIGZpbGUgaW5jbHVkZWQgZnJvbSBXOi9SLTMuNS5fL3Bvc3RncmVzL3NyYy9p bmNsdWRlL3BvcnQvd2luMzIvc3lzL3NvY2tldC5oOjE0LAogICAgICAgICAgICAgICAgIGZyb20g Y29uZnRlc3QuYzo3ODoKQzovbXN5czY0L21pbmd3NjQveDg2XzY0LXc2NC1taW5ndzMyL2luY2x1 ZGUvd2luc29jazIuaDo5NzM6Mzc6IG5vdGU6IHByZXZpb3VzIGRlY2xhcmF0aW9uIG9mICdhY2Nl cHQnIHdhcyBoZXJlCiAgIFdJTlNPQ0tfQVBJX0xJTktBR0UgU09DS0VUIFdTQUFQSSBhY2NlcHQo U09DS0VUIHMsc3RydWN0IHNvY2thZGRyICphZGRyLGludCAqYWRkcmxlbik7CiAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICBefn5+fn4KY29uZmlndXJlOjE0NzkxOiAkPyA9IDEK Y29uZmlndXJlOiBmYWlsZWQgcHJvZ3JhbSB3YXM6CnwgLyogY29uZmRlZnMuaCAqLwp8ICNkZWZp bmUgUEFDS0FHRV9OQU1FICJQb3N0Z3JlU1FMIgp8ICNkZWZpbmUgUEFDS0FHRV9UQVJOQU1FICJw b3N0Z3Jlc3FsIgp8ICNkZWZpbmUgUEFDS0FHRV9WRVJTSU9OICIxMWJldGEzIgp8ICNkZWZpbmUg UEFDS0FHRV9TVFJJTkcgIlBvc3RncmVTUUwgMTFiZXRhMyIKfCAjZGVmaW5lIFBBQ0tBR0VfQlVH UkVQT1JUICJwZ3NxbC1idWdzQHBvc3RncmVzcWwub3JnIgp8ICNkZWZpbmUgUEFDS0FHRV9VUkwg IiIKfCAjZGVmaW5lIFBHX01BSk9SVkVSU0lPTiAiMTEiCnwgI2RlZmluZSBQR19WRVJTSU9OICIx MWJldGEzIgp8ICNkZWZpbmUgREVGX1BHUE9SVCA1NDMyCnwgI2RlZmluZSBERUZfUEdQT1JUX1NU UiAiNTQzMiIKfCAjZGVmaW5lIEJMQ0tTWiA4MTkyCnwgI2RlZmluZSBSRUxTRUdfU0laRSAxMzEw NzIKfCAjZGVmaW5lIFhMT0dfQkxDS1NaIDgxOTIKfCAjZGVmaW5lIFVTRV9BU1NFUlRfQ0hFQ0tJ TkcgMQp8ICNkZWZpbmUgRU5BQkxFX1RIUkVBRF9TQUZFVFkgMQp8ICNkZWZpbmUgVVNFX0lDVSAx CnwgI2RlZmluZSBQR19LUkJfU1JWTkFNICJwb3N0Z3JlcyIKfCAjZGVmaW5lIFVTRV9PUEVOU1NM IDEKfCAjZGVmaW5lIFVTRV9MSUJYTUwgMQp8ICNkZWZpbmUgVVNFX0xJQlhTTFQgMQp8ICNkZWZp bmUgU1REQ19IRUFERVJTIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1RZUEVTX0ggMQp8ICNkZWZpbmUg SEFWRV9TWVNfU1RBVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1RETElCX0ggMQp8ICNkZWZpbmUgSEFW RV9TVFJJTkdfSCAxCnwgI2RlZmluZSBIQVZFX01FTU9SWV9IIDEKfCAjZGVmaW5lIEhBVkVfU1RS SU5HU19IIDEKfCAjZGVmaW5lIEhBVkVfSU5UVFlQRVNfSCAxCnwgI2RlZmluZSBIQVZFX1NURElO VF9IIDEKfCAjZGVmaW5lIEhBVkVfVU5JU1REX0ggMQp8ICNkZWZpbmUgSEFWRV9MSUJNIDEKfCAj ZGVmaW5lIEhBVkVfTElCWiAxCnwgI2RlZmluZSBIQVZFX1NQSU5MT0NLUyAxCnwgI2RlZmluZSBI QVZFX0FUT01JQ1MgMQp8ICNkZWZpbmUgSEFWRV9TU0xfR0VUX0NVUlJFTlRfQ09NUFJFU1NJT04g MQp8ICNkZWZpbmUgSEFWRV9YNTA5X0dFVF9TSUdOQVRVUkVfTklEIDEKfCAjZGVmaW5lIEhBVkVf Q1JZUFRPX0xPQ0sgMQp8ICNkZWZpbmUgSEFWRV9MSUJYTUwyIDEKfCAjZGVmaW5lIEhBVkVfTElC WFNMVCAxCnwgI2RlZmluZSBIQVZFX19CT09MIDEKfCAjZGVmaW5lIEhBVkVfU1REQk9PTF9IIDEK fCAjZGVmaW5lIEhBVkVfR0VUT1BUX0ggMQp8ICNkZWZpbmUgSEFWRV9JRUVFRlBfSCAxCnwgI2Rl ZmluZSBIQVZFX1VUSU1FX0ggMQp8ICNkZWZpbmUgSEFWRV9XQ0hBUl9IIDEKfCAjZGVmaW5lIEhB VkVfV0NUWVBFX0ggMQp8ICNkZWZpbmUgSEFWRV9DUlRERUZTX0ggMQp8ICNkZWZpbmUgUEdfUFJJ TlRGX0FUVFJJQlVURSBnbnVfcHJpbnRmCnwgI2RlZmluZSBGTEVYSUJMRV9BUlJBWV9NRU1CRVIg LyoqLwp8ICNkZWZpbmUgSEFWRV9GVU5DTkFNRV9fRlVOQyAxCnwgI2RlZmluZSBIQVZFX19TVEFU SUNfQVNTRVJUIDEKfCAjZGVmaW5lIEhBVkVfVFlQRU9GIDEKfCAjZGVmaW5lIEhBVkVfX0JVSUxU SU5fVFlQRVNfQ09NUEFUSUJMRV9QIDEKfCAjZGVmaW5lIEhBVkVfX0JVSUxUSU5fQlNXQVAxNiAx CnwgI2RlZmluZSBIQVZFX19CVUlMVElOX0JTV0FQMzIgMQp8ICNkZWZpbmUgSEFWRV9fQlVJTFRJ Tl9CU1dBUDY0IDEKfCAjZGVmaW5lIEhBVkVfX0JVSUxUSU5fQ09OU1RBTlRfUCAxCnwgI2RlZmlu ZSBIQVZFX19CVUlMVElOX1VOUkVBQ0hBQkxFIDEKfCAjZGVmaW5lIEhBVkVfQ09NUFVURURfR09U TyAxCnwgI2RlZmluZSBIQVZFX19WQV9BUkdTIDEKfCAjZGVmaW5lIEhBVkVfVFpOQU1FIDEKfCAj ZGVmaW5lIEhBVkVfU1RSVUNUX1NPQ0tBRERSX1NUT1JBR0UgMQp8ICNkZWZpbmUgSEFWRV9TVFJV Q1RfU09DS0FERFJfU1RPUkFHRV9TU19GQU1JTFkgMQp8ICNkZWZpbmUgSEFWRV9TVFJVQ1RfQURE UklORk8gMQp8ICNkZWZpbmUgSEFWRV9JTlRQVFJfVCAxCnwgI2RlZmluZSBIQVZFX1VJTlRQVFJf VCAxCnwgI2RlZmluZSBIQVZFX1VOU0lHTkVEX0xPTkdfTE9OR19JTlQgMQp8ICNkZWZpbmUgSEFW RV9MT05HX0xPTkdfSU5UIDEKfCAjZGVmaW5lIHJlc3RyaWN0IF9fcmVzdHJpY3QKfCAjZGVmaW5l IHBnX3Jlc3RyaWN0IF9fcmVzdHJpY3QKfCAjZGVmaW5lIEhBVkVfU1RSVUNUX09QVElPTiAxCnwg I2RlZmluZSBTSVpFT0ZfT0ZGX1QgNAp8ICNkZWZpbmUgU0laRU9GX0JPT0wgMQp8ICNkZWZpbmUg SEFWRV9JTlRfVElNRVpPTkUgMQp8IC8qIGVuZCBjb25mZGVmcy5oLiAgKi8KfCAjaW5jbHVkZSA8 c3lzL3R5cGVzLmg+CnwgI2luY2x1ZGUgPHN5cy9zb2NrZXQuaD4KfCBleHRlcm4gdW5zaWduZWQg aW50IFBBU0NBTCBhY2NlcHQgKFNPQ0tFVCwgY29uc3Qgc3RydWN0IHNvY2thZGRyICosIHVuc2ln bmVkIGludCAqKTsKY29uZmlndXJlOjE0NzkxOiB4ODZfNjQtdzY0LW1pbmd3MzItZ2NjIC1jIC1X YWxsIC1XbWlzc2luZy1wcm90b3R5cGVzIC1XcG9pbnRlci1hcml0aCAtV2RlY2xhcmF0aW9uLWFm dGVyLXN0YXRlbWVudCAtV2VuZGlmLWxhYmVscyAtV21pc3NpbmctZm9ybWF0LWF0dHJpYnV0ZSAt V2Zvcm1hdC1zZWN1cml0eSAtZm5vLXN0cmljdC1hbGlhc2luZyAtZndyYXB2IC1mZXhjZXNzLXBy ZWNpc2lvbj1zdGFuZGFyZCAtV25vLWZvcm1hdC10cnVuY2F0aW9uIC1Xbm8tc3RyaW5nb3AtdHJ1 bmNhdGlvbiAtZyAtTyAtZm5vLW9taXQtZnJhbWUtcG9pbnRlciAgLUkvdy9SLTMuNS5fL3Bvc3Rn cmVzL3NyYy9pbmNsdWRlL3BvcnQvd2luMzIgLURFWEVDX0JBQ0tFTkQgIC1JL3cvemxpYi0xLjIu OC13aW4zMi14ODZfNjQvaW5jbHVkZSAtSS93L29wZW5zc2wtMS4wLjJlLXdpbjMyLXg4Nl82NC9p bmNsdWRlIC1JL3cvbGlieG1sMi0yLjkuMy13aW4zMi14ODZfNjQvaW5jbHVkZS9saWJ4bWwyIC1J L3cvbGlieHNsdC0xLjEuMjgtd2luMzIteDg2XzY0L2luY2x1ZGUgY29uZnRlc3QuYyA+JjUKY29u ZnRlc3QuYzo3OToyODogZXJyb3I6IGNvbmZsaWN0aW5nIHR5cGVzIGZvciAnYWNjZXB0JwogZXh0 ZXJuIHVuc2lnbmVkIGludCBQQVNDQUwgYWNjZXB0IChTT0NLRVQsIGNvbnN0IHN0cnVjdCBzb2Nr YWRkciAqLCB2b2lkICopOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgXn5+fn5+CkluIGZp bGUgaW5jbHVkZWQgZnJvbSBXOi9SLTMuNS5fL3Bvc3RncmVzL3NyYy9pbmNsdWRlL3BvcnQvd2lu MzIvc3lzL3NvY2tldC5oOjE0LAogICAgICAgICAgICAgICAgIGZyb20gY29uZnRlc3QuYzo3ODoK QzovbXN5czY0L21pbmd3NjQveDg2XzY0LXc2NC1taW5ndzMyL2luY2x1ZGUvd2luc29jazIuaDo5 NzM6Mzc6IG5vdGU6IHByZXZpb3VzIGRlY2xhcmF0aW9uIG9mICdhY2NlcHQnIHdhcyBoZXJlCiAg IFdJTlNPQ0tfQVBJX0xJTktBR0UgU09DS0VUIFdTQUFQSSBhY2NlcHQoU09DS0VUIHMsc3RydWN0 IHNvY2thZGRyICphZGRyLGludCAqYWRkcmxlbik7CiAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICBefn5+fn4KY29uZmlndXJlOjE0NzkxOiAkPyA9IDEKY29uZmlndXJlOiBmYWls ZWQgcHJvZ3JhbSB3YXM6CnwgLyogY29uZmRlZnMuaCAqLwp8ICNkZWZpbmUgUEFDS0FHRV9OQU1F ICJQb3N0Z3JlU1FMIgp8ICNkZWZpbmUgUEFDS0FHRV9UQVJOQU1FICJwb3N0Z3Jlc3FsIgp8ICNk ZWZpbmUgUEFDS0FHRV9WRVJTSU9OICIxMWJldGEzIgp8ICNkZWZpbmUgUEFDS0FHRV9TVFJJTkcg IlBvc3RncmVTUUwgMTFiZXRhMyIKfCAjZGVmaW5lIFBBQ0tBR0VfQlVHUkVQT1JUICJwZ3NxbC1i dWdzQHBvc3RncmVzcWwub3JnIgp8ICNkZWZpbmUgUEFDS0FHRV9VUkwgIiIKfCAjZGVmaW5lIFBH X01BSk9SVkVSU0lPTiAiMTEiCnwgI2RlZmluZSBQR19WRVJTSU9OICIxMWJldGEzIgp8ICNkZWZp bmUgREVGX1BHUE9SVCA1NDMyCnwgI2RlZmluZSBERUZfUEdQT1JUX1NUUiAiNTQzMiIKfCAjZGVm aW5lIEJMQ0tTWiA4MTkyCnwgI2RlZmluZSBSRUxTRUdfU0laRSAxMzEwNzIKfCAjZGVmaW5lIFhM T0dfQkxDS1NaIDgxOTIKfCAjZGVmaW5lIFVTRV9BU1NFUlRfQ0hFQ0tJTkcgMQp8ICNkZWZpbmUg RU5BQkxFX1RIUkVBRF9TQUZFVFkgMQp8ICNkZWZpbmUgVVNFX0lDVSAxCnwgI2RlZmluZSBQR19L UkJfU1JWTkFNICJwb3N0Z3JlcyIKfCAjZGVmaW5lIFVTRV9PUEVOU1NMIDEKfCAjZGVmaW5lIFVT RV9MSUJYTUwgMQp8ICNkZWZpbmUgVVNFX0xJQlhTTFQgMQp8ICNkZWZpbmUgU1REQ19IRUFERVJT IDEKfCAjZGVmaW5lIEhBVkVfU1lTX1RZUEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfU1RBVF9I IDEKfCAjZGVmaW5lIEhBVkVfU1RETElCX0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJJTkdfSCAxCnwg I2RlZmluZSBIQVZFX01FTU9SWV9IIDEKfCAjZGVmaW5lIEhBVkVfU1RSSU5HU19IIDEKfCAjZGVm aW5lIEhBVkVfSU5UVFlQRVNfSCAxCnwgI2RlZmluZSBIQVZFX1NURElOVF9IIDEKfCAjZGVmaW5l IEhBVkVfVU5JU1REX0ggMQp8ICNkZWZpbmUgSEFWRV9MSUJNIDEKfCAjZGVmaW5lIEhBVkVfTElC WiAxCnwgI2RlZmluZSBIQVZFX1NQSU5MT0NLUyAxCnwgI2RlZmluZSBIQVZFX0FUT01JQ1MgMQp8 ICNkZWZpbmUgSEFWRV9TU0xfR0VUX0NVUlJFTlRfQ09NUFJFU1NJT04gMQp8ICNkZWZpbmUgSEFW RV9YNTA5X0dFVF9TSUdOQVRVUkVfTklEIDEKfCAjZGVmaW5lIEhBVkVfQ1JZUFRPX0xPQ0sgMQp8 ICNkZWZpbmUgSEFWRV9MSUJYTUwyIDEKfCAjZGVmaW5lIEhBVkVfTElCWFNMVCAxCnwgI2RlZmlu ZSBIQVZFX19CT09MIDEKfCAjZGVmaW5lIEhBVkVfU1REQk9PTF9IIDEKfCAjZGVmaW5lIEhBVkVf R0VUT1BUX0ggMQp8ICNkZWZpbmUgSEFWRV9JRUVFRlBfSCAxCnwgI2RlZmluZSBIQVZFX1VUSU1F X0ggMQp8ICNkZWZpbmUgSEFWRV9XQ0hBUl9IIDEKfCAjZGVmaW5lIEhBVkVfV0NUWVBFX0ggMQp8 ICNkZWZpbmUgSEFWRV9DUlRERUZTX0ggMQp8ICNkZWZpbmUgUEdfUFJJTlRGX0FUVFJJQlVURSBn bnVfcHJpbnRmCnwgI2RlZmluZSBGTEVYSUJMRV9BUlJBWV9NRU1CRVIgLyoqLwp8ICNkZWZpbmUg SEFWRV9GVU5DTkFNRV9fRlVOQyAxCnwgI2RlZmluZSBIQVZFX19TVEFUSUNfQVNTRVJUIDEKfCAj ZGVmaW5lIEhBVkVfVFlQRU9GIDEKfCAjZGVmaW5lIEhBVkVfX0JVSUxUSU5fVFlQRVNfQ09NUEFU SUJMRV9QIDEKfCAjZGVmaW5lIEhBVkVfX0JVSUxUSU5fQlNXQVAxNiAxCnwgI2RlZmluZSBIQVZF X19CVUlMVElOX0JTV0FQMzIgMQp8ICNkZWZpbmUgSEFWRV9fQlVJTFRJTl9CU1dBUDY0IDEKfCAj ZGVmaW5lIEhBVkVfX0JVSUxUSU5fQ09OU1RBTlRfUCAxCnwgI2RlZmluZSBIQVZFX19CVUlMVElO X1VOUkVBQ0hBQkxFIDEKfCAjZGVmaW5lIEhBVkVfQ09NUFVURURfR09UTyAxCnwgI2RlZmluZSBI QVZFX19WQV9BUkdTIDEKfCAjZGVmaW5lIEhBVkVfVFpOQU1FIDEKfCAjZGVmaW5lIEhBVkVfU1RS VUNUX1NPQ0tBRERSX1NUT1JBR0UgMQp8ICNkZWZpbmUgSEFWRV9TVFJVQ1RfU09DS0FERFJfU1RP UkFHRV9TU19GQU1JTFkgMQp8ICNkZWZpbmUgSEFWRV9TVFJVQ1RfQUREUklORk8gMQp8ICNkZWZp bmUgSEFWRV9JTlRQVFJfVCAxCnwgI2RlZmluZSBIQVZFX1VJTlRQVFJfVCAxCnwgI2RlZmluZSBI QVZFX1VOU0lHTkVEX0xPTkdfTE9OR19JTlQgMQp8ICNkZWZpbmUgSEFWRV9MT05HX0xPTkdfSU5U IDEKfCAjZGVmaW5lIHJlc3RyaWN0IF9fcmVzdHJpY3QKfCAjZGVmaW5lIHBnX3Jlc3RyaWN0IF9f cmVzdHJpY3QKfCAjZGVmaW5lIEhBVkVfU1RSVUNUX09QVElPTiAxCnwgI2RlZmluZSBTSVpFT0Zf T0ZGX1QgNAp8ICNkZWZpbmUgU0laRU9GX0JPT0wgMQp8ICNkZWZpbmUgSEFWRV9JTlRfVElNRVpP TkUgMQp8IC8qIGVuZCBjb25mZGVmcy5oLiAgKi8KfCAjaW5jbHVkZSA8c3lzL3R5cGVzLmg+Cnwg I2luY2x1ZGUgPHN5cy9zb2NrZXQuaD4KfCBleHRlcm4gdW5zaWduZWQgaW50IFBBU0NBTCBhY2Nl cHQgKFNPQ0tFVCwgY29uc3Qgc3RydWN0IHNvY2thZGRyICosIHZvaWQgKik7CmNvbmZpZ3VyZTox NDc5MTogeDg2XzY0LXc2NC1taW5ndzMyLWdjYyAtYyAtV2FsbCAtV21pc3NpbmctcHJvdG90eXBl cyAtV3BvaW50ZXItYXJpdGggLVdkZWNsYXJhdGlvbi1hZnRlci1zdGF0ZW1lbnQgLVdlbmRpZi1s YWJlbHMgLVdtaXNzaW5nLWZvcm1hdC1hdHRyaWJ1dGUgLVdmb3JtYXQtc2VjdXJpdHkgLWZuby1z dHJpY3QtYWxpYXNpbmcgLWZ3cmFwdiAtZmV4Y2Vzcy1wcmVjaXNpb249c3RhbmRhcmQgLVduby1m b3JtYXQtdHJ1bmNhdGlvbiAtV25vLXN0cmluZ29wLXRydW5jYXRpb24gLWcgLU8gLWZuby1vbWl0 LWZyYW1lLXBvaW50ZXIgIC1JL3cvUi0zLjUuXy9wb3N0Z3Jlcy9zcmMvaW5jbHVkZS9wb3J0L3dp bjMyIC1ERVhFQ19CQUNLRU5EICAtSS93L3psaWItMS4yLjgtd2luMzIteDg2XzY0L2luY2x1ZGUg LUkvdy9vcGVuc3NsLTEuMC4yZS13aW4zMi14ODZfNjQvaW5jbHVkZSAtSS93L2xpYnhtbDItMi45 LjMtd2luMzIteDg2XzY0L2luY2x1ZGUvbGlieG1sMiAtSS93L2xpYnhzbHQtMS4xLjI4LXdpbjMy LXg4Nl82NC9pbmNsdWRlIGNvbmZ0ZXN0LmMgPiY1CmNvbmZ0ZXN0LmM6Nzk6Mjg6IGVycm9yOiBj b25mbGljdGluZyB0eXBlcyBmb3IgJ2FjY2VwdCcKIGV4dGVybiB1bnNpZ25lZCBpbnQgUEFTQ0FM IGFjY2VwdCAoU09DS0VULCB2b2lkICosIGludCAqKTsKICAgICAgICAgICAgICAgICAgICAgICAg ICAgIF5+fn5+fgpJbiBmaWxlIGluY2x1ZGVkIGZyb20gVzovUi0zLjUuXy9wb3N0Z3Jlcy9zcmMv aW5jbHVkZS9wb3J0L3dpbjMyL3N5cy9zb2NrZXQuaDoxNCwKICAgICAgICAgICAgICAgICBmcm9t IGNvbmZ0ZXN0LmM6Nzg6CkM6L21zeXM2NC9taW5ndzY0L3g4Nl82NC13NjQtbWluZ3czMi9pbmNs dWRlL3dpbnNvY2syLmg6OTczOjM3OiBub3RlOiBwcmV2aW91cyBkZWNsYXJhdGlvbiBvZiAnYWNj ZXB0JyB3YXMgaGVyZQogICBXSU5TT0NLX0FQSV9MSU5LQUdFIFNPQ0tFVCBXU0FBUEkgYWNjZXB0 KFNPQ0tFVCBzLHN0cnVjdCBzb2NrYWRkciAqYWRkcixpbnQgKmFkZHJsZW4pOwogICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgXn5+fn5+CmNvbmZpZ3VyZToxNDc5MTogJD8gPSAx CmNvbmZpZ3VyZTogZmFpbGVkIHByb2dyYW0gd2FzOgp8IC8qIGNvbmZkZWZzLmggKi8KfCAjZGVm aW5lIFBBQ0tBR0VfTkFNRSAiUG9zdGdyZVNRTCIKfCAjZGVmaW5lIFBBQ0tBR0VfVEFSTkFNRSAi cG9zdGdyZXNxbCIKfCAjZGVmaW5lIFBBQ0tBR0VfVkVSU0lPTiAiMTFiZXRhMyIKfCAjZGVmaW5l IFBBQ0tBR0VfU1RSSU5HICJQb3N0Z3JlU1FMIDExYmV0YTMiCnwgI2RlZmluZSBQQUNLQUdFX0JV R1JFUE9SVCAicGdzcWwtYnVnc0Bwb3N0Z3Jlc3FsLm9yZyIKfCAjZGVmaW5lIFBBQ0tBR0VfVVJM ICIiCnwgI2RlZmluZSBQR19NQUpPUlZFUlNJT04gIjExIgp8ICNkZWZpbmUgUEdfVkVSU0lPTiAi MTFiZXRhMyIKfCAjZGVmaW5lIERFRl9QR1BPUlQgNTQzMgp8ICNkZWZpbmUgREVGX1BHUE9SVF9T VFIgIjU0MzIiCnwgI2RlZmluZSBCTENLU1ogODE5Mgp8ICNkZWZpbmUgUkVMU0VHX1NJWkUgMTMx MDcyCnwgI2RlZmluZSBYTE9HX0JMQ0tTWiA4MTkyCnwgI2RlZmluZSBVU0VfQVNTRVJUX0NIRUNL SU5HIDEKfCAjZGVmaW5lIEVOQUJMRV9USFJFQURfU0FGRVRZIDEKfCAjZGVmaW5lIFVTRV9JQ1Ug MQp8ICNkZWZpbmUgUEdfS1JCX1NSVk5BTSAicG9zdGdyZXMiCnwgI2RlZmluZSBVU0VfT1BFTlNT TCAxCnwgI2RlZmluZSBVU0VfTElCWE1MIDEKfCAjZGVmaW5lIFVTRV9MSUJYU0xUIDEKfCAjZGVm aW5lIFNURENfSEVBREVSUyAxCnwgI2RlZmluZSBIQVZFX1NZU19UWVBFU19IIDEKfCAjZGVmaW5l IEhBVkVfU1lTX1NUQVRfSCAxCnwgI2RlZmluZSBIQVZFX1NURExJQl9IIDEKfCAjZGVmaW5lIEhB VkVfU1RSSU5HX0ggMQp8ICNkZWZpbmUgSEFWRV9NRU1PUllfSCAxCnwgI2RlZmluZSBIQVZFX1NU UklOR1NfSCAxCnwgI2RlZmluZSBIQVZFX0lOVFRZUEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERJ TlRfSCAxCnwgI2RlZmluZSBIQVZFX1VOSVNURF9IIDEKfCAjZGVmaW5lIEhBVkVfTElCTSAxCnwg I2RlZmluZSBIQVZFX0xJQlogMQp8ICNkZWZpbmUgSEFWRV9TUElOTE9DS1MgMQp8ICNkZWZpbmUg SEFWRV9BVE9NSUNTIDEKfCAjZGVmaW5lIEhBVkVfU1NMX0dFVF9DVVJSRU5UX0NPTVBSRVNTSU9O IDEKfCAjZGVmaW5lIEhBVkVfWDUwOV9HRVRfU0lHTkFUVVJFX05JRCAxCnwgI2RlZmluZSBIQVZF X0NSWVBUT19MT0NLIDEKfCAjZGVmaW5lIEhBVkVfTElCWE1MMiAxCnwgI2RlZmluZSBIQVZFX0xJ QlhTTFQgMQp8ICNkZWZpbmUgSEFWRV9fQk9PTCAxCnwgI2RlZmluZSBIQVZFX1NUREJPT0xfSCAx CnwgI2RlZmluZSBIQVZFX0dFVE9QVF9IIDEKfCAjZGVmaW5lIEhBVkVfSUVFRUZQX0ggMQp8ICNk ZWZpbmUgSEFWRV9VVElNRV9IIDEKfCAjZGVmaW5lIEhBVkVfV0NIQVJfSCAxCnwgI2RlZmluZSBI QVZFX1dDVFlQRV9IIDEKfCAjZGVmaW5lIEhBVkVfQ1JUREVGU19IIDEKfCAjZGVmaW5lIFBHX1BS SU5URl9BVFRSSUJVVEUgZ251X3ByaW50Zgp8ICNkZWZpbmUgRkxFWElCTEVfQVJSQVlfTUVNQkVS IC8qKi8KfCAjZGVmaW5lIEhBVkVfRlVOQ05BTUVfX0ZVTkMgMQp8ICNkZWZpbmUgSEFWRV9fU1RB VElDX0FTU0VSVCAxCnwgI2RlZmluZSBIQVZFX1RZUEVPRiAxCnwgI2RlZmluZSBIQVZFX19CVUlM VElOX1RZUEVTX0NPTVBBVElCTEVfUCAxCnwgI2RlZmluZSBIQVZFX19CVUlMVElOX0JTV0FQMTYg MQp8ICNkZWZpbmUgSEFWRV9fQlVJTFRJTl9CU1dBUDMyIDEKfCAjZGVmaW5lIEhBVkVfX0JVSUxU SU5fQlNXQVA2NCAxCnwgI2RlZmluZSBIQVZFX19CVUlMVElOX0NPTlNUQU5UX1AgMQp8ICNkZWZp bmUgSEFWRV9fQlVJTFRJTl9VTlJFQUNIQUJMRSAxCnwgI2RlZmluZSBIQVZFX0NPTVBVVEVEX0dP VE8gMQp8ICNkZWZpbmUgSEFWRV9fVkFfQVJHUyAxCnwgI2RlZmluZSBIQVZFX1RaTkFNRSAxCnwg I2RlZmluZSBIQVZFX1NUUlVDVF9TT0NLQUREUl9TVE9SQUdFIDEKfCAjZGVmaW5lIEhBVkVfU1RS VUNUX1NPQ0tBRERSX1NUT1JBR0VfU1NfRkFNSUxZIDEKfCAjZGVmaW5lIEhBVkVfU1RSVUNUX0FE RFJJTkZPIDEKfCAjZGVmaW5lIEhBVkVfSU5UUFRSX1QgMQp8ICNkZWZpbmUgSEFWRV9VSU5UUFRS X1QgMQp8ICNkZWZpbmUgSEFWRV9VTlNJR05FRF9MT05HX0xPTkdfSU5UIDEKfCAjZGVmaW5lIEhB VkVfTE9OR19MT05HX0lOVCAxCnwgI2RlZmluZSByZXN0cmljdCBfX3Jlc3RyaWN0CnwgI2RlZmlu ZSBwZ19yZXN0cmljdCBfX3Jlc3RyaWN0CnwgI2RlZmluZSBIQVZFX1NUUlVDVF9PUFRJT04gMQp8 ICNkZWZpbmUgU0laRU9GX09GRl9UIDQKfCAjZGVmaW5lIFNJWkVPRl9CT09MIDEKfCAjZGVmaW5l IEhBVkVfSU5UX1RJTUVaT05FIDEKfCAvKiBlbmQgY29uZmRlZnMuaC4gICovCnwgI2luY2x1ZGUg PHN5cy90eXBlcy5oPgp8ICNpbmNsdWRlIDxzeXMvc29ja2V0Lmg+CnwgZXh0ZXJuIHVuc2lnbmVk IGludCBQQVNDQUwgYWNjZXB0IChTT0NLRVQsIHZvaWQgKiwgaW50ICopOwpjb25maWd1cmU6MTQ3 OTE6IHg4Nl82NC13NjQtbWluZ3czMi1nY2MgLWMgLVdhbGwgLVdtaXNzaW5nLXByb3RvdHlwZXMg LVdwb2ludGVyLWFyaXRoIC1XZGVjbGFyYXRpb24tYWZ0ZXItc3RhdGVtZW50IC1XZW5kaWYtbGFi ZWxzIC1XbWlzc2luZy1mb3JtYXQtYXR0cmlidXRlIC1XZm9ybWF0LXNlY3VyaXR5IC1mbm8tc3Ry aWN0LWFsaWFzaW5nIC1md3JhcHYgLWZleGNlc3MtcHJlY2lzaW9uPXN0YW5kYXJkIC1Xbm8tZm9y bWF0LXRydW5jYXRpb24gLVduby1zdHJpbmdvcC10cnVuY2F0aW9uIC1nIC1PIC1mbm8tb21pdC1m cmFtZS1wb2ludGVyICAtSS93L1ItMy41Ll8vcG9zdGdyZXMvc3JjL2luY2x1ZGUvcG9ydC93aW4z MiAtREVYRUNfQkFDS0VORCAgLUkvdy96bGliLTEuMi44LXdpbjMyLXg4Nl82NC9pbmNsdWRlIC1J L3cvb3BlbnNzbC0xLjAuMmUtd2luMzIteDg2XzY0L2luY2x1ZGUgLUkvdy9saWJ4bWwyLTIuOS4z LXdpbjMyLXg4Nl82NC9pbmNsdWRlL2xpYnhtbDIgLUkvdy9saWJ4c2x0LTEuMS4yOC13aW4zMi14 ODZfNjQvaW5jbHVkZSBjb25mdGVzdC5jID4mNQpjb25mdGVzdC5jOjc5OjI4OiBlcnJvcjogY29u ZmxpY3RpbmcgdHlwZXMgZm9yICdhY2NlcHQnCiBleHRlcm4gdW5zaWduZWQgaW50IFBBU0NBTCBh Y2NlcHQgKFNPQ0tFVCwgdm9pZCAqLCBzaXplX3QgKik7CiAgICAgICAgICAgICAgICAgICAgICAg ICAgICBefn5+fn4KSW4gZmlsZSBpbmNsdWRlZCBmcm9tIFc6L1ItMy41Ll8vcG9zdGdyZXMvc3Jj L2luY2x1ZGUvcG9ydC93aW4zMi9zeXMvc29ja2V0Lmg6MTQsCiAgICAgICAgICAgICAgICAgZnJv bSBjb25mdGVzdC5jOjc4OgpDOi9tc3lzNjQvbWluZ3c2NC94ODZfNjQtdzY0LW1pbmd3MzIvaW5j bHVkZS93aW5zb2NrMi5oOjk3MzozNzogbm90ZTogcHJldmlvdXMgZGVjbGFyYXRpb24gb2YgJ2Fj Y2VwdCcgd2FzIGhlcmUKICAgV0lOU09DS19BUElfTElOS0FHRSBTT0NLRVQgV1NBQVBJIGFjY2Vw dChTT0NLRVQgcyxzdHJ1Y3Qgc29ja2FkZHIgKmFkZHIsaW50ICphZGRybGVuKTsKICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIF5+fn5+fgpjb25maWd1cmU6MTQ3OTE6ICQ/ID0g MQpjb25maWd1cmU6IGZhaWxlZCBwcm9ncmFtIHdhczoKfCAvKiBjb25mZGVmcy5oICovCnwgI2Rl ZmluZSBQQUNLQUdFX05BTUUgIlBvc3RncmVTUUwiCnwgI2RlZmluZSBQQUNLQUdFX1RBUk5BTUUg InBvc3RncmVzcWwiCnwgI2RlZmluZSBQQUNLQUdFX1ZFUlNJT04gIjExYmV0YTMiCnwgI2RlZmlu ZSBQQUNLQUdFX1NUUklORyAiUG9zdGdyZVNRTCAxMWJldGEzIgp8ICNkZWZpbmUgUEFDS0FHRV9C VUdSRVBPUlQgInBnc3FsLWJ1Z3NAcG9zdGdyZXNxbC5vcmciCnwgI2RlZmluZSBQQUNLQUdFX1VS TCAiIgp8ICNkZWZpbmUgUEdfTUFKT1JWRVJTSU9OICIxMSIKfCAjZGVmaW5lIFBHX1ZFUlNJT04g IjExYmV0YTMiCnwgI2RlZmluZSBERUZfUEdQT1JUIDU0MzIKfCAjZGVmaW5lIERFRl9QR1BPUlRf U1RSICI1NDMyIgp8ICNkZWZpbmUgQkxDS1NaIDgxOTIKfCAjZGVmaW5lIFJFTFNFR19TSVpFIDEz MTA3Mgp8ICNkZWZpbmUgWExPR19CTENLU1ogODE5Mgp8ICNkZWZpbmUgVVNFX0FTU0VSVF9DSEVD S0lORyAxCnwgI2RlZmluZSBFTkFCTEVfVEhSRUFEX1NBRkVUWSAxCnwgI2RlZmluZSBVU0VfSUNV IDEKfCAjZGVmaW5lIFBHX0tSQl9TUlZOQU0gInBvc3RncmVzIgp8ICNkZWZpbmUgVVNFX09QRU5T U0wgMQp8ICNkZWZpbmUgVVNFX0xJQlhNTCAxCnwgI2RlZmluZSBVU0VfTElCWFNMVCAxCnwgI2Rl ZmluZSBTVERDX0hFQURFUlMgMQp8ICNkZWZpbmUgSEFWRV9TWVNfVFlQRVNfSCAxCnwgI2RlZmlu ZSBIQVZFX1NZU19TVEFUX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERMSUJfSCAxCnwgI2RlZmluZSBI QVZFX1NUUklOR19IIDEKfCAjZGVmaW5lIEhBVkVfTUVNT1JZX0ggMQp8ICNkZWZpbmUgSEFWRV9T VFJJTkdTX0ggMQp8ICNkZWZpbmUgSEFWRV9JTlRUWVBFU19IIDEKfCAjZGVmaW5lIEhBVkVfU1RE SU5UX0ggMQp8ICNkZWZpbmUgSEFWRV9VTklTVERfSCAxCnwgI2RlZmluZSBIQVZFX0xJQk0gMQp8 ICNkZWZpbmUgSEFWRV9MSUJaIDEKfCAjZGVmaW5lIEhBVkVfU1BJTkxPQ0tTIDEKfCAjZGVmaW5l IEhBVkVfQVRPTUlDUyAxCnwgI2RlZmluZSBIQVZFX1NTTF9HRVRfQ1VSUkVOVF9DT01QUkVTU0lP TiAxCnwgI2RlZmluZSBIQVZFX1g1MDlfR0VUX1NJR05BVFVSRV9OSUQgMQp8ICNkZWZpbmUgSEFW RV9DUllQVE9fTE9DSyAxCnwgI2RlZmluZSBIQVZFX0xJQlhNTDIgMQp8ICNkZWZpbmUgSEFWRV9M SUJYU0xUIDEKfCAjZGVmaW5lIEhBVkVfX0JPT0wgMQp8ICNkZWZpbmUgSEFWRV9TVERCT09MX0gg MQp8ICNkZWZpbmUgSEFWRV9HRVRPUFRfSCAxCnwgI2RlZmluZSBIQVZFX0lFRUVGUF9IIDEKfCAj ZGVmaW5lIEhBVkVfVVRJTUVfSCAxCnwgI2RlZmluZSBIQVZFX1dDSEFSX0ggMQp8ICNkZWZpbmUg SEFWRV9XQ1RZUEVfSCAxCnwgI2RlZmluZSBIQVZFX0NSVERFRlNfSCAxCnwgI2RlZmluZSBQR19Q UklOVEZfQVRUUklCVVRFIGdudV9wcmludGYKfCAjZGVmaW5lIEZMRVhJQkxFX0FSUkFZX01FTUJF UiAvKiovCnwgI2RlZmluZSBIQVZFX0ZVTkNOQU1FX19GVU5DIDEKfCAjZGVmaW5lIEhBVkVfX1NU QVRJQ19BU1NFUlQgMQp8ICNkZWZpbmUgSEFWRV9UWVBFT0YgMQp8ICNkZWZpbmUgSEFWRV9fQlVJ TFRJTl9UWVBFU19DT01QQVRJQkxFX1AgMQp8ICNkZWZpbmUgSEFWRV9fQlVJTFRJTl9CU1dBUDE2 IDEKfCAjZGVmaW5lIEhBVkVfX0JVSUxUSU5fQlNXQVAzMiAxCnwgI2RlZmluZSBIQVZFX19CVUlM VElOX0JTV0FQNjQgMQp8ICNkZWZpbmUgSEFWRV9fQlVJTFRJTl9DT05TVEFOVF9QIDEKfCAjZGVm aW5lIEhBVkVfX0JVSUxUSU5fVU5SRUFDSEFCTEUgMQp8ICNkZWZpbmUgSEFWRV9DT01QVVRFRF9H T1RPIDEKfCAjZGVmaW5lIEhBVkVfX1ZBX0FSR1MgMQp8ICNkZWZpbmUgSEFWRV9UWk5BTUUgMQp8 ICNkZWZpbmUgSEFWRV9TVFJVQ1RfU09DS0FERFJfU1RPUkFHRSAxCnwgI2RlZmluZSBIQVZFX1NU UlVDVF9TT0NLQUREUl9TVE9SQUdFX1NTX0ZBTUlMWSAxCnwgI2RlZmluZSBIQVZFX1NUUlVDVF9B RERSSU5GTyAxCnwgI2RlZmluZSBIQVZFX0lOVFBUUl9UIDEKfCAjZGVmaW5lIEhBVkVfVUlOVFBU Ul9UIDEKfCAjZGVmaW5lIEhBVkVfVU5TSUdORURfTE9OR19MT05HX0lOVCAxCnwgI2RlZmluZSBI QVZFX0xPTkdfTE9OR19JTlQgMQp8ICNkZWZpbmUgcmVzdHJpY3QgX19yZXN0cmljdAp8ICNkZWZp bmUgcGdfcmVzdHJpY3QgX19yZXN0cmljdAp8ICNkZWZpbmUgSEFWRV9TVFJVQ1RfT1BUSU9OIDEK fCAjZGVmaW5lIFNJWkVPRl9PRkZfVCA0CnwgI2RlZmluZSBTSVpFT0ZfQk9PTCAxCnwgI2RlZmlu ZSBIQVZFX0lOVF9USU1FWk9ORSAxCnwgLyogZW5kIGNvbmZkZWZzLmguICAqLwp8ICNpbmNsdWRl IDxzeXMvdHlwZXMuaD4KfCAjaW5jbHVkZSA8c3lzL3NvY2tldC5oPgp8IGV4dGVybiB1bnNpZ25l ZCBpbnQgUEFTQ0FMIGFjY2VwdCAoU09DS0VULCB2b2lkICosIHNpemVfdCAqKTsKY29uZmlndXJl OjE0NzkxOiB4ODZfNjQtdzY0LW1pbmd3MzItZ2NjIC1jIC1XYWxsIC1XbWlzc2luZy1wcm90b3R5 cGVzIC1XcG9pbnRlci1hcml0aCAtV2RlY2xhcmF0aW9uLWFmdGVyLXN0YXRlbWVudCAtV2VuZGlm LWxhYmVscyAtV21pc3NpbmctZm9ybWF0LWF0dHJpYnV0ZSAtV2Zvcm1hdC1zZWN1cml0eSAtZm5v LXN0cmljdC1hbGlhc2luZyAtZndyYXB2IC1mZXhjZXNzLXByZWNpc2lvbj1zdGFuZGFyZCAtV25v LWZvcm1hdC10cnVuY2F0aW9uIC1Xbm8tc3RyaW5nb3AtdHJ1bmNhdGlvbiAtZyAtTyAtZm5vLW9t aXQtZnJhbWUtcG9pbnRlciAgLUkvdy9SLTMuNS5fL3Bvc3RncmVzL3NyYy9pbmNsdWRlL3BvcnQv d2luMzIgLURFWEVDX0JBQ0tFTkQgIC1JL3cvemxpYi0xLjIuOC13aW4zMi14ODZfNjQvaW5jbHVk ZSAtSS93L29wZW5zc2wtMS4wLjJlLXdpbjMyLXg4Nl82NC9pbmNsdWRlIC1JL3cvbGlieG1sMi0y LjkuMy13aW4zMi14ODZfNjQvaW5jbHVkZS9saWJ4bWwyIC1JL3cvbGlieHNsdC0xLjEuMjgtd2lu MzIteDg2XzY0L2luY2x1ZGUgY29uZnRlc3QuYyA+JjUKY29uZnRlc3QuYzo3OToyODogZXJyb3I6 IGNvbmZsaWN0aW5nIHR5cGVzIGZvciAnYWNjZXB0JwogZXh0ZXJuIHVuc2lnbmVkIGludCBQQVND QUwgYWNjZXB0IChTT0NLRVQsIHZvaWQgKiwgc29ja2xlbl90ICopOwogICAgICAgICAgICAgICAg ICAgICAgICAgICAgXn5+fn5+CkluIGZpbGUgaW5jbHVkZWQgZnJvbSBXOi9SLTMuNS5fL3Bvc3Rn cmVzL3NyYy9pbmNsdWRlL3BvcnQvd2luMzIvc3lzL3NvY2tldC5oOjE0LAogICAgICAgICAgICAg ICAgIGZyb20gY29uZnRlc3QuYzo3ODoKQzovbXN5czY0L21pbmd3NjQveDg2XzY0LXc2NC1taW5n dzMyL2luY2x1ZGUvd2luc29jazIuaDo5NzM6Mzc6IG5vdGU6IHByZXZpb3VzIGRlY2xhcmF0aW9u IG9mICdhY2NlcHQnIHdhcyBoZXJlCiAgIFdJTlNPQ0tfQVBJX0xJTktBR0UgU09DS0VUIFdTQUFQ SSBhY2NlcHQoU09DS0VUIHMsc3RydWN0IHNvY2thZGRyICphZGRyLGludCAqYWRkcmxlbik7CiAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBefn5+fn4KY29uZmlndXJlOjE0Nzkx OiAkPyA9IDEKY29uZmlndXJlOiBmYWlsZWQgcHJvZ3JhbSB3YXM6CnwgLyogY29uZmRlZnMuaCAq Lwp8ICNkZWZpbmUgUEFDS0FHRV9OQU1FICJQb3N0Z3JlU1FMIgp8ICNkZWZpbmUgUEFDS0FHRV9U QVJOQU1FICJwb3N0Z3Jlc3FsIgp8ICNkZWZpbmUgUEFDS0FHRV9WRVJTSU9OICIxMWJldGEzIgp8 ICNkZWZpbmUgUEFDS0FHRV9TVFJJTkcgIlBvc3RncmVTUUwgMTFiZXRhMyIKfCAjZGVmaW5lIFBB Q0tBR0VfQlVHUkVQT1JUICJwZ3NxbC1idWdzQHBvc3RncmVzcWwub3JnIgp8ICNkZWZpbmUgUEFD S0FHRV9VUkwgIiIKfCAjZGVmaW5lIFBHX01BSk9SVkVSU0lPTiAiMTEiCnwgI2RlZmluZSBQR19W RVJTSU9OICIxMWJldGEzIgp8ICNkZWZpbmUgREVGX1BHUE9SVCA1NDMyCnwgI2RlZmluZSBERUZf UEdQT1JUX1NUUiAiNTQzMiIKfCAjZGVmaW5lIEJMQ0tTWiA4MTkyCnwgI2RlZmluZSBSRUxTRUdf U0laRSAxMzEwNzIKfCAjZGVmaW5lIFhMT0dfQkxDS1NaIDgxOTIKfCAjZGVmaW5lIFVTRV9BU1NF UlRfQ0hFQ0tJTkcgMQp8ICNkZWZpbmUgRU5BQkxFX1RIUkVBRF9TQUZFVFkgMQp8ICNkZWZpbmUg VVNFX0lDVSAxCnwgI2RlZmluZSBQR19LUkJfU1JWTkFNICJwb3N0Z3JlcyIKfCAjZGVmaW5lIFVT RV9PUEVOU1NMIDEKfCAjZGVmaW5lIFVTRV9MSUJYTUwgMQp8ICNkZWZpbmUgVVNFX0xJQlhTTFQg MQp8ICNkZWZpbmUgU1REQ19IRUFERVJTIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1RZUEVTX0ggMQp8 ICNkZWZpbmUgSEFWRV9TWVNfU1RBVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1RETElCX0ggMQp8ICNk ZWZpbmUgSEFWRV9TVFJJTkdfSCAxCnwgI2RlZmluZSBIQVZFX01FTU9SWV9IIDEKfCAjZGVmaW5l IEhBVkVfU1RSSU5HU19IIDEKfCAjZGVmaW5lIEhBVkVfSU5UVFlQRVNfSCAxCnwgI2RlZmluZSBI QVZFX1NURElOVF9IIDEKfCAjZGVmaW5lIEhBVkVfVU5JU1REX0ggMQp8ICNkZWZpbmUgSEFWRV9M SUJNIDEKfCAjZGVmaW5lIEhBVkVfTElCWiAxCnwgI2RlZmluZSBIQVZFX1NQSU5MT0NLUyAxCnwg I2RlZmluZSBIQVZFX0FUT01JQ1MgMQp8ICNkZWZpbmUgSEFWRV9TU0xfR0VUX0NVUlJFTlRfQ09N UFJFU1NJT04gMQp8ICNkZWZpbmUgSEFWRV9YNTA5X0dFVF9TSUdOQVRVUkVfTklEIDEKfCAjZGVm aW5lIEhBVkVfQ1JZUFRPX0xPQ0sgMQp8ICNkZWZpbmUgSEFWRV9MSUJYTUwyIDEKfCAjZGVmaW5l IEhBVkVfTElCWFNMVCAxCnwgI2RlZmluZSBIQVZFX19CT09MIDEKfCAjZGVmaW5lIEhBVkVfU1RE Qk9PTF9IIDEKfCAjZGVmaW5lIEhBVkVfR0VUT1BUX0ggMQp8ICNkZWZpbmUgSEFWRV9JRUVFRlBf SCAxCnwgI2RlZmluZSBIQVZFX1VUSU1FX0ggMQp8ICNkZWZpbmUgSEFWRV9XQ0hBUl9IIDEKfCAj ZGVmaW5lIEhBVkVfV0NUWVBFX0ggMQp8ICNkZWZpbmUgSEFWRV9DUlRERUZTX0ggMQp8ICNkZWZp bmUgUEdfUFJJTlRGX0FUVFJJQlVURSBnbnVfcHJpbnRmCnwgI2RlZmluZSBGTEVYSUJMRV9BUlJB WV9NRU1CRVIgLyoqLwp8ICNkZWZpbmUgSEFWRV9GVU5DTkFNRV9fRlVOQyAxCnwgI2RlZmluZSBI QVZFX19TVEFUSUNfQVNTRVJUIDEKfCAjZGVmaW5lIEhBVkVfVFlQRU9GIDEKfCAjZGVmaW5lIEhB VkVfX0JVSUxUSU5fVFlQRVNfQ09NUEFUSUJMRV9QIDEKfCAjZGVmaW5lIEhBVkVfX0JVSUxUSU5f QlNXQVAxNiAxCnwgI2RlZmluZSBIQVZFX19CVUlMVElOX0JTV0FQMzIgMQp8ICNkZWZpbmUgSEFW RV9fQlVJTFRJTl9CU1dBUDY0IDEKfCAjZGVmaW5lIEhBVkVfX0JVSUxUSU5fQ09OU1RBTlRfUCAx CnwgI2RlZmluZSBIQVZFX19CVUlMVElOX1VOUkVBQ0hBQkxFIDEKfCAjZGVmaW5lIEhBVkVfQ09N UFVURURfR09UTyAxCnwgI2RlZmluZSBIQVZFX19WQV9BUkdTIDEKfCAjZGVmaW5lIEhBVkVfVFpO QU1FIDEKfCAjZGVmaW5lIEhBVkVfU1RSVUNUX1NPQ0tBRERSX1NUT1JBR0UgMQp8ICNkZWZpbmUg SEFWRV9TVFJVQ1RfU09DS0FERFJfU1RPUkFHRV9TU19GQU1JTFkgMQp8ICNkZWZpbmUgSEFWRV9T VFJVQ1RfQUREUklORk8gMQp8ICNkZWZpbmUgSEFWRV9JTlRQVFJfVCAxCnwgI2RlZmluZSBIQVZF X1VJTlRQVFJfVCAxCnwgI2RlZmluZSBIQVZFX1VOU0lHTkVEX0xPTkdfTE9OR19JTlQgMQp8ICNk ZWZpbmUgSEFWRV9MT05HX0xPTkdfSU5UIDEKfCAjZGVmaW5lIHJlc3RyaWN0IF9fcmVzdHJpY3QK fCAjZGVmaW5lIHBnX3Jlc3RyaWN0IF9fcmVzdHJpY3QKfCAjZGVmaW5lIEhBVkVfU1RSVUNUX09Q VElPTiAxCnwgI2RlZmluZSBTSVpFT0ZfT0ZGX1QgNAp8ICNkZWZpbmUgU0laRU9GX0JPT0wgMQp8 ICNkZWZpbmUgSEFWRV9JTlRfVElNRVpPTkUgMQp8IC8qIGVuZCBjb25mZGVmcy5oLiAgKi8KfCAj aW5jbHVkZSA8c3lzL3R5cGVzLmg+CnwgI2luY2x1ZGUgPHN5cy9zb2NrZXQuaD4KfCBleHRlcm4g dW5zaWduZWQgaW50IFBBU0NBTCBhY2NlcHQgKFNPQ0tFVCwgdm9pZCAqLCBzb2NrbGVuX3QgKik7 CmNvbmZpZ3VyZToxNDc5MTogeDg2XzY0LXc2NC1taW5ndzMyLWdjYyAtYyAtV2FsbCAtV21pc3Np bmctcHJvdG90eXBlcyAtV3BvaW50ZXItYXJpdGggLVdkZWNsYXJhdGlvbi1hZnRlci1zdGF0ZW1l bnQgLVdlbmRpZi1sYWJlbHMgLVdtaXNzaW5nLWZvcm1hdC1hdHRyaWJ1dGUgLVdmb3JtYXQtc2Vj dXJpdHkgLWZuby1zdHJpY3QtYWxpYXNpbmcgLWZ3cmFwdiAtZmV4Y2Vzcy1wcmVjaXNpb249c3Rh bmRhcmQgLVduby1mb3JtYXQtdHJ1bmNhdGlvbiAtV25vLXN0cmluZ29wLXRydW5jYXRpb24gLWcg LU8gLWZuby1vbWl0LWZyYW1lLXBvaW50ZXIgIC1JL3cvUi0zLjUuXy9wb3N0Z3Jlcy9zcmMvaW5j bHVkZS9wb3J0L3dpbjMyIC1ERVhFQ19CQUNLRU5EICAtSS93L3psaWItMS4yLjgtd2luMzIteDg2 XzY0L2luY2x1ZGUgLUkvdy9vcGVuc3NsLTEuMC4yZS13aW4zMi14ODZfNjQvaW5jbHVkZSAtSS93 L2xpYnhtbDItMi45LjMtd2luMzIteDg2XzY0L2luY2x1ZGUvbGlieG1sMiAtSS93L2xpYnhzbHQt MS4xLjI4LXdpbjMyLXg4Nl82NC9pbmNsdWRlIGNvbmZ0ZXN0LmMgPiY1CmNvbmZ0ZXN0LmM6Nzk6 Mjg6IGVycm9yOiBjb25mbGljdGluZyB0eXBlcyBmb3IgJ2FjY2VwdCcKIGV4dGVybiB1bnNpZ25l ZCBpbnQgUEFTQ0FMIGFjY2VwdCAoU09DS0VULCB2b2lkICosIHVuc2lnbmVkIGludCAqKTsKICAg ICAgICAgICAgICAgICAgICAgICAgICAgIF5+fn5+fgpJbiBmaWxlIGluY2x1ZGVkIGZyb20gVzov Ui0zLjUuXy9wb3N0Z3Jlcy9zcmMvaW5jbHVkZS9wb3J0L3dpbjMyL3N5cy9zb2NrZXQuaDoxNCwK ICAgICAgICAgICAgICAgICBmcm9tIGNvbmZ0ZXN0LmM6Nzg6CkM6L21zeXM2NC9taW5ndzY0L3g4 Nl82NC13NjQtbWluZ3czMi9pbmNsdWRlL3dpbnNvY2syLmg6OTczOjM3OiBub3RlOiBwcmV2aW91 cyBkZWNsYXJhdGlvbiBvZiAnYWNjZXB0JyB3YXMgaGVyZQogICBXSU5TT0NLX0FQSV9MSU5LQUdF IFNPQ0tFVCBXU0FBUEkgYWNjZXB0KFNPQ0tFVCBzLHN0cnVjdCBzb2NrYWRkciAqYWRkcixpbnQg KmFkZHJsZW4pOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXn5+fn5+CmNv bmZpZ3VyZToxNDc5MTogJD8gPSAxCmNvbmZpZ3VyZTogZmFpbGVkIHByb2dyYW0gd2FzOgp8IC8q IGNvbmZkZWZzLmggKi8KfCAjZGVmaW5lIFBBQ0tBR0VfTkFNRSAiUG9zdGdyZVNRTCIKfCAjZGVm aW5lIFBBQ0tBR0VfVEFSTkFNRSAicG9zdGdyZXNxbCIKfCAjZGVmaW5lIFBBQ0tBR0VfVkVSU0lP TiAiMTFiZXRhMyIKfCAjZGVmaW5lIFBBQ0tBR0VfU1RSSU5HICJQb3N0Z3JlU1FMIDExYmV0YTMi CnwgI2RlZmluZSBQQUNLQUdFX0JVR1JFUE9SVCAicGdzcWwtYnVnc0Bwb3N0Z3Jlc3FsLm9yZyIK fCAjZGVmaW5lIFBBQ0tBR0VfVVJMICIiCnwgI2RlZmluZSBQR19NQUpPUlZFUlNJT04gIjExIgp8 ICNkZWZpbmUgUEdfVkVSU0lPTiAiMTFiZXRhMyIKfCAjZGVmaW5lIERFRl9QR1BPUlQgNTQzMgp8 ICNkZWZpbmUgREVGX1BHUE9SVF9TVFIgIjU0MzIiCnwgI2RlZmluZSBCTENLU1ogODE5Mgp8ICNk ZWZpbmUgUkVMU0VHX1NJWkUgMTMxMDcyCnwgI2RlZmluZSBYTE9HX0JMQ0tTWiA4MTkyCnwgI2Rl ZmluZSBVU0VfQVNTRVJUX0NIRUNLSU5HIDEKfCAjZGVmaW5lIEVOQUJMRV9USFJFQURfU0FGRVRZ IDEKfCAjZGVmaW5lIFVTRV9JQ1UgMQp8ICNkZWZpbmUgUEdfS1JCX1NSVk5BTSAicG9zdGdyZXMi CnwgI2RlZmluZSBVU0VfT1BFTlNTTCAxCnwgI2RlZmluZSBVU0VfTElCWE1MIDEKfCAjZGVmaW5l IFVTRV9MSUJYU0xUIDEKfCAjZGVmaW5lIFNURENfSEVBREVSUyAxCnwgI2RlZmluZSBIQVZFX1NZ U19UWVBFU19IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NUQVRfSCAxCnwgI2RlZmluZSBIQVZFX1NU RExJQl9IIDEKfCAjZGVmaW5lIEhBVkVfU1RSSU5HX0ggMQp8ICNkZWZpbmUgSEFWRV9NRU1PUllf SCAxCnwgI2RlZmluZSBIQVZFX1NUUklOR1NfSCAxCnwgI2RlZmluZSBIQVZFX0lOVFRZUEVTX0gg MQp8ICNkZWZpbmUgSEFWRV9TVERJTlRfSCAxCnwgI2RlZmluZSBIQVZFX1VOSVNURF9IIDEKfCAj ZGVmaW5lIEhBVkVfTElCTSAxCnwgI2RlZmluZSBIQVZFX0xJQlogMQp8ICNkZWZpbmUgSEFWRV9T UElOTE9DS1MgMQp8ICNkZWZpbmUgSEFWRV9BVE9NSUNTIDEKfCAjZGVmaW5lIEhBVkVfU1NMX0dF VF9DVVJSRU5UX0NPTVBSRVNTSU9OIDEKfCAjZGVmaW5lIEhBVkVfWDUwOV9HRVRfU0lHTkFUVVJF X05JRCAxCnwgI2RlZmluZSBIQVZFX0NSWVBUT19MT0NLIDEKfCAjZGVmaW5lIEhBVkVfTElCWE1M MiAxCnwgI2RlZmluZSBIQVZFX0xJQlhTTFQgMQp8ICNkZWZpbmUgSEFWRV9fQk9PTCAxCnwgI2Rl ZmluZSBIQVZFX1NUREJPT0xfSCAxCnwgI2RlZmluZSBIQVZFX0dFVE9QVF9IIDEKfCAjZGVmaW5l IEhBVkVfSUVFRUZQX0ggMQp8ICNkZWZpbmUgSEFWRV9VVElNRV9IIDEKfCAjZGVmaW5lIEhBVkVf V0NIQVJfSCAxCnwgI2RlZmluZSBIQVZFX1dDVFlQRV9IIDEKfCAjZGVmaW5lIEhBVkVfQ1JUREVG U19IIDEKfCAjZGVmaW5lIFBHX1BSSU5URl9BVFRSSUJVVEUgZ251X3ByaW50Zgp8ICNkZWZpbmUg RkxFWElCTEVfQVJSQVlfTUVNQkVSIC8qKi8KfCAjZGVmaW5lIEhBVkVfRlVOQ05BTUVfX0ZVTkMg MQp8ICNkZWZpbmUgSEFWRV9fU1RBVElDX0FTU0VSVCAxCnwgI2RlZmluZSBIQVZFX1RZUEVPRiAx CnwgI2RlZmluZSBIQVZFX19CVUlMVElOX1RZUEVTX0NPTVBBVElCTEVfUCAxCnwgI2RlZmluZSBI QVZFX19CVUlMVElOX0JTV0FQMTYgMQp8ICNkZWZpbmUgSEFWRV9fQlVJTFRJTl9CU1dBUDMyIDEK fCAjZGVmaW5lIEhBVkVfX0JVSUxUSU5fQlNXQVA2NCAxCnwgI2RlZmluZSBIQVZFX19CVUlMVElO X0NPTlNUQU5UX1AgMQp8ICNkZWZpbmUgSEFWRV9fQlVJTFRJTl9VTlJFQUNIQUJMRSAxCnwgI2Rl ZmluZSBIQVZFX0NPTVBVVEVEX0dPVE8gMQp8ICNkZWZpbmUgSEFWRV9fVkFfQVJHUyAxCnwgI2Rl ZmluZSBIQVZFX1RaTkFNRSAxCnwgI2RlZmluZSBIQVZFX1NUUlVDVF9TT0NLQUREUl9TVE9SQUdF IDEKfCAjZGVmaW5lIEhBVkVfU1RSVUNUX1NPQ0tBRERSX1NUT1JBR0VfU1NfRkFNSUxZIDEKfCAj ZGVmaW5lIEhBVkVfU1RSVUNUX0FERFJJTkZPIDEKfCAjZGVmaW5lIEhBVkVfSU5UUFRSX1QgMQp8 ICNkZWZpbmUgSEFWRV9VSU5UUFRSX1QgMQp8ICNkZWZpbmUgSEFWRV9VTlNJR05FRF9MT05HX0xP TkdfSU5UIDEKfCAjZGVmaW5lIEhBVkVfTE9OR19MT05HX0lOVCAxCnwgI2RlZmluZSByZXN0cmlj dCBfX3Jlc3RyaWN0CnwgI2RlZmluZSBwZ19yZXN0cmljdCBfX3Jlc3RyaWN0CnwgI2RlZmluZSBI QVZFX1NUUlVDVF9PUFRJT04gMQp8ICNkZWZpbmUgU0laRU9GX09GRl9UIDQKfCAjZGVmaW5lIFNJ WkVPRl9CT09MIDEKfCAjZGVmaW5lIEhBVkVfSU5UX1RJTUVaT05FIDEKfCAvKiBlbmQgY29uZmRl ZnMuaC4gICovCnwgI2luY2x1ZGUgPHN5cy90eXBlcy5oPgp8ICNpbmNsdWRlIDxzeXMvc29ja2V0 Lmg+CnwgZXh0ZXJuIHVuc2lnbmVkIGludCBQQVNDQUwgYWNjZXB0IChTT0NLRVQsIHZvaWQgKiwg dW5zaWduZWQgaW50ICopOwpjb25maWd1cmU6MTQ3OTE6IHg4Nl82NC13NjQtbWluZ3czMi1nY2Mg LWMgLVdhbGwgLVdtaXNzaW5nLXByb3RvdHlwZXMgLVdwb2ludGVyLWFyaXRoIC1XZGVjbGFyYXRp b24tYWZ0ZXItc3RhdGVtZW50IC1XZW5kaWYtbGFiZWxzIC1XbWlzc2luZy1mb3JtYXQtYXR0cmli dXRlIC1XZm9ybWF0LXNlY3VyaXR5IC1mbm8tc3RyaWN0LWFsaWFzaW5nIC1md3JhcHYgLWZleGNl c3MtcHJlY2lzaW9uPXN0YW5kYXJkIC1Xbm8tZm9ybWF0LXRydW5jYXRpb24gLVduby1zdHJpbmdv cC10cnVuY2F0aW9uIC1nIC1PIC1mbm8tb21pdC1mcmFtZS1wb2ludGVyICAtSS93L1ItMy41Ll8v cG9zdGdyZXMvc3JjL2luY2x1ZGUvcG9ydC93aW4zMiAtREVYRUNfQkFDS0VORCAgLUkvdy96bGli LTEuMi44LXdpbjMyLXg4Nl82NC9pbmNsdWRlIC1JL3cvb3BlbnNzbC0xLjAuMmUtd2luMzIteDg2 XzY0L2luY2x1ZGUgLUkvdy9saWJ4bWwyLTIuOS4zLXdpbjMyLXg4Nl82NC9pbmNsdWRlL2xpYnht bDIgLUkvdy9saWJ4c2x0LTEuMS4yOC13aW4zMi14ODZfNjQvaW5jbHVkZSBjb25mdGVzdC5jID4m NQpjb25mdGVzdC5jOjc5OjI4OiBlcnJvcjogY29uZmxpY3RpbmcgdHlwZXMgZm9yICdhY2NlcHQn CiBleHRlcm4gdW5zaWduZWQgaW50IFBBU0NBTCBhY2NlcHQgKFNPQ0tFVCwgdm9pZCAqLCB2b2lk ICopOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgXn5+fn5+CkluIGZpbGUgaW5jbHVkZWQg ZnJvbSBXOi9SLTMuNS5fL3Bvc3RncmVzL3NyYy9pbmNsdWRlL3BvcnQvd2luMzIvc3lzL3NvY2tl dC5oOjE0LAogICAgICAgICAgICAgICAgIGZyb20gY29uZnRlc3QuYzo3ODoKQzovbXN5czY0L21p bmd3NjQveDg2XzY0LXc2NC1taW5ndzMyL2luY2x1ZGUvd2luc29jazIuaDo5NzM6Mzc6IG5vdGU6 IHByZXZpb3VzIGRlY2xhcmF0aW9uIG9mICdhY2NlcHQnIHdhcyBoZXJlCiAgIFdJTlNPQ0tfQVBJ X0xJTktBR0UgU09DS0VUIFdTQUFQSSBhY2NlcHQoU09DS0VUIHMsc3RydWN0IHNvY2thZGRyICph ZGRyLGludCAqYWRkcmxlbik7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBe fn5+fn4KY29uZmlndXJlOjE0NzkxOiAkPyA9IDEKY29uZmlndXJlOiBmYWlsZWQgcHJvZ3JhbSB3 YXM6CnwgLyogY29uZmRlZnMuaCAqLwp8ICNkZWZpbmUgUEFDS0FHRV9OQU1FICJQb3N0Z3JlU1FM Igp8ICNkZWZpbmUgUEFDS0FHRV9UQVJOQU1FICJwb3N0Z3Jlc3FsIgp8ICNkZWZpbmUgUEFDS0FH RV9WRVJTSU9OICIxMWJldGEzIgp8ICNkZWZpbmUgUEFDS0FHRV9TVFJJTkcgIlBvc3RncmVTUUwg MTFiZXRhMyIKfCAjZGVmaW5lIFBBQ0tBR0VfQlVHUkVQT1JUICJwZ3NxbC1idWdzQHBvc3RncmVz cWwub3JnIgp8ICNkZWZpbmUgUEFDS0FHRV9VUkwgIiIKfCAjZGVmaW5lIFBHX01BSk9SVkVSU0lP TiAiMTEiCnwgI2RlZmluZSBQR19WRVJTSU9OICIxMWJldGEzIgp8ICNkZWZpbmUgREVGX1BHUE9S VCA1NDMyCnwgI2RlZmluZSBERUZfUEdQT1JUX1NUUiAiNTQzMiIKfCAjZGVmaW5lIEJMQ0tTWiA4 MTkyCnwgI2RlZmluZSBSRUxTRUdfU0laRSAxMzEwNzIKfCAjZGVmaW5lIFhMT0dfQkxDS1NaIDgx OTIKfCAjZGVmaW5lIFVTRV9BU1NFUlRfQ0hFQ0tJTkcgMQp8ICNkZWZpbmUgRU5BQkxFX1RIUkVB RF9TQUZFVFkgMQp8ICNkZWZpbmUgVVNFX0lDVSAxCnwgI2RlZmluZSBQR19LUkJfU1JWTkFNICJw b3N0Z3JlcyIKfCAjZGVmaW5lIFVTRV9PUEVOU1NMIDEKfCAjZGVmaW5lIFVTRV9MSUJYTUwgMQp8 ICNkZWZpbmUgVVNFX0xJQlhTTFQgMQp8ICNkZWZpbmUgU1REQ19IRUFERVJTIDEKfCAjZGVmaW5l IEhBVkVfU1lTX1RZUEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfU1RBVF9IIDEKfCAjZGVmaW5l IEhBVkVfU1RETElCX0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJJTkdfSCAxCnwgI2RlZmluZSBIQVZF X01FTU9SWV9IIDEKfCAjZGVmaW5lIEhBVkVfU1RSSU5HU19IIDEKfCAjZGVmaW5lIEhBVkVfSU5U VFlQRVNfSCAxCnwgI2RlZmluZSBIQVZFX1NURElOVF9IIDEKfCAjZGVmaW5lIEhBVkVfVU5JU1RE X0ggMQp8ICNkZWZpbmUgSEFWRV9MSUJNIDEKfCAjZGVmaW5lIEhBVkVfTElCWiAxCnwgI2RlZmlu ZSBIQVZFX1NQSU5MT0NLUyAxCnwgI2RlZmluZSBIQVZFX0FUT01JQ1MgMQp8ICNkZWZpbmUgSEFW RV9TU0xfR0VUX0NVUlJFTlRfQ09NUFJFU1NJT04gMQp8ICNkZWZpbmUgSEFWRV9YNTA5X0dFVF9T SUdOQVRVUkVfTklEIDEKfCAjZGVmaW5lIEhBVkVfQ1JZUFRPX0xPQ0sgMQp8ICNkZWZpbmUgSEFW RV9MSUJYTUwyIDEKfCAjZGVmaW5lIEhBVkVfTElCWFNMVCAxCnwgI2RlZmluZSBIQVZFX19CT09M IDEKfCAjZGVmaW5lIEhBVkVfU1REQk9PTF9IIDEKfCAjZGVmaW5lIEhBVkVfR0VUT1BUX0ggMQp8 ICNkZWZpbmUgSEFWRV9JRUVFRlBfSCAxCnwgI2RlZmluZSBIQVZFX1VUSU1FX0ggMQp8ICNkZWZp bmUgSEFWRV9XQ0hBUl9IIDEKfCAjZGVmaW5lIEhBVkVfV0NUWVBFX0ggMQp8ICNkZWZpbmUgSEFW RV9DUlRERUZTX0ggMQp8ICNkZWZpbmUgUEdfUFJJTlRGX0FUVFJJQlVURSBnbnVfcHJpbnRmCnwg I2RlZmluZSBGTEVYSUJMRV9BUlJBWV9NRU1CRVIgLyoqLwp8ICNkZWZpbmUgSEFWRV9GVU5DTkFN RV9fRlVOQyAxCnwgI2RlZmluZSBIQVZFX19TVEFUSUNfQVNTRVJUIDEKfCAjZGVmaW5lIEhBVkVf VFlQRU9GIDEKfCAjZGVmaW5lIEhBVkVfX0JVSUxUSU5fVFlQRVNfQ09NUEFUSUJMRV9QIDEKfCAj ZGVmaW5lIEhBVkVfX0JVSUxUSU5fQlNXQVAxNiAxCnwgI2RlZmluZSBIQVZFX19CVUlMVElOX0JT V0FQMzIgMQp8ICNkZWZpbmUgSEFWRV9fQlVJTFRJTl9CU1dBUDY0IDEKfCAjZGVmaW5lIEhBVkVf X0JVSUxUSU5fQ09OU1RBTlRfUCAxCnwgI2RlZmluZSBIQVZFX19CVUlMVElOX1VOUkVBQ0hBQkxF IDEKfCAjZGVmaW5lIEhBVkVfQ09NUFVURURfR09UTyAxCnwgI2RlZmluZSBIQVZFX19WQV9BUkdT IDEKfCAjZGVmaW5lIEhBVkVfVFpOQU1FIDEKfCAjZGVmaW5lIEhBVkVfU1RSVUNUX1NPQ0tBRERS X1NUT1JBR0UgMQp8ICNkZWZpbmUgSEFWRV9TVFJVQ1RfU09DS0FERFJfU1RPUkFHRV9TU19GQU1J TFkgMQp8ICNkZWZpbmUgSEFWRV9TVFJVQ1RfQUREUklORk8gMQp8ICNkZWZpbmUgSEFWRV9JTlRQ VFJfVCAxCnwgI2RlZmluZSBIQVZFX1VJTlRQVFJfVCAxCnwgI2RlZmluZSBIQVZFX1VOU0lHTkVE X0xPTkdfTE9OR19JTlQgMQp8ICNkZWZpbmUgSEFWRV9MT05HX0xPTkdfSU5UIDEKfCAjZGVmaW5l IHJlc3RyaWN0IF9fcmVzdHJpY3QKfCAjZGVmaW5lIHBnX3Jlc3RyaWN0IF9fcmVzdHJpY3QKfCAj ZGVmaW5lIEhBVkVfU1RSVUNUX09QVElPTiAxCnwgI2RlZmluZSBTSVpFT0ZfT0ZGX1QgNAp8ICNk ZWZpbmUgU0laRU9GX0JPT0wgMQp8ICNkZWZpbmUgSEFWRV9JTlRfVElNRVpPTkUgMQp8IC8qIGVu ZCBjb25mZGVmcy5oLiAgKi8KfCAjaW5jbHVkZSA8c3lzL3R5cGVzLmg+CnwgI2luY2x1ZGUgPHN5 cy9zb2NrZXQuaD4KfCBleHRlcm4gdW5zaWduZWQgaW50IFBBU0NBTCBhY2NlcHQgKFNPQ0tFVCwg dm9pZCAqLCB2b2lkICopOwpjb25maWd1cmU6MTQ3OTE6IHg4Nl82NC13NjQtbWluZ3czMi1nY2Mg LWMgLVdhbGwgLVdtaXNzaW5nLXByb3RvdHlwZXMgLVdwb2ludGVyLWFyaXRoIC1XZGVjbGFyYXRp b24tYWZ0ZXItc3RhdGVtZW50IC1XZW5kaWYtbGFiZWxzIC1XbWlzc2luZy1mb3JtYXQtYXR0cmli dXRlIC1XZm9ybWF0LXNlY3VyaXR5IC1mbm8tc3RyaWN0LWFsaWFzaW5nIC1md3JhcHYgLWZleGNl c3MtcHJlY2lzaW9uPXN0YW5kYXJkIC1Xbm8tZm9ybWF0LXRydW5jYXRpb24gLVduby1zdHJpbmdv cC10cnVuY2F0aW9uIC1nIC1PIC1mbm8tb21pdC1mcmFtZS1wb2ludGVyICAtSS93L1ItMy41Ll8v cG9zdGdyZXMvc3JjL2luY2x1ZGUvcG9ydC93aW4zMiAtREVYRUNfQkFDS0VORCAgLUkvdy96bGli LTEuMi44LXdpbjMyLXg4Nl82NC9pbmNsdWRlIC1JL3cvb3BlbnNzbC0xLjAuMmUtd2luMzIteDg2 XzY0L2luY2x1ZGUgLUkvdy9saWJ4bWwyLTIuOS4zLXdpbjMyLXg4Nl82NC9pbmNsdWRlL2xpYnht bDIgLUkvdy9saWJ4c2x0LTEuMS4yOC13aW4zMi14ODZfNjQvaW5jbHVkZSBjb25mdGVzdC5jID4m NQpjb25mdGVzdC5jOjc5OjIyOiBlcnJvcjogY29uZmxpY3RpbmcgdHlwZXMgZm9yICdhY2NlcHQn CiBleHRlcm4gU09DS0VUIFdTQUFQSSBhY2NlcHQgKGludCwgc3RydWN0IHNvY2thZGRyICosIGlu dCAqKTsKICAgICAgICAgICAgICAgICAgICAgIF5+fn5+fgpJbiBmaWxlIGluY2x1ZGVkIGZyb20g VzovUi0zLjUuXy9wb3N0Z3Jlcy9zcmMvaW5jbHVkZS9wb3J0L3dpbjMyL3N5cy9zb2NrZXQuaDox NCwKICAgICAgICAgICAgICAgICBmcm9tIGNvbmZ0ZXN0LmM6Nzg6CkM6L21zeXM2NC9taW5ndzY0 L3g4Nl82NC13NjQtbWluZ3czMi9pbmNsdWRlL3dpbnNvY2syLmg6OTczOjM3OiBub3RlOiBwcmV2 aW91cyBkZWNsYXJhdGlvbiBvZiAnYWNjZXB0JyB3YXMgaGVyZQogICBXSU5TT0NLX0FQSV9MSU5L QUdFIFNPQ0tFVCBXU0FBUEkgYWNjZXB0KFNPQ0tFVCBzLHN0cnVjdCBzb2NrYWRkciAqYWRkcixp bnQgKmFkZHJsZW4pOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXn5+fn5+ CmNvbmZpZ3VyZToxNDc5MTogJD8gPSAxCmNvbmZpZ3VyZTogZmFpbGVkIHByb2dyYW0gd2FzOgp8 IC8qIGNvbmZkZWZzLmggKi8KfCAjZGVmaW5lIFBBQ0tBR0VfTkFNRSAiUG9zdGdyZVNRTCIKfCAj ZGVmaW5lIFBBQ0tBR0VfVEFSTkFNRSAicG9zdGdyZXNxbCIKfCAjZGVmaW5lIFBBQ0tBR0VfVkVS U0lPTiAiMTFiZXRhMyIKfCAjZGVmaW5lIFBBQ0tBR0VfU1RSSU5HICJQb3N0Z3JlU1FMIDExYmV0 YTMiCnwgI2RlZmluZSBQQUNLQUdFX0JVR1JFUE9SVCAicGdzcWwtYnVnc0Bwb3N0Z3Jlc3FsLm9y ZyIKfCAjZGVmaW5lIFBBQ0tBR0VfVVJMICIiCnwgI2RlZmluZSBQR19NQUpPUlZFUlNJT04gIjEx Igp8ICNkZWZpbmUgUEdfVkVSU0lPTiAiMTFiZXRhMyIKfCAjZGVmaW5lIERFRl9QR1BPUlQgNTQz Mgp8ICNkZWZpbmUgREVGX1BHUE9SVF9TVFIgIjU0MzIiCnwgI2RlZmluZSBCTENLU1ogODE5Mgp8 ICNkZWZpbmUgUkVMU0VHX1NJWkUgMTMxMDcyCnwgI2RlZmluZSBYTE9HX0JMQ0tTWiA4MTkyCnwg I2RlZmluZSBVU0VfQVNTRVJUX0NIRUNLSU5HIDEKfCAjZGVmaW5lIEVOQUJMRV9USFJFQURfU0FG RVRZIDEKfCAjZGVmaW5lIFVTRV9JQ1UgMQp8ICNkZWZpbmUgUEdfS1JCX1NSVk5BTSAicG9zdGdy ZXMiCnwgI2RlZmluZSBVU0VfT1BFTlNTTCAxCnwgI2RlZmluZSBVU0VfTElCWE1MIDEKfCAjZGVm aW5lIFVTRV9MSUJYU0xUIDEKfCAjZGVmaW5lIFNURENfSEVBREVSUyAxCnwgI2RlZmluZSBIQVZF X1NZU19UWVBFU19IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NUQVRfSCAxCnwgI2RlZmluZSBIQVZF X1NURExJQl9IIDEKfCAjZGVmaW5lIEhBVkVfU1RSSU5HX0ggMQp8ICNkZWZpbmUgSEFWRV9NRU1P UllfSCAxCnwgI2RlZmluZSBIQVZFX1NUUklOR1NfSCAxCnwgI2RlZmluZSBIQVZFX0lOVFRZUEVT X0ggMQp8ICNkZWZpbmUgSEFWRV9TVERJTlRfSCAxCnwgI2RlZmluZSBIQVZFX1VOSVNURF9IIDEK fCAjZGVmaW5lIEhBVkVfTElCTSAxCnwgI2RlZmluZSBIQVZFX0xJQlogMQp8ICNkZWZpbmUgSEFW RV9TUElOTE9DS1MgMQp8ICNkZWZpbmUgSEFWRV9BVE9NSUNTIDEKfCAjZGVmaW5lIEhBVkVfU1NM X0dFVF9DVVJSRU5UX0NPTVBSRVNTSU9OIDEKfCAjZGVmaW5lIEhBVkVfWDUwOV9HRVRfU0lHTkFU VVJFX05JRCAxCnwgI2RlZmluZSBIQVZFX0NSWVBUT19MT0NLIDEKfCAjZGVmaW5lIEhBVkVfTElC WE1MMiAxCnwgI2RlZmluZSBIQVZFX0xJQlhTTFQgMQp8ICNkZWZpbmUgSEFWRV9fQk9PTCAxCnwg I2RlZmluZSBIQVZFX1NUREJPT0xfSCAxCnwgI2RlZmluZSBIQVZFX0dFVE9QVF9IIDEKfCAjZGVm aW5lIEhBVkVfSUVFRUZQX0ggMQp8ICNkZWZpbmUgSEFWRV9VVElNRV9IIDEKfCAjZGVmaW5lIEhB VkVfV0NIQVJfSCAxCnwgI2RlZmluZSBIQVZFX1dDVFlQRV9IIDEKfCAjZGVmaW5lIEhBVkVfQ1JU REVGU19IIDEKfCAjZGVmaW5lIFBHX1BSSU5URl9BVFRSSUJVVEUgZ251X3ByaW50Zgp8ICNkZWZp bmUgRkxFWElCTEVfQVJSQVlfTUVNQkVSIC8qKi8KfCAjZGVmaW5lIEhBVkVfRlVOQ05BTUVfX0ZV TkMgMQp8ICNkZWZpbmUgSEFWRV9fU1RBVElDX0FTU0VSVCAxCnwgI2RlZmluZSBIQVZFX1RZUEVP RiAxCnwgI2RlZmluZSBIQVZFX19CVUlMVElOX1RZUEVTX0NPTVBBVElCTEVfUCAxCnwgI2RlZmlu ZSBIQVZFX19CVUlMVElOX0JTV0FQMTYgMQp8ICNkZWZpbmUgSEFWRV9fQlVJTFRJTl9CU1dBUDMy IDEKfCAjZGVmaW5lIEhBVkVfX0JVSUxUSU5fQlNXQVA2NCAxCnwgI2RlZmluZSBIQVZFX19CVUlM VElOX0NPTlNUQU5UX1AgMQp8ICNkZWZpbmUgSEFWRV9fQlVJTFRJTl9VTlJFQUNIQUJMRSAxCnwg I2RlZmluZSBIQVZFX0NPTVBVVEVEX0dPVE8gMQp8ICNkZWZpbmUgSEFWRV9fVkFfQVJHUyAxCnwg I2RlZmluZSBIQVZFX1RaTkFNRSAxCnwgI2RlZmluZSBIQVZFX1NUUlVDVF9TT0NLQUREUl9TVE9S QUdFIDEKfCAjZGVmaW5lIEhBVkVfU1RSVUNUX1NPQ0tBRERSX1NUT1JBR0VfU1NfRkFNSUxZIDEK fCAjZGVmaW5lIEhBVkVfU1RSVUNUX0FERFJJTkZPIDEKfCAjZGVmaW5lIEhBVkVfSU5UUFRSX1Qg MQp8ICNkZWZpbmUgSEFWRV9VSU5UUFRSX1QgMQp8ICNkZWZpbmUgSEFWRV9VTlNJR05FRF9MT05H X0xPTkdfSU5UIDEKfCAjZGVmaW5lIEhBVkVfTE9OR19MT05HX0lOVCAxCnwgI2RlZmluZSByZXN0 cmljdCBfX3Jlc3RyaWN0CnwgI2RlZmluZSBwZ19yZXN0cmljdCBfX3Jlc3RyaWN0CnwgI2RlZmlu ZSBIQVZFX1NUUlVDVF9PUFRJT04gMQp8ICNkZWZpbmUgU0laRU9GX09GRl9UIDQKfCAjZGVmaW5l IFNJWkVPRl9CT09MIDEKfCAjZGVmaW5lIEhBVkVfSU5UX1RJTUVaT05FIDEKfCAvKiBlbmQgY29u ZmRlZnMuaC4gICovCnwgI2luY2x1ZGUgPHN5cy90eXBlcy5oPgp8ICNpbmNsdWRlIDxzeXMvc29j a2V0Lmg+CnwgZXh0ZXJuIFNPQ0tFVCBXU0FBUEkgYWNjZXB0IChpbnQsIHN0cnVjdCBzb2NrYWRk ciAqLCBpbnQgKik7CmNvbmZpZ3VyZToxNDc5MTogeDg2XzY0LXc2NC1taW5ndzMyLWdjYyAtYyAt V2FsbCAtV21pc3NpbmctcHJvdG90eXBlcyAtV3BvaW50ZXItYXJpdGggLVdkZWNsYXJhdGlvbi1h ZnRlci1zdGF0ZW1lbnQgLVdlbmRpZi1sYWJlbHMgLVdtaXNzaW5nLWZvcm1hdC1hdHRyaWJ1dGUg LVdmb3JtYXQtc2VjdXJpdHkgLWZuby1zdHJpY3QtYWxpYXNpbmcgLWZ3cmFwdiAtZmV4Y2Vzcy1w cmVjaXNpb249c3RhbmRhcmQgLVduby1mb3JtYXQtdHJ1bmNhdGlvbiAtV25vLXN0cmluZ29wLXRy dW5jYXRpb24gLWcgLU8gLWZuby1vbWl0LWZyYW1lLXBvaW50ZXIgIC1JL3cvUi0zLjUuXy9wb3N0 Z3Jlcy9zcmMvaW5jbHVkZS9wb3J0L3dpbjMyIC1ERVhFQ19CQUNLRU5EICAtSS93L3psaWItMS4y Ljgtd2luMzIteDg2XzY0L2luY2x1ZGUgLUkvdy9vcGVuc3NsLTEuMC4yZS13aW4zMi14ODZfNjQv aW5jbHVkZSAtSS93L2xpYnhtbDItMi45LjMtd2luMzIteDg2XzY0L2luY2x1ZGUvbGlieG1sMiAt SS93L2xpYnhzbHQtMS4xLjI4LXdpbjMyLXg4Nl82NC9pbmNsdWRlIGNvbmZ0ZXN0LmMgPiY1CmNv bmZ0ZXN0LmM6Nzk6MjI6IGVycm9yOiBjb25mbGljdGluZyB0eXBlcyBmb3IgJ2FjY2VwdCcKIGV4 dGVybiBTT0NLRVQgV1NBQVBJIGFjY2VwdCAoaW50LCBzdHJ1Y3Qgc29ja2FkZHIgKiwgc2l6ZV90 ICopOwogICAgICAgICAgICAgICAgICAgICAgXn5+fn5+CkluIGZpbGUgaW5jbHVkZWQgZnJvbSBX Oi9SLTMuNS5fL3Bvc3RncmVzL3NyYy9pbmNsdWRlL3BvcnQvd2luMzIvc3lzL3NvY2tldC5oOjE0 LAogICAgICAgICAgICAgICAgIGZyb20gY29uZnRlc3QuYzo3ODoKQzovbXN5czY0L21pbmd3NjQv eDg2XzY0LXc2NC1taW5ndzMyL2luY2x1ZGUvd2luc29jazIuaDo5NzM6Mzc6IG5vdGU6IHByZXZp b3VzIGRlY2xhcmF0aW9uIG9mICdhY2NlcHQnIHdhcyBoZXJlCiAgIFdJTlNPQ0tfQVBJX0xJTktB R0UgU09DS0VUIFdTQUFQSSBhY2NlcHQoU09DS0VUIHMsc3RydWN0IHNvY2thZGRyICphZGRyLGlu dCAqYWRkcmxlbik7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBefn5+fn4K Y29uZmlndXJlOjE0NzkxOiAkPyA9IDEKY29uZmlndXJlOiBmYWlsZWQgcHJvZ3JhbSB3YXM6Cnwg LyogY29uZmRlZnMuaCAqLwp8ICNkZWZpbmUgUEFDS0FHRV9OQU1FICJQb3N0Z3JlU1FMIgp8ICNk ZWZpbmUgUEFDS0FHRV9UQVJOQU1FICJwb3N0Z3Jlc3FsIgp8ICNkZWZpbmUgUEFDS0FHRV9WRVJT SU9OICIxMWJldGEzIgp8ICNkZWZpbmUgUEFDS0FHRV9TVFJJTkcgIlBvc3RncmVTUUwgMTFiZXRh MyIKfCAjZGVmaW5lIFBBQ0tBR0VfQlVHUkVQT1JUICJwZ3NxbC1idWdzQHBvc3RncmVzcWwub3Jn Igp8ICNkZWZpbmUgUEFDS0FHRV9VUkwgIiIKfCAjZGVmaW5lIFBHX01BSk9SVkVSU0lPTiAiMTEi CnwgI2RlZmluZSBQR19WRVJTSU9OICIxMWJldGEzIgp8ICNkZWZpbmUgREVGX1BHUE9SVCA1NDMy CnwgI2RlZmluZSBERUZfUEdQT1JUX1NUUiAiNTQzMiIKfCAjZGVmaW5lIEJMQ0tTWiA4MTkyCnwg I2RlZmluZSBSRUxTRUdfU0laRSAxMzEwNzIKfCAjZGVmaW5lIFhMT0dfQkxDS1NaIDgxOTIKfCAj ZGVmaW5lIFVTRV9BU1NFUlRfQ0hFQ0tJTkcgMQp8ICNkZWZpbmUgRU5BQkxFX1RIUkVBRF9TQUZF VFkgMQp8ICNkZWZpbmUgVVNFX0lDVSAxCnwgI2RlZmluZSBQR19LUkJfU1JWTkFNICJwb3N0Z3Jl cyIKfCAjZGVmaW5lIFVTRV9PUEVOU1NMIDEKfCAjZGVmaW5lIFVTRV9MSUJYTUwgMQp8ICNkZWZp bmUgVVNFX0xJQlhTTFQgMQp8ICNkZWZpbmUgU1REQ19IRUFERVJTIDEKfCAjZGVmaW5lIEhBVkVf U1lTX1RZUEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfU1RBVF9IIDEKfCAjZGVmaW5lIEhBVkVf U1RETElCX0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJJTkdfSCAxCnwgI2RlZmluZSBIQVZFX01FTU9S WV9IIDEKfCAjZGVmaW5lIEhBVkVfU1RSSU5HU19IIDEKfCAjZGVmaW5lIEhBVkVfSU5UVFlQRVNf SCAxCnwgI2RlZmluZSBIQVZFX1NURElOVF9IIDEKfCAjZGVmaW5lIEhBVkVfVU5JU1REX0ggMQp8 ICNkZWZpbmUgSEFWRV9MSUJNIDEKfCAjZGVmaW5lIEhBVkVfTElCWiAxCnwgI2RlZmluZSBIQVZF X1NQSU5MT0NLUyAxCnwgI2RlZmluZSBIQVZFX0FUT01JQ1MgMQp8ICNkZWZpbmUgSEFWRV9TU0xf R0VUX0NVUlJFTlRfQ09NUFJFU1NJT04gMQp8ICNkZWZpbmUgSEFWRV9YNTA5X0dFVF9TSUdOQVRV UkVfTklEIDEKfCAjZGVmaW5lIEhBVkVfQ1JZUFRPX0xPQ0sgMQp8ICNkZWZpbmUgSEFWRV9MSUJY TUwyIDEKfCAjZGVmaW5lIEhBVkVfTElCWFNMVCAxCnwgI2RlZmluZSBIQVZFX19CT09MIDEKfCAj ZGVmaW5lIEhBVkVfU1REQk9PTF9IIDEKfCAjZGVmaW5lIEhBVkVfR0VUT1BUX0ggMQp8ICNkZWZp bmUgSEFWRV9JRUVFRlBfSCAxCnwgI2RlZmluZSBIQVZFX1VUSU1FX0ggMQp8ICNkZWZpbmUgSEFW RV9XQ0hBUl9IIDEKfCAjZGVmaW5lIEhBVkVfV0NUWVBFX0ggMQp8ICNkZWZpbmUgSEFWRV9DUlRE RUZTX0ggMQp8ICNkZWZpbmUgUEdfUFJJTlRGX0FUVFJJQlVURSBnbnVfcHJpbnRmCnwgI2RlZmlu ZSBGTEVYSUJMRV9BUlJBWV9NRU1CRVIgLyoqLwp8ICNkZWZpbmUgSEFWRV9GVU5DTkFNRV9fRlVO QyAxCnwgI2RlZmluZSBIQVZFX19TVEFUSUNfQVNTRVJUIDEKfCAjZGVmaW5lIEhBVkVfVFlQRU9G IDEKfCAjZGVmaW5lIEhBVkVfX0JVSUxUSU5fVFlQRVNfQ09NUEFUSUJMRV9QIDEKfCAjZGVmaW5l IEhBVkVfX0JVSUxUSU5fQlNXQVAxNiAxCnwgI2RlZmluZSBIQVZFX19CVUlMVElOX0JTV0FQMzIg MQp8ICNkZWZpbmUgSEFWRV9fQlVJTFRJTl9CU1dBUDY0IDEKfCAjZGVmaW5lIEhBVkVfX0JVSUxU SU5fQ09OU1RBTlRfUCAxCnwgI2RlZmluZSBIQVZFX19CVUlMVElOX1VOUkVBQ0hBQkxFIDEKfCAj ZGVmaW5lIEhBVkVfQ09NUFVURURfR09UTyAxCnwgI2RlZmluZSBIQVZFX19WQV9BUkdTIDEKfCAj ZGVmaW5lIEhBVkVfVFpOQU1FIDEKfCAjZGVmaW5lIEhBVkVfU1RSVUNUX1NPQ0tBRERSX1NUT1JB R0UgMQp8ICNkZWZpbmUgSEFWRV9TVFJVQ1RfU09DS0FERFJfU1RPUkFHRV9TU19GQU1JTFkgMQp8 ICNkZWZpbmUgSEFWRV9TVFJVQ1RfQUREUklORk8gMQp8ICNkZWZpbmUgSEFWRV9JTlRQVFJfVCAx CnwgI2RlZmluZSBIQVZFX1VJTlRQVFJfVCAxCnwgI2RlZmluZSBIQVZFX1VOU0lHTkVEX0xPTkdf TE9OR19JTlQgMQp8ICNkZWZpbmUgSEFWRV9MT05HX0xPTkdfSU5UIDEKfCAjZGVmaW5lIHJlc3Ry aWN0IF9fcmVzdHJpY3QKfCAjZGVmaW5lIHBnX3Jlc3RyaWN0IF9fcmVzdHJpY3QKfCAjZGVmaW5l IEhBVkVfU1RSVUNUX09QVElPTiAxCnwgI2RlZmluZSBTSVpFT0ZfT0ZGX1QgNAp8ICNkZWZpbmUg U0laRU9GX0JPT0wgMQp8ICNkZWZpbmUgSEFWRV9JTlRfVElNRVpPTkUgMQp8IC8qIGVuZCBjb25m ZGVmcy5oLiAgKi8KfCAjaW5jbHVkZSA8c3lzL3R5cGVzLmg+CnwgI2luY2x1ZGUgPHN5cy9zb2Nr ZXQuaD4KfCBleHRlcm4gU09DS0VUIFdTQUFQSSBhY2NlcHQgKGludCwgc3RydWN0IHNvY2thZGRy ICosIHNpemVfdCAqKTsKY29uZmlndXJlOjE0NzkxOiB4ODZfNjQtdzY0LW1pbmd3MzItZ2NjIC1j IC1XYWxsIC1XbWlzc2luZy1wcm90b3R5cGVzIC1XcG9pbnRlci1hcml0aCAtV2RlY2xhcmF0aW9u LWFmdGVyLXN0YXRlbWVudCAtV2VuZGlmLWxhYmVscyAtV21pc3NpbmctZm9ybWF0LWF0dHJpYnV0 ZSAtV2Zvcm1hdC1zZWN1cml0eSAtZm5vLXN0cmljdC1hbGlhc2luZyAtZndyYXB2IC1mZXhjZXNz LXByZWNpc2lvbj1zdGFuZGFyZCAtV25vLWZvcm1hdC10cnVuY2F0aW9uIC1Xbm8tc3RyaW5nb3At dHJ1bmNhdGlvbiAtZyAtTyAtZm5vLW9taXQtZnJhbWUtcG9pbnRlciAgLUkvdy9SLTMuNS5fL3Bv c3RncmVzL3NyYy9pbmNsdWRlL3BvcnQvd2luMzIgLURFWEVDX0JBQ0tFTkQgIC1JL3cvemxpYi0x LjIuOC13aW4zMi14ODZfNjQvaW5jbHVkZSAtSS93L29wZW5zc2wtMS4wLjJlLXdpbjMyLXg4Nl82 NC9pbmNsdWRlIC1JL3cvbGlieG1sMi0yLjkuMy13aW4zMi14ODZfNjQvaW5jbHVkZS9saWJ4bWwy IC1JL3cvbGlieHNsdC0xLjEuMjgtd2luMzIteDg2XzY0L2luY2x1ZGUgY29uZnRlc3QuYyA+JjUK Y29uZnRlc3QuYzo3OToyMjogZXJyb3I6IGNvbmZsaWN0aW5nIHR5cGVzIGZvciAnYWNjZXB0Jwog ZXh0ZXJuIFNPQ0tFVCBXU0FBUEkgYWNjZXB0IChpbnQsIHN0cnVjdCBzb2NrYWRkciAqLCBzb2Nr bGVuX3QgKik7CiAgICAgICAgICAgICAgICAgICAgICBefn5+fn4KSW4gZmlsZSBpbmNsdWRlZCBm cm9tIFc6L1ItMy41Ll8vcG9zdGdyZXMvc3JjL2luY2x1ZGUvcG9ydC93aW4zMi9zeXMvc29ja2V0 Lmg6MTQsCiAgICAgICAgICAgICAgICAgZnJvbSBjb25mdGVzdC5jOjc4OgpDOi9tc3lzNjQvbWlu Z3c2NC94ODZfNjQtdzY0LW1pbmd3MzIvaW5jbHVkZS93aW5zb2NrMi5oOjk3MzozNzogbm90ZTog cHJldmlvdXMgZGVjbGFyYXRpb24gb2YgJ2FjY2VwdCcgd2FzIGhlcmUKICAgV0lOU09DS19BUElf TElOS0FHRSBTT0NLRVQgV1NBQVBJIGFjY2VwdChTT0NLRVQgcyxzdHJ1Y3Qgc29ja2FkZHIgKmFk ZHIsaW50ICphZGRybGVuKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF5+ fn5+fgpjb25maWd1cmU6MTQ3OTE6ICQ/ID0gMQpjb25maWd1cmU6IGZhaWxlZCBwcm9ncmFtIHdh czoKfCAvKiBjb25mZGVmcy5oICovCnwgI2RlZmluZSBQQUNLQUdFX05BTUUgIlBvc3RncmVTUUwi CnwgI2RlZmluZSBQQUNLQUdFX1RBUk5BTUUgInBvc3RncmVzcWwiCnwgI2RlZmluZSBQQUNLQUdF X1ZFUlNJT04gIjExYmV0YTMiCnwgI2RlZmluZSBQQUNLQUdFX1NUUklORyAiUG9zdGdyZVNRTCAx MWJldGEzIgp8ICNkZWZpbmUgUEFDS0FHRV9CVUdSRVBPUlQgInBnc3FsLWJ1Z3NAcG9zdGdyZXNx bC5vcmciCnwgI2RlZmluZSBQQUNLQUdFX1VSTCAiIgp8ICNkZWZpbmUgUEdfTUFKT1JWRVJTSU9O ICIxMSIKfCAjZGVmaW5lIFBHX1ZFUlNJT04gIjExYmV0YTMiCnwgI2RlZmluZSBERUZfUEdQT1JU IDU0MzIKfCAjZGVmaW5lIERFRl9QR1BPUlRfU1RSICI1NDMyIgp8ICNkZWZpbmUgQkxDS1NaIDgx OTIKfCAjZGVmaW5lIFJFTFNFR19TSVpFIDEzMTA3Mgp8ICNkZWZpbmUgWExPR19CTENLU1ogODE5 Mgp8ICNkZWZpbmUgVVNFX0FTU0VSVF9DSEVDS0lORyAxCnwgI2RlZmluZSBFTkFCTEVfVEhSRUFE X1NBRkVUWSAxCnwgI2RlZmluZSBVU0VfSUNVIDEKfCAjZGVmaW5lIFBHX0tSQl9TUlZOQU0gInBv c3RncmVzIgp8ICNkZWZpbmUgVVNFX09QRU5TU0wgMQp8ICNkZWZpbmUgVVNFX0xJQlhNTCAxCnwg I2RlZmluZSBVU0VfTElCWFNMVCAxCnwgI2RlZmluZSBTVERDX0hFQURFUlMgMQp8ICNkZWZpbmUg SEFWRV9TWVNfVFlQRVNfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19TVEFUX0ggMQp8ICNkZWZpbmUg SEFWRV9TVERMSUJfSCAxCnwgI2RlZmluZSBIQVZFX1NUUklOR19IIDEKfCAjZGVmaW5lIEhBVkVf TUVNT1JZX0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJJTkdTX0ggMQp8ICNkZWZpbmUgSEFWRV9JTlRU WVBFU19IIDEKfCAjZGVmaW5lIEhBVkVfU1RESU5UX0ggMQp8ICNkZWZpbmUgSEFWRV9VTklTVERf SCAxCnwgI2RlZmluZSBIQVZFX0xJQk0gMQp8ICNkZWZpbmUgSEFWRV9MSUJaIDEKfCAjZGVmaW5l IEhBVkVfU1BJTkxPQ0tTIDEKfCAjZGVmaW5lIEhBVkVfQVRPTUlDUyAxCnwgI2RlZmluZSBIQVZF X1NTTF9HRVRfQ1VSUkVOVF9DT01QUkVTU0lPTiAxCnwgI2RlZmluZSBIQVZFX1g1MDlfR0VUX1NJ R05BVFVSRV9OSUQgMQp8ICNkZWZpbmUgSEFWRV9DUllQVE9fTE9DSyAxCnwgI2RlZmluZSBIQVZF X0xJQlhNTDIgMQp8ICNkZWZpbmUgSEFWRV9MSUJYU0xUIDEKfCAjZGVmaW5lIEhBVkVfX0JPT0wg MQp8ICNkZWZpbmUgSEFWRV9TVERCT09MX0ggMQp8ICNkZWZpbmUgSEFWRV9HRVRPUFRfSCAxCnwg I2RlZmluZSBIQVZFX0lFRUVGUF9IIDEKfCAjZGVmaW5lIEhBVkVfVVRJTUVfSCAxCnwgI2RlZmlu ZSBIQVZFX1dDSEFSX0ggMQp8ICNkZWZpbmUgSEFWRV9XQ1RZUEVfSCAxCnwgI2RlZmluZSBIQVZF X0NSVERFRlNfSCAxCnwgI2RlZmluZSBQR19QUklOVEZfQVRUUklCVVRFIGdudV9wcmludGYKfCAj ZGVmaW5lIEZMRVhJQkxFX0FSUkFZX01FTUJFUiAvKiovCnwgI2RlZmluZSBIQVZFX0ZVTkNOQU1F X19GVU5DIDEKfCAjZGVmaW5lIEhBVkVfX1NUQVRJQ19BU1NFUlQgMQp8ICNkZWZpbmUgSEFWRV9U WVBFT0YgMQp8ICNkZWZpbmUgSEFWRV9fQlVJTFRJTl9UWVBFU19DT01QQVRJQkxFX1AgMQp8ICNk ZWZpbmUgSEFWRV9fQlVJTFRJTl9CU1dBUDE2IDEKfCAjZGVmaW5lIEhBVkVfX0JVSUxUSU5fQlNX QVAzMiAxCnwgI2RlZmluZSBIQVZFX19CVUlMVElOX0JTV0FQNjQgMQp8ICNkZWZpbmUgSEFWRV9f QlVJTFRJTl9DT05TVEFOVF9QIDEKfCAjZGVmaW5lIEhBVkVfX0JVSUxUSU5fVU5SRUFDSEFCTEUg MQp8ICNkZWZpbmUgSEFWRV9DT01QVVRFRF9HT1RPIDEKfCAjZGVmaW5lIEhBVkVfX1ZBX0FSR1Mg MQp8ICNkZWZpbmUgSEFWRV9UWk5BTUUgMQp8ICNkZWZpbmUgSEFWRV9TVFJVQ1RfU09DS0FERFJf U1RPUkFHRSAxCnwgI2RlZmluZSBIQVZFX1NUUlVDVF9TT0NLQUREUl9TVE9SQUdFX1NTX0ZBTUlM WSAxCnwgI2RlZmluZSBIQVZFX1NUUlVDVF9BRERSSU5GTyAxCnwgI2RlZmluZSBIQVZFX0lOVFBU Ul9UIDEKfCAjZGVmaW5lIEhBVkVfVUlOVFBUUl9UIDEKfCAjZGVmaW5lIEhBVkVfVU5TSUdORURf TE9OR19MT05HX0lOVCAxCnwgI2RlZmluZSBIQVZFX0xPTkdfTE9OR19JTlQgMQp8ICNkZWZpbmUg cmVzdHJpY3QgX19yZXN0cmljdAp8ICNkZWZpbmUgcGdfcmVzdHJpY3QgX19yZXN0cmljdAp8ICNk ZWZpbmUgSEFWRV9TVFJVQ1RfT1BUSU9OIDEKfCAjZGVmaW5lIFNJWkVPRl9PRkZfVCA0CnwgI2Rl ZmluZSBTSVpFT0ZfQk9PTCAxCnwgI2RlZmluZSBIQVZFX0lOVF9USU1FWk9ORSAxCnwgLyogZW5k IGNvbmZkZWZzLmguICAqLwp8ICNpbmNsdWRlIDxzeXMvdHlwZXMuaD4KfCAjaW5jbHVkZSA8c3lz L3NvY2tldC5oPgp8IGV4dGVybiBTT0NLRVQgV1NBQVBJIGFjY2VwdCAoaW50LCBzdHJ1Y3Qgc29j a2FkZHIgKiwgc29ja2xlbl90ICopOwpjb25maWd1cmU6MTQ3OTE6IHg4Nl82NC13NjQtbWluZ3cz Mi1nY2MgLWMgLVdhbGwgLVdtaXNzaW5nLXByb3RvdHlwZXMgLVdwb2ludGVyLWFyaXRoIC1XZGVj bGFyYXRpb24tYWZ0ZXItc3RhdGVtZW50IC1XZW5kaWYtbGFiZWxzIC1XbWlzc2luZy1mb3JtYXQt YXR0cmlidXRlIC1XZm9ybWF0LXNlY3VyaXR5IC1mbm8tc3RyaWN0LWFsaWFzaW5nIC1md3JhcHYg LWZleGNlc3MtcHJlY2lzaW9uPXN0YW5kYXJkIC1Xbm8tZm9ybWF0LXRydW5jYXRpb24gLVduby1z dHJpbmdvcC10cnVuY2F0aW9uIC1nIC1PIC1mbm8tb21pdC1mcmFtZS1wb2ludGVyICAtSS93L1It My41Ll8vcG9zdGdyZXMvc3JjL2luY2x1ZGUvcG9ydC93aW4zMiAtREVYRUNfQkFDS0VORCAgLUkv dy96bGliLTEuMi44LXdpbjMyLXg4Nl82NC9pbmNsdWRlIC1JL3cvb3BlbnNzbC0xLjAuMmUtd2lu MzIteDg2XzY0L2luY2x1ZGUgLUkvdy9saWJ4bWwyLTIuOS4zLXdpbjMyLXg4Nl82NC9pbmNsdWRl L2xpYnhtbDIgLUkvdy9saWJ4c2x0LTEuMS4yOC13aW4zMi14ODZfNjQvaW5jbHVkZSBjb25mdGVz dC5jID4mNQpjb25mdGVzdC5jOjc5OjIyOiBlcnJvcjogY29uZmxpY3RpbmcgdHlwZXMgZm9yICdh Y2NlcHQnCiBleHRlcm4gU09DS0VUIFdTQUFQSSBhY2NlcHQgKGludCwgc3RydWN0IHNvY2thZGRy ICosIHVuc2lnbmVkIGludCAqKTsKICAgICAgICAgICAgICAgICAgICAgIF5+fn5+fgpJbiBmaWxl IGluY2x1ZGVkIGZyb20gVzovUi0zLjUuXy9wb3N0Z3Jlcy9zcmMvaW5jbHVkZS9wb3J0L3dpbjMy L3N5cy9zb2NrZXQuaDoxNCwKICAgICAgICAgICAgICAgICBmcm9tIGNvbmZ0ZXN0LmM6Nzg6CkM6 L21zeXM2NC9taW5ndzY0L3g4Nl82NC13NjQtbWluZ3czMi9pbmNsdWRlL3dpbnNvY2syLmg6OTcz OjM3OiBub3RlOiBwcmV2aW91cyBkZWNsYXJhdGlvbiBvZiAnYWNjZXB0JyB3YXMgaGVyZQogICBX SU5TT0NLX0FQSV9MSU5LQUdFIFNPQ0tFVCBXU0FBUEkgYWNjZXB0KFNPQ0tFVCBzLHN0cnVjdCBz b2NrYWRkciAqYWRkcixpbnQgKmFkZHJsZW4pOwogICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgXn5+fn5+CmNvbmZpZ3VyZToxNDc5MTogJD8gPSAxCmNvbmZpZ3VyZTogZmFpbGVk IHByb2dyYW0gd2FzOgp8IC8qIGNvbmZkZWZzLmggKi8KfCAjZGVmaW5lIFBBQ0tBR0VfTkFNRSAi UG9zdGdyZVNRTCIKfCAjZGVmaW5lIFBBQ0tBR0VfVEFSTkFNRSAicG9zdGdyZXNxbCIKfCAjZGVm aW5lIFBBQ0tBR0VfVkVSU0lPTiAiMTFiZXRhMyIKfCAjZGVmaW5lIFBBQ0tBR0VfU1RSSU5HICJQ b3N0Z3JlU1FMIDExYmV0YTMiCnwgI2RlZmluZSBQQUNLQUdFX0JVR1JFUE9SVCAicGdzcWwtYnVn c0Bwb3N0Z3Jlc3FsLm9yZyIKfCAjZGVmaW5lIFBBQ0tBR0VfVVJMICIiCnwgI2RlZmluZSBQR19N QUpPUlZFUlNJT04gIjExIgp8ICNkZWZpbmUgUEdfVkVSU0lPTiAiMTFiZXRhMyIKfCAjZGVmaW5l IERFRl9QR1BPUlQgNTQzMgp8ICNkZWZpbmUgREVGX1BHUE9SVF9TVFIgIjU0MzIiCnwgI2RlZmlu ZSBCTENLU1ogODE5Mgp8ICNkZWZpbmUgUkVMU0VHX1NJWkUgMTMxMDcyCnwgI2RlZmluZSBYTE9H X0JMQ0tTWiA4MTkyCnwgI2RlZmluZSBVU0VfQVNTRVJUX0NIRUNLSU5HIDEKfCAjZGVmaW5lIEVO QUJMRV9USFJFQURfU0FGRVRZIDEKfCAjZGVmaW5lIFVTRV9JQ1UgMQp8ICNkZWZpbmUgUEdfS1JC X1NSVk5BTSAicG9zdGdyZXMiCnwgI2RlZmluZSBVU0VfT1BFTlNTTCAxCnwgI2RlZmluZSBVU0Vf TElCWE1MIDEKfCAjZGVmaW5lIFVTRV9MSUJYU0xUIDEKfCAjZGVmaW5lIFNURENfSEVBREVSUyAx CnwgI2RlZmluZSBIQVZFX1NZU19UWVBFU19IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NUQVRfSCAx CnwgI2RlZmluZSBIQVZFX1NURExJQl9IIDEKfCAjZGVmaW5lIEhBVkVfU1RSSU5HX0ggMQp8ICNk ZWZpbmUgSEFWRV9NRU1PUllfSCAxCnwgI2RlZmluZSBIQVZFX1NUUklOR1NfSCAxCnwgI2RlZmlu ZSBIQVZFX0lOVFRZUEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERJTlRfSCAxCnwgI2RlZmluZSBI QVZFX1VOSVNURF9IIDEKfCAjZGVmaW5lIEhBVkVfTElCTSAxCnwgI2RlZmluZSBIQVZFX0xJQlog MQp8ICNkZWZpbmUgSEFWRV9TUElOTE9DS1MgMQp8ICNkZWZpbmUgSEFWRV9BVE9NSUNTIDEKfCAj ZGVmaW5lIEhBVkVfU1NMX0dFVF9DVVJSRU5UX0NPTVBSRVNTSU9OIDEKfCAjZGVmaW5lIEhBVkVf WDUwOV9HRVRfU0lHTkFUVVJFX05JRCAxCnwgI2RlZmluZSBIQVZFX0NSWVBUT19MT0NLIDEKfCAj ZGVmaW5lIEhBVkVfTElCWE1MMiAxCnwgI2RlZmluZSBIQVZFX0xJQlhTTFQgMQp8ICNkZWZpbmUg SEFWRV9fQk9PTCAxCnwgI2RlZmluZSBIQVZFX1NUREJPT0xfSCAxCnwgI2RlZmluZSBIQVZFX0dF VE9QVF9IIDEKfCAjZGVmaW5lIEhBVkVfSUVFRUZQX0ggMQp8ICNkZWZpbmUgSEFWRV9VVElNRV9I IDEKfCAjZGVmaW5lIEhBVkVfV0NIQVJfSCAxCnwgI2RlZmluZSBIQVZFX1dDVFlQRV9IIDEKfCAj ZGVmaW5lIEhBVkVfQ1JUREVGU19IIDEKfCAjZGVmaW5lIFBHX1BSSU5URl9BVFRSSUJVVEUgZ251 X3ByaW50Zgp8ICNkZWZpbmUgRkxFWElCTEVfQVJSQVlfTUVNQkVSIC8qKi8KfCAjZGVmaW5lIEhB VkVfRlVOQ05BTUVfX0ZVTkMgMQp8ICNkZWZpbmUgSEFWRV9fU1RBVElDX0FTU0VSVCAxCnwgI2Rl ZmluZSBIQVZFX1RZUEVPRiAxCnwgI2RlZmluZSBIQVZFX19CVUlMVElOX1RZUEVTX0NPTVBBVElC TEVfUCAxCnwgI2RlZmluZSBIQVZFX19CVUlMVElOX0JTV0FQMTYgMQp8ICNkZWZpbmUgSEFWRV9f QlVJTFRJTl9CU1dBUDMyIDEKfCAjZGVmaW5lIEhBVkVfX0JVSUxUSU5fQlNXQVA2NCAxCnwgI2Rl ZmluZSBIQVZFX19CVUlMVElOX0NPTlNUQU5UX1AgMQp8ICNkZWZpbmUgSEFWRV9fQlVJTFRJTl9V TlJFQUNIQUJMRSAxCnwgI2RlZmluZSBIQVZFX0NPTVBVVEVEX0dPVE8gMQp8ICNkZWZpbmUgSEFW RV9fVkFfQVJHUyAxCnwgI2RlZmluZSBIQVZFX1RaTkFNRSAxCnwgI2RlZmluZSBIQVZFX1NUUlVD VF9TT0NLQUREUl9TVE9SQUdFIDEKfCAjZGVmaW5lIEhBVkVfU1RSVUNUX1NPQ0tBRERSX1NUT1JB R0VfU1NfRkFNSUxZIDEKfCAjZGVmaW5lIEhBVkVfU1RSVUNUX0FERFJJTkZPIDEKfCAjZGVmaW5l IEhBVkVfSU5UUFRSX1QgMQp8ICNkZWZpbmUgSEFWRV9VSU5UUFRSX1QgMQp8ICNkZWZpbmUgSEFW RV9VTlNJR05FRF9MT05HX0xPTkdfSU5UIDEKfCAjZGVmaW5lIEhBVkVfTE9OR19MT05HX0lOVCAx CnwgI2RlZmluZSByZXN0cmljdCBfX3Jlc3RyaWN0CnwgI2RlZmluZSBwZ19yZXN0cmljdCBfX3Jl c3RyaWN0CnwgI2RlZmluZSBIQVZFX1NUUlVDVF9PUFRJT04gMQp8ICNkZWZpbmUgU0laRU9GX09G Rl9UIDQKfCAjZGVmaW5lIFNJWkVPRl9CT09MIDEKfCAjZGVmaW5lIEhBVkVfSU5UX1RJTUVaT05F IDEKfCAvKiBlbmQgY29uZmRlZnMuaC4gICovCnwgI2luY2x1ZGUgPHN5cy90eXBlcy5oPgp8ICNp bmNsdWRlIDxzeXMvc29ja2V0Lmg+CnwgZXh0ZXJuIFNPQ0tFVCBXU0FBUEkgYWNjZXB0IChpbnQs IHN0cnVjdCBzb2NrYWRkciAqLCB1bnNpZ25lZCBpbnQgKik7CmNvbmZpZ3VyZToxNDc5MTogeDg2 XzY0LXc2NC1taW5ndzMyLWdjYyAtYyAtV2FsbCAtV21pc3NpbmctcHJvdG90eXBlcyAtV3BvaW50 ZXItYXJpdGggLVdkZWNsYXJhdGlvbi1hZnRlci1zdGF0ZW1lbnQgLVdlbmRpZi1sYWJlbHMgLVdt aXNzaW5nLWZvcm1hdC1hdHRyaWJ1dGUgLVdmb3JtYXQtc2VjdXJpdHkgLWZuby1zdHJpY3QtYWxp YXNpbmcgLWZ3cmFwdiAtZmV4Y2Vzcy1wcmVjaXNpb249c3RhbmRhcmQgLVduby1mb3JtYXQtdHJ1 bmNhdGlvbiAtV25vLXN0cmluZ29wLXRydW5jYXRpb24gLWcgLU8gLWZuby1vbWl0LWZyYW1lLXBv aW50ZXIgIC1JL3cvUi0zLjUuXy9wb3N0Z3Jlcy9zcmMvaW5jbHVkZS9wb3J0L3dpbjMyIC1ERVhF Q19CQUNLRU5EICAtSS93L3psaWItMS4yLjgtd2luMzIteDg2XzY0L2luY2x1ZGUgLUkvdy9vcGVu c3NsLTEuMC4yZS13aW4zMi14ODZfNjQvaW5jbHVkZSAtSS93L2xpYnhtbDItMi45LjMtd2luMzIt eDg2XzY0L2luY2x1ZGUvbGlieG1sMiAtSS93L2xpYnhzbHQtMS4xLjI4LXdpbjMyLXg4Nl82NC9p bmNsdWRlIGNvbmZ0ZXN0LmMgPiY1CmNvbmZ0ZXN0LmM6Nzk6MjI6IGVycm9yOiBjb25mbGljdGlu ZyB0eXBlcyBmb3IgJ2FjY2VwdCcKIGV4dGVybiBTT0NLRVQgV1NBQVBJIGFjY2VwdCAoaW50LCBz dHJ1Y3Qgc29ja2FkZHIgKiwgdm9pZCAqKTsKICAgICAgICAgICAgICAgICAgICAgIF5+fn5+fgpJ biBmaWxlIGluY2x1ZGVkIGZyb20gVzovUi0zLjUuXy9wb3N0Z3Jlcy9zcmMvaW5jbHVkZS9wb3J0 L3dpbjMyL3N5cy9zb2NrZXQuaDoxNCwKICAgICAgICAgICAgICAgICBmcm9tIGNvbmZ0ZXN0LmM6 Nzg6CkM6L21zeXM2NC9taW5ndzY0L3g4Nl82NC13NjQtbWluZ3czMi9pbmNsdWRlL3dpbnNvY2sy Lmg6OTczOjM3OiBub3RlOiBwcmV2aW91cyBkZWNsYXJhdGlvbiBvZiAnYWNjZXB0JyB3YXMgaGVy ZQogICBXSU5TT0NLX0FQSV9MSU5LQUdFIFNPQ0tFVCBXU0FBUEkgYWNjZXB0KFNPQ0tFVCBzLHN0 cnVjdCBzb2NrYWRkciAqYWRkcixpbnQgKmFkZHJsZW4pOwogICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgXn5+fn5+CmNvbmZpZ3VyZToxNDc5MTogJD8gPSAxCmNvbmZpZ3VyZTog ZmFpbGVkIHByb2dyYW0gd2FzOgp8IC8qIGNvbmZkZWZzLmggKi8KfCAjZGVmaW5lIFBBQ0tBR0Vf TkFNRSAiUG9zdGdyZVNRTCIKfCAjZGVmaW5lIFBBQ0tBR0VfVEFSTkFNRSAicG9zdGdyZXNxbCIK fCAjZGVmaW5lIFBBQ0tBR0VfVkVSU0lPTiAiMTFiZXRhMyIKfCAjZGVmaW5lIFBBQ0tBR0VfU1RS SU5HICJQb3N0Z3JlU1FMIDExYmV0YTMiCnwgI2RlZmluZSBQQUNLQUdFX0JVR1JFUE9SVCAicGdz cWwtYnVnc0Bwb3N0Z3Jlc3FsLm9yZyIKfCAjZGVmaW5lIFBBQ0tBR0VfVVJMICIiCnwgI2RlZmlu ZSBQR19NQUpPUlZFUlNJT04gIjExIgp8ICNkZWZpbmUgUEdfVkVSU0lPTiAiMTFiZXRhMyIKfCAj ZGVmaW5lIERFRl9QR1BPUlQgNTQzMgp8ICNkZWZpbmUgREVGX1BHUE9SVF9TVFIgIjU0MzIiCnwg I2RlZmluZSBCTENLU1ogODE5Mgp8ICNkZWZpbmUgUkVMU0VHX1NJWkUgMTMxMDcyCnwgI2RlZmlu ZSBYTE9HX0JMQ0tTWiA4MTkyCnwgI2RlZmluZSBVU0VfQVNTRVJUX0NIRUNLSU5HIDEKfCAjZGVm aW5lIEVOQUJMRV9USFJFQURfU0FGRVRZIDEKfCAjZGVmaW5lIFVTRV9JQ1UgMQp8ICNkZWZpbmUg UEdfS1JCX1NSVk5BTSAicG9zdGdyZXMiCnwgI2RlZmluZSBVU0VfT1BFTlNTTCAxCnwgI2RlZmlu ZSBVU0VfTElCWE1MIDEKfCAjZGVmaW5lIFVTRV9MSUJYU0xUIDEKfCAjZGVmaW5lIFNURENfSEVB REVSUyAxCnwgI2RlZmluZSBIQVZFX1NZU19UWVBFU19IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NU QVRfSCAxCnwgI2RlZmluZSBIQVZFX1NURExJQl9IIDEKfCAjZGVmaW5lIEhBVkVfU1RSSU5HX0gg MQp8ICNkZWZpbmUgSEFWRV9NRU1PUllfSCAxCnwgI2RlZmluZSBIQVZFX1NUUklOR1NfSCAxCnwg I2RlZmluZSBIQVZFX0lOVFRZUEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERJTlRfSCAxCnwgI2Rl ZmluZSBIQVZFX1VOSVNURF9IIDEKfCAjZGVmaW5lIEhBVkVfTElCTSAxCnwgI2RlZmluZSBIQVZF X0xJQlogMQp8ICNkZWZpbmUgSEFWRV9TUElOTE9DS1MgMQp8ICNkZWZpbmUgSEFWRV9BVE9NSUNT IDEKfCAjZGVmaW5lIEhBVkVfU1NMX0dFVF9DVVJSRU5UX0NPTVBSRVNTSU9OIDEKfCAjZGVmaW5l IEhBVkVfWDUwOV9HRVRfU0lHTkFUVVJFX05JRCAxCnwgI2RlZmluZSBIQVZFX0NSWVBUT19MT0NL IDEKfCAjZGVmaW5lIEhBVkVfTElCWE1MMiAxCnwgI2RlZmluZSBIQVZFX0xJQlhTTFQgMQp8ICNk ZWZpbmUgSEFWRV9fQk9PTCAxCnwgI2RlZmluZSBIQVZFX1NUREJPT0xfSCAxCnwgI2RlZmluZSBI QVZFX0dFVE9QVF9IIDEKfCAjZGVmaW5lIEhBVkVfSUVFRUZQX0ggMQp8ICNkZWZpbmUgSEFWRV9V VElNRV9IIDEKfCAjZGVmaW5lIEhBVkVfV0NIQVJfSCAxCnwgI2RlZmluZSBIQVZFX1dDVFlQRV9I IDEKfCAjZGVmaW5lIEhBVkVfQ1JUREVGU19IIDEKfCAjZGVmaW5lIFBHX1BSSU5URl9BVFRSSUJV VEUgZ251X3ByaW50Zgp8ICNkZWZpbmUgRkxFWElCTEVfQVJSQVlfTUVNQkVSIC8qKi8KfCAjZGVm aW5lIEhBVkVfRlVOQ05BTUVfX0ZVTkMgMQp8ICNkZWZpbmUgSEFWRV9fU1RBVElDX0FTU0VSVCAx CnwgI2RlZmluZSBIQVZFX1RZUEVPRiAxCnwgI2RlZmluZSBIQVZFX19CVUlMVElOX1RZUEVTX0NP TVBBVElCTEVfUCAxCnwgI2RlZmluZSBIQVZFX19CVUlMVElOX0JTV0FQMTYgMQp8ICNkZWZpbmUg SEFWRV9fQlVJTFRJTl9CU1dBUDMyIDEKfCAjZGVmaW5lIEhBVkVfX0JVSUxUSU5fQlNXQVA2NCAx CnwgI2RlZmluZSBIQVZFX19CVUlMVElOX0NPTlNUQU5UX1AgMQp8ICNkZWZpbmUgSEFWRV9fQlVJ TFRJTl9VTlJFQUNIQUJMRSAxCnwgI2RlZmluZSBIQVZFX0NPTVBVVEVEX0dPVE8gMQp8ICNkZWZp bmUgSEFWRV9fVkFfQVJHUyAxCnwgI2RlZmluZSBIQVZFX1RaTkFNRSAxCnwgI2RlZmluZSBIQVZF X1NUUlVDVF9TT0NLQUREUl9TVE9SQUdFIDEKfCAjZGVmaW5lIEhBVkVfU1RSVUNUX1NPQ0tBRERS X1NUT1JBR0VfU1NfRkFNSUxZIDEKfCAjZGVmaW5lIEhBVkVfU1RSVUNUX0FERFJJTkZPIDEKfCAj ZGVmaW5lIEhBVkVfSU5UUFRSX1QgMQp8ICNkZWZpbmUgSEFWRV9VSU5UUFRSX1QgMQp8ICNkZWZp bmUgSEFWRV9VTlNJR05FRF9MT05HX0xPTkdfSU5UIDEKfCAjZGVmaW5lIEhBVkVfTE9OR19MT05H X0lOVCAxCnwgI2RlZmluZSByZXN0cmljdCBfX3Jlc3RyaWN0CnwgI2RlZmluZSBwZ19yZXN0cmlj dCBfX3Jlc3RyaWN0CnwgI2RlZmluZSBIQVZFX1NUUlVDVF9PUFRJT04gMQp8ICNkZWZpbmUgU0la RU9GX09GRl9UIDQKfCAjZGVmaW5lIFNJWkVPRl9CT09MIDEKfCAjZGVmaW5lIEhBVkVfSU5UX1RJ TUVaT05FIDEKfCAvKiBlbmQgY29uZmRlZnMuaC4gICovCnwgI2luY2x1ZGUgPHN5cy90eXBlcy5o Pgp8ICNpbmNsdWRlIDxzeXMvc29ja2V0Lmg+CnwgZXh0ZXJuIFNPQ0tFVCBXU0FBUEkgYWNjZXB0 IChpbnQsIHN0cnVjdCBzb2NrYWRkciAqLCB2b2lkICopOwpjb25maWd1cmU6MTQ3OTE6IHg4Nl82 NC13NjQtbWluZ3czMi1nY2MgLWMgLVdhbGwgLVdtaXNzaW5nLXByb3RvdHlwZXMgLVdwb2ludGVy LWFyaXRoIC1XZGVjbGFyYXRpb24tYWZ0ZXItc3RhdGVtZW50IC1XZW5kaWYtbGFiZWxzIC1XbWlz c2luZy1mb3JtYXQtYXR0cmlidXRlIC1XZm9ybWF0LXNlY3VyaXR5IC1mbm8tc3RyaWN0LWFsaWFz aW5nIC1md3JhcHYgLWZleGNlc3MtcHJlY2lzaW9uPXN0YW5kYXJkIC1Xbm8tZm9ybWF0LXRydW5j YXRpb24gLVduby1zdHJpbmdvcC10cnVuY2F0aW9uIC1nIC1PIC1mbm8tb21pdC1mcmFtZS1wb2lu dGVyICAtSS93L1ItMy41Ll8vcG9zdGdyZXMvc3JjL2luY2x1ZGUvcG9ydC93aW4zMiAtREVYRUNf QkFDS0VORCAgLUkvdy96bGliLTEuMi44LXdpbjMyLXg4Nl82NC9pbmNsdWRlIC1JL3cvb3BlbnNz bC0xLjAuMmUtd2luMzIteDg2XzY0L2luY2x1ZGUgLUkvdy9saWJ4bWwyLTIuOS4zLXdpbjMyLXg4 Nl82NC9pbmNsdWRlL2xpYnhtbDIgLUkvdy9saWJ4c2x0LTEuMS4yOC13aW4zMi14ODZfNjQvaW5j bHVkZSBjb25mdGVzdC5jID4mNQpjb25mdGVzdC5jOjc5OjIyOiBlcnJvcjogY29uZmxpY3Rpbmcg dHlwZXMgZm9yICdhY2NlcHQnCiBleHRlcm4gU09DS0VUIFdTQUFQSSBhY2NlcHQgKGludCwgY29u c3Qgc3RydWN0IHNvY2thZGRyICosIGludCAqKTsKICAgICAgICAgICAgICAgICAgICAgIF5+fn5+ fgpJbiBmaWxlIGluY2x1ZGVkIGZyb20gVzovUi0zLjUuXy9wb3N0Z3Jlcy9zcmMvaW5jbHVkZS9w b3J0L3dpbjMyL3N5cy9zb2NrZXQuaDoxNCwKICAgICAgICAgICAgICAgICBmcm9tIGNvbmZ0ZXN0 LmM6Nzg6CkM6L21zeXM2NC9taW5ndzY0L3g4Nl82NC13NjQtbWluZ3czMi9pbmNsdWRlL3dpbnNv Y2syLmg6OTczOjM3OiBub3RlOiBwcmV2aW91cyBkZWNsYXJhdGlvbiBvZiAnYWNjZXB0JyB3YXMg aGVyZQogICBXSU5TT0NLX0FQSV9MSU5LQUdFIFNPQ0tFVCBXU0FBUEkgYWNjZXB0KFNPQ0tFVCBz LHN0cnVjdCBzb2NrYWRkciAqYWRkcixpbnQgKmFkZHJsZW4pOwogICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgXn5+fn5+CmNvbmZpZ3VyZToxNDc5MTogJD8gPSAxCmNvbmZpZ3Vy ZTogZmFpbGVkIHByb2dyYW0gd2FzOgp8IC8qIGNvbmZkZWZzLmggKi8KfCAjZGVmaW5lIFBBQ0tB R0VfTkFNRSAiUG9zdGdyZVNRTCIKfCAjZGVmaW5lIFBBQ0tBR0VfVEFSTkFNRSAicG9zdGdyZXNx bCIKfCAjZGVmaW5lIFBBQ0tBR0VfVkVSU0lPTiAiMTFiZXRhMyIKfCAjZGVmaW5lIFBBQ0tBR0Vf U1RSSU5HICJQb3N0Z3JlU1FMIDExYmV0YTMiCnwgI2RlZmluZSBQQUNLQUdFX0JVR1JFUE9SVCAi cGdzcWwtYnVnc0Bwb3N0Z3Jlc3FsLm9yZyIKfCAjZGVmaW5lIFBBQ0tBR0VfVVJMICIiCnwgI2Rl ZmluZSBQR19NQUpPUlZFUlNJT04gIjExIgp8ICNkZWZpbmUgUEdfVkVSU0lPTiAiMTFiZXRhMyIK fCAjZGVmaW5lIERFRl9QR1BPUlQgNTQzMgp8ICNkZWZpbmUgREVGX1BHUE9SVF9TVFIgIjU0MzIi CnwgI2RlZmluZSBCTENLU1ogODE5Mgp8ICNkZWZpbmUgUkVMU0VHX1NJWkUgMTMxMDcyCnwgI2Rl ZmluZSBYTE9HX0JMQ0tTWiA4MTkyCnwgI2RlZmluZSBVU0VfQVNTRVJUX0NIRUNLSU5HIDEKfCAj ZGVmaW5lIEVOQUJMRV9USFJFQURfU0FGRVRZIDEKfCAjZGVmaW5lIFVTRV9JQ1UgMQp8ICNkZWZp bmUgUEdfS1JCX1NSVk5BTSAicG9zdGdyZXMiCnwgI2RlZmluZSBVU0VfT1BFTlNTTCAxCnwgI2Rl ZmluZSBVU0VfTElCWE1MIDEKfCAjZGVmaW5lIFVTRV9MSUJYU0xUIDEKfCAjZGVmaW5lIFNURENf SEVBREVSUyAxCnwgI2RlZmluZSBIQVZFX1NZU19UWVBFU19IIDEKfCAjZGVmaW5lIEhBVkVfU1lT X1NUQVRfSCAxCnwgI2RlZmluZSBIQVZFX1NURExJQl9IIDEKfCAjZGVmaW5lIEhBVkVfU1RSSU5H X0ggMQp8ICNkZWZpbmUgSEFWRV9NRU1PUllfSCAxCnwgI2RlZmluZSBIQVZFX1NUUklOR1NfSCAx CnwgI2RlZmluZSBIQVZFX0lOVFRZUEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERJTlRfSCAxCnwg I2RlZmluZSBIQVZFX1VOSVNURF9IIDEKfCAjZGVmaW5lIEhBVkVfTElCTSAxCnwgI2RlZmluZSBI QVZFX0xJQlogMQp8ICNkZWZpbmUgSEFWRV9TUElOTE9DS1MgMQp8ICNkZWZpbmUgSEFWRV9BVE9N SUNTIDEKfCAjZGVmaW5lIEhBVkVfU1NMX0dFVF9DVVJSRU5UX0NPTVBSRVNTSU9OIDEKfCAjZGVm aW5lIEhBVkVfWDUwOV9HRVRfU0lHTkFUVVJFX05JRCAxCnwgI2RlZmluZSBIQVZFX0NSWVBUT19M T0NLIDEKfCAjZGVmaW5lIEhBVkVfTElCWE1MMiAxCnwgI2RlZmluZSBIQVZFX0xJQlhTTFQgMQp8 ICNkZWZpbmUgSEFWRV9fQk9PTCAxCnwgI2RlZmluZSBIQVZFX1NUREJPT0xfSCAxCnwgI2RlZmlu ZSBIQVZFX0dFVE9QVF9IIDEKfCAjZGVmaW5lIEhBVkVfSUVFRUZQX0ggMQp8ICNkZWZpbmUgSEFW RV9VVElNRV9IIDEKfCAjZGVmaW5lIEhBVkVfV0NIQVJfSCAxCnwgI2RlZmluZSBIQVZFX1dDVFlQ RV9IIDEKfCAjZGVmaW5lIEhBVkVfQ1JUREVGU19IIDEKfCAjZGVmaW5lIFBHX1BSSU5URl9BVFRS SUJVVEUgZ251X3ByaW50Zgp8ICNkZWZpbmUgRkxFWElCTEVfQVJSQVlfTUVNQkVSIC8qKi8KfCAj ZGVmaW5lIEhBVkVfRlVOQ05BTUVfX0ZVTkMgMQp8ICNkZWZpbmUgSEFWRV9fU1RBVElDX0FTU0VS VCAxCnwgI2RlZmluZSBIQVZFX1RZUEVPRiAxCnwgI2RlZmluZSBIQVZFX19CVUlMVElOX1RZUEVT X0NPTVBBVElCTEVfUCAxCnwgI2RlZmluZSBIQVZFX19CVUlMVElOX0JTV0FQMTYgMQp8ICNkZWZp bmUgSEFWRV9fQlVJTFRJTl9CU1dBUDMyIDEKfCAjZGVmaW5lIEhBVkVfX0JVSUxUSU5fQlNXQVA2 NCAxCnwgI2RlZmluZSBIQVZFX19CVUlMVElOX0NPTlNUQU5UX1AgMQp8ICNkZWZpbmUgSEFWRV9f QlVJTFRJTl9VTlJFQUNIQUJMRSAxCnwgI2RlZmluZSBIQVZFX0NPTVBVVEVEX0dPVE8gMQp8ICNk ZWZpbmUgSEFWRV9fVkFfQVJHUyAxCnwgI2RlZmluZSBIQVZFX1RaTkFNRSAxCnwgI2RlZmluZSBI QVZFX1NUUlVDVF9TT0NLQUREUl9TVE9SQUdFIDEKfCAjZGVmaW5lIEhBVkVfU1RSVUNUX1NPQ0tB RERSX1NUT1JBR0VfU1NfRkFNSUxZIDEKfCAjZGVmaW5lIEhBVkVfU1RSVUNUX0FERFJJTkZPIDEK fCAjZGVmaW5lIEhBVkVfSU5UUFRSX1QgMQp8ICNkZWZpbmUgSEFWRV9VSU5UUFRSX1QgMQp8ICNk ZWZpbmUgSEFWRV9VTlNJR05FRF9MT05HX0xPTkdfSU5UIDEKfCAjZGVmaW5lIEhBVkVfTE9OR19M T05HX0lOVCAxCnwgI2RlZmluZSByZXN0cmljdCBfX3Jlc3RyaWN0CnwgI2RlZmluZSBwZ19yZXN0 cmljdCBfX3Jlc3RyaWN0CnwgI2RlZmluZSBIQVZFX1NUUlVDVF9PUFRJT04gMQp8ICNkZWZpbmUg U0laRU9GX09GRl9UIDQKfCAjZGVmaW5lIFNJWkVPRl9CT09MIDEKfCAjZGVmaW5lIEhBVkVfSU5U X1RJTUVaT05FIDEKfCAvKiBlbmQgY29uZmRlZnMuaC4gICovCnwgI2luY2x1ZGUgPHN5cy90eXBl cy5oPgp8ICNpbmNsdWRlIDxzeXMvc29ja2V0Lmg+CnwgZXh0ZXJuIFNPQ0tFVCBXU0FBUEkgYWNj ZXB0IChpbnQsIGNvbnN0IHN0cnVjdCBzb2NrYWRkciAqLCBpbnQgKik7CmNvbmZpZ3VyZToxNDc5 MTogeDg2XzY0LXc2NC1taW5ndzMyLWdjYyAtYyAtV2FsbCAtV21pc3NpbmctcHJvdG90eXBlcyAt V3BvaW50ZXItYXJpdGggLVdkZWNsYXJhdGlvbi1hZnRlci1zdGF0ZW1lbnQgLVdlbmRpZi1sYWJl bHMgLVdtaXNzaW5nLWZvcm1hdC1hdHRyaWJ1dGUgLVdmb3JtYXQtc2VjdXJpdHkgLWZuby1zdHJp Y3QtYWxpYXNpbmcgLWZ3cmFwdiAtZmV4Y2Vzcy1wcmVjaXNpb249c3RhbmRhcmQgLVduby1mb3Jt YXQtdHJ1bmNhdGlvbiAtV25vLXN0cmluZ29wLXRydW5jYXRpb24gLWcgLU8gLWZuby1vbWl0LWZy YW1lLXBvaW50ZXIgIC1JL3cvUi0zLjUuXy9wb3N0Z3Jlcy9zcmMvaW5jbHVkZS9wb3J0L3dpbjMy IC1ERVhFQ19CQUNLRU5EICAtSS93L3psaWItMS4yLjgtd2luMzIteDg2XzY0L2luY2x1ZGUgLUkv dy9vcGVuc3NsLTEuMC4yZS13aW4zMi14ODZfNjQvaW5jbHVkZSAtSS93L2xpYnhtbDItMi45LjMt d2luMzIteDg2XzY0L2luY2x1ZGUvbGlieG1sMiAtSS93L2xpYnhzbHQtMS4xLjI4LXdpbjMyLXg4 Nl82NC9pbmNsdWRlIGNvbmZ0ZXN0LmMgPiY1CmNvbmZ0ZXN0LmM6Nzk6MjI6IGVycm9yOiBjb25m bGljdGluZyB0eXBlcyBmb3IgJ2FjY2VwdCcKIGV4dGVybiBTT0NLRVQgV1NBQVBJIGFjY2VwdCAo aW50LCBjb25zdCBzdHJ1Y3Qgc29ja2FkZHIgKiwgc2l6ZV90ICopOwogICAgICAgICAgICAgICAg ICAgICAgXn5+fn5+CkluIGZpbGUgaW5jbHVkZWQgZnJvbSBXOi9SLTMuNS5fL3Bvc3RncmVzL3Ny Yy9pbmNsdWRlL3BvcnQvd2luMzIvc3lzL3NvY2tldC5oOjE0LAogICAgICAgICAgICAgICAgIGZy b20gY29uZnRlc3QuYzo3ODoKQzovbXN5czY0L21pbmd3NjQveDg2XzY0LXc2NC1taW5ndzMyL2lu Y2x1ZGUvd2luc29jazIuaDo5NzM6Mzc6IG5vdGU6IHByZXZpb3VzIGRlY2xhcmF0aW9uIG9mICdh Y2NlcHQnIHdhcyBoZXJlCiAgIFdJTlNPQ0tfQVBJX0xJTktBR0UgU09DS0VUIFdTQUFQSSBhY2Nl cHQoU09DS0VUIHMsc3RydWN0IHNvY2thZGRyICphZGRyLGludCAqYWRkcmxlbik7CiAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBefn5+fn4KY29uZmlndXJlOjE0NzkxOiAkPyA9 IDEKY29uZmlndXJlOiBmYWlsZWQgcHJvZ3JhbSB3YXM6CnwgLyogY29uZmRlZnMuaCAqLwp8ICNk ZWZpbmUgUEFDS0FHRV9OQU1FICJQb3N0Z3JlU1FMIgp8ICNkZWZpbmUgUEFDS0FHRV9UQVJOQU1F ICJwb3N0Z3Jlc3FsIgp8ICNkZWZpbmUgUEFDS0FHRV9WRVJTSU9OICIxMWJldGEzIgp8ICNkZWZp bmUgUEFDS0FHRV9TVFJJTkcgIlBvc3RncmVTUUwgMTFiZXRhMyIKfCAjZGVmaW5lIFBBQ0tBR0Vf QlVHUkVQT1JUICJwZ3NxbC1idWdzQHBvc3RncmVzcWwub3JnIgp8ICNkZWZpbmUgUEFDS0FHRV9V UkwgIiIKfCAjZGVmaW5lIFBHX01BSk9SVkVSU0lPTiAiMTEiCnwgI2RlZmluZSBQR19WRVJTSU9O ICIxMWJldGEzIgp8ICNkZWZpbmUgREVGX1BHUE9SVCA1NDMyCnwgI2RlZmluZSBERUZfUEdQT1JU X1NUUiAiNTQzMiIKfCAjZGVmaW5lIEJMQ0tTWiA4MTkyCnwgI2RlZmluZSBSRUxTRUdfU0laRSAx MzEwNzIKfCAjZGVmaW5lIFhMT0dfQkxDS1NaIDgxOTIKfCAjZGVmaW5lIFVTRV9BU1NFUlRfQ0hF Q0tJTkcgMQp8ICNkZWZpbmUgRU5BQkxFX1RIUkVBRF9TQUZFVFkgMQp8ICNkZWZpbmUgVVNFX0lD VSAxCnwgI2RlZmluZSBQR19LUkJfU1JWTkFNICJwb3N0Z3JlcyIKfCAjZGVmaW5lIFVTRV9PUEVO U1NMIDEKfCAjZGVmaW5lIFVTRV9MSUJYTUwgMQp8ICNkZWZpbmUgVVNFX0xJQlhTTFQgMQp8ICNk ZWZpbmUgU1REQ19IRUFERVJTIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1RZUEVTX0ggMQp8ICNkZWZp bmUgSEFWRV9TWVNfU1RBVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1RETElCX0ggMQp8ICNkZWZpbmUg SEFWRV9TVFJJTkdfSCAxCnwgI2RlZmluZSBIQVZFX01FTU9SWV9IIDEKfCAjZGVmaW5lIEhBVkVf U1RSSU5HU19IIDEKfCAjZGVmaW5lIEhBVkVfSU5UVFlQRVNfSCAxCnwgI2RlZmluZSBIQVZFX1NU RElOVF9IIDEKfCAjZGVmaW5lIEhBVkVfVU5JU1REX0ggMQp8ICNkZWZpbmUgSEFWRV9MSUJNIDEK fCAjZGVmaW5lIEhBVkVfTElCWiAxCnwgI2RlZmluZSBIQVZFX1NQSU5MT0NLUyAxCnwgI2RlZmlu ZSBIQVZFX0FUT01JQ1MgMQp8ICNkZWZpbmUgSEFWRV9TU0xfR0VUX0NVUlJFTlRfQ09NUFJFU1NJ T04gMQp8ICNkZWZpbmUgSEFWRV9YNTA5X0dFVF9TSUdOQVRVUkVfTklEIDEKfCAjZGVmaW5lIEhB VkVfQ1JZUFRPX0xPQ0sgMQp8ICNkZWZpbmUgSEFWRV9MSUJYTUwyIDEKfCAjZGVmaW5lIEhBVkVf TElCWFNMVCAxCnwgI2RlZmluZSBIQVZFX19CT09MIDEKfCAjZGVmaW5lIEhBVkVfU1REQk9PTF9I IDEKfCAjZGVmaW5lIEhBVkVfR0VUT1BUX0ggMQp8ICNkZWZpbmUgSEFWRV9JRUVFRlBfSCAxCnwg I2RlZmluZSBIQVZFX1VUSU1FX0ggMQp8ICNkZWZpbmUgSEFWRV9XQ0hBUl9IIDEKfCAjZGVmaW5l IEhBVkVfV0NUWVBFX0ggMQp8ICNkZWZpbmUgSEFWRV9DUlRERUZTX0ggMQp8ICNkZWZpbmUgUEdf UFJJTlRGX0FUVFJJQlVURSBnbnVfcHJpbnRmCnwgI2RlZmluZSBGTEVYSUJMRV9BUlJBWV9NRU1C RVIgLyoqLwp8ICNkZWZpbmUgSEFWRV9GVU5DTkFNRV9fRlVOQyAxCnwgI2RlZmluZSBIQVZFX19T VEFUSUNfQVNTRVJUIDEKfCAjZGVmaW5lIEhBVkVfVFlQRU9GIDEKfCAjZGVmaW5lIEhBVkVfX0JV SUxUSU5fVFlQRVNfQ09NUEFUSUJMRV9QIDEKfCAjZGVmaW5lIEhBVkVfX0JVSUxUSU5fQlNXQVAx NiAxCnwgI2RlZmluZSBIQVZFX19CVUlMVElOX0JTV0FQMzIgMQp8ICNkZWZpbmUgSEFWRV9fQlVJ TFRJTl9CU1dBUDY0IDEKfCAjZGVmaW5lIEhBVkVfX0JVSUxUSU5fQ09OU1RBTlRfUCAxCnwgI2Rl ZmluZSBIQVZFX19CVUlMVElOX1VOUkVBQ0hBQkxFIDEKfCAjZGVmaW5lIEhBVkVfQ09NUFVURURf R09UTyAxCnwgI2RlZmluZSBIQVZFX19WQV9BUkdTIDEKfCAjZGVmaW5lIEhBVkVfVFpOQU1FIDEK fCAjZGVmaW5lIEhBVkVfU1RSVUNUX1NPQ0tBRERSX1NUT1JBR0UgMQp8ICNkZWZpbmUgSEFWRV9T VFJVQ1RfU09DS0FERFJfU1RPUkFHRV9TU19GQU1JTFkgMQp8ICNkZWZpbmUgSEFWRV9TVFJVQ1Rf QUREUklORk8gMQp8ICNkZWZpbmUgSEFWRV9JTlRQVFJfVCAxCnwgI2RlZmluZSBIQVZFX1VJTlRQ VFJfVCAxCnwgI2RlZmluZSBIQVZFX1VOU0lHTkVEX0xPTkdfTE9OR19JTlQgMQp8ICNkZWZpbmUg SEFWRV9MT05HX0xPTkdfSU5UIDEKfCAjZGVmaW5lIHJlc3RyaWN0IF9fcmVzdHJpY3QKfCAjZGVm aW5lIHBnX3Jlc3RyaWN0IF9fcmVzdHJpY3QKfCAjZGVmaW5lIEhBVkVfU1RSVUNUX09QVElPTiAx CnwgI2RlZmluZSBTSVpFT0ZfT0ZGX1QgNAp8ICNkZWZpbmUgU0laRU9GX0JPT0wgMQp8ICNkZWZp bmUgSEFWRV9JTlRfVElNRVpPTkUgMQp8IC8qIGVuZCBjb25mZGVmcy5oLiAgKi8KfCAjaW5jbHVk ZSA8c3lzL3R5cGVzLmg+CnwgI2luY2x1ZGUgPHN5cy9zb2NrZXQuaD4KfCBleHRlcm4gU09DS0VU IFdTQUFQSSBhY2NlcHQgKGludCwgY29uc3Qgc3RydWN0IHNvY2thZGRyICosIHNpemVfdCAqKTsK Y29uZmlndXJlOjE0NzkxOiB4ODZfNjQtdzY0LW1pbmd3MzItZ2NjIC1jIC1XYWxsIC1XbWlzc2lu Zy1wcm90b3R5cGVzIC1XcG9pbnRlci1hcml0aCAtV2RlY2xhcmF0aW9uLWFmdGVyLXN0YXRlbWVu dCAtV2VuZGlmLWxhYmVscyAtV21pc3NpbmctZm9ybWF0LWF0dHJpYnV0ZSAtV2Zvcm1hdC1zZWN1 cml0eSAtZm5vLXN0cmljdC1hbGlhc2luZyAtZndyYXB2IC1mZXhjZXNzLXByZWNpc2lvbj1zdGFu ZGFyZCAtV25vLWZvcm1hdC10cnVuY2F0aW9uIC1Xbm8tc3RyaW5nb3AtdHJ1bmNhdGlvbiAtZyAt TyAtZm5vLW9taXQtZnJhbWUtcG9pbnRlciAgLUkvdy9SLTMuNS5fL3Bvc3RncmVzL3NyYy9pbmNs dWRlL3BvcnQvd2luMzIgLURFWEVDX0JBQ0tFTkQgIC1JL3cvemxpYi0xLjIuOC13aW4zMi14ODZf NjQvaW5jbHVkZSAtSS93L29wZW5zc2wtMS4wLjJlLXdpbjMyLXg4Nl82NC9pbmNsdWRlIC1JL3cv bGlieG1sMi0yLjkuMy13aW4zMi14ODZfNjQvaW5jbHVkZS9saWJ4bWwyIC1JL3cvbGlieHNsdC0x LjEuMjgtd2luMzIteDg2XzY0L2luY2x1ZGUgY29uZnRlc3QuYyA+JjUKY29uZnRlc3QuYzo3OToy MjogZXJyb3I6IGNvbmZsaWN0aW5nIHR5cGVzIGZvciAnYWNjZXB0JwogZXh0ZXJuIFNPQ0tFVCBX U0FBUEkgYWNjZXB0IChpbnQsIGNvbnN0IHN0cnVjdCBzb2NrYWRkciAqLCBzb2NrbGVuX3QgKik7 CiAgICAgICAgICAgICAgICAgICAgICBefn5+fn4KSW4gZmlsZSBpbmNsdWRlZCBmcm9tIFc6L1It My41Ll8vcG9zdGdyZXMvc3JjL2luY2x1ZGUvcG9ydC93aW4zMi9zeXMvc29ja2V0Lmg6MTQsCiAg ICAgICAgICAgICAgICAgZnJvbSBjb25mdGVzdC5jOjc4OgpDOi9tc3lzNjQvbWluZ3c2NC94ODZf NjQtdzY0LW1pbmd3MzIvaW5jbHVkZS93aW5zb2NrMi5oOjk3MzozNzogbm90ZTogcHJldmlvdXMg ZGVjbGFyYXRpb24gb2YgJ2FjY2VwdCcgd2FzIGhlcmUKICAgV0lOU09DS19BUElfTElOS0FHRSBT T0NLRVQgV1NBQVBJIGFjY2VwdChTT0NLRVQgcyxzdHJ1Y3Qgc29ja2FkZHIgKmFkZHIsaW50ICph ZGRybGVuKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF5+fn5+fgpjb25m aWd1cmU6MTQ3OTE6ICQ/ID0gMQpjb25maWd1cmU6IGZhaWxlZCBwcm9ncmFtIHdhczoKfCAvKiBj b25mZGVmcy5oICovCnwgI2RlZmluZSBQQUNLQUdFX05BTUUgIlBvc3RncmVTUUwiCnwgI2RlZmlu ZSBQQUNLQUdFX1RBUk5BTUUgInBvc3RncmVzcWwiCnwgI2RlZmluZSBQQUNLQUdFX1ZFUlNJT04g IjExYmV0YTMiCnwgI2RlZmluZSBQQUNLQUdFX1NUUklORyAiUG9zdGdyZVNRTCAxMWJldGEzIgp8 ICNkZWZpbmUgUEFDS0FHRV9CVUdSRVBPUlQgInBnc3FsLWJ1Z3NAcG9zdGdyZXNxbC5vcmciCnwg I2RlZmluZSBQQUNLQUdFX1VSTCAiIgp8ICNkZWZpbmUgUEdfTUFKT1JWRVJTSU9OICIxMSIKfCAj ZGVmaW5lIFBHX1ZFUlNJT04gIjExYmV0YTMiCnwgI2RlZmluZSBERUZfUEdQT1JUIDU0MzIKfCAj ZGVmaW5lIERFRl9QR1BPUlRfU1RSICI1NDMyIgp8ICNkZWZpbmUgQkxDS1NaIDgxOTIKfCAjZGVm aW5lIFJFTFNFR19TSVpFIDEzMTA3Mgp8ICNkZWZpbmUgWExPR19CTENLU1ogODE5Mgp8ICNkZWZp bmUgVVNFX0FTU0VSVF9DSEVDS0lORyAxCnwgI2RlZmluZSBFTkFCTEVfVEhSRUFEX1NBRkVUWSAx CnwgI2RlZmluZSBVU0VfSUNVIDEKfCAjZGVmaW5lIFBHX0tSQl9TUlZOQU0gInBvc3RncmVzIgp8 ICNkZWZpbmUgVVNFX09QRU5TU0wgMQp8ICNkZWZpbmUgVVNFX0xJQlhNTCAxCnwgI2RlZmluZSBV U0VfTElCWFNMVCAxCnwgI2RlZmluZSBTVERDX0hFQURFUlMgMQp8ICNkZWZpbmUgSEFWRV9TWVNf VFlQRVNfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19TVEFUX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERM SUJfSCAxCnwgI2RlZmluZSBIQVZFX1NUUklOR19IIDEKfCAjZGVmaW5lIEhBVkVfTUVNT1JZX0gg MQp8ICNkZWZpbmUgSEFWRV9TVFJJTkdTX0ggMQp8ICNkZWZpbmUgSEFWRV9JTlRUWVBFU19IIDEK fCAjZGVmaW5lIEhBVkVfU1RESU5UX0ggMQp8ICNkZWZpbmUgSEFWRV9VTklTVERfSCAxCnwgI2Rl ZmluZSBIQVZFX0xJQk0gMQp8ICNkZWZpbmUgSEFWRV9MSUJaIDEKfCAjZGVmaW5lIEhBVkVfU1BJ TkxPQ0tTIDEKfCAjZGVmaW5lIEhBVkVfQVRPTUlDUyAxCnwgI2RlZmluZSBIQVZFX1NTTF9HRVRf Q1VSUkVOVF9DT01QUkVTU0lPTiAxCnwgI2RlZmluZSBIQVZFX1g1MDlfR0VUX1NJR05BVFVSRV9O SUQgMQp8ICNkZWZpbmUgSEFWRV9DUllQVE9fTE9DSyAxCnwgI2RlZmluZSBIQVZFX0xJQlhNTDIg MQp8ICNkZWZpbmUgSEFWRV9MSUJYU0xUIDEKfCAjZGVmaW5lIEhBVkVfX0JPT0wgMQp8ICNkZWZp bmUgSEFWRV9TVERCT09MX0ggMQp8ICNkZWZpbmUgSEFWRV9HRVRPUFRfSCAxCnwgI2RlZmluZSBI QVZFX0lFRUVGUF9IIDEKfCAjZGVmaW5lIEhBVkVfVVRJTUVfSCAxCnwgI2RlZmluZSBIQVZFX1dD SEFSX0ggMQp8ICNkZWZpbmUgSEFWRV9XQ1RZUEVfSCAxCnwgI2RlZmluZSBIQVZFX0NSVERFRlNf SCAxCnwgI2RlZmluZSBQR19QUklOVEZfQVRUUklCVVRFIGdudV9wcmludGYKfCAjZGVmaW5lIEZM RVhJQkxFX0FSUkFZX01FTUJFUiAvKiovCnwgI2RlZmluZSBIQVZFX0ZVTkNOQU1FX19GVU5DIDEK fCAjZGVmaW5lIEhBVkVfX1NUQVRJQ19BU1NFUlQgMQp8ICNkZWZpbmUgSEFWRV9UWVBFT0YgMQp8 ICNkZWZpbmUgSEFWRV9fQlVJTFRJTl9UWVBFU19DT01QQVRJQkxFX1AgMQp8ICNkZWZpbmUgSEFW RV9fQlVJTFRJTl9CU1dBUDE2IDEKfCAjZGVmaW5lIEhBVkVfX0JVSUxUSU5fQlNXQVAzMiAxCnwg I2RlZmluZSBIQVZFX19CVUlMVElOX0JTV0FQNjQgMQp8ICNkZWZpbmUgSEFWRV9fQlVJTFRJTl9D T05TVEFOVF9QIDEKfCAjZGVmaW5lIEhBVkVfX0JVSUxUSU5fVU5SRUFDSEFCTEUgMQp8ICNkZWZp bmUgSEFWRV9DT01QVVRFRF9HT1RPIDEKfCAjZGVmaW5lIEhBVkVfX1ZBX0FSR1MgMQp8ICNkZWZp bmUgSEFWRV9UWk5BTUUgMQp8ICNkZWZpbmUgSEFWRV9TVFJVQ1RfU09DS0FERFJfU1RPUkFHRSAx CnwgI2RlZmluZSBIQVZFX1NUUlVDVF9TT0NLQUREUl9TVE9SQUdFX1NTX0ZBTUlMWSAxCnwgI2Rl ZmluZSBIQVZFX1NUUlVDVF9BRERSSU5GTyAxCnwgI2RlZmluZSBIQVZFX0lOVFBUUl9UIDEKfCAj ZGVmaW5lIEhBVkVfVUlOVFBUUl9UIDEKfCAjZGVmaW5lIEhBVkVfVU5TSUdORURfTE9OR19MT05H X0lOVCAxCnwgI2RlZmluZSBIQVZFX0xPTkdfTE9OR19JTlQgMQp8ICNkZWZpbmUgcmVzdHJpY3Qg X19yZXN0cmljdAp8ICNkZWZpbmUgcGdfcmVzdHJpY3QgX19yZXN0cmljdAp8ICNkZWZpbmUgSEFW RV9TVFJVQ1RfT1BUSU9OIDEKfCAjZGVmaW5lIFNJWkVPRl9PRkZfVCA0CnwgI2RlZmluZSBTSVpF T0ZfQk9PTCAxCnwgI2RlZmluZSBIQVZFX0lOVF9USU1FWk9ORSAxCnwgLyogZW5kIGNvbmZkZWZz LmguICAqLwp8ICNpbmNsdWRlIDxzeXMvdHlwZXMuaD4KfCAjaW5jbHVkZSA8c3lzL3NvY2tldC5o Pgp8IGV4dGVybiBTT0NLRVQgV1NBQVBJIGFjY2VwdCAoaW50LCBjb25zdCBzdHJ1Y3Qgc29ja2Fk ZHIgKiwgc29ja2xlbl90ICopOwpjb25maWd1cmU6MTQ3OTE6IHg4Nl82NC13NjQtbWluZ3czMi1n Y2MgLWMgLVdhbGwgLVdtaXNzaW5nLXByb3RvdHlwZXMgLVdwb2ludGVyLWFyaXRoIC1XZGVjbGFy YXRpb24tYWZ0ZXItc3RhdGVtZW50IC1XZW5kaWYtbGFiZWxzIC1XbWlzc2luZy1mb3JtYXQtYXR0 cmlidXRlIC1XZm9ybWF0LXNlY3VyaXR5IC1mbm8tc3RyaWN0LWFsaWFzaW5nIC1md3JhcHYgLWZl eGNlc3MtcHJlY2lzaW9uPXN0YW5kYXJkIC1Xbm8tZm9ybWF0LXRydW5jYXRpb24gLVduby1zdHJp bmdvcC10cnVuY2F0aW9uIC1nIC1PIC1mbm8tb21pdC1mcmFtZS1wb2ludGVyICAtSS93L1ItMy41 Ll8vcG9zdGdyZXMvc3JjL2luY2x1ZGUvcG9ydC93aW4zMiAtREVYRUNfQkFDS0VORCAgLUkvdy96 bGliLTEuMi44LXdpbjMyLXg4Nl82NC9pbmNsdWRlIC1JL3cvb3BlbnNzbC0xLjAuMmUtd2luMzIt eDg2XzY0L2luY2x1ZGUgLUkvdy9saWJ4bWwyLTIuOS4zLXdpbjMyLXg4Nl82NC9pbmNsdWRlL2xp YnhtbDIgLUkvdy9saWJ4c2x0LTEuMS4yOC13aW4zMi14ODZfNjQvaW5jbHVkZSBjb25mdGVzdC5j ID4mNQpjb25mdGVzdC5jOjc5OjIyOiBlcnJvcjogY29uZmxpY3RpbmcgdHlwZXMgZm9yICdhY2Nl cHQnCiBleHRlcm4gU09DS0VUIFdTQUFQSSBhY2NlcHQgKGludCwgY29uc3Qgc3RydWN0IHNvY2th ZGRyICosIHVuc2lnbmVkIGludCAqKTsKICAgICAgICAgICAgICAgICAgICAgIF5+fn5+fgpJbiBm aWxlIGluY2x1ZGVkIGZyb20gVzovUi0zLjUuXy9wb3N0Z3Jlcy9zcmMvaW5jbHVkZS9wb3J0L3dp bjMyL3N5cy9zb2NrZXQuaDoxNCwKICAgICAgICAgICAgICAgICBmcm9tIGNvbmZ0ZXN0LmM6Nzg6 CkM6L21zeXM2NC9taW5ndzY0L3g4Nl82NC13NjQtbWluZ3czMi9pbmNsdWRlL3dpbnNvY2syLmg6 OTczOjM3OiBub3RlOiBwcmV2aW91cyBkZWNsYXJhdGlvbiBvZiAnYWNjZXB0JyB3YXMgaGVyZQog ICBXSU5TT0NLX0FQSV9MSU5LQUdFIFNPQ0tFVCBXU0FBUEkgYWNjZXB0KFNPQ0tFVCBzLHN0cnVj dCBzb2NrYWRkciAqYWRkcixpbnQgKmFkZHJsZW4pOwogICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgXn5+fn5+CmNvbmZpZ3VyZToxNDc5MTogJD8gPSAxCmNvbmZpZ3VyZTogZmFp bGVkIHByb2dyYW0gd2FzOgp8IC8qIGNvbmZkZWZzLmggKi8KfCAjZGVmaW5lIFBBQ0tBR0VfTkFN RSAiUG9zdGdyZVNRTCIKfCAjZGVmaW5lIFBBQ0tBR0VfVEFSTkFNRSAicG9zdGdyZXNxbCIKfCAj ZGVmaW5lIFBBQ0tBR0VfVkVSU0lPTiAiMTFiZXRhMyIKfCAjZGVmaW5lIFBBQ0tBR0VfU1RSSU5H ICJQb3N0Z3JlU1FMIDExYmV0YTMiCnwgI2RlZmluZSBQQUNLQUdFX0JVR1JFUE9SVCAicGdzcWwt YnVnc0Bwb3N0Z3Jlc3FsLm9yZyIKfCAjZGVmaW5lIFBBQ0tBR0VfVVJMICIiCnwgI2RlZmluZSBQ R19NQUpPUlZFUlNJT04gIjExIgp8ICNkZWZpbmUgUEdfVkVSU0lPTiAiMTFiZXRhMyIKfCAjZGVm aW5lIERFRl9QR1BPUlQgNTQzMgp8ICNkZWZpbmUgREVGX1BHUE9SVF9TVFIgIjU0MzIiCnwgI2Rl ZmluZSBCTENLU1ogODE5Mgp8ICNkZWZpbmUgUkVMU0VHX1NJWkUgMTMxMDcyCnwgI2RlZmluZSBY TE9HX0JMQ0tTWiA4MTkyCnwgI2RlZmluZSBVU0VfQVNTRVJUX0NIRUNLSU5HIDEKfCAjZGVmaW5l IEVOQUJMRV9USFJFQURfU0FGRVRZIDEKfCAjZGVmaW5lIFVTRV9JQ1UgMQp8ICNkZWZpbmUgUEdf S1JCX1NSVk5BTSAicG9zdGdyZXMiCnwgI2RlZmluZSBVU0VfT1BFTlNTTCAxCnwgI2RlZmluZSBV U0VfTElCWE1MIDEKfCAjZGVmaW5lIFVTRV9MSUJYU0xUIDEKfCAjZGVmaW5lIFNURENfSEVBREVS UyAxCnwgI2RlZmluZSBIQVZFX1NZU19UWVBFU19IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NUQVRf SCAxCnwgI2RlZmluZSBIQVZFX1NURExJQl9IIDEKfCAjZGVmaW5lIEhBVkVfU1RSSU5HX0ggMQp8 ICNkZWZpbmUgSEFWRV9NRU1PUllfSCAxCnwgI2RlZmluZSBIQVZFX1NUUklOR1NfSCAxCnwgI2Rl ZmluZSBIQVZFX0lOVFRZUEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERJTlRfSCAxCnwgI2RlZmlu ZSBIQVZFX1VOSVNURF9IIDEKfCAjZGVmaW5lIEhBVkVfTElCTSAxCnwgI2RlZmluZSBIQVZFX0xJ QlogMQp8ICNkZWZpbmUgSEFWRV9TUElOTE9DS1MgMQp8ICNkZWZpbmUgSEFWRV9BVE9NSUNTIDEK fCAjZGVmaW5lIEhBVkVfU1NMX0dFVF9DVVJSRU5UX0NPTVBSRVNTSU9OIDEKfCAjZGVmaW5lIEhB VkVfWDUwOV9HRVRfU0lHTkFUVVJFX05JRCAxCnwgI2RlZmluZSBIQVZFX0NSWVBUT19MT0NLIDEK fCAjZGVmaW5lIEhBVkVfTElCWE1MMiAxCnwgI2RlZmluZSBIQVZFX0xJQlhTTFQgMQp8ICNkZWZp bmUgSEFWRV9fQk9PTCAxCnwgI2RlZmluZSBIQVZFX1NUREJPT0xfSCAxCnwgI2RlZmluZSBIQVZF X0dFVE9QVF9IIDEKfCAjZGVmaW5lIEhBVkVfSUVFRUZQX0ggMQp8ICNkZWZpbmUgSEFWRV9VVElN RV9IIDEKfCAjZGVmaW5lIEhBVkVfV0NIQVJfSCAxCnwgI2RlZmluZSBIQVZFX1dDVFlQRV9IIDEK fCAjZGVmaW5lIEhBVkVfQ1JUREVGU19IIDEKfCAjZGVmaW5lIFBHX1BSSU5URl9BVFRSSUJVVEUg Z251X3ByaW50Zgp8ICNkZWZpbmUgRkxFWElCTEVfQVJSQVlfTUVNQkVSIC8qKi8KfCAjZGVmaW5l IEhBVkVfRlVOQ05BTUVfX0ZVTkMgMQp8ICNkZWZpbmUgSEFWRV9fU1RBVElDX0FTU0VSVCAxCnwg I2RlZmluZSBIQVZFX1RZUEVPRiAxCnwgI2RlZmluZSBIQVZFX19CVUlMVElOX1RZUEVTX0NPTVBB VElCTEVfUCAxCnwgI2RlZmluZSBIQVZFX19CVUlMVElOX0JTV0FQMTYgMQp8ICNkZWZpbmUgSEFW RV9fQlVJTFRJTl9CU1dBUDMyIDEKfCAjZGVmaW5lIEhBVkVfX0JVSUxUSU5fQlNXQVA2NCAxCnwg I2RlZmluZSBIQVZFX19CVUlMVElOX0NPTlNUQU5UX1AgMQp8ICNkZWZpbmUgSEFWRV9fQlVJTFRJ Tl9VTlJFQUNIQUJMRSAxCnwgI2RlZmluZSBIQVZFX0NPTVBVVEVEX0dPVE8gMQp8ICNkZWZpbmUg SEFWRV9fVkFfQVJHUyAxCnwgI2RlZmluZSBIQVZFX1RaTkFNRSAxCnwgI2RlZmluZSBIQVZFX1NU UlVDVF9TT0NLQUREUl9TVE9SQUdFIDEKfCAjZGVmaW5lIEhBVkVfU1RSVUNUX1NPQ0tBRERSX1NU T1JBR0VfU1NfRkFNSUxZIDEKfCAjZGVmaW5lIEhBVkVfU1RSVUNUX0FERFJJTkZPIDEKfCAjZGVm aW5lIEhBVkVfSU5UUFRSX1QgMQp8ICNkZWZpbmUgSEFWRV9VSU5UUFRSX1QgMQp8ICNkZWZpbmUg SEFWRV9VTlNJR05FRF9MT05HX0xPTkdfSU5UIDEKfCAjZGVmaW5lIEhBVkVfTE9OR19MT05HX0lO VCAxCnwgI2RlZmluZSByZXN0cmljdCBfX3Jlc3RyaWN0CnwgI2RlZmluZSBwZ19yZXN0cmljdCBf X3Jlc3RyaWN0CnwgI2RlZmluZSBIQVZFX1NUUlVDVF9PUFRJT04gMQp8ICNkZWZpbmUgU0laRU9G X09GRl9UIDQKfCAjZGVmaW5lIFNJWkVPRl9CT09MIDEKfCAjZGVmaW5lIEhBVkVfSU5UX1RJTUVa T05FIDEKfCAvKiBlbmQgY29uZmRlZnMuaC4gICovCnwgI2luY2x1ZGUgPHN5cy90eXBlcy5oPgp8 ICNpbmNsdWRlIDxzeXMvc29ja2V0Lmg+CnwgZXh0ZXJuIFNPQ0tFVCBXU0FBUEkgYWNjZXB0IChp bnQsIGNvbnN0IHN0cnVjdCBzb2NrYWRkciAqLCB1bnNpZ25lZCBpbnQgKik7CmNvbmZpZ3VyZTox NDc5MTogeDg2XzY0LXc2NC1taW5ndzMyLWdjYyAtYyAtV2FsbCAtV21pc3NpbmctcHJvdG90eXBl cyAtV3BvaW50ZXItYXJpdGggLVdkZWNsYXJhdGlvbi1hZnRlci1zdGF0ZW1lbnQgLVdlbmRpZi1s YWJlbHMgLVdtaXNzaW5nLWZvcm1hdC1hdHRyaWJ1dGUgLVdmb3JtYXQtc2VjdXJpdHkgLWZuby1z dHJpY3QtYWxpYXNpbmcgLWZ3cmFwdiAtZmV4Y2Vzcy1wcmVjaXNpb249c3RhbmRhcmQgLVduby1m b3JtYXQtdHJ1bmNhdGlvbiAtV25vLXN0cmluZ29wLXRydW5jYXRpb24gLWcgLU8gLWZuby1vbWl0 LWZyYW1lLXBvaW50ZXIgIC1JL3cvUi0zLjUuXy9wb3N0Z3Jlcy9zcmMvaW5jbHVkZS9wb3J0L3dp bjMyIC1ERVhFQ19CQUNLRU5EICAtSS93L3psaWItMS4yLjgtd2luMzIteDg2XzY0L2luY2x1ZGUg LUkvdy9vcGVuc3NsLTEuMC4yZS13aW4zMi14ODZfNjQvaW5jbHVkZSAtSS93L2xpYnhtbDItMi45 LjMtd2luMzIteDg2XzY0L2luY2x1ZGUvbGlieG1sMiAtSS93L2xpYnhzbHQtMS4xLjI4LXdpbjMy LXg4Nl82NC9pbmNsdWRlIGNvbmZ0ZXN0LmMgPiY1CmNvbmZ0ZXN0LmM6Nzk6MjI6IGVycm9yOiBj b25mbGljdGluZyB0eXBlcyBmb3IgJ2FjY2VwdCcKIGV4dGVybiBTT0NLRVQgV1NBQVBJIGFjY2Vw dCAoaW50LCBjb25zdCBzdHJ1Y3Qgc29ja2FkZHIgKiwgdm9pZCAqKTsKICAgICAgICAgICAgICAg ICAgICAgIF5+fn5+fgpJbiBmaWxlIGluY2x1ZGVkIGZyb20gVzovUi0zLjUuXy9wb3N0Z3Jlcy9z cmMvaW5jbHVkZS9wb3J0L3dpbjMyL3N5cy9zb2NrZXQuaDoxNCwKICAgICAgICAgICAgICAgICBm cm9tIGNvbmZ0ZXN0LmM6Nzg6CkM6L21zeXM2NC9taW5ndzY0L3g4Nl82NC13NjQtbWluZ3czMi9p bmNsdWRlL3dpbnNvY2syLmg6OTczOjM3OiBub3RlOiBwcmV2aW91cyBkZWNsYXJhdGlvbiBvZiAn YWNjZXB0JyB3YXMgaGVyZQogICBXSU5TT0NLX0FQSV9MSU5LQUdFIFNPQ0tFVCBXU0FBUEkgYWNj ZXB0KFNPQ0tFVCBzLHN0cnVjdCBzb2NrYWRkciAqYWRkcixpbnQgKmFkZHJsZW4pOwogICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXn5+fn5+CmNvbmZpZ3VyZToxNDc5MTogJD8g PSAxCmNvbmZpZ3VyZTogZmFpbGVkIHByb2dyYW0gd2FzOgp8IC8qIGNvbmZkZWZzLmggKi8KfCAj ZGVmaW5lIFBBQ0tBR0VfTkFNRSAiUG9zdGdyZVNRTCIKfCAjZGVmaW5lIFBBQ0tBR0VfVEFSTkFN RSAicG9zdGdyZXNxbCIKfCAjZGVmaW5lIFBBQ0tBR0VfVkVSU0lPTiAiMTFiZXRhMyIKfCAjZGVm aW5lIFBBQ0tBR0VfU1RSSU5HICJQb3N0Z3JlU1FMIDExYmV0YTMiCnwgI2RlZmluZSBQQUNLQUdF X0JVR1JFUE9SVCAicGdzcWwtYnVnc0Bwb3N0Z3Jlc3FsLm9yZyIKfCAjZGVmaW5lIFBBQ0tBR0Vf VVJMICIiCnwgI2RlZmluZSBQR19NQUpPUlZFUlNJT04gIjExIgp8ICNkZWZpbmUgUEdfVkVSU0lP TiAiMTFiZXRhMyIKfCAjZGVmaW5lIERFRl9QR1BPUlQgNTQzMgp8ICNkZWZpbmUgREVGX1BHUE9S VF9TVFIgIjU0MzIiCnwgI2RlZmluZSBCTENLU1ogODE5Mgp8ICNkZWZpbmUgUkVMU0VHX1NJWkUg MTMxMDcyCnwgI2RlZmluZSBYTE9HX0JMQ0tTWiA4MTkyCnwgI2RlZmluZSBVU0VfQVNTRVJUX0NI RUNLSU5HIDEKfCAjZGVmaW5lIEVOQUJMRV9USFJFQURfU0FGRVRZIDEKfCAjZGVmaW5lIFVTRV9J Q1UgMQp8ICNkZWZpbmUgUEdfS1JCX1NSVk5BTSAicG9zdGdyZXMiCnwgI2RlZmluZSBVU0VfT1BF TlNTTCAxCnwgI2RlZmluZSBVU0VfTElCWE1MIDEKfCAjZGVmaW5lIFVTRV9MSUJYU0xUIDEKfCAj ZGVmaW5lIFNURENfSEVBREVSUyAxCnwgI2RlZmluZSBIQVZFX1NZU19UWVBFU19IIDEKfCAjZGVm aW5lIEhBVkVfU1lTX1NUQVRfSCAxCnwgI2RlZmluZSBIQVZFX1NURExJQl9IIDEKfCAjZGVmaW5l IEhBVkVfU1RSSU5HX0ggMQp8ICNkZWZpbmUgSEFWRV9NRU1PUllfSCAxCnwgI2RlZmluZSBIQVZF X1NUUklOR1NfSCAxCnwgI2RlZmluZSBIQVZFX0lOVFRZUEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9T VERJTlRfSCAxCnwgI2RlZmluZSBIQVZFX1VOSVNURF9IIDEKfCAjZGVmaW5lIEhBVkVfTElCTSAx CnwgI2RlZmluZSBIQVZFX0xJQlogMQp8ICNkZWZpbmUgSEFWRV9TUElOTE9DS1MgMQp8ICNkZWZp bmUgSEFWRV9BVE9NSUNTIDEKfCAjZGVmaW5lIEhBVkVfU1NMX0dFVF9DVVJSRU5UX0NPTVBSRVNT SU9OIDEKfCAjZGVmaW5lIEhBVkVfWDUwOV9HRVRfU0lHTkFUVVJFX05JRCAxCnwgI2RlZmluZSBI QVZFX0NSWVBUT19MT0NLIDEKfCAjZGVmaW5lIEhBVkVfTElCWE1MMiAxCnwgI2RlZmluZSBIQVZF X0xJQlhTTFQgMQp8ICNkZWZpbmUgSEFWRV9fQk9PTCAxCnwgI2RlZmluZSBIQVZFX1NUREJPT0xf SCAxCnwgI2RlZmluZSBIQVZFX0dFVE9QVF9IIDEKfCAjZGVmaW5lIEhBVkVfSUVFRUZQX0ggMQp8 ICNkZWZpbmUgSEFWRV9VVElNRV9IIDEKfCAjZGVmaW5lIEhBVkVfV0NIQVJfSCAxCnwgI2RlZmlu ZSBIQVZFX1dDVFlQRV9IIDEKfCAjZGVmaW5lIEhBVkVfQ1JUREVGU19IIDEKfCAjZGVmaW5lIFBH X1BSSU5URl9BVFRSSUJVVEUgZ251X3ByaW50Zgp8ICNkZWZpbmUgRkxFWElCTEVfQVJSQVlfTUVN QkVSIC8qKi8KfCAjZGVmaW5lIEhBVkVfRlVOQ05BTUVfX0ZVTkMgMQp8ICNkZWZpbmUgSEFWRV9f U1RBVElDX0FTU0VSVCAxCnwgI2RlZmluZSBIQVZFX1RZUEVPRiAxCnwgI2RlZmluZSBIQVZFX19C VUlMVElOX1RZUEVTX0NPTVBBVElCTEVfUCAxCnwgI2RlZmluZSBIQVZFX19CVUlMVElOX0JTV0FQ MTYgMQp8ICNkZWZpbmUgSEFWRV9fQlVJTFRJTl9CU1dBUDMyIDEKfCAjZGVmaW5lIEhBVkVfX0JV SUxUSU5fQlNXQVA2NCAxCnwgI2RlZmluZSBIQVZFX19CVUlMVElOX0NPTlNUQU5UX1AgMQp8ICNk ZWZpbmUgSEFWRV9fQlVJTFRJTl9VTlJFQUNIQUJMRSAxCnwgI2RlZmluZSBIQVZFX0NPTVBVVEVE X0dPVE8gMQp8ICNkZWZpbmUgSEFWRV9fVkFfQVJHUyAxCnwgI2RlZmluZSBIQVZFX1RaTkFNRSAx CnwgI2RlZmluZSBIQVZFX1NUUlVDVF9TT0NLQUREUl9TVE9SQUdFIDEKfCAjZGVmaW5lIEhBVkVf U1RSVUNUX1NPQ0tBRERSX1NUT1JBR0VfU1NfRkFNSUxZIDEKfCAjZGVmaW5lIEhBVkVfU1RSVUNU X0FERFJJTkZPIDEKfCAjZGVmaW5lIEhBVkVfSU5UUFRSX1QgMQp8ICNkZWZpbmUgSEFWRV9VSU5U UFRSX1QgMQp8ICNkZWZpbmUgSEFWRV9VTlNJR05FRF9MT05HX0xPTkdfSU5UIDEKfCAjZGVmaW5l IEhBVkVfTE9OR19MT05HX0lOVCAxCnwgI2RlZmluZSByZXN0cmljdCBfX3Jlc3RyaWN0CnwgI2Rl ZmluZSBwZ19yZXN0cmljdCBfX3Jlc3RyaWN0CnwgI2RlZmluZSBIQVZFX1NUUlVDVF9PUFRJT04g MQp8ICNkZWZpbmUgU0laRU9GX09GRl9UIDQKfCAjZGVmaW5lIFNJWkVPRl9CT09MIDEKfCAjZGVm aW5lIEhBVkVfSU5UX1RJTUVaT05FIDEKfCAvKiBlbmQgY29uZmRlZnMuaC4gICovCnwgI2luY2x1 ZGUgPHN5cy90eXBlcy5oPgp8ICNpbmNsdWRlIDxzeXMvc29ja2V0Lmg+CnwgZXh0ZXJuIFNPQ0tF VCBXU0FBUEkgYWNjZXB0IChpbnQsIGNvbnN0IHN0cnVjdCBzb2NrYWRkciAqLCB2b2lkICopOwpj b25maWd1cmU6MTQ3OTE6IHg4Nl82NC13NjQtbWluZ3czMi1nY2MgLWMgLVdhbGwgLVdtaXNzaW5n LXByb3RvdHlwZXMgLVdwb2ludGVyLWFyaXRoIC1XZGVjbGFyYXRpb24tYWZ0ZXItc3RhdGVtZW50 IC1XZW5kaWYtbGFiZWxzIC1XbWlzc2luZy1mb3JtYXQtYXR0cmlidXRlIC1XZm9ybWF0LXNlY3Vy aXR5IC1mbm8tc3RyaWN0LWFsaWFzaW5nIC1md3JhcHYgLWZleGNlc3MtcHJlY2lzaW9uPXN0YW5k YXJkIC1Xbm8tZm9ybWF0LXRydW5jYXRpb24gLVduby1zdHJpbmdvcC10cnVuY2F0aW9uIC1nIC1P IC1mbm8tb21pdC1mcmFtZS1wb2ludGVyICAtSS93L1ItMy41Ll8vcG9zdGdyZXMvc3JjL2luY2x1 ZGUvcG9ydC93aW4zMiAtREVYRUNfQkFDS0VORCAgLUkvdy96bGliLTEuMi44LXdpbjMyLXg4Nl82 NC9pbmNsdWRlIC1JL3cvb3BlbnNzbC0xLjAuMmUtd2luMzIteDg2XzY0L2luY2x1ZGUgLUkvdy9s aWJ4bWwyLTIuOS4zLXdpbjMyLXg4Nl82NC9pbmNsdWRlL2xpYnhtbDIgLUkvdy9saWJ4c2x0LTEu MS4yOC13aW4zMi14ODZfNjQvaW5jbHVkZSBjb25mdGVzdC5jID4mNQpjb25mdGVzdC5jOjc5OjIy OiBlcnJvcjogY29uZmxpY3RpbmcgdHlwZXMgZm9yICdhY2NlcHQnCiBleHRlcm4gU09DS0VUIFdT QUFQSSBhY2NlcHQgKGludCwgdm9pZCAqLCBpbnQgKik7CiAgICAgICAgICAgICAgICAgICAgICBe fn5+fn4KSW4gZmlsZSBpbmNsdWRlZCBmcm9tIFc6L1ItMy41Ll8vcG9zdGdyZXMvc3JjL2luY2x1 ZGUvcG9ydC93aW4zMi9zeXMvc29ja2V0Lmg6MTQsCiAgICAgICAgICAgICAgICAgZnJvbSBjb25m dGVzdC5jOjc4OgpDOi9tc3lzNjQvbWluZ3c2NC94ODZfNjQtdzY0LW1pbmd3MzIvaW5jbHVkZS93 aW5zb2NrMi5oOjk3MzozNzogbm90ZTogcHJldmlvdXMgZGVjbGFyYXRpb24gb2YgJ2FjY2VwdCcg d2FzIGhlcmUKICAgV0lOU09DS19BUElfTElOS0FHRSBTT0NLRVQgV1NBQVBJIGFjY2VwdChTT0NL RVQgcyxzdHJ1Y3Qgc29ja2FkZHIgKmFkZHIsaW50ICphZGRybGVuKTsKICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIF5+fn5+fgpjb25maWd1cmU6MTQ3OTE6ICQ/ID0gMQpjb25m aWd1cmU6IGZhaWxlZCBwcm9ncmFtIHdhczoKfCAvKiBjb25mZGVmcy5oICovCnwgI2RlZmluZSBQ QUNLQUdFX05BTUUgIlBvc3RncmVTUUwiCnwgI2RlZmluZSBQQUNLQUdFX1RBUk5BTUUgInBvc3Rn cmVzcWwiCnwgI2RlZmluZSBQQUNLQUdFX1ZFUlNJT04gIjExYmV0YTMiCnwgI2RlZmluZSBQQUNL QUdFX1NUUklORyAiUG9zdGdyZVNRTCAxMWJldGEzIgp8ICNkZWZpbmUgUEFDS0FHRV9CVUdSRVBP UlQgInBnc3FsLWJ1Z3NAcG9zdGdyZXNxbC5vcmciCnwgI2RlZmluZSBQQUNLQUdFX1VSTCAiIgp8 ICNkZWZpbmUgUEdfTUFKT1JWRVJTSU9OICIxMSIKfCAjZGVmaW5lIFBHX1ZFUlNJT04gIjExYmV0 YTMiCnwgI2RlZmluZSBERUZfUEdQT1JUIDU0MzIKfCAjZGVmaW5lIERFRl9QR1BPUlRfU1RSICI1 NDMyIgp8ICNkZWZpbmUgQkxDS1NaIDgxOTIKfCAjZGVmaW5lIFJFTFNFR19TSVpFIDEzMTA3Mgp8 ICNkZWZpbmUgWExPR19CTENLU1ogODE5Mgp8ICNkZWZpbmUgVVNFX0FTU0VSVF9DSEVDS0lORyAx CnwgI2RlZmluZSBFTkFCTEVfVEhSRUFEX1NBRkVUWSAxCnwgI2RlZmluZSBVU0VfSUNVIDEKfCAj ZGVmaW5lIFBHX0tSQl9TUlZOQU0gInBvc3RncmVzIgp8ICNkZWZpbmUgVVNFX09QRU5TU0wgMQp8 ICNkZWZpbmUgVVNFX0xJQlhNTCAxCnwgI2RlZmluZSBVU0VfTElCWFNMVCAxCnwgI2RlZmluZSBT VERDX0hFQURFUlMgMQp8ICNkZWZpbmUgSEFWRV9TWVNfVFlQRVNfSCAxCnwgI2RlZmluZSBIQVZF X1NZU19TVEFUX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERMSUJfSCAxCnwgI2RlZmluZSBIQVZFX1NU UklOR19IIDEKfCAjZGVmaW5lIEhBVkVfTUVNT1JZX0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJJTkdT X0ggMQp8ICNkZWZpbmUgSEFWRV9JTlRUWVBFU19IIDEKfCAjZGVmaW5lIEhBVkVfU1RESU5UX0gg MQp8ICNkZWZpbmUgSEFWRV9VTklTVERfSCAxCnwgI2RlZmluZSBIQVZFX0xJQk0gMQp8ICNkZWZp bmUgSEFWRV9MSUJaIDEKfCAjZGVmaW5lIEhBVkVfU1BJTkxPQ0tTIDEKfCAjZGVmaW5lIEhBVkVf QVRPTUlDUyAxCnwgI2RlZmluZSBIQVZFX1NTTF9HRVRfQ1VSUkVOVF9DT01QUkVTU0lPTiAxCnwg I2RlZmluZSBIQVZFX1g1MDlfR0VUX1NJR05BVFVSRV9OSUQgMQp8ICNkZWZpbmUgSEFWRV9DUllQ VE9fTE9DSyAxCnwgI2RlZmluZSBIQVZFX0xJQlhNTDIgMQp8ICNkZWZpbmUgSEFWRV9MSUJYU0xU IDEKfCAjZGVmaW5lIEhBVkVfX0JPT0wgMQp8ICNkZWZpbmUgSEFWRV9TVERCT09MX0ggMQp8ICNk ZWZpbmUgSEFWRV9HRVRPUFRfSCAxCnwgI2RlZmluZSBIQVZFX0lFRUVGUF9IIDEKfCAjZGVmaW5l IEhBVkVfVVRJTUVfSCAxCnwgI2RlZmluZSBIQVZFX1dDSEFSX0ggMQp8ICNkZWZpbmUgSEFWRV9X Q1RZUEVfSCAxCnwgI2RlZmluZSBIQVZFX0NSVERFRlNfSCAxCnwgI2RlZmluZSBQR19QUklOVEZf QVRUUklCVVRFIGdudV9wcmludGYKfCAjZGVmaW5lIEZMRVhJQkxFX0FSUkFZX01FTUJFUiAvKiov CnwgI2RlZmluZSBIQVZFX0ZVTkNOQU1FX19GVU5DIDEKfCAjZGVmaW5lIEhBVkVfX1NUQVRJQ19B U1NFUlQgMQp8ICNkZWZpbmUgSEFWRV9UWVBFT0YgMQp8ICNkZWZpbmUgSEFWRV9fQlVJTFRJTl9U WVBFU19DT01QQVRJQkxFX1AgMQp8ICNkZWZpbmUgSEFWRV9fQlVJTFRJTl9CU1dBUDE2IDEKfCAj ZGVmaW5lIEhBVkVfX0JVSUxUSU5fQlNXQVAzMiAxCnwgI2RlZmluZSBIQVZFX19CVUlMVElOX0JT V0FQNjQgMQp8ICNkZWZpbmUgSEFWRV9fQlVJTFRJTl9DT05TVEFOVF9QIDEKfCAjZGVmaW5lIEhB VkVfX0JVSUxUSU5fVU5SRUFDSEFCTEUgMQp8ICNkZWZpbmUgSEFWRV9DT01QVVRFRF9HT1RPIDEK fCAjZGVmaW5lIEhBVkVfX1ZBX0FSR1MgMQp8ICNkZWZpbmUgSEFWRV9UWk5BTUUgMQp8ICNkZWZp bmUgSEFWRV9TVFJVQ1RfU09DS0FERFJfU1RPUkFHRSAxCnwgI2RlZmluZSBIQVZFX1NUUlVDVF9T T0NLQUREUl9TVE9SQUdFX1NTX0ZBTUlMWSAxCnwgI2RlZmluZSBIQVZFX1NUUlVDVF9BRERSSU5G TyAxCnwgI2RlZmluZSBIQVZFX0lOVFBUUl9UIDEKfCAjZGVmaW5lIEhBVkVfVUlOVFBUUl9UIDEK fCAjZGVmaW5lIEhBVkVfVU5TSUdORURfTE9OR19MT05HX0lOVCAxCnwgI2RlZmluZSBIQVZFX0xP TkdfTE9OR19JTlQgMQp8ICNkZWZpbmUgcmVzdHJpY3QgX19yZXN0cmljdAp8ICNkZWZpbmUgcGdf cmVzdHJpY3QgX19yZXN0cmljdAp8ICNkZWZpbmUgSEFWRV9TVFJVQ1RfT1BUSU9OIDEKfCAjZGVm aW5lIFNJWkVPRl9PRkZfVCA0CnwgI2RlZmluZSBTSVpFT0ZfQk9PTCAxCnwgI2RlZmluZSBIQVZF X0lOVF9USU1FWk9ORSAxCnwgLyogZW5kIGNvbmZkZWZzLmguICAqLwp8ICNpbmNsdWRlIDxzeXMv dHlwZXMuaD4KfCAjaW5jbHVkZSA8c3lzL3NvY2tldC5oPgp8IGV4dGVybiBTT0NLRVQgV1NBQVBJ IGFjY2VwdCAoaW50LCB2b2lkICosIGludCAqKTsKY29uZmlndXJlOjE0NzkxOiB4ODZfNjQtdzY0 LW1pbmd3MzItZ2NjIC1jIC1XYWxsIC1XbWlzc2luZy1wcm90b3R5cGVzIC1XcG9pbnRlci1hcml0 aCAtV2RlY2xhcmF0aW9uLWFmdGVyLXN0YXRlbWVudCAtV2VuZGlmLWxhYmVscyAtV21pc3Npbmct Zm9ybWF0LWF0dHJpYnV0ZSAtV2Zvcm1hdC1zZWN1cml0eSAtZm5vLXN0cmljdC1hbGlhc2luZyAt ZndyYXB2IC1mZXhjZXNzLXByZWNpc2lvbj1zdGFuZGFyZCAtV25vLWZvcm1hdC10cnVuY2F0aW9u IC1Xbm8tc3RyaW5nb3AtdHJ1bmNhdGlvbiAtZyAtTyAtZm5vLW9taXQtZnJhbWUtcG9pbnRlciAg LUkvdy9SLTMuNS5fL3Bvc3RncmVzL3NyYy9pbmNsdWRlL3BvcnQvd2luMzIgLURFWEVDX0JBQ0tF TkQgIC1JL3cvemxpYi0xLjIuOC13aW4zMi14ODZfNjQvaW5jbHVkZSAtSS93L29wZW5zc2wtMS4w LjJlLXdpbjMyLXg4Nl82NC9pbmNsdWRlIC1JL3cvbGlieG1sMi0yLjkuMy13aW4zMi14ODZfNjQv aW5jbHVkZS9saWJ4bWwyIC1JL3cvbGlieHNsdC0xLjEuMjgtd2luMzIteDg2XzY0L2luY2x1ZGUg Y29uZnRlc3QuYyA+JjUKY29uZnRlc3QuYzo3OToyMjogZXJyb3I6IGNvbmZsaWN0aW5nIHR5cGVz IGZvciAnYWNjZXB0JwogZXh0ZXJuIFNPQ0tFVCBXU0FBUEkgYWNjZXB0IChpbnQsIHZvaWQgKiwg c2l6ZV90ICopOwogICAgICAgICAgICAgICAgICAgICAgXn5+fn5+CkluIGZpbGUgaW5jbHVkZWQg ZnJvbSBXOi9SLTMuNS5fL3Bvc3RncmVzL3NyYy9pbmNsdWRlL3BvcnQvd2luMzIvc3lzL3NvY2tl dC5oOjE0LAogICAgICAgICAgICAgICAgIGZyb20gY29uZnRlc3QuYzo3ODoKQzovbXN5czY0L21p bmd3NjQveDg2XzY0LXc2NC1taW5ndzMyL2luY2x1ZGUvd2luc29jazIuaDo5NzM6Mzc6IG5vdGU6 IHByZXZpb3VzIGRlY2xhcmF0aW9uIG9mICdhY2NlcHQnIHdhcyBoZXJlCiAgIFdJTlNPQ0tfQVBJ X0xJTktBR0UgU09DS0VUIFdTQUFQSSBhY2NlcHQoU09DS0VUIHMsc3RydWN0IHNvY2thZGRyICph ZGRyLGludCAqYWRkcmxlbik7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBe fn5+fn4KY29uZmlndXJlOjE0NzkxOiAkPyA9IDEKY29uZmlndXJlOiBmYWlsZWQgcHJvZ3JhbSB3 YXM6CnwgLyogY29uZmRlZnMuaCAqLwp8ICNkZWZpbmUgUEFDS0FHRV9OQU1FICJQb3N0Z3JlU1FM Igp8ICNkZWZpbmUgUEFDS0FHRV9UQVJOQU1FICJwb3N0Z3Jlc3FsIgp8ICNkZWZpbmUgUEFDS0FH RV9WRVJTSU9OICIxMWJldGEzIgp8ICNkZWZpbmUgUEFDS0FHRV9TVFJJTkcgIlBvc3RncmVTUUwg MTFiZXRhMyIKfCAjZGVmaW5lIFBBQ0tBR0VfQlVHUkVQT1JUICJwZ3NxbC1idWdzQHBvc3RncmVz cWwub3JnIgp8ICNkZWZpbmUgUEFDS0FHRV9VUkwgIiIKfCAjZGVmaW5lIFBHX01BSk9SVkVSU0lP TiAiMTEiCnwgI2RlZmluZSBQR19WRVJTSU9OICIxMWJldGEzIgp8ICNkZWZpbmUgREVGX1BHUE9S VCA1NDMyCnwgI2RlZmluZSBERUZfUEdQT1JUX1NUUiAiNTQzMiIKfCAjZGVmaW5lIEJMQ0tTWiA4 MTkyCnwgI2RlZmluZSBSRUxTRUdfU0laRSAxMzEwNzIKfCAjZGVmaW5lIFhMT0dfQkxDS1NaIDgx OTIKfCAjZGVmaW5lIFVTRV9BU1NFUlRfQ0hFQ0tJTkcgMQp8ICNkZWZpbmUgRU5BQkxFX1RIUkVB RF9TQUZFVFkgMQp8ICNkZWZpbmUgVVNFX0lDVSAxCnwgI2RlZmluZSBQR19LUkJfU1JWTkFNICJw b3N0Z3JlcyIKfCAjZGVmaW5lIFVTRV9PUEVOU1NMIDEKfCAjZGVmaW5lIFVTRV9MSUJYTUwgMQp8 ICNkZWZpbmUgVVNFX0xJQlhTTFQgMQp8ICNkZWZpbmUgU1REQ19IRUFERVJTIDEKfCAjZGVmaW5l IEhBVkVfU1lTX1RZUEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfU1RBVF9IIDEKfCAjZGVmaW5l IEhBVkVfU1RETElCX0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJJTkdfSCAxCnwgI2RlZmluZSBIQVZF X01FTU9SWV9IIDEKfCAjZGVmaW5lIEhBVkVfU1RSSU5HU19IIDEKfCAjZGVmaW5lIEhBVkVfSU5U VFlQRVNfSCAxCnwgI2RlZmluZSBIQVZFX1NURElOVF9IIDEKfCAjZGVmaW5lIEhBVkVfVU5JU1RE X0ggMQp8ICNkZWZpbmUgSEFWRV9MSUJNIDEKfCAjZGVmaW5lIEhBVkVfTElCWiAxCnwgI2RlZmlu ZSBIQVZFX1NQSU5MT0NLUyAxCnwgI2RlZmluZSBIQVZFX0FUT01JQ1MgMQp8ICNkZWZpbmUgSEFW RV9TU0xfR0VUX0NVUlJFTlRfQ09NUFJFU1NJT04gMQp8ICNkZWZpbmUgSEFWRV9YNTA5X0dFVF9T SUdOQVRVUkVfTklEIDEKfCAjZGVmaW5lIEhBVkVfQ1JZUFRPX0xPQ0sgMQp8ICNkZWZpbmUgSEFW RV9MSUJYTUwyIDEKfCAjZGVmaW5lIEhBVkVfTElCWFNMVCAxCnwgI2RlZmluZSBIQVZFX19CT09M IDEKfCAjZGVmaW5lIEhBVkVfU1REQk9PTF9IIDEKfCAjZGVmaW5lIEhBVkVfR0VUT1BUX0ggMQp8 ICNkZWZpbmUgSEFWRV9JRUVFRlBfSCAxCnwgI2RlZmluZSBIQVZFX1VUSU1FX0ggMQp8ICNkZWZp bmUgSEFWRV9XQ0hBUl9IIDEKfCAjZGVmaW5lIEhBVkVfV0NUWVBFX0ggMQp8ICNkZWZpbmUgSEFW RV9DUlRERUZTX0ggMQp8ICNkZWZpbmUgUEdfUFJJTlRGX0FUVFJJQlVURSBnbnVfcHJpbnRmCnwg I2RlZmluZSBGTEVYSUJMRV9BUlJBWV9NRU1CRVIgLyoqLwp8ICNkZWZpbmUgSEFWRV9GVU5DTkFN RV9fRlVOQyAxCnwgI2RlZmluZSBIQVZFX19TVEFUSUNfQVNTRVJUIDEKfCAjZGVmaW5lIEhBVkVf VFlQRU9GIDEKfCAjZGVmaW5lIEhBVkVfX0JVSUxUSU5fVFlQRVNfQ09NUEFUSUJMRV9QIDEKfCAj ZGVmaW5lIEhBVkVfX0JVSUxUSU5fQlNXQVAxNiAxCnwgI2RlZmluZSBIQVZFX19CVUlMVElOX0JT V0FQMzIgMQp8ICNkZWZpbmUgSEFWRV9fQlVJTFRJTl9CU1dBUDY0IDEKfCAjZGVmaW5lIEhBVkVf X0JVSUxUSU5fQ09OU1RBTlRfUCAxCnwgI2RlZmluZSBIQVZFX19CVUlMVElOX1VOUkVBQ0hBQkxF IDEKfCAjZGVmaW5lIEhBVkVfQ09NUFVURURfR09UTyAxCnwgI2RlZmluZSBIQVZFX19WQV9BUkdT IDEKfCAjZGVmaW5lIEhBVkVfVFpOQU1FIDEKfCAjZGVmaW5lIEhBVkVfU1RSVUNUX1NPQ0tBRERS X1NUT1JBR0UgMQp8ICNkZWZpbmUgSEFWRV9TVFJVQ1RfU09DS0FERFJfU1RPUkFHRV9TU19GQU1J TFkgMQp8ICNkZWZpbmUgSEFWRV9TVFJVQ1RfQUREUklORk8gMQp8ICNkZWZpbmUgSEFWRV9JTlRQ VFJfVCAxCnwgI2RlZmluZSBIQVZFX1VJTlRQVFJfVCAxCnwgI2RlZmluZSBIQVZFX1VOU0lHTkVE X0xPTkdfTE9OR19JTlQgMQp8ICNkZWZpbmUgSEFWRV9MT05HX0xPTkdfSU5UIDEKfCAjZGVmaW5l IHJlc3RyaWN0IF9fcmVzdHJpY3QKfCAjZGVmaW5lIHBnX3Jlc3RyaWN0IF9fcmVzdHJpY3QKfCAj ZGVmaW5lIEhBVkVfU1RSVUNUX09QVElPTiAxCnwgI2RlZmluZSBTSVpFT0ZfT0ZGX1QgNAp8ICNk ZWZpbmUgU0laRU9GX0JPT0wgMQp8ICNkZWZpbmUgSEFWRV9JTlRfVElNRVpPTkUgMQp8IC8qIGVu ZCBjb25mZGVmcy5oLiAgKi8KfCAjaW5jbHVkZSA8c3lzL3R5cGVzLmg+CnwgI2luY2x1ZGUgPHN5 cy9zb2NrZXQuaD4KfCBleHRlcm4gU09DS0VUIFdTQUFQSSBhY2NlcHQgKGludCwgdm9pZCAqLCBz aXplX3QgKik7CmNvbmZpZ3VyZToxNDc5MTogeDg2XzY0LXc2NC1taW5ndzMyLWdjYyAtYyAtV2Fs bCAtV21pc3NpbmctcHJvdG90eXBlcyAtV3BvaW50ZXItYXJpdGggLVdkZWNsYXJhdGlvbi1hZnRl ci1zdGF0ZW1lbnQgLVdlbmRpZi1sYWJlbHMgLVdtaXNzaW5nLWZvcm1hdC1hdHRyaWJ1dGUgLVdm b3JtYXQtc2VjdXJpdHkgLWZuby1zdHJpY3QtYWxpYXNpbmcgLWZ3cmFwdiAtZmV4Y2Vzcy1wcmVj aXNpb249c3RhbmRhcmQgLVduby1mb3JtYXQtdHJ1bmNhdGlvbiAtV25vLXN0cmluZ29wLXRydW5j YXRpb24gLWcgLU8gLWZuby1vbWl0LWZyYW1lLXBvaW50ZXIgIC1JL3cvUi0zLjUuXy9wb3N0Z3Jl cy9zcmMvaW5jbHVkZS9wb3J0L3dpbjMyIC1ERVhFQ19CQUNLRU5EICAtSS93L3psaWItMS4yLjgt d2luMzIteDg2XzY0L2luY2x1ZGUgLUkvdy9vcGVuc3NsLTEuMC4yZS13aW4zMi14ODZfNjQvaW5j bHVkZSAtSS93L2xpYnhtbDItMi45LjMtd2luMzIteDg2XzY0L2luY2x1ZGUvbGlieG1sMiAtSS93 L2xpYnhzbHQtMS4xLjI4LXdpbjMyLXg4Nl82NC9pbmNsdWRlIGNvbmZ0ZXN0LmMgPiY1CmNvbmZ0 ZXN0LmM6Nzk6MjI6IGVycm9yOiBjb25mbGljdGluZyB0eXBlcyBmb3IgJ2FjY2VwdCcKIGV4dGVy biBTT0NLRVQgV1NBQVBJIGFjY2VwdCAoaW50LCB2b2lkICosIHNvY2tsZW5fdCAqKTsKICAgICAg ICAgICAgICAgICAgICAgIF5+fn5+fgpJbiBmaWxlIGluY2x1ZGVkIGZyb20gVzovUi0zLjUuXy9w b3N0Z3Jlcy9zcmMvaW5jbHVkZS9wb3J0L3dpbjMyL3N5cy9zb2NrZXQuaDoxNCwKICAgICAgICAg ICAgICAgICBmcm9tIGNvbmZ0ZXN0LmM6Nzg6CkM6L21zeXM2NC9taW5ndzY0L3g4Nl82NC13NjQt bWluZ3czMi9pbmNsdWRlL3dpbnNvY2syLmg6OTczOjM3OiBub3RlOiBwcmV2aW91cyBkZWNsYXJh dGlvbiBvZiAnYWNjZXB0JyB3YXMgaGVyZQogICBXSU5TT0NLX0FQSV9MSU5LQUdFIFNPQ0tFVCBX U0FBUEkgYWNjZXB0KFNPQ0tFVCBzLHN0cnVjdCBzb2NrYWRkciAqYWRkcixpbnQgKmFkZHJsZW4p OwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXn5+fn5+CmNvbmZpZ3VyZTox NDc5MTogJD8gPSAxCmNvbmZpZ3VyZTogZmFpbGVkIHByb2dyYW0gd2FzOgp8IC8qIGNvbmZkZWZz LmggKi8KfCAjZGVmaW5lIFBBQ0tBR0VfTkFNRSAiUG9zdGdyZVNRTCIKfCAjZGVmaW5lIFBBQ0tB R0VfVEFSTkFNRSAicG9zdGdyZXNxbCIKfCAjZGVmaW5lIFBBQ0tBR0VfVkVSU0lPTiAiMTFiZXRh MyIKfCAjZGVmaW5lIFBBQ0tBR0VfU1RSSU5HICJQb3N0Z3JlU1FMIDExYmV0YTMiCnwgI2RlZmlu ZSBQQUNLQUdFX0JVR1JFUE9SVCAicGdzcWwtYnVnc0Bwb3N0Z3Jlc3FsLm9yZyIKfCAjZGVmaW5l IFBBQ0tBR0VfVVJMICIiCnwgI2RlZmluZSBQR19NQUpPUlZFUlNJT04gIjExIgp8ICNkZWZpbmUg UEdfVkVSU0lPTiAiMTFiZXRhMyIKfCAjZGVmaW5lIERFRl9QR1BPUlQgNTQzMgp8ICNkZWZpbmUg REVGX1BHUE9SVF9TVFIgIjU0MzIiCnwgI2RlZmluZSBCTENLU1ogODE5Mgp8ICNkZWZpbmUgUkVM U0VHX1NJWkUgMTMxMDcyCnwgI2RlZmluZSBYTE9HX0JMQ0tTWiA4MTkyCnwgI2RlZmluZSBVU0Vf QVNTRVJUX0NIRUNLSU5HIDEKfCAjZGVmaW5lIEVOQUJMRV9USFJFQURfU0FGRVRZIDEKfCAjZGVm aW5lIFVTRV9JQ1UgMQp8ICNkZWZpbmUgUEdfS1JCX1NSVk5BTSAicG9zdGdyZXMiCnwgI2RlZmlu ZSBVU0VfT1BFTlNTTCAxCnwgI2RlZmluZSBVU0VfTElCWE1MIDEKfCAjZGVmaW5lIFVTRV9MSUJY U0xUIDEKfCAjZGVmaW5lIFNURENfSEVBREVSUyAxCnwgI2RlZmluZSBIQVZFX1NZU19UWVBFU19I IDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NUQVRfSCAxCnwgI2RlZmluZSBIQVZFX1NURExJQl9IIDEK fCAjZGVmaW5lIEhBVkVfU1RSSU5HX0ggMQp8ICNkZWZpbmUgSEFWRV9NRU1PUllfSCAxCnwgI2Rl ZmluZSBIQVZFX1NUUklOR1NfSCAxCnwgI2RlZmluZSBIQVZFX0lOVFRZUEVTX0ggMQp8ICNkZWZp bmUgSEFWRV9TVERJTlRfSCAxCnwgI2RlZmluZSBIQVZFX1VOSVNURF9IIDEKfCAjZGVmaW5lIEhB VkVfTElCTSAxCnwgI2RlZmluZSBIQVZFX0xJQlogMQp8ICNkZWZpbmUgSEFWRV9TUElOTE9DS1Mg MQp8ICNkZWZpbmUgSEFWRV9BVE9NSUNTIDEKfCAjZGVmaW5lIEhBVkVfU1NMX0dFVF9DVVJSRU5U X0NPTVBSRVNTSU9OIDEKfCAjZGVmaW5lIEhBVkVfWDUwOV9HRVRfU0lHTkFUVVJFX05JRCAxCnwg I2RlZmluZSBIQVZFX0NSWVBUT19MT0NLIDEKfCAjZGVmaW5lIEhBVkVfTElCWE1MMiAxCnwgI2Rl ZmluZSBIQVZFX0xJQlhTTFQgMQp8ICNkZWZpbmUgSEFWRV9fQk9PTCAxCnwgI2RlZmluZSBIQVZF X1NUREJPT0xfSCAxCnwgI2RlZmluZSBIQVZFX0dFVE9QVF9IIDEKfCAjZGVmaW5lIEhBVkVfSUVF RUZQX0ggMQp8ICNkZWZpbmUgSEFWRV9VVElNRV9IIDEKfCAjZGVmaW5lIEhBVkVfV0NIQVJfSCAx CnwgI2RlZmluZSBIQVZFX1dDVFlQRV9IIDEKfCAjZGVmaW5lIEhBVkVfQ1JUREVGU19IIDEKfCAj ZGVmaW5lIFBHX1BSSU5URl9BVFRSSUJVVEUgZ251X3ByaW50Zgp8ICNkZWZpbmUgRkxFWElCTEVf QVJSQVlfTUVNQkVSIC8qKi8KfCAjZGVmaW5lIEhBVkVfRlVOQ05BTUVfX0ZVTkMgMQp8ICNkZWZp bmUgSEFWRV9fU1RBVElDX0FTU0VSVCAxCnwgI2RlZmluZSBIQVZFX1RZUEVPRiAxCnwgI2RlZmlu ZSBIQVZFX19CVUlMVElOX1RZUEVTX0NPTVBBVElCTEVfUCAxCnwgI2RlZmluZSBIQVZFX19CVUlM VElOX0JTV0FQMTYgMQp8ICNkZWZpbmUgSEFWRV9fQlVJTFRJTl9CU1dBUDMyIDEKfCAjZGVmaW5l IEhBVkVfX0JVSUxUSU5fQlNXQVA2NCAxCnwgI2RlZmluZSBIQVZFX19CVUlMVElOX0NPTlNUQU5U X1AgMQp8ICNkZWZpbmUgSEFWRV9fQlVJTFRJTl9VTlJFQUNIQUJMRSAxCnwgI2RlZmluZSBIQVZF X0NPTVBVVEVEX0dPVE8gMQp8ICNkZWZpbmUgSEFWRV9fVkFfQVJHUyAxCnwgI2RlZmluZSBIQVZF X1RaTkFNRSAxCnwgI2RlZmluZSBIQVZFX1NUUlVDVF9TT0NLQUREUl9TVE9SQUdFIDEKfCAjZGVm aW5lIEhBVkVfU1RSVUNUX1NPQ0tBRERSX1NUT1JBR0VfU1NfRkFNSUxZIDEKfCAjZGVmaW5lIEhB VkVfU1RSVUNUX0FERFJJTkZPIDEKfCAjZGVmaW5lIEhBVkVfSU5UUFRSX1QgMQp8ICNkZWZpbmUg SEFWRV9VSU5UUFRSX1QgMQp8ICNkZWZpbmUgSEFWRV9VTlNJR05FRF9MT05HX0xPTkdfSU5UIDEK fCAjZGVmaW5lIEhBVkVfTE9OR19MT05HX0lOVCAxCnwgI2RlZmluZSByZXN0cmljdCBfX3Jlc3Ry aWN0CnwgI2RlZmluZSBwZ19yZXN0cmljdCBfX3Jlc3RyaWN0CnwgI2RlZmluZSBIQVZFX1NUUlVD VF9PUFRJT04gMQp8ICNkZWZpbmUgU0laRU9GX09GRl9UIDQKfCAjZGVmaW5lIFNJWkVPRl9CT09M IDEKfCAjZGVmaW5lIEhBVkVfSU5UX1RJTUVaT05FIDEKfCAvKiBlbmQgY29uZmRlZnMuaC4gICov CnwgI2luY2x1ZGUgPHN5cy90eXBlcy5oPgp8ICNpbmNsdWRlIDxzeXMvc29ja2V0Lmg+CnwgZXh0 ZXJuIFNPQ0tFVCBXU0FBUEkgYWNjZXB0IChpbnQsIHZvaWQgKiwgc29ja2xlbl90ICopOwpjb25m aWd1cmU6MTQ3OTE6IHg4Nl82NC13NjQtbWluZ3czMi1nY2MgLWMgLVdhbGwgLVdtaXNzaW5nLXBy b3RvdHlwZXMgLVdwb2ludGVyLWFyaXRoIC1XZGVjbGFyYXRpb24tYWZ0ZXItc3RhdGVtZW50IC1X ZW5kaWYtbGFiZWxzIC1XbWlzc2luZy1mb3JtYXQtYXR0cmlidXRlIC1XZm9ybWF0LXNlY3VyaXR5 IC1mbm8tc3RyaWN0LWFsaWFzaW5nIC1md3JhcHYgLWZleGNlc3MtcHJlY2lzaW9uPXN0YW5kYXJk IC1Xbm8tZm9ybWF0LXRydW5jYXRpb24gLVduby1zdHJpbmdvcC10cnVuY2F0aW9uIC1nIC1PIC1m bm8tb21pdC1mcmFtZS1wb2ludGVyICAtSS93L1ItMy41Ll8vcG9zdGdyZXMvc3JjL2luY2x1ZGUv cG9ydC93aW4zMiAtREVYRUNfQkFDS0VORCAgLUkvdy96bGliLTEuMi44LXdpbjMyLXg4Nl82NC9p bmNsdWRlIC1JL3cvb3BlbnNzbC0xLjAuMmUtd2luMzIteDg2XzY0L2luY2x1ZGUgLUkvdy9saWJ4 bWwyLTIuOS4zLXdpbjMyLXg4Nl82NC9pbmNsdWRlL2xpYnhtbDIgLUkvdy9saWJ4c2x0LTEuMS4y OC13aW4zMi14ODZfNjQvaW5jbHVkZSBjb25mdGVzdC5jID4mNQpjb25mdGVzdC5jOjc5OjIyOiBl cnJvcjogY29uZmxpY3RpbmcgdHlwZXMgZm9yICdhY2NlcHQnCiBleHRlcm4gU09DS0VUIFdTQUFQ SSBhY2NlcHQgKGludCwgdm9pZCAqLCB1bnNpZ25lZCBpbnQgKik7CiAgICAgICAgICAgICAgICAg ICAgICBefn5+fn4KSW4gZmlsZSBpbmNsdWRlZCBmcm9tIFc6L1ItMy41Ll8vcG9zdGdyZXMvc3Jj L2luY2x1ZGUvcG9ydC93aW4zMi9zeXMvc29ja2V0Lmg6MTQsCiAgICAgICAgICAgICAgICAgZnJv bSBjb25mdGVzdC5jOjc4OgpDOi9tc3lzNjQvbWluZ3c2NC94ODZfNjQtdzY0LW1pbmd3MzIvaW5j bHVkZS93aW5zb2NrMi5oOjk3MzozNzogbm90ZTogcHJldmlvdXMgZGVjbGFyYXRpb24gb2YgJ2Fj Y2VwdCcgd2FzIGhlcmUKICAgV0lOU09DS19BUElfTElOS0FHRSBTT0NLRVQgV1NBQVBJIGFjY2Vw dChTT0NLRVQgcyxzdHJ1Y3Qgc29ja2FkZHIgKmFkZHIsaW50ICphZGRybGVuKTsKICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIF5+fn5+fgpjb25maWd1cmU6MTQ3OTE6ICQ/ID0g MQpjb25maWd1cmU6IGZhaWxlZCBwcm9ncmFtIHdhczoKfCAvKiBjb25mZGVmcy5oICovCnwgI2Rl ZmluZSBQQUNLQUdFX05BTUUgIlBvc3RncmVTUUwiCnwgI2RlZmluZSBQQUNLQUdFX1RBUk5BTUUg InBvc3RncmVzcWwiCnwgI2RlZmluZSBQQUNLQUdFX1ZFUlNJT04gIjExYmV0YTMiCnwgI2RlZmlu ZSBQQUNLQUdFX1NUUklORyAiUG9zdGdyZVNRTCAxMWJldGEzIgp8ICNkZWZpbmUgUEFDS0FHRV9C VUdSRVBPUlQgInBnc3FsLWJ1Z3NAcG9zdGdyZXNxbC5vcmciCnwgI2RlZmluZSBQQUNLQUdFX1VS TCAiIgp8ICNkZWZpbmUgUEdfTUFKT1JWRVJTSU9OICIxMSIKfCAjZGVmaW5lIFBHX1ZFUlNJT04g IjExYmV0YTMiCnwgI2RlZmluZSBERUZfUEdQT1JUIDU0MzIKfCAjZGVmaW5lIERFRl9QR1BPUlRf U1RSICI1NDMyIgp8ICNkZWZpbmUgQkxDS1NaIDgxOTIKfCAjZGVmaW5lIFJFTFNFR19TSVpFIDEz MTA3Mgp8ICNkZWZpbmUgWExPR19CTENLU1ogODE5Mgp8ICNkZWZpbmUgVVNFX0FTU0VSVF9DSEVD S0lORyAxCnwgI2RlZmluZSBFTkFCTEVfVEhSRUFEX1NBRkVUWSAxCnwgI2RlZmluZSBVU0VfSUNV IDEKfCAjZGVmaW5lIFBHX0tSQl9TUlZOQU0gInBvc3RncmVzIgp8ICNkZWZpbmUgVVNFX09QRU5T U0wgMQp8ICNkZWZpbmUgVVNFX0xJQlhNTCAxCnwgI2RlZmluZSBVU0VfTElCWFNMVCAxCnwgI2Rl ZmluZSBTVERDX0hFQURFUlMgMQp8ICNkZWZpbmUgSEFWRV9TWVNfVFlQRVNfSCAxCnwgI2RlZmlu ZSBIQVZFX1NZU19TVEFUX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERMSUJfSCAxCnwgI2RlZmluZSBI QVZFX1NUUklOR19IIDEKfCAjZGVmaW5lIEhBVkVfTUVNT1JZX0ggMQp8ICNkZWZpbmUgSEFWRV9T VFJJTkdTX0ggMQp8ICNkZWZpbmUgSEFWRV9JTlRUWVBFU19IIDEKfCAjZGVmaW5lIEhBVkVfU1RE SU5UX0ggMQp8ICNkZWZpbmUgSEFWRV9VTklTVERfSCAxCnwgI2RlZmluZSBIQVZFX0xJQk0gMQp8 ICNkZWZpbmUgSEFWRV9MSUJaIDEKfCAjZGVmaW5lIEhBVkVfU1BJTkxPQ0tTIDEKfCAjZGVmaW5l IEhBVkVfQVRPTUlDUyAxCnwgI2RlZmluZSBIQVZFX1NTTF9HRVRfQ1VSUkVOVF9DT01QUkVTU0lP TiAxCnwgI2RlZmluZSBIQVZFX1g1MDlfR0VUX1NJR05BVFVSRV9OSUQgMQp8ICNkZWZpbmUgSEFW RV9DUllQVE9fTE9DSyAxCnwgI2RlZmluZSBIQVZFX0xJQlhNTDIgMQp8ICNkZWZpbmUgSEFWRV9M SUJYU0xUIDEKfCAjZGVmaW5lIEhBVkVfX0JPT0wgMQp8ICNkZWZpbmUgSEFWRV9TVERCT09MX0gg MQp8ICNkZWZpbmUgSEFWRV9HRVRPUFRfSCAxCnwgI2RlZmluZSBIQVZFX0lFRUVGUF9IIDEKfCAj ZGVmaW5lIEhBVkVfVVRJTUVfSCAxCnwgI2RlZmluZSBIQVZFX1dDSEFSX0ggMQp8ICNkZWZpbmUg SEFWRV9XQ1RZUEVfSCAxCnwgI2RlZmluZSBIQVZFX0NSVERFRlNfSCAxCnwgI2RlZmluZSBQR19Q UklOVEZfQVRUUklCVVRFIGdudV9wcmludGYKfCAjZGVmaW5lIEZMRVhJQkxFX0FSUkFZX01FTUJF UiAvKiovCnwgI2RlZmluZSBIQVZFX0ZVTkNOQU1FX19GVU5DIDEKfCAjZGVmaW5lIEhBVkVfX1NU QVRJQ19BU1NFUlQgMQp8ICNkZWZpbmUgSEFWRV9UWVBFT0YgMQp8ICNkZWZpbmUgSEFWRV9fQlVJ TFRJTl9UWVBFU19DT01QQVRJQkxFX1AgMQp8ICNkZWZpbmUgSEFWRV9fQlVJTFRJTl9CU1dBUDE2 IDEKfCAjZGVmaW5lIEhBVkVfX0JVSUxUSU5fQlNXQVAzMiAxCnwgI2RlZmluZSBIQVZFX19CVUlM VElOX0JTV0FQNjQgMQp8ICNkZWZpbmUgSEFWRV9fQlVJTFRJTl9DT05TVEFOVF9QIDEKfCAjZGVm aW5lIEhBVkVfX0JVSUxUSU5fVU5SRUFDSEFCTEUgMQp8ICNkZWZpbmUgSEFWRV9DT01QVVRFRF9H T1RPIDEKfCAjZGVmaW5lIEhBVkVfX1ZBX0FSR1MgMQp8ICNkZWZpbmUgSEFWRV9UWk5BTUUgMQp8 ICNkZWZpbmUgSEFWRV9TVFJVQ1RfU09DS0FERFJfU1RPUkFHRSAxCnwgI2RlZmluZSBIQVZFX1NU UlVDVF9TT0NLQUREUl9TVE9SQUdFX1NTX0ZBTUlMWSAxCnwgI2RlZmluZSBIQVZFX1NUUlVDVF9B RERSSU5GTyAxCnwgI2RlZmluZSBIQVZFX0lOVFBUUl9UIDEKfCAjZGVmaW5lIEhBVkVfVUlOVFBU Ul9UIDEKfCAjZGVmaW5lIEhBVkVfVU5TSUdORURfTE9OR19MT05HX0lOVCAxCnwgI2RlZmluZSBI QVZFX0xPTkdfTE9OR19JTlQgMQp8ICNkZWZpbmUgcmVzdHJpY3QgX19yZXN0cmljdAp8ICNkZWZp bmUgcGdfcmVzdHJpY3QgX19yZXN0cmljdAp8ICNkZWZpbmUgSEFWRV9TVFJVQ1RfT1BUSU9OIDEK fCAjZGVmaW5lIFNJWkVPRl9PRkZfVCA0CnwgI2RlZmluZSBTSVpFT0ZfQk9PTCAxCnwgI2RlZmlu ZSBIQVZFX0lOVF9USU1FWk9ORSAxCnwgLyogZW5kIGNvbmZkZWZzLmguICAqLwp8ICNpbmNsdWRl IDxzeXMvdHlwZXMuaD4KfCAjaW5jbHVkZSA8c3lzL3NvY2tldC5oPgp8IGV4dGVybiBTT0NLRVQg V1NBQVBJIGFjY2VwdCAoaW50LCB2b2lkICosIHVuc2lnbmVkIGludCAqKTsKY29uZmlndXJlOjE0 NzkxOiB4ODZfNjQtdzY0LW1pbmd3MzItZ2NjIC1jIC1XYWxsIC1XbWlzc2luZy1wcm90b3R5cGVz IC1XcG9pbnRlci1hcml0aCAtV2RlY2xhcmF0aW9uLWFmdGVyLXN0YXRlbWVudCAtV2VuZGlmLWxh YmVscyAtV21pc3NpbmctZm9ybWF0LWF0dHJpYnV0ZSAtV2Zvcm1hdC1zZWN1cml0eSAtZm5vLXN0 cmljdC1hbGlhc2luZyAtZndyYXB2IC1mZXhjZXNzLXByZWNpc2lvbj1zdGFuZGFyZCAtV25vLWZv cm1hdC10cnVuY2F0aW9uIC1Xbm8tc3RyaW5nb3AtdHJ1bmNhdGlvbiAtZyAtTyAtZm5vLW9taXQt ZnJhbWUtcG9pbnRlciAgLUkvdy9SLTMuNS5fL3Bvc3RncmVzL3NyYy9pbmNsdWRlL3BvcnQvd2lu MzIgLURFWEVDX0JBQ0tFTkQgIC1JL3cvemxpYi0xLjIuOC13aW4zMi14ODZfNjQvaW5jbHVkZSAt SS93L29wZW5zc2wtMS4wLjJlLXdpbjMyLXg4Nl82NC9pbmNsdWRlIC1JL3cvbGlieG1sMi0yLjku My13aW4zMi14ODZfNjQvaW5jbHVkZS9saWJ4bWwyIC1JL3cvbGlieHNsdC0xLjEuMjgtd2luMzIt eDg2XzY0L2luY2x1ZGUgY29uZnRlc3QuYyA+JjUKY29uZnRlc3QuYzo3OToyMjogZXJyb3I6IGNv bmZsaWN0aW5nIHR5cGVzIGZvciAnYWNjZXB0JwogZXh0ZXJuIFNPQ0tFVCBXU0FBUEkgYWNjZXB0 IChpbnQsIHZvaWQgKiwgdm9pZCAqKTsKICAgICAgICAgICAgICAgICAgICAgIF5+fn5+fgpJbiBm aWxlIGluY2x1ZGVkIGZyb20gVzovUi0zLjUuXy9wb3N0Z3Jlcy9zcmMvaW5jbHVkZS9wb3J0L3dp bjMyL3N5cy9zb2NrZXQuaDoxNCwKICAgICAgICAgICAgICAgICBmcm9tIGNvbmZ0ZXN0LmM6Nzg6 CkM6L21zeXM2NC9taW5ndzY0L3g4Nl82NC13NjQtbWluZ3czMi9pbmNsdWRlL3dpbnNvY2syLmg6 OTczOjM3OiBub3RlOiBwcmV2aW91cyBkZWNsYXJhdGlvbiBvZiAnYWNjZXB0JyB3YXMgaGVyZQog ICBXSU5TT0NLX0FQSV9MSU5LQUdFIFNPQ0tFVCBXU0FBUEkgYWNjZXB0KFNPQ0tFVCBzLHN0cnVj dCBzb2NrYWRkciAqYWRkcixpbnQgKmFkZHJsZW4pOwogICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgXn5+fn5+CmNvbmZpZ3VyZToxNDc5MTogJD8gPSAxCmNvbmZpZ3VyZTogZmFp bGVkIHByb2dyYW0gd2FzOgp8IC8qIGNvbmZkZWZzLmggKi8KfCAjZGVmaW5lIFBBQ0tBR0VfTkFN RSAiUG9zdGdyZVNRTCIKfCAjZGVmaW5lIFBBQ0tBR0VfVEFSTkFNRSAicG9zdGdyZXNxbCIKfCAj ZGVmaW5lIFBBQ0tBR0VfVkVSU0lPTiAiMTFiZXRhMyIKfCAjZGVmaW5lIFBBQ0tBR0VfU1RSSU5H ICJQb3N0Z3JlU1FMIDExYmV0YTMiCnwgI2RlZmluZSBQQUNLQUdFX0JVR1JFUE9SVCAicGdzcWwt YnVnc0Bwb3N0Z3Jlc3FsLm9yZyIKfCAjZGVmaW5lIFBBQ0tBR0VfVVJMICIiCnwgI2RlZmluZSBQ R19NQUpPUlZFUlNJT04gIjExIgp8ICNkZWZpbmUgUEdfVkVSU0lPTiAiMTFiZXRhMyIKfCAjZGVm aW5lIERFRl9QR1BPUlQgNTQzMgp8ICNkZWZpbmUgREVGX1BHUE9SVF9TVFIgIjU0MzIiCnwgI2Rl ZmluZSBCTENLU1ogODE5Mgp8ICNkZWZpbmUgUkVMU0VHX1NJWkUgMTMxMDcyCnwgI2RlZmluZSBY TE9HX0JMQ0tTWiA4MTkyCnwgI2RlZmluZSBVU0VfQVNTRVJUX0NIRUNLSU5HIDEKfCAjZGVmaW5l IEVOQUJMRV9USFJFQURfU0FGRVRZIDEKfCAjZGVmaW5lIFVTRV9JQ1UgMQp8ICNkZWZpbmUgUEdf S1JCX1NSVk5BTSAicG9zdGdyZXMiCnwgI2RlZmluZSBVU0VfT1BFTlNTTCAxCnwgI2RlZmluZSBV U0VfTElCWE1MIDEKfCAjZGVmaW5lIFVTRV9MSUJYU0xUIDEKfCAjZGVmaW5lIFNURENfSEVBREVS UyAxCnwgI2RlZmluZSBIQVZFX1NZU19UWVBFU19IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NUQVRf SCAxCnwgI2RlZmluZSBIQVZFX1NURExJQl9IIDEKfCAjZGVmaW5lIEhBVkVfU1RSSU5HX0ggMQp8 ICNkZWZpbmUgSEFWRV9NRU1PUllfSCAxCnwgI2RlZmluZSBIQVZFX1NUUklOR1NfSCAxCnwgI2Rl ZmluZSBIQVZFX0lOVFRZUEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERJTlRfSCAxCnwgI2RlZmlu ZSBIQVZFX1VOSVNURF9IIDEKfCAjZGVmaW5lIEhBVkVfTElCTSAxCnwgI2RlZmluZSBIQVZFX0xJ QlogMQp8ICNkZWZpbmUgSEFWRV9TUElOTE9DS1MgMQp8ICNkZWZpbmUgSEFWRV9BVE9NSUNTIDEK fCAjZGVmaW5lIEhBVkVfU1NMX0dFVF9DVVJSRU5UX0NPTVBSRVNTSU9OIDEKfCAjZGVmaW5lIEhB VkVfWDUwOV9HRVRfU0lHTkFUVVJFX05JRCAxCnwgI2RlZmluZSBIQVZFX0NSWVBUT19MT0NLIDEK fCAjZGVmaW5lIEhBVkVfTElCWE1MMiAxCnwgI2RlZmluZSBIQVZFX0xJQlhTTFQgMQp8ICNkZWZp bmUgSEFWRV9fQk9PTCAxCnwgI2RlZmluZSBIQVZFX1NUREJPT0xfSCAxCnwgI2RlZmluZSBIQVZF X0dFVE9QVF9IIDEKfCAjZGVmaW5lIEhBVkVfSUVFRUZQX0ggMQp8ICNkZWZpbmUgSEFWRV9VVElN RV9IIDEKfCAjZGVmaW5lIEhBVkVfV0NIQVJfSCAxCnwgI2RlZmluZSBIQVZFX1dDVFlQRV9IIDEK fCAjZGVmaW5lIEhBVkVfQ1JUREVGU19IIDEKfCAjZGVmaW5lIFBHX1BSSU5URl9BVFRSSUJVVEUg Z251X3ByaW50Zgp8ICNkZWZpbmUgRkxFWElCTEVfQVJSQVlfTUVNQkVSIC8qKi8KfCAjZGVmaW5l IEhBVkVfRlVOQ05BTUVfX0ZVTkMgMQp8ICNkZWZpbmUgSEFWRV9fU1RBVElDX0FTU0VSVCAxCnwg I2RlZmluZSBIQVZFX1RZUEVPRiAxCnwgI2RlZmluZSBIQVZFX19CVUlMVElOX1RZUEVTX0NPTVBB VElCTEVfUCAxCnwgI2RlZmluZSBIQVZFX19CVUlMVElOX0JTV0FQMTYgMQp8ICNkZWZpbmUgSEFW RV9fQlVJTFRJTl9CU1dBUDMyIDEKfCAjZGVmaW5lIEhBVkVfX0JVSUxUSU5fQlNXQVA2NCAxCnwg I2RlZmluZSBIQVZFX19CVUlMVElOX0NPTlNUQU5UX1AgMQp8ICNkZWZpbmUgSEFWRV9fQlVJTFRJ Tl9VTlJFQUNIQUJMRSAxCnwgI2RlZmluZSBIQVZFX0NPTVBVVEVEX0dPVE8gMQp8ICNkZWZpbmUg SEFWRV9fVkFfQVJHUyAxCnwgI2RlZmluZSBIQVZFX1RaTkFNRSAxCnwgI2RlZmluZSBIQVZFX1NU UlVDVF9TT0NLQUREUl9TVE9SQUdFIDEKfCAjZGVmaW5lIEhBVkVfU1RSVUNUX1NPQ0tBRERSX1NU T1JBR0VfU1NfRkFNSUxZIDEKfCAjZGVmaW5lIEhBVkVfU1RSVUNUX0FERFJJTkZPIDEKfCAjZGVm aW5lIEhBVkVfSU5UUFRSX1QgMQp8ICNkZWZpbmUgSEFWRV9VSU5UUFRSX1QgMQp8ICNkZWZpbmUg SEFWRV9VTlNJR05FRF9MT05HX0xPTkdfSU5UIDEKfCAjZGVmaW5lIEhBVkVfTE9OR19MT05HX0lO VCAxCnwgI2RlZmluZSByZXN0cmljdCBfX3Jlc3RyaWN0CnwgI2RlZmluZSBwZ19yZXN0cmljdCBf X3Jlc3RyaWN0CnwgI2RlZmluZSBIQVZFX1NUUlVDVF9PUFRJT04gMQp8ICNkZWZpbmUgU0laRU9G X09GRl9UIDQKfCAjZGVmaW5lIFNJWkVPRl9CT09MIDEKfCAjZGVmaW5lIEhBVkVfSU5UX1RJTUVa T05FIDEKfCAvKiBlbmQgY29uZmRlZnMuaC4gICovCnwgI2luY2x1ZGUgPHN5cy90eXBlcy5oPgp8 ICNpbmNsdWRlIDxzeXMvc29ja2V0Lmg+CnwgZXh0ZXJuIFNPQ0tFVCBXU0FBUEkgYWNjZXB0IChp bnQsIHZvaWQgKiwgdm9pZCAqKTsKY29uZmlndXJlOjE0NzkxOiB4ODZfNjQtdzY0LW1pbmd3MzIt Z2NjIC1jIC1XYWxsIC1XbWlzc2luZy1wcm90b3R5cGVzIC1XcG9pbnRlci1hcml0aCAtV2RlY2xh cmF0aW9uLWFmdGVyLXN0YXRlbWVudCAtV2VuZGlmLWxhYmVscyAtV21pc3NpbmctZm9ybWF0LWF0 dHJpYnV0ZSAtV2Zvcm1hdC1zZWN1cml0eSAtZm5vLXN0cmljdC1hbGlhc2luZyAtZndyYXB2IC1m ZXhjZXNzLXByZWNpc2lvbj1zdGFuZGFyZCAtV25vLWZvcm1hdC10cnVuY2F0aW9uIC1Xbm8tc3Ry aW5nb3AtdHJ1bmNhdGlvbiAtZyAtTyAtZm5vLW9taXQtZnJhbWUtcG9pbnRlciAgLUkvdy9SLTMu NS5fL3Bvc3RncmVzL3NyYy9pbmNsdWRlL3BvcnQvd2luMzIgLURFWEVDX0JBQ0tFTkQgIC1JL3cv emxpYi0xLjIuOC13aW4zMi14ODZfNjQvaW5jbHVkZSAtSS93L29wZW5zc2wtMS4wLjJlLXdpbjMy LXg4Nl82NC9pbmNsdWRlIC1JL3cvbGlieG1sMi0yLjkuMy13aW4zMi14ODZfNjQvaW5jbHVkZS9s aWJ4bWwyIC1JL3cvbGlieHNsdC0xLjEuMjgtd2luMzIteDg2XzY0L2luY2x1ZGUgY29uZnRlc3Qu YyA+JjUKY29uZnRlc3QuYzo3OToyMjogZXJyb3I6IGNvbmZsaWN0aW5nIHR5cGVzIGZvciAnYWNj ZXB0JwogZXh0ZXJuIFNPQ0tFVCBXU0FBUEkgYWNjZXB0ICh1bnNpZ25lZCBpbnQsIHN0cnVjdCBz b2NrYWRkciAqLCBpbnQgKik7CiAgICAgICAgICAgICAgICAgICAgICBefn5+fn4KSW4gZmlsZSBp bmNsdWRlZCBmcm9tIFc6L1ItMy41Ll8vcG9zdGdyZXMvc3JjL2luY2x1ZGUvcG9ydC93aW4zMi9z eXMvc29ja2V0Lmg6MTQsCiAgICAgICAgICAgICAgICAgZnJvbSBjb25mdGVzdC5jOjc4OgpDOi9t c3lzNjQvbWluZ3c2NC94ODZfNjQtdzY0LW1pbmd3MzIvaW5jbHVkZS93aW5zb2NrMi5oOjk3Mzoz Nzogbm90ZTogcHJldmlvdXMgZGVjbGFyYXRpb24gb2YgJ2FjY2VwdCcgd2FzIGhlcmUKICAgV0lO U09DS19BUElfTElOS0FHRSBTT0NLRVQgV1NBQVBJIGFjY2VwdChTT0NLRVQgcyxzdHJ1Y3Qgc29j a2FkZHIgKmFkZHIsaW50ICphZGRybGVuKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIF5+fn5+fgpjb25maWd1cmU6MTQ3OTE6ICQ/ID0gMQpjb25maWd1cmU6IGZhaWxlZCBw cm9ncmFtIHdhczoKfCAvKiBjb25mZGVmcy5oICovCnwgI2RlZmluZSBQQUNLQUdFX05BTUUgIlBv c3RncmVTUUwiCnwgI2RlZmluZSBQQUNLQUdFX1RBUk5BTUUgInBvc3RncmVzcWwiCnwgI2RlZmlu ZSBQQUNLQUdFX1ZFUlNJT04gIjExYmV0YTMiCnwgI2RlZmluZSBQQUNLQUdFX1NUUklORyAiUG9z dGdyZVNRTCAxMWJldGEzIgp8ICNkZWZpbmUgUEFDS0FHRV9CVUdSRVBPUlQgInBnc3FsLWJ1Z3NA cG9zdGdyZXNxbC5vcmciCnwgI2RlZmluZSBQQUNLQUdFX1VSTCAiIgp8ICNkZWZpbmUgUEdfTUFK T1JWRVJTSU9OICIxMSIKfCAjZGVmaW5lIFBHX1ZFUlNJT04gIjExYmV0YTMiCnwgI2RlZmluZSBE RUZfUEdQT1JUIDU0MzIKfCAjZGVmaW5lIERFRl9QR1BPUlRfU1RSICI1NDMyIgp8ICNkZWZpbmUg QkxDS1NaIDgxOTIKfCAjZGVmaW5lIFJFTFNFR19TSVpFIDEzMTA3Mgp8ICNkZWZpbmUgWExPR19C TENLU1ogODE5Mgp8ICNkZWZpbmUgVVNFX0FTU0VSVF9DSEVDS0lORyAxCnwgI2RlZmluZSBFTkFC TEVfVEhSRUFEX1NBRkVUWSAxCnwgI2RlZmluZSBVU0VfSUNVIDEKfCAjZGVmaW5lIFBHX0tSQl9T UlZOQU0gInBvc3RncmVzIgp8ICNkZWZpbmUgVVNFX09QRU5TU0wgMQp8ICNkZWZpbmUgVVNFX0xJ QlhNTCAxCnwgI2RlZmluZSBVU0VfTElCWFNMVCAxCnwgI2RlZmluZSBTVERDX0hFQURFUlMgMQp8 ICNkZWZpbmUgSEFWRV9TWVNfVFlQRVNfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19TVEFUX0ggMQp8 ICNkZWZpbmUgSEFWRV9TVERMSUJfSCAxCnwgI2RlZmluZSBIQVZFX1NUUklOR19IIDEKfCAjZGVm aW5lIEhBVkVfTUVNT1JZX0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJJTkdTX0ggMQp8ICNkZWZpbmUg SEFWRV9JTlRUWVBFU19IIDEKfCAjZGVmaW5lIEhBVkVfU1RESU5UX0ggMQp8ICNkZWZpbmUgSEFW RV9VTklTVERfSCAxCnwgI2RlZmluZSBIQVZFX0xJQk0gMQp8ICNkZWZpbmUgSEFWRV9MSUJaIDEK fCAjZGVmaW5lIEhBVkVfU1BJTkxPQ0tTIDEKfCAjZGVmaW5lIEhBVkVfQVRPTUlDUyAxCnwgI2Rl ZmluZSBIQVZFX1NTTF9HRVRfQ1VSUkVOVF9DT01QUkVTU0lPTiAxCnwgI2RlZmluZSBIQVZFX1g1 MDlfR0VUX1NJR05BVFVSRV9OSUQgMQp8ICNkZWZpbmUgSEFWRV9DUllQVE9fTE9DSyAxCnwgI2Rl ZmluZSBIQVZFX0xJQlhNTDIgMQp8ICNkZWZpbmUgSEFWRV9MSUJYU0xUIDEKfCAjZGVmaW5lIEhB VkVfX0JPT0wgMQp8ICNkZWZpbmUgSEFWRV9TVERCT09MX0ggMQp8ICNkZWZpbmUgSEFWRV9HRVRP UFRfSCAxCnwgI2RlZmluZSBIQVZFX0lFRUVGUF9IIDEKfCAjZGVmaW5lIEhBVkVfVVRJTUVfSCAx CnwgI2RlZmluZSBIQVZFX1dDSEFSX0ggMQp8ICNkZWZpbmUgSEFWRV9XQ1RZUEVfSCAxCnwgI2Rl ZmluZSBIQVZFX0NSVERFRlNfSCAxCnwgI2RlZmluZSBQR19QUklOVEZfQVRUUklCVVRFIGdudV9w cmludGYKfCAjZGVmaW5lIEZMRVhJQkxFX0FSUkFZX01FTUJFUiAvKiovCnwgI2RlZmluZSBIQVZF X0ZVTkNOQU1FX19GVU5DIDEKfCAjZGVmaW5lIEhBVkVfX1NUQVRJQ19BU1NFUlQgMQp8ICNkZWZp bmUgSEFWRV9UWVBFT0YgMQp8ICNkZWZpbmUgSEFWRV9fQlVJTFRJTl9UWVBFU19DT01QQVRJQkxF X1AgMQp8ICNkZWZpbmUgSEFWRV9fQlVJTFRJTl9CU1dBUDE2IDEKfCAjZGVmaW5lIEhBVkVfX0JV SUxUSU5fQlNXQVAzMiAxCnwgI2RlZmluZSBIQVZFX19CVUlMVElOX0JTV0FQNjQgMQp8ICNkZWZp bmUgSEFWRV9fQlVJTFRJTl9DT05TVEFOVF9QIDEKfCAjZGVmaW5lIEhBVkVfX0JVSUxUSU5fVU5S RUFDSEFCTEUgMQp8ICNkZWZpbmUgSEFWRV9DT01QVVRFRF9HT1RPIDEKfCAjZGVmaW5lIEhBVkVf X1ZBX0FSR1MgMQp8ICNkZWZpbmUgSEFWRV9UWk5BTUUgMQp8ICNkZWZpbmUgSEFWRV9TVFJVQ1Rf U09DS0FERFJfU1RPUkFHRSAxCnwgI2RlZmluZSBIQVZFX1NUUlVDVF9TT0NLQUREUl9TVE9SQUdF X1NTX0ZBTUlMWSAxCnwgI2RlZmluZSBIQVZFX1NUUlVDVF9BRERSSU5GTyAxCnwgI2RlZmluZSBI QVZFX0lOVFBUUl9UIDEKfCAjZGVmaW5lIEhBVkVfVUlOVFBUUl9UIDEKfCAjZGVmaW5lIEhBVkVf VU5TSUdORURfTE9OR19MT05HX0lOVCAxCnwgI2RlZmluZSBIQVZFX0xPTkdfTE9OR19JTlQgMQp8 ICNkZWZpbmUgcmVzdHJpY3QgX19yZXN0cmljdAp8ICNkZWZpbmUgcGdfcmVzdHJpY3QgX19yZXN0 cmljdAp8ICNkZWZpbmUgSEFWRV9TVFJVQ1RfT1BUSU9OIDEKfCAjZGVmaW5lIFNJWkVPRl9PRkZf VCA0CnwgI2RlZmluZSBTSVpFT0ZfQk9PTCAxCnwgI2RlZmluZSBIQVZFX0lOVF9USU1FWk9ORSAx CnwgLyogZW5kIGNvbmZkZWZzLmguICAqLwp8ICNpbmNsdWRlIDxzeXMvdHlwZXMuaD4KfCAjaW5j bHVkZSA8c3lzL3NvY2tldC5oPgp8IGV4dGVybiBTT0NLRVQgV1NBQVBJIGFjY2VwdCAodW5zaWdu ZWQgaW50LCBzdHJ1Y3Qgc29ja2FkZHIgKiwgaW50ICopOwpjb25maWd1cmU6MTQ3OTE6IHg4Nl82 NC13NjQtbWluZ3czMi1nY2MgLWMgLVdhbGwgLVdtaXNzaW5nLXByb3RvdHlwZXMgLVdwb2ludGVy LWFyaXRoIC1XZGVjbGFyYXRpb24tYWZ0ZXItc3RhdGVtZW50IC1XZW5kaWYtbGFiZWxzIC1XbWlz c2luZy1mb3JtYXQtYXR0cmlidXRlIC1XZm9ybWF0LXNlY3VyaXR5IC1mbm8tc3RyaWN0LWFsaWFz aW5nIC1md3JhcHYgLWZleGNlc3MtcHJlY2lzaW9uPXN0YW5kYXJkIC1Xbm8tZm9ybWF0LXRydW5j YXRpb24gLVduby1zdHJpbmdvcC10cnVuY2F0aW9uIC1nIC1PIC1mbm8tb21pdC1mcmFtZS1wb2lu dGVyICAtSS93L1ItMy41Ll8vcG9zdGdyZXMvc3JjL2luY2x1ZGUvcG9ydC93aW4zMiAtREVYRUNf QkFDS0VORCAgLUkvdy96bGliLTEuMi44LXdpbjMyLXg4Nl82NC9pbmNsdWRlIC1JL3cvb3BlbnNz bC0xLjAuMmUtd2luMzIteDg2XzY0L2luY2x1ZGUgLUkvdy9saWJ4bWwyLTIuOS4zLXdpbjMyLXg4 Nl82NC9pbmNsdWRlL2xpYnhtbDIgLUkvdy9saWJ4c2x0LTEuMS4yOC13aW4zMi14ODZfNjQvaW5j bHVkZSBjb25mdGVzdC5jID4mNQpjb25mdGVzdC5jOjc5OjIyOiBlcnJvcjogY29uZmxpY3Rpbmcg dHlwZXMgZm9yICdhY2NlcHQnCiBleHRlcm4gU09DS0VUIFdTQUFQSSBhY2NlcHQgKHVuc2lnbmVk IGludCwgc3RydWN0IHNvY2thZGRyICosIHNpemVfdCAqKTsKICAgICAgICAgICAgICAgICAgICAg IF5+fn5+fgpJbiBmaWxlIGluY2x1ZGVkIGZyb20gVzovUi0zLjUuXy9wb3N0Z3Jlcy9zcmMvaW5j bHVkZS9wb3J0L3dpbjMyL3N5cy9zb2NrZXQuaDoxNCwKICAgICAgICAgICAgICAgICBmcm9tIGNv bmZ0ZXN0LmM6Nzg6CkM6L21zeXM2NC9taW5ndzY0L3g4Nl82NC13NjQtbWluZ3czMi9pbmNsdWRl L3dpbnNvY2syLmg6OTczOjM3OiBub3RlOiBwcmV2aW91cyBkZWNsYXJhdGlvbiBvZiAnYWNjZXB0 JyB3YXMgaGVyZQogICBXSU5TT0NLX0FQSV9MSU5LQUdFIFNPQ0tFVCBXU0FBUEkgYWNjZXB0KFNP Q0tFVCBzLHN0cnVjdCBzb2NrYWRkciAqYWRkcixpbnQgKmFkZHJsZW4pOwogICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgXn5+fn5+CmNvbmZpZ3VyZToxNDc5MTogJD8gPSAxCmNv bmZpZ3VyZTogZmFpbGVkIHByb2dyYW0gd2FzOgp8IC8qIGNvbmZkZWZzLmggKi8KfCAjZGVmaW5l IFBBQ0tBR0VfTkFNRSAiUG9zdGdyZVNRTCIKfCAjZGVmaW5lIFBBQ0tBR0VfVEFSTkFNRSAicG9z dGdyZXNxbCIKfCAjZGVmaW5lIFBBQ0tBR0VfVkVSU0lPTiAiMTFiZXRhMyIKfCAjZGVmaW5lIFBB Q0tBR0VfU1RSSU5HICJQb3N0Z3JlU1FMIDExYmV0YTMiCnwgI2RlZmluZSBQQUNLQUdFX0JVR1JF UE9SVCAicGdzcWwtYnVnc0Bwb3N0Z3Jlc3FsLm9yZyIKfCAjZGVmaW5lIFBBQ0tBR0VfVVJMICIi CnwgI2RlZmluZSBQR19NQUpPUlZFUlNJT04gIjExIgp8ICNkZWZpbmUgUEdfVkVSU0lPTiAiMTFi ZXRhMyIKfCAjZGVmaW5lIERFRl9QR1BPUlQgNTQzMgp8ICNkZWZpbmUgREVGX1BHUE9SVF9TVFIg IjU0MzIiCnwgI2RlZmluZSBCTENLU1ogODE5Mgp8ICNkZWZpbmUgUkVMU0VHX1NJWkUgMTMxMDcy CnwgI2RlZmluZSBYTE9HX0JMQ0tTWiA4MTkyCnwgI2RlZmluZSBVU0VfQVNTRVJUX0NIRUNLSU5H IDEKfCAjZGVmaW5lIEVOQUJMRV9USFJFQURfU0FGRVRZIDEKfCAjZGVmaW5lIFVTRV9JQ1UgMQp8 ICNkZWZpbmUgUEdfS1JCX1NSVk5BTSAicG9zdGdyZXMiCnwgI2RlZmluZSBVU0VfT1BFTlNTTCAx CnwgI2RlZmluZSBVU0VfTElCWE1MIDEKfCAjZGVmaW5lIFVTRV9MSUJYU0xUIDEKfCAjZGVmaW5l IFNURENfSEVBREVSUyAxCnwgI2RlZmluZSBIQVZFX1NZU19UWVBFU19IIDEKfCAjZGVmaW5lIEhB VkVfU1lTX1NUQVRfSCAxCnwgI2RlZmluZSBIQVZFX1NURExJQl9IIDEKfCAjZGVmaW5lIEhBVkVf U1RSSU5HX0ggMQp8ICNkZWZpbmUgSEFWRV9NRU1PUllfSCAxCnwgI2RlZmluZSBIQVZFX1NUUklO R1NfSCAxCnwgI2RlZmluZSBIQVZFX0lOVFRZUEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERJTlRf SCAxCnwgI2RlZmluZSBIQVZFX1VOSVNURF9IIDEKfCAjZGVmaW5lIEhBVkVfTElCTSAxCnwgI2Rl ZmluZSBIQVZFX0xJQlogMQp8ICNkZWZpbmUgSEFWRV9TUElOTE9DS1MgMQp8ICNkZWZpbmUgSEFW RV9BVE9NSUNTIDEKfCAjZGVmaW5lIEhBVkVfU1NMX0dFVF9DVVJSRU5UX0NPTVBSRVNTSU9OIDEK fCAjZGVmaW5lIEhBVkVfWDUwOV9HRVRfU0lHTkFUVVJFX05JRCAxCnwgI2RlZmluZSBIQVZFX0NS WVBUT19MT0NLIDEKfCAjZGVmaW5lIEhBVkVfTElCWE1MMiAxCnwgI2RlZmluZSBIQVZFX0xJQlhT TFQgMQp8ICNkZWZpbmUgSEFWRV9fQk9PTCAxCnwgI2RlZmluZSBIQVZFX1NUREJPT0xfSCAxCnwg I2RlZmluZSBIQVZFX0dFVE9QVF9IIDEKfCAjZGVmaW5lIEhBVkVfSUVFRUZQX0ggMQp8ICNkZWZp bmUgSEFWRV9VVElNRV9IIDEKfCAjZGVmaW5lIEhBVkVfV0NIQVJfSCAxCnwgI2RlZmluZSBIQVZF X1dDVFlQRV9IIDEKfCAjZGVmaW5lIEhBVkVfQ1JUREVGU19IIDEKfCAjZGVmaW5lIFBHX1BSSU5U Rl9BVFRSSUJVVEUgZ251X3ByaW50Zgp8ICNkZWZpbmUgRkxFWElCTEVfQVJSQVlfTUVNQkVSIC8q Ki8KfCAjZGVmaW5lIEhBVkVfRlVOQ05BTUVfX0ZVTkMgMQp8ICNkZWZpbmUgSEFWRV9fU1RBVElD X0FTU0VSVCAxCnwgI2RlZmluZSBIQVZFX1RZUEVPRiAxCnwgI2RlZmluZSBIQVZFX19CVUlMVElO X1RZUEVTX0NPTVBBVElCTEVfUCAxCnwgI2RlZmluZSBIQVZFX19CVUlMVElOX0JTV0FQMTYgMQp8 ICNkZWZpbmUgSEFWRV9fQlVJTFRJTl9CU1dBUDMyIDEKfCAjZGVmaW5lIEhBVkVfX0JVSUxUSU5f QlNXQVA2NCAxCnwgI2RlZmluZSBIQVZFX19CVUlMVElOX0NPTlNUQU5UX1AgMQp8ICNkZWZpbmUg SEFWRV9fQlVJTFRJTl9VTlJFQUNIQUJMRSAxCnwgI2RlZmluZSBIQVZFX0NPTVBVVEVEX0dPVE8g MQp8ICNkZWZpbmUgSEFWRV9fVkFfQVJHUyAxCnwgI2RlZmluZSBIQVZFX1RaTkFNRSAxCnwgI2Rl ZmluZSBIQVZFX1NUUlVDVF9TT0NLQUREUl9TVE9SQUdFIDEKfCAjZGVmaW5lIEhBVkVfU1RSVUNU X1NPQ0tBRERSX1NUT1JBR0VfU1NfRkFNSUxZIDEKfCAjZGVmaW5lIEhBVkVfU1RSVUNUX0FERFJJ TkZPIDEKfCAjZGVmaW5lIEhBVkVfSU5UUFRSX1QgMQp8ICNkZWZpbmUgSEFWRV9VSU5UUFRSX1Qg MQp8ICNkZWZpbmUgSEFWRV9VTlNJR05FRF9MT05HX0xPTkdfSU5UIDEKfCAjZGVmaW5lIEhBVkVf TE9OR19MT05HX0lOVCAxCnwgI2RlZmluZSByZXN0cmljdCBfX3Jlc3RyaWN0CnwgI2RlZmluZSBw Z19yZXN0cmljdCBfX3Jlc3RyaWN0CnwgI2RlZmluZSBIQVZFX1NUUlVDVF9PUFRJT04gMQp8ICNk ZWZpbmUgU0laRU9GX09GRl9UIDQKfCAjZGVmaW5lIFNJWkVPRl9CT09MIDEKfCAjZGVmaW5lIEhB VkVfSU5UX1RJTUVaT05FIDEKfCAvKiBlbmQgY29uZmRlZnMuaC4gICovCnwgI2luY2x1ZGUgPHN5 cy90eXBlcy5oPgp8ICNpbmNsdWRlIDxzeXMvc29ja2V0Lmg+CnwgZXh0ZXJuIFNPQ0tFVCBXU0FB UEkgYWNjZXB0ICh1bnNpZ25lZCBpbnQsIHN0cnVjdCBzb2NrYWRkciAqLCBzaXplX3QgKik7CmNv bmZpZ3VyZToxNDc5MTogeDg2XzY0LXc2NC1taW5ndzMyLWdjYyAtYyAtV2FsbCAtV21pc3Npbmct cHJvdG90eXBlcyAtV3BvaW50ZXItYXJpdGggLVdkZWNsYXJhdGlvbi1hZnRlci1zdGF0ZW1lbnQg LVdlbmRpZi1sYWJlbHMgLVdtaXNzaW5nLWZvcm1hdC1hdHRyaWJ1dGUgLVdmb3JtYXQtc2VjdXJp dHkgLWZuby1zdHJpY3QtYWxpYXNpbmcgLWZ3cmFwdiAtZmV4Y2Vzcy1wcmVjaXNpb249c3RhbmRh cmQgLVduby1mb3JtYXQtdHJ1bmNhdGlvbiAtV25vLXN0cmluZ29wLXRydW5jYXRpb24gLWcgLU8g LWZuby1vbWl0LWZyYW1lLXBvaW50ZXIgIC1JL3cvUi0zLjUuXy9wb3N0Z3Jlcy9zcmMvaW5jbHVk ZS9wb3J0L3dpbjMyIC1ERVhFQ19CQUNLRU5EICAtSS93L3psaWItMS4yLjgtd2luMzIteDg2XzY0 L2luY2x1ZGUgLUkvdy9vcGVuc3NsLTEuMC4yZS13aW4zMi14ODZfNjQvaW5jbHVkZSAtSS93L2xp YnhtbDItMi45LjMtd2luMzIteDg2XzY0L2luY2x1ZGUvbGlieG1sMiAtSS93L2xpYnhzbHQtMS4x LjI4LXdpbjMyLXg4Nl82NC9pbmNsdWRlIGNvbmZ0ZXN0LmMgPiY1CmNvbmZ0ZXN0LmM6Nzk6MjI6 IGVycm9yOiBjb25mbGljdGluZyB0eXBlcyBmb3IgJ2FjY2VwdCcKIGV4dGVybiBTT0NLRVQgV1NB QVBJIGFjY2VwdCAodW5zaWduZWQgaW50LCBzdHJ1Y3Qgc29ja2FkZHIgKiwgc29ja2xlbl90ICop OwogICAgICAgICAgICAgICAgICAgICAgXn5+fn5+CkluIGZpbGUgaW5jbHVkZWQgZnJvbSBXOi9S LTMuNS5fL3Bvc3RncmVzL3NyYy9pbmNsdWRlL3BvcnQvd2luMzIvc3lzL3NvY2tldC5oOjE0LAog ICAgICAgICAgICAgICAgIGZyb20gY29uZnRlc3QuYzo3ODoKQzovbXN5czY0L21pbmd3NjQveDg2 XzY0LXc2NC1taW5ndzMyL2luY2x1ZGUvd2luc29jazIuaDo5NzM6Mzc6IG5vdGU6IHByZXZpb3Vz IGRlY2xhcmF0aW9uIG9mICdhY2NlcHQnIHdhcyBoZXJlCiAgIFdJTlNPQ0tfQVBJX0xJTktBR0Ug U09DS0VUIFdTQUFQSSBhY2NlcHQoU09DS0VUIHMsc3RydWN0IHNvY2thZGRyICphZGRyLGludCAq YWRkcmxlbik7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBefn5+fn4KY29u ZmlndXJlOjE0NzkxOiAkPyA9IDEKY29uZmlndXJlOiBmYWlsZWQgcHJvZ3JhbSB3YXM6CnwgLyog Y29uZmRlZnMuaCAqLwp8ICNkZWZpbmUgUEFDS0FHRV9OQU1FICJQb3N0Z3JlU1FMIgp8ICNkZWZp bmUgUEFDS0FHRV9UQVJOQU1FICJwb3N0Z3Jlc3FsIgp8ICNkZWZpbmUgUEFDS0FHRV9WRVJTSU9O ICIxMWJldGEzIgp8ICNkZWZpbmUgUEFDS0FHRV9TVFJJTkcgIlBvc3RncmVTUUwgMTFiZXRhMyIK fCAjZGVmaW5lIFBBQ0tBR0VfQlVHUkVQT1JUICJwZ3NxbC1idWdzQHBvc3RncmVzcWwub3JnIgp8 ICNkZWZpbmUgUEFDS0FHRV9VUkwgIiIKfCAjZGVmaW5lIFBHX01BSk9SVkVSU0lPTiAiMTEiCnwg I2RlZmluZSBQR19WRVJTSU9OICIxMWJldGEzIgp8ICNkZWZpbmUgREVGX1BHUE9SVCA1NDMyCnwg I2RlZmluZSBERUZfUEdQT1JUX1NUUiAiNTQzMiIKfCAjZGVmaW5lIEJMQ0tTWiA4MTkyCnwgI2Rl ZmluZSBSRUxTRUdfU0laRSAxMzEwNzIKfCAjZGVmaW5lIFhMT0dfQkxDS1NaIDgxOTIKfCAjZGVm aW5lIFVTRV9BU1NFUlRfQ0hFQ0tJTkcgMQp8ICNkZWZpbmUgRU5BQkxFX1RIUkVBRF9TQUZFVFkg MQp8ICNkZWZpbmUgVVNFX0lDVSAxCnwgI2RlZmluZSBQR19LUkJfU1JWTkFNICJwb3N0Z3JlcyIK fCAjZGVmaW5lIFVTRV9PUEVOU1NMIDEKfCAjZGVmaW5lIFVTRV9MSUJYTUwgMQp8ICNkZWZpbmUg VVNFX0xJQlhTTFQgMQp8ICNkZWZpbmUgU1REQ19IRUFERVJTIDEKfCAjZGVmaW5lIEhBVkVfU1lT X1RZUEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfU1RBVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1RE TElCX0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJJTkdfSCAxCnwgI2RlZmluZSBIQVZFX01FTU9SWV9I IDEKfCAjZGVmaW5lIEhBVkVfU1RSSU5HU19IIDEKfCAjZGVmaW5lIEhBVkVfSU5UVFlQRVNfSCAx CnwgI2RlZmluZSBIQVZFX1NURElOVF9IIDEKfCAjZGVmaW5lIEhBVkVfVU5JU1REX0ggMQp8ICNk ZWZpbmUgSEFWRV9MSUJNIDEKfCAjZGVmaW5lIEhBVkVfTElCWiAxCnwgI2RlZmluZSBIQVZFX1NQ SU5MT0NLUyAxCnwgI2RlZmluZSBIQVZFX0FUT01JQ1MgMQp8ICNkZWZpbmUgSEFWRV9TU0xfR0VU X0NVUlJFTlRfQ09NUFJFU1NJT04gMQp8ICNkZWZpbmUgSEFWRV9YNTA5X0dFVF9TSUdOQVRVUkVf TklEIDEKfCAjZGVmaW5lIEhBVkVfQ1JZUFRPX0xPQ0sgMQp8ICNkZWZpbmUgSEFWRV9MSUJYTUwy IDEKfCAjZGVmaW5lIEhBVkVfTElCWFNMVCAxCnwgI2RlZmluZSBIQVZFX19CT09MIDEKfCAjZGVm aW5lIEhBVkVfU1REQk9PTF9IIDEKfCAjZGVmaW5lIEhBVkVfR0VUT1BUX0ggMQp8ICNkZWZpbmUg SEFWRV9JRUVFRlBfSCAxCnwgI2RlZmluZSBIQVZFX1VUSU1FX0ggMQp8ICNkZWZpbmUgSEFWRV9X Q0hBUl9IIDEKfCAjZGVmaW5lIEhBVkVfV0NUWVBFX0ggMQp8ICNkZWZpbmUgSEFWRV9DUlRERUZT X0ggMQp8ICNkZWZpbmUgUEdfUFJJTlRGX0FUVFJJQlVURSBnbnVfcHJpbnRmCnwgI2RlZmluZSBG TEVYSUJMRV9BUlJBWV9NRU1CRVIgLyoqLwp8ICNkZWZpbmUgSEFWRV9GVU5DTkFNRV9fRlVOQyAx CnwgI2RlZmluZSBIQVZFX19TVEFUSUNfQVNTRVJUIDEKfCAjZGVmaW5lIEhBVkVfVFlQRU9GIDEK fCAjZGVmaW5lIEhBVkVfX0JVSUxUSU5fVFlQRVNfQ09NUEFUSUJMRV9QIDEKfCAjZGVmaW5lIEhB VkVfX0JVSUxUSU5fQlNXQVAxNiAxCnwgI2RlZmluZSBIQVZFX19CVUlMVElOX0JTV0FQMzIgMQp8 ICNkZWZpbmUgSEFWRV9fQlVJTFRJTl9CU1dBUDY0IDEKfCAjZGVmaW5lIEhBVkVfX0JVSUxUSU5f Q09OU1RBTlRfUCAxCnwgI2RlZmluZSBIQVZFX19CVUlMVElOX1VOUkVBQ0hBQkxFIDEKfCAjZGVm aW5lIEhBVkVfQ09NUFVURURfR09UTyAxCnwgI2RlZmluZSBIQVZFX19WQV9BUkdTIDEKfCAjZGVm aW5lIEhBVkVfVFpOQU1FIDEKfCAjZGVmaW5lIEhBVkVfU1RSVUNUX1NPQ0tBRERSX1NUT1JBR0Ug MQp8ICNkZWZpbmUgSEFWRV9TVFJVQ1RfU09DS0FERFJfU1RPUkFHRV9TU19GQU1JTFkgMQp8ICNk ZWZpbmUgSEFWRV9TVFJVQ1RfQUREUklORk8gMQp8ICNkZWZpbmUgSEFWRV9JTlRQVFJfVCAxCnwg I2RlZmluZSBIQVZFX1VJTlRQVFJfVCAxCnwgI2RlZmluZSBIQVZFX1VOU0lHTkVEX0xPTkdfTE9O R19JTlQgMQp8ICNkZWZpbmUgSEFWRV9MT05HX0xPTkdfSU5UIDEKfCAjZGVmaW5lIHJlc3RyaWN0 IF9fcmVzdHJpY3QKfCAjZGVmaW5lIHBnX3Jlc3RyaWN0IF9fcmVzdHJpY3QKfCAjZGVmaW5lIEhB VkVfU1RSVUNUX09QVElPTiAxCnwgI2RlZmluZSBTSVpFT0ZfT0ZGX1QgNAp8ICNkZWZpbmUgU0la RU9GX0JPT0wgMQp8ICNkZWZpbmUgSEFWRV9JTlRfVElNRVpPTkUgMQp8IC8qIGVuZCBjb25mZGVm cy5oLiAgKi8KfCAjaW5jbHVkZSA8c3lzL3R5cGVzLmg+CnwgI2luY2x1ZGUgPHN5cy9zb2NrZXQu aD4KfCBleHRlcm4gU09DS0VUIFdTQUFQSSBhY2NlcHQgKHVuc2lnbmVkIGludCwgc3RydWN0IHNv Y2thZGRyICosIHNvY2tsZW5fdCAqKTsKY29uZmlndXJlOjE0NzkxOiB4ODZfNjQtdzY0LW1pbmd3 MzItZ2NjIC1jIC1XYWxsIC1XbWlzc2luZy1wcm90b3R5cGVzIC1XcG9pbnRlci1hcml0aCAtV2Rl Y2xhcmF0aW9uLWFmdGVyLXN0YXRlbWVudCAtV2VuZGlmLWxhYmVscyAtV21pc3NpbmctZm9ybWF0 LWF0dHJpYnV0ZSAtV2Zvcm1hdC1zZWN1cml0eSAtZm5vLXN0cmljdC1hbGlhc2luZyAtZndyYXB2 IC1mZXhjZXNzLXByZWNpc2lvbj1zdGFuZGFyZCAtV25vLWZvcm1hdC10cnVuY2F0aW9uIC1Xbm8t c3RyaW5nb3AtdHJ1bmNhdGlvbiAtZyAtTyAtZm5vLW9taXQtZnJhbWUtcG9pbnRlciAgLUkvdy9S LTMuNS5fL3Bvc3RncmVzL3NyYy9pbmNsdWRlL3BvcnQvd2luMzIgLURFWEVDX0JBQ0tFTkQgIC1J L3cvemxpYi0xLjIuOC13aW4zMi14ODZfNjQvaW5jbHVkZSAtSS93L29wZW5zc2wtMS4wLjJlLXdp bjMyLXg4Nl82NC9pbmNsdWRlIC1JL3cvbGlieG1sMi0yLjkuMy13aW4zMi14ODZfNjQvaW5jbHVk ZS9saWJ4bWwyIC1JL3cvbGlieHNsdC0xLjEuMjgtd2luMzIteDg2XzY0L2luY2x1ZGUgY29uZnRl c3QuYyA+JjUKY29uZnRlc3QuYzo3OToyMjogZXJyb3I6IGNvbmZsaWN0aW5nIHR5cGVzIGZvciAn YWNjZXB0JwogZXh0ZXJuIFNPQ0tFVCBXU0FBUEkgYWNjZXB0ICh1bnNpZ25lZCBpbnQsIHN0cnVj dCBzb2NrYWRkciAqLCB1bnNpZ25lZCBpbnQgKik7CiAgICAgICAgICAgICAgICAgICAgICBefn5+ fn4KSW4gZmlsZSBpbmNsdWRlZCBmcm9tIFc6L1ItMy41Ll8vcG9zdGdyZXMvc3JjL2luY2x1ZGUv cG9ydC93aW4zMi9zeXMvc29ja2V0Lmg6MTQsCiAgICAgICAgICAgICAgICAgZnJvbSBjb25mdGVz dC5jOjc4OgpDOi9tc3lzNjQvbWluZ3c2NC94ODZfNjQtdzY0LW1pbmd3MzIvaW5jbHVkZS93aW5z b2NrMi5oOjk3MzozNzogbm90ZTogcHJldmlvdXMgZGVjbGFyYXRpb24gb2YgJ2FjY2VwdCcgd2Fz IGhlcmUKICAgV0lOU09DS19BUElfTElOS0FHRSBTT0NLRVQgV1NBQVBJIGFjY2VwdChTT0NLRVQg cyxzdHJ1Y3Qgc29ja2FkZHIgKmFkZHIsaW50ICphZGRybGVuKTsKICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIF5+fn5+fgpjb25maWd1cmU6MTQ3OTE6ICQ/ID0gMQpjb25maWd1 cmU6IGZhaWxlZCBwcm9ncmFtIHdhczoKfCAvKiBjb25mZGVmcy5oICovCnwgI2RlZmluZSBQQUNL QUdFX05BTUUgIlBvc3RncmVTUUwiCnwgI2RlZmluZSBQQUNLQUdFX1RBUk5BTUUgInBvc3RncmVz cWwiCnwgI2RlZmluZSBQQUNLQUdFX1ZFUlNJT04gIjExYmV0YTMiCnwgI2RlZmluZSBQQUNLQUdF X1NUUklORyAiUG9zdGdyZVNRTCAxMWJldGEzIgp8ICNkZWZpbmUgUEFDS0FHRV9CVUdSRVBPUlQg InBnc3FsLWJ1Z3NAcG9zdGdyZXNxbC5vcmciCnwgI2RlZmluZSBQQUNLQUdFX1VSTCAiIgp8ICNk ZWZpbmUgUEdfTUFKT1JWRVJTSU9OICIxMSIKfCAjZGVmaW5lIFBHX1ZFUlNJT04gIjExYmV0YTMi CnwgI2RlZmluZSBERUZfUEdQT1JUIDU0MzIKfCAjZGVmaW5lIERFRl9QR1BPUlRfU1RSICI1NDMy Igp8ICNkZWZpbmUgQkxDS1NaIDgxOTIKfCAjZGVmaW5lIFJFTFNFR19TSVpFIDEzMTA3Mgp8ICNk ZWZpbmUgWExPR19CTENLU1ogODE5Mgp8ICNkZWZpbmUgVVNFX0FTU0VSVF9DSEVDS0lORyAxCnwg I2RlZmluZSBFTkFCTEVfVEhSRUFEX1NBRkVUWSAxCnwgI2RlZmluZSBVU0VfSUNVIDEKfCAjZGVm aW5lIFBHX0tSQl9TUlZOQU0gInBvc3RncmVzIgp8ICNkZWZpbmUgVVNFX09QRU5TU0wgMQp8ICNk ZWZpbmUgVVNFX0xJQlhNTCAxCnwgI2RlZmluZSBVU0VfTElCWFNMVCAxCnwgI2RlZmluZSBTVERD X0hFQURFUlMgMQp8ICNkZWZpbmUgSEFWRV9TWVNfVFlQRVNfSCAxCnwgI2RlZmluZSBIQVZFX1NZ U19TVEFUX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERMSUJfSCAxCnwgI2RlZmluZSBIQVZFX1NUUklO R19IIDEKfCAjZGVmaW5lIEhBVkVfTUVNT1JZX0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJJTkdTX0gg MQp8ICNkZWZpbmUgSEFWRV9JTlRUWVBFU19IIDEKfCAjZGVmaW5lIEhBVkVfU1RESU5UX0ggMQp8 ICNkZWZpbmUgSEFWRV9VTklTVERfSCAxCnwgI2RlZmluZSBIQVZFX0xJQk0gMQp8ICNkZWZpbmUg SEFWRV9MSUJaIDEKfCAjZGVmaW5lIEhBVkVfU1BJTkxPQ0tTIDEKfCAjZGVmaW5lIEhBVkVfQVRP TUlDUyAxCnwgI2RlZmluZSBIQVZFX1NTTF9HRVRfQ1VSUkVOVF9DT01QUkVTU0lPTiAxCnwgI2Rl ZmluZSBIQVZFX1g1MDlfR0VUX1NJR05BVFVSRV9OSUQgMQp8ICNkZWZpbmUgSEFWRV9DUllQVE9f TE9DSyAxCnwgI2RlZmluZSBIQVZFX0xJQlhNTDIgMQp8ICNkZWZpbmUgSEFWRV9MSUJYU0xUIDEK fCAjZGVmaW5lIEhBVkVfX0JPT0wgMQp8ICNkZWZpbmUgSEFWRV9TVERCT09MX0ggMQp8ICNkZWZp bmUgSEFWRV9HRVRPUFRfSCAxCnwgI2RlZmluZSBIQVZFX0lFRUVGUF9IIDEKfCAjZGVmaW5lIEhB VkVfVVRJTUVfSCAxCnwgI2RlZmluZSBIQVZFX1dDSEFSX0ggMQp8ICNkZWZpbmUgSEFWRV9XQ1RZ UEVfSCAxCnwgI2RlZmluZSBIQVZFX0NSVERFRlNfSCAxCnwgI2RlZmluZSBQR19QUklOVEZfQVRU UklCVVRFIGdudV9wcmludGYKfCAjZGVmaW5lIEZMRVhJQkxFX0FSUkFZX01FTUJFUiAvKiovCnwg I2RlZmluZSBIQVZFX0ZVTkNOQU1FX19GVU5DIDEKfCAjZGVmaW5lIEhBVkVfX1NUQVRJQ19BU1NF UlQgMQp8ICNkZWZpbmUgSEFWRV9UWVBFT0YgMQp8ICNkZWZpbmUgSEFWRV9fQlVJTFRJTl9UWVBF U19DT01QQVRJQkxFX1AgMQp8ICNkZWZpbmUgSEFWRV9fQlVJTFRJTl9CU1dBUDE2IDEKfCAjZGVm aW5lIEhBVkVfX0JVSUxUSU5fQlNXQVAzMiAxCnwgI2RlZmluZSBIQVZFX19CVUlMVElOX0JTV0FQ NjQgMQp8ICNkZWZpbmUgSEFWRV9fQlVJTFRJTl9DT05TVEFOVF9QIDEKfCAjZGVmaW5lIEhBVkVf X0JVSUxUSU5fVU5SRUFDSEFCTEUgMQp8ICNkZWZpbmUgSEFWRV9DT01QVVRFRF9HT1RPIDEKfCAj ZGVmaW5lIEhBVkVfX1ZBX0FSR1MgMQp8ICNkZWZpbmUgSEFWRV9UWk5BTUUgMQp8ICNkZWZpbmUg SEFWRV9TVFJVQ1RfU09DS0FERFJfU1RPUkFHRSAxCnwgI2RlZmluZSBIQVZFX1NUUlVDVF9TT0NL QUREUl9TVE9SQUdFX1NTX0ZBTUlMWSAxCnwgI2RlZmluZSBIQVZFX1NUUlVDVF9BRERSSU5GTyAx CnwgI2RlZmluZSBIQVZFX0lOVFBUUl9UIDEKfCAjZGVmaW5lIEhBVkVfVUlOVFBUUl9UIDEKfCAj ZGVmaW5lIEhBVkVfVU5TSUdORURfTE9OR19MT05HX0lOVCAxCnwgI2RlZmluZSBIQVZFX0xPTkdf TE9OR19JTlQgMQp8ICNkZWZpbmUgcmVzdHJpY3QgX19yZXN0cmljdAp8ICNkZWZpbmUgcGdfcmVz dHJpY3QgX19yZXN0cmljdAp8ICNkZWZpbmUgSEFWRV9TVFJVQ1RfT1BUSU9OIDEKfCAjZGVmaW5l IFNJWkVPRl9PRkZfVCA0CnwgI2RlZmluZSBTSVpFT0ZfQk9PTCAxCnwgI2RlZmluZSBIQVZFX0lO VF9USU1FWk9ORSAxCnwgLyogZW5kIGNvbmZkZWZzLmguICAqLwp8ICNpbmNsdWRlIDxzeXMvdHlw ZXMuaD4KfCAjaW5jbHVkZSA8c3lzL3NvY2tldC5oPgp8IGV4dGVybiBTT0NLRVQgV1NBQVBJIGFj Y2VwdCAodW5zaWduZWQgaW50LCBzdHJ1Y3Qgc29ja2FkZHIgKiwgdW5zaWduZWQgaW50ICopOwpj b25maWd1cmU6MTQ3OTE6IHg4Nl82NC13NjQtbWluZ3czMi1nY2MgLWMgLVdhbGwgLVdtaXNzaW5n LXByb3RvdHlwZXMgLVdwb2ludGVyLWFyaXRoIC1XZGVjbGFyYXRpb24tYWZ0ZXItc3RhdGVtZW50 IC1XZW5kaWYtbGFiZWxzIC1XbWlzc2luZy1mb3JtYXQtYXR0cmlidXRlIC1XZm9ybWF0LXNlY3Vy aXR5IC1mbm8tc3RyaWN0LWFsaWFzaW5nIC1md3JhcHYgLWZleGNlc3MtcHJlY2lzaW9uPXN0YW5k YXJkIC1Xbm8tZm9ybWF0LXRydW5jYXRpb24gLVduby1zdHJpbmdvcC10cnVuY2F0aW9uIC1nIC1P IC1mbm8tb21pdC1mcmFtZS1wb2ludGVyICAtSS93L1ItMy41Ll8vcG9zdGdyZXMvc3JjL2luY2x1 ZGUvcG9ydC93aW4zMiAtREVYRUNfQkFDS0VORCAgLUkvdy96bGliLTEuMi44LXdpbjMyLXg4Nl82 NC9pbmNsdWRlIC1JL3cvb3BlbnNzbC0xLjAuMmUtd2luMzIteDg2XzY0L2luY2x1ZGUgLUkvdy9s aWJ4bWwyLTIuOS4zLXdpbjMyLXg4Nl82NC9pbmNsdWRlL2xpYnhtbDIgLUkvdy9saWJ4c2x0LTEu MS4yOC13aW4zMi14ODZfNjQvaW5jbHVkZSBjb25mdGVzdC5jID4mNQpjb25mdGVzdC5jOjc5OjIy OiBlcnJvcjogY29uZmxpY3RpbmcgdHlwZXMgZm9yICdhY2NlcHQnCiBleHRlcm4gU09DS0VUIFdT QUFQSSBhY2NlcHQgKHVuc2lnbmVkIGludCwgc3RydWN0IHNvY2thZGRyICosIHZvaWQgKik7CiAg ICAgICAgICAgICAgICAgICAgICBefn5+fn4KSW4gZmlsZSBpbmNsdWRlZCBmcm9tIFc6L1ItMy41 Ll8vcG9zdGdyZXMvc3JjL2luY2x1ZGUvcG9ydC93aW4zMi9zeXMvc29ja2V0Lmg6MTQsCiAgICAg ICAgICAgICAgICAgZnJvbSBjb25mdGVzdC5jOjc4OgpDOi9tc3lzNjQvbWluZ3c2NC94ODZfNjQt dzY0LW1pbmd3MzIvaW5jbHVkZS93aW5zb2NrMi5oOjk3MzozNzogbm90ZTogcHJldmlvdXMgZGVj bGFyYXRpb24gb2YgJ2FjY2VwdCcgd2FzIGhlcmUKICAgV0lOU09DS19BUElfTElOS0FHRSBTT0NL RVQgV1NBQVBJIGFjY2VwdChTT0NLRVQgcyxzdHJ1Y3Qgc29ja2FkZHIgKmFkZHIsaW50ICphZGRy bGVuKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF5+fn5+fgpjb25maWd1 cmU6MTQ3OTE6ICQ/ID0gMQpjb25maWd1cmU6IGZhaWxlZCBwcm9ncmFtIHdhczoKfCAvKiBjb25m ZGVmcy5oICovCnwgI2RlZmluZSBQQUNLQUdFX05BTUUgIlBvc3RncmVTUUwiCnwgI2RlZmluZSBQ QUNLQUdFX1RBUk5BTUUgInBvc3RncmVzcWwiCnwgI2RlZmluZSBQQUNLQUdFX1ZFUlNJT04gIjEx YmV0YTMiCnwgI2RlZmluZSBQQUNLQUdFX1NUUklORyAiUG9zdGdyZVNRTCAxMWJldGEzIgp8ICNk ZWZpbmUgUEFDS0FHRV9CVUdSRVBPUlQgInBnc3FsLWJ1Z3NAcG9zdGdyZXNxbC5vcmciCnwgI2Rl ZmluZSBQQUNLQUdFX1VSTCAiIgp8ICNkZWZpbmUgUEdfTUFKT1JWRVJTSU9OICIxMSIKfCAjZGVm aW5lIFBHX1ZFUlNJT04gIjExYmV0YTMiCnwgI2RlZmluZSBERUZfUEdQT1JUIDU0MzIKfCAjZGVm aW5lIERFRl9QR1BPUlRfU1RSICI1NDMyIgp8ICNkZWZpbmUgQkxDS1NaIDgxOTIKfCAjZGVmaW5l IFJFTFNFR19TSVpFIDEzMTA3Mgp8ICNkZWZpbmUgWExPR19CTENLU1ogODE5Mgp8ICNkZWZpbmUg VVNFX0FTU0VSVF9DSEVDS0lORyAxCnwgI2RlZmluZSBFTkFCTEVfVEhSRUFEX1NBRkVUWSAxCnwg I2RlZmluZSBVU0VfSUNVIDEKfCAjZGVmaW5lIFBHX0tSQl9TUlZOQU0gInBvc3RncmVzIgp8ICNk ZWZpbmUgVVNFX09QRU5TU0wgMQp8ICNkZWZpbmUgVVNFX0xJQlhNTCAxCnwgI2RlZmluZSBVU0Vf TElCWFNMVCAxCnwgI2RlZmluZSBTVERDX0hFQURFUlMgMQp8ICNkZWZpbmUgSEFWRV9TWVNfVFlQ RVNfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19TVEFUX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERMSUJf SCAxCnwgI2RlZmluZSBIQVZFX1NUUklOR19IIDEKfCAjZGVmaW5lIEhBVkVfTUVNT1JZX0ggMQp8 ICNkZWZpbmUgSEFWRV9TVFJJTkdTX0ggMQp8ICNkZWZpbmUgSEFWRV9JTlRUWVBFU19IIDEKfCAj ZGVmaW5lIEhBVkVfU1RESU5UX0ggMQp8ICNkZWZpbmUgSEFWRV9VTklTVERfSCAxCnwgI2RlZmlu ZSBIQVZFX0xJQk0gMQp8ICNkZWZpbmUgSEFWRV9MSUJaIDEKfCAjZGVmaW5lIEhBVkVfU1BJTkxP Q0tTIDEKfCAjZGVmaW5lIEhBVkVfQVRPTUlDUyAxCnwgI2RlZmluZSBIQVZFX1NTTF9HRVRfQ1VS UkVOVF9DT01QUkVTU0lPTiAxCnwgI2RlZmluZSBIQVZFX1g1MDlfR0VUX1NJR05BVFVSRV9OSUQg MQp8ICNkZWZpbmUgSEFWRV9DUllQVE9fTE9DSyAxCnwgI2RlZmluZSBIQVZFX0xJQlhNTDIgMQp8 ICNkZWZpbmUgSEFWRV9MSUJYU0xUIDEKfCAjZGVmaW5lIEhBVkVfX0JPT0wgMQp8ICNkZWZpbmUg SEFWRV9TVERCT09MX0ggMQp8ICNkZWZpbmUgSEFWRV9HRVRPUFRfSCAxCnwgI2RlZmluZSBIQVZF X0lFRUVGUF9IIDEKfCAjZGVmaW5lIEhBVkVfVVRJTUVfSCAxCnwgI2RlZmluZSBIQVZFX1dDSEFS X0ggMQp8ICNkZWZpbmUgSEFWRV9XQ1RZUEVfSCAxCnwgI2RlZmluZSBIQVZFX0NSVERFRlNfSCAx CnwgI2RlZmluZSBQR19QUklOVEZfQVRUUklCVVRFIGdudV9wcmludGYKfCAjZGVmaW5lIEZMRVhJ QkxFX0FSUkFZX01FTUJFUiAvKiovCnwgI2RlZmluZSBIQVZFX0ZVTkNOQU1FX19GVU5DIDEKfCAj ZGVmaW5lIEhBVkVfX1NUQVRJQ19BU1NFUlQgMQp8ICNkZWZpbmUgSEFWRV9UWVBFT0YgMQp8ICNk ZWZpbmUgSEFWRV9fQlVJTFRJTl9UWVBFU19DT01QQVRJQkxFX1AgMQp8ICNkZWZpbmUgSEFWRV9f QlVJTFRJTl9CU1dBUDE2IDEKfCAjZGVmaW5lIEhBVkVfX0JVSUxUSU5fQlNXQVAzMiAxCnwgI2Rl ZmluZSBIQVZFX19CVUlMVElOX0JTV0FQNjQgMQp8ICNkZWZpbmUgSEFWRV9fQlVJTFRJTl9DT05T VEFOVF9QIDEKfCAjZGVmaW5lIEhBVkVfX0JVSUxUSU5fVU5SRUFDSEFCTEUgMQp8ICNkZWZpbmUg SEFWRV9DT01QVVRFRF9HT1RPIDEKfCAjZGVmaW5lIEhBVkVfX1ZBX0FSR1MgMQp8ICNkZWZpbmUg SEFWRV9UWk5BTUUgMQp8ICNkZWZpbmUgSEFWRV9TVFJVQ1RfU09DS0FERFJfU1RPUkFHRSAxCnwg I2RlZmluZSBIQVZFX1NUUlVDVF9TT0NLQUREUl9TVE9SQUdFX1NTX0ZBTUlMWSAxCnwgI2RlZmlu ZSBIQVZFX1NUUlVDVF9BRERSSU5GTyAxCnwgI2RlZmluZSBIQVZFX0lOVFBUUl9UIDEKfCAjZGVm aW5lIEhBVkVfVUlOVFBUUl9UIDEKfCAjZGVmaW5lIEhBVkVfVU5TSUdORURfTE9OR19MT05HX0lO VCAxCnwgI2RlZmluZSBIQVZFX0xPTkdfTE9OR19JTlQgMQp8ICNkZWZpbmUgcmVzdHJpY3QgX19y ZXN0cmljdAp8ICNkZWZpbmUgcGdfcmVzdHJpY3QgX19yZXN0cmljdAp8ICNkZWZpbmUgSEFWRV9T VFJVQ1RfT1BUSU9OIDEKfCAjZGVmaW5lIFNJWkVPRl9PRkZfVCA0CnwgI2RlZmluZSBTSVpFT0Zf Qk9PTCAxCnwgI2RlZmluZSBIQVZFX0lOVF9USU1FWk9ORSAxCnwgLyogZW5kIGNvbmZkZWZzLmgu ICAqLwp8ICNpbmNsdWRlIDxzeXMvdHlwZXMuaD4KfCAjaW5jbHVkZSA8c3lzL3NvY2tldC5oPgp8 IGV4dGVybiBTT0NLRVQgV1NBQVBJIGFjY2VwdCAodW5zaWduZWQgaW50LCBzdHJ1Y3Qgc29ja2Fk ZHIgKiwgdm9pZCAqKTsKY29uZmlndXJlOjE0NzkxOiB4ODZfNjQtdzY0LW1pbmd3MzItZ2NjIC1j IC1XYWxsIC1XbWlzc2luZy1wcm90b3R5cGVzIC1XcG9pbnRlci1hcml0aCAtV2RlY2xhcmF0aW9u LWFmdGVyLXN0YXRlbWVudCAtV2VuZGlmLWxhYmVscyAtV21pc3NpbmctZm9ybWF0LWF0dHJpYnV0 ZSAtV2Zvcm1hdC1zZWN1cml0eSAtZm5vLXN0cmljdC1hbGlhc2luZyAtZndyYXB2IC1mZXhjZXNz LXByZWNpc2lvbj1zdGFuZGFyZCAtV25vLWZvcm1hdC10cnVuY2F0aW9uIC1Xbm8tc3RyaW5nb3At dHJ1bmNhdGlvbiAtZyAtTyAtZm5vLW9taXQtZnJhbWUtcG9pbnRlciAgLUkvdy9SLTMuNS5fL3Bv c3RncmVzL3NyYy9pbmNsdWRlL3BvcnQvd2luMzIgLURFWEVDX0JBQ0tFTkQgIC1JL3cvemxpYi0x LjIuOC13aW4zMi14ODZfNjQvaW5jbHVkZSAtSS93L29wZW5zc2wtMS4wLjJlLXdpbjMyLXg4Nl82 NC9pbmNsdWRlIC1JL3cvbGlieG1sMi0yLjkuMy13aW4zMi14ODZfNjQvaW5jbHVkZS9saWJ4bWwy IC1JL3cvbGlieHNsdC0xLjEuMjgtd2luMzIteDg2XzY0L2luY2x1ZGUgY29uZnRlc3QuYyA+JjUK Y29uZnRlc3QuYzo3OToyMjogZXJyb3I6IGNvbmZsaWN0aW5nIHR5cGVzIGZvciAnYWNjZXB0Jwog ZXh0ZXJuIFNPQ0tFVCBXU0FBUEkgYWNjZXB0ICh1bnNpZ25lZCBpbnQsIGNvbnN0IHN0cnVjdCBz b2NrYWRkciAqLCBpbnQgKik7CiAgICAgICAgICAgICAgICAgICAgICBefn5+fn4KSW4gZmlsZSBp bmNsdWRlZCBmcm9tIFc6L1ItMy41Ll8vcG9zdGdyZXMvc3JjL2luY2x1ZGUvcG9ydC93aW4zMi9z eXMvc29ja2V0Lmg6MTQsCiAgICAgICAgICAgICAgICAgZnJvbSBjb25mdGVzdC5jOjc4OgpDOi9t c3lzNjQvbWluZ3c2NC94ODZfNjQtdzY0LW1pbmd3MzIvaW5jbHVkZS93aW5zb2NrMi5oOjk3Mzoz Nzogbm90ZTogcHJldmlvdXMgZGVjbGFyYXRpb24gb2YgJ2FjY2VwdCcgd2FzIGhlcmUKICAgV0lO U09DS19BUElfTElOS0FHRSBTT0NLRVQgV1NBQVBJIGFjY2VwdChTT0NLRVQgcyxzdHJ1Y3Qgc29j a2FkZHIgKmFkZHIsaW50ICphZGRybGVuKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIF5+fn5+fgpjb25maWd1cmU6MTQ3OTE6ICQ/ID0gMQpjb25maWd1cmU6IGZhaWxlZCBw cm9ncmFtIHdhczoKfCAvKiBjb25mZGVmcy5oICovCnwgI2RlZmluZSBQQUNLQUdFX05BTUUgIlBv c3RncmVTUUwiCnwgI2RlZmluZSBQQUNLQUdFX1RBUk5BTUUgInBvc3RncmVzcWwiCnwgI2RlZmlu ZSBQQUNLQUdFX1ZFUlNJT04gIjExYmV0YTMiCnwgI2RlZmluZSBQQUNLQUdFX1NUUklORyAiUG9z dGdyZVNRTCAxMWJldGEzIgp8ICNkZWZpbmUgUEFDS0FHRV9CVUdSRVBPUlQgInBnc3FsLWJ1Z3NA cG9zdGdyZXNxbC5vcmciCnwgI2RlZmluZSBQQUNLQUdFX1VSTCAiIgp8ICNkZWZpbmUgUEdfTUFK T1JWRVJTSU9OICIxMSIKfCAjZGVmaW5lIFBHX1ZFUlNJT04gIjExYmV0YTMiCnwgI2RlZmluZSBE RUZfUEdQT1JUIDU0MzIKfCAjZGVmaW5lIERFRl9QR1BPUlRfU1RSICI1NDMyIgp8ICNkZWZpbmUg QkxDS1NaIDgxOTIKfCAjZGVmaW5lIFJFTFNFR19TSVpFIDEzMTA3Mgp8ICNkZWZpbmUgWExPR19C TENLU1ogODE5Mgp8ICNkZWZpbmUgVVNFX0FTU0VSVF9DSEVDS0lORyAxCnwgI2RlZmluZSBFTkFC TEVfVEhSRUFEX1NBRkVUWSAxCnwgI2RlZmluZSBVU0VfSUNVIDEKfCAjZGVmaW5lIFBHX0tSQl9T UlZOQU0gInBvc3RncmVzIgp8ICNkZWZpbmUgVVNFX09QRU5TU0wgMQp8ICNkZWZpbmUgVVNFX0xJ QlhNTCAxCnwgI2RlZmluZSBVU0VfTElCWFNMVCAxCnwgI2RlZmluZSBTVERDX0hFQURFUlMgMQp8 ICNkZWZpbmUgSEFWRV9TWVNfVFlQRVNfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19TVEFUX0ggMQp8 ICNkZWZpbmUgSEFWRV9TVERMSUJfSCAxCnwgI2RlZmluZSBIQVZFX1NUUklOR19IIDEKfCAjZGVm aW5lIEhBVkVfTUVNT1JZX0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJJTkdTX0ggMQp8ICNkZWZpbmUg SEFWRV9JTlRUWVBFU19IIDEKfCAjZGVmaW5lIEhBVkVfU1RESU5UX0ggMQp8ICNkZWZpbmUgSEFW RV9VTklTVERfSCAxCnwgI2RlZmluZSBIQVZFX0xJQk0gMQp8ICNkZWZpbmUgSEFWRV9MSUJaIDEK fCAjZGVmaW5lIEhBVkVfU1BJTkxPQ0tTIDEKfCAjZGVmaW5lIEhBVkVfQVRPTUlDUyAxCnwgI2Rl ZmluZSBIQVZFX1NTTF9HRVRfQ1VSUkVOVF9DT01QUkVTU0lPTiAxCnwgI2RlZmluZSBIQVZFX1g1 MDlfR0VUX1NJR05BVFVSRV9OSUQgMQp8ICNkZWZpbmUgSEFWRV9DUllQVE9fTE9DSyAxCnwgI2Rl ZmluZSBIQVZFX0xJQlhNTDIgMQp8ICNkZWZpbmUgSEFWRV9MSUJYU0xUIDEKfCAjZGVmaW5lIEhB VkVfX0JPT0wgMQp8ICNkZWZpbmUgSEFWRV9TVERCT09MX0ggMQp8ICNkZWZpbmUgSEFWRV9HRVRP UFRfSCAxCnwgI2RlZmluZSBIQVZFX0lFRUVGUF9IIDEKfCAjZGVmaW5lIEhBVkVfVVRJTUVfSCAx CnwgI2RlZmluZSBIQVZFX1dDSEFSX0ggMQp8ICNkZWZpbmUgSEFWRV9XQ1RZUEVfSCAxCnwgI2Rl ZmluZSBIQVZFX0NSVERFRlNfSCAxCnwgI2RlZmluZSBQR19QUklOVEZfQVRUUklCVVRFIGdudV9w cmludGYKfCAjZGVmaW5lIEZMRVhJQkxFX0FSUkFZX01FTUJFUiAvKiovCnwgI2RlZmluZSBIQVZF X0ZVTkNOQU1FX19GVU5DIDEKfCAjZGVmaW5lIEhBVkVfX1NUQVRJQ19BU1NFUlQgMQp8ICNkZWZp bmUgSEFWRV9UWVBFT0YgMQp8ICNkZWZpbmUgSEFWRV9fQlVJTFRJTl9UWVBFU19DT01QQVRJQkxF X1AgMQp8ICNkZWZpbmUgSEFWRV9fQlVJTFRJTl9CU1dBUDE2IDEKfCAjZGVmaW5lIEhBVkVfX0JV SUxUSU5fQlNXQVAzMiAxCnwgI2RlZmluZSBIQVZFX19CVUlMVElOX0JTV0FQNjQgMQp8ICNkZWZp bmUgSEFWRV9fQlVJTFRJTl9DT05TVEFOVF9QIDEKfCAjZGVmaW5lIEhBVkVfX0JVSUxUSU5fVU5S RUFDSEFCTEUgMQp8ICNkZWZpbmUgSEFWRV9DT01QVVRFRF9HT1RPIDEKfCAjZGVmaW5lIEhBVkVf X1ZBX0FSR1MgMQp8ICNkZWZpbmUgSEFWRV9UWk5BTUUgMQp8ICNkZWZpbmUgSEFWRV9TVFJVQ1Rf U09DS0FERFJfU1RPUkFHRSAxCnwgI2RlZmluZSBIQVZFX1NUUlVDVF9TT0NLQUREUl9TVE9SQUdF X1NTX0ZBTUlMWSAxCnwgI2RlZmluZSBIQVZFX1NUUlVDVF9BRERSSU5GTyAxCnwgI2RlZmluZSBI QVZFX0lOVFBUUl9UIDEKfCAjZGVmaW5lIEhBVkVfVUlOVFBUUl9UIDEKfCAjZGVmaW5lIEhBVkVf VU5TSUdORURfTE9OR19MT05HX0lOVCAxCnwgI2RlZmluZSBIQVZFX0xPTkdfTE9OR19JTlQgMQp8 ICNkZWZpbmUgcmVzdHJpY3QgX19yZXN0cmljdAp8ICNkZWZpbmUgcGdfcmVzdHJpY3QgX19yZXN0 cmljdAp8ICNkZWZpbmUgSEFWRV9TVFJVQ1RfT1BUSU9OIDEKfCAjZGVmaW5lIFNJWkVPRl9PRkZf VCA0CnwgI2RlZmluZSBTSVpFT0ZfQk9PTCAxCnwgI2RlZmluZSBIQVZFX0lOVF9USU1FWk9ORSAx CnwgLyogZW5kIGNvbmZkZWZzLmguICAqLwp8ICNpbmNsdWRlIDxzeXMvdHlwZXMuaD4KfCAjaW5j bHVkZSA8c3lzL3NvY2tldC5oPgp8IGV4dGVybiBTT0NLRVQgV1NBQVBJIGFjY2VwdCAodW5zaWdu ZWQgaW50LCBjb25zdCBzdHJ1Y3Qgc29ja2FkZHIgKiwgaW50ICopOwpjb25maWd1cmU6MTQ3OTE6 IHg4Nl82NC13NjQtbWluZ3czMi1nY2MgLWMgLVdhbGwgLVdtaXNzaW5nLXByb3RvdHlwZXMgLVdw b2ludGVyLWFyaXRoIC1XZGVjbGFyYXRpb24tYWZ0ZXItc3RhdGVtZW50IC1XZW5kaWYtbGFiZWxz IC1XbWlzc2luZy1mb3JtYXQtYXR0cmlidXRlIC1XZm9ybWF0LXNlY3VyaXR5IC1mbm8tc3RyaWN0 LWFsaWFzaW5nIC1md3JhcHYgLWZleGNlc3MtcHJlY2lzaW9uPXN0YW5kYXJkIC1Xbm8tZm9ybWF0 LXRydW5jYXRpb24gLVduby1zdHJpbmdvcC10cnVuY2F0aW9uIC1nIC1PIC1mbm8tb21pdC1mcmFt ZS1wb2ludGVyICAtSS93L1ItMy41Ll8vcG9zdGdyZXMvc3JjL2luY2x1ZGUvcG9ydC93aW4zMiAt REVYRUNfQkFDS0VORCAgLUkvdy96bGliLTEuMi44LXdpbjMyLXg4Nl82NC9pbmNsdWRlIC1JL3cv b3BlbnNzbC0xLjAuMmUtd2luMzIteDg2XzY0L2luY2x1ZGUgLUkvdy9saWJ4bWwyLTIuOS4zLXdp bjMyLXg4Nl82NC9pbmNsdWRlL2xpYnhtbDIgLUkvdy9saWJ4c2x0LTEuMS4yOC13aW4zMi14ODZf NjQvaW5jbHVkZSBjb25mdGVzdC5jID4mNQpjb25mdGVzdC5jOjc5OjIyOiBlcnJvcjogY29uZmxp Y3RpbmcgdHlwZXMgZm9yICdhY2NlcHQnCiBleHRlcm4gU09DS0VUIFdTQUFQSSBhY2NlcHQgKHVu c2lnbmVkIGludCwgY29uc3Qgc3RydWN0IHNvY2thZGRyICosIHNpemVfdCAqKTsKICAgICAgICAg ICAgICAgICAgICAgIF5+fn5+fgpJbiBmaWxlIGluY2x1ZGVkIGZyb20gVzovUi0zLjUuXy9wb3N0 Z3Jlcy9zcmMvaW5jbHVkZS9wb3J0L3dpbjMyL3N5cy9zb2NrZXQuaDoxNCwKICAgICAgICAgICAg ICAgICBmcm9tIGNvbmZ0ZXN0LmM6Nzg6CkM6L21zeXM2NC9taW5ndzY0L3g4Nl82NC13NjQtbWlu Z3czMi9pbmNsdWRlL3dpbnNvY2syLmg6OTczOjM3OiBub3RlOiBwcmV2aW91cyBkZWNsYXJhdGlv biBvZiAnYWNjZXB0JyB3YXMgaGVyZQogICBXSU5TT0NLX0FQSV9MSU5LQUdFIFNPQ0tFVCBXU0FB UEkgYWNjZXB0KFNPQ0tFVCBzLHN0cnVjdCBzb2NrYWRkciAqYWRkcixpbnQgKmFkZHJsZW4pOwog ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXn5+fn5+CmNvbmZpZ3VyZToxNDc5 MTogJD8gPSAxCmNvbmZpZ3VyZTogZmFpbGVkIHByb2dyYW0gd2FzOgp8IC8qIGNvbmZkZWZzLmgg Ki8KfCAjZGVmaW5lIFBBQ0tBR0VfTkFNRSAiUG9zdGdyZVNRTCIKfCAjZGVmaW5lIFBBQ0tBR0Vf VEFSTkFNRSAicG9zdGdyZXNxbCIKfCAjZGVmaW5lIFBBQ0tBR0VfVkVSU0lPTiAiMTFiZXRhMyIK fCAjZGVmaW5lIFBBQ0tBR0VfU1RSSU5HICJQb3N0Z3JlU1FMIDExYmV0YTMiCnwgI2RlZmluZSBQ QUNLQUdFX0JVR1JFUE9SVCAicGdzcWwtYnVnc0Bwb3N0Z3Jlc3FsLm9yZyIKfCAjZGVmaW5lIFBB Q0tBR0VfVVJMICIiCnwgI2RlZmluZSBQR19NQUpPUlZFUlNJT04gIjExIgp8ICNkZWZpbmUgUEdf VkVSU0lPTiAiMTFiZXRhMyIKfCAjZGVmaW5lIERFRl9QR1BPUlQgNTQzMgp8ICNkZWZpbmUgREVG X1BHUE9SVF9TVFIgIjU0MzIiCnwgI2RlZmluZSBCTENLU1ogODE5Mgp8ICNkZWZpbmUgUkVMU0VH X1NJWkUgMTMxMDcyCnwgI2RlZmluZSBYTE9HX0JMQ0tTWiA4MTkyCnwgI2RlZmluZSBVU0VfQVNT RVJUX0NIRUNLSU5HIDEKfCAjZGVmaW5lIEVOQUJMRV9USFJFQURfU0FGRVRZIDEKfCAjZGVmaW5l IFVTRV9JQ1UgMQp8ICNkZWZpbmUgUEdfS1JCX1NSVk5BTSAicG9zdGdyZXMiCnwgI2RlZmluZSBV U0VfT1BFTlNTTCAxCnwgI2RlZmluZSBVU0VfTElCWE1MIDEKfCAjZGVmaW5lIFVTRV9MSUJYU0xU IDEKfCAjZGVmaW5lIFNURENfSEVBREVSUyAxCnwgI2RlZmluZSBIQVZFX1NZU19UWVBFU19IIDEK fCAjZGVmaW5lIEhBVkVfU1lTX1NUQVRfSCAxCnwgI2RlZmluZSBIQVZFX1NURExJQl9IIDEKfCAj ZGVmaW5lIEhBVkVfU1RSSU5HX0ggMQp8ICNkZWZpbmUgSEFWRV9NRU1PUllfSCAxCnwgI2RlZmlu ZSBIQVZFX1NUUklOR1NfSCAxCnwgI2RlZmluZSBIQVZFX0lOVFRZUEVTX0ggMQp8ICNkZWZpbmUg SEFWRV9TVERJTlRfSCAxCnwgI2RlZmluZSBIQVZFX1VOSVNURF9IIDEKfCAjZGVmaW5lIEhBVkVf TElCTSAxCnwgI2RlZmluZSBIQVZFX0xJQlogMQp8ICNkZWZpbmUgSEFWRV9TUElOTE9DS1MgMQp8 ICNkZWZpbmUgSEFWRV9BVE9NSUNTIDEKfCAjZGVmaW5lIEhBVkVfU1NMX0dFVF9DVVJSRU5UX0NP TVBSRVNTSU9OIDEKfCAjZGVmaW5lIEhBVkVfWDUwOV9HRVRfU0lHTkFUVVJFX05JRCAxCnwgI2Rl ZmluZSBIQVZFX0NSWVBUT19MT0NLIDEKfCAjZGVmaW5lIEhBVkVfTElCWE1MMiAxCnwgI2RlZmlu ZSBIQVZFX0xJQlhTTFQgMQp8ICNkZWZpbmUgSEFWRV9fQk9PTCAxCnwgI2RlZmluZSBIQVZFX1NU REJPT0xfSCAxCnwgI2RlZmluZSBIQVZFX0dFVE9QVF9IIDEKfCAjZGVmaW5lIEhBVkVfSUVFRUZQ X0ggMQp8ICNkZWZpbmUgSEFWRV9VVElNRV9IIDEKfCAjZGVmaW5lIEhBVkVfV0NIQVJfSCAxCnwg I2RlZmluZSBIQVZFX1dDVFlQRV9IIDEKfCAjZGVmaW5lIEhBVkVfQ1JUREVGU19IIDEKfCAjZGVm aW5lIFBHX1BSSU5URl9BVFRSSUJVVEUgZ251X3ByaW50Zgp8ICNkZWZpbmUgRkxFWElCTEVfQVJS QVlfTUVNQkVSIC8qKi8KfCAjZGVmaW5lIEhBVkVfRlVOQ05BTUVfX0ZVTkMgMQp8ICNkZWZpbmUg SEFWRV9fU1RBVElDX0FTU0VSVCAxCnwgI2RlZmluZSBIQVZFX1RZUEVPRiAxCnwgI2RlZmluZSBI QVZFX19CVUlMVElOX1RZUEVTX0NPTVBBVElCTEVfUCAxCnwgI2RlZmluZSBIQVZFX19CVUlMVElO X0JTV0FQMTYgMQp8ICNkZWZpbmUgSEFWRV9fQlVJTFRJTl9CU1dBUDMyIDEKfCAjZGVmaW5lIEhB VkVfX0JVSUxUSU5fQlNXQVA2NCAxCnwgI2RlZmluZSBIQVZFX19CVUlMVElOX0NPTlNUQU5UX1Ag MQp8ICNkZWZpbmUgSEFWRV9fQlVJTFRJTl9VTlJFQUNIQUJMRSAxCnwgI2RlZmluZSBIQVZFX0NP TVBVVEVEX0dPVE8gMQp8ICNkZWZpbmUgSEFWRV9fVkFfQVJHUyAxCnwgI2RlZmluZSBIQVZFX1Ra TkFNRSAxCnwgI2RlZmluZSBIQVZFX1NUUlVDVF9TT0NLQUREUl9TVE9SQUdFIDEKfCAjZGVmaW5l IEhBVkVfU1RSVUNUX1NPQ0tBRERSX1NUT1JBR0VfU1NfRkFNSUxZIDEKfCAjZGVmaW5lIEhBVkVf U1RSVUNUX0FERFJJTkZPIDEKfCAjZGVmaW5lIEhBVkVfSU5UUFRSX1QgMQp8ICNkZWZpbmUgSEFW RV9VSU5UUFRSX1QgMQp8ICNkZWZpbmUgSEFWRV9VTlNJR05FRF9MT05HX0xPTkdfSU5UIDEKfCAj ZGVmaW5lIEhBVkVfTE9OR19MT05HX0lOVCAxCnwgI2RlZmluZSByZXN0cmljdCBfX3Jlc3RyaWN0 CnwgI2RlZmluZSBwZ19yZXN0cmljdCBfX3Jlc3RyaWN0CnwgI2RlZmluZSBIQVZFX1NUUlVDVF9P UFRJT04gMQp8ICNkZWZpbmUgU0laRU9GX09GRl9UIDQKfCAjZGVmaW5lIFNJWkVPRl9CT09MIDEK fCAjZGVmaW5lIEhBVkVfSU5UX1RJTUVaT05FIDEKfCAvKiBlbmQgY29uZmRlZnMuaC4gICovCnwg I2luY2x1ZGUgPHN5cy90eXBlcy5oPgp8ICNpbmNsdWRlIDxzeXMvc29ja2V0Lmg+CnwgZXh0ZXJu IFNPQ0tFVCBXU0FBUEkgYWNjZXB0ICh1bnNpZ25lZCBpbnQsIGNvbnN0IHN0cnVjdCBzb2NrYWRk ciAqLCBzaXplX3QgKik7CmNvbmZpZ3VyZToxNDc5MTogeDg2XzY0LXc2NC1taW5ndzMyLWdjYyAt YyAtV2FsbCAtV21pc3NpbmctcHJvdG90eXBlcyAtV3BvaW50ZXItYXJpdGggLVdkZWNsYXJhdGlv bi1hZnRlci1zdGF0ZW1lbnQgLVdlbmRpZi1sYWJlbHMgLVdtaXNzaW5nLWZvcm1hdC1hdHRyaWJ1 dGUgLVdmb3JtYXQtc2VjdXJpdHkgLWZuby1zdHJpY3QtYWxpYXNpbmcgLWZ3cmFwdiAtZmV4Y2Vz cy1wcmVjaXNpb249c3RhbmRhcmQgLVduby1mb3JtYXQtdHJ1bmNhdGlvbiAtV25vLXN0cmluZ29w LXRydW5jYXRpb24gLWcgLU8gLWZuby1vbWl0LWZyYW1lLXBvaW50ZXIgIC1JL3cvUi0zLjUuXy9w b3N0Z3Jlcy9zcmMvaW5jbHVkZS9wb3J0L3dpbjMyIC1ERVhFQ19CQUNLRU5EICAtSS93L3psaWIt MS4yLjgtd2luMzIteDg2XzY0L2luY2x1ZGUgLUkvdy9vcGVuc3NsLTEuMC4yZS13aW4zMi14ODZf NjQvaW5jbHVkZSAtSS93L2xpYnhtbDItMi45LjMtd2luMzIteDg2XzY0L2luY2x1ZGUvbGlieG1s MiAtSS93L2xpYnhzbHQtMS4xLjI4LXdpbjMyLXg4Nl82NC9pbmNsdWRlIGNvbmZ0ZXN0LmMgPiY1 CmNvbmZ0ZXN0LmM6Nzk6MjI6IGVycm9yOiBjb25mbGljdGluZyB0eXBlcyBmb3IgJ2FjY2VwdCcK IGV4dGVybiBTT0NLRVQgV1NBQVBJIGFjY2VwdCAodW5zaWduZWQgaW50LCBjb25zdCBzdHJ1Y3Qg c29ja2FkZHIgKiwgc29ja2xlbl90ICopOwogICAgICAgICAgICAgICAgICAgICAgXn5+fn5+Cklu IGZpbGUgaW5jbHVkZWQgZnJvbSBXOi9SLTMuNS5fL3Bvc3RncmVzL3NyYy9pbmNsdWRlL3BvcnQv d2luMzIvc3lzL3NvY2tldC5oOjE0LAogICAgICAgICAgICAgICAgIGZyb20gY29uZnRlc3QuYzo3 ODoKQzovbXN5czY0L21pbmd3NjQveDg2XzY0LXc2NC1taW5ndzMyL2luY2x1ZGUvd2luc29jazIu aDo5NzM6Mzc6IG5vdGU6IHByZXZpb3VzIGRlY2xhcmF0aW9uIG9mICdhY2NlcHQnIHdhcyBoZXJl CiAgIFdJTlNPQ0tfQVBJX0xJTktBR0UgU09DS0VUIFdTQUFQSSBhY2NlcHQoU09DS0VUIHMsc3Ry dWN0IHNvY2thZGRyICphZGRyLGludCAqYWRkcmxlbik7CiAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICBefn5+fn4KY29uZmlndXJlOjE0NzkxOiAkPyA9IDEKY29uZmlndXJlOiBm YWlsZWQgcHJvZ3JhbSB3YXM6CnwgLyogY29uZmRlZnMuaCAqLwp8ICNkZWZpbmUgUEFDS0FHRV9O QU1FICJQb3N0Z3JlU1FMIgp8ICNkZWZpbmUgUEFDS0FHRV9UQVJOQU1FICJwb3N0Z3Jlc3FsIgp8 ICNkZWZpbmUgUEFDS0FHRV9WRVJTSU9OICIxMWJldGEzIgp8ICNkZWZpbmUgUEFDS0FHRV9TVFJJ TkcgIlBvc3RncmVTUUwgMTFiZXRhMyIKfCAjZGVmaW5lIFBBQ0tBR0VfQlVHUkVQT1JUICJwZ3Nx bC1idWdzQHBvc3RncmVzcWwub3JnIgp8ICNkZWZpbmUgUEFDS0FHRV9VUkwgIiIKfCAjZGVmaW5l IFBHX01BSk9SVkVSU0lPTiAiMTEiCnwgI2RlZmluZSBQR19WRVJTSU9OICIxMWJldGEzIgp8ICNk ZWZpbmUgREVGX1BHUE9SVCA1NDMyCnwgI2RlZmluZSBERUZfUEdQT1JUX1NUUiAiNTQzMiIKfCAj ZGVmaW5lIEJMQ0tTWiA4MTkyCnwgI2RlZmluZSBSRUxTRUdfU0laRSAxMzEwNzIKfCAjZGVmaW5l IFhMT0dfQkxDS1NaIDgxOTIKfCAjZGVmaW5lIFVTRV9BU1NFUlRfQ0hFQ0tJTkcgMQp8ICNkZWZp bmUgRU5BQkxFX1RIUkVBRF9TQUZFVFkgMQp8ICNkZWZpbmUgVVNFX0lDVSAxCnwgI2RlZmluZSBQ R19LUkJfU1JWTkFNICJwb3N0Z3JlcyIKfCAjZGVmaW5lIFVTRV9PUEVOU1NMIDEKfCAjZGVmaW5l IFVTRV9MSUJYTUwgMQp8ICNkZWZpbmUgVVNFX0xJQlhTTFQgMQp8ICNkZWZpbmUgU1REQ19IRUFE RVJTIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1RZUEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfU1RB VF9IIDEKfCAjZGVmaW5lIEhBVkVfU1RETElCX0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJJTkdfSCAx CnwgI2RlZmluZSBIQVZFX01FTU9SWV9IIDEKfCAjZGVmaW5lIEhBVkVfU1RSSU5HU19IIDEKfCAj ZGVmaW5lIEhBVkVfSU5UVFlQRVNfSCAxCnwgI2RlZmluZSBIQVZFX1NURElOVF9IIDEKfCAjZGVm aW5lIEhBVkVfVU5JU1REX0ggMQp8ICNkZWZpbmUgSEFWRV9MSUJNIDEKfCAjZGVmaW5lIEhBVkVf TElCWiAxCnwgI2RlZmluZSBIQVZFX1NQSU5MT0NLUyAxCnwgI2RlZmluZSBIQVZFX0FUT01JQ1Mg MQp8ICNkZWZpbmUgSEFWRV9TU0xfR0VUX0NVUlJFTlRfQ09NUFJFU1NJT04gMQp8ICNkZWZpbmUg SEFWRV9YNTA5X0dFVF9TSUdOQVRVUkVfTklEIDEKfCAjZGVmaW5lIEhBVkVfQ1JZUFRPX0xPQ0sg MQp8ICNkZWZpbmUgSEFWRV9MSUJYTUwyIDEKfCAjZGVmaW5lIEhBVkVfTElCWFNMVCAxCnwgI2Rl ZmluZSBIQVZFX19CT09MIDEKfCAjZGVmaW5lIEhBVkVfU1REQk9PTF9IIDEKfCAjZGVmaW5lIEhB VkVfR0VUT1BUX0ggMQp8ICNkZWZpbmUgSEFWRV9JRUVFRlBfSCAxCnwgI2RlZmluZSBIQVZFX1VU SU1FX0ggMQp8ICNkZWZpbmUgSEFWRV9XQ0hBUl9IIDEKfCAjZGVmaW5lIEhBVkVfV0NUWVBFX0gg MQp8ICNkZWZpbmUgSEFWRV9DUlRERUZTX0ggMQp8ICNkZWZpbmUgUEdfUFJJTlRGX0FUVFJJQlVU RSBnbnVfcHJpbnRmCnwgI2RlZmluZSBGTEVYSUJMRV9BUlJBWV9NRU1CRVIgLyoqLwp8ICNkZWZp bmUgSEFWRV9GVU5DTkFNRV9fRlVOQyAxCnwgI2RlZmluZSBIQVZFX19TVEFUSUNfQVNTRVJUIDEK fCAjZGVmaW5lIEhBVkVfVFlQRU9GIDEKfCAjZGVmaW5lIEhBVkVfX0JVSUxUSU5fVFlQRVNfQ09N UEFUSUJMRV9QIDEKfCAjZGVmaW5lIEhBVkVfX0JVSUxUSU5fQlNXQVAxNiAxCnwgI2RlZmluZSBI QVZFX19CVUlMVElOX0JTV0FQMzIgMQp8ICNkZWZpbmUgSEFWRV9fQlVJTFRJTl9CU1dBUDY0IDEK fCAjZGVmaW5lIEhBVkVfX0JVSUxUSU5fQ09OU1RBTlRfUCAxCnwgI2RlZmluZSBIQVZFX19CVUlM VElOX1VOUkVBQ0hBQkxFIDEKfCAjZGVmaW5lIEhBVkVfQ09NUFVURURfR09UTyAxCnwgI2RlZmlu ZSBIQVZFX19WQV9BUkdTIDEKfCAjZGVmaW5lIEhBVkVfVFpOQU1FIDEKfCAjZGVmaW5lIEhBVkVf U1RSVUNUX1NPQ0tBRERSX1NUT1JBR0UgMQp8ICNkZWZpbmUgSEFWRV9TVFJVQ1RfU09DS0FERFJf U1RPUkFHRV9TU19GQU1JTFkgMQp8ICNkZWZpbmUgSEFWRV9TVFJVQ1RfQUREUklORk8gMQp8ICNk ZWZpbmUgSEFWRV9JTlRQVFJfVCAxCnwgI2RlZmluZSBIQVZFX1VJTlRQVFJfVCAxCnwgI2RlZmlu ZSBIQVZFX1VOU0lHTkVEX0xPTkdfTE9OR19JTlQgMQp8ICNkZWZpbmUgSEFWRV9MT05HX0xPTkdf SU5UIDEKfCAjZGVmaW5lIHJlc3RyaWN0IF9fcmVzdHJpY3QKfCAjZGVmaW5lIHBnX3Jlc3RyaWN0 IF9fcmVzdHJpY3QKfCAjZGVmaW5lIEhBVkVfU1RSVUNUX09QVElPTiAxCnwgI2RlZmluZSBTSVpF T0ZfT0ZGX1QgNAp8ICNkZWZpbmUgU0laRU9GX0JPT0wgMQp8ICNkZWZpbmUgSEFWRV9JTlRfVElN RVpPTkUgMQp8IC8qIGVuZCBjb25mZGVmcy5oLiAgKi8KfCAjaW5jbHVkZSA8c3lzL3R5cGVzLmg+ CnwgI2luY2x1ZGUgPHN5cy9zb2NrZXQuaD4KfCBleHRlcm4gU09DS0VUIFdTQUFQSSBhY2NlcHQg KHVuc2lnbmVkIGludCwgY29uc3Qgc3RydWN0IHNvY2thZGRyICosIHNvY2tsZW5fdCAqKTsKY29u ZmlndXJlOjE0NzkxOiB4ODZfNjQtdzY0LW1pbmd3MzItZ2NjIC1jIC1XYWxsIC1XbWlzc2luZy1w cm90b3R5cGVzIC1XcG9pbnRlci1hcml0aCAtV2RlY2xhcmF0aW9uLWFmdGVyLXN0YXRlbWVudCAt V2VuZGlmLWxhYmVscyAtV21pc3NpbmctZm9ybWF0LWF0dHJpYnV0ZSAtV2Zvcm1hdC1zZWN1cml0 eSAtZm5vLXN0cmljdC1hbGlhc2luZyAtZndyYXB2IC1mZXhjZXNzLXByZWNpc2lvbj1zdGFuZGFy ZCAtV25vLWZvcm1hdC10cnVuY2F0aW9uIC1Xbm8tc3RyaW5nb3AtdHJ1bmNhdGlvbiAtZyAtTyAt Zm5vLW9taXQtZnJhbWUtcG9pbnRlciAgLUkvdy9SLTMuNS5fL3Bvc3RncmVzL3NyYy9pbmNsdWRl L3BvcnQvd2luMzIgLURFWEVDX0JBQ0tFTkQgIC1JL3cvemxpYi0xLjIuOC13aW4zMi14ODZfNjQv aW5jbHVkZSAtSS93L29wZW5zc2wtMS4wLjJlLXdpbjMyLXg4Nl82NC9pbmNsdWRlIC1JL3cvbGli eG1sMi0yLjkuMy13aW4zMi14ODZfNjQvaW5jbHVkZS9saWJ4bWwyIC1JL3cvbGlieHNsdC0xLjEu Mjgtd2luMzIteDg2XzY0L2luY2x1ZGUgY29uZnRlc3QuYyA+JjUKY29uZnRlc3QuYzo3OToyMjog ZXJyb3I6IGNvbmZsaWN0aW5nIHR5cGVzIGZvciAnYWNjZXB0JwogZXh0ZXJuIFNPQ0tFVCBXU0FB UEkgYWNjZXB0ICh1bnNpZ25lZCBpbnQsIGNvbnN0IHN0cnVjdCBzb2NrYWRkciAqLCB1bnNpZ25l ZCBpbnQgKik7CiAgICAgICAgICAgICAgICAgICAgICBefn5+fn4KSW4gZmlsZSBpbmNsdWRlZCBm cm9tIFc6L1ItMy41Ll8vcG9zdGdyZXMvc3JjL2luY2x1ZGUvcG9ydC93aW4zMi9zeXMvc29ja2V0 Lmg6MTQsCiAgICAgICAgICAgICAgICAgZnJvbSBjb25mdGVzdC5jOjc4OgpDOi9tc3lzNjQvbWlu Z3c2NC94ODZfNjQtdzY0LW1pbmd3MzIvaW5jbHVkZS93aW5zb2NrMi5oOjk3MzozNzogbm90ZTog cHJldmlvdXMgZGVjbGFyYXRpb24gb2YgJ2FjY2VwdCcgd2FzIGhlcmUKICAgV0lOU09DS19BUElf TElOS0FHRSBTT0NLRVQgV1NBQVBJIGFjY2VwdChTT0NLRVQgcyxzdHJ1Y3Qgc29ja2FkZHIgKmFk ZHIsaW50ICphZGRybGVuKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF5+ fn5+fgpjb25maWd1cmU6MTQ3OTE6ICQ/ID0gMQpjb25maWd1cmU6IGZhaWxlZCBwcm9ncmFtIHdh czoKfCAvKiBjb25mZGVmcy5oICovCnwgI2RlZmluZSBQQUNLQUdFX05BTUUgIlBvc3RncmVTUUwi CnwgI2RlZmluZSBQQUNLQUdFX1RBUk5BTUUgInBvc3RncmVzcWwiCnwgI2RlZmluZSBQQUNLQUdF X1ZFUlNJT04gIjExYmV0YTMiCnwgI2RlZmluZSBQQUNLQUdFX1NUUklORyAiUG9zdGdyZVNRTCAx MWJldGEzIgp8ICNkZWZpbmUgUEFDS0FHRV9CVUdSRVBPUlQgInBnc3FsLWJ1Z3NAcG9zdGdyZXNx bC5vcmciCnwgI2RlZmluZSBQQUNLQUdFX1VSTCAiIgp8ICNkZWZpbmUgUEdfTUFKT1JWRVJTSU9O ICIxMSIKfCAjZGVmaW5lIFBHX1ZFUlNJT04gIjExYmV0YTMiCnwgI2RlZmluZSBERUZfUEdQT1JU IDU0MzIKfCAjZGVmaW5lIERFRl9QR1BPUlRfU1RSICI1NDMyIgp8ICNkZWZpbmUgQkxDS1NaIDgx OTIKfCAjZGVmaW5lIFJFTFNFR19TSVpFIDEzMTA3Mgp8ICNkZWZpbmUgWExPR19CTENLU1ogODE5 Mgp8ICNkZWZpbmUgVVNFX0FTU0VSVF9DSEVDS0lORyAxCnwgI2RlZmluZSBFTkFCTEVfVEhSRUFE X1NBRkVUWSAxCnwgI2RlZmluZSBVU0VfSUNVIDEKfCAjZGVmaW5lIFBHX0tSQl9TUlZOQU0gInBv c3RncmVzIgp8ICNkZWZpbmUgVVNFX09QRU5TU0wgMQp8ICNkZWZpbmUgVVNFX0xJQlhNTCAxCnwg I2RlZmluZSBVU0VfTElCWFNMVCAxCnwgI2RlZmluZSBTVERDX0hFQURFUlMgMQp8ICNkZWZpbmUg SEFWRV9TWVNfVFlQRVNfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19TVEFUX0ggMQp8ICNkZWZpbmUg SEFWRV9TVERMSUJfSCAxCnwgI2RlZmluZSBIQVZFX1NUUklOR19IIDEKfCAjZGVmaW5lIEhBVkVf TUVNT1JZX0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJJTkdTX0ggMQp8ICNkZWZpbmUgSEFWRV9JTlRU WVBFU19IIDEKfCAjZGVmaW5lIEhBVkVfU1RESU5UX0ggMQp8ICNkZWZpbmUgSEFWRV9VTklTVERf SCAxCnwgI2RlZmluZSBIQVZFX0xJQk0gMQp8ICNkZWZpbmUgSEFWRV9MSUJaIDEKfCAjZGVmaW5l IEhBVkVfU1BJTkxPQ0tTIDEKfCAjZGVmaW5lIEhBVkVfQVRPTUlDUyAxCnwgI2RlZmluZSBIQVZF X1NTTF9HRVRfQ1VSUkVOVF9DT01QUkVTU0lPTiAxCnwgI2RlZmluZSBIQVZFX1g1MDlfR0VUX1NJ R05BVFVSRV9OSUQgMQp8ICNkZWZpbmUgSEFWRV9DUllQVE9fTE9DSyAxCnwgI2RlZmluZSBIQVZF X0xJQlhNTDIgMQp8ICNkZWZpbmUgSEFWRV9MSUJYU0xUIDEKfCAjZGVmaW5lIEhBVkVfX0JPT0wg MQp8ICNkZWZpbmUgSEFWRV9TVERCT09MX0ggMQp8ICNkZWZpbmUgSEFWRV9HRVRPUFRfSCAxCnwg I2RlZmluZSBIQVZFX0lFRUVGUF9IIDEKfCAjZGVmaW5lIEhBVkVfVVRJTUVfSCAxCnwgI2RlZmlu ZSBIQVZFX1dDSEFSX0ggMQp8ICNkZWZpbmUgSEFWRV9XQ1RZUEVfSCAxCnwgI2RlZmluZSBIQVZF X0NSVERFRlNfSCAxCnwgI2RlZmluZSBQR19QUklOVEZfQVRUUklCVVRFIGdudV9wcmludGYKfCAj ZGVmaW5lIEZMRVhJQkxFX0FSUkFZX01FTUJFUiAvKiovCnwgI2RlZmluZSBIQVZFX0ZVTkNOQU1F X19GVU5DIDEKfCAjZGVmaW5lIEhBVkVfX1NUQVRJQ19BU1NFUlQgMQp8ICNkZWZpbmUgSEFWRV9U WVBFT0YgMQp8ICNkZWZpbmUgSEFWRV9fQlVJTFRJTl9UWVBFU19DT01QQVRJQkxFX1AgMQp8ICNk ZWZpbmUgSEFWRV9fQlVJTFRJTl9CU1dBUDE2IDEKfCAjZGVmaW5lIEhBVkVfX0JVSUxUSU5fQlNX QVAzMiAxCnwgI2RlZmluZSBIQVZFX19CVUlMVElOX0JTV0FQNjQgMQp8ICNkZWZpbmUgSEFWRV9f QlVJTFRJTl9DT05TVEFOVF9QIDEKfCAjZGVmaW5lIEhBVkVfX0JVSUxUSU5fVU5SRUFDSEFCTEUg MQp8ICNkZWZpbmUgSEFWRV9DT01QVVRFRF9HT1RPIDEKfCAjZGVmaW5lIEhBVkVfX1ZBX0FSR1Mg MQp8ICNkZWZpbmUgSEFWRV9UWk5BTUUgMQp8ICNkZWZpbmUgSEFWRV9TVFJVQ1RfU09DS0FERFJf U1RPUkFHRSAxCnwgI2RlZmluZSBIQVZFX1NUUlVDVF9TT0NLQUREUl9TVE9SQUdFX1NTX0ZBTUlM WSAxCnwgI2RlZmluZSBIQVZFX1NUUlVDVF9BRERSSU5GTyAxCnwgI2RlZmluZSBIQVZFX0lOVFBU Ul9UIDEKfCAjZGVmaW5lIEhBVkVfVUlOVFBUUl9UIDEKfCAjZGVmaW5lIEhBVkVfVU5TSUdORURf TE9OR19MT05HX0lOVCAxCnwgI2RlZmluZSBIQVZFX0xPTkdfTE9OR19JTlQgMQp8ICNkZWZpbmUg cmVzdHJpY3QgX19yZXN0cmljdAp8ICNkZWZpbmUgcGdfcmVzdHJpY3QgX19yZXN0cmljdAp8ICNk ZWZpbmUgSEFWRV9TVFJVQ1RfT1BUSU9OIDEKfCAjZGVmaW5lIFNJWkVPRl9PRkZfVCA0CnwgI2Rl ZmluZSBTSVpFT0ZfQk9PTCAxCnwgI2RlZmluZSBIQVZFX0lOVF9USU1FWk9ORSAxCnwgLyogZW5k IGNvbmZkZWZzLmguICAqLwp8ICNpbmNsdWRlIDxzeXMvdHlwZXMuaD4KfCAjaW5jbHVkZSA8c3lz L3NvY2tldC5oPgp8IGV4dGVybiBTT0NLRVQgV1NBQVBJIGFjY2VwdCAodW5zaWduZWQgaW50LCBj b25zdCBzdHJ1Y3Qgc29ja2FkZHIgKiwgdW5zaWduZWQgaW50ICopOwpjb25maWd1cmU6MTQ3OTE6 IHg4Nl82NC13NjQtbWluZ3czMi1nY2MgLWMgLVdhbGwgLVdtaXNzaW5nLXByb3RvdHlwZXMgLVdw b2ludGVyLWFyaXRoIC1XZGVjbGFyYXRpb24tYWZ0ZXItc3RhdGVtZW50IC1XZW5kaWYtbGFiZWxz IC1XbWlzc2luZy1mb3JtYXQtYXR0cmlidXRlIC1XZm9ybWF0LXNlY3VyaXR5IC1mbm8tc3RyaWN0 LWFsaWFzaW5nIC1md3JhcHYgLWZleGNlc3MtcHJlY2lzaW9uPXN0YW5kYXJkIC1Xbm8tZm9ybWF0 LXRydW5jYXRpb24gLVduby1zdHJpbmdvcC10cnVuY2F0aW9uIC1nIC1PIC1mbm8tb21pdC1mcmFt ZS1wb2ludGVyICAtSS93L1ItMy41Ll8vcG9zdGdyZXMvc3JjL2luY2x1ZGUvcG9ydC93aW4zMiAt REVYRUNfQkFDS0VORCAgLUkvdy96bGliLTEuMi44LXdpbjMyLXg4Nl82NC9pbmNsdWRlIC1JL3cv b3BlbnNzbC0xLjAuMmUtd2luMzIteDg2XzY0L2luY2x1ZGUgLUkvdy9saWJ4bWwyLTIuOS4zLXdp bjMyLXg4Nl82NC9pbmNsdWRlL2xpYnhtbDIgLUkvdy9saWJ4c2x0LTEuMS4yOC13aW4zMi14ODZf NjQvaW5jbHVkZSBjb25mdGVzdC5jID4mNQpjb25mdGVzdC5jOjc5OjIyOiBlcnJvcjogY29uZmxp Y3RpbmcgdHlwZXMgZm9yICdhY2NlcHQnCiBleHRlcm4gU09DS0VUIFdTQUFQSSBhY2NlcHQgKHVu c2lnbmVkIGludCwgY29uc3Qgc3RydWN0IHNvY2thZGRyICosIHZvaWQgKik7CiAgICAgICAgICAg ICAgICAgICAgICBefn5+fn4KSW4gZmlsZSBpbmNsdWRlZCBmcm9tIFc6L1ItMy41Ll8vcG9zdGdy ZXMvc3JjL2luY2x1ZGUvcG9ydC93aW4zMi9zeXMvc29ja2V0Lmg6MTQsCiAgICAgICAgICAgICAg ICAgZnJvbSBjb25mdGVzdC5jOjc4OgpDOi9tc3lzNjQvbWluZ3c2NC94ODZfNjQtdzY0LW1pbmd3 MzIvaW5jbHVkZS93aW5zb2NrMi5oOjk3MzozNzogbm90ZTogcHJldmlvdXMgZGVjbGFyYXRpb24g b2YgJ2FjY2VwdCcgd2FzIGhlcmUKICAgV0lOU09DS19BUElfTElOS0FHRSBTT0NLRVQgV1NBQVBJ IGFjY2VwdChTT0NLRVQgcyxzdHJ1Y3Qgc29ja2FkZHIgKmFkZHIsaW50ICphZGRybGVuKTsKICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF5+fn5+fgpjb25maWd1cmU6MTQ3OTE6 ICQ/ID0gMQpjb25maWd1cmU6IGZhaWxlZCBwcm9ncmFtIHdhczoKfCAvKiBjb25mZGVmcy5oICov CnwgI2RlZmluZSBQQUNLQUdFX05BTUUgIlBvc3RncmVTUUwiCnwgI2RlZmluZSBQQUNLQUdFX1RB Uk5BTUUgInBvc3RncmVzcWwiCnwgI2RlZmluZSBQQUNLQUdFX1ZFUlNJT04gIjExYmV0YTMiCnwg I2RlZmluZSBQQUNLQUdFX1NUUklORyAiUG9zdGdyZVNRTCAxMWJldGEzIgp8ICNkZWZpbmUgUEFD S0FHRV9CVUdSRVBPUlQgInBnc3FsLWJ1Z3NAcG9zdGdyZXNxbC5vcmciCnwgI2RlZmluZSBQQUNL QUdFX1VSTCAiIgp8ICNkZWZpbmUgUEdfTUFKT1JWRVJTSU9OICIxMSIKfCAjZGVmaW5lIFBHX1ZF UlNJT04gIjExYmV0YTMiCnwgI2RlZmluZSBERUZfUEdQT1JUIDU0MzIKfCAjZGVmaW5lIERFRl9Q R1BPUlRfU1RSICI1NDMyIgp8ICNkZWZpbmUgQkxDS1NaIDgxOTIKfCAjZGVmaW5lIFJFTFNFR19T SVpFIDEzMTA3Mgp8ICNkZWZpbmUgWExPR19CTENLU1ogODE5Mgp8ICNkZWZpbmUgVVNFX0FTU0VS VF9DSEVDS0lORyAxCnwgI2RlZmluZSBFTkFCTEVfVEhSRUFEX1NBRkVUWSAxCnwgI2RlZmluZSBV U0VfSUNVIDEKfCAjZGVmaW5lIFBHX0tSQl9TUlZOQU0gInBvc3RncmVzIgp8ICNkZWZpbmUgVVNF X09QRU5TU0wgMQp8ICNkZWZpbmUgVVNFX0xJQlhNTCAxCnwgI2RlZmluZSBVU0VfTElCWFNMVCAx CnwgI2RlZmluZSBTVERDX0hFQURFUlMgMQp8ICNkZWZpbmUgSEFWRV9TWVNfVFlQRVNfSCAxCnwg I2RlZmluZSBIQVZFX1NZU19TVEFUX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERMSUJfSCAxCnwgI2Rl ZmluZSBIQVZFX1NUUklOR19IIDEKfCAjZGVmaW5lIEhBVkVfTUVNT1JZX0ggMQp8ICNkZWZpbmUg SEFWRV9TVFJJTkdTX0ggMQp8ICNkZWZpbmUgSEFWRV9JTlRUWVBFU19IIDEKfCAjZGVmaW5lIEhB VkVfU1RESU5UX0ggMQp8ICNkZWZpbmUgSEFWRV9VTklTVERfSCAxCnwgI2RlZmluZSBIQVZFX0xJ Qk0gMQp8ICNkZWZpbmUgSEFWRV9MSUJaIDEKfCAjZGVmaW5lIEhBVkVfU1BJTkxPQ0tTIDEKfCAj ZGVmaW5lIEhBVkVfQVRPTUlDUyAxCnwgI2RlZmluZSBIQVZFX1NTTF9HRVRfQ1VSUkVOVF9DT01Q UkVTU0lPTiAxCnwgI2RlZmluZSBIQVZFX1g1MDlfR0VUX1NJR05BVFVSRV9OSUQgMQp8ICNkZWZp bmUgSEFWRV9DUllQVE9fTE9DSyAxCnwgI2RlZmluZSBIQVZFX0xJQlhNTDIgMQp8ICNkZWZpbmUg SEFWRV9MSUJYU0xUIDEKfCAjZGVmaW5lIEhBVkVfX0JPT0wgMQp8ICNkZWZpbmUgSEFWRV9TVERC T09MX0ggMQp8ICNkZWZpbmUgSEFWRV9HRVRPUFRfSCAxCnwgI2RlZmluZSBIQVZFX0lFRUVGUF9I IDEKfCAjZGVmaW5lIEhBVkVfVVRJTUVfSCAxCnwgI2RlZmluZSBIQVZFX1dDSEFSX0ggMQp8ICNk ZWZpbmUgSEFWRV9XQ1RZUEVfSCAxCnwgI2RlZmluZSBIQVZFX0NSVERFRlNfSCAxCnwgI2RlZmlu ZSBQR19QUklOVEZfQVRUUklCVVRFIGdudV9wcmludGYKfCAjZGVmaW5lIEZMRVhJQkxFX0FSUkFZ X01FTUJFUiAvKiovCnwgI2RlZmluZSBIQVZFX0ZVTkNOQU1FX19GVU5DIDEKfCAjZGVmaW5lIEhB VkVfX1NUQVRJQ19BU1NFUlQgMQp8ICNkZWZpbmUgSEFWRV9UWVBFT0YgMQp8ICNkZWZpbmUgSEFW RV9fQlVJTFRJTl9UWVBFU19DT01QQVRJQkxFX1AgMQp8ICNkZWZpbmUgSEFWRV9fQlVJTFRJTl9C U1dBUDE2IDEKfCAjZGVmaW5lIEhBVkVfX0JVSUxUSU5fQlNXQVAzMiAxCnwgI2RlZmluZSBIQVZF X19CVUlMVElOX0JTV0FQNjQgMQp8ICNkZWZpbmUgSEFWRV9fQlVJTFRJTl9DT05TVEFOVF9QIDEK fCAjZGVmaW5lIEhBVkVfX0JVSUxUSU5fVU5SRUFDSEFCTEUgMQp8ICNkZWZpbmUgSEFWRV9DT01Q VVRFRF9HT1RPIDEKfCAjZGVmaW5lIEhBVkVfX1ZBX0FSR1MgMQp8ICNkZWZpbmUgSEFWRV9UWk5B TUUgMQp8ICNkZWZpbmUgSEFWRV9TVFJVQ1RfU09DS0FERFJfU1RPUkFHRSAxCnwgI2RlZmluZSBI QVZFX1NUUlVDVF9TT0NLQUREUl9TVE9SQUdFX1NTX0ZBTUlMWSAxCnwgI2RlZmluZSBIQVZFX1NU UlVDVF9BRERSSU5GTyAxCnwgI2RlZmluZSBIQVZFX0lOVFBUUl9UIDEKfCAjZGVmaW5lIEhBVkVf VUlOVFBUUl9UIDEKfCAjZGVmaW5lIEhBVkVfVU5TSUdORURfTE9OR19MT05HX0lOVCAxCnwgI2Rl ZmluZSBIQVZFX0xPTkdfTE9OR19JTlQgMQp8ICNkZWZpbmUgcmVzdHJpY3QgX19yZXN0cmljdAp8 ICNkZWZpbmUgcGdfcmVzdHJpY3QgX19yZXN0cmljdAp8ICNkZWZpbmUgSEFWRV9TVFJVQ1RfT1BU SU9OIDEKfCAjZGVmaW5lIFNJWkVPRl9PRkZfVCA0CnwgI2RlZmluZSBTSVpFT0ZfQk9PTCAxCnwg I2RlZmluZSBIQVZFX0lOVF9USU1FWk9ORSAxCnwgLyogZW5kIGNvbmZkZWZzLmguICAqLwp8ICNp bmNsdWRlIDxzeXMvdHlwZXMuaD4KfCAjaW5jbHVkZSA8c3lzL3NvY2tldC5oPgp8IGV4dGVybiBT T0NLRVQgV1NBQVBJIGFjY2VwdCAodW5zaWduZWQgaW50LCBjb25zdCBzdHJ1Y3Qgc29ja2FkZHIg Kiwgdm9pZCAqKTsKY29uZmlndXJlOjE0NzkxOiB4ODZfNjQtdzY0LW1pbmd3MzItZ2NjIC1jIC1X YWxsIC1XbWlzc2luZy1wcm90b3R5cGVzIC1XcG9pbnRlci1hcml0aCAtV2RlY2xhcmF0aW9uLWFm dGVyLXN0YXRlbWVudCAtV2VuZGlmLWxhYmVscyAtV21pc3NpbmctZm9ybWF0LWF0dHJpYnV0ZSAt V2Zvcm1hdC1zZWN1cml0eSAtZm5vLXN0cmljdC1hbGlhc2luZyAtZndyYXB2IC1mZXhjZXNzLXBy ZWNpc2lvbj1zdGFuZGFyZCAtV25vLWZvcm1hdC10cnVuY2F0aW9uIC1Xbm8tc3RyaW5nb3AtdHJ1 bmNhdGlvbiAtZyAtTyAtZm5vLW9taXQtZnJhbWUtcG9pbnRlciAgLUkvdy9SLTMuNS5fL3Bvc3Rn cmVzL3NyYy9pbmNsdWRlL3BvcnQvd2luMzIgLURFWEVDX0JBQ0tFTkQgIC1JL3cvemxpYi0xLjIu OC13aW4zMi14ODZfNjQvaW5jbHVkZSAtSS93L29wZW5zc2wtMS4wLjJlLXdpbjMyLXg4Nl82NC9p bmNsdWRlIC1JL3cvbGlieG1sMi0yLjkuMy13aW4zMi14ODZfNjQvaW5jbHVkZS9saWJ4bWwyIC1J L3cvbGlieHNsdC0xLjEuMjgtd2luMzIteDg2XzY0L2luY2x1ZGUgY29uZnRlc3QuYyA+JjUKY29u ZnRlc3QuYzo3OToyMjogZXJyb3I6IGNvbmZsaWN0aW5nIHR5cGVzIGZvciAnYWNjZXB0JwogZXh0 ZXJuIFNPQ0tFVCBXU0FBUEkgYWNjZXB0ICh1bnNpZ25lZCBpbnQsIHZvaWQgKiwgaW50ICopOwog ICAgICAgICAgICAgICAgICAgICAgXn5+fn5+CkluIGZpbGUgaW5jbHVkZWQgZnJvbSBXOi9SLTMu NS5fL3Bvc3RncmVzL3NyYy9pbmNsdWRlL3BvcnQvd2luMzIvc3lzL3NvY2tldC5oOjE0LAogICAg ICAgICAgICAgICAgIGZyb20gY29uZnRlc3QuYzo3ODoKQzovbXN5czY0L21pbmd3NjQveDg2XzY0 LXc2NC1taW5ndzMyL2luY2x1ZGUvd2luc29jazIuaDo5NzM6Mzc6IG5vdGU6IHByZXZpb3VzIGRl Y2xhcmF0aW9uIG9mICdhY2NlcHQnIHdhcyBoZXJlCiAgIFdJTlNPQ0tfQVBJX0xJTktBR0UgU09D S0VUIFdTQUFQSSBhY2NlcHQoU09DS0VUIHMsc3RydWN0IHNvY2thZGRyICphZGRyLGludCAqYWRk cmxlbik7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBefn5+fn4KY29uZmln dXJlOjE0NzkxOiAkPyA9IDEKY29uZmlndXJlOiBmYWlsZWQgcHJvZ3JhbSB3YXM6CnwgLyogY29u ZmRlZnMuaCAqLwp8ICNkZWZpbmUgUEFDS0FHRV9OQU1FICJQb3N0Z3JlU1FMIgp8ICNkZWZpbmUg UEFDS0FHRV9UQVJOQU1FICJwb3N0Z3Jlc3FsIgp8ICNkZWZpbmUgUEFDS0FHRV9WRVJTSU9OICIx MWJldGEzIgp8ICNkZWZpbmUgUEFDS0FHRV9TVFJJTkcgIlBvc3RncmVTUUwgMTFiZXRhMyIKfCAj ZGVmaW5lIFBBQ0tBR0VfQlVHUkVQT1JUICJwZ3NxbC1idWdzQHBvc3RncmVzcWwub3JnIgp8ICNk ZWZpbmUgUEFDS0FHRV9VUkwgIiIKfCAjZGVmaW5lIFBHX01BSk9SVkVSU0lPTiAiMTEiCnwgI2Rl ZmluZSBQR19WRVJTSU9OICIxMWJldGEzIgp8ICNkZWZpbmUgREVGX1BHUE9SVCA1NDMyCnwgI2Rl ZmluZSBERUZfUEdQT1JUX1NUUiAiNTQzMiIKfCAjZGVmaW5lIEJMQ0tTWiA4MTkyCnwgI2RlZmlu ZSBSRUxTRUdfU0laRSAxMzEwNzIKfCAjZGVmaW5lIFhMT0dfQkxDS1NaIDgxOTIKfCAjZGVmaW5l IFVTRV9BU1NFUlRfQ0hFQ0tJTkcgMQp8ICNkZWZpbmUgRU5BQkxFX1RIUkVBRF9TQUZFVFkgMQp8 ICNkZWZpbmUgVVNFX0lDVSAxCnwgI2RlZmluZSBQR19LUkJfU1JWTkFNICJwb3N0Z3JlcyIKfCAj ZGVmaW5lIFVTRV9PUEVOU1NMIDEKfCAjZGVmaW5lIFVTRV9MSUJYTUwgMQp8ICNkZWZpbmUgVVNF X0xJQlhTTFQgMQp8ICNkZWZpbmUgU1REQ19IRUFERVJTIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1RZ UEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfU1RBVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1RETElC X0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJJTkdfSCAxCnwgI2RlZmluZSBIQVZFX01FTU9SWV9IIDEK fCAjZGVmaW5lIEhBVkVfU1RSSU5HU19IIDEKfCAjZGVmaW5lIEhBVkVfSU5UVFlQRVNfSCAxCnwg I2RlZmluZSBIQVZFX1NURElOVF9IIDEKfCAjZGVmaW5lIEhBVkVfVU5JU1REX0ggMQp8ICNkZWZp bmUgSEFWRV9MSUJNIDEKfCAjZGVmaW5lIEhBVkVfTElCWiAxCnwgI2RlZmluZSBIQVZFX1NQSU5M T0NLUyAxCnwgI2RlZmluZSBIQVZFX0FUT01JQ1MgMQp8ICNkZWZpbmUgSEFWRV9TU0xfR0VUX0NV UlJFTlRfQ09NUFJFU1NJT04gMQp8ICNkZWZpbmUgSEFWRV9YNTA5X0dFVF9TSUdOQVRVUkVfTklE IDEKfCAjZGVmaW5lIEhBVkVfQ1JZUFRPX0xPQ0sgMQp8ICNkZWZpbmUgSEFWRV9MSUJYTUwyIDEK fCAjZGVmaW5lIEhBVkVfTElCWFNMVCAxCnwgI2RlZmluZSBIQVZFX19CT09MIDEKfCAjZGVmaW5l IEhBVkVfU1REQk9PTF9IIDEKfCAjZGVmaW5lIEhBVkVfR0VUT1BUX0ggMQp8ICNkZWZpbmUgSEFW RV9JRUVFRlBfSCAxCnwgI2RlZmluZSBIQVZFX1VUSU1FX0ggMQp8ICNkZWZpbmUgSEFWRV9XQ0hB Ul9IIDEKfCAjZGVmaW5lIEhBVkVfV0NUWVBFX0ggMQp8ICNkZWZpbmUgSEFWRV9DUlRERUZTX0gg MQp8ICNkZWZpbmUgUEdfUFJJTlRGX0FUVFJJQlVURSBnbnVfcHJpbnRmCnwgI2RlZmluZSBGTEVY SUJMRV9BUlJBWV9NRU1CRVIgLyoqLwp8ICNkZWZpbmUgSEFWRV9GVU5DTkFNRV9fRlVOQyAxCnwg I2RlZmluZSBIQVZFX19TVEFUSUNfQVNTRVJUIDEKfCAjZGVmaW5lIEhBVkVfVFlQRU9GIDEKfCAj ZGVmaW5lIEhBVkVfX0JVSUxUSU5fVFlQRVNfQ09NUEFUSUJMRV9QIDEKfCAjZGVmaW5lIEhBVkVf X0JVSUxUSU5fQlNXQVAxNiAxCnwgI2RlZmluZSBIQVZFX19CVUlMVElOX0JTV0FQMzIgMQp8ICNk ZWZpbmUgSEFWRV9fQlVJTFRJTl9CU1dBUDY0IDEKfCAjZGVmaW5lIEhBVkVfX0JVSUxUSU5fQ09O U1RBTlRfUCAxCnwgI2RlZmluZSBIQVZFX19CVUlMVElOX1VOUkVBQ0hBQkxFIDEKfCAjZGVmaW5l IEhBVkVfQ09NUFVURURfR09UTyAxCnwgI2RlZmluZSBIQVZFX19WQV9BUkdTIDEKfCAjZGVmaW5l IEhBVkVfVFpOQU1FIDEKfCAjZGVmaW5lIEhBVkVfU1RSVUNUX1NPQ0tBRERSX1NUT1JBR0UgMQp8 ICNkZWZpbmUgSEFWRV9TVFJVQ1RfU09DS0FERFJfU1RPUkFHRV9TU19GQU1JTFkgMQp8ICNkZWZp bmUgSEFWRV9TVFJVQ1RfQUREUklORk8gMQp8ICNkZWZpbmUgSEFWRV9JTlRQVFJfVCAxCnwgI2Rl ZmluZSBIQVZFX1VJTlRQVFJfVCAxCnwgI2RlZmluZSBIQVZFX1VOU0lHTkVEX0xPTkdfTE9OR19J TlQgMQp8ICNkZWZpbmUgSEFWRV9MT05HX0xPTkdfSU5UIDEKfCAjZGVmaW5lIHJlc3RyaWN0IF9f cmVzdHJpY3QKfCAjZGVmaW5lIHBnX3Jlc3RyaWN0IF9fcmVzdHJpY3QKfCAjZGVmaW5lIEhBVkVf U1RSVUNUX09QVElPTiAxCnwgI2RlZmluZSBTSVpFT0ZfT0ZGX1QgNAp8ICNkZWZpbmUgU0laRU9G X0JPT0wgMQp8ICNkZWZpbmUgSEFWRV9JTlRfVElNRVpPTkUgMQp8IC8qIGVuZCBjb25mZGVmcy5o LiAgKi8KfCAjaW5jbHVkZSA8c3lzL3R5cGVzLmg+CnwgI2luY2x1ZGUgPHN5cy9zb2NrZXQuaD4K fCBleHRlcm4gU09DS0VUIFdTQUFQSSBhY2NlcHQgKHVuc2lnbmVkIGludCwgdm9pZCAqLCBpbnQg Kik7CmNvbmZpZ3VyZToxNDc5MTogeDg2XzY0LXc2NC1taW5ndzMyLWdjYyAtYyAtV2FsbCAtV21p c3NpbmctcHJvdG90eXBlcyAtV3BvaW50ZXItYXJpdGggLVdkZWNsYXJhdGlvbi1hZnRlci1zdGF0 ZW1lbnQgLVdlbmRpZi1sYWJlbHMgLVdtaXNzaW5nLWZvcm1hdC1hdHRyaWJ1dGUgLVdmb3JtYXQt c2VjdXJpdHkgLWZuby1zdHJpY3QtYWxpYXNpbmcgLWZ3cmFwdiAtZmV4Y2Vzcy1wcmVjaXNpb249 c3RhbmRhcmQgLVduby1mb3JtYXQtdHJ1bmNhdGlvbiAtV25vLXN0cmluZ29wLXRydW5jYXRpb24g LWcgLU8gLWZuby1vbWl0LWZyYW1lLXBvaW50ZXIgIC1JL3cvUi0zLjUuXy9wb3N0Z3Jlcy9zcmMv aW5jbHVkZS9wb3J0L3dpbjMyIC1ERVhFQ19CQUNLRU5EICAtSS93L3psaWItMS4yLjgtd2luMzIt eDg2XzY0L2luY2x1ZGUgLUkvdy9vcGVuc3NsLTEuMC4yZS13aW4zMi14ODZfNjQvaW5jbHVkZSAt SS93L2xpYnhtbDItMi45LjMtd2luMzIteDg2XzY0L2luY2x1ZGUvbGlieG1sMiAtSS93L2xpYnhz bHQtMS4xLjI4LXdpbjMyLXg4Nl82NC9pbmNsdWRlIGNvbmZ0ZXN0LmMgPiY1CmNvbmZ0ZXN0LmM6 Nzk6MjI6IGVycm9yOiBjb25mbGljdGluZyB0eXBlcyBmb3IgJ2FjY2VwdCcKIGV4dGVybiBTT0NL RVQgV1NBQVBJIGFjY2VwdCAodW5zaWduZWQgaW50LCB2b2lkICosIHNpemVfdCAqKTsKICAgICAg ICAgICAgICAgICAgICAgIF5+fn5+fgpJbiBmaWxlIGluY2x1ZGVkIGZyb20gVzovUi0zLjUuXy9w b3N0Z3Jlcy9zcmMvaW5jbHVkZS9wb3J0L3dpbjMyL3N5cy9zb2NrZXQuaDoxNCwKICAgICAgICAg ICAgICAgICBmcm9tIGNvbmZ0ZXN0LmM6Nzg6CkM6L21zeXM2NC9taW5ndzY0L3g4Nl82NC13NjQt bWluZ3czMi9pbmNsdWRlL3dpbnNvY2syLmg6OTczOjM3OiBub3RlOiBwcmV2aW91cyBkZWNsYXJh dGlvbiBvZiAnYWNjZXB0JyB3YXMgaGVyZQogICBXSU5TT0NLX0FQSV9MSU5LQUdFIFNPQ0tFVCBX U0FBUEkgYWNjZXB0KFNPQ0tFVCBzLHN0cnVjdCBzb2NrYWRkciAqYWRkcixpbnQgKmFkZHJsZW4p OwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXn5+fn5+CmNvbmZpZ3VyZTox NDc5MTogJD8gPSAxCmNvbmZpZ3VyZTogZmFpbGVkIHByb2dyYW0gd2FzOgp8IC8qIGNvbmZkZWZz LmggKi8KfCAjZGVmaW5lIFBBQ0tBR0VfTkFNRSAiUG9zdGdyZVNRTCIKfCAjZGVmaW5lIFBBQ0tB R0VfVEFSTkFNRSAicG9zdGdyZXNxbCIKfCAjZGVmaW5lIFBBQ0tBR0VfVkVSU0lPTiAiMTFiZXRh MyIKfCAjZGVmaW5lIFBBQ0tBR0VfU1RSSU5HICJQb3N0Z3JlU1FMIDExYmV0YTMiCnwgI2RlZmlu ZSBQQUNLQUdFX0JVR1JFUE9SVCAicGdzcWwtYnVnc0Bwb3N0Z3Jlc3FsLm9yZyIKfCAjZGVmaW5l IFBBQ0tBR0VfVVJMICIiCnwgI2RlZmluZSBQR19NQUpPUlZFUlNJT04gIjExIgp8ICNkZWZpbmUg UEdfVkVSU0lPTiAiMTFiZXRhMyIKfCAjZGVmaW5lIERFRl9QR1BPUlQgNTQzMgp8ICNkZWZpbmUg REVGX1BHUE9SVF9TVFIgIjU0MzIiCnwgI2RlZmluZSBCTENLU1ogODE5Mgp8ICNkZWZpbmUgUkVM U0VHX1NJWkUgMTMxMDcyCnwgI2RlZmluZSBYTE9HX0JMQ0tTWiA4MTkyCnwgI2RlZmluZSBVU0Vf QVNTRVJUX0NIRUNLSU5HIDEKfCAjZGVmaW5lIEVOQUJMRV9USFJFQURfU0FGRVRZIDEKfCAjZGVm aW5lIFVTRV9JQ1UgMQp8ICNkZWZpbmUgUEdfS1JCX1NSVk5BTSAicG9zdGdyZXMiCnwgI2RlZmlu ZSBVU0VfT1BFTlNTTCAxCnwgI2RlZmluZSBVU0VfTElCWE1MIDEKfCAjZGVmaW5lIFVTRV9MSUJY U0xUIDEKfCAjZGVmaW5lIFNURENfSEVBREVSUyAxCnwgI2RlZmluZSBIQVZFX1NZU19UWVBFU19I IDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NUQVRfSCAxCnwgI2RlZmluZSBIQVZFX1NURExJQl9IIDEK fCAjZGVmaW5lIEhBVkVfU1RSSU5HX0ggMQp8ICNkZWZpbmUgSEFWRV9NRU1PUllfSCAxCnwgI2Rl ZmluZSBIQVZFX1NUUklOR1NfSCAxCnwgI2RlZmluZSBIQVZFX0lOVFRZUEVTX0ggMQp8ICNkZWZp bmUgSEFWRV9TVERJTlRfSCAxCnwgI2RlZmluZSBIQVZFX1VOSVNURF9IIDEKfCAjZGVmaW5lIEhB VkVfTElCTSAxCnwgI2RlZmluZSBIQVZFX0xJQlogMQp8ICNkZWZpbmUgSEFWRV9TUElOTE9DS1Mg MQp8ICNkZWZpbmUgSEFWRV9BVE9NSUNTIDEKfCAjZGVmaW5lIEhBVkVfU1NMX0dFVF9DVVJSRU5U X0NPTVBSRVNTSU9OIDEKfCAjZGVmaW5lIEhBVkVfWDUwOV9HRVRfU0lHTkFUVVJFX05JRCAxCnwg I2RlZmluZSBIQVZFX0NSWVBUT19MT0NLIDEKfCAjZGVmaW5lIEhBVkVfTElCWE1MMiAxCnwgI2Rl ZmluZSBIQVZFX0xJQlhTTFQgMQp8ICNkZWZpbmUgSEFWRV9fQk9PTCAxCnwgI2RlZmluZSBIQVZF X1NUREJPT0xfSCAxCnwgI2RlZmluZSBIQVZFX0dFVE9QVF9IIDEKfCAjZGVmaW5lIEhBVkVfSUVF RUZQX0ggMQp8ICNkZWZpbmUgSEFWRV9VVElNRV9IIDEKfCAjZGVmaW5lIEhBVkVfV0NIQVJfSCAx CnwgI2RlZmluZSBIQVZFX1dDVFlQRV9IIDEKfCAjZGVmaW5lIEhBVkVfQ1JUREVGU19IIDEKfCAj ZGVmaW5lIFBHX1BSSU5URl9BVFRSSUJVVEUgZ251X3ByaW50Zgp8ICNkZWZpbmUgRkxFWElCTEVf QVJSQVlfTUVNQkVSIC8qKi8KfCAjZGVmaW5lIEhBVkVfRlVOQ05BTUVfX0ZVTkMgMQp8ICNkZWZp bmUgSEFWRV9fU1RBVElDX0FTU0VSVCAxCnwgI2RlZmluZSBIQVZFX1RZUEVPRiAxCnwgI2RlZmlu ZSBIQVZFX19CVUlMVElOX1RZUEVTX0NPTVBBVElCTEVfUCAxCnwgI2RlZmluZSBIQVZFX19CVUlM VElOX0JTV0FQMTYgMQp8ICNkZWZpbmUgSEFWRV9fQlVJTFRJTl9CU1dBUDMyIDEKfCAjZGVmaW5l IEhBVkVfX0JVSUxUSU5fQlNXQVA2NCAxCnwgI2RlZmluZSBIQVZFX19CVUlMVElOX0NPTlNUQU5U X1AgMQp8ICNkZWZpbmUgSEFWRV9fQlVJTFRJTl9VTlJFQUNIQUJMRSAxCnwgI2RlZmluZSBIQVZF X0NPTVBVVEVEX0dPVE8gMQp8ICNkZWZpbmUgSEFWRV9fVkFfQVJHUyAxCnwgI2RlZmluZSBIQVZF X1RaTkFNRSAxCnwgI2RlZmluZSBIQVZFX1NUUlVDVF9TT0NLQUREUl9TVE9SQUdFIDEKfCAjZGVm aW5lIEhBVkVfU1RSVUNUX1NPQ0tBRERSX1NUT1JBR0VfU1NfRkFNSUxZIDEKfCAjZGVmaW5lIEhB VkVfU1RSVUNUX0FERFJJTkZPIDEKfCAjZGVmaW5lIEhBVkVfSU5UUFRSX1QgMQp8ICNkZWZpbmUg SEFWRV9VSU5UUFRSX1QgMQp8ICNkZWZpbmUgSEFWRV9VTlNJR05FRF9MT05HX0xPTkdfSU5UIDEK fCAjZGVmaW5lIEhBVkVfTE9OR19MT05HX0lOVCAxCnwgI2RlZmluZSByZXN0cmljdCBfX3Jlc3Ry aWN0CnwgI2RlZmluZSBwZ19yZXN0cmljdCBfX3Jlc3RyaWN0CnwgI2RlZmluZSBIQVZFX1NUUlVD VF9PUFRJT04gMQp8ICNkZWZpbmUgU0laRU9GX09GRl9UIDQKfCAjZGVmaW5lIFNJWkVPRl9CT09M IDEKfCAjZGVmaW5lIEhBVkVfSU5UX1RJTUVaT05FIDEKfCAvKiBlbmQgY29uZmRlZnMuaC4gICov CnwgI2luY2x1ZGUgPHN5cy90eXBlcy5oPgp8ICNpbmNsdWRlIDxzeXMvc29ja2V0Lmg+CnwgZXh0 ZXJuIFNPQ0tFVCBXU0FBUEkgYWNjZXB0ICh1bnNpZ25lZCBpbnQsIHZvaWQgKiwgc2l6ZV90ICop Owpjb25maWd1cmU6MTQ3OTE6IHg4Nl82NC13NjQtbWluZ3czMi1nY2MgLWMgLVdhbGwgLVdtaXNz aW5nLXByb3RvdHlwZXMgLVdwb2ludGVyLWFyaXRoIC1XZGVjbGFyYXRpb24tYWZ0ZXItc3RhdGVt ZW50IC1XZW5kaWYtbGFiZWxzIC1XbWlzc2luZy1mb3JtYXQtYXR0cmlidXRlIC1XZm9ybWF0LXNl Y3VyaXR5IC1mbm8tc3RyaWN0LWFsaWFzaW5nIC1md3JhcHYgLWZleGNlc3MtcHJlY2lzaW9uPXN0 YW5kYXJkIC1Xbm8tZm9ybWF0LXRydW5jYXRpb24gLVduby1zdHJpbmdvcC10cnVuY2F0aW9uIC1n IC1PIC1mbm8tb21pdC1mcmFtZS1wb2ludGVyICAtSS93L1ItMy41Ll8vcG9zdGdyZXMvc3JjL2lu Y2x1ZGUvcG9ydC93aW4zMiAtREVYRUNfQkFDS0VORCAgLUkvdy96bGliLTEuMi44LXdpbjMyLXg4 Nl82NC9pbmNsdWRlIC1JL3cvb3BlbnNzbC0xLjAuMmUtd2luMzIteDg2XzY0L2luY2x1ZGUgLUkv dy9saWJ4bWwyLTIuOS4zLXdpbjMyLXg4Nl82NC9pbmNsdWRlL2xpYnhtbDIgLUkvdy9saWJ4c2x0 LTEuMS4yOC13aW4zMi14ODZfNjQvaW5jbHVkZSBjb25mdGVzdC5jID4mNQpjb25mdGVzdC5jOjc5 OjIyOiBlcnJvcjogY29uZmxpY3RpbmcgdHlwZXMgZm9yICdhY2NlcHQnCiBleHRlcm4gU09DS0VU IFdTQUFQSSBhY2NlcHQgKHVuc2lnbmVkIGludCwgdm9pZCAqLCBzb2NrbGVuX3QgKik7CiAgICAg ICAgICAgICAgICAgICAgICBefn5+fn4KSW4gZmlsZSBpbmNsdWRlZCBmcm9tIFc6L1ItMy41Ll8v cG9zdGdyZXMvc3JjL2luY2x1ZGUvcG9ydC93aW4zMi9zeXMvc29ja2V0Lmg6MTQsCiAgICAgICAg ICAgICAgICAgZnJvbSBjb25mdGVzdC5jOjc4OgpDOi9tc3lzNjQvbWluZ3c2NC94ODZfNjQtdzY0 LW1pbmd3MzIvaW5jbHVkZS93aW5zb2NrMi5oOjk3MzozNzogbm90ZTogcHJldmlvdXMgZGVjbGFy YXRpb24gb2YgJ2FjY2VwdCcgd2FzIGhlcmUKICAgV0lOU09DS19BUElfTElOS0FHRSBTT0NLRVQg V1NBQVBJIGFjY2VwdChTT0NLRVQgcyxzdHJ1Y3Qgc29ja2FkZHIgKmFkZHIsaW50ICphZGRybGVu KTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF5+fn5+fgpjb25maWd1cmU6 MTQ3OTE6ICQ/ID0gMQpjb25maWd1cmU6IGZhaWxlZCBwcm9ncmFtIHdhczoKfCAvKiBjb25mZGVm cy5oICovCnwgI2RlZmluZSBQQUNLQUdFX05BTUUgIlBvc3RncmVTUUwiCnwgI2RlZmluZSBQQUNL QUdFX1RBUk5BTUUgInBvc3RncmVzcWwiCnwgI2RlZmluZSBQQUNLQUdFX1ZFUlNJT04gIjExYmV0 YTMiCnwgI2RlZmluZSBQQUNLQUdFX1NUUklORyAiUG9zdGdyZVNRTCAxMWJldGEzIgp8ICNkZWZp bmUgUEFDS0FHRV9CVUdSRVBPUlQgInBnc3FsLWJ1Z3NAcG9zdGdyZXNxbC5vcmciCnwgI2RlZmlu ZSBQQUNLQUdFX1VSTCAiIgp8ICNkZWZpbmUgUEdfTUFKT1JWRVJTSU9OICIxMSIKfCAjZGVmaW5l IFBHX1ZFUlNJT04gIjExYmV0YTMiCnwgI2RlZmluZSBERUZfUEdQT1JUIDU0MzIKfCAjZGVmaW5l IERFRl9QR1BPUlRfU1RSICI1NDMyIgp8ICNkZWZpbmUgQkxDS1NaIDgxOTIKfCAjZGVmaW5lIFJF TFNFR19TSVpFIDEzMTA3Mgp8ICNkZWZpbmUgWExPR19CTENLU1ogODE5Mgp8ICNkZWZpbmUgVVNF X0FTU0VSVF9DSEVDS0lORyAxCnwgI2RlZmluZSBFTkFCTEVfVEhSRUFEX1NBRkVUWSAxCnwgI2Rl ZmluZSBVU0VfSUNVIDEKfCAjZGVmaW5lIFBHX0tSQl9TUlZOQU0gInBvc3RncmVzIgp8ICNkZWZp bmUgVVNFX09QRU5TU0wgMQp8ICNkZWZpbmUgVVNFX0xJQlhNTCAxCnwgI2RlZmluZSBVU0VfTElC WFNMVCAxCnwgI2RlZmluZSBTVERDX0hFQURFUlMgMQp8ICNkZWZpbmUgSEFWRV9TWVNfVFlQRVNf SCAxCnwgI2RlZmluZSBIQVZFX1NZU19TVEFUX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERMSUJfSCAx CnwgI2RlZmluZSBIQVZFX1NUUklOR19IIDEKfCAjZGVmaW5lIEhBVkVfTUVNT1JZX0ggMQp8ICNk ZWZpbmUgSEFWRV9TVFJJTkdTX0ggMQp8ICNkZWZpbmUgSEFWRV9JTlRUWVBFU19IIDEKfCAjZGVm aW5lIEhBVkVfU1RESU5UX0ggMQp8ICNkZWZpbmUgSEFWRV9VTklTVERfSCAxCnwgI2RlZmluZSBI QVZFX0xJQk0gMQp8ICNkZWZpbmUgSEFWRV9MSUJaIDEKfCAjZGVmaW5lIEhBVkVfU1BJTkxPQ0tT IDEKfCAjZGVmaW5lIEhBVkVfQVRPTUlDUyAxCnwgI2RlZmluZSBIQVZFX1NTTF9HRVRfQ1VSUkVO VF9DT01QUkVTU0lPTiAxCnwgI2RlZmluZSBIQVZFX1g1MDlfR0VUX1NJR05BVFVSRV9OSUQgMQp8 ICNkZWZpbmUgSEFWRV9DUllQVE9fTE9DSyAxCnwgI2RlZmluZSBIQVZFX0xJQlhNTDIgMQp8ICNk ZWZpbmUgSEFWRV9MSUJYU0xUIDEKfCAjZGVmaW5lIEhBVkVfX0JPT0wgMQp8ICNkZWZpbmUgSEFW RV9TVERCT09MX0ggMQp8ICNkZWZpbmUgSEFWRV9HRVRPUFRfSCAxCnwgI2RlZmluZSBIQVZFX0lF RUVGUF9IIDEKfCAjZGVmaW5lIEhBVkVfVVRJTUVfSCAxCnwgI2RlZmluZSBIQVZFX1dDSEFSX0gg MQp8ICNkZWZpbmUgSEFWRV9XQ1RZUEVfSCAxCnwgI2RlZmluZSBIQVZFX0NSVERFRlNfSCAxCnwg I2RlZmluZSBQR19QUklOVEZfQVRUUklCVVRFIGdudV9wcmludGYKfCAjZGVmaW5lIEZMRVhJQkxF X0FSUkFZX01FTUJFUiAvKiovCnwgI2RlZmluZSBIQVZFX0ZVTkNOQU1FX19GVU5DIDEKfCAjZGVm aW5lIEhBVkVfX1NUQVRJQ19BU1NFUlQgMQp8ICNkZWZpbmUgSEFWRV9UWVBFT0YgMQp8ICNkZWZp bmUgSEFWRV9fQlVJTFRJTl9UWVBFU19DT01QQVRJQkxFX1AgMQp8ICNkZWZpbmUgSEFWRV9fQlVJ TFRJTl9CU1dBUDE2IDEKfCAjZGVmaW5lIEhBVkVfX0JVSUxUSU5fQlNXQVAzMiAxCnwgI2RlZmlu ZSBIQVZFX19CVUlMVElOX0JTV0FQNjQgMQp8ICNkZWZpbmUgSEFWRV9fQlVJTFRJTl9DT05TVEFO VF9QIDEKfCAjZGVmaW5lIEhBVkVfX0JVSUxUSU5fVU5SRUFDSEFCTEUgMQp8ICNkZWZpbmUgSEFW RV9DT01QVVRFRF9HT1RPIDEKfCAjZGVmaW5lIEhBVkVfX1ZBX0FSR1MgMQp8ICNkZWZpbmUgSEFW RV9UWk5BTUUgMQp8ICNkZWZpbmUgSEFWRV9TVFJVQ1RfU09DS0FERFJfU1RPUkFHRSAxCnwgI2Rl ZmluZSBIQVZFX1NUUlVDVF9TT0NLQUREUl9TVE9SQUdFX1NTX0ZBTUlMWSAxCnwgI2RlZmluZSBI QVZFX1NUUlVDVF9BRERSSU5GTyAxCnwgI2RlZmluZSBIQVZFX0lOVFBUUl9UIDEKfCAjZGVmaW5l IEhBVkVfVUlOVFBUUl9UIDEKfCAjZGVmaW5lIEhBVkVfVU5TSUdORURfTE9OR19MT05HX0lOVCAx CnwgI2RlZmluZSBIQVZFX0xPTkdfTE9OR19JTlQgMQp8ICNkZWZpbmUgcmVzdHJpY3QgX19yZXN0 cmljdAp8ICNkZWZpbmUgcGdfcmVzdHJpY3QgX19yZXN0cmljdAp8ICNkZWZpbmUgSEFWRV9TVFJV Q1RfT1BUSU9OIDEKfCAjZGVmaW5lIFNJWkVPRl9PRkZfVCA0CnwgI2RlZmluZSBTSVpFT0ZfQk9P TCAxCnwgI2RlZmluZSBIQVZFX0lOVF9USU1FWk9ORSAxCnwgLyogZW5kIGNvbmZkZWZzLmguICAq Lwp8ICNpbmNsdWRlIDxzeXMvdHlwZXMuaD4KfCAjaW5jbHVkZSA8c3lzL3NvY2tldC5oPgp8IGV4 dGVybiBTT0NLRVQgV1NBQVBJIGFjY2VwdCAodW5zaWduZWQgaW50LCB2b2lkICosIHNvY2tsZW5f dCAqKTsKY29uZmlndXJlOjE0NzkxOiB4ODZfNjQtdzY0LW1pbmd3MzItZ2NjIC1jIC1XYWxsIC1X bWlzc2luZy1wcm90b3R5cGVzIC1XcG9pbnRlci1hcml0aCAtV2RlY2xhcmF0aW9uLWFmdGVyLXN0 YXRlbWVudCAtV2VuZGlmLWxhYmVscyAtV21pc3NpbmctZm9ybWF0LWF0dHJpYnV0ZSAtV2Zvcm1h dC1zZWN1cml0eSAtZm5vLXN0cmljdC1hbGlhc2luZyAtZndyYXB2IC1mZXhjZXNzLXByZWNpc2lv bj1zdGFuZGFyZCAtV25vLWZvcm1hdC10cnVuY2F0aW9uIC1Xbm8tc3RyaW5nb3AtdHJ1bmNhdGlv biAtZyAtTyAtZm5vLW9taXQtZnJhbWUtcG9pbnRlciAgLUkvdy9SLTMuNS5fL3Bvc3RncmVzL3Ny Yy9pbmNsdWRlL3BvcnQvd2luMzIgLURFWEVDX0JBQ0tFTkQgIC1JL3cvemxpYi0xLjIuOC13aW4z Mi14ODZfNjQvaW5jbHVkZSAtSS93L29wZW5zc2wtMS4wLjJlLXdpbjMyLXg4Nl82NC9pbmNsdWRl IC1JL3cvbGlieG1sMi0yLjkuMy13aW4zMi14ODZfNjQvaW5jbHVkZS9saWJ4bWwyIC1JL3cvbGli eHNsdC0xLjEuMjgtd2luMzIteDg2XzY0L2luY2x1ZGUgY29uZnRlc3QuYyA+JjUKY29uZnRlc3Qu Yzo3OToyMjogZXJyb3I6IGNvbmZsaWN0aW5nIHR5cGVzIGZvciAnYWNjZXB0JwogZXh0ZXJuIFNP Q0tFVCBXU0FBUEkgYWNjZXB0ICh1bnNpZ25lZCBpbnQsIHZvaWQgKiwgdW5zaWduZWQgaW50ICop OwogICAgICAgICAgICAgICAgICAgICAgXn5+fn5+CkluIGZpbGUgaW5jbHVkZWQgZnJvbSBXOi9S LTMuNS5fL3Bvc3RncmVzL3NyYy9pbmNsdWRlL3BvcnQvd2luMzIvc3lzL3NvY2tldC5oOjE0LAog ICAgICAgICAgICAgICAgIGZyb20gY29uZnRlc3QuYzo3ODoKQzovbXN5czY0L21pbmd3NjQveDg2 XzY0LXc2NC1taW5ndzMyL2luY2x1ZGUvd2luc29jazIuaDo5NzM6Mzc6IG5vdGU6IHByZXZpb3Vz IGRlY2xhcmF0aW9uIG9mICdhY2NlcHQnIHdhcyBoZXJlCiAgIFdJTlNPQ0tfQVBJX0xJTktBR0Ug U09DS0VUIFdTQUFQSSBhY2NlcHQoU09DS0VUIHMsc3RydWN0IHNvY2thZGRyICphZGRyLGludCAq YWRkcmxlbik7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBefn5+fn4KY29u ZmlndXJlOjE0NzkxOiAkPyA9IDEKY29uZmlndXJlOiBmYWlsZWQgcHJvZ3JhbSB3YXM6CnwgLyog Y29uZmRlZnMuaCAqLwp8ICNkZWZpbmUgUEFDS0FHRV9OQU1FICJQb3N0Z3JlU1FMIgp8ICNkZWZp bmUgUEFDS0FHRV9UQVJOQU1FICJwb3N0Z3Jlc3FsIgp8ICNkZWZpbmUgUEFDS0FHRV9WRVJTSU9O ICIxMWJldGEzIgp8ICNkZWZpbmUgUEFDS0FHRV9TVFJJTkcgIlBvc3RncmVTUUwgMTFiZXRhMyIK fCAjZGVmaW5lIFBBQ0tBR0VfQlVHUkVQT1JUICJwZ3NxbC1idWdzQHBvc3RncmVzcWwub3JnIgp8 ICNkZWZpbmUgUEFDS0FHRV9VUkwgIiIKfCAjZGVmaW5lIFBHX01BSk9SVkVSU0lPTiAiMTEiCnwg I2RlZmluZSBQR19WRVJTSU9OICIxMWJldGEzIgp8ICNkZWZpbmUgREVGX1BHUE9SVCA1NDMyCnwg I2RlZmluZSBERUZfUEdQT1JUX1NUUiAiNTQzMiIKfCAjZGVmaW5lIEJMQ0tTWiA4MTkyCnwgI2Rl ZmluZSBSRUxTRUdfU0laRSAxMzEwNzIKfCAjZGVmaW5lIFhMT0dfQkxDS1NaIDgxOTIKfCAjZGVm aW5lIFVTRV9BU1NFUlRfQ0hFQ0tJTkcgMQp8ICNkZWZpbmUgRU5BQkxFX1RIUkVBRF9TQUZFVFkg MQp8ICNkZWZpbmUgVVNFX0lDVSAxCnwgI2RlZmluZSBQR19LUkJfU1JWTkFNICJwb3N0Z3JlcyIK fCAjZGVmaW5lIFVTRV9PUEVOU1NMIDEKfCAjZGVmaW5lIFVTRV9MSUJYTUwgMQp8ICNkZWZpbmUg VVNFX0xJQlhTTFQgMQp8ICNkZWZpbmUgU1REQ19IRUFERVJTIDEKfCAjZGVmaW5lIEhBVkVfU1lT X1RZUEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfU1RBVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1RE TElCX0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJJTkdfSCAxCnwgI2RlZmluZSBIQVZFX01FTU9SWV9I IDEKfCAjZGVmaW5lIEhBVkVfU1RSSU5HU19IIDEKfCAjZGVmaW5lIEhBVkVfSU5UVFlQRVNfSCAx CnwgI2RlZmluZSBIQVZFX1NURElOVF9IIDEKfCAjZGVmaW5lIEhBVkVfVU5JU1REX0ggMQp8ICNk ZWZpbmUgSEFWRV9MSUJNIDEKfCAjZGVmaW5lIEhBVkVfTElCWiAxCnwgI2RlZmluZSBIQVZFX1NQ SU5MT0NLUyAxCnwgI2RlZmluZSBIQVZFX0FUT01JQ1MgMQp8ICNkZWZpbmUgSEFWRV9TU0xfR0VU X0NVUlJFTlRfQ09NUFJFU1NJT04gMQp8ICNkZWZpbmUgSEFWRV9YNTA5X0dFVF9TSUdOQVRVUkVf TklEIDEKfCAjZGVmaW5lIEhBVkVfQ1JZUFRPX0xPQ0sgMQp8ICNkZWZpbmUgSEFWRV9MSUJYTUwy IDEKfCAjZGVmaW5lIEhBVkVfTElCWFNMVCAxCnwgI2RlZmluZSBIQVZFX19CT09MIDEKfCAjZGVm aW5lIEhBVkVfU1REQk9PTF9IIDEKfCAjZGVmaW5lIEhBVkVfR0VUT1BUX0ggMQp8ICNkZWZpbmUg SEFWRV9JRUVFRlBfSCAxCnwgI2RlZmluZSBIQVZFX1VUSU1FX0ggMQp8ICNkZWZpbmUgSEFWRV9X Q0hBUl9IIDEKfCAjZGVmaW5lIEhBVkVfV0NUWVBFX0ggMQp8ICNkZWZpbmUgSEFWRV9DUlRERUZT X0ggMQp8ICNkZWZpbmUgUEdfUFJJTlRGX0FUVFJJQlVURSBnbnVfcHJpbnRmCnwgI2RlZmluZSBG TEVYSUJMRV9BUlJBWV9NRU1CRVIgLyoqLwp8ICNkZWZpbmUgSEFWRV9GVU5DTkFNRV9fRlVOQyAx CnwgI2RlZmluZSBIQVZFX19TVEFUSUNfQVNTRVJUIDEKfCAjZGVmaW5lIEhBVkVfVFlQRU9GIDEK fCAjZGVmaW5lIEhBVkVfX0JVSUxUSU5fVFlQRVNfQ09NUEFUSUJMRV9QIDEKfCAjZGVmaW5lIEhB VkVfX0JVSUxUSU5fQlNXQVAxNiAxCnwgI2RlZmluZSBIQVZFX19CVUlMVElOX0JTV0FQMzIgMQp8 ICNkZWZpbmUgSEFWRV9fQlVJTFRJTl9CU1dBUDY0IDEKfCAjZGVmaW5lIEhBVkVfX0JVSUxUSU5f Q09OU1RBTlRfUCAxCnwgI2RlZmluZSBIQVZFX19CVUlMVElOX1VOUkVBQ0hBQkxFIDEKfCAjZGVm aW5lIEhBVkVfQ09NUFVURURfR09UTyAxCnwgI2RlZmluZSBIQVZFX19WQV9BUkdTIDEKfCAjZGVm aW5lIEhBVkVfVFpOQU1FIDEKfCAjZGVmaW5lIEhBVkVfU1RSVUNUX1NPQ0tBRERSX1NUT1JBR0Ug MQp8ICNkZWZpbmUgSEFWRV9TVFJVQ1RfU09DS0FERFJfU1RPUkFHRV9TU19GQU1JTFkgMQp8ICNk ZWZpbmUgSEFWRV9TVFJVQ1RfQUREUklORk8gMQp8ICNkZWZpbmUgSEFWRV9JTlRQVFJfVCAxCnwg I2RlZmluZSBIQVZFX1VJTlRQVFJfVCAxCnwgI2RlZmluZSBIQVZFX1VOU0lHTkVEX0xPTkdfTE9O R19JTlQgMQp8ICNkZWZpbmUgSEFWRV9MT05HX0xPTkdfSU5UIDEKfCAjZGVmaW5lIHJlc3RyaWN0 IF9fcmVzdHJpY3QKfCAjZGVmaW5lIHBnX3Jlc3RyaWN0IF9fcmVzdHJpY3QKfCAjZGVmaW5lIEhB VkVfU1RSVUNUX09QVElPTiAxCnwgI2RlZmluZSBTSVpFT0ZfT0ZGX1QgNAp8ICNkZWZpbmUgU0la RU9GX0JPT0wgMQp8ICNkZWZpbmUgSEFWRV9JTlRfVElNRVpPTkUgMQp8IC8qIGVuZCBjb25mZGVm cy5oLiAgKi8KfCAjaW5jbHVkZSA8c3lzL3R5cGVzLmg+CnwgI2luY2x1ZGUgPHN5cy9zb2NrZXQu aD4KfCBleHRlcm4gU09DS0VUIFdTQUFQSSBhY2NlcHQgKHVuc2lnbmVkIGludCwgdm9pZCAqLCB1 bnNpZ25lZCBpbnQgKik7CmNvbmZpZ3VyZToxNDc5MTogeDg2XzY0LXc2NC1taW5ndzMyLWdjYyAt YyAtV2FsbCAtV21pc3NpbmctcHJvdG90eXBlcyAtV3BvaW50ZXItYXJpdGggLVdkZWNsYXJhdGlv bi1hZnRlci1zdGF0ZW1lbnQgLVdlbmRpZi1sYWJlbHMgLVdtaXNzaW5nLWZvcm1hdC1hdHRyaWJ1 dGUgLVdmb3JtYXQtc2VjdXJpdHkgLWZuby1zdHJpY3QtYWxpYXNpbmcgLWZ3cmFwdiAtZmV4Y2Vz cy1wcmVjaXNpb249c3RhbmRhcmQgLVduby1mb3JtYXQtdHJ1bmNhdGlvbiAtV25vLXN0cmluZ29w LXRydW5jYXRpb24gLWcgLU8gLWZuby1vbWl0LWZyYW1lLXBvaW50ZXIgIC1JL3cvUi0zLjUuXy9w b3N0Z3Jlcy9zcmMvaW5jbHVkZS9wb3J0L3dpbjMyIC1ERVhFQ19CQUNLRU5EICAtSS93L3psaWIt MS4yLjgtd2luMzIteDg2XzY0L2luY2x1ZGUgLUkvdy9vcGVuc3NsLTEuMC4yZS13aW4zMi14ODZf NjQvaW5jbHVkZSAtSS93L2xpYnhtbDItMi45LjMtd2luMzIteDg2XzY0L2luY2x1ZGUvbGlieG1s MiAtSS93L2xpYnhzbHQtMS4xLjI4LXdpbjMyLXg4Nl82NC9pbmNsdWRlIGNvbmZ0ZXN0LmMgPiY1 CmNvbmZ0ZXN0LmM6Nzk6MjI6IGVycm9yOiBjb25mbGljdGluZyB0eXBlcyBmb3IgJ2FjY2VwdCcK IGV4dGVybiBTT0NLRVQgV1NBQVBJIGFjY2VwdCAodW5zaWduZWQgaW50LCB2b2lkICosIHZvaWQg Kik7CiAgICAgICAgICAgICAgICAgICAgICBefn5+fn4KSW4gZmlsZSBpbmNsdWRlZCBmcm9tIFc6 L1ItMy41Ll8vcG9zdGdyZXMvc3JjL2luY2x1ZGUvcG9ydC93aW4zMi9zeXMvc29ja2V0Lmg6MTQs CiAgICAgICAgICAgICAgICAgZnJvbSBjb25mdGVzdC5jOjc4OgpDOi9tc3lzNjQvbWluZ3c2NC94 ODZfNjQtdzY0LW1pbmd3MzIvaW5jbHVkZS93aW5zb2NrMi5oOjk3MzozNzogbm90ZTogcHJldmlv dXMgZGVjbGFyYXRpb24gb2YgJ2FjY2VwdCcgd2FzIGhlcmUKICAgV0lOU09DS19BUElfTElOS0FH RSBTT0NLRVQgV1NBQVBJIGFjY2VwdChTT0NLRVQgcyxzdHJ1Y3Qgc29ja2FkZHIgKmFkZHIsaW50 ICphZGRybGVuKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF5+fn5+fgpj b25maWd1cmU6MTQ3OTE6ICQ/ID0gMQpjb25maWd1cmU6IGZhaWxlZCBwcm9ncmFtIHdhczoKfCAv KiBjb25mZGVmcy5oICovCnwgI2RlZmluZSBQQUNLQUdFX05BTUUgIlBvc3RncmVTUUwiCnwgI2Rl ZmluZSBQQUNLQUdFX1RBUk5BTUUgInBvc3RncmVzcWwiCnwgI2RlZmluZSBQQUNLQUdFX1ZFUlNJ T04gIjExYmV0YTMiCnwgI2RlZmluZSBQQUNLQUdFX1NUUklORyAiUG9zdGdyZVNRTCAxMWJldGEz Igp8ICNkZWZpbmUgUEFDS0FHRV9CVUdSRVBPUlQgInBnc3FsLWJ1Z3NAcG9zdGdyZXNxbC5vcmci CnwgI2RlZmluZSBQQUNLQUdFX1VSTCAiIgp8ICNkZWZpbmUgUEdfTUFKT1JWRVJTSU9OICIxMSIK fCAjZGVmaW5lIFBHX1ZFUlNJT04gIjExYmV0YTMiCnwgI2RlZmluZSBERUZfUEdQT1JUIDU0MzIK fCAjZGVmaW5lIERFRl9QR1BPUlRfU1RSICI1NDMyIgp8ICNkZWZpbmUgQkxDS1NaIDgxOTIKfCAj ZGVmaW5lIFJFTFNFR19TSVpFIDEzMTA3Mgp8ICNkZWZpbmUgWExPR19CTENLU1ogODE5Mgp8ICNk ZWZpbmUgVVNFX0FTU0VSVF9DSEVDS0lORyAxCnwgI2RlZmluZSBFTkFCTEVfVEhSRUFEX1NBRkVU WSAxCnwgI2RlZmluZSBVU0VfSUNVIDEKfCAjZGVmaW5lIFBHX0tSQl9TUlZOQU0gInBvc3RncmVz Igp8ICNkZWZpbmUgVVNFX09QRU5TU0wgMQp8ICNkZWZpbmUgVVNFX0xJQlhNTCAxCnwgI2RlZmlu ZSBVU0VfTElCWFNMVCAxCnwgI2RlZmluZSBTVERDX0hFQURFUlMgMQp8ICNkZWZpbmUgSEFWRV9T WVNfVFlQRVNfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19TVEFUX0ggMQp8ICNkZWZpbmUgSEFWRV9T VERMSUJfSCAxCnwgI2RlZmluZSBIQVZFX1NUUklOR19IIDEKfCAjZGVmaW5lIEhBVkVfTUVNT1JZ X0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJJTkdTX0ggMQp8ICNkZWZpbmUgSEFWRV9JTlRUWVBFU19I IDEKfCAjZGVmaW5lIEhBVkVfU1RESU5UX0ggMQp8ICNkZWZpbmUgSEFWRV9VTklTVERfSCAxCnwg I2RlZmluZSBIQVZFX0xJQk0gMQp8ICNkZWZpbmUgSEFWRV9MSUJaIDEKfCAjZGVmaW5lIEhBVkVf U1BJTkxPQ0tTIDEKfCAjZGVmaW5lIEhBVkVfQVRPTUlDUyAxCnwgI2RlZmluZSBIQVZFX1NTTF9H RVRfQ1VSUkVOVF9DT01QUkVTU0lPTiAxCnwgI2RlZmluZSBIQVZFX1g1MDlfR0VUX1NJR05BVFVS RV9OSUQgMQp8ICNkZWZpbmUgSEFWRV9DUllQVE9fTE9DSyAxCnwgI2RlZmluZSBIQVZFX0xJQlhN TDIgMQp8ICNkZWZpbmUgSEFWRV9MSUJYU0xUIDEKfCAjZGVmaW5lIEhBVkVfX0JPT0wgMQp8ICNk ZWZpbmUgSEFWRV9TVERCT09MX0ggMQp8ICNkZWZpbmUgSEFWRV9HRVRPUFRfSCAxCnwgI2RlZmlu ZSBIQVZFX0lFRUVGUF9IIDEKfCAjZGVmaW5lIEhBVkVfVVRJTUVfSCAxCnwgI2RlZmluZSBIQVZF X1dDSEFSX0ggMQp8ICNkZWZpbmUgSEFWRV9XQ1RZUEVfSCAxCnwgI2RlZmluZSBIQVZFX0NSVERF RlNfSCAxCnwgI2RlZmluZSBQR19QUklOVEZfQVRUUklCVVRFIGdudV9wcmludGYKfCAjZGVmaW5l IEZMRVhJQkxFX0FSUkFZX01FTUJFUiAvKiovCnwgI2RlZmluZSBIQVZFX0ZVTkNOQU1FX19GVU5D IDEKfCAjZGVmaW5lIEhBVkVfX1NUQVRJQ19BU1NFUlQgMQp8ICNkZWZpbmUgSEFWRV9UWVBFT0Yg MQp8ICNkZWZpbmUgSEFWRV9fQlVJTFRJTl9UWVBFU19DT01QQVRJQkxFX1AgMQp8ICNkZWZpbmUg SEFWRV9fQlVJTFRJTl9CU1dBUDE2IDEKfCAjZGVmaW5lIEhBVkVfX0JVSUxUSU5fQlNXQVAzMiAx CnwgI2RlZmluZSBIQVZFX19CVUlMVElOX0JTV0FQNjQgMQp8ICNkZWZpbmUgSEFWRV9fQlVJTFRJ Tl9DT05TVEFOVF9QIDEKfCAjZGVmaW5lIEhBVkVfX0JVSUxUSU5fVU5SRUFDSEFCTEUgMQp8ICNk ZWZpbmUgSEFWRV9DT01QVVRFRF9HT1RPIDEKfCAjZGVmaW5lIEhBVkVfX1ZBX0FSR1MgMQp8ICNk ZWZpbmUgSEFWRV9UWk5BTUUgMQp8ICNkZWZpbmUgSEFWRV9TVFJVQ1RfU09DS0FERFJfU1RPUkFH RSAxCnwgI2RlZmluZSBIQVZFX1NUUlVDVF9TT0NLQUREUl9TVE9SQUdFX1NTX0ZBTUlMWSAxCnwg I2RlZmluZSBIQVZFX1NUUlVDVF9BRERSSU5GTyAxCnwgI2RlZmluZSBIQVZFX0lOVFBUUl9UIDEK fCAjZGVmaW5lIEhBVkVfVUlOVFBUUl9UIDEKfCAjZGVmaW5lIEhBVkVfVU5TSUdORURfTE9OR19M T05HX0lOVCAxCnwgI2RlZmluZSBIQVZFX0xPTkdfTE9OR19JTlQgMQp8ICNkZWZpbmUgcmVzdHJp Y3QgX19yZXN0cmljdAp8ICNkZWZpbmUgcGdfcmVzdHJpY3QgX19yZXN0cmljdAp8ICNkZWZpbmUg SEFWRV9TVFJVQ1RfT1BUSU9OIDEKfCAjZGVmaW5lIFNJWkVPRl9PRkZfVCA0CnwgI2RlZmluZSBT SVpFT0ZfQk9PTCAxCnwgI2RlZmluZSBIQVZFX0lOVF9USU1FWk9ORSAxCnwgLyogZW5kIGNvbmZk ZWZzLmguICAqLwp8ICNpbmNsdWRlIDxzeXMvdHlwZXMuaD4KfCAjaW5jbHVkZSA8c3lzL3NvY2tl dC5oPgp8IGV4dGVybiBTT0NLRVQgV1NBQVBJIGFjY2VwdCAodW5zaWduZWQgaW50LCB2b2lkICos IHZvaWQgKik7CmNvbmZpZ3VyZToxNDc5MTogeDg2XzY0LXc2NC1taW5ndzMyLWdjYyAtYyAtV2Fs bCAtV21pc3NpbmctcHJvdG90eXBlcyAtV3BvaW50ZXItYXJpdGggLVdkZWNsYXJhdGlvbi1hZnRl ci1zdGF0ZW1lbnQgLVdlbmRpZi1sYWJlbHMgLVdtaXNzaW5nLWZvcm1hdC1hdHRyaWJ1dGUgLVdm b3JtYXQtc2VjdXJpdHkgLWZuby1zdHJpY3QtYWxpYXNpbmcgLWZ3cmFwdiAtZmV4Y2Vzcy1wcmVj aXNpb249c3RhbmRhcmQgLVduby1mb3JtYXQtdHJ1bmNhdGlvbiAtV25vLXN0cmluZ29wLXRydW5j YXRpb24gLWcgLU8gLWZuby1vbWl0LWZyYW1lLXBvaW50ZXIgIC1JL3cvUi0zLjUuXy9wb3N0Z3Jl cy9zcmMvaW5jbHVkZS9wb3J0L3dpbjMyIC1ERVhFQ19CQUNLRU5EICAtSS93L3psaWItMS4yLjgt d2luMzIteDg2XzY0L2luY2x1ZGUgLUkvdy9vcGVuc3NsLTEuMC4yZS13aW4zMi14ODZfNjQvaW5j bHVkZSAtSS93L2xpYnhtbDItMi45LjMtd2luMzIteDg2XzY0L2luY2x1ZGUvbGlieG1sMiAtSS93 L2xpYnhzbHQtMS4xLjI4LXdpbjMyLXg4Nl82NC9pbmNsdWRlIGNvbmZ0ZXN0LmMgPiY1CmNvbmZ0 ZXN0LmM6Nzk6MjI6IHdhcm5pbmc6ICdhY2NlcHQnIHJlZGVjbGFyZWQgd2l0aG91dCBkbGxpbXBv cnQgYXR0cmlidXRlOiBwcmV2aW91cyBkbGxpbXBvcnQgaWdub3JlZCBbLVdhdHRyaWJ1dGVzXQog ZXh0ZXJuIFNPQ0tFVCBXU0FBUEkgYWNjZXB0IChTT0NLRVQsIHN0cnVjdCBzb2NrYWRkciAqLCBp bnQgKik7CiAgICAgICAgICAgICAgICAgICAgICBefn5+fn4KY29uZmlndXJlOjE0NzkxOiAkPyA9 IDAKY29uZmlndXJlOjE0ODE1OiByZXN1bHQ6IFNPQ0tFVCBXU0FBUEksIFNPQ0tFVCwgc3RydWN0 IHNvY2thZGRyICosIGludCAqCmNvbmZpZ3VyZToxNDgzODogY2hlY2tpbmcgd2hldGhlciBnZXR0 aW1lb2ZkYXkgdGFrZXMgb25seSBvbmUgYXJndW1lbnQKY29uZmlndXJlOjE0ODU2OiB4ODZfNjQt dzY0LW1pbmd3MzItZ2NjIC1jIC1XYWxsIC1XbWlzc2luZy1wcm90b3R5cGVzIC1XcG9pbnRlci1h cml0aCAtV2RlY2xhcmF0aW9uLWFmdGVyLXN0YXRlbWVudCAtV2VuZGlmLWxhYmVscyAtV21pc3Np bmctZm9ybWF0LWF0dHJpYnV0ZSAtV2Zvcm1hdC1zZWN1cml0eSAtZm5vLXN0cmljdC1hbGlhc2lu ZyAtZndyYXB2IC1mZXhjZXNzLXByZWNpc2lvbj1zdGFuZGFyZCAtV25vLWZvcm1hdC10cnVuY2F0 aW9uIC1Xbm8tc3RyaW5nb3AtdHJ1bmNhdGlvbiAtZyAtTyAtZm5vLW9taXQtZnJhbWUtcG9pbnRl ciAgLUkvdy9SLTMuNS5fL3Bvc3RncmVzL3NyYy9pbmNsdWRlL3BvcnQvd2luMzIgLURFWEVDX0JB Q0tFTkQgIC1JL3cvemxpYi0xLjIuOC13aW4zMi14ODZfNjQvaW5jbHVkZSAtSS93L29wZW5zc2wt MS4wLjJlLXdpbjMyLXg4Nl82NC9pbmNsdWRlIC1JL3cvbGlieG1sMi0yLjkuMy13aW4zMi14ODZf NjQvaW5jbHVkZS9saWJ4bWwyIC1JL3cvbGlieHNsdC0xLjEuMjgtd2luMzIteDg2XzY0L2luY2x1 ZGUgY29uZnRlc3QuYyA+JjUKY29uZnRlc3QuYzogSW4gZnVuY3Rpb24gJ21haW4nOgpjb25mdGVz dC5jOjg3OjE6IHdhcm5pbmc6ICd0cCcgaXMgdXNlZCB1bmluaXRpYWxpemVkIGluIHRoaXMgZnVu Y3Rpb24gWy1XdW5pbml0aWFsaXplZF0KIGdldHRpbWVvZmRheSh0cCx0enApOwogXn5+fn5+fn5+ fn5+fn5+fn5+fn4KY29uZnRlc3QuYzo4NzoxOiB3YXJuaW5nOiAndHpwJyBpcyB1c2VkIHVuaW5p dGlhbGl6ZWQgaW4gdGhpcyBmdW5jdGlvbiBbLVd1bmluaXRpYWxpemVkXQpjb25maWd1cmU6MTQ4 NTY6ICQ/ID0gMApjb25maWd1cmU6MTQ4NjM6IHJlc3VsdDogbm8KY29uZmlndXJlOjE0ODcxOiBj aGVja2luZyBmb3Igd2NzdG9tYnNfbCBkZWNsYXJhdGlvbgpjb25maWd1cmU6MTQ4OTA6IHg4Nl82 NC13NjQtbWluZ3czMi1nY2MgLWMgLVdhbGwgLVdtaXNzaW5nLXByb3RvdHlwZXMgLVdwb2ludGVy LWFyaXRoIC1XZGVjbGFyYXRpb24tYWZ0ZXItc3RhdGVtZW50IC1XZW5kaWYtbGFiZWxzIC1XbWlz c2luZy1mb3JtYXQtYXR0cmlidXRlIC1XZm9ybWF0LXNlY3VyaXR5IC1mbm8tc3RyaWN0LWFsaWFz aW5nIC1md3JhcHYgLWZleGNlc3MtcHJlY2lzaW9uPXN0YW5kYXJkIC1Xbm8tZm9ybWF0LXRydW5j YXRpb24gLVduby1zdHJpbmdvcC10cnVuY2F0aW9uIC1nIC1PIC1mbm8tb21pdC1mcmFtZS1wb2lu dGVyICAtSS93L1ItMy41Ll8vcG9zdGdyZXMvc3JjL2luY2x1ZGUvcG9ydC93aW4zMiAtREVYRUNf QkFDS0VORCAgLUkvdy96bGliLTEuMi44LXdpbjMyLXg4Nl82NC9pbmNsdWRlIC1JL3cvb3BlbnNz bC0xLjAuMmUtd2luMzIteDg2XzY0L2luY2x1ZGUgLUkvdy9saWJ4bWwyLTIuOS4zLXdpbjMyLXg4 Nl82NC9pbmNsdWRlL2xpYnhtbDIgLUkvdy9saWJ4c2x0LTEuMS4yOC13aW4zMi14ODZfNjQvaW5j bHVkZSBjb25mdGVzdC5jID4mNQpjb25mdGVzdC5jOiBJbiBmdW5jdGlvbiAnbWFpbic6CmNvbmZ0 ZXN0LmM6ODc6ODogZXJyb3I6ICd3Y3N0b21ic19sJyB1bmRlY2xhcmVkIChmaXJzdCB1c2UgaW4g dGhpcyBmdW5jdGlvbik7IGRpZCB5b3UgbWVhbiAnd2NzdG9tYnNfcyc/CiAodm9pZCkgd2NzdG9t YnNfbDsKICAgICAgICBefn5+fn5+fn5+CiAgICAgICAgd2NzdG9tYnNfcwpjb25mdGVzdC5jOjg3 Ojg6IG5vdGU6IGVhY2ggdW5kZWNsYXJlZCBpZGVudGlmaWVyIGlzIHJlcG9ydGVkIG9ubHkgb25j ZSBmb3IgZWFjaCBmdW5jdGlvbiBpdCBhcHBlYXJzIGluCmNvbmZpZ3VyZToxNDg5MDogJD8gPSAx CmNvbmZpZ3VyZTogZmFpbGVkIHByb2dyYW0gd2FzOgp8IC8qIGNvbmZkZWZzLmggKi8KfCAjZGVm aW5lIFBBQ0tBR0VfTkFNRSAiUG9zdGdyZVNRTCIKfCAjZGVmaW5lIFBBQ0tBR0VfVEFSTkFNRSAi cG9zdGdyZXNxbCIKfCAjZGVmaW5lIFBBQ0tBR0VfVkVSU0lPTiAiMTFiZXRhMyIKfCAjZGVmaW5l IFBBQ0tBR0VfU1RSSU5HICJQb3N0Z3JlU1FMIDExYmV0YTMiCnwgI2RlZmluZSBQQUNLQUdFX0JV R1JFUE9SVCAicGdzcWwtYnVnc0Bwb3N0Z3Jlc3FsLm9yZyIKfCAjZGVmaW5lIFBBQ0tBR0VfVVJM ICIiCnwgI2RlZmluZSBQR19NQUpPUlZFUlNJT04gIjExIgp8ICNkZWZpbmUgUEdfVkVSU0lPTiAi MTFiZXRhMyIKfCAjZGVmaW5lIERFRl9QR1BPUlQgNTQzMgp8ICNkZWZpbmUgREVGX1BHUE9SVF9T VFIgIjU0MzIiCnwgI2RlZmluZSBCTENLU1ogODE5Mgp8ICNkZWZpbmUgUkVMU0VHX1NJWkUgMTMx MDcyCnwgI2RlZmluZSBYTE9HX0JMQ0tTWiA4MTkyCnwgI2RlZmluZSBVU0VfQVNTRVJUX0NIRUNL SU5HIDEKfCAjZGVmaW5lIEVOQUJMRV9USFJFQURfU0FGRVRZIDEKfCAjZGVmaW5lIFVTRV9JQ1Ug MQp8ICNkZWZpbmUgUEdfS1JCX1NSVk5BTSAicG9zdGdyZXMiCnwgI2RlZmluZSBVU0VfT1BFTlNT TCAxCnwgI2RlZmluZSBVU0VfTElCWE1MIDEKfCAjZGVmaW5lIFVTRV9MSUJYU0xUIDEKfCAjZGVm aW5lIFNURENfSEVBREVSUyAxCnwgI2RlZmluZSBIQVZFX1NZU19UWVBFU19IIDEKfCAjZGVmaW5l IEhBVkVfU1lTX1NUQVRfSCAxCnwgI2RlZmluZSBIQVZFX1NURExJQl9IIDEKfCAjZGVmaW5lIEhB VkVfU1RSSU5HX0ggMQp8ICNkZWZpbmUgSEFWRV9NRU1PUllfSCAxCnwgI2RlZmluZSBIQVZFX1NU UklOR1NfSCAxCnwgI2RlZmluZSBIQVZFX0lOVFRZUEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERJ TlRfSCAxCnwgI2RlZmluZSBIQVZFX1VOSVNURF9IIDEKfCAjZGVmaW5lIEhBVkVfTElCTSAxCnwg I2RlZmluZSBIQVZFX0xJQlogMQp8ICNkZWZpbmUgSEFWRV9TUElOTE9DS1MgMQp8ICNkZWZpbmUg SEFWRV9BVE9NSUNTIDEKfCAjZGVmaW5lIEhBVkVfU1NMX0dFVF9DVVJSRU5UX0NPTVBSRVNTSU9O IDEKfCAjZGVmaW5lIEhBVkVfWDUwOV9HRVRfU0lHTkFUVVJFX05JRCAxCnwgI2RlZmluZSBIQVZF X0NSWVBUT19MT0NLIDEKfCAjZGVmaW5lIEhBVkVfTElCWE1MMiAxCnwgI2RlZmluZSBIQVZFX0xJ QlhTTFQgMQp8ICNkZWZpbmUgSEFWRV9fQk9PTCAxCnwgI2RlZmluZSBIQVZFX1NUREJPT0xfSCAx CnwgI2RlZmluZSBIQVZFX0dFVE9QVF9IIDEKfCAjZGVmaW5lIEhBVkVfSUVFRUZQX0ggMQp8ICNk ZWZpbmUgSEFWRV9VVElNRV9IIDEKfCAjZGVmaW5lIEhBVkVfV0NIQVJfSCAxCnwgI2RlZmluZSBI QVZFX1dDVFlQRV9IIDEKfCAjZGVmaW5lIEhBVkVfQ1JUREVGU19IIDEKfCAjZGVmaW5lIFBHX1BS SU5URl9BVFRSSUJVVEUgZ251X3ByaW50Zgp8ICNkZWZpbmUgRkxFWElCTEVfQVJSQVlfTUVNQkVS IC8qKi8KfCAjZGVmaW5lIEhBVkVfRlVOQ05BTUVfX0ZVTkMgMQp8ICNkZWZpbmUgSEFWRV9fU1RB VElDX0FTU0VSVCAxCnwgI2RlZmluZSBIQVZFX1RZUEVPRiAxCnwgI2RlZmluZSBIQVZFX19CVUlM VElOX1RZUEVTX0NPTVBBVElCTEVfUCAxCnwgI2RlZmluZSBIQVZFX19CVUlMVElOX0JTV0FQMTYg MQp8ICNkZWZpbmUgSEFWRV9fQlVJTFRJTl9CU1dBUDMyIDEKfCAjZGVmaW5lIEhBVkVfX0JVSUxU SU5fQlNXQVA2NCAxCnwgI2RlZmluZSBIQVZFX19CVUlMVElOX0NPTlNUQU5UX1AgMQp8ICNkZWZp bmUgSEFWRV9fQlVJTFRJTl9VTlJFQUNIQUJMRSAxCnwgI2RlZmluZSBIQVZFX0NPTVBVVEVEX0dP VE8gMQp8ICNkZWZpbmUgSEFWRV9fVkFfQVJHUyAxCnwgI2RlZmluZSBIQVZFX1RaTkFNRSAxCnwg I2RlZmluZSBIQVZFX1NUUlVDVF9TT0NLQUREUl9TVE9SQUdFIDEKfCAjZGVmaW5lIEhBVkVfU1RS VUNUX1NPQ0tBRERSX1NUT1JBR0VfU1NfRkFNSUxZIDEKfCAjZGVmaW5lIEhBVkVfU1RSVUNUX0FE RFJJTkZPIDEKfCAjZGVmaW5lIEhBVkVfSU5UUFRSX1QgMQp8ICNkZWZpbmUgSEFWRV9VSU5UUFRS X1QgMQp8ICNkZWZpbmUgSEFWRV9VTlNJR05FRF9MT05HX0xPTkdfSU5UIDEKfCAjZGVmaW5lIEhB VkVfTE9OR19MT05HX0lOVCAxCnwgI2RlZmluZSByZXN0cmljdCBfX3Jlc3RyaWN0CnwgI2RlZmlu ZSBwZ19yZXN0cmljdCBfX3Jlc3RyaWN0CnwgI2RlZmluZSBIQVZFX1NUUlVDVF9PUFRJT04gMQp8 ICNkZWZpbmUgU0laRU9GX09GRl9UIDQKfCAjZGVmaW5lIFNJWkVPRl9CT09MIDEKfCAjZGVmaW5l IEhBVkVfSU5UX1RJTUVaT05FIDEKfCAjZGVmaW5lIEFDQ0VQVF9UWVBFX1JFVFVSTiBTT0NLRVQg V1NBQVBJCnwgI2RlZmluZSBBQ0NFUFRfVFlQRV9BUkcxIFNPQ0tFVAp8ICNkZWZpbmUgQUNDRVBU X1RZUEVfQVJHMiBzdHJ1Y3Qgc29ja2FkZHIgKgp8ICNkZWZpbmUgQUNDRVBUX1RZUEVfQVJHMyBp bnQKfCAvKiBlbmQgY29uZmRlZnMuaC4gICovCnwgI2luY2x1ZGUgPHN0ZGxpYi5oPgp8ICNpbmNs dWRlIDxsb2NhbGUuaD4KfCBpbnQKfCBtYWluICgpCnwgewp8ICNpZm5kZWYgd2NzdG9tYnNfbAp8 ICh2b2lkKSB3Y3N0b21ic19sOwp8ICNlbmRpZgp8ICAgOwp8ICAgcmV0dXJuIDA7CnwgfQpjb25m aWd1cmU6MTQ5MDg6IHg4Nl82NC13NjQtbWluZ3czMi1nY2MgLWMgLVdhbGwgLVdtaXNzaW5nLXBy b3RvdHlwZXMgLVdwb2ludGVyLWFyaXRoIC1XZGVjbGFyYXRpb24tYWZ0ZXItc3RhdGVtZW50IC1X ZW5kaWYtbGFiZWxzIC1XbWlzc2luZy1mb3JtYXQtYXR0cmlidXRlIC1XZm9ybWF0LXNlY3VyaXR5 IC1mbm8tc3RyaWN0LWFsaWFzaW5nIC1md3JhcHYgLWZleGNlc3MtcHJlY2lzaW9uPXN0YW5kYXJk IC1Xbm8tZm9ybWF0LXRydW5jYXRpb24gLVduby1zdHJpbmdvcC10cnVuY2F0aW9uIC1nIC1PIC1m bm8tb21pdC1mcmFtZS1wb2ludGVyICAtSS93L1ItMy41Ll8vcG9zdGdyZXMvc3JjL2luY2x1ZGUv cG9ydC93aW4zMiAtREVYRUNfQkFDS0VORCAgLUkvdy96bGliLTEuMi44LXdpbjMyLXg4Nl82NC9p bmNsdWRlIC1JL3cvb3BlbnNzbC0xLjAuMmUtd2luMzIteDg2XzY0L2luY2x1ZGUgLUkvdy9saWJ4 bWwyLTIuOS4zLXdpbjMyLXg4Nl82NC9pbmNsdWRlL2xpYnhtbDIgLUkvdy9saWJ4c2x0LTEuMS4y OC13aW4zMi14ODZfNjQvaW5jbHVkZSBjb25mdGVzdC5jID4mNQpjb25mdGVzdC5jOjgzOjEwOiBm YXRhbCBlcnJvcjogeGxvY2FsZS5oOiBObyBzdWNoIGZpbGUgb3IgZGlyZWN0b3J5CiAjaW5jbHVk ZSA8eGxvY2FsZS5oPgogICAgICAgICAgXn5+fn5+fn5+fn4KY29tcGlsYXRpb24gdGVybWluYXRl ZC4NCmNvbmZpZ3VyZToxNDkwODogJD8gPSAxCmNvbmZpZ3VyZTogZmFpbGVkIHByb2dyYW0gd2Fz Ogp8IC8qIGNvbmZkZWZzLmggKi8KfCAjZGVmaW5lIFBBQ0tBR0VfTkFNRSAiUG9zdGdyZVNRTCIK fCAjZGVmaW5lIFBBQ0tBR0VfVEFSTkFNRSAicG9zdGdyZXNxbCIKfCAjZGVmaW5lIFBBQ0tBR0Vf VkVSU0lPTiAiMTFiZXRhMyIKfCAjZGVmaW5lIFBBQ0tBR0VfU1RSSU5HICJQb3N0Z3JlU1FMIDEx YmV0YTMiCnwgI2RlZmluZSBQQUNLQUdFX0JVR1JFUE9SVCAicGdzcWwtYnVnc0Bwb3N0Z3Jlc3Fs Lm9yZyIKfCAjZGVmaW5lIFBBQ0tBR0VfVVJMICIiCnwgI2RlZmluZSBQR19NQUpPUlZFUlNJT04g IjExIgp8ICNkZWZpbmUgUEdfVkVSU0lPTiAiMTFiZXRhMyIKfCAjZGVmaW5lIERFRl9QR1BPUlQg NTQzMgp8ICNkZWZpbmUgREVGX1BHUE9SVF9TVFIgIjU0MzIiCnwgI2RlZmluZSBCTENLU1ogODE5 Mgp8ICNkZWZpbmUgUkVMU0VHX1NJWkUgMTMxMDcyCnwgI2RlZmluZSBYTE9HX0JMQ0tTWiA4MTky CnwgI2RlZmluZSBVU0VfQVNTRVJUX0NIRUNLSU5HIDEKfCAjZGVmaW5lIEVOQUJMRV9USFJFQURf U0FGRVRZIDEKfCAjZGVmaW5lIFVTRV9JQ1UgMQp8ICNkZWZpbmUgUEdfS1JCX1NSVk5BTSAicG9z dGdyZXMiCnwgI2RlZmluZSBVU0VfT1BFTlNTTCAxCnwgI2RlZmluZSBVU0VfTElCWE1MIDEKfCAj ZGVmaW5lIFVTRV9MSUJYU0xUIDEKfCAjZGVmaW5lIFNURENfSEVBREVSUyAxCnwgI2RlZmluZSBI QVZFX1NZU19UWVBFU19IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NUQVRfSCAxCnwgI2RlZmluZSBI QVZFX1NURExJQl9IIDEKfCAjZGVmaW5lIEhBVkVfU1RSSU5HX0ggMQp8ICNkZWZpbmUgSEFWRV9N RU1PUllfSCAxCnwgI2RlZmluZSBIQVZFX1NUUklOR1NfSCAxCnwgI2RlZmluZSBIQVZFX0lOVFRZ UEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERJTlRfSCAxCnwgI2RlZmluZSBIQVZFX1VOSVNURF9I IDEKfCAjZGVmaW5lIEhBVkVfTElCTSAxCnwgI2RlZmluZSBIQVZFX0xJQlogMQp8ICNkZWZpbmUg SEFWRV9TUElOTE9DS1MgMQp8ICNkZWZpbmUgSEFWRV9BVE9NSUNTIDEKfCAjZGVmaW5lIEhBVkVf U1NMX0dFVF9DVVJSRU5UX0NPTVBSRVNTSU9OIDEKfCAjZGVmaW5lIEhBVkVfWDUwOV9HRVRfU0lH TkFUVVJFX05JRCAxCnwgI2RlZmluZSBIQVZFX0NSWVBUT19MT0NLIDEKfCAjZGVmaW5lIEhBVkVf TElCWE1MMiAxCnwgI2RlZmluZSBIQVZFX0xJQlhTTFQgMQp8ICNkZWZpbmUgSEFWRV9fQk9PTCAx CnwgI2RlZmluZSBIQVZFX1NUREJPT0xfSCAxCnwgI2RlZmluZSBIQVZFX0dFVE9QVF9IIDEKfCAj ZGVmaW5lIEhBVkVfSUVFRUZQX0ggMQp8ICNkZWZpbmUgSEFWRV9VVElNRV9IIDEKfCAjZGVmaW5l IEhBVkVfV0NIQVJfSCAxCnwgI2RlZmluZSBIQVZFX1dDVFlQRV9IIDEKfCAjZGVmaW5lIEhBVkVf Q1JUREVGU19IIDEKfCAjZGVmaW5lIFBHX1BSSU5URl9BVFRSSUJVVEUgZ251X3ByaW50Zgp8ICNk ZWZpbmUgRkxFWElCTEVfQVJSQVlfTUVNQkVSIC8qKi8KfCAjZGVmaW5lIEhBVkVfRlVOQ05BTUVf X0ZVTkMgMQp8ICNkZWZpbmUgSEFWRV9fU1RBVElDX0FTU0VSVCAxCnwgI2RlZmluZSBIQVZFX1RZ UEVPRiAxCnwgI2RlZmluZSBIQVZFX19CVUlMVElOX1RZUEVTX0NPTVBBVElCTEVfUCAxCnwgI2Rl ZmluZSBIQVZFX19CVUlMVElOX0JTV0FQMTYgMQp8ICNkZWZpbmUgSEFWRV9fQlVJTFRJTl9CU1dB UDMyIDEKfCAjZGVmaW5lIEhBVkVfX0JVSUxUSU5fQlNXQVA2NCAxCnwgI2RlZmluZSBIQVZFX19C VUlMVElOX0NPTlNUQU5UX1AgMQp8ICNkZWZpbmUgSEFWRV9fQlVJTFRJTl9VTlJFQUNIQUJMRSAx CnwgI2RlZmluZSBIQVZFX0NPTVBVVEVEX0dPVE8gMQp8ICNkZWZpbmUgSEFWRV9fVkFfQVJHUyAx CnwgI2RlZmluZSBIQVZFX1RaTkFNRSAxCnwgI2RlZmluZSBIQVZFX1NUUlVDVF9TT0NLQUREUl9T VE9SQUdFIDEKfCAjZGVmaW5lIEhBVkVfU1RSVUNUX1NPQ0tBRERSX1NUT1JBR0VfU1NfRkFNSUxZ IDEKfCAjZGVmaW5lIEhBVkVfU1RSVUNUX0FERFJJTkZPIDEKfCAjZGVmaW5lIEhBVkVfSU5UUFRS X1QgMQp8ICNkZWZpbmUgSEFWRV9VSU5UUFRSX1QgMQp8ICNkZWZpbmUgSEFWRV9VTlNJR05FRF9M T05HX0xPTkdfSU5UIDEKfCAjZGVmaW5lIEhBVkVfTE9OR19MT05HX0lOVCAxCnwgI2RlZmluZSBy ZXN0cmljdCBfX3Jlc3RyaWN0CnwgI2RlZmluZSBwZ19yZXN0cmljdCBfX3Jlc3RyaWN0CnwgI2Rl ZmluZSBIQVZFX1NUUlVDVF9PUFRJT04gMQp8ICNkZWZpbmUgU0laRU9GX09GRl9UIDQKfCAjZGVm aW5lIFNJWkVPRl9CT09MIDEKfCAjZGVmaW5lIEhBVkVfSU5UX1RJTUVaT05FIDEKfCAjZGVmaW5l IEFDQ0VQVF9UWVBFX1JFVFVSTiBTT0NLRVQgV1NBQVBJCnwgI2RlZmluZSBBQ0NFUFRfVFlQRV9B UkcxIFNPQ0tFVAp8ICNkZWZpbmUgQUNDRVBUX1RZUEVfQVJHMiBzdHJ1Y3Qgc29ja2FkZHIgKgp8 ICNkZWZpbmUgQUNDRVBUX1RZUEVfQVJHMyBpbnQKfCAvKiBlbmQgY29uZmRlZnMuaC4gICovCnwg I2luY2x1ZGUgPHN0ZGxpYi5oPgp8ICNpbmNsdWRlIDxsb2NhbGUuaD4KfCAjaW5jbHVkZSA8eGxv Y2FsZS5oPgp8IGludAp8IG1haW4gKCkKfCB7CnwgI2lmbmRlZiB3Y3N0b21ic19sCnwgKHZvaWQp IHdjc3RvbWJzX2w7CnwgI2VuZGlmCnwgICA7CnwgICByZXR1cm4gMDsKfCB9CmNvbmZpZ3VyZTox NDkxNzogcmVzdWx0OiBubwpjb25maWd1cmU6MTQ5MzU6IGNoZWNraW5nIGZvciBjYnJ0CmNvbmZp Z3VyZToxNDkzNTogeDg2XzY0LXc2NC1taW5ndzMyLWdjYyAtbyBjb25mdGVzdC5leGUgLVdhbGwg LVdtaXNzaW5nLXByb3RvdHlwZXMgLVdwb2ludGVyLWFyaXRoIC1XZGVjbGFyYXRpb24tYWZ0ZXIt c3RhdGVtZW50IC1XZW5kaWYtbGFiZWxzIC1XbWlzc2luZy1mb3JtYXQtYXR0cmlidXRlIC1XZm9y bWF0LXNlY3VyaXR5IC1mbm8tc3RyaWN0LWFsaWFzaW5nIC1md3JhcHYgLWZleGNlc3MtcHJlY2lz aW9uPXN0YW5kYXJkIC1Xbm8tZm9ybWF0LXRydW5jYXRpb24gLVduby1zdHJpbmdvcC10cnVuY2F0 aW9uIC1nIC1PIC1mbm8tb21pdC1mcmFtZS1wb2ludGVyICAtSS93L1ItMy41Ll8vcG9zdGdyZXMv c3JjL2luY2x1ZGUvcG9ydC93aW4zMiAtREVYRUNfQkFDS0VORCAgLUkvdy96bGliLTEuMi44LXdp bjMyLXg4Nl82NC9pbmNsdWRlIC1JL3cvb3BlbnNzbC0xLjAuMmUtd2luMzIteDg2XzY0L2luY2x1 ZGUgLUkvdy9saWJ4bWwyLTIuOS4zLXdpbjMyLXg4Nl82NC9pbmNsdWRlL2xpYnhtbDIgLUkvdy9s aWJ4c2x0LTEuMS4yOC13aW4zMi14ODZfNjQvaW5jbHVkZSAgLVdsLC0tYWxsb3ctbXVsdGlwbGUt ZGVmaW5pdGlvbiAtV2wsLS1kaXNhYmxlLWF1dG8taW1wb3J0ICAtTC93L3psaWItMS4yLjgtd2lu MzIteDg2XzY0L2xpYiAtTC93L29wZW5zc2wtMS4wLjJlLXdpbjMyLXg4Nl82NC9saWIgLUwvdy9s aWJ4bWwyLTIuOS4zLXdpbjMyLXg4Nl82NC9saWIgLUwvdy9saWJ4c2x0LTEuMS4yOC13aW4zMi14 ODZfNjQvbGliIGNvbmZ0ZXN0LmMgLWx4c2x0IC1seG1sMiAtbHNzbCAtbGNyeXB0byAtbHogLWx3 czJfMzIgLWxtICA+JjUKY29uZnRlc3QuYzoxMDQ6Njogd2FybmluZzogY29uZmxpY3RpbmcgdHlw ZXMgZm9yIGJ1aWx0LWluIGZ1bmN0aW9uICdjYnJ0JyBbLVdidWlsdGluLWRlY2xhcmF0aW9uLW1p c21hdGNoXQogY2hhciBjYnJ0ICgpOwogICAgICBefn5+CmNvbmZpZ3VyZToxNDkzNTogJD8gPSAw CmNvbmZpZ3VyZToxNDkzNTogcmVzdWx0OiB5ZXMKY29uZmlndXJlOjE0OTM1OiBjaGVja2luZyBm b3IgY2xvY2tfZ2V0dGltZQpjb25maWd1cmU6MTQ5MzU6IHg4Nl82NC13NjQtbWluZ3czMi1nY2Mg LW8gY29uZnRlc3QuZXhlIC1XYWxsIC1XbWlzc2luZy1wcm90b3R5cGVzIC1XcG9pbnRlci1hcml0 aCAtV2RlY2xhcmF0aW9uLWFmdGVyLXN0YXRlbWVudCAtV2VuZGlmLWxhYmVscyAtV21pc3Npbmct Zm9ybWF0LWF0dHJpYnV0ZSAtV2Zvcm1hdC1zZWN1cml0eSAtZm5vLXN0cmljdC1hbGlhc2luZyAt ZndyYXB2IC1mZXhjZXNzLXByZWNpc2lvbj1zdGFuZGFyZCAtV25vLWZvcm1hdC10cnVuY2F0aW9u IC1Xbm8tc3RyaW5nb3AtdHJ1bmNhdGlvbiAtZyAtTyAtZm5vLW9taXQtZnJhbWUtcG9pbnRlciAg LUkvdy9SLTMuNS5fL3Bvc3RncmVzL3NyYy9pbmNsdWRlL3BvcnQvd2luMzIgLURFWEVDX0JBQ0tF TkQgIC1JL3cvemxpYi0xLjIuOC13aW4zMi14ODZfNjQvaW5jbHVkZSAtSS93L29wZW5zc2wtMS4w LjJlLXdpbjMyLXg4Nl82NC9pbmNsdWRlIC1JL3cvbGlieG1sMi0yLjkuMy13aW4zMi14ODZfNjQv aW5jbHVkZS9saWJ4bWwyIC1JL3cvbGlieHNsdC0xLjEuMjgtd2luMzIteDg2XzY0L2luY2x1ZGUg IC1XbCwtLWFsbG93LW11bHRpcGxlLWRlZmluaXRpb24gLVdsLC0tZGlzYWJsZS1hdXRvLWltcG9y dCAgLUwvdy96bGliLTEuMi44LXdpbjMyLXg4Nl82NC9saWIgLUwvdy9vcGVuc3NsLTEuMC4yZS13 aW4zMi14ODZfNjQvbGliIC1ML3cvbGlieG1sMi0yLjkuMy13aW4zMi14ODZfNjQvbGliIC1ML3cv bGlieHNsdC0xLjEuMjgtd2luMzIteDg2XzY0L2xpYiBjb25mdGVzdC5jIC1seHNsdCAtbHhtbDIg LWxzc2wgLWxjcnlwdG8gLWx6IC1sd3MyXzMyIC1sbSAgPiY1CmNvbmZpZ3VyZToxNDkzNTogJD8g PSAwCmNvbmZpZ3VyZToxNDkzNTogcmVzdWx0OiB5ZXMKY29uZmlndXJlOjE0OTM1OiBjaGVja2lu ZyBmb3IgZGxvcGVuCmNvbmZpZ3VyZToxNDkzNTogeDg2XzY0LXc2NC1taW5ndzMyLWdjYyAtbyBj b25mdGVzdC5leGUgLVdhbGwgLVdtaXNzaW5nLXByb3RvdHlwZXMgLVdwb2ludGVyLWFyaXRoIC1X ZGVjbGFyYXRpb24tYWZ0ZXItc3RhdGVtZW50IC1XZW5kaWYtbGFiZWxzIC1XbWlzc2luZy1mb3Jt YXQtYXR0cmlidXRlIC1XZm9ybWF0LXNlY3VyaXR5IC1mbm8tc3RyaWN0LWFsaWFzaW5nIC1md3Jh cHYgLWZleGNlc3MtcHJlY2lzaW9uPXN0YW5kYXJkIC1Xbm8tZm9ybWF0LXRydW5jYXRpb24gLVdu by1zdHJpbmdvcC10cnVuY2F0aW9uIC1nIC1PIC1mbm8tb21pdC1mcmFtZS1wb2ludGVyICAtSS93 L1ItMy41Ll8vcG9zdGdyZXMvc3JjL2luY2x1ZGUvcG9ydC93aW4zMiAtREVYRUNfQkFDS0VORCAg LUkvdy96bGliLTEuMi44LXdpbjMyLXg4Nl82NC9pbmNsdWRlIC1JL3cvb3BlbnNzbC0xLjAuMmUt d2luMzIteDg2XzY0L2luY2x1ZGUgLUkvdy9saWJ4bWwyLTIuOS4zLXdpbjMyLXg4Nl82NC9pbmNs dWRlL2xpYnhtbDIgLUkvdy9saWJ4c2x0LTEuMS4yOC13aW4zMi14ODZfNjQvaW5jbHVkZSAgLVds LC0tYWxsb3ctbXVsdGlwbGUtZGVmaW5pdGlvbiAtV2wsLS1kaXNhYmxlLWF1dG8taW1wb3J0ICAt TC93L3psaWItMS4yLjgtd2luMzIteDg2XzY0L2xpYiAtTC93L29wZW5zc2wtMS4wLjJlLXdpbjMy LXg4Nl82NC9saWIgLUwvdy9saWJ4bWwyLTIuOS4zLXdpbjMyLXg4Nl82NC9saWIgLUwvdy9saWJ4 c2x0LTEuMS4yOC13aW4zMi14ODZfNjQvbGliIGNvbmZ0ZXN0LmMgLWx4c2x0IC1seG1sMiAtbHNz bCAtbGNyeXB0byAtbHogLWx3czJfMzIgLWxtICA+JjUKQzovbXN5czY0L21pbmd3NjQvYmluLy4u L2xpYi9nY2MveDg2XzY0LXc2NC1taW5ndzMyLzguMi4wLy4uLy4uLy4uLy4uL3g4Nl82NC13NjQt bWluZ3czMi9iaW4vbGQuZXhlOiBDOlxtc3lzNjRcdG1wXGNjNFUwRUNKLm86IGluIGZ1bmN0aW9u IGBtYWluJzoNClc6XFItMy41Ll9ccG9zdGdyZXNcYnVpbGQvY29uZnRlc3QuYzoxMTc6IHVuZGVm aW5lZCByZWZlcmVuY2UgdG8gYGRsb3BlbicNCmNvbGxlY3QyLmV4ZTogZXJyb3I6IGxkIHJldHVy bmVkIDEgZXhpdCBzdGF0dXMKY29uZmlndXJlOjE0OTM1OiAkPyA9IDEKY29uZmlndXJlOiBmYWls ZWQgcHJvZ3JhbSB3YXM6CnwgLyogY29uZmRlZnMuaCAqLwp8ICNkZWZpbmUgUEFDS0FHRV9OQU1F ICJQb3N0Z3JlU1FMIgp8ICNkZWZpbmUgUEFDS0FHRV9UQVJOQU1FICJwb3N0Z3Jlc3FsIgp8ICNk ZWZpbmUgUEFDS0FHRV9WRVJTSU9OICIxMWJldGEzIgp8ICNkZWZpbmUgUEFDS0FHRV9TVFJJTkcg IlBvc3RncmVTUUwgMTFiZXRhMyIKfCAjZGVmaW5lIFBBQ0tBR0VfQlVHUkVQT1JUICJwZ3NxbC1i dWdzQHBvc3RncmVzcWwub3JnIgp8ICNkZWZpbmUgUEFDS0FHRV9VUkwgIiIKfCAjZGVmaW5lIFBH X01BSk9SVkVSU0lPTiAiMTEiCnwgI2RlZmluZSBQR19WRVJTSU9OICIxMWJldGEzIgp8ICNkZWZp bmUgREVGX1BHUE9SVCA1NDMyCnwgI2RlZmluZSBERUZfUEdQT1JUX1NUUiAiNTQzMiIKfCAjZGVm aW5lIEJMQ0tTWiA4MTkyCnwgI2RlZmluZSBSRUxTRUdfU0laRSAxMzEwNzIKfCAjZGVmaW5lIFhM T0dfQkxDS1NaIDgxOTIKfCAjZGVmaW5lIFVTRV9BU1NFUlRfQ0hFQ0tJTkcgMQp8ICNkZWZpbmUg RU5BQkxFX1RIUkVBRF9TQUZFVFkgMQp8ICNkZWZpbmUgVVNFX0lDVSAxCnwgI2RlZmluZSBQR19L UkJfU1JWTkFNICJwb3N0Z3JlcyIKfCAjZGVmaW5lIFVTRV9PUEVOU1NMIDEKfCAjZGVmaW5lIFVT RV9MSUJYTUwgMQp8ICNkZWZpbmUgVVNFX0xJQlhTTFQgMQp8ICNkZWZpbmUgU1REQ19IRUFERVJT IDEKfCAjZGVmaW5lIEhBVkVfU1lTX1RZUEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfU1RBVF9I IDEKfCAjZGVmaW5lIEhBVkVfU1RETElCX0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJJTkdfSCAxCnwg I2RlZmluZSBIQVZFX01FTU9SWV9IIDEKfCAjZGVmaW5lIEhBVkVfU1RSSU5HU19IIDEKfCAjZGVm aW5lIEhBVkVfSU5UVFlQRVNfSCAxCnwgI2RlZmluZSBIQVZFX1NURElOVF9IIDEKfCAjZGVmaW5l IEhBVkVfVU5JU1REX0ggMQp8ICNkZWZpbmUgSEFWRV9MSUJNIDEKfCAjZGVmaW5lIEhBVkVfTElC WiAxCnwgI2RlZmluZSBIQVZFX1NQSU5MT0NLUyAxCnwgI2RlZmluZSBIQVZFX0FUT01JQ1MgMQp8 ICNkZWZpbmUgSEFWRV9TU0xfR0VUX0NVUlJFTlRfQ09NUFJFU1NJT04gMQp8ICNkZWZpbmUgSEFW RV9YNTA5X0dFVF9TSUdOQVRVUkVfTklEIDEKfCAjZGVmaW5lIEhBVkVfQ1JZUFRPX0xPQ0sgMQp8 ICNkZWZpbmUgSEFWRV9MSUJYTUwyIDEKfCAjZGVmaW5lIEhBVkVfTElCWFNMVCAxCnwgI2RlZmlu ZSBIQVZFX19CT09MIDEKfCAjZGVmaW5lIEhBVkVfU1REQk9PTF9IIDEKfCAjZGVmaW5lIEhBVkVf R0VUT1BUX0ggMQp8ICNkZWZpbmUgSEFWRV9JRUVFRlBfSCAxCnwgI2RlZmluZSBIQVZFX1VUSU1F X0ggMQp8ICNkZWZpbmUgSEFWRV9XQ0hBUl9IIDEKfCAjZGVmaW5lIEhBVkVfV0NUWVBFX0ggMQp8 ICNkZWZpbmUgSEFWRV9DUlRERUZTX0ggMQp8ICNkZWZpbmUgUEdfUFJJTlRGX0FUVFJJQlVURSBn bnVfcHJpbnRmCnwgI2RlZmluZSBGTEVYSUJMRV9BUlJBWV9NRU1CRVIgLyoqLwp8ICNkZWZpbmUg SEFWRV9GVU5DTkFNRV9fRlVOQyAxCnwgI2RlZmluZSBIQVZFX19TVEFUSUNfQVNTRVJUIDEKfCAj ZGVmaW5lIEhBVkVfVFlQRU9GIDEKfCAjZGVmaW5lIEhBVkVfX0JVSUxUSU5fVFlQRVNfQ09NUEFU SUJMRV9QIDEKfCAjZGVmaW5lIEhBVkVfX0JVSUxUSU5fQlNXQVAxNiAxCnwgI2RlZmluZSBIQVZF X19CVUlMVElOX0JTV0FQMzIgMQp8ICNkZWZpbmUgSEFWRV9fQlVJTFRJTl9CU1dBUDY0IDEKfCAj ZGVmaW5lIEhBVkVfX0JVSUxUSU5fQ09OU1RBTlRfUCAxCnwgI2RlZmluZSBIQVZFX19CVUlMVElO X1VOUkVBQ0hBQkxFIDEKfCAjZGVmaW5lIEhBVkVfQ09NUFVURURfR09UTyAxCnwgI2RlZmluZSBI QVZFX19WQV9BUkdTIDEKfCAjZGVmaW5lIEhBVkVfVFpOQU1FIDEKfCAjZGVmaW5lIEhBVkVfU1RS VUNUX1NPQ0tBRERSX1NUT1JBR0UgMQp8ICNkZWZpbmUgSEFWRV9TVFJVQ1RfU09DS0FERFJfU1RP UkFHRV9TU19GQU1JTFkgMQp8ICNkZWZpbmUgSEFWRV9TVFJVQ1RfQUREUklORk8gMQp8ICNkZWZp bmUgSEFWRV9JTlRQVFJfVCAxCnwgI2RlZmluZSBIQVZFX1VJTlRQVFJfVCAxCnwgI2RlZmluZSBI QVZFX1VOU0lHTkVEX0xPTkdfTE9OR19JTlQgMQp8ICNkZWZpbmUgSEFWRV9MT05HX0xPTkdfSU5U IDEKfCAjZGVmaW5lIHJlc3RyaWN0IF9fcmVzdHJpY3QKfCAjZGVmaW5lIHBnX3Jlc3RyaWN0IF9f cmVzdHJpY3QKfCAjZGVmaW5lIEhBVkVfU1RSVUNUX09QVElPTiAxCnwgI2RlZmluZSBTSVpFT0Zf T0ZGX1QgNAp8ICNkZWZpbmUgU0laRU9GX0JPT0wgMQp8ICNkZWZpbmUgSEFWRV9JTlRfVElNRVpP TkUgMQp8ICNkZWZpbmUgQUNDRVBUX1RZUEVfUkVUVVJOIFNPQ0tFVCBXU0FBUEkKfCAjZGVmaW5l IEFDQ0VQVF9UWVBFX0FSRzEgU09DS0VUCnwgI2RlZmluZSBBQ0NFUFRfVFlQRV9BUkcyIHN0cnVj dCBzb2NrYWRkciAqCnwgI2RlZmluZSBBQ0NFUFRfVFlQRV9BUkczIGludAp8ICNkZWZpbmUgSEFW RV9DQlJUIDEKfCAjZGVmaW5lIEhBVkVfQ0xPQ0tfR0VUVElNRSAxCnwgLyogZW5kIGNvbmZkZWZz LmguICAqLwp8IC8qIERlZmluZSBkbG9wZW4gdG8gYW4gaW5ub2N1b3VzIHZhcmlhbnQsIGluIGNh c2UgPGxpbWl0cy5oPiBkZWNsYXJlcyBkbG9wZW4uCnwgICAgRm9yIGV4YW1wbGUsIEhQLVVYIDEx aSA8bGltaXRzLmg+IGRlY2xhcmVzIGdldHRpbWVvZmRheS4gICovCnwgI2RlZmluZSBkbG9wZW4g aW5ub2N1b3VzX2Rsb3Blbgp8IAp8IC8qIFN5c3RlbSBoZWFkZXIgdG8gZGVmaW5lIF9fc3R1YiBt YWNyb3MgYW5kIGhvcGVmdWxseSBmZXcgcHJvdG90eXBlcywKfCAgICAgd2hpY2ggY2FuIGNvbmZs aWN0IHdpdGggY2hhciBkbG9wZW4gKCk7IGJlbG93Lgp8ICAgICBQcmVmZXIgPGxpbWl0cy5oPiB0 byA8YXNzZXJ0Lmg+IGlmIF9fU1REQ19fIGlzIGRlZmluZWQsIHNpbmNlCnwgICAgIDxsaW1pdHMu aD4gZXhpc3RzIGV2ZW4gb24gZnJlZXN0YW5kaW5nIGNvbXBpbGVycy4gICovCnwgCnwgI2lmZGVm IF9fU1REQ19fCnwgIyBpbmNsdWRlIDxsaW1pdHMuaD4KfCAjZWxzZQp8ICMgaW5jbHVkZSA8YXNz ZXJ0Lmg+CnwgI2VuZGlmCnwgCnwgI3VuZGVmIGRsb3Blbgp8IAp8IC8qIE92ZXJyaWRlIGFueSBH Q0MgaW50ZXJuYWwgcHJvdG90eXBlIHRvIGF2b2lkIGFuIGVycm9yLgp8ICAgIFVzZSBjaGFyIGJl Y2F1c2UgaW50IG1pZ2h0IG1hdGNoIHRoZSByZXR1cm4gdHlwZSBvZiBhIEdDQwp8ICAgIGJ1aWx0 aW4gYW5kIHRoZW4gaXRzIGFyZ3VtZW50IHByb3RvdHlwZSB3b3VsZCBzdGlsbCBhcHBseS4gICov CnwgI2lmZGVmIF9fY3BsdXNwbHVzCnwgZXh0ZXJuICJDIgp8ICNlbmRpZgp8IGNoYXIgZGxvcGVu ICgpOwp8IC8qIFRoZSBHTlUgQyBsaWJyYXJ5IGRlZmluZXMgdGhpcyBmb3IgZnVuY3Rpb25zIHdo aWNoIGl0IGltcGxlbWVudHMKfCAgICAgdG8gYWx3YXlzIGZhaWwgd2l0aCBFTk9TWVMuICBTb21l IGZ1bmN0aW9ucyBhcmUgYWN0dWFsbHkgbmFtZWQKfCAgICAgc29tZXRoaW5nIHN0YXJ0aW5nIHdp dGggX18gYW5kIHRoZSBub3JtYWwgbmFtZSBpcyBhbiBhbGlhcy4gICovCnwgI2lmIGRlZmluZWQg X19zdHViX2Rsb3BlbiB8fCBkZWZpbmVkIF9fc3R1Yl9fX2Rsb3Blbgp8IGNob2tlIG1lCnwgI2Vu ZGlmCnwgCnwgaW50CnwgbWFpbiAoKQp8IHsKfCByZXR1cm4gZGxvcGVuICgpOwp8ICAgOwp8ICAg cmV0dXJuIDA7CnwgfQpjb25maWd1cmU6MTQ5MzU6IHJlc3VsdDogbm8KY29uZmlndXJlOjE0OTM1 OiBjaGVja2luZyBmb3IgZmRhdGFzeW5jCmNvbmZpZ3VyZToxNDkzNTogeDg2XzY0LXc2NC1taW5n dzMyLWdjYyAtbyBjb25mdGVzdC5leGUgLVdhbGwgLVdtaXNzaW5nLXByb3RvdHlwZXMgLVdwb2lu dGVyLWFyaXRoIC1XZGVjbGFyYXRpb24tYWZ0ZXItc3RhdGVtZW50IC1XZW5kaWYtbGFiZWxzIC1X bWlzc2luZy1mb3JtYXQtYXR0cmlidXRlIC1XZm9ybWF0LXNlY3VyaXR5IC1mbm8tc3RyaWN0LWFs aWFzaW5nIC1md3JhcHYgLWZleGNlc3MtcHJlY2lzaW9uPXN0YW5kYXJkIC1Xbm8tZm9ybWF0LXRy dW5jYXRpb24gLVduby1zdHJpbmdvcC10cnVuY2F0aW9uIC1nIC1PIC1mbm8tb21pdC1mcmFtZS1w b2ludGVyICAtSS93L1ItMy41Ll8vcG9zdGdyZXMvc3JjL2luY2x1ZGUvcG9ydC93aW4zMiAtREVY RUNfQkFDS0VORCAgLUkvdy96bGliLTEuMi44LXdpbjMyLXg4Nl82NC9pbmNsdWRlIC1JL3cvb3Bl bnNzbC0xLjAuMmUtd2luMzIteDg2XzY0L2luY2x1ZGUgLUkvdy9saWJ4bWwyLTIuOS4zLXdpbjMy LXg4Nl82NC9pbmNsdWRlL2xpYnhtbDIgLUkvdy9saWJ4c2x0LTEuMS4yOC13aW4zMi14ODZfNjQv aW5jbHVkZSAgLVdsLC0tYWxsb3ctbXVsdGlwbGUtZGVmaW5pdGlvbiAtV2wsLS1kaXNhYmxlLWF1 dG8taW1wb3J0ICAtTC93L3psaWItMS4yLjgtd2luMzIteDg2XzY0L2xpYiAtTC93L29wZW5zc2wt MS4wLjJlLXdpbjMyLXg4Nl82NC9saWIgLUwvdy9saWJ4bWwyLTIuOS4zLXdpbjMyLXg4Nl82NC9s aWIgLUwvdy9saWJ4c2x0LTEuMS4yOC13aW4zMi14ODZfNjQvbGliIGNvbmZ0ZXN0LmMgLWx4c2x0 IC1seG1sMiAtbHNzbCAtbGNyeXB0byAtbHogLWx3czJfMzIgLWxtICA+JjUKQzovbXN5czY0L21p bmd3NjQvYmluLy4uL2xpYi9nY2MveDg2XzY0LXc2NC1taW5ndzMyLzguMi4wLy4uLy4uLy4uLy4u L3g4Nl82NC13NjQtbWluZ3czMi9iaW4vbGQuZXhlOiBDOlxtc3lzNjRcdG1wXGNjdTE5U0lGLm86 IGluIGZ1bmN0aW9uIGBtYWluJzoNClc6XFItMy41Ll9ccG9zdGdyZXNcYnVpbGQvY29uZnRlc3Qu YzoxMTc6IHVuZGVmaW5lZCByZWZlcmVuY2UgdG8gYGZkYXRhc3luYycNCmNvbGxlY3QyLmV4ZTog ZXJyb3I6IGxkIHJldHVybmVkIDEgZXhpdCBzdGF0dXMKY29uZmlndXJlOjE0OTM1OiAkPyA9IDEK Y29uZmlndXJlOiBmYWlsZWQgcHJvZ3JhbSB3YXM6CnwgLyogY29uZmRlZnMuaCAqLwp8ICNkZWZp bmUgUEFDS0FHRV9OQU1FICJQb3N0Z3JlU1FMIgp8ICNkZWZpbmUgUEFDS0FHRV9UQVJOQU1FICJw b3N0Z3Jlc3FsIgp8ICNkZWZpbmUgUEFDS0FHRV9WRVJTSU9OICIxMWJldGEzIgp8ICNkZWZpbmUg UEFDS0FHRV9TVFJJTkcgIlBvc3RncmVTUUwgMTFiZXRhMyIKfCAjZGVmaW5lIFBBQ0tBR0VfQlVH UkVQT1JUICJwZ3NxbC1idWdzQHBvc3RncmVzcWwub3JnIgp8ICNkZWZpbmUgUEFDS0FHRV9VUkwg IiIKfCAjZGVmaW5lIFBHX01BSk9SVkVSU0lPTiAiMTEiCnwgI2RlZmluZSBQR19WRVJTSU9OICIx MWJldGEzIgp8ICNkZWZpbmUgREVGX1BHUE9SVCA1NDMyCnwgI2RlZmluZSBERUZfUEdQT1JUX1NU UiAiNTQzMiIKfCAjZGVmaW5lIEJMQ0tTWiA4MTkyCnwgI2RlZmluZSBSRUxTRUdfU0laRSAxMzEw NzIKfCAjZGVmaW5lIFhMT0dfQkxDS1NaIDgxOTIKfCAjZGVmaW5lIFVTRV9BU1NFUlRfQ0hFQ0tJ TkcgMQp8ICNkZWZpbmUgRU5BQkxFX1RIUkVBRF9TQUZFVFkgMQp8ICNkZWZpbmUgVVNFX0lDVSAx CnwgI2RlZmluZSBQR19LUkJfU1JWTkFNICJwb3N0Z3JlcyIKfCAjZGVmaW5lIFVTRV9PUEVOU1NM IDEKfCAjZGVmaW5lIFVTRV9MSUJYTUwgMQp8ICNkZWZpbmUgVVNFX0xJQlhTTFQgMQp8ICNkZWZp bmUgU1REQ19IRUFERVJTIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1RZUEVTX0ggMQp8ICNkZWZpbmUg SEFWRV9TWVNfU1RBVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1RETElCX0ggMQp8ICNkZWZpbmUgSEFW RV9TVFJJTkdfSCAxCnwgI2RlZmluZSBIQVZFX01FTU9SWV9IIDEKfCAjZGVmaW5lIEhBVkVfU1RS SU5HU19IIDEKfCAjZGVmaW5lIEhBVkVfSU5UVFlQRVNfSCAxCnwgI2RlZmluZSBIQVZFX1NURElO VF9IIDEKfCAjZGVmaW5lIEhBVkVfVU5JU1REX0ggMQp8ICNkZWZpbmUgSEFWRV9MSUJNIDEKfCAj ZGVmaW5lIEhBVkVfTElCWiAxCnwgI2RlZmluZSBIQVZFX1NQSU5MT0NLUyAxCnwgI2RlZmluZSBI QVZFX0FUT01JQ1MgMQp8ICNkZWZpbmUgSEFWRV9TU0xfR0VUX0NVUlJFTlRfQ09NUFJFU1NJT04g MQp8ICNkZWZpbmUgSEFWRV9YNTA5X0dFVF9TSUdOQVRVUkVfTklEIDEKfCAjZGVmaW5lIEhBVkVf Q1JZUFRPX0xPQ0sgMQp8ICNkZWZpbmUgSEFWRV9MSUJYTUwyIDEKfCAjZGVmaW5lIEhBVkVfTElC WFNMVCAxCnwgI2RlZmluZSBIQVZFX19CT09MIDEKfCAjZGVmaW5lIEhBVkVfU1REQk9PTF9IIDEK fCAjZGVmaW5lIEhBVkVfR0VUT1BUX0ggMQp8ICNkZWZpbmUgSEFWRV9JRUVFRlBfSCAxCnwgI2Rl ZmluZSBIQVZFX1VUSU1FX0ggMQp8ICNkZWZpbmUgSEFWRV9XQ0hBUl9IIDEKfCAjZGVmaW5lIEhB VkVfV0NUWVBFX0ggMQp8ICNkZWZpbmUgSEFWRV9DUlRERUZTX0ggMQp8ICNkZWZpbmUgUEdfUFJJ TlRGX0FUVFJJQlVURSBnbnVfcHJpbnRmCnwgI2RlZmluZSBGTEVYSUJMRV9BUlJBWV9NRU1CRVIg LyoqLwp8ICNkZWZpbmUgSEFWRV9GVU5DTkFNRV9fRlVOQyAxCnwgI2RlZmluZSBIQVZFX19TVEFU SUNfQVNTRVJUIDEKfCAjZGVmaW5lIEhBVkVfVFlQRU9GIDEKfCAjZGVmaW5lIEhBVkVfX0JVSUxU SU5fVFlQRVNfQ09NUEFUSUJMRV9QIDEKfCAjZGVmaW5lIEhBVkVfX0JVSUxUSU5fQlNXQVAxNiAx CnwgI2RlZmluZSBIQVZFX19CVUlMVElOX0JTV0FQMzIgMQp8ICNkZWZpbmUgSEFWRV9fQlVJTFRJ Tl9CU1dBUDY0IDEKfCAjZGVmaW5lIEhBVkVfX0JVSUxUSU5fQ09OU1RBTlRfUCAxCnwgI2RlZmlu ZSBIQVZFX19CVUlMVElOX1VOUkVBQ0hBQkxFIDEKfCAjZGVmaW5lIEhBVkVfQ09NUFVURURfR09U TyAxCnwgI2RlZmluZSBIQVZFX19WQV9BUkdTIDEKfCAjZGVmaW5lIEhBVkVfVFpOQU1FIDEKfCAj ZGVmaW5lIEhBVkVfU1RSVUNUX1NPQ0tBRERSX1NUT1JBR0UgMQp8ICNkZWZpbmUgSEFWRV9TVFJV Q1RfU09DS0FERFJfU1RPUkFHRV9TU19GQU1JTFkgMQp8ICNkZWZpbmUgSEFWRV9TVFJVQ1RfQURE UklORk8gMQp8ICNkZWZpbmUgSEFWRV9JTlRQVFJfVCAxCnwgI2RlZmluZSBIQVZFX1VJTlRQVFJf VCAxCnwgI2RlZmluZSBIQVZFX1VOU0lHTkVEX0xPTkdfTE9OR19JTlQgMQp8ICNkZWZpbmUgSEFW RV9MT05HX0xPTkdfSU5UIDEKfCAjZGVmaW5lIHJlc3RyaWN0IF9fcmVzdHJpY3QKfCAjZGVmaW5l IHBnX3Jlc3RyaWN0IF9fcmVzdHJpY3QKfCAjZGVmaW5lIEhBVkVfU1RSVUNUX09QVElPTiAxCnwg I2RlZmluZSBTSVpFT0ZfT0ZGX1QgNAp8ICNkZWZpbmUgU0laRU9GX0JPT0wgMQp8ICNkZWZpbmUg SEFWRV9JTlRfVElNRVpPTkUgMQp8ICNkZWZpbmUgQUNDRVBUX1RZUEVfUkVUVVJOIFNPQ0tFVCBX U0FBUEkKfCAjZGVmaW5lIEFDQ0VQVF9UWVBFX0FSRzEgU09DS0VUCnwgI2RlZmluZSBBQ0NFUFRf VFlQRV9BUkcyIHN0cnVjdCBzb2NrYWRkciAqCnwgI2RlZmluZSBBQ0NFUFRfVFlQRV9BUkczIGlu dAp8ICNkZWZpbmUgSEFWRV9DQlJUIDEKfCAjZGVmaW5lIEhBVkVfQ0xPQ0tfR0VUVElNRSAxCnwg LyogZW5kIGNvbmZkZWZzLmguICAqLwp8IC8qIERlZmluZSBmZGF0YXN5bmMgdG8gYW4gaW5ub2N1 b3VzIHZhcmlhbnQsIGluIGNhc2UgPGxpbWl0cy5oPiBkZWNsYXJlcyBmZGF0YXN5bmMuCnwgICAg Rm9yIGV4YW1wbGUsIEhQLVVYIDExaSA8bGltaXRzLmg+IGRlY2xhcmVzIGdldHRpbWVvZmRheS4g ICovCnwgI2RlZmluZSBmZGF0YXN5bmMgaW5ub2N1b3VzX2ZkYXRhc3luYwp8IAp8IC8qIFN5c3Rl bSBoZWFkZXIgdG8gZGVmaW5lIF9fc3R1YiBtYWNyb3MgYW5kIGhvcGVmdWxseSBmZXcgcHJvdG90 eXBlcywKfCAgICAgd2hpY2ggY2FuIGNvbmZsaWN0IHdpdGggY2hhciBmZGF0YXN5bmMgKCk7IGJl bG93Lgp8ICAgICBQcmVmZXIgPGxpbWl0cy5oPiB0byA8YXNzZXJ0Lmg+IGlmIF9fU1REQ19fIGlz IGRlZmluZWQsIHNpbmNlCnwgICAgIDxsaW1pdHMuaD4gZXhpc3RzIGV2ZW4gb24gZnJlZXN0YW5k aW5nIGNvbXBpbGVycy4gICovCnwgCnwgI2lmZGVmIF9fU1REQ19fCnwgIyBpbmNsdWRlIDxsaW1p dHMuaD4KfCAjZWxzZQp8ICMgaW5jbHVkZSA8YXNzZXJ0Lmg+CnwgI2VuZGlmCnwgCnwgI3VuZGVm IGZkYXRhc3luYwp8IAp8IC8qIE92ZXJyaWRlIGFueSBHQ0MgaW50ZXJuYWwgcHJvdG90eXBlIHRv IGF2b2lkIGFuIGVycm9yLgp8ICAgIFVzZSBjaGFyIGJlY2F1c2UgaW50IG1pZ2h0IG1hdGNoIHRo ZSByZXR1cm4gdHlwZSBvZiBhIEdDQwp8ICAgIGJ1aWx0aW4gYW5kIHRoZW4gaXRzIGFyZ3VtZW50 IHByb3RvdHlwZSB3b3VsZCBzdGlsbCBhcHBseS4gICovCnwgI2lmZGVmIF9fY3BsdXNwbHVzCnwg ZXh0ZXJuICJDIgp8ICNlbmRpZgp8IGNoYXIgZmRhdGFzeW5jICgpOwp8IC8qIFRoZSBHTlUgQyBs aWJyYXJ5IGRlZmluZXMgdGhpcyBmb3IgZnVuY3Rpb25zIHdoaWNoIGl0IGltcGxlbWVudHMKfCAg ICAgdG8gYWx3YXlzIGZhaWwgd2l0aCBFTk9TWVMuICBTb21lIGZ1bmN0aW9ucyBhcmUgYWN0dWFs bHkgbmFtZWQKfCAgICAgc29tZXRoaW5nIHN0YXJ0aW5nIHdpdGggX18gYW5kIHRoZSBub3JtYWwg bmFtZSBpcyBhbiBhbGlhcy4gICovCnwgI2lmIGRlZmluZWQgX19zdHViX2ZkYXRhc3luYyB8fCBk ZWZpbmVkIF9fc3R1Yl9fX2ZkYXRhc3luYwp8IGNob2tlIG1lCnwgI2VuZGlmCnwgCnwgaW50Cnwg bWFpbiAoKQp8IHsKfCByZXR1cm4gZmRhdGFzeW5jICgpOwp8ICAgOwp8ICAgcmV0dXJuIDA7Cnwg fQpjb25maWd1cmU6MTQ5MzU6IHJlc3VsdDogbm8KY29uZmlndXJlOjE0OTM1OiBjaGVja2luZyBm b3IgZ2V0aWZhZGRycwpjb25maWd1cmU6MTQ5MzU6IHg4Nl82NC13NjQtbWluZ3czMi1nY2MgLW8g Y29uZnRlc3QuZXhlIC1XYWxsIC1XbWlzc2luZy1wcm90b3R5cGVzIC1XcG9pbnRlci1hcml0aCAt V2RlY2xhcmF0aW9uLWFmdGVyLXN0YXRlbWVudCAtV2VuZGlmLWxhYmVscyAtV21pc3NpbmctZm9y bWF0LWF0dHJpYnV0ZSAtV2Zvcm1hdC1zZWN1cml0eSAtZm5vLXN0cmljdC1hbGlhc2luZyAtZndy YXB2IC1mZXhjZXNzLXByZWNpc2lvbj1zdGFuZGFyZCAtV25vLWZvcm1hdC10cnVuY2F0aW9uIC1X bm8tc3RyaW5nb3AtdHJ1bmNhdGlvbiAtZyAtTyAtZm5vLW9taXQtZnJhbWUtcG9pbnRlciAgLUkv dy9SLTMuNS5fL3Bvc3RncmVzL3NyYy9pbmNsdWRlL3BvcnQvd2luMzIgLURFWEVDX0JBQ0tFTkQg IC1JL3cvemxpYi0xLjIuOC13aW4zMi14ODZfNjQvaW5jbHVkZSAtSS93L29wZW5zc2wtMS4wLjJl LXdpbjMyLXg4Nl82NC9pbmNsdWRlIC1JL3cvbGlieG1sMi0yLjkuMy13aW4zMi14ODZfNjQvaW5j bHVkZS9saWJ4bWwyIC1JL3cvbGlieHNsdC0xLjEuMjgtd2luMzIteDg2XzY0L2luY2x1ZGUgIC1X bCwtLWFsbG93LW11bHRpcGxlLWRlZmluaXRpb24gLVdsLC0tZGlzYWJsZS1hdXRvLWltcG9ydCAg LUwvdy96bGliLTEuMi44LXdpbjMyLXg4Nl82NC9saWIgLUwvdy9vcGVuc3NsLTEuMC4yZS13aW4z Mi14ODZfNjQvbGliIC1ML3cvbGlieG1sMi0yLjkuMy13aW4zMi14ODZfNjQvbGliIC1ML3cvbGli eHNsdC0xLjEuMjgtd2luMzIteDg2XzY0L2xpYiBjb25mdGVzdC5jIC1seHNsdCAtbHhtbDIgLWxz c2wgLWxjcnlwdG8gLWx6IC1sd3MyXzMyIC1sbSAgPiY1CkM6L21zeXM2NC9taW5ndzY0L2Jpbi8u Li9saWIvZ2NjL3g4Nl82NC13NjQtbWluZ3czMi84LjIuMC8uLi8uLi8uLi8uLi94ODZfNjQtdzY0 LW1pbmd3MzIvYmluL2xkLmV4ZTogQzpcbXN5czY0XHRtcFxjYzI1aDhLRy5vOiBpbiBmdW5jdGlv biBgbWFpbic6DQpXOlxSLTMuNS5fXHBvc3RncmVzXGJ1aWxkL2NvbmZ0ZXN0LmM6MTE3OiB1bmRl ZmluZWQgcmVmZXJlbmNlIHRvIGBnZXRpZmFkZHJzJw0KY29sbGVjdDIuZXhlOiBlcnJvcjogbGQg cmV0dXJuZWQgMSBleGl0IHN0YXR1cwpjb25maWd1cmU6MTQ5MzU6ICQ/ID0gMQpjb25maWd1cmU6 IGZhaWxlZCBwcm9ncmFtIHdhczoKfCAvKiBjb25mZGVmcy5oICovCnwgI2RlZmluZSBQQUNLQUdF X05BTUUgIlBvc3RncmVTUUwiCnwgI2RlZmluZSBQQUNLQUdFX1RBUk5BTUUgInBvc3RncmVzcWwi CnwgI2RlZmluZSBQQUNLQUdFX1ZFUlNJT04gIjExYmV0YTMiCnwgI2RlZmluZSBQQUNLQUdFX1NU UklORyAiUG9zdGdyZVNRTCAxMWJldGEzIgp8ICNkZWZpbmUgUEFDS0FHRV9CVUdSRVBPUlQgInBn c3FsLWJ1Z3NAcG9zdGdyZXNxbC5vcmciCnwgI2RlZmluZSBQQUNLQUdFX1VSTCAiIgp8ICNkZWZp bmUgUEdfTUFKT1JWRVJTSU9OICIxMSIKfCAjZGVmaW5lIFBHX1ZFUlNJT04gIjExYmV0YTMiCnwg I2RlZmluZSBERUZfUEdQT1JUIDU0MzIKfCAjZGVmaW5lIERFRl9QR1BPUlRfU1RSICI1NDMyIgp8 ICNkZWZpbmUgQkxDS1NaIDgxOTIKfCAjZGVmaW5lIFJFTFNFR19TSVpFIDEzMTA3Mgp8ICNkZWZp bmUgWExPR19CTENLU1ogODE5Mgp8ICNkZWZpbmUgVVNFX0FTU0VSVF9DSEVDS0lORyAxCnwgI2Rl ZmluZSBFTkFCTEVfVEhSRUFEX1NBRkVUWSAxCnwgI2RlZmluZSBVU0VfSUNVIDEKfCAjZGVmaW5l IFBHX0tSQl9TUlZOQU0gInBvc3RncmVzIgp8ICNkZWZpbmUgVVNFX09QRU5TU0wgMQp8ICNkZWZp bmUgVVNFX0xJQlhNTCAxCnwgI2RlZmluZSBVU0VfTElCWFNMVCAxCnwgI2RlZmluZSBTVERDX0hF QURFUlMgMQp8ICNkZWZpbmUgSEFWRV9TWVNfVFlQRVNfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19T VEFUX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERMSUJfSCAxCnwgI2RlZmluZSBIQVZFX1NUUklOR19I IDEKfCAjZGVmaW5lIEhBVkVfTUVNT1JZX0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJJTkdTX0ggMQp8 ICNkZWZpbmUgSEFWRV9JTlRUWVBFU19IIDEKfCAjZGVmaW5lIEhBVkVfU1RESU5UX0ggMQp8ICNk ZWZpbmUgSEFWRV9VTklTVERfSCAxCnwgI2RlZmluZSBIQVZFX0xJQk0gMQp8ICNkZWZpbmUgSEFW RV9MSUJaIDEKfCAjZGVmaW5lIEhBVkVfU1BJTkxPQ0tTIDEKfCAjZGVmaW5lIEhBVkVfQVRPTUlD UyAxCnwgI2RlZmluZSBIQVZFX1NTTF9HRVRfQ1VSUkVOVF9DT01QUkVTU0lPTiAxCnwgI2RlZmlu ZSBIQVZFX1g1MDlfR0VUX1NJR05BVFVSRV9OSUQgMQp8ICNkZWZpbmUgSEFWRV9DUllQVE9fTE9D SyAxCnwgI2RlZmluZSBIQVZFX0xJQlhNTDIgMQp8ICNkZWZpbmUgSEFWRV9MSUJYU0xUIDEKfCAj ZGVmaW5lIEhBVkVfX0JPT0wgMQp8ICNkZWZpbmUgSEFWRV9TVERCT09MX0ggMQp8ICNkZWZpbmUg SEFWRV9HRVRPUFRfSCAxCnwgI2RlZmluZSBIQVZFX0lFRUVGUF9IIDEKfCAjZGVmaW5lIEhBVkVf VVRJTUVfSCAxCnwgI2RlZmluZSBIQVZFX1dDSEFSX0ggMQp8ICNkZWZpbmUgSEFWRV9XQ1RZUEVf SCAxCnwgI2RlZmluZSBIQVZFX0NSVERFRlNfSCAxCnwgI2RlZmluZSBQR19QUklOVEZfQVRUUklC VVRFIGdudV9wcmludGYKfCAjZGVmaW5lIEZMRVhJQkxFX0FSUkFZX01FTUJFUiAvKiovCnwgI2Rl ZmluZSBIQVZFX0ZVTkNOQU1FX19GVU5DIDEKfCAjZGVmaW5lIEhBVkVfX1NUQVRJQ19BU1NFUlQg MQp8ICNkZWZpbmUgSEFWRV9UWVBFT0YgMQp8ICNkZWZpbmUgSEFWRV9fQlVJTFRJTl9UWVBFU19D T01QQVRJQkxFX1AgMQp8ICNkZWZpbmUgSEFWRV9fQlVJTFRJTl9CU1dBUDE2IDEKfCAjZGVmaW5l IEhBVkVfX0JVSUxUSU5fQlNXQVAzMiAxCnwgI2RlZmluZSBIQVZFX19CVUlMVElOX0JTV0FQNjQg MQp8ICNkZWZpbmUgSEFWRV9fQlVJTFRJTl9DT05TVEFOVF9QIDEKfCAjZGVmaW5lIEhBVkVfX0JV SUxUSU5fVU5SRUFDSEFCTEUgMQp8ICNkZWZpbmUgSEFWRV9DT01QVVRFRF9HT1RPIDEKfCAjZGVm aW5lIEhBVkVfX1ZBX0FSR1MgMQp8ICNkZWZpbmUgSEFWRV9UWk5BTUUgMQp8ICNkZWZpbmUgSEFW RV9TVFJVQ1RfU09DS0FERFJfU1RPUkFHRSAxCnwgI2RlZmluZSBIQVZFX1NUUlVDVF9TT0NLQURE Ul9TVE9SQUdFX1NTX0ZBTUlMWSAxCnwgI2RlZmluZSBIQVZFX1NUUlVDVF9BRERSSU5GTyAxCnwg I2RlZmluZSBIQVZFX0lOVFBUUl9UIDEKfCAjZGVmaW5lIEhBVkVfVUlOVFBUUl9UIDEKfCAjZGVm aW5lIEhBVkVfVU5TSUdORURfTE9OR19MT05HX0lOVCAxCnwgI2RlZmluZSBIQVZFX0xPTkdfTE9O R19JTlQgMQp8ICNkZWZpbmUgcmVzdHJpY3QgX19yZXN0cmljdAp8ICNkZWZpbmUgcGdfcmVzdHJp Y3QgX19yZXN0cmljdAp8ICNkZWZpbmUgSEFWRV9TVFJVQ1RfT1BUSU9OIDEKfCAjZGVmaW5lIFNJ WkVPRl9PRkZfVCA0CnwgI2RlZmluZSBTSVpFT0ZfQk9PTCAxCnwgI2RlZmluZSBIQVZFX0lOVF9U SU1FWk9ORSAxCnwgI2RlZmluZSBBQ0NFUFRfVFlQRV9SRVRVUk4gU09DS0VUIFdTQUFQSQp8ICNk ZWZpbmUgQUNDRVBUX1RZUEVfQVJHMSBTT0NLRVQKfCAjZGVmaW5lIEFDQ0VQVF9UWVBFX0FSRzIg c3RydWN0IHNvY2thZGRyICoKfCAjZGVmaW5lIEFDQ0VQVF9UWVBFX0FSRzMgaW50CnwgI2RlZmlu ZSBIQVZFX0NCUlQgMQp8ICNkZWZpbmUgSEFWRV9DTE9DS19HRVRUSU1FIDEKfCAvKiBlbmQgY29u ZmRlZnMuaC4gICovCnwgLyogRGVmaW5lIGdldGlmYWRkcnMgdG8gYW4gaW5ub2N1b3VzIHZhcmlh bnQsIGluIGNhc2UgPGxpbWl0cy5oPiBkZWNsYXJlcyBnZXRpZmFkZHJzLgp8ICAgIEZvciBleGFt cGxlLCBIUC1VWCAxMWkgPGxpbWl0cy5oPiBkZWNsYXJlcyBnZXR0aW1lb2ZkYXkuICAqLwp8ICNk ZWZpbmUgZ2V0aWZhZGRycyBpbm5vY3VvdXNfZ2V0aWZhZGRycwp8IAp8IC8qIFN5c3RlbSBoZWFk ZXIgdG8gZGVmaW5lIF9fc3R1YiBtYWNyb3MgYW5kIGhvcGVmdWxseSBmZXcgcHJvdG90eXBlcywK fCAgICAgd2hpY2ggY2FuIGNvbmZsaWN0IHdpdGggY2hhciBnZXRpZmFkZHJzICgpOyBiZWxvdy4K fCAgICAgUHJlZmVyIDxsaW1pdHMuaD4gdG8gPGFzc2VydC5oPiBpZiBfX1NURENfXyBpcyBkZWZp bmVkLCBzaW5jZQp8ICAgICA8bGltaXRzLmg+IGV4aXN0cyBldmVuIG9uIGZyZWVzdGFuZGluZyBj b21waWxlcnMuICAqLwp8IAp8ICNpZmRlZiBfX1NURENfXwp8ICMgaW5jbHVkZSA8bGltaXRzLmg+ CnwgI2Vsc2UKfCAjIGluY2x1ZGUgPGFzc2VydC5oPgp8ICNlbmRpZgp8IAp8ICN1bmRlZiBnZXRp ZmFkZHJzCnwgCnwgLyogT3ZlcnJpZGUgYW55IEdDQyBpbnRlcm5hbCBwcm90b3R5cGUgdG8gYXZv aWQgYW4gZXJyb3IuCnwgICAgVXNlIGNoYXIgYmVjYXVzZSBpbnQgbWlnaHQgbWF0Y2ggdGhlIHJl dHVybiB0eXBlIG9mIGEgR0NDCnwgICAgYnVpbHRpbiBhbmQgdGhlbiBpdHMgYXJndW1lbnQgcHJv dG90eXBlIHdvdWxkIHN0aWxsIGFwcGx5LiAgKi8KfCAjaWZkZWYgX19jcGx1c3BsdXMKfCBleHRl cm4gIkMiCnwgI2VuZGlmCnwgY2hhciBnZXRpZmFkZHJzICgpOwp8IC8qIFRoZSBHTlUgQyBsaWJy YXJ5IGRlZmluZXMgdGhpcyBmb3IgZnVuY3Rpb25zIHdoaWNoIGl0IGltcGxlbWVudHMKfCAgICAg dG8gYWx3YXlzIGZhaWwgd2l0aCBFTk9TWVMuICBTb21lIGZ1bmN0aW9ucyBhcmUgYWN0dWFsbHkg bmFtZWQKfCAgICAgc29tZXRoaW5nIHN0YXJ0aW5nIHdpdGggX18gYW5kIHRoZSBub3JtYWwgbmFt ZSBpcyBhbiBhbGlhcy4gICovCnwgI2lmIGRlZmluZWQgX19zdHViX2dldGlmYWRkcnMgfHwgZGVm aW5lZCBfX3N0dWJfX19nZXRpZmFkZHJzCnwgY2hva2UgbWUKfCAjZW5kaWYKfCAKfCBpbnQKfCBt YWluICgpCnwgewp8IHJldHVybiBnZXRpZmFkZHJzICgpOwp8ICAgOwp8ICAgcmV0dXJuIDA7Cnwg fQpjb25maWd1cmU6MTQ5MzU6IHJlc3VsdDogbm8KY29uZmlndXJlOjE0OTM1OiBjaGVja2luZyBm b3IgZ2V0cGVlcnVjcmVkCmNvbmZpZ3VyZToxNDkzNTogeDg2XzY0LXc2NC1taW5ndzMyLWdjYyAt byBjb25mdGVzdC5leGUgLVdhbGwgLVdtaXNzaW5nLXByb3RvdHlwZXMgLVdwb2ludGVyLWFyaXRo IC1XZGVjbGFyYXRpb24tYWZ0ZXItc3RhdGVtZW50IC1XZW5kaWYtbGFiZWxzIC1XbWlzc2luZy1m b3JtYXQtYXR0cmlidXRlIC1XZm9ybWF0LXNlY3VyaXR5IC1mbm8tc3RyaWN0LWFsaWFzaW5nIC1m d3JhcHYgLWZleGNlc3MtcHJlY2lzaW9uPXN0YW5kYXJkIC1Xbm8tZm9ybWF0LXRydW5jYXRpb24g LVduby1zdHJpbmdvcC10cnVuY2F0aW9uIC1nIC1PIC1mbm8tb21pdC1mcmFtZS1wb2ludGVyICAt SS93L1ItMy41Ll8vcG9zdGdyZXMvc3JjL2luY2x1ZGUvcG9ydC93aW4zMiAtREVYRUNfQkFDS0VO RCAgLUkvdy96bGliLTEuMi44LXdpbjMyLXg4Nl82NC9pbmNsdWRlIC1JL3cvb3BlbnNzbC0xLjAu MmUtd2luMzIteDg2XzY0L2luY2x1ZGUgLUkvdy9saWJ4bWwyLTIuOS4zLXdpbjMyLXg4Nl82NC9p bmNsdWRlL2xpYnhtbDIgLUkvdy9saWJ4c2x0LTEuMS4yOC13aW4zMi14ODZfNjQvaW5jbHVkZSAg LVdsLC0tYWxsb3ctbXVsdGlwbGUtZGVmaW5pdGlvbiAtV2wsLS1kaXNhYmxlLWF1dG8taW1wb3J0 ICAtTC93L3psaWItMS4yLjgtd2luMzIteDg2XzY0L2xpYiAtTC93L29wZW5zc2wtMS4wLjJlLXdp bjMyLXg4Nl82NC9saWIgLUwvdy9saWJ4bWwyLTIuOS4zLXdpbjMyLXg4Nl82NC9saWIgLUwvdy9s aWJ4c2x0LTEuMS4yOC13aW4zMi14ODZfNjQvbGliIGNvbmZ0ZXN0LmMgLWx4c2x0IC1seG1sMiAt bHNzbCAtbGNyeXB0byAtbHogLWx3czJfMzIgLWxtICA+JjUKQzovbXN5czY0L21pbmd3NjQvYmlu Ly4uL2xpYi9nY2MveDg2XzY0LXc2NC1taW5ndzMyLzguMi4wLy4uLy4uLy4uLy4uL3g4Nl82NC13 NjQtbWluZ3czMi9iaW4vbGQuZXhlOiBDOlxtc3lzNjRcdG1wXGNjRVdkMEdKLm86IGluIGZ1bmN0 aW9uIGBtYWluJzoNClc6XFItMy41Ll9ccG9zdGdyZXNcYnVpbGQvY29uZnRlc3QuYzoxMTc6IHVu ZGVmaW5lZCByZWZlcmVuY2UgdG8gYGdldHBlZXJ1Y3JlZCcNCmNvbGxlY3QyLmV4ZTogZXJyb3I6 IGxkIHJldHVybmVkIDEgZXhpdCBzdGF0dXMKY29uZmlndXJlOjE0OTM1OiAkPyA9IDEKY29uZmln dXJlOiBmYWlsZWQgcHJvZ3JhbSB3YXM6CnwgLyogY29uZmRlZnMuaCAqLwp8ICNkZWZpbmUgUEFD S0FHRV9OQU1FICJQb3N0Z3JlU1FMIgp8ICNkZWZpbmUgUEFDS0FHRV9UQVJOQU1FICJwb3N0Z3Jl c3FsIgp8ICNkZWZpbmUgUEFDS0FHRV9WRVJTSU9OICIxMWJldGEzIgp8ICNkZWZpbmUgUEFDS0FH RV9TVFJJTkcgIlBvc3RncmVTUUwgMTFiZXRhMyIKfCAjZGVmaW5lIFBBQ0tBR0VfQlVHUkVQT1JU ICJwZ3NxbC1idWdzQHBvc3RncmVzcWwub3JnIgp8ICNkZWZpbmUgUEFDS0FHRV9VUkwgIiIKfCAj ZGVmaW5lIFBHX01BSk9SVkVSU0lPTiAiMTEiCnwgI2RlZmluZSBQR19WRVJTSU9OICIxMWJldGEz Igp8ICNkZWZpbmUgREVGX1BHUE9SVCA1NDMyCnwgI2RlZmluZSBERUZfUEdQT1JUX1NUUiAiNTQz MiIKfCAjZGVmaW5lIEJMQ0tTWiA4MTkyCnwgI2RlZmluZSBSRUxTRUdfU0laRSAxMzEwNzIKfCAj ZGVmaW5lIFhMT0dfQkxDS1NaIDgxOTIKfCAjZGVmaW5lIFVTRV9BU1NFUlRfQ0hFQ0tJTkcgMQp8 ICNkZWZpbmUgRU5BQkxFX1RIUkVBRF9TQUZFVFkgMQp8ICNkZWZpbmUgVVNFX0lDVSAxCnwgI2Rl ZmluZSBQR19LUkJfU1JWTkFNICJwb3N0Z3JlcyIKfCAjZGVmaW5lIFVTRV9PUEVOU1NMIDEKfCAj ZGVmaW5lIFVTRV9MSUJYTUwgMQp8ICNkZWZpbmUgVVNFX0xJQlhTTFQgMQp8ICNkZWZpbmUgU1RE Q19IRUFERVJTIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1RZUEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9T WVNfU1RBVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1RETElCX0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJJ TkdfSCAxCnwgI2RlZmluZSBIQVZFX01FTU9SWV9IIDEKfCAjZGVmaW5lIEhBVkVfU1RSSU5HU19I IDEKfCAjZGVmaW5lIEhBVkVfSU5UVFlQRVNfSCAxCnwgI2RlZmluZSBIQVZFX1NURElOVF9IIDEK fCAjZGVmaW5lIEhBVkVfVU5JU1REX0ggMQp8ICNkZWZpbmUgSEFWRV9MSUJNIDEKfCAjZGVmaW5l IEhBVkVfTElCWiAxCnwgI2RlZmluZSBIQVZFX1NQSU5MT0NLUyAxCnwgI2RlZmluZSBIQVZFX0FU T01JQ1MgMQp8ICNkZWZpbmUgSEFWRV9TU0xfR0VUX0NVUlJFTlRfQ09NUFJFU1NJT04gMQp8ICNk ZWZpbmUgSEFWRV9YNTA5X0dFVF9TSUdOQVRVUkVfTklEIDEKfCAjZGVmaW5lIEhBVkVfQ1JZUFRP X0xPQ0sgMQp8ICNkZWZpbmUgSEFWRV9MSUJYTUwyIDEKfCAjZGVmaW5lIEhBVkVfTElCWFNMVCAx CnwgI2RlZmluZSBIQVZFX19CT09MIDEKfCAjZGVmaW5lIEhBVkVfU1REQk9PTF9IIDEKfCAjZGVm aW5lIEhBVkVfR0VUT1BUX0ggMQp8ICNkZWZpbmUgSEFWRV9JRUVFRlBfSCAxCnwgI2RlZmluZSBI QVZFX1VUSU1FX0ggMQp8ICNkZWZpbmUgSEFWRV9XQ0hBUl9IIDEKfCAjZGVmaW5lIEhBVkVfV0NU WVBFX0ggMQp8ICNkZWZpbmUgSEFWRV9DUlRERUZTX0ggMQp8ICNkZWZpbmUgUEdfUFJJTlRGX0FU VFJJQlVURSBnbnVfcHJpbnRmCnwgI2RlZmluZSBGTEVYSUJMRV9BUlJBWV9NRU1CRVIgLyoqLwp8 ICNkZWZpbmUgSEFWRV9GVU5DTkFNRV9fRlVOQyAxCnwgI2RlZmluZSBIQVZFX19TVEFUSUNfQVNT RVJUIDEKfCAjZGVmaW5lIEhBVkVfVFlQRU9GIDEKfCAjZGVmaW5lIEhBVkVfX0JVSUxUSU5fVFlQ RVNfQ09NUEFUSUJMRV9QIDEKfCAjZGVmaW5lIEhBVkVfX0JVSUxUSU5fQlNXQVAxNiAxCnwgI2Rl ZmluZSBIQVZFX19CVUlMVElOX0JTV0FQMzIgMQp8ICNkZWZpbmUgSEFWRV9fQlVJTFRJTl9CU1dB UDY0IDEKfCAjZGVmaW5lIEhBVkVfX0JVSUxUSU5fQ09OU1RBTlRfUCAxCnwgI2RlZmluZSBIQVZF X19CVUlMVElOX1VOUkVBQ0hBQkxFIDEKfCAjZGVmaW5lIEhBVkVfQ09NUFVURURfR09UTyAxCnwg I2RlZmluZSBIQVZFX19WQV9BUkdTIDEKfCAjZGVmaW5lIEhBVkVfVFpOQU1FIDEKfCAjZGVmaW5l IEhBVkVfU1RSVUNUX1NPQ0tBRERSX1NUT1JBR0UgMQp8ICNkZWZpbmUgSEFWRV9TVFJVQ1RfU09D S0FERFJfU1RPUkFHRV9TU19GQU1JTFkgMQp8ICNkZWZpbmUgSEFWRV9TVFJVQ1RfQUREUklORk8g MQp8ICNkZWZpbmUgSEFWRV9JTlRQVFJfVCAxCnwgI2RlZmluZSBIQVZFX1VJTlRQVFJfVCAxCnwg I2RlZmluZSBIQVZFX1VOU0lHTkVEX0xPTkdfTE9OR19JTlQgMQp8ICNkZWZpbmUgSEFWRV9MT05H X0xPTkdfSU5UIDEKfCAjZGVmaW5lIHJlc3RyaWN0IF9fcmVzdHJpY3QKfCAjZGVmaW5lIHBnX3Jl c3RyaWN0IF9fcmVzdHJpY3QKfCAjZGVmaW5lIEhBVkVfU1RSVUNUX09QVElPTiAxCnwgI2RlZmlu ZSBTSVpFT0ZfT0ZGX1QgNAp8ICNkZWZpbmUgU0laRU9GX0JPT0wgMQp8ICNkZWZpbmUgSEFWRV9J TlRfVElNRVpPTkUgMQp8ICNkZWZpbmUgQUNDRVBUX1RZUEVfUkVUVVJOIFNPQ0tFVCBXU0FBUEkK fCAjZGVmaW5lIEFDQ0VQVF9UWVBFX0FSRzEgU09DS0VUCnwgI2RlZmluZSBBQ0NFUFRfVFlQRV9B UkcyIHN0cnVjdCBzb2NrYWRkciAqCnwgI2RlZmluZSBBQ0NFUFRfVFlQRV9BUkczIGludAp8ICNk ZWZpbmUgSEFWRV9DQlJUIDEKfCAjZGVmaW5lIEhBVkVfQ0xPQ0tfR0VUVElNRSAxCnwgLyogZW5k IGNvbmZkZWZzLmguICAqLwp8IC8qIERlZmluZSBnZXRwZWVydWNyZWQgdG8gYW4gaW5ub2N1b3Vz IHZhcmlhbnQsIGluIGNhc2UgPGxpbWl0cy5oPiBkZWNsYXJlcyBnZXRwZWVydWNyZWQuCnwgICAg Rm9yIGV4YW1wbGUsIEhQLVVYIDExaSA8bGltaXRzLmg+IGRlY2xhcmVzIGdldHRpbWVvZmRheS4g ICovCnwgI2RlZmluZSBnZXRwZWVydWNyZWQgaW5ub2N1b3VzX2dldHBlZXJ1Y3JlZAp8IAp8IC8q IFN5c3RlbSBoZWFkZXIgdG8gZGVmaW5lIF9fc3R1YiBtYWNyb3MgYW5kIGhvcGVmdWxseSBmZXcg cHJvdG90eXBlcywKfCAgICAgd2hpY2ggY2FuIGNvbmZsaWN0IHdpdGggY2hhciBnZXRwZWVydWNy ZWQgKCk7IGJlbG93Lgp8ICAgICBQcmVmZXIgPGxpbWl0cy5oPiB0byA8YXNzZXJ0Lmg+IGlmIF9f U1REQ19fIGlzIGRlZmluZWQsIHNpbmNlCnwgICAgIDxsaW1pdHMuaD4gZXhpc3RzIGV2ZW4gb24g ZnJlZXN0YW5kaW5nIGNvbXBpbGVycy4gICovCnwgCnwgI2lmZGVmIF9fU1REQ19fCnwgIyBpbmNs dWRlIDxsaW1pdHMuaD4KfCAjZWxzZQp8ICMgaW5jbHVkZSA8YXNzZXJ0Lmg+CnwgI2VuZGlmCnwg CnwgI3VuZGVmIGdldHBlZXJ1Y3JlZAp8IAp8IC8qIE92ZXJyaWRlIGFueSBHQ0MgaW50ZXJuYWwg cHJvdG90eXBlIHRvIGF2b2lkIGFuIGVycm9yLgp8ICAgIFVzZSBjaGFyIGJlY2F1c2UgaW50IG1p Z2h0IG1hdGNoIHRoZSByZXR1cm4gdHlwZSBvZiBhIEdDQwp8ICAgIGJ1aWx0aW4gYW5kIHRoZW4g aXRzIGFyZ3VtZW50IHByb3RvdHlwZSB3b3VsZCBzdGlsbCBhcHBseS4gICovCnwgI2lmZGVmIF9f Y3BsdXNwbHVzCnwgZXh0ZXJuICJDIgp8ICNlbmRpZgp8IGNoYXIgZ2V0cGVlcnVjcmVkICgpOwp8 IC8qIFRoZSBHTlUgQyBsaWJyYXJ5IGRlZmluZXMgdGhpcyBmb3IgZnVuY3Rpb25zIHdoaWNoIGl0 IGltcGxlbWVudHMKfCAgICAgdG8gYWx3YXlzIGZhaWwgd2l0aCBFTk9TWVMuICBTb21lIGZ1bmN0 aW9ucyBhcmUgYWN0dWFsbHkgbmFtZWQKfCAgICAgc29tZXRoaW5nIHN0YXJ0aW5nIHdpdGggX18g YW5kIHRoZSBub3JtYWwgbmFtZSBpcyBhbiBhbGlhcy4gICovCnwgI2lmIGRlZmluZWQgX19zdHVi X2dldHBlZXJ1Y3JlZCB8fCBkZWZpbmVkIF9fc3R1Yl9fX2dldHBlZXJ1Y3JlZAp8IGNob2tlIG1l CnwgI2VuZGlmCnwgCnwgaW50CnwgbWFpbiAoKQp8IHsKfCByZXR1cm4gZ2V0cGVlcnVjcmVkICgp Owp8ICAgOwp8ICAgcmV0dXJuIDA7CnwgfQpjb25maWd1cmU6MTQ5MzU6IHJlc3VsdDogbm8KY29u ZmlndXJlOjE0OTM1OiBjaGVja2luZyBmb3IgZ2V0cmxpbWl0CmNvbmZpZ3VyZToxNDkzNTogeDg2 XzY0LXc2NC1taW5ndzMyLWdjYyAtbyBjb25mdGVzdC5leGUgLVdhbGwgLVdtaXNzaW5nLXByb3Rv dHlwZXMgLVdwb2ludGVyLWFyaXRoIC1XZGVjbGFyYXRpb24tYWZ0ZXItc3RhdGVtZW50IC1XZW5k aWYtbGFiZWxzIC1XbWlzc2luZy1mb3JtYXQtYXR0cmlidXRlIC1XZm9ybWF0LXNlY3VyaXR5IC1m bm8tc3RyaWN0LWFsaWFzaW5nIC1md3JhcHYgLWZleGNlc3MtcHJlY2lzaW9uPXN0YW5kYXJkIC1X bm8tZm9ybWF0LXRydW5jYXRpb24gLVduby1zdHJpbmdvcC10cnVuY2F0aW9uIC1nIC1PIC1mbm8t b21pdC1mcmFtZS1wb2ludGVyICAtSS93L1ItMy41Ll8vcG9zdGdyZXMvc3JjL2luY2x1ZGUvcG9y dC93aW4zMiAtREVYRUNfQkFDS0VORCAgLUkvdy96bGliLTEuMi44LXdpbjMyLXg4Nl82NC9pbmNs dWRlIC1JL3cvb3BlbnNzbC0xLjAuMmUtd2luMzIteDg2XzY0L2luY2x1ZGUgLUkvdy9saWJ4bWwy LTIuOS4zLXdpbjMyLXg4Nl82NC9pbmNsdWRlL2xpYnhtbDIgLUkvdy9saWJ4c2x0LTEuMS4yOC13 aW4zMi14ODZfNjQvaW5jbHVkZSAgLVdsLC0tYWxsb3ctbXVsdGlwbGUtZGVmaW5pdGlvbiAtV2ws LS1kaXNhYmxlLWF1dG8taW1wb3J0ICAtTC93L3psaWItMS4yLjgtd2luMzIteDg2XzY0L2xpYiAt TC93L29wZW5zc2wtMS4wLjJlLXdpbjMyLXg4Nl82NC9saWIgLUwvdy9saWJ4bWwyLTIuOS4zLXdp bjMyLXg4Nl82NC9saWIgLUwvdy9saWJ4c2x0LTEuMS4yOC13aW4zMi14ODZfNjQvbGliIGNvbmZ0 ZXN0LmMgLWx4c2x0IC1seG1sMiAtbHNzbCAtbGNyeXB0byAtbHogLWx3czJfMzIgLWxtICA+JjUK QzovbXN5czY0L21pbmd3NjQvYmluLy4uL2xpYi9nY2MveDg2XzY0LXc2NC1taW5ndzMyLzguMi4w Ly4uLy4uLy4uLy4uL3g4Nl82NC13NjQtbWluZ3czMi9iaW4vbGQuZXhlOiBDOlxtc3lzNjRcdG1w XGNjQ2tIVmRKLm86IGluIGZ1bmN0aW9uIGBtYWluJzoNClc6XFItMy41Ll9ccG9zdGdyZXNcYnVp bGQvY29uZnRlc3QuYzoxMTc6IHVuZGVmaW5lZCByZWZlcmVuY2UgdG8gYGdldHJsaW1pdCcNCmNv bGxlY3QyLmV4ZTogZXJyb3I6IGxkIHJldHVybmVkIDEgZXhpdCBzdGF0dXMKY29uZmlndXJlOjE0 OTM1OiAkPyA9IDEKY29uZmlndXJlOiBmYWlsZWQgcHJvZ3JhbSB3YXM6CnwgLyogY29uZmRlZnMu aCAqLwp8ICNkZWZpbmUgUEFDS0FHRV9OQU1FICJQb3N0Z3JlU1FMIgp8ICNkZWZpbmUgUEFDS0FH RV9UQVJOQU1FICJwb3N0Z3Jlc3FsIgp8ICNkZWZpbmUgUEFDS0FHRV9WRVJTSU9OICIxMWJldGEz Igp8ICNkZWZpbmUgUEFDS0FHRV9TVFJJTkcgIlBvc3RncmVTUUwgMTFiZXRhMyIKfCAjZGVmaW5l IFBBQ0tBR0VfQlVHUkVQT1JUICJwZ3NxbC1idWdzQHBvc3RncmVzcWwub3JnIgp8ICNkZWZpbmUg UEFDS0FHRV9VUkwgIiIKfCAjZGVmaW5lIFBHX01BSk9SVkVSU0lPTiAiMTEiCnwgI2RlZmluZSBQ R19WRVJTSU9OICIxMWJldGEzIgp8ICNkZWZpbmUgREVGX1BHUE9SVCA1NDMyCnwgI2RlZmluZSBE RUZfUEdQT1JUX1NUUiAiNTQzMiIKfCAjZGVmaW5lIEJMQ0tTWiA4MTkyCnwgI2RlZmluZSBSRUxT RUdfU0laRSAxMzEwNzIKfCAjZGVmaW5lIFhMT0dfQkxDS1NaIDgxOTIKfCAjZGVmaW5lIFVTRV9B U1NFUlRfQ0hFQ0tJTkcgMQp8ICNkZWZpbmUgRU5BQkxFX1RIUkVBRF9TQUZFVFkgMQp8ICNkZWZp bmUgVVNFX0lDVSAxCnwgI2RlZmluZSBQR19LUkJfU1JWTkFNICJwb3N0Z3JlcyIKfCAjZGVmaW5l IFVTRV9PUEVOU1NMIDEKfCAjZGVmaW5lIFVTRV9MSUJYTUwgMQp8ICNkZWZpbmUgVVNFX0xJQlhT TFQgMQp8ICNkZWZpbmUgU1REQ19IRUFERVJTIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1RZUEVTX0gg MQp8ICNkZWZpbmUgSEFWRV9TWVNfU1RBVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1RETElCX0ggMQp8 ICNkZWZpbmUgSEFWRV9TVFJJTkdfSCAxCnwgI2RlZmluZSBIQVZFX01FTU9SWV9IIDEKfCAjZGVm aW5lIEhBVkVfU1RSSU5HU19IIDEKfCAjZGVmaW5lIEhBVkVfSU5UVFlQRVNfSCAxCnwgI2RlZmlu ZSBIQVZFX1NURElOVF9IIDEKfCAjZGVmaW5lIEhBVkVfVU5JU1REX0ggMQp8ICNkZWZpbmUgSEFW RV9MSUJNIDEKfCAjZGVmaW5lIEhBVkVfTElCWiAxCnwgI2RlZmluZSBIQVZFX1NQSU5MT0NLUyAx CnwgI2RlZmluZSBIQVZFX0FUT01JQ1MgMQp8ICNkZWZpbmUgSEFWRV9TU0xfR0VUX0NVUlJFTlRf Q09NUFJFU1NJT04gMQp8ICNkZWZpbmUgSEFWRV9YNTA5X0dFVF9TSUdOQVRVUkVfTklEIDEKfCAj ZGVmaW5lIEhBVkVfQ1JZUFRPX0xPQ0sgMQp8ICNkZWZpbmUgSEFWRV9MSUJYTUwyIDEKfCAjZGVm aW5lIEhBVkVfTElCWFNMVCAxCnwgI2RlZmluZSBIQVZFX19CT09MIDEKfCAjZGVmaW5lIEhBVkVf U1REQk9PTF9IIDEKfCAjZGVmaW5lIEhBVkVfR0VUT1BUX0ggMQp8ICNkZWZpbmUgSEFWRV9JRUVF RlBfSCAxCnwgI2RlZmluZSBIQVZFX1VUSU1FX0ggMQp8ICNkZWZpbmUgSEFWRV9XQ0hBUl9IIDEK fCAjZGVmaW5lIEhBVkVfV0NUWVBFX0ggMQp8ICNkZWZpbmUgSEFWRV9DUlRERUZTX0ggMQp8ICNk ZWZpbmUgUEdfUFJJTlRGX0FUVFJJQlVURSBnbnVfcHJpbnRmCnwgI2RlZmluZSBGTEVYSUJMRV9B UlJBWV9NRU1CRVIgLyoqLwp8ICNkZWZpbmUgSEFWRV9GVU5DTkFNRV9fRlVOQyAxCnwgI2RlZmlu ZSBIQVZFX19TVEFUSUNfQVNTRVJUIDEKfCAjZGVmaW5lIEhBVkVfVFlQRU9GIDEKfCAjZGVmaW5l IEhBVkVfX0JVSUxUSU5fVFlQRVNfQ09NUEFUSUJMRV9QIDEKfCAjZGVmaW5lIEhBVkVfX0JVSUxU SU5fQlNXQVAxNiAxCnwgI2RlZmluZSBIQVZFX19CVUlMVElOX0JTV0FQMzIgMQp8ICNkZWZpbmUg SEFWRV9fQlVJTFRJTl9CU1dBUDY0IDEKfCAjZGVmaW5lIEhBVkVfX0JVSUxUSU5fQ09OU1RBTlRf UCAxCnwgI2RlZmluZSBIQVZFX19CVUlMVElOX1VOUkVBQ0hBQkxFIDEKfCAjZGVmaW5lIEhBVkVf Q09NUFVURURfR09UTyAxCnwgI2RlZmluZSBIQVZFX19WQV9BUkdTIDEKfCAjZGVmaW5lIEhBVkVf VFpOQU1FIDEKfCAjZGVmaW5lIEhBVkVfU1RSVUNUX1NPQ0tBRERSX1NUT1JBR0UgMQp8ICNkZWZp bmUgSEFWRV9TVFJVQ1RfU09DS0FERFJfU1RPUkFHRV9TU19GQU1JTFkgMQp8ICNkZWZpbmUgSEFW RV9TVFJVQ1RfQUREUklORk8gMQp8ICNkZWZpbmUgSEFWRV9JTlRQVFJfVCAxCnwgI2RlZmluZSBI QVZFX1VJTlRQVFJfVCAxCnwgI2RlZmluZSBIQVZFX1VOU0lHTkVEX0xPTkdfTE9OR19JTlQgMQp8 ICNkZWZpbmUgSEFWRV9MT05HX0xPTkdfSU5UIDEKfCAjZGVmaW5lIHJlc3RyaWN0IF9fcmVzdHJp Y3QKfCAjZGVmaW5lIHBnX3Jlc3RyaWN0IF9fcmVzdHJpY3QKfCAjZGVmaW5lIEhBVkVfU1RSVUNU X09QVElPTiAxCnwgI2RlZmluZSBTSVpFT0ZfT0ZGX1QgNAp8ICNkZWZpbmUgU0laRU9GX0JPT0wg MQp8ICNkZWZpbmUgSEFWRV9JTlRfVElNRVpPTkUgMQp8ICNkZWZpbmUgQUNDRVBUX1RZUEVfUkVU VVJOIFNPQ0tFVCBXU0FBUEkKfCAjZGVmaW5lIEFDQ0VQVF9UWVBFX0FSRzEgU09DS0VUCnwgI2Rl ZmluZSBBQ0NFUFRfVFlQRV9BUkcyIHN0cnVjdCBzb2NrYWRkciAqCnwgI2RlZmluZSBBQ0NFUFRf VFlQRV9BUkczIGludAp8ICNkZWZpbmUgSEFWRV9DQlJUIDEKfCAjZGVmaW5lIEhBVkVfQ0xPQ0tf R0VUVElNRSAxCnwgLyogZW5kIGNvbmZkZWZzLmguICAqLwp8IC8qIERlZmluZSBnZXRybGltaXQg dG8gYW4gaW5ub2N1b3VzIHZhcmlhbnQsIGluIGNhc2UgPGxpbWl0cy5oPiBkZWNsYXJlcyBnZXRy bGltaXQuCnwgICAgRm9yIGV4YW1wbGUsIEhQLVVYIDExaSA8bGltaXRzLmg+IGRlY2xhcmVzIGdl dHRpbWVvZmRheS4gICovCnwgI2RlZmluZSBnZXRybGltaXQgaW5ub2N1b3VzX2dldHJsaW1pdAp8 IAp8IC8qIFN5c3RlbSBoZWFkZXIgdG8gZGVmaW5lIF9fc3R1YiBtYWNyb3MgYW5kIGhvcGVmdWxs eSBmZXcgcHJvdG90eXBlcywKfCAgICAgd2hpY2ggY2FuIGNvbmZsaWN0IHdpdGggY2hhciBnZXRy bGltaXQgKCk7IGJlbG93Lgp8ICAgICBQcmVmZXIgPGxpbWl0cy5oPiB0byA8YXNzZXJ0Lmg+IGlm IF9fU1REQ19fIGlzIGRlZmluZWQsIHNpbmNlCnwgICAgIDxsaW1pdHMuaD4gZXhpc3RzIGV2ZW4g b24gZnJlZXN0YW5kaW5nIGNvbXBpbGVycy4gICovCnwgCnwgI2lmZGVmIF9fU1REQ19fCnwgIyBp bmNsdWRlIDxsaW1pdHMuaD4KfCAjZWxzZQp8ICMgaW5jbHVkZSA8YXNzZXJ0Lmg+CnwgI2VuZGlm CnwgCnwgI3VuZGVmIGdldHJsaW1pdAp8IAp8IC8qIE92ZXJyaWRlIGFueSBHQ0MgaW50ZXJuYWwg cHJvdG90eXBlIHRvIGF2b2lkIGFuIGVycm9yLgp8ICAgIFVzZSBjaGFyIGJlY2F1c2UgaW50IG1p Z2h0IG1hdGNoIHRoZSByZXR1cm4gdHlwZSBvZiBhIEdDQwp8ICAgIGJ1aWx0aW4gYW5kIHRoZW4g aXRzIGFyZ3VtZW50IHByb3RvdHlwZSB3b3VsZCBzdGlsbCBhcHBseS4gICovCnwgI2lmZGVmIF9f Y3BsdXNwbHVzCnwgZXh0ZXJuICJDIgp8ICNlbmRpZgp8IGNoYXIgZ2V0cmxpbWl0ICgpOwp8IC8q IFRoZSBHTlUgQyBsaWJyYXJ5IGRlZmluZXMgdGhpcyBmb3IgZnVuY3Rpb25zIHdoaWNoIGl0IGlt cGxlbWVudHMKfCAgICAgdG8gYWx3YXlzIGZhaWwgd2l0aCBFTk9TWVMuICBTb21lIGZ1bmN0aW9u cyBhcmUgYWN0dWFsbHkgbmFtZWQKfCAgICAgc29tZXRoaW5nIHN0YXJ0aW5nIHdpdGggX18gYW5k IHRoZSBub3JtYWwgbmFtZSBpcyBhbiBhbGlhcy4gICovCnwgI2lmIGRlZmluZWQgX19zdHViX2dl dHJsaW1pdCB8fCBkZWZpbmVkIF9fc3R1Yl9fX2dldHJsaW1pdAp8IGNob2tlIG1lCnwgI2VuZGlm CnwgCnwgaW50CnwgbWFpbiAoKQp8IHsKfCByZXR1cm4gZ2V0cmxpbWl0ICgpOwp8ICAgOwp8ICAg cmV0dXJuIDA7CnwgfQpjb25maWd1cmU6MTQ5MzU6IHJlc3VsdDogbm8KY29uZmlndXJlOjE0OTM1 OiBjaGVja2luZyBmb3IgbWJzdG93Y3NfbApjb25maWd1cmU6MTQ5MzU6IHg4Nl82NC13NjQtbWlu Z3czMi1nY2MgLW8gY29uZnRlc3QuZXhlIC1XYWxsIC1XbWlzc2luZy1wcm90b3R5cGVzIC1XcG9p bnRlci1hcml0aCAtV2RlY2xhcmF0aW9uLWFmdGVyLXN0YXRlbWVudCAtV2VuZGlmLWxhYmVscyAt V21pc3NpbmctZm9ybWF0LWF0dHJpYnV0ZSAtV2Zvcm1hdC1zZWN1cml0eSAtZm5vLXN0cmljdC1h bGlhc2luZyAtZndyYXB2IC1mZXhjZXNzLXByZWNpc2lvbj1zdGFuZGFyZCAtV25vLWZvcm1hdC10 cnVuY2F0aW9uIC1Xbm8tc3RyaW5nb3AtdHJ1bmNhdGlvbiAtZyAtTyAtZm5vLW9taXQtZnJhbWUt cG9pbnRlciAgLUkvdy9SLTMuNS5fL3Bvc3RncmVzL3NyYy9pbmNsdWRlL3BvcnQvd2luMzIgLURF WEVDX0JBQ0tFTkQgIC1JL3cvemxpYi0xLjIuOC13aW4zMi14ODZfNjQvaW5jbHVkZSAtSS93L29w ZW5zc2wtMS4wLjJlLXdpbjMyLXg4Nl82NC9pbmNsdWRlIC1JL3cvbGlieG1sMi0yLjkuMy13aW4z Mi14ODZfNjQvaW5jbHVkZS9saWJ4bWwyIC1JL3cvbGlieHNsdC0xLjEuMjgtd2luMzIteDg2XzY0 L2luY2x1ZGUgIC1XbCwtLWFsbG93LW11bHRpcGxlLWRlZmluaXRpb24gLVdsLC0tZGlzYWJsZS1h dXRvLWltcG9ydCAgLUwvdy96bGliLTEuMi44LXdpbjMyLXg4Nl82NC9saWIgLUwvdy9vcGVuc3Ns LTEuMC4yZS13aW4zMi14ODZfNjQvbGliIC1ML3cvbGlieG1sMi0yLjkuMy13aW4zMi14ODZfNjQv bGliIC1ML3cvbGlieHNsdC0xLjEuMjgtd2luMzIteDg2XzY0L2xpYiBjb25mdGVzdC5jIC1seHNs dCAtbHhtbDIgLWxzc2wgLWxjcnlwdG8gLWx6IC1sd3MyXzMyIC1sbSAgPiY1CkM6L21zeXM2NC9t aW5ndzY0L2Jpbi8uLi9saWIvZ2NjL3g4Nl82NC13NjQtbWluZ3czMi84LjIuMC8uLi8uLi8uLi8u Li94ODZfNjQtdzY0LW1pbmd3MzIvYmluL2xkLmV4ZTogQzpcbXN5czY0XHRtcFxjYzhuaFE5QS5v OiBpbiBmdW5jdGlvbiBgbWFpbic6DQpXOlxSLTMuNS5fXHBvc3RncmVzXGJ1aWxkL2NvbmZ0ZXN0 LmM6MTE3OiB1bmRlZmluZWQgcmVmZXJlbmNlIHRvIGBtYnN0b3djc19sJw0KY29sbGVjdDIuZXhl OiBlcnJvcjogbGQgcmV0dXJuZWQgMSBleGl0IHN0YXR1cwpjb25maWd1cmU6MTQ5MzU6ICQ/ID0g MQpjb25maWd1cmU6IGZhaWxlZCBwcm9ncmFtIHdhczoKfCAvKiBjb25mZGVmcy5oICovCnwgI2Rl ZmluZSBQQUNLQUdFX05BTUUgIlBvc3RncmVTUUwiCnwgI2RlZmluZSBQQUNLQUdFX1RBUk5BTUUg InBvc3RncmVzcWwiCnwgI2RlZmluZSBQQUNLQUdFX1ZFUlNJT04gIjExYmV0YTMiCnwgI2RlZmlu ZSBQQUNLQUdFX1NUUklORyAiUG9zdGdyZVNRTCAxMWJldGEzIgp8ICNkZWZpbmUgUEFDS0FHRV9C VUdSRVBPUlQgInBnc3FsLWJ1Z3NAcG9zdGdyZXNxbC5vcmciCnwgI2RlZmluZSBQQUNLQUdFX1VS TCAiIgp8ICNkZWZpbmUgUEdfTUFKT1JWRVJTSU9OICIxMSIKfCAjZGVmaW5lIFBHX1ZFUlNJT04g IjExYmV0YTMiCnwgI2RlZmluZSBERUZfUEdQT1JUIDU0MzIKfCAjZGVmaW5lIERFRl9QR1BPUlRf U1RSICI1NDMyIgp8ICNkZWZpbmUgQkxDS1NaIDgxOTIKfCAjZGVmaW5lIFJFTFNFR19TSVpFIDEz MTA3Mgp8ICNkZWZpbmUgWExPR19CTENLU1ogODE5Mgp8ICNkZWZpbmUgVVNFX0FTU0VSVF9DSEVD S0lORyAxCnwgI2RlZmluZSBFTkFCTEVfVEhSRUFEX1NBRkVUWSAxCnwgI2RlZmluZSBVU0VfSUNV IDEKfCAjZGVmaW5lIFBHX0tSQl9TUlZOQU0gInBvc3RncmVzIgp8ICNkZWZpbmUgVVNFX09QRU5T U0wgMQp8ICNkZWZpbmUgVVNFX0xJQlhNTCAxCnwgI2RlZmluZSBVU0VfTElCWFNMVCAxCnwgI2Rl ZmluZSBTVERDX0hFQURFUlMgMQp8ICNkZWZpbmUgSEFWRV9TWVNfVFlQRVNfSCAxCnwgI2RlZmlu ZSBIQVZFX1NZU19TVEFUX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERMSUJfSCAxCnwgI2RlZmluZSBI QVZFX1NUUklOR19IIDEKfCAjZGVmaW5lIEhBVkVfTUVNT1JZX0ggMQp8ICNkZWZpbmUgSEFWRV9T VFJJTkdTX0ggMQp8ICNkZWZpbmUgSEFWRV9JTlRUWVBFU19IIDEKfCAjZGVmaW5lIEhBVkVfU1RE SU5UX0ggMQp8ICNkZWZpbmUgSEFWRV9VTklTVERfSCAxCnwgI2RlZmluZSBIQVZFX0xJQk0gMQp8 ICNkZWZpbmUgSEFWRV9MSUJaIDEKfCAjZGVmaW5lIEhBVkVfU1BJTkxPQ0tTIDEKfCAjZGVmaW5l IEhBVkVfQVRPTUlDUyAxCnwgI2RlZmluZSBIQVZFX1NTTF9HRVRfQ1VSUkVOVF9DT01QUkVTU0lP TiAxCnwgI2RlZmluZSBIQVZFX1g1MDlfR0VUX1NJR05BVFVSRV9OSUQgMQp8ICNkZWZpbmUgSEFW RV9DUllQVE9fTE9DSyAxCnwgI2RlZmluZSBIQVZFX0xJQlhNTDIgMQp8ICNkZWZpbmUgSEFWRV9M SUJYU0xUIDEKfCAjZGVmaW5lIEhBVkVfX0JPT0wgMQp8ICNkZWZpbmUgSEFWRV9TVERCT09MX0gg MQp8ICNkZWZpbmUgSEFWRV9HRVRPUFRfSCAxCnwgI2RlZmluZSBIQVZFX0lFRUVGUF9IIDEKfCAj ZGVmaW5lIEhBVkVfVVRJTUVfSCAxCnwgI2RlZmluZSBIQVZFX1dDSEFSX0ggMQp8ICNkZWZpbmUg SEFWRV9XQ1RZUEVfSCAxCnwgI2RlZmluZSBIQVZFX0NSVERFRlNfSCAxCnwgI2RlZmluZSBQR19Q UklOVEZfQVRUUklCVVRFIGdudV9wcmludGYKfCAjZGVmaW5lIEZMRVhJQkxFX0FSUkFZX01FTUJF UiAvKiovCnwgI2RlZmluZSBIQVZFX0ZVTkNOQU1FX19GVU5DIDEKfCAjZGVmaW5lIEhBVkVfX1NU QVRJQ19BU1NFUlQgMQp8ICNkZWZpbmUgSEFWRV9UWVBFT0YgMQp8ICNkZWZpbmUgSEFWRV9fQlVJ TFRJTl9UWVBFU19DT01QQVRJQkxFX1AgMQp8ICNkZWZpbmUgSEFWRV9fQlVJTFRJTl9CU1dBUDE2 IDEKfCAjZGVmaW5lIEhBVkVfX0JVSUxUSU5fQlNXQVAzMiAxCnwgI2RlZmluZSBIQVZFX19CVUlM VElOX0JTV0FQNjQgMQp8ICNkZWZpbmUgSEFWRV9fQlVJTFRJTl9DT05TVEFOVF9QIDEKfCAjZGVm aW5lIEhBVkVfX0JVSUxUSU5fVU5SRUFDSEFCTEUgMQp8ICNkZWZpbmUgSEFWRV9DT01QVVRFRF9H T1RPIDEKfCAjZGVmaW5lIEhBVkVfX1ZBX0FSR1MgMQp8ICNkZWZpbmUgSEFWRV9UWk5BTUUgMQp8 ICNkZWZpbmUgSEFWRV9TVFJVQ1RfU09DS0FERFJfU1RPUkFHRSAxCnwgI2RlZmluZSBIQVZFX1NU UlVDVF9TT0NLQUREUl9TVE9SQUdFX1NTX0ZBTUlMWSAxCnwgI2RlZmluZSBIQVZFX1NUUlVDVF9B RERSSU5GTyAxCnwgI2RlZmluZSBIQVZFX0lOVFBUUl9UIDEKfCAjZGVmaW5lIEhBVkVfVUlOVFBU Ul9UIDEKfCAjZGVmaW5lIEhBVkVfVU5TSUdORURfTE9OR19MT05HX0lOVCAxCnwgI2RlZmluZSBI QVZFX0xPTkdfTE9OR19JTlQgMQp8ICNkZWZpbmUgcmVzdHJpY3QgX19yZXN0cmljdAp8ICNkZWZp bmUgcGdfcmVzdHJpY3QgX19yZXN0cmljdAp8ICNkZWZpbmUgSEFWRV9TVFJVQ1RfT1BUSU9OIDEK fCAjZGVmaW5lIFNJWkVPRl9PRkZfVCA0CnwgI2RlZmluZSBTSVpFT0ZfQk9PTCAxCnwgI2RlZmlu ZSBIQVZFX0lOVF9USU1FWk9ORSAxCnwgI2RlZmluZSBBQ0NFUFRfVFlQRV9SRVRVUk4gU09DS0VU IFdTQUFQSQp8ICNkZWZpbmUgQUNDRVBUX1RZUEVfQVJHMSBTT0NLRVQKfCAjZGVmaW5lIEFDQ0VQ VF9UWVBFX0FSRzIgc3RydWN0IHNvY2thZGRyICoKfCAjZGVmaW5lIEFDQ0VQVF9UWVBFX0FSRzMg aW50CnwgI2RlZmluZSBIQVZFX0NCUlQgMQp8ICNkZWZpbmUgSEFWRV9DTE9DS19HRVRUSU1FIDEK fCAvKiBlbmQgY29uZmRlZnMuaC4gICovCnwgLyogRGVmaW5lIG1ic3Rvd2NzX2wgdG8gYW4gaW5u b2N1b3VzIHZhcmlhbnQsIGluIGNhc2UgPGxpbWl0cy5oPiBkZWNsYXJlcyBtYnN0b3djc19sLgp8 ICAgIEZvciBleGFtcGxlLCBIUC1VWCAxMWkgPGxpbWl0cy5oPiBkZWNsYXJlcyBnZXR0aW1lb2Zk YXkuICAqLwp8ICNkZWZpbmUgbWJzdG93Y3NfbCBpbm5vY3VvdXNfbWJzdG93Y3NfbAp8IAp8IC8q IFN5c3RlbSBoZWFkZXIgdG8gZGVmaW5lIF9fc3R1YiBtYWNyb3MgYW5kIGhvcGVmdWxseSBmZXcg cHJvdG90eXBlcywKfCAgICAgd2hpY2ggY2FuIGNvbmZsaWN0IHdpdGggY2hhciBtYnN0b3djc19s ICgpOyBiZWxvdy4KfCAgICAgUHJlZmVyIDxsaW1pdHMuaD4gdG8gPGFzc2VydC5oPiBpZiBfX1NU RENfXyBpcyBkZWZpbmVkLCBzaW5jZQp8ICAgICA8bGltaXRzLmg+IGV4aXN0cyBldmVuIG9uIGZy ZWVzdGFuZGluZyBjb21waWxlcnMuICAqLwp8IAp8ICNpZmRlZiBfX1NURENfXwp8ICMgaW5jbHVk ZSA8bGltaXRzLmg+CnwgI2Vsc2UKfCAjIGluY2x1ZGUgPGFzc2VydC5oPgp8ICNlbmRpZgp8IAp8 ICN1bmRlZiBtYnN0b3djc19sCnwgCnwgLyogT3ZlcnJpZGUgYW55IEdDQyBpbnRlcm5hbCBwcm90 b3R5cGUgdG8gYXZvaWQgYW4gZXJyb3IuCnwgICAgVXNlIGNoYXIgYmVjYXVzZSBpbnQgbWlnaHQg bWF0Y2ggdGhlIHJldHVybiB0eXBlIG9mIGEgR0NDCnwgICAgYnVpbHRpbiBhbmQgdGhlbiBpdHMg YXJndW1lbnQgcHJvdG90eXBlIHdvdWxkIHN0aWxsIGFwcGx5LiAgKi8KfCAjaWZkZWYgX19jcGx1 c3BsdXMKfCBleHRlcm4gIkMiCnwgI2VuZGlmCnwgY2hhciBtYnN0b3djc19sICgpOwp8IC8qIFRo ZSBHTlUgQyBsaWJyYXJ5IGRlZmluZXMgdGhpcyBmb3IgZnVuY3Rpb25zIHdoaWNoIGl0IGltcGxl bWVudHMKfCAgICAgdG8gYWx3YXlzIGZhaWwgd2l0aCBFTk9TWVMuICBTb21lIGZ1bmN0aW9ucyBh cmUgYWN0dWFsbHkgbmFtZWQKfCAgICAgc29tZXRoaW5nIHN0YXJ0aW5nIHdpdGggX18gYW5kIHRo ZSBub3JtYWwgbmFtZSBpcyBhbiBhbGlhcy4gICovCnwgI2lmIGRlZmluZWQgX19zdHViX21ic3Rv d2NzX2wgfHwgZGVmaW5lZCBfX3N0dWJfX19tYnN0b3djc19sCnwgY2hva2UgbWUKfCAjZW5kaWYK fCAKfCBpbnQKfCBtYWluICgpCnwgewp8IHJldHVybiBtYnN0b3djc19sICgpOwp8ICAgOwp8ICAg cmV0dXJuIDA7CnwgfQpjb25maWd1cmU6MTQ5MzU6IHJlc3VsdDogbm8KY29uZmlndXJlOjE0OTM1 OiBjaGVja2luZyBmb3IgbWVtbW92ZQpjb25maWd1cmU6MTQ5MzU6IHg4Nl82NC13NjQtbWluZ3cz Mi1nY2MgLW8gY29uZnRlc3QuZXhlIC1XYWxsIC1XbWlzc2luZy1wcm90b3R5cGVzIC1XcG9pbnRl ci1hcml0aCAtV2RlY2xhcmF0aW9uLWFmdGVyLXN0YXRlbWVudCAtV2VuZGlmLWxhYmVscyAtV21p c3NpbmctZm9ybWF0LWF0dHJpYnV0ZSAtV2Zvcm1hdC1zZWN1cml0eSAtZm5vLXN0cmljdC1hbGlh c2luZyAtZndyYXB2IC1mZXhjZXNzLXByZWNpc2lvbj1zdGFuZGFyZCAtV25vLWZvcm1hdC10cnVu Y2F0aW9uIC1Xbm8tc3RyaW5nb3AtdHJ1bmNhdGlvbiAtZyAtTyAtZm5vLW9taXQtZnJhbWUtcG9p bnRlciAgLUkvdy9SLTMuNS5fL3Bvc3RncmVzL3NyYy9pbmNsdWRlL3BvcnQvd2luMzIgLURFWEVD X0JBQ0tFTkQgIC1JL3cvemxpYi0xLjIuOC13aW4zMi14ODZfNjQvaW5jbHVkZSAtSS93L29wZW5z c2wtMS4wLjJlLXdpbjMyLXg4Nl82NC9pbmNsdWRlIC1JL3cvbGlieG1sMi0yLjkuMy13aW4zMi14 ODZfNjQvaW5jbHVkZS9saWJ4bWwyIC1JL3cvbGlieHNsdC0xLjEuMjgtd2luMzIteDg2XzY0L2lu Y2x1ZGUgIC1XbCwtLWFsbG93LW11bHRpcGxlLWRlZmluaXRpb24gLVdsLC0tZGlzYWJsZS1hdXRv LWltcG9ydCAgLUwvdy96bGliLTEuMi44LXdpbjMyLXg4Nl82NC9saWIgLUwvdy9vcGVuc3NsLTEu MC4yZS13aW4zMi14ODZfNjQvbGliIC1ML3cvbGlieG1sMi0yLjkuMy13aW4zMi14ODZfNjQvbGli IC1ML3cvbGlieHNsdC0xLjEuMjgtd2luMzIteDg2XzY0L2xpYiBjb25mdGVzdC5jIC1seHNsdCAt bHhtbDIgLWxzc2wgLWxjcnlwdG8gLWx6IC1sd3MyXzMyIC1sbSAgPiY1CmNvbmZ0ZXN0LmM6MTA2 OjY6IHdhcm5pbmc6IGNvbmZsaWN0aW5nIHR5cGVzIGZvciBidWlsdC1pbiBmdW5jdGlvbiAnbWVt bW92ZScgWy1XYnVpbHRpbi1kZWNsYXJhdGlvbi1taXNtYXRjaF0KIGNoYXIgbWVtbW92ZSAoKTsK ICAgICAgXn5+fn5+fgpjb25maWd1cmU6MTQ5MzU6ICQ/ID0gMApjb25maWd1cmU6MTQ5MzU6IHJl c3VsdDogeWVzCmNvbmZpZ3VyZToxNDkzNTogY2hlY2tpbmcgZm9yIHBvbGwKY29uZmlndXJlOjE0 OTM1OiB4ODZfNjQtdzY0LW1pbmd3MzItZ2NjIC1vIGNvbmZ0ZXN0LmV4ZSAtV2FsbCAtV21pc3Np bmctcHJvdG90eXBlcyAtV3BvaW50ZXItYXJpdGggLVdkZWNsYXJhdGlvbi1hZnRlci1zdGF0ZW1l bnQgLVdlbmRpZi1sYWJlbHMgLVdtaXNzaW5nLWZvcm1hdC1hdHRyaWJ1dGUgLVdmb3JtYXQtc2Vj dXJpdHkgLWZuby1zdHJpY3QtYWxpYXNpbmcgLWZ3cmFwdiAtZmV4Y2Vzcy1wcmVjaXNpb249c3Rh bmRhcmQgLVduby1mb3JtYXQtdHJ1bmNhdGlvbiAtV25vLXN0cmluZ29wLXRydW5jYXRpb24gLWcg LU8gLWZuby1vbWl0LWZyYW1lLXBvaW50ZXIgIC1JL3cvUi0zLjUuXy9wb3N0Z3Jlcy9zcmMvaW5j bHVkZS9wb3J0L3dpbjMyIC1ERVhFQ19CQUNLRU5EICAtSS93L3psaWItMS4yLjgtd2luMzIteDg2 XzY0L2luY2x1ZGUgLUkvdy9vcGVuc3NsLTEuMC4yZS13aW4zMi14ODZfNjQvaW5jbHVkZSAtSS93 L2xpYnhtbDItMi45LjMtd2luMzIteDg2XzY0L2luY2x1ZGUvbGlieG1sMiAtSS93L2xpYnhzbHQt MS4xLjI4LXdpbjMyLXg4Nl82NC9pbmNsdWRlICAtV2wsLS1hbGxvdy1tdWx0aXBsZS1kZWZpbml0 aW9uIC1XbCwtLWRpc2FibGUtYXV0by1pbXBvcnQgIC1ML3cvemxpYi0xLjIuOC13aW4zMi14ODZf NjQvbGliIC1ML3cvb3BlbnNzbC0xLjAuMmUtd2luMzIteDg2XzY0L2xpYiAtTC93L2xpYnhtbDIt Mi45LjMtd2luMzIteDg2XzY0L2xpYiAtTC93L2xpYnhzbHQtMS4xLjI4LXdpbjMyLXg4Nl82NC9s aWIgY29uZnRlc3QuYyAtbHhzbHQgLWx4bWwyIC1sc3NsIC1sY3J5cHRvIC1seiAtbHdzMl8zMiAt bG0gID4mNQpDOi9tc3lzNjQvbWluZ3c2NC9iaW4vLi4vbGliL2djYy94ODZfNjQtdzY0LW1pbmd3 MzIvOC4yLjAvLi4vLi4vLi4vLi4veDg2XzY0LXc2NC1taW5ndzMyL2Jpbi9sZC5leGU6IEM6XG1z eXM2NFx0bXBcY2NPTDNnUFcubzogaW4gZnVuY3Rpb24gYG1haW4nOg0KVzpcUi0zLjUuX1xwb3N0 Z3Jlc1xidWlsZC9jb25mdGVzdC5jOjExODogdW5kZWZpbmVkIHJlZmVyZW5jZSB0byBgcG9sbCcN CmNvbGxlY3QyLmV4ZTogZXJyb3I6IGxkIHJldHVybmVkIDEgZXhpdCBzdGF0dXMKY29uZmlndXJl OjE0OTM1OiAkPyA9IDEKY29uZmlndXJlOiBmYWlsZWQgcHJvZ3JhbSB3YXM6CnwgLyogY29uZmRl ZnMuaCAqLwp8ICNkZWZpbmUgUEFDS0FHRV9OQU1FICJQb3N0Z3JlU1FMIgp8ICNkZWZpbmUgUEFD S0FHRV9UQVJOQU1FICJwb3N0Z3Jlc3FsIgp8ICNkZWZpbmUgUEFDS0FHRV9WRVJTSU9OICIxMWJl dGEzIgp8ICNkZWZpbmUgUEFDS0FHRV9TVFJJTkcgIlBvc3RncmVTUUwgMTFiZXRhMyIKfCAjZGVm aW5lIFBBQ0tBR0VfQlVHUkVQT1JUICJwZ3NxbC1idWdzQHBvc3RncmVzcWwub3JnIgp8ICNkZWZp bmUgUEFDS0FHRV9VUkwgIiIKfCAjZGVmaW5lIFBHX01BSk9SVkVSU0lPTiAiMTEiCnwgI2RlZmlu ZSBQR19WRVJTSU9OICIxMWJldGEzIgp8ICNkZWZpbmUgREVGX1BHUE9SVCA1NDMyCnwgI2RlZmlu ZSBERUZfUEdQT1JUX1NUUiAiNTQzMiIKfCAjZGVmaW5lIEJMQ0tTWiA4MTkyCnwgI2RlZmluZSBS RUxTRUdfU0laRSAxMzEwNzIKfCAjZGVmaW5lIFhMT0dfQkxDS1NaIDgxOTIKfCAjZGVmaW5lIFVT RV9BU1NFUlRfQ0hFQ0tJTkcgMQp8ICNkZWZpbmUgRU5BQkxFX1RIUkVBRF9TQUZFVFkgMQp8ICNk ZWZpbmUgVVNFX0lDVSAxCnwgI2RlZmluZSBQR19LUkJfU1JWTkFNICJwb3N0Z3JlcyIKfCAjZGVm aW5lIFVTRV9PUEVOU1NMIDEKfCAjZGVmaW5lIFVTRV9MSUJYTUwgMQp8ICNkZWZpbmUgVVNFX0xJ QlhTTFQgMQp8ICNkZWZpbmUgU1REQ19IRUFERVJTIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1RZUEVT X0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfU1RBVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1RETElCX0gg MQp8ICNkZWZpbmUgSEFWRV9TVFJJTkdfSCAxCnwgI2RlZmluZSBIQVZFX01FTU9SWV9IIDEKfCAj ZGVmaW5lIEhBVkVfU1RSSU5HU19IIDEKfCAjZGVmaW5lIEhBVkVfSU5UVFlQRVNfSCAxCnwgI2Rl ZmluZSBIQVZFX1NURElOVF9IIDEKfCAjZGVmaW5lIEhBVkVfVU5JU1REX0ggMQp8ICNkZWZpbmUg SEFWRV9MSUJNIDEKfCAjZGVmaW5lIEhBVkVfTElCWiAxCnwgI2RlZmluZSBIQVZFX1NQSU5MT0NL UyAxCnwgI2RlZmluZSBIQVZFX0FUT01JQ1MgMQp8ICNkZWZpbmUgSEFWRV9TU0xfR0VUX0NVUlJF TlRfQ09NUFJFU1NJT04gMQp8ICNkZWZpbmUgSEFWRV9YNTA5X0dFVF9TSUdOQVRVUkVfTklEIDEK fCAjZGVmaW5lIEhBVkVfQ1JZUFRPX0xPQ0sgMQp8ICNkZWZpbmUgSEFWRV9MSUJYTUwyIDEKfCAj ZGVmaW5lIEhBVkVfTElCWFNMVCAxCnwgI2RlZmluZSBIQVZFX19CT09MIDEKfCAjZGVmaW5lIEhB VkVfU1REQk9PTF9IIDEKfCAjZGVmaW5lIEhBVkVfR0VUT1BUX0ggMQp8ICNkZWZpbmUgSEFWRV9J RUVFRlBfSCAxCnwgI2RlZmluZSBIQVZFX1VUSU1FX0ggMQp8ICNkZWZpbmUgSEFWRV9XQ0hBUl9I IDEKfCAjZGVmaW5lIEhBVkVfV0NUWVBFX0ggMQp8ICNkZWZpbmUgSEFWRV9DUlRERUZTX0ggMQp8 ICNkZWZpbmUgUEdfUFJJTlRGX0FUVFJJQlVURSBnbnVfcHJpbnRmCnwgI2RlZmluZSBGTEVYSUJM RV9BUlJBWV9NRU1CRVIgLyoqLwp8ICNkZWZpbmUgSEFWRV9GVU5DTkFNRV9fRlVOQyAxCnwgI2Rl ZmluZSBIQVZFX19TVEFUSUNfQVNTRVJUIDEKfCAjZGVmaW5lIEhBVkVfVFlQRU9GIDEKfCAjZGVm aW5lIEhBVkVfX0JVSUxUSU5fVFlQRVNfQ09NUEFUSUJMRV9QIDEKfCAjZGVmaW5lIEhBVkVfX0JV SUxUSU5fQlNXQVAxNiAxCnwgI2RlZmluZSBIQVZFX19CVUlMVElOX0JTV0FQMzIgMQp8ICNkZWZp bmUgSEFWRV9fQlVJTFRJTl9CU1dBUDY0IDEKfCAjZGVmaW5lIEhBVkVfX0JVSUxUSU5fQ09OU1RB TlRfUCAxCnwgI2RlZmluZSBIQVZFX19CVUlMVElOX1VOUkVBQ0hBQkxFIDEKfCAjZGVmaW5lIEhB VkVfQ09NUFVURURfR09UTyAxCnwgI2RlZmluZSBIQVZFX19WQV9BUkdTIDEKfCAjZGVmaW5lIEhB VkVfVFpOQU1FIDEKfCAjZGVmaW5lIEhBVkVfU1RSVUNUX1NPQ0tBRERSX1NUT1JBR0UgMQp8ICNk ZWZpbmUgSEFWRV9TVFJVQ1RfU09DS0FERFJfU1RPUkFHRV9TU19GQU1JTFkgMQp8ICNkZWZpbmUg SEFWRV9TVFJVQ1RfQUREUklORk8gMQp8ICNkZWZpbmUgSEFWRV9JTlRQVFJfVCAxCnwgI2RlZmlu ZSBIQVZFX1VJTlRQVFJfVCAxCnwgI2RlZmluZSBIQVZFX1VOU0lHTkVEX0xPTkdfTE9OR19JTlQg MQp8ICNkZWZpbmUgSEFWRV9MT05HX0xPTkdfSU5UIDEKfCAjZGVmaW5lIHJlc3RyaWN0IF9fcmVz dHJpY3QKfCAjZGVmaW5lIHBnX3Jlc3RyaWN0IF9fcmVzdHJpY3QKfCAjZGVmaW5lIEhBVkVfU1RS VUNUX09QVElPTiAxCnwgI2RlZmluZSBTSVpFT0ZfT0ZGX1QgNAp8ICNkZWZpbmUgU0laRU9GX0JP T0wgMQp8ICNkZWZpbmUgSEFWRV9JTlRfVElNRVpPTkUgMQp8ICNkZWZpbmUgQUNDRVBUX1RZUEVf UkVUVVJOIFNPQ0tFVCBXU0FBUEkKfCAjZGVmaW5lIEFDQ0VQVF9UWVBFX0FSRzEgU09DS0VUCnwg I2RlZmluZSBBQ0NFUFRfVFlQRV9BUkcyIHN0cnVjdCBzb2NrYWRkciAqCnwgI2RlZmluZSBBQ0NF UFRfVFlQRV9BUkczIGludAp8ICNkZWZpbmUgSEFWRV9DQlJUIDEKfCAjZGVmaW5lIEhBVkVfQ0xP Q0tfR0VUVElNRSAxCnwgI2RlZmluZSBIQVZFX01FTU1PVkUgMQp8IC8qIGVuZCBjb25mZGVmcy5o LiAgKi8KfCAvKiBEZWZpbmUgcG9sbCB0byBhbiBpbm5vY3VvdXMgdmFyaWFudCwgaW4gY2FzZSA8 bGltaXRzLmg+IGRlY2xhcmVzIHBvbGwuCnwgICAgRm9yIGV4YW1wbGUsIEhQLVVYIDExaSA8bGlt aXRzLmg+IGRlY2xhcmVzIGdldHRpbWVvZmRheS4gICovCnwgI2RlZmluZSBwb2xsIGlubm9jdW91 c19wb2xsCnwgCnwgLyogU3lzdGVtIGhlYWRlciB0byBkZWZpbmUgX19zdHViIG1hY3JvcyBhbmQg aG9wZWZ1bGx5IGZldyBwcm90b3R5cGVzLAp8ICAgICB3aGljaCBjYW4gY29uZmxpY3Qgd2l0aCBj aGFyIHBvbGwgKCk7IGJlbG93Lgp8ICAgICBQcmVmZXIgPGxpbWl0cy5oPiB0byA8YXNzZXJ0Lmg+ IGlmIF9fU1REQ19fIGlzIGRlZmluZWQsIHNpbmNlCnwgICAgIDxsaW1pdHMuaD4gZXhpc3RzIGV2 ZW4gb24gZnJlZXN0YW5kaW5nIGNvbXBpbGVycy4gICovCnwgCnwgI2lmZGVmIF9fU1REQ19fCnwg IyBpbmNsdWRlIDxsaW1pdHMuaD4KfCAjZWxzZQp8ICMgaW5jbHVkZSA8YXNzZXJ0Lmg+CnwgI2Vu ZGlmCnwgCnwgI3VuZGVmIHBvbGwKfCAKfCAvKiBPdmVycmlkZSBhbnkgR0NDIGludGVybmFsIHBy b3RvdHlwZSB0byBhdm9pZCBhbiBlcnJvci4KfCAgICBVc2UgY2hhciBiZWNhdXNlIGludCBtaWdo dCBtYXRjaCB0aGUgcmV0dXJuIHR5cGUgb2YgYSBHQ0MKfCAgICBidWlsdGluIGFuZCB0aGVuIGl0 cyBhcmd1bWVudCBwcm90b3R5cGUgd291bGQgc3RpbGwgYXBwbHkuICAqLwp8ICNpZmRlZiBfX2Nw bHVzcGx1cwp8IGV4dGVybiAiQyIKfCAjZW5kaWYKfCBjaGFyIHBvbGwgKCk7CnwgLyogVGhlIEdO VSBDIGxpYnJhcnkgZGVmaW5lcyB0aGlzIGZvciBmdW5jdGlvbnMgd2hpY2ggaXQgaW1wbGVtZW50 cwp8ICAgICB0byBhbHdheXMgZmFpbCB3aXRoIEVOT1NZUy4gIFNvbWUgZnVuY3Rpb25zIGFyZSBh Y3R1YWxseSBuYW1lZAp8ICAgICBzb21ldGhpbmcgc3RhcnRpbmcgd2l0aCBfXyBhbmQgdGhlIG5v cm1hbCBuYW1lIGlzIGFuIGFsaWFzLiAgKi8KfCAjaWYgZGVmaW5lZCBfX3N0dWJfcG9sbCB8fCBk ZWZpbmVkIF9fc3R1Yl9fX3BvbGwKfCBjaG9rZSBtZQp8ICNlbmRpZgp8IAp8IGludAp8IG1haW4g KCkKfCB7CnwgcmV0dXJuIHBvbGwgKCk7CnwgICA7CnwgICByZXR1cm4gMDsKfCB9CmNvbmZpZ3Vy ZToxNDkzNTogcmVzdWx0OiBubwpjb25maWd1cmU6MTQ5MzU6IGNoZWNraW5nIGZvciBwb3NpeF9m YWxsb2NhdGUKY29uZmlndXJlOjE0OTM1OiB4ODZfNjQtdzY0LW1pbmd3MzItZ2NjIC1vIGNvbmZ0 ZXN0LmV4ZSAtV2FsbCAtV21pc3NpbmctcHJvdG90eXBlcyAtV3BvaW50ZXItYXJpdGggLVdkZWNs YXJhdGlvbi1hZnRlci1zdGF0ZW1lbnQgLVdlbmRpZi1sYWJlbHMgLVdtaXNzaW5nLWZvcm1hdC1h dHRyaWJ1dGUgLVdmb3JtYXQtc2VjdXJpdHkgLWZuby1zdHJpY3QtYWxpYXNpbmcgLWZ3cmFwdiAt ZmV4Y2Vzcy1wcmVjaXNpb249c3RhbmRhcmQgLVduby1mb3JtYXQtdHJ1bmNhdGlvbiAtV25vLXN0 cmluZ29wLXRydW5jYXRpb24gLWcgLU8gLWZuby1vbWl0LWZyYW1lLXBvaW50ZXIgIC1JL3cvUi0z LjUuXy9wb3N0Z3Jlcy9zcmMvaW5jbHVkZS9wb3J0L3dpbjMyIC1ERVhFQ19CQUNLRU5EICAtSS93 L3psaWItMS4yLjgtd2luMzIteDg2XzY0L2luY2x1ZGUgLUkvdy9vcGVuc3NsLTEuMC4yZS13aW4z Mi14ODZfNjQvaW5jbHVkZSAtSS93L2xpYnhtbDItMi45LjMtd2luMzIteDg2XzY0L2luY2x1ZGUv bGlieG1sMiAtSS93L2xpYnhzbHQtMS4xLjI4LXdpbjMyLXg4Nl82NC9pbmNsdWRlICAtV2wsLS1h bGxvdy1tdWx0aXBsZS1kZWZpbml0aW9uIC1XbCwtLWRpc2FibGUtYXV0by1pbXBvcnQgIC1ML3cv emxpYi0xLjIuOC13aW4zMi14ODZfNjQvbGliIC1ML3cvb3BlbnNzbC0xLjAuMmUtd2luMzIteDg2 XzY0L2xpYiAtTC93L2xpYnhtbDItMi45LjMtd2luMzIteDg2XzY0L2xpYiAtTC93L2xpYnhzbHQt MS4xLjI4LXdpbjMyLXg4Nl82NC9saWIgY29uZnRlc3QuYyAtbHhzbHQgLWx4bWwyIC1sc3NsIC1s Y3J5cHRvIC1seiAtbHdzMl8zMiAtbG0gID4mNQpDOi9tc3lzNjQvbWluZ3c2NC9iaW4vLi4vbGli L2djYy94ODZfNjQtdzY0LW1pbmd3MzIvOC4yLjAvLi4vLi4vLi4vLi4veDg2XzY0LXc2NC1taW5n dzMyL2Jpbi9sZC5leGU6IEM6XG1zeXM2NFx0bXBcY2NxRWliTFUubzogaW4gZnVuY3Rpb24gYG1h aW4nOg0KVzpcUi0zLjUuX1xwb3N0Z3Jlc1xidWlsZC9jb25mdGVzdC5jOjExODogdW5kZWZpbmVk IHJlZmVyZW5jZSB0byBgcG9zaXhfZmFsbG9jYXRlJw0KY29sbGVjdDIuZXhlOiBlcnJvcjogbGQg cmV0dXJuZWQgMSBleGl0IHN0YXR1cwpjb25maWd1cmU6MTQ5MzU6ICQ/ID0gMQpjb25maWd1cmU6 IGZhaWxlZCBwcm9ncmFtIHdhczoKfCAvKiBjb25mZGVmcy5oICovCnwgI2RlZmluZSBQQUNLQUdF X05BTUUgIlBvc3RncmVTUUwiCnwgI2RlZmluZSBQQUNLQUdFX1RBUk5BTUUgInBvc3RncmVzcWwi CnwgI2RlZmluZSBQQUNLQUdFX1ZFUlNJT04gIjExYmV0YTMiCnwgI2RlZmluZSBQQUNLQUdFX1NU UklORyAiUG9zdGdyZVNRTCAxMWJldGEzIgp8ICNkZWZpbmUgUEFDS0FHRV9CVUdSRVBPUlQgInBn c3FsLWJ1Z3NAcG9zdGdyZXNxbC5vcmciCnwgI2RlZmluZSBQQUNLQUdFX1VSTCAiIgp8ICNkZWZp bmUgUEdfTUFKT1JWRVJTSU9OICIxMSIKfCAjZGVmaW5lIFBHX1ZFUlNJT04gIjExYmV0YTMiCnwg I2RlZmluZSBERUZfUEdQT1JUIDU0MzIKfCAjZGVmaW5lIERFRl9QR1BPUlRfU1RSICI1NDMyIgp8 ICNkZWZpbmUgQkxDS1NaIDgxOTIKfCAjZGVmaW5lIFJFTFNFR19TSVpFIDEzMTA3Mgp8ICNkZWZp bmUgWExPR19CTENLU1ogODE5Mgp8ICNkZWZpbmUgVVNFX0FTU0VSVF9DSEVDS0lORyAxCnwgI2Rl ZmluZSBFTkFCTEVfVEhSRUFEX1NBRkVUWSAxCnwgI2RlZmluZSBVU0VfSUNVIDEKfCAjZGVmaW5l IFBHX0tSQl9TUlZOQU0gInBvc3RncmVzIgp8ICNkZWZpbmUgVVNFX09QRU5TU0wgMQp8ICNkZWZp bmUgVVNFX0xJQlhNTCAxCnwgI2RlZmluZSBVU0VfTElCWFNMVCAxCnwgI2RlZmluZSBTVERDX0hF QURFUlMgMQp8ICNkZWZpbmUgSEFWRV9TWVNfVFlQRVNfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19T VEFUX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERMSUJfSCAxCnwgI2RlZmluZSBIQVZFX1NUUklOR19I IDEKfCAjZGVmaW5lIEhBVkVfTUVNT1JZX0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJJTkdTX0ggMQp8 ICNkZWZpbmUgSEFWRV9JTlRUWVBFU19IIDEKfCAjZGVmaW5lIEhBVkVfU1RESU5UX0ggMQp8ICNk ZWZpbmUgSEFWRV9VTklTVERfSCAxCnwgI2RlZmluZSBIQVZFX0xJQk0gMQp8ICNkZWZpbmUgSEFW RV9MSUJaIDEKfCAjZGVmaW5lIEhBVkVfU1BJTkxPQ0tTIDEKfCAjZGVmaW5lIEhBVkVfQVRPTUlD UyAxCnwgI2RlZmluZSBIQVZFX1NTTF9HRVRfQ1VSUkVOVF9DT01QUkVTU0lPTiAxCnwgI2RlZmlu ZSBIQVZFX1g1MDlfR0VUX1NJR05BVFVSRV9OSUQgMQp8ICNkZWZpbmUgSEFWRV9DUllQVE9fTE9D SyAxCnwgI2RlZmluZSBIQVZFX0xJQlhNTDIgMQp8ICNkZWZpbmUgSEFWRV9MSUJYU0xUIDEKfCAj ZGVmaW5lIEhBVkVfX0JPT0wgMQp8ICNkZWZpbmUgSEFWRV9TVERCT09MX0ggMQp8ICNkZWZpbmUg SEFWRV9HRVRPUFRfSCAxCnwgI2RlZmluZSBIQVZFX0lFRUVGUF9IIDEKfCAjZGVmaW5lIEhBVkVf VVRJTUVfSCAxCnwgI2RlZmluZSBIQVZFX1dDSEFSX0ggMQp8ICNkZWZpbmUgSEFWRV9XQ1RZUEVf SCAxCnwgI2RlZmluZSBIQVZFX0NSVERFRlNfSCAxCnwgI2RlZmluZSBQR19QUklOVEZfQVRUUklC VVRFIGdudV9wcmludGYKfCAjZGVmaW5lIEZMRVhJQkxFX0FSUkFZX01FTUJFUiAvKiovCnwgI2Rl ZmluZSBIQVZFX0ZVTkNOQU1FX19GVU5DIDEKfCAjZGVmaW5lIEhBVkVfX1NUQVRJQ19BU1NFUlQg MQp8ICNkZWZpbmUgSEFWRV9UWVBFT0YgMQp8ICNkZWZpbmUgSEFWRV9fQlVJTFRJTl9UWVBFU19D T01QQVRJQkxFX1AgMQp8ICNkZWZpbmUgSEFWRV9fQlVJTFRJTl9CU1dBUDE2IDEKfCAjZGVmaW5l IEhBVkVfX0JVSUxUSU5fQlNXQVAzMiAxCnwgI2RlZmluZSBIQVZFX19CVUlMVElOX0JTV0FQNjQg MQp8ICNkZWZpbmUgSEFWRV9fQlVJTFRJTl9DT05TVEFOVF9QIDEKfCAjZGVmaW5lIEhBVkVfX0JV SUxUSU5fVU5SRUFDSEFCTEUgMQp8ICNkZWZpbmUgSEFWRV9DT01QVVRFRF9HT1RPIDEKfCAjZGVm aW5lIEhBVkVfX1ZBX0FSR1MgMQp8ICNkZWZpbmUgSEFWRV9UWk5BTUUgMQp8ICNkZWZpbmUgSEFW RV9TVFJVQ1RfU09DS0FERFJfU1RPUkFHRSAxCnwgI2RlZmluZSBIQVZFX1NUUlVDVF9TT0NLQURE Ul9TVE9SQUdFX1NTX0ZBTUlMWSAxCnwgI2RlZmluZSBIQVZFX1NUUlVDVF9BRERSSU5GTyAxCnwg I2RlZmluZSBIQVZFX0lOVFBUUl9UIDEKfCAjZGVmaW5lIEhBVkVfVUlOVFBUUl9UIDEKfCAjZGVm aW5lIEhBVkVfVU5TSUdORURfTE9OR19MT05HX0lOVCAxCnwgI2RlZmluZSBIQVZFX0xPTkdfTE9O R19JTlQgMQp8ICNkZWZpbmUgcmVzdHJpY3QgX19yZXN0cmljdAp8ICNkZWZpbmUgcGdfcmVzdHJp Y3QgX19yZXN0cmljdAp8ICNkZWZpbmUgSEFWRV9TVFJVQ1RfT1BUSU9OIDEKfCAjZGVmaW5lIFNJ WkVPRl9PRkZfVCA0CnwgI2RlZmluZSBTSVpFT0ZfQk9PTCAxCnwgI2RlZmluZSBIQVZFX0lOVF9U SU1FWk9ORSAxCnwgI2RlZmluZSBBQ0NFUFRfVFlQRV9SRVRVUk4gU09DS0VUIFdTQUFQSQp8ICNk ZWZpbmUgQUNDRVBUX1RZUEVfQVJHMSBTT0NLRVQKfCAjZGVmaW5lIEFDQ0VQVF9UWVBFX0FSRzIg c3RydWN0IHNvY2thZGRyICoKfCAjZGVmaW5lIEFDQ0VQVF9UWVBFX0FSRzMgaW50CnwgI2RlZmlu ZSBIQVZFX0NCUlQgMQp8ICNkZWZpbmUgSEFWRV9DTE9DS19HRVRUSU1FIDEKfCAjZGVmaW5lIEhB VkVfTUVNTU9WRSAxCnwgLyogZW5kIGNvbmZkZWZzLmguICAqLwp8IC8qIERlZmluZSBwb3NpeF9m YWxsb2NhdGUgdG8gYW4gaW5ub2N1b3VzIHZhcmlhbnQsIGluIGNhc2UgPGxpbWl0cy5oPiBkZWNs YXJlcyBwb3NpeF9mYWxsb2NhdGUuCnwgICAgRm9yIGV4YW1wbGUsIEhQLVVYIDExaSA8bGltaXRz Lmg+IGRlY2xhcmVzIGdldHRpbWVvZmRheS4gICovCnwgI2RlZmluZSBwb3NpeF9mYWxsb2NhdGUg aW5ub2N1b3VzX3Bvc2l4X2ZhbGxvY2F0ZQp8IAp8IC8qIFN5c3RlbSBoZWFkZXIgdG8gZGVmaW5l IF9fc3R1YiBtYWNyb3MgYW5kIGhvcGVmdWxseSBmZXcgcHJvdG90eXBlcywKfCAgICAgd2hpY2gg Y2FuIGNvbmZsaWN0IHdpdGggY2hhciBwb3NpeF9mYWxsb2NhdGUgKCk7IGJlbG93Lgp8ICAgICBQ cmVmZXIgPGxpbWl0cy5oPiB0byA8YXNzZXJ0Lmg+IGlmIF9fU1REQ19fIGlzIGRlZmluZWQsIHNp bmNlCnwgICAgIDxsaW1pdHMuaD4gZXhpc3RzIGV2ZW4gb24gZnJlZXN0YW5kaW5nIGNvbXBpbGVy cy4gICovCnwgCnwgI2lmZGVmIF9fU1REQ19fCnwgIyBpbmNsdWRlIDxsaW1pdHMuaD4KfCAjZWxz ZQp8ICMgaW5jbHVkZSA8YXNzZXJ0Lmg+CnwgI2VuZGlmCnwgCnwgI3VuZGVmIHBvc2l4X2ZhbGxv Y2F0ZQp8IAp8IC8qIE92ZXJyaWRlIGFueSBHQ0MgaW50ZXJuYWwgcHJvdG90eXBlIHRvIGF2b2lk IGFuIGVycm9yLgp8ICAgIFVzZSBjaGFyIGJlY2F1c2UgaW50IG1pZ2h0IG1hdGNoIHRoZSByZXR1 cm4gdHlwZSBvZiBhIEdDQwp8ICAgIGJ1aWx0aW4gYW5kIHRoZW4gaXRzIGFyZ3VtZW50IHByb3Rv dHlwZSB3b3VsZCBzdGlsbCBhcHBseS4gICovCnwgI2lmZGVmIF9fY3BsdXNwbHVzCnwgZXh0ZXJu ICJDIgp8ICNlbmRpZgp8IGNoYXIgcG9zaXhfZmFsbG9jYXRlICgpOwp8IC8qIFRoZSBHTlUgQyBs aWJyYXJ5IGRlZmluZXMgdGhpcyBmb3IgZnVuY3Rpb25zIHdoaWNoIGl0IGltcGxlbWVudHMKfCAg ICAgdG8gYWx3YXlzIGZhaWwgd2l0aCBFTk9TWVMuICBTb21lIGZ1bmN0aW9ucyBhcmUgYWN0dWFs bHkgbmFtZWQKfCAgICAgc29tZXRoaW5nIHN0YXJ0aW5nIHdpdGggX18gYW5kIHRoZSBub3JtYWwg bmFtZSBpcyBhbiBhbGlhcy4gICovCnwgI2lmIGRlZmluZWQgX19zdHViX3Bvc2l4X2ZhbGxvY2F0 ZSB8fCBkZWZpbmVkIF9fc3R1Yl9fX3Bvc2l4X2ZhbGxvY2F0ZQp8IGNob2tlIG1lCnwgI2VuZGlm CnwgCnwgaW50CnwgbWFpbiAoKQp8IHsKfCByZXR1cm4gcG9zaXhfZmFsbG9jYXRlICgpOwp8ICAg Owp8ICAgcmV0dXJuIDA7CnwgfQpjb25maWd1cmU6MTQ5MzU6IHJlc3VsdDogbm8KY29uZmlndXJl OjE0OTM1OiBjaGVja2luZyBmb3IgcHN0YXQKY29uZmlndXJlOjE0OTM1OiB4ODZfNjQtdzY0LW1p bmd3MzItZ2NjIC1vIGNvbmZ0ZXN0LmV4ZSAtV2FsbCAtV21pc3NpbmctcHJvdG90eXBlcyAtV3Bv aW50ZXItYXJpdGggLVdkZWNsYXJhdGlvbi1hZnRlci1zdGF0ZW1lbnQgLVdlbmRpZi1sYWJlbHMg LVdtaXNzaW5nLWZvcm1hdC1hdHRyaWJ1dGUgLVdmb3JtYXQtc2VjdXJpdHkgLWZuby1zdHJpY3Qt YWxpYXNpbmcgLWZ3cmFwdiAtZmV4Y2Vzcy1wcmVjaXNpb249c3RhbmRhcmQgLVduby1mb3JtYXQt dHJ1bmNhdGlvbiAtV25vLXN0cmluZ29wLXRydW5jYXRpb24gLWcgLU8gLWZuby1vbWl0LWZyYW1l LXBvaW50ZXIgIC1JL3cvUi0zLjUuXy9wb3N0Z3Jlcy9zcmMvaW5jbHVkZS9wb3J0L3dpbjMyIC1E RVhFQ19CQUNLRU5EICAtSS93L3psaWItMS4yLjgtd2luMzIteDg2XzY0L2luY2x1ZGUgLUkvdy9v cGVuc3NsLTEuMC4yZS13aW4zMi14ODZfNjQvaW5jbHVkZSAtSS93L2xpYnhtbDItMi45LjMtd2lu MzIteDg2XzY0L2luY2x1ZGUvbGlieG1sMiAtSS93L2xpYnhzbHQtMS4xLjI4LXdpbjMyLXg4Nl82 NC9pbmNsdWRlICAtV2wsLS1hbGxvdy1tdWx0aXBsZS1kZWZpbml0aW9uIC1XbCwtLWRpc2FibGUt YXV0by1pbXBvcnQgIC1ML3cvemxpYi0xLjIuOC13aW4zMi14ODZfNjQvbGliIC1ML3cvb3BlbnNz bC0xLjAuMmUtd2luMzIteDg2XzY0L2xpYiAtTC93L2xpYnhtbDItMi45LjMtd2luMzIteDg2XzY0 L2xpYiAtTC93L2xpYnhzbHQtMS4xLjI4LXdpbjMyLXg4Nl82NC9saWIgY29uZnRlc3QuYyAtbHhz bHQgLWx4bWwyIC1sc3NsIC1sY3J5cHRvIC1seiAtbHdzMl8zMiAtbG0gID4mNQpDOi9tc3lzNjQv bWluZ3c2NC9iaW4vLi4vbGliL2djYy94ODZfNjQtdzY0LW1pbmd3MzIvOC4yLjAvLi4vLi4vLi4v Li4veDg2XzY0LXc2NC1taW5ndzMyL2Jpbi9sZC5leGU6IEM6XG1zeXM2NFx0bXBcY2NVT09icVMu bzogaW4gZnVuY3Rpb24gYG1haW4nOg0KVzpcUi0zLjUuX1xwb3N0Z3Jlc1xidWlsZC9jb25mdGVz dC5jOjExODogdW5kZWZpbmVkIHJlZmVyZW5jZSB0byBgcHN0YXQnDQpjb2xsZWN0Mi5leGU6IGVy cm9yOiBsZCByZXR1cm5lZCAxIGV4aXQgc3RhdHVzCmNvbmZpZ3VyZToxNDkzNTogJD8gPSAxCmNv bmZpZ3VyZTogZmFpbGVkIHByb2dyYW0gd2FzOgp8IC8qIGNvbmZkZWZzLmggKi8KfCAjZGVmaW5l IFBBQ0tBR0VfTkFNRSAiUG9zdGdyZVNRTCIKfCAjZGVmaW5lIFBBQ0tBR0VfVEFSTkFNRSAicG9z dGdyZXNxbCIKfCAjZGVmaW5lIFBBQ0tBR0VfVkVSU0lPTiAiMTFiZXRhMyIKfCAjZGVmaW5lIFBB Q0tBR0VfU1RSSU5HICJQb3N0Z3JlU1FMIDExYmV0YTMiCnwgI2RlZmluZSBQQUNLQUdFX0JVR1JF UE9SVCAicGdzcWwtYnVnc0Bwb3N0Z3Jlc3FsLm9yZyIKfCAjZGVmaW5lIFBBQ0tBR0VfVVJMICIi CnwgI2RlZmluZSBQR19NQUpPUlZFUlNJT04gIjExIgp8ICNkZWZpbmUgUEdfVkVSU0lPTiAiMTFi ZXRhMyIKfCAjZGVmaW5lIERFRl9QR1BPUlQgNTQzMgp8ICNkZWZpbmUgREVGX1BHUE9SVF9TVFIg IjU0MzIiCnwgI2RlZmluZSBCTENLU1ogODE5Mgp8ICNkZWZpbmUgUkVMU0VHX1NJWkUgMTMxMDcy CnwgI2RlZmluZSBYTE9HX0JMQ0tTWiA4MTkyCnwgI2RlZmluZSBVU0VfQVNTRVJUX0NIRUNLSU5H IDEKfCAjZGVmaW5lIEVOQUJMRV9USFJFQURfU0FGRVRZIDEKfCAjZGVmaW5lIFVTRV9JQ1UgMQp8 ICNkZWZpbmUgUEdfS1JCX1NSVk5BTSAicG9zdGdyZXMiCnwgI2RlZmluZSBVU0VfT1BFTlNTTCAx CnwgI2RlZmluZSBVU0VfTElCWE1MIDEKfCAjZGVmaW5lIFVTRV9MSUJYU0xUIDEKfCAjZGVmaW5l IFNURENfSEVBREVSUyAxCnwgI2RlZmluZSBIQVZFX1NZU19UWVBFU19IIDEKfCAjZGVmaW5lIEhB VkVfU1lTX1NUQVRfSCAxCnwgI2RlZmluZSBIQVZFX1NURExJQl9IIDEKfCAjZGVmaW5lIEhBVkVf U1RSSU5HX0ggMQp8ICNkZWZpbmUgSEFWRV9NRU1PUllfSCAxCnwgI2RlZmluZSBIQVZFX1NUUklO R1NfSCAxCnwgI2RlZmluZSBIQVZFX0lOVFRZUEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERJTlRf SCAxCnwgI2RlZmluZSBIQVZFX1VOSVNURF9IIDEKfCAjZGVmaW5lIEhBVkVfTElCTSAxCnwgI2Rl ZmluZSBIQVZFX0xJQlogMQp8ICNkZWZpbmUgSEFWRV9TUElOTE9DS1MgMQp8ICNkZWZpbmUgSEFW RV9BVE9NSUNTIDEKfCAjZGVmaW5lIEhBVkVfU1NMX0dFVF9DVVJSRU5UX0NPTVBSRVNTSU9OIDEK fCAjZGVmaW5lIEhBVkVfWDUwOV9HRVRfU0lHTkFUVVJFX05JRCAxCnwgI2RlZmluZSBIQVZFX0NS WVBUT19MT0NLIDEKfCAjZGVmaW5lIEhBVkVfTElCWE1MMiAxCnwgI2RlZmluZSBIQVZFX0xJQlhT TFQgMQp8ICNkZWZpbmUgSEFWRV9fQk9PTCAxCnwgI2RlZmluZSBIQVZFX1NUREJPT0xfSCAxCnwg I2RlZmluZSBIQVZFX0dFVE9QVF9IIDEKfCAjZGVmaW5lIEhBVkVfSUVFRUZQX0ggMQp8ICNkZWZp bmUgSEFWRV9VVElNRV9IIDEKfCAjZGVmaW5lIEhBVkVfV0NIQVJfSCAxCnwgI2RlZmluZSBIQVZF X1dDVFlQRV9IIDEKfCAjZGVmaW5lIEhBVkVfQ1JUREVGU19IIDEKfCAjZGVmaW5lIFBHX1BSSU5U Rl9BVFRSSUJVVEUgZ251X3ByaW50Zgp8ICNkZWZpbmUgRkxFWElCTEVfQVJSQVlfTUVNQkVSIC8q Ki8KfCAjZGVmaW5lIEhBVkVfRlVOQ05BTUVfX0ZVTkMgMQp8ICNkZWZpbmUgSEFWRV9fU1RBVElD X0FTU0VSVCAxCnwgI2RlZmluZSBIQVZFX1RZUEVPRiAxCnwgI2RlZmluZSBIQVZFX19CVUlMVElO X1RZUEVTX0NPTVBBVElCTEVfUCAxCnwgI2RlZmluZSBIQVZFX19CVUlMVElOX0JTV0FQMTYgMQp8 ICNkZWZpbmUgSEFWRV9fQlVJTFRJTl9CU1dBUDMyIDEKfCAjZGVmaW5lIEhBVkVfX0JVSUxUSU5f QlNXQVA2NCAxCnwgI2RlZmluZSBIQVZFX19CVUlMVElOX0NPTlNUQU5UX1AgMQp8ICNkZWZpbmUg SEFWRV9fQlVJTFRJTl9VTlJFQUNIQUJMRSAxCnwgI2RlZmluZSBIQVZFX0NPTVBVVEVEX0dPVE8g MQp8ICNkZWZpbmUgSEFWRV9fVkFfQVJHUyAxCnwgI2RlZmluZSBIQVZFX1RaTkFNRSAxCnwgI2Rl ZmluZSBIQVZFX1NUUlVDVF9TT0NLQUREUl9TVE9SQUdFIDEKfCAjZGVmaW5lIEhBVkVfU1RSVUNU X1NPQ0tBRERSX1NUT1JBR0VfU1NfRkFNSUxZIDEKfCAjZGVmaW5lIEhBVkVfU1RSVUNUX0FERFJJ TkZPIDEKfCAjZGVmaW5lIEhBVkVfSU5UUFRSX1QgMQp8ICNkZWZpbmUgSEFWRV9VSU5UUFRSX1Qg MQp8ICNkZWZpbmUgSEFWRV9VTlNJR05FRF9MT05HX0xPTkdfSU5UIDEKfCAjZGVmaW5lIEhBVkVf TE9OR19MT05HX0lOVCAxCnwgI2RlZmluZSByZXN0cmljdCBfX3Jlc3RyaWN0CnwgI2RlZmluZSBw Z19yZXN0cmljdCBfX3Jlc3RyaWN0CnwgI2RlZmluZSBIQVZFX1NUUlVDVF9PUFRJT04gMQp8ICNk ZWZpbmUgU0laRU9GX09GRl9UIDQKfCAjZGVmaW5lIFNJWkVPRl9CT09MIDEKfCAjZGVmaW5lIEhB VkVfSU5UX1RJTUVaT05FIDEKfCAjZGVmaW5lIEFDQ0VQVF9UWVBFX1JFVFVSTiBTT0NLRVQgV1NB QVBJCnwgI2RlZmluZSBBQ0NFUFRfVFlQRV9BUkcxIFNPQ0tFVAp8ICNkZWZpbmUgQUNDRVBUX1RZ UEVfQVJHMiBzdHJ1Y3Qgc29ja2FkZHIgKgp8ICNkZWZpbmUgQUNDRVBUX1RZUEVfQVJHMyBpbnQK fCAjZGVmaW5lIEhBVkVfQ0JSVCAxCnwgI2RlZmluZSBIQVZFX0NMT0NLX0dFVFRJTUUgMQp8ICNk ZWZpbmUgSEFWRV9NRU1NT1ZFIDEKfCAvKiBlbmQgY29uZmRlZnMuaC4gICovCnwgLyogRGVmaW5l IHBzdGF0IHRvIGFuIGlubm9jdW91cyB2YXJpYW50LCBpbiBjYXNlIDxsaW1pdHMuaD4gZGVjbGFy ZXMgcHN0YXQuCnwgICAgRm9yIGV4YW1wbGUsIEhQLVVYIDExaSA8bGltaXRzLmg+IGRlY2xhcmVz IGdldHRpbWVvZmRheS4gICovCnwgI2RlZmluZSBwc3RhdCBpbm5vY3VvdXNfcHN0YXQKfCAKfCAv KiBTeXN0ZW0gaGVhZGVyIHRvIGRlZmluZSBfX3N0dWIgbWFjcm9zIGFuZCBob3BlZnVsbHkgZmV3 IHByb3RvdHlwZXMsCnwgICAgIHdoaWNoIGNhbiBjb25mbGljdCB3aXRoIGNoYXIgcHN0YXQgKCk7 IGJlbG93Lgp8ICAgICBQcmVmZXIgPGxpbWl0cy5oPiB0byA8YXNzZXJ0Lmg+IGlmIF9fU1REQ19f IGlzIGRlZmluZWQsIHNpbmNlCnwgICAgIDxsaW1pdHMuaD4gZXhpc3RzIGV2ZW4gb24gZnJlZXN0 YW5kaW5nIGNvbXBpbGVycy4gICovCnwgCnwgI2lmZGVmIF9fU1REQ19fCnwgIyBpbmNsdWRlIDxs aW1pdHMuaD4KfCAjZWxzZQp8ICMgaW5jbHVkZSA8YXNzZXJ0Lmg+CnwgI2VuZGlmCnwgCnwgI3Vu ZGVmIHBzdGF0CnwgCnwgLyogT3ZlcnJpZGUgYW55IEdDQyBpbnRlcm5hbCBwcm90b3R5cGUgdG8g YXZvaWQgYW4gZXJyb3IuCnwgICAgVXNlIGNoYXIgYmVjYXVzZSBpbnQgbWlnaHQgbWF0Y2ggdGhl IHJldHVybiB0eXBlIG9mIGEgR0NDCnwgICAgYnVpbHRpbiBhbmQgdGhlbiBpdHMgYXJndW1lbnQg cHJvdG90eXBlIHdvdWxkIHN0aWxsIGFwcGx5LiAgKi8KfCAjaWZkZWYgX19jcGx1c3BsdXMKfCBl eHRlcm4gIkMiCnwgI2VuZGlmCnwgY2hhciBwc3RhdCAoKTsKfCAvKiBUaGUgR05VIEMgbGlicmFy eSBkZWZpbmVzIHRoaXMgZm9yIGZ1bmN0aW9ucyB3aGljaCBpdCBpbXBsZW1lbnRzCnwgICAgIHRv IGFsd2F5cyBmYWlsIHdpdGggRU5PU1lTLiAgU29tZSBmdW5jdGlvbnMgYXJlIGFjdHVhbGx5IG5h bWVkCnwgICAgIHNvbWV0aGluZyBzdGFydGluZyB3aXRoIF9fIGFuZCB0aGUgbm9ybWFsIG5hbWUg aXMgYW4gYWxpYXMuICAqLwp8ICNpZiBkZWZpbmVkIF9fc3R1Yl9wc3RhdCB8fCBkZWZpbmVkIF9f c3R1Yl9fX3BzdGF0CnwgY2hva2UgbWUKfCAjZW5kaWYKfCAKfCBpbnQKfCBtYWluICgpCnwgewp8 IHJldHVybiBwc3RhdCAoKTsKfCAgIDsKfCAgIHJldHVybiAwOwp8IH0KY29uZmlndXJlOjE0OTM1 OiByZXN1bHQ6IG5vCmNvbmZpZ3VyZToxNDkzNTogY2hlY2tpbmcgZm9yIHB0aHJlYWRfaXNfdGhy ZWFkZWRfbnAKY29uZmlndXJlOjE0OTM1OiB4ODZfNjQtdzY0LW1pbmd3MzItZ2NjIC1vIGNvbmZ0 ZXN0LmV4ZSAtV2FsbCAtV21pc3NpbmctcHJvdG90eXBlcyAtV3BvaW50ZXItYXJpdGggLVdkZWNs YXJhdGlvbi1hZnRlci1zdGF0ZW1lbnQgLVdlbmRpZi1sYWJlbHMgLVdtaXNzaW5nLWZvcm1hdC1h dHRyaWJ1dGUgLVdmb3JtYXQtc2VjdXJpdHkgLWZuby1zdHJpY3QtYWxpYXNpbmcgLWZ3cmFwdiAt ZmV4Y2Vzcy1wcmVjaXNpb249c3RhbmRhcmQgLVduby1mb3JtYXQtdHJ1bmNhdGlvbiAtV25vLXN0 cmluZ29wLXRydW5jYXRpb24gLWcgLU8gLWZuby1vbWl0LWZyYW1lLXBvaW50ZXIgIC1JL3cvUi0z LjUuXy9wb3N0Z3Jlcy9zcmMvaW5jbHVkZS9wb3J0L3dpbjMyIC1ERVhFQ19CQUNLRU5EICAtSS93 L3psaWItMS4yLjgtd2luMzIteDg2XzY0L2luY2x1ZGUgLUkvdy9vcGVuc3NsLTEuMC4yZS13aW4z Mi14ODZfNjQvaW5jbHVkZSAtSS93L2xpYnhtbDItMi45LjMtd2luMzIteDg2XzY0L2luY2x1ZGUv bGlieG1sMiAtSS93L2xpYnhzbHQtMS4xLjI4LXdpbjMyLXg4Nl82NC9pbmNsdWRlICAtV2wsLS1h bGxvdy1tdWx0aXBsZS1kZWZpbml0aW9uIC1XbCwtLWRpc2FibGUtYXV0by1pbXBvcnQgIC1ML3cv emxpYi0xLjIuOC13aW4zMi14ODZfNjQvbGliIC1ML3cvb3BlbnNzbC0xLjAuMmUtd2luMzIteDg2 XzY0L2xpYiAtTC93L2xpYnhtbDItMi45LjMtd2luMzIteDg2XzY0L2xpYiAtTC93L2xpYnhzbHQt MS4xLjI4LXdpbjMyLXg4Nl82NC9saWIgY29uZnRlc3QuYyAtbHhzbHQgLWx4bWwyIC1sc3NsIC1s Y3J5cHRvIC1seiAtbHdzMl8zMiAtbG0gID4mNQpDOi9tc3lzNjQvbWluZ3c2NC9iaW4vLi4vbGli L2djYy94ODZfNjQtdzY0LW1pbmd3MzIvOC4yLjAvLi4vLi4vLi4vLi4veDg2XzY0LXc2NC1taW5n dzMyL2Jpbi9sZC5leGU6IEM6XG1zeXM2NFx0bXBcY2MycnBGTk4ubzogaW4gZnVuY3Rpb24gYG1h aW4nOg0KVzpcUi0zLjUuX1xwb3N0Z3Jlc1xidWlsZC9jb25mdGVzdC5jOjExODogdW5kZWZpbmVk IHJlZmVyZW5jZSB0byBgcHRocmVhZF9pc190aHJlYWRlZF9ucCcNCmNvbGxlY3QyLmV4ZTogZXJy b3I6IGxkIHJldHVybmVkIDEgZXhpdCBzdGF0dXMKY29uZmlndXJlOjE0OTM1OiAkPyA9IDEKY29u ZmlndXJlOiBmYWlsZWQgcHJvZ3JhbSB3YXM6CnwgLyogY29uZmRlZnMuaCAqLwp8ICNkZWZpbmUg UEFDS0FHRV9OQU1FICJQb3N0Z3JlU1FMIgp8ICNkZWZpbmUgUEFDS0FHRV9UQVJOQU1FICJwb3N0 Z3Jlc3FsIgp8ICNkZWZpbmUgUEFDS0FHRV9WRVJTSU9OICIxMWJldGEzIgp8ICNkZWZpbmUgUEFD S0FHRV9TVFJJTkcgIlBvc3RncmVTUUwgMTFiZXRhMyIKfCAjZGVmaW5lIFBBQ0tBR0VfQlVHUkVQ T1JUICJwZ3NxbC1idWdzQHBvc3RncmVzcWwub3JnIgp8ICNkZWZpbmUgUEFDS0FHRV9VUkwgIiIK fCAjZGVmaW5lIFBHX01BSk9SVkVSU0lPTiAiMTEiCnwgI2RlZmluZSBQR19WRVJTSU9OICIxMWJl dGEzIgp8ICNkZWZpbmUgREVGX1BHUE9SVCA1NDMyCnwgI2RlZmluZSBERUZfUEdQT1JUX1NUUiAi NTQzMiIKfCAjZGVmaW5lIEJMQ0tTWiA4MTkyCnwgI2RlZmluZSBSRUxTRUdfU0laRSAxMzEwNzIK fCAjZGVmaW5lIFhMT0dfQkxDS1NaIDgxOTIKfCAjZGVmaW5lIFVTRV9BU1NFUlRfQ0hFQ0tJTkcg MQp8ICNkZWZpbmUgRU5BQkxFX1RIUkVBRF9TQUZFVFkgMQp8ICNkZWZpbmUgVVNFX0lDVSAxCnwg I2RlZmluZSBQR19LUkJfU1JWTkFNICJwb3N0Z3JlcyIKfCAjZGVmaW5lIFVTRV9PUEVOU1NMIDEK fCAjZGVmaW5lIFVTRV9MSUJYTUwgMQp8ICNkZWZpbmUgVVNFX0xJQlhTTFQgMQp8ICNkZWZpbmUg U1REQ19IRUFERVJTIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1RZUEVTX0ggMQp8ICNkZWZpbmUgSEFW RV9TWVNfU1RBVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1RETElCX0ggMQp8ICNkZWZpbmUgSEFWRV9T VFJJTkdfSCAxCnwgI2RlZmluZSBIQVZFX01FTU9SWV9IIDEKfCAjZGVmaW5lIEhBVkVfU1RSSU5H U19IIDEKfCAjZGVmaW5lIEhBVkVfSU5UVFlQRVNfSCAxCnwgI2RlZmluZSBIQVZFX1NURElOVF9I IDEKfCAjZGVmaW5lIEhBVkVfVU5JU1REX0ggMQp8ICNkZWZpbmUgSEFWRV9MSUJNIDEKfCAjZGVm aW5lIEhBVkVfTElCWiAxCnwgI2RlZmluZSBIQVZFX1NQSU5MT0NLUyAxCnwgI2RlZmluZSBIQVZF X0FUT01JQ1MgMQp8ICNkZWZpbmUgSEFWRV9TU0xfR0VUX0NVUlJFTlRfQ09NUFJFU1NJT04gMQp8 ICNkZWZpbmUgSEFWRV9YNTA5X0dFVF9TSUdOQVRVUkVfTklEIDEKfCAjZGVmaW5lIEhBVkVfQ1JZ UFRPX0xPQ0sgMQp8ICNkZWZpbmUgSEFWRV9MSUJYTUwyIDEKfCAjZGVmaW5lIEhBVkVfTElCWFNM VCAxCnwgI2RlZmluZSBIQVZFX19CT09MIDEKfCAjZGVmaW5lIEhBVkVfU1REQk9PTF9IIDEKfCAj ZGVmaW5lIEhBVkVfR0VUT1BUX0ggMQp8ICNkZWZpbmUgSEFWRV9JRUVFRlBfSCAxCnwgI2RlZmlu ZSBIQVZFX1VUSU1FX0ggMQp8ICNkZWZpbmUgSEFWRV9XQ0hBUl9IIDEKfCAjZGVmaW5lIEhBVkVf V0NUWVBFX0ggMQp8ICNkZWZpbmUgSEFWRV9DUlRERUZTX0ggMQp8ICNkZWZpbmUgUEdfUFJJTlRG X0FUVFJJQlVURSBnbnVfcHJpbnRmCnwgI2RlZmluZSBGTEVYSUJMRV9BUlJBWV9NRU1CRVIgLyoq Lwp8ICNkZWZpbmUgSEFWRV9GVU5DTkFNRV9fRlVOQyAxCnwgI2RlZmluZSBIQVZFX19TVEFUSUNf QVNTRVJUIDEKfCAjZGVmaW5lIEhBVkVfVFlQRU9GIDEKfCAjZGVmaW5lIEhBVkVfX0JVSUxUSU5f VFlQRVNfQ09NUEFUSUJMRV9QIDEKfCAjZGVmaW5lIEhBVkVfX0JVSUxUSU5fQlNXQVAxNiAxCnwg I2RlZmluZSBIQVZFX19CVUlMVElOX0JTV0FQMzIgMQp8ICNkZWZpbmUgSEFWRV9fQlVJTFRJTl9C U1dBUDY0IDEKfCAjZGVmaW5lIEhBVkVfX0JVSUxUSU5fQ09OU1RBTlRfUCAxCnwgI2RlZmluZSBI QVZFX19CVUlMVElOX1VOUkVBQ0hBQkxFIDEKfCAjZGVmaW5lIEhBVkVfQ09NUFVURURfR09UTyAx CnwgI2RlZmluZSBIQVZFX19WQV9BUkdTIDEKfCAjZGVmaW5lIEhBVkVfVFpOQU1FIDEKfCAjZGVm aW5lIEhBVkVfU1RSVUNUX1NPQ0tBRERSX1NUT1JBR0UgMQp8ICNkZWZpbmUgSEFWRV9TVFJVQ1Rf U09DS0FERFJfU1RPUkFHRV9TU19GQU1JTFkgMQp8ICNkZWZpbmUgSEFWRV9TVFJVQ1RfQUREUklO Rk8gMQp8ICNkZWZpbmUgSEFWRV9JTlRQVFJfVCAxCnwgI2RlZmluZSBIQVZFX1VJTlRQVFJfVCAx CnwgI2RlZmluZSBIQVZFX1VOU0lHTkVEX0xPTkdfTE9OR19JTlQgMQp8ICNkZWZpbmUgSEFWRV9M T05HX0xPTkdfSU5UIDEKfCAjZGVmaW5lIHJlc3RyaWN0IF9fcmVzdHJpY3QKfCAjZGVmaW5lIHBn X3Jlc3RyaWN0IF9fcmVzdHJpY3QKfCAjZGVmaW5lIEhBVkVfU1RSVUNUX09QVElPTiAxCnwgI2Rl ZmluZSBTSVpFT0ZfT0ZGX1QgNAp8ICNkZWZpbmUgU0laRU9GX0JPT0wgMQp8ICNkZWZpbmUgSEFW RV9JTlRfVElNRVpPTkUgMQp8ICNkZWZpbmUgQUNDRVBUX1RZUEVfUkVUVVJOIFNPQ0tFVCBXU0FB UEkKfCAjZGVmaW5lIEFDQ0VQVF9UWVBFX0FSRzEgU09DS0VUCnwgI2RlZmluZSBBQ0NFUFRfVFlQ RV9BUkcyIHN0cnVjdCBzb2NrYWRkciAqCnwgI2RlZmluZSBBQ0NFUFRfVFlQRV9BUkczIGludAp8 ICNkZWZpbmUgSEFWRV9DQlJUIDEKfCAjZGVmaW5lIEhBVkVfQ0xPQ0tfR0VUVElNRSAxCnwgI2Rl ZmluZSBIQVZFX01FTU1PVkUgMQp8IC8qIGVuZCBjb25mZGVmcy5oLiAgKi8KfCAvKiBEZWZpbmUg cHRocmVhZF9pc190aHJlYWRlZF9ucCB0byBhbiBpbm5vY3VvdXMgdmFyaWFudCwgaW4gY2FzZSA8 bGltaXRzLmg+IGRlY2xhcmVzIHB0aHJlYWRfaXNfdGhyZWFkZWRfbnAuCnwgICAgRm9yIGV4YW1w bGUsIEhQLVVYIDExaSA8bGltaXRzLmg+IGRlY2xhcmVzIGdldHRpbWVvZmRheS4gICovCnwgI2Rl ZmluZSBwdGhyZWFkX2lzX3RocmVhZGVkX25wIGlubm9jdW91c19wdGhyZWFkX2lzX3RocmVhZGVk X25wCnwgCnwgLyogU3lzdGVtIGhlYWRlciB0byBkZWZpbmUgX19zdHViIG1hY3JvcyBhbmQgaG9w ZWZ1bGx5IGZldyBwcm90b3R5cGVzLAp8ICAgICB3aGljaCBjYW4gY29uZmxpY3Qgd2l0aCBjaGFy IHB0aHJlYWRfaXNfdGhyZWFkZWRfbnAgKCk7IGJlbG93Lgp8ICAgICBQcmVmZXIgPGxpbWl0cy5o PiB0byA8YXNzZXJ0Lmg+IGlmIF9fU1REQ19fIGlzIGRlZmluZWQsIHNpbmNlCnwgICAgIDxsaW1p dHMuaD4gZXhpc3RzIGV2ZW4gb24gZnJlZXN0YW5kaW5nIGNvbXBpbGVycy4gICovCnwgCnwgI2lm ZGVmIF9fU1REQ19fCnwgIyBpbmNsdWRlIDxsaW1pdHMuaD4KfCAjZWxzZQp8ICMgaW5jbHVkZSA8 YXNzZXJ0Lmg+CnwgI2VuZGlmCnwgCnwgI3VuZGVmIHB0aHJlYWRfaXNfdGhyZWFkZWRfbnAKfCAK fCAvKiBPdmVycmlkZSBhbnkgR0NDIGludGVybmFsIHByb3RvdHlwZSB0byBhdm9pZCBhbiBlcnJv ci4KfCAgICBVc2UgY2hhciBiZWNhdXNlIGludCBtaWdodCBtYXRjaCB0aGUgcmV0dXJuIHR5cGUg b2YgYSBHQ0MKfCAgICBidWlsdGluIGFuZCB0aGVuIGl0cyBhcmd1bWVudCBwcm90b3R5cGUgd291 bGQgc3RpbGwgYXBwbHkuICAqLwp8ICNpZmRlZiBfX2NwbHVzcGx1cwp8IGV4dGVybiAiQyIKfCAj ZW5kaWYKfCBjaGFyIHB0aHJlYWRfaXNfdGhyZWFkZWRfbnAgKCk7CnwgLyogVGhlIEdOVSBDIGxp YnJhcnkgZGVmaW5lcyB0aGlzIGZvciBmdW5jdGlvbnMgd2hpY2ggaXQgaW1wbGVtZW50cwp8ICAg ICB0byBhbHdheXMgZmFpbCB3aXRoIEVOT1NZUy4gIFNvbWUgZnVuY3Rpb25zIGFyZSBhY3R1YWxs eSBuYW1lZAp8ICAgICBzb21ldGhpbmcgc3RhcnRpbmcgd2l0aCBfXyBhbmQgdGhlIG5vcm1hbCBu YW1lIGlzIGFuIGFsaWFzLiAgKi8KfCAjaWYgZGVmaW5lZCBfX3N0dWJfcHRocmVhZF9pc190aHJl YWRlZF9ucCB8fCBkZWZpbmVkIF9fc3R1Yl9fX3B0aHJlYWRfaXNfdGhyZWFkZWRfbnAKfCBjaG9r ZSBtZQp8ICNlbmRpZgp8IAp8IGludAp8IG1haW4gKCkKfCB7CnwgcmV0dXJuIHB0aHJlYWRfaXNf dGhyZWFkZWRfbnAgKCk7CnwgICA7CnwgICByZXR1cm4gMDsKfCB9CmNvbmZpZ3VyZToxNDkzNTog cmVzdWx0OiBubwpjb25maWd1cmU6MTQ5MzU6IGNoZWNraW5nIGZvciByZWFkbGluawpjb25maWd1 cmU6MTQ5MzU6IHg4Nl82NC13NjQtbWluZ3czMi1nY2MgLW8gY29uZnRlc3QuZXhlIC1XYWxsIC1X bWlzc2luZy1wcm90b3R5cGVzIC1XcG9pbnRlci1hcml0aCAtV2RlY2xhcmF0aW9uLWFmdGVyLXN0 YXRlbWVudCAtV2VuZGlmLWxhYmVscyAtV21pc3NpbmctZm9ybWF0LWF0dHJpYnV0ZSAtV2Zvcm1h dC1zZWN1cml0eSAtZm5vLXN0cmljdC1hbGlhc2luZyAtZndyYXB2IC1mZXhjZXNzLXByZWNpc2lv bj1zdGFuZGFyZCAtV25vLWZvcm1hdC10cnVuY2F0aW9uIC1Xbm8tc3RyaW5nb3AtdHJ1bmNhdGlv biAtZyAtTyAtZm5vLW9taXQtZnJhbWUtcG9pbnRlciAgLUkvdy9SLTMuNS5fL3Bvc3RncmVzL3Ny Yy9pbmNsdWRlL3BvcnQvd2luMzIgLURFWEVDX0JBQ0tFTkQgIC1JL3cvemxpYi0xLjIuOC13aW4z Mi14ODZfNjQvaW5jbHVkZSAtSS93L29wZW5zc2wtMS4wLjJlLXdpbjMyLXg4Nl82NC9pbmNsdWRl IC1JL3cvbGlieG1sMi0yLjkuMy13aW4zMi14ODZfNjQvaW5jbHVkZS9saWJ4bWwyIC1JL3cvbGli eHNsdC0xLjEuMjgtd2luMzIteDg2XzY0L2luY2x1ZGUgIC1XbCwtLWFsbG93LW11bHRpcGxlLWRl ZmluaXRpb24gLVdsLC0tZGlzYWJsZS1hdXRvLWltcG9ydCAgLUwvdy96bGliLTEuMi44LXdpbjMy LXg4Nl82NC9saWIgLUwvdy9vcGVuc3NsLTEuMC4yZS13aW4zMi14ODZfNjQvbGliIC1ML3cvbGli eG1sMi0yLjkuMy13aW4zMi14ODZfNjQvbGliIC1ML3cvbGlieHNsdC0xLjEuMjgtd2luMzIteDg2 XzY0L2xpYiBjb25mdGVzdC5jIC1seHNsdCAtbHhtbDIgLWxzc2wgLWxjcnlwdG8gLWx6IC1sd3My XzMyIC1sbSAgPiY1CkM6L21zeXM2NC9taW5ndzY0L2Jpbi8uLi9saWIvZ2NjL3g4Nl82NC13NjQt bWluZ3czMi84LjIuMC8uLi8uLi8uLi8uLi94ODZfNjQtdzY0LW1pbmd3MzIvYmluL2xkLmV4ZTog QzpcbXN5czY0XHRtcFxjY3V0eGtISy5vOiBpbiBmdW5jdGlvbiBgbWFpbic6DQpXOlxSLTMuNS5f XHBvc3RncmVzXGJ1aWxkL2NvbmZ0ZXN0LmM6MTE4OiB1bmRlZmluZWQgcmVmZXJlbmNlIHRvIGBy ZWFkbGluaycNCmNvbGxlY3QyLmV4ZTogZXJyb3I6IGxkIHJldHVybmVkIDEgZXhpdCBzdGF0dXMK Y29uZmlndXJlOjE0OTM1OiAkPyA9IDEKY29uZmlndXJlOiBmYWlsZWQgcHJvZ3JhbSB3YXM6Cnwg LyogY29uZmRlZnMuaCAqLwp8ICNkZWZpbmUgUEFDS0FHRV9OQU1FICJQb3N0Z3JlU1FMIgp8ICNk ZWZpbmUgUEFDS0FHRV9UQVJOQU1FICJwb3N0Z3Jlc3FsIgp8ICNkZWZpbmUgUEFDS0FHRV9WRVJT SU9OICIxMWJldGEzIgp8ICNkZWZpbmUgUEFDS0FHRV9TVFJJTkcgIlBvc3RncmVTUUwgMTFiZXRh MyIKfCAjZGVmaW5lIFBBQ0tBR0VfQlVHUkVQT1JUICJwZ3NxbC1idWdzQHBvc3RncmVzcWwub3Jn Igp8ICNkZWZpbmUgUEFDS0FHRV9VUkwgIiIKfCAjZGVmaW5lIFBHX01BSk9SVkVSU0lPTiAiMTEi CnwgI2RlZmluZSBQR19WRVJTSU9OICIxMWJldGEzIgp8ICNkZWZpbmUgREVGX1BHUE9SVCA1NDMy CnwgI2RlZmluZSBERUZfUEdQT1JUX1NUUiAiNTQzMiIKfCAjZGVmaW5lIEJMQ0tTWiA4MTkyCnwg I2RlZmluZSBSRUxTRUdfU0laRSAxMzEwNzIKfCAjZGVmaW5lIFhMT0dfQkxDS1NaIDgxOTIKfCAj ZGVmaW5lIFVTRV9BU1NFUlRfQ0hFQ0tJTkcgMQp8ICNkZWZpbmUgRU5BQkxFX1RIUkVBRF9TQUZF VFkgMQp8ICNkZWZpbmUgVVNFX0lDVSAxCnwgI2RlZmluZSBQR19LUkJfU1JWTkFNICJwb3N0Z3Jl cyIKfCAjZGVmaW5lIFVTRV9PUEVOU1NMIDEKfCAjZGVmaW5lIFVTRV9MSUJYTUwgMQp8ICNkZWZp bmUgVVNFX0xJQlhTTFQgMQp8ICNkZWZpbmUgU1REQ19IRUFERVJTIDEKfCAjZGVmaW5lIEhBVkVf U1lTX1RZUEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfU1RBVF9IIDEKfCAjZGVmaW5lIEhBVkVf U1RETElCX0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJJTkdfSCAxCnwgI2RlZmluZSBIQVZFX01FTU9S WV9IIDEKfCAjZGVmaW5lIEhBVkVfU1RSSU5HU19IIDEKfCAjZGVmaW5lIEhBVkVfSU5UVFlQRVNf SCAxCnwgI2RlZmluZSBIQVZFX1NURElOVF9IIDEKfCAjZGVmaW5lIEhBVkVfVU5JU1REX0ggMQp8 ICNkZWZpbmUgSEFWRV9MSUJNIDEKfCAjZGVmaW5lIEhBVkVfTElCWiAxCnwgI2RlZmluZSBIQVZF X1NQSU5MT0NLUyAxCnwgI2RlZmluZSBIQVZFX0FUT01JQ1MgMQp8ICNkZWZpbmUgSEFWRV9TU0xf R0VUX0NVUlJFTlRfQ09NUFJFU1NJT04gMQp8ICNkZWZpbmUgSEFWRV9YNTA5X0dFVF9TSUdOQVRV UkVfTklEIDEKfCAjZGVmaW5lIEhBVkVfQ1JZUFRPX0xPQ0sgMQp8ICNkZWZpbmUgSEFWRV9MSUJY TUwyIDEKfCAjZGVmaW5lIEhBVkVfTElCWFNMVCAxCnwgI2RlZmluZSBIQVZFX19CT09MIDEKfCAj ZGVmaW5lIEhBVkVfU1REQk9PTF9IIDEKfCAjZGVmaW5lIEhBVkVfR0VUT1BUX0ggMQp8ICNkZWZp bmUgSEFWRV9JRUVFRlBfSCAxCnwgI2RlZmluZSBIQVZFX1VUSU1FX0ggMQp8ICNkZWZpbmUgSEFW RV9XQ0hBUl9IIDEKfCAjZGVmaW5lIEhBVkVfV0NUWVBFX0ggMQp8ICNkZWZpbmUgSEFWRV9DUlRE RUZTX0ggMQp8ICNkZWZpbmUgUEdfUFJJTlRGX0FUVFJJQlVURSBnbnVfcHJpbnRmCnwgI2RlZmlu ZSBGTEVYSUJMRV9BUlJBWV9NRU1CRVIgLyoqLwp8ICNkZWZpbmUgSEFWRV9GVU5DTkFNRV9fRlVO QyAxCnwgI2RlZmluZSBIQVZFX19TVEFUSUNfQVNTRVJUIDEKfCAjZGVmaW5lIEhBVkVfVFlQRU9G IDEKfCAjZGVmaW5lIEhBVkVfX0JVSUxUSU5fVFlQRVNfQ09NUEFUSUJMRV9QIDEKfCAjZGVmaW5l IEhBVkVfX0JVSUxUSU5fQlNXQVAxNiAxCnwgI2RlZmluZSBIQVZFX19CVUlMVElOX0JTV0FQMzIg MQp8ICNkZWZpbmUgSEFWRV9fQlVJTFRJTl9CU1dBUDY0IDEKfCAjZGVmaW5lIEhBVkVfX0JVSUxU SU5fQ09OU1RBTlRfUCAxCnwgI2RlZmluZSBIQVZFX19CVUlMVElOX1VOUkVBQ0hBQkxFIDEKfCAj ZGVmaW5lIEhBVkVfQ09NUFVURURfR09UTyAxCnwgI2RlZmluZSBIQVZFX19WQV9BUkdTIDEKfCAj ZGVmaW5lIEhBVkVfVFpOQU1FIDEKfCAjZGVmaW5lIEhBVkVfU1RSVUNUX1NPQ0tBRERSX1NUT1JB R0UgMQp8ICNkZWZpbmUgSEFWRV9TVFJVQ1RfU09DS0FERFJfU1RPUkFHRV9TU19GQU1JTFkgMQp8 ICNkZWZpbmUgSEFWRV9TVFJVQ1RfQUREUklORk8gMQp8ICNkZWZpbmUgSEFWRV9JTlRQVFJfVCAx CnwgI2RlZmluZSBIQVZFX1VJTlRQVFJfVCAxCnwgI2RlZmluZSBIQVZFX1VOU0lHTkVEX0xPTkdf TE9OR19JTlQgMQp8ICNkZWZpbmUgSEFWRV9MT05HX0xPTkdfSU5UIDEKfCAjZGVmaW5lIHJlc3Ry aWN0IF9fcmVzdHJpY3QKfCAjZGVmaW5lIHBnX3Jlc3RyaWN0IF9fcmVzdHJpY3QKfCAjZGVmaW5l IEhBVkVfU1RSVUNUX09QVElPTiAxCnwgI2RlZmluZSBTSVpFT0ZfT0ZGX1QgNAp8ICNkZWZpbmUg U0laRU9GX0JPT0wgMQp8ICNkZWZpbmUgSEFWRV9JTlRfVElNRVpPTkUgMQp8ICNkZWZpbmUgQUND RVBUX1RZUEVfUkVUVVJOIFNPQ0tFVCBXU0FBUEkKfCAjZGVmaW5lIEFDQ0VQVF9UWVBFX0FSRzEg U09DS0VUCnwgI2RlZmluZSBBQ0NFUFRfVFlQRV9BUkcyIHN0cnVjdCBzb2NrYWRkciAqCnwgI2Rl ZmluZSBBQ0NFUFRfVFlQRV9BUkczIGludAp8ICNkZWZpbmUgSEFWRV9DQlJUIDEKfCAjZGVmaW5l IEhBVkVfQ0xPQ0tfR0VUVElNRSAxCnwgI2RlZmluZSBIQVZFX01FTU1PVkUgMQp8IC8qIGVuZCBj b25mZGVmcy5oLiAgKi8KfCAvKiBEZWZpbmUgcmVhZGxpbmsgdG8gYW4gaW5ub2N1b3VzIHZhcmlh bnQsIGluIGNhc2UgPGxpbWl0cy5oPiBkZWNsYXJlcyByZWFkbGluay4KfCAgICBGb3IgZXhhbXBs ZSwgSFAtVVggMTFpIDxsaW1pdHMuaD4gZGVjbGFyZXMgZ2V0dGltZW9mZGF5LiAgKi8KfCAjZGVm aW5lIHJlYWRsaW5rIGlubm9jdW91c19yZWFkbGluawp8IAp8IC8qIFN5c3RlbSBoZWFkZXIgdG8g ZGVmaW5lIF9fc3R1YiBtYWNyb3MgYW5kIGhvcGVmdWxseSBmZXcgcHJvdG90eXBlcywKfCAgICAg d2hpY2ggY2FuIGNvbmZsaWN0IHdpdGggY2hhciByZWFkbGluayAoKTsgYmVsb3cuCnwgICAgIFBy ZWZlciA8bGltaXRzLmg+IHRvIDxhc3NlcnQuaD4gaWYgX19TVERDX18gaXMgZGVmaW5lZCwgc2lu Y2UKfCAgICAgPGxpbWl0cy5oPiBleGlzdHMgZXZlbiBvbiBmcmVlc3RhbmRpbmcgY29tcGlsZXJz LiAgKi8KfCAKfCAjaWZkZWYgX19TVERDX18KfCAjIGluY2x1ZGUgPGxpbWl0cy5oPgp8ICNlbHNl CnwgIyBpbmNsdWRlIDxhc3NlcnQuaD4KfCAjZW5kaWYKfCAKfCAjdW5kZWYgcmVhZGxpbmsKfCAK fCAvKiBPdmVycmlkZSBhbnkgR0NDIGludGVybmFsIHByb3RvdHlwZSB0byBhdm9pZCBhbiBlcnJv ci4KfCAgICBVc2UgY2hhciBiZWNhdXNlIGludCBtaWdodCBtYXRjaCB0aGUgcmV0dXJuIHR5cGUg b2YgYSBHQ0MKfCAgICBidWlsdGluIGFuZCB0aGVuIGl0cyBhcmd1bWVudCBwcm90b3R5cGUgd291 bGQgc3RpbGwgYXBwbHkuICAqLwp8ICNpZmRlZiBfX2NwbHVzcGx1cwp8IGV4dGVybiAiQyIKfCAj ZW5kaWYKfCBjaGFyIHJlYWRsaW5rICgpOwp8IC8qIFRoZSBHTlUgQyBsaWJyYXJ5IGRlZmluZXMg dGhpcyBmb3IgZnVuY3Rpb25zIHdoaWNoIGl0IGltcGxlbWVudHMKfCAgICAgdG8gYWx3YXlzIGZh aWwgd2l0aCBFTk9TWVMuICBTb21lIGZ1bmN0aW9ucyBhcmUgYWN0dWFsbHkgbmFtZWQKfCAgICAg c29tZXRoaW5nIHN0YXJ0aW5nIHdpdGggX18gYW5kIHRoZSBub3JtYWwgbmFtZSBpcyBhbiBhbGlh cy4gICovCnwgI2lmIGRlZmluZWQgX19zdHViX3JlYWRsaW5rIHx8IGRlZmluZWQgX19zdHViX19f cmVhZGxpbmsKfCBjaG9rZSBtZQp8ICNlbmRpZgp8IAp8IGludAp8IG1haW4gKCkKfCB7CnwgcmV0 dXJuIHJlYWRsaW5rICgpOwp8ICAgOwp8ICAgcmV0dXJuIDA7CnwgfQpjb25maWd1cmU6MTQ5MzU6 IHJlc3VsdDogbm8KY29uZmlndXJlOjE0OTM1OiBjaGVja2luZyBmb3Igc2V0cHJvY3RpdGxlCmNv bmZpZ3VyZToxNDkzNTogeDg2XzY0LXc2NC1taW5ndzMyLWdjYyAtbyBjb25mdGVzdC5leGUgLVdh bGwgLVdtaXNzaW5nLXByb3RvdHlwZXMgLVdwb2ludGVyLWFyaXRoIC1XZGVjbGFyYXRpb24tYWZ0 ZXItc3RhdGVtZW50IC1XZW5kaWYtbGFiZWxzIC1XbWlzc2luZy1mb3JtYXQtYXR0cmlidXRlIC1X Zm9ybWF0LXNlY3VyaXR5IC1mbm8tc3RyaWN0LWFsaWFzaW5nIC1md3JhcHYgLWZleGNlc3MtcHJl Y2lzaW9uPXN0YW5kYXJkIC1Xbm8tZm9ybWF0LXRydW5jYXRpb24gLVduby1zdHJpbmdvcC10cnVu Y2F0aW9uIC1nIC1PIC1mbm8tb21pdC1mcmFtZS1wb2ludGVyICAtSS93L1ItMy41Ll8vcG9zdGdy ZXMvc3JjL2luY2x1ZGUvcG9ydC93aW4zMiAtREVYRUNfQkFDS0VORCAgLUkvdy96bGliLTEuMi44 LXdpbjMyLXg4Nl82NC9pbmNsdWRlIC1JL3cvb3BlbnNzbC0xLjAuMmUtd2luMzIteDg2XzY0L2lu Y2x1ZGUgLUkvdy9saWJ4bWwyLTIuOS4zLXdpbjMyLXg4Nl82NC9pbmNsdWRlL2xpYnhtbDIgLUkv dy9saWJ4c2x0LTEuMS4yOC13aW4zMi14ODZfNjQvaW5jbHVkZSAgLVdsLC0tYWxsb3ctbXVsdGlw bGUtZGVmaW5pdGlvbiAtV2wsLS1kaXNhYmxlLWF1dG8taW1wb3J0ICAtTC93L3psaWItMS4yLjgt d2luMzIteDg2XzY0L2xpYiAtTC93L29wZW5zc2wtMS4wLjJlLXdpbjMyLXg4Nl82NC9saWIgLUwv dy9saWJ4bWwyLTIuOS4zLXdpbjMyLXg4Nl82NC9saWIgLUwvdy9saWJ4c2x0LTEuMS4yOC13aW4z Mi14ODZfNjQvbGliIGNvbmZ0ZXN0LmMgLWx4c2x0IC1seG1sMiAtbHNzbCAtbGNyeXB0byAtbHog LWx3czJfMzIgLWxtICA+JjUKQzovbXN5czY0L21pbmd3NjQvYmluLy4uL2xpYi9nY2MveDg2XzY0 LXc2NC1taW5ndzMyLzguMi4wLy4uLy4uLy4uLy4uL3g4Nl82NC13NjQtbWluZ3czMi9iaW4vbGQu ZXhlOiBDOlxtc3lzNjRcdG1wXGNjTWhmSDhILm86IGluIGZ1bmN0aW9uIGBtYWluJzoNClc6XFIt My41Ll9ccG9zdGdyZXNcYnVpbGQvY29uZnRlc3QuYzoxMTg6IHVuZGVmaW5lZCByZWZlcmVuY2Ug dG8gYHNldHByb2N0aXRsZScNCmNvbGxlY3QyLmV4ZTogZXJyb3I6IGxkIHJldHVybmVkIDEgZXhp dCBzdGF0dXMKY29uZmlndXJlOjE0OTM1OiAkPyA9IDEKY29uZmlndXJlOiBmYWlsZWQgcHJvZ3Jh bSB3YXM6CnwgLyogY29uZmRlZnMuaCAqLwp8ICNkZWZpbmUgUEFDS0FHRV9OQU1FICJQb3N0Z3Jl U1FMIgp8ICNkZWZpbmUgUEFDS0FHRV9UQVJOQU1FICJwb3N0Z3Jlc3FsIgp8ICNkZWZpbmUgUEFD S0FHRV9WRVJTSU9OICIxMWJldGEzIgp8ICNkZWZpbmUgUEFDS0FHRV9TVFJJTkcgIlBvc3RncmVT UUwgMTFiZXRhMyIKfCAjZGVmaW5lIFBBQ0tBR0VfQlVHUkVQT1JUICJwZ3NxbC1idWdzQHBvc3Rn cmVzcWwub3JnIgp8ICNkZWZpbmUgUEFDS0FHRV9VUkwgIiIKfCAjZGVmaW5lIFBHX01BSk9SVkVS U0lPTiAiMTEiCnwgI2RlZmluZSBQR19WRVJTSU9OICIxMWJldGEzIgp8ICNkZWZpbmUgREVGX1BH UE9SVCA1NDMyCnwgI2RlZmluZSBERUZfUEdQT1JUX1NUUiAiNTQzMiIKfCAjZGVmaW5lIEJMQ0tT WiA4MTkyCnwgI2RlZmluZSBSRUxTRUdfU0laRSAxMzEwNzIKfCAjZGVmaW5lIFhMT0dfQkxDS1Na IDgxOTIKfCAjZGVmaW5lIFVTRV9BU1NFUlRfQ0hFQ0tJTkcgMQp8ICNkZWZpbmUgRU5BQkxFX1RI UkVBRF9TQUZFVFkgMQp8ICNkZWZpbmUgVVNFX0lDVSAxCnwgI2RlZmluZSBQR19LUkJfU1JWTkFN ICJwb3N0Z3JlcyIKfCAjZGVmaW5lIFVTRV9PUEVOU1NMIDEKfCAjZGVmaW5lIFVTRV9MSUJYTUwg MQp8ICNkZWZpbmUgVVNFX0xJQlhTTFQgMQp8ICNkZWZpbmUgU1REQ19IRUFERVJTIDEKfCAjZGVm aW5lIEhBVkVfU1lTX1RZUEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfU1RBVF9IIDEKfCAjZGVm aW5lIEhBVkVfU1RETElCX0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJJTkdfSCAxCnwgI2RlZmluZSBI QVZFX01FTU9SWV9IIDEKfCAjZGVmaW5lIEhBVkVfU1RSSU5HU19IIDEKfCAjZGVmaW5lIEhBVkVf SU5UVFlQRVNfSCAxCnwgI2RlZmluZSBIQVZFX1NURElOVF9IIDEKfCAjZGVmaW5lIEhBVkVfVU5J U1REX0ggMQp8ICNkZWZpbmUgSEFWRV9MSUJNIDEKfCAjZGVmaW5lIEhBVkVfTElCWiAxCnwgI2Rl ZmluZSBIQVZFX1NQSU5MT0NLUyAxCnwgI2RlZmluZSBIQVZFX0FUT01JQ1MgMQp8ICNkZWZpbmUg SEFWRV9TU0xfR0VUX0NVUlJFTlRfQ09NUFJFU1NJT04gMQp8ICNkZWZpbmUgSEFWRV9YNTA5X0dF VF9TSUdOQVRVUkVfTklEIDEKfCAjZGVmaW5lIEhBVkVfQ1JZUFRPX0xPQ0sgMQp8ICNkZWZpbmUg SEFWRV9MSUJYTUwyIDEKfCAjZGVmaW5lIEhBVkVfTElCWFNMVCAxCnwgI2RlZmluZSBIQVZFX19C T09MIDEKfCAjZGVmaW5lIEhBVkVfU1REQk9PTF9IIDEKfCAjZGVmaW5lIEhBVkVfR0VUT1BUX0gg MQp8ICNkZWZpbmUgSEFWRV9JRUVFRlBfSCAxCnwgI2RlZmluZSBIQVZFX1VUSU1FX0ggMQp8ICNk ZWZpbmUgSEFWRV9XQ0hBUl9IIDEKfCAjZGVmaW5lIEhBVkVfV0NUWVBFX0ggMQp8ICNkZWZpbmUg SEFWRV9DUlRERUZTX0ggMQp8ICNkZWZpbmUgUEdfUFJJTlRGX0FUVFJJQlVURSBnbnVfcHJpbnRm CnwgI2RlZmluZSBGTEVYSUJMRV9BUlJBWV9NRU1CRVIgLyoqLwp8ICNkZWZpbmUgSEFWRV9GVU5D TkFNRV9fRlVOQyAxCnwgI2RlZmluZSBIQVZFX19TVEFUSUNfQVNTRVJUIDEKfCAjZGVmaW5lIEhB VkVfVFlQRU9GIDEKfCAjZGVmaW5lIEhBVkVfX0JVSUxUSU5fVFlQRVNfQ09NUEFUSUJMRV9QIDEK fCAjZGVmaW5lIEhBVkVfX0JVSUxUSU5fQlNXQVAxNiAxCnwgI2RlZmluZSBIQVZFX19CVUlMVElO X0JTV0FQMzIgMQp8ICNkZWZpbmUgSEFWRV9fQlVJTFRJTl9CU1dBUDY0IDEKfCAjZGVmaW5lIEhB VkVfX0JVSUxUSU5fQ09OU1RBTlRfUCAxCnwgI2RlZmluZSBIQVZFX19CVUlMVElOX1VOUkVBQ0hB QkxFIDEKfCAjZGVmaW5lIEhBVkVfQ09NUFVURURfR09UTyAxCnwgI2RlZmluZSBIQVZFX19WQV9B UkdTIDEKfCAjZGVmaW5lIEhBVkVfVFpOQU1FIDEKfCAjZGVmaW5lIEhBVkVfU1RSVUNUX1NPQ0tB RERSX1NUT1JBR0UgMQp8ICNkZWZpbmUgSEFWRV9TVFJVQ1RfU09DS0FERFJfU1RPUkFHRV9TU19G QU1JTFkgMQp8ICNkZWZpbmUgSEFWRV9TVFJVQ1RfQUREUklORk8gMQp8ICNkZWZpbmUgSEFWRV9J TlRQVFJfVCAxCnwgI2RlZmluZSBIQVZFX1VJTlRQVFJfVCAxCnwgI2RlZmluZSBIQVZFX1VOU0lH TkVEX0xPTkdfTE9OR19JTlQgMQp8ICNkZWZpbmUgSEFWRV9MT05HX0xPTkdfSU5UIDEKfCAjZGVm aW5lIHJlc3RyaWN0IF9fcmVzdHJpY3QKfCAjZGVmaW5lIHBnX3Jlc3RyaWN0IF9fcmVzdHJpY3QK fCAjZGVmaW5lIEhBVkVfU1RSVUNUX09QVElPTiAxCnwgI2RlZmluZSBTSVpFT0ZfT0ZGX1QgNAp8 ICNkZWZpbmUgU0laRU9GX0JPT0wgMQp8ICNkZWZpbmUgSEFWRV9JTlRfVElNRVpPTkUgMQp8ICNk ZWZpbmUgQUNDRVBUX1RZUEVfUkVUVVJOIFNPQ0tFVCBXU0FBUEkKfCAjZGVmaW5lIEFDQ0VQVF9U WVBFX0FSRzEgU09DS0VUCnwgI2RlZmluZSBBQ0NFUFRfVFlQRV9BUkcyIHN0cnVjdCBzb2NrYWRk ciAqCnwgI2RlZmluZSBBQ0NFUFRfVFlQRV9BUkczIGludAp8ICNkZWZpbmUgSEFWRV9DQlJUIDEK fCAjZGVmaW5lIEhBVkVfQ0xPQ0tfR0VUVElNRSAxCnwgI2RlZmluZSBIQVZFX01FTU1PVkUgMQp8 IC8qIGVuZCBjb25mZGVmcy5oLiAgKi8KfCAvKiBEZWZpbmUgc2V0cHJvY3RpdGxlIHRvIGFuIGlu bm9jdW91cyB2YXJpYW50LCBpbiBjYXNlIDxsaW1pdHMuaD4gZGVjbGFyZXMgc2V0cHJvY3RpdGxl Lgp8ICAgIEZvciBleGFtcGxlLCBIUC1VWCAxMWkgPGxpbWl0cy5oPiBkZWNsYXJlcyBnZXR0aW1l b2ZkYXkuICAqLwp8ICNkZWZpbmUgc2V0cHJvY3RpdGxlIGlubm9jdW91c19zZXRwcm9jdGl0bGUK fCAKfCAvKiBTeXN0ZW0gaGVhZGVyIHRvIGRlZmluZSBfX3N0dWIgbWFjcm9zIGFuZCBob3BlZnVs bHkgZmV3IHByb3RvdHlwZXMsCnwgICAgIHdoaWNoIGNhbiBjb25mbGljdCB3aXRoIGNoYXIgc2V0 cHJvY3RpdGxlICgpOyBiZWxvdy4KfCAgICAgUHJlZmVyIDxsaW1pdHMuaD4gdG8gPGFzc2VydC5o PiBpZiBfX1NURENfXyBpcyBkZWZpbmVkLCBzaW5jZQp8ICAgICA8bGltaXRzLmg+IGV4aXN0cyBl dmVuIG9uIGZyZWVzdGFuZGluZyBjb21waWxlcnMuICAqLwp8IAp8ICNpZmRlZiBfX1NURENfXwp8 ICMgaW5jbHVkZSA8bGltaXRzLmg+CnwgI2Vsc2UKfCAjIGluY2x1ZGUgPGFzc2VydC5oPgp8ICNl bmRpZgp8IAp8ICN1bmRlZiBzZXRwcm9jdGl0bGUKfCAKfCAvKiBPdmVycmlkZSBhbnkgR0NDIGlu dGVybmFsIHByb3RvdHlwZSB0byBhdm9pZCBhbiBlcnJvci4KfCAgICBVc2UgY2hhciBiZWNhdXNl IGludCBtaWdodCBtYXRjaCB0aGUgcmV0dXJuIHR5cGUgb2YgYSBHQ0MKfCAgICBidWlsdGluIGFu ZCB0aGVuIGl0cyBhcmd1bWVudCBwcm90b3R5cGUgd291bGQgc3RpbGwgYXBwbHkuICAqLwp8ICNp ZmRlZiBfX2NwbHVzcGx1cwp8IGV4dGVybiAiQyIKfCAjZW5kaWYKfCBjaGFyIHNldHByb2N0aXRs ZSAoKTsKfCAvKiBUaGUgR05VIEMgbGlicmFyeSBkZWZpbmVzIHRoaXMgZm9yIGZ1bmN0aW9ucyB3 aGljaCBpdCBpbXBsZW1lbnRzCnwgICAgIHRvIGFsd2F5cyBmYWlsIHdpdGggRU5PU1lTLiAgU29t ZSBmdW5jdGlvbnMgYXJlIGFjdHVhbGx5IG5hbWVkCnwgICAgIHNvbWV0aGluZyBzdGFydGluZyB3 aXRoIF9fIGFuZCB0aGUgbm9ybWFsIG5hbWUgaXMgYW4gYWxpYXMuICAqLwp8ICNpZiBkZWZpbmVk IF9fc3R1Yl9zZXRwcm9jdGl0bGUgfHwgZGVmaW5lZCBfX3N0dWJfX19zZXRwcm9jdGl0bGUKfCBj aG9rZSBtZQp8ICNlbmRpZgp8IAp8IGludAp8IG1haW4gKCkKfCB7CnwgcmV0dXJuIHNldHByb2N0 aXRsZSAoKTsKfCAgIDsKfCAgIHJldHVybiAwOwp8IH0KY29uZmlndXJlOjE0OTM1OiByZXN1bHQ6 IG5vCmNvbmZpZ3VyZToxNDkzNTogY2hlY2tpbmcgZm9yIHNldHNpZApjb25maWd1cmU6MTQ5MzU6 IHg4Nl82NC13NjQtbWluZ3czMi1nY2MgLW8gY29uZnRlc3QuZXhlIC1XYWxsIC1XbWlzc2luZy1w cm90b3R5cGVzIC1XcG9pbnRlci1hcml0aCAtV2RlY2xhcmF0aW9uLWFmdGVyLXN0YXRlbWVudCAt V2VuZGlmLWxhYmVscyAtV21pc3NpbmctZm9ybWF0LWF0dHJpYnV0ZSAtV2Zvcm1hdC1zZWN1cml0 eSAtZm5vLXN0cmljdC1hbGlhc2luZyAtZndyYXB2IC1mZXhjZXNzLXByZWNpc2lvbj1zdGFuZGFy ZCAtV25vLWZvcm1hdC10cnVuY2F0aW9uIC1Xbm8tc3RyaW5nb3AtdHJ1bmNhdGlvbiAtZyAtTyAt Zm5vLW9taXQtZnJhbWUtcG9pbnRlciAgLUkvdy9SLTMuNS5fL3Bvc3RncmVzL3NyYy9pbmNsdWRl L3BvcnQvd2luMzIgLURFWEVDX0JBQ0tFTkQgIC1JL3cvemxpYi0xLjIuOC13aW4zMi14ODZfNjQv aW5jbHVkZSAtSS93L29wZW5zc2wtMS4wLjJlLXdpbjMyLXg4Nl82NC9pbmNsdWRlIC1JL3cvbGli eG1sMi0yLjkuMy13aW4zMi14ODZfNjQvaW5jbHVkZS9saWJ4bWwyIC1JL3cvbGlieHNsdC0xLjEu Mjgtd2luMzIteDg2XzY0L2luY2x1ZGUgIC1XbCwtLWFsbG93LW11bHRpcGxlLWRlZmluaXRpb24g LVdsLC0tZGlzYWJsZS1hdXRvLWltcG9ydCAgLUwvdy96bGliLTEuMi44LXdpbjMyLXg4Nl82NC9s aWIgLUwvdy9vcGVuc3NsLTEuMC4yZS13aW4zMi14ODZfNjQvbGliIC1ML3cvbGlieG1sMi0yLjku My13aW4zMi14ODZfNjQvbGliIC1ML3cvbGlieHNsdC0xLjEuMjgtd2luMzIteDg2XzY0L2xpYiBj b25mdGVzdC5jIC1seHNsdCAtbHhtbDIgLWxzc2wgLWxjcnlwdG8gLWx6IC1sd3MyXzMyIC1sbSAg PiY1CkM6L21zeXM2NC9taW5ndzY0L2Jpbi8uLi9saWIvZ2NjL3g4Nl82NC13NjQtbWluZ3czMi84 LjIuMC8uLi8uLi8uLi8uLi94ODZfNjQtdzY0LW1pbmd3MzIvYmluL2xkLmV4ZTogQzpcbXN5czY0 XHRtcFxjY0N2MVk1Qi5vOiBpbiBmdW5jdGlvbiBgbWFpbic6DQpXOlxSLTMuNS5fXHBvc3RncmVz XGJ1aWxkL2NvbmZ0ZXN0LmM6MTE4OiB1bmRlZmluZWQgcmVmZXJlbmNlIHRvIGBzZXRzaWQnDQpj b2xsZWN0Mi5leGU6IGVycm9yOiBsZCByZXR1cm5lZCAxIGV4aXQgc3RhdHVzCmNvbmZpZ3VyZTox NDkzNTogJD8gPSAxCmNvbmZpZ3VyZTogZmFpbGVkIHByb2dyYW0gd2FzOgp8IC8qIGNvbmZkZWZz LmggKi8KfCAjZGVmaW5lIFBBQ0tBR0VfTkFNRSAiUG9zdGdyZVNRTCIKfCAjZGVmaW5lIFBBQ0tB R0VfVEFSTkFNRSAicG9zdGdyZXNxbCIKfCAjZGVmaW5lIFBBQ0tBR0VfVkVSU0lPTiAiMTFiZXRh MyIKfCAjZGVmaW5lIFBBQ0tBR0VfU1RSSU5HICJQb3N0Z3JlU1FMIDExYmV0YTMiCnwgI2RlZmlu ZSBQQUNLQUdFX0JVR1JFUE9SVCAicGdzcWwtYnVnc0Bwb3N0Z3Jlc3FsLm9yZyIKfCAjZGVmaW5l IFBBQ0tBR0VfVVJMICIiCnwgI2RlZmluZSBQR19NQUpPUlZFUlNJT04gIjExIgp8ICNkZWZpbmUg UEdfVkVSU0lPTiAiMTFiZXRhMyIKfCAjZGVmaW5lIERFRl9QR1BPUlQgNTQzMgp8ICNkZWZpbmUg REVGX1BHUE9SVF9TVFIgIjU0MzIiCnwgI2RlZmluZSBCTENLU1ogODE5Mgp8ICNkZWZpbmUgUkVM U0VHX1NJWkUgMTMxMDcyCnwgI2RlZmluZSBYTE9HX0JMQ0tTWiA4MTkyCnwgI2RlZmluZSBVU0Vf QVNTRVJUX0NIRUNLSU5HIDEKfCAjZGVmaW5lIEVOQUJMRV9USFJFQURfU0FGRVRZIDEKfCAjZGVm aW5lIFVTRV9JQ1UgMQp8ICNkZWZpbmUgUEdfS1JCX1NSVk5BTSAicG9zdGdyZXMiCnwgI2RlZmlu ZSBVU0VfT1BFTlNTTCAxCnwgI2RlZmluZSBVU0VfTElCWE1MIDEKfCAjZGVmaW5lIFVTRV9MSUJY U0xUIDEKfCAjZGVmaW5lIFNURENfSEVBREVSUyAxCnwgI2RlZmluZSBIQVZFX1NZU19UWVBFU19I IDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NUQVRfSCAxCnwgI2RlZmluZSBIQVZFX1NURExJQl9IIDEK fCAjZGVmaW5lIEhBVkVfU1RSSU5HX0ggMQp8ICNkZWZpbmUgSEFWRV9NRU1PUllfSCAxCnwgI2Rl ZmluZSBIQVZFX1NUUklOR1NfSCAxCnwgI2RlZmluZSBIQVZFX0lOVFRZUEVTX0ggMQp8ICNkZWZp bmUgSEFWRV9TVERJTlRfSCAxCnwgI2RlZmluZSBIQVZFX1VOSVNURF9IIDEKfCAjZGVmaW5lIEhB VkVfTElCTSAxCnwgI2RlZmluZSBIQVZFX0xJQlogMQp8ICNkZWZpbmUgSEFWRV9TUElOTE9DS1Mg MQp8ICNkZWZpbmUgSEFWRV9BVE9NSUNTIDEKfCAjZGVmaW5lIEhBVkVfU1NMX0dFVF9DVVJSRU5U X0NPTVBSRVNTSU9OIDEKfCAjZGVmaW5lIEhBVkVfWDUwOV9HRVRfU0lHTkFUVVJFX05JRCAxCnwg I2RlZmluZSBIQVZFX0NSWVBUT19MT0NLIDEKfCAjZGVmaW5lIEhBVkVfTElCWE1MMiAxCnwgI2Rl ZmluZSBIQVZFX0xJQlhTTFQgMQp8ICNkZWZpbmUgSEFWRV9fQk9PTCAxCnwgI2RlZmluZSBIQVZF X1NUREJPT0xfSCAxCnwgI2RlZmluZSBIQVZFX0dFVE9QVF9IIDEKfCAjZGVmaW5lIEhBVkVfSUVF RUZQX0ggMQp8ICNkZWZpbmUgSEFWRV9VVElNRV9IIDEKfCAjZGVmaW5lIEhBVkVfV0NIQVJfSCAx CnwgI2RlZmluZSBIQVZFX1dDVFlQRV9IIDEKfCAjZGVmaW5lIEhBVkVfQ1JUREVGU19IIDEKfCAj ZGVmaW5lIFBHX1BSSU5URl9BVFRSSUJVVEUgZ251X3ByaW50Zgp8ICNkZWZpbmUgRkxFWElCTEVf QVJSQVlfTUVNQkVSIC8qKi8KfCAjZGVmaW5lIEhBVkVfRlVOQ05BTUVfX0ZVTkMgMQp8ICNkZWZp bmUgSEFWRV9fU1RBVElDX0FTU0VSVCAxCnwgI2RlZmluZSBIQVZFX1RZUEVPRiAxCnwgI2RlZmlu ZSBIQVZFX19CVUlMVElOX1RZUEVTX0NPTVBBVElCTEVfUCAxCnwgI2RlZmluZSBIQVZFX19CVUlM VElOX0JTV0FQMTYgMQp8ICNkZWZpbmUgSEFWRV9fQlVJTFRJTl9CU1dBUDMyIDEKfCAjZGVmaW5l IEhBVkVfX0JVSUxUSU5fQlNXQVA2NCAxCnwgI2RlZmluZSBIQVZFX19CVUlMVElOX0NPTlNUQU5U X1AgMQp8ICNkZWZpbmUgSEFWRV9fQlVJTFRJTl9VTlJFQUNIQUJMRSAxCnwgI2RlZmluZSBIQVZF X0NPTVBVVEVEX0dPVE8gMQp8ICNkZWZpbmUgSEFWRV9fVkFfQVJHUyAxCnwgI2RlZmluZSBIQVZF X1RaTkFNRSAxCnwgI2RlZmluZSBIQVZFX1NUUlVDVF9TT0NLQUREUl9TVE9SQUdFIDEKfCAjZGVm aW5lIEhBVkVfU1RSVUNUX1NPQ0tBRERSX1NUT1JBR0VfU1NfRkFNSUxZIDEKfCAjZGVmaW5lIEhB VkVfU1RSVUNUX0FERFJJTkZPIDEKfCAjZGVmaW5lIEhBVkVfSU5UUFRSX1QgMQp8ICNkZWZpbmUg SEFWRV9VSU5UUFRSX1QgMQp8ICNkZWZpbmUgSEFWRV9VTlNJR05FRF9MT05HX0xPTkdfSU5UIDEK fCAjZGVmaW5lIEhBVkVfTE9OR19MT05HX0lOVCAxCnwgI2RlZmluZSByZXN0cmljdCBfX3Jlc3Ry aWN0CnwgI2RlZmluZSBwZ19yZXN0cmljdCBfX3Jlc3RyaWN0CnwgI2RlZmluZSBIQVZFX1NUUlVD VF9PUFRJT04gMQp8ICNkZWZpbmUgU0laRU9GX09GRl9UIDQKfCAjZGVmaW5lIFNJWkVPRl9CT09M IDEKfCAjZGVmaW5lIEhBVkVfSU5UX1RJTUVaT05FIDEKfCAjZGVmaW5lIEFDQ0VQVF9UWVBFX1JF VFVSTiBTT0NLRVQgV1NBQVBJCnwgI2RlZmluZSBBQ0NFUFRfVFlQRV9BUkcxIFNPQ0tFVAp8ICNk ZWZpbmUgQUNDRVBUX1RZUEVfQVJHMiBzdHJ1Y3Qgc29ja2FkZHIgKgp8ICNkZWZpbmUgQUNDRVBU X1RZUEVfQVJHMyBpbnQKfCAjZGVmaW5lIEhBVkVfQ0JSVCAxCnwgI2RlZmluZSBIQVZFX0NMT0NL X0dFVFRJTUUgMQp8ICNkZWZpbmUgSEFWRV9NRU1NT1ZFIDEKfCAvKiBlbmQgY29uZmRlZnMuaC4g ICovCnwgLyogRGVmaW5lIHNldHNpZCB0byBhbiBpbm5vY3VvdXMgdmFyaWFudCwgaW4gY2FzZSA8 bGltaXRzLmg+IGRlY2xhcmVzIHNldHNpZC4KfCAgICBGb3IgZXhhbXBsZSwgSFAtVVggMTFpIDxs aW1pdHMuaD4gZGVjbGFyZXMgZ2V0dGltZW9mZGF5LiAgKi8KfCAjZGVmaW5lIHNldHNpZCBpbm5v Y3VvdXNfc2V0c2lkCnwgCnwgLyogU3lzdGVtIGhlYWRlciB0byBkZWZpbmUgX19zdHViIG1hY3Jv cyBhbmQgaG9wZWZ1bGx5IGZldyBwcm90b3R5cGVzLAp8ICAgICB3aGljaCBjYW4gY29uZmxpY3Qg d2l0aCBjaGFyIHNldHNpZCAoKTsgYmVsb3cuCnwgICAgIFByZWZlciA8bGltaXRzLmg+IHRvIDxh c3NlcnQuaD4gaWYgX19TVERDX18gaXMgZGVmaW5lZCwgc2luY2UKfCAgICAgPGxpbWl0cy5oPiBl eGlzdHMgZXZlbiBvbiBmcmVlc3RhbmRpbmcgY29tcGlsZXJzLiAgKi8KfCAKfCAjaWZkZWYgX19T VERDX18KfCAjIGluY2x1ZGUgPGxpbWl0cy5oPgp8ICNlbHNlCnwgIyBpbmNsdWRlIDxhc3NlcnQu aD4KfCAjZW5kaWYKfCAKfCAjdW5kZWYgc2V0c2lkCnwgCnwgLyogT3ZlcnJpZGUgYW55IEdDQyBp bnRlcm5hbCBwcm90b3R5cGUgdG8gYXZvaWQgYW4gZXJyb3IuCnwgICAgVXNlIGNoYXIgYmVjYXVz ZSBpbnQgbWlnaHQgbWF0Y2ggdGhlIHJldHVybiB0eXBlIG9mIGEgR0NDCnwgICAgYnVpbHRpbiBh bmQgdGhlbiBpdHMgYXJndW1lbnQgcHJvdG90eXBlIHdvdWxkIHN0aWxsIGFwcGx5LiAgKi8KfCAj aWZkZWYgX19jcGx1c3BsdXMKfCBleHRlcm4gIkMiCnwgI2VuZGlmCnwgY2hhciBzZXRzaWQgKCk7 CnwgLyogVGhlIEdOVSBDIGxpYnJhcnkgZGVmaW5lcyB0aGlzIGZvciBmdW5jdGlvbnMgd2hpY2gg aXQgaW1wbGVtZW50cwp8ICAgICB0byBhbHdheXMgZmFpbCB3aXRoIEVOT1NZUy4gIFNvbWUgZnVu Y3Rpb25zIGFyZSBhY3R1YWxseSBuYW1lZAp8ICAgICBzb21ldGhpbmcgc3RhcnRpbmcgd2l0aCBf XyBhbmQgdGhlIG5vcm1hbCBuYW1lIGlzIGFuIGFsaWFzLiAgKi8KfCAjaWYgZGVmaW5lZCBfX3N0 dWJfc2V0c2lkIHx8IGRlZmluZWQgX19zdHViX19fc2V0c2lkCnwgY2hva2UgbWUKfCAjZW5kaWYK fCAKfCBpbnQKfCBtYWluICgpCnwgewp8IHJldHVybiBzZXRzaWQgKCk7CnwgICA7CnwgICByZXR1 cm4gMDsKfCB9CmNvbmZpZ3VyZToxNDkzNTogcmVzdWx0OiBubwpjb25maWd1cmU6MTQ5MzU6IGNo ZWNraW5nIGZvciBzaG1fb3Blbgpjb25maWd1cmU6MTQ5MzU6IHg4Nl82NC13NjQtbWluZ3czMi1n Y2MgLW8gY29uZnRlc3QuZXhlIC1XYWxsIC1XbWlzc2luZy1wcm90b3R5cGVzIC1XcG9pbnRlci1h cml0aCAtV2RlY2xhcmF0aW9uLWFmdGVyLXN0YXRlbWVudCAtV2VuZGlmLWxhYmVscyAtV21pc3Np bmctZm9ybWF0LWF0dHJpYnV0ZSAtV2Zvcm1hdC1zZWN1cml0eSAtZm5vLXN0cmljdC1hbGlhc2lu ZyAtZndyYXB2IC1mZXhjZXNzLXByZWNpc2lvbj1zdGFuZGFyZCAtV25vLWZvcm1hdC10cnVuY2F0 aW9uIC1Xbm8tc3RyaW5nb3AtdHJ1bmNhdGlvbiAtZyAtTyAtZm5vLW9taXQtZnJhbWUtcG9pbnRl ciAgLUkvdy9SLTMuNS5fL3Bvc3RncmVzL3NyYy9pbmNsdWRlL3BvcnQvd2luMzIgLURFWEVDX0JB Q0tFTkQgIC1JL3cvemxpYi0xLjIuOC13aW4zMi14ODZfNjQvaW5jbHVkZSAtSS93L29wZW5zc2wt MS4wLjJlLXdpbjMyLXg4Nl82NC9pbmNsdWRlIC1JL3cvbGlieG1sMi0yLjkuMy13aW4zMi14ODZf NjQvaW5jbHVkZS9saWJ4bWwyIC1JL3cvbGlieHNsdC0xLjEuMjgtd2luMzIteDg2XzY0L2luY2x1 ZGUgIC1XbCwtLWFsbG93LW11bHRpcGxlLWRlZmluaXRpb24gLVdsLC0tZGlzYWJsZS1hdXRvLWlt cG9ydCAgLUwvdy96bGliLTEuMi44LXdpbjMyLXg4Nl82NC9saWIgLUwvdy9vcGVuc3NsLTEuMC4y ZS13aW4zMi14ODZfNjQvbGliIC1ML3cvbGlieG1sMi0yLjkuMy13aW4zMi14ODZfNjQvbGliIC1M L3cvbGlieHNsdC0xLjEuMjgtd2luMzIteDg2XzY0L2xpYiBjb25mdGVzdC5jIC1seHNsdCAtbHht bDIgLWxzc2wgLWxjcnlwdG8gLWx6IC1sd3MyXzMyIC1sbSAgPiY1CkM6L21zeXM2NC9taW5ndzY0 L2Jpbi8uLi9saWIvZ2NjL3g4Nl82NC13NjQtbWluZ3czMi84LjIuMC8uLi8uLi8uLi8uLi94ODZf NjQtdzY0LW1pbmd3MzIvYmluL2xkLmV4ZTogQzpcbXN5czY0XHRtcFxjY09haXF2Ry5vOiBpbiBm dW5jdGlvbiBgbWFpbic6DQpXOlxSLTMuNS5fXHBvc3RncmVzXGJ1aWxkL2NvbmZ0ZXN0LmM6MTE4 OiB1bmRlZmluZWQgcmVmZXJlbmNlIHRvIGBzaG1fb3BlbicNCmNvbGxlY3QyLmV4ZTogZXJyb3I6 IGxkIHJldHVybmVkIDEgZXhpdCBzdGF0dXMKY29uZmlndXJlOjE0OTM1OiAkPyA9IDEKY29uZmln dXJlOiBmYWlsZWQgcHJvZ3JhbSB3YXM6CnwgLyogY29uZmRlZnMuaCAqLwp8ICNkZWZpbmUgUEFD S0FHRV9OQU1FICJQb3N0Z3JlU1FMIgp8ICNkZWZpbmUgUEFDS0FHRV9UQVJOQU1FICJwb3N0Z3Jl c3FsIgp8ICNkZWZpbmUgUEFDS0FHRV9WRVJTSU9OICIxMWJldGEzIgp8ICNkZWZpbmUgUEFDS0FH RV9TVFJJTkcgIlBvc3RncmVTUUwgMTFiZXRhMyIKfCAjZGVmaW5lIFBBQ0tBR0VfQlVHUkVQT1JU ICJwZ3NxbC1idWdzQHBvc3RncmVzcWwub3JnIgp8ICNkZWZpbmUgUEFDS0FHRV9VUkwgIiIKfCAj ZGVmaW5lIFBHX01BSk9SVkVSU0lPTiAiMTEiCnwgI2RlZmluZSBQR19WRVJTSU9OICIxMWJldGEz Igp8ICNkZWZpbmUgREVGX1BHUE9SVCA1NDMyCnwgI2RlZmluZSBERUZfUEdQT1JUX1NUUiAiNTQz MiIKfCAjZGVmaW5lIEJMQ0tTWiA4MTkyCnwgI2RlZmluZSBSRUxTRUdfU0laRSAxMzEwNzIKfCAj ZGVmaW5lIFhMT0dfQkxDS1NaIDgxOTIKfCAjZGVmaW5lIFVTRV9BU1NFUlRfQ0hFQ0tJTkcgMQp8 ICNkZWZpbmUgRU5BQkxFX1RIUkVBRF9TQUZFVFkgMQp8ICNkZWZpbmUgVVNFX0lDVSAxCnwgI2Rl ZmluZSBQR19LUkJfU1JWTkFNICJwb3N0Z3JlcyIKfCAjZGVmaW5lIFVTRV9PUEVOU1NMIDEKfCAj ZGVmaW5lIFVTRV9MSUJYTUwgMQp8ICNkZWZpbmUgVVNFX0xJQlhTTFQgMQp8ICNkZWZpbmUgU1RE Q19IRUFERVJTIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1RZUEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9T WVNfU1RBVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1RETElCX0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJJ TkdfSCAxCnwgI2RlZmluZSBIQVZFX01FTU9SWV9IIDEKfCAjZGVmaW5lIEhBVkVfU1RSSU5HU19I IDEKfCAjZGVmaW5lIEhBVkVfSU5UVFlQRVNfSCAxCnwgI2RlZmluZSBIQVZFX1NURElOVF9IIDEK fCAjZGVmaW5lIEhBVkVfVU5JU1REX0ggMQp8ICNkZWZpbmUgSEFWRV9MSUJNIDEKfCAjZGVmaW5l IEhBVkVfTElCWiAxCnwgI2RlZmluZSBIQVZFX1NQSU5MT0NLUyAxCnwgI2RlZmluZSBIQVZFX0FU T01JQ1MgMQp8ICNkZWZpbmUgSEFWRV9TU0xfR0VUX0NVUlJFTlRfQ09NUFJFU1NJT04gMQp8ICNk ZWZpbmUgSEFWRV9YNTA5X0dFVF9TSUdOQVRVUkVfTklEIDEKfCAjZGVmaW5lIEhBVkVfQ1JZUFRP X0xPQ0sgMQp8ICNkZWZpbmUgSEFWRV9MSUJYTUwyIDEKfCAjZGVmaW5lIEhBVkVfTElCWFNMVCAx CnwgI2RlZmluZSBIQVZFX19CT09MIDEKfCAjZGVmaW5lIEhBVkVfU1REQk9PTF9IIDEKfCAjZGVm aW5lIEhBVkVfR0VUT1BUX0ggMQp8ICNkZWZpbmUgSEFWRV9JRUVFRlBfSCAxCnwgI2RlZmluZSBI QVZFX1VUSU1FX0ggMQp8ICNkZWZpbmUgSEFWRV9XQ0hBUl9IIDEKfCAjZGVmaW5lIEhBVkVfV0NU WVBFX0ggMQp8ICNkZWZpbmUgSEFWRV9DUlRERUZTX0ggMQp8ICNkZWZpbmUgUEdfUFJJTlRGX0FU VFJJQlVURSBnbnVfcHJpbnRmCnwgI2RlZmluZSBGTEVYSUJMRV9BUlJBWV9NRU1CRVIgLyoqLwp8 ICNkZWZpbmUgSEFWRV9GVU5DTkFNRV9fRlVOQyAxCnwgI2RlZmluZSBIQVZFX19TVEFUSUNfQVNT RVJUIDEKfCAjZGVmaW5lIEhBVkVfVFlQRU9GIDEKfCAjZGVmaW5lIEhBVkVfX0JVSUxUSU5fVFlQ RVNfQ09NUEFUSUJMRV9QIDEKfCAjZGVmaW5lIEhBVkVfX0JVSUxUSU5fQlNXQVAxNiAxCnwgI2Rl ZmluZSBIQVZFX19CVUlMVElOX0JTV0FQMzIgMQp8ICNkZWZpbmUgSEFWRV9fQlVJTFRJTl9CU1dB UDY0IDEKfCAjZGVmaW5lIEhBVkVfX0JVSUxUSU5fQ09OU1RBTlRfUCAxCnwgI2RlZmluZSBIQVZF X19CVUlMVElOX1VOUkVBQ0hBQkxFIDEKfCAjZGVmaW5lIEhBVkVfQ09NUFVURURfR09UTyAxCnwg I2RlZmluZSBIQVZFX19WQV9BUkdTIDEKfCAjZGVmaW5lIEhBVkVfVFpOQU1FIDEKfCAjZGVmaW5l IEhBVkVfU1RSVUNUX1NPQ0tBRERSX1NUT1JBR0UgMQp8ICNkZWZpbmUgSEFWRV9TVFJVQ1RfU09D S0FERFJfU1RPUkFHRV9TU19GQU1JTFkgMQp8ICNkZWZpbmUgSEFWRV9TVFJVQ1RfQUREUklORk8g MQp8ICNkZWZpbmUgSEFWRV9JTlRQVFJfVCAxCnwgI2RlZmluZSBIQVZFX1VJTlRQVFJfVCAxCnwg I2RlZmluZSBIQVZFX1VOU0lHTkVEX0xPTkdfTE9OR19JTlQgMQp8ICNkZWZpbmUgSEFWRV9MT05H X0xPTkdfSU5UIDEKfCAjZGVmaW5lIHJlc3RyaWN0IF9fcmVzdHJpY3QKfCAjZGVmaW5lIHBnX3Jl c3RyaWN0IF9fcmVzdHJpY3QKfCAjZGVmaW5lIEhBVkVfU1RSVUNUX09QVElPTiAxCnwgI2RlZmlu ZSBTSVpFT0ZfT0ZGX1QgNAp8ICNkZWZpbmUgU0laRU9GX0JPT0wgMQp8ICNkZWZpbmUgSEFWRV9J TlRfVElNRVpPTkUgMQp8ICNkZWZpbmUgQUNDRVBUX1RZUEVfUkVUVVJOIFNPQ0tFVCBXU0FBUEkK fCAjZGVmaW5lIEFDQ0VQVF9UWVBFX0FSRzEgU09DS0VUCnwgI2RlZmluZSBBQ0NFUFRfVFlQRV9B UkcyIHN0cnVjdCBzb2NrYWRkciAqCnwgI2RlZmluZSBBQ0NFUFRfVFlQRV9BUkczIGludAp8ICNk ZWZpbmUgSEFWRV9DQlJUIDEKfCAjZGVmaW5lIEhBVkVfQ0xPQ0tfR0VUVElNRSAxCnwgI2RlZmlu ZSBIQVZFX01FTU1PVkUgMQp8IC8qIGVuZCBjb25mZGVmcy5oLiAgKi8KfCAvKiBEZWZpbmUgc2ht X29wZW4gdG8gYW4gaW5ub2N1b3VzIHZhcmlhbnQsIGluIGNhc2UgPGxpbWl0cy5oPiBkZWNsYXJl cyBzaG1fb3Blbi4KfCAgICBGb3IgZXhhbXBsZSwgSFAtVVggMTFpIDxsaW1pdHMuaD4gZGVjbGFy ZXMgZ2V0dGltZW9mZGF5LiAgKi8KfCAjZGVmaW5lIHNobV9vcGVuIGlubm9jdW91c19zaG1fb3Bl bgp8IAp8IC8qIFN5c3RlbSBoZWFkZXIgdG8gZGVmaW5lIF9fc3R1YiBtYWNyb3MgYW5kIGhvcGVm dWxseSBmZXcgcHJvdG90eXBlcywKfCAgICAgd2hpY2ggY2FuIGNvbmZsaWN0IHdpdGggY2hhciBz aG1fb3BlbiAoKTsgYmVsb3cuCnwgICAgIFByZWZlciA8bGltaXRzLmg+IHRvIDxhc3NlcnQuaD4g aWYgX19TVERDX18gaXMgZGVmaW5lZCwgc2luY2UKfCAgICAgPGxpbWl0cy5oPiBleGlzdHMgZXZl biBvbiBmcmVlc3RhbmRpbmcgY29tcGlsZXJzLiAgKi8KfCAKfCAjaWZkZWYgX19TVERDX18KfCAj IGluY2x1ZGUgPGxpbWl0cy5oPgp8ICNlbHNlCnwgIyBpbmNsdWRlIDxhc3NlcnQuaD4KfCAjZW5k aWYKfCAKfCAjdW5kZWYgc2htX29wZW4KfCAKfCAvKiBPdmVycmlkZSBhbnkgR0NDIGludGVybmFs IHByb3RvdHlwZSB0byBhdm9pZCBhbiBlcnJvci4KfCAgICBVc2UgY2hhciBiZWNhdXNlIGludCBt aWdodCBtYXRjaCB0aGUgcmV0dXJuIHR5cGUgb2YgYSBHQ0MKfCAgICBidWlsdGluIGFuZCB0aGVu IGl0cyBhcmd1bWVudCBwcm90b3R5cGUgd291bGQgc3RpbGwgYXBwbHkuICAqLwp8ICNpZmRlZiBf X2NwbHVzcGx1cwp8IGV4dGVybiAiQyIKfCAjZW5kaWYKfCBjaGFyIHNobV9vcGVuICgpOwp8IC8q IFRoZSBHTlUgQyBsaWJyYXJ5IGRlZmluZXMgdGhpcyBmb3IgZnVuY3Rpb25zIHdoaWNoIGl0IGlt cGxlbWVudHMKfCAgICAgdG8gYWx3YXlzIGZhaWwgd2l0aCBFTk9TWVMuICBTb21lIGZ1bmN0aW9u cyBhcmUgYWN0dWFsbHkgbmFtZWQKfCAgICAgc29tZXRoaW5nIHN0YXJ0aW5nIHdpdGggX18gYW5k IHRoZSBub3JtYWwgbmFtZSBpcyBhbiBhbGlhcy4gICovCnwgI2lmIGRlZmluZWQgX19zdHViX3No bV9vcGVuIHx8IGRlZmluZWQgX19zdHViX19fc2htX29wZW4KfCBjaG9rZSBtZQp8ICNlbmRpZgp8 IAp8IGludAp8IG1haW4gKCkKfCB7CnwgcmV0dXJuIHNobV9vcGVuICgpOwp8ICAgOwp8ICAgcmV0 dXJuIDA7CnwgfQpjb25maWd1cmU6MTQ5MzU6IHJlc3VsdDogbm8KY29uZmlndXJlOjE0OTM1OiBj aGVja2luZyBmb3Igc3ltbGluawpjb25maWd1cmU6MTQ5MzU6IHg4Nl82NC13NjQtbWluZ3czMi1n Y2MgLW8gY29uZnRlc3QuZXhlIC1XYWxsIC1XbWlzc2luZy1wcm90b3R5cGVzIC1XcG9pbnRlci1h cml0aCAtV2RlY2xhcmF0aW9uLWFmdGVyLXN0YXRlbWVudCAtV2VuZGlmLWxhYmVscyAtV21pc3Np bmctZm9ybWF0LWF0dHJpYnV0ZSAtV2Zvcm1hdC1zZWN1cml0eSAtZm5vLXN0cmljdC1hbGlhc2lu ZyAtZndyYXB2IC1mZXhjZXNzLXByZWNpc2lvbj1zdGFuZGFyZCAtV25vLWZvcm1hdC10cnVuY2F0 aW9uIC1Xbm8tc3RyaW5nb3AtdHJ1bmNhdGlvbiAtZyAtTyAtZm5vLW9taXQtZnJhbWUtcG9pbnRl ciAgLUkvdy9SLTMuNS5fL3Bvc3RncmVzL3NyYy9pbmNsdWRlL3BvcnQvd2luMzIgLURFWEVDX0JB Q0tFTkQgIC1JL3cvemxpYi0xLjIuOC13aW4zMi14ODZfNjQvaW5jbHVkZSAtSS93L29wZW5zc2wt MS4wLjJlLXdpbjMyLXg4Nl82NC9pbmNsdWRlIC1JL3cvbGlieG1sMi0yLjkuMy13aW4zMi14ODZf NjQvaW5jbHVkZS9saWJ4bWwyIC1JL3cvbGlieHNsdC0xLjEuMjgtd2luMzIteDg2XzY0L2luY2x1 ZGUgIC1XbCwtLWFsbG93LW11bHRpcGxlLWRlZmluaXRpb24gLVdsLC0tZGlzYWJsZS1hdXRvLWlt cG9ydCAgLUwvdy96bGliLTEuMi44LXdpbjMyLXg4Nl82NC9saWIgLUwvdy9vcGVuc3NsLTEuMC4y ZS13aW4zMi14ODZfNjQvbGliIC1ML3cvbGlieG1sMi0yLjkuMy13aW4zMi14ODZfNjQvbGliIC1M L3cvbGlieHNsdC0xLjEuMjgtd2luMzIteDg2XzY0L2xpYiBjb25mdGVzdC5jIC1seHNsdCAtbHht bDIgLWxzc2wgLWxjcnlwdG8gLWx6IC1sd3MyXzMyIC1sbSAgPiY1CkM6L21zeXM2NC9taW5ndzY0 L2Jpbi8uLi9saWIvZ2NjL3g4Nl82NC13NjQtbWluZ3czMi84LjIuMC8uLi8uLi8uLi8uLi94ODZf NjQtdzY0LW1pbmd3MzIvYmluL2xkLmV4ZTogQzpcbXN5czY0XHRtcFxjY0U2b1A1Ri5vOiBpbiBm dW5jdGlvbiBgbWFpbic6DQpXOlxSLTMuNS5fXHBvc3RncmVzXGJ1aWxkL2NvbmZ0ZXN0LmM6MTE4 OiB1bmRlZmluZWQgcmVmZXJlbmNlIHRvIGBzeW1saW5rJw0KY29sbGVjdDIuZXhlOiBlcnJvcjog bGQgcmV0dXJuZWQgMSBleGl0IHN0YXR1cwpjb25maWd1cmU6MTQ5MzU6ICQ/ID0gMQpjb25maWd1 cmU6IGZhaWxlZCBwcm9ncmFtIHdhczoKfCAvKiBjb25mZGVmcy5oICovCnwgI2RlZmluZSBQQUNL QUdFX05BTUUgIlBvc3RncmVTUUwiCnwgI2RlZmluZSBQQUNLQUdFX1RBUk5BTUUgInBvc3RncmVz cWwiCnwgI2RlZmluZSBQQUNLQUdFX1ZFUlNJT04gIjExYmV0YTMiCnwgI2RlZmluZSBQQUNLQUdF X1NUUklORyAiUG9zdGdyZVNRTCAxMWJldGEzIgp8ICNkZWZpbmUgUEFDS0FHRV9CVUdSRVBPUlQg InBnc3FsLWJ1Z3NAcG9zdGdyZXNxbC5vcmciCnwgI2RlZmluZSBQQUNLQUdFX1VSTCAiIgp8ICNk ZWZpbmUgUEdfTUFKT1JWRVJTSU9OICIxMSIKfCAjZGVmaW5lIFBHX1ZFUlNJT04gIjExYmV0YTMi CnwgI2RlZmluZSBERUZfUEdQT1JUIDU0MzIKfCAjZGVmaW5lIERFRl9QR1BPUlRfU1RSICI1NDMy Igp8ICNkZWZpbmUgQkxDS1NaIDgxOTIKfCAjZGVmaW5lIFJFTFNFR19TSVpFIDEzMTA3Mgp8ICNk ZWZpbmUgWExPR19CTENLU1ogODE5Mgp8ICNkZWZpbmUgVVNFX0FTU0VSVF9DSEVDS0lORyAxCnwg I2RlZmluZSBFTkFCTEVfVEhSRUFEX1NBRkVUWSAxCnwgI2RlZmluZSBVU0VfSUNVIDEKfCAjZGVm aW5lIFBHX0tSQl9TUlZOQU0gInBvc3RncmVzIgp8ICNkZWZpbmUgVVNFX09QRU5TU0wgMQp8ICNk ZWZpbmUgVVNFX0xJQlhNTCAxCnwgI2RlZmluZSBVU0VfTElCWFNMVCAxCnwgI2RlZmluZSBTVERD X0hFQURFUlMgMQp8ICNkZWZpbmUgSEFWRV9TWVNfVFlQRVNfSCAxCnwgI2RlZmluZSBIQVZFX1NZ U19TVEFUX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERMSUJfSCAxCnwgI2RlZmluZSBIQVZFX1NUUklO R19IIDEKfCAjZGVmaW5lIEhBVkVfTUVNT1JZX0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJJTkdTX0gg MQp8ICNkZWZpbmUgSEFWRV9JTlRUWVBFU19IIDEKfCAjZGVmaW5lIEhBVkVfU1RESU5UX0ggMQp8 ICNkZWZpbmUgSEFWRV9VTklTVERfSCAxCnwgI2RlZmluZSBIQVZFX0xJQk0gMQp8ICNkZWZpbmUg SEFWRV9MSUJaIDEKfCAjZGVmaW5lIEhBVkVfU1BJTkxPQ0tTIDEKfCAjZGVmaW5lIEhBVkVfQVRP TUlDUyAxCnwgI2RlZmluZSBIQVZFX1NTTF9HRVRfQ1VSUkVOVF9DT01QUkVTU0lPTiAxCnwgI2Rl ZmluZSBIQVZFX1g1MDlfR0VUX1NJR05BVFVSRV9OSUQgMQp8ICNkZWZpbmUgSEFWRV9DUllQVE9f TE9DSyAxCnwgI2RlZmluZSBIQVZFX0xJQlhNTDIgMQp8ICNkZWZpbmUgSEFWRV9MSUJYU0xUIDEK fCAjZGVmaW5lIEhBVkVfX0JPT0wgMQp8ICNkZWZpbmUgSEFWRV9TVERCT09MX0ggMQp8ICNkZWZp bmUgSEFWRV9HRVRPUFRfSCAxCnwgI2RlZmluZSBIQVZFX0lFRUVGUF9IIDEKfCAjZGVmaW5lIEhB VkVfVVRJTUVfSCAxCnwgI2RlZmluZSBIQVZFX1dDSEFSX0ggMQp8ICNkZWZpbmUgSEFWRV9XQ1RZ UEVfSCAxCnwgI2RlZmluZSBIQVZFX0NSVERFRlNfSCAxCnwgI2RlZmluZSBQR19QUklOVEZfQVRU UklCVVRFIGdudV9wcmludGYKfCAjZGVmaW5lIEZMRVhJQkxFX0FSUkFZX01FTUJFUiAvKiovCnwg I2RlZmluZSBIQVZFX0ZVTkNOQU1FX19GVU5DIDEKfCAjZGVmaW5lIEhBVkVfX1NUQVRJQ19BU1NF UlQgMQp8ICNkZWZpbmUgSEFWRV9UWVBFT0YgMQp8ICNkZWZpbmUgSEFWRV9fQlVJTFRJTl9UWVBF U19DT01QQVRJQkxFX1AgMQp8ICNkZWZpbmUgSEFWRV9fQlVJTFRJTl9CU1dBUDE2IDEKfCAjZGVm aW5lIEhBVkVfX0JVSUxUSU5fQlNXQVAzMiAxCnwgI2RlZmluZSBIQVZFX19CVUlMVElOX0JTV0FQ NjQgMQp8ICNkZWZpbmUgSEFWRV9fQlVJTFRJTl9DT05TVEFOVF9QIDEKfCAjZGVmaW5lIEhBVkVf X0JVSUxUSU5fVU5SRUFDSEFCTEUgMQp8ICNkZWZpbmUgSEFWRV9DT01QVVRFRF9HT1RPIDEKfCAj ZGVmaW5lIEhBVkVfX1ZBX0FSR1MgMQp8ICNkZWZpbmUgSEFWRV9UWk5BTUUgMQp8ICNkZWZpbmUg SEFWRV9TVFJVQ1RfU09DS0FERFJfU1RPUkFHRSAxCnwgI2RlZmluZSBIQVZFX1NUUlVDVF9TT0NL QUREUl9TVE9SQUdFX1NTX0ZBTUlMWSAxCnwgI2RlZmluZSBIQVZFX1NUUlVDVF9BRERSSU5GTyAx CnwgI2RlZmluZSBIQVZFX0lOVFBUUl9UIDEKfCAjZGVmaW5lIEhBVkVfVUlOVFBUUl9UIDEKfCAj ZGVmaW5lIEhBVkVfVU5TSUdORURfTE9OR19MT05HX0lOVCAxCnwgI2RlZmluZSBIQVZFX0xPTkdf TE9OR19JTlQgMQp8ICNkZWZpbmUgcmVzdHJpY3QgX19yZXN0cmljdAp8ICNkZWZpbmUgcGdfcmVz dHJpY3QgX19yZXN0cmljdAp8ICNkZWZpbmUgSEFWRV9TVFJVQ1RfT1BUSU9OIDEKfCAjZGVmaW5l IFNJWkVPRl9PRkZfVCA0CnwgI2RlZmluZSBTSVpFT0ZfQk9PTCAxCnwgI2RlZmluZSBIQVZFX0lO VF9USU1FWk9ORSAxCnwgI2RlZmluZSBBQ0NFUFRfVFlQRV9SRVRVUk4gU09DS0VUIFdTQUFQSQp8 ICNkZWZpbmUgQUNDRVBUX1RZUEVfQVJHMSBTT0NLRVQKfCAjZGVmaW5lIEFDQ0VQVF9UWVBFX0FS RzIgc3RydWN0IHNvY2thZGRyICoKfCAjZGVmaW5lIEFDQ0VQVF9UWVBFX0FSRzMgaW50CnwgI2Rl ZmluZSBIQVZFX0NCUlQgMQp8ICNkZWZpbmUgSEFWRV9DTE9DS19HRVRUSU1FIDEKfCAjZGVmaW5l IEhBVkVfTUVNTU9WRSAxCnwgLyogZW5kIGNvbmZkZWZzLmguICAqLwp8IC8qIERlZmluZSBzeW1s aW5rIHRvIGFuIGlubm9jdW91cyB2YXJpYW50LCBpbiBjYXNlIDxsaW1pdHMuaD4gZGVjbGFyZXMg c3ltbGluay4KfCAgICBGb3IgZXhhbXBsZSwgSFAtVVggMTFpIDxsaW1pdHMuaD4gZGVjbGFyZXMg Z2V0dGltZW9mZGF5LiAgKi8KfCAjZGVmaW5lIHN5bWxpbmsgaW5ub2N1b3VzX3N5bWxpbmsKfCAK fCAvKiBTeXN0ZW0gaGVhZGVyIHRvIGRlZmluZSBfX3N0dWIgbWFjcm9zIGFuZCBob3BlZnVsbHkg ZmV3IHByb3RvdHlwZXMsCnwgICAgIHdoaWNoIGNhbiBjb25mbGljdCB3aXRoIGNoYXIgc3ltbGlu ayAoKTsgYmVsb3cuCnwgICAgIFByZWZlciA8bGltaXRzLmg+IHRvIDxhc3NlcnQuaD4gaWYgX19T VERDX18gaXMgZGVmaW5lZCwgc2luY2UKfCAgICAgPGxpbWl0cy5oPiBleGlzdHMgZXZlbiBvbiBm cmVlc3RhbmRpbmcgY29tcGlsZXJzLiAgKi8KfCAKfCAjaWZkZWYgX19TVERDX18KfCAjIGluY2x1 ZGUgPGxpbWl0cy5oPgp8ICNlbHNlCnwgIyBpbmNsdWRlIDxhc3NlcnQuaD4KfCAjZW5kaWYKfCAK fCAjdW5kZWYgc3ltbGluawp8IAp8IC8qIE92ZXJyaWRlIGFueSBHQ0MgaW50ZXJuYWwgcHJvdG90 eXBlIHRvIGF2b2lkIGFuIGVycm9yLgp8ICAgIFVzZSBjaGFyIGJlY2F1c2UgaW50IG1pZ2h0IG1h dGNoIHRoZSByZXR1cm4gdHlwZSBvZiBhIEdDQwp8ICAgIGJ1aWx0aW4gYW5kIHRoZW4gaXRzIGFy Z3VtZW50IHByb3RvdHlwZSB3b3VsZCBzdGlsbCBhcHBseS4gICovCnwgI2lmZGVmIF9fY3BsdXNw bHVzCnwgZXh0ZXJuICJDIgp8ICNlbmRpZgp8IGNoYXIgc3ltbGluayAoKTsKfCAvKiBUaGUgR05V IEMgbGlicmFyeSBkZWZpbmVzIHRoaXMgZm9yIGZ1bmN0aW9ucyB3aGljaCBpdCBpbXBsZW1lbnRz CnwgICAgIHRvIGFsd2F5cyBmYWlsIHdpdGggRU5PU1lTLiAgU29tZSBmdW5jdGlvbnMgYXJlIGFj dHVhbGx5IG5hbWVkCnwgICAgIHNvbWV0aGluZyBzdGFydGluZyB3aXRoIF9fIGFuZCB0aGUgbm9y bWFsIG5hbWUgaXMgYW4gYWxpYXMuICAqLwp8ICNpZiBkZWZpbmVkIF9fc3R1Yl9zeW1saW5rIHx8 IGRlZmluZWQgX19zdHViX19fc3ltbGluawp8IGNob2tlIG1lCnwgI2VuZGlmCnwgCnwgaW50Cnwg bWFpbiAoKQp8IHsKfCByZXR1cm4gc3ltbGluayAoKTsKfCAgIDsKfCAgIHJldHVybiAwOwp8IH0K Y29uZmlndXJlOjE0OTM1OiByZXN1bHQ6IG5vCmNvbmZpZ3VyZToxNDkzNTogY2hlY2tpbmcgZm9y IHN5bmNfZmlsZV9yYW5nZQpjb25maWd1cmU6MTQ5MzU6IHg4Nl82NC13NjQtbWluZ3czMi1nY2Mg LW8gY29uZnRlc3QuZXhlIC1XYWxsIC1XbWlzc2luZy1wcm90b3R5cGVzIC1XcG9pbnRlci1hcml0 aCAtV2RlY2xhcmF0aW9uLWFmdGVyLXN0YXRlbWVudCAtV2VuZGlmLWxhYmVscyAtV21pc3Npbmct Zm9ybWF0LWF0dHJpYnV0ZSAtV2Zvcm1hdC1zZWN1cml0eSAtZm5vLXN0cmljdC1hbGlhc2luZyAt ZndyYXB2IC1mZXhjZXNzLXByZWNpc2lvbj1zdGFuZGFyZCAtV25vLWZvcm1hdC10cnVuY2F0aW9u IC1Xbm8tc3RyaW5nb3AtdHJ1bmNhdGlvbiAtZyAtTyAtZm5vLW9taXQtZnJhbWUtcG9pbnRlciAg LUkvdy9SLTMuNS5fL3Bvc3RncmVzL3NyYy9pbmNsdWRlL3BvcnQvd2luMzIgLURFWEVDX0JBQ0tF TkQgIC1JL3cvemxpYi0xLjIuOC13aW4zMi14ODZfNjQvaW5jbHVkZSAtSS93L29wZW5zc2wtMS4w LjJlLXdpbjMyLXg4Nl82NC9pbmNsdWRlIC1JL3cvbGlieG1sMi0yLjkuMy13aW4zMi14ODZfNjQv aW5jbHVkZS9saWJ4bWwyIC1JL3cvbGlieHNsdC0xLjEuMjgtd2luMzIteDg2XzY0L2luY2x1ZGUg IC1XbCwtLWFsbG93LW11bHRpcGxlLWRlZmluaXRpb24gLVdsLC0tZGlzYWJsZS1hdXRvLWltcG9y dCAgLUwvdy96bGliLTEuMi44LXdpbjMyLXg4Nl82NC9saWIgLUwvdy9vcGVuc3NsLTEuMC4yZS13 aW4zMi14ODZfNjQvbGliIC1ML3cvbGlieG1sMi0yLjkuMy13aW4zMi14ODZfNjQvbGliIC1ML3cv bGlieHNsdC0xLjEuMjgtd2luMzIteDg2XzY0L2xpYiBjb25mdGVzdC5jIC1seHNsdCAtbHhtbDIg LWxzc2wgLWxjcnlwdG8gLWx6IC1sd3MyXzMyIC1sbSAgPiY1CkM6L21zeXM2NC9taW5ndzY0L2Jp bi8uLi9saWIvZ2NjL3g4Nl82NC13NjQtbWluZ3czMi84LjIuMC8uLi8uLi8uLi8uLi94ODZfNjQt dzY0LW1pbmd3MzIvYmluL2xkLmV4ZTogQzpcbXN5czY0XHRtcFxjYzhhVzllSC5vOiBpbiBmdW5j dGlvbiBgbWFpbic6DQpXOlxSLTMuNS5fXHBvc3RncmVzXGJ1aWxkL2NvbmZ0ZXN0LmM6MTE4OiB1 bmRlZmluZWQgcmVmZXJlbmNlIHRvIGBzeW5jX2ZpbGVfcmFuZ2UnDQpjb2xsZWN0Mi5leGU6IGVy cm9yOiBsZCByZXR1cm5lZCAxIGV4aXQgc3RhdHVzCmNvbmZpZ3VyZToxNDkzNTogJD8gPSAxCmNv bmZpZ3VyZTogZmFpbGVkIHByb2dyYW0gd2FzOgp8IC8qIGNvbmZkZWZzLmggKi8KfCAjZGVmaW5l IFBBQ0tBR0VfTkFNRSAiUG9zdGdyZVNRTCIKfCAjZGVmaW5lIFBBQ0tBR0VfVEFSTkFNRSAicG9z dGdyZXNxbCIKfCAjZGVmaW5lIFBBQ0tBR0VfVkVSU0lPTiAiMTFiZXRhMyIKfCAjZGVmaW5lIFBB Q0tBR0VfU1RSSU5HICJQb3N0Z3JlU1FMIDExYmV0YTMiCnwgI2RlZmluZSBQQUNLQUdFX0JVR1JF UE9SVCAicGdzcWwtYnVnc0Bwb3N0Z3Jlc3FsLm9yZyIKfCAjZGVmaW5lIFBBQ0tBR0VfVVJMICIi CnwgI2RlZmluZSBQR19NQUpPUlZFUlNJT04gIjExIgp8ICNkZWZpbmUgUEdfVkVSU0lPTiAiMTFi ZXRhMyIKfCAjZGVmaW5lIERFRl9QR1BPUlQgNTQzMgp8ICNkZWZpbmUgREVGX1BHUE9SVF9TVFIg IjU0MzIiCnwgI2RlZmluZSBCTENLU1ogODE5Mgp8ICNkZWZpbmUgUkVMU0VHX1NJWkUgMTMxMDcy CnwgI2RlZmluZSBYTE9HX0JMQ0tTWiA4MTkyCnwgI2RlZmluZSBVU0VfQVNTRVJUX0NIRUNLSU5H IDEKfCAjZGVmaW5lIEVOQUJMRV9USFJFQURfU0FGRVRZIDEKfCAjZGVmaW5lIFVTRV9JQ1UgMQp8 ICNkZWZpbmUgUEdfS1JCX1NSVk5BTSAicG9zdGdyZXMiCnwgI2RlZmluZSBVU0VfT1BFTlNTTCAx CnwgI2RlZmluZSBVU0VfTElCWE1MIDEKfCAjZGVmaW5lIFVTRV9MSUJYU0xUIDEKfCAjZGVmaW5l IFNURENfSEVBREVSUyAxCnwgI2RlZmluZSBIQVZFX1NZU19UWVBFU19IIDEKfCAjZGVmaW5lIEhB VkVfU1lTX1NUQVRfSCAxCnwgI2RlZmluZSBIQVZFX1NURExJQl9IIDEKfCAjZGVmaW5lIEhBVkVf U1RSSU5HX0ggMQp8ICNkZWZpbmUgSEFWRV9NRU1PUllfSCAxCnwgI2RlZmluZSBIQVZFX1NUUklO R1NfSCAxCnwgI2RlZmluZSBIQVZFX0lOVFRZUEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERJTlRf SCAxCnwgI2RlZmluZSBIQVZFX1VOSVNURF9IIDEKfCAjZGVmaW5lIEhBVkVfTElCTSAxCnwgI2Rl ZmluZSBIQVZFX0xJQlogMQp8ICNkZWZpbmUgSEFWRV9TUElOTE9DS1MgMQp8ICNkZWZpbmUgSEFW RV9BVE9NSUNTIDEKfCAjZGVmaW5lIEhBVkVfU1NMX0dFVF9DVVJSRU5UX0NPTVBSRVNTSU9OIDEK fCAjZGVmaW5lIEhBVkVfWDUwOV9HRVRfU0lHTkFUVVJFX05JRCAxCnwgI2RlZmluZSBIQVZFX0NS WVBUT19MT0NLIDEKfCAjZGVmaW5lIEhBVkVfTElCWE1MMiAxCnwgI2RlZmluZSBIQVZFX0xJQlhT TFQgMQp8ICNkZWZpbmUgSEFWRV9fQk9PTCAxCnwgI2RlZmluZSBIQVZFX1NUREJPT0xfSCAxCnwg I2RlZmluZSBIQVZFX0dFVE9QVF9IIDEKfCAjZGVmaW5lIEhBVkVfSUVFRUZQX0ggMQp8ICNkZWZp bmUgSEFWRV9VVElNRV9IIDEKfCAjZGVmaW5lIEhBVkVfV0NIQVJfSCAxCnwgI2RlZmluZSBIQVZF X1dDVFlQRV9IIDEKfCAjZGVmaW5lIEhBVkVfQ1JUREVGU19IIDEKfCAjZGVmaW5lIFBHX1BSSU5U Rl9BVFRSSUJVVEUgZ251X3ByaW50Zgp8ICNkZWZpbmUgRkxFWElCTEVfQVJSQVlfTUVNQkVSIC8q Ki8KfCAjZGVmaW5lIEhBVkVfRlVOQ05BTUVfX0ZVTkMgMQp8ICNkZWZpbmUgSEFWRV9fU1RBVElD X0FTU0VSVCAxCnwgI2RlZmluZSBIQVZFX1RZUEVPRiAxCnwgI2RlZmluZSBIQVZFX19CVUlMVElO X1RZUEVTX0NPTVBBVElCTEVfUCAxCnwgI2RlZmluZSBIQVZFX19CVUlMVElOX0JTV0FQMTYgMQp8 ICNkZWZpbmUgSEFWRV9fQlVJTFRJTl9CU1dBUDMyIDEKfCAjZGVmaW5lIEhBVkVfX0JVSUxUSU5f QlNXQVA2NCAxCnwgI2RlZmluZSBIQVZFX19CVUlMVElOX0NPTlNUQU5UX1AgMQp8ICNkZWZpbmUg SEFWRV9fQlVJTFRJTl9VTlJFQUNIQUJMRSAxCnwgI2RlZmluZSBIQVZFX0NPTVBVVEVEX0dPVE8g MQp8ICNkZWZpbmUgSEFWRV9fVkFfQVJHUyAxCnwgI2RlZmluZSBIQVZFX1RaTkFNRSAxCnwgI2Rl ZmluZSBIQVZFX1NUUlVDVF9TT0NLQUREUl9TVE9SQUdFIDEKfCAjZGVmaW5lIEhBVkVfU1RSVUNU X1NPQ0tBRERSX1NUT1JBR0VfU1NfRkFNSUxZIDEKfCAjZGVmaW5lIEhBVkVfU1RSVUNUX0FERFJJ TkZPIDEKfCAjZGVmaW5lIEhBVkVfSU5UUFRSX1QgMQp8ICNkZWZpbmUgSEFWRV9VSU5UUFRSX1Qg MQp8ICNkZWZpbmUgSEFWRV9VTlNJR05FRF9MT05HX0xPTkdfSU5UIDEKfCAjZGVmaW5lIEhBVkVf TE9OR19MT05HX0lOVCAxCnwgI2RlZmluZSByZXN0cmljdCBfX3Jlc3RyaWN0CnwgI2RlZmluZSBw Z19yZXN0cmljdCBfX3Jlc3RyaWN0CnwgI2RlZmluZSBIQVZFX1NUUlVDVF9PUFRJT04gMQp8ICNk ZWZpbmUgU0laRU9GX09GRl9UIDQKfCAjZGVmaW5lIFNJWkVPRl9CT09MIDEKfCAjZGVmaW5lIEhB VkVfSU5UX1RJTUVaT05FIDEKfCAjZGVmaW5lIEFDQ0VQVF9UWVBFX1JFVFVSTiBTT0NLRVQgV1NB QVBJCnwgI2RlZmluZSBBQ0NFUFRfVFlQRV9BUkcxIFNPQ0tFVAp8ICNkZWZpbmUgQUNDRVBUX1RZ UEVfQVJHMiBzdHJ1Y3Qgc29ja2FkZHIgKgp8ICNkZWZpbmUgQUNDRVBUX1RZUEVfQVJHMyBpbnQK fCAjZGVmaW5lIEhBVkVfQ0JSVCAxCnwgI2RlZmluZSBIQVZFX0NMT0NLX0dFVFRJTUUgMQp8ICNk ZWZpbmUgSEFWRV9NRU1NT1ZFIDEKfCAvKiBlbmQgY29uZmRlZnMuaC4gICovCnwgLyogRGVmaW5l IHN5bmNfZmlsZV9yYW5nZSB0byBhbiBpbm5vY3VvdXMgdmFyaWFudCwgaW4gY2FzZSA8bGltaXRz Lmg+IGRlY2xhcmVzIHN5bmNfZmlsZV9yYW5nZS4KfCAgICBGb3IgZXhhbXBsZSwgSFAtVVggMTFp IDxsaW1pdHMuaD4gZGVjbGFyZXMgZ2V0dGltZW9mZGF5LiAgKi8KfCAjZGVmaW5lIHN5bmNfZmls ZV9yYW5nZSBpbm5vY3VvdXNfc3luY19maWxlX3JhbmdlCnwgCnwgLyogU3lzdGVtIGhlYWRlciB0 byBkZWZpbmUgX19zdHViIG1hY3JvcyBhbmQgaG9wZWZ1bGx5IGZldyBwcm90b3R5cGVzLAp8ICAg ICB3aGljaCBjYW4gY29uZmxpY3Qgd2l0aCBjaGFyIHN5bmNfZmlsZV9yYW5nZSAoKTsgYmVsb3cu CnwgICAgIFByZWZlciA8bGltaXRzLmg+IHRvIDxhc3NlcnQuaD4gaWYgX19TVERDX18gaXMgZGVm aW5lZCwgc2luY2UKfCAgICAgPGxpbWl0cy5oPiBleGlzdHMgZXZlbiBvbiBmcmVlc3RhbmRpbmcg Y29tcGlsZXJzLiAgKi8KfCAKfCAjaWZkZWYgX19TVERDX18KfCAjIGluY2x1ZGUgPGxpbWl0cy5o Pgp8ICNlbHNlCnwgIyBpbmNsdWRlIDxhc3NlcnQuaD4KfCAjZW5kaWYKfCAKfCAjdW5kZWYgc3lu Y19maWxlX3JhbmdlCnwgCnwgLyogT3ZlcnJpZGUgYW55IEdDQyBpbnRlcm5hbCBwcm90b3R5cGUg dG8gYXZvaWQgYW4gZXJyb3IuCnwgICAgVXNlIGNoYXIgYmVjYXVzZSBpbnQgbWlnaHQgbWF0Y2gg dGhlIHJldHVybiB0eXBlIG9mIGEgR0NDCnwgICAgYnVpbHRpbiBhbmQgdGhlbiBpdHMgYXJndW1l bnQgcHJvdG90eXBlIHdvdWxkIHN0aWxsIGFwcGx5LiAgKi8KfCAjaWZkZWYgX19jcGx1c3BsdXMK fCBleHRlcm4gIkMiCnwgI2VuZGlmCnwgY2hhciBzeW5jX2ZpbGVfcmFuZ2UgKCk7CnwgLyogVGhl IEdOVSBDIGxpYnJhcnkgZGVmaW5lcyB0aGlzIGZvciBmdW5jdGlvbnMgd2hpY2ggaXQgaW1wbGVt ZW50cwp8ICAgICB0byBhbHdheXMgZmFpbCB3aXRoIEVOT1NZUy4gIFNvbWUgZnVuY3Rpb25zIGFy ZSBhY3R1YWxseSBuYW1lZAp8ICAgICBzb21ldGhpbmcgc3RhcnRpbmcgd2l0aCBfXyBhbmQgdGhl IG5vcm1hbCBuYW1lIGlzIGFuIGFsaWFzLiAgKi8KfCAjaWYgZGVmaW5lZCBfX3N0dWJfc3luY19m aWxlX3JhbmdlIHx8IGRlZmluZWQgX19zdHViX19fc3luY19maWxlX3JhbmdlCnwgY2hva2UgbWUK fCAjZW5kaWYKfCAKfCBpbnQKfCBtYWluICgpCnwgewp8IHJldHVybiBzeW5jX2ZpbGVfcmFuZ2Ug KCk7CnwgICA7CnwgICByZXR1cm4gMDsKfCB9CmNvbmZpZ3VyZToxNDkzNTogcmVzdWx0OiBubwpj b25maWd1cmU6MTQ5MzU6IGNoZWNraW5nIGZvciB1dGltZQpjb25maWd1cmU6MTQ5MzU6IHg4Nl82 NC13NjQtbWluZ3czMi1nY2MgLW8gY29uZnRlc3QuZXhlIC1XYWxsIC1XbWlzc2luZy1wcm90b3R5 cGVzIC1XcG9pbnRlci1hcml0aCAtV2RlY2xhcmF0aW9uLWFmdGVyLXN0YXRlbWVudCAtV2VuZGlm LWxhYmVscyAtV21pc3NpbmctZm9ybWF0LWF0dHJpYnV0ZSAtV2Zvcm1hdC1zZWN1cml0eSAtZm5v LXN0cmljdC1hbGlhc2luZyAtZndyYXB2IC1mZXhjZXNzLXByZWNpc2lvbj1zdGFuZGFyZCAtV25v LWZvcm1hdC10cnVuY2F0aW9uIC1Xbm8tc3RyaW5nb3AtdHJ1bmNhdGlvbiAtZyAtTyAtZm5vLW9t aXQtZnJhbWUtcG9pbnRlciAgLUkvdy9SLTMuNS5fL3Bvc3RncmVzL3NyYy9pbmNsdWRlL3BvcnQv d2luMzIgLURFWEVDX0JBQ0tFTkQgIC1JL3cvemxpYi0xLjIuOC13aW4zMi14ODZfNjQvaW5jbHVk ZSAtSS93L29wZW5zc2wtMS4wLjJlLXdpbjMyLXg4Nl82NC9pbmNsdWRlIC1JL3cvbGlieG1sMi0y LjkuMy13aW4zMi14ODZfNjQvaW5jbHVkZS9saWJ4bWwyIC1JL3cvbGlieHNsdC0xLjEuMjgtd2lu MzIteDg2XzY0L2luY2x1ZGUgIC1XbCwtLWFsbG93LW11bHRpcGxlLWRlZmluaXRpb24gLVdsLC0t ZGlzYWJsZS1hdXRvLWltcG9ydCAgLUwvdy96bGliLTEuMi44LXdpbjMyLXg4Nl82NC9saWIgLUwv dy9vcGVuc3NsLTEuMC4yZS13aW4zMi14ODZfNjQvbGliIC1ML3cvbGlieG1sMi0yLjkuMy13aW4z Mi14ODZfNjQvbGliIC1ML3cvbGlieHNsdC0xLjEuMjgtd2luMzIteDg2XzY0L2xpYiBjb25mdGVz dC5jIC1seHNsdCAtbHhtbDIgLWxzc2wgLWxjcnlwdG8gLWx6IC1sd3MyXzMyIC1sbSAgPiY1CmNv bmZpZ3VyZToxNDkzNTogJD8gPSAwCmNvbmZpZ3VyZToxNDkzNTogcmVzdWx0OiB5ZXMKY29uZmln dXJlOjE0OTM1OiBjaGVja2luZyBmb3IgdXRpbWVzCmNvbmZpZ3VyZToxNDkzNTogeDg2XzY0LXc2 NC1taW5ndzMyLWdjYyAtbyBjb25mdGVzdC5leGUgLVdhbGwgLVdtaXNzaW5nLXByb3RvdHlwZXMg LVdwb2ludGVyLWFyaXRoIC1XZGVjbGFyYXRpb24tYWZ0ZXItc3RhdGVtZW50IC1XZW5kaWYtbGFi ZWxzIC1XbWlzc2luZy1mb3JtYXQtYXR0cmlidXRlIC1XZm9ybWF0LXNlY3VyaXR5IC1mbm8tc3Ry aWN0LWFsaWFzaW5nIC1md3JhcHYgLWZleGNlc3MtcHJlY2lzaW9uPXN0YW5kYXJkIC1Xbm8tZm9y bWF0LXRydW5jYXRpb24gLVduby1zdHJpbmdvcC10cnVuY2F0aW9uIC1nIC1PIC1mbm8tb21pdC1m cmFtZS1wb2ludGVyICAtSS93L1ItMy41Ll8vcG9zdGdyZXMvc3JjL2luY2x1ZGUvcG9ydC93aW4z MiAtREVYRUNfQkFDS0VORCAgLUkvdy96bGliLTEuMi44LXdpbjMyLXg4Nl82NC9pbmNsdWRlIC1J L3cvb3BlbnNzbC0xLjAuMmUtd2luMzIteDg2XzY0L2luY2x1ZGUgLUkvdy9saWJ4bWwyLTIuOS4z LXdpbjMyLXg4Nl82NC9pbmNsdWRlL2xpYnhtbDIgLUkvdy9saWJ4c2x0LTEuMS4yOC13aW4zMi14 ODZfNjQvaW5jbHVkZSAgLVdsLC0tYWxsb3ctbXVsdGlwbGUtZGVmaW5pdGlvbiAtV2wsLS1kaXNh YmxlLWF1dG8taW1wb3J0ICAtTC93L3psaWItMS4yLjgtd2luMzIteDg2XzY0L2xpYiAtTC93L29w ZW5zc2wtMS4wLjJlLXdpbjMyLXg4Nl82NC9saWIgLUwvdy9saWJ4bWwyLTIuOS4zLXdpbjMyLXg4 Nl82NC9saWIgLUwvdy9saWJ4c2x0LTEuMS4yOC13aW4zMi14ODZfNjQvbGliIGNvbmZ0ZXN0LmMg LWx4c2x0IC1seG1sMiAtbHNzbCAtbGNyeXB0byAtbHogLWx3czJfMzIgLWxtICA+JjUKQzovbXN5 czY0L21pbmd3NjQvYmluLy4uL2xpYi9nY2MveDg2XzY0LXc2NC1taW5ndzMyLzguMi4wLy4uLy4u Ly4uLy4uL3g4Nl82NC13NjQtbWluZ3czMi9iaW4vbGQuZXhlOiBDOlxtc3lzNjRcdG1wXGNjR3Ns cGRHLm86IGluIGZ1bmN0aW9uIGBtYWluJzoNClc6XFItMy41Ll9ccG9zdGdyZXNcYnVpbGQvY29u ZnRlc3QuYzoxMTk6IHVuZGVmaW5lZCByZWZlcmVuY2UgdG8gYHV0aW1lcycNCmNvbGxlY3QyLmV4 ZTogZXJyb3I6IGxkIHJldHVybmVkIDEgZXhpdCBzdGF0dXMKY29uZmlndXJlOjE0OTM1OiAkPyA9 IDEKY29uZmlndXJlOiBmYWlsZWQgcHJvZ3JhbSB3YXM6CnwgLyogY29uZmRlZnMuaCAqLwp8ICNk ZWZpbmUgUEFDS0FHRV9OQU1FICJQb3N0Z3JlU1FMIgp8ICNkZWZpbmUgUEFDS0FHRV9UQVJOQU1F ICJwb3N0Z3Jlc3FsIgp8ICNkZWZpbmUgUEFDS0FHRV9WRVJTSU9OICIxMWJldGEzIgp8ICNkZWZp bmUgUEFDS0FHRV9TVFJJTkcgIlBvc3RncmVTUUwgMTFiZXRhMyIKfCAjZGVmaW5lIFBBQ0tBR0Vf QlVHUkVQT1JUICJwZ3NxbC1idWdzQHBvc3RncmVzcWwub3JnIgp8ICNkZWZpbmUgUEFDS0FHRV9V UkwgIiIKfCAjZGVmaW5lIFBHX01BSk9SVkVSU0lPTiAiMTEiCnwgI2RlZmluZSBQR19WRVJTSU9O ICIxMWJldGEzIgp8ICNkZWZpbmUgREVGX1BHUE9SVCA1NDMyCnwgI2RlZmluZSBERUZfUEdQT1JU X1NUUiAiNTQzMiIKfCAjZGVmaW5lIEJMQ0tTWiA4MTkyCnwgI2RlZmluZSBSRUxTRUdfU0laRSAx MzEwNzIKfCAjZGVmaW5lIFhMT0dfQkxDS1NaIDgxOTIKfCAjZGVmaW5lIFVTRV9BU1NFUlRfQ0hF Q0tJTkcgMQp8ICNkZWZpbmUgRU5BQkxFX1RIUkVBRF9TQUZFVFkgMQp8ICNkZWZpbmUgVVNFX0lD VSAxCnwgI2RlZmluZSBQR19LUkJfU1JWTkFNICJwb3N0Z3JlcyIKfCAjZGVmaW5lIFVTRV9PUEVO U1NMIDEKfCAjZGVmaW5lIFVTRV9MSUJYTUwgMQp8ICNkZWZpbmUgVVNFX0xJQlhTTFQgMQp8ICNk ZWZpbmUgU1REQ19IRUFERVJTIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1RZUEVTX0ggMQp8ICNkZWZp bmUgSEFWRV9TWVNfU1RBVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1RETElCX0ggMQp8ICNkZWZpbmUg SEFWRV9TVFJJTkdfSCAxCnwgI2RlZmluZSBIQVZFX01FTU9SWV9IIDEKfCAjZGVmaW5lIEhBVkVf U1RSSU5HU19IIDEKfCAjZGVmaW5lIEhBVkVfSU5UVFlQRVNfSCAxCnwgI2RlZmluZSBIQVZFX1NU RElOVF9IIDEKfCAjZGVmaW5lIEhBVkVfVU5JU1REX0ggMQp8ICNkZWZpbmUgSEFWRV9MSUJNIDEK fCAjZGVmaW5lIEhBVkVfTElCWiAxCnwgI2RlZmluZSBIQVZFX1NQSU5MT0NLUyAxCnwgI2RlZmlu ZSBIQVZFX0FUT01JQ1MgMQp8ICNkZWZpbmUgSEFWRV9TU0xfR0VUX0NVUlJFTlRfQ09NUFJFU1NJ T04gMQp8ICNkZWZpbmUgSEFWRV9YNTA5X0dFVF9TSUdOQVRVUkVfTklEIDEKfCAjZGVmaW5lIEhB VkVfQ1JZUFRPX0xPQ0sgMQp8ICNkZWZpbmUgSEFWRV9MSUJYTUwyIDEKfCAjZGVmaW5lIEhBVkVf TElCWFNMVCAxCnwgI2RlZmluZSBIQVZFX19CT09MIDEKfCAjZGVmaW5lIEhBVkVfU1REQk9PTF9I IDEKfCAjZGVmaW5lIEhBVkVfR0VUT1BUX0ggMQp8ICNkZWZpbmUgSEFWRV9JRUVFRlBfSCAxCnwg I2RlZmluZSBIQVZFX1VUSU1FX0ggMQp8ICNkZWZpbmUgSEFWRV9XQ0hBUl9IIDEKfCAjZGVmaW5l IEhBVkVfV0NUWVBFX0ggMQp8ICNkZWZpbmUgSEFWRV9DUlRERUZTX0ggMQp8ICNkZWZpbmUgUEdf UFJJTlRGX0FUVFJJQlVURSBnbnVfcHJpbnRmCnwgI2RlZmluZSBGTEVYSUJMRV9BUlJBWV9NRU1C RVIgLyoqLwp8ICNkZWZpbmUgSEFWRV9GVU5DTkFNRV9fRlVOQyAxCnwgI2RlZmluZSBIQVZFX19T VEFUSUNfQVNTRVJUIDEKfCAjZGVmaW5lIEhBVkVfVFlQRU9GIDEKfCAjZGVmaW5lIEhBVkVfX0JV SUxUSU5fVFlQRVNfQ09NUEFUSUJMRV9QIDEKfCAjZGVmaW5lIEhBVkVfX0JVSUxUSU5fQlNXQVAx NiAxCnwgI2RlZmluZSBIQVZFX19CVUlMVElOX0JTV0FQMzIgMQp8ICNkZWZpbmUgSEFWRV9fQlVJ TFRJTl9CU1dBUDY0IDEKfCAjZGVmaW5lIEhBVkVfX0JVSUxUSU5fQ09OU1RBTlRfUCAxCnwgI2Rl ZmluZSBIQVZFX19CVUlMVElOX1VOUkVBQ0hBQkxFIDEKfCAjZGVmaW5lIEhBVkVfQ09NUFVURURf R09UTyAxCnwgI2RlZmluZSBIQVZFX19WQV9BUkdTIDEKfCAjZGVmaW5lIEhBVkVfVFpOQU1FIDEK fCAjZGVmaW5lIEhBVkVfU1RSVUNUX1NPQ0tBRERSX1NUT1JBR0UgMQp8ICNkZWZpbmUgSEFWRV9T VFJVQ1RfU09DS0FERFJfU1RPUkFHRV9TU19GQU1JTFkgMQp8ICNkZWZpbmUgSEFWRV9TVFJVQ1Rf QUREUklORk8gMQp8ICNkZWZpbmUgSEFWRV9JTlRQVFJfVCAxCnwgI2RlZmluZSBIQVZFX1VJTlRQ VFJfVCAxCnwgI2RlZmluZSBIQVZFX1VOU0lHTkVEX0xPTkdfTE9OR19JTlQgMQp8ICNkZWZpbmUg SEFWRV9MT05HX0xPTkdfSU5UIDEKfCAjZGVmaW5lIHJlc3RyaWN0IF9fcmVzdHJpY3QKfCAjZGVm aW5lIHBnX3Jlc3RyaWN0IF9fcmVzdHJpY3QKfCAjZGVmaW5lIEhBVkVfU1RSVUNUX09QVElPTiAx CnwgI2RlZmluZSBTSVpFT0ZfT0ZGX1QgNAp8ICNkZWZpbmUgU0laRU9GX0JPT0wgMQp8ICNkZWZp bmUgSEFWRV9JTlRfVElNRVpPTkUgMQp8ICNkZWZpbmUgQUNDRVBUX1RZUEVfUkVUVVJOIFNPQ0tF VCBXU0FBUEkKfCAjZGVmaW5lIEFDQ0VQVF9UWVBFX0FSRzEgU09DS0VUCnwgI2RlZmluZSBBQ0NF UFRfVFlQRV9BUkcyIHN0cnVjdCBzb2NrYWRkciAqCnwgI2RlZmluZSBBQ0NFUFRfVFlQRV9BUkcz IGludAp8ICNkZWZpbmUgSEFWRV9DQlJUIDEKfCAjZGVmaW5lIEhBVkVfQ0xPQ0tfR0VUVElNRSAx CnwgI2RlZmluZSBIQVZFX01FTU1PVkUgMQp8ICNkZWZpbmUgSEFWRV9VVElNRSAxCnwgLyogZW5k IGNvbmZkZWZzLmguICAqLwp8IC8qIERlZmluZSB1dGltZXMgdG8gYW4gaW5ub2N1b3VzIHZhcmlh bnQsIGluIGNhc2UgPGxpbWl0cy5oPiBkZWNsYXJlcyB1dGltZXMuCnwgICAgRm9yIGV4YW1wbGUs IEhQLVVYIDExaSA8bGltaXRzLmg+IGRlY2xhcmVzIGdldHRpbWVvZmRheS4gICovCnwgI2RlZmlu ZSB1dGltZXMgaW5ub2N1b3VzX3V0aW1lcwp8IAp8IC8qIFN5c3RlbSBoZWFkZXIgdG8gZGVmaW5l IF9fc3R1YiBtYWNyb3MgYW5kIGhvcGVmdWxseSBmZXcgcHJvdG90eXBlcywKfCAgICAgd2hpY2gg Y2FuIGNvbmZsaWN0IHdpdGggY2hhciB1dGltZXMgKCk7IGJlbG93Lgp8ICAgICBQcmVmZXIgPGxp bWl0cy5oPiB0byA8YXNzZXJ0Lmg+IGlmIF9fU1REQ19fIGlzIGRlZmluZWQsIHNpbmNlCnwgICAg IDxsaW1pdHMuaD4gZXhpc3RzIGV2ZW4gb24gZnJlZXN0YW5kaW5nIGNvbXBpbGVycy4gICovCnwg CnwgI2lmZGVmIF9fU1REQ19fCnwgIyBpbmNsdWRlIDxsaW1pdHMuaD4KfCAjZWxzZQp8ICMgaW5j bHVkZSA8YXNzZXJ0Lmg+CnwgI2VuZGlmCnwgCnwgI3VuZGVmIHV0aW1lcwp8IAp8IC8qIE92ZXJy aWRlIGFueSBHQ0MgaW50ZXJuYWwgcHJvdG90eXBlIHRvIGF2b2lkIGFuIGVycm9yLgp8ICAgIFVz ZSBjaGFyIGJlY2F1c2UgaW50IG1pZ2h0IG1hdGNoIHRoZSByZXR1cm4gdHlwZSBvZiBhIEdDQwp8 ICAgIGJ1aWx0aW4gYW5kIHRoZW4gaXRzIGFyZ3VtZW50IHByb3RvdHlwZSB3b3VsZCBzdGlsbCBh cHBseS4gICovCnwgI2lmZGVmIF9fY3BsdXNwbHVzCnwgZXh0ZXJuICJDIgp8ICNlbmRpZgp8IGNo YXIgdXRpbWVzICgpOwp8IC8qIFRoZSBHTlUgQyBsaWJyYXJ5IGRlZmluZXMgdGhpcyBmb3IgZnVu Y3Rpb25zIHdoaWNoIGl0IGltcGxlbWVudHMKfCAgICAgdG8gYWx3YXlzIGZhaWwgd2l0aCBFTk9T WVMuICBTb21lIGZ1bmN0aW9ucyBhcmUgYWN0dWFsbHkgbmFtZWQKfCAgICAgc29tZXRoaW5nIHN0 YXJ0aW5nIHdpdGggX18gYW5kIHRoZSBub3JtYWwgbmFtZSBpcyBhbiBhbGlhcy4gICovCnwgI2lm IGRlZmluZWQgX19zdHViX3V0aW1lcyB8fCBkZWZpbmVkIF9fc3R1Yl9fX3V0aW1lcwp8IGNob2tl IG1lCnwgI2VuZGlmCnwgCnwgaW50CnwgbWFpbiAoKQp8IHsKfCByZXR1cm4gdXRpbWVzICgpOwp8 ICAgOwp8ICAgcmV0dXJuIDA7CnwgfQpjb25maWd1cmU6MTQ5MzU6IHJlc3VsdDogbm8KY29uZmln dXJlOjE0OTM1OiBjaGVja2luZyBmb3Igd2NzdG9tYnNfbApjb25maWd1cmU6MTQ5MzU6IHg4Nl82 NC13NjQtbWluZ3czMi1nY2MgLW8gY29uZnRlc3QuZXhlIC1XYWxsIC1XbWlzc2luZy1wcm90b3R5 cGVzIC1XcG9pbnRlci1hcml0aCAtV2RlY2xhcmF0aW9uLWFmdGVyLXN0YXRlbWVudCAtV2VuZGlm LWxhYmVscyAtV21pc3NpbmctZm9ybWF0LWF0dHJpYnV0ZSAtV2Zvcm1hdC1zZWN1cml0eSAtZm5v LXN0cmljdC1hbGlhc2luZyAtZndyYXB2IC1mZXhjZXNzLXByZWNpc2lvbj1zdGFuZGFyZCAtV25v LWZvcm1hdC10cnVuY2F0aW9uIC1Xbm8tc3RyaW5nb3AtdHJ1bmNhdGlvbiAtZyAtTyAtZm5vLW9t aXQtZnJhbWUtcG9pbnRlciAgLUkvdy9SLTMuNS5fL3Bvc3RncmVzL3NyYy9pbmNsdWRlL3BvcnQv d2luMzIgLURFWEVDX0JBQ0tFTkQgIC1JL3cvemxpYi0xLjIuOC13aW4zMi14ODZfNjQvaW5jbHVk ZSAtSS93L29wZW5zc2wtMS4wLjJlLXdpbjMyLXg4Nl82NC9pbmNsdWRlIC1JL3cvbGlieG1sMi0y LjkuMy13aW4zMi14ODZfNjQvaW5jbHVkZS9saWJ4bWwyIC1JL3cvbGlieHNsdC0xLjEuMjgtd2lu MzIteDg2XzY0L2luY2x1ZGUgIC1XbCwtLWFsbG93LW11bHRpcGxlLWRlZmluaXRpb24gLVdsLC0t ZGlzYWJsZS1hdXRvLWltcG9ydCAgLUwvdy96bGliLTEuMi44LXdpbjMyLXg4Nl82NC9saWIgLUwv dy9vcGVuc3NsLTEuMC4yZS13aW4zMi14ODZfNjQvbGliIC1ML3cvbGlieG1sMi0yLjkuMy13aW4z Mi14ODZfNjQvbGliIC1ML3cvbGlieHNsdC0xLjEuMjgtd2luMzIteDg2XzY0L2xpYiBjb25mdGVz dC5jIC1seHNsdCAtbHhtbDIgLWxzc2wgLWxjcnlwdG8gLWx6IC1sd3MyXzMyIC1sbSAgPiY1CkM6 L21zeXM2NC9taW5ndzY0L2Jpbi8uLi9saWIvZ2NjL3g4Nl82NC13NjQtbWluZ3czMi84LjIuMC8u Li8uLi8uLi8uLi94ODZfNjQtdzY0LW1pbmd3MzIvYmluL2xkLmV4ZTogQzpcbXN5czY0XHRtcFxj Y1lPcTNISC5vOiBpbiBmdW5jdGlvbiBgbWFpbic6DQpXOlxSLTMuNS5fXHBvc3RncmVzXGJ1aWxk L2NvbmZ0ZXN0LmM6MTE5OiB1bmRlZmluZWQgcmVmZXJlbmNlIHRvIGB3Y3N0b21ic19sJw0KY29s bGVjdDIuZXhlOiBlcnJvcjogbGQgcmV0dXJuZWQgMSBleGl0IHN0YXR1cwpjb25maWd1cmU6MTQ5 MzU6ICQ/ID0gMQpjb25maWd1cmU6IGZhaWxlZCBwcm9ncmFtIHdhczoKfCAvKiBjb25mZGVmcy5o ICovCnwgI2RlZmluZSBQQUNLQUdFX05BTUUgIlBvc3RncmVTUUwiCnwgI2RlZmluZSBQQUNLQUdF X1RBUk5BTUUgInBvc3RncmVzcWwiCnwgI2RlZmluZSBQQUNLQUdFX1ZFUlNJT04gIjExYmV0YTMi CnwgI2RlZmluZSBQQUNLQUdFX1NUUklORyAiUG9zdGdyZVNRTCAxMWJldGEzIgp8ICNkZWZpbmUg UEFDS0FHRV9CVUdSRVBPUlQgInBnc3FsLWJ1Z3NAcG9zdGdyZXNxbC5vcmciCnwgI2RlZmluZSBQ QUNLQUdFX1VSTCAiIgp8ICNkZWZpbmUgUEdfTUFKT1JWRVJTSU9OICIxMSIKfCAjZGVmaW5lIFBH X1ZFUlNJT04gIjExYmV0YTMiCnwgI2RlZmluZSBERUZfUEdQT1JUIDU0MzIKfCAjZGVmaW5lIERF Rl9QR1BPUlRfU1RSICI1NDMyIgp8ICNkZWZpbmUgQkxDS1NaIDgxOTIKfCAjZGVmaW5lIFJFTFNF R19TSVpFIDEzMTA3Mgp8ICNkZWZpbmUgWExPR19CTENLU1ogODE5Mgp8ICNkZWZpbmUgVVNFX0FT U0VSVF9DSEVDS0lORyAxCnwgI2RlZmluZSBFTkFCTEVfVEhSRUFEX1NBRkVUWSAxCnwgI2RlZmlu ZSBVU0VfSUNVIDEKfCAjZGVmaW5lIFBHX0tSQl9TUlZOQU0gInBvc3RncmVzIgp8ICNkZWZpbmUg VVNFX09QRU5TU0wgMQp8ICNkZWZpbmUgVVNFX0xJQlhNTCAxCnwgI2RlZmluZSBVU0VfTElCWFNM VCAxCnwgI2RlZmluZSBTVERDX0hFQURFUlMgMQp8ICNkZWZpbmUgSEFWRV9TWVNfVFlQRVNfSCAx CnwgI2RlZmluZSBIQVZFX1NZU19TVEFUX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERMSUJfSCAxCnwg I2RlZmluZSBIQVZFX1NUUklOR19IIDEKfCAjZGVmaW5lIEhBVkVfTUVNT1JZX0ggMQp8ICNkZWZp bmUgSEFWRV9TVFJJTkdTX0ggMQp8ICNkZWZpbmUgSEFWRV9JTlRUWVBFU19IIDEKfCAjZGVmaW5l IEhBVkVfU1RESU5UX0ggMQp8ICNkZWZpbmUgSEFWRV9VTklTVERfSCAxCnwgI2RlZmluZSBIQVZF X0xJQk0gMQp8ICNkZWZpbmUgSEFWRV9MSUJaIDEKfCAjZGVmaW5lIEhBVkVfU1BJTkxPQ0tTIDEK fCAjZGVmaW5lIEhBVkVfQVRPTUlDUyAxCnwgI2RlZmluZSBIQVZFX1NTTF9HRVRfQ1VSUkVOVF9D T01QUkVTU0lPTiAxCnwgI2RlZmluZSBIQVZFX1g1MDlfR0VUX1NJR05BVFVSRV9OSUQgMQp8ICNk ZWZpbmUgSEFWRV9DUllQVE9fTE9DSyAxCnwgI2RlZmluZSBIQVZFX0xJQlhNTDIgMQp8ICNkZWZp bmUgSEFWRV9MSUJYU0xUIDEKfCAjZGVmaW5lIEhBVkVfX0JPT0wgMQp8ICNkZWZpbmUgSEFWRV9T VERCT09MX0ggMQp8ICNkZWZpbmUgSEFWRV9HRVRPUFRfSCAxCnwgI2RlZmluZSBIQVZFX0lFRUVG UF9IIDEKfCAjZGVmaW5lIEhBVkVfVVRJTUVfSCAxCnwgI2RlZmluZSBIQVZFX1dDSEFSX0ggMQp8 ICNkZWZpbmUgSEFWRV9XQ1RZUEVfSCAxCnwgI2RlZmluZSBIQVZFX0NSVERFRlNfSCAxCnwgI2Rl ZmluZSBQR19QUklOVEZfQVRUUklCVVRFIGdudV9wcmludGYKfCAjZGVmaW5lIEZMRVhJQkxFX0FS UkFZX01FTUJFUiAvKiovCnwgI2RlZmluZSBIQVZFX0ZVTkNOQU1FX19GVU5DIDEKfCAjZGVmaW5l IEhBVkVfX1NUQVRJQ19BU1NFUlQgMQp8ICNkZWZpbmUgSEFWRV9UWVBFT0YgMQp8ICNkZWZpbmUg SEFWRV9fQlVJTFRJTl9UWVBFU19DT01QQVRJQkxFX1AgMQp8ICNkZWZpbmUgSEFWRV9fQlVJTFRJ Tl9CU1dBUDE2IDEKfCAjZGVmaW5lIEhBVkVfX0JVSUxUSU5fQlNXQVAzMiAxCnwgI2RlZmluZSBI QVZFX19CVUlMVElOX0JTV0FQNjQgMQp8ICNkZWZpbmUgSEFWRV9fQlVJTFRJTl9DT05TVEFOVF9Q IDEKfCAjZGVmaW5lIEhBVkVfX0JVSUxUSU5fVU5SRUFDSEFCTEUgMQp8ICNkZWZpbmUgSEFWRV9D T01QVVRFRF9HT1RPIDEKfCAjZGVmaW5lIEhBVkVfX1ZBX0FSR1MgMQp8ICNkZWZpbmUgSEFWRV9U Wk5BTUUgMQp8ICNkZWZpbmUgSEFWRV9TVFJVQ1RfU09DS0FERFJfU1RPUkFHRSAxCnwgI2RlZmlu ZSBIQVZFX1NUUlVDVF9TT0NLQUREUl9TVE9SQUdFX1NTX0ZBTUlMWSAxCnwgI2RlZmluZSBIQVZF X1NUUlVDVF9BRERSSU5GTyAxCnwgI2RlZmluZSBIQVZFX0lOVFBUUl9UIDEKfCAjZGVmaW5lIEhB VkVfVUlOVFBUUl9UIDEKfCAjZGVmaW5lIEhBVkVfVU5TSUdORURfTE9OR19MT05HX0lOVCAxCnwg I2RlZmluZSBIQVZFX0xPTkdfTE9OR19JTlQgMQp8ICNkZWZpbmUgcmVzdHJpY3QgX19yZXN0cmlj dAp8ICNkZWZpbmUgcGdfcmVzdHJpY3QgX19yZXN0cmljdAp8ICNkZWZpbmUgSEFWRV9TVFJVQ1Rf T1BUSU9OIDEKfCAjZGVmaW5lIFNJWkVPRl9PRkZfVCA0CnwgI2RlZmluZSBTSVpFT0ZfQk9PTCAx CnwgI2RlZmluZSBIQVZFX0lOVF9USU1FWk9ORSAxCnwgI2RlZmluZSBBQ0NFUFRfVFlQRV9SRVRV Uk4gU09DS0VUIFdTQUFQSQp8ICNkZWZpbmUgQUNDRVBUX1RZUEVfQVJHMSBTT0NLRVQKfCAjZGVm aW5lIEFDQ0VQVF9UWVBFX0FSRzIgc3RydWN0IHNvY2thZGRyICoKfCAjZGVmaW5lIEFDQ0VQVF9U WVBFX0FSRzMgaW50CnwgI2RlZmluZSBIQVZFX0NCUlQgMQp8ICNkZWZpbmUgSEFWRV9DTE9DS19H RVRUSU1FIDEKfCAjZGVmaW5lIEhBVkVfTUVNTU9WRSAxCnwgI2RlZmluZSBIQVZFX1VUSU1FIDEK fCAvKiBlbmQgY29uZmRlZnMuaC4gICovCnwgLyogRGVmaW5lIHdjc3RvbWJzX2wgdG8gYW4gaW5u b2N1b3VzIHZhcmlhbnQsIGluIGNhc2UgPGxpbWl0cy5oPiBkZWNsYXJlcyB3Y3N0b21ic19sLgp8 ICAgIEZvciBleGFtcGxlLCBIUC1VWCAxMWkgPGxpbWl0cy5oPiBkZWNsYXJlcyBnZXR0aW1lb2Zk YXkuICAqLwp8ICNkZWZpbmUgd2NzdG9tYnNfbCBpbm5vY3VvdXNfd2NzdG9tYnNfbAp8IAp8IC8q IFN5c3RlbSBoZWFkZXIgdG8gZGVmaW5lIF9fc3R1YiBtYWNyb3MgYW5kIGhvcGVmdWxseSBmZXcg cHJvdG90eXBlcywKfCAgICAgd2hpY2ggY2FuIGNvbmZsaWN0IHdpdGggY2hhciB3Y3N0b21ic19s ICgpOyBiZWxvdy4KfCAgICAgUHJlZmVyIDxsaW1pdHMuaD4gdG8gPGFzc2VydC5oPiBpZiBfX1NU RENfXyBpcyBkZWZpbmVkLCBzaW5jZQp8ICAgICA8bGltaXRzLmg+IGV4aXN0cyBldmVuIG9uIGZy ZWVzdGFuZGluZyBjb21waWxlcnMuICAqLwp8IAp8ICNpZmRlZiBfX1NURENfXwp8ICMgaW5jbHVk ZSA8bGltaXRzLmg+CnwgI2Vsc2UKfCAjIGluY2x1ZGUgPGFzc2VydC5oPgp8ICNlbmRpZgp8IAp8 ICN1bmRlZiB3Y3N0b21ic19sCnwgCnwgLyogT3ZlcnJpZGUgYW55IEdDQyBpbnRlcm5hbCBwcm90 b3R5cGUgdG8gYXZvaWQgYW4gZXJyb3IuCnwgICAgVXNlIGNoYXIgYmVjYXVzZSBpbnQgbWlnaHQg bWF0Y2ggdGhlIHJldHVybiB0eXBlIG9mIGEgR0NDCnwgICAgYnVpbHRpbiBhbmQgdGhlbiBpdHMg YXJndW1lbnQgcHJvdG90eXBlIHdvdWxkIHN0aWxsIGFwcGx5LiAgKi8KfCAjaWZkZWYgX19jcGx1 c3BsdXMKfCBleHRlcm4gIkMiCnwgI2VuZGlmCnwgY2hhciB3Y3N0b21ic19sICgpOwp8IC8qIFRo ZSBHTlUgQyBsaWJyYXJ5IGRlZmluZXMgdGhpcyBmb3IgZnVuY3Rpb25zIHdoaWNoIGl0IGltcGxl bWVudHMKfCAgICAgdG8gYWx3YXlzIGZhaWwgd2l0aCBFTk9TWVMuICBTb21lIGZ1bmN0aW9ucyBh cmUgYWN0dWFsbHkgbmFtZWQKfCAgICAgc29tZXRoaW5nIHN0YXJ0aW5nIHdpdGggX18gYW5kIHRo ZSBub3JtYWwgbmFtZSBpcyBhbiBhbGlhcy4gICovCnwgI2lmIGRlZmluZWQgX19zdHViX3djc3Rv bWJzX2wgfHwgZGVmaW5lZCBfX3N0dWJfX193Y3N0b21ic19sCnwgY2hva2UgbWUKfCAjZW5kaWYK fCAKfCBpbnQKfCBtYWluICgpCnwgewp8IHJldHVybiB3Y3N0b21ic19sICgpOwp8ICAgOwp8ICAg cmV0dXJuIDA7CnwgfQpjb25maWd1cmU6MTQ5MzU6IHJlc3VsdDogbm8KY29uZmlndXJlOjE0OTQ1 OiBjaGVja2luZyBmb3IgZnNlZWtvCmNvbmZpZ3VyZToxNDk0NTogeDg2XzY0LXc2NC1taW5ndzMy LWdjYyAtbyBjb25mdGVzdC5leGUgLVdhbGwgLVdtaXNzaW5nLXByb3RvdHlwZXMgLVdwb2ludGVy LWFyaXRoIC1XZGVjbGFyYXRpb24tYWZ0ZXItc3RhdGVtZW50IC1XZW5kaWYtbGFiZWxzIC1XbWlz c2luZy1mb3JtYXQtYXR0cmlidXRlIC1XZm9ybWF0LXNlY3VyaXR5IC1mbm8tc3RyaWN0LWFsaWFz aW5nIC1md3JhcHYgLWZleGNlc3MtcHJlY2lzaW9uPXN0YW5kYXJkIC1Xbm8tZm9ybWF0LXRydW5j YXRpb24gLVduby1zdHJpbmdvcC10cnVuY2F0aW9uIC1nIC1PIC1mbm8tb21pdC1mcmFtZS1wb2lu dGVyICAtSS93L1ItMy41Ll8vcG9zdGdyZXMvc3JjL2luY2x1ZGUvcG9ydC93aW4zMiAtREVYRUNf QkFDS0VORCAgLUkvdy96bGliLTEuMi44LXdpbjMyLXg4Nl82NC9pbmNsdWRlIC1JL3cvb3BlbnNz bC0xLjAuMmUtd2luMzIteDg2XzY0L2luY2x1ZGUgLUkvdy9saWJ4bWwyLTIuOS4zLXdpbjMyLXg4 Nl82NC9pbmNsdWRlL2xpYnhtbDIgLUkvdy9saWJ4c2x0LTEuMS4yOC13aW4zMi14ODZfNjQvaW5j bHVkZSAgLVdsLC0tYWxsb3ctbXVsdGlwbGUtZGVmaW5pdGlvbiAtV2wsLS1kaXNhYmxlLWF1dG8t aW1wb3J0ICAtTC93L3psaWItMS4yLjgtd2luMzIteDg2XzY0L2xpYiAtTC93L29wZW5zc2wtMS4w LjJlLXdpbjMyLXg4Nl82NC9saWIgLUwvdy9saWJ4bWwyLTIuOS4zLXdpbjMyLXg4Nl82NC9saWIg LUwvdy9saWJ4c2x0LTEuMS4yOC13aW4zMi14ODZfNjQvbGliIGNvbmZ0ZXN0LmMgLWx4c2x0IC1s eG1sMiAtbHNzbCAtbGNyeXB0byAtbHogLWx3czJfMzIgLWxtICA+JjUKY29uZmlndXJlOjE0OTQ1 OiAkPyA9IDAKY29uZmlndXJlOjE0OTQ1OiByZXN1bHQ6IHllcwpjb25maWd1cmU6MTUwNDQ6IGNo ZWNraW5nIGZvciBwb3NpeF9mYWR2aXNlCmNvbmZpZ3VyZToxNTA0NDogeDg2XzY0LXc2NC1taW5n dzMyLWdjYyAtbyBjb25mdGVzdC5leGUgLVdhbGwgLVdtaXNzaW5nLXByb3RvdHlwZXMgLVdwb2lu dGVyLWFyaXRoIC1XZGVjbGFyYXRpb24tYWZ0ZXItc3RhdGVtZW50IC1XZW5kaWYtbGFiZWxzIC1X bWlzc2luZy1mb3JtYXQtYXR0cmlidXRlIC1XZm9ybWF0LXNlY3VyaXR5IC1mbm8tc3RyaWN0LWFs aWFzaW5nIC1md3JhcHYgLWZleGNlc3MtcHJlY2lzaW9uPXN0YW5kYXJkIC1Xbm8tZm9ybWF0LXRy dW5jYXRpb24gLVduby1zdHJpbmdvcC10cnVuY2F0aW9uIC1nIC1PIC1mbm8tb21pdC1mcmFtZS1w b2ludGVyICAtSS93L1ItMy41Ll8vcG9zdGdyZXMvc3JjL2luY2x1ZGUvcG9ydC93aW4zMiAtREVY RUNfQkFDS0VORCAgLUkvdy96bGliLTEuMi44LXdpbjMyLXg4Nl82NC9pbmNsdWRlIC1JL3cvb3Bl bnNzbC0xLjAuMmUtd2luMzIteDg2XzY0L2luY2x1ZGUgLUkvdy9saWJ4bWwyLTIuOS4zLXdpbjMy LXg4Nl82NC9pbmNsdWRlL2xpYnhtbDIgLUkvdy9saWJ4c2x0LTEuMS4yOC13aW4zMi14ODZfNjQv aW5jbHVkZSAgLVdsLC0tYWxsb3ctbXVsdGlwbGUtZGVmaW5pdGlvbiAtV2wsLS1kaXNhYmxlLWF1 dG8taW1wb3J0ICAtTC93L3psaWItMS4yLjgtd2luMzIteDg2XzY0L2xpYiAtTC93L29wZW5zc2wt MS4wLjJlLXdpbjMyLXg4Nl82NC9saWIgLUwvdy9saWJ4bWwyLTIuOS4zLXdpbjMyLXg4Nl82NC9s aWIgLUwvdy9saWJ4c2x0LTEuMS4yOC13aW4zMi14ODZfNjQvbGliIGNvbmZ0ZXN0LmMgLWx4c2x0 IC1seG1sMiAtbHNzbCAtbGNyeXB0byAtbHogLWx3czJfMzIgLWxtICA+JjUKQzovbXN5czY0L21p bmd3NjQvYmluLy4uL2xpYi9nY2MveDg2XzY0LXc2NC1taW5ndzMyLzguMi4wLy4uLy4uLy4uLy4u L3g4Nl82NC13NjQtbWluZ3czMi9iaW4vbGQuZXhlOiBDOlxtc3lzNjRcdG1wXGNjVU1KSDJxLm86 IGluIGZ1bmN0aW9uIGBtYWluJzoNClc6XFItMy41Ll9ccG9zdGdyZXNcYnVpbGQvY29uZnRlc3Qu YzoxMjE6IHVuZGVmaW5lZCByZWZlcmVuY2UgdG8gYHBvc2l4X2ZhZHZpc2UnDQpjb2xsZWN0Mi5l eGU6IGVycm9yOiBsZCByZXR1cm5lZCAxIGV4aXQgc3RhdHVzCmNvbmZpZ3VyZToxNTA0NDogJD8g PSAxCmNvbmZpZ3VyZTogZmFpbGVkIHByb2dyYW0gd2FzOgp8IC8qIGNvbmZkZWZzLmggKi8KfCAj ZGVmaW5lIFBBQ0tBR0VfTkFNRSAiUG9zdGdyZVNRTCIKfCAjZGVmaW5lIFBBQ0tBR0VfVEFSTkFN RSAicG9zdGdyZXNxbCIKfCAjZGVmaW5lIFBBQ0tBR0VfVkVSU0lPTiAiMTFiZXRhMyIKfCAjZGVm aW5lIFBBQ0tBR0VfU1RSSU5HICJQb3N0Z3JlU1FMIDExYmV0YTMiCnwgI2RlZmluZSBQQUNLQUdF X0JVR1JFUE9SVCAicGdzcWwtYnVnc0Bwb3N0Z3Jlc3FsLm9yZyIKfCAjZGVmaW5lIFBBQ0tBR0Vf VVJMICIiCnwgI2RlZmluZSBQR19NQUpPUlZFUlNJT04gIjExIgp8ICNkZWZpbmUgUEdfVkVSU0lP TiAiMTFiZXRhMyIKfCAjZGVmaW5lIERFRl9QR1BPUlQgNTQzMgp8ICNkZWZpbmUgREVGX1BHUE9S VF9TVFIgIjU0MzIiCnwgI2RlZmluZSBCTENLU1ogODE5Mgp8ICNkZWZpbmUgUkVMU0VHX1NJWkUg MTMxMDcyCnwgI2RlZmluZSBYTE9HX0JMQ0tTWiA4MTkyCnwgI2RlZmluZSBVU0VfQVNTRVJUX0NI RUNLSU5HIDEKfCAjZGVmaW5lIEVOQUJMRV9USFJFQURfU0FGRVRZIDEKfCAjZGVmaW5lIFVTRV9J Q1UgMQp8ICNkZWZpbmUgUEdfS1JCX1NSVk5BTSAicG9zdGdyZXMiCnwgI2RlZmluZSBVU0VfT1BF TlNTTCAxCnwgI2RlZmluZSBVU0VfTElCWE1MIDEKfCAjZGVmaW5lIFVTRV9MSUJYU0xUIDEKfCAj ZGVmaW5lIFNURENfSEVBREVSUyAxCnwgI2RlZmluZSBIQVZFX1NZU19UWVBFU19IIDEKfCAjZGVm aW5lIEhBVkVfU1lTX1NUQVRfSCAxCnwgI2RlZmluZSBIQVZFX1NURExJQl9IIDEKfCAjZGVmaW5l IEhBVkVfU1RSSU5HX0ggMQp8ICNkZWZpbmUgSEFWRV9NRU1PUllfSCAxCnwgI2RlZmluZSBIQVZF X1NUUklOR1NfSCAxCnwgI2RlZmluZSBIQVZFX0lOVFRZUEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9T VERJTlRfSCAxCnwgI2RlZmluZSBIQVZFX1VOSVNURF9IIDEKfCAjZGVmaW5lIEhBVkVfTElCTSAx CnwgI2RlZmluZSBIQVZFX0xJQlogMQp8ICNkZWZpbmUgSEFWRV9TUElOTE9DS1MgMQp8ICNkZWZp bmUgSEFWRV9BVE9NSUNTIDEKfCAjZGVmaW5lIEhBVkVfU1NMX0dFVF9DVVJSRU5UX0NPTVBSRVNT SU9OIDEKfCAjZGVmaW5lIEhBVkVfWDUwOV9HRVRfU0lHTkFUVVJFX05JRCAxCnwgI2RlZmluZSBI QVZFX0NSWVBUT19MT0NLIDEKfCAjZGVmaW5lIEhBVkVfTElCWE1MMiAxCnwgI2RlZmluZSBIQVZF X0xJQlhTTFQgMQp8ICNkZWZpbmUgSEFWRV9fQk9PTCAxCnwgI2RlZmluZSBIQVZFX1NUREJPT0xf SCAxCnwgI2RlZmluZSBIQVZFX0dFVE9QVF9IIDEKfCAjZGVmaW5lIEhBVkVfSUVFRUZQX0ggMQp8 ICNkZWZpbmUgSEFWRV9VVElNRV9IIDEKfCAjZGVmaW5lIEhBVkVfV0NIQVJfSCAxCnwgI2RlZmlu ZSBIQVZFX1dDVFlQRV9IIDEKfCAjZGVmaW5lIEhBVkVfQ1JUREVGU19IIDEKfCAjZGVmaW5lIFBH X1BSSU5URl9BVFRSSUJVVEUgZ251X3ByaW50Zgp8ICNkZWZpbmUgRkxFWElCTEVfQVJSQVlfTUVN QkVSIC8qKi8KfCAjZGVmaW5lIEhBVkVfRlVOQ05BTUVfX0ZVTkMgMQp8ICNkZWZpbmUgSEFWRV9f U1RBVElDX0FTU0VSVCAxCnwgI2RlZmluZSBIQVZFX1RZUEVPRiAxCnwgI2RlZmluZSBIQVZFX19C VUlMVElOX1RZUEVTX0NPTVBBVElCTEVfUCAxCnwgI2RlZmluZSBIQVZFX19CVUlMVElOX0JTV0FQ MTYgMQp8ICNkZWZpbmUgSEFWRV9fQlVJTFRJTl9CU1dBUDMyIDEKfCAjZGVmaW5lIEhBVkVfX0JV SUxUSU5fQlNXQVA2NCAxCnwgI2RlZmluZSBIQVZFX19CVUlMVElOX0NPTlNUQU5UX1AgMQp8ICNk ZWZpbmUgSEFWRV9fQlVJTFRJTl9VTlJFQUNIQUJMRSAxCnwgI2RlZmluZSBIQVZFX0NPTVBVVEVE X0dPVE8gMQp8ICNkZWZpbmUgSEFWRV9fVkFfQVJHUyAxCnwgI2RlZmluZSBIQVZFX1RaTkFNRSAx CnwgI2RlZmluZSBIQVZFX1NUUlVDVF9TT0NLQUREUl9TVE9SQUdFIDEKfCAjZGVmaW5lIEhBVkVf U1RSVUNUX1NPQ0tBRERSX1NUT1JBR0VfU1NfRkFNSUxZIDEKfCAjZGVmaW5lIEhBVkVfU1RSVUNU X0FERFJJTkZPIDEKfCAjZGVmaW5lIEhBVkVfSU5UUFRSX1QgMQp8ICNkZWZpbmUgSEFWRV9VSU5U UFRSX1QgMQp8ICNkZWZpbmUgSEFWRV9VTlNJR05FRF9MT05HX0xPTkdfSU5UIDEKfCAjZGVmaW5l IEhBVkVfTE9OR19MT05HX0lOVCAxCnwgI2RlZmluZSByZXN0cmljdCBfX3Jlc3RyaWN0CnwgI2Rl ZmluZSBwZ19yZXN0cmljdCBfX3Jlc3RyaWN0CnwgI2RlZmluZSBIQVZFX1NUUlVDVF9PUFRJT04g MQp8ICNkZWZpbmUgU0laRU9GX09GRl9UIDQKfCAjZGVmaW5lIFNJWkVPRl9CT09MIDEKfCAjZGVm aW5lIEhBVkVfSU5UX1RJTUVaT05FIDEKfCAjZGVmaW5lIEFDQ0VQVF9UWVBFX1JFVFVSTiBTT0NL RVQgV1NBQVBJCnwgI2RlZmluZSBBQ0NFUFRfVFlQRV9BUkcxIFNPQ0tFVAp8ICNkZWZpbmUgQUND RVBUX1RZUEVfQVJHMiBzdHJ1Y3Qgc29ja2FkZHIgKgp8ICNkZWZpbmUgQUNDRVBUX1RZUEVfQVJH MyBpbnQKfCAjZGVmaW5lIEhBVkVfQ0JSVCAxCnwgI2RlZmluZSBIQVZFX0NMT0NLX0dFVFRJTUUg MQp8ICNkZWZpbmUgSEFWRV9NRU1NT1ZFIDEKfCAjZGVmaW5lIEhBVkVfVVRJTUUgMQp8ICNkZWZp bmUgSEFWRV9GU0VFS08gMQp8ICNkZWZpbmUgSEFWRV9GU0VFS08gMQp8IC8qIGVuZCBjb25mZGVm cy5oLiAgKi8KfCAvKiBEZWZpbmUgcG9zaXhfZmFkdmlzZSB0byBhbiBpbm5vY3VvdXMgdmFyaWFu dCwgaW4gY2FzZSA8bGltaXRzLmg+IGRlY2xhcmVzIHBvc2l4X2ZhZHZpc2UuCnwgICAgRm9yIGV4 YW1wbGUsIEhQLVVYIDExaSA8bGltaXRzLmg+IGRlY2xhcmVzIGdldHRpbWVvZmRheS4gICovCnwg I2RlZmluZSBwb3NpeF9mYWR2aXNlIGlubm9jdW91c19wb3NpeF9mYWR2aXNlCnwgCnwgLyogU3lz dGVtIGhlYWRlciB0byBkZWZpbmUgX19zdHViIG1hY3JvcyBhbmQgaG9wZWZ1bGx5IGZldyBwcm90 b3R5cGVzLAp8ICAgICB3aGljaCBjYW4gY29uZmxpY3Qgd2l0aCBjaGFyIHBvc2l4X2ZhZHZpc2Ug KCk7IGJlbG93Lgp8ICAgICBQcmVmZXIgPGxpbWl0cy5oPiB0byA8YXNzZXJ0Lmg+IGlmIF9fU1RE Q19fIGlzIGRlZmluZWQsIHNpbmNlCnwgICAgIDxsaW1pdHMuaD4gZXhpc3RzIGV2ZW4gb24gZnJl ZXN0YW5kaW5nIGNvbXBpbGVycy4gICovCnwgCnwgI2lmZGVmIF9fU1REQ19fCnwgIyBpbmNsdWRl IDxsaW1pdHMuaD4KfCAjZWxzZQp8ICMgaW5jbHVkZSA8YXNzZXJ0Lmg+CnwgI2VuZGlmCnwgCnwg I3VuZGVmIHBvc2l4X2ZhZHZpc2UKfCAKfCAvKiBPdmVycmlkZSBhbnkgR0NDIGludGVybmFsIHBy b3RvdHlwZSB0byBhdm9pZCBhbiBlcnJvci4KfCAgICBVc2UgY2hhciBiZWNhdXNlIGludCBtaWdo dCBtYXRjaCB0aGUgcmV0dXJuIHR5cGUgb2YgYSBHQ0MKfCAgICBidWlsdGluIGFuZCB0aGVuIGl0 cyBhcmd1bWVudCBwcm90b3R5cGUgd291bGQgc3RpbGwgYXBwbHkuICAqLwp8ICNpZmRlZiBfX2Nw bHVzcGx1cwp8IGV4dGVybiAiQyIKfCAjZW5kaWYKfCBjaGFyIHBvc2l4X2ZhZHZpc2UgKCk7Cnwg LyogVGhlIEdOVSBDIGxpYnJhcnkgZGVmaW5lcyB0aGlzIGZvciBmdW5jdGlvbnMgd2hpY2ggaXQg aW1wbGVtZW50cwp8ICAgICB0byBhbHdheXMgZmFpbCB3aXRoIEVOT1NZUy4gIFNvbWUgZnVuY3Rp b25zIGFyZSBhY3R1YWxseSBuYW1lZAp8ICAgICBzb21ldGhpbmcgc3RhcnRpbmcgd2l0aCBfXyBh bmQgdGhlIG5vcm1hbCBuYW1lIGlzIGFuIGFsaWFzLiAgKi8KfCAjaWYgZGVmaW5lZCBfX3N0dWJf cG9zaXhfZmFkdmlzZSB8fCBkZWZpbmVkIF9fc3R1Yl9fX3Bvc2l4X2ZhZHZpc2UKfCBjaG9rZSBt ZQp8ICNlbmRpZgp8IAp8IGludAp8IG1haW4gKCkKfCB7CnwgcmV0dXJuIHBvc2l4X2ZhZHZpc2Ug KCk7CnwgICA7CnwgICByZXR1cm4gMDsKfCB9CmNvbmZpZ3VyZToxNTA0NDogcmVzdWx0OiBubwpj b25maWd1cmU6MTUwNTM6IGNoZWNraW5nIHdoZXRoZXIgcG9zaXhfZmFkdmlzZSBpcyBkZWNsYXJl ZApjb25maWd1cmU6MTUwNTM6IHg4Nl82NC13NjQtbWluZ3czMi1nY2MgLWMgLVdhbGwgLVdtaXNz aW5nLXByb3RvdHlwZXMgLVdwb2ludGVyLWFyaXRoIC1XZGVjbGFyYXRpb24tYWZ0ZXItc3RhdGVt ZW50IC1XZW5kaWYtbGFiZWxzIC1XbWlzc2luZy1mb3JtYXQtYXR0cmlidXRlIC1XZm9ybWF0LXNl Y3VyaXR5IC1mbm8tc3RyaWN0LWFsaWFzaW5nIC1md3JhcHYgLWZleGNlc3MtcHJlY2lzaW9uPXN0 YW5kYXJkIC1Xbm8tZm9ybWF0LXRydW5jYXRpb24gLVduby1zdHJpbmdvcC10cnVuY2F0aW9uIC1n IC1PIC1mbm8tb21pdC1mcmFtZS1wb2ludGVyICAtSS93L1ItMy41Ll8vcG9zdGdyZXMvc3JjL2lu Y2x1ZGUvcG9ydC93aW4zMiAtREVYRUNfQkFDS0VORCAgLUkvdy96bGliLTEuMi44LXdpbjMyLXg4 Nl82NC9pbmNsdWRlIC1JL3cvb3BlbnNzbC0xLjAuMmUtd2luMzIteDg2XzY0L2luY2x1ZGUgLUkv dy9saWJ4bWwyLTIuOS4zLXdpbjMyLXg4Nl82NC9pbmNsdWRlL2xpYnhtbDIgLUkvdy9saWJ4c2x0 LTEuMS4yOC13aW4zMi14ODZfNjQvaW5jbHVkZSBjb25mdGVzdC5jID4mNQpjb25mdGVzdC5jOiBJ biBmdW5jdGlvbiAnbWFpbic6CmNvbmZ0ZXN0LmM6OTY6MTA6IGVycm9yOiAncG9zaXhfZmFkdmlz ZScgdW5kZWNsYXJlZCAoZmlyc3QgdXNlIGluIHRoaXMgZnVuY3Rpb24pCiAgICh2b2lkKSBwb3Np eF9mYWR2aXNlOwogICAgICAgICAgXn5+fn5+fn5+fn5+fgpjb25mdGVzdC5jOjk2OjEwOiBub3Rl OiBlYWNoIHVuZGVjbGFyZWQgaWRlbnRpZmllciBpcyByZXBvcnRlZCBvbmx5IG9uY2UgZm9yIGVh Y2ggZnVuY3Rpb24gaXQgYXBwZWFycyBpbgpjb25maWd1cmU6MTUwNTM6ICQ/ID0gMQpjb25maWd1 cmU6IGZhaWxlZCBwcm9ncmFtIHdhczoKfCAvKiBjb25mZGVmcy5oICovCnwgI2RlZmluZSBQQUNL QUdFX05BTUUgIlBvc3RncmVTUUwiCnwgI2RlZmluZSBQQUNLQUdFX1RBUk5BTUUgInBvc3RncmVz cWwiCnwgI2RlZmluZSBQQUNLQUdFX1ZFUlNJT04gIjExYmV0YTMiCnwgI2RlZmluZSBQQUNLQUdF X1NUUklORyAiUG9zdGdyZVNRTCAxMWJldGEzIgp8ICNkZWZpbmUgUEFDS0FHRV9CVUdSRVBPUlQg InBnc3FsLWJ1Z3NAcG9zdGdyZXNxbC5vcmciCnwgI2RlZmluZSBQQUNLQUdFX1VSTCAiIgp8ICNk ZWZpbmUgUEdfTUFKT1JWRVJTSU9OICIxMSIKfCAjZGVmaW5lIFBHX1ZFUlNJT04gIjExYmV0YTMi CnwgI2RlZmluZSBERUZfUEdQT1JUIDU0MzIKfCAjZGVmaW5lIERFRl9QR1BPUlRfU1RSICI1NDMy Igp8ICNkZWZpbmUgQkxDS1NaIDgxOTIKfCAjZGVmaW5lIFJFTFNFR19TSVpFIDEzMTA3Mgp8ICNk ZWZpbmUgWExPR19CTENLU1ogODE5Mgp8ICNkZWZpbmUgVVNFX0FTU0VSVF9DSEVDS0lORyAxCnwg I2RlZmluZSBFTkFCTEVfVEhSRUFEX1NBRkVUWSAxCnwgI2RlZmluZSBVU0VfSUNVIDEKfCAjZGVm aW5lIFBHX0tSQl9TUlZOQU0gInBvc3RncmVzIgp8ICNkZWZpbmUgVVNFX09QRU5TU0wgMQp8ICNk ZWZpbmUgVVNFX0xJQlhNTCAxCnwgI2RlZmluZSBVU0VfTElCWFNMVCAxCnwgI2RlZmluZSBTVERD X0hFQURFUlMgMQp8ICNkZWZpbmUgSEFWRV9TWVNfVFlQRVNfSCAxCnwgI2RlZmluZSBIQVZFX1NZ U19TVEFUX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERMSUJfSCAxCnwgI2RlZmluZSBIQVZFX1NUUklO R19IIDEKfCAjZGVmaW5lIEhBVkVfTUVNT1JZX0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJJTkdTX0gg MQp8ICNkZWZpbmUgSEFWRV9JTlRUWVBFU19IIDEKfCAjZGVmaW5lIEhBVkVfU1RESU5UX0ggMQp8 ICNkZWZpbmUgSEFWRV9VTklTVERfSCAxCnwgI2RlZmluZSBIQVZFX0xJQk0gMQp8ICNkZWZpbmUg SEFWRV9MSUJaIDEKfCAjZGVmaW5lIEhBVkVfU1BJTkxPQ0tTIDEKfCAjZGVmaW5lIEhBVkVfQVRP TUlDUyAxCnwgI2RlZmluZSBIQVZFX1NTTF9HRVRfQ1VSUkVOVF9DT01QUkVTU0lPTiAxCnwgI2Rl ZmluZSBIQVZFX1g1MDlfR0VUX1NJR05BVFVSRV9OSUQgMQp8ICNkZWZpbmUgSEFWRV9DUllQVE9f TE9DSyAxCnwgI2RlZmluZSBIQVZFX0xJQlhNTDIgMQp8ICNkZWZpbmUgSEFWRV9MSUJYU0xUIDEK fCAjZGVmaW5lIEhBVkVfX0JPT0wgMQp8ICNkZWZpbmUgSEFWRV9TVERCT09MX0ggMQp8ICNkZWZp bmUgSEFWRV9HRVRPUFRfSCAxCnwgI2RlZmluZSBIQVZFX0lFRUVGUF9IIDEKfCAjZGVmaW5lIEhB VkVfVVRJTUVfSCAxCnwgI2RlZmluZSBIQVZFX1dDSEFSX0ggMQp8ICNkZWZpbmUgSEFWRV9XQ1RZ UEVfSCAxCnwgI2RlZmluZSBIQVZFX0NSVERFRlNfSCAxCnwgI2RlZmluZSBQR19QUklOVEZfQVRU UklCVVRFIGdudV9wcmludGYKfCAjZGVmaW5lIEZMRVhJQkxFX0FSUkFZX01FTUJFUiAvKiovCnwg I2RlZmluZSBIQVZFX0ZVTkNOQU1FX19GVU5DIDEKfCAjZGVmaW5lIEhBVkVfX1NUQVRJQ19BU1NF UlQgMQp8ICNkZWZpbmUgSEFWRV9UWVBFT0YgMQp8ICNkZWZpbmUgSEFWRV9fQlVJTFRJTl9UWVBF U19DT01QQVRJQkxFX1AgMQp8ICNkZWZpbmUgSEFWRV9fQlVJTFRJTl9CU1dBUDE2IDEKfCAjZGVm aW5lIEhBVkVfX0JVSUxUSU5fQlNXQVAzMiAxCnwgI2RlZmluZSBIQVZFX19CVUlMVElOX0JTV0FQ NjQgMQp8ICNkZWZpbmUgSEFWRV9fQlVJTFRJTl9DT05TVEFOVF9QIDEKfCAjZGVmaW5lIEhBVkVf X0JVSUxUSU5fVU5SRUFDSEFCTEUgMQp8ICNkZWZpbmUgSEFWRV9DT01QVVRFRF9HT1RPIDEKfCAj ZGVmaW5lIEhBVkVfX1ZBX0FSR1MgMQp8ICNkZWZpbmUgSEFWRV9UWk5BTUUgMQp8ICNkZWZpbmUg SEFWRV9TVFJVQ1RfU09DS0FERFJfU1RPUkFHRSAxCnwgI2RlZmluZSBIQVZFX1NUUlVDVF9TT0NL QUREUl9TVE9SQUdFX1NTX0ZBTUlMWSAxCnwgI2RlZmluZSBIQVZFX1NUUlVDVF9BRERSSU5GTyAx CnwgI2RlZmluZSBIQVZFX0lOVFBUUl9UIDEKfCAjZGVmaW5lIEhBVkVfVUlOVFBUUl9UIDEKfCAj ZGVmaW5lIEhBVkVfVU5TSUdORURfTE9OR19MT05HX0lOVCAxCnwgI2RlZmluZSBIQVZFX0xPTkdf TE9OR19JTlQgMQp8ICNkZWZpbmUgcmVzdHJpY3QgX19yZXN0cmljdAp8ICNkZWZpbmUgcGdfcmVz dHJpY3QgX19yZXN0cmljdAp8ICNkZWZpbmUgSEFWRV9TVFJVQ1RfT1BUSU9OIDEKfCAjZGVmaW5l IFNJWkVPRl9PRkZfVCA0CnwgI2RlZmluZSBTSVpFT0ZfQk9PTCAxCnwgI2RlZmluZSBIQVZFX0lO VF9USU1FWk9ORSAxCnwgI2RlZmluZSBBQ0NFUFRfVFlQRV9SRVRVUk4gU09DS0VUIFdTQUFQSQp8 ICNkZWZpbmUgQUNDRVBUX1RZUEVfQVJHMSBTT0NLRVQKfCAjZGVmaW5lIEFDQ0VQVF9UWVBFX0FS RzIgc3RydWN0IHNvY2thZGRyICoKfCAjZGVmaW5lIEFDQ0VQVF9UWVBFX0FSRzMgaW50CnwgI2Rl ZmluZSBIQVZFX0NCUlQgMQp8ICNkZWZpbmUgSEFWRV9DTE9DS19HRVRUSU1FIDEKfCAjZGVmaW5l IEhBVkVfTUVNTU9WRSAxCnwgI2RlZmluZSBIQVZFX1VUSU1FIDEKfCAjZGVmaW5lIEhBVkVfRlNF RUtPIDEKfCAjZGVmaW5lIEhBVkVfRlNFRUtPIDEKfCAvKiBlbmQgY29uZmRlZnMuaC4gICovCnwg I2luY2x1ZGUgPGZjbnRsLmg+CnwgCnwgaW50CnwgbWFpbiAoKQp8IHsKfCAjaWZuZGVmIHBvc2l4 X2ZhZHZpc2UKfCAjaWZkZWYgX19jcGx1c3BsdXMKfCAgICh2b2lkKSBwb3NpeF9mYWR2aXNlOwp8 ICNlbHNlCnwgICAodm9pZCkgcG9zaXhfZmFkdmlzZTsKfCAjZW5kaWYKfCAjZW5kaWYKfCAKfCAg IDsKfCAgIHJldHVybiAwOwp8IH0KY29uZmlndXJlOjE1MDUzOiByZXN1bHQ6IG5vCmNvbmZpZ3Vy ZToxNTA2NzogY2hlY2tpbmcgd2hldGhlciBmZGF0YXN5bmMgaXMgZGVjbGFyZWQKY29uZmlndXJl OjE1MDY3OiB4ODZfNjQtdzY0LW1pbmd3MzItZ2NjIC1jIC1XYWxsIC1XbWlzc2luZy1wcm90b3R5 cGVzIC1XcG9pbnRlci1hcml0aCAtV2RlY2xhcmF0aW9uLWFmdGVyLXN0YXRlbWVudCAtV2VuZGlm LWxhYmVscyAtV21pc3NpbmctZm9ybWF0LWF0dHJpYnV0ZSAtV2Zvcm1hdC1zZWN1cml0eSAtZm5v LXN0cmljdC1hbGlhc2luZyAtZndyYXB2IC1mZXhjZXNzLXByZWNpc2lvbj1zdGFuZGFyZCAtV25v LWZvcm1hdC10cnVuY2F0aW9uIC1Xbm8tc3RyaW5nb3AtdHJ1bmNhdGlvbiAtZyAtTyAtZm5vLW9t aXQtZnJhbWUtcG9pbnRlciAgLUkvdy9SLTMuNS5fL3Bvc3RncmVzL3NyYy9pbmNsdWRlL3BvcnQv d2luMzIgLURFWEVDX0JBQ0tFTkQgIC1JL3cvemxpYi0xLjIuOC13aW4zMi14ODZfNjQvaW5jbHVk ZSAtSS93L29wZW5zc2wtMS4wLjJlLXdpbjMyLXg4Nl82NC9pbmNsdWRlIC1JL3cvbGlieG1sMi0y LjkuMy13aW4zMi14ODZfNjQvaW5jbHVkZS9saWJ4bWwyIC1JL3cvbGlieHNsdC0xLjEuMjgtd2lu MzIteDg2XzY0L2luY2x1ZGUgY29uZnRlc3QuYyA+JjUKY29uZnRlc3QuYzogSW4gZnVuY3Rpb24g J21haW4nOgpjb25mdGVzdC5jOjk3OjEwOiBlcnJvcjogJ2ZkYXRhc3luYycgdW5kZWNsYXJlZCAo Zmlyc3QgdXNlIGluIHRoaXMgZnVuY3Rpb24pCiAgICh2b2lkKSBmZGF0YXN5bmM7CiAgICAgICAg ICBefn5+fn5+fn4KY29uZnRlc3QuYzo5NzoxMDogbm90ZTogZWFjaCB1bmRlY2xhcmVkIGlkZW50 aWZpZXIgaXMgcmVwb3J0ZWQgb25seSBvbmNlIGZvciBlYWNoIGZ1bmN0aW9uIGl0IGFwcGVhcnMg aW4KY29uZmlndXJlOjE1MDY3OiAkPyA9IDEKY29uZmlndXJlOiBmYWlsZWQgcHJvZ3JhbSB3YXM6 CnwgLyogY29uZmRlZnMuaCAqLwp8ICNkZWZpbmUgUEFDS0FHRV9OQU1FICJQb3N0Z3JlU1FMIgp8 ICNkZWZpbmUgUEFDS0FHRV9UQVJOQU1FICJwb3N0Z3Jlc3FsIgp8ICNkZWZpbmUgUEFDS0FHRV9W RVJTSU9OICIxMWJldGEzIgp8ICNkZWZpbmUgUEFDS0FHRV9TVFJJTkcgIlBvc3RncmVTUUwgMTFi ZXRhMyIKfCAjZGVmaW5lIFBBQ0tBR0VfQlVHUkVQT1JUICJwZ3NxbC1idWdzQHBvc3RncmVzcWwu b3JnIgp8ICNkZWZpbmUgUEFDS0FHRV9VUkwgIiIKfCAjZGVmaW5lIFBHX01BSk9SVkVSU0lPTiAi MTEiCnwgI2RlZmluZSBQR19WRVJTSU9OICIxMWJldGEzIgp8ICNkZWZpbmUgREVGX1BHUE9SVCA1 NDMyCnwgI2RlZmluZSBERUZfUEdQT1JUX1NUUiAiNTQzMiIKfCAjZGVmaW5lIEJMQ0tTWiA4MTky CnwgI2RlZmluZSBSRUxTRUdfU0laRSAxMzEwNzIKfCAjZGVmaW5lIFhMT0dfQkxDS1NaIDgxOTIK fCAjZGVmaW5lIFVTRV9BU1NFUlRfQ0hFQ0tJTkcgMQp8ICNkZWZpbmUgRU5BQkxFX1RIUkVBRF9T QUZFVFkgMQp8ICNkZWZpbmUgVVNFX0lDVSAxCnwgI2RlZmluZSBQR19LUkJfU1JWTkFNICJwb3N0 Z3JlcyIKfCAjZGVmaW5lIFVTRV9PUEVOU1NMIDEKfCAjZGVmaW5lIFVTRV9MSUJYTUwgMQp8ICNk ZWZpbmUgVVNFX0xJQlhTTFQgMQp8ICNkZWZpbmUgU1REQ19IRUFERVJTIDEKfCAjZGVmaW5lIEhB VkVfU1lTX1RZUEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfU1RBVF9IIDEKfCAjZGVmaW5lIEhB VkVfU1RETElCX0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJJTkdfSCAxCnwgI2RlZmluZSBIQVZFX01F TU9SWV9IIDEKfCAjZGVmaW5lIEhBVkVfU1RSSU5HU19IIDEKfCAjZGVmaW5lIEhBVkVfSU5UVFlQ RVNfSCAxCnwgI2RlZmluZSBIQVZFX1NURElOVF9IIDEKfCAjZGVmaW5lIEhBVkVfVU5JU1REX0gg MQp8ICNkZWZpbmUgSEFWRV9MSUJNIDEKfCAjZGVmaW5lIEhBVkVfTElCWiAxCnwgI2RlZmluZSBI QVZFX1NQSU5MT0NLUyAxCnwgI2RlZmluZSBIQVZFX0FUT01JQ1MgMQp8ICNkZWZpbmUgSEFWRV9T U0xfR0VUX0NVUlJFTlRfQ09NUFJFU1NJT04gMQp8ICNkZWZpbmUgSEFWRV9YNTA5X0dFVF9TSUdO QVRVUkVfTklEIDEKfCAjZGVmaW5lIEhBVkVfQ1JZUFRPX0xPQ0sgMQp8ICNkZWZpbmUgSEFWRV9M SUJYTUwyIDEKfCAjZGVmaW5lIEhBVkVfTElCWFNMVCAxCnwgI2RlZmluZSBIQVZFX19CT09MIDEK fCAjZGVmaW5lIEhBVkVfU1REQk9PTF9IIDEKfCAjZGVmaW5lIEhBVkVfR0VUT1BUX0ggMQp8ICNk ZWZpbmUgSEFWRV9JRUVFRlBfSCAxCnwgI2RlZmluZSBIQVZFX1VUSU1FX0ggMQp8ICNkZWZpbmUg SEFWRV9XQ0hBUl9IIDEKfCAjZGVmaW5lIEhBVkVfV0NUWVBFX0ggMQp8ICNkZWZpbmUgSEFWRV9D UlRERUZTX0ggMQp8ICNkZWZpbmUgUEdfUFJJTlRGX0FUVFJJQlVURSBnbnVfcHJpbnRmCnwgI2Rl ZmluZSBGTEVYSUJMRV9BUlJBWV9NRU1CRVIgLyoqLwp8ICNkZWZpbmUgSEFWRV9GVU5DTkFNRV9f RlVOQyAxCnwgI2RlZmluZSBIQVZFX19TVEFUSUNfQVNTRVJUIDEKfCAjZGVmaW5lIEhBVkVfVFlQ RU9GIDEKfCAjZGVmaW5lIEhBVkVfX0JVSUxUSU5fVFlQRVNfQ09NUEFUSUJMRV9QIDEKfCAjZGVm aW5lIEhBVkVfX0JVSUxUSU5fQlNXQVAxNiAxCnwgI2RlZmluZSBIQVZFX19CVUlMVElOX0JTV0FQ MzIgMQp8ICNkZWZpbmUgSEFWRV9fQlVJTFRJTl9CU1dBUDY0IDEKfCAjZGVmaW5lIEhBVkVfX0JV SUxUSU5fQ09OU1RBTlRfUCAxCnwgI2RlZmluZSBIQVZFX19CVUlMVElOX1VOUkVBQ0hBQkxFIDEK fCAjZGVmaW5lIEhBVkVfQ09NUFVURURfR09UTyAxCnwgI2RlZmluZSBIQVZFX19WQV9BUkdTIDEK fCAjZGVmaW5lIEhBVkVfVFpOQU1FIDEKfCAjZGVmaW5lIEhBVkVfU1RSVUNUX1NPQ0tBRERSX1NU T1JBR0UgMQp8ICNkZWZpbmUgSEFWRV9TVFJVQ1RfU09DS0FERFJfU1RPUkFHRV9TU19GQU1JTFkg MQp8ICNkZWZpbmUgSEFWRV9TVFJVQ1RfQUREUklORk8gMQp8ICNkZWZpbmUgSEFWRV9JTlRQVFJf VCAxCnwgI2RlZmluZSBIQVZFX1VJTlRQVFJfVCAxCnwgI2RlZmluZSBIQVZFX1VOU0lHTkVEX0xP TkdfTE9OR19JTlQgMQp8ICNkZWZpbmUgSEFWRV9MT05HX0xPTkdfSU5UIDEKfCAjZGVmaW5lIHJl c3RyaWN0IF9fcmVzdHJpY3QKfCAjZGVmaW5lIHBnX3Jlc3RyaWN0IF9fcmVzdHJpY3QKfCAjZGVm aW5lIEhBVkVfU1RSVUNUX09QVElPTiAxCnwgI2RlZmluZSBTSVpFT0ZfT0ZGX1QgNAp8ICNkZWZp bmUgU0laRU9GX0JPT0wgMQp8ICNkZWZpbmUgSEFWRV9JTlRfVElNRVpPTkUgMQp8ICNkZWZpbmUg QUNDRVBUX1RZUEVfUkVUVVJOIFNPQ0tFVCBXU0FBUEkKfCAjZGVmaW5lIEFDQ0VQVF9UWVBFX0FS RzEgU09DS0VUCnwgI2RlZmluZSBBQ0NFUFRfVFlQRV9BUkcyIHN0cnVjdCBzb2NrYWRkciAqCnwg I2RlZmluZSBBQ0NFUFRfVFlQRV9BUkczIGludAp8ICNkZWZpbmUgSEFWRV9DQlJUIDEKfCAjZGVm aW5lIEhBVkVfQ0xPQ0tfR0VUVElNRSAxCnwgI2RlZmluZSBIQVZFX01FTU1PVkUgMQp8ICNkZWZp bmUgSEFWRV9VVElNRSAxCnwgI2RlZmluZSBIQVZFX0ZTRUVLTyAxCnwgI2RlZmluZSBIQVZFX0ZT RUVLTyAxCnwgI2RlZmluZSBIQVZFX0RFQ0xfUE9TSVhfRkFEVklTRSAwCnwgLyogZW5kIGNvbmZk ZWZzLmguICAqLwp8ICNpbmNsdWRlIDx1bmlzdGQuaD4KfCAKfCBpbnQKfCBtYWluICgpCnwgewp8 ICNpZm5kZWYgZmRhdGFzeW5jCnwgI2lmZGVmIF9fY3BsdXNwbHVzCnwgICAodm9pZCkgZmRhdGFz eW5jOwp8ICNlbHNlCnwgICAodm9pZCkgZmRhdGFzeW5jOwp8ICNlbmRpZgp8ICNlbmRpZgp8IAp8 ICAgOwp8ICAgcmV0dXJuIDA7CnwgfQpjb25maWd1cmU6MTUwNjc6IHJlc3VsdDogbm8KY29uZmln dXJlOjE1MDc5OiBjaGVja2luZyB3aGV0aGVyIHN0cmxjYXQgaXMgZGVjbGFyZWQKY29uZmlndXJl OjE1MDc5OiB4ODZfNjQtdzY0LW1pbmd3MzItZ2NjIC1jIC1XYWxsIC1XbWlzc2luZy1wcm90b3R5 cGVzIC1XcG9pbnRlci1hcml0aCAtV2RlY2xhcmF0aW9uLWFmdGVyLXN0YXRlbWVudCAtV2VuZGlm LWxhYmVscyAtV21pc3NpbmctZm9ybWF0LWF0dHJpYnV0ZSAtV2Zvcm1hdC1zZWN1cml0eSAtZm5v LXN0cmljdC1hbGlhc2luZyAtZndyYXB2IC1mZXhjZXNzLXByZWNpc2lvbj1zdGFuZGFyZCAtV25v LWZvcm1hdC10cnVuY2F0aW9uIC1Xbm8tc3RyaW5nb3AtdHJ1bmNhdGlvbiAtZyAtTyAtZm5vLW9t aXQtZnJhbWUtcG9pbnRlciAgLUkvdy9SLTMuNS5fL3Bvc3RncmVzL3NyYy9pbmNsdWRlL3BvcnQv d2luMzIgLURFWEVDX0JBQ0tFTkQgIC1JL3cvemxpYi0xLjIuOC13aW4zMi14ODZfNjQvaW5jbHVk ZSAtSS93L29wZW5zc2wtMS4wLjJlLXdpbjMyLXg4Nl82NC9pbmNsdWRlIC1JL3cvbGlieG1sMi0y LjkuMy13aW4zMi14ODZfNjQvaW5jbHVkZS9saWJ4bWwyIC1JL3cvbGlieHNsdC0xLjEuMjgtd2lu MzIteDg2XzY0L2luY2x1ZGUgY29uZnRlc3QuYyA+JjUKY29uZnRlc3QuYzogSW4gZnVuY3Rpb24g J21haW4nOgpjb25mdGVzdC5jOjEyOToxMDogZXJyb3I6ICdzdHJsY2F0JyB1bmRlY2xhcmVkIChm aXJzdCB1c2UgaW4gdGhpcyBmdW5jdGlvbik7IGRpZCB5b3UgbWVhbiAnc3RybmNhdCc/CiAgICh2 b2lkKSBzdHJsY2F0OwogICAgICAgICAgXn5+fn5+fgogICAgICAgICAgc3RybmNhdApjb25mdGVz dC5jOjEyOToxMDogbm90ZTogZWFjaCB1bmRlY2xhcmVkIGlkZW50aWZpZXIgaXMgcmVwb3J0ZWQg b25seSBvbmNlIGZvciBlYWNoIGZ1bmN0aW9uIGl0IGFwcGVhcnMgaW4KY29uZmlndXJlOjE1MDc5 OiAkPyA9IDEKY29uZmlndXJlOiBmYWlsZWQgcHJvZ3JhbSB3YXM6CnwgLyogY29uZmRlZnMuaCAq Lwp8ICNkZWZpbmUgUEFDS0FHRV9OQU1FICJQb3N0Z3JlU1FMIgp8ICNkZWZpbmUgUEFDS0FHRV9U QVJOQU1FICJwb3N0Z3Jlc3FsIgp8ICNkZWZpbmUgUEFDS0FHRV9WRVJTSU9OICIxMWJldGEzIgp8 ICNkZWZpbmUgUEFDS0FHRV9TVFJJTkcgIlBvc3RncmVTUUwgMTFiZXRhMyIKfCAjZGVmaW5lIFBB Q0tBR0VfQlVHUkVQT1JUICJwZ3NxbC1idWdzQHBvc3RncmVzcWwub3JnIgp8ICNkZWZpbmUgUEFD S0FHRV9VUkwgIiIKfCAjZGVmaW5lIFBHX01BSk9SVkVSU0lPTiAiMTEiCnwgI2RlZmluZSBQR19W RVJTSU9OICIxMWJldGEzIgp8ICNkZWZpbmUgREVGX1BHUE9SVCA1NDMyCnwgI2RlZmluZSBERUZf UEdQT1JUX1NUUiAiNTQzMiIKfCAjZGVmaW5lIEJMQ0tTWiA4MTkyCnwgI2RlZmluZSBSRUxTRUdf U0laRSAxMzEwNzIKfCAjZGVmaW5lIFhMT0dfQkxDS1NaIDgxOTIKfCAjZGVmaW5lIFVTRV9BU1NF UlRfQ0hFQ0tJTkcgMQp8ICNkZWZpbmUgRU5BQkxFX1RIUkVBRF9TQUZFVFkgMQp8ICNkZWZpbmUg VVNFX0lDVSAxCnwgI2RlZmluZSBQR19LUkJfU1JWTkFNICJwb3N0Z3JlcyIKfCAjZGVmaW5lIFVT RV9PUEVOU1NMIDEKfCAjZGVmaW5lIFVTRV9MSUJYTUwgMQp8ICNkZWZpbmUgVVNFX0xJQlhTTFQg MQp8ICNkZWZpbmUgU1REQ19IRUFERVJTIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1RZUEVTX0ggMQp8 ICNkZWZpbmUgSEFWRV9TWVNfU1RBVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1RETElCX0ggMQp8ICNk ZWZpbmUgSEFWRV9TVFJJTkdfSCAxCnwgI2RlZmluZSBIQVZFX01FTU9SWV9IIDEKfCAjZGVmaW5l IEhBVkVfU1RSSU5HU19IIDEKfCAjZGVmaW5lIEhBVkVfSU5UVFlQRVNfSCAxCnwgI2RlZmluZSBI QVZFX1NURElOVF9IIDEKfCAjZGVmaW5lIEhBVkVfVU5JU1REX0ggMQp8ICNkZWZpbmUgSEFWRV9M SUJNIDEKfCAjZGVmaW5lIEhBVkVfTElCWiAxCnwgI2RlZmluZSBIQVZFX1NQSU5MT0NLUyAxCnwg I2RlZmluZSBIQVZFX0FUT01JQ1MgMQp8ICNkZWZpbmUgSEFWRV9TU0xfR0VUX0NVUlJFTlRfQ09N UFJFU1NJT04gMQp8ICNkZWZpbmUgSEFWRV9YNTA5X0dFVF9TSUdOQVRVUkVfTklEIDEKfCAjZGVm aW5lIEhBVkVfQ1JZUFRPX0xPQ0sgMQp8ICNkZWZpbmUgSEFWRV9MSUJYTUwyIDEKfCAjZGVmaW5l IEhBVkVfTElCWFNMVCAxCnwgI2RlZmluZSBIQVZFX19CT09MIDEKfCAjZGVmaW5lIEhBVkVfU1RE Qk9PTF9IIDEKfCAjZGVmaW5lIEhBVkVfR0VUT1BUX0ggMQp8ICNkZWZpbmUgSEFWRV9JRUVFRlBf SCAxCnwgI2RlZmluZSBIQVZFX1VUSU1FX0ggMQp8ICNkZWZpbmUgSEFWRV9XQ0hBUl9IIDEKfCAj ZGVmaW5lIEhBVkVfV0NUWVBFX0ggMQp8ICNkZWZpbmUgSEFWRV9DUlRERUZTX0ggMQp8ICNkZWZp bmUgUEdfUFJJTlRGX0FUVFJJQlVURSBnbnVfcHJpbnRmCnwgI2RlZmluZSBGTEVYSUJMRV9BUlJB WV9NRU1CRVIgLyoqLwp8ICNkZWZpbmUgSEFWRV9GVU5DTkFNRV9fRlVOQyAxCnwgI2RlZmluZSBI QVZFX19TVEFUSUNfQVNTRVJUIDEKfCAjZGVmaW5lIEhBVkVfVFlQRU9GIDEKfCAjZGVmaW5lIEhB VkVfX0JVSUxUSU5fVFlQRVNfQ09NUEFUSUJMRV9QIDEKfCAjZGVmaW5lIEhBVkVfX0JVSUxUSU5f QlNXQVAxNiAxCnwgI2RlZmluZSBIQVZFX19CVUlMVElOX0JTV0FQMzIgMQp8ICNkZWZpbmUgSEFW RV9fQlVJTFRJTl9CU1dBUDY0IDEKfCAjZGVmaW5lIEhBVkVfX0JVSUxUSU5fQ09OU1RBTlRfUCAx CnwgI2RlZmluZSBIQVZFX19CVUlMVElOX1VOUkVBQ0hBQkxFIDEKfCAjZGVmaW5lIEhBVkVfQ09N UFVURURfR09UTyAxCnwgI2RlZmluZSBIQVZFX19WQV9BUkdTIDEKfCAjZGVmaW5lIEhBVkVfVFpO QU1FIDEKfCAjZGVmaW5lIEhBVkVfU1RSVUNUX1NPQ0tBRERSX1NUT1JBR0UgMQp8ICNkZWZpbmUg SEFWRV9TVFJVQ1RfU09DS0FERFJfU1RPUkFHRV9TU19GQU1JTFkgMQp8ICNkZWZpbmUgSEFWRV9T VFJVQ1RfQUREUklORk8gMQp8ICNkZWZpbmUgSEFWRV9JTlRQVFJfVCAxCnwgI2RlZmluZSBIQVZF X1VJTlRQVFJfVCAxCnwgI2RlZmluZSBIQVZFX1VOU0lHTkVEX0xPTkdfTE9OR19JTlQgMQp8ICNk ZWZpbmUgSEFWRV9MT05HX0xPTkdfSU5UIDEKfCAjZGVmaW5lIHJlc3RyaWN0IF9fcmVzdHJpY3QK fCAjZGVmaW5lIHBnX3Jlc3RyaWN0IF9fcmVzdHJpY3QKfCAjZGVmaW5lIEhBVkVfU1RSVUNUX09Q VElPTiAxCnwgI2RlZmluZSBTSVpFT0ZfT0ZGX1QgNAp8ICNkZWZpbmUgU0laRU9GX0JPT0wgMQp8 ICNkZWZpbmUgSEFWRV9JTlRfVElNRVpPTkUgMQp8ICNkZWZpbmUgQUNDRVBUX1RZUEVfUkVUVVJO IFNPQ0tFVCBXU0FBUEkKfCAjZGVmaW5lIEFDQ0VQVF9UWVBFX0FSRzEgU09DS0VUCnwgI2RlZmlu ZSBBQ0NFUFRfVFlQRV9BUkcyIHN0cnVjdCBzb2NrYWRkciAqCnwgI2RlZmluZSBBQ0NFUFRfVFlQ RV9BUkczIGludAp8ICNkZWZpbmUgSEFWRV9DQlJUIDEKfCAjZGVmaW5lIEhBVkVfQ0xPQ0tfR0VU VElNRSAxCnwgI2RlZmluZSBIQVZFX01FTU1PVkUgMQp8ICNkZWZpbmUgSEFWRV9VVElNRSAxCnwg I2RlZmluZSBIQVZFX0ZTRUVLTyAxCnwgI2RlZmluZSBIQVZFX0ZTRUVLTyAxCnwgI2RlZmluZSBI QVZFX0RFQ0xfUE9TSVhfRkFEVklTRSAwCnwgI2RlZmluZSBIQVZFX0RFQ0xfRkRBVEFTWU5DIDAK fCAvKiBlbmQgY29uZmRlZnMuaC4gICovCnwgI2luY2x1ZGUgPHN0ZGlvLmg+CnwgI2lmZGVmIEhB VkVfU1lTX1RZUEVTX0gKfCAjIGluY2x1ZGUgPHN5cy90eXBlcy5oPgp8ICNlbmRpZgp8ICNpZmRl ZiBIQVZFX1NZU19TVEFUX0gKfCAjIGluY2x1ZGUgPHN5cy9zdGF0Lmg+CnwgI2VuZGlmCnwgI2lm ZGVmIFNURENfSEVBREVSUwp8ICMgaW5jbHVkZSA8c3RkbGliLmg+CnwgIyBpbmNsdWRlIDxzdGRk ZWYuaD4KfCAjZWxzZQp8ICMgaWZkZWYgSEFWRV9TVERMSUJfSAp8ICMgIGluY2x1ZGUgPHN0ZGxp Yi5oPgp8ICMgZW5kaWYKfCAjZW5kaWYKfCAjaWZkZWYgSEFWRV9TVFJJTkdfSAp8ICMgaWYgIWRl ZmluZWQgU1REQ19IRUFERVJTICYmIGRlZmluZWQgSEFWRV9NRU1PUllfSAp8ICMgIGluY2x1ZGUg PG1lbW9yeS5oPgp8ICMgZW5kaWYKfCAjIGluY2x1ZGUgPHN0cmluZy5oPgp8ICNlbmRpZgp8ICNp ZmRlZiBIQVZFX1NUUklOR1NfSAp8ICMgaW5jbHVkZSA8c3RyaW5ncy5oPgp8ICNlbmRpZgp8ICNp ZmRlZiBIQVZFX0lOVFRZUEVTX0gKfCAjIGluY2x1ZGUgPGludHR5cGVzLmg+CnwgI2VuZGlmCnwg I2lmZGVmIEhBVkVfU1RESU5UX0gKfCAjIGluY2x1ZGUgPHN0ZGludC5oPgp8ICNlbmRpZgp8ICNp ZmRlZiBIQVZFX1VOSVNURF9ICnwgIyBpbmNsdWRlIDx1bmlzdGQuaD4KfCAjZW5kaWYKfCBpbnQK fCBtYWluICgpCnwgewp8ICNpZm5kZWYgc3RybGNhdAp8ICNpZmRlZiBfX2NwbHVzcGx1cwp8ICAg KHZvaWQpIHN0cmxjYXQ7CnwgI2Vsc2UKfCAgICh2b2lkKSBzdHJsY2F0Owp8ICNlbmRpZgp8ICNl bmRpZgp8IAp8ICAgOwp8ICAgcmV0dXJuIDA7CnwgfQpjb25maWd1cmU6MTUwNzk6IHJlc3VsdDog bm8KY29uZmlndXJlOjE1MDg5OiBjaGVja2luZyB3aGV0aGVyIHN0cmxjcHkgaXMgZGVjbGFyZWQK Y29uZmlndXJlOjE1MDg5OiB4ODZfNjQtdzY0LW1pbmd3MzItZ2NjIC1jIC1XYWxsIC1XbWlzc2lu Zy1wcm90b3R5cGVzIC1XcG9pbnRlci1hcml0aCAtV2RlY2xhcmF0aW9uLWFmdGVyLXN0YXRlbWVu dCAtV2VuZGlmLWxhYmVscyAtV21pc3NpbmctZm9ybWF0LWF0dHJpYnV0ZSAtV2Zvcm1hdC1zZWN1 cml0eSAtZm5vLXN0cmljdC1hbGlhc2luZyAtZndyYXB2IC1mZXhjZXNzLXByZWNpc2lvbj1zdGFu ZGFyZCAtV25vLWZvcm1hdC10cnVuY2F0aW9uIC1Xbm8tc3RyaW5nb3AtdHJ1bmNhdGlvbiAtZyAt TyAtZm5vLW9taXQtZnJhbWUtcG9pbnRlciAgLUkvdy9SLTMuNS5fL3Bvc3RncmVzL3NyYy9pbmNs dWRlL3BvcnQvd2luMzIgLURFWEVDX0JBQ0tFTkQgIC1JL3cvemxpYi0xLjIuOC13aW4zMi14ODZf NjQvaW5jbHVkZSAtSS93L29wZW5zc2wtMS4wLjJlLXdpbjMyLXg4Nl82NC9pbmNsdWRlIC1JL3cv bGlieG1sMi0yLjkuMy13aW4zMi14ODZfNjQvaW5jbHVkZS9saWJ4bWwyIC1JL3cvbGlieHNsdC0x LjEuMjgtd2luMzIteDg2XzY0L2luY2x1ZGUgY29uZnRlc3QuYyA+JjUKY29uZnRlc3QuYzogSW4g ZnVuY3Rpb24gJ21haW4nOgpjb25mdGVzdC5jOjEzMDoxMDogZXJyb3I6ICdzdHJsY3B5JyB1bmRl Y2xhcmVkIChmaXJzdCB1c2UgaW4gdGhpcyBmdW5jdGlvbik7IGRpZCB5b3UgbWVhbiAnc3RybmNw eSc/CiAgICh2b2lkKSBzdHJsY3B5OwogICAgICAgICAgXn5+fn5+fgogICAgICAgICAgc3RybmNw eQpjb25mdGVzdC5jOjEzMDoxMDogbm90ZTogZWFjaCB1bmRlY2xhcmVkIGlkZW50aWZpZXIgaXMg cmVwb3J0ZWQgb25seSBvbmNlIGZvciBlYWNoIGZ1bmN0aW9uIGl0IGFwcGVhcnMgaW4KY29uZmln dXJlOjE1MDg5OiAkPyA9IDEKY29uZmlndXJlOiBmYWlsZWQgcHJvZ3JhbSB3YXM6CnwgLyogY29u ZmRlZnMuaCAqLwp8ICNkZWZpbmUgUEFDS0FHRV9OQU1FICJQb3N0Z3JlU1FMIgp8ICNkZWZpbmUg UEFDS0FHRV9UQVJOQU1FICJwb3N0Z3Jlc3FsIgp8ICNkZWZpbmUgUEFDS0FHRV9WRVJTSU9OICIx MWJldGEzIgp8ICNkZWZpbmUgUEFDS0FHRV9TVFJJTkcgIlBvc3RncmVTUUwgMTFiZXRhMyIKfCAj ZGVmaW5lIFBBQ0tBR0VfQlVHUkVQT1JUICJwZ3NxbC1idWdzQHBvc3RncmVzcWwub3JnIgp8ICNk ZWZpbmUgUEFDS0FHRV9VUkwgIiIKfCAjZGVmaW5lIFBHX01BSk9SVkVSU0lPTiAiMTEiCnwgI2Rl ZmluZSBQR19WRVJTSU9OICIxMWJldGEzIgp8ICNkZWZpbmUgREVGX1BHUE9SVCA1NDMyCnwgI2Rl ZmluZSBERUZfUEdQT1JUX1NUUiAiNTQzMiIKfCAjZGVmaW5lIEJMQ0tTWiA4MTkyCnwgI2RlZmlu ZSBSRUxTRUdfU0laRSAxMzEwNzIKfCAjZGVmaW5lIFhMT0dfQkxDS1NaIDgxOTIKfCAjZGVmaW5l IFVTRV9BU1NFUlRfQ0hFQ0tJTkcgMQp8ICNkZWZpbmUgRU5BQkxFX1RIUkVBRF9TQUZFVFkgMQp8 ICNkZWZpbmUgVVNFX0lDVSAxCnwgI2RlZmluZSBQR19LUkJfU1JWTkFNICJwb3N0Z3JlcyIKfCAj ZGVmaW5lIFVTRV9PUEVOU1NMIDEKfCAjZGVmaW5lIFVTRV9MSUJYTUwgMQp8ICNkZWZpbmUgVVNF X0xJQlhTTFQgMQp8ICNkZWZpbmUgU1REQ19IRUFERVJTIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1RZ UEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfU1RBVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1RETElC X0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJJTkdfSCAxCnwgI2RlZmluZSBIQVZFX01FTU9SWV9IIDEK fCAjZGVmaW5lIEhBVkVfU1RSSU5HU19IIDEKfCAjZGVmaW5lIEhBVkVfSU5UVFlQRVNfSCAxCnwg I2RlZmluZSBIQVZFX1NURElOVF9IIDEKfCAjZGVmaW5lIEhBVkVfVU5JU1REX0ggMQp8ICNkZWZp bmUgSEFWRV9MSUJNIDEKfCAjZGVmaW5lIEhBVkVfTElCWiAxCnwgI2RlZmluZSBIQVZFX1NQSU5M T0NLUyAxCnwgI2RlZmluZSBIQVZFX0FUT01JQ1MgMQp8ICNkZWZpbmUgSEFWRV9TU0xfR0VUX0NV UlJFTlRfQ09NUFJFU1NJT04gMQp8ICNkZWZpbmUgSEFWRV9YNTA5X0dFVF9TSUdOQVRVUkVfTklE IDEKfCAjZGVmaW5lIEhBVkVfQ1JZUFRPX0xPQ0sgMQp8ICNkZWZpbmUgSEFWRV9MSUJYTUwyIDEK fCAjZGVmaW5lIEhBVkVfTElCWFNMVCAxCnwgI2RlZmluZSBIQVZFX19CT09MIDEKfCAjZGVmaW5l IEhBVkVfU1REQk9PTF9IIDEKfCAjZGVmaW5lIEhBVkVfR0VUT1BUX0ggMQp8ICNkZWZpbmUgSEFW RV9JRUVFRlBfSCAxCnwgI2RlZmluZSBIQVZFX1VUSU1FX0ggMQp8ICNkZWZpbmUgSEFWRV9XQ0hB Ul9IIDEKfCAjZGVmaW5lIEhBVkVfV0NUWVBFX0ggMQp8ICNkZWZpbmUgSEFWRV9DUlRERUZTX0gg MQp8ICNkZWZpbmUgUEdfUFJJTlRGX0FUVFJJQlVURSBnbnVfcHJpbnRmCnwgI2RlZmluZSBGTEVY SUJMRV9BUlJBWV9NRU1CRVIgLyoqLwp8ICNkZWZpbmUgSEFWRV9GVU5DTkFNRV9fRlVOQyAxCnwg I2RlZmluZSBIQVZFX19TVEFUSUNfQVNTRVJUIDEKfCAjZGVmaW5lIEhBVkVfVFlQRU9GIDEKfCAj ZGVmaW5lIEhBVkVfX0JVSUxUSU5fVFlQRVNfQ09NUEFUSUJMRV9QIDEKfCAjZGVmaW5lIEhBVkVf X0JVSUxUSU5fQlNXQVAxNiAxCnwgI2RlZmluZSBIQVZFX19CVUlMVElOX0JTV0FQMzIgMQp8ICNk ZWZpbmUgSEFWRV9fQlVJTFRJTl9CU1dBUDY0IDEKfCAjZGVmaW5lIEhBVkVfX0JVSUxUSU5fQ09O U1RBTlRfUCAxCnwgI2RlZmluZSBIQVZFX19CVUlMVElOX1VOUkVBQ0hBQkxFIDEKfCAjZGVmaW5l IEhBVkVfQ09NUFVURURfR09UTyAxCnwgI2RlZmluZSBIQVZFX19WQV9BUkdTIDEKfCAjZGVmaW5l IEhBVkVfVFpOQU1FIDEKfCAjZGVmaW5lIEhBVkVfU1RSVUNUX1NPQ0tBRERSX1NUT1JBR0UgMQp8 ICNkZWZpbmUgSEFWRV9TVFJVQ1RfU09DS0FERFJfU1RPUkFHRV9TU19GQU1JTFkgMQp8ICNkZWZp bmUgSEFWRV9TVFJVQ1RfQUREUklORk8gMQp8ICNkZWZpbmUgSEFWRV9JTlRQVFJfVCAxCnwgI2Rl ZmluZSBIQVZFX1VJTlRQVFJfVCAxCnwgI2RlZmluZSBIQVZFX1VOU0lHTkVEX0xPTkdfTE9OR19J TlQgMQp8ICNkZWZpbmUgSEFWRV9MT05HX0xPTkdfSU5UIDEKfCAjZGVmaW5lIHJlc3RyaWN0IF9f cmVzdHJpY3QKfCAjZGVmaW5lIHBnX3Jlc3RyaWN0IF9fcmVzdHJpY3QKfCAjZGVmaW5lIEhBVkVf U1RSVUNUX09QVElPTiAxCnwgI2RlZmluZSBTSVpFT0ZfT0ZGX1QgNAp8ICNkZWZpbmUgU0laRU9G X0JPT0wgMQp8ICNkZWZpbmUgSEFWRV9JTlRfVElNRVpPTkUgMQp8ICNkZWZpbmUgQUNDRVBUX1RZ UEVfUkVUVVJOIFNPQ0tFVCBXU0FBUEkKfCAjZGVmaW5lIEFDQ0VQVF9UWVBFX0FSRzEgU09DS0VU CnwgI2RlZmluZSBBQ0NFUFRfVFlQRV9BUkcyIHN0cnVjdCBzb2NrYWRkciAqCnwgI2RlZmluZSBB Q0NFUFRfVFlQRV9BUkczIGludAp8ICNkZWZpbmUgSEFWRV9DQlJUIDEKfCAjZGVmaW5lIEhBVkVf Q0xPQ0tfR0VUVElNRSAxCnwgI2RlZmluZSBIQVZFX01FTU1PVkUgMQp8ICNkZWZpbmUgSEFWRV9V VElNRSAxCnwgI2RlZmluZSBIQVZFX0ZTRUVLTyAxCnwgI2RlZmluZSBIQVZFX0ZTRUVLTyAxCnwg I2RlZmluZSBIQVZFX0RFQ0xfUE9TSVhfRkFEVklTRSAwCnwgI2RlZmluZSBIQVZFX0RFQ0xfRkRB VEFTWU5DIDAKfCAjZGVmaW5lIEhBVkVfREVDTF9TVFJMQ0FUIDAKfCAvKiBlbmQgY29uZmRlZnMu aC4gICovCnwgI2luY2x1ZGUgPHN0ZGlvLmg+CnwgI2lmZGVmIEhBVkVfU1lTX1RZUEVTX0gKfCAj IGluY2x1ZGUgPHN5cy90eXBlcy5oPgp8ICNlbmRpZgp8ICNpZmRlZiBIQVZFX1NZU19TVEFUX0gK fCAjIGluY2x1ZGUgPHN5cy9zdGF0Lmg+CnwgI2VuZGlmCnwgI2lmZGVmIFNURENfSEVBREVSUwp8 ICMgaW5jbHVkZSA8c3RkbGliLmg+CnwgIyBpbmNsdWRlIDxzdGRkZWYuaD4KfCAjZWxzZQp8ICMg aWZkZWYgSEFWRV9TVERMSUJfSAp8ICMgIGluY2x1ZGUgPHN0ZGxpYi5oPgp8ICMgZW5kaWYKfCAj ZW5kaWYKfCAjaWZkZWYgSEFWRV9TVFJJTkdfSAp8ICMgaWYgIWRlZmluZWQgU1REQ19IRUFERVJT ICYmIGRlZmluZWQgSEFWRV9NRU1PUllfSAp8ICMgIGluY2x1ZGUgPG1lbW9yeS5oPgp8ICMgZW5k aWYKfCAjIGluY2x1ZGUgPHN0cmluZy5oPgp8ICNlbmRpZgp8ICNpZmRlZiBIQVZFX1NUUklOR1Nf SAp8ICMgaW5jbHVkZSA8c3RyaW5ncy5oPgp8ICNlbmRpZgp8ICNpZmRlZiBIQVZFX0lOVFRZUEVT X0gKfCAjIGluY2x1ZGUgPGludHR5cGVzLmg+CnwgI2VuZGlmCnwgI2lmZGVmIEhBVkVfU1RESU5U X0gKfCAjIGluY2x1ZGUgPHN0ZGludC5oPgp8ICNlbmRpZgp8ICNpZmRlZiBIQVZFX1VOSVNURF9I CnwgIyBpbmNsdWRlIDx1bmlzdGQuaD4KfCAjZW5kaWYKfCBpbnQKfCBtYWluICgpCnwgewp8ICNp Zm5kZWYgc3RybGNweQp8ICNpZmRlZiBfX2NwbHVzcGx1cwp8ICAgKHZvaWQpIHN0cmxjcHk7Cnwg I2Vsc2UKfCAgICh2b2lkKSBzdHJsY3B5Owp8ICNlbmRpZgp8ICNlbmRpZgp8IAp8ICAgOwp8ICAg cmV0dXJuIDA7CnwgfQpjb25maWd1cmU6MTUwODk6IHJlc3VsdDogbm8KY29uZmlndXJlOjE1MDk5 OiBjaGVja2luZyB3aGV0aGVyIHN0cm5sZW4gaXMgZGVjbGFyZWQKY29uZmlndXJlOjE1MDk5OiB4 ODZfNjQtdzY0LW1pbmd3MzItZ2NjIC1jIC1XYWxsIC1XbWlzc2luZy1wcm90b3R5cGVzIC1XcG9p bnRlci1hcml0aCAtV2RlY2xhcmF0aW9uLWFmdGVyLXN0YXRlbWVudCAtV2VuZGlmLWxhYmVscyAt V21pc3NpbmctZm9ybWF0LWF0dHJpYnV0ZSAtV2Zvcm1hdC1zZWN1cml0eSAtZm5vLXN0cmljdC1h bGlhc2luZyAtZndyYXB2IC1mZXhjZXNzLXByZWNpc2lvbj1zdGFuZGFyZCAtV25vLWZvcm1hdC10 cnVuY2F0aW9uIC1Xbm8tc3RyaW5nb3AtdHJ1bmNhdGlvbiAtZyAtTyAtZm5vLW9taXQtZnJhbWUt cG9pbnRlciAgLUkvdy9SLTMuNS5fL3Bvc3RncmVzL3NyYy9pbmNsdWRlL3BvcnQvd2luMzIgLURF WEVDX0JBQ0tFTkQgIC1JL3cvemxpYi0xLjIuOC13aW4zMi14ODZfNjQvaW5jbHVkZSAtSS93L29w ZW5zc2wtMS4wLjJlLXdpbjMyLXg4Nl82NC9pbmNsdWRlIC1JL3cvbGlieG1sMi0yLjkuMy13aW4z Mi14ODZfNjQvaW5jbHVkZS9saWJ4bWwyIC1JL3cvbGlieHNsdC0xLjEuMjgtd2luMzIteDg2XzY0 L2luY2x1ZGUgY29uZnRlc3QuYyA+JjUKY29uZmlndXJlOjE1MDk5OiAkPyA9IDAKY29uZmlndXJl OjE1MDk5OiByZXN1bHQ6IHllcwpjb25maWd1cmU6MTUxMTE6IGNoZWNraW5nIHdoZXRoZXIgRl9G VUxMRlNZTkMgaXMgZGVjbGFyZWQKY29uZmlndXJlOjE1MTExOiB4ODZfNjQtdzY0LW1pbmd3MzIt Z2NjIC1jIC1XYWxsIC1XbWlzc2luZy1wcm90b3R5cGVzIC1XcG9pbnRlci1hcml0aCAtV2RlY2xh cmF0aW9uLWFmdGVyLXN0YXRlbWVudCAtV2VuZGlmLWxhYmVscyAtV21pc3NpbmctZm9ybWF0LWF0 dHJpYnV0ZSAtV2Zvcm1hdC1zZWN1cml0eSAtZm5vLXN0cmljdC1hbGlhc2luZyAtZndyYXB2IC1m ZXhjZXNzLXByZWNpc2lvbj1zdGFuZGFyZCAtV25vLWZvcm1hdC10cnVuY2F0aW9uIC1Xbm8tc3Ry aW5nb3AtdHJ1bmNhdGlvbiAtZyAtTyAtZm5vLW9taXQtZnJhbWUtcG9pbnRlciAgLUkvdy9SLTMu NS5fL3Bvc3RncmVzL3NyYy9pbmNsdWRlL3BvcnQvd2luMzIgLURFWEVDX0JBQ0tFTkQgIC1JL3cv emxpYi0xLjIuOC13aW4zMi14ODZfNjQvaW5jbHVkZSAtSS93L29wZW5zc2wtMS4wLjJlLXdpbjMy LXg4Nl82NC9pbmNsdWRlIC1JL3cvbGlieG1sMi0yLjkuMy13aW4zMi14ODZfNjQvaW5jbHVkZS9s aWJ4bWwyIC1JL3cvbGlieHNsdC0xLjEuMjgtd2luMzIteDg2XzY0L2luY2x1ZGUgY29uZnRlc3Qu YyA+JjUKY29uZnRlc3QuYzogSW4gZnVuY3Rpb24gJ21haW4nOgpjb25mdGVzdC5jOjEwMToxMDog ZXJyb3I6ICdGX0ZVTExGU1lOQycgdW5kZWNsYXJlZCAoZmlyc3QgdXNlIGluIHRoaXMgZnVuY3Rp b24pCiAgICh2b2lkKSBGX0ZVTExGU1lOQzsKICAgICAgICAgIF5+fn5+fn5+fn5+CmNvbmZ0ZXN0 LmM6MTAxOjEwOiBub3RlOiBlYWNoIHVuZGVjbGFyZWQgaWRlbnRpZmllciBpcyByZXBvcnRlZCBv bmx5IG9uY2UgZm9yIGVhY2ggZnVuY3Rpb24gaXQgYXBwZWFycyBpbgpjb25maWd1cmU6MTUxMTE6 ICQ/ID0gMQpjb25maWd1cmU6IGZhaWxlZCBwcm9ncmFtIHdhczoKfCAvKiBjb25mZGVmcy5oICov CnwgI2RlZmluZSBQQUNLQUdFX05BTUUgIlBvc3RncmVTUUwiCnwgI2RlZmluZSBQQUNLQUdFX1RB Uk5BTUUgInBvc3RncmVzcWwiCnwgI2RlZmluZSBQQUNLQUdFX1ZFUlNJT04gIjExYmV0YTMiCnwg I2RlZmluZSBQQUNLQUdFX1NUUklORyAiUG9zdGdyZVNRTCAxMWJldGEzIgp8ICNkZWZpbmUgUEFD S0FHRV9CVUdSRVBPUlQgInBnc3FsLWJ1Z3NAcG9zdGdyZXNxbC5vcmciCnwgI2RlZmluZSBQQUNL QUdFX1VSTCAiIgp8ICNkZWZpbmUgUEdfTUFKT1JWRVJTSU9OICIxMSIKfCAjZGVmaW5lIFBHX1ZF UlNJT04gIjExYmV0YTMiCnwgI2RlZmluZSBERUZfUEdQT1JUIDU0MzIKfCAjZGVmaW5lIERFRl9Q R1BPUlRfU1RSICI1NDMyIgp8ICNkZWZpbmUgQkxDS1NaIDgxOTIKfCAjZGVmaW5lIFJFTFNFR19T SVpFIDEzMTA3Mgp8ICNkZWZpbmUgWExPR19CTENLU1ogODE5Mgp8ICNkZWZpbmUgVVNFX0FTU0VS VF9DSEVDS0lORyAxCnwgI2RlZmluZSBFTkFCTEVfVEhSRUFEX1NBRkVUWSAxCnwgI2RlZmluZSBV U0VfSUNVIDEKfCAjZGVmaW5lIFBHX0tSQl9TUlZOQU0gInBvc3RncmVzIgp8ICNkZWZpbmUgVVNF X09QRU5TU0wgMQp8ICNkZWZpbmUgVVNFX0xJQlhNTCAxCnwgI2RlZmluZSBVU0VfTElCWFNMVCAx CnwgI2RlZmluZSBTVERDX0hFQURFUlMgMQp8ICNkZWZpbmUgSEFWRV9TWVNfVFlQRVNfSCAxCnwg I2RlZmluZSBIQVZFX1NZU19TVEFUX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERMSUJfSCAxCnwgI2Rl ZmluZSBIQVZFX1NUUklOR19IIDEKfCAjZGVmaW5lIEhBVkVfTUVNT1JZX0ggMQp8ICNkZWZpbmUg SEFWRV9TVFJJTkdTX0ggMQp8ICNkZWZpbmUgSEFWRV9JTlRUWVBFU19IIDEKfCAjZGVmaW5lIEhB VkVfU1RESU5UX0ggMQp8ICNkZWZpbmUgSEFWRV9VTklTVERfSCAxCnwgI2RlZmluZSBIQVZFX0xJ Qk0gMQp8ICNkZWZpbmUgSEFWRV9MSUJaIDEKfCAjZGVmaW5lIEhBVkVfU1BJTkxPQ0tTIDEKfCAj ZGVmaW5lIEhBVkVfQVRPTUlDUyAxCnwgI2RlZmluZSBIQVZFX1NTTF9HRVRfQ1VSUkVOVF9DT01Q UkVTU0lPTiAxCnwgI2RlZmluZSBIQVZFX1g1MDlfR0VUX1NJR05BVFVSRV9OSUQgMQp8ICNkZWZp bmUgSEFWRV9DUllQVE9fTE9DSyAxCnwgI2RlZmluZSBIQVZFX0xJQlhNTDIgMQp8ICNkZWZpbmUg SEFWRV9MSUJYU0xUIDEKfCAjZGVmaW5lIEhBVkVfX0JPT0wgMQp8ICNkZWZpbmUgSEFWRV9TVERC T09MX0ggMQp8ICNkZWZpbmUgSEFWRV9HRVRPUFRfSCAxCnwgI2RlZmluZSBIQVZFX0lFRUVGUF9I IDEKfCAjZGVmaW5lIEhBVkVfVVRJTUVfSCAxCnwgI2RlZmluZSBIQVZFX1dDSEFSX0ggMQp8ICNk ZWZpbmUgSEFWRV9XQ1RZUEVfSCAxCnwgI2RlZmluZSBIQVZFX0NSVERFRlNfSCAxCnwgI2RlZmlu ZSBQR19QUklOVEZfQVRUUklCVVRFIGdudV9wcmludGYKfCAjZGVmaW5lIEZMRVhJQkxFX0FSUkFZ X01FTUJFUiAvKiovCnwgI2RlZmluZSBIQVZFX0ZVTkNOQU1FX19GVU5DIDEKfCAjZGVmaW5lIEhB VkVfX1NUQVRJQ19BU1NFUlQgMQp8ICNkZWZpbmUgSEFWRV9UWVBFT0YgMQp8ICNkZWZpbmUgSEFW RV9fQlVJTFRJTl9UWVBFU19DT01QQVRJQkxFX1AgMQp8ICNkZWZpbmUgSEFWRV9fQlVJTFRJTl9C U1dBUDE2IDEKfCAjZGVmaW5lIEhBVkVfX0JVSUxUSU5fQlNXQVAzMiAxCnwgI2RlZmluZSBIQVZF X19CVUlMVElOX0JTV0FQNjQgMQp8ICNkZWZpbmUgSEFWRV9fQlVJTFRJTl9DT05TVEFOVF9QIDEK fCAjZGVmaW5lIEhBVkVfX0JVSUxUSU5fVU5SRUFDSEFCTEUgMQp8ICNkZWZpbmUgSEFWRV9DT01Q VVRFRF9HT1RPIDEKfCAjZGVmaW5lIEhBVkVfX1ZBX0FSR1MgMQp8ICNkZWZpbmUgSEFWRV9UWk5B TUUgMQp8ICNkZWZpbmUgSEFWRV9TVFJVQ1RfU09DS0FERFJfU1RPUkFHRSAxCnwgI2RlZmluZSBI QVZFX1NUUlVDVF9TT0NLQUREUl9TVE9SQUdFX1NTX0ZBTUlMWSAxCnwgI2RlZmluZSBIQVZFX1NU UlVDVF9BRERSSU5GTyAxCnwgI2RlZmluZSBIQVZFX0lOVFBUUl9UIDEKfCAjZGVmaW5lIEhBVkVf VUlOVFBUUl9UIDEKfCAjZGVmaW5lIEhBVkVfVU5TSUdORURfTE9OR19MT05HX0lOVCAxCnwgI2Rl ZmluZSBIQVZFX0xPTkdfTE9OR19JTlQgMQp8ICNkZWZpbmUgcmVzdHJpY3QgX19yZXN0cmljdAp8 ICNkZWZpbmUgcGdfcmVzdHJpY3QgX19yZXN0cmljdAp8ICNkZWZpbmUgSEFWRV9TVFJVQ1RfT1BU SU9OIDEKfCAjZGVmaW5lIFNJWkVPRl9PRkZfVCA0CnwgI2RlZmluZSBTSVpFT0ZfQk9PTCAxCnwg I2RlZmluZSBIQVZFX0lOVF9USU1FWk9ORSAxCnwgI2RlZmluZSBBQ0NFUFRfVFlQRV9SRVRVUk4g U09DS0VUIFdTQUFQSQp8ICNkZWZpbmUgQUNDRVBUX1RZUEVfQVJHMSBTT0NLRVQKfCAjZGVmaW5l IEFDQ0VQVF9UWVBFX0FSRzIgc3RydWN0IHNvY2thZGRyICoKfCAjZGVmaW5lIEFDQ0VQVF9UWVBF X0FSRzMgaW50CnwgI2RlZmluZSBIQVZFX0NCUlQgMQp8ICNkZWZpbmUgSEFWRV9DTE9DS19HRVRU SU1FIDEKfCAjZGVmaW5lIEhBVkVfTUVNTU9WRSAxCnwgI2RlZmluZSBIQVZFX1VUSU1FIDEKfCAj ZGVmaW5lIEhBVkVfRlNFRUtPIDEKfCAjZGVmaW5lIEhBVkVfRlNFRUtPIDEKfCAjZGVmaW5lIEhB VkVfREVDTF9QT1NJWF9GQURWSVNFIDAKfCAjZGVmaW5lIEhBVkVfREVDTF9GREFUQVNZTkMgMAp8 ICNkZWZpbmUgSEFWRV9ERUNMX1NUUkxDQVQgMAp8ICNkZWZpbmUgSEFWRV9ERUNMX1NUUkxDUFkg MAp8ICNkZWZpbmUgSEFWRV9ERUNMX1NUUk5MRU4gMQp8IC8qIGVuZCBjb25mZGVmcy5oLiAgKi8K fCAjaW5jbHVkZSA8ZmNudGwuaD4KfCAKfCBpbnQKfCBtYWluICgpCnwgewp8ICNpZm5kZWYgRl9G VUxMRlNZTkMKfCAjaWZkZWYgX19jcGx1c3BsdXMKfCAgICh2b2lkKSBGX0ZVTExGU1lOQzsKfCAj ZWxzZQp8ICAgKHZvaWQpIEZfRlVMTEZTWU5DOwp8ICNlbmRpZgp8ICNlbmRpZgp8IAp8ICAgOwp8 ICAgcmV0dXJuIDA7CnwgfQpjb25maWd1cmU6MTUxMTE6IHJlc3VsdDogbm8KY29uZmlndXJlOjE1 MTI1OiBjaGVja2luZyBmb3Igc3RydWN0IHNvY2thZGRyX2luNgpjb25maWd1cmU6MTUxMjU6IHg4 Nl82NC13NjQtbWluZ3czMi1nY2MgLWMgLVdhbGwgLVdtaXNzaW5nLXByb3RvdHlwZXMgLVdwb2lu dGVyLWFyaXRoIC1XZGVjbGFyYXRpb24tYWZ0ZXItc3RhdGVtZW50IC1XZW5kaWYtbGFiZWxzIC1X bWlzc2luZy1mb3JtYXQtYXR0cmlidXRlIC1XZm9ybWF0LXNlY3VyaXR5IC1mbm8tc3RyaWN0LWFs aWFzaW5nIC1md3JhcHYgLWZleGNlc3MtcHJlY2lzaW9uPXN0YW5kYXJkIC1Xbm8tZm9ybWF0LXRy dW5jYXRpb24gLVduby1zdHJpbmdvcC10cnVuY2F0aW9uIC1nIC1PIC1mbm8tb21pdC1mcmFtZS1w b2ludGVyICAtSS93L1ItMy41Ll8vcG9zdGdyZXMvc3JjL2luY2x1ZGUvcG9ydC93aW4zMiAtREVY RUNfQkFDS0VORCAgLUkvdy96bGliLTEuMi44LXdpbjMyLXg4Nl82NC9pbmNsdWRlIC1JL3cvb3Bl bnNzbC0xLjAuMmUtd2luMzIteDg2XzY0L2luY2x1ZGUgLUkvdy9saWJ4bWwyLTIuOS4zLXdpbjMy LXg4Nl82NC9pbmNsdWRlL2xpYnhtbDIgLUkvdy9saWJ4c2x0LTEuMS4yOC13aW4zMi14ODZfNjQv aW5jbHVkZSBjb25mdGVzdC5jID4mNQpjb25maWd1cmU6MTUxMjU6ICQ/ID0gMApjb25maWd1cmU6 MTUxMjU6IHg4Nl82NC13NjQtbWluZ3czMi1nY2MgLWMgLVdhbGwgLVdtaXNzaW5nLXByb3RvdHlw ZXMgLVdwb2ludGVyLWFyaXRoIC1XZGVjbGFyYXRpb24tYWZ0ZXItc3RhdGVtZW50IC1XZW5kaWYt bGFiZWxzIC1XbWlzc2luZy1mb3JtYXQtYXR0cmlidXRlIC1XZm9ybWF0LXNlY3VyaXR5IC1mbm8t c3RyaWN0LWFsaWFzaW5nIC1md3JhcHYgLWZleGNlc3MtcHJlY2lzaW9uPXN0YW5kYXJkIC1Xbm8t Zm9ybWF0LXRydW5jYXRpb24gLVduby1zdHJpbmdvcC10cnVuY2F0aW9uIC1nIC1PIC1mbm8tb21p dC1mcmFtZS1wb2ludGVyICAtSS93L1ItMy41Ll8vcG9zdGdyZXMvc3JjL2luY2x1ZGUvcG9ydC93 aW4zMiAtREVYRUNfQkFDS0VORCAgLUkvdy96bGliLTEuMi44LXdpbjMyLXg4Nl82NC9pbmNsdWRl IC1JL3cvb3BlbnNzbC0xLjAuMmUtd2luMzIteDg2XzY0L2luY2x1ZGUgLUkvdy9saWJ4bWwyLTIu OS4zLXdpbjMyLXg4Nl82NC9pbmNsdWRlL2xpYnhtbDIgLUkvdy9saWJ4c2x0LTEuMS4yOC13aW4z Mi14ODZfNjQvaW5jbHVkZSBjb25mdGVzdC5jID4mNQpjb25mdGVzdC5jOiBJbiBmdW5jdGlvbiAn bWFpbic6CmNvbmZ0ZXN0LmM6MTMxOjM0OiBlcnJvcjogZXhwZWN0ZWQgZXhwcmVzc2lvbiBiZWZv cmUgJyknIHRva2VuCiBpZiAoc2l6ZW9mICgoc3RydWN0IHNvY2thZGRyX2luNikpKQogICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgXgpjb25maWd1cmU6MTUxMjU6ICQ/ID0gMQpjb25m aWd1cmU6IGZhaWxlZCBwcm9ncmFtIHdhczoKfCAvKiBjb25mZGVmcy5oICovCnwgI2RlZmluZSBQ QUNLQUdFX05BTUUgIlBvc3RncmVTUUwiCnwgI2RlZmluZSBQQUNLQUdFX1RBUk5BTUUgInBvc3Rn cmVzcWwiCnwgI2RlZmluZSBQQUNLQUdFX1ZFUlNJT04gIjExYmV0YTMiCnwgI2RlZmluZSBQQUNL QUdFX1NUUklORyAiUG9zdGdyZVNRTCAxMWJldGEzIgp8ICNkZWZpbmUgUEFDS0FHRV9CVUdSRVBP UlQgInBnc3FsLWJ1Z3NAcG9zdGdyZXNxbC5vcmciCnwgI2RlZmluZSBQQUNLQUdFX1VSTCAiIgp8 ICNkZWZpbmUgUEdfTUFKT1JWRVJTSU9OICIxMSIKfCAjZGVmaW5lIFBHX1ZFUlNJT04gIjExYmV0 YTMiCnwgI2RlZmluZSBERUZfUEdQT1JUIDU0MzIKfCAjZGVmaW5lIERFRl9QR1BPUlRfU1RSICI1 NDMyIgp8ICNkZWZpbmUgQkxDS1NaIDgxOTIKfCAjZGVmaW5lIFJFTFNFR19TSVpFIDEzMTA3Mgp8 ICNkZWZpbmUgWExPR19CTENLU1ogODE5Mgp8ICNkZWZpbmUgVVNFX0FTU0VSVF9DSEVDS0lORyAx CnwgI2RlZmluZSBFTkFCTEVfVEhSRUFEX1NBRkVUWSAxCnwgI2RlZmluZSBVU0VfSUNVIDEKfCAj ZGVmaW5lIFBHX0tSQl9TUlZOQU0gInBvc3RncmVzIgp8ICNkZWZpbmUgVVNFX09QRU5TU0wgMQp8 ICNkZWZpbmUgVVNFX0xJQlhNTCAxCnwgI2RlZmluZSBVU0VfTElCWFNMVCAxCnwgI2RlZmluZSBT VERDX0hFQURFUlMgMQp8ICNkZWZpbmUgSEFWRV9TWVNfVFlQRVNfSCAxCnwgI2RlZmluZSBIQVZF X1NZU19TVEFUX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERMSUJfSCAxCnwgI2RlZmluZSBIQVZFX1NU UklOR19IIDEKfCAjZGVmaW5lIEhBVkVfTUVNT1JZX0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJJTkdT X0ggMQp8ICNkZWZpbmUgSEFWRV9JTlRUWVBFU19IIDEKfCAjZGVmaW5lIEhBVkVfU1RESU5UX0gg MQp8ICNkZWZpbmUgSEFWRV9VTklTVERfSCAxCnwgI2RlZmluZSBIQVZFX0xJQk0gMQp8ICNkZWZp bmUgSEFWRV9MSUJaIDEKfCAjZGVmaW5lIEhBVkVfU1BJTkxPQ0tTIDEKfCAjZGVmaW5lIEhBVkVf QVRPTUlDUyAxCnwgI2RlZmluZSBIQVZFX1NTTF9HRVRfQ1VSUkVOVF9DT01QUkVTU0lPTiAxCnwg I2RlZmluZSBIQVZFX1g1MDlfR0VUX1NJR05BVFVSRV9OSUQgMQp8ICNkZWZpbmUgSEFWRV9DUllQ VE9fTE9DSyAxCnwgI2RlZmluZSBIQVZFX0xJQlhNTDIgMQp8ICNkZWZpbmUgSEFWRV9MSUJYU0xU IDEKfCAjZGVmaW5lIEhBVkVfX0JPT0wgMQp8ICNkZWZpbmUgSEFWRV9TVERCT09MX0ggMQp8ICNk ZWZpbmUgSEFWRV9HRVRPUFRfSCAxCnwgI2RlZmluZSBIQVZFX0lFRUVGUF9IIDEKfCAjZGVmaW5l IEhBVkVfVVRJTUVfSCAxCnwgI2RlZmluZSBIQVZFX1dDSEFSX0ggMQp8ICNkZWZpbmUgSEFWRV9X Q1RZUEVfSCAxCnwgI2RlZmluZSBIQVZFX0NSVERFRlNfSCAxCnwgI2RlZmluZSBQR19QUklOVEZf QVRUUklCVVRFIGdudV9wcmludGYKfCAjZGVmaW5lIEZMRVhJQkxFX0FSUkFZX01FTUJFUiAvKiov CnwgI2RlZmluZSBIQVZFX0ZVTkNOQU1FX19GVU5DIDEKfCAjZGVmaW5lIEhBVkVfX1NUQVRJQ19B U1NFUlQgMQp8ICNkZWZpbmUgSEFWRV9UWVBFT0YgMQp8ICNkZWZpbmUgSEFWRV9fQlVJTFRJTl9U WVBFU19DT01QQVRJQkxFX1AgMQp8ICNkZWZpbmUgSEFWRV9fQlVJTFRJTl9CU1dBUDE2IDEKfCAj ZGVmaW5lIEhBVkVfX0JVSUxUSU5fQlNXQVAzMiAxCnwgI2RlZmluZSBIQVZFX19CVUlMVElOX0JT V0FQNjQgMQp8ICNkZWZpbmUgSEFWRV9fQlVJTFRJTl9DT05TVEFOVF9QIDEKfCAjZGVmaW5lIEhB VkVfX0JVSUxUSU5fVU5SRUFDSEFCTEUgMQp8ICNkZWZpbmUgSEFWRV9DT01QVVRFRF9HT1RPIDEK fCAjZGVmaW5lIEhBVkVfX1ZBX0FSR1MgMQp8ICNkZWZpbmUgSEFWRV9UWk5BTUUgMQp8ICNkZWZp bmUgSEFWRV9TVFJVQ1RfU09DS0FERFJfU1RPUkFHRSAxCnwgI2RlZmluZSBIQVZFX1NUUlVDVF9T T0NLQUREUl9TVE9SQUdFX1NTX0ZBTUlMWSAxCnwgI2RlZmluZSBIQVZFX1NUUlVDVF9BRERSSU5G TyAxCnwgI2RlZmluZSBIQVZFX0lOVFBUUl9UIDEKfCAjZGVmaW5lIEhBVkVfVUlOVFBUUl9UIDEK fCAjZGVmaW5lIEhBVkVfVU5TSUdORURfTE9OR19MT05HX0lOVCAxCnwgI2RlZmluZSBIQVZFX0xP TkdfTE9OR19JTlQgMQp8ICNkZWZpbmUgcmVzdHJpY3QgX19yZXN0cmljdAp8ICNkZWZpbmUgcGdf cmVzdHJpY3QgX19yZXN0cmljdAp8ICNkZWZpbmUgSEFWRV9TVFJVQ1RfT1BUSU9OIDEKfCAjZGVm aW5lIFNJWkVPRl9PRkZfVCA0CnwgI2RlZmluZSBTSVpFT0ZfQk9PTCAxCnwgI2RlZmluZSBIQVZF X0lOVF9USU1FWk9ORSAxCnwgI2RlZmluZSBBQ0NFUFRfVFlQRV9SRVRVUk4gU09DS0VUIFdTQUFQ SQp8ICNkZWZpbmUgQUNDRVBUX1RZUEVfQVJHMSBTT0NLRVQKfCAjZGVmaW5lIEFDQ0VQVF9UWVBF X0FSRzIgc3RydWN0IHNvY2thZGRyICoKfCAjZGVmaW5lIEFDQ0VQVF9UWVBFX0FSRzMgaW50Cnwg I2RlZmluZSBIQVZFX0NCUlQgMQp8ICNkZWZpbmUgSEFWRV9DTE9DS19HRVRUSU1FIDEKfCAjZGVm aW5lIEhBVkVfTUVNTU9WRSAxCnwgI2RlZmluZSBIQVZFX1VUSU1FIDEKfCAjZGVmaW5lIEhBVkVf RlNFRUtPIDEKfCAjZGVmaW5lIEhBVkVfRlNFRUtPIDEKfCAjZGVmaW5lIEhBVkVfREVDTF9QT1NJ WF9GQURWSVNFIDAKfCAjZGVmaW5lIEhBVkVfREVDTF9GREFUQVNZTkMgMAp8ICNkZWZpbmUgSEFW RV9ERUNMX1NUUkxDQVQgMAp8ICNkZWZpbmUgSEFWRV9ERUNMX1NUUkxDUFkgMAp8ICNkZWZpbmUg SEFWRV9ERUNMX1NUUk5MRU4gMQp8ICNkZWZpbmUgSEFWRV9ERUNMX0ZfRlVMTEZTWU5DIDAKfCAv KiBlbmQgY29uZmRlZnMuaC4gICovCnwgI2luY2x1ZGUgPHN0ZGlvLmg+CnwgI2lmZGVmIEhBVkVf U1lTX1RZUEVTX0gKfCAjIGluY2x1ZGUgPHN5cy90eXBlcy5oPgp8ICNlbmRpZgp8ICNpZmRlZiBI QVZFX1NZU19TVEFUX0gKfCAjIGluY2x1ZGUgPHN5cy9zdGF0Lmg+CnwgI2VuZGlmCnwgI2lmZGVm IFNURENfSEVBREVSUwp8ICMgaW5jbHVkZSA8c3RkbGliLmg+CnwgIyBpbmNsdWRlIDxzdGRkZWYu aD4KfCAjZWxzZQp8ICMgaWZkZWYgSEFWRV9TVERMSUJfSAp8ICMgIGluY2x1ZGUgPHN0ZGxpYi5o Pgp8ICMgZW5kaWYKfCAjZW5kaWYKfCAjaWZkZWYgSEFWRV9TVFJJTkdfSAp8ICMgaWYgIWRlZmlu ZWQgU1REQ19IRUFERVJTICYmIGRlZmluZWQgSEFWRV9NRU1PUllfSAp8ICMgIGluY2x1ZGUgPG1l bW9yeS5oPgp8ICMgZW5kaWYKfCAjIGluY2x1ZGUgPHN0cmluZy5oPgp8ICNlbmRpZgp8ICNpZmRl ZiBIQVZFX1NUUklOR1NfSAp8ICMgaW5jbHVkZSA8c3RyaW5ncy5oPgp8ICNlbmRpZgp8ICNpZmRl ZiBIQVZFX0lOVFRZUEVTX0gKfCAjIGluY2x1ZGUgPGludHR5cGVzLmg+CnwgI2VuZGlmCnwgI2lm ZGVmIEhBVkVfU1RESU5UX0gKfCAjIGluY2x1ZGUgPHN0ZGludC5oPgp8ICNlbmRpZgp8ICNpZmRl ZiBIQVZFX1VOSVNURF9ICnwgIyBpbmNsdWRlIDx1bmlzdGQuaD4KfCAjZW5kaWYKfCAjaW5jbHVk ZSA8bmV0aW5ldC9pbi5oPgp8IAp8IGludAp8IG1haW4gKCkKfCB7CnwgaWYgKHNpemVvZiAoKHN0 cnVjdCBzb2NrYWRkcl9pbjYpKSkKfCAJICAgIHJldHVybiAwOwp8ICAgOwp8ICAgcmV0dXJuIDA7 CnwgfQpjb25maWd1cmU6MTUxMjU6IHJlc3VsdDogeWVzCmNvbmZpZ3VyZToxNTEzNzogY2hlY2tp bmcgZm9yIFBTX1NUUklOR1MKY29uZmlndXJlOjE1MTU2OiB4ODZfNjQtdzY0LW1pbmd3MzItZ2Nj IC1vIGNvbmZ0ZXN0LmV4ZSAtV2FsbCAtV21pc3NpbmctcHJvdG90eXBlcyAtV3BvaW50ZXItYXJp dGggLVdkZWNsYXJhdGlvbi1hZnRlci1zdGF0ZW1lbnQgLVdlbmRpZi1sYWJlbHMgLVdtaXNzaW5n LWZvcm1hdC1hdHRyaWJ1dGUgLVdmb3JtYXQtc2VjdXJpdHkgLWZuby1zdHJpY3QtYWxpYXNpbmcg LWZ3cmFwdiAtZmV4Y2Vzcy1wcmVjaXNpb249c3RhbmRhcmQgLVduby1mb3JtYXQtdHJ1bmNhdGlv biAtV25vLXN0cmluZ29wLXRydW5jYXRpb24gLWcgLU8gLWZuby1vbWl0LWZyYW1lLXBvaW50ZXIg IC1JL3cvUi0zLjUuXy9wb3N0Z3Jlcy9zcmMvaW5jbHVkZS9wb3J0L3dpbjMyIC1ERVhFQ19CQUNL RU5EICAtSS93L3psaWItMS4yLjgtd2luMzIteDg2XzY0L2luY2x1ZGUgLUkvdy9vcGVuc3NsLTEu MC4yZS13aW4zMi14ODZfNjQvaW5jbHVkZSAtSS93L2xpYnhtbDItMi45LjMtd2luMzIteDg2XzY0 L2luY2x1ZGUvbGlieG1sMiAtSS93L2xpYnhzbHQtMS4xLjI4LXdpbjMyLXg4Nl82NC9pbmNsdWRl ICAtV2wsLS1hbGxvdy1tdWx0aXBsZS1kZWZpbml0aW9uIC1XbCwtLWRpc2FibGUtYXV0by1pbXBv cnQgIC1ML3cvemxpYi0xLjIuOC13aW4zMi14ODZfNjQvbGliIC1ML3cvb3BlbnNzbC0xLjAuMmUt d2luMzIteDg2XzY0L2xpYiAtTC93L2xpYnhtbDItMi45LjMtd2luMzIteDg2XzY0L2xpYiAtTC93 L2xpYnhzbHQtMS4xLjI4LXdpbjMyLXg4Nl82NC9saWIgY29uZnRlc3QuYyAtbHhzbHQgLWx4bWwy IC1sc3NsIC1sY3J5cHRvIC1seiAtbHdzMl8zMiAtbG0gID4mNQpjb25mdGVzdC5jOjk0OjEwOiBm YXRhbCBlcnJvcjogbWFjaGluZS92bXBhcmFtLmg6IE5vIHN1Y2ggZmlsZSBvciBkaXJlY3RvcnkK ICNpbmNsdWRlIDxtYWNoaW5lL3ZtcGFyYW0uaD4KICAgICAgICAgIF5+fn5+fn5+fn5+fn5+fn5+ fn4KY29tcGlsYXRpb24gdGVybWluYXRlZC4NCmNvbmZpZ3VyZToxNTE1NjogJD8gPSAxCmNvbmZp Z3VyZTogZmFpbGVkIHByb2dyYW0gd2FzOgp8IC8qIGNvbmZkZWZzLmggKi8KfCAjZGVmaW5lIFBB Q0tBR0VfTkFNRSAiUG9zdGdyZVNRTCIKfCAjZGVmaW5lIFBBQ0tBR0VfVEFSTkFNRSAicG9zdGdy ZXNxbCIKfCAjZGVmaW5lIFBBQ0tBR0VfVkVSU0lPTiAiMTFiZXRhMyIKfCAjZGVmaW5lIFBBQ0tB R0VfU1RSSU5HICJQb3N0Z3JlU1FMIDExYmV0YTMiCnwgI2RlZmluZSBQQUNLQUdFX0JVR1JFUE9S VCAicGdzcWwtYnVnc0Bwb3N0Z3Jlc3FsLm9yZyIKfCAjZGVmaW5lIFBBQ0tBR0VfVVJMICIiCnwg I2RlZmluZSBQR19NQUpPUlZFUlNJT04gIjExIgp8ICNkZWZpbmUgUEdfVkVSU0lPTiAiMTFiZXRh MyIKfCAjZGVmaW5lIERFRl9QR1BPUlQgNTQzMgp8ICNkZWZpbmUgREVGX1BHUE9SVF9TVFIgIjU0 MzIiCnwgI2RlZmluZSBCTENLU1ogODE5Mgp8ICNkZWZpbmUgUkVMU0VHX1NJWkUgMTMxMDcyCnwg I2RlZmluZSBYTE9HX0JMQ0tTWiA4MTkyCnwgI2RlZmluZSBVU0VfQVNTRVJUX0NIRUNLSU5HIDEK fCAjZGVmaW5lIEVOQUJMRV9USFJFQURfU0FGRVRZIDEKfCAjZGVmaW5lIFVTRV9JQ1UgMQp8ICNk ZWZpbmUgUEdfS1JCX1NSVk5BTSAicG9zdGdyZXMiCnwgI2RlZmluZSBVU0VfT1BFTlNTTCAxCnwg I2RlZmluZSBVU0VfTElCWE1MIDEKfCAjZGVmaW5lIFVTRV9MSUJYU0xUIDEKfCAjZGVmaW5lIFNU RENfSEVBREVSUyAxCnwgI2RlZmluZSBIQVZFX1NZU19UWVBFU19IIDEKfCAjZGVmaW5lIEhBVkVf U1lTX1NUQVRfSCAxCnwgI2RlZmluZSBIQVZFX1NURExJQl9IIDEKfCAjZGVmaW5lIEhBVkVfU1RS SU5HX0ggMQp8ICNkZWZpbmUgSEFWRV9NRU1PUllfSCAxCnwgI2RlZmluZSBIQVZFX1NUUklOR1Nf SCAxCnwgI2RlZmluZSBIQVZFX0lOVFRZUEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERJTlRfSCAx CnwgI2RlZmluZSBIQVZFX1VOSVNURF9IIDEKfCAjZGVmaW5lIEhBVkVfTElCTSAxCnwgI2RlZmlu ZSBIQVZFX0xJQlogMQp8ICNkZWZpbmUgSEFWRV9TUElOTE9DS1MgMQp8ICNkZWZpbmUgSEFWRV9B VE9NSUNTIDEKfCAjZGVmaW5lIEhBVkVfU1NMX0dFVF9DVVJSRU5UX0NPTVBSRVNTSU9OIDEKfCAj ZGVmaW5lIEhBVkVfWDUwOV9HRVRfU0lHTkFUVVJFX05JRCAxCnwgI2RlZmluZSBIQVZFX0NSWVBU T19MT0NLIDEKfCAjZGVmaW5lIEhBVkVfTElCWE1MMiAxCnwgI2RlZmluZSBIQVZFX0xJQlhTTFQg MQp8ICNkZWZpbmUgSEFWRV9fQk9PTCAxCnwgI2RlZmluZSBIQVZFX1NUREJPT0xfSCAxCnwgI2Rl ZmluZSBIQVZFX0dFVE9QVF9IIDEKfCAjZGVmaW5lIEhBVkVfSUVFRUZQX0ggMQp8ICNkZWZpbmUg SEFWRV9VVElNRV9IIDEKfCAjZGVmaW5lIEhBVkVfV0NIQVJfSCAxCnwgI2RlZmluZSBIQVZFX1dD VFlQRV9IIDEKfCAjZGVmaW5lIEhBVkVfQ1JUREVGU19IIDEKfCAjZGVmaW5lIFBHX1BSSU5URl9B VFRSSUJVVEUgZ251X3ByaW50Zgp8ICNkZWZpbmUgRkxFWElCTEVfQVJSQVlfTUVNQkVSIC8qKi8K fCAjZGVmaW5lIEhBVkVfRlVOQ05BTUVfX0ZVTkMgMQp8ICNkZWZpbmUgSEFWRV9fU1RBVElDX0FT U0VSVCAxCnwgI2RlZmluZSBIQVZFX1RZUEVPRiAxCnwgI2RlZmluZSBIQVZFX19CVUlMVElOX1RZ UEVTX0NPTVBBVElCTEVfUCAxCnwgI2RlZmluZSBIQVZFX19CVUlMVElOX0JTV0FQMTYgMQp8ICNk ZWZpbmUgSEFWRV9fQlVJTFRJTl9CU1dBUDMyIDEKfCAjZGVmaW5lIEhBVkVfX0JVSUxUSU5fQlNX QVA2NCAxCnwgI2RlZmluZSBIQVZFX19CVUlMVElOX0NPTlNUQU5UX1AgMQp8ICNkZWZpbmUgSEFW RV9fQlVJTFRJTl9VTlJFQUNIQUJMRSAxCnwgI2RlZmluZSBIQVZFX0NPTVBVVEVEX0dPVE8gMQp8 ICNkZWZpbmUgSEFWRV9fVkFfQVJHUyAxCnwgI2RlZmluZSBIQVZFX1RaTkFNRSAxCnwgI2RlZmlu ZSBIQVZFX1NUUlVDVF9TT0NLQUREUl9TVE9SQUdFIDEKfCAjZGVmaW5lIEhBVkVfU1RSVUNUX1NP Q0tBRERSX1NUT1JBR0VfU1NfRkFNSUxZIDEKfCAjZGVmaW5lIEhBVkVfU1RSVUNUX0FERFJJTkZP IDEKfCAjZGVmaW5lIEhBVkVfSU5UUFRSX1QgMQp8ICNkZWZpbmUgSEFWRV9VSU5UUFRSX1QgMQp8 ICNkZWZpbmUgSEFWRV9VTlNJR05FRF9MT05HX0xPTkdfSU5UIDEKfCAjZGVmaW5lIEhBVkVfTE9O R19MT05HX0lOVCAxCnwgI2RlZmluZSByZXN0cmljdCBfX3Jlc3RyaWN0CnwgI2RlZmluZSBwZ19y ZXN0cmljdCBfX3Jlc3RyaWN0CnwgI2RlZmluZSBIQVZFX1NUUlVDVF9PUFRJT04gMQp8ICNkZWZp bmUgU0laRU9GX09GRl9UIDQKfCAjZGVmaW5lIFNJWkVPRl9CT09MIDEKfCAjZGVmaW5lIEhBVkVf SU5UX1RJTUVaT05FIDEKfCAjZGVmaW5lIEFDQ0VQVF9UWVBFX1JFVFVSTiBTT0NLRVQgV1NBQVBJ CnwgI2RlZmluZSBBQ0NFUFRfVFlQRV9BUkcxIFNPQ0tFVAp8ICNkZWZpbmUgQUNDRVBUX1RZUEVf QVJHMiBzdHJ1Y3Qgc29ja2FkZHIgKgp8ICNkZWZpbmUgQUNDRVBUX1RZUEVfQVJHMyBpbnQKfCAj ZGVmaW5lIEhBVkVfQ0JSVCAxCnwgI2RlZmluZSBIQVZFX0NMT0NLX0dFVFRJTUUgMQp8ICNkZWZp bmUgSEFWRV9NRU1NT1ZFIDEKfCAjZGVmaW5lIEhBVkVfVVRJTUUgMQp8ICNkZWZpbmUgSEFWRV9G U0VFS08gMQp8ICNkZWZpbmUgSEFWRV9GU0VFS08gMQp8ICNkZWZpbmUgSEFWRV9ERUNMX1BPU0lY X0ZBRFZJU0UgMAp8ICNkZWZpbmUgSEFWRV9ERUNMX0ZEQVRBU1lOQyAwCnwgI2RlZmluZSBIQVZF X0RFQ0xfU1RSTENBVCAwCnwgI2RlZmluZSBIQVZFX0RFQ0xfU1RSTENQWSAwCnwgI2RlZmluZSBI QVZFX0RFQ0xfU1RSTkxFTiAxCnwgI2RlZmluZSBIQVZFX0RFQ0xfRl9GVUxMRlNZTkMgMAp8ICNk ZWZpbmUgSEFWRV9JUFY2IDEKfCAvKiBlbmQgY29uZmRlZnMuaC4gICovCnwgI2luY2x1ZGUgPG1h Y2hpbmUvdm1wYXJhbS5oPgp8ICNpbmNsdWRlIDxzeXMvZXhlYy5oPgp8IAp8IGludAp8IG1haW4g KCkKfCB7CnwgUFNfU1RSSU5HUy0+cHNfbmFyZ3ZzdHIgPSAxOwp8IFBTX1NUUklOR1MtPnBzX2Fy Z3ZzdHIgPSAiZm9vIjsKfCAgIDsKfCAgIHJldHVybiAwOwp8IH0KY29uZmlndXJlOjE1MTY0OiBy ZXN1bHQ6IG5vCmNvbmZpZ3VyZToxNTI0MTogY2hlY2tpbmcgd2hldGhlciBzbnByaW50ZiBpcyBk ZWNsYXJlZApjb25maWd1cmU6MTUyNDE6IHg4Nl82NC13NjQtbWluZ3czMi1nY2MgLWMgLVdhbGwg LVdtaXNzaW5nLXByb3RvdHlwZXMgLVdwb2ludGVyLWFyaXRoIC1XZGVjbGFyYXRpb24tYWZ0ZXIt c3RhdGVtZW50IC1XZW5kaWYtbGFiZWxzIC1XbWlzc2luZy1mb3JtYXQtYXR0cmlidXRlIC1XZm9y bWF0LXNlY3VyaXR5IC1mbm8tc3RyaWN0LWFsaWFzaW5nIC1md3JhcHYgLWZleGNlc3MtcHJlY2lz aW9uPXN0YW5kYXJkIC1Xbm8tZm9ybWF0LXRydW5jYXRpb24gLVduby1zdHJpbmdvcC10cnVuY2F0 aW9uIC1nIC1PIC1mbm8tb21pdC1mcmFtZS1wb2ludGVyICAtSS93L1ItMy41Ll8vcG9zdGdyZXMv c3JjL2luY2x1ZGUvcG9ydC93aW4zMiAtREVYRUNfQkFDS0VORCAgLUkvdy96bGliLTEuMi44LXdp bjMyLXg4Nl82NC9pbmNsdWRlIC1JL3cvb3BlbnNzbC0xLjAuMmUtd2luMzIteDg2XzY0L2luY2x1 ZGUgLUkvdy9saWJ4bWwyLTIuOS4zLXdpbjMyLXg4Nl82NC9pbmNsdWRlL2xpYnhtbDIgLUkvdy9s aWJ4c2x0LTEuMS4yOC13aW4zMi14ODZfNjQvaW5jbHVkZSBjb25mdGVzdC5jID4mNQpjb25maWd1 cmU6MTUyNDE6ICQ/ID0gMApjb25maWd1cmU6MTUyNDE6IHJlc3VsdDogeWVzCmNvbmZpZ3VyZTox NTI1MTogY2hlY2tpbmcgd2hldGhlciB2c25wcmludGYgaXMgZGVjbGFyZWQKY29uZmlndXJlOjE1 MjUxOiB4ODZfNjQtdzY0LW1pbmd3MzItZ2NjIC1jIC1XYWxsIC1XbWlzc2luZy1wcm90b3R5cGVz IC1XcG9pbnRlci1hcml0aCAtV2RlY2xhcmF0aW9uLWFmdGVyLXN0YXRlbWVudCAtV2VuZGlmLWxh YmVscyAtV21pc3NpbmctZm9ybWF0LWF0dHJpYnV0ZSAtV2Zvcm1hdC1zZWN1cml0eSAtZm5vLXN0 cmljdC1hbGlhc2luZyAtZndyYXB2IC1mZXhjZXNzLXByZWNpc2lvbj1zdGFuZGFyZCAtV25vLWZv cm1hdC10cnVuY2F0aW9uIC1Xbm8tc3RyaW5nb3AtdHJ1bmNhdGlvbiAtZyAtTyAtZm5vLW9taXQt ZnJhbWUtcG9pbnRlciAgLUkvdy9SLTMuNS5fL3Bvc3RncmVzL3NyYy9pbmNsdWRlL3BvcnQvd2lu MzIgLURFWEVDX0JBQ0tFTkQgIC1JL3cvemxpYi0xLjIuOC13aW4zMi14ODZfNjQvaW5jbHVkZSAt SS93L29wZW5zc2wtMS4wLjJlLXdpbjMyLXg4Nl82NC9pbmNsdWRlIC1JL3cvbGlieG1sMi0yLjku My13aW4zMi14ODZfNjQvaW5jbHVkZS9saWJ4bWwyIC1JL3cvbGlieHNsdC0xLjEuMjgtd2luMzIt eDg2XzY0L2luY2x1ZGUgY29uZnRlc3QuYyA+JjUKY29uZmlndXJlOjE1MjUxOiAkPyA9IDAKY29u ZmlndXJlOjE1MjUxOiByZXN1bHQ6IHllcwpjb25maWd1cmU6MTUyNjQ6IGNoZWNraW5nIGZvciBp c2luZgpjb25maWd1cmU6MTUyODM6IHg4Nl82NC13NjQtbWluZ3czMi1nY2MgLW8gY29uZnRlc3Qu ZXhlIC1XYWxsIC1XbWlzc2luZy1wcm90b3R5cGVzIC1XcG9pbnRlci1hcml0aCAtV2RlY2xhcmF0 aW9uLWFmdGVyLXN0YXRlbWVudCAtV2VuZGlmLWxhYmVscyAtV21pc3NpbmctZm9ybWF0LWF0dHJp YnV0ZSAtV2Zvcm1hdC1zZWN1cml0eSAtZm5vLXN0cmljdC1hbGlhc2luZyAtZndyYXB2IC1mZXhj ZXNzLXByZWNpc2lvbj1zdGFuZGFyZCAtV25vLWZvcm1hdC10cnVuY2F0aW9uIC1Xbm8tc3RyaW5n b3AtdHJ1bmNhdGlvbiAtZyAtTyAtZm5vLW9taXQtZnJhbWUtcG9pbnRlciAgLUkvdy9SLTMuNS5f L3Bvc3RncmVzL3NyYy9pbmNsdWRlL3BvcnQvd2luMzIgLURFWEVDX0JBQ0tFTkQgIC1JL3cvemxp Yi0xLjIuOC13aW4zMi14ODZfNjQvaW5jbHVkZSAtSS93L29wZW5zc2wtMS4wLjJlLXdpbjMyLXg4 Nl82NC9pbmNsdWRlIC1JL3cvbGlieG1sMi0yLjkuMy13aW4zMi14ODZfNjQvaW5jbHVkZS9saWJ4 bWwyIC1JL3cvbGlieHNsdC0xLjEuMjgtd2luMzIteDg2XzY0L2luY2x1ZGUgIC1XbCwtLWFsbG93 LW11bHRpcGxlLWRlZmluaXRpb24gLVdsLC0tZGlzYWJsZS1hdXRvLWltcG9ydCAgLUwvdy96bGli LTEuMi44LXdpbjMyLXg4Nl82NC9saWIgLUwvdy9vcGVuc3NsLTEuMC4yZS13aW4zMi14ODZfNjQv bGliIC1ML3cvbGlieG1sMi0yLjkuMy13aW4zMi14ODZfNjQvbGliIC1ML3cvbGlieHNsdC0xLjEu Mjgtd2luMzIteDg2XzY0L2xpYiBjb25mdGVzdC5jIC1seHNsdCAtbHhtbDIgLWxzc2wgLWxjcnlw dG8gLWx6IC1sd3MyXzMyIC1sbSAgPiY1CmNvbmZpZ3VyZToxNTI4MzogJD8gPSAwCmNvbmZpZ3Vy ZToxNTI5MTogcmVzdWx0OiB5ZXMKY29uZmlndXJlOjE1MzIwOiBjaGVja2luZyBmb3IgY3J5cHQK Y29uZmlndXJlOjE1MzIwOiB4ODZfNjQtdzY0LW1pbmd3MzItZ2NjIC1vIGNvbmZ0ZXN0LmV4ZSAt V2FsbCAtV21pc3NpbmctcHJvdG90eXBlcyAtV3BvaW50ZXItYXJpdGggLVdkZWNsYXJhdGlvbi1h ZnRlci1zdGF0ZW1lbnQgLVdlbmRpZi1sYWJlbHMgLVdtaXNzaW5nLWZvcm1hdC1hdHRyaWJ1dGUg LVdmb3JtYXQtc2VjdXJpdHkgLWZuby1zdHJpY3QtYWxpYXNpbmcgLWZ3cmFwdiAtZmV4Y2Vzcy1w cmVjaXNpb249c3RhbmRhcmQgLVduby1mb3JtYXQtdHJ1bmNhdGlvbiAtV25vLXN0cmluZ29wLXRy dW5jYXRpb24gLWcgLU8gLWZuby1vbWl0LWZyYW1lLXBvaW50ZXIgIC1JL3cvUi0zLjUuXy9wb3N0 Z3Jlcy9zcmMvaW5jbHVkZS9wb3J0L3dpbjMyIC1ERVhFQ19CQUNLRU5EICAtSS93L3psaWItMS4y Ljgtd2luMzIteDg2XzY0L2luY2x1ZGUgLUkvdy9vcGVuc3NsLTEuMC4yZS13aW4zMi14ODZfNjQv aW5jbHVkZSAtSS93L2xpYnhtbDItMi45LjMtd2luMzIteDg2XzY0L2luY2x1ZGUvbGlieG1sMiAt SS93L2xpYnhzbHQtMS4xLjI4LXdpbjMyLXg4Nl82NC9pbmNsdWRlICAtV2wsLS1hbGxvdy1tdWx0 aXBsZS1kZWZpbml0aW9uIC1XbCwtLWRpc2FibGUtYXV0by1pbXBvcnQgIC1ML3cvemxpYi0xLjIu OC13aW4zMi14ODZfNjQvbGliIC1ML3cvb3BlbnNzbC0xLjAuMmUtd2luMzIteDg2XzY0L2xpYiAt TC93L2xpYnhtbDItMi45LjMtd2luMzIteDg2XzY0L2xpYiAtTC93L2xpYnhzbHQtMS4xLjI4LXdp bjMyLXg4Nl82NC9saWIgY29uZnRlc3QuYyAtbHhzbHQgLWx4bWwyIC1sc3NsIC1sY3J5cHRvIC1s eiAtbHdzMl8zMiAtbG0gID4mNQpDOi9tc3lzNjQvbWluZ3c2NC9iaW4vLi4vbGliL2djYy94ODZf NjQtdzY0LW1pbmd3MzIvOC4yLjAvLi4vLi4vLi4vLi4veDg2XzY0LXc2NC1taW5ndzMyL2Jpbi9s ZC5leGU6IEM6XG1zeXM2NFx0bXBcY2NVZDFrS24ubzogaW4gZnVuY3Rpb24gYG1haW4nOg0KVzpc Ui0zLjUuX1xwb3N0Z3Jlc1xidWlsZC9jb25mdGVzdC5jOjEzMTogdW5kZWZpbmVkIHJlZmVyZW5j ZSB0byBgY3J5cHQnDQpjb2xsZWN0Mi5leGU6IGVycm9yOiBsZCByZXR1cm5lZCAxIGV4aXQgc3Rh dHVzCmNvbmZpZ3VyZToxNTMyMDogJD8gPSAxCmNvbmZpZ3VyZTogZmFpbGVkIHByb2dyYW0gd2Fz Ogp8IC8qIGNvbmZkZWZzLmggKi8KfCAjZGVmaW5lIFBBQ0tBR0VfTkFNRSAiUG9zdGdyZVNRTCIK fCAjZGVmaW5lIFBBQ0tBR0VfVEFSTkFNRSAicG9zdGdyZXNxbCIKfCAjZGVmaW5lIFBBQ0tBR0Vf VkVSU0lPTiAiMTFiZXRhMyIKfCAjZGVmaW5lIFBBQ0tBR0VfU1RSSU5HICJQb3N0Z3JlU1FMIDEx YmV0YTMiCnwgI2RlZmluZSBQQUNLQUdFX0JVR1JFUE9SVCAicGdzcWwtYnVnc0Bwb3N0Z3Jlc3Fs Lm9yZyIKfCAjZGVmaW5lIFBBQ0tBR0VfVVJMICIiCnwgI2RlZmluZSBQR19NQUpPUlZFUlNJT04g IjExIgp8ICNkZWZpbmUgUEdfVkVSU0lPTiAiMTFiZXRhMyIKfCAjZGVmaW5lIERFRl9QR1BPUlQg NTQzMgp8ICNkZWZpbmUgREVGX1BHUE9SVF9TVFIgIjU0MzIiCnwgI2RlZmluZSBCTENLU1ogODE5 Mgp8ICNkZWZpbmUgUkVMU0VHX1NJWkUgMTMxMDcyCnwgI2RlZmluZSBYTE9HX0JMQ0tTWiA4MTky CnwgI2RlZmluZSBVU0VfQVNTRVJUX0NIRUNLSU5HIDEKfCAjZGVmaW5lIEVOQUJMRV9USFJFQURf U0FGRVRZIDEKfCAjZGVmaW5lIFVTRV9JQ1UgMQp8ICNkZWZpbmUgUEdfS1JCX1NSVk5BTSAicG9z dGdyZXMiCnwgI2RlZmluZSBVU0VfT1BFTlNTTCAxCnwgI2RlZmluZSBVU0VfTElCWE1MIDEKfCAj ZGVmaW5lIFVTRV9MSUJYU0xUIDEKfCAjZGVmaW5lIFNURENfSEVBREVSUyAxCnwgI2RlZmluZSBI QVZFX1NZU19UWVBFU19IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NUQVRfSCAxCnwgI2RlZmluZSBI QVZFX1NURExJQl9IIDEKfCAjZGVmaW5lIEhBVkVfU1RSSU5HX0ggMQp8ICNkZWZpbmUgSEFWRV9N RU1PUllfSCAxCnwgI2RlZmluZSBIQVZFX1NUUklOR1NfSCAxCnwgI2RlZmluZSBIQVZFX0lOVFRZ UEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERJTlRfSCAxCnwgI2RlZmluZSBIQVZFX1VOSVNURF9I IDEKfCAjZGVmaW5lIEhBVkVfTElCTSAxCnwgI2RlZmluZSBIQVZFX0xJQlogMQp8ICNkZWZpbmUg SEFWRV9TUElOTE9DS1MgMQp8ICNkZWZpbmUgSEFWRV9BVE9NSUNTIDEKfCAjZGVmaW5lIEhBVkVf U1NMX0dFVF9DVVJSRU5UX0NPTVBSRVNTSU9OIDEKfCAjZGVmaW5lIEhBVkVfWDUwOV9HRVRfU0lH TkFUVVJFX05JRCAxCnwgI2RlZmluZSBIQVZFX0NSWVBUT19MT0NLIDEKfCAjZGVmaW5lIEhBVkVf TElCWE1MMiAxCnwgI2RlZmluZSBIQVZFX0xJQlhTTFQgMQp8ICNkZWZpbmUgSEFWRV9fQk9PTCAx CnwgI2RlZmluZSBIQVZFX1NUREJPT0xfSCAxCnwgI2RlZmluZSBIQVZFX0dFVE9QVF9IIDEKfCAj ZGVmaW5lIEhBVkVfSUVFRUZQX0ggMQp8ICNkZWZpbmUgSEFWRV9VVElNRV9IIDEKfCAjZGVmaW5l IEhBVkVfV0NIQVJfSCAxCnwgI2RlZmluZSBIQVZFX1dDVFlQRV9IIDEKfCAjZGVmaW5lIEhBVkVf Q1JUREVGU19IIDEKfCAjZGVmaW5lIFBHX1BSSU5URl9BVFRSSUJVVEUgZ251X3ByaW50Zgp8ICNk ZWZpbmUgRkxFWElCTEVfQVJSQVlfTUVNQkVSIC8qKi8KfCAjZGVmaW5lIEhBVkVfRlVOQ05BTUVf X0ZVTkMgMQp8ICNkZWZpbmUgSEFWRV9fU1RBVElDX0FTU0VSVCAxCnwgI2RlZmluZSBIQVZFX1RZ UEVPRiAxCnwgI2RlZmluZSBIQVZFX19CVUlMVElOX1RZUEVTX0NPTVBBVElCTEVfUCAxCnwgI2Rl ZmluZSBIQVZFX19CVUlMVElOX0JTV0FQMTYgMQp8ICNkZWZpbmUgSEFWRV9fQlVJTFRJTl9CU1dB UDMyIDEKfCAjZGVmaW5lIEhBVkVfX0JVSUxUSU5fQlNXQVA2NCAxCnwgI2RlZmluZSBIQVZFX19C VUlMVElOX0NPTlNUQU5UX1AgMQp8ICNkZWZpbmUgSEFWRV9fQlVJTFRJTl9VTlJFQUNIQUJMRSAx CnwgI2RlZmluZSBIQVZFX0NPTVBVVEVEX0dPVE8gMQp8ICNkZWZpbmUgSEFWRV9fVkFfQVJHUyAx CnwgI2RlZmluZSBIQVZFX1RaTkFNRSAxCnwgI2RlZmluZSBIQVZFX1NUUlVDVF9TT0NLQUREUl9T VE9SQUdFIDEKfCAjZGVmaW5lIEhBVkVfU1RSVUNUX1NPQ0tBRERSX1NUT1JBR0VfU1NfRkFNSUxZ IDEKfCAjZGVmaW5lIEhBVkVfU1RSVUNUX0FERFJJTkZPIDEKfCAjZGVmaW5lIEhBVkVfSU5UUFRS X1QgMQp8ICNkZWZpbmUgSEFWRV9VSU5UUFRSX1QgMQp8ICNkZWZpbmUgSEFWRV9VTlNJR05FRF9M T05HX0xPTkdfSU5UIDEKfCAjZGVmaW5lIEhBVkVfTE9OR19MT05HX0lOVCAxCnwgI2RlZmluZSBy ZXN0cmljdCBfX3Jlc3RyaWN0CnwgI2RlZmluZSBwZ19yZXN0cmljdCBfX3Jlc3RyaWN0CnwgI2Rl ZmluZSBIQVZFX1NUUlVDVF9PUFRJT04gMQp8ICNkZWZpbmUgU0laRU9GX09GRl9UIDQKfCAjZGVm aW5lIFNJWkVPRl9CT09MIDEKfCAjZGVmaW5lIEhBVkVfSU5UX1RJTUVaT05FIDEKfCAjZGVmaW5l IEFDQ0VQVF9UWVBFX1JFVFVSTiBTT0NLRVQgV1NBQVBJCnwgI2RlZmluZSBBQ0NFUFRfVFlQRV9B UkcxIFNPQ0tFVAp8ICNkZWZpbmUgQUNDRVBUX1RZUEVfQVJHMiBzdHJ1Y3Qgc29ja2FkZHIgKgp8 ICNkZWZpbmUgQUNDRVBUX1RZUEVfQVJHMyBpbnQKfCAjZGVmaW5lIEhBVkVfQ0JSVCAxCnwgI2Rl ZmluZSBIQVZFX0NMT0NLX0dFVFRJTUUgMQp8ICNkZWZpbmUgSEFWRV9NRU1NT1ZFIDEKfCAjZGVm aW5lIEhBVkVfVVRJTUUgMQp8ICNkZWZpbmUgSEFWRV9GU0VFS08gMQp8ICNkZWZpbmUgSEFWRV9G U0VFS08gMQp8ICNkZWZpbmUgSEFWRV9ERUNMX1BPU0lYX0ZBRFZJU0UgMAp8ICNkZWZpbmUgSEFW RV9ERUNMX0ZEQVRBU1lOQyAwCnwgI2RlZmluZSBIQVZFX0RFQ0xfU1RSTENBVCAwCnwgI2RlZmlu ZSBIQVZFX0RFQ0xfU1RSTENQWSAwCnwgI2RlZmluZSBIQVZFX0RFQ0xfU1RSTkxFTiAxCnwgI2Rl ZmluZSBIQVZFX0RFQ0xfRl9GVUxMRlNZTkMgMAp8ICNkZWZpbmUgSEFWRV9JUFY2IDEKfCAjZGVm aW5lIEhBVkVfREVDTF9TTlBSSU5URiAxCnwgI2RlZmluZSBIQVZFX0RFQ0xfVlNOUFJJTlRGIDEK fCAjZGVmaW5lIEhBVkVfSVNJTkYgMQp8IC8qIGVuZCBjb25mZGVmcy5oLiAgKi8KfCAvKiBEZWZp bmUgY3J5cHQgdG8gYW4gaW5ub2N1b3VzIHZhcmlhbnQsIGluIGNhc2UgPGxpbWl0cy5oPiBkZWNs YXJlcyBjcnlwdC4KfCAgICBGb3IgZXhhbXBsZSwgSFAtVVggMTFpIDxsaW1pdHMuaD4gZGVjbGFy ZXMgZ2V0dGltZW9mZGF5LiAgKi8KfCAjZGVmaW5lIGNyeXB0IGlubm9jdW91c19jcnlwdAp8IAp8 IC8qIFN5c3RlbSBoZWFkZXIgdG8gZGVmaW5lIF9fc3R1YiBtYWNyb3MgYW5kIGhvcGVmdWxseSBm ZXcgcHJvdG90eXBlcywKfCAgICAgd2hpY2ggY2FuIGNvbmZsaWN0IHdpdGggY2hhciBjcnlwdCAo KTsgYmVsb3cuCnwgICAgIFByZWZlciA8bGltaXRzLmg+IHRvIDxhc3NlcnQuaD4gaWYgX19TVERD X18gaXMgZGVmaW5lZCwgc2luY2UKfCAgICAgPGxpbWl0cy5oPiBleGlzdHMgZXZlbiBvbiBmcmVl c3RhbmRpbmcgY29tcGlsZXJzLiAgKi8KfCAKfCAjaWZkZWYgX19TVERDX18KfCAjIGluY2x1ZGUg PGxpbWl0cy5oPgp8ICNlbHNlCnwgIyBpbmNsdWRlIDxhc3NlcnQuaD4KfCAjZW5kaWYKfCAKfCAj dW5kZWYgY3J5cHQKfCAKfCAvKiBPdmVycmlkZSBhbnkgR0NDIGludGVybmFsIHByb3RvdHlwZSB0 byBhdm9pZCBhbiBlcnJvci4KfCAgICBVc2UgY2hhciBiZWNhdXNlIGludCBtaWdodCBtYXRjaCB0 aGUgcmV0dXJuIHR5cGUgb2YgYSBHQ0MKfCAgICBidWlsdGluIGFuZCB0aGVuIGl0cyBhcmd1bWVu dCBwcm90b3R5cGUgd291bGQgc3RpbGwgYXBwbHkuICAqLwp8ICNpZmRlZiBfX2NwbHVzcGx1cwp8 IGV4dGVybiAiQyIKfCAjZW5kaWYKfCBjaGFyIGNyeXB0ICgpOwp8IC8qIFRoZSBHTlUgQyBsaWJy YXJ5IGRlZmluZXMgdGhpcyBmb3IgZnVuY3Rpb25zIHdoaWNoIGl0IGltcGxlbWVudHMKfCAgICAg dG8gYWx3YXlzIGZhaWwgd2l0aCBFTk9TWVMuICBTb21lIGZ1bmN0aW9ucyBhcmUgYWN0dWFsbHkg bmFtZWQKfCAgICAgc29tZXRoaW5nIHN0YXJ0aW5nIHdpdGggX18gYW5kIHRoZSBub3JtYWwgbmFt ZSBpcyBhbiBhbGlhcy4gICovCnwgI2lmIGRlZmluZWQgX19zdHViX2NyeXB0IHx8IGRlZmluZWQg X19zdHViX19fY3J5cHQKfCBjaG9rZSBtZQp8ICNlbmRpZgp8IAp8IGludAp8IG1haW4gKCkKfCB7 CnwgcmV0dXJuIGNyeXB0ICgpOwp8ICAgOwp8ICAgcmV0dXJuIDA7CnwgfQpjb25maWd1cmU6MTUz MjA6IHJlc3VsdDogbm8KY29uZmlndXJlOjE1MzMzOiBjaGVja2luZyBmb3IgZmxzCmNvbmZpZ3Vy ZToxNTMzMzogeDg2XzY0LXc2NC1taW5ndzMyLWdjYyAtbyBjb25mdGVzdC5leGUgLVdhbGwgLVdt aXNzaW5nLXByb3RvdHlwZXMgLVdwb2ludGVyLWFyaXRoIC1XZGVjbGFyYXRpb24tYWZ0ZXItc3Rh dGVtZW50IC1XZW5kaWYtbGFiZWxzIC1XbWlzc2luZy1mb3JtYXQtYXR0cmlidXRlIC1XZm9ybWF0 LXNlY3VyaXR5IC1mbm8tc3RyaWN0LWFsaWFzaW5nIC1md3JhcHYgLWZleGNlc3MtcHJlY2lzaW9u PXN0YW5kYXJkIC1Xbm8tZm9ybWF0LXRydW5jYXRpb24gLVduby1zdHJpbmdvcC10cnVuY2F0aW9u IC1nIC1PIC1mbm8tb21pdC1mcmFtZS1wb2ludGVyICAtSS93L1ItMy41Ll8vcG9zdGdyZXMvc3Jj L2luY2x1ZGUvcG9ydC93aW4zMiAtREVYRUNfQkFDS0VORCAgLUkvdy96bGliLTEuMi44LXdpbjMy LXg4Nl82NC9pbmNsdWRlIC1JL3cvb3BlbnNzbC0xLjAuMmUtd2luMzIteDg2XzY0L2luY2x1ZGUg LUkvdy9saWJ4bWwyLTIuOS4zLXdpbjMyLXg4Nl82NC9pbmNsdWRlL2xpYnhtbDIgLUkvdy9saWJ4 c2x0LTEuMS4yOC13aW4zMi14ODZfNjQvaW5jbHVkZSAgLVdsLC0tYWxsb3ctbXVsdGlwbGUtZGVm aW5pdGlvbiAtV2wsLS1kaXNhYmxlLWF1dG8taW1wb3J0ICAtTC93L3psaWItMS4yLjgtd2luMzIt eDg2XzY0L2xpYiAtTC93L29wZW5zc2wtMS4wLjJlLXdpbjMyLXg4Nl82NC9saWIgLUwvdy9saWJ4 bWwyLTIuOS4zLXdpbjMyLXg4Nl82NC9saWIgLUwvdy9saWJ4c2x0LTEuMS4yOC13aW4zMi14ODZf NjQvbGliIGNvbmZ0ZXN0LmMgLWx4c2x0IC1seG1sMiAtbHNzbCAtbGNyeXB0byAtbHogLWx3czJf MzIgLWxtICA+JjUKQzovbXN5czY0L21pbmd3NjQvYmluLy4uL2xpYi9nY2MveDg2XzY0LXc2NC1t aW5ndzMyLzguMi4wLy4uLy4uLy4uLy4uL3g4Nl82NC13NjQtbWluZ3czMi9iaW4vbGQuZXhlOiBD Olxtc3lzNjRcdG1wXGNjMjg0dVgxLm86IGluIGZ1bmN0aW9uIGBtYWluJzoNClc6XFItMy41Ll9c cG9zdGdyZXNcYnVpbGQvY29uZnRlc3QuYzoxMzE6IHVuZGVmaW5lZCByZWZlcmVuY2UgdG8gYGZs cycNCmNvbGxlY3QyLmV4ZTogZXJyb3I6IGxkIHJldHVybmVkIDEgZXhpdCBzdGF0dXMKY29uZmln dXJlOjE1MzMzOiAkPyA9IDEKY29uZmlndXJlOiBmYWlsZWQgcHJvZ3JhbSB3YXM6CnwgLyogY29u ZmRlZnMuaCAqLwp8ICNkZWZpbmUgUEFDS0FHRV9OQU1FICJQb3N0Z3JlU1FMIgp8ICNkZWZpbmUg UEFDS0FHRV9UQVJOQU1FICJwb3N0Z3Jlc3FsIgp8ICNkZWZpbmUgUEFDS0FHRV9WRVJTSU9OICIx MWJldGEzIgp8ICNkZWZpbmUgUEFDS0FHRV9TVFJJTkcgIlBvc3RncmVTUUwgMTFiZXRhMyIKfCAj ZGVmaW5lIFBBQ0tBR0VfQlVHUkVQT1JUICJwZ3NxbC1idWdzQHBvc3RncmVzcWwub3JnIgp8ICNk ZWZpbmUgUEFDS0FHRV9VUkwgIiIKfCAjZGVmaW5lIFBHX01BSk9SVkVSU0lPTiAiMTEiCnwgI2Rl ZmluZSBQR19WRVJTSU9OICIxMWJldGEzIgp8ICNkZWZpbmUgREVGX1BHUE9SVCA1NDMyCnwgI2Rl ZmluZSBERUZfUEdQT1JUX1NUUiAiNTQzMiIKfCAjZGVmaW5lIEJMQ0tTWiA4MTkyCnwgI2RlZmlu ZSBSRUxTRUdfU0laRSAxMzEwNzIKfCAjZGVmaW5lIFhMT0dfQkxDS1NaIDgxOTIKfCAjZGVmaW5l IFVTRV9BU1NFUlRfQ0hFQ0tJTkcgMQp8ICNkZWZpbmUgRU5BQkxFX1RIUkVBRF9TQUZFVFkgMQp8 ICNkZWZpbmUgVVNFX0lDVSAxCnwgI2RlZmluZSBQR19LUkJfU1JWTkFNICJwb3N0Z3JlcyIKfCAj ZGVmaW5lIFVTRV9PUEVOU1NMIDEKfCAjZGVmaW5lIFVTRV9MSUJYTUwgMQp8ICNkZWZpbmUgVVNF X0xJQlhTTFQgMQp8ICNkZWZpbmUgU1REQ19IRUFERVJTIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1RZ UEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfU1RBVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1RETElC X0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJJTkdfSCAxCnwgI2RlZmluZSBIQVZFX01FTU9SWV9IIDEK fCAjZGVmaW5lIEhBVkVfU1RSSU5HU19IIDEKfCAjZGVmaW5lIEhBVkVfSU5UVFlQRVNfSCAxCnwg I2RlZmluZSBIQVZFX1NURElOVF9IIDEKfCAjZGVmaW5lIEhBVkVfVU5JU1REX0ggMQp8ICNkZWZp bmUgSEFWRV9MSUJNIDEKfCAjZGVmaW5lIEhBVkVfTElCWiAxCnwgI2RlZmluZSBIQVZFX1NQSU5M T0NLUyAxCnwgI2RlZmluZSBIQVZFX0FUT01JQ1MgMQp8ICNkZWZpbmUgSEFWRV9TU0xfR0VUX0NV UlJFTlRfQ09NUFJFU1NJT04gMQp8ICNkZWZpbmUgSEFWRV9YNTA5X0dFVF9TSUdOQVRVUkVfTklE IDEKfCAjZGVmaW5lIEhBVkVfQ1JZUFRPX0xPQ0sgMQp8ICNkZWZpbmUgSEFWRV9MSUJYTUwyIDEK fCAjZGVmaW5lIEhBVkVfTElCWFNMVCAxCnwgI2RlZmluZSBIQVZFX19CT09MIDEKfCAjZGVmaW5l IEhBVkVfU1REQk9PTF9IIDEKfCAjZGVmaW5lIEhBVkVfR0VUT1BUX0ggMQp8ICNkZWZpbmUgSEFW RV9JRUVFRlBfSCAxCnwgI2RlZmluZSBIQVZFX1VUSU1FX0ggMQp8ICNkZWZpbmUgSEFWRV9XQ0hB Ul9IIDEKfCAjZGVmaW5lIEhBVkVfV0NUWVBFX0ggMQp8ICNkZWZpbmUgSEFWRV9DUlRERUZTX0gg MQp8ICNkZWZpbmUgUEdfUFJJTlRGX0FUVFJJQlVURSBnbnVfcHJpbnRmCnwgI2RlZmluZSBGTEVY SUJMRV9BUlJBWV9NRU1CRVIgLyoqLwp8ICNkZWZpbmUgSEFWRV9GVU5DTkFNRV9fRlVOQyAxCnwg I2RlZmluZSBIQVZFX19TVEFUSUNfQVNTRVJUIDEKfCAjZGVmaW5lIEhBVkVfVFlQRU9GIDEKfCAj ZGVmaW5lIEhBVkVfX0JVSUxUSU5fVFlQRVNfQ09NUEFUSUJMRV9QIDEKfCAjZGVmaW5lIEhBVkVf X0JVSUxUSU5fQlNXQVAxNiAxCnwgI2RlZmluZSBIQVZFX19CVUlMVElOX0JTV0FQMzIgMQp8ICNk ZWZpbmUgSEFWRV9fQlVJTFRJTl9CU1dBUDY0IDEKfCAjZGVmaW5lIEhBVkVfX0JVSUxUSU5fQ09O U1RBTlRfUCAxCnwgI2RlZmluZSBIQVZFX19CVUlMVElOX1VOUkVBQ0hBQkxFIDEKfCAjZGVmaW5l IEhBVkVfQ09NUFVURURfR09UTyAxCnwgI2RlZmluZSBIQVZFX19WQV9BUkdTIDEKfCAjZGVmaW5l IEhBVkVfVFpOQU1FIDEKfCAjZGVmaW5lIEhBVkVfU1RSVUNUX1NPQ0tBRERSX1NUT1JBR0UgMQp8 ICNkZWZpbmUgSEFWRV9TVFJVQ1RfU09DS0FERFJfU1RPUkFHRV9TU19GQU1JTFkgMQp8ICNkZWZp bmUgSEFWRV9TVFJVQ1RfQUREUklORk8gMQp8ICNkZWZpbmUgSEFWRV9JTlRQVFJfVCAxCnwgI2Rl ZmluZSBIQVZFX1VJTlRQVFJfVCAxCnwgI2RlZmluZSBIQVZFX1VOU0lHTkVEX0xPTkdfTE9OR19J TlQgMQp8ICNkZWZpbmUgSEFWRV9MT05HX0xPTkdfSU5UIDEKfCAjZGVmaW5lIHJlc3RyaWN0IF9f cmVzdHJpY3QKfCAjZGVmaW5lIHBnX3Jlc3RyaWN0IF9fcmVzdHJpY3QKfCAjZGVmaW5lIEhBVkVf U1RSVUNUX09QVElPTiAxCnwgI2RlZmluZSBTSVpFT0ZfT0ZGX1QgNAp8ICNkZWZpbmUgU0laRU9G X0JPT0wgMQp8ICNkZWZpbmUgSEFWRV9JTlRfVElNRVpPTkUgMQp8ICNkZWZpbmUgQUNDRVBUX1RZ UEVfUkVUVVJOIFNPQ0tFVCBXU0FBUEkKfCAjZGVmaW5lIEFDQ0VQVF9UWVBFX0FSRzEgU09DS0VU CnwgI2RlZmluZSBBQ0NFUFRfVFlQRV9BUkcyIHN0cnVjdCBzb2NrYWRkciAqCnwgI2RlZmluZSBB Q0NFUFRfVFlQRV9BUkczIGludAp8ICNkZWZpbmUgSEFWRV9DQlJUIDEKfCAjZGVmaW5lIEhBVkVf Q0xPQ0tfR0VUVElNRSAxCnwgI2RlZmluZSBIQVZFX01FTU1PVkUgMQp8ICNkZWZpbmUgSEFWRV9V VElNRSAxCnwgI2RlZmluZSBIQVZFX0ZTRUVLTyAxCnwgI2RlZmluZSBIQVZFX0ZTRUVLTyAxCnwg I2RlZmluZSBIQVZFX0RFQ0xfUE9TSVhfRkFEVklTRSAwCnwgI2RlZmluZSBIQVZFX0RFQ0xfRkRB VEFTWU5DIDAKfCAjZGVmaW5lIEhBVkVfREVDTF9TVFJMQ0FUIDAKfCAjZGVmaW5lIEhBVkVfREVD TF9TVFJMQ1BZIDAKfCAjZGVmaW5lIEhBVkVfREVDTF9TVFJOTEVOIDEKfCAjZGVmaW5lIEhBVkVf REVDTF9GX0ZVTExGU1lOQyAwCnwgI2RlZmluZSBIQVZFX0lQVjYgMQp8ICNkZWZpbmUgSEFWRV9E RUNMX1NOUFJJTlRGIDEKfCAjZGVmaW5lIEhBVkVfREVDTF9WU05QUklOVEYgMQp8ICNkZWZpbmUg SEFWRV9JU0lORiAxCnwgLyogZW5kIGNvbmZkZWZzLmguICAqLwp8IC8qIERlZmluZSBmbHMgdG8g YW4gaW5ub2N1b3VzIHZhcmlhbnQsIGluIGNhc2UgPGxpbWl0cy5oPiBkZWNsYXJlcyBmbHMuCnwg ICAgRm9yIGV4YW1wbGUsIEhQLVVYIDExaSA8bGltaXRzLmg+IGRlY2xhcmVzIGdldHRpbWVvZmRh eS4gICovCnwgI2RlZmluZSBmbHMgaW5ub2N1b3VzX2Zscwp8IAp8IC8qIFN5c3RlbSBoZWFkZXIg dG8gZGVmaW5lIF9fc3R1YiBtYWNyb3MgYW5kIGhvcGVmdWxseSBmZXcgcHJvdG90eXBlcywKfCAg ICAgd2hpY2ggY2FuIGNvbmZsaWN0IHdpdGggY2hhciBmbHMgKCk7IGJlbG93Lgp8ICAgICBQcmVm ZXIgPGxpbWl0cy5oPiB0byA8YXNzZXJ0Lmg+IGlmIF9fU1REQ19fIGlzIGRlZmluZWQsIHNpbmNl CnwgICAgIDxsaW1pdHMuaD4gZXhpc3RzIGV2ZW4gb24gZnJlZXN0YW5kaW5nIGNvbXBpbGVycy4g ICovCnwgCnwgI2lmZGVmIF9fU1REQ19fCnwgIyBpbmNsdWRlIDxsaW1pdHMuaD4KfCAjZWxzZQp8 ICMgaW5jbHVkZSA8YXNzZXJ0Lmg+CnwgI2VuZGlmCnwgCnwgI3VuZGVmIGZscwp8IAp8IC8qIE92 ZXJyaWRlIGFueSBHQ0MgaW50ZXJuYWwgcHJvdG90eXBlIHRvIGF2b2lkIGFuIGVycm9yLgp8ICAg IFVzZSBjaGFyIGJlY2F1c2UgaW50IG1pZ2h0IG1hdGNoIHRoZSByZXR1cm4gdHlwZSBvZiBhIEdD Qwp8ICAgIGJ1aWx0aW4gYW5kIHRoZW4gaXRzIGFyZ3VtZW50IHByb3RvdHlwZSB3b3VsZCBzdGls bCBhcHBseS4gICovCnwgI2lmZGVmIF9fY3BsdXNwbHVzCnwgZXh0ZXJuICJDIgp8ICNlbmRpZgp8 IGNoYXIgZmxzICgpOwp8IC8qIFRoZSBHTlUgQyBsaWJyYXJ5IGRlZmluZXMgdGhpcyBmb3IgZnVu Y3Rpb25zIHdoaWNoIGl0IGltcGxlbWVudHMKfCAgICAgdG8gYWx3YXlzIGZhaWwgd2l0aCBFTk9T WVMuICBTb21lIGZ1bmN0aW9ucyBhcmUgYWN0dWFsbHkgbmFtZWQKfCAgICAgc29tZXRoaW5nIHN0 YXJ0aW5nIHdpdGggX18gYW5kIHRoZSBub3JtYWwgbmFtZSBpcyBhbiBhbGlhcy4gICovCnwgI2lm IGRlZmluZWQgX19zdHViX2ZscyB8fCBkZWZpbmVkIF9fc3R1Yl9fX2Zscwp8IGNob2tlIG1lCnwg I2VuZGlmCnwgCnwgaW50CnwgbWFpbiAoKQp8IHsKfCByZXR1cm4gZmxzICgpOwp8ICAgOwp8ICAg cmV0dXJuIDA7CnwgfQpjb25maWd1cmU6MTUzMzM6IHJlc3VsdDogbm8KY29uZmlndXJlOjE1MzQ2 OiBjaGVja2luZyBmb3IgZ2V0b3B0CmNvbmZpZ3VyZToxNTM0NjogeDg2XzY0LXc2NC1taW5ndzMy LWdjYyAtbyBjb25mdGVzdC5leGUgLVdhbGwgLVdtaXNzaW5nLXByb3RvdHlwZXMgLVdwb2ludGVy LWFyaXRoIC1XZGVjbGFyYXRpb24tYWZ0ZXItc3RhdGVtZW50IC1XZW5kaWYtbGFiZWxzIC1XbWlz c2luZy1mb3JtYXQtYXR0cmlidXRlIC1XZm9ybWF0LXNlY3VyaXR5IC1mbm8tc3RyaWN0LWFsaWFz aW5nIC1md3JhcHYgLWZleGNlc3MtcHJlY2lzaW9uPXN0YW5kYXJkIC1Xbm8tZm9ybWF0LXRydW5j YXRpb24gLVduby1zdHJpbmdvcC10cnVuY2F0aW9uIC1nIC1PIC1mbm8tb21pdC1mcmFtZS1wb2lu dGVyICAtSS93L1ItMy41Ll8vcG9zdGdyZXMvc3JjL2luY2x1ZGUvcG9ydC93aW4zMiAtREVYRUNf QkFDS0VORCAgLUkvdy96bGliLTEuMi44LXdpbjMyLXg4Nl82NC9pbmNsdWRlIC1JL3cvb3BlbnNz bC0xLjAuMmUtd2luMzIteDg2XzY0L2luY2x1ZGUgLUkvdy9saWJ4bWwyLTIuOS4zLXdpbjMyLXg4 Nl82NC9pbmNsdWRlL2xpYnhtbDIgLUkvdy9saWJ4c2x0LTEuMS4yOC13aW4zMi14ODZfNjQvaW5j bHVkZSAgLVdsLC0tYWxsb3ctbXVsdGlwbGUtZGVmaW5pdGlvbiAtV2wsLS1kaXNhYmxlLWF1dG8t aW1wb3J0ICAtTC93L3psaWItMS4yLjgtd2luMzIteDg2XzY0L2xpYiAtTC93L29wZW5zc2wtMS4w LjJlLXdpbjMyLXg4Nl82NC9saWIgLUwvdy9saWJ4bWwyLTIuOS4zLXdpbjMyLXg4Nl82NC9saWIg LUwvdy9saWJ4c2x0LTEuMS4yOC13aW4zMi14ODZfNjQvbGliIGNvbmZ0ZXN0LmMgLWx4c2x0IC1s eG1sMiAtbHNzbCAtbGNyeXB0byAtbHogLWx3czJfMzIgLWxtICA+JjUKY29uZmlndXJlOjE1MzQ2 OiAkPyA9IDAKY29uZmlndXJlOjE1MzQ2OiByZXN1bHQ6IHllcwpjb25maWd1cmU6MTUzNTk6IGNo ZWNraW5nIGZvciBnZXRydXNhZ2UKY29uZmlndXJlOjE1MzU5OiB4ODZfNjQtdzY0LW1pbmd3MzIt Z2NjIC1vIGNvbmZ0ZXN0LmV4ZSAtV2FsbCAtV21pc3NpbmctcHJvdG90eXBlcyAtV3BvaW50ZXIt YXJpdGggLVdkZWNsYXJhdGlvbi1hZnRlci1zdGF0ZW1lbnQgLVdlbmRpZi1sYWJlbHMgLVdtaXNz aW5nLWZvcm1hdC1hdHRyaWJ1dGUgLVdmb3JtYXQtc2VjdXJpdHkgLWZuby1zdHJpY3QtYWxpYXNp bmcgLWZ3cmFwdiAtZmV4Y2Vzcy1wcmVjaXNpb249c3RhbmRhcmQgLVduby1mb3JtYXQtdHJ1bmNh dGlvbiAtV25vLXN0cmluZ29wLXRydW5jYXRpb24gLWcgLU8gLWZuby1vbWl0LWZyYW1lLXBvaW50 ZXIgIC1JL3cvUi0zLjUuXy9wb3N0Z3Jlcy9zcmMvaW5jbHVkZS9wb3J0L3dpbjMyIC1ERVhFQ19C QUNLRU5EICAtSS93L3psaWItMS4yLjgtd2luMzIteDg2XzY0L2luY2x1ZGUgLUkvdy9vcGVuc3Ns LTEuMC4yZS13aW4zMi14ODZfNjQvaW5jbHVkZSAtSS93L2xpYnhtbDItMi45LjMtd2luMzIteDg2 XzY0L2luY2x1ZGUvbGlieG1sMiAtSS93L2xpYnhzbHQtMS4xLjI4LXdpbjMyLXg4Nl82NC9pbmNs dWRlICAtV2wsLS1hbGxvdy1tdWx0aXBsZS1kZWZpbml0aW9uIC1XbCwtLWRpc2FibGUtYXV0by1p bXBvcnQgIC1ML3cvemxpYi0xLjIuOC13aW4zMi14ODZfNjQvbGliIC1ML3cvb3BlbnNzbC0xLjAu MmUtd2luMzIteDg2XzY0L2xpYiAtTC93L2xpYnhtbDItMi45LjMtd2luMzIteDg2XzY0L2xpYiAt TC93L2xpYnhzbHQtMS4xLjI4LXdpbjMyLXg4Nl82NC9saWIgY29uZnRlc3QuYyAtbHhzbHQgLWx4 bWwyIC1sc3NsIC1sY3J5cHRvIC1seiAtbHdzMl8zMiAtbG0gID4mNQpDOi9tc3lzNjQvbWluZ3c2 NC9iaW4vLi4vbGliL2djYy94ODZfNjQtdzY0LW1pbmd3MzIvOC4yLjAvLi4vLi4vLi4vLi4veDg2 XzY0LXc2NC1taW5ndzMyL2Jpbi9sZC5leGU6IEM6XG1zeXM2NFx0bXBcY2NndkJLeGQubzogaW4g ZnVuY3Rpb24gYG1haW4nOg0KVzpcUi0zLjUuX1xwb3N0Z3Jlc1xidWlsZC9jb25mdGVzdC5jOjEz MjogdW5kZWZpbmVkIHJlZmVyZW5jZSB0byBgZ2V0cnVzYWdlJw0KY29sbGVjdDIuZXhlOiBlcnJv cjogbGQgcmV0dXJuZWQgMSBleGl0IHN0YXR1cwpjb25maWd1cmU6MTUzNTk6ICQ/ID0gMQpjb25m aWd1cmU6IGZhaWxlZCBwcm9ncmFtIHdhczoKfCAvKiBjb25mZGVmcy5oICovCnwgI2RlZmluZSBQ QUNLQUdFX05BTUUgIlBvc3RncmVTUUwiCnwgI2RlZmluZSBQQUNLQUdFX1RBUk5BTUUgInBvc3Rn cmVzcWwiCnwgI2RlZmluZSBQQUNLQUdFX1ZFUlNJT04gIjExYmV0YTMiCnwgI2RlZmluZSBQQUNL QUdFX1NUUklORyAiUG9zdGdyZVNRTCAxMWJldGEzIgp8ICNkZWZpbmUgUEFDS0FHRV9CVUdSRVBP UlQgInBnc3FsLWJ1Z3NAcG9zdGdyZXNxbC5vcmciCnwgI2RlZmluZSBQQUNLQUdFX1VSTCAiIgp8 ICNkZWZpbmUgUEdfTUFKT1JWRVJTSU9OICIxMSIKfCAjZGVmaW5lIFBHX1ZFUlNJT04gIjExYmV0 YTMiCnwgI2RlZmluZSBERUZfUEdQT1JUIDU0MzIKfCAjZGVmaW5lIERFRl9QR1BPUlRfU1RSICI1 NDMyIgp8ICNkZWZpbmUgQkxDS1NaIDgxOTIKfCAjZGVmaW5lIFJFTFNFR19TSVpFIDEzMTA3Mgp8 ICNkZWZpbmUgWExPR19CTENLU1ogODE5Mgp8ICNkZWZpbmUgVVNFX0FTU0VSVF9DSEVDS0lORyAx CnwgI2RlZmluZSBFTkFCTEVfVEhSRUFEX1NBRkVUWSAxCnwgI2RlZmluZSBVU0VfSUNVIDEKfCAj ZGVmaW5lIFBHX0tSQl9TUlZOQU0gInBvc3RncmVzIgp8ICNkZWZpbmUgVVNFX09QRU5TU0wgMQp8 ICNkZWZpbmUgVVNFX0xJQlhNTCAxCnwgI2RlZmluZSBVU0VfTElCWFNMVCAxCnwgI2RlZmluZSBT VERDX0hFQURFUlMgMQp8ICNkZWZpbmUgSEFWRV9TWVNfVFlQRVNfSCAxCnwgI2RlZmluZSBIQVZF X1NZU19TVEFUX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERMSUJfSCAxCnwgI2RlZmluZSBIQVZFX1NU UklOR19IIDEKfCAjZGVmaW5lIEhBVkVfTUVNT1JZX0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJJTkdT X0ggMQp8ICNkZWZpbmUgSEFWRV9JTlRUWVBFU19IIDEKfCAjZGVmaW5lIEhBVkVfU1RESU5UX0gg MQp8ICNkZWZpbmUgSEFWRV9VTklTVERfSCAxCnwgI2RlZmluZSBIQVZFX0xJQk0gMQp8ICNkZWZp bmUgSEFWRV9MSUJaIDEKfCAjZGVmaW5lIEhBVkVfU1BJTkxPQ0tTIDEKfCAjZGVmaW5lIEhBVkVf QVRPTUlDUyAxCnwgI2RlZmluZSBIQVZFX1NTTF9HRVRfQ1VSUkVOVF9DT01QUkVTU0lPTiAxCnwg I2RlZmluZSBIQVZFX1g1MDlfR0VUX1NJR05BVFVSRV9OSUQgMQp8ICNkZWZpbmUgSEFWRV9DUllQ VE9fTE9DSyAxCnwgI2RlZmluZSBIQVZFX0xJQlhNTDIgMQp8ICNkZWZpbmUgSEFWRV9MSUJYU0xU IDEKfCAjZGVmaW5lIEhBVkVfX0JPT0wgMQp8ICNkZWZpbmUgSEFWRV9TVERCT09MX0ggMQp8ICNk ZWZpbmUgSEFWRV9HRVRPUFRfSCAxCnwgI2RlZmluZSBIQVZFX0lFRUVGUF9IIDEKfCAjZGVmaW5l IEhBVkVfVVRJTUVfSCAxCnwgI2RlZmluZSBIQVZFX1dDSEFSX0ggMQp8ICNkZWZpbmUgSEFWRV9X Q1RZUEVfSCAxCnwgI2RlZmluZSBIQVZFX0NSVERFRlNfSCAxCnwgI2RlZmluZSBQR19QUklOVEZf QVRUUklCVVRFIGdudV9wcmludGYKfCAjZGVmaW5lIEZMRVhJQkxFX0FSUkFZX01FTUJFUiAvKiov CnwgI2RlZmluZSBIQVZFX0ZVTkNOQU1FX19GVU5DIDEKfCAjZGVmaW5lIEhBVkVfX1NUQVRJQ19B U1NFUlQgMQp8ICNkZWZpbmUgSEFWRV9UWVBFT0YgMQp8ICNkZWZpbmUgSEFWRV9fQlVJTFRJTl9U WVBFU19DT01QQVRJQkxFX1AgMQp8ICNkZWZpbmUgSEFWRV9fQlVJTFRJTl9CU1dBUDE2IDEKfCAj ZGVmaW5lIEhBVkVfX0JVSUxUSU5fQlNXQVAzMiAxCnwgI2RlZmluZSBIQVZFX19CVUlMVElOX0JT V0FQNjQgMQp8ICNkZWZpbmUgSEFWRV9fQlVJTFRJTl9DT05TVEFOVF9QIDEKfCAjZGVmaW5lIEhB VkVfX0JVSUxUSU5fVU5SRUFDSEFCTEUgMQp8ICNkZWZpbmUgSEFWRV9DT01QVVRFRF9HT1RPIDEK fCAjZGVmaW5lIEhBVkVfX1ZBX0FSR1MgMQp8ICNkZWZpbmUgSEFWRV9UWk5BTUUgMQp8ICNkZWZp bmUgSEFWRV9TVFJVQ1RfU09DS0FERFJfU1RPUkFHRSAxCnwgI2RlZmluZSBIQVZFX1NUUlVDVF9T T0NLQUREUl9TVE9SQUdFX1NTX0ZBTUlMWSAxCnwgI2RlZmluZSBIQVZFX1NUUlVDVF9BRERSSU5G TyAxCnwgI2RlZmluZSBIQVZFX0lOVFBUUl9UIDEKfCAjZGVmaW5lIEhBVkVfVUlOVFBUUl9UIDEK fCAjZGVmaW5lIEhBVkVfVU5TSUdORURfTE9OR19MT05HX0lOVCAxCnwgI2RlZmluZSBIQVZFX0xP TkdfTE9OR19JTlQgMQp8ICNkZWZpbmUgcmVzdHJpY3QgX19yZXN0cmljdAp8ICNkZWZpbmUgcGdf cmVzdHJpY3QgX19yZXN0cmljdAp8ICNkZWZpbmUgSEFWRV9TVFJVQ1RfT1BUSU9OIDEKfCAjZGVm aW5lIFNJWkVPRl9PRkZfVCA0CnwgI2RlZmluZSBTSVpFT0ZfQk9PTCAxCnwgI2RlZmluZSBIQVZF X0lOVF9USU1FWk9ORSAxCnwgI2RlZmluZSBBQ0NFUFRfVFlQRV9SRVRVUk4gU09DS0VUIFdTQUFQ SQp8ICNkZWZpbmUgQUNDRVBUX1RZUEVfQVJHMSBTT0NLRVQKfCAjZGVmaW5lIEFDQ0VQVF9UWVBF X0FSRzIgc3RydWN0IHNvY2thZGRyICoKfCAjZGVmaW5lIEFDQ0VQVF9UWVBFX0FSRzMgaW50Cnwg I2RlZmluZSBIQVZFX0NCUlQgMQp8ICNkZWZpbmUgSEFWRV9DTE9DS19HRVRUSU1FIDEKfCAjZGVm aW5lIEhBVkVfTUVNTU9WRSAxCnwgI2RlZmluZSBIQVZFX1VUSU1FIDEKfCAjZGVmaW5lIEhBVkVf RlNFRUtPIDEKfCAjZGVmaW5lIEhBVkVfRlNFRUtPIDEKfCAjZGVmaW5lIEhBVkVfREVDTF9QT1NJ WF9GQURWSVNFIDAKfCAjZGVmaW5lIEhBVkVfREVDTF9GREFUQVNZTkMgMAp8ICNkZWZpbmUgSEFW RV9ERUNMX1NUUkxDQVQgMAp8ICNkZWZpbmUgSEFWRV9ERUNMX1NUUkxDUFkgMAp8ICNkZWZpbmUg SEFWRV9ERUNMX1NUUk5MRU4gMQp8ICNkZWZpbmUgSEFWRV9ERUNMX0ZfRlVMTEZTWU5DIDAKfCAj ZGVmaW5lIEhBVkVfSVBWNiAxCnwgI2RlZmluZSBIQVZFX0RFQ0xfU05QUklOVEYgMQp8ICNkZWZp bmUgSEFWRV9ERUNMX1ZTTlBSSU5URiAxCnwgI2RlZmluZSBIQVZFX0lTSU5GIDEKfCAjZGVmaW5l IEhBVkVfR0VUT1BUIDEKfCAvKiBlbmQgY29uZmRlZnMuaC4gICovCnwgLyogRGVmaW5lIGdldHJ1 c2FnZSB0byBhbiBpbm5vY3VvdXMgdmFyaWFudCwgaW4gY2FzZSA8bGltaXRzLmg+IGRlY2xhcmVz IGdldHJ1c2FnZS4KfCAgICBGb3IgZXhhbXBsZSwgSFAtVVggMTFpIDxsaW1pdHMuaD4gZGVjbGFy ZXMgZ2V0dGltZW9mZGF5LiAgKi8KfCAjZGVmaW5lIGdldHJ1c2FnZSBpbm5vY3VvdXNfZ2V0cnVz YWdlCnwgCnwgLyogU3lzdGVtIGhlYWRlciB0byBkZWZpbmUgX19zdHViIG1hY3JvcyBhbmQgaG9w ZWZ1bGx5IGZldyBwcm90b3R5cGVzLAp8ICAgICB3aGljaCBjYW4gY29uZmxpY3Qgd2l0aCBjaGFy IGdldHJ1c2FnZSAoKTsgYmVsb3cuCnwgICAgIFByZWZlciA8bGltaXRzLmg+IHRvIDxhc3NlcnQu aD4gaWYgX19TVERDX18gaXMgZGVmaW5lZCwgc2luY2UKfCAgICAgPGxpbWl0cy5oPiBleGlzdHMg ZXZlbiBvbiBmcmVlc3RhbmRpbmcgY29tcGlsZXJzLiAgKi8KfCAKfCAjaWZkZWYgX19TVERDX18K fCAjIGluY2x1ZGUgPGxpbWl0cy5oPgp8ICNlbHNlCnwgIyBpbmNsdWRlIDxhc3NlcnQuaD4KfCAj ZW5kaWYKfCAKfCAjdW5kZWYgZ2V0cnVzYWdlCnwgCnwgLyogT3ZlcnJpZGUgYW55IEdDQyBpbnRl cm5hbCBwcm90b3R5cGUgdG8gYXZvaWQgYW4gZXJyb3IuCnwgICAgVXNlIGNoYXIgYmVjYXVzZSBp bnQgbWlnaHQgbWF0Y2ggdGhlIHJldHVybiB0eXBlIG9mIGEgR0NDCnwgICAgYnVpbHRpbiBhbmQg dGhlbiBpdHMgYXJndW1lbnQgcHJvdG90eXBlIHdvdWxkIHN0aWxsIGFwcGx5LiAgKi8KfCAjaWZk ZWYgX19jcGx1c3BsdXMKfCBleHRlcm4gIkMiCnwgI2VuZGlmCnwgY2hhciBnZXRydXNhZ2UgKCk7 CnwgLyogVGhlIEdOVSBDIGxpYnJhcnkgZGVmaW5lcyB0aGlzIGZvciBmdW5jdGlvbnMgd2hpY2gg aXQgaW1wbGVtZW50cwp8ICAgICB0byBhbHdheXMgZmFpbCB3aXRoIEVOT1NZUy4gIFNvbWUgZnVu Y3Rpb25zIGFyZSBhY3R1YWxseSBuYW1lZAp8ICAgICBzb21ldGhpbmcgc3RhcnRpbmcgd2l0aCBf XyBhbmQgdGhlIG5vcm1hbCBuYW1lIGlzIGFuIGFsaWFzLiAgKi8KfCAjaWYgZGVmaW5lZCBfX3N0 dWJfZ2V0cnVzYWdlIHx8IGRlZmluZWQgX19zdHViX19fZ2V0cnVzYWdlCnwgY2hva2UgbWUKfCAj ZW5kaWYKfCAKfCBpbnQKfCBtYWluICgpCnwgewp8IHJldHVybiBnZXRydXNhZ2UgKCk7CnwgICA7 CnwgICByZXR1cm4gMDsKfCB9CmNvbmZpZ3VyZToxNTM1OTogcmVzdWx0OiBubwpjb25maWd1cmU6 MTUzNzI6IGNoZWNraW5nIGZvciBpbmV0X2F0b24KY29uZmlndXJlOjE1MzcyOiB4ODZfNjQtdzY0 LW1pbmd3MzItZ2NjIC1vIGNvbmZ0ZXN0LmV4ZSAtV2FsbCAtV21pc3NpbmctcHJvdG90eXBlcyAt V3BvaW50ZXItYXJpdGggLVdkZWNsYXJhdGlvbi1hZnRlci1zdGF0ZW1lbnQgLVdlbmRpZi1sYWJl bHMgLVdtaXNzaW5nLWZvcm1hdC1hdHRyaWJ1dGUgLVdmb3JtYXQtc2VjdXJpdHkgLWZuby1zdHJp Y3QtYWxpYXNpbmcgLWZ3cmFwdiAtZmV4Y2Vzcy1wcmVjaXNpb249c3RhbmRhcmQgLVduby1mb3Jt YXQtdHJ1bmNhdGlvbiAtV25vLXN0cmluZ29wLXRydW5jYXRpb24gLWcgLU8gLWZuby1vbWl0LWZy YW1lLXBvaW50ZXIgIC1JL3cvUi0zLjUuXy9wb3N0Z3Jlcy9zcmMvaW5jbHVkZS9wb3J0L3dpbjMy IC1ERVhFQ19CQUNLRU5EICAtSS93L3psaWItMS4yLjgtd2luMzIteDg2XzY0L2luY2x1ZGUgLUkv dy9vcGVuc3NsLTEuMC4yZS13aW4zMi14ODZfNjQvaW5jbHVkZSAtSS93L2xpYnhtbDItMi45LjMt d2luMzIteDg2XzY0L2luY2x1ZGUvbGlieG1sMiAtSS93L2xpYnhzbHQtMS4xLjI4LXdpbjMyLXg4 Nl82NC9pbmNsdWRlICAtV2wsLS1hbGxvdy1tdWx0aXBsZS1kZWZpbml0aW9uIC1XbCwtLWRpc2Fi bGUtYXV0by1pbXBvcnQgIC1ML3cvemxpYi0xLjIuOC13aW4zMi14ODZfNjQvbGliIC1ML3cvb3Bl bnNzbC0xLjAuMmUtd2luMzIteDg2XzY0L2xpYiAtTC93L2xpYnhtbDItMi45LjMtd2luMzIteDg2 XzY0L2xpYiAtTC93L2xpYnhzbHQtMS4xLjI4LXdpbjMyLXg4Nl82NC9saWIgY29uZnRlc3QuYyAt bHhzbHQgLWx4bWwyIC1sc3NsIC1sY3J5cHRvIC1seiAtbHdzMl8zMiAtbG0gID4mNQpDOi9tc3lz NjQvbWluZ3c2NC9iaW4vLi4vbGliL2djYy94ODZfNjQtdzY0LW1pbmd3MzIvOC4yLjAvLi4vLi4v Li4vLi4veDg2XzY0LXc2NC1taW5ndzMyL2Jpbi9sZC5leGU6IEM6XG1zeXM2NFx0bXBcY2N3VVly WlYubzogaW4gZnVuY3Rpb24gYG1haW4nOg0KVzpcUi0zLjUuX1xwb3N0Z3Jlc1xidWlsZC9jb25m dGVzdC5jOjEzMjogdW5kZWZpbmVkIHJlZmVyZW5jZSB0byBgaW5ldF9hdG9uJw0KY29sbGVjdDIu ZXhlOiBlcnJvcjogbGQgcmV0dXJuZWQgMSBleGl0IHN0YXR1cwpjb25maWd1cmU6MTUzNzI6ICQ/ ID0gMQpjb25maWd1cmU6IGZhaWxlZCBwcm9ncmFtIHdhczoKfCAvKiBjb25mZGVmcy5oICovCnwg I2RlZmluZSBQQUNLQUdFX05BTUUgIlBvc3RncmVTUUwiCnwgI2RlZmluZSBQQUNLQUdFX1RBUk5B TUUgInBvc3RncmVzcWwiCnwgI2RlZmluZSBQQUNLQUdFX1ZFUlNJT04gIjExYmV0YTMiCnwgI2Rl ZmluZSBQQUNLQUdFX1NUUklORyAiUG9zdGdyZVNRTCAxMWJldGEzIgp8ICNkZWZpbmUgUEFDS0FH RV9CVUdSRVBPUlQgInBnc3FsLWJ1Z3NAcG9zdGdyZXNxbC5vcmciCnwgI2RlZmluZSBQQUNLQUdF X1VSTCAiIgp8ICNkZWZpbmUgUEdfTUFKT1JWRVJTSU9OICIxMSIKfCAjZGVmaW5lIFBHX1ZFUlNJ T04gIjExYmV0YTMiCnwgI2RlZmluZSBERUZfUEdQT1JUIDU0MzIKfCAjZGVmaW5lIERFRl9QR1BP UlRfU1RSICI1NDMyIgp8ICNkZWZpbmUgQkxDS1NaIDgxOTIKfCAjZGVmaW5lIFJFTFNFR19TSVpF IDEzMTA3Mgp8ICNkZWZpbmUgWExPR19CTENLU1ogODE5Mgp8ICNkZWZpbmUgVVNFX0FTU0VSVF9D SEVDS0lORyAxCnwgI2RlZmluZSBFTkFCTEVfVEhSRUFEX1NBRkVUWSAxCnwgI2RlZmluZSBVU0Vf SUNVIDEKfCAjZGVmaW5lIFBHX0tSQl9TUlZOQU0gInBvc3RncmVzIgp8ICNkZWZpbmUgVVNFX09Q RU5TU0wgMQp8ICNkZWZpbmUgVVNFX0xJQlhNTCAxCnwgI2RlZmluZSBVU0VfTElCWFNMVCAxCnwg I2RlZmluZSBTVERDX0hFQURFUlMgMQp8ICNkZWZpbmUgSEFWRV9TWVNfVFlQRVNfSCAxCnwgI2Rl ZmluZSBIQVZFX1NZU19TVEFUX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERMSUJfSCAxCnwgI2RlZmlu ZSBIQVZFX1NUUklOR19IIDEKfCAjZGVmaW5lIEhBVkVfTUVNT1JZX0ggMQp8ICNkZWZpbmUgSEFW RV9TVFJJTkdTX0ggMQp8ICNkZWZpbmUgSEFWRV9JTlRUWVBFU19IIDEKfCAjZGVmaW5lIEhBVkVf U1RESU5UX0ggMQp8ICNkZWZpbmUgSEFWRV9VTklTVERfSCAxCnwgI2RlZmluZSBIQVZFX0xJQk0g MQp8ICNkZWZpbmUgSEFWRV9MSUJaIDEKfCAjZGVmaW5lIEhBVkVfU1BJTkxPQ0tTIDEKfCAjZGVm aW5lIEhBVkVfQVRPTUlDUyAxCnwgI2RlZmluZSBIQVZFX1NTTF9HRVRfQ1VSUkVOVF9DT01QUkVT U0lPTiAxCnwgI2RlZmluZSBIQVZFX1g1MDlfR0VUX1NJR05BVFVSRV9OSUQgMQp8ICNkZWZpbmUg SEFWRV9DUllQVE9fTE9DSyAxCnwgI2RlZmluZSBIQVZFX0xJQlhNTDIgMQp8ICNkZWZpbmUgSEFW RV9MSUJYU0xUIDEKfCAjZGVmaW5lIEhBVkVfX0JPT0wgMQp8ICNkZWZpbmUgSEFWRV9TVERCT09M X0ggMQp8ICNkZWZpbmUgSEFWRV9HRVRPUFRfSCAxCnwgI2RlZmluZSBIQVZFX0lFRUVGUF9IIDEK fCAjZGVmaW5lIEhBVkVfVVRJTUVfSCAxCnwgI2RlZmluZSBIQVZFX1dDSEFSX0ggMQp8ICNkZWZp bmUgSEFWRV9XQ1RZUEVfSCAxCnwgI2RlZmluZSBIQVZFX0NSVERFRlNfSCAxCnwgI2RlZmluZSBQ R19QUklOVEZfQVRUUklCVVRFIGdudV9wcmludGYKfCAjZGVmaW5lIEZMRVhJQkxFX0FSUkFZX01F TUJFUiAvKiovCnwgI2RlZmluZSBIQVZFX0ZVTkNOQU1FX19GVU5DIDEKfCAjZGVmaW5lIEhBVkVf X1NUQVRJQ19BU1NFUlQgMQp8ICNkZWZpbmUgSEFWRV9UWVBFT0YgMQp8ICNkZWZpbmUgSEFWRV9f QlVJTFRJTl9UWVBFU19DT01QQVRJQkxFX1AgMQp8ICNkZWZpbmUgSEFWRV9fQlVJTFRJTl9CU1dB UDE2IDEKfCAjZGVmaW5lIEhBVkVfX0JVSUxUSU5fQlNXQVAzMiAxCnwgI2RlZmluZSBIQVZFX19C VUlMVElOX0JTV0FQNjQgMQp8ICNkZWZpbmUgSEFWRV9fQlVJTFRJTl9DT05TVEFOVF9QIDEKfCAj ZGVmaW5lIEhBVkVfX0JVSUxUSU5fVU5SRUFDSEFCTEUgMQp8ICNkZWZpbmUgSEFWRV9DT01QVVRF RF9HT1RPIDEKfCAjZGVmaW5lIEhBVkVfX1ZBX0FSR1MgMQp8ICNkZWZpbmUgSEFWRV9UWk5BTUUg MQp8ICNkZWZpbmUgSEFWRV9TVFJVQ1RfU09DS0FERFJfU1RPUkFHRSAxCnwgI2RlZmluZSBIQVZF X1NUUlVDVF9TT0NLQUREUl9TVE9SQUdFX1NTX0ZBTUlMWSAxCnwgI2RlZmluZSBIQVZFX1NUUlVD VF9BRERSSU5GTyAxCnwgI2RlZmluZSBIQVZFX0lOVFBUUl9UIDEKfCAjZGVmaW5lIEhBVkVfVUlO VFBUUl9UIDEKfCAjZGVmaW5lIEhBVkVfVU5TSUdORURfTE9OR19MT05HX0lOVCAxCnwgI2RlZmlu ZSBIQVZFX0xPTkdfTE9OR19JTlQgMQp8ICNkZWZpbmUgcmVzdHJpY3QgX19yZXN0cmljdAp8ICNk ZWZpbmUgcGdfcmVzdHJpY3QgX19yZXN0cmljdAp8ICNkZWZpbmUgSEFWRV9TVFJVQ1RfT1BUSU9O IDEKfCAjZGVmaW5lIFNJWkVPRl9PRkZfVCA0CnwgI2RlZmluZSBTSVpFT0ZfQk9PTCAxCnwgI2Rl ZmluZSBIQVZFX0lOVF9USU1FWk9ORSAxCnwgI2RlZmluZSBBQ0NFUFRfVFlQRV9SRVRVUk4gU09D S0VUIFdTQUFQSQp8ICNkZWZpbmUgQUNDRVBUX1RZUEVfQVJHMSBTT0NLRVQKfCAjZGVmaW5lIEFD Q0VQVF9UWVBFX0FSRzIgc3RydWN0IHNvY2thZGRyICoKfCAjZGVmaW5lIEFDQ0VQVF9UWVBFX0FS RzMgaW50CnwgI2RlZmluZSBIQVZFX0NCUlQgMQp8ICNkZWZpbmUgSEFWRV9DTE9DS19HRVRUSU1F IDEKfCAjZGVmaW5lIEhBVkVfTUVNTU9WRSAxCnwgI2RlZmluZSBIQVZFX1VUSU1FIDEKfCAjZGVm aW5lIEhBVkVfRlNFRUtPIDEKfCAjZGVmaW5lIEhBVkVfRlNFRUtPIDEKfCAjZGVmaW5lIEhBVkVf REVDTF9QT1NJWF9GQURWSVNFIDAKfCAjZGVmaW5lIEhBVkVfREVDTF9GREFUQVNZTkMgMAp8ICNk ZWZpbmUgSEFWRV9ERUNMX1NUUkxDQVQgMAp8ICNkZWZpbmUgSEFWRV9ERUNMX1NUUkxDUFkgMAp8 ICNkZWZpbmUgSEFWRV9ERUNMX1NUUk5MRU4gMQp8ICNkZWZpbmUgSEFWRV9ERUNMX0ZfRlVMTEZT WU5DIDAKfCAjZGVmaW5lIEhBVkVfSVBWNiAxCnwgI2RlZmluZSBIQVZFX0RFQ0xfU05QUklOVEYg MQp8ICNkZWZpbmUgSEFWRV9ERUNMX1ZTTlBSSU5URiAxCnwgI2RlZmluZSBIQVZFX0lTSU5GIDEK fCAjZGVmaW5lIEhBVkVfR0VUT1BUIDEKfCAvKiBlbmQgY29uZmRlZnMuaC4gICovCnwgLyogRGVm aW5lIGluZXRfYXRvbiB0byBhbiBpbm5vY3VvdXMgdmFyaWFudCwgaW4gY2FzZSA8bGltaXRzLmg+ IGRlY2xhcmVzIGluZXRfYXRvbi4KfCAgICBGb3IgZXhhbXBsZSwgSFAtVVggMTFpIDxsaW1pdHMu aD4gZGVjbGFyZXMgZ2V0dGltZW9mZGF5LiAgKi8KfCAjZGVmaW5lIGluZXRfYXRvbiBpbm5vY3Vv dXNfaW5ldF9hdG9uCnwgCnwgLyogU3lzdGVtIGhlYWRlciB0byBkZWZpbmUgX19zdHViIG1hY3Jv cyBhbmQgaG9wZWZ1bGx5IGZldyBwcm90b3R5cGVzLAp8ICAgICB3aGljaCBjYW4gY29uZmxpY3Qg d2l0aCBjaGFyIGluZXRfYXRvbiAoKTsgYmVsb3cuCnwgICAgIFByZWZlciA8bGltaXRzLmg+IHRv IDxhc3NlcnQuaD4gaWYgX19TVERDX18gaXMgZGVmaW5lZCwgc2luY2UKfCAgICAgPGxpbWl0cy5o PiBleGlzdHMgZXZlbiBvbiBmcmVlc3RhbmRpbmcgY29tcGlsZXJzLiAgKi8KfCAKfCAjaWZkZWYg X19TVERDX18KfCAjIGluY2x1ZGUgPGxpbWl0cy5oPgp8ICNlbHNlCnwgIyBpbmNsdWRlIDxhc3Nl cnQuaD4KfCAjZW5kaWYKfCAKfCAjdW5kZWYgaW5ldF9hdG9uCnwgCnwgLyogT3ZlcnJpZGUgYW55 IEdDQyBpbnRlcm5hbCBwcm90b3R5cGUgdG8gYXZvaWQgYW4gZXJyb3IuCnwgICAgVXNlIGNoYXIg YmVjYXVzZSBpbnQgbWlnaHQgbWF0Y2ggdGhlIHJldHVybiB0eXBlIG9mIGEgR0NDCnwgICAgYnVp bHRpbiBhbmQgdGhlbiBpdHMgYXJndW1lbnQgcHJvdG90eXBlIHdvdWxkIHN0aWxsIGFwcGx5LiAg Ki8KfCAjaWZkZWYgX19jcGx1c3BsdXMKfCBleHRlcm4gIkMiCnwgI2VuZGlmCnwgY2hhciBpbmV0 X2F0b24gKCk7CnwgLyogVGhlIEdOVSBDIGxpYnJhcnkgZGVmaW5lcyB0aGlzIGZvciBmdW5jdGlv bnMgd2hpY2ggaXQgaW1wbGVtZW50cwp8ICAgICB0byBhbHdheXMgZmFpbCB3aXRoIEVOT1NZUy4g IFNvbWUgZnVuY3Rpb25zIGFyZSBhY3R1YWxseSBuYW1lZAp8ICAgICBzb21ldGhpbmcgc3RhcnRp bmcgd2l0aCBfXyBhbmQgdGhlIG5vcm1hbCBuYW1lIGlzIGFuIGFsaWFzLiAgKi8KfCAjaWYgZGVm aW5lZCBfX3N0dWJfaW5ldF9hdG9uIHx8IGRlZmluZWQgX19zdHViX19faW5ldF9hdG9uCnwgY2hv a2UgbWUKfCAjZW5kaWYKfCAKfCBpbnQKfCBtYWluICgpCnwgewp8IHJldHVybiBpbmV0X2F0b24g KCk7CnwgICA7CnwgICByZXR1cm4gMDsKfCB9CmNvbmZpZ3VyZToxNTM3MjogcmVzdWx0OiBubwpj b25maWd1cmU6MTUzODU6IGNoZWNraW5nIGZvciBta2R0ZW1wCmNvbmZpZ3VyZToxNTM4NTogeDg2 XzY0LXc2NC1taW5ndzMyLWdjYyAtbyBjb25mdGVzdC5leGUgLVdhbGwgLVdtaXNzaW5nLXByb3Rv dHlwZXMgLVdwb2ludGVyLWFyaXRoIC1XZGVjbGFyYXRpb24tYWZ0ZXItc3RhdGVtZW50IC1XZW5k aWYtbGFiZWxzIC1XbWlzc2luZy1mb3JtYXQtYXR0cmlidXRlIC1XZm9ybWF0LXNlY3VyaXR5IC1m bm8tc3RyaWN0LWFsaWFzaW5nIC1md3JhcHYgLWZleGNlc3MtcHJlY2lzaW9uPXN0YW5kYXJkIC1X bm8tZm9ybWF0LXRydW5jYXRpb24gLVduby1zdHJpbmdvcC10cnVuY2F0aW9uIC1nIC1PIC1mbm8t b21pdC1mcmFtZS1wb2ludGVyICAtSS93L1ItMy41Ll8vcG9zdGdyZXMvc3JjL2luY2x1ZGUvcG9y dC93aW4zMiAtREVYRUNfQkFDS0VORCAgLUkvdy96bGliLTEuMi44LXdpbjMyLXg4Nl82NC9pbmNs dWRlIC1JL3cvb3BlbnNzbC0xLjAuMmUtd2luMzIteDg2XzY0L2luY2x1ZGUgLUkvdy9saWJ4bWwy LTIuOS4zLXdpbjMyLXg4Nl82NC9pbmNsdWRlL2xpYnhtbDIgLUkvdy9saWJ4c2x0LTEuMS4yOC13 aW4zMi14ODZfNjQvaW5jbHVkZSAgLVdsLC0tYWxsb3ctbXVsdGlwbGUtZGVmaW5pdGlvbiAtV2ws LS1kaXNhYmxlLWF1dG8taW1wb3J0ICAtTC93L3psaWItMS4yLjgtd2luMzIteDg2XzY0L2xpYiAt TC93L29wZW5zc2wtMS4wLjJlLXdpbjMyLXg4Nl82NC9saWIgLUwvdy9saWJ4bWwyLTIuOS4zLXdp bjMyLXg4Nl82NC9saWIgLUwvdy9saWJ4c2x0LTEuMS4yOC13aW4zMi14ODZfNjQvbGliIGNvbmZ0 ZXN0LmMgLWx4c2x0IC1seG1sMiAtbHNzbCAtbGNyeXB0byAtbHogLWx3czJfMzIgLWxtICA+JjUK QzovbXN5czY0L21pbmd3NjQvYmluLy4uL2xpYi9nY2MveDg2XzY0LXc2NC1taW5ndzMyLzguMi4w Ly4uLy4uLy4uLy4uL3g4Nl82NC13NjQtbWluZ3czMi9iaW4vbGQuZXhlOiBDOlxtc3lzNjRcdG1w XGNjRWJZQlpFLm86IGluIGZ1bmN0aW9uIGBtYWluJzoNClc6XFItMy41Ll9ccG9zdGdyZXNcYnVp bGQvY29uZnRlc3QuYzoxMzI6IHVuZGVmaW5lZCByZWZlcmVuY2UgdG8gYG1rZHRlbXAnDQpjb2xs ZWN0Mi5leGU6IGVycm9yOiBsZCByZXR1cm5lZCAxIGV4aXQgc3RhdHVzCmNvbmZpZ3VyZToxNTM4 NTogJD8gPSAxCmNvbmZpZ3VyZTogZmFpbGVkIHByb2dyYW0gd2FzOgp8IC8qIGNvbmZkZWZzLmgg Ki8KfCAjZGVmaW5lIFBBQ0tBR0VfTkFNRSAiUG9zdGdyZVNRTCIKfCAjZGVmaW5lIFBBQ0tBR0Vf VEFSTkFNRSAicG9zdGdyZXNxbCIKfCAjZGVmaW5lIFBBQ0tBR0VfVkVSU0lPTiAiMTFiZXRhMyIK fCAjZGVmaW5lIFBBQ0tBR0VfU1RSSU5HICJQb3N0Z3JlU1FMIDExYmV0YTMiCnwgI2RlZmluZSBQ QUNLQUdFX0JVR1JFUE9SVCAicGdzcWwtYnVnc0Bwb3N0Z3Jlc3FsLm9yZyIKfCAjZGVmaW5lIFBB Q0tBR0VfVVJMICIiCnwgI2RlZmluZSBQR19NQUpPUlZFUlNJT04gIjExIgp8ICNkZWZpbmUgUEdf VkVSU0lPTiAiMTFiZXRhMyIKfCAjZGVmaW5lIERFRl9QR1BPUlQgNTQzMgp8ICNkZWZpbmUgREVG X1BHUE9SVF9TVFIgIjU0MzIiCnwgI2RlZmluZSBCTENLU1ogODE5Mgp8ICNkZWZpbmUgUkVMU0VH X1NJWkUgMTMxMDcyCnwgI2RlZmluZSBYTE9HX0JMQ0tTWiA4MTkyCnwgI2RlZmluZSBVU0VfQVNT RVJUX0NIRUNLSU5HIDEKfCAjZGVmaW5lIEVOQUJMRV9USFJFQURfU0FGRVRZIDEKfCAjZGVmaW5l IFVTRV9JQ1UgMQp8ICNkZWZpbmUgUEdfS1JCX1NSVk5BTSAicG9zdGdyZXMiCnwgI2RlZmluZSBV U0VfT1BFTlNTTCAxCnwgI2RlZmluZSBVU0VfTElCWE1MIDEKfCAjZGVmaW5lIFVTRV9MSUJYU0xU IDEKfCAjZGVmaW5lIFNURENfSEVBREVSUyAxCnwgI2RlZmluZSBIQVZFX1NZU19UWVBFU19IIDEK fCAjZGVmaW5lIEhBVkVfU1lTX1NUQVRfSCAxCnwgI2RlZmluZSBIQVZFX1NURExJQl9IIDEKfCAj ZGVmaW5lIEhBVkVfU1RSSU5HX0ggMQp8ICNkZWZpbmUgSEFWRV9NRU1PUllfSCAxCnwgI2RlZmlu ZSBIQVZFX1NUUklOR1NfSCAxCnwgI2RlZmluZSBIQVZFX0lOVFRZUEVTX0ggMQp8ICNkZWZpbmUg SEFWRV9TVERJTlRfSCAxCnwgI2RlZmluZSBIQVZFX1VOSVNURF9IIDEKfCAjZGVmaW5lIEhBVkVf TElCTSAxCnwgI2RlZmluZSBIQVZFX0xJQlogMQp8ICNkZWZpbmUgSEFWRV9TUElOTE9DS1MgMQp8 ICNkZWZpbmUgSEFWRV9BVE9NSUNTIDEKfCAjZGVmaW5lIEhBVkVfU1NMX0dFVF9DVVJSRU5UX0NP TVBSRVNTSU9OIDEKfCAjZGVmaW5lIEhBVkVfWDUwOV9HRVRfU0lHTkFUVVJFX05JRCAxCnwgI2Rl ZmluZSBIQVZFX0NSWVBUT19MT0NLIDEKfCAjZGVmaW5lIEhBVkVfTElCWE1MMiAxCnwgI2RlZmlu ZSBIQVZFX0xJQlhTTFQgMQp8ICNkZWZpbmUgSEFWRV9fQk9PTCAxCnwgI2RlZmluZSBIQVZFX1NU REJPT0xfSCAxCnwgI2RlZmluZSBIQVZFX0dFVE9QVF9IIDEKfCAjZGVmaW5lIEhBVkVfSUVFRUZQ X0ggMQp8ICNkZWZpbmUgSEFWRV9VVElNRV9IIDEKfCAjZGVmaW5lIEhBVkVfV0NIQVJfSCAxCnwg I2RlZmluZSBIQVZFX1dDVFlQRV9IIDEKfCAjZGVmaW5lIEhBVkVfQ1JUREVGU19IIDEKfCAjZGVm aW5lIFBHX1BSSU5URl9BVFRSSUJVVEUgZ251X3ByaW50Zgp8ICNkZWZpbmUgRkxFWElCTEVfQVJS QVlfTUVNQkVSIC8qKi8KfCAjZGVmaW5lIEhBVkVfRlVOQ05BTUVfX0ZVTkMgMQp8ICNkZWZpbmUg SEFWRV9fU1RBVElDX0FTU0VSVCAxCnwgI2RlZmluZSBIQVZFX1RZUEVPRiAxCnwgI2RlZmluZSBI QVZFX19CVUlMVElOX1RZUEVTX0NPTVBBVElCTEVfUCAxCnwgI2RlZmluZSBIQVZFX19CVUlMVElO X0JTV0FQMTYgMQp8ICNkZWZpbmUgSEFWRV9fQlVJTFRJTl9CU1dBUDMyIDEKfCAjZGVmaW5lIEhB VkVfX0JVSUxUSU5fQlNXQVA2NCAxCnwgI2RlZmluZSBIQVZFX19CVUlMVElOX0NPTlNUQU5UX1Ag MQp8ICNkZWZpbmUgSEFWRV9fQlVJTFRJTl9VTlJFQUNIQUJMRSAxCnwgI2RlZmluZSBIQVZFX0NP TVBVVEVEX0dPVE8gMQp8ICNkZWZpbmUgSEFWRV9fVkFfQVJHUyAxCnwgI2RlZmluZSBIQVZFX1Ra TkFNRSAxCnwgI2RlZmluZSBIQVZFX1NUUlVDVF9TT0NLQUREUl9TVE9SQUdFIDEKfCAjZGVmaW5l IEhBVkVfU1RSVUNUX1NPQ0tBRERSX1NUT1JBR0VfU1NfRkFNSUxZIDEKfCAjZGVmaW5lIEhBVkVf U1RSVUNUX0FERFJJTkZPIDEKfCAjZGVmaW5lIEhBVkVfSU5UUFRSX1QgMQp8ICNkZWZpbmUgSEFW RV9VSU5UUFRSX1QgMQp8ICNkZWZpbmUgSEFWRV9VTlNJR05FRF9MT05HX0xPTkdfSU5UIDEKfCAj ZGVmaW5lIEhBVkVfTE9OR19MT05HX0lOVCAxCnwgI2RlZmluZSByZXN0cmljdCBfX3Jlc3RyaWN0 CnwgI2RlZmluZSBwZ19yZXN0cmljdCBfX3Jlc3RyaWN0CnwgI2RlZmluZSBIQVZFX1NUUlVDVF9P UFRJT04gMQp8ICNkZWZpbmUgU0laRU9GX09GRl9UIDQKfCAjZGVmaW5lIFNJWkVPRl9CT09MIDEK fCAjZGVmaW5lIEhBVkVfSU5UX1RJTUVaT05FIDEKfCAjZGVmaW5lIEFDQ0VQVF9UWVBFX1JFVFVS TiBTT0NLRVQgV1NBQVBJCnwgI2RlZmluZSBBQ0NFUFRfVFlQRV9BUkcxIFNPQ0tFVAp8ICNkZWZp bmUgQUNDRVBUX1RZUEVfQVJHMiBzdHJ1Y3Qgc29ja2FkZHIgKgp8ICNkZWZpbmUgQUNDRVBUX1RZ UEVfQVJHMyBpbnQKfCAjZGVmaW5lIEhBVkVfQ0JSVCAxCnwgI2RlZmluZSBIQVZFX0NMT0NLX0dF VFRJTUUgMQp8ICNkZWZpbmUgSEFWRV9NRU1NT1ZFIDEKfCAjZGVmaW5lIEhBVkVfVVRJTUUgMQp8 ICNkZWZpbmUgSEFWRV9GU0VFS08gMQp8ICNkZWZpbmUgSEFWRV9GU0VFS08gMQp8ICNkZWZpbmUg SEFWRV9ERUNMX1BPU0lYX0ZBRFZJU0UgMAp8ICNkZWZpbmUgSEFWRV9ERUNMX0ZEQVRBU1lOQyAw CnwgI2RlZmluZSBIQVZFX0RFQ0xfU1RSTENBVCAwCnwgI2RlZmluZSBIQVZFX0RFQ0xfU1RSTENQ WSAwCnwgI2RlZmluZSBIQVZFX0RFQ0xfU1RSTkxFTiAxCnwgI2RlZmluZSBIQVZFX0RFQ0xfRl9G VUxMRlNZTkMgMAp8ICNkZWZpbmUgSEFWRV9JUFY2IDEKfCAjZGVmaW5lIEhBVkVfREVDTF9TTlBS SU5URiAxCnwgI2RlZmluZSBIQVZFX0RFQ0xfVlNOUFJJTlRGIDEKfCAjZGVmaW5lIEhBVkVfSVNJ TkYgMQp8ICNkZWZpbmUgSEFWRV9HRVRPUFQgMQp8IC8qIGVuZCBjb25mZGVmcy5oLiAgKi8KfCAv KiBEZWZpbmUgbWtkdGVtcCB0byBhbiBpbm5vY3VvdXMgdmFyaWFudCwgaW4gY2FzZSA8bGltaXRz Lmg+IGRlY2xhcmVzIG1rZHRlbXAuCnwgICAgRm9yIGV4YW1wbGUsIEhQLVVYIDExaSA8bGltaXRz Lmg+IGRlY2xhcmVzIGdldHRpbWVvZmRheS4gICovCnwgI2RlZmluZSBta2R0ZW1wIGlubm9jdW91 c19ta2R0ZW1wCnwgCnwgLyogU3lzdGVtIGhlYWRlciB0byBkZWZpbmUgX19zdHViIG1hY3JvcyBh bmQgaG9wZWZ1bGx5IGZldyBwcm90b3R5cGVzLAp8ICAgICB3aGljaCBjYW4gY29uZmxpY3Qgd2l0 aCBjaGFyIG1rZHRlbXAgKCk7IGJlbG93Lgp8ICAgICBQcmVmZXIgPGxpbWl0cy5oPiB0byA8YXNz ZXJ0Lmg+IGlmIF9fU1REQ19fIGlzIGRlZmluZWQsIHNpbmNlCnwgICAgIDxsaW1pdHMuaD4gZXhp c3RzIGV2ZW4gb24gZnJlZXN0YW5kaW5nIGNvbXBpbGVycy4gICovCnwgCnwgI2lmZGVmIF9fU1RE Q19fCnwgIyBpbmNsdWRlIDxsaW1pdHMuaD4KfCAjZWxzZQp8ICMgaW5jbHVkZSA8YXNzZXJ0Lmg+ CnwgI2VuZGlmCnwgCnwgI3VuZGVmIG1rZHRlbXAKfCAKfCAvKiBPdmVycmlkZSBhbnkgR0NDIGlu dGVybmFsIHByb3RvdHlwZSB0byBhdm9pZCBhbiBlcnJvci4KfCAgICBVc2UgY2hhciBiZWNhdXNl IGludCBtaWdodCBtYXRjaCB0aGUgcmV0dXJuIHR5cGUgb2YgYSBHQ0MKfCAgICBidWlsdGluIGFu ZCB0aGVuIGl0cyBhcmd1bWVudCBwcm90b3R5cGUgd291bGQgc3RpbGwgYXBwbHkuICAqLwp8ICNp ZmRlZiBfX2NwbHVzcGx1cwp8IGV4dGVybiAiQyIKfCAjZW5kaWYKfCBjaGFyIG1rZHRlbXAgKCk7 CnwgLyogVGhlIEdOVSBDIGxpYnJhcnkgZGVmaW5lcyB0aGlzIGZvciBmdW5jdGlvbnMgd2hpY2gg aXQgaW1wbGVtZW50cwp8ICAgICB0byBhbHdheXMgZmFpbCB3aXRoIEVOT1NZUy4gIFNvbWUgZnVu Y3Rpb25zIGFyZSBhY3R1YWxseSBuYW1lZAp8ICAgICBzb21ldGhpbmcgc3RhcnRpbmcgd2l0aCBf XyBhbmQgdGhlIG5vcm1hbCBuYW1lIGlzIGFuIGFsaWFzLiAgKi8KfCAjaWYgZGVmaW5lZCBfX3N0 dWJfbWtkdGVtcCB8fCBkZWZpbmVkIF9fc3R1Yl9fX21rZHRlbXAKfCBjaG9rZSBtZQp8ICNlbmRp Zgp8IAp8IGludAp8IG1haW4gKCkKfCB7CnwgcmV0dXJuIG1rZHRlbXAgKCk7CnwgICA7CnwgICBy ZXR1cm4gMDsKfCB9CmNvbmZpZ3VyZToxNTM4NTogcmVzdWx0OiBubwpjb25maWd1cmU6MTUzOTg6 IGNoZWNraW5nIGZvciByYW5kb20KY29uZmlndXJlOjE1Mzk4OiB4ODZfNjQtdzY0LW1pbmd3MzIt Z2NjIC1vIGNvbmZ0ZXN0LmV4ZSAtV2FsbCAtV21pc3NpbmctcHJvdG90eXBlcyAtV3BvaW50ZXIt YXJpdGggLVdkZWNsYXJhdGlvbi1hZnRlci1zdGF0ZW1lbnQgLVdlbmRpZi1sYWJlbHMgLVdtaXNz aW5nLWZvcm1hdC1hdHRyaWJ1dGUgLVdmb3JtYXQtc2VjdXJpdHkgLWZuby1zdHJpY3QtYWxpYXNp bmcgLWZ3cmFwdiAtZmV4Y2Vzcy1wcmVjaXNpb249c3RhbmRhcmQgLVduby1mb3JtYXQtdHJ1bmNh dGlvbiAtV25vLXN0cmluZ29wLXRydW5jYXRpb24gLWcgLU8gLWZuby1vbWl0LWZyYW1lLXBvaW50 ZXIgIC1JL3cvUi0zLjUuXy9wb3N0Z3Jlcy9zcmMvaW5jbHVkZS9wb3J0L3dpbjMyIC1ERVhFQ19C QUNLRU5EICAtSS93L3psaWItMS4yLjgtd2luMzIteDg2XzY0L2luY2x1ZGUgLUkvdy9vcGVuc3Ns LTEuMC4yZS13aW4zMi14ODZfNjQvaW5jbHVkZSAtSS93L2xpYnhtbDItMi45LjMtd2luMzIteDg2 XzY0L2luY2x1ZGUvbGlieG1sMiAtSS93L2xpYnhzbHQtMS4xLjI4LXdpbjMyLXg4Nl82NC9pbmNs dWRlICAtV2wsLS1hbGxvdy1tdWx0aXBsZS1kZWZpbml0aW9uIC1XbCwtLWRpc2FibGUtYXV0by1p bXBvcnQgIC1ML3cvemxpYi0xLjIuOC13aW4zMi14ODZfNjQvbGliIC1ML3cvb3BlbnNzbC0xLjAu MmUtd2luMzIteDg2XzY0L2xpYiAtTC93L2xpYnhtbDItMi45LjMtd2luMzIteDg2XzY0L2xpYiAt TC93L2xpYnhzbHQtMS4xLjI4LXdpbjMyLXg4Nl82NC9saWIgY29uZnRlc3QuYyAtbHhzbHQgLWx4 bWwyIC1sc3NsIC1sY3J5cHRvIC1seiAtbHdzMl8zMiAtbG0gID4mNQpDOi9tc3lzNjQvbWluZ3c2 NC9iaW4vLi4vbGliL2djYy94ODZfNjQtdzY0LW1pbmd3MzIvOC4yLjAvLi4vLi4vLi4vLi4veDg2 XzY0LXc2NC1taW5ndzMyL2Jpbi9sZC5leGU6IEM6XG1zeXM2NFx0bXBcY2NvNEdBUnEubzogaW4g ZnVuY3Rpb24gYG1haW4nOg0KVzpcUi0zLjUuX1xwb3N0Z3Jlc1xidWlsZC9jb25mdGVzdC5jOjEz MjogdW5kZWZpbmVkIHJlZmVyZW5jZSB0byBgcmFuZG9tJw0KY29sbGVjdDIuZXhlOiBlcnJvcjog bGQgcmV0dXJuZWQgMSBleGl0IHN0YXR1cwpjb25maWd1cmU6MTUzOTg6ICQ/ID0gMQpjb25maWd1 cmU6IGZhaWxlZCBwcm9ncmFtIHdhczoKfCAvKiBjb25mZGVmcy5oICovCnwgI2RlZmluZSBQQUNL QUdFX05BTUUgIlBvc3RncmVTUUwiCnwgI2RlZmluZSBQQUNLQUdFX1RBUk5BTUUgInBvc3RncmVz cWwiCnwgI2RlZmluZSBQQUNLQUdFX1ZFUlNJT04gIjExYmV0YTMiCnwgI2RlZmluZSBQQUNLQUdF X1NUUklORyAiUG9zdGdyZVNRTCAxMWJldGEzIgp8ICNkZWZpbmUgUEFDS0FHRV9CVUdSRVBPUlQg InBnc3FsLWJ1Z3NAcG9zdGdyZXNxbC5vcmciCnwgI2RlZmluZSBQQUNLQUdFX1VSTCAiIgp8ICNk ZWZpbmUgUEdfTUFKT1JWRVJTSU9OICIxMSIKfCAjZGVmaW5lIFBHX1ZFUlNJT04gIjExYmV0YTMi CnwgI2RlZmluZSBERUZfUEdQT1JUIDU0MzIKfCAjZGVmaW5lIERFRl9QR1BPUlRfU1RSICI1NDMy Igp8ICNkZWZpbmUgQkxDS1NaIDgxOTIKfCAjZGVmaW5lIFJFTFNFR19TSVpFIDEzMTA3Mgp8ICNk ZWZpbmUgWExPR19CTENLU1ogODE5Mgp8ICNkZWZpbmUgVVNFX0FTU0VSVF9DSEVDS0lORyAxCnwg I2RlZmluZSBFTkFCTEVfVEhSRUFEX1NBRkVUWSAxCnwgI2RlZmluZSBVU0VfSUNVIDEKfCAjZGVm aW5lIFBHX0tSQl9TUlZOQU0gInBvc3RncmVzIgp8ICNkZWZpbmUgVVNFX09QRU5TU0wgMQp8ICNk ZWZpbmUgVVNFX0xJQlhNTCAxCnwgI2RlZmluZSBVU0VfTElCWFNMVCAxCnwgI2RlZmluZSBTVERD X0hFQURFUlMgMQp8ICNkZWZpbmUgSEFWRV9TWVNfVFlQRVNfSCAxCnwgI2RlZmluZSBIQVZFX1NZ U19TVEFUX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERMSUJfSCAxCnwgI2RlZmluZSBIQVZFX1NUUklO R19IIDEKfCAjZGVmaW5lIEhBVkVfTUVNT1JZX0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJJTkdTX0gg MQp8ICNkZWZpbmUgSEFWRV9JTlRUWVBFU19IIDEKfCAjZGVmaW5lIEhBVkVfU1RESU5UX0ggMQp8 ICNkZWZpbmUgSEFWRV9VTklTVERfSCAxCnwgI2RlZmluZSBIQVZFX0xJQk0gMQp8ICNkZWZpbmUg SEFWRV9MSUJaIDEKfCAjZGVmaW5lIEhBVkVfU1BJTkxPQ0tTIDEKfCAjZGVmaW5lIEhBVkVfQVRP TUlDUyAxCnwgI2RlZmluZSBIQVZFX1NTTF9HRVRfQ1VSUkVOVF9DT01QUkVTU0lPTiAxCnwgI2Rl ZmluZSBIQVZFX1g1MDlfR0VUX1NJR05BVFVSRV9OSUQgMQp8ICNkZWZpbmUgSEFWRV9DUllQVE9f TE9DSyAxCnwgI2RlZmluZSBIQVZFX0xJQlhNTDIgMQp8ICNkZWZpbmUgSEFWRV9MSUJYU0xUIDEK fCAjZGVmaW5lIEhBVkVfX0JPT0wgMQp8ICNkZWZpbmUgSEFWRV9TVERCT09MX0ggMQp8ICNkZWZp bmUgSEFWRV9HRVRPUFRfSCAxCnwgI2RlZmluZSBIQVZFX0lFRUVGUF9IIDEKfCAjZGVmaW5lIEhB VkVfVVRJTUVfSCAxCnwgI2RlZmluZSBIQVZFX1dDSEFSX0ggMQp8ICNkZWZpbmUgSEFWRV9XQ1RZ UEVfSCAxCnwgI2RlZmluZSBIQVZFX0NSVERFRlNfSCAxCnwgI2RlZmluZSBQR19QUklOVEZfQVRU UklCVVRFIGdudV9wcmludGYKfCAjZGVmaW5lIEZMRVhJQkxFX0FSUkFZX01FTUJFUiAvKiovCnwg I2RlZmluZSBIQVZFX0ZVTkNOQU1FX19GVU5DIDEKfCAjZGVmaW5lIEhBVkVfX1NUQVRJQ19BU1NF UlQgMQp8ICNkZWZpbmUgSEFWRV9UWVBFT0YgMQp8ICNkZWZpbmUgSEFWRV9fQlVJTFRJTl9UWVBF U19DT01QQVRJQkxFX1AgMQp8ICNkZWZpbmUgSEFWRV9fQlVJTFRJTl9CU1dBUDE2IDEKfCAjZGVm aW5lIEhBVkVfX0JVSUxUSU5fQlNXQVAzMiAxCnwgI2RlZmluZSBIQVZFX19CVUlMVElOX0JTV0FQ NjQgMQp8ICNkZWZpbmUgSEFWRV9fQlVJTFRJTl9DT05TVEFOVF9QIDEKfCAjZGVmaW5lIEhBVkVf X0JVSUxUSU5fVU5SRUFDSEFCTEUgMQp8ICNkZWZpbmUgSEFWRV9DT01QVVRFRF9HT1RPIDEKfCAj ZGVmaW5lIEhBVkVfX1ZBX0FSR1MgMQp8ICNkZWZpbmUgSEFWRV9UWk5BTUUgMQp8ICNkZWZpbmUg SEFWRV9TVFJVQ1RfU09DS0FERFJfU1RPUkFHRSAxCnwgI2RlZmluZSBIQVZFX1NUUlVDVF9TT0NL QUREUl9TVE9SQUdFX1NTX0ZBTUlMWSAxCnwgI2RlZmluZSBIQVZFX1NUUlVDVF9BRERSSU5GTyAx CnwgI2RlZmluZSBIQVZFX0lOVFBUUl9UIDEKfCAjZGVmaW5lIEhBVkVfVUlOVFBUUl9UIDEKfCAj ZGVmaW5lIEhBVkVfVU5TSUdORURfTE9OR19MT05HX0lOVCAxCnwgI2RlZmluZSBIQVZFX0xPTkdf TE9OR19JTlQgMQp8ICNkZWZpbmUgcmVzdHJpY3QgX19yZXN0cmljdAp8ICNkZWZpbmUgcGdfcmVz dHJpY3QgX19yZXN0cmljdAp8ICNkZWZpbmUgSEFWRV9TVFJVQ1RfT1BUSU9OIDEKfCAjZGVmaW5l IFNJWkVPRl9PRkZfVCA0CnwgI2RlZmluZSBTSVpFT0ZfQk9PTCAxCnwgI2RlZmluZSBIQVZFX0lO VF9USU1FWk9ORSAxCnwgI2RlZmluZSBBQ0NFUFRfVFlQRV9SRVRVUk4gU09DS0VUIFdTQUFQSQp8 ICNkZWZpbmUgQUNDRVBUX1RZUEVfQVJHMSBTT0NLRVQKfCAjZGVmaW5lIEFDQ0VQVF9UWVBFX0FS RzIgc3RydWN0IHNvY2thZGRyICoKfCAjZGVmaW5lIEFDQ0VQVF9UWVBFX0FSRzMgaW50CnwgI2Rl ZmluZSBIQVZFX0NCUlQgMQp8ICNkZWZpbmUgSEFWRV9DTE9DS19HRVRUSU1FIDEKfCAjZGVmaW5l IEhBVkVfTUVNTU9WRSAxCnwgI2RlZmluZSBIQVZFX1VUSU1FIDEKfCAjZGVmaW5lIEhBVkVfRlNF RUtPIDEKfCAjZGVmaW5lIEhBVkVfRlNFRUtPIDEKfCAjZGVmaW5lIEhBVkVfREVDTF9QT1NJWF9G QURWSVNFIDAKfCAjZGVmaW5lIEhBVkVfREVDTF9GREFUQVNZTkMgMAp8ICNkZWZpbmUgSEFWRV9E RUNMX1NUUkxDQVQgMAp8ICNkZWZpbmUgSEFWRV9ERUNMX1NUUkxDUFkgMAp8ICNkZWZpbmUgSEFW RV9ERUNMX1NUUk5MRU4gMQp8ICNkZWZpbmUgSEFWRV9ERUNMX0ZfRlVMTEZTWU5DIDAKfCAjZGVm aW5lIEhBVkVfSVBWNiAxCnwgI2RlZmluZSBIQVZFX0RFQ0xfU05QUklOVEYgMQp8ICNkZWZpbmUg SEFWRV9ERUNMX1ZTTlBSSU5URiAxCnwgI2RlZmluZSBIQVZFX0lTSU5GIDEKfCAjZGVmaW5lIEhB VkVfR0VUT1BUIDEKfCAvKiBlbmQgY29uZmRlZnMuaC4gICovCnwgLyogRGVmaW5lIHJhbmRvbSB0 byBhbiBpbm5vY3VvdXMgdmFyaWFudCwgaW4gY2FzZSA8bGltaXRzLmg+IGRlY2xhcmVzIHJhbmRv bS4KfCAgICBGb3IgZXhhbXBsZSwgSFAtVVggMTFpIDxsaW1pdHMuaD4gZGVjbGFyZXMgZ2V0dGlt ZW9mZGF5LiAgKi8KfCAjZGVmaW5lIHJhbmRvbSBpbm5vY3VvdXNfcmFuZG9tCnwgCnwgLyogU3lz dGVtIGhlYWRlciB0byBkZWZpbmUgX19zdHViIG1hY3JvcyBhbmQgaG9wZWZ1bGx5IGZldyBwcm90 b3R5cGVzLAp8ICAgICB3aGljaCBjYW4gY29uZmxpY3Qgd2l0aCBjaGFyIHJhbmRvbSAoKTsgYmVs b3cuCnwgICAgIFByZWZlciA8bGltaXRzLmg+IHRvIDxhc3NlcnQuaD4gaWYgX19TVERDX18gaXMg ZGVmaW5lZCwgc2luY2UKfCAgICAgPGxpbWl0cy5oPiBleGlzdHMgZXZlbiBvbiBmcmVlc3RhbmRp bmcgY29tcGlsZXJzLiAgKi8KfCAKfCAjaWZkZWYgX19TVERDX18KfCAjIGluY2x1ZGUgPGxpbWl0 cy5oPgp8ICNlbHNlCnwgIyBpbmNsdWRlIDxhc3NlcnQuaD4KfCAjZW5kaWYKfCAKfCAjdW5kZWYg cmFuZG9tCnwgCnwgLyogT3ZlcnJpZGUgYW55IEdDQyBpbnRlcm5hbCBwcm90b3R5cGUgdG8gYXZv aWQgYW4gZXJyb3IuCnwgICAgVXNlIGNoYXIgYmVjYXVzZSBpbnQgbWlnaHQgbWF0Y2ggdGhlIHJl dHVybiB0eXBlIG9mIGEgR0NDCnwgICAgYnVpbHRpbiBhbmQgdGhlbiBpdHMgYXJndW1lbnQgcHJv dG90eXBlIHdvdWxkIHN0aWxsIGFwcGx5LiAgKi8KfCAjaWZkZWYgX19jcGx1c3BsdXMKfCBleHRl cm4gIkMiCnwgI2VuZGlmCnwgY2hhciByYW5kb20gKCk7CnwgLyogVGhlIEdOVSBDIGxpYnJhcnkg ZGVmaW5lcyB0aGlzIGZvciBmdW5jdGlvbnMgd2hpY2ggaXQgaW1wbGVtZW50cwp8ICAgICB0byBh bHdheXMgZmFpbCB3aXRoIEVOT1NZUy4gIFNvbWUgZnVuY3Rpb25zIGFyZSBhY3R1YWxseSBuYW1l ZAp8ICAgICBzb21ldGhpbmcgc3RhcnRpbmcgd2l0aCBfXyBhbmQgdGhlIG5vcm1hbCBuYW1lIGlz IGFuIGFsaWFzLiAgKi8KfCAjaWYgZGVmaW5lZCBfX3N0dWJfcmFuZG9tIHx8IGRlZmluZWQgX19z dHViX19fcmFuZG9tCnwgY2hva2UgbWUKfCAjZW5kaWYKfCAKfCBpbnQKfCBtYWluICgpCnwgewp8 IHJldHVybiByYW5kb20gKCk7CnwgICA7CnwgICByZXR1cm4gMDsKfCB9CmNvbmZpZ3VyZToxNTM5 ODogcmVzdWx0OiBubwpjb25maWd1cmU6MTU0MTE6IGNoZWNraW5nIGZvciByaW50CmNvbmZpZ3Vy ZToxNTQxMTogeDg2XzY0LXc2NC1taW5ndzMyLWdjYyAtbyBjb25mdGVzdC5leGUgLVdhbGwgLVdt aXNzaW5nLXByb3RvdHlwZXMgLVdwb2ludGVyLWFyaXRoIC1XZGVjbGFyYXRpb24tYWZ0ZXItc3Rh dGVtZW50IC1XZW5kaWYtbGFiZWxzIC1XbWlzc2luZy1mb3JtYXQtYXR0cmlidXRlIC1XZm9ybWF0 LXNlY3VyaXR5IC1mbm8tc3RyaWN0LWFsaWFzaW5nIC1md3JhcHYgLWZleGNlc3MtcHJlY2lzaW9u PXN0YW5kYXJkIC1Xbm8tZm9ybWF0LXRydW5jYXRpb24gLVduby1zdHJpbmdvcC10cnVuY2F0aW9u IC1nIC1PIC1mbm8tb21pdC1mcmFtZS1wb2ludGVyICAtSS93L1ItMy41Ll8vcG9zdGdyZXMvc3Jj L2luY2x1ZGUvcG9ydC93aW4zMiAtREVYRUNfQkFDS0VORCAgLUkvdy96bGliLTEuMi44LXdpbjMy LXg4Nl82NC9pbmNsdWRlIC1JL3cvb3BlbnNzbC0xLjAuMmUtd2luMzIteDg2XzY0L2luY2x1ZGUg LUkvdy9saWJ4bWwyLTIuOS4zLXdpbjMyLXg4Nl82NC9pbmNsdWRlL2xpYnhtbDIgLUkvdy9saWJ4 c2x0LTEuMS4yOC13aW4zMi14ODZfNjQvaW5jbHVkZSAgLVdsLC0tYWxsb3ctbXVsdGlwbGUtZGVm aW5pdGlvbiAtV2wsLS1kaXNhYmxlLWF1dG8taW1wb3J0ICAtTC93L3psaWItMS4yLjgtd2luMzIt eDg2XzY0L2xpYiAtTC93L29wZW5zc2wtMS4wLjJlLXdpbjMyLXg4Nl82NC9saWIgLUwvdy9saWJ4 bWwyLTIuOS4zLXdpbjMyLXg4Nl82NC9saWIgLUwvdy9saWJ4c2x0LTEuMS4yOC13aW4zMi14ODZf NjQvbGliIGNvbmZ0ZXN0LmMgLWx4c2x0IC1seG1sMiAtbHNzbCAtbGNyeXB0byAtbHogLWx3czJf MzIgLWxtICA+JjUKY29uZnRlc3QuYzoxMjE6Njogd2FybmluZzogY29uZmxpY3RpbmcgdHlwZXMg Zm9yIGJ1aWx0LWluIGZ1bmN0aW9uICdyaW50JyBbLVdidWlsdGluLWRlY2xhcmF0aW9uLW1pc21h dGNoXQogY2hhciByaW50ICgpOwogICAgICBefn5+CmNvbmZpZ3VyZToxNTQxMTogJD8gPSAwCmNv bmZpZ3VyZToxNTQxMTogcmVzdWx0OiB5ZXMKY29uZmlndXJlOjE1NDI0OiBjaGVja2luZyBmb3Ig c3JhbmRvbQpjb25maWd1cmU6MTU0MjQ6IHg4Nl82NC13NjQtbWluZ3czMi1nY2MgLW8gY29uZnRl c3QuZXhlIC1XYWxsIC1XbWlzc2luZy1wcm90b3R5cGVzIC1XcG9pbnRlci1hcml0aCAtV2RlY2xh cmF0aW9uLWFmdGVyLXN0YXRlbWVudCAtV2VuZGlmLWxhYmVscyAtV21pc3NpbmctZm9ybWF0LWF0 dHJpYnV0ZSAtV2Zvcm1hdC1zZWN1cml0eSAtZm5vLXN0cmljdC1hbGlhc2luZyAtZndyYXB2IC1m ZXhjZXNzLXByZWNpc2lvbj1zdGFuZGFyZCAtV25vLWZvcm1hdC10cnVuY2F0aW9uIC1Xbm8tc3Ry aW5nb3AtdHJ1bmNhdGlvbiAtZyAtTyAtZm5vLW9taXQtZnJhbWUtcG9pbnRlciAgLUkvdy9SLTMu NS5fL3Bvc3RncmVzL3NyYy9pbmNsdWRlL3BvcnQvd2luMzIgLURFWEVDX0JBQ0tFTkQgIC1JL3cv emxpYi0xLjIuOC13aW4zMi14ODZfNjQvaW5jbHVkZSAtSS93L29wZW5zc2wtMS4wLjJlLXdpbjMy LXg4Nl82NC9pbmNsdWRlIC1JL3cvbGlieG1sMi0yLjkuMy13aW4zMi14ODZfNjQvaW5jbHVkZS9s aWJ4bWwyIC1JL3cvbGlieHNsdC0xLjEuMjgtd2luMzIteDg2XzY0L2luY2x1ZGUgIC1XbCwtLWFs bG93LW11bHRpcGxlLWRlZmluaXRpb24gLVdsLC0tZGlzYWJsZS1hdXRvLWltcG9ydCAgLUwvdy96 bGliLTEuMi44LXdpbjMyLXg4Nl82NC9saWIgLUwvdy9vcGVuc3NsLTEuMC4yZS13aW4zMi14ODZf NjQvbGliIC1ML3cvbGlieG1sMi0yLjkuMy13aW4zMi14ODZfNjQvbGliIC1ML3cvbGlieHNsdC0x LjEuMjgtd2luMzIteDg2XzY0L2xpYiBjb25mdGVzdC5jIC1seHNsdCAtbHhtbDIgLWxzc2wgLWxj cnlwdG8gLWx6IC1sd3MyXzMyIC1sbSAgPiY1CkM6L21zeXM2NC9taW5ndzY0L2Jpbi8uLi9saWIv Z2NjL3g4Nl82NC13NjQtbWluZ3czMi84LjIuMC8uLi8uLi8uLi8uLi94ODZfNjQtdzY0LW1pbmd3 MzIvYmluL2xkLmV4ZTogQzpcbXN5czY0XHRtcFxjYzZlb0VVby5vOiBpbiBmdW5jdGlvbiBgbWFp bic6DQpXOlxSLTMuNS5fXHBvc3RncmVzXGJ1aWxkL2NvbmZ0ZXN0LmM6MTMzOiB1bmRlZmluZWQg cmVmZXJlbmNlIHRvIGBzcmFuZG9tJw0KY29sbGVjdDIuZXhlOiBlcnJvcjogbGQgcmV0dXJuZWQg MSBleGl0IHN0YXR1cwpjb25maWd1cmU6MTU0MjQ6ICQ/ID0gMQpjb25maWd1cmU6IGZhaWxlZCBw cm9ncmFtIHdhczoKfCAvKiBjb25mZGVmcy5oICovCnwgI2RlZmluZSBQQUNLQUdFX05BTUUgIlBv c3RncmVTUUwiCnwgI2RlZmluZSBQQUNLQUdFX1RBUk5BTUUgInBvc3RncmVzcWwiCnwgI2RlZmlu ZSBQQUNLQUdFX1ZFUlNJT04gIjExYmV0YTMiCnwgI2RlZmluZSBQQUNLQUdFX1NUUklORyAiUG9z dGdyZVNRTCAxMWJldGEzIgp8ICNkZWZpbmUgUEFDS0FHRV9CVUdSRVBPUlQgInBnc3FsLWJ1Z3NA cG9zdGdyZXNxbC5vcmciCnwgI2RlZmluZSBQQUNLQUdFX1VSTCAiIgp8ICNkZWZpbmUgUEdfTUFK T1JWRVJTSU9OICIxMSIKfCAjZGVmaW5lIFBHX1ZFUlNJT04gIjExYmV0YTMiCnwgI2RlZmluZSBE RUZfUEdQT1JUIDU0MzIKfCAjZGVmaW5lIERFRl9QR1BPUlRfU1RSICI1NDMyIgp8ICNkZWZpbmUg QkxDS1NaIDgxOTIKfCAjZGVmaW5lIFJFTFNFR19TSVpFIDEzMTA3Mgp8ICNkZWZpbmUgWExPR19C TENLU1ogODE5Mgp8ICNkZWZpbmUgVVNFX0FTU0VSVF9DSEVDS0lORyAxCnwgI2RlZmluZSBFTkFC TEVfVEhSRUFEX1NBRkVUWSAxCnwgI2RlZmluZSBVU0VfSUNVIDEKfCAjZGVmaW5lIFBHX0tSQl9T UlZOQU0gInBvc3RncmVzIgp8ICNkZWZpbmUgVVNFX09QRU5TU0wgMQp8ICNkZWZpbmUgVVNFX0xJ QlhNTCAxCnwgI2RlZmluZSBVU0VfTElCWFNMVCAxCnwgI2RlZmluZSBTVERDX0hFQURFUlMgMQp8 ICNkZWZpbmUgSEFWRV9TWVNfVFlQRVNfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19TVEFUX0ggMQp8 ICNkZWZpbmUgSEFWRV9TVERMSUJfSCAxCnwgI2RlZmluZSBIQVZFX1NUUklOR19IIDEKfCAjZGVm aW5lIEhBVkVfTUVNT1JZX0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJJTkdTX0ggMQp8ICNkZWZpbmUg SEFWRV9JTlRUWVBFU19IIDEKfCAjZGVmaW5lIEhBVkVfU1RESU5UX0ggMQp8ICNkZWZpbmUgSEFW RV9VTklTVERfSCAxCnwgI2RlZmluZSBIQVZFX0xJQk0gMQp8ICNkZWZpbmUgSEFWRV9MSUJaIDEK fCAjZGVmaW5lIEhBVkVfU1BJTkxPQ0tTIDEKfCAjZGVmaW5lIEhBVkVfQVRPTUlDUyAxCnwgI2Rl ZmluZSBIQVZFX1NTTF9HRVRfQ1VSUkVOVF9DT01QUkVTU0lPTiAxCnwgI2RlZmluZSBIQVZFX1g1 MDlfR0VUX1NJR05BVFVSRV9OSUQgMQp8ICNkZWZpbmUgSEFWRV9DUllQVE9fTE9DSyAxCnwgI2Rl ZmluZSBIQVZFX0xJQlhNTDIgMQp8ICNkZWZpbmUgSEFWRV9MSUJYU0xUIDEKfCAjZGVmaW5lIEhB VkVfX0JPT0wgMQp8ICNkZWZpbmUgSEFWRV9TVERCT09MX0ggMQp8ICNkZWZpbmUgSEFWRV9HRVRP UFRfSCAxCnwgI2RlZmluZSBIQVZFX0lFRUVGUF9IIDEKfCAjZGVmaW5lIEhBVkVfVVRJTUVfSCAx CnwgI2RlZmluZSBIQVZFX1dDSEFSX0ggMQp8ICNkZWZpbmUgSEFWRV9XQ1RZUEVfSCAxCnwgI2Rl ZmluZSBIQVZFX0NSVERFRlNfSCAxCnwgI2RlZmluZSBQR19QUklOVEZfQVRUUklCVVRFIGdudV9w cmludGYKfCAjZGVmaW5lIEZMRVhJQkxFX0FSUkFZX01FTUJFUiAvKiovCnwgI2RlZmluZSBIQVZF X0ZVTkNOQU1FX19GVU5DIDEKfCAjZGVmaW5lIEhBVkVfX1NUQVRJQ19BU1NFUlQgMQp8ICNkZWZp bmUgSEFWRV9UWVBFT0YgMQp8ICNkZWZpbmUgSEFWRV9fQlVJTFRJTl9UWVBFU19DT01QQVRJQkxF X1AgMQp8ICNkZWZpbmUgSEFWRV9fQlVJTFRJTl9CU1dBUDE2IDEKfCAjZGVmaW5lIEhBVkVfX0JV SUxUSU5fQlNXQVAzMiAxCnwgI2RlZmluZSBIQVZFX19CVUlMVElOX0JTV0FQNjQgMQp8ICNkZWZp bmUgSEFWRV9fQlVJTFRJTl9DT05TVEFOVF9QIDEKfCAjZGVmaW5lIEhBVkVfX0JVSUxUSU5fVU5S RUFDSEFCTEUgMQp8ICNkZWZpbmUgSEFWRV9DT01QVVRFRF9HT1RPIDEKfCAjZGVmaW5lIEhBVkVf X1ZBX0FSR1MgMQp8ICNkZWZpbmUgSEFWRV9UWk5BTUUgMQp8ICNkZWZpbmUgSEFWRV9TVFJVQ1Rf U09DS0FERFJfU1RPUkFHRSAxCnwgI2RlZmluZSBIQVZFX1NUUlVDVF9TT0NLQUREUl9TVE9SQUdF X1NTX0ZBTUlMWSAxCnwgI2RlZmluZSBIQVZFX1NUUlVDVF9BRERSSU5GTyAxCnwgI2RlZmluZSBI QVZFX0lOVFBUUl9UIDEKfCAjZGVmaW5lIEhBVkVfVUlOVFBUUl9UIDEKfCAjZGVmaW5lIEhBVkVf VU5TSUdORURfTE9OR19MT05HX0lOVCAxCnwgI2RlZmluZSBIQVZFX0xPTkdfTE9OR19JTlQgMQp8 ICNkZWZpbmUgcmVzdHJpY3QgX19yZXN0cmljdAp8ICNkZWZpbmUgcGdfcmVzdHJpY3QgX19yZXN0 cmljdAp8ICNkZWZpbmUgSEFWRV9TVFJVQ1RfT1BUSU9OIDEKfCAjZGVmaW5lIFNJWkVPRl9PRkZf VCA0CnwgI2RlZmluZSBTSVpFT0ZfQk9PTCAxCnwgI2RlZmluZSBIQVZFX0lOVF9USU1FWk9ORSAx CnwgI2RlZmluZSBBQ0NFUFRfVFlQRV9SRVRVUk4gU09DS0VUIFdTQUFQSQp8ICNkZWZpbmUgQUND RVBUX1RZUEVfQVJHMSBTT0NLRVQKfCAjZGVmaW5lIEFDQ0VQVF9UWVBFX0FSRzIgc3RydWN0IHNv Y2thZGRyICoKfCAjZGVmaW5lIEFDQ0VQVF9UWVBFX0FSRzMgaW50CnwgI2RlZmluZSBIQVZFX0NC UlQgMQp8ICNkZWZpbmUgSEFWRV9DTE9DS19HRVRUSU1FIDEKfCAjZGVmaW5lIEhBVkVfTUVNTU9W RSAxCnwgI2RlZmluZSBIQVZFX1VUSU1FIDEKfCAjZGVmaW5lIEhBVkVfRlNFRUtPIDEKfCAjZGVm aW5lIEhBVkVfRlNFRUtPIDEKfCAjZGVmaW5lIEhBVkVfREVDTF9QT1NJWF9GQURWSVNFIDAKfCAj ZGVmaW5lIEhBVkVfREVDTF9GREFUQVNZTkMgMAp8ICNkZWZpbmUgSEFWRV9ERUNMX1NUUkxDQVQg MAp8ICNkZWZpbmUgSEFWRV9ERUNMX1NUUkxDUFkgMAp8ICNkZWZpbmUgSEFWRV9ERUNMX1NUUk5M RU4gMQp8ICNkZWZpbmUgSEFWRV9ERUNMX0ZfRlVMTEZTWU5DIDAKfCAjZGVmaW5lIEhBVkVfSVBW NiAxCnwgI2RlZmluZSBIQVZFX0RFQ0xfU05QUklOVEYgMQp8ICNkZWZpbmUgSEFWRV9ERUNMX1ZT TlBSSU5URiAxCnwgI2RlZmluZSBIQVZFX0lTSU5GIDEKfCAjZGVmaW5lIEhBVkVfR0VUT1BUIDEK fCAjZGVmaW5lIEhBVkVfUklOVCAxCnwgLyogZW5kIGNvbmZkZWZzLmguICAqLwp8IC8qIERlZmlu ZSBzcmFuZG9tIHRvIGFuIGlubm9jdW91cyB2YXJpYW50LCBpbiBjYXNlIDxsaW1pdHMuaD4gZGVj bGFyZXMgc3JhbmRvbS4KfCAgICBGb3IgZXhhbXBsZSwgSFAtVVggMTFpIDxsaW1pdHMuaD4gZGVj bGFyZXMgZ2V0dGltZW9mZGF5LiAgKi8KfCAjZGVmaW5lIHNyYW5kb20gaW5ub2N1b3VzX3NyYW5k b20KfCAKfCAvKiBTeXN0ZW0gaGVhZGVyIHRvIGRlZmluZSBfX3N0dWIgbWFjcm9zIGFuZCBob3Bl ZnVsbHkgZmV3IHByb3RvdHlwZXMsCnwgICAgIHdoaWNoIGNhbiBjb25mbGljdCB3aXRoIGNoYXIg c3JhbmRvbSAoKTsgYmVsb3cuCnwgICAgIFByZWZlciA8bGltaXRzLmg+IHRvIDxhc3NlcnQuaD4g aWYgX19TVERDX18gaXMgZGVmaW5lZCwgc2luY2UKfCAgICAgPGxpbWl0cy5oPiBleGlzdHMgZXZl biBvbiBmcmVlc3RhbmRpbmcgY29tcGlsZXJzLiAgKi8KfCAKfCAjaWZkZWYgX19TVERDX18KfCAj IGluY2x1ZGUgPGxpbWl0cy5oPgp8ICNlbHNlCnwgIyBpbmNsdWRlIDxhc3NlcnQuaD4KfCAjZW5k aWYKfCAKfCAjdW5kZWYgc3JhbmRvbQp8IAp8IC8qIE92ZXJyaWRlIGFueSBHQ0MgaW50ZXJuYWwg cHJvdG90eXBlIHRvIGF2b2lkIGFuIGVycm9yLgp8ICAgIFVzZSBjaGFyIGJlY2F1c2UgaW50IG1p Z2h0IG1hdGNoIHRoZSByZXR1cm4gdHlwZSBvZiBhIEdDQwp8ICAgIGJ1aWx0aW4gYW5kIHRoZW4g aXRzIGFyZ3VtZW50IHByb3RvdHlwZSB3b3VsZCBzdGlsbCBhcHBseS4gICovCnwgI2lmZGVmIF9f Y3BsdXNwbHVzCnwgZXh0ZXJuICJDIgp8ICNlbmRpZgp8IGNoYXIgc3JhbmRvbSAoKTsKfCAvKiBU aGUgR05VIEMgbGlicmFyeSBkZWZpbmVzIHRoaXMgZm9yIGZ1bmN0aW9ucyB3aGljaCBpdCBpbXBs ZW1lbnRzCnwgICAgIHRvIGFsd2F5cyBmYWlsIHdpdGggRU5PU1lTLiAgU29tZSBmdW5jdGlvbnMg YXJlIGFjdHVhbGx5IG5hbWVkCnwgICAgIHNvbWV0aGluZyBzdGFydGluZyB3aXRoIF9fIGFuZCB0 aGUgbm9ybWFsIG5hbWUgaXMgYW4gYWxpYXMuICAqLwp8ICNpZiBkZWZpbmVkIF9fc3R1Yl9zcmFu ZG9tIHx8IGRlZmluZWQgX19zdHViX19fc3JhbmRvbQp8IGNob2tlIG1lCnwgI2VuZGlmCnwgCnwg aW50CnwgbWFpbiAoKQp8IHsKfCByZXR1cm4gc3JhbmRvbSAoKTsKfCAgIDsKfCAgIHJldHVybiAw Owp8IH0KY29uZmlndXJlOjE1NDI0OiByZXN1bHQ6IG5vCmNvbmZpZ3VyZToxNTQzNzogY2hlY2tp bmcgZm9yIHN0cmVycm9yCmNvbmZpZ3VyZToxNTQzNzogeDg2XzY0LXc2NC1taW5ndzMyLWdjYyAt byBjb25mdGVzdC5leGUgLVdhbGwgLVdtaXNzaW5nLXByb3RvdHlwZXMgLVdwb2ludGVyLWFyaXRo IC1XZGVjbGFyYXRpb24tYWZ0ZXItc3RhdGVtZW50IC1XZW5kaWYtbGFiZWxzIC1XbWlzc2luZy1m b3JtYXQtYXR0cmlidXRlIC1XZm9ybWF0LXNlY3VyaXR5IC1mbm8tc3RyaWN0LWFsaWFzaW5nIC1m d3JhcHYgLWZleGNlc3MtcHJlY2lzaW9uPXN0YW5kYXJkIC1Xbm8tZm9ybWF0LXRydW5jYXRpb24g LVduby1zdHJpbmdvcC10cnVuY2F0aW9uIC1nIC1PIC1mbm8tb21pdC1mcmFtZS1wb2ludGVyICAt SS93L1ItMy41Ll8vcG9zdGdyZXMvc3JjL2luY2x1ZGUvcG9ydC93aW4zMiAtREVYRUNfQkFDS0VO RCAgLUkvdy96bGliLTEuMi44LXdpbjMyLXg4Nl82NC9pbmNsdWRlIC1JL3cvb3BlbnNzbC0xLjAu MmUtd2luMzIteDg2XzY0L2luY2x1ZGUgLUkvdy9saWJ4bWwyLTIuOS4zLXdpbjMyLXg4Nl82NC9p bmNsdWRlL2xpYnhtbDIgLUkvdy9saWJ4c2x0LTEuMS4yOC13aW4zMi14ODZfNjQvaW5jbHVkZSAg LVdsLC0tYWxsb3ctbXVsdGlwbGUtZGVmaW5pdGlvbiAtV2wsLS1kaXNhYmxlLWF1dG8taW1wb3J0 ICAtTC93L3psaWItMS4yLjgtd2luMzIteDg2XzY0L2xpYiAtTC93L29wZW5zc2wtMS4wLjJlLXdp bjMyLXg4Nl82NC9saWIgLUwvdy9saWJ4bWwyLTIuOS4zLXdpbjMyLXg4Nl82NC9saWIgLUwvdy9s aWJ4c2x0LTEuMS4yOC13aW4zMi14ODZfNjQvbGliIGNvbmZ0ZXN0LmMgLWx4c2x0IC1seG1sMiAt bHNzbCAtbGNyeXB0byAtbHogLWx3czJfMzIgLWxtICA+JjUKY29uZmlndXJlOjE1NDM3OiAkPyA9 IDAKY29uZmlndXJlOjE1NDM3OiByZXN1bHQ6IHllcwpjb25maWd1cmU6MTU0NTA6IGNoZWNraW5n IGZvciBzdHJsY2F0CmNvbmZpZ3VyZToxNTQ1MDogeDg2XzY0LXc2NC1taW5ndzMyLWdjYyAtbyBj b25mdGVzdC5leGUgLVdhbGwgLVdtaXNzaW5nLXByb3RvdHlwZXMgLVdwb2ludGVyLWFyaXRoIC1X ZGVjbGFyYXRpb24tYWZ0ZXItc3RhdGVtZW50IC1XZW5kaWYtbGFiZWxzIC1XbWlzc2luZy1mb3Jt YXQtYXR0cmlidXRlIC1XZm9ybWF0LXNlY3VyaXR5IC1mbm8tc3RyaWN0LWFsaWFzaW5nIC1md3Jh cHYgLWZleGNlc3MtcHJlY2lzaW9uPXN0YW5kYXJkIC1Xbm8tZm9ybWF0LXRydW5jYXRpb24gLVdu by1zdHJpbmdvcC10cnVuY2F0aW9uIC1nIC1PIC1mbm8tb21pdC1mcmFtZS1wb2ludGVyICAtSS93 L1ItMy41Ll8vcG9zdGdyZXMvc3JjL2luY2x1ZGUvcG9ydC93aW4zMiAtREVYRUNfQkFDS0VORCAg LUkvdy96bGliLTEuMi44LXdpbjMyLXg4Nl82NC9pbmNsdWRlIC1JL3cvb3BlbnNzbC0xLjAuMmUt d2luMzIteDg2XzY0L2luY2x1ZGUgLUkvdy9saWJ4bWwyLTIuOS4zLXdpbjMyLXg4Nl82NC9pbmNs dWRlL2xpYnhtbDIgLUkvdy9saWJ4c2x0LTEuMS4yOC13aW4zMi14ODZfNjQvaW5jbHVkZSAgLVds LC0tYWxsb3ctbXVsdGlwbGUtZGVmaW5pdGlvbiAtV2wsLS1kaXNhYmxlLWF1dG8taW1wb3J0ICAt TC93L3psaWItMS4yLjgtd2luMzIteDg2XzY0L2xpYiAtTC93L29wZW5zc2wtMS4wLjJlLXdpbjMy LXg4Nl82NC9saWIgLUwvdy9saWJ4bWwyLTIuOS4zLXdpbjMyLXg4Nl82NC9saWIgLUwvdy9saWJ4 c2x0LTEuMS4yOC13aW4zMi14ODZfNjQvbGliIGNvbmZ0ZXN0LmMgLWx4c2x0IC1seG1sMiAtbHNz bCAtbGNyeXB0byAtbHogLWx3czJfMzIgLWxtICA+JjUKQzovbXN5czY0L21pbmd3NjQvYmluLy4u L2xpYi9nY2MveDg2XzY0LXc2NC1taW5ndzMyLzguMi4wLy4uLy4uLy4uLy4uL3g4Nl82NC13NjQt bWluZ3czMi9iaW4vbGQuZXhlOiBDOlxtc3lzNjRcdG1wXGNjWXBpanJ2Lm86IGluIGZ1bmN0aW9u IGBtYWluJzoNClc6XFItMy41Ll9ccG9zdGdyZXNcYnVpbGQvY29uZnRlc3QuYzoxMzQ6IHVuZGVm aW5lZCByZWZlcmVuY2UgdG8gYHN0cmxjYXQnDQpjb2xsZWN0Mi5leGU6IGVycm9yOiBsZCByZXR1 cm5lZCAxIGV4aXQgc3RhdHVzCmNvbmZpZ3VyZToxNTQ1MDogJD8gPSAxCmNvbmZpZ3VyZTogZmFp bGVkIHByb2dyYW0gd2FzOgp8IC8qIGNvbmZkZWZzLmggKi8KfCAjZGVmaW5lIFBBQ0tBR0VfTkFN RSAiUG9zdGdyZVNRTCIKfCAjZGVmaW5lIFBBQ0tBR0VfVEFSTkFNRSAicG9zdGdyZXNxbCIKfCAj ZGVmaW5lIFBBQ0tBR0VfVkVSU0lPTiAiMTFiZXRhMyIKfCAjZGVmaW5lIFBBQ0tBR0VfU1RSSU5H ICJQb3N0Z3JlU1FMIDExYmV0YTMiCnwgI2RlZmluZSBQQUNLQUdFX0JVR1JFUE9SVCAicGdzcWwt YnVnc0Bwb3N0Z3Jlc3FsLm9yZyIKfCAjZGVmaW5lIFBBQ0tBR0VfVVJMICIiCnwgI2RlZmluZSBQ R19NQUpPUlZFUlNJT04gIjExIgp8ICNkZWZpbmUgUEdfVkVSU0lPTiAiMTFiZXRhMyIKfCAjZGVm aW5lIERFRl9QR1BPUlQgNTQzMgp8ICNkZWZpbmUgREVGX1BHUE9SVF9TVFIgIjU0MzIiCnwgI2Rl ZmluZSBCTENLU1ogODE5Mgp8ICNkZWZpbmUgUkVMU0VHX1NJWkUgMTMxMDcyCnwgI2RlZmluZSBY TE9HX0JMQ0tTWiA4MTkyCnwgI2RlZmluZSBVU0VfQVNTRVJUX0NIRUNLSU5HIDEKfCAjZGVmaW5l IEVOQUJMRV9USFJFQURfU0FGRVRZIDEKfCAjZGVmaW5lIFVTRV9JQ1UgMQp8ICNkZWZpbmUgUEdf S1JCX1NSVk5BTSAicG9zdGdyZXMiCnwgI2RlZmluZSBVU0VfT1BFTlNTTCAxCnwgI2RlZmluZSBV U0VfTElCWE1MIDEKfCAjZGVmaW5lIFVTRV9MSUJYU0xUIDEKfCAjZGVmaW5lIFNURENfSEVBREVS UyAxCnwgI2RlZmluZSBIQVZFX1NZU19UWVBFU19IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NUQVRf SCAxCnwgI2RlZmluZSBIQVZFX1NURExJQl9IIDEKfCAjZGVmaW5lIEhBVkVfU1RSSU5HX0ggMQp8 ICNkZWZpbmUgSEFWRV9NRU1PUllfSCAxCnwgI2RlZmluZSBIQVZFX1NUUklOR1NfSCAxCnwgI2Rl ZmluZSBIQVZFX0lOVFRZUEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERJTlRfSCAxCnwgI2RlZmlu ZSBIQVZFX1VOSVNURF9IIDEKfCAjZGVmaW5lIEhBVkVfTElCTSAxCnwgI2RlZmluZSBIQVZFX0xJ QlogMQp8ICNkZWZpbmUgSEFWRV9TUElOTE9DS1MgMQp8ICNkZWZpbmUgSEFWRV9BVE9NSUNTIDEK fCAjZGVmaW5lIEhBVkVfU1NMX0dFVF9DVVJSRU5UX0NPTVBSRVNTSU9OIDEKfCAjZGVmaW5lIEhB VkVfWDUwOV9HRVRfU0lHTkFUVVJFX05JRCAxCnwgI2RlZmluZSBIQVZFX0NSWVBUT19MT0NLIDEK fCAjZGVmaW5lIEhBVkVfTElCWE1MMiAxCnwgI2RlZmluZSBIQVZFX0xJQlhTTFQgMQp8ICNkZWZp bmUgSEFWRV9fQk9PTCAxCnwgI2RlZmluZSBIQVZFX1NUREJPT0xfSCAxCnwgI2RlZmluZSBIQVZF X0dFVE9QVF9IIDEKfCAjZGVmaW5lIEhBVkVfSUVFRUZQX0ggMQp8ICNkZWZpbmUgSEFWRV9VVElN RV9IIDEKfCAjZGVmaW5lIEhBVkVfV0NIQVJfSCAxCnwgI2RlZmluZSBIQVZFX1dDVFlQRV9IIDEK fCAjZGVmaW5lIEhBVkVfQ1JUREVGU19IIDEKfCAjZGVmaW5lIFBHX1BSSU5URl9BVFRSSUJVVEUg Z251X3ByaW50Zgp8ICNkZWZpbmUgRkxFWElCTEVfQVJSQVlfTUVNQkVSIC8qKi8KfCAjZGVmaW5l IEhBVkVfRlVOQ05BTUVfX0ZVTkMgMQp8ICNkZWZpbmUgSEFWRV9fU1RBVElDX0FTU0VSVCAxCnwg I2RlZmluZSBIQVZFX1RZUEVPRiAxCnwgI2RlZmluZSBIQVZFX19CVUlMVElOX1RZUEVTX0NPTVBB VElCTEVfUCAxCnwgI2RlZmluZSBIQVZFX19CVUlMVElOX0JTV0FQMTYgMQp8ICNkZWZpbmUgSEFW RV9fQlVJTFRJTl9CU1dBUDMyIDEKfCAjZGVmaW5lIEhBVkVfX0JVSUxUSU5fQlNXQVA2NCAxCnwg I2RlZmluZSBIQVZFX19CVUlMVElOX0NPTlNUQU5UX1AgMQp8ICNkZWZpbmUgSEFWRV9fQlVJTFRJ Tl9VTlJFQUNIQUJMRSAxCnwgI2RlZmluZSBIQVZFX0NPTVBVVEVEX0dPVE8gMQp8ICNkZWZpbmUg SEFWRV9fVkFfQVJHUyAxCnwgI2RlZmluZSBIQVZFX1RaTkFNRSAxCnwgI2RlZmluZSBIQVZFX1NU UlVDVF9TT0NLQUREUl9TVE9SQUdFIDEKfCAjZGVmaW5lIEhBVkVfU1RSVUNUX1NPQ0tBRERSX1NU T1JBR0VfU1NfRkFNSUxZIDEKfCAjZGVmaW5lIEhBVkVfU1RSVUNUX0FERFJJTkZPIDEKfCAjZGVm aW5lIEhBVkVfSU5UUFRSX1QgMQp8ICNkZWZpbmUgSEFWRV9VSU5UUFRSX1QgMQp8ICNkZWZpbmUg SEFWRV9VTlNJR05FRF9MT05HX0xPTkdfSU5UIDEKfCAjZGVmaW5lIEhBVkVfTE9OR19MT05HX0lO VCAxCnwgI2RlZmluZSByZXN0cmljdCBfX3Jlc3RyaWN0CnwgI2RlZmluZSBwZ19yZXN0cmljdCBf X3Jlc3RyaWN0CnwgI2RlZmluZSBIQVZFX1NUUlVDVF9PUFRJT04gMQp8ICNkZWZpbmUgU0laRU9G X09GRl9UIDQKfCAjZGVmaW5lIFNJWkVPRl9CT09MIDEKfCAjZGVmaW5lIEhBVkVfSU5UX1RJTUVa T05FIDEKfCAjZGVmaW5lIEFDQ0VQVF9UWVBFX1JFVFVSTiBTT0NLRVQgV1NBQVBJCnwgI2RlZmlu ZSBBQ0NFUFRfVFlQRV9BUkcxIFNPQ0tFVAp8ICNkZWZpbmUgQUNDRVBUX1RZUEVfQVJHMiBzdHJ1 Y3Qgc29ja2FkZHIgKgp8ICNkZWZpbmUgQUNDRVBUX1RZUEVfQVJHMyBpbnQKfCAjZGVmaW5lIEhB VkVfQ0JSVCAxCnwgI2RlZmluZSBIQVZFX0NMT0NLX0dFVFRJTUUgMQp8ICNkZWZpbmUgSEFWRV9N RU1NT1ZFIDEKfCAjZGVmaW5lIEhBVkVfVVRJTUUgMQp8ICNkZWZpbmUgSEFWRV9GU0VFS08gMQp8 ICNkZWZpbmUgSEFWRV9GU0VFS08gMQp8ICNkZWZpbmUgSEFWRV9ERUNMX1BPU0lYX0ZBRFZJU0Ug MAp8ICNkZWZpbmUgSEFWRV9ERUNMX0ZEQVRBU1lOQyAwCnwgI2RlZmluZSBIQVZFX0RFQ0xfU1RS TENBVCAwCnwgI2RlZmluZSBIQVZFX0RFQ0xfU1RSTENQWSAwCnwgI2RlZmluZSBIQVZFX0RFQ0xf U1RSTkxFTiAxCnwgI2RlZmluZSBIQVZFX0RFQ0xfRl9GVUxMRlNZTkMgMAp8ICNkZWZpbmUgSEFW RV9JUFY2IDEKfCAjZGVmaW5lIEhBVkVfREVDTF9TTlBSSU5URiAxCnwgI2RlZmluZSBIQVZFX0RF Q0xfVlNOUFJJTlRGIDEKfCAjZGVmaW5lIEhBVkVfSVNJTkYgMQp8ICNkZWZpbmUgSEFWRV9HRVRP UFQgMQp8ICNkZWZpbmUgSEFWRV9SSU5UIDEKfCAjZGVmaW5lIEhBVkVfU1RSRVJST1IgMQp8IC8q IGVuZCBjb25mZGVmcy5oLiAgKi8KfCAvKiBEZWZpbmUgc3RybGNhdCB0byBhbiBpbm5vY3VvdXMg dmFyaWFudCwgaW4gY2FzZSA8bGltaXRzLmg+IGRlY2xhcmVzIHN0cmxjYXQuCnwgICAgRm9yIGV4 YW1wbGUsIEhQLVVYIDExaSA8bGltaXRzLmg+IGRlY2xhcmVzIGdldHRpbWVvZmRheS4gICovCnwg I2RlZmluZSBzdHJsY2F0IGlubm9jdW91c19zdHJsY2F0CnwgCnwgLyogU3lzdGVtIGhlYWRlciB0 byBkZWZpbmUgX19zdHViIG1hY3JvcyBhbmQgaG9wZWZ1bGx5IGZldyBwcm90b3R5cGVzLAp8ICAg ICB3aGljaCBjYW4gY29uZmxpY3Qgd2l0aCBjaGFyIHN0cmxjYXQgKCk7IGJlbG93Lgp8ICAgICBQ cmVmZXIgPGxpbWl0cy5oPiB0byA8YXNzZXJ0Lmg+IGlmIF9fU1REQ19fIGlzIGRlZmluZWQsIHNp bmNlCnwgICAgIDxsaW1pdHMuaD4gZXhpc3RzIGV2ZW4gb24gZnJlZXN0YW5kaW5nIGNvbXBpbGVy cy4gICovCnwgCnwgI2lmZGVmIF9fU1REQ19fCnwgIyBpbmNsdWRlIDxsaW1pdHMuaD4KfCAjZWxz ZQp8ICMgaW5jbHVkZSA8YXNzZXJ0Lmg+CnwgI2VuZGlmCnwgCnwgI3VuZGVmIHN0cmxjYXQKfCAK fCAvKiBPdmVycmlkZSBhbnkgR0NDIGludGVybmFsIHByb3RvdHlwZSB0byBhdm9pZCBhbiBlcnJv ci4KfCAgICBVc2UgY2hhciBiZWNhdXNlIGludCBtaWdodCBtYXRjaCB0aGUgcmV0dXJuIHR5cGUg b2YgYSBHQ0MKfCAgICBidWlsdGluIGFuZCB0aGVuIGl0cyBhcmd1bWVudCBwcm90b3R5cGUgd291 bGQgc3RpbGwgYXBwbHkuICAqLwp8ICNpZmRlZiBfX2NwbHVzcGx1cwp8IGV4dGVybiAiQyIKfCAj ZW5kaWYKfCBjaGFyIHN0cmxjYXQgKCk7CnwgLyogVGhlIEdOVSBDIGxpYnJhcnkgZGVmaW5lcyB0 aGlzIGZvciBmdW5jdGlvbnMgd2hpY2ggaXQgaW1wbGVtZW50cwp8ICAgICB0byBhbHdheXMgZmFp bCB3aXRoIEVOT1NZUy4gIFNvbWUgZnVuY3Rpb25zIGFyZSBhY3R1YWxseSBuYW1lZAp8ICAgICBz b21ldGhpbmcgc3RhcnRpbmcgd2l0aCBfXyBhbmQgdGhlIG5vcm1hbCBuYW1lIGlzIGFuIGFsaWFz LiAgKi8KfCAjaWYgZGVmaW5lZCBfX3N0dWJfc3RybGNhdCB8fCBkZWZpbmVkIF9fc3R1Yl9fX3N0 cmxjYXQKfCBjaG9rZSBtZQp8ICNlbmRpZgp8IAp8IGludAp8IG1haW4gKCkKfCB7CnwgcmV0dXJu IHN0cmxjYXQgKCk7CnwgICA7CnwgICByZXR1cm4gMDsKfCB9CmNvbmZpZ3VyZToxNTQ1MDogcmVz dWx0OiBubwpjb25maWd1cmU6MTU0NjM6IGNoZWNraW5nIGZvciBzdHJsY3B5CmNvbmZpZ3VyZTox NTQ2MzogeDg2XzY0LXc2NC1taW5ndzMyLWdjYyAtbyBjb25mdGVzdC5leGUgLVdhbGwgLVdtaXNz aW5nLXByb3RvdHlwZXMgLVdwb2ludGVyLWFyaXRoIC1XZGVjbGFyYXRpb24tYWZ0ZXItc3RhdGVt ZW50IC1XZW5kaWYtbGFiZWxzIC1XbWlzc2luZy1mb3JtYXQtYXR0cmlidXRlIC1XZm9ybWF0LXNl Y3VyaXR5IC1mbm8tc3RyaWN0LWFsaWFzaW5nIC1md3JhcHYgLWZleGNlc3MtcHJlY2lzaW9uPXN0 YW5kYXJkIC1Xbm8tZm9ybWF0LXRydW5jYXRpb24gLVduby1zdHJpbmdvcC10cnVuY2F0aW9uIC1n IC1PIC1mbm8tb21pdC1mcmFtZS1wb2ludGVyICAtSS93L1ItMy41Ll8vcG9zdGdyZXMvc3JjL2lu Y2x1ZGUvcG9ydC93aW4zMiAtREVYRUNfQkFDS0VORCAgLUkvdy96bGliLTEuMi44LXdpbjMyLXg4 Nl82NC9pbmNsdWRlIC1JL3cvb3BlbnNzbC0xLjAuMmUtd2luMzIteDg2XzY0L2luY2x1ZGUgLUkv dy9saWJ4bWwyLTIuOS4zLXdpbjMyLXg4Nl82NC9pbmNsdWRlL2xpYnhtbDIgLUkvdy9saWJ4c2x0 LTEuMS4yOC13aW4zMi14ODZfNjQvaW5jbHVkZSAgLVdsLC0tYWxsb3ctbXVsdGlwbGUtZGVmaW5p dGlvbiAtV2wsLS1kaXNhYmxlLWF1dG8taW1wb3J0ICAtTC93L3psaWItMS4yLjgtd2luMzIteDg2 XzY0L2xpYiAtTC93L29wZW5zc2wtMS4wLjJlLXdpbjMyLXg4Nl82NC9saWIgLUwvdy9saWJ4bWwy LTIuOS4zLXdpbjMyLXg4Nl82NC9saWIgLUwvdy9saWJ4c2x0LTEuMS4yOC13aW4zMi14ODZfNjQv bGliIGNvbmZ0ZXN0LmMgLWx4c2x0IC1seG1sMiAtbHNzbCAtbGNyeXB0byAtbHogLWx3czJfMzIg LWxtICA+JjUKQzovbXN5czY0L21pbmd3NjQvYmluLy4uL2xpYi9nY2MveDg2XzY0LXc2NC1taW5n dzMyLzguMi4wLy4uLy4uLy4uLy4uL3g4Nl82NC13NjQtbWluZ3czMi9iaW4vbGQuZXhlOiBDOlxt c3lzNjRcdG1wXGNjMGo3VnUwLm86IGluIGZ1bmN0aW9uIGBtYWluJzoNClc6XFItMy41Ll9ccG9z dGdyZXNcYnVpbGQvY29uZnRlc3QuYzoxMzQ6IHVuZGVmaW5lZCByZWZlcmVuY2UgdG8gYHN0cmxj cHknDQpjb2xsZWN0Mi5leGU6IGVycm9yOiBsZCByZXR1cm5lZCAxIGV4aXQgc3RhdHVzCmNvbmZp Z3VyZToxNTQ2MzogJD8gPSAxCmNvbmZpZ3VyZTogZmFpbGVkIHByb2dyYW0gd2FzOgp8IC8qIGNv bmZkZWZzLmggKi8KfCAjZGVmaW5lIFBBQ0tBR0VfTkFNRSAiUG9zdGdyZVNRTCIKfCAjZGVmaW5l IFBBQ0tBR0VfVEFSTkFNRSAicG9zdGdyZXNxbCIKfCAjZGVmaW5lIFBBQ0tBR0VfVkVSU0lPTiAi MTFiZXRhMyIKfCAjZGVmaW5lIFBBQ0tBR0VfU1RSSU5HICJQb3N0Z3JlU1FMIDExYmV0YTMiCnwg I2RlZmluZSBQQUNLQUdFX0JVR1JFUE9SVCAicGdzcWwtYnVnc0Bwb3N0Z3Jlc3FsLm9yZyIKfCAj ZGVmaW5lIFBBQ0tBR0VfVVJMICIiCnwgI2RlZmluZSBQR19NQUpPUlZFUlNJT04gIjExIgp8ICNk ZWZpbmUgUEdfVkVSU0lPTiAiMTFiZXRhMyIKfCAjZGVmaW5lIERFRl9QR1BPUlQgNTQzMgp8ICNk ZWZpbmUgREVGX1BHUE9SVF9TVFIgIjU0MzIiCnwgI2RlZmluZSBCTENLU1ogODE5Mgp8ICNkZWZp bmUgUkVMU0VHX1NJWkUgMTMxMDcyCnwgI2RlZmluZSBYTE9HX0JMQ0tTWiA4MTkyCnwgI2RlZmlu ZSBVU0VfQVNTRVJUX0NIRUNLSU5HIDEKfCAjZGVmaW5lIEVOQUJMRV9USFJFQURfU0FGRVRZIDEK fCAjZGVmaW5lIFVTRV9JQ1UgMQp8ICNkZWZpbmUgUEdfS1JCX1NSVk5BTSAicG9zdGdyZXMiCnwg I2RlZmluZSBVU0VfT1BFTlNTTCAxCnwgI2RlZmluZSBVU0VfTElCWE1MIDEKfCAjZGVmaW5lIFVT RV9MSUJYU0xUIDEKfCAjZGVmaW5lIFNURENfSEVBREVSUyAxCnwgI2RlZmluZSBIQVZFX1NZU19U WVBFU19IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NUQVRfSCAxCnwgI2RlZmluZSBIQVZFX1NURExJ Ql9IIDEKfCAjZGVmaW5lIEhBVkVfU1RSSU5HX0ggMQp8ICNkZWZpbmUgSEFWRV9NRU1PUllfSCAx CnwgI2RlZmluZSBIQVZFX1NUUklOR1NfSCAxCnwgI2RlZmluZSBIQVZFX0lOVFRZUEVTX0ggMQp8 ICNkZWZpbmUgSEFWRV9TVERJTlRfSCAxCnwgI2RlZmluZSBIQVZFX1VOSVNURF9IIDEKfCAjZGVm aW5lIEhBVkVfTElCTSAxCnwgI2RlZmluZSBIQVZFX0xJQlogMQp8ICNkZWZpbmUgSEFWRV9TUElO TE9DS1MgMQp8ICNkZWZpbmUgSEFWRV9BVE9NSUNTIDEKfCAjZGVmaW5lIEhBVkVfU1NMX0dFVF9D VVJSRU5UX0NPTVBSRVNTSU9OIDEKfCAjZGVmaW5lIEhBVkVfWDUwOV9HRVRfU0lHTkFUVVJFX05J RCAxCnwgI2RlZmluZSBIQVZFX0NSWVBUT19MT0NLIDEKfCAjZGVmaW5lIEhBVkVfTElCWE1MMiAx CnwgI2RlZmluZSBIQVZFX0xJQlhTTFQgMQp8ICNkZWZpbmUgSEFWRV9fQk9PTCAxCnwgI2RlZmlu ZSBIQVZFX1NUREJPT0xfSCAxCnwgI2RlZmluZSBIQVZFX0dFVE9QVF9IIDEKfCAjZGVmaW5lIEhB VkVfSUVFRUZQX0ggMQp8ICNkZWZpbmUgSEFWRV9VVElNRV9IIDEKfCAjZGVmaW5lIEhBVkVfV0NI QVJfSCAxCnwgI2RlZmluZSBIQVZFX1dDVFlQRV9IIDEKfCAjZGVmaW5lIEhBVkVfQ1JUREVGU19I IDEKfCAjZGVmaW5lIFBHX1BSSU5URl9BVFRSSUJVVEUgZ251X3ByaW50Zgp8ICNkZWZpbmUgRkxF WElCTEVfQVJSQVlfTUVNQkVSIC8qKi8KfCAjZGVmaW5lIEhBVkVfRlVOQ05BTUVfX0ZVTkMgMQp8 ICNkZWZpbmUgSEFWRV9fU1RBVElDX0FTU0VSVCAxCnwgI2RlZmluZSBIQVZFX1RZUEVPRiAxCnwg I2RlZmluZSBIQVZFX19CVUlMVElOX1RZUEVTX0NPTVBBVElCTEVfUCAxCnwgI2RlZmluZSBIQVZF X19CVUlMVElOX0JTV0FQMTYgMQp8ICNkZWZpbmUgSEFWRV9fQlVJTFRJTl9CU1dBUDMyIDEKfCAj ZGVmaW5lIEhBVkVfX0JVSUxUSU5fQlNXQVA2NCAxCnwgI2RlZmluZSBIQVZFX19CVUlMVElOX0NP TlNUQU5UX1AgMQp8ICNkZWZpbmUgSEFWRV9fQlVJTFRJTl9VTlJFQUNIQUJMRSAxCnwgI2RlZmlu ZSBIQVZFX0NPTVBVVEVEX0dPVE8gMQp8ICNkZWZpbmUgSEFWRV9fVkFfQVJHUyAxCnwgI2RlZmlu ZSBIQVZFX1RaTkFNRSAxCnwgI2RlZmluZSBIQVZFX1NUUlVDVF9TT0NLQUREUl9TVE9SQUdFIDEK fCAjZGVmaW5lIEhBVkVfU1RSVUNUX1NPQ0tBRERSX1NUT1JBR0VfU1NfRkFNSUxZIDEKfCAjZGVm aW5lIEhBVkVfU1RSVUNUX0FERFJJTkZPIDEKfCAjZGVmaW5lIEhBVkVfSU5UUFRSX1QgMQp8ICNk ZWZpbmUgSEFWRV9VSU5UUFRSX1QgMQp8ICNkZWZpbmUgSEFWRV9VTlNJR05FRF9MT05HX0xPTkdf SU5UIDEKfCAjZGVmaW5lIEhBVkVfTE9OR19MT05HX0lOVCAxCnwgI2RlZmluZSByZXN0cmljdCBf X3Jlc3RyaWN0CnwgI2RlZmluZSBwZ19yZXN0cmljdCBfX3Jlc3RyaWN0CnwgI2RlZmluZSBIQVZF X1NUUlVDVF9PUFRJT04gMQp8ICNkZWZpbmUgU0laRU9GX09GRl9UIDQKfCAjZGVmaW5lIFNJWkVP Rl9CT09MIDEKfCAjZGVmaW5lIEhBVkVfSU5UX1RJTUVaT05FIDEKfCAjZGVmaW5lIEFDQ0VQVF9U WVBFX1JFVFVSTiBTT0NLRVQgV1NBQVBJCnwgI2RlZmluZSBBQ0NFUFRfVFlQRV9BUkcxIFNPQ0tF VAp8ICNkZWZpbmUgQUNDRVBUX1RZUEVfQVJHMiBzdHJ1Y3Qgc29ja2FkZHIgKgp8ICNkZWZpbmUg QUNDRVBUX1RZUEVfQVJHMyBpbnQKfCAjZGVmaW5lIEhBVkVfQ0JSVCAxCnwgI2RlZmluZSBIQVZF X0NMT0NLX0dFVFRJTUUgMQp8ICNkZWZpbmUgSEFWRV9NRU1NT1ZFIDEKfCAjZGVmaW5lIEhBVkVf VVRJTUUgMQp8ICNkZWZpbmUgSEFWRV9GU0VFS08gMQp8ICNkZWZpbmUgSEFWRV9GU0VFS08gMQp8 ICNkZWZpbmUgSEFWRV9ERUNMX1BPU0lYX0ZBRFZJU0UgMAp8ICNkZWZpbmUgSEFWRV9ERUNMX0ZE QVRBU1lOQyAwCnwgI2RlZmluZSBIQVZFX0RFQ0xfU1RSTENBVCAwCnwgI2RlZmluZSBIQVZFX0RF Q0xfU1RSTENQWSAwCnwgI2RlZmluZSBIQVZFX0RFQ0xfU1RSTkxFTiAxCnwgI2RlZmluZSBIQVZF X0RFQ0xfRl9GVUxMRlNZTkMgMAp8ICNkZWZpbmUgSEFWRV9JUFY2IDEKfCAjZGVmaW5lIEhBVkVf REVDTF9TTlBSSU5URiAxCnwgI2RlZmluZSBIQVZFX0RFQ0xfVlNOUFJJTlRGIDEKfCAjZGVmaW5l IEhBVkVfSVNJTkYgMQp8ICNkZWZpbmUgSEFWRV9HRVRPUFQgMQp8ICNkZWZpbmUgSEFWRV9SSU5U IDEKfCAjZGVmaW5lIEhBVkVfU1RSRVJST1IgMQp8IC8qIGVuZCBjb25mZGVmcy5oLiAgKi8KfCAv KiBEZWZpbmUgc3RybGNweSB0byBhbiBpbm5vY3VvdXMgdmFyaWFudCwgaW4gY2FzZSA8bGltaXRz Lmg+IGRlY2xhcmVzIHN0cmxjcHkuCnwgICAgRm9yIGV4YW1wbGUsIEhQLVVYIDExaSA8bGltaXRz Lmg+IGRlY2xhcmVzIGdldHRpbWVvZmRheS4gICovCnwgI2RlZmluZSBzdHJsY3B5IGlubm9jdW91 c19zdHJsY3B5CnwgCnwgLyogU3lzdGVtIGhlYWRlciB0byBkZWZpbmUgX19zdHViIG1hY3JvcyBh bmQgaG9wZWZ1bGx5IGZldyBwcm90b3R5cGVzLAp8ICAgICB3aGljaCBjYW4gY29uZmxpY3Qgd2l0 aCBjaGFyIHN0cmxjcHkgKCk7IGJlbG93Lgp8ICAgICBQcmVmZXIgPGxpbWl0cy5oPiB0byA8YXNz ZXJ0Lmg+IGlmIF9fU1REQ19fIGlzIGRlZmluZWQsIHNpbmNlCnwgICAgIDxsaW1pdHMuaD4gZXhp c3RzIGV2ZW4gb24gZnJlZXN0YW5kaW5nIGNvbXBpbGVycy4gICovCnwgCnwgI2lmZGVmIF9fU1RE Q19fCnwgIyBpbmNsdWRlIDxsaW1pdHMuaD4KfCAjZWxzZQp8ICMgaW5jbHVkZSA8YXNzZXJ0Lmg+ CnwgI2VuZGlmCnwgCnwgI3VuZGVmIHN0cmxjcHkKfCAKfCAvKiBPdmVycmlkZSBhbnkgR0NDIGlu dGVybmFsIHByb3RvdHlwZSB0byBhdm9pZCBhbiBlcnJvci4KfCAgICBVc2UgY2hhciBiZWNhdXNl IGludCBtaWdodCBtYXRjaCB0aGUgcmV0dXJuIHR5cGUgb2YgYSBHQ0MKfCAgICBidWlsdGluIGFu ZCB0aGVuIGl0cyBhcmd1bWVudCBwcm90b3R5cGUgd291bGQgc3RpbGwgYXBwbHkuICAqLwp8ICNp ZmRlZiBfX2NwbHVzcGx1cwp8IGV4dGVybiAiQyIKfCAjZW5kaWYKfCBjaGFyIHN0cmxjcHkgKCk7 CnwgLyogVGhlIEdOVSBDIGxpYnJhcnkgZGVmaW5lcyB0aGlzIGZvciBmdW5jdGlvbnMgd2hpY2gg aXQgaW1wbGVtZW50cwp8ICAgICB0byBhbHdheXMgZmFpbCB3aXRoIEVOT1NZUy4gIFNvbWUgZnVu Y3Rpb25zIGFyZSBhY3R1YWxseSBuYW1lZAp8ICAgICBzb21ldGhpbmcgc3RhcnRpbmcgd2l0aCBf XyBhbmQgdGhlIG5vcm1hbCBuYW1lIGlzIGFuIGFsaWFzLiAgKi8KfCAjaWYgZGVmaW5lZCBfX3N0 dWJfc3RybGNweSB8fCBkZWZpbmVkIF9fc3R1Yl9fX3N0cmxjcHkKfCBjaG9rZSBtZQp8ICNlbmRp Zgp8IAp8IGludAp8IG1haW4gKCkKfCB7CnwgcmV0dXJuIHN0cmxjcHkgKCk7CnwgICA7CnwgICBy ZXR1cm4gMDsKfCB9CmNvbmZpZ3VyZToxNTQ2MzogcmVzdWx0OiBubwpjb25maWd1cmU6MTU0NzY6 IGNoZWNraW5nIGZvciBzdHJubGVuCmNvbmZpZ3VyZToxNTQ3NjogeDg2XzY0LXc2NC1taW5ndzMy LWdjYyAtbyBjb25mdGVzdC5leGUgLVdhbGwgLVdtaXNzaW5nLXByb3RvdHlwZXMgLVdwb2ludGVy LWFyaXRoIC1XZGVjbGFyYXRpb24tYWZ0ZXItc3RhdGVtZW50IC1XZW5kaWYtbGFiZWxzIC1XbWlz c2luZy1mb3JtYXQtYXR0cmlidXRlIC1XZm9ybWF0LXNlY3VyaXR5IC1mbm8tc3RyaWN0LWFsaWFz aW5nIC1md3JhcHYgLWZleGNlc3MtcHJlY2lzaW9uPXN0YW5kYXJkIC1Xbm8tZm9ybWF0LXRydW5j YXRpb24gLVduby1zdHJpbmdvcC10cnVuY2F0aW9uIC1nIC1PIC1mbm8tb21pdC1mcmFtZS1wb2lu dGVyICAtSS93L1ItMy41Ll8vcG9zdGdyZXMvc3JjL2luY2x1ZGUvcG9ydC93aW4zMiAtREVYRUNf QkFDS0VORCAgLUkvdy96bGliLTEuMi44LXdpbjMyLXg4Nl82NC9pbmNsdWRlIC1JL3cvb3BlbnNz bC0xLjAuMmUtd2luMzIteDg2XzY0L2luY2x1ZGUgLUkvdy9saWJ4bWwyLTIuOS4zLXdpbjMyLXg4 Nl82NC9pbmNsdWRlL2xpYnhtbDIgLUkvdy9saWJ4c2x0LTEuMS4yOC13aW4zMi14ODZfNjQvaW5j bHVkZSAgLVdsLC0tYWxsb3ctbXVsdGlwbGUtZGVmaW5pdGlvbiAtV2wsLS1kaXNhYmxlLWF1dG8t aW1wb3J0ICAtTC93L3psaWItMS4yLjgtd2luMzIteDg2XzY0L2xpYiAtTC93L29wZW5zc2wtMS4w LjJlLXdpbjMyLXg4Nl82NC9saWIgLUwvdy9saWJ4bWwyLTIuOS4zLXdpbjMyLXg4Nl82NC9saWIg LUwvdy9saWJ4c2x0LTEuMS4yOC13aW4zMi14ODZfNjQvbGliIGNvbmZ0ZXN0LmMgLWx4c2x0IC1s eG1sMiAtbHNzbCAtbGNyeXB0byAtbHogLWx3czJfMzIgLWxtICA+JjUKY29uZmlndXJlOjE1NDc2 OiAkPyA9IDAKY29uZmlndXJlOjE1NDc2OiByZXN1bHQ6IHllcwpjb25maWd1cmU6MTU1NjY6IGNo ZWNraW5nIGZvciBnZXRvcHRfbG9uZwpjb25maWd1cmU6MTU1NjY6IHg4Nl82NC13NjQtbWluZ3cz Mi1nY2MgLW8gY29uZnRlc3QuZXhlIC1XYWxsIC1XbWlzc2luZy1wcm90b3R5cGVzIC1XcG9pbnRl ci1hcml0aCAtV2RlY2xhcmF0aW9uLWFmdGVyLXN0YXRlbWVudCAtV2VuZGlmLWxhYmVscyAtV21p c3NpbmctZm9ybWF0LWF0dHJpYnV0ZSAtV2Zvcm1hdC1zZWN1cml0eSAtZm5vLXN0cmljdC1hbGlh c2luZyAtZndyYXB2IC1mZXhjZXNzLXByZWNpc2lvbj1zdGFuZGFyZCAtV25vLWZvcm1hdC10cnVu Y2F0aW9uIC1Xbm8tc3RyaW5nb3AtdHJ1bmNhdGlvbiAtZyAtTyAtZm5vLW9taXQtZnJhbWUtcG9p bnRlciAgLUkvdy9SLTMuNS5fL3Bvc3RncmVzL3NyYy9pbmNsdWRlL3BvcnQvd2luMzIgLURFWEVD X0JBQ0tFTkQgIC1JL3cvemxpYi0xLjIuOC13aW4zMi14ODZfNjQvaW5jbHVkZSAtSS93L29wZW5z c2wtMS4wLjJlLXdpbjMyLXg4Nl82NC9pbmNsdWRlIC1JL3cvbGlieG1sMi0yLjkuMy13aW4zMi14 ODZfNjQvaW5jbHVkZS9saWJ4bWwyIC1JL3cvbGlieHNsdC0xLjEuMjgtd2luMzIteDg2XzY0L2lu Y2x1ZGUgIC1XbCwtLWFsbG93LW11bHRpcGxlLWRlZmluaXRpb24gLVdsLC0tZGlzYWJsZS1hdXRv LWltcG9ydCAgLUwvdy96bGliLTEuMi44LXdpbjMyLXg4Nl82NC9saWIgLUwvdy9vcGVuc3NsLTEu MC4yZS13aW4zMi14ODZfNjQvbGliIC1ML3cvbGlieG1sMi0yLjkuMy13aW4zMi14ODZfNjQvbGli IC1ML3cvbGlieHNsdC0xLjEuMjgtd2luMzIteDg2XzY0L2xpYiBjb25mdGVzdC5jIC1seHNsdCAt bHhtbDIgLWxzc2wgLWxjcnlwdG8gLWx6IC1sd3MyXzMyIC1sbSAgPiY1CmNvbmZpZ3VyZToxNTU2 NjogJD8gPSAwCmNvbmZpZ3VyZToxNTU2NjogcmVzdWx0OiB5ZXMKY29uZmlndXJlOjE1NjE5OiBj aGVja2luZyBmb3IgZ2V0dGltZW9mZGF5CmNvbmZpZ3VyZToxNTYxOTogeDg2XzY0LXc2NC1taW5n dzMyLWdjYyAtbyBjb25mdGVzdC5leGUgLVdhbGwgLVdtaXNzaW5nLXByb3RvdHlwZXMgLVdwb2lu dGVyLWFyaXRoIC1XZGVjbGFyYXRpb24tYWZ0ZXItc3RhdGVtZW50IC1XZW5kaWYtbGFiZWxzIC1X bWlzc2luZy1mb3JtYXQtYXR0cmlidXRlIC1XZm9ybWF0LXNlY3VyaXR5IC1mbm8tc3RyaWN0LWFs aWFzaW5nIC1md3JhcHYgLWZleGNlc3MtcHJlY2lzaW9uPXN0YW5kYXJkIC1Xbm8tZm9ybWF0LXRy dW5jYXRpb24gLVduby1zdHJpbmdvcC10cnVuY2F0aW9uIC1nIC1PIC1mbm8tb21pdC1mcmFtZS1w b2ludGVyICAtSS93L1ItMy41Ll8vcG9zdGdyZXMvc3JjL2luY2x1ZGUvcG9ydC93aW4zMiAtREVY RUNfQkFDS0VORCAgLUkvdy96bGliLTEuMi44LXdpbjMyLXg4Nl82NC9pbmNsdWRlIC1JL3cvb3Bl bnNzbC0xLjAuMmUtd2luMzIteDg2XzY0L2luY2x1ZGUgLUkvdy9saWJ4bWwyLTIuOS4zLXdpbjMy LXg4Nl82NC9pbmNsdWRlL2xpYnhtbDIgLUkvdy9saWJ4c2x0LTEuMS4yOC13aW4zMi14ODZfNjQv aW5jbHVkZSAgLVdsLC0tYWxsb3ctbXVsdGlwbGUtZGVmaW5pdGlvbiAtV2wsLS1kaXNhYmxlLWF1 dG8taW1wb3J0ICAtTC93L3psaWItMS4yLjgtd2luMzIteDg2XzY0L2xpYiAtTC93L29wZW5zc2wt MS4wLjJlLXdpbjMyLXg4Nl82NC9saWIgLUwvdy9saWJ4bWwyLTIuOS4zLXdpbjMyLXg4Nl82NC9s aWIgLUwvdy9saWJ4c2x0LTEuMS4yOC13aW4zMi14ODZfNjQvbGliIGNvbmZ0ZXN0LmMgLWx4c2x0 IC1seG1sMiAtbHNzbCAtbGNyeXB0byAtbHogLWx3czJfMzIgLWxtICA+JjUKY29uZmlndXJlOjE1 NjE5OiAkPyA9IDAKY29uZmlndXJlOjE1NjE5OiByZXN1bHQ6IHllcwpjb25maWd1cmU6MTU2ODQ6 IGNoZWNraW5nIGZvciBNSU5JRFVNUF9UWVBFCmNvbmZpZ3VyZToxNTY4NDogeDg2XzY0LXc2NC1t aW5ndzMyLWdjYyAtYyAtV2FsbCAtV21pc3NpbmctcHJvdG90eXBlcyAtV3BvaW50ZXItYXJpdGgg LVdkZWNsYXJhdGlvbi1hZnRlci1zdGF0ZW1lbnQgLVdlbmRpZi1sYWJlbHMgLVdtaXNzaW5nLWZv cm1hdC1hdHRyaWJ1dGUgLVdmb3JtYXQtc2VjdXJpdHkgLWZuby1zdHJpY3QtYWxpYXNpbmcgLWZ3 cmFwdiAtZmV4Y2Vzcy1wcmVjaXNpb249c3RhbmRhcmQgLVduby1mb3JtYXQtdHJ1bmNhdGlvbiAt V25vLXN0cmluZ29wLXRydW5jYXRpb24gLWcgLU8gLWZuby1vbWl0LWZyYW1lLXBvaW50ZXIgIC1J L3cvUi0zLjUuXy9wb3N0Z3Jlcy9zcmMvaW5jbHVkZS9wb3J0L3dpbjMyIC1ERVhFQ19CQUNLRU5E ICAtSS93L3psaWItMS4yLjgtd2luMzIteDg2XzY0L2luY2x1ZGUgLUkvdy9vcGVuc3NsLTEuMC4y ZS13aW4zMi14ODZfNjQvaW5jbHVkZSAtSS93L2xpYnhtbDItMi45LjMtd2luMzIteDg2XzY0L2lu Y2x1ZGUvbGlieG1sMiAtSS93L2xpYnhzbHQtMS4xLjI4LXdpbjMyLXg4Nl82NC9pbmNsdWRlIGNv bmZ0ZXN0LmMgPiY1CmNvbmZpZ3VyZToxNTY4NDogJD8gPSAwCmNvbmZpZ3VyZToxNTY4NDogeDg2 XzY0LXc2NC1taW5ndzMyLWdjYyAtYyAtV2FsbCAtV21pc3NpbmctcHJvdG90eXBlcyAtV3BvaW50 ZXItYXJpdGggLVdkZWNsYXJhdGlvbi1hZnRlci1zdGF0ZW1lbnQgLVdlbmRpZi1sYWJlbHMgLVdt aXNzaW5nLWZvcm1hdC1hdHRyaWJ1dGUgLVdmb3JtYXQtc2VjdXJpdHkgLWZuby1zdHJpY3QtYWxp YXNpbmcgLWZ3cmFwdiAtZmV4Y2Vzcy1wcmVjaXNpb249c3RhbmRhcmQgLVduby1mb3JtYXQtdHJ1 bmNhdGlvbiAtV25vLXN0cmluZ29wLXRydW5jYXRpb24gLWcgLU8gLWZuby1vbWl0LWZyYW1lLXBv aW50ZXIgIC1JL3cvUi0zLjUuXy9wb3N0Z3Jlcy9zcmMvaW5jbHVkZS9wb3J0L3dpbjMyIC1ERVhF Q19CQUNLRU5EICAtSS93L3psaWItMS4yLjgtd2luMzIteDg2XzY0L2luY2x1ZGUgLUkvdy9vcGVu c3NsLTEuMC4yZS13aW4zMi14ODZfNjQvaW5jbHVkZSAtSS93L2xpYnhtbDItMi45LjMtd2luMzIt eDg2XzY0L2luY2x1ZGUvbGlieG1sMiAtSS93L2xpYnhzbHQtMS4xLjI4LXdpbjMyLXg4Nl82NC9p bmNsdWRlIGNvbmZ0ZXN0LmMgPiY1CmNvbmZ0ZXN0LmM6IEluIGZ1bmN0aW9uICdtYWluJzoKY29u ZnRlc3QuYzoxMTU6Mjg6IGVycm9yOiBleHBlY3RlZCBleHByZXNzaW9uIGJlZm9yZSAnKScgdG9r ZW4KIGlmIChzaXplb2YgKChNSU5JRFVNUF9UWVBFKSkpCiAgICAgICAgICAgICAgICAgICAgICAg ICAgICBeCmNvbmZpZ3VyZToxNTY4NDogJD8gPSAxCmNvbmZpZ3VyZTogZmFpbGVkIHByb2dyYW0g d2FzOgp8IC8qIGNvbmZkZWZzLmggKi8KfCAjZGVmaW5lIFBBQ0tBR0VfTkFNRSAiUG9zdGdyZVNR TCIKfCAjZGVmaW5lIFBBQ0tBR0VfVEFSTkFNRSAicG9zdGdyZXNxbCIKfCAjZGVmaW5lIFBBQ0tB R0VfVkVSU0lPTiAiMTFiZXRhMyIKfCAjZGVmaW5lIFBBQ0tBR0VfU1RSSU5HICJQb3N0Z3JlU1FM IDExYmV0YTMiCnwgI2RlZmluZSBQQUNLQUdFX0JVR1JFUE9SVCAicGdzcWwtYnVnc0Bwb3N0Z3Jl c3FsLm9yZyIKfCAjZGVmaW5lIFBBQ0tBR0VfVVJMICIiCnwgI2RlZmluZSBQR19NQUpPUlZFUlNJ T04gIjExIgp8ICNkZWZpbmUgUEdfVkVSU0lPTiAiMTFiZXRhMyIKfCAjZGVmaW5lIERFRl9QR1BP UlQgNTQzMgp8ICNkZWZpbmUgREVGX1BHUE9SVF9TVFIgIjU0MzIiCnwgI2RlZmluZSBCTENLU1og ODE5Mgp8ICNkZWZpbmUgUkVMU0VHX1NJWkUgMTMxMDcyCnwgI2RlZmluZSBYTE9HX0JMQ0tTWiA4 MTkyCnwgI2RlZmluZSBVU0VfQVNTRVJUX0NIRUNLSU5HIDEKfCAjZGVmaW5lIEVOQUJMRV9USFJF QURfU0FGRVRZIDEKfCAjZGVmaW5lIFVTRV9JQ1UgMQp8ICNkZWZpbmUgUEdfS1JCX1NSVk5BTSAi cG9zdGdyZXMiCnwgI2RlZmluZSBVU0VfT1BFTlNTTCAxCnwgI2RlZmluZSBVU0VfTElCWE1MIDEK fCAjZGVmaW5lIFVTRV9MSUJYU0xUIDEKfCAjZGVmaW5lIFNURENfSEVBREVSUyAxCnwgI2RlZmlu ZSBIQVZFX1NZU19UWVBFU19IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NUQVRfSCAxCnwgI2RlZmlu ZSBIQVZFX1NURExJQl9IIDEKfCAjZGVmaW5lIEhBVkVfU1RSSU5HX0ggMQp8ICNkZWZpbmUgSEFW RV9NRU1PUllfSCAxCnwgI2RlZmluZSBIQVZFX1NUUklOR1NfSCAxCnwgI2RlZmluZSBIQVZFX0lO VFRZUEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERJTlRfSCAxCnwgI2RlZmluZSBIQVZFX1VOSVNU RF9IIDEKfCAjZGVmaW5lIEhBVkVfTElCTSAxCnwgI2RlZmluZSBIQVZFX0xJQlogMQp8ICNkZWZp bmUgSEFWRV9TUElOTE9DS1MgMQp8ICNkZWZpbmUgSEFWRV9BVE9NSUNTIDEKfCAjZGVmaW5lIEhB VkVfU1NMX0dFVF9DVVJSRU5UX0NPTVBSRVNTSU9OIDEKfCAjZGVmaW5lIEhBVkVfWDUwOV9HRVRf U0lHTkFUVVJFX05JRCAxCnwgI2RlZmluZSBIQVZFX0NSWVBUT19MT0NLIDEKfCAjZGVmaW5lIEhB VkVfTElCWE1MMiAxCnwgI2RlZmluZSBIQVZFX0xJQlhTTFQgMQp8ICNkZWZpbmUgSEFWRV9fQk9P TCAxCnwgI2RlZmluZSBIQVZFX1NUREJPT0xfSCAxCnwgI2RlZmluZSBIQVZFX0dFVE9QVF9IIDEK fCAjZGVmaW5lIEhBVkVfSUVFRUZQX0ggMQp8ICNkZWZpbmUgSEFWRV9VVElNRV9IIDEKfCAjZGVm aW5lIEhBVkVfV0NIQVJfSCAxCnwgI2RlZmluZSBIQVZFX1dDVFlQRV9IIDEKfCAjZGVmaW5lIEhB VkVfQ1JUREVGU19IIDEKfCAjZGVmaW5lIFBHX1BSSU5URl9BVFRSSUJVVEUgZ251X3ByaW50Zgp8 ICNkZWZpbmUgRkxFWElCTEVfQVJSQVlfTUVNQkVSIC8qKi8KfCAjZGVmaW5lIEhBVkVfRlVOQ05B TUVfX0ZVTkMgMQp8ICNkZWZpbmUgSEFWRV9fU1RBVElDX0FTU0VSVCAxCnwgI2RlZmluZSBIQVZF X1RZUEVPRiAxCnwgI2RlZmluZSBIQVZFX19CVUlMVElOX1RZUEVTX0NPTVBBVElCTEVfUCAxCnwg I2RlZmluZSBIQVZFX19CVUlMVElOX0JTV0FQMTYgMQp8ICNkZWZpbmUgSEFWRV9fQlVJTFRJTl9C U1dBUDMyIDEKfCAjZGVmaW5lIEhBVkVfX0JVSUxUSU5fQlNXQVA2NCAxCnwgI2RlZmluZSBIQVZF X19CVUlMVElOX0NPTlNUQU5UX1AgMQp8ICNkZWZpbmUgSEFWRV9fQlVJTFRJTl9VTlJFQUNIQUJM RSAxCnwgI2RlZmluZSBIQVZFX0NPTVBVVEVEX0dPVE8gMQp8ICNkZWZpbmUgSEFWRV9fVkFfQVJH UyAxCnwgI2RlZmluZSBIQVZFX1RaTkFNRSAxCnwgI2RlZmluZSBIQVZFX1NUUlVDVF9TT0NLQURE Ul9TVE9SQUdFIDEKfCAjZGVmaW5lIEhBVkVfU1RSVUNUX1NPQ0tBRERSX1NUT1JBR0VfU1NfRkFN SUxZIDEKfCAjZGVmaW5lIEhBVkVfU1RSVUNUX0FERFJJTkZPIDEKfCAjZGVmaW5lIEhBVkVfSU5U UFRSX1QgMQp8ICNkZWZpbmUgSEFWRV9VSU5UUFRSX1QgMQp8ICNkZWZpbmUgSEFWRV9VTlNJR05F RF9MT05HX0xPTkdfSU5UIDEKfCAjZGVmaW5lIEhBVkVfTE9OR19MT05HX0lOVCAxCnwgI2RlZmlu ZSByZXN0cmljdCBfX3Jlc3RyaWN0CnwgI2RlZmluZSBwZ19yZXN0cmljdCBfX3Jlc3RyaWN0Cnwg I2RlZmluZSBIQVZFX1NUUlVDVF9PUFRJT04gMQp8ICNkZWZpbmUgU0laRU9GX09GRl9UIDQKfCAj ZGVmaW5lIFNJWkVPRl9CT09MIDEKfCAjZGVmaW5lIEhBVkVfSU5UX1RJTUVaT05FIDEKfCAjZGVm aW5lIEFDQ0VQVF9UWVBFX1JFVFVSTiBTT0NLRVQgV1NBQVBJCnwgI2RlZmluZSBBQ0NFUFRfVFlQ RV9BUkcxIFNPQ0tFVAp8ICNkZWZpbmUgQUNDRVBUX1RZUEVfQVJHMiBzdHJ1Y3Qgc29ja2FkZHIg Kgp8ICNkZWZpbmUgQUNDRVBUX1RZUEVfQVJHMyBpbnQKfCAjZGVmaW5lIEhBVkVfQ0JSVCAxCnwg I2RlZmluZSBIQVZFX0NMT0NLX0dFVFRJTUUgMQp8ICNkZWZpbmUgSEFWRV9NRU1NT1ZFIDEKfCAj ZGVmaW5lIEhBVkVfVVRJTUUgMQp8ICNkZWZpbmUgSEFWRV9GU0VFS08gMQp8ICNkZWZpbmUgSEFW RV9GU0VFS08gMQp8ICNkZWZpbmUgSEFWRV9ERUNMX1BPU0lYX0ZBRFZJU0UgMAp8ICNkZWZpbmUg SEFWRV9ERUNMX0ZEQVRBU1lOQyAwCnwgI2RlZmluZSBIQVZFX0RFQ0xfU1RSTENBVCAwCnwgI2Rl ZmluZSBIQVZFX0RFQ0xfU1RSTENQWSAwCnwgI2RlZmluZSBIQVZFX0RFQ0xfU1RSTkxFTiAxCnwg I2RlZmluZSBIQVZFX0RFQ0xfRl9GVUxMRlNZTkMgMAp8ICNkZWZpbmUgSEFWRV9JUFY2IDEKfCAj ZGVmaW5lIEhBVkVfREVDTF9TTlBSSU5URiAxCnwgI2RlZmluZSBIQVZFX0RFQ0xfVlNOUFJJTlRG IDEKfCAjZGVmaW5lIEhBVkVfSVNJTkYgMQp8ICNkZWZpbmUgSEFWRV9HRVRPUFQgMQp8ICNkZWZp bmUgSEFWRV9SSU5UIDEKfCAjZGVmaW5lIEhBVkVfU1RSRVJST1IgMQp8ICNkZWZpbmUgSEFWRV9T VFJOTEVOIDEKfCAjZGVmaW5lIEhBVkVfVU5TRVRFTlYgMQp8ICNkZWZpbmUgSEFWRV9HRVRQRUVS RUlEIDEKfCAjZGVmaW5lIEhBVkVfR0VUT1BUX0xPTkcgMQp8ICNkZWZpbmUgSEFWRV9HRVRUSU1F T0ZEQVkgMQp8ICNkZWZpbmUgSEFWRV9TWU1MSU5LIDEKfCAvKiBlbmQgY29uZmRlZnMuaC4gICov CnwgCnwgI2RlZmluZSBXSU4zMl9MRUFOX0FORF9NRUFOCnwgI2luY2x1ZGUgPHdpbmRvd3MuaD4K fCAjaW5jbHVkZSA8c3RyaW5nLmg+CnwgI2luY2x1ZGUgPGRiZ2hlbHAuaD4KfCAKfCBpbnQKfCBt YWluICgpCnwgewp8IGlmIChzaXplb2YgKChNSU5JRFVNUF9UWVBFKSkpCnwgCSAgICByZXR1cm4g MDsKfCAgIDsKfCAgIHJldHVybiAwOwp8IH0KY29uZmlndXJlOjE1Njg0OiByZXN1bHQ6IHllcwpj b25maWd1cmU6MTU3MjA6IGNoZWNraW5nIHdoZXRoZXIgc3lzX3NpZ2xpc3QgaXMgZGVjbGFyZWQK Y29uZmlndXJlOjE1NzIwOiB4ODZfNjQtdzY0LW1pbmd3MzItZ2NjIC1jIC1XYWxsIC1XbWlzc2lu Zy1wcm90b3R5cGVzIC1XcG9pbnRlci1hcml0aCAtV2RlY2xhcmF0aW9uLWFmdGVyLXN0YXRlbWVu dCAtV2VuZGlmLWxhYmVscyAtV21pc3NpbmctZm9ybWF0LWF0dHJpYnV0ZSAtV2Zvcm1hdC1zZWN1 cml0eSAtZm5vLXN0cmljdC1hbGlhc2luZyAtZndyYXB2IC1mZXhjZXNzLXByZWNpc2lvbj1zdGFu ZGFyZCAtV25vLWZvcm1hdC10cnVuY2F0aW9uIC1Xbm8tc3RyaW5nb3AtdHJ1bmNhdGlvbiAtZyAt TyAtZm5vLW9taXQtZnJhbWUtcG9pbnRlciAgLUkvdy9SLTMuNS5fL3Bvc3RncmVzL3NyYy9pbmNs dWRlL3BvcnQvd2luMzIgLURFWEVDX0JBQ0tFTkQgIC1JL3cvemxpYi0xLjIuOC13aW4zMi14ODZf NjQvaW5jbHVkZSAtSS93L29wZW5zc2wtMS4wLjJlLXdpbjMyLXg4Nl82NC9pbmNsdWRlIC1JL3cv bGlieG1sMi0yLjkuMy13aW4zMi14ODZfNjQvaW5jbHVkZS9saWJ4bWwyIC1JL3cvbGlieHNsdC0x LjEuMjgtd2luMzIteDg2XzY0L2luY2x1ZGUgY29uZnRlc3QuYyA+JjUKY29uZnRlc3QuYzogSW4g ZnVuY3Rpb24gJ21haW4nOgpjb25mdGVzdC5jOjEyMToxMDogZXJyb3I6ICdzeXNfc2lnbGlzdCcg dW5kZWNsYXJlZCAoZmlyc3QgdXNlIGluIHRoaXMgZnVuY3Rpb24pCiAgICh2b2lkKSBzeXNfc2ln bGlzdDsKICAgICAgICAgIF5+fn5+fn5+fn5+CmNvbmZ0ZXN0LmM6MTIxOjEwOiBub3RlOiBlYWNo IHVuZGVjbGFyZWQgaWRlbnRpZmllciBpcyByZXBvcnRlZCBvbmx5IG9uY2UgZm9yIGVhY2ggZnVu Y3Rpb24gaXQgYXBwZWFycyBpbgpjb25maWd1cmU6MTU3MjA6ICQ/ID0gMQpjb25maWd1cmU6IGZh aWxlZCBwcm9ncmFtIHdhczoKfCAvKiBjb25mZGVmcy5oICovCnwgI2RlZmluZSBQQUNLQUdFX05B TUUgIlBvc3RncmVTUUwiCnwgI2RlZmluZSBQQUNLQUdFX1RBUk5BTUUgInBvc3RncmVzcWwiCnwg I2RlZmluZSBQQUNLQUdFX1ZFUlNJT04gIjExYmV0YTMiCnwgI2RlZmluZSBQQUNLQUdFX1NUUklO RyAiUG9zdGdyZVNRTCAxMWJldGEzIgp8ICNkZWZpbmUgUEFDS0FHRV9CVUdSRVBPUlQgInBnc3Fs LWJ1Z3NAcG9zdGdyZXNxbC5vcmciCnwgI2RlZmluZSBQQUNLQUdFX1VSTCAiIgp8ICNkZWZpbmUg UEdfTUFKT1JWRVJTSU9OICIxMSIKfCAjZGVmaW5lIFBHX1ZFUlNJT04gIjExYmV0YTMiCnwgI2Rl ZmluZSBERUZfUEdQT1JUIDU0MzIKfCAjZGVmaW5lIERFRl9QR1BPUlRfU1RSICI1NDMyIgp8ICNk ZWZpbmUgQkxDS1NaIDgxOTIKfCAjZGVmaW5lIFJFTFNFR19TSVpFIDEzMTA3Mgp8ICNkZWZpbmUg WExPR19CTENLU1ogODE5Mgp8ICNkZWZpbmUgVVNFX0FTU0VSVF9DSEVDS0lORyAxCnwgI2RlZmlu ZSBFTkFCTEVfVEhSRUFEX1NBRkVUWSAxCnwgI2RlZmluZSBVU0VfSUNVIDEKfCAjZGVmaW5lIFBH X0tSQl9TUlZOQU0gInBvc3RncmVzIgp8ICNkZWZpbmUgVVNFX09QRU5TU0wgMQp8ICNkZWZpbmUg VVNFX0xJQlhNTCAxCnwgI2RlZmluZSBVU0VfTElCWFNMVCAxCnwgI2RlZmluZSBTVERDX0hFQURF UlMgMQp8ICNkZWZpbmUgSEFWRV9TWVNfVFlQRVNfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19TVEFU X0ggMQp8ICNkZWZpbmUgSEFWRV9TVERMSUJfSCAxCnwgI2RlZmluZSBIQVZFX1NUUklOR19IIDEK fCAjZGVmaW5lIEhBVkVfTUVNT1JZX0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJJTkdTX0ggMQp8ICNk ZWZpbmUgSEFWRV9JTlRUWVBFU19IIDEKfCAjZGVmaW5lIEhBVkVfU1RESU5UX0ggMQp8ICNkZWZp bmUgSEFWRV9VTklTVERfSCAxCnwgI2RlZmluZSBIQVZFX0xJQk0gMQp8ICNkZWZpbmUgSEFWRV9M SUJaIDEKfCAjZGVmaW5lIEhBVkVfU1BJTkxPQ0tTIDEKfCAjZGVmaW5lIEhBVkVfQVRPTUlDUyAx CnwgI2RlZmluZSBIQVZFX1NTTF9HRVRfQ1VSUkVOVF9DT01QUkVTU0lPTiAxCnwgI2RlZmluZSBI QVZFX1g1MDlfR0VUX1NJR05BVFVSRV9OSUQgMQp8ICNkZWZpbmUgSEFWRV9DUllQVE9fTE9DSyAx CnwgI2RlZmluZSBIQVZFX0xJQlhNTDIgMQp8ICNkZWZpbmUgSEFWRV9MSUJYU0xUIDEKfCAjZGVm aW5lIEhBVkVfX0JPT0wgMQp8ICNkZWZpbmUgSEFWRV9TVERCT09MX0ggMQp8ICNkZWZpbmUgSEFW RV9HRVRPUFRfSCAxCnwgI2RlZmluZSBIQVZFX0lFRUVGUF9IIDEKfCAjZGVmaW5lIEhBVkVfVVRJ TUVfSCAxCnwgI2RlZmluZSBIQVZFX1dDSEFSX0ggMQp8ICNkZWZpbmUgSEFWRV9XQ1RZUEVfSCAx CnwgI2RlZmluZSBIQVZFX0NSVERFRlNfSCAxCnwgI2RlZmluZSBQR19QUklOVEZfQVRUUklCVVRF IGdudV9wcmludGYKfCAjZGVmaW5lIEZMRVhJQkxFX0FSUkFZX01FTUJFUiAvKiovCnwgI2RlZmlu ZSBIQVZFX0ZVTkNOQU1FX19GVU5DIDEKfCAjZGVmaW5lIEhBVkVfX1NUQVRJQ19BU1NFUlQgMQp8 ICNkZWZpbmUgSEFWRV9UWVBFT0YgMQp8ICNkZWZpbmUgSEFWRV9fQlVJTFRJTl9UWVBFU19DT01Q QVRJQkxFX1AgMQp8ICNkZWZpbmUgSEFWRV9fQlVJTFRJTl9CU1dBUDE2IDEKfCAjZGVmaW5lIEhB VkVfX0JVSUxUSU5fQlNXQVAzMiAxCnwgI2RlZmluZSBIQVZFX19CVUlMVElOX0JTV0FQNjQgMQp8 ICNkZWZpbmUgSEFWRV9fQlVJTFRJTl9DT05TVEFOVF9QIDEKfCAjZGVmaW5lIEhBVkVfX0JVSUxU SU5fVU5SRUFDSEFCTEUgMQp8ICNkZWZpbmUgSEFWRV9DT01QVVRFRF9HT1RPIDEKfCAjZGVmaW5l IEhBVkVfX1ZBX0FSR1MgMQp8ICNkZWZpbmUgSEFWRV9UWk5BTUUgMQp8ICNkZWZpbmUgSEFWRV9T VFJVQ1RfU09DS0FERFJfU1RPUkFHRSAxCnwgI2RlZmluZSBIQVZFX1NUUlVDVF9TT0NLQUREUl9T VE9SQUdFX1NTX0ZBTUlMWSAxCnwgI2RlZmluZSBIQVZFX1NUUlVDVF9BRERSSU5GTyAxCnwgI2Rl ZmluZSBIQVZFX0lOVFBUUl9UIDEKfCAjZGVmaW5lIEhBVkVfVUlOVFBUUl9UIDEKfCAjZGVmaW5l IEhBVkVfVU5TSUdORURfTE9OR19MT05HX0lOVCAxCnwgI2RlZmluZSBIQVZFX0xPTkdfTE9OR19J TlQgMQp8ICNkZWZpbmUgcmVzdHJpY3QgX19yZXN0cmljdAp8ICNkZWZpbmUgcGdfcmVzdHJpY3Qg X19yZXN0cmljdAp8ICNkZWZpbmUgSEFWRV9TVFJVQ1RfT1BUSU9OIDEKfCAjZGVmaW5lIFNJWkVP Rl9PRkZfVCA0CnwgI2RlZmluZSBTSVpFT0ZfQk9PTCAxCnwgI2RlZmluZSBIQVZFX0lOVF9USU1F Wk9ORSAxCnwgI2RlZmluZSBBQ0NFUFRfVFlQRV9SRVRVUk4gU09DS0VUIFdTQUFQSQp8ICNkZWZp bmUgQUNDRVBUX1RZUEVfQVJHMSBTT0NLRVQKfCAjZGVmaW5lIEFDQ0VQVF9UWVBFX0FSRzIgc3Ry dWN0IHNvY2thZGRyICoKfCAjZGVmaW5lIEFDQ0VQVF9UWVBFX0FSRzMgaW50CnwgI2RlZmluZSBI QVZFX0NCUlQgMQp8ICNkZWZpbmUgSEFWRV9DTE9DS19HRVRUSU1FIDEKfCAjZGVmaW5lIEhBVkVf TUVNTU9WRSAxCnwgI2RlZmluZSBIQVZFX1VUSU1FIDEKfCAjZGVmaW5lIEhBVkVfRlNFRUtPIDEK fCAjZGVmaW5lIEhBVkVfRlNFRUtPIDEKfCAjZGVmaW5lIEhBVkVfREVDTF9QT1NJWF9GQURWSVNF IDAKfCAjZGVmaW5lIEhBVkVfREVDTF9GREFUQVNZTkMgMAp8ICNkZWZpbmUgSEFWRV9ERUNMX1NU UkxDQVQgMAp8ICNkZWZpbmUgSEFWRV9ERUNMX1NUUkxDUFkgMAp8ICNkZWZpbmUgSEFWRV9ERUNM X1NUUk5MRU4gMQp8ICNkZWZpbmUgSEFWRV9ERUNMX0ZfRlVMTEZTWU5DIDAKfCAjZGVmaW5lIEhB VkVfSVBWNiAxCnwgI2RlZmluZSBIQVZFX0RFQ0xfU05QUklOVEYgMQp8ICNkZWZpbmUgSEFWRV9E RUNMX1ZTTlBSSU5URiAxCnwgI2RlZmluZSBIQVZFX0lTSU5GIDEKfCAjZGVmaW5lIEhBVkVfR0VU T1BUIDEKfCAjZGVmaW5lIEhBVkVfUklOVCAxCnwgI2RlZmluZSBIQVZFX1NUUkVSUk9SIDEKfCAj ZGVmaW5lIEhBVkVfU1RSTkxFTiAxCnwgI2RlZmluZSBIQVZFX1VOU0VURU5WIDEKfCAjZGVmaW5l IEhBVkVfR0VUUEVFUkVJRCAxCnwgI2RlZmluZSBIQVZFX0dFVE9QVF9MT05HIDEKfCAjZGVmaW5l IEhBVkVfR0VUVElNRU9GREFZIDEKfCAjZGVmaW5lIEhBVkVfU1lNTElOSyAxCnwgI2RlZmluZSBI QVZFX01JTklEVU1QX1RZUEUgMQp8IC8qIGVuZCBjb25mZGVmcy5oLiAgKi8KfCAjaW5jbHVkZSA8 c2lnbmFsLmg+CnwgLyogTmV0QlNEIGRlY2xhcmVzIHN5c19zaWdsaXN0IGluIHVuaXN0ZC5oLiAg Ki8KfCAjaWZkZWYgSEFWRV9VTklTVERfSAp8ICMgaW5jbHVkZSA8dW5pc3RkLmg+CnwgI2VuZGlm CnwgCnwgCnwgaW50CnwgbWFpbiAoKQp8IHsKfCAjaWZuZGVmIHN5c19zaWdsaXN0CnwgI2lmZGVm IF9fY3BsdXNwbHVzCnwgICAodm9pZCkgc3lzX3NpZ2xpc3Q7CnwgI2Vsc2UKfCAgICh2b2lkKSBz eXNfc2lnbGlzdDsKfCAjZW5kaWYKfCAjZW5kaWYKfCAKfCAgIDsKfCAgIHJldHVybiAwOwp8IH0K Y29uZmlndXJlOjE1NzIwOiByZXN1bHQ6IG5vCmNvbmZpZ3VyZToxNTczODogY2hlY2tpbmcgZm9y IHN5c2xvZwpjb25maWd1cmU6MTU3Mzg6IHg4Nl82NC13NjQtbWluZ3czMi1nY2MgLW8gY29uZnRl c3QuZXhlIC1XYWxsIC1XbWlzc2luZy1wcm90b3R5cGVzIC1XcG9pbnRlci1hcml0aCAtV2RlY2xh cmF0aW9uLWFmdGVyLXN0YXRlbWVudCAtV2VuZGlmLWxhYmVscyAtV21pc3NpbmctZm9ybWF0LWF0 dHJpYnV0ZSAtV2Zvcm1hdC1zZWN1cml0eSAtZm5vLXN0cmljdC1hbGlhc2luZyAtZndyYXB2IC1m ZXhjZXNzLXByZWNpc2lvbj1zdGFuZGFyZCAtV25vLWZvcm1hdC10cnVuY2F0aW9uIC1Xbm8tc3Ry aW5nb3AtdHJ1bmNhdGlvbiAtZyAtTyAtZm5vLW9taXQtZnJhbWUtcG9pbnRlciAgLUkvdy9SLTMu NS5fL3Bvc3RncmVzL3NyYy9pbmNsdWRlL3BvcnQvd2luMzIgLURFWEVDX0JBQ0tFTkQgIC1JL3cv emxpYi0xLjIuOC13aW4zMi14ODZfNjQvaW5jbHVkZSAtSS93L29wZW5zc2wtMS4wLjJlLXdpbjMy LXg4Nl82NC9pbmNsdWRlIC1JL3cvbGlieG1sMi0yLjkuMy13aW4zMi14ODZfNjQvaW5jbHVkZS9s aWJ4bWwyIC1JL3cvbGlieHNsdC0xLjEuMjgtd2luMzIteDg2XzY0L2luY2x1ZGUgIC1XbCwtLWFs bG93LW11bHRpcGxlLWRlZmluaXRpb24gLVdsLC0tZGlzYWJsZS1hdXRvLWltcG9ydCAgLUwvdy96 bGliLTEuMi44LXdpbjMyLXg4Nl82NC9saWIgLUwvdy9vcGVuc3NsLTEuMC4yZS13aW4zMi14ODZf NjQvbGliIC1ML3cvbGlieG1sMi0yLjkuMy13aW4zMi14ODZfNjQvbGliIC1ML3cvbGlieHNsdC0x LjEuMjgtd2luMzIteDg2XzY0L2xpYiBjb25mdGVzdC5jIC1seHNsdCAtbHhtbDIgLWxzc2wgLWxj cnlwdG8gLWx6IC1sd3MyXzMyIC1sbSAgPiY1CkM6L21zeXM2NC9taW5ndzY0L2Jpbi8uLi9saWIv Z2NjL3g4Nl82NC13NjQtbWluZ3czMi84LjIuMC8uLi8uLi8uLi8uLi94ODZfNjQtdzY0LW1pbmd3 MzIvYmluL2xkLmV4ZTogQzpcbXN5czY0XHRtcFxjY2czazhxbC5vOiBpbiBmdW5jdGlvbiBgbWFp bic6DQpXOlxSLTMuNS5fXHBvc3RncmVzXGJ1aWxkL2NvbmZ0ZXN0LmM6MTQyOiB1bmRlZmluZWQg cmVmZXJlbmNlIHRvIGBzeXNsb2cnDQpjb2xsZWN0Mi5leGU6IGVycm9yOiBsZCByZXR1cm5lZCAx IGV4aXQgc3RhdHVzCmNvbmZpZ3VyZToxNTczODogJD8gPSAxCmNvbmZpZ3VyZTogZmFpbGVkIHBy b2dyYW0gd2FzOgp8IC8qIGNvbmZkZWZzLmggKi8KfCAjZGVmaW5lIFBBQ0tBR0VfTkFNRSAiUG9z dGdyZVNRTCIKfCAjZGVmaW5lIFBBQ0tBR0VfVEFSTkFNRSAicG9zdGdyZXNxbCIKfCAjZGVmaW5l IFBBQ0tBR0VfVkVSU0lPTiAiMTFiZXRhMyIKfCAjZGVmaW5lIFBBQ0tBR0VfU1RSSU5HICJQb3N0 Z3JlU1FMIDExYmV0YTMiCnwgI2RlZmluZSBQQUNLQUdFX0JVR1JFUE9SVCAicGdzcWwtYnVnc0Bw b3N0Z3Jlc3FsLm9yZyIKfCAjZGVmaW5lIFBBQ0tBR0VfVVJMICIiCnwgI2RlZmluZSBQR19NQUpP UlZFUlNJT04gIjExIgp8ICNkZWZpbmUgUEdfVkVSU0lPTiAiMTFiZXRhMyIKfCAjZGVmaW5lIERF Rl9QR1BPUlQgNTQzMgp8ICNkZWZpbmUgREVGX1BHUE9SVF9TVFIgIjU0MzIiCnwgI2RlZmluZSBC TENLU1ogODE5Mgp8ICNkZWZpbmUgUkVMU0VHX1NJWkUgMTMxMDcyCnwgI2RlZmluZSBYTE9HX0JM Q0tTWiA4MTkyCnwgI2RlZmluZSBVU0VfQVNTRVJUX0NIRUNLSU5HIDEKfCAjZGVmaW5lIEVOQUJM RV9USFJFQURfU0FGRVRZIDEKfCAjZGVmaW5lIFVTRV9JQ1UgMQp8ICNkZWZpbmUgUEdfS1JCX1NS Vk5BTSAicG9zdGdyZXMiCnwgI2RlZmluZSBVU0VfT1BFTlNTTCAxCnwgI2RlZmluZSBVU0VfTElC WE1MIDEKfCAjZGVmaW5lIFVTRV9MSUJYU0xUIDEKfCAjZGVmaW5lIFNURENfSEVBREVSUyAxCnwg I2RlZmluZSBIQVZFX1NZU19UWVBFU19IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NUQVRfSCAxCnwg I2RlZmluZSBIQVZFX1NURExJQl9IIDEKfCAjZGVmaW5lIEhBVkVfU1RSSU5HX0ggMQp8ICNkZWZp bmUgSEFWRV9NRU1PUllfSCAxCnwgI2RlZmluZSBIQVZFX1NUUklOR1NfSCAxCnwgI2RlZmluZSBI QVZFX0lOVFRZUEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERJTlRfSCAxCnwgI2RlZmluZSBIQVZF X1VOSVNURF9IIDEKfCAjZGVmaW5lIEhBVkVfTElCTSAxCnwgI2RlZmluZSBIQVZFX0xJQlogMQp8 ICNkZWZpbmUgSEFWRV9TUElOTE9DS1MgMQp8ICNkZWZpbmUgSEFWRV9BVE9NSUNTIDEKfCAjZGVm aW5lIEhBVkVfU1NMX0dFVF9DVVJSRU5UX0NPTVBSRVNTSU9OIDEKfCAjZGVmaW5lIEhBVkVfWDUw OV9HRVRfU0lHTkFUVVJFX05JRCAxCnwgI2RlZmluZSBIQVZFX0NSWVBUT19MT0NLIDEKfCAjZGVm aW5lIEhBVkVfTElCWE1MMiAxCnwgI2RlZmluZSBIQVZFX0xJQlhTTFQgMQp8ICNkZWZpbmUgSEFW RV9fQk9PTCAxCnwgI2RlZmluZSBIQVZFX1NUREJPT0xfSCAxCnwgI2RlZmluZSBIQVZFX0dFVE9Q VF9IIDEKfCAjZGVmaW5lIEhBVkVfSUVFRUZQX0ggMQp8ICNkZWZpbmUgSEFWRV9VVElNRV9IIDEK fCAjZGVmaW5lIEhBVkVfV0NIQVJfSCAxCnwgI2RlZmluZSBIQVZFX1dDVFlQRV9IIDEKfCAjZGVm aW5lIEhBVkVfQ1JUREVGU19IIDEKfCAjZGVmaW5lIFBHX1BSSU5URl9BVFRSSUJVVEUgZ251X3By aW50Zgp8ICNkZWZpbmUgRkxFWElCTEVfQVJSQVlfTUVNQkVSIC8qKi8KfCAjZGVmaW5lIEhBVkVf RlVOQ05BTUVfX0ZVTkMgMQp8ICNkZWZpbmUgSEFWRV9fU1RBVElDX0FTU0VSVCAxCnwgI2RlZmlu ZSBIQVZFX1RZUEVPRiAxCnwgI2RlZmluZSBIQVZFX19CVUlMVElOX1RZUEVTX0NPTVBBVElCTEVf UCAxCnwgI2RlZmluZSBIQVZFX19CVUlMVElOX0JTV0FQMTYgMQp8ICNkZWZpbmUgSEFWRV9fQlVJ TFRJTl9CU1dBUDMyIDEKfCAjZGVmaW5lIEhBVkVfX0JVSUxUSU5fQlNXQVA2NCAxCnwgI2RlZmlu ZSBIQVZFX19CVUlMVElOX0NPTlNUQU5UX1AgMQp8ICNkZWZpbmUgSEFWRV9fQlVJTFRJTl9VTlJF QUNIQUJMRSAxCnwgI2RlZmluZSBIQVZFX0NPTVBVVEVEX0dPVE8gMQp8ICNkZWZpbmUgSEFWRV9f VkFfQVJHUyAxCnwgI2RlZmluZSBIQVZFX1RaTkFNRSAxCnwgI2RlZmluZSBIQVZFX1NUUlVDVF9T T0NLQUREUl9TVE9SQUdFIDEKfCAjZGVmaW5lIEhBVkVfU1RSVUNUX1NPQ0tBRERSX1NUT1JBR0Vf U1NfRkFNSUxZIDEKfCAjZGVmaW5lIEhBVkVfU1RSVUNUX0FERFJJTkZPIDEKfCAjZGVmaW5lIEhB VkVfSU5UUFRSX1QgMQp8ICNkZWZpbmUgSEFWRV9VSU5UUFRSX1QgMQp8ICNkZWZpbmUgSEFWRV9V TlNJR05FRF9MT05HX0xPTkdfSU5UIDEKfCAjZGVmaW5lIEhBVkVfTE9OR19MT05HX0lOVCAxCnwg I2RlZmluZSByZXN0cmljdCBfX3Jlc3RyaWN0CnwgI2RlZmluZSBwZ19yZXN0cmljdCBfX3Jlc3Ry aWN0CnwgI2RlZmluZSBIQVZFX1NUUlVDVF9PUFRJT04gMQp8ICNkZWZpbmUgU0laRU9GX09GRl9U IDQKfCAjZGVmaW5lIFNJWkVPRl9CT09MIDEKfCAjZGVmaW5lIEhBVkVfSU5UX1RJTUVaT05FIDEK fCAjZGVmaW5lIEFDQ0VQVF9UWVBFX1JFVFVSTiBTT0NLRVQgV1NBQVBJCnwgI2RlZmluZSBBQ0NF UFRfVFlQRV9BUkcxIFNPQ0tFVAp8ICNkZWZpbmUgQUNDRVBUX1RZUEVfQVJHMiBzdHJ1Y3Qgc29j a2FkZHIgKgp8ICNkZWZpbmUgQUNDRVBUX1RZUEVfQVJHMyBpbnQKfCAjZGVmaW5lIEhBVkVfQ0JS VCAxCnwgI2RlZmluZSBIQVZFX0NMT0NLX0dFVFRJTUUgMQp8ICNkZWZpbmUgSEFWRV9NRU1NT1ZF IDEKfCAjZGVmaW5lIEhBVkVfVVRJTUUgMQp8ICNkZWZpbmUgSEFWRV9GU0VFS08gMQp8ICNkZWZp bmUgSEFWRV9GU0VFS08gMQp8ICNkZWZpbmUgSEFWRV9ERUNMX1BPU0lYX0ZBRFZJU0UgMAp8ICNk ZWZpbmUgSEFWRV9ERUNMX0ZEQVRBU1lOQyAwCnwgI2RlZmluZSBIQVZFX0RFQ0xfU1RSTENBVCAw CnwgI2RlZmluZSBIQVZFX0RFQ0xfU1RSTENQWSAwCnwgI2RlZmluZSBIQVZFX0RFQ0xfU1RSTkxF TiAxCnwgI2RlZmluZSBIQVZFX0RFQ0xfRl9GVUxMRlNZTkMgMAp8ICNkZWZpbmUgSEFWRV9JUFY2 IDEKfCAjZGVmaW5lIEhBVkVfREVDTF9TTlBSSU5URiAxCnwgI2RlZmluZSBIQVZFX0RFQ0xfVlNO UFJJTlRGIDEKfCAjZGVmaW5lIEhBVkVfSVNJTkYgMQp8ICNkZWZpbmUgSEFWRV9HRVRPUFQgMQp8 ICNkZWZpbmUgSEFWRV9SSU5UIDEKfCAjZGVmaW5lIEhBVkVfU1RSRVJST1IgMQp8ICNkZWZpbmUg SEFWRV9TVFJOTEVOIDEKfCAjZGVmaW5lIEhBVkVfVU5TRVRFTlYgMQp8ICNkZWZpbmUgSEFWRV9H RVRQRUVSRUlEIDEKfCAjZGVmaW5lIEhBVkVfR0VUT1BUX0xPTkcgMQp8ICNkZWZpbmUgSEFWRV9H RVRUSU1FT0ZEQVkgMQp8ICNkZWZpbmUgSEFWRV9TWU1MSU5LIDEKfCAjZGVmaW5lIEhBVkVfTUlO SURVTVBfVFlQRSAxCnwgI2RlZmluZSBIQVZFX0RFQ0xfU1lTX1NJR0xJU1QgMAp8IC8qIGVuZCBj b25mZGVmcy5oLiAgKi8KfCAvKiBEZWZpbmUgc3lzbG9nIHRvIGFuIGlubm9jdW91cyB2YXJpYW50 LCBpbiBjYXNlIDxsaW1pdHMuaD4gZGVjbGFyZXMgc3lzbG9nLgp8ICAgIEZvciBleGFtcGxlLCBI UC1VWCAxMWkgPGxpbWl0cy5oPiBkZWNsYXJlcyBnZXR0aW1lb2ZkYXkuICAqLwp8ICNkZWZpbmUg c3lzbG9nIGlubm9jdW91c19zeXNsb2cKfCAKfCAvKiBTeXN0ZW0gaGVhZGVyIHRvIGRlZmluZSBf X3N0dWIgbWFjcm9zIGFuZCBob3BlZnVsbHkgZmV3IHByb3RvdHlwZXMsCnwgICAgIHdoaWNoIGNh biBjb25mbGljdCB3aXRoIGNoYXIgc3lzbG9nICgpOyBiZWxvdy4KfCAgICAgUHJlZmVyIDxsaW1p dHMuaD4gdG8gPGFzc2VydC5oPiBpZiBfX1NURENfXyBpcyBkZWZpbmVkLCBzaW5jZQp8ICAgICA8 bGltaXRzLmg+IGV4aXN0cyBldmVuIG9uIGZyZWVzdGFuZGluZyBjb21waWxlcnMuICAqLwp8IAp8 ICNpZmRlZiBfX1NURENfXwp8ICMgaW5jbHVkZSA8bGltaXRzLmg+CnwgI2Vsc2UKfCAjIGluY2x1 ZGUgPGFzc2VydC5oPgp8ICNlbmRpZgp8IAp8ICN1bmRlZiBzeXNsb2cKfCAKfCAvKiBPdmVycmlk ZSBhbnkgR0NDIGludGVybmFsIHByb3RvdHlwZSB0byBhdm9pZCBhbiBlcnJvci4KfCAgICBVc2Ug Y2hhciBiZWNhdXNlIGludCBtaWdodCBtYXRjaCB0aGUgcmV0dXJuIHR5cGUgb2YgYSBHQ0MKfCAg ICBidWlsdGluIGFuZCB0aGVuIGl0cyBhcmd1bWVudCBwcm90b3R5cGUgd291bGQgc3RpbGwgYXBw bHkuICAqLwp8ICNpZmRlZiBfX2NwbHVzcGx1cwp8IGV4dGVybiAiQyIKfCAjZW5kaWYKfCBjaGFy IHN5c2xvZyAoKTsKfCAvKiBUaGUgR05VIEMgbGlicmFyeSBkZWZpbmVzIHRoaXMgZm9yIGZ1bmN0 aW9ucyB3aGljaCBpdCBpbXBsZW1lbnRzCnwgICAgIHRvIGFsd2F5cyBmYWlsIHdpdGggRU5PU1lT LiAgU29tZSBmdW5jdGlvbnMgYXJlIGFjdHVhbGx5IG5hbWVkCnwgICAgIHNvbWV0aGluZyBzdGFy dGluZyB3aXRoIF9fIGFuZCB0aGUgbm9ybWFsIG5hbWUgaXMgYW4gYWxpYXMuICAqLwp8ICNpZiBk ZWZpbmVkIF9fc3R1Yl9zeXNsb2cgfHwgZGVmaW5lZCBfX3N0dWJfX19zeXNsb2cKfCBjaG9rZSBt ZQp8ICNlbmRpZgp8IAp8IGludAp8IG1haW4gKCkKfCB7CnwgcmV0dXJuIHN5c2xvZyAoKTsKfCAg IDsKfCAgIHJldHVybiAwOwp8IH0KY29uZmlndXJlOjE1NzM4OiByZXN1bHQ6IG5vCmNvbmZpZ3Vy ZToxNTc1MTogY2hlY2tpbmcgZm9yIG9wdGVycgpjb25maWd1cmU6MTU3Njc6IHg4Nl82NC13NjQt bWluZ3czMi1nY2MgLW8gY29uZnRlc3QuZXhlIC1XYWxsIC1XbWlzc2luZy1wcm90b3R5cGVzIC1X cG9pbnRlci1hcml0aCAtV2RlY2xhcmF0aW9uLWFmdGVyLXN0YXRlbWVudCAtV2VuZGlmLWxhYmVs cyAtV21pc3NpbmctZm9ybWF0LWF0dHJpYnV0ZSAtV2Zvcm1hdC1zZWN1cml0eSAtZm5vLXN0cmlj dC1hbGlhc2luZyAtZndyYXB2IC1mZXhjZXNzLXByZWNpc2lvbj1zdGFuZGFyZCAtV25vLWZvcm1h dC10cnVuY2F0aW9uIC1Xbm8tc3RyaW5nb3AtdHJ1bmNhdGlvbiAtZyAtTyAtZm5vLW9taXQtZnJh bWUtcG9pbnRlciAgLUkvdy9SLTMuNS5fL3Bvc3RncmVzL3NyYy9pbmNsdWRlL3BvcnQvd2luMzIg LURFWEVDX0JBQ0tFTkQgIC1JL3cvemxpYi0xLjIuOC13aW4zMi14ODZfNjQvaW5jbHVkZSAtSS93 L29wZW5zc2wtMS4wLjJlLXdpbjMyLXg4Nl82NC9pbmNsdWRlIC1JL3cvbGlieG1sMi0yLjkuMy13 aW4zMi14ODZfNjQvaW5jbHVkZS9saWJ4bWwyIC1JL3cvbGlieHNsdC0xLjEuMjgtd2luMzIteDg2 XzY0L2luY2x1ZGUgIC1XbCwtLWFsbG93LW11bHRpcGxlLWRlZmluaXRpb24gLVdsLC0tZGlzYWJs ZS1hdXRvLWltcG9ydCAgLUwvdy96bGliLTEuMi44LXdpbjMyLXg4Nl82NC9saWIgLUwvdy9vcGVu c3NsLTEuMC4yZS13aW4zMi14ODZfNjQvbGliIC1ML3cvbGlieG1sMi0yLjkuMy13aW4zMi14ODZf NjQvbGliIC1ML3cvbGlieHNsdC0xLjEuMjgtd2luMzIteDg2XzY0L2xpYiBjb25mdGVzdC5jIC1s eHNsdCAtbHhtbDIgLWxzc2wgLWxjcnlwdG8gLWx6IC1sd3MyXzMyIC1sbSAgPiY1CmNvbmZpZ3Vy ZToxNTc2NzogJD8gPSAwCmNvbmZpZ3VyZToxNTc3NTogcmVzdWx0OiB5ZXMKY29uZmlndXJlOjE1 NzgzOiBjaGVja2luZyBmb3Igb3B0cmVzZXQKY29uZmlndXJlOjE1Nzk5OiB4ODZfNjQtdzY0LW1p bmd3MzItZ2NjIC1vIGNvbmZ0ZXN0LmV4ZSAtV2FsbCAtV21pc3NpbmctcHJvdG90eXBlcyAtV3Bv aW50ZXItYXJpdGggLVdkZWNsYXJhdGlvbi1hZnRlci1zdGF0ZW1lbnQgLVdlbmRpZi1sYWJlbHMg LVdtaXNzaW5nLWZvcm1hdC1hdHRyaWJ1dGUgLVdmb3JtYXQtc2VjdXJpdHkgLWZuby1zdHJpY3Qt YWxpYXNpbmcgLWZ3cmFwdiAtZmV4Y2Vzcy1wcmVjaXNpb249c3RhbmRhcmQgLVduby1mb3JtYXQt dHJ1bmNhdGlvbiAtV25vLXN0cmluZ29wLXRydW5jYXRpb24gLWcgLU8gLWZuby1vbWl0LWZyYW1l LXBvaW50ZXIgIC1JL3cvUi0zLjUuXy9wb3N0Z3Jlcy9zcmMvaW5jbHVkZS9wb3J0L3dpbjMyIC1E RVhFQ19CQUNLRU5EICAtSS93L3psaWItMS4yLjgtd2luMzIteDg2XzY0L2luY2x1ZGUgLUkvdy9v cGVuc3NsLTEuMC4yZS13aW4zMi14ODZfNjQvaW5jbHVkZSAtSS93L2xpYnhtbDItMi45LjMtd2lu MzIteDg2XzY0L2luY2x1ZGUvbGlieG1sMiAtSS93L2xpYnhzbHQtMS4xLjI4LXdpbjMyLXg4Nl82 NC9pbmNsdWRlICAtV2wsLS1hbGxvdy1tdWx0aXBsZS1kZWZpbml0aW9uIC1XbCwtLWRpc2FibGUt YXV0by1pbXBvcnQgIC1ML3cvemxpYi0xLjIuOC13aW4zMi14ODZfNjQvbGliIC1ML3cvb3BlbnNz bC0xLjAuMmUtd2luMzIteDg2XzY0L2xpYiAtTC93L2xpYnhtbDItMi45LjMtd2luMzIteDg2XzY0 L2xpYiAtTC93L2xpYnhzbHQtMS4xLjI4LXdpbjMyLXg4Nl82NC9saWIgY29uZnRlc3QuYyAtbHhz bHQgLWx4bWwyIC1sc3NsIC1sY3J5cHRvIC1seiAtbHdzMl8zMiAtbG0gID4mNQpDOi9tc3lzNjQv bWluZ3c2NC9iaW4vLi4vbGliL2djYy94ODZfNjQtdzY0LW1pbmd3MzIvOC4yLjAvLi4vLi4vLi4v Li4veDg2XzY0LXc2NC1taW5ndzMyL2Jpbi9sZC5leGU6IEM6XG1zeXM2NFx0bXBcY2NtQVB0emMu bzpjb25mdGVzdC5jOigucmRhdGEkLnJlZnB0ci5vcHRyZXNldFsucmVmcHRyLm9wdHJlc2V0XSsw eDApOiB1bmRlZmluZWQgcmVmZXJlbmNlIHRvIGBvcHRyZXNldCcNCmNvbGxlY3QyLmV4ZTogZXJy b3I6IGxkIHJldHVybmVkIDEgZXhpdCBzdGF0dXMKY29uZmlndXJlOjE1Nzk5OiAkPyA9IDEKY29u ZmlndXJlOiBmYWlsZWQgcHJvZ3JhbSB3YXM6CnwgLyogY29uZmRlZnMuaCAqLwp8ICNkZWZpbmUg UEFDS0FHRV9OQU1FICJQb3N0Z3JlU1FMIgp8ICNkZWZpbmUgUEFDS0FHRV9UQVJOQU1FICJwb3N0 Z3Jlc3FsIgp8ICNkZWZpbmUgUEFDS0FHRV9WRVJTSU9OICIxMWJldGEzIgp8ICNkZWZpbmUgUEFD S0FHRV9TVFJJTkcgIlBvc3RncmVTUUwgMTFiZXRhMyIKfCAjZGVmaW5lIFBBQ0tBR0VfQlVHUkVQ T1JUICJwZ3NxbC1idWdzQHBvc3RncmVzcWwub3JnIgp8ICNkZWZpbmUgUEFDS0FHRV9VUkwgIiIK fCAjZGVmaW5lIFBHX01BSk9SVkVSU0lPTiAiMTEiCnwgI2RlZmluZSBQR19WRVJTSU9OICIxMWJl dGEzIgp8ICNkZWZpbmUgREVGX1BHUE9SVCA1NDMyCnwgI2RlZmluZSBERUZfUEdQT1JUX1NUUiAi NTQzMiIKfCAjZGVmaW5lIEJMQ0tTWiA4MTkyCnwgI2RlZmluZSBSRUxTRUdfU0laRSAxMzEwNzIK fCAjZGVmaW5lIFhMT0dfQkxDS1NaIDgxOTIKfCAjZGVmaW5lIFVTRV9BU1NFUlRfQ0hFQ0tJTkcg MQp8ICNkZWZpbmUgRU5BQkxFX1RIUkVBRF9TQUZFVFkgMQp8ICNkZWZpbmUgVVNFX0lDVSAxCnwg I2RlZmluZSBQR19LUkJfU1JWTkFNICJwb3N0Z3JlcyIKfCAjZGVmaW5lIFVTRV9PUEVOU1NMIDEK fCAjZGVmaW5lIFVTRV9MSUJYTUwgMQp8ICNkZWZpbmUgVVNFX0xJQlhTTFQgMQp8ICNkZWZpbmUg U1REQ19IRUFERVJTIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1RZUEVTX0ggMQp8ICNkZWZpbmUgSEFW RV9TWVNfU1RBVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1RETElCX0ggMQp8ICNkZWZpbmUgSEFWRV9T VFJJTkdfSCAxCnwgI2RlZmluZSBIQVZFX01FTU9SWV9IIDEKfCAjZGVmaW5lIEhBVkVfU1RSSU5H U19IIDEKfCAjZGVmaW5lIEhBVkVfSU5UVFlQRVNfSCAxCnwgI2RlZmluZSBIQVZFX1NURElOVF9I IDEKfCAjZGVmaW5lIEhBVkVfVU5JU1REX0ggMQp8ICNkZWZpbmUgSEFWRV9MSUJNIDEKfCAjZGVm aW5lIEhBVkVfTElCWiAxCnwgI2RlZmluZSBIQVZFX1NQSU5MT0NLUyAxCnwgI2RlZmluZSBIQVZF X0FUT01JQ1MgMQp8ICNkZWZpbmUgSEFWRV9TU0xfR0VUX0NVUlJFTlRfQ09NUFJFU1NJT04gMQp8 ICNkZWZpbmUgSEFWRV9YNTA5X0dFVF9TSUdOQVRVUkVfTklEIDEKfCAjZGVmaW5lIEhBVkVfQ1JZ UFRPX0xPQ0sgMQp8ICNkZWZpbmUgSEFWRV9MSUJYTUwyIDEKfCAjZGVmaW5lIEhBVkVfTElCWFNM VCAxCnwgI2RlZmluZSBIQVZFX19CT09MIDEKfCAjZGVmaW5lIEhBVkVfU1REQk9PTF9IIDEKfCAj ZGVmaW5lIEhBVkVfR0VUT1BUX0ggMQp8ICNkZWZpbmUgSEFWRV9JRUVFRlBfSCAxCnwgI2RlZmlu ZSBIQVZFX1VUSU1FX0ggMQp8ICNkZWZpbmUgSEFWRV9XQ0hBUl9IIDEKfCAjZGVmaW5lIEhBVkVf V0NUWVBFX0ggMQp8ICNkZWZpbmUgSEFWRV9DUlRERUZTX0ggMQp8ICNkZWZpbmUgUEdfUFJJTlRG X0FUVFJJQlVURSBnbnVfcHJpbnRmCnwgI2RlZmluZSBGTEVYSUJMRV9BUlJBWV9NRU1CRVIgLyoq Lwp8ICNkZWZpbmUgSEFWRV9GVU5DTkFNRV9fRlVOQyAxCnwgI2RlZmluZSBIQVZFX19TVEFUSUNf QVNTRVJUIDEKfCAjZGVmaW5lIEhBVkVfVFlQRU9GIDEKfCAjZGVmaW5lIEhBVkVfX0JVSUxUSU5f VFlQRVNfQ09NUEFUSUJMRV9QIDEKfCAjZGVmaW5lIEhBVkVfX0JVSUxUSU5fQlNXQVAxNiAxCnwg I2RlZmluZSBIQVZFX19CVUlMVElOX0JTV0FQMzIgMQp8ICNkZWZpbmUgSEFWRV9fQlVJTFRJTl9C U1dBUDY0IDEKfCAjZGVmaW5lIEhBVkVfX0JVSUxUSU5fQ09OU1RBTlRfUCAxCnwgI2RlZmluZSBI QVZFX19CVUlMVElOX1VOUkVBQ0hBQkxFIDEKfCAjZGVmaW5lIEhBVkVfQ09NUFVURURfR09UTyAx CnwgI2RlZmluZSBIQVZFX19WQV9BUkdTIDEKfCAjZGVmaW5lIEhBVkVfVFpOQU1FIDEKfCAjZGVm aW5lIEhBVkVfU1RSVUNUX1NPQ0tBRERSX1NUT1JBR0UgMQp8ICNkZWZpbmUgSEFWRV9TVFJVQ1Rf U09DS0FERFJfU1RPUkFHRV9TU19GQU1JTFkgMQp8ICNkZWZpbmUgSEFWRV9TVFJVQ1RfQUREUklO Rk8gMQp8ICNkZWZpbmUgSEFWRV9JTlRQVFJfVCAxCnwgI2RlZmluZSBIQVZFX1VJTlRQVFJfVCAx CnwgI2RlZmluZSBIQVZFX1VOU0lHTkVEX0xPTkdfTE9OR19JTlQgMQp8ICNkZWZpbmUgSEFWRV9M T05HX0xPTkdfSU5UIDEKfCAjZGVmaW5lIHJlc3RyaWN0IF9fcmVzdHJpY3QKfCAjZGVmaW5lIHBn X3Jlc3RyaWN0IF9fcmVzdHJpY3QKfCAjZGVmaW5lIEhBVkVfU1RSVUNUX09QVElPTiAxCnwgI2Rl ZmluZSBTSVpFT0ZfT0ZGX1QgNAp8ICNkZWZpbmUgU0laRU9GX0JPT0wgMQp8ICNkZWZpbmUgSEFW RV9JTlRfVElNRVpPTkUgMQp8ICNkZWZpbmUgQUNDRVBUX1RZUEVfUkVUVVJOIFNPQ0tFVCBXU0FB UEkKfCAjZGVmaW5lIEFDQ0VQVF9UWVBFX0FSRzEgU09DS0VUCnwgI2RlZmluZSBBQ0NFUFRfVFlQ RV9BUkcyIHN0cnVjdCBzb2NrYWRkciAqCnwgI2RlZmluZSBBQ0NFUFRfVFlQRV9BUkczIGludAp8 ICNkZWZpbmUgSEFWRV9DQlJUIDEKfCAjZGVmaW5lIEhBVkVfQ0xPQ0tfR0VUVElNRSAxCnwgI2Rl ZmluZSBIQVZFX01FTU1PVkUgMQp8ICNkZWZpbmUgSEFWRV9VVElNRSAxCnwgI2RlZmluZSBIQVZF X0ZTRUVLTyAxCnwgI2RlZmluZSBIQVZFX0ZTRUVLTyAxCnwgI2RlZmluZSBIQVZFX0RFQ0xfUE9T SVhfRkFEVklTRSAwCnwgI2RlZmluZSBIQVZFX0RFQ0xfRkRBVEFTWU5DIDAKfCAjZGVmaW5lIEhB VkVfREVDTF9TVFJMQ0FUIDAKfCAjZGVmaW5lIEhBVkVfREVDTF9TVFJMQ1BZIDAKfCAjZGVmaW5l IEhBVkVfREVDTF9TVFJOTEVOIDEKfCAjZGVmaW5lIEhBVkVfREVDTF9GX0ZVTExGU1lOQyAwCnwg I2RlZmluZSBIQVZFX0lQVjYgMQp8ICNkZWZpbmUgSEFWRV9ERUNMX1NOUFJJTlRGIDEKfCAjZGVm aW5lIEhBVkVfREVDTF9WU05QUklOVEYgMQp8ICNkZWZpbmUgSEFWRV9JU0lORiAxCnwgI2RlZmlu ZSBIQVZFX0dFVE9QVCAxCnwgI2RlZmluZSBIQVZFX1JJTlQgMQp8ICNkZWZpbmUgSEFWRV9TVFJF UlJPUiAxCnwgI2RlZmluZSBIQVZFX1NUUk5MRU4gMQp8ICNkZWZpbmUgSEFWRV9VTlNFVEVOViAx CnwgI2RlZmluZSBIQVZFX0dFVFBFRVJFSUQgMQp8ICNkZWZpbmUgSEFWRV9HRVRPUFRfTE9ORyAx CnwgI2RlZmluZSBIQVZFX0dFVFRJTUVPRkRBWSAxCnwgI2RlZmluZSBIQVZFX1NZTUxJTksgMQp8 ICNkZWZpbmUgSEFWRV9NSU5JRFVNUF9UWVBFIDEKfCAjZGVmaW5lIEhBVkVfREVDTF9TWVNfU0lH TElTVCAwCnwgI2RlZmluZSBIQVZFX0lOVF9PUFRFUlIgMQp8IC8qIGVuZCBjb25mZGVmcy5oLiAg Ki8KfCAjaW5jbHVkZSA8dW5pc3RkLmg+CnwgaW50CnwgbWFpbiAoKQp8IHsKfCBleHRlcm4gaW50 IG9wdHJlc2V0OyBvcHRyZXNldCA9IDE7CnwgICA7CnwgICByZXR1cm4gMDsKfCB9CmNvbmZpZ3Vy ZToxNTgwNzogcmVzdWx0OiBubwpjb25maWd1cmU6MTU4MTg6IGNoZWNraW5nIGZvciBzdHJ0b2xs CmNvbmZpZ3VyZToxNTgxODogeDg2XzY0LXc2NC1taW5ndzMyLWdjYyAtbyBjb25mdGVzdC5leGUg LVdhbGwgLVdtaXNzaW5nLXByb3RvdHlwZXMgLVdwb2ludGVyLWFyaXRoIC1XZGVjbGFyYXRpb24t YWZ0ZXItc3RhdGVtZW50IC1XZW5kaWYtbGFiZWxzIC1XbWlzc2luZy1mb3JtYXQtYXR0cmlidXRl IC1XZm9ybWF0LXNlY3VyaXR5IC1mbm8tc3RyaWN0LWFsaWFzaW5nIC1md3JhcHYgLWZleGNlc3Mt cHJlY2lzaW9uPXN0YW5kYXJkIC1Xbm8tZm9ybWF0LXRydW5jYXRpb24gLVduby1zdHJpbmdvcC10 cnVuY2F0aW9uIC1nIC1PIC1mbm8tb21pdC1mcmFtZS1wb2ludGVyICAtSS93L1ItMy41Ll8vcG9z dGdyZXMvc3JjL2luY2x1ZGUvcG9ydC93aW4zMiAtREVYRUNfQkFDS0VORCAgLUkvdy96bGliLTEu Mi44LXdpbjMyLXg4Nl82NC9pbmNsdWRlIC1JL3cvb3BlbnNzbC0xLjAuMmUtd2luMzIteDg2XzY0 L2luY2x1ZGUgLUkvdy9saWJ4bWwyLTIuOS4zLXdpbjMyLXg4Nl82NC9pbmNsdWRlL2xpYnhtbDIg LUkvdy9saWJ4c2x0LTEuMS4yOC13aW4zMi14ODZfNjQvaW5jbHVkZSAgLVdsLC0tYWxsb3ctbXVs dGlwbGUtZGVmaW5pdGlvbiAtV2wsLS1kaXNhYmxlLWF1dG8taW1wb3J0ICAtTC93L3psaWItMS4y Ljgtd2luMzIteDg2XzY0L2xpYiAtTC93L29wZW5zc2wtMS4wLjJlLXdpbjMyLXg4Nl82NC9saWIg LUwvdy9saWJ4bWwyLTIuOS4zLXdpbjMyLXg4Nl82NC9saWIgLUwvdy9saWJ4c2x0LTEuMS4yOC13 aW4zMi14ODZfNjQvbGliIGNvbmZ0ZXN0LmMgLWx4c2x0IC1seG1sMiAtbHNzbCAtbGNyeXB0byAt bHogLWx3czJfMzIgLWxtICA+JjUKY29uZmlndXJlOjE1ODE4OiAkPyA9IDAKY29uZmlndXJlOjE1 ODE4OiByZXN1bHQ6IHllcwpjb25maWd1cmU6MTU4MzA6IGNoZWNraW5nIGZvciBzdHJ0b3VsbApj b25maWd1cmU6MTU4MzA6IHg4Nl82NC13NjQtbWluZ3czMi1nY2MgLW8gY29uZnRlc3QuZXhlIC1X YWxsIC1XbWlzc2luZy1wcm90b3R5cGVzIC1XcG9pbnRlci1hcml0aCAtV2RlY2xhcmF0aW9uLWFm dGVyLXN0YXRlbWVudCAtV2VuZGlmLWxhYmVscyAtV21pc3NpbmctZm9ybWF0LWF0dHJpYnV0ZSAt V2Zvcm1hdC1zZWN1cml0eSAtZm5vLXN0cmljdC1hbGlhc2luZyAtZndyYXB2IC1mZXhjZXNzLXBy ZWNpc2lvbj1zdGFuZGFyZCAtV25vLWZvcm1hdC10cnVuY2F0aW9uIC1Xbm8tc3RyaW5nb3AtdHJ1 bmNhdGlvbiAtZyAtTyAtZm5vLW9taXQtZnJhbWUtcG9pbnRlciAgLUkvdy9SLTMuNS5fL3Bvc3Rn cmVzL3NyYy9pbmNsdWRlL3BvcnQvd2luMzIgLURFWEVDX0JBQ0tFTkQgIC1JL3cvemxpYi0xLjIu OC13aW4zMi14ODZfNjQvaW5jbHVkZSAtSS93L29wZW5zc2wtMS4wLjJlLXdpbjMyLXg4Nl82NC9p bmNsdWRlIC1JL3cvbGlieG1sMi0yLjkuMy13aW4zMi14ODZfNjQvaW5jbHVkZS9saWJ4bWwyIC1J L3cvbGlieHNsdC0xLjEuMjgtd2luMzIteDg2XzY0L2luY2x1ZGUgIC1XbCwtLWFsbG93LW11bHRp cGxlLWRlZmluaXRpb24gLVdsLC0tZGlzYWJsZS1hdXRvLWltcG9ydCAgLUwvdy96bGliLTEuMi44 LXdpbjMyLXg4Nl82NC9saWIgLUwvdy9vcGVuc3NsLTEuMC4yZS13aW4zMi14ODZfNjQvbGliIC1M L3cvbGlieG1sMi0yLjkuMy13aW4zMi14ODZfNjQvbGliIC1ML3cvbGlieHNsdC0xLjEuMjgtd2lu MzIteDg2XzY0L2xpYiBjb25mdGVzdC5jIC1seHNsdCAtbHhtbDIgLWxzc2wgLWxjcnlwdG8gLWx6 IC1sd3MyXzMyIC1sbSAgPiY1CmNvbmZpZ3VyZToxNTgzMDogJD8gPSAwCmNvbmZpZ3VyZToxNTgz MDogcmVzdWx0OiB5ZXMKY29uZmlndXJlOjE1ODQwOiBjaGVja2luZyB3aGV0aGVyIHN0cnRvbGwg aXMgZGVjbGFyZWQKY29uZmlndXJlOjE1ODQwOiB4ODZfNjQtdzY0LW1pbmd3MzItZ2NjIC1jIC1X YWxsIC1XbWlzc2luZy1wcm90b3R5cGVzIC1XcG9pbnRlci1hcml0aCAtV2RlY2xhcmF0aW9uLWFm dGVyLXN0YXRlbWVudCAtV2VuZGlmLWxhYmVscyAtV21pc3NpbmctZm9ybWF0LWF0dHJpYnV0ZSAt V2Zvcm1hdC1zZWN1cml0eSAtZm5vLXN0cmljdC1hbGlhc2luZyAtZndyYXB2IC1mZXhjZXNzLXBy ZWNpc2lvbj1zdGFuZGFyZCAtV25vLWZvcm1hdC10cnVuY2F0aW9uIC1Xbm8tc3RyaW5nb3AtdHJ1 bmNhdGlvbiAtZyAtTyAtZm5vLW9taXQtZnJhbWUtcG9pbnRlciAgLUkvdy9SLTMuNS5fL3Bvc3Rn cmVzL3NyYy9pbmNsdWRlL3BvcnQvd2luMzIgLURFWEVDX0JBQ0tFTkQgIC1JL3cvemxpYi0xLjIu OC13aW4zMi14ODZfNjQvaW5jbHVkZSAtSS93L29wZW5zc2wtMS4wLjJlLXdpbjMyLXg4Nl82NC9p bmNsdWRlIC1JL3cvbGlieG1sMi0yLjkuMy13aW4zMi14ODZfNjQvaW5jbHVkZS9saWJ4bWwyIC1J L3cvbGlieHNsdC0xLjEuMjgtd2luMzIteDg2XzY0L2luY2x1ZGUgY29uZnRlc3QuYyA+JjUKY29u ZmlndXJlOjE1ODQwOiAkPyA9IDAKY29uZmlndXJlOjE1ODQwOiByZXN1bHQ6IHllcwpjb25maWd1 cmU6MTU4NTA6IGNoZWNraW5nIHdoZXRoZXIgc3RydG91bGwgaXMgZGVjbGFyZWQKY29uZmlndXJl OjE1ODUwOiB4ODZfNjQtdzY0LW1pbmd3MzItZ2NjIC1jIC1XYWxsIC1XbWlzc2luZy1wcm90b3R5 cGVzIC1XcG9pbnRlci1hcml0aCAtV2RlY2xhcmF0aW9uLWFmdGVyLXN0YXRlbWVudCAtV2VuZGlm LWxhYmVscyAtV21pc3NpbmctZm9ybWF0LWF0dHJpYnV0ZSAtV2Zvcm1hdC1zZWN1cml0eSAtZm5v LXN0cmljdC1hbGlhc2luZyAtZndyYXB2IC1mZXhjZXNzLXByZWNpc2lvbj1zdGFuZGFyZCAtV25v LWZvcm1hdC10cnVuY2F0aW9uIC1Xbm8tc3RyaW5nb3AtdHJ1bmNhdGlvbiAtZyAtTyAtZm5vLW9t aXQtZnJhbWUtcG9pbnRlciAgLUkvdy9SLTMuNS5fL3Bvc3RncmVzL3NyYy9pbmNsdWRlL3BvcnQv d2luMzIgLURFWEVDX0JBQ0tFTkQgIC1JL3cvemxpYi0xLjIuOC13aW4zMi14ODZfNjQvaW5jbHVk ZSAtSS93L29wZW5zc2wtMS4wLjJlLXdpbjMyLXg4Nl82NC9pbmNsdWRlIC1JL3cvbGlieG1sMi0y LjkuMy13aW4zMi14ODZfNjQvaW5jbHVkZS9saWJ4bWwyIC1JL3cvbGlieHNsdC0xLjEuMjgtd2lu MzIteDg2XzY0L2luY2x1ZGUgY29uZnRlc3QuYyA+JjUKY29uZmlndXJlOjE1ODUwOiAkPyA9IDAK Y29uZmlndXJlOjE1ODUwOiByZXN1bHQ6IHllcwpjb25maWd1cmU6MTU4Njc6IGNoZWNraW5nIHVu aWNvZGUvdWNvbC5oIHVzYWJpbGl0eQpjb25maWd1cmU6MTU4Njc6IHg4Nl82NC13NjQtbWluZ3cz Mi1nY2MgLWMgLVdhbGwgLVdtaXNzaW5nLXByb3RvdHlwZXMgLVdwb2ludGVyLWFyaXRoIC1XZGVj bGFyYXRpb24tYWZ0ZXItc3RhdGVtZW50IC1XZW5kaWYtbGFiZWxzIC1XbWlzc2luZy1mb3JtYXQt YXR0cmlidXRlIC1XZm9ybWF0LXNlY3VyaXR5IC1mbm8tc3RyaWN0LWFsaWFzaW5nIC1md3JhcHYg LWZleGNlc3MtcHJlY2lzaW9uPXN0YW5kYXJkIC1Xbm8tZm9ybWF0LXRydW5jYXRpb24gLVduby1z dHJpbmdvcC10cnVuY2F0aW9uIC1nIC1PIC1mbm8tb21pdC1mcmFtZS1wb2ludGVyIC1JL3cvaWN1 LTYxLjEvaWN1NGMvZGlzdC9pbmNsdWRlICAtSS93L1ItMy41Ll8vcG9zdGdyZXMvc3JjL2luY2x1 ZGUvcG9ydC93aW4zMiAtREVYRUNfQkFDS0VORCAgLUkvdy96bGliLTEuMi44LXdpbjMyLXg4Nl82 NC9pbmNsdWRlIC1JL3cvb3BlbnNzbC0xLjAuMmUtd2luMzIteDg2XzY0L2luY2x1ZGUgLUkvdy9s aWJ4bWwyLTIuOS4zLXdpbjMyLXg4Nl82NC9pbmNsdWRlL2xpYnhtbDIgLUkvdy9saWJ4c2x0LTEu MS4yOC13aW4zMi14ODZfNjQvaW5jbHVkZSBjb25mdGVzdC5jID4mNQpjb25maWd1cmU6MTU4Njc6 ICQ/ID0gMApjb25maWd1cmU6MTU4Njc6IHJlc3VsdDogeWVzCmNvbmZpZ3VyZToxNTg2NzogY2hl Y2tpbmcgdW5pY29kZS91Y29sLmggcHJlc2VuY2UKY29uZmlndXJlOjE1ODY3OiB4ODZfNjQtdzY0 LW1pbmd3MzItZ2NjIC1FIC1JL3cvaWN1LTYxLjEvaWN1NGMvZGlzdC9pbmNsdWRlICAtSS93L1It My41Ll8vcG9zdGdyZXMvc3JjL2luY2x1ZGUvcG9ydC93aW4zMiAtREVYRUNfQkFDS0VORCAgLUkv dy96bGliLTEuMi44LXdpbjMyLXg4Nl82NC9pbmNsdWRlIC1JL3cvb3BlbnNzbC0xLjAuMmUtd2lu MzIteDg2XzY0L2luY2x1ZGUgLUkvdy9saWJ4bWwyLTIuOS4zLXdpbjMyLXg4Nl82NC9pbmNsdWRl L2xpYnhtbDIgLUkvdy9saWJ4c2x0LTEuMS4yOC13aW4zMi14ODZfNjQvaW5jbHVkZSBjb25mdGVz dC5jCmNvbmZpZ3VyZToxNTg2NzogJD8gPSAwCmNvbmZpZ3VyZToxNTg2NzogcmVzdWx0OiB5ZXMK Y29uZmlndXJlOjE1ODY3OiBjaGVja2luZyBmb3IgdW5pY29kZS91Y29sLmgKY29uZmlndXJlOjE1 ODY3OiByZXN1bHQ6IHllcwpjb25maWd1cmU6MTU5NTE6IGNoZWNraW5nIHRlc3QgcHJvZ3JhbQpj b25maWd1cmU6MTU5NjE6IHg4Nl82NC13NjQtbWluZ3czMi1nY2MgLW8gY29uZnRlc3QuZXhlIC1X YWxsIC1XbWlzc2luZy1wcm90b3R5cGVzIC1XcG9pbnRlci1hcml0aCAtV2RlY2xhcmF0aW9uLWFm dGVyLXN0YXRlbWVudCAtV2VuZGlmLWxhYmVscyAtV21pc3NpbmctZm9ybWF0LWF0dHJpYnV0ZSAt V2Zvcm1hdC1zZWN1cml0eSAtZm5vLXN0cmljdC1hbGlhc2luZyAtZndyYXB2IC1mZXhjZXNzLXBy ZWNpc2lvbj1zdGFuZGFyZCAtV25vLWZvcm1hdC10cnVuY2F0aW9uIC1Xbm8tc3RyaW5nb3AtdHJ1 bmNhdGlvbiAtZyAtTyAtZm5vLW9taXQtZnJhbWUtcG9pbnRlciAgLUkvdy9SLTMuNS5fL3Bvc3Rn cmVzL3NyYy9pbmNsdWRlL3BvcnQvd2luMzIgLURFWEVDX0JBQ0tFTkQgIC1JL3cvemxpYi0xLjIu OC13aW4zMi14ODZfNjQvaW5jbHVkZSAtSS93L29wZW5zc2wtMS4wLjJlLXdpbjMyLXg4Nl82NC9p bmNsdWRlIC1JL3cvbGlieG1sMi0yLjkuMy13aW4zMi14ODZfNjQvaW5jbHVkZS9saWJ4bWwyIC1J L3cvbGlieHNsdC0xLjEuMjgtd2luMzIteDg2XzY0L2luY2x1ZGUgIC1XbCwtLWFsbG93LW11bHRp cGxlLWRlZmluaXRpb24gLVdsLC0tZGlzYWJsZS1hdXRvLWltcG9ydCAgLUwvdy96bGliLTEuMi44 LXdpbjMyLXg4Nl82NC9saWIgLUwvdy9vcGVuc3NsLTEuMC4yZS13aW4zMi14ODZfNjQvbGliIC1M L3cvbGlieG1sMi0yLjkuMy13aW4zMi14ODZfNjQvbGliIC1ML3cvbGlieHNsdC0xLjEuMjgtd2lu MzIteDg2XzY0L2xpYiBjb25mdGVzdC5jIC1seHNsdCAtbHhtbDIgLWxzc2wgLWxjcnlwdG8gLWx6 IC1sd3MyXzMyIC1sbSAgPiY1CmNvbmZpZ3VyZToxNTk2MTogJD8gPSAwCmNvbmZpZ3VyZToxNTk2 MTogLi9jb25mdGVzdC5leGUKY29uZmlndXJlOjE1OTYxOiAkPyA9IDAKY29uZmlndXJlOjE1OTYy OiByZXN1bHQ6IG9rCmNvbmZpZ3VyZToxNjAyOTogY2hlY2tpbmcgd2hldGhlciBsb25nIGludCBp cyA2NCBiaXRzCmNvbmZpZ3VyZToxNjA4OTogeDg2XzY0LXc2NC1taW5ndzMyLWdjYyAtbyBjb25m dGVzdC5leGUgLVdhbGwgLVdtaXNzaW5nLXByb3RvdHlwZXMgLVdwb2ludGVyLWFyaXRoIC1XZGVj bGFyYXRpb24tYWZ0ZXItc3RhdGVtZW50IC1XZW5kaWYtbGFiZWxzIC1XbWlzc2luZy1mb3JtYXQt YXR0cmlidXRlIC1XZm9ybWF0LXNlY3VyaXR5IC1mbm8tc3RyaWN0LWFsaWFzaW5nIC1md3JhcHYg LWZleGNlc3MtcHJlY2lzaW9uPXN0YW5kYXJkIC1Xbm8tZm9ybWF0LXRydW5jYXRpb24gLVduby1z dHJpbmdvcC10cnVuY2F0aW9uIC1nIC1PIC1mbm8tb21pdC1mcmFtZS1wb2ludGVyICAtSS93L1It My41Ll8vcG9zdGdyZXMvc3JjL2luY2x1ZGUvcG9ydC93aW4zMiAtREVYRUNfQkFDS0VORCAgLUkv dy96bGliLTEuMi44LXdpbjMyLXg4Nl82NC9pbmNsdWRlIC1JL3cvb3BlbnNzbC0xLjAuMmUtd2lu MzIteDg2XzY0L2luY2x1ZGUgLUkvdy9saWJ4bWwyLTIuOS4zLXdpbjMyLXg4Nl82NC9pbmNsdWRl L2xpYnhtbDIgLUkvdy9saWJ4c2x0LTEuMS4yOC13aW4zMi14ODZfNjQvaW5jbHVkZSAgLVdsLC0t YWxsb3ctbXVsdGlwbGUtZGVmaW5pdGlvbiAtV2wsLS1kaXNhYmxlLWF1dG8taW1wb3J0ICAtTC93 L3psaWItMS4yLjgtd2luMzIteDg2XzY0L2xpYiAtTC93L29wZW5zc2wtMS4wLjJlLXdpbjMyLXg4 Nl82NC9saWIgLUwvdy9saWJ4bWwyLTIuOS4zLXdpbjMyLXg4Nl82NC9saWIgLUwvdy9saWJ4c2x0 LTEuMS4yOC13aW4zMi14ODZfNjQvbGliIGNvbmZ0ZXN0LmMgLWx4c2x0IC1seG1sMiAtbHNzbCAt bGNyeXB0byAtbHogLWx3czJfMzIgLWxtICA+JjUKY29uZnRlc3QuYzoxMjI6NTogd2FybmluZzog bm8gcHJldmlvdXMgcHJvdG90eXBlIGZvciAnZG9lc19pbnQ2NF93b3JrJyBbLVdtaXNzaW5nLXBy b3RvdHlwZXNdCiBpbnQgZG9lc19pbnQ2NF93b3JrKCkKICAgICBefn5+fn5+fn5+fn5+fn4KY29u ZmlndXJlOjE2MDg5OiAkPyA9IDAKY29uZmlndXJlOjE2MDg5OiAuL2NvbmZ0ZXN0LmV4ZQpjb25m aWd1cmU6MTYwODk6ICQ/ID0gMQpjb25maWd1cmU6IHByb2dyYW0gZXhpdGVkIHdpdGggc3RhdHVz IDEKY29uZmlndXJlOiBmYWlsZWQgcHJvZ3JhbSB3YXM6CnwgLyogY29uZmRlZnMuaCAqLwp8ICNk ZWZpbmUgUEFDS0FHRV9OQU1FICJQb3N0Z3JlU1FMIgp8ICNkZWZpbmUgUEFDS0FHRV9UQVJOQU1F ICJwb3N0Z3Jlc3FsIgp8ICNkZWZpbmUgUEFDS0FHRV9WRVJTSU9OICIxMWJldGEzIgp8ICNkZWZp bmUgUEFDS0FHRV9TVFJJTkcgIlBvc3RncmVTUUwgMTFiZXRhMyIKfCAjZGVmaW5lIFBBQ0tBR0Vf QlVHUkVQT1JUICJwZ3NxbC1idWdzQHBvc3RncmVzcWwub3JnIgp8ICNkZWZpbmUgUEFDS0FHRV9V UkwgIiIKfCAjZGVmaW5lIFBHX01BSk9SVkVSU0lPTiAiMTEiCnwgI2RlZmluZSBQR19WRVJTSU9O ICIxMWJldGEzIgp8ICNkZWZpbmUgREVGX1BHUE9SVCA1NDMyCnwgI2RlZmluZSBERUZfUEdQT1JU X1NUUiAiNTQzMiIKfCAjZGVmaW5lIEJMQ0tTWiA4MTkyCnwgI2RlZmluZSBSRUxTRUdfU0laRSAx MzEwNzIKfCAjZGVmaW5lIFhMT0dfQkxDS1NaIDgxOTIKfCAjZGVmaW5lIFVTRV9BU1NFUlRfQ0hF Q0tJTkcgMQp8ICNkZWZpbmUgRU5BQkxFX1RIUkVBRF9TQUZFVFkgMQp8ICNkZWZpbmUgVVNFX0lD VSAxCnwgI2RlZmluZSBQR19LUkJfU1JWTkFNICJwb3N0Z3JlcyIKfCAjZGVmaW5lIFVTRV9PUEVO U1NMIDEKfCAjZGVmaW5lIFVTRV9MSUJYTUwgMQp8ICNkZWZpbmUgVVNFX0xJQlhTTFQgMQp8ICNk ZWZpbmUgU1REQ19IRUFERVJTIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1RZUEVTX0ggMQp8ICNkZWZp bmUgSEFWRV9TWVNfU1RBVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1RETElCX0ggMQp8ICNkZWZpbmUg SEFWRV9TVFJJTkdfSCAxCnwgI2RlZmluZSBIQVZFX01FTU9SWV9IIDEKfCAjZGVmaW5lIEhBVkVf U1RSSU5HU19IIDEKfCAjZGVmaW5lIEhBVkVfSU5UVFlQRVNfSCAxCnwgI2RlZmluZSBIQVZFX1NU RElOVF9IIDEKfCAjZGVmaW5lIEhBVkVfVU5JU1REX0ggMQp8ICNkZWZpbmUgSEFWRV9MSUJNIDEK fCAjZGVmaW5lIEhBVkVfTElCWiAxCnwgI2RlZmluZSBIQVZFX1NQSU5MT0NLUyAxCnwgI2RlZmlu ZSBIQVZFX0FUT01JQ1MgMQp8ICNkZWZpbmUgSEFWRV9TU0xfR0VUX0NVUlJFTlRfQ09NUFJFU1NJ T04gMQp8ICNkZWZpbmUgSEFWRV9YNTA5X0dFVF9TSUdOQVRVUkVfTklEIDEKfCAjZGVmaW5lIEhB VkVfQ1JZUFRPX0xPQ0sgMQp8ICNkZWZpbmUgSEFWRV9MSUJYTUwyIDEKfCAjZGVmaW5lIEhBVkVf TElCWFNMVCAxCnwgI2RlZmluZSBIQVZFX19CT09MIDEKfCAjZGVmaW5lIEhBVkVfU1REQk9PTF9I IDEKfCAjZGVmaW5lIEhBVkVfR0VUT1BUX0ggMQp8ICNkZWZpbmUgSEFWRV9JRUVFRlBfSCAxCnwg I2RlZmluZSBIQVZFX1VUSU1FX0ggMQp8ICNkZWZpbmUgSEFWRV9XQ0hBUl9IIDEKfCAjZGVmaW5l IEhBVkVfV0NUWVBFX0ggMQp8ICNkZWZpbmUgSEFWRV9DUlRERUZTX0ggMQp8ICNkZWZpbmUgUEdf UFJJTlRGX0FUVFJJQlVURSBnbnVfcHJpbnRmCnwgI2RlZmluZSBGTEVYSUJMRV9BUlJBWV9NRU1C RVIgLyoqLwp8ICNkZWZpbmUgSEFWRV9GVU5DTkFNRV9fRlVOQyAxCnwgI2RlZmluZSBIQVZFX19T VEFUSUNfQVNTRVJUIDEKfCAjZGVmaW5lIEhBVkVfVFlQRU9GIDEKfCAjZGVmaW5lIEhBVkVfX0JV SUxUSU5fVFlQRVNfQ09NUEFUSUJMRV9QIDEKfCAjZGVmaW5lIEhBVkVfX0JVSUxUSU5fQlNXQVAx NiAxCnwgI2RlZmluZSBIQVZFX19CVUlMVElOX0JTV0FQMzIgMQp8ICNkZWZpbmUgSEFWRV9fQlVJ TFRJTl9CU1dBUDY0IDEKfCAjZGVmaW5lIEhBVkVfX0JVSUxUSU5fQ09OU1RBTlRfUCAxCnwgI2Rl ZmluZSBIQVZFX19CVUlMVElOX1VOUkVBQ0hBQkxFIDEKfCAjZGVmaW5lIEhBVkVfQ09NUFVURURf R09UTyAxCnwgI2RlZmluZSBIQVZFX19WQV9BUkdTIDEKfCAjZGVmaW5lIEhBVkVfVFpOQU1FIDEK fCAjZGVmaW5lIEhBVkVfU1RSVUNUX1NPQ0tBRERSX1NUT1JBR0UgMQp8ICNkZWZpbmUgSEFWRV9T VFJVQ1RfU09DS0FERFJfU1RPUkFHRV9TU19GQU1JTFkgMQp8ICNkZWZpbmUgSEFWRV9TVFJVQ1Rf QUREUklORk8gMQp8ICNkZWZpbmUgSEFWRV9JTlRQVFJfVCAxCnwgI2RlZmluZSBIQVZFX1VJTlRQ VFJfVCAxCnwgI2RlZmluZSBIQVZFX1VOU0lHTkVEX0xPTkdfTE9OR19JTlQgMQp8ICNkZWZpbmUg SEFWRV9MT05HX0xPTkdfSU5UIDEKfCAjZGVmaW5lIHJlc3RyaWN0IF9fcmVzdHJpY3QKfCAjZGVm aW5lIHBnX3Jlc3RyaWN0IF9fcmVzdHJpY3QKfCAjZGVmaW5lIEhBVkVfU1RSVUNUX09QVElPTiAx CnwgI2RlZmluZSBTSVpFT0ZfT0ZGX1QgNAp8ICNkZWZpbmUgU0laRU9GX0JPT0wgMQp8ICNkZWZp bmUgSEFWRV9JTlRfVElNRVpPTkUgMQp8ICNkZWZpbmUgQUNDRVBUX1RZUEVfUkVUVVJOIFNPQ0tF VCBXU0FBUEkKfCAjZGVmaW5lIEFDQ0VQVF9UWVBFX0FSRzEgU09DS0VUCnwgI2RlZmluZSBBQ0NF UFRfVFlQRV9BUkcyIHN0cnVjdCBzb2NrYWRkciAqCnwgI2RlZmluZSBBQ0NFUFRfVFlQRV9BUkcz IGludAp8ICNkZWZpbmUgSEFWRV9DQlJUIDEKfCAjZGVmaW5lIEhBVkVfQ0xPQ0tfR0VUVElNRSAx CnwgI2RlZmluZSBIQVZFX01FTU1PVkUgMQp8ICNkZWZpbmUgSEFWRV9VVElNRSAxCnwgI2RlZmlu ZSBIQVZFX0ZTRUVLTyAxCnwgI2RlZmluZSBIQVZFX0ZTRUVLTyAxCnwgI2RlZmluZSBIQVZFX0RF Q0xfUE9TSVhfRkFEVklTRSAwCnwgI2RlZmluZSBIQVZFX0RFQ0xfRkRBVEFTWU5DIDAKfCAjZGVm aW5lIEhBVkVfREVDTF9TVFJMQ0FUIDAKfCAjZGVmaW5lIEhBVkVfREVDTF9TVFJMQ1BZIDAKfCAj ZGVmaW5lIEhBVkVfREVDTF9TVFJOTEVOIDEKfCAjZGVmaW5lIEhBVkVfREVDTF9GX0ZVTExGU1lO QyAwCnwgI2RlZmluZSBIQVZFX0lQVjYgMQp8ICNkZWZpbmUgSEFWRV9ERUNMX1NOUFJJTlRGIDEK fCAjZGVmaW5lIEhBVkVfREVDTF9WU05QUklOVEYgMQp8ICNkZWZpbmUgSEFWRV9JU0lORiAxCnwg I2RlZmluZSBIQVZFX0dFVE9QVCAxCnwgI2RlZmluZSBIQVZFX1JJTlQgMQp8ICNkZWZpbmUgSEFW RV9TVFJFUlJPUiAxCnwgI2RlZmluZSBIQVZFX1NUUk5MRU4gMQp8ICNkZWZpbmUgSEFWRV9VTlNF VEVOViAxCnwgI2RlZmluZSBIQVZFX0dFVFBFRVJFSUQgMQp8ICNkZWZpbmUgSEFWRV9HRVRPUFRf TE9ORyAxCnwgI2RlZmluZSBIQVZFX0dFVFRJTUVPRkRBWSAxCnwgI2RlZmluZSBIQVZFX1NZTUxJ TksgMQp8ICNkZWZpbmUgSEFWRV9NSU5JRFVNUF9UWVBFIDEKfCAjZGVmaW5lIEhBVkVfREVDTF9T WVNfU0lHTElTVCAwCnwgI2RlZmluZSBIQVZFX0lOVF9PUFRFUlIgMQp8ICNkZWZpbmUgSEFWRV9T VFJUT0xMIDEKfCAjZGVmaW5lIEhBVkVfU1RSVE9VTEwgMQp8ICNkZWZpbmUgSEFWRV9ERUNMX1NU UlRPTEwgMQp8ICNkZWZpbmUgSEFWRV9ERUNMX1NUUlRPVUxMIDEKfCAvKiBlbmQgY29uZmRlZnMu aC4gICovCnwgdHlwZWRlZiBsb25nIGludCBhY19pbnQ2NDsKfCAKfCAvKgp8ICAqIFRoZXNlIGFy ZSBnbG9iYWxzIHRvIGRpc2NvdXJhZ2UgdGhlIGNvbXBpbGVyIGZyb20gZm9sZGluZyBhbGwgdGhl CnwgICogYXJpdGhtZXRpYyB0ZXN0cyBkb3duIHRvIGNvbXBpbGUtdGltZSBjb25zdGFudHMuCnwg ICovCnwgYWNfaW50NjQgYSA9IDIwMDAwMDAxOwp8IGFjX2ludDY0IGIgPSA0MDAwMDAwNTsKfCAK fCBpbnQgZG9lc19pbnQ2NF93b3JrKCkKfCB7CnwgICBhY19pbnQ2NCBjLGQ7CnwgCnwgICBpZiAo c2l6ZW9mKGFjX2ludDY0KSAhPSA4KQp8ICAgICByZXR1cm4gMDsJCQkvKiBkZWZpbml0ZWx5IG5v dCB0aGUgcmlnaHQgc2l6ZSAqLwp8IAp8ICAgLyogRG8gcGVyZnVuY3RvcnkgY2hlY2tzIHRvIHNl ZSBpZiA2NC1iaXQgYXJpdGhtZXRpYyBzZWVtcyB0byB3b3JrICovCnwgICBjID0gYSAqIGI7Cnwg ICBkID0gKGMgKyBiKSAvIGI7CnwgICBpZiAoZCAhPSBhKzEpCnwgICAgIHJldHVybiAwOwp8ICAg cmV0dXJuIDE7CnwgfQp8IAp8IGludAp8IG1haW4oKSB7CnwgICByZXR1cm4gKCEgZG9lc19pbnQ2 NF93b3JrKCkpOwp8IH0KY29uZmlndXJlOjE2MDk5OiByZXN1bHQ6IG5vCmNvbmZpZ3VyZToxNjEx MzogY2hlY2tpbmcgd2hldGhlciBsb25nIGxvbmcgaW50IGlzIDY0IGJpdHMKY29uZmlndXJlOjE2 MTczOiB4ODZfNjQtdzY0LW1pbmd3MzItZ2NjIC1vIGNvbmZ0ZXN0LmV4ZSAtV2FsbCAtV21pc3Np bmctcHJvdG90eXBlcyAtV3BvaW50ZXItYXJpdGggLVdkZWNsYXJhdGlvbi1hZnRlci1zdGF0ZW1l bnQgLVdlbmRpZi1sYWJlbHMgLVdtaXNzaW5nLWZvcm1hdC1hdHRyaWJ1dGUgLVdmb3JtYXQtc2Vj dXJpdHkgLWZuby1zdHJpY3QtYWxpYXNpbmcgLWZ3cmFwdiAtZmV4Y2Vzcy1wcmVjaXNpb249c3Rh bmRhcmQgLVduby1mb3JtYXQtdHJ1bmNhdGlvbiAtV25vLXN0cmluZ29wLXRydW5jYXRpb24gLWcg LU8gLWZuby1vbWl0LWZyYW1lLXBvaW50ZXIgIC1JL3cvUi0zLjUuXy9wb3N0Z3Jlcy9zcmMvaW5j bHVkZS9wb3J0L3dpbjMyIC1ERVhFQ19CQUNLRU5EICAtSS93L3psaWItMS4yLjgtd2luMzIteDg2 XzY0L2luY2x1ZGUgLUkvdy9vcGVuc3NsLTEuMC4yZS13aW4zMi14ODZfNjQvaW5jbHVkZSAtSS93 L2xpYnhtbDItMi45LjMtd2luMzIteDg2XzY0L2luY2x1ZGUvbGlieG1sMiAtSS93L2xpYnhzbHQt MS4xLjI4LXdpbjMyLXg4Nl82NC9pbmNsdWRlICAtV2wsLS1hbGxvdy1tdWx0aXBsZS1kZWZpbml0 aW9uIC1XbCwtLWRpc2FibGUtYXV0by1pbXBvcnQgIC1ML3cvemxpYi0xLjIuOC13aW4zMi14ODZf NjQvbGliIC1ML3cvb3BlbnNzbC0xLjAuMmUtd2luMzIteDg2XzY0L2xpYiAtTC93L2xpYnhtbDIt Mi45LjMtd2luMzIteDg2XzY0L2xpYiAtTC93L2xpYnhzbHQtMS4xLjI4LXdpbjMyLXg4Nl82NC9s aWIgY29uZnRlc3QuYyAtbHhzbHQgLWx4bWwyIC1sc3NsIC1sY3J5cHRvIC1seiAtbHdzMl8zMiAt bG0gID4mNQpjb25mdGVzdC5jOjEyMjo1OiB3YXJuaW5nOiBubyBwcmV2aW91cyBwcm90b3R5cGUg Zm9yICdkb2VzX2ludDY0X3dvcmsnIFstV21pc3NpbmctcHJvdG90eXBlc10KIGludCBkb2VzX2lu dDY0X3dvcmsoKQogICAgIF5+fn5+fn5+fn5+fn5+fgpjb25maWd1cmU6MTYxNzM6ICQ/ID0gMApj b25maWd1cmU6MTYxNzM6IC4vY29uZnRlc3QuZXhlCmNvbmZpZ3VyZToxNjE3MzogJD8gPSAwCmNv bmZpZ3VyZToxNjE4MzogcmVzdWx0OiB5ZXMKY29uZmlndXJlOjE2MjkwOiBjaGVja2luZyBmb3Ig X19idWlsdGluX211bF9vdmVyZmxvdwpjb25maWd1cmU6MTYzMTE6IHg4Nl82NC13NjQtbWluZ3cz Mi1nY2MgLW8gY29uZnRlc3QuZXhlIC1XYWxsIC1XbWlzc2luZy1wcm90b3R5cGVzIC1XcG9pbnRl ci1hcml0aCAtV2RlY2xhcmF0aW9uLWFmdGVyLXN0YXRlbWVudCAtV2VuZGlmLWxhYmVscyAtV21p c3NpbmctZm9ybWF0LWF0dHJpYnV0ZSAtV2Zvcm1hdC1zZWN1cml0eSAtZm5vLXN0cmljdC1hbGlh c2luZyAtZndyYXB2IC1mZXhjZXNzLXByZWNpc2lvbj1zdGFuZGFyZCAtV25vLWZvcm1hdC10cnVu Y2F0aW9uIC1Xbm8tc3RyaW5nb3AtdHJ1bmNhdGlvbiAtZyAtTyAtZm5vLW9taXQtZnJhbWUtcG9p bnRlciAgLUkvdy9SLTMuNS5fL3Bvc3RncmVzL3NyYy9pbmNsdWRlL3BvcnQvd2luMzIgLURFWEVD X0JBQ0tFTkQgIC1JL3cvemxpYi0xLjIuOC13aW4zMi14ODZfNjQvaW5jbHVkZSAtSS93L29wZW5z c2wtMS4wLjJlLXdpbjMyLXg4Nl82NC9pbmNsdWRlIC1JL3cvbGlieG1sMi0yLjkuMy13aW4zMi14 ODZfNjQvaW5jbHVkZS9saWJ4bWwyIC1JL3cvbGlieHNsdC0xLjEuMjgtd2luMzIteDg2XzY0L2lu Y2x1ZGUgIC1XbCwtLWFsbG93LW11bHRpcGxlLWRlZmluaXRpb24gLVdsLC0tZGlzYWJsZS1hdXRv LWltcG9ydCAgLUwvdy96bGliLTEuMi44LXdpbjMyLXg4Nl82NC9saWIgLUwvdy9vcGVuc3NsLTEu MC4yZS13aW4zMi14ODZfNjQvbGliIC1ML3cvbGlieG1sMi0yLjkuMy13aW4zMi14ODZfNjQvbGli IC1ML3cvbGlieHNsdC0xLjEuMjgtd2luMzIteDg2XzY0L2xpYiBjb25mdGVzdC5jIC1seHNsdCAt bHhtbDIgLWxzc2wgLWxjcnlwdG8gLWx6IC1sd3MyXzMyIC1sbSAgPiY1CmNvbmZpZ3VyZToxNjMx MTogJD8gPSAwCmNvbmZpZ3VyZToxNjMxOTogcmVzdWx0OiB5ZXMKY29uZmlndXJlOjE2MzMyOiBj aGVja2luZyBzaXplIG9mIHZvaWQgKgpjb25maWd1cmU6MTYzMzc6IHg4Nl82NC13NjQtbWluZ3cz Mi1nY2MgLW8gY29uZnRlc3QuZXhlIC1XYWxsIC1XbWlzc2luZy1wcm90b3R5cGVzIC1XcG9pbnRl ci1hcml0aCAtV2RlY2xhcmF0aW9uLWFmdGVyLXN0YXRlbWVudCAtV2VuZGlmLWxhYmVscyAtV21p c3NpbmctZm9ybWF0LWF0dHJpYnV0ZSAtV2Zvcm1hdC1zZWN1cml0eSAtZm5vLXN0cmljdC1hbGlh c2luZyAtZndyYXB2IC1mZXhjZXNzLXByZWNpc2lvbj1zdGFuZGFyZCAtV25vLWZvcm1hdC10cnVu Y2F0aW9uIC1Xbm8tc3RyaW5nb3AtdHJ1bmNhdGlvbiAtZyAtTyAtZm5vLW9taXQtZnJhbWUtcG9p bnRlciAgLUkvdy9SLTMuNS5fL3Bvc3RncmVzL3NyYy9pbmNsdWRlL3BvcnQvd2luMzIgLURFWEVD X0JBQ0tFTkQgIC1JL3cvemxpYi0xLjIuOC13aW4zMi14ODZfNjQvaW5jbHVkZSAtSS93L29wZW5z c2wtMS4wLjJlLXdpbjMyLXg4Nl82NC9pbmNsdWRlIC1JL3cvbGlieG1sMi0yLjkuMy13aW4zMi14 ODZfNjQvaW5jbHVkZS9saWJ4bWwyIC1JL3cvbGlieHNsdC0xLjEuMjgtd2luMzIteDg2XzY0L2lu Y2x1ZGUgIC1XbCwtLWFsbG93LW11bHRpcGxlLWRlZmluaXRpb24gLVdsLC0tZGlzYWJsZS1hdXRv LWltcG9ydCAgLUwvdy96bGliLTEuMi44LXdpbjMyLXg4Nl82NC9saWIgLUwvdy9vcGVuc3NsLTEu MC4yZS13aW4zMi14ODZfNjQvbGliIC1ML3cvbGlieG1sMi0yLjkuMy13aW4zMi14ODZfNjQvbGli IC1ML3cvbGlieHNsdC0xLjEuMjgtd2luMzIteDg2XzY0L2xpYiBjb25mdGVzdC5jIC1seHNsdCAt bHhtbDIgLWxzc2wgLWxjcnlwdG8gLWx6IC1sd3MyXzMyIC1sbSAgPiY1CmNvbmZpZ3VyZToxNjMz NzogJD8gPSAwCmNvbmZpZ3VyZToxNjMzNzogLi9jb25mdGVzdC5leGUKY29uZmlndXJlOjE2MzM3 OiAkPyA9IDAKY29uZmlndXJlOjE2MzUxOiByZXN1bHQ6IDgKY29uZmlndXJlOjE2MzY1OiBjaGVj a2luZyBzaXplIG9mIHNpemVfdApjb25maWd1cmU6MTYzNzA6IHg4Nl82NC13NjQtbWluZ3czMi1n Y2MgLW8gY29uZnRlc3QuZXhlIC1XYWxsIC1XbWlzc2luZy1wcm90b3R5cGVzIC1XcG9pbnRlci1h cml0aCAtV2RlY2xhcmF0aW9uLWFmdGVyLXN0YXRlbWVudCAtV2VuZGlmLWxhYmVscyAtV21pc3Np bmctZm9ybWF0LWF0dHJpYnV0ZSAtV2Zvcm1hdC1zZWN1cml0eSAtZm5vLXN0cmljdC1hbGlhc2lu ZyAtZndyYXB2IC1mZXhjZXNzLXByZWNpc2lvbj1zdGFuZGFyZCAtV25vLWZvcm1hdC10cnVuY2F0 aW9uIC1Xbm8tc3RyaW5nb3AtdHJ1bmNhdGlvbiAtZyAtTyAtZm5vLW9taXQtZnJhbWUtcG9pbnRl ciAgLUkvdy9SLTMuNS5fL3Bvc3RncmVzL3NyYy9pbmNsdWRlL3BvcnQvd2luMzIgLURFWEVDX0JB Q0tFTkQgIC1JL3cvemxpYi0xLjIuOC13aW4zMi14ODZfNjQvaW5jbHVkZSAtSS93L29wZW5zc2wt MS4wLjJlLXdpbjMyLXg4Nl82NC9pbmNsdWRlIC1JL3cvbGlieG1sMi0yLjkuMy13aW4zMi14ODZf NjQvaW5jbHVkZS9saWJ4bWwyIC1JL3cvbGlieHNsdC0xLjEuMjgtd2luMzIteDg2XzY0L2luY2x1 ZGUgIC1XbCwtLWFsbG93LW11bHRpcGxlLWRlZmluaXRpb24gLVdsLC0tZGlzYWJsZS1hdXRvLWlt cG9ydCAgLUwvdy96bGliLTEuMi44LXdpbjMyLXg4Nl82NC9saWIgLUwvdy9vcGVuc3NsLTEuMC4y ZS13aW4zMi14ODZfNjQvbGliIC1ML3cvbGlieG1sMi0yLjkuMy13aW4zMi14ODZfNjQvbGliIC1M L3cvbGlieHNsdC0xLjEuMjgtd2luMzIteDg2XzY0L2xpYiBjb25mdGVzdC5jIC1seHNsdCAtbHht bDIgLWxzc2wgLWxjcnlwdG8gLWx6IC1sd3MyXzMyIC1sbSAgPiY1CmNvbmZpZ3VyZToxNjM3MDog JD8gPSAwCmNvbmZpZ3VyZToxNjM3MDogLi9jb25mdGVzdC5leGUKY29uZmlndXJlOjE2MzcwOiAk PyA9IDAKY29uZmlndXJlOjE2Mzg0OiByZXN1bHQ6IDgKY29uZmlndXJlOjE2Mzk4OiBjaGVja2lu ZyBzaXplIG9mIGxvbmcKY29uZmlndXJlOjE2NDAzOiB4ODZfNjQtdzY0LW1pbmd3MzItZ2NjIC1v IGNvbmZ0ZXN0LmV4ZSAtV2FsbCAtV21pc3NpbmctcHJvdG90eXBlcyAtV3BvaW50ZXItYXJpdGgg LVdkZWNsYXJhdGlvbi1hZnRlci1zdGF0ZW1lbnQgLVdlbmRpZi1sYWJlbHMgLVdtaXNzaW5nLWZv cm1hdC1hdHRyaWJ1dGUgLVdmb3JtYXQtc2VjdXJpdHkgLWZuby1zdHJpY3QtYWxpYXNpbmcgLWZ3 cmFwdiAtZmV4Y2Vzcy1wcmVjaXNpb249c3RhbmRhcmQgLVduby1mb3JtYXQtdHJ1bmNhdGlvbiAt V25vLXN0cmluZ29wLXRydW5jYXRpb24gLWcgLU8gLWZuby1vbWl0LWZyYW1lLXBvaW50ZXIgIC1J L3cvUi0zLjUuXy9wb3N0Z3Jlcy9zcmMvaW5jbHVkZS9wb3J0L3dpbjMyIC1ERVhFQ19CQUNLRU5E ICAtSS93L3psaWItMS4yLjgtd2luMzIteDg2XzY0L2luY2x1ZGUgLUkvdy9vcGVuc3NsLTEuMC4y ZS13aW4zMi14ODZfNjQvaW5jbHVkZSAtSS93L2xpYnhtbDItMi45LjMtd2luMzIteDg2XzY0L2lu Y2x1ZGUvbGlieG1sMiAtSS93L2xpYnhzbHQtMS4xLjI4LXdpbjMyLXg4Nl82NC9pbmNsdWRlICAt V2wsLS1hbGxvdy1tdWx0aXBsZS1kZWZpbml0aW9uIC1XbCwtLWRpc2FibGUtYXV0by1pbXBvcnQg IC1ML3cvemxpYi0xLjIuOC13aW4zMi14ODZfNjQvbGliIC1ML3cvb3BlbnNzbC0xLjAuMmUtd2lu MzIteDg2XzY0L2xpYiAtTC93L2xpYnhtbDItMi45LjMtd2luMzIteDg2XzY0L2xpYiAtTC93L2xp YnhzbHQtMS4xLjI4LXdpbjMyLXg4Nl82NC9saWIgY29uZnRlc3QuYyAtbHhzbHQgLWx4bWwyIC1s c3NsIC1sY3J5cHRvIC1seiAtbHdzMl8zMiAtbG0gID4mNQpjb25maWd1cmU6MTY0MDM6ICQ/ID0g MApjb25maWd1cmU6MTY0MDM6IC4vY29uZnRlc3QuZXhlCmNvbmZpZ3VyZToxNjQwMzogJD8gPSAw CmNvbmZpZ3VyZToxNjQxNzogcmVzdWx0OiA0CmNvbmZpZ3VyZToxNjQyOTogY2hlY2tpbmcgd2hl dGhlciB0byBidWlsZCB3aXRoIGZsb2F0NCBwYXNzZWQgYnkgdmFsdWUKY29uZmlndXJlOjE2NDYw OiByZXN1bHQ6IHllcwpjb25maWd1cmU6MTY0NzI6IGNoZWNraW5nIHdoZXRoZXIgdG8gYnVpbGQg d2l0aCBmbG9hdDggcGFzc2VkIGJ5IHZhbHVlCmNvbmZpZ3VyZToxNjUzNDogcmVzdWx0OiB5ZXMK Y29uZmlndXJlOjE2NTQ2OiBjaGVja2luZyBhbGlnbm1lbnQgb2Ygc2hvcnQKY29uZmlndXJlOjE2 NTUxOiB4ODZfNjQtdzY0LW1pbmd3MzItZ2NjIC1vIGNvbmZ0ZXN0LmV4ZSAtV2FsbCAtV21pc3Np bmctcHJvdG90eXBlcyAtV3BvaW50ZXItYXJpdGggLVdkZWNsYXJhdGlvbi1hZnRlci1zdGF0ZW1l bnQgLVdlbmRpZi1sYWJlbHMgLVdtaXNzaW5nLWZvcm1hdC1hdHRyaWJ1dGUgLVdmb3JtYXQtc2Vj dXJpdHkgLWZuby1zdHJpY3QtYWxpYXNpbmcgLWZ3cmFwdiAtZmV4Y2Vzcy1wcmVjaXNpb249c3Rh bmRhcmQgLVduby1mb3JtYXQtdHJ1bmNhdGlvbiAtV25vLXN0cmluZ29wLXRydW5jYXRpb24gLWcg LU8gLWZuby1vbWl0LWZyYW1lLXBvaW50ZXIgIC1JL3cvUi0zLjUuXy9wb3N0Z3Jlcy9zcmMvaW5j bHVkZS9wb3J0L3dpbjMyIC1ERVhFQ19CQUNLRU5EICAtSS93L3psaWItMS4yLjgtd2luMzIteDg2 XzY0L2luY2x1ZGUgLUkvdy9vcGVuc3NsLTEuMC4yZS13aW4zMi14ODZfNjQvaW5jbHVkZSAtSS93 L2xpYnhtbDItMi45LjMtd2luMzIteDg2XzY0L2luY2x1ZGUvbGlieG1sMiAtSS93L2xpYnhzbHQt MS4xLjI4LXdpbjMyLXg4Nl82NC9pbmNsdWRlICAtV2wsLS1hbGxvdy1tdWx0aXBsZS1kZWZpbml0 aW9uIC1XbCwtLWRpc2FibGUtYXV0by1pbXBvcnQgIC1ML3cvemxpYi0xLjIuOC13aW4zMi14ODZf NjQvbGliIC1ML3cvb3BlbnNzbC0xLjAuMmUtd2luMzIteDg2XzY0L2xpYiAtTC93L2xpYnhtbDIt Mi45LjMtd2luMzIteDg2XzY0L2xpYiAtTC93L2xpYnhzbHQtMS4xLjI4LXdpbjMyLXg4Nl82NC9s aWIgY29uZnRlc3QuYyAtbHhzbHQgLWx4bWwyIC1sc3NsIC1sY3J5cHRvIC1seiAtbHdzMl8zMiAt bG0gID4mNQpjb25maWd1cmU6MTY1NTE6ICQ/ID0gMApjb25maWd1cmU6MTY1NTE6IC4vY29uZnRl c3QuZXhlCmNvbmZpZ3VyZToxNjU1MTogJD8gPSAwCmNvbmZpZ3VyZToxNjU2OTogcmVzdWx0OiAy CmNvbmZpZ3VyZToxNjU4MTogY2hlY2tpbmcgYWxpZ25tZW50IG9mIGludApjb25maWd1cmU6MTY1 ODY6IHg4Nl82NC13NjQtbWluZ3czMi1nY2MgLW8gY29uZnRlc3QuZXhlIC1XYWxsIC1XbWlzc2lu Zy1wcm90b3R5cGVzIC1XcG9pbnRlci1hcml0aCAtV2RlY2xhcmF0aW9uLWFmdGVyLXN0YXRlbWVu dCAtV2VuZGlmLWxhYmVscyAtV21pc3NpbmctZm9ybWF0LWF0dHJpYnV0ZSAtV2Zvcm1hdC1zZWN1 cml0eSAtZm5vLXN0cmljdC1hbGlhc2luZyAtZndyYXB2IC1mZXhjZXNzLXByZWNpc2lvbj1zdGFu ZGFyZCAtV25vLWZvcm1hdC10cnVuY2F0aW9uIC1Xbm8tc3RyaW5nb3AtdHJ1bmNhdGlvbiAtZyAt TyAtZm5vLW9taXQtZnJhbWUtcG9pbnRlciAgLUkvdy9SLTMuNS5fL3Bvc3RncmVzL3NyYy9pbmNs dWRlL3BvcnQvd2luMzIgLURFWEVDX0JBQ0tFTkQgIC1JL3cvemxpYi0xLjIuOC13aW4zMi14ODZf NjQvaW5jbHVkZSAtSS93L29wZW5zc2wtMS4wLjJlLXdpbjMyLXg4Nl82NC9pbmNsdWRlIC1JL3cv bGlieG1sMi0yLjkuMy13aW4zMi14ODZfNjQvaW5jbHVkZS9saWJ4bWwyIC1JL3cvbGlieHNsdC0x LjEuMjgtd2luMzIteDg2XzY0L2luY2x1ZGUgIC1XbCwtLWFsbG93LW11bHRpcGxlLWRlZmluaXRp b24gLVdsLC0tZGlzYWJsZS1hdXRvLWltcG9ydCAgLUwvdy96bGliLTEuMi44LXdpbjMyLXg4Nl82 NC9saWIgLUwvdy9vcGVuc3NsLTEuMC4yZS13aW4zMi14ODZfNjQvbGliIC1ML3cvbGlieG1sMi0y LjkuMy13aW4zMi14ODZfNjQvbGliIC1ML3cvbGlieHNsdC0xLjEuMjgtd2luMzIteDg2XzY0L2xp YiBjb25mdGVzdC5jIC1seHNsdCAtbHhtbDIgLWxzc2wgLWxjcnlwdG8gLWx6IC1sd3MyXzMyIC1s bSAgPiY1CmNvbmZpZ3VyZToxNjU4NjogJD8gPSAwCmNvbmZpZ3VyZToxNjU4NjogLi9jb25mdGVz dC5leGUKY29uZmlndXJlOjE2NTg2OiAkPyA9IDAKY29uZmlndXJlOjE2NjA0OiByZXN1bHQ6IDQK Y29uZmlndXJlOjE2NjE2OiBjaGVja2luZyBhbGlnbm1lbnQgb2YgbG9uZwpjb25maWd1cmU6MTY2 MjE6IHg4Nl82NC13NjQtbWluZ3czMi1nY2MgLW8gY29uZnRlc3QuZXhlIC1XYWxsIC1XbWlzc2lu Zy1wcm90b3R5cGVzIC1XcG9pbnRlci1hcml0aCAtV2RlY2xhcmF0aW9uLWFmdGVyLXN0YXRlbWVu dCAtV2VuZGlmLWxhYmVscyAtV21pc3NpbmctZm9ybWF0LWF0dHJpYnV0ZSAtV2Zvcm1hdC1zZWN1 cml0eSAtZm5vLXN0cmljdC1hbGlhc2luZyAtZndyYXB2IC1mZXhjZXNzLXByZWNpc2lvbj1zdGFu ZGFyZCAtV25vLWZvcm1hdC10cnVuY2F0aW9uIC1Xbm8tc3RyaW5nb3AtdHJ1bmNhdGlvbiAtZyAt TyAtZm5vLW9taXQtZnJhbWUtcG9pbnRlciAgLUkvdy9SLTMuNS5fL3Bvc3RncmVzL3NyYy9pbmNs dWRlL3BvcnQvd2luMzIgLURFWEVDX0JBQ0tFTkQgIC1JL3cvemxpYi0xLjIuOC13aW4zMi14ODZf NjQvaW5jbHVkZSAtSS93L29wZW5zc2wtMS4wLjJlLXdpbjMyLXg4Nl82NC9pbmNsdWRlIC1JL3cv bGlieG1sMi0yLjkuMy13aW4zMi14ODZfNjQvaW5jbHVkZS9saWJ4bWwyIC1JL3cvbGlieHNsdC0x LjEuMjgtd2luMzIteDg2XzY0L2luY2x1ZGUgIC1XbCwtLWFsbG93LW11bHRpcGxlLWRlZmluaXRp b24gLVdsLC0tZGlzYWJsZS1hdXRvLWltcG9ydCAgLUwvdy96bGliLTEuMi44LXdpbjMyLXg4Nl82 NC9saWIgLUwvdy9vcGVuc3NsLTEuMC4yZS13aW4zMi14ODZfNjQvbGliIC1ML3cvbGlieG1sMi0y LjkuMy13aW4zMi14ODZfNjQvbGliIC1ML3cvbGlieHNsdC0xLjEuMjgtd2luMzIteDg2XzY0L2xp YiBjb25mdGVzdC5jIC1seHNsdCAtbHhtbDIgLWxzc2wgLWxjcnlwdG8gLWx6IC1sd3MyXzMyIC1s bSAgPiY1CmNvbmZpZ3VyZToxNjYyMTogJD8gPSAwCmNvbmZpZ3VyZToxNjYyMTogLi9jb25mdGVz dC5leGUKY29uZmlndXJlOjE2NjIxOiAkPyA9IDAKY29uZmlndXJlOjE2NjM5OiByZXN1bHQ6IDQK Y29uZmlndXJlOjE2NjUyOiBjaGVja2luZyBhbGlnbm1lbnQgb2YgbG9uZyBsb25nIGludApjb25m aWd1cmU6MTY2NTc6IHg4Nl82NC13NjQtbWluZ3czMi1nY2MgLW8gY29uZnRlc3QuZXhlIC1XYWxs IC1XbWlzc2luZy1wcm90b3R5cGVzIC1XcG9pbnRlci1hcml0aCAtV2RlY2xhcmF0aW9uLWFmdGVy LXN0YXRlbWVudCAtV2VuZGlmLWxhYmVscyAtV21pc3NpbmctZm9ybWF0LWF0dHJpYnV0ZSAtV2Zv cm1hdC1zZWN1cml0eSAtZm5vLXN0cmljdC1hbGlhc2luZyAtZndyYXB2IC1mZXhjZXNzLXByZWNp c2lvbj1zdGFuZGFyZCAtV25vLWZvcm1hdC10cnVuY2F0aW9uIC1Xbm8tc3RyaW5nb3AtdHJ1bmNh dGlvbiAtZyAtTyAtZm5vLW9taXQtZnJhbWUtcG9pbnRlciAgLUkvdy9SLTMuNS5fL3Bvc3RncmVz L3NyYy9pbmNsdWRlL3BvcnQvd2luMzIgLURFWEVDX0JBQ0tFTkQgIC1JL3cvemxpYi0xLjIuOC13 aW4zMi14ODZfNjQvaW5jbHVkZSAtSS93L29wZW5zc2wtMS4wLjJlLXdpbjMyLXg4Nl82NC9pbmNs dWRlIC1JL3cvbGlieG1sMi0yLjkuMy13aW4zMi14ODZfNjQvaW5jbHVkZS9saWJ4bWwyIC1JL3cv bGlieHNsdC0xLjEuMjgtd2luMzIteDg2XzY0L2luY2x1ZGUgIC1XbCwtLWFsbG93LW11bHRpcGxl LWRlZmluaXRpb24gLVdsLC0tZGlzYWJsZS1hdXRvLWltcG9ydCAgLUwvdy96bGliLTEuMi44LXdp bjMyLXg4Nl82NC9saWIgLUwvdy9vcGVuc3NsLTEuMC4yZS13aW4zMi14ODZfNjQvbGliIC1ML3cv bGlieG1sMi0yLjkuMy13aW4zMi14ODZfNjQvbGliIC1ML3cvbGlieHNsdC0xLjEuMjgtd2luMzIt eDg2XzY0L2xpYiBjb25mdGVzdC5jIC1seHNsdCAtbHhtbDIgLWxzc2wgLWxjcnlwdG8gLWx6IC1s d3MyXzMyIC1sbSAgPiY1CmNvbmZpZ3VyZToxNjY1NzogJD8gPSAwCmNvbmZpZ3VyZToxNjY1Nzog Li9jb25mdGVzdC5leGUKY29uZmlndXJlOjE2NjU3OiAkPyA9IDAKY29uZmlndXJlOjE2Njc1OiBy ZXN1bHQ6IDgKY29uZmlndXJlOjE2Njg4OiBjaGVja2luZyBhbGlnbm1lbnQgb2YgZG91YmxlCmNv bmZpZ3VyZToxNjY5MzogeDg2XzY0LXc2NC1taW5ndzMyLWdjYyAtbyBjb25mdGVzdC5leGUgLVdh bGwgLVdtaXNzaW5nLXByb3RvdHlwZXMgLVdwb2ludGVyLWFyaXRoIC1XZGVjbGFyYXRpb24tYWZ0 ZXItc3RhdGVtZW50IC1XZW5kaWYtbGFiZWxzIC1XbWlzc2luZy1mb3JtYXQtYXR0cmlidXRlIC1X Zm9ybWF0LXNlY3VyaXR5IC1mbm8tc3RyaWN0LWFsaWFzaW5nIC1md3JhcHYgLWZleGNlc3MtcHJl Y2lzaW9uPXN0YW5kYXJkIC1Xbm8tZm9ybWF0LXRydW5jYXRpb24gLVduby1zdHJpbmdvcC10cnVu Y2F0aW9uIC1nIC1PIC1mbm8tb21pdC1mcmFtZS1wb2ludGVyICAtSS93L1ItMy41Ll8vcG9zdGdy ZXMvc3JjL2luY2x1ZGUvcG9ydC93aW4zMiAtREVYRUNfQkFDS0VORCAgLUkvdy96bGliLTEuMi44 LXdpbjMyLXg4Nl82NC9pbmNsdWRlIC1JL3cvb3BlbnNzbC0xLjAuMmUtd2luMzIteDg2XzY0L2lu Y2x1ZGUgLUkvdy9saWJ4bWwyLTIuOS4zLXdpbjMyLXg4Nl82NC9pbmNsdWRlL2xpYnhtbDIgLUkv dy9saWJ4c2x0LTEuMS4yOC13aW4zMi14ODZfNjQvaW5jbHVkZSAgLVdsLC0tYWxsb3ctbXVsdGlw bGUtZGVmaW5pdGlvbiAtV2wsLS1kaXNhYmxlLWF1dG8taW1wb3J0ICAtTC93L3psaWItMS4yLjgt d2luMzIteDg2XzY0L2xpYiAtTC93L29wZW5zc2wtMS4wLjJlLXdpbjMyLXg4Nl82NC9saWIgLUwv dy9saWJ4bWwyLTIuOS4zLXdpbjMyLXg4Nl82NC9saWIgLUwvdy9saWJ4c2x0LTEuMS4yOC13aW4z Mi14ODZfNjQvbGliIGNvbmZ0ZXN0LmMgLWx4c2x0IC1seG1sMiAtbHNzbCAtbGNyeXB0byAtbHog LWx3czJfMzIgLWxtICA+JjUKY29uZmlndXJlOjE2NjkzOiAkPyA9IDAKY29uZmlndXJlOjE2Njkz OiAuL2NvbmZ0ZXN0LmV4ZQpjb25maWd1cmU6MTY2OTM6ICQ/ID0gMApjb25maWd1cmU6MTY3MTE6 IHJlc3VsdDogOApjb25maWd1cmU6MTY3NDU6IGNoZWNraW5nIGZvciBpbnQ4CmNvbmZpZ3VyZTox Njc0NTogeDg2XzY0LXc2NC1taW5ndzMyLWdjYyAtYyAtV2FsbCAtV21pc3NpbmctcHJvdG90eXBl cyAtV3BvaW50ZXItYXJpdGggLVdkZWNsYXJhdGlvbi1hZnRlci1zdGF0ZW1lbnQgLVdlbmRpZi1s YWJlbHMgLVdtaXNzaW5nLWZvcm1hdC1hdHRyaWJ1dGUgLVdmb3JtYXQtc2VjdXJpdHkgLWZuby1z dHJpY3QtYWxpYXNpbmcgLWZ3cmFwdiAtZmV4Y2Vzcy1wcmVjaXNpb249c3RhbmRhcmQgLVduby1m b3JtYXQtdHJ1bmNhdGlvbiAtV25vLXN0cmluZ29wLXRydW5jYXRpb24gLWcgLU8gLWZuby1vbWl0 LWZyYW1lLXBvaW50ZXIgIC1JL3cvUi0zLjUuXy9wb3N0Z3Jlcy9zcmMvaW5jbHVkZS9wb3J0L3dp bjMyIC1ERVhFQ19CQUNLRU5EICAtSS93L3psaWItMS4yLjgtd2luMzIteDg2XzY0L2luY2x1ZGUg LUkvdy9vcGVuc3NsLTEuMC4yZS13aW4zMi14ODZfNjQvaW5jbHVkZSAtSS93L2xpYnhtbDItMi45 LjMtd2luMzIteDg2XzY0L2luY2x1ZGUvbGlieG1sMiAtSS93L2xpYnhzbHQtMS4xLjI4LXdpbjMy LXg4Nl82NC9pbmNsdWRlIGNvbmZ0ZXN0LmMgPiY1CmNvbmZ0ZXN0LmM6IEluIGZ1bmN0aW9uICdt YWluJzoKY29uZnRlc3QuYzoxMzY6MTM6IGVycm9yOiAnaW50OCcgdW5kZWNsYXJlZCAoZmlyc3Qg dXNlIGluIHRoaXMgZnVuY3Rpb24pOyBkaWQgeW91IG1lYW4gJ2ludCc/CiBpZiAoc2l6ZW9mIChp bnQ4KSkKICAgICAgICAgICAgIF5+fn4KICAgICAgICAgICAgIGludApjb25mdGVzdC5jOjEzNjox Mzogbm90ZTogZWFjaCB1bmRlY2xhcmVkIGlkZW50aWZpZXIgaXMgcmVwb3J0ZWQgb25seSBvbmNl IGZvciBlYWNoIGZ1bmN0aW9uIGl0IGFwcGVhcnMgaW4KY29uZmlndXJlOjE2NzQ1OiAkPyA9IDEK Y29uZmlndXJlOiBmYWlsZWQgcHJvZ3JhbSB3YXM6CnwgLyogY29uZmRlZnMuaCAqLwp8ICNkZWZp bmUgUEFDS0FHRV9OQU1FICJQb3N0Z3JlU1FMIgp8ICNkZWZpbmUgUEFDS0FHRV9UQVJOQU1FICJw b3N0Z3Jlc3FsIgp8ICNkZWZpbmUgUEFDS0FHRV9WRVJTSU9OICIxMWJldGEzIgp8ICNkZWZpbmUg UEFDS0FHRV9TVFJJTkcgIlBvc3RncmVTUUwgMTFiZXRhMyIKfCAjZGVmaW5lIFBBQ0tBR0VfQlVH UkVQT1JUICJwZ3NxbC1idWdzQHBvc3RncmVzcWwub3JnIgp8ICNkZWZpbmUgUEFDS0FHRV9VUkwg IiIKfCAjZGVmaW5lIFBHX01BSk9SVkVSU0lPTiAiMTEiCnwgI2RlZmluZSBQR19WRVJTSU9OICIx MWJldGEzIgp8ICNkZWZpbmUgREVGX1BHUE9SVCA1NDMyCnwgI2RlZmluZSBERUZfUEdQT1JUX1NU UiAiNTQzMiIKfCAjZGVmaW5lIEJMQ0tTWiA4MTkyCnwgI2RlZmluZSBSRUxTRUdfU0laRSAxMzEw NzIKfCAjZGVmaW5lIFhMT0dfQkxDS1NaIDgxOTIKfCAjZGVmaW5lIFVTRV9BU1NFUlRfQ0hFQ0tJ TkcgMQp8ICNkZWZpbmUgRU5BQkxFX1RIUkVBRF9TQUZFVFkgMQp8ICNkZWZpbmUgVVNFX0lDVSAx CnwgI2RlZmluZSBQR19LUkJfU1JWTkFNICJwb3N0Z3JlcyIKfCAjZGVmaW5lIFVTRV9PUEVOU1NM IDEKfCAjZGVmaW5lIFVTRV9MSUJYTUwgMQp8ICNkZWZpbmUgVVNFX0xJQlhTTFQgMQp8ICNkZWZp bmUgU1REQ19IRUFERVJTIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1RZUEVTX0ggMQp8ICNkZWZpbmUg SEFWRV9TWVNfU1RBVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1RETElCX0ggMQp8ICNkZWZpbmUgSEFW RV9TVFJJTkdfSCAxCnwgI2RlZmluZSBIQVZFX01FTU9SWV9IIDEKfCAjZGVmaW5lIEhBVkVfU1RS SU5HU19IIDEKfCAjZGVmaW5lIEhBVkVfSU5UVFlQRVNfSCAxCnwgI2RlZmluZSBIQVZFX1NURElO VF9IIDEKfCAjZGVmaW5lIEhBVkVfVU5JU1REX0ggMQp8ICNkZWZpbmUgSEFWRV9MSUJNIDEKfCAj ZGVmaW5lIEhBVkVfTElCWiAxCnwgI2RlZmluZSBIQVZFX1NQSU5MT0NLUyAxCnwgI2RlZmluZSBI QVZFX0FUT01JQ1MgMQp8ICNkZWZpbmUgSEFWRV9TU0xfR0VUX0NVUlJFTlRfQ09NUFJFU1NJT04g MQp8ICNkZWZpbmUgSEFWRV9YNTA5X0dFVF9TSUdOQVRVUkVfTklEIDEKfCAjZGVmaW5lIEhBVkVf Q1JZUFRPX0xPQ0sgMQp8ICNkZWZpbmUgSEFWRV9MSUJYTUwyIDEKfCAjZGVmaW5lIEhBVkVfTElC WFNMVCAxCnwgI2RlZmluZSBIQVZFX19CT09MIDEKfCAjZGVmaW5lIEhBVkVfU1REQk9PTF9IIDEK fCAjZGVmaW5lIEhBVkVfR0VUT1BUX0ggMQp8ICNkZWZpbmUgSEFWRV9JRUVFRlBfSCAxCnwgI2Rl ZmluZSBIQVZFX1VUSU1FX0ggMQp8ICNkZWZpbmUgSEFWRV9XQ0hBUl9IIDEKfCAjZGVmaW5lIEhB VkVfV0NUWVBFX0ggMQp8ICNkZWZpbmUgSEFWRV9DUlRERUZTX0ggMQp8ICNkZWZpbmUgUEdfUFJJ TlRGX0FUVFJJQlVURSBnbnVfcHJpbnRmCnwgI2RlZmluZSBGTEVYSUJMRV9BUlJBWV9NRU1CRVIg LyoqLwp8ICNkZWZpbmUgSEFWRV9GVU5DTkFNRV9fRlVOQyAxCnwgI2RlZmluZSBIQVZFX19TVEFU SUNfQVNTRVJUIDEKfCAjZGVmaW5lIEhBVkVfVFlQRU9GIDEKfCAjZGVmaW5lIEhBVkVfX0JVSUxU SU5fVFlQRVNfQ09NUEFUSUJMRV9QIDEKfCAjZGVmaW5lIEhBVkVfX0JVSUxUSU5fQlNXQVAxNiAx CnwgI2RlZmluZSBIQVZFX19CVUlMVElOX0JTV0FQMzIgMQp8ICNkZWZpbmUgSEFWRV9fQlVJTFRJ Tl9CU1dBUDY0IDEKfCAjZGVmaW5lIEhBVkVfX0JVSUxUSU5fQ09OU1RBTlRfUCAxCnwgI2RlZmlu ZSBIQVZFX19CVUlMVElOX1VOUkVBQ0hBQkxFIDEKfCAjZGVmaW5lIEhBVkVfQ09NUFVURURfR09U TyAxCnwgI2RlZmluZSBIQVZFX19WQV9BUkdTIDEKfCAjZGVmaW5lIEhBVkVfVFpOQU1FIDEKfCAj ZGVmaW5lIEhBVkVfU1RSVUNUX1NPQ0tBRERSX1NUT1JBR0UgMQp8ICNkZWZpbmUgSEFWRV9TVFJV Q1RfU09DS0FERFJfU1RPUkFHRV9TU19GQU1JTFkgMQp8ICNkZWZpbmUgSEFWRV9TVFJVQ1RfQURE UklORk8gMQp8ICNkZWZpbmUgSEFWRV9JTlRQVFJfVCAxCnwgI2RlZmluZSBIQVZFX1VJTlRQVFJf VCAxCnwgI2RlZmluZSBIQVZFX1VOU0lHTkVEX0xPTkdfTE9OR19JTlQgMQp8ICNkZWZpbmUgSEFW RV9MT05HX0xPTkdfSU5UIDEKfCAjZGVmaW5lIHJlc3RyaWN0IF9fcmVzdHJpY3QKfCAjZGVmaW5l IHBnX3Jlc3RyaWN0IF9fcmVzdHJpY3QKfCAjZGVmaW5lIEhBVkVfU1RSVUNUX09QVElPTiAxCnwg I2RlZmluZSBTSVpFT0ZfT0ZGX1QgNAp8ICNkZWZpbmUgU0laRU9GX0JPT0wgMQp8ICNkZWZpbmUg SEFWRV9JTlRfVElNRVpPTkUgMQp8ICNkZWZpbmUgQUNDRVBUX1RZUEVfUkVUVVJOIFNPQ0tFVCBX U0FBUEkKfCAjZGVmaW5lIEFDQ0VQVF9UWVBFX0FSRzEgU09DS0VUCnwgI2RlZmluZSBBQ0NFUFRf VFlQRV9BUkcyIHN0cnVjdCBzb2NrYWRkciAqCnwgI2RlZmluZSBBQ0NFUFRfVFlQRV9BUkczIGlu dAp8ICNkZWZpbmUgSEFWRV9DQlJUIDEKfCAjZGVmaW5lIEhBVkVfQ0xPQ0tfR0VUVElNRSAxCnwg I2RlZmluZSBIQVZFX01FTU1PVkUgMQp8ICNkZWZpbmUgSEFWRV9VVElNRSAxCnwgI2RlZmluZSBI QVZFX0ZTRUVLTyAxCnwgI2RlZmluZSBIQVZFX0ZTRUVLTyAxCnwgI2RlZmluZSBIQVZFX0RFQ0xf UE9TSVhfRkFEVklTRSAwCnwgI2RlZmluZSBIQVZFX0RFQ0xfRkRBVEFTWU5DIDAKfCAjZGVmaW5l IEhBVkVfREVDTF9TVFJMQ0FUIDAKfCAjZGVmaW5lIEhBVkVfREVDTF9TVFJMQ1BZIDAKfCAjZGVm aW5lIEhBVkVfREVDTF9TVFJOTEVOIDEKfCAjZGVmaW5lIEhBVkVfREVDTF9GX0ZVTExGU1lOQyAw CnwgI2RlZmluZSBIQVZFX0lQVjYgMQp8ICNkZWZpbmUgSEFWRV9ERUNMX1NOUFJJTlRGIDEKfCAj ZGVmaW5lIEhBVkVfREVDTF9WU05QUklOVEYgMQp8ICNkZWZpbmUgSEFWRV9JU0lORiAxCnwgI2Rl ZmluZSBIQVZFX0dFVE9QVCAxCnwgI2RlZmluZSBIQVZFX1JJTlQgMQp8ICNkZWZpbmUgSEFWRV9T VFJFUlJPUiAxCnwgI2RlZmluZSBIQVZFX1NUUk5MRU4gMQp8ICNkZWZpbmUgSEFWRV9VTlNFVEVO ViAxCnwgI2RlZmluZSBIQVZFX0dFVFBFRVJFSUQgMQp8ICNkZWZpbmUgSEFWRV9HRVRPUFRfTE9O RyAxCnwgI2RlZmluZSBIQVZFX0dFVFRJTUVPRkRBWSAxCnwgI2RlZmluZSBIQVZFX1NZTUxJTksg MQp8ICNkZWZpbmUgSEFWRV9NSU5JRFVNUF9UWVBFIDEKfCAjZGVmaW5lIEhBVkVfREVDTF9TWVNf U0lHTElTVCAwCnwgI2RlZmluZSBIQVZFX0lOVF9PUFRFUlIgMQp8ICNkZWZpbmUgSEFWRV9TVFJU T0xMIDEKfCAjZGVmaW5lIEhBVkVfU1RSVE9VTEwgMQp8ICNkZWZpbmUgSEFWRV9ERUNMX1NUUlRP TEwgMQp8ICNkZWZpbmUgSEFWRV9ERUNMX1NUUlRPVUxMIDEKfCAjZGVmaW5lIEhBVkVfTE9OR19M T05HX0lOVF82NCAxCnwgI2RlZmluZSBQR19JTlQ2NF9UWVBFIGxvbmcgbG9uZyBpbnQKfCAjZGVm aW5lIElOVDY0X01PRElGSUVSICJsbCIKfCAjZGVmaW5lIFVTRV9SRVBMX1NOUFJJTlRGIDEKfCAj ZGVmaW5lIEhBVkVfX0JVSUxUSU5fT1BfT1ZFUkZMT1cgMQp8ICNkZWZpbmUgU0laRU9GX1ZPSURf UCA4CnwgI2RlZmluZSBTSVpFT0ZfU0laRV9UIDgKfCAjZGVmaW5lIFNJWkVPRl9MT05HIDQKfCAj ZGVmaW5lIFVTRV9GTE9BVDRfQllWQUwgMQp8ICNkZWZpbmUgRkxPQVQ0UEFTU0JZVkFMIHRydWUK fCAjZGVmaW5lIFVTRV9GTE9BVDhfQllWQUwgMQp8ICNkZWZpbmUgRkxPQVQ4UEFTU0JZVkFMIHRy dWUKfCAjZGVmaW5lIEFMSUdOT0ZfU0hPUlQgMgp8ICNkZWZpbmUgQUxJR05PRl9JTlQgNAp8ICNk ZWZpbmUgQUxJR05PRl9MT05HIDQKfCAjZGVmaW5lIEFMSUdOT0ZfTE9OR19MT05HX0lOVCA4Cnwg I2RlZmluZSBBTElHTk9GX0RPVUJMRSA4CnwgI2RlZmluZSBNQVhJTVVNX0FMSUdOT0YgOAp8IC8q IGVuZCBjb25mZGVmcy5oLiAgKi8KfCAjaW5jbHVkZSA8c3RkaW8uaD4KfCAKfCBpbnQKfCBtYWlu ICgpCnwgewp8IGlmIChzaXplb2YgKGludDgpKQp8IAkgcmV0dXJuIDA7CnwgICA7CnwgICByZXR1 cm4gMDsKfCB9CmNvbmZpZ3VyZToxNjc0NTogcmVzdWx0OiBubwpjb25maWd1cmU6MTY3NTU6IGNo ZWNraW5nIGZvciB1aW50OApjb25maWd1cmU6MTY3NTU6IHg4Nl82NC13NjQtbWluZ3czMi1nY2Mg LWMgLVdhbGwgLVdtaXNzaW5nLXByb3RvdHlwZXMgLVdwb2ludGVyLWFyaXRoIC1XZGVjbGFyYXRp b24tYWZ0ZXItc3RhdGVtZW50IC1XZW5kaWYtbGFiZWxzIC1XbWlzc2luZy1mb3JtYXQtYXR0cmli dXRlIC1XZm9ybWF0LXNlY3VyaXR5IC1mbm8tc3RyaWN0LWFsaWFzaW5nIC1md3JhcHYgLWZleGNl c3MtcHJlY2lzaW9uPXN0YW5kYXJkIC1Xbm8tZm9ybWF0LXRydW5jYXRpb24gLVduby1zdHJpbmdv cC10cnVuY2F0aW9uIC1nIC1PIC1mbm8tb21pdC1mcmFtZS1wb2ludGVyICAtSS93L1ItMy41Ll8v cG9zdGdyZXMvc3JjL2luY2x1ZGUvcG9ydC93aW4zMiAtREVYRUNfQkFDS0VORCAgLUkvdy96bGli LTEuMi44LXdpbjMyLXg4Nl82NC9pbmNsdWRlIC1JL3cvb3BlbnNzbC0xLjAuMmUtd2luMzIteDg2 XzY0L2luY2x1ZGUgLUkvdy9saWJ4bWwyLTIuOS4zLXdpbjMyLXg4Nl82NC9pbmNsdWRlL2xpYnht bDIgLUkvdy9saWJ4c2x0LTEuMS4yOC13aW4zMi14ODZfNjQvaW5jbHVkZSBjb25mdGVzdC5jID4m NQpjb25mdGVzdC5jOiBJbiBmdW5jdGlvbiAnbWFpbic6CmNvbmZ0ZXN0LmM6MTM2OjEzOiBlcnJv cjogJ3VpbnQ4JyB1bmRlY2xhcmVkIChmaXJzdCB1c2UgaW4gdGhpcyBmdW5jdGlvbik7IGRpZCB5 b3UgbWVhbiAnaW50Jz8KIGlmIChzaXplb2YgKHVpbnQ4KSkKICAgICAgICAgICAgIF5+fn5+CiAg ICAgICAgICAgICBpbnQKY29uZnRlc3QuYzoxMzY6MTM6IG5vdGU6IGVhY2ggdW5kZWNsYXJlZCBp ZGVudGlmaWVyIGlzIHJlcG9ydGVkIG9ubHkgb25jZSBmb3IgZWFjaCBmdW5jdGlvbiBpdCBhcHBl YXJzIGluCmNvbmZpZ3VyZToxNjc1NTogJD8gPSAxCmNvbmZpZ3VyZTogZmFpbGVkIHByb2dyYW0g d2FzOgp8IC8qIGNvbmZkZWZzLmggKi8KfCAjZGVmaW5lIFBBQ0tBR0VfTkFNRSAiUG9zdGdyZVNR TCIKfCAjZGVmaW5lIFBBQ0tBR0VfVEFSTkFNRSAicG9zdGdyZXNxbCIKfCAjZGVmaW5lIFBBQ0tB R0VfVkVSU0lPTiAiMTFiZXRhMyIKfCAjZGVmaW5lIFBBQ0tBR0VfU1RSSU5HICJQb3N0Z3JlU1FM IDExYmV0YTMiCnwgI2RlZmluZSBQQUNLQUdFX0JVR1JFUE9SVCAicGdzcWwtYnVnc0Bwb3N0Z3Jl c3FsLm9yZyIKfCAjZGVmaW5lIFBBQ0tBR0VfVVJMICIiCnwgI2RlZmluZSBQR19NQUpPUlZFUlNJ T04gIjExIgp8ICNkZWZpbmUgUEdfVkVSU0lPTiAiMTFiZXRhMyIKfCAjZGVmaW5lIERFRl9QR1BP UlQgNTQzMgp8ICNkZWZpbmUgREVGX1BHUE9SVF9TVFIgIjU0MzIiCnwgI2RlZmluZSBCTENLU1og ODE5Mgp8ICNkZWZpbmUgUkVMU0VHX1NJWkUgMTMxMDcyCnwgI2RlZmluZSBYTE9HX0JMQ0tTWiA4 MTkyCnwgI2RlZmluZSBVU0VfQVNTRVJUX0NIRUNLSU5HIDEKfCAjZGVmaW5lIEVOQUJMRV9USFJF QURfU0FGRVRZIDEKfCAjZGVmaW5lIFVTRV9JQ1UgMQp8ICNkZWZpbmUgUEdfS1JCX1NSVk5BTSAi cG9zdGdyZXMiCnwgI2RlZmluZSBVU0VfT1BFTlNTTCAxCnwgI2RlZmluZSBVU0VfTElCWE1MIDEK fCAjZGVmaW5lIFVTRV9MSUJYU0xUIDEKfCAjZGVmaW5lIFNURENfSEVBREVSUyAxCnwgI2RlZmlu ZSBIQVZFX1NZU19UWVBFU19IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NUQVRfSCAxCnwgI2RlZmlu ZSBIQVZFX1NURExJQl9IIDEKfCAjZGVmaW5lIEhBVkVfU1RSSU5HX0ggMQp8ICNkZWZpbmUgSEFW RV9NRU1PUllfSCAxCnwgI2RlZmluZSBIQVZFX1NUUklOR1NfSCAxCnwgI2RlZmluZSBIQVZFX0lO VFRZUEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERJTlRfSCAxCnwgI2RlZmluZSBIQVZFX1VOSVNU RF9IIDEKfCAjZGVmaW5lIEhBVkVfTElCTSAxCnwgI2RlZmluZSBIQVZFX0xJQlogMQp8ICNkZWZp bmUgSEFWRV9TUElOTE9DS1MgMQp8ICNkZWZpbmUgSEFWRV9BVE9NSUNTIDEKfCAjZGVmaW5lIEhB VkVfU1NMX0dFVF9DVVJSRU5UX0NPTVBSRVNTSU9OIDEKfCAjZGVmaW5lIEhBVkVfWDUwOV9HRVRf U0lHTkFUVVJFX05JRCAxCnwgI2RlZmluZSBIQVZFX0NSWVBUT19MT0NLIDEKfCAjZGVmaW5lIEhB VkVfTElCWE1MMiAxCnwgI2RlZmluZSBIQVZFX0xJQlhTTFQgMQp8ICNkZWZpbmUgSEFWRV9fQk9P TCAxCnwgI2RlZmluZSBIQVZFX1NUREJPT0xfSCAxCnwgI2RlZmluZSBIQVZFX0dFVE9QVF9IIDEK fCAjZGVmaW5lIEhBVkVfSUVFRUZQX0ggMQp8ICNkZWZpbmUgSEFWRV9VVElNRV9IIDEKfCAjZGVm aW5lIEhBVkVfV0NIQVJfSCAxCnwgI2RlZmluZSBIQVZFX1dDVFlQRV9IIDEKfCAjZGVmaW5lIEhB VkVfQ1JUREVGU19IIDEKfCAjZGVmaW5lIFBHX1BSSU5URl9BVFRSSUJVVEUgZ251X3ByaW50Zgp8 ICNkZWZpbmUgRkxFWElCTEVfQVJSQVlfTUVNQkVSIC8qKi8KfCAjZGVmaW5lIEhBVkVfRlVOQ05B TUVfX0ZVTkMgMQp8ICNkZWZpbmUgSEFWRV9fU1RBVElDX0FTU0VSVCAxCnwgI2RlZmluZSBIQVZF X1RZUEVPRiAxCnwgI2RlZmluZSBIQVZFX19CVUlMVElOX1RZUEVTX0NPTVBBVElCTEVfUCAxCnwg I2RlZmluZSBIQVZFX19CVUlMVElOX0JTV0FQMTYgMQp8ICNkZWZpbmUgSEFWRV9fQlVJTFRJTl9C U1dBUDMyIDEKfCAjZGVmaW5lIEhBVkVfX0JVSUxUSU5fQlNXQVA2NCAxCnwgI2RlZmluZSBIQVZF X19CVUlMVElOX0NPTlNUQU5UX1AgMQp8ICNkZWZpbmUgSEFWRV9fQlVJTFRJTl9VTlJFQUNIQUJM RSAxCnwgI2RlZmluZSBIQVZFX0NPTVBVVEVEX0dPVE8gMQp8ICNkZWZpbmUgSEFWRV9fVkFfQVJH UyAxCnwgI2RlZmluZSBIQVZFX1RaTkFNRSAxCnwgI2RlZmluZSBIQVZFX1NUUlVDVF9TT0NLQURE Ul9TVE9SQUdFIDEKfCAjZGVmaW5lIEhBVkVfU1RSVUNUX1NPQ0tBRERSX1NUT1JBR0VfU1NfRkFN SUxZIDEKfCAjZGVmaW5lIEhBVkVfU1RSVUNUX0FERFJJTkZPIDEKfCAjZGVmaW5lIEhBVkVfSU5U UFRSX1QgMQp8ICNkZWZpbmUgSEFWRV9VSU5UUFRSX1QgMQp8ICNkZWZpbmUgSEFWRV9VTlNJR05F RF9MT05HX0xPTkdfSU5UIDEKfCAjZGVmaW5lIEhBVkVfTE9OR19MT05HX0lOVCAxCnwgI2RlZmlu ZSByZXN0cmljdCBfX3Jlc3RyaWN0CnwgI2RlZmluZSBwZ19yZXN0cmljdCBfX3Jlc3RyaWN0Cnwg I2RlZmluZSBIQVZFX1NUUlVDVF9PUFRJT04gMQp8ICNkZWZpbmUgU0laRU9GX09GRl9UIDQKfCAj ZGVmaW5lIFNJWkVPRl9CT09MIDEKfCAjZGVmaW5lIEhBVkVfSU5UX1RJTUVaT05FIDEKfCAjZGVm aW5lIEFDQ0VQVF9UWVBFX1JFVFVSTiBTT0NLRVQgV1NBQVBJCnwgI2RlZmluZSBBQ0NFUFRfVFlQ RV9BUkcxIFNPQ0tFVAp8ICNkZWZpbmUgQUNDRVBUX1RZUEVfQVJHMiBzdHJ1Y3Qgc29ja2FkZHIg Kgp8ICNkZWZpbmUgQUNDRVBUX1RZUEVfQVJHMyBpbnQKfCAjZGVmaW5lIEhBVkVfQ0JSVCAxCnwg I2RlZmluZSBIQVZFX0NMT0NLX0dFVFRJTUUgMQp8ICNkZWZpbmUgSEFWRV9NRU1NT1ZFIDEKfCAj ZGVmaW5lIEhBVkVfVVRJTUUgMQp8ICNkZWZpbmUgSEFWRV9GU0VFS08gMQp8ICNkZWZpbmUgSEFW RV9GU0VFS08gMQp8ICNkZWZpbmUgSEFWRV9ERUNMX1BPU0lYX0ZBRFZJU0UgMAp8ICNkZWZpbmUg SEFWRV9ERUNMX0ZEQVRBU1lOQyAwCnwgI2RlZmluZSBIQVZFX0RFQ0xfU1RSTENBVCAwCnwgI2Rl ZmluZSBIQVZFX0RFQ0xfU1RSTENQWSAwCnwgI2RlZmluZSBIQVZFX0RFQ0xfU1RSTkxFTiAxCnwg I2RlZmluZSBIQVZFX0RFQ0xfRl9GVUxMRlNZTkMgMAp8ICNkZWZpbmUgSEFWRV9JUFY2IDEKfCAj ZGVmaW5lIEhBVkVfREVDTF9TTlBSSU5URiAxCnwgI2RlZmluZSBIQVZFX0RFQ0xfVlNOUFJJTlRG IDEKfCAjZGVmaW5lIEhBVkVfSVNJTkYgMQp8ICNkZWZpbmUgSEFWRV9HRVRPUFQgMQp8ICNkZWZp bmUgSEFWRV9SSU5UIDEKfCAjZGVmaW5lIEhBVkVfU1RSRVJST1IgMQp8ICNkZWZpbmUgSEFWRV9T VFJOTEVOIDEKfCAjZGVmaW5lIEhBVkVfVU5TRVRFTlYgMQp8ICNkZWZpbmUgSEFWRV9HRVRQRUVS RUlEIDEKfCAjZGVmaW5lIEhBVkVfR0VUT1BUX0xPTkcgMQp8ICNkZWZpbmUgSEFWRV9HRVRUSU1F T0ZEQVkgMQp8ICNkZWZpbmUgSEFWRV9TWU1MSU5LIDEKfCAjZGVmaW5lIEhBVkVfTUlOSURVTVBf VFlQRSAxCnwgI2RlZmluZSBIQVZFX0RFQ0xfU1lTX1NJR0xJU1QgMAp8ICNkZWZpbmUgSEFWRV9J TlRfT1BURVJSIDEKfCAjZGVmaW5lIEhBVkVfU1RSVE9MTCAxCnwgI2RlZmluZSBIQVZFX1NUUlRP VUxMIDEKfCAjZGVmaW5lIEhBVkVfREVDTF9TVFJUT0xMIDEKfCAjZGVmaW5lIEhBVkVfREVDTF9T VFJUT1VMTCAxCnwgI2RlZmluZSBIQVZFX0xPTkdfTE9OR19JTlRfNjQgMQp8ICNkZWZpbmUgUEdf SU5UNjRfVFlQRSBsb25nIGxvbmcgaW50CnwgI2RlZmluZSBJTlQ2NF9NT0RJRklFUiAibGwiCnwg I2RlZmluZSBVU0VfUkVQTF9TTlBSSU5URiAxCnwgI2RlZmluZSBIQVZFX19CVUlMVElOX09QX09W RVJGTE9XIDEKfCAjZGVmaW5lIFNJWkVPRl9WT0lEX1AgOAp8ICNkZWZpbmUgU0laRU9GX1NJWkVf VCA4CnwgI2RlZmluZSBTSVpFT0ZfTE9ORyA0CnwgI2RlZmluZSBVU0VfRkxPQVQ0X0JZVkFMIDEK fCAjZGVmaW5lIEZMT0FUNFBBU1NCWVZBTCB0cnVlCnwgI2RlZmluZSBVU0VfRkxPQVQ4X0JZVkFM IDEKfCAjZGVmaW5lIEZMT0FUOFBBU1NCWVZBTCB0cnVlCnwgI2RlZmluZSBBTElHTk9GX1NIT1JU IDIKfCAjZGVmaW5lIEFMSUdOT0ZfSU5UIDQKfCAjZGVmaW5lIEFMSUdOT0ZfTE9ORyA0CnwgI2Rl ZmluZSBBTElHTk9GX0xPTkdfTE9OR19JTlQgOAp8ICNkZWZpbmUgQUxJR05PRl9ET1VCTEUgOAp8 ICNkZWZpbmUgTUFYSU1VTV9BTElHTk9GIDgKfCAvKiBlbmQgY29uZmRlZnMuaC4gICovCnwgI2lu Y2x1ZGUgPHN0ZGlvLmg+CnwgCnwgaW50CnwgbWFpbiAoKQp8IHsKfCBpZiAoc2l6ZW9mICh1aW50 OCkpCnwgCSByZXR1cm4gMDsKfCAgIDsKfCAgIHJldHVybiAwOwp8IH0KY29uZmlndXJlOjE2NzU1 OiByZXN1bHQ6IG5vCmNvbmZpZ3VyZToxNjc2NTogY2hlY2tpbmcgZm9yIGludDY0CmNvbmZpZ3Vy ZToxNjc2NTogeDg2XzY0LXc2NC1taW5ndzMyLWdjYyAtYyAtV2FsbCAtV21pc3NpbmctcHJvdG90 eXBlcyAtV3BvaW50ZXItYXJpdGggLVdkZWNsYXJhdGlvbi1hZnRlci1zdGF0ZW1lbnQgLVdlbmRp Zi1sYWJlbHMgLVdtaXNzaW5nLWZvcm1hdC1hdHRyaWJ1dGUgLVdmb3JtYXQtc2VjdXJpdHkgLWZu by1zdHJpY3QtYWxpYXNpbmcgLWZ3cmFwdiAtZmV4Y2Vzcy1wcmVjaXNpb249c3RhbmRhcmQgLVdu by1mb3JtYXQtdHJ1bmNhdGlvbiAtV25vLXN0cmluZ29wLXRydW5jYXRpb24gLWcgLU8gLWZuby1v bWl0LWZyYW1lLXBvaW50ZXIgIC1JL3cvUi0zLjUuXy9wb3N0Z3Jlcy9zcmMvaW5jbHVkZS9wb3J0 L3dpbjMyIC1ERVhFQ19CQUNLRU5EICAtSS93L3psaWItMS4yLjgtd2luMzIteDg2XzY0L2luY2x1 ZGUgLUkvdy9vcGVuc3NsLTEuMC4yZS13aW4zMi14ODZfNjQvaW5jbHVkZSAtSS93L2xpYnhtbDIt Mi45LjMtd2luMzIteDg2XzY0L2luY2x1ZGUvbGlieG1sMiAtSS93L2xpYnhzbHQtMS4xLjI4LXdp bjMyLXg4Nl82NC9pbmNsdWRlIGNvbmZ0ZXN0LmMgPiY1CmNvbmZ0ZXN0LmM6IEluIGZ1bmN0aW9u ICdtYWluJzoKY29uZnRlc3QuYzoxMzY6MTM6IGVycm9yOiAnaW50NjQnIHVuZGVjbGFyZWQgKGZp cnN0IHVzZSBpbiB0aGlzIGZ1bmN0aW9uKTsgZGlkIHlvdSBtZWFuICdpbnQnPwogaWYgKHNpemVv ZiAoaW50NjQpKQogICAgICAgICAgICAgXn5+fn4KICAgICAgICAgICAgIGludApjb25mdGVzdC5j OjEzNjoxMzogbm90ZTogZWFjaCB1bmRlY2xhcmVkIGlkZW50aWZpZXIgaXMgcmVwb3J0ZWQgb25s eSBvbmNlIGZvciBlYWNoIGZ1bmN0aW9uIGl0IGFwcGVhcnMgaW4KY29uZmlndXJlOjE2NzY1OiAk PyA9IDEKY29uZmlndXJlOiBmYWlsZWQgcHJvZ3JhbSB3YXM6CnwgLyogY29uZmRlZnMuaCAqLwp8 ICNkZWZpbmUgUEFDS0FHRV9OQU1FICJQb3N0Z3JlU1FMIgp8ICNkZWZpbmUgUEFDS0FHRV9UQVJO QU1FICJwb3N0Z3Jlc3FsIgp8ICNkZWZpbmUgUEFDS0FHRV9WRVJTSU9OICIxMWJldGEzIgp8ICNk ZWZpbmUgUEFDS0FHRV9TVFJJTkcgIlBvc3RncmVTUUwgMTFiZXRhMyIKfCAjZGVmaW5lIFBBQ0tB R0VfQlVHUkVQT1JUICJwZ3NxbC1idWdzQHBvc3RncmVzcWwub3JnIgp8ICNkZWZpbmUgUEFDS0FH RV9VUkwgIiIKfCAjZGVmaW5lIFBHX01BSk9SVkVSU0lPTiAiMTEiCnwgI2RlZmluZSBQR19WRVJT SU9OICIxMWJldGEzIgp8ICNkZWZpbmUgREVGX1BHUE9SVCA1NDMyCnwgI2RlZmluZSBERUZfUEdQ T1JUX1NUUiAiNTQzMiIKfCAjZGVmaW5lIEJMQ0tTWiA4MTkyCnwgI2RlZmluZSBSRUxTRUdfU0la RSAxMzEwNzIKfCAjZGVmaW5lIFhMT0dfQkxDS1NaIDgxOTIKfCAjZGVmaW5lIFVTRV9BU1NFUlRf Q0hFQ0tJTkcgMQp8ICNkZWZpbmUgRU5BQkxFX1RIUkVBRF9TQUZFVFkgMQp8ICNkZWZpbmUgVVNF X0lDVSAxCnwgI2RlZmluZSBQR19LUkJfU1JWTkFNICJwb3N0Z3JlcyIKfCAjZGVmaW5lIFVTRV9P UEVOU1NMIDEKfCAjZGVmaW5lIFVTRV9MSUJYTUwgMQp8ICNkZWZpbmUgVVNFX0xJQlhTTFQgMQp8 ICNkZWZpbmUgU1REQ19IRUFERVJTIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1RZUEVTX0ggMQp8ICNk ZWZpbmUgSEFWRV9TWVNfU1RBVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1RETElCX0ggMQp8ICNkZWZp bmUgSEFWRV9TVFJJTkdfSCAxCnwgI2RlZmluZSBIQVZFX01FTU9SWV9IIDEKfCAjZGVmaW5lIEhB VkVfU1RSSU5HU19IIDEKfCAjZGVmaW5lIEhBVkVfSU5UVFlQRVNfSCAxCnwgI2RlZmluZSBIQVZF X1NURElOVF9IIDEKfCAjZGVmaW5lIEhBVkVfVU5JU1REX0ggMQp8ICNkZWZpbmUgSEFWRV9MSUJN IDEKfCAjZGVmaW5lIEhBVkVfTElCWiAxCnwgI2RlZmluZSBIQVZFX1NQSU5MT0NLUyAxCnwgI2Rl ZmluZSBIQVZFX0FUT01JQ1MgMQp8ICNkZWZpbmUgSEFWRV9TU0xfR0VUX0NVUlJFTlRfQ09NUFJF U1NJT04gMQp8ICNkZWZpbmUgSEFWRV9YNTA5X0dFVF9TSUdOQVRVUkVfTklEIDEKfCAjZGVmaW5l IEhBVkVfQ1JZUFRPX0xPQ0sgMQp8ICNkZWZpbmUgSEFWRV9MSUJYTUwyIDEKfCAjZGVmaW5lIEhB VkVfTElCWFNMVCAxCnwgI2RlZmluZSBIQVZFX19CT09MIDEKfCAjZGVmaW5lIEhBVkVfU1REQk9P TF9IIDEKfCAjZGVmaW5lIEhBVkVfR0VUT1BUX0ggMQp8ICNkZWZpbmUgSEFWRV9JRUVFRlBfSCAx CnwgI2RlZmluZSBIQVZFX1VUSU1FX0ggMQp8ICNkZWZpbmUgSEFWRV9XQ0hBUl9IIDEKfCAjZGVm aW5lIEhBVkVfV0NUWVBFX0ggMQp8ICNkZWZpbmUgSEFWRV9DUlRERUZTX0ggMQp8ICNkZWZpbmUg UEdfUFJJTlRGX0FUVFJJQlVURSBnbnVfcHJpbnRmCnwgI2RlZmluZSBGTEVYSUJMRV9BUlJBWV9N RU1CRVIgLyoqLwp8ICNkZWZpbmUgSEFWRV9GVU5DTkFNRV9fRlVOQyAxCnwgI2RlZmluZSBIQVZF X19TVEFUSUNfQVNTRVJUIDEKfCAjZGVmaW5lIEhBVkVfVFlQRU9GIDEKfCAjZGVmaW5lIEhBVkVf X0JVSUxUSU5fVFlQRVNfQ09NUEFUSUJMRV9QIDEKfCAjZGVmaW5lIEhBVkVfX0JVSUxUSU5fQlNX QVAxNiAxCnwgI2RlZmluZSBIQVZFX19CVUlMVElOX0JTV0FQMzIgMQp8ICNkZWZpbmUgSEFWRV9f QlVJTFRJTl9CU1dBUDY0IDEKfCAjZGVmaW5lIEhBVkVfX0JVSUxUSU5fQ09OU1RBTlRfUCAxCnwg I2RlZmluZSBIQVZFX19CVUlMVElOX1VOUkVBQ0hBQkxFIDEKfCAjZGVmaW5lIEhBVkVfQ09NUFVU RURfR09UTyAxCnwgI2RlZmluZSBIQVZFX19WQV9BUkdTIDEKfCAjZGVmaW5lIEhBVkVfVFpOQU1F IDEKfCAjZGVmaW5lIEhBVkVfU1RSVUNUX1NPQ0tBRERSX1NUT1JBR0UgMQp8ICNkZWZpbmUgSEFW RV9TVFJVQ1RfU09DS0FERFJfU1RPUkFHRV9TU19GQU1JTFkgMQp8ICNkZWZpbmUgSEFWRV9TVFJV Q1RfQUREUklORk8gMQp8ICNkZWZpbmUgSEFWRV9JTlRQVFJfVCAxCnwgI2RlZmluZSBIQVZFX1VJ TlRQVFJfVCAxCnwgI2RlZmluZSBIQVZFX1VOU0lHTkVEX0xPTkdfTE9OR19JTlQgMQp8ICNkZWZp bmUgSEFWRV9MT05HX0xPTkdfSU5UIDEKfCAjZGVmaW5lIHJlc3RyaWN0IF9fcmVzdHJpY3QKfCAj ZGVmaW5lIHBnX3Jlc3RyaWN0IF9fcmVzdHJpY3QKfCAjZGVmaW5lIEhBVkVfU1RSVUNUX09QVElP TiAxCnwgI2RlZmluZSBTSVpFT0ZfT0ZGX1QgNAp8ICNkZWZpbmUgU0laRU9GX0JPT0wgMQp8ICNk ZWZpbmUgSEFWRV9JTlRfVElNRVpPTkUgMQp8ICNkZWZpbmUgQUNDRVBUX1RZUEVfUkVUVVJOIFNP Q0tFVCBXU0FBUEkKfCAjZGVmaW5lIEFDQ0VQVF9UWVBFX0FSRzEgU09DS0VUCnwgI2RlZmluZSBB Q0NFUFRfVFlQRV9BUkcyIHN0cnVjdCBzb2NrYWRkciAqCnwgI2RlZmluZSBBQ0NFUFRfVFlQRV9B UkczIGludAp8ICNkZWZpbmUgSEFWRV9DQlJUIDEKfCAjZGVmaW5lIEhBVkVfQ0xPQ0tfR0VUVElN RSAxCnwgI2RlZmluZSBIQVZFX01FTU1PVkUgMQp8ICNkZWZpbmUgSEFWRV9VVElNRSAxCnwgI2Rl ZmluZSBIQVZFX0ZTRUVLTyAxCnwgI2RlZmluZSBIQVZFX0ZTRUVLTyAxCnwgI2RlZmluZSBIQVZF X0RFQ0xfUE9TSVhfRkFEVklTRSAwCnwgI2RlZmluZSBIQVZFX0RFQ0xfRkRBVEFTWU5DIDAKfCAj ZGVmaW5lIEhBVkVfREVDTF9TVFJMQ0FUIDAKfCAjZGVmaW5lIEhBVkVfREVDTF9TVFJMQ1BZIDAK fCAjZGVmaW5lIEhBVkVfREVDTF9TVFJOTEVOIDEKfCAjZGVmaW5lIEhBVkVfREVDTF9GX0ZVTExG U1lOQyAwCnwgI2RlZmluZSBIQVZFX0lQVjYgMQp8ICNkZWZpbmUgSEFWRV9ERUNMX1NOUFJJTlRG IDEKfCAjZGVmaW5lIEhBVkVfREVDTF9WU05QUklOVEYgMQp8ICNkZWZpbmUgSEFWRV9JU0lORiAx CnwgI2RlZmluZSBIQVZFX0dFVE9QVCAxCnwgI2RlZmluZSBIQVZFX1JJTlQgMQp8ICNkZWZpbmUg SEFWRV9TVFJFUlJPUiAxCnwgI2RlZmluZSBIQVZFX1NUUk5MRU4gMQp8ICNkZWZpbmUgSEFWRV9V TlNFVEVOViAxCnwgI2RlZmluZSBIQVZFX0dFVFBFRVJFSUQgMQp8ICNkZWZpbmUgSEFWRV9HRVRP UFRfTE9ORyAxCnwgI2RlZmluZSBIQVZFX0dFVFRJTUVPRkRBWSAxCnwgI2RlZmluZSBIQVZFX1NZ TUxJTksgMQp8ICNkZWZpbmUgSEFWRV9NSU5JRFVNUF9UWVBFIDEKfCAjZGVmaW5lIEhBVkVfREVD TF9TWVNfU0lHTElTVCAwCnwgI2RlZmluZSBIQVZFX0lOVF9PUFRFUlIgMQp8ICNkZWZpbmUgSEFW RV9TVFJUT0xMIDEKfCAjZGVmaW5lIEhBVkVfU1RSVE9VTEwgMQp8ICNkZWZpbmUgSEFWRV9ERUNM X1NUUlRPTEwgMQp8ICNkZWZpbmUgSEFWRV9ERUNMX1NUUlRPVUxMIDEKfCAjZGVmaW5lIEhBVkVf TE9OR19MT05HX0lOVF82NCAxCnwgI2RlZmluZSBQR19JTlQ2NF9UWVBFIGxvbmcgbG9uZyBpbnQK fCAjZGVmaW5lIElOVDY0X01PRElGSUVSICJsbCIKfCAjZGVmaW5lIFVTRV9SRVBMX1NOUFJJTlRG IDEKfCAjZGVmaW5lIEhBVkVfX0JVSUxUSU5fT1BfT1ZFUkZMT1cgMQp8ICNkZWZpbmUgU0laRU9G X1ZPSURfUCA4CnwgI2RlZmluZSBTSVpFT0ZfU0laRV9UIDgKfCAjZGVmaW5lIFNJWkVPRl9MT05H IDQKfCAjZGVmaW5lIFVTRV9GTE9BVDRfQllWQUwgMQp8ICNkZWZpbmUgRkxPQVQ0UEFTU0JZVkFM IHRydWUKfCAjZGVmaW5lIFVTRV9GTE9BVDhfQllWQUwgMQp8ICNkZWZpbmUgRkxPQVQ4UEFTU0JZ VkFMIHRydWUKfCAjZGVmaW5lIEFMSUdOT0ZfU0hPUlQgMgp8ICNkZWZpbmUgQUxJR05PRl9JTlQg NAp8ICNkZWZpbmUgQUxJR05PRl9MT05HIDQKfCAjZGVmaW5lIEFMSUdOT0ZfTE9OR19MT05HX0lO VCA4CnwgI2RlZmluZSBBTElHTk9GX0RPVUJMRSA4CnwgI2RlZmluZSBNQVhJTVVNX0FMSUdOT0Yg OAp8IC8qIGVuZCBjb25mZGVmcy5oLiAgKi8KfCAjaW5jbHVkZSA8c3RkaW8uaD4KfCAKfCBpbnQK fCBtYWluICgpCnwgewp8IGlmIChzaXplb2YgKGludDY0KSkKfCAJIHJldHVybiAwOwp8ICAgOwp8 ICAgcmV0dXJuIDA7CnwgfQpjb25maWd1cmU6MTY3NjU6IHJlc3VsdDogbm8KY29uZmlndXJlOjE2 Nzc1OiBjaGVja2luZyBmb3IgdWludDY0CmNvbmZpZ3VyZToxNjc3NTogeDg2XzY0LXc2NC1taW5n dzMyLWdjYyAtYyAtV2FsbCAtV21pc3NpbmctcHJvdG90eXBlcyAtV3BvaW50ZXItYXJpdGggLVdk ZWNsYXJhdGlvbi1hZnRlci1zdGF0ZW1lbnQgLVdlbmRpZi1sYWJlbHMgLVdtaXNzaW5nLWZvcm1h dC1hdHRyaWJ1dGUgLVdmb3JtYXQtc2VjdXJpdHkgLWZuby1zdHJpY3QtYWxpYXNpbmcgLWZ3cmFw diAtZmV4Y2Vzcy1wcmVjaXNpb249c3RhbmRhcmQgLVduby1mb3JtYXQtdHJ1bmNhdGlvbiAtV25v LXN0cmluZ29wLXRydW5jYXRpb24gLWcgLU8gLWZuby1vbWl0LWZyYW1lLXBvaW50ZXIgIC1JL3cv Ui0zLjUuXy9wb3N0Z3Jlcy9zcmMvaW5jbHVkZS9wb3J0L3dpbjMyIC1ERVhFQ19CQUNLRU5EICAt SS93L3psaWItMS4yLjgtd2luMzIteDg2XzY0L2luY2x1ZGUgLUkvdy9vcGVuc3NsLTEuMC4yZS13 aW4zMi14ODZfNjQvaW5jbHVkZSAtSS93L2xpYnhtbDItMi45LjMtd2luMzIteDg2XzY0L2luY2x1 ZGUvbGlieG1sMiAtSS93L2xpYnhzbHQtMS4xLjI4LXdpbjMyLXg4Nl82NC9pbmNsdWRlIGNvbmZ0 ZXN0LmMgPiY1CmNvbmZ0ZXN0LmM6IEluIGZ1bmN0aW9uICdtYWluJzoKY29uZnRlc3QuYzoxMzY6 MTM6IGVycm9yOiAndWludDY0JyB1bmRlY2xhcmVkIChmaXJzdCB1c2UgaW4gdGhpcyBmdW5jdGlv bik7IGRpZCB5b3UgbWVhbiAnd2ludF90Jz8KIGlmIChzaXplb2YgKHVpbnQ2NCkpCiAgICAgICAg ICAgICBefn5+fn4KICAgICAgICAgICAgIHdpbnRfdApjb25mdGVzdC5jOjEzNjoxMzogbm90ZTog ZWFjaCB1bmRlY2xhcmVkIGlkZW50aWZpZXIgaXMgcmVwb3J0ZWQgb25seSBvbmNlIGZvciBlYWNo IGZ1bmN0aW9uIGl0IGFwcGVhcnMgaW4KY29uZmlndXJlOjE2Nzc1OiAkPyA9IDEKY29uZmlndXJl OiBmYWlsZWQgcHJvZ3JhbSB3YXM6CnwgLyogY29uZmRlZnMuaCAqLwp8ICNkZWZpbmUgUEFDS0FH RV9OQU1FICJQb3N0Z3JlU1FMIgp8ICNkZWZpbmUgUEFDS0FHRV9UQVJOQU1FICJwb3N0Z3Jlc3Fs Igp8ICNkZWZpbmUgUEFDS0FHRV9WRVJTSU9OICIxMWJldGEzIgp8ICNkZWZpbmUgUEFDS0FHRV9T VFJJTkcgIlBvc3RncmVTUUwgMTFiZXRhMyIKfCAjZGVmaW5lIFBBQ0tBR0VfQlVHUkVQT1JUICJw Z3NxbC1idWdzQHBvc3RncmVzcWwub3JnIgp8ICNkZWZpbmUgUEFDS0FHRV9VUkwgIiIKfCAjZGVm aW5lIFBHX01BSk9SVkVSU0lPTiAiMTEiCnwgI2RlZmluZSBQR19WRVJTSU9OICIxMWJldGEzIgp8 ICNkZWZpbmUgREVGX1BHUE9SVCA1NDMyCnwgI2RlZmluZSBERUZfUEdQT1JUX1NUUiAiNTQzMiIK fCAjZGVmaW5lIEJMQ0tTWiA4MTkyCnwgI2RlZmluZSBSRUxTRUdfU0laRSAxMzEwNzIKfCAjZGVm aW5lIFhMT0dfQkxDS1NaIDgxOTIKfCAjZGVmaW5lIFVTRV9BU1NFUlRfQ0hFQ0tJTkcgMQp8ICNk ZWZpbmUgRU5BQkxFX1RIUkVBRF9TQUZFVFkgMQp8ICNkZWZpbmUgVVNFX0lDVSAxCnwgI2RlZmlu ZSBQR19LUkJfU1JWTkFNICJwb3N0Z3JlcyIKfCAjZGVmaW5lIFVTRV9PUEVOU1NMIDEKfCAjZGVm aW5lIFVTRV9MSUJYTUwgMQp8ICNkZWZpbmUgVVNFX0xJQlhTTFQgMQp8ICNkZWZpbmUgU1REQ19I RUFERVJTIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1RZUEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNf U1RBVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1RETElCX0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJJTkdf SCAxCnwgI2RlZmluZSBIQVZFX01FTU9SWV9IIDEKfCAjZGVmaW5lIEhBVkVfU1RSSU5HU19IIDEK fCAjZGVmaW5lIEhBVkVfSU5UVFlQRVNfSCAxCnwgI2RlZmluZSBIQVZFX1NURElOVF9IIDEKfCAj ZGVmaW5lIEhBVkVfVU5JU1REX0ggMQp8ICNkZWZpbmUgSEFWRV9MSUJNIDEKfCAjZGVmaW5lIEhB VkVfTElCWiAxCnwgI2RlZmluZSBIQVZFX1NQSU5MT0NLUyAxCnwgI2RlZmluZSBIQVZFX0FUT01J Q1MgMQp8ICNkZWZpbmUgSEFWRV9TU0xfR0VUX0NVUlJFTlRfQ09NUFJFU1NJT04gMQp8ICNkZWZp bmUgSEFWRV9YNTA5X0dFVF9TSUdOQVRVUkVfTklEIDEKfCAjZGVmaW5lIEhBVkVfQ1JZUFRPX0xP Q0sgMQp8ICNkZWZpbmUgSEFWRV9MSUJYTUwyIDEKfCAjZGVmaW5lIEhBVkVfTElCWFNMVCAxCnwg I2RlZmluZSBIQVZFX19CT09MIDEKfCAjZGVmaW5lIEhBVkVfU1REQk9PTF9IIDEKfCAjZGVmaW5l IEhBVkVfR0VUT1BUX0ggMQp8ICNkZWZpbmUgSEFWRV9JRUVFRlBfSCAxCnwgI2RlZmluZSBIQVZF X1VUSU1FX0ggMQp8ICNkZWZpbmUgSEFWRV9XQ0hBUl9IIDEKfCAjZGVmaW5lIEhBVkVfV0NUWVBF X0ggMQp8ICNkZWZpbmUgSEFWRV9DUlRERUZTX0ggMQp8ICNkZWZpbmUgUEdfUFJJTlRGX0FUVFJJ QlVURSBnbnVfcHJpbnRmCnwgI2RlZmluZSBGTEVYSUJMRV9BUlJBWV9NRU1CRVIgLyoqLwp8ICNk ZWZpbmUgSEFWRV9GVU5DTkFNRV9fRlVOQyAxCnwgI2RlZmluZSBIQVZFX19TVEFUSUNfQVNTRVJU IDEKfCAjZGVmaW5lIEhBVkVfVFlQRU9GIDEKfCAjZGVmaW5lIEhBVkVfX0JVSUxUSU5fVFlQRVNf Q09NUEFUSUJMRV9QIDEKfCAjZGVmaW5lIEhBVkVfX0JVSUxUSU5fQlNXQVAxNiAxCnwgI2RlZmlu ZSBIQVZFX19CVUlMVElOX0JTV0FQMzIgMQp8ICNkZWZpbmUgSEFWRV9fQlVJTFRJTl9CU1dBUDY0 IDEKfCAjZGVmaW5lIEhBVkVfX0JVSUxUSU5fQ09OU1RBTlRfUCAxCnwgI2RlZmluZSBIQVZFX19C VUlMVElOX1VOUkVBQ0hBQkxFIDEKfCAjZGVmaW5lIEhBVkVfQ09NUFVURURfR09UTyAxCnwgI2Rl ZmluZSBIQVZFX19WQV9BUkdTIDEKfCAjZGVmaW5lIEhBVkVfVFpOQU1FIDEKfCAjZGVmaW5lIEhB VkVfU1RSVUNUX1NPQ0tBRERSX1NUT1JBR0UgMQp8ICNkZWZpbmUgSEFWRV9TVFJVQ1RfU09DS0FE RFJfU1RPUkFHRV9TU19GQU1JTFkgMQp8ICNkZWZpbmUgSEFWRV9TVFJVQ1RfQUREUklORk8gMQp8 ICNkZWZpbmUgSEFWRV9JTlRQVFJfVCAxCnwgI2RlZmluZSBIQVZFX1VJTlRQVFJfVCAxCnwgI2Rl ZmluZSBIQVZFX1VOU0lHTkVEX0xPTkdfTE9OR19JTlQgMQp8ICNkZWZpbmUgSEFWRV9MT05HX0xP TkdfSU5UIDEKfCAjZGVmaW5lIHJlc3RyaWN0IF9fcmVzdHJpY3QKfCAjZGVmaW5lIHBnX3Jlc3Ry aWN0IF9fcmVzdHJpY3QKfCAjZGVmaW5lIEhBVkVfU1RSVUNUX09QVElPTiAxCnwgI2RlZmluZSBT SVpFT0ZfT0ZGX1QgNAp8ICNkZWZpbmUgU0laRU9GX0JPT0wgMQp8ICNkZWZpbmUgSEFWRV9JTlRf VElNRVpPTkUgMQp8ICNkZWZpbmUgQUNDRVBUX1RZUEVfUkVUVVJOIFNPQ0tFVCBXU0FBUEkKfCAj ZGVmaW5lIEFDQ0VQVF9UWVBFX0FSRzEgU09DS0VUCnwgI2RlZmluZSBBQ0NFUFRfVFlQRV9BUkcy IHN0cnVjdCBzb2NrYWRkciAqCnwgI2RlZmluZSBBQ0NFUFRfVFlQRV9BUkczIGludAp8ICNkZWZp bmUgSEFWRV9DQlJUIDEKfCAjZGVmaW5lIEhBVkVfQ0xPQ0tfR0VUVElNRSAxCnwgI2RlZmluZSBI QVZFX01FTU1PVkUgMQp8ICNkZWZpbmUgSEFWRV9VVElNRSAxCnwgI2RlZmluZSBIQVZFX0ZTRUVL TyAxCnwgI2RlZmluZSBIQVZFX0ZTRUVLTyAxCnwgI2RlZmluZSBIQVZFX0RFQ0xfUE9TSVhfRkFE VklTRSAwCnwgI2RlZmluZSBIQVZFX0RFQ0xfRkRBVEFTWU5DIDAKfCAjZGVmaW5lIEhBVkVfREVD TF9TVFJMQ0FUIDAKfCAjZGVmaW5lIEhBVkVfREVDTF9TVFJMQ1BZIDAKfCAjZGVmaW5lIEhBVkVf REVDTF9TVFJOTEVOIDEKfCAjZGVmaW5lIEhBVkVfREVDTF9GX0ZVTExGU1lOQyAwCnwgI2RlZmlu ZSBIQVZFX0lQVjYgMQp8ICNkZWZpbmUgSEFWRV9ERUNMX1NOUFJJTlRGIDEKfCAjZGVmaW5lIEhB VkVfREVDTF9WU05QUklOVEYgMQp8ICNkZWZpbmUgSEFWRV9JU0lORiAxCnwgI2RlZmluZSBIQVZF X0dFVE9QVCAxCnwgI2RlZmluZSBIQVZFX1JJTlQgMQp8ICNkZWZpbmUgSEFWRV9TVFJFUlJPUiAx CnwgI2RlZmluZSBIQVZFX1NUUk5MRU4gMQp8ICNkZWZpbmUgSEFWRV9VTlNFVEVOViAxCnwgI2Rl ZmluZSBIQVZFX0dFVFBFRVJFSUQgMQp8ICNkZWZpbmUgSEFWRV9HRVRPUFRfTE9ORyAxCnwgI2Rl ZmluZSBIQVZFX0dFVFRJTUVPRkRBWSAxCnwgI2RlZmluZSBIQVZFX1NZTUxJTksgMQp8ICNkZWZp bmUgSEFWRV9NSU5JRFVNUF9UWVBFIDEKfCAjZGVmaW5lIEhBVkVfREVDTF9TWVNfU0lHTElTVCAw CnwgI2RlZmluZSBIQVZFX0lOVF9PUFRFUlIgMQp8ICNkZWZpbmUgSEFWRV9TVFJUT0xMIDEKfCAj ZGVmaW5lIEhBVkVfU1RSVE9VTEwgMQp8ICNkZWZpbmUgSEFWRV9ERUNMX1NUUlRPTEwgMQp8ICNk ZWZpbmUgSEFWRV9ERUNMX1NUUlRPVUxMIDEKfCAjZGVmaW5lIEhBVkVfTE9OR19MT05HX0lOVF82 NCAxCnwgI2RlZmluZSBQR19JTlQ2NF9UWVBFIGxvbmcgbG9uZyBpbnQKfCAjZGVmaW5lIElOVDY0 X01PRElGSUVSICJsbCIKfCAjZGVmaW5lIFVTRV9SRVBMX1NOUFJJTlRGIDEKfCAjZGVmaW5lIEhB VkVfX0JVSUxUSU5fT1BfT1ZFUkZMT1cgMQp8ICNkZWZpbmUgU0laRU9GX1ZPSURfUCA4CnwgI2Rl ZmluZSBTSVpFT0ZfU0laRV9UIDgKfCAjZGVmaW5lIFNJWkVPRl9MT05HIDQKfCAjZGVmaW5lIFVT RV9GTE9BVDRfQllWQUwgMQp8ICNkZWZpbmUgRkxPQVQ0UEFTU0JZVkFMIHRydWUKfCAjZGVmaW5l IFVTRV9GTE9BVDhfQllWQUwgMQp8ICNkZWZpbmUgRkxPQVQ4UEFTU0JZVkFMIHRydWUKfCAjZGVm aW5lIEFMSUdOT0ZfU0hPUlQgMgp8ICNkZWZpbmUgQUxJR05PRl9JTlQgNAp8ICNkZWZpbmUgQUxJ R05PRl9MT05HIDQKfCAjZGVmaW5lIEFMSUdOT0ZfTE9OR19MT05HX0lOVCA4CnwgI2RlZmluZSBB TElHTk9GX0RPVUJMRSA4CnwgI2RlZmluZSBNQVhJTVVNX0FMSUdOT0YgOAp8IC8qIGVuZCBjb25m ZGVmcy5oLiAgKi8KfCAjaW5jbHVkZSA8c3RkaW8uaD4KfCAKfCBpbnQKfCBtYWluICgpCnwgewp8 IGlmIChzaXplb2YgKHVpbnQ2NCkpCnwgCSByZXR1cm4gMDsKfCAgIDsKfCAgIHJldHVybiAwOwp8 IH0KY29uZmlndXJlOjE2Nzc1OiByZXN1bHQ6IG5vCmNvbmZpZ3VyZToxNjc4ODogY2hlY2tpbmcg Zm9yIF9faW50MTI4CmNvbmZpZ3VyZToxNjgyNTogeDg2XzY0LXc2NC1taW5ndzMyLWdjYyAtbyBj b25mdGVzdC5leGUgLVdhbGwgLVdtaXNzaW5nLXByb3RvdHlwZXMgLVdwb2ludGVyLWFyaXRoIC1X ZGVjbGFyYXRpb24tYWZ0ZXItc3RhdGVtZW50IC1XZW5kaWYtbGFiZWxzIC1XbWlzc2luZy1mb3Jt YXQtYXR0cmlidXRlIC1XZm9ybWF0LXNlY3VyaXR5IC1mbm8tc3RyaWN0LWFsaWFzaW5nIC1md3Jh cHYgLWZleGNlc3MtcHJlY2lzaW9uPXN0YW5kYXJkIC1Xbm8tZm9ybWF0LXRydW5jYXRpb24gLVdu by1zdHJpbmdvcC10cnVuY2F0aW9uIC1nIC1PIC1mbm8tb21pdC1mcmFtZS1wb2ludGVyICAtSS93 L1ItMy41Ll8vcG9zdGdyZXMvc3JjL2luY2x1ZGUvcG9ydC93aW4zMiAtREVYRUNfQkFDS0VORCAg LUkvdy96bGliLTEuMi44LXdpbjMyLXg4Nl82NC9pbmNsdWRlIC1JL3cvb3BlbnNzbC0xLjAuMmUt d2luMzIteDg2XzY0L2luY2x1ZGUgLUkvdy9saWJ4bWwyLTIuOS4zLXdpbjMyLXg4Nl82NC9pbmNs dWRlL2xpYnhtbDIgLUkvdy9saWJ4c2x0LTEuMS4yOC13aW4zMi14ODZfNjQvaW5jbHVkZSAgLVds LC0tYWxsb3ctbXVsdGlwbGUtZGVmaW5pdGlvbiAtV2wsLS1kaXNhYmxlLWF1dG8taW1wb3J0ICAt TC93L3psaWItMS4yLjgtd2luMzIteDg2XzY0L2xpYiAtTC93L29wZW5zc2wtMS4wLjJlLXdpbjMy LXg4Nl82NC9saWIgLUwvdy9saWJ4bWwyLTIuOS4zLXdpbjMyLXg4Nl82NC9saWIgLUwvdy9saWJ4 c2x0LTEuMS4yOC13aW4zMi14ODZfNjQvbGliIGNvbmZ0ZXN0LmMgLWx4c2x0IC1seG1sMiAtbHNz bCAtbGNyeXB0byAtbHogLWx3czJfMzIgLWxtICA+JjUKY29uZmlndXJlOjE2ODI1OiAkPyA9IDAK Y29uZmlndXJlOjE2ODMzOiByZXN1bHQ6IHllcwpjb25maWd1cmU6MTY4NDA6IGNoZWNraW5nIGZv ciBfX2ludDEyOCBhbGlnbm1lbnQgYnVnCmNvbmZpZ3VyZToxNjg3ODogeDg2XzY0LXc2NC1taW5n dzMyLWdjYyAtbyBjb25mdGVzdC5leGUgLVdhbGwgLVdtaXNzaW5nLXByb3RvdHlwZXMgLVdwb2lu dGVyLWFyaXRoIC1XZGVjbGFyYXRpb24tYWZ0ZXItc3RhdGVtZW50IC1XZW5kaWYtbGFiZWxzIC1X bWlzc2luZy1mb3JtYXQtYXR0cmlidXRlIC1XZm9ybWF0LXNlY3VyaXR5IC1mbm8tc3RyaWN0LWFs aWFzaW5nIC1md3JhcHYgLWZleGNlc3MtcHJlY2lzaW9uPXN0YW5kYXJkIC1Xbm8tZm9ybWF0LXRy dW5jYXRpb24gLVduby1zdHJpbmdvcC10cnVuY2F0aW9uIC1nIC1PIC1mbm8tb21pdC1mcmFtZS1w b2ludGVyICAtSS93L1ItMy41Ll8vcG9zdGdyZXMvc3JjL2luY2x1ZGUvcG9ydC93aW4zMiAtREVY RUNfQkFDS0VORCAgLUkvdy96bGliLTEuMi44LXdpbjMyLXg4Nl82NC9pbmNsdWRlIC1JL3cvb3Bl bnNzbC0xLjAuMmUtd2luMzIteDg2XzY0L2luY2x1ZGUgLUkvdy9saWJ4bWwyLTIuOS4zLXdpbjMy LXg4Nl82NC9pbmNsdWRlL2xpYnhtbDIgLUkvdy9saWJ4c2x0LTEuMS4yOC13aW4zMi14ODZfNjQv aW5jbHVkZSAgLVdsLC0tYWxsb3ctbXVsdGlwbGUtZGVmaW5pdGlvbiAtV2wsLS1kaXNhYmxlLWF1 dG8taW1wb3J0ICAtTC93L3psaWItMS4yLjgtd2luMzIteDg2XzY0L2xpYiAtTC93L29wZW5zc2wt MS4wLjJlLXdpbjMyLXg4Nl82NC9saWIgLUwvdy9saWJ4bWwyLTIuOS4zLXdpbjMyLXg4Nl82NC9s aWIgLUwvdy9saWJ4c2x0LTEuMS4yOC13aW4zMi14ODZfNjQvbGliIGNvbmZ0ZXN0LmMgLWx4c2x0 IC1seG1sMiAtbHNzbCAtbGNyeXB0byAtbHogLWx3czJfMzIgLWxtICA+JjUKY29uZnRlc3QuYzox NDI6Njogd2FybmluZzogbm8gcHJldmlvdXMgcHJvdG90eXBlIGZvciAncGFzc19ieV92YWwnIFst V21pc3NpbmctcHJvdG90eXBlc10KIHZvaWQgcGFzc19ieV92YWwodm9pZCAqYnVmZmVyLCBpbnQx MjhhIHBhcikgeyBob2xkZXIgPSBwYXI7IH0KICAgICAgXn5+fn5+fn5+fn4KY29uZnRlc3QuYzog SW4gZnVuY3Rpb24gJ21haW4nOgpjb25mdGVzdC5jOjE0ODoyNjogd2FybmluZzogcmVzdWx0IG9m ICc5NzY1NjIyNSA8PCAxMicgcmVxdWlyZXMgNDAgYml0cyB0byByZXByZXNlbnQsIGJ1dCAnbG9u ZyBpbnQnIG9ubHkgaGFzIDMyIGJpdHMgWy1Xc2hpZnQtb3ZlcmZsb3c9XQogbG9uZyBpbnQgaTY0 ID0gOTc2NTYyMjVMIDw8IDEyOwogICAgICAgICAgICAgICAgICAgICAgICAgIF5+CmNvbmZpZ3Vy ZToxNjg3ODogJD8gPSAwCmNvbmZpZ3VyZToxNjg3ODogLi9jb25mdGVzdC5leGUKY29uZmlndXJl OjE2ODc4OiAkPyA9IDAKY29uZmlndXJlOjE2ODg4OiByZXN1bHQ6IG9rCmNvbmZpZ3VyZToxNjg5 NjogY2hlY2tpbmcgYWxpZ25tZW50IG9mIFBHX0lOVDEyOF9UWVBFCmNvbmZpZ3VyZToxNjkwMTog eDg2XzY0LXc2NC1taW5ndzMyLWdjYyAtbyBjb25mdGVzdC5leGUgLVdhbGwgLVdtaXNzaW5nLXBy b3RvdHlwZXMgLVdwb2ludGVyLWFyaXRoIC1XZGVjbGFyYXRpb24tYWZ0ZXItc3RhdGVtZW50IC1X ZW5kaWYtbGFiZWxzIC1XbWlzc2luZy1mb3JtYXQtYXR0cmlidXRlIC1XZm9ybWF0LXNlY3VyaXR5 IC1mbm8tc3RyaWN0LWFsaWFzaW5nIC1md3JhcHYgLWZleGNlc3MtcHJlY2lzaW9uPXN0YW5kYXJk IC1Xbm8tZm9ybWF0LXRydW5jYXRpb24gLVduby1zdHJpbmdvcC10cnVuY2F0aW9uIC1nIC1PIC1m bm8tb21pdC1mcmFtZS1wb2ludGVyICAtSS93L1ItMy41Ll8vcG9zdGdyZXMvc3JjL2luY2x1ZGUv cG9ydC93aW4zMiAtREVYRUNfQkFDS0VORCAgLUkvdy96bGliLTEuMi44LXdpbjMyLXg4Nl82NC9p bmNsdWRlIC1JL3cvb3BlbnNzbC0xLjAuMmUtd2luMzIteDg2XzY0L2luY2x1ZGUgLUkvdy9saWJ4 bWwyLTIuOS4zLXdpbjMyLXg4Nl82NC9pbmNsdWRlL2xpYnhtbDIgLUkvdy9saWJ4c2x0LTEuMS4y OC13aW4zMi14ODZfNjQvaW5jbHVkZSAgLVdsLC0tYWxsb3ctbXVsdGlwbGUtZGVmaW5pdGlvbiAt V2wsLS1kaXNhYmxlLWF1dG8taW1wb3J0ICAtTC93L3psaWItMS4yLjgtd2luMzIteDg2XzY0L2xp YiAtTC93L29wZW5zc2wtMS4wLjJlLXdpbjMyLXg4Nl82NC9saWIgLUwvdy9saWJ4bWwyLTIuOS4z LXdpbjMyLXg4Nl82NC9saWIgLUwvdy9saWJ4c2x0LTEuMS4yOC13aW4zMi14ODZfNjQvbGliIGNv bmZ0ZXN0LmMgLWx4c2x0IC1seG1sMiAtbHNzbCAtbGNyeXB0byAtbHogLWx3czJfMzIgLWxtICA+ JjUKY29uZmlndXJlOjE2OTAxOiAkPyA9IDAKY29uZmlndXJlOjE2OTAxOiAuL2NvbmZ0ZXN0LmV4 ZQpjb25maWd1cmU6MTY5MDE6ICQ/ID0gMApjb25maWd1cmU6MTY5MTk6IHJlc3VsdDogMTYKY29u ZmlndXJlOjE2OTM0OiBjaGVja2luZyBmb3IgYnVpbHRpbiBfX3N5bmMgY2hhciBsb2NraW5nIGZ1 bmN0aW9ucwpjb25maWd1cmU6MTY5NTI6IHg4Nl82NC13NjQtbWluZ3czMi1nY2MgLW8gY29uZnRl c3QuZXhlIC1XYWxsIC1XbWlzc2luZy1wcm90b3R5cGVzIC1XcG9pbnRlci1hcml0aCAtV2RlY2xh cmF0aW9uLWFmdGVyLXN0YXRlbWVudCAtV2VuZGlmLWxhYmVscyAtV21pc3NpbmctZm9ybWF0LWF0 dHJpYnV0ZSAtV2Zvcm1hdC1zZWN1cml0eSAtZm5vLXN0cmljdC1hbGlhc2luZyAtZndyYXB2IC1m ZXhjZXNzLXByZWNpc2lvbj1zdGFuZGFyZCAtV25vLWZvcm1hdC10cnVuY2F0aW9uIC1Xbm8tc3Ry aW5nb3AtdHJ1bmNhdGlvbiAtZyAtTyAtZm5vLW9taXQtZnJhbWUtcG9pbnRlciAgLUkvdy9SLTMu NS5fL3Bvc3RncmVzL3NyYy9pbmNsdWRlL3BvcnQvd2luMzIgLURFWEVDX0JBQ0tFTkQgIC1JL3cv emxpYi0xLjIuOC13aW4zMi14ODZfNjQvaW5jbHVkZSAtSS93L29wZW5zc2wtMS4wLjJlLXdpbjMy LXg4Nl82NC9pbmNsdWRlIC1JL3cvbGlieG1sMi0yLjkuMy13aW4zMi14ODZfNjQvaW5jbHVkZS9s aWJ4bWwyIC1JL3cvbGlieHNsdC0xLjEuMjgtd2luMzIteDg2XzY0L2luY2x1ZGUgIC1XbCwtLWFs bG93LW11bHRpcGxlLWRlZmluaXRpb24gLVdsLC0tZGlzYWJsZS1hdXRvLWltcG9ydCAgLUwvdy96 bGliLTEuMi44LXdpbjMyLXg4Nl82NC9saWIgLUwvdy9vcGVuc3NsLTEuMC4yZS13aW4zMi14ODZf NjQvbGliIC1ML3cvbGlieG1sMi0yLjkuMy13aW4zMi14ODZfNjQvbGliIC1ML3cvbGlieHNsdC0x LjEuMjgtd2luMzIteDg2XzY0L2xpYiBjb25mdGVzdC5jIC1seHNsdCAtbHhtbDIgLWxzc2wgLWxj cnlwdG8gLWx6IC1sd3MyXzMyIC1sbSAgPiY1CmNvbmZpZ3VyZToxNjk1MjogJD8gPSAwCmNvbmZp Z3VyZToxNjk2MDogcmVzdWx0OiB5ZXMKY29uZmlndXJlOjE2OTY3OiBjaGVja2luZyBmb3IgYnVp bHRpbiBfX3N5bmMgaW50MzIgbG9ja2luZyBmdW5jdGlvbnMKY29uZmlndXJlOjE2OTg1OiB4ODZf NjQtdzY0LW1pbmd3MzItZ2NjIC1vIGNvbmZ0ZXN0LmV4ZSAtV2FsbCAtV21pc3NpbmctcHJvdG90 eXBlcyAtV3BvaW50ZXItYXJpdGggLVdkZWNsYXJhdGlvbi1hZnRlci1zdGF0ZW1lbnQgLVdlbmRp Zi1sYWJlbHMgLVdtaXNzaW5nLWZvcm1hdC1hdHRyaWJ1dGUgLVdmb3JtYXQtc2VjdXJpdHkgLWZu by1zdHJpY3QtYWxpYXNpbmcgLWZ3cmFwdiAtZmV4Y2Vzcy1wcmVjaXNpb249c3RhbmRhcmQgLVdu by1mb3JtYXQtdHJ1bmNhdGlvbiAtV25vLXN0cmluZ29wLXRydW5jYXRpb24gLWcgLU8gLWZuby1v bWl0LWZyYW1lLXBvaW50ZXIgIC1JL3cvUi0zLjUuXy9wb3N0Z3Jlcy9zcmMvaW5jbHVkZS9wb3J0 L3dpbjMyIC1ERVhFQ19CQUNLRU5EICAtSS93L3psaWItMS4yLjgtd2luMzIteDg2XzY0L2luY2x1 ZGUgLUkvdy9vcGVuc3NsLTEuMC4yZS13aW4zMi14ODZfNjQvaW5jbHVkZSAtSS93L2xpYnhtbDIt Mi45LjMtd2luMzIteDg2XzY0L2luY2x1ZGUvbGlieG1sMiAtSS93L2xpYnhzbHQtMS4xLjI4LXdp bjMyLXg4Nl82NC9pbmNsdWRlICAtV2wsLS1hbGxvdy1tdWx0aXBsZS1kZWZpbml0aW9uIC1XbCwt LWRpc2FibGUtYXV0by1pbXBvcnQgIC1ML3cvemxpYi0xLjIuOC13aW4zMi14ODZfNjQvbGliIC1M L3cvb3BlbnNzbC0xLjAuMmUtd2luMzIteDg2XzY0L2xpYiAtTC93L2xpYnhtbDItMi45LjMtd2lu MzIteDg2XzY0L2xpYiAtTC93L2xpYnhzbHQtMS4xLjI4LXdpbjMyLXg4Nl82NC9saWIgY29uZnRl c3QuYyAtbHhzbHQgLWx4bWwyIC1sc3NsIC1sY3J5cHRvIC1seiAtbHdzMl8zMiAtbG0gID4mNQpj b25maWd1cmU6MTY5ODU6ICQ/ID0gMApjb25maWd1cmU6MTY5OTM6IHJlc3VsdDogeWVzCmNvbmZp Z3VyZToxNzAwMDogY2hlY2tpbmcgZm9yIGJ1aWx0aW4gX19zeW5jIGludDMyIGF0b21pYyBvcGVy YXRpb25zCmNvbmZpZ3VyZToxNzAxNzogeDg2XzY0LXc2NC1taW5ndzMyLWdjYyAtbyBjb25mdGVz dC5leGUgLVdhbGwgLVdtaXNzaW5nLXByb3RvdHlwZXMgLVdwb2ludGVyLWFyaXRoIC1XZGVjbGFy YXRpb24tYWZ0ZXItc3RhdGVtZW50IC1XZW5kaWYtbGFiZWxzIC1XbWlzc2luZy1mb3JtYXQtYXR0 cmlidXRlIC1XZm9ybWF0LXNlY3VyaXR5IC1mbm8tc3RyaWN0LWFsaWFzaW5nIC1md3JhcHYgLWZl eGNlc3MtcHJlY2lzaW9uPXN0YW5kYXJkIC1Xbm8tZm9ybWF0LXRydW5jYXRpb24gLVduby1zdHJp bmdvcC10cnVuY2F0aW9uIC1nIC1PIC1mbm8tb21pdC1mcmFtZS1wb2ludGVyICAtSS93L1ItMy41 Ll8vcG9zdGdyZXMvc3JjL2luY2x1ZGUvcG9ydC93aW4zMiAtREVYRUNfQkFDS0VORCAgLUkvdy96 bGliLTEuMi44LXdpbjMyLXg4Nl82NC9pbmNsdWRlIC1JL3cvb3BlbnNzbC0xLjAuMmUtd2luMzIt eDg2XzY0L2luY2x1ZGUgLUkvdy9saWJ4bWwyLTIuOS4zLXdpbjMyLXg4Nl82NC9pbmNsdWRlL2xp YnhtbDIgLUkvdy9saWJ4c2x0LTEuMS4yOC13aW4zMi14ODZfNjQvaW5jbHVkZSAgLVdsLC0tYWxs b3ctbXVsdGlwbGUtZGVmaW5pdGlvbiAtV2wsLS1kaXNhYmxlLWF1dG8taW1wb3J0ICAtTC93L3ps aWItMS4yLjgtd2luMzIteDg2XzY0L2xpYiAtTC93L29wZW5zc2wtMS4wLjJlLXdpbjMyLXg4Nl82 NC9saWIgLUwvdy9saWJ4bWwyLTIuOS4zLXdpbjMyLXg4Nl82NC9saWIgLUwvdy9saWJ4c2x0LTEu MS4yOC13aW4zMi14ODZfNjQvbGliIGNvbmZ0ZXN0LmMgLWx4c2x0IC1seG1sMiAtbHNzbCAtbGNy eXB0byAtbHogLWx3czJfMzIgLWxtICA+JjUKY29uZmlndXJlOjE3MDE3OiAkPyA9IDAKY29uZmln dXJlOjE3MDI1OiByZXN1bHQ6IHllcwpjb25maWd1cmU6MTcwMzI6IGNoZWNraW5nIGZvciBidWls dGluIF9fc3luYyBpbnQ2NCBhdG9taWMgb3BlcmF0aW9ucwpjb25maWd1cmU6MTcwNDk6IHg4Nl82 NC13NjQtbWluZ3czMi1nY2MgLW8gY29uZnRlc3QuZXhlIC1XYWxsIC1XbWlzc2luZy1wcm90b3R5 cGVzIC1XcG9pbnRlci1hcml0aCAtV2RlY2xhcmF0aW9uLWFmdGVyLXN0YXRlbWVudCAtV2VuZGlm LWxhYmVscyAtV21pc3NpbmctZm9ybWF0LWF0dHJpYnV0ZSAtV2Zvcm1hdC1zZWN1cml0eSAtZm5v LXN0cmljdC1hbGlhc2luZyAtZndyYXB2IC1mZXhjZXNzLXByZWNpc2lvbj1zdGFuZGFyZCAtV25v LWZvcm1hdC10cnVuY2F0aW9uIC1Xbm8tc3RyaW5nb3AtdHJ1bmNhdGlvbiAtZyAtTyAtZm5vLW9t aXQtZnJhbWUtcG9pbnRlciAgLUkvdy9SLTMuNS5fL3Bvc3RncmVzL3NyYy9pbmNsdWRlL3BvcnQv d2luMzIgLURFWEVDX0JBQ0tFTkQgIC1JL3cvemxpYi0xLjIuOC13aW4zMi14ODZfNjQvaW5jbHVk ZSAtSS93L29wZW5zc2wtMS4wLjJlLXdpbjMyLXg4Nl82NC9pbmNsdWRlIC1JL3cvbGlieG1sMi0y LjkuMy13aW4zMi14ODZfNjQvaW5jbHVkZS9saWJ4bWwyIC1JL3cvbGlieHNsdC0xLjEuMjgtd2lu MzIteDg2XzY0L2luY2x1ZGUgIC1XbCwtLWFsbG93LW11bHRpcGxlLWRlZmluaXRpb24gLVdsLC0t ZGlzYWJsZS1hdXRvLWltcG9ydCAgLUwvdy96bGliLTEuMi44LXdpbjMyLXg4Nl82NC9saWIgLUwv dy9vcGVuc3NsLTEuMC4yZS13aW4zMi14ODZfNjQvbGliIC1ML3cvbGlieG1sMi0yLjkuMy13aW4z Mi14ODZfNjQvbGliIC1ML3cvbGlieHNsdC0xLjEuMjgtd2luMzIteDg2XzY0L2xpYiBjb25mdGVz dC5jIC1seHNsdCAtbHhtbDIgLWxzc2wgLWxjcnlwdG8gLWx6IC1sd3MyXzMyIC1sbSAgPiY1CmNv bmZpZ3VyZToxNzA0OTogJD8gPSAwCmNvbmZpZ3VyZToxNzA1NzogcmVzdWx0OiB5ZXMKY29uZmln dXJlOjE3MDY0OiBjaGVja2luZyBmb3IgYnVpbHRpbiBfX2F0b21pYyBpbnQzMiBhdG9taWMgb3Bl cmF0aW9ucwpjb25maWd1cmU6MTcwODI6IHg4Nl82NC13NjQtbWluZ3czMi1nY2MgLW8gY29uZnRl c3QuZXhlIC1XYWxsIC1XbWlzc2luZy1wcm90b3R5cGVzIC1XcG9pbnRlci1hcml0aCAtV2RlY2xh cmF0aW9uLWFmdGVyLXN0YXRlbWVudCAtV2VuZGlmLWxhYmVscyAtV21pc3NpbmctZm9ybWF0LWF0 dHJpYnV0ZSAtV2Zvcm1hdC1zZWN1cml0eSAtZm5vLXN0cmljdC1hbGlhc2luZyAtZndyYXB2IC1m ZXhjZXNzLXByZWNpc2lvbj1zdGFuZGFyZCAtV25vLWZvcm1hdC10cnVuY2F0aW9uIC1Xbm8tc3Ry aW5nb3AtdHJ1bmNhdGlvbiAtZyAtTyAtZm5vLW9taXQtZnJhbWUtcG9pbnRlciAgLUkvdy9SLTMu NS5fL3Bvc3RncmVzL3NyYy9pbmNsdWRlL3BvcnQvd2luMzIgLURFWEVDX0JBQ0tFTkQgIC1JL3cv emxpYi0xLjIuOC13aW4zMi14ODZfNjQvaW5jbHVkZSAtSS93L29wZW5zc2wtMS4wLjJlLXdpbjMy LXg4Nl82NC9pbmNsdWRlIC1JL3cvbGlieG1sMi0yLjkuMy13aW4zMi14ODZfNjQvaW5jbHVkZS9s aWJ4bWwyIC1JL3cvbGlieHNsdC0xLjEuMjgtd2luMzIteDg2XzY0L2luY2x1ZGUgIC1XbCwtLWFs bG93LW11bHRpcGxlLWRlZmluaXRpb24gLVdsLC0tZGlzYWJsZS1hdXRvLWltcG9ydCAgLUwvdy96 bGliLTEuMi44LXdpbjMyLXg4Nl82NC9saWIgLUwvdy9vcGVuc3NsLTEuMC4yZS13aW4zMi14ODZf NjQvbGliIC1ML3cvbGlieG1sMi0yLjkuMy13aW4zMi14ODZfNjQvbGliIC1ML3cvbGlieHNsdC0x LjEuMjgtd2luMzIteDg2XzY0L2xpYiBjb25mdGVzdC5jIC1seHNsdCAtbHhtbDIgLWxzc2wgLWxj cnlwdG8gLWx6IC1sd3MyXzMyIC1sbSAgPiY1CmNvbmZpZ3VyZToxNzA4MjogJD8gPSAwCmNvbmZp Z3VyZToxNzA5MDogcmVzdWx0OiB5ZXMKY29uZmlndXJlOjE3MDk3OiBjaGVja2luZyBmb3IgYnVp bHRpbiBfX2F0b21pYyBpbnQ2NCBhdG9taWMgb3BlcmF0aW9ucwpjb25maWd1cmU6MTcxMTU6IHg4 Nl82NC13NjQtbWluZ3czMi1nY2MgLW8gY29uZnRlc3QuZXhlIC1XYWxsIC1XbWlzc2luZy1wcm90 b3R5cGVzIC1XcG9pbnRlci1hcml0aCAtV2RlY2xhcmF0aW9uLWFmdGVyLXN0YXRlbWVudCAtV2Vu ZGlmLWxhYmVscyAtV21pc3NpbmctZm9ybWF0LWF0dHJpYnV0ZSAtV2Zvcm1hdC1zZWN1cml0eSAt Zm5vLXN0cmljdC1hbGlhc2luZyAtZndyYXB2IC1mZXhjZXNzLXByZWNpc2lvbj1zdGFuZGFyZCAt V25vLWZvcm1hdC10cnVuY2F0aW9uIC1Xbm8tc3RyaW5nb3AtdHJ1bmNhdGlvbiAtZyAtTyAtZm5v LW9taXQtZnJhbWUtcG9pbnRlciAgLUkvdy9SLTMuNS5fL3Bvc3RncmVzL3NyYy9pbmNsdWRlL3Bv cnQvd2luMzIgLURFWEVDX0JBQ0tFTkQgIC1JL3cvemxpYi0xLjIuOC13aW4zMi14ODZfNjQvaW5j bHVkZSAtSS93L29wZW5zc2wtMS4wLjJlLXdpbjMyLXg4Nl82NC9pbmNsdWRlIC1JL3cvbGlieG1s Mi0yLjkuMy13aW4zMi14ODZfNjQvaW5jbHVkZS9saWJ4bWwyIC1JL3cvbGlieHNsdC0xLjEuMjgt d2luMzIteDg2XzY0L2luY2x1ZGUgIC1XbCwtLWFsbG93LW11bHRpcGxlLWRlZmluaXRpb24gLVds LC0tZGlzYWJsZS1hdXRvLWltcG9ydCAgLUwvdy96bGliLTEuMi44LXdpbjMyLXg4Nl82NC9saWIg LUwvdy9vcGVuc3NsLTEuMC4yZS13aW4zMi14ODZfNjQvbGliIC1ML3cvbGlieG1sMi0yLjkuMy13 aW4zMi14ODZfNjQvbGliIC1ML3cvbGlieHNsdC0xLjEuMjgtd2luMzIteDg2XzY0L2xpYiBjb25m dGVzdC5jIC1seHNsdCAtbHhtbDIgLWxzc2wgLWxjcnlwdG8gLWx6IC1sd3MyXzMyIC1sbSAgPiY1 CmNvbmZpZ3VyZToxNzExNTogJD8gPSAwCmNvbmZpZ3VyZToxNzEyMzogcmVzdWx0OiB5ZXMKY29u ZmlndXJlOjE3MTMzOiBjaGVja2luZyBmb3IgX19nZXRfY3B1aWQKY29uZmlndXJlOjE3MTUxOiB4 ODZfNjQtdzY0LW1pbmd3MzItZ2NjIC1vIGNvbmZ0ZXN0LmV4ZSAtV2FsbCAtV21pc3NpbmctcHJv dG90eXBlcyAtV3BvaW50ZXItYXJpdGggLVdkZWNsYXJhdGlvbi1hZnRlci1zdGF0ZW1lbnQgLVdl bmRpZi1sYWJlbHMgLVdtaXNzaW5nLWZvcm1hdC1hdHRyaWJ1dGUgLVdmb3JtYXQtc2VjdXJpdHkg LWZuby1zdHJpY3QtYWxpYXNpbmcgLWZ3cmFwdiAtZmV4Y2Vzcy1wcmVjaXNpb249c3RhbmRhcmQg LVduby1mb3JtYXQtdHJ1bmNhdGlvbiAtV25vLXN0cmluZ29wLXRydW5jYXRpb24gLWcgLU8gLWZu by1vbWl0LWZyYW1lLXBvaW50ZXIgIC1JL3cvUi0zLjUuXy9wb3N0Z3Jlcy9zcmMvaW5jbHVkZS9w b3J0L3dpbjMyIC1ERVhFQ19CQUNLRU5EICAtSS93L3psaWItMS4yLjgtd2luMzIteDg2XzY0L2lu Y2x1ZGUgLUkvdy9vcGVuc3NsLTEuMC4yZS13aW4zMi14ODZfNjQvaW5jbHVkZSAtSS93L2xpYnht bDItMi45LjMtd2luMzIteDg2XzY0L2luY2x1ZGUvbGlieG1sMiAtSS93L2xpYnhzbHQtMS4xLjI4 LXdpbjMyLXg4Nl82NC9pbmNsdWRlICAtV2wsLS1hbGxvdy1tdWx0aXBsZS1kZWZpbml0aW9uIC1X bCwtLWRpc2FibGUtYXV0by1pbXBvcnQgIC1ML3cvemxpYi0xLjIuOC13aW4zMi14ODZfNjQvbGli IC1ML3cvb3BlbnNzbC0xLjAuMmUtd2luMzIteDg2XzY0L2xpYiAtTC93L2xpYnhtbDItMi45LjMt d2luMzIteDg2XzY0L2xpYiAtTC93L2xpYnhzbHQtMS4xLjI4LXdpbjMyLXg4Nl82NC9saWIgY29u ZnRlc3QuYyAtbHhzbHQgLWx4bWwyIC1sc3NsIC1sY3J5cHRvIC1seiAtbHdzMl8zMiAtbG0gID4m NQpjb25maWd1cmU6MTcxNTE6ICQ/ID0gMApjb25maWd1cmU6MTcxNTk6IHJlc3VsdDogeWVzCmNv bmZpZ3VyZToxNzE2NzogY2hlY2tpbmcgZm9yIF9fY3B1aWQKY29uZmlndXJlOjE3MTg1OiB4ODZf NjQtdzY0LW1pbmd3MzItZ2NjIC1vIGNvbmZ0ZXN0LmV4ZSAtV2FsbCAtV21pc3NpbmctcHJvdG90 eXBlcyAtV3BvaW50ZXItYXJpdGggLVdkZWNsYXJhdGlvbi1hZnRlci1zdGF0ZW1lbnQgLVdlbmRp Zi1sYWJlbHMgLVdtaXNzaW5nLWZvcm1hdC1hdHRyaWJ1dGUgLVdmb3JtYXQtc2VjdXJpdHkgLWZu by1zdHJpY3QtYWxpYXNpbmcgLWZ3cmFwdiAtZmV4Y2Vzcy1wcmVjaXNpb249c3RhbmRhcmQgLVdu by1mb3JtYXQtdHJ1bmNhdGlvbiAtV25vLXN0cmluZ29wLXRydW5jYXRpb24gLWcgLU8gLWZuby1v bWl0LWZyYW1lLXBvaW50ZXIgIC1JL3cvUi0zLjUuXy9wb3N0Z3Jlcy9zcmMvaW5jbHVkZS9wb3J0 L3dpbjMyIC1ERVhFQ19CQUNLRU5EICAtSS93L3psaWItMS4yLjgtd2luMzIteDg2XzY0L2luY2x1 ZGUgLUkvdy9vcGVuc3NsLTEuMC4yZS13aW4zMi14ODZfNjQvaW5jbHVkZSAtSS93L2xpYnhtbDIt Mi45LjMtd2luMzIteDg2XzY0L2luY2x1ZGUvbGlieG1sMiAtSS93L2xpYnhzbHQtMS4xLjI4LXdp bjMyLXg4Nl82NC9pbmNsdWRlICAtV2wsLS1hbGxvdy1tdWx0aXBsZS1kZWZpbml0aW9uIC1XbCwt LWRpc2FibGUtYXV0by1pbXBvcnQgIC1ML3cvemxpYi0xLjIuOC13aW4zMi14ODZfNjQvbGliIC1M L3cvb3BlbnNzbC0xLjAuMmUtd2luMzIteDg2XzY0L2xpYiAtTC93L2xpYnhtbDItMi45LjMtd2lu MzIteDg2XzY0L2xpYiAtTC93L2xpYnhzbHQtMS4xLjI4LXdpbjMyLXg4Nl82NC9saWIgY29uZnRl c3QuYyAtbHhzbHQgLWx4bWwyIC1sc3NsIC1sY3J5cHRvIC1seiAtbHdzMl8zMiAtbG0gID4mNQpj b25mdGVzdC5jOiBJbiBmdW5jdGlvbiAnbWFpbic6CmNvbmZ0ZXN0LmM6MTQ1OjM6IHdhcm5pbmc6 IGltcGxpY2l0IGRlY2xhcmF0aW9uIG9mIGZ1bmN0aW9uICdfX2dldF9jcHVpZCc7IGRpZCB5b3Ug bWVhbiAnX19jcHVpZCc/IFstV2ltcGxpY2l0LWZ1bmN0aW9uLWRlY2xhcmF0aW9uXQogICBfX2dl dF9jcHVpZChleHhbMF0sIDEpOwogICBefn5+fn5+fn5+fgogICBfX2NwdWlkCkM6L21zeXM2NC9t aW5ndzY0L2Jpbi8uLi9saWIvZ2NjL3g4Nl82NC13NjQtbWluZ3czMi84LjIuMC8uLi8uLi8uLi8u Li94ODZfNjQtdzY0LW1pbmd3MzIvYmluL2xkLmV4ZTogQzpcbXN5czY0XHRtcFxjY0diSXU1eS5v OiBpbiBmdW5jdGlvbiBgbWFpbic6DQpXOlxSLTMuNS5fXHBvc3RncmVzXGJ1aWxkL2NvbmZ0ZXN0 LmM6MTQ1OiB1bmRlZmluZWQgcmVmZXJlbmNlIHRvIGBfX2dldF9jcHVpZCcNCmNvbGxlY3QyLmV4 ZTogZXJyb3I6IGxkIHJldHVybmVkIDEgZXhpdCBzdGF0dXMKY29uZmlndXJlOjE3MTg1OiAkPyA9 IDEKY29uZmlndXJlOiBmYWlsZWQgcHJvZ3JhbSB3YXM6CnwgLyogY29uZmRlZnMuaCAqLwp8ICNk ZWZpbmUgUEFDS0FHRV9OQU1FICJQb3N0Z3JlU1FMIgp8ICNkZWZpbmUgUEFDS0FHRV9UQVJOQU1F ICJwb3N0Z3Jlc3FsIgp8ICNkZWZpbmUgUEFDS0FHRV9WRVJTSU9OICIxMWJldGEzIgp8ICNkZWZp bmUgUEFDS0FHRV9TVFJJTkcgIlBvc3RncmVTUUwgMTFiZXRhMyIKfCAjZGVmaW5lIFBBQ0tBR0Vf QlVHUkVQT1JUICJwZ3NxbC1idWdzQHBvc3RncmVzcWwub3JnIgp8ICNkZWZpbmUgUEFDS0FHRV9V UkwgIiIKfCAjZGVmaW5lIFBHX01BSk9SVkVSU0lPTiAiMTEiCnwgI2RlZmluZSBQR19WRVJTSU9O ICIxMWJldGEzIgp8ICNkZWZpbmUgREVGX1BHUE9SVCA1NDMyCnwgI2RlZmluZSBERUZfUEdQT1JU X1NUUiAiNTQzMiIKfCAjZGVmaW5lIEJMQ0tTWiA4MTkyCnwgI2RlZmluZSBSRUxTRUdfU0laRSAx MzEwNzIKfCAjZGVmaW5lIFhMT0dfQkxDS1NaIDgxOTIKfCAjZGVmaW5lIFVTRV9BU1NFUlRfQ0hF Q0tJTkcgMQp8ICNkZWZpbmUgRU5BQkxFX1RIUkVBRF9TQUZFVFkgMQp8ICNkZWZpbmUgVVNFX0lD VSAxCnwgI2RlZmluZSBQR19LUkJfU1JWTkFNICJwb3N0Z3JlcyIKfCAjZGVmaW5lIFVTRV9PUEVO U1NMIDEKfCAjZGVmaW5lIFVTRV9MSUJYTUwgMQp8ICNkZWZpbmUgVVNFX0xJQlhTTFQgMQp8ICNk ZWZpbmUgU1REQ19IRUFERVJTIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1RZUEVTX0ggMQp8ICNkZWZp bmUgSEFWRV9TWVNfU1RBVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1RETElCX0ggMQp8ICNkZWZpbmUg SEFWRV9TVFJJTkdfSCAxCnwgI2RlZmluZSBIQVZFX01FTU9SWV9IIDEKfCAjZGVmaW5lIEhBVkVf U1RSSU5HU19IIDEKfCAjZGVmaW5lIEhBVkVfSU5UVFlQRVNfSCAxCnwgI2RlZmluZSBIQVZFX1NU RElOVF9IIDEKfCAjZGVmaW5lIEhBVkVfVU5JU1REX0ggMQp8ICNkZWZpbmUgSEFWRV9MSUJNIDEK fCAjZGVmaW5lIEhBVkVfTElCWiAxCnwgI2RlZmluZSBIQVZFX1NQSU5MT0NLUyAxCnwgI2RlZmlu ZSBIQVZFX0FUT01JQ1MgMQp8ICNkZWZpbmUgSEFWRV9TU0xfR0VUX0NVUlJFTlRfQ09NUFJFU1NJ T04gMQp8ICNkZWZpbmUgSEFWRV9YNTA5X0dFVF9TSUdOQVRVUkVfTklEIDEKfCAjZGVmaW5lIEhB VkVfQ1JZUFRPX0xPQ0sgMQp8ICNkZWZpbmUgSEFWRV9MSUJYTUwyIDEKfCAjZGVmaW5lIEhBVkVf TElCWFNMVCAxCnwgI2RlZmluZSBIQVZFX19CT09MIDEKfCAjZGVmaW5lIEhBVkVfU1REQk9PTF9I IDEKfCAjZGVmaW5lIEhBVkVfR0VUT1BUX0ggMQp8ICNkZWZpbmUgSEFWRV9JRUVFRlBfSCAxCnwg I2RlZmluZSBIQVZFX1VUSU1FX0ggMQp8ICNkZWZpbmUgSEFWRV9XQ0hBUl9IIDEKfCAjZGVmaW5l IEhBVkVfV0NUWVBFX0ggMQp8ICNkZWZpbmUgSEFWRV9DUlRERUZTX0ggMQp8ICNkZWZpbmUgUEdf UFJJTlRGX0FUVFJJQlVURSBnbnVfcHJpbnRmCnwgI2RlZmluZSBGTEVYSUJMRV9BUlJBWV9NRU1C RVIgLyoqLwp8ICNkZWZpbmUgSEFWRV9GVU5DTkFNRV9fRlVOQyAxCnwgI2RlZmluZSBIQVZFX19T VEFUSUNfQVNTRVJUIDEKfCAjZGVmaW5lIEhBVkVfVFlQRU9GIDEKfCAjZGVmaW5lIEhBVkVfX0JV SUxUSU5fVFlQRVNfQ09NUEFUSUJMRV9QIDEKfCAjZGVmaW5lIEhBVkVfX0JVSUxUSU5fQlNXQVAx NiAxCnwgI2RlZmluZSBIQVZFX19CVUlMVElOX0JTV0FQMzIgMQp8ICNkZWZpbmUgSEFWRV9fQlVJ TFRJTl9CU1dBUDY0IDEKfCAjZGVmaW5lIEhBVkVfX0JVSUxUSU5fQ09OU1RBTlRfUCAxCnwgI2Rl ZmluZSBIQVZFX19CVUlMVElOX1VOUkVBQ0hBQkxFIDEKfCAjZGVmaW5lIEhBVkVfQ09NUFVURURf R09UTyAxCnwgI2RlZmluZSBIQVZFX19WQV9BUkdTIDEKfCAjZGVmaW5lIEhBVkVfVFpOQU1FIDEK fCAjZGVmaW5lIEhBVkVfU1RSVUNUX1NPQ0tBRERSX1NUT1JBR0UgMQp8ICNkZWZpbmUgSEFWRV9T VFJVQ1RfU09DS0FERFJfU1RPUkFHRV9TU19GQU1JTFkgMQp8ICNkZWZpbmUgSEFWRV9TVFJVQ1Rf QUREUklORk8gMQp8ICNkZWZpbmUgSEFWRV9JTlRQVFJfVCAxCnwgI2RlZmluZSBIQVZFX1VJTlRQ VFJfVCAxCnwgI2RlZmluZSBIQVZFX1VOU0lHTkVEX0xPTkdfTE9OR19JTlQgMQp8ICNkZWZpbmUg SEFWRV9MT05HX0xPTkdfSU5UIDEKfCAjZGVmaW5lIHJlc3RyaWN0IF9fcmVzdHJpY3QKfCAjZGVm aW5lIHBnX3Jlc3RyaWN0IF9fcmVzdHJpY3QKfCAjZGVmaW5lIEhBVkVfU1RSVUNUX09QVElPTiAx CnwgI2RlZmluZSBTSVpFT0ZfT0ZGX1QgNAp8ICNkZWZpbmUgU0laRU9GX0JPT0wgMQp8ICNkZWZp bmUgSEFWRV9JTlRfVElNRVpPTkUgMQp8ICNkZWZpbmUgQUNDRVBUX1RZUEVfUkVUVVJOIFNPQ0tF VCBXU0FBUEkKfCAjZGVmaW5lIEFDQ0VQVF9UWVBFX0FSRzEgU09DS0VUCnwgI2RlZmluZSBBQ0NF UFRfVFlQRV9BUkcyIHN0cnVjdCBzb2NrYWRkciAqCnwgI2RlZmluZSBBQ0NFUFRfVFlQRV9BUkcz IGludAp8ICNkZWZpbmUgSEFWRV9DQlJUIDEKfCAjZGVmaW5lIEhBVkVfQ0xPQ0tfR0VUVElNRSAx CnwgI2RlZmluZSBIQVZFX01FTU1PVkUgMQp8ICNkZWZpbmUgSEFWRV9VVElNRSAxCnwgI2RlZmlu ZSBIQVZFX0ZTRUVLTyAxCnwgI2RlZmluZSBIQVZFX0ZTRUVLTyAxCnwgI2RlZmluZSBIQVZFX0RF Q0xfUE9TSVhfRkFEVklTRSAwCnwgI2RlZmluZSBIQVZFX0RFQ0xfRkRBVEFTWU5DIDAKfCAjZGVm aW5lIEhBVkVfREVDTF9TVFJMQ0FUIDAKfCAjZGVmaW5lIEhBVkVfREVDTF9TVFJMQ1BZIDAKfCAj ZGVmaW5lIEhBVkVfREVDTF9TVFJOTEVOIDEKfCAjZGVmaW5lIEhBVkVfREVDTF9GX0ZVTExGU1lO QyAwCnwgI2RlZmluZSBIQVZFX0lQVjYgMQp8ICNkZWZpbmUgSEFWRV9ERUNMX1NOUFJJTlRGIDEK fCAjZGVmaW5lIEhBVkVfREVDTF9WU05QUklOVEYgMQp8ICNkZWZpbmUgSEFWRV9JU0lORiAxCnwg I2RlZmluZSBIQVZFX0dFVE9QVCAxCnwgI2RlZmluZSBIQVZFX1JJTlQgMQp8ICNkZWZpbmUgSEFW RV9TVFJFUlJPUiAxCnwgI2RlZmluZSBIQVZFX1NUUk5MRU4gMQp8ICNkZWZpbmUgSEFWRV9VTlNF VEVOViAxCnwgI2RlZmluZSBIQVZFX0dFVFBFRVJFSUQgMQp8ICNkZWZpbmUgSEFWRV9HRVRPUFRf TE9ORyAxCnwgI2RlZmluZSBIQVZFX0dFVFRJTUVPRkRBWSAxCnwgI2RlZmluZSBIQVZFX1NZTUxJ TksgMQp8ICNkZWZpbmUgSEFWRV9NSU5JRFVNUF9UWVBFIDEKfCAjZGVmaW5lIEhBVkVfREVDTF9T WVNfU0lHTElTVCAwCnwgI2RlZmluZSBIQVZFX0lOVF9PUFRFUlIgMQp8ICNkZWZpbmUgSEFWRV9T VFJUT0xMIDEKfCAjZGVmaW5lIEhBVkVfU1RSVE9VTEwgMQp8ICNkZWZpbmUgSEFWRV9ERUNMX1NU UlRPTEwgMQp8ICNkZWZpbmUgSEFWRV9ERUNMX1NUUlRPVUxMIDEKfCAjZGVmaW5lIEhBVkVfTE9O R19MT05HX0lOVF82NCAxCnwgI2RlZmluZSBQR19JTlQ2NF9UWVBFIGxvbmcgbG9uZyBpbnQKfCAj ZGVmaW5lIElOVDY0X01PRElGSUVSICJsbCIKfCAjZGVmaW5lIFVTRV9SRVBMX1NOUFJJTlRGIDEK fCAjZGVmaW5lIEhBVkVfX0JVSUxUSU5fT1BfT1ZFUkZMT1cgMQp8ICNkZWZpbmUgU0laRU9GX1ZP SURfUCA4CnwgI2RlZmluZSBTSVpFT0ZfU0laRV9UIDgKfCAjZGVmaW5lIFNJWkVPRl9MT05HIDQK fCAjZGVmaW5lIFVTRV9GTE9BVDRfQllWQUwgMQp8ICNkZWZpbmUgRkxPQVQ0UEFTU0JZVkFMIHRy dWUKfCAjZGVmaW5lIFVTRV9GTE9BVDhfQllWQUwgMQp8ICNkZWZpbmUgRkxPQVQ4UEFTU0JZVkFM IHRydWUKfCAjZGVmaW5lIEFMSUdOT0ZfU0hPUlQgMgp8ICNkZWZpbmUgQUxJR05PRl9JTlQgNAp8 ICNkZWZpbmUgQUxJR05PRl9MT05HIDQKfCAjZGVmaW5lIEFMSUdOT0ZfTE9OR19MT05HX0lOVCA4 CnwgI2RlZmluZSBBTElHTk9GX0RPVUJMRSA4CnwgI2RlZmluZSBNQVhJTVVNX0FMSUdOT0YgOAp8 ICNkZWZpbmUgUEdfSU5UMTI4X1RZUEUgX19pbnQxMjgKfCAjZGVmaW5lIEFMSUdOT0ZfUEdfSU5U MTI4X1RZUEUgMTYKfCAjZGVmaW5lIEhBVkVfR0NDX19TWU5DX0NIQVJfVEFTIDEKfCAjZGVmaW5l IEhBVkVfR0NDX19TWU5DX0lOVDMyX1RBUyAxCnwgI2RlZmluZSBIQVZFX0dDQ19fU1lOQ19JTlQz Ml9DQVMgMQp8ICNkZWZpbmUgSEFWRV9HQ0NfX1NZTkNfSU5UNjRfQ0FTIDEKfCAjZGVmaW5lIEhB VkVfR0NDX19BVE9NSUNfSU5UMzJfQ0FTIDEKfCAjZGVmaW5lIEhBVkVfR0NDX19BVE9NSUNfSU5U NjRfQ0FTIDEKfCAjZGVmaW5lIEhBVkVfX0dFVF9DUFVJRCAxCnwgLyogZW5kIGNvbmZkZWZzLmgu ICAqLwp8ICNpbmNsdWRlIDxpbnRyaW4uaD4KfCBpbnQKfCBtYWluICgpCnwgewp8IHVuc2lnbmVk IGludCBleHhbNF0gPSB7MCwgMCwgMCwgMH07CnwgICBfX2dldF9jcHVpZChleHhbMF0sIDEpOwp8 IAp8ICAgOwp8ICAgcmV0dXJuIDA7CnwgfQpjb25maWd1cmU6MTcxOTM6IHJlc3VsdDogbm8KY29u ZmlndXJlOjE3MjA2OiBjaGVja2luZyBmb3IgX21tX2NyYzMyX3U4IGFuZCBfbW1fY3JjMzJfdTMy IHdpdGggQ0ZMQUdTPQpjb25maWd1cmU6MTcyMjg6IHg4Nl82NC13NjQtbWluZ3czMi1nY2MgLW8g Y29uZnRlc3QuZXhlIC1XYWxsIC1XbWlzc2luZy1wcm90b3R5cGVzIC1XcG9pbnRlci1hcml0aCAt V2RlY2xhcmF0aW9uLWFmdGVyLXN0YXRlbWVudCAtV2VuZGlmLWxhYmVscyAtV21pc3NpbmctZm9y bWF0LWF0dHJpYnV0ZSAtV2Zvcm1hdC1zZWN1cml0eSAtZm5vLXN0cmljdC1hbGlhc2luZyAtZndy YXB2IC1mZXhjZXNzLXByZWNpc2lvbj1zdGFuZGFyZCAtV25vLWZvcm1hdC10cnVuY2F0aW9uIC1X bm8tc3RyaW5nb3AtdHJ1bmNhdGlvbiAtZyAtTyAtZm5vLW9taXQtZnJhbWUtcG9pbnRlciAgIC1J L3cvUi0zLjUuXy9wb3N0Z3Jlcy9zcmMvaW5jbHVkZS9wb3J0L3dpbjMyIC1ERVhFQ19CQUNLRU5E ICAtSS93L3psaWItMS4yLjgtd2luMzIteDg2XzY0L2luY2x1ZGUgLUkvdy9vcGVuc3NsLTEuMC4y ZS13aW4zMi14ODZfNjQvaW5jbHVkZSAtSS93L2xpYnhtbDItMi45LjMtd2luMzIteDg2XzY0L2lu Y2x1ZGUvbGlieG1sMiAtSS93L2xpYnhzbHQtMS4xLjI4LXdpbjMyLXg4Nl82NC9pbmNsdWRlICAt V2wsLS1hbGxvdy1tdWx0aXBsZS1kZWZpbml0aW9uIC1XbCwtLWRpc2FibGUtYXV0by1pbXBvcnQg IC1ML3cvemxpYi0xLjIuOC13aW4zMi14ODZfNjQvbGliIC1ML3cvb3BlbnNzbC0xLjAuMmUtd2lu MzIteDg2XzY0L2xpYiAtTC93L2xpYnhtbDItMi45LjMtd2luMzIteDg2XzY0L2xpYiAtTC93L2xp YnhzbHQtMS4xLjI4LXdpbjMyLXg4Nl82NC9saWIgY29uZnRlc3QuYyAtbHhzbHQgLWx4bWwyIC1s c3NsIC1sY3J5cHRvIC1seiAtbHdzMl8zMiAtbG0gID4mNQpJbiBmaWxlIGluY2x1ZGVkIGZyb20g QzovbXN5czY0L21pbmd3NjQvbGliL2djYy94ODZfNjQtdzY0LW1pbmd3MzIvOC4yLjAvaW5jbHVk ZS9ubW1pbnRyaW4uaDozMSwKICAgICAgICAgICAgICAgICBmcm9tIGNvbmZ0ZXN0LmM6MTQwOgpj b25mdGVzdC5jOiBJbiBmdW5jdGlvbiAnbWFpbic6CkM6L21zeXM2NC9taW5ndzY0L2xpYi9nY2Mv eDg2XzY0LXc2NC1taW5ndzMyLzguMi4wL2luY2x1ZGUvc21taW50cmluLmg6ODM5OjE6IGVycm9y OiBpbmxpbmluZyBmYWlsZWQgaW4gY2FsbCB0byBhbHdheXNfaW5saW5lICdfbW1fY3JjMzJfdTMy JzogdGFyZ2V0IHNwZWNpZmljIG9wdGlvbiBtaXNtYXRjaAogX21tX2NyYzMyX3UzMiAodW5zaWdu ZWQgaW50IF9fQywgdW5zaWduZWQgaW50IF9fVikKIF5+fn5+fn5+fn5+fn4KY29uZnRlc3QuYzox NDY6MTA6IG5vdGU6IGNhbGxlZCBmcm9tIGhlcmUKICAgIGNyYyA9IF9tbV9jcmMzMl91MzIoY3Jj LCAwKTsKICAgICAgICAgIF5+fn5+fn5+fn5+fn5+fn5+fn5+fgpJbiBmaWxlIGluY2x1ZGVkIGZy b20gQzovbXN5czY0L21pbmd3NjQvbGliL2djYy94ODZfNjQtdzY0LW1pbmd3MzIvOC4yLjAvaW5j bHVkZS9ubW1pbnRyaW4uaDozMSwKICAgICAgICAgICAgICAgICBmcm9tIGNvbmZ0ZXN0LmM6MTQw OgpDOi9tc3lzNjQvbWluZ3c2NC9saWIvZ2NjL3g4Nl82NC13NjQtbWluZ3czMi84LjIuMC9pbmNs dWRlL3NtbWludHJpbi5oOjgyNzoxOiBlcnJvcjogaW5saW5pbmcgZmFpbGVkIGluIGNhbGwgdG8g YWx3YXlzX2lubGluZSAnX21tX2NyYzMyX3U4JzogdGFyZ2V0IHNwZWNpZmljIG9wdGlvbiBtaXNt YXRjaAogX21tX2NyYzMyX3U4ICh1bnNpZ25lZCBpbnQgX19DLCB1bnNpZ25lZCBjaGFyIF9fVikK IF5+fn5+fn5+fn5+fgpjb25mdGVzdC5jOjE0NToxMDogbm90ZTogY2FsbGVkIGZyb20gaGVyZQog ICAgY3JjID0gX21tX2NyYzMyX3U4KGNyYywgMCk7CiAgICAgICAgICBefn5+fn5+fn5+fn5+fn5+ fn5+fgpjb25maWd1cmU6MTcyMjg6ICQ/ID0gMQpjb25maWd1cmU6IGZhaWxlZCBwcm9ncmFtIHdh czoKfCAvKiBjb25mZGVmcy5oICovCnwgI2RlZmluZSBQQUNLQUdFX05BTUUgIlBvc3RncmVTUUwi CnwgI2RlZmluZSBQQUNLQUdFX1RBUk5BTUUgInBvc3RncmVzcWwiCnwgI2RlZmluZSBQQUNLQUdF X1ZFUlNJT04gIjExYmV0YTMiCnwgI2RlZmluZSBQQUNLQUdFX1NUUklORyAiUG9zdGdyZVNRTCAx MWJldGEzIgp8ICNkZWZpbmUgUEFDS0FHRV9CVUdSRVBPUlQgInBnc3FsLWJ1Z3NAcG9zdGdyZXNx bC5vcmciCnwgI2RlZmluZSBQQUNLQUdFX1VSTCAiIgp8ICNkZWZpbmUgUEdfTUFKT1JWRVJTSU9O ICIxMSIKfCAjZGVmaW5lIFBHX1ZFUlNJT04gIjExYmV0YTMiCnwgI2RlZmluZSBERUZfUEdQT1JU IDU0MzIKfCAjZGVmaW5lIERFRl9QR1BPUlRfU1RSICI1NDMyIgp8ICNkZWZpbmUgQkxDS1NaIDgx OTIKfCAjZGVmaW5lIFJFTFNFR19TSVpFIDEzMTA3Mgp8ICNkZWZpbmUgWExPR19CTENLU1ogODE5 Mgp8ICNkZWZpbmUgVVNFX0FTU0VSVF9DSEVDS0lORyAxCnwgI2RlZmluZSBFTkFCTEVfVEhSRUFE X1NBRkVUWSAxCnwgI2RlZmluZSBVU0VfSUNVIDEKfCAjZGVmaW5lIFBHX0tSQl9TUlZOQU0gInBv c3RncmVzIgp8ICNkZWZpbmUgVVNFX09QRU5TU0wgMQp8ICNkZWZpbmUgVVNFX0xJQlhNTCAxCnwg I2RlZmluZSBVU0VfTElCWFNMVCAxCnwgI2RlZmluZSBTVERDX0hFQURFUlMgMQp8ICNkZWZpbmUg SEFWRV9TWVNfVFlQRVNfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19TVEFUX0ggMQp8ICNkZWZpbmUg SEFWRV9TVERMSUJfSCAxCnwgI2RlZmluZSBIQVZFX1NUUklOR19IIDEKfCAjZGVmaW5lIEhBVkVf TUVNT1JZX0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJJTkdTX0ggMQp8ICNkZWZpbmUgSEFWRV9JTlRU WVBFU19IIDEKfCAjZGVmaW5lIEhBVkVfU1RESU5UX0ggMQp8ICNkZWZpbmUgSEFWRV9VTklTVERf SCAxCnwgI2RlZmluZSBIQVZFX0xJQk0gMQp8ICNkZWZpbmUgSEFWRV9MSUJaIDEKfCAjZGVmaW5l IEhBVkVfU1BJTkxPQ0tTIDEKfCAjZGVmaW5lIEhBVkVfQVRPTUlDUyAxCnwgI2RlZmluZSBIQVZF X1NTTF9HRVRfQ1VSUkVOVF9DT01QUkVTU0lPTiAxCnwgI2RlZmluZSBIQVZFX1g1MDlfR0VUX1NJ R05BVFVSRV9OSUQgMQp8ICNkZWZpbmUgSEFWRV9DUllQVE9fTE9DSyAxCnwgI2RlZmluZSBIQVZF X0xJQlhNTDIgMQp8ICNkZWZpbmUgSEFWRV9MSUJYU0xUIDEKfCAjZGVmaW5lIEhBVkVfX0JPT0wg MQp8ICNkZWZpbmUgSEFWRV9TVERCT09MX0ggMQp8ICNkZWZpbmUgSEFWRV9HRVRPUFRfSCAxCnwg I2RlZmluZSBIQVZFX0lFRUVGUF9IIDEKfCAjZGVmaW5lIEhBVkVfVVRJTUVfSCAxCnwgI2RlZmlu ZSBIQVZFX1dDSEFSX0ggMQp8ICNkZWZpbmUgSEFWRV9XQ1RZUEVfSCAxCnwgI2RlZmluZSBIQVZF X0NSVERFRlNfSCAxCnwgI2RlZmluZSBQR19QUklOVEZfQVRUUklCVVRFIGdudV9wcmludGYKfCAj ZGVmaW5lIEZMRVhJQkxFX0FSUkFZX01FTUJFUiAvKiovCnwgI2RlZmluZSBIQVZFX0ZVTkNOQU1F X19GVU5DIDEKfCAjZGVmaW5lIEhBVkVfX1NUQVRJQ19BU1NFUlQgMQp8ICNkZWZpbmUgSEFWRV9U WVBFT0YgMQp8ICNkZWZpbmUgSEFWRV9fQlVJTFRJTl9UWVBFU19DT01QQVRJQkxFX1AgMQp8ICNk ZWZpbmUgSEFWRV9fQlVJTFRJTl9CU1dBUDE2IDEKfCAjZGVmaW5lIEhBVkVfX0JVSUxUSU5fQlNX QVAzMiAxCnwgI2RlZmluZSBIQVZFX19CVUlMVElOX0JTV0FQNjQgMQp8ICNkZWZpbmUgSEFWRV9f QlVJTFRJTl9DT05TVEFOVF9QIDEKfCAjZGVmaW5lIEhBVkVfX0JVSUxUSU5fVU5SRUFDSEFCTEUg MQp8ICNkZWZpbmUgSEFWRV9DT01QVVRFRF9HT1RPIDEKfCAjZGVmaW5lIEhBVkVfX1ZBX0FSR1Mg MQp8ICNkZWZpbmUgSEFWRV9UWk5BTUUgMQp8ICNkZWZpbmUgSEFWRV9TVFJVQ1RfU09DS0FERFJf U1RPUkFHRSAxCnwgI2RlZmluZSBIQVZFX1NUUlVDVF9TT0NLQUREUl9TVE9SQUdFX1NTX0ZBTUlM WSAxCnwgI2RlZmluZSBIQVZFX1NUUlVDVF9BRERSSU5GTyAxCnwgI2RlZmluZSBIQVZFX0lOVFBU Ul9UIDEKfCAjZGVmaW5lIEhBVkVfVUlOVFBUUl9UIDEKfCAjZGVmaW5lIEhBVkVfVU5TSUdORURf TE9OR19MT05HX0lOVCAxCnwgI2RlZmluZSBIQVZFX0xPTkdfTE9OR19JTlQgMQp8ICNkZWZpbmUg cmVzdHJpY3QgX19yZXN0cmljdAp8ICNkZWZpbmUgcGdfcmVzdHJpY3QgX19yZXN0cmljdAp8ICNk ZWZpbmUgSEFWRV9TVFJVQ1RfT1BUSU9OIDEKfCAjZGVmaW5lIFNJWkVPRl9PRkZfVCA0CnwgI2Rl ZmluZSBTSVpFT0ZfQk9PTCAxCnwgI2RlZmluZSBIQVZFX0lOVF9USU1FWk9ORSAxCnwgI2RlZmlu ZSBBQ0NFUFRfVFlQRV9SRVRVUk4gU09DS0VUIFdTQUFQSQp8ICNkZWZpbmUgQUNDRVBUX1RZUEVf QVJHMSBTT0NLRVQKfCAjZGVmaW5lIEFDQ0VQVF9UWVBFX0FSRzIgc3RydWN0IHNvY2thZGRyICoK fCAjZGVmaW5lIEFDQ0VQVF9UWVBFX0FSRzMgaW50CnwgI2RlZmluZSBIQVZFX0NCUlQgMQp8ICNk ZWZpbmUgSEFWRV9DTE9DS19HRVRUSU1FIDEKfCAjZGVmaW5lIEhBVkVfTUVNTU9WRSAxCnwgI2Rl ZmluZSBIQVZFX1VUSU1FIDEKfCAjZGVmaW5lIEhBVkVfRlNFRUtPIDEKfCAjZGVmaW5lIEhBVkVf RlNFRUtPIDEKfCAjZGVmaW5lIEhBVkVfREVDTF9QT1NJWF9GQURWSVNFIDAKfCAjZGVmaW5lIEhB VkVfREVDTF9GREFUQVNZTkMgMAp8ICNkZWZpbmUgSEFWRV9ERUNMX1NUUkxDQVQgMAp8ICNkZWZp bmUgSEFWRV9ERUNMX1NUUkxDUFkgMAp8ICNkZWZpbmUgSEFWRV9ERUNMX1NUUk5MRU4gMQp8ICNk ZWZpbmUgSEFWRV9ERUNMX0ZfRlVMTEZTWU5DIDAKfCAjZGVmaW5lIEhBVkVfSVBWNiAxCnwgI2Rl ZmluZSBIQVZFX0RFQ0xfU05QUklOVEYgMQp8ICNkZWZpbmUgSEFWRV9ERUNMX1ZTTlBSSU5URiAx CnwgI2RlZmluZSBIQVZFX0lTSU5GIDEKfCAjZGVmaW5lIEhBVkVfR0VUT1BUIDEKfCAjZGVmaW5l IEhBVkVfUklOVCAxCnwgI2RlZmluZSBIQVZFX1NUUkVSUk9SIDEKfCAjZGVmaW5lIEhBVkVfU1RS TkxFTiAxCnwgI2RlZmluZSBIQVZFX1VOU0VURU5WIDEKfCAjZGVmaW5lIEhBVkVfR0VUUEVFUkVJ RCAxCnwgI2RlZmluZSBIQVZFX0dFVE9QVF9MT05HIDEKfCAjZGVmaW5lIEhBVkVfR0VUVElNRU9G REFZIDEKfCAjZGVmaW5lIEhBVkVfU1lNTElOSyAxCnwgI2RlZmluZSBIQVZFX01JTklEVU1QX1RZ UEUgMQp8ICNkZWZpbmUgSEFWRV9ERUNMX1NZU19TSUdMSVNUIDAKfCAjZGVmaW5lIEhBVkVfSU5U X09QVEVSUiAxCnwgI2RlZmluZSBIQVZFX1NUUlRPTEwgMQp8ICNkZWZpbmUgSEFWRV9TVFJUT1VM TCAxCnwgI2RlZmluZSBIQVZFX0RFQ0xfU1RSVE9MTCAxCnwgI2RlZmluZSBIQVZFX0RFQ0xfU1RS VE9VTEwgMQp8ICNkZWZpbmUgSEFWRV9MT05HX0xPTkdfSU5UXzY0IDEKfCAjZGVmaW5lIFBHX0lO VDY0X1RZUEUgbG9uZyBsb25nIGludAp8ICNkZWZpbmUgSU5UNjRfTU9ESUZJRVIgImxsIgp8ICNk ZWZpbmUgVVNFX1JFUExfU05QUklOVEYgMQp8ICNkZWZpbmUgSEFWRV9fQlVJTFRJTl9PUF9PVkVS RkxPVyAxCnwgI2RlZmluZSBTSVpFT0ZfVk9JRF9QIDgKfCAjZGVmaW5lIFNJWkVPRl9TSVpFX1Qg OAp8ICNkZWZpbmUgU0laRU9GX0xPTkcgNAp8ICNkZWZpbmUgVVNFX0ZMT0FUNF9CWVZBTCAxCnwg I2RlZmluZSBGTE9BVDRQQVNTQllWQUwgdHJ1ZQp8ICNkZWZpbmUgVVNFX0ZMT0FUOF9CWVZBTCAx CnwgI2RlZmluZSBGTE9BVDhQQVNTQllWQUwgdHJ1ZQp8ICNkZWZpbmUgQUxJR05PRl9TSE9SVCAy CnwgI2RlZmluZSBBTElHTk9GX0lOVCA0CnwgI2RlZmluZSBBTElHTk9GX0xPTkcgNAp8ICNkZWZp bmUgQUxJR05PRl9MT05HX0xPTkdfSU5UIDgKfCAjZGVmaW5lIEFMSUdOT0ZfRE9VQkxFIDgKfCAj ZGVmaW5lIE1BWElNVU1fQUxJR05PRiA4CnwgI2RlZmluZSBQR19JTlQxMjhfVFlQRSBfX2ludDEy OAp8ICNkZWZpbmUgQUxJR05PRl9QR19JTlQxMjhfVFlQRSAxNgp8ICNkZWZpbmUgSEFWRV9HQ0Nf X1NZTkNfQ0hBUl9UQVMgMQp8ICNkZWZpbmUgSEFWRV9HQ0NfX1NZTkNfSU5UMzJfVEFTIDEKfCAj ZGVmaW5lIEhBVkVfR0NDX19TWU5DX0lOVDMyX0NBUyAxCnwgI2RlZmluZSBIQVZFX0dDQ19fU1lO Q19JTlQ2NF9DQVMgMQp8ICNkZWZpbmUgSEFWRV9HQ0NfX0FUT01JQ19JTlQzMl9DQVMgMQp8ICNk ZWZpbmUgSEFWRV9HQ0NfX0FUT01JQ19JTlQ2NF9DQVMgMQp8ICNkZWZpbmUgSEFWRV9fR0VUX0NQ VUlEIDEKfCAvKiBlbmQgY29uZmRlZnMuaC4gICovCnwgI2luY2x1ZGUgPG5tbWludHJpbi5oPgp8 IGludAp8IG1haW4gKCkKfCB7CnwgdW5zaWduZWQgaW50IGNyYyA9IDA7CnwgICAgY3JjID0gX21t X2NyYzMyX3U4KGNyYywgMCk7CnwgICAgY3JjID0gX21tX2NyYzMyX3UzMihjcmMsIDApOwp8ICAg IC8qIHJldHVybiBjb21wdXRlZCB2YWx1ZSwgdG8gcHJldmVudCB0aGUgYWJvdmUgYmVpbmcgb3B0 aW1pemVkIGF3YXkgKi8KfCAgICByZXR1cm4gY3JjID09IDA7CnwgICA7CnwgICByZXR1cm4gMDsK fCB9CmNvbmZpZ3VyZToxNzIzNzogcmVzdWx0OiBubwpjb25maWd1cmU6MTcyNDU6IGNoZWNraW5n IGZvciBfbW1fY3JjMzJfdTggYW5kIF9tbV9jcmMzMl91MzIgd2l0aCBDRkxBR1M9LW1zc2U0LjIK Y29uZmlndXJlOjE3MjY3OiB4ODZfNjQtdzY0LW1pbmd3MzItZ2NjIC1vIGNvbmZ0ZXN0LmV4ZSAt V2FsbCAtV21pc3NpbmctcHJvdG90eXBlcyAtV3BvaW50ZXItYXJpdGggLVdkZWNsYXJhdGlvbi1h ZnRlci1zdGF0ZW1lbnQgLVdlbmRpZi1sYWJlbHMgLVdtaXNzaW5nLWZvcm1hdC1hdHRyaWJ1dGUg LVdmb3JtYXQtc2VjdXJpdHkgLWZuby1zdHJpY3QtYWxpYXNpbmcgLWZ3cmFwdiAtZmV4Y2Vzcy1w cmVjaXNpb249c3RhbmRhcmQgLVduby1mb3JtYXQtdHJ1bmNhdGlvbiAtV25vLXN0cmluZ29wLXRy dW5jYXRpb24gLWcgLU8gLWZuby1vbWl0LWZyYW1lLXBvaW50ZXIgLW1zc2U0LjIgIC1JL3cvUi0z LjUuXy9wb3N0Z3Jlcy9zcmMvaW5jbHVkZS9wb3J0L3dpbjMyIC1ERVhFQ19CQUNLRU5EICAtSS93 L3psaWItMS4yLjgtd2luMzIteDg2XzY0L2luY2x1ZGUgLUkvdy9vcGVuc3NsLTEuMC4yZS13aW4z Mi14ODZfNjQvaW5jbHVkZSAtSS93L2xpYnhtbDItMi45LjMtd2luMzIteDg2XzY0L2luY2x1ZGUv bGlieG1sMiAtSS93L2xpYnhzbHQtMS4xLjI4LXdpbjMyLXg4Nl82NC9pbmNsdWRlICAtV2wsLS1h bGxvdy1tdWx0aXBsZS1kZWZpbml0aW9uIC1XbCwtLWRpc2FibGUtYXV0by1pbXBvcnQgIC1ML3cv emxpYi0xLjIuOC13aW4zMi14ODZfNjQvbGliIC1ML3cvb3BlbnNzbC0xLjAuMmUtd2luMzIteDg2 XzY0L2xpYiAtTC93L2xpYnhtbDItMi45LjMtd2luMzIteDg2XzY0L2xpYiAtTC93L2xpYnhzbHQt MS4xLjI4LXdpbjMyLXg4Nl82NC9saWIgY29uZnRlc3QuYyAtbHhzbHQgLWx4bWwyIC1sc3NsIC1s Y3J5cHRvIC1seiAtbHdzMl8zMiAtbG0gID4mNQpjb25maWd1cmU6MTcyNjc6ICQ/ID0gMApjb25m aWd1cmU6MTcyNzY6IHJlc3VsdDogeWVzCmNvbmZpZ3VyZToxNzMwMzogeDg2XzY0LXc2NC1taW5n dzMyLWdjYyAtYyAtV2FsbCAtV21pc3NpbmctcHJvdG90eXBlcyAtV3BvaW50ZXItYXJpdGggLVdk ZWNsYXJhdGlvbi1hZnRlci1zdGF0ZW1lbnQgLVdlbmRpZi1sYWJlbHMgLVdtaXNzaW5nLWZvcm1h dC1hdHRyaWJ1dGUgLVdmb3JtYXQtc2VjdXJpdHkgLWZuby1zdHJpY3QtYWxpYXNpbmcgLWZ3cmFw diAtZmV4Y2Vzcy1wcmVjaXNpb249c3RhbmRhcmQgLVduby1mb3JtYXQtdHJ1bmNhdGlvbiAtV25v LXN0cmluZ29wLXRydW5jYXRpb24gLWcgLU8gLWZuby1vbWl0LWZyYW1lLXBvaW50ZXIgIC1JL3cv Ui0zLjUuXy9wb3N0Z3Jlcy9zcmMvaW5jbHVkZS9wb3J0L3dpbjMyIC1ERVhFQ19CQUNLRU5EICAt SS93L3psaWItMS4yLjgtd2luMzIteDg2XzY0L2luY2x1ZGUgLUkvdy9vcGVuc3NsLTEuMC4yZS13 aW4zMi14ODZfNjQvaW5jbHVkZSAtSS93L2xpYnhtbDItMi45LjMtd2luMzIteDg2XzY0L2luY2x1 ZGUvbGlieG1sMiAtSS93L2xpYnhzbHQtMS4xLjI4LXdpbjMyLXg4Nl82NC9pbmNsdWRlIGNvbmZ0 ZXN0LmMgPiY1CmNvbmZ0ZXN0LmM6IEluIGZ1bmN0aW9uICdtYWluJzoKY29uZnRlc3QuYzoxNDY6 MjogZXJyb3I6ICNlcnJvciBfX1NTRTRfMl9fIG5vdCBkZWZpbmVkCiAjZXJyb3IgX19TU0U0XzJf XyBub3QgZGVmaW5lZAogIF5+fn5+CmNvbmZpZ3VyZToxNzMwMzogJD8gPSAxCmNvbmZpZ3VyZTog ZmFpbGVkIHByb2dyYW0gd2FzOgp8IC8qIGNvbmZkZWZzLmggKi8KfCAjZGVmaW5lIFBBQ0tBR0Vf TkFNRSAiUG9zdGdyZVNRTCIKfCAjZGVmaW5lIFBBQ0tBR0VfVEFSTkFNRSAicG9zdGdyZXNxbCIK fCAjZGVmaW5lIFBBQ0tBR0VfVkVSU0lPTiAiMTFiZXRhMyIKfCAjZGVmaW5lIFBBQ0tBR0VfU1RS SU5HICJQb3N0Z3JlU1FMIDExYmV0YTMiCnwgI2RlZmluZSBQQUNLQUdFX0JVR1JFUE9SVCAicGdz cWwtYnVnc0Bwb3N0Z3Jlc3FsLm9yZyIKfCAjZGVmaW5lIFBBQ0tBR0VfVVJMICIiCnwgI2RlZmlu ZSBQR19NQUpPUlZFUlNJT04gIjExIgp8ICNkZWZpbmUgUEdfVkVSU0lPTiAiMTFiZXRhMyIKfCAj ZGVmaW5lIERFRl9QR1BPUlQgNTQzMgp8ICNkZWZpbmUgREVGX1BHUE9SVF9TVFIgIjU0MzIiCnwg I2RlZmluZSBCTENLU1ogODE5Mgp8ICNkZWZpbmUgUkVMU0VHX1NJWkUgMTMxMDcyCnwgI2RlZmlu ZSBYTE9HX0JMQ0tTWiA4MTkyCnwgI2RlZmluZSBVU0VfQVNTRVJUX0NIRUNLSU5HIDEKfCAjZGVm aW5lIEVOQUJMRV9USFJFQURfU0FGRVRZIDEKfCAjZGVmaW5lIFVTRV9JQ1UgMQp8ICNkZWZpbmUg UEdfS1JCX1NSVk5BTSAicG9zdGdyZXMiCnwgI2RlZmluZSBVU0VfT1BFTlNTTCAxCnwgI2RlZmlu ZSBVU0VfTElCWE1MIDEKfCAjZGVmaW5lIFVTRV9MSUJYU0xUIDEKfCAjZGVmaW5lIFNURENfSEVB REVSUyAxCnwgI2RlZmluZSBIQVZFX1NZU19UWVBFU19IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NU QVRfSCAxCnwgI2RlZmluZSBIQVZFX1NURExJQl9IIDEKfCAjZGVmaW5lIEhBVkVfU1RSSU5HX0gg MQp8ICNkZWZpbmUgSEFWRV9NRU1PUllfSCAxCnwgI2RlZmluZSBIQVZFX1NUUklOR1NfSCAxCnwg I2RlZmluZSBIQVZFX0lOVFRZUEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERJTlRfSCAxCnwgI2Rl ZmluZSBIQVZFX1VOSVNURF9IIDEKfCAjZGVmaW5lIEhBVkVfTElCTSAxCnwgI2RlZmluZSBIQVZF X0xJQlogMQp8ICNkZWZpbmUgSEFWRV9TUElOTE9DS1MgMQp8ICNkZWZpbmUgSEFWRV9BVE9NSUNT IDEKfCAjZGVmaW5lIEhBVkVfU1NMX0dFVF9DVVJSRU5UX0NPTVBSRVNTSU9OIDEKfCAjZGVmaW5l IEhBVkVfWDUwOV9HRVRfU0lHTkFUVVJFX05JRCAxCnwgI2RlZmluZSBIQVZFX0NSWVBUT19MT0NL IDEKfCAjZGVmaW5lIEhBVkVfTElCWE1MMiAxCnwgI2RlZmluZSBIQVZFX0xJQlhTTFQgMQp8ICNk ZWZpbmUgSEFWRV9fQk9PTCAxCnwgI2RlZmluZSBIQVZFX1NUREJPT0xfSCAxCnwgI2RlZmluZSBI QVZFX0dFVE9QVF9IIDEKfCAjZGVmaW5lIEhBVkVfSUVFRUZQX0ggMQp8ICNkZWZpbmUgSEFWRV9V VElNRV9IIDEKfCAjZGVmaW5lIEhBVkVfV0NIQVJfSCAxCnwgI2RlZmluZSBIQVZFX1dDVFlQRV9I IDEKfCAjZGVmaW5lIEhBVkVfQ1JUREVGU19IIDEKfCAjZGVmaW5lIFBHX1BSSU5URl9BVFRSSUJV VEUgZ251X3ByaW50Zgp8ICNkZWZpbmUgRkxFWElCTEVfQVJSQVlfTUVNQkVSIC8qKi8KfCAjZGVm aW5lIEhBVkVfRlVOQ05BTUVfX0ZVTkMgMQp8ICNkZWZpbmUgSEFWRV9fU1RBVElDX0FTU0VSVCAx CnwgI2RlZmluZSBIQVZFX1RZUEVPRiAxCnwgI2RlZmluZSBIQVZFX19CVUlMVElOX1RZUEVTX0NP TVBBVElCTEVfUCAxCnwgI2RlZmluZSBIQVZFX19CVUlMVElOX0JTV0FQMTYgMQp8ICNkZWZpbmUg SEFWRV9fQlVJTFRJTl9CU1dBUDMyIDEKfCAjZGVmaW5lIEhBVkVfX0JVSUxUSU5fQlNXQVA2NCAx CnwgI2RlZmluZSBIQVZFX19CVUlMVElOX0NPTlNUQU5UX1AgMQp8ICNkZWZpbmUgSEFWRV9fQlVJ TFRJTl9VTlJFQUNIQUJMRSAxCnwgI2RlZmluZSBIQVZFX0NPTVBVVEVEX0dPVE8gMQp8ICNkZWZp bmUgSEFWRV9fVkFfQVJHUyAxCnwgI2RlZmluZSBIQVZFX1RaTkFNRSAxCnwgI2RlZmluZSBIQVZF X1NUUlVDVF9TT0NLQUREUl9TVE9SQUdFIDEKfCAjZGVmaW5lIEhBVkVfU1RSVUNUX1NPQ0tBRERS X1NUT1JBR0VfU1NfRkFNSUxZIDEKfCAjZGVmaW5lIEhBVkVfU1RSVUNUX0FERFJJTkZPIDEKfCAj ZGVmaW5lIEhBVkVfSU5UUFRSX1QgMQp8ICNkZWZpbmUgSEFWRV9VSU5UUFRSX1QgMQp8ICNkZWZp bmUgSEFWRV9VTlNJR05FRF9MT05HX0xPTkdfSU5UIDEKfCAjZGVmaW5lIEhBVkVfTE9OR19MT05H X0lOVCAxCnwgI2RlZmluZSByZXN0cmljdCBfX3Jlc3RyaWN0CnwgI2RlZmluZSBwZ19yZXN0cmlj dCBfX3Jlc3RyaWN0CnwgI2RlZmluZSBIQVZFX1NUUlVDVF9PUFRJT04gMQp8ICNkZWZpbmUgU0la RU9GX09GRl9UIDQKfCAjZGVmaW5lIFNJWkVPRl9CT09MIDEKfCAjZGVmaW5lIEhBVkVfSU5UX1RJ TUVaT05FIDEKfCAjZGVmaW5lIEFDQ0VQVF9UWVBFX1JFVFVSTiBTT0NLRVQgV1NBQVBJCnwgI2Rl ZmluZSBBQ0NFUFRfVFlQRV9BUkcxIFNPQ0tFVAp8ICNkZWZpbmUgQUNDRVBUX1RZUEVfQVJHMiBz dHJ1Y3Qgc29ja2FkZHIgKgp8ICNkZWZpbmUgQUNDRVBUX1RZUEVfQVJHMyBpbnQKfCAjZGVmaW5l IEhBVkVfQ0JSVCAxCnwgI2RlZmluZSBIQVZFX0NMT0NLX0dFVFRJTUUgMQp8ICNkZWZpbmUgSEFW RV9NRU1NT1ZFIDEKfCAjZGVmaW5lIEhBVkVfVVRJTUUgMQp8ICNkZWZpbmUgSEFWRV9GU0VFS08g MQp8ICNkZWZpbmUgSEFWRV9GU0VFS08gMQp8ICNkZWZpbmUgSEFWRV9ERUNMX1BPU0lYX0ZBRFZJ U0UgMAp8ICNkZWZpbmUgSEFWRV9ERUNMX0ZEQVRBU1lOQyAwCnwgI2RlZmluZSBIQVZFX0RFQ0xf U1RSTENBVCAwCnwgI2RlZmluZSBIQVZFX0RFQ0xfU1RSTENQWSAwCnwgI2RlZmluZSBIQVZFX0RF Q0xfU1RSTkxFTiAxCnwgI2RlZmluZSBIQVZFX0RFQ0xfRl9GVUxMRlNZTkMgMAp8ICNkZWZpbmUg SEFWRV9JUFY2IDEKfCAjZGVmaW5lIEhBVkVfREVDTF9TTlBSSU5URiAxCnwgI2RlZmluZSBIQVZF X0RFQ0xfVlNOUFJJTlRGIDEKfCAjZGVmaW5lIEhBVkVfSVNJTkYgMQp8ICNkZWZpbmUgSEFWRV9H RVRPUFQgMQp8ICNkZWZpbmUgSEFWRV9SSU5UIDEKfCAjZGVmaW5lIEhBVkVfU1RSRVJST1IgMQp8 ICNkZWZpbmUgSEFWRV9TVFJOTEVOIDEKfCAjZGVmaW5lIEhBVkVfVU5TRVRFTlYgMQp8ICNkZWZp bmUgSEFWRV9HRVRQRUVSRUlEIDEKfCAjZGVmaW5lIEhBVkVfR0VUT1BUX0xPTkcgMQp8ICNkZWZp bmUgSEFWRV9HRVRUSU1FT0ZEQVkgMQp8ICNkZWZpbmUgSEFWRV9TWU1MSU5LIDEKfCAjZGVmaW5l IEhBVkVfTUlOSURVTVBfVFlQRSAxCnwgI2RlZmluZSBIQVZFX0RFQ0xfU1lTX1NJR0xJU1QgMAp8 ICNkZWZpbmUgSEFWRV9JTlRfT1BURVJSIDEKfCAjZGVmaW5lIEhBVkVfU1RSVE9MTCAxCnwgI2Rl ZmluZSBIQVZFX1NUUlRPVUxMIDEKfCAjZGVmaW5lIEhBVkVfREVDTF9TVFJUT0xMIDEKfCAjZGVm aW5lIEhBVkVfREVDTF9TVFJUT1VMTCAxCnwgI2RlZmluZSBIQVZFX0xPTkdfTE9OR19JTlRfNjQg MQp8ICNkZWZpbmUgUEdfSU5UNjRfVFlQRSBsb25nIGxvbmcgaW50CnwgI2RlZmluZSBJTlQ2NF9N T0RJRklFUiAibGwiCnwgI2RlZmluZSBVU0VfUkVQTF9TTlBSSU5URiAxCnwgI2RlZmluZSBIQVZF X19CVUlMVElOX09QX09WRVJGTE9XIDEKfCAjZGVmaW5lIFNJWkVPRl9WT0lEX1AgOAp8ICNkZWZp bmUgU0laRU9GX1NJWkVfVCA4CnwgI2RlZmluZSBTSVpFT0ZfTE9ORyA0CnwgI2RlZmluZSBVU0Vf RkxPQVQ0X0JZVkFMIDEKfCAjZGVmaW5lIEZMT0FUNFBBU1NCWVZBTCB0cnVlCnwgI2RlZmluZSBV U0VfRkxPQVQ4X0JZVkFMIDEKfCAjZGVmaW5lIEZMT0FUOFBBU1NCWVZBTCB0cnVlCnwgI2RlZmlu ZSBBTElHTk9GX1NIT1JUIDIKfCAjZGVmaW5lIEFMSUdOT0ZfSU5UIDQKfCAjZGVmaW5lIEFMSUdO T0ZfTE9ORyA0CnwgI2RlZmluZSBBTElHTk9GX0xPTkdfTE9OR19JTlQgOAp8ICNkZWZpbmUgQUxJ R05PRl9ET1VCTEUgOAp8ICNkZWZpbmUgTUFYSU1VTV9BTElHTk9GIDgKfCAjZGVmaW5lIFBHX0lO VDEyOF9UWVBFIF9faW50MTI4CnwgI2RlZmluZSBBTElHTk9GX1BHX0lOVDEyOF9UWVBFIDE2Cnwg I2RlZmluZSBIQVZFX0dDQ19fU1lOQ19DSEFSX1RBUyAxCnwgI2RlZmluZSBIQVZFX0dDQ19fU1lO Q19JTlQzMl9UQVMgMQp8ICNkZWZpbmUgSEFWRV9HQ0NfX1NZTkNfSU5UMzJfQ0FTIDEKfCAjZGVm aW5lIEhBVkVfR0NDX19TWU5DX0lOVDY0X0NBUyAxCnwgI2RlZmluZSBIQVZFX0dDQ19fQVRPTUlD X0lOVDMyX0NBUyAxCnwgI2RlZmluZSBIQVZFX0dDQ19fQVRPTUlDX0lOVDY0X0NBUyAxCnwgI2Rl ZmluZSBIQVZFX19HRVRfQ1BVSUQgMQp8IC8qIGVuZCBjb25mZGVmcy5oLiAgKi8KfCAKfCBpbnQK fCBtYWluICgpCnwgewp8IAp8ICNpZm5kZWYgX19TU0U0XzJfXwp8ICNlcnJvciBfX1NTRTRfMl9f IG5vdCBkZWZpbmVkCnwgI2VuZGlmCnwgCnwgICA7CnwgICByZXR1cm4gMDsKfCB9CmNvbmZpZ3Vy ZToxNzMxMzogY2hlY2tpbmcgZm9yIF9fY3JjMzJjYiwgX19jcmMzMmNoLCBfX2NyYzMyY3csIGFu ZCBfX2NyYzMyY2Qgd2l0aCBDRkxBR1M9CmNvbmZpZ3VyZToxNzMzNzogeDg2XzY0LXc2NC1taW5n dzMyLWdjYyAtbyBjb25mdGVzdC5leGUgLVdhbGwgLVdtaXNzaW5nLXByb3RvdHlwZXMgLVdwb2lu dGVyLWFyaXRoIC1XZGVjbGFyYXRpb24tYWZ0ZXItc3RhdGVtZW50IC1XZW5kaWYtbGFiZWxzIC1X bWlzc2luZy1mb3JtYXQtYXR0cmlidXRlIC1XZm9ybWF0LXNlY3VyaXR5IC1mbm8tc3RyaWN0LWFs aWFzaW5nIC1md3JhcHYgLWZleGNlc3MtcHJlY2lzaW9uPXN0YW5kYXJkIC1Xbm8tZm9ybWF0LXRy dW5jYXRpb24gLVduby1zdHJpbmdvcC10cnVuY2F0aW9uIC1nIC1PIC1mbm8tb21pdC1mcmFtZS1w b2ludGVyICAgLUkvdy9SLTMuNS5fL3Bvc3RncmVzL3NyYy9pbmNsdWRlL3BvcnQvd2luMzIgLURF WEVDX0JBQ0tFTkQgIC1JL3cvemxpYi0xLjIuOC13aW4zMi14ODZfNjQvaW5jbHVkZSAtSS93L29w ZW5zc2wtMS4wLjJlLXdpbjMyLXg4Nl82NC9pbmNsdWRlIC1JL3cvbGlieG1sMi0yLjkuMy13aW4z Mi14ODZfNjQvaW5jbHVkZS9saWJ4bWwyIC1JL3cvbGlieHNsdC0xLjEuMjgtd2luMzIteDg2XzY0 L2luY2x1ZGUgIC1XbCwtLWFsbG93LW11bHRpcGxlLWRlZmluaXRpb24gLVdsLC0tZGlzYWJsZS1h dXRvLWltcG9ydCAgLUwvdy96bGliLTEuMi44LXdpbjMyLXg4Nl82NC9saWIgLUwvdy9vcGVuc3Ns LTEuMC4yZS13aW4zMi14ODZfNjQvbGliIC1ML3cvbGlieG1sMi0yLjkuMy13aW4zMi14ODZfNjQv bGliIC1ML3cvbGlieHNsdC0xLjEuMjgtd2luMzIteDg2XzY0L2xpYiBjb25mdGVzdC5jIC1seHNs dCAtbHhtbDIgLWxzc2wgLWxjcnlwdG8gLWx6IC1sd3MyXzMyIC1sbSAgPiY1CmNvbmZ0ZXN0LmM6 MTQwOjEwOiBmYXRhbCBlcnJvcjogYXJtX2FjbGUuaDogTm8gc3VjaCBmaWxlIG9yIGRpcmVjdG9y eQogI2luY2x1ZGUgPGFybV9hY2xlLmg+CiAgICAgICAgICBefn5+fn5+fn5+fn4KY29tcGlsYXRp b24gdGVybWluYXRlZC4NCmNvbmZpZ3VyZToxNzMzNzogJD8gPSAxCmNvbmZpZ3VyZTogZmFpbGVk IHByb2dyYW0gd2FzOgp8IC8qIGNvbmZkZWZzLmggKi8KfCAjZGVmaW5lIFBBQ0tBR0VfTkFNRSAi UG9zdGdyZVNRTCIKfCAjZGVmaW5lIFBBQ0tBR0VfVEFSTkFNRSAicG9zdGdyZXNxbCIKfCAjZGVm aW5lIFBBQ0tBR0VfVkVSU0lPTiAiMTFiZXRhMyIKfCAjZGVmaW5lIFBBQ0tBR0VfU1RSSU5HICJQ b3N0Z3JlU1FMIDExYmV0YTMiCnwgI2RlZmluZSBQQUNLQUdFX0JVR1JFUE9SVCAicGdzcWwtYnVn c0Bwb3N0Z3Jlc3FsLm9yZyIKfCAjZGVmaW5lIFBBQ0tBR0VfVVJMICIiCnwgI2RlZmluZSBQR19N QUpPUlZFUlNJT04gIjExIgp8ICNkZWZpbmUgUEdfVkVSU0lPTiAiMTFiZXRhMyIKfCAjZGVmaW5l IERFRl9QR1BPUlQgNTQzMgp8ICNkZWZpbmUgREVGX1BHUE9SVF9TVFIgIjU0MzIiCnwgI2RlZmlu ZSBCTENLU1ogODE5Mgp8ICNkZWZpbmUgUkVMU0VHX1NJWkUgMTMxMDcyCnwgI2RlZmluZSBYTE9H X0JMQ0tTWiA4MTkyCnwgI2RlZmluZSBVU0VfQVNTRVJUX0NIRUNLSU5HIDEKfCAjZGVmaW5lIEVO QUJMRV9USFJFQURfU0FGRVRZIDEKfCAjZGVmaW5lIFVTRV9JQ1UgMQp8ICNkZWZpbmUgUEdfS1JC X1NSVk5BTSAicG9zdGdyZXMiCnwgI2RlZmluZSBVU0VfT1BFTlNTTCAxCnwgI2RlZmluZSBVU0Vf TElCWE1MIDEKfCAjZGVmaW5lIFVTRV9MSUJYU0xUIDEKfCAjZGVmaW5lIFNURENfSEVBREVSUyAx CnwgI2RlZmluZSBIQVZFX1NZU19UWVBFU19IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NUQVRfSCAx CnwgI2RlZmluZSBIQVZFX1NURExJQl9IIDEKfCAjZGVmaW5lIEhBVkVfU1RSSU5HX0ggMQp8ICNk ZWZpbmUgSEFWRV9NRU1PUllfSCAxCnwgI2RlZmluZSBIQVZFX1NUUklOR1NfSCAxCnwgI2RlZmlu ZSBIQVZFX0lOVFRZUEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERJTlRfSCAxCnwgI2RlZmluZSBI QVZFX1VOSVNURF9IIDEKfCAjZGVmaW5lIEhBVkVfTElCTSAxCnwgI2RlZmluZSBIQVZFX0xJQlog MQp8ICNkZWZpbmUgSEFWRV9TUElOTE9DS1MgMQp8ICNkZWZpbmUgSEFWRV9BVE9NSUNTIDEKfCAj ZGVmaW5lIEhBVkVfU1NMX0dFVF9DVVJSRU5UX0NPTVBSRVNTSU9OIDEKfCAjZGVmaW5lIEhBVkVf WDUwOV9HRVRfU0lHTkFUVVJFX05JRCAxCnwgI2RlZmluZSBIQVZFX0NSWVBUT19MT0NLIDEKfCAj ZGVmaW5lIEhBVkVfTElCWE1MMiAxCnwgI2RlZmluZSBIQVZFX0xJQlhTTFQgMQp8ICNkZWZpbmUg SEFWRV9fQk9PTCAxCnwgI2RlZmluZSBIQVZFX1NUREJPT0xfSCAxCnwgI2RlZmluZSBIQVZFX0dF VE9QVF9IIDEKfCAjZGVmaW5lIEhBVkVfSUVFRUZQX0ggMQp8ICNkZWZpbmUgSEFWRV9VVElNRV9I IDEKfCAjZGVmaW5lIEhBVkVfV0NIQVJfSCAxCnwgI2RlZmluZSBIQVZFX1dDVFlQRV9IIDEKfCAj ZGVmaW5lIEhBVkVfQ1JUREVGU19IIDEKfCAjZGVmaW5lIFBHX1BSSU5URl9BVFRSSUJVVEUgZ251 X3ByaW50Zgp8ICNkZWZpbmUgRkxFWElCTEVfQVJSQVlfTUVNQkVSIC8qKi8KfCAjZGVmaW5lIEhB VkVfRlVOQ05BTUVfX0ZVTkMgMQp8ICNkZWZpbmUgSEFWRV9fU1RBVElDX0FTU0VSVCAxCnwgI2Rl ZmluZSBIQVZFX1RZUEVPRiAxCnwgI2RlZmluZSBIQVZFX19CVUlMVElOX1RZUEVTX0NPTVBBVElC TEVfUCAxCnwgI2RlZmluZSBIQVZFX19CVUlMVElOX0JTV0FQMTYgMQp8ICNkZWZpbmUgSEFWRV9f QlVJTFRJTl9CU1dBUDMyIDEKfCAjZGVmaW5lIEhBVkVfX0JVSUxUSU5fQlNXQVA2NCAxCnwgI2Rl ZmluZSBIQVZFX19CVUlMVElOX0NPTlNUQU5UX1AgMQp8ICNkZWZpbmUgSEFWRV9fQlVJTFRJTl9V TlJFQUNIQUJMRSAxCnwgI2RlZmluZSBIQVZFX0NPTVBVVEVEX0dPVE8gMQp8ICNkZWZpbmUgSEFW RV9fVkFfQVJHUyAxCnwgI2RlZmluZSBIQVZFX1RaTkFNRSAxCnwgI2RlZmluZSBIQVZFX1NUUlVD VF9TT0NLQUREUl9TVE9SQUdFIDEKfCAjZGVmaW5lIEhBVkVfU1RSVUNUX1NPQ0tBRERSX1NUT1JB R0VfU1NfRkFNSUxZIDEKfCAjZGVmaW5lIEhBVkVfU1RSVUNUX0FERFJJTkZPIDEKfCAjZGVmaW5l IEhBVkVfSU5UUFRSX1QgMQp8ICNkZWZpbmUgSEFWRV9VSU5UUFRSX1QgMQp8ICNkZWZpbmUgSEFW RV9VTlNJR05FRF9MT05HX0xPTkdfSU5UIDEKfCAjZGVmaW5lIEhBVkVfTE9OR19MT05HX0lOVCAx CnwgI2RlZmluZSByZXN0cmljdCBfX3Jlc3RyaWN0CnwgI2RlZmluZSBwZ19yZXN0cmljdCBfX3Jl c3RyaWN0CnwgI2RlZmluZSBIQVZFX1NUUlVDVF9PUFRJT04gMQp8ICNkZWZpbmUgU0laRU9GX09G Rl9UIDQKfCAjZGVmaW5lIFNJWkVPRl9CT09MIDEKfCAjZGVmaW5lIEhBVkVfSU5UX1RJTUVaT05F IDEKfCAjZGVmaW5lIEFDQ0VQVF9UWVBFX1JFVFVSTiBTT0NLRVQgV1NBQVBJCnwgI2RlZmluZSBB Q0NFUFRfVFlQRV9BUkcxIFNPQ0tFVAp8ICNkZWZpbmUgQUNDRVBUX1RZUEVfQVJHMiBzdHJ1Y3Qg c29ja2FkZHIgKgp8ICNkZWZpbmUgQUNDRVBUX1RZUEVfQVJHMyBpbnQKfCAjZGVmaW5lIEhBVkVf Q0JSVCAxCnwgI2RlZmluZSBIQVZFX0NMT0NLX0dFVFRJTUUgMQp8ICNkZWZpbmUgSEFWRV9NRU1N T1ZFIDEKfCAjZGVmaW5lIEhBVkVfVVRJTUUgMQp8ICNkZWZpbmUgSEFWRV9GU0VFS08gMQp8ICNk ZWZpbmUgSEFWRV9GU0VFS08gMQp8ICNkZWZpbmUgSEFWRV9ERUNMX1BPU0lYX0ZBRFZJU0UgMAp8 ICNkZWZpbmUgSEFWRV9ERUNMX0ZEQVRBU1lOQyAwCnwgI2RlZmluZSBIQVZFX0RFQ0xfU1RSTENB VCAwCnwgI2RlZmluZSBIQVZFX0RFQ0xfU1RSTENQWSAwCnwgI2RlZmluZSBIQVZFX0RFQ0xfU1RS TkxFTiAxCnwgI2RlZmluZSBIQVZFX0RFQ0xfRl9GVUxMRlNZTkMgMAp8ICNkZWZpbmUgSEFWRV9J UFY2IDEKfCAjZGVmaW5lIEhBVkVfREVDTF9TTlBSSU5URiAxCnwgI2RlZmluZSBIQVZFX0RFQ0xf VlNOUFJJTlRGIDEKfCAjZGVmaW5lIEhBVkVfSVNJTkYgMQp8ICNkZWZpbmUgSEFWRV9HRVRPUFQg MQp8ICNkZWZpbmUgSEFWRV9SSU5UIDEKfCAjZGVmaW5lIEhBVkVfU1RSRVJST1IgMQp8ICNkZWZp bmUgSEFWRV9TVFJOTEVOIDEKfCAjZGVmaW5lIEhBVkVfVU5TRVRFTlYgMQp8ICNkZWZpbmUgSEFW RV9HRVRQRUVSRUlEIDEKfCAjZGVmaW5lIEhBVkVfR0VUT1BUX0xPTkcgMQp8ICNkZWZpbmUgSEFW RV9HRVRUSU1FT0ZEQVkgMQp8ICNkZWZpbmUgSEFWRV9TWU1MSU5LIDEKfCAjZGVmaW5lIEhBVkVf TUlOSURVTVBfVFlQRSAxCnwgI2RlZmluZSBIQVZFX0RFQ0xfU1lTX1NJR0xJU1QgMAp8ICNkZWZp bmUgSEFWRV9JTlRfT1BURVJSIDEKfCAjZGVmaW5lIEhBVkVfU1RSVE9MTCAxCnwgI2RlZmluZSBI QVZFX1NUUlRPVUxMIDEKfCAjZGVmaW5lIEhBVkVfREVDTF9TVFJUT0xMIDEKfCAjZGVmaW5lIEhB VkVfREVDTF9TVFJUT1VMTCAxCnwgI2RlZmluZSBIQVZFX0xPTkdfTE9OR19JTlRfNjQgMQp8ICNk ZWZpbmUgUEdfSU5UNjRfVFlQRSBsb25nIGxvbmcgaW50CnwgI2RlZmluZSBJTlQ2NF9NT0RJRklF UiAibGwiCnwgI2RlZmluZSBVU0VfUkVQTF9TTlBSSU5URiAxCnwgI2RlZmluZSBIQVZFX19CVUlM VElOX09QX09WRVJGTE9XIDEKfCAjZGVmaW5lIFNJWkVPRl9WT0lEX1AgOAp8ICNkZWZpbmUgU0la RU9GX1NJWkVfVCA4CnwgI2RlZmluZSBTSVpFT0ZfTE9ORyA0CnwgI2RlZmluZSBVU0VfRkxPQVQ0 X0JZVkFMIDEKfCAjZGVmaW5lIEZMT0FUNFBBU1NCWVZBTCB0cnVlCnwgI2RlZmluZSBVU0VfRkxP QVQ4X0JZVkFMIDEKfCAjZGVmaW5lIEZMT0FUOFBBU1NCWVZBTCB0cnVlCnwgI2RlZmluZSBBTElH Tk9GX1NIT1JUIDIKfCAjZGVmaW5lIEFMSUdOT0ZfSU5UIDQKfCAjZGVmaW5lIEFMSUdOT0ZfTE9O RyA0CnwgI2RlZmluZSBBTElHTk9GX0xPTkdfTE9OR19JTlQgOAp8ICNkZWZpbmUgQUxJR05PRl9E T1VCTEUgOAp8ICNkZWZpbmUgTUFYSU1VTV9BTElHTk9GIDgKfCAjZGVmaW5lIFBHX0lOVDEyOF9U WVBFIF9faW50MTI4CnwgI2RlZmluZSBBTElHTk9GX1BHX0lOVDEyOF9UWVBFIDE2CnwgI2RlZmlu ZSBIQVZFX0dDQ19fU1lOQ19DSEFSX1RBUyAxCnwgI2RlZmluZSBIQVZFX0dDQ19fU1lOQ19JTlQz Ml9UQVMgMQp8ICNkZWZpbmUgSEFWRV9HQ0NfX1NZTkNfSU5UMzJfQ0FTIDEKfCAjZGVmaW5lIEhB VkVfR0NDX19TWU5DX0lOVDY0X0NBUyAxCnwgI2RlZmluZSBIQVZFX0dDQ19fQVRPTUlDX0lOVDMy X0NBUyAxCnwgI2RlZmluZSBIQVZFX0dDQ19fQVRPTUlDX0lOVDY0X0NBUyAxCnwgI2RlZmluZSBI QVZFX19HRVRfQ1BVSUQgMQp8IC8qIGVuZCBjb25mZGVmcy5oLiAgKi8KfCAjaW5jbHVkZSA8YXJt X2FjbGUuaD4KfCBpbnQKfCBtYWluICgpCnwgewp8IHVuc2lnbmVkIGludCBjcmMgPSAwOwp8ICAg IGNyYyA9IF9fY3JjMzJjYihjcmMsIDApOwp8ICAgIGNyYyA9IF9fY3JjMzJjaChjcmMsIDApOwp8 ICAgIGNyYyA9IF9fY3JjMzJjdyhjcmMsIDApOwp8ICAgIGNyYyA9IF9fY3JjMzJjZChjcmMsIDAp Owp8ICAgIC8qIHJldHVybiBjb21wdXRlZCB2YWx1ZSwgdG8gcHJldmVudCB0aGUgYWJvdmUgYmVp bmcgb3B0aW1pemVkIGF3YXkgKi8KfCAgICByZXR1cm4gY3JjID09IDA7CnwgICA7CnwgICByZXR1 cm4gMDsKfCB9CmNvbmZpZ3VyZToxNzM0NjogcmVzdWx0OiBubwpjb25maWd1cmU6MTczNTQ6IGNo ZWNraW5nIGZvciBfX2NyYzMyY2IsIF9fY3JjMzJjaCwgX19jcmMzMmN3LCBhbmQgX19jcmMzMmNk IHdpdGggQ0ZMQUdTPS1tYXJjaD1hcm12OC1hK2NyYwpjb25maWd1cmU6MTczNzg6IHg4Nl82NC13 NjQtbWluZ3czMi1nY2MgLW8gY29uZnRlc3QuZXhlIC1XYWxsIC1XbWlzc2luZy1wcm90b3R5cGVz IC1XcG9pbnRlci1hcml0aCAtV2RlY2xhcmF0aW9uLWFmdGVyLXN0YXRlbWVudCAtV2VuZGlmLWxh YmVscyAtV21pc3NpbmctZm9ybWF0LWF0dHJpYnV0ZSAtV2Zvcm1hdC1zZWN1cml0eSAtZm5vLXN0 cmljdC1hbGlhc2luZyAtZndyYXB2IC1mZXhjZXNzLXByZWNpc2lvbj1zdGFuZGFyZCAtV25vLWZv cm1hdC10cnVuY2F0aW9uIC1Xbm8tc3RyaW5nb3AtdHJ1bmNhdGlvbiAtZyAtTyAtZm5vLW9taXQt ZnJhbWUtcG9pbnRlciAtbWFyY2g9YXJtdjgtYStjcmMgIC1JL3cvUi0zLjUuXy9wb3N0Z3Jlcy9z cmMvaW5jbHVkZS9wb3J0L3dpbjMyIC1ERVhFQ19CQUNLRU5EICAtSS93L3psaWItMS4yLjgtd2lu MzIteDg2XzY0L2luY2x1ZGUgLUkvdy9vcGVuc3NsLTEuMC4yZS13aW4zMi14ODZfNjQvaW5jbHVk ZSAtSS93L2xpYnhtbDItMi45LjMtd2luMzIteDg2XzY0L2luY2x1ZGUvbGlieG1sMiAtSS93L2xp YnhzbHQtMS4xLjI4LXdpbjMyLXg4Nl82NC9pbmNsdWRlICAtV2wsLS1hbGxvdy1tdWx0aXBsZS1k ZWZpbml0aW9uIC1XbCwtLWRpc2FibGUtYXV0by1pbXBvcnQgIC1ML3cvemxpYi0xLjIuOC13aW4z Mi14ODZfNjQvbGliIC1ML3cvb3BlbnNzbC0xLjAuMmUtd2luMzIteDg2XzY0L2xpYiAtTC93L2xp YnhtbDItMi45LjMtd2luMzIteDg2XzY0L2xpYiAtTC93L2xpYnhzbHQtMS4xLjI4LXdpbjMyLXg4 Nl82NC9saWIgY29uZnRlc3QuYyAtbHhzbHQgLWx4bWwyIC1sc3NsIC1sY3J5cHRvIC1seiAtbHdz Ml8zMiAtbG0gID4mNQpjYzEuZXhlOiBlcnJvcjogYmFkIHZhbHVlICgnYXJtdjgtYStjcmMnKSBm b3IgJy1tYXJjaD0nIHN3aXRjaApjYzEuZXhlOiBub3RlOiB2YWxpZCBhcmd1bWVudHMgdG8gJy1t YXJjaD0nIHN3aXRjaCBhcmU6IG5vY29uYSBjb3JlMiBuZWhhbGVtIGNvcmVpNyB3ZXN0bWVyZSBz YW5keWJyaWRnZSBjb3JlaTctYXZ4IGl2eWJyaWRnZSBjb3JlLWF2eC1pIGhhc3dlbGwgY29yZS1h dngyIGJyb2Fkd2VsbCBza3lsYWtlIHNreWxha2UtYXZ4NTEyIGNhbm5vbmxha2UgaWNlbGFrZS1j bGllbnQgaWNlbGFrZS1zZXJ2ZXIgYm9ubmVsbCBhdG9tIHNpbHZlcm1vbnQgc2xtIGtubCBrbm0g eDg2LTY0IGVkZW4teDIgbmFubyBuYW5vLTEwMDAgbmFuby0yMDAwIG5hbm8tMzAwMCBuYW5vLXgy IGVkZW4teDQgbmFuby14NCBrOCBrOC1zc2UzIG9wdGVyb24gb3B0ZXJvbi1zc2UzIGF0aGxvbjY0 IGF0aGxvbjY0LXNzZTMgYXRobG9uLWZ4IGFtZGZhbTEwIGJhcmNlbG9uYSBiZHZlcjEgYmR2ZXIy IGJkdmVyMyBiZHZlcjQgem52ZXIxIGJ0dmVyMSBidHZlcjIgbmF0aXZlCmNvbmZpZ3VyZToxNzM3 ODogJD8gPSAxCmNvbmZpZ3VyZTogZmFpbGVkIHByb2dyYW0gd2FzOgp8IC8qIGNvbmZkZWZzLmgg Ki8KfCAjZGVmaW5lIFBBQ0tBR0VfTkFNRSAiUG9zdGdyZVNRTCIKfCAjZGVmaW5lIFBBQ0tBR0Vf VEFSTkFNRSAicG9zdGdyZXNxbCIKfCAjZGVmaW5lIFBBQ0tBR0VfVkVSU0lPTiAiMTFiZXRhMyIK fCAjZGVmaW5lIFBBQ0tBR0VfU1RSSU5HICJQb3N0Z3JlU1FMIDExYmV0YTMiCnwgI2RlZmluZSBQ QUNLQUdFX0JVR1JFUE9SVCAicGdzcWwtYnVnc0Bwb3N0Z3Jlc3FsLm9yZyIKfCAjZGVmaW5lIFBB Q0tBR0VfVVJMICIiCnwgI2RlZmluZSBQR19NQUpPUlZFUlNJT04gIjExIgp8ICNkZWZpbmUgUEdf VkVSU0lPTiAiMTFiZXRhMyIKfCAjZGVmaW5lIERFRl9QR1BPUlQgNTQzMgp8ICNkZWZpbmUgREVG X1BHUE9SVF9TVFIgIjU0MzIiCnwgI2RlZmluZSBCTENLU1ogODE5Mgp8ICNkZWZpbmUgUkVMU0VH X1NJWkUgMTMxMDcyCnwgI2RlZmluZSBYTE9HX0JMQ0tTWiA4MTkyCnwgI2RlZmluZSBVU0VfQVNT RVJUX0NIRUNLSU5HIDEKfCAjZGVmaW5lIEVOQUJMRV9USFJFQURfU0FGRVRZIDEKfCAjZGVmaW5l IFVTRV9JQ1UgMQp8ICNkZWZpbmUgUEdfS1JCX1NSVk5BTSAicG9zdGdyZXMiCnwgI2RlZmluZSBV U0VfT1BFTlNTTCAxCnwgI2RlZmluZSBVU0VfTElCWE1MIDEKfCAjZGVmaW5lIFVTRV9MSUJYU0xU IDEKfCAjZGVmaW5lIFNURENfSEVBREVSUyAxCnwgI2RlZmluZSBIQVZFX1NZU19UWVBFU19IIDEK fCAjZGVmaW5lIEhBVkVfU1lTX1NUQVRfSCAxCnwgI2RlZmluZSBIQVZFX1NURExJQl9IIDEKfCAj ZGVmaW5lIEhBVkVfU1RSSU5HX0ggMQp8ICNkZWZpbmUgSEFWRV9NRU1PUllfSCAxCnwgI2RlZmlu ZSBIQVZFX1NUUklOR1NfSCAxCnwgI2RlZmluZSBIQVZFX0lOVFRZUEVTX0ggMQp8ICNkZWZpbmUg SEFWRV9TVERJTlRfSCAxCnwgI2RlZmluZSBIQVZFX1VOSVNURF9IIDEKfCAjZGVmaW5lIEhBVkVf TElCTSAxCnwgI2RlZmluZSBIQVZFX0xJQlogMQp8ICNkZWZpbmUgSEFWRV9TUElOTE9DS1MgMQp8 ICNkZWZpbmUgSEFWRV9BVE9NSUNTIDEKfCAjZGVmaW5lIEhBVkVfU1NMX0dFVF9DVVJSRU5UX0NP TVBSRVNTSU9OIDEKfCAjZGVmaW5lIEhBVkVfWDUwOV9HRVRfU0lHTkFUVVJFX05JRCAxCnwgI2Rl ZmluZSBIQVZFX0NSWVBUT19MT0NLIDEKfCAjZGVmaW5lIEhBVkVfTElCWE1MMiAxCnwgI2RlZmlu ZSBIQVZFX0xJQlhTTFQgMQp8ICNkZWZpbmUgSEFWRV9fQk9PTCAxCnwgI2RlZmluZSBIQVZFX1NU REJPT0xfSCAxCnwgI2RlZmluZSBIQVZFX0dFVE9QVF9IIDEKfCAjZGVmaW5lIEhBVkVfSUVFRUZQ X0ggMQp8ICNkZWZpbmUgSEFWRV9VVElNRV9IIDEKfCAjZGVmaW5lIEhBVkVfV0NIQVJfSCAxCnwg I2RlZmluZSBIQVZFX1dDVFlQRV9IIDEKfCAjZGVmaW5lIEhBVkVfQ1JUREVGU19IIDEKfCAjZGVm aW5lIFBHX1BSSU5URl9BVFRSSUJVVEUgZ251X3ByaW50Zgp8ICNkZWZpbmUgRkxFWElCTEVfQVJS QVlfTUVNQkVSIC8qKi8KfCAjZGVmaW5lIEhBVkVfRlVOQ05BTUVfX0ZVTkMgMQp8ICNkZWZpbmUg SEFWRV9fU1RBVElDX0FTU0VSVCAxCnwgI2RlZmluZSBIQVZFX1RZUEVPRiAxCnwgI2RlZmluZSBI QVZFX19CVUlMVElOX1RZUEVTX0NPTVBBVElCTEVfUCAxCnwgI2RlZmluZSBIQVZFX19CVUlMVElO X0JTV0FQMTYgMQp8ICNkZWZpbmUgSEFWRV9fQlVJTFRJTl9CU1dBUDMyIDEKfCAjZGVmaW5lIEhB VkVfX0JVSUxUSU5fQlNXQVA2NCAxCnwgI2RlZmluZSBIQVZFX19CVUlMVElOX0NPTlNUQU5UX1Ag MQp8ICNkZWZpbmUgSEFWRV9fQlVJTFRJTl9VTlJFQUNIQUJMRSAxCnwgI2RlZmluZSBIQVZFX0NP TVBVVEVEX0dPVE8gMQp8ICNkZWZpbmUgSEFWRV9fVkFfQVJHUyAxCnwgI2RlZmluZSBIQVZFX1Ra TkFNRSAxCnwgI2RlZmluZSBIQVZFX1NUUlVDVF9TT0NLQUREUl9TVE9SQUdFIDEKfCAjZGVmaW5l IEhBVkVfU1RSVUNUX1NPQ0tBRERSX1NUT1JBR0VfU1NfRkFNSUxZIDEKfCAjZGVmaW5lIEhBVkVf U1RSVUNUX0FERFJJTkZPIDEKfCAjZGVmaW5lIEhBVkVfSU5UUFRSX1QgMQp8ICNkZWZpbmUgSEFW RV9VSU5UUFRSX1QgMQp8ICNkZWZpbmUgSEFWRV9VTlNJR05FRF9MT05HX0xPTkdfSU5UIDEKfCAj ZGVmaW5lIEhBVkVfTE9OR19MT05HX0lOVCAxCnwgI2RlZmluZSByZXN0cmljdCBfX3Jlc3RyaWN0 CnwgI2RlZmluZSBwZ19yZXN0cmljdCBfX3Jlc3RyaWN0CnwgI2RlZmluZSBIQVZFX1NUUlVDVF9P UFRJT04gMQp8ICNkZWZpbmUgU0laRU9GX09GRl9UIDQKfCAjZGVmaW5lIFNJWkVPRl9CT09MIDEK fCAjZGVmaW5lIEhBVkVfSU5UX1RJTUVaT05FIDEKfCAjZGVmaW5lIEFDQ0VQVF9UWVBFX1JFVFVS TiBTT0NLRVQgV1NBQVBJCnwgI2RlZmluZSBBQ0NFUFRfVFlQRV9BUkcxIFNPQ0tFVAp8ICNkZWZp bmUgQUNDRVBUX1RZUEVfQVJHMiBzdHJ1Y3Qgc29ja2FkZHIgKgp8ICNkZWZpbmUgQUNDRVBUX1RZ UEVfQVJHMyBpbnQKfCAjZGVmaW5lIEhBVkVfQ0JSVCAxCnwgI2RlZmluZSBIQVZFX0NMT0NLX0dF VFRJTUUgMQp8ICNkZWZpbmUgSEFWRV9NRU1NT1ZFIDEKfCAjZGVmaW5lIEhBVkVfVVRJTUUgMQp8 ICNkZWZpbmUgSEFWRV9GU0VFS08gMQp8ICNkZWZpbmUgSEFWRV9GU0VFS08gMQp8ICNkZWZpbmUg SEFWRV9ERUNMX1BPU0lYX0ZBRFZJU0UgMAp8ICNkZWZpbmUgSEFWRV9ERUNMX0ZEQVRBU1lOQyAw CnwgI2RlZmluZSBIQVZFX0RFQ0xfU1RSTENBVCAwCnwgI2RlZmluZSBIQVZFX0RFQ0xfU1RSTENQ WSAwCnwgI2RlZmluZSBIQVZFX0RFQ0xfU1RSTkxFTiAxCnwgI2RlZmluZSBIQVZFX0RFQ0xfRl9G VUxMRlNZTkMgMAp8ICNkZWZpbmUgSEFWRV9JUFY2IDEKfCAjZGVmaW5lIEhBVkVfREVDTF9TTlBS SU5URiAxCnwgI2RlZmluZSBIQVZFX0RFQ0xfVlNOUFJJTlRGIDEKfCAjZGVmaW5lIEhBVkVfSVNJ TkYgMQp8ICNkZWZpbmUgSEFWRV9HRVRPUFQgMQp8ICNkZWZpbmUgSEFWRV9SSU5UIDEKfCAjZGVm aW5lIEhBVkVfU1RSRVJST1IgMQp8ICNkZWZpbmUgSEFWRV9TVFJOTEVOIDEKfCAjZGVmaW5lIEhB VkVfVU5TRVRFTlYgMQp8ICNkZWZpbmUgSEFWRV9HRVRQRUVSRUlEIDEKfCAjZGVmaW5lIEhBVkVf R0VUT1BUX0xPTkcgMQp8ICNkZWZpbmUgSEFWRV9HRVRUSU1FT0ZEQVkgMQp8ICNkZWZpbmUgSEFW RV9TWU1MSU5LIDEKfCAjZGVmaW5lIEhBVkVfTUlOSURVTVBfVFlQRSAxCnwgI2RlZmluZSBIQVZF X0RFQ0xfU1lTX1NJR0xJU1QgMAp8ICNkZWZpbmUgSEFWRV9JTlRfT1BURVJSIDEKfCAjZGVmaW5l IEhBVkVfU1RSVE9MTCAxCnwgI2RlZmluZSBIQVZFX1NUUlRPVUxMIDEKfCAjZGVmaW5lIEhBVkVf REVDTF9TVFJUT0xMIDEKfCAjZGVmaW5lIEhBVkVfREVDTF9TVFJUT1VMTCAxCnwgI2RlZmluZSBI QVZFX0xPTkdfTE9OR19JTlRfNjQgMQp8ICNkZWZpbmUgUEdfSU5UNjRfVFlQRSBsb25nIGxvbmcg aW50CnwgI2RlZmluZSBJTlQ2NF9NT0RJRklFUiAibGwiCnwgI2RlZmluZSBVU0VfUkVQTF9TTlBS SU5URiAxCnwgI2RlZmluZSBIQVZFX19CVUlMVElOX09QX09WRVJGTE9XIDEKfCAjZGVmaW5lIFNJ WkVPRl9WT0lEX1AgOAp8ICNkZWZpbmUgU0laRU9GX1NJWkVfVCA4CnwgI2RlZmluZSBTSVpFT0Zf TE9ORyA0CnwgI2RlZmluZSBVU0VfRkxPQVQ0X0JZVkFMIDEKfCAjZGVmaW5lIEZMT0FUNFBBU1NC WVZBTCB0cnVlCnwgI2RlZmluZSBVU0VfRkxPQVQ4X0JZVkFMIDEKfCAjZGVmaW5lIEZMT0FUOFBB U1NCWVZBTCB0cnVlCnwgI2RlZmluZSBBTElHTk9GX1NIT1JUIDIKfCAjZGVmaW5lIEFMSUdOT0Zf SU5UIDQKfCAjZGVmaW5lIEFMSUdOT0ZfTE9ORyA0CnwgI2RlZmluZSBBTElHTk9GX0xPTkdfTE9O R19JTlQgOAp8ICNkZWZpbmUgQUxJR05PRl9ET1VCTEUgOAp8ICNkZWZpbmUgTUFYSU1VTV9BTElH Tk9GIDgKfCAjZGVmaW5lIFBHX0lOVDEyOF9UWVBFIF9faW50MTI4CnwgI2RlZmluZSBBTElHTk9G X1BHX0lOVDEyOF9UWVBFIDE2CnwgI2RlZmluZSBIQVZFX0dDQ19fU1lOQ19DSEFSX1RBUyAxCnwg I2RlZmluZSBIQVZFX0dDQ19fU1lOQ19JTlQzMl9UQVMgMQp8ICNkZWZpbmUgSEFWRV9HQ0NfX1NZ TkNfSU5UMzJfQ0FTIDEKfCAjZGVmaW5lIEhBVkVfR0NDX19TWU5DX0lOVDY0X0NBUyAxCnwgI2Rl ZmluZSBIQVZFX0dDQ19fQVRPTUlDX0lOVDMyX0NBUyAxCnwgI2RlZmluZSBIQVZFX0dDQ19fQVRP TUlDX0lOVDY0X0NBUyAxCnwgI2RlZmluZSBIQVZFX19HRVRfQ1BVSUQgMQp8IC8qIGVuZCBjb25m ZGVmcy5oLiAgKi8KfCAjaW5jbHVkZSA8YXJtX2FjbGUuaD4KfCBpbnQKfCBtYWluICgpCnwgewp8 IHVuc2lnbmVkIGludCBjcmMgPSAwOwp8ICAgIGNyYyA9IF9fY3JjMzJjYihjcmMsIDApOwp8ICAg IGNyYyA9IF9fY3JjMzJjaChjcmMsIDApOwp8ICAgIGNyYyA9IF9fY3JjMzJjdyhjcmMsIDApOwp8 ICAgIGNyYyA9IF9fY3JjMzJjZChjcmMsIDApOwp8ICAgIC8qIHJldHVybiBjb21wdXRlZCB2YWx1 ZSwgdG8gcHJldmVudCB0aGUgYWJvdmUgYmVpbmcgb3B0aW1pemVkIGF3YXkgKi8KfCAgICByZXR1 cm4gY3JjID09IDA7CnwgICA7CnwgICByZXR1cm4gMDsKfCB9CmNvbmZpZ3VyZToxNzM4NzogcmVz dWx0OiBubwpjb25maWd1cmU6MTc0NDE6IGNoZWNraW5nIHdoaWNoIENSQy0zMkMgaW1wbGVtZW50 YXRpb24gdG8gdXNlCmNvbmZpZ3VyZToxNzQ1NjogcmVzdWx0OiBTU0UgNC4yIHdpdGggcnVudGlt ZSBjaGVjawpjb25maWd1cmU6MTc2OTI6IGNoZWNraW5nIHdoaWNoIHJhbmRvbSBudW1iZXIgc291 cmNlIHRvIHVzZQpjb25maWd1cmU6MTc2OTk6IHJlc3VsdDogT3BlblNTTApjb25maWd1cmU6MTc5 OTk6IGNoZWNraW5nIGZvciB0Y2xzaApjb25maWd1cmU6MTgwMTc6IGZvdW5kIC9jL0FjdGl2ZVRj bC9iaW4vdGNsc2gKY29uZmlndXJlOjE4MDI5OiByZXN1bHQ6IC9jL0FjdGl2ZVRjbC9iaW4vdGNs c2gKY29uZmlndXJlOjE4MDUyOiBjaGVja2luZyBmb3IgdGNsQ29uZmlnLnNoCmNvbmZpZ3VyZTox ODA3NzogcmVzdWx0OiBDOi9BY3RpdmVUY2wvbGliL3RjbENvbmZpZy5zaApjb25maWd1cmU6MTgw OTY6IGNoZWNraW5nIHRjbC5oIHVzYWJpbGl0eQpjb25maWd1cmU6MTgwOTY6IHg4Nl82NC13NjQt bWluZ3czMi1nY2MgLWMgLVdhbGwgLVdtaXNzaW5nLXByb3RvdHlwZXMgLVdwb2ludGVyLWFyaXRo IC1XZGVjbGFyYXRpb24tYWZ0ZXItc3RhdGVtZW50IC1XZW5kaWYtbGFiZWxzIC1XbWlzc2luZy1m b3JtYXQtYXR0cmlidXRlIC1XZm9ybWF0LXNlY3VyaXR5IC1mbm8tc3RyaWN0LWFsaWFzaW5nIC1m d3JhcHYgLWZleGNlc3MtcHJlY2lzaW9uPXN0YW5kYXJkIC1Xbm8tZm9ybWF0LXRydW5jYXRpb24g LVduby1zdHJpbmdvcC10cnVuY2F0aW9uIC1nIC1PIC1mbm8tb21pdC1mcmFtZS1wb2ludGVyIC1J QzpcQWN0aXZlVGNsXGluY2x1ZGUgIC1JL3cvUi0zLjUuXy9wb3N0Z3Jlcy9zcmMvaW5jbHVkZS9w b3J0L3dpbjMyIC1ERVhFQ19CQUNLRU5EICAtSS93L3psaWItMS4yLjgtd2luMzIteDg2XzY0L2lu Y2x1ZGUgLUkvdy9vcGVuc3NsLTEuMC4yZS13aW4zMi14ODZfNjQvaW5jbHVkZSAtSS93L2xpYnht bDItMi45LjMtd2luMzIteDg2XzY0L2luY2x1ZGUvbGlieG1sMiAtSS93L2xpYnhzbHQtMS4xLjI4 LXdpbjMyLXg4Nl82NC9pbmNsdWRlIGNvbmZ0ZXN0LmMgPiY1CmNvbmZpZ3VyZToxODA5NjogJD8g PSAwCmNvbmZpZ3VyZToxODA5NjogcmVzdWx0OiB5ZXMKY29uZmlndXJlOjE4MDk2OiBjaGVja2lu ZyB0Y2wuaCBwcmVzZW5jZQpjb25maWd1cmU6MTgwOTY6IHg4Nl82NC13NjQtbWluZ3czMi1nY2Mg LUUgLUlDOlxBY3RpdmVUY2xcaW5jbHVkZSAgLUkvdy9SLTMuNS5fL3Bvc3RncmVzL3NyYy9pbmNs dWRlL3BvcnQvd2luMzIgLURFWEVDX0JBQ0tFTkQgIC1JL3cvemxpYi0xLjIuOC13aW4zMi14ODZf NjQvaW5jbHVkZSAtSS93L29wZW5zc2wtMS4wLjJlLXdpbjMyLXg4Nl82NC9pbmNsdWRlIC1JL3cv bGlieG1sMi0yLjkuMy13aW4zMi14ODZfNjQvaW5jbHVkZS9saWJ4bWwyIC1JL3cvbGlieHNsdC0x LjEuMjgtd2luMzIteDg2XzY0L2luY2x1ZGUgY29uZnRlc3QuYwpjb25maWd1cmU6MTgwOTY6ICQ/ ID0gMApjb25maWd1cmU6MTgwOTY6IHJlc3VsdDogeWVzCmNvbmZpZ3VyZToxODA5NjogY2hlY2tp bmcgZm9yIHRjbC5oCmNvbmZpZ3VyZToxODA5NjogcmVzdWx0OiB5ZXMKY29uZmlndXJlOjE4MTEx OiBjaGVja2luZyBmb3IgcGVybC5oCmNvbmZpZ3VyZToxODExMTogeDg2XzY0LXc2NC1taW5ndzMy LWdjYyAtYyAtV2FsbCAtV21pc3NpbmctcHJvdG90eXBlcyAtV3BvaW50ZXItYXJpdGggLVdkZWNs YXJhdGlvbi1hZnRlci1zdGF0ZW1lbnQgLVdlbmRpZi1sYWJlbHMgLVdtaXNzaW5nLWZvcm1hdC1h dHRyaWJ1dGUgLVdmb3JtYXQtc2VjdXJpdHkgLWZuby1zdHJpY3QtYWxpYXNpbmcgLWZ3cmFwdiAt ZmV4Y2Vzcy1wcmVjaXNpb249c3RhbmRhcmQgLVduby1mb3JtYXQtdHJ1bmNhdGlvbiAtV25vLXN0 cmluZ29wLXRydW5jYXRpb24gLWcgLU8gLWZuby1vbWl0LWZyYW1lLXBvaW50ZXIgIC1JL3cvUi0z LjUuXy9wb3N0Z3Jlcy9zcmMvaW5jbHVkZS9wb3J0L3dpbjMyIC1ERVhFQ19CQUNLRU5EICAtSS93 L3psaWItMS4yLjgtd2luMzIteDg2XzY0L2luY2x1ZGUgLUkvdy9vcGVuc3NsLTEuMC4yZS13aW4z Mi14ODZfNjQvaW5jbHVkZSAtSS93L2xpYnhtbDItMi45LjMtd2luMzIteDg2XzY0L2luY2x1ZGUv bGlieG1sMiAtSS93L2xpYnhzbHQtMS4xLjI4LXdpbjMyLXg4Nl82NC9pbmNsdWRlIC1JQzovU1RS QVdCfjEvcGVybC9saWIvQ09SRSBjb25mdGVzdC5jID4mNQpjb25maWd1cmU6MTgxMTE6ICQ/ID0g MApjb25maWd1cmU6MTgxMTE6IHJlc3VsdDogeWVzCmNvbmZpZ3VyZToxODEyNjogY2hlY2tpbmcg Zm9yIGxpYnBlcmwKY29uZmlndXJlOjE4MTQyOiB4ODZfNjQtdzY0LW1pbmd3MzItZ2NjIC1vIGNv bmZ0ZXN0LmV4ZSAtV2FsbCAtV21pc3NpbmctcHJvdG90eXBlcyAtV3BvaW50ZXItYXJpdGggLVdk ZWNsYXJhdGlvbi1hZnRlci1zdGF0ZW1lbnQgLVdlbmRpZi1sYWJlbHMgLVdtaXNzaW5nLWZvcm1h dC1hdHRyaWJ1dGUgLVdmb3JtYXQtc2VjdXJpdHkgLWZuby1zdHJpY3QtYWxpYXNpbmcgLWZ3cmFw diAtZmV4Y2Vzcy1wcmVjaXNpb249c3RhbmRhcmQgLVduby1mb3JtYXQtdHJ1bmNhdGlvbiAtV25v LXN0cmluZ29wLXRydW5jYXRpb24gLWcgLU8gLWZuby1vbWl0LWZyYW1lLXBvaW50ZXIgIC1JL3cv Ui0zLjUuXy9wb3N0Z3Jlcy9zcmMvaW5jbHVkZS9wb3J0L3dpbjMyIC1ERVhFQ19CQUNLRU5EICAt SS93L3psaWItMS4yLjgtd2luMzIteDg2XzY0L2luY2x1ZGUgLUkvdy9vcGVuc3NsLTEuMC4yZS13 aW4zMi14ODZfNjQvaW5jbHVkZSAtSS93L2xpYnhtbDItMi45LjMtd2luMzIteDg2XzY0L2luY2x1 ZGUvbGlieG1sMiAtSS93L2xpYnhzbHQtMS4xLjI4LXdpbjMyLXg4Nl82NC9pbmNsdWRlIC1JQzov U1RSQVdCfjEvcGVybC9saWIvQ09SRSAgLVdsLC0tYWxsb3ctbXVsdGlwbGUtZGVmaW5pdGlvbiAt V2wsLS1kaXNhYmxlLWF1dG8taW1wb3J0ICAtTC93L3psaWItMS4yLjgtd2luMzIteDg2XzY0L2xp YiAtTC93L29wZW5zc2wtMS4wLjJlLXdpbjMyLXg4Nl82NC9saWIgLUwvdy9saWJ4bWwyLTIuOS4z LXdpbjMyLXg4Nl82NC9saWIgLUwvdy9saWJ4c2x0LTEuMS4yOC13aW4zMi14ODZfNjQvbGliIGNv bmZ0ZXN0LmMgLUxDOi9TVFJBV0J+MS9wZXJsL2xpYi9DT1JFIC1scGVybDUyOCA+JjUKY29uZmln dXJlOjE4MTQyOiAkPyA9IDAKY29uZmlndXJlOjE4MTQzOiByZXN1bHQ6IHllcwpjb25maWd1cmU6 MTgxNjA6IGNoZWNraW5nIFB5dGhvbi5oIHVzYWJpbGl0eQpjb25maWd1cmU6MTgxNjA6IHg4Nl82 NC13NjQtbWluZ3czMi1nY2MgLWMgLVdhbGwgLVdtaXNzaW5nLXByb3RvdHlwZXMgLVdwb2ludGVy LWFyaXRoIC1XZGVjbGFyYXRpb24tYWZ0ZXItc3RhdGVtZW50IC1XZW5kaWYtbGFiZWxzIC1XbWlz c2luZy1mb3JtYXQtYXR0cmlidXRlIC1XZm9ybWF0LXNlY3VyaXR5IC1mbm8tc3RyaWN0LWFsaWFz aW5nIC1md3JhcHYgLWZleGNlc3MtcHJlY2lzaW9uPXN0YW5kYXJkIC1Xbm8tZm9ybWF0LXRydW5j YXRpb24gLVduby1zdHJpbmdvcC10cnVuY2F0aW9uIC1nIC1PIC1mbm8tb21pdC1mcmFtZS1wb2lu dGVyIC1JQzovUHJvZ3JhbURhdGEvQW5hY29uZGEzL2luY2x1ZGUgIC1JL3cvUi0zLjUuXy9wb3N0 Z3Jlcy9zcmMvaW5jbHVkZS9wb3J0L3dpbjMyIC1ERVhFQ19CQUNLRU5EICAtSS93L3psaWItMS4y Ljgtd2luMzIteDg2XzY0L2luY2x1ZGUgLUkvdy9vcGVuc3NsLTEuMC4yZS13aW4zMi14ODZfNjQv aW5jbHVkZSAtSS93L2xpYnhtbDItMi45LjMtd2luMzIteDg2XzY0L2luY2x1ZGUvbGlieG1sMiAt SS93L2xpYnhzbHQtMS4xLjI4LXdpbjMyLXg4Nl82NC9pbmNsdWRlIGNvbmZ0ZXN0LmMgPiY1Cklu IGZpbGUgaW5jbHVkZWQgZnJvbSBDOi9Qcm9ncmFtRGF0YS9BbmFjb25kYTMvaW5jbHVkZS9QeXRo b24uaDo4LAogICAgICAgICAgICAgICAgIGZyb20gY29uZnRlc3QuYzoxNzk6CkM6L1Byb2dyYW1E YXRhL0FuYWNvbmRhMy9pbmNsdWRlL3B5Y29uZmlnLmg6NTc6IHdhcm5pbmc6ICJIQVZFX1NUUkVS Uk9SIiByZWRlZmluZWQKICNkZWZpbmUgSEFWRV9TVFJFUlJPUgogCmNvbmZ0ZXN0LmM6OTg6IG5v dGU6IHRoaXMgaXMgdGhlIGxvY2F0aW9uIG9mIHRoZSBwcmV2aW91cyBkZWZpbml0aW9uCiAjZGVm aW5lIEhBVkVfU1RSRVJST1IgMQogCkluIGZpbGUgaW5jbHVkZWQgZnJvbSBDOi9Qcm9ncmFtRGF0 YS9BbmFjb25kYTMvaW5jbHVkZS9QeXRob24uaDo4LAogICAgICAgICAgICAgICAgIGZyb20gY29u ZnRlc3QuYzoxNzk6CkM6L1Byb2dyYW1EYXRhL0FuYWNvbmRhMy9pbmNsdWRlL3B5Y29uZmlnLmg6 MzIzOiB3YXJuaW5nOiAiU0laRU9GX1ZPSURfUCIgcmVkZWZpbmVkCiAjIGRlZmluZSBTSVpFT0Zf Vk9JRF9QIDQKIApjb25mdGVzdC5jOjExNzogbm90ZTogdGhpcyBpcyB0aGUgbG9jYXRpb24gb2Yg dGhlIHByZXZpb3VzIGRlZmluaXRpb24KICNkZWZpbmUgU0laRU9GX1ZPSURfUCA4CiAKSW4gZmls ZSBpbmNsdWRlZCBmcm9tIEM6L1Byb2dyYW1EYXRhL0FuYWNvbmRhMy9pbmNsdWRlL1B5dGhvbi5o OjgsCiAgICAgICAgICAgICAgICAgZnJvbSBjb25mdGVzdC5jOjE3OToKQzovUHJvZ3JhbURhdGEv QW5hY29uZGEzL2luY2x1ZGUvcHljb25maWcuaDozMjc6IHdhcm5pbmc6ICJTSVpFT0ZfU0laRV9U IiByZWRlZmluZWQKICMgZGVmaW5lIFNJWkVPRl9TSVpFX1QgNAogCmNvbmZ0ZXN0LmM6MTE4OiBu b3RlOiB0aGlzIGlzIHRoZSBsb2NhdGlvbiBvZiB0aGUgcHJldmlvdXMgZGVmaW5pdGlvbgogI2Rl ZmluZSBTSVpFT0ZfU0laRV9UIDgKIApJbiBmaWxlIGluY2x1ZGVkIGZyb20gQzovUHJvZ3JhbURh dGEvQW5hY29uZGEzL2luY2x1ZGUvUHl0aG9uLmg6OCwKICAgICAgICAgICAgICAgICBmcm9tIGNv bmZ0ZXN0LmM6MTc5OgpDOi9Qcm9ncmFtRGF0YS9BbmFjb25kYTMvaW5jbHVkZS9weWNvbmZpZy5o OjQyMDogd2FybmluZzogIkhBVkVfVFpOQU1FIiByZWRlZmluZWQKICNkZWZpbmUgSEFWRV9UWk5B TUUKIApjb25mdGVzdC5jOjYyOiBub3RlOiB0aGlzIGlzIHRoZSBsb2NhdGlvbiBvZiB0aGUgcHJl dmlvdXMgZGVmaW5pdGlvbgogI2RlZmluZSBIQVZFX1RaTkFNRSAxCiAKY29uZmlndXJlOjE4MTYw OiAkPyA9IDAKY29uZmlndXJlOjE4MTYwOiByZXN1bHQ6IHllcwpjb25maWd1cmU6MTgxNjA6IGNo ZWNraW5nIFB5dGhvbi5oIHByZXNlbmNlCmNvbmZpZ3VyZToxODE2MDogeDg2XzY0LXc2NC1taW5n dzMyLWdjYyAtRSAtSUM6L1Byb2dyYW1EYXRhL0FuYWNvbmRhMy9pbmNsdWRlICAtSS93L1ItMy41 Ll8vcG9zdGdyZXMvc3JjL2luY2x1ZGUvcG9ydC93aW4zMiAtREVYRUNfQkFDS0VORCAgLUkvdy96 bGliLTEuMi44LXdpbjMyLXg4Nl82NC9pbmNsdWRlIC1JL3cvb3BlbnNzbC0xLjAuMmUtd2luMzIt eDg2XzY0L2luY2x1ZGUgLUkvdy9saWJ4bWwyLTIuOS4zLXdpbjMyLXg4Nl82NC9pbmNsdWRlL2xp YnhtbDIgLUkvdy9saWJ4c2x0LTEuMS4yOC13aW4zMi14ODZfNjQvaW5jbHVkZSBjb25mdGVzdC5j CkluIGZpbGUgaW5jbHVkZWQgZnJvbSBDOi9Qcm9ncmFtRGF0YS9BbmFjb25kYTMvaW5jbHVkZS9Q eXRob24uaDo4LAogICAgICAgICAgICAgICAgIGZyb20gY29uZnRlc3QuYzoxNDY6CkM6L1Byb2dy YW1EYXRhL0FuYWNvbmRhMy9pbmNsdWRlL3B5Y29uZmlnLmg6NTc6IHdhcm5pbmc6ICJIQVZFX1NU UkVSUk9SIiByZWRlZmluZWQKICNkZWZpbmUgSEFWRV9TVFJFUlJPUgogCmNvbmZ0ZXN0LmM6OTg6 IG5vdGU6IHRoaXMgaXMgdGhlIGxvY2F0aW9uIG9mIHRoZSBwcmV2aW91cyBkZWZpbml0aW9uCiAj ZGVmaW5lIEhBVkVfU1RSRVJST1IgMQogCkluIGZpbGUgaW5jbHVkZWQgZnJvbSBDOi9Qcm9ncmFt RGF0YS9BbmFjb25kYTMvaW5jbHVkZS9QeXRob24uaDo4LAogICAgICAgICAgICAgICAgIGZyb20g Y29uZnRlc3QuYzoxNDY6CkM6L1Byb2dyYW1EYXRhL0FuYWNvbmRhMy9pbmNsdWRlL3B5Y29uZmln Lmg6MzIzOiB3YXJuaW5nOiAiU0laRU9GX1ZPSURfUCIgcmVkZWZpbmVkCiAjIGRlZmluZSBTSVpF T0ZfVk9JRF9QIDQKIApjb25mdGVzdC5jOjExNzogbm90ZTogdGhpcyBpcyB0aGUgbG9jYXRpb24g b2YgdGhlIHByZXZpb3VzIGRlZmluaXRpb24KICNkZWZpbmUgU0laRU9GX1ZPSURfUCA4CiAKSW4g ZmlsZSBpbmNsdWRlZCBmcm9tIEM6L1Byb2dyYW1EYXRhL0FuYWNvbmRhMy9pbmNsdWRlL1B5dGhv bi5oOjgsCiAgICAgICAgICAgICAgICAgZnJvbSBjb25mdGVzdC5jOjE0NjoKQzovUHJvZ3JhbURh dGEvQW5hY29uZGEzL2luY2x1ZGUvcHljb25maWcuaDozMjc6IHdhcm5pbmc6ICJTSVpFT0ZfU0la RV9UIiByZWRlZmluZWQKICMgZGVmaW5lIFNJWkVPRl9TSVpFX1QgNAogCmNvbmZ0ZXN0LmM6MTE4 OiBub3RlOiB0aGlzIGlzIHRoZSBsb2NhdGlvbiBvZiB0aGUgcHJldmlvdXMgZGVmaW5pdGlvbgog I2RlZmluZSBTSVpFT0ZfU0laRV9UIDgKIApJbiBmaWxlIGluY2x1ZGVkIGZyb20gQzovUHJvZ3Jh bURhdGEvQW5hY29uZGEzL2luY2x1ZGUvUHl0aG9uLmg6OCwKICAgICAgICAgICAgICAgICBmcm9t IGNvbmZ0ZXN0LmM6MTQ2OgpDOi9Qcm9ncmFtRGF0YS9BbmFjb25kYTMvaW5jbHVkZS9weWNvbmZp Zy5oOjQyMDogd2FybmluZzogIkhBVkVfVFpOQU1FIiByZWRlZmluZWQKICNkZWZpbmUgSEFWRV9U Wk5BTUUKIApjb25mdGVzdC5jOjYyOiBub3RlOiB0aGlzIGlzIHRoZSBsb2NhdGlvbiBvZiB0aGUg cHJldmlvdXMgZGVmaW5pdGlvbgogI2RlZmluZSBIQVZFX1RaTkFNRSAxCiAKY29uZmlndXJlOjE4 MTYwOiAkPyA9IDAKY29uZmlndXJlOjE4MTYwOiByZXN1bHQ6IHllcwpjb25maWd1cmU6MTgxNjA6 IGNoZWNraW5nIGZvciBQeXRob24uaApjb25maWd1cmU6MTgxNjA6IHJlc3VsdDogeWVzCmNvbmZp Z3VyZToxODE3OTogY2hlY2tpbmcgZm9yIHhtbGxpbnQKY29uZmlndXJlOjE4MTk3OiBmb3VuZCAv dXNyL2Jpbi94bWxsaW50CmNvbmZpZ3VyZToxODIwOTogcmVzdWx0OiAvdXNyL2Jpbi94bWxsaW50 CmNvbmZpZ3VyZToxODIyOTogY2hlY2tpbmcgZm9yIERvY0Jvb2sgWE1MIFY0LjIKY29uZmlndXJl OjE4MjU4OiByZXN1bHQ6IHllcwpjb25maWd1cmU6MTgyNjk6IGNoZWNraW5nIGZvciBkYnRvZXB1 Ygpjb25maWd1cmU6MTgzMDI6IHJlc3VsdDogbm8KY29uZmlndXJlOjE4MzIzOiBjaGVja2luZyBm b3IgeHNsdHByb2MKY29uZmlndXJlOjE4MzQxOiBmb3VuZCAvdXNyL2Jpbi94c2x0cHJvYwpjb25m aWd1cmU6MTgzNTM6IHJlc3VsdDogL3Vzci9iaW4veHNsdHByb2MKY29uZmlndXJlOjE4Mzc3OiBj aGVja2luZyBmb3IgZm9wCmNvbmZpZ3VyZToxODQxMDogcmVzdWx0OiBubwpjb25maWd1cmU6MTg2 Mjk6IFdBUk5JTkc6ICoqKiBza2lwcGluZyB0aHJlYWQgdGVzdCBvbiBXaW4zMgpjb25maWd1cmU6 MTg3MjU6IGNoZWNraW5nIHdoZXRoZXIgeDg2XzY0LXc2NC1taW5ndzMyLWdjYyBzdXBwb3J0cyAt V2wsLS1hcy1uZWVkZWQKY29uZmlndXJlOjE4NzQ2OiB4ODZfNjQtdzY0LW1pbmd3MzItZ2NjIC1v IGNvbmZ0ZXN0LmV4ZSAtV2FsbCAtV21pc3NpbmctcHJvdG90eXBlcyAtV3BvaW50ZXItYXJpdGgg LVdkZWNsYXJhdGlvbi1hZnRlci1zdGF0ZW1lbnQgLVdlbmRpZi1sYWJlbHMgLVdtaXNzaW5nLWZv cm1hdC1hdHRyaWJ1dGUgLVdmb3JtYXQtc2VjdXJpdHkgLWZuby1zdHJpY3QtYWxpYXNpbmcgLWZ3 cmFwdiAtZmV4Y2Vzcy1wcmVjaXNpb249c3RhbmRhcmQgLVduby1mb3JtYXQtdHJ1bmNhdGlvbiAt V25vLXN0cmluZ29wLXRydW5jYXRpb24gLWcgLU8gLWZuby1vbWl0LWZyYW1lLXBvaW50ZXIgIC1J L3cvUi0zLjUuXy9wb3N0Z3Jlcy9zcmMvaW5jbHVkZS9wb3J0L3dpbjMyIC1ERVhFQ19CQUNLRU5E ICAtSS93L3psaWItMS4yLjgtd2luMzIteDg2XzY0L2luY2x1ZGUgLUkvdy9vcGVuc3NsLTEuMC4y ZS13aW4zMi14ODZfNjQvaW5jbHVkZSAtSS93L2xpYnhtbDItMi45LjMtd2luMzIteDg2XzY0L2lu Y2x1ZGUvbGlieG1sMiAtSS93L2xpYnhzbHQtMS4xLjI4LXdpbjMyLXg4Nl82NC9pbmNsdWRlICAt V2wsLS1hbGxvdy1tdWx0aXBsZS1kZWZpbml0aW9uIC1XbCwtLWRpc2FibGUtYXV0by1pbXBvcnQg IC1ML3cvemxpYi0xLjIuOC13aW4zMi14ODZfNjQvbGliIC1ML3cvb3BlbnNzbC0xLjAuMmUtd2lu MzIteDg2XzY0L2xpYiAtTC93L2xpYnhtbDItMi45LjMtd2luMzIteDg2XzY0L2xpYiAtTC93L2xp YnhzbHQtMS4xLjI4LXdpbjMyLXg4Nl82NC9saWIgLVdsLC0tYXMtbmVlZGVkIGNvbmZ0ZXN0LmMg LWx4c2x0IC1seG1sMiAtbHNzbCAtbGNyeXB0byAtbHogLWx3czJfMzIgLWxtICA+JjUKY29uZmln dXJlOjE4NzQ2OiAkPyA9IDAKY29uZmlndXJlOjE4NzQ2OiAuL2NvbmZ0ZXN0LmV4ZQpjb25maWd1 cmU6MTg3NDY6ICQ/ID0gMApjb25maWd1cmU6MTg3NTc6IHJlc3VsdDogeWVzCmNvbmZpZ3VyZTox ODc5NjogdXNpbmcgY29tcGlsZXI9eDg2XzY0LXc2NC1taW5ndzMyLWdjYy5leGUgKFJldjEsIEJ1 aWx0IGJ5IE1TWVMyIHByb2plY3QpIDguMi4wCmNvbmZpZ3VyZToxODc5ODogdXNpbmcgQ0ZMQUdT PS1XYWxsIC1XbWlzc2luZy1wcm90b3R5cGVzIC1XcG9pbnRlci1hcml0aCAtV2RlY2xhcmF0aW9u LWFmdGVyLXN0YXRlbWVudCAtV2VuZGlmLWxhYmVscyAtV21pc3NpbmctZm9ybWF0LWF0dHJpYnV0 ZSAtV2Zvcm1hdC1zZWN1cml0eSAtZm5vLXN0cmljdC1hbGlhc2luZyAtZndyYXB2IC1mZXhjZXNz LXByZWNpc2lvbj1zdGFuZGFyZCAtV25vLWZvcm1hdC10cnVuY2F0aW9uIC1Xbm8tc3RyaW5nb3At dHJ1bmNhdGlvbiAtZyAtTyAtZm5vLW9taXQtZnJhbWUtcG9pbnRlcgpjb25maWd1cmU6MTg4MDA6 IHVzaW5nIENQUEZMQUdTPSAtSS93L1ItMy41Ll8vcG9zdGdyZXMvc3JjL2luY2x1ZGUvcG9ydC93 aW4zMiAtREVYRUNfQkFDS0VORCAgLUkvdy96bGliLTEuMi44LXdpbjMyLXg4Nl82NC9pbmNsdWRl IC1JL3cvb3BlbnNzbC0xLjAuMmUtd2luMzIteDg2XzY0L2luY2x1ZGUgLUkvdy9saWJ4bWwyLTIu OS4zLXdpbjMyLXg4Nl82NC9pbmNsdWRlL2xpYnhtbDIgLUkvdy9saWJ4c2x0LTEuMS4yOC13aW4z Mi14ODZfNjQvaW5jbHVkZQpjb25maWd1cmU6MTg4MDI6IHVzaW5nIExERkxBR1M9IC1XbCwtLWFs bG93LW11bHRpcGxlLWRlZmluaXRpb24gLVdsLC0tZGlzYWJsZS1hdXRvLWltcG9ydCAgLUwvdy96 bGliLTEuMi44LXdpbjMyLXg4Nl82NC9saWIgLUwvdy9vcGVuc3NsLTEuMC4yZS13aW4zMi14ODZf NjQvbGliIC1ML3cvbGlieG1sMi0yLjkuMy13aW4zMi14ODZfNjQvbGliIC1ML3cvbGlieHNsdC0x LjEuMjgtd2luMzIteDg2XzY0L2xpYiAtV2wsLS1hcy1uZWVkZWQKY29uZmlndXJlOjE4ODMxOiBy ZXN1bHQ6IGRvbmUKY29uZmlndXJlOjE4OTczOiBjcmVhdGluZyAuL2NvbmZpZy5zdGF0dXMKCiMj IC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gIyMKIyMgUnVubmluZyBjb25maWcuc3RhdHVzLiAjIwoj IyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tICMjCgpUaGlzIGZpbGUgd2FzIGV4dGVuZGVkIGJ5IFBv c3RncmVTUUwgY29uZmlnLnN0YXR1cyAxMWJldGEzLCB3aGljaCB3YXMKZ2VuZXJhdGVkIGJ5IEdO VSBBdXRvY29uZiAyLjY5LiAgSW52b2NhdGlvbiBjb21tYW5kIGxpbmUgd2FzCgogIENPTkZJR19G SUxFUyAgICA9IAogIENPTkZJR19IRUFERVJTICA9IAogIENPTkZJR19MSU5LUyAgICA9IAogIENP TkZJR19DT01NQU5EUyA9IAogICQgLi9jb25maWcuc3RhdHVzIAoKb24gQU5PTllNT1VTVAoKY29u ZmlnLnN0YXR1czoxMTA0OiBjcmVhdGluZyBHTlVtYWtlZmlsZQpjb25maWcuc3RhdHVzOjExMDQ6 IGNyZWF0aW5nIHNyYy9NYWtlZmlsZS5nbG9iYWwKY29uZmlnLnN0YXR1czoxMTA0OiBjcmVhdGlu ZyBzcmMvaW5jbHVkZS9wZ19jb25maWcuaApjb25maWcuc3RhdHVzOjExMDQ6IGNyZWF0aW5nIHNy Yy9pbmNsdWRlL3BnX2NvbmZpZ19leHQuaApjb25maWcuc3RhdHVzOjEyNzA6IHNyYy9pbmNsdWRl L3BnX2NvbmZpZ19leHQuaCBpcyB1bmNoYW5nZWQKY29uZmlnLnN0YXR1czoxMTA0OiBjcmVhdGlu ZyBzcmMvaW50ZXJmYWNlcy9lY3BnL2luY2x1ZGUvZWNwZ19jb25maWcuaApjb25maWcuc3RhdHVz OjEyNzA6IHNyYy9pbnRlcmZhY2VzL2VjcGcvaW5jbHVkZS9lY3BnX2NvbmZpZy5oIGlzIHVuY2hh bmdlZApjb25maWcuc3RhdHVzOjEyOTY6IGxpbmtpbmcgL3cvUi0zLjUuXy9wb3N0Z3Jlcy9zcmMv YmFja2VuZC9wb3J0L3Rhcy9kdW1teS5zIHRvIHNyYy9iYWNrZW5kL3BvcnQvdGFzLnMKY29uZmln LnN0YXR1czoxMjk2OiBsaW5raW5nIC93L1ItMy41Ll8vcG9zdGdyZXMvc3JjL2JhY2tlbmQvcG9y dC9keW5sb2FkZXIvd2luMzIuYyB0byBzcmMvYmFja2VuZC9wb3J0L2R5bmxvYWRlci5jCmNvbmZp Zy5zdGF0dXM6MTI5NjogbGlua2luZyAvdy9SLTMuNS5fL3Bvc3RncmVzL3NyYy9iYWNrZW5kL3Bv cnQvd2luMzJfc2VtYS5jIHRvIHNyYy9iYWNrZW5kL3BvcnQvcGdfc2VtYS5jCmNvbmZpZy5zdGF0 dXM6MTI5NjogbGlua2luZyAvdy9SLTMuNS5fL3Bvc3RncmVzL3NyYy9iYWNrZW5kL3BvcnQvd2lu MzJfc2htZW0uYyB0byBzcmMvYmFja2VuZC9wb3J0L3BnX3NobWVtLmMKY29uZmlnLnN0YXR1czox Mjk2OiBsaW5raW5nIC93L1ItMy41Ll8vcG9zdGdyZXMvc3JjL2JhY2tlbmQvcG9ydC9keW5sb2Fk ZXIvd2luMzIuaCB0byBzcmMvaW5jbHVkZS9keW5sb2FkZXIuaApjb25maWcuc3RhdHVzOjEyOTY6 IGxpbmtpbmcgL3cvUi0zLjUuXy9wb3N0Z3Jlcy9zcmMvaW5jbHVkZS9wb3J0L3dpbjMyLmggdG8g c3JjL2luY2x1ZGUvcGdfY29uZmlnX29zLmgKY29uZmlnLnN0YXR1czoxMjk2OiBsaW5raW5nIC93 L1ItMy41Ll8vcG9zdGdyZXMvc3JjL21ha2VmaWxlcy9NYWtlZmlsZS53aW4zMiB0byBzcmMvTWFr ZWZpbGUucG9ydApjb25maWcuc3RhdHVzOjEzMTU6IGV4ZWN1dGluZyBjaGVja193aW4zMl9zeW1s aW5rcyBjb21tYW5kcwoKIyMgLS0tLS0tLS0tLS0tLS0tLSAjIwojIyBDYWNoZSB2YXJpYWJsZXMu ICMjCiMjIC0tLS0tLS0tLS0tLS0tLS0gIyMKCmFjX2N2X2FsaWdub2ZfUEdfSU5UMTI4X1RZUEU9 MTYKYWNfY3ZfYWxpZ25vZl9kb3VibGU9OAphY19jdl9hbGlnbm9mX2ludD00CmFjX2N2X2FsaWdu b2ZfbG9uZz00CmFjX2N2X2FsaWdub2ZfbG9uZ19sb25nX2ludD04CmFjX2N2X2FsaWdub2Zfc2hv cnQ9MgphY19jdl9idWlsZD14ODZfNjQtdzY0LW1pbmd3MzIKYWNfY3ZfY19iaWdlbmRpYW49bm8K YWNfY3ZfY19jb21waWxlcl9nbnU9eWVzCmFjX2N2X2NfZmxleG1lbWJlcj15ZXMKYWNfY3ZfY19p bmxpbmU9aW5saW5lCmFjX2N2X2NfcmVzdHJpY3Q9X19yZXN0cmljdAphY19jdl9jeHhfY29tcGls ZXJfZ251PXllcwphY19jdl9lbnZfQ0NDX3NldD0KYWNfY3ZfZW52X0NDQ192YWx1ZT0KYWNfY3Zf ZW52X0NDX3NldD0KYWNfY3ZfZW52X0NDX3ZhbHVlPQphY19jdl9lbnZfQ0ZMQUdTX3NldD1zZXQK YWNfY3ZfZW52X0NGTEFHU192YWx1ZT0nLU8gLWZuby1vbWl0LWZyYW1lLXBvaW50ZXInCmFjX2N2 X2Vudl9DTEFOR19zZXQ9CmFjX2N2X2Vudl9DTEFOR192YWx1ZT0KYWNfY3ZfZW52X0NQUEZMQUdT X3NldD0KYWNfY3ZfZW52X0NQUEZMQUdTX3ZhbHVlPQphY19jdl9lbnZfQ1BQX3NldD0KYWNfY3Zf ZW52X0NQUF92YWx1ZT0KYWNfY3ZfZW52X0NYWEZMQUdTX3NldD0KYWNfY3ZfZW52X0NYWEZMQUdT X3ZhbHVlPQphY19jdl9lbnZfQ1hYX3NldD0KYWNfY3ZfZW52X0NYWF92YWx1ZT0KYWNfY3ZfZW52 X0lDVV9DRkxBR1Nfc2V0PXNldAphY19jdl9lbnZfSUNVX0NGTEFHU192YWx1ZT0tSS93L2ljdS02 MS4xL2ljdTRjL2Rpc3QvaW5jbHVkZQphY19jdl9lbnZfSUNVX0xJQlNfc2V0PXNldAphY19jdl9l bnZfSUNVX0xJQlNfdmFsdWU9Jy1ML3cvaWN1LTYxLjEvaWN1NGMvZGlzdC9saWIgLWxpY3VpMThu IC1saWN1dWMgLWxpY3VkYXRhJwphY19jdl9lbnZfTERGTEFHU19FWF9zZXQ9CmFjX2N2X2Vudl9M REZMQUdTX0VYX3ZhbHVlPQphY19jdl9lbnZfTERGTEFHU19TTF9zZXQ9CmFjX2N2X2Vudl9MREZM QUdTX1NMX3ZhbHVlPQphY19jdl9lbnZfTERGTEFHU19zZXQ9CmFjX2N2X2Vudl9MREZMQUdTX3Zh bHVlPQphY19jdl9lbnZfTElCU19zZXQ9CmFjX2N2X2Vudl9MSUJTX3ZhbHVlPQphY19jdl9lbnZf TExWTV9DT05GSUdfc2V0PQphY19jdl9lbnZfTExWTV9DT05GSUdfdmFsdWU9CmFjX2N2X2Vudl9Q S0dfQ09ORklHX0xJQkRJUl9zZXQ9CmFjX2N2X2Vudl9QS0dfQ09ORklHX0xJQkRJUl92YWx1ZT0K YWNfY3ZfZW52X1BLR19DT05GSUdfUEFUSF9zZXQ9c2V0CmFjX2N2X2Vudl9QS0dfQ09ORklHX1BB VEhfdmFsdWU9L21pbmd3NjQvbGliL3BrZ2NvbmZpZzovbWluZ3c2NC9zaGFyZS9wa2djb25maWcK YWNfY3ZfZW52X1BLR19DT05GSUdfc2V0PQphY19jdl9lbnZfUEtHX0NPTkZJR192YWx1ZT0KYWNf Y3ZfZW52X2J1aWxkX2FsaWFzX3NldD0KYWNfY3ZfZW52X2J1aWxkX2FsaWFzX3ZhbHVlPQphY19j dl9lbnZfaG9zdF9hbGlhc19zZXQ9c2V0CmFjX2N2X2Vudl9ob3N0X2FsaWFzX3ZhbHVlPXg4Nl82 NC13NjQtbWluZ3czMgphY19jdl9lbnZfdGFyZ2V0X2FsaWFzX3NldD0KYWNfY3ZfZW52X3Rhcmdl dF9hbGlhc192YWx1ZT0KYWNfY3ZfZXhlZXh0PS5leGUKYWNfY3ZfZnVuY19BU04xX1NUUklOR19n ZXQwX2RhdGE9bm8KYWNfY3ZfZnVuY19CSU9fZ2V0X2RhdGE9bm8KYWNfY3ZfZnVuY19CSU9fbWV0 aF9uZXc9bm8KYWNfY3ZfZnVuY19DUllQVE9fbG9jaz15ZXMKYWNfY3ZfZnVuY19PUEVOU1NMX2lu aXRfc3NsPW5vCmFjX2N2X2Z1bmNfUkFORF9PcGVuU1NMPW5vCmFjX2N2X2Z1bmNfU1NMX2NsZWFy X29wdGlvbnM9bm8KYWNfY3ZfZnVuY19TU0xfZ2V0X2N1cnJlbnRfY29tcHJlc3Npb249eWVzCmFj X2N2X2Z1bmNfWDUwOV9nZXRfc2lnbmF0dXJlX25pZD15ZXMKYWNfY3ZfZnVuY19hY2NlcHRfYXJn MT1TT0NLRVQKYWNfY3ZfZnVuY19hY2NlcHRfYXJnMj0nc3RydWN0IHNvY2thZGRyIConCmFjX2N2 X2Z1bmNfYWNjZXB0X2FyZzM9aW50CmFjX2N2X2Z1bmNfYWNjZXB0X3JldHVybj0nU09DS0VUIFdT QUFQSScKYWNfY3ZfZnVuY19jYnJ0PXllcwphY19jdl9mdW5jX2Nsb2NrX2dldHRpbWU9eWVzCmFj X2N2X2Z1bmNfY3J5cHQ9bm8KYWNfY3ZfZnVuY19kbG9wZW49bm8KYWNfY3ZfZnVuY19mZGF0YXN5 bmM9bm8KYWNfY3ZfZnVuY19mbHM9bm8KYWNfY3ZfZnVuY19mc2Vla289eWVzCmFjX2N2X2Z1bmNf Z2V0aWZhZGRycz1ubwphY19jdl9mdW5jX2dldG9wdD15ZXMKYWNfY3ZfZnVuY19nZXRvcHRfbG9u Zz15ZXMKYWNfY3ZfZnVuY19nZXRwZWVyZWlkPXllcwphY19jdl9mdW5jX2dldHBlZXJ1Y3JlZD1u bwphY19jdl9mdW5jX2dldHJsaW1pdD1ubwphY19jdl9mdW5jX2dldHJ1c2FnZT1ubwphY19jdl9m dW5jX2dldHRpbWVvZmRheT15ZXMKYWNfY3ZfZnVuY19pbmV0X2F0b249bm8KYWNfY3ZfZnVuY19p c2luZj15ZXMKYWNfY3ZfZnVuY19tYnN0b3djc19sPW5vCmFjX2N2X2Z1bmNfbWVtbW92ZT15ZXMK YWNfY3ZfZnVuY19ta2R0ZW1wPW5vCmFjX2N2X2Z1bmNfcG9sbD1ubwphY19jdl9mdW5jX3Bvc2l4 X2ZhZHZpc2U9bm8KYWNfY3ZfZnVuY19wb3NpeF9mYWxsb2NhdGU9bm8KYWNfY3ZfZnVuY19wc3Rh dD1ubwphY19jdl9mdW5jX3B0aHJlYWRfaXNfdGhyZWFkZWRfbnA9bm8KYWNfY3ZfZnVuY19yYW5k b209bm8KYWNfY3ZfZnVuY19yZWFkbGluaz1ubwphY19jdl9mdW5jX3JpbnQ9eWVzCmFjX2N2X2Z1 bmNfc2V0cHJvY3RpdGxlPW5vCmFjX2N2X2Z1bmNfc2V0c2lkPW5vCmFjX2N2X2Z1bmNfc2htX29w ZW49bm8KYWNfY3ZfZnVuY19zcmFuZG9tPW5vCmFjX2N2X2Z1bmNfc3RyZXJyb3I9eWVzCmFjX2N2 X2Z1bmNfc3RybGNhdD1ubwphY19jdl9mdW5jX3N0cmxjcHk9bm8KYWNfY3ZfZnVuY19zdHJubGVu PXllcwphY19jdl9mdW5jX3N0cnRvbGw9eWVzCmFjX2N2X2Z1bmNfc3RydG91bGw9eWVzCmFjX2N2 X2Z1bmNfc3ltbGluaz1ubwphY19jdl9mdW5jX3N5bmNfZmlsZV9yYW5nZT1ubwphY19jdl9mdW5j X3N5c2xvZz1ubwphY19jdl9mdW5jX3Vuc2V0ZW52PXllcwphY19jdl9mdW5jX3V0aW1lPXllcwph Y19jdl9mdW5jX3V0aW1lcz1ubwphY19jdl9mdW5jX3djc3RvbWJzX2w9bm8KYWNfY3ZfaGF2ZV9k ZWNsX0ZfRlVMTEZTWU5DPW5vCmFjX2N2X2hhdmVfZGVjbF9mZGF0YXN5bmM9bm8KYWNfY3ZfaGF2 ZV9kZWNsX3Bvc2l4X2ZhZHZpc2U9bm8KYWNfY3ZfaGF2ZV9kZWNsX3NucHJpbnRmPXllcwphY19j dl9oYXZlX2RlY2xfc3RybGNhdD1ubwphY19jdl9oYXZlX2RlY2xfc3RybGNweT1ubwphY19jdl9o YXZlX2RlY2xfc3Rybmxlbj15ZXMKYWNfY3ZfaGF2ZV9kZWNsX3N0cnRvbGw9eWVzCmFjX2N2X2hh dmVfZGVjbF9zdHJ0b3VsbD15ZXMKYWNfY3ZfaGF2ZV9kZWNsX3N5c19zaWdsaXN0PW5vCmFjX2N2 X2hhdmVfZGVjbF92c25wcmludGY9eWVzCmFjX2N2X2hlYWRlcl9QeXRob25faD15ZXMKYWNfY3Zf aGVhZGVyX2F0b21pY19oPW5vCmFjX2N2X2hlYWRlcl9jcnRkZWZzX2g9eWVzCmFjX2N2X2hlYWRl cl9jcnlwdF9oPW5vCmFjX2N2X2hlYWRlcl9kbGRfaD1ubwphY19jdl9oZWFkZXJfZnBfY2xhc3Nf aD1ubwphY19jdl9oZWFkZXJfZ2V0b3B0X2g9eWVzCmFjX2N2X2hlYWRlcl9pZWVlZnBfaD15ZXMK YWNfY3ZfaGVhZGVyX2lmYWRkcnNfaD1ubwphY19jdl9oZWFkZXJfaW50dHlwZXNfaD15ZXMKYWNf Y3ZfaGVhZGVyX2xhbmdpbmZvX2g9bm8KYWNfY3ZfaGVhZGVyX2xpYnhtbF9wYXJzZXJfaD15ZXMK YWNfY3ZfaGVhZGVyX2xpYnhzbHRfeHNsdF9oPXllcwphY19jdl9oZWFkZXJfbWJhcnJpZXJfaD1u bwphY19jdl9oZWFkZXJfbWVtb3J5X2g9eWVzCmFjX2N2X2hlYWRlcl9uZXRfaWZfaD1ubwphY19j dl9oZWFkZXJfbmV0aW5ldF90Y3BfaD1ubwphY19jdl9oZWFkZXJfb3BlbnNzbF9lcnJfaD15ZXMK YWNfY3ZfaGVhZGVyX29wZW5zc2xfc3NsX2g9eWVzCmFjX2N2X2hlYWRlcl9wZXJsX2g9eWVzCmFj X2N2X2hlYWRlcl9wb2xsX2g9bm8KYWNfY3ZfaGVhZGVyX3N0ZGJvb2xfaD15ZXMKYWNfY3ZfaGVh ZGVyX3N0ZGM9eWVzCmFjX2N2X2hlYWRlcl9zdGRpbnRfaD15ZXMKYWNfY3ZfaGVhZGVyX3N0ZGxp Yl9oPXllcwphY19jdl9oZWFkZXJfc3RyaW5nX2g9eWVzCmFjX2N2X2hlYWRlcl9zdHJpbmdzX2g9 eWVzCmFjX2N2X2hlYWRlcl9zeXNfZXBvbGxfaD1ubwphY19jdl9oZWFkZXJfc3lzX2lwY19oPW5v CmFjX2N2X2hlYWRlcl9zeXNfcHN0YXRfaD1ubwphY19jdl9oZWFkZXJfc3lzX3Jlc291cmNlX2g9 bm8KYWNfY3ZfaGVhZGVyX3N5c19zZWxlY3RfaD1ubwphY19jdl9oZWFkZXJfc3lzX3NlbV9oPW5v CmFjX2N2X2hlYWRlcl9zeXNfc2htX2g9bm8KYWNfY3ZfaGVhZGVyX3N5c19zb2NraW9faD1ubwph Y19jdl9oZWFkZXJfc3lzX3N0YXRfaD15ZXMKYWNfY3ZfaGVhZGVyX3N5c190YXNfaD1ubwphY19j dl9oZWFkZXJfc3lzX3R5cGVzX2g9eWVzCmFjX2N2X2hlYWRlcl9zeXNfdWNyZWRfaD1ubwphY19j dl9oZWFkZXJfc3lzX3VuX2g9bm8KYWNfY3ZfaGVhZGVyX3RjbF9oPXllcwphY19jdl9oZWFkZXJf dGVybWlvc19oPW5vCmFjX2N2X2hlYWRlcl91Y3JlZF9oPW5vCmFjX2N2X2hlYWRlcl91bmljb2Rl X3Vjb2xfaD15ZXMKYWNfY3ZfaGVhZGVyX3VuaXN0ZF9oPXllcwphY19jdl9oZWFkZXJfdXRpbWVf aD15ZXMKYWNfY3ZfaGVhZGVyX3djaGFyX2g9eWVzCmFjX2N2X2hlYWRlcl93Y3R5cGVfaD15ZXMK YWNfY3ZfaGVhZGVyX3psaWJfaD15ZXMKYWNfY3ZfaG9zdD14ODZfNjQtdzY0LW1pbmd3MzIKYWNf Y3ZfbGliX21fbWFpbj15ZXMKYWNfY3ZfbGliX3htbDJfeG1sU2F2ZVRvQnVmZmVyPXllcwphY19j dl9saWJfeHNsdF94c2x0Q2xlYW51cEdsb2JhbHM9eWVzCmFjX2N2X2xpYl96X2luZmxhdGU9eWVz CmFjX2N2X21lbWJlcl9zdHJ1Y3Rfc29ja2FkZHJfc2FfbGVuPW5vCmFjX2N2X21lbWJlcl9zdHJ1 Y3Rfc29ja2FkZHJfc3RvcmFnZV9fX3NzX2ZhbWlseT1ubwphY19jdl9tZW1iZXJfc3RydWN0X3Nv Y2thZGRyX3N0b3JhZ2VfX19zc19sZW49bm8KYWNfY3ZfbWVtYmVyX3N0cnVjdF9zb2NrYWRkcl9z dG9yYWdlX3NzX2ZhbWlseT15ZXMKYWNfY3ZfbWVtYmVyX3N0cnVjdF9zb2NrYWRkcl9zdG9yYWdl X3NzX2xlbj1ubwphY19jdl9tZW1iZXJfc3RydWN0X3RtX3RtX3pvbmU9bm8KYWNfY3Zfb2JqZXh0 PW8KYWNfY3ZfcGF0aF9CSVNPTj0vdXNyL2Jpbi9iaXNvbgphY19jdl9wYXRoX0VHUkVQPScvdXNy L2Jpbi9ncmVwIC1FJwphY19jdl9wYXRoX0dSRVA9L3Vzci9iaW4vZ3JlcAphY19jdl9wYXRoX0xE PUM6L21zeXM2NC9taW5ndzY0L3g4Nl82NC13NjQtbWluZ3czMi9iaW4vbGQuZXhlCmFjX2N2X3Bh dGhfUEVSTD0vYy9TdHJhd2JlcnJ5L3BlcmwvYmluL3BlcmwKYWNfY3ZfcGF0aF9QS0dfQ09ORklH PS9taW5ndzY0L2Jpbi94ODZfNjQtdzY0LW1pbmd3MzItcGtnLWNvbmZpZwphY19jdl9wYXRoX1BZ VEhPTj0vYy9Qcm9ncmFtRGF0YS9BbmFjb25kYTMvcHl0aG9uCmFjX2N2X3BhdGhfVEFSPS91c3Iv YmluL3RhcgphY19jdl9wYXRoX1RDTFNIPS9jL0FjdGl2ZVRjbC9iaW4vdGNsc2gKYWNfY3ZfcGF0 aF9YTUxMSU5UPS91c3IvYmluL3htbGxpbnQKYWNfY3ZfcGF0aF9YU0xUUFJPQz0vdXNyL2Jpbi94 c2x0cHJvYwphY19jdl9wYXRoX2luc3RhbGw9Jy91c3IvYmluL2luc3RhbGwgLWMnCmFjX2N2X3Bh dGhfbWtkaXI9L3Vzci9iaW4vbWtkaXIKYWNfY3ZfcHJvZ19BV0s9Z2F3awphY19jdl9wcm9nX0ND PXg4Nl82NC13NjQtbWluZ3czMi1nY2MKYWNfY3ZfcHJvZ19DUFA9J3g4Nl82NC13NjQtbWluZ3cz Mi1nY2MgLUUnCmFjX2N2X3Byb2dfQ1hYPXg4Nl82NC13NjQtbWluZ3czMi1nKysKYWNfY3ZfcHJv Z19hY19jdF9BUj1hcgphY19jdl9wcm9nX2FjX2N0X0RMTFRPT0w9ZGxsdG9vbAphY19jdl9wcm9n X2FjX2N0X0RMTFdSQVA9ZGxsd3JhcAphY19jdl9wcm9nX2FjX2N0X1JBTkxJQj1yYW5saWIKYWNf Y3ZfcHJvZ19hY19jdF9TVFJJUD1zdHJpcAphY19jdl9wcm9nX2FjX2N0X1dJTkRSRVM9d2luZHJl cwphY19jdl9wcm9nX2NjX2M4OT0KYWNfY3ZfcHJvZ19jY19nPXllcwphY19jdl9wcm9nX2N4eF9n PXllcwphY19jdl9wcm9nX2dudV9sZD15ZXMKYWNfY3Zfc2VhcmNoX0NSWVBUT19uZXdfZXhfZGF0 YT0tbGNyeXB0bwphY19jdl9zZWFyY2hfU1NMX25ldz0tbHNzbAphY19jdl9zZWFyY2hfY2xvY2tf Z2V0dGltZT0nbm9uZSByZXF1aXJlZCcKYWNfY3Zfc2VhcmNoX2NyeXB0PW5vCmFjX2N2X3NlYXJj aF9kbG9wZW49bm8KYWNfY3Zfc2VhcmNoX2ZkYXRhc3luYz1ubwphY19jdl9zZWFyY2hfZ2V0aG9z dGJ5bmFtZV9yPW5vCmFjX2N2X3NlYXJjaF9nZXRvcHRfbG9uZz0nbm9uZSByZXF1aXJlZCcKYWNf Y3Zfc2VhcmNoX3NjaGVkX3lpZWxkPSdub25lIHJlcXVpcmVkJwphY19jdl9zZWFyY2hfc2V0cHJv Y3RpdGxlPW5vCmFjX2N2X3NlYXJjaF9zaGxfbG9hZD1ubwphY19jdl9zZWFyY2hfc2htX29wZW49 bm8KYWNfY3Zfc2VhcmNoX3NobV91bmxpbms9bm8KYWNfY3Zfc2VhcmNoX3NobWdldD1ubwphY19j dl9zZWFyY2hfc29ja2V0PS1sd3MyXzMyCmFjX2N2X3NpemVvZl9ib29sPTEKYWNfY3Zfc2l6ZW9m X2xvbmc9NAphY19jdl9zaXplb2Zfb2ZmX3Q9NAphY19jdl9zaXplb2Zfc2l6ZV90PTgKYWNfY3Zf c2l6ZW9mX3ZvaWRfcD04CmFjX2N2X3N0cnVjdF90bT10aW1lLmgKYWNfY3ZfdHlwZV9NSU5JRFVN UF9UWVBFPXllcwphY19jdl90eXBlX19Cb29sPXllcwphY19jdl90eXBlX2ludDY0PW5vCmFjX2N2 X3R5cGVfaW50OD1ubwphY19jdl90eXBlX2ludHB0cl90PXllcwphY19jdl90eXBlX2xvbmdfbG9u Z19pbnQ9eWVzCmFjX2N2X3R5cGVfc3RydWN0X2FkZHJpbmZvPXllcwphY19jdl90eXBlX3N0cnVj dF9jbXNnY3JlZD1ubwphY19jdl90eXBlX3N0cnVjdF9vcHRpb249eWVzCmFjX2N2X3R5cGVfc3Ry dWN0X3NvY2thZGRyX2luNj15ZXMKYWNfY3ZfdHlwZV9zdHJ1Y3Rfc29ja2FkZHJfc3RvcmFnZT15 ZXMKYWNfY3ZfdHlwZV9zdHJ1Y3Rfc29ja2FkZHJfdW49bm8KYWNfY3ZfdHlwZV91aW50NjQ9bm8K YWNfY3ZfdHlwZV91aW50OD1ubwphY19jdl90eXBlX3VpbnRwdHJfdD15ZXMKYWNfY3ZfdHlwZV91 bmlvbl9zZW11bj1ubwphY19jdl90eXBlX3Vuc2lnbmVkX2xvbmdfbG9uZ19pbnQ9eWVzCmFjX2N2 X3R5cGVfel9zdHJlYW1wPXllcwphY19jdl92YXJfdHpuYW1lPXllcwpwZ2FjX2N2X18xMjhiaXRf aW50PXllcwpwZ2FjX2N2X18xMjhiaXRfaW50X2J1Zz1vawpwZ2FjX2N2X19idWlsdGluX2Jzd2Fw MTY9eWVzCnBnYWNfY3ZfX2J1aWx0aW5fYnN3YXAzMj15ZXMKcGdhY19jdl9fYnVpbHRpbl9ic3dh cDY0PXllcwpwZ2FjX2N2X19idWlsdGluX2NvbnN0YW50X3A9eWVzCnBnYWNfY3ZfX2J1aWx0aW5f b3Bfb3ZlcmZsb3c9eWVzCnBnYWNfY3ZfX2J1aWx0aW5fdW5yZWFjaGFibGU9eWVzCnBnYWNfY3Zf X2NwdWlkPW5vCnBnYWNfY3ZfX2dldF9jcHVpZD15ZXMKcGdhY19jdl9fc3RhdGljX2Fzc2VydD15 ZXMKcGdhY19jdl9fdHlwZXNfY29tcGF0aWJsZT15ZXMKcGdhY19jdl9fdmFfYXJncz15ZXMKcGdh Y19jdl9hcm12OF9jcmMzMmNfaW50cmluc2ljc189bm8KcGdhY19jdl9hcm12OF9jcmMzMmNfaW50 cmluc2ljc19fbWFyY2hfYXJtdjhfYXBjcmM9bm8KcGdhY19jdl9jX3NpZ25lZD15ZXMKcGdhY19j dl9jX3R5cGVvZj10eXBlb2YKcGdhY19jdl9jaGVja19kb2Nib29rPXllcwpwZ2FjX2N2X2NvbXB1 dGVkX2dvdG89eWVzCnBnYWNfY3ZfZnVuY19nZXR0aW1lb2ZkYXlfMWFyZz1ubwpwZ2FjX2N2X2Z1 bmNfd2NzdG9tYnNfbD1ubwpwZ2FjX2N2X2Z1bmNuYW1lX2Z1bmNfc3VwcG9ydD15ZXMKcGdhY19j dl9nY2NfYXRvbWljX2ludDMyX2Nhcz15ZXMKcGdhY19jdl9nY2NfYXRvbWljX2ludDY0X2Nhcz15 ZXMKcGdhY19jdl9nY2Nfc3luY19jaGFyX3Rhcz15ZXMKcGdhY19jdl9nY2Nfc3luY19pbnQzMl9j YXM9eWVzCnBnYWNfY3ZfZ2NjX3N5bmNfaW50MzJfdGFzPXllcwpwZ2FjX2N2X2djY19zeW5jX2lu dDY0X2Nhcz15ZXMKcGdhY19jdl9wYXRoX2ZsZXg9L3Vzci9iaW4vZmxleApwZ2FjX2N2X3ByaW50 Zl9hcmNoZXR5cGU9Z251X3ByaW50ZgpwZ2FjX2N2X3Byb2dfQ0NfY2ZsYWdzX19XZGVjbGFyYXRp b25fYWZ0ZXJfc3RhdGVtZW50PXllcwpwZ2FjX2N2X3Byb2dfQ0NfY2ZsYWdzX19XZW5kaWZfbGFi ZWxzPXllcwpwZ2FjX2N2X3Byb2dfQ0NfY2ZsYWdzX19XZm9ybWF0X3NlY3VyaXR5PXllcwpwZ2Fj X2N2X3Byb2dfQ0NfY2ZsYWdzX19XZm9ybWF0X3RydW5jYXRpb249eWVzCnBnYWNfY3ZfcHJvZ19D Q19jZmxhZ3NfX1dtaXNzaW5nX2Zvcm1hdF9hdHRyaWJ1dGU9eWVzCnBnYWNfY3ZfcHJvZ19DQ19j ZmxhZ3NfX1dzdHJpbmdvcF90cnVuY2F0aW9uPXllcwpwZ2FjX2N2X3Byb2dfQ0NfY2ZsYWdzX19X dW51c2VkX2NvbW1hbmRfbGluZV9hcmd1bWVudD1ubwpwZ2FjX2N2X3Byb2dfQ0NfY2ZsYWdzX19m ZXhjZXNzX3ByZWNpc2lvbl9zdGFuZGFyZD15ZXMKcGdhY19jdl9wcm9nX0NDX2NmbGFnc19fZm5v X3N0cmljdF9hbGlhc2luZz15ZXMKcGdhY19jdl9wcm9nX0NDX2NmbGFnc19fZnRyZWVfdmVjdG9y aXplPXllcwpwZ2FjX2N2X3Byb2dfQ0NfY2ZsYWdzX19mdW5yb2xsX2xvb3BzPXllcwpwZ2FjX2N2 X3Byb2dfQ0NfY2ZsYWdzX19md3JhcHY9eWVzCnBnYWNfY3ZfcHJvZ19DWFhfY3h4ZmxhZ3NfX1dl bmRpZl9sYWJlbHM9eWVzCnBnYWNfY3ZfcHJvZ19DWFhfY3h4ZmxhZ3NfX1dmb3JtYXRfc2VjdXJp dHk9eWVzCnBnYWNfY3ZfcHJvZ19DWFhfY3h4ZmxhZ3NfX1dtaXNzaW5nX2Zvcm1hdF9hdHRyaWJ1 dGU9eWVzCnBnYWNfY3ZfcHJvZ19DWFhfY3h4ZmxhZ3NfX2ZleGNlc3NfcHJlY2lzaW9uX3N0YW5k YXJkPW5vCnBnYWNfY3ZfcHJvZ19DWFhfY3h4ZmxhZ3NfX2Zub19zdHJpY3RfYWxpYXNpbmc9eWVz CnBnYWNfY3ZfcHJvZ19DWFhfY3h4ZmxhZ3NfX2Z3cmFwdj15ZXMKcGdhY19jdl9wcm9nX2NjX2xk ZmxhZ3NfX1dsX19fYXNfbmVlZGVkPXllcwpwZ2FjX2N2X3NzZTQyX2NyYzMyX2ludHJpbnNpY3Nf PW5vCnBnYWNfY3Zfc3NlNDJfY3JjMzJfaW50cmluc2ljc19fbXNzZTRfMj15ZXMKcGdhY19jdl90 eXBlX2xvY2FsZV90PW5vCnBnYWNfY3ZfdHlwZV9sb25nX2ludF82ND1ubwpwZ2FjX2N2X3R5cGVf bG9uZ19sb25nX2ludF82ND15ZXMKcGdhY19jdl92YXJfUFNfU1RSSU5HUz1ubwpwZ2FjX2N2X3Zh cl9pbnRfb3B0ZXJyPXllcwpwZ2FjX2N2X3Zhcl9pbnRfb3B0cmVzZXQ9bm8KcGdhY19jdl92YXJf aW50X3RpbWV6b25lPXllcwpwa2dfY3ZfSUNVX0NGTEFHUz0tSS93L2ljdS02MS4xL2ljdTRjL2Rp c3QvaW5jbHVkZQpwa2dfY3ZfSUNVX0xJQlM9Jy1ML3cvaWN1LTYxLjEvaWN1NGMvZGlzdC9saWIg LWxpY3VpMThuIC1saWN1dWMgLWxpY3VkYXRhJwoKIyMgLS0tLS0tLS0tLS0tLS0tLS0gIyMKIyMg T3V0cHV0IHZhcmlhYmxlcy4gIyMKIyMgLS0tLS0tLS0tLS0tLS0tLS0gIyMKCkFSPSdhcicKQVdL PSdnYXdrJwpCSVNPTj0nL3Vzci9iaW4vYmlzb24nCkJJU09ORkxBR1M9JyAtV25vLWRlcHJlY2F0 ZWQnCkJJVENPREVfQ0ZMQUdTPScgLU8yICcKQklUQ09ERV9DWFhGTEFHUz0nIC1PMiAnCkNDPSd4 ODZfNjQtdzY0LW1pbmd3MzItZ2NjJwpDRkxBR1M9Jy1XYWxsIC1XbWlzc2luZy1wcm90b3R5cGVz IC1XcG9pbnRlci1hcml0aCAtV2RlY2xhcmF0aW9uLWFmdGVyLXN0YXRlbWVudCAtV2VuZGlmLWxh YmVscyAtV21pc3NpbmctZm9ybWF0LWF0dHJpYnV0ZSAtV2Zvcm1hdC1zZWN1cml0eSAtZm5vLXN0 cmljdC1hbGlhc2luZyAtZndyYXB2IC1mZXhjZXNzLXByZWNpc2lvbj1zdGFuZGFyZCAtV25vLWZv cm1hdC10cnVuY2F0aW9uIC1Xbm8tc3RyaW5nb3AtdHJ1bmNhdGlvbiAtZyAtTyAtZm5vLW9taXQt ZnJhbWUtcG9pbnRlcicKQ0ZMQUdTX0FSTVY4X0NSQzMyQz0nJwpDRkxBR1NfU1NFNDI9Jy1tc3Nl NC4yJwpDRkxBR1NfVkVDVE9SPScgLWZ1bnJvbGwtbG9vcHMgLWZ0cmVlLXZlY3Rvcml6ZScKQ0xB Tkc9JycKQ1BQPSd4ODZfNjQtdzY0LW1pbmd3MzItZ2NjIC1FJwpDUFBGTEFHUz0nIC1JL3cvUi0z LjUuXy9wb3N0Z3Jlcy9zcmMvaW5jbHVkZS9wb3J0L3dpbjMyIC1ERVhFQ19CQUNLRU5EICAtSS93 L3psaWItMS4yLjgtd2luMzIteDg2XzY0L2luY2x1ZGUgLUkvdy9vcGVuc3NsLTEuMC4yZS13aW4z Mi14ODZfNjQvaW5jbHVkZSAtSS93L2xpYnhtbDItMi45LjMtd2luMzIteDg2XzY0L2luY2x1ZGUv bGlieG1sMiAtSS93L2xpYnhzbHQtMS4xLjI4LXdpbjMyLXg4Nl82NC9pbmNsdWRlJwpDWFg9J3g4 Nl82NC13NjQtbWluZ3czMi1nKysnCkNYWEZMQUdTPSctV2FsbCAtV3BvaW50ZXItYXJpdGggLVdl bmRpZi1sYWJlbHMgLVdtaXNzaW5nLWZvcm1hdC1hdHRyaWJ1dGUgLVdmb3JtYXQtc2VjdXJpdHkg LWZuby1zdHJpY3QtYWxpYXNpbmcgLWZ3cmFwdiAtZyAtTzInCkRCVE9FUFVCPScnCkRFRlM9Jy1E SEFWRV9DT05GSUdfSCcKRExMVE9PTD0nZGxsdG9vbCcKRExMV1JBUD0nZGxsd3JhcCcKRFRSQUNF PScnCkRUUkFDRUZMQUdTPScnCkVDSE9fQz0nJwpFQ0hPX049Jy1uJwpFQ0hPX1Q9JycKRUdSRVA9 Jy91c3IvYmluL2dyZXAgLUUnCkVMRl9TWVM9JycKRVhFRVhUPScuZXhlJwpGTEVYPScvdXNyL2Jp bi9mbGV4JwpGTEVYRkxBR1M9JycKRk9QPScnCkdDQz0neWVzJwpHQ09WPScnCkdFTkhUTUw9JycK R1JFUD0nL3Vzci9iaW4vZ3JlcCcKSEFWRV9JUFY2PSd5ZXMnCklDVV9DRkxBR1M9Jy1JL3cvaWN1 LTYxLjEvaWN1NGMvZGlzdC9pbmNsdWRlJwpJQ1VfTElCUz0nLUwvdy9pY3UtNjEuMS9pY3U0Yy9k aXN0L2xpYiAtbGljdWkxOG4gLWxpY3V1YyAtbGljdWRhdGEnCklOQ0xVREVTPScgLUkvdy96bGli LTEuMi44LXdpbjMyLXg4Nl82NC9pbmNsdWRlIC1JL3cvb3BlbnNzbC0xLjAuMmUtd2luMzIteDg2 XzY0L2luY2x1ZGUgLUkvdy9saWJ4bWwyLTIuOS4zLXdpbjMyLXg4Nl82NC9pbmNsdWRlL2xpYnht bDIgLUkvdy9saWJ4c2x0LTEuMS4yOC13aW4zMi14ODZfNjQvaW5jbHVkZScKSU5TVEFMTF9EQVRB PScke0lOU1RBTEx9IC1tIDY0NCcKSU5TVEFMTF9QUk9HUkFNPScke0lOU1RBTEx9JwpJTlNUQUxM X1NDUklQVD0nJHtJTlNUQUxMfScKTENPVj0nJwpMRD0nQzovbXN5czY0L21pbmd3NjQveDg2XzY0 LXc2NC1taW5ndzMyL2Jpbi9sZC5leGUnCkxEQVBfTElCU19CRT0nJwpMREFQX0xJQlNfRkU9JycK TERGTEFHUz0nIC1XbCwtLWFsbG93LW11bHRpcGxlLWRlZmluaXRpb24gLVdsLC0tZGlzYWJsZS1h dXRvLWltcG9ydCAgLUwvdy96bGliLTEuMi44LXdpbjMyLXg4Nl82NC9saWIgLUwvdy9vcGVuc3Ns LTEuMC4yZS13aW4zMi14ODZfNjQvbGliIC1ML3cvbGlieG1sMi0yLjkuMy13aW4zMi14ODZfNjQv bGliIC1ML3cvbGlieHNsdC0xLjEuMjgtd2luMzIteDg2XzY0L2xpYiAtV2wsLS1hcy1uZWVkZWQn CkxERkxBR1NfRVg9JycKTERGTEFHU19TTD0nJwpMSUJPQkpTPScgJHtMSUJPQkpESVJ9Y3J5cHQk VS5vICR7TElCT0JKRElSfWZscyRVLm8gJHtMSUJPQkpESVJ9Z2V0cnVzYWdlJFUubyAke0xJQk9C SkRJUn1pbmV0X2F0b24kVS5vICR7TElCT0JKRElSfW1rZHRlbXAkVS5vICR7TElCT0JKRElSfXJh bmRvbSRVLm8gJHtMSUJPQkpESVJ9c3JhbmRvbSRVLm8gJHtMSUJPQkpESVJ9c3RybGNhdCRVLm8g JHtMSUJPQkpESVJ9c3RybGNweSRVLm8gJHtMSUJPQkpESVJ9Z2V0YWRkcmluZm8kVS5vICR7TElC T0JKRElSfWdldG9wdCRVLm8gJHtMSUJPQkpESVJ9Z2V0b3B0X2xvbmckVS5vICR7TElCT0JKRElS fWRpcm1vZCRVLm8gJHtMSUJPQkpESVJ9a2lsbCRVLm8gJHtMSUJPQkpESVJ9b3BlbiRVLm8gJHtM SUJPQkpESVJ9c3lzdGVtJFUubyAke0xJQk9CSkRJUn13aW4zMmVudiRVLm8gJHtMSUJPQkpESVJ9 d2luMzJlcnJvciRVLm8gJHtMSUJPQkpESVJ9d2luMzJzZWN1cml0eSRVLm8gJHtMSUJPQkpESVJ9 d2luMzJzZXRsb2NhbGUkVS5vICR7TElCT0JKRElSfXNucHJpbnRmJFUubycKTElCUz0nLWx4c2x0 IC1seG1sMiAtbHNzbCAtbGNyeXB0byAtbHogLWx3czJfMzIgLWxtICcKTExWTV9CSU5QQVRIPScn CkxMVk1fQ0ZMQUdTPScnCkxMVk1fQ09ORklHPScnCkxMVk1fQ1BQRkxBR1M9JycKTExWTV9DWFhG TEFHUz0nJwpMTFZNX0xJQlM9JycKTE5fUz0nY3AgLXBSJwpMVExJQk9CSlM9JyAke0xJQk9CSkRJ Un1jcnlwdCRVLmxvICR7TElCT0JKRElSfWZscyRVLmxvICR7TElCT0JKRElSfWdldHJ1c2FnZSRV LmxvICR7TElCT0JKRElSfWluZXRfYXRvbiRVLmxvICR7TElCT0JKRElSfW1rZHRlbXAkVS5sbyAk e0xJQk9CSkRJUn1yYW5kb20kVS5sbyAke0xJQk9CSkRJUn1zcmFuZG9tJFUubG8gJHtMSUJPQkpE SVJ9c3RybGNhdCRVLmxvICR7TElCT0JKRElSfXN0cmxjcHkkVS5sbyAke0xJQk9CSkRJUn1nZXRh ZGRyaW5mbyRVLmxvICR7TElCT0JKRElSfWdldG9wdCRVLmxvICR7TElCT0JKRElSfWdldG9wdF9s b25nJFUubG8gJHtMSUJPQkpESVJ9ZGlybW9kJFUubG8gJHtMSUJPQkpESVJ9a2lsbCRVLmxvICR7 TElCT0JKRElSfW9wZW4kVS5sbyAke0xJQk9CSkRJUn1zeXN0ZW0kVS5sbyAke0xJQk9CSkRJUn13 aW4zMmVudiRVLmxvICR7TElCT0JKRElSfXdpbjMyZXJyb3IkVS5sbyAke0xJQk9CSkRJUn13aW4z MnNlY3VyaXR5JFUubG8gJHtMSUJPQkpESVJ9d2luMzJzZXRsb2NhbGUkVS5sbyAke0xJQk9CSkRJ Un1zbnByaW50ZiRVLmxvJwpNS0RJUl9QPScvdXNyL2Jpbi9ta2RpciAtcCcKTVNHRk1UPScnCk1T R0ZNVF9GTEFHUz0nJwpNU0dNRVJHRT0nJwpPQkpFWFQ9J28nClBBQ0tBR0VfQlVHUkVQT1JUPSdw Z3NxbC1idWdzQHBvc3RncmVzcWwub3JnJwpQQUNLQUdFX05BTUU9J1Bvc3RncmVTUUwnClBBQ0tB R0VfU1RSSU5HPSdQb3N0Z3JlU1FMIDExYmV0YTMnClBBQ0tBR0VfVEFSTkFNRT0ncG9zdGdyZXNx bCcKUEFDS0FHRV9VUkw9JycKUEFDS0FHRV9WRVJTSU9OPScxMWJldGEzJwpQQVRIX1NFUEFSQVRP Uj0nOicKUEVSTD0nL2MvU3RyYXdiZXJyeS9wZXJsL2Jpbi9wZXJsJwpQR19DUkMzMkNfT0JKUz0n cGdfY3JjMzJjX3NzZTQyLm8gcGdfY3JjMzJjX3NiOC5vIHBnX2NyYzMyY19zc2U0Ml9jaG9vc2Uu bycKUEdfTUFKT1JWRVJTSU9OPScxMScKUEdfVkVSU0lPTl9OVU09JzExMDAwMCcKUEtHX0NPTkZJ Rz0nL21pbmd3NjQvYmluL3g4Nl82NC13NjQtbWluZ3czMi1wa2ctY29uZmlnJwpQS0dfQ09ORklH X0xJQkRJUj0nJwpQS0dfQ09ORklHX1BBVEg9Jy9taW5ndzY0L2xpYi9wa2djb25maWc6L21pbmd3 NjQvc2hhcmUvcGtnY29uZmlnJwpQT1JUTkFNRT0nd2luMzInClBST1ZFPScnClBUSFJFQURfQ0M9 JycKUFRIUkVBRF9DRkxBR1M9JycKUFRIUkVBRF9MSUJTPScnClBZVEhPTj0nL2MvUHJvZ3JhbURh dGEvQW5hY29uZGEzL3B5dGhvbicKUkFOTElCPSdyYW5saWInClNIRUxMPScvYmluL3NoJwpTVFJJ UD0nc3RyaXAnClNUUklQX1NIQVJFRF9MSUI9J3N0cmlwIC0tc3RyaXAtdW5uZWVkZWQnClNUUklQ X1NUQVRJQ19MSUI9J3N0cmlwIC14JwpTVU5fU1RVRElPX0NDPSdubycKVEFSPScvdXNyL2Jpbi90 YXInClRBUz0nJwpUQ0xTSD0nL2MvQWN0aXZlVGNsL2Jpbi90Y2xzaCcKVENMX0NPTkZJR19TSD0n QzovQWN0aXZlVGNsL2xpYi90Y2xDb25maWcuc2gnClRDTF9JTkNMVURFX1NQRUM9Jy1JQzpcQWN0 aXZlVGNsXGluY2x1ZGUnClRDTF9MSUJTPSduZXRhcGkzMi5saWIga2VybmVsMzIubGliIHVzZXIz Mi5saWIgYWR2YXBpMzIubGliIHVzZXJlbnYubGliIHdzMl8zMi5saWIgdWNydC5saWInClRDTF9M SUJfU1BFQz0nQzpcQWN0aXZlVGNsXGxpYlx0Y2w4NnQubGliJwpUQ0xfU0hBUkVEX0JVSUxEPScx JwpUQ0xfU0hMSUJfTERfTElCUz0nbmV0YXBpMzIubGliIGtlcm5lbDMyLmxpYiB1c2VyMzIubGli IGFkdmFwaTMyLmxpYiB1c2VyZW52LmxpYiB3czJfMzIubGliIHVjcnQubGliJwpVVUlEX0VYVFJB X09CSlM9JycKVVVJRF9MSUJTPScnCldBTlRFRF9MQU5HVUFHRVM9JycKV0lORFJFUz0nd2luZHJl cycKWEdFVFRFWFQ9JycKWE1MMl9DT05GSUc9JycKWE1MTElOVD0nL3Vzci9iaW4veG1sbGludCcK WFNMVFBST0M9Jy91c3IvYmluL3hzbHRwcm9jJwpaSUM9JycKYWNfY3RfQ0M9JycKYWNfY3RfQ1hY PScnCmF1dG9kZXBlbmQ9J3llcycKYXhfcHRocmVhZF9jb25maWc9JycKYmluZGlyPScke2V4ZWNf cHJlZml4fS9iaW4nCmJ1aWxkPSd4ODZfNjQtdzY0LW1pbmd3MzInCmJ1aWxkX2FsaWFzPSd4ODZf NjQtdzY0LW1pbmd3MzInCmJ1aWxkX2NwdT0neDg2XzY0JwpidWlsZF9vcz0nbWluZ3czMicKYnVp bGRfdmVuZG9yPSd3NjQnCmNvbmZpZ3VyZV9hcmdzPScgJ1wnJy0taG9zdD14ODZfNjQtdzY0LW1p bmd3MzInXCcnICdcJyctLXByZWZpeD0vdy9SLTMuNS5fL3Bvc3RncmVzL2J1aWxkL2J1aWxkJ1wn JyAnXCcnQ0ZMQUdTPS1PIC1mbm8tb21pdC1mcmFtZS1wb2ludGVyJ1wnJyAnXCcnLS1kaXNhYmxl LXJwYXRoJ1wnJyAnXCcnLS1lbmFibGUtZGVwZW5kJ1wnJyAnXCcnLS1lbmFibGUtY2Fzc2VydCdc JycgJ1wnJy0tZW5hYmxlLWRlYnVnJ1wnJyAnXCcnLS13aXRoLWljdSdcJycgJ1wnJ0lDVV9DRkxB R1M9LUkvdy9pY3UtNjEuMS9pY3U0Yy9kaXN0L2luY2x1ZGUnXCcnICdcJydJQ1VfTElCUz0tTC93 L2ljdS02MS4xL2ljdTRjL2Rpc3QvbGliIC1saWN1aTE4biAtbGljdXVjIC1saWN1ZGF0YSdcJycg J1wnJy0td2l0aC1vcGVuc3NsJ1wnJyAnXCcnLS13aXRoLWxpYnhtbCdcJycgJ1wnJy0td2l0aC1s aWJ4c2x0J1wnJyAnXCcnLS13aXRoLXRjbCdcJycgJ1wnJy0td2l0aC1weXRob24nXCcnICdcJyct LXdpdGgtcGVybCdcJycgJ1wnJy0td2l0aC1pbmNsdWRlcz0vdy96bGliLTEuMi44LXdpbjMyLXg4 Nl82NC9pbmNsdWRlOi93L29wZW5zc2wtMS4wLjJlLXdpbjMyLXg4Nl82NC9pbmNsdWRlOi93L2xp YnhtbDItMi45LjMtd2luMzIteDg2XzY0L2luY2x1ZGUvbGlieG1sMjovdy9saWJ4c2x0LTEuMS4y OC13aW4zMi14ODZfNjQvaW5jbHVkZSdcJycgJ1wnJy0td2l0aC1saWJyYXJpZXM9L3cvemxpYi0x LjIuOC13aW4zMi14ODZfNjQvbGliOi93L29wZW5zc2wtMS4wLjJlLXdpbjMyLXg4Nl82NC9saWI6 L3cvbGlieG1sMi0yLjkuMy13aW4zMi14ODZfNjQvbGliOi93L2xpYnhzbHQtMS4xLjI4LXdpbjMy LXg4Nl82NC9saWInXCcnICdcJydob3N0X2FsaWFzPXg4Nl82NC13NjQtbWluZ3czMidcJycgJ1wn J1BLR19DT05GSUdfUEFUSD0vbWluZ3c2NC9saWIvcGtnY29uZmlnOi9taW5ndzY0L3NoYXJlL3Br Z2NvbmZpZydcJycnCmRhdGFkaXI9JyR7ZGF0YXJvb3RkaXJ9JwpkYXRhcm9vdGRpcj0nJHtwcmVm aXh9L3NoYXJlJwpkZWZhdWx0X3BvcnQ9JzU0MzInCmRvY2Rpcj0nJHtkYXRhcm9vdGRpcn0vZG9j LyR7UEFDS0FHRV9UQVJOQU1FfScKZHZpZGlyPScke2RvY2Rpcn0nCmVuYWJsZV9jb3ZlcmFnZT0n bm8nCmVuYWJsZV9kZWJ1Zz0neWVzJwplbmFibGVfZHRyYWNlPSdubycKZW5hYmxlX25scz0nbm8n CmVuYWJsZV9ycGF0aD0nbm8nCmVuYWJsZV9zdHJvbmdfcmFuZG9tPSd5ZXMnCmVuYWJsZV90YXBf dGVzdHM9J25vJwplbmFibGVfdGhyZWFkX3NhZmV0eT0neWVzJwpleGVjX3ByZWZpeD0nJHtwcmVm aXh9JwpoYXZlX2RvY2Jvb2s9J3llcycKaGF2ZV93aW4zMl9kYmdoZWxwPSd5ZXMnCmhvc3Q9J3g4 Nl82NC13NjQtbWluZ3czMicKaG9zdF9hbGlhcz0neDg2XzY0LXc2NC1taW5ndzMyJwpob3N0X2Nw dT0neDg2XzY0Jwpob3N0X29zPSdtaW5ndzMyJwpob3N0X3ZlbmRvcj0ndzY0JwpodG1sZGlyPSck e2RvY2Rpcn0nCmluY2x1ZGVkaXI9JyR7cHJlZml4fS9pbmNsdWRlJwppbmZvZGlyPScke2RhdGFy b290ZGlyfS9pbmZvJwppbnN0YWxsX2Jpbj0nL3Vzci9iaW4vaW5zdGFsbCAtYycKa3JiX3NydnRh Yj0nJwpsaWJkaXI9JyR7ZXhlY19wcmVmaXh9L2xpYicKbGliZXhlY2Rpcj0nJHtleGVjX3ByZWZp eH0vbGliZXhlYycKbG9jYWxlZGlyPScke2RhdGFyb290ZGlyfS9sb2NhbGUnCmxvY2Fsc3RhdGVk aXI9JyR7cHJlZml4fS92YXInCm1hbmRpcj0nJHtkYXRhcm9vdGRpcn0vbWFuJwpvbGRpbmNsdWRl ZGlyPScvdXNyL2luY2x1ZGUnCnBkZmRpcj0nJHtkb2NkaXJ9JwpwZXJsX2FyY2hsaWJleHA9J0M6 L1NUUkFXQn4xL3BlcmwvbGliJwpwZXJsX2VtYmVkX2NjZmxhZ3M9Jy1EV0lOMzIgLURXSU42NCAt RENPTlNFUlZBVElWRSAtRFBFUkxfVEVYVE1PREVfU0NSSVBUUyAtRFBFUkxfSU1QTElDSVRfQ09O VEVYVCAtRFBFUkxfSU1QTElDSVRfU1lTIC1EVVNFX1BFUkxJTyAnCnBlcmxfZW1iZWRfbGRmbGFn cz0nLUxDOi9TVFJBV0J+MS9wZXJsL2xpYi9DT1JFIC1scGVybDUyOCcKcGVybF9wcml2bGliZXhw PSdDOi9TVFJBV0J+MS9wZXJsL2xpYicKcGVybF91c2VzaHJwbGliPSd0cnVlJwpwcmVmaXg9Jy93 L1ItMy41Ll8vcG9zdGdyZXMvYnVpbGQvYnVpbGQnCnByb2dyYW1fdHJhbnNmb3JtX25hbWU9J3Ms eCx4LCcKcHNkaXI9JyR7ZG9jZGlyfScKcHl0aG9uX2FkZGl0aW9uYWxfbGlicz0nJwpweXRob25f aW5jbHVkZXNwZWM9Jy1JQzovUHJvZ3JhbURhdGEvQW5hY29uZGEzL2luY2x1ZGUnCnB5dGhvbl9s aWJkaXI9J2M6L1dpbmRvd3MvU3lzdGVtMzInCnB5dGhvbl9saWJzcGVjPSctTGM6L1dpbmRvd3Mv U3lzdGVtMzIgLWxweXRob24zNicKcHl0aG9uX21ham9ydmVyc2lvbj0nMycKcHl0aG9uX3ZlcnNp b249JzMuNicKc2JpbmRpcj0nJHtleGVjX3ByZWZpeH0vc2JpbicKc2hhcmVkc3RhdGVkaXI9JyR7 cHJlZml4fS9jb20nCnN5c2NvbmZkaXI9JyR7cHJlZml4fS9ldGMnCnRhcmdldF9hbGlhcz0nJwp2 cGF0aF9idWlsZD0neWVzJwp3aXRoX2dudV9sZD0neWVzJwp3aXRoX2dzc2FwaT0nbm8nCndpdGhf aWN1PSd5ZXMnCndpdGhfa3JiX3Nydm5hbT0ncG9zdGdyZXMnCndpdGhfbGRhcD0nbm8nCndpdGhf bGlieG1sPSd5ZXMnCndpdGhfbGlieHNsdD0neWVzJwp3aXRoX2xsdm09J25vJwp3aXRoX29wZW5z c2w9J3llcycKd2l0aF9wZXJsPSd5ZXMnCndpdGhfcHl0aG9uPSd5ZXMnCndpdGhfc2VsaW51eD0n bm8nCndpdGhfc3lzdGVtX3R6ZGF0YT0nJwp3aXRoX3N5c3RlbWQ9J25vJwp3aXRoX3RjbD0neWVz Jwp3aXRoX3V1aWQ9J25vJwp3aXRoX3psaWI9J3llcycKCiMjIC0tLS0tLS0tLS0tICMjCiMjIGNv bmZkZWZzLmguICMjCiMjIC0tLS0tLS0tLS0tICMjCgovKiBjb25mZGVmcy5oICovCiNkZWZpbmUg UEFDS0FHRV9OQU1FICJQb3N0Z3JlU1FMIgojZGVmaW5lIFBBQ0tBR0VfVEFSTkFNRSAicG9zdGdy ZXNxbCIKI2RlZmluZSBQQUNLQUdFX1ZFUlNJT04gIjExYmV0YTMiCiNkZWZpbmUgUEFDS0FHRV9T VFJJTkcgIlBvc3RncmVTUUwgMTFiZXRhMyIKI2RlZmluZSBQQUNLQUdFX0JVR1JFUE9SVCAicGdz cWwtYnVnc0Bwb3N0Z3Jlc3FsLm9yZyIKI2RlZmluZSBQQUNLQUdFX1VSTCAiIgojZGVmaW5lIFBH X01BSk9SVkVSU0lPTiAiMTEiCiNkZWZpbmUgUEdfVkVSU0lPTiAiMTFiZXRhMyIKI2RlZmluZSBE RUZfUEdQT1JUIDU0MzIKI2RlZmluZSBERUZfUEdQT1JUX1NUUiAiNTQzMiIKI2RlZmluZSBCTENL U1ogODE5MgojZGVmaW5lIFJFTFNFR19TSVpFIDEzMTA3MgojZGVmaW5lIFhMT0dfQkxDS1NaIDgx OTIKI2RlZmluZSBVU0VfQVNTRVJUX0NIRUNLSU5HIDEKI2RlZmluZSBFTkFCTEVfVEhSRUFEX1NB RkVUWSAxCiNkZWZpbmUgVVNFX0lDVSAxCiNkZWZpbmUgUEdfS1JCX1NSVk5BTSAicG9zdGdyZXMi CiNkZWZpbmUgVVNFX09QRU5TU0wgMQojZGVmaW5lIFVTRV9MSUJYTUwgMQojZGVmaW5lIFVTRV9M SUJYU0xUIDEKI2RlZmluZSBTVERDX0hFQURFUlMgMQojZGVmaW5lIEhBVkVfU1lTX1RZUEVTX0gg MQojZGVmaW5lIEhBVkVfU1lTX1NUQVRfSCAxCiNkZWZpbmUgSEFWRV9TVERMSUJfSCAxCiNkZWZp bmUgSEFWRV9TVFJJTkdfSCAxCiNkZWZpbmUgSEFWRV9NRU1PUllfSCAxCiNkZWZpbmUgSEFWRV9T VFJJTkdTX0ggMQojZGVmaW5lIEhBVkVfSU5UVFlQRVNfSCAxCiNkZWZpbmUgSEFWRV9TVERJTlRf SCAxCiNkZWZpbmUgSEFWRV9VTklTVERfSCAxCiNkZWZpbmUgSEFWRV9MSUJNIDEKI2RlZmluZSBI QVZFX0xJQlogMQojZGVmaW5lIEhBVkVfU1BJTkxPQ0tTIDEKI2RlZmluZSBIQVZFX0FUT01JQ1Mg MQojZGVmaW5lIEhBVkVfU1NMX0dFVF9DVVJSRU5UX0NPTVBSRVNTSU9OIDEKI2RlZmluZSBIQVZF X1g1MDlfR0VUX1NJR05BVFVSRV9OSUQgMQojZGVmaW5lIEhBVkVfQ1JZUFRPX0xPQ0sgMQojZGVm aW5lIEhBVkVfTElCWE1MMiAxCiNkZWZpbmUgSEFWRV9MSUJYU0xUIDEKI2RlZmluZSBIQVZFX19C T09MIDEKI2RlZmluZSBIQVZFX1NUREJPT0xfSCAxCiNkZWZpbmUgSEFWRV9HRVRPUFRfSCAxCiNk ZWZpbmUgSEFWRV9JRUVFRlBfSCAxCiNkZWZpbmUgSEFWRV9VVElNRV9IIDEKI2RlZmluZSBIQVZF X1dDSEFSX0ggMQojZGVmaW5lIEhBVkVfV0NUWVBFX0ggMQojZGVmaW5lIEhBVkVfQ1JUREVGU19I IDEKI2RlZmluZSBQR19QUklOVEZfQVRUUklCVVRFIGdudV9wcmludGYKI2RlZmluZSBGTEVYSUJM RV9BUlJBWV9NRU1CRVIgLyoqLwojZGVmaW5lIEhBVkVfRlVOQ05BTUVfX0ZVTkMgMQojZGVmaW5l IEhBVkVfX1NUQVRJQ19BU1NFUlQgMQojZGVmaW5lIEhBVkVfVFlQRU9GIDEKI2RlZmluZSBIQVZF X19CVUlMVElOX1RZUEVTX0NPTVBBVElCTEVfUCAxCiNkZWZpbmUgSEFWRV9fQlVJTFRJTl9CU1dB UDE2IDEKI2RlZmluZSBIQVZFX19CVUlMVElOX0JTV0FQMzIgMQojZGVmaW5lIEhBVkVfX0JVSUxU SU5fQlNXQVA2NCAxCiNkZWZpbmUgSEFWRV9fQlVJTFRJTl9DT05TVEFOVF9QIDEKI2RlZmluZSBI QVZFX19CVUlMVElOX1VOUkVBQ0hBQkxFIDEKI2RlZmluZSBIQVZFX0NPTVBVVEVEX0dPVE8gMQoj ZGVmaW5lIEhBVkVfX1ZBX0FSR1MgMQojZGVmaW5lIEhBVkVfVFpOQU1FIDEKI2RlZmluZSBIQVZF X1NUUlVDVF9TT0NLQUREUl9TVE9SQUdFIDEKI2RlZmluZSBIQVZFX1NUUlVDVF9TT0NLQUREUl9T VE9SQUdFX1NTX0ZBTUlMWSAxCiNkZWZpbmUgSEFWRV9TVFJVQ1RfQUREUklORk8gMQojZGVmaW5l IEhBVkVfSU5UUFRSX1QgMQojZGVmaW5lIEhBVkVfVUlOVFBUUl9UIDEKI2RlZmluZSBIQVZFX1VO U0lHTkVEX0xPTkdfTE9OR19JTlQgMQojZGVmaW5lIEhBVkVfTE9OR19MT05HX0lOVCAxCiNkZWZp bmUgcmVzdHJpY3QgX19yZXN0cmljdAojZGVmaW5lIHBnX3Jlc3RyaWN0IF9fcmVzdHJpY3QKI2Rl ZmluZSBIQVZFX1NUUlVDVF9PUFRJT04gMQojZGVmaW5lIFNJWkVPRl9PRkZfVCA0CiNkZWZpbmUg U0laRU9GX0JPT0wgMQojZGVmaW5lIEhBVkVfSU5UX1RJTUVaT05FIDEKI2RlZmluZSBBQ0NFUFRf VFlQRV9SRVRVUk4gU09DS0VUIFdTQUFQSQojZGVmaW5lIEFDQ0VQVF9UWVBFX0FSRzEgU09DS0VU CiNkZWZpbmUgQUNDRVBUX1RZUEVfQVJHMiBzdHJ1Y3Qgc29ja2FkZHIgKgojZGVmaW5lIEFDQ0VQ VF9UWVBFX0FSRzMgaW50CiNkZWZpbmUgSEFWRV9DQlJUIDEKI2RlZmluZSBIQVZFX0NMT0NLX0dF VFRJTUUgMQojZGVmaW5lIEhBVkVfTUVNTU9WRSAxCiNkZWZpbmUgSEFWRV9VVElNRSAxCiNkZWZp bmUgSEFWRV9GU0VFS08gMQojZGVmaW5lIEhBVkVfRlNFRUtPIDEKI2RlZmluZSBIQVZFX0RFQ0xf UE9TSVhfRkFEVklTRSAwCiNkZWZpbmUgSEFWRV9ERUNMX0ZEQVRBU1lOQyAwCiNkZWZpbmUgSEFW RV9ERUNMX1NUUkxDQVQgMAojZGVmaW5lIEhBVkVfREVDTF9TVFJMQ1BZIDAKI2RlZmluZSBIQVZF X0RFQ0xfU1RSTkxFTiAxCiNkZWZpbmUgSEFWRV9ERUNMX0ZfRlVMTEZTWU5DIDAKI2RlZmluZSBI QVZFX0lQVjYgMQojZGVmaW5lIEhBVkVfREVDTF9TTlBSSU5URiAxCiNkZWZpbmUgSEFWRV9ERUNM X1ZTTlBSSU5URiAxCiNkZWZpbmUgSEFWRV9JU0lORiAxCiNkZWZpbmUgSEFWRV9HRVRPUFQgMQoj ZGVmaW5lIEhBVkVfUklOVCAxCiNkZWZpbmUgSEFWRV9TVFJFUlJPUiAxCiNkZWZpbmUgSEFWRV9T VFJOTEVOIDEKI2RlZmluZSBIQVZFX1VOU0VURU5WIDEKI2RlZmluZSBIQVZFX0dFVFBFRVJFSUQg MQojZGVmaW5lIEhBVkVfR0VUT1BUX0xPTkcgMQojZGVmaW5lIEhBVkVfR0VUVElNRU9GREFZIDEK I2RlZmluZSBIQVZFX1NZTUxJTksgMQojZGVmaW5lIEhBVkVfTUlOSURVTVBfVFlQRSAxCiNkZWZp bmUgSEFWRV9ERUNMX1NZU19TSUdMSVNUIDAKI2RlZmluZSBIQVZFX0lOVF9PUFRFUlIgMQojZGVm aW5lIEhBVkVfU1RSVE9MTCAxCiNkZWZpbmUgSEFWRV9TVFJUT1VMTCAxCiNkZWZpbmUgSEFWRV9E RUNMX1NUUlRPTEwgMQojZGVmaW5lIEhBVkVfREVDTF9TVFJUT1VMTCAxCiNkZWZpbmUgSEFWRV9M T05HX0xPTkdfSU5UXzY0IDEKI2RlZmluZSBQR19JTlQ2NF9UWVBFIGxvbmcgbG9uZyBpbnQKI2Rl ZmluZSBJTlQ2NF9NT0RJRklFUiAibGwiCiNkZWZpbmUgVVNFX1JFUExfU05QUklOVEYgMQojZGVm aW5lIEhBVkVfX0JVSUxUSU5fT1BfT1ZFUkZMT1cgMQojZGVmaW5lIFNJWkVPRl9WT0lEX1AgOAoj ZGVmaW5lIFNJWkVPRl9TSVpFX1QgOAojZGVmaW5lIFNJWkVPRl9MT05HIDQKI2RlZmluZSBVU0Vf RkxPQVQ0X0JZVkFMIDEKI2RlZmluZSBGTE9BVDRQQVNTQllWQUwgdHJ1ZQojZGVmaW5lIFVTRV9G TE9BVDhfQllWQUwgMQojZGVmaW5lIEZMT0FUOFBBU1NCWVZBTCB0cnVlCiNkZWZpbmUgQUxJR05P Rl9TSE9SVCAyCiNkZWZpbmUgQUxJR05PRl9JTlQgNAojZGVmaW5lIEFMSUdOT0ZfTE9ORyA0CiNk ZWZpbmUgQUxJR05PRl9MT05HX0xPTkdfSU5UIDgKI2RlZmluZSBBTElHTk9GX0RPVUJMRSA4CiNk ZWZpbmUgTUFYSU1VTV9BTElHTk9GIDgKI2RlZmluZSBQR19JTlQxMjhfVFlQRSBfX2ludDEyOAoj ZGVmaW5lIEFMSUdOT0ZfUEdfSU5UMTI4X1RZUEUgMTYKI2RlZmluZSBIQVZFX0dDQ19fU1lOQ19D SEFSX1RBUyAxCiNkZWZpbmUgSEFWRV9HQ0NfX1NZTkNfSU5UMzJfVEFTIDEKI2RlZmluZSBIQVZF X0dDQ19fU1lOQ19JTlQzMl9DQVMgMQojZGVmaW5lIEhBVkVfR0NDX19TWU5DX0lOVDY0X0NBUyAx CiNkZWZpbmUgSEFWRV9HQ0NfX0FUT01JQ19JTlQzMl9DQVMgMQojZGVmaW5lIEhBVkVfR0NDX19B VE9NSUNfSU5UNjRfQ0FTIDEKI2RlZmluZSBIQVZFX19HRVRfQ1BVSUQgMQojZGVmaW5lIFVTRV9T U0U0Ml9DUkMzMkNfV0lUSF9SVU5USU1FX0NIRUNLIDEKI2RlZmluZSBVU0VfV0lOMzJfU0VNQVBI T1JFUyAxCiNkZWZpbmUgVVNFX1dJTjMyX1NIQVJFRF9NRU1PUlkgMQojZGVmaW5lIFVTRV9PUEVO U1NMX1JBTkRPTSAxCiNkZWZpbmUgSEFWRV9TVFJPTkdfUkFORE9NIDEKI2RlZmluZSBNRU1TRVRf TE9PUF9MSU1JVCAxMDI0CiNkZWZpbmUgUEdfVkVSU0lPTl9TVFIgIlBvc3RncmVTUUwgMTFiZXRh MyBvbiB4ODZfNjQtdzY0LW1pbmd3MzIsIGNvbXBpbGVkIGJ5IHg4Nl82NC13NjQtbWluZ3czMi1n Y2MuZXhlIChSZXYxLCBCdWlsdCBieSBNU1lTMiBwcm9qZWN0KSA4LjIuMCwgNjQtYml0IgojZGVm aW5lIFBHX1ZFUlNJT05fTlVNIDExMDAwMAoKY29uZmlndXJlOiBleGl0IDAK --_005_BYAPR15MB22160A7A3E99229734CB97BA9C020BYAPR15MB2216namp_ Content-Type: application/octet-stream; name="config.status" Content-Description: config.status Content-Disposition: attachment; filename="config.status"; size=43953; creation-date="Wed, 05 Sep 2018 15:20:05 GMT"; modification-date="Wed, 05 Sep 2018 15:20:05 GMT" Content-Transfer-Encoding: base64 IyEgL2Jpbi9zaAojIEdlbmVyYXRlZCBieSBjb25maWd1cmUuCiMgUnVuIHRoaXMgZmlsZSB0byBy ZWNyZWF0ZSB0aGUgY3VycmVudCBjb25maWd1cmF0aW9uLgojIENvbXBpbGVyIG91dHB1dCBwcm9k dWNlZCBieSBjb25maWd1cmUsIHVzZWZ1bCBmb3IgZGVidWdnaW5nCiMgY29uZmlndXJlLCBpcyBp biBjb25maWcubG9nIGlmIGl0IGV4aXN0cy4KCmRlYnVnPWZhbHNlCmFjX2NzX3JlY2hlY2s9ZmFs c2UKYWNfY3Nfc2lsZW50PWZhbHNlCgpTSEVMTD0ke0NPTkZJR19TSEVMTC0vYmluL3NofQpleHBv cnQgU0hFTEwKIyMgLS0tLS0tLS0tLS0tLS0tLS0tLS0gIyMKIyMgTTRzaCBJbml0aWFsaXphdGlv bi4gIyMKIyMgLS0tLS0tLS0tLS0tLS0tLS0tLS0gIyMKCiMgQmUgbW9yZSBCb3VybmUgY29tcGF0 aWJsZQpEVUFMQ0FTRT0xOyBleHBvcnQgRFVBTENBU0UgIyBmb3IgTUtTIHNoCmlmIHRlc3QgLW4g IiR7WlNIX1ZFUlNJT04rc2V0fSIgJiYgKGVtdWxhdGUgc2gpID4vZGV2L251bGwgMj4mMTsgdGhl biA6CiAgZW11bGF0ZSBzaAogIE5VTExDTUQ9OgogICMgUHJlLTQuMiB2ZXJzaW9ucyBvZiBac2gg ZG8gd29yZCBzcGxpdHRpbmcgb24gJHsxKyIkQCJ9LCB3aGljaAogICMgaXMgY29udHJhcnkgdG8g b3VyIHVzYWdlLiAgRGlzYWJsZSB0aGlzIGZlYXR1cmUuCiAgYWxpYXMgLWcgJyR7MSsiJEAifSc9 JyIkQCInCiAgc2V0b3B0IE5PX0dMT0JfU1VCU1QKZWxzZQogIGNhc2UgYChzZXQgLW8pIDI+L2Rl di9udWxsYCBpbiAjKAogICpwb3NpeCopIDoKICAgIHNldCAtbyBwb3NpeCA7OyAjKAogICopIDoK ICAgICA7Owplc2FjCmZpCgoKYXNfbmw9JwonCmV4cG9ydCBhc19ubAojIFByaW50aW5nIGEgbG9u ZyBzdHJpbmcgY3Jhc2hlcyBTb2xhcmlzIDcgL3Vzci9iaW4vcHJpbnRmLgphc19lY2hvPSdcXFxc XFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxc XFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcJwphc19lY2hvPSRhc19l Y2hvJGFzX2VjaG8kYXNfZWNobyRhc19lY2hvJGFzX2VjaG8KYXNfZWNobz0kYXNfZWNobyRhc19l Y2hvJGFzX2VjaG8kYXNfZWNobyRhc19lY2hvJGFzX2VjaG8KIyBQcmVmZXIgYSBrc2ggc2hlbGwg YnVpbHRpbiBvdmVyIGFuIGV4dGVybmFsIHByaW50ZiBwcm9ncmFtIG9uIFNvbGFyaXMsCiMgYnV0 IHdpdGhvdXQgd2FzdGluZyBmb3JrcyBmb3IgYmFzaCBvciB6c2guCmlmIHRlc3QgLXogIiRCQVNI X1ZFUlNJT04kWlNIX1ZFUlNJT04iIFwKICAgICYmICh0ZXN0ICJYYHByaW50IC1yIC0tICRhc19l Y2hvYCIgPSAiWCRhc19lY2hvIikgMj4vZGV2L251bGw7IHRoZW4KICBhc19lY2hvPSdwcmludCAt ciAtLScKICBhc19lY2hvX249J3ByaW50IC1ybiAtLScKZWxpZiAodGVzdCAiWGBwcmludGYgJXMg JGFzX2VjaG9gIiA9ICJYJGFzX2VjaG8iKSAyPi9kZXYvbnVsbDsgdGhlbgogIGFzX2VjaG89J3By aW50ZiAlc1xuJwogIGFzX2VjaG9fbj0ncHJpbnRmICVzJwplbHNlCiAgaWYgdGVzdCAiWGAoL3Vz ci91Y2IvZWNobyAtbiAtbiAkYXNfZWNobykgMj4vZGV2L251bGxgIiA9ICJYLW4gJGFzX2VjaG8i OyB0aGVuCiAgICBhc19lY2hvX2JvZHk9J2V2YWwgL3Vzci91Y2IvZWNobyAtbiAiJDEkYXNfbmwi JwogICAgYXNfZWNob19uPScvdXNyL3VjYi9lY2hvIC1uJwogIGVsc2UKICAgIGFzX2VjaG9fYm9k eT0nZXZhbCBleHByICJYJDEiIDogIlhcXCguKlxcKSInCiAgICBhc19lY2hvX25fYm9keT0nZXZh bAogICAgICBhcmc9JDE7CiAgICAgIGNhc2UgJGFyZyBpbiAjKAogICAgICAqIiRhc19ubCIqKQoJ ZXhwciAiWCRhcmciIDogIlhcXCguKlxcKSRhc19ubCI7Cglhcmc9YGV4cHIgIlgkYXJnIiA6ICIu KiRhc19ubFxcKC4qXFwpImA7OwogICAgICBlc2FjOwogICAgICBleHByICJYJGFyZyIgOiAiWFxc KC4qXFwpIiB8IHRyIC1kICIkYXNfbmwiCiAgICAnCiAgICBleHBvcnQgYXNfZWNob19uX2JvZHkK ICAgIGFzX2VjaG9fbj0nc2ggLWMgJGFzX2VjaG9fbl9ib2R5IGFzX2VjaG8nCiAgZmkKICBleHBv cnQgYXNfZWNob19ib2R5CiAgYXNfZWNobz0nc2ggLWMgJGFzX2VjaG9fYm9keSBhc19lY2hvJwpm aQoKIyBUaGUgdXNlciBpcyBhbHdheXMgcmlnaHQuCmlmIHRlc3QgIiR7UEFUSF9TRVBBUkFUT1Ir c2V0fSIgIT0gc2V0OyB0aGVuCiAgUEFUSF9TRVBBUkFUT1I9OgogIChQQVRIPScvYmluOy9iaW4n OyBGUEFUSD0kUEFUSDsgc2ggLWMgOikgPi9kZXYvbnVsbCAyPiYxICYmIHsKICAgIChQQVRIPScv YmluOi9iaW4nOyBGUEFUSD0kUEFUSDsgc2ggLWMgOikgPi9kZXYvbnVsbCAyPiYxIHx8CiAgICAg IFBBVEhfU0VQQVJBVE9SPSc7JwogIH0KZmkKCgojIElGUwojIFdlIG5lZWQgc3BhY2UsIHRhYiBh bmQgbmV3IGxpbmUsIGluIHByZWNpc2VseSB0aGF0IG9yZGVyLiAgUXVvdGluZyBpcwojIHRoZXJl IHRvIHByZXZlbnQgZWRpdG9ycyBmcm9tIGNvbXBsYWluaW5nIGFib3V0IHNwYWNlLXRhYi4KIyAo SWYgX0FTX1BBVEhfV0FMSyB3ZXJlIGNhbGxlZCB3aXRoIElGUyB1bnNldCwgaXQgd291bGQgZGlz YWJsZSB3b3JkCiMgc3BsaXR0aW5nIGJ5IHNldHRpbmcgSUZTIHRvIGVtcHR5IHZhbHVlLikKSUZT PSIgIiIJJGFzX25sIgoKIyBGaW5kIHdobyB3ZSBhcmUuICBMb29rIGluIHRoZSBwYXRoIGlmIHdl IGNvbnRhaW4gbm8gZGlyZWN0b3J5IHNlcGFyYXRvci4KYXNfbXlzZWxmPQpjYXNlICQwIGluICMo KAogICpbXFwvXSogKSBhc19teXNlbGY9JDAgOzsKICAqKSBhc19zYXZlX0lGUz0kSUZTOyBJRlM9 JFBBVEhfU0VQQVJBVE9SCmZvciBhc19kaXIgaW4gJFBBVEgKZG8KICBJRlM9JGFzX3NhdmVfSUZT CiAgdGVzdCAteiAiJGFzX2RpciIgJiYgYXNfZGlyPS4KICAgIHRlc3QgLXIgIiRhc19kaXIvJDAi ICYmIGFzX215c2VsZj0kYXNfZGlyLyQwICYmIGJyZWFrCiAgZG9uZQpJRlM9JGFzX3NhdmVfSUZT CgogICAgIDs7CmVzYWMKIyBXZSBkaWQgbm90IGZpbmQgb3Vyc2VsdmVzLCBtb3N0IHByb2JhYmx5 IHdlIHdlcmUgcnVuIGFzIGBzaCBDT01NQU5EJwojIGluIHdoaWNoIGNhc2Ugd2UgYXJlIG5vdCB0 byBiZSBmb3VuZCBpbiB0aGUgcGF0aC4KaWYgdGVzdCAieCRhc19teXNlbGYiID0geDsgdGhlbgog IGFzX215c2VsZj0kMApmaQppZiB0ZXN0ICEgLWYgIiRhc19teXNlbGYiOyB0aGVuCiAgJGFzX2Vj aG8gIiRhc19teXNlbGY6IGVycm9yOiBjYW5ub3QgZmluZCBteXNlbGY7IHJlcnVuIHdpdGggYW4g YWJzb2x1dGUgZmlsZSBuYW1lIiA+JjIKICBleGl0IDEKZmkKCiMgVW5zZXQgdmFyaWFibGVzIHRo YXQgd2UgZG8gbm90IG5lZWQgYW5kIHdoaWNoIGNhdXNlIGJ1Z3MgKGUuZy4gaW4KIyBwcmUtMy4w IFVXSU4ga3NoKS4gIEJ1dCBkbyBub3QgY2F1c2UgYnVncyBpbiBiYXNoIDIuMDE7IHRoZSAifHwg ZXhpdCAxIgojIHN1cHByZXNzZXMgYW55ICJTZWdtZW50YXRpb24gZmF1bHQiIG1lc3NhZ2UgdGhl cmUuICAnKCgnIGNvdWxkCiMgdHJpZ2dlciBhIGJ1ZyBpbiBwZGtzaCA1LjIuMTQuCmZvciBhc192 YXIgaW4gQkFTSF9FTlYgRU5WIE1BSUwgTUFJTFBBVEgKZG8gZXZhbCB0ZXN0IHhcJHskYXNfdmFy K3NldH0gPSB4c2V0IFwKICAmJiAoICh1bnNldCAkYXNfdmFyKSB8fCBleGl0IDEpID4vZGV2L251 bGwgMj4mMSAmJiB1bnNldCAkYXNfdmFyIHx8IDoKZG9uZQpQUzE9JyQgJwpQUzI9Jz4gJwpQUzQ9 JysgJwoKIyBOTFMgbnVpc2FuY2VzLgpMQ19BTEw9QwpleHBvcnQgTENfQUxMCkxBTkdVQUdFPUMK ZXhwb3J0IExBTkdVQUdFCgojIENEUEFUSC4KKHVuc2V0IENEUEFUSCkgPi9kZXYvbnVsbCAyPiYx ICYmIHVuc2V0IENEUEFUSAoKCiMgYXNfZm5fZXJyb3IgU1RBVFVTIEVSUk9SIFtMSU5FTk8gTE9H X0ZEXQojIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBPdXRwdXQg ImBiYXNlbmFtZSAkMGA6IGVycm9yOiBFUlJPUiIgdG8gc3RkZXJyLiBJZiBMSU5FTk8gYW5kIExP R19GRCBhcmUKIyBwcm92aWRlZCwgYWxzbyBvdXRwdXQgdGhlIGVycm9yIHRvIExPR19GRCwgcmVm ZXJlbmNpbmcgTElORU5PLiBUaGVuIGV4aXQgdGhlCiMgc2NyaXB0IHdpdGggU1RBVFVTLCB1c2lu ZyAxIGlmIHRoYXQgd2FzIDAuCmFzX2ZuX2Vycm9yICgpCnsKICBhc19zdGF0dXM9JDE7IHRlc3Qg JGFzX3N0YXR1cyAtZXEgMCAmJiBhc19zdGF0dXM9MQogIGlmIHRlc3QgIiQ0IjsgdGhlbgogICAg YXNfbGluZW5vPSR7YXNfbGluZW5vLSIkMyJ9IGFzX2xpbmVub19zdGFjaz1hc19saW5lbm9fc3Rh Y2s9JGFzX2xpbmVub19zdGFjawogICAgJGFzX2VjaG8gIiRhc19tZToke2FzX2xpbmVuby0kTElO RU5PfTogZXJyb3I6ICQyIiA+JiQ0CiAgZmkKICAkYXNfZWNobyAiJGFzX21lOiBlcnJvcjogJDIi ID4mMgogIGFzX2ZuX2V4aXQgJGFzX3N0YXR1cwp9ICMgYXNfZm5fZXJyb3IKCgojIGFzX2ZuX3Nl dF9zdGF0dXMgU1RBVFVTCiMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBTZXQgJD8gdG8gU1RB VFVTLCB3aXRob3V0IGZvcmtpbmcuCmFzX2ZuX3NldF9zdGF0dXMgKCkKewogIHJldHVybiAkMQp9 ICMgYXNfZm5fc2V0X3N0YXR1cwoKIyBhc19mbl9leGl0IFNUQVRVUwojIC0tLS0tLS0tLS0tLS0t LS0tCiMgRXhpdCB0aGUgc2hlbGwgd2l0aCBTVEFUVVMsIGV2ZW4gaW4gYSAidHJhcCAwIiBvciAi c2V0IC1lIiBjb250ZXh0Lgphc19mbl9leGl0ICgpCnsKICBzZXQgK2UKICBhc19mbl9zZXRfc3Rh dHVzICQxCiAgZXhpdCAkMQp9ICMgYXNfZm5fZXhpdAoKIyBhc19mbl91bnNldCBWQVIKIyAtLS0t LS0tLS0tLS0tLS0KIyBQb3J0YWJseSB1bnNldCBWQVIuCmFzX2ZuX3Vuc2V0ICgpCnsKICB7IGV2 YWwgJDE9OyB1bnNldCAkMTt9Cn0KYXNfdW5zZXQ9YXNfZm5fdW5zZXQKIyBhc19mbl9hcHBlbmQg VkFSIFZBTFVFCiMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojIEFwcGVuZCB0aGUgdGV4dCBpbiBW QUxVRSB0byB0aGUgZW5kIG9mIHRoZSBkZWZpbml0aW9uIGNvbnRhaW5lZCBpbiBWQVIuIFRha2UK IyBhZHZhbnRhZ2Ugb2YgYW55IHNoZWxsIG9wdGltaXphdGlvbnMgdGhhdCBhbGxvdyBhbW9ydGl6 ZWQgbGluZWFyIGdyb3d0aCBvdmVyCiMgcmVwZWF0ZWQgYXBwZW5kcywgaW5zdGVhZCBvZiB0aGUg dHlwaWNhbCBxdWFkcmF0aWMgZ3Jvd3RoIHByZXNlbnQgaW4gbmFpdmUKIyBpbXBsZW1lbnRhdGlv bnMuCmlmIChldmFsICJhc192YXI9MTsgYXNfdmFyKz0yOyB0ZXN0IHhcJGFzX3ZhciA9IHgxMiIp IDI+L2Rldi9udWxsOyB0aGVuIDoKICBldmFsICdhc19mbl9hcHBlbmQgKCkKICB7CiAgICBldmFs ICQxKz1cJDIKICB9JwplbHNlCiAgYXNfZm5fYXBwZW5kICgpCiAgewogICAgZXZhbCAkMT1cJCQx XCQyCiAgfQpmaSAjIGFzX2ZuX2FwcGVuZAoKIyBhc19mbl9hcml0aCBBUkcuLi4KIyAtLS0tLS0t LS0tLS0tLS0tLS0KIyBQZXJmb3JtIGFyaXRobWV0aWMgZXZhbHVhdGlvbiBvbiB0aGUgQVJHcywg YW5kIHN0b3JlIHRoZSByZXN1bHQgaW4gdGhlCiMgZ2xvYmFsICRhc192YWwuIFRha2UgYWR2YW50 YWdlIG9mIHNoZWxscyB0aGF0IGNhbiBhdm9pZCBmb3Jrcy4gVGhlIGFyZ3VtZW50cwojIG11c3Qg YmUgcG9ydGFibGUgYWNyb3NzICQoKCkpIGFuZCBleHByLgppZiAoZXZhbCAidGVzdCBcJCgoIDEg KyAxICkpID0gMiIpIDI+L2Rldi9udWxsOyB0aGVuIDoKICBldmFsICdhc19mbl9hcml0aCAoKQog IHsKICAgIGFzX3ZhbD0kKCggJCogKSkKICB9JwplbHNlCiAgYXNfZm5fYXJpdGggKCkKICB7CiAg ICBhc192YWw9YGV4cHIgIiRAIiB8fCB0ZXN0ICQ/IC1lcSAxYAogIH0KZmkgIyBhc19mbl9hcml0 aAoKCmlmIGV4cHIgYSA6ICdcKGFcKScgPi9kZXYvbnVsbCAyPiYxICYmCiAgIHRlc3QgIlhgZXhw ciAwMDAwMSA6ICcuKlwoLi4uXCknYCIgPSBYMDAxOyB0aGVuCiAgYXNfZXhwcj1leHByCmVsc2UK ICBhc19leHByPWZhbHNlCmZpCgppZiAoYmFzZW5hbWUgLS0gLykgPi9kZXYvbnVsbCAyPiYxICYm IHRlc3QgIlhgYmFzZW5hbWUgLS0gLyAyPiYxYCIgPSAiWC8iOyB0aGVuCiAgYXNfYmFzZW5hbWU9 YmFzZW5hbWUKZWxzZQogIGFzX2Jhc2VuYW1lPWZhbHNlCmZpCgppZiAoYXNfZGlyPWBkaXJuYW1l IC0tIC9gICYmIHRlc3QgIlgkYXNfZGlyIiA9IFgvKSA+L2Rldi9udWxsIDI+JjE7IHRoZW4KICBh c19kaXJuYW1lPWRpcm5hbWUKZWxzZQogIGFzX2Rpcm5hbWU9ZmFsc2UKZmkKCmFzX21lPWAkYXNf YmFzZW5hbWUgLS0gIiQwIiB8fAokYXNfZXhwciBYLyIkMCIgOiAnLiovXChbXi9dW14vXSpcKS8q JCcgXHwgXAoJIFgiJDAiIDogJ1hcKC8vXCkkJyBcfCBcCgkgWCIkMCIgOiAnWFwoL1wpJyBcfCAu IDI+L2Rldi9udWxsIHx8CiRhc19lY2hvIFgvIiQwIiB8CiAgICBzZWQgJy9eLipcL1woW14vXVte L10qXClcLyokL3sKCSAgICBzLy9cMS8KCSAgICBxCgkgIH0KCSAgL15YXC9cKFwvXC9cKSQvewoJ ICAgIHMvL1wxLwoJICAgIHEKCSAgfQoJICAvXlhcL1woXC9cKS4qL3sKCSAgICBzLy9cMS8KCSAg ICBxCgkgIH0KCSAgcy8uKi8uLzsgcSdgCgojIEF2b2lkIGRlcGVuZGluZyB1cG9uIENoYXJhY3Rl ciBSYW5nZXMuCmFzX2NyX2xldHRlcnM9J2FiY2RlZmdoaWprbG1ub3BxcnN0dXZ3eHl6Jwphc19j cl9MRVRURVJTPSdBQkNERUZHSElKS0xNTk9QUVJTVFVWV1hZWicKYXNfY3JfTGV0dGVycz0kYXNf Y3JfbGV0dGVycyRhc19jcl9MRVRURVJTCmFzX2NyX2RpZ2l0cz0nMDEyMzQ1Njc4OScKYXNfY3Jf YWxudW09JGFzX2NyX0xldHRlcnMkYXNfY3JfZGlnaXRzCgpFQ0hPX0M9IEVDSE9fTj0gRUNIT19U PQpjYXNlIGBlY2hvIC1uIHhgIGluICMoKCgoKAotbiopCiAgY2FzZSBgZWNobyAneHlcYydgIGlu CiAgKmMqKSBFQ0hPX1Q9JwknOzsJIyBFQ0hPX1QgaXMgc2luZ2xlIHRhYiBjaGFyYWN0ZXIuCiAg eHkpICBFQ0hPX0M9J1xjJzs7CiAgKikgICBlY2hvIGBlY2hvIGtzaDg4IGJ1ZyBvbiBBSVggNi4x YCA+IC9kZXYvbnVsbAogICAgICAgRUNIT19UPScJJzs7CiAgZXNhYzs7CiopCiAgRUNIT19OPSct bic7Owplc2FjCgpybSAtZiBjb25mJCQgY29uZiQkLmV4ZSBjb25mJCQuZmlsZQppZiB0ZXN0IC1k IGNvbmYkJC5kaXI7IHRoZW4KICBybSAtZiBjb25mJCQuZGlyL2NvbmYkJC5maWxlCmVsc2UKICBy bSAtZiBjb25mJCQuZGlyCiAgbWtkaXIgY29uZiQkLmRpciAyPi9kZXYvbnVsbApmaQppZiAoZWNo byA+Y29uZiQkLmZpbGUpIDI+L2Rldi9udWxsOyB0aGVuCiAgaWYgbG4gLXMgY29uZiQkLmZpbGUg Y29uZiQkIDI+L2Rldi9udWxsOyB0aGVuCiAgICBhc19sbl9zPSdsbiAtcycKICAgICMgLi4uIGJ1 dCB0aGVyZSBhcmUgdHdvIGdvdGNoYXM6CiAgICAjIDEpIE9uIE1TWVMsIGJvdGggYGxuIC1zIGZp bGUgZGlyJyBhbmQgYGxuIGZpbGUgZGlyJyBmYWlsLgogICAgIyAyKSBESkdQUCA8IDIuMDQgaGFz IG5vIHN5bWxpbmtzOyBgbG4gLXMnIGNyZWF0ZXMgYSB3cmFwcGVyIGV4ZWN1dGFibGUuCiAgICAj IEluIGJvdGggY2FzZXMsIHdlIGhhdmUgdG8gZGVmYXVsdCB0byBgY3AgLXBSJy4KICAgIGxuIC1z IGNvbmYkJC5maWxlIGNvbmYkJC5kaXIgMj4vZGV2L251bGwgJiYgdGVzdCAhIC1mIGNvbmYkJC5l eGUgfHwKICAgICAgYXNfbG5fcz0nY3AgLXBSJwogIGVsaWYgbG4gY29uZiQkLmZpbGUgY29uZiQk IDI+L2Rldi9udWxsOyB0aGVuCiAgICBhc19sbl9zPWxuCiAgZWxzZQogICAgYXNfbG5fcz0nY3Ag LXBSJwogIGZpCmVsc2UKICBhc19sbl9zPSdjcCAtcFInCmZpCnJtIC1mIGNvbmYkJCBjb25mJCQu ZXhlIGNvbmYkJC5kaXIvY29uZiQkLmZpbGUgY29uZiQkLmZpbGUKcm1kaXIgY29uZiQkLmRpciAy Pi9kZXYvbnVsbAoKCiMgYXNfZm5fbWtkaXJfcAojIC0tLS0tLS0tLS0tLS0KIyBDcmVhdGUgIiRh c19kaXIiIGFzIGEgZGlyZWN0b3J5LCBpbmNsdWRpbmcgcGFyZW50cyBpZiBuZWNlc3NhcnkuCmFz X2ZuX21rZGlyX3AgKCkKewoKICBjYXNlICRhc19kaXIgaW4gIygKICAtKikgYXNfZGlyPS4vJGFz X2Rpcjs7CiAgZXNhYwogIHRlc3QgLWQgIiRhc19kaXIiIHx8IGV2YWwgJGFzX21rZGlyX3AgfHwg ewogICAgYXNfZGlycz0KICAgIHdoaWxlIDo7IGRvCiAgICAgIGNhc2UgJGFzX2RpciBpbiAjKAog ICAgICAqXCcqKSBhc19xZGlyPWAkYXNfZWNobyAiJGFzX2RpciIgfCBzZWQgInMvJy8nXFxcXFxc XFwnJy9nImA7OyAjJygKICAgICAgKikgYXNfcWRpcj0kYXNfZGlyOzsKICAgICAgZXNhYwogICAg ICBhc19kaXJzPSInJGFzX3FkaXInICRhc19kaXJzIgogICAgICBhc19kaXI9YCRhc19kaXJuYW1l IC0tICIkYXNfZGlyIiB8fAokYXNfZXhwciBYIiRhc19kaXIiIDogJ1hcKC4qW14vXVwpLy8qW14v XVteL10qLyokJyBcfCBcCgkgWCIkYXNfZGlyIiA6ICdYXCgvL1wpW14vXScgXHwgXAoJIFgiJGFz X2RpciIgOiAnWFwoLy9cKSQnIFx8IFwKCSBYIiRhc19kaXIiIDogJ1hcKC9cKScgXHwgLiAyPi9k ZXYvbnVsbCB8fAokYXNfZWNobyBYIiRhc19kaXIiIHwKICAgIHNlZCAnL15YXCguKlteL11cKVwv XC8qW14vXVteL10qXC8qJC97CgkgICAgcy8vXDEvCgkgICAgcQoJICB9CgkgIC9eWFwoXC9cL1wp W14vXS4qL3sKCSAgICBzLy9cMS8KCSAgICBxCgkgIH0KCSAgL15YXChcL1wvXCkkL3sKCSAgICBz Ly9cMS8KCSAgICBxCgkgIH0KCSAgL15YXChcL1wpLiovewoJICAgIHMvL1wxLwoJICAgIHEKCSAg fQoJICBzLy4qLy4vOyBxJ2AKICAgICAgdGVzdCAtZCAiJGFzX2RpciIgJiYgYnJlYWsKICAgIGRv bmUKICAgIHRlc3QgLXogIiRhc19kaXJzIiB8fCBldmFsICJta2RpciAkYXNfZGlycyIKICB9IHx8 IHRlc3QgLWQgIiRhc19kaXIiIHx8IGFzX2ZuX2Vycm9yICQ/ICJjYW5ub3QgY3JlYXRlIGRpcmVj dG9yeSAkYXNfZGlyIgoKCn0gIyBhc19mbl9ta2Rpcl9wCmlmIG1rZGlyIC1wIC4gMj4vZGV2L251 bGw7IHRoZW4KICBhc19ta2Rpcl9wPSdta2RpciAtcCAiJGFzX2RpciInCmVsc2UKICB0ZXN0IC1k IC4vLXAgJiYgcm1kaXIgLi8tcAogIGFzX21rZGlyX3A9ZmFsc2UKZmkKCgojIGFzX2ZuX2V4ZWN1 dGFibGVfcCBGSUxFCiMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBUZXN0IGlmIEZJTEUgaXMg YW4gZXhlY3V0YWJsZSByZWd1bGFyIGZpbGUuCmFzX2ZuX2V4ZWN1dGFibGVfcCAoKQp7CiAgdGVz dCAtZiAiJDEiICYmIHRlc3QgLXggIiQxIgp9ICMgYXNfZm5fZXhlY3V0YWJsZV9wCmFzX3Rlc3Rf eD0ndGVzdCAteCcKYXNfZXhlY3V0YWJsZV9wPWFzX2ZuX2V4ZWN1dGFibGVfcAoKIyBTZWQgZXhw cmVzc2lvbiB0byBtYXAgYSBzdHJpbmcgb250byBhIHZhbGlkIENQUCBuYW1lLgphc190cl9jcHA9 ImV2YWwgc2VkICd5JSokYXNfY3JfbGV0dGVycyVQJGFzX2NyX0xFVFRFUlMlO3MlW15fJGFzX2Ny X2FsbnVtXSVfJWcnIgoKIyBTZWQgZXhwcmVzc2lvbiB0byBtYXAgYSBzdHJpbmcgb250byBhIHZh bGlkIHZhcmlhYmxlIG5hbWUuCmFzX3RyX3NoPSJldmFsIHNlZCAneSUqKyVwcCU7cyVbXl8kYXNf Y3JfYWxudW1dJV8lZyciCgoKZXhlYyA2PiYxCiMjIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tICMjCiMjIE1haW4gYm9keSBvZiAkQ09ORklHX1NUQVRVUyBzY3JpcHQuICMjCiMj IC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICMjCiMgU2F2ZSB0aGUgbG9nIG1l c3NhZ2UsIHRvIGtlZXAgJDAgYW5kIHNvIG9uIG1lYW5pbmdmdWwsIGFuZCB0bwojIHJlcG9ydCBh Y3R1YWwgaW5wdXQgdmFsdWVzIG9mIENPTkZJR19GSUxFUyBldGMuIGluc3RlYWQgb2YgdGhlaXIK IyB2YWx1ZXMgYWZ0ZXIgb3B0aW9ucyBoYW5kbGluZy4KYWNfbG9nPSIKVGhpcyBmaWxlIHdhcyBl eHRlbmRlZCBieSBQb3N0Z3JlU1FMICRhc19tZSAxMWJldGEzLCB3aGljaCB3YXMKZ2VuZXJhdGVk IGJ5IEdOVSBBdXRvY29uZiAyLjY5LiAgSW52b2NhdGlvbiBjb21tYW5kIGxpbmUgd2FzCgogIENP TkZJR19GSUxFUyAgICA9ICRDT05GSUdfRklMRVMKICBDT05GSUdfSEVBREVSUyAgPSAkQ09ORklH X0hFQURFUlMKICBDT05GSUdfTElOS1MgICAgPSAkQ09ORklHX0xJTktTCiAgQ09ORklHX0NPTU1B TkRTID0gJENPTkZJR19DT01NQU5EUwogICQgJDAgJEAKCm9uIGAoaG9zdG5hbWUgfHwgdW5hbWUg LW4pIDI+L2Rldi9udWxsIHwgc2VkIDFxYAoiCgojIEZpbGVzIHRoYXQgY29uZmlnLnN0YXR1cyB3 YXMgbWFkZSBmb3IuCmNvbmZpZ19maWxlcz0iIEdOVW1ha2VmaWxlIHNyYy9NYWtlZmlsZS5nbG9i YWwiCmNvbmZpZ19oZWFkZXJzPSIgc3JjL2luY2x1ZGUvcGdfY29uZmlnLmggc3JjL2luY2x1ZGUv cGdfY29uZmlnX2V4dC5oIHNyYy9pbnRlcmZhY2VzL2VjcGcvaW5jbHVkZS9lY3BnX2NvbmZpZy5o Igpjb25maWdfbGlua3M9IiBzcmMvYmFja2VuZC9wb3J0L3Rhcy5zOnNyYy9iYWNrZW5kL3BvcnQv dGFzL2R1bW15LnMgc3JjL2JhY2tlbmQvcG9ydC9keW5sb2FkZXIuYzpzcmMvYmFja2VuZC9wb3J0 L2R5bmxvYWRlci93aW4zMi5jIHNyYy9iYWNrZW5kL3BvcnQvcGdfc2VtYS5jOnNyYy9iYWNrZW5k L3BvcnQvd2luMzJfc2VtYS5jIHNyYy9iYWNrZW5kL3BvcnQvcGdfc2htZW0uYzpzcmMvYmFja2Vu ZC9wb3J0L3dpbjMyX3NobWVtLmMgc3JjL2luY2x1ZGUvZHlubG9hZGVyLmg6c3JjL2JhY2tlbmQv cG9ydC9keW5sb2FkZXIvd2luMzIuaCBzcmMvaW5jbHVkZS9wZ19jb25maWdfb3MuaDpzcmMvaW5j bHVkZS9wb3J0L3dpbjMyLmggc3JjL01ha2VmaWxlLnBvcnQ6c3JjL21ha2VmaWxlcy9NYWtlZmls ZS53aW4zMiIKY29uZmlnX2NvbW1hbmRzPSIgY2hlY2tfd2luMzJfc3ltbGlua3MiCgphY19jc191 c2FnZT0iXApcYCRhc19tZScgaW5zdGFudGlhdGVzIGZpbGVzIGFuZCBvdGhlciBjb25maWd1cmF0 aW9uIGFjdGlvbnMKZnJvbSB0ZW1wbGF0ZXMgYWNjb3JkaW5nIHRvIHRoZSBjdXJyZW50IGNvbmZp Z3VyYXRpb24uICBVbmxlc3MgdGhlIGZpbGVzCmFuZCBhY3Rpb25zIGFyZSBzcGVjaWZpZWQgYXMg VEFHcywgYWxsIGFyZSBpbnN0YW50aWF0ZWQgYnkgZGVmYXVsdC4KClVzYWdlOiAkMCBbT1BUSU9O XS4uLiBbVEFHXS4uLgoKICAtaCwgLS1oZWxwICAgICAgIHByaW50IHRoaXMgaGVscCwgdGhlbiBl eGl0CiAgLVYsIC0tdmVyc2lvbiAgICBwcmludCB2ZXJzaW9uIG51bWJlciBhbmQgY29uZmlndXJh dGlvbiBzZXR0aW5ncywgdGhlbiBleGl0CiAgICAgIC0tY29uZmlnICAgICBwcmludCBjb25maWd1 cmF0aW9uLCB0aGVuIGV4aXQKICAtcSwgLS1xdWlldCwgLS1zaWxlbnQKICAgICAgICAgICAgICAg ICAgIGRvIG5vdCBwcmludCBwcm9ncmVzcyBtZXNzYWdlcwogIC1kLCAtLWRlYnVnICAgICAgZG9u J3QgcmVtb3ZlIHRlbXBvcmFyeSBmaWxlcwogICAgICAtLXJlY2hlY2sgICAgdXBkYXRlICRhc19t ZSBieSByZWNvbmZpZ3VyaW5nIGluIHRoZSBzYW1lIGNvbmRpdGlvbnMKICAgICAgLS1maWxlPUZJ TEVbOlRFTVBMQVRFXQogICAgICAgICAgICAgICAgICAgaW5zdGFudGlhdGUgdGhlIGNvbmZpZ3Vy YXRpb24gZmlsZSBGSUxFCiAgICAgIC0taGVhZGVyPUZJTEVbOlRFTVBMQVRFXQogICAgICAgICAg ICAgICAgICAgaW5zdGFudGlhdGUgdGhlIGNvbmZpZ3VyYXRpb24gaGVhZGVyIEZJTEUKCkNvbmZp Z3VyYXRpb24gZmlsZXM6CiRjb25maWdfZmlsZXMKCkNvbmZpZ3VyYXRpb24gaGVhZGVyczoKJGNv bmZpZ19oZWFkZXJzCgpDb25maWd1cmF0aW9uIGxpbmtzOgokY29uZmlnX2xpbmtzCgpDb25maWd1 cmF0aW9uIGNvbW1hbmRzOgokY29uZmlnX2NvbW1hbmRzCgpSZXBvcnQgYnVncyB0byA8cGdzcWwt YnVnc0Bwb3N0Z3Jlc3FsLm9yZz4uIgoKYWNfY3NfY29uZmlnPSInLS1ob3N0PXg4Nl82NC13NjQt bWluZ3czMicgJy0tcHJlZml4PS93L1ItMy41Ll8vcG9zdGdyZXMvYnVpbGQvYnVpbGQnICdDRkxB R1M9LU8gLWZuby1vbWl0LWZyYW1lLXBvaW50ZXInICctLWRpc2FibGUtcnBhdGgnICctLWVuYWJs ZS1kZXBlbmQnICctLWVuYWJsZS1jYXNzZXJ0JyAnLS1lbmFibGUtZGVidWcnICctLXdpdGgtaWN1 JyAnSUNVX0NGTEFHUz0tSS93L2ljdS02MS4xL2ljdTRjL2Rpc3QvaW5jbHVkZScgJ0lDVV9MSUJT PS1ML3cvaWN1LTYxLjEvaWN1NGMvZGlzdC9saWIgLWxpY3VpMThuIC1saWN1dWMgLWxpY3VkYXRh JyAnLS13aXRoLW9wZW5zc2wnICctLXdpdGgtbGlieG1sJyAnLS13aXRoLWxpYnhzbHQnICctLXdp dGgtdGNsJyAnLS13aXRoLXB5dGhvbicgJy0td2l0aC1wZXJsJyAnLS13aXRoLWluY2x1ZGVzPS93 L3psaWItMS4yLjgtd2luMzIteDg2XzY0L2luY2x1ZGU6L3cvb3BlbnNzbC0xLjAuMmUtd2luMzIt eDg2XzY0L2luY2x1ZGU6L3cvbGlieG1sMi0yLjkuMy13aW4zMi14ODZfNjQvaW5jbHVkZS9saWJ4 bWwyOi93L2xpYnhzbHQtMS4xLjI4LXdpbjMyLXg4Nl82NC9pbmNsdWRlJyAnLS13aXRoLWxpYnJh cmllcz0vdy96bGliLTEuMi44LXdpbjMyLXg4Nl82NC9saWI6L3cvb3BlbnNzbC0xLjAuMmUtd2lu MzIteDg2XzY0L2xpYjovdy9saWJ4bWwyLTIuOS4zLXdpbjMyLXg4Nl82NC9saWI6L3cvbGlieHNs dC0xLjEuMjgtd2luMzIteDg2XzY0L2xpYicgJ2hvc3RfYWxpYXM9eDg2XzY0LXc2NC1taW5ndzMy JyAnUEtHX0NPTkZJR19QQVRIPS9taW5ndzY0L2xpYi9wa2djb25maWc6L21pbmd3NjQvc2hhcmUv cGtnY29uZmlnJyIKYWNfY3NfdmVyc2lvbj0iXApQb3N0Z3JlU1FMIGNvbmZpZy5zdGF0dXMgMTFi ZXRhMwpjb25maWd1cmVkIGJ5IC93L1ItMy41Ll8vcG9zdGdyZXMvY29uZmlndXJlLCBnZW5lcmF0 ZWQgYnkgR05VIEF1dG9jb25mIDIuNjksCiAgd2l0aCBvcHRpb25zIFwiJGFjX2NzX2NvbmZpZ1wi CgpDb3B5cmlnaHQgKEMpIDIwMTIgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuClRoaXMg Y29uZmlnLnN0YXR1cyBzY3JpcHQgaXMgZnJlZSBzb2Z0d2FyZTsgdGhlIEZyZWUgU29mdHdhcmUg Rm91bmRhdGlvbgpnaXZlcyB1bmxpbWl0ZWQgcGVybWlzc2lvbiB0byBjb3B5LCBkaXN0cmlidXRl IGFuZCBtb2RpZnkgaXQuIgoKYWNfcHdkPScvdy9SLTMuNS5fL3Bvc3RncmVzL2J1aWxkJwpzcmNk aXI9Jy93L1ItMy41Ll8vcG9zdGdyZXMnCklOU1RBTEw9Jy91c3IvYmluL2luc3RhbGwgLWMnCk1L RElSX1A9Jy91c3IvYmluL21rZGlyIC1wJwpBV0s9J2dhd2snCnRlc3QgLW4gIiRBV0siIHx8IEFX Sz1hd2sKIyBUaGUgZGVmYXVsdCBsaXN0cyBhcHBseSBpZiB0aGUgdXNlciBkb2VzIG5vdCBzcGVj aWZ5IGFueSBmaWxlLgphY19uZWVkX2RlZmF1bHRzPToKd2hpbGUgdGVzdCAkIyAhPSAwCmRvCiAg Y2FzZSAkMSBpbgogIC0tKj0/KikKICAgIGFjX29wdGlvbj1gZXhwciAiWCQxIiA6ICdYXChbXj1d KlwpPSdgCiAgICBhY19vcHRhcmc9YGV4cHIgIlgkMSIgOiAnWFtePV0qPVwoLipcKSdgCiAgICBh Y19zaGlmdD06CiAgICA7OwogIC0tKj0pCiAgICBhY19vcHRpb249YGV4cHIgIlgkMSIgOiAnWFwo W149XSpcKT0nYAogICAgYWNfb3B0YXJnPQogICAgYWNfc2hpZnQ9OgogICAgOzsKICAqKQogICAg YWNfb3B0aW9uPSQxCiAgICBhY19vcHRhcmc9JDIKICAgIGFjX3NoaWZ0PXNoaWZ0CiAgICA7Owog IGVzYWMKCiAgY2FzZSAkYWNfb3B0aW9uIGluCiAgIyBIYW5kbGluZyBvZiB0aGUgb3B0aW9ucy4K ICAtcmVjaGVjayB8IC0tcmVjaGVjayB8IC0tcmVjaGVjIHwgLS1yZWNoZSB8IC0tcmVjaCB8IC0t cmVjIHwgLS1yZSB8IC0tcikKICAgIGFjX2NzX3JlY2hlY2s9OiA7OwogIC0tdmVyc2lvbiB8IC0t dmVyc2lvIHwgLS12ZXJzaSB8IC0tdmVycyB8IC0tdmVyIHwgLS12ZSB8IC0tdiB8IC1WICkKICAg ICRhc19lY2hvICIkYWNfY3NfdmVyc2lvbiI7IGV4aXQgOzsKICAtLWNvbmZpZyB8IC0tY29uZmkg fCAtLWNvbmYgfCAtLWNvbiB8IC0tY28gfCAtLWMgKQogICAgJGFzX2VjaG8gIiRhY19jc19jb25m aWciOyBleGl0IDs7CiAgLS1kZWJ1ZyB8IC0tZGVidSB8IC0tZGViIHwgLS1kZSB8IC0tZCB8IC1k ICkKICAgIGRlYnVnPTogOzsKICAtLWZpbGUgfCAtLWZpbCB8IC0tZmkgfCAtLWYgKQogICAgJGFj X3NoaWZ0CiAgICBjYXNlICRhY19vcHRhcmcgaW4KICAgICpcJyopIGFjX29wdGFyZz1gJGFzX2Vj aG8gIiRhY19vcHRhcmciIHwgc2VkICJzLycvJ1xcXFxcXFxcJycvZyJgIDs7CiAgICAnJykgYXNf Zm5fZXJyb3IgJD8gIm1pc3NpbmcgZmlsZSBhcmd1bWVudCIgOzsKICAgIGVzYWMKICAgIGFzX2Zu X2FwcGVuZCBDT05GSUdfRklMRVMgIiAnJGFjX29wdGFyZyciCiAgICBhY19uZWVkX2RlZmF1bHRz PWZhbHNlOzsKICAtLWhlYWRlciB8IC0taGVhZGUgfCAtLWhlYWQgfCAtLWhlYSApCiAgICAkYWNf c2hpZnQKICAgIGNhc2UgJGFjX29wdGFyZyBpbgogICAgKlwnKikgYWNfb3B0YXJnPWAkYXNfZWNo byAiJGFjX29wdGFyZyIgfCBzZWQgInMvJy8nXFxcXFxcXFwnJy9nImAgOzsKICAgIGVzYWMKICAg IGFzX2ZuX2FwcGVuZCBDT05GSUdfSEVBREVSUyAiICckYWNfb3B0YXJnJyIKICAgIGFjX25lZWRf ZGVmYXVsdHM9ZmFsc2U7OwogIC0taGUgfCAtLWgpCiAgICAjIENvbmZsaWN0IGJldHdlZW4gLS1o ZWxwIGFuZCAtLWhlYWRlcgogICAgYXNfZm5fZXJyb3IgJD8gImFtYmlndW91cyBvcHRpb246IFxg JDEnClRyeSBcYCQwIC0taGVscCcgZm9yIG1vcmUgaW5mb3JtYXRpb24uIjs7CiAgLS1oZWxwIHwg LS1oZWwgfCAtaCApCiAgICAkYXNfZWNobyAiJGFjX2NzX3VzYWdlIjsgZXhpdCA7OwogIC1xIHwg LXF1aWV0IHwgLS1xdWlldCB8IC0tcXVpZSB8IC0tcXVpIHwgLS1xdSB8IC0tcSBcCiAgfCAtc2ls ZW50IHwgLS1zaWxlbnQgfCAtLXNpbGVuIHwgLS1zaWxlIHwgLS1zaWwgfCAtLXNpIHwgLS1zKQog ICAgYWNfY3Nfc2lsZW50PTogOzsKCiAgIyBUaGlzIGlzIGFuIGVycm9yLgogIC0qKSBhc19mbl9l cnJvciAkPyAidW5yZWNvZ25pemVkIG9wdGlvbjogXGAkMScKVHJ5IFxgJDAgLS1oZWxwJyBmb3Ig bW9yZSBpbmZvcm1hdGlvbi4iIDs7CgogICopIGFzX2ZuX2FwcGVuZCBhY19jb25maWdfdGFyZ2V0 cyAiICQxIgogICAgIGFjX25lZWRfZGVmYXVsdHM9ZmFsc2UgOzsKCiAgZXNhYwogIHNoaWZ0CmRv bmUKCmFjX2NvbmZpZ3VyZV9leHRyYV9hcmdzPQoKaWYgJGFjX2NzX3NpbGVudDsgdGhlbgogIGV4 ZWMgNj4vZGV2L251bGwKICBhY19jb25maWd1cmVfZXh0cmFfYXJncz0iJGFjX2NvbmZpZ3VyZV9l eHRyYV9hcmdzIC0tc2lsZW50IgpmaQoKaWYgJGFjX2NzX3JlY2hlY2s7IHRoZW4KICBzZXQgWCAv YmluL3NoICcvdy9SLTMuNS5fL3Bvc3RncmVzL2NvbmZpZ3VyZScgICctLWhvc3Q9eDg2XzY0LXc2 NC1taW5ndzMyJyAnLS1wcmVmaXg9L3cvUi0zLjUuXy9wb3N0Z3Jlcy9idWlsZC9idWlsZCcgJ0NG TEFHUz0tTyAtZm5vLW9taXQtZnJhbWUtcG9pbnRlcicgJy0tZGlzYWJsZS1ycGF0aCcgJy0tZW5h YmxlLWRlcGVuZCcgJy0tZW5hYmxlLWNhc3NlcnQnICctLWVuYWJsZS1kZWJ1ZycgJy0td2l0aC1p Y3UnICdJQ1VfQ0ZMQUdTPS1JL3cvaWN1LTYxLjEvaWN1NGMvZGlzdC9pbmNsdWRlJyAnSUNVX0xJ QlM9LUwvdy9pY3UtNjEuMS9pY3U0Yy9kaXN0L2xpYiAtbGljdWkxOG4gLWxpY3V1YyAtbGljdWRh dGEnICctLXdpdGgtb3BlbnNzbCcgJy0td2l0aC1saWJ4bWwnICctLXdpdGgtbGlieHNsdCcgJy0t d2l0aC10Y2wnICctLXdpdGgtcHl0aG9uJyAnLS13aXRoLXBlcmwnICctLXdpdGgtaW5jbHVkZXM9 L3cvemxpYi0xLjIuOC13aW4zMi14ODZfNjQvaW5jbHVkZTovdy9vcGVuc3NsLTEuMC4yZS13aW4z Mi14ODZfNjQvaW5jbHVkZTovdy9saWJ4bWwyLTIuOS4zLXdpbjMyLXg4Nl82NC9pbmNsdWRlL2xp YnhtbDI6L3cvbGlieHNsdC0xLjEuMjgtd2luMzIteDg2XzY0L2luY2x1ZGUnICctLXdpdGgtbGli cmFyaWVzPS93L3psaWItMS4yLjgtd2luMzIteDg2XzY0L2xpYjovdy9vcGVuc3NsLTEuMC4yZS13 aW4zMi14ODZfNjQvbGliOi93L2xpYnhtbDItMi45LjMtd2luMzIteDg2XzY0L2xpYjovdy9saWJ4 c2x0LTEuMS4yOC13aW4zMi14ODZfNjQvbGliJyAnaG9zdF9hbGlhcz14ODZfNjQtdzY0LW1pbmd3 MzInICdQS0dfQ09ORklHX1BBVEg9L21pbmd3NjQvbGliL3BrZ2NvbmZpZzovbWluZ3c2NC9zaGFy ZS9wa2djb25maWcnICRhY19jb25maWd1cmVfZXh0cmFfYXJncyAtLW5vLWNyZWF0ZSAtLW5vLXJl Y3Vyc2lvbgogIHNoaWZ0CiAgJGFzX2VjaG8gInJ1bm5pbmcgQ09ORklHX1NIRUxMPS9iaW4vc2gg JCoiID4mNgogIENPTkZJR19TSEVMTD0nL2Jpbi9zaCcKICBleHBvcnQgQ09ORklHX1NIRUxMCiAg ZXhlYyAiJEAiCmZpCgpleGVjIDU+PmNvbmZpZy5sb2cKewogIGVjaG8KICBzZWQgJ2g7cy8uLy0v ZztzL14uLi4vIyMgLztzLy4uLiQvICMjLztwO3g7cDt4JyA8PF9BU0JPWAojIyBSdW5uaW5nICRh c19tZS4gIyMKX0FTQk9YCiAgJGFzX2VjaG8gIiRhY19sb2ciCn0gPiY1CgoKIyBIYW5kbGluZyBv ZiBhcmd1bWVudHMuCmZvciBhY19jb25maWdfdGFyZ2V0IGluICRhY19jb25maWdfdGFyZ2V0cwpk bwogIGNhc2UgJGFjX2NvbmZpZ190YXJnZXQgaW4KICAgICJzcmMvYmFja2VuZC9wb3J0L3Rhcy5z IikgQ09ORklHX0xJTktTPSIkQ09ORklHX0xJTktTIHNyYy9iYWNrZW5kL3BvcnQvdGFzLnM6c3Jj L2JhY2tlbmQvcG9ydC90YXMvJHt0YXNfZmlsZX0iIDs7CiAgICAiR05VbWFrZWZpbGUiKSBDT05G SUdfRklMRVM9IiRDT05GSUdfRklMRVMgR05VbWFrZWZpbGUiIDs7CiAgICAic3JjL01ha2VmaWxl Lmdsb2JhbCIpIENPTkZJR19GSUxFUz0iJENPTkZJR19GSUxFUyBzcmMvTWFrZWZpbGUuZ2xvYmFs IiA7OwogICAgInNyYy9iYWNrZW5kL3BvcnQvZHlubG9hZGVyLmMiKSBDT05GSUdfTElOS1M9IiRD T05GSUdfTElOS1Mgc3JjL2JhY2tlbmQvcG9ydC9keW5sb2FkZXIuYzpzcmMvYmFja2VuZC9wb3J0 L2R5bmxvYWRlci8ke3RlbXBsYXRlfS5jIiA7OwogICAgInNyYy9iYWNrZW5kL3BvcnQvcGdfc2Vt YS5jIikgQ09ORklHX0xJTktTPSIkQ09ORklHX0xJTktTIHNyYy9iYWNrZW5kL3BvcnQvcGdfc2Vt YS5jOiR7U0VNQV9JTVBMRU1FTlRBVElPTn0iIDs7CiAgICAic3JjL2JhY2tlbmQvcG9ydC9wZ19z aG1lbS5jIikgQ09ORklHX0xJTktTPSIkQ09ORklHX0xJTktTIHNyYy9iYWNrZW5kL3BvcnQvcGdf c2htZW0uYzoke1NITUVNX0lNUExFTUVOVEFUSU9OfSIgOzsKICAgICJzcmMvaW5jbHVkZS9keW5s b2FkZXIuaCIpIENPTkZJR19MSU5LUz0iJENPTkZJR19MSU5LUyBzcmMvaW5jbHVkZS9keW5sb2Fk ZXIuaDpzcmMvYmFja2VuZC9wb3J0L2R5bmxvYWRlci8ke3RlbXBsYXRlfS5oIiA7OwogICAgInNy Yy9pbmNsdWRlL3BnX2NvbmZpZ19vcy5oIikgQ09ORklHX0xJTktTPSIkQ09ORklHX0xJTktTIHNy Yy9pbmNsdWRlL3BnX2NvbmZpZ19vcy5oOnNyYy9pbmNsdWRlL3BvcnQvJHt0ZW1wbGF0ZX0uaCIg OzsKICAgICJzcmMvTWFrZWZpbGUucG9ydCIpIENPTkZJR19MSU5LUz0iJENPTkZJR19MSU5LUyBz cmMvTWFrZWZpbGUucG9ydDpzcmMvbWFrZWZpbGVzL01ha2VmaWxlLiR7dGVtcGxhdGV9IiA7Owog ICAgImNoZWNrX3dpbjMyX3N5bWxpbmtzIikgQ09ORklHX0NPTU1BTkRTPSIkQ09ORklHX0NPTU1B TkRTIGNoZWNrX3dpbjMyX3N5bWxpbmtzIiA7OwogICAgInNyYy9pbmNsdWRlL3BnX2NvbmZpZy5o IikgQ09ORklHX0hFQURFUlM9IiRDT05GSUdfSEVBREVSUyBzcmMvaW5jbHVkZS9wZ19jb25maWcu aCIgOzsKICAgICJzcmMvaW5jbHVkZS9wZ19jb25maWdfZXh0LmgiKSBDT05GSUdfSEVBREVSUz0i JENPTkZJR19IRUFERVJTIHNyYy9pbmNsdWRlL3BnX2NvbmZpZ19leHQuaCIgOzsKICAgICJzcmMv aW50ZXJmYWNlcy9lY3BnL2luY2x1ZGUvZWNwZ19jb25maWcuaCIpIENPTkZJR19IRUFERVJTPSIk Q09ORklHX0hFQURFUlMgc3JjL2ludGVyZmFjZXMvZWNwZy9pbmNsdWRlL2VjcGdfY29uZmlnLmgi IDs7CgogICopIGFzX2ZuX2Vycm9yICQ/ICJpbnZhbGlkIGFyZ3VtZW50OiBcYCRhY19jb25maWdf dGFyZ2V0JyIgIiRMSU5FTk8iIDU7OwogIGVzYWMKZG9uZQoKCiMgSWYgdGhlIHVzZXIgZGlkIG5v dCB1c2UgdGhlIGFyZ3VtZW50cyB0byBzcGVjaWZ5IHRoZSBpdGVtcyB0byBpbnN0YW50aWF0ZSwK IyB0aGVuIHRoZSBlbnZ2YXIgaW50ZXJmYWNlIGlzIHVzZWQuICBTZXQgb25seSB0aG9zZSB0aGF0 IGFyZSBub3QuCiMgV2UgdXNlIHRoZSBsb25nIGZvcm0gZm9yIHRoZSBkZWZhdWx0IGFzc2lnbm1l bnQgYmVjYXVzZSBvZiBhbiBleHRyZW1lbHkKIyBiaXphcnJlIGJ1ZyBvbiBTdW5PUyA0LjEuMy4K aWYgJGFjX25lZWRfZGVmYXVsdHM7IHRoZW4KICB0ZXN0ICIke0NPTkZJR19GSUxFUytzZXR9IiA9 IHNldCB8fCBDT05GSUdfRklMRVM9JGNvbmZpZ19maWxlcwogIHRlc3QgIiR7Q09ORklHX0hFQURF UlMrc2V0fSIgPSBzZXQgfHwgQ09ORklHX0hFQURFUlM9JGNvbmZpZ19oZWFkZXJzCiAgdGVzdCAi JHtDT05GSUdfTElOS1Mrc2V0fSIgPSBzZXQgfHwgQ09ORklHX0xJTktTPSRjb25maWdfbGlua3MK ICB0ZXN0ICIke0NPTkZJR19DT01NQU5EUytzZXR9IiA9IHNldCB8fCBDT05GSUdfQ09NTUFORFM9 JGNvbmZpZ19jb21tYW5kcwpmaQoKIyBIYXZlIGEgdGVtcG9yYXJ5IGRpcmVjdG9yeSBmb3IgY29u dmVuaWVuY2UuICBNYWtlIGl0IGluIHRoZSBidWlsZCB0cmVlCiMgc2ltcGx5IGJlY2F1c2UgdGhl cmUgaXMgbm8gcmVhc29uIGFnYWluc3QgaGF2aW5nIGl0IGhlcmUsIGFuZCBpbiBhZGRpdGlvbiwK IyBjcmVhdGluZyBhbmQgbW92aW5nIGZpbGVzIGZyb20gL3RtcCBjYW4gc29tZXRpbWVzIGNhdXNl IHByb2JsZW1zLgojIEhvb2sgZm9yIGl0cyByZW1vdmFsIHVubGVzcyBkZWJ1Z2dpbmcuCiMgTm90 ZSB0aGF0IHRoZXJlIGlzIGEgc21hbGwgd2luZG93IGluIHdoaWNoIHRoZSBkaXJlY3Rvcnkgd2ls bCBub3QgYmUgY2xlYW5lZDoKIyBhZnRlciBpdHMgY3JlYXRpb24gYnV0IGJlZm9yZSBpdHMgbmFt ZSBoYXMgYmVlbiBhc3NpZ25lZCB0byBgJHRtcCcuCiRkZWJ1ZyB8fAp7CiAgdG1wPSBhY190bXA9 CiAgdHJhcCAnZXhpdF9zdGF0dXM9JD8KICA6ICIke2FjX3RtcDo9JHRtcH0iCiAgeyB0ZXN0ICEg LWQgIiRhY190bXAiIHx8IHJtIC1mciAiJGFjX3RtcCI7IH0gJiYgZXhpdCAkZXhpdF9zdGF0dXMK JyAwCiAgdHJhcCAnYXNfZm5fZXhpdCAxJyAxIDIgMTMgMTUKfQojIENyZWF0ZSBhIChzZWN1cmUp IHRtcCBkaXJlY3RvcnkgZm9yIHRtcCBmaWxlcy4KCnsKICB0bXA9YCh1bWFzayAwNzcgJiYgbWt0 ZW1wIC1kICIuL2NvbmZYWFhYWFgiKSAyPi9kZXYvbnVsbGAgJiYKICB0ZXN0IC1kICIkdG1wIgp9 ICB8fAp7CiAgdG1wPS4vY29uZiQkLSRSQU5ET00KICAodW1hc2sgMDc3ICYmIG1rZGlyICIkdG1w IikKfSB8fCBhc19mbl9lcnJvciAkPyAiY2Fubm90IGNyZWF0ZSBhIHRlbXBvcmFyeSBkaXJlY3Rv cnkgaW4gLiIgIiRMSU5FTk8iIDUKYWNfdG1wPSR0bXAKCiMgU2V0IHVwIHRoZSBzY3JpcHRzIGZv ciBDT05GSUdfRklMRVMgc2VjdGlvbi4KIyBObyBuZWVkIHRvIGdlbmVyYXRlIHRoZW0gaWYgdGhl cmUgYXJlIG5vIENPTkZJR19GSUxFUy4KIyBUaGlzIGhhcHBlbnMgZm9yIGluc3RhbmNlIHdpdGgg YC4vY29uZmlnLnN0YXR1cyBjb25maWcuaCcuCmlmIHRlc3QgLW4gIiRDT05GSUdfRklMRVMiOyB0 aGVuCgoKYWNfY3I9YGVjaG8gWCB8IHRyIFggJ1wwMTUnYAojIE9uIGN5Z3dpbiwgYmFzaCBjYW4g ZWF0IFxyIGluc2lkZSBgYCBpZiB0aGUgdXNlciByZXF1ZXN0ZWQgaWduY3IuCiMgQnV0IHdlIGtu b3cgb2Ygbm8gb3RoZXIgc2hlbGwgd2hlcmUgYWNfY3Igd291bGQgYmUgZW1wdHkgYXQgdGhpcwoj IHBvaW50LCBzbyB3ZSBjYW4gdXNlIGEgYmFzaGlzbSBhcyBhIGZhbGxiYWNrLgppZiB0ZXN0ICJ4 JGFjX2NyIiA9IHg7IHRoZW4KICBldmFsIGFjX2NyPVwkXCdcXHJcJwpmaQphY19jc19hd2tfY3I9 YCRBV0sgJ0JFR0lOIHsgcHJpbnQgImFccmIiIH0nIDwvZGV2L251bGwgMj4vZGV2L251bGxgCmlm IHRlc3QgIiRhY19jc19hd2tfY3IiID0gImEke2FjX2NyfWIiOyB0aGVuCiAgYWNfY3NfYXdrX2Ny PSdcXHInCmVsc2UKICBhY19jc19hd2tfY3I9JGFjX2NyCmZpCgplY2hvICdCRUdJTiB7JyA+IiRh Y190bXAvc3ViczEuYXdrIiAmJgpjYXQgPj4iJGFjX3RtcC9zdWJzMS5hd2siIDw8XF9BQ0FXSyAm JgpTWyJMVExJQk9CSlMiXT0iICR7TElCT0JKRElSfWNyeXB0JFUubG8gJHtMSUJPQkpESVJ9Zmxz JFUubG8gJHtMSUJPQkpESVJ9Z2V0cnVzYWdlJFUubG8gJHtMSUJPQkpESVJ9aW5ldF9hdG9uJFUu bG8gJHtMSUJPQkpESVJ9bWtkdGVtcCRVLmxvICR7TElCT0JKRElSfXJhbmRvbSRVLmxvICJcCiIk e0xJQk9CSkRJUn1zcmFuZG9tJFUubG8gJHtMSUJPQkpESVJ9c3RybGNhdCRVLmxvICR7TElCT0JK RElSfXN0cmxjcHkkVS5sbyAke0xJQk9CSkRJUn1nZXRhZGRyaW5mbyRVLmxvICR7TElCT0JKRElS fWdldG9wdCRVLmxvICR7TElCT0JKRElSfWdldG9wdF9sIlwKIm9uZyRVLmxvICR7TElCT0JKRElS fWRpcm1vZCRVLmxvICR7TElCT0JKRElSfWtpbGwkVS5sbyAke0xJQk9CSkRJUn1vcGVuJFUubG8g JHtMSUJPQkpESVJ9c3lzdGVtJFUubG8gJHtMSUJPQkpESVJ9d2luMzJlbnYkVS5sbyAke0xJQk9C SkRJUn13aW4zMmVycm8iXAoiciRVLmxvICR7TElCT0JKRElSfXdpbjMyc2VjdXJpdHkkVS5sbyAk e0xJQk9CSkRJUn13aW4zMnNldGxvY2FsZSRVLmxvICR7TElCT0JKRElSfXNucHJpbnRmJFUubG8i ClNbInZwYXRoX2J1aWxkIl09InllcyIKU1siUEdfVkVSU0lPTl9OVU0iXT0iMTEwMDAwIgpTWyJQ Uk9WRSJdPSIiClNbIkZPUCJdPSIiClNbIlhTTFRQUk9DIl09Ii91c3IvYmluL3hzbHRwcm9jIgpT WyJEQlRPRVBVQiJdPSIiClNbImhhdmVfZG9jYm9vayJdPSJ5ZXMiClNbIlhNTExJTlQiXT0iL3Vz ci9iaW4veG1sbGludCIKU1siVENMX1NITElCX0xEX0xJQlMiXT0ibmV0YXBpMzIubGliIGtlcm5l bDMyLmxpYiB1c2VyMzIubGliIGFkdmFwaTMyLmxpYiB1c2VyZW52LmxpYiB3czJfMzIubGliIHVj cnQubGliIgpTWyJUQ0xfU0hBUkVEX0JVSUxEIl09IjEiClNbIlRDTF9MSUJfU1BFQyJdPSJDOlxc QWN0aXZlVGNsXFxsaWJcXHRjbDg2dC5saWIiClNbIlRDTF9MSUJTIl09Im5ldGFwaTMyLmxpYiBr ZXJuZWwzMi5saWIgdXNlcjMyLmxpYiBhZHZhcGkzMi5saWIgdXNlcmVudi5saWIgd3MyXzMyLmxp YiB1Y3J0LmxpYiIKU1siVENMX0lOQ0xVREVfU1BFQyJdPSItSUM6XFxBY3RpdmVUY2xcXGluY2x1 ZGUiClNbIlRDTF9DT05GSUdfU0giXT0iQzovQWN0aXZlVGNsL2xpYi90Y2xDb25maWcuc2giClNb IlRDTFNIIl09Ii9jL0FjdGl2ZVRjbC9iaW4vdGNsc2giClNbIlhHRVRURVhUIl09IiIKU1siTVNH TUVSR0UiXT0iIgpTWyJNU0dGTVRfRkxBR1MiXT0iIgpTWyJNU0dGTVQiXT0iIgpTWyJQR19DUkMz MkNfT0JKUyJdPSJwZ19jcmMzMmNfc3NlNDIubyBwZ19jcmMzMmNfc2I4Lm8gcGdfY3JjMzJjX3Nz ZTQyX2Nob29zZS5vIgpTWyJDRkxBR1NfQVJNVjhfQ1JDMzJDIl09IiIKU1siQ0ZMQUdTX1NTRTQy Il09Ii1tc3NlNC4yIgpTWyJoYXZlX3dpbjMyX2RiZ2hlbHAiXT0ieWVzIgpTWyJIQVZFX0lQVjYi XT0ieWVzIgpTWyJMSUJPQkpTIl09IiAke0xJQk9CSkRJUn1jcnlwdCRVLm8gJHtMSUJPQkpESVJ9 ZmxzJFUubyAke0xJQk9CSkRJUn1nZXRydXNhZ2UkVS5vICR7TElCT0JKRElSfWluZXRfYXRvbiRV Lm8gJHtMSUJPQkpESVJ9bWtkdGVtcCRVLm8gJHtMSUJPQkpESVJ9cmFuZG9tJFUubyAke0xJQk8i XAoiQkpESVJ9c3JhbmRvbSRVLm8gJHtMSUJPQkpESVJ9c3RybGNhdCRVLm8gJHtMSUJPQkpESVJ9 c3RybGNweSRVLm8gJHtMSUJPQkpESVJ9Z2V0YWRkcmluZm8kVS5vICR7TElCT0JKRElSfWdldG9w dCRVLm8gJHtMSUJPQkpESVJ9Z2V0b3B0X2xvbmckVS5vICR7TCJcCiJJQk9CSkRJUn1kaXJtb2Qk VS5vICR7TElCT0JKRElSfWtpbGwkVS5vICR7TElCT0JKRElSfW9wZW4kVS5vICR7TElCT0JKRElS fXN5c3RlbSRVLm8gJHtMSUJPQkpESVJ9d2luMzJlbnYkVS5vICR7TElCT0JKRElSfXdpbjMyZXJy b3IkVS5vICR7TElCT0JKRElSIlwKIn13aW4zMnNlY3VyaXR5JFUubyAke0xJQk9CSkRJUn13aW4z MnNldGxvY2FsZSRVLm8gJHtMSUJPQkpESVJ9c25wcmludGYkVS5vIgpTWyJVVUlEX0xJQlMiXT0i IgpTWyJMREFQX0xJQlNfQkUiXT0iIgpTWyJMREFQX0xJQlNfRkUiXT0iIgpTWyJQVEhSRUFEX0NG TEFHUyJdPSIiClNbIlBUSFJFQURfTElCUyJdPSIiClNbIlBUSFJFQURfQ0MiXT0iIgpTWyJheF9w dGhyZWFkX2NvbmZpZyJdPSIiClNbIlpJQyJdPSIiClNbInB5dGhvbl9hZGRpdGlvbmFsX2xpYnMi XT0iIgpTWyJweXRob25fbGlic3BlYyJdPSItTGM6L1dpbmRvd3MvU3lzdGVtMzIgLWxweXRob24z NiIKU1sicHl0aG9uX2xpYmRpciJdPSJjOi9XaW5kb3dzL1N5c3RlbTMyIgpTWyJweXRob25faW5j bHVkZXNwZWMiXT0iLUlDOi9Qcm9ncmFtRGF0YS9BbmFjb25kYTMvaW5jbHVkZSIKU1sicHl0aG9u X3ZlcnNpb24iXT0iMy42IgpTWyJweXRob25fbWFqb3J2ZXJzaW9uIl09IjMiClNbIlBZVEhPTiJd PSIvYy9Qcm9ncmFtRGF0YS9BbmFjb25kYTMvcHl0aG9uIgpTWyJwZXJsX2VtYmVkX2xkZmxhZ3Mi XT0iLUxDOi9TVFJBV0J+MS9wZXJsL2xpYi9DT1JFIC1scGVybDUyOCIKU1sicGVybF9lbWJlZF9j Y2ZsYWdzIl09Ii1EV0lOMzIgLURXSU42NCAtRENPTlNFUlZBVElWRSAtRFBFUkxfVEVYVE1PREVf U0NSSVBUUyAtRFBFUkxfSU1QTElDSVRfQ09OVEVYVCAtRFBFUkxfSU1QTElDSVRfU1lTIC1EVVNF X1BFUkxJTyAiClNbInBlcmxfdXNlc2hycGxpYiJdPSJ0cnVlIgpTWyJwZXJsX3ByaXZsaWJleHAi XT0iQzovU1RSQVdCfjEvcGVybC9saWIiClNbInBlcmxfYXJjaGxpYmV4cCJdPSJDOi9TVFJBV0J+ MS9wZXJsL2xpYiIKU1siUEVSTCJdPSIvYy9TdHJhd2JlcnJ5L3BlcmwvYmluL3BlcmwiClNbIkZM RVhGTEFHUyJdPSIiClNbIkZMRVgiXT0iL3Vzci9iaW4vZmxleCIKU1siQklTT05GTEFHUyJdPSIg LVduby1kZXByZWNhdGVkIgpTWyJCSVNPTiJdPSIvdXNyL2Jpbi9iaXNvbiIKU1siTUtESVJfUCJd PSIvdXNyL2Jpbi9ta2RpciAtcCIKU1siTE5fUyJdPSJjcCAtcFIiClNbIlRBUiJdPSIvdXNyL2Jp bi90YXIiClNbImluc3RhbGxfYmluIl09Ii91c3IvYmluL2luc3RhbGwgLWMiClNbIklOU1RBTExf REFUQSJdPSIke0lOU1RBTEx9IC1tIDY0NCIKU1siSU5TVEFMTF9TQ1JJUFQiXT0iJHtJTlNUQUxM fSIKU1siSU5TVEFMTF9QUk9HUkFNIl09IiR7SU5TVEFMTH0iClNbIldJTkRSRVMiXT0id2luZHJl cyIKU1siRExMV1JBUCJdPSJkbGx3cmFwIgpTWyJETExUT09MIl09ImRsbHRvb2wiClNbIkFSIl09 ImFyIgpTWyJTVFJJUF9TSEFSRURfTElCIl09InN0cmlwIC0tc3RyaXAtdW5uZWVkZWQiClNbIlNU UklQX1NUQVRJQ19MSUIiXT0ic3RyaXAgLXgiClNbIlNUUklQIl09InN0cmlwIgpTWyJSQU5MSUIi XT0icmFubGliIgpTWyJ3aXRoX2dudV9sZCJdPSJ5ZXMiClNbIkxEIl09IkM6L21zeXM2NC9taW5n dzY0L3g4Nl82NC13NjQtbWluZ3czMi9iaW4vbGQuZXhlIgpTWyJMREZMQUdTX1NMIl09IiIKU1si TERGTEFHU19FWCJdPSIiClNbIkVMRl9TWVMiXT0iIgpTWyJFR1JFUCJdPSIvdXNyL2Jpbi9ncmVw IC1FIgpTWyJHUkVQIl09Ii91c3IvYmluL2dyZXAiClNbIndpdGhfemxpYiJdPSJ5ZXMiClNbIndp dGhfc3lzdGVtX3R6ZGF0YSJdPSIiClNbIndpdGhfbGlieHNsdCJdPSJ5ZXMiClNbIndpdGhfbGli eG1sIl09InllcyIKU1siWE1MMl9DT05GSUciXT0iIgpTWyJVVUlEX0VYVFJBX09CSlMiXT0iIgpT WyJ3aXRoX3V1aWQiXT0ibm8iClNbIndpdGhfc3lzdGVtZCJdPSJubyIKU1sid2l0aF9zZWxpbnV4 Il09Im5vIgpTWyJ3aXRoX29wZW5zc2wiXT0ieWVzIgpTWyJ3aXRoX2xkYXAiXT0ibm8iClNbIndp dGhfa3JiX3Nydm5hbSJdPSJwb3N0Z3JlcyIKU1sia3JiX3NydnRhYiJdPSIiClNbIndpdGhfZ3Nz YXBpIl09Im5vIgpTWyJ3aXRoX3B5dGhvbiJdPSJ5ZXMiClNbIndpdGhfcGVybCJdPSJ5ZXMiClNb IndpdGhfdGNsIl09InllcyIKU1siSUNVX0xJQlMiXT0iLUwvdy9pY3UtNjEuMS9pY3U0Yy9kaXN0 L2xpYiAtbGljdWkxOG4gLWxpY3V1YyAtbGljdWRhdGEiClNbIklDVV9DRkxBR1MiXT0iLUkvdy9p Y3UtNjEuMS9pY3U0Yy9kaXN0L2luY2x1ZGUiClNbIlBLR19DT05GSUdfTElCRElSIl09IiIKU1si UEtHX0NPTkZJR19QQVRIIl09Ii9taW5ndzY0L2xpYi9wa2djb25maWc6L21pbmd3NjQvc2hhcmUv cGtnY29uZmlnIgpTWyJQS0dfQ09ORklHIl09Ii9taW5ndzY0L2Jpbi94ODZfNjQtdzY0LW1pbmd3 MzItcGtnLWNvbmZpZyIKU1sid2l0aF9pY3UiXT0ieWVzIgpTWyJlbmFibGVfdGhyZWFkX3NhZmV0 eSJdPSJ5ZXMiClNbIklOQ0xVREVTIl09IiAtSS93L3psaWItMS4yLjgtd2luMzIteDg2XzY0L2lu Y2x1ZGUgLUkvdy9vcGVuc3NsLTEuMC4yZS13aW4zMi14ODZfNjQvaW5jbHVkZSAtSS93L2xpYnht bDItMi45LjMtd2luMzIteDg2XzY0L2luY2x1ZGUvbGlieG1sMiAtSS93L2xpYnhzbHQtMS4xLjI4 LXciXAoiaW4zMi14ODZfNjQvaW5jbHVkZSIKU1siYXV0b2RlcGVuZCJdPSJ5ZXMiClNbIlRBUyJd PSIiClNbIkdDQyJdPSJ5ZXMiClNbIkNQUCJdPSJ4ODZfNjQtdzY0LW1pbmd3MzItZ2NjIC1FIgpT WyJCSVRDT0RFX0NYWEZMQUdTIl09IiAtTzIgIgpTWyJCSVRDT0RFX0NGTEFHUyJdPSIgLU8yICIK U1siQ0ZMQUdTX1ZFQ1RPUiJdPSIgLWZ1bnJvbGwtbG9vcHMgLWZ0cmVlLXZlY3Rvcml6ZSIKU1si TExWTV9CSU5QQVRIIl09IiIKU1siTExWTV9DWFhGTEFHUyJdPSIiClNbIkxMVk1fQ0ZMQUdTIl09 IiIKU1siTExWTV9DUFBGTEFHUyJdPSIiClNbIkxMVk1fTElCUyJdPSIiClNbIkNMQU5HIl09IiIK U1siTExWTV9DT05GSUciXT0iIgpTWyJBV0siXT0iZ2F3ayIKU1sid2l0aF9sbHZtIl09Im5vIgpT WyJTVU5fU1RVRElPX0NDIl09Im5vIgpTWyJhY19jdF9DWFgiXT0iIgpTWyJDWFhGTEFHUyJdPSIt V2FsbCAtV3BvaW50ZXItYXJpdGggLVdlbmRpZi1sYWJlbHMgLVdtaXNzaW5nLWZvcm1hdC1hdHRy aWJ1dGUgLVdmb3JtYXQtc2VjdXJpdHkgLWZuby1zdHJpY3QtYWxpYXNpbmcgLWZ3cmFwdiAtZyAt TzIiClNbIkNYWCJdPSJ4ODZfNjQtdzY0LW1pbmd3MzItZysrIgpTWyJPQkpFWFQiXT0ibyIKU1si RVhFRVhUIl09Ii5leGUiClNbImFjX2N0X0NDIl09IiIKU1siQ1BQRkxBR1MiXT0iIC1JL3cvUi0z LjUuXy9wb3N0Z3Jlcy9zcmMvaW5jbHVkZS9wb3J0L3dpbjMyIC1ERVhFQ19CQUNLRU5EICAtSS93 L3psaWItMS4yLjgtd2luMzIteDg2XzY0L2luY2x1ZGUgLUkvdy9vcGVuc3NsLTEuMC4yZS13aW4z Mi14ODZfNjQvaW5jbHVkZSAtSS93L2xpYiJcCiJ4bWwyLTIuOS4zLXdpbjMyLXg4Nl82NC9pbmNs dWRlL2xpYnhtbDIgLUkvdy9saWJ4c2x0LTEuMS4yOC13aW4zMi14ODZfNjQvaW5jbHVkZSIKU1si TERGTEFHUyJdPSIgLVdsLC0tYWxsb3ctbXVsdGlwbGUtZGVmaW5pdGlvbiAtV2wsLS1kaXNhYmxl LWF1dG8taW1wb3J0ICAtTC93L3psaWItMS4yLjgtd2luMzIteDg2XzY0L2xpYiAtTC93L29wZW5z c2wtMS4wLjJlLXdpbjMyLXg4Nl82NC9saWIgLUwvdy9saWJ4bWwyLTIuOS4zIlwKIi13aW4zMi14 ODZfNjQvbGliIC1ML3cvbGlieHNsdC0xLjEuMjgtd2luMzIteDg2XzY0L2xpYiAtV2wsLS1hcy1u ZWVkZWQiClNbIkNGTEFHUyJdPSItV2FsbCAtV21pc3NpbmctcHJvdG90eXBlcyAtV3BvaW50ZXIt YXJpdGggLVdkZWNsYXJhdGlvbi1hZnRlci1zdGF0ZW1lbnQgLVdlbmRpZi1sYWJlbHMgLVdtaXNz aW5nLWZvcm1hdC1hdHRyaWJ1dGUgLVdmb3JtYXQtc2VjdXJpdHkgLWZuby1zdHJpY3QtYWxpIlwK ImFzaW5nIC1md3JhcHYgLWZleGNlc3MtcHJlY2lzaW9uPXN0YW5kYXJkIC1Xbm8tZm9ybWF0LXRy dW5jYXRpb24gLVduby1zdHJpbmdvcC10cnVuY2F0aW9uIC1nIC1PIC1mbm8tb21pdC1mcmFtZS1w b2ludGVyIgpTWyJDQyJdPSJ4ODZfNjQtdzY0LW1pbmd3MzItZ2NjIgpTWyJlbmFibGVfdGFwX3Rl c3RzIl09Im5vIgpTWyJlbmFibGVfZHRyYWNlIl09Im5vIgpTWyJEVFJBQ0VGTEFHUyJdPSIiClNb IkRUUkFDRSJdPSIiClNbImVuYWJsZV9jb3ZlcmFnZSJdPSJubyIKU1siR0VOSFRNTCJdPSIiClNb IkxDT1YiXT0iIgpTWyJHQ09WIl09IiIKU1siZW5hYmxlX2RlYnVnIl09InllcyIKU1siZW5hYmxl X3N0cm9uZ19yYW5kb20iXT0ieWVzIgpTWyJlbmFibGVfcnBhdGgiXT0ibm8iClNbImRlZmF1bHRf cG9ydCJdPSI1NDMyIgpTWyJXQU5URURfTEFOR1VBR0VTIl09IiIKU1siZW5hYmxlX25scyJdPSJu byIKU1siUE9SVE5BTUUiXT0id2luMzIiClNbImhvc3Rfb3MiXT0ibWluZ3czMiIKU1siaG9zdF92 ZW5kb3IiXT0idzY0IgpTWyJob3N0X2NwdSJdPSJ4ODZfNjQiClNbImhvc3QiXT0ieDg2XzY0LXc2 NC1taW5ndzMyIgpTWyJidWlsZF9vcyJdPSJtaW5ndzMyIgpTWyJidWlsZF92ZW5kb3IiXT0idzY0 IgpTWyJidWlsZF9jcHUiXT0ieDg2XzY0IgpTWyJidWlsZCJdPSJ4ODZfNjQtdzY0LW1pbmd3MzIi ClNbIlBHX01BSk9SVkVSU0lPTiJdPSIxMSIKU1siY29uZmlndXJlX2FyZ3MiXT0iICctLWhvc3Q9 eDg2XzY0LXc2NC1taW5ndzMyJyAnLS1wcmVmaXg9L3cvUi0zLjUuXy9wb3N0Z3Jlcy9idWlsZC9i dWlsZCcgJ0NGTEFHUz0tTyAtZm5vLW9taXQtZnJhbWUtcG9pbnRlcicgJy0tZGlzYWJsZS1ycGF0 aCcgJy0tZW5hYmxlLWRlcGVuZCcgJy0tZSJcCiJuYWJsZS1jYXNzZXJ0JyAnLS1lbmFibGUtZGVi dWcnICctLXdpdGgtaWN1JyAnSUNVX0NGTEFHUz0tSS93L2ljdS02MS4xL2ljdTRjL2Rpc3QvaW5j bHVkZScgJ0lDVV9MSUJTPS1ML3cvaWN1LTYxLjEvaWN1NGMvZGlzdC9saWIgLWxpY3VpMThuIC1s aWN1dWMgIlwKIi1saWN1ZGF0YScgJy0td2l0aC1vcGVuc3NsJyAnLS13aXRoLWxpYnhtbCcgJy0t d2l0aC1saWJ4c2x0JyAnLS13aXRoLXRjbCcgJy0td2l0aC1weXRob24nICctLXdpdGgtcGVybCcg Jy0td2l0aC1pbmNsdWRlcz0vdy96bGliLTEuMi44LXdpbjMyLXg4Nl82NC8iXAoiaW5jbHVkZTov dy9vcGVuc3NsLTEuMC4yZS13aW4zMi14ODZfNjQvaW5jbHVkZTovdy9saWJ4bWwyLTIuOS4zLXdp bjMyLXg4Nl82NC9pbmNsdWRlL2xpYnhtbDI6L3cvbGlieHNsdC0xLjEuMjgtd2luMzIteDg2XzY0 L2luY2x1ZGUnICctLXdpdGgtbGlicmFyaSJcCiJlcz0vdy96bGliLTEuMi44LXdpbjMyLXg4Nl82 NC9saWI6L3cvb3BlbnNzbC0xLjAuMmUtd2luMzIteDg2XzY0L2xpYjovdy9saWJ4bWwyLTIuOS4z LXdpbjMyLXg4Nl82NC9saWI6L3cvbGlieHNsdC0xLjEuMjgtd2luMzIteDg2XzY0L2xpYicgJ2hv c3RfYWxpIlwKImFzPXg4Nl82NC13NjQtbWluZ3czMicgJ1BLR19DT05GSUdfUEFUSD0vbWluZ3c2 NC9saWIvcGtnY29uZmlnOi9taW5ndzY0L3NoYXJlL3BrZ2NvbmZpZyciClNbInRhcmdldF9hbGlh cyJdPSIiClNbImhvc3RfYWxpYXMiXT0ieDg2XzY0LXc2NC1taW5ndzMyIgpTWyJidWlsZF9hbGlh cyJdPSJ4ODZfNjQtdzY0LW1pbmd3MzIiClNbIkxJQlMiXT0iLWx4c2x0IC1seG1sMiAtbHNzbCAt bGNyeXB0byAtbHogLWx3czJfMzIgLWxtICIKU1siRUNIT19UIl09IiIKU1siRUNIT19OIl09Ii1u IgpTWyJFQ0hPX0MiXT0iIgpTWyJERUZTIl09Ii1ESEFWRV9DT05GSUdfSCIKU1sibWFuZGlyIl09 IiR7ZGF0YXJvb3RkaXJ9L21hbiIKU1sibG9jYWxlZGlyIl09IiR7ZGF0YXJvb3RkaXJ9L2xvY2Fs ZSIKU1sibGliZGlyIl09IiR7ZXhlY19wcmVmaXh9L2xpYiIKU1sicHNkaXIiXT0iJHtkb2NkaXJ9 IgpTWyJwZGZkaXIiXT0iJHtkb2NkaXJ9IgpTWyJkdmlkaXIiXT0iJHtkb2NkaXJ9IgpTWyJodG1s ZGlyIl09IiR7ZG9jZGlyfSIKU1siaW5mb2RpciJdPSIke2RhdGFyb290ZGlyfS9pbmZvIgpTWyJk b2NkaXIiXT0iJHtkYXRhcm9vdGRpcn0vZG9jLyR7UEFDS0FHRV9UQVJOQU1FfSIKU1sib2xkaW5j bHVkZWRpciJdPSIvdXNyL2luY2x1ZGUiClNbImluY2x1ZGVkaXIiXT0iJHtwcmVmaXh9L2luY2x1 ZGUiClNbImxvY2Fsc3RhdGVkaXIiXT0iJHtwcmVmaXh9L3ZhciIKU1sic2hhcmVkc3RhdGVkaXIi XT0iJHtwcmVmaXh9L2NvbSIKU1sic3lzY29uZmRpciJdPSIke3ByZWZpeH0vZXRjIgpTWyJkYXRh ZGlyIl09IiR7ZGF0YXJvb3RkaXJ9IgpTWyJkYXRhcm9vdGRpciJdPSIke3ByZWZpeH0vc2hhcmUi ClNbImxpYmV4ZWNkaXIiXT0iJHtleGVjX3ByZWZpeH0vbGliZXhlYyIKU1sic2JpbmRpciJdPSIk e2V4ZWNfcHJlZml4fS9zYmluIgpTWyJiaW5kaXIiXT0iJHtleGVjX3ByZWZpeH0vYmluIgpTWyJw cm9ncmFtX3RyYW5zZm9ybV9uYW1lIl09InMseCx4LCIKU1sicHJlZml4Il09Ii93L1ItMy41Ll8v cG9zdGdyZXMvYnVpbGQvYnVpbGQiClNbImV4ZWNfcHJlZml4Il09IiR7cHJlZml4fSIKU1siUEFD S0FHRV9VUkwiXT0iIgpTWyJQQUNLQUdFX0JVR1JFUE9SVCJdPSJwZ3NxbC1idWdzQHBvc3RncmVz cWwub3JnIgpTWyJQQUNLQUdFX1NUUklORyJdPSJQb3N0Z3JlU1FMIDExYmV0YTMiClNbIlBBQ0tB R0VfVkVSU0lPTiJdPSIxMWJldGEzIgpTWyJQQUNLQUdFX1RBUk5BTUUiXT0icG9zdGdyZXNxbCIK U1siUEFDS0FHRV9OQU1FIl09IlBvc3RncmVTUUwiClNbIlBBVEhfU0VQQVJBVE9SIl09IjoiClNb IlNIRUxMIl09Ii9iaW4vc2giCl9BQ0FXSwpjYXQgPj4iJGFjX3RtcC9zdWJzMS5hd2siIDw8X0FD QVdLICYmCiAgZm9yIChrZXkgaW4gUykgU19pc19zZXRba2V5XSA9IDEKICBGUyA9ICIHIgoKfQp7 CiAgbGluZSA9ICQgMAogIG5maWVsZHMgPSBzcGxpdChsaW5lLCBmaWVsZCwgIkAiKQogIHN1YnN0 ZWQgPSAwCiAgbGVuID0gbGVuZ3RoKGZpZWxkWzFdKQogIGZvciAoaSA9IDI7IGkgPCBuZmllbGRz OyBpKyspIHsKICAgIGtleSA9IGZpZWxkW2ldCiAgICBrZXlsZW4gPSBsZW5ndGgoa2V5KQogICAg aWYgKFNfaXNfc2V0W2tleV0pIHsKICAgICAgdmFsdWUgPSBTW2tleV0KICAgICAgbGluZSA9IHN1 YnN0cihsaW5lLCAxLCBsZW4pICIiIHZhbHVlICIiIHN1YnN0cihsaW5lLCBsZW4gKyBrZXlsZW4g KyAzKQogICAgICBsZW4gKz0gbGVuZ3RoKHZhbHVlKSArIGxlbmd0aChmaWVsZFsrK2ldKQogICAg ICBzdWJzdGVkID0gMQogICAgfSBlbHNlCiAgICAgIGxlbiArPSAxICsga2V5bGVuCiAgfQoKICBw cmludCBsaW5lCn0KCl9BQ0FXSwppZiBzZWQgInMvJGFjX2NyLy8iIDwgL2Rldi9udWxsID4gL2Rl di9udWxsIDI+JjE7IHRoZW4KICBzZWQgInMvJGFjX2NyXCQvLzsgcy8kYWNfY3IvJGFjX2NzX2F3 a19jci9nIgplbHNlCiAgY2F0CmZpIDwgIiRhY190bXAvc3ViczEuYXdrIiA+ICIkYWNfdG1wL3N1 YnMuYXdrIiBcCiAgfHwgYXNfZm5fZXJyb3IgJD8gImNvdWxkIG5vdCBzZXR1cCBjb25maWcgZmls ZXMgbWFjaGluZXJ5IiAiJExJTkVOTyIgNQpmaSAjIHRlc3QgLW4gIiRDT05GSUdfRklMRVMiCgoj IFNldCB1cCB0aGUgc2NyaXB0cyBmb3IgQ09ORklHX0hFQURFUlMgc2VjdGlvbi4KIyBObyBuZWVk IHRvIGdlbmVyYXRlIHRoZW0gaWYgdGhlcmUgYXJlIG5vIENPTkZJR19IRUFERVJTLgojIFRoaXMg aGFwcGVucyBmb3IgaW5zdGFuY2Ugd2l0aCBgLi9jb25maWcuc3RhdHVzIE1ha2VmaWxlJy4KaWYg dGVzdCAtbiAiJENPTkZJR19IRUFERVJTIjsgdGhlbgpjYXQgPiIkYWNfdG1wL2RlZmluZXMuYXdr IiA8PFxfQUNBV0sgfHwKQkVHSU4gewpEWyJQQUNLQUdFX05BTUUiXT0iIFwiUG9zdGdyZVNRTFwi IgpEWyJQQUNLQUdFX1RBUk5BTUUiXT0iIFwicG9zdGdyZXNxbFwiIgpEWyJQQUNLQUdFX1ZFUlNJ T04iXT0iIFwiMTFiZXRhM1wiIgpEWyJQQUNLQUdFX1NUUklORyJdPSIgXCJQb3N0Z3JlU1FMIDEx YmV0YTNcIiIKRFsiUEFDS0FHRV9CVUdSRVBPUlQiXT0iIFwicGdzcWwtYnVnc0Bwb3N0Z3Jlc3Fs Lm9yZ1wiIgpEWyJQQUNLQUdFX1VSTCJdPSIgXCJcIiIKRFsiUEdfTUFKT1JWRVJTSU9OIl09IiBc IjExXCIiCkRbIlBHX1ZFUlNJT04iXT0iIFwiMTFiZXRhM1wiIgpEWyJERUZfUEdQT1JUIl09IiA1 NDMyIgpEWyJERUZfUEdQT1JUX1NUUiJdPSIgXCI1NDMyXCIiCkRbIkJMQ0tTWiJdPSIgODE5MiIK RFsiUkVMU0VHX1NJWkUiXT0iIDEzMTA3MiIKRFsiWExPR19CTENLU1oiXT0iIDgxOTIiCkRbIlVT RV9BU1NFUlRfQ0hFQ0tJTkciXT0iIDEiCkRbIkVOQUJMRV9USFJFQURfU0FGRVRZIl09IiAxIgpE WyJVU0VfSUNVIl09IiAxIgpEWyJQR19LUkJfU1JWTkFNIl09IiBcInBvc3RncmVzXCIiCkRbIlVT RV9PUEVOU1NMIl09IiAxIgpEWyJVU0VfTElCWE1MIl09IiAxIgpEWyJVU0VfTElCWFNMVCJdPSIg MSIKRFsiU1REQ19IRUFERVJTIl09IiAxIgpEWyJIQVZFX1NZU19UWVBFU19IIl09IiAxIgpEWyJI QVZFX1NZU19TVEFUX0giXT0iIDEiCkRbIkhBVkVfU1RETElCX0giXT0iIDEiCkRbIkhBVkVfU1RS SU5HX0giXT0iIDEiCkRbIkhBVkVfTUVNT1JZX0giXT0iIDEiCkRbIkhBVkVfU1RSSU5HU19IIl09 IiAxIgpEWyJIQVZFX0lOVFRZUEVTX0giXT0iIDEiCkRbIkhBVkVfU1RESU5UX0giXT0iIDEiCkRb IkhBVkVfVU5JU1REX0giXT0iIDEiCkRbIkhBVkVfTElCTSJdPSIgMSIKRFsiSEFWRV9MSUJaIl09 IiAxIgpEWyJIQVZFX1NQSU5MT0NLUyJdPSIgMSIKRFsiSEFWRV9BVE9NSUNTIl09IiAxIgpEWyJI QVZFX1NTTF9HRVRfQ1VSUkVOVF9DT01QUkVTU0lPTiJdPSIgMSIKRFsiSEFWRV9YNTA5X0dFVF9T SUdOQVRVUkVfTklEIl09IiAxIgpEWyJIQVZFX0NSWVBUT19MT0NLIl09IiAxIgpEWyJIQVZFX0xJ QlhNTDIiXT0iIDEiCkRbIkhBVkVfTElCWFNMVCJdPSIgMSIKRFsiSEFWRV9fQk9PTCJdPSIgMSIK RFsiSEFWRV9TVERCT09MX0giXT0iIDEiCkRbIkhBVkVfR0VUT1BUX0giXT0iIDEiCkRbIkhBVkVf SUVFRUZQX0giXT0iIDEiCkRbIkhBVkVfVVRJTUVfSCJdPSIgMSIKRFsiSEFWRV9XQ0hBUl9IIl09 IiAxIgpEWyJIQVZFX1dDVFlQRV9IIl09IiAxIgpEWyJIQVZFX0NSVERFRlNfSCJdPSIgMSIKRFsi UEdfUFJJTlRGX0FUVFJJQlVURSJdPSIgZ251X3ByaW50ZiIKRFsiRkxFWElCTEVfQVJSQVlfTUVN QkVSIl09IiAvKiovIgpEWyJIQVZFX0ZVTkNOQU1FX19GVU5DIl09IiAxIgpEWyJIQVZFX19TVEFU SUNfQVNTRVJUIl09IiAxIgpEWyJIQVZFX1RZUEVPRiJdPSIgMSIKRFsiSEFWRV9fQlVJTFRJTl9U WVBFU19DT01QQVRJQkxFX1AiXT0iIDEiCkRbIkhBVkVfX0JVSUxUSU5fQlNXQVAxNiJdPSIgMSIK RFsiSEFWRV9fQlVJTFRJTl9CU1dBUDMyIl09IiAxIgpEWyJIQVZFX19CVUlMVElOX0JTV0FQNjQi XT0iIDEiCkRbIkhBVkVfX0JVSUxUSU5fQ09OU1RBTlRfUCJdPSIgMSIKRFsiSEFWRV9fQlVJTFRJ Tl9VTlJFQUNIQUJMRSJdPSIgMSIKRFsiSEFWRV9DT01QVVRFRF9HT1RPIl09IiAxIgpEWyJIQVZF X19WQV9BUkdTIl09IiAxIgpEWyJIQVZFX1RaTkFNRSJdPSIgMSIKRFsiSEFWRV9TVFJVQ1RfU09D S0FERFJfU1RPUkFHRSJdPSIgMSIKRFsiSEFWRV9TVFJVQ1RfU09DS0FERFJfU1RPUkFHRV9TU19G QU1JTFkiXT0iIDEiCkRbIkhBVkVfU1RSVUNUX0FERFJJTkZPIl09IiAxIgpEWyJIQVZFX0lOVFBU Ul9UIl09IiAxIgpEWyJIQVZFX1VJTlRQVFJfVCJdPSIgMSIKRFsiSEFWRV9VTlNJR05FRF9MT05H X0xPTkdfSU5UIl09IiAxIgpEWyJIQVZFX0xPTkdfTE9OR19JTlQiXT0iIDEiCkRbInJlc3RyaWN0 Il09IiBfX3Jlc3RyaWN0IgpEWyJwZ19yZXN0cmljdCJdPSIgX19yZXN0cmljdCIKRFsiSEFWRV9T VFJVQ1RfT1BUSU9OIl09IiAxIgpEWyJTSVpFT0ZfT0ZGX1QiXT0iIDQiCkRbIlNJWkVPRl9CT09M Il09IiAxIgpEWyJIQVZFX0lOVF9USU1FWk9ORSJdPSIgMSIKRFsiQUNDRVBUX1RZUEVfUkVUVVJO Il09IiBTT0NLRVQgV1NBQVBJIgpEWyJBQ0NFUFRfVFlQRV9BUkcxIl09IiBTT0NLRVQiCkRbIkFD Q0VQVF9UWVBFX0FSRzIiXT0iIHN0cnVjdCBzb2NrYWRkciAqIgpEWyJBQ0NFUFRfVFlQRV9BUkcz Il09IiBpbnQiCkRbIkhBVkVfQ0JSVCJdPSIgMSIKRFsiSEFWRV9DTE9DS19HRVRUSU1FIl09IiAx IgpEWyJIQVZFX01FTU1PVkUiXT0iIDEiCkRbIkhBVkVfVVRJTUUiXT0iIDEiCkRbIkhBVkVfRlNF RUtPIl09IiAxIgpEWyJIQVZFX0ZTRUVLTyJdPSIgMSIKRFsiSEFWRV9ERUNMX1BPU0lYX0ZBRFZJ U0UiXT0iIDAiCkRbIkhBVkVfREVDTF9GREFUQVNZTkMiXT0iIDAiCkRbIkhBVkVfREVDTF9TVFJM Q0FUIl09IiAwIgpEWyJIQVZFX0RFQ0xfU1RSTENQWSJdPSIgMCIKRFsiSEFWRV9ERUNMX1NUUk5M RU4iXT0iIDEiCkRbIkhBVkVfREVDTF9GX0ZVTExGU1lOQyJdPSIgMCIKRFsiSEFWRV9JUFY2Il09 IiAxIgpEWyJIQVZFX0RFQ0xfU05QUklOVEYiXT0iIDEiCkRbIkhBVkVfREVDTF9WU05QUklOVEYi XT0iIDEiCkRbIkhBVkVfSVNJTkYiXT0iIDEiCkRbIkhBVkVfR0VUT1BUIl09IiAxIgpEWyJIQVZF X1JJTlQiXT0iIDEiCkRbIkhBVkVfU1RSRVJST1IiXT0iIDEiCkRbIkhBVkVfU1RSTkxFTiJdPSIg MSIKRFsiSEFWRV9VTlNFVEVOViJdPSIgMSIKRFsiSEFWRV9HRVRQRUVSRUlEIl09IiAxIgpEWyJI QVZFX0dFVE9QVF9MT05HIl09IiAxIgpEWyJIQVZFX0dFVFRJTUVPRkRBWSJdPSIgMSIKRFsiSEFW RV9TWU1MSU5LIl09IiAxIgpEWyJIQVZFX01JTklEVU1QX1RZUEUiXT0iIDEiCkRbIkhBVkVfREVD TF9TWVNfU0lHTElTVCJdPSIgMCIKRFsiSEFWRV9JTlRfT1BURVJSIl09IiAxIgpEWyJIQVZFX1NU UlRPTEwiXT0iIDEiCkRbIkhBVkVfU1RSVE9VTEwiXT0iIDEiCkRbIkhBVkVfREVDTF9TVFJUT0xM Il09IiAxIgpEWyJIQVZFX0RFQ0xfU1RSVE9VTEwiXT0iIDEiCkRbIkhBVkVfTE9OR19MT05HX0lO VF82NCJdPSIgMSIKRFsiUEdfSU5UNjRfVFlQRSJdPSIgbG9uZyBsb25nIGludCIKRFsiSU5UNjRf TU9ESUZJRVIiXT0iIFwibGxcIiIKRFsiVVNFX1JFUExfU05QUklOVEYiXT0iIDEiCkRbIkhBVkVf X0JVSUxUSU5fT1BfT1ZFUkZMT1ciXT0iIDEiCkRbIlNJWkVPRl9WT0lEX1AiXT0iIDgiCkRbIlNJ WkVPRl9TSVpFX1QiXT0iIDgiCkRbIlNJWkVPRl9MT05HIl09IiA0IgpEWyJVU0VfRkxPQVQ0X0JZ VkFMIl09IiAxIgpEWyJGTE9BVDRQQVNTQllWQUwiXT0iIHRydWUiCkRbIlVTRV9GTE9BVDhfQllW QUwiXT0iIDEiCkRbIkZMT0FUOFBBU1NCWVZBTCJdPSIgdHJ1ZSIKRFsiQUxJR05PRl9TSE9SVCJd PSIgMiIKRFsiQUxJR05PRl9JTlQiXT0iIDQiCkRbIkFMSUdOT0ZfTE9ORyJdPSIgNCIKRFsiQUxJ R05PRl9MT05HX0xPTkdfSU5UIl09IiA4IgpEWyJBTElHTk9GX0RPVUJMRSJdPSIgOCIKRFsiTUFY SU1VTV9BTElHTk9GIl09IiA4IgpEWyJQR19JTlQxMjhfVFlQRSJdPSIgX19pbnQxMjgiCkRbIkFM SUdOT0ZfUEdfSU5UMTI4X1RZUEUiXT0iIDE2IgpEWyJIQVZFX0dDQ19fU1lOQ19DSEFSX1RBUyJd PSIgMSIKRFsiSEFWRV9HQ0NfX1NZTkNfSU5UMzJfVEFTIl09IiAxIgpEWyJIQVZFX0dDQ19fU1lO Q19JTlQzMl9DQVMiXT0iIDEiCkRbIkhBVkVfR0NDX19TWU5DX0lOVDY0X0NBUyJdPSIgMSIKRFsi SEFWRV9HQ0NfX0FUT01JQ19JTlQzMl9DQVMiXT0iIDEiCkRbIkhBVkVfR0NDX19BVE9NSUNfSU5U NjRfQ0FTIl09IiAxIgpEWyJIQVZFX19HRVRfQ1BVSUQiXT0iIDEiCkRbIlVTRV9TU0U0Ml9DUkMz MkNfV0lUSF9SVU5USU1FX0NIRUNLIl09IiAxIgpEWyJVU0VfV0lOMzJfU0VNQVBIT1JFUyJdPSIg MSIKRFsiVVNFX1dJTjMyX1NIQVJFRF9NRU1PUlkiXT0iIDEiCkRbIlVTRV9PUEVOU1NMX1JBTkRP TSJdPSIgMSIKRFsiSEFWRV9TVFJPTkdfUkFORE9NIl09IiAxIgpEWyJNRU1TRVRfTE9PUF9MSU1J VCJdPSIgMTAyNCIKRFsiUEdfVkVSU0lPTl9TVFIiXT0iIFwiUG9zdGdyZVNRTCAxMWJldGEzIG9u IHg4Nl82NC13NjQtbWluZ3czMiwgY29tcGlsZWQgYnkgeDg2XzY0LXc2NC1taW5ndzMyLWdjYy5l eGUgKFJldjEsIEJ1aWx0IGJ5IE1TWVMyIHByb2plY3QpIDguMi4wLCA2NC1iaSJcCiJ0XCIiCkRb IlBHX1ZFUlNJT05fTlVNIl09IiAxMTAwMDAiCiAgZm9yIChrZXkgaW4gRCkgRF9pc19zZXRba2V5 XSA9IDEKICBGUyA9ICIHIgp9Ci9eW1x0IF0qI1tcdCBdKihkZWZpbmV8dW5kZWYpW1x0IF0rW19h YmNkZWZnaGlqa2xtbm9wcXJzdHV2d3h5ekFCQ0RFRkdISUpLTE1OT1BRUlNUVVZXWFlaXVtfYWJj ZGVmZ2hpamtsbW5vcHFyc3R1dnd4eXpBQkNERUZHSElKS0xNTk9QUVJTVFVWV1hZWjAxMjM0NTY3 ODldKihbXHQgKF18JCkvIHsKICBsaW5lID0gJCAwCiAgc3BsaXQobGluZSwgYXJnLCAiICIpCiAg aWYgKGFyZ1sxXSA9PSAiIyIpIHsKICAgIGRlZnVuZGVmID0gYXJnWzJdCiAgICBtYWMxID0gYXJn WzNdCiAgfSBlbHNlIHsKICAgIGRlZnVuZGVmID0gc3Vic3RyKGFyZ1sxXSwgMikKICAgIG1hYzEg PSBhcmdbMl0KICB9CiAgc3BsaXQobWFjMSwgbWFjMiwgIigiKSAjKQogIG1hY3JvID0gbWFjMlsx XQogIHByZWZpeCA9IHN1YnN0cihsaW5lLCAxLCBpbmRleChsaW5lLCBkZWZ1bmRlZikgLSAxKQog IGlmIChEX2lzX3NldFttYWNyb10pIHsKICAgICMgUHJlc2VydmUgdGhlIHdoaXRlIHNwYWNlIHN1 cnJvdW5kaW5nIHRoZSAiIyIuCiAgICBwcmludCBwcmVmaXggImRlZmluZSIsIG1hY3JvIFBbbWFj cm9dIERbbWFjcm9dCiAgICBuZXh0CiAgfSBlbHNlIHsKICAgICMgUmVwbGFjZSAjdW5kZWYgd2l0 aCBjb21tZW50cy4gIFRoaXMgaXMgbmVjZXNzYXJ5LCBmb3IgZXhhbXBsZSwKICAgICMgaW4gdGhl IGNhc2Ugb2YgX1BPU0lYX1NPVVJDRSwgd2hpY2ggaXMgcHJlZGVmaW5lZCBhbmQgcmVxdWlyZWQK ICAgICMgb24gc29tZSBzeXN0ZW1zIHdoZXJlIGNvbmZpZ3VyZSB3aWxsIG5vdCBkZWNpZGUgdG8g ZGVmaW5lIGl0LgogICAgaWYgKGRlZnVuZGVmID09ICJ1bmRlZiIpIHsKICAgICAgcHJpbnQgIi8q IiwgcHJlZml4IGRlZnVuZGVmLCBtYWNybywgIiovIgogICAgICBuZXh0CiAgICB9CiAgfQp9Cnsg cHJpbnQgfQpfQUNBV0sKICBhc19mbl9lcnJvciAkPyAiY291bGQgbm90IHNldHVwIGNvbmZpZyBo ZWFkZXJzIG1hY2hpbmVyeSIgIiRMSU5FTk8iIDUKZmkgIyB0ZXN0IC1uICIkQ09ORklHX0hFQURF UlMiCgoKZXZhbCBzZXQgWCAiICA6RiAkQ09ORklHX0ZJTEVTICA6SCAkQ09ORklHX0hFQURFUlMg IDpMICRDT05GSUdfTElOS1MgIDpDICRDT05GSUdfQ09NTUFORFMiCnNoaWZ0CmZvciBhY190YWcK ZG8KICBjYXNlICRhY190YWcgaW4KICA6W0ZITENdKSBhY19tb2RlPSRhY190YWc7IGNvbnRpbnVl OzsKICBlc2FjCiAgY2FzZSAkYWNfbW9kZSRhY190YWcgaW4KICA6W0ZITF0qOiopOzsKICA6TCog fCA6Qyo6KikgYXNfZm5fZXJyb3IgJD8gImludmFsaWQgdGFnIFxgJGFjX3RhZyciICIkTElORU5P IiA1OzsKICA6W0ZIXS0pIGFjX3RhZz0tOi07OwogIDpbRkhdKikgYWNfdGFnPSRhY190YWc6JGFj X3RhZy5pbjs7CiAgZXNhYwogIGFjX3NhdmVfSUZTPSRJRlMKICBJRlM9OgogIHNldCB4ICRhY190 YWcKICBJRlM9JGFjX3NhdmVfSUZTCiAgc2hpZnQKICBhY19maWxlPSQxCiAgc2hpZnQKCiAgY2Fz ZSAkYWNfbW9kZSBpbgogIDpMKSBhY19zb3VyY2U9JDE7OwogIDpbRkhdKQogICAgYWNfZmlsZV9p bnB1dHM9CiAgICBmb3IgYWNfZgogICAgZG8KICAgICAgY2FzZSAkYWNfZiBpbgogICAgICAtKSBh Y19mPSIkYWNfdG1wL3N0ZGluIjs7CiAgICAgICopICMgTG9vayBmb3IgdGhlIGZpbGUgZmlyc3Qg aW4gdGhlIGJ1aWxkIHRyZWUsIHRoZW4gaW4gdGhlIHNvdXJjZSB0cmVlCgkgIyAoaWYgdGhlIHBh dGggaXMgbm90IGFic29sdXRlKS4gIFRoZSBhYnNvbHV0ZSBwYXRoIGNhbm5vdCBiZSBET1Mtc3R5 bGUsCgkgIyBiZWNhdXNlICRhY19mIGNhbm5vdCBjb250YWluIGA6Jy4KCSB0ZXN0IC1mICIkYWNf ZiIgfHwKCSAgIGNhc2UgJGFjX2YgaW4KCSAgIFtcXC8kXSopIGZhbHNlOzsKCSAgICopIHRlc3Qg LWYgIiRzcmNkaXIvJGFjX2YiICYmIGFjX2Y9IiRzcmNkaXIvJGFjX2YiOzsKCSAgIGVzYWMgfHwK CSAgIGFzX2ZuX2Vycm9yIDEgImNhbm5vdCBmaW5kIGlucHV0IGZpbGU6IFxgJGFjX2YnIiAiJExJ TkVOTyIgNTs7CiAgICAgIGVzYWMKICAgICAgY2FzZSAkYWNfZiBpbiAqXCcqKSBhY19mPWAkYXNf ZWNobyAiJGFjX2YiIHwgc2VkICJzLycvJ1xcXFxcXFxcJycvZyJgOzsgZXNhYwogICAgICBhc19m bl9hcHBlbmQgYWNfZmlsZV9pbnB1dHMgIiAnJGFjX2YnIgogICAgZG9uZQoKICAgICMgTGV0J3Mg c3RpbGwgcHJldGVuZCBpdCBpcyBgY29uZmlndXJlJyB3aGljaCBpbnN0YW50aWF0ZXMgKGkuZS4s IGRvbid0CiAgICAjIHVzZSAkYXNfbWUpLCBwZW9wbGUgd291bGQgYmUgc3VycHJpc2VkIHRvIHJl YWQ6CiAgICAjICAgIC8qIGNvbmZpZy5oLiAgR2VuZXJhdGVkIGJ5IGNvbmZpZy5zdGF0dXMuICAq LwogICAgY29uZmlndXJlX2lucHV0PSdHZW5lcmF0ZWQgZnJvbSAnYAoJICAkYXNfZWNobyAiJCoi IHwgc2VkICdzfF5bXjpdKi98fDtzfDpbXjpdKi98LCB8ZycKCWAnIGJ5IGNvbmZpZ3VyZS4nCiAg ICBpZiB0ZXN0IHgiJGFjX2ZpbGUiICE9IHgtOyB0aGVuCiAgICAgIGNvbmZpZ3VyZV9pbnB1dD0i JGFjX2ZpbGUuICAkY29uZmlndXJlX2lucHV0IgogICAgICB7ICRhc19lY2hvICIkYXNfbWU6JHth c19saW5lbm8tJExJTkVOT306IGNyZWF0aW5nICRhY19maWxlIiA+JjUKJGFzX2VjaG8gIiRhc19t ZTogY3JlYXRpbmcgJGFjX2ZpbGUiID4mNjt9CiAgICBmaQogICAgIyBOZXV0cmFsaXplIHNwZWNp YWwgY2hhcmFjdGVycyBpbnRlcnByZXRlZCBieSBzZWQgaW4gcmVwbGFjZW1lbnQgc3RyaW5ncy4K ICAgIGNhc2UgJGNvbmZpZ3VyZV9pbnB1dCBpbiAjKAogICAgKlwmKiB8ICpcfCogfCAqXFwqICkK ICAgICAgIGFjX3NlZF9jb25mX2lucHV0PWAkYXNfZWNobyAiJGNvbmZpZ3VyZV9pbnB1dCIgfAog ICAgICAgc2VkICdzL1tcXFxcJnxdL1xcXFwmL2cnYDs7ICMoCiAgICAqKSBhY19zZWRfY29uZl9p bnB1dD0kY29uZmlndXJlX2lucHV0OzsKICAgIGVzYWMKCiAgICBjYXNlICRhY190YWcgaW4KICAg ICo6LToqIHwgKjotKSBjYXQgPiIkYWNfdG1wL3N0ZGluIiBcCiAgICAgIHx8IGFzX2ZuX2Vycm9y ICQ/ICJjb3VsZCBub3QgY3JlYXRlICRhY19maWxlIiAiJExJTkVOTyIgNSA7OwogICAgZXNhYwog ICAgOzsKICBlc2FjCgogIGFjX2Rpcj1gJGFzX2Rpcm5hbWUgLS0gIiRhY19maWxlIiB8fAokYXNf ZXhwciBYIiRhY19maWxlIiA6ICdYXCguKlteL11cKS8vKlteL11bXi9dKi8qJCcgXHwgXAoJIFgi JGFjX2ZpbGUiIDogJ1hcKC8vXClbXi9dJyBcfCBcCgkgWCIkYWNfZmlsZSIgOiAnWFwoLy9cKSQn IFx8IFwKCSBYIiRhY19maWxlIiA6ICdYXCgvXCknIFx8IC4gMj4vZGV2L251bGwgfHwKJGFzX2Vj aG8gWCIkYWNfZmlsZSIgfAogICAgc2VkICcvXlhcKC4qW14vXVwpXC9cLypbXi9dW14vXSpcLyok L3sKCSAgICBzLy9cMS8KCSAgICBxCgkgIH0KCSAgL15YXChcL1wvXClbXi9dLiovewoJICAgIHMv L1wxLwoJICAgIHEKCSAgfQoJICAvXlhcKFwvXC9cKSQvewoJICAgIHMvL1wxLwoJICAgIHEKCSAg fQoJICAvXlhcKFwvXCkuKi97CgkgICAgcy8vXDEvCgkgICAgcQoJICB9CgkgIHMvLiovLi87IHEn YAogIGFzX2Rpcj0iJGFjX2RpciI7IGFzX2ZuX21rZGlyX3AKICBhY19idWlsZGRpcj0uCgpjYXNl ICIkYWNfZGlyIiBpbgouKSBhY19kaXJfc3VmZml4PSBhY190b3BfYnVpbGRkaXJfc3ViPS4gYWNf dG9wX2J1aWxkX3ByZWZpeD0gOzsKKikKICBhY19kaXJfc3VmZml4PS9gJGFzX2VjaG8gIiRhY19k aXIiIHwgc2VkICdzfF5cLltcXC9dfHwnYAogICMgQSAiLi4iIGZvciBlYWNoIGRpcmVjdG9yeSBp biAkYWNfZGlyX3N1ZmZpeC4KICBhY190b3BfYnVpbGRkaXJfc3ViPWAkYXNfZWNobyAiJGFjX2Rp cl9zdWZmaXgiIHwgc2VkICdzfC9bXlxcL10qfC8uLnxnO3N8L3x8J2AKICBjYXNlICRhY190b3Bf YnVpbGRkaXJfc3ViIGluCiAgIiIpIGFjX3RvcF9idWlsZGRpcl9zdWI9LiBhY190b3BfYnVpbGRf cHJlZml4PSA7OwogICopICBhY190b3BfYnVpbGRfcHJlZml4PSRhY190b3BfYnVpbGRkaXJfc3Vi LyA7OwogIGVzYWMgOzsKZXNhYwphY19hYnNfdG9wX2J1aWxkZGlyPSRhY19wd2QKYWNfYWJzX2J1 aWxkZGlyPSRhY19wd2QkYWNfZGlyX3N1ZmZpeAojIGZvciBiYWNrd2FyZCBjb21wYXRpYmlsaXR5 OgphY190b3BfYnVpbGRkaXI9JGFjX3RvcF9idWlsZF9wcmVmaXgKCmNhc2UgJHNyY2RpciBpbgog IC4pICAjIFdlIGFyZSBidWlsZGluZyBpbiBwbGFjZS4KICAgIGFjX3NyY2Rpcj0uCiAgICBhY190 b3Bfc3JjZGlyPSRhY190b3BfYnVpbGRkaXJfc3ViCiAgICBhY19hYnNfdG9wX3NyY2Rpcj0kYWNf cHdkIDs7CiAgW1xcL10qIHwgPzpbXFwvXSogKSAgIyBBYnNvbHV0ZSBuYW1lLgogICAgYWNfc3Jj ZGlyPSRzcmNkaXIkYWNfZGlyX3N1ZmZpeDsKICAgIGFjX3RvcF9zcmNkaXI9JHNyY2RpcgogICAg YWNfYWJzX3RvcF9zcmNkaXI9JHNyY2RpciA7OwogICopICMgUmVsYXRpdmUgbmFtZS4KICAgIGFj X3NyY2Rpcj0kYWNfdG9wX2J1aWxkX3ByZWZpeCRzcmNkaXIkYWNfZGlyX3N1ZmZpeAogICAgYWNf dG9wX3NyY2Rpcj0kYWNfdG9wX2J1aWxkX3ByZWZpeCRzcmNkaXIKICAgIGFjX2Fic190b3Bfc3Jj ZGlyPSRhY19wd2QvJHNyY2RpciA7Owplc2FjCmFjX2Fic19zcmNkaXI9JGFjX2Fic190b3Bfc3Jj ZGlyJGFjX2Rpcl9zdWZmaXgKCgogIGNhc2UgJGFjX21vZGUgaW4KICA6RikKICAjCiAgIyBDT05G SUdfRklMRQogICMKCiAgY2FzZSAkSU5TVEFMTCBpbgogIFtcXC8kXSogfCA/OltcXC9dKiApIGFj X0lOU1RBTEw9JElOU1RBTEwgOzsKICAqKSBhY19JTlNUQUxMPSRhY190b3BfYnVpbGRfcHJlZml4 JElOU1RBTEwgOzsKICBlc2FjCiAgYWNfTUtESVJfUD0kTUtESVJfUAogIGNhc2UgJE1LRElSX1Ag aW4KICBbXFwvJF0qIHwgPzpbXFwvXSogKSA7OwogICovKikgYWNfTUtESVJfUD0kYWNfdG9wX2J1 aWxkX3ByZWZpeCRNS0RJUl9QIDs7CiAgZXNhYwojIElmIHRoZSB0ZW1wbGF0ZSBkb2VzIG5vdCBr bm93IGFib3V0IGRhdGFyb290ZGlyLCBleHBhbmQgaXQuCiMgRklYTUU6IFRoaXMgaGFjayBzaG91 bGQgYmUgcmVtb3ZlZCBhIGZldyB5ZWFycyBhZnRlciAyLjYwLgphY19kYXRhcm9vdGRpcl9oYWNr PTsgYWNfZGF0YXJvb3RkaXJfc2Vlbj0KYWNfc2VkX2RhdGFyb290PScKL2RhdGFyb290ZGlyLyB7 CiAgcAogIHEKfQovQGRhdGFkaXJAL3AKL0Bkb2NkaXJAL3AKL0BpbmZvZGlyQC9wCi9AbG9jYWxl ZGlyQC9wCi9AbWFuZGlyQC9wJwpjYXNlIGBldmFsICJzZWQgLW4gXCJcJGFjX3NlZF9kYXRhcm9v dFwiICRhY19maWxlX2lucHV0cyJgIGluCipkYXRhcm9vdGRpciopIGFjX2RhdGFyb290ZGlyX3Nl ZW49eWVzOzsKKkBkYXRhZGlyQCp8KkBkb2NkaXJAKnwqQGluZm9kaXJAKnwqQGxvY2FsZWRpckAq fCpAbWFuZGlyQCopCiAgeyAkYXNfZWNobyAiJGFzX21lOiR7YXNfbGluZW5vLSRMSU5FTk99OiBX QVJOSU5HOiAkYWNfZmlsZV9pbnB1dHMgc2VlbXMgdG8gaWdub3JlIHRoZSAtLWRhdGFyb290ZGly IHNldHRpbmciID4mNQokYXNfZWNobyAiJGFzX21lOiBXQVJOSU5HOiAkYWNfZmlsZV9pbnB1dHMg c2VlbXMgdG8gaWdub3JlIHRoZSAtLWRhdGFyb290ZGlyIHNldHRpbmciID4mMjt9CiAgYWNfZGF0 YXJvb3RkaXJfaGFjaz0nCiAgcyZAZGF0YWRpckAmJHtkYXRhcm9vdGRpcn0mZwogIHMmQGRvY2Rp ckAmJHtkYXRhcm9vdGRpcn0vZG9jLyR7UEFDS0FHRV9UQVJOQU1FfSZnCiAgcyZAaW5mb2RpckAm JHtkYXRhcm9vdGRpcn0vaW5mbyZnCiAgcyZAbG9jYWxlZGlyQCYke2RhdGFyb290ZGlyfS9sb2Nh bGUmZwogIHMmQG1hbmRpckAmJHtkYXRhcm9vdGRpcn0vbWFuJmcKICBzJlwke2RhdGFyb290ZGly fSYke3ByZWZpeH0vc2hhcmUmZycgOzsKZXNhYwphY19zZWRfZXh0cmE9IgoKOnQKL0BbYS16QS1a X11bYS16QS1aXzAtOV0qQC8hYgpzfEBjb25maWd1cmVfaW5wdXRAfCRhY19zZWRfY29uZl9pbnB1 dHw7dCB0CnMmQHRvcF9idWlsZGRpckAmJGFjX3RvcF9idWlsZGRpcl9zdWImO3QgdApzJkB0b3Bf YnVpbGRfcHJlZml4QCYkYWNfdG9wX2J1aWxkX3ByZWZpeCY7dCB0CnMmQHNyY2RpckAmJGFjX3Ny Y2RpciY7dCB0CnMmQGFic19zcmNkaXJAJiRhY19hYnNfc3JjZGlyJjt0IHQKcyZAdG9wX3NyY2Rp ckAmJGFjX3RvcF9zcmNkaXImO3QgdApzJkBhYnNfdG9wX3NyY2RpckAmJGFjX2Fic190b3Bfc3Jj ZGlyJjt0IHQKcyZAYnVpbGRkaXJAJiRhY19idWlsZGRpciY7dCB0CnMmQGFic19idWlsZGRpckAm JGFjX2Fic19idWlsZGRpciY7dCB0CnMmQGFic190b3BfYnVpbGRkaXJAJiRhY19hYnNfdG9wX2J1 aWxkZGlyJjt0IHQKcyZASU5TVEFMTEAmJGFjX0lOU1RBTEwmO3QgdApzJkBNS0RJUl9QQCYkYWNf TUtESVJfUCY7dCB0CiRhY19kYXRhcm9vdGRpcl9oYWNrCiIKZXZhbCBzZWQgXCJcJGFjX3NlZF9l eHRyYVwiICIkYWNfZmlsZV9pbnB1dHMiIHwgJEFXSyAtZiAiJGFjX3RtcC9zdWJzLmF3ayIgXAog ID4kYWNfdG1wL291dCB8fCBhc19mbl9lcnJvciAkPyAiY291bGQgbm90IGNyZWF0ZSAkYWNfZmls ZSIgIiRMSU5FTk8iIDUKCnRlc3QgLXogIiRhY19kYXRhcm9vdGRpcl9oYWNrJGFjX2RhdGFyb290 ZGlyX3NlZW4iICYmCiAgeyBhY19vdXQ9YHNlZCAtbiAnL1wke2RhdGFyb290ZGlyfS9wJyAiJGFj X3RtcC9vdXQiYDsgdGVzdCAtbiAiJGFjX291dCI7IH0gJiYKICB7IGFjX291dD1gc2VkIC1uICcv XlsJIF0qZGF0YXJvb3RkaXJbCSBdKjoqPS9wJyBcCiAgICAgICIkYWNfdG1wL291dCJgOyB0ZXN0 IC16ICIkYWNfb3V0IjsgfSAmJgogIHsgJGFzX2VjaG8gIiRhc19tZToke2FzX2xpbmVuby0kTElO RU5PfTogV0FSTklORzogJGFjX2ZpbGUgY29udGFpbnMgYSByZWZlcmVuY2UgdG8gdGhlIHZhcmlh YmxlIFxgZGF0YXJvb3RkaXInCndoaWNoIHNlZW1zIHRvIGJlIHVuZGVmaW5lZC4gIFBsZWFzZSBt YWtlIHN1cmUgaXQgaXMgZGVmaW5lZCIgPiY1CiRhc19lY2hvICIkYXNfbWU6IFdBUk5JTkc6ICRh Y19maWxlIGNvbnRhaW5zIGEgcmVmZXJlbmNlIHRvIHRoZSB2YXJpYWJsZSBcYGRhdGFyb290ZGly Jwp3aGljaCBzZWVtcyB0byBiZSB1bmRlZmluZWQuICBQbGVhc2UgbWFrZSBzdXJlIGl0IGlzIGRl ZmluZWQiID4mMjt9CgogIHJtIC1mICIkYWNfdG1wL3N0ZGluIgogIGNhc2UgJGFjX2ZpbGUgaW4K ICAtKSBjYXQgIiRhY190bXAvb3V0IiAmJiBybSAtZiAiJGFjX3RtcC9vdXQiOzsKICAqKSBybSAt ZiAiJGFjX2ZpbGUiICYmIG12ICIkYWNfdG1wL291dCIgIiRhY19maWxlIjs7CiAgZXNhYyBcCiAg fHwgYXNfZm5fZXJyb3IgJD8gImNvdWxkIG5vdCBjcmVhdGUgJGFjX2ZpbGUiICIkTElORU5PIiA1 CiA7OwogIDpIKQogICMKICAjIENPTkZJR19IRUFERVIKICAjCiAgaWYgdGVzdCB4IiRhY19maWxl IiAhPSB4LTsgdGhlbgogICAgewogICAgICAkYXNfZWNobyAiLyogJGNvbmZpZ3VyZV9pbnB1dCAg Ki8iIFwKICAgICAgJiYgZXZhbCAnJEFXSyAtZiAiJGFjX3RtcC9kZWZpbmVzLmF3ayInICIkYWNf ZmlsZV9pbnB1dHMiCiAgICB9ID4iJGFjX3RtcC9jb25maWcuaCIgXAogICAgICB8fCBhc19mbl9l cnJvciAkPyAiY291bGQgbm90IGNyZWF0ZSAkYWNfZmlsZSIgIiRMSU5FTk8iIDUKICAgIGlmIGRp ZmYgIiRhY19maWxlIiAiJGFjX3RtcC9jb25maWcuaCIgPi9kZXYvbnVsbCAyPiYxOyB0aGVuCiAg ICAgIHsgJGFzX2VjaG8gIiRhc19tZToke2FzX2xpbmVuby0kTElORU5PfTogJGFjX2ZpbGUgaXMg dW5jaGFuZ2VkIiA+JjUKJGFzX2VjaG8gIiRhc19tZTogJGFjX2ZpbGUgaXMgdW5jaGFuZ2VkIiA+ JjY7fQogICAgZWxzZQogICAgICBybSAtZiAiJGFjX2ZpbGUiCiAgICAgIG12ICIkYWNfdG1wL2Nv bmZpZy5oIiAiJGFjX2ZpbGUiIFwKCXx8IGFzX2ZuX2Vycm9yICQ/ICJjb3VsZCBub3QgY3JlYXRl ICRhY19maWxlIiAiJExJTkVOTyIgNQogICAgZmkKICBlbHNlCiAgICAkYXNfZWNobyAiLyogJGNv bmZpZ3VyZV9pbnB1dCAgKi8iIFwKICAgICAgJiYgZXZhbCAnJEFXSyAtZiAiJGFjX3RtcC9kZWZp bmVzLmF3ayInICIkYWNfZmlsZV9pbnB1dHMiIFwKICAgICAgfHwgYXNfZm5fZXJyb3IgJD8gImNv dWxkIG5vdCBjcmVhdGUgLSIgIiRMSU5FTk8iIDUKICBmaQogOzsKICA6TCkKICAjCiAgIyBDT05G SUdfTElOSwogICMKCiAgaWYgdGVzdCAiJGFjX3NvdXJjZSIgPSAiJGFjX2ZpbGUiICYmIHRlc3Qg IiRzcmNkaXIiID0gJy4nOyB0aGVuCiAgICA6CiAgZWxzZQogICAgIyBQcmVmZXIgdGhlIGZpbGUg ZnJvbSB0aGUgc291cmNlIHRyZWUgaWYgbmFtZXMgYXJlIGlkZW50aWNhbC4KICAgIGlmIHRlc3Qg IiRhY19zb3VyY2UiID0gIiRhY19maWxlIiB8fCB0ZXN0ICEgLXIgIiRhY19zb3VyY2UiOyB0aGVu CiAgICAgIGFjX3NvdXJjZT0kc3JjZGlyLyRhY19zb3VyY2UKICAgIGZpCgogICAgeyAkYXNfZWNo byAiJGFzX21lOiR7YXNfbGluZW5vLSRMSU5FTk99OiBsaW5raW5nICRhY19zb3VyY2UgdG8gJGFj X2ZpbGUiID4mNQokYXNfZWNobyAiJGFzX21lOiBsaW5raW5nICRhY19zb3VyY2UgdG8gJGFjX2Zp bGUiID4mNjt9CgogICAgaWYgdGVzdCAhIC1yICIkYWNfc291cmNlIjsgdGhlbgogICAgICBhc19m bl9lcnJvciAkPyAiJGFjX3NvdXJjZTogZmlsZSBub3QgZm91bmQiICIkTElORU5PIiA1CiAgICBm aQogICAgcm0gLWYgIiRhY19maWxlIgoKICAgICMgVHJ5IGEgcmVsYXRpdmUgc3ltbGluaywgdGhl biBhIGhhcmQgbGluaywgdGhlbiBhIGNvcHkuCiAgICBjYXNlICRhY19zb3VyY2UgaW4KICAgIFtc XC8kXSogfCA/OltcXC9dKiApIGFjX3JlbF9zb3VyY2U9JGFjX3NvdXJjZSA7OwoJKikgYWNfcmVs X3NvdXJjZT0kYWNfdG9wX2J1aWxkX3ByZWZpeCRhY19zb3VyY2UgOzsKICAgIGVzYWMKICAgIGxu IC1zICIkYWNfcmVsX3NvdXJjZSIgIiRhY19maWxlIiAyPi9kZXYvbnVsbCB8fAogICAgICBsbiAi JGFjX3NvdXJjZSIgIiRhY19maWxlIiAyPi9kZXYvbnVsbCB8fAogICAgICBjcCAtcCAiJGFjX3Nv dXJjZSIgIiRhY19maWxlIiB8fAogICAgICBhc19mbl9lcnJvciAkPyAiY2Fubm90IGxpbmsgb3Ig Y29weSAkYWNfc291cmNlIHRvICRhY19maWxlIiAiJExJTkVOTyIgNQogIGZpCiA7OwogIDpDKSAg eyAkYXNfZWNobyAiJGFzX21lOiR7YXNfbGluZW5vLSRMSU5FTk99OiBleGVjdXRpbmcgJGFjX2Zp bGUgY29tbWFuZHMiID4mNQokYXNfZWNobyAiJGFzX21lOiBleGVjdXRpbmcgJGFjX2ZpbGUgY29t bWFuZHMiID4mNjt9CiA7OwogIGVzYWMKCgogIGNhc2UgJGFjX2ZpbGUkYWNfbW9kZSBpbgogICAg ImNoZWNrX3dpbjMyX3N5bWxpbmtzIjpDKQojIExpbmtzIHNvbWV0aW1lcyBmYWlsIHVuZGV0ZWN0 ZWQgb24gTWluZ3cgLQojIHNvIGhlcmUgd2UgZGV0ZWN0IGl0IGFuZCB3YXJuIHRoZSB1c2VyCmZv ciBGSUxFIGluICRDT05GSUdfTElOS1MKIGRvCgkjIHRlc3QgLWUgd29ya3MgZm9yIHN5bWxpbmtz IGluIHRoZSBNaW5HVyBjb25zb2xlCgl0ZXN0IC1lIGBleHByICIkRklMRSIgOiAnXChbXjpdKlwp J2AgfHwgeyAkYXNfZWNobyAiJGFzX21lOiR7YXNfbGluZW5vLSRMSU5FTk99OiBXQVJOSU5HOiAq KiogbGluayBmb3IgJEZJTEUgLS0gcGxlYXNlIGZpeCBieSBoYW5kIiA+JjUKJGFzX2VjaG8gIiRh c19tZTogV0FSTklORzogKioqIGxpbmsgZm9yICRGSUxFIC0tIHBsZWFzZSBmaXggYnkgaGFuZCIg PiYyO30KIGRvbmUKIDs7CiAgICAic3JjL2luY2x1ZGUvcGdfY29uZmlnLmgiOkgpCiMgVXBkYXRl IHRpbWVzdGFtcCBmb3IgcGdfY29uZmlnLmggKHNlZSBNYWtlZmlsZS5nbG9iYWwpCmVjaG8gPnNy Yy9pbmNsdWRlL3N0YW1wLWgKIDs7CiAgICAic3JjL2luY2x1ZGUvcGdfY29uZmlnX2V4dC5oIjpI KQojIFVwZGF0ZSB0aW1lc3RhbXAgZm9yIHBnX2NvbmZpZ19leHQuaCAoc2VlIE1ha2VmaWxlLmds b2JhbCkKZWNobyA+c3JjL2luY2x1ZGUvc3RhbXAtZXh0LWgKIDs7CiAgICAic3JjL2ludGVyZmFj ZXMvZWNwZy9pbmNsdWRlL2VjcGdfY29uZmlnLmgiOkgpIGVjaG8gPnNyYy9pbnRlcmZhY2VzL2Vj cGcvaW5jbHVkZS9zdGFtcC1oIDs7CgogIGVzYWMKZG9uZSAjIGZvciBhY190YWcKCgphc19mbl9l eGl0IDAK --_005_BYAPR15MB22160A7A3E99229734CB97BA9C020BYAPR15MB2216namp_--