From owner-freebsd-gnome@FreeBSD.ORG Thu Oct 1 08:53:52 2009 Return-Path: Delivered-To: gnome@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 4B538106566B for ; Thu, 1 Oct 2009 08:53:52 +0000 (UTC) (envelope-from anton@domino-host.ru) Received: from server1.domino-host.ru (server1.domino-host.ru [95.215.0.30]) by mx1.freebsd.org (Postfix) with ESMTP id D8A4B8FC1B for ; Thu, 1 Oct 2009 08:53:49 +0000 (UTC) Received: from server1.domino-host.ru ([95.215.0.30]) by server1.domino-host.ru with esmtpsa (TLSv1:AES256-SHA:256) (Exim 4.69) (envelope-from ) id 1MtGQ6-000Fhd-Gk for gnome@freebsd.org; Thu, 01 Oct 2009 11:49:46 +0400 MIME-Version: 1.0 Date: Thu, 01 Oct 2009 11:49:46 +0400 From: Anton Shilin To: Organization: Dominoes LTD Message-ID: <9f989e6750bb6d9bce93efcb524c75c5@95.215.0.30> X-Sender: anton@domino-host.ru User-Agent: RoundCube Webmail/0.3-stable Content-Type: multipart/mixed; boundary="=_e8413d40240b9274bca3b82daa2d3521" X-Mailman-Approved-At: Thu, 01 Oct 2009 11:29:10 +0000 X-Content-Filtered-By: Mailman/MimeDel 2.1.5 Cc: Subject: fail upgrade X-BeenThere: freebsd-gnome@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: GNOME for FreeBSD -- porting and maintaining List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 01 Oct 2009 08:53:52 -0000 --=_e8413d40240b9274bca3b82daa2d3521 Content-Transfer-Encoding: 8bit Content-Type: text/plain; charset=UTF-8 fail upgrade glib 2.20.4 to 2.20.5 --=_e8413d40240b9274bca3b82daa2d3521 Content-Transfer-Encoding: base64 Content-Type: application/octet-stream; charset=UTF-8; name=config.log; Content-Disposition: attachment; filename=config.log; VGhpcyBmaWxlIGNvbnRhaW5zIGFueSBtZXNzYWdlcyBwcm9kdWNlZCBieSBjb21waWxlcnMgd2hp bGUKcnVubmluZyBjb25maWd1cmUsIHRvIGFpZCBkZWJ1Z2dpbmcgaWYgY29uZmlndXJlIG1ha2Vz IGEgbWlzdGFrZS4KCkl0IHdhcyBjcmVhdGVkIGJ5IGdsaWIgY29uZmlndXJlIDIuMjAuNSwgd2hp Y2ggd2FzCmdlbmVyYXRlZCBieSBHTlUgQXV0b2NvbmYgMi42My4gIEludm9jYXRpb24gY29tbWFu ZCBsaW5lIHdhcwoKICAkIC4vY29uZmlndXJlIC0tZW5hYmxlLXN0YXRpYyAtLXdpdGgtbGliaWNv bnY9Z251IC0tZGlzYWJsZS1ndGstZG9jIC0td2l0aC1odG1sLWRpcj0vdXNyL2xvY2FsL3NoYXJl L2RvYyAtLWRpc2FibGUtbWFuIC0td2l0aG91dC14bWwtY2F0YWxvZyAtLXdpdGgtcGNyZT1zeXN0 ZW0gLS1kaXNhYmxlLWZhbSAtLXByZWZpeD0vdXNyL2xvY2FsIC0tbWFuZGlyPS91c3IvbG9jYWwv bWFuIC0taW5mb2Rpcj0vdXNyL2xvY2FsL2luZm8vIC0tYnVpbGQ9eDg2XzY0LXBvcnRibGQtZnJl ZWJzZDcuMgoKIyMgLS0tLS0tLS0tICMjCiMjIFBsYXRmb3JtLiAjIwojIyAtLS0tLS0tLS0gIyMK Cmhvc3RuYW1lID0gc2VydmVyMS5kb21pbm8taG9zdC5ydQp1bmFtZSAtbSA9IGFtZDY0CnVuYW1l IC1yID0gNy4yLVJFTEVBU0UtcDIKdW5hbWUgLXMgPSBGcmVlQlNECnVuYW1lIC12ID0gRnJlZUJT RCA3LjItUkVMRUFTRS1wMiAjMTogV2VkIEp1bCAyOSAxMjoxMjozOSBNU0QgMjAwOSAgICAgYzBk ZXJAc2VydmVyMS5kb21pbm8taG9zdC5ydTovdXNyL29iai91c3Ivc3JjL3N5cy9NeUtlcm4gCgov dXNyL2Jpbi91bmFtZSAtcCA9IGFtZDY0Ci9iaW4vdW5hbWUgLVggICAgID0gdW5rbm93bgoKL2Jp bi9hcmNoICAgICAgICAgICAgICA9IHVua25vd24KL3Vzci9iaW4vYXJjaCAtayAgICAgICA9IHVu a25vd24KL3Vzci9jb252ZXgvZ2V0c3lzaW5mbyA9IHVua25vd24KL3Vzci9iaW4vaG9zdGluZm8g ICAgICA9IHVua25vd24KL2Jpbi9tYWNoaW5lICAgICAgICAgICA9IHVua25vd24KL3Vzci9iaW4v b3NsZXZlbCAgICAgICA9IHVua25vd24KL2Jpbi91bml2ZXJzZSAgICAgICAgICA9IHVua25vd24K ClBBVEg6IC9zYmluClBBVEg6IC9iaW4KUEFUSDogL3Vzci9zYmluClBBVEg6IC91c3IvYmluClBB VEg6IC91c3IvZ2FtZXMKUEFUSDogL3Vzci9sb2NhbC9zYmluClBBVEg6IC91c3IvbG9jYWwvYmlu ClBBVEg6IC9yb290L2JpbgoKCiMjIC0tLS0tLS0tLS0tICMjCiMjIENvcmUgdGVzdHMuICMjCiMj IC0tLS0tLS0tLS0tICMjCgpjb25maWd1cmU6MjI4NDogY2hlY2tpbmcgZm9yIGEgQlNELWNvbXBh dGlibGUgaW5zdGFsbApjb25maWd1cmU6MjM1MjogcmVzdWx0OiAvdXNyL2Jpbi9pbnN0YWxsIC1j IC1vIHJvb3QgLWcgd2hlZWwKY29uZmlndXJlOjIzNjM6IGNoZWNraW5nIHdoZXRoZXIgYnVpbGQg ZW52aXJvbm1lbnQgaXMgc2FuZQpjb25maWd1cmU6MjQyMzogcmVzdWx0OiB5ZXMKY29uZmlndXJl OjI1NjQ6IGNoZWNraW5nIGZvciBhIHRocmVhZC1zYWZlIG1rZGlyIC1wCmNvbmZpZ3VyZToyNjAz OiByZXN1bHQ6IC4vaW5zdGFsbC1zaCAtYyAtZApjb25maWd1cmU6MjYxNjogY2hlY2tpbmcgZm9y IGdhd2sKY29uZmlndXJlOjI2NDY6IHJlc3VsdDogbm8KY29uZmlndXJlOjI2MTY6IGNoZWNraW5n IGZvciBtYXdrCmNvbmZpZ3VyZToyNjQ2OiByZXN1bHQ6IG5vCmNvbmZpZ3VyZToyNjE2OiBjaGVj a2luZyBmb3IgbmF3awpjb25maWd1cmU6MjYzMjogZm91bmQgL3Vzci9iaW4vbmF3awpjb25maWd1 cmU6MjY0MzogcmVzdWx0OiBuYXdrCmNvbmZpZ3VyZToyNjU0OiBjaGVja2luZyB3aGV0aGVyIGdt YWtlIHNldHMgJChNQUtFKQpjb25maWd1cmU6MjY3NjogcmVzdWx0OiB5ZXMKY29uZmlndXJlOjI4 MDg6IGNoZWNraW5nIHdoZXRoZXIgdG8gZW5hYmxlIG1haW50YWluZXItc3BlY2lmaWMgcG9ydGlv bnMgb2YgTWFrZWZpbGVzCmNvbmZpZ3VyZToyODE3OiByZXN1bHQ6IG5vCmNvbmZpZ3VyZToyODM3 OiBjaGVja2luZyBidWlsZCBzeXN0ZW0gdHlwZQpjb25maWd1cmU6Mjg1NTogcmVzdWx0OiB4ODZf NjQtcG9ydGJsZC1mcmVlYnNkNy4yCmNvbmZpZ3VyZToyODc3OiBjaGVja2luZyBob3N0IHN5c3Rl bSB0eXBlCmNvbmZpZ3VyZToyODkyOiByZXN1bHQ6IHg4Nl82NC1wb3J0YmxkLWZyZWVic2Q3LjIK Y29uZmlndXJlOjI5MTU6IGNoZWNraW5nIGZvciB0aGUgQmVPUwpjb25maWd1cmU6MjkyNTogcmVz dWx0OiBubwpjb25maWd1cmU6MjkyOTogY2hlY2tpbmcgZm9yIFdpbjMyCmNvbmZpZ3VyZToyOTYz OiByZXN1bHQ6IG5vCmNvbmZpZ3VyZToyOTY5OiBjaGVja2luZyBmb3IgTWFjIE9TIFggQ2FyYm9u IHN1cHBvcnQKY29uZmlndXJlOjI5ODM6IGNoZWNraW5nIGZvciBzdHlsZSBvZiBpbmNsdWRlIHVz ZWQgYnkgZ21ha2UKY29uZmlndXJlOjMwMTE6IHJlc3VsdDogR05VCmNvbmZpZ3VyZTozMDgxOiBj aGVja2luZyBmb3IgZ2NjCmNvbmZpZ3VyZTozMTA4OiByZXN1bHQ6IGNjCmNvbmZpZ3VyZTozMzQw OiBjaGVja2luZyBmb3IgQyBjb21waWxlciB2ZXJzaW9uCmNvbmZpZ3VyZTozMzQ4OiBjYyAtLXZl cnNpb24gPiY1CmNjIChHQ0MpIDQuMi4xIDIwMDcwNzE5ICBbRnJlZUJTRF0KQ29weXJpZ2h0IChD KSAyMDA3IEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLgpUaGlzIGlzIGZyZWUgc29mdHdh cmU7IHNlZSB0aGUgc291cmNlIGZvciBjb3B5aW5nIGNvbmRpdGlvbnMuICBUaGVyZSBpcyBOTwp3 YXJyYW50eTsgbm90IGV2ZW4gZm9yIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBB UlRJQ1VMQVIgUFVSUE9TRS4KCmNvbmZpZ3VyZTozMzUyOiAkPyA9IDAKY29uZmlndXJlOjMzNTk6 IGNjIC12ID4mNQpVc2luZyBidWlsdC1pbiBzcGVjcy4KVGFyZ2V0OiBhbWQ2NC11bmRlcm15ZGVz ay1mcmVlYnNkCkNvbmZpZ3VyZWQgd2l0aDogRnJlZUJTRC9hbWQ2NCBzeXN0ZW0gY29tcGlsZXIK VGhyZWFkIG1vZGVsOiBwb3NpeApnY2MgdmVyc2lvbiA0LjIuMSAyMDA3MDcxOSAgW0ZyZWVCU0Rd CmNvbmZpZ3VyZTozMzYzOiAkPyA9IDAKY29uZmlndXJlOjMzNzA6IGNjIC1WID4mNQpjYzogJy1W JyBvcHRpb24gbXVzdCBoYXZlIGFyZ3VtZW50CmNvbmZpZ3VyZTozMzc0OiAkPyA9IDEKY29uZmln dXJlOjMzOTc6IGNoZWNraW5nIGZvciBDIGNvbXBpbGVyIGRlZmF1bHQgb3V0cHV0IGZpbGUgbmFt ZQpjb25maWd1cmU6MzQxOTogY2MgLU8yIC1mbm8tc3RyaWN0LWFsaWFzaW5nIC1waXBlIC1JL3Vz ci9sb2NhbC9pbmNsdWRlIC1ML3Vzci9sb2NhbC9saWIgLWxpbnRsIGNvbmZ0ZXN0LmMgID4mNQpj b25maWd1cmU6MzQyMzogJD8gPSAwCmNvbmZpZ3VyZTozNDYxOiByZXN1bHQ6IGEub3V0CmNvbmZp Z3VyZTozNDgwOiBjaGVja2luZyB3aGV0aGVyIHRoZSBDIGNvbXBpbGVyIHdvcmtzCmNvbmZpZ3Vy ZTozNDkwOiAuL2Eub3V0CmNvbmZpZ3VyZTozNDk0OiAkPyA9IDAKY29uZmlndXJlOjM1MTM6IHJl c3VsdDogeWVzCmNvbmZpZ3VyZTozNTIwOiBjaGVja2luZyB3aGV0aGVyIHdlIGFyZSBjcm9zcyBj b21waWxpbmcKY29uZmlndXJlOjM1MjI6IHJlc3VsdDogbm8KY29uZmlndXJlOjM1MjU6IGNoZWNr aW5nIGZvciBzdWZmaXggb2YgZXhlY3V0YWJsZXMKY29uZmlndXJlOjM1MzI6IGNjIC1vIGNvbmZ0 ZXN0IC1PMiAtZm5vLXN0cmljdC1hbGlhc2luZyAtcGlwZSAtSS91c3IvbG9jYWwvaW5jbHVkZSAt TC91c3IvbG9jYWwvbGliIC1saW50bCBjb25mdGVzdC5jICA+JjUKY29uZmlndXJlOjM1MzY6ICQ/ ID0gMApjb25maWd1cmU6MzU2MjogcmVzdWx0OiAKY29uZmlndXJlOjM1Njg6IGNoZWNraW5nIGZv ciBzdWZmaXggb2Ygb2JqZWN0IGZpbGVzCmNvbmZpZ3VyZTozNTk0OiBjYyAtYyAtTzIgLWZuby1z dHJpY3QtYWxpYXNpbmcgLXBpcGUgLUkvdXNyL2xvY2FsL2luY2x1ZGUgY29uZnRlc3QuYyA+JjUK Y29uZmlndXJlOjM1OTg6ICQ/ID0gMApjb25maWd1cmU6MzYyMzogcmVzdWx0OiBvCmNvbmZpZ3Vy ZTozNjI3OiBjaGVja2luZyB3aGV0aGVyIHdlIGFyZSB1c2luZyB0aGUgR05VIEMgY29tcGlsZXIK Y29uZmlndXJlOjM2NTY6IGNjIC1jIC1PMiAtZm5vLXN0cmljdC1hbGlhc2luZyAtcGlwZSAtSS91 c3IvbG9jYWwvaW5jbHVkZSBjb25mdGVzdC5jID4mNQpjb25maWd1cmU6MzY2MzogJD8gPSAwCmNv bmZpZ3VyZTozNjgwOiByZXN1bHQ6IHllcwpjb25maWd1cmU6MzY4OTogY2hlY2tpbmcgd2hldGhl ciBjYyBhY2NlcHRzIC1nCmNvbmZpZ3VyZTozNzE5OiBjYyAtYyAtZyAtSS91c3IvbG9jYWwvaW5j bHVkZSBjb25mdGVzdC5jID4mNQpjb25maWd1cmU6MzcyNjogJD8gPSAwCmNvbmZpZ3VyZTozODI3 OiByZXN1bHQ6IHllcwpjb25maWd1cmU6Mzg0NDogY2hlY2tpbmcgZm9yIGNjIG9wdGlvbiB0byBh Y2NlcHQgSVNPIEM4OQpjb25maWd1cmU6MzkxODogY2MgIC1jIC1PMiAtZm5vLXN0cmljdC1hbGlh c2luZyAtcGlwZSAtSS91c3IvbG9jYWwvaW5jbHVkZSBjb25mdGVzdC5jID4mNQpjb25maWd1cmU6 MzkyNTogJD8gPSAwCmNvbmZpZ3VyZTozOTQ4OiByZXN1bHQ6IG5vbmUgbmVlZGVkCmNvbmZpZ3Vy ZTozOTY4OiBjaGVja2luZyBkZXBlbmRlbmN5IHN0eWxlIG9mIGNjCmNvbmZpZ3VyZTo0MDc4OiBy ZXN1bHQ6IGdjYzMKY29uZmlndXJlOjQwOTk6IGNoZWNraW5nIGhvdyB0byBydW4gdGhlIEMgcHJl cHJvY2Vzc29yCmNvbmZpZ3VyZTo0MTM5OiBjYyAtRSAtSS91c3IvbG9jYWwvaW5jbHVkZSBjb25m dGVzdC5jCmNvbmZpZ3VyZTo0MTQ2OiAkPyA9IDAKY29uZmlndXJlOjQxNzc6IGNjIC1FIC1JL3Vz ci9sb2NhbC9pbmNsdWRlIGNvbmZ0ZXN0LmMKY29uZnRlc3QuYzoxMzoyODogZXJyb3I6IGFjX25v bmV4aXN0ZW50Lmg6IE5vIHN1Y2ggZmlsZSBvciBkaXJlY3RvcnkKY29uZmlndXJlOjQxODQ6ICQ/ ID0gMQpjb25maWd1cmU6IGZhaWxlZCBwcm9ncmFtIHdhczoKfCAvKiBjb25mZGVmcy5oLiAgKi8K fCAjZGVmaW5lIFBBQ0tBR0VfTkFNRSAiZ2xpYiIKfCAjZGVmaW5lIFBBQ0tBR0VfVEFSTkFNRSAi Z2xpYiIKfCAjZGVmaW5lIFBBQ0tBR0VfVkVSU0lPTiAiMi4yMC41Igp8ICNkZWZpbmUgUEFDS0FH RV9TVFJJTkcgImdsaWIgMi4yMC41Igp8ICNkZWZpbmUgUEFDS0FHRV9CVUdSRVBPUlQgImh0dHA6 Ly9idWd6aWxsYS5nbm9tZS5vcmcvZW50ZXJfYnVnLmNnaT9wcm9kdWN0PWdsaWIiCnwgI2RlZmlu ZSBHTElCX01BSk9SX1ZFUlNJT04gMgp8ICNkZWZpbmUgR0xJQl9NSU5PUl9WRVJTSU9OIDIwCnwg I2RlZmluZSBHTElCX01JQ1JPX1ZFUlNJT04gNQp8ICNkZWZpbmUgR0xJQl9JTlRFUkZBQ0VfQUdF IDUKfCAjZGVmaW5lIEdMSUJfQklOQVJZX0FHRSAyMDA1CnwgLyogZW5kIGNvbmZkZWZzLmguICAq Lwp8ICNpbmNsdWRlIDxhY19ub25leGlzdGVudC5oPgpjb25maWd1cmU6NDIxNzogcmVzdWx0OiBj YyAtRQpjb25maWd1cmU6NDI0NjogY2MgLUUgLUkvdXNyL2xvY2FsL2luY2x1ZGUgY29uZnRlc3Qu Ywpjb25maWd1cmU6NDI1MzogJD8gPSAwCmNvbmZpZ3VyZTo0Mjg0OiBjYyAtRSAtSS91c3IvbG9j YWwvaW5jbHVkZSBjb25mdGVzdC5jCmNvbmZ0ZXN0LmM6MTM6Mjg6IGVycm9yOiBhY19ub25leGlz dGVudC5oOiBObyBzdWNoIGZpbGUgb3IgZGlyZWN0b3J5CmNvbmZpZ3VyZTo0MjkxOiAkPyA9IDEK Y29uZmlndXJlOiBmYWlsZWQgcHJvZ3JhbSB3YXM6CnwgLyogY29uZmRlZnMuaC4gICovCnwgI2Rl ZmluZSBQQUNLQUdFX05BTUUgImdsaWIiCnwgI2RlZmluZSBQQUNLQUdFX1RBUk5BTUUgImdsaWIi CnwgI2RlZmluZSBQQUNLQUdFX1ZFUlNJT04gIjIuMjAuNSIKfCAjZGVmaW5lIFBBQ0tBR0VfU1RS SU5HICJnbGliIDIuMjAuNSIKfCAjZGVmaW5lIFBBQ0tBR0VfQlVHUkVQT1JUICJodHRwOi8vYnVn emlsbGEuZ25vbWUub3JnL2VudGVyX2J1Zy5jZ2k/cHJvZHVjdD1nbGliIgp8ICNkZWZpbmUgR0xJ Ql9NQUpPUl9WRVJTSU9OIDIKfCAjZGVmaW5lIEdMSUJfTUlOT1JfVkVSU0lPTiAyMAp8ICNkZWZp bmUgR0xJQl9NSUNST19WRVJTSU9OIDUKfCAjZGVmaW5lIEdMSUJfSU5URVJGQUNFX0FHRSA1Cnwg I2RlZmluZSBHTElCX0JJTkFSWV9BR0UgMjAwNQp8IC8qIGVuZCBjb25mZGVmcy5oLiAgKi8KfCAj aW5jbHVkZSA8YWNfbm9uZXhpc3RlbnQuaD4KY29uZmlndXJlOjQzNDc6IGNjIC1FIC1JL3Vzci9s b2NhbC9pbmNsdWRlIGNvbmZ0ZXN0LmMKY29uZnRlc3QuYzoxNDoyNzogZXJyb3I6IENhcmJvbi9D YXJib24uaDogTm8gc3VjaCBmaWxlIG9yIGRpcmVjdG9yeQpjb25mdGVzdC5jOjE1OjM5OiBlcnJv cjogQ29yZVNlcnZpY2VzL0NvcmVTZXJ2aWNlcy5oOiBObyBzdWNoIGZpbGUgb3IgZGlyZWN0b3J5 CmNvbmZpZ3VyZTo0MzU0OiAkPyA9IDEKY29uZmlndXJlOiBmYWlsZWQgcHJvZ3JhbSB3YXM6Cnwg LyogY29uZmRlZnMuaC4gICovCnwgI2RlZmluZSBQQUNLQUdFX05BTUUgImdsaWIiCnwgI2RlZmlu ZSBQQUNLQUdFX1RBUk5BTUUgImdsaWIiCnwgI2RlZmluZSBQQUNLQUdFX1ZFUlNJT04gIjIuMjAu NSIKfCAjZGVmaW5lIFBBQ0tBR0VfU1RSSU5HICJnbGliIDIuMjAuNSIKfCAjZGVmaW5lIFBBQ0tB R0VfQlVHUkVQT1JUICJodHRwOi8vYnVnemlsbGEuZ25vbWUub3JnL2VudGVyX2J1Zy5jZ2k/cHJv ZHVjdD1nbGliIgp8ICNkZWZpbmUgR0xJQl9NQUpPUl9WRVJTSU9OIDIKfCAjZGVmaW5lIEdMSUJf TUlOT1JfVkVSU0lPTiAyMAp8ICNkZWZpbmUgR0xJQl9NSUNST19WRVJTSU9OIDUKfCAjZGVmaW5l IEdMSUJfSU5URVJGQUNFX0FHRSA1CnwgI2RlZmluZSBHTElCX0JJTkFSWV9BR0UgMjAwNQp8IC8q IGVuZCBjb25mZGVmcy5oLiAgKi8KfCAKfCAjaW5jbHVkZSA8Q2FyYm9uL0NhcmJvbi5oPgp8ICNp bmNsdWRlIDxDb3JlU2VydmljZXMvQ29yZVNlcnZpY2VzLmg+CnwgCmNvbmZpZ3VyZTo0MzY5OiBy ZXN1bHQ6IG5vCmNvbmZpZ3VyZTo0ODE2OiBjaGVja2luZyB3aGV0aGVyIHRvIGVuYWJsZSBnYXJi YWdlIGNvbGxlY3RvciBmcmllbmRsaW5lc3MKY29uZmlndXJlOjQ4Mjc6IHJlc3VsdDogbm8KY29u ZmlndXJlOjQ4MzE6IGNoZWNraW5nIHdoZXRoZXIgdG8gZGlzYWJsZSBtZW1vcnkgcG9vbHMKY29u ZmlndXJlOjQ4MzQ6IHJlc3VsdDogbm8KY29uZmlndXJlOjQ4OTU6IGNoZWNraW5nIGZvciBnY2MK Y29uZmlndXJlOjQ5MjI6IHJlc3VsdDogY2MKY29uZmlndXJlOjUxNTQ6IGNoZWNraW5nIGZvciBD IGNvbXBpbGVyIHZlcnNpb24KY29uZmlndXJlOjUxNjI6IGNjIC0tdmVyc2lvbiA+JjUKY2MgKEdD QykgNC4yLjEgMjAwNzA3MTkgIFtGcmVlQlNEXQpDb3B5cmlnaHQgKEMpIDIwMDcgRnJlZSBTb2Z0 d2FyZSBGb3VuZGF0aW9uLCBJbmMuClRoaXMgaXMgZnJlZSBzb2Z0d2FyZTsgc2VlIHRoZSBzb3Vy Y2UgZm9yIGNvcHlpbmcgY29uZGl0aW9ucy4gIFRoZXJlIGlzIE5PCndhcnJhbnR5OyBub3QgZXZl biBmb3IgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NF LgoKY29uZmlndXJlOjUxNjY6ICQ/ID0gMApjb25maWd1cmU6NTE3MzogY2MgLXYgPiY1ClVzaW5n IGJ1aWx0LWluIHNwZWNzLgpUYXJnZXQ6IGFtZDY0LXVuZGVybXlkZXNrLWZyZWVic2QKQ29uZmln dXJlZCB3aXRoOiBGcmVlQlNEL2FtZDY0IHN5c3RlbSBjb21waWxlcgpUaHJlYWQgbW9kZWw6IHBv c2l4CmdjYyB2ZXJzaW9uIDQuMi4xIDIwMDcwNzE5ICBbRnJlZUJTRF0KY29uZmlndXJlOjUxNzc6 ICQ/ID0gMApjb25maWd1cmU6NTE4NDogY2MgLVYgPiY1CmNjOiAnLVYnIG9wdGlvbiBtdXN0IGhh dmUgYXJndW1lbnQKY29uZmlndXJlOjUxODg6ICQ/ID0gMQpjb25maWd1cmU6NTE5MTogY2hlY2tp bmcgd2hldGhlciB3ZSBhcmUgdXNpbmcgdGhlIEdOVSBDIGNvbXBpbGVyCmNvbmZpZ3VyZTo1MjQ0 OiByZXN1bHQ6IHllcwpjb25maWd1cmU6NTI1MzogY2hlY2tpbmcgd2hldGhlciBjYyBhY2NlcHRz IC1nCmNvbmZpZ3VyZTo1MzkxOiByZXN1bHQ6IHllcwpjb25maWd1cmU6NTQwODogY2hlY2tpbmcg Zm9yIGNjIG9wdGlvbiB0byBhY2NlcHQgSVNPIEM4OQpjb25maWd1cmU6NTUxMjogcmVzdWx0OiBu b25lIG5lZWRlZApjb25maWd1cmU6NTUzMjogY2hlY2tpbmcgZGVwZW5kZW5jeSBzdHlsZSBvZiBj Ywpjb25maWd1cmU6NTY0MjogcmVzdWx0OiBnY2MzCmNvbmZpZ3VyZTo1NjYyOiBjaGVja2luZyBo b3cgdG8gcnVuIHRoZSBDIHByZXByb2Nlc3Nvcgpjb25maWd1cmU6NTc4MDogcmVzdWx0OiBjYyAt RQpjb25maWd1cmU6NTgwOTogY2MgLUUgLUkvdXNyL2xvY2FsL2luY2x1ZGUgY29uZnRlc3QuYwpj b25maWd1cmU6NTgxNjogJD8gPSAwCmNvbmZpZ3VyZTo1ODQ3OiBjYyAtRSAtSS91c3IvbG9jYWwv aW5jbHVkZSBjb25mdGVzdC5jCmNvbmZ0ZXN0LmM6MTM6Mjg6IGVycm9yOiBhY19ub25leGlzdGVu dC5oOiBObyBzdWNoIGZpbGUgb3IgZGlyZWN0b3J5CmNvbmZpZ3VyZTo1ODU0OiAkPyA9IDEKY29u ZmlndXJlOiBmYWlsZWQgcHJvZ3JhbSB3YXM6CnwgLyogY29uZmRlZnMuaC4gICovCnwgI2RlZmlu ZSBQQUNLQUdFX05BTUUgImdsaWIiCnwgI2RlZmluZSBQQUNLQUdFX1RBUk5BTUUgImdsaWIiCnwg I2RlZmluZSBQQUNLQUdFX1ZFUlNJT04gIjIuMjAuNSIKfCAjZGVmaW5lIFBBQ0tBR0VfU1RSSU5H ICJnbGliIDIuMjAuNSIKfCAjZGVmaW5lIFBBQ0tBR0VfQlVHUkVQT1JUICJodHRwOi8vYnVnemls bGEuZ25vbWUub3JnL2VudGVyX2J1Zy5jZ2k/cHJvZHVjdD1nbGliIgp8ICNkZWZpbmUgR0xJQl9N QUpPUl9WRVJTSU9OIDIKfCAjZGVmaW5lIEdMSUJfTUlOT1JfVkVSU0lPTiAyMAp8ICNkZWZpbmUg R0xJQl9NSUNST19WRVJTSU9OIDUKfCAjZGVmaW5lIEdMSUJfSU5URVJGQUNFX0FHRSA1CnwgI2Rl ZmluZSBHTElCX0JJTkFSWV9BR0UgMjAwNQp8IC8qIGVuZCBjb25mZGVmcy5oLiAgKi8KfCAjaW5j bHVkZSA8YWNfbm9uZXhpc3RlbnQuaD4KY29uZmlndXJlOjU4OTg6IGNoZWNraW5nIGZvciBjKysK Y29uZmlndXJlOjU5MjU6IHJlc3VsdDogYysrCmNvbmZpZ3VyZTo2MDU2OiBjaGVja2luZyBmb3Ig QysrIGNvbXBpbGVyIHZlcnNpb24KY29uZmlndXJlOjYwNjQ6IGMrKyAtLXZlcnNpb24gPiY1CmMr KyAoR0NDKSA0LjIuMSAyMDA3MDcxOSAgW0ZyZWVCU0RdCkNvcHlyaWdodCAoQykgMjAwNyBGcmVl IFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4KVGhpcyBpcyBmcmVlIHNvZnR3YXJlOyBzZWUgdGhl IHNvdXJjZSBmb3IgY29weWluZyBjb25kaXRpb25zLiAgVGhlcmUgaXMgTk8Kd2FycmFudHk7IG5v dCBldmVuIGZvciBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBV UlBPU0UuCgpjb25maWd1cmU6NjA2ODogJD8gPSAwCmNvbmZpZ3VyZTo2MDc1OiBjKysgLXYgPiY1 ClVzaW5nIGJ1aWx0LWluIHNwZWNzLgpUYXJnZXQ6IGFtZDY0LXVuZGVybXlkZXNrLWZyZWVic2QK Q29uZmlndXJlZCB3aXRoOiBGcmVlQlNEL2FtZDY0IHN5c3RlbSBjb21waWxlcgpUaHJlYWQgbW9k ZWw6IHBvc2l4CmdjYyB2ZXJzaW9uIDQuMi4xIDIwMDcwNzE5ICBbRnJlZUJTRF0KY29uZmlndXJl OjYwNzk6ICQ/ID0gMApjb25maWd1cmU6NjA4NjogYysrIC1WID4mNQpjKys6ICctVicgb3B0aW9u IG11c3QgaGF2ZSBhcmd1bWVudApjb25maWd1cmU6NjA5MDogJD8gPSAxCmNvbmZpZ3VyZTo2MDkz OiBjaGVja2luZyB3aGV0aGVyIHdlIGFyZSB1c2luZyB0aGUgR05VIEMrKyBjb21waWxlcgpjb25m aWd1cmU6NjEyMjogYysrIC1jIC1PMiAtZm5vLXN0cmljdC1hbGlhc2luZyAtcGlwZSAtSS91c3Iv bG9jYWwvaW5jbHVkZSBjb25mdGVzdC5jcHAgPiY1CmNvbmZpZ3VyZTo2MTI5OiAkPyA9IDAKY29u ZmlndXJlOjYxNDY6IHJlc3VsdDogeWVzCmNvbmZpZ3VyZTo2MTU1OiBjaGVja2luZyB3aGV0aGVy IGMrKyBhY2NlcHRzIC1nCmNvbmZpZ3VyZTo2MTg1OiBjKysgLWMgLWcgLUkvdXNyL2xvY2FsL2lu Y2x1ZGUgY29uZnRlc3QuY3BwID4mNQpjb25maWd1cmU6NjE5MjogJD8gPSAwCmNvbmZpZ3VyZTo2 MjkzOiByZXN1bHQ6IHllcwpjb25maWd1cmU6NjMxODogY2hlY2tpbmcgZGVwZW5kZW5jeSBzdHls ZSBvZiBjKysKY29uZmlndXJlOjY0Mjg6IHJlc3VsdDogZ2NjMwpjb25maWd1cmU6NjQ2NTogYysr IC1jIC1PMiAtZm5vLXN0cmljdC1hbGlhc2luZyAtcGlwZSAtSS91c3IvbG9jYWwvaW5jbHVkZSBj b25mdGVzdC5jcHAgPiY1CmNvbmZpZ3VyZTo2NDcyOiAkPyA9IDAKY29uZmlndXJlOjY1NDk6IGNo ZWNraW5nIGZvciBnY2MKY29uZmlndXJlOjY1NzY6IHJlc3VsdDogY2MKY29uZmlndXJlOjY4MDg6 IGNoZWNraW5nIGZvciBDIGNvbXBpbGVyIHZlcnNpb24KY29uZmlndXJlOjY4MTY6IGNjIC0tdmVy c2lvbiA+JjUKY2MgKEdDQykgNC4yLjEgMjAwNzA3MTkgIFtGcmVlQlNEXQpDb3B5cmlnaHQgKEMp IDIwMDcgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuClRoaXMgaXMgZnJlZSBzb2Z0d2Fy ZTsgc2VlIHRoZSBzb3VyY2UgZm9yIGNvcHlpbmcgY29uZGl0aW9ucy4gIFRoZXJlIGlzIE5PCndh cnJhbnR5OyBub3QgZXZlbiBmb3IgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFS VElDVUxBUiBQVVJQT1NFLgoKY29uZmlndXJlOjY4MjA6ICQ/ID0gMApjb25maWd1cmU6NjgyNzog Y2MgLXYgPiY1ClVzaW5nIGJ1aWx0LWluIHNwZWNzLgpUYXJnZXQ6IGFtZDY0LXVuZGVybXlkZXNr LWZyZWVic2QKQ29uZmlndXJlZCB3aXRoOiBGcmVlQlNEL2FtZDY0IHN5c3RlbSBjb21waWxlcgpU aHJlYWQgbW9kZWw6IHBvc2l4CmdjYyB2ZXJzaW9uIDQuMi4xIDIwMDcwNzE5ICBbRnJlZUJTRF0K Y29uZmlndXJlOjY4MzE6ICQ/ID0gMApjb25maWd1cmU6NjgzODogY2MgLVYgPiY1CmNjOiAnLVYn IG9wdGlvbiBtdXN0IGhhdmUgYXJndW1lbnQKY29uZmlndXJlOjY4NDI6ICQ/ID0gMQpjb25maWd1 cmU6Njg0NTogY2hlY2tpbmcgd2hldGhlciB3ZSBhcmUgdXNpbmcgdGhlIEdOVSBDIGNvbXBpbGVy CmNvbmZpZ3VyZTo2ODk4OiByZXN1bHQ6IHllcwpjb25maWd1cmU6NjkwNzogY2hlY2tpbmcgd2hl dGhlciBjYyBhY2NlcHRzIC1nCmNvbmZpZ3VyZTo3MDQ1OiByZXN1bHQ6IHllcwpjb25maWd1cmU6 NzA2MjogY2hlY2tpbmcgZm9yIGNjIG9wdGlvbiB0byBhY2NlcHQgSVNPIEM4OQpjb25maWd1cmU6 NzE2NjogcmVzdWx0OiBub25lIG5lZWRlZApjb25maWd1cmU6NzE4NjogY2hlY2tpbmcgZGVwZW5k ZW5jeSBzdHlsZSBvZiBjYwpjb25maWd1cmU6NzI5NjogcmVzdWx0OiBnY2MzCmNvbmZpZ3VyZTo3 MzE4OiBjaGVja2luZyB3aGV0aGVyIGNjIHVuZGVyc3RhbmRzIC1jIGFuZCAtbyB0b2dldGhlcgpj b25maWd1cmU6NzM1MDogY2MgLWMgY29uZnRlc3QuYyAtbyBjb25mdGVzdDIubyA+JjUKY29uZmln dXJlOjczNTQ6ICQ/ID0gMApjb25maWd1cmU6NzM2MDogY2MgLWMgY29uZnRlc3QuYyAtbyBjb25m dGVzdDIubyA+JjUKY29uZmlndXJlOjczNjQ6ICQ/ID0gMApjb25maWd1cmU6NzQxOTogcmVzdWx0 OiB5ZXMKY29uZmlndXJlOjc0NjA6IGNoZWNraW5nIGZvciBhIEJTRC1jb21wYXRpYmxlIGluc3Rh bGwKY29uZmlndXJlOjc1Mjg6IHJlc3VsdDogL3Vzci9iaW4vaW5zdGFsbCAtYyAtbyByb290IC1n IHdoZWVsCmNvbmZpZ3VyZTo3NTQ3OiBjaGVja2luZyBmb3Igc3BlY2lhbCBDIGNvbXBpbGVyIG9w dGlvbnMgbmVlZGVkIGZvciBsYXJnZSBmaWxlcwpjb25maWd1cmU6NzY0MjogcmVzdWx0OiBubwpj b25maWd1cmU6NzY0ODogY2hlY2tpbmcgZm9yIF9GSUxFX09GRlNFVF9CSVRTIHZhbHVlIG5lZWRl ZCBmb3IgbGFyZ2UgZmlsZXMKY29uZmlndXJlOjc2ODM6IGNjIC1jIC1PMiAtZm5vLXN0cmljdC1h bGlhc2luZyAtcGlwZSAtSS91c3IvbG9jYWwvaW5jbHVkZSBjb25mdGVzdC5jID4mNQpjb25maWd1 cmU6NzY5MDogJD8gPSAwCmNvbmZpZ3VyZTo3NzU5OiByZXN1bHQ6IG5vCmNvbmZpZ3VyZTo3OTAy OiBjaGVja2luZyBmb3IgcGtnLWNvbmZpZwpjb25maWd1cmU6NzkyMDogZm91bmQgL3Vzci9sb2Nh bC9iaW4vcGtnLWNvbmZpZwpjb25maWd1cmU6NzkzMzogcmVzdWx0OiAvdXNyL2xvY2FsL2Jpbi9w a2ctY29uZmlnCmNvbmZpZ3VyZTo4MDI1OiBjaGVja2luZyBmb3IgZ2F3awpjb25maWd1cmU6ODA1 MjogcmVzdWx0OiBuYXdrCmNvbmZpZ3VyZTo4MDY3OiBjaGVja2luZyBmb3IgcGVybDUKY29uZmln dXJlOjgwODM6IGZvdW5kIC91c3IvYmluL3Blcmw1CmNvbmZpZ3VyZTo4MDk0OiByZXN1bHQ6IHBl cmw1CmNvbmZpZ3VyZTo4MTA4OiBjaGVja2luZyBmb3IgaW5kZW50CmNvbmZpZ3VyZTo4MTI0OiBm b3VuZCAvdXNyL2Jpbi9pbmRlbnQKY29uZmlndXJlOjgxMzU6IHJlc3VsdDogaW5kZW50CmNvbmZp Z3VyZTo4MTU3OiBjaGVja2luZyBmb3IgcGVybDUKY29uZmlndXJlOjgxNzU6IGZvdW5kIC91c3Iv YmluL3Blcmw1CmNvbmZpZ3VyZTo4MTg3OiByZXN1bHQ6IC91c3IvYmluL3Blcmw1CmNvbmZpZ3Vy ZTo4MjA4OiBjaGVja2luZyB3aGV0aGVyIC91c3IvbG9jYWwvYmluL3B5dGhvbjIuNSB2ZXJzaW9u ID49IDIuNApjb25maWd1cmU6ODIxOTogL3Vzci9sb2NhbC9iaW4vcHl0aG9uMi41IC1jIGltcG9y dCBzeXMgIyBzcGxpdCBzdHJpbmdzIGJ5ICcuJyBhbmQgY29udmVydCB0byBudW1lcmljLiBBcHBl bmQgc29tZSB6ZXJvcyAjIGJlY2F1c2Ugd2UgbmVlZCBhdCBsZWFzdCA0IGRpZ2l0cyBmb3IgdGhl IGhleCBjb252ZXJzaW9uLiAjIG1hcCByZXR1cm5zIGFuIGl0ZXJhdG9yIGluIFB5dGhvbiAzLjAg YW5kIGEgbGlzdCBpbiAyLnggbWludmVyID0gbGlzdChtYXAoaW50LCAnMi40Jy5zcGxpdCgnLicp KSkgKyBbMCwgMCwgMF0gbWludmVyaGV4ID0gMCAjIHhyYW5nZSBpcyBub3QgcHJlc2VudCBpbiBQ eXRob24gMy4wIGFuZCByYW5nZSByZXR1cm5zIGFuIGl0ZXJhdG9yIGZvciBpIGluIGxpc3QocmFu Z2UoMCwgNCkpOiBtaW52ZXJoZXggPSAobWludmVyaGV4IDw8IDgpICsgbWludmVyW2ldIHN5cy5l eGl0KHN5cy5oZXh2ZXJzaW9uIDwgbWludmVyaGV4KQpjb25maWd1cmU6ODIyMjogJD8gPSAwCmNv bmZpZ3VyZTo4MjI0OiByZXN1bHQ6IHllcwpjb25maWd1cmU6ODMxOTogY2hlY2tpbmcgZm9yIC91 c3IvbG9jYWwvYmluL3B5dGhvbjIuNSB2ZXJzaW9uCmNvbmZpZ3VyZTo4MzI2OiByZXN1bHQ6IDIu NQpjb25maWd1cmU6ODMzODogY2hlY2tpbmcgZm9yIC91c3IvbG9jYWwvYmluL3B5dGhvbjIuNSBw bGF0Zm9ybQpjb25maWd1cmU6ODM0NTogcmVzdWx0OiBmcmVlYnNkNwpjb25maWd1cmU6ODM1Mjog Y2hlY2tpbmcgZm9yIC91c3IvbG9jYWwvYmluL3B5dGhvbjIuNSBzY3JpcHQgZGlyZWN0b3J5CmNv bmZpZ3VyZTo4MzczOiByZXN1bHQ6ICR7cHJlZml4fS9saWIvcHl0aG9uMi41L3NpdGUtcGFja2Fn ZXMKY29uZmlndXJlOjgzODI6IGNoZWNraW5nIGZvciAvdXNyL2xvY2FsL2Jpbi9weXRob24yLjUg ZXh0ZW5zaW9uIG1vZHVsZSBkaXJlY3RvcnkKY29uZmlndXJlOjg0MDM6IHJlc3VsdDogJHtleGVj X3ByZWZpeH0vbGliL3B5dGhvbjIuNS9zaXRlLXBhY2thZ2VzCmNvbmZpZ3VyZTo4NzYyOiBjaGVj a2luZyBmb3IgbGliaWNvbnZfb3BlbiBpbiAtbGljb252CmNvbmZpZ3VyZTo4Nzk3OiBjYyAtbyBj b25mdGVzdCAtTzIgLWZuby1zdHJpY3QtYWxpYXNpbmcgLXBpcGUgLUkvdXNyL2xvY2FsL2luY2x1 ZGUgLUwvdXNyL2xvY2FsL2xpYiAtbGludGwgY29uZnRlc3QuYyAtbGljb252ICAgPiY1CmNvbmZp Z3VyZTo4ODA0OiAkPyA9IDAKY29uZmlndXJlOjg4MjU6IHJlc3VsdDogeWVzCmNvbmZpZ3VyZTo4 OTEyOiBjaGVja2luZyBmb3IgZ3JlcCB0aGF0IGhhbmRsZXMgbG9uZyBsaW5lcyBhbmQgLWUKY29u ZmlndXJlOjg5NzI6IHJlc3VsdDogL3Vzci9iaW4vZ3JlcApjb25maWd1cmU6ODk3NzogY2hlY2tp bmcgZm9yIGVncmVwCmNvbmZpZ3VyZTo5MDQxOiByZXN1bHQ6IC91c3IvYmluL2dyZXAgLUUKY29u ZmlndXJlOjkwNDc6IGNoZWNraW5nIHdoZXRoZXIgd2UgYXJlIHVzaW5nIHRoZSBHTlUgQyBMaWJy YXJ5IDIuMSBvciBuZXdlcgpjb25mdGVzdC5jOjE0OjIyOiBlcnJvcjogZmVhdHVyZXMuaDogTm8g c3VjaCBmaWxlIG9yIGRpcmVjdG9yeQpjb25maWd1cmU6OTA3ODogcmVzdWx0OiBubwpjb25maWd1 cmU6OTA5MjogY2hlY2tpbmcgV2hldGhlciB0byBjYWNoZSBpY29udiBkZXNjcmlwdG9ycwpjb25m aWd1cmU6OTExODogcmVzdWx0OiB5ZXMKY29uZmlndXJlOjkxMjY6IGNoZWNraW5nIGZvciBBTlNJ IEMgaGVhZGVyIGZpbGVzCmNvbmZpZ3VyZTo5MTU2OiBjYyAtYyAtTzIgLWZuby1zdHJpY3QtYWxp YXNpbmcgLXBpcGUgLUkvdXNyL2xvY2FsL2luY2x1ZGUgY29uZnRlc3QuYyA+JjUKY29uZmlndXJl OjkxNjM6ICQ/ID0gMApjb25maWd1cmU6OTI2MjogY2MgLW8gY29uZnRlc3QgLU8yIC1mbm8tc3Ry aWN0LWFsaWFzaW5nIC1waXBlIC1JL3Vzci9sb2NhbC9pbmNsdWRlIC1ML3Vzci9sb2NhbC9saWIg LWxpbnRsIGNvbmZ0ZXN0LmMgID4mNQpjb25maWd1cmU6OTI2NjogJD8gPSAwCmNvbmZpZ3VyZTo5 MjcyOiAuL2NvbmZ0ZXN0CmNvbmZpZ3VyZTo5Mjc2OiAkPyA9IDAKY29uZmlndXJlOjkyOTQ6IHJl c3VsdDogeWVzCmNvbmZpZ3VyZTo5MzE4OiBjaGVja2luZyBmb3Igc3lzL3R5cGVzLmgKY29uZmln dXJlOjkzMzk6IGNjIC1jIC1PMiAtZm5vLXN0cmljdC1hbGlhc2luZyAtcGlwZSAtSS91c3IvbG9j YWwvaW5jbHVkZSBjb25mdGVzdC5jID4mNQpjb25maWd1cmU6OTM0NjogJD8gPSAwCmNvbmZpZ3Vy ZTo5MzYzOiByZXN1bHQ6IHllcwpjb25maWd1cmU6OTMxODogY2hlY2tpbmcgZm9yIHN5cy9zdGF0 LmgKY29uZmlndXJlOjkzMzk6IGNjIC1jIC1PMiAtZm5vLXN0cmljdC1hbGlhc2luZyAtcGlwZSAt SS91c3IvbG9jYWwvaW5jbHVkZSBjb25mdGVzdC5jID4mNQpjb25maWd1cmU6OTM0NjogJD8gPSAw CmNvbmZpZ3VyZTo5MzYzOiByZXN1bHQ6IHllcwpjb25maWd1cmU6OTMxODogY2hlY2tpbmcgZm9y IHN0ZGxpYi5oCmNvbmZpZ3VyZTo5MzM5OiBjYyAtYyAtTzIgLWZuby1zdHJpY3QtYWxpYXNpbmcg LXBpcGUgLUkvdXNyL2xvY2FsL2luY2x1ZGUgY29uZnRlc3QuYyA+JjUKY29uZmlndXJlOjkzNDY6 ICQ/ID0gMApjb25maWd1cmU6OTM2MzogcmVzdWx0OiB5ZXMKY29uZmlndXJlOjkzMTg6IGNoZWNr aW5nIGZvciBzdHJpbmcuaApjb25maWd1cmU6OTMzOTogY2MgLWMgLU8yIC1mbm8tc3RyaWN0LWFs aWFzaW5nIC1waXBlIC1JL3Vzci9sb2NhbC9pbmNsdWRlIGNvbmZ0ZXN0LmMgPiY1CmNvbmZpZ3Vy ZTo5MzQ2OiAkPyA9IDAKY29uZmlndXJlOjkzNjM6IHJlc3VsdDogeWVzCmNvbmZpZ3VyZTo5MzE4 OiBjaGVja2luZyBmb3IgbWVtb3J5LmgKY29uZmlndXJlOjkzMzk6IGNjIC1jIC1PMiAtZm5vLXN0 cmljdC1hbGlhc2luZyAtcGlwZSAtSS91c3IvbG9jYWwvaW5jbHVkZSBjb25mdGVzdC5jID4mNQpj b25maWd1cmU6OTM0NjogJD8gPSAwCmNvbmZpZ3VyZTo5MzYzOiByZXN1bHQ6IHllcwpjb25maWd1 cmU6OTMxODogY2hlY2tpbmcgZm9yIHN0cmluZ3MuaApjb25maWd1cmU6OTMzOTogY2MgLWMgLU8y IC1mbm8tc3RyaWN0LWFsaWFzaW5nIC1waXBlIC1JL3Vzci9sb2NhbC9pbmNsdWRlIGNvbmZ0ZXN0 LmMgPiY1CmNvbmZpZ3VyZTo5MzQ2OiAkPyA9IDAKY29uZmlndXJlOjkzNjM6IHJlc3VsdDogeWVz CmNvbmZpZ3VyZTo5MzE4OiBjaGVja2luZyBmb3IgaW50dHlwZXMuaApjb25maWd1cmU6OTMzOTog Y2MgLWMgLU8yIC1mbm8tc3RyaWN0LWFsaWFzaW5nIC1waXBlIC1JL3Vzci9sb2NhbC9pbmNsdWRl IGNvbmZ0ZXN0LmMgPiY1CmNvbmZpZ3VyZTo5MzQ2OiAkPyA9IDAKY29uZmlndXJlOjkzNjM6IHJl c3VsdDogeWVzCmNvbmZpZ3VyZTo5MzE4OiBjaGVja2luZyBmb3Igc3RkaW50LmgKY29uZmlndXJl OjkzMzk6IGNjIC1jIC1PMiAtZm5vLXN0cmljdC1hbGlhc2luZyAtcGlwZSAtSS91c3IvbG9jYWwv aW5jbHVkZSBjb25mdGVzdC5jID4mNQpjb25maWd1cmU6OTM0NjogJD8gPSAwCmNvbmZpZ3VyZTo5 MzYzOiByZXN1bHQ6IHllcwpjb25maWd1cmU6OTMxODogY2hlY2tpbmcgZm9yIHVuaXN0ZC5oCmNv bmZpZ3VyZTo5MzM5OiBjYyAtYyAtTzIgLWZuby1zdHJpY3QtYWxpYXNpbmcgLXBpcGUgLUkvdXNy L2xvY2FsL2luY2x1ZGUgY29uZnRlc3QuYyA+JjUKY29uZmlndXJlOjkzNDY6ICQ/ID0gMApjb25m aWd1cmU6OTM2MzogcmVzdWx0OiB5ZXMKY29uZmlndXJlOjkzOTQ6IGNoZWNraW5nIGxvY2FsZS5o IHVzYWJpbGl0eQpjb25maWd1cmU6OTQxMTogY2MgLWMgLU8yIC1mbm8tc3RyaWN0LWFsaWFzaW5n IC1waXBlIC1JL3Vzci9sb2NhbC9pbmNsdWRlIGNvbmZ0ZXN0LmMgPiY1CmNvbmZpZ3VyZTo5NDE4 OiAkPyA9IDAKY29uZmlndXJlOjk0MzI6IHJlc3VsdDogeWVzCmNvbmZpZ3VyZTo5NDM2OiBjaGVj a2luZyBsb2NhbGUuaCBwcmVzZW5jZQpjb25maWd1cmU6OTQ1MTogY2MgLUUgLUkvdXNyL2xvY2Fs L2luY2x1ZGUgY29uZnRlc3QuYwpjb25maWd1cmU6OTQ1ODogJD8gPSAwCmNvbmZpZ3VyZTo5NDcy OiByZXN1bHQ6IHllcwpjb25maWd1cmU6OTUwNTogY2hlY2tpbmcgZm9yIGxvY2FsZS5oCmNvbmZp Z3VyZTo5NTE0OiByZXN1bHQ6IHllcwpjb25maWd1cmU6OTUzMDogY2hlY2tpbmcgZm9yIExDX01F U1NBR0VTCmNvbmZpZ3VyZTo5NTU2OiBjYyAtbyBjb25mdGVzdCAtTzIgLWZuby1zdHJpY3QtYWxp YXNpbmcgLXBpcGUgLUkvdXNyL2xvY2FsL2luY2x1ZGUgLUwvdXNyL2xvY2FsL2xpYiAtbGludGwg Y29uZnRlc3QuYyAgPiY1CmNvbmZpZ3VyZTo5NTYzOiAkPyA9IDAKY29uZmlndXJlOjk1ODM6IHJl c3VsdDogeWVzCmNvbmZpZ3VyZTo5NjEyOiBjaGVja2luZyBsaWJpbnRsLmggdXNhYmlsaXR5CmNv bmZpZ3VyZTo5NjI5OiBjYyAtYyAtTzIgLWZuby1zdHJpY3QtYWxpYXNpbmcgLXBpcGUgLUkvdXNy L2xvY2FsL2luY2x1ZGUgY29uZnRlc3QuYyA+JjUKY29uZmlndXJlOjk2MzY6ICQ/ID0gMApjb25m aWd1cmU6OTY1MDogcmVzdWx0OiB5ZXMKY29uZmlndXJlOjk2NTQ6IGNoZWNraW5nIGxpYmludGwu aCBwcmVzZW5jZQpjb25maWd1cmU6OTY2OTogY2MgLUUgLUkvdXNyL2xvY2FsL2luY2x1ZGUgY29u ZnRlc3QuYwpjb25maWd1cmU6OTY3NjogJD8gPSAwCmNvbmZpZ3VyZTo5NjkwOiByZXN1bHQ6IHll cwpjb25maWd1cmU6OTcyMzogY2hlY2tpbmcgZm9yIGxpYmludGwuaApjb25maWd1cmU6OTczMDog cmVzdWx0OiB5ZXMKY29uZmlndXJlOjk3NDE6IGNoZWNraW5nIGZvciBuZ2V0dGV4dCBpbiBsaWJj CmNvbmZpZ3VyZTo5NzY5OiBjYyAtbyBjb25mdGVzdCAtTzIgLWZuby1zdHJpY3QtYWxpYXNpbmcg LXBpcGUgLUkvdXNyL2xvY2FsL2luY2x1ZGUgLUwvdXNyL2xvY2FsL2xpYiAtbGludGwgY29uZnRl c3QuYyAgPiY1CmNvbmZpZ3VyZTo5Nzc2OiAkPyA9IDAKY29uZmlndXJlOjk3OTc6IHJlc3VsdDog eWVzCmNvbmZpZ3VyZTo5ODAxOiBjaGVja2luZyBmb3IgZGdldHRleHQgaW4gbGliYwpjb25maWd1 cmU6OTgyOTogY2MgLW8gY29uZnRlc3QgLU8yIC1mbm8tc3RyaWN0LWFsaWFzaW5nIC1waXBlIC1J L3Vzci9sb2NhbC9pbmNsdWRlIC1ML3Vzci9sb2NhbC9saWIgLWxpbnRsIGNvbmZ0ZXN0LmMgID4m NQpjb25maWd1cmU6OTgzNjogJD8gPSAwCmNvbmZpZ3VyZTo5ODU3OiByZXN1bHQ6IHllcwpjb25m aWd1cmU6OTg2NjogY2hlY2tpbmcgZm9yIGJpbmRfdGV4dGRvbWFpbl9jb2Rlc2V0CmNvbmZpZ3Vy ZTo5OTIyOiBjYyAtbyBjb25mdGVzdCAtTzIgLWZuby1zdHJpY3QtYWxpYXNpbmcgLXBpcGUgLUkv dXNyL2xvY2FsL2luY2x1ZGUgLUwvdXNyL2xvY2FsL2xpYiAtbGludGwgY29uZnRlc3QuYyAgPiY1 CmNvbmZpZ3VyZTo5OTI5OiAkPyA9IDAKY29uZmlndXJlOjk5NTE6IHJlc3VsdDogeWVzCmNvbmZp Z3VyZToxMDQ2NzogY2hlY2tpbmcgZm9yIG1zZ2ZtdApjb25maWd1cmU6MTA0OTQ6IHJlc3VsdDog L3Vzci9sb2NhbC9iaW4vbXNnZm10CmNvbmZpZ3VyZToxMDUwNzogY2hlY2tpbmcgZm9yIGRjZ2V0 dGV4dApjb25maWd1cmU6MTA1NjM6IGNjIC1vIGNvbmZ0ZXN0IC1PMiAtZm5vLXN0cmljdC1hbGlh c2luZyAtcGlwZSAtSS91c3IvbG9jYWwvaW5jbHVkZSAtTC91c3IvbG9jYWwvbGliIC1saW50bCBj b25mdGVzdC5jICAgPiY1CmNvbmZ0ZXN0LmM6NTE6IHdhcm5pbmc6IGNvbmZsaWN0aW5nIHR5cGVz IGZvciBidWlsdC1pbiBmdW5jdGlvbiAnZGNnZXR0ZXh0Jwpjb25maWd1cmU6MTA1NzA6ICQ/ID0g MApjb25maWd1cmU6MTA1OTI6IHJlc3VsdDogeWVzCmNvbmZpZ3VyZToxMDYwNTogY2hlY2tpbmcg aWYgbXNnZm10IGFjY2VwdHMgLWMKY29uZmlndXJlOjEwNjIwOiAkTVNHRk1UIC1jIC1vIC9kZXYv bnVsbCBjb25mdGVzdC5mb28KY29uZmlndXJlOjEwNjIzOiAkPyA9IDAKY29uZmlndXJlOjEwNjI1 OiByZXN1bHQ6IHllcwpjb25maWd1cmU6MTA2MzU6IGNoZWNraW5nIGZvciBnbXNnZm10CmNvbmZp Z3VyZToxMDY2NjogcmVzdWx0OiAvdXNyL2xvY2FsL2Jpbi9tc2dmbXQKY29uZmlndXJlOjEwNjc2 OiBjaGVja2luZyBmb3IgeGdldHRleHQKY29uZmlndXJlOjEwNzAzOiByZXN1bHQ6IC91c3IvbG9j YWwvYmluL3hnZXR0ZXh0CmNvbmZpZ3VyZToxMDczMjogY2MgLW8gY29uZnRlc3QgLU8yIC1mbm8t c3RyaWN0LWFsaWFzaW5nIC1waXBlIC1JL3Vzci9sb2NhbC9pbmNsdWRlIC1ML3Vzci9sb2NhbC9s aWIgLWxpbnRsIGNvbmZ0ZXN0LmMgICA+JjUKY29uZmlndXJlOjEwNzM5OiAkPyA9IDAKY29uZmln dXJlOjEwOTE1OiBjaGVja2luZyBmb3IgY2F0YWxvZ3MgdG8gYmUgaW5zdGFsbGVkCmNvbmZpZ3Vy ZToxMDk0MDogcmVzdWx0OiAgYW0gYXIgYXMgYXogYmUgYmVAbGF0aW4gYmcgYm4gYm5fSU4gYnMg Y2EgY2FAdmFsZW5jaWEgY3MgY3kgZGEgZGUgZHogZWwgZW5fQ0EgZW5fR0IgZW8gZXMgZXQgZXUg ZmEgZmkgZnIgZ2EgZ2wgZ3UgaGUgaGkgaHIgaHUgaHkgaWQgaXMgaXQgamEga2Ega24ga28ga3Ug bHQgbHYgbWFpIG1nIG1rIG1sIG1uIG1yIG1zIG5iIG5lIG5sIG5uIG9jIG9yIHBhIHBsIHBzIHB0 IHB0X0JSIHJvIHJ1IHJ3IHNpIHNrIHNsIHNxIHNyIHNyQGxhdGluIHNyQGlqZSBzdiB0YSB0ZSB0 aCB0bCB0ciB0dCB1ayB2aSB3YSB4aCB5aSB6aF9DTiB6aF9ISyB6aF9UVwpjb25maWd1cmU6MTE0 MDM6IGNoZWNraW5nIGZvciBhIHNlZCB0aGF0IGRvZXMgbm90IHRydW5jYXRlIG91dHB1dApjb25m aWd1cmU6MTE0Njk6IHJlc3VsdDogL3Vzci9iaW4vc2VkCmNvbmZpZ3VyZToxMTQ4NzogY2hlY2tp bmcgZm9yIGZncmVwCmNvbmZpZ3VyZToxMTU1MTogcmVzdWx0OiAvdXNyL2Jpbi9ncmVwIC1GCmNv bmZpZ3VyZToxMTU4NjogY2hlY2tpbmcgZm9yIGxkIHVzZWQgYnkgY2MKY29uZmlndXJlOjExNjUz OiByZXN1bHQ6IC91c3IvYmluL2xkCmNvbmZpZ3VyZToxMTY2MjogY2hlY2tpbmcgaWYgdGhlIGxp bmtlciAoL3Vzci9iaW4vbGQpIGlzIEdOVSBsZApjb25maWd1cmU6MTE2Nzc6IHJlc3VsdDogeWVz CmNvbmZpZ3VyZToxMTY4OTogY2hlY2tpbmcgZm9yIEJTRC0gb3IgTVMtY29tcGF0aWJsZSBuYW1l IGxpc3RlciAobm0pCmNvbmZpZ3VyZToxMTczODogcmVzdWx0OiAvdXNyL2Jpbi9ubSAtQgpjb25m aWd1cmU6MTE4NTY6IGNoZWNraW5nIHRoZSBuYW1lIGxpc3RlciAoL3Vzci9iaW4vbm0gLUIpIGlu dGVyZmFjZQpjb25maWd1cmU6MTE4NjM6IGNjIC1jIC1PMiAtZm5vLXN0cmljdC1hbGlhc2luZyAt cGlwZSAtSS91c3IvbG9jYWwvaW5jbHVkZSBjb25mdGVzdC5jID4mNQpjb25maWd1cmU6MTE4NjY6 IC91c3IvYmluL25tIC1CICJjb25mdGVzdC5vIgpjb25maWd1cmU6MTE4Njk6IG91dHB1dAowMDAw MDAwMDAwMDAwMDAwIEIgc29tZV92YXJpYWJsZQpjb25maWd1cmU6MTE4NzY6IHJlc3VsdDogQlNE IG5tCmNvbmZpZ3VyZToxMTg3OTogY2hlY2tpbmcgd2hldGhlciBsbiAtcyB3b3Jrcwpjb25maWd1 cmU6MTE4ODM6IHJlc3VsdDogeWVzCmNvbmZpZ3VyZToxMTg5MTogY2hlY2tpbmcgdGhlIG1heGlt dW0gbGVuZ3RoIG9mIGNvbW1hbmQgbGluZSBhcmd1bWVudHMKY29uZmlndXJlOjEyMDExOiByZXN1 bHQ6IDI2MjE0NApjb25maWd1cmU6MTIwMjg6IGNoZWNraW5nIHdoZXRoZXIgdGhlIHNoZWxsIHVu ZGVyc3RhbmRzIHNvbWUgWFNJIGNvbnN0cnVjdHMKY29uZmlndXJlOjEyMDM4OiByZXN1bHQ6IHll cwpjb25maWd1cmU6MTIwNDI6IGNoZWNraW5nIHdoZXRoZXIgdGhlIHNoZWxsIHVuZGVyc3RhbmRz ICIrPSIKY29uZmlndXJlOjEyMDQ4OiByZXN1bHQ6IG5vCmNvbmZpZ3VyZToxMjA4MzogY2hlY2tp bmcgZm9yIC91c3IvYmluL2xkIG9wdGlvbiB0byByZWxvYWQgb2JqZWN0IGZpbGVzCmNvbmZpZ3Vy ZToxMjA5MDogcmVzdWx0OiAtcgpjb25maWd1cmU6MTIxNTk6IGNoZWNraW5nIGZvciBvYmpkdW1w CmNvbmZpZ3VyZToxMjE4NjogcmVzdWx0OiBvYmpkdW1wCmNvbmZpZ3VyZToxMjIxNTogY2hlY2tp bmcgaG93IHRvIHJlY29nbml6ZSBkZXBlbmRlbnQgbGlicmFyaWVzCmNvbmZpZ3VyZToxMjQxMTog cmVzdWx0OiBwYXNzX2FsbApjb25maWd1cmU6MTI0NzE6IGNoZWNraW5nIGZvciBhcgpjb25maWd1 cmU6MTI0ODc6IGZvdW5kIC91c3IvYmluL2FyCmNvbmZpZ3VyZToxMjQ5ODogcmVzdWx0OiBhcgpj b25maWd1cmU6MTI1NzY6IGNoZWNraW5nIGZvciBzdHJpcApjb25maWd1cmU6MTI1OTI6IGZvdW5k IC91c3IvYmluL3N0cmlwCmNvbmZpZ3VyZToxMjYwMzogcmVzdWx0OiBzdHJpcApjb25maWd1cmU6 MTI2NzU6IGNoZWNraW5nIGZvciByYW5saWIKY29uZmlndXJlOjEyNjkxOiBmb3VuZCAvdXNyL2Jp bi9yYW5saWIKY29uZmlndXJlOjEyNzAyOiByZXN1bHQ6IHJhbmxpYgpjb25maWd1cmU6MTI3OTI6 IGNoZWNraW5nIGNvbW1hbmQgdG8gcGFyc2UgL3Vzci9iaW4vbm0gLUIgb3V0cHV0IGZyb20gY2Mg b2JqZWN0CmNvbmZpZ3VyZToxMjkxMDogY2MgLWMgLU8yIC1mbm8tc3RyaWN0LWFsaWFzaW5nIC1w aXBlIC1JL3Vzci9sb2NhbC9pbmNsdWRlIGNvbmZ0ZXN0LmMgPiY1CmNvbmZpZ3VyZToxMjkxMzog JD8gPSAwCmNvbmZpZ3VyZToxMjkxNzogL3Vzci9iaW4vbm0gLUIgY29uZnRlc3QubyBcfCBzZWQg LW4gLWUgJ3MvXi4qWwkgXVwoW0FCQ0RHSVJTVFddW0FCQ0RHSVJTVFddKlwpWwkgXVsJIF0qXChb X0EtWmEtel1bX0EtWmEtejAtOV0qXCkkL1wxIFwyIFwyL3AnIFw+IGNvbmZ0ZXN0Lm5tCmNvbmZp Z3VyZToxMjkyMDogJD8gPSAwCmNvbmZpZ3VyZToxMjk3NDogY2MgLW8gY29uZnRlc3QgLU8yIC1m bm8tc3RyaWN0LWFsaWFzaW5nIC1waXBlIC1JL3Vzci9sb2NhbC9pbmNsdWRlIC1ML3Vzci9sb2Nh bC9saWIgLWxpbnRsIGNvbmZ0ZXN0LmMgY29uZnRzdG0ubyA+JjUKY29uZmlndXJlOjEyOTc3OiAk PyA9IDAKY29uZmlndXJlOjEzMDE1OiByZXN1bHQ6IG9rCmNvbmZpZ3VyZToxMzg4MDogY2hlY2tp bmcgZm9yIGRsZmNuLmgKY29uZmlndXJlOjEzOTAxOiBjYyAtYyAtTzIgLWZuby1zdHJpY3QtYWxp YXNpbmcgLXBpcGUgLUkvdXNyL2xvY2FsL2luY2x1ZGUgY29uZnRlc3QuYyA+JjUKY29uZmlndXJl OjEzOTA4OiAkPyA9IDAKY29uZmlndXJlOjEzOTI1OiByZXN1bHQ6IHllcwpjb25maWd1cmU6MTQw NTI6IGNoZWNraW5nIGZvciBDKysgY29tcGlsZXIgdmVyc2lvbgpjb25maWd1cmU6MTQwNjA6IGMr KyAtLXZlcnNpb24gPiY1CmMrKyAoR0NDKSA0LjIuMSAyMDA3MDcxOSAgW0ZyZWVCU0RdCkNvcHly aWdodCAoQykgMjAwNyBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4KVGhpcyBpcyBmcmVl IHNvZnR3YXJlOyBzZWUgdGhlIHNvdXJjZSBmb3IgY29weWluZyBjb25kaXRpb25zLiAgVGhlcmUg aXMgTk8Kd2FycmFudHk7IG5vdCBldmVuIGZvciBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBG T1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuCgpjb25maWd1cmU6MTQwNjQ6ICQ/ID0gMApjb25maWd1 cmU6MTQwNzE6IGMrKyAtdiA+JjUKVXNpbmcgYnVpbHQtaW4gc3BlY3MuClRhcmdldDogYW1kNjQt dW5kZXJteWRlc2stZnJlZWJzZApDb25maWd1cmVkIHdpdGg6IEZyZWVCU0QvYW1kNjQgc3lzdGVt IGNvbXBpbGVyClRocmVhZCBtb2RlbDogcG9zaXgKZ2NjIHZlcnNpb24gNC4yLjEgMjAwNzA3MTkg IFtGcmVlQlNEXQpjb25maWd1cmU6MTQwNzU6ICQ/ID0gMApjb25maWd1cmU6MTQwODI6IGMrKyAt ViA+JjUKYysrOiAnLVYnIG9wdGlvbiBtdXN0IGhhdmUgYXJndW1lbnQKY29uZmlndXJlOjE0MDg2 OiAkPyA9IDEKY29uZmlndXJlOjE0MDg5OiBjaGVja2luZyB3aGV0aGVyIHdlIGFyZSB1c2luZyB0 aGUgR05VIEMrKyBjb21waWxlcgpjb25maWd1cmU6MTQxNDI6IHJlc3VsdDogeWVzCmNvbmZpZ3Vy ZToxNDE1MTogY2hlY2tpbmcgd2hldGhlciBjKysgYWNjZXB0cyAtZwpjb25maWd1cmU6MTQyODk6 IHJlc3VsdDogeWVzCmNvbmZpZ3VyZToxNDMxNDogY2hlY2tpbmcgZGVwZW5kZW5jeSBzdHlsZSBv ZiBjKysKY29uZmlndXJlOjE0NDI0OiByZXN1bHQ6IGdjYzMKY29uZmlndXJlOjE0NDQ3OiBjaGVj a2luZyBob3cgdG8gcnVuIHRoZSBDKysgcHJlcHJvY2Vzc29yCmNvbmZpZ3VyZToxNDQ4MzogYysr IC1FIC1JL3Vzci9sb2NhbC9pbmNsdWRlIGNvbmZ0ZXN0LmNwcApjb25maWd1cmU6MTQ0OTA6ICQ/ ID0gMApjb25maWd1cmU6MTQ1MjE6IGMrKyAtRSAtSS91c3IvbG9jYWwvaW5jbHVkZSBjb25mdGVz dC5jcHAKY29uZnRlc3QuY3BwOjM0OjI4OiBlcnJvcjogYWNfbm9uZXhpc3RlbnQuaDogTm8gc3Vj aCBmaWxlIG9yIGRpcmVjdG9yeQpjb25maWd1cmU6MTQ1Mjg6ICQ/ID0gMQpjb25maWd1cmU6IGZh aWxlZCBwcm9ncmFtIHdhczoKfCAvKiBjb25mZGVmcy5oLiAgKi8KfCAjZGVmaW5lIFBBQ0tBR0Vf TkFNRSAiZ2xpYiIKfCAjZGVmaW5lIFBBQ0tBR0VfVEFSTkFNRSAiZ2xpYiIKfCAjZGVmaW5lIFBB Q0tBR0VfVkVSU0lPTiAiMi4yMC41Igp8ICNkZWZpbmUgUEFDS0FHRV9TVFJJTkcgImdsaWIgMi4y MC41Igp8ICNkZWZpbmUgUEFDS0FHRV9CVUdSRVBPUlQgImh0dHA6Ly9idWd6aWxsYS5nbm9tZS5v cmcvZW50ZXJfYnVnLmNnaT9wcm9kdWN0PWdsaWIiCnwgI2RlZmluZSBHTElCX01BSk9SX1ZFUlNJ T04gMgp8ICNkZWZpbmUgR0xJQl9NSU5PUl9WRVJTSU9OIDIwCnwgI2RlZmluZSBHTElCX01JQ1JP X1ZFUlNJT04gNQp8ICNkZWZpbmUgR0xJQl9JTlRFUkZBQ0VfQUdFIDUKfCAjZGVmaW5lIEdMSUJf QklOQVJZX0FHRSAyMDA1CnwgI2RlZmluZSBORUVEX0lDT05WX0NBQ0hFIDEKfCAjZGVmaW5lIFNU RENfSEVBREVSUyAxCnwgI2RlZmluZSBIQVZFX1NZU19UWVBFU19IIDEKfCAjZGVmaW5lIEhBVkVf U1lTX1NUQVRfSCAxCnwgI2RlZmluZSBIQVZFX1NURExJQl9IIDEKfCAjZGVmaW5lIEhBVkVfU1RS SU5HX0ggMQp8ICNkZWZpbmUgSEFWRV9NRU1PUllfSCAxCnwgI2RlZmluZSBIQVZFX1NUUklOR1Nf SCAxCnwgI2RlZmluZSBIQVZFX0lOVFRZUEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERJTlRfSCAx CnwgI2RlZmluZSBIQVZFX1VOSVNURF9IIDEKfCAjZGVmaW5lIEhBVkVfTE9DQUxFX0ggMQp8ICNk ZWZpbmUgSEFWRV9MQ19NRVNTQUdFUyAxCnwgI2RlZmluZSBIQVZFX0JJTkRfVEVYVERPTUFJTl9D T0RFU0VUIDEKfCAjZGVmaW5lIEhBVkVfR0VUVEVYVCAxCnwgI2RlZmluZSBIQVZFX0RDR0VUVEVY VCAxCnwgI2RlZmluZSBFTkFCTEVfTkxTIDEKfCAjZGVmaW5lIEdFVFRFWFRfUEFDS0FHRSAiZ2xp YjIwIgp8ICNkZWZpbmUgR0xJQl9MT0NBTEVfRElSICIvdXNyL2xvY2FsL3NoYXJlL2xvY2FsZSIK fCAjZGVmaW5lIFVTRV9MSUJJQ09OVl9HTlUgMQp8ICNkZWZpbmUgSEFWRV9ETEZDTl9IIDEKfCAv KiBlbmQgY29uZmRlZnMuaC4gICovCnwgI2luY2x1ZGUgPGFjX25vbmV4aXN0ZW50Lmg+CmNvbmZp Z3VyZToxNDU2MTogcmVzdWx0OiBjKysgLUUKY29uZmlndXJlOjE0NTkwOiBjKysgLUUgLUkvdXNy L2xvY2FsL2luY2x1ZGUgY29uZnRlc3QuY3BwCmNvbmZpZ3VyZToxNDU5NzogJD8gPSAwCmNvbmZp Z3VyZToxNDYyODogYysrIC1FIC1JL3Vzci9sb2NhbC9pbmNsdWRlIGNvbmZ0ZXN0LmNwcApjb25m dGVzdC5jcHA6MzQ6Mjg6IGVycm9yOiBhY19ub25leGlzdGVudC5oOiBObyBzdWNoIGZpbGUgb3Ig ZGlyZWN0b3J5CmNvbmZpZ3VyZToxNDYzNTogJD8gPSAxCmNvbmZpZ3VyZTogZmFpbGVkIHByb2dy YW0gd2FzOgp8IC8qIGNvbmZkZWZzLmguICAqLwp8ICNkZWZpbmUgUEFDS0FHRV9OQU1FICJnbGli Igp8ICNkZWZpbmUgUEFDS0FHRV9UQVJOQU1FICJnbGliIgp8ICNkZWZpbmUgUEFDS0FHRV9WRVJT SU9OICIyLjIwLjUiCnwgI2RlZmluZSBQQUNLQUdFX1NUUklORyAiZ2xpYiAyLjIwLjUiCnwgI2Rl ZmluZSBQQUNLQUdFX0JVR1JFUE9SVCAiaHR0cDovL2J1Z3ppbGxhLmdub21lLm9yZy9lbnRlcl9i dWcuY2dpP3Byb2R1Y3Q9Z2xpYiIKfCAjZGVmaW5lIEdMSUJfTUFKT1JfVkVSU0lPTiAyCnwgI2Rl ZmluZSBHTElCX01JTk9SX1ZFUlNJT04gMjAKfCAjZGVmaW5lIEdMSUJfTUlDUk9fVkVSU0lPTiA1 CnwgI2RlZmluZSBHTElCX0lOVEVSRkFDRV9BR0UgNQp8ICNkZWZpbmUgR0xJQl9CSU5BUllfQUdF IDIwMDUKfCAjZGVmaW5lIE5FRURfSUNPTlZfQ0FDSEUgMQp8ICNkZWZpbmUgU1REQ19IRUFERVJT IDEKfCAjZGVmaW5lIEhBVkVfU1lTX1RZUEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfU1RBVF9I IDEKfCAjZGVmaW5lIEhBVkVfU1RETElCX0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJJTkdfSCAxCnwg I2RlZmluZSBIQVZFX01FTU9SWV9IIDEKfCAjZGVmaW5lIEhBVkVfU1RSSU5HU19IIDEKfCAjZGVm aW5lIEhBVkVfSU5UVFlQRVNfSCAxCnwgI2RlZmluZSBIQVZFX1NURElOVF9IIDEKfCAjZGVmaW5l IEhBVkVfVU5JU1REX0ggMQp8ICNkZWZpbmUgSEFWRV9MT0NBTEVfSCAxCnwgI2RlZmluZSBIQVZF X0xDX01FU1NBR0VTIDEKfCAjZGVmaW5lIEhBVkVfQklORF9URVhURE9NQUlOX0NPREVTRVQgMQp8 ICNkZWZpbmUgSEFWRV9HRVRURVhUIDEKfCAjZGVmaW5lIEhBVkVfRENHRVRURVhUIDEKfCAjZGVm aW5lIEVOQUJMRV9OTFMgMQp8ICNkZWZpbmUgR0VUVEVYVF9QQUNLQUdFICJnbGliMjAiCnwgI2Rl ZmluZSBHTElCX0xPQ0FMRV9ESVIgIi91c3IvbG9jYWwvc2hhcmUvbG9jYWxlIgp8ICNkZWZpbmUg VVNFX0xJQklDT05WX0dOVSAxCnwgI2RlZmluZSBIQVZFX0RMRkNOX0ggMQp8IC8qIGVuZCBjb25m ZGVmcy5oLiAgKi8KfCAjaW5jbHVkZSA8YWNfbm9uZXhpc3RlbnQuaD4KY29uZmlndXJlOjE0ODE2 OiBjaGVja2luZyBmb3Igb2JqZGlyCmNvbmZpZ3VyZToxNDgzMTogcmVzdWx0OiAubGlicwpjb25m aWd1cmU6MTUxMjM6IGNoZWNraW5nIGlmIGNjIHN1cHBvcnRzIC1mbm8tcnR0aSAtZm5vLWV4Y2Vw dGlvbnMKY29uZmlndXJlOjE1MTQxOiBjYyAtYyAtTzIgLWZuby1zdHJpY3QtYWxpYXNpbmcgLXBp cGUgLUkvdXNyL2xvY2FsL2luY2x1ZGUgLWZuby1ydHRpIC1mbm8tZXhjZXB0aW9ucyBjb25mdGVz dC5jID4mNQpjYzE6IHdhcm5pbmc6IGNvbW1hbmQgbGluZSBvcHRpb24gIi1mbm8tcnR0aSIgaXMg dmFsaWQgZm9yIEMrKy9PYmpDKysgYnV0IG5vdCBmb3IgQwpjb25maWd1cmU6MTUxNDU6ICQ/ID0g MApjb25maWd1cmU6MTUxNTg6IHJlc3VsdDogbm8KY29uZmlndXJlOjE1MTc4OiBjaGVja2luZyBm b3IgY2Mgb3B0aW9uIHRvIHByb2R1Y2UgUElDCmNvbmZpZ3VyZToxNTQ1MDogcmVzdWx0OiAtZlBJ QyAtRFBJQwpjb25maWd1cmU6MTU0NjI6IGNoZWNraW5nIGlmIGNjIFBJQyBmbGFnIC1mUElDIC1E UElDIHdvcmtzCmNvbmZpZ3VyZToxNTQ4MDogY2MgLWMgLU8yIC1mbm8tc3RyaWN0LWFsaWFzaW5n IC1waXBlIC1JL3Vzci9sb2NhbC9pbmNsdWRlIC1mUElDIC1EUElDIC1EUElDIGNvbmZ0ZXN0LmMg PiY1CmNvbmZpZ3VyZToxNTQ4NDogJD8gPSAwCmNvbmZpZ3VyZToxNTQ5NzogcmVzdWx0OiB5ZXMK Y29uZmlndXJlOjE1NTIxOiBjaGVja2luZyBpZiBjYyBzdGF0aWMgZmxhZyAtc3RhdGljIHdvcmtz CmNvbmZpZ3VyZToxNTU0OTogcmVzdWx0OiB5ZXMKY29uZmlndXJlOjE1NTY0OiBjaGVja2luZyBp ZiBjYyBzdXBwb3J0cyAtYyAtbyBmaWxlLm8KY29uZmlndXJlOjE1NTg1OiBjYyAtYyAtTzIgLWZu by1zdHJpY3QtYWxpYXNpbmcgLXBpcGUgLUkvdXNyL2xvY2FsL2luY2x1ZGUgLW8gb3V0L2NvbmZ0 ZXN0Mi5vIGNvbmZ0ZXN0LmMgPiY1CmNvbmZpZ3VyZToxNTU4OTogJD8gPSAwCmNvbmZpZ3VyZTox NTYxMTogcmVzdWx0OiB5ZXMKY29uZmlndXJlOjE1NjE5OiBjaGVja2luZyBpZiBjYyBzdXBwb3J0 cyAtYyAtbyBmaWxlLm8KY29uZmlndXJlOjE1NjY2OiByZXN1bHQ6IHllcwpjb25maWd1cmU6MTU2 OTk6IGNoZWNraW5nIHdoZXRoZXIgdGhlIGNjIGxpbmtlciAoL3Vzci9iaW4vbGQpIHN1cHBvcnRz IHNoYXJlZCBsaWJyYXJpZXMKY29uZmlndXJlOjE2NzczOiByZXN1bHQ6IHllcwpjb25maWd1cmU6 MTY4MTA6IGNoZWNraW5nIHdoZXRoZXIgLWxjIHNob3VsZCBiZSBleHBsaWNpdGx5IGxpbmtlZCBp bgpjb25maWd1cmU6MTY4MTU6IGNjIC1jIC1PMiAtZm5vLXN0cmljdC1hbGlhc2luZyAtcGlwZSAt SS91c3IvbG9jYWwvaW5jbHVkZSBjb25mdGVzdC5jID4mNQpjb25maWd1cmU6MTY4MTg6ICQ/ID0g MApjb25maWd1cmU6MTY4MzM6IGNjIC1zaGFyZWQgY29uZnRlc3QubyAgLXYgLVdsLC1zb25hbWUg LVdsLGNvbmZ0ZXN0IC1vIGNvbmZ0ZXN0IDJcPlwmMSBcfCAvdXNyL2Jpbi9ncmVwICAtbGMgIFw+ L2Rldi9udWxsIDJcPlwmMQpjb25maWd1cmU6MTY4MzY6ICQ/ID0gMApjb25maWd1cmU6MTY4NDg6 IHJlc3VsdDogbm8KY29uZmlndXJlOjE3MDEyOiBjaGVja2luZyBkeW5hbWljIGxpbmtlciBjaGFy YWN0ZXJpc3RpY3MKY29uZmlndXJlOjE3Njk4OiByZXN1bHQ6IGZyZWVic2Q3LjIgbGQuc28KY29u ZmlndXJlOjE3ODAwOiBjaGVja2luZyBob3cgdG8gaGFyZGNvZGUgbGlicmFyeSBwYXRocyBpbnRv IHByb2dyYW1zCmNvbmZpZ3VyZToxNzgyNTogcmVzdWx0OiBpbW1lZGlhdGUKY29uZmlndXJlOjE4 NjU4OiBjaGVja2luZyB3aGV0aGVyIHN0cmlwcGluZyBsaWJyYXJpZXMgaXMgcG9zc2libGUKY29u ZmlndXJlOjE4NjYzOiByZXN1bHQ6IHllcwpjb25maWd1cmU6MTg2OTg6IGNoZWNraW5nIGlmIGxp YnRvb2wgc3VwcG9ydHMgc2hhcmVkIGxpYnJhcmllcwpjb25maWd1cmU6MTg3MDA6IHJlc3VsdDog eWVzCmNvbmZpZ3VyZToxODcwMzogY2hlY2tpbmcgd2hldGhlciB0byBidWlsZCBzaGFyZWQgbGli cmFyaWVzCmNvbmZpZ3VyZToxODcyNDogcmVzdWx0OiB5ZXMKY29uZmlndXJlOjE4NzI3OiBjaGVj a2luZyB3aGV0aGVyIHRvIGJ1aWxkIHN0YXRpYyBsaWJyYXJpZXMKY29uZmlndXJlOjE4NzMxOiBy ZXN1bHQ6IHllcwpjb25maWd1cmU6MTg4ODE6IGNoZWNraW5nIGZvciBsZCB1c2VkIGJ5IGMrKwpj b25maWd1cmU6MTg5NDg6IHJlc3VsdDogL3Vzci9iaW4vbGQKY29uZmlndXJlOjE4OTU3OiBjaGVj a2luZyBpZiB0aGUgbGlua2VyICgvdXNyL2Jpbi9sZCkgaXMgR05VIGxkCmNvbmZpZ3VyZToxODk3 MjogcmVzdWx0OiB5ZXMKY29uZmlndXJlOjE5MDI3OiBjaGVja2luZyB3aGV0aGVyIHRoZSBjKysg bGlua2VyICgvdXNyL2Jpbi9sZCkgc3VwcG9ydHMgc2hhcmVkIGxpYnJhcmllcwpjb25maWd1cmU6 MjAwMDI6IHJlc3VsdDogeWVzCmNvbmZpZ3VyZToyMDAzMDogYysrIC1jIC1PMiAtZm5vLXN0cmlj dC1hbGlhc2luZyAtcGlwZSAtSS91c3IvbG9jYWwvaW5jbHVkZSBjb25mdGVzdC5jcHAgPiY1CmNv bmZpZ3VyZToyMDAzMzogJD8gPSAwCmNvbmZpZ3VyZToyMDIxNTogY2hlY2tpbmcgZm9yIGMrKyBv cHRpb24gdG8gcHJvZHVjZSBQSUMKY29uZmlndXJlOjIwNTMyOiByZXN1bHQ6IC1mUElDIC1EUElD CmNvbmZpZ3VyZToyMDU0MTogY2hlY2tpbmcgaWYgYysrIFBJQyBmbGFnIC1mUElDIC1EUElDIHdv cmtzCmNvbmZpZ3VyZToyMDU1OTogYysrIC1jIC1PMiAtZm5vLXN0cmljdC1hbGlhc2luZyAtcGlw ZSAtSS91c3IvbG9jYWwvaW5jbHVkZSAtZlBJQyAtRFBJQyAtRFBJQyBjb25mdGVzdC5jcHAgPiY1 CmNvbmZpZ3VyZToyMDU2MzogJD8gPSAwCmNvbmZpZ3VyZToyMDU3NjogcmVzdWx0OiB5ZXMKY29u ZmlndXJlOjIwNTk3OiBjaGVja2luZyBpZiBjKysgc3RhdGljIGZsYWcgLXN0YXRpYyB3b3Jrcwpj b25maWd1cmU6MjA2MjU6IHJlc3VsdDogeWVzCmNvbmZpZ3VyZToyMDYzNzogY2hlY2tpbmcgaWYg YysrIHN1cHBvcnRzIC1jIC1vIGZpbGUubwpjb25maWd1cmU6MjA2NTg6IGMrKyAtYyAtTzIgLWZu by1zdHJpY3QtYWxpYXNpbmcgLXBpcGUgLUkvdXNyL2xvY2FsL2luY2x1ZGUgLW8gb3V0L2NvbmZ0 ZXN0Mi5vIGNvbmZ0ZXN0LmNwcCA+JjUKY29uZmlndXJlOjIwNjYyOiAkPyA9IDAKY29uZmlndXJl OjIwNjg0OiByZXN1bHQ6IHllcwpjb25maWd1cmU6MjA2ODk6IGNoZWNraW5nIGlmIGMrKyBzdXBw b3J0cyAtYyAtbyBmaWxlLm8KY29uZmlndXJlOjIwNzM2OiByZXN1bHQ6IHllcwpjb25maWd1cmU6 MjA3NjY6IGNoZWNraW5nIHdoZXRoZXIgdGhlIGMrKyBsaW5rZXIgKC91c3IvYmluL2xkKSBzdXBw b3J0cyBzaGFyZWQgbGlicmFyaWVzCmNvbmZpZ3VyZToyMDc5MjogcmVzdWx0OiB5ZXMKY29uZmln dXJlOjIwOTI5OiBjaGVja2luZyBkeW5hbWljIGxpbmtlciBjaGFyYWN0ZXJpc3RpY3MKY29uZmln dXJlOjIxNTYzOiByZXN1bHQ6IGZyZWVic2Q3LjIgbGQuc28KY29uZmlndXJlOjIxNjE0OiBjaGVj a2luZyBob3cgdG8gaGFyZGNvZGUgbGlicmFyeSBwYXRocyBpbnRvIHByb2dyYW1zCmNvbmZpZ3Vy ZToyMTYzOTogcmVzdWx0OiBpbW1lZGlhdGUKY29uZmlndXJlOjIxNjk4OiBjcmVhdGluZyAuL2Nv bmZpZy5sdAoKIyMgLS0tLS0tLS0tLS0tLS0tLS0tICMjCiMjIFJ1bm5pbmcgY29uZmlnLmx0LiAj IwojIyAtLS0tLS0tLS0tLS0tLS0tLS0gIyMKY29uZmlnLmx0OjYwMzogY3JlYXRpbmcgbGlidG9v bApjb25maWd1cmU6MjMyODg6IGNoZWNraW5nIGZvciBleHRyYSBmbGFncyB0byBnZXQgQU5TSSBs aWJyYXJ5IHByb3RvdHlwZXMKY29uZmlndXJlOjIzMzE2OiBjYyAtbyBjb25mdGVzdCAtTzIgLWZu by1zdHJpY3QtYWxpYXNpbmcgLXBpcGUgLVdhbGwgLUkvdXNyL2xvY2FsL2luY2x1ZGUgLURHX0RJ U0FCTEVfU0lOR0xFX0lOQ0xVREVTIC1ML3Vzci9sb2NhbC9saWIgLWxpbnRsIGNvbmZ0ZXN0LmMg ICAtbG0gPiY1CmNvbmZpZ3VyZToyMzMyMDogJD8gPSAwCmNvbmZpZ3VyZToyMzMyNjogLi9jb25m dGVzdApjb25maWd1cmU6MjMzMzA6ICQ/ID0gMApjb25maWd1cmU6MjMzMzI6IHJlc3VsdDogbm9u ZSBuZWVkZWQKY29uZmlndXJlOjIzNDEyOiBjaGVja2luZyBmb3IgZXh0cmEgZmxhZ3MgZm9yIFBP U0lYIGNvbXBsaWFuY2UKY29uZmlndXJlOjIzNDM1OiBjYyAtYyAtTzIgLWZuby1zdHJpY3QtYWxp YXNpbmcgLXBpcGUgLVdhbGwgLUkvdXNyL2xvY2FsL2luY2x1ZGUgLURHX0RJU0FCTEVfU0lOR0xF X0lOQ0xVREVTIGNvbmZ0ZXN0LmMgPiY1CmNvbmZ0ZXN0LmM6IEluIGZ1bmN0aW9uICdtYWluJzoK Y29uZnRlc3QuYzozOTogd2FybmluZzogdW51c2VkIHZhcmlhYmxlICdkaXInCmNvbmZpZ3VyZToy MzQ0MjogJD8gPSAwCmNvbmZpZ3VyZToyMzQ0NzogcmVzdWx0OiBub25lIG5lZWRlZApjb25maWd1 cmU6MjM1MDc6IGNoZWNraW5nIGZvciBBTlNJIEMgaGVhZGVyIGZpbGVzCmNvbmZpZ3VyZToyMzY3 NTogcmVzdWx0OiB5ZXMKY29uZmlndXJlOjIzNjkxOiBjaGVja2luZyBmb3IgdnByaW50Zgpjb25m aWd1cmU6MjM3NDc6IGNjIC1vIGNvbmZ0ZXN0IC1PMiAtZm5vLXN0cmljdC1hbGlhc2luZyAtcGlw ZSAtV2FsbCAtSS91c3IvbG9jYWwvaW5jbHVkZSAtREdfRElTQUJMRV9TSU5HTEVfSU5DTFVERVMg LUwvdXNyL2xvY2FsL2xpYiAtbGludGwgY29uZnRlc3QuYyAgID4mNQpjb25mdGVzdC5jOjU5OiB3 YXJuaW5nOiBjb25mbGljdGluZyB0eXBlcyBmb3IgYnVpbHQtaW4gZnVuY3Rpb24gJ3ZwcmludGYn CmNvbmZpZ3VyZToyMzc1NDogJD8gPSAwCmNvbmZpZ3VyZToyMzc3NjogcmVzdWx0OiB5ZXMKY29u ZmlndXJlOjIzNzg1OiBjaGVja2luZyBmb3IgX2RvcHJudApjb25maWd1cmU6MjM4NDE6IGNjIC1v IGNvbmZ0ZXN0IC1PMiAtZm5vLXN0cmljdC1hbGlhc2luZyAtcGlwZSAtV2FsbCAtSS91c3IvbG9j YWwvaW5jbHVkZSAtREdfRElTQUJMRV9TSU5HTEVfSU5DTFVERVMgLUwvdXNyL2xvY2FsL2xpYiAt bGludGwgY29uZnRlc3QuYyAgID4mNQovdmFyL3RtcC8vY2NWU2RKMk8ubygudGV4dCsweDcpOiBJ biBmdW5jdGlvbiBgbWFpbic6CjogdW5kZWZpbmVkIHJlZmVyZW5jZSB0byBgX2RvcHJudCcKY29u ZmlndXJlOjIzODQ4OiAkPyA9IDEKY29uZmlndXJlOiBmYWlsZWQgcHJvZ3JhbSB3YXM6CnwgLyog Y29uZmRlZnMuaC4gICovCnwgI2RlZmluZSBQQUNLQUdFX05BTUUgImdsaWIiCnwgI2RlZmluZSBQ QUNLQUdFX1RBUk5BTUUgImdsaWIiCnwgI2RlZmluZSBQQUNLQUdFX1ZFUlNJT04gIjIuMjAuNSIK fCAjZGVmaW5lIFBBQ0tBR0VfU1RSSU5HICJnbGliIDIuMjAuNSIKfCAjZGVmaW5lIFBBQ0tBR0Vf QlVHUkVQT1JUICJodHRwOi8vYnVnemlsbGEuZ25vbWUub3JnL2VudGVyX2J1Zy5jZ2k/cHJvZHVj dD1nbGliIgp8ICNkZWZpbmUgR0xJQl9NQUpPUl9WRVJTSU9OIDIKfCAjZGVmaW5lIEdMSUJfTUlO T1JfVkVSU0lPTiAyMAp8ICNkZWZpbmUgR0xJQl9NSUNST19WRVJTSU9OIDUKfCAjZGVmaW5lIEdM SUJfSU5URVJGQUNFX0FHRSA1CnwgI2RlZmluZSBHTElCX0JJTkFSWV9BR0UgMjAwNQp8ICNkZWZp bmUgTkVFRF9JQ09OVl9DQUNIRSAxCnwgI2RlZmluZSBTVERDX0hFQURFUlMgMQp8ICNkZWZpbmUg SEFWRV9TWVNfVFlQRVNfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19TVEFUX0ggMQp8ICNkZWZpbmUg SEFWRV9TVERMSUJfSCAxCnwgI2RlZmluZSBIQVZFX1NUUklOR19IIDEKfCAjZGVmaW5lIEhBVkVf TUVNT1JZX0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJJTkdTX0ggMQp8ICNkZWZpbmUgSEFWRV9JTlRU WVBFU19IIDEKfCAjZGVmaW5lIEhBVkVfU1RESU5UX0ggMQp8ICNkZWZpbmUgSEFWRV9VTklTVERf SCAxCnwgI2RlZmluZSBIQVZFX0xPQ0FMRV9IIDEKfCAjZGVmaW5lIEhBVkVfTENfTUVTU0FHRVMg MQp8ICNkZWZpbmUgSEFWRV9CSU5EX1RFWFRET01BSU5fQ09ERVNFVCAxCnwgI2RlZmluZSBIQVZF X0dFVFRFWFQgMQp8ICNkZWZpbmUgSEFWRV9EQ0dFVFRFWFQgMQp8ICNkZWZpbmUgRU5BQkxFX05M UyAxCnwgI2RlZmluZSBHRVRURVhUX1BBQ0tBR0UgImdsaWIyMCIKfCAjZGVmaW5lIEdMSUJfTE9D QUxFX0RJUiAiL3Vzci9sb2NhbC9zaGFyZS9sb2NhbGUiCnwgI2RlZmluZSBVU0VfTElCSUNPTlZf R05VIDEKfCAjZGVmaW5lIEhBVkVfRExGQ05fSCAxCnwgI2RlZmluZSBMVF9PQkpESVIgIi5saWJz LyIKfCAjZGVmaW5lIFNURENfSEVBREVSUyAxCnwgI2RlZmluZSBIQVZFX1ZQUklOVEYgMQp8IC8q IGVuZCBjb25mZGVmcy5oLiAgKi8KfCAvKiBEZWZpbmUgX2RvcHJudCB0byBhbiBpbm5vY3VvdXMg dmFyaWFudCwgaW4gY2FzZSA8bGltaXRzLmg+IGRlY2xhcmVzIF9kb3BybnQuCnwgICAgRm9yIGV4 YW1wbGUsIEhQLVVYIDExaSA8bGltaXRzLmg+IGRlY2xhcmVzIGdldHRpbWVvZmRheS4gICovCnwg I2RlZmluZSBfZG9wcm50IGlubm9jdW91c19fZG9wcm50CnwgCnwgLyogU3lzdGVtIGhlYWRlciB0 byBkZWZpbmUgX19zdHViIG1hY3JvcyBhbmQgaG9wZWZ1bGx5IGZldyBwcm90b3R5cGVzLAp8ICAg ICB3aGljaCBjYW4gY29uZmxpY3Qgd2l0aCBjaGFyIF9kb3BybnQgKCk7IGJlbG93Lgp8ICAgICBQ cmVmZXIgPGxpbWl0cy5oPiB0byA8YXNzZXJ0Lmg+IGlmIF9fU1REQ19fIGlzIGRlZmluZWQsIHNp bmNlCnwgICAgIDxsaW1pdHMuaD4gZXhpc3RzIGV2ZW4gb24gZnJlZXN0YW5kaW5nIGNvbXBpbGVy cy4gICovCnwgCnwgI2lmZGVmIF9fU1REQ19fCnwgIyBpbmNsdWRlIDxsaW1pdHMuaD4KfCAjZWxz ZQp8ICMgaW5jbHVkZSA8YXNzZXJ0Lmg+CnwgI2VuZGlmCnwgCnwgI3VuZGVmIF9kb3BybnQKfCAK fCAvKiBPdmVycmlkZSBhbnkgR0NDIGludGVybmFsIHByb3RvdHlwZSB0byBhdm9pZCBhbiBlcnJv ci4KfCAgICBVc2UgY2hhciBiZWNhdXNlIGludCBtaWdodCBtYXRjaCB0aGUgcmV0dXJuIHR5cGUg b2YgYSBHQ0MKfCAgICBidWlsdGluIGFuZCB0aGVuIGl0cyBhcmd1bWVudCBwcm90b3R5cGUgd291 bGQgc3RpbGwgYXBwbHkuICAqLwp8ICNpZmRlZiBfX2NwbHVzcGx1cwp8IGV4dGVybiAiQyIKfCAj ZW5kaWYKfCBjaGFyIF9kb3BybnQgKCk7CnwgLyogVGhlIEdOVSBDIGxpYnJhcnkgZGVmaW5lcyB0 aGlzIGZvciBmdW5jdGlvbnMgd2hpY2ggaXQgaW1wbGVtZW50cwp8ICAgICB0byBhbHdheXMgZmFp bCB3aXRoIEVOT1NZUy4gIFNvbWUgZnVuY3Rpb25zIGFyZSBhY3R1YWxseSBuYW1lZAp8ICAgICBz b21ldGhpbmcgc3RhcnRpbmcgd2l0aCBfXyBhbmQgdGhlIG5vcm1hbCBuYW1lIGlzIGFuIGFsaWFz LiAgKi8KfCAjaWYgZGVmaW5lZCBfX3N0dWJfX2RvcHJudCB8fCBkZWZpbmVkIF9fc3R1Yl9fX19k b3BybnQKfCBjaG9rZSBtZQp8ICNlbmRpZgp8IAp8IGludAp8IG1haW4gKCkKfCB7CnwgcmV0dXJu IF9kb3BybnQgKCk7CnwgICA7CnwgICByZXR1cm4gMDsKfCB9CmNvbmZpZ3VyZToyMzg2ODogcmVz dWx0OiBubwpjb25maWd1cmU6MjM4ODQ6IGNoZWNraW5nIGZvciB3b3JraW5nIGFsbG9jYS5oCmNv bmZpZ3VyZToyMzkxMTogY2MgLW8gY29uZnRlc3QgLU8yIC1mbm8tc3RyaWN0LWFsaWFzaW5nIC1w aXBlIC1XYWxsIC1JL3Vzci9sb2NhbC9pbmNsdWRlIC1ER19ESVNBQkxFX1NJTkdMRV9JTkNMVURF UyAtTC91c3IvbG9jYWwvbGliIC1saW50bCBjb25mdGVzdC5jICAgPiY1CmNvbmZ0ZXN0LmM6Mzc6 MjA6IGVycm9yOiBhbGxvY2EuaDogTm8gc3VjaCBmaWxlIG9yIGRpcmVjdG9yeQpjb25mdGVzdC5j OiBJbiBmdW5jdGlvbiAnbWFpbic6CmNvbmZ0ZXN0LmM6NDE6IHdhcm5pbmc6IGltcGxpY2l0IGRl Y2xhcmF0aW9uIG9mIGZ1bmN0aW9uICdhbGxvY2EnCmNvbmZ0ZXN0LmM6NDE6IHdhcm5pbmc6IGlu Y29tcGF0aWJsZSBpbXBsaWNpdCBkZWNsYXJhdGlvbiBvZiBidWlsdC1pbiBmdW5jdGlvbiAnYWxs b2NhJwpjb25maWd1cmU6MjM5MTg6ICQ/ID0gMQpjb25maWd1cmU6IGZhaWxlZCBwcm9ncmFtIHdh czoKfCAvKiBjb25mZGVmcy5oLiAgKi8KfCAjZGVmaW5lIFBBQ0tBR0VfTkFNRSAiZ2xpYiIKfCAj ZGVmaW5lIFBBQ0tBR0VfVEFSTkFNRSAiZ2xpYiIKfCAjZGVmaW5lIFBBQ0tBR0VfVkVSU0lPTiAi Mi4yMC41Igp8ICNkZWZpbmUgUEFDS0FHRV9TVFJJTkcgImdsaWIgMi4yMC41Igp8ICNkZWZpbmUg UEFDS0FHRV9CVUdSRVBPUlQgImh0dHA6Ly9idWd6aWxsYS5nbm9tZS5vcmcvZW50ZXJfYnVnLmNn aT9wcm9kdWN0PWdsaWIiCnwgI2RlZmluZSBHTElCX01BSk9SX1ZFUlNJT04gMgp8ICNkZWZpbmUg R0xJQl9NSU5PUl9WRVJTSU9OIDIwCnwgI2RlZmluZSBHTElCX01JQ1JPX1ZFUlNJT04gNQp8ICNk ZWZpbmUgR0xJQl9JTlRFUkZBQ0VfQUdFIDUKfCAjZGVmaW5lIEdMSUJfQklOQVJZX0FHRSAyMDA1 CnwgI2RlZmluZSBORUVEX0lDT05WX0NBQ0hFIDEKfCAjZGVmaW5lIFNURENfSEVBREVSUyAxCnwg I2RlZmluZSBIQVZFX1NZU19UWVBFU19IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NUQVRfSCAxCnwg I2RlZmluZSBIQVZFX1NURExJQl9IIDEKfCAjZGVmaW5lIEhBVkVfU1RSSU5HX0ggMQp8ICNkZWZp bmUgSEFWRV9NRU1PUllfSCAxCnwgI2RlZmluZSBIQVZFX1NUUklOR1NfSCAxCnwgI2RlZmluZSBI QVZFX0lOVFRZUEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERJTlRfSCAxCnwgI2RlZmluZSBIQVZF X1VOSVNURF9IIDEKfCAjZGVmaW5lIEhBVkVfTE9DQUxFX0ggMQp8ICNkZWZpbmUgSEFWRV9MQ19N RVNTQUdFUyAxCnwgI2RlZmluZSBIQVZFX0JJTkRfVEVYVERPTUFJTl9DT0RFU0VUIDEKfCAjZGVm aW5lIEhBVkVfR0VUVEVYVCAxCnwgI2RlZmluZSBIQVZFX0RDR0VUVEVYVCAxCnwgI2RlZmluZSBF TkFCTEVfTkxTIDEKfCAjZGVmaW5lIEdFVFRFWFRfUEFDS0FHRSAiZ2xpYjIwIgp8ICNkZWZpbmUg R0xJQl9MT0NBTEVfRElSICIvdXNyL2xvY2FsL3NoYXJlL2xvY2FsZSIKfCAjZGVmaW5lIFVTRV9M SUJJQ09OVl9HTlUgMQp8ICNkZWZpbmUgSEFWRV9ETEZDTl9IIDEKfCAjZGVmaW5lIExUX09CSkRJ UiAiLmxpYnMvIgp8ICNkZWZpbmUgU1REQ19IRUFERVJTIDEKfCAjZGVmaW5lIEhBVkVfVlBSSU5U RiAxCnwgLyogZW5kIGNvbmZkZWZzLmguICAqLwp8ICNpbmNsdWRlIDxhbGxvY2EuaD4KfCBpbnQK fCBtYWluICgpCnwgewp8IGNoYXIgKnAgPSAoY2hhciAqKSBhbGxvY2EgKDIgKiBzaXplb2YgKGlu dCkpOwp8IAkJCSAgaWYgKHApIHJldHVybiAwOwp8ICAgOwp8ICAgcmV0dXJuIDA7CnwgfQpjb25m aWd1cmU6MjM5Mzg6IHJlc3VsdDogbm8KY29uZmlndXJlOjIzOTQ4OiBjaGVja2luZyBmb3IgYWxs b2NhCmNvbmZpZ3VyZToyMzk5NTogY2MgLW8gY29uZnRlc3QgLU8yIC1mbm8tc3RyaWN0LWFsaWFz aW5nIC1waXBlIC1XYWxsIC1JL3Vzci9sb2NhbC9pbmNsdWRlIC1ER19ESVNBQkxFX1NJTkdMRV9J TkNMVURFUyAtTC91c3IvbG9jYWwvbGliIC1saW50bCBjb25mdGVzdC5jICAgPiY1CmNvbmZpZ3Vy ZToyNDAwMjogJD8gPSAwCmNvbmZpZ3VyZToyNDAyMjogcmVzdWx0OiB5ZXMKY29uZmlndXJlOjI0 MjY4OiBjaGVja2luZyBmb3IgbW1hcApjb25maWd1cmU6MjQzMjQ6IGNjIC1vIGNvbmZ0ZXN0IC1P MiAtZm5vLXN0cmljdC1hbGlhc2luZyAtcGlwZSAtV2FsbCAtSS91c3IvbG9jYWwvaW5jbHVkZSAt REdfRElTQUJMRV9TSU5HTEVfSU5DTFVERVMgLUwvdXNyL2xvY2FsL2xpYiAtbGludGwgY29uZnRl c3QuYyAgID4mNQpjb25maWd1cmU6MjQzMzE6ICQ/ID0gMApjb25maWd1cmU6MjQzNTM6IHJlc3Vs dDogeWVzCmNvbmZpZ3VyZToyNDI2ODogY2hlY2tpbmcgZm9yIHBvc2l4X21lbWFsaWduCmNvbmZp Z3VyZToyNDMyNDogY2MgLW8gY29uZnRlc3QgLU8yIC1mbm8tc3RyaWN0LWFsaWFzaW5nIC1waXBl IC1XYWxsIC1JL3Vzci9sb2NhbC9pbmNsdWRlIC1ER19ESVNBQkxFX1NJTkdMRV9JTkNMVURFUyAt TC91c3IvbG9jYWwvbGliIC1saW50bCBjb25mdGVzdC5jICAgPiY1CmNvbmZpZ3VyZToyNDMzMTog JD8gPSAwCmNvbmZpZ3VyZToyNDM1MzogcmVzdWx0OiB5ZXMKY29uZmlndXJlOjI0MjY4OiBjaGVj a2luZyBmb3IgbWVtYWxpZ24KY29uZmlndXJlOjI0MzI0OiBjYyAtbyBjb25mdGVzdCAtTzIgLWZu by1zdHJpY3QtYWxpYXNpbmcgLXBpcGUgLVdhbGwgLUkvdXNyL2xvY2FsL2luY2x1ZGUgLURHX0RJ U0FCTEVfU0lOR0xFX0lOQ0xVREVTIC1ML3Vzci9sb2NhbC9saWIgLWxpbnRsIGNvbmZ0ZXN0LmMg ICA+JjUKL3Zhci90bXAvL2NjV1VROVQzLm8oLnRleHQrMHg3KTogSW4gZnVuY3Rpb24gYG1haW4n Ogo6IHVuZGVmaW5lZCByZWZlcmVuY2UgdG8gYG1lbWFsaWduJwpjb25maWd1cmU6MjQzMzE6ICQ/ ID0gMQpjb25maWd1cmU6IGZhaWxlZCBwcm9ncmFtIHdhczoKfCAvKiBjb25mZGVmcy5oLiAgKi8K fCAjZGVmaW5lIFBBQ0tBR0VfTkFNRSAiZ2xpYiIKfCAjZGVmaW5lIFBBQ0tBR0VfVEFSTkFNRSAi Z2xpYiIKfCAjZGVmaW5lIFBBQ0tBR0VfVkVSU0lPTiAiMi4yMC41Igp8ICNkZWZpbmUgUEFDS0FH RV9TVFJJTkcgImdsaWIgMi4yMC41Igp8ICNkZWZpbmUgUEFDS0FHRV9CVUdSRVBPUlQgImh0dHA6 Ly9idWd6aWxsYS5nbm9tZS5vcmcvZW50ZXJfYnVnLmNnaT9wcm9kdWN0PWdsaWIiCnwgI2RlZmlu ZSBHTElCX01BSk9SX1ZFUlNJT04gMgp8ICNkZWZpbmUgR0xJQl9NSU5PUl9WRVJTSU9OIDIwCnwg I2RlZmluZSBHTElCX01JQ1JPX1ZFUlNJT04gNQp8ICNkZWZpbmUgR0xJQl9JTlRFUkZBQ0VfQUdF IDUKfCAjZGVmaW5lIEdMSUJfQklOQVJZX0FHRSAyMDA1CnwgI2RlZmluZSBORUVEX0lDT05WX0NB Q0hFIDEKfCAjZGVmaW5lIFNURENfSEVBREVSUyAxCnwgI2RlZmluZSBIQVZFX1NZU19UWVBFU19I IDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NUQVRfSCAxCnwgI2RlZmluZSBIQVZFX1NURExJQl9IIDEK fCAjZGVmaW5lIEhBVkVfU1RSSU5HX0ggMQp8ICNkZWZpbmUgSEFWRV9NRU1PUllfSCAxCnwgI2Rl ZmluZSBIQVZFX1NUUklOR1NfSCAxCnwgI2RlZmluZSBIQVZFX0lOVFRZUEVTX0ggMQp8ICNkZWZp bmUgSEFWRV9TVERJTlRfSCAxCnwgI2RlZmluZSBIQVZFX1VOSVNURF9IIDEKfCAjZGVmaW5lIEhB VkVfTE9DQUxFX0ggMQp8ICNkZWZpbmUgSEFWRV9MQ19NRVNTQUdFUyAxCnwgI2RlZmluZSBIQVZF X0JJTkRfVEVYVERPTUFJTl9DT0RFU0VUIDEKfCAjZGVmaW5lIEhBVkVfR0VUVEVYVCAxCnwgI2Rl ZmluZSBIQVZFX0RDR0VUVEVYVCAxCnwgI2RlZmluZSBFTkFCTEVfTkxTIDEKfCAjZGVmaW5lIEdF VFRFWFRfUEFDS0FHRSAiZ2xpYjIwIgp8ICNkZWZpbmUgR0xJQl9MT0NBTEVfRElSICIvdXNyL2xv Y2FsL3NoYXJlL2xvY2FsZSIKfCAjZGVmaW5lIFVTRV9MSUJJQ09OVl9HTlUgMQp8ICNkZWZpbmUg SEFWRV9ETEZDTl9IIDEKfCAjZGVmaW5lIExUX09CSkRJUiAiLmxpYnMvIgp8ICNkZWZpbmUgU1RE Q19IRUFERVJTIDEKfCAjZGVmaW5lIEhBVkVfVlBSSU5URiAxCnwgI2RlZmluZSBIQVZFX0FMTE9D QSAxCnwgI2RlZmluZSBIQVZFX01NQVAgMQp8ICNkZWZpbmUgSEFWRV9QT1NJWF9NRU1BTElHTiAx CnwgLyogZW5kIGNvbmZkZWZzLmguICAqLwp8IC8qIERlZmluZSBtZW1hbGlnbiB0byBhbiBpbm5v Y3VvdXMgdmFyaWFudCwgaW4gY2FzZSA8bGltaXRzLmg+IGRlY2xhcmVzIG1lbWFsaWduLgp8ICAg IEZvciBleGFtcGxlLCBIUC1VWCAxMWkgPGxpbWl0cy5oPiBkZWNsYXJlcyBnZXR0aW1lb2ZkYXku ICAqLwp8ICNkZWZpbmUgbWVtYWxpZ24gaW5ub2N1b3VzX21lbWFsaWduCnwgCnwgLyogU3lzdGVt IGhlYWRlciB0byBkZWZpbmUgX19zdHViIG1hY3JvcyBhbmQgaG9wZWZ1bGx5IGZldyBwcm90b3R5 cGVzLAp8ICAgICB3aGljaCBjYW4gY29uZmxpY3Qgd2l0aCBjaGFyIG1lbWFsaWduICgpOyBiZWxv dy4KfCAgICAgUHJlZmVyIDxsaW1pdHMuaD4gdG8gPGFzc2VydC5oPiBpZiBfX1NURENfXyBpcyBk ZWZpbmVkLCBzaW5jZQp8ICAgICA8bGltaXRzLmg+IGV4aXN0cyBldmVuIG9uIGZyZWVzdGFuZGlu ZyBjb21waWxlcnMuICAqLwp8IAp8ICNpZmRlZiBfX1NURENfXwp8ICMgaW5jbHVkZSA8bGltaXRz Lmg+CnwgI2Vsc2UKfCAjIGluY2x1ZGUgPGFzc2VydC5oPgp8ICNlbmRpZgp8IAp8ICN1bmRlZiBt ZW1hbGlnbgp8IAp8IC8qIE92ZXJyaWRlIGFueSBHQ0MgaW50ZXJuYWwgcHJvdG90eXBlIHRvIGF2 b2lkIGFuIGVycm9yLgp8ICAgIFVzZSBjaGFyIGJlY2F1c2UgaW50IG1pZ2h0IG1hdGNoIHRoZSBy ZXR1cm4gdHlwZSBvZiBhIEdDQwp8ICAgIGJ1aWx0aW4gYW5kIHRoZW4gaXRzIGFyZ3VtZW50IHBy b3RvdHlwZSB3b3VsZCBzdGlsbCBhcHBseS4gICovCnwgI2lmZGVmIF9fY3BsdXNwbHVzCnwgZXh0 ZXJuICJDIgp8ICNlbmRpZgp8IGNoYXIgbWVtYWxpZ24gKCk7CnwgLyogVGhlIEdOVSBDIGxpYnJh cnkgZGVmaW5lcyB0aGlzIGZvciBmdW5jdGlvbnMgd2hpY2ggaXQgaW1wbGVtZW50cwp8ICAgICB0 byBhbHdheXMgZmFpbCB3aXRoIEVOT1NZUy4gIFNvbWUgZnVuY3Rpb25zIGFyZSBhY3R1YWxseSBu YW1lZAp8ICAgICBzb21ldGhpbmcgc3RhcnRpbmcgd2l0aCBfXyBhbmQgdGhlIG5vcm1hbCBuYW1l IGlzIGFuIGFsaWFzLiAgKi8KfCAjaWYgZGVmaW5lZCBfX3N0dWJfbWVtYWxpZ24gfHwgZGVmaW5l ZCBfX3N0dWJfX19tZW1hbGlnbgp8IGNob2tlIG1lCnwgI2VuZGlmCnwgCnwgaW50CnwgbWFpbiAo KQp8IHsKfCByZXR1cm4gbWVtYWxpZ24gKCk7CnwgICA7CnwgICByZXR1cm4gMDsKfCB9CmNvbmZp Z3VyZToyNDM1MzogcmVzdWx0OiBubwpjb25maWd1cmU6MjQyNjg6IGNoZWNraW5nIGZvciB2YWxs b2MKY29uZmlndXJlOjI0MzI0OiBjYyAtbyBjb25mdGVzdCAtTzIgLWZuby1zdHJpY3QtYWxpYXNp bmcgLXBpcGUgLVdhbGwgLUkvdXNyL2xvY2FsL2luY2x1ZGUgLURHX0RJU0FCTEVfU0lOR0xFX0lO Q0xVREVTIC1ML3Vzci9sb2NhbC9saWIgLWxpbnRsIGNvbmZ0ZXN0LmMgICA+JjUKY29uZmlndXJl OjI0MzMxOiAkPyA9IDAKY29uZmlndXJlOjI0MzUzOiByZXN1bHQ6IHllcwpjb25maWd1cmU6MjQy Njg6IGNoZWNraW5nIGZvciBmc3luYwpjb25maWd1cmU6MjQzMjQ6IGNjIC1vIGNvbmZ0ZXN0IC1P MiAtZm5vLXN0cmljdC1hbGlhc2luZyAtcGlwZSAtV2FsbCAtSS91c3IvbG9jYWwvaW5jbHVkZSAt REdfRElTQUJMRV9TSU5HTEVfSU5DTFVERVMgLUwvdXNyL2xvY2FsL2xpYiAtbGludGwgY29uZnRl c3QuYyAgID4mNQpjb25maWd1cmU6MjQzMzE6ICQ/ID0gMApjb25maWd1cmU6MjQzNTM6IHJlc3Vs dDogeWVzCmNvbmZpZ3VyZToyNDI2ODogY2hlY2tpbmcgZm9yIHBpcGUyCmNvbmZpZ3VyZToyNDMy NDogY2MgLW8gY29uZnRlc3QgLU8yIC1mbm8tc3RyaWN0LWFsaWFzaW5nIC1waXBlIC1XYWxsIC1J L3Vzci9sb2NhbC9pbmNsdWRlIC1ER19ESVNBQkxFX1NJTkdMRV9JTkNMVURFUyAtTC91c3IvbG9j YWwvbGliIC1saW50bCBjb25mdGVzdC5jICAgPiY1Ci92YXIvdG1wLy9jYzE1VnNnUS5vKC50ZXh0 KzB4Nyk6IEluIGZ1bmN0aW9uIGBtYWluJzoKOiB1bmRlZmluZWQgcmVmZXJlbmNlIHRvIGBwaXBl MicKY29uZmlndXJlOjI0MzMxOiAkPyA9IDEKY29uZmlndXJlOiBmYWlsZWQgcHJvZ3JhbSB3YXM6 CnwgLyogY29uZmRlZnMuaC4gICovCnwgI2RlZmluZSBQQUNLQUdFX05BTUUgImdsaWIiCnwgI2Rl ZmluZSBQQUNLQUdFX1RBUk5BTUUgImdsaWIiCnwgI2RlZmluZSBQQUNLQUdFX1ZFUlNJT04gIjIu MjAuNSIKfCAjZGVmaW5lIFBBQ0tBR0VfU1RSSU5HICJnbGliIDIuMjAuNSIKfCAjZGVmaW5lIFBB Q0tBR0VfQlVHUkVQT1JUICJodHRwOi8vYnVnemlsbGEuZ25vbWUub3JnL2VudGVyX2J1Zy5jZ2k/ cHJvZHVjdD1nbGliIgp8ICNkZWZpbmUgR0xJQl9NQUpPUl9WRVJTSU9OIDIKfCAjZGVmaW5lIEdM SUJfTUlOT1JfVkVSU0lPTiAyMAp8ICNkZWZpbmUgR0xJQl9NSUNST19WRVJTSU9OIDUKfCAjZGVm aW5lIEdMSUJfSU5URVJGQUNFX0FHRSA1CnwgI2RlZmluZSBHTElCX0JJTkFSWV9BR0UgMjAwNQp8 ICNkZWZpbmUgTkVFRF9JQ09OVl9DQUNIRSAxCnwgI2RlZmluZSBTVERDX0hFQURFUlMgMQp8ICNk ZWZpbmUgSEFWRV9TWVNfVFlQRVNfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19TVEFUX0ggMQp8ICNk ZWZpbmUgSEFWRV9TVERMSUJfSCAxCnwgI2RlZmluZSBIQVZFX1NUUklOR19IIDEKfCAjZGVmaW5l IEhBVkVfTUVNT1JZX0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJJTkdTX0ggMQp8ICNkZWZpbmUgSEFW RV9JTlRUWVBFU19IIDEKfCAjZGVmaW5lIEhBVkVfU1RESU5UX0ggMQp8ICNkZWZpbmUgSEFWRV9V TklTVERfSCAxCnwgI2RlZmluZSBIQVZFX0xPQ0FMRV9IIDEKfCAjZGVmaW5lIEhBVkVfTENfTUVT U0FHRVMgMQp8ICNkZWZpbmUgSEFWRV9CSU5EX1RFWFRET01BSU5fQ09ERVNFVCAxCnwgI2RlZmlu ZSBIQVZFX0dFVFRFWFQgMQp8ICNkZWZpbmUgSEFWRV9EQ0dFVFRFWFQgMQp8ICNkZWZpbmUgRU5B QkxFX05MUyAxCnwgI2RlZmluZSBHRVRURVhUX1BBQ0tBR0UgImdsaWIyMCIKfCAjZGVmaW5lIEdM SUJfTE9DQUxFX0RJUiAiL3Vzci9sb2NhbC9zaGFyZS9sb2NhbGUiCnwgI2RlZmluZSBVU0VfTElC SUNPTlZfR05VIDEKfCAjZGVmaW5lIEhBVkVfRExGQ05fSCAxCnwgI2RlZmluZSBMVF9PQkpESVIg Ii5saWJzLyIKfCAjZGVmaW5lIFNURENfSEVBREVSUyAxCnwgI2RlZmluZSBIQVZFX1ZQUklOVEYg MQp8ICNkZWZpbmUgSEFWRV9BTExPQ0EgMQp8ICNkZWZpbmUgSEFWRV9NTUFQIDEKfCAjZGVmaW5l IEhBVkVfUE9TSVhfTUVNQUxJR04gMQp8ICNkZWZpbmUgSEFWRV9WQUxMT0MgMQp8ICNkZWZpbmUg SEFWRV9GU1lOQyAxCnwgLyogZW5kIGNvbmZkZWZzLmguICAqLwp8IC8qIERlZmluZSBwaXBlMiB0 byBhbiBpbm5vY3VvdXMgdmFyaWFudCwgaW4gY2FzZSA8bGltaXRzLmg+IGRlY2xhcmVzIHBpcGUy Lgp8ICAgIEZvciBleGFtcGxlLCBIUC1VWCAxMWkgPGxpbWl0cy5oPiBkZWNsYXJlcyBnZXR0aW1l b2ZkYXkuICAqLwp8ICNkZWZpbmUgcGlwZTIgaW5ub2N1b3VzX3BpcGUyCnwgCnwgLyogU3lzdGVt IGhlYWRlciB0byBkZWZpbmUgX19zdHViIG1hY3JvcyBhbmQgaG9wZWZ1bGx5IGZldyBwcm90b3R5 cGVzLAp8ICAgICB3aGljaCBjYW4gY29uZmxpY3Qgd2l0aCBjaGFyIHBpcGUyICgpOyBiZWxvdy4K fCAgICAgUHJlZmVyIDxsaW1pdHMuaD4gdG8gPGFzc2VydC5oPiBpZiBfX1NURENfXyBpcyBkZWZp bmVkLCBzaW5jZQp8ICAgICA8bGltaXRzLmg+IGV4aXN0cyBldmVuIG9uIGZyZWVzdGFuZGluZyBj b21waWxlcnMuICAqLwp8IAp8ICNpZmRlZiBfX1NURENfXwp8ICMgaW5jbHVkZSA8bGltaXRzLmg+ CnwgI2Vsc2UKfCAjIGluY2x1ZGUgPGFzc2VydC5oPgp8ICNlbmRpZgp8IAp8ICN1bmRlZiBwaXBl Mgp8IAp8IC8qIE92ZXJyaWRlIGFueSBHQ0MgaW50ZXJuYWwgcHJvdG90eXBlIHRvIGF2b2lkIGFu IGVycm9yLgp8ICAgIFVzZSBjaGFyIGJlY2F1c2UgaW50IG1pZ2h0IG1hdGNoIHRoZSByZXR1cm4g dHlwZSBvZiBhIEdDQwp8ICAgIGJ1aWx0aW4gYW5kIHRoZW4gaXRzIGFyZ3VtZW50IHByb3RvdHlw ZSB3b3VsZCBzdGlsbCBhcHBseS4gICovCnwgI2lmZGVmIF9fY3BsdXNwbHVzCnwgZXh0ZXJuICJD Igp8ICNlbmRpZgp8IGNoYXIgcGlwZTIgKCk7CnwgLyogVGhlIEdOVSBDIGxpYnJhcnkgZGVmaW5l cyB0aGlzIGZvciBmdW5jdGlvbnMgd2hpY2ggaXQgaW1wbGVtZW50cwp8ICAgICB0byBhbHdheXMg ZmFpbCB3aXRoIEVOT1NZUy4gIFNvbWUgZnVuY3Rpb25zIGFyZSBhY3R1YWxseSBuYW1lZAp8ICAg ICBzb21ldGhpbmcgc3RhcnRpbmcgd2l0aCBfXyBhbmQgdGhlIG5vcm1hbCBuYW1lIGlzIGFuIGFs aWFzLiAgKi8KfCAjaWYgZGVmaW5lZCBfX3N0dWJfcGlwZTIgfHwgZGVmaW5lZCBfX3N0dWJfX19w aXBlMgp8IGNob2tlIG1lCnwgI2VuZGlmCnwgCnwgaW50CnwgbWFpbiAoKQp8IHsKfCByZXR1cm4g cGlwZTIgKCk7CnwgICA7CnwgICByZXR1cm4gMDsKfCB9CmNvbmZpZ3VyZToyNDM1MzogcmVzdWx0 OiBubwpjb25maWd1cmU6MjQzNzI6IGNoZWNraW5nIGZvciBhdGV4aXQKY29uZmlndXJlOjI0NDI4 OiBjYyAtbyBjb25mdGVzdCAtTzIgLWZuby1zdHJpY3QtYWxpYXNpbmcgLXBpcGUgLVdhbGwgLUkv dXNyL2xvY2FsL2luY2x1ZGUgLURHX0RJU0FCTEVfU0lOR0xFX0lOQ0xVREVTIC1ML3Vzci9sb2Nh bC9saWIgLWxpbnRsIGNvbmZ0ZXN0LmMgICA+JjUKY29uZmlndXJlOjI0NDM1OiAkPyA9IDAKY29u ZmlndXJlOjI0NDU3OiByZXN1bHQ6IHllcwpjb25maWd1cmU6MjQzNzI6IGNoZWNraW5nIGZvciBv bl9leGl0CmNvbmZpZ3VyZToyNDQyODogY2MgLW8gY29uZnRlc3QgLU8yIC1mbm8tc3RyaWN0LWFs aWFzaW5nIC1waXBlIC1XYWxsIC1JL3Vzci9sb2NhbC9pbmNsdWRlIC1ER19ESVNBQkxFX1NJTkdM RV9JTkNMVURFUyAtTC91c3IvbG9jYWwvbGliIC1saW50bCBjb25mdGVzdC5jICAgPiY1Ci92YXIv dG1wLy9jY1lwMWJUUC5vKC50ZXh0KzB4Nyk6IEluIGZ1bmN0aW9uIGBtYWluJzoKOiB1bmRlZmlu ZWQgcmVmZXJlbmNlIHRvIGBvbl9leGl0Jwpjb25maWd1cmU6MjQ0MzU6ICQ/ID0gMQpjb25maWd1 cmU6IGZhaWxlZCBwcm9ncmFtIHdhczoKfCAvKiBjb25mZGVmcy5oLiAgKi8KfCAjZGVmaW5lIFBB Q0tBR0VfTkFNRSAiZ2xpYiIKfCAjZGVmaW5lIFBBQ0tBR0VfVEFSTkFNRSAiZ2xpYiIKfCAjZGVm aW5lIFBBQ0tBR0VfVkVSU0lPTiAiMi4yMC41Igp8ICNkZWZpbmUgUEFDS0FHRV9TVFJJTkcgImds aWIgMi4yMC41Igp8ICNkZWZpbmUgUEFDS0FHRV9CVUdSRVBPUlQgImh0dHA6Ly9idWd6aWxsYS5n bm9tZS5vcmcvZW50ZXJfYnVnLmNnaT9wcm9kdWN0PWdsaWIiCnwgI2RlZmluZSBHTElCX01BSk9S X1ZFUlNJT04gMgp8ICNkZWZpbmUgR0xJQl9NSU5PUl9WRVJTSU9OIDIwCnwgI2RlZmluZSBHTElC X01JQ1JPX1ZFUlNJT04gNQp8ICNkZWZpbmUgR0xJQl9JTlRFUkZBQ0VfQUdFIDUKfCAjZGVmaW5l IEdMSUJfQklOQVJZX0FHRSAyMDA1CnwgI2RlZmluZSBORUVEX0lDT05WX0NBQ0hFIDEKfCAjZGVm aW5lIFNURENfSEVBREVSUyAxCnwgI2RlZmluZSBIQVZFX1NZU19UWVBFU19IIDEKfCAjZGVmaW5l IEhBVkVfU1lTX1NUQVRfSCAxCnwgI2RlZmluZSBIQVZFX1NURExJQl9IIDEKfCAjZGVmaW5lIEhB VkVfU1RSSU5HX0ggMQp8ICNkZWZpbmUgSEFWRV9NRU1PUllfSCAxCnwgI2RlZmluZSBIQVZFX1NU UklOR1NfSCAxCnwgI2RlZmluZSBIQVZFX0lOVFRZUEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERJ TlRfSCAxCnwgI2RlZmluZSBIQVZFX1VOSVNURF9IIDEKfCAjZGVmaW5lIEhBVkVfTE9DQUxFX0gg MQp8ICNkZWZpbmUgSEFWRV9MQ19NRVNTQUdFUyAxCnwgI2RlZmluZSBIQVZFX0JJTkRfVEVYVERP TUFJTl9DT0RFU0VUIDEKfCAjZGVmaW5lIEhBVkVfR0VUVEVYVCAxCnwgI2RlZmluZSBIQVZFX0RD R0VUVEVYVCAxCnwgI2RlZmluZSBFTkFCTEVfTkxTIDEKfCAjZGVmaW5lIEdFVFRFWFRfUEFDS0FH RSAiZ2xpYjIwIgp8ICNkZWZpbmUgR0xJQl9MT0NBTEVfRElSICIvdXNyL2xvY2FsL3NoYXJlL2xv Y2FsZSIKfCAjZGVmaW5lIFVTRV9MSUJJQ09OVl9HTlUgMQp8ICNkZWZpbmUgSEFWRV9ETEZDTl9I IDEKfCAjZGVmaW5lIExUX09CSkRJUiAiLmxpYnMvIgp8ICNkZWZpbmUgU1REQ19IRUFERVJTIDEK fCAjZGVmaW5lIEhBVkVfVlBSSU5URiAxCnwgI2RlZmluZSBIQVZFX0FMTE9DQSAxCnwgI2RlZmlu ZSBIQVZFX01NQVAgMQp8ICNkZWZpbmUgSEFWRV9QT1NJWF9NRU1BTElHTiAxCnwgI2RlZmluZSBI QVZFX1ZBTExPQyAxCnwgI2RlZmluZSBIQVZFX0ZTWU5DIDEKfCAjZGVmaW5lIEhBVkVfQVRFWElU IDEKfCAvKiBlbmQgY29uZmRlZnMuaC4gICovCnwgLyogRGVmaW5lIG9uX2V4aXQgdG8gYW4gaW5u b2N1b3VzIHZhcmlhbnQsIGluIGNhc2UgPGxpbWl0cy5oPiBkZWNsYXJlcyBvbl9leGl0Lgp8ICAg IEZvciBleGFtcGxlLCBIUC1VWCAxMWkgPGxpbWl0cy5oPiBkZWNsYXJlcyBnZXR0aW1lb2ZkYXku ICAqLwp8ICNkZWZpbmUgb25fZXhpdCBpbm5vY3VvdXNfb25fZXhpdAp8IAp8IC8qIFN5c3RlbSBo ZWFkZXIgdG8gZGVmaW5lIF9fc3R1YiBtYWNyb3MgYW5kIGhvcGVmdWxseSBmZXcgcHJvdG90eXBl cywKfCAgICAgd2hpY2ggY2FuIGNvbmZsaWN0IHdpdGggY2hhciBvbl9leGl0ICgpOyBiZWxvdy4K fCAgICAgUHJlZmVyIDxsaW1pdHMuaD4gdG8gPGFzc2VydC5oPiBpZiBfX1NURENfXyBpcyBkZWZp bmVkLCBzaW5jZQp8ICAgICA8bGltaXRzLmg+IGV4aXN0cyBldmVuIG9uIGZyZWVzdGFuZGluZyBj b21waWxlcnMuICAqLwp8IAp8ICNpZmRlZiBfX1NURENfXwp8ICMgaW5jbHVkZSA8bGltaXRzLmg+ CnwgI2Vsc2UKfCAjIGluY2x1ZGUgPGFzc2VydC5oPgp8ICNlbmRpZgp8IAp8ICN1bmRlZiBvbl9l eGl0CnwgCnwgLyogT3ZlcnJpZGUgYW55IEdDQyBpbnRlcm5hbCBwcm90b3R5cGUgdG8gYXZvaWQg YW4gZXJyb3IuCnwgICAgVXNlIGNoYXIgYmVjYXVzZSBpbnQgbWlnaHQgbWF0Y2ggdGhlIHJldHVy biB0eXBlIG9mIGEgR0NDCnwgICAgYnVpbHRpbiBhbmQgdGhlbiBpdHMgYXJndW1lbnQgcHJvdG90 eXBlIHdvdWxkIHN0aWxsIGFwcGx5LiAgKi8KfCAjaWZkZWYgX19jcGx1c3BsdXMKfCBleHRlcm4g IkMiCnwgI2VuZGlmCnwgY2hhciBvbl9leGl0ICgpOwp8IC8qIFRoZSBHTlUgQyBsaWJyYXJ5IGRl ZmluZXMgdGhpcyBmb3IgZnVuY3Rpb25zIHdoaWNoIGl0IGltcGxlbWVudHMKfCAgICAgdG8gYWx3 YXlzIGZhaWwgd2l0aCBFTk9TWVMuICBTb21lIGZ1bmN0aW9ucyBhcmUgYWN0dWFsbHkgbmFtZWQK fCAgICAgc29tZXRoaW5nIHN0YXJ0aW5nIHdpdGggX18gYW5kIHRoZSBub3JtYWwgbmFtZSBpcyBh biBhbGlhcy4gICovCnwgI2lmIGRlZmluZWQgX19zdHViX29uX2V4aXQgfHwgZGVmaW5lZCBfX3N0 dWJfX19vbl9leGl0CnwgY2hva2UgbWUKfCAjZW5kaWYKfCAKfCBpbnQKfCBtYWluICgpCnwgewp8 IHJldHVybiBvbl9leGl0ICgpOwp8ICAgOwp8ICAgcmV0dXJuIDA7CnwgfQpjb25maWd1cmU6MjQ0 NTc6IHJlc3VsdDogbm8KY29uZmlndXJlOjI0MzcyOiBjaGVja2luZyBmb3IgdGltZWdtCmNvbmZp Z3VyZToyNDQyODogY2MgLW8gY29uZnRlc3QgLU8yIC1mbm8tc3RyaWN0LWFsaWFzaW5nIC1waXBl IC1XYWxsIC1JL3Vzci9sb2NhbC9pbmNsdWRlIC1ER19ESVNBQkxFX1NJTkdMRV9JTkNMVURFUyAt TC91c3IvbG9jYWwvbGliIC1saW50bCBjb25mdGVzdC5jICAgPiY1CmNvbmZpZ3VyZToyNDQzNTog JD8gPSAwCmNvbmZpZ3VyZToyNDQ1NzogcmVzdWx0OiB5ZXMKY29uZmlndXJlOjI0MzcyOiBjaGVj a2luZyBmb3IgZ210aW1lX3IKY29uZmlndXJlOjI0NDI4OiBjYyAtbyBjb25mdGVzdCAtTzIgLWZu by1zdHJpY3QtYWxpYXNpbmcgLXBpcGUgLVdhbGwgLUkvdXNyL2xvY2FsL2luY2x1ZGUgLURHX0RJ U0FCTEVfU0lOR0xFX0lOQ0xVREVTIC1ML3Vzci9sb2NhbC9saWIgLWxpbnRsIGNvbmZ0ZXN0LmMg ICA+JjUKY29uZmlndXJlOjI0NDM1OiAkPyA9IDAKY29uZmlndXJlOjI0NDU3OiByZXN1bHQ6IHll cwpjb25maWd1cmU6MjQ0NzQ6IGNoZWNraW5nIHNpemUgb2YgY2hhcgpjb25maWd1cmU6MjQ3Nzk6 IGNjIC1vIGNvbmZ0ZXN0IC1PMiAtZm5vLXN0cmljdC1hbGlhc2luZyAtcGlwZSAtV2FsbCAtSS91 c3IvbG9jYWwvaW5jbHVkZSAtREdfRElTQUJMRV9TSU5HTEVfSU5DTFVERVMgLUwvdXNyL2xvY2Fs L2xpYiAtbGludGwgY29uZnRlc3QuYyAgID4mNQpjb25maWd1cmU6MjQ3ODM6ICQ/ID0gMApjb25m aWd1cmU6MjQ3ODk6IC4vY29uZnRlc3QKY29uZmlndXJlOjI0NzkzOiAkPyA9IDAKY29uZmlndXJl OjI0ODE5OiByZXN1bHQ6IDEKY29uZmlndXJlOjI0ODMzOiBjaGVja2luZyBzaXplIG9mIHNob3J0 CmNvbmZpZ3VyZToyNTEzODogY2MgLW8gY29uZnRlc3QgLU8yIC1mbm8tc3RyaWN0LWFsaWFzaW5n IC1waXBlIC1XYWxsIC1JL3Vzci9sb2NhbC9pbmNsdWRlIC1ER19ESVNBQkxFX1NJTkdMRV9JTkNM VURFUyAtTC91c3IvbG9jYWwvbGliIC1saW50bCBjb25mdGVzdC5jICAgPiY1CmNvbmZpZ3VyZToy NTE0MjogJD8gPSAwCmNvbmZpZ3VyZToyNTE0ODogLi9jb25mdGVzdApjb25maWd1cmU6MjUxNTI6 ICQ/ID0gMApjb25maWd1cmU6MjUxNzg6IHJlc3VsdDogMgpjb25maWd1cmU6MjUxOTI6IGNoZWNr aW5nIHNpemUgb2YgbG9uZwpjb25maWd1cmU6MjU0OTc6IGNjIC1vIGNvbmZ0ZXN0IC1PMiAtZm5v LXN0cmljdC1hbGlhc2luZyAtcGlwZSAtV2FsbCAtSS91c3IvbG9jYWwvaW5jbHVkZSAtREdfRElT QUJMRV9TSU5HTEVfSU5DTFVERVMgLUwvdXNyL2xvY2FsL2xpYiAtbGludGwgY29uZnRlc3QuYyAg ID4mNQpjb25maWd1cmU6MjU1MDE6ICQ/ID0gMApjb25maWd1cmU6MjU1MDc6IC4vY29uZnRlc3QK Y29uZmlndXJlOjI1NTExOiAkPyA9IDAKY29uZmlndXJlOjI1NTM3OiByZXN1bHQ6IDgKY29uZmln dXJlOjI1NTUxOiBjaGVja2luZyBzaXplIG9mIGludApjb25maWd1cmU6MjU4NTY6IGNjIC1vIGNv bmZ0ZXN0IC1PMiAtZm5vLXN0cmljdC1hbGlhc2luZyAtcGlwZSAtV2FsbCAtSS91c3IvbG9jYWwv aW5jbHVkZSAtREdfRElTQUJMRV9TSU5HTEVfSU5DTFVERVMgLUwvdXNyL2xvY2FsL2xpYiAtbGlu dGwgY29uZnRlc3QuYyAgID4mNQpjb25maWd1cmU6MjU4NjA6ICQ/ID0gMApjb25maWd1cmU6MjU4 NjY6IC4vY29uZnRlc3QKY29uZmlndXJlOjI1ODcwOiAkPyA9IDAKY29uZmlndXJlOjI1ODk2OiBy ZXN1bHQ6IDQKY29uZmlndXJlOjI1OTEwOiBjaGVja2luZyBzaXplIG9mIHZvaWQgKgpjb25maWd1 cmU6MjYyMTU6IGNjIC1vIGNvbmZ0ZXN0IC1PMiAtZm5vLXN0cmljdC1hbGlhc2luZyAtcGlwZSAt V2FsbCAtSS91c3IvbG9jYWwvaW5jbHVkZSAtREdfRElTQUJMRV9TSU5HTEVfSU5DTFVERVMgLUwv dXNyL2xvY2FsL2xpYiAtbGludGwgY29uZnRlc3QuYyAgID4mNQpjb25maWd1cmU6MjYyMTk6ICQ/ ID0gMApjb25maWd1cmU6MjYyMjU6IC4vY29uZnRlc3QKY29uZmlndXJlOjI2MjI5OiAkPyA9IDAK Y29uZmlndXJlOjI2MjU1OiByZXN1bHQ6IDgKY29uZmlndXJlOjI2MjY5OiBjaGVja2luZyBzaXpl IG9mIGxvbmcgbG9uZwpjb25maWd1cmU6MjY1NzQ6IGNjIC1vIGNvbmZ0ZXN0IC1PMiAtZm5vLXN0 cmljdC1hbGlhc2luZyAtcGlwZSAtV2FsbCAtSS91c3IvbG9jYWwvaW5jbHVkZSAtREdfRElTQUJM RV9TSU5HTEVfSU5DTFVERVMgLUwvdXNyL2xvY2FsL2xpYiAtbGludGwgY29uZnRlc3QuYyAgID4m NQpjb25maWd1cmU6MjY1Nzg6ICQ/ID0gMApjb25maWd1cmU6MjY1ODQ6IC4vY29uZnRlc3QKY29u ZmlndXJlOjI2NTg4OiAkPyA9IDAKY29uZmlndXJlOjI2NjE0OiByZXN1bHQ6IDgKY29uZmlndXJl OjI2NjI4OiBjaGVja2luZyBzaXplIG9mIF9faW50NjQKY29uZmlndXJlOjI2OTMzOiBjYyAtbyBj b25mdGVzdCAtTzIgLWZuby1zdHJpY3QtYWxpYXNpbmcgLXBpcGUgLVdhbGwgLUkvdXNyL2xvY2Fs L2luY2x1ZGUgLURHX0RJU0FCTEVfU0lOR0xFX0lOQ0xVREVTIC1ML3Vzci9sb2NhbC9saWIgLWxp bnRsIGNvbmZ0ZXN0LmMgICA+JjUKY29uZnRlc3QuYzogSW4gZnVuY3Rpb24gJ2xvbmd2YWwnOgpj b25mdGVzdC5jOjg0OiBlcnJvcjogJ19faW50NjQnIHVuZGVjbGFyZWQgKGZpcnN0IHVzZSBpbiB0 aGlzIGZ1bmN0aW9uKQpjb25mdGVzdC5jOjg0OiBlcnJvcjogKEVhY2ggdW5kZWNsYXJlZCBpZGVu dGlmaWVyIGlzIHJlcG9ydGVkIG9ubHkgb25jZQpjb25mdGVzdC5jOjg0OiBlcnJvcjogZm9yIGVh Y2ggZnVuY3Rpb24gaXQgYXBwZWFycyBpbi4pCmNvbmZ0ZXN0LmM6IEluIGZ1bmN0aW9uICd1bG9u Z3ZhbCc6CmNvbmZ0ZXN0LmM6ODU6IGVycm9yOiAnX19pbnQ2NCcgdW5kZWNsYXJlZCAoZmlyc3Qg dXNlIGluIHRoaXMgZnVuY3Rpb24pCmNvbmZ0ZXN0LmM6IEluIGZ1bmN0aW9uICdtYWluJzoKY29u ZnRlc3QuYzo5NTogZXJyb3I6ICdfX2ludDY0JyB1bmRlY2xhcmVkIChmaXJzdCB1c2UgaW4gdGhp cyBmdW5jdGlvbikKY29uZmlndXJlOjI2OTM3OiAkPyA9IDEKY29uZmlndXJlOiBwcm9ncmFtIGV4 aXRlZCB3aXRoIHN0YXR1cyAxCmNvbmZpZ3VyZTogZmFpbGVkIHByb2dyYW0gd2FzOgp8IC8qIGNv bmZkZWZzLmguICAqLwp8ICNkZWZpbmUgUEFDS0FHRV9OQU1FICJnbGliIgp8ICNkZWZpbmUgUEFD S0FHRV9UQVJOQU1FICJnbGliIgp8ICNkZWZpbmUgUEFDS0FHRV9WRVJTSU9OICIyLjIwLjUiCnwg I2RlZmluZSBQQUNLQUdFX1NUUklORyAiZ2xpYiAyLjIwLjUiCnwgI2RlZmluZSBQQUNLQUdFX0JV R1JFUE9SVCAiaHR0cDovL2J1Z3ppbGxhLmdub21lLm9yZy9lbnRlcl9idWcuY2dpP3Byb2R1Y3Q9 Z2xpYiIKfCAjZGVmaW5lIEdMSUJfTUFKT1JfVkVSU0lPTiAyCnwgI2RlZmluZSBHTElCX01JTk9S X1ZFUlNJT04gMjAKfCAjZGVmaW5lIEdMSUJfTUlDUk9fVkVSU0lPTiA1CnwgI2RlZmluZSBHTElC X0lOVEVSRkFDRV9BR0UgNQp8ICNkZWZpbmUgR0xJQl9CSU5BUllfQUdFIDIwMDUKfCAjZGVmaW5l IE5FRURfSUNPTlZfQ0FDSEUgMQp8ICNkZWZpbmUgU1REQ19IRUFERVJTIDEKfCAjZGVmaW5lIEhB VkVfU1lTX1RZUEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfU1RBVF9IIDEKfCAjZGVmaW5lIEhB VkVfU1RETElCX0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJJTkdfSCAxCnwgI2RlZmluZSBIQVZFX01F TU9SWV9IIDEKfCAjZGVmaW5lIEhBVkVfU1RSSU5HU19IIDEKfCAjZGVmaW5lIEhBVkVfSU5UVFlQ RVNfSCAxCnwgI2RlZmluZSBIQVZFX1NURElOVF9IIDEKfCAjZGVmaW5lIEhBVkVfVU5JU1REX0gg MQp8ICNkZWZpbmUgSEFWRV9MT0NBTEVfSCAxCnwgI2RlZmluZSBIQVZFX0xDX01FU1NBR0VTIDEK fCAjZGVmaW5lIEhBVkVfQklORF9URVhURE9NQUlOX0NPREVTRVQgMQp8ICNkZWZpbmUgSEFWRV9H RVRURVhUIDEKfCAjZGVmaW5lIEhBVkVfRENHRVRURVhUIDEKfCAjZGVmaW5lIEVOQUJMRV9OTFMg MQp8ICNkZWZpbmUgR0VUVEVYVF9QQUNLQUdFICJnbGliMjAiCnwgI2RlZmluZSBHTElCX0xPQ0FM RV9ESVIgIi91c3IvbG9jYWwvc2hhcmUvbG9jYWxlIgp8ICNkZWZpbmUgVVNFX0xJQklDT05WX0dO VSAxCnwgI2RlZmluZSBIQVZFX0RMRkNOX0ggMQp8ICNkZWZpbmUgTFRfT0JKRElSICIubGlicy8i CnwgI2RlZmluZSBTVERDX0hFQURFUlMgMQp8ICNkZWZpbmUgSEFWRV9WUFJJTlRGIDEKfCAjZGVm aW5lIEhBVkVfQUxMT0NBIDEKfCAjZGVmaW5lIEhBVkVfTU1BUCAxCnwgI2RlZmluZSBIQVZFX1BP U0lYX01FTUFMSUdOIDEKfCAjZGVmaW5lIEhBVkVfVkFMTE9DIDEKfCAjZGVmaW5lIEhBVkVfRlNZ TkMgMQp8ICNkZWZpbmUgSEFWRV9BVEVYSVQgMQp8ICNkZWZpbmUgSEFWRV9USU1FR00gMQp8ICNk ZWZpbmUgSEFWRV9HTVRJTUVfUiAxCnwgI2RlZmluZSBTSVpFT0ZfQ0hBUiAxCnwgI2RlZmluZSBT SVpFT0ZfU0hPUlQgMgp8ICNkZWZpbmUgU0laRU9GX0xPTkcgOAp8ICNkZWZpbmUgU0laRU9GX0lO VCA0CnwgI2RlZmluZSBTSVpFT0ZfVk9JRF9QIDgKfCAjZGVmaW5lIFNJWkVPRl9MT05HX0xPTkcg OAp8IC8qIGVuZCBjb25mZGVmcy5oLiAgKi8KfCAjaW5jbHVkZSA8c3RkaW8uaD4KfCAjaWZkZWYg SEFWRV9TWVNfVFlQRVNfSAp8ICMgaW5jbHVkZSA8c3lzL3R5cGVzLmg+CnwgI2VuZGlmCnwgI2lm ZGVmIEhBVkVfU1lTX1NUQVRfSAp8ICMgaW5jbHVkZSA8c3lzL3N0YXQuaD4KfCAjZW5kaWYKfCAj aWZkZWYgU1REQ19IRUFERVJTCnwgIyBpbmNsdWRlIDxzdGRsaWIuaD4KfCAjIGluY2x1ZGUgPHN0 ZGRlZi5oPgp8ICNlbHNlCnwgIyBpZmRlZiBIQVZFX1NURExJQl9ICnwgIyAgaW5jbHVkZSA8c3Rk bGliLmg+CnwgIyBlbmRpZgp8ICNlbmRpZgp8ICNpZmRlZiBIQVZFX1NUUklOR19ICnwgIyBpZiAh ZGVmaW5lZCBTVERDX0hFQURFUlMgJiYgZGVmaW5lZCBIQVZFX01FTU9SWV9ICnwgIyAgaW5jbHVk ZSA8bWVtb3J5Lmg+CnwgIyBlbmRpZgp8ICMgaW5jbHVkZSA8c3RyaW5nLmg+CnwgI2VuZGlmCnwg I2lmZGVmIEhBVkVfU1RSSU5HU19ICnwgIyBpbmNsdWRlIDxzdHJpbmdzLmg+CnwgI2VuZGlmCnwg I2lmZGVmIEhBVkVfSU5UVFlQRVNfSAp8ICMgaW5jbHVkZSA8aW50dHlwZXMuaD4KfCAjZW5kaWYK fCAjaWZkZWYgSEFWRV9TVERJTlRfSAp8ICMgaW5jbHVkZSA8c3RkaW50Lmg+CnwgI2VuZGlmCnwg I2lmZGVmIEhBVkVfVU5JU1REX0gKfCAjIGluY2x1ZGUgPHVuaXN0ZC5oPgp8ICNlbmRpZgp8IHN0 YXRpYyBsb25nIGludCBsb25ndmFsICgpIHsgcmV0dXJuIChsb25nIGludCkgKHNpemVvZiAoX19p bnQ2NCkpOyB9Cnwgc3RhdGljIHVuc2lnbmVkIGxvbmcgaW50IHVsb25ndmFsICgpIHsgcmV0dXJu IChsb25nIGludCkgKHNpemVvZiAoX19pbnQ2NCkpOyB9CnwgI2luY2x1ZGUgPHN0ZGlvLmg+Cnwg I2luY2x1ZGUgPHN0ZGxpYi5oPgp8IGludAp8IG1haW4gKCkKfCB7CnwgCnwgICBGSUxFICpmID0g Zm9wZW4gKCJjb25mdGVzdC52YWwiLCAidyIpOwp8ICAgaWYgKCEgZikKfCAgICAgcmV0dXJuIDE7 CnwgICBpZiAoKChsb25nIGludCkgKHNpemVvZiAoX19pbnQ2NCkpKSA8IDApCnwgICAgIHsKfCAg ICAgICBsb25nIGludCBpID0gbG9uZ3ZhbCAoKTsKfCAgICAgICBpZiAoaSAhPSAoKGxvbmcgaW50 KSAoc2l6ZW9mIChfX2ludDY0KSkpKQp8IAlyZXR1cm4gMTsKfCAgICAgICBmcHJpbnRmIChmLCAi JWxkIiwgaSk7CnwgICAgIH0KfCAgIGVsc2UKfCAgICAgewp8ICAgICAgIHVuc2lnbmVkIGxvbmcg aW50IGkgPSB1bG9uZ3ZhbCAoKTsKfCAgICAgICBpZiAoaSAhPSAoKGxvbmcgaW50KSAoc2l6ZW9m IChfX2ludDY0KSkpKQp8IAlyZXR1cm4gMTsKfCAgICAgICBmcHJpbnRmIChmLCAiJWx1IiwgaSk7 CnwgICAgIH0KfCAgIC8qIERvIG5vdCBvdXRwdXQgYSB0cmFpbGluZyBuZXdsaW5lLCBhcyB0aGlz IGNhdXNlcyBcclxuIGNvbmZ1c2lvbgp8ICAgICAgb24gc29tZSBwbGF0Zm9ybXMuICAqLwp8ICAg cmV0dXJuIGZlcnJvciAoZikgfHwgZmNsb3NlIChmKSAhPSAwOwp8IAp8ICAgOwp8ICAgcmV0dXJu IDA7CnwgfQpjb25maWd1cmU6MjY5NzM6IHJlc3VsdDogMApjb25maWd1cmU6MjcwMDA6IGNoZWNr aW5nIGZvciBmb3JtYXQgdG8gcHJpbnRmIGFuZCBzY2FuZiBhIGd1aW50NjQKY29uZmlndXJlOjI3 MDMzOiBjYyAtbyBjb25mdGVzdCAtTzIgLWZuby1zdHJpY3QtYWxpYXNpbmcgLXBpcGUgLVdhbGwg LUkvdXNyL2xvY2FsL2luY2x1ZGUgLURHX0RJU0FCTEVfU0lOR0xFX0lOQ0xVREVTIC1ML3Vzci9s b2NhbC9saWIgLWxpbnRsIGNvbmZ0ZXN0LmMgICA+JjUKY29uZnRlc3QuYzogSW4gZnVuY3Rpb24g J21haW4nOgpjb25mdGVzdC5jOjU5OiB3YXJuaW5nOiBpbXBsaWNpdCBkZWNsYXJhdGlvbiBvZiBm dW5jdGlvbiAnZXhpdCcKY29uZnRlc3QuYzo1OTogd2FybmluZzogaW5jb21wYXRpYmxlIGltcGxp Y2l0IGRlY2xhcmF0aW9uIG9mIGJ1aWx0LWluIGZ1bmN0aW9uICdleGl0Jwpjb25maWd1cmU6Mjcw Mzc6ICQ/ID0gMApjb25maWd1cmU6MjcwNDM6IC4vY29uZnRlc3QKY29uZmlndXJlOjI3MDQ3OiAk PyA9IDAKY29uZmlndXJlOjI3MDY2OiByZXN1bHQ6ICVsbHUKY29uZmlndXJlOjI3MTA0OiBjaGVj a2luZyBmb3IgYW4gQU5TSSBDLWNvbmZvcm1pbmcgY29uc3QKY29uZmlndXJlOjI3MTc5OiBjYyAt YyAtTzIgLWZuby1zdHJpY3QtYWxpYXNpbmcgLXBpcGUgLVdhbGwgLUkvdXNyL2xvY2FsL2luY2x1 ZGUgLURHX0RJU0FCTEVfU0lOR0xFX0lOQ0xVREVTIGNvbmZ0ZXN0LmMgPiY1CmNvbmZ0ZXN0LmM6 IEluIGZ1bmN0aW9uICdtYWluJzoKY29uZnRlc3QuYzo4Mjogd2FybmluZzogJ3QnIGlzIHVzZWQg dW5pbml0aWFsaXplZCBpbiB0aGlzIGZ1bmN0aW9uCmNvbmZ0ZXN0LmM6OTg6IHdhcm5pbmc6ICdi JyBpcyB1c2VkIHVuaW5pdGlhbGl6ZWQgaW4gdGhpcyBmdW5jdGlvbgpjb25mdGVzdC5jOjEwNDog d2FybmluZzogJ2NzWzBdJyBpcyB1c2VkIHVuaW5pdGlhbGl6ZWQgaW4gdGhpcyBmdW5jdGlvbgpj b25maWd1cmU6MjcxODY6ICQ/ID0gMApjb25maWd1cmU6MjcyMDE6IHJlc3VsdDogeWVzCmNvbmZp Z3VyZToyNzIxMzogY2hlY2tpbmcgaWYgbWFsbG9jKCkgYW5kIGZyaWVuZHMgcHJvdG90eXBlcyBh cmUgZ21lbS5oIGNvbXBhdGlibGUKY29uZmlndXJlOjI3MjQ4OiBjYyAtYyAtTzIgLWZuby1zdHJp Y3QtYWxpYXNpbmcgLXBpcGUgLVdhbGwgLVdlcnJvciAtSS91c3IvbG9jYWwvaW5jbHVkZSAtREdf RElTQUJMRV9TSU5HTEVfSU5DTFVERVMgY29uZnRlc3QuYyA+JjUKY29uZmlndXJlOjI3MjU1OiAk PyA9IDAKY29uZmlndXJlOjI3Mjc1OiByZXN1bHQ6IHllcwpjb25maWd1cmU6MjcyNzk6IGNoZWNr aW5nIGZvciBncm93aW5nIHN0YWNrIHBvaW50ZXIKY29uZmlndXJlOjI3MzEzOiBjYyAtbyBjb25m dGVzdCAtTzIgLWZuby1zdHJpY3QtYWxpYXNpbmcgLXBpcGUgLVdhbGwgLUkvdXNyL2xvY2FsL2lu Y2x1ZGUgLURHX0RJU0FCTEVfU0lOR0xFX0lOQ0xVREVTIC1ML3Vzci9sb2NhbC9saWIgLWxpbnRs IGNvbmZ0ZXN0LmMgICA+JjUKY29uZmlndXJlOjI3MzE3OiAkPyA9IDAKY29uZmlndXJlOjI3MzIz OiAuL2NvbmZ0ZXN0CmNvbmZpZ3VyZToyNzMyNzogJD8gPSAwCmNvbmZpZ3VyZToyNzM0NzogcmVz dWx0OiBubwpjb25maWd1cmU6MjczNTA6IGNoZWNraW5nIGZvciBfX2lubGluZQpjb25maWd1cmU6 MjczNjg6IGNjIC1jIC1PMiAtZm5vLXN0cmljdC1hbGlhc2luZyAtcGlwZSAtV2FsbCAtSS91c3Iv bG9jYWwvaW5jbHVkZSAtREdfRElTQUJMRV9TSU5HTEVfSU5DTFVERVMgY29uZnRlc3QuYyA+JjUK Y29uZmlndXJlOjI3Mzc1OiAkPyA9IDAKY29uZmlndXJlOjI3MzkzOiByZXN1bHQ6IHllcwpjb25m aWd1cmU6Mjc0MDI6IGNoZWNraW5nIGZvciBfX2lubGluZV9fCmNvbmZpZ3VyZToyNzQyMDogY2Mg LWMgLU8yIC1mbm8tc3RyaWN0LWFsaWFzaW5nIC1waXBlIC1XYWxsIC1JL3Vzci9sb2NhbC9pbmNs dWRlIC1ER19ESVNBQkxFX1NJTkdMRV9JTkNMVURFUyBjb25mdGVzdC5jID4mNQpjb25maWd1cmU6 Mjc0Mjc6ICQ/ID0gMApjb25maWd1cmU6Mjc0NDU6IHJlc3VsdDogeWVzCmNvbmZpZ3VyZToyNzQ1 NDogY2hlY2tpbmcgZm9yIGlubGluZQpjb25maWd1cmU6Mjc0NzM6IGNjIC1jIC1PMiAtZm5vLXN0 cmljdC1hbGlhc2luZyAtcGlwZSAtV2FsbCAtSS91c3IvbG9jYWwvaW5jbHVkZSAtREdfRElTQUJM RV9TSU5HTEVfSU5DTFVERVMgY29uZnRlc3QuYyA+JjUKY29uZmlndXJlOjI3NDgwOiAkPyA9IDAK Y29uZmlndXJlOjI3NDk4OiByZXN1bHQ6IHllcwpjb25maWd1cmU6Mjc1MDk6IGNoZWNraW5nIGlm IGlubGluZSBmdW5jdGlvbnMgaW4gaGVhZGVycyB3b3JrCmNvbmZpZ3VyZToyNzU0MzogY2MgLW8g Y29uZnRlc3QgLU8yIC1mbm8tc3RyaWN0LWFsaWFzaW5nIC1waXBlIC1XYWxsIC1JL3Vzci9sb2Nh bC9pbmNsdWRlIC1ER19ESVNBQkxFX1NJTkdMRV9JTkNMVURFUyAtTC91c3IvbG9jYWwvbGliIC1s aW50bCBjb25mdGVzdC5jICAgPiY1CmNvbmZ0ZXN0LmM6IEluIGZ1bmN0aW9uICdtYWluJzoKY29u ZnRlc3QuYzoyMzogd2FybmluZzogdW51c2VkIHZhcmlhYmxlICdpJwpjb25mdGVzdC5jOjI0OiB3 YXJuaW5nOiBjb250cm9sIHJlYWNoZXMgZW5kIG9mIG5vbi12b2lkIGZ1bmN0aW9uCmNvbmZpZ3Vy ZToyNzU1MDogJD8gPSAwCmNvbmZpZ3VyZToyNzU2OTogcmVzdWx0OiB5ZXMKY29uZmlndXJlOjI3 NTcyOiBjaGVja2luZyBmb3Igd29ya2luZyBkbyB3aGlsZSgwKSBtYWNyb3MKY29uZmlndXJlOjI3 NjAzOiBjYyAtYyAtTzIgLWZuby1zdHJpY3QtYWxpYXNpbmcgLXBpcGUgLVdhbGwgLUkvdXNyL2xv Y2FsL2luY2x1ZGUgLURHX0RJU0FCTEVfU0lOR0xFX0lOQ0xVREVTIGNvbmZ0ZXN0LmMgPiY1CmNv bmZ0ZXN0LmM6IEluIGZ1bmN0aW9uICdtYWluJzoKY29uZnRlc3QuYzo2NTogd2FybmluZzogJ21h aW4nIGlzIG5vcm1hbGx5IGEgbm9uLXN0YXRpYyBmdW5jdGlvbgpjb25maWd1cmU6Mjc2MTA6ICQ/ ID0gMApjb25maWd1cmU6Mjc2MjY6IHJlc3VsdDogeWVzCmNvbmZpZ3VyZToyNzYzNzogY2hlY2tp bmcgZm9yIElTTyBDOTkgdmFyYXJncyBtYWNyb3MgaW4gQwpjb25maWd1cmU6Mjc2NjQ6IGNjIC1j IC1PMiAtZm5vLXN0cmljdC1hbGlhc2luZyAtcGlwZSAtV2FsbCAtSS91c3IvbG9jYWwvaW5jbHVk ZSAtREdfRElTQUJMRV9TSU5HTEVfSU5DTFVERVMgY29uZnRlc3QuYyA+JjUKY29uZmlndXJlOjI3 NjcxOiAkPyA9IDAKY29uZmlndXJlOjI3Njg1OiByZXN1bHQ6IHllcwpjb25maWd1cmU6Mjc2ODg6 IGNoZWNraW5nIGZvciBJU08gQzk5IHZhcmFyZ3MgbWFjcm9zIGluIEMrKwpjb25maWd1cmU6Mjc3 MjQ6IGMrKyAtYyAtTzIgLWZuby1zdHJpY3QtYWxpYXNpbmcgLXBpcGUgLUkvdXNyL2xvY2FsL2lu Y2x1ZGUgLURHX0RJU0FCTEVfU0lOR0xFX0lOQ0xVREVTIGNvbmZ0ZXN0LmNwcCA+JjUKY29uZmln dXJlOjI3NzMxOiAkPyA9IDAKY29uZmlndXJlOjI3NzUyOiByZXN1bHQ6IHllcwpjb25maWd1cmU6 Mjc3NTU6IGNoZWNraW5nIGZvciBHTlVDIHZhcmFyZ3MgbWFjcm9zCmNvbmZpZ3VyZToyNzc4Mjog Y2MgLWMgLU8yIC1mbm8tc3RyaWN0LWFsaWFzaW5nIC1waXBlIC1XYWxsIC1JL3Vzci9sb2NhbC9p bmNsdWRlIC1ER19ESVNBQkxFX1NJTkdMRV9JTkNMVURFUyBjb25mdGVzdC5jID4mNQpjb25maWd1 cmU6Mjc3ODk6ICQ/ID0gMApjb25maWd1cmU6Mjc4MDM6IHJlc3VsdDogeWVzCmNvbmZpZ3VyZToy NzgwNzogY2hlY2tpbmcgZm9yIEdOVUMgdmlzaWJpbGl0eSBhdHRyaWJ1dGUKY29uZmlndXJlOjI3 ODQ0OiBjYyAtYyAtTzIgLWZuby1zdHJpY3QtYWxpYXNpbmcgLXBpcGUgLVdhbGwgLUkvdXNyL2xv Y2FsL2luY2x1ZGUgLURHX0RJU0FCTEVfU0lOR0xFX0lOQ0xVREVTIGNvbmZ0ZXN0LmMKY29uZmln dXJlOjI3ODUwOiAkPyA9IDAKY29uZmlndXJlOjI3ODUzOiAoaWYgdGVzdCAtcyBjb25mdGVzdC5l cnI7IHRoZW4gZmFsc2UgOyBlbHNlIHRydWU7IGZpKQpjb25maWd1cmU6Mjc4NTY6ICQ/ID0gMApj b25maWd1cmU6Mjc4NjY6IHJlc3VsdDogeWVzCmNvbmZpZ3VyZToyNzg3NzogY2hlY2tpbmcgd2hl dGhlciB1c2luZyBTdW4gU3R1ZGlvIEMgY29tcGlsZXIKY29uZmlndXJlOjI3OTA0OiBjYyAtYyAt TzIgLWZuby1zdHJpY3QtYWxpYXNpbmcgLXBpcGUgLVdhbGwgLUkvdXNyL2xvY2FsL2luY2x1ZGUg LURHX0RJU0FCTEVfU0lOR0xFX0lOQ0xVREVTIGNvbmZ0ZXN0LmMgPiY1CmNvbmZ0ZXN0LmM6NjA6 NDM6IGVycm9yOiBlcnJvcjogdGhpcyBpcyBub3QgU3VuIFN0dWRpby46IE5vIHN1Y2ggZmlsZSBv ciBkaXJlY3RvcnkKY29uZmlndXJlOjI3OTExOiAkPyA9IDEKY29uZmlndXJlOiBmYWlsZWQgcHJv Z3JhbSB3YXM6CnwgLyogY29uZmRlZnMuaC4gICovCnwgI2RlZmluZSBQQUNLQUdFX05BTUUgImds aWIiCnwgI2RlZmluZSBQQUNLQUdFX1RBUk5BTUUgImdsaWIiCnwgI2RlZmluZSBQQUNLQUdFX1ZF UlNJT04gIjIuMjAuNSIKfCAjZGVmaW5lIFBBQ0tBR0VfU1RSSU5HICJnbGliIDIuMjAuNSIKfCAj ZGVmaW5lIFBBQ0tBR0VfQlVHUkVQT1JUICJodHRwOi8vYnVnemlsbGEuZ25vbWUub3JnL2VudGVy X2J1Zy5jZ2k/cHJvZHVjdD1nbGliIgp8ICNkZWZpbmUgR0xJQl9NQUpPUl9WRVJTSU9OIDIKfCAj ZGVmaW5lIEdMSUJfTUlOT1JfVkVSU0lPTiAyMAp8ICNkZWZpbmUgR0xJQl9NSUNST19WRVJTSU9O IDUKfCAjZGVmaW5lIEdMSUJfSU5URVJGQUNFX0FHRSA1CnwgI2RlZmluZSBHTElCX0JJTkFSWV9B R0UgMjAwNQp8ICNkZWZpbmUgTkVFRF9JQ09OVl9DQUNIRSAxCnwgI2RlZmluZSBTVERDX0hFQURF UlMgMQp8ICNkZWZpbmUgSEFWRV9TWVNfVFlQRVNfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19TVEFU X0ggMQp8ICNkZWZpbmUgSEFWRV9TVERMSUJfSCAxCnwgI2RlZmluZSBIQVZFX1NUUklOR19IIDEK fCAjZGVmaW5lIEhBVkVfTUVNT1JZX0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJJTkdTX0ggMQp8ICNk ZWZpbmUgSEFWRV9JTlRUWVBFU19IIDEKfCAjZGVmaW5lIEhBVkVfU1RESU5UX0ggMQp8ICNkZWZp bmUgSEFWRV9VTklTVERfSCAxCnwgI2RlZmluZSBIQVZFX0xPQ0FMRV9IIDEKfCAjZGVmaW5lIEhB VkVfTENfTUVTU0FHRVMgMQp8ICNkZWZpbmUgSEFWRV9CSU5EX1RFWFRET01BSU5fQ09ERVNFVCAx CnwgI2RlZmluZSBIQVZFX0dFVFRFWFQgMQp8ICNkZWZpbmUgSEFWRV9EQ0dFVFRFWFQgMQp8ICNk ZWZpbmUgRU5BQkxFX05MUyAxCnwgI2RlZmluZSBHRVRURVhUX1BBQ0tBR0UgImdsaWIyMCIKfCAj ZGVmaW5lIEdMSUJfTE9DQUxFX0RJUiAiL3Vzci9sb2NhbC9zaGFyZS9sb2NhbGUiCnwgI2RlZmlu ZSBVU0VfTElCSUNPTlZfR05VIDEKfCAjZGVmaW5lIEhBVkVfRExGQ05fSCAxCnwgI2RlZmluZSBM VF9PQkpESVIgIi5saWJzLyIKfCAjZGVmaW5lIFNURENfSEVBREVSUyAxCnwgI2RlZmluZSBIQVZF X1ZQUklOVEYgMQp8ICNkZWZpbmUgSEFWRV9BTExPQ0EgMQp8ICNkZWZpbmUgSEFWRV9NTUFQIDEK fCAjZGVmaW5lIEhBVkVfUE9TSVhfTUVNQUxJR04gMQp8ICNkZWZpbmUgSEFWRV9WQUxMT0MgMQp8 ICNkZWZpbmUgSEFWRV9GU1lOQyAxCnwgI2RlZmluZSBIQVZFX0FURVhJVCAxCnwgI2RlZmluZSBI QVZFX1RJTUVHTSAxCnwgI2RlZmluZSBIQVZFX0dNVElNRV9SIDEKfCAjZGVmaW5lIFNJWkVPRl9D SEFSIDEKfCAjZGVmaW5lIFNJWkVPRl9TSE9SVCAyCnwgI2RlZmluZSBTSVpFT0ZfTE9ORyA4Cnwg I2RlZmluZSBTSVpFT0ZfSU5UIDQKfCAjZGVmaW5lIFNJWkVPRl9WT0lEX1AgOAp8ICNkZWZpbmUg U0laRU9GX0xPTkdfTE9ORyA4CnwgI2RlZmluZSBTSVpFT0ZfX19JTlQ2NCAwCnwgI2RlZmluZSBI QVZFX0xPTkdfTE9OR19GT1JNQVQgMQp8ICNkZWZpbmUgU0FORV9NQUxMT0NfUFJPVE9TIDEKfCAj ZGVmaW5lIEdfSEFWRV9fX0lOTElORSAxCnwgI2RlZmluZSBHX0hBVkVfX19JTkxJTkVfXyAxCnwg I2RlZmluZSBHX0hBVkVfSU5MSU5FIDEKfCAjZGVmaW5lIEhBVkVfRE9XSElMRV9NQUNST1MgMQp8 IC8qIGVuZCBjb25mZGVmcy5oLiAgKi8KfCAjaWYgZGVmaW5lZChfX1NVTlBST19DKSB8fCAoX19T VU5QUk9fQyA+PSAweDU1MCkKfCAjZWxzZQp8ICMgaW5jbHVkZSAiZXJyb3I6IHRoaXMgaXMgbm90 IFN1biBTdHVkaW8uIgp8ICNlbmRpZgp8IAp8IGludAp8IG1haW4gKCkKfCB7CnwgCnwgICA7Cnwg ICByZXR1cm4gMDsKfCB9CmNvbmZpZ3VyZToyNzkyNTogcmVzdWx0OiBubwpjb25maWd1cmU6Mjc5 Mzg6IGNoZWNraW5nIHdoZXRoZXIgYnl0ZSBvcmRlcmluZyBpcyBiaWdlbmRpYW4KY29uZmlndXJl OjI3OTYzOiBjYyAtYyAtTzIgLWZuby1zdHJpY3QtYWxpYXNpbmcgLXBpcGUgLVdhbGwgLUkvdXNy L2xvY2FsL2luY2x1ZGUgLURHX0RJU0FCTEVfU0lOR0xFX0lOQ0xVREVTIGNvbmZ0ZXN0LmMgPiY1 CmNvbmZ0ZXN0LmM6NTk6IGVycm9yOiBleHBlY3RlZCAnPScsICcsJywgJzsnLCAnYXNtJyBvciAn X19hdHRyaWJ1dGVfXycgYmVmb3JlICdhJwpjb25maWd1cmU6Mjc5NzA6ICQ/ID0gMQpjb25maWd1 cmU6IGZhaWxlZCBwcm9ncmFtIHdhczoKfCAvKiBjb25mZGVmcy5oLiAgKi8KfCAjZGVmaW5lIFBB Q0tBR0VfTkFNRSAiZ2xpYiIKfCAjZGVmaW5lIFBBQ0tBR0VfVEFSTkFNRSAiZ2xpYiIKfCAjZGVm aW5lIFBBQ0tBR0VfVkVSU0lPTiAiMi4yMC41Igp8ICNkZWZpbmUgUEFDS0FHRV9TVFJJTkcgImds aWIgMi4yMC41Igp8ICNkZWZpbmUgUEFDS0FHRV9CVUdSRVBPUlQgImh0dHA6Ly9idWd6aWxsYS5n bm9tZS5vcmcvZW50ZXJfYnVnLmNnaT9wcm9kdWN0PWdsaWIiCnwgI2RlZmluZSBHTElCX01BSk9S X1ZFUlNJT04gMgp8ICNkZWZpbmUgR0xJQl9NSU5PUl9WRVJTSU9OIDIwCnwgI2RlZmluZSBHTElC X01JQ1JPX1ZFUlNJT04gNQp8ICNkZWZpbmUgR0xJQl9JTlRFUkZBQ0VfQUdFIDUKfCAjZGVmaW5l IEdMSUJfQklOQVJZX0FHRSAyMDA1CnwgI2RlZmluZSBORUVEX0lDT05WX0NBQ0hFIDEKfCAjZGVm aW5lIFNURENfSEVBREVSUyAxCnwgI2RlZmluZSBIQVZFX1NZU19UWVBFU19IIDEKfCAjZGVmaW5l IEhBVkVfU1lTX1NUQVRfSCAxCnwgI2RlZmluZSBIQVZFX1NURExJQl9IIDEKfCAjZGVmaW5lIEhB VkVfU1RSSU5HX0ggMQp8ICNkZWZpbmUgSEFWRV9NRU1PUllfSCAxCnwgI2RlZmluZSBIQVZFX1NU UklOR1NfSCAxCnwgI2RlZmluZSBIQVZFX0lOVFRZUEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERJ TlRfSCAxCnwgI2RlZmluZSBIQVZFX1VOSVNURF9IIDEKfCAjZGVmaW5lIEhBVkVfTE9DQUxFX0gg MQp8ICNkZWZpbmUgSEFWRV9MQ19NRVNTQUdFUyAxCnwgI2RlZmluZSBIQVZFX0JJTkRfVEVYVERP TUFJTl9DT0RFU0VUIDEKfCAjZGVmaW5lIEhBVkVfR0VUVEVYVCAxCnwgI2RlZmluZSBIQVZFX0RD R0VUVEVYVCAxCnwgI2RlZmluZSBFTkFCTEVfTkxTIDEKfCAjZGVmaW5lIEdFVFRFWFRfUEFDS0FH RSAiZ2xpYjIwIgp8ICNkZWZpbmUgR0xJQl9MT0NBTEVfRElSICIvdXNyL2xvY2FsL3NoYXJlL2xv Y2FsZSIKfCAjZGVmaW5lIFVTRV9MSUJJQ09OVl9HTlUgMQp8ICNkZWZpbmUgSEFWRV9ETEZDTl9I IDEKfCAjZGVmaW5lIExUX09CSkRJUiAiLmxpYnMvIgp8ICNkZWZpbmUgU1REQ19IRUFERVJTIDEK fCAjZGVmaW5lIEhBVkVfVlBSSU5URiAxCnwgI2RlZmluZSBIQVZFX0FMTE9DQSAxCnwgI2RlZmlu ZSBIQVZFX01NQVAgMQp8ICNkZWZpbmUgSEFWRV9QT1NJWF9NRU1BTElHTiAxCnwgI2RlZmluZSBI QVZFX1ZBTExPQyAxCnwgI2RlZmluZSBIQVZFX0ZTWU5DIDEKfCAjZGVmaW5lIEhBVkVfQVRFWElU IDEKfCAjZGVmaW5lIEhBVkVfVElNRUdNIDEKfCAjZGVmaW5lIEhBVkVfR01USU1FX1IgMQp8ICNk ZWZpbmUgU0laRU9GX0NIQVIgMQp8ICNkZWZpbmUgU0laRU9GX1NIT1JUIDIKfCAjZGVmaW5lIFNJ WkVPRl9MT05HIDgKfCAjZGVmaW5lIFNJWkVPRl9JTlQgNAp8ICNkZWZpbmUgU0laRU9GX1ZPSURf UCA4CnwgI2RlZmluZSBTSVpFT0ZfTE9OR19MT05HIDgKfCAjZGVmaW5lIFNJWkVPRl9fX0lOVDY0 IDAKfCAjZGVmaW5lIEhBVkVfTE9OR19MT05HX0ZPUk1BVCAxCnwgI2RlZmluZSBTQU5FX01BTExP Q19QUk9UT1MgMQp8ICNkZWZpbmUgR19IQVZFX19fSU5MSU5FIDEKfCAjZGVmaW5lIEdfSEFWRV9f X0lOTElORV9fIDEKfCAjZGVmaW5lIEdfSEFWRV9JTkxJTkUgMQp8ICNkZWZpbmUgSEFWRV9ET1dI SUxFX01BQ1JPUyAxCnwgLyogZW5kIGNvbmZkZWZzLmguICAqLwp8ICNpZm5kZWYgX19BUFBMRV9D Q19fCnwgCSAgICAgICBub3QgYSB1bml2ZXJzYWwgY2FwYWJsZSBjb21waWxlcgp8IAkgICAgICNl bmRpZgp8IAkgICAgIHR5cGVkZWYgaW50IGR1bW15Owp8IApjb25maWd1cmU6MjgwMjA6IGNjIC1j IC1PMiAtZm5vLXN0cmljdC1hbGlhc2luZyAtcGlwZSAtV2FsbCAtSS91c3IvbG9jYWwvaW5jbHVk ZSAtREdfRElTQUJMRV9TSU5HTEVfSU5DTFVERVMgY29uZnRlc3QuYyA+JjUKY29uZmlndXJlOjI4 MDI3OiAkPyA9IDAKY29uZmlndXJlOjI4MDU5OiBjYyAtYyAtTzIgLWZuby1zdHJpY3QtYWxpYXNp bmcgLXBpcGUgLVdhbGwgLUkvdXNyL2xvY2FsL2luY2x1ZGUgLURHX0RJU0FCTEVfU0lOR0xFX0lO Q0xVREVTIGNvbmZ0ZXN0LmMgPiY1CmNvbmZ0ZXN0LmM6IEluIGZ1bmN0aW9uICdtYWluJzoKY29u ZnRlc3QuYzo2NTogZXJyb3I6ICdub3QnIHVuZGVjbGFyZWQgKGZpcnN0IHVzZSBpbiB0aGlzIGZ1 bmN0aW9uKQpjb25mdGVzdC5jOjY1OiBlcnJvcjogKEVhY2ggdW5kZWNsYXJlZCBpZGVudGlmaWVy IGlzIHJlcG9ydGVkIG9ubHkgb25jZQpjb25mdGVzdC5jOjY1OiBlcnJvcjogZm9yIGVhY2ggZnVu Y3Rpb24gaXQgYXBwZWFycyBpbi4pCmNvbmZ0ZXN0LmM6NjU6IGVycm9yOiBleHBlY3RlZCAnOycg YmVmb3JlICdiaWcnCmNvbmZpZ3VyZToyODA2NjogJD8gPSAxCmNvbmZpZ3VyZTogZmFpbGVkIHBy b2dyYW0gd2FzOgp8IC8qIGNvbmZkZWZzLmguICAqLwp8ICNkZWZpbmUgUEFDS0FHRV9OQU1FICJn bGliIgp8ICNkZWZpbmUgUEFDS0FHRV9UQVJOQU1FICJnbGliIgp8ICNkZWZpbmUgUEFDS0FHRV9W RVJTSU9OICIyLjIwLjUiCnwgI2RlZmluZSBQQUNLQUdFX1NUUklORyAiZ2xpYiAyLjIwLjUiCnwg I2RlZmluZSBQQUNLQUdFX0JVR1JFUE9SVCAiaHR0cDovL2J1Z3ppbGxhLmdub21lLm9yZy9lbnRl cl9idWcuY2dpP3Byb2R1Y3Q9Z2xpYiIKfCAjZGVmaW5lIEdMSUJfTUFKT1JfVkVSU0lPTiAyCnwg I2RlZmluZSBHTElCX01JTk9SX1ZFUlNJT04gMjAKfCAjZGVmaW5lIEdMSUJfTUlDUk9fVkVSU0lP TiA1CnwgI2RlZmluZSBHTElCX0lOVEVSRkFDRV9BR0UgNQp8ICNkZWZpbmUgR0xJQl9CSU5BUllf QUdFIDIwMDUKfCAjZGVmaW5lIE5FRURfSUNPTlZfQ0FDSEUgMQp8ICNkZWZpbmUgU1REQ19IRUFE RVJTIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1RZUEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfU1RB VF9IIDEKfCAjZGVmaW5lIEhBVkVfU1RETElCX0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJJTkdfSCAx CnwgI2RlZmluZSBIQVZFX01FTU9SWV9IIDEKfCAjZGVmaW5lIEhBVkVfU1RSSU5HU19IIDEKfCAj ZGVmaW5lIEhBVkVfSU5UVFlQRVNfSCAxCnwgI2RlZmluZSBIQVZFX1NURElOVF9IIDEKfCAjZGVm aW5lIEhBVkVfVU5JU1REX0ggMQp8ICNkZWZpbmUgSEFWRV9MT0NBTEVfSCAxCnwgI2RlZmluZSBI QVZFX0xDX01FU1NBR0VTIDEKfCAjZGVmaW5lIEhBVkVfQklORF9URVhURE9NQUlOX0NPREVTRVQg MQp8ICNkZWZpbmUgSEFWRV9HRVRURVhUIDEKfCAjZGVmaW5lIEhBVkVfRENHRVRURVhUIDEKfCAj ZGVmaW5lIEVOQUJMRV9OTFMgMQp8ICNkZWZpbmUgR0VUVEVYVF9QQUNLQUdFICJnbGliMjAiCnwg I2RlZmluZSBHTElCX0xPQ0FMRV9ESVIgIi91c3IvbG9jYWwvc2hhcmUvbG9jYWxlIgp8ICNkZWZp bmUgVVNFX0xJQklDT05WX0dOVSAxCnwgI2RlZmluZSBIQVZFX0RMRkNOX0ggMQp8ICNkZWZpbmUg TFRfT0JKRElSICIubGlicy8iCnwgI2RlZmluZSBTVERDX0hFQURFUlMgMQp8ICNkZWZpbmUgSEFW RV9WUFJJTlRGIDEKfCAjZGVmaW5lIEhBVkVfQUxMT0NBIDEKfCAjZGVmaW5lIEhBVkVfTU1BUCAx CnwgI2RlZmluZSBIQVZFX1BPU0lYX01FTUFMSUdOIDEKfCAjZGVmaW5lIEhBVkVfVkFMTE9DIDEK fCAjZGVmaW5lIEhBVkVfRlNZTkMgMQp8ICNkZWZpbmUgSEFWRV9BVEVYSVQgMQp8ICNkZWZpbmUg SEFWRV9USU1FR00gMQp8ICNkZWZpbmUgSEFWRV9HTVRJTUVfUiAxCnwgI2RlZmluZSBTSVpFT0Zf Q0hBUiAxCnwgI2RlZmluZSBTSVpFT0ZfU0hPUlQgMgp8ICNkZWZpbmUgU0laRU9GX0xPTkcgOAp8 ICNkZWZpbmUgU0laRU9GX0lOVCA0CnwgI2RlZmluZSBTSVpFT0ZfVk9JRF9QIDgKfCAjZGVmaW5l IFNJWkVPRl9MT05HX0xPTkcgOAp8ICNkZWZpbmUgU0laRU9GX19fSU5UNjQgMAp8ICNkZWZpbmUg SEFWRV9MT05HX0xPTkdfRk9STUFUIDEKfCAjZGVmaW5lIFNBTkVfTUFMTE9DX1BST1RPUyAxCnwg I2RlZmluZSBHX0hBVkVfX19JTkxJTkUgMQp8ICNkZWZpbmUgR19IQVZFX19fSU5MSU5FX18gMQp8 ICNkZWZpbmUgR19IQVZFX0lOTElORSAxCnwgI2RlZmluZSBIQVZFX0RPV0hJTEVfTUFDUk9TIDEK fCAvKiBlbmQgY29uZmRlZnMuaC4gICovCnwgI2luY2x1ZGUgPHN5cy90eXBlcy5oPgp8IAkJI2lu Y2x1ZGUgPHN5cy9wYXJhbS5oPgp8IAp8IGludAp8IG1haW4gKCkKfCB7CnwgI2lmIEJZVEVfT1JE RVIgIT0gQklHX0VORElBTgp8IAkJIG5vdCBiaWcgZW5kaWFuCnwgCQkjZW5kaWYKfCAKfCAgIDsK fCAgIHJldHVybiAwOwp8IH0KY29uZmlndXJlOjI4MzE4OiByZXN1bHQ6IG5vCmNvbmZpZ3VyZToy ODQ2MzogY2hlY2tpbmcgZGlyZW50LmggdXNhYmlsaXR5CmNvbmZpZ3VyZToyODQ4MDogY2MgLWMg LU8yIC1mbm8tc3RyaWN0LWFsaWFzaW5nIC1waXBlIC1XYWxsIC1JL3Vzci9sb2NhbC9pbmNsdWRl IC1ER19ESVNBQkxFX1NJTkdMRV9JTkNMVURFUyBjb25mdGVzdC5jID4mNQpjb25maWd1cmU6Mjg0 ODc6ICQ/ID0gMApjb25maWd1cmU6Mjg1MDE6IHJlc3VsdDogeWVzCmNvbmZpZ3VyZToyODUwNTog Y2hlY2tpbmcgZGlyZW50LmggcHJlc2VuY2UKY29uZmlndXJlOjI4NTIwOiBjYyAtRSAtSS91c3Iv bG9jYWwvaW5jbHVkZSAtREdfRElTQUJMRV9TSU5HTEVfSU5DTFVERVMgY29uZnRlc3QuYwpjb25m aWd1cmU6Mjg1Mjc6ICQ/ID0gMApjb25maWd1cmU6Mjg1NDE6IHJlc3VsdDogeWVzCmNvbmZpZ3Vy ZToyODU3NDogY2hlY2tpbmcgZm9yIGRpcmVudC5oCmNvbmZpZ3VyZToyODU4MzogcmVzdWx0OiB5 ZXMKY29uZmlndXJlOjI4NDYzOiBjaGVja2luZyBmbG9hdC5oIHVzYWJpbGl0eQpjb25maWd1cmU6 Mjg0ODA6IGNjIC1jIC1PMiAtZm5vLXN0cmljdC1hbGlhc2luZyAtcGlwZSAtV2FsbCAtSS91c3Iv bG9jYWwvaW5jbHVkZSAtREdfRElTQUJMRV9TSU5HTEVfSU5DTFVERVMgY29uZnRlc3QuYyA+JjUK Y29uZmlndXJlOjI4NDg3OiAkPyA9IDAKY29uZmlndXJlOjI4NTAxOiByZXN1bHQ6IHllcwpjb25m aWd1cmU6Mjg1MDU6IGNoZWNraW5nIGZsb2F0LmggcHJlc2VuY2UKY29uZmlndXJlOjI4NTIwOiBj YyAtRSAtSS91c3IvbG9jYWwvaW5jbHVkZSAtREdfRElTQUJMRV9TSU5HTEVfSU5DTFVERVMgY29u ZnRlc3QuYwpjb25maWd1cmU6Mjg1Mjc6ICQ/ID0gMApjb25maWd1cmU6Mjg1NDE6IHJlc3VsdDog eWVzCmNvbmZpZ3VyZToyODU3NDogY2hlY2tpbmcgZm9yIGZsb2F0LmgKY29uZmlndXJlOjI4NTgz OiByZXN1bHQ6IHllcwpjb25maWd1cmU6Mjg0NjM6IGNoZWNraW5nIGxpbWl0cy5oIHVzYWJpbGl0 eQpjb25maWd1cmU6Mjg0ODA6IGNjIC1jIC1PMiAtZm5vLXN0cmljdC1hbGlhc2luZyAtcGlwZSAt V2FsbCAtSS91c3IvbG9jYWwvaW5jbHVkZSAtREdfRElTQUJMRV9TSU5HTEVfSU5DTFVERVMgY29u ZnRlc3QuYyA+JjUKY29uZmlndXJlOjI4NDg3OiAkPyA9IDAKY29uZmlndXJlOjI4NTAxOiByZXN1 bHQ6IHllcwpjb25maWd1cmU6Mjg1MDU6IGNoZWNraW5nIGxpbWl0cy5oIHByZXNlbmNlCmNvbmZp Z3VyZToyODUyMDogY2MgLUUgLUkvdXNyL2xvY2FsL2luY2x1ZGUgLURHX0RJU0FCTEVfU0lOR0xF X0lOQ0xVREVTIGNvbmZ0ZXN0LmMKY29uZmlndXJlOjI4NTI3OiAkPyA9IDAKY29uZmlndXJlOjI4 NTQxOiByZXN1bHQ6IHllcwpjb25maWd1cmU6Mjg1NzQ6IGNoZWNraW5nIGZvciBsaW1pdHMuaApj b25maWd1cmU6Mjg1ODM6IHJlc3VsdDogeWVzCmNvbmZpZ3VyZToyODQ2MzogY2hlY2tpbmcgcHdk LmggdXNhYmlsaXR5CmNvbmZpZ3VyZToyODQ4MDogY2MgLWMgLU8yIC1mbm8tc3RyaWN0LWFsaWFz aW5nIC1waXBlIC1XYWxsIC1JL3Vzci9sb2NhbC9pbmNsdWRlIC1ER19ESVNBQkxFX1NJTkdMRV9J TkNMVURFUyBjb25mdGVzdC5jID4mNQpjb25maWd1cmU6Mjg0ODc6ICQ/ID0gMApjb25maWd1cmU6 Mjg1MDE6IHJlc3VsdDogeWVzCmNvbmZpZ3VyZToyODUwNTogY2hlY2tpbmcgcHdkLmggcHJlc2Vu Y2UKY29uZmlndXJlOjI4NTIwOiBjYyAtRSAtSS91c3IvbG9jYWwvaW5jbHVkZSAtREdfRElTQUJM RV9TSU5HTEVfSU5DTFVERVMgY29uZnRlc3QuYwpjb25maWd1cmU6Mjg1Mjc6ICQ/ID0gMApjb25m aWd1cmU6Mjg1NDE6IHJlc3VsdDogeWVzCmNvbmZpZ3VyZToyODU3NDogY2hlY2tpbmcgZm9yIHB3 ZC5oCmNvbmZpZ3VyZToyODU4MzogcmVzdWx0OiB5ZXMKY29uZmlndXJlOjI4NDYzOiBjaGVja2lu ZyBncnAuaCB1c2FiaWxpdHkKY29uZmlndXJlOjI4NDgwOiBjYyAtYyAtTzIgLWZuby1zdHJpY3Qt YWxpYXNpbmcgLXBpcGUgLVdhbGwgLUkvdXNyL2xvY2FsL2luY2x1ZGUgLURHX0RJU0FCTEVfU0lO R0xFX0lOQ0xVREVTIGNvbmZ0ZXN0LmMgPiY1CmNvbmZpZ3VyZToyODQ4NzogJD8gPSAwCmNvbmZp Z3VyZToyODUwMTogcmVzdWx0OiB5ZXMKY29uZmlndXJlOjI4NTA1OiBjaGVja2luZyBncnAuaCBw cmVzZW5jZQpjb25maWd1cmU6Mjg1MjA6IGNjIC1FIC1JL3Vzci9sb2NhbC9pbmNsdWRlIC1ER19E SVNBQkxFX1NJTkdMRV9JTkNMVURFUyBjb25mdGVzdC5jCmNvbmZpZ3VyZToyODUyNzogJD8gPSAw CmNvbmZpZ3VyZToyODU0MTogcmVzdWx0OiB5ZXMKY29uZmlndXJlOjI4NTc0OiBjaGVja2luZyBm b3IgZ3JwLmgKY29uZmlndXJlOjI4NTgzOiByZXN1bHQ6IHllcwpjb25maWd1cmU6Mjg0NjM6IGNo ZWNraW5nIHN5cy9wYXJhbS5oIHVzYWJpbGl0eQpjb25maWd1cmU6Mjg0ODA6IGNjIC1jIC1PMiAt Zm5vLXN0cmljdC1hbGlhc2luZyAtcGlwZSAtV2FsbCAtSS91c3IvbG9jYWwvaW5jbHVkZSAtREdf RElTQUJMRV9TSU5HTEVfSU5DTFVERVMgY29uZnRlc3QuYyA+JjUKY29uZmlndXJlOjI4NDg3OiAk PyA9IDAKY29uZmlndXJlOjI4NTAxOiByZXN1bHQ6IHllcwpjb25maWd1cmU6Mjg1MDU6IGNoZWNr aW5nIHN5cy9wYXJhbS5oIHByZXNlbmNlCmNvbmZpZ3VyZToyODUyMDogY2MgLUUgLUkvdXNyL2xv Y2FsL2luY2x1ZGUgLURHX0RJU0FCTEVfU0lOR0xFX0lOQ0xVREVTIGNvbmZ0ZXN0LmMKY29uZmln dXJlOjI4NTI3OiAkPyA9IDAKY29uZmlndXJlOjI4NTQxOiByZXN1bHQ6IHllcwpjb25maWd1cmU6 Mjg1NzQ6IGNoZWNraW5nIGZvciBzeXMvcGFyYW0uaApjb25maWd1cmU6Mjg1ODM6IHJlc3VsdDog eWVzCmNvbmZpZ3VyZToyODQ2MzogY2hlY2tpbmcgc3lzL3BvbGwuaCB1c2FiaWxpdHkKY29uZmln dXJlOjI4NDgwOiBjYyAtYyAtTzIgLWZuby1zdHJpY3QtYWxpYXNpbmcgLXBpcGUgLVdhbGwgLUkv dXNyL2xvY2FsL2luY2x1ZGUgLURHX0RJU0FCTEVfU0lOR0xFX0lOQ0xVREVTIGNvbmZ0ZXN0LmMg PiY1CmNvbmZpZ3VyZToyODQ4NzogJD8gPSAwCmNvbmZpZ3VyZToyODUwMTogcmVzdWx0OiB5ZXMK Y29uZmlndXJlOjI4NTA1OiBjaGVja2luZyBzeXMvcG9sbC5oIHByZXNlbmNlCmNvbmZpZ3VyZToy ODUyMDogY2MgLUUgLUkvdXNyL2xvY2FsL2luY2x1ZGUgLURHX0RJU0FCTEVfU0lOR0xFX0lOQ0xV REVTIGNvbmZ0ZXN0LmMKY29uZmlndXJlOjI4NTI3OiAkPyA9IDAKY29uZmlndXJlOjI4NTQxOiBy ZXN1bHQ6IHllcwpjb25maWd1cmU6Mjg1NzQ6IGNoZWNraW5nIGZvciBzeXMvcG9sbC5oCmNvbmZp Z3VyZToyODU4MzogcmVzdWx0OiB5ZXMKY29uZmlndXJlOjI4NDYzOiBjaGVja2luZyBzeXMvcmVz b3VyY2UuaCB1c2FiaWxpdHkKY29uZmlndXJlOjI4NDgwOiBjYyAtYyAtTzIgLWZuby1zdHJpY3Qt YWxpYXNpbmcgLXBpcGUgLVdhbGwgLUkvdXNyL2xvY2FsL2luY2x1ZGUgLURHX0RJU0FCTEVfU0lO R0xFX0lOQ0xVREVTIGNvbmZ0ZXN0LmMgPiY1CmNvbmZpZ3VyZToyODQ4NzogJD8gPSAwCmNvbmZp Z3VyZToyODUwMTogcmVzdWx0OiB5ZXMKY29uZmlndXJlOjI4NTA1OiBjaGVja2luZyBzeXMvcmVz b3VyY2UuaCBwcmVzZW5jZQpjb25maWd1cmU6Mjg1MjA6IGNjIC1FIC1JL3Vzci9sb2NhbC9pbmNs dWRlIC1ER19ESVNBQkxFX1NJTkdMRV9JTkNMVURFUyBjb25mdGVzdC5jCmNvbmZpZ3VyZToyODUy NzogJD8gPSAwCmNvbmZpZ3VyZToyODU0MTogcmVzdWx0OiB5ZXMKY29uZmlndXJlOjI4NTc0OiBj aGVja2luZyBmb3Igc3lzL3Jlc291cmNlLmgKY29uZmlndXJlOjI4NTgzOiByZXN1bHQ6IHllcwpj b25maWd1cmU6Mjg2MTg6IGNoZWNraW5nIHN5cy90aW1lLmggdXNhYmlsaXR5CmNvbmZpZ3VyZToy ODYzNTogY2MgLWMgLU8yIC1mbm8tc3RyaWN0LWFsaWFzaW5nIC1waXBlIC1XYWxsIC1JL3Vzci9s b2NhbC9pbmNsdWRlIC1ER19ESVNBQkxFX1NJTkdMRV9JTkNMVURFUyBjb25mdGVzdC5jID4mNQpj b25maWd1cmU6Mjg2NDI6ICQ/ID0gMApjb25maWd1cmU6Mjg2NTY6IHJlc3VsdDogeWVzCmNvbmZp Z3VyZToyODY2MDogY2hlY2tpbmcgc3lzL3RpbWUuaCBwcmVzZW5jZQpjb25maWd1cmU6Mjg2NzU6 IGNjIC1FIC1JL3Vzci9sb2NhbC9pbmNsdWRlIC1ER19ESVNBQkxFX1NJTkdMRV9JTkNMVURFUyBj b25mdGVzdC5jCmNvbmZpZ3VyZToyODY4MjogJD8gPSAwCmNvbmZpZ3VyZToyODY5NjogcmVzdWx0 OiB5ZXMKY29uZmlndXJlOjI4NzI5OiBjaGVja2luZyBmb3Igc3lzL3RpbWUuaApjb25maWd1cmU6 Mjg3Mzg6IHJlc3VsdDogeWVzCmNvbmZpZ3VyZToyODYxODogY2hlY2tpbmcgc3lzL3RpbWVzLmgg dXNhYmlsaXR5CmNvbmZpZ3VyZToyODYzNTogY2MgLWMgLU8yIC1mbm8tc3RyaWN0LWFsaWFzaW5n IC1waXBlIC1XYWxsIC1JL3Vzci9sb2NhbC9pbmNsdWRlIC1ER19ESVNBQkxFX1NJTkdMRV9JTkNM VURFUyBjb25mdGVzdC5jID4mNQpjb25maWd1cmU6Mjg2NDI6ICQ/ID0gMApjb25maWd1cmU6Mjg2 NTY6IHJlc3VsdDogeWVzCmNvbmZpZ3VyZToyODY2MDogY2hlY2tpbmcgc3lzL3RpbWVzLmggcHJl c2VuY2UKY29uZmlndXJlOjI4Njc1OiBjYyAtRSAtSS91c3IvbG9jYWwvaW5jbHVkZSAtREdfRElT QUJMRV9TSU5HTEVfSU5DTFVERVMgY29uZnRlc3QuYwpjb25maWd1cmU6Mjg2ODI6ICQ/ID0gMApj b25maWd1cmU6Mjg2OTY6IHJlc3VsdDogeWVzCmNvbmZpZ3VyZToyODcyOTogY2hlY2tpbmcgZm9y IHN5cy90aW1lcy5oCmNvbmZpZ3VyZToyODczODogcmVzdWx0OiB5ZXMKY29uZmlndXJlOjI4NjE4 OiBjaGVja2luZyBzeXMvd2FpdC5oIHVzYWJpbGl0eQpjb25maWd1cmU6Mjg2MzU6IGNjIC1jIC1P MiAtZm5vLXN0cmljdC1hbGlhc2luZyAtcGlwZSAtV2FsbCAtSS91c3IvbG9jYWwvaW5jbHVkZSAt REdfRElTQUJMRV9TSU5HTEVfSU5DTFVERVMgY29uZnRlc3QuYyA+JjUKY29uZmlndXJlOjI4NjQy OiAkPyA9IDAKY29uZmlndXJlOjI4NjU2OiByZXN1bHQ6IHllcwpjb25maWd1cmU6Mjg2NjA6IGNo ZWNraW5nIHN5cy93YWl0LmggcHJlc2VuY2UKY29uZmlndXJlOjI4Njc1OiBjYyAtRSAtSS91c3Iv bG9jYWwvaW5jbHVkZSAtREdfRElTQUJMRV9TSU5HTEVfSU5DTFVERVMgY29uZnRlc3QuYwpjb25m aWd1cmU6Mjg2ODI6ICQ/ID0gMApjb25maWd1cmU6Mjg2OTY6IHJlc3VsdDogeWVzCmNvbmZpZ3Vy ZToyODcyOTogY2hlY2tpbmcgZm9yIHN5cy93YWl0LmgKY29uZmlndXJlOjI4NzM4OiByZXN1bHQ6 IHllcwpjb25maWd1cmU6Mjg2MDc6IGNoZWNraW5nIGZvciB1bmlzdGQuaApjb25maWd1cmU6Mjg2 MTQ6IHJlc3VsdDogeWVzCmNvbmZpZ3VyZToyODYxODogY2hlY2tpbmcgdmFsdWVzLmggdXNhYmls aXR5CmNvbmZpZ3VyZToyODYzNTogY2MgLWMgLU8yIC1mbm8tc3RyaWN0LWFsaWFzaW5nIC1waXBl IC1XYWxsIC1JL3Vzci9sb2NhbC9pbmNsdWRlIC1ER19ESVNBQkxFX1NJTkdMRV9JTkNMVURFUyBj b25mdGVzdC5jID4mNQpjb25mdGVzdC5jOjEwMzoyMDogZXJyb3I6IHZhbHVlcy5oOiBObyBzdWNo IGZpbGUgb3IgZGlyZWN0b3J5CmNvbmZpZ3VyZToyODY0MjogJD8gPSAxCmNvbmZpZ3VyZTogZmFp bGVkIHByb2dyYW0gd2FzOgp8IC8qIGNvbmZkZWZzLmguICAqLwp8ICNkZWZpbmUgUEFDS0FHRV9O QU1FICJnbGliIgp8ICNkZWZpbmUgUEFDS0FHRV9UQVJOQU1FICJnbGliIgp8ICNkZWZpbmUgUEFD S0FHRV9WRVJTSU9OICIyLjIwLjUiCnwgI2RlZmluZSBQQUNLQUdFX1NUUklORyAiZ2xpYiAyLjIw LjUiCnwgI2RlZmluZSBQQUNLQUdFX0JVR1JFUE9SVCAiaHR0cDovL2J1Z3ppbGxhLmdub21lLm9y Zy9lbnRlcl9idWcuY2dpP3Byb2R1Y3Q9Z2xpYiIKfCAjZGVmaW5lIEdMSUJfTUFKT1JfVkVSU0lP TiAyCnwgI2RlZmluZSBHTElCX01JTk9SX1ZFUlNJT04gMjAKfCAjZGVmaW5lIEdMSUJfTUlDUk9f VkVSU0lPTiA1CnwgI2RlZmluZSBHTElCX0lOVEVSRkFDRV9BR0UgNQp8ICNkZWZpbmUgR0xJQl9C SU5BUllfQUdFIDIwMDUKfCAjZGVmaW5lIE5FRURfSUNPTlZfQ0FDSEUgMQp8ICNkZWZpbmUgU1RE Q19IRUFERVJTIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1RZUEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9T WVNfU1RBVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1RETElCX0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJJ TkdfSCAxCnwgI2RlZmluZSBIQVZFX01FTU9SWV9IIDEKfCAjZGVmaW5lIEhBVkVfU1RSSU5HU19I IDEKfCAjZGVmaW5lIEhBVkVfSU5UVFlQRVNfSCAxCnwgI2RlZmluZSBIQVZFX1NURElOVF9IIDEK fCAjZGVmaW5lIEhBVkVfVU5JU1REX0ggMQp8ICNkZWZpbmUgSEFWRV9MT0NBTEVfSCAxCnwgI2Rl ZmluZSBIQVZFX0xDX01FU1NBR0VTIDEKfCAjZGVmaW5lIEhBVkVfQklORF9URVhURE9NQUlOX0NP REVTRVQgMQp8ICNkZWZpbmUgSEFWRV9HRVRURVhUIDEKfCAjZGVmaW5lIEhBVkVfRENHRVRURVhU IDEKfCAjZGVmaW5lIEVOQUJMRV9OTFMgMQp8ICNkZWZpbmUgR0VUVEVYVF9QQUNLQUdFICJnbGli MjAiCnwgI2RlZmluZSBHTElCX0xPQ0FMRV9ESVIgIi91c3IvbG9jYWwvc2hhcmUvbG9jYWxlIgp8 ICNkZWZpbmUgVVNFX0xJQklDT05WX0dOVSAxCnwgI2RlZmluZSBIQVZFX0RMRkNOX0ggMQp8ICNk ZWZpbmUgTFRfT0JKRElSICIubGlicy8iCnwgI2RlZmluZSBTVERDX0hFQURFUlMgMQp8ICNkZWZp bmUgSEFWRV9WUFJJTlRGIDEKfCAjZGVmaW5lIEhBVkVfQUxMT0NBIDEKfCAjZGVmaW5lIEhBVkVf TU1BUCAxCnwgI2RlZmluZSBIQVZFX1BPU0lYX01FTUFMSUdOIDEKfCAjZGVmaW5lIEhBVkVfVkFM TE9DIDEKfCAjZGVmaW5lIEhBVkVfRlNZTkMgMQp8ICNkZWZpbmUgSEFWRV9BVEVYSVQgMQp8ICNk ZWZpbmUgSEFWRV9USU1FR00gMQp8ICNkZWZpbmUgSEFWRV9HTVRJTUVfUiAxCnwgI2RlZmluZSBT SVpFT0ZfQ0hBUiAxCnwgI2RlZmluZSBTSVpFT0ZfU0hPUlQgMgp8ICNkZWZpbmUgU0laRU9GX0xP TkcgOAp8ICNkZWZpbmUgU0laRU9GX0lOVCA0CnwgI2RlZmluZSBTSVpFT0ZfVk9JRF9QIDgKfCAj ZGVmaW5lIFNJWkVPRl9MT05HX0xPTkcgOAp8ICNkZWZpbmUgU0laRU9GX19fSU5UNjQgMAp8ICNk ZWZpbmUgSEFWRV9MT05HX0xPTkdfRk9STUFUIDEKfCAjZGVmaW5lIFNBTkVfTUFMTE9DX1BST1RP UyAxCnwgI2RlZmluZSBHX0hBVkVfX19JTkxJTkUgMQp8ICNkZWZpbmUgR19IQVZFX19fSU5MSU5F X18gMQp8ICNkZWZpbmUgR19IQVZFX0lOTElORSAxCnwgI2RlZmluZSBIQVZFX0RPV0hJTEVfTUFD Uk9TIDEKfCAjZGVmaW5lIEhBVkVfRElSRU5UX0ggMQp8ICNkZWZpbmUgSEFWRV9GTE9BVF9IIDEK fCAjZGVmaW5lIEhBVkVfTElNSVRTX0ggMQp8ICNkZWZpbmUgSEFWRV9QV0RfSCAxCnwgI2RlZmlu ZSBIQVZFX0dSUF9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1BBUkFNX0ggMQp8ICNkZWZpbmUgSEFW RV9TWVNfUE9MTF9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1JFU09VUkNFX0ggMQp8ICNkZWZpbmUg SEFWRV9TWVNfVElNRV9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1RJTUVTX0ggMQp8ICNkZWZpbmUg SEFWRV9TWVNfV0FJVF9IIDEKfCAjZGVmaW5lIEhBVkVfVU5JU1REX0ggMQp8IC8qIGVuZCBjb25m ZGVmcy5oLiAgKi8KfCAjaW5jbHVkZSA8c3RkaW8uaD4KfCAjaWZkZWYgSEFWRV9TWVNfVFlQRVNf SAp8ICMgaW5jbHVkZSA8c3lzL3R5cGVzLmg+CnwgI2VuZGlmCnwgI2lmZGVmIEhBVkVfU1lTX1NU QVRfSAp8ICMgaW5jbHVkZSA8c3lzL3N0YXQuaD4KfCAjZW5kaWYKfCAjaWZkZWYgU1REQ19IRUFE RVJTCnwgIyBpbmNsdWRlIDxzdGRsaWIuaD4KfCAjIGluY2x1ZGUgPHN0ZGRlZi5oPgp8ICNlbHNl CnwgIyBpZmRlZiBIQVZFX1NURExJQl9ICnwgIyAgaW5jbHVkZSA8c3RkbGliLmg+CnwgIyBlbmRp Zgp8ICNlbmRpZgp8ICNpZmRlZiBIQVZFX1NUUklOR19ICnwgIyBpZiAhZGVmaW5lZCBTVERDX0hF QURFUlMgJiYgZGVmaW5lZCBIQVZFX01FTU9SWV9ICnwgIyAgaW5jbHVkZSA8bWVtb3J5Lmg+Cnwg IyBlbmRpZgp8ICMgaW5jbHVkZSA8c3RyaW5nLmg+CnwgI2VuZGlmCnwgI2lmZGVmIEhBVkVfU1RS SU5HU19ICnwgIyBpbmNsdWRlIDxzdHJpbmdzLmg+CnwgI2VuZGlmCnwgI2lmZGVmIEhBVkVfSU5U VFlQRVNfSAp8ICMgaW5jbHVkZSA8aW50dHlwZXMuaD4KfCAjZW5kaWYKfCAjaWZkZWYgSEFWRV9T VERJTlRfSAp8ICMgaW5jbHVkZSA8c3RkaW50Lmg+CnwgI2VuZGlmCnwgI2lmZGVmIEhBVkVfVU5J U1REX0gKfCAjIGluY2x1ZGUgPHVuaXN0ZC5oPgp8ICNlbmRpZgp8ICNpbmNsdWRlIDx2YWx1ZXMu aD4KY29uZmlndXJlOjI4NjU2OiByZXN1bHQ6IG5vCmNvbmZpZ3VyZToyODY2MDogY2hlY2tpbmcg dmFsdWVzLmggcHJlc2VuY2UKY29uZmlndXJlOjI4Njc1OiBjYyAtRSAtSS91c3IvbG9jYWwvaW5j bHVkZSAtREdfRElTQUJMRV9TSU5HTEVfSU5DTFVERVMgY29uZnRlc3QuYwpjb25mdGVzdC5jOjcw OjIwOiBlcnJvcjogdmFsdWVzLmg6IE5vIHN1Y2ggZmlsZSBvciBkaXJlY3RvcnkKY29uZmlndXJl OjI4NjgyOiAkPyA9IDEKY29uZmlndXJlOiBmYWlsZWQgcHJvZ3JhbSB3YXM6CnwgLyogY29uZmRl ZnMuaC4gICovCnwgI2RlZmluZSBQQUNLQUdFX05BTUUgImdsaWIiCnwgI2RlZmluZSBQQUNLQUdF X1RBUk5BTUUgImdsaWIiCnwgI2RlZmluZSBQQUNLQUdFX1ZFUlNJT04gIjIuMjAuNSIKfCAjZGVm aW5lIFBBQ0tBR0VfU1RSSU5HICJnbGliIDIuMjAuNSIKfCAjZGVmaW5lIFBBQ0tBR0VfQlVHUkVQ T1JUICJodHRwOi8vYnVnemlsbGEuZ25vbWUub3JnL2VudGVyX2J1Zy5jZ2k/cHJvZHVjdD1nbGli Igp8ICNkZWZpbmUgR0xJQl9NQUpPUl9WRVJTSU9OIDIKfCAjZGVmaW5lIEdMSUJfTUlOT1JfVkVS U0lPTiAyMAp8ICNkZWZpbmUgR0xJQl9NSUNST19WRVJTSU9OIDUKfCAjZGVmaW5lIEdMSUJfSU5U RVJGQUNFX0FHRSA1CnwgI2RlZmluZSBHTElCX0JJTkFSWV9BR0UgMjAwNQp8ICNkZWZpbmUgTkVF RF9JQ09OVl9DQUNIRSAxCnwgI2RlZmluZSBTVERDX0hFQURFUlMgMQp8ICNkZWZpbmUgSEFWRV9T WVNfVFlQRVNfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19TVEFUX0ggMQp8ICNkZWZpbmUgSEFWRV9T VERMSUJfSCAxCnwgI2RlZmluZSBIQVZFX1NUUklOR19IIDEKfCAjZGVmaW5lIEhBVkVfTUVNT1JZ X0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJJTkdTX0ggMQp8ICNkZWZpbmUgSEFWRV9JTlRUWVBFU19I IDEKfCAjZGVmaW5lIEhBVkVfU1RESU5UX0ggMQp8ICNkZWZpbmUgSEFWRV9VTklTVERfSCAxCnwg I2RlZmluZSBIQVZFX0xPQ0FMRV9IIDEKfCAjZGVmaW5lIEhBVkVfTENfTUVTU0FHRVMgMQp8ICNk ZWZpbmUgSEFWRV9CSU5EX1RFWFRET01BSU5fQ09ERVNFVCAxCnwgI2RlZmluZSBIQVZFX0dFVFRF WFQgMQp8ICNkZWZpbmUgSEFWRV9EQ0dFVFRFWFQgMQp8ICNkZWZpbmUgRU5BQkxFX05MUyAxCnwg I2RlZmluZSBHRVRURVhUX1BBQ0tBR0UgImdsaWIyMCIKfCAjZGVmaW5lIEdMSUJfTE9DQUxFX0RJ UiAiL3Vzci9sb2NhbC9zaGFyZS9sb2NhbGUiCnwgI2RlZmluZSBVU0VfTElCSUNPTlZfR05VIDEK fCAjZGVmaW5lIEhBVkVfRExGQ05fSCAxCnwgI2RlZmluZSBMVF9PQkpESVIgIi5saWJzLyIKfCAj ZGVmaW5lIFNURENfSEVBREVSUyAxCnwgI2RlZmluZSBIQVZFX1ZQUklOVEYgMQp8ICNkZWZpbmUg SEFWRV9BTExPQ0EgMQp8ICNkZWZpbmUgSEFWRV9NTUFQIDEKfCAjZGVmaW5lIEhBVkVfUE9TSVhf TUVNQUxJR04gMQp8ICNkZWZpbmUgSEFWRV9WQUxMT0MgMQp8ICNkZWZpbmUgSEFWRV9GU1lOQyAx CnwgI2RlZmluZSBIQVZFX0FURVhJVCAxCnwgI2RlZmluZSBIQVZFX1RJTUVHTSAxCnwgI2RlZmlu ZSBIQVZFX0dNVElNRV9SIDEKfCAjZGVmaW5lIFNJWkVPRl9DSEFSIDEKfCAjZGVmaW5lIFNJWkVP Rl9TSE9SVCAyCnwgI2RlZmluZSBTSVpFT0ZfTE9ORyA4CnwgI2RlZmluZSBTSVpFT0ZfSU5UIDQK fCAjZGVmaW5lIFNJWkVPRl9WT0lEX1AgOAp8ICNkZWZpbmUgU0laRU9GX0xPTkdfTE9ORyA4Cnwg I2RlZmluZSBTSVpFT0ZfX19JTlQ2NCAwCnwgI2RlZmluZSBIQVZFX0xPTkdfTE9OR19GT1JNQVQg MQp8ICNkZWZpbmUgU0FORV9NQUxMT0NfUFJPVE9TIDEKfCAjZGVmaW5lIEdfSEFWRV9fX0lOTElO RSAxCnwgI2RlZmluZSBHX0hBVkVfX19JTkxJTkVfXyAxCnwgI2RlZmluZSBHX0hBVkVfSU5MSU5F IDEKfCAjZGVmaW5lIEhBVkVfRE9XSElMRV9NQUNST1MgMQp8ICNkZWZpbmUgSEFWRV9ESVJFTlRf SCAxCnwgI2RlZmluZSBIQVZFX0ZMT0FUX0ggMQp8ICNkZWZpbmUgSEFWRV9MSU1JVFNfSCAxCnwg I2RlZmluZSBIQVZFX1BXRF9IIDEKfCAjZGVmaW5lIEhBVkVfR1JQX0ggMQp8ICNkZWZpbmUgSEFW RV9TWVNfUEFSQU1fSCAxCnwgI2RlZmluZSBIQVZFX1NZU19QT0xMX0ggMQp8ICNkZWZpbmUgSEFW RV9TWVNfUkVTT1VSQ0VfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19USU1FX0ggMQp8ICNkZWZpbmUg SEFWRV9TWVNfVElNRVNfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19XQUlUX0ggMQp8ICNkZWZpbmUg SEFWRV9VTklTVERfSCAxCnwgLyogZW5kIGNvbmZkZWZzLmguICAqLwp8ICNpbmNsdWRlIDx2YWx1 ZXMuaD4KY29uZmlndXJlOjI4Njk2OiByZXN1bHQ6IG5vCmNvbmZpZ3VyZToyODcyOTogY2hlY2tp bmcgZm9yIHZhbHVlcy5oCmNvbmZpZ3VyZToyODczODogcmVzdWx0OiBubwpjb25maWd1cmU6Mjg3 NzM6IGNoZWNraW5nIHN5cy9zZWxlY3QuaCB1c2FiaWxpdHkKY29uZmlndXJlOjI4NzkwOiBjYyAt YyAtTzIgLWZuby1zdHJpY3QtYWxpYXNpbmcgLXBpcGUgLVdhbGwgLUkvdXNyL2xvY2FsL2luY2x1 ZGUgLURHX0RJU0FCTEVfU0lOR0xFX0lOQ0xVREVTIGNvbmZ0ZXN0LmMgPiY1CmNvbmZpZ3VyZToy ODc5NzogJD8gPSAwCmNvbmZpZ3VyZToyODgxMTogcmVzdWx0OiB5ZXMKY29uZmlndXJlOjI4ODE1 OiBjaGVja2luZyBzeXMvc2VsZWN0LmggcHJlc2VuY2UKY29uZmlndXJlOjI4ODMwOiBjYyAtRSAt SS91c3IvbG9jYWwvaW5jbHVkZSAtREdfRElTQUJMRV9TSU5HTEVfSU5DTFVERVMgY29uZnRlc3Qu Ywpjb25maWd1cmU6Mjg4Mzc6ICQ/ID0gMApjb25maWd1cmU6Mjg4NTE6IHJlc3VsdDogeWVzCmNv bmZpZ3VyZToyODg4NDogY2hlY2tpbmcgZm9yIHN5cy9zZWxlY3QuaApjb25maWd1cmU6Mjg4OTM6 IHJlc3VsdDogeWVzCmNvbmZpZ3VyZToyODc2MjogY2hlY2tpbmcgZm9yIHN5cy90eXBlcy5oCmNv bmZpZ3VyZToyODc2OTogcmVzdWx0OiB5ZXMKY29uZmlndXJlOjI4NzYyOiBjaGVja2luZyBmb3Ig c3RkaW50LmgKY29uZmlndXJlOjI4NzY5OiByZXN1bHQ6IHllcwpjb25maWd1cmU6Mjg3NzM6IGNo ZWNraW5nIHNjaGVkLmggdXNhYmlsaXR5CmNvbmZpZ3VyZToyODc5MDogY2MgLWMgLU8yIC1mbm8t c3RyaWN0LWFsaWFzaW5nIC1waXBlIC1XYWxsIC1JL3Vzci9sb2NhbC9pbmNsdWRlIC1ER19ESVNB QkxFX1NJTkdMRV9JTkNMVURFUyBjb25mdGVzdC5jID4mNQpjb25maWd1cmU6Mjg3OTc6ICQ/ID0g MApjb25maWd1cmU6Mjg4MTE6IHJlc3VsdDogeWVzCmNvbmZpZ3VyZToyODgxNTogY2hlY2tpbmcg c2NoZWQuaCBwcmVzZW5jZQpjb25maWd1cmU6Mjg4MzA6IGNjIC1FIC1JL3Vzci9sb2NhbC9pbmNs dWRlIC1ER19ESVNBQkxFX1NJTkdMRV9JTkNMVURFUyBjb25mdGVzdC5jCmNvbmZpZ3VyZToyODgz NzogJD8gPSAwCmNvbmZpZ3VyZToyODg1MTogcmVzdWx0OiB5ZXMKY29uZmlndXJlOjI4ODg0OiBj aGVja2luZyBmb3Igc2NoZWQuaApjb25maWd1cmU6Mjg4OTM6IHJlc3VsdDogeWVzCmNvbmZpZ3Vy ZToyODc3MzogY2hlY2tpbmcgbWFsbG9jLmggdXNhYmlsaXR5CmNvbmZpZ3VyZToyODc5MDogY2Mg LWMgLU8yIC1mbm8tc3RyaWN0LWFsaWFzaW5nIC1waXBlIC1XYWxsIC1JL3Vzci9sb2NhbC9pbmNs dWRlIC1ER19ESVNBQkxFX1NJTkdMRV9JTkNMVURFUyBjb25mdGVzdC5jID4mNQpJbiBmaWxlIGlu Y2x1ZGVkIGZyb20gY29uZnRlc3QuYzoxMDc6Ci91c3IvaW5jbHVkZS9tYWxsb2MuaDozOjI6IGVy cm9yOiAjZXJyb3IgIjxtYWxsb2MuaD4gaGFzIGJlZW4gcmVwbGFjZWQgYnkgPHN0ZGxpYi5oPiIK Y29uZmlndXJlOjI4Nzk3OiAkPyA9IDEKY29uZmlndXJlOiBmYWlsZWQgcHJvZ3JhbSB3YXM6Cnwg LyogY29uZmRlZnMuaC4gICovCnwgI2RlZmluZSBQQUNLQUdFX05BTUUgImdsaWIiCnwgI2RlZmlu ZSBQQUNLQUdFX1RBUk5BTUUgImdsaWIiCnwgI2RlZmluZSBQQUNLQUdFX1ZFUlNJT04gIjIuMjAu NSIKfCAjZGVmaW5lIFBBQ0tBR0VfU1RSSU5HICJnbGliIDIuMjAuNSIKfCAjZGVmaW5lIFBBQ0tB R0VfQlVHUkVQT1JUICJodHRwOi8vYnVnemlsbGEuZ25vbWUub3JnL2VudGVyX2J1Zy5jZ2k/cHJv ZHVjdD1nbGliIgp8ICNkZWZpbmUgR0xJQl9NQUpPUl9WRVJTSU9OIDIKfCAjZGVmaW5lIEdMSUJf TUlOT1JfVkVSU0lPTiAyMAp8ICNkZWZpbmUgR0xJQl9NSUNST19WRVJTSU9OIDUKfCAjZGVmaW5l IEdMSUJfSU5URVJGQUNFX0FHRSA1CnwgI2RlZmluZSBHTElCX0JJTkFSWV9BR0UgMjAwNQp8ICNk ZWZpbmUgTkVFRF9JQ09OVl9DQUNIRSAxCnwgI2RlZmluZSBTVERDX0hFQURFUlMgMQp8ICNkZWZp bmUgSEFWRV9TWVNfVFlQRVNfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19TVEFUX0ggMQp8ICNkZWZp bmUgSEFWRV9TVERMSUJfSCAxCnwgI2RlZmluZSBIQVZFX1NUUklOR19IIDEKfCAjZGVmaW5lIEhB VkVfTUVNT1JZX0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJJTkdTX0ggMQp8ICNkZWZpbmUgSEFWRV9J TlRUWVBFU19IIDEKfCAjZGVmaW5lIEhBVkVfU1RESU5UX0ggMQp8ICNkZWZpbmUgSEFWRV9VTklT VERfSCAxCnwgI2RlZmluZSBIQVZFX0xPQ0FMRV9IIDEKfCAjZGVmaW5lIEhBVkVfTENfTUVTU0FH RVMgMQp8ICNkZWZpbmUgSEFWRV9CSU5EX1RFWFRET01BSU5fQ09ERVNFVCAxCnwgI2RlZmluZSBI QVZFX0dFVFRFWFQgMQp8ICNkZWZpbmUgSEFWRV9EQ0dFVFRFWFQgMQp8ICNkZWZpbmUgRU5BQkxF X05MUyAxCnwgI2RlZmluZSBHRVRURVhUX1BBQ0tBR0UgImdsaWIyMCIKfCAjZGVmaW5lIEdMSUJf TE9DQUxFX0RJUiAiL3Vzci9sb2NhbC9zaGFyZS9sb2NhbGUiCnwgI2RlZmluZSBVU0VfTElCSUNP TlZfR05VIDEKfCAjZGVmaW5lIEhBVkVfRExGQ05fSCAxCnwgI2RlZmluZSBMVF9PQkpESVIgIi5s aWJzLyIKfCAjZGVmaW5lIFNURENfSEVBREVSUyAxCnwgI2RlZmluZSBIQVZFX1ZQUklOVEYgMQp8 ICNkZWZpbmUgSEFWRV9BTExPQ0EgMQp8ICNkZWZpbmUgSEFWRV9NTUFQIDEKfCAjZGVmaW5lIEhB VkVfUE9TSVhfTUVNQUxJR04gMQp8ICNkZWZpbmUgSEFWRV9WQUxMT0MgMQp8ICNkZWZpbmUgSEFW RV9GU1lOQyAxCnwgI2RlZmluZSBIQVZFX0FURVhJVCAxCnwgI2RlZmluZSBIQVZFX1RJTUVHTSAx CnwgI2RlZmluZSBIQVZFX0dNVElNRV9SIDEKfCAjZGVmaW5lIFNJWkVPRl9DSEFSIDEKfCAjZGVm aW5lIFNJWkVPRl9TSE9SVCAyCnwgI2RlZmluZSBTSVpFT0ZfTE9ORyA4CnwgI2RlZmluZSBTSVpF T0ZfSU5UIDQKfCAjZGVmaW5lIFNJWkVPRl9WT0lEX1AgOAp8ICNkZWZpbmUgU0laRU9GX0xPTkdf TE9ORyA4CnwgI2RlZmluZSBTSVpFT0ZfX19JTlQ2NCAwCnwgI2RlZmluZSBIQVZFX0xPTkdfTE9O R19GT1JNQVQgMQp8ICNkZWZpbmUgU0FORV9NQUxMT0NfUFJPVE9TIDEKfCAjZGVmaW5lIEdfSEFW RV9fX0lOTElORSAxCnwgI2RlZmluZSBHX0hBVkVfX19JTkxJTkVfXyAxCnwgI2RlZmluZSBHX0hB VkVfSU5MSU5FIDEKfCAjZGVmaW5lIEhBVkVfRE9XSElMRV9NQUNST1MgMQp8ICNkZWZpbmUgSEFW RV9ESVJFTlRfSCAxCnwgI2RlZmluZSBIQVZFX0ZMT0FUX0ggMQp8ICNkZWZpbmUgSEFWRV9MSU1J VFNfSCAxCnwgI2RlZmluZSBIQVZFX1BXRF9IIDEKfCAjZGVmaW5lIEhBVkVfR1JQX0ggMQp8ICNk ZWZpbmUgSEFWRV9TWVNfUEFSQU1fSCAxCnwgI2RlZmluZSBIQVZFX1NZU19QT0xMX0ggMQp8ICNk ZWZpbmUgSEFWRV9TWVNfUkVTT1VSQ0VfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19USU1FX0ggMQp8 ICNkZWZpbmUgSEFWRV9TWVNfVElNRVNfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19XQUlUX0ggMQp8 ICNkZWZpbmUgSEFWRV9VTklTVERfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19TRUxFQ1RfSCAxCnwg I2RlZmluZSBIQVZFX1NZU19UWVBFU19IIDEKfCAjZGVmaW5lIEhBVkVfU1RESU5UX0ggMQp8ICNk ZWZpbmUgSEFWRV9TQ0hFRF9IIDEKfCAvKiBlbmQgY29uZmRlZnMuaC4gICovCnwgI2luY2x1ZGUg PHN0ZGlvLmg+CnwgI2lmZGVmIEhBVkVfU1lTX1RZUEVTX0gKfCAjIGluY2x1ZGUgPHN5cy90eXBl cy5oPgp8ICNlbmRpZgp8ICNpZmRlZiBIQVZFX1NZU19TVEFUX0gKfCAjIGluY2x1ZGUgPHN5cy9z dGF0Lmg+CnwgI2VuZGlmCnwgI2lmZGVmIFNURENfSEVBREVSUwp8ICMgaW5jbHVkZSA8c3RkbGli Lmg+CnwgIyBpbmNsdWRlIDxzdGRkZWYuaD4KfCAjZWxzZQp8ICMgaWZkZWYgSEFWRV9TVERMSUJf SAp8ICMgIGluY2x1ZGUgPHN0ZGxpYi5oPgp8ICMgZW5kaWYKfCAjZW5kaWYKfCAjaWZkZWYgSEFW RV9TVFJJTkdfSAp8ICMgaWYgIWRlZmluZWQgU1REQ19IRUFERVJTICYmIGRlZmluZWQgSEFWRV9N RU1PUllfSAp8ICMgIGluY2x1ZGUgPG1lbW9yeS5oPgp8ICMgZW5kaWYKfCAjIGluY2x1ZGUgPHN0 cmluZy5oPgp8ICNlbmRpZgp8ICNpZmRlZiBIQVZFX1NUUklOR1NfSAp8ICMgaW5jbHVkZSA8c3Ry aW5ncy5oPgp8ICNlbmRpZgp8ICNpZmRlZiBIQVZFX0lOVFRZUEVTX0gKfCAjIGluY2x1ZGUgPGlu dHR5cGVzLmg+CnwgI2VuZGlmCnwgI2lmZGVmIEhBVkVfU1RESU5UX0gKfCAjIGluY2x1ZGUgPHN0 ZGludC5oPgp8ICNlbmRpZgp8ICNpZmRlZiBIQVZFX1VOSVNURF9ICnwgIyBpbmNsdWRlIDx1bmlz dGQuaD4KfCAjZW5kaWYKfCAjaW5jbHVkZSA8bWFsbG9jLmg+CmNvbmZpZ3VyZToyODgxMTogcmVz dWx0OiBubwpjb25maWd1cmU6Mjg4MTU6IGNoZWNraW5nIG1hbGxvYy5oIHByZXNlbmNlCmNvbmZp Z3VyZToyODgzMDogY2MgLUUgLUkvdXNyL2xvY2FsL2luY2x1ZGUgLURHX0RJU0FCTEVfU0lOR0xF X0lOQ0xVREVTIGNvbmZ0ZXN0LmMKSW4gZmlsZSBpbmNsdWRlZCBmcm9tIGNvbmZ0ZXN0LmM6NzQ6 Ci91c3IvaW5jbHVkZS9tYWxsb2MuaDozOjI6IGVycm9yOiAjZXJyb3IgIjxtYWxsb2MuaD4gaGFz IGJlZW4gcmVwbGFjZWQgYnkgPHN0ZGxpYi5oPiIKY29uZmlndXJlOjI4ODM3OiAkPyA9IDEKY29u ZmlndXJlOiBmYWlsZWQgcHJvZ3JhbSB3YXM6CnwgLyogY29uZmRlZnMuaC4gICovCnwgI2RlZmlu ZSBQQUNLQUdFX05BTUUgImdsaWIiCnwgI2RlZmluZSBQQUNLQUdFX1RBUk5BTUUgImdsaWIiCnwg I2RlZmluZSBQQUNLQUdFX1ZFUlNJT04gIjIuMjAuNSIKfCAjZGVmaW5lIFBBQ0tBR0VfU1RSSU5H ICJnbGliIDIuMjAuNSIKfCAjZGVmaW5lIFBBQ0tBR0VfQlVHUkVQT1JUICJodHRwOi8vYnVnemls bGEuZ25vbWUub3JnL2VudGVyX2J1Zy5jZ2k/cHJvZHVjdD1nbGliIgp8ICNkZWZpbmUgR0xJQl9N QUpPUl9WRVJTSU9OIDIKfCAjZGVmaW5lIEdMSUJfTUlOT1JfVkVSU0lPTiAyMAp8ICNkZWZpbmUg R0xJQl9NSUNST19WRVJTSU9OIDUKfCAjZGVmaW5lIEdMSUJfSU5URVJGQUNFX0FHRSA1CnwgI2Rl ZmluZSBHTElCX0JJTkFSWV9BR0UgMjAwNQp8ICNkZWZpbmUgTkVFRF9JQ09OVl9DQUNIRSAxCnwg I2RlZmluZSBTVERDX0hFQURFUlMgMQp8ICNkZWZpbmUgSEFWRV9TWVNfVFlQRVNfSCAxCnwgI2Rl ZmluZSBIQVZFX1NZU19TVEFUX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERMSUJfSCAxCnwgI2RlZmlu ZSBIQVZFX1NUUklOR19IIDEKfCAjZGVmaW5lIEhBVkVfTUVNT1JZX0ggMQp8ICNkZWZpbmUgSEFW RV9TVFJJTkdTX0ggMQp8ICNkZWZpbmUgSEFWRV9JTlRUWVBFU19IIDEKfCAjZGVmaW5lIEhBVkVf U1RESU5UX0ggMQp8ICNkZWZpbmUgSEFWRV9VTklTVERfSCAxCnwgI2RlZmluZSBIQVZFX0xPQ0FM RV9IIDEKfCAjZGVmaW5lIEhBVkVfTENfTUVTU0FHRVMgMQp8ICNkZWZpbmUgSEFWRV9CSU5EX1RF WFRET01BSU5fQ09ERVNFVCAxCnwgI2RlZmluZSBIQVZFX0dFVFRFWFQgMQp8ICNkZWZpbmUgSEFW RV9EQ0dFVFRFWFQgMQp8ICNkZWZpbmUgRU5BQkxFX05MUyAxCnwgI2RlZmluZSBHRVRURVhUX1BB Q0tBR0UgImdsaWIyMCIKfCAjZGVmaW5lIEdMSUJfTE9DQUxFX0RJUiAiL3Vzci9sb2NhbC9zaGFy ZS9sb2NhbGUiCnwgI2RlZmluZSBVU0VfTElCSUNPTlZfR05VIDEKfCAjZGVmaW5lIEhBVkVfRExG Q05fSCAxCnwgI2RlZmluZSBMVF9PQkpESVIgIi5saWJzLyIKfCAjZGVmaW5lIFNURENfSEVBREVS UyAxCnwgI2RlZmluZSBIQVZFX1ZQUklOVEYgMQp8ICNkZWZpbmUgSEFWRV9BTExPQ0EgMQp8ICNk ZWZpbmUgSEFWRV9NTUFQIDEKfCAjZGVmaW5lIEhBVkVfUE9TSVhfTUVNQUxJR04gMQp8ICNkZWZp bmUgSEFWRV9WQUxMT0MgMQp8ICNkZWZpbmUgSEFWRV9GU1lOQyAxCnwgI2RlZmluZSBIQVZFX0FU RVhJVCAxCnwgI2RlZmluZSBIQVZFX1RJTUVHTSAxCnwgI2RlZmluZSBIQVZFX0dNVElNRV9SIDEK fCAjZGVmaW5lIFNJWkVPRl9DSEFSIDEKfCAjZGVmaW5lIFNJWkVPRl9TSE9SVCAyCnwgI2RlZmlu ZSBTSVpFT0ZfTE9ORyA4CnwgI2RlZmluZSBTSVpFT0ZfSU5UIDQKfCAjZGVmaW5lIFNJWkVPRl9W T0lEX1AgOAp8ICNkZWZpbmUgU0laRU9GX0xPTkdfTE9ORyA4CnwgI2RlZmluZSBTSVpFT0ZfX19J TlQ2NCAwCnwgI2RlZmluZSBIQVZFX0xPTkdfTE9OR19GT1JNQVQgMQp8ICNkZWZpbmUgU0FORV9N QUxMT0NfUFJPVE9TIDEKfCAjZGVmaW5lIEdfSEFWRV9fX0lOTElORSAxCnwgI2RlZmluZSBHX0hB VkVfX19JTkxJTkVfXyAxCnwgI2RlZmluZSBHX0hBVkVfSU5MSU5FIDEKfCAjZGVmaW5lIEhBVkVf RE9XSElMRV9NQUNST1MgMQp8ICNkZWZpbmUgSEFWRV9ESVJFTlRfSCAxCnwgI2RlZmluZSBIQVZF X0ZMT0FUX0ggMQp8ICNkZWZpbmUgSEFWRV9MSU1JVFNfSCAxCnwgI2RlZmluZSBIQVZFX1BXRF9I IDEKfCAjZGVmaW5lIEhBVkVfR1JQX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfUEFSQU1fSCAxCnwg I2RlZmluZSBIQVZFX1NZU19QT0xMX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfUkVTT1VSQ0VfSCAx CnwgI2RlZmluZSBIQVZFX1NZU19USU1FX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfVElNRVNfSCAx CnwgI2RlZmluZSBIQVZFX1NZU19XQUlUX0ggMQp8ICNkZWZpbmUgSEFWRV9VTklTVERfSCAxCnwg I2RlZmluZSBIQVZFX1NZU19TRUxFQ1RfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19UWVBFU19IIDEK fCAjZGVmaW5lIEhBVkVfU1RESU5UX0ggMQp8ICNkZWZpbmUgSEFWRV9TQ0hFRF9IIDEKfCAvKiBl bmQgY29uZmRlZnMuaC4gICovCnwgI2luY2x1ZGUgPG1hbGxvYy5oPgpjb25maWd1cmU6Mjg4NTE6 IHJlc3VsdDogbm8KY29uZmlndXJlOjI4ODg0OiBjaGVja2luZyBmb3IgbWFsbG9jLmgKY29uZmln dXJlOjI4ODkzOiByZXN1bHQ6IG5vCmNvbmZpZ3VyZToyODkyODogY2hlY2tpbmcgc3lzL3Zmcy5o IHVzYWJpbGl0eQpjb25maWd1cmU6Mjg5NDU6IGNjIC1jIC1PMiAtZm5vLXN0cmljdC1hbGlhc2lu ZyAtcGlwZSAtV2FsbCAtSS91c3IvbG9jYWwvaW5jbHVkZSAtREdfRElTQUJMRV9TSU5HTEVfSU5D TFVERVMgY29uZnRlc3QuYyA+JjUKY29uZnRlc3QuYzoxMDc6MjE6IGVycm9yOiBzeXMvdmZzLmg6 IE5vIHN1Y2ggZmlsZSBvciBkaXJlY3RvcnkKY29uZmlndXJlOjI4OTUyOiAkPyA9IDEKY29uZmln dXJlOiBmYWlsZWQgcHJvZ3JhbSB3YXM6CnwgLyogY29uZmRlZnMuaC4gICovCnwgI2RlZmluZSBQ QUNLQUdFX05BTUUgImdsaWIiCnwgI2RlZmluZSBQQUNLQUdFX1RBUk5BTUUgImdsaWIiCnwgI2Rl ZmluZSBQQUNLQUdFX1ZFUlNJT04gIjIuMjAuNSIKfCAjZGVmaW5lIFBBQ0tBR0VfU1RSSU5HICJn bGliIDIuMjAuNSIKfCAjZGVmaW5lIFBBQ0tBR0VfQlVHUkVQT1JUICJodHRwOi8vYnVnemlsbGEu Z25vbWUub3JnL2VudGVyX2J1Zy5jZ2k/cHJvZHVjdD1nbGliIgp8ICNkZWZpbmUgR0xJQl9NQUpP Ul9WRVJTSU9OIDIKfCAjZGVmaW5lIEdMSUJfTUlOT1JfVkVSU0lPTiAyMAp8ICNkZWZpbmUgR0xJ Ql9NSUNST19WRVJTSU9OIDUKfCAjZGVmaW5lIEdMSUJfSU5URVJGQUNFX0FHRSA1CnwgI2RlZmlu ZSBHTElCX0JJTkFSWV9BR0UgMjAwNQp8ICNkZWZpbmUgTkVFRF9JQ09OVl9DQUNIRSAxCnwgI2Rl ZmluZSBTVERDX0hFQURFUlMgMQp8ICNkZWZpbmUgSEFWRV9TWVNfVFlQRVNfSCAxCnwgI2RlZmlu ZSBIQVZFX1NZU19TVEFUX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERMSUJfSCAxCnwgI2RlZmluZSBI QVZFX1NUUklOR19IIDEKfCAjZGVmaW5lIEhBVkVfTUVNT1JZX0ggMQp8ICNkZWZpbmUgSEFWRV9T VFJJTkdTX0ggMQp8ICNkZWZpbmUgSEFWRV9JTlRUWVBFU19IIDEKfCAjZGVmaW5lIEhBVkVfU1RE SU5UX0ggMQp8ICNkZWZpbmUgSEFWRV9VTklTVERfSCAxCnwgI2RlZmluZSBIQVZFX0xPQ0FMRV9I IDEKfCAjZGVmaW5lIEhBVkVfTENfTUVTU0FHRVMgMQp8ICNkZWZpbmUgSEFWRV9CSU5EX1RFWFRE T01BSU5fQ09ERVNFVCAxCnwgI2RlZmluZSBIQVZFX0dFVFRFWFQgMQp8ICNkZWZpbmUgSEFWRV9E Q0dFVFRFWFQgMQp8ICNkZWZpbmUgRU5BQkxFX05MUyAxCnwgI2RlZmluZSBHRVRURVhUX1BBQ0tB R0UgImdsaWIyMCIKfCAjZGVmaW5lIEdMSUJfTE9DQUxFX0RJUiAiL3Vzci9sb2NhbC9zaGFyZS9s b2NhbGUiCnwgI2RlZmluZSBVU0VfTElCSUNPTlZfR05VIDEKfCAjZGVmaW5lIEhBVkVfRExGQ05f SCAxCnwgI2RlZmluZSBMVF9PQkpESVIgIi5saWJzLyIKfCAjZGVmaW5lIFNURENfSEVBREVSUyAx CnwgI2RlZmluZSBIQVZFX1ZQUklOVEYgMQp8ICNkZWZpbmUgSEFWRV9BTExPQ0EgMQp8ICNkZWZp bmUgSEFWRV9NTUFQIDEKfCAjZGVmaW5lIEhBVkVfUE9TSVhfTUVNQUxJR04gMQp8ICNkZWZpbmUg SEFWRV9WQUxMT0MgMQp8ICNkZWZpbmUgSEFWRV9GU1lOQyAxCnwgI2RlZmluZSBIQVZFX0FURVhJ VCAxCnwgI2RlZmluZSBIQVZFX1RJTUVHTSAxCnwgI2RlZmluZSBIQVZFX0dNVElNRV9SIDEKfCAj ZGVmaW5lIFNJWkVPRl9DSEFSIDEKfCAjZGVmaW5lIFNJWkVPRl9TSE9SVCAyCnwgI2RlZmluZSBT SVpFT0ZfTE9ORyA4CnwgI2RlZmluZSBTSVpFT0ZfSU5UIDQKfCAjZGVmaW5lIFNJWkVPRl9WT0lE X1AgOAp8ICNkZWZpbmUgU0laRU9GX0xPTkdfTE9ORyA4CnwgI2RlZmluZSBTSVpFT0ZfX19JTlQ2 NCAwCnwgI2RlZmluZSBIQVZFX0xPTkdfTE9OR19GT1JNQVQgMQp8ICNkZWZpbmUgU0FORV9NQUxM T0NfUFJPVE9TIDEKfCAjZGVmaW5lIEdfSEFWRV9fX0lOTElORSAxCnwgI2RlZmluZSBHX0hBVkVf X19JTkxJTkVfXyAxCnwgI2RlZmluZSBHX0hBVkVfSU5MSU5FIDEKfCAjZGVmaW5lIEhBVkVfRE9X SElMRV9NQUNST1MgMQp8ICNkZWZpbmUgSEFWRV9ESVJFTlRfSCAxCnwgI2RlZmluZSBIQVZFX0ZM T0FUX0ggMQp8ICNkZWZpbmUgSEFWRV9MSU1JVFNfSCAxCnwgI2RlZmluZSBIQVZFX1BXRF9IIDEK fCAjZGVmaW5lIEhBVkVfR1JQX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfUEFSQU1fSCAxCnwgI2Rl ZmluZSBIQVZFX1NZU19QT0xMX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfUkVTT1VSQ0VfSCAxCnwg I2RlZmluZSBIQVZFX1NZU19USU1FX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfVElNRVNfSCAxCnwg I2RlZmluZSBIQVZFX1NZU19XQUlUX0ggMQp8ICNkZWZpbmUgSEFWRV9VTklTVERfSCAxCnwgI2Rl ZmluZSBIQVZFX1NZU19TRUxFQ1RfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19UWVBFU19IIDEKfCAj ZGVmaW5lIEhBVkVfU1RESU5UX0ggMQp8ICNkZWZpbmUgSEFWRV9TQ0hFRF9IIDEKfCAvKiBlbmQg Y29uZmRlZnMuaC4gICovCnwgI2luY2x1ZGUgPHN0ZGlvLmg+CnwgI2lmZGVmIEhBVkVfU1lTX1RZ UEVTX0gKfCAjIGluY2x1ZGUgPHN5cy90eXBlcy5oPgp8ICNlbmRpZgp8ICNpZmRlZiBIQVZFX1NZ U19TVEFUX0gKfCAjIGluY2x1ZGUgPHN5cy9zdGF0Lmg+CnwgI2VuZGlmCnwgI2lmZGVmIFNURENf SEVBREVSUwp8ICMgaW5jbHVkZSA8c3RkbGliLmg+CnwgIyBpbmNsdWRlIDxzdGRkZWYuaD4KfCAj ZWxzZQp8ICMgaWZkZWYgSEFWRV9TVERMSUJfSAp8ICMgIGluY2x1ZGUgPHN0ZGxpYi5oPgp8ICMg ZW5kaWYKfCAjZW5kaWYKfCAjaWZkZWYgSEFWRV9TVFJJTkdfSAp8ICMgaWYgIWRlZmluZWQgU1RE Q19IRUFERVJTICYmIGRlZmluZWQgSEFWRV9NRU1PUllfSAp8ICMgIGluY2x1ZGUgPG1lbW9yeS5o Pgp8ICMgZW5kaWYKfCAjIGluY2x1ZGUgPHN0cmluZy5oPgp8ICNlbmRpZgp8ICNpZmRlZiBIQVZF X1NUUklOR1NfSAp8ICMgaW5jbHVkZSA8c3RyaW5ncy5oPgp8ICNlbmRpZgp8ICNpZmRlZiBIQVZF X0lOVFRZUEVTX0gKfCAjIGluY2x1ZGUgPGludHR5cGVzLmg+CnwgI2VuZGlmCnwgI2lmZGVmIEhB VkVfU1RESU5UX0gKfCAjIGluY2x1ZGUgPHN0ZGludC5oPgp8ICNlbmRpZgp8ICNpZmRlZiBIQVZF X1VOSVNURF9ICnwgIyBpbmNsdWRlIDx1bmlzdGQuaD4KfCAjZW5kaWYKfCAjaW5jbHVkZSA8c3lz L3Zmcy5oPgpjb25maWd1cmU6Mjg5NjY6IHJlc3VsdDogbm8KY29uZmlndXJlOjI4OTcwOiBjaGVj a2luZyBzeXMvdmZzLmggcHJlc2VuY2UKY29uZmlndXJlOjI4OTg1OiBjYyAtRSAtSS91c3IvbG9j YWwvaW5jbHVkZSAtREdfRElTQUJMRV9TSU5HTEVfSU5DTFVERVMgY29uZnRlc3QuYwpjb25mdGVz dC5jOjc0OjIxOiBlcnJvcjogc3lzL3Zmcy5oOiBObyBzdWNoIGZpbGUgb3IgZGlyZWN0b3J5CmNv bmZpZ3VyZToyODk5MjogJD8gPSAxCmNvbmZpZ3VyZTogZmFpbGVkIHByb2dyYW0gd2FzOgp8IC8q IGNvbmZkZWZzLmguICAqLwp8ICNkZWZpbmUgUEFDS0FHRV9OQU1FICJnbGliIgp8ICNkZWZpbmUg UEFDS0FHRV9UQVJOQU1FICJnbGliIgp8ICNkZWZpbmUgUEFDS0FHRV9WRVJTSU9OICIyLjIwLjUi CnwgI2RlZmluZSBQQUNLQUdFX1NUUklORyAiZ2xpYiAyLjIwLjUiCnwgI2RlZmluZSBQQUNLQUdF X0JVR1JFUE9SVCAiaHR0cDovL2J1Z3ppbGxhLmdub21lLm9yZy9lbnRlcl9idWcuY2dpP3Byb2R1 Y3Q9Z2xpYiIKfCAjZGVmaW5lIEdMSUJfTUFKT1JfVkVSU0lPTiAyCnwgI2RlZmluZSBHTElCX01J Tk9SX1ZFUlNJT04gMjAKfCAjZGVmaW5lIEdMSUJfTUlDUk9fVkVSU0lPTiA1CnwgI2RlZmluZSBH TElCX0lOVEVSRkFDRV9BR0UgNQp8ICNkZWZpbmUgR0xJQl9CSU5BUllfQUdFIDIwMDUKfCAjZGVm aW5lIE5FRURfSUNPTlZfQ0FDSEUgMQp8ICNkZWZpbmUgU1REQ19IRUFERVJTIDEKfCAjZGVmaW5l IEhBVkVfU1lTX1RZUEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfU1RBVF9IIDEKfCAjZGVmaW5l IEhBVkVfU1RETElCX0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJJTkdfSCAxCnwgI2RlZmluZSBIQVZF X01FTU9SWV9IIDEKfCAjZGVmaW5lIEhBVkVfU1RSSU5HU19IIDEKfCAjZGVmaW5lIEhBVkVfSU5U VFlQRVNfSCAxCnwgI2RlZmluZSBIQVZFX1NURElOVF9IIDEKfCAjZGVmaW5lIEhBVkVfVU5JU1RE X0ggMQp8ICNkZWZpbmUgSEFWRV9MT0NBTEVfSCAxCnwgI2RlZmluZSBIQVZFX0xDX01FU1NBR0VT IDEKfCAjZGVmaW5lIEhBVkVfQklORF9URVhURE9NQUlOX0NPREVTRVQgMQp8ICNkZWZpbmUgSEFW RV9HRVRURVhUIDEKfCAjZGVmaW5lIEhBVkVfRENHRVRURVhUIDEKfCAjZGVmaW5lIEVOQUJMRV9O TFMgMQp8ICNkZWZpbmUgR0VUVEVYVF9QQUNLQUdFICJnbGliMjAiCnwgI2RlZmluZSBHTElCX0xP Q0FMRV9ESVIgIi91c3IvbG9jYWwvc2hhcmUvbG9jYWxlIgp8ICNkZWZpbmUgVVNFX0xJQklDT05W X0dOVSAxCnwgI2RlZmluZSBIQVZFX0RMRkNOX0ggMQp8ICNkZWZpbmUgTFRfT0JKRElSICIubGli cy8iCnwgI2RlZmluZSBTVERDX0hFQURFUlMgMQp8ICNkZWZpbmUgSEFWRV9WUFJJTlRGIDEKfCAj ZGVmaW5lIEhBVkVfQUxMT0NBIDEKfCAjZGVmaW5lIEhBVkVfTU1BUCAxCnwgI2RlZmluZSBIQVZF X1BPU0lYX01FTUFMSUdOIDEKfCAjZGVmaW5lIEhBVkVfVkFMTE9DIDEKfCAjZGVmaW5lIEhBVkVf RlNZTkMgMQp8ICNkZWZpbmUgSEFWRV9BVEVYSVQgMQp8ICNkZWZpbmUgSEFWRV9USU1FR00gMQp8 ICNkZWZpbmUgSEFWRV9HTVRJTUVfUiAxCnwgI2RlZmluZSBTSVpFT0ZfQ0hBUiAxCnwgI2RlZmlu ZSBTSVpFT0ZfU0hPUlQgMgp8ICNkZWZpbmUgU0laRU9GX0xPTkcgOAp8ICNkZWZpbmUgU0laRU9G X0lOVCA0CnwgI2RlZmluZSBTSVpFT0ZfVk9JRF9QIDgKfCAjZGVmaW5lIFNJWkVPRl9MT05HX0xP TkcgOAp8ICNkZWZpbmUgU0laRU9GX19fSU5UNjQgMAp8ICNkZWZpbmUgSEFWRV9MT05HX0xPTkdf Rk9STUFUIDEKfCAjZGVmaW5lIFNBTkVfTUFMTE9DX1BST1RPUyAxCnwgI2RlZmluZSBHX0hBVkVf X19JTkxJTkUgMQp8ICNkZWZpbmUgR19IQVZFX19fSU5MSU5FX18gMQp8ICNkZWZpbmUgR19IQVZF X0lOTElORSAxCnwgI2RlZmluZSBIQVZFX0RPV0hJTEVfTUFDUk9TIDEKfCAjZGVmaW5lIEhBVkVf RElSRU5UX0ggMQp8ICNkZWZpbmUgSEFWRV9GTE9BVF9IIDEKfCAjZGVmaW5lIEhBVkVfTElNSVRT X0ggMQp8ICNkZWZpbmUgSEFWRV9QV0RfSCAxCnwgI2RlZmluZSBIQVZFX0dSUF9IIDEKfCAjZGVm aW5lIEhBVkVfU1lTX1BBUkFNX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfUE9MTF9IIDEKfCAjZGVm aW5lIEhBVkVfU1lTX1JFU09VUkNFX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfVElNRV9IIDEKfCAj ZGVmaW5lIEhBVkVfU1lTX1RJTUVTX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfV0FJVF9IIDEKfCAj ZGVmaW5lIEhBVkVfVU5JU1REX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfU0VMRUNUX0ggMQp8ICNk ZWZpbmUgSEFWRV9TWVNfVFlQRVNfSCAxCnwgI2RlZmluZSBIQVZFX1NURElOVF9IIDEKfCAjZGVm aW5lIEhBVkVfU0NIRURfSCAxCnwgLyogZW5kIGNvbmZkZWZzLmguICAqLwp8ICNpbmNsdWRlIDxz eXMvdmZzLmg+CmNvbmZpZ3VyZToyOTAwNjogcmVzdWx0OiBubwpjb25maWd1cmU6MjkwMzk6IGNo ZWNraW5nIGZvciBzeXMvdmZzLmgKY29uZmlndXJlOjI5MDQ4OiByZXN1bHQ6IG5vCmNvbmZpZ3Vy ZToyODkyODogY2hlY2tpbmcgc3lzL21vdW50LmggdXNhYmlsaXR5CmNvbmZpZ3VyZToyODk0NTog Y2MgLWMgLU8yIC1mbm8tc3RyaWN0LWFsaWFzaW5nIC1waXBlIC1XYWxsIC1JL3Vzci9sb2NhbC9p bmNsdWRlIC1ER19ESVNBQkxFX1NJTkdMRV9JTkNMVURFUyBjb25mdGVzdC5jID4mNQpjb25maWd1 cmU6Mjg5NTI6ICQ/ID0gMApjb25maWd1cmU6Mjg5NjY6IHJlc3VsdDogeWVzCmNvbmZpZ3VyZToy ODk3MDogY2hlY2tpbmcgc3lzL21vdW50LmggcHJlc2VuY2UKY29uZmlndXJlOjI4OTg1OiBjYyAt RSAtSS91c3IvbG9jYWwvaW5jbHVkZSAtREdfRElTQUJMRV9TSU5HTEVfSU5DTFVERVMgY29uZnRl c3QuYwpjb25maWd1cmU6Mjg5OTI6ICQ/ID0gMApjb25maWd1cmU6MjkwMDY6IHJlc3VsdDogeWVz CmNvbmZpZ3VyZToyOTAzOTogY2hlY2tpbmcgZm9yIHN5cy9tb3VudC5oCmNvbmZpZ3VyZToyOTA0 ODogcmVzdWx0OiB5ZXMKY29uZmlndXJlOjI4OTI4OiBjaGVja2luZyBzeXMvdm1vdW50LmggdXNh YmlsaXR5CmNvbmZpZ3VyZToyODk0NTogY2MgLWMgLU8yIC1mbm8tc3RyaWN0LWFsaWFzaW5nIC1w aXBlIC1XYWxsIC1JL3Vzci9sb2NhbC9pbmNsdWRlIC1ER19ESVNBQkxFX1NJTkdMRV9JTkNMVURF UyBjb25mdGVzdC5jID4mNQpjb25mdGVzdC5jOjEwODoyNDogZXJyb3I6IHN5cy92bW91bnQuaDog Tm8gc3VjaCBmaWxlIG9yIGRpcmVjdG9yeQpjb25maWd1cmU6Mjg5NTI6ICQ/ID0gMQpjb25maWd1 cmU6IGZhaWxlZCBwcm9ncmFtIHdhczoKfCAvKiBjb25mZGVmcy5oLiAgKi8KfCAjZGVmaW5lIFBB Q0tBR0VfTkFNRSAiZ2xpYiIKfCAjZGVmaW5lIFBBQ0tBR0VfVEFSTkFNRSAiZ2xpYiIKfCAjZGVm aW5lIFBBQ0tBR0VfVkVSU0lPTiAiMi4yMC41Igp8ICNkZWZpbmUgUEFDS0FHRV9TVFJJTkcgImds aWIgMi4yMC41Igp8ICNkZWZpbmUgUEFDS0FHRV9CVUdSRVBPUlQgImh0dHA6Ly9idWd6aWxsYS5n bm9tZS5vcmcvZW50ZXJfYnVnLmNnaT9wcm9kdWN0PWdsaWIiCnwgI2RlZmluZSBHTElCX01BSk9S X1ZFUlNJT04gMgp8ICNkZWZpbmUgR0xJQl9NSU5PUl9WRVJTSU9OIDIwCnwgI2RlZmluZSBHTElC X01JQ1JPX1ZFUlNJT04gNQp8ICNkZWZpbmUgR0xJQl9JTlRFUkZBQ0VfQUdFIDUKfCAjZGVmaW5l IEdMSUJfQklOQVJZX0FHRSAyMDA1CnwgI2RlZmluZSBORUVEX0lDT05WX0NBQ0hFIDEKfCAjZGVm aW5lIFNURENfSEVBREVSUyAxCnwgI2RlZmluZSBIQVZFX1NZU19UWVBFU19IIDEKfCAjZGVmaW5l IEhBVkVfU1lTX1NUQVRfSCAxCnwgI2RlZmluZSBIQVZFX1NURExJQl9IIDEKfCAjZGVmaW5lIEhB VkVfU1RSSU5HX0ggMQp8ICNkZWZpbmUgSEFWRV9NRU1PUllfSCAxCnwgI2RlZmluZSBIQVZFX1NU UklOR1NfSCAxCnwgI2RlZmluZSBIQVZFX0lOVFRZUEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERJ TlRfSCAxCnwgI2RlZmluZSBIQVZFX1VOSVNURF9IIDEKfCAjZGVmaW5lIEhBVkVfTE9DQUxFX0gg MQp8ICNkZWZpbmUgSEFWRV9MQ19NRVNTQUdFUyAxCnwgI2RlZmluZSBIQVZFX0JJTkRfVEVYVERP TUFJTl9DT0RFU0VUIDEKfCAjZGVmaW5lIEhBVkVfR0VUVEVYVCAxCnwgI2RlZmluZSBIQVZFX0RD R0VUVEVYVCAxCnwgI2RlZmluZSBFTkFCTEVfTkxTIDEKfCAjZGVmaW5lIEdFVFRFWFRfUEFDS0FH RSAiZ2xpYjIwIgp8ICNkZWZpbmUgR0xJQl9MT0NBTEVfRElSICIvdXNyL2xvY2FsL3NoYXJlL2xv Y2FsZSIKfCAjZGVmaW5lIFVTRV9MSUJJQ09OVl9HTlUgMQp8ICNkZWZpbmUgSEFWRV9ETEZDTl9I IDEKfCAjZGVmaW5lIExUX09CSkRJUiAiLmxpYnMvIgp8ICNkZWZpbmUgU1REQ19IRUFERVJTIDEK fCAjZGVmaW5lIEhBVkVfVlBSSU5URiAxCnwgI2RlZmluZSBIQVZFX0FMTE9DQSAxCnwgI2RlZmlu ZSBIQVZFX01NQVAgMQp8ICNkZWZpbmUgSEFWRV9QT1NJWF9NRU1BTElHTiAxCnwgI2RlZmluZSBI QVZFX1ZBTExPQyAxCnwgI2RlZmluZSBIQVZFX0ZTWU5DIDEKfCAjZGVmaW5lIEhBVkVfQVRFWElU IDEKfCAjZGVmaW5lIEhBVkVfVElNRUdNIDEKfCAjZGVmaW5lIEhBVkVfR01USU1FX1IgMQp8ICNk ZWZpbmUgU0laRU9GX0NIQVIgMQp8ICNkZWZpbmUgU0laRU9GX1NIT1JUIDIKfCAjZGVmaW5lIFNJ WkVPRl9MT05HIDgKfCAjZGVmaW5lIFNJWkVPRl9JTlQgNAp8ICNkZWZpbmUgU0laRU9GX1ZPSURf UCA4CnwgI2RlZmluZSBTSVpFT0ZfTE9OR19MT05HIDgKfCAjZGVmaW5lIFNJWkVPRl9fX0lOVDY0 IDAKfCAjZGVmaW5lIEhBVkVfTE9OR19MT05HX0ZPUk1BVCAxCnwgI2RlZmluZSBTQU5FX01BTExP Q19QUk9UT1MgMQp8ICNkZWZpbmUgR19IQVZFX19fSU5MSU5FIDEKfCAjZGVmaW5lIEdfSEFWRV9f X0lOTElORV9fIDEKfCAjZGVmaW5lIEdfSEFWRV9JTkxJTkUgMQp8ICNkZWZpbmUgSEFWRV9ET1dI SUxFX01BQ1JPUyAxCnwgI2RlZmluZSBIQVZFX0RJUkVOVF9IIDEKfCAjZGVmaW5lIEhBVkVfRkxP QVRfSCAxCnwgI2RlZmluZSBIQVZFX0xJTUlUU19IIDEKfCAjZGVmaW5lIEhBVkVfUFdEX0ggMQp8 ICNkZWZpbmUgSEFWRV9HUlBfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19QQVJBTV9IIDEKfCAjZGVm aW5lIEhBVkVfU1lTX1BPTExfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19SRVNPVVJDRV9IIDEKfCAj ZGVmaW5lIEhBVkVfU1lTX1RJTUVfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19USU1FU19IIDEKfCAj ZGVmaW5lIEhBVkVfU1lTX1dBSVRfSCAxCnwgI2RlZmluZSBIQVZFX1VOSVNURF9IIDEKfCAjZGVm aW5lIEhBVkVfU1lTX1NFTEVDVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1RZUEVTX0ggMQp8ICNk ZWZpbmUgSEFWRV9TVERJTlRfSCAxCnwgI2RlZmluZSBIQVZFX1NDSEVEX0ggMQp8ICNkZWZpbmUg SEFWRV9TWVNfTU9VTlRfSCAxCnwgLyogZW5kIGNvbmZkZWZzLmguICAqLwp8ICNpbmNsdWRlIDxz dGRpby5oPgp8ICNpZmRlZiBIQVZFX1NZU19UWVBFU19ICnwgIyBpbmNsdWRlIDxzeXMvdHlwZXMu aD4KfCAjZW5kaWYKfCAjaWZkZWYgSEFWRV9TWVNfU1RBVF9ICnwgIyBpbmNsdWRlIDxzeXMvc3Rh dC5oPgp8ICNlbmRpZgp8ICNpZmRlZiBTVERDX0hFQURFUlMKfCAjIGluY2x1ZGUgPHN0ZGxpYi5o Pgp8ICMgaW5jbHVkZSA8c3RkZGVmLmg+CnwgI2Vsc2UKfCAjIGlmZGVmIEhBVkVfU1RETElCX0gK fCAjICBpbmNsdWRlIDxzdGRsaWIuaD4KfCAjIGVuZGlmCnwgI2VuZGlmCnwgI2lmZGVmIEhBVkVf U1RSSU5HX0gKfCAjIGlmICFkZWZpbmVkIFNURENfSEVBREVSUyAmJiBkZWZpbmVkIEhBVkVfTUVN T1JZX0gKfCAjICBpbmNsdWRlIDxtZW1vcnkuaD4KfCAjIGVuZGlmCnwgIyBpbmNsdWRlIDxzdHJp bmcuaD4KfCAjZW5kaWYKfCAjaWZkZWYgSEFWRV9TVFJJTkdTX0gKfCAjIGluY2x1ZGUgPHN0cmlu Z3MuaD4KfCAjZW5kaWYKfCAjaWZkZWYgSEFWRV9JTlRUWVBFU19ICnwgIyBpbmNsdWRlIDxpbnR0 eXBlcy5oPgp8ICNlbmRpZgp8ICNpZmRlZiBIQVZFX1NURElOVF9ICnwgIyBpbmNsdWRlIDxzdGRp bnQuaD4KfCAjZW5kaWYKfCAjaWZkZWYgSEFWRV9VTklTVERfSAp8ICMgaW5jbHVkZSA8dW5pc3Rk Lmg+CnwgI2VuZGlmCnwgI2luY2x1ZGUgPHN5cy92bW91bnQuaD4KY29uZmlndXJlOjI4OTY2OiBy ZXN1bHQ6IG5vCmNvbmZpZ3VyZToyODk3MDogY2hlY2tpbmcgc3lzL3Ztb3VudC5oIHByZXNlbmNl CmNvbmZpZ3VyZToyODk4NTogY2MgLUUgLUkvdXNyL2xvY2FsL2luY2x1ZGUgLURHX0RJU0FCTEVf U0lOR0xFX0lOQ0xVREVTIGNvbmZ0ZXN0LmMKY29uZnRlc3QuYzo3NToyNDogZXJyb3I6IHN5cy92 bW91bnQuaDogTm8gc3VjaCBmaWxlIG9yIGRpcmVjdG9yeQpjb25maWd1cmU6Mjg5OTI6ICQ/ID0g MQpjb25maWd1cmU6IGZhaWxlZCBwcm9ncmFtIHdhczoKfCAvKiBjb25mZGVmcy5oLiAgKi8KfCAj ZGVmaW5lIFBBQ0tBR0VfTkFNRSAiZ2xpYiIKfCAjZGVmaW5lIFBBQ0tBR0VfVEFSTkFNRSAiZ2xp YiIKfCAjZGVmaW5lIFBBQ0tBR0VfVkVSU0lPTiAiMi4yMC41Igp8ICNkZWZpbmUgUEFDS0FHRV9T VFJJTkcgImdsaWIgMi4yMC41Igp8ICNkZWZpbmUgUEFDS0FHRV9CVUdSRVBPUlQgImh0dHA6Ly9i dWd6aWxsYS5nbm9tZS5vcmcvZW50ZXJfYnVnLmNnaT9wcm9kdWN0PWdsaWIiCnwgI2RlZmluZSBH TElCX01BSk9SX1ZFUlNJT04gMgp8ICNkZWZpbmUgR0xJQl9NSU5PUl9WRVJTSU9OIDIwCnwgI2Rl ZmluZSBHTElCX01JQ1JPX1ZFUlNJT04gNQp8ICNkZWZpbmUgR0xJQl9JTlRFUkZBQ0VfQUdFIDUK fCAjZGVmaW5lIEdMSUJfQklOQVJZX0FHRSAyMDA1CnwgI2RlZmluZSBORUVEX0lDT05WX0NBQ0hF IDEKfCAjZGVmaW5lIFNURENfSEVBREVSUyAxCnwgI2RlZmluZSBIQVZFX1NZU19UWVBFU19IIDEK fCAjZGVmaW5lIEhBVkVfU1lTX1NUQVRfSCAxCnwgI2RlZmluZSBIQVZFX1NURExJQl9IIDEKfCAj ZGVmaW5lIEhBVkVfU1RSSU5HX0ggMQp8ICNkZWZpbmUgSEFWRV9NRU1PUllfSCAxCnwgI2RlZmlu ZSBIQVZFX1NUUklOR1NfSCAxCnwgI2RlZmluZSBIQVZFX0lOVFRZUEVTX0ggMQp8ICNkZWZpbmUg SEFWRV9TVERJTlRfSCAxCnwgI2RlZmluZSBIQVZFX1VOSVNURF9IIDEKfCAjZGVmaW5lIEhBVkVf TE9DQUxFX0ggMQp8ICNkZWZpbmUgSEFWRV9MQ19NRVNTQUdFUyAxCnwgI2RlZmluZSBIQVZFX0JJ TkRfVEVYVERPTUFJTl9DT0RFU0VUIDEKfCAjZGVmaW5lIEhBVkVfR0VUVEVYVCAxCnwgI2RlZmlu ZSBIQVZFX0RDR0VUVEVYVCAxCnwgI2RlZmluZSBFTkFCTEVfTkxTIDEKfCAjZGVmaW5lIEdFVFRF WFRfUEFDS0FHRSAiZ2xpYjIwIgp8ICNkZWZpbmUgR0xJQl9MT0NBTEVfRElSICIvdXNyL2xvY2Fs L3NoYXJlL2xvY2FsZSIKfCAjZGVmaW5lIFVTRV9MSUJJQ09OVl9HTlUgMQp8ICNkZWZpbmUgSEFW RV9ETEZDTl9IIDEKfCAjZGVmaW5lIExUX09CSkRJUiAiLmxpYnMvIgp8ICNkZWZpbmUgU1REQ19I RUFERVJTIDEKfCAjZGVmaW5lIEhBVkVfVlBSSU5URiAxCnwgI2RlZmluZSBIQVZFX0FMTE9DQSAx CnwgI2RlZmluZSBIQVZFX01NQVAgMQp8ICNkZWZpbmUgSEFWRV9QT1NJWF9NRU1BTElHTiAxCnwg I2RlZmluZSBIQVZFX1ZBTExPQyAxCnwgI2RlZmluZSBIQVZFX0ZTWU5DIDEKfCAjZGVmaW5lIEhB VkVfQVRFWElUIDEKfCAjZGVmaW5lIEhBVkVfVElNRUdNIDEKfCAjZGVmaW5lIEhBVkVfR01USU1F X1IgMQp8ICNkZWZpbmUgU0laRU9GX0NIQVIgMQp8ICNkZWZpbmUgU0laRU9GX1NIT1JUIDIKfCAj ZGVmaW5lIFNJWkVPRl9MT05HIDgKfCAjZGVmaW5lIFNJWkVPRl9JTlQgNAp8ICNkZWZpbmUgU0la RU9GX1ZPSURfUCA4CnwgI2RlZmluZSBTSVpFT0ZfTE9OR19MT05HIDgKfCAjZGVmaW5lIFNJWkVP Rl9fX0lOVDY0IDAKfCAjZGVmaW5lIEhBVkVfTE9OR19MT05HX0ZPUk1BVCAxCnwgI2RlZmluZSBT QU5FX01BTExPQ19QUk9UT1MgMQp8ICNkZWZpbmUgR19IQVZFX19fSU5MSU5FIDEKfCAjZGVmaW5l IEdfSEFWRV9fX0lOTElORV9fIDEKfCAjZGVmaW5lIEdfSEFWRV9JTkxJTkUgMQp8ICNkZWZpbmUg SEFWRV9ET1dISUxFX01BQ1JPUyAxCnwgI2RlZmluZSBIQVZFX0RJUkVOVF9IIDEKfCAjZGVmaW5l IEhBVkVfRkxPQVRfSCAxCnwgI2RlZmluZSBIQVZFX0xJTUlUU19IIDEKfCAjZGVmaW5lIEhBVkVf UFdEX0ggMQp8ICNkZWZpbmUgSEFWRV9HUlBfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19QQVJBTV9I IDEKfCAjZGVmaW5lIEhBVkVfU1lTX1BPTExfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19SRVNPVVJD RV9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1RJTUVfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19USU1F U19IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1dBSVRfSCAxCnwgI2RlZmluZSBIQVZFX1VOSVNURF9I IDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NFTEVDVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1RZUEVT X0ggMQp8ICNkZWZpbmUgSEFWRV9TVERJTlRfSCAxCnwgI2RlZmluZSBIQVZFX1NDSEVEX0ggMQp8 ICNkZWZpbmUgSEFWRV9TWVNfTU9VTlRfSCAxCnwgLyogZW5kIGNvbmZkZWZzLmguICAqLwp8ICNp bmNsdWRlIDxzeXMvdm1vdW50Lmg+CmNvbmZpZ3VyZToyOTAwNjogcmVzdWx0OiBubwpjb25maWd1 cmU6MjkwMzk6IGNoZWNraW5nIGZvciBzeXMvdm1vdW50LmgKY29uZmlndXJlOjI5MDQ4OiByZXN1 bHQ6IG5vCmNvbmZpZ3VyZToyODkyODogY2hlY2tpbmcgc3lzL3N0YXRmcy5oIHVzYWJpbGl0eQpj b25maWd1cmU6Mjg5NDU6IGNjIC1jIC1PMiAtZm5vLXN0cmljdC1hbGlhc2luZyAtcGlwZSAtV2Fs bCAtSS91c3IvbG9jYWwvaW5jbHVkZSAtREdfRElTQUJMRV9TSU5HTEVfSU5DTFVERVMgY29uZnRl c3QuYyA+JjUKY29uZnRlc3QuYzoxMDg6MjQ6IGVycm9yOiBzeXMvc3RhdGZzLmg6IE5vIHN1Y2gg ZmlsZSBvciBkaXJlY3RvcnkKY29uZmlndXJlOjI4OTUyOiAkPyA9IDEKY29uZmlndXJlOiBmYWls ZWQgcHJvZ3JhbSB3YXM6CnwgLyogY29uZmRlZnMuaC4gICovCnwgI2RlZmluZSBQQUNLQUdFX05B TUUgImdsaWIiCnwgI2RlZmluZSBQQUNLQUdFX1RBUk5BTUUgImdsaWIiCnwgI2RlZmluZSBQQUNL QUdFX1ZFUlNJT04gIjIuMjAuNSIKfCAjZGVmaW5lIFBBQ0tBR0VfU1RSSU5HICJnbGliIDIuMjAu NSIKfCAjZGVmaW5lIFBBQ0tBR0VfQlVHUkVQT1JUICJodHRwOi8vYnVnemlsbGEuZ25vbWUub3Jn L2VudGVyX2J1Zy5jZ2k/cHJvZHVjdD1nbGliIgp8ICNkZWZpbmUgR0xJQl9NQUpPUl9WRVJTSU9O IDIKfCAjZGVmaW5lIEdMSUJfTUlOT1JfVkVSU0lPTiAyMAp8ICNkZWZpbmUgR0xJQl9NSUNST19W RVJTSU9OIDUKfCAjZGVmaW5lIEdMSUJfSU5URVJGQUNFX0FHRSA1CnwgI2RlZmluZSBHTElCX0JJ TkFSWV9BR0UgMjAwNQp8ICNkZWZpbmUgTkVFRF9JQ09OVl9DQUNIRSAxCnwgI2RlZmluZSBTVERD X0hFQURFUlMgMQp8ICNkZWZpbmUgSEFWRV9TWVNfVFlQRVNfSCAxCnwgI2RlZmluZSBIQVZFX1NZ U19TVEFUX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERMSUJfSCAxCnwgI2RlZmluZSBIQVZFX1NUUklO R19IIDEKfCAjZGVmaW5lIEhBVkVfTUVNT1JZX0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJJTkdTX0gg MQp8ICNkZWZpbmUgSEFWRV9JTlRUWVBFU19IIDEKfCAjZGVmaW5lIEhBVkVfU1RESU5UX0ggMQp8 ICNkZWZpbmUgSEFWRV9VTklTVERfSCAxCnwgI2RlZmluZSBIQVZFX0xPQ0FMRV9IIDEKfCAjZGVm aW5lIEhBVkVfTENfTUVTU0FHRVMgMQp8ICNkZWZpbmUgSEFWRV9CSU5EX1RFWFRET01BSU5fQ09E RVNFVCAxCnwgI2RlZmluZSBIQVZFX0dFVFRFWFQgMQp8ICNkZWZpbmUgSEFWRV9EQ0dFVFRFWFQg MQp8ICNkZWZpbmUgRU5BQkxFX05MUyAxCnwgI2RlZmluZSBHRVRURVhUX1BBQ0tBR0UgImdsaWIy MCIKfCAjZGVmaW5lIEdMSUJfTE9DQUxFX0RJUiAiL3Vzci9sb2NhbC9zaGFyZS9sb2NhbGUiCnwg I2RlZmluZSBVU0VfTElCSUNPTlZfR05VIDEKfCAjZGVmaW5lIEhBVkVfRExGQ05fSCAxCnwgI2Rl ZmluZSBMVF9PQkpESVIgIi5saWJzLyIKfCAjZGVmaW5lIFNURENfSEVBREVSUyAxCnwgI2RlZmlu ZSBIQVZFX1ZQUklOVEYgMQp8ICNkZWZpbmUgSEFWRV9BTExPQ0EgMQp8ICNkZWZpbmUgSEFWRV9N TUFQIDEKfCAjZGVmaW5lIEhBVkVfUE9TSVhfTUVNQUxJR04gMQp8ICNkZWZpbmUgSEFWRV9WQUxM T0MgMQp8ICNkZWZpbmUgSEFWRV9GU1lOQyAxCnwgI2RlZmluZSBIQVZFX0FURVhJVCAxCnwgI2Rl ZmluZSBIQVZFX1RJTUVHTSAxCnwgI2RlZmluZSBIQVZFX0dNVElNRV9SIDEKfCAjZGVmaW5lIFNJ WkVPRl9DSEFSIDEKfCAjZGVmaW5lIFNJWkVPRl9TSE9SVCAyCnwgI2RlZmluZSBTSVpFT0ZfTE9O RyA4CnwgI2RlZmluZSBTSVpFT0ZfSU5UIDQKfCAjZGVmaW5lIFNJWkVPRl9WT0lEX1AgOAp8ICNk ZWZpbmUgU0laRU9GX0xPTkdfTE9ORyA4CnwgI2RlZmluZSBTSVpFT0ZfX19JTlQ2NCAwCnwgI2Rl ZmluZSBIQVZFX0xPTkdfTE9OR19GT1JNQVQgMQp8ICNkZWZpbmUgU0FORV9NQUxMT0NfUFJPVE9T IDEKfCAjZGVmaW5lIEdfSEFWRV9fX0lOTElORSAxCnwgI2RlZmluZSBHX0hBVkVfX19JTkxJTkVf XyAxCnwgI2RlZmluZSBHX0hBVkVfSU5MSU5FIDEKfCAjZGVmaW5lIEhBVkVfRE9XSElMRV9NQUNS T1MgMQp8ICNkZWZpbmUgSEFWRV9ESVJFTlRfSCAxCnwgI2RlZmluZSBIQVZFX0ZMT0FUX0ggMQp8 ICNkZWZpbmUgSEFWRV9MSU1JVFNfSCAxCnwgI2RlZmluZSBIQVZFX1BXRF9IIDEKfCAjZGVmaW5l IEhBVkVfR1JQX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfUEFSQU1fSCAxCnwgI2RlZmluZSBIQVZF X1NZU19QT0xMX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfUkVTT1VSQ0VfSCAxCnwgI2RlZmluZSBI QVZFX1NZU19USU1FX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfVElNRVNfSCAxCnwgI2RlZmluZSBI QVZFX1NZU19XQUlUX0ggMQp8ICNkZWZpbmUgSEFWRV9VTklTVERfSCAxCnwgI2RlZmluZSBIQVZF X1NZU19TRUxFQ1RfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19UWVBFU19IIDEKfCAjZGVmaW5lIEhB VkVfU1RESU5UX0ggMQp8ICNkZWZpbmUgSEFWRV9TQ0hFRF9IIDEKfCAjZGVmaW5lIEhBVkVfU1lT X01PVU5UX0ggMQp8IC8qIGVuZCBjb25mZGVmcy5oLiAgKi8KfCAjaW5jbHVkZSA8c3RkaW8uaD4K fCAjaWZkZWYgSEFWRV9TWVNfVFlQRVNfSAp8ICMgaW5jbHVkZSA8c3lzL3R5cGVzLmg+CnwgI2Vu ZGlmCnwgI2lmZGVmIEhBVkVfU1lTX1NUQVRfSAp8ICMgaW5jbHVkZSA8c3lzL3N0YXQuaD4KfCAj ZW5kaWYKfCAjaWZkZWYgU1REQ19IRUFERVJTCnwgIyBpbmNsdWRlIDxzdGRsaWIuaD4KfCAjIGlu Y2x1ZGUgPHN0ZGRlZi5oPgp8ICNlbHNlCnwgIyBpZmRlZiBIQVZFX1NURExJQl9ICnwgIyAgaW5j bHVkZSA8c3RkbGliLmg+CnwgIyBlbmRpZgp8ICNlbmRpZgp8ICNpZmRlZiBIQVZFX1NUUklOR19I CnwgIyBpZiAhZGVmaW5lZCBTVERDX0hFQURFUlMgJiYgZGVmaW5lZCBIQVZFX01FTU9SWV9ICnwg IyAgaW5jbHVkZSA8bWVtb3J5Lmg+CnwgIyBlbmRpZgp8ICMgaW5jbHVkZSA8c3RyaW5nLmg+Cnwg I2VuZGlmCnwgI2lmZGVmIEhBVkVfU1RSSU5HU19ICnwgIyBpbmNsdWRlIDxzdHJpbmdzLmg+Cnwg I2VuZGlmCnwgI2lmZGVmIEhBVkVfSU5UVFlQRVNfSAp8ICMgaW5jbHVkZSA8aW50dHlwZXMuaD4K fCAjZW5kaWYKfCAjaWZkZWYgSEFWRV9TVERJTlRfSAp8ICMgaW5jbHVkZSA8c3RkaW50Lmg+Cnwg I2VuZGlmCnwgI2lmZGVmIEhBVkVfVU5JU1REX0gKfCAjIGluY2x1ZGUgPHVuaXN0ZC5oPgp8ICNl bmRpZgp8ICNpbmNsdWRlIDxzeXMvc3RhdGZzLmg+CmNvbmZpZ3VyZToyODk2NjogcmVzdWx0OiBu bwpjb25maWd1cmU6Mjg5NzA6IGNoZWNraW5nIHN5cy9zdGF0ZnMuaCBwcmVzZW5jZQpjb25maWd1 cmU6Mjg5ODU6IGNjIC1FIC1JL3Vzci9sb2NhbC9pbmNsdWRlIC1ER19ESVNBQkxFX1NJTkdMRV9J TkNMVURFUyBjb25mdGVzdC5jCmNvbmZ0ZXN0LmM6NzU6MjQ6IGVycm9yOiBzeXMvc3RhdGZzLmg6 IE5vIHN1Y2ggZmlsZSBvciBkaXJlY3RvcnkKY29uZmlndXJlOjI4OTkyOiAkPyA9IDEKY29uZmln dXJlOiBmYWlsZWQgcHJvZ3JhbSB3YXM6CnwgLyogY29uZmRlZnMuaC4gICovCnwgI2RlZmluZSBQ QUNLQUdFX05BTUUgImdsaWIiCnwgI2RlZmluZSBQQUNLQUdFX1RBUk5BTUUgImdsaWIiCnwgI2Rl ZmluZSBQQUNLQUdFX1ZFUlNJT04gIjIuMjAuNSIKfCAjZGVmaW5lIFBBQ0tBR0VfU1RSSU5HICJn bGliIDIuMjAuNSIKfCAjZGVmaW5lIFBBQ0tBR0VfQlVHUkVQT1JUICJodHRwOi8vYnVnemlsbGEu Z25vbWUub3JnL2VudGVyX2J1Zy5jZ2k/cHJvZHVjdD1nbGliIgp8ICNkZWZpbmUgR0xJQl9NQUpP Ul9WRVJTSU9OIDIKfCAjZGVmaW5lIEdMSUJfTUlOT1JfVkVSU0lPTiAyMAp8ICNkZWZpbmUgR0xJ Ql9NSUNST19WRVJTSU9OIDUKfCAjZGVmaW5lIEdMSUJfSU5URVJGQUNFX0FHRSA1CnwgI2RlZmlu ZSBHTElCX0JJTkFSWV9BR0UgMjAwNQp8ICNkZWZpbmUgTkVFRF9JQ09OVl9DQUNIRSAxCnwgI2Rl ZmluZSBTVERDX0hFQURFUlMgMQp8ICNkZWZpbmUgSEFWRV9TWVNfVFlQRVNfSCAxCnwgI2RlZmlu ZSBIQVZFX1NZU19TVEFUX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERMSUJfSCAxCnwgI2RlZmluZSBI QVZFX1NUUklOR19IIDEKfCAjZGVmaW5lIEhBVkVfTUVNT1JZX0ggMQp8ICNkZWZpbmUgSEFWRV9T VFJJTkdTX0ggMQp8ICNkZWZpbmUgSEFWRV9JTlRUWVBFU19IIDEKfCAjZGVmaW5lIEhBVkVfU1RE SU5UX0ggMQp8ICNkZWZpbmUgSEFWRV9VTklTVERfSCAxCnwgI2RlZmluZSBIQVZFX0xPQ0FMRV9I IDEKfCAjZGVmaW5lIEhBVkVfTENfTUVTU0FHRVMgMQp8ICNkZWZpbmUgSEFWRV9CSU5EX1RFWFRE T01BSU5fQ09ERVNFVCAxCnwgI2RlZmluZSBIQVZFX0dFVFRFWFQgMQp8ICNkZWZpbmUgSEFWRV9E Q0dFVFRFWFQgMQp8ICNkZWZpbmUgRU5BQkxFX05MUyAxCnwgI2RlZmluZSBHRVRURVhUX1BBQ0tB R0UgImdsaWIyMCIKfCAjZGVmaW5lIEdMSUJfTE9DQUxFX0RJUiAiL3Vzci9sb2NhbC9zaGFyZS9s b2NhbGUiCnwgI2RlZmluZSBVU0VfTElCSUNPTlZfR05VIDEKfCAjZGVmaW5lIEhBVkVfRExGQ05f SCAxCnwgI2RlZmluZSBMVF9PQkpESVIgIi5saWJzLyIKfCAjZGVmaW5lIFNURENfSEVBREVSUyAx CnwgI2RlZmluZSBIQVZFX1ZQUklOVEYgMQp8ICNkZWZpbmUgSEFWRV9BTExPQ0EgMQp8ICNkZWZp bmUgSEFWRV9NTUFQIDEKfCAjZGVmaW5lIEhBVkVfUE9TSVhfTUVNQUxJR04gMQp8ICNkZWZpbmUg SEFWRV9WQUxMT0MgMQp8ICNkZWZpbmUgSEFWRV9GU1lOQyAxCnwgI2RlZmluZSBIQVZFX0FURVhJ VCAxCnwgI2RlZmluZSBIQVZFX1RJTUVHTSAxCnwgI2RlZmluZSBIQVZFX0dNVElNRV9SIDEKfCAj ZGVmaW5lIFNJWkVPRl9DSEFSIDEKfCAjZGVmaW5lIFNJWkVPRl9TSE9SVCAyCnwgI2RlZmluZSBT SVpFT0ZfTE9ORyA4CnwgI2RlZmluZSBTSVpFT0ZfSU5UIDQKfCAjZGVmaW5lIFNJWkVPRl9WT0lE X1AgOAp8ICNkZWZpbmUgU0laRU9GX0xPTkdfTE9ORyA4CnwgI2RlZmluZSBTSVpFT0ZfX19JTlQ2 NCAwCnwgI2RlZmluZSBIQVZFX0xPTkdfTE9OR19GT1JNQVQgMQp8ICNkZWZpbmUgU0FORV9NQUxM T0NfUFJPVE9TIDEKfCAjZGVmaW5lIEdfSEFWRV9fX0lOTElORSAxCnwgI2RlZmluZSBHX0hBVkVf X19JTkxJTkVfXyAxCnwgI2RlZmluZSBHX0hBVkVfSU5MSU5FIDEKfCAjZGVmaW5lIEhBVkVfRE9X SElMRV9NQUNST1MgMQp8ICNkZWZpbmUgSEFWRV9ESVJFTlRfSCAxCnwgI2RlZmluZSBIQVZFX0ZM T0FUX0ggMQp8ICNkZWZpbmUgSEFWRV9MSU1JVFNfSCAxCnwgI2RlZmluZSBIQVZFX1BXRF9IIDEK fCAjZGVmaW5lIEhBVkVfR1JQX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfUEFSQU1fSCAxCnwgI2Rl ZmluZSBIQVZFX1NZU19QT0xMX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfUkVTT1VSQ0VfSCAxCnwg I2RlZmluZSBIQVZFX1NZU19USU1FX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfVElNRVNfSCAxCnwg I2RlZmluZSBIQVZFX1NZU19XQUlUX0ggMQp8ICNkZWZpbmUgSEFWRV9VTklTVERfSCAxCnwgI2Rl ZmluZSBIQVZFX1NZU19TRUxFQ1RfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19UWVBFU19IIDEKfCAj ZGVmaW5lIEhBVkVfU1RESU5UX0ggMQp8ICNkZWZpbmUgSEFWRV9TQ0hFRF9IIDEKfCAjZGVmaW5l IEhBVkVfU1lTX01PVU5UX0ggMQp8IC8qIGVuZCBjb25mZGVmcy5oLiAgKi8KfCAjaW5jbHVkZSA8 c3lzL3N0YXRmcy5oPgpjb25maWd1cmU6MjkwMDY6IHJlc3VsdDogbm8KY29uZmlndXJlOjI5MDM5 OiBjaGVja2luZyBmb3Igc3lzL3N0YXRmcy5oCmNvbmZpZ3VyZToyOTA0ODogcmVzdWx0OiBubwpj b25maWd1cmU6Mjg5Mjg6IGNoZWNraW5nIHN5cy9zdGF0dmZzLmggdXNhYmlsaXR5CmNvbmZpZ3Vy ZToyODk0NTogY2MgLWMgLU8yIC1mbm8tc3RyaWN0LWFsaWFzaW5nIC1waXBlIC1XYWxsIC1JL3Vz ci9sb2NhbC9pbmNsdWRlIC1ER19ESVNBQkxFX1NJTkdMRV9JTkNMVURFUyBjb25mdGVzdC5jID4m NQpjb25maWd1cmU6Mjg5NTI6ICQ/ID0gMApjb25maWd1cmU6Mjg5NjY6IHJlc3VsdDogeWVzCmNv bmZpZ3VyZToyODk3MDogY2hlY2tpbmcgc3lzL3N0YXR2ZnMuaCBwcmVzZW5jZQpjb25maWd1cmU6 Mjg5ODU6IGNjIC1FIC1JL3Vzci9sb2NhbC9pbmNsdWRlIC1ER19ESVNBQkxFX1NJTkdMRV9JTkNM VURFUyBjb25mdGVzdC5jCmNvbmZpZ3VyZToyODk5MjogJD8gPSAwCmNvbmZpZ3VyZToyOTAwNjog cmVzdWx0OiB5ZXMKY29uZmlndXJlOjI5MDM5OiBjaGVja2luZyBmb3Igc3lzL3N0YXR2ZnMuaApj b25maWd1cmU6MjkwNDg6IHJlc3VsdDogeWVzCmNvbmZpZ3VyZToyOTA4NDogY2hlY2tpbmcgbW50 ZW50LmggdXNhYmlsaXR5CmNvbmZpZ3VyZToyOTEwMTogY2MgLWMgLU8yIC1mbm8tc3RyaWN0LWFs aWFzaW5nIC1waXBlIC1XYWxsIC1JL3Vzci9sb2NhbC9pbmNsdWRlIC1ER19ESVNBQkxFX1NJTkdM RV9JTkNMVURFUyBjb25mdGVzdC5jID4mNQpjb25mdGVzdC5jOjEwOToyMDogZXJyb3I6IG1udGVu dC5oOiBObyBzdWNoIGZpbGUgb3IgZGlyZWN0b3J5CmNvbmZpZ3VyZToyOTEwODogJD8gPSAxCmNv bmZpZ3VyZTogZmFpbGVkIHByb2dyYW0gd2FzOgp8IC8qIGNvbmZkZWZzLmguICAqLwp8ICNkZWZp bmUgUEFDS0FHRV9OQU1FICJnbGliIgp8ICNkZWZpbmUgUEFDS0FHRV9UQVJOQU1FICJnbGliIgp8 ICNkZWZpbmUgUEFDS0FHRV9WRVJTSU9OICIyLjIwLjUiCnwgI2RlZmluZSBQQUNLQUdFX1NUUklO RyAiZ2xpYiAyLjIwLjUiCnwgI2RlZmluZSBQQUNLQUdFX0JVR1JFUE9SVCAiaHR0cDovL2J1Z3pp bGxhLmdub21lLm9yZy9lbnRlcl9idWcuY2dpP3Byb2R1Y3Q9Z2xpYiIKfCAjZGVmaW5lIEdMSUJf TUFKT1JfVkVSU0lPTiAyCnwgI2RlZmluZSBHTElCX01JTk9SX1ZFUlNJT04gMjAKfCAjZGVmaW5l IEdMSUJfTUlDUk9fVkVSU0lPTiA1CnwgI2RlZmluZSBHTElCX0lOVEVSRkFDRV9BR0UgNQp8ICNk ZWZpbmUgR0xJQl9CSU5BUllfQUdFIDIwMDUKfCAjZGVmaW5lIE5FRURfSUNPTlZfQ0FDSEUgMQp8 ICNkZWZpbmUgU1REQ19IRUFERVJTIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1RZUEVTX0ggMQp8ICNk ZWZpbmUgSEFWRV9TWVNfU1RBVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1RETElCX0ggMQp8ICNkZWZp bmUgSEFWRV9TVFJJTkdfSCAxCnwgI2RlZmluZSBIQVZFX01FTU9SWV9IIDEKfCAjZGVmaW5lIEhB VkVfU1RSSU5HU19IIDEKfCAjZGVmaW5lIEhBVkVfSU5UVFlQRVNfSCAxCnwgI2RlZmluZSBIQVZF X1NURElOVF9IIDEKfCAjZGVmaW5lIEhBVkVfVU5JU1REX0ggMQp8ICNkZWZpbmUgSEFWRV9MT0NB TEVfSCAxCnwgI2RlZmluZSBIQVZFX0xDX01FU1NBR0VTIDEKfCAjZGVmaW5lIEhBVkVfQklORF9U RVhURE9NQUlOX0NPREVTRVQgMQp8ICNkZWZpbmUgSEFWRV9HRVRURVhUIDEKfCAjZGVmaW5lIEhB VkVfRENHRVRURVhUIDEKfCAjZGVmaW5lIEVOQUJMRV9OTFMgMQp8ICNkZWZpbmUgR0VUVEVYVF9Q QUNLQUdFICJnbGliMjAiCnwgI2RlZmluZSBHTElCX0xPQ0FMRV9ESVIgIi91c3IvbG9jYWwvc2hh cmUvbG9jYWxlIgp8ICNkZWZpbmUgVVNFX0xJQklDT05WX0dOVSAxCnwgI2RlZmluZSBIQVZFX0RM RkNOX0ggMQp8ICNkZWZpbmUgTFRfT0JKRElSICIubGlicy8iCnwgI2RlZmluZSBTVERDX0hFQURF UlMgMQp8ICNkZWZpbmUgSEFWRV9WUFJJTlRGIDEKfCAjZGVmaW5lIEhBVkVfQUxMT0NBIDEKfCAj ZGVmaW5lIEhBVkVfTU1BUCAxCnwgI2RlZmluZSBIQVZFX1BPU0lYX01FTUFMSUdOIDEKfCAjZGVm aW5lIEhBVkVfVkFMTE9DIDEKfCAjZGVmaW5lIEhBVkVfRlNZTkMgMQp8ICNkZWZpbmUgSEFWRV9B VEVYSVQgMQp8ICNkZWZpbmUgSEFWRV9USU1FR00gMQp8ICNkZWZpbmUgSEFWRV9HTVRJTUVfUiAx CnwgI2RlZmluZSBTSVpFT0ZfQ0hBUiAxCnwgI2RlZmluZSBTSVpFT0ZfU0hPUlQgMgp8ICNkZWZp bmUgU0laRU9GX0xPTkcgOAp8ICNkZWZpbmUgU0laRU9GX0lOVCA0CnwgI2RlZmluZSBTSVpFT0Zf Vk9JRF9QIDgKfCAjZGVmaW5lIFNJWkVPRl9MT05HX0xPTkcgOAp8ICNkZWZpbmUgU0laRU9GX19f SU5UNjQgMAp8ICNkZWZpbmUgSEFWRV9MT05HX0xPTkdfRk9STUFUIDEKfCAjZGVmaW5lIFNBTkVf TUFMTE9DX1BST1RPUyAxCnwgI2RlZmluZSBHX0hBVkVfX19JTkxJTkUgMQp8ICNkZWZpbmUgR19I QVZFX19fSU5MSU5FX18gMQp8ICNkZWZpbmUgR19IQVZFX0lOTElORSAxCnwgI2RlZmluZSBIQVZF X0RPV0hJTEVfTUFDUk9TIDEKfCAjZGVmaW5lIEhBVkVfRElSRU5UX0ggMQp8ICNkZWZpbmUgSEFW RV9GTE9BVF9IIDEKfCAjZGVmaW5lIEhBVkVfTElNSVRTX0ggMQp8ICNkZWZpbmUgSEFWRV9QV0Rf SCAxCnwgI2RlZmluZSBIQVZFX0dSUF9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1BBUkFNX0ggMQp8 ICNkZWZpbmUgSEFWRV9TWVNfUE9MTF9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1JFU09VUkNFX0gg MQp8ICNkZWZpbmUgSEFWRV9TWVNfVElNRV9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1RJTUVTX0gg MQp8ICNkZWZpbmUgSEFWRV9TWVNfV0FJVF9IIDEKfCAjZGVmaW5lIEhBVkVfVU5JU1REX0ggMQp8 ICNkZWZpbmUgSEFWRV9TWVNfU0VMRUNUX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfVFlQRVNfSCAx CnwgI2RlZmluZSBIQVZFX1NURElOVF9IIDEKfCAjZGVmaW5lIEhBVkVfU0NIRURfSCAxCnwgI2Rl ZmluZSBIQVZFX1NZU19NT1VOVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NUQVRWRlNfSCAxCnwg LyogZW5kIGNvbmZkZWZzLmguICAqLwp8ICNpbmNsdWRlIDxzdGRpby5oPgp8ICNpZmRlZiBIQVZF X1NZU19UWVBFU19ICnwgIyBpbmNsdWRlIDxzeXMvdHlwZXMuaD4KfCAjZW5kaWYKfCAjaWZkZWYg SEFWRV9TWVNfU1RBVF9ICnwgIyBpbmNsdWRlIDxzeXMvc3RhdC5oPgp8ICNlbmRpZgp8ICNpZmRl ZiBTVERDX0hFQURFUlMKfCAjIGluY2x1ZGUgPHN0ZGxpYi5oPgp8ICMgaW5jbHVkZSA8c3RkZGVm Lmg+CnwgI2Vsc2UKfCAjIGlmZGVmIEhBVkVfU1RETElCX0gKfCAjICBpbmNsdWRlIDxzdGRsaWIu aD4KfCAjIGVuZGlmCnwgI2VuZGlmCnwgI2lmZGVmIEhBVkVfU1RSSU5HX0gKfCAjIGlmICFkZWZp bmVkIFNURENfSEVBREVSUyAmJiBkZWZpbmVkIEhBVkVfTUVNT1JZX0gKfCAjICBpbmNsdWRlIDxt ZW1vcnkuaD4KfCAjIGVuZGlmCnwgIyBpbmNsdWRlIDxzdHJpbmcuaD4KfCAjZW5kaWYKfCAjaWZk ZWYgSEFWRV9TVFJJTkdTX0gKfCAjIGluY2x1ZGUgPHN0cmluZ3MuaD4KfCAjZW5kaWYKfCAjaWZk ZWYgSEFWRV9JTlRUWVBFU19ICnwgIyBpbmNsdWRlIDxpbnR0eXBlcy5oPgp8ICNlbmRpZgp8ICNp ZmRlZiBIQVZFX1NURElOVF9ICnwgIyBpbmNsdWRlIDxzdGRpbnQuaD4KfCAjZW5kaWYKfCAjaWZk ZWYgSEFWRV9VTklTVERfSAp8ICMgaW5jbHVkZSA8dW5pc3RkLmg+CnwgI2VuZGlmCnwgI2luY2x1 ZGUgPG1udGVudC5oPgpjb25maWd1cmU6MjkxMjI6IHJlc3VsdDogbm8KY29uZmlndXJlOjI5MTI2 OiBjaGVja2luZyBtbnRlbnQuaCBwcmVzZW5jZQpjb25maWd1cmU6MjkxNDE6IGNjIC1FIC1JL3Vz ci9sb2NhbC9pbmNsdWRlIC1ER19ESVNBQkxFX1NJTkdMRV9JTkNMVURFUyBjb25mdGVzdC5jCmNv bmZ0ZXN0LmM6NzY6MjA6IGVycm9yOiBtbnRlbnQuaDogTm8gc3VjaCBmaWxlIG9yIGRpcmVjdG9y eQpjb25maWd1cmU6MjkxNDg6ICQ/ID0gMQpjb25maWd1cmU6IGZhaWxlZCBwcm9ncmFtIHdhczoK fCAvKiBjb25mZGVmcy5oLiAgKi8KfCAjZGVmaW5lIFBBQ0tBR0VfTkFNRSAiZ2xpYiIKfCAjZGVm aW5lIFBBQ0tBR0VfVEFSTkFNRSAiZ2xpYiIKfCAjZGVmaW5lIFBBQ0tBR0VfVkVSU0lPTiAiMi4y MC41Igp8ICNkZWZpbmUgUEFDS0FHRV9TVFJJTkcgImdsaWIgMi4yMC41Igp8ICNkZWZpbmUgUEFD S0FHRV9CVUdSRVBPUlQgImh0dHA6Ly9idWd6aWxsYS5nbm9tZS5vcmcvZW50ZXJfYnVnLmNnaT9w cm9kdWN0PWdsaWIiCnwgI2RlZmluZSBHTElCX01BSk9SX1ZFUlNJT04gMgp8ICNkZWZpbmUgR0xJ Ql9NSU5PUl9WRVJTSU9OIDIwCnwgI2RlZmluZSBHTElCX01JQ1JPX1ZFUlNJT04gNQp8ICNkZWZp bmUgR0xJQl9JTlRFUkZBQ0VfQUdFIDUKfCAjZGVmaW5lIEdMSUJfQklOQVJZX0FHRSAyMDA1Cnwg I2RlZmluZSBORUVEX0lDT05WX0NBQ0hFIDEKfCAjZGVmaW5lIFNURENfSEVBREVSUyAxCnwgI2Rl ZmluZSBIQVZFX1NZU19UWVBFU19IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NUQVRfSCAxCnwgI2Rl ZmluZSBIQVZFX1NURExJQl9IIDEKfCAjZGVmaW5lIEhBVkVfU1RSSU5HX0ggMQp8ICNkZWZpbmUg SEFWRV9NRU1PUllfSCAxCnwgI2RlZmluZSBIQVZFX1NUUklOR1NfSCAxCnwgI2RlZmluZSBIQVZF X0lOVFRZUEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERJTlRfSCAxCnwgI2RlZmluZSBIQVZFX1VO SVNURF9IIDEKfCAjZGVmaW5lIEhBVkVfTE9DQUxFX0ggMQp8ICNkZWZpbmUgSEFWRV9MQ19NRVNT QUdFUyAxCnwgI2RlZmluZSBIQVZFX0JJTkRfVEVYVERPTUFJTl9DT0RFU0VUIDEKfCAjZGVmaW5l IEhBVkVfR0VUVEVYVCAxCnwgI2RlZmluZSBIQVZFX0RDR0VUVEVYVCAxCnwgI2RlZmluZSBFTkFC TEVfTkxTIDEKfCAjZGVmaW5lIEdFVFRFWFRfUEFDS0FHRSAiZ2xpYjIwIgp8ICNkZWZpbmUgR0xJ Ql9MT0NBTEVfRElSICIvdXNyL2xvY2FsL3NoYXJlL2xvY2FsZSIKfCAjZGVmaW5lIFVTRV9MSUJJ Q09OVl9HTlUgMQp8ICNkZWZpbmUgSEFWRV9ETEZDTl9IIDEKfCAjZGVmaW5lIExUX09CSkRJUiAi LmxpYnMvIgp8ICNkZWZpbmUgU1REQ19IRUFERVJTIDEKfCAjZGVmaW5lIEhBVkVfVlBSSU5URiAx CnwgI2RlZmluZSBIQVZFX0FMTE9DQSAxCnwgI2RlZmluZSBIQVZFX01NQVAgMQp8ICNkZWZpbmUg SEFWRV9QT1NJWF9NRU1BTElHTiAxCnwgI2RlZmluZSBIQVZFX1ZBTExPQyAxCnwgI2RlZmluZSBI QVZFX0ZTWU5DIDEKfCAjZGVmaW5lIEhBVkVfQVRFWElUIDEKfCAjZGVmaW5lIEhBVkVfVElNRUdN IDEKfCAjZGVmaW5lIEhBVkVfR01USU1FX1IgMQp8ICNkZWZpbmUgU0laRU9GX0NIQVIgMQp8ICNk ZWZpbmUgU0laRU9GX1NIT1JUIDIKfCAjZGVmaW5lIFNJWkVPRl9MT05HIDgKfCAjZGVmaW5lIFNJ WkVPRl9JTlQgNAp8ICNkZWZpbmUgU0laRU9GX1ZPSURfUCA4CnwgI2RlZmluZSBTSVpFT0ZfTE9O R19MT05HIDgKfCAjZGVmaW5lIFNJWkVPRl9fX0lOVDY0IDAKfCAjZGVmaW5lIEhBVkVfTE9OR19M T05HX0ZPUk1BVCAxCnwgI2RlZmluZSBTQU5FX01BTExPQ19QUk9UT1MgMQp8ICNkZWZpbmUgR19I QVZFX19fSU5MSU5FIDEKfCAjZGVmaW5lIEdfSEFWRV9fX0lOTElORV9fIDEKfCAjZGVmaW5lIEdf SEFWRV9JTkxJTkUgMQp8ICNkZWZpbmUgSEFWRV9ET1dISUxFX01BQ1JPUyAxCnwgI2RlZmluZSBI QVZFX0RJUkVOVF9IIDEKfCAjZGVmaW5lIEhBVkVfRkxPQVRfSCAxCnwgI2RlZmluZSBIQVZFX0xJ TUlUU19IIDEKfCAjZGVmaW5lIEhBVkVfUFdEX0ggMQp8ICNkZWZpbmUgSEFWRV9HUlBfSCAxCnwg I2RlZmluZSBIQVZFX1NZU19QQVJBTV9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1BPTExfSCAxCnwg I2RlZmluZSBIQVZFX1NZU19SRVNPVVJDRV9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1RJTUVfSCAx CnwgI2RlZmluZSBIQVZFX1NZU19USU1FU19IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1dBSVRfSCAx CnwgI2RlZmluZSBIQVZFX1VOSVNURF9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NFTEVDVF9IIDEK fCAjZGVmaW5lIEhBVkVfU1lTX1RZUEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERJTlRfSCAxCnwg I2RlZmluZSBIQVZFX1NDSEVEX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfTU9VTlRfSCAxCnwgI2Rl ZmluZSBIQVZFX1NZU19TVEFUVkZTX0ggMQp8IC8qIGVuZCBjb25mZGVmcy5oLiAgKi8KfCAjaW5j bHVkZSA8bW50ZW50Lmg+CmNvbmZpZ3VyZToyOTE2MjogcmVzdWx0OiBubwpjb25maWd1cmU6Mjkx OTU6IGNoZWNraW5nIGZvciBtbnRlbnQuaApjb25maWd1cmU6MjkyMDQ6IHJlc3VsdDogbm8KY29u ZmlndXJlOjI5MDg0OiBjaGVja2luZyBzeXMvbW50dGFiLmggdXNhYmlsaXR5CmNvbmZpZ3VyZToy OTEwMTogY2MgLWMgLU8yIC1mbm8tc3RyaWN0LWFsaWFzaW5nIC1waXBlIC1XYWxsIC1JL3Vzci9s b2NhbC9pbmNsdWRlIC1ER19ESVNBQkxFX1NJTkdMRV9JTkNMVURFUyBjb25mdGVzdC5jID4mNQpj b25mdGVzdC5jOjEwOToyNDogZXJyb3I6IHN5cy9tbnR0YWIuaDogTm8gc3VjaCBmaWxlIG9yIGRp cmVjdG9yeQpjb25maWd1cmU6MjkxMDg6ICQ/ID0gMQpjb25maWd1cmU6IGZhaWxlZCBwcm9ncmFt IHdhczoKfCAvKiBjb25mZGVmcy5oLiAgKi8KfCAjZGVmaW5lIFBBQ0tBR0VfTkFNRSAiZ2xpYiIK fCAjZGVmaW5lIFBBQ0tBR0VfVEFSTkFNRSAiZ2xpYiIKfCAjZGVmaW5lIFBBQ0tBR0VfVkVSU0lP TiAiMi4yMC41Igp8ICNkZWZpbmUgUEFDS0FHRV9TVFJJTkcgImdsaWIgMi4yMC41Igp8ICNkZWZp bmUgUEFDS0FHRV9CVUdSRVBPUlQgImh0dHA6Ly9idWd6aWxsYS5nbm9tZS5vcmcvZW50ZXJfYnVn LmNnaT9wcm9kdWN0PWdsaWIiCnwgI2RlZmluZSBHTElCX01BSk9SX1ZFUlNJT04gMgp8ICNkZWZp bmUgR0xJQl9NSU5PUl9WRVJTSU9OIDIwCnwgI2RlZmluZSBHTElCX01JQ1JPX1ZFUlNJT04gNQp8 ICNkZWZpbmUgR0xJQl9JTlRFUkZBQ0VfQUdFIDUKfCAjZGVmaW5lIEdMSUJfQklOQVJZX0FHRSAy MDA1CnwgI2RlZmluZSBORUVEX0lDT05WX0NBQ0hFIDEKfCAjZGVmaW5lIFNURENfSEVBREVSUyAx CnwgI2RlZmluZSBIQVZFX1NZU19UWVBFU19IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NUQVRfSCAx CnwgI2RlZmluZSBIQVZFX1NURExJQl9IIDEKfCAjZGVmaW5lIEhBVkVfU1RSSU5HX0ggMQp8ICNk ZWZpbmUgSEFWRV9NRU1PUllfSCAxCnwgI2RlZmluZSBIQVZFX1NUUklOR1NfSCAxCnwgI2RlZmlu ZSBIQVZFX0lOVFRZUEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERJTlRfSCAxCnwgI2RlZmluZSBI QVZFX1VOSVNURF9IIDEKfCAjZGVmaW5lIEhBVkVfTE9DQUxFX0ggMQp8ICNkZWZpbmUgSEFWRV9M Q19NRVNTQUdFUyAxCnwgI2RlZmluZSBIQVZFX0JJTkRfVEVYVERPTUFJTl9DT0RFU0VUIDEKfCAj ZGVmaW5lIEhBVkVfR0VUVEVYVCAxCnwgI2RlZmluZSBIQVZFX0RDR0VUVEVYVCAxCnwgI2RlZmlu ZSBFTkFCTEVfTkxTIDEKfCAjZGVmaW5lIEdFVFRFWFRfUEFDS0FHRSAiZ2xpYjIwIgp8ICNkZWZp bmUgR0xJQl9MT0NBTEVfRElSICIvdXNyL2xvY2FsL3NoYXJlL2xvY2FsZSIKfCAjZGVmaW5lIFVT RV9MSUJJQ09OVl9HTlUgMQp8ICNkZWZpbmUgSEFWRV9ETEZDTl9IIDEKfCAjZGVmaW5lIExUX09C SkRJUiAiLmxpYnMvIgp8ICNkZWZpbmUgU1REQ19IRUFERVJTIDEKfCAjZGVmaW5lIEhBVkVfVlBS SU5URiAxCnwgI2RlZmluZSBIQVZFX0FMTE9DQSAxCnwgI2RlZmluZSBIQVZFX01NQVAgMQp8ICNk ZWZpbmUgSEFWRV9QT1NJWF9NRU1BTElHTiAxCnwgI2RlZmluZSBIQVZFX1ZBTExPQyAxCnwgI2Rl ZmluZSBIQVZFX0ZTWU5DIDEKfCAjZGVmaW5lIEhBVkVfQVRFWElUIDEKfCAjZGVmaW5lIEhBVkVf VElNRUdNIDEKfCAjZGVmaW5lIEhBVkVfR01USU1FX1IgMQp8ICNkZWZpbmUgU0laRU9GX0NIQVIg MQp8ICNkZWZpbmUgU0laRU9GX1NIT1JUIDIKfCAjZGVmaW5lIFNJWkVPRl9MT05HIDgKfCAjZGVm aW5lIFNJWkVPRl9JTlQgNAp8ICNkZWZpbmUgU0laRU9GX1ZPSURfUCA4CnwgI2RlZmluZSBTSVpF T0ZfTE9OR19MT05HIDgKfCAjZGVmaW5lIFNJWkVPRl9fX0lOVDY0IDAKfCAjZGVmaW5lIEhBVkVf TE9OR19MT05HX0ZPUk1BVCAxCnwgI2RlZmluZSBTQU5FX01BTExPQ19QUk9UT1MgMQp8ICNkZWZp bmUgR19IQVZFX19fSU5MSU5FIDEKfCAjZGVmaW5lIEdfSEFWRV9fX0lOTElORV9fIDEKfCAjZGVm aW5lIEdfSEFWRV9JTkxJTkUgMQp8ICNkZWZpbmUgSEFWRV9ET1dISUxFX01BQ1JPUyAxCnwgI2Rl ZmluZSBIQVZFX0RJUkVOVF9IIDEKfCAjZGVmaW5lIEhBVkVfRkxPQVRfSCAxCnwgI2RlZmluZSBI QVZFX0xJTUlUU19IIDEKfCAjZGVmaW5lIEhBVkVfUFdEX0ggMQp8ICNkZWZpbmUgSEFWRV9HUlBf SCAxCnwgI2RlZmluZSBIQVZFX1NZU19QQVJBTV9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1BPTExf SCAxCnwgI2RlZmluZSBIQVZFX1NZU19SRVNPVVJDRV9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1RJ TUVfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19USU1FU19IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1dB SVRfSCAxCnwgI2RlZmluZSBIQVZFX1VOSVNURF9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NFTEVD VF9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1RZUEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERJTlRf SCAxCnwgI2RlZmluZSBIQVZFX1NDSEVEX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfTU9VTlRfSCAx CnwgI2RlZmluZSBIQVZFX1NZU19TVEFUVkZTX0ggMQp8IC8qIGVuZCBjb25mZGVmcy5oLiAgKi8K fCAjaW5jbHVkZSA8c3RkaW8uaD4KfCAjaWZkZWYgSEFWRV9TWVNfVFlQRVNfSAp8ICMgaW5jbHVk ZSA8c3lzL3R5cGVzLmg+CnwgI2VuZGlmCnwgI2lmZGVmIEhBVkVfU1lTX1NUQVRfSAp8ICMgaW5j bHVkZSA8c3lzL3N0YXQuaD4KfCAjZW5kaWYKfCAjaWZkZWYgU1REQ19IRUFERVJTCnwgIyBpbmNs dWRlIDxzdGRsaWIuaD4KfCAjIGluY2x1ZGUgPHN0ZGRlZi5oPgp8ICNlbHNlCnwgIyBpZmRlZiBI QVZFX1NURExJQl9ICnwgIyAgaW5jbHVkZSA8c3RkbGliLmg+CnwgIyBlbmRpZgp8ICNlbmRpZgp8 ICNpZmRlZiBIQVZFX1NUUklOR19ICnwgIyBpZiAhZGVmaW5lZCBTVERDX0hFQURFUlMgJiYgZGVm aW5lZCBIQVZFX01FTU9SWV9ICnwgIyAgaW5jbHVkZSA8bWVtb3J5Lmg+CnwgIyBlbmRpZgp8ICMg aW5jbHVkZSA8c3RyaW5nLmg+CnwgI2VuZGlmCnwgI2lmZGVmIEhBVkVfU1RSSU5HU19ICnwgIyBp bmNsdWRlIDxzdHJpbmdzLmg+CnwgI2VuZGlmCnwgI2lmZGVmIEhBVkVfSU5UVFlQRVNfSAp8ICMg aW5jbHVkZSA8aW50dHlwZXMuaD4KfCAjZW5kaWYKfCAjaWZkZWYgSEFWRV9TVERJTlRfSAp8ICMg aW5jbHVkZSA8c3RkaW50Lmg+CnwgI2VuZGlmCnwgI2lmZGVmIEhBVkVfVU5JU1REX0gKfCAjIGlu Y2x1ZGUgPHVuaXN0ZC5oPgp8ICNlbmRpZgp8ICNpbmNsdWRlIDxzeXMvbW50dGFiLmg+CmNvbmZp Z3VyZToyOTEyMjogcmVzdWx0OiBubwpjb25maWd1cmU6MjkxMjY6IGNoZWNraW5nIHN5cy9tbnR0 YWIuaCBwcmVzZW5jZQpjb25maWd1cmU6MjkxNDE6IGNjIC1FIC1JL3Vzci9sb2NhbC9pbmNsdWRl IC1ER19ESVNBQkxFX1NJTkdMRV9JTkNMVURFUyBjb25mdGVzdC5jCmNvbmZ0ZXN0LmM6NzY6MjQ6 IGVycm9yOiBzeXMvbW50dGFiLmg6IE5vIHN1Y2ggZmlsZSBvciBkaXJlY3RvcnkKY29uZmlndXJl OjI5MTQ4OiAkPyA9IDEKY29uZmlndXJlOiBmYWlsZWQgcHJvZ3JhbSB3YXM6CnwgLyogY29uZmRl ZnMuaC4gICovCnwgI2RlZmluZSBQQUNLQUdFX05BTUUgImdsaWIiCnwgI2RlZmluZSBQQUNLQUdF X1RBUk5BTUUgImdsaWIiCnwgI2RlZmluZSBQQUNLQUdFX1ZFUlNJT04gIjIuMjAuNSIKfCAjZGVm aW5lIFBBQ0tBR0VfU1RSSU5HICJnbGliIDIuMjAuNSIKfCAjZGVmaW5lIFBBQ0tBR0VfQlVHUkVQ T1JUICJodHRwOi8vYnVnemlsbGEuZ25vbWUub3JnL2VudGVyX2J1Zy5jZ2k/cHJvZHVjdD1nbGli Igp8ICNkZWZpbmUgR0xJQl9NQUpPUl9WRVJTSU9OIDIKfCAjZGVmaW5lIEdMSUJfTUlOT1JfVkVS U0lPTiAyMAp8ICNkZWZpbmUgR0xJQl9NSUNST19WRVJTSU9OIDUKfCAjZGVmaW5lIEdMSUJfSU5U RVJGQUNFX0FHRSA1CnwgI2RlZmluZSBHTElCX0JJTkFSWV9BR0UgMjAwNQp8ICNkZWZpbmUgTkVF RF9JQ09OVl9DQUNIRSAxCnwgI2RlZmluZSBTVERDX0hFQURFUlMgMQp8ICNkZWZpbmUgSEFWRV9T WVNfVFlQRVNfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19TVEFUX0ggMQp8ICNkZWZpbmUgSEFWRV9T VERMSUJfSCAxCnwgI2RlZmluZSBIQVZFX1NUUklOR19IIDEKfCAjZGVmaW5lIEhBVkVfTUVNT1JZ X0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJJTkdTX0ggMQp8ICNkZWZpbmUgSEFWRV9JTlRUWVBFU19I IDEKfCAjZGVmaW5lIEhBVkVfU1RESU5UX0ggMQp8ICNkZWZpbmUgSEFWRV9VTklTVERfSCAxCnwg I2RlZmluZSBIQVZFX0xPQ0FMRV9IIDEKfCAjZGVmaW5lIEhBVkVfTENfTUVTU0FHRVMgMQp8ICNk ZWZpbmUgSEFWRV9CSU5EX1RFWFRET01BSU5fQ09ERVNFVCAxCnwgI2RlZmluZSBIQVZFX0dFVFRF WFQgMQp8ICNkZWZpbmUgSEFWRV9EQ0dFVFRFWFQgMQp8ICNkZWZpbmUgRU5BQkxFX05MUyAxCnwg I2RlZmluZSBHRVRURVhUX1BBQ0tBR0UgImdsaWIyMCIKfCAjZGVmaW5lIEdMSUJfTE9DQUxFX0RJ UiAiL3Vzci9sb2NhbC9zaGFyZS9sb2NhbGUiCnwgI2RlZmluZSBVU0VfTElCSUNPTlZfR05VIDEK fCAjZGVmaW5lIEhBVkVfRExGQ05fSCAxCnwgI2RlZmluZSBMVF9PQkpESVIgIi5saWJzLyIKfCAj ZGVmaW5lIFNURENfSEVBREVSUyAxCnwgI2RlZmluZSBIQVZFX1ZQUklOVEYgMQp8ICNkZWZpbmUg SEFWRV9BTExPQ0EgMQp8ICNkZWZpbmUgSEFWRV9NTUFQIDEKfCAjZGVmaW5lIEhBVkVfUE9TSVhf TUVNQUxJR04gMQp8ICNkZWZpbmUgSEFWRV9WQUxMT0MgMQp8ICNkZWZpbmUgSEFWRV9GU1lOQyAx CnwgI2RlZmluZSBIQVZFX0FURVhJVCAxCnwgI2RlZmluZSBIQVZFX1RJTUVHTSAxCnwgI2RlZmlu ZSBIQVZFX0dNVElNRV9SIDEKfCAjZGVmaW5lIFNJWkVPRl9DSEFSIDEKfCAjZGVmaW5lIFNJWkVP Rl9TSE9SVCAyCnwgI2RlZmluZSBTSVpFT0ZfTE9ORyA4CnwgI2RlZmluZSBTSVpFT0ZfSU5UIDQK fCAjZGVmaW5lIFNJWkVPRl9WT0lEX1AgOAp8ICNkZWZpbmUgU0laRU9GX0xPTkdfTE9ORyA4Cnwg I2RlZmluZSBTSVpFT0ZfX19JTlQ2NCAwCnwgI2RlZmluZSBIQVZFX0xPTkdfTE9OR19GT1JNQVQg MQp8ICNkZWZpbmUgU0FORV9NQUxMT0NfUFJPVE9TIDEKfCAjZGVmaW5lIEdfSEFWRV9fX0lOTElO RSAxCnwgI2RlZmluZSBHX0hBVkVfX19JTkxJTkVfXyAxCnwgI2RlZmluZSBHX0hBVkVfSU5MSU5F IDEKfCAjZGVmaW5lIEhBVkVfRE9XSElMRV9NQUNST1MgMQp8ICNkZWZpbmUgSEFWRV9ESVJFTlRf SCAxCnwgI2RlZmluZSBIQVZFX0ZMT0FUX0ggMQp8ICNkZWZpbmUgSEFWRV9MSU1JVFNfSCAxCnwg I2RlZmluZSBIQVZFX1BXRF9IIDEKfCAjZGVmaW5lIEhBVkVfR1JQX0ggMQp8ICNkZWZpbmUgSEFW RV9TWVNfUEFSQU1fSCAxCnwgI2RlZmluZSBIQVZFX1NZU19QT0xMX0ggMQp8ICNkZWZpbmUgSEFW RV9TWVNfUkVTT1VSQ0VfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19USU1FX0ggMQp8ICNkZWZpbmUg SEFWRV9TWVNfVElNRVNfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19XQUlUX0ggMQp8ICNkZWZpbmUg SEFWRV9VTklTVERfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19TRUxFQ1RfSCAxCnwgI2RlZmluZSBI QVZFX1NZU19UWVBFU19IIDEKfCAjZGVmaW5lIEhBVkVfU1RESU5UX0ggMQp8ICNkZWZpbmUgSEFW RV9TQ0hFRF9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX01PVU5UX0ggMQp8ICNkZWZpbmUgSEFWRV9T WVNfU1RBVFZGU19IIDEKfCAvKiBlbmQgY29uZmRlZnMuaC4gICovCnwgI2luY2x1ZGUgPHN5cy9t bnR0YWIuaD4KY29uZmlndXJlOjI5MTYyOiByZXN1bHQ6IG5vCmNvbmZpZ3VyZToyOTE5NTogY2hl Y2tpbmcgZm9yIHN5cy9tbnR0YWIuaApjb25maWd1cmU6MjkyMDQ6IHJlc3VsdDogbm8KY29uZmln dXJlOjI5MDg0OiBjaGVja2luZyBzeXMvdmZzdGFiLmggdXNhYmlsaXR5CmNvbmZpZ3VyZToyOTEw MTogY2MgLWMgLU8yIC1mbm8tc3RyaWN0LWFsaWFzaW5nIC1waXBlIC1XYWxsIC1JL3Vzci9sb2Nh bC9pbmNsdWRlIC1ER19ESVNBQkxFX1NJTkdMRV9JTkNMVURFUyBjb25mdGVzdC5jID4mNQpjb25m dGVzdC5jOjEwOToyNDogZXJyb3I6IHN5cy92ZnN0YWIuaDogTm8gc3VjaCBmaWxlIG9yIGRpcmVj dG9yeQpjb25maWd1cmU6MjkxMDg6ICQ/ID0gMQpjb25maWd1cmU6IGZhaWxlZCBwcm9ncmFtIHdh czoKfCAvKiBjb25mZGVmcy5oLiAgKi8KfCAjZGVmaW5lIFBBQ0tBR0VfTkFNRSAiZ2xpYiIKfCAj ZGVmaW5lIFBBQ0tBR0VfVEFSTkFNRSAiZ2xpYiIKfCAjZGVmaW5lIFBBQ0tBR0VfVkVSU0lPTiAi Mi4yMC41Igp8ICNkZWZpbmUgUEFDS0FHRV9TVFJJTkcgImdsaWIgMi4yMC41Igp8ICNkZWZpbmUg UEFDS0FHRV9CVUdSRVBPUlQgImh0dHA6Ly9idWd6aWxsYS5nbm9tZS5vcmcvZW50ZXJfYnVnLmNn aT9wcm9kdWN0PWdsaWIiCnwgI2RlZmluZSBHTElCX01BSk9SX1ZFUlNJT04gMgp8ICNkZWZpbmUg R0xJQl9NSU5PUl9WRVJTSU9OIDIwCnwgI2RlZmluZSBHTElCX01JQ1JPX1ZFUlNJT04gNQp8ICNk ZWZpbmUgR0xJQl9JTlRFUkZBQ0VfQUdFIDUKfCAjZGVmaW5lIEdMSUJfQklOQVJZX0FHRSAyMDA1 CnwgI2RlZmluZSBORUVEX0lDT05WX0NBQ0hFIDEKfCAjZGVmaW5lIFNURENfSEVBREVSUyAxCnwg I2RlZmluZSBIQVZFX1NZU19UWVBFU19IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NUQVRfSCAxCnwg I2RlZmluZSBIQVZFX1NURExJQl9IIDEKfCAjZGVmaW5lIEhBVkVfU1RSSU5HX0ggMQp8ICNkZWZp bmUgSEFWRV9NRU1PUllfSCAxCnwgI2RlZmluZSBIQVZFX1NUUklOR1NfSCAxCnwgI2RlZmluZSBI QVZFX0lOVFRZUEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERJTlRfSCAxCnwgI2RlZmluZSBIQVZF X1VOSVNURF9IIDEKfCAjZGVmaW5lIEhBVkVfTE9DQUxFX0ggMQp8ICNkZWZpbmUgSEFWRV9MQ19N RVNTQUdFUyAxCnwgI2RlZmluZSBIQVZFX0JJTkRfVEVYVERPTUFJTl9DT0RFU0VUIDEKfCAjZGVm aW5lIEhBVkVfR0VUVEVYVCAxCnwgI2RlZmluZSBIQVZFX0RDR0VUVEVYVCAxCnwgI2RlZmluZSBF TkFCTEVfTkxTIDEKfCAjZGVmaW5lIEdFVFRFWFRfUEFDS0FHRSAiZ2xpYjIwIgp8ICNkZWZpbmUg R0xJQl9MT0NBTEVfRElSICIvdXNyL2xvY2FsL3NoYXJlL2xvY2FsZSIKfCAjZGVmaW5lIFVTRV9M SUJJQ09OVl9HTlUgMQp8ICNkZWZpbmUgSEFWRV9ETEZDTl9IIDEKfCAjZGVmaW5lIExUX09CSkRJ UiAiLmxpYnMvIgp8ICNkZWZpbmUgU1REQ19IRUFERVJTIDEKfCAjZGVmaW5lIEhBVkVfVlBSSU5U RiAxCnwgI2RlZmluZSBIQVZFX0FMTE9DQSAxCnwgI2RlZmluZSBIQVZFX01NQVAgMQp8ICNkZWZp bmUgSEFWRV9QT1NJWF9NRU1BTElHTiAxCnwgI2RlZmluZSBIQVZFX1ZBTExPQyAxCnwgI2RlZmlu ZSBIQVZFX0ZTWU5DIDEKfCAjZGVmaW5lIEhBVkVfQVRFWElUIDEKfCAjZGVmaW5lIEhBVkVfVElN RUdNIDEKfCAjZGVmaW5lIEhBVkVfR01USU1FX1IgMQp8ICNkZWZpbmUgU0laRU9GX0NIQVIgMQp8 ICNkZWZpbmUgU0laRU9GX1NIT1JUIDIKfCAjZGVmaW5lIFNJWkVPRl9MT05HIDgKfCAjZGVmaW5l IFNJWkVPRl9JTlQgNAp8ICNkZWZpbmUgU0laRU9GX1ZPSURfUCA4CnwgI2RlZmluZSBTSVpFT0Zf TE9OR19MT05HIDgKfCAjZGVmaW5lIFNJWkVPRl9fX0lOVDY0IDAKfCAjZGVmaW5lIEhBVkVfTE9O R19MT05HX0ZPUk1BVCAxCnwgI2RlZmluZSBTQU5FX01BTExPQ19QUk9UT1MgMQp8ICNkZWZpbmUg R19IQVZFX19fSU5MSU5FIDEKfCAjZGVmaW5lIEdfSEFWRV9fX0lOTElORV9fIDEKfCAjZGVmaW5l IEdfSEFWRV9JTkxJTkUgMQp8ICNkZWZpbmUgSEFWRV9ET1dISUxFX01BQ1JPUyAxCnwgI2RlZmlu ZSBIQVZFX0RJUkVOVF9IIDEKfCAjZGVmaW5lIEhBVkVfRkxPQVRfSCAxCnwgI2RlZmluZSBIQVZF X0xJTUlUU19IIDEKfCAjZGVmaW5lIEhBVkVfUFdEX0ggMQp8ICNkZWZpbmUgSEFWRV9HUlBfSCAx CnwgI2RlZmluZSBIQVZFX1NZU19QQVJBTV9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1BPTExfSCAx CnwgI2RlZmluZSBIQVZFX1NZU19SRVNPVVJDRV9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1RJTUVf SCAxCnwgI2RlZmluZSBIQVZFX1NZU19USU1FU19IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1dBSVRf SCAxCnwgI2RlZmluZSBIQVZFX1VOSVNURF9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NFTEVDVF9I IDEKfCAjZGVmaW5lIEhBVkVfU1lTX1RZUEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERJTlRfSCAx CnwgI2RlZmluZSBIQVZFX1NDSEVEX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfTU9VTlRfSCAxCnwg I2RlZmluZSBIQVZFX1NZU19TVEFUVkZTX0ggMQp8IC8qIGVuZCBjb25mZGVmcy5oLiAgKi8KfCAj aW5jbHVkZSA8c3RkaW8uaD4KfCAjaWZkZWYgSEFWRV9TWVNfVFlQRVNfSAp8ICMgaW5jbHVkZSA8 c3lzL3R5cGVzLmg+CnwgI2VuZGlmCnwgI2lmZGVmIEhBVkVfU1lTX1NUQVRfSAp8ICMgaW5jbHVk ZSA8c3lzL3N0YXQuaD4KfCAjZW5kaWYKfCAjaWZkZWYgU1REQ19IRUFERVJTCnwgIyBpbmNsdWRl IDxzdGRsaWIuaD4KfCAjIGluY2x1ZGUgPHN0ZGRlZi5oPgp8ICNlbHNlCnwgIyBpZmRlZiBIQVZF X1NURExJQl9ICnwgIyAgaW5jbHVkZSA8c3RkbGliLmg+CnwgIyBlbmRpZgp8ICNlbmRpZgp8ICNp ZmRlZiBIQVZFX1NUUklOR19ICnwgIyBpZiAhZGVmaW5lZCBTVERDX0hFQURFUlMgJiYgZGVmaW5l ZCBIQVZFX01FTU9SWV9ICnwgIyAgaW5jbHVkZSA8bWVtb3J5Lmg+CnwgIyBlbmRpZgp8ICMgaW5j bHVkZSA8c3RyaW5nLmg+CnwgI2VuZGlmCnwgI2lmZGVmIEhBVkVfU1RSSU5HU19ICnwgIyBpbmNs dWRlIDxzdHJpbmdzLmg+CnwgI2VuZGlmCnwgI2lmZGVmIEhBVkVfSU5UVFlQRVNfSAp8ICMgaW5j bHVkZSA8aW50dHlwZXMuaD4KfCAjZW5kaWYKfCAjaWZkZWYgSEFWRV9TVERJTlRfSAp8ICMgaW5j bHVkZSA8c3RkaW50Lmg+CnwgI2VuZGlmCnwgI2lmZGVmIEhBVkVfVU5JU1REX0gKfCAjIGluY2x1 ZGUgPHVuaXN0ZC5oPgp8ICNlbmRpZgp8ICNpbmNsdWRlIDxzeXMvdmZzdGFiLmg+CmNvbmZpZ3Vy ZToyOTEyMjogcmVzdWx0OiBubwpjb25maWd1cmU6MjkxMjY6IGNoZWNraW5nIHN5cy92ZnN0YWIu aCBwcmVzZW5jZQpjb25maWd1cmU6MjkxNDE6IGNjIC1FIC1JL3Vzci9sb2NhbC9pbmNsdWRlIC1E R19ESVNBQkxFX1NJTkdMRV9JTkNMVURFUyBjb25mdGVzdC5jCmNvbmZ0ZXN0LmM6NzY6MjQ6IGVy cm9yOiBzeXMvdmZzdGFiLmg6IE5vIHN1Y2ggZmlsZSBvciBkaXJlY3RvcnkKY29uZmlndXJlOjI5 MTQ4OiAkPyA9IDEKY29uZmlndXJlOiBmYWlsZWQgcHJvZ3JhbSB3YXM6CnwgLyogY29uZmRlZnMu aC4gICovCnwgI2RlZmluZSBQQUNLQUdFX05BTUUgImdsaWIiCnwgI2RlZmluZSBQQUNLQUdFX1RB Uk5BTUUgImdsaWIiCnwgI2RlZmluZSBQQUNLQUdFX1ZFUlNJT04gIjIuMjAuNSIKfCAjZGVmaW5l IFBBQ0tBR0VfU1RSSU5HICJnbGliIDIuMjAuNSIKfCAjZGVmaW5lIFBBQ0tBR0VfQlVHUkVQT1JU ICJodHRwOi8vYnVnemlsbGEuZ25vbWUub3JnL2VudGVyX2J1Zy5jZ2k/cHJvZHVjdD1nbGliIgp8 ICNkZWZpbmUgR0xJQl9NQUpPUl9WRVJTSU9OIDIKfCAjZGVmaW5lIEdMSUJfTUlOT1JfVkVSU0lP TiAyMAp8ICNkZWZpbmUgR0xJQl9NSUNST19WRVJTSU9OIDUKfCAjZGVmaW5lIEdMSUJfSU5URVJG QUNFX0FHRSA1CnwgI2RlZmluZSBHTElCX0JJTkFSWV9BR0UgMjAwNQp8ICNkZWZpbmUgTkVFRF9J Q09OVl9DQUNIRSAxCnwgI2RlZmluZSBTVERDX0hFQURFUlMgMQp8ICNkZWZpbmUgSEFWRV9TWVNf VFlQRVNfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19TVEFUX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERM SUJfSCAxCnwgI2RlZmluZSBIQVZFX1NUUklOR19IIDEKfCAjZGVmaW5lIEhBVkVfTUVNT1JZX0gg MQp8ICNkZWZpbmUgSEFWRV9TVFJJTkdTX0ggMQp8ICNkZWZpbmUgSEFWRV9JTlRUWVBFU19IIDEK fCAjZGVmaW5lIEhBVkVfU1RESU5UX0ggMQp8ICNkZWZpbmUgSEFWRV9VTklTVERfSCAxCnwgI2Rl ZmluZSBIQVZFX0xPQ0FMRV9IIDEKfCAjZGVmaW5lIEhBVkVfTENfTUVTU0FHRVMgMQp8ICNkZWZp bmUgSEFWRV9CSU5EX1RFWFRET01BSU5fQ09ERVNFVCAxCnwgI2RlZmluZSBIQVZFX0dFVFRFWFQg MQp8ICNkZWZpbmUgSEFWRV9EQ0dFVFRFWFQgMQp8ICNkZWZpbmUgRU5BQkxFX05MUyAxCnwgI2Rl ZmluZSBHRVRURVhUX1BBQ0tBR0UgImdsaWIyMCIKfCAjZGVmaW5lIEdMSUJfTE9DQUxFX0RJUiAi L3Vzci9sb2NhbC9zaGFyZS9sb2NhbGUiCnwgI2RlZmluZSBVU0VfTElCSUNPTlZfR05VIDEKfCAj ZGVmaW5lIEhBVkVfRExGQ05fSCAxCnwgI2RlZmluZSBMVF9PQkpESVIgIi5saWJzLyIKfCAjZGVm aW5lIFNURENfSEVBREVSUyAxCnwgI2RlZmluZSBIQVZFX1ZQUklOVEYgMQp8ICNkZWZpbmUgSEFW RV9BTExPQ0EgMQp8ICNkZWZpbmUgSEFWRV9NTUFQIDEKfCAjZGVmaW5lIEhBVkVfUE9TSVhfTUVN QUxJR04gMQp8ICNkZWZpbmUgSEFWRV9WQUxMT0MgMQp8ICNkZWZpbmUgSEFWRV9GU1lOQyAxCnwg I2RlZmluZSBIQVZFX0FURVhJVCAxCnwgI2RlZmluZSBIQVZFX1RJTUVHTSAxCnwgI2RlZmluZSBI QVZFX0dNVElNRV9SIDEKfCAjZGVmaW5lIFNJWkVPRl9DSEFSIDEKfCAjZGVmaW5lIFNJWkVPRl9T SE9SVCAyCnwgI2RlZmluZSBTSVpFT0ZfTE9ORyA4CnwgI2RlZmluZSBTSVpFT0ZfSU5UIDQKfCAj ZGVmaW5lIFNJWkVPRl9WT0lEX1AgOAp8ICNkZWZpbmUgU0laRU9GX0xPTkdfTE9ORyA4CnwgI2Rl ZmluZSBTSVpFT0ZfX19JTlQ2NCAwCnwgI2RlZmluZSBIQVZFX0xPTkdfTE9OR19GT1JNQVQgMQp8 ICNkZWZpbmUgU0FORV9NQUxMT0NfUFJPVE9TIDEKfCAjZGVmaW5lIEdfSEFWRV9fX0lOTElORSAx CnwgI2RlZmluZSBHX0hBVkVfX19JTkxJTkVfXyAxCnwgI2RlZmluZSBHX0hBVkVfSU5MSU5FIDEK fCAjZGVmaW5lIEhBVkVfRE9XSElMRV9NQUNST1MgMQp8ICNkZWZpbmUgSEFWRV9ESVJFTlRfSCAx CnwgI2RlZmluZSBIQVZFX0ZMT0FUX0ggMQp8ICNkZWZpbmUgSEFWRV9MSU1JVFNfSCAxCnwgI2Rl ZmluZSBIQVZFX1BXRF9IIDEKfCAjZGVmaW5lIEhBVkVfR1JQX0ggMQp8ICNkZWZpbmUgSEFWRV9T WVNfUEFSQU1fSCAxCnwgI2RlZmluZSBIQVZFX1NZU19QT0xMX0ggMQp8ICNkZWZpbmUgSEFWRV9T WVNfUkVTT1VSQ0VfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19USU1FX0ggMQp8ICNkZWZpbmUgSEFW RV9TWVNfVElNRVNfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19XQUlUX0ggMQp8ICNkZWZpbmUgSEFW RV9VTklTVERfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19TRUxFQ1RfSCAxCnwgI2RlZmluZSBIQVZF X1NZU19UWVBFU19IIDEKfCAjZGVmaW5lIEhBVkVfU1RESU5UX0ggMQp8ICNkZWZpbmUgSEFWRV9T Q0hFRF9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX01PVU5UX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNf U1RBVFZGU19IIDEKfCAvKiBlbmQgY29uZmRlZnMuaC4gICovCnwgI2luY2x1ZGUgPHN5cy92ZnN0 YWIuaD4KY29uZmlndXJlOjI5MTYyOiByZXN1bHQ6IG5vCmNvbmZpZ3VyZToyOTE5NTogY2hlY2tp bmcgZm9yIHN5cy92ZnN0YWIuaApjb25maWd1cmU6MjkyMDQ6IHJlc3VsdDogbm8KY29uZmlndXJl OjI5MDg0OiBjaGVja2luZyBzeXMvbW50Y3RsLmggdXNhYmlsaXR5CmNvbmZpZ3VyZToyOTEwMTog Y2MgLWMgLU8yIC1mbm8tc3RyaWN0LWFsaWFzaW5nIC1waXBlIC1XYWxsIC1JL3Vzci9sb2NhbC9p bmNsdWRlIC1ER19ESVNBQkxFX1NJTkdMRV9JTkNMVURFUyBjb25mdGVzdC5jID4mNQpjb25mdGVz dC5jOjEwOToyNDogZXJyb3I6IHN5cy9tbnRjdGwuaDogTm8gc3VjaCBmaWxlIG9yIGRpcmVjdG9y eQpjb25maWd1cmU6MjkxMDg6ICQ/ID0gMQpjb25maWd1cmU6IGZhaWxlZCBwcm9ncmFtIHdhczoK fCAvKiBjb25mZGVmcy5oLiAgKi8KfCAjZGVmaW5lIFBBQ0tBR0VfTkFNRSAiZ2xpYiIKfCAjZGVm aW5lIFBBQ0tBR0VfVEFSTkFNRSAiZ2xpYiIKfCAjZGVmaW5lIFBBQ0tBR0VfVkVSU0lPTiAiMi4y MC41Igp8ICNkZWZpbmUgUEFDS0FHRV9TVFJJTkcgImdsaWIgMi4yMC41Igp8ICNkZWZpbmUgUEFD S0FHRV9CVUdSRVBPUlQgImh0dHA6Ly9idWd6aWxsYS5nbm9tZS5vcmcvZW50ZXJfYnVnLmNnaT9w cm9kdWN0PWdsaWIiCnwgI2RlZmluZSBHTElCX01BSk9SX1ZFUlNJT04gMgp8ICNkZWZpbmUgR0xJ Ql9NSU5PUl9WRVJTSU9OIDIwCnwgI2RlZmluZSBHTElCX01JQ1JPX1ZFUlNJT04gNQp8ICNkZWZp bmUgR0xJQl9JTlRFUkZBQ0VfQUdFIDUKfCAjZGVmaW5lIEdMSUJfQklOQVJZX0FHRSAyMDA1Cnwg I2RlZmluZSBORUVEX0lDT05WX0NBQ0hFIDEKfCAjZGVmaW5lIFNURENfSEVBREVSUyAxCnwgI2Rl ZmluZSBIQVZFX1NZU19UWVBFU19IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NUQVRfSCAxCnwgI2Rl ZmluZSBIQVZFX1NURExJQl9IIDEKfCAjZGVmaW5lIEhBVkVfU1RSSU5HX0ggMQp8ICNkZWZpbmUg SEFWRV9NRU1PUllfSCAxCnwgI2RlZmluZSBIQVZFX1NUUklOR1NfSCAxCnwgI2RlZmluZSBIQVZF X0lOVFRZUEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERJTlRfSCAxCnwgI2RlZmluZSBIQVZFX1VO SVNURF9IIDEKfCAjZGVmaW5lIEhBVkVfTE9DQUxFX0ggMQp8ICNkZWZpbmUgSEFWRV9MQ19NRVNT QUdFUyAxCnwgI2RlZmluZSBIQVZFX0JJTkRfVEVYVERPTUFJTl9DT0RFU0VUIDEKfCAjZGVmaW5l IEhBVkVfR0VUVEVYVCAxCnwgI2RlZmluZSBIQVZFX0RDR0VUVEVYVCAxCnwgI2RlZmluZSBFTkFC TEVfTkxTIDEKfCAjZGVmaW5lIEdFVFRFWFRfUEFDS0FHRSAiZ2xpYjIwIgp8ICNkZWZpbmUgR0xJ Ql9MT0NBTEVfRElSICIvdXNyL2xvY2FsL3NoYXJlL2xvY2FsZSIKfCAjZGVmaW5lIFVTRV9MSUJJ Q09OVl9HTlUgMQp8ICNkZWZpbmUgSEFWRV9ETEZDTl9IIDEKfCAjZGVmaW5lIExUX09CSkRJUiAi LmxpYnMvIgp8ICNkZWZpbmUgU1REQ19IRUFERVJTIDEKfCAjZGVmaW5lIEhBVkVfVlBSSU5URiAx CnwgI2RlZmluZSBIQVZFX0FMTE9DQSAxCnwgI2RlZmluZSBIQVZFX01NQVAgMQp8ICNkZWZpbmUg SEFWRV9QT1NJWF9NRU1BTElHTiAxCnwgI2RlZmluZSBIQVZFX1ZBTExPQyAxCnwgI2RlZmluZSBI QVZFX0ZTWU5DIDEKfCAjZGVmaW5lIEhBVkVfQVRFWElUIDEKfCAjZGVmaW5lIEhBVkVfVElNRUdN IDEKfCAjZGVmaW5lIEhBVkVfR01USU1FX1IgMQp8ICNkZWZpbmUgU0laRU9GX0NIQVIgMQp8ICNk ZWZpbmUgU0laRU9GX1NIT1JUIDIKfCAjZGVmaW5lIFNJWkVPRl9MT05HIDgKfCAjZGVmaW5lIFNJ WkVPRl9JTlQgNAp8ICNkZWZpbmUgU0laRU9GX1ZPSURfUCA4CnwgI2RlZmluZSBTSVpFT0ZfTE9O R19MT05HIDgKfCAjZGVmaW5lIFNJWkVPRl9fX0lOVDY0IDAKfCAjZGVmaW5lIEhBVkVfTE9OR19M T05HX0ZPUk1BVCAxCnwgI2RlZmluZSBTQU5FX01BTExPQ19QUk9UT1MgMQp8ICNkZWZpbmUgR19I QVZFX19fSU5MSU5FIDEKfCAjZGVmaW5lIEdfSEFWRV9fX0lOTElORV9fIDEKfCAjZGVmaW5lIEdf SEFWRV9JTkxJTkUgMQp8ICNkZWZpbmUgSEFWRV9ET1dISUxFX01BQ1JPUyAxCnwgI2RlZmluZSBI QVZFX0RJUkVOVF9IIDEKfCAjZGVmaW5lIEhBVkVfRkxPQVRfSCAxCnwgI2RlZmluZSBIQVZFX0xJ TUlUU19IIDEKfCAjZGVmaW5lIEhBVkVfUFdEX0ggMQp8ICNkZWZpbmUgSEFWRV9HUlBfSCAxCnwg I2RlZmluZSBIQVZFX1NZU19QQVJBTV9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1BPTExfSCAxCnwg I2RlZmluZSBIQVZFX1NZU19SRVNPVVJDRV9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1RJTUVfSCAx CnwgI2RlZmluZSBIQVZFX1NZU19USU1FU19IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1dBSVRfSCAx CnwgI2RlZmluZSBIQVZFX1VOSVNURF9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NFTEVDVF9IIDEK fCAjZGVmaW5lIEhBVkVfU1lTX1RZUEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERJTlRfSCAxCnwg I2RlZmluZSBIQVZFX1NDSEVEX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfTU9VTlRfSCAxCnwgI2Rl ZmluZSBIQVZFX1NZU19TVEFUVkZTX0ggMQp8IC8qIGVuZCBjb25mZGVmcy5oLiAgKi8KfCAjaW5j bHVkZSA8c3RkaW8uaD4KfCAjaWZkZWYgSEFWRV9TWVNfVFlQRVNfSAp8ICMgaW5jbHVkZSA8c3lz L3R5cGVzLmg+CnwgI2VuZGlmCnwgI2lmZGVmIEhBVkVfU1lTX1NUQVRfSAp8ICMgaW5jbHVkZSA8 c3lzL3N0YXQuaD4KfCAjZW5kaWYKfCAjaWZkZWYgU1REQ19IRUFERVJTCnwgIyBpbmNsdWRlIDxz dGRsaWIuaD4KfCAjIGluY2x1ZGUgPHN0ZGRlZi5oPgp8ICNlbHNlCnwgIyBpZmRlZiBIQVZFX1NU RExJQl9ICnwgIyAgaW5jbHVkZSA8c3RkbGliLmg+CnwgIyBlbmRpZgp8ICNlbmRpZgp8ICNpZmRl ZiBIQVZFX1NUUklOR19ICnwgIyBpZiAhZGVmaW5lZCBTVERDX0hFQURFUlMgJiYgZGVmaW5lZCBI QVZFX01FTU9SWV9ICnwgIyAgaW5jbHVkZSA8bWVtb3J5Lmg+CnwgIyBlbmRpZgp8ICMgaW5jbHVk ZSA8c3RyaW5nLmg+CnwgI2VuZGlmCnwgI2lmZGVmIEhBVkVfU1RSSU5HU19ICnwgIyBpbmNsdWRl IDxzdHJpbmdzLmg+CnwgI2VuZGlmCnwgI2lmZGVmIEhBVkVfSU5UVFlQRVNfSAp8ICMgaW5jbHVk ZSA8aW50dHlwZXMuaD4KfCAjZW5kaWYKfCAjaWZkZWYgSEFWRV9TVERJTlRfSAp8ICMgaW5jbHVk ZSA8c3RkaW50Lmg+CnwgI2VuZGlmCnwgI2lmZGVmIEhBVkVfVU5JU1REX0gKfCAjIGluY2x1ZGUg PHVuaXN0ZC5oPgp8ICNlbmRpZgp8ICNpbmNsdWRlIDxzeXMvbW50Y3RsLmg+CmNvbmZpZ3VyZToy OTEyMjogcmVzdWx0OiBubwpjb25maWd1cmU6MjkxMjY6IGNoZWNraW5nIHN5cy9tbnRjdGwuaCBw cmVzZW5jZQpjb25maWd1cmU6MjkxNDE6IGNjIC1FIC1JL3Vzci9sb2NhbC9pbmNsdWRlIC1ER19E SVNBQkxFX1NJTkdMRV9JTkNMVURFUyBjb25mdGVzdC5jCmNvbmZ0ZXN0LmM6NzY6MjQ6IGVycm9y OiBzeXMvbW50Y3RsLmg6IE5vIHN1Y2ggZmlsZSBvciBkaXJlY3RvcnkKY29uZmlndXJlOjI5MTQ4 OiAkPyA9IDEKY29uZmlndXJlOiBmYWlsZWQgcHJvZ3JhbSB3YXM6CnwgLyogY29uZmRlZnMuaC4g ICovCnwgI2RlZmluZSBQQUNLQUdFX05BTUUgImdsaWIiCnwgI2RlZmluZSBQQUNLQUdFX1RBUk5B TUUgImdsaWIiCnwgI2RlZmluZSBQQUNLQUdFX1ZFUlNJT04gIjIuMjAuNSIKfCAjZGVmaW5lIFBB Q0tBR0VfU1RSSU5HICJnbGliIDIuMjAuNSIKfCAjZGVmaW5lIFBBQ0tBR0VfQlVHUkVQT1JUICJo dHRwOi8vYnVnemlsbGEuZ25vbWUub3JnL2VudGVyX2J1Zy5jZ2k/cHJvZHVjdD1nbGliIgp8ICNk ZWZpbmUgR0xJQl9NQUpPUl9WRVJTSU9OIDIKfCAjZGVmaW5lIEdMSUJfTUlOT1JfVkVSU0lPTiAy MAp8ICNkZWZpbmUgR0xJQl9NSUNST19WRVJTSU9OIDUKfCAjZGVmaW5lIEdMSUJfSU5URVJGQUNF X0FHRSA1CnwgI2RlZmluZSBHTElCX0JJTkFSWV9BR0UgMjAwNQp8ICNkZWZpbmUgTkVFRF9JQ09O Vl9DQUNIRSAxCnwgI2RlZmluZSBTVERDX0hFQURFUlMgMQp8ICNkZWZpbmUgSEFWRV9TWVNfVFlQ RVNfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19TVEFUX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERMSUJf SCAxCnwgI2RlZmluZSBIQVZFX1NUUklOR19IIDEKfCAjZGVmaW5lIEhBVkVfTUVNT1JZX0ggMQp8 ICNkZWZpbmUgSEFWRV9TVFJJTkdTX0ggMQp8ICNkZWZpbmUgSEFWRV9JTlRUWVBFU19IIDEKfCAj ZGVmaW5lIEhBVkVfU1RESU5UX0ggMQp8ICNkZWZpbmUgSEFWRV9VTklTVERfSCAxCnwgI2RlZmlu ZSBIQVZFX0xPQ0FMRV9IIDEKfCAjZGVmaW5lIEhBVkVfTENfTUVTU0FHRVMgMQp8ICNkZWZpbmUg SEFWRV9CSU5EX1RFWFRET01BSU5fQ09ERVNFVCAxCnwgI2RlZmluZSBIQVZFX0dFVFRFWFQgMQp8 ICNkZWZpbmUgSEFWRV9EQ0dFVFRFWFQgMQp8ICNkZWZpbmUgRU5BQkxFX05MUyAxCnwgI2RlZmlu ZSBHRVRURVhUX1BBQ0tBR0UgImdsaWIyMCIKfCAjZGVmaW5lIEdMSUJfTE9DQUxFX0RJUiAiL3Vz ci9sb2NhbC9zaGFyZS9sb2NhbGUiCnwgI2RlZmluZSBVU0VfTElCSUNPTlZfR05VIDEKfCAjZGVm aW5lIEhBVkVfRExGQ05fSCAxCnwgI2RlZmluZSBMVF9PQkpESVIgIi5saWJzLyIKfCAjZGVmaW5l IFNURENfSEVBREVSUyAxCnwgI2RlZmluZSBIQVZFX1ZQUklOVEYgMQp8ICNkZWZpbmUgSEFWRV9B TExPQ0EgMQp8ICNkZWZpbmUgSEFWRV9NTUFQIDEKfCAjZGVmaW5lIEhBVkVfUE9TSVhfTUVNQUxJ R04gMQp8ICNkZWZpbmUgSEFWRV9WQUxMT0MgMQp8ICNkZWZpbmUgSEFWRV9GU1lOQyAxCnwgI2Rl ZmluZSBIQVZFX0FURVhJVCAxCnwgI2RlZmluZSBIQVZFX1RJTUVHTSAxCnwgI2RlZmluZSBIQVZF X0dNVElNRV9SIDEKfCAjZGVmaW5lIFNJWkVPRl9DSEFSIDEKfCAjZGVmaW5lIFNJWkVPRl9TSE9S VCAyCnwgI2RlZmluZSBTSVpFT0ZfTE9ORyA4CnwgI2RlZmluZSBTSVpFT0ZfSU5UIDQKfCAjZGVm aW5lIFNJWkVPRl9WT0lEX1AgOAp8ICNkZWZpbmUgU0laRU9GX0xPTkdfTE9ORyA4CnwgI2RlZmlu ZSBTSVpFT0ZfX19JTlQ2NCAwCnwgI2RlZmluZSBIQVZFX0xPTkdfTE9OR19GT1JNQVQgMQp8ICNk ZWZpbmUgU0FORV9NQUxMT0NfUFJPVE9TIDEKfCAjZGVmaW5lIEdfSEFWRV9fX0lOTElORSAxCnwg I2RlZmluZSBHX0hBVkVfX19JTkxJTkVfXyAxCnwgI2RlZmluZSBHX0hBVkVfSU5MSU5FIDEKfCAj ZGVmaW5lIEhBVkVfRE9XSElMRV9NQUNST1MgMQp8ICNkZWZpbmUgSEFWRV9ESVJFTlRfSCAxCnwg I2RlZmluZSBIQVZFX0ZMT0FUX0ggMQp8ICNkZWZpbmUgSEFWRV9MSU1JVFNfSCAxCnwgI2RlZmlu ZSBIQVZFX1BXRF9IIDEKfCAjZGVmaW5lIEhBVkVfR1JQX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNf UEFSQU1fSCAxCnwgI2RlZmluZSBIQVZFX1NZU19QT0xMX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNf UkVTT1VSQ0VfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19USU1FX0ggMQp8ICNkZWZpbmUgSEFWRV9T WVNfVElNRVNfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19XQUlUX0ggMQp8ICNkZWZpbmUgSEFWRV9V TklTVERfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19TRUxFQ1RfSCAxCnwgI2RlZmluZSBIQVZFX1NZ U19UWVBFU19IIDEKfCAjZGVmaW5lIEhBVkVfU1RESU5UX0ggMQp8ICNkZWZpbmUgSEFWRV9TQ0hF RF9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX01PVU5UX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfU1RB VFZGU19IIDEKfCAvKiBlbmQgY29uZmRlZnMuaC4gICovCnwgI2luY2x1ZGUgPHN5cy9tbnRjdGwu aD4KY29uZmlndXJlOjI5MTYyOiByZXN1bHQ6IG5vCmNvbmZpZ3VyZToyOTE5NTogY2hlY2tpbmcg Zm9yIHN5cy9tbnRjdGwuaApjb25maWd1cmU6MjkyMDQ6IHJlc3VsdDogbm8KY29uZmlndXJlOjI5 MDg0OiBjaGVja2luZyBzeXMvc3lzY3RsLmggdXNhYmlsaXR5CmNvbmZpZ3VyZToyOTEwMTogY2Mg LWMgLU8yIC1mbm8tc3RyaWN0LWFsaWFzaW5nIC1waXBlIC1XYWxsIC1JL3Vzci9sb2NhbC9pbmNs dWRlIC1ER19ESVNBQkxFX1NJTkdMRV9JTkNMVURFUyBjb25mdGVzdC5jID4mNQpjb25maWd1cmU6 MjkxMDg6ICQ/ID0gMApjb25maWd1cmU6MjkxMjI6IHJlc3VsdDogeWVzCmNvbmZpZ3VyZToyOTEy NjogY2hlY2tpbmcgc3lzL3N5c2N0bC5oIHByZXNlbmNlCmNvbmZpZ3VyZToyOTE0MTogY2MgLUUg LUkvdXNyL2xvY2FsL2luY2x1ZGUgLURHX0RJU0FCTEVfU0lOR0xFX0lOQ0xVREVTIGNvbmZ0ZXN0 LmMKY29uZmlndXJlOjI5MTQ4OiAkPyA9IDAKY29uZmlndXJlOjI5MTYyOiByZXN1bHQ6IHllcwpj b25maWd1cmU6MjkxOTU6IGNoZWNraW5nIGZvciBzeXMvc3lzY3RsLmgKY29uZmlndXJlOjI5MjA0 OiByZXN1bHQ6IHllcwpjb25maWd1cmU6MjkwODQ6IGNoZWNraW5nIGZzdGFiLmggdXNhYmlsaXR5 CmNvbmZpZ3VyZToyOTEwMTogY2MgLWMgLU8yIC1mbm8tc3RyaWN0LWFsaWFzaW5nIC1waXBlIC1X YWxsIC1JL3Vzci9sb2NhbC9pbmNsdWRlIC1ER19ESVNBQkxFX1NJTkdMRV9JTkNMVURFUyBjb25m dGVzdC5jID4mNQpjb25maWd1cmU6MjkxMDg6ICQ/ID0gMApjb25maWd1cmU6MjkxMjI6IHJlc3Vs dDogeWVzCmNvbmZpZ3VyZToyOTEyNjogY2hlY2tpbmcgZnN0YWIuaCBwcmVzZW5jZQpjb25maWd1 cmU6MjkxNDE6IGNjIC1FIC1JL3Vzci9sb2NhbC9pbmNsdWRlIC1ER19ESVNBQkxFX1NJTkdMRV9J TkNMVURFUyBjb25mdGVzdC5jCmNvbmZpZ3VyZToyOTE0ODogJD8gPSAwCmNvbmZpZ3VyZToyOTE2 MjogcmVzdWx0OiB5ZXMKY29uZmlndXJlOjI5MTk1OiBjaGVja2luZyBmb3IgZnN0YWIuaApjb25m aWd1cmU6MjkyMDQ6IHJlc3VsdDogeWVzCmNvbmZpZ3VyZToyOTIyMTogY2hlY2tpbmcgZm9yIHN0 cnVjdCBzdGF0LnN0X210aW1lbnNlYwpjb25maWd1cmU6MjkyNDk6IGNjIC1jIC1PMiAtZm5vLXN0 cmljdC1hbGlhc2luZyAtcGlwZSAtV2FsbCAtSS91c3IvbG9jYWwvaW5jbHVkZSAtREdfRElTQUJM RV9TSU5HTEVfSU5DTFVERVMgY29uZnRlc3QuYyA+JjUKY29uZnRlc3QuYzogSW4gZnVuY3Rpb24g J21haW4nOgpjb25mdGVzdC5jOjExNTogZXJyb3I6ICdzdHJ1Y3Qgc3RhdCcgaGFzIG5vIG1lbWJl ciBuYW1lZCAnc3RfbXRpbWVuc2VjJwpjb25maWd1cmU6MjkyNTY6ICQ/ID0gMQpjb25maWd1cmU6 IGZhaWxlZCBwcm9ncmFtIHdhczoKfCAvKiBjb25mZGVmcy5oLiAgKi8KfCAjZGVmaW5lIFBBQ0tB R0VfTkFNRSAiZ2xpYiIKfCAjZGVmaW5lIFBBQ0tBR0VfVEFSTkFNRSAiZ2xpYiIKfCAjZGVmaW5l IFBBQ0tBR0VfVkVSU0lPTiAiMi4yMC41Igp8ICNkZWZpbmUgUEFDS0FHRV9TVFJJTkcgImdsaWIg Mi4yMC41Igp8ICNkZWZpbmUgUEFDS0FHRV9CVUdSRVBPUlQgImh0dHA6Ly9idWd6aWxsYS5nbm9t ZS5vcmcvZW50ZXJfYnVnLmNnaT9wcm9kdWN0PWdsaWIiCnwgI2RlZmluZSBHTElCX01BSk9SX1ZF UlNJT04gMgp8ICNkZWZpbmUgR0xJQl9NSU5PUl9WRVJTSU9OIDIwCnwgI2RlZmluZSBHTElCX01J Q1JPX1ZFUlNJT04gNQp8ICNkZWZpbmUgR0xJQl9JTlRFUkZBQ0VfQUdFIDUKfCAjZGVmaW5lIEdM SUJfQklOQVJZX0FHRSAyMDA1CnwgI2RlZmluZSBORUVEX0lDT05WX0NBQ0hFIDEKfCAjZGVmaW5l IFNURENfSEVBREVSUyAxCnwgI2RlZmluZSBIQVZFX1NZU19UWVBFU19IIDEKfCAjZGVmaW5lIEhB VkVfU1lTX1NUQVRfSCAxCnwgI2RlZmluZSBIQVZFX1NURExJQl9IIDEKfCAjZGVmaW5lIEhBVkVf U1RSSU5HX0ggMQp8ICNkZWZpbmUgSEFWRV9NRU1PUllfSCAxCnwgI2RlZmluZSBIQVZFX1NUUklO R1NfSCAxCnwgI2RlZmluZSBIQVZFX0lOVFRZUEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERJTlRf SCAxCnwgI2RlZmluZSBIQVZFX1VOSVNURF9IIDEKfCAjZGVmaW5lIEhBVkVfTE9DQUxFX0ggMQp8 ICNkZWZpbmUgSEFWRV9MQ19NRVNTQUdFUyAxCnwgI2RlZmluZSBIQVZFX0JJTkRfVEVYVERPTUFJ Tl9DT0RFU0VUIDEKfCAjZGVmaW5lIEhBVkVfR0VUVEVYVCAxCnwgI2RlZmluZSBIQVZFX0RDR0VU VEVYVCAxCnwgI2RlZmluZSBFTkFCTEVfTkxTIDEKfCAjZGVmaW5lIEdFVFRFWFRfUEFDS0FHRSAi Z2xpYjIwIgp8ICNkZWZpbmUgR0xJQl9MT0NBTEVfRElSICIvdXNyL2xvY2FsL3NoYXJlL2xvY2Fs ZSIKfCAjZGVmaW5lIFVTRV9MSUJJQ09OVl9HTlUgMQp8ICNkZWZpbmUgSEFWRV9ETEZDTl9IIDEK fCAjZGVmaW5lIExUX09CSkRJUiAiLmxpYnMvIgp8ICNkZWZpbmUgU1REQ19IRUFERVJTIDEKfCAj ZGVmaW5lIEhBVkVfVlBSSU5URiAxCnwgI2RlZmluZSBIQVZFX0FMTE9DQSAxCnwgI2RlZmluZSBI QVZFX01NQVAgMQp8ICNkZWZpbmUgSEFWRV9QT1NJWF9NRU1BTElHTiAxCnwgI2RlZmluZSBIQVZF X1ZBTExPQyAxCnwgI2RlZmluZSBIQVZFX0ZTWU5DIDEKfCAjZGVmaW5lIEhBVkVfQVRFWElUIDEK fCAjZGVmaW5lIEhBVkVfVElNRUdNIDEKfCAjZGVmaW5lIEhBVkVfR01USU1FX1IgMQp8ICNkZWZp bmUgU0laRU9GX0NIQVIgMQp8ICNkZWZpbmUgU0laRU9GX1NIT1JUIDIKfCAjZGVmaW5lIFNJWkVP Rl9MT05HIDgKfCAjZGVmaW5lIFNJWkVPRl9JTlQgNAp8ICNkZWZpbmUgU0laRU9GX1ZPSURfUCA4 CnwgI2RlZmluZSBTSVpFT0ZfTE9OR19MT05HIDgKfCAjZGVmaW5lIFNJWkVPRl9fX0lOVDY0IDAK fCAjZGVmaW5lIEhBVkVfTE9OR19MT05HX0ZPUk1BVCAxCnwgI2RlZmluZSBTQU5FX01BTExPQ19Q Uk9UT1MgMQp8ICNkZWZpbmUgR19IQVZFX19fSU5MSU5FIDEKfCAjZGVmaW5lIEdfSEFWRV9fX0lO TElORV9fIDEKfCAjZGVmaW5lIEdfSEFWRV9JTkxJTkUgMQp8ICNkZWZpbmUgSEFWRV9ET1dISUxF X01BQ1JPUyAxCnwgI2RlZmluZSBIQVZFX0RJUkVOVF9IIDEKfCAjZGVmaW5lIEhBVkVfRkxPQVRf SCAxCnwgI2RlZmluZSBIQVZFX0xJTUlUU19IIDEKfCAjZGVmaW5lIEhBVkVfUFdEX0ggMQp8ICNk ZWZpbmUgSEFWRV9HUlBfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19QQVJBTV9IIDEKfCAjZGVmaW5l IEhBVkVfU1lTX1BPTExfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19SRVNPVVJDRV9IIDEKfCAjZGVm aW5lIEhBVkVfU1lTX1RJTUVfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19USU1FU19IIDEKfCAjZGVm aW5lIEhBVkVfU1lTX1dBSVRfSCAxCnwgI2RlZmluZSBIQVZFX1VOSVNURF9IIDEKfCAjZGVmaW5l IEhBVkVfU1lTX1NFTEVDVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1RZUEVTX0ggMQp8ICNkZWZp bmUgSEFWRV9TVERJTlRfSCAxCnwgI2RlZmluZSBIQVZFX1NDSEVEX0ggMQp8ICNkZWZpbmUgSEFW RV9TWVNfTU9VTlRfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19TVEFUVkZTX0ggMQp8ICNkZWZpbmUg SEFWRV9TWVNfU1lTQ1RMX0ggMQp8ICNkZWZpbmUgSEFWRV9GU1RBQl9IIDEKfCAvKiBlbmQgY29u ZmRlZnMuaC4gICovCnwgI2luY2x1ZGUgPHN0ZGlvLmg+CnwgI2lmZGVmIEhBVkVfU1lTX1RZUEVT X0gKfCAjIGluY2x1ZGUgPHN5cy90eXBlcy5oPgp8ICNlbmRpZgp8ICNpZmRlZiBIQVZFX1NZU19T VEFUX0gKfCAjIGluY2x1ZGUgPHN5cy9zdGF0Lmg+CnwgI2VuZGlmCnwgI2lmZGVmIFNURENfSEVB REVSUwp8ICMgaW5jbHVkZSA8c3RkbGliLmg+CnwgIyBpbmNsdWRlIDxzdGRkZWYuaD4KfCAjZWxz ZQp8ICMgaWZkZWYgSEFWRV9TVERMSUJfSAp8ICMgIGluY2x1ZGUgPHN0ZGxpYi5oPgp8ICMgZW5k aWYKfCAjZW5kaWYKfCAjaWZkZWYgSEFWRV9TVFJJTkdfSAp8ICMgaWYgIWRlZmluZWQgU1REQ19I RUFERVJTICYmIGRlZmluZWQgSEFWRV9NRU1PUllfSAp8ICMgIGluY2x1ZGUgPG1lbW9yeS5oPgp8 ICMgZW5kaWYKfCAjIGluY2x1ZGUgPHN0cmluZy5oPgp8ICNlbmRpZgp8ICNpZmRlZiBIQVZFX1NU UklOR1NfSAp8ICMgaW5jbHVkZSA8c3RyaW5ncy5oPgp8ICNlbmRpZgp8ICNpZmRlZiBIQVZFX0lO VFRZUEVTX0gKfCAjIGluY2x1ZGUgPGludHR5cGVzLmg+CnwgI2VuZGlmCnwgI2lmZGVmIEhBVkVf U1RESU5UX0gKfCAjIGluY2x1ZGUgPHN0ZGludC5oPgp8ICNlbmRpZgp8ICNpZmRlZiBIQVZFX1VO SVNURF9ICnwgIyBpbmNsdWRlIDx1bmlzdGQuaD4KfCAjZW5kaWYKfCBpbnQKfCBtYWluICgpCnwg ewp8IHN0YXRpYyBzdHJ1Y3Qgc3RhdCBhY19hZ2dyOwp8IGlmIChhY19hZ2dyLnN0X210aW1lbnNl YykKfCByZXR1cm4gMDsKfCAgIDsKfCAgIHJldHVybiAwOwp8IH0KY29uZmlndXJlOjI5Mjg5OiBj YyAtYyAtTzIgLWZuby1zdHJpY3QtYWxpYXNpbmcgLXBpcGUgLVdhbGwgLUkvdXNyL2xvY2FsL2lu Y2x1ZGUgLURHX0RJU0FCTEVfU0lOR0xFX0lOQ0xVREVTIGNvbmZ0ZXN0LmMgPiY1CmNvbmZ0ZXN0 LmM6IEluIGZ1bmN0aW9uICdtYWluJzoKY29uZnRlc3QuYzoxMTU6IGVycm9yOiAnc3RydWN0IHN0 YXQnIGhhcyBubyBtZW1iZXIgbmFtZWQgJ3N0X210aW1lbnNlYycKY29uZmlndXJlOjI5Mjk2OiAk PyA9IDEKY29uZmlndXJlOiBmYWlsZWQgcHJvZ3JhbSB3YXM6CnwgLyogY29uZmRlZnMuaC4gICov CnwgI2RlZmluZSBQQUNLQUdFX05BTUUgImdsaWIiCnwgI2RlZmluZSBQQUNLQUdFX1RBUk5BTUUg ImdsaWIiCnwgI2RlZmluZSBQQUNLQUdFX1ZFUlNJT04gIjIuMjAuNSIKfCAjZGVmaW5lIFBBQ0tB R0VfU1RSSU5HICJnbGliIDIuMjAuNSIKfCAjZGVmaW5lIFBBQ0tBR0VfQlVHUkVQT1JUICJodHRw Oi8vYnVnemlsbGEuZ25vbWUub3JnL2VudGVyX2J1Zy5jZ2k/cHJvZHVjdD1nbGliIgp8ICNkZWZp bmUgR0xJQl9NQUpPUl9WRVJTSU9OIDIKfCAjZGVmaW5lIEdMSUJfTUlOT1JfVkVSU0lPTiAyMAp8 ICNkZWZpbmUgR0xJQl9NSUNST19WRVJTSU9OIDUKfCAjZGVmaW5lIEdMSUJfSU5URVJGQUNFX0FH RSA1CnwgI2RlZmluZSBHTElCX0JJTkFSWV9BR0UgMjAwNQp8ICNkZWZpbmUgTkVFRF9JQ09OVl9D QUNIRSAxCnwgI2RlZmluZSBTVERDX0hFQURFUlMgMQp8ICNkZWZpbmUgSEFWRV9TWVNfVFlQRVNf SCAxCnwgI2RlZmluZSBIQVZFX1NZU19TVEFUX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERMSUJfSCAx CnwgI2RlZmluZSBIQVZFX1NUUklOR19IIDEKfCAjZGVmaW5lIEhBVkVfTUVNT1JZX0ggMQp8ICNk ZWZpbmUgSEFWRV9TVFJJTkdTX0ggMQp8ICNkZWZpbmUgSEFWRV9JTlRUWVBFU19IIDEKfCAjZGVm aW5lIEhBVkVfU1RESU5UX0ggMQp8ICNkZWZpbmUgSEFWRV9VTklTVERfSCAxCnwgI2RlZmluZSBI QVZFX0xPQ0FMRV9IIDEKfCAjZGVmaW5lIEhBVkVfTENfTUVTU0FHRVMgMQp8ICNkZWZpbmUgSEFW RV9CSU5EX1RFWFRET01BSU5fQ09ERVNFVCAxCnwgI2RlZmluZSBIQVZFX0dFVFRFWFQgMQp8ICNk ZWZpbmUgSEFWRV9EQ0dFVFRFWFQgMQp8ICNkZWZpbmUgRU5BQkxFX05MUyAxCnwgI2RlZmluZSBH RVRURVhUX1BBQ0tBR0UgImdsaWIyMCIKfCAjZGVmaW5lIEdMSUJfTE9DQUxFX0RJUiAiL3Vzci9s b2NhbC9zaGFyZS9sb2NhbGUiCnwgI2RlZmluZSBVU0VfTElCSUNPTlZfR05VIDEKfCAjZGVmaW5l IEhBVkVfRExGQ05fSCAxCnwgI2RlZmluZSBMVF9PQkpESVIgIi5saWJzLyIKfCAjZGVmaW5lIFNU RENfSEVBREVSUyAxCnwgI2RlZmluZSBIQVZFX1ZQUklOVEYgMQp8ICNkZWZpbmUgSEFWRV9BTExP Q0EgMQp8ICNkZWZpbmUgSEFWRV9NTUFQIDEKfCAjZGVmaW5lIEhBVkVfUE9TSVhfTUVNQUxJR04g MQp8ICNkZWZpbmUgSEFWRV9WQUxMT0MgMQp8ICNkZWZpbmUgSEFWRV9GU1lOQyAxCnwgI2RlZmlu ZSBIQVZFX0FURVhJVCAxCnwgI2RlZmluZSBIQVZFX1RJTUVHTSAxCnwgI2RlZmluZSBIQVZFX0dN VElNRV9SIDEKfCAjZGVmaW5lIFNJWkVPRl9DSEFSIDEKfCAjZGVmaW5lIFNJWkVPRl9TSE9SVCAy CnwgI2RlZmluZSBTSVpFT0ZfTE9ORyA4CnwgI2RlZmluZSBTSVpFT0ZfSU5UIDQKfCAjZGVmaW5l IFNJWkVPRl9WT0lEX1AgOAp8ICNkZWZpbmUgU0laRU9GX0xPTkdfTE9ORyA4CnwgI2RlZmluZSBT SVpFT0ZfX19JTlQ2NCAwCnwgI2RlZmluZSBIQVZFX0xPTkdfTE9OR19GT1JNQVQgMQp8ICNkZWZp bmUgU0FORV9NQUxMT0NfUFJPVE9TIDEKfCAjZGVmaW5lIEdfSEFWRV9fX0lOTElORSAxCnwgI2Rl ZmluZSBHX0hBVkVfX19JTkxJTkVfXyAxCnwgI2RlZmluZSBHX0hBVkVfSU5MSU5FIDEKfCAjZGVm aW5lIEhBVkVfRE9XSElMRV9NQUNST1MgMQp8ICNkZWZpbmUgSEFWRV9ESVJFTlRfSCAxCnwgI2Rl ZmluZSBIQVZFX0ZMT0FUX0ggMQp8ICNkZWZpbmUgSEFWRV9MSU1JVFNfSCAxCnwgI2RlZmluZSBI QVZFX1BXRF9IIDEKfCAjZGVmaW5lIEhBVkVfR1JQX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfUEFS QU1fSCAxCnwgI2RlZmluZSBIQVZFX1NZU19QT0xMX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfUkVT T1VSQ0VfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19USU1FX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNf VElNRVNfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19XQUlUX0ggMQp8ICNkZWZpbmUgSEFWRV9VTklT VERfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19TRUxFQ1RfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19U WVBFU19IIDEKfCAjZGVmaW5lIEhBVkVfU1RESU5UX0ggMQp8ICNkZWZpbmUgSEFWRV9TQ0hFRF9I IDEKfCAjZGVmaW5lIEhBVkVfU1lTX01PVU5UX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfU1RBVFZG U19IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NZU0NUTF9IIDEKfCAjZGVmaW5lIEhBVkVfRlNUQUJf SCAxCnwgLyogZW5kIGNvbmZkZWZzLmguICAqLwp8ICNpbmNsdWRlIDxzdGRpby5oPgp8ICNpZmRl ZiBIQVZFX1NZU19UWVBFU19ICnwgIyBpbmNsdWRlIDxzeXMvdHlwZXMuaD4KfCAjZW5kaWYKfCAj aWZkZWYgSEFWRV9TWVNfU1RBVF9ICnwgIyBpbmNsdWRlIDxzeXMvc3RhdC5oPgp8ICNlbmRpZgp8 ICNpZmRlZiBTVERDX0hFQURFUlMKfCAjIGluY2x1ZGUgPHN0ZGxpYi5oPgp8ICMgaW5jbHVkZSA8 c3RkZGVmLmg+CnwgI2Vsc2UKfCAjIGlmZGVmIEhBVkVfU1RETElCX0gKfCAjICBpbmNsdWRlIDxz dGRsaWIuaD4KfCAjIGVuZGlmCnwgI2VuZGlmCnwgI2lmZGVmIEhBVkVfU1RSSU5HX0gKfCAjIGlm ICFkZWZpbmVkIFNURENfSEVBREVSUyAmJiBkZWZpbmVkIEhBVkVfTUVNT1JZX0gKfCAjICBpbmNs dWRlIDxtZW1vcnkuaD4KfCAjIGVuZGlmCnwgIyBpbmNsdWRlIDxzdHJpbmcuaD4KfCAjZW5kaWYK fCAjaWZkZWYgSEFWRV9TVFJJTkdTX0gKfCAjIGluY2x1ZGUgPHN0cmluZ3MuaD4KfCAjZW5kaWYK fCAjaWZkZWYgSEFWRV9JTlRUWVBFU19ICnwgIyBpbmNsdWRlIDxpbnR0eXBlcy5oPgp8ICNlbmRp Zgp8ICNpZmRlZiBIQVZFX1NURElOVF9ICnwgIyBpbmNsdWRlIDxzdGRpbnQuaD4KfCAjZW5kaWYK fCAjaWZkZWYgSEFWRV9VTklTVERfSAp8ICMgaW5jbHVkZSA8dW5pc3RkLmg+CnwgI2VuZGlmCnwg aW50CnwgbWFpbiAoKQp8IHsKfCBzdGF0aWMgc3RydWN0IHN0YXQgYWNfYWdncjsKfCBpZiAoc2l6 ZW9mIGFjX2FnZ3Iuc3RfbXRpbWVuc2VjKQp8IHJldHVybiAwOwp8ICAgOwp8ICAgcmV0dXJuIDA7 CnwgfQpjb25maWd1cmU6MjkzMTQ6IHJlc3VsdDogbm8KY29uZmlndXJlOjI5MzI0OiBjaGVja2lu ZyBmb3Igc3RydWN0IHN0YXQuc3RfbXRpbS50dl9uc2VjCmNvbmZpZ3VyZToyOTM1MjogY2MgLWMg LU8yIC1mbm8tc3RyaWN0LWFsaWFzaW5nIC1waXBlIC1XYWxsIC1JL3Vzci9sb2NhbC9pbmNsdWRl IC1ER19ESVNBQkxFX1NJTkdMRV9JTkNMVURFUyBjb25mdGVzdC5jID4mNQpjb25mdGVzdC5jOiBJ biBmdW5jdGlvbiAnbWFpbic6CmNvbmZ0ZXN0LmM6MTE1OiBlcnJvcjogJ3N0cnVjdCBzdGF0JyBo YXMgbm8gbWVtYmVyIG5hbWVkICdzdF9tdGltJwpjb25maWd1cmU6MjkzNTk6ICQ/ID0gMQpjb25m aWd1cmU6IGZhaWxlZCBwcm9ncmFtIHdhczoKfCAvKiBjb25mZGVmcy5oLiAgKi8KfCAjZGVmaW5l IFBBQ0tBR0VfTkFNRSAiZ2xpYiIKfCAjZGVmaW5lIFBBQ0tBR0VfVEFSTkFNRSAiZ2xpYiIKfCAj ZGVmaW5lIFBBQ0tBR0VfVkVSU0lPTiAiMi4yMC41Igp8ICNkZWZpbmUgUEFDS0FHRV9TVFJJTkcg ImdsaWIgMi4yMC41Igp8ICNkZWZpbmUgUEFDS0FHRV9CVUdSRVBPUlQgImh0dHA6Ly9idWd6aWxs YS5nbm9tZS5vcmcvZW50ZXJfYnVnLmNnaT9wcm9kdWN0PWdsaWIiCnwgI2RlZmluZSBHTElCX01B Sk9SX1ZFUlNJT04gMgp8ICNkZWZpbmUgR0xJQl9NSU5PUl9WRVJTSU9OIDIwCnwgI2RlZmluZSBH TElCX01JQ1JPX1ZFUlNJT04gNQp8ICNkZWZpbmUgR0xJQl9JTlRFUkZBQ0VfQUdFIDUKfCAjZGVm aW5lIEdMSUJfQklOQVJZX0FHRSAyMDA1CnwgI2RlZmluZSBORUVEX0lDT05WX0NBQ0hFIDEKfCAj ZGVmaW5lIFNURENfSEVBREVSUyAxCnwgI2RlZmluZSBIQVZFX1NZU19UWVBFU19IIDEKfCAjZGVm aW5lIEhBVkVfU1lTX1NUQVRfSCAxCnwgI2RlZmluZSBIQVZFX1NURExJQl9IIDEKfCAjZGVmaW5l IEhBVkVfU1RSSU5HX0ggMQp8ICNkZWZpbmUgSEFWRV9NRU1PUllfSCAxCnwgI2RlZmluZSBIQVZF X1NUUklOR1NfSCAxCnwgI2RlZmluZSBIQVZFX0lOVFRZUEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9T VERJTlRfSCAxCnwgI2RlZmluZSBIQVZFX1VOSVNURF9IIDEKfCAjZGVmaW5lIEhBVkVfTE9DQUxF X0ggMQp8ICNkZWZpbmUgSEFWRV9MQ19NRVNTQUdFUyAxCnwgI2RlZmluZSBIQVZFX0JJTkRfVEVY VERPTUFJTl9DT0RFU0VUIDEKfCAjZGVmaW5lIEhBVkVfR0VUVEVYVCAxCnwgI2RlZmluZSBIQVZF X0RDR0VUVEVYVCAxCnwgI2RlZmluZSBFTkFCTEVfTkxTIDEKfCAjZGVmaW5lIEdFVFRFWFRfUEFD S0FHRSAiZ2xpYjIwIgp8ICNkZWZpbmUgR0xJQl9MT0NBTEVfRElSICIvdXNyL2xvY2FsL3NoYXJl L2xvY2FsZSIKfCAjZGVmaW5lIFVTRV9MSUJJQ09OVl9HTlUgMQp8ICNkZWZpbmUgSEFWRV9ETEZD Tl9IIDEKfCAjZGVmaW5lIExUX09CSkRJUiAiLmxpYnMvIgp8ICNkZWZpbmUgU1REQ19IRUFERVJT IDEKfCAjZGVmaW5lIEhBVkVfVlBSSU5URiAxCnwgI2RlZmluZSBIQVZFX0FMTE9DQSAxCnwgI2Rl ZmluZSBIQVZFX01NQVAgMQp8ICNkZWZpbmUgSEFWRV9QT1NJWF9NRU1BTElHTiAxCnwgI2RlZmlu ZSBIQVZFX1ZBTExPQyAxCnwgI2RlZmluZSBIQVZFX0ZTWU5DIDEKfCAjZGVmaW5lIEhBVkVfQVRF WElUIDEKfCAjZGVmaW5lIEhBVkVfVElNRUdNIDEKfCAjZGVmaW5lIEhBVkVfR01USU1FX1IgMQp8 ICNkZWZpbmUgU0laRU9GX0NIQVIgMQp8ICNkZWZpbmUgU0laRU9GX1NIT1JUIDIKfCAjZGVmaW5l IFNJWkVPRl9MT05HIDgKfCAjZGVmaW5lIFNJWkVPRl9JTlQgNAp8ICNkZWZpbmUgU0laRU9GX1ZP SURfUCA4CnwgI2RlZmluZSBTSVpFT0ZfTE9OR19MT05HIDgKfCAjZGVmaW5lIFNJWkVPRl9fX0lO VDY0IDAKfCAjZGVmaW5lIEhBVkVfTE9OR19MT05HX0ZPUk1BVCAxCnwgI2RlZmluZSBTQU5FX01B TExPQ19QUk9UT1MgMQp8ICNkZWZpbmUgR19IQVZFX19fSU5MSU5FIDEKfCAjZGVmaW5lIEdfSEFW RV9fX0lOTElORV9fIDEKfCAjZGVmaW5lIEdfSEFWRV9JTkxJTkUgMQp8ICNkZWZpbmUgSEFWRV9E T1dISUxFX01BQ1JPUyAxCnwgI2RlZmluZSBIQVZFX0RJUkVOVF9IIDEKfCAjZGVmaW5lIEhBVkVf RkxPQVRfSCAxCnwgI2RlZmluZSBIQVZFX0xJTUlUU19IIDEKfCAjZGVmaW5lIEhBVkVfUFdEX0gg MQp8ICNkZWZpbmUgSEFWRV9HUlBfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19QQVJBTV9IIDEKfCAj ZGVmaW5lIEhBVkVfU1lTX1BPTExfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19SRVNPVVJDRV9IIDEK fCAjZGVmaW5lIEhBVkVfU1lTX1RJTUVfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19USU1FU19IIDEK fCAjZGVmaW5lIEhBVkVfU1lTX1dBSVRfSCAxCnwgI2RlZmluZSBIQVZFX1VOSVNURF9IIDEKfCAj ZGVmaW5lIEhBVkVfU1lTX1NFTEVDVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1RZUEVTX0ggMQp8 ICNkZWZpbmUgSEFWRV9TVERJTlRfSCAxCnwgI2RlZmluZSBIQVZFX1NDSEVEX0ggMQp8ICNkZWZp bmUgSEFWRV9TWVNfTU9VTlRfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19TVEFUVkZTX0ggMQp8ICNk ZWZpbmUgSEFWRV9TWVNfU1lTQ1RMX0ggMQp8ICNkZWZpbmUgSEFWRV9GU1RBQl9IIDEKfCAvKiBl bmQgY29uZmRlZnMuaC4gICovCnwgI2luY2x1ZGUgPHN0ZGlvLmg+CnwgI2lmZGVmIEhBVkVfU1lT X1RZUEVTX0gKfCAjIGluY2x1ZGUgPHN5cy90eXBlcy5oPgp8ICNlbmRpZgp8ICNpZmRlZiBIQVZF X1NZU19TVEFUX0gKfCAjIGluY2x1ZGUgPHN5cy9zdGF0Lmg+CnwgI2VuZGlmCnwgI2lmZGVmIFNU RENfSEVBREVSUwp8ICMgaW5jbHVkZSA8c3RkbGliLmg+CnwgIyBpbmNsdWRlIDxzdGRkZWYuaD4K fCAjZWxzZQp8ICMgaWZkZWYgSEFWRV9TVERMSUJfSAp8ICMgIGluY2x1ZGUgPHN0ZGxpYi5oPgp8 ICMgZW5kaWYKfCAjZW5kaWYKfCAjaWZkZWYgSEFWRV9TVFJJTkdfSAp8ICMgaWYgIWRlZmluZWQg U1REQ19IRUFERVJTICYmIGRlZmluZWQgSEFWRV9NRU1PUllfSAp8ICMgIGluY2x1ZGUgPG1lbW9y eS5oPgp8ICMgZW5kaWYKfCAjIGluY2x1ZGUgPHN0cmluZy5oPgp8ICNlbmRpZgp8ICNpZmRlZiBI QVZFX1NUUklOR1NfSAp8ICMgaW5jbHVkZSA8c3RyaW5ncy5oPgp8ICNlbmRpZgp8ICNpZmRlZiBI QVZFX0lOVFRZUEVTX0gKfCAjIGluY2x1ZGUgPGludHR5cGVzLmg+CnwgI2VuZGlmCnwgI2lmZGVm IEhBVkVfU1RESU5UX0gKfCAjIGluY2x1ZGUgPHN0ZGludC5oPgp8ICNlbmRpZgp8ICNpZmRlZiBI QVZFX1VOSVNURF9ICnwgIyBpbmNsdWRlIDx1bmlzdGQuaD4KfCAjZW5kaWYKfCBpbnQKfCBtYWlu ICgpCnwgewp8IHN0YXRpYyBzdHJ1Y3Qgc3RhdCBhY19hZ2dyOwp8IGlmIChhY19hZ2dyLnN0X210 aW0udHZfbnNlYykKfCByZXR1cm4gMDsKfCAgIDsKfCAgIHJldHVybiAwOwp8IH0KY29uZmlndXJl OjI5MzkyOiBjYyAtYyAtTzIgLWZuby1zdHJpY3QtYWxpYXNpbmcgLXBpcGUgLVdhbGwgLUkvdXNy L2xvY2FsL2luY2x1ZGUgLURHX0RJU0FCTEVfU0lOR0xFX0lOQ0xVREVTIGNvbmZ0ZXN0LmMgPiY1 CmNvbmZ0ZXN0LmM6IEluIGZ1bmN0aW9uICdtYWluJzoKY29uZnRlc3QuYzoxMTU6IGVycm9yOiAn c3RydWN0IHN0YXQnIGhhcyBubyBtZW1iZXIgbmFtZWQgJ3N0X210aW0nCmNvbmZpZ3VyZToyOTM5 OTogJD8gPSAxCmNvbmZpZ3VyZTogZmFpbGVkIHByb2dyYW0gd2FzOgp8IC8qIGNvbmZkZWZzLmgu ICAqLwp8ICNkZWZpbmUgUEFDS0FHRV9OQU1FICJnbGliIgp8ICNkZWZpbmUgUEFDS0FHRV9UQVJO QU1FICJnbGliIgp8ICNkZWZpbmUgUEFDS0FHRV9WRVJTSU9OICIyLjIwLjUiCnwgI2RlZmluZSBQ QUNLQUdFX1NUUklORyAiZ2xpYiAyLjIwLjUiCnwgI2RlZmluZSBQQUNLQUdFX0JVR1JFUE9SVCAi aHR0cDovL2J1Z3ppbGxhLmdub21lLm9yZy9lbnRlcl9idWcuY2dpP3Byb2R1Y3Q9Z2xpYiIKfCAj ZGVmaW5lIEdMSUJfTUFKT1JfVkVSU0lPTiAyCnwgI2RlZmluZSBHTElCX01JTk9SX1ZFUlNJT04g MjAKfCAjZGVmaW5lIEdMSUJfTUlDUk9fVkVSU0lPTiA1CnwgI2RlZmluZSBHTElCX0lOVEVSRkFD RV9BR0UgNQp8ICNkZWZpbmUgR0xJQl9CSU5BUllfQUdFIDIwMDUKfCAjZGVmaW5lIE5FRURfSUNP TlZfQ0FDSEUgMQp8ICNkZWZpbmUgU1REQ19IRUFERVJTIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1RZ UEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfU1RBVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1RETElC X0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJJTkdfSCAxCnwgI2RlZmluZSBIQVZFX01FTU9SWV9IIDEK fCAjZGVmaW5lIEhBVkVfU1RSSU5HU19IIDEKfCAjZGVmaW5lIEhBVkVfSU5UVFlQRVNfSCAxCnwg I2RlZmluZSBIQVZFX1NURElOVF9IIDEKfCAjZGVmaW5lIEhBVkVfVU5JU1REX0ggMQp8ICNkZWZp bmUgSEFWRV9MT0NBTEVfSCAxCnwgI2RlZmluZSBIQVZFX0xDX01FU1NBR0VTIDEKfCAjZGVmaW5l IEhBVkVfQklORF9URVhURE9NQUlOX0NPREVTRVQgMQp8ICNkZWZpbmUgSEFWRV9HRVRURVhUIDEK fCAjZGVmaW5lIEhBVkVfRENHRVRURVhUIDEKfCAjZGVmaW5lIEVOQUJMRV9OTFMgMQp8ICNkZWZp bmUgR0VUVEVYVF9QQUNLQUdFICJnbGliMjAiCnwgI2RlZmluZSBHTElCX0xPQ0FMRV9ESVIgIi91 c3IvbG9jYWwvc2hhcmUvbG9jYWxlIgp8ICNkZWZpbmUgVVNFX0xJQklDT05WX0dOVSAxCnwgI2Rl ZmluZSBIQVZFX0RMRkNOX0ggMQp8ICNkZWZpbmUgTFRfT0JKRElSICIubGlicy8iCnwgI2RlZmlu ZSBTVERDX0hFQURFUlMgMQp8ICNkZWZpbmUgSEFWRV9WUFJJTlRGIDEKfCAjZGVmaW5lIEhBVkVf QUxMT0NBIDEKfCAjZGVmaW5lIEhBVkVfTU1BUCAxCnwgI2RlZmluZSBIQVZFX1BPU0lYX01FTUFM SUdOIDEKfCAjZGVmaW5lIEhBVkVfVkFMTE9DIDEKfCAjZGVmaW5lIEhBVkVfRlNZTkMgMQp8ICNk ZWZpbmUgSEFWRV9BVEVYSVQgMQp8ICNkZWZpbmUgSEFWRV9USU1FR00gMQp8ICNkZWZpbmUgSEFW RV9HTVRJTUVfUiAxCnwgI2RlZmluZSBTSVpFT0ZfQ0hBUiAxCnwgI2RlZmluZSBTSVpFT0ZfU0hP UlQgMgp8ICNkZWZpbmUgU0laRU9GX0xPTkcgOAp8ICNkZWZpbmUgU0laRU9GX0lOVCA0CnwgI2Rl ZmluZSBTSVpFT0ZfVk9JRF9QIDgKfCAjZGVmaW5lIFNJWkVPRl9MT05HX0xPTkcgOAp8ICNkZWZp bmUgU0laRU9GX19fSU5UNjQgMAp8ICNkZWZpbmUgSEFWRV9MT05HX0xPTkdfRk9STUFUIDEKfCAj ZGVmaW5lIFNBTkVfTUFMTE9DX1BST1RPUyAxCnwgI2RlZmluZSBHX0hBVkVfX19JTkxJTkUgMQp8 ICNkZWZpbmUgR19IQVZFX19fSU5MSU5FX18gMQp8ICNkZWZpbmUgR19IQVZFX0lOTElORSAxCnwg I2RlZmluZSBIQVZFX0RPV0hJTEVfTUFDUk9TIDEKfCAjZGVmaW5lIEhBVkVfRElSRU5UX0ggMQp8 ICNkZWZpbmUgSEFWRV9GTE9BVF9IIDEKfCAjZGVmaW5lIEhBVkVfTElNSVRTX0ggMQp8ICNkZWZp bmUgSEFWRV9QV0RfSCAxCnwgI2RlZmluZSBIQVZFX0dSUF9IIDEKfCAjZGVmaW5lIEhBVkVfU1lT X1BBUkFNX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfUE9MTF9IIDEKfCAjZGVmaW5lIEhBVkVfU1lT X1JFU09VUkNFX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfVElNRV9IIDEKfCAjZGVmaW5lIEhBVkVf U1lTX1RJTUVTX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfV0FJVF9IIDEKfCAjZGVmaW5lIEhBVkVf VU5JU1REX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfU0VMRUNUX0ggMQp8ICNkZWZpbmUgSEFWRV9T WVNfVFlQRVNfSCAxCnwgI2RlZmluZSBIQVZFX1NURElOVF9IIDEKfCAjZGVmaW5lIEhBVkVfU0NI RURfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19NT1VOVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NU QVRWRlNfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19TWVNDVExfSCAxCnwgI2RlZmluZSBIQVZFX0ZT VEFCX0ggMQp8IC8qIGVuZCBjb25mZGVmcy5oLiAgKi8KfCAjaW5jbHVkZSA8c3RkaW8uaD4KfCAj aWZkZWYgSEFWRV9TWVNfVFlQRVNfSAp8ICMgaW5jbHVkZSA8c3lzL3R5cGVzLmg+CnwgI2VuZGlm CnwgI2lmZGVmIEhBVkVfU1lTX1NUQVRfSAp8ICMgaW5jbHVkZSA8c3lzL3N0YXQuaD4KfCAjZW5k aWYKfCAjaWZkZWYgU1REQ19IRUFERVJTCnwgIyBpbmNsdWRlIDxzdGRsaWIuaD4KfCAjIGluY2x1 ZGUgPHN0ZGRlZi5oPgp8ICNlbHNlCnwgIyBpZmRlZiBIQVZFX1NURExJQl9ICnwgIyAgaW5jbHVk ZSA8c3RkbGliLmg+CnwgIyBlbmRpZgp8ICNlbmRpZgp8ICNpZmRlZiBIQVZFX1NUUklOR19ICnwg IyBpZiAhZGVmaW5lZCBTVERDX0hFQURFUlMgJiYgZGVmaW5lZCBIQVZFX01FTU9SWV9ICnwgIyAg aW5jbHVkZSA8bWVtb3J5Lmg+CnwgIyBlbmRpZgp8ICMgaW5jbHVkZSA8c3RyaW5nLmg+CnwgI2Vu ZGlmCnwgI2lmZGVmIEhBVkVfU1RSSU5HU19ICnwgIyBpbmNsdWRlIDxzdHJpbmdzLmg+CnwgI2Vu ZGlmCnwgI2lmZGVmIEhBVkVfSU5UVFlQRVNfSAp8ICMgaW5jbHVkZSA8aW50dHlwZXMuaD4KfCAj ZW5kaWYKfCAjaWZkZWYgSEFWRV9TVERJTlRfSAp8ICMgaW5jbHVkZSA8c3RkaW50Lmg+CnwgI2Vu ZGlmCnwgI2lmZGVmIEhBVkVfVU5JU1REX0gKfCAjIGluY2x1ZGUgPHVuaXN0ZC5oPgp8ICNlbmRp Zgp8IGludAp8IG1haW4gKCkKfCB7Cnwgc3RhdGljIHN0cnVjdCBzdGF0IGFjX2FnZ3I7CnwgaWYg KHNpemVvZiBhY19hZ2dyLnN0X210aW0udHZfbnNlYykKfCByZXR1cm4gMDsKfCAgIDsKfCAgIHJl dHVybiAwOwp8IH0KY29uZmlndXJlOjI5NDE3OiByZXN1bHQ6IG5vCmNvbmZpZ3VyZToyOTQyNzog Y2hlY2tpbmcgZm9yIHN0cnVjdCBzdGF0LnN0X2F0aW1lbnNlYwpjb25maWd1cmU6Mjk0NTU6IGNj IC1jIC1PMiAtZm5vLXN0cmljdC1hbGlhc2luZyAtcGlwZSAtV2FsbCAtSS91c3IvbG9jYWwvaW5j bHVkZSAtREdfRElTQUJMRV9TSU5HTEVfSU5DTFVERVMgY29uZnRlc3QuYyA+JjUKY29uZnRlc3Qu YzogSW4gZnVuY3Rpb24gJ21haW4nOgpjb25mdGVzdC5jOjExNTogZXJyb3I6ICdzdHJ1Y3Qgc3Rh dCcgaGFzIG5vIG1lbWJlciBuYW1lZCAnc3RfYXRpbWVuc2VjJwpjb25maWd1cmU6Mjk0NjI6ICQ/ ID0gMQpjb25maWd1cmU6IGZhaWxlZCBwcm9ncmFtIHdhczoKfCAvKiBjb25mZGVmcy5oLiAgKi8K fCAjZGVmaW5lIFBBQ0tBR0VfTkFNRSAiZ2xpYiIKfCAjZGVmaW5lIFBBQ0tBR0VfVEFSTkFNRSAi Z2xpYiIKfCAjZGVmaW5lIFBBQ0tBR0VfVkVSU0lPTiAiMi4yMC41Igp8ICNkZWZpbmUgUEFDS0FH RV9TVFJJTkcgImdsaWIgMi4yMC41Igp8ICNkZWZpbmUgUEFDS0FHRV9CVUdSRVBPUlQgImh0dHA6 Ly9idWd6aWxsYS5nbm9tZS5vcmcvZW50ZXJfYnVnLmNnaT9wcm9kdWN0PWdsaWIiCnwgI2RlZmlu ZSBHTElCX01BSk9SX1ZFUlNJT04gMgp8ICNkZWZpbmUgR0xJQl9NSU5PUl9WRVJTSU9OIDIwCnwg I2RlZmluZSBHTElCX01JQ1JPX1ZFUlNJT04gNQp8ICNkZWZpbmUgR0xJQl9JTlRFUkZBQ0VfQUdF IDUKfCAjZGVmaW5lIEdMSUJfQklOQVJZX0FHRSAyMDA1CnwgI2RlZmluZSBORUVEX0lDT05WX0NB Q0hFIDEKfCAjZGVmaW5lIFNURENfSEVBREVSUyAxCnwgI2RlZmluZSBIQVZFX1NZU19UWVBFU19I IDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NUQVRfSCAxCnwgI2RlZmluZSBIQVZFX1NURExJQl9IIDEK fCAjZGVmaW5lIEhBVkVfU1RSSU5HX0ggMQp8ICNkZWZpbmUgSEFWRV9NRU1PUllfSCAxCnwgI2Rl ZmluZSBIQVZFX1NUUklOR1NfSCAxCnwgI2RlZmluZSBIQVZFX0lOVFRZUEVTX0ggMQp8ICNkZWZp bmUgSEFWRV9TVERJTlRfSCAxCnwgI2RlZmluZSBIQVZFX1VOSVNURF9IIDEKfCAjZGVmaW5lIEhB VkVfTE9DQUxFX0ggMQp8ICNkZWZpbmUgSEFWRV9MQ19NRVNTQUdFUyAxCnwgI2RlZmluZSBIQVZF X0JJTkRfVEVYVERPTUFJTl9DT0RFU0VUIDEKfCAjZGVmaW5lIEhBVkVfR0VUVEVYVCAxCnwgI2Rl ZmluZSBIQVZFX0RDR0VUVEVYVCAxCnwgI2RlZmluZSBFTkFCTEVfTkxTIDEKfCAjZGVmaW5lIEdF VFRFWFRfUEFDS0FHRSAiZ2xpYjIwIgp8ICNkZWZpbmUgR0xJQl9MT0NBTEVfRElSICIvdXNyL2xv Y2FsL3NoYXJlL2xvY2FsZSIKfCAjZGVmaW5lIFVTRV9MSUJJQ09OVl9HTlUgMQp8ICNkZWZpbmUg SEFWRV9ETEZDTl9IIDEKfCAjZGVmaW5lIExUX09CSkRJUiAiLmxpYnMvIgp8ICNkZWZpbmUgU1RE Q19IRUFERVJTIDEKfCAjZGVmaW5lIEhBVkVfVlBSSU5URiAxCnwgI2RlZmluZSBIQVZFX0FMTE9D QSAxCnwgI2RlZmluZSBIQVZFX01NQVAgMQp8ICNkZWZpbmUgSEFWRV9QT1NJWF9NRU1BTElHTiAx CnwgI2RlZmluZSBIQVZFX1ZBTExPQyAxCnwgI2RlZmluZSBIQVZFX0ZTWU5DIDEKfCAjZGVmaW5l IEhBVkVfQVRFWElUIDEKfCAjZGVmaW5lIEhBVkVfVElNRUdNIDEKfCAjZGVmaW5lIEhBVkVfR01U SU1FX1IgMQp8ICNkZWZpbmUgU0laRU9GX0NIQVIgMQp8ICNkZWZpbmUgU0laRU9GX1NIT1JUIDIK fCAjZGVmaW5lIFNJWkVPRl9MT05HIDgKfCAjZGVmaW5lIFNJWkVPRl9JTlQgNAp8ICNkZWZpbmUg U0laRU9GX1ZPSURfUCA4CnwgI2RlZmluZSBTSVpFT0ZfTE9OR19MT05HIDgKfCAjZGVmaW5lIFNJ WkVPRl9fX0lOVDY0IDAKfCAjZGVmaW5lIEhBVkVfTE9OR19MT05HX0ZPUk1BVCAxCnwgI2RlZmlu ZSBTQU5FX01BTExPQ19QUk9UT1MgMQp8ICNkZWZpbmUgR19IQVZFX19fSU5MSU5FIDEKfCAjZGVm aW5lIEdfSEFWRV9fX0lOTElORV9fIDEKfCAjZGVmaW5lIEdfSEFWRV9JTkxJTkUgMQp8ICNkZWZp bmUgSEFWRV9ET1dISUxFX01BQ1JPUyAxCnwgI2RlZmluZSBIQVZFX0RJUkVOVF9IIDEKfCAjZGVm aW5lIEhBVkVfRkxPQVRfSCAxCnwgI2RlZmluZSBIQVZFX0xJTUlUU19IIDEKfCAjZGVmaW5lIEhB VkVfUFdEX0ggMQp8ICNkZWZpbmUgSEFWRV9HUlBfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19QQVJB TV9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1BPTExfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19SRVNP VVJDRV9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1RJTUVfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19U SU1FU19IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1dBSVRfSCAxCnwgI2RlZmluZSBIQVZFX1VOSVNU RF9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NFTEVDVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1RZ UEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERJTlRfSCAxCnwgI2RlZmluZSBIQVZFX1NDSEVEX0gg MQp8ICNkZWZpbmUgSEFWRV9TWVNfTU9VTlRfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19TVEFUVkZT X0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfU1lTQ1RMX0ggMQp8ICNkZWZpbmUgSEFWRV9GU1RBQl9I IDEKfCAvKiBlbmQgY29uZmRlZnMuaC4gICovCnwgI2luY2x1ZGUgPHN0ZGlvLmg+CnwgI2lmZGVm IEhBVkVfU1lTX1RZUEVTX0gKfCAjIGluY2x1ZGUgPHN5cy90eXBlcy5oPgp8ICNlbmRpZgp8ICNp ZmRlZiBIQVZFX1NZU19TVEFUX0gKfCAjIGluY2x1ZGUgPHN5cy9zdGF0Lmg+CnwgI2VuZGlmCnwg I2lmZGVmIFNURENfSEVBREVSUwp8ICMgaW5jbHVkZSA8c3RkbGliLmg+CnwgIyBpbmNsdWRlIDxz dGRkZWYuaD4KfCAjZWxzZQp8ICMgaWZkZWYgSEFWRV9TVERMSUJfSAp8ICMgIGluY2x1ZGUgPHN0 ZGxpYi5oPgp8ICMgZW5kaWYKfCAjZW5kaWYKfCAjaWZkZWYgSEFWRV9TVFJJTkdfSAp8ICMgaWYg IWRlZmluZWQgU1REQ19IRUFERVJTICYmIGRlZmluZWQgSEFWRV9NRU1PUllfSAp8ICMgIGluY2x1 ZGUgPG1lbW9yeS5oPgp8ICMgZW5kaWYKfCAjIGluY2x1ZGUgPHN0cmluZy5oPgp8ICNlbmRpZgp8 ICNpZmRlZiBIQVZFX1NUUklOR1NfSAp8ICMgaW5jbHVkZSA8c3RyaW5ncy5oPgp8ICNlbmRpZgp8 ICNpZmRlZiBIQVZFX0lOVFRZUEVTX0gKfCAjIGluY2x1ZGUgPGludHR5cGVzLmg+CnwgI2VuZGlm CnwgI2lmZGVmIEhBVkVfU1RESU5UX0gKfCAjIGluY2x1ZGUgPHN0ZGludC5oPgp8ICNlbmRpZgp8 ICNpZmRlZiBIQVZFX1VOSVNURF9ICnwgIyBpbmNsdWRlIDx1bmlzdGQuaD4KfCAjZW5kaWYKfCBp bnQKfCBtYWluICgpCnwgewp8IHN0YXRpYyBzdHJ1Y3Qgc3RhdCBhY19hZ2dyOwp8IGlmIChhY19h Z2dyLnN0X2F0aW1lbnNlYykKfCByZXR1cm4gMDsKfCAgIDsKfCAgIHJldHVybiAwOwp8IH0KY29u ZmlndXJlOjI5NDk1OiBjYyAtYyAtTzIgLWZuby1zdHJpY3QtYWxpYXNpbmcgLXBpcGUgLVdhbGwg LUkvdXNyL2xvY2FsL2luY2x1ZGUgLURHX0RJU0FCTEVfU0lOR0xFX0lOQ0xVREVTIGNvbmZ0ZXN0 LmMgPiY1CmNvbmZ0ZXN0LmM6IEluIGZ1bmN0aW9uICdtYWluJzoKY29uZnRlc3QuYzoxMTU6IGVy cm9yOiAnc3RydWN0IHN0YXQnIGhhcyBubyBtZW1iZXIgbmFtZWQgJ3N0X2F0aW1lbnNlYycKY29u ZmlndXJlOjI5NTAyOiAkPyA9IDEKY29uZmlndXJlOiBmYWlsZWQgcHJvZ3JhbSB3YXM6CnwgLyog Y29uZmRlZnMuaC4gICovCnwgI2RlZmluZSBQQUNLQUdFX05BTUUgImdsaWIiCnwgI2RlZmluZSBQ QUNLQUdFX1RBUk5BTUUgImdsaWIiCnwgI2RlZmluZSBQQUNLQUdFX1ZFUlNJT04gIjIuMjAuNSIK fCAjZGVmaW5lIFBBQ0tBR0VfU1RSSU5HICJnbGliIDIuMjAuNSIKfCAjZGVmaW5lIFBBQ0tBR0Vf QlVHUkVQT1JUICJodHRwOi8vYnVnemlsbGEuZ25vbWUub3JnL2VudGVyX2J1Zy5jZ2k/cHJvZHVj dD1nbGliIgp8ICNkZWZpbmUgR0xJQl9NQUpPUl9WRVJTSU9OIDIKfCAjZGVmaW5lIEdMSUJfTUlO T1JfVkVSU0lPTiAyMAp8ICNkZWZpbmUgR0xJQl9NSUNST19WRVJTSU9OIDUKfCAjZGVmaW5lIEdM SUJfSU5URVJGQUNFX0FHRSA1CnwgI2RlZmluZSBHTElCX0JJTkFSWV9BR0UgMjAwNQp8ICNkZWZp bmUgTkVFRF9JQ09OVl9DQUNIRSAxCnwgI2RlZmluZSBTVERDX0hFQURFUlMgMQp8ICNkZWZpbmUg SEFWRV9TWVNfVFlQRVNfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19TVEFUX0ggMQp8ICNkZWZpbmUg SEFWRV9TVERMSUJfSCAxCnwgI2RlZmluZSBIQVZFX1NUUklOR19IIDEKfCAjZGVmaW5lIEhBVkVf TUVNT1JZX0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJJTkdTX0ggMQp8ICNkZWZpbmUgSEFWRV9JTlRU WVBFU19IIDEKfCAjZGVmaW5lIEhBVkVfU1RESU5UX0ggMQp8ICNkZWZpbmUgSEFWRV9VTklTVERf SCAxCnwgI2RlZmluZSBIQVZFX0xPQ0FMRV9IIDEKfCAjZGVmaW5lIEhBVkVfTENfTUVTU0FHRVMg MQp8ICNkZWZpbmUgSEFWRV9CSU5EX1RFWFRET01BSU5fQ09ERVNFVCAxCnwgI2RlZmluZSBIQVZF X0dFVFRFWFQgMQp8ICNkZWZpbmUgSEFWRV9EQ0dFVFRFWFQgMQp8ICNkZWZpbmUgRU5BQkxFX05M UyAxCnwgI2RlZmluZSBHRVRURVhUX1BBQ0tBR0UgImdsaWIyMCIKfCAjZGVmaW5lIEdMSUJfTE9D QUxFX0RJUiAiL3Vzci9sb2NhbC9zaGFyZS9sb2NhbGUiCnwgI2RlZmluZSBVU0VfTElCSUNPTlZf R05VIDEKfCAjZGVmaW5lIEhBVkVfRExGQ05fSCAxCnwgI2RlZmluZSBMVF9PQkpESVIgIi5saWJz LyIKfCAjZGVmaW5lIFNURENfSEVBREVSUyAxCnwgI2RlZmluZSBIQVZFX1ZQUklOVEYgMQp8ICNk ZWZpbmUgSEFWRV9BTExPQ0EgMQp8ICNkZWZpbmUgSEFWRV9NTUFQIDEKfCAjZGVmaW5lIEhBVkVf UE9TSVhfTUVNQUxJR04gMQp8ICNkZWZpbmUgSEFWRV9WQUxMT0MgMQp8ICNkZWZpbmUgSEFWRV9G U1lOQyAxCnwgI2RlZmluZSBIQVZFX0FURVhJVCAxCnwgI2RlZmluZSBIQVZFX1RJTUVHTSAxCnwg I2RlZmluZSBIQVZFX0dNVElNRV9SIDEKfCAjZGVmaW5lIFNJWkVPRl9DSEFSIDEKfCAjZGVmaW5l IFNJWkVPRl9TSE9SVCAyCnwgI2RlZmluZSBTSVpFT0ZfTE9ORyA4CnwgI2RlZmluZSBTSVpFT0Zf SU5UIDQKfCAjZGVmaW5lIFNJWkVPRl9WT0lEX1AgOAp8ICNkZWZpbmUgU0laRU9GX0xPTkdfTE9O RyA4CnwgI2RlZmluZSBTSVpFT0ZfX19JTlQ2NCAwCnwgI2RlZmluZSBIQVZFX0xPTkdfTE9OR19G T1JNQVQgMQp8ICNkZWZpbmUgU0FORV9NQUxMT0NfUFJPVE9TIDEKfCAjZGVmaW5lIEdfSEFWRV9f X0lOTElORSAxCnwgI2RlZmluZSBHX0hBVkVfX19JTkxJTkVfXyAxCnwgI2RlZmluZSBHX0hBVkVf SU5MSU5FIDEKfCAjZGVmaW5lIEhBVkVfRE9XSElMRV9NQUNST1MgMQp8ICNkZWZpbmUgSEFWRV9E SVJFTlRfSCAxCnwgI2RlZmluZSBIQVZFX0ZMT0FUX0ggMQp8ICNkZWZpbmUgSEFWRV9MSU1JVFNf SCAxCnwgI2RlZmluZSBIQVZFX1BXRF9IIDEKfCAjZGVmaW5lIEhBVkVfR1JQX0ggMQp8ICNkZWZp bmUgSEFWRV9TWVNfUEFSQU1fSCAxCnwgI2RlZmluZSBIQVZFX1NZU19QT0xMX0ggMQp8ICNkZWZp bmUgSEFWRV9TWVNfUkVTT1VSQ0VfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19USU1FX0ggMQp8ICNk ZWZpbmUgSEFWRV9TWVNfVElNRVNfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19XQUlUX0ggMQp8ICNk ZWZpbmUgSEFWRV9VTklTVERfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19TRUxFQ1RfSCAxCnwgI2Rl ZmluZSBIQVZFX1NZU19UWVBFU19IIDEKfCAjZGVmaW5lIEhBVkVfU1RESU5UX0ggMQp8ICNkZWZp bmUgSEFWRV9TQ0hFRF9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX01PVU5UX0ggMQp8ICNkZWZpbmUg SEFWRV9TWVNfU1RBVFZGU19IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NZU0NUTF9IIDEKfCAjZGVm aW5lIEhBVkVfRlNUQUJfSCAxCnwgLyogZW5kIGNvbmZkZWZzLmguICAqLwp8ICNpbmNsdWRlIDxz dGRpby5oPgp8ICNpZmRlZiBIQVZFX1NZU19UWVBFU19ICnwgIyBpbmNsdWRlIDxzeXMvdHlwZXMu aD4KfCAjZW5kaWYKfCAjaWZkZWYgSEFWRV9TWVNfU1RBVF9ICnwgIyBpbmNsdWRlIDxzeXMvc3Rh dC5oPgp8ICNlbmRpZgp8ICNpZmRlZiBTVERDX0hFQURFUlMKfCAjIGluY2x1ZGUgPHN0ZGxpYi5o Pgp8ICMgaW5jbHVkZSA8c3RkZGVmLmg+CnwgI2Vsc2UKfCAjIGlmZGVmIEhBVkVfU1RETElCX0gK fCAjICBpbmNsdWRlIDxzdGRsaWIuaD4KfCAjIGVuZGlmCnwgI2VuZGlmCnwgI2lmZGVmIEhBVkVf U1RSSU5HX0gKfCAjIGlmICFkZWZpbmVkIFNURENfSEVBREVSUyAmJiBkZWZpbmVkIEhBVkVfTUVN T1JZX0gKfCAjICBpbmNsdWRlIDxtZW1vcnkuaD4KfCAjIGVuZGlmCnwgIyBpbmNsdWRlIDxzdHJp bmcuaD4KfCAjZW5kaWYKfCAjaWZkZWYgSEFWRV9TVFJJTkdTX0gKfCAjIGluY2x1ZGUgPHN0cmlu Z3MuaD4KfCAjZW5kaWYKfCAjaWZkZWYgSEFWRV9JTlRUWVBFU19ICnwgIyBpbmNsdWRlIDxpbnR0 eXBlcy5oPgp8ICNlbmRpZgp8ICNpZmRlZiBIQVZFX1NURElOVF9ICnwgIyBpbmNsdWRlIDxzdGRp bnQuaD4KfCAjZW5kaWYKfCAjaWZkZWYgSEFWRV9VTklTVERfSAp8ICMgaW5jbHVkZSA8dW5pc3Rk Lmg+CnwgI2VuZGlmCnwgaW50CnwgbWFpbiAoKQp8IHsKfCBzdGF0aWMgc3RydWN0IHN0YXQgYWNf YWdncjsKfCBpZiAoc2l6ZW9mIGFjX2FnZ3Iuc3RfYXRpbWVuc2VjKQp8IHJldHVybiAwOwp8ICAg Owp8ICAgcmV0dXJuIDA7CnwgfQpjb25maWd1cmU6Mjk1MjA6IHJlc3VsdDogbm8KY29uZmlndXJl OjI5NTMwOiBjaGVja2luZyBmb3Igc3RydWN0IHN0YXQuc3RfYXRpbS50dl9uc2VjCmNvbmZpZ3Vy ZToyOTU1ODogY2MgLWMgLU8yIC1mbm8tc3RyaWN0LWFsaWFzaW5nIC1waXBlIC1XYWxsIC1JL3Vz ci9sb2NhbC9pbmNsdWRlIC1ER19ESVNBQkxFX1NJTkdMRV9JTkNMVURFUyBjb25mdGVzdC5jID4m NQpjb25mdGVzdC5jOiBJbiBmdW5jdGlvbiAnbWFpbic6CmNvbmZ0ZXN0LmM6MTE1OiBlcnJvcjog J3N0cnVjdCBzdGF0JyBoYXMgbm8gbWVtYmVyIG5hbWVkICdzdF9hdGltJwpjb25maWd1cmU6Mjk1 NjU6ICQ/ID0gMQpjb25maWd1cmU6IGZhaWxlZCBwcm9ncmFtIHdhczoKfCAvKiBjb25mZGVmcy5o LiAgKi8KfCAjZGVmaW5lIFBBQ0tBR0VfTkFNRSAiZ2xpYiIKfCAjZGVmaW5lIFBBQ0tBR0VfVEFS TkFNRSAiZ2xpYiIKfCAjZGVmaW5lIFBBQ0tBR0VfVkVSU0lPTiAiMi4yMC41Igp8ICNkZWZpbmUg UEFDS0FHRV9TVFJJTkcgImdsaWIgMi4yMC41Igp8ICNkZWZpbmUgUEFDS0FHRV9CVUdSRVBPUlQg Imh0dHA6Ly9idWd6aWxsYS5nbm9tZS5vcmcvZW50ZXJfYnVnLmNnaT9wcm9kdWN0PWdsaWIiCnwg I2RlZmluZSBHTElCX01BSk9SX1ZFUlNJT04gMgp8ICNkZWZpbmUgR0xJQl9NSU5PUl9WRVJTSU9O IDIwCnwgI2RlZmluZSBHTElCX01JQ1JPX1ZFUlNJT04gNQp8ICNkZWZpbmUgR0xJQl9JTlRFUkZB Q0VfQUdFIDUKfCAjZGVmaW5lIEdMSUJfQklOQVJZX0FHRSAyMDA1CnwgI2RlZmluZSBORUVEX0lD T05WX0NBQ0hFIDEKfCAjZGVmaW5lIFNURENfSEVBREVSUyAxCnwgI2RlZmluZSBIQVZFX1NZU19U WVBFU19IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NUQVRfSCAxCnwgI2RlZmluZSBIQVZFX1NURExJ Ql9IIDEKfCAjZGVmaW5lIEhBVkVfU1RSSU5HX0ggMQp8ICNkZWZpbmUgSEFWRV9NRU1PUllfSCAx CnwgI2RlZmluZSBIQVZFX1NUUklOR1NfSCAxCnwgI2RlZmluZSBIQVZFX0lOVFRZUEVTX0ggMQp8 ICNkZWZpbmUgSEFWRV9TVERJTlRfSCAxCnwgI2RlZmluZSBIQVZFX1VOSVNURF9IIDEKfCAjZGVm aW5lIEhBVkVfTE9DQUxFX0ggMQp8ICNkZWZpbmUgSEFWRV9MQ19NRVNTQUdFUyAxCnwgI2RlZmlu ZSBIQVZFX0JJTkRfVEVYVERPTUFJTl9DT0RFU0VUIDEKfCAjZGVmaW5lIEhBVkVfR0VUVEVYVCAx CnwgI2RlZmluZSBIQVZFX0RDR0VUVEVYVCAxCnwgI2RlZmluZSBFTkFCTEVfTkxTIDEKfCAjZGVm aW5lIEdFVFRFWFRfUEFDS0FHRSAiZ2xpYjIwIgp8ICNkZWZpbmUgR0xJQl9MT0NBTEVfRElSICIv dXNyL2xvY2FsL3NoYXJlL2xvY2FsZSIKfCAjZGVmaW5lIFVTRV9MSUJJQ09OVl9HTlUgMQp8ICNk ZWZpbmUgSEFWRV9ETEZDTl9IIDEKfCAjZGVmaW5lIExUX09CSkRJUiAiLmxpYnMvIgp8ICNkZWZp bmUgU1REQ19IRUFERVJTIDEKfCAjZGVmaW5lIEhBVkVfVlBSSU5URiAxCnwgI2RlZmluZSBIQVZF X0FMTE9DQSAxCnwgI2RlZmluZSBIQVZFX01NQVAgMQp8ICNkZWZpbmUgSEFWRV9QT1NJWF9NRU1B TElHTiAxCnwgI2RlZmluZSBIQVZFX1ZBTExPQyAxCnwgI2RlZmluZSBIQVZFX0ZTWU5DIDEKfCAj ZGVmaW5lIEhBVkVfQVRFWElUIDEKfCAjZGVmaW5lIEhBVkVfVElNRUdNIDEKfCAjZGVmaW5lIEhB VkVfR01USU1FX1IgMQp8ICNkZWZpbmUgU0laRU9GX0NIQVIgMQp8ICNkZWZpbmUgU0laRU9GX1NI T1JUIDIKfCAjZGVmaW5lIFNJWkVPRl9MT05HIDgKfCAjZGVmaW5lIFNJWkVPRl9JTlQgNAp8ICNk ZWZpbmUgU0laRU9GX1ZPSURfUCA4CnwgI2RlZmluZSBTSVpFT0ZfTE9OR19MT05HIDgKfCAjZGVm aW5lIFNJWkVPRl9fX0lOVDY0IDAKfCAjZGVmaW5lIEhBVkVfTE9OR19MT05HX0ZPUk1BVCAxCnwg I2RlZmluZSBTQU5FX01BTExPQ19QUk9UT1MgMQp8ICNkZWZpbmUgR19IQVZFX19fSU5MSU5FIDEK fCAjZGVmaW5lIEdfSEFWRV9fX0lOTElORV9fIDEKfCAjZGVmaW5lIEdfSEFWRV9JTkxJTkUgMQp8 ICNkZWZpbmUgSEFWRV9ET1dISUxFX01BQ1JPUyAxCnwgI2RlZmluZSBIQVZFX0RJUkVOVF9IIDEK fCAjZGVmaW5lIEhBVkVfRkxPQVRfSCAxCnwgI2RlZmluZSBIQVZFX0xJTUlUU19IIDEKfCAjZGVm aW5lIEhBVkVfUFdEX0ggMQp8ICNkZWZpbmUgSEFWRV9HUlBfSCAxCnwgI2RlZmluZSBIQVZFX1NZ U19QQVJBTV9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1BPTExfSCAxCnwgI2RlZmluZSBIQVZFX1NZ U19SRVNPVVJDRV9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1RJTUVfSCAxCnwgI2RlZmluZSBIQVZF X1NZU19USU1FU19IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1dBSVRfSCAxCnwgI2RlZmluZSBIQVZF X1VOSVNURF9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NFTEVDVF9IIDEKfCAjZGVmaW5lIEhBVkVf U1lTX1RZUEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERJTlRfSCAxCnwgI2RlZmluZSBIQVZFX1ND SEVEX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfTU9VTlRfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19T VEFUVkZTX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfU1lTQ1RMX0ggMQp8ICNkZWZpbmUgSEFWRV9G U1RBQl9IIDEKfCAvKiBlbmQgY29uZmRlZnMuaC4gICovCnwgI2luY2x1ZGUgPHN0ZGlvLmg+Cnwg I2lmZGVmIEhBVkVfU1lTX1RZUEVTX0gKfCAjIGluY2x1ZGUgPHN5cy90eXBlcy5oPgp8ICNlbmRp Zgp8ICNpZmRlZiBIQVZFX1NZU19TVEFUX0gKfCAjIGluY2x1ZGUgPHN5cy9zdGF0Lmg+CnwgI2Vu ZGlmCnwgI2lmZGVmIFNURENfSEVBREVSUwp8ICMgaW5jbHVkZSA8c3RkbGliLmg+CnwgIyBpbmNs dWRlIDxzdGRkZWYuaD4KfCAjZWxzZQp8ICMgaWZkZWYgSEFWRV9TVERMSUJfSAp8ICMgIGluY2x1 ZGUgPHN0ZGxpYi5oPgp8ICMgZW5kaWYKfCAjZW5kaWYKfCAjaWZkZWYgSEFWRV9TVFJJTkdfSAp8 ICMgaWYgIWRlZmluZWQgU1REQ19IRUFERVJTICYmIGRlZmluZWQgSEFWRV9NRU1PUllfSAp8ICMg IGluY2x1ZGUgPG1lbW9yeS5oPgp8ICMgZW5kaWYKfCAjIGluY2x1ZGUgPHN0cmluZy5oPgp8ICNl bmRpZgp8ICNpZmRlZiBIQVZFX1NUUklOR1NfSAp8ICMgaW5jbHVkZSA8c3RyaW5ncy5oPgp8ICNl bmRpZgp8ICNpZmRlZiBIQVZFX0lOVFRZUEVTX0gKfCAjIGluY2x1ZGUgPGludHR5cGVzLmg+Cnwg I2VuZGlmCnwgI2lmZGVmIEhBVkVfU1RESU5UX0gKfCAjIGluY2x1ZGUgPHN0ZGludC5oPgp8ICNl bmRpZgp8ICNpZmRlZiBIQVZFX1VOSVNURF9ICnwgIyBpbmNsdWRlIDx1bmlzdGQuaD4KfCAjZW5k aWYKfCBpbnQKfCBtYWluICgpCnwgewp8IHN0YXRpYyBzdHJ1Y3Qgc3RhdCBhY19hZ2dyOwp8IGlm IChhY19hZ2dyLnN0X2F0aW0udHZfbnNlYykKfCByZXR1cm4gMDsKfCAgIDsKfCAgIHJldHVybiAw Owp8IH0KY29uZmlndXJlOjI5NjA0OiBjYyAtYyAtTzIgLWZuby1zdHJpY3QtYWxpYXNpbmcgLXBp cGUgLVdhbGwgLUkvdXNyL2xvY2FsL2luY2x1ZGUgLURHX0RJU0FCTEVfU0lOR0xFX0lOQ0xVREVT IGNvbmZ0ZXN0LmMgPiY1CmNvbmZ0ZXN0LmM6IEluIGZ1bmN0aW9uICdtYWluJzoKY29uZnRlc3Qu YzoxMjE6IGVycm9yOiAnc3RydWN0IHN0YXQnIGhhcyBubyBtZW1iZXIgbmFtZWQgJ3N0X2F0aW0n CmNvbmZpZ3VyZToyOTYxMTogJD8gPSAxCmNvbmZpZ3VyZTogZmFpbGVkIHByb2dyYW0gd2FzOgp8 IC8qIGNvbmZkZWZzLmguICAqLwp8ICNkZWZpbmUgUEFDS0FHRV9OQU1FICJnbGliIgp8ICNkZWZp bmUgUEFDS0FHRV9UQVJOQU1FICJnbGliIgp8ICNkZWZpbmUgUEFDS0FHRV9WRVJTSU9OICIyLjIw LjUiCnwgI2RlZmluZSBQQUNLQUdFX1NUUklORyAiZ2xpYiAyLjIwLjUiCnwgI2RlZmluZSBQQUNL QUdFX0JVR1JFUE9SVCAiaHR0cDovL2J1Z3ppbGxhLmdub21lLm9yZy9lbnRlcl9idWcuY2dpP3By b2R1Y3Q9Z2xpYiIKfCAjZGVmaW5lIEdMSUJfTUFKT1JfVkVSU0lPTiAyCnwgI2RlZmluZSBHTElC X01JTk9SX1ZFUlNJT04gMjAKfCAjZGVmaW5lIEdMSUJfTUlDUk9fVkVSU0lPTiA1CnwgI2RlZmlu ZSBHTElCX0lOVEVSRkFDRV9BR0UgNQp8ICNkZWZpbmUgR0xJQl9CSU5BUllfQUdFIDIwMDUKfCAj ZGVmaW5lIE5FRURfSUNPTlZfQ0FDSEUgMQp8ICNkZWZpbmUgU1REQ19IRUFERVJTIDEKfCAjZGVm aW5lIEhBVkVfU1lTX1RZUEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfU1RBVF9IIDEKfCAjZGVm aW5lIEhBVkVfU1RETElCX0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJJTkdfSCAxCnwgI2RlZmluZSBI QVZFX01FTU9SWV9IIDEKfCAjZGVmaW5lIEhBVkVfU1RSSU5HU19IIDEKfCAjZGVmaW5lIEhBVkVf SU5UVFlQRVNfSCAxCnwgI2RlZmluZSBIQVZFX1NURElOVF9IIDEKfCAjZGVmaW5lIEhBVkVfVU5J U1REX0ggMQp8ICNkZWZpbmUgSEFWRV9MT0NBTEVfSCAxCnwgI2RlZmluZSBIQVZFX0xDX01FU1NB R0VTIDEKfCAjZGVmaW5lIEhBVkVfQklORF9URVhURE9NQUlOX0NPREVTRVQgMQp8ICNkZWZpbmUg SEFWRV9HRVRURVhUIDEKfCAjZGVmaW5lIEhBVkVfRENHRVRURVhUIDEKfCAjZGVmaW5lIEVOQUJM RV9OTFMgMQp8ICNkZWZpbmUgR0VUVEVYVF9QQUNLQUdFICJnbGliMjAiCnwgI2RlZmluZSBHTElC X0xPQ0FMRV9ESVIgIi91c3IvbG9jYWwvc2hhcmUvbG9jYWxlIgp8ICNkZWZpbmUgVVNFX0xJQklD T05WX0dOVSAxCnwgI2RlZmluZSBIQVZFX0RMRkNOX0ggMQp8ICNkZWZpbmUgTFRfT0JKRElSICIu bGlicy8iCnwgI2RlZmluZSBTVERDX0hFQURFUlMgMQp8ICNkZWZpbmUgSEFWRV9WUFJJTlRGIDEK fCAjZGVmaW5lIEhBVkVfQUxMT0NBIDEKfCAjZGVmaW5lIEhBVkVfTU1BUCAxCnwgI2RlZmluZSBI QVZFX1BPU0lYX01FTUFMSUdOIDEKfCAjZGVmaW5lIEhBVkVfVkFMTE9DIDEKfCAjZGVmaW5lIEhB VkVfRlNZTkMgMQp8ICNkZWZpbmUgSEFWRV9BVEVYSVQgMQp8ICNkZWZpbmUgSEFWRV9USU1FR00g MQp8ICNkZWZpbmUgSEFWRV9HTVRJTUVfUiAxCnwgI2RlZmluZSBTSVpFT0ZfQ0hBUiAxCnwgI2Rl ZmluZSBTSVpFT0ZfU0hPUlQgMgp8ICNkZWZpbmUgU0laRU9GX0xPTkcgOAp8ICNkZWZpbmUgU0la RU9GX0lOVCA0CnwgI2RlZmluZSBTSVpFT0ZfVk9JRF9QIDgKfCAjZGVmaW5lIFNJWkVPRl9MT05H X0xPTkcgOAp8ICNkZWZpbmUgU0laRU9GX19fSU5UNjQgMAp8ICNkZWZpbmUgSEFWRV9MT05HX0xP TkdfRk9STUFUIDEKfCAjZGVmaW5lIFNBTkVfTUFMTE9DX1BST1RPUyAxCnwgI2RlZmluZSBHX0hB VkVfX19JTkxJTkUgMQp8ICNkZWZpbmUgR19IQVZFX19fSU5MSU5FX18gMQp8ICNkZWZpbmUgR19I QVZFX0lOTElORSAxCnwgI2RlZmluZSBIQVZFX0RPV0hJTEVfTUFDUk9TIDEKfCAjZGVmaW5lIEhB VkVfRElSRU5UX0ggMQp8ICNkZWZpbmUgSEFWRV9GTE9BVF9IIDEKfCAjZGVmaW5lIEhBVkVfTElN SVRTX0ggMQp8ICNkZWZpbmUgSEFWRV9QV0RfSCAxCnwgI2RlZmluZSBIQVZFX0dSUF9IIDEKfCAj ZGVmaW5lIEhBVkVfU1lTX1BBUkFNX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfUE9MTF9IIDEKfCAj ZGVmaW5lIEhBVkVfU1lTX1JFU09VUkNFX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfVElNRV9IIDEK fCAjZGVmaW5lIEhBVkVfU1lTX1RJTUVTX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfV0FJVF9IIDEK fCAjZGVmaW5lIEhBVkVfVU5JU1REX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfU0VMRUNUX0ggMQp8 ICNkZWZpbmUgSEFWRV9TWVNfVFlQRVNfSCAxCnwgI2RlZmluZSBIQVZFX1NURElOVF9IIDEKfCAj ZGVmaW5lIEhBVkVfU0NIRURfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19NT1VOVF9IIDEKfCAjZGVm aW5lIEhBVkVfU1lTX1NUQVRWRlNfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19TWVNDVExfSCAxCnwg I2RlZmluZSBIQVZFX0ZTVEFCX0ggMQp8IC8qIGVuZCBjb25mZGVmcy5oLiAgKi8KfCAjaW5jbHVk ZSA8c3RkaW8uaD4KfCAjaWZkZWYgSEFWRV9TWVNfVFlQRVNfSAp8ICMgaW5jbHVkZSA8c3lzL3R5 cGVzLmg+CnwgI2VuZGlmCnwgI2lmZGVmIEhBVkVfU1lTX1NUQVRfSAp8ICMgaW5jbHVkZSA8c3lz L3N0YXQuaD4KfCAjZW5kaWYKfCAjaWZkZWYgU1REQ19IRUFERVJTCnwgIyBpbmNsdWRlIDxzdGRs aWIuaD4KfCAjIGluY2x1ZGUgPHN0ZGRlZi5oPgp8ICNlbHNlCnwgIyBpZmRlZiBIQVZFX1NURExJ Ql9ICnwgIyAgaW5jbHVkZSA8c3RkbGliLmg+CnwgIyBlbmRpZgp8ICNlbmRpZgp8ICNpZmRlZiBI QVZFX1NUUklOR19ICnwgIyBpZiAhZGVmaW5lZCBTVERDX0hFQURFUlMgJiYgZGVmaW5lZCBIQVZF X01FTU9SWV9ICnwgIyAgaW5jbHVkZSA8bWVtb3J5Lmg+CnwgIyBlbmRpZgp8ICMgaW5jbHVkZSA8 c3RyaW5nLmg+CnwgI2VuZGlmCnwgI2lmZGVmIEhBVkVfU1RSSU5HU19ICnwgIyBpbmNsdWRlIDxz dHJpbmdzLmg+CnwgI2VuZGlmCnwgI2lmZGVmIEhBVkVfSU5UVFlQRVNfSAp8ICMgaW5jbHVkZSA8 aW50dHlwZXMuaD4KfCAjZW5kaWYKfCAjaWZkZWYgSEFWRV9TVERJTlRfSAp8ICMgaW5jbHVkZSA8 c3RkaW50Lmg+CnwgI2VuZGlmCnwgI2lmZGVmIEhBVkVfVU5JU1REX0gKfCAjIGluY2x1ZGUgPHVu aXN0ZC5oPgp8ICNlbmRpZgp8ICNpZmRlZiBIQVZFX1NZU19QQVJBTV9ICnwgI2luY2x1ZGUgPHN5 cy9wYXJhbS5oPgp8ICNlbmRpZgp8ICNpZmRlZiBIQVZFX1NZU19NT1VOVF9ICnwgI2luY2x1ZGUg PHN5cy9tb3VudC5oPgp8ICNlbmRpZgp8IGludAp8IG1haW4gKCkKfCB7Cnwgc3RhdGljIHN0cnVj dCBzdGF0IGFjX2FnZ3I7CnwgaWYgKHNpemVvZiBhY19hZ2dyLnN0X2F0aW0udHZfbnNlYykKfCBy ZXR1cm4gMDsKfCAgIDsKfCAgIHJldHVybiAwOwp8IH0KY29uZmlndXJlOjI5NjI5OiByZXN1bHQ6 IG5vCmNvbmZpZ3VyZToyOTYzOTogY2hlY2tpbmcgZm9yIHN0cnVjdCBzdGF0LnN0X2N0aW1lbnNl Ywpjb25maWd1cmU6Mjk2Njc6IGNjIC1jIC1PMiAtZm5vLXN0cmljdC1hbGlhc2luZyAtcGlwZSAt V2FsbCAtSS91c3IvbG9jYWwvaW5jbHVkZSAtREdfRElTQUJMRV9TSU5HTEVfSU5DTFVERVMgY29u ZnRlc3QuYyA+JjUKY29uZnRlc3QuYzogSW4gZnVuY3Rpb24gJ21haW4nOgpjb25mdGVzdC5jOjEx NTogZXJyb3I6ICdzdHJ1Y3Qgc3RhdCcgaGFzIG5vIG1lbWJlciBuYW1lZCAnc3RfY3RpbWVuc2Vj Jwpjb25maWd1cmU6Mjk2NzQ6ICQ/ID0gMQpjb25maWd1cmU6IGZhaWxlZCBwcm9ncmFtIHdhczoK fCAvKiBjb25mZGVmcy5oLiAgKi8KfCAjZGVmaW5lIFBBQ0tBR0VfTkFNRSAiZ2xpYiIKfCAjZGVm aW5lIFBBQ0tBR0VfVEFSTkFNRSAiZ2xpYiIKfCAjZGVmaW5lIFBBQ0tBR0VfVkVSU0lPTiAiMi4y MC41Igp8ICNkZWZpbmUgUEFDS0FHRV9TVFJJTkcgImdsaWIgMi4yMC41Igp8ICNkZWZpbmUgUEFD S0FHRV9CVUdSRVBPUlQgImh0dHA6Ly9idWd6aWxsYS5nbm9tZS5vcmcvZW50ZXJfYnVnLmNnaT9w cm9kdWN0PWdsaWIiCnwgI2RlZmluZSBHTElCX01BSk9SX1ZFUlNJT04gMgp8ICNkZWZpbmUgR0xJ Ql9NSU5PUl9WRVJTSU9OIDIwCnwgI2RlZmluZSBHTElCX01JQ1JPX1ZFUlNJT04gNQp8ICNkZWZp bmUgR0xJQl9JTlRFUkZBQ0VfQUdFIDUKfCAjZGVmaW5lIEdMSUJfQklOQVJZX0FHRSAyMDA1Cnwg I2RlZmluZSBORUVEX0lDT05WX0NBQ0hFIDEKfCAjZGVmaW5lIFNURENfSEVBREVSUyAxCnwgI2Rl ZmluZSBIQVZFX1NZU19UWVBFU19IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NUQVRfSCAxCnwgI2Rl ZmluZSBIQVZFX1NURExJQl9IIDEKfCAjZGVmaW5lIEhBVkVfU1RSSU5HX0ggMQp8ICNkZWZpbmUg SEFWRV9NRU1PUllfSCAxCnwgI2RlZmluZSBIQVZFX1NUUklOR1NfSCAxCnwgI2RlZmluZSBIQVZF X0lOVFRZUEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERJTlRfSCAxCnwgI2RlZmluZSBIQVZFX1VO SVNURF9IIDEKfCAjZGVmaW5lIEhBVkVfTE9DQUxFX0ggMQp8ICNkZWZpbmUgSEFWRV9MQ19NRVNT QUdFUyAxCnwgI2RlZmluZSBIQVZFX0JJTkRfVEVYVERPTUFJTl9DT0RFU0VUIDEKfCAjZGVmaW5l IEhBVkVfR0VUVEVYVCAxCnwgI2RlZmluZSBIQVZFX0RDR0VUVEVYVCAxCnwgI2RlZmluZSBFTkFC TEVfTkxTIDEKfCAjZGVmaW5lIEdFVFRFWFRfUEFDS0FHRSAiZ2xpYjIwIgp8ICNkZWZpbmUgR0xJ Ql9MT0NBTEVfRElSICIvdXNyL2xvY2FsL3NoYXJlL2xvY2FsZSIKfCAjZGVmaW5lIFVTRV9MSUJJ Q09OVl9HTlUgMQp8ICNkZWZpbmUgSEFWRV9ETEZDTl9IIDEKfCAjZGVmaW5lIExUX09CSkRJUiAi LmxpYnMvIgp8ICNkZWZpbmUgU1REQ19IRUFERVJTIDEKfCAjZGVmaW5lIEhBVkVfVlBSSU5URiAx CnwgI2RlZmluZSBIQVZFX0FMTE9DQSAxCnwgI2RlZmluZSBIQVZFX01NQVAgMQp8ICNkZWZpbmUg SEFWRV9QT1NJWF9NRU1BTElHTiAxCnwgI2RlZmluZSBIQVZFX1ZBTExPQyAxCnwgI2RlZmluZSBI QVZFX0ZTWU5DIDEKfCAjZGVmaW5lIEhBVkVfQVRFWElUIDEKfCAjZGVmaW5lIEhBVkVfVElNRUdN IDEKfCAjZGVmaW5lIEhBVkVfR01USU1FX1IgMQp8ICNkZWZpbmUgU0laRU9GX0NIQVIgMQp8ICNk ZWZpbmUgU0laRU9GX1NIT1JUIDIKfCAjZGVmaW5lIFNJWkVPRl9MT05HIDgKfCAjZGVmaW5lIFNJ WkVPRl9JTlQgNAp8ICNkZWZpbmUgU0laRU9GX1ZPSURfUCA4CnwgI2RlZmluZSBTSVpFT0ZfTE9O R19MT05HIDgKfCAjZGVmaW5lIFNJWkVPRl9fX0lOVDY0IDAKfCAjZGVmaW5lIEhBVkVfTE9OR19M T05HX0ZPUk1BVCAxCnwgI2RlZmluZSBTQU5FX01BTExPQ19QUk9UT1MgMQp8ICNkZWZpbmUgR19I QVZFX19fSU5MSU5FIDEKfCAjZGVmaW5lIEdfSEFWRV9fX0lOTElORV9fIDEKfCAjZGVmaW5lIEdf SEFWRV9JTkxJTkUgMQp8ICNkZWZpbmUgSEFWRV9ET1dISUxFX01BQ1JPUyAxCnwgI2RlZmluZSBI QVZFX0RJUkVOVF9IIDEKfCAjZGVmaW5lIEhBVkVfRkxPQVRfSCAxCnwgI2RlZmluZSBIQVZFX0xJ TUlUU19IIDEKfCAjZGVmaW5lIEhBVkVfUFdEX0ggMQp8ICNkZWZpbmUgSEFWRV9HUlBfSCAxCnwg I2RlZmluZSBIQVZFX1NZU19QQVJBTV9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1BPTExfSCAxCnwg I2RlZmluZSBIQVZFX1NZU19SRVNPVVJDRV9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1RJTUVfSCAx CnwgI2RlZmluZSBIQVZFX1NZU19USU1FU19IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1dBSVRfSCAx CnwgI2RlZmluZSBIQVZFX1VOSVNURF9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NFTEVDVF9IIDEK fCAjZGVmaW5lIEhBVkVfU1lTX1RZUEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERJTlRfSCAxCnwg I2RlZmluZSBIQVZFX1NDSEVEX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfTU9VTlRfSCAxCnwgI2Rl ZmluZSBIQVZFX1NZU19TVEFUVkZTX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfU1lTQ1RMX0ggMQp8 ICNkZWZpbmUgSEFWRV9GU1RBQl9IIDEKfCAvKiBlbmQgY29uZmRlZnMuaC4gICovCnwgI2luY2x1 ZGUgPHN0ZGlvLmg+CnwgI2lmZGVmIEhBVkVfU1lTX1RZUEVTX0gKfCAjIGluY2x1ZGUgPHN5cy90 eXBlcy5oPgp8ICNlbmRpZgp8ICNpZmRlZiBIQVZFX1NZU19TVEFUX0gKfCAjIGluY2x1ZGUgPHN5 cy9zdGF0Lmg+CnwgI2VuZGlmCnwgI2lmZGVmIFNURENfSEVBREVSUwp8ICMgaW5jbHVkZSA8c3Rk bGliLmg+CnwgIyBpbmNsdWRlIDxzdGRkZWYuaD4KfCAjZWxzZQp8ICMgaWZkZWYgSEFWRV9TVERM SUJfSAp8ICMgIGluY2x1ZGUgPHN0ZGxpYi5oPgp8ICMgZW5kaWYKfCAjZW5kaWYKfCAjaWZkZWYg SEFWRV9TVFJJTkdfSAp8ICMgaWYgIWRlZmluZWQgU1REQ19IRUFERVJTICYmIGRlZmluZWQgSEFW RV9NRU1PUllfSAp8ICMgIGluY2x1ZGUgPG1lbW9yeS5oPgp8ICMgZW5kaWYKfCAjIGluY2x1ZGUg PHN0cmluZy5oPgp8ICNlbmRpZgp8ICNpZmRlZiBIQVZFX1NUUklOR1NfSAp8ICMgaW5jbHVkZSA8 c3RyaW5ncy5oPgp8ICNlbmRpZgp8ICNpZmRlZiBIQVZFX0lOVFRZUEVTX0gKfCAjIGluY2x1ZGUg PGludHR5cGVzLmg+CnwgI2VuZGlmCnwgI2lmZGVmIEhBVkVfU1RESU5UX0gKfCAjIGluY2x1ZGUg PHN0ZGludC5oPgp8ICNlbmRpZgp8ICNpZmRlZiBIQVZFX1VOSVNURF9ICnwgIyBpbmNsdWRlIDx1 bmlzdGQuaD4KfCAjZW5kaWYKfCBpbnQKfCBtYWluICgpCnwgewp8IHN0YXRpYyBzdHJ1Y3Qgc3Rh dCBhY19hZ2dyOwp8IGlmIChhY19hZ2dyLnN0X2N0aW1lbnNlYykKfCByZXR1cm4gMDsKfCAgIDsK fCAgIHJldHVybiAwOwp8IH0KY29uZmlndXJlOjI5NzA3OiBjYyAtYyAtTzIgLWZuby1zdHJpY3Qt YWxpYXNpbmcgLXBpcGUgLVdhbGwgLUkvdXNyL2xvY2FsL2luY2x1ZGUgLURHX0RJU0FCTEVfU0lO R0xFX0lOQ0xVREVTIGNvbmZ0ZXN0LmMgPiY1CmNvbmZ0ZXN0LmM6IEluIGZ1bmN0aW9uICdtYWlu JzoKY29uZnRlc3QuYzoxMTU6IGVycm9yOiAnc3RydWN0IHN0YXQnIGhhcyBubyBtZW1iZXIgbmFt ZWQgJ3N0X2N0aW1lbnNlYycKY29uZmlndXJlOjI5NzE0OiAkPyA9IDEKY29uZmlndXJlOiBmYWls ZWQgcHJvZ3JhbSB3YXM6CnwgLyogY29uZmRlZnMuaC4gICovCnwgI2RlZmluZSBQQUNLQUdFX05B TUUgImdsaWIiCnwgI2RlZmluZSBQQUNLQUdFX1RBUk5BTUUgImdsaWIiCnwgI2RlZmluZSBQQUNL QUdFX1ZFUlNJT04gIjIuMjAuNSIKfCAjZGVmaW5lIFBBQ0tBR0VfU1RSSU5HICJnbGliIDIuMjAu NSIKfCAjZGVmaW5lIFBBQ0tBR0VfQlVHUkVQT1JUICJodHRwOi8vYnVnemlsbGEuZ25vbWUub3Jn L2VudGVyX2J1Zy5jZ2k/cHJvZHVjdD1nbGliIgp8ICNkZWZpbmUgR0xJQl9NQUpPUl9WRVJTSU9O IDIKfCAjZGVmaW5lIEdMSUJfTUlOT1JfVkVSU0lPTiAyMAp8ICNkZWZpbmUgR0xJQl9NSUNST19W RVJTSU9OIDUKfCAjZGVmaW5lIEdMSUJfSU5URVJGQUNFX0FHRSA1CnwgI2RlZmluZSBHTElCX0JJ TkFSWV9BR0UgMjAwNQp8ICNkZWZpbmUgTkVFRF9JQ09OVl9DQUNIRSAxCnwgI2RlZmluZSBTVERD X0hFQURFUlMgMQp8ICNkZWZpbmUgSEFWRV9TWVNfVFlQRVNfSCAxCnwgI2RlZmluZSBIQVZFX1NZ U19TVEFUX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERMSUJfSCAxCnwgI2RlZmluZSBIQVZFX1NUUklO R19IIDEKfCAjZGVmaW5lIEhBVkVfTUVNT1JZX0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJJTkdTX0gg MQp8ICNkZWZpbmUgSEFWRV9JTlRUWVBFU19IIDEKfCAjZGVmaW5lIEhBVkVfU1RESU5UX0ggMQp8 ICNkZWZpbmUgSEFWRV9VTklTVERfSCAxCnwgI2RlZmluZSBIQVZFX0xPQ0FMRV9IIDEKfCAjZGVm aW5lIEhBVkVfTENfTUVTU0FHRVMgMQp8ICNkZWZpbmUgSEFWRV9CSU5EX1RFWFRET01BSU5fQ09E RVNFVCAxCnwgI2RlZmluZSBIQVZFX0dFVFRFWFQgMQp8ICNkZWZpbmUgSEFWRV9EQ0dFVFRFWFQg MQp8ICNkZWZpbmUgRU5BQkxFX05MUyAxCnwgI2RlZmluZSBHRVRURVhUX1BBQ0tBR0UgImdsaWIy MCIKfCAjZGVmaW5lIEdMSUJfTE9DQUxFX0RJUiAiL3Vzci9sb2NhbC9zaGFyZS9sb2NhbGUiCnwg I2RlZmluZSBVU0VfTElCSUNPTlZfR05VIDEKfCAjZGVmaW5lIEhBVkVfRExGQ05fSCAxCnwgI2Rl ZmluZSBMVF9PQkpESVIgIi5saWJzLyIKfCAjZGVmaW5lIFNURENfSEVBREVSUyAxCnwgI2RlZmlu ZSBIQVZFX1ZQUklOVEYgMQp8ICNkZWZpbmUgSEFWRV9BTExPQ0EgMQp8ICNkZWZpbmUgSEFWRV9N TUFQIDEKfCAjZGVmaW5lIEhBVkVfUE9TSVhfTUVNQUxJR04gMQp8ICNkZWZpbmUgSEFWRV9WQUxM T0MgMQp8ICNkZWZpbmUgSEFWRV9GU1lOQyAxCnwgI2RlZmluZSBIQVZFX0FURVhJVCAxCnwgI2Rl ZmluZSBIQVZFX1RJTUVHTSAxCnwgI2RlZmluZSBIQVZFX0dNVElNRV9SIDEKfCAjZGVmaW5lIFNJ WkVPRl9DSEFSIDEKfCAjZGVmaW5lIFNJWkVPRl9TSE9SVCAyCnwgI2RlZmluZSBTSVpFT0ZfTE9O RyA4CnwgI2RlZmluZSBTSVpFT0ZfSU5UIDQKfCAjZGVmaW5lIFNJWkVPRl9WT0lEX1AgOAp8ICNk ZWZpbmUgU0laRU9GX0xPTkdfTE9ORyA4CnwgI2RlZmluZSBTSVpFT0ZfX19JTlQ2NCAwCnwgI2Rl ZmluZSBIQVZFX0xPTkdfTE9OR19GT1JNQVQgMQp8ICNkZWZpbmUgU0FORV9NQUxMT0NfUFJPVE9T IDEKfCAjZGVmaW5lIEdfSEFWRV9fX0lOTElORSAxCnwgI2RlZmluZSBHX0hBVkVfX19JTkxJTkVf XyAxCnwgI2RlZmluZSBHX0hBVkVfSU5MSU5FIDEKfCAjZGVmaW5lIEhBVkVfRE9XSElMRV9NQUNS T1MgMQp8ICNkZWZpbmUgSEFWRV9ESVJFTlRfSCAxCnwgI2RlZmluZSBIQVZFX0ZMT0FUX0ggMQp8 ICNkZWZpbmUgSEFWRV9MSU1JVFNfSCAxCnwgI2RlZmluZSBIQVZFX1BXRF9IIDEKfCAjZGVmaW5l IEhBVkVfR1JQX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfUEFSQU1fSCAxCnwgI2RlZmluZSBIQVZF X1NZU19QT0xMX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfUkVTT1VSQ0VfSCAxCnwgI2RlZmluZSBI QVZFX1NZU19USU1FX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfVElNRVNfSCAxCnwgI2RlZmluZSBI QVZFX1NZU19XQUlUX0ggMQp8ICNkZWZpbmUgSEFWRV9VTklTVERfSCAxCnwgI2RlZmluZSBIQVZF X1NZU19TRUxFQ1RfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19UWVBFU19IIDEKfCAjZGVmaW5lIEhB VkVfU1RESU5UX0ggMQp8ICNkZWZpbmUgSEFWRV9TQ0hFRF9IIDEKfCAjZGVmaW5lIEhBVkVfU1lT X01PVU5UX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfU1RBVFZGU19IIDEKfCAjZGVmaW5lIEhBVkVf U1lTX1NZU0NUTF9IIDEKfCAjZGVmaW5lIEhBVkVfRlNUQUJfSCAxCnwgLyogZW5kIGNvbmZkZWZz LmguICAqLwp8ICNpbmNsdWRlIDxzdGRpby5oPgp8ICNpZmRlZiBIQVZFX1NZU19UWVBFU19ICnwg IyBpbmNsdWRlIDxzeXMvdHlwZXMuaD4KfCAjZW5kaWYKfCAjaWZkZWYgSEFWRV9TWVNfU1RBVF9I CnwgIyBpbmNsdWRlIDxzeXMvc3RhdC5oPgp8ICNlbmRpZgp8ICNpZmRlZiBTVERDX0hFQURFUlMK fCAjIGluY2x1ZGUgPHN0ZGxpYi5oPgp8ICMgaW5jbHVkZSA8c3RkZGVmLmg+CnwgI2Vsc2UKfCAj IGlmZGVmIEhBVkVfU1RETElCX0gKfCAjICBpbmNsdWRlIDxzdGRsaWIuaD4KfCAjIGVuZGlmCnwg I2VuZGlmCnwgI2lmZGVmIEhBVkVfU1RSSU5HX0gKfCAjIGlmICFkZWZpbmVkIFNURENfSEVBREVS UyAmJiBkZWZpbmVkIEhBVkVfTUVNT1JZX0gKfCAjICBpbmNsdWRlIDxtZW1vcnkuaD4KfCAjIGVu ZGlmCnwgIyBpbmNsdWRlIDxzdHJpbmcuaD4KfCAjZW5kaWYKfCAjaWZkZWYgSEFWRV9TVFJJTkdT X0gKfCAjIGluY2x1ZGUgPHN0cmluZ3MuaD4KfCAjZW5kaWYKfCAjaWZkZWYgSEFWRV9JTlRUWVBF U19ICnwgIyBpbmNsdWRlIDxpbnR0eXBlcy5oPgp8ICNlbmRpZgp8ICNpZmRlZiBIQVZFX1NURElO VF9ICnwgIyBpbmNsdWRlIDxzdGRpbnQuaD4KfCAjZW5kaWYKfCAjaWZkZWYgSEFWRV9VTklTVERf SAp8ICMgaW5jbHVkZSA8dW5pc3RkLmg+CnwgI2VuZGlmCnwgaW50CnwgbWFpbiAoKQp8IHsKfCBz dGF0aWMgc3RydWN0IHN0YXQgYWNfYWdncjsKfCBpZiAoc2l6ZW9mIGFjX2FnZ3Iuc3RfY3RpbWVu c2VjKQp8IHJldHVybiAwOwp8ICAgOwp8ICAgcmV0dXJuIDA7CnwgfQpjb25maWd1cmU6Mjk3MzI6 IHJlc3VsdDogbm8KY29uZmlndXJlOjI5NzQyOiBjaGVja2luZyBmb3Igc3RydWN0IHN0YXQuc3Rf Y3RpbS50dl9uc2VjCmNvbmZpZ3VyZToyOTc3MDogY2MgLWMgLU8yIC1mbm8tc3RyaWN0LWFsaWFz aW5nIC1waXBlIC1XYWxsIC1JL3Vzci9sb2NhbC9pbmNsdWRlIC1ER19ESVNBQkxFX1NJTkdMRV9J TkNMVURFUyBjb25mdGVzdC5jID4mNQpjb25mdGVzdC5jOiBJbiBmdW5jdGlvbiAnbWFpbic6CmNv bmZ0ZXN0LmM6MTE1OiBlcnJvcjogJ3N0cnVjdCBzdGF0JyBoYXMgbm8gbWVtYmVyIG5hbWVkICdz dF9jdGltJwpjb25maWd1cmU6Mjk3Nzc6ICQ/ID0gMQpjb25maWd1cmU6IGZhaWxlZCBwcm9ncmFt IHdhczoKfCAvKiBjb25mZGVmcy5oLiAgKi8KfCAjZGVmaW5lIFBBQ0tBR0VfTkFNRSAiZ2xpYiIK fCAjZGVmaW5lIFBBQ0tBR0VfVEFSTkFNRSAiZ2xpYiIKfCAjZGVmaW5lIFBBQ0tBR0VfVkVSU0lP TiAiMi4yMC41Igp8ICNkZWZpbmUgUEFDS0FHRV9TVFJJTkcgImdsaWIgMi4yMC41Igp8ICNkZWZp bmUgUEFDS0FHRV9CVUdSRVBPUlQgImh0dHA6Ly9idWd6aWxsYS5nbm9tZS5vcmcvZW50ZXJfYnVn LmNnaT9wcm9kdWN0PWdsaWIiCnwgI2RlZmluZSBHTElCX01BSk9SX1ZFUlNJT04gMgp8ICNkZWZp bmUgR0xJQl9NSU5PUl9WRVJTSU9OIDIwCnwgI2RlZmluZSBHTElCX01JQ1JPX1ZFUlNJT04gNQp8 ICNkZWZpbmUgR0xJQl9JTlRFUkZBQ0VfQUdFIDUKfCAjZGVmaW5lIEdMSUJfQklOQVJZX0FHRSAy MDA1CnwgI2RlZmluZSBORUVEX0lDT05WX0NBQ0hFIDEKfCAjZGVmaW5lIFNURENfSEVBREVSUyAx CnwgI2RlZmluZSBIQVZFX1NZU19UWVBFU19IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NUQVRfSCAx CnwgI2RlZmluZSBIQVZFX1NURExJQl9IIDEKfCAjZGVmaW5lIEhBVkVfU1RSSU5HX0ggMQp8ICNk ZWZpbmUgSEFWRV9NRU1PUllfSCAxCnwgI2RlZmluZSBIQVZFX1NUUklOR1NfSCAxCnwgI2RlZmlu ZSBIQVZFX0lOVFRZUEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERJTlRfSCAxCnwgI2RlZmluZSBI QVZFX1VOSVNURF9IIDEKfCAjZGVmaW5lIEhBVkVfTE9DQUxFX0ggMQp8ICNkZWZpbmUgSEFWRV9M Q19NRVNTQUdFUyAxCnwgI2RlZmluZSBIQVZFX0JJTkRfVEVYVERPTUFJTl9DT0RFU0VUIDEKfCAj ZGVmaW5lIEhBVkVfR0VUVEVYVCAxCnwgI2RlZmluZSBIQVZFX0RDR0VUVEVYVCAxCnwgI2RlZmlu ZSBFTkFCTEVfTkxTIDEKfCAjZGVmaW5lIEdFVFRFWFRfUEFDS0FHRSAiZ2xpYjIwIgp8ICNkZWZp bmUgR0xJQl9MT0NBTEVfRElSICIvdXNyL2xvY2FsL3NoYXJlL2xvY2FsZSIKfCAjZGVmaW5lIFVT RV9MSUJJQ09OVl9HTlUgMQp8ICNkZWZpbmUgSEFWRV9ETEZDTl9IIDEKfCAjZGVmaW5lIExUX09C SkRJUiAiLmxpYnMvIgp8ICNkZWZpbmUgU1REQ19IRUFERVJTIDEKfCAjZGVmaW5lIEhBVkVfVlBS SU5URiAxCnwgI2RlZmluZSBIQVZFX0FMTE9DQSAxCnwgI2RlZmluZSBIQVZFX01NQVAgMQp8ICNk ZWZpbmUgSEFWRV9QT1NJWF9NRU1BTElHTiAxCnwgI2RlZmluZSBIQVZFX1ZBTExPQyAxCnwgI2Rl ZmluZSBIQVZFX0ZTWU5DIDEKfCAjZGVmaW5lIEhBVkVfQVRFWElUIDEKfCAjZGVmaW5lIEhBVkVf VElNRUdNIDEKfCAjZGVmaW5lIEhBVkVfR01USU1FX1IgMQp8ICNkZWZpbmUgU0laRU9GX0NIQVIg MQp8ICNkZWZpbmUgU0laRU9GX1NIT1JUIDIKfCAjZGVmaW5lIFNJWkVPRl9MT05HIDgKfCAjZGVm aW5lIFNJWkVPRl9JTlQgNAp8ICNkZWZpbmUgU0laRU9GX1ZPSURfUCA4CnwgI2RlZmluZSBTSVpF T0ZfTE9OR19MT05HIDgKfCAjZGVmaW5lIFNJWkVPRl9fX0lOVDY0IDAKfCAjZGVmaW5lIEhBVkVf TE9OR19MT05HX0ZPUk1BVCAxCnwgI2RlZmluZSBTQU5FX01BTExPQ19QUk9UT1MgMQp8ICNkZWZp bmUgR19IQVZFX19fSU5MSU5FIDEKfCAjZGVmaW5lIEdfSEFWRV9fX0lOTElORV9fIDEKfCAjZGVm aW5lIEdfSEFWRV9JTkxJTkUgMQp8ICNkZWZpbmUgSEFWRV9ET1dISUxFX01BQ1JPUyAxCnwgI2Rl ZmluZSBIQVZFX0RJUkVOVF9IIDEKfCAjZGVmaW5lIEhBVkVfRkxPQVRfSCAxCnwgI2RlZmluZSBI QVZFX0xJTUlUU19IIDEKfCAjZGVmaW5lIEhBVkVfUFdEX0ggMQp8ICNkZWZpbmUgSEFWRV9HUlBf SCAxCnwgI2RlZmluZSBIQVZFX1NZU19QQVJBTV9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1BPTExf SCAxCnwgI2RlZmluZSBIQVZFX1NZU19SRVNPVVJDRV9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1RJ TUVfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19USU1FU19IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1dB SVRfSCAxCnwgI2RlZmluZSBIQVZFX1VOSVNURF9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NFTEVD VF9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1RZUEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERJTlRf SCAxCnwgI2RlZmluZSBIQVZFX1NDSEVEX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfTU9VTlRfSCAx CnwgI2RlZmluZSBIQVZFX1NZU19TVEFUVkZTX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfU1lTQ1RM X0ggMQp8ICNkZWZpbmUgSEFWRV9GU1RBQl9IIDEKfCAvKiBlbmQgY29uZmRlZnMuaC4gICovCnwg I2luY2x1ZGUgPHN0ZGlvLmg+CnwgI2lmZGVmIEhBVkVfU1lTX1RZUEVTX0gKfCAjIGluY2x1ZGUg PHN5cy90eXBlcy5oPgp8ICNlbmRpZgp8ICNpZmRlZiBIQVZFX1NZU19TVEFUX0gKfCAjIGluY2x1 ZGUgPHN5cy9zdGF0Lmg+CnwgI2VuZGlmCnwgI2lmZGVmIFNURENfSEVBREVSUwp8ICMgaW5jbHVk ZSA8c3RkbGliLmg+CnwgIyBpbmNsdWRlIDxzdGRkZWYuaD4KfCAjZWxzZQp8ICMgaWZkZWYgSEFW RV9TVERMSUJfSAp8ICMgIGluY2x1ZGUgPHN0ZGxpYi5oPgp8ICMgZW5kaWYKfCAjZW5kaWYKfCAj aWZkZWYgSEFWRV9TVFJJTkdfSAp8ICMgaWYgIWRlZmluZWQgU1REQ19IRUFERVJTICYmIGRlZmlu ZWQgSEFWRV9NRU1PUllfSAp8ICMgIGluY2x1ZGUgPG1lbW9yeS5oPgp8ICMgZW5kaWYKfCAjIGlu Y2x1ZGUgPHN0cmluZy5oPgp8ICNlbmRpZgp8ICNpZmRlZiBIQVZFX1NUUklOR1NfSAp8ICMgaW5j bHVkZSA8c3RyaW5ncy5oPgp8ICNlbmRpZgp8ICNpZmRlZiBIQVZFX0lOVFRZUEVTX0gKfCAjIGlu Y2x1ZGUgPGludHR5cGVzLmg+CnwgI2VuZGlmCnwgI2lmZGVmIEhBVkVfU1RESU5UX0gKfCAjIGlu Y2x1ZGUgPHN0ZGludC5oPgp8ICNlbmRpZgp8ICNpZmRlZiBIQVZFX1VOSVNURF9ICnwgIyBpbmNs dWRlIDx1bmlzdGQuaD4KfCAjZW5kaWYKfCBpbnQKfCBtYWluICgpCnwgewp8IHN0YXRpYyBzdHJ1 Y3Qgc3RhdCBhY19hZ2dyOwp8IGlmIChhY19hZ2dyLnN0X2N0aW0udHZfbnNlYykKfCByZXR1cm4g MDsKfCAgIDsKfCAgIHJldHVybiAwOwp8IH0KY29uZmlndXJlOjI5ODEwOiBjYyAtYyAtTzIgLWZu by1zdHJpY3QtYWxpYXNpbmcgLXBpcGUgLVdhbGwgLUkvdXNyL2xvY2FsL2luY2x1ZGUgLURHX0RJ U0FCTEVfU0lOR0xFX0lOQ0xVREVTIGNvbmZ0ZXN0LmMgPiY1CmNvbmZ0ZXN0LmM6IEluIGZ1bmN0 aW9uICdtYWluJzoKY29uZnRlc3QuYzoxMTU6IGVycm9yOiAnc3RydWN0IHN0YXQnIGhhcyBubyBt ZW1iZXIgbmFtZWQgJ3N0X2N0aW0nCmNvbmZpZ3VyZToyOTgxNzogJD8gPSAxCmNvbmZpZ3VyZTog ZmFpbGVkIHByb2dyYW0gd2FzOgp8IC8qIGNvbmZkZWZzLmguICAqLwp8ICNkZWZpbmUgUEFDS0FH RV9OQU1FICJnbGliIgp8ICNkZWZpbmUgUEFDS0FHRV9UQVJOQU1FICJnbGliIgp8ICNkZWZpbmUg UEFDS0FHRV9WRVJTSU9OICIyLjIwLjUiCnwgI2RlZmluZSBQQUNLQUdFX1NUUklORyAiZ2xpYiAy LjIwLjUiCnwgI2RlZmluZSBQQUNLQUdFX0JVR1JFUE9SVCAiaHR0cDovL2J1Z3ppbGxhLmdub21l Lm9yZy9lbnRlcl9idWcuY2dpP3Byb2R1Y3Q9Z2xpYiIKfCAjZGVmaW5lIEdMSUJfTUFKT1JfVkVS U0lPTiAyCnwgI2RlZmluZSBHTElCX01JTk9SX1ZFUlNJT04gMjAKfCAjZGVmaW5lIEdMSUJfTUlD Uk9fVkVSU0lPTiA1CnwgI2RlZmluZSBHTElCX0lOVEVSRkFDRV9BR0UgNQp8ICNkZWZpbmUgR0xJ Ql9CSU5BUllfQUdFIDIwMDUKfCAjZGVmaW5lIE5FRURfSUNPTlZfQ0FDSEUgMQp8ICNkZWZpbmUg U1REQ19IRUFERVJTIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1RZUEVTX0ggMQp8ICNkZWZpbmUgSEFW RV9TWVNfU1RBVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1RETElCX0ggMQp8ICNkZWZpbmUgSEFWRV9T VFJJTkdfSCAxCnwgI2RlZmluZSBIQVZFX01FTU9SWV9IIDEKfCAjZGVmaW5lIEhBVkVfU1RSSU5H U19IIDEKfCAjZGVmaW5lIEhBVkVfSU5UVFlQRVNfSCAxCnwgI2RlZmluZSBIQVZFX1NURElOVF9I IDEKfCAjZGVmaW5lIEhBVkVfVU5JU1REX0ggMQp8ICNkZWZpbmUgSEFWRV9MT0NBTEVfSCAxCnwg I2RlZmluZSBIQVZFX0xDX01FU1NBR0VTIDEKfCAjZGVmaW5lIEhBVkVfQklORF9URVhURE9NQUlO X0NPREVTRVQgMQp8ICNkZWZpbmUgSEFWRV9HRVRURVhUIDEKfCAjZGVmaW5lIEhBVkVfRENHRVRU RVhUIDEKfCAjZGVmaW5lIEVOQUJMRV9OTFMgMQp8ICNkZWZpbmUgR0VUVEVYVF9QQUNLQUdFICJn bGliMjAiCnwgI2RlZmluZSBHTElCX0xPQ0FMRV9ESVIgIi91c3IvbG9jYWwvc2hhcmUvbG9jYWxl Igp8ICNkZWZpbmUgVVNFX0xJQklDT05WX0dOVSAxCnwgI2RlZmluZSBIQVZFX0RMRkNOX0ggMQp8 ICNkZWZpbmUgTFRfT0JKRElSICIubGlicy8iCnwgI2RlZmluZSBTVERDX0hFQURFUlMgMQp8ICNk ZWZpbmUgSEFWRV9WUFJJTlRGIDEKfCAjZGVmaW5lIEhBVkVfQUxMT0NBIDEKfCAjZGVmaW5lIEhB VkVfTU1BUCAxCnwgI2RlZmluZSBIQVZFX1BPU0lYX01FTUFMSUdOIDEKfCAjZGVmaW5lIEhBVkVf VkFMTE9DIDEKfCAjZGVmaW5lIEhBVkVfRlNZTkMgMQp8ICNkZWZpbmUgSEFWRV9BVEVYSVQgMQp8 ICNkZWZpbmUgSEFWRV9USU1FR00gMQp8ICNkZWZpbmUgSEFWRV9HTVRJTUVfUiAxCnwgI2RlZmlu ZSBTSVpFT0ZfQ0hBUiAxCnwgI2RlZmluZSBTSVpFT0ZfU0hPUlQgMgp8ICNkZWZpbmUgU0laRU9G X0xPTkcgOAp8ICNkZWZpbmUgU0laRU9GX0lOVCA0CnwgI2RlZmluZSBTSVpFT0ZfVk9JRF9QIDgK fCAjZGVmaW5lIFNJWkVPRl9MT05HX0xPTkcgOAp8ICNkZWZpbmUgU0laRU9GX19fSU5UNjQgMAp8 ICNkZWZpbmUgSEFWRV9MT05HX0xPTkdfRk9STUFUIDEKfCAjZGVmaW5lIFNBTkVfTUFMTE9DX1BS T1RPUyAxCnwgI2RlZmluZSBHX0hBVkVfX19JTkxJTkUgMQp8ICNkZWZpbmUgR19IQVZFX19fSU5M SU5FX18gMQp8ICNkZWZpbmUgR19IQVZFX0lOTElORSAxCnwgI2RlZmluZSBIQVZFX0RPV0hJTEVf TUFDUk9TIDEKfCAjZGVmaW5lIEhBVkVfRElSRU5UX0ggMQp8ICNkZWZpbmUgSEFWRV9GTE9BVF9I IDEKfCAjZGVmaW5lIEhBVkVfTElNSVRTX0ggMQp8ICNkZWZpbmUgSEFWRV9QV0RfSCAxCnwgI2Rl ZmluZSBIQVZFX0dSUF9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1BBUkFNX0ggMQp8ICNkZWZpbmUg SEFWRV9TWVNfUE9MTF9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1JFU09VUkNFX0ggMQp8ICNkZWZp bmUgSEFWRV9TWVNfVElNRV9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1RJTUVTX0ggMQp8ICNkZWZp bmUgSEFWRV9TWVNfV0FJVF9IIDEKfCAjZGVmaW5lIEhBVkVfVU5JU1REX0ggMQp8ICNkZWZpbmUg SEFWRV9TWVNfU0VMRUNUX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfVFlQRVNfSCAxCnwgI2RlZmlu ZSBIQVZFX1NURElOVF9IIDEKfCAjZGVmaW5lIEhBVkVfU0NIRURfSCAxCnwgI2RlZmluZSBIQVZF X1NZU19NT1VOVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NUQVRWRlNfSCAxCnwgI2RlZmluZSBI QVZFX1NZU19TWVNDVExfSCAxCnwgI2RlZmluZSBIQVZFX0ZTVEFCX0ggMQp8IC8qIGVuZCBjb25m ZGVmcy5oLiAgKi8KfCAjaW5jbHVkZSA8c3RkaW8uaD4KfCAjaWZkZWYgSEFWRV9TWVNfVFlQRVNf SAp8ICMgaW5jbHVkZSA8c3lzL3R5cGVzLmg+CnwgI2VuZGlmCnwgI2lmZGVmIEhBVkVfU1lTX1NU QVRfSAp8ICMgaW5jbHVkZSA8c3lzL3N0YXQuaD4KfCAjZW5kaWYKfCAjaWZkZWYgU1REQ19IRUFE RVJTCnwgIyBpbmNsdWRlIDxzdGRsaWIuaD4KfCAjIGluY2x1ZGUgPHN0ZGRlZi5oPgp8ICNlbHNl CnwgIyBpZmRlZiBIQVZFX1NURExJQl9ICnwgIyAgaW5jbHVkZSA8c3RkbGliLmg+CnwgIyBlbmRp Zgp8ICNlbmRpZgp8ICNpZmRlZiBIQVZFX1NUUklOR19ICnwgIyBpZiAhZGVmaW5lZCBTVERDX0hF QURFUlMgJiYgZGVmaW5lZCBIQVZFX01FTU9SWV9ICnwgIyAgaW5jbHVkZSA8bWVtb3J5Lmg+Cnwg IyBlbmRpZgp8ICMgaW5jbHVkZSA8c3RyaW5nLmg+CnwgI2VuZGlmCnwgI2lmZGVmIEhBVkVfU1RS SU5HU19ICnwgIyBpbmNsdWRlIDxzdHJpbmdzLmg+CnwgI2VuZGlmCnwgI2lmZGVmIEhBVkVfSU5U VFlQRVNfSAp8ICMgaW5jbHVkZSA8aW50dHlwZXMuaD4KfCAjZW5kaWYKfCAjaWZkZWYgSEFWRV9T VERJTlRfSAp8ICMgaW5jbHVkZSA8c3RkaW50Lmg+CnwgI2VuZGlmCnwgI2lmZGVmIEhBVkVfVU5J U1REX0gKfCAjIGluY2x1ZGUgPHVuaXN0ZC5oPgp8ICNlbmRpZgp8IGludAp8IG1haW4gKCkKfCB7 Cnwgc3RhdGljIHN0cnVjdCBzdGF0IGFjX2FnZ3I7CnwgaWYgKHNpemVvZiBhY19hZ2dyLnN0X2N0 aW0udHZfbnNlYykKfCByZXR1cm4gMDsKfCAgIDsKfCAgIHJldHVybiAwOwp8IH0KY29uZmlndXJl OjI5ODM1OiByZXN1bHQ6IG5vCmNvbmZpZ3VyZToyOTg0NjogY2hlY2tpbmcgZm9yIHN0cnVjdCBz dGF0LnN0X2Jsa3NpemUKY29uZmlndXJlOjI5ODg2OiBjYyAtYyAtTzIgLWZuby1zdHJpY3QtYWxp YXNpbmcgLXBpcGUgLVdhbGwgLUkvdXNyL2xvY2FsL2luY2x1ZGUgLURHX0RJU0FCTEVfU0lOR0xF X0lOQ0xVREVTIGNvbmZ0ZXN0LmMgPiY1CmNvbmZpZ3VyZToyOTg5MzogJD8gPSAwCmNvbmZpZ3Vy ZToyOTk2MzogcmVzdWx0OiB5ZXMKY29uZmlndXJlOjI5OTczOiBjaGVja2luZyBmb3Igc3RydWN0 IHN0YXQuc3RfYmxvY2tzCmNvbmZpZ3VyZTozMDAxMzogY2MgLWMgLU8yIC1mbm8tc3RyaWN0LWFs aWFzaW5nIC1waXBlIC1XYWxsIC1JL3Vzci9sb2NhbC9pbmNsdWRlIC1ER19ESVNBQkxFX1NJTkdM RV9JTkNMVURFUyBjb25mdGVzdC5jID4mNQpjb25maWd1cmU6MzAwMjA6ICQ/ID0gMApjb25maWd1 cmU6MzAwOTA6IHJlc3VsdDogeWVzCmNvbmZpZ3VyZTozMDEwMDogY2hlY2tpbmcgZm9yIHN0cnVj dCBzdGF0ZnMuZl9mc3R5cGVuYW1lCmNvbmZpZ3VyZTozMDE0MDogY2MgLWMgLU8yIC1mbm8tc3Ry aWN0LWFsaWFzaW5nIC1waXBlIC1XYWxsIC1JL3Vzci9sb2NhbC9pbmNsdWRlIC1ER19ESVNBQkxF X1NJTkdMRV9JTkNMVURFUyBjb25mdGVzdC5jID4mNQpjb25maWd1cmU6MzAxNDc6ICQ/ID0gMApj b25maWd1cmU6MzAyMTc6IHJlc3VsdDogeWVzCmNvbmZpZ3VyZTozMDIyNzogY2hlY2tpbmcgZm9y IHN0cnVjdCBzdGF0ZnMuZl9iYXZhaWwKY29uZmlndXJlOjMwMjY3OiBjYyAtYyAtTzIgLWZuby1z dHJpY3QtYWxpYXNpbmcgLXBpcGUgLVdhbGwgLUkvdXNyL2xvY2FsL2luY2x1ZGUgLURHX0RJU0FC TEVfU0lOR0xFX0lOQ0xVREVTIGNvbmZ0ZXN0LmMgPiY1CmNvbmZpZ3VyZTozMDI3NDogJD8gPSAw CmNvbmZpZ3VyZTozMDM0NDogcmVzdWx0OiB5ZXMKY29uZmlndXJlOjMwMzU2OiBjaGVja2luZyBm b3Igc3RydWN0IHN0YXR2ZnMuZl9iYXNldHlwZQpjb25maWd1cmU6MzAzODU6IGNjIC1jIC1PMiAt Zm5vLXN0cmljdC1hbGlhc2luZyAtcGlwZSAtV2FsbCAtSS91c3IvbG9jYWwvaW5jbHVkZSAtREdf RElTQUJMRV9TSU5HTEVfSU5DTFVERVMgY29uZnRlc3QuYyA+JjUKY29uZnRlc3QuYzogSW4gZnVu Y3Rpb24gJ21haW4nOgpjb25mdGVzdC5jOjg4OiBlcnJvcjogJ3N0cnVjdCBzdGF0dmZzJyBoYXMg bm8gbWVtYmVyIG5hbWVkICdmX2Jhc2V0eXBlJwpjb25maWd1cmU6MzAzOTI6ICQ/ID0gMQpjb25m aWd1cmU6IGZhaWxlZCBwcm9ncmFtIHdhczoKfCAvKiBjb25mZGVmcy5oLiAgKi8KfCAjZGVmaW5l IFBBQ0tBR0VfTkFNRSAiZ2xpYiIKfCAjZGVmaW5lIFBBQ0tBR0VfVEFSTkFNRSAiZ2xpYiIKfCAj ZGVmaW5lIFBBQ0tBR0VfVkVSU0lPTiAiMi4yMC41Igp8ICNkZWZpbmUgUEFDS0FHRV9TVFJJTkcg ImdsaWIgMi4yMC41Igp8ICNkZWZpbmUgUEFDS0FHRV9CVUdSRVBPUlQgImh0dHA6Ly9idWd6aWxs YS5nbm9tZS5vcmcvZW50ZXJfYnVnLmNnaT9wcm9kdWN0PWdsaWIiCnwgI2RlZmluZSBHTElCX01B Sk9SX1ZFUlNJT04gMgp8ICNkZWZpbmUgR0xJQl9NSU5PUl9WRVJTSU9OIDIwCnwgI2RlZmluZSBH TElCX01JQ1JPX1ZFUlNJT04gNQp8ICNkZWZpbmUgR0xJQl9JTlRFUkZBQ0VfQUdFIDUKfCAjZGVm aW5lIEdMSUJfQklOQVJZX0FHRSAyMDA1CnwgI2RlZmluZSBORUVEX0lDT05WX0NBQ0hFIDEKfCAj ZGVmaW5lIFNURENfSEVBREVSUyAxCnwgI2RlZmluZSBIQVZFX1NZU19UWVBFU19IIDEKfCAjZGVm aW5lIEhBVkVfU1lTX1NUQVRfSCAxCnwgI2RlZmluZSBIQVZFX1NURExJQl9IIDEKfCAjZGVmaW5l IEhBVkVfU1RSSU5HX0ggMQp8ICNkZWZpbmUgSEFWRV9NRU1PUllfSCAxCnwgI2RlZmluZSBIQVZF X1NUUklOR1NfSCAxCnwgI2RlZmluZSBIQVZFX0lOVFRZUEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9T VERJTlRfSCAxCnwgI2RlZmluZSBIQVZFX1VOSVNURF9IIDEKfCAjZGVmaW5lIEhBVkVfTE9DQUxF X0ggMQp8ICNkZWZpbmUgSEFWRV9MQ19NRVNTQUdFUyAxCnwgI2RlZmluZSBIQVZFX0JJTkRfVEVY VERPTUFJTl9DT0RFU0VUIDEKfCAjZGVmaW5lIEhBVkVfR0VUVEVYVCAxCnwgI2RlZmluZSBIQVZF X0RDR0VUVEVYVCAxCnwgI2RlZmluZSBFTkFCTEVfTkxTIDEKfCAjZGVmaW5lIEdFVFRFWFRfUEFD S0FHRSAiZ2xpYjIwIgp8ICNkZWZpbmUgR0xJQl9MT0NBTEVfRElSICIvdXNyL2xvY2FsL3NoYXJl L2xvY2FsZSIKfCAjZGVmaW5lIFVTRV9MSUJJQ09OVl9HTlUgMQp8ICNkZWZpbmUgSEFWRV9ETEZD Tl9IIDEKfCAjZGVmaW5lIExUX09CSkRJUiAiLmxpYnMvIgp8ICNkZWZpbmUgU1REQ19IRUFERVJT IDEKfCAjZGVmaW5lIEhBVkVfVlBSSU5URiAxCnwgI2RlZmluZSBIQVZFX0FMTE9DQSAxCnwgI2Rl ZmluZSBIQVZFX01NQVAgMQp8ICNkZWZpbmUgSEFWRV9QT1NJWF9NRU1BTElHTiAxCnwgI2RlZmlu ZSBIQVZFX1ZBTExPQyAxCnwgI2RlZmluZSBIQVZFX0ZTWU5DIDEKfCAjZGVmaW5lIEhBVkVfQVRF WElUIDEKfCAjZGVmaW5lIEhBVkVfVElNRUdNIDEKfCAjZGVmaW5lIEhBVkVfR01USU1FX1IgMQp8 ICNkZWZpbmUgU0laRU9GX0NIQVIgMQp8ICNkZWZpbmUgU0laRU9GX1NIT1JUIDIKfCAjZGVmaW5l IFNJWkVPRl9MT05HIDgKfCAjZGVmaW5lIFNJWkVPRl9JTlQgNAp8ICNkZWZpbmUgU0laRU9GX1ZP SURfUCA4CnwgI2RlZmluZSBTSVpFT0ZfTE9OR19MT05HIDgKfCAjZGVmaW5lIFNJWkVPRl9fX0lO VDY0IDAKfCAjZGVmaW5lIEhBVkVfTE9OR19MT05HX0ZPUk1BVCAxCnwgI2RlZmluZSBTQU5FX01B TExPQ19QUk9UT1MgMQp8ICNkZWZpbmUgR19IQVZFX19fSU5MSU5FIDEKfCAjZGVmaW5lIEdfSEFW RV9fX0lOTElORV9fIDEKfCAjZGVmaW5lIEdfSEFWRV9JTkxJTkUgMQp8ICNkZWZpbmUgSEFWRV9E T1dISUxFX01BQ1JPUyAxCnwgI2RlZmluZSBIQVZFX0RJUkVOVF9IIDEKfCAjZGVmaW5lIEhBVkVf RkxPQVRfSCAxCnwgI2RlZmluZSBIQVZFX0xJTUlUU19IIDEKfCAjZGVmaW5lIEhBVkVfUFdEX0gg MQp8ICNkZWZpbmUgSEFWRV9HUlBfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19QQVJBTV9IIDEKfCAj ZGVmaW5lIEhBVkVfU1lTX1BPTExfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19SRVNPVVJDRV9IIDEK fCAjZGVmaW5lIEhBVkVfU1lTX1RJTUVfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19USU1FU19IIDEK fCAjZGVmaW5lIEhBVkVfU1lTX1dBSVRfSCAxCnwgI2RlZmluZSBIQVZFX1VOSVNURF9IIDEKfCAj ZGVmaW5lIEhBVkVfU1lTX1NFTEVDVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1RZUEVTX0ggMQp8 ICNkZWZpbmUgSEFWRV9TVERJTlRfSCAxCnwgI2RlZmluZSBIQVZFX1NDSEVEX0ggMQp8ICNkZWZp bmUgSEFWRV9TWVNfTU9VTlRfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19TVEFUVkZTX0ggMQp8ICNk ZWZpbmUgSEFWRV9TWVNfU1lTQ1RMX0ggMQp8ICNkZWZpbmUgSEFWRV9GU1RBQl9IIDEKfCAjZGVm aW5lIEhBVkVfU1RSVUNUX1NUQVRfU1RfQkxLU0laRSAxCnwgI2RlZmluZSBIQVZFX1NUUlVDVF9T VEFUX1NUX0JMT0NLUyAxCnwgI2RlZmluZSBIQVZFX1NUUlVDVF9TVEFURlNfRl9GU1RZUEVOQU1F IDEKfCAjZGVmaW5lIEhBVkVfU1RSVUNUX1NUQVRGU19GX0JBVkFJTCAxCnwgLyogZW5kIGNvbmZk ZWZzLmguICAqLwp8ICNpbmNsdWRlIDxzeXMvc3RhdHZmcy5oPgp8IAp8IGludAp8IG1haW4gKCkK fCB7Cnwgc3RhdGljIHN0cnVjdCBzdGF0dmZzIGFjX2FnZ3I7CnwgaWYgKGFjX2FnZ3IuZl9iYXNl dHlwZSkKfCByZXR1cm4gMDsKfCAgIDsKfCAgIHJldHVybiAwOwp8IH0KY29uZmlndXJlOjMwNDI2 OiBjYyAtYyAtTzIgLWZuby1zdHJpY3QtYWxpYXNpbmcgLXBpcGUgLVdhbGwgLUkvdXNyL2xvY2Fs L2luY2x1ZGUgLURHX0RJU0FCTEVfU0lOR0xFX0lOQ0xVREVTIGNvbmZ0ZXN0LmMgPiY1CmNvbmZ0 ZXN0LmM6IEluIGZ1bmN0aW9uICdtYWluJzoKY29uZnRlc3QuYzo4ODogZXJyb3I6ICdzdHJ1Y3Qg c3RhdHZmcycgaGFzIG5vIG1lbWJlciBuYW1lZCAnZl9iYXNldHlwZScKY29uZmlndXJlOjMwNDMz OiAkPyA9IDEKY29uZmlndXJlOiBmYWlsZWQgcHJvZ3JhbSB3YXM6CnwgLyogY29uZmRlZnMuaC4g ICovCnwgI2RlZmluZSBQQUNLQUdFX05BTUUgImdsaWIiCnwgI2RlZmluZSBQQUNLQUdFX1RBUk5B TUUgImdsaWIiCnwgI2RlZmluZSBQQUNLQUdFX1ZFUlNJT04gIjIuMjAuNSIKfCAjZGVmaW5lIFBB Q0tBR0VfU1RSSU5HICJnbGliIDIuMjAuNSIKfCAjZGVmaW5lIFBBQ0tBR0VfQlVHUkVQT1JUICJo dHRwOi8vYnVnemlsbGEuZ25vbWUub3JnL2VudGVyX2J1Zy5jZ2k/cHJvZHVjdD1nbGliIgp8ICNk ZWZpbmUgR0xJQl9NQUpPUl9WRVJTSU9OIDIKfCAjZGVmaW5lIEdMSUJfTUlOT1JfVkVSU0lPTiAy MAp8ICNkZWZpbmUgR0xJQl9NSUNST19WRVJTSU9OIDUKfCAjZGVmaW5lIEdMSUJfSU5URVJGQUNF X0FHRSA1CnwgI2RlZmluZSBHTElCX0JJTkFSWV9BR0UgMjAwNQp8ICNkZWZpbmUgTkVFRF9JQ09O Vl9DQUNIRSAxCnwgI2RlZmluZSBTVERDX0hFQURFUlMgMQp8ICNkZWZpbmUgSEFWRV9TWVNfVFlQ RVNfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19TVEFUX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERMSUJf SCAxCnwgI2RlZmluZSBIQVZFX1NUUklOR19IIDEKfCAjZGVmaW5lIEhBVkVfTUVNT1JZX0ggMQp8 ICNkZWZpbmUgSEFWRV9TVFJJTkdTX0ggMQp8ICNkZWZpbmUgSEFWRV9JTlRUWVBFU19IIDEKfCAj ZGVmaW5lIEhBVkVfU1RESU5UX0ggMQp8ICNkZWZpbmUgSEFWRV9VTklTVERfSCAxCnwgI2RlZmlu ZSBIQVZFX0xPQ0FMRV9IIDEKfCAjZGVmaW5lIEhBVkVfTENfTUVTU0FHRVMgMQp8ICNkZWZpbmUg SEFWRV9CSU5EX1RFWFRET01BSU5fQ09ERVNFVCAxCnwgI2RlZmluZSBIQVZFX0dFVFRFWFQgMQp8 ICNkZWZpbmUgSEFWRV9EQ0dFVFRFWFQgMQp8ICNkZWZpbmUgRU5BQkxFX05MUyAxCnwgI2RlZmlu ZSBHRVRURVhUX1BBQ0tBR0UgImdsaWIyMCIKfCAjZGVmaW5lIEdMSUJfTE9DQUxFX0RJUiAiL3Vz ci9sb2NhbC9zaGFyZS9sb2NhbGUiCnwgI2RlZmluZSBVU0VfTElCSUNPTlZfR05VIDEKfCAjZGVm aW5lIEhBVkVfRExGQ05fSCAxCnwgI2RlZmluZSBMVF9PQkpESVIgIi5saWJzLyIKfCAjZGVmaW5l IFNURENfSEVBREVSUyAxCnwgI2RlZmluZSBIQVZFX1ZQUklOVEYgMQp8ICNkZWZpbmUgSEFWRV9B TExPQ0EgMQp8ICNkZWZpbmUgSEFWRV9NTUFQIDEKfCAjZGVmaW5lIEhBVkVfUE9TSVhfTUVNQUxJ R04gMQp8ICNkZWZpbmUgSEFWRV9WQUxMT0MgMQp8ICNkZWZpbmUgSEFWRV9GU1lOQyAxCnwgI2Rl ZmluZSBIQVZFX0FURVhJVCAxCnwgI2RlZmluZSBIQVZFX1RJTUVHTSAxCnwgI2RlZmluZSBIQVZF X0dNVElNRV9SIDEKfCAjZGVmaW5lIFNJWkVPRl9DSEFSIDEKfCAjZGVmaW5lIFNJWkVPRl9TSE9S VCAyCnwgI2RlZmluZSBTSVpFT0ZfTE9ORyA4CnwgI2RlZmluZSBTSVpFT0ZfSU5UIDQKfCAjZGVm aW5lIFNJWkVPRl9WT0lEX1AgOAp8ICNkZWZpbmUgU0laRU9GX0xPTkdfTE9ORyA4CnwgI2RlZmlu ZSBTSVpFT0ZfX19JTlQ2NCAwCnwgI2RlZmluZSBIQVZFX0xPTkdfTE9OR19GT1JNQVQgMQp8ICNk ZWZpbmUgU0FORV9NQUxMT0NfUFJPVE9TIDEKfCAjZGVmaW5lIEdfSEFWRV9fX0lOTElORSAxCnwg I2RlZmluZSBHX0hBVkVfX19JTkxJTkVfXyAxCnwgI2RlZmluZSBHX0hBVkVfSU5MSU5FIDEKfCAj ZGVmaW5lIEhBVkVfRE9XSElMRV9NQUNST1MgMQp8ICNkZWZpbmUgSEFWRV9ESVJFTlRfSCAxCnwg I2RlZmluZSBIQVZFX0ZMT0FUX0ggMQp8ICNkZWZpbmUgSEFWRV9MSU1JVFNfSCAxCnwgI2RlZmlu ZSBIQVZFX1BXRF9IIDEKfCAjZGVmaW5lIEhBVkVfR1JQX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNf UEFSQU1fSCAxCnwgI2RlZmluZSBIQVZFX1NZU19QT0xMX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNf UkVTT1VSQ0VfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19USU1FX0ggMQp8ICNkZWZpbmUgSEFWRV9T WVNfVElNRVNfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19XQUlUX0ggMQp8ICNkZWZpbmUgSEFWRV9V TklTVERfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19TRUxFQ1RfSCAxCnwgI2RlZmluZSBIQVZFX1NZ U19UWVBFU19IIDEKfCAjZGVmaW5lIEhBVkVfU1RESU5UX0ggMQp8ICNkZWZpbmUgSEFWRV9TQ0hF RF9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX01PVU5UX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfU1RB VFZGU19IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NZU0NUTF9IIDEKfCAjZGVmaW5lIEhBVkVfRlNU QUJfSCAxCnwgI2RlZmluZSBIQVZFX1NUUlVDVF9TVEFUX1NUX0JMS1NJWkUgMQp8ICNkZWZpbmUg SEFWRV9TVFJVQ1RfU1RBVF9TVF9CTE9DS1MgMQp8ICNkZWZpbmUgSEFWRV9TVFJVQ1RfU1RBVEZT X0ZfRlNUWVBFTkFNRSAxCnwgI2RlZmluZSBIQVZFX1NUUlVDVF9TVEFURlNfRl9CQVZBSUwgMQp8 IC8qIGVuZCBjb25mZGVmcy5oLiAgKi8KfCAjaW5jbHVkZSA8c3lzL3N0YXR2ZnMuaD4KfCAKfCBp bnQKfCBtYWluICgpCnwgewp8IHN0YXRpYyBzdHJ1Y3Qgc3RhdHZmcyBhY19hZ2dyOwp8IGlmIChz aXplb2YgYWNfYWdnci5mX2Jhc2V0eXBlKQp8IHJldHVybiAwOwp8ICAgOwp8ICAgcmV0dXJuIDA7 CnwgfQpjb25maWd1cmU6MzA0NTE6IHJlc3VsdDogbm8KY29uZmlndXJlOjMwNDY1OiBjaGVja2lu ZyBmb3IgbmxfbGFuZ2luZm8gYW5kIENPREVTRVQKY29uZmlndXJlOjMwNDkxOiBjYyAtbyBjb25m dGVzdCAtTzIgLWZuby1zdHJpY3QtYWxpYXNpbmcgLXBpcGUgLVdhbGwgLUkvdXNyL2xvY2FsL2lu Y2x1ZGUgLURHX0RJU0FCTEVfU0lOR0xFX0lOQ0xVREVTIC1ML3Vzci9sb2NhbC9saWIgLWxpbnRs IGNvbmZ0ZXN0LmMgICA+JjUKY29uZnRlc3QuYzogSW4gZnVuY3Rpb24gJ21haW4nOgpjb25mdGVz dC5jOjg2OiB3YXJuaW5nOiB1bnVzZWQgdmFyaWFibGUgJ2NzJwpjb25maWd1cmU6MzA0OTg6ICQ/ ID0gMApjb25maWd1cmU6MzA1MTk6IHJlc3VsdDogeWVzCmNvbmZpZ3VyZTozMDUzMDogY2hlY2tp bmcgd2hldGhlciB3ZSBhcmUgdXNpbmcgdGhlIEdOVSBDIExpYnJhcnkgMi4xIG9yIG5ld2VyCmNv bmZpZ3VyZTozMDU2MTogcmVzdWx0OiBubwpjb25maWd1cmU6MzA1ODU6IGNoZWNraW5nIHN0ZGRl Zi5oIHVzYWJpbGl0eQpjb25maWd1cmU6MzA2MDI6IGNjIC1jIC1PMiAtZm5vLXN0cmljdC1hbGlh c2luZyAtcGlwZSAtV2FsbCAtSS91c3IvbG9jYWwvaW5jbHVkZSAtREdfRElTQUJMRV9TSU5HTEVf SU5DTFVERVMgY29uZnRlc3QuYyA+JjUKY29uZmlndXJlOjMwNjA5OiAkPyA9IDAKY29uZmlndXJl OjMwNjIzOiByZXN1bHQ6IHllcwpjb25maWd1cmU6MzA2Mjc6IGNoZWNraW5nIHN0ZGRlZi5oIHBy ZXNlbmNlCmNvbmZpZ3VyZTozMDY0MjogY2MgLUUgLUkvdXNyL2xvY2FsL2luY2x1ZGUgLURHX0RJ U0FCTEVfU0lOR0xFX0lOQ0xVREVTIGNvbmZ0ZXN0LmMKY29uZmlndXJlOjMwNjQ5OiAkPyA9IDAK Y29uZmlndXJlOjMwNjYzOiByZXN1bHQ6IHllcwpjb25maWd1cmU6MzA2OTY6IGNoZWNraW5nIGZv ciBzdGRkZWYuaApjb25maWd1cmU6MzA3MDU6IHJlc3VsdDogeWVzCmNvbmZpZ3VyZTozMDU3NDog Y2hlY2tpbmcgZm9yIHN0ZGxpYi5oCmNvbmZpZ3VyZTozMDU4MTogcmVzdWx0OiB5ZXMKY29uZmln dXJlOjMwNTc0OiBjaGVja2luZyBmb3Igc3RyaW5nLmgKY29uZmlndXJlOjMwNTgxOiByZXN1bHQ6 IHllcwpjb25maWd1cmU6MzA3MjQ6IGNoZWNraW5nIGZvciBzZXRsb2NhbGUKY29uZmlndXJlOjMw NzgwOiBjYyAtbyBjb25mdGVzdCAtTzIgLWZuby1zdHJpY3QtYWxpYXNpbmcgLXBpcGUgLVdhbGwg LUkvdXNyL2xvY2FsL2luY2x1ZGUgLURHX0RJU0FCTEVfU0lOR0xFX0lOQ0xVREVTIC1ML3Vzci9s b2NhbC9saWIgLWxpbnRsIGNvbmZ0ZXN0LmMgICA+JjUKY29uZmlndXJlOjMwNzg3OiAkPyA9IDAK Y29uZmlndXJlOjMwODA5OiByZXN1bHQ6IHllcwpjb25maWd1cmU6MzA4Mjc6IGNoZWNraW5nIHNp emUgb2Ygc2l6ZV90CmNvbmZpZ3VyZTozMTEzMjogY2MgLW8gY29uZnRlc3QgLU8yIC1mbm8tc3Ry aWN0LWFsaWFzaW5nIC1waXBlIC1XYWxsIC1JL3Vzci9sb2NhbC9pbmNsdWRlIC1ER19ESVNBQkxF X1NJTkdMRV9JTkNMVURFUyAtTC91c3IvbG9jYWwvbGliIC1saW50bCBjb25mdGVzdC5jICAgPiY1 CmNvbmZpZ3VyZTozMTEzNjogJD8gPSAwCmNvbmZpZ3VyZTozMTE0MjogLi9jb25mdGVzdApjb25m aWd1cmU6MzExNDY6ICQ/ID0gMApjb25maWd1cmU6MzExNzI6IHJlc3VsdDogOApjb25maWd1cmU6 MzExODM6IGNoZWNraW5nIGZvciB0aGUgYXBwcm9wcmlhdGUgZGVmaW5pdGlvbiBmb3Igc2l6ZV90 CmNvbmZpZ3VyZTozMTI4ODogcmVzdWx0OiB1bnNpZ25lZCBsb25nCmNvbmZpZ3VyZTozMTMxMjog Y2hlY2tpbmcgZm9yIGxzdGF0CmNvbmZpZ3VyZTozMTM2ODogY2MgLW8gY29uZnRlc3QgLU8yIC1m bm8tc3RyaWN0LWFsaWFzaW5nIC1waXBlIC1XYWxsIC1JL3Vzci9sb2NhbC9pbmNsdWRlIC1ER19E SVNBQkxFX1NJTkdMRV9JTkNMVURFUyAtTC91c3IvbG9jYWwvbGliIC1saW50bCBjb25mdGVzdC5j ICAgPiY1CmNvbmZpZ3VyZTozMTM3NTogJD8gPSAwCmNvbmZpZ3VyZTozMTM5NzogcmVzdWx0OiB5 ZXMKY29uZmlndXJlOjMxMzEyOiBjaGVja2luZyBmb3Igc3RyZXJyb3IKY29uZmlndXJlOjMxMzY4 OiBjYyAtbyBjb25mdGVzdCAtTzIgLWZuby1zdHJpY3QtYWxpYXNpbmcgLXBpcGUgLVdhbGwgLUkv dXNyL2xvY2FsL2luY2x1ZGUgLURHX0RJU0FCTEVfU0lOR0xFX0lOQ0xVREVTIC1ML3Vzci9sb2Nh bC9saWIgLWxpbnRsIGNvbmZ0ZXN0LmMgICA+JjUKY29uZmlndXJlOjMxMzc1OiAkPyA9IDAKY29u ZmlndXJlOjMxMzk3OiByZXN1bHQ6IHllcwpjb25maWd1cmU6MzEzMTI6IGNoZWNraW5nIGZvciBz dHJzaWduYWwKY29uZmlndXJlOjMxMzY4OiBjYyAtbyBjb25mdGVzdCAtTzIgLWZuby1zdHJpY3Qt YWxpYXNpbmcgLXBpcGUgLVdhbGwgLUkvdXNyL2xvY2FsL2luY2x1ZGUgLURHX0RJU0FCTEVfU0lO R0xFX0lOQ0xVREVTIC1ML3Vzci9sb2NhbC9saWIgLWxpbnRsIGNvbmZ0ZXN0LmMgICA+JjUKY29u ZmlndXJlOjMxMzc1OiAkPyA9IDAKY29uZmlndXJlOjMxMzk3OiByZXN1bHQ6IHllcwpjb25maWd1 cmU6MzEzMTI6IGNoZWNraW5nIGZvciBtZW1tb3ZlCmNvbmZpZ3VyZTozMTM2ODogY2MgLW8gY29u ZnRlc3QgLU8yIC1mbm8tc3RyaWN0LWFsaWFzaW5nIC1waXBlIC1XYWxsIC1JL3Vzci9sb2NhbC9p bmNsdWRlIC1ER19ESVNBQkxFX1NJTkdMRV9JTkNMVURFUyAtTC91c3IvbG9jYWwvbGliIC1saW50 bCBjb25mdGVzdC5jICAgPiY1CmNvbmZ0ZXN0LmM6MTE0OiB3YXJuaW5nOiBjb25mbGljdGluZyB0 eXBlcyBmb3IgYnVpbHQtaW4gZnVuY3Rpb24gJ21lbW1vdmUnCmNvbmZpZ3VyZTozMTM3NTogJD8g PSAwCmNvbmZpZ3VyZTozMTM5NzogcmVzdWx0OiB5ZXMKY29uZmlndXJlOjMxMzEyOiBjaGVja2lu ZyBmb3IgdnNucHJpbnRmCmNvbmZpZ3VyZTozMTM2ODogY2MgLW8gY29uZnRlc3QgLU8yIC1mbm8t c3RyaWN0LWFsaWFzaW5nIC1waXBlIC1XYWxsIC1JL3Vzci9sb2NhbC9pbmNsdWRlIC1ER19ESVNB QkxFX1NJTkdMRV9JTkNMVURFUyAtTC91c3IvbG9jYWwvbGliIC1saW50bCBjb25mdGVzdC5jICAg PiY1CmNvbmZ0ZXN0LmM6MTE1OiB3YXJuaW5nOiBjb25mbGljdGluZyB0eXBlcyBmb3IgYnVpbHQt aW4gZnVuY3Rpb24gJ3ZzbnByaW50ZicKY29uZmlndXJlOjMxMzc1OiAkPyA9IDAKY29uZmlndXJl OjMxMzk3OiByZXN1bHQ6IHllcwpjb25maWd1cmU6MzEzMTI6IGNoZWNraW5nIGZvciBzdHBjcHkK Y29uZmlndXJlOjMxMzY4OiBjYyAtbyBjb25mdGVzdCAtTzIgLWZuby1zdHJpY3QtYWxpYXNpbmcg LXBpcGUgLVdhbGwgLUkvdXNyL2xvY2FsL2luY2x1ZGUgLURHX0RJU0FCTEVfU0lOR0xFX0lOQ0xV REVTIC1ML3Vzci9sb2NhbC9saWIgLWxpbnRsIGNvbmZ0ZXN0LmMgICA+JjUKY29uZnRlc3QuYzox MTY6IHdhcm5pbmc6IGNvbmZsaWN0aW5nIHR5cGVzIGZvciBidWlsdC1pbiBmdW5jdGlvbiAnc3Rw Y3B5Jwpjb25maWd1cmU6MzEzNzU6ICQ/ID0gMApjb25maWd1cmU6MzEzOTc6IHJlc3VsdDogeWVz CmNvbmZpZ3VyZTozMTMxMjogY2hlY2tpbmcgZm9yIHN0cmNhc2VjbXAKY29uZmlndXJlOjMxMzY4 OiBjYyAtbyBjb25mdGVzdCAtTzIgLWZuby1zdHJpY3QtYWxpYXNpbmcgLXBpcGUgLVdhbGwgLUkv dXNyL2xvY2FsL2luY2x1ZGUgLURHX0RJU0FCTEVfU0lOR0xFX0lOQ0xVREVTIC1ML3Vzci9sb2Nh bC9saWIgLWxpbnRsIGNvbmZ0ZXN0LmMgICA+JjUKY29uZnRlc3QuYzoxMTc6IHdhcm5pbmc6IGNv bmZsaWN0aW5nIHR5cGVzIGZvciBidWlsdC1pbiBmdW5jdGlvbiAnc3RyY2FzZWNtcCcKY29uZmln dXJlOjMxMzc1OiAkPyA9IDAKY29uZmlndXJlOjMxMzk3OiByZXN1bHQ6IHllcwpjb25maWd1cmU6 MzEzMTI6IGNoZWNraW5nIGZvciBzdHJuY2FzZWNtcApjb25maWd1cmU6MzEzNjg6IGNjIC1vIGNv bmZ0ZXN0IC1PMiAtZm5vLXN0cmljdC1hbGlhc2luZyAtcGlwZSAtV2FsbCAtSS91c3IvbG9jYWwv aW5jbHVkZSAtREdfRElTQUJMRV9TSU5HTEVfSU5DTFVERVMgLUwvdXNyL2xvY2FsL2xpYiAtbGlu dGwgY29uZnRlc3QuYyAgID4mNQpjb25mdGVzdC5jOjExODogd2FybmluZzogY29uZmxpY3Rpbmcg dHlwZXMgZm9yIGJ1aWx0LWluIGZ1bmN0aW9uICdzdHJuY2FzZWNtcCcKY29uZmlndXJlOjMxMzc1 OiAkPyA9IDAKY29uZmlndXJlOjMxMzk3OiByZXN1bHQ6IHllcwpjb25maWd1cmU6MzEzMTI6IGNo ZWNraW5nIGZvciBwb2xsCmNvbmZpZ3VyZTozMTM2ODogY2MgLW8gY29uZnRlc3QgLU8yIC1mbm8t c3RyaWN0LWFsaWFzaW5nIC1waXBlIC1XYWxsIC1JL3Vzci9sb2NhbC9pbmNsdWRlIC1ER19ESVNB QkxFX1NJTkdMRV9JTkNMVURFUyAtTC91c3IvbG9jYWwvbGliIC1saW50bCBjb25mdGVzdC5jICAg PiY1CmNvbmZpZ3VyZTozMTM3NTogJD8gPSAwCmNvbmZpZ3VyZTozMTM5NzogcmVzdWx0OiB5ZXMK Y29uZmlndXJlOjMxMzEyOiBjaGVja2luZyBmb3IgZ2V0Y3dkCmNvbmZpZ3VyZTozMTM2ODogY2Mg LW8gY29uZnRlc3QgLU8yIC1mbm8tc3RyaWN0LWFsaWFzaW5nIC1waXBlIC1XYWxsIC1JL3Vzci9s b2NhbC9pbmNsdWRlIC1ER19ESVNBQkxFX1NJTkdMRV9JTkNMVURFUyAtTC91c3IvbG9jYWwvbGli IC1saW50bCBjb25mdGVzdC5jICAgPiY1CmNvbmZpZ3VyZTozMTM3NTogJD8gPSAwCmNvbmZpZ3Vy ZTozMTM5NzogcmVzdWx0OiB5ZXMKY29uZmlndXJlOjMxMzEyOiBjaGVja2luZyBmb3IgdmFzcHJp bnRmCmNvbmZpZ3VyZTozMTM2ODogY2MgLW8gY29uZnRlc3QgLU8yIC1mbm8tc3RyaWN0LWFsaWFz aW5nIC1waXBlIC1XYWxsIC1JL3Vzci9sb2NhbC9pbmNsdWRlIC1ER19ESVNBQkxFX1NJTkdMRV9J TkNMVURFUyAtTC91c3IvbG9jYWwvbGliIC1saW50bCBjb25mdGVzdC5jICAgPiY1CmNvbmZpZ3Vy ZTozMTM3NTogJD8gPSAwCmNvbmZpZ3VyZTozMTM5NzogcmVzdWx0OiB5ZXMKY29uZmlndXJlOjMx MzEyOiBjaGVja2luZyBmb3Igc2V0ZW52CmNvbmZpZ3VyZTozMTM2ODogY2MgLW8gY29uZnRlc3Qg LU8yIC1mbm8tc3RyaWN0LWFsaWFzaW5nIC1waXBlIC1XYWxsIC1JL3Vzci9sb2NhbC9pbmNsdWRl IC1ER19ESVNBQkxFX1NJTkdMRV9JTkNMVURFUyAtTC91c3IvbG9jYWwvbGliIC1saW50bCBjb25m dGVzdC5jICAgPiY1CmNvbmZpZ3VyZTozMTM3NTogJD8gPSAwCmNvbmZpZ3VyZTozMTM5NzogcmVz dWx0OiB5ZXMKY29uZmlndXJlOjMxMzEyOiBjaGVja2luZyBmb3IgdW5zZXRlbnYKY29uZmlndXJl OjMxMzY4OiBjYyAtbyBjb25mdGVzdCAtTzIgLWZuby1zdHJpY3QtYWxpYXNpbmcgLXBpcGUgLVdh bGwgLUkvdXNyL2xvY2FsL2luY2x1ZGUgLURHX0RJU0FCTEVfU0lOR0xFX0lOQ0xVREVTIC1ML3Vz ci9sb2NhbC9saWIgLWxpbnRsIGNvbmZ0ZXN0LmMgICA+JjUKY29uZmlndXJlOjMxMzc1OiAkPyA9 IDAKY29uZmlndXJlOjMxMzk3OiByZXN1bHQ6IHllcwpjb25maWd1cmU6MzEzMTI6IGNoZWNraW5n IGZvciBnZXRjX3VubG9ja2VkCmNvbmZpZ3VyZTozMTM2ODogY2MgLW8gY29uZnRlc3QgLU8yIC1m bm8tc3RyaWN0LWFsaWFzaW5nIC1waXBlIC1XYWxsIC1JL3Vzci9sb2NhbC9pbmNsdWRlIC1ER19E SVNBQkxFX1NJTkdMRV9JTkNMVURFUyAtTC91c3IvbG9jYWwvbGliIC1saW50bCBjb25mdGVzdC5j ICAgPiY1CmNvbmZpZ3VyZTozMTM3NTogJD8gPSAwCmNvbmZpZ3VyZTozMTM5NzogcmVzdWx0OiB5 ZXMKY29uZmlndXJlOjMxMzEyOiBjaGVja2luZyBmb3IgcmVhZGxpbmsKY29uZmlndXJlOjMxMzY4 OiBjYyAtbyBjb25mdGVzdCAtTzIgLWZuby1zdHJpY3QtYWxpYXNpbmcgLXBpcGUgLVdhbGwgLUkv dXNyL2xvY2FsL2luY2x1ZGUgLURHX0RJU0FCTEVfU0lOR0xFX0lOQ0xVREVTIC1ML3Vzci9sb2Nh bC9saWIgLWxpbnRsIGNvbmZ0ZXN0LmMgICA+JjUKY29uZmlndXJlOjMxMzc1OiAkPyA9IDAKY29u ZmlndXJlOjMxMzk3OiByZXN1bHQ6IHllcwpjb25maWd1cmU6MzEzMTI6IGNoZWNraW5nIGZvciBz eW1saW5rCmNvbmZpZ3VyZTozMTM2ODogY2MgLW8gY29uZnRlc3QgLU8yIC1mbm8tc3RyaWN0LWFs aWFzaW5nIC1waXBlIC1XYWxsIC1JL3Vzci9sb2NhbC9pbmNsdWRlIC1ER19ESVNBQkxFX1NJTkdM RV9JTkNMVURFUyAtTC91c3IvbG9jYWwvbGliIC1saW50bCBjb25mdGVzdC5jICAgPiY1CmNvbmZp Z3VyZTozMTM3NTogJD8gPSAwCmNvbmZpZ3VyZTozMTM5NzogcmVzdWx0OiB5ZXMKY29uZmlndXJl OjMxMzEyOiBjaGVja2luZyBmb3IgZmR3YWxrCmNvbmZpZ3VyZTozMTM2ODogY2MgLW8gY29uZnRl c3QgLU8yIC1mbm8tc3RyaWN0LWFsaWFzaW5nIC1waXBlIC1XYWxsIC1JL3Vzci9sb2NhbC9pbmNs dWRlIC1ER19ESVNBQkxFX1NJTkdMRV9JTkNMVURFUyAtTC91c3IvbG9jYWwvbGliIC1saW50bCBj b25mdGVzdC5jICAgPiY1Ci92YXIvdG1wLy9jY0ZOQ1RjNC5vKC50ZXh0KzB4Nyk6IEluIGZ1bmN0 aW9uIGBtYWluJzoKOiB1bmRlZmluZWQgcmVmZXJlbmNlIHRvIGBmZHdhbGsnCmNvbmZpZ3VyZToz MTM3NTogJD8gPSAxCmNvbmZpZ3VyZTogZmFpbGVkIHByb2dyYW0gd2FzOgp8IC8qIGNvbmZkZWZz LmguICAqLwp8ICNkZWZpbmUgUEFDS0FHRV9OQU1FICJnbGliIgp8ICNkZWZpbmUgUEFDS0FHRV9U QVJOQU1FICJnbGliIgp8ICNkZWZpbmUgUEFDS0FHRV9WRVJTSU9OICIyLjIwLjUiCnwgI2RlZmlu ZSBQQUNLQUdFX1NUUklORyAiZ2xpYiAyLjIwLjUiCnwgI2RlZmluZSBQQUNLQUdFX0JVR1JFUE9S VCAiaHR0cDovL2J1Z3ppbGxhLmdub21lLm9yZy9lbnRlcl9idWcuY2dpP3Byb2R1Y3Q9Z2xpYiIK fCAjZGVmaW5lIEdMSUJfTUFKT1JfVkVSU0lPTiAyCnwgI2RlZmluZSBHTElCX01JTk9SX1ZFUlNJ T04gMjAKfCAjZGVmaW5lIEdMSUJfTUlDUk9fVkVSU0lPTiA1CnwgI2RlZmluZSBHTElCX0lOVEVS RkFDRV9BR0UgNQp8ICNkZWZpbmUgR0xJQl9CSU5BUllfQUdFIDIwMDUKfCAjZGVmaW5lIE5FRURf SUNPTlZfQ0FDSEUgMQp8ICNkZWZpbmUgU1REQ19IRUFERVJTIDEKfCAjZGVmaW5lIEhBVkVfU1lT X1RZUEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfU1RBVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1RE TElCX0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJJTkdfSCAxCnwgI2RlZmluZSBIQVZFX01FTU9SWV9I IDEKfCAjZGVmaW5lIEhBVkVfU1RSSU5HU19IIDEKfCAjZGVmaW5lIEhBVkVfSU5UVFlQRVNfSCAx CnwgI2RlZmluZSBIQVZFX1NURElOVF9IIDEKfCAjZGVmaW5lIEhBVkVfVU5JU1REX0ggMQp8ICNk ZWZpbmUgSEFWRV9MT0NBTEVfSCAxCnwgI2RlZmluZSBIQVZFX0xDX01FU1NBR0VTIDEKfCAjZGVm aW5lIEhBVkVfQklORF9URVhURE9NQUlOX0NPREVTRVQgMQp8ICNkZWZpbmUgSEFWRV9HRVRURVhU IDEKfCAjZGVmaW5lIEhBVkVfRENHRVRURVhUIDEKfCAjZGVmaW5lIEVOQUJMRV9OTFMgMQp8ICNk ZWZpbmUgR0VUVEVYVF9QQUNLQUdFICJnbGliMjAiCnwgI2RlZmluZSBHTElCX0xPQ0FMRV9ESVIg Ii91c3IvbG9jYWwvc2hhcmUvbG9jYWxlIgp8ICNkZWZpbmUgVVNFX0xJQklDT05WX0dOVSAxCnwg I2RlZmluZSBIQVZFX0RMRkNOX0ggMQp8ICNkZWZpbmUgTFRfT0JKRElSICIubGlicy8iCnwgI2Rl ZmluZSBTVERDX0hFQURFUlMgMQp8ICNkZWZpbmUgSEFWRV9WUFJJTlRGIDEKfCAjZGVmaW5lIEhB VkVfQUxMT0NBIDEKfCAjZGVmaW5lIEhBVkVfTU1BUCAxCnwgI2RlZmluZSBIQVZFX1BPU0lYX01F TUFMSUdOIDEKfCAjZGVmaW5lIEhBVkVfVkFMTE9DIDEKfCAjZGVmaW5lIEhBVkVfRlNZTkMgMQp8 ICNkZWZpbmUgSEFWRV9BVEVYSVQgMQp8ICNkZWZpbmUgSEFWRV9USU1FR00gMQp8ICNkZWZpbmUg SEFWRV9HTVRJTUVfUiAxCnwgI2RlZmluZSBTSVpFT0ZfQ0hBUiAxCnwgI2RlZmluZSBTSVpFT0Zf U0hPUlQgMgp8ICNkZWZpbmUgU0laRU9GX0xPTkcgOAp8ICNkZWZpbmUgU0laRU9GX0lOVCA0Cnwg I2RlZmluZSBTSVpFT0ZfVk9JRF9QIDgKfCAjZGVmaW5lIFNJWkVPRl9MT05HX0xPTkcgOAp8ICNk ZWZpbmUgU0laRU9GX19fSU5UNjQgMAp8ICNkZWZpbmUgSEFWRV9MT05HX0xPTkdfRk9STUFUIDEK fCAjZGVmaW5lIFNBTkVfTUFMTE9DX1BST1RPUyAxCnwgI2RlZmluZSBHX0hBVkVfX19JTkxJTkUg MQp8ICNkZWZpbmUgR19IQVZFX19fSU5MSU5FX18gMQp8ICNkZWZpbmUgR19IQVZFX0lOTElORSAx CnwgI2RlZmluZSBIQVZFX0RPV0hJTEVfTUFDUk9TIDEKfCAjZGVmaW5lIEhBVkVfRElSRU5UX0gg MQp8ICNkZWZpbmUgSEFWRV9GTE9BVF9IIDEKfCAjZGVmaW5lIEhBVkVfTElNSVRTX0ggMQp8ICNk ZWZpbmUgSEFWRV9QV0RfSCAxCnwgI2RlZmluZSBIQVZFX0dSUF9IIDEKfCAjZGVmaW5lIEhBVkVf U1lTX1BBUkFNX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfUE9MTF9IIDEKfCAjZGVmaW5lIEhBVkVf U1lTX1JFU09VUkNFX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfVElNRV9IIDEKfCAjZGVmaW5lIEhB VkVfU1lTX1RJTUVTX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfV0FJVF9IIDEKfCAjZGVmaW5lIEhB VkVfVU5JU1REX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfU0VMRUNUX0ggMQp8ICNkZWZpbmUgSEFW RV9TWVNfVFlQRVNfSCAxCnwgI2RlZmluZSBIQVZFX1NURElOVF9IIDEKfCAjZGVmaW5lIEhBVkVf U0NIRURfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19NT1VOVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1lT X1NUQVRWRlNfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19TWVNDVExfSCAxCnwgI2RlZmluZSBIQVZF X0ZTVEFCX0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJVQ1RfU1RBVF9TVF9CTEtTSVpFIDEKfCAjZGVm aW5lIEhBVkVfU1RSVUNUX1NUQVRfU1RfQkxPQ0tTIDEKfCAjZGVmaW5lIEhBVkVfU1RSVUNUX1NU QVRGU19GX0ZTVFlQRU5BTUUgMQp8ICNkZWZpbmUgSEFWRV9TVFJVQ1RfU1RBVEZTX0ZfQkFWQUlM IDEKfCAjZGVmaW5lIEhBVkVfTEFOR0lORk9fQ09ERVNFVCAxCnwgI2RlZmluZSBIQVZFX1NURERF Rl9IIDEKfCAjZGVmaW5lIEhBVkVfU1RETElCX0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJJTkdfSCAx CnwgI2RlZmluZSBIQVZFX1NFVExPQ0FMRSAxCnwgI2RlZmluZSBTSVpFT0ZfU0laRV9UIDgKfCAj ZGVmaW5lIEhBVkVfTFNUQVQgMQp8ICNkZWZpbmUgSEFWRV9TVFJFUlJPUiAxCnwgI2RlZmluZSBI QVZFX1NUUlNJR05BTCAxCnwgI2RlZmluZSBIQVZFX01FTU1PVkUgMQp8ICNkZWZpbmUgSEFWRV9W U05QUklOVEYgMQp8ICNkZWZpbmUgSEFWRV9TVFBDUFkgMQp8ICNkZWZpbmUgSEFWRV9TVFJDQVNF Q01QIDEKfCAjZGVmaW5lIEhBVkVfU1RSTkNBU0VDTVAgMQp8ICNkZWZpbmUgSEFWRV9QT0xMIDEK fCAjZGVmaW5lIEhBVkVfR0VUQ1dEIDEKfCAjZGVmaW5lIEhBVkVfVkFTUFJJTlRGIDEKfCAjZGVm aW5lIEhBVkVfU0VURU5WIDEKfCAjZGVmaW5lIEhBVkVfVU5TRVRFTlYgMQp8ICNkZWZpbmUgSEFW RV9HRVRDX1VOTE9DS0VEIDEKfCAjZGVmaW5lIEhBVkVfUkVBRExJTksgMQp8ICNkZWZpbmUgSEFW RV9TWU1MSU5LIDEKfCAvKiBlbmQgY29uZmRlZnMuaC4gICovCnwgLyogRGVmaW5lIGZkd2FsayB0 byBhbiBpbm5vY3VvdXMgdmFyaWFudCwgaW4gY2FzZSA8bGltaXRzLmg+IGRlY2xhcmVzIGZkd2Fs ay4KfCAgICBGb3IgZXhhbXBsZSwgSFAtVVggMTFpIDxsaW1pdHMuaD4gZGVjbGFyZXMgZ2V0dGlt ZW9mZGF5LiAgKi8KfCAjZGVmaW5lIGZkd2FsayBpbm5vY3VvdXNfZmR3YWxrCnwgCnwgLyogU3lz dGVtIGhlYWRlciB0byBkZWZpbmUgX19zdHViIG1hY3JvcyBhbmQgaG9wZWZ1bGx5IGZldyBwcm90 b3R5cGVzLAp8ICAgICB3aGljaCBjYW4gY29uZmxpY3Qgd2l0aCBjaGFyIGZkd2FsayAoKTsgYmVs b3cuCnwgICAgIFByZWZlciA8bGltaXRzLmg+IHRvIDxhc3NlcnQuaD4gaWYgX19TVERDX18gaXMg ZGVmaW5lZCwgc2luY2UKfCAgICAgPGxpbWl0cy5oPiBleGlzdHMgZXZlbiBvbiBmcmVlc3RhbmRp bmcgY29tcGlsZXJzLiAgKi8KfCAKfCAjaWZkZWYgX19TVERDX18KfCAjIGluY2x1ZGUgPGxpbWl0 cy5oPgp8ICNlbHNlCnwgIyBpbmNsdWRlIDxhc3NlcnQuaD4KfCAjZW5kaWYKfCAKfCAjdW5kZWYg ZmR3YWxrCnwgCnwgLyogT3ZlcnJpZGUgYW55IEdDQyBpbnRlcm5hbCBwcm90b3R5cGUgdG8gYXZv aWQgYW4gZXJyb3IuCnwgICAgVXNlIGNoYXIgYmVjYXVzZSBpbnQgbWlnaHQgbWF0Y2ggdGhlIHJl dHVybiB0eXBlIG9mIGEgR0NDCnwgICAgYnVpbHRpbiBhbmQgdGhlbiBpdHMgYXJndW1lbnQgcHJv dG90eXBlIHdvdWxkIHN0aWxsIGFwcGx5LiAgKi8KfCAjaWZkZWYgX19jcGx1c3BsdXMKfCBleHRl cm4gIkMiCnwgI2VuZGlmCnwgY2hhciBmZHdhbGsgKCk7CnwgLyogVGhlIEdOVSBDIGxpYnJhcnkg ZGVmaW5lcyB0aGlzIGZvciBmdW5jdGlvbnMgd2hpY2ggaXQgaW1wbGVtZW50cwp8ICAgICB0byBh bHdheXMgZmFpbCB3aXRoIEVOT1NZUy4gIFNvbWUgZnVuY3Rpb25zIGFyZSBhY3R1YWxseSBuYW1l ZAp8ICAgICBzb21ldGhpbmcgc3RhcnRpbmcgd2l0aCBfXyBhbmQgdGhlIG5vcm1hbCBuYW1lIGlz IGFuIGFsaWFzLiAgKi8KfCAjaWYgZGVmaW5lZCBfX3N0dWJfZmR3YWxrIHx8IGRlZmluZWQgX19z dHViX19fZmR3YWxrCnwgY2hva2UgbWUKfCAjZW5kaWYKfCAKfCBpbnQKfCBtYWluICgpCnwgewp8 IHJldHVybiBmZHdhbGsgKCk7CnwgICA7CnwgICByZXR1cm4gMDsKfCB9CmNvbmZpZ3VyZTozMTM5 NzogcmVzdWx0OiBubwpjb25maWd1cmU6MzE0MjI6IGNoZWNraW5nIGZvciBjaG93bgpjb25maWd1 cmU6MzE0Nzg6IGNjIC1vIGNvbmZ0ZXN0IC1PMiAtZm5vLXN0cmljdC1hbGlhc2luZyAtcGlwZSAt V2FsbCAtSS91c3IvbG9jYWwvaW5jbHVkZSAtREdfRElTQUJMRV9TSU5HTEVfSU5DTFVERVMgLUwv dXNyL2xvY2FsL2xpYiAtbGludGwgY29uZnRlc3QuYyAgID4mNQpjb25maWd1cmU6MzE0ODU6ICQ/ ID0gMApjb25maWd1cmU6MzE1MDc6IHJlc3VsdDogeWVzCmNvbmZpZ3VyZTozMTQyMjogY2hlY2tp bmcgZm9yIGxjaG93bgpjb25maWd1cmU6MzE0Nzg6IGNjIC1vIGNvbmZ0ZXN0IC1PMiAtZm5vLXN0 cmljdC1hbGlhc2luZyAtcGlwZSAtV2FsbCAtSS91c3IvbG9jYWwvaW5jbHVkZSAtREdfRElTQUJM RV9TSU5HTEVfSU5DTFVERVMgLUwvdXNyL2xvY2FsL2xpYiAtbGludGwgY29uZnRlc3QuYyAgID4m NQpjb25maWd1cmU6MzE0ODU6ICQ/ID0gMApjb25maWd1cmU6MzE1MDc6IHJlc3VsdDogeWVzCmNv bmZpZ3VyZTozMTQyMjogY2hlY2tpbmcgZm9yIGZjaG1vZApjb25maWd1cmU6MzE0Nzg6IGNjIC1v IGNvbmZ0ZXN0IC1PMiAtZm5vLXN0cmljdC1hbGlhc2luZyAtcGlwZSAtV2FsbCAtSS91c3IvbG9j YWwvaW5jbHVkZSAtREdfRElTQUJMRV9TSU5HTEVfSU5DTFVERVMgLUwvdXNyL2xvY2FsL2xpYiAt bGludGwgY29uZnRlc3QuYyAgID4mNQpjb25maWd1cmU6MzE0ODU6ICQ/ID0gMApjb25maWd1cmU6 MzE1MDc6IHJlc3VsdDogeWVzCmNvbmZpZ3VyZTozMTQyMjogY2hlY2tpbmcgZm9yIGZjaG93bgpj b25maWd1cmU6MzE0Nzg6IGNjIC1vIGNvbmZ0ZXN0IC1PMiAtZm5vLXN0cmljdC1hbGlhc2luZyAt cGlwZSAtV2FsbCAtSS91c3IvbG9jYWwvaW5jbHVkZSAtREdfRElTQUJMRV9TSU5HTEVfSU5DTFVE RVMgLUwvdXNyL2xvY2FsL2xpYiAtbGludGwgY29uZnRlc3QuYyAgID4mNQpjb25maWd1cmU6MzE0 ODU6ICQ/ID0gMApjb25maWd1cmU6MzE1MDc6IHJlc3VsdDogeWVzCmNvbmZpZ3VyZTozMTQyMjog Y2hlY2tpbmcgZm9yIGxpbmsKY29uZmlndXJlOjMxNDc4OiBjYyAtbyBjb25mdGVzdCAtTzIgLWZu by1zdHJpY3QtYWxpYXNpbmcgLXBpcGUgLVdhbGwgLUkvdXNyL2xvY2FsL2luY2x1ZGUgLURHX0RJ U0FCTEVfU0lOR0xFX0lOQ0xVREVTIC1ML3Vzci9sb2NhbC9saWIgLWxpbnRsIGNvbmZ0ZXN0LmMg ICA+JjUKY29uZmlndXJlOjMxNDg1OiAkPyA9IDAKY29uZmlndXJlOjMxNTA3OiByZXN1bHQ6IHll cwpjb25maWd1cmU6MzE0MjI6IGNoZWNraW5nIGZvciBzdGF0dmZzCmNvbmZpZ3VyZTozMTQ3ODog Y2MgLW8gY29uZnRlc3QgLU8yIC1mbm8tc3RyaWN0LWFsaWFzaW5nIC1waXBlIC1XYWxsIC1JL3Vz ci9sb2NhbC9pbmNsdWRlIC1ER19ESVNBQkxFX1NJTkdMRV9JTkNMVURFUyAtTC91c3IvbG9jYWwv bGliIC1saW50bCBjb25mdGVzdC5jICAgPiY1CmNvbmZpZ3VyZTozMTQ4NTogJD8gPSAwCmNvbmZp Z3VyZTozMTUwNzogcmVzdWx0OiB5ZXMKY29uZmlndXJlOjMxNDIyOiBjaGVja2luZyBmb3Igc3Rh dGZzCmNvbmZpZ3VyZTozMTQ3ODogY2MgLW8gY29uZnRlc3QgLU8yIC1mbm8tc3RyaWN0LWFsaWFz aW5nIC1waXBlIC1XYWxsIC1JL3Vzci9sb2NhbC9pbmNsdWRlIC1ER19ESVNBQkxFX1NJTkdMRV9J TkNMVURFUyAtTC91c3IvbG9jYWwvbGliIC1saW50bCBjb25mdGVzdC5jICAgPiY1CmNvbmZpZ3Vy ZTozMTQ4NTogJD8gPSAwCmNvbmZpZ3VyZTozMTUwNzogcmVzdWx0OiB5ZXMKY29uZmlndXJlOjMx NDIyOiBjaGVja2luZyBmb3IgdXRpbWVzCmNvbmZpZ3VyZTozMTQ3ODogY2MgLW8gY29uZnRlc3Qg LU8yIC1mbm8tc3RyaWN0LWFsaWFzaW5nIC1waXBlIC1XYWxsIC1JL3Vzci9sb2NhbC9pbmNsdWRl IC1ER19ESVNBQkxFX1NJTkdMRV9JTkNMVURFUyAtTC91c3IvbG9jYWwvbGliIC1saW50bCBjb25m dGVzdC5jICAgPiY1CmNvbmZpZ3VyZTozMTQ4NTogJD8gPSAwCmNvbmZpZ3VyZTozMTUwNzogcmVz dWx0OiB5ZXMKY29uZmlndXJlOjMxNDIyOiBjaGVja2luZyBmb3IgZ2V0Z3JnaWQKY29uZmlndXJl OjMxNDc4OiBjYyAtbyBjb25mdGVzdCAtTzIgLWZuby1zdHJpY3QtYWxpYXNpbmcgLXBpcGUgLVdh bGwgLUkvdXNyL2xvY2FsL2luY2x1ZGUgLURHX0RJU0FCTEVfU0lOR0xFX0lOQ0xVREVTIC1ML3Vz ci9sb2NhbC9saWIgLWxpbnRsIGNvbmZ0ZXN0LmMgICA+JjUKY29uZmlndXJlOjMxNDg1OiAkPyA9 IDAKY29uZmlndXJlOjMxNTA3OiByZXN1bHQ6IHllcwpjb25maWd1cmU6MzE0MjI6IGNoZWNraW5n IGZvciBnZXRwd3VpZApjb25maWd1cmU6MzE0Nzg6IGNjIC1vIGNvbmZ0ZXN0IC1PMiAtZm5vLXN0 cmljdC1hbGlhc2luZyAtcGlwZSAtV2FsbCAtSS91c3IvbG9jYWwvaW5jbHVkZSAtREdfRElTQUJM RV9TSU5HTEVfSU5DTFVERVMgLUwvdXNyL2xvY2FsL2xpYiAtbGludGwgY29uZnRlc3QuYyAgID4m NQpjb25maWd1cmU6MzE0ODU6ICQ/ID0gMApjb25maWd1cmU6MzE1MDc6IHJlc3VsdDogeWVzCmNv bmZpZ3VyZTozMTQyMjogY2hlY2tpbmcgZm9yIHN5c2N0bGJ5bmFtZQpjb25maWd1cmU6MzE0Nzg6 IGNjIC1vIGNvbmZ0ZXN0IC1PMiAtZm5vLXN0cmljdC1hbGlhc2luZyAtcGlwZSAtV2FsbCAtSS91 c3IvbG9jYWwvaW5jbHVkZSAtREdfRElTQUJMRV9TSU5HTEVfSU5DTFVERVMgLUwvdXNyL2xvY2Fs L2xpYiAtbGludGwgY29uZnRlc3QuYyAgID4mNQpjb25maWd1cmU6MzE0ODU6ICQ/ID0gMApjb25m aWd1cmU6MzE1MDc6IHJlc3VsdDogeWVzCmNvbmZpZ3VyZTozMTUyNzogY2hlY2tpbmcgZm9yIGdl dG1udGVudF9yCmNvbmZpZ3VyZTozMTU4MzogY2MgLW8gY29uZnRlc3QgLU8yIC1mbm8tc3RyaWN0 LWFsaWFzaW5nIC1waXBlIC1XYWxsIC1JL3Vzci9sb2NhbC9pbmNsdWRlIC1ER19ESVNBQkxFX1NJ TkdMRV9JTkNMVURFUyAtTC91c3IvbG9jYWwvbGliIC1saW50bCBjb25mdGVzdC5jICAgPiY1Ci92 YXIvdG1wLy9jY01EZDZDUi5vKC50ZXh0KzB4Nyk6IEluIGZ1bmN0aW9uIGBtYWluJzoKOiB1bmRl ZmluZWQgcmVmZXJlbmNlIHRvIGBnZXRtbnRlbnRfcicKY29uZmlndXJlOjMxNTkwOiAkPyA9IDEK Y29uZmlndXJlOiBmYWlsZWQgcHJvZ3JhbSB3YXM6CnwgLyogY29uZmRlZnMuaC4gICovCnwgI2Rl ZmluZSBQQUNLQUdFX05BTUUgImdsaWIiCnwgI2RlZmluZSBQQUNLQUdFX1RBUk5BTUUgImdsaWIi CnwgI2RlZmluZSBQQUNLQUdFX1ZFUlNJT04gIjIuMjAuNSIKfCAjZGVmaW5lIFBBQ0tBR0VfU1RS SU5HICJnbGliIDIuMjAuNSIKfCAjZGVmaW5lIFBBQ0tBR0VfQlVHUkVQT1JUICJodHRwOi8vYnVn emlsbGEuZ25vbWUub3JnL2VudGVyX2J1Zy5jZ2k/cHJvZHVjdD1nbGliIgp8ICNkZWZpbmUgR0xJ Ql9NQUpPUl9WRVJTSU9OIDIKfCAjZGVmaW5lIEdMSUJfTUlOT1JfVkVSU0lPTiAyMAp8ICNkZWZp bmUgR0xJQl9NSUNST19WRVJTSU9OIDUKfCAjZGVmaW5lIEdMSUJfSU5URVJGQUNFX0FHRSA1Cnwg I2RlZmluZSBHTElCX0JJTkFSWV9BR0UgMjAwNQp8ICNkZWZpbmUgTkVFRF9JQ09OVl9DQUNIRSAx CnwgI2RlZmluZSBTVERDX0hFQURFUlMgMQp8ICNkZWZpbmUgSEFWRV9TWVNfVFlQRVNfSCAxCnwg I2RlZmluZSBIQVZFX1NZU19TVEFUX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERMSUJfSCAxCnwgI2Rl ZmluZSBIQVZFX1NUUklOR19IIDEKfCAjZGVmaW5lIEhBVkVfTUVNT1JZX0ggMQp8ICNkZWZpbmUg SEFWRV9TVFJJTkdTX0ggMQp8ICNkZWZpbmUgSEFWRV9JTlRUWVBFU19IIDEKfCAjZGVmaW5lIEhB VkVfU1RESU5UX0ggMQp8ICNkZWZpbmUgSEFWRV9VTklTVERfSCAxCnwgI2RlZmluZSBIQVZFX0xP Q0FMRV9IIDEKfCAjZGVmaW5lIEhBVkVfTENfTUVTU0FHRVMgMQp8ICNkZWZpbmUgSEFWRV9CSU5E X1RFWFRET01BSU5fQ09ERVNFVCAxCnwgI2RlZmluZSBIQVZFX0dFVFRFWFQgMQp8ICNkZWZpbmUg SEFWRV9EQ0dFVFRFWFQgMQp8ICNkZWZpbmUgRU5BQkxFX05MUyAxCnwgI2RlZmluZSBHRVRURVhU X1BBQ0tBR0UgImdsaWIyMCIKfCAjZGVmaW5lIEdMSUJfTE9DQUxFX0RJUiAiL3Vzci9sb2NhbC9z aGFyZS9sb2NhbGUiCnwgI2RlZmluZSBVU0VfTElCSUNPTlZfR05VIDEKfCAjZGVmaW5lIEhBVkVf RExGQ05fSCAxCnwgI2RlZmluZSBMVF9PQkpESVIgIi5saWJzLyIKfCAjZGVmaW5lIFNURENfSEVB REVSUyAxCnwgI2RlZmluZSBIQVZFX1ZQUklOVEYgMQp8ICNkZWZpbmUgSEFWRV9BTExPQ0EgMQp8 ICNkZWZpbmUgSEFWRV9NTUFQIDEKfCAjZGVmaW5lIEhBVkVfUE9TSVhfTUVNQUxJR04gMQp8ICNk ZWZpbmUgSEFWRV9WQUxMT0MgMQp8ICNkZWZpbmUgSEFWRV9GU1lOQyAxCnwgI2RlZmluZSBIQVZF X0FURVhJVCAxCnwgI2RlZmluZSBIQVZFX1RJTUVHTSAxCnwgI2RlZmluZSBIQVZFX0dNVElNRV9S IDEKfCAjZGVmaW5lIFNJWkVPRl9DSEFSIDEKfCAjZGVmaW5lIFNJWkVPRl9TSE9SVCAyCnwgI2Rl ZmluZSBTSVpFT0ZfTE9ORyA4CnwgI2RlZmluZSBTSVpFT0ZfSU5UIDQKfCAjZGVmaW5lIFNJWkVP Rl9WT0lEX1AgOAp8ICNkZWZpbmUgU0laRU9GX0xPTkdfTE9ORyA4CnwgI2RlZmluZSBTSVpFT0Zf X19JTlQ2NCAwCnwgI2RlZmluZSBIQVZFX0xPTkdfTE9OR19GT1JNQVQgMQp8ICNkZWZpbmUgU0FO RV9NQUxMT0NfUFJPVE9TIDEKfCAjZGVmaW5lIEdfSEFWRV9fX0lOTElORSAxCnwgI2RlZmluZSBH X0hBVkVfX19JTkxJTkVfXyAxCnwgI2RlZmluZSBHX0hBVkVfSU5MSU5FIDEKfCAjZGVmaW5lIEhB VkVfRE9XSElMRV9NQUNST1MgMQp8ICNkZWZpbmUgSEFWRV9ESVJFTlRfSCAxCnwgI2RlZmluZSBI QVZFX0ZMT0FUX0ggMQp8ICNkZWZpbmUgSEFWRV9MSU1JVFNfSCAxCnwgI2RlZmluZSBIQVZFX1BX RF9IIDEKfCAjZGVmaW5lIEhBVkVfR1JQX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfUEFSQU1fSCAx CnwgI2RlZmluZSBIQVZFX1NZU19QT0xMX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfUkVTT1VSQ0Vf SCAxCnwgI2RlZmluZSBIQVZFX1NZU19USU1FX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfVElNRVNf SCAxCnwgI2RlZmluZSBIQVZFX1NZU19XQUlUX0ggMQp8ICNkZWZpbmUgSEFWRV9VTklTVERfSCAx CnwgI2RlZmluZSBIQVZFX1NZU19TRUxFQ1RfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19UWVBFU19I IDEKfCAjZGVmaW5lIEhBVkVfU1RESU5UX0ggMQp8ICNkZWZpbmUgSEFWRV9TQ0hFRF9IIDEKfCAj ZGVmaW5lIEhBVkVfU1lTX01PVU5UX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfU1RBVFZGU19IIDEK fCAjZGVmaW5lIEhBVkVfU1lTX1NZU0NUTF9IIDEKfCAjZGVmaW5lIEhBVkVfRlNUQUJfSCAxCnwg I2RlZmluZSBIQVZFX1NUUlVDVF9TVEFUX1NUX0JMS1NJWkUgMQp8ICNkZWZpbmUgSEFWRV9TVFJV Q1RfU1RBVF9TVF9CTE9DS1MgMQp8ICNkZWZpbmUgSEFWRV9TVFJVQ1RfU1RBVEZTX0ZfRlNUWVBF TkFNRSAxCnwgI2RlZmluZSBIQVZFX1NUUlVDVF9TVEFURlNfRl9CQVZBSUwgMQp8ICNkZWZpbmUg SEFWRV9MQU5HSU5GT19DT0RFU0VUIDEKfCAjZGVmaW5lIEhBVkVfU1REREVGX0ggMQp8ICNkZWZp bmUgSEFWRV9TVERMSUJfSCAxCnwgI2RlZmluZSBIQVZFX1NUUklOR19IIDEKfCAjZGVmaW5lIEhB VkVfU0VUTE9DQUxFIDEKfCAjZGVmaW5lIFNJWkVPRl9TSVpFX1QgOAp8ICNkZWZpbmUgSEFWRV9M U1RBVCAxCnwgI2RlZmluZSBIQVZFX1NUUkVSUk9SIDEKfCAjZGVmaW5lIEhBVkVfU1RSU0lHTkFM IDEKfCAjZGVmaW5lIEhBVkVfTUVNTU9WRSAxCnwgI2RlZmluZSBIQVZFX1ZTTlBSSU5URiAxCnwg I2RlZmluZSBIQVZFX1NUUENQWSAxCnwgI2RlZmluZSBIQVZFX1NUUkNBU0VDTVAgMQp8ICNkZWZp bmUgSEFWRV9TVFJOQ0FTRUNNUCAxCnwgI2RlZmluZSBIQVZFX1BPTEwgMQp8ICNkZWZpbmUgSEFW RV9HRVRDV0QgMQp8ICNkZWZpbmUgSEFWRV9WQVNQUklOVEYgMQp8ICNkZWZpbmUgSEFWRV9TRVRF TlYgMQp8ICNkZWZpbmUgSEFWRV9VTlNFVEVOViAxCnwgI2RlZmluZSBIQVZFX0dFVENfVU5MT0NL RUQgMQp8ICNkZWZpbmUgSEFWRV9SRUFETElOSyAxCnwgI2RlZmluZSBIQVZFX1NZTUxJTksgMQp8 ICNkZWZpbmUgSEFWRV9DSE9XTiAxCnwgI2RlZmluZSBIQVZFX0xDSE9XTiAxCnwgI2RlZmluZSBI QVZFX0ZDSE1PRCAxCnwgI2RlZmluZSBIQVZFX0ZDSE9XTiAxCnwgI2RlZmluZSBIQVZFX0xJTksg MQp8ICNkZWZpbmUgSEFWRV9TVEFUVkZTIDEKfCAjZGVmaW5lIEhBVkVfU1RBVEZTIDEKfCAjZGVm aW5lIEhBVkVfVVRJTUVTIDEKfCAjZGVmaW5lIEhBVkVfR0VUR1JHSUQgMQp8ICNkZWZpbmUgSEFW RV9HRVRQV1VJRCAxCnwgI2RlZmluZSBIQVZFX1NZU0NUTEJZTkFNRSAxCnwgLyogZW5kIGNvbmZk ZWZzLmguICAqLwp8IC8qIERlZmluZSBnZXRtbnRlbnRfciB0byBhbiBpbm5vY3VvdXMgdmFyaWFu dCwgaW4gY2FzZSA8bGltaXRzLmg+IGRlY2xhcmVzIGdldG1udGVudF9yLgp8ICAgIEZvciBleGFt cGxlLCBIUC1VWCAxMWkgPGxpbWl0cy5oPiBkZWNsYXJlcyBnZXR0aW1lb2ZkYXkuICAqLwp8ICNk ZWZpbmUgZ2V0bW50ZW50X3IgaW5ub2N1b3VzX2dldG1udGVudF9yCnwgCnwgLyogU3lzdGVtIGhl YWRlciB0byBkZWZpbmUgX19zdHViIG1hY3JvcyBhbmQgaG9wZWZ1bGx5IGZldyBwcm90b3R5cGVz LAp8ICAgICB3aGljaCBjYW4gY29uZmxpY3Qgd2l0aCBjaGFyIGdldG1udGVudF9yICgpOyBiZWxv dy4KfCAgICAgUHJlZmVyIDxsaW1pdHMuaD4gdG8gPGFzc2VydC5oPiBpZiBfX1NURENfXyBpcyBk ZWZpbmVkLCBzaW5jZQp8ICAgICA8bGltaXRzLmg+IGV4aXN0cyBldmVuIG9uIGZyZWVzdGFuZGlu ZyBjb21waWxlcnMuICAqLwp8IAp8ICNpZmRlZiBfX1NURENfXwp8ICMgaW5jbHVkZSA8bGltaXRz Lmg+CnwgI2Vsc2UKfCAjIGluY2x1ZGUgPGFzc2VydC5oPgp8ICNlbmRpZgp8IAp8ICN1bmRlZiBn ZXRtbnRlbnRfcgp8IAp8IC8qIE92ZXJyaWRlIGFueSBHQ0MgaW50ZXJuYWwgcHJvdG90eXBlIHRv IGF2b2lkIGFuIGVycm9yLgp8ICAgIFVzZSBjaGFyIGJlY2F1c2UgaW50IG1pZ2h0IG1hdGNoIHRo ZSByZXR1cm4gdHlwZSBvZiBhIEdDQwp8ICAgIGJ1aWx0aW4gYW5kIHRoZW4gaXRzIGFyZ3VtZW50 IHByb3RvdHlwZSB3b3VsZCBzdGlsbCBhcHBseS4gICovCnwgI2lmZGVmIF9fY3BsdXNwbHVzCnwg ZXh0ZXJuICJDIgp8ICNlbmRpZgp8IGNoYXIgZ2V0bW50ZW50X3IgKCk7CnwgLyogVGhlIEdOVSBD IGxpYnJhcnkgZGVmaW5lcyB0aGlzIGZvciBmdW5jdGlvbnMgd2hpY2ggaXQgaW1wbGVtZW50cwp8 ICAgICB0byBhbHdheXMgZmFpbCB3aXRoIEVOT1NZUy4gIFNvbWUgZnVuY3Rpb25zIGFyZSBhY3R1 YWxseSBuYW1lZAp8ICAgICBzb21ldGhpbmcgc3RhcnRpbmcgd2l0aCBfXyBhbmQgdGhlIG5vcm1h bCBuYW1lIGlzIGFuIGFsaWFzLiAgKi8KfCAjaWYgZGVmaW5lZCBfX3N0dWJfZ2V0bW50ZW50X3Ig fHwgZGVmaW5lZCBfX3N0dWJfX19nZXRtbnRlbnRfcgp8IGNob2tlIG1lCnwgI2VuZGlmCnwgCnwg aW50CnwgbWFpbiAoKQp8IHsKfCByZXR1cm4gZ2V0bW50ZW50X3IgKCk7CnwgICA7CnwgICByZXR1 cm4gMDsKfCB9CmNvbmZpZ3VyZTozMTYxMjogcmVzdWx0OiBubwpjb25maWd1cmU6MzE1Mjc6IGNo ZWNraW5nIGZvciBzZXRtbnRlbnQKY29uZmlndXJlOjMxNTgzOiBjYyAtbyBjb25mdGVzdCAtTzIg LWZuby1zdHJpY3QtYWxpYXNpbmcgLXBpcGUgLVdhbGwgLUkvdXNyL2xvY2FsL2luY2x1ZGUgLURH X0RJU0FCTEVfU0lOR0xFX0lOQ0xVREVTIC1ML3Vzci9sb2NhbC9saWIgLWxpbnRsIGNvbmZ0ZXN0 LmMgICA+JjUKL3Zhci90bXAvL2NjZ0prVGVZLm8oLnRleHQrMHg3KTogSW4gZnVuY3Rpb24gYG1h aW4nOgo6IHVuZGVmaW5lZCByZWZlcmVuY2UgdG8gYHNldG1udGVudCcKY29uZmlndXJlOjMxNTkw OiAkPyA9IDEKY29uZmlndXJlOiBmYWlsZWQgcHJvZ3JhbSB3YXM6CnwgLyogY29uZmRlZnMuaC4g ICovCnwgI2RlZmluZSBQQUNLQUdFX05BTUUgImdsaWIiCnwgI2RlZmluZSBQQUNLQUdFX1RBUk5B TUUgImdsaWIiCnwgI2RlZmluZSBQQUNLQUdFX1ZFUlNJT04gIjIuMjAuNSIKfCAjZGVmaW5lIFBB Q0tBR0VfU1RSSU5HICJnbGliIDIuMjAuNSIKfCAjZGVmaW5lIFBBQ0tBR0VfQlVHUkVQT1JUICJo dHRwOi8vYnVnemlsbGEuZ25vbWUub3JnL2VudGVyX2J1Zy5jZ2k/cHJvZHVjdD1nbGliIgp8ICNk ZWZpbmUgR0xJQl9NQUpPUl9WRVJTSU9OIDIKfCAjZGVmaW5lIEdMSUJfTUlOT1JfVkVSU0lPTiAy MAp8ICNkZWZpbmUgR0xJQl9NSUNST19WRVJTSU9OIDUKfCAjZGVmaW5lIEdMSUJfSU5URVJGQUNF X0FHRSA1CnwgI2RlZmluZSBHTElCX0JJTkFSWV9BR0UgMjAwNQp8ICNkZWZpbmUgTkVFRF9JQ09O Vl9DQUNIRSAxCnwgI2RlZmluZSBTVERDX0hFQURFUlMgMQp8ICNkZWZpbmUgSEFWRV9TWVNfVFlQ RVNfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19TVEFUX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERMSUJf SCAxCnwgI2RlZmluZSBIQVZFX1NUUklOR19IIDEKfCAjZGVmaW5lIEhBVkVfTUVNT1JZX0ggMQp8 ICNkZWZpbmUgSEFWRV9TVFJJTkdTX0ggMQp8ICNkZWZpbmUgSEFWRV9JTlRUWVBFU19IIDEKfCAj ZGVmaW5lIEhBVkVfU1RESU5UX0ggMQp8ICNkZWZpbmUgSEFWRV9VTklTVERfSCAxCnwgI2RlZmlu ZSBIQVZFX0xPQ0FMRV9IIDEKfCAjZGVmaW5lIEhBVkVfTENfTUVTU0FHRVMgMQp8ICNkZWZpbmUg SEFWRV9CSU5EX1RFWFRET01BSU5fQ09ERVNFVCAxCnwgI2RlZmluZSBIQVZFX0dFVFRFWFQgMQp8 ICNkZWZpbmUgSEFWRV9EQ0dFVFRFWFQgMQp8ICNkZWZpbmUgRU5BQkxFX05MUyAxCnwgI2RlZmlu ZSBHRVRURVhUX1BBQ0tBR0UgImdsaWIyMCIKfCAjZGVmaW5lIEdMSUJfTE9DQUxFX0RJUiAiL3Vz ci9sb2NhbC9zaGFyZS9sb2NhbGUiCnwgI2RlZmluZSBVU0VfTElCSUNPTlZfR05VIDEKfCAjZGVm aW5lIEhBVkVfRExGQ05fSCAxCnwgI2RlZmluZSBMVF9PQkpESVIgIi5saWJzLyIKfCAjZGVmaW5l IFNURENfSEVBREVSUyAxCnwgI2RlZmluZSBIQVZFX1ZQUklOVEYgMQp8ICNkZWZpbmUgSEFWRV9B TExPQ0EgMQp8ICNkZWZpbmUgSEFWRV9NTUFQIDEKfCAjZGVmaW5lIEhBVkVfUE9TSVhfTUVNQUxJ R04gMQp8ICNkZWZpbmUgSEFWRV9WQUxMT0MgMQp8ICNkZWZpbmUgSEFWRV9GU1lOQyAxCnwgI2Rl ZmluZSBIQVZFX0FURVhJVCAxCnwgI2RlZmluZSBIQVZFX1RJTUVHTSAxCnwgI2RlZmluZSBIQVZF X0dNVElNRV9SIDEKfCAjZGVmaW5lIFNJWkVPRl9DSEFSIDEKfCAjZGVmaW5lIFNJWkVPRl9TSE9S VCAyCnwgI2RlZmluZSBTSVpFT0ZfTE9ORyA4CnwgI2RlZmluZSBTSVpFT0ZfSU5UIDQKfCAjZGVm aW5lIFNJWkVPRl9WT0lEX1AgOAp8ICNkZWZpbmUgU0laRU9GX0xPTkdfTE9ORyA4CnwgI2RlZmlu ZSBTSVpFT0ZfX19JTlQ2NCAwCnwgI2RlZmluZSBIQVZFX0xPTkdfTE9OR19GT1JNQVQgMQp8ICNk ZWZpbmUgU0FORV9NQUxMT0NfUFJPVE9TIDEKfCAjZGVmaW5lIEdfSEFWRV9fX0lOTElORSAxCnwg I2RlZmluZSBHX0hBVkVfX19JTkxJTkVfXyAxCnwgI2RlZmluZSBHX0hBVkVfSU5MSU5FIDEKfCAj ZGVmaW5lIEhBVkVfRE9XSElMRV9NQUNST1MgMQp8ICNkZWZpbmUgSEFWRV9ESVJFTlRfSCAxCnwg I2RlZmluZSBIQVZFX0ZMT0FUX0ggMQp8ICNkZWZpbmUgSEFWRV9MSU1JVFNfSCAxCnwgI2RlZmlu ZSBIQVZFX1BXRF9IIDEKfCAjZGVmaW5lIEhBVkVfR1JQX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNf UEFSQU1fSCAxCnwgI2RlZmluZSBIQVZFX1NZU19QT0xMX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNf UkVTT1VSQ0VfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19USU1FX0ggMQp8ICNkZWZpbmUgSEFWRV9T WVNfVElNRVNfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19XQUlUX0ggMQp8ICNkZWZpbmUgSEFWRV9V TklTVERfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19TRUxFQ1RfSCAxCnwgI2RlZmluZSBIQVZFX1NZ U19UWVBFU19IIDEKfCAjZGVmaW5lIEhBVkVfU1RESU5UX0ggMQp8ICNkZWZpbmUgSEFWRV9TQ0hF RF9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX01PVU5UX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfU1RB VFZGU19IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NZU0NUTF9IIDEKfCAjZGVmaW5lIEhBVkVfRlNU QUJfSCAxCnwgI2RlZmluZSBIQVZFX1NUUlVDVF9TVEFUX1NUX0JMS1NJWkUgMQp8ICNkZWZpbmUg SEFWRV9TVFJVQ1RfU1RBVF9TVF9CTE9DS1MgMQp8ICNkZWZpbmUgSEFWRV9TVFJVQ1RfU1RBVEZT X0ZfRlNUWVBFTkFNRSAxCnwgI2RlZmluZSBIQVZFX1NUUlVDVF9TVEFURlNfRl9CQVZBSUwgMQp8 ICNkZWZpbmUgSEFWRV9MQU5HSU5GT19DT0RFU0VUIDEKfCAjZGVmaW5lIEhBVkVfU1REREVGX0gg MQp8ICNkZWZpbmUgSEFWRV9TVERMSUJfSCAxCnwgI2RlZmluZSBIQVZFX1NUUklOR19IIDEKfCAj ZGVmaW5lIEhBVkVfU0VUTE9DQUxFIDEKfCAjZGVmaW5lIFNJWkVPRl9TSVpFX1QgOAp8ICNkZWZp bmUgSEFWRV9MU1RBVCAxCnwgI2RlZmluZSBIQVZFX1NUUkVSUk9SIDEKfCAjZGVmaW5lIEhBVkVf U1RSU0lHTkFMIDEKfCAjZGVmaW5lIEhBVkVfTUVNTU9WRSAxCnwgI2RlZmluZSBIQVZFX1ZTTlBS SU5URiAxCnwgI2RlZmluZSBIQVZFX1NUUENQWSAxCnwgI2RlZmluZSBIQVZFX1NUUkNBU0VDTVAg MQp8ICNkZWZpbmUgSEFWRV9TVFJOQ0FTRUNNUCAxCnwgI2RlZmluZSBIQVZFX1BPTEwgMQp8ICNk ZWZpbmUgSEFWRV9HRVRDV0QgMQp8ICNkZWZpbmUgSEFWRV9WQVNQUklOVEYgMQp8ICNkZWZpbmUg SEFWRV9TRVRFTlYgMQp8ICNkZWZpbmUgSEFWRV9VTlNFVEVOViAxCnwgI2RlZmluZSBIQVZFX0dF VENfVU5MT0NLRUQgMQp8ICNkZWZpbmUgSEFWRV9SRUFETElOSyAxCnwgI2RlZmluZSBIQVZFX1NZ TUxJTksgMQp8ICNkZWZpbmUgSEFWRV9DSE9XTiAxCnwgI2RlZmluZSBIQVZFX0xDSE9XTiAxCnwg I2RlZmluZSBIQVZFX0ZDSE1PRCAxCnwgI2RlZmluZSBIQVZFX0ZDSE9XTiAxCnwgI2RlZmluZSBI QVZFX0xJTksgMQp8ICNkZWZpbmUgSEFWRV9TVEFUVkZTIDEKfCAjZGVmaW5lIEhBVkVfU1RBVEZT IDEKfCAjZGVmaW5lIEhBVkVfVVRJTUVTIDEKfCAjZGVmaW5lIEhBVkVfR0VUR1JHSUQgMQp8ICNk ZWZpbmUgSEFWRV9HRVRQV1VJRCAxCnwgI2RlZmluZSBIQVZFX1NZU0NUTEJZTkFNRSAxCnwgLyog ZW5kIGNvbmZkZWZzLmguICAqLwp8IC8qIERlZmluZSBzZXRtbnRlbnQgdG8gYW4gaW5ub2N1b3Vz IHZhcmlhbnQsIGluIGNhc2UgPGxpbWl0cy5oPiBkZWNsYXJlcyBzZXRtbnRlbnQuCnwgICAgRm9y IGV4YW1wbGUsIEhQLVVYIDExaSA8bGltaXRzLmg+IGRlY2xhcmVzIGdldHRpbWVvZmRheS4gICov CnwgI2RlZmluZSBzZXRtbnRlbnQgaW5ub2N1b3VzX3NldG1udGVudAp8IAp8IC8qIFN5c3RlbSBo ZWFkZXIgdG8gZGVmaW5lIF9fc3R1YiBtYWNyb3MgYW5kIGhvcGVmdWxseSBmZXcgcHJvdG90eXBl cywKfCAgICAgd2hpY2ggY2FuIGNvbmZsaWN0IHdpdGggY2hhciBzZXRtbnRlbnQgKCk7IGJlbG93 Lgp8ICAgICBQcmVmZXIgPGxpbWl0cy5oPiB0byA8YXNzZXJ0Lmg+IGlmIF9fU1REQ19fIGlzIGRl ZmluZWQsIHNpbmNlCnwgICAgIDxsaW1pdHMuaD4gZXhpc3RzIGV2ZW4gb24gZnJlZXN0YW5kaW5n IGNvbXBpbGVycy4gICovCnwgCnwgI2lmZGVmIF9fU1REQ19fCnwgIyBpbmNsdWRlIDxsaW1pdHMu aD4KfCAjZWxzZQp8ICMgaW5jbHVkZSA8YXNzZXJ0Lmg+CnwgI2VuZGlmCnwgCnwgI3VuZGVmIHNl dG1udGVudAp8IAp8IC8qIE92ZXJyaWRlIGFueSBHQ0MgaW50ZXJuYWwgcHJvdG90eXBlIHRvIGF2 b2lkIGFuIGVycm9yLgp8ICAgIFVzZSBjaGFyIGJlY2F1c2UgaW50IG1pZ2h0IG1hdGNoIHRoZSBy ZXR1cm4gdHlwZSBvZiBhIEdDQwp8ICAgIGJ1aWx0aW4gYW5kIHRoZW4gaXRzIGFyZ3VtZW50IHBy b3RvdHlwZSB3b3VsZCBzdGlsbCBhcHBseS4gICovCnwgI2lmZGVmIF9fY3BsdXNwbHVzCnwgZXh0 ZXJuICJDIgp8ICNlbmRpZgp8IGNoYXIgc2V0bW50ZW50ICgpOwp8IC8qIFRoZSBHTlUgQyBsaWJy YXJ5IGRlZmluZXMgdGhpcyBmb3IgZnVuY3Rpb25zIHdoaWNoIGl0IGltcGxlbWVudHMKfCAgICAg dG8gYWx3YXlzIGZhaWwgd2l0aCBFTk9TWVMuICBTb21lIGZ1bmN0aW9ucyBhcmUgYWN0dWFsbHkg bmFtZWQKfCAgICAgc29tZXRoaW5nIHN0YXJ0aW5nIHdpdGggX18gYW5kIHRoZSBub3JtYWwgbmFt ZSBpcyBhbiBhbGlhcy4gICovCnwgI2lmIGRlZmluZWQgX19zdHViX3NldG1udGVudCB8fCBkZWZp bmVkIF9fc3R1Yl9fX3NldG1udGVudAp8IGNob2tlIG1lCnwgI2VuZGlmCnwgCnwgaW50CnwgbWFp biAoKQp8IHsKfCByZXR1cm4gc2V0bW50ZW50ICgpOwp8ICAgOwp8ICAgcmV0dXJuIDA7CnwgfQpj b25maWd1cmU6MzE2MTI6IHJlc3VsdDogbm8KY29uZmlndXJlOjMxNTI3OiBjaGVja2luZyBmb3Ig ZW5kbW50ZW50CmNvbmZpZ3VyZTozMTU4MzogY2MgLW8gY29uZnRlc3QgLU8yIC1mbm8tc3RyaWN0 LWFsaWFzaW5nIC1waXBlIC1XYWxsIC1JL3Vzci9sb2NhbC9pbmNsdWRlIC1ER19ESVNBQkxFX1NJ TkdMRV9JTkNMVURFUyAtTC91c3IvbG9jYWwvbGliIC1saW50bCBjb25mdGVzdC5jICAgPiY1Ci92 YXIvdG1wLy9jY2pJWHJPSi5vKC50ZXh0KzB4Nyk6IEluIGZ1bmN0aW9uIGBtYWluJzoKOiB1bmRl ZmluZWQgcmVmZXJlbmNlIHRvIGBlbmRtbnRlbnQnCmNvbmZpZ3VyZTozMTU5MDogJD8gPSAxCmNv bmZpZ3VyZTogZmFpbGVkIHByb2dyYW0gd2FzOgp8IC8qIGNvbmZkZWZzLmguICAqLwp8ICNkZWZp bmUgUEFDS0FHRV9OQU1FICJnbGliIgp8ICNkZWZpbmUgUEFDS0FHRV9UQVJOQU1FICJnbGliIgp8 ICNkZWZpbmUgUEFDS0FHRV9WRVJTSU9OICIyLjIwLjUiCnwgI2RlZmluZSBQQUNLQUdFX1NUUklO RyAiZ2xpYiAyLjIwLjUiCnwgI2RlZmluZSBQQUNLQUdFX0JVR1JFUE9SVCAiaHR0cDovL2J1Z3pp bGxhLmdub21lLm9yZy9lbnRlcl9idWcuY2dpP3Byb2R1Y3Q9Z2xpYiIKfCAjZGVmaW5lIEdMSUJf TUFKT1JfVkVSU0lPTiAyCnwgI2RlZmluZSBHTElCX01JTk9SX1ZFUlNJT04gMjAKfCAjZGVmaW5l IEdMSUJfTUlDUk9fVkVSU0lPTiA1CnwgI2RlZmluZSBHTElCX0lOVEVSRkFDRV9BR0UgNQp8ICNk ZWZpbmUgR0xJQl9CSU5BUllfQUdFIDIwMDUKfCAjZGVmaW5lIE5FRURfSUNPTlZfQ0FDSEUgMQp8 ICNkZWZpbmUgU1REQ19IRUFERVJTIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1RZUEVTX0ggMQp8ICNk ZWZpbmUgSEFWRV9TWVNfU1RBVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1RETElCX0ggMQp8ICNkZWZp bmUgSEFWRV9TVFJJTkdfSCAxCnwgI2RlZmluZSBIQVZFX01FTU9SWV9IIDEKfCAjZGVmaW5lIEhB VkVfU1RSSU5HU19IIDEKfCAjZGVmaW5lIEhBVkVfSU5UVFlQRVNfSCAxCnwgI2RlZmluZSBIQVZF X1NURElOVF9IIDEKfCAjZGVmaW5lIEhBVkVfVU5JU1REX0ggMQp8ICNkZWZpbmUgSEFWRV9MT0NB TEVfSCAxCnwgI2RlZmluZSBIQVZFX0xDX01FU1NBR0VTIDEKfCAjZGVmaW5lIEhBVkVfQklORF9U RVhURE9NQUlOX0NPREVTRVQgMQp8ICNkZWZpbmUgSEFWRV9HRVRURVhUIDEKfCAjZGVmaW5lIEhB VkVfRENHRVRURVhUIDEKfCAjZGVmaW5lIEVOQUJMRV9OTFMgMQp8ICNkZWZpbmUgR0VUVEVYVF9Q QUNLQUdFICJnbGliMjAiCnwgI2RlZmluZSBHTElCX0xPQ0FMRV9ESVIgIi91c3IvbG9jYWwvc2hh cmUvbG9jYWxlIgp8ICNkZWZpbmUgVVNFX0xJQklDT05WX0dOVSAxCnwgI2RlZmluZSBIQVZFX0RM RkNOX0ggMQp8ICNkZWZpbmUgTFRfT0JKRElSICIubGlicy8iCnwgI2RlZmluZSBTVERDX0hFQURF UlMgMQp8ICNkZWZpbmUgSEFWRV9WUFJJTlRGIDEKfCAjZGVmaW5lIEhBVkVfQUxMT0NBIDEKfCAj ZGVmaW5lIEhBVkVfTU1BUCAxCnwgI2RlZmluZSBIQVZFX1BPU0lYX01FTUFMSUdOIDEKfCAjZGVm aW5lIEhBVkVfVkFMTE9DIDEKfCAjZGVmaW5lIEhBVkVfRlNZTkMgMQp8ICNkZWZpbmUgSEFWRV9B VEVYSVQgMQp8ICNkZWZpbmUgSEFWRV9USU1FR00gMQp8ICNkZWZpbmUgSEFWRV9HTVRJTUVfUiAx CnwgI2RlZmluZSBTSVpFT0ZfQ0hBUiAxCnwgI2RlZmluZSBTSVpFT0ZfU0hPUlQgMgp8ICNkZWZp bmUgU0laRU9GX0xPTkcgOAp8ICNkZWZpbmUgU0laRU9GX0lOVCA0CnwgI2RlZmluZSBTSVpFT0Zf Vk9JRF9QIDgKfCAjZGVmaW5lIFNJWkVPRl9MT05HX0xPTkcgOAp8ICNkZWZpbmUgU0laRU9GX19f SU5UNjQgMAp8ICNkZWZpbmUgSEFWRV9MT05HX0xPTkdfRk9STUFUIDEKfCAjZGVmaW5lIFNBTkVf TUFMTE9DX1BST1RPUyAxCnwgI2RlZmluZSBHX0hBVkVfX19JTkxJTkUgMQp8ICNkZWZpbmUgR19I QVZFX19fSU5MSU5FX18gMQp8ICNkZWZpbmUgR19IQVZFX0lOTElORSAxCnwgI2RlZmluZSBIQVZF X0RPV0hJTEVfTUFDUk9TIDEKfCAjZGVmaW5lIEhBVkVfRElSRU5UX0ggMQp8ICNkZWZpbmUgSEFW RV9GTE9BVF9IIDEKfCAjZGVmaW5lIEhBVkVfTElNSVRTX0ggMQp8ICNkZWZpbmUgSEFWRV9QV0Rf SCAxCnwgI2RlZmluZSBIQVZFX0dSUF9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1BBUkFNX0ggMQp8 ICNkZWZpbmUgSEFWRV9TWVNfUE9MTF9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1JFU09VUkNFX0gg MQp8ICNkZWZpbmUgSEFWRV9TWVNfVElNRV9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1RJTUVTX0gg MQp8ICNkZWZpbmUgSEFWRV9TWVNfV0FJVF9IIDEKfCAjZGVmaW5lIEhBVkVfVU5JU1REX0ggMQp8 ICNkZWZpbmUgSEFWRV9TWVNfU0VMRUNUX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfVFlQRVNfSCAx CnwgI2RlZmluZSBIQVZFX1NURElOVF9IIDEKfCAjZGVmaW5lIEhBVkVfU0NIRURfSCAxCnwgI2Rl ZmluZSBIQVZFX1NZU19NT1VOVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NUQVRWRlNfSCAxCnwg I2RlZmluZSBIQVZFX1NZU19TWVNDVExfSCAxCnwgI2RlZmluZSBIQVZFX0ZTVEFCX0ggMQp8ICNk ZWZpbmUgSEFWRV9TVFJVQ1RfU1RBVF9TVF9CTEtTSVpFIDEKfCAjZGVmaW5lIEhBVkVfU1RSVUNU X1NUQVRfU1RfQkxPQ0tTIDEKfCAjZGVmaW5lIEhBVkVfU1RSVUNUX1NUQVRGU19GX0ZTVFlQRU5B TUUgMQp8ICNkZWZpbmUgSEFWRV9TVFJVQ1RfU1RBVEZTX0ZfQkFWQUlMIDEKfCAjZGVmaW5lIEhB VkVfTEFOR0lORk9fQ09ERVNFVCAxCnwgI2RlZmluZSBIQVZFX1NURERFRl9IIDEKfCAjZGVmaW5l IEhBVkVfU1RETElCX0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJJTkdfSCAxCnwgI2RlZmluZSBIQVZF X1NFVExPQ0FMRSAxCnwgI2RlZmluZSBTSVpFT0ZfU0laRV9UIDgKfCAjZGVmaW5lIEhBVkVfTFNU QVQgMQp8ICNkZWZpbmUgSEFWRV9TVFJFUlJPUiAxCnwgI2RlZmluZSBIQVZFX1NUUlNJR05BTCAx CnwgI2RlZmluZSBIQVZFX01FTU1PVkUgMQp8ICNkZWZpbmUgSEFWRV9WU05QUklOVEYgMQp8ICNk ZWZpbmUgSEFWRV9TVFBDUFkgMQp8ICNkZWZpbmUgSEFWRV9TVFJDQVNFQ01QIDEKfCAjZGVmaW5l IEhBVkVfU1RSTkNBU0VDTVAgMQp8ICNkZWZpbmUgSEFWRV9QT0xMIDEKfCAjZGVmaW5lIEhBVkVf R0VUQ1dEIDEKfCAjZGVmaW5lIEhBVkVfVkFTUFJJTlRGIDEKfCAjZGVmaW5lIEhBVkVfU0VURU5W IDEKfCAjZGVmaW5lIEhBVkVfVU5TRVRFTlYgMQp8ICNkZWZpbmUgSEFWRV9HRVRDX1VOTE9DS0VE IDEKfCAjZGVmaW5lIEhBVkVfUkVBRExJTksgMQp8ICNkZWZpbmUgSEFWRV9TWU1MSU5LIDEKfCAj ZGVmaW5lIEhBVkVfQ0hPV04gMQp8ICNkZWZpbmUgSEFWRV9MQ0hPV04gMQp8ICNkZWZpbmUgSEFW RV9GQ0hNT0QgMQp8ICNkZWZpbmUgSEFWRV9GQ0hPV04gMQp8ICNkZWZpbmUgSEFWRV9MSU5LIDEK fCAjZGVmaW5lIEhBVkVfU1RBVFZGUyAxCnwgI2RlZmluZSBIQVZFX1NUQVRGUyAxCnwgI2RlZmlu ZSBIQVZFX1VUSU1FUyAxCnwgI2RlZmluZSBIQVZFX0dFVEdSR0lEIDEKfCAjZGVmaW5lIEhBVkVf R0VUUFdVSUQgMQp8ICNkZWZpbmUgSEFWRV9TWVNDVExCWU5BTUUgMQp8IC8qIGVuZCBjb25mZGVm cy5oLiAgKi8KfCAvKiBEZWZpbmUgZW5kbW50ZW50IHRvIGFuIGlubm9jdW91cyB2YXJpYW50LCBp biBjYXNlIDxsaW1pdHMuaD4gZGVjbGFyZXMgZW5kbW50ZW50Lgp8ICAgIEZvciBleGFtcGxlLCBI UC1VWCAxMWkgPGxpbWl0cy5oPiBkZWNsYXJlcyBnZXR0aW1lb2ZkYXkuICAqLwp8ICNkZWZpbmUg ZW5kbW50ZW50IGlubm9jdW91c19lbmRtbnRlbnQKfCAKfCAvKiBTeXN0ZW0gaGVhZGVyIHRvIGRl ZmluZSBfX3N0dWIgbWFjcm9zIGFuZCBob3BlZnVsbHkgZmV3IHByb3RvdHlwZXMsCnwgICAgIHdo aWNoIGNhbiBjb25mbGljdCB3aXRoIGNoYXIgZW5kbW50ZW50ICgpOyBiZWxvdy4KfCAgICAgUHJl ZmVyIDxsaW1pdHMuaD4gdG8gPGFzc2VydC5oPiBpZiBfX1NURENfXyBpcyBkZWZpbmVkLCBzaW5j ZQp8ICAgICA8bGltaXRzLmg+IGV4aXN0cyBldmVuIG9uIGZyZWVzdGFuZGluZyBjb21waWxlcnMu ICAqLwp8IAp8ICNpZmRlZiBfX1NURENfXwp8ICMgaW5jbHVkZSA8bGltaXRzLmg+CnwgI2Vsc2UK fCAjIGluY2x1ZGUgPGFzc2VydC5oPgp8ICNlbmRpZgp8IAp8ICN1bmRlZiBlbmRtbnRlbnQKfCAK fCAvKiBPdmVycmlkZSBhbnkgR0NDIGludGVybmFsIHByb3RvdHlwZSB0byBhdm9pZCBhbiBlcnJv ci4KfCAgICBVc2UgY2hhciBiZWNhdXNlIGludCBtaWdodCBtYXRjaCB0aGUgcmV0dXJuIHR5cGUg b2YgYSBHQ0MKfCAgICBidWlsdGluIGFuZCB0aGVuIGl0cyBhcmd1bWVudCBwcm90b3R5cGUgd291 bGQgc3RpbGwgYXBwbHkuICAqLwp8ICNpZmRlZiBfX2NwbHVzcGx1cwp8IGV4dGVybiAiQyIKfCAj ZW5kaWYKfCBjaGFyIGVuZG1udGVudCAoKTsKfCAvKiBUaGUgR05VIEMgbGlicmFyeSBkZWZpbmVz IHRoaXMgZm9yIGZ1bmN0aW9ucyB3aGljaCBpdCBpbXBsZW1lbnRzCnwgICAgIHRvIGFsd2F5cyBm YWlsIHdpdGggRU5PU1lTLiAgU29tZSBmdW5jdGlvbnMgYXJlIGFjdHVhbGx5IG5hbWVkCnwgICAg IHNvbWV0aGluZyBzdGFydGluZyB3aXRoIF9fIGFuZCB0aGUgbm9ybWFsIG5hbWUgaXMgYW4gYWxp YXMuICAqLwp8ICNpZiBkZWZpbmVkIF9fc3R1Yl9lbmRtbnRlbnQgfHwgZGVmaW5lZCBfX3N0dWJf X19lbmRtbnRlbnQKfCBjaG9rZSBtZQp8ICNlbmRpZgp8IAp8IGludAp8IG1haW4gKCkKfCB7Cnwg cmV0dXJuIGVuZG1udGVudCAoKTsKfCAgIDsKfCAgIHJldHVybiAwOwp8IH0KY29uZmlndXJlOjMx NjEyOiByZXN1bHQ6IG5vCmNvbmZpZ3VyZTozMTUyNzogY2hlY2tpbmcgZm9yIGhhc21udG9wdApj b25maWd1cmU6MzE1ODM6IGNjIC1vIGNvbmZ0ZXN0IC1PMiAtZm5vLXN0cmljdC1hbGlhc2luZyAt cGlwZSAtV2FsbCAtSS91c3IvbG9jYWwvaW5jbHVkZSAtREdfRElTQUJMRV9TSU5HTEVfSU5DTFVE RVMgLUwvdXNyL2xvY2FsL2xpYiAtbGludGwgY29uZnRlc3QuYyAgID4mNQovdmFyL3RtcC8vY2Mw NnZIejEubygudGV4dCsweDcpOiBJbiBmdW5jdGlvbiBgbWFpbic6CjogdW5kZWZpbmVkIHJlZmVy ZW5jZSB0byBgaGFzbW50b3B0Jwpjb25maWd1cmU6MzE1OTA6ICQ/ID0gMQpjb25maWd1cmU6IGZh aWxlZCBwcm9ncmFtIHdhczoKfCAvKiBjb25mZGVmcy5oLiAgKi8KfCAjZGVmaW5lIFBBQ0tBR0Vf TkFNRSAiZ2xpYiIKfCAjZGVmaW5lIFBBQ0tBR0VfVEFSTkFNRSAiZ2xpYiIKfCAjZGVmaW5lIFBB Q0tBR0VfVkVSU0lPTiAiMi4yMC41Igp8ICNkZWZpbmUgUEFDS0FHRV9TVFJJTkcgImdsaWIgMi4y MC41Igp8ICNkZWZpbmUgUEFDS0FHRV9CVUdSRVBPUlQgImh0dHA6Ly9idWd6aWxsYS5nbm9tZS5v cmcvZW50ZXJfYnVnLmNnaT9wcm9kdWN0PWdsaWIiCnwgI2RlZmluZSBHTElCX01BSk9SX1ZFUlNJ T04gMgp8ICNkZWZpbmUgR0xJQl9NSU5PUl9WRVJTSU9OIDIwCnwgI2RlZmluZSBHTElCX01JQ1JP X1ZFUlNJT04gNQp8ICNkZWZpbmUgR0xJQl9JTlRFUkZBQ0VfQUdFIDUKfCAjZGVmaW5lIEdMSUJf QklOQVJZX0FHRSAyMDA1CnwgI2RlZmluZSBORUVEX0lDT05WX0NBQ0hFIDEKfCAjZGVmaW5lIFNU RENfSEVBREVSUyAxCnwgI2RlZmluZSBIQVZFX1NZU19UWVBFU19IIDEKfCAjZGVmaW5lIEhBVkVf U1lTX1NUQVRfSCAxCnwgI2RlZmluZSBIQVZFX1NURExJQl9IIDEKfCAjZGVmaW5lIEhBVkVfU1RS SU5HX0ggMQp8ICNkZWZpbmUgSEFWRV9NRU1PUllfSCAxCnwgI2RlZmluZSBIQVZFX1NUUklOR1Nf SCAxCnwgI2RlZmluZSBIQVZFX0lOVFRZUEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERJTlRfSCAx CnwgI2RlZmluZSBIQVZFX1VOSVNURF9IIDEKfCAjZGVmaW5lIEhBVkVfTE9DQUxFX0ggMQp8ICNk ZWZpbmUgSEFWRV9MQ19NRVNTQUdFUyAxCnwgI2RlZmluZSBIQVZFX0JJTkRfVEVYVERPTUFJTl9D T0RFU0VUIDEKfCAjZGVmaW5lIEhBVkVfR0VUVEVYVCAxCnwgI2RlZmluZSBIQVZFX0RDR0VUVEVY VCAxCnwgI2RlZmluZSBFTkFCTEVfTkxTIDEKfCAjZGVmaW5lIEdFVFRFWFRfUEFDS0FHRSAiZ2xp YjIwIgp8ICNkZWZpbmUgR0xJQl9MT0NBTEVfRElSICIvdXNyL2xvY2FsL3NoYXJlL2xvY2FsZSIK fCAjZGVmaW5lIFVTRV9MSUJJQ09OVl9HTlUgMQp8ICNkZWZpbmUgSEFWRV9ETEZDTl9IIDEKfCAj ZGVmaW5lIExUX09CSkRJUiAiLmxpYnMvIgp8ICNkZWZpbmUgU1REQ19IRUFERVJTIDEKfCAjZGVm aW5lIEhBVkVfVlBSSU5URiAxCnwgI2RlZmluZSBIQVZFX0FMTE9DQSAxCnwgI2RlZmluZSBIQVZF X01NQVAgMQp8ICNkZWZpbmUgSEFWRV9QT1NJWF9NRU1BTElHTiAxCnwgI2RlZmluZSBIQVZFX1ZB TExPQyAxCnwgI2RlZmluZSBIQVZFX0ZTWU5DIDEKfCAjZGVmaW5lIEhBVkVfQVRFWElUIDEKfCAj ZGVmaW5lIEhBVkVfVElNRUdNIDEKfCAjZGVmaW5lIEhBVkVfR01USU1FX1IgMQp8ICNkZWZpbmUg U0laRU9GX0NIQVIgMQp8ICNkZWZpbmUgU0laRU9GX1NIT1JUIDIKfCAjZGVmaW5lIFNJWkVPRl9M T05HIDgKfCAjZGVmaW5lIFNJWkVPRl9JTlQgNAp8ICNkZWZpbmUgU0laRU9GX1ZPSURfUCA4Cnwg I2RlZmluZSBTSVpFT0ZfTE9OR19MT05HIDgKfCAjZGVmaW5lIFNJWkVPRl9fX0lOVDY0IDAKfCAj ZGVmaW5lIEhBVkVfTE9OR19MT05HX0ZPUk1BVCAxCnwgI2RlZmluZSBTQU5FX01BTExPQ19QUk9U T1MgMQp8ICNkZWZpbmUgR19IQVZFX19fSU5MSU5FIDEKfCAjZGVmaW5lIEdfSEFWRV9fX0lOTElO RV9fIDEKfCAjZGVmaW5lIEdfSEFWRV9JTkxJTkUgMQp8ICNkZWZpbmUgSEFWRV9ET1dISUxFX01B Q1JPUyAxCnwgI2RlZmluZSBIQVZFX0RJUkVOVF9IIDEKfCAjZGVmaW5lIEhBVkVfRkxPQVRfSCAx CnwgI2RlZmluZSBIQVZFX0xJTUlUU19IIDEKfCAjZGVmaW5lIEhBVkVfUFdEX0ggMQp8ICNkZWZp bmUgSEFWRV9HUlBfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19QQVJBTV9IIDEKfCAjZGVmaW5lIEhB VkVfU1lTX1BPTExfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19SRVNPVVJDRV9IIDEKfCAjZGVmaW5l IEhBVkVfU1lTX1RJTUVfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19USU1FU19IIDEKfCAjZGVmaW5l IEhBVkVfU1lTX1dBSVRfSCAxCnwgI2RlZmluZSBIQVZFX1VOSVNURF9IIDEKfCAjZGVmaW5lIEhB VkVfU1lTX1NFTEVDVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1RZUEVTX0ggMQp8ICNkZWZpbmUg SEFWRV9TVERJTlRfSCAxCnwgI2RlZmluZSBIQVZFX1NDSEVEX0ggMQp8ICNkZWZpbmUgSEFWRV9T WVNfTU9VTlRfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19TVEFUVkZTX0ggMQp8ICNkZWZpbmUgSEFW RV9TWVNfU1lTQ1RMX0ggMQp8ICNkZWZpbmUgSEFWRV9GU1RBQl9IIDEKfCAjZGVmaW5lIEhBVkVf U1RSVUNUX1NUQVRfU1RfQkxLU0laRSAxCnwgI2RlZmluZSBIQVZFX1NUUlVDVF9TVEFUX1NUX0JM T0NLUyAxCnwgI2RlZmluZSBIQVZFX1NUUlVDVF9TVEFURlNfRl9GU1RZUEVOQU1FIDEKfCAjZGVm aW5lIEhBVkVfU1RSVUNUX1NUQVRGU19GX0JBVkFJTCAxCnwgI2RlZmluZSBIQVZFX0xBTkdJTkZP X0NPREVTRVQgMQp8ICNkZWZpbmUgSEFWRV9TVERERUZfSCAxCnwgI2RlZmluZSBIQVZFX1NURExJ Ql9IIDEKfCAjZGVmaW5lIEhBVkVfU1RSSU5HX0ggMQp8ICNkZWZpbmUgSEFWRV9TRVRMT0NBTEUg MQp8ICNkZWZpbmUgU0laRU9GX1NJWkVfVCA4CnwgI2RlZmluZSBIQVZFX0xTVEFUIDEKfCAjZGVm aW5lIEhBVkVfU1RSRVJST1IgMQp8ICNkZWZpbmUgSEFWRV9TVFJTSUdOQUwgMQp8ICNkZWZpbmUg SEFWRV9NRU1NT1ZFIDEKfCAjZGVmaW5lIEhBVkVfVlNOUFJJTlRGIDEKfCAjZGVmaW5lIEhBVkVf U1RQQ1BZIDEKfCAjZGVmaW5lIEhBVkVfU1RSQ0FTRUNNUCAxCnwgI2RlZmluZSBIQVZFX1NUUk5D QVNFQ01QIDEKfCAjZGVmaW5lIEhBVkVfUE9MTCAxCnwgI2RlZmluZSBIQVZFX0dFVENXRCAxCnwg I2RlZmluZSBIQVZFX1ZBU1BSSU5URiAxCnwgI2RlZmluZSBIQVZFX1NFVEVOViAxCnwgI2RlZmlu ZSBIQVZFX1VOU0VURU5WIDEKfCAjZGVmaW5lIEhBVkVfR0VUQ19VTkxPQ0tFRCAxCnwgI2RlZmlu ZSBIQVZFX1JFQURMSU5LIDEKfCAjZGVmaW5lIEhBVkVfU1lNTElOSyAxCnwgI2RlZmluZSBIQVZF X0NIT1dOIDEKfCAjZGVmaW5lIEhBVkVfTENIT1dOIDEKfCAjZGVmaW5lIEhBVkVfRkNITU9EIDEK fCAjZGVmaW5lIEhBVkVfRkNIT1dOIDEKfCAjZGVmaW5lIEhBVkVfTElOSyAxCnwgI2RlZmluZSBI QVZFX1NUQVRWRlMgMQp8ICNkZWZpbmUgSEFWRV9TVEFURlMgMQp8ICNkZWZpbmUgSEFWRV9VVElN RVMgMQp8ICNkZWZpbmUgSEFWRV9HRVRHUkdJRCAxCnwgI2RlZmluZSBIQVZFX0dFVFBXVUlEIDEK fCAjZGVmaW5lIEhBVkVfU1lTQ1RMQllOQU1FIDEKfCAvKiBlbmQgY29uZmRlZnMuaC4gICovCnwg LyogRGVmaW5lIGhhc21udG9wdCB0byBhbiBpbm5vY3VvdXMgdmFyaWFudCwgaW4gY2FzZSA8bGlt aXRzLmg+IGRlY2xhcmVzIGhhc21udG9wdC4KfCAgICBGb3IgZXhhbXBsZSwgSFAtVVggMTFpIDxs aW1pdHMuaD4gZGVjbGFyZXMgZ2V0dGltZW9mZGF5LiAgKi8KfCAjZGVmaW5lIGhhc21udG9wdCBp bm5vY3VvdXNfaGFzbW50b3B0CnwgCnwgLyogU3lzdGVtIGhlYWRlciB0byBkZWZpbmUgX19zdHVi IG1hY3JvcyBhbmQgaG9wZWZ1bGx5IGZldyBwcm90b3R5cGVzLAp8ICAgICB3aGljaCBjYW4gY29u ZmxpY3Qgd2l0aCBjaGFyIGhhc21udG9wdCAoKTsgYmVsb3cuCnwgICAgIFByZWZlciA8bGltaXRz Lmg+IHRvIDxhc3NlcnQuaD4gaWYgX19TVERDX18gaXMgZGVmaW5lZCwgc2luY2UKfCAgICAgPGxp bWl0cy5oPiBleGlzdHMgZXZlbiBvbiBmcmVlc3RhbmRpbmcgY29tcGlsZXJzLiAgKi8KfCAKfCAj aWZkZWYgX19TVERDX18KfCAjIGluY2x1ZGUgPGxpbWl0cy5oPgp8ICNlbHNlCnwgIyBpbmNsdWRl IDxhc3NlcnQuaD4KfCAjZW5kaWYKfCAKfCAjdW5kZWYgaGFzbW50b3B0CnwgCnwgLyogT3ZlcnJp ZGUgYW55IEdDQyBpbnRlcm5hbCBwcm90b3R5cGUgdG8gYXZvaWQgYW4gZXJyb3IuCnwgICAgVXNl IGNoYXIgYmVjYXVzZSBpbnQgbWlnaHQgbWF0Y2ggdGhlIHJldHVybiB0eXBlIG9mIGEgR0NDCnwg ICAgYnVpbHRpbiBhbmQgdGhlbiBpdHMgYXJndW1lbnQgcHJvdG90eXBlIHdvdWxkIHN0aWxsIGFw cGx5LiAgKi8KfCAjaWZkZWYgX19jcGx1c3BsdXMKfCBleHRlcm4gIkMiCnwgI2VuZGlmCnwgY2hh ciBoYXNtbnRvcHQgKCk7CnwgLyogVGhlIEdOVSBDIGxpYnJhcnkgZGVmaW5lcyB0aGlzIGZvciBm dW5jdGlvbnMgd2hpY2ggaXQgaW1wbGVtZW50cwp8ICAgICB0byBhbHdheXMgZmFpbCB3aXRoIEVO T1NZUy4gIFNvbWUgZnVuY3Rpb25zIGFyZSBhY3R1YWxseSBuYW1lZAp8ICAgICBzb21ldGhpbmcg c3RhcnRpbmcgd2l0aCBfXyBhbmQgdGhlIG5vcm1hbCBuYW1lIGlzIGFuIGFsaWFzLiAgKi8KfCAj aWYgZGVmaW5lZCBfX3N0dWJfaGFzbW50b3B0IHx8IGRlZmluZWQgX19zdHViX19faGFzbW50b3B0 CnwgY2hva2UgbWUKfCAjZW5kaWYKfCAKfCBpbnQKfCBtYWluICgpCnwgewp8IHJldHVybiBoYXNt bnRvcHQgKCk7CnwgICA7CnwgICByZXR1cm4gMDsKfCB9CmNvbmZpZ3VyZTozMTYxMjogcmVzdWx0 OiBubwpjb25maWd1cmU6MzE1Mjc6IGNoZWNraW5nIGZvciBnZXRtbnRpbmZvCmNvbmZpZ3VyZToz MTU4MzogY2MgLW8gY29uZnRlc3QgLU8yIC1mbm8tc3RyaWN0LWFsaWFzaW5nIC1waXBlIC1XYWxs IC1JL3Vzci9sb2NhbC9pbmNsdWRlIC1ER19ESVNBQkxFX1NJTkdMRV9JTkNMVURFUyAtTC91c3Iv bG9jYWwvbGliIC1saW50bCBjb25mdGVzdC5jICAgPiY1CmNvbmZpZ3VyZTozMTU5MDogJD8gPSAw CmNvbmZpZ3VyZTozMTYxMjogcmVzdWx0OiB5ZXMKY29uZmlndXJlOjMxNjMwOiBjaGVja2luZyBm b3IgbmFub3NsZWVwCmNvbmZpZ3VyZTozMTY4NjogY2MgLW8gY29uZnRlc3QgLU8yIC1mbm8tc3Ry aWN0LWFsaWFzaW5nIC1waXBlIC1XYWxsIC1JL3Vzci9sb2NhbC9pbmNsdWRlIC1ER19ESVNBQkxF X1NJTkdMRV9JTkNMVURFUyAtTC91c3IvbG9jYWwvbGliIC1saW50bCBjb25mdGVzdC5jICAgPiY1 CmNvbmZpZ3VyZTozMTY5MzogJD8gPSAwCmNvbmZpZ3VyZTozMTcxNTogcmVzdWx0OiB5ZXMKY29u ZmlndXJlOjMxNjMwOiBjaGVja2luZyBmb3IgbnNsZWVwCmNvbmZpZ3VyZTozMTY4NjogY2MgLW8g Y29uZnRlc3QgLU8yIC1mbm8tc3RyaWN0LWFsaWFzaW5nIC1waXBlIC1XYWxsIC1JL3Vzci9sb2Nh bC9pbmNsdWRlIC1ER19ESVNBQkxFX1NJTkdMRV9JTkNMVURFUyAtTC91c3IvbG9jYWwvbGliIC1s aW50bCBjb25mdGVzdC5jICAgPiY1Ci92YXIvdG1wLy9jY0VBZG5xTi5vKC50ZXh0KzB4Nyk6IElu IGZ1bmN0aW9uIGBtYWluJzoKOiB1bmRlZmluZWQgcmVmZXJlbmNlIHRvIGBuc2xlZXAnCmNvbmZp Z3VyZTozMTY5MzogJD8gPSAxCmNvbmZpZ3VyZTogZmFpbGVkIHByb2dyYW0gd2FzOgp8IC8qIGNv bmZkZWZzLmguICAqLwp8ICNkZWZpbmUgUEFDS0FHRV9OQU1FICJnbGliIgp8ICNkZWZpbmUgUEFD S0FHRV9UQVJOQU1FICJnbGliIgp8ICNkZWZpbmUgUEFDS0FHRV9WRVJTSU9OICIyLjIwLjUiCnwg I2RlZmluZSBQQUNLQUdFX1NUUklORyAiZ2xpYiAyLjIwLjUiCnwgI2RlZmluZSBQQUNLQUdFX0JV R1JFUE9SVCAiaHR0cDovL2J1Z3ppbGxhLmdub21lLm9yZy9lbnRlcl9idWcuY2dpP3Byb2R1Y3Q9 Z2xpYiIKfCAjZGVmaW5lIEdMSUJfTUFKT1JfVkVSU0lPTiAyCnwgI2RlZmluZSBHTElCX01JTk9S X1ZFUlNJT04gMjAKfCAjZGVmaW5lIEdMSUJfTUlDUk9fVkVSU0lPTiA1CnwgI2RlZmluZSBHTElC X0lOVEVSRkFDRV9BR0UgNQp8ICNkZWZpbmUgR0xJQl9CSU5BUllfQUdFIDIwMDUKfCAjZGVmaW5l IE5FRURfSUNPTlZfQ0FDSEUgMQp8ICNkZWZpbmUgU1REQ19IRUFERVJTIDEKfCAjZGVmaW5lIEhB VkVfU1lTX1RZUEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfU1RBVF9IIDEKfCAjZGVmaW5lIEhB VkVfU1RETElCX0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJJTkdfSCAxCnwgI2RlZmluZSBIQVZFX01F TU9SWV9IIDEKfCAjZGVmaW5lIEhBVkVfU1RSSU5HU19IIDEKfCAjZGVmaW5lIEhBVkVfSU5UVFlQ RVNfSCAxCnwgI2RlZmluZSBIQVZFX1NURElOVF9IIDEKfCAjZGVmaW5lIEhBVkVfVU5JU1REX0gg MQp8ICNkZWZpbmUgSEFWRV9MT0NBTEVfSCAxCnwgI2RlZmluZSBIQVZFX0xDX01FU1NBR0VTIDEK fCAjZGVmaW5lIEhBVkVfQklORF9URVhURE9NQUlOX0NPREVTRVQgMQp8ICNkZWZpbmUgSEFWRV9H RVRURVhUIDEKfCAjZGVmaW5lIEhBVkVfRENHRVRURVhUIDEKfCAjZGVmaW5lIEVOQUJMRV9OTFMg MQp8ICNkZWZpbmUgR0VUVEVYVF9QQUNLQUdFICJnbGliMjAiCnwgI2RlZmluZSBHTElCX0xPQ0FM RV9ESVIgIi91c3IvbG9jYWwvc2hhcmUvbG9jYWxlIgp8ICNkZWZpbmUgVVNFX0xJQklDT05WX0dO VSAxCnwgI2RlZmluZSBIQVZFX0RMRkNOX0ggMQp8ICNkZWZpbmUgTFRfT0JKRElSICIubGlicy8i CnwgI2RlZmluZSBTVERDX0hFQURFUlMgMQp8ICNkZWZpbmUgSEFWRV9WUFJJTlRGIDEKfCAjZGVm aW5lIEhBVkVfQUxMT0NBIDEKfCAjZGVmaW5lIEhBVkVfTU1BUCAxCnwgI2RlZmluZSBIQVZFX1BP U0lYX01FTUFMSUdOIDEKfCAjZGVmaW5lIEhBVkVfVkFMTE9DIDEKfCAjZGVmaW5lIEhBVkVfRlNZ TkMgMQp8ICNkZWZpbmUgSEFWRV9BVEVYSVQgMQp8ICNkZWZpbmUgSEFWRV9USU1FR00gMQp8ICNk ZWZpbmUgSEFWRV9HTVRJTUVfUiAxCnwgI2RlZmluZSBTSVpFT0ZfQ0hBUiAxCnwgI2RlZmluZSBT SVpFT0ZfU0hPUlQgMgp8ICNkZWZpbmUgU0laRU9GX0xPTkcgOAp8ICNkZWZpbmUgU0laRU9GX0lO VCA0CnwgI2RlZmluZSBTSVpFT0ZfVk9JRF9QIDgKfCAjZGVmaW5lIFNJWkVPRl9MT05HX0xPTkcg OAp8ICNkZWZpbmUgU0laRU9GX19fSU5UNjQgMAp8ICNkZWZpbmUgSEFWRV9MT05HX0xPTkdfRk9S TUFUIDEKfCAjZGVmaW5lIFNBTkVfTUFMTE9DX1BST1RPUyAxCnwgI2RlZmluZSBHX0hBVkVfX19J TkxJTkUgMQp8ICNkZWZpbmUgR19IQVZFX19fSU5MSU5FX18gMQp8ICNkZWZpbmUgR19IQVZFX0lO TElORSAxCnwgI2RlZmluZSBIQVZFX0RPV0hJTEVfTUFDUk9TIDEKfCAjZGVmaW5lIEhBVkVfRElS RU5UX0ggMQp8ICNkZWZpbmUgSEFWRV9GTE9BVF9IIDEKfCAjZGVmaW5lIEhBVkVfTElNSVRTX0gg MQp8ICNkZWZpbmUgSEFWRV9QV0RfSCAxCnwgI2RlZmluZSBIQVZFX0dSUF9IIDEKfCAjZGVmaW5l IEhBVkVfU1lTX1BBUkFNX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfUE9MTF9IIDEKfCAjZGVmaW5l IEhBVkVfU1lTX1JFU09VUkNFX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfVElNRV9IIDEKfCAjZGVm aW5lIEhBVkVfU1lTX1RJTUVTX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfV0FJVF9IIDEKfCAjZGVm aW5lIEhBVkVfVU5JU1REX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfU0VMRUNUX0ggMQp8ICNkZWZp bmUgSEFWRV9TWVNfVFlQRVNfSCAxCnwgI2RlZmluZSBIQVZFX1NURElOVF9IIDEKfCAjZGVmaW5l IEhBVkVfU0NIRURfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19NT1VOVF9IIDEKfCAjZGVmaW5lIEhB VkVfU1lTX1NUQVRWRlNfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19TWVNDVExfSCAxCnwgI2RlZmlu ZSBIQVZFX0ZTVEFCX0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJVQ1RfU1RBVF9TVF9CTEtTSVpFIDEK fCAjZGVmaW5lIEhBVkVfU1RSVUNUX1NUQVRfU1RfQkxPQ0tTIDEKfCAjZGVmaW5lIEhBVkVfU1RS VUNUX1NUQVRGU19GX0ZTVFlQRU5BTUUgMQp8ICNkZWZpbmUgSEFWRV9TVFJVQ1RfU1RBVEZTX0Zf QkFWQUlMIDEKfCAjZGVmaW5lIEhBVkVfTEFOR0lORk9fQ09ERVNFVCAxCnwgI2RlZmluZSBIQVZF X1NURERFRl9IIDEKfCAjZGVmaW5lIEhBVkVfU1RETElCX0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJJ TkdfSCAxCnwgI2RlZmluZSBIQVZFX1NFVExPQ0FMRSAxCnwgI2RlZmluZSBTSVpFT0ZfU0laRV9U IDgKfCAjZGVmaW5lIEhBVkVfTFNUQVQgMQp8ICNkZWZpbmUgSEFWRV9TVFJFUlJPUiAxCnwgI2Rl ZmluZSBIQVZFX1NUUlNJR05BTCAxCnwgI2RlZmluZSBIQVZFX01FTU1PVkUgMQp8ICNkZWZpbmUg SEFWRV9WU05QUklOVEYgMQp8ICNkZWZpbmUgSEFWRV9TVFBDUFkgMQp8ICNkZWZpbmUgSEFWRV9T VFJDQVNFQ01QIDEKfCAjZGVmaW5lIEhBVkVfU1RSTkNBU0VDTVAgMQp8ICNkZWZpbmUgSEFWRV9Q T0xMIDEKfCAjZGVmaW5lIEhBVkVfR0VUQ1dEIDEKfCAjZGVmaW5lIEhBVkVfVkFTUFJJTlRGIDEK fCAjZGVmaW5lIEhBVkVfU0VURU5WIDEKfCAjZGVmaW5lIEhBVkVfVU5TRVRFTlYgMQp8ICNkZWZp bmUgSEFWRV9HRVRDX1VOTE9DS0VEIDEKfCAjZGVmaW5lIEhBVkVfUkVBRExJTksgMQp8ICNkZWZp bmUgSEFWRV9TWU1MSU5LIDEKfCAjZGVmaW5lIEhBVkVfQ0hPV04gMQp8ICNkZWZpbmUgSEFWRV9M Q0hPV04gMQp8ICNkZWZpbmUgSEFWRV9GQ0hNT0QgMQp8ICNkZWZpbmUgSEFWRV9GQ0hPV04gMQp8 ICNkZWZpbmUgSEFWRV9MSU5LIDEKfCAjZGVmaW5lIEhBVkVfU1RBVFZGUyAxCnwgI2RlZmluZSBI QVZFX1NUQVRGUyAxCnwgI2RlZmluZSBIQVZFX1VUSU1FUyAxCnwgI2RlZmluZSBIQVZFX0dFVEdS R0lEIDEKfCAjZGVmaW5lIEhBVkVfR0VUUFdVSUQgMQp8ICNkZWZpbmUgSEFWRV9TWVNDVExCWU5B TUUgMQp8ICNkZWZpbmUgSEFWRV9HRVRNTlRJTkZPIDEKfCAjZGVmaW5lIEhBVkVfTkFOT1NMRUVQ IDEKfCAvKiBlbmQgY29uZmRlZnMuaC4gICovCnwgLyogRGVmaW5lIG5zbGVlcCB0byBhbiBpbm5v Y3VvdXMgdmFyaWFudCwgaW4gY2FzZSA8bGltaXRzLmg+IGRlY2xhcmVzIG5zbGVlcC4KfCAgICBG b3IgZXhhbXBsZSwgSFAtVVggMTFpIDxsaW1pdHMuaD4gZGVjbGFyZXMgZ2V0dGltZW9mZGF5LiAg Ki8KfCAjZGVmaW5lIG5zbGVlcCBpbm5vY3VvdXNfbnNsZWVwCnwgCnwgLyogU3lzdGVtIGhlYWRl ciB0byBkZWZpbmUgX19zdHViIG1hY3JvcyBhbmQgaG9wZWZ1bGx5IGZldyBwcm90b3R5cGVzLAp8 ICAgICB3aGljaCBjYW4gY29uZmxpY3Qgd2l0aCBjaGFyIG5zbGVlcCAoKTsgYmVsb3cuCnwgICAg IFByZWZlciA8bGltaXRzLmg+IHRvIDxhc3NlcnQuaD4gaWYgX19TVERDX18gaXMgZGVmaW5lZCwg c2luY2UKfCAgICAgPGxpbWl0cy5oPiBleGlzdHMgZXZlbiBvbiBmcmVlc3RhbmRpbmcgY29tcGls ZXJzLiAgKi8KfCAKfCAjaWZkZWYgX19TVERDX18KfCAjIGluY2x1ZGUgPGxpbWl0cy5oPgp8ICNl bHNlCnwgIyBpbmNsdWRlIDxhc3NlcnQuaD4KfCAjZW5kaWYKfCAKfCAjdW5kZWYgbnNsZWVwCnwg CnwgLyogT3ZlcnJpZGUgYW55IEdDQyBpbnRlcm5hbCBwcm90b3R5cGUgdG8gYXZvaWQgYW4gZXJy b3IuCnwgICAgVXNlIGNoYXIgYmVjYXVzZSBpbnQgbWlnaHQgbWF0Y2ggdGhlIHJldHVybiB0eXBl IG9mIGEgR0NDCnwgICAgYnVpbHRpbiBhbmQgdGhlbiBpdHMgYXJndW1lbnQgcHJvdG90eXBlIHdv dWxkIHN0aWxsIGFwcGx5LiAgKi8KfCAjaWZkZWYgX19jcGx1c3BsdXMKfCBleHRlcm4gIkMiCnwg I2VuZGlmCnwgY2hhciBuc2xlZXAgKCk7CnwgLyogVGhlIEdOVSBDIGxpYnJhcnkgZGVmaW5lcyB0 aGlzIGZvciBmdW5jdGlvbnMgd2hpY2ggaXQgaW1wbGVtZW50cwp8ICAgICB0byBhbHdheXMgZmFp bCB3aXRoIEVOT1NZUy4gIFNvbWUgZnVuY3Rpb25zIGFyZSBhY3R1YWxseSBuYW1lZAp8ICAgICBz b21ldGhpbmcgc3RhcnRpbmcgd2l0aCBfXyBhbmQgdGhlIG5vcm1hbCBuYW1lIGlzIGFuIGFsaWFz LiAgKi8KfCAjaWYgZGVmaW5lZCBfX3N0dWJfbnNsZWVwIHx8IGRlZmluZWQgX19zdHViX19fbnNs ZWVwCnwgY2hva2UgbWUKfCAjZW5kaWYKfCAKfCBpbnQKfCBtYWluICgpCnwgewp8IHJldHVybiBu c2xlZXAgKCk7CnwgICA7CnwgICByZXR1cm4gMDsKfCB9CmNvbmZpZ3VyZTozMTcxNTogcmVzdWx0 OiBubwpjb25maWd1cmU6MzE3NDQ6IGNoZWNraW5nIGNydF9leHRlcm5zLmggdXNhYmlsaXR5CmNv bmZpZ3VyZTozMTc2MTogY2MgLWMgLU8yIC1mbm8tc3RyaWN0LWFsaWFzaW5nIC1waXBlIC1XYWxs IC1JL3Vzci9sb2NhbC9pbmNsdWRlIC1ER19ESVNBQkxFX1NJTkdMRV9JTkNMVURFUyBjb25mdGVz dC5jID4mNQpjb25mdGVzdC5jOjE1MDoyNTogZXJyb3I6IGNydF9leHRlcm5zLmg6IE5vIHN1Y2gg ZmlsZSBvciBkaXJlY3RvcnkKY29uZmlndXJlOjMxNzY4OiAkPyA9IDEKY29uZmlndXJlOiBmYWls ZWQgcHJvZ3JhbSB3YXM6CnwgLyogY29uZmRlZnMuaC4gICovCnwgI2RlZmluZSBQQUNLQUdFX05B TUUgImdsaWIiCnwgI2RlZmluZSBQQUNLQUdFX1RBUk5BTUUgImdsaWIiCnwgI2RlZmluZSBQQUNL QUdFX1ZFUlNJT04gIjIuMjAuNSIKfCAjZGVmaW5lIFBBQ0tBR0VfU1RSSU5HICJnbGliIDIuMjAu NSIKfCAjZGVmaW5lIFBBQ0tBR0VfQlVHUkVQT1JUICJodHRwOi8vYnVnemlsbGEuZ25vbWUub3Jn L2VudGVyX2J1Zy5jZ2k/cHJvZHVjdD1nbGliIgp8ICNkZWZpbmUgR0xJQl9NQUpPUl9WRVJTSU9O IDIKfCAjZGVmaW5lIEdMSUJfTUlOT1JfVkVSU0lPTiAyMAp8ICNkZWZpbmUgR0xJQl9NSUNST19W RVJTSU9OIDUKfCAjZGVmaW5lIEdMSUJfSU5URVJGQUNFX0FHRSA1CnwgI2RlZmluZSBHTElCX0JJ TkFSWV9BR0UgMjAwNQp8ICNkZWZpbmUgTkVFRF9JQ09OVl9DQUNIRSAxCnwgI2RlZmluZSBTVERD X0hFQURFUlMgMQp8ICNkZWZpbmUgSEFWRV9TWVNfVFlQRVNfSCAxCnwgI2RlZmluZSBIQVZFX1NZ U19TVEFUX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERMSUJfSCAxCnwgI2RlZmluZSBIQVZFX1NUUklO R19IIDEKfCAjZGVmaW5lIEhBVkVfTUVNT1JZX0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJJTkdTX0gg MQp8ICNkZWZpbmUgSEFWRV9JTlRUWVBFU19IIDEKfCAjZGVmaW5lIEhBVkVfU1RESU5UX0ggMQp8 ICNkZWZpbmUgSEFWRV9VTklTVERfSCAxCnwgI2RlZmluZSBIQVZFX0xPQ0FMRV9IIDEKfCAjZGVm aW5lIEhBVkVfTENfTUVTU0FHRVMgMQp8ICNkZWZpbmUgSEFWRV9CSU5EX1RFWFRET01BSU5fQ09E RVNFVCAxCnwgI2RlZmluZSBIQVZFX0dFVFRFWFQgMQp8ICNkZWZpbmUgSEFWRV9EQ0dFVFRFWFQg MQp8ICNkZWZpbmUgRU5BQkxFX05MUyAxCnwgI2RlZmluZSBHRVRURVhUX1BBQ0tBR0UgImdsaWIy MCIKfCAjZGVmaW5lIEdMSUJfTE9DQUxFX0RJUiAiL3Vzci9sb2NhbC9zaGFyZS9sb2NhbGUiCnwg I2RlZmluZSBVU0VfTElCSUNPTlZfR05VIDEKfCAjZGVmaW5lIEhBVkVfRExGQ05fSCAxCnwgI2Rl ZmluZSBMVF9PQkpESVIgIi5saWJzLyIKfCAjZGVmaW5lIFNURENfSEVBREVSUyAxCnwgI2RlZmlu ZSBIQVZFX1ZQUklOVEYgMQp8ICNkZWZpbmUgSEFWRV9BTExPQ0EgMQp8ICNkZWZpbmUgSEFWRV9N TUFQIDEKfCAjZGVmaW5lIEhBVkVfUE9TSVhfTUVNQUxJR04gMQp8ICNkZWZpbmUgSEFWRV9WQUxM T0MgMQp8ICNkZWZpbmUgSEFWRV9GU1lOQyAxCnwgI2RlZmluZSBIQVZFX0FURVhJVCAxCnwgI2Rl ZmluZSBIQVZFX1RJTUVHTSAxCnwgI2RlZmluZSBIQVZFX0dNVElNRV9SIDEKfCAjZGVmaW5lIFNJ WkVPRl9DSEFSIDEKfCAjZGVmaW5lIFNJWkVPRl9TSE9SVCAyCnwgI2RlZmluZSBTSVpFT0ZfTE9O RyA4CnwgI2RlZmluZSBTSVpFT0ZfSU5UIDQKfCAjZGVmaW5lIFNJWkVPRl9WT0lEX1AgOAp8ICNk ZWZpbmUgU0laRU9GX0xPTkdfTE9ORyA4CnwgI2RlZmluZSBTSVpFT0ZfX19JTlQ2NCAwCnwgI2Rl ZmluZSBIQVZFX0xPTkdfTE9OR19GT1JNQVQgMQp8ICNkZWZpbmUgU0FORV9NQUxMT0NfUFJPVE9T IDEKfCAjZGVmaW5lIEdfSEFWRV9fX0lOTElORSAxCnwgI2RlZmluZSBHX0hBVkVfX19JTkxJTkVf XyAxCnwgI2RlZmluZSBHX0hBVkVfSU5MSU5FIDEKfCAjZGVmaW5lIEhBVkVfRE9XSElMRV9NQUNS T1MgMQp8ICNkZWZpbmUgSEFWRV9ESVJFTlRfSCAxCnwgI2RlZmluZSBIQVZFX0ZMT0FUX0ggMQp8 ICNkZWZpbmUgSEFWRV9MSU1JVFNfSCAxCnwgI2RlZmluZSBIQVZFX1BXRF9IIDEKfCAjZGVmaW5l IEhBVkVfR1JQX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfUEFSQU1fSCAxCnwgI2RlZmluZSBIQVZF X1NZU19QT0xMX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfUkVTT1VSQ0VfSCAxCnwgI2RlZmluZSBI QVZFX1NZU19USU1FX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfVElNRVNfSCAxCnwgI2RlZmluZSBI QVZFX1NZU19XQUlUX0ggMQp8ICNkZWZpbmUgSEFWRV9VTklTVERfSCAxCnwgI2RlZmluZSBIQVZF X1NZU19TRUxFQ1RfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19UWVBFU19IIDEKfCAjZGVmaW5lIEhB VkVfU1RESU5UX0ggMQp8ICNkZWZpbmUgSEFWRV9TQ0hFRF9IIDEKfCAjZGVmaW5lIEhBVkVfU1lT X01PVU5UX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfU1RBVFZGU19IIDEKfCAjZGVmaW5lIEhBVkVf U1lTX1NZU0NUTF9IIDEKfCAjZGVmaW5lIEhBVkVfRlNUQUJfSCAxCnwgI2RlZmluZSBIQVZFX1NU UlVDVF9TVEFUX1NUX0JMS1NJWkUgMQp8ICNkZWZpbmUgSEFWRV9TVFJVQ1RfU1RBVF9TVF9CTE9D S1MgMQp8ICNkZWZpbmUgSEFWRV9TVFJVQ1RfU1RBVEZTX0ZfRlNUWVBFTkFNRSAxCnwgI2RlZmlu ZSBIQVZFX1NUUlVDVF9TVEFURlNfRl9CQVZBSUwgMQp8ICNkZWZpbmUgSEFWRV9MQU5HSU5GT19D T0RFU0VUIDEKfCAjZGVmaW5lIEhBVkVfU1REREVGX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERMSUJf SCAxCnwgI2RlZmluZSBIQVZFX1NUUklOR19IIDEKfCAjZGVmaW5lIEhBVkVfU0VUTE9DQUxFIDEK fCAjZGVmaW5lIFNJWkVPRl9TSVpFX1QgOAp8ICNkZWZpbmUgSEFWRV9MU1RBVCAxCnwgI2RlZmlu ZSBIQVZFX1NUUkVSUk9SIDEKfCAjZGVmaW5lIEhBVkVfU1RSU0lHTkFMIDEKfCAjZGVmaW5lIEhB VkVfTUVNTU9WRSAxCnwgI2RlZmluZSBIQVZFX1ZTTlBSSU5URiAxCnwgI2RlZmluZSBIQVZFX1NU UENQWSAxCnwgI2RlZmluZSBIQVZFX1NUUkNBU0VDTVAgMQp8ICNkZWZpbmUgSEFWRV9TVFJOQ0FT RUNNUCAxCnwgI2RlZmluZSBIQVZFX1BPTEwgMQp8ICNkZWZpbmUgSEFWRV9HRVRDV0QgMQp8ICNk ZWZpbmUgSEFWRV9WQVNQUklOVEYgMQp8ICNkZWZpbmUgSEFWRV9TRVRFTlYgMQp8ICNkZWZpbmUg SEFWRV9VTlNFVEVOViAxCnwgI2RlZmluZSBIQVZFX0dFVENfVU5MT0NLRUQgMQp8ICNkZWZpbmUg SEFWRV9SRUFETElOSyAxCnwgI2RlZmluZSBIQVZFX1NZTUxJTksgMQp8ICNkZWZpbmUgSEFWRV9D SE9XTiAxCnwgI2RlZmluZSBIQVZFX0xDSE9XTiAxCnwgI2RlZmluZSBIQVZFX0ZDSE1PRCAxCnwg I2RlZmluZSBIQVZFX0ZDSE9XTiAxCnwgI2RlZmluZSBIQVZFX0xJTksgMQp8ICNkZWZpbmUgSEFW RV9TVEFUVkZTIDEKfCAjZGVmaW5lIEhBVkVfU1RBVEZTIDEKfCAjZGVmaW5lIEhBVkVfVVRJTUVT IDEKfCAjZGVmaW5lIEhBVkVfR0VUR1JHSUQgMQp8ICNkZWZpbmUgSEFWRV9HRVRQV1VJRCAxCnwg I2RlZmluZSBIQVZFX1NZU0NUTEJZTkFNRSAxCnwgI2RlZmluZSBIQVZFX0dFVE1OVElORk8gMQp8 ICNkZWZpbmUgSEFWRV9OQU5PU0xFRVAgMQp8IC8qIGVuZCBjb25mZGVmcy5oLiAgKi8KfCAjaW5j bHVkZSA8c3RkaW8uaD4KfCAjaWZkZWYgSEFWRV9TWVNfVFlQRVNfSAp8ICMgaW5jbHVkZSA8c3lz L3R5cGVzLmg+CnwgI2VuZGlmCnwgI2lmZGVmIEhBVkVfU1lTX1NUQVRfSAp8ICMgaW5jbHVkZSA8 c3lzL3N0YXQuaD4KfCAjZW5kaWYKfCAjaWZkZWYgU1REQ19IRUFERVJTCnwgIyBpbmNsdWRlIDxz dGRsaWIuaD4KfCAjIGluY2x1ZGUgPHN0ZGRlZi5oPgp8ICNlbHNlCnwgIyBpZmRlZiBIQVZFX1NU RExJQl9ICnwgIyAgaW5jbHVkZSA8c3RkbGliLmg+CnwgIyBlbmRpZgp8ICNlbmRpZgp8ICNpZmRl ZiBIQVZFX1NUUklOR19ICnwgIyBpZiAhZGVmaW5lZCBTVERDX0hFQURFUlMgJiYgZGVmaW5lZCBI QVZFX01FTU9SWV9ICnwgIyAgaW5jbHVkZSA8bWVtb3J5Lmg+CnwgIyBlbmRpZgp8ICMgaW5jbHVk ZSA8c3RyaW5nLmg+CnwgI2VuZGlmCnwgI2lmZGVmIEhBVkVfU1RSSU5HU19ICnwgIyBpbmNsdWRl IDxzdHJpbmdzLmg+CnwgI2VuZGlmCnwgI2lmZGVmIEhBVkVfSU5UVFlQRVNfSAp8ICMgaW5jbHVk ZSA8aW50dHlwZXMuaD4KfCAjZW5kaWYKfCAjaWZkZWYgSEFWRV9TVERJTlRfSAp8ICMgaW5jbHVk ZSA8c3RkaW50Lmg+CnwgI2VuZGlmCnwgI2lmZGVmIEhBVkVfVU5JU1REX0gKfCAjIGluY2x1ZGUg PHVuaXN0ZC5oPgp8ICNlbmRpZgp8ICNpbmNsdWRlIDxjcnRfZXh0ZXJucy5oPgpjb25maWd1cmU6 MzE3ODI6IHJlc3VsdDogbm8KY29uZmlndXJlOjMxNzg2OiBjaGVja2luZyBjcnRfZXh0ZXJucy5o IHByZXNlbmNlCmNvbmZpZ3VyZTozMTgwMTogY2MgLUUgLUkvdXNyL2xvY2FsL2luY2x1ZGUgLURH X0RJU0FCTEVfU0lOR0xFX0lOQ0xVREVTIGNvbmZ0ZXN0LmMKY29uZnRlc3QuYzoxMTc6MjU6IGVy cm9yOiBjcnRfZXh0ZXJucy5oOiBObyBzdWNoIGZpbGUgb3IgZGlyZWN0b3J5CmNvbmZpZ3VyZToz MTgwODogJD8gPSAxCmNvbmZpZ3VyZTogZmFpbGVkIHByb2dyYW0gd2FzOgp8IC8qIGNvbmZkZWZz LmguICAqLwp8ICNkZWZpbmUgUEFDS0FHRV9OQU1FICJnbGliIgp8ICNkZWZpbmUgUEFDS0FHRV9U QVJOQU1FICJnbGliIgp8ICNkZWZpbmUgUEFDS0FHRV9WRVJTSU9OICIyLjIwLjUiCnwgI2RlZmlu ZSBQQUNLQUdFX1NUUklORyAiZ2xpYiAyLjIwLjUiCnwgI2RlZmluZSBQQUNLQUdFX0JVR1JFUE9S VCAiaHR0cDovL2J1Z3ppbGxhLmdub21lLm9yZy9lbnRlcl9idWcuY2dpP3Byb2R1Y3Q9Z2xpYiIK fCAjZGVmaW5lIEdMSUJfTUFKT1JfVkVSU0lPTiAyCnwgI2RlZmluZSBHTElCX01JTk9SX1ZFUlNJ T04gMjAKfCAjZGVmaW5lIEdMSUJfTUlDUk9fVkVSU0lPTiA1CnwgI2RlZmluZSBHTElCX0lOVEVS RkFDRV9BR0UgNQp8ICNkZWZpbmUgR0xJQl9CSU5BUllfQUdFIDIwMDUKfCAjZGVmaW5lIE5FRURf SUNPTlZfQ0FDSEUgMQp8ICNkZWZpbmUgU1REQ19IRUFERVJTIDEKfCAjZGVmaW5lIEhBVkVfU1lT X1RZUEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfU1RBVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1RE TElCX0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJJTkdfSCAxCnwgI2RlZmluZSBIQVZFX01FTU9SWV9I IDEKfCAjZGVmaW5lIEhBVkVfU1RSSU5HU19IIDEKfCAjZGVmaW5lIEhBVkVfSU5UVFlQRVNfSCAx CnwgI2RlZmluZSBIQVZFX1NURElOVF9IIDEKfCAjZGVmaW5lIEhBVkVfVU5JU1REX0ggMQp8ICNk ZWZpbmUgSEFWRV9MT0NBTEVfSCAxCnwgI2RlZmluZSBIQVZFX0xDX01FU1NBR0VTIDEKfCAjZGVm aW5lIEhBVkVfQklORF9URVhURE9NQUlOX0NPREVTRVQgMQp8ICNkZWZpbmUgSEFWRV9HRVRURVhU IDEKfCAjZGVmaW5lIEhBVkVfRENHRVRURVhUIDEKfCAjZGVmaW5lIEVOQUJMRV9OTFMgMQp8ICNk ZWZpbmUgR0VUVEVYVF9QQUNLQUdFICJnbGliMjAiCnwgI2RlZmluZSBHTElCX0xPQ0FMRV9ESVIg Ii91c3IvbG9jYWwvc2hhcmUvbG9jYWxlIgp8ICNkZWZpbmUgVVNFX0xJQklDT05WX0dOVSAxCnwg I2RlZmluZSBIQVZFX0RMRkNOX0ggMQp8ICNkZWZpbmUgTFRfT0JKRElSICIubGlicy8iCnwgI2Rl ZmluZSBTVERDX0hFQURFUlMgMQp8ICNkZWZpbmUgSEFWRV9WUFJJTlRGIDEKfCAjZGVmaW5lIEhB VkVfQUxMT0NBIDEKfCAjZGVmaW5lIEhBVkVfTU1BUCAxCnwgI2RlZmluZSBIQVZFX1BPU0lYX01F TUFMSUdOIDEKfCAjZGVmaW5lIEhBVkVfVkFMTE9DIDEKfCAjZGVmaW5lIEhBVkVfRlNZTkMgMQp8 ICNkZWZpbmUgSEFWRV9BVEVYSVQgMQp8ICNkZWZpbmUgSEFWRV9USU1FR00gMQp8ICNkZWZpbmUg SEFWRV9HTVRJTUVfUiAxCnwgI2RlZmluZSBTSVpFT0ZfQ0hBUiAxCnwgI2RlZmluZSBTSVpFT0Zf U0hPUlQgMgp8ICNkZWZpbmUgU0laRU9GX0xPTkcgOAp8ICNkZWZpbmUgU0laRU9GX0lOVCA0Cnwg I2RlZmluZSBTSVpFT0ZfVk9JRF9QIDgKfCAjZGVmaW5lIFNJWkVPRl9MT05HX0xPTkcgOAp8ICNk ZWZpbmUgU0laRU9GX19fSU5UNjQgMAp8ICNkZWZpbmUgSEFWRV9MT05HX0xPTkdfRk9STUFUIDEK fCAjZGVmaW5lIFNBTkVfTUFMTE9DX1BST1RPUyAxCnwgI2RlZmluZSBHX0hBVkVfX19JTkxJTkUg MQp8ICNkZWZpbmUgR19IQVZFX19fSU5MSU5FX18gMQp8ICNkZWZpbmUgR19IQVZFX0lOTElORSAx CnwgI2RlZmluZSBIQVZFX0RPV0hJTEVfTUFDUk9TIDEKfCAjZGVmaW5lIEhBVkVfRElSRU5UX0gg MQp8ICNkZWZpbmUgSEFWRV9GTE9BVF9IIDEKfCAjZGVmaW5lIEhBVkVfTElNSVRTX0ggMQp8ICNk ZWZpbmUgSEFWRV9QV0RfSCAxCnwgI2RlZmluZSBIQVZFX0dSUF9IIDEKfCAjZGVmaW5lIEhBVkVf U1lTX1BBUkFNX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfUE9MTF9IIDEKfCAjZGVmaW5lIEhBVkVf U1lTX1JFU09VUkNFX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfVElNRV9IIDEKfCAjZGVmaW5lIEhB VkVfU1lTX1RJTUVTX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfV0FJVF9IIDEKfCAjZGVmaW5lIEhB VkVfVU5JU1REX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfU0VMRUNUX0ggMQp8ICNkZWZpbmUgSEFW RV9TWVNfVFlQRVNfSCAxCnwgI2RlZmluZSBIQVZFX1NURElOVF9IIDEKfCAjZGVmaW5lIEhBVkVf U0NIRURfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19NT1VOVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1lT X1NUQVRWRlNfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19TWVNDVExfSCAxCnwgI2RlZmluZSBIQVZF X0ZTVEFCX0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJVQ1RfU1RBVF9TVF9CTEtTSVpFIDEKfCAjZGVm aW5lIEhBVkVfU1RSVUNUX1NUQVRfU1RfQkxPQ0tTIDEKfCAjZGVmaW5lIEhBVkVfU1RSVUNUX1NU QVRGU19GX0ZTVFlQRU5BTUUgMQp8ICNkZWZpbmUgSEFWRV9TVFJVQ1RfU1RBVEZTX0ZfQkFWQUlM IDEKfCAjZGVmaW5lIEhBVkVfTEFOR0lORk9fQ09ERVNFVCAxCnwgI2RlZmluZSBIQVZFX1NURERF Rl9IIDEKfCAjZGVmaW5lIEhBVkVfU1RETElCX0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJJTkdfSCAx CnwgI2RlZmluZSBIQVZFX1NFVExPQ0FMRSAxCnwgI2RlZmluZSBTSVpFT0ZfU0laRV9UIDgKfCAj ZGVmaW5lIEhBVkVfTFNUQVQgMQp8ICNkZWZpbmUgSEFWRV9TVFJFUlJPUiAxCnwgI2RlZmluZSBI QVZFX1NUUlNJR05BTCAxCnwgI2RlZmluZSBIQVZFX01FTU1PVkUgMQp8ICNkZWZpbmUgSEFWRV9W U05QUklOVEYgMQp8ICNkZWZpbmUgSEFWRV9TVFBDUFkgMQp8ICNkZWZpbmUgSEFWRV9TVFJDQVNF Q01QIDEKfCAjZGVmaW5lIEhBVkVfU1RSTkNBU0VDTVAgMQp8ICNkZWZpbmUgSEFWRV9QT0xMIDEK fCAjZGVmaW5lIEhBVkVfR0VUQ1dEIDEKfCAjZGVmaW5lIEhBVkVfVkFTUFJJTlRGIDEKfCAjZGVm aW5lIEhBVkVfU0VURU5WIDEKfCAjZGVmaW5lIEhBVkVfVU5TRVRFTlYgMQp8ICNkZWZpbmUgSEFW RV9HRVRDX1VOTE9DS0VEIDEKfCAjZGVmaW5lIEhBVkVfUkVBRExJTksgMQp8ICNkZWZpbmUgSEFW RV9TWU1MSU5LIDEKfCAjZGVmaW5lIEhBVkVfQ0hPV04gMQp8ICNkZWZpbmUgSEFWRV9MQ0hPV04g MQp8ICNkZWZpbmUgSEFWRV9GQ0hNT0QgMQp8ICNkZWZpbmUgSEFWRV9GQ0hPV04gMQp8ICNkZWZp bmUgSEFWRV9MSU5LIDEKfCAjZGVmaW5lIEhBVkVfU1RBVFZGUyAxCnwgI2RlZmluZSBIQVZFX1NU QVRGUyAxCnwgI2RlZmluZSBIQVZFX1VUSU1FUyAxCnwgI2RlZmluZSBIQVZFX0dFVEdSR0lEIDEK fCAjZGVmaW5lIEhBVkVfR0VUUFdVSUQgMQp8ICNkZWZpbmUgSEFWRV9TWVNDVExCWU5BTUUgMQp8 ICNkZWZpbmUgSEFWRV9HRVRNTlRJTkZPIDEKfCAjZGVmaW5lIEhBVkVfTkFOT1NMRUVQIDEKfCAv KiBlbmQgY29uZmRlZnMuaC4gICovCnwgI2luY2x1ZGUgPGNydF9leHRlcm5zLmg+CmNvbmZpZ3Vy ZTozMTgyMjogcmVzdWx0OiBubwpjb25maWd1cmU6MzE4NTU6IGNoZWNraW5nIGZvciBjcnRfZXh0 ZXJucy5oCmNvbmZpZ3VyZTozMTg2NDogcmVzdWx0OiBubwpjb25maWd1cmU6MzE4ODM6IGNoZWNr aW5nIGZvciBfTlNHZXRFbnZpcm9uCmNvbmZpZ3VyZTozMTkzOTogY2MgLW8gY29uZnRlc3QgLU8y IC1mbm8tc3RyaWN0LWFsaWFzaW5nIC1waXBlIC1XYWxsIC1JL3Vzci9sb2NhbC9pbmNsdWRlIC1E R19ESVNBQkxFX1NJTkdMRV9JTkNMVURFUyAtTC91c3IvbG9jYWwvbGliIC1saW50bCBjb25mdGVz dC5jICAgPiY1Ci92YXIvdG1wLy9jYzFPcnFrcC5vKC50ZXh0KzB4Nyk6IEluIGZ1bmN0aW9uIGBt YWluJzoKOiB1bmRlZmluZWQgcmVmZXJlbmNlIHRvIGBfTlNHZXRFbnZpcm9uJwpjb25maWd1cmU6 MzE5NDY6ICQ/ID0gMQpjb25maWd1cmU6IGZhaWxlZCBwcm9ncmFtIHdhczoKfCAvKiBjb25mZGVm cy5oLiAgKi8KfCAjZGVmaW5lIFBBQ0tBR0VfTkFNRSAiZ2xpYiIKfCAjZGVmaW5lIFBBQ0tBR0Vf VEFSTkFNRSAiZ2xpYiIKfCAjZGVmaW5lIFBBQ0tBR0VfVkVSU0lPTiAiMi4yMC41Igp8ICNkZWZp bmUgUEFDS0FHRV9TVFJJTkcgImdsaWIgMi4yMC41Igp8ICNkZWZpbmUgUEFDS0FHRV9CVUdSRVBP UlQgImh0dHA6Ly9idWd6aWxsYS5nbm9tZS5vcmcvZW50ZXJfYnVnLmNnaT9wcm9kdWN0PWdsaWIi CnwgI2RlZmluZSBHTElCX01BSk9SX1ZFUlNJT04gMgp8ICNkZWZpbmUgR0xJQl9NSU5PUl9WRVJT SU9OIDIwCnwgI2RlZmluZSBHTElCX01JQ1JPX1ZFUlNJT04gNQp8ICNkZWZpbmUgR0xJQl9JTlRF UkZBQ0VfQUdFIDUKfCAjZGVmaW5lIEdMSUJfQklOQVJZX0FHRSAyMDA1CnwgI2RlZmluZSBORUVE X0lDT05WX0NBQ0hFIDEKfCAjZGVmaW5lIFNURENfSEVBREVSUyAxCnwgI2RlZmluZSBIQVZFX1NZ U19UWVBFU19IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NUQVRfSCAxCnwgI2RlZmluZSBIQVZFX1NU RExJQl9IIDEKfCAjZGVmaW5lIEhBVkVfU1RSSU5HX0ggMQp8ICNkZWZpbmUgSEFWRV9NRU1PUllf SCAxCnwgI2RlZmluZSBIQVZFX1NUUklOR1NfSCAxCnwgI2RlZmluZSBIQVZFX0lOVFRZUEVTX0gg MQp8ICNkZWZpbmUgSEFWRV9TVERJTlRfSCAxCnwgI2RlZmluZSBIQVZFX1VOSVNURF9IIDEKfCAj ZGVmaW5lIEhBVkVfTE9DQUxFX0ggMQp8ICNkZWZpbmUgSEFWRV9MQ19NRVNTQUdFUyAxCnwgI2Rl ZmluZSBIQVZFX0JJTkRfVEVYVERPTUFJTl9DT0RFU0VUIDEKfCAjZGVmaW5lIEhBVkVfR0VUVEVY VCAxCnwgI2RlZmluZSBIQVZFX0RDR0VUVEVYVCAxCnwgI2RlZmluZSBFTkFCTEVfTkxTIDEKfCAj ZGVmaW5lIEdFVFRFWFRfUEFDS0FHRSAiZ2xpYjIwIgp8ICNkZWZpbmUgR0xJQl9MT0NBTEVfRElS ICIvdXNyL2xvY2FsL3NoYXJlL2xvY2FsZSIKfCAjZGVmaW5lIFVTRV9MSUJJQ09OVl9HTlUgMQp8 ICNkZWZpbmUgSEFWRV9ETEZDTl9IIDEKfCAjZGVmaW5lIExUX09CSkRJUiAiLmxpYnMvIgp8ICNk ZWZpbmUgU1REQ19IRUFERVJTIDEKfCAjZGVmaW5lIEhBVkVfVlBSSU5URiAxCnwgI2RlZmluZSBI QVZFX0FMTE9DQSAxCnwgI2RlZmluZSBIQVZFX01NQVAgMQp8ICNkZWZpbmUgSEFWRV9QT1NJWF9N RU1BTElHTiAxCnwgI2RlZmluZSBIQVZFX1ZBTExPQyAxCnwgI2RlZmluZSBIQVZFX0ZTWU5DIDEK fCAjZGVmaW5lIEhBVkVfQVRFWElUIDEKfCAjZGVmaW5lIEhBVkVfVElNRUdNIDEKfCAjZGVmaW5l IEhBVkVfR01USU1FX1IgMQp8ICNkZWZpbmUgU0laRU9GX0NIQVIgMQp8ICNkZWZpbmUgU0laRU9G X1NIT1JUIDIKfCAjZGVmaW5lIFNJWkVPRl9MT05HIDgKfCAjZGVmaW5lIFNJWkVPRl9JTlQgNAp8 ICNkZWZpbmUgU0laRU9GX1ZPSURfUCA4CnwgI2RlZmluZSBTSVpFT0ZfTE9OR19MT05HIDgKfCAj ZGVmaW5lIFNJWkVPRl9fX0lOVDY0IDAKfCAjZGVmaW5lIEhBVkVfTE9OR19MT05HX0ZPUk1BVCAx CnwgI2RlZmluZSBTQU5FX01BTExPQ19QUk9UT1MgMQp8ICNkZWZpbmUgR19IQVZFX19fSU5MSU5F IDEKfCAjZGVmaW5lIEdfSEFWRV9fX0lOTElORV9fIDEKfCAjZGVmaW5lIEdfSEFWRV9JTkxJTkUg MQp8ICNkZWZpbmUgSEFWRV9ET1dISUxFX01BQ1JPUyAxCnwgI2RlZmluZSBIQVZFX0RJUkVOVF9I IDEKfCAjZGVmaW5lIEhBVkVfRkxPQVRfSCAxCnwgI2RlZmluZSBIQVZFX0xJTUlUU19IIDEKfCAj ZGVmaW5lIEhBVkVfUFdEX0ggMQp8ICNkZWZpbmUgSEFWRV9HUlBfSCAxCnwgI2RlZmluZSBIQVZF X1NZU19QQVJBTV9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1BPTExfSCAxCnwgI2RlZmluZSBIQVZF X1NZU19SRVNPVVJDRV9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1RJTUVfSCAxCnwgI2RlZmluZSBI QVZFX1NZU19USU1FU19IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1dBSVRfSCAxCnwgI2RlZmluZSBI QVZFX1VOSVNURF9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NFTEVDVF9IIDEKfCAjZGVmaW5lIEhB VkVfU1lTX1RZUEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERJTlRfSCAxCnwgI2RlZmluZSBIQVZF X1NDSEVEX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfTU9VTlRfSCAxCnwgI2RlZmluZSBIQVZFX1NZ U19TVEFUVkZTX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfU1lTQ1RMX0ggMQp8ICNkZWZpbmUgSEFW RV9GU1RBQl9IIDEKfCAjZGVmaW5lIEhBVkVfU1RSVUNUX1NUQVRfU1RfQkxLU0laRSAxCnwgI2Rl ZmluZSBIQVZFX1NUUlVDVF9TVEFUX1NUX0JMT0NLUyAxCnwgI2RlZmluZSBIQVZFX1NUUlVDVF9T VEFURlNfRl9GU1RZUEVOQU1FIDEKfCAjZGVmaW5lIEhBVkVfU1RSVUNUX1NUQVRGU19GX0JBVkFJ TCAxCnwgI2RlZmluZSBIQVZFX0xBTkdJTkZPX0NPREVTRVQgMQp8ICNkZWZpbmUgSEFWRV9TVERE RUZfSCAxCnwgI2RlZmluZSBIQVZFX1NURExJQl9IIDEKfCAjZGVmaW5lIEhBVkVfU1RSSU5HX0gg MQp8ICNkZWZpbmUgSEFWRV9TRVRMT0NBTEUgMQp8ICNkZWZpbmUgU0laRU9GX1NJWkVfVCA4Cnwg I2RlZmluZSBIQVZFX0xTVEFUIDEKfCAjZGVmaW5lIEhBVkVfU1RSRVJST1IgMQp8ICNkZWZpbmUg SEFWRV9TVFJTSUdOQUwgMQp8ICNkZWZpbmUgSEFWRV9NRU1NT1ZFIDEKfCAjZGVmaW5lIEhBVkVf VlNOUFJJTlRGIDEKfCAjZGVmaW5lIEhBVkVfU1RQQ1BZIDEKfCAjZGVmaW5lIEhBVkVfU1RSQ0FT RUNNUCAxCnwgI2RlZmluZSBIQVZFX1NUUk5DQVNFQ01QIDEKfCAjZGVmaW5lIEhBVkVfUE9MTCAx CnwgI2RlZmluZSBIQVZFX0dFVENXRCAxCnwgI2RlZmluZSBIQVZFX1ZBU1BSSU5URiAxCnwgI2Rl ZmluZSBIQVZFX1NFVEVOViAxCnwgI2RlZmluZSBIQVZFX1VOU0VURU5WIDEKfCAjZGVmaW5lIEhB VkVfR0VUQ19VTkxPQ0tFRCAxCnwgI2RlZmluZSBIQVZFX1JFQURMSU5LIDEKfCAjZGVmaW5lIEhB VkVfU1lNTElOSyAxCnwgI2RlZmluZSBIQVZFX0NIT1dOIDEKfCAjZGVmaW5lIEhBVkVfTENIT1dO IDEKfCAjZGVmaW5lIEhBVkVfRkNITU9EIDEKfCAjZGVmaW5lIEhBVkVfRkNIT1dOIDEKfCAjZGVm aW5lIEhBVkVfTElOSyAxCnwgI2RlZmluZSBIQVZFX1NUQVRWRlMgMQp8ICNkZWZpbmUgSEFWRV9T VEFURlMgMQp8ICNkZWZpbmUgSEFWRV9VVElNRVMgMQp8ICNkZWZpbmUgSEFWRV9HRVRHUkdJRCAx CnwgI2RlZmluZSBIQVZFX0dFVFBXVUlEIDEKfCAjZGVmaW5lIEhBVkVfU1lTQ1RMQllOQU1FIDEK fCAjZGVmaW5lIEhBVkVfR0VUTU5USU5GTyAxCnwgI2RlZmluZSBIQVZFX05BTk9TTEVFUCAxCnwg LyogZW5kIGNvbmZkZWZzLmguICAqLwp8IC8qIERlZmluZSBfTlNHZXRFbnZpcm9uIHRvIGFuIGlu bm9jdW91cyB2YXJpYW50LCBpbiBjYXNlIDxsaW1pdHMuaD4gZGVjbGFyZXMgX05TR2V0RW52aXJv bi4KfCAgICBGb3IgZXhhbXBsZSwgSFAtVVggMTFpIDxsaW1pdHMuaD4gZGVjbGFyZXMgZ2V0dGlt ZW9mZGF5LiAgKi8KfCAjZGVmaW5lIF9OU0dldEVudmlyb24gaW5ub2N1b3VzX19OU0dldEVudmly b24KfCAKfCAvKiBTeXN0ZW0gaGVhZGVyIHRvIGRlZmluZSBfX3N0dWIgbWFjcm9zIGFuZCBob3Bl ZnVsbHkgZmV3IHByb3RvdHlwZXMsCnwgICAgIHdoaWNoIGNhbiBjb25mbGljdCB3aXRoIGNoYXIg X05TR2V0RW52aXJvbiAoKTsgYmVsb3cuCnwgICAgIFByZWZlciA8bGltaXRzLmg+IHRvIDxhc3Nl cnQuaD4gaWYgX19TVERDX18gaXMgZGVmaW5lZCwgc2luY2UKfCAgICAgPGxpbWl0cy5oPiBleGlz dHMgZXZlbiBvbiBmcmVlc3RhbmRpbmcgY29tcGlsZXJzLiAgKi8KfCAKfCAjaWZkZWYgX19TVERD X18KfCAjIGluY2x1ZGUgPGxpbWl0cy5oPgp8ICNlbHNlCnwgIyBpbmNsdWRlIDxhc3NlcnQuaD4K fCAjZW5kaWYKfCAKfCAjdW5kZWYgX05TR2V0RW52aXJvbgp8IAp8IC8qIE92ZXJyaWRlIGFueSBH Q0MgaW50ZXJuYWwgcHJvdG90eXBlIHRvIGF2b2lkIGFuIGVycm9yLgp8ICAgIFVzZSBjaGFyIGJl Y2F1c2UgaW50IG1pZ2h0IG1hdGNoIHRoZSByZXR1cm4gdHlwZSBvZiBhIEdDQwp8ICAgIGJ1aWx0 aW4gYW5kIHRoZW4gaXRzIGFyZ3VtZW50IHByb3RvdHlwZSB3b3VsZCBzdGlsbCBhcHBseS4gICov CnwgI2lmZGVmIF9fY3BsdXNwbHVzCnwgZXh0ZXJuICJDIgp8ICNlbmRpZgp8IGNoYXIgX05TR2V0 RW52aXJvbiAoKTsKfCAvKiBUaGUgR05VIEMgbGlicmFyeSBkZWZpbmVzIHRoaXMgZm9yIGZ1bmN0 aW9ucyB3aGljaCBpdCBpbXBsZW1lbnRzCnwgICAgIHRvIGFsd2F5cyBmYWlsIHdpdGggRU5PU1lT LiAgU29tZSBmdW5jdGlvbnMgYXJlIGFjdHVhbGx5IG5hbWVkCnwgICAgIHNvbWV0aGluZyBzdGFy dGluZyB3aXRoIF9fIGFuZCB0aGUgbm9ybWFsIG5hbWUgaXMgYW4gYWxpYXMuICAqLwp8ICNpZiBk ZWZpbmVkIF9fc3R1Yl9fTlNHZXRFbnZpcm9uIHx8IGRlZmluZWQgX19zdHViX19fX05TR2V0RW52 aXJvbgp8IGNob2tlIG1lCnwgI2VuZGlmCnwgCnwgaW50CnwgbWFpbiAoKQp8IHsKfCByZXR1cm4g X05TR2V0RW52aXJvbiAoKTsKfCAgIDsKfCAgIHJldHVybiAwOwp8IH0KY29uZmlndXJlOjMxOTY4 OiByZXN1bHQ6IG5vCmNvbmZpZ3VyZTozMTk4MTogY2hlY2tpbmcgZm9yIEM5OSB2c25wcmludGYK Y29uZmlndXJlOjMyMDM4OiBjYyAtbyBjb25mdGVzdCAtTzIgLWZuby1zdHJpY3QtYWxpYXNpbmcg LXBpcGUgLVdhbGwgLUkvdXNyL2xvY2FsL2luY2x1ZGUgLURHX0RJU0FCTEVfU0lOR0xFX0lOQ0xV REVTIC1ML3Vzci9sb2NhbC9saWIgLWxpbnRsIGNvbmZ0ZXN0LmMgICA+JjUKY29uZnRlc3QuYzog SW4gZnVuY3Rpb24gJ2RvaXQnOgpjb25mdGVzdC5jOjEzMjogd2FybmluZzogaW1wbGljaXQgZGVj bGFyYXRpb24gb2YgZnVuY3Rpb24gJ2V4aXQnCmNvbmZ0ZXN0LmM6MTMyOiB3YXJuaW5nOiBpbmNv bXBhdGlibGUgaW1wbGljaXQgZGVjbGFyYXRpb24gb2YgYnVpbHQtaW4gZnVuY3Rpb24gJ2V4aXQn CmNvbmZ0ZXN0LmM6IEluIGZ1bmN0aW9uICdtYWluJzoKY29uZnRlc3QuYzoxNTE6IHdhcm5pbmc6 IGluY29tcGF0aWJsZSBpbXBsaWNpdCBkZWNsYXJhdGlvbiBvZiBidWlsdC1pbiBmdW5jdGlvbiAn ZXhpdCcKY29uZmlndXJlOjMyMDQyOiAkPyA9IDAKY29uZmlndXJlOjMyMDQ4OiAuL2NvbmZ0ZXN0 CmNvbmZpZ3VyZTozMjA1MjogJD8gPSAwCmNvbmZpZ3VyZTozMjA2OTogcmVzdWx0OiB5ZXMKY29u ZmlndXJlOjMyMDc5OiBjaGVja2luZyB3aGV0aGVyIHByaW50ZiBzdXBwb3J0cyBwb3NpdGlvbmFs IHBhcmFtZXRlcnMKY29uZmlndXJlOjMyMTEyOiBjYyAtbyBjb25mdGVzdCAtTzIgLWZuby1zdHJp Y3QtYWxpYXNpbmcgLXBpcGUgLVdhbGwgLUkvdXNyL2xvY2FsL2luY2x1ZGUgLURHX0RJU0FCTEVf U0lOR0xFX0lOQ0xVREVTIC1ML3Vzci9sb2NhbC9saWIgLWxpbnRsIGNvbmZ0ZXN0LmMgICA+JjUK Y29uZnRlc3QuYzogSW4gZnVuY3Rpb24gJ21haW4nOgpjb25mdGVzdC5jOjEyNjogd2FybmluZzog aW1wbGljaXQgZGVjbGFyYXRpb24gb2YgZnVuY3Rpb24gJ3N0cmNtcCcKY29uZnRlc3QuYzoxMjc6 IHdhcm5pbmc6IGltcGxpY2l0IGRlY2xhcmF0aW9uIG9mIGZ1bmN0aW9uICdleGl0Jwpjb25mdGVz dC5jOjEyNzogd2FybmluZzogaW5jb21wYXRpYmxlIGltcGxpY2l0IGRlY2xhcmF0aW9uIG9mIGJ1 aWx0LWluIGZ1bmN0aW9uICdleGl0Jwpjb25maWd1cmU6MzIxMTY6ICQ/ID0gMApjb25maWd1cmU6 MzIxMjI6IC4vY29uZnRlc3QKY29uZmlndXJlOjMyMTI2OiAkPyA9IDAKY29uZmlndXJlOjMyMTQz OiByZXN1bHQ6IHllcwpjb25maWd1cmU6MzIxNTU6IGNoZWNraW5nIG51bWJlciBvZiBhcmd1bWVu dHMgdG8gc3RhdGZzKCkKY29uZmlndXJlOjMyMTkxOiBjYyAtYyAtTzIgLWZuby1zdHJpY3QtYWxp YXNpbmcgLXBpcGUgLVdhbGwgLUkvdXNyL2xvY2FsL2luY2x1ZGUgLURHX0RJU0FCTEVfU0lOR0xF X0lOQ0xVREVTIGNvbmZ0ZXN0LmMgPiY1CmNvbmZpZ3VyZTozMjE5ODogJD8gPSAwCmNvbmZpZ3Vy ZTozMjIwNDogcmVzdWx0OiAyCmNvbmZpZ3VyZTozMjM1MjogY2hlY2tpbmcgZm9yIHNpZ25lZApj b25maWd1cmU6MzIzNzg6IGNjIC1jIC1PMiAtZm5vLXN0cmljdC1hbGlhc2luZyAtcGlwZSAtV2Fs bCAtSS91c3IvbG9jYWwvaW5jbHVkZSAtREdfRElTQUJMRV9TSU5HTEVfSU5DTFVERVMgY29uZnRl c3QuYyA+JjUKY29uZnRlc3QuYzogSW4gZnVuY3Rpb24gJ21haW4nOgpjb25mdGVzdC5jOjEyNTog d2FybmluZzogdW51c2VkIHZhcmlhYmxlICd4Jwpjb25maWd1cmU6MzIzODU6ICQ/ID0gMApjb25m aWd1cmU6MzI0MDA6IHJlc3VsdDogeWVzCmNvbmZpZ3VyZTozMjQxMTogY2hlY2tpbmcgZm9yIGxv bmcgbG9uZwpjb25maWd1cmU6MzI0Mzg6IGNjIC1vIGNvbmZ0ZXN0IC1PMiAtZm5vLXN0cmljdC1h bGlhc2luZyAtcGlwZSAtV2FsbCAtSS91c3IvbG9jYWwvaW5jbHVkZSAtREdfRElTQUJMRV9TSU5H TEVfSU5DTFVERVMgLUwvdXNyL2xvY2FsL2xpYiAtbGludGwgY29uZnRlc3QuYyAgID4mNQpjb25m aWd1cmU6MzI0NDU6ICQ/ID0gMApjb25maWd1cmU6MzI0NjU6IHJlc3VsdDogeWVzCmNvbmZpZ3Vy ZTozMjQ3NjogY2hlY2tpbmcgZm9yIGxvbmcgZG91YmxlCmNvbmZpZ3VyZTozMjUzMzogcmVzdWx0 OiB5ZXMKY29uZmlndXJlOjMyNTQ0OiBjaGVja2luZyBmb3Igd2NoYXJfdApjb25maWd1cmU6MzI1 NzE6IGNjIC1jIC1PMiAtZm5vLXN0cmljdC1hbGlhc2luZyAtcGlwZSAtV2FsbCAtSS91c3IvbG9j YWwvaW5jbHVkZSAtREdfRElTQUJMRV9TSU5HTEVfSU5DTFVERVMgY29uZnRlc3QuYyA+JjUKY29u ZmlndXJlOjMyNTc4OiAkPyA9IDAKY29uZmlndXJlOjMyNTkzOiByZXN1bHQ6IHllcwpjb25maWd1 cmU6MzI2MDQ6IGNoZWNraW5nIGZvciB3aW50X3QKY29uZmlndXJlOjMyNjMxOiBjYyAtYyAtTzIg LWZuby1zdHJpY3QtYWxpYXNpbmcgLXBpcGUgLVdhbGwgLUkvdXNyL2xvY2FsL2luY2x1ZGUgLURH X0RJU0FCTEVfU0lOR0xFX0lOQ0xVREVTIGNvbmZ0ZXN0LmMgPiY1CmNvbmZpZ3VyZTozMjYzODog JD8gPSAwCmNvbmZpZ3VyZTozMjY1MzogcmVzdWx0OiB5ZXMKY29uZmlndXJlOjMyNjYzOiBjaGVj a2luZyBmb3Igc2l6ZV90CmNvbmZpZ3VyZTozMjY5MTogY2MgLWMgLU8yIC1mbm8tc3RyaWN0LWFs aWFzaW5nIC1waXBlIC1XYWxsIC1JL3Vzci9sb2NhbC9pbmNsdWRlIC1ER19ESVNBQkxFX1NJTkdM RV9JTkNMVURFUyBjb25mdGVzdC5jID4mNQpjb25maWd1cmU6MzI2OTg6ICQ/ID0gMApjb25maWd1 cmU6MzI3MjU6IGNjIC1jIC1PMiAtZm5vLXN0cmljdC1hbGlhc2luZyAtcGlwZSAtV2FsbCAtSS91 c3IvbG9jYWwvaW5jbHVkZSAtREdfRElTQUJMRV9TSU5HTEVfSU5DTFVERVMgY29uZnRlc3QuYyA+ JjUKY29uZnRlc3QuYzogSW4gZnVuY3Rpb24gJ21haW4nOgpjb25mdGVzdC5jOjE2MTogZXJyb3I6 IGV4cGVjdGVkIGV4cHJlc3Npb24gYmVmb3JlICcpJyB0b2tlbgpjb25maWd1cmU6MzI3MzI6ICQ/ ID0gMQpjb25maWd1cmU6IGZhaWxlZCBwcm9ncmFtIHdhczoKfCAvKiBjb25mZGVmcy5oLiAgKi8K fCAjZGVmaW5lIFBBQ0tBR0VfTkFNRSAiZ2xpYiIKfCAjZGVmaW5lIFBBQ0tBR0VfVEFSTkFNRSAi Z2xpYiIKfCAjZGVmaW5lIFBBQ0tBR0VfVkVSU0lPTiAiMi4yMC41Igp8ICNkZWZpbmUgUEFDS0FH RV9TVFJJTkcgImdsaWIgMi4yMC41Igp8ICNkZWZpbmUgUEFDS0FHRV9CVUdSRVBPUlQgImh0dHA6 Ly9idWd6aWxsYS5nbm9tZS5vcmcvZW50ZXJfYnVnLmNnaT9wcm9kdWN0PWdsaWIiCnwgI2RlZmlu ZSBHTElCX01BSk9SX1ZFUlNJT04gMgp8ICNkZWZpbmUgR0xJQl9NSU5PUl9WRVJTSU9OIDIwCnwg I2RlZmluZSBHTElCX01JQ1JPX1ZFUlNJT04gNQp8ICNkZWZpbmUgR0xJQl9JTlRFUkZBQ0VfQUdF IDUKfCAjZGVmaW5lIEdMSUJfQklOQVJZX0FHRSAyMDA1CnwgI2RlZmluZSBORUVEX0lDT05WX0NB Q0hFIDEKfCAjZGVmaW5lIFNURENfSEVBREVSUyAxCnwgI2RlZmluZSBIQVZFX1NZU19UWVBFU19I IDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NUQVRfSCAxCnwgI2RlZmluZSBIQVZFX1NURExJQl9IIDEK fCAjZGVmaW5lIEhBVkVfU1RSSU5HX0ggMQp8ICNkZWZpbmUgSEFWRV9NRU1PUllfSCAxCnwgI2Rl ZmluZSBIQVZFX1NUUklOR1NfSCAxCnwgI2RlZmluZSBIQVZFX0lOVFRZUEVTX0ggMQp8ICNkZWZp bmUgSEFWRV9TVERJTlRfSCAxCnwgI2RlZmluZSBIQVZFX1VOSVNURF9IIDEKfCAjZGVmaW5lIEhB VkVfTE9DQUxFX0ggMQp8ICNkZWZpbmUgSEFWRV9MQ19NRVNTQUdFUyAxCnwgI2RlZmluZSBIQVZF X0JJTkRfVEVYVERPTUFJTl9DT0RFU0VUIDEKfCAjZGVmaW5lIEhBVkVfR0VUVEVYVCAxCnwgI2Rl ZmluZSBIQVZFX0RDR0VUVEVYVCAxCnwgI2RlZmluZSBFTkFCTEVfTkxTIDEKfCAjZGVmaW5lIEdF VFRFWFRfUEFDS0FHRSAiZ2xpYjIwIgp8ICNkZWZpbmUgR0xJQl9MT0NBTEVfRElSICIvdXNyL2xv Y2FsL3NoYXJlL2xvY2FsZSIKfCAjZGVmaW5lIFVTRV9MSUJJQ09OVl9HTlUgMQp8ICNkZWZpbmUg SEFWRV9ETEZDTl9IIDEKfCAjZGVmaW5lIExUX09CSkRJUiAiLmxpYnMvIgp8ICNkZWZpbmUgU1RE Q19IRUFERVJTIDEKfCAjZGVmaW5lIEhBVkVfVlBSSU5URiAxCnwgI2RlZmluZSBIQVZFX0FMTE9D QSAxCnwgI2RlZmluZSBIQVZFX01NQVAgMQp8ICNkZWZpbmUgSEFWRV9QT1NJWF9NRU1BTElHTiAx CnwgI2RlZmluZSBIQVZFX1ZBTExPQyAxCnwgI2RlZmluZSBIQVZFX0ZTWU5DIDEKfCAjZGVmaW5l IEhBVkVfQVRFWElUIDEKfCAjZGVmaW5lIEhBVkVfVElNRUdNIDEKfCAjZGVmaW5lIEhBVkVfR01U SU1FX1IgMQp8ICNkZWZpbmUgU0laRU9GX0NIQVIgMQp8ICNkZWZpbmUgU0laRU9GX1NIT1JUIDIK fCAjZGVmaW5lIFNJWkVPRl9MT05HIDgKfCAjZGVmaW5lIFNJWkVPRl9JTlQgNAp8ICNkZWZpbmUg U0laRU9GX1ZPSURfUCA4CnwgI2RlZmluZSBTSVpFT0ZfTE9OR19MT05HIDgKfCAjZGVmaW5lIFNJ WkVPRl9fX0lOVDY0IDAKfCAjZGVmaW5lIEhBVkVfTE9OR19MT05HX0ZPUk1BVCAxCnwgI2RlZmlu ZSBTQU5FX01BTExPQ19QUk9UT1MgMQp8ICNkZWZpbmUgR19IQVZFX19fSU5MSU5FIDEKfCAjZGVm aW5lIEdfSEFWRV9fX0lOTElORV9fIDEKfCAjZGVmaW5lIEdfSEFWRV9JTkxJTkUgMQp8ICNkZWZp bmUgSEFWRV9ET1dISUxFX01BQ1JPUyAxCnwgI2RlZmluZSBIQVZFX0RJUkVOVF9IIDEKfCAjZGVm aW5lIEhBVkVfRkxPQVRfSCAxCnwgI2RlZmluZSBIQVZFX0xJTUlUU19IIDEKfCAjZGVmaW5lIEhB VkVfUFdEX0ggMQp8ICNkZWZpbmUgSEFWRV9HUlBfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19QQVJB TV9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1BPTExfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19SRVNP VVJDRV9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1RJTUVfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19U SU1FU19IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1dBSVRfSCAxCnwgI2RlZmluZSBIQVZFX1VOSVNU RF9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NFTEVDVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1RZ UEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERJTlRfSCAxCnwgI2RlZmluZSBIQVZFX1NDSEVEX0gg MQp8ICNkZWZpbmUgSEFWRV9TWVNfTU9VTlRfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19TVEFUVkZT X0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfU1lTQ1RMX0ggMQp8ICNkZWZpbmUgSEFWRV9GU1RBQl9I IDEKfCAjZGVmaW5lIEhBVkVfU1RSVUNUX1NUQVRfU1RfQkxLU0laRSAxCnwgI2RlZmluZSBIQVZF X1NUUlVDVF9TVEFUX1NUX0JMT0NLUyAxCnwgI2RlZmluZSBIQVZFX1NUUlVDVF9TVEFURlNfRl9G U1RZUEVOQU1FIDEKfCAjZGVmaW5lIEhBVkVfU1RSVUNUX1NUQVRGU19GX0JBVkFJTCAxCnwgI2Rl ZmluZSBIQVZFX0xBTkdJTkZPX0NPREVTRVQgMQp8ICNkZWZpbmUgSEFWRV9TVERERUZfSCAxCnwg I2RlZmluZSBIQVZFX1NURExJQl9IIDEKfCAjZGVmaW5lIEhBVkVfU1RSSU5HX0ggMQp8ICNkZWZp bmUgSEFWRV9TRVRMT0NBTEUgMQp8ICNkZWZpbmUgU0laRU9GX1NJWkVfVCA4CnwgI2RlZmluZSBI QVZFX0xTVEFUIDEKfCAjZGVmaW5lIEhBVkVfU1RSRVJST1IgMQp8ICNkZWZpbmUgSEFWRV9TVFJT SUdOQUwgMQp8ICNkZWZpbmUgSEFWRV9NRU1NT1ZFIDEKfCAjZGVmaW5lIEhBVkVfVlNOUFJJTlRG IDEKfCAjZGVmaW5lIEhBVkVfU1RQQ1BZIDEKfCAjZGVmaW5lIEhBVkVfU1RSQ0FTRUNNUCAxCnwg I2RlZmluZSBIQVZFX1NUUk5DQVNFQ01QIDEKfCAjZGVmaW5lIEhBVkVfUE9MTCAxCnwgI2RlZmlu ZSBIQVZFX0dFVENXRCAxCnwgI2RlZmluZSBIQVZFX1ZBU1BSSU5URiAxCnwgI2RlZmluZSBIQVZF X1NFVEVOViAxCnwgI2RlZmluZSBIQVZFX1VOU0VURU5WIDEKfCAjZGVmaW5lIEhBVkVfR0VUQ19V TkxPQ0tFRCAxCnwgI2RlZmluZSBIQVZFX1JFQURMSU5LIDEKfCAjZGVmaW5lIEhBVkVfU1lNTElO SyAxCnwgI2RlZmluZSBIQVZFX0NIT1dOIDEKfCAjZGVmaW5lIEhBVkVfTENIT1dOIDEKfCAjZGVm aW5lIEhBVkVfRkNITU9EIDEKfCAjZGVmaW5lIEhBVkVfRkNIT1dOIDEKfCAjZGVmaW5lIEhBVkVf TElOSyAxCnwgI2RlZmluZSBIQVZFX1NUQVRWRlMgMQp8ICNkZWZpbmUgSEFWRV9TVEFURlMgMQp8 ICNkZWZpbmUgSEFWRV9VVElNRVMgMQp8ICNkZWZpbmUgSEFWRV9HRVRHUkdJRCAxCnwgI2RlZmlu ZSBIQVZFX0dFVFBXVUlEIDEKfCAjZGVmaW5lIEhBVkVfU1lTQ1RMQllOQU1FIDEKfCAjZGVmaW5l IEhBVkVfR0VUTU5USU5GTyAxCnwgI2RlZmluZSBIQVZFX05BTk9TTEVFUCAxCnwgI2RlZmluZSBI QVZFX0M5OV9WU05QUklOVEYgMQp8ICNkZWZpbmUgSEFWRV9VTklYOThfUFJJTlRGIDEKfCAjZGVm aW5lIFNUQVRGU19BUkdTIDIKfCAjZGVmaW5lIEhBVkVfR09PRF9QUklOVEYgMQp8ICNkZWZpbmUg SEFWRV9MT05HX0xPTkcgMQp8ICNkZWZpbmUgSEFWRV9MT05HX0RPVUJMRSAxCnwgI2RlZmluZSBI QVZFX1dDSEFSX1QgMQp8ICNkZWZpbmUgSEFWRV9XSU5UX1QgMQp8IC8qIGVuZCBjb25mZGVmcy5o LiAgKi8KfCAjaW5jbHVkZSA8c3RkaW8uaD4KfCAjaWZkZWYgSEFWRV9TWVNfVFlQRVNfSAp8ICMg aW5jbHVkZSA8c3lzL3R5cGVzLmg+CnwgI2VuZGlmCnwgI2lmZGVmIEhBVkVfU1lTX1NUQVRfSAp8 ICMgaW5jbHVkZSA8c3lzL3N0YXQuaD4KfCAjZW5kaWYKfCAjaWZkZWYgU1REQ19IRUFERVJTCnwg IyBpbmNsdWRlIDxzdGRsaWIuaD4KfCAjIGluY2x1ZGUgPHN0ZGRlZi5oPgp8ICNlbHNlCnwgIyBp ZmRlZiBIQVZFX1NURExJQl9ICnwgIyAgaW5jbHVkZSA8c3RkbGliLmg+CnwgIyBlbmRpZgp8ICNl bmRpZgp8ICNpZmRlZiBIQVZFX1NUUklOR19ICnwgIyBpZiAhZGVmaW5lZCBTVERDX0hFQURFUlMg JiYgZGVmaW5lZCBIQVZFX01FTU9SWV9ICnwgIyAgaW5jbHVkZSA8bWVtb3J5Lmg+CnwgIyBlbmRp Zgp8ICMgaW5jbHVkZSA8c3RyaW5nLmg+CnwgI2VuZGlmCnwgI2lmZGVmIEhBVkVfU1RSSU5HU19I CnwgIyBpbmNsdWRlIDxzdHJpbmdzLmg+CnwgI2VuZGlmCnwgI2lmZGVmIEhBVkVfSU5UVFlQRVNf SAp8ICMgaW5jbHVkZSA8aW50dHlwZXMuaD4KfCAjZW5kaWYKfCAjaWZkZWYgSEFWRV9TVERJTlRf SAp8ICMgaW5jbHVkZSA8c3RkaW50Lmg+CnwgI2VuZGlmCnwgI2lmZGVmIEhBVkVfVU5JU1REX0gK fCAjIGluY2x1ZGUgPHVuaXN0ZC5oPgp8ICNlbmRpZgp8IGludAp8IG1haW4gKCkKfCB7CnwgaWYg KHNpemVvZiAoKHNpemVfdCkpKQp8IAkgIHJldHVybiAwOwp8ICAgOwp8ICAgcmV0dXJuIDA7Cnwg fQpjb25maWd1cmU6MzI3NTU6IHJlc3VsdDogeWVzCmNvbmZpZ3VyZTozMjc2NzogY2hlY2tpbmcg Zm9yIHB0cmRpZmZfdApjb25maWd1cmU6MzI3OTU6IGNjIC1jIC1PMiAtZm5vLXN0cmljdC1hbGlh c2luZyAtcGlwZSAtV2FsbCAtSS91c3IvbG9jYWwvaW5jbHVkZSAtREdfRElTQUJMRV9TSU5HTEVf SU5DTFVERVMgY29uZnRlc3QuYyA+JjUKY29uZmlndXJlOjMyODAyOiAkPyA9IDAKY29uZmlndXJl OjMyODI5OiBjYyAtYyAtTzIgLWZuby1zdHJpY3QtYWxpYXNpbmcgLXBpcGUgLVdhbGwgLUkvdXNy L2xvY2FsL2luY2x1ZGUgLURHX0RJU0FCTEVfU0lOR0xFX0lOQ0xVREVTIGNvbmZ0ZXN0LmMgPiY1 CmNvbmZ0ZXN0LmM6IEluIGZ1bmN0aW9uICdtYWluJzoKY29uZnRlc3QuYzoxNjE6IGVycm9yOiBl eHBlY3RlZCBleHByZXNzaW9uIGJlZm9yZSAnKScgdG9rZW4KY29uZmlndXJlOjMyODM2OiAkPyA9 IDEKY29uZmlndXJlOiBmYWlsZWQgcHJvZ3JhbSB3YXM6CnwgLyogY29uZmRlZnMuaC4gICovCnwg I2RlZmluZSBQQUNLQUdFX05BTUUgImdsaWIiCnwgI2RlZmluZSBQQUNLQUdFX1RBUk5BTUUgImds aWIiCnwgI2RlZmluZSBQQUNLQUdFX1ZFUlNJT04gIjIuMjAuNSIKfCAjZGVmaW5lIFBBQ0tBR0Vf U1RSSU5HICJnbGliIDIuMjAuNSIKfCAjZGVmaW5lIFBBQ0tBR0VfQlVHUkVQT1JUICJodHRwOi8v YnVnemlsbGEuZ25vbWUub3JnL2VudGVyX2J1Zy5jZ2k/cHJvZHVjdD1nbGliIgp8ICNkZWZpbmUg R0xJQl9NQUpPUl9WRVJTSU9OIDIKfCAjZGVmaW5lIEdMSUJfTUlOT1JfVkVSU0lPTiAyMAp8ICNk ZWZpbmUgR0xJQl9NSUNST19WRVJTSU9OIDUKfCAjZGVmaW5lIEdMSUJfSU5URVJGQUNFX0FHRSA1 CnwgI2RlZmluZSBHTElCX0JJTkFSWV9BR0UgMjAwNQp8ICNkZWZpbmUgTkVFRF9JQ09OVl9DQUNI RSAxCnwgI2RlZmluZSBTVERDX0hFQURFUlMgMQp8ICNkZWZpbmUgSEFWRV9TWVNfVFlQRVNfSCAx CnwgI2RlZmluZSBIQVZFX1NZU19TVEFUX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERMSUJfSCAxCnwg I2RlZmluZSBIQVZFX1NUUklOR19IIDEKfCAjZGVmaW5lIEhBVkVfTUVNT1JZX0ggMQp8ICNkZWZp bmUgSEFWRV9TVFJJTkdTX0ggMQp8ICNkZWZpbmUgSEFWRV9JTlRUWVBFU19IIDEKfCAjZGVmaW5l IEhBVkVfU1RESU5UX0ggMQp8ICNkZWZpbmUgSEFWRV9VTklTVERfSCAxCnwgI2RlZmluZSBIQVZF X0xPQ0FMRV9IIDEKfCAjZGVmaW5lIEhBVkVfTENfTUVTU0FHRVMgMQp8ICNkZWZpbmUgSEFWRV9C SU5EX1RFWFRET01BSU5fQ09ERVNFVCAxCnwgI2RlZmluZSBIQVZFX0dFVFRFWFQgMQp8ICNkZWZp bmUgSEFWRV9EQ0dFVFRFWFQgMQp8ICNkZWZpbmUgRU5BQkxFX05MUyAxCnwgI2RlZmluZSBHRVRU RVhUX1BBQ0tBR0UgImdsaWIyMCIKfCAjZGVmaW5lIEdMSUJfTE9DQUxFX0RJUiAiL3Vzci9sb2Nh bC9zaGFyZS9sb2NhbGUiCnwgI2RlZmluZSBVU0VfTElCSUNPTlZfR05VIDEKfCAjZGVmaW5lIEhB VkVfRExGQ05fSCAxCnwgI2RlZmluZSBMVF9PQkpESVIgIi5saWJzLyIKfCAjZGVmaW5lIFNURENf SEVBREVSUyAxCnwgI2RlZmluZSBIQVZFX1ZQUklOVEYgMQp8ICNkZWZpbmUgSEFWRV9BTExPQ0Eg MQp8ICNkZWZpbmUgSEFWRV9NTUFQIDEKfCAjZGVmaW5lIEhBVkVfUE9TSVhfTUVNQUxJR04gMQp8 ICNkZWZpbmUgSEFWRV9WQUxMT0MgMQp8ICNkZWZpbmUgSEFWRV9GU1lOQyAxCnwgI2RlZmluZSBI QVZFX0FURVhJVCAxCnwgI2RlZmluZSBIQVZFX1RJTUVHTSAxCnwgI2RlZmluZSBIQVZFX0dNVElN RV9SIDEKfCAjZGVmaW5lIFNJWkVPRl9DSEFSIDEKfCAjZGVmaW5lIFNJWkVPRl9TSE9SVCAyCnwg I2RlZmluZSBTSVpFT0ZfTE9ORyA4CnwgI2RlZmluZSBTSVpFT0ZfSU5UIDQKfCAjZGVmaW5lIFNJ WkVPRl9WT0lEX1AgOAp8ICNkZWZpbmUgU0laRU9GX0xPTkdfTE9ORyA4CnwgI2RlZmluZSBTSVpF T0ZfX19JTlQ2NCAwCnwgI2RlZmluZSBIQVZFX0xPTkdfTE9OR19GT1JNQVQgMQp8ICNkZWZpbmUg U0FORV9NQUxMT0NfUFJPVE9TIDEKfCAjZGVmaW5lIEdfSEFWRV9fX0lOTElORSAxCnwgI2RlZmlu ZSBHX0hBVkVfX19JTkxJTkVfXyAxCnwgI2RlZmluZSBHX0hBVkVfSU5MSU5FIDEKfCAjZGVmaW5l IEhBVkVfRE9XSElMRV9NQUNST1MgMQp8ICNkZWZpbmUgSEFWRV9ESVJFTlRfSCAxCnwgI2RlZmlu ZSBIQVZFX0ZMT0FUX0ggMQp8ICNkZWZpbmUgSEFWRV9MSU1JVFNfSCAxCnwgI2RlZmluZSBIQVZF X1BXRF9IIDEKfCAjZGVmaW5lIEhBVkVfR1JQX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfUEFSQU1f SCAxCnwgI2RlZmluZSBIQVZFX1NZU19QT0xMX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfUkVTT1VS Q0VfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19USU1FX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfVElN RVNfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19XQUlUX0ggMQp8ICNkZWZpbmUgSEFWRV9VTklTVERf SCAxCnwgI2RlZmluZSBIQVZFX1NZU19TRUxFQ1RfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19UWVBF U19IIDEKfCAjZGVmaW5lIEhBVkVfU1RESU5UX0ggMQp8ICNkZWZpbmUgSEFWRV9TQ0hFRF9IIDEK fCAjZGVmaW5lIEhBVkVfU1lTX01PVU5UX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfU1RBVFZGU19I IDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NZU0NUTF9IIDEKfCAjZGVmaW5lIEhBVkVfRlNUQUJfSCAx CnwgI2RlZmluZSBIQVZFX1NUUlVDVF9TVEFUX1NUX0JMS1NJWkUgMQp8ICNkZWZpbmUgSEFWRV9T VFJVQ1RfU1RBVF9TVF9CTE9DS1MgMQp8ICNkZWZpbmUgSEFWRV9TVFJVQ1RfU1RBVEZTX0ZfRlNU WVBFTkFNRSAxCnwgI2RlZmluZSBIQVZFX1NUUlVDVF9TVEFURlNfRl9CQVZBSUwgMQp8ICNkZWZp bmUgSEFWRV9MQU5HSU5GT19DT0RFU0VUIDEKfCAjZGVmaW5lIEhBVkVfU1REREVGX0ggMQp8ICNk ZWZpbmUgSEFWRV9TVERMSUJfSCAxCnwgI2RlZmluZSBIQVZFX1NUUklOR19IIDEKfCAjZGVmaW5l IEhBVkVfU0VUTE9DQUxFIDEKfCAjZGVmaW5lIFNJWkVPRl9TSVpFX1QgOAp8ICNkZWZpbmUgSEFW RV9MU1RBVCAxCnwgI2RlZmluZSBIQVZFX1NUUkVSUk9SIDEKfCAjZGVmaW5lIEhBVkVfU1RSU0lH TkFMIDEKfCAjZGVmaW5lIEhBVkVfTUVNTU9WRSAxCnwgI2RlZmluZSBIQVZFX1ZTTlBSSU5URiAx CnwgI2RlZmluZSBIQVZFX1NUUENQWSAxCnwgI2RlZmluZSBIQVZFX1NUUkNBU0VDTVAgMQp8ICNk ZWZpbmUgSEFWRV9TVFJOQ0FTRUNNUCAxCnwgI2RlZmluZSBIQVZFX1BPTEwgMQp8ICNkZWZpbmUg SEFWRV9HRVRDV0QgMQp8ICNkZWZpbmUgSEFWRV9WQVNQUklOVEYgMQp8ICNkZWZpbmUgSEFWRV9T RVRFTlYgMQp8ICNkZWZpbmUgSEFWRV9VTlNFVEVOViAxCnwgI2RlZmluZSBIQVZFX0dFVENfVU5M T0NLRUQgMQp8ICNkZWZpbmUgSEFWRV9SRUFETElOSyAxCnwgI2RlZmluZSBIQVZFX1NZTUxJTksg MQp8ICNkZWZpbmUgSEFWRV9DSE9XTiAxCnwgI2RlZmluZSBIQVZFX0xDSE9XTiAxCnwgI2RlZmlu ZSBIQVZFX0ZDSE1PRCAxCnwgI2RlZmluZSBIQVZFX0ZDSE9XTiAxCnwgI2RlZmluZSBIQVZFX0xJ TksgMQp8ICNkZWZpbmUgSEFWRV9TVEFUVkZTIDEKfCAjZGVmaW5lIEhBVkVfU1RBVEZTIDEKfCAj ZGVmaW5lIEhBVkVfVVRJTUVTIDEKfCAjZGVmaW5lIEhBVkVfR0VUR1JHSUQgMQp8ICNkZWZpbmUg SEFWRV9HRVRQV1VJRCAxCnwgI2RlZmluZSBIQVZFX1NZU0NUTEJZTkFNRSAxCnwgI2RlZmluZSBI QVZFX0dFVE1OVElORk8gMQp8ICNkZWZpbmUgSEFWRV9OQU5PU0xFRVAgMQp8ICNkZWZpbmUgSEFW RV9DOTlfVlNOUFJJTlRGIDEKfCAjZGVmaW5lIEhBVkVfVU5JWDk4X1BSSU5URiAxCnwgI2RlZmlu ZSBTVEFURlNfQVJHUyAyCnwgI2RlZmluZSBIQVZFX0dPT0RfUFJJTlRGIDEKfCAjZGVmaW5lIEhB VkVfTE9OR19MT05HIDEKfCAjZGVmaW5lIEhBVkVfTE9OR19ET1VCTEUgMQp8ICNkZWZpbmUgSEFW RV9XQ0hBUl9UIDEKfCAjZGVmaW5lIEhBVkVfV0lOVF9UIDEKfCAvKiBlbmQgY29uZmRlZnMuaC4g ICovCnwgI2luY2x1ZGUgPHN0ZGlvLmg+CnwgI2lmZGVmIEhBVkVfU1lTX1RZUEVTX0gKfCAjIGlu Y2x1ZGUgPHN5cy90eXBlcy5oPgp8ICNlbmRpZgp8ICNpZmRlZiBIQVZFX1NZU19TVEFUX0gKfCAj IGluY2x1ZGUgPHN5cy9zdGF0Lmg+CnwgI2VuZGlmCnwgI2lmZGVmIFNURENfSEVBREVSUwp8ICMg aW5jbHVkZSA8c3RkbGliLmg+CnwgIyBpbmNsdWRlIDxzdGRkZWYuaD4KfCAjZWxzZQp8ICMgaWZk ZWYgSEFWRV9TVERMSUJfSAp8ICMgIGluY2x1ZGUgPHN0ZGxpYi5oPgp8ICMgZW5kaWYKfCAjZW5k aWYKfCAjaWZkZWYgSEFWRV9TVFJJTkdfSAp8ICMgaWYgIWRlZmluZWQgU1REQ19IRUFERVJTICYm IGRlZmluZWQgSEFWRV9NRU1PUllfSAp8ICMgIGluY2x1ZGUgPG1lbW9yeS5oPgp8ICMgZW5kaWYK fCAjIGluY2x1ZGUgPHN0cmluZy5oPgp8ICNlbmRpZgp8ICNpZmRlZiBIQVZFX1NUUklOR1NfSAp8 ICMgaW5jbHVkZSA8c3RyaW5ncy5oPgp8ICNlbmRpZgp8ICNpZmRlZiBIQVZFX0lOVFRZUEVTX0gK fCAjIGluY2x1ZGUgPGludHR5cGVzLmg+CnwgI2VuZGlmCnwgI2lmZGVmIEhBVkVfU1RESU5UX0gK fCAjIGluY2x1ZGUgPHN0ZGludC5oPgp8ICNlbmRpZgp8ICNpZmRlZiBIQVZFX1VOSVNURF9ICnwg IyBpbmNsdWRlIDx1bmlzdGQuaD4KfCAjZW5kaWYKfCBpbnQKfCBtYWluICgpCnwgewp8IGlmIChz aXplb2YgKChwdHJkaWZmX3QpKSkKfCAJICByZXR1cm4gMDsKfCAgIDsKfCAgIHJldHVybiAwOwp8 IH0KY29uZmlndXJlOjMyODU5OiByZXN1bHQ6IHllcwpjb25maWd1cmU6MzI4NzE6IGNoZWNraW5n IGZvciBpbnR0eXBlcy5oCmNvbmZpZ3VyZTozMjg5ODogY2MgLWMgLU8yIC1mbm8tc3RyaWN0LWFs aWFzaW5nIC1waXBlIC1XYWxsIC1JL3Vzci9sb2NhbC9pbmNsdWRlIC1ER19ESVNBQkxFX1NJTkdM RV9JTkNMVURFUyBjb25mdGVzdC5jID4mNQpjb25mdGVzdC5jOiBJbiBmdW5jdGlvbiAnbWFpbic6 CmNvbmZ0ZXN0LmM6MTMxOiB3YXJuaW5nOiB1bnVzZWQgdmFyaWFibGUgJ2knCmNvbmZpZ3VyZToz MjkwNTogJD8gPSAwCmNvbmZpZ3VyZTozMjkyMDogcmVzdWx0OiB5ZXMKY29uZmlndXJlOjMyOTMx OiBjaGVja2luZyBmb3Igc3RkaW50LmgKY29uZmlndXJlOjMyOTU4OiBjYyAtYyAtTzIgLWZuby1z dHJpY3QtYWxpYXNpbmcgLXBpcGUgLVdhbGwgLUkvdXNyL2xvY2FsL2luY2x1ZGUgLURHX0RJU0FC TEVfU0lOR0xFX0lOQ0xVREVTIGNvbmZ0ZXN0LmMgPiY1CmNvbmZ0ZXN0LmM6IEluIGZ1bmN0aW9u ICdtYWluJzoKY29uZnRlc3QuYzoxMzI6IHdhcm5pbmc6IHVudXNlZCB2YXJpYWJsZSAnaScKY29u ZmlndXJlOjMyOTY1OiAkPyA9IDAKY29uZmlndXJlOjMyOTgwOiByZXN1bHQ6IHllcwpjb25maWd1 cmU6MzMwMTY6IGNoZWNraW5nIGZvciBzbnByaW50Zgpjb25maWd1cmU6MzMwNzI6IGNjIC1vIGNv bmZ0ZXN0IC1PMiAtZm5vLXN0cmljdC1hbGlhc2luZyAtcGlwZSAtV2FsbCAtSS91c3IvbG9jYWwv aW5jbHVkZSAtREdfRElTQUJMRV9TSU5HTEVfSU5DTFVERVMgLUwvdXNyL2xvY2FsL2xpYiAtbGlu dGwgY29uZnRlc3QuYyAgID4mNQpjb25mdGVzdC5jOjE1Mjogd2FybmluZzogY29uZmxpY3Rpbmcg dHlwZXMgZm9yIGJ1aWx0LWluIGZ1bmN0aW9uICdzbnByaW50ZicKY29uZmlndXJlOjMzMDc5OiAk PyA9IDAKY29uZmlndXJlOjMzMTAxOiByZXN1bHQ6IHllcwpjb25maWd1cmU6MzMwMTY6IGNoZWNr aW5nIGZvciB3Y3NsZW4KY29uZmlndXJlOjMzMDcyOiBjYyAtbyBjb25mdGVzdCAtTzIgLWZuby1z dHJpY3QtYWxpYXNpbmcgLXBpcGUgLVdhbGwgLUkvdXNyL2xvY2FsL2luY2x1ZGUgLURHX0RJU0FC TEVfU0lOR0xFX0lOQ0xVREVTIC1ML3Vzci9sb2NhbC9saWIgLWxpbnRsIGNvbmZ0ZXN0LmMgICA+ JjUKY29uZmlndXJlOjMzMDc5OiAkPyA9IDAKY29uZmlndXJlOjMzMTAxOiByZXN1bHQ6IHllcwpj b25maWd1cmU6MzMxMTM6IGNoZWNraW5nIGZvciBDOTkgc25wcmludGYKY29uZmlndXJlOjMzMTY4 OiBjYyAtbyBjb25mdGVzdCAtTzIgLWZuby1zdHJpY3QtYWxpYXNpbmcgLXBpcGUgLVdhbGwgLUkv dXNyL2xvY2FsL2luY2x1ZGUgLURHX0RJU0FCTEVfU0lOR0xFX0lOQ0xVREVTIC1ML3Vzci9sb2Nh bC9saWIgLWxpbnRsIGNvbmZ0ZXN0LmMgICA+JjUKY29uZnRlc3QuYzogSW4gZnVuY3Rpb24gJ2Rv aXQnOgpjb25mdGVzdC5jOjE0NDogd2FybmluZzogaW1wbGljaXQgZGVjbGFyYXRpb24gb2YgZnVu Y3Rpb24gJ2V4aXQnCmNvbmZ0ZXN0LmM6MTQ0OiB3YXJuaW5nOiBpbmNvbXBhdGlibGUgaW1wbGlj aXQgZGVjbGFyYXRpb24gb2YgYnVpbHQtaW4gZnVuY3Rpb24gJ2V4aXQnCmNvbmZ0ZXN0LmM6MTM4 OiB3YXJuaW5nOiB1bnVzZWQgdmFyaWFibGUgJ2FyZ3MnCmNvbmZ0ZXN0LmM6IEluIGZ1bmN0aW9u ICdtYWluJzoKY29uZnRlc3QuYzoxNjM6IHdhcm5pbmc6IGluY29tcGF0aWJsZSBpbXBsaWNpdCBk ZWNsYXJhdGlvbiBvZiBidWlsdC1pbiBmdW5jdGlvbiAnZXhpdCcKY29uZmlndXJlOjMzMTcyOiAk PyA9IDAKY29uZmlndXJlOjMzMTc4OiAuL2NvbmZ0ZXN0CmNvbmZpZ3VyZTozMzE4MjogJD8gPSAw CmNvbmZpZ3VyZTozMzE5OTogcmVzdWx0OiB5ZXMKY29uZmlndXJlOjMzMzA2OiBjaGVja2luZyBm b3Igc3lzX2Vycmxpc3QKY29uZmlndXJlOjMzMzMzOiBjYyAtbyBjb25mdGVzdCAtTzIgLWZuby1z dHJpY3QtYWxpYXNpbmcgLXBpcGUgLVdhbGwgLUkvdXNyL2xvY2FsL2luY2x1ZGUgLURHX0RJU0FC TEVfU0lOR0xFX0lOQ0xVREVTIC1ML3Vzci9sb2NhbC9saWIgLWxpbnRsIGNvbmZ0ZXN0LmMgICA+ JjUKY29uZmlndXJlOjMzMzQwOiAkPyA9IDAKY29uZmlndXJlOjMzMzU5OiByZXN1bHQ6IHllcwpj b25maWd1cmU6MzMzNzA6IGNoZWNraW5nIGZvciBzeXNfc2lnbGlzdApjb25maWd1cmU6MzMzOTY6 IGNjIC1vIGNvbmZ0ZXN0IC1PMiAtZm5vLXN0cmljdC1hbGlhc2luZyAtcGlwZSAtV2FsbCAtSS91 c3IvbG9jYWwvaW5jbHVkZSAtREdfRElTQUJMRV9TSU5HTEVfSU5DTFVERVMgLUwvdXNyL2xvY2Fs L2xpYiAtbGludGwgY29uZnRlc3QuYyAgID4mNQpjb25mdGVzdC5jOiBJbiBmdW5jdGlvbiAnbWFp bic6CmNvbmZ0ZXN0LmM6MTM4OiB3YXJuaW5nOiBpbXBsaWNpdCBkZWNsYXJhdGlvbiBvZiBmdW5j dGlvbiAnZXhpdCcKY29uZnRlc3QuYzoxMzg6IHdhcm5pbmc6IGluY29tcGF0aWJsZSBpbXBsaWNp dCBkZWNsYXJhdGlvbiBvZiBidWlsdC1pbiBmdW5jdGlvbiAnZXhpdCcKY29uZnRlc3QuYzoxMzg6 IHdhcm5pbmc6IHBhc3NpbmcgYXJndW1lbnQgMSBvZiAnZXhpdCcgbWFrZXMgaW50ZWdlciBmcm9t IHBvaW50ZXIgd2l0aG91dCBhIGNhc3QKY29uZmlndXJlOjMzNDAzOiAkPyA9IDAKY29uZmlndXJl OjMzNDIyOiByZXN1bHQ6IHllcwpjb25maWd1cmU6MzM0MzM6IGNoZWNraW5nIGZvciBzeXNfc2ln bGlzdCBkZWNsYXJhdGlvbgpjb25maWd1cmU6MzM0NTg6IGNjIC1jIC1PMiAtZm5vLXN0cmljdC1h bGlhc2luZyAtcGlwZSAtV2FsbCAtSS91c3IvbG9jYWwvaW5jbHVkZSAtREdfRElTQUJMRV9TSU5H TEVfSU5DTFVERVMgY29uZnRlc3QuYyA+JjUKY29uZnRlc3QuYzogSW4gZnVuY3Rpb24gJ21haW4n Ogpjb25mdGVzdC5jOjEzNzogd2FybmluZzogaW1wbGljaXQgZGVjbGFyYXRpb24gb2YgZnVuY3Rp b24gJ3N0cmxlbicKY29uZnRlc3QuYzoxMzc6IHdhcm5pbmc6IGluY29tcGF0aWJsZSBpbXBsaWNp dCBkZWNsYXJhdGlvbiBvZiBidWlsdC1pbiBmdW5jdGlvbiAnc3RybGVuJwpjb25mdGVzdC5jOjEz Nzogd2FybmluZzogc3RhdGVtZW50IHdpdGggbm8gZWZmZWN0CmNvbmZpZ3VyZTozMzQ2NTogJD8g PSAwCmNvbmZpZ3VyZTozMzQ3OTogcmVzdWx0OiB5ZXMKY29uZmlndXJlOjMzNDkwOiBjaGVja2lu ZyBmb3IgZmRfc2V0CmNvbmZpZ3VyZTozMzUxMzogY2MgLWMgLU8yIC1mbm8tc3RyaWN0LWFsaWFz aW5nIC1waXBlIC1XYWxsIC1JL3Vzci9sb2NhbC9pbmNsdWRlIC1ER19ESVNBQkxFX1NJTkdMRV9J TkNMVURFUyBjb25mdGVzdC5jID4mNQpjb25mdGVzdC5jOiBJbiBmdW5jdGlvbiAnbWFpbic6CmNv bmZ0ZXN0LmM6MTM2OiB3YXJuaW5nOiB1bnVzZWQgdmFyaWFibGUgJ3dyaXRlTWFzaycKY29uZnRl c3QuYzoxMzY6IHdhcm5pbmc6IHVudXNlZCB2YXJpYWJsZSAncmVhZE1hc2snCmNvbmZpZ3VyZToz MzUyMDogJD8gPSAwCmNvbmZpZ3VyZTozMzUzNTogcmVzdWx0OiB5ZXMsIGZvdW5kIGluIHN5cy90 eXBlcy5oCmNvbmZpZ3VyZTozMzU3MzogY2hlY2tpbmcgd2hldGhlciByZWFsbG9jIChOVUxMLCkg d2lsbCB3b3JrCmNvbmZpZ3VyZTozMzU5OTogY2MgLW8gY29uZnRlc3QgLU8yIC1mbm8tc3RyaWN0 LWFsaWFzaW5nIC1waXBlIC1XYWxsIC1JL3Vzci9sb2NhbC9pbmNsdWRlIC1ER19ESVNBQkxFX1NJ TkdMRV9JTkNMVURFUyAtTC91c3IvbG9jYWwvbGliIC1saW50bCBjb25mdGVzdC5jICAgPiY1CmNv bmZpZ3VyZTozMzYwMzogJD8gPSAwCmNvbmZpZ3VyZTozMzYwOTogLi9jb25mdGVzdApjb25maWd1 cmU6MzM2MTM6ICQ/ID0gMApjb25maWd1cmU6MzM2MzE6IHJlc3VsdDogeWVzCmNvbmZpZ3VyZToz MzY0MTogY2hlY2tpbmcgZm9yIG5sX2xhbmdpbmZvIChDT0RFU0VUKQpjb25maWd1cmU6MzM2Njg6 IGNjIC1jIC1PMiAtZm5vLXN0cmljdC1hbGlhc2luZyAtcGlwZSAtV2FsbCAtSS91c3IvbG9jYWwv aW5jbHVkZSAtREdfRElTQUJMRV9TSU5HTEVfSU5DTFVERVMgY29uZnRlc3QuYyA+JjUKY29uZnRl c3QuYzogSW4gZnVuY3Rpb24gJ21haW4nOgpjb25mdGVzdC5jOjEzNzogd2FybmluZzogdW51c2Vk IHZhcmlhYmxlICdjb2Rlc2V0Jwpjb25maWd1cmU6MzM2NzU6ICQ/ID0gMApjb25maWd1cmU6MzM2 OTA6IHJlc3VsdDogeWVzCmNvbmZpZ3VyZTozMzcwMDogY2hlY2tpbmcgZm9yIGEgY29tcGxpYW50 IHBvc2l4X21lbWFsaWduKCkgaW1wbGVtZW50YXRpb24KY29uZmlndXJlOjMzNzQ4OiBjYyAtbyBj b25mdGVzdCAtTzIgLWZuby1zdHJpY3QtYWxpYXNpbmcgLXBpcGUgLVdhbGwgLUkvdXNyL2xvY2Fs L2luY2x1ZGUgLURHX0RJU0FCTEVfU0lOR0xFX0lOQ0xVREVTIC1ML3Vzci9sb2NhbC9saWIgLWxp bnRsIGNvbmZ0ZXN0LmMgICA+JjUKY29uZmlndXJlOjMzNzUyOiAkPyA9IDAKY29uZmlndXJlOjMz NzU4OiAuL2NvbmZ0ZXN0CmNvbmZpZ3VyZTozMzc2MjogJD8gPSAwCmNvbmZpZ3VyZTozMzc4Mjog cmVzdWx0OiB5ZXMKY29uZmlndXJlOjMzNzk2OiBjaGVja2luZyBmb3IgT3BlbkJTRCBzdHJsY3B5 L3N0cmxjYXQKY29uZmlndXJlOjMzODI3OiBjYyAtbyBjb25mdGVzdCAtTzIgLWZuby1zdHJpY3Qt YWxpYXNpbmcgLXBpcGUgLVdhbGwgLUkvdXNyL2xvY2FsL2luY2x1ZGUgLURHX0RJU0FCTEVfU0lO R0xFX0lOQ0xVREVTIC1ML3Vzci9sb2NhbC9saWIgLWxpbnRsIGNvbmZ0ZXN0LmMgICA+JjUKY29u ZmlndXJlOjMzODMxOiAkPyA9IDAKY29uZmlndXJlOjMzODM3OiAuL2NvbmZ0ZXN0CmNvbmZpZ3Vy ZTozMzg0MTogJD8gPSAwCmNvbmZpZ3VyZTozMzg1ODogcmVzdWx0OiB5ZXMKY29uZmlndXJlOjMz ODY5OiBjaGVja2luZyBmb3IgYW4gaW1wbGVtZW50YXRpb24gb2YgdmFfY29weSgpCmNvbmZpZ3Vy ZTozMzg5NzogY2MgLW8gY29uZnRlc3QgLU8yIC1mbm8tc3RyaWN0LWFsaWFzaW5nIC1waXBlIC1X YWxsIC1JL3Vzci9sb2NhbC9pbmNsdWRlIC1ER19ESVNBQkxFX1NJTkdMRV9JTkNMVURFUyAtTC91 c3IvbG9jYWwvbGliIC1saW50bCBjb25mdGVzdC5jICAgPiY1CmNvbmZpZ3VyZTozMzkwNDogJD8g PSAwCmNvbmZpZ3VyZTozMzkyNTogcmVzdWx0OiB5ZXMKY29uZmlndXJlOjMzOTI3OiBjaGVja2lu ZyBmb3IgYW4gaW1wbGVtZW50YXRpb24gb2YgX192YV9jb3B5KCkKY29uZmlndXJlOjMzOTU1OiBj YyAtbyBjb25mdGVzdCAtTzIgLWZuby1zdHJpY3QtYWxpYXNpbmcgLXBpcGUgLVdhbGwgLUkvdXNy L2xvY2FsL2luY2x1ZGUgLURHX0RJU0FCTEVfU0lOR0xFX0lOQ0xVREVTIC1ML3Vzci9sb2NhbC9s aWIgLWxpbnRsIGNvbmZ0ZXN0LmMgICA+JjUKY29uZmlndXJlOjMzOTYyOiAkPyA9IDAKY29uZmln dXJlOjMzOTgzOiByZXN1bHQ6IHllcwpjb25maWd1cmU6MzQwMDE6IGNoZWNraW5nIHdoZXRoZXIg dmFfbGlzdHMgY2FuIGJlIGNvcGllZCBieSB2YWx1ZQpjb25maWd1cmU6MzQwMzc6IGNjIC1vIGNv bmZ0ZXN0IC1PMiAtZm5vLXN0cmljdC1hbGlhc2luZyAtcGlwZSAtV2FsbCAtSS91c3IvbG9jYWwv aW5jbHVkZSAtREdfRElTQUJMRV9TSU5HTEVfSU5DTFVERVMgLUwvdXNyL2xvY2FsL2xpYiAtbGlu dGwgY29uZnRlc3QuYyAgID4mNQpjb25mdGVzdC5jOiBJbiBmdW5jdGlvbiAnZic6CmNvbmZ0ZXN0 LmM6MTQyOiBlcnJvcjogaW5jb21wYXRpYmxlIHR5cGVzIGluIGFzc2lnbm1lbnQKY29uZmlndXJl OjM0MDQxOiAkPyA9IDEKY29uZmlndXJlOiBwcm9ncmFtIGV4aXRlZCB3aXRoIHN0YXR1cyAxCmNv bmZpZ3VyZTogZmFpbGVkIHByb2dyYW0gd2FzOgp8IC8qIGNvbmZkZWZzLmguICAqLwp8ICNkZWZp bmUgUEFDS0FHRV9OQU1FICJnbGliIgp8ICNkZWZpbmUgUEFDS0FHRV9UQVJOQU1FICJnbGliIgp8 ICNkZWZpbmUgUEFDS0FHRV9WRVJTSU9OICIyLjIwLjUiCnwgI2RlZmluZSBQQUNLQUdFX1NUUklO RyAiZ2xpYiAyLjIwLjUiCnwgI2RlZmluZSBQQUNLQUdFX0JVR1JFUE9SVCAiaHR0cDovL2J1Z3pp bGxhLmdub21lLm9yZy9lbnRlcl9idWcuY2dpP3Byb2R1Y3Q9Z2xpYiIKfCAjZGVmaW5lIEdMSUJf TUFKT1JfVkVSU0lPTiAyCnwgI2RlZmluZSBHTElCX01JTk9SX1ZFUlNJT04gMjAKfCAjZGVmaW5l IEdMSUJfTUlDUk9fVkVSU0lPTiA1CnwgI2RlZmluZSBHTElCX0lOVEVSRkFDRV9BR0UgNQp8ICNk ZWZpbmUgR0xJQl9CSU5BUllfQUdFIDIwMDUKfCAjZGVmaW5lIE5FRURfSUNPTlZfQ0FDSEUgMQp8 ICNkZWZpbmUgU1REQ19IRUFERVJTIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1RZUEVTX0ggMQp8ICNk ZWZpbmUgSEFWRV9TWVNfU1RBVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1RETElCX0ggMQp8ICNkZWZp bmUgSEFWRV9TVFJJTkdfSCAxCnwgI2RlZmluZSBIQVZFX01FTU9SWV9IIDEKfCAjZGVmaW5lIEhB VkVfU1RSSU5HU19IIDEKfCAjZGVmaW5lIEhBVkVfSU5UVFlQRVNfSCAxCnwgI2RlZmluZSBIQVZF X1NURElOVF9IIDEKfCAjZGVmaW5lIEhBVkVfVU5JU1REX0ggMQp8ICNkZWZpbmUgSEFWRV9MT0NB TEVfSCAxCnwgI2RlZmluZSBIQVZFX0xDX01FU1NBR0VTIDEKfCAjZGVmaW5lIEhBVkVfQklORF9U RVhURE9NQUlOX0NPREVTRVQgMQp8ICNkZWZpbmUgSEFWRV9HRVRURVhUIDEKfCAjZGVmaW5lIEhB VkVfRENHRVRURVhUIDEKfCAjZGVmaW5lIEVOQUJMRV9OTFMgMQp8ICNkZWZpbmUgR0VUVEVYVF9Q QUNLQUdFICJnbGliMjAiCnwgI2RlZmluZSBHTElCX0xPQ0FMRV9ESVIgIi91c3IvbG9jYWwvc2hh cmUvbG9jYWxlIgp8ICNkZWZpbmUgVVNFX0xJQklDT05WX0dOVSAxCnwgI2RlZmluZSBIQVZFX0RM RkNOX0ggMQp8ICNkZWZpbmUgTFRfT0JKRElSICIubGlicy8iCnwgI2RlZmluZSBTVERDX0hFQURF UlMgMQp8ICNkZWZpbmUgSEFWRV9WUFJJTlRGIDEKfCAjZGVmaW5lIEhBVkVfQUxMT0NBIDEKfCAj ZGVmaW5lIEhBVkVfTU1BUCAxCnwgI2RlZmluZSBIQVZFX1BPU0lYX01FTUFMSUdOIDEKfCAjZGVm aW5lIEhBVkVfVkFMTE9DIDEKfCAjZGVmaW5lIEhBVkVfRlNZTkMgMQp8ICNkZWZpbmUgSEFWRV9B VEVYSVQgMQp8ICNkZWZpbmUgSEFWRV9USU1FR00gMQp8ICNkZWZpbmUgSEFWRV9HTVRJTUVfUiAx CnwgI2RlZmluZSBTSVpFT0ZfQ0hBUiAxCnwgI2RlZmluZSBTSVpFT0ZfU0hPUlQgMgp8ICNkZWZp bmUgU0laRU9GX0xPTkcgOAp8ICNkZWZpbmUgU0laRU9GX0lOVCA0CnwgI2RlZmluZSBTSVpFT0Zf Vk9JRF9QIDgKfCAjZGVmaW5lIFNJWkVPRl9MT05HX0xPTkcgOAp8ICNkZWZpbmUgU0laRU9GX19f SU5UNjQgMAp8ICNkZWZpbmUgSEFWRV9MT05HX0xPTkdfRk9STUFUIDEKfCAjZGVmaW5lIFNBTkVf TUFMTE9DX1BST1RPUyAxCnwgI2RlZmluZSBHX0hBVkVfX19JTkxJTkUgMQp8ICNkZWZpbmUgR19I QVZFX19fSU5MSU5FX18gMQp8ICNkZWZpbmUgR19IQVZFX0lOTElORSAxCnwgI2RlZmluZSBIQVZF X0RPV0hJTEVfTUFDUk9TIDEKfCAjZGVmaW5lIEhBVkVfRElSRU5UX0ggMQp8ICNkZWZpbmUgSEFW RV9GTE9BVF9IIDEKfCAjZGVmaW5lIEhBVkVfTElNSVRTX0ggMQp8ICNkZWZpbmUgSEFWRV9QV0Rf SCAxCnwgI2RlZmluZSBIQVZFX0dSUF9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1BBUkFNX0ggMQp8 ICNkZWZpbmUgSEFWRV9TWVNfUE9MTF9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1JFU09VUkNFX0gg MQp8ICNkZWZpbmUgSEFWRV9TWVNfVElNRV9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1RJTUVTX0gg MQp8ICNkZWZpbmUgSEFWRV9TWVNfV0FJVF9IIDEKfCAjZGVmaW5lIEhBVkVfVU5JU1REX0ggMQp8 ICNkZWZpbmUgSEFWRV9TWVNfU0VMRUNUX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfVFlQRVNfSCAx CnwgI2RlZmluZSBIQVZFX1NURElOVF9IIDEKfCAjZGVmaW5lIEhBVkVfU0NIRURfSCAxCnwgI2Rl ZmluZSBIQVZFX1NZU19NT1VOVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NUQVRWRlNfSCAxCnwg I2RlZmluZSBIQVZFX1NZU19TWVNDVExfSCAxCnwgI2RlZmluZSBIQVZFX0ZTVEFCX0ggMQp8ICNk ZWZpbmUgSEFWRV9TVFJVQ1RfU1RBVF9TVF9CTEtTSVpFIDEKfCAjZGVmaW5lIEhBVkVfU1RSVUNU X1NUQVRfU1RfQkxPQ0tTIDEKfCAjZGVmaW5lIEhBVkVfU1RSVUNUX1NUQVRGU19GX0ZTVFlQRU5B TUUgMQp8ICNkZWZpbmUgSEFWRV9TVFJVQ1RfU1RBVEZTX0ZfQkFWQUlMIDEKfCAjZGVmaW5lIEhB VkVfTEFOR0lORk9fQ09ERVNFVCAxCnwgI2RlZmluZSBIQVZFX1NURERFRl9IIDEKfCAjZGVmaW5l IEhBVkVfU1RETElCX0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJJTkdfSCAxCnwgI2RlZmluZSBIQVZF X1NFVExPQ0FMRSAxCnwgI2RlZmluZSBTSVpFT0ZfU0laRV9UIDgKfCAjZGVmaW5lIEhBVkVfTFNU QVQgMQp8ICNkZWZpbmUgSEFWRV9TVFJFUlJPUiAxCnwgI2RlZmluZSBIQVZFX1NUUlNJR05BTCAx CnwgI2RlZmluZSBIQVZFX01FTU1PVkUgMQp8ICNkZWZpbmUgSEFWRV9WU05QUklOVEYgMQp8ICNk ZWZpbmUgSEFWRV9TVFBDUFkgMQp8ICNkZWZpbmUgSEFWRV9TVFJDQVNFQ01QIDEKfCAjZGVmaW5l IEhBVkVfU1RSTkNBU0VDTVAgMQp8ICNkZWZpbmUgSEFWRV9QT0xMIDEKfCAjZGVmaW5lIEhBVkVf R0VUQ1dEIDEKfCAjZGVmaW5lIEhBVkVfVkFTUFJJTlRGIDEKfCAjZGVmaW5lIEhBVkVfU0VURU5W IDEKfCAjZGVmaW5lIEhBVkVfVU5TRVRFTlYgMQp8ICNkZWZpbmUgSEFWRV9HRVRDX1VOTE9DS0VE IDEKfCAjZGVmaW5lIEhBVkVfUkVBRExJTksgMQp8ICNkZWZpbmUgSEFWRV9TWU1MSU5LIDEKfCAj ZGVmaW5lIEhBVkVfQ0hPV04gMQp8ICNkZWZpbmUgSEFWRV9MQ0hPV04gMQp8ICNkZWZpbmUgSEFW RV9GQ0hNT0QgMQp8ICNkZWZpbmUgSEFWRV9GQ0hPV04gMQp8ICNkZWZpbmUgSEFWRV9MSU5LIDEK fCAjZGVmaW5lIEhBVkVfU1RBVFZGUyAxCnwgI2RlZmluZSBIQVZFX1NUQVRGUyAxCnwgI2RlZmlu ZSBIQVZFX1VUSU1FUyAxCnwgI2RlZmluZSBIQVZFX0dFVEdSR0lEIDEKfCAjZGVmaW5lIEhBVkVf R0VUUFdVSUQgMQp8ICNkZWZpbmUgSEFWRV9TWVNDVExCWU5BTUUgMQp8ICNkZWZpbmUgSEFWRV9H RVRNTlRJTkZPIDEKfCAjZGVmaW5lIEhBVkVfTkFOT1NMRUVQIDEKfCAjZGVmaW5lIEhBVkVfQzk5 X1ZTTlBSSU5URiAxCnwgI2RlZmluZSBIQVZFX1VOSVg5OF9QUklOVEYgMQp8ICNkZWZpbmUgU1RB VEZTX0FSR1MgMgp8ICNkZWZpbmUgSEFWRV9HT09EX1BSSU5URiAxCnwgI2RlZmluZSBIQVZFX0xP TkdfTE9ORyAxCnwgI2RlZmluZSBIQVZFX0xPTkdfRE9VQkxFIDEKfCAjZGVmaW5lIEhBVkVfV0NI QVJfVCAxCnwgI2RlZmluZSBIQVZFX1dJTlRfVCAxCnwgI2RlZmluZSBIQVZFX1BUUkRJRkZfVCAx CnwgI2RlZmluZSBIQVZFX0lOVFRZUEVTX0hfV0lUSF9VSU5UTUFYIDEKfCAjZGVmaW5lIEhBVkVf U1RESU5UX0hfV0lUSF9VSU5UTUFYIDEKfCAjZGVmaW5lIEhBVkVfSU5UTUFYX1QgMQp8ICNkZWZp bmUgSEFWRV9TTlBSSU5URiAxCnwgI2RlZmluZSBIQVZFX1dDU0xFTiAxCnwgI2RlZmluZSBIQVZF X0M5OV9TTlBSSU5URiAxCnwgI2RlZmluZSBSRUFMTE9DXzBfV09SS1MgMQp8ICNkZWZpbmUgSEFW RV9DT0RFU0VUIDEKfCAjZGVmaW5lIFBPU0lYX01FTUFMSUdOX1dJVEhfQ09NUExJQU5UX0FMTE9D UyAxCnwgI2RlZmluZSBIQVZFX1NUUkxDUFkgMQp8ICNkZWZpbmUgR19WQV9DT1BZIHZhX2NvcHkK fCAvKiBlbmQgY29uZmRlZnMuaC4gICovCnwgI2luY2x1ZGUgPHN0ZGFyZy5oPgp8ICNpbmNsdWRl IDxzdGRsaWIuaD4KfCAJdm9pZCBmIChpbnQgaSwgLi4uKSB7CnwgCXZhX2xpc3QgYXJnczEsIGFy Z3MyOwp8IAl2YV9zdGFydCAoYXJnczEsIGkpOwp8IAlhcmdzMiA9IGFyZ3MxOwp8IAlpZiAodmFf YXJnIChhcmdzMiwgaW50KSAhPSA0MiB8fCB2YV9hcmcgKGFyZ3MxLCBpbnQpICE9IDQyKQp8IAkg IGV4aXQgKDEpOwp8IAl2YV9lbmQgKGFyZ3MxKTsgdmFfZW5kIChhcmdzMik7CnwgCX0KfCAJaW50 IG1haW4oKSB7CnwgCSAgZiAoMCwgNDIpOwp8IAkgIHJldHVybiAwOwp8IAl9CmNvbmZpZ3VyZToz NDA2OTogcmVzdWx0OiBubwpjb25maWd1cmU6MzQxMDM6IGNoZWNraW5nIGZvciBkbG9wZW4KY29u ZmlndXJlOjM0MTU5OiBjYyAtbyBjb25mdGVzdCAtTzIgLWZuby1zdHJpY3QtYWxpYXNpbmcgLXBp cGUgLVdhbGwgLUkvdXNyL2xvY2FsL2luY2x1ZGUgLURHX0RJU0FCTEVfU0lOR0xFX0lOQ0xVREVT IC1ML3Vzci9sb2NhbC9saWIgLWxpbnRsIGNvbmZ0ZXN0LmMgICA+JjUKY29uZmlndXJlOjM0MTY2 OiAkPyA9IDAKY29uZmlndXJlOjM0MTg2OiByZXN1bHQ6IHllcwpjb25maWd1cmU6MzQxODk6IGNo ZWNraW5nIGZvciBkbHN5bQpjb25maWd1cmU6MzQyNDU6IGNjIC1vIGNvbmZ0ZXN0IC1PMiAtZm5v LXN0cmljdC1hbGlhc2luZyAtcGlwZSAtV2FsbCAtSS91c3IvbG9jYWwvaW5jbHVkZSAtREdfRElT QUJMRV9TSU5HTEVfSU5DTFVERVMgLUwvdXNyL2xvY2FsL2xpYiAtbGludGwgY29uZnRlc3QuYyAg ID4mNQpjb25maWd1cmU6MzQyNTI6ICQ/ID0gMApjb25maWd1cmU6MzQyNzI6IHJlc3VsdDogeWVz CmNvbmZpZ3VyZTozNDY2NzogY2hlY2tpbmcgZm9yIFJUTERfR0xPQkFMIGJyb2tlbm5lc3MKY29u ZmlndXJlOjM0NzA2OiBjYyAtbyBjb25mdGVzdCAtTzIgLWZuby1zdHJpY3QtYWxpYXNpbmcgLXBp cGUgLVdhbGwgLUkvdXNyL2xvY2FsL2luY2x1ZGUgLURHX0RJU0FCTEVfU0lOR0xFX0lOQ0xVREVT IC1ML3Vzci9sb2NhbC9saWIgLWxpbnRsIC1XbCwtLWV4cG9ydC1keW5hbWljIGNvbmZ0ZXN0LmMg ICAgPiY1CmNvbmZpZ3VyZTozNDcxMDogJD8gPSAwCmNvbmZpZ3VyZTozNDcxNjogLi9jb25mdGVz dApjb25maWd1cmU6MzQ3MjA6ICQ/ID0gMApjb25maWd1cmU6MzQ3NDA6IHJlc3VsdDogbm8KY29u ZmlndXJlOjM0NzQ3OiBjaGVja2luZyBmb3IgcHJlY2VlZGluZyB1bmRlcnNjb3JlIGluIHN5bWJv bHMKY29uZmlndXJlOjM0Nzg1OiBjYyAtbyBjb25mdGVzdCAtTzIgLWZuby1zdHJpY3QtYWxpYXNp bmcgLXBpcGUgLVdhbGwgLUkvdXNyL2xvY2FsL2luY2x1ZGUgLURHX0RJU0FCTEVfU0lOR0xFX0lO Q0xVREVTIC1ML3Vzci9sb2NhbC9saWIgLWxpbnRsIC1XbCwtLWV4cG9ydC1keW5hbWljIGNvbmZ0 ZXN0LmMgICAgPiY1CmNvbmZpZ3VyZTozNDc4OTogJD8gPSAwCmNvbmZpZ3VyZTozNDc5NTogLi9j b25mdGVzdApjb25maWd1cmU6MzQ3OTk6ICQ/ID0gMQpjb25maWd1cmU6IHByb2dyYW0gZXhpdGVk IHdpdGggc3RhdHVzIDEKY29uZmlndXJlOiBmYWlsZWQgcHJvZ3JhbSB3YXM6CnwgLyogY29uZmRl ZnMuaC4gICovCnwgI2RlZmluZSBQQUNLQUdFX05BTUUgImdsaWIiCnwgI2RlZmluZSBQQUNLQUdF X1RBUk5BTUUgImdsaWIiCnwgI2RlZmluZSBQQUNLQUdFX1ZFUlNJT04gIjIuMjAuNSIKfCAjZGVm aW5lIFBBQ0tBR0VfU1RSSU5HICJnbGliIDIuMjAuNSIKfCAjZGVmaW5lIFBBQ0tBR0VfQlVHUkVQ T1JUICJodHRwOi8vYnVnemlsbGEuZ25vbWUub3JnL2VudGVyX2J1Zy5jZ2k/cHJvZHVjdD1nbGli Igp8ICNkZWZpbmUgR0xJQl9NQUpPUl9WRVJTSU9OIDIKfCAjZGVmaW5lIEdMSUJfTUlOT1JfVkVS U0lPTiAyMAp8ICNkZWZpbmUgR0xJQl9NSUNST19WRVJTSU9OIDUKfCAjZGVmaW5lIEdMSUJfSU5U RVJGQUNFX0FHRSA1CnwgI2RlZmluZSBHTElCX0JJTkFSWV9BR0UgMjAwNQp8ICNkZWZpbmUgTkVF RF9JQ09OVl9DQUNIRSAxCnwgI2RlZmluZSBTVERDX0hFQURFUlMgMQp8ICNkZWZpbmUgSEFWRV9T WVNfVFlQRVNfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19TVEFUX0ggMQp8ICNkZWZpbmUgSEFWRV9T VERMSUJfSCAxCnwgI2RlZmluZSBIQVZFX1NUUklOR19IIDEKfCAjZGVmaW5lIEhBVkVfTUVNT1JZ X0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJJTkdTX0ggMQp8ICNkZWZpbmUgSEFWRV9JTlRUWVBFU19I IDEKfCAjZGVmaW5lIEhBVkVfU1RESU5UX0ggMQp8ICNkZWZpbmUgSEFWRV9VTklTVERfSCAxCnwg I2RlZmluZSBIQVZFX0xPQ0FMRV9IIDEKfCAjZGVmaW5lIEhBVkVfTENfTUVTU0FHRVMgMQp8ICNk ZWZpbmUgSEFWRV9CSU5EX1RFWFRET01BSU5fQ09ERVNFVCAxCnwgI2RlZmluZSBIQVZFX0dFVFRF WFQgMQp8ICNkZWZpbmUgSEFWRV9EQ0dFVFRFWFQgMQp8ICNkZWZpbmUgRU5BQkxFX05MUyAxCnwg I2RlZmluZSBHRVRURVhUX1BBQ0tBR0UgImdsaWIyMCIKfCAjZGVmaW5lIEdMSUJfTE9DQUxFX0RJ UiAiL3Vzci9sb2NhbC9zaGFyZS9sb2NhbGUiCnwgI2RlZmluZSBVU0VfTElCSUNPTlZfR05VIDEK fCAjZGVmaW5lIEhBVkVfRExGQ05fSCAxCnwgI2RlZmluZSBMVF9PQkpESVIgIi5saWJzLyIKfCAj ZGVmaW5lIFNURENfSEVBREVSUyAxCnwgI2RlZmluZSBIQVZFX1ZQUklOVEYgMQp8ICNkZWZpbmUg SEFWRV9BTExPQ0EgMQp8ICNkZWZpbmUgSEFWRV9NTUFQIDEKfCAjZGVmaW5lIEhBVkVfUE9TSVhf TUVNQUxJR04gMQp8ICNkZWZpbmUgSEFWRV9WQUxMT0MgMQp8ICNkZWZpbmUgSEFWRV9GU1lOQyAx CnwgI2RlZmluZSBIQVZFX0FURVhJVCAxCnwgI2RlZmluZSBIQVZFX1RJTUVHTSAxCnwgI2RlZmlu ZSBIQVZFX0dNVElNRV9SIDEKfCAjZGVmaW5lIFNJWkVPRl9DSEFSIDEKfCAjZGVmaW5lIFNJWkVP Rl9TSE9SVCAyCnwgI2RlZmluZSBTSVpFT0ZfTE9ORyA4CnwgI2RlZmluZSBTSVpFT0ZfSU5UIDQK fCAjZGVmaW5lIFNJWkVPRl9WT0lEX1AgOAp8ICNkZWZpbmUgU0laRU9GX0xPTkdfTE9ORyA4Cnwg I2RlZmluZSBTSVpFT0ZfX19JTlQ2NCAwCnwgI2RlZmluZSBIQVZFX0xPTkdfTE9OR19GT1JNQVQg MQp8ICNkZWZpbmUgU0FORV9NQUxMT0NfUFJPVE9TIDEKfCAjZGVmaW5lIEdfSEFWRV9fX0lOTElO RSAxCnwgI2RlZmluZSBHX0hBVkVfX19JTkxJTkVfXyAxCnwgI2RlZmluZSBHX0hBVkVfSU5MSU5F IDEKfCAjZGVmaW5lIEhBVkVfRE9XSElMRV9NQUNST1MgMQp8ICNkZWZpbmUgSEFWRV9ESVJFTlRf SCAxCnwgI2RlZmluZSBIQVZFX0ZMT0FUX0ggMQp8ICNkZWZpbmUgSEFWRV9MSU1JVFNfSCAxCnwg I2RlZmluZSBIQVZFX1BXRF9IIDEKfCAjZGVmaW5lIEhBVkVfR1JQX0ggMQp8ICNkZWZpbmUgSEFW RV9TWVNfUEFSQU1fSCAxCnwgI2RlZmluZSBIQVZFX1NZU19QT0xMX0ggMQp8ICNkZWZpbmUgSEFW RV9TWVNfUkVTT1VSQ0VfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19USU1FX0ggMQp8ICNkZWZpbmUg SEFWRV9TWVNfVElNRVNfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19XQUlUX0ggMQp8ICNkZWZpbmUg SEFWRV9VTklTVERfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19TRUxFQ1RfSCAxCnwgI2RlZmluZSBI QVZFX1NZU19UWVBFU19IIDEKfCAjZGVmaW5lIEhBVkVfU1RESU5UX0ggMQp8ICNkZWZpbmUgSEFW RV9TQ0hFRF9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX01PVU5UX0ggMQp8ICNkZWZpbmUgSEFWRV9T WVNfU1RBVFZGU19IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NZU0NUTF9IIDEKfCAjZGVmaW5lIEhB VkVfRlNUQUJfSCAxCnwgI2RlZmluZSBIQVZFX1NUUlVDVF9TVEFUX1NUX0JMS1NJWkUgMQp8ICNk ZWZpbmUgSEFWRV9TVFJVQ1RfU1RBVF9TVF9CTE9DS1MgMQp8ICNkZWZpbmUgSEFWRV9TVFJVQ1Rf U1RBVEZTX0ZfRlNUWVBFTkFNRSAxCnwgI2RlZmluZSBIQVZFX1NUUlVDVF9TVEFURlNfRl9CQVZB SUwgMQp8ICNkZWZpbmUgSEFWRV9MQU5HSU5GT19DT0RFU0VUIDEKfCAjZGVmaW5lIEhBVkVfU1RE REVGX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERMSUJfSCAxCnwgI2RlZmluZSBIQVZFX1NUUklOR19I IDEKfCAjZGVmaW5lIEhBVkVfU0VUTE9DQUxFIDEKfCAjZGVmaW5lIFNJWkVPRl9TSVpFX1QgOAp8 ICNkZWZpbmUgSEFWRV9MU1RBVCAxCnwgI2RlZmluZSBIQVZFX1NUUkVSUk9SIDEKfCAjZGVmaW5l IEhBVkVfU1RSU0lHTkFMIDEKfCAjZGVmaW5lIEhBVkVfTUVNTU9WRSAxCnwgI2RlZmluZSBIQVZF X1ZTTlBSSU5URiAxCnwgI2RlZmluZSBIQVZFX1NUUENQWSAxCnwgI2RlZmluZSBIQVZFX1NUUkNB U0VDTVAgMQp8ICNkZWZpbmUgSEFWRV9TVFJOQ0FTRUNNUCAxCnwgI2RlZmluZSBIQVZFX1BPTEwg MQp8ICNkZWZpbmUgSEFWRV9HRVRDV0QgMQp8ICNkZWZpbmUgSEFWRV9WQVNQUklOVEYgMQp8ICNk ZWZpbmUgSEFWRV9TRVRFTlYgMQp8ICNkZWZpbmUgSEFWRV9VTlNFVEVOViAxCnwgI2RlZmluZSBI QVZFX0dFVENfVU5MT0NLRUQgMQp8ICNkZWZpbmUgSEFWRV9SRUFETElOSyAxCnwgI2RlZmluZSBI QVZFX1NZTUxJTksgMQp8ICNkZWZpbmUgSEFWRV9DSE9XTiAxCnwgI2RlZmluZSBIQVZFX0xDSE9X TiAxCnwgI2RlZmluZSBIQVZFX0ZDSE1PRCAxCnwgI2RlZmluZSBIQVZFX0ZDSE9XTiAxCnwgI2Rl ZmluZSBIQVZFX0xJTksgMQp8ICNkZWZpbmUgSEFWRV9TVEFUVkZTIDEKfCAjZGVmaW5lIEhBVkVf U1RBVEZTIDEKfCAjZGVmaW5lIEhBVkVfVVRJTUVTIDEKfCAjZGVmaW5lIEhBVkVfR0VUR1JHSUQg MQp8ICNkZWZpbmUgSEFWRV9HRVRQV1VJRCAxCnwgI2RlZmluZSBIQVZFX1NZU0NUTEJZTkFNRSAx CnwgI2RlZmluZSBIQVZFX0dFVE1OVElORk8gMQp8ICNkZWZpbmUgSEFWRV9OQU5PU0xFRVAgMQp8 ICNkZWZpbmUgSEFWRV9DOTlfVlNOUFJJTlRGIDEKfCAjZGVmaW5lIEhBVkVfVU5JWDk4X1BSSU5U RiAxCnwgI2RlZmluZSBTVEFURlNfQVJHUyAyCnwgI2RlZmluZSBIQVZFX0dPT0RfUFJJTlRGIDEK fCAjZGVmaW5lIEhBVkVfTE9OR19MT05HIDEKfCAjZGVmaW5lIEhBVkVfTE9OR19ET1VCTEUgMQp8 ICNkZWZpbmUgSEFWRV9XQ0hBUl9UIDEKfCAjZGVmaW5lIEhBVkVfV0lOVF9UIDEKfCAjZGVmaW5l IEhBVkVfUFRSRElGRl9UIDEKfCAjZGVmaW5lIEhBVkVfSU5UVFlQRVNfSF9XSVRIX1VJTlRNQVgg MQp8ICNkZWZpbmUgSEFWRV9TVERJTlRfSF9XSVRIX1VJTlRNQVggMQp8ICNkZWZpbmUgSEFWRV9J TlRNQVhfVCAxCnwgI2RlZmluZSBIQVZFX1NOUFJJTlRGIDEKfCAjZGVmaW5lIEhBVkVfV0NTTEVO IDEKfCAjZGVmaW5lIEhBVkVfQzk5X1NOUFJJTlRGIDEKfCAjZGVmaW5lIFJFQUxMT0NfMF9XT1JL UyAxCnwgI2RlZmluZSBIQVZFX0NPREVTRVQgMQp8ICNkZWZpbmUgUE9TSVhfTUVNQUxJR05fV0lU SF9DT01QTElBTlRfQUxMT0NTIDEKfCAjZGVmaW5lIEhBVkVfU1RSTENQWSAxCnwgI2RlZmluZSBH X1ZBX0NPUFkgdmFfY29weQp8ICNkZWZpbmUgR19WQV9DT1BZX0FTX0FSUkFZIDEKfCAvKiBlbmQg Y29uZmRlZnMuaC4gICovCnwgI2luY2x1ZGUgPGRsZmNuLmg+CnwgICAgICAgICAgICAgICAgIGlu dCBnbGliX3VuZGVyc2NvcmVfdGVzdCAodm9pZCkgeyByZXR1cm4gNDI7IH0KfCAJCWludCBtYWlu KCkgewp8IAkJICB2b2lkICpmMSA9ICh2b2lkKikwLCAqZjIgPSAodm9pZCopMCwgKmhhbmRsZTsK fCAJCSAgaGFuZGxlID0gZGxvcGVuICgodm9pZCopMCwgMCk7CnwgCQkgIGlmIChoYW5kbGUpIHsK fCAJCSAgICBmMSA9IGRsc3ltIChoYW5kbGUsICJnbGliX3VuZGVyc2NvcmVfdGVzdCIpOwp8IAkJ ICAgIGYyID0gZGxzeW0gKGhhbmRsZSwgIl9nbGliX3VuZGVyc2NvcmVfdGVzdCIpOwp8IAkJICB9 IHJldHVybiAoIWYyIHx8IGYxKTsKfCAJCX0KY29uZmlndXJlOjM0ODE4OiByZXN1bHQ6IG5vCmNv bmZpZ3VyZTozNDgzMzogY2hlY2tpbmcgZm9yIGRsZXJyb3IKY29uZmlndXJlOjM0ODg5OiBjYyAt byBjb25mdGVzdCAtTzIgLWZuby1zdHJpY3QtYWxpYXNpbmcgLXBpcGUgLVdhbGwgLUkvdXNyL2xv Y2FsL2luY2x1ZGUgLURHX0RJU0FCTEVfU0lOR0xFX0lOQ0xVREVTIC1ML3Vzci9sb2NhbC9saWIg LWxpbnRsIGNvbmZ0ZXN0LmMgICAgPiY1CmNvbmZpZ3VyZTozNDg5NjogJD8gPSAwCmNvbmZpZ3Vy ZTozNDkxNjogcmVzdWx0OiB5ZXMKY29uZmlndXJlOjM0OTMzOiBjaGVja2luZyBmb3IgdGhlIHN1 ZmZpeCBvZiBtb2R1bGUgc2hhcmVkIGxpYnJhcmllcwpjb25maWd1cmU6MzQ5NDE6IHJlc3VsdDog LnNvCmNvbmZpZ3VyZTozNDk2MjogY2hlY2tpbmcgZm9yIGdzcGF3biBpbXBsZW1lbnRhdGlvbgpj b25maWd1cmU6MzQ5NzI6IHJlc3VsdDogZ3NwYXduLmxvCmNvbmZpZ3VyZTozNDk3NzogY2hlY2tp bmcgZm9yIEdJT0NoYW5uZWwgaW1wbGVtZW50YXRpb24KY29uZmlndXJlOjM0OTg3OiByZXN1bHQ6 IGdpb3VuaXgubG8KY29uZmlndXJlOjM1MDEyOiBjaGVja2luZyBmb3IgaXNfc2VsaW51eF9lbmFi bGVkIGluIC1sc2VsaW51eApjb25maWd1cmU6MzUwNDc6IGNjIC1vIGNvbmZ0ZXN0IC1PMiAtZm5v LXN0cmljdC1hbGlhc2luZyAtcGlwZSAtV2FsbCAtSS91c3IvbG9jYWwvaW5jbHVkZSAtREdfRElT QUJMRV9TSU5HTEVfSU5DTFVERVMgLUwvdXNyL2xvY2FsL2xpYiAtbGludGwgY29uZnRlc3QuYyAt bHNlbGludXggICAgPiY1Ci91c3IvYmluL2xkOiBjYW5ub3QgZmluZCAtbHNlbGludXgKY29uZmln dXJlOjM1MDU0OiAkPyA9IDEKY29uZmlndXJlOiBmYWlsZWQgcHJvZ3JhbSB3YXM6CnwgLyogY29u ZmRlZnMuaC4gICovCnwgI2RlZmluZSBQQUNLQUdFX05BTUUgImdsaWIiCnwgI2RlZmluZSBQQUNL QUdFX1RBUk5BTUUgImdsaWIiCnwgI2RlZmluZSBQQUNLQUdFX1ZFUlNJT04gIjIuMjAuNSIKfCAj ZGVmaW5lIFBBQ0tBR0VfU1RSSU5HICJnbGliIDIuMjAuNSIKfCAjZGVmaW5lIFBBQ0tBR0VfQlVH UkVQT1JUICJodHRwOi8vYnVnemlsbGEuZ25vbWUub3JnL2VudGVyX2J1Zy5jZ2k/cHJvZHVjdD1n bGliIgp8ICNkZWZpbmUgR0xJQl9NQUpPUl9WRVJTSU9OIDIKfCAjZGVmaW5lIEdMSUJfTUlOT1Jf VkVSU0lPTiAyMAp8ICNkZWZpbmUgR0xJQl9NSUNST19WRVJTSU9OIDUKfCAjZGVmaW5lIEdMSUJf SU5URVJGQUNFX0FHRSA1CnwgI2RlZmluZSBHTElCX0JJTkFSWV9BR0UgMjAwNQp8ICNkZWZpbmUg TkVFRF9JQ09OVl9DQUNIRSAxCnwgI2RlZmluZSBTVERDX0hFQURFUlMgMQp8ICNkZWZpbmUgSEFW RV9TWVNfVFlQRVNfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19TVEFUX0ggMQp8ICNkZWZpbmUgSEFW RV9TVERMSUJfSCAxCnwgI2RlZmluZSBIQVZFX1NUUklOR19IIDEKfCAjZGVmaW5lIEhBVkVfTUVN T1JZX0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJJTkdTX0ggMQp8ICNkZWZpbmUgSEFWRV9JTlRUWVBF U19IIDEKfCAjZGVmaW5lIEhBVkVfU1RESU5UX0ggMQp8ICNkZWZpbmUgSEFWRV9VTklTVERfSCAx CnwgI2RlZmluZSBIQVZFX0xPQ0FMRV9IIDEKfCAjZGVmaW5lIEhBVkVfTENfTUVTU0FHRVMgMQp8 ICNkZWZpbmUgSEFWRV9CSU5EX1RFWFRET01BSU5fQ09ERVNFVCAxCnwgI2RlZmluZSBIQVZFX0dF VFRFWFQgMQp8ICNkZWZpbmUgSEFWRV9EQ0dFVFRFWFQgMQp8ICNkZWZpbmUgRU5BQkxFX05MUyAx CnwgI2RlZmluZSBHRVRURVhUX1BBQ0tBR0UgImdsaWIyMCIKfCAjZGVmaW5lIEdMSUJfTE9DQUxF X0RJUiAiL3Vzci9sb2NhbC9zaGFyZS9sb2NhbGUiCnwgI2RlZmluZSBVU0VfTElCSUNPTlZfR05V IDEKfCAjZGVmaW5lIEhBVkVfRExGQ05fSCAxCnwgI2RlZmluZSBMVF9PQkpESVIgIi5saWJzLyIK fCAjZGVmaW5lIFNURENfSEVBREVSUyAxCnwgI2RlZmluZSBIQVZFX1ZQUklOVEYgMQp8ICNkZWZp bmUgSEFWRV9BTExPQ0EgMQp8ICNkZWZpbmUgSEFWRV9NTUFQIDEKfCAjZGVmaW5lIEhBVkVfUE9T SVhfTUVNQUxJR04gMQp8ICNkZWZpbmUgSEFWRV9WQUxMT0MgMQp8ICNkZWZpbmUgSEFWRV9GU1lO QyAxCnwgI2RlZmluZSBIQVZFX0FURVhJVCAxCnwgI2RlZmluZSBIQVZFX1RJTUVHTSAxCnwgI2Rl ZmluZSBIQVZFX0dNVElNRV9SIDEKfCAjZGVmaW5lIFNJWkVPRl9DSEFSIDEKfCAjZGVmaW5lIFNJ WkVPRl9TSE9SVCAyCnwgI2RlZmluZSBTSVpFT0ZfTE9ORyA4CnwgI2RlZmluZSBTSVpFT0ZfSU5U IDQKfCAjZGVmaW5lIFNJWkVPRl9WT0lEX1AgOAp8ICNkZWZpbmUgU0laRU9GX0xPTkdfTE9ORyA4 CnwgI2RlZmluZSBTSVpFT0ZfX19JTlQ2NCAwCnwgI2RlZmluZSBIQVZFX0xPTkdfTE9OR19GT1JN QVQgMQp8ICNkZWZpbmUgU0FORV9NQUxMT0NfUFJPVE9TIDEKfCAjZGVmaW5lIEdfSEFWRV9fX0lO TElORSAxCnwgI2RlZmluZSBHX0hBVkVfX19JTkxJTkVfXyAxCnwgI2RlZmluZSBHX0hBVkVfSU5M SU5FIDEKfCAjZGVmaW5lIEhBVkVfRE9XSElMRV9NQUNST1MgMQp8ICNkZWZpbmUgSEFWRV9ESVJF TlRfSCAxCnwgI2RlZmluZSBIQVZFX0ZMT0FUX0ggMQp8ICNkZWZpbmUgSEFWRV9MSU1JVFNfSCAx CnwgI2RlZmluZSBIQVZFX1BXRF9IIDEKfCAjZGVmaW5lIEhBVkVfR1JQX0ggMQp8ICNkZWZpbmUg SEFWRV9TWVNfUEFSQU1fSCAxCnwgI2RlZmluZSBIQVZFX1NZU19QT0xMX0ggMQp8ICNkZWZpbmUg SEFWRV9TWVNfUkVTT1VSQ0VfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19USU1FX0ggMQp8ICNkZWZp bmUgSEFWRV9TWVNfVElNRVNfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19XQUlUX0ggMQp8ICNkZWZp bmUgSEFWRV9VTklTVERfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19TRUxFQ1RfSCAxCnwgI2RlZmlu ZSBIQVZFX1NZU19UWVBFU19IIDEKfCAjZGVmaW5lIEhBVkVfU1RESU5UX0ggMQp8ICNkZWZpbmUg SEFWRV9TQ0hFRF9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX01PVU5UX0ggMQp8ICNkZWZpbmUgSEFW RV9TWVNfU1RBVFZGU19IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NZU0NUTF9IIDEKfCAjZGVmaW5l IEhBVkVfRlNUQUJfSCAxCnwgI2RlZmluZSBIQVZFX1NUUlVDVF9TVEFUX1NUX0JMS1NJWkUgMQp8 ICNkZWZpbmUgSEFWRV9TVFJVQ1RfU1RBVF9TVF9CTE9DS1MgMQp8ICNkZWZpbmUgSEFWRV9TVFJV Q1RfU1RBVEZTX0ZfRlNUWVBFTkFNRSAxCnwgI2RlZmluZSBIQVZFX1NUUlVDVF9TVEFURlNfRl9C QVZBSUwgMQp8ICNkZWZpbmUgSEFWRV9MQU5HSU5GT19DT0RFU0VUIDEKfCAjZGVmaW5lIEhBVkVf U1REREVGX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERMSUJfSCAxCnwgI2RlZmluZSBIQVZFX1NUUklO R19IIDEKfCAjZGVmaW5lIEhBVkVfU0VUTE9DQUxFIDEKfCAjZGVmaW5lIFNJWkVPRl9TSVpFX1Qg OAp8ICNkZWZpbmUgSEFWRV9MU1RBVCAxCnwgI2RlZmluZSBIQVZFX1NUUkVSUk9SIDEKfCAjZGVm aW5lIEhBVkVfU1RSU0lHTkFMIDEKfCAjZGVmaW5lIEhBVkVfTUVNTU9WRSAxCnwgI2RlZmluZSBI QVZFX1ZTTlBSSU5URiAxCnwgI2RlZmluZSBIQVZFX1NUUENQWSAxCnwgI2RlZmluZSBIQVZFX1NU UkNBU0VDTVAgMQp8ICNkZWZpbmUgSEFWRV9TVFJOQ0FTRUNNUCAxCnwgI2RlZmluZSBIQVZFX1BP TEwgMQp8ICNkZWZpbmUgSEFWRV9HRVRDV0QgMQp8ICNkZWZpbmUgSEFWRV9WQVNQUklOVEYgMQp8 ICNkZWZpbmUgSEFWRV9TRVRFTlYgMQp8ICNkZWZpbmUgSEFWRV9VTlNFVEVOViAxCnwgI2RlZmlu ZSBIQVZFX0dFVENfVU5MT0NLRUQgMQp8ICNkZWZpbmUgSEFWRV9SRUFETElOSyAxCnwgI2RlZmlu ZSBIQVZFX1NZTUxJTksgMQp8ICNkZWZpbmUgSEFWRV9DSE9XTiAxCnwgI2RlZmluZSBIQVZFX0xD SE9XTiAxCnwgI2RlZmluZSBIQVZFX0ZDSE1PRCAxCnwgI2RlZmluZSBIQVZFX0ZDSE9XTiAxCnwg I2RlZmluZSBIQVZFX0xJTksgMQp8ICNkZWZpbmUgSEFWRV9TVEFUVkZTIDEKfCAjZGVmaW5lIEhB VkVfU1RBVEZTIDEKfCAjZGVmaW5lIEhBVkVfVVRJTUVTIDEKfCAjZGVmaW5lIEhBVkVfR0VUR1JH SUQgMQp8ICNkZWZpbmUgSEFWRV9HRVRQV1VJRCAxCnwgI2RlZmluZSBIQVZFX1NZU0NUTEJZTkFN RSAxCnwgI2RlZmluZSBIQVZFX0dFVE1OVElORk8gMQp8ICNkZWZpbmUgSEFWRV9OQU5PU0xFRVAg MQp8ICNkZWZpbmUgSEFWRV9DOTlfVlNOUFJJTlRGIDEKfCAjZGVmaW5lIEhBVkVfVU5JWDk4X1BS SU5URiAxCnwgI2RlZmluZSBTVEFURlNfQVJHUyAyCnwgI2RlZmluZSBIQVZFX0dPT0RfUFJJTlRG IDEKfCAjZGVmaW5lIEhBVkVfTE9OR19MT05HIDEKfCAjZGVmaW5lIEhBVkVfTE9OR19ET1VCTEUg MQp8ICNkZWZpbmUgSEFWRV9XQ0hBUl9UIDEKfCAjZGVmaW5lIEhBVkVfV0lOVF9UIDEKfCAjZGVm aW5lIEhBVkVfUFRSRElGRl9UIDEKfCAjZGVmaW5lIEhBVkVfSU5UVFlQRVNfSF9XSVRIX1VJTlRN QVggMQp8ICNkZWZpbmUgSEFWRV9TVERJTlRfSF9XSVRIX1VJTlRNQVggMQp8ICNkZWZpbmUgSEFW RV9JTlRNQVhfVCAxCnwgI2RlZmluZSBIQVZFX1NOUFJJTlRGIDEKfCAjZGVmaW5lIEhBVkVfV0NT TEVOIDEKfCAjZGVmaW5lIEhBVkVfQzk5X1NOUFJJTlRGIDEKfCAjZGVmaW5lIFJFQUxMT0NfMF9X T1JLUyAxCnwgI2RlZmluZSBIQVZFX0NPREVTRVQgMQp8ICNkZWZpbmUgUE9TSVhfTUVNQUxJR05f V0lUSF9DT01QTElBTlRfQUxMT0NTIDEKfCAjZGVmaW5lIEhBVkVfU1RSTENQWSAxCnwgI2RlZmlu ZSBHX1ZBX0NPUFkgdmFfY29weQp8ICNkZWZpbmUgR19WQV9DT1BZX0FTX0FSUkFZIDEKfCAvKiBl bmQgY29uZmRlZnMuaC4gICovCnwgCnwgLyogT3ZlcnJpZGUgYW55IEdDQyBpbnRlcm5hbCBwcm90 b3R5cGUgdG8gYXZvaWQgYW4gZXJyb3IuCnwgICAgVXNlIGNoYXIgYmVjYXVzZSBpbnQgbWlnaHQg bWF0Y2ggdGhlIHJldHVybiB0eXBlIG9mIGEgR0NDCnwgICAgYnVpbHRpbiBhbmQgdGhlbiBpdHMg YXJndW1lbnQgcHJvdG90eXBlIHdvdWxkIHN0aWxsIGFwcGx5LiAgKi8KfCAjaWZkZWYgX19jcGx1 c3BsdXMKfCBleHRlcm4gIkMiCnwgI2VuZGlmCnwgY2hhciBpc19zZWxpbnV4X2VuYWJsZWQgKCk7 CnwgaW50CnwgbWFpbiAoKQp8IHsKfCByZXR1cm4gaXNfc2VsaW51eF9lbmFibGVkICgpOwp8ICAg Owp8ICAgcmV0dXJuIDA7CnwgfQpjb25maWd1cmU6MzUwNzU6IHJlc3VsdDogbm8KY29uZmlndXJl OjM1MzI3OiBjaGVja2luZyBzeXMvaW5vdGlmeS5oIHVzYWJpbGl0eQpjb25maWd1cmU6MzUzNDQ6 IGNjIC1jIC1PMiAtZm5vLXN0cmljdC1hbGlhc2luZyAtcGlwZSAtV2FsbCAtSS91c3IvbG9jYWwv aW5jbHVkZSAtREdfRElTQUJMRV9TSU5HTEVfSU5DTFVERVMgY29uZnRlc3QuYyA+JjUKY29uZnRl c3QuYzoxNzE6MjU6IGVycm9yOiBzeXMvaW5vdGlmeS5oOiBObyBzdWNoIGZpbGUgb3IgZGlyZWN0 b3J5CmNvbmZpZ3VyZTozNTM1MTogJD8gPSAxCmNvbmZpZ3VyZTogZmFpbGVkIHByb2dyYW0gd2Fz Ogp8IC8qIGNvbmZkZWZzLmguICAqLwp8ICNkZWZpbmUgUEFDS0FHRV9OQU1FICJnbGliIgp8ICNk ZWZpbmUgUEFDS0FHRV9UQVJOQU1FICJnbGliIgp8ICNkZWZpbmUgUEFDS0FHRV9WRVJTSU9OICIy LjIwLjUiCnwgI2RlZmluZSBQQUNLQUdFX1NUUklORyAiZ2xpYiAyLjIwLjUiCnwgI2RlZmluZSBQ QUNLQUdFX0JVR1JFUE9SVCAiaHR0cDovL2J1Z3ppbGxhLmdub21lLm9yZy9lbnRlcl9idWcuY2dp P3Byb2R1Y3Q9Z2xpYiIKfCAjZGVmaW5lIEdMSUJfTUFKT1JfVkVSU0lPTiAyCnwgI2RlZmluZSBH TElCX01JTk9SX1ZFUlNJT04gMjAKfCAjZGVmaW5lIEdMSUJfTUlDUk9fVkVSU0lPTiA1CnwgI2Rl ZmluZSBHTElCX0lOVEVSRkFDRV9BR0UgNQp8ICNkZWZpbmUgR0xJQl9CSU5BUllfQUdFIDIwMDUK fCAjZGVmaW5lIE5FRURfSUNPTlZfQ0FDSEUgMQp8ICNkZWZpbmUgU1REQ19IRUFERVJTIDEKfCAj ZGVmaW5lIEhBVkVfU1lTX1RZUEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfU1RBVF9IIDEKfCAj ZGVmaW5lIEhBVkVfU1RETElCX0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJJTkdfSCAxCnwgI2RlZmlu ZSBIQVZFX01FTU9SWV9IIDEKfCAjZGVmaW5lIEhBVkVfU1RSSU5HU19IIDEKfCAjZGVmaW5lIEhB VkVfSU5UVFlQRVNfSCAxCnwgI2RlZmluZSBIQVZFX1NURElOVF9IIDEKfCAjZGVmaW5lIEhBVkVf VU5JU1REX0ggMQp8ICNkZWZpbmUgSEFWRV9MT0NBTEVfSCAxCnwgI2RlZmluZSBIQVZFX0xDX01F U1NBR0VTIDEKfCAjZGVmaW5lIEhBVkVfQklORF9URVhURE9NQUlOX0NPREVTRVQgMQp8ICNkZWZp bmUgSEFWRV9HRVRURVhUIDEKfCAjZGVmaW5lIEhBVkVfRENHRVRURVhUIDEKfCAjZGVmaW5lIEVO QUJMRV9OTFMgMQp8ICNkZWZpbmUgR0VUVEVYVF9QQUNLQUdFICJnbGliMjAiCnwgI2RlZmluZSBH TElCX0xPQ0FMRV9ESVIgIi91c3IvbG9jYWwvc2hhcmUvbG9jYWxlIgp8ICNkZWZpbmUgVVNFX0xJ QklDT05WX0dOVSAxCnwgI2RlZmluZSBIQVZFX0RMRkNOX0ggMQp8ICNkZWZpbmUgTFRfT0JKRElS ICIubGlicy8iCnwgI2RlZmluZSBTVERDX0hFQURFUlMgMQp8ICNkZWZpbmUgSEFWRV9WUFJJTlRG IDEKfCAjZGVmaW5lIEhBVkVfQUxMT0NBIDEKfCAjZGVmaW5lIEhBVkVfTU1BUCAxCnwgI2RlZmlu ZSBIQVZFX1BPU0lYX01FTUFMSUdOIDEKfCAjZGVmaW5lIEhBVkVfVkFMTE9DIDEKfCAjZGVmaW5l IEhBVkVfRlNZTkMgMQp8ICNkZWZpbmUgSEFWRV9BVEVYSVQgMQp8ICNkZWZpbmUgSEFWRV9USU1F R00gMQp8ICNkZWZpbmUgSEFWRV9HTVRJTUVfUiAxCnwgI2RlZmluZSBTSVpFT0ZfQ0hBUiAxCnwg I2RlZmluZSBTSVpFT0ZfU0hPUlQgMgp8ICNkZWZpbmUgU0laRU9GX0xPTkcgOAp8ICNkZWZpbmUg U0laRU9GX0lOVCA0CnwgI2RlZmluZSBTSVpFT0ZfVk9JRF9QIDgKfCAjZGVmaW5lIFNJWkVPRl9M T05HX0xPTkcgOAp8ICNkZWZpbmUgU0laRU9GX19fSU5UNjQgMAp8ICNkZWZpbmUgSEFWRV9MT05H X0xPTkdfRk9STUFUIDEKfCAjZGVmaW5lIFNBTkVfTUFMTE9DX1BST1RPUyAxCnwgI2RlZmluZSBH X0hBVkVfX19JTkxJTkUgMQp8ICNkZWZpbmUgR19IQVZFX19fSU5MSU5FX18gMQp8ICNkZWZpbmUg R19IQVZFX0lOTElORSAxCnwgI2RlZmluZSBIQVZFX0RPV0hJTEVfTUFDUk9TIDEKfCAjZGVmaW5l IEhBVkVfRElSRU5UX0ggMQp8ICNkZWZpbmUgSEFWRV9GTE9BVF9IIDEKfCAjZGVmaW5lIEhBVkVf TElNSVRTX0ggMQp8ICNkZWZpbmUgSEFWRV9QV0RfSCAxCnwgI2RlZmluZSBIQVZFX0dSUF9IIDEK fCAjZGVmaW5lIEhBVkVfU1lTX1BBUkFNX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfUE9MTF9IIDEK fCAjZGVmaW5lIEhBVkVfU1lTX1JFU09VUkNFX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfVElNRV9I IDEKfCAjZGVmaW5lIEhBVkVfU1lTX1RJTUVTX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfV0FJVF9I IDEKfCAjZGVmaW5lIEhBVkVfVU5JU1REX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfU0VMRUNUX0gg MQp8ICNkZWZpbmUgSEFWRV9TWVNfVFlQRVNfSCAxCnwgI2RlZmluZSBIQVZFX1NURElOVF9IIDEK fCAjZGVmaW5lIEhBVkVfU0NIRURfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19NT1VOVF9IIDEKfCAj ZGVmaW5lIEhBVkVfU1lTX1NUQVRWRlNfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19TWVNDVExfSCAx CnwgI2RlZmluZSBIQVZFX0ZTVEFCX0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJVQ1RfU1RBVF9TVF9C TEtTSVpFIDEKfCAjZGVmaW5lIEhBVkVfU1RSVUNUX1NUQVRfU1RfQkxPQ0tTIDEKfCAjZGVmaW5l IEhBVkVfU1RSVUNUX1NUQVRGU19GX0ZTVFlQRU5BTUUgMQp8ICNkZWZpbmUgSEFWRV9TVFJVQ1Rf U1RBVEZTX0ZfQkFWQUlMIDEKfCAjZGVmaW5lIEhBVkVfTEFOR0lORk9fQ09ERVNFVCAxCnwgI2Rl ZmluZSBIQVZFX1NURERFRl9IIDEKfCAjZGVmaW5lIEhBVkVfU1RETElCX0ggMQp8ICNkZWZpbmUg SEFWRV9TVFJJTkdfSCAxCnwgI2RlZmluZSBIQVZFX1NFVExPQ0FMRSAxCnwgI2RlZmluZSBTSVpF T0ZfU0laRV9UIDgKfCAjZGVmaW5lIEhBVkVfTFNUQVQgMQp8ICNkZWZpbmUgSEFWRV9TVFJFUlJP UiAxCnwgI2RlZmluZSBIQVZFX1NUUlNJR05BTCAxCnwgI2RlZmluZSBIQVZFX01FTU1PVkUgMQp8 ICNkZWZpbmUgSEFWRV9WU05QUklOVEYgMQp8ICNkZWZpbmUgSEFWRV9TVFBDUFkgMQp8ICNkZWZp bmUgSEFWRV9TVFJDQVNFQ01QIDEKfCAjZGVmaW5lIEhBVkVfU1RSTkNBU0VDTVAgMQp8ICNkZWZp bmUgSEFWRV9QT0xMIDEKfCAjZGVmaW5lIEhBVkVfR0VUQ1dEIDEKfCAjZGVmaW5lIEhBVkVfVkFT UFJJTlRGIDEKfCAjZGVmaW5lIEhBVkVfU0VURU5WIDEKfCAjZGVmaW5lIEhBVkVfVU5TRVRFTlYg MQp8ICNkZWZpbmUgSEFWRV9HRVRDX1VOTE9DS0VEIDEKfCAjZGVmaW5lIEhBVkVfUkVBRExJTksg MQp8ICNkZWZpbmUgSEFWRV9TWU1MSU5LIDEKfCAjZGVmaW5lIEhBVkVfQ0hPV04gMQp8ICNkZWZp bmUgSEFWRV9MQ0hPV04gMQp8ICNkZWZpbmUgSEFWRV9GQ0hNT0QgMQp8ICNkZWZpbmUgSEFWRV9G Q0hPV04gMQp8ICNkZWZpbmUgSEFWRV9MSU5LIDEKfCAjZGVmaW5lIEhBVkVfU1RBVFZGUyAxCnwg I2RlZmluZSBIQVZFX1NUQVRGUyAxCnwgI2RlZmluZSBIQVZFX1VUSU1FUyAxCnwgI2RlZmluZSBI QVZFX0dFVEdSR0lEIDEKfCAjZGVmaW5lIEhBVkVfR0VUUFdVSUQgMQp8ICNkZWZpbmUgSEFWRV9T WVNDVExCWU5BTUUgMQp8ICNkZWZpbmUgSEFWRV9HRVRNTlRJTkZPIDEKfCAjZGVmaW5lIEhBVkVf TkFOT1NMRUVQIDEKfCAjZGVmaW5lIEhBVkVfQzk5X1ZTTlBSSU5URiAxCnwgI2RlZmluZSBIQVZF X1VOSVg5OF9QUklOVEYgMQp8ICNkZWZpbmUgU1RBVEZTX0FSR1MgMgp8ICNkZWZpbmUgSEFWRV9H T09EX1BSSU5URiAxCnwgI2RlZmluZSBIQVZFX0xPTkdfTE9ORyAxCnwgI2RlZmluZSBIQVZFX0xP TkdfRE9VQkxFIDEKfCAjZGVmaW5lIEhBVkVfV0NIQVJfVCAxCnwgI2RlZmluZSBIQVZFX1dJTlRf VCAxCnwgI2RlZmluZSBIQVZFX1BUUkRJRkZfVCAxCnwgI2RlZmluZSBIQVZFX0lOVFRZUEVTX0hf V0lUSF9VSU5UTUFYIDEKfCAjZGVmaW5lIEhBVkVfU1RESU5UX0hfV0lUSF9VSU5UTUFYIDEKfCAj ZGVmaW5lIEhBVkVfSU5UTUFYX1QgMQp8ICNkZWZpbmUgSEFWRV9TTlBSSU5URiAxCnwgI2RlZmlu ZSBIQVZFX1dDU0xFTiAxCnwgI2RlZmluZSBIQVZFX0M5OV9TTlBSSU5URiAxCnwgI2RlZmluZSBS RUFMTE9DXzBfV09SS1MgMQp8ICNkZWZpbmUgSEFWRV9DT0RFU0VUIDEKfCAjZGVmaW5lIFBPU0lY X01FTUFMSUdOX1dJVEhfQ09NUExJQU5UX0FMTE9DUyAxCnwgI2RlZmluZSBIQVZFX1NUUkxDUFkg MQp8ICNkZWZpbmUgR19WQV9DT1BZIHZhX2NvcHkKfCAjZGVmaW5lIEdfVkFfQ09QWV9BU19BUlJB WSAxCnwgLyogZW5kIGNvbmZkZWZzLmguICAqLwp8ICNpbmNsdWRlIDxzdGRpby5oPgp8ICNpZmRl ZiBIQVZFX1NZU19UWVBFU19ICnwgIyBpbmNsdWRlIDxzeXMvdHlwZXMuaD4KfCAjZW5kaWYKfCAj aWZkZWYgSEFWRV9TWVNfU1RBVF9ICnwgIyBpbmNsdWRlIDxzeXMvc3RhdC5oPgp8ICNlbmRpZgp8 ICNpZmRlZiBTVERDX0hFQURFUlMKfCAjIGluY2x1ZGUgPHN0ZGxpYi5oPgp8ICMgaW5jbHVkZSA8 c3RkZGVmLmg+CnwgI2Vsc2UKfCAjIGlmZGVmIEhBVkVfU1RETElCX0gKfCAjICBpbmNsdWRlIDxz dGRsaWIuaD4KfCAjIGVuZGlmCnwgI2VuZGlmCnwgI2lmZGVmIEhBVkVfU1RSSU5HX0gKfCAjIGlm ICFkZWZpbmVkIFNURENfSEVBREVSUyAmJiBkZWZpbmVkIEhBVkVfTUVNT1JZX0gKfCAjICBpbmNs dWRlIDxtZW1vcnkuaD4KfCAjIGVuZGlmCnwgIyBpbmNsdWRlIDxzdHJpbmcuaD4KfCAjZW5kaWYK fCAjaWZkZWYgSEFWRV9TVFJJTkdTX0gKfCAjIGluY2x1ZGUgPHN0cmluZ3MuaD4KfCAjZW5kaWYK fCAjaWZkZWYgSEFWRV9JTlRUWVBFU19ICnwgIyBpbmNsdWRlIDxpbnR0eXBlcy5oPgp8ICNlbmRp Zgp8ICNpZmRlZiBIQVZFX1NURElOVF9ICnwgIyBpbmNsdWRlIDxzdGRpbnQuaD4KfCAjZW5kaWYK fCAjaWZkZWYgSEFWRV9VTklTVERfSAp8ICMgaW5jbHVkZSA8dW5pc3RkLmg+CnwgI2VuZGlmCnwg I2luY2x1ZGUgPHN5cy9pbm90aWZ5Lmg+CmNvbmZpZ3VyZTozNTM2NTogcmVzdWx0OiBubwpjb25m aWd1cmU6MzUzNjk6IGNoZWNraW5nIHN5cy9pbm90aWZ5LmggcHJlc2VuY2UKY29uZmlndXJlOjM1 Mzg0OiBjYyAtRSAtSS91c3IvbG9jYWwvaW5jbHVkZSAtREdfRElTQUJMRV9TSU5HTEVfSU5DTFVE RVMgY29uZnRlc3QuYwpjb25mdGVzdC5jOjEzODoyNTogZXJyb3I6IHN5cy9pbm90aWZ5Lmg6IE5v IHN1Y2ggZmlsZSBvciBkaXJlY3RvcnkKY29uZmlndXJlOjM1MzkxOiAkPyA9IDEKY29uZmlndXJl OiBmYWlsZWQgcHJvZ3JhbSB3YXM6CnwgLyogY29uZmRlZnMuaC4gICovCnwgI2RlZmluZSBQQUNL QUdFX05BTUUgImdsaWIiCnwgI2RlZmluZSBQQUNLQUdFX1RBUk5BTUUgImdsaWIiCnwgI2RlZmlu ZSBQQUNLQUdFX1ZFUlNJT04gIjIuMjAuNSIKfCAjZGVmaW5lIFBBQ0tBR0VfU1RSSU5HICJnbGli IDIuMjAuNSIKfCAjZGVmaW5lIFBBQ0tBR0VfQlVHUkVQT1JUICJodHRwOi8vYnVnemlsbGEuZ25v bWUub3JnL2VudGVyX2J1Zy5jZ2k/cHJvZHVjdD1nbGliIgp8ICNkZWZpbmUgR0xJQl9NQUpPUl9W RVJTSU9OIDIKfCAjZGVmaW5lIEdMSUJfTUlOT1JfVkVSU0lPTiAyMAp8ICNkZWZpbmUgR0xJQl9N SUNST19WRVJTSU9OIDUKfCAjZGVmaW5lIEdMSUJfSU5URVJGQUNFX0FHRSA1CnwgI2RlZmluZSBH TElCX0JJTkFSWV9BR0UgMjAwNQp8ICNkZWZpbmUgTkVFRF9JQ09OVl9DQUNIRSAxCnwgI2RlZmlu ZSBTVERDX0hFQURFUlMgMQp8ICNkZWZpbmUgSEFWRV9TWVNfVFlQRVNfSCAxCnwgI2RlZmluZSBI QVZFX1NZU19TVEFUX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERMSUJfSCAxCnwgI2RlZmluZSBIQVZF X1NUUklOR19IIDEKfCAjZGVmaW5lIEhBVkVfTUVNT1JZX0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJJ TkdTX0ggMQp8ICNkZWZpbmUgSEFWRV9JTlRUWVBFU19IIDEKfCAjZGVmaW5lIEhBVkVfU1RESU5U X0ggMQp8ICNkZWZpbmUgSEFWRV9VTklTVERfSCAxCnwgI2RlZmluZSBIQVZFX0xPQ0FMRV9IIDEK fCAjZGVmaW5lIEhBVkVfTENfTUVTU0FHRVMgMQp8ICNkZWZpbmUgSEFWRV9CSU5EX1RFWFRET01B SU5fQ09ERVNFVCAxCnwgI2RlZmluZSBIQVZFX0dFVFRFWFQgMQp8ICNkZWZpbmUgSEFWRV9EQ0dF VFRFWFQgMQp8ICNkZWZpbmUgRU5BQkxFX05MUyAxCnwgI2RlZmluZSBHRVRURVhUX1BBQ0tBR0Ug ImdsaWIyMCIKfCAjZGVmaW5lIEdMSUJfTE9DQUxFX0RJUiAiL3Vzci9sb2NhbC9zaGFyZS9sb2Nh bGUiCnwgI2RlZmluZSBVU0VfTElCSUNPTlZfR05VIDEKfCAjZGVmaW5lIEhBVkVfRExGQ05fSCAx CnwgI2RlZmluZSBMVF9PQkpESVIgIi5saWJzLyIKfCAjZGVmaW5lIFNURENfSEVBREVSUyAxCnwg I2RlZmluZSBIQVZFX1ZQUklOVEYgMQp8ICNkZWZpbmUgSEFWRV9BTExPQ0EgMQp8ICNkZWZpbmUg SEFWRV9NTUFQIDEKfCAjZGVmaW5lIEhBVkVfUE9TSVhfTUVNQUxJR04gMQp8ICNkZWZpbmUgSEFW RV9WQUxMT0MgMQp8ICNkZWZpbmUgSEFWRV9GU1lOQyAxCnwgI2RlZmluZSBIQVZFX0FURVhJVCAx CnwgI2RlZmluZSBIQVZFX1RJTUVHTSAxCnwgI2RlZmluZSBIQVZFX0dNVElNRV9SIDEKfCAjZGVm aW5lIFNJWkVPRl9DSEFSIDEKfCAjZGVmaW5lIFNJWkVPRl9TSE9SVCAyCnwgI2RlZmluZSBTSVpF T0ZfTE9ORyA4CnwgI2RlZmluZSBTSVpFT0ZfSU5UIDQKfCAjZGVmaW5lIFNJWkVPRl9WT0lEX1Ag OAp8ICNkZWZpbmUgU0laRU9GX0xPTkdfTE9ORyA4CnwgI2RlZmluZSBTSVpFT0ZfX19JTlQ2NCAw CnwgI2RlZmluZSBIQVZFX0xPTkdfTE9OR19GT1JNQVQgMQp8ICNkZWZpbmUgU0FORV9NQUxMT0Nf UFJPVE9TIDEKfCAjZGVmaW5lIEdfSEFWRV9fX0lOTElORSAxCnwgI2RlZmluZSBHX0hBVkVfX19J TkxJTkVfXyAxCnwgI2RlZmluZSBHX0hBVkVfSU5MSU5FIDEKfCAjZGVmaW5lIEhBVkVfRE9XSElM RV9NQUNST1MgMQp8ICNkZWZpbmUgSEFWRV9ESVJFTlRfSCAxCnwgI2RlZmluZSBIQVZFX0ZMT0FU X0ggMQp8ICNkZWZpbmUgSEFWRV9MSU1JVFNfSCAxCnwgI2RlZmluZSBIQVZFX1BXRF9IIDEKfCAj ZGVmaW5lIEhBVkVfR1JQX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfUEFSQU1fSCAxCnwgI2RlZmlu ZSBIQVZFX1NZU19QT0xMX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfUkVTT1VSQ0VfSCAxCnwgI2Rl ZmluZSBIQVZFX1NZU19USU1FX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfVElNRVNfSCAxCnwgI2Rl ZmluZSBIQVZFX1NZU19XQUlUX0ggMQp8ICNkZWZpbmUgSEFWRV9VTklTVERfSCAxCnwgI2RlZmlu ZSBIQVZFX1NZU19TRUxFQ1RfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19UWVBFU19IIDEKfCAjZGVm aW5lIEhBVkVfU1RESU5UX0ggMQp8ICNkZWZpbmUgSEFWRV9TQ0hFRF9IIDEKfCAjZGVmaW5lIEhB VkVfU1lTX01PVU5UX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfU1RBVFZGU19IIDEKfCAjZGVmaW5l IEhBVkVfU1lTX1NZU0NUTF9IIDEKfCAjZGVmaW5lIEhBVkVfRlNUQUJfSCAxCnwgI2RlZmluZSBI QVZFX1NUUlVDVF9TVEFUX1NUX0JMS1NJWkUgMQp8ICNkZWZpbmUgSEFWRV9TVFJVQ1RfU1RBVF9T VF9CTE9DS1MgMQp8ICNkZWZpbmUgSEFWRV9TVFJVQ1RfU1RBVEZTX0ZfRlNUWVBFTkFNRSAxCnwg I2RlZmluZSBIQVZFX1NUUlVDVF9TVEFURlNfRl9CQVZBSUwgMQp8ICNkZWZpbmUgSEFWRV9MQU5H SU5GT19DT0RFU0VUIDEKfCAjZGVmaW5lIEhBVkVfU1REREVGX0ggMQp8ICNkZWZpbmUgSEFWRV9T VERMSUJfSCAxCnwgI2RlZmluZSBIQVZFX1NUUklOR19IIDEKfCAjZGVmaW5lIEhBVkVfU0VUTE9D QUxFIDEKfCAjZGVmaW5lIFNJWkVPRl9TSVpFX1QgOAp8ICNkZWZpbmUgSEFWRV9MU1RBVCAxCnwg I2RlZmluZSBIQVZFX1NUUkVSUk9SIDEKfCAjZGVmaW5lIEhBVkVfU1RSU0lHTkFMIDEKfCAjZGVm aW5lIEhBVkVfTUVNTU9WRSAxCnwgI2RlZmluZSBIQVZFX1ZTTlBSSU5URiAxCnwgI2RlZmluZSBI QVZFX1NUUENQWSAxCnwgI2RlZmluZSBIQVZFX1NUUkNBU0VDTVAgMQp8ICNkZWZpbmUgSEFWRV9T VFJOQ0FTRUNNUCAxCnwgI2RlZmluZSBIQVZFX1BPTEwgMQp8ICNkZWZpbmUgSEFWRV9HRVRDV0Qg MQp8ICNkZWZpbmUgSEFWRV9WQVNQUklOVEYgMQp8ICNkZWZpbmUgSEFWRV9TRVRFTlYgMQp8ICNk ZWZpbmUgSEFWRV9VTlNFVEVOViAxCnwgI2RlZmluZSBIQVZFX0dFVENfVU5MT0NLRUQgMQp8ICNk ZWZpbmUgSEFWRV9SRUFETElOSyAxCnwgI2RlZmluZSBIQVZFX1NZTUxJTksgMQp8ICNkZWZpbmUg SEFWRV9DSE9XTiAxCnwgI2RlZmluZSBIQVZFX0xDSE9XTiAxCnwgI2RlZmluZSBIQVZFX0ZDSE1P RCAxCnwgI2RlZmluZSBIQVZFX0ZDSE9XTiAxCnwgI2RlZmluZSBIQVZFX0xJTksgMQp8ICNkZWZp bmUgSEFWRV9TVEFUVkZTIDEKfCAjZGVmaW5lIEhBVkVfU1RBVEZTIDEKfCAjZGVmaW5lIEhBVkVf VVRJTUVTIDEKfCAjZGVmaW5lIEhBVkVfR0VUR1JHSUQgMQp8ICNkZWZpbmUgSEFWRV9HRVRQV1VJ RCAxCnwgI2RlZmluZSBIQVZFX1NZU0NUTEJZTkFNRSAxCnwgI2RlZmluZSBIQVZFX0dFVE1OVElO Rk8gMQp8ICNkZWZpbmUgSEFWRV9OQU5PU0xFRVAgMQp8ICNkZWZpbmUgSEFWRV9DOTlfVlNOUFJJ TlRGIDEKfCAjZGVmaW5lIEhBVkVfVU5JWDk4X1BSSU5URiAxCnwgI2RlZmluZSBTVEFURlNfQVJH UyAyCnwgI2RlZmluZSBIQVZFX0dPT0RfUFJJTlRGIDEKfCAjZGVmaW5lIEhBVkVfTE9OR19MT05H IDEKfCAjZGVmaW5lIEhBVkVfTE9OR19ET1VCTEUgMQp8ICNkZWZpbmUgSEFWRV9XQ0hBUl9UIDEK fCAjZGVmaW5lIEhBVkVfV0lOVF9UIDEKfCAjZGVmaW5lIEhBVkVfUFRSRElGRl9UIDEKfCAjZGVm aW5lIEhBVkVfSU5UVFlQRVNfSF9XSVRIX1VJTlRNQVggMQp8ICNkZWZpbmUgSEFWRV9TVERJTlRf SF9XSVRIX1VJTlRNQVggMQp8ICNkZWZpbmUgSEFWRV9JTlRNQVhfVCAxCnwgI2RlZmluZSBIQVZF X1NOUFJJTlRGIDEKfCAjZGVmaW5lIEhBVkVfV0NTTEVOIDEKfCAjZGVmaW5lIEhBVkVfQzk5X1NO UFJJTlRGIDEKfCAjZGVmaW5lIFJFQUxMT0NfMF9XT1JLUyAxCnwgI2RlZmluZSBIQVZFX0NPREVT RVQgMQp8ICNkZWZpbmUgUE9TSVhfTUVNQUxJR05fV0lUSF9DT01QTElBTlRfQUxMT0NTIDEKfCAj ZGVmaW5lIEhBVkVfU1RSTENQWSAxCnwgI2RlZmluZSBHX1ZBX0NPUFkgdmFfY29weQp8ICNkZWZp bmUgR19WQV9DT1BZX0FTX0FSUkFZIDEKfCAvKiBlbmQgY29uZmRlZnMuaC4gICovCnwgI2luY2x1 ZGUgPHN5cy9pbm90aWZ5Lmg+CmNvbmZpZ3VyZTozNTQwNTogcmVzdWx0OiBubwpjb25maWd1cmU6 MzU0Mzg6IGNoZWNraW5nIGZvciBzeXMvaW5vdGlmeS5oCmNvbmZpZ3VyZTozNTQ0NzogcmVzdWx0 OiBubwpjb25maWd1cmU6MzU1OTA6IGNjIC1jIC1PMiAtZm5vLXN0cmljdC1hbGlhc2luZyAtcGlw ZSAtV2FsbCAtSS91c3IvbG9jYWwvaW5jbHVkZSAtREdfRElTQUJMRV9TSU5HTEVfSU5DTFVERVMg Y29uZnRlc3QuYyA+JjUKY29uZnRlc3QuYzoyOjE4OiBlcnJvcjogcG9ydC5oOiBObyBzdWNoIGZp bGUgb3IgZGlyZWN0b3J5CmNvbmZ0ZXN0LmM6NDoyOiBlcnJvcjogI2Vycm9yICJQbGVhc2UgdXBn cmFkZSB0byBOZXZhZGEgNzIgb3IgYWJvdmUgdG8gc3VwcG9lcnQgRkVOIgpjb25maWd1cmU6MzU1 OTc6ICQ/ID0gMQpjb25maWd1cmU6IGZhaWxlZCBwcm9ncmFtIHdhczoKfCAKfCAjaW5jbHVkZSA8 cG9ydC5oPgp8ICNpZm5kZWYgUE9SVF9TT1VSQ0VfRklMRQp8ICNlcnJvciAiUGxlYXNlIHVwZ3Jh ZGUgdG8gTmV2YWRhIDcyIG9yIGFib3ZlIHRvIHN1cHBvZXJ0IEZFTiIKfCAjZW5kaWYKfCBpbnQg bWFpbigpIHsgcmV0dXJuIDA7IH0KY29uZmlndXJlOjM1OTY3OiBjaGVja2luZyBmb3IgZ2V0eGF0 dHIgaW4gLWxjCmNvbmZpZ3VyZTozNjAwMjogY2MgLW8gY29uZnRlc3QgLU8yIC1mbm8tc3RyaWN0 LWFsaWFzaW5nIC1waXBlIC1XYWxsIC1JL3Vzci9sb2NhbC9pbmNsdWRlIC1ER19ESVNBQkxFX1NJ TkdMRV9JTkNMVURFUyAtTC91c3IvbG9jYWwvbGliIC1saW50bCBjb25mdGVzdC5jIC1sYyAgICA+ JjUKL3Zhci90bXAvL2NjWTRxTnBtLm8oLnRleHQrMHg3KTogSW4gZnVuY3Rpb24gYG1haW4nOgo6 IHVuZGVmaW5lZCByZWZlcmVuY2UgdG8gYGdldHhhdHRyJwpjb25maWd1cmU6MzYwMDk6ICQ/ID0g MQpjb25maWd1cmU6IGZhaWxlZCBwcm9ncmFtIHdhczoKfCAvKiBjb25mZGVmcy5oLiAgKi8KfCAj ZGVmaW5lIFBBQ0tBR0VfTkFNRSAiZ2xpYiIKfCAjZGVmaW5lIFBBQ0tBR0VfVEFSTkFNRSAiZ2xp YiIKfCAjZGVmaW5lIFBBQ0tBR0VfVkVSU0lPTiAiMi4yMC41Igp8ICNkZWZpbmUgUEFDS0FHRV9T VFJJTkcgImdsaWIgMi4yMC41Igp8ICNkZWZpbmUgUEFDS0FHRV9CVUdSRVBPUlQgImh0dHA6Ly9i dWd6aWxsYS5nbm9tZS5vcmcvZW50ZXJfYnVnLmNnaT9wcm9kdWN0PWdsaWIiCnwgI2RlZmluZSBH TElCX01BSk9SX1ZFUlNJT04gMgp8ICNkZWZpbmUgR0xJQl9NSU5PUl9WRVJTSU9OIDIwCnwgI2Rl ZmluZSBHTElCX01JQ1JPX1ZFUlNJT04gNQp8ICNkZWZpbmUgR0xJQl9JTlRFUkZBQ0VfQUdFIDUK fCAjZGVmaW5lIEdMSUJfQklOQVJZX0FHRSAyMDA1CnwgI2RlZmluZSBORUVEX0lDT05WX0NBQ0hF IDEKfCAjZGVmaW5lIFNURENfSEVBREVSUyAxCnwgI2RlZmluZSBIQVZFX1NZU19UWVBFU19IIDEK fCAjZGVmaW5lIEhBVkVfU1lTX1NUQVRfSCAxCnwgI2RlZmluZSBIQVZFX1NURExJQl9IIDEKfCAj ZGVmaW5lIEhBVkVfU1RSSU5HX0ggMQp8ICNkZWZpbmUgSEFWRV9NRU1PUllfSCAxCnwgI2RlZmlu ZSBIQVZFX1NUUklOR1NfSCAxCnwgI2RlZmluZSBIQVZFX0lOVFRZUEVTX0ggMQp8ICNkZWZpbmUg SEFWRV9TVERJTlRfSCAxCnwgI2RlZmluZSBIQVZFX1VOSVNURF9IIDEKfCAjZGVmaW5lIEhBVkVf TE9DQUxFX0ggMQp8ICNkZWZpbmUgSEFWRV9MQ19NRVNTQUdFUyAxCnwgI2RlZmluZSBIQVZFX0JJ TkRfVEVYVERPTUFJTl9DT0RFU0VUIDEKfCAjZGVmaW5lIEhBVkVfR0VUVEVYVCAxCnwgI2RlZmlu ZSBIQVZFX0RDR0VUVEVYVCAxCnwgI2RlZmluZSBFTkFCTEVfTkxTIDEKfCAjZGVmaW5lIEdFVFRF WFRfUEFDS0FHRSAiZ2xpYjIwIgp8ICNkZWZpbmUgR0xJQl9MT0NBTEVfRElSICIvdXNyL2xvY2Fs L3NoYXJlL2xvY2FsZSIKfCAjZGVmaW5lIFVTRV9MSUJJQ09OVl9HTlUgMQp8ICNkZWZpbmUgSEFW RV9ETEZDTl9IIDEKfCAjZGVmaW5lIExUX09CSkRJUiAiLmxpYnMvIgp8ICNkZWZpbmUgU1REQ19I RUFERVJTIDEKfCAjZGVmaW5lIEhBVkVfVlBSSU5URiAxCnwgI2RlZmluZSBIQVZFX0FMTE9DQSAx CnwgI2RlZmluZSBIQVZFX01NQVAgMQp8ICNkZWZpbmUgSEFWRV9QT1NJWF9NRU1BTElHTiAxCnwg I2RlZmluZSBIQVZFX1ZBTExPQyAxCnwgI2RlZmluZSBIQVZFX0ZTWU5DIDEKfCAjZGVmaW5lIEhB VkVfQVRFWElUIDEKfCAjZGVmaW5lIEhBVkVfVElNRUdNIDEKfCAjZGVmaW5lIEhBVkVfR01USU1F X1IgMQp8ICNkZWZpbmUgU0laRU9GX0NIQVIgMQp8ICNkZWZpbmUgU0laRU9GX1NIT1JUIDIKfCAj ZGVmaW5lIFNJWkVPRl9MT05HIDgKfCAjZGVmaW5lIFNJWkVPRl9JTlQgNAp8ICNkZWZpbmUgU0la RU9GX1ZPSURfUCA4CnwgI2RlZmluZSBTSVpFT0ZfTE9OR19MT05HIDgKfCAjZGVmaW5lIFNJWkVP Rl9fX0lOVDY0IDAKfCAjZGVmaW5lIEhBVkVfTE9OR19MT05HX0ZPUk1BVCAxCnwgI2RlZmluZSBT QU5FX01BTExPQ19QUk9UT1MgMQp8ICNkZWZpbmUgR19IQVZFX19fSU5MSU5FIDEKfCAjZGVmaW5l IEdfSEFWRV9fX0lOTElORV9fIDEKfCAjZGVmaW5lIEdfSEFWRV9JTkxJTkUgMQp8ICNkZWZpbmUg SEFWRV9ET1dISUxFX01BQ1JPUyAxCnwgI2RlZmluZSBIQVZFX0RJUkVOVF9IIDEKfCAjZGVmaW5l IEhBVkVfRkxPQVRfSCAxCnwgI2RlZmluZSBIQVZFX0xJTUlUU19IIDEKfCAjZGVmaW5lIEhBVkVf UFdEX0ggMQp8ICNkZWZpbmUgSEFWRV9HUlBfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19QQVJBTV9I IDEKfCAjZGVmaW5lIEhBVkVfU1lTX1BPTExfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19SRVNPVVJD RV9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1RJTUVfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19USU1F U19IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1dBSVRfSCAxCnwgI2RlZmluZSBIQVZFX1VOSVNURF9I IDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NFTEVDVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1RZUEVT X0ggMQp8ICNkZWZpbmUgSEFWRV9TVERJTlRfSCAxCnwgI2RlZmluZSBIQVZFX1NDSEVEX0ggMQp8 ICNkZWZpbmUgSEFWRV9TWVNfTU9VTlRfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19TVEFUVkZTX0gg MQp8ICNkZWZpbmUgSEFWRV9TWVNfU1lTQ1RMX0ggMQp8ICNkZWZpbmUgSEFWRV9GU1RBQl9IIDEK fCAjZGVmaW5lIEhBVkVfU1RSVUNUX1NUQVRfU1RfQkxLU0laRSAxCnwgI2RlZmluZSBIQVZFX1NU UlVDVF9TVEFUX1NUX0JMT0NLUyAxCnwgI2RlZmluZSBIQVZFX1NUUlVDVF9TVEFURlNfRl9GU1RZ UEVOQU1FIDEKfCAjZGVmaW5lIEhBVkVfU1RSVUNUX1NUQVRGU19GX0JBVkFJTCAxCnwgI2RlZmlu ZSBIQVZFX0xBTkdJTkZPX0NPREVTRVQgMQp8ICNkZWZpbmUgSEFWRV9TVERERUZfSCAxCnwgI2Rl ZmluZSBIQVZFX1NURExJQl9IIDEKfCAjZGVmaW5lIEhBVkVfU1RSSU5HX0ggMQp8ICNkZWZpbmUg SEFWRV9TRVRMT0NBTEUgMQp8ICNkZWZpbmUgU0laRU9GX1NJWkVfVCA4CnwgI2RlZmluZSBIQVZF X0xTVEFUIDEKfCAjZGVmaW5lIEhBVkVfU1RSRVJST1IgMQp8ICNkZWZpbmUgSEFWRV9TVFJTSUdO QUwgMQp8ICNkZWZpbmUgSEFWRV9NRU1NT1ZFIDEKfCAjZGVmaW5lIEhBVkVfVlNOUFJJTlRGIDEK fCAjZGVmaW5lIEhBVkVfU1RQQ1BZIDEKfCAjZGVmaW5lIEhBVkVfU1RSQ0FTRUNNUCAxCnwgI2Rl ZmluZSBIQVZFX1NUUk5DQVNFQ01QIDEKfCAjZGVmaW5lIEhBVkVfUE9MTCAxCnwgI2RlZmluZSBI QVZFX0dFVENXRCAxCnwgI2RlZmluZSBIQVZFX1ZBU1BSSU5URiAxCnwgI2RlZmluZSBIQVZFX1NF VEVOViAxCnwgI2RlZmluZSBIQVZFX1VOU0VURU5WIDEKfCAjZGVmaW5lIEhBVkVfR0VUQ19VTkxP Q0tFRCAxCnwgI2RlZmluZSBIQVZFX1JFQURMSU5LIDEKfCAjZGVmaW5lIEhBVkVfU1lNTElOSyAx CnwgI2RlZmluZSBIQVZFX0NIT1dOIDEKfCAjZGVmaW5lIEhBVkVfTENIT1dOIDEKfCAjZGVmaW5l IEhBVkVfRkNITU9EIDEKfCAjZGVmaW5lIEhBVkVfRkNIT1dOIDEKfCAjZGVmaW5lIEhBVkVfTElO SyAxCnwgI2RlZmluZSBIQVZFX1NUQVRWRlMgMQp8ICNkZWZpbmUgSEFWRV9TVEFURlMgMQp8ICNk ZWZpbmUgSEFWRV9VVElNRVMgMQp8ICNkZWZpbmUgSEFWRV9HRVRHUkdJRCAxCnwgI2RlZmluZSBI QVZFX0dFVFBXVUlEIDEKfCAjZGVmaW5lIEhBVkVfU1lTQ1RMQllOQU1FIDEKfCAjZGVmaW5lIEhB VkVfR0VUTU5USU5GTyAxCnwgI2RlZmluZSBIQVZFX05BTk9TTEVFUCAxCnwgI2RlZmluZSBIQVZF X0M5OV9WU05QUklOVEYgMQp8ICNkZWZpbmUgSEFWRV9VTklYOThfUFJJTlRGIDEKfCAjZGVmaW5l IFNUQVRGU19BUkdTIDIKfCAjZGVmaW5lIEhBVkVfR09PRF9QUklOVEYgMQp8ICNkZWZpbmUgSEFW RV9MT05HX0xPTkcgMQp8ICNkZWZpbmUgSEFWRV9MT05HX0RPVUJMRSAxCnwgI2RlZmluZSBIQVZF X1dDSEFSX1QgMQp8ICNkZWZpbmUgSEFWRV9XSU5UX1QgMQp8ICNkZWZpbmUgSEFWRV9QVFJESUZG X1QgMQp8ICNkZWZpbmUgSEFWRV9JTlRUWVBFU19IX1dJVEhfVUlOVE1BWCAxCnwgI2RlZmluZSBI QVZFX1NURElOVF9IX1dJVEhfVUlOVE1BWCAxCnwgI2RlZmluZSBIQVZFX0lOVE1BWF9UIDEKfCAj ZGVmaW5lIEhBVkVfU05QUklOVEYgMQp8ICNkZWZpbmUgSEFWRV9XQ1NMRU4gMQp8ICNkZWZpbmUg SEFWRV9DOTlfU05QUklOVEYgMQp8ICNkZWZpbmUgUkVBTExPQ18wX1dPUktTIDEKfCAjZGVmaW5l IEhBVkVfQ09ERVNFVCAxCnwgI2RlZmluZSBQT1NJWF9NRU1BTElHTl9XSVRIX0NPTVBMSUFOVF9B TExPQ1MgMQp8ICNkZWZpbmUgSEFWRV9TVFJMQ1BZIDEKfCAjZGVmaW5lIEdfVkFfQ09QWSB2YV9j b3B5CnwgI2RlZmluZSBHX1ZBX0NPUFlfQVNfQVJSQVkgMQp8IC8qIGVuZCBjb25mZGVmcy5oLiAg Ki8KfCAKfCAvKiBPdmVycmlkZSBhbnkgR0NDIGludGVybmFsIHByb3RvdHlwZSB0byBhdm9pZCBh biBlcnJvci4KfCAgICBVc2UgY2hhciBiZWNhdXNlIGludCBtaWdodCBtYXRjaCB0aGUgcmV0dXJu IHR5cGUgb2YgYSBHQ0MKfCAgICBidWlsdGluIGFuZCB0aGVuIGl0cyBhcmd1bWVudCBwcm90b3R5 cGUgd291bGQgc3RpbGwgYXBwbHkuICAqLwp8ICNpZmRlZiBfX2NwbHVzcGx1cwp8IGV4dGVybiAi QyIKfCAjZW5kaWYKfCBjaGFyIGdldHhhdHRyICgpOwp8IGludAp8IG1haW4gKCkKfCB7CnwgcmV0 dXJuIGdldHhhdHRyICgpOwp8ICAgOwp8ICAgcmV0dXJuIDA7CnwgfQpjb25maWd1cmU6MzYwMzA6 IHJlc3VsdDogbm8KY29uZmlndXJlOjM2MTk0OiBjaGVja2luZyBmb3IgZ2V0eGF0dHIgaW4gLWxh dHRyCmNvbmZpZ3VyZTozNjIyOTogY2MgLW8gY29uZnRlc3QgLU8yIC1mbm8tc3RyaWN0LWFsaWFz aW5nIC1waXBlIC1XYWxsIC1JL3Vzci9sb2NhbC9pbmNsdWRlIC1ER19ESVNBQkxFX1NJTkdMRV9J TkNMVURFUyAtTC91c3IvbG9jYWwvbGliIC1saW50bCBjb25mdGVzdC5jIC1sYXR0ciAgICA+JjUK L3Vzci9iaW4vbGQ6IGNhbm5vdCBmaW5kIC1sYXR0cgpjb25maWd1cmU6MzYyMzY6ICQ/ID0gMQpj b25maWd1cmU6IGZhaWxlZCBwcm9ncmFtIHdhczoKfCAvKiBjb25mZGVmcy5oLiAgKi8KfCAjZGVm aW5lIFBBQ0tBR0VfTkFNRSAiZ2xpYiIKfCAjZGVmaW5lIFBBQ0tBR0VfVEFSTkFNRSAiZ2xpYiIK fCAjZGVmaW5lIFBBQ0tBR0VfVkVSU0lPTiAiMi4yMC41Igp8ICNkZWZpbmUgUEFDS0FHRV9TVFJJ TkcgImdsaWIgMi4yMC41Igp8ICNkZWZpbmUgUEFDS0FHRV9CVUdSRVBPUlQgImh0dHA6Ly9idWd6 aWxsYS5nbm9tZS5vcmcvZW50ZXJfYnVnLmNnaT9wcm9kdWN0PWdsaWIiCnwgI2RlZmluZSBHTElC X01BSk9SX1ZFUlNJT04gMgp8ICNkZWZpbmUgR0xJQl9NSU5PUl9WRVJTSU9OIDIwCnwgI2RlZmlu ZSBHTElCX01JQ1JPX1ZFUlNJT04gNQp8ICNkZWZpbmUgR0xJQl9JTlRFUkZBQ0VfQUdFIDUKfCAj ZGVmaW5lIEdMSUJfQklOQVJZX0FHRSAyMDA1CnwgI2RlZmluZSBORUVEX0lDT05WX0NBQ0hFIDEK fCAjZGVmaW5lIFNURENfSEVBREVSUyAxCnwgI2RlZmluZSBIQVZFX1NZU19UWVBFU19IIDEKfCAj ZGVmaW5lIEhBVkVfU1lTX1NUQVRfSCAxCnwgI2RlZmluZSBIQVZFX1NURExJQl9IIDEKfCAjZGVm aW5lIEhBVkVfU1RSSU5HX0ggMQp8ICNkZWZpbmUgSEFWRV9NRU1PUllfSCAxCnwgI2RlZmluZSBI QVZFX1NUUklOR1NfSCAxCnwgI2RlZmluZSBIQVZFX0lOVFRZUEVTX0ggMQp8ICNkZWZpbmUgSEFW RV9TVERJTlRfSCAxCnwgI2RlZmluZSBIQVZFX1VOSVNURF9IIDEKfCAjZGVmaW5lIEhBVkVfTE9D QUxFX0ggMQp8ICNkZWZpbmUgSEFWRV9MQ19NRVNTQUdFUyAxCnwgI2RlZmluZSBIQVZFX0JJTkRf VEVYVERPTUFJTl9DT0RFU0VUIDEKfCAjZGVmaW5lIEhBVkVfR0VUVEVYVCAxCnwgI2RlZmluZSBI QVZFX0RDR0VUVEVYVCAxCnwgI2RlZmluZSBFTkFCTEVfTkxTIDEKfCAjZGVmaW5lIEdFVFRFWFRf UEFDS0FHRSAiZ2xpYjIwIgp8ICNkZWZpbmUgR0xJQl9MT0NBTEVfRElSICIvdXNyL2xvY2FsL3No YXJlL2xvY2FsZSIKfCAjZGVmaW5lIFVTRV9MSUJJQ09OVl9HTlUgMQp8ICNkZWZpbmUgSEFWRV9E TEZDTl9IIDEKfCAjZGVmaW5lIExUX09CSkRJUiAiLmxpYnMvIgp8ICNkZWZpbmUgU1REQ19IRUFE RVJTIDEKfCAjZGVmaW5lIEhBVkVfVlBSSU5URiAxCnwgI2RlZmluZSBIQVZFX0FMTE9DQSAxCnwg I2RlZmluZSBIQVZFX01NQVAgMQp8ICNkZWZpbmUgSEFWRV9QT1NJWF9NRU1BTElHTiAxCnwgI2Rl ZmluZSBIQVZFX1ZBTExPQyAxCnwgI2RlZmluZSBIQVZFX0ZTWU5DIDEKfCAjZGVmaW5lIEhBVkVf QVRFWElUIDEKfCAjZGVmaW5lIEhBVkVfVElNRUdNIDEKfCAjZGVmaW5lIEhBVkVfR01USU1FX1Ig MQp8ICNkZWZpbmUgU0laRU9GX0NIQVIgMQp8ICNkZWZpbmUgU0laRU9GX1NIT1JUIDIKfCAjZGVm aW5lIFNJWkVPRl9MT05HIDgKfCAjZGVmaW5lIFNJWkVPRl9JTlQgNAp8ICNkZWZpbmUgU0laRU9G X1ZPSURfUCA4CnwgI2RlZmluZSBTSVpFT0ZfTE9OR19MT05HIDgKfCAjZGVmaW5lIFNJWkVPRl9f X0lOVDY0IDAKfCAjZGVmaW5lIEhBVkVfTE9OR19MT05HX0ZPUk1BVCAxCnwgI2RlZmluZSBTQU5F X01BTExPQ19QUk9UT1MgMQp8ICNkZWZpbmUgR19IQVZFX19fSU5MSU5FIDEKfCAjZGVmaW5lIEdf SEFWRV9fX0lOTElORV9fIDEKfCAjZGVmaW5lIEdfSEFWRV9JTkxJTkUgMQp8ICNkZWZpbmUgSEFW RV9ET1dISUxFX01BQ1JPUyAxCnwgI2RlZmluZSBIQVZFX0RJUkVOVF9IIDEKfCAjZGVmaW5lIEhB VkVfRkxPQVRfSCAxCnwgI2RlZmluZSBIQVZFX0xJTUlUU19IIDEKfCAjZGVmaW5lIEhBVkVfUFdE X0ggMQp8ICNkZWZpbmUgSEFWRV9HUlBfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19QQVJBTV9IIDEK fCAjZGVmaW5lIEhBVkVfU1lTX1BPTExfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19SRVNPVVJDRV9I IDEKfCAjZGVmaW5lIEhBVkVfU1lTX1RJTUVfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19USU1FU19I IDEKfCAjZGVmaW5lIEhBVkVfU1lTX1dBSVRfSCAxCnwgI2RlZmluZSBIQVZFX1VOSVNURF9IIDEK fCAjZGVmaW5lIEhBVkVfU1lTX1NFTEVDVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1RZUEVTX0gg MQp8ICNkZWZpbmUgSEFWRV9TVERJTlRfSCAxCnwgI2RlZmluZSBIQVZFX1NDSEVEX0ggMQp8ICNk ZWZpbmUgSEFWRV9TWVNfTU9VTlRfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19TVEFUVkZTX0ggMQp8 ICNkZWZpbmUgSEFWRV9TWVNfU1lTQ1RMX0ggMQp8ICNkZWZpbmUgSEFWRV9GU1RBQl9IIDEKfCAj ZGVmaW5lIEhBVkVfU1RSVUNUX1NUQVRfU1RfQkxLU0laRSAxCnwgI2RlZmluZSBIQVZFX1NUUlVD VF9TVEFUX1NUX0JMT0NLUyAxCnwgI2RlZmluZSBIQVZFX1NUUlVDVF9TVEFURlNfRl9GU1RZUEVO QU1FIDEKfCAjZGVmaW5lIEhBVkVfU1RSVUNUX1NUQVRGU19GX0JBVkFJTCAxCnwgI2RlZmluZSBI QVZFX0xBTkdJTkZPX0NPREVTRVQgMQp8ICNkZWZpbmUgSEFWRV9TVERERUZfSCAxCnwgI2RlZmlu ZSBIQVZFX1NURExJQl9IIDEKfCAjZGVmaW5lIEhBVkVfU1RSSU5HX0ggMQp8ICNkZWZpbmUgSEFW RV9TRVRMT0NBTEUgMQp8ICNkZWZpbmUgU0laRU9GX1NJWkVfVCA4CnwgI2RlZmluZSBIQVZFX0xT VEFUIDEKfCAjZGVmaW5lIEhBVkVfU1RSRVJST1IgMQp8ICNkZWZpbmUgSEFWRV9TVFJTSUdOQUwg MQp8ICNkZWZpbmUgSEFWRV9NRU1NT1ZFIDEKfCAjZGVmaW5lIEhBVkVfVlNOUFJJTlRGIDEKfCAj ZGVmaW5lIEhBVkVfU1RQQ1BZIDEKfCAjZGVmaW5lIEhBVkVfU1RSQ0FTRUNNUCAxCnwgI2RlZmlu ZSBIQVZFX1NUUk5DQVNFQ01QIDEKfCAjZGVmaW5lIEhBVkVfUE9MTCAxCnwgI2RlZmluZSBIQVZF X0dFVENXRCAxCnwgI2RlZmluZSBIQVZFX1ZBU1BSSU5URiAxCnwgI2RlZmluZSBIQVZFX1NFVEVO ViAxCnwgI2RlZmluZSBIQVZFX1VOU0VURU5WIDEKfCAjZGVmaW5lIEhBVkVfR0VUQ19VTkxPQ0tF RCAxCnwgI2RlZmluZSBIQVZFX1JFQURMSU5LIDEKfCAjZGVmaW5lIEhBVkVfU1lNTElOSyAxCnwg I2RlZmluZSBIQVZFX0NIT1dOIDEKfCAjZGVmaW5lIEhBVkVfTENIT1dOIDEKfCAjZGVmaW5lIEhB VkVfRkNITU9EIDEKfCAjZGVmaW5lIEhBVkVfRkNIT1dOIDEKfCAjZGVmaW5lIEhBVkVfTElOSyAx CnwgI2RlZmluZSBIQVZFX1NUQVRWRlMgMQp8ICNkZWZpbmUgSEFWRV9TVEFURlMgMQp8ICNkZWZp bmUgSEFWRV9VVElNRVMgMQp8ICNkZWZpbmUgSEFWRV9HRVRHUkdJRCAxCnwgI2RlZmluZSBIQVZF X0dFVFBXVUlEIDEKfCAjZGVmaW5lIEhBVkVfU1lTQ1RMQllOQU1FIDEKfCAjZGVmaW5lIEhBVkVf R0VUTU5USU5GTyAxCnwgI2RlZmluZSBIQVZFX05BTk9TTEVFUCAxCnwgI2RlZmluZSBIQVZFX0M5 OV9WU05QUklOVEYgMQp8ICNkZWZpbmUgSEFWRV9VTklYOThfUFJJTlRGIDEKfCAjZGVmaW5lIFNU QVRGU19BUkdTIDIKfCAjZGVmaW5lIEhBVkVfR09PRF9QUklOVEYgMQp8ICNkZWZpbmUgSEFWRV9M T05HX0xPTkcgMQp8ICNkZWZpbmUgSEFWRV9MT05HX0RPVUJMRSAxCnwgI2RlZmluZSBIQVZFX1dD SEFSX1QgMQp8ICNkZWZpbmUgSEFWRV9XSU5UX1QgMQp8ICNkZWZpbmUgSEFWRV9QVFJESUZGX1Qg MQp8ICNkZWZpbmUgSEFWRV9JTlRUWVBFU19IX1dJVEhfVUlOVE1BWCAxCnwgI2RlZmluZSBIQVZF X1NURElOVF9IX1dJVEhfVUlOVE1BWCAxCnwgI2RlZmluZSBIQVZFX0lOVE1BWF9UIDEKfCAjZGVm aW5lIEhBVkVfU05QUklOVEYgMQp8ICNkZWZpbmUgSEFWRV9XQ1NMRU4gMQp8ICNkZWZpbmUgSEFW RV9DOTlfU05QUklOVEYgMQp8ICNkZWZpbmUgUkVBTExPQ18wX1dPUktTIDEKfCAjZGVmaW5lIEhB VkVfQ09ERVNFVCAxCnwgI2RlZmluZSBQT1NJWF9NRU1BTElHTl9XSVRIX0NPTVBMSUFOVF9BTExP Q1MgMQp8ICNkZWZpbmUgSEFWRV9TVFJMQ1BZIDEKfCAjZGVmaW5lIEdfVkFfQ09QWSB2YV9jb3B5 CnwgI2RlZmluZSBHX1ZBX0NPUFlfQVNfQVJSQVkgMQp8IC8qIGVuZCBjb25mZGVmcy5oLiAgKi8K fCAKfCAvKiBPdmVycmlkZSBhbnkgR0NDIGludGVybmFsIHByb3RvdHlwZSB0byBhdm9pZCBhbiBl cnJvci4KfCAgICBVc2UgY2hhciBiZWNhdXNlIGludCBtaWdodCBtYXRjaCB0aGUgcmV0dXJuIHR5 cGUgb2YgYSBHQ0MKfCAgICBidWlsdGluIGFuZCB0aGVuIGl0cyBhcmd1bWVudCBwcm90b3R5cGUg d291bGQgc3RpbGwgYXBwbHkuICAqLwp8ICNpZmRlZiBfX2NwbHVzcGx1cwp8IGV4dGVybiAiQyIK fCAjZW5kaWYKfCBjaGFyIGdldHhhdHRyICgpOwp8IGludAp8IG1haW4gKCkKfCB7CnwgcmV0dXJu IGdldHhhdHRyICgpOwp8ICAgOwp8ICAgcmV0dXJuIDA7CnwgfQpjb25maWd1cmU6MzYyNTc6IHJl c3VsdDogbm8KY29uZmlndXJlOjM2NDkzOiBjaGVja2luZyBmb3IgcGxhdGZvcm0tZGVwZW5kZW50 IHNvdXJjZQpjb25maWd1cmU6MzY1MDM6IHJlc3VsdDogCmNvbmZpZ3VyZTozNjUwNzogY2hlY2tp bmcgd2hldGhlciB0byBjb21waWxlIHRpbWVsb29wCmNvbmZpZ3VyZTozNjUxNzogcmVzdWx0OiB5 ZXMKY29uZmlndXJlOjM2NTI4OiBjaGVja2luZyBpZiBidWlsZGluZyBmb3Igc29tZSBXaW4zMiBw bGF0Zm9ybQpjb25maWd1cmU6MzY1Mzg6IHJlc3VsdDogbm8KY29uZmlndXJlOjM2NjQxOiBjYyAt YyAtTzIgLWZuby1zdHJpY3QtYWxpYXNpbmcgLXBpcGUgLVdhbGwgLUkvdXNyL2xvY2FsL2luY2x1 ZGUgLURHX0RJU0FCTEVfU0lOR0xFX0lOQ0xVREVTIC1EX1BPU0lYNF9EUkFGVF9TT1VSQ0UgLURf UE9TSVg0QV9EUkFGVDEwX1NPVVJDRSAtVV9PU0ZfU09VUkNFIGNvbmZ0ZXN0LmMgPiY1CmNvbmZ0 ZXN0LmM6IEluIGZ1bmN0aW9uICdtYWluJzoKY29uZnRlc3QuYzoxNDI6IHdhcm5pbmc6IHVudXNl ZCB2YXJpYWJsZSAnbScKY29uZmlndXJlOjM2NjQ4OiAkPyA9IDAKY29uZmlndXJlOjM2NzY3OiBj aGVja2luZyBmb3IgdGhyZWFkIGltcGxlbWVudGF0aW9uCmNvbmZpZ3VyZTozNjc3NjogcmVzdWx0 OiBwb3NpeApjb25maWd1cmU6MzY4ODM6IGNjIC1vIGNvbmZ0ZXN0IC1PMiAtZm5vLXN0cmljdC1h bGlhc2luZyAtcGlwZSAtV2FsbCAtcHRocmVhZCAtSS91c3IvbG9jYWwvaW5jbHVkZSAtREdfRElT QUJMRV9TSU5HTEVfSU5DTFVERVMgLUwvdXNyL2xvY2FsL2xpYiAtbGludGwgY29uZnRlc3QuYyAg ID4mNQpjb25maWd1cmU6MzY4ODc6ICQ/ID0gMApjb25maWd1cmU6MzY4OTM6IC4vY29uZnRlc3QK Y29uZmlndXJlOjM2ODk3OiAkPyA9IDAKY29uZmlndXJlOjM3MDIwOiBjaGVja2luZyB0aHJlYWQg cmVsYXRlZCBjZmxhZ3MKY29uZmlndXJlOjM3MDIyOiByZXN1bHQ6IC1EX1JFRU5UUkFOVApjb25m aWd1cmU6MzcxOTI6IGNoZWNraW5nIGZvciBzY2hlZF9nZXRfcHJpb3JpdHlfbWluCmNvbmZpZ3Vy ZTozNzI1OTogY2MgLW8gY29uZnRlc3QgLU8yIC1mbm8tc3RyaWN0LWFsaWFzaW5nIC1waXBlIC1X YWxsIC1JL3Vzci9sb2NhbC9pbmNsdWRlIC1ER19ESVNBQkxFX1NJTkdMRV9JTkNMVURFUyAtRF9S RUVOVFJBTlQgLURfUE9TSVg0X0RSQUZUX1NPVVJDRSAtRF9QT1NJWDRBX0RSQUZUMTBfU09VUkNF IC1VX09TRl9TT1VSQ0UgLUwvdXNyL2xvY2FsL2xpYiAtbGludGwgY29uZnRlc3QuYyAgICA+JjUK Y29uZmlndXJlOjM3MjYzOiAkPyA9IDAKY29uZmlndXJlOjM3MjY5OiAuL2NvbmZ0ZXN0CmNvbmZp Z3VyZTozNzI3MzogJD8gPSAwCmNvbmZpZ3VyZTozNzI4OTogcmVzdWx0OiB5ZXMKY29uZmlndXJl OjM3MzQwOiBjaGVja2luZyB0aHJlYWQgcmVsYXRlZCBsaWJyYXJpZXMKY29uZmlndXJlOjM3MzQy OiByZXN1bHQ6IC1wdGhyZWFkIApjb25maWd1cmU6MzczNTY6IGNoZWNraW5nIGZvciBsb2NhbHRp bWVfcgpjb25maWd1cmU6Mzc0MTI6IGNjIC1vIGNvbmZ0ZXN0IC1PMiAtZm5vLXN0cmljdC1hbGlh c2luZyAtcGlwZSAtV2FsbCAtSS91c3IvbG9jYWwvaW5jbHVkZSAtREdfRElTQUJMRV9TSU5HTEVf SU5DTFVERVMgLURfUkVFTlRSQU5UIC1ML3Vzci9sb2NhbC9saWIgLWxpbnRsIGNvbmZ0ZXN0LmMg ICA+JjUKY29uZmlndXJlOjM3NDE5OiAkPyA9IDAKY29uZmlndXJlOjM3NDQxOiByZXN1bHQ6IHll cwpjb25maWd1cmU6MzczNTY6IGNoZWNraW5nIGZvciBnbXRpbWVfcgpjb25maWd1cmU6Mzc0NDE6 IHJlc3VsdDogeWVzCmNvbmZpZ3VyZTozNzQ1NDogY2hlY2tpbmcgZm9yIHBvc2l4IGdldHB3dWlk X3IKY29uZmlndXJlOjM3NDk0OiBjYyAtbyBjb25mdGVzdCAtTzIgLWZuby1zdHJpY3QtYWxpYXNp bmcgLXBpcGUgLVdhbGwgLUkvdXNyL2xvY2FsL2luY2x1ZGUgLURHX0RJU0FCTEVfU0lOR0xFX0lO Q0xVREVTIC1EX1JFRU5UUkFOVCAtTC91c3IvbG9jYWwvbGliIC1saW50bCBjb25mdGVzdC5jICAg PiY1CmNvbmZpZ3VyZTozNzQ5ODogJD8gPSAwCmNvbmZpZ3VyZTozNzUwNDogLi9jb25mdGVzdApj b25maWd1cmU6Mzc1MDg6ICQ/ID0gMApjb25maWd1cmU6Mzc1MjU6IHJlc3VsdDogeWVzCmNvbmZp Z3VyZTozNzYxNDogY2hlY2tpbmcgZm9yIHBvc2l4IGdldGdyZ2lkX3IKY29uZmlndXJlOjM3NjU0 OiBjYyAtbyBjb25mdGVzdCAtTzIgLWZuby1zdHJpY3QtYWxpYXNpbmcgLXBpcGUgLVdhbGwgLUkv dXNyL2xvY2FsL2luY2x1ZGUgLURHX0RJU0FCTEVfU0lOR0xFX0lOQ0xVREVTIC1EX1JFRU5UUkFO VCAtTC91c3IvbG9jYWwvbGliIC1saW50bCBjb25mdGVzdC5jICAgPiY1CmNvbmZpZ3VyZTozNzY1 ODogJD8gPSAwCmNvbmZpZ3VyZTozNzY2NDogLi9jb25mdGVzdApjb25maWd1cmU6Mzc2Njg6ICQ/ ID0gMApjb25maWd1cmU6Mzc2ODU6IHJlc3VsdDogeWVzCmNvbmZpZ3VyZTozNzc3NzogY2hlY2tp bmcgc2l6ZSBvZiBwdGhyZWFkX3QKY29uZmlndXJlOjM4MDg0OiBjYyAtbyBjb25mdGVzdCAtTzIg LWZuby1zdHJpY3QtYWxpYXNpbmcgLXBpcGUgLVdhbGwgLUkvdXNyL2xvY2FsL2luY2x1ZGUgLURH X0RJU0FCTEVfU0lOR0xFX0lOQ0xVREVTIC1EX1JFRU5UUkFOVCAtRF9QT1NJWDRfRFJBRlRfU09V UkNFIC1EX1BPU0lYNEFfRFJBRlQxMF9TT1VSQ0UgLVVfT1NGX1NPVVJDRSAtTC91c3IvbG9jYWwv bGliIC1saW50bCBjb25mdGVzdC5jIC1wdGhyZWFkICAgID4mNQpjb25maWd1cmU6MzgwODg6ICQ/ ID0gMApjb25maWd1cmU6MzgwOTQ6IC4vY29uZnRlc3QKY29uZmlndXJlOjM4MDk4OiAkPyA9IDAK Y29uZmlndXJlOjM4MTE4OiByZXN1bHQ6IDgKY29uZmlndXJlOjM4MTI3OiBjaGVja2luZyBmb3Ig cHRocmVhZF9hdHRyX3NldHN0YWNrc2l6ZQpjb25maWd1cmU6MzgxNTA6IGNjIC1vIGNvbmZ0ZXN0 IC1PMiAtZm5vLXN0cmljdC1hbGlhc2luZyAtcGlwZSAtV2FsbCAtSS91c3IvbG9jYWwvaW5jbHVk ZSAtREdfRElTQUJMRV9TSU5HTEVfSU5DTFVERVMgLURfUkVFTlRSQU5UIC1EX1BPU0lYNF9EUkFG VF9TT1VSQ0UgLURfUE9TSVg0QV9EUkFGVDEwX1NPVVJDRSAtVV9PU0ZfU09VUkNFIC1ML3Vzci9s b2NhbC9saWIgLWxpbnRsIGNvbmZ0ZXN0LmMgLXB0aHJlYWQgICAgPiY1CmNvbmZpZ3VyZTozODE1 NzogJD8gPSAwCmNvbmZpZ3VyZTozODE2NTogcmVzdWx0OiB5ZXMKY29uZmlndXJlOjM4MTgzOiBj aGVja2luZyBmb3IgbWluaW1hbC9tYXhpbWFsIHRocmVhZCBwcmlvcml0eQpjb25maWd1cmU6Mzgy NTc6IHJlc3VsdDogc2NoZWRfZ2V0X3ByaW9yaXR5X21pbihTQ0hFRF9PVEhFUikvc2NoZWRfZ2V0 X3ByaW9yaXR5X21heChTQ0hFRF9PVEhFUikKY29uZmlndXJlOjM4MjU5OiBjaGVja2luZyBmb3Ig cHRocmVhZF9zZXRzY2hlZHBhcmFtCmNvbmZpZ3VyZTozODI4MjogY2MgLW8gY29uZnRlc3QgLU8y IC1mbm8tc3RyaWN0LWFsaWFzaW5nIC1waXBlIC1XYWxsIC1JL3Vzci9sb2NhbC9pbmNsdWRlIC1E R19ESVNBQkxFX1NJTkdMRV9JTkNMVURFUyAtRF9SRUVOVFJBTlQgLURfUE9TSVg0X0RSQUZUX1NP VVJDRSAtRF9QT1NJWDRBX0RSQUZUMTBfU09VUkNFIC1VX09TRl9TT1VSQ0UgLUwvdXNyL2xvY2Fs L2xpYiAtbGludGwgY29uZnRlc3QuYyAtcHRocmVhZCAgICA+JjUKY29uZnRlc3QuYzogSW4gZnVu Y3Rpb24gJ21haW4nOgpjb25mdGVzdC5jOjE0ODogd2FybmluZzogJ3QnIGlzIHVzZWQgdW5pbml0 aWFsaXplZCBpbiB0aGlzIGZ1bmN0aW9uCmNvbmZpZ3VyZTozODI4OTogJD8gPSAwCmNvbmZpZ3Vy ZTozODI5NzogcmVzdWx0OiB5ZXMKY29uZmlndXJlOjM4MzI0OiBjaGVja2luZyBmb3IgcG9zaXgg eWllbGQgZnVuY3Rpb24KY29uZmlndXJlOjM4MzQ5OiBjYyAtbyBjb25mdGVzdCAtTzIgLWZuby1z dHJpY3QtYWxpYXNpbmcgLXBpcGUgLVdhbGwgLUkvdXNyL2xvY2FsL2luY2x1ZGUgLURHX0RJU0FC TEVfU0lOR0xFX0lOQ0xVREVTIC1EX1JFRU5UUkFOVCAtRF9QT1NJWDRfRFJBRlRfU09VUkNFIC1E X1BPU0lYNEFfRFJBRlQxMF9TT1VSQ0UgLVVfT1NGX1NPVVJDRSAtTC91c3IvbG9jYWwvbGliIC1s aW50bCBjb25mdGVzdC5jIC1wdGhyZWFkICAgID4mNQpjb25maWd1cmU6MzgzNTY6ICQ/ID0gMApj b25maWd1cmU6MzgzODQ6IHJlc3VsdDogc2NoZWRfeWllbGQKY29uZmlndXJlOjM5MTMyOiBjaGVj a2luZyBzaXplIG9mIHB0aHJlYWRfbXV0ZXhfdApjb25maWd1cmU6Mzk0Mzk6IGNjIC1vIGNvbmZ0 ZXN0IC1PMiAtZm5vLXN0cmljdC1hbGlhc2luZyAtcGlwZSAtV2FsbCAtSS91c3IvbG9jYWwvaW5j bHVkZSAtREdfRElTQUJMRV9TSU5HTEVfSU5DTFVERVMgLURfUkVFTlRSQU5UIC1EX1BPU0lYNF9E UkFGVF9TT1VSQ0UgLURfUE9TSVg0QV9EUkFGVDEwX1NPVVJDRSAtVV9PU0ZfU09VUkNFIC1ML3Vz ci9sb2NhbC9saWIgLWxpbnRsIGNvbmZ0ZXN0LmMgLXB0aHJlYWQgICAgPiY1CmNvbmZpZ3VyZToz OTQ0MzogJD8gPSAwCmNvbmZpZ3VyZTozOTQ0OTogLi9jb25mdGVzdApjb25maWd1cmU6Mzk0NTM6 ICQ/ID0gMApjb25maWd1cmU6Mzk0NzM6IHJlc3VsdDogOApjb25maWd1cmU6Mzk0ODA6IGNoZWNr aW5nIGJ5dGUgY29udGVudHMgb2YgUFRIUkVBRF9NVVRFWF9JTklUSUFMSVpFUgpjb25maWd1cmU6 Mzk1MTU6IGNjIC1vIGNvbmZ0ZXN0IC1PMiAtZm5vLXN0cmljdC1hbGlhc2luZyAtcGlwZSAtV2Fs bCAtSS91c3IvbG9jYWwvaW5jbHVkZSAtREdfRElTQUJMRV9TSU5HTEVfSU5DTFVERVMgLURfUkVF TlRSQU5UIC1EX1BPU0lYNF9EUkFGVF9TT1VSQ0UgLURfUE9TSVg0QV9EUkFGVDEwX1NPVVJDRSAt VV9PU0ZfU09VUkNFIC1ML3Vzci9sb2NhbC9saWIgLWxpbnRsIGNvbmZ0ZXN0LmMgLXB0aHJlYWQg ICAgPiY1CmNvbmZ0ZXN0LmM6MTUyOiB3YXJuaW5nOiByZXR1cm4gdHlwZSBkZWZhdWx0cyB0byAn aW50Jwpjb25mdGVzdC5jOiBJbiBmdW5jdGlvbiAnbWFpbic6CmNvbmZ0ZXN0LmM6MTU3OiB3YXJu aW5nOiBpbXBsaWNpdCBkZWNsYXJhdGlvbiBvZiBmdW5jdGlvbiAnZXhpdCcKY29uZnRlc3QuYzox NTc6IHdhcm5pbmc6IGluY29tcGF0aWJsZSBpbXBsaWNpdCBkZWNsYXJhdGlvbiBvZiBidWlsdC1p biBmdW5jdGlvbiAnZXhpdCcKY29uZmlndXJlOjM5NTE5OiAkPyA9IDAKY29uZmlndXJlOjM5NTI1 OiAuL2NvbmZ0ZXN0CmNvbmZpZ3VyZTozOTUyOTogJD8gPSAwCmNvbmZpZ3VyZTozOTU0NjogcmVz dWx0OiAwLDAsMCwwLDAsMCwwLDAKY29uZmlndXJlOjM5NTY1OiBjaGVja2luZyBmb3IgY2xvY2tf Z2V0dGltZQpjb25maWd1cmU6Mzk2MjE6IGNjIC1vIGNvbmZ0ZXN0IC1PMiAtZm5vLXN0cmljdC1h bGlhc2luZyAtcGlwZSAtV2FsbCAtSS91c3IvbG9jYWwvaW5jbHVkZSAtREdfRElTQUJMRV9TSU5H TEVfSU5DTFVERVMgLURfUkVFTlRSQU5UIC1ML3Vzci9sb2NhbC9saWIgLWxpbnRsIGNvbmZ0ZXN0 LmMgICA+JjUKY29uZmlndXJlOjM5NjI4OiAkPyA9IDAKY29uZmlndXJlOjM5NjUwOiByZXN1bHQ6 IHllcwpjb25maWd1cmU6Mzk3NDI6IGNoZWNraW5nIGZvciBtb25vdG9uaWMgY2xvY2tzCmNvbmZp Z3VyZTozOTc3MDogY2MgLWMgLU8yIC1mbm8tc3RyaWN0LWFsaWFzaW5nIC1waXBlIC1XYWxsIC1J L3Vzci9sb2NhbC9pbmNsdWRlIC1ER19ESVNBQkxFX1NJTkdMRV9JTkNMVURFUyAtRF9SRUVOVFJB TlQgY29uZnRlc3QuYyA+JjUKY29uZmlndXJlOjM5Nzc3OiAkPyA9IDAKY29uZmlndXJlOjM5Nzky OiByZXN1bHQ6IHllcwpjb25maWd1cmU6Mzk4MDQ6IGNoZWNraW5nIHdoZXRoZXIgdG8gdXNlIGFz c2VtYmxlciBjb2RlIGZvciBhdG9taWMgb3BlcmF0aW9ucwpjb25maWd1cmU6Mzk4OTQ6IHJlc3Vs dDogeDg2XzY0CmNvbmZpZ3VyZTo0MDA0MzogY2hlY2tpbmcgdmFsdWUgb2YgUE9MTElOCmNvbmZp Z3VyZTo0MDMzODogY2MgLW8gY29uZnRlc3QgLU8yIC1mbm8tc3RyaWN0LWFsaWFzaW5nIC1waXBl IC1XYWxsIC1JL3Vzci9sb2NhbC9pbmNsdWRlIC1ER19ESVNBQkxFX1NJTkdMRV9JTkNMVURFUyAt RF9SRUVOVFJBTlQgLUwvdXNyL2xvY2FsL2xpYiAtbGludGwgY29uZnRlc3QuYyAgID4mNQpjb25m aWd1cmU6NDAzNDI6ICQ/ID0gMApjb25maWd1cmU6NDAzNDg6IC4vY29uZnRlc3QKY29uZmlndXJl OjQwMzUyOiAkPyA9IDAKY29uZmlndXJlOjQwMzY5OiByZXN1bHQ6IDEKY29uZmlndXJlOjQwMzcy OiBjaGVja2luZyB2YWx1ZSBvZiBQT0xMT1VUCmNvbmZpZ3VyZTo0MDY2NzogY2MgLW8gY29uZnRl c3QgLU8yIC1mbm8tc3RyaWN0LWFsaWFzaW5nIC1waXBlIC1XYWxsIC1JL3Vzci9sb2NhbC9pbmNs dWRlIC1ER19ESVNBQkxFX1NJTkdMRV9JTkNMVURFUyAtRF9SRUVOVFJBTlQgLUwvdXNyL2xvY2Fs L2xpYiAtbGludGwgY29uZnRlc3QuYyAgID4mNQpjb25maWd1cmU6NDA2NzE6ICQ/ID0gMApjb25m aWd1cmU6NDA2Nzc6IC4vY29uZnRlc3QKY29uZmlndXJlOjQwNjgxOiAkPyA9IDAKY29uZmlndXJl OjQwNjk4OiByZXN1bHQ6IDQKY29uZmlndXJlOjQwNzAxOiBjaGVja2luZyB2YWx1ZSBvZiBQT0xM UFJJCmNvbmZpZ3VyZTo0MDk5NjogY2MgLW8gY29uZnRlc3QgLU8yIC1mbm8tc3RyaWN0LWFsaWFz aW5nIC1waXBlIC1XYWxsIC1JL3Vzci9sb2NhbC9pbmNsdWRlIC1ER19ESVNBQkxFX1NJTkdMRV9J TkNMVURFUyAtRF9SRUVOVFJBTlQgLUwvdXNyL2xvY2FsL2xpYiAtbGludGwgY29uZnRlc3QuYyAg ID4mNQpjb25maWd1cmU6NDEwMDA6ICQ/ID0gMApjb25maWd1cmU6NDEwMDY6IC4vY29uZnRlc3QK Y29uZmlndXJlOjQxMDEwOiAkPyA9IDAKY29uZmlndXJlOjQxMDI3OiByZXN1bHQ6IDIKY29uZmln dXJlOjQxMDMwOiBjaGVja2luZyB2YWx1ZSBvZiBQT0xMRVJSCmNvbmZpZ3VyZTo0MTMyNTogY2Mg LW8gY29uZnRlc3QgLU8yIC1mbm8tc3RyaWN0LWFsaWFzaW5nIC1waXBlIC1XYWxsIC1JL3Vzci9s b2NhbC9pbmNsdWRlIC1ER19ESVNBQkxFX1NJTkdMRV9JTkNMVURFUyAtRF9SRUVOVFJBTlQgLUwv dXNyL2xvY2FsL2xpYiAtbGludGwgY29uZnRlc3QuYyAgID4mNQpjb25maWd1cmU6NDEzMjk6ICQ/ ID0gMApjb25maWd1cmU6NDEzMzU6IC4vY29uZnRlc3QKY29uZmlndXJlOjQxMzM5OiAkPyA9IDAK Y29uZmlndXJlOjQxMzU2OiByZXN1bHQ6IDgKY29uZmlndXJlOjQxMzU5OiBjaGVja2luZyB2YWx1 ZSBvZiBQT0xMSFVQCmNvbmZpZ3VyZTo0MTY1NDogY2MgLW8gY29uZnRlc3QgLU8yIC1mbm8tc3Ry aWN0LWFsaWFzaW5nIC1waXBlIC1XYWxsIC1JL3Vzci9sb2NhbC9pbmNsdWRlIC1ER19ESVNBQkxF X1NJTkdMRV9JTkNMVURFUyAtRF9SRUVOVFJBTlQgLUwvdXNyL2xvY2FsL2xpYiAtbGludGwgY29u ZnRlc3QuYyAgID4mNQpjb25maWd1cmU6NDE2NTg6ICQ/ID0gMApjb25maWd1cmU6NDE2NjQ6IC4v Y29uZnRlc3QKY29uZmlndXJlOjQxNjY4OiAkPyA9IDAKY29uZmlndXJlOjQxNjg1OiByZXN1bHQ6 IDE2CmNvbmZpZ3VyZTo0MTY4ODogY2hlY2tpbmcgdmFsdWUgb2YgUE9MTE5WQUwKY29uZmlndXJl OjQxOTgzOiBjYyAtbyBjb25mdGVzdCAtTzIgLWZuby1zdHJpY3QtYWxpYXNpbmcgLXBpcGUgLVdh bGwgLUkvdXNyL2xvY2FsL2luY2x1ZGUgLURHX0RJU0FCTEVfU0lOR0xFX0lOQ0xVREVTIC1EX1JF RU5UUkFOVCAtTC91c3IvbG9jYWwvbGliIC1saW50bCBjb25mdGVzdC5jICAgPiY1CmNvbmZpZ3Vy ZTo0MTk4NzogJD8gPSAwCmNvbmZpZ3VyZTo0MTk5MzogLi9jb25mdGVzdApjb25maWd1cmU6NDE5 OTc6ICQ/ID0gMApjb25maWd1cmU6NDIwMTQ6IHJlc3VsdDogMzIKY29uZmlndXJlOjQyMDMxOiBj aGVja2luZyBmb3IgYnJva2VuIHBvbGwKY29uZmlndXJlOjQyMDY4OiBjYyAtbyBjb25mdGVzdCAt TzIgLWZuby1zdHJpY3QtYWxpYXNpbmcgLXBpcGUgLVdhbGwgLUkvdXNyL2xvY2FsL2luY2x1ZGUg LURHX0RJU0FCTEVfU0lOR0xFX0lOQ0xVREVTIC1EX1JFRU5UUkFOVCAtTC91c3IvbG9jYWwvbGli IC1saW50bCBjb25mdGVzdC5jICAgPiY1CmNvbmZpZ3VyZTo0MjA3MjogJD8gPSAwCmNvbmZpZ3Vy ZTo0MjA3ODogLi9jb25mdGVzdApjb25maWd1cmU6NDIwODI6ICQ/ID0gMApjb25maWd1cmU6NDIx MDM6IHJlc3VsdDogbm8KY29uZmlndXJlOjQyMjYwOiBjaGVja2luZyBwa2ctY29uZmlnIGlzIGF0 IGxlYXN0IHZlcnNpb24gMC45LjAKY29uZmlndXJlOjQyMjYzOiByZXN1bHQ6IHllcwpjb25maWd1 cmU6NDIyNzQ6IGNoZWNraW5nIGZvciBQQ1JFCmNvbmZpZ3VyZTo0MjI4MTogJFBLR19DT05GSUcg LS1leGlzdHMgLS1wcmludC1lcnJvcnMgImxpYnBjcmUgPj0gJFBDUkVfUkVRVUlSRURfVkVSU0lP TiIKY29uZmlndXJlOjQyMjg0OiAkPyA9IDAKY29uZmlndXJlOjQyMjk3OiAkUEtHX0NPTkZJRyAt LWV4aXN0cyAtLXByaW50LWVycm9ycyAibGlicGNyZSA+PSAkUENSRV9SRVFVSVJFRF9WRVJTSU9O Igpjb25maWd1cmU6NDIzMDA6ICQ/ID0gMApjb25maWd1cmU6NDIzNzc6IHJlc3VsdDogeWVzCmNv bmZpZ3VyZTo0MjM4MTogY2hlY2tpbmcgZm9yIFVuaWNvZGUgc3VwcG9ydCBpbiBQQ1JFCmNvbmZp Z3VyZTo0MjQxNzogY2MgLW8gY29uZnRlc3QgLU8yIC1mbm8tc3RyaWN0LWFsaWFzaW5nIC1waXBl IC1XYWxsIC1JL3Vzci9sb2NhbC9pbmNsdWRlICAgLUkvdXNyL2xvY2FsL2luY2x1ZGUgLURHX0RJ U0FCTEVfU0lOR0xFX0lOQ0xVREVTIC1EX1JFRU5UUkFOVCAtTC91c3IvbG9jYWwvbGliIC1saW50 bCBjb25mdGVzdC5jIC1ML3Vzci9sb2NhbC9saWIgLWxwY3JlICAgPiY1CmNvbmZpZ3VyZTo0MjQy MTogJD8gPSAwCmNvbmZpZ3VyZTo0MjQyNzogLi9jb25mdGVzdApjb25maWd1cmU6NDI0MzE6ICQ/ ID0gMQpjb25maWd1cmU6IHByb2dyYW0gZXhpdGVkIHdpdGggc3RhdHVzIDEKY29uZmlndXJlOiBm YWlsZWQgcHJvZ3JhbSB3YXM6CnwgLyogY29uZmRlZnMuaC4gICovCnwgI2RlZmluZSBQQUNLQUdF X05BTUUgImdsaWIiCnwgI2RlZmluZSBQQUNLQUdFX1RBUk5BTUUgImdsaWIiCnwgI2RlZmluZSBQ QUNLQUdFX1ZFUlNJT04gIjIuMjAuNSIKfCAjZGVmaW5lIFBBQ0tBR0VfU1RSSU5HICJnbGliIDIu MjAuNSIKfCAjZGVmaW5lIFBBQ0tBR0VfQlVHUkVQT1JUICJodHRwOi8vYnVnemlsbGEuZ25vbWUu b3JnL2VudGVyX2J1Zy5jZ2k/cHJvZHVjdD1nbGliIgp8ICNkZWZpbmUgR0xJQl9NQUpPUl9WRVJT SU9OIDIKfCAjZGVmaW5lIEdMSUJfTUlOT1JfVkVSU0lPTiAyMAp8ICNkZWZpbmUgR0xJQl9NSUNS T19WRVJTSU9OIDUKfCAjZGVmaW5lIEdMSUJfSU5URVJGQUNFX0FHRSA1CnwgI2RlZmluZSBHTElC X0JJTkFSWV9BR0UgMjAwNQp8ICNkZWZpbmUgTkVFRF9JQ09OVl9DQUNIRSAxCnwgI2RlZmluZSBT VERDX0hFQURFUlMgMQp8ICNkZWZpbmUgSEFWRV9TWVNfVFlQRVNfSCAxCnwgI2RlZmluZSBIQVZF X1NZU19TVEFUX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERMSUJfSCAxCnwgI2RlZmluZSBIQVZFX1NU UklOR19IIDEKfCAjZGVmaW5lIEhBVkVfTUVNT1JZX0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJJTkdT X0ggMQp8ICNkZWZpbmUgSEFWRV9JTlRUWVBFU19IIDEKfCAjZGVmaW5lIEhBVkVfU1RESU5UX0gg MQp8ICNkZWZpbmUgSEFWRV9VTklTVERfSCAxCnwgI2RlZmluZSBIQVZFX0xPQ0FMRV9IIDEKfCAj ZGVmaW5lIEhBVkVfTENfTUVTU0FHRVMgMQp8ICNkZWZpbmUgSEFWRV9CSU5EX1RFWFRET01BSU5f Q09ERVNFVCAxCnwgI2RlZmluZSBIQVZFX0dFVFRFWFQgMQp8ICNkZWZpbmUgSEFWRV9EQ0dFVFRF WFQgMQp8ICNkZWZpbmUgRU5BQkxFX05MUyAxCnwgI2RlZmluZSBHRVRURVhUX1BBQ0tBR0UgImds aWIyMCIKfCAjZGVmaW5lIEdMSUJfTE9DQUxFX0RJUiAiL3Vzci9sb2NhbC9zaGFyZS9sb2NhbGUi CnwgI2RlZmluZSBVU0VfTElCSUNPTlZfR05VIDEKfCAjZGVmaW5lIEhBVkVfRExGQ05fSCAxCnwg I2RlZmluZSBMVF9PQkpESVIgIi5saWJzLyIKfCAjZGVmaW5lIFNURENfSEVBREVSUyAxCnwgI2Rl ZmluZSBIQVZFX1ZQUklOVEYgMQp8ICNkZWZpbmUgSEFWRV9BTExPQ0EgMQp8ICNkZWZpbmUgSEFW RV9NTUFQIDEKfCAjZGVmaW5lIEhBVkVfUE9TSVhfTUVNQUxJR04gMQp8ICNkZWZpbmUgSEFWRV9W QUxMT0MgMQp8ICNkZWZpbmUgSEFWRV9GU1lOQyAxCnwgI2RlZmluZSBIQVZFX0FURVhJVCAxCnwg I2RlZmluZSBIQVZFX1RJTUVHTSAxCnwgI2RlZmluZSBIQVZFX0dNVElNRV9SIDEKfCAjZGVmaW5l IFNJWkVPRl9DSEFSIDEKfCAjZGVmaW5lIFNJWkVPRl9TSE9SVCAyCnwgI2RlZmluZSBTSVpFT0Zf TE9ORyA4CnwgI2RlZmluZSBTSVpFT0ZfSU5UIDQKfCAjZGVmaW5lIFNJWkVPRl9WT0lEX1AgOAp8 ICNkZWZpbmUgU0laRU9GX0xPTkdfTE9ORyA4CnwgI2RlZmluZSBTSVpFT0ZfX19JTlQ2NCAwCnwg I2RlZmluZSBIQVZFX0xPTkdfTE9OR19GT1JNQVQgMQp8ICNkZWZpbmUgU0FORV9NQUxMT0NfUFJP VE9TIDEKfCAjZGVmaW5lIEdfSEFWRV9fX0lOTElORSAxCnwgI2RlZmluZSBHX0hBVkVfX19JTkxJ TkVfXyAxCnwgI2RlZmluZSBHX0hBVkVfSU5MSU5FIDEKfCAjZGVmaW5lIEhBVkVfRE9XSElMRV9N QUNST1MgMQp8ICNkZWZpbmUgSEFWRV9ESVJFTlRfSCAxCnwgI2RlZmluZSBIQVZFX0ZMT0FUX0gg MQp8ICNkZWZpbmUgSEFWRV9MSU1JVFNfSCAxCnwgI2RlZmluZSBIQVZFX1BXRF9IIDEKfCAjZGVm aW5lIEhBVkVfR1JQX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfUEFSQU1fSCAxCnwgI2RlZmluZSBI QVZFX1NZU19QT0xMX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfUkVTT1VSQ0VfSCAxCnwgI2RlZmlu ZSBIQVZFX1NZU19USU1FX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfVElNRVNfSCAxCnwgI2RlZmlu ZSBIQVZFX1NZU19XQUlUX0ggMQp8ICNkZWZpbmUgSEFWRV9VTklTVERfSCAxCnwgI2RlZmluZSBI QVZFX1NZU19TRUxFQ1RfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19UWVBFU19IIDEKfCAjZGVmaW5l IEhBVkVfU1RESU5UX0ggMQp8ICNkZWZpbmUgSEFWRV9TQ0hFRF9IIDEKfCAjZGVmaW5lIEhBVkVf U1lTX01PVU5UX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfU1RBVFZGU19IIDEKfCAjZGVmaW5lIEhB VkVfU1lTX1NZU0NUTF9IIDEKfCAjZGVmaW5lIEhBVkVfRlNUQUJfSCAxCnwgI2RlZmluZSBIQVZF X1NUUlVDVF9TVEFUX1NUX0JMS1NJWkUgMQp8ICNkZWZpbmUgSEFWRV9TVFJVQ1RfU1RBVF9TVF9C TE9DS1MgMQp8ICNkZWZpbmUgSEFWRV9TVFJVQ1RfU1RBVEZTX0ZfRlNUWVBFTkFNRSAxCnwgI2Rl ZmluZSBIQVZFX1NUUlVDVF9TVEFURlNfRl9CQVZBSUwgMQp8ICNkZWZpbmUgSEFWRV9MQU5HSU5G T19DT0RFU0VUIDEKfCAjZGVmaW5lIEhBVkVfU1REREVGX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERM SUJfSCAxCnwgI2RlZmluZSBIQVZFX1NUUklOR19IIDEKfCAjZGVmaW5lIEhBVkVfU0VUTE9DQUxF IDEKfCAjZGVmaW5lIFNJWkVPRl9TSVpFX1QgOAp8ICNkZWZpbmUgSEFWRV9MU1RBVCAxCnwgI2Rl ZmluZSBIQVZFX1NUUkVSUk9SIDEKfCAjZGVmaW5lIEhBVkVfU1RSU0lHTkFMIDEKfCAjZGVmaW5l IEhBVkVfTUVNTU9WRSAxCnwgI2RlZmluZSBIQVZFX1ZTTlBSSU5URiAxCnwgI2RlZmluZSBIQVZF X1NUUENQWSAxCnwgI2RlZmluZSBIQVZFX1NUUkNBU0VDTVAgMQp8ICNkZWZpbmUgSEFWRV9TVFJO Q0FTRUNNUCAxCnwgI2RlZmluZSBIQVZFX1BPTEwgMQp8ICNkZWZpbmUgSEFWRV9HRVRDV0QgMQp8 ICNkZWZpbmUgSEFWRV9WQVNQUklOVEYgMQp8ICNkZWZpbmUgSEFWRV9TRVRFTlYgMQp8ICNkZWZp bmUgSEFWRV9VTlNFVEVOViAxCnwgI2RlZmluZSBIQVZFX0dFVENfVU5MT0NLRUQgMQp8ICNkZWZp bmUgSEFWRV9SRUFETElOSyAxCnwgI2RlZmluZSBIQVZFX1NZTUxJTksgMQp8ICNkZWZpbmUgSEFW RV9DSE9XTiAxCnwgI2RlZmluZSBIQVZFX0xDSE9XTiAxCnwgI2RlZmluZSBIQVZFX0ZDSE1PRCAx CnwgI2RlZmluZSBIQVZFX0ZDSE9XTiAxCnwgI2RlZmluZSBIQVZFX0xJTksgMQp8ICNkZWZpbmUg SEFWRV9TVEFUVkZTIDEKfCAjZGVmaW5lIEhBVkVfU1RBVEZTIDEKfCAjZGVmaW5lIEhBVkVfVVRJ TUVTIDEKfCAjZGVmaW5lIEhBVkVfR0VUR1JHSUQgMQp8ICNkZWZpbmUgSEFWRV9HRVRQV1VJRCAx CnwgI2RlZmluZSBIQVZFX1NZU0NUTEJZTkFNRSAxCnwgI2RlZmluZSBIQVZFX0dFVE1OVElORk8g MQp8ICNkZWZpbmUgSEFWRV9OQU5PU0xFRVAgMQp8ICNkZWZpbmUgSEFWRV9DOTlfVlNOUFJJTlRG IDEKfCAjZGVmaW5lIEhBVkVfVU5JWDk4X1BSSU5URiAxCnwgI2RlZmluZSBTVEFURlNfQVJHUyAy CnwgI2RlZmluZSBIQVZFX0dPT0RfUFJJTlRGIDEKfCAjZGVmaW5lIEhBVkVfTE9OR19MT05HIDEK fCAjZGVmaW5lIEhBVkVfTE9OR19ET1VCTEUgMQp8ICNkZWZpbmUgSEFWRV9XQ0hBUl9UIDEKfCAj ZGVmaW5lIEhBVkVfV0lOVF9UIDEKfCAjZGVmaW5lIEhBVkVfUFRSRElGRl9UIDEKfCAjZGVmaW5l IEhBVkVfSU5UVFlQRVNfSF9XSVRIX1VJTlRNQVggMQp8ICNkZWZpbmUgSEFWRV9TVERJTlRfSF9X SVRIX1VJTlRNQVggMQp8ICNkZWZpbmUgSEFWRV9JTlRNQVhfVCAxCnwgI2RlZmluZSBIQVZFX1NO UFJJTlRGIDEKfCAjZGVmaW5lIEhBVkVfV0NTTEVOIDEKfCAjZGVmaW5lIEhBVkVfQzk5X1NOUFJJ TlRGIDEKfCAjZGVmaW5lIFJFQUxMT0NfMF9XT1JLUyAxCnwgI2RlZmluZSBIQVZFX0NPREVTRVQg MQp8ICNkZWZpbmUgUE9TSVhfTUVNQUxJR05fV0lUSF9DT01QTElBTlRfQUxMT0NTIDEKfCAjZGVm aW5lIEhBVkVfU1RSTENQWSAxCnwgI2RlZmluZSBHX1ZBX0NPUFkgdmFfY29weQp8ICNkZWZpbmUg R19WQV9DT1BZX0FTX0FSUkFZIDEKfCAjZGVmaW5lIEhBVkVfTE9DQUxUSU1FX1IgMQp8ICNkZWZp bmUgSEFWRV9HTVRJTUVfUiAxCnwgI2RlZmluZSBIQVZFX1BPU0lYX0dFVFBXVUlEX1IgMQp8ICNk ZWZpbmUgSEFWRV9QT1NJWF9HRVRHUkdJRF9SIDEKfCAjZGVmaW5lIEdMSUJfU0laRU9GX1NZU1RF TV9USFJFQUQgOAp8ICNkZWZpbmUgSEFWRV9QVEhSRUFEX0FUVFJfU0VUU1RBQ0tTSVpFIDEKfCAj ZGVmaW5lIFBPU0lYX01JTl9QUklPUklUWSBzY2hlZF9nZXRfcHJpb3JpdHlfbWluKFNDSEVEX09U SEVSKQp8ICNkZWZpbmUgUE9TSVhfTUFYX1BSSU9SSVRZIHNjaGVkX2dldF9wcmlvcml0eV9tYXgo U0NIRURfT1RIRVIpCnwgI2RlZmluZSBQT1NJWF9ZSUVMRF9GVU5DIHNjaGVkX3lpZWxkKCkKfCAj ZGVmaW5lIEdfVEhSRUFEX1NPVVJDRSAiZ3RocmVhZC1wb3NpeC5jIgp8ICNkZWZpbmUgR0xJQl9T SVpFT0ZfR01VVEVYIDgKfCAjZGVmaW5lIEdMSUJfQllURV9DT05URU5UU19HTVVURVggMCwwLDAs MCwwLDAsMCwwCnwgI2RlZmluZSBIQVZFX0NMT0NLX0dFVFRJTUUgMQp8ICNkZWZpbmUgSEFWRV9N T05PVE9OSUNfQ0xPQ0sgMQp8ICNkZWZpbmUgR19BVE9NSUNfWDg2XzY0IDEKfCAjZGVmaW5lIEVO QUJMRV9SRUdFWCAvKiovCnwgLyogZW5kIGNvbmZkZWZzLmguICAqLwp8ICNpbmNsdWRlIDxwY3Jl Lmg+CnwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBtYWluICgpIHsKfCAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3VwcG9ydDsKfCAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICBwY3JlX2NvbmZpZyAoUENSRV9DT05GSUdfVVRGOCwgJnN1cHBv cnQpOwp8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmICghc3VwcG9ydCkKfCAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiAxOwp8ICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIHBjcmVfY29uZmlnIChQQ1JFX0NPTkZJR19VTklDT0RFX1BS T1BFUlRJRVMsICZzdXBwb3J0KTsKfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBp ZiAoIXN1cHBvcnQpCnwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4g MTsKfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gMDsKfCAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgfQpjb25maWd1cmU6NDI0NTE6IHJlc3VsdDogbm8KY29u ZmlndXJlOjQyNDU0OiBlcnJvcjogKioqIFRoZSBzeXN0ZW0tc3VwcGxpZWQgUENSRSBkb2VzIG5v dCBzdXBwb3J0IFVuaWNvZGUgcHJvcGVydGllcyBvciBVVEYtOC4KCiMjIC0tLS0tLS0tLS0tLS0t LS0gIyMKIyMgQ2FjaGUgdmFyaWFibGVzLiAjIwojIyAtLS0tLS0tLS0tLS0tLS0tICMjCgphY19j dl9idWlsZD14ODZfNjQtcG9ydGJsZC1mcmVlYnNkNy4yCmFjX2N2X2NfYmlnZW5kaWFuPW5vCmFj X2N2X2NfY29tcGlsZXJfZ251PXllcwphY19jdl9jX2NvbnN0PXllcwphY19jdl9jeHhfY29tcGls ZXJfZ251PXllcwphY19jdl9lbnZfQ0NDX3NldD0nJwphY19jdl9lbnZfQ0NDX3ZhbHVlPScnCmFj X2N2X2Vudl9DQ19zZXQ9c2V0CmFjX2N2X2Vudl9DQ192YWx1ZT1jYwphY19jdl9lbnZfQ0ZMQUdT X3NldD1zZXQKYWNfY3ZfZW52X0NGTEFHU192YWx1ZT0nLU8yIC1mbm8tc3RyaWN0LWFsaWFzaW5n IC1waXBlJwphY19jdl9lbnZfQ1BQRkxBR1Nfc2V0PXNldAphY19jdl9lbnZfQ1BQRkxBR1NfdmFs dWU9LUkvdXNyL2xvY2FsL2luY2x1ZGUKYWNfY3ZfZW52X0NQUF9zZXQ9JycKYWNfY3ZfZW52X0NQ UF92YWx1ZT0nJwphY19jdl9lbnZfQ1hYQ1BQX3NldD0nJwphY19jdl9lbnZfQ1hYQ1BQX3ZhbHVl PScnCmFjX2N2X2Vudl9DWFhGTEFHU19zZXQ9c2V0CmFjX2N2X2Vudl9DWFhGTEFHU192YWx1ZT0n LU8yIC1mbm8tc3RyaWN0LWFsaWFzaW5nIC1waXBlJwphY19jdl9lbnZfQ1hYX3NldD1zZXQKYWNf Y3ZfZW52X0NYWF92YWx1ZT1jKysKYWNfY3ZfZW52X0xERkxBR1Nfc2V0PXNldAphY19jdl9lbnZf TERGTEFHU192YWx1ZT0nLUwvdXNyL2xvY2FsL2xpYiAtbGludGwnCmFjX2N2X2Vudl9MSUJTX3Nl dD0nJwphY19jdl9lbnZfTElCU192YWx1ZT0nJwphY19jdl9lbnZfUENSRV9DRkxBR1Nfc2V0PScn CmFjX2N2X2Vudl9QQ1JFX0NGTEFHU192YWx1ZT0nJwphY19jdl9lbnZfUENSRV9MSUJTX3NldD0n JwphY19jdl9lbnZfUENSRV9MSUJTX3ZhbHVlPScnCmFjX2N2X2Vudl9QS0dfQ09ORklHX3NldD0n JwphY19jdl9lbnZfUEtHX0NPTkZJR192YWx1ZT0nJwphY19jdl9lbnZfYnVpbGRfYWxpYXNfc2V0 PXNldAphY19jdl9lbnZfYnVpbGRfYWxpYXNfdmFsdWU9eDg2XzY0LXBvcnRibGQtZnJlZWJzZDcu MgphY19jdl9lbnZfaG9zdF9hbGlhc19zZXQ9JycKYWNfY3ZfZW52X2hvc3RfYWxpYXNfdmFsdWU9 JycKYWNfY3ZfZW52X3RhcmdldF9hbGlhc19zZXQ9JycKYWNfY3ZfZW52X3RhcmdldF9hbGlhc192 YWx1ZT0nJwphY19jdl9mdW5jX19OU0dldEVudmlyb249bm8KYWNfY3ZfZnVuY19fZG9wcm50PW5v CmFjX2N2X2Z1bmNfYWxsb2NhX3dvcmtzPXllcwphY19jdl9mdW5jX2F0ZXhpdD15ZXMKYWNfY3Zf ZnVuY19iaW5kX3RleHRkb21haW5fY29kZXNldD15ZXMKYWNfY3ZfZnVuY19jaG93bj15ZXMKYWNf Y3ZfZnVuY19jbG9ja19nZXR0aW1lPXllcwphY19jdl9mdW5jX2RjZ2V0dGV4dD15ZXMKYWNfY3Zf ZnVuY19kbGVycm9yPXllcwphY19jdl9mdW5jX2Rsb3Blbj15ZXMKYWNfY3ZfZnVuY19kbHN5bT15 ZXMKYWNfY3ZfZnVuY19lbmRtbnRlbnQ9bm8KYWNfY3ZfZnVuY19mY2htb2Q9eWVzCmFjX2N2X2Z1 bmNfZmNob3duPXllcwphY19jdl9mdW5jX2Zkd2Fsaz1ubwphY19jdl9mdW5jX2ZzeW5jPXllcwph Y19jdl9mdW5jX2dldGNfdW5sb2NrZWQ9eWVzCmFjX2N2X2Z1bmNfZ2V0Y3dkPXllcwphY19jdl9m dW5jX2dldGdyZ2lkPXllcwphY19jdl9mdW5jX2dldG1udGVudF9yPW5vCmFjX2N2X2Z1bmNfZ2V0 bW50aW5mbz15ZXMKYWNfY3ZfZnVuY19nZXRwd3VpZD15ZXMKYWNfY3ZfZnVuY19nbXRpbWVfcj15 ZXMKYWNfY3ZfZnVuY19oYXNtbnRvcHQ9bm8KYWNfY3ZfZnVuY19sY2hvd249eWVzCmFjX2N2X2Z1 bmNfbGluaz15ZXMKYWNfY3ZfZnVuY19sb2NhbHRpbWVfcj15ZXMKYWNfY3ZfZnVuY19sc3RhdD15 ZXMKYWNfY3ZfZnVuY19tZW1hbGlnbj1ubwphY19jdl9mdW5jX21lbW1vdmU9eWVzCmFjX2N2X2Z1 bmNfbW1hcD15ZXMKYWNfY3ZfZnVuY19uYW5vc2xlZXA9eWVzCmFjX2N2X2Z1bmNfbnNsZWVwPW5v CmFjX2N2X2Z1bmNfb25fZXhpdD1ubwphY19jdl9mdW5jX3BpcGUyPW5vCmFjX2N2X2Z1bmNfcG9s bD15ZXMKYWNfY3ZfZnVuY19wb3NpeF9nZXRncmdpZF9yPXllcwphY19jdl9mdW5jX3Bvc2l4X2dl dHB3dWlkX3I9eWVzCmFjX2N2X2Z1bmNfcG9zaXhfbWVtYWxpZ249eWVzCmFjX2N2X2Z1bmNfcHJp bnRmX3VuaXg5OD15ZXMKYWNfY3ZfZnVuY19yZWFkbGluaz15ZXMKYWNfY3ZfZnVuY19zZXRlbnY9 eWVzCmFjX2N2X2Z1bmNfc2V0bG9jYWxlPXllcwphY19jdl9mdW5jX3NldG1udGVudD1ubwphY19j dl9mdW5jX3NucHJpbnRmPXllcwphY19jdl9mdW5jX3NucHJpbnRmX2M5OT15ZXMKYWNfY3ZfZnVu Y19zdGF0ZnM9eWVzCmFjX2N2X2Z1bmNfc3RhdHZmcz15ZXMKYWNfY3ZfZnVuY19zdHBjcHk9eWVz CmFjX2N2X2Z1bmNfc3RyY2FzZWNtcD15ZXMKYWNfY3ZfZnVuY19zdHJlcnJvcj15ZXMKYWNfY3Zf ZnVuY19zdHJuY2FzZWNtcD15ZXMKYWNfY3ZfZnVuY19zdHJzaWduYWw9eWVzCmFjX2N2X2Z1bmNf c3ltbGluaz15ZXMKYWNfY3ZfZnVuY19zeXNjdGxieW5hbWU9eWVzCmFjX2N2X2Z1bmNfdGltZWdt PXllcwphY19jdl9mdW5jX3Vuc2V0ZW52PXllcwphY19jdl9mdW5jX3V0aW1lcz15ZXMKYWNfY3Zf ZnVuY192YWxsb2M9eWVzCmFjX2N2X2Z1bmNfdmFzcHJpbnRmPXllcwphY19jdl9mdW5jX3Zwcmlu dGY9eWVzCmFjX2N2X2Z1bmNfdnNucHJpbnRmPXllcwphY19jdl9mdW5jX3ZzbnByaW50Zl9jOTk9 eWVzCmFjX2N2X2Z1bmNfd2NzbGVuPXllcwphY19jdl9nbnVfbGlicmFyeV8yXzE9bm8KYWNfY3Zf aGVhZGVyX2NydF9leHRlcm5zX2g9bm8KYWNfY3ZfaGVhZGVyX2RpcmVudF9oPXllcwphY19jdl9o ZWFkZXJfZGxmY25faD15ZXMKYWNfY3ZfaGVhZGVyX2Zsb2F0X2g9eWVzCmFjX2N2X2hlYWRlcl9m c3RhYl9oPXllcwphY19jdl9oZWFkZXJfZ3JwX2g9eWVzCmFjX2N2X2hlYWRlcl9pbnR0eXBlc19o PXllcwphY19jdl9oZWFkZXJfbGliaW50bF9oPXllcwphY19jdl9oZWFkZXJfbGltaXRzX2g9eWVz CmFjX2N2X2hlYWRlcl9sb2NhbGVfaD15ZXMKYWNfY3ZfaGVhZGVyX21hbGxvY19oPW5vCmFjX2N2 X2hlYWRlcl9tZW1vcnlfaD15ZXMKYWNfY3ZfaGVhZGVyX21udGVudF9oPW5vCmFjX2N2X2hlYWRl cl9wd2RfaD15ZXMKYWNfY3ZfaGVhZGVyX3NjaGVkX2g9eWVzCmFjX2N2X2hlYWRlcl9zdGRjPXll cwphY19jdl9oZWFkZXJfc3RkZGVmX2g9eWVzCmFjX2N2X2hlYWRlcl9zdGRpbnRfaD15ZXMKYWNf Y3ZfaGVhZGVyX3N0ZGxpYl9oPXllcwphY19jdl9oZWFkZXJfc3RyaW5nX2g9eWVzCmFjX2N2X2hl YWRlcl9zdHJpbmdzX2g9eWVzCmFjX2N2X2hlYWRlcl9zeXNfaW5vdGlmeV9oPW5vCmFjX2N2X2hl YWRlcl9zeXNfbW50Y3RsX2g9bm8KYWNfY3ZfaGVhZGVyX3N5c19tbnR0YWJfaD1ubwphY19jdl9o ZWFkZXJfc3lzX21vdW50X2g9eWVzCmFjX2N2X2hlYWRlcl9zeXNfcGFyYW1faD15ZXMKYWNfY3Zf aGVhZGVyX3N5c19wb2xsX2g9eWVzCmFjX2N2X2hlYWRlcl9zeXNfcmVzb3VyY2VfaD15ZXMKYWNf Y3ZfaGVhZGVyX3N5c19zZWxlY3RfaD15ZXMKYWNfY3ZfaGVhZGVyX3N5c19zdGF0X2g9eWVzCmFj X2N2X2hlYWRlcl9zeXNfc3RhdGZzX2g9bm8KYWNfY3ZfaGVhZGVyX3N5c19zdGF0dmZzX2g9eWVz CmFjX2N2X2hlYWRlcl9zeXNfc3lzY3RsX2g9eWVzCmFjX2N2X2hlYWRlcl9zeXNfdGltZV9oPXll cwphY19jdl9oZWFkZXJfc3lzX3RpbWVzX2g9eWVzCmFjX2N2X2hlYWRlcl9zeXNfdHlwZXNfaD15 ZXMKYWNfY3ZfaGVhZGVyX3N5c192ZnNfaD1ubwphY19jdl9oZWFkZXJfc3lzX3Zmc3RhYl9oPW5v CmFjX2N2X2hlYWRlcl9zeXNfdm1vdW50X2g9bm8KYWNfY3ZfaGVhZGVyX3N5c193YWl0X2g9eWVz CmFjX2N2X2hlYWRlcl91bmlzdGRfaD15ZXMKYWNfY3ZfaGVhZGVyX3ZhbHVlc19oPW5vCmFjX2N2 X2hvc3Q9eDg2XzY0LXBvcnRibGQtZnJlZWJzZDcuMgphY19jdl9saWJfYXR0cl9nZXR4YXR0cj1u bwphY19jdl9saWJfY19nZXR4YXR0cj1ubwphY19jdl9saWJfaWNvbnZfbGliaWNvbnZfb3Blbj15 ZXMKYWNfY3ZfbGliX3NlbGludXhfaXNfc2VsaW51eF9lbmFibGVkPW5vCmFjX2N2X21lbWJlcl9z dHJ1Y3Rfc3RhdF9zdF9hdGltX3R2X25zZWM9bm8KYWNfY3ZfbWVtYmVyX3N0cnVjdF9zdGF0X3N0 X2F0aW1lbnNlYz1ubwphY19jdl9tZW1iZXJfc3RydWN0X3N0YXRfc3RfYmxrc2l6ZT15ZXMKYWNf Y3ZfbWVtYmVyX3N0cnVjdF9zdGF0X3N0X2Jsb2Nrcz15ZXMKYWNfY3ZfbWVtYmVyX3N0cnVjdF9z dGF0X3N0X2N0aW1fdHZfbnNlYz1ubwphY19jdl9tZW1iZXJfc3RydWN0X3N0YXRfc3RfY3RpbWVu c2VjPW5vCmFjX2N2X21lbWJlcl9zdHJ1Y3Rfc3RhdF9zdF9tdGltX3R2X25zZWM9bm8KYWNfY3Zf bWVtYmVyX3N0cnVjdF9zdGF0X3N0X210aW1lbnNlYz1ubwphY19jdl9tZW1iZXJfc3RydWN0X3N0 YXRmc19mX2JhdmFpbD15ZXMKYWNfY3ZfbWVtYmVyX3N0cnVjdF9zdGF0ZnNfZl9mc3R5cGVuYW1l PXllcwphY19jdl9tZW1iZXJfc3RydWN0X3N0YXR2ZnNfZl9iYXNldHlwZT1ubwphY19jdl9vYmpl eHQ9bwphY19jdl9wYXRoX0RPTFRfQkFTSD0nJwphY19jdl9wYXRoX0VHUkVQPScvdXNyL2Jpbi9n cmVwIC1FJwphY19jdl9wYXRoX0ZHUkVQPScvdXNyL2Jpbi9ncmVwIC1GJwphY19jdl9wYXRoX0dN U0dGTVQ9L3Vzci9sb2NhbC9iaW4vbXNnZm10CmFjX2N2X3BhdGhfR1JFUD0vdXNyL2Jpbi9ncmVw CmFjX2N2X3BhdGhfTVNHRk1UPS91c3IvbG9jYWwvYmluL21zZ2ZtdAphY19jdl9wYXRoX1BFUkxf UEFUSD0vdXNyL2Jpbi9wZXJsNQphY19jdl9wYXRoX1BLR19DT05GSUc9L3Vzci9sb2NhbC9iaW4v cGtnLWNvbmZpZwphY19jdl9wYXRoX1NFRD0vdXNyL2Jpbi9zZWQKYWNfY3ZfcGF0aF9YR0VUVEVY VD0vdXNyL2xvY2FsL2Jpbi94Z2V0dGV4dAphY19jdl9wcm9nX0FXSz1uYXdrCmFjX2N2X3Byb2df Q1BQPSdjYyAtRScKYWNfY3ZfcHJvZ19DWFg9YysrCmFjX2N2X3Byb2dfQ1hYQ1BQPSdjKysgLUUn CmFjX2N2X3Byb2dfSU5ERU5UPWluZGVudAphY19jdl9wcm9nX1BFUkw9cGVybDUKYWNfY3ZfcHJv Z19hY19jdF9BUj1hcgphY19jdl9wcm9nX2FjX2N0X0NDPWNjCmFjX2N2X3Byb2dfYWNfY3RfT0JK RFVNUD1vYmpkdW1wCmFjX2N2X3Byb2dfYWNfY3RfUkFOTElCPXJhbmxpYgphY19jdl9wcm9nX2Fj X2N0X1NUUklQPXN0cmlwCmFjX2N2X3Byb2dfY2NfYzg5PScnCmFjX2N2X3Byb2dfY2NfY2NfY19v PXllcwphY19jdl9wcm9nX2NjX2c9eWVzCmFjX2N2X3Byb2dfY3h4X2c9eWVzCmFjX2N2X3Byb2df bWFrZV9nbWFrZV9zZXQ9eWVzCmFjX2N2X3NpemVvZl9fX2ludDY0PTAKYWNfY3Zfc2l6ZW9mX2No YXI9MQphY19jdl9zaXplb2ZfaW50PTQKYWNfY3Zfc2l6ZW9mX2xvbmc9OAphY19jdl9zaXplb2Zf bG9uZ19sb25nPTgKYWNfY3Zfc2l6ZW9mX3Nob3J0PTIKYWNfY3Zfc2l6ZW9mX3NpemVfdD04CmFj X2N2X3NpemVvZl92b2lkX3A9OAphY19jdl9zeXNfZmlsZV9vZmZzZXRfYml0cz1ubwphY19jdl9z eXNfbGFyZ2VmaWxlX0NDPW5vCmFjX2N2X3R5cGVfbG9uZ19sb25nPXllcwphY19jdl90eXBlX3B0 cmRpZmZfdD15ZXMKYWNfY3ZfdHlwZV9zaXplX3Q9eWVzCmFjX2N2X3dvcmtpbmdfYWxsb2NhX2g9 bm8KYW1fY3ZfQ0NfZGVwZW5kZW5jaWVzX2NvbXBpbGVyX3R5cGU9Z2NjMwphbV9jdl9DWFhfZGVw ZW5kZW5jaWVzX2NvbXBpbGVyX3R5cGU9Z2NjMwphbV9jdl9sYW5naW5mb19jb2Rlc2V0PXllcwph bV9jdl9wcm9nX2NjX3N0ZGM9JycKYW1fY3ZfcHl0aG9uX3BsYXRmb3JtPWZyZWVic2Q3CmFtX2N2 X3B5dGhvbl9weWV4ZWNkaXI9JyR7ZXhlY19wcmVmaXh9L2xpYi9weXRob24yLjUvc2l0ZS1wYWNr YWdlcycKYW1fY3ZfcHl0aG9uX3B5dGhvbmRpcj0nJHtwcmVmaXh9L2xpYi9weXRob24yLjUvc2l0 ZS1wYWNrYWdlcycKYW1fY3ZfcHl0aG9uX3ZlcnNpb249Mi41CmFtX2N2X3ZhbF9MQ19NRVNTQUdF Uz15ZXMKYmhfY3ZfY19zaWduZWQ9eWVzCmdfY3Zfc3VwcG9ydF9kb3doaWxlX21hY3Jvcz15ZXMK Z2xpYl9jdl9fX3ZhX2NvcHk9eWVzCmdsaWJfY3ZfYnl0ZV9jb250ZW50c19nbXV0ZXg9MCwwLDAs MCwwLDAsMCwwCmdsaWJfY3ZfY29tcGxpYW50X3Bvc2l4X21lbWFsaWduPTEKZ2xpYl9jdl9oYXNf X2lubGluZT15ZXMKZ2xpYl9jdl9oYXNfX2lubGluZV9fPXllcwpnbGliX2N2X2hhc2lubGluZT15 ZXMKZ2xpYl9jdl9oYXZlX3N0cmxjcHk9eWVzCmdsaWJfY3ZfbGFuZ2luZm9fY29kZXNldD15ZXMK Z2xpYl9jdl9sb25nX2xvbmdfZm9ybWF0PWxsCmdsaWJfY3ZfbW9ub3RvbmljX2Nsb2NrPXllcwpn bGliX2N2X3BjcmVfaGFzX3VuaWNvZGU9bm8KZ2xpYl9jdl9ydGxkZ2xvYmFsX2Jyb2tlbj1ubwpn bGliX2N2X3NhbmVfcmVhbGxvYz15ZXMKZ2xpYl9jdl9zaXplb2ZfZ211dGV4PTgKZ2xpYl9jdl9z aXplb2Zfc3lzdGVtX3RocmVhZD04CmdsaWJfY3Zfc3RhY2tfZ3Jvd3M9bm8KZ2xpYl9jdl91c2Nv cmU9bm8KZ2xpYl9jdl92YV9jb3B5PXllcwpnbGliX2N2X3ZhX3ZhbF9jb3B5PW5vCmdsaWJfY3Zf dmFsdWVfUE9MTEVSUj04CmdsaWJfY3ZfdmFsdWVfUE9MTEhVUD0xNgpnbGliX2N2X3ZhbHVlX1BP TExJTj0xCmdsaWJfY3ZfdmFsdWVfUE9MTE5WQUw9MzIKZ2xpYl9jdl92YWx1ZV9QT0xMT1VUPTQK Z2xpYl9jdl92YWx1ZV9QT0xMUFJJPTIKZ3RfY3ZfY19sb25nX2RvdWJsZT15ZXMKZ3RfY3ZfY193 Y2hhcl90PXllcwpndF9jdl9jX3dpbnRfdD15ZXMKZ3RfY3ZfZnVuY19kZ2V0dGV4dF9saWJjPXll cwpndF9jdl9mdW5jX2RnZXR0ZXh0X2xpYmludGw9bm8KZ3RfY3ZfZnVuY19uZ2V0dGV4dF9saWJj PXllcwpndF9jdl9oYXZlX2dldHRleHQ9eWVzCmptX2FjX2N2X2hlYWRlcl9pbnR0eXBlc19oPXll cwpqbV9hY19jdl9oZWFkZXJfc3RkaW50X2g9eWVzCmx0X2N2X2RlcGxpYnNfY2hlY2tfbWV0aG9k PXBhc3NfYWxsCmx0X2N2X2ZpbGVfbWFnaWNfY21kPSckTUFHSUNfQ01EJwpsdF9jdl9maWxlX21h Z2ljX3Rlc3RfZmlsZT0nJwpsdF9jdl9sZF9yZWxvYWRfZmxhZz0tcgpsdF9jdl9ubV9pbnRlcmZh Y2U9J0JTRCBubScKbHRfY3Zfb2JqZGlyPS5saWJzCmx0X2N2X3BhdGhfTEQ9L3Vzci9iaW4vbGQK bHRfY3ZfcGF0aF9MRENYWD0vdXNyL2Jpbi9sZApsdF9jdl9wYXRoX05NPScvdXNyL2Jpbi9ubSAt QicKbHRfY3ZfcHJvZ19jb21waWxlcl9jX289eWVzCmx0X2N2X3Byb2dfY29tcGlsZXJfY19vX0NY WD15ZXMKbHRfY3ZfcHJvZ19jb21waWxlcl9waWNfd29ya3M9eWVzCmx0X2N2X3Byb2dfY29tcGls ZXJfcGljX3dvcmtzX0NYWD15ZXMKbHRfY3ZfcHJvZ19jb21waWxlcl9ydHRpX2V4Y2VwdGlvbnM9 bm8KbHRfY3ZfcHJvZ19jb21waWxlcl9zdGF0aWNfd29ya3M9eWVzCmx0X2N2X3Byb2dfY29tcGls ZXJfc3RhdGljX3dvcmtzX0NYWD15ZXMKbHRfY3ZfcHJvZ19nbnVfbGQ9eWVzCmx0X2N2X3Byb2df Z251X2xkY3h4PXllcwpsdF9jdl9zeXNfZ2xvYmFsX3N5bWJvbF9waXBlPSdzZWQgLW4gLWUgJ1wn J3MvXi4qWwkgXVwoW0FCQ0RHSVJTVFddW0FCQ0RHSVJTVFddKlwpWwkgXVsJIF0qXChbX0EtWmEt el1bX0EtWmEtejAtOV0qXCkkL1wxIFwyIFwyL3AnXCcnJwpsdF9jdl9zeXNfZ2xvYmFsX3N5bWJv bF90b19jX25hbWVfYWRkcmVzcz0nc2VkIC1uIC1lICdcJydzL146IFwoW14gXSpcKSAkLyAge1wi XDFcIiwgKHZvaWQgKikgMH0sL3AnXCcnIC1lICdcJydzL15bQUJDREdJUlNUV10qIFwoW14gXSpc KSBcKFteIF0qXCkkLyAgeyJcMiIsICh2b2lkICopIFwmXDJ9LC9wJ1wnJycKbHRfY3Zfc3lzX2ds b2JhbF9zeW1ib2xfdG9fY19uYW1lX2FkZHJlc3NfbGliX3ByZWZpeD0nc2VkIC1uIC1lICdcJydz L146IFwoW14gXSpcKSAkLyAge1wiXDFcIiwgKHZvaWQgKikgMH0sL3AnXCcnIC1lICdcJydzL15b QUJDREdJUlNUV10qIFwoW14gXSpcKSBcKGxpYlteIF0qXCkkLyAgeyJcMiIsICh2b2lkICopIFwm XDJ9LC9wJ1wnJyAtZSAnXCcncy9eW0FCQ0RHSVJTVFddKiBcKFteIF0qXCkgXChbXiBdKlwpJC8g IHsibGliXDIiLCAodm9pZCAqKSBcJlwyfSwvcCdcJycnCmx0X2N2X3N5c19nbG9iYWxfc3ltYm9s X3RvX2NkZWNsPSdzZWQgLW4gLWUgJ1wnJ3MvXlQgLiogXCguKlwpJC9leHRlcm4gaW50IFwxKCk7 L3AnXCcnIC1lICdcJydzL15bQUJDREdJUlNUV10qIC4qIFwoLipcKSQvZXh0ZXJuIGNoYXIgXDE7 L3AnXCcnJwpsdF9jdl9zeXNfbWF4X2NtZF9sZW49MjYyMTQ0CnBrZ19jdl9QQ1JFX0NGTEFHUz0n LUkvdXNyL2xvY2FsL2luY2x1ZGUgICcKcGtnX2N2X1BDUkVfTElCUz0nLUwvdXNyL2xvY2FsL2xp YiAtbHBjcmUgICcKCiMjIC0tLS0tLS0tLS0tLS0tLS0tICMjCiMjIE91dHB1dCB2YXJpYWJsZXMu ICMjCiMjIC0tLS0tLS0tLS0tLS0tLS0tICMjCgpBQ0xPQ0FMPScke1NIRUxMfSAvdXNyL3BvcnRz L2RldmVsL2dsaWIyMC93b3JrL2dsaWItMi4yMC41L21pc3NpbmcgLS1ydW4gYWNsb2NhbC0xLjEx JwpBTExPQ0E9JycKQU1ERVBCQUNLU0xBU0g9J1wnCkFNREVQX0ZBTFNFPScjJwpBTURFUF9UUlVF PScnCkFNVEFSPScke1NIRUxMfSAvdXNyL3BvcnRzL2RldmVsL2dsaWIyMC93b3JrL2dsaWItMi4y MC41L21pc3NpbmcgLS1ydW4gdGFyJwpBUj0nYXInCkFTPSdhcycKQVVUT0NPTkY9JyR7U0hFTEx9 IC91c3IvcG9ydHMvZGV2ZWwvZ2xpYjIwL3dvcmsvZ2xpYi0yLjIwLjUvbWlzc2luZyAtLXJ1biBh dXRvY29uZicKQVVUT0hFQURFUj0nJHtTSEVMTH0gL3Vzci9wb3J0cy9kZXZlbC9nbGliMjAvd29y ay9nbGliLTIuMjAuNS9taXNzaW5nIC0tcnVuIGF1dG9oZWFkZXInCkFVVE9NQUtFPScke1NIRUxM fSAvdXNyL3BvcnRzL2RldmVsL2dsaWIyMC93b3JrL2dsaWItMi4yMC41L21pc3NpbmcgLS1ydW4g YXV0b21ha2UtMS4xMScKQVdLPSduYXdrJwpDQVRBTE9HUz0nIGFtLmdtbyBhci5nbW8gYXMuZ21v IGF6LmdtbyBiZS5nbW8gYmVAbGF0aW4uZ21vIGJnLmdtbyBibi5nbW8gYm5fSU4uZ21vIGJzLmdt byBjYS5nbW8gY2FAdmFsZW5jaWEuZ21vIGNzLmdtbyBjeS5nbW8gZGEuZ21vIGRlLmdtbyBkei5n bW8gZWwuZ21vIGVuX0NBLmdtbyBlbl9HQi5nbW8gZW8uZ21vIGVzLmdtbyBldC5nbW8gZXUuZ21v IGZhLmdtbyBmaS5nbW8gZnIuZ21vIGdhLmdtbyBnbC5nbW8gZ3UuZ21vIGhlLmdtbyBoaS5nbW8g aHIuZ21vIGh1LmdtbyBoeS5nbW8gaWQuZ21vIGlzLmdtbyBpdC5nbW8gamEuZ21vIGthLmdtbyBr bi5nbW8ga28uZ21vIGt1LmdtbyBsdC5nbW8gbHYuZ21vIG1haS5nbW8gbWcuZ21vIG1rLmdtbyBt bC5nbW8gbW4uZ21vIG1yLmdtbyBtcy5nbW8gbmIuZ21vIG5lLmdtbyBubC5nbW8gbm4uZ21vIG9j LmdtbyBvci5nbW8gcGEuZ21vIHBsLmdtbyBwcy5nbW8gcHQuZ21vIHB0X0JSLmdtbyByby5nbW8g cnUuZ21vIHJ3LmdtbyBzaS5nbW8gc2suZ21vIHNsLmdtbyBzcS5nbW8gc3IuZ21vIHNyQGxhdGlu LmdtbyBzckBpamUuZ21vIHN2LmdtbyB0YS5nbW8gdGUuZ21vIHRoLmdtbyB0bC5nbW8gdHIuZ21v IHR0LmdtbyB1ay5nbW8gdmkuZ21vIHdhLmdtbyB4aC5nbW8geWkuZ21vIHpoX0NOLmdtbyB6aF9I Sy5nbW8gemhfVFcuZ21vJwpDQVRPQkpFWFQ9Jy5nbW8nCkNDPSdjYycKQ0NERVBNT0RFPSdkZXBt b2RlPWdjYzMnCkNGTEFHUz0nLU8yIC1mbm8tc3RyaWN0LWFsaWFzaW5nIC1waXBlIC1XYWxsJwpD T05GSUdfU1RBVFVTX0RFUEVOREVOQ0lFUz0nJCh0b3Bfc3JjZGlyKS9wby9MSU5HVUFTJwpDUFA9 J2NjIC1FJwpDUFBGTEFHUz0nLUkvdXNyL2xvY2FsL2luY2x1ZGUgLURHX0RJU0FCTEVfU0lOR0xF X0lOQ0xVREVTIC1EX1JFRU5UUkFOVCcKQ1JPU1NfQ09NUElMSU5HX0ZBTFNFPScnCkNST1NTX0NP TVBJTElOR19UUlVFPScnCkNYWD0nYysrJwpDWFhDUFA9J2MrKyAtRScKQ1hYREVQTU9ERT0nZGVw bW9kZT1nY2MzJwpDWFhGTEFHUz0nLU8yIC1mbm8tc3RyaWN0LWFsaWFzaW5nIC1waXBlJwpDWUdQ QVRIX1c9J2VjaG8nCkRBVEFESVJOQU1FPSdzaGFyZScKREVGUz0nJwpERVBESVI9Jy5kZXBzJwpE SVNBQkxFX01FTV9QT09MUz0nJwpETExUT09MPSdkbGx0b29sJwpEU1lNVVRJTD0nJwpEVU1QQklO PScnCkVDSE9fQz0nJwpFQ0hPX049Jy1uJwpFQ0hPX1Q9JycKRUdSRVA9Jy91c3IvYmluL2dyZXAg LUUnCkVOQUJMRV9HVEtfRE9DX0ZBTFNFPScnCkVOQUJMRV9HVEtfRE9DX1RSVUU9JycKRU5BQkxF X01BTl9GQUxTRT0nJwpFTkFCTEVfTUFOX1RSVUU9JycKRU5BQkxFX1JFR0VYX0ZBTFNFPScjJwpF TkFCTEVfUkVHRVhfVFJVRT0nJwpFTkFCTEVfVElNRUxPT1BfRkFMU0U9JyMnCkVOQUJMRV9USU1F TE9PUF9UUlVFPScnCkVYRUVYVD0nJwpGQU1fTElCUz0nJwpGR1JFUD0nL3Vzci9iaW4vZ3JlcCAt RicKR0VUVEVYVF9QQUNLQUdFPSdnbGliMjAnCkdJTz0nZ2lvdW5peC5sbycKR0lPX01PRFVMRV9E SVI9JyR7bGliZGlyfS9naW8vbW9kdWxlcycKR0xJQkMyMT0nbm8nCkdMSUJfQklOQVJZX0FHRT0n MjAwNScKR0xJQl9ERUJVR19GTEFHUz0nLURHX0RJU0FCTEVfQ0FTVF9DSEVDS1MnCkdMSUJfRVhU UkFfQ0ZMQUdTPScnCkdMSUJfR0VOTUFSU0hBTD0nJwpHTElCX0lOVEVSRkFDRV9BR0U9JzUnCkdM SUJfTUFKT1JfVkVSU0lPTj0nMicKR0xJQl9NSUNST19WRVJTSU9OPSc1JwpHTElCX01JTk9SX1ZF UlNJT049JzIwJwpHTElCX1ZFUlNJT049JzIuMjAuNScKR0xJQl9XSU4zMl9TVEFUSUNfQ09NUElM QVRJT05fREVGSU5FPScnCkdNT0ZJTEVTPScgYW0uZ21vIGFyLmdtbyBhcy5nbW8gYXouZ21vIGJl LmdtbyBiZUBsYXRpbi5nbW8gYmcuZ21vIGJuLmdtbyBibl9JTi5nbW8gYnMuZ21vIGNhLmdtbyBj YUB2YWxlbmNpYS5nbW8gY3MuZ21vIGN5LmdtbyBkYS5nbW8gZGUuZ21vIGR6LmdtbyBlbC5nbW8g ZW5fQ0EuZ21vIGVuX0dCLmdtbyBlby5nbW8gZXMuZ21vIGV0LmdtbyBldS5nbW8gZmEuZ21vIGZp LmdtbyBmci5nbW8gZ2EuZ21vIGdsLmdtbyBndS5nbW8gaGUuZ21vIGhpLmdtbyBoci5nbW8gaHUu Z21vIGh5LmdtbyBpZC5nbW8gaXMuZ21vIGl0LmdtbyBqYS5nbW8ga2EuZ21vIGtuLmdtbyBrby5n bW8ga3UuZ21vIGx0LmdtbyBsdi5nbW8gbWFpLmdtbyBtZy5nbW8gbWsuZ21vIG1sLmdtbyBtbi5n bW8gbXIuZ21vIG1zLmdtbyBuYi5nbW8gbmUuZ21vIG5sLmdtbyBubi5nbW8gb2MuZ21vIG9yLmdt byBwYS5nbW8gcGwuZ21vIHBzLmdtbyBwdC5nbW8gcHRfQlIuZ21vIHJvLmdtbyBydS5nbW8gcncu Z21vIHNpLmdtbyBzay5nbW8gc2wuZ21vIHNxLmdtbyBzci5nbW8gc3JAbGF0aW4uZ21vIHNyQGlq ZS5nbW8gc3YuZ21vIHRhLmdtbyB0ZS5nbW8gdGguZ21vIHRsLmdtbyB0ci5nbW8gdHQuZ21vIHVr LmdtbyB2aS5nbW8gd2EuZ21vIHhoLmdtbyB5aS5nbW8gemhfQ04uZ21vIHpoX0hLLmdtbyB6aF9U Vy5nbW8nCkdNU0dGTVQ9Jy91c3IvbG9jYWwvYmluL21zZ2ZtdCcKR1JFUD0nL3Vzci9iaW4vZ3Jl cCcKR1NQQVdOPSdnc3Bhd24ubG8nCkdUSFJFQURfQ09NUElMRV9JTVBMX0RFRklORVM9Jy1EX1BP U0lYNF9EUkFGVF9TT1VSQ0UgLURfUE9TSVg0QV9EUkFGVDEwX1NPVVJDRSAtVV9PU0ZfU09VUkNF JwpHVEtET0NfQ0hFQ0s9JycKR1RLX0RPQ19VU0VfTElCVE9PTF9GQUxTRT0nJwpHVEtfRE9DX1VT RV9MSUJUT09MX1RSVUU9JycKR19MSUJTX0VYVFJBPScnCkdfTU9EVUxFX0JST0tFTl9SVExEX0dM T0JBTD0nMCcKR19NT0RVTEVfSEFWRV9ETEVSUk9SPScxJwpHX01PRFVMRV9JTVBMPSdHX01PRFVM RV9JTVBMX0RMJwpHX01PRFVMRV9MREZMQUdTPSctV2wsLS1leHBvcnQtZHluYW1pYycKR19NT0RV TEVfTElCUz0nJwpHX01PRFVMRV9MSUJTX0VYVFJBPScnCkdfTU9EVUxFX05FRURfVVNDT1JFPScw JwpHX01PRFVMRV9QTFVHSU5fTElCUz0nJwpHX01PRFVMRV9TVVBQT1JURUQ9J3RydWUnCkdfVEhS RUFEX0NGTEFHUz0nLURfUkVFTlRSQU5UJwpHX1RIUkVBRF9MSUJTPSctcHRocmVhZCAnCkdfVEhS RUFEX0xJQlNfRVhUUkE9JycKR19USFJFQURfTElCU19GT1JfR1RIUkVBRD0nLXB0aHJlYWQnCkhB VkVfQ1hYX0ZBTFNFPScjJwpIQVZFX0NYWF9UUlVFPScnCkhBVkVfRkFNX0ZBTFNFPScnCkhBVkVf RkFNX1RSVUU9JyMnCkhBVkVfRkVOX0ZBTFNFPScnCkhBVkVfRkVOX1RSVUU9JyMnCkhBVkVfR05V Q19WSVNJQklMSVRZX0ZBTFNFPScjJwpIQVZFX0dOVUNfVklTSUJJTElUWV9UUlVFPScnCkhBVkVf R09PRF9QUklOVEZfRkFMU0U9JyMnCkhBVkVfR09PRF9QUklOVEZfVFJVRT0nJwpIQVZFX0lOT1RJ RllfRkFMU0U9JycKSEFWRV9JTk9USUZZX1RSVUU9JyMnCkhBVkVfU1VOU1RVRElPX1ZJU0lCSUxJ VFlfRkFMU0U9JycKSEFWRV9TVU5TVFVESU9fVklTSUJJTElUWV9UUlVFPScjJwpIVE1MX0RJUj0n JwpJQ09OVl9MSUJTPSctbGljb252JwpJTkRFTlQ9J2luZGVudCcKSU5TVEFMTF9EQVRBPSdpbnN0 YWxsICAtbyByb290IC1nIHdoZWVsIC1tIDQ0NCcKSU5TVEFMTF9QUk9HUkFNPSdpbnN0YWxsICAt cyAtbyByb290IC1nIHdoZWVsIC1tIDU1NScKSU5TVEFMTF9TQ1JJUFQ9J2luc3RhbGwgIC1vIHJv b3QgLWcgd2hlZWwgLW0gNTU1JwpJTlNUQUxMX1NUUklQX1BST0dSQU09JyQoaW5zdGFsbF9zaCkg LWMgLXMnCklOU1RPQkpFWFQ9Jy5tbycKSU5UTExJQlM9JycKTEQ9Jy91c3IvYmluL2xkJwpMREZM QUdTPSctTC91c3IvbG9jYWwvbGliIC1saW50bCcKTElCT0JKUz0nJwpMSUJTPScgJwpMSUJUT09M PSckKFNIRUxMKSAvdXNyL3BvcnRzL2RldmVsL2dsaWIyMC93b3JrL2dub21lLWxpYnRvb2wnCkxJ QlRPT0xfRVhQT1JUX09QVElPTlM9Jy1leHBvcnQtc3ltYm9scy1yZWdleCAiXmcuKiInCkxJQl9F WEVfTUFDSElORV9GTEFHPSdYODYnCkxJUE89JycKTE5fUz0nbG4gLXMnCkxUTElCT0JKUz0nJwpM VF9BR0U9JzIwMDAnCkxUX0NVUlJFTlQ9JzIwMDAnCkxUX0NVUlJFTlRfTUlOVVNfQUdFPScwJwpM VF9SRUxFQVNFPScyLjIwJwpMVF9SRVZJU0lPTj0nNScKTUFJTlQ9JyMnCk1BSU5UQUlORVJfTU9E RV9GQUxTRT0nJwpNQUlOVEFJTkVSX01PREVfVFJVRT0nIycKTUFLRUlORk89JyR7U0hFTEx9IC91 c3IvcG9ydHMvZGV2ZWwvZ2xpYjIwL3dvcmsvZ2xpYi0yLjIwLjUvbWlzc2luZyAtLXJ1biBtYWtl aW5mbycKTUtESVJfUD0nLi9pbnN0YWxsLXNoIC1jIC1kJwpNS0lOU1RBTExESVJTPScuL21raW5z dGFsbGRpcnMnCk1TR0ZNVD0nL3Vzci9sb2NhbC9iaW4vbXNnZm10JwpNU0dGTVRfT1BUUz0nLWMn Ck1TX0xJQl9BVkFJTEFCTEVfRkFMU0U9JycKTVNfTElCX0FWQUlMQUJMRV9UUlVFPScjJwpOTT0n L3Vzci9iaW4vbm0gLUInCk5NRURJVD0nJwpPQkpEVU1QPSdvYmpkdW1wJwpPQkpFWFQ9J28nCk9T X0NBUkJPTl9GQUxTRT0nJwpPU19DQVJCT05fVFJVRT0nIycKT1NfTElOVVhfRkFMU0U9JycKT1Nf TElOVVhfVFJVRT0nIycKT1NfVU5JWF9GQUxTRT0nIycKT1NfVU5JWF9UUlVFPScnCk9TX1dJTjMy X0FORF9ETExfQ09NUElMQVRJT05fRkFMU0U9JycKT1NfV0lOMzJfQU5EX0RMTF9DT01QSUxBVElP Tl9UUlVFPScjJwpPU19XSU4zMl9GQUxTRT0nJwpPU19XSU4zMl9UUlVFPScjJwpPU19XSU4zMl9Y NjRfRkFMU0U9JycKT1NfV0lOMzJfWDY0X1RSVUU9JyMnCk9UT09MNjQ9JycKT1RPT0w9JycKUEFD S0FHRT0nZ2xpYicKUEFDS0FHRV9CVUdSRVBPUlQ9J2h0dHA6Ly9idWd6aWxsYS5nbm9tZS5vcmcv ZW50ZXJfYnVnLmNnaT9wcm9kdWN0PWdsaWInClBBQ0tBR0VfTkFNRT0nZ2xpYicKUEFDS0FHRV9T VFJJTkc9J2dsaWIgMi4yMC41JwpQQUNLQUdFX1RBUk5BTUU9J2dsaWInClBBQ0tBR0VfVkVSU0lP Tj0nMi4yMC41JwpQQVRIX1NFUEFSQVRPUj0nOicKUENSRV9DRkxBR1M9Jy1JL3Vzci9sb2NhbC9p bmNsdWRlICAnClBDUkVfTElCUz0nLUwvdXNyL2xvY2FsL2xpYiAtbHBjcmUgICcKUENSRV9SRVFV SVJFUz0nJwpQQ1JFX1dBUk5fQ0ZMQUdTPScnClBFUkw9J3Blcmw1JwpQRVJMX1BBVEg9Jy91c3Iv YmluL3Blcmw1JwpQS0dfQ09ORklHPScvdXNyL2xvY2FsL2Jpbi9wa2ctY29uZmlnJwpQTEFURk9S TURFUD0nJwpQTEFURk9STV9XSU4zMl9GQUxTRT0nJwpQTEFURk9STV9XSU4zMl9UUlVFPScjJwpQ T0ZJTEVTPScgYW0ucG8gYXIucG8gYXMucG8gYXoucG8gYmUucG8gYmVAbGF0aW4ucG8gYmcucG8g Ym4ucG8gYm5fSU4ucG8gYnMucG8gY2EucG8gY2FAdmFsZW5jaWEucG8gY3MucG8gY3kucG8gZGEu cG8gZGUucG8gZHoucG8gZWwucG8gZW5fQ0EucG8gZW5fR0IucG8gZW8ucG8gZXMucG8gZXQucG8g ZXUucG8gZmEucG8gZmkucG8gZnIucG8gZ2EucG8gZ2wucG8gZ3UucG8gaGUucG8gaGkucG8gaHIu cG8gaHUucG8gaHkucG8gaWQucG8gaXMucG8gaXQucG8gamEucG8ga2EucG8ga24ucG8ga28ucG8g a3UucG8gbHQucG8gbHYucG8gbWFpLnBvIG1nLnBvIG1rLnBvIG1sLnBvIG1uLnBvIG1yLnBvIG1z LnBvIG5iLnBvIG5lLnBvIG5sLnBvIG5uLnBvIG9jLnBvIG9yLnBvIHBhLnBvIHBsLnBvIHBzLnBv IHB0LnBvIHB0X0JSLnBvIHJvLnBvIHJ1LnBvIHJ3LnBvIHNpLnBvIHNrLnBvIHNsLnBvIHNxLnBv IHNyLnBvIHNyQGxhdGluLnBvIHNyQGlqZS5wbyBzdi5wbyB0YS5wbyB0ZS5wbyB0aC5wbyB0bC5w byB0ci5wbyB0dC5wbyB1ay5wbyB2aS5wbyB3YS5wbyB4aC5wbyB5aS5wbyB6aF9DTi5wbyB6aF9I Sy5wbyB6aF9UVy5wbycKUE9TVUI9J3BvJwpQT19JTl9EQVRBRElSX0ZBTFNFPScnClBPX0lOX0RB VEFESVJfVFJVRT0nJwpQWVRIT049Jy91c3IvbG9jYWwvYmluL3B5dGhvbjIuNScKUFlUSE9OX0VY RUNfUFJFRklYPScke2V4ZWNfcHJlZml4fScKUFlUSE9OX1BMQVRGT1JNPSdmcmVlYnNkNycKUFlU SE9OX1BSRUZJWD0nJHtwcmVmaXh9JwpQWVRIT05fVkVSU0lPTj0nMi41JwpSQU5MSUI9J3Jhbmxp YicKUkVCVUlMRD0nJwpTRUQ9Jy91c3IvYmluL3NlZCcKU0VMSU5VWF9MSUJTPScnClNFVF9NQUtF PScnClNIRUxMPScvYmluL3NoJwpTVFJJUD0nc3RyaXAnClVTRV9OTFM9J3llcycKVVNFX1NZU1RF TV9QQ1JFX0ZBTFNFPScjJwpVU0VfU1lTVEVNX1BDUkVfVFJVRT0nJwpWRVJTSU9OPScyLjIwLjUn CldJTkRSRVM9JycKWEFUVFJfTElCUz0nJwpYR0VUVEVYVD0nL3Vzci9sb2NhbC9iaW4veGdldHRl eHQnClhNTENBVEFMT0c9JycKWE1MX0NBVEFMT0dfRklMRT0nJwpYU0xUUFJPQz0nJwphY19jdF9D Qz0nY2MnCmFjX2N0X0NYWD0nJwphY19jdF9EVU1QQklOPScnCmFtX19FWEVFWFRfRkFMU0U9JycK YW1fX0VYRUVYVF9UUlVFPScnCmFtX19mYXN0ZGVwQ0NfRkFMU0U9JyMnCmFtX19mYXN0ZGVwQ0Nf VFJVRT0nJwphbV9fZmFzdGRlcENYWF9GQUxTRT0nIycKYW1fX2Zhc3RkZXBDWFhfVFJVRT0nJwph bV9faW5jbHVkZT0naW5jbHVkZScKYW1fX2lzcmM9JycKYW1fX2xlYWRpbmdfZG90PScuJwphbV9f cXVvdGU9JycKYW1fX3Rhcj0nJHtBTVRBUn0gY2hvZiAtICIkJHRhcmRpciInCmFtX191bnRhcj0n JHtBTVRBUn0geGYgLScKYmluZGlyPScke2V4ZWNfcHJlZml4fS9iaW4nCmJ1aWxkPSd4ODZfNjQt cG9ydGJsZC1mcmVlYnNkNy4yJwpidWlsZF9hbGlhcz0neDg2XzY0LXBvcnRibGQtZnJlZWJzZDcu MicKYnVpbGRfY3B1PSd4ODZfNjQnCmJ1aWxkX29zPSdmcmVlYnNkNy4yJwpidWlsZF92ZW5kb3I9 J3BvcnRibGQnCmRhdGFkaXI9JyR7ZGF0YXJvb3RkaXJ9JwpkYXRhcm9vdGRpcj0nJHtwcmVmaXh9 L3NoYXJlJwpkb2NkaXI9JyR7ZGF0YXJvb3RkaXJ9L2RvYy8ke1BBQ0tBR0VfVEFSTkFNRX0nCmR2 aWRpcj0nJHtkb2NkaXJ9JwpleGVjX3ByZWZpeD0nTk9ORScKaG9zdD0neDg2XzY0LXBvcnRibGQt ZnJlZWJzZDcuMicKaG9zdF9hbGlhcz0nJwpob3N0X2NwdT0neDg2XzY0Jwpob3N0X29zPSdmcmVl YnNkNy4yJwpob3N0X3ZlbmRvcj0ncG9ydGJsZCcKaHRtbGRpcj0nJHtkb2NkaXJ9JwppbmNsdWRl ZGlyPScke3ByZWZpeH0vaW5jbHVkZScKaW5mb2Rpcj0nL3Vzci9sb2NhbC9pbmZvJwppbnN0YWxs X3NoPScke1NIRUxMfSAvdXNyL3BvcnRzL2RldmVsL2dsaWIyMC93b3JrL2dsaWItMi4yMC41L2lu c3RhbGwtc2gnCmxpYmRpcj0nJHtleGVjX3ByZWZpeH0vbGliJwpsaWJleGVjZGlyPScke2V4ZWNf cHJlZml4fS9saWJleGVjJwpsb2NhbGVkaXI9Jy91c3IvbG9jYWwvc2hhcmUvbG9jYWxlJwpsb2Nh bHN0YXRlZGlyPScke3ByZWZpeH0vdmFyJwpsdF9FQ0hPPSdlY2hvJwptYW5kaXI9Jy91c3IvbG9j YWwvbWFuJwpta2Rpcl9wPSckKHRvcF9idWlsZGRpcikvLi9pbnN0YWxsLXNoIC1jIC1kJwptc19s aWJyYXJpYW49JycKb2xkaW5jbHVkZWRpcj0nL3Vzci9pbmNsdWRlJwpwZGZkaXI9JyR7ZG9jZGly fScKcGtncHlleGVjZGlyPScke3B5ZXhlY2Rpcn0vZ2xpYicKcGtncHl0aG9uZGlyPScke3B5dGhv bmRpcn0vZ2xpYicKcHJlZml4PScvdXNyL2xvY2FsJwpwcm9ncmFtX3RyYW5zZm9ybV9uYW1lPSdz LHgseCwnCnBzZGlyPScke2RvY2Rpcn0nCnB5ZXhlY2Rpcj0nJHtleGVjX3ByZWZpeH0vbGliL3B5 dGhvbjIuNS9zaXRlLXBhY2thZ2VzJwpweXRob25kaXI9JyR7cHJlZml4fS9saWIvcHl0aG9uMi41 L3NpdGUtcGFja2FnZXMnCnNiaW5kaXI9JyR7ZXhlY19wcmVmaXh9L3NiaW4nCnNoYXJlZHN0YXRl ZGlyPScke3ByZWZpeH0vY29tJwpzeXNjb25mZGlyPScke3ByZWZpeH0vZXRjJwp0YXJnZXRfYWxp YXM9JycKCiMjIC0tLS0tLS0tLS0tICMjCiMjIGNvbmZkZWZzLmguICMjCiMjIC0tLS0tLS0tLS0t ICMjCgojZGVmaW5lIFBBQ0tBR0VfTkFNRSAiZ2xpYiIKI2RlZmluZSBQQUNLQUdFX1RBUk5BTUUg ImdsaWIiCiNkZWZpbmUgUEFDS0FHRV9WRVJTSU9OICIyLjIwLjUiCiNkZWZpbmUgUEFDS0FHRV9T VFJJTkcgImdsaWIgMi4yMC41IgojZGVmaW5lIFBBQ0tBR0VfQlVHUkVQT1JUICJodHRwOi8vYnVn emlsbGEuZ25vbWUub3JnL2VudGVyX2J1Zy5jZ2k/cHJvZHVjdD1nbGliIgojZGVmaW5lIEdMSUJf TUFKT1JfVkVSU0lPTiAyCiNkZWZpbmUgR0xJQl9NSU5PUl9WRVJTSU9OIDIwCiNkZWZpbmUgR0xJ Ql9NSUNST19WRVJTSU9OIDUKI2RlZmluZSBHTElCX0lOVEVSRkFDRV9BR0UgNQojZGVmaW5lIEdM SUJfQklOQVJZX0FHRSAyMDA1CiNkZWZpbmUgTkVFRF9JQ09OVl9DQUNIRSAxCiNkZWZpbmUgU1RE Q19IRUFERVJTIDEKI2RlZmluZSBIQVZFX1NZU19UWVBFU19IIDEKI2RlZmluZSBIQVZFX1NZU19T VEFUX0ggMQojZGVmaW5lIEhBVkVfU1RETElCX0ggMQojZGVmaW5lIEhBVkVfU1RSSU5HX0ggMQoj ZGVmaW5lIEhBVkVfTUVNT1JZX0ggMQojZGVmaW5lIEhBVkVfU1RSSU5HU19IIDEKI2RlZmluZSBI QVZFX0lOVFRZUEVTX0ggMQojZGVmaW5lIEhBVkVfU1RESU5UX0ggMQojZGVmaW5lIEhBVkVfVU5J U1REX0ggMQojZGVmaW5lIEhBVkVfTE9DQUxFX0ggMQojZGVmaW5lIEhBVkVfTENfTUVTU0FHRVMg MQojZGVmaW5lIEhBVkVfQklORF9URVhURE9NQUlOX0NPREVTRVQgMQojZGVmaW5lIEhBVkVfR0VU VEVYVCAxCiNkZWZpbmUgSEFWRV9EQ0dFVFRFWFQgMQojZGVmaW5lIEVOQUJMRV9OTFMgMQojZGVm aW5lIEdFVFRFWFRfUEFDS0FHRSAiZ2xpYjIwIgojZGVmaW5lIEdMSUJfTE9DQUxFX0RJUiAiL3Vz ci9sb2NhbC9zaGFyZS9sb2NhbGUiCiNkZWZpbmUgVVNFX0xJQklDT05WX0dOVSAxCiNkZWZpbmUg SEFWRV9ETEZDTl9IIDEKI2RlZmluZSBMVF9PQkpESVIgIi5saWJzLyIKI2RlZmluZSBTVERDX0hF QURFUlMgMQojZGVmaW5lIEhBVkVfVlBSSU5URiAxCiNkZWZpbmUgSEFWRV9BTExPQ0EgMQojZGVm aW5lIEhBVkVfTU1BUCAxCiNkZWZpbmUgSEFWRV9QT1NJWF9NRU1BTElHTiAxCiNkZWZpbmUgSEFW RV9WQUxMT0MgMQojZGVmaW5lIEhBVkVfRlNZTkMgMQojZGVmaW5lIEhBVkVfQVRFWElUIDEKI2Rl ZmluZSBIQVZFX1RJTUVHTSAxCiNkZWZpbmUgSEFWRV9HTVRJTUVfUiAxCiNkZWZpbmUgU0laRU9G X0NIQVIgMQojZGVmaW5lIFNJWkVPRl9TSE9SVCAyCiNkZWZpbmUgU0laRU9GX0xPTkcgOAojZGVm aW5lIFNJWkVPRl9JTlQgNAojZGVmaW5lIFNJWkVPRl9WT0lEX1AgOAojZGVmaW5lIFNJWkVPRl9M T05HX0xPTkcgOAojZGVmaW5lIFNJWkVPRl9fX0lOVDY0IDAKI2RlZmluZSBIQVZFX0xPTkdfTE9O R19GT1JNQVQgMQojZGVmaW5lIFNBTkVfTUFMTE9DX1BST1RPUyAxCiNkZWZpbmUgR19IQVZFX19f SU5MSU5FIDEKI2RlZmluZSBHX0hBVkVfX19JTkxJTkVfXyAxCiNkZWZpbmUgR19IQVZFX0lOTElO RSAxCiNkZWZpbmUgSEFWRV9ET1dISUxFX01BQ1JPUyAxCiNkZWZpbmUgSEFWRV9ESVJFTlRfSCAx CiNkZWZpbmUgSEFWRV9GTE9BVF9IIDEKI2RlZmluZSBIQVZFX0xJTUlUU19IIDEKI2RlZmluZSBI QVZFX1BXRF9IIDEKI2RlZmluZSBIQVZFX0dSUF9IIDEKI2RlZmluZSBIQVZFX1NZU19QQVJBTV9I IDEKI2RlZmluZSBIQVZFX1NZU19QT0xMX0ggMQojZGVmaW5lIEhBVkVfU1lTX1JFU09VUkNFX0gg MQojZGVmaW5lIEhBVkVfU1lTX1RJTUVfSCAxCiNkZWZpbmUgSEFWRV9TWVNfVElNRVNfSCAxCiNk ZWZpbmUgSEFWRV9TWVNfV0FJVF9IIDEKI2RlZmluZSBIQVZFX1VOSVNURF9IIDEKI2RlZmluZSBI QVZFX1NZU19TRUxFQ1RfSCAxCiNkZWZpbmUgSEFWRV9TWVNfVFlQRVNfSCAxCiNkZWZpbmUgSEFW RV9TVERJTlRfSCAxCiNkZWZpbmUgSEFWRV9TQ0hFRF9IIDEKI2RlZmluZSBIQVZFX1NZU19NT1VO VF9IIDEKI2RlZmluZSBIQVZFX1NZU19TVEFUVkZTX0ggMQojZGVmaW5lIEhBVkVfU1lTX1NZU0NU TF9IIDEKI2RlZmluZSBIQVZFX0ZTVEFCX0ggMQojZGVmaW5lIEhBVkVfU1RSVUNUX1NUQVRfU1Rf QkxLU0laRSAxCiNkZWZpbmUgSEFWRV9TVFJVQ1RfU1RBVF9TVF9CTE9DS1MgMQojZGVmaW5lIEhB VkVfU1RSVUNUX1NUQVRGU19GX0ZTVFlQRU5BTUUgMQojZGVmaW5lIEhBVkVfU1RSVUNUX1NUQVRG U19GX0JBVkFJTCAxCiNkZWZpbmUgSEFWRV9MQU5HSU5GT19DT0RFU0VUIDEKI2RlZmluZSBIQVZF X1NURERFRl9IIDEKI2RlZmluZSBIQVZFX1NURExJQl9IIDEKI2RlZmluZSBIQVZFX1NUUklOR19I IDEKI2RlZmluZSBIQVZFX1NFVExPQ0FMRSAxCiNkZWZpbmUgU0laRU9GX1NJWkVfVCA4CiNkZWZp bmUgSEFWRV9MU1RBVCAxCiNkZWZpbmUgSEFWRV9TVFJFUlJPUiAxCiNkZWZpbmUgSEFWRV9TVFJT SUdOQUwgMQojZGVmaW5lIEhBVkVfTUVNTU9WRSAxCiNkZWZpbmUgSEFWRV9WU05QUklOVEYgMQoj ZGVmaW5lIEhBVkVfU1RQQ1BZIDEKI2RlZmluZSBIQVZFX1NUUkNBU0VDTVAgMQojZGVmaW5lIEhB VkVfU1RSTkNBU0VDTVAgMQojZGVmaW5lIEhBVkVfUE9MTCAxCiNkZWZpbmUgSEFWRV9HRVRDV0Qg MQojZGVmaW5lIEhBVkVfVkFTUFJJTlRGIDEKI2RlZmluZSBIQVZFX1NFVEVOViAxCiNkZWZpbmUg SEFWRV9VTlNFVEVOViAxCiNkZWZpbmUgSEFWRV9HRVRDX1VOTE9DS0VEIDEKI2RlZmluZSBIQVZF X1JFQURMSU5LIDEKI2RlZmluZSBIQVZFX1NZTUxJTksgMQojZGVmaW5lIEhBVkVfQ0hPV04gMQoj ZGVmaW5lIEhBVkVfTENIT1dOIDEKI2RlZmluZSBIQVZFX0ZDSE1PRCAxCiNkZWZpbmUgSEFWRV9G Q0hPV04gMQojZGVmaW5lIEhBVkVfTElOSyAxCiNkZWZpbmUgSEFWRV9TVEFUVkZTIDEKI2RlZmlu ZSBIQVZFX1NUQVRGUyAxCiNkZWZpbmUgSEFWRV9VVElNRVMgMQojZGVmaW5lIEhBVkVfR0VUR1JH SUQgMQojZGVmaW5lIEhBVkVfR0VUUFdVSUQgMQojZGVmaW5lIEhBVkVfU1lTQ1RMQllOQU1FIDEK I2RlZmluZSBIQVZFX0dFVE1OVElORk8gMQojZGVmaW5lIEhBVkVfTkFOT1NMRUVQIDEKI2RlZmlu ZSBIQVZFX0M5OV9WU05QUklOVEYgMQojZGVmaW5lIEhBVkVfVU5JWDk4X1BSSU5URiAxCiNkZWZp bmUgU1RBVEZTX0FSR1MgMgojZGVmaW5lIEhBVkVfR09PRF9QUklOVEYgMQojZGVmaW5lIEhBVkVf TE9OR19MT05HIDEKI2RlZmluZSBIQVZFX0xPTkdfRE9VQkxFIDEKI2RlZmluZSBIQVZFX1dDSEFS X1QgMQojZGVmaW5lIEhBVkVfV0lOVF9UIDEKI2RlZmluZSBIQVZFX1BUUkRJRkZfVCAxCiNkZWZp bmUgSEFWRV9JTlRUWVBFU19IX1dJVEhfVUlOVE1BWCAxCiNkZWZpbmUgSEFWRV9TVERJTlRfSF9X SVRIX1VJTlRNQVggMQojZGVmaW5lIEhBVkVfSU5UTUFYX1QgMQojZGVmaW5lIEhBVkVfU05QUklO VEYgMQojZGVmaW5lIEhBVkVfV0NTTEVOIDEKI2RlZmluZSBIQVZFX0M5OV9TTlBSSU5URiAxCiNk ZWZpbmUgUkVBTExPQ18wX1dPUktTIDEKI2RlZmluZSBIQVZFX0NPREVTRVQgMQojZGVmaW5lIFBP U0lYX01FTUFMSUdOX1dJVEhfQ09NUExJQU5UX0FMTE9DUyAxCiNkZWZpbmUgSEFWRV9TVFJMQ1BZ IDEKI2RlZmluZSBHX1ZBX0NPUFkgdmFfY29weQojZGVmaW5lIEdfVkFfQ09QWV9BU19BUlJBWSAx CiNkZWZpbmUgSEFWRV9MT0NBTFRJTUVfUiAxCiNkZWZpbmUgSEFWRV9HTVRJTUVfUiAxCiNkZWZp bmUgSEFWRV9QT1NJWF9HRVRQV1VJRF9SIDEKI2RlZmluZSBIQVZFX1BPU0lYX0dFVEdSR0lEX1Ig MQojZGVmaW5lIEdMSUJfU0laRU9GX1NZU1RFTV9USFJFQUQgOAojZGVmaW5lIEhBVkVfUFRIUkVB RF9BVFRSX1NFVFNUQUNLU0laRSAxCiNkZWZpbmUgUE9TSVhfTUlOX1BSSU9SSVRZIHNjaGVkX2dl dF9wcmlvcml0eV9taW4oU0NIRURfT1RIRVIpCiNkZWZpbmUgUE9TSVhfTUFYX1BSSU9SSVRZIHNj aGVkX2dldF9wcmlvcml0eV9tYXgoU0NIRURfT1RIRVIpCiNkZWZpbmUgUE9TSVhfWUlFTERfRlVO QyBzY2hlZF95aWVsZCgpCiNkZWZpbmUgR19USFJFQURfU09VUkNFICJndGhyZWFkLXBvc2l4LmMi CiNkZWZpbmUgR0xJQl9TSVpFT0ZfR01VVEVYIDgKI2RlZmluZSBHTElCX0JZVEVfQ09OVEVOVFNf R01VVEVYIDAsMCwwLDAsMCwwLDAsMAojZGVmaW5lIEhBVkVfQ0xPQ0tfR0VUVElNRSAxCiNkZWZp bmUgSEFWRV9NT05PVE9OSUNfQ0xPQ0sgMQojZGVmaW5lIEdfQVRPTUlDX1g4Nl82NCAxCiNkZWZp bmUgRU5BQkxFX1JFR0VYIC8qKi8KCmNvbmZpZ3VyZTogZXhpdCAxCg== --=_e8413d40240b9274bca3b82daa2d3521--